ПРОГНОЗИРОВАНИЕ КОМПЕНСАЦИИ ДВИЖЕНИЯ НА ОСНОВЕ ДВУНАПРАВЛЕННОГО ОПТИЧЕСКОГО ПОТОКА
PREDICTION OF MOTION COMPENSATION BASED ON BIDIRECTIONAL OPTICAL FLOW

Перекрестные ссылки на родственные заявки
Настоящая заявка испрашивает приоритет по: предварительной заявке на патент США № 62/528,296, поданной 3 июля 2017 г.; предварительной заявке на патент США № 62/560,823, поданной 20 сентября 2017 г.; предварительной заявке на патент США № 62/564,598, поданной 28 сентября 2017 г.; предварительной заявке на патент США № 62/579,559, поданной 31 октября 2017 г.; и по предварительной заявке на патент США № 62/599,241, поданной 15 декабря 2017 г., содержание которых полностью включено в настоящий документ посредством ссылки.
Предпосылки создания изобретения
Системы видеокодирования широко применяются для сжатия цифровых видеосигналов с целью снижения потребности в хранении и/или ширины полосы пропускания таких сигналов. Существуют различные типы систем видеокодирования, такие как системы на основе блоков, на основе вейвлетов и на основе объектов. В настоящее время гибридные системы видеокодирования на основе блоков широко применяются и/или развертываются. Примеры систем видеокодирования на основе блоков включают в себя международные стандарты видеокодирования, такие как MPEG1/2/4 часть 2, H.264/MPEG-4 часть 10 AVC, VC-1 и последний стандарт видеокодирования, называемый High Efficiency Video Coding (высокоэффективное видеокодирование) (HEVC), который был разработан JCT-VC (Joint Collaborative Team on Video Coding (объединенной совместной группой по видеокодированию)) ITU-T/SG16/Q.6/VCEG и ISO/IEC/MPEG.
Изложение сущности изобретения
Устройство для выполнения кодирования видеоданных может быть выполнено с возможностью определения того, следует ли активировать или деактивировать двунаправленный оптический поток (BIO) для текущей единицы кодирования (например, блока и/или подблока). Может идентифицироваться информация прогнозирования для текущей единицы кодирования. Информация прогнозирования может включать в себя сигнал прогнозирования, связанный с первым эталонным блоком (например, или подблоком), и сигнал прогнозирования, связанный со вторым блоком прогнозирования (например, или подблоком). Может рассчитываться разница прогнозирования между двумя сигналами прогнозирования. На основе разницы прогнозирования может определяться подобие между двумя сигналами прогнозирования. На основе подобия двух сигналов прогнозирования может воссоздаваться текущая единица кодирования. Например, то, следует ли воссоздавать текущую единицу кодирования с активированным BIO или деактивированным BIO, может определяться на основе того, достаточно ли подобны два сигнала прогнозирования. Может определяться необходимость активации BIO для текущей единицы кодирования при определении того, что два сигнала прогнозирования не подобны (например, неподобны). Например, текущая единица кодирования может воссоздаваться с деактивированным BIO при определении того, что два сигнала прогнозирования подобны.
Разница прогнозирования, которая может использоваться для определения подобия между двумя сигналами прогнозирования, может определяться множеством способов. Например, расчет разницы прогнозирования может включать в себя расчет средней разницы между соответствующими значениями семплов двух эталонных блоков, связанных с двумя сигналами прогнозирования. Значения семплов могут интерполироваться исходя из их соответствующих эталонных блоков. Например, расчет разницы прогнозирования может включать в себя расчет средней разницы векторов движения между соответствующими векторами движения двух эталонных блоков, связанных с двумя сигналами прогнозирования. Векторы движения могут масштабироваться на основе временного расстояния между эталонным изображением и текущей единицей кодирования.
Подобие между двумя сигналами прогнозирования может определяться посредством сравнения разницы прогнозирования между двумя сигналами прогнозирования с порогом. Если разница прогнозирования меньше или равна порогу, может быть определено, что два сигнала прогнозирования подобны. Если разница прогнозирования больше порога, два сигнала прогнозирования не могут быть определены как достаточно подобные (например, неподобные). Порог может определяться устройством видеокодирования и/или приниматься на устройстве видеокодирования. Порог может определяться на основе желаемого уровня сложности и/или желаемой эффективности кодирования.
Устройство для выполнения кодирования видеоданных может быть выполнено с возможностью группирования одного или более подблоков в группу подблоков. Например, смежные подблоки, имеющие подобную информацию о движении, могут быть сгруппированы в группу подблоков. Группы подблоков могут варьироваться по форме и размеру и могут формироваться на основе формы и/или размера текущей единицы кодирования. Подблоки могут группироваться горизонтально и/или вертикально. Операция компенсации движения (например, единичная операция компенсации движения) может выполняться над группой подблоков. Для группы подблоков может выполняться уточнение BIO. Например, уточнение BIO может основываться на градиентных значениях подблока группы подблоков.
Градиенты BIO могут выводиться таким образом, что может использоваться ускорение на основе одиночного потока команд со множеством потоков данных (SIMD). В одной или более методиках градиент BIO может выводиться посредством применения интерполяционных фильтров и градиентных фильтров, при этом может выполняться горизонтальная фильтрация с последующей вертикальной фильтрацией. При выведении градиента BIO, над входными значениями могут выполняться операции округления, которые могут реализовываться посредством прибавлений и сдвигов вправо.
Раскрываются устройства, процессы и средства для пропуска операций BIO на этапе (например, обычной) компенсации движения (MC) (например, на уровне блока) видеокодировщика и/или декодера. В одной или более методиках, операция BIO может (например, частично или полностью) деактивироваться для одного или более блоков/подблоков, где могут удовлетворяться один или более факторов/условий. BIO может деактивироваться для блока(-ков)/подблока(-ков), которые кодируются в двустороннем режиме преобразования с повышением частоты кадров (FRUC) или посредством него. BIO может деактивироваться для блока(-ков)/подблока(-ков), которые прогнозируются посредством по меньшей мере двух векторов движения, которые приблизительно пропорциональны во временной области. BIO может деактивироваться, когда средняя разница между по меньшей мере двумя блоками прогнозирования меньше или равна предустановленному/предопределенному порогу. BIO может деактивироваться на основе градиентной информации.
Устройство декодирования для кодирования видеоданных может содержать память. Устройство декодирования может содержать процессор. Процессор может быть выполнен с возможностью идентификации множества подблоков по меньшей мере одной единицы кодирования (CU). Процессор может быть выполнен с возможностью выбора одного или более подблоков множества подблоков для MC. Процессор может быть выполнен с возможностью определения состояния условия MC как удовлетворенного или неудовлетворенного. Процессор может быть выполнен с возможностью инициирования компенсации движения без обработки для уточнения движения BIO для одного или более подблоков, если состояние условия MC является удовлетворенным. Процессор может быть выполнен с возможностью инициирования компенсации движения с обработкой для уточнения движения BIO для одного или более подблоков, если состояние условия MC является неудовлетворенным.
Краткое описание графических материалов
Схожие позиции на фигурах указывают на схожие элементы.
На фиг. 1 проиллюстрирован пример общей схемы видеокодера на основе блоков.
На фиг. 2 проиллюстрирован пример общей блок-схемы видеодекодера.
На фиг. 3 проиллюстрирован пример двунаправленного оптического потока.
На фиг. 4A и 4B проиллюстрирован пример процесса выведения градиента в BIO с точностью движения 1/16 пэл.
На фиг. 5A проиллюстрирован пример доступа к памяти BIO без ограничения расширения блока.
На фиг. 5B проиллюстрирован пример доступа к памяти BIO с ограничением расширения блока.
На фиг. 6 проиллюстрирован пример усовершенствованного временного прогнозирования вектора движения.
На фиг. 7 проиллюстрирован пример пространственно-временного прогнозирования вектора движения.
На фиг. 8A проиллюстрирован пример преобразования с повышением частоты кадров с сопоставлением шаблонов.
На фиг. 8B проиллюстрирован пример преобразования с повышением частоты кадров с сопоставлением шаблонов.
На фиг. 9A проиллюстрирован пример аффинного режима с упрощенной аффинной моделью.
На фиг. 9B проиллюстрирован пример аффинного режима с выведением движения на уровне подблока для аффинных блоков.
На фиг. 10A проиллюстрирован пример процесса градиентной 2D-фильтрации BIO, где штриховые стрелки указывают направление фильтрации для выведения горизонтального градиента.
На фиг. 10B проиллюстрирован пример процесса градиентной 2D-фильтрации BIO, где штриховые стрелки указывают направление фильтрации для выведения вертикального градиента.
На фиг. 11 проиллюстрирован пример процесса компенсации движения.
На фиг. 12A проиллюстрирован пример процесса модифицированной градиентной 2D-фильтрации BIO, где штриховые стрелки указывают направления фильтрации выведения горизонтального градиента.
На фиг. 12B проиллюстрирован пример процесса модифицированной градиентной 2D-фильтрации BIO, где штриховые стрелки указывают направления фильтрации выведения вертикального градиента.
На фиг. 13 проиллюстрирован пример функции картирования способа округления для выведения градиента BIO.
На фиг. 14 проиллюстрирован пример функции картирования способа округления для выведения градиента BIO.
На фиг. 15A проиллюстрирован пример процесса выведения градиента в BIO с точностью движения 1/16 пэл.
На фиг. 15B проиллюстрирован пример процесса выведения градиента в BIO с точностью движения 1/16 пэл.
На фиг. 16A проиллюстрирован пример сравнения различной компенсации движения на основе подблоков.
На фиг. 16B проиллюстрирован пример сравнения различной компенсации движения на основе подблоков с объединением подблоков.
На фиг. 16C проиллюстрирован пример сравнения различной компенсации движения на основе подблоков с 2D-объединением подблоков.
На фиг. 17A проиллюстрирован пример индикации семплов, на которые влияет ограничение расширения блока BIO с примененным способом компенсации движения подблоков.
На фиг. 17B проиллюстрирован пример индикации семплов, на которые влияет ограничение расширения блока BIO с компенсацией движения подблоков на основе 2D-объединения подблоков.
На фиг. 18A проиллюстрирован пример построчной реализации слияния подблоков.
На фиг. 18B проиллюстрирован пример постолбцовой реализации слияния подблоков.
На фиг. 19 проиллюстрирован пример компенсации движения перекрывающихся блоков.
На фиг. 20 проиллюстрирован пример процесса компенсации движения.
На фиг. 21 проиллюстрирован пример процесса компенсации движения.
На фиг. 22 проиллюстрирован пример процесса компенсации движения после пропуска BIO для блоков, кодируемых в двустороннем режиме FRUC или посредством его.
На фиг. 23 проиллюстрирован пример процесса компенсации движения после пропуска BIO на основе разницы векторов движения.
На фиг. 24 проиллюстрирован пример процесса компенсации движения после пропуска BIO на основе разницы между по меньшей мере двумя сигналами прогнозирования.
На фиг. 25 проиллюстрирован пример процесса компенсации движения после пропуска BIO на основе градиентной информации.
На фиг. 26 проиллюстрирован пример процесса компенсации движения с многоэтапным ранним завершением BIO.
На фиг. 27 проиллюстрирован пример процесса двойного прогнозирования с усреднением двух промежуточных сигналов прогнозирования с высокой точностью.
На фиг. 28A проиллюстрирована системная схема примера системы связи, в которой может быть реализован один или более раскрываемых вариантов осуществления.
На фиг. 28B показана системная схема примера модуля беспроводной передачи/приема (WTRU), который может использоваться в системе связи, проиллюстрированной на фиг. 28A.
Фиг. 28C представляет собой системную схему примера сети радиодоступа (RAN) и пример базовой сети (CN), которые могут использоваться в системе связи, проиллюстрированной на фиг. 28A.
Фиг. 28D представляет собой системной схему дополнительного примера RAN и дополнительного примера CN, которые могут использоваться в системе связи, проиллюстрированной на фиг. 28A.
Подробное описание
Далее приведено подробное описание иллюстративных вариантов осуществления со ссылкой на различные фигуры. Хотя в настоящем описании приведены подробные примеры возможных вариантов реализации, следует отметить, что данное подробное описание приведено в качестве примера и ни в коей мере не ограничивает объем настоящей заявки.
На фиг. 1 проиллюстрирован пример блок-схемы гибридной системы видеокодирования на основе блоков. Входной видеосигнал 1102 может обрабатываться поблочно. Расширенные размеры блоков (называемые «единицей кодирования» или CU) могут использоваться для эффективного сжатия видеосигналов высокого разрешения (1080 пкс. и более). CU может иметь размер до 64x64 пикселей. CU может далее разбиваться на единицы прогнозирования (PU), для которых могут применяться отдельные способы прогнозирования. Для одного или более, или для каждого входного видеоблока (MC или CU) может выполняться пространственное прогнозирование (1160) и/или временное прогнозирование (1162). Пространственное прогнозирование (или «интрапрогнозирование») использует пиксели из семплов уже закодированных соседних блоков (например, которые называются эталонными семплами) в одном и том же видеоизображении/фрагменте для прогнозирования текущего видеоблока. Пространственное прогнозирование может уменьшать пространственную избыточность, характерную для видеосигнала. Временное прогнозирование (например, также называемое «интерпрогнозированием» и/или «прогнозированием с компенсацией движения») может использовать воссозданные пиксели из уже закодированных видеоизображений для прогнозирования текущего видеоблока. Временное прогнозирование может снизить временную избыточность, характерную для видеосигнала. Сигнал временного прогнозирования для данного видеоблока может передаваться посредством одного или более векторов движения, которые указывают величину и/или направление движения между текущим блоком и его эталонным блоком. Кроме того, если поддерживается несколько эталонных изображений, то для одного или более, или для каждого видеоблока может отправляться индекс его эталонного изображения. Эталонный индекс может использоваться для идентификации того, от какого эталонного изображения в хранилище (1164) эталонных изображений поступает сигнал временного прогнозирования. После пространственного и/или временного прогнозирования блок (1180) принятия решения о режиме в кодере может выбирать оптимальный режим прогнозирования, например на основе способа оптимизации зависимости искажений от скорости передачи.
Блок прогнозирования может вычитаться из текущего видеоблока (1116). Остаточное значение прогнозирования может декоррелироваться с использованием преобразования (1104) и/или квантоваться (1106). Квантованные остаточные коэффициенты могут обратно квантоваться (1110) и/или обратно преобразовываться (1112) для формирования воссозданного остатка, который может добавляться назад к блоку (1126) прогнозирования для формирования воссозданного видеоблока. Далее внутрипетлевой фильтр, такой как деблочный фильтр и/или адаптивный петлевой фильтр, может применяться (1166) к воссозданному видеоблоку, возможно, прежде чем он будет помещен в хранилище (1164) эталонных изображений и/или использован для кодирования будущих видеоблоков. Для формирования выходного битового видеопотока 1120, режим кодирования (например, интер- и/или интра-), информация о режиме прогнозирования, информация о движении и/или квантованные остаточные коэффициенты могут отправляться единице (1108) энтропийного кодирования для дальнейшего сжатия и/или упаковки для формирования битового потока.
На фиг. 2 проиллюстрирована общая блок-схема видеодекодера на основе блоков. Битовый видеопоток 202 может распаковываться и/или энтропийно декодироваться в единице 208 энтропийного декодирования. Информация о режиме кодирования и/или прогнозирования может отправляться единице 260 пространственного прогнозирования (например, в случае интракодирования) и/или единице 262 временного прогнозирования (например, в случае интеркодирования) для формирования блока прогнозирования. Остаточные коэффициенты преобразования могут отправляться единице 210 обратного квантования и/или единице 212 обратного преобразования для воссоздания остаточного блока. Блок прогнозирования и остаточный блок могут складываться на 226. Воссозданный блок может проходить внутрипетлевую фильтрацию, возможно, например, прежде чем он может сохраняться в хранилище 264 эталонных изображений. Воссозданное видео в хранилище эталонных изображений может отправляться для приведения в действие устройства отображения и/или может использоваться для прогнозирования будущих видеоблоков.
Как показано на фиг. 1 и/или фиг. 2, может выполняться или использоваться пространственное прогнозирование (например, интрапрогнозирование), временное прогнозирование (например, интерпрогнозирование), преобразование, квантование, энтропийное кодирование и/или петлевые фильтры. Двойное прогнозирование в видеокодировании может включать в себя комбинацию двух блоков временного прогнозирования, полученных из эталонных изображений, которые уже могут быть воссозданы с использованием усреднения. Из-за ограничения компенсации движения (MC) на основе блоков, например, может по-прежнему оставаться небольшое движение(-ния), которое может наблюдаться между двумя блоками прогнозирования. Двунаправленный оптический поток (BIO) может применяться для компенсации такого движения для одного или более, или для каждого семпла внутри по меньшей мере одного блока. BIO может представлять собой посемпловое уточнение движения, которое может выполняться в дополнение к прогнозированию с компенсацией движения на основе блоков при использовании двойного прогнозирования. Выведение уточненного вектора движения для одного или более, или для каждого семпла в по меньшей мере одном блоке может основываться на классической модели оптического потока. Пусть  - значение семпла в координате (x, y) блока прогнозирования, выведенного из списка эталонных изображений k (k = 0, 1), а  и  могут обозначать горизонтальный и вертикальный градиенты семпла. Исходя из предположения о том, что модель оптического потока верна, уточнение движения в (x, y) может быть выведено посредством:
В случае с комбинацией уравнения (1) оптического потока и интерполяции блоков прогнозирования вдоль траектории движения (например, как показано на фиг. 3), прогнозирование BIO может быть получено как:
0
1
где  и  могут обозначать временные расстояния эталонных изображений Ref и Ref, связанных с  и , до текущего изображения CurPic, например:
x0
y0
x1
y1
На фиг. 3, (MV, MV) и (MV, MV) могут обозначать векторы движения на уровне блоков, которые могут использоваться для генерирования двух блоков прогнозирования  и . Далее, уточнение движения в местоположении семпла (x, y) может быть рассчитано посредством минимизации расстояния Δ между значениями семплов после компенсации уточнения движения (например, A и B на фиг. 3), как показано в виде:
Возможно, для обеспечения единообразия выводимого уточнения движения, например, можно допустить, что уточнение движения согласовано в локальной окружающей области, центрированной в (x, y). В примере построения BIO значения могут выводиться путем минимизации Δ внутри окна Ω 5×5 вокруг текущего семпла в (x, y) как:
x0
y0
x1
y1
BIO может применяться к блокам двойного прогнозирования, которые могут прогнозироваться посредством двух эталонных блоков исходя из соседних во времени изображений. BIO может активироваться без отправки дополнительной информации от кодировщика декодеру. BIO может определяться для некоторых блоков двунаправленного прогнозирования, которые имеют как сигналы прямого, так и обратного прогнозирования (например, ). Если, например, два блока прогнозирования текущих блоков происходят от одного и того же направления (либо прямого, либо обратного направления, например, ), BIO может применяться, когда блоки прогнозирования связаны с ненулевыми движениями, например, abs(MV) + abs(MV) ≠ 0 и abs(MV) + abs(MV) ≠ 0, а два вектора движения пропорциональны временным расстояниям между текущим изображением и эталонными изображениями, например,
Если, например, два блока прогнозирования текущего блока происходят от одного и того же эталонного изображения (например, ), BIO может деактивироваться. Когда локальная компенсация освещения (LIC) используется для текущего блока, BIO может деактивироваться.
x0/x1
y0/y1
Как показано в (2) и (4), возможно, в дополнение к MC на уровне блоков, в BIO могут выводиться градиенты для семпла блока с компенсацией движения (например,  и ) (например, для выведения локального уточнения движения и/или генерирования конечного прогноза в местоположении такого семпла). В BIO, горизонтальные и вертикальные градиенты семплов в блоках прогнозирования (например, ,  и , ) могут рассчитываться в то же время, когда генерируются сигналы прогнозирования на основе процессов фильтрации, которые могут быть согласованы с интерполяцией компенсации движения (например, сепарабельные 2D-фильтры конечной импульсной характеристики (FIR)). Входные данные процесса выведения градиентов могут быть теми же эталонными семплами, которые используются для компенсации движения, и дольными компонентами (fracX, fracY) входного движения (MV, MV).
L
G
L
G
G
L
G
L
Для выведения градиентных значений в позициях семплов (например, в каждой позиции семпла), различные фильтры (например, один интерполяционный фильтр h и один градиентный фильтр h) могут применяться отдельно, возможно, например, в различном порядке для каждого направления градиента, который может рассчитываться. При выведении горизонтальных градиентов (например,  и ), интерполяционный фильтр h может применяться вертикально к семплам внутри блока прогнозирования для выведения значений семплов в вертикальных дольных позициях в fracY. Градиентный фильтр hможет затем применяться к генерируемым вертикальным дольным семплам, возможно, для расчета горизонтальных градиентных значений на основе значения fracX. При выведении вертикальных градиентов (например,  и ), градиентный фильтр, h, может применяться вертикально к семплам прогнозирования для расчета промежуточных вертикальных градиентов, соответствующих fracY, и горизонтальной интерполяции промежуточных вертикальных градиентов с использованием интерполяционного фильтра filter h в соответствии со значением fracX. Длина как градиентного фильтра, так и интерполяционного фильтра может составлять 6 отводов или 8 отводов. В таблице 1 и таблице 2 проиллюстрированы примеры коэффициентов фильтрации, которые могут использоваться для h и h соответственно, в соответствии с точностью вектора движения на уровне блоков.
Таблица 1. Пример градиентных фильтров, используемых в BIO
Дольная позиция
Градиентный фильтр (h<sub>G</sub>)
0
{8, -39, -3, 46, -17, 5}
1/16
{8, -32, -13, 50, -18, 5}
1/8
{7, -27, -20, 54, -19, 5}
3/16
{6, -21, -29, 57, -18, 5}
1/4
{4, -17, -36, 60, -15, 4}
5/16
{3, -9, -44, 61, -15, 4}
3/8
{1, -4, -48, 61, -13, 3}
7/16
{0, 1, -54, 60, -9, 2}
1/2
{-1, 4, -57, 57, -4, 1}
Таблица 2. Пример интерполяционных фильтров, используемых для генерирования сигналов прогнозирования в BIO
Дольная позиция
Интерполяционный фильтр (h<sub>L</sub>)
0
{0, 0, 64, 0, 0, 0}
1/16
{1, -3, 64, 4, -2, 0}
1/8
{1, -6, 62, 9, -3, 1}
3/16
{2, -8, 60, 14, -5, 1}
1/4
{2, -9, 57, 19, -7, 2}
5/16
{3, -10, 53, 24, -8, 2}
3/8
{3, -11, 50, 29, -9, 2}
7/16
{3, -11, 44, 35, -10, 3}
1/2
{3, -10, 35, 44, -11, 3}
1,1
0,1
0,1
0,1
0,1
0,1
0,1
L
На фиг. 4A и 4B проиллюстрирован процесс выведения градиентов, применяемый в BIO, где значения семплов в целочисленных позициях семплов показаны посредством заштрихованных квадратов, а значения семплов в дольных позициях семплов показаны пустыми квадратами. Точность вектора движения может быть повышена до 1/16 пэл, и могут быть определены 255 дольных позиций семплов на участке целочисленного семпла на фиг. 4A и 4B, где нижний индекс координаты (x, y) представляет соответствующую горизонтальную и вертикальную дольную позицию семпла (например, координата (0, 0) соответствует семплам на целочисленных позициях. Горизонтальные и вертикальные градиентные значения могут рассчитываться в дольной позиции (1, 1) (например, a). В соответствии с фиг. 4A и 4B, для выведения горизонтального градиента, дольные семплы f, e, a, b, c и dмогут выводиться посредством применения интерполяционного фильтра h в вертикальном направлении, например,
где B - битовая глубина входного сигнала;  - смещение округления, которое может быть равно
0,1
0,1
0,1
0,1
0,1
0,1
1,1
G
Точность f, e, a, b, c и dможет составлять 14 бит. Горизонтальный градиент a может рассчитываться посредством горизонтального применения соответствующего градиентного фильтра h к выведенным дольным семплам. Это может быть осуществлено посредством расчета неокругленных градиентных значений на промежуточных 20 битах, как проиллюстрировано в виде:
Конечный горизонтальный градиент может рассчитываться посредством сдвига промежуточного градиентного значения в выходную точность в виде:
где  и  - функции, которые возвращают знак и абсолютное значение входного сигнала;  - смещение округления, которое может быть рассчитано как .
При выведении вертикального градиентного значения (1, 1), могут выводиться промежуточные вертикальные градиентные значения в дольной позиции (0, 1), например,
Промежуточные градиентные значения могут затем корректироваться посредством сдвига к 14-битным значениям как:
L
Вертикальное градиентное значение в дольной позиции (1, 1) может быть получено посредством применения интерполяционного фильтра h к промежуточным градиентным значениям в дольной позиции (0, 1). Это можно осуществить посредством расчета неокругленного градиентного значения на 20 битах, которое затем может корректироваться по выходной битовой глубине посредством операции сдвига, как показано в виде:
Как показано в (5), возможно, для выведения локального уточнения движения в одной позиции, значения семплов и градиентные значения могут рассчитываться для некоторых семплов в окружающем окне Ω вокруг семпла. Размер окна может составлять (2M+1) × (2M+1), где M=2. Как описывается в настоящем документе, выведение градиента может осуществлять доступ к дополнительным эталонным семплам в расширенной области текущего блока. Учитывая, что длина T интерполяционного фильтра и градиентного фильтра может составлять 6, соответствующий размер расширенного блока может быть равен T-1=5. Для данного блока W × H, доступ к памяти, требуемый BIO, может составлять (W+T-1+2M) × (H+T-1+2M) = (W+9) × (H+9), что может быть больше доступа к памяти (W+7) × (H+7), используемого компенсацией движения. Для управления доступом к памяти BIO может использоваться ограничение расширения блока. Если, например, применяется ограничение блока, соседние семплы, которые могут находиться внутри текущего блока, могут использоваться, возможно, для расчета локального уточнения движения в позиции внутри блока. На фиг. 5A и 5B представлено сравнение размера участка доступа к памяти для BIO до и после применения ограничения расширения блока.
В усовершенствованном временном прогнозировании вектора движения (ATMVP), временное прогнозирование вектора движения может совершенствоваться посредством допущения возможности выведения блоком множества информации о движении (например, вектора движения и эталонных индексов) для подблоков в блоке из нескольких меньших блоков временных соседних изображений текущего изображения. ATMVP может выводить информацию о движении подблоков в блоке посредством идентификации соответствующего блока текущего блока (который может называться совмещенным блоком) во временном эталонном изображении. Выбранное временное эталонное изображение может называться совмещенным изображением. Текущий блок может разделяться на подблоки, где может выводиться информация о движении каждого подблока из соответствующего малого блока в совмещенном изображении, как показано на фиг. 6.
A
A
Совмещенный блок и совмещенное изображение могут идентифицироваться посредством информации о движении пространственных соседних блоков текущего блока. На фиг. 6 проиллюстрирован процесс, в котором доступный кандидат в списке кандидатов на объединение считается процессом. Можно предположить, что блок A идентифицируется как доступный кандидат на объединение текущего блока на основе порядка сканирования списка кандидатов на объединение. Соответствующий вектор движения блока A (например, MV и его эталонный индекс могут использоваться для идентификации совмещенного изображения и совмещенного блока. Местоположение совмещенного блока в совмещенном изображении может определяться посредством добавления вектора движения блока A (MV) к координате текущего блока.
Для подблока в текущем блоке информация о движении его соответствующего малого блока (как указано стрелками на фиг. 6) в совмещенном блоке может использоваться для выведения информации о движении подблока в текущем блоке. Когда информация о движении каждого малого блока в совмещенном блока идентифицируется, она может затем преобразовываться в вектор движения и эталонной индекс соответствующего подблока в текущем блоке (например, тем же образом, что при временном прогнозировании вектора движения (TMVP), где может применяться временное масштабирование вектора движения).
В пространственно-временном прогнозировании вектора движения (STVMP) информация о движении подблоков в блоке кодирования может выводиться рекурсивным образом, пример чего проиллюстрирован на фиг. 7. На фиг. 7 показан один пример для иллюстрации концепции. Как показано на фиг. 7, текущий блок может содержать четыре подблока A, B, C и D. Соседние малые блоки, которые являются пространственными соседями текущего блока, помечены как a, b, c и d соответственно. Выведение движения для подблока A может идентифицировать его двух пространственных соседей. Первый сосед подблока A может быть соседом c. Если, например, малый блок c не доступен или интракодирован, могут проверяться следующие соседние малые блоки над текущим блоком (слева направо). Второй сосед подблока A может быть левым соседом b. Если, например, малый блок b не доступен или интракодирован, могут проверяться следующие соседние малые блоки слева от текущего блока (сверху вниз). Информация о движении временных соседей подблока A может быть получена посредством аналогичной процедуры TMVP в HEVC. Информация о движении доступных пространственных и временных соседей (например, до 3) может усредняться и использоваться как информация о движении подблока A. На основе порядка растрового сканирования, вышеупомянутый процесс STMVP может повторяться для выведения информации о движении других подблоков в текущем видеоблоке.
Для интеркодированных блоков может поддерживаться режим преобразования с повышением частоты кадров (FRUC). При активации данного режима, например, информация о движении (например, включающая в себя векторы движения и/или эталонные индексы) кодированного блока может не передаваться посредством сигналов. Информация может выводиться на стороне декодера посредством сопоставления шаблонов и/или методик двустороннего сопоставления. Возможно, в ходе процесса выведения движения в декодере, например, может проверяться список кандидатов на объединение блока и/или набор предварительных векторов движения, генерируемых исходя из векторов движения временных совмещенных блоков текущего блока. В качестве начальной точки может быть выбран кандидат, который приводит к минимальной сумме абсолютной разницы (SAD) Может выполняться (например, локальный) поиск на основе сопоставления шаблонов и/или двустороннего сопоставления вокруг начальной точки. MV, который приводит к минимальной SAD, может браться в качестве MV для всего блока. Информация о движении может далее уточняться на уровне подблока для лучшей эффективности компенсации движения.
0
1
0
1
На фиг. 8A и фиг. 8B проиллюстрирован пример процесса FRUC. Как показано на фиг. 8A, сопоставление шаблонов может использоваться для выведения информации о движении текущего блока посредством нахождения (например, наилучшего) соответствия между шаблоном (например, верхним и/или левым соседними блоками текущего блока) в текущем изображении и блоком (например, того же размера, что и шаблон) в эталонном изображении. На фиг. 8B двустороннее сопоставление может использоваться для выведения информации о движении текущего блока посредством нахождения (например, наилучшего) соответствия между двумя блоками вдоль траектории движения текущего блока в двух различных эталонных изображениях. Процесс поиска движения двустороннего сопоставления может основываться на траектории движения, например, векторы движения s MV и MV, направленные к двум эталонным блокам, могут быть пропорциональны временным расстояниям между текущим изображением и одним или каждым из двух эталонных изображений (например, T и T).
Для прогнозирования компенсации движения может применяться модель трансляционного движения. Есть много видов движения, например, приближение/отдаление, вращение, перспективные движения и другие незакономерные движения. Может применяться прогнозирование компенсации движения аффинного преобразования. Как показано на фиг. 9A, поле аффинного движения блока может описываться посредством нескольких (например, двух) векторов движения контрольной точки. На основе движения контрольной точки поле движения аффинного блока может быть описано как:
где (v0x, v0y) может быть вектором движения контрольной точки в верхнем левом углу, а (v1x, v1y) может быть вектором движения контрольной точки в верхнем правом углу, как показано на фиг. 9A. Возможно, например, когда видеоблок кодируется посредством аффинного режима, его поле движения может выводиться на основе гранулярности блока 4 × 4. Для выведения вектора движения блока 4 × 4, вектор движения центрального семпла каждого подблока, как показано на фиг. 9B, может рассчитываться в соответствии с (15) и может округляться с точностью до 1/16 пэл. Выведенные векторы движения могут использоваться на этапе компенсации движения для генерирования сигнала прогнозирования подблока внутри текущего блока.
Команды одиночного потока команд со множеством потоком данных (SIMD) могут использоваться в проектировании программного/аппаратного обеспечения современных видеокодеков для ускорения скорости обработки как кодирования, так и декодирования SIMD может выполнять одну и ту же операцию над множеством элементов данных одновременно, возможно, посредством использования одной команды. Ширина SIMD определяет число элементов данных, которые могут обрабатываться параллельно посредством регистра. 128-битные SIMD могут использоваться в центральных процессорах (ЦП) общего назначения. Графические процессоры (ГП) могут поддерживать более широкие реализации SIMD, например, поддерживающие арифметические, логические команды, команды загрузки, сохранения с 512-битными регистрами.
Как описывается в настоящем документе, для уменьшения числа операций фильтрации, реализация BIO может использовать сепарабельные 2D-фильтры FIR в процессе выведения градиентов, например, комбинацию интерполяционного 1D-фильтра нижних частот и градиентный 1D-фильтр верхних частот. Выбор соответствующих коэффициентов фильтрации может основываться на дольной позиции целевого семпла. В связи с такими характеристиками (например, сепарабельными 2D-фильтрами) некоторые вычислительные операции могут выполняться параллельно для множества образцов. Процесс выведения градиента может подходить для ускорения SIMD.
L
G
G
L
L
G
Для выведения горизонтального и вертикального градиентов может применяться вертикальная фильтрация с последующей горизонтальной фильтрацией. Например, для расчета горизонтальных градиентов, может выполняться вертикальная интерполяция с использованием интерполяционного фильтра h для генерирования промежуточных семплов с последующим горизонтальным применением градиентного фильтра h к промежуточным семплам. Для расчета вертикальных градиентов, градиентный фильтр h может применяться в вертикальном направлении для расчета промежуточных вертикальных градиентов, которые могут затем вводиться в горизонтальный интерполяционный фильтр h. Учитывая, что длина фильтра как h, так и h составляет T=6, процесс горизонтальной фильтрации может генерировать дополнительные промежуточные данные (например, промежуточные семплы для расчета горизонтального градиента и промежуточные градиенты для расчета вертикального градиента) в горизонтальной расширенной области текущего блока для предоставления достаточно количества эталонных данных для последующего процесса горизонтальной фильтрации. На фиг. 10A и B проиллюстрированы процессы градиентной 2D-фильтрации, которые могут применяться для BIO, где штриховые линии указывают соответствующее направление, где может применяться каждый процесс фильтрации. Как показано на фиг. 10 A и B, для блока W × H, размер промежуточных данных составляет (W+T-1) × H =(W+5) × H. В HEVC и JEM ширина блока кодирования может быть степенью 2, например, 4, 8, 16, 32 и т.д. Семпл может храниться либо 1 байтом (для 8-битного видео), либо 2 байтами (для видеосигнала более 8 бит) в памяти. Как описывается в настоящем документе, ширина промежуточных данных, которые вводятся в процесс горизонтальной фильтрации, может составлять W+5. С учетом существующей ширины SIMD, регистры SIMD могут не полностью использоваться в ходе процесса горизонтальной фильтрации, что может снижать эффективность параллелизма реализации SIMD. Например, для блока кодирования с шириной 8, ширина промежуточных данных может составлять 8+5=13. В случае с 128-битной реализацией SIMD и 10-битным входным видео, может понадобиться два рабочих цикла SIMD для обработки каждой линии промежуточных данных в ходе процесса горизонтальной фильтрации. Например, первый цикл SIMD может использовать полезные данные 128-битного регистра посредством параллельной фильтрации 8 семплов, при этом во втором цикле может оставаться 5 семплов (например, 5 × 16 бит = 80 бит).
Как показано в (10), (12) и (14), операции округления в ходе процесса выведения градиента могут осуществляться посредством: расчета абсолюта входных данных, округления абсолюта посредством добавления одного смещения с последующим сдвигом вправо, умножения округленного абсолютного значения со знаком входных данных.
Как описывается в настоящем документе, может использоваться один или более режимов кодирования подблоков (например, ATMVP, STMVP, FRUC и аффинный режим). При активации режима кодирования на уровне подблока, текущий блок кодирования может далее разбиваться на множество малых подблоков, и информация о движении для каждого подблока может выводиться отдельно. Поскольку векторы движения подблоков внутри одного блока кодирования могут быть различны, компенсация движения может выполняться отдельно для каждого подблока. Исходя из предположения о том, что текущий блок кодируется посредством режима подблоков, на фиг. 11 проиллюстрирован пример процесса, используемого для генерирования сигнала прогнозирования блока с использованием операций, связанных с SIMD. Как показано на фиг. 11, векторы движения могут выводиться для нескольких (например, всех) подблоков текущего блока. Обычный MV может затем применяться для генерирования сигнала прогнозирования с компенсацией движения (например, Predi) для подблока(-ков) внутри блока. Если, например, используется BIO, далее может выполняться уточнение движения на основе BIO для получения модифицированного сигнала прогнозирования PredBIOi для подблока. Это может привести ко множеству вызовов BIO для генерирования сигнала прогнозирования каждого подблока. Интерполяционная фильтрация и градиентная фильтрация могут осуществлять доступ к дополнительным эталонным семплам (в зависимости от длины фильтра) для выполнения BIO на уровне подблока. Число подблоков, которые содержатся в блоке, может быть относительно большим. Может иметь место частое переключение между операцией компенсации движения и использованием различных векторов движения.
Может быть реализовано выведение прогноза BIO для эффективной реализации SIMD.
В примере реализации BIO прогноз BIO может выводиться посредством Уравнения (2). В примере реализации BIO, прогнозирование BIO может включать в себя один или более шагов (например, два шага). Шаг (например, первый шаг) может служить для выведения корректировки (например, посредством Уравнения (16)) с высокой точностью. Шаг (например, второй шаг) может служить для выведения прогноза BIO путем комбинирования прогнозов (например, двух прогнозов) из списков (например, двух списков) и корректировки, как видно в Уравнении (17).
Параметр round1 может быть равен (1<<(shift1-1)) для округления 0,5.
Параметр round2 может быть равен (1<<(shift2-1)) для округления 0,5.
Округление в Уравнении (16) может рассчитывать абсолютное значение и знак исходя из переменной, и комбинировать знак и промежуточный результат после сдвига вправо. Округление в Уравнении (16) может использовать множество операций.
Градиенты BIO могут выводиться таким образом, что может использоваться ускорение на основе SIMD. Например, градиенты BIO могут выводиться посредством применения горизонтальной фильтрации с последующей вертикальной фильтрацией. Длина промежуточных данных, вводимых во второй процесс фильтрации (например, вертикальной фильтрации), может быть кратна длине регистров SIMD, возможно, для полного использования возможности параллелизма SIMD. В примере, операции округления над входными значениями могут выполняться напрямую. Это может быть реализовано путем добавлений и смещений вправо.
За вертикальной фильтрацией может следовать горизонтальная фильтрация в процессе выведения градиента BIO. Ширина промежуточного блока может не быть хорошо согласована с длинами общих регистров SIMD. Операции округления в ходе процесса выведения градиента могут также выполняться на основе абсолютных значений, которые могут привносить затратные вычисления (например, вычисления и умножения абсолютов) для реализации SIMD.
Как показано на фиг. 10 A и B, за вертикальной фильтрацией может следовать горизонтальная фильтрация в процессе расчета градиента BIO. Возможно, из-за длины интерполяционных фильтров и градиентных фильтров, которые могут использоваться, ширина промежуточных данных после вертикальной фильтрации может составлять W + 5. Такая ширина может согласовываться или не согласовываться с шириной регистров SIMD, которые могут применяться на практике.
G
L
L
G
Горизонтальная фильтрация может быть выполнена с последующей вертикальной фильтрацией для выведения как горизонтальных, так и вертикальных градиентов. Для расчета горизонтальных градиентов, может применяться горизонтальный градиентный фильтр h для генерирования промежуточных горизонтальных градиентов на основе дольного горизонтального движения fracX с последующим вертикальным применением интерполяционного фильтра h к промежуточным горизонтальным градиентам в соответствии с дольным вертикальным движением fracY. Для расчета вертикальных градиентов, интерполяционный фильтр h может применяться в горизонтальном направлении на основе значения fracX, возможно, для расчета промежуточных семплов. Градиентный фильтр h может применяться вертикально к промежуточным семплам в зависимости, возможно, от значения fracY. На фиг. 12A и B проиллюстрирован соответствующий 2D-процесс выведения градиентов после фильтрации. Как показано на фиг. 12A и B, размер промежуточных данных (например, промежуточных градиентов для расчета горизонтального градиента и промежуточных семплов для расчета вертикального градиента) может представлять собой W × (H+T-1) = W × (H+5). Процесс фильтрации по фиг. 12A и B может обеспечивать возможность согласования ширины промежуточных данных (например, W) с длинами регистров SIMD (например, 128 бит и 512 бит), что может использоваться в реализации. Возьмем тот же пример на фиг. 10A и B для иллюстрации, исходя из предположения о 128-битной реализации SIMD, 10-битного входного видео и ширины блока W=8. Как видно на фиг. 10A и B, два набора операций SIMD могут использоваться для обработки данных в каждой линии промежуточного блока (например, W + 5), где первый набор может использовать полезные данные 128-битных регистров SIMD (например, 100% использование), тогда как второй набор может использовать 80 бит из 128-битых полезных данных (например, 62,5% использование). Набор операций SIMD может использовать 128-битную емкость регистра, например, 100% использование.
Как описывается в настоящем документе, выведение градиента BIO может округлять входное значение на основе его абсолютного значения, что может минимизировать ошибки округления. Например, абсолют входных данных может рассчитываться посредством округления абсолютного значения и умножения округленного абсолютного значения на знак входных данных. Это округление может быть описано в виде:
где σ_i и σ_r могут представлять собой соответствующие значения входного сигнала и сигнала после округления; o и shift могут представлять собой смещение и число сдвигов вправо, которое может применяться в ходе округления. Операции округления входных значений при выведении градиентов для блока BIO могут выполняться, например,
На фиг. 13 и фиг. 14 сравниваются функции картирования различных методов округления. Как видно на фиг. 13 и фиг. 14, разница между округленными значениями, рассчитанными посредством двух способов, может быть незначительной. Разница может существовать, когда входное значение σ_i, возможно, равно -0,5, -1,5, -2,5, …, что может быть округлено до целых чисел -1, -2, -3, … посредством способа округления по фиг. 13 и до целых чисел 0, -1, -2, … посредством способа округления по фиг. 14. Влияние эффективности кодирования, привносимое посредством метода округления по фиг. 14, может быть ничтожным. Как видно в (17), метод округления по фиг. 14 может быть завершен в один шаг и может быть реализован посредством добавлений и сдвигов вправо, при этом и то, и другое может быть менее дорогим, чем расчет и умножения абсолютных значений, которые могут использоваться в (16).
G
Как описывается в настоящем документе, упорядочивание сепарабельного 2D-фильтра и/или использование определенных методов округления может влиять на выведение градиента BIO. На фиг. 15A и B проиллюстрирован пример процесса выведения градиента, где упорядочивание сепарабельного 2D-фильтра и использование определенных методов округления может влиять на выведение градиента BIO. Например, при выведении горизонтального градиента, горизонтальные градиентные значения в дольных семплах s1,0, g1,0, a1,0, m1,0 и y1,0 могут выводиться посредством применения градиентного фильтра h в горизонтальном направлении, например,
1,1
L
Горизонтальный градиент a, например, , может интерполироваться, исходя из таких промежуточных горизонтальных градиентных значений посредством вертикального применения интерполяционного фильтра h, как проиллюстрировано в виде:
L
Вертикальный градиент может рассчитываться посредством интерполирования значений семплов в дольной позиции (1,0) посредством применения интерполяционного фильтра h в горизонтальном направлении, например,
G
Вертикальное градиентное значение a1,1 может быть получено посредством применения градиентного фильтра h к дольным позициям (1,0), как показано в виде:
Увеличения битовой глубины, вызванные интерполяционным фильтром и градиентным фильтром, могут быть одинаковыми (например, 6 бит, как показано в таблице 1 и таблице 2). Изменение порядка фильтрации может не влиять на внутреннюю битовую глубину.
Как описано в настоящем документе, может использоваться один или более инструментов кодирования (например, ATMVP, STMVP, FRUC и аффинный режим) на основе компенсации движения на уровне подблоков. При активации этих инструментов кодирования блок кодирования может делиться на множество малых подблоков (например, блоков 4×4) и может генерировать свою собственную информацию о движении (например, индексы эталонных изображений и векторы движения), которая может использоваться на стадии компенсации движения. Компенсация движения может выполняться отдельно для каждого подблока. Может осуществляться выборка дополнительных эталонных семплов для выполнения компенсации движения для каждого подблока. Компенсация движения на основе участков на основе различных размеров блоков может применяться для объединения смежных подблоков, которые представляют одинаковую информацию о движении внутри блока кодирования для процесса компенсации движения. Это может уменьшать число, применяемое процессом компенсации движения и процессом BIO внутри текущего блока. Для объединения соседних подблоков могут использоваться различные схемы. Может выполняться объединение подблоков на основе линий и объединение 2D-подблоков.
Прогнозирование с компенсацией движения может выполняться для блоков, которые кодируются посредством режимов подблоков. Компенсация движения блоков различных размеров может применяться посредством объединения смежных подблоков, которые имеют одинаковую информацию о движении, в группу подблоков. Для каждой группы подблоков может выполняться единая компенсация движения.
При объединении подблоков на уровне линий, прилегающие подблоки могут объединяться посредством определения местоположения той же линии подблоков внутри текущего блока кодирования, которая имеет идентичное движение, в одну группу и выполняет единую компенсацию движения для подблоков в группе. На фиг. 16A показан пример, где текущий блок кодирования состоит из 16 подблоков и каждый блок может быть связан с конкретным вектором движения. На основе существующего метода компенсации движения на основе подблоков (как показано на фиг. 11), возможно, для генерирования сигнала прогнозирования текущего блока как компенсация регулярного движения, так и уточнение движения BIO может осуществляться для каждого подблока отдельно. Соответственно, может быть 16 вызовов операций компенсации движения (каждая операция включает в себя как обычную компенсацию движения, так и BIO). На фиг. 16B проиллюстрирован процесс компенсации движения подблоков после применения схемы объединения подблоков на основе линий. Как показано на фиг. 16B, после горизонтального объединения подблоков с идентичным движением, количество операций компенсации движения может быть уменьшено до 6.
Объединение подблоков может зависеть от формы блока.
Как видно на фиг. 16B, движение соседних подблоков в горизонтальном направлении можно рассматривать для объединения на этапе компенсации движения. Например, подблоки в (например, одной и той же) строке подблока внутри CU могут рассматриваться для объединения на этапе компенсации движения (например, одна) структура четверичного дерева в сочетании с двоичным деревом (QTBT) может применяться для разбиения блоков в (например, одном) изображении. В структуре QTBT, (например, каждое) дерево единицы кодирования (CTU) может разбиваться с использованием реализации четверичного дерева (например, каждый) листовой узел четверичного дерева может разбиваться посредством двоичного дерева. Такое разбиение может происходить в горизонтальном и/или вертикальном направлении. Блоки кодирования прямоугольной и/или квадратной формы могут использоваться для интракодирования и/или интеркодирования. Это может быть обусловлено разбиениями на двоичные деревья. Если, например, реализуется такая схема разбиения блоков и применяется способ объединения блоков на основе линий, подблоки могут иметь аналогичное (например, идентичное) движение в горизонтальном направлении. Например, если прямоугольный блок вертикально ориентирован (например, высота блока больше ширины блока) прилегающие подблоки, находящиеся в том же столбце подблоков, могут коррелировать больше, чем прилегающие подблоки, которые находятся в той же строке подблоков. В таком случае подблоки могут объединяться в вертикальном направлении.
Может использоваться схема объединения подблоков в зависимости от формы блоков. Например, если ширина CU больше или равна ее высоте, может использоваться схема построчного объединения подблоков для совместного прогнозирования подблоков с одинаковым движением в горизонтальном направлении (например, подблоков, которые находятся в одной и той же строке подблоков). Это может выполняться с использованием (например, одной) операции компенсации движения. Если, например, высота CU больше ее ширины, может использоваться схема постолбцового объединения подблоков для объединения прилегающих подблоков, которые имеют одинаковое движение и находятся в одном и том же столбце подблоков внутри текущей CU. Это может выполняться с использованием (например, одной) операции компенсации движения. На фиг. 18A и B проиллюстрирован пример реализации адаптивного объединения подблоков на основе формы блоков.
В схеме объединения подблоков на основе линий/столбцов, описываемой в настоящем документе, единообразие движения соседних подблоков в горизонтальном направлении и/или в вертикальном направлении может рассматриваться для объединения подблоков на этапе компенсации движения. На практике, информация о движении прилегающих подблоков может высоко коррелировать в вертикальном направлении. Например, как показано на фиг. 16A, векторы движения первых трех подблоков в первой строке подблоков и второй строке подблоков могут быть одинаковыми. В этом случае, при объединении подблоков для более эффективной компенсации движения может рассматриваться единообразие как горизонтального, так и вертикального движения. Может использоваться 2D-схема объединения подблоков, где прилегающие подблоки как в горизонтальном, так и в вертикальном направлениях могут объединяться в группу подблоков. Для расчета размера блока для каждой компенсации движения, может использоваться способ прогрессивного поиска как для горизонтального, так и для вертикального объединения подблоков. Учитывая позицию подблока, он может работать посредством: расчета максимального числа последовательных подблоков в строках подблоков (например, каждой строке подблоков), которые могут объединяться в один этап компенсации движения; сравнения размера блока компенсации движения, который может быть достигнут в текущей строке подблоков, с рассчитанным в последней строке подблоков; и/или объединения подблока. Это может продолжаться посредством повторения вышеупомянутых шагов, возможно, до тех пор, пока размер блока компенсации движения будет не возможно далее увеличить после объединения дополнительных подблоков в данной строке подблоков.
i, j
i
i
i
k+1
k+1
k,
k+1
k+1
k+1
k+1
k
k+1
k
k+1
k+1
k,
k+1
k+1
k+1
Способ поиска, описанный в настоящем документе, можно кратко описать посредством следующих примеров процедур. Учитывая позицию подблока b в i-й строке подблоков и j-м столбце подблоков, может быть рассчитано число последовательных подблоков в i-й строке подблоков с таким же движением, как у текущего подблока (например, N). Соответствующий размер блока компенсации движения S = Nи задать k = i; можно перейти к (k+1)-й строке подблоков и рассчитать число последовательных подблоков, которые допускается объединить (например, N); обновить N = min(N N) и рассчитать соответствующий размер блока компенсации движения S = N·(k-i+1); если S ≥ S, задать N=N, k=k+1, перейти к (k+1)-й строке подблоков и рассчитать число последовательных подблоков, которые допускается объединить (например, N); обновить N = min(N N) и рассчитать соответствующий размер блока компенсации движения S = N·(k-i+1); в ином случае, завершить.
На фиг. 16C проиллюстрирован соответствующий процесс компенсации движения подблоков после применения 2D-схемы объединения подблоков. Как показано на фиг. 16C, число операций компенсации движения может составлять 3 (например, операция компенсации движения для трех групп подблоков).
Как описано в настоящем документе, может выполняться объединение подблоков. Ограничение расширения блоков может применяться к процессу выведения градиента BIO. Соседние семплы, которые находятся внутри текущего блока, могут использоваться для расчета локального уточнения движения для позиций семплов внутри блока. Локальное уточнение движения семпла может рассчитываться посредством рассмотрения соседних семплов в окружающей области 5×5 семпла (как показано в (5)), а длина текущего градиентного/интерполяционного фильтра может составлять 6. Значения локального уточнения движения, выведенные для семплов в первых/последних двух строках и первых/последних двух столбцах текущего блока, могут быть менее точными по сравнению со значениями уточнения движения, выведенными в других позициях семплов, возможно, из-за дублирования горизонтальных/вертикальных градиентов четырех угловых позиций семплов расширенной области текущего блока. Использование большего размера блока на этапе компенсации движения может уменьшать число семплов, на которые влияет ограничение расширения блока BIO. Исходя из предположения о том, что размер подблоков составляет 8, на фиг. 17A и B сравнивается число семплов, на которые влияет ограничение расширения блока BIO при использовании способа компенсации движения подблоков (фиг. 17A) и при использовании 2D-схемы объединения подблоков (фиг. 17B) соответственно. Как видно на фиг. 17A и B, 2D-схема объединения подблоков может уменьшать число находящихся под влиянием семплов и может также минимизировать воздействие неточного расчета уточнения движения.
При выведении прогноза BIO может выполняться округление. Округление может применяться (например, может сначала применяться) к абсолютному значению. Может применяться знак (например, может затем применяться после сдвига вправо). Округление при выведении корректировки для прогнозирования BIO может применяться, как показано в Уравнении (24). Сдвиг вправо в Уравнении (24) может представлять собой арифметический сдвиг вправо (например, знак переменной может оставаться без изменений после сдвига вправо). В SIMD может рассчитываться корректировка adj(x,y). Корректировка может рассчитываться с использованием одного добавления и одной операции сдвига вправо. Примеры различий между округлением в Уравнении (16) и округлением в Уравнении (24) могут быть показаны на фиг. 13 и/или фиг. 14.
Метод округления, который показан в (24), может выполнять две операции округления (например, round1 в (24) и round2 в (17)) над первоначальными входными значениями. Метод округления, который показан в (24), может объединять две операции сдвига вправо (например, shift1 в (24) и shift2 в (17)) в один сдвиг вправо. Конечный прогноз, генерируемый BIO, можно увидеть в Уравнении (25):
где round3 равно (1<<(shift1 + shift2 - 1)).
Текущая битовая глубина для выведения корректировочных значений (для которых может быть задан 21 бит, где один бит может использоваться для знака) может быть выше промежуточной битовой глубины двойного прогнозирования. Как показано в (16), операция округления (например, round1) может применяться к корректировочному значению (например, ). Промежуточная битовая глубина может применяться для генерирования сигналов двойного прогнозирования (например, для которых может быть задано 14 бит). В Уравнении (16) может быть реализован сдвиг вправо на основе абсолютного значения (например, shift1 = 20 - 14 =6). Битовая глубина выведенного значения корректировки BIO может быть уменьшена, например, с 21 бит до 15 бит, при этом первая операция округления (например, round1) может быть пропущена в ходе процесса BIO. Процесс генерирования BIO, показанный в (16) и (17), может меняться, как видно в (26) и (27):
где  и  могут представлять собой горизонтальные и вертикальные градиенты прогнозирования при сниженной точности, а  и  могут представлять собой соответствующее локальное движение при более низкой битовой глубине. Как видно в (27), в процессе генерирования BIO может использоваться одна операция округления.
Следует упомянуть, что в дополнение к применению по отдельности, описываемые в настоящем документе способы могут применяться в комбинации. Например, может комбинироваться выведение градиента BIO и компенсация движения подблоков, описываемая в настоящем документе. Способы, описываемые в настоящем документе, могут совместно активироваться на этапе компенсации движения.
Компенсация движения перекрывающихся блоков (OBMC) может выполняться для удаления блочного артефакта на этапе MC. OBMC может выполняться для одной или более, или всех границ между блоками, возможно, например, за исключением правой и/или нижней границ блока. Когда один видеоблок кодируется в одном режиме подблоков, режим подблоков может относиться к режиму кодирования, который позволяет подблокам внутри текущего блока иметь свое собственное движение, например, режим FRUC). OBMC может выполняться для одной или более, или всех четырех границ подблока. На фиг. 19 проиллюстрирован пример концепции OBMC. Когда OBMC применяется к одному подблоку (например, к подблоку A на фиг. 19), возможно, в дополнение к вектору движения текущего подблока, векторы движения соседних подблоков в количестве до 4 подблоков могут также использоваться для выведения сигнала прогнозирования текущего подблока. Один или более, или множество блоков прогнозирования, использующих векторы движения соседних подблоков, могут усредняться для генерирования конечного сигнала прогнозирования текущего подблока.
Для генерирования сигнала прогнозирования одного или более блоков в OBMC могут использоваться взвешенные средние. Сигнал прогнозирования может обозначаться с использованием вектора движения по меньшей мере одного соседнего подблока как PN и/или сигнала прогнозирования с использованием вектора движения текущего подблока как PC. При применении OBMC семплы в первых/последних четырех строках/столбцах PN могут усредняться методом взвешенного среднего с семплами на тех же позициях в PC. Семплы, к которым применяется усреднение методом взвешенного среднего, могут определяться в соответствии с местоположением соответствующего соседнего подблока. Когда соседний подблок является верхним соседом (например, подблок b на фиг. 19), например, семплы в первых X строках текущего подблока могут корректироваться. Когда соседний подблок является нижним соседом (например, подблок d на фиг. 19), например, семплы в последних X строках текущего подблока могут корректироваться. Когда соседний подблок является левым соседом (например, подблок a на фиг. 19), например, семплы в первых X столбцах текущего блока могут корректироваться. Когда соседний подблок является правым соседом (например, подблок c на фиг. 19), например, семплы в последних X столбцах текущего подблока могут корректироваться.
Значения X и/или веса могут определяться на основе режима кодирования, который используется для кодирования текущего блока. Например, когда текущий блок не кодируется в режиме подблока, весовые коэффициенты {1/4, 1/8, 1/16, 1/32} могут использоваться для по меньшей мере первых четырех строк/столбцов PN, и/или весовые коэффициенты {3/4, 7/8, 15/16, 31/32} могут использоваться для первых четырех строк/столбцов PC. Например, когда текущий блок кодируется в режиме подблока, первые две строки/столбца PN и PC могут усредняться. В таких сценариях, среди прочих, весовые коэффициенты {1/4, 1/8} могут использоваться для PN и/или весовые коэффициенты {3/4, 7/8} могут использоваться для PC.
i
i
BIO
Как описывается в настоящем документе, BIO может рассматриваться как одно усовершенствование обычной MC посредством улучшения гранулярности и/или точности векторов движения, которые используются на этапе MC. Исходя из предположения о том, что CU содержит множество подблоков, на фиг. 20 проиллюстрирован пример процесса для генерирования сигнала прогнозирования для CU с использованием связанных с BIO операций. Как показано на фиг. 20, векторы движения могут выводиться для одного или более, или всех подблоков текущей CU. Обычная MC может применяться для генерирования сигнала прогнозирования с компенсацией движения (например, Pred) для одного или более, или каждого подблока внутри CU. Возможно, если используется BIO, например, может выполняться уточнение движения на основе BIO для получения модифицированного сигнала прогнозирования Pred для подблока. При использовании OBMC, например, оно может выполняться для одного или более, или каждого подблока CU, следуя той же процедуре(-рам), которая описывается в настоящем документе для генерирования соответствующего сигнала прогнозирования OBMC. В некоторых сценариях, векторы движения пространственных соседних подблоков (например, возможно, вместо вектора движения текущего подблока) могут использоваться для выведения сигнала прогнозирования.
На фиг. 20, например, при двойном прогнозировании по меньшей мере одного подблока, BIO может использоваться на этапе обычной MC и/или этапе OBMC. BIO может вызываться для генерирования сигнала прогнозирования подблока. На фиг. 21 показан пример структурной схемы процесса генерирования прогноза после OBMC, который может выполняться без BIO. На фиг. 21, возможно, например, на этапе обычной MC, за прогнозированием с компенсацией движения может по-прежнему следовать BIO. Как описывается в настоящем документе, выведение уточнения движения на основе BIO может представлять собой операцию на основе семплов.
BIO может применяться к процессу обычной MC для текущей CU, кодируемой с использованием режима подблоков (например, FRUC, аффинный режим, ATMVP и/или STMVP). Для CU, кодируемых посредством одного или более, или любого из таких режимов подблоков, CU может далее разделяться на один или более, или множество подблоков и одному или более, или каждому подблоку может назначаться один или более уникальных векторов движения (например, одиночное прогнозирование и/или двойное прогнозирование). Возможно, например, при активации BIO принятие решения о том, следует ли применять BIO или нет, и/или сама операция BIO может выполняться отдельно для одного или более, или каждого из подблоков.
Как описывается в настоящем документе, рассматривается одна или более методик для пропуска операций BIO на этапе MC (например, на этапе обычной MC). Например, базовое построение BIO (например, расчет градиентов и/или уточненных векторов движения) может сохраняться таким же и/или по существу аналогичным. В одной или более методиках, операция BIO может быть (например, частично или полностью) деактивирована для блоков/подблоков, где может удовлетворяться один или более факторов или условий. В некоторых случаях, MC может выполняться без BIO.
В режиме подблоков, может допускаться возможность разделения CU на более чем один подблок, и/или один или более различных векторов движения могут быть связаны с одним или более, или каждым подблоком. Прогнозирование с компенсацией движения и/или операции BIO могут выполняться над CU и/или более чем одним подблоком (например, если для CU активирована возможность кодирования подблоков). Одна или более методик, описываемых в настоящем документе, могут быть применимы для видеоблоков, которые могли не быть кодированы посредством режима подблоков (например, без разделения и/или наличия (например, одного) вектора движения).
Как описано в настоящем документе, BIO может компенсировать (например, малое) движение, которое может оставаться между (например, по меньшей мере) двумя блоками прогнозирования, генерируемыми посредством традиционной MC на основе блоков. Как показано на фиг. 8A и фиг. 8B, двустороннее сопоставление FRUC может использоваться для оценки векторов движения на основе временной симметрии вдоль траектории движения между блоками прогнозирования в эталонных изображениях с отсылкой вперед и/или назад. Например, значение векторов движения, связанных с двумя блоками прогнозирования, может быть пропорционально временному расстоянию между текущим изображением и их соответствующим эталонным изображением. Оценка движения на основе двустороннего сопоставления может предоставлять один или более (например, надежных) векторов движения, возможно, например, когда может быть (например, только) малое трансляционное движение между двумя эталонными блоками (например, блоками кодирования в наивысших временных слоях в конфигурации с произвольным доступом).
Например, когда по меньшей мере один подблок кодируется посредством двустороннего режима FRUC, среди прочих сценариев, один или более истинных векторов движения семплов внутри подблока могут быть (например, должны быть) когерентными. В одной или более методиках BIO может деактивироваться в ходе процесса обычной MC для одного или более подблоков, которые кодируются посредством двустороннего режима FRUC. На фиг. 22 показан пример схемы для процесса генерирования прогноза после деактивации процесса BIO для двусторонних блоков FRUC на этапе MC. Например, на стороне декодера, возможно, после того как декодер может определить, что двусторонний режим FRUC используется/использовался для кодирования блока, процесс BIO может быть обойден.
Как описывается в настоящем документе, BIO может пропускаться для одного или более двусторонних подблоков FRUC, для которых два вектора движения могут быть (например, могут всегда быть) симметричны во временной области. Возможно, для достижения дальнейшего уменьшения сложности, среди прочих сценариев, процесс BIO может пропускаться на этапе MC на основе (например, абсолютной) разницы между по меньшей мере двумя векторами движения по меньшей мере одного подблока двойного прогнозирования. Например, для одного или более подблоков, которые могут прогнозироваться посредством двух векторов движения, которые могут быть приблизительно пропорциональны во временной области, можно разумно предположить, что два блока прогнозирования высоко коррелируют и/или векторов движения, которые используются при MC на уровне подблока, может быть достаточно для точного отражения истинного движения между блоками прогнозирования. В одном или более сценариях, для таких подблоков процесс BIO может пропускаться. Для сценариев, в которых подблоки двойного прогнозирования, векторы движения которых могут быть не (например, могут быть далеко не) пропорциональны по времени, BIO может выполняться в дополнение к прогнозированию с компенсацией движения на уровне подблока.
x0
y0
x1
y1
x1
y1
x1
y1
s
s
Используя те же обозначения, что и на фиг. 3, например, (MV, MV) и/или (MV, MV) обозначают векторы движения на уровне подблоков (например, сигнал прогнозирования), которые могут использоваться для генерирования двух блоков прогнозирования. Кроме того,  и  обозначают временные расстояния временных эталонных изображений с отсылкой вперед/назад относительно текущего изображения. Кроме того, (MV, MV) могут рассчитываться как масштабируемая версия (MV, MV), которые могут генерироваться на основе  и  в виде:
На основе (28), возможно, когда может применяться одна или более рассматриваемых методик, процесс BIO может пропускаться для по меньшей мере одного блока и/или подблока. Например, на основе (28) может быть определено, что два блока прогнозирования (например, эталонные блоки) подобны или неподобны (например, может быть определено на основе разницы прогнозирования). Если два блока прогнозирования (например, эталонные блоки) подобны, процесс BIO может пропускаться для по меньшей мере одного блока или подблока. Если два блока прогнозирования (например, эталонные блоки) неподобны, процесс BIO не может пропускаться для по меньшей мере одного блока или подблока. Например, может быть определено, что два блока прогнозирования подобны, когда удовлетворяется следующее условие:
Переменная thres может указывать на предустановленный/предопределенный порог разницы вектора движения. В ином случае, векторы движения, которые могут использоваться для MC на уровне подблока текущего подблока могут считаться неточными. В таких сценариях, среди прочего, BIO по-прежнему может применяться для подблока. Например, переменная thres может передаваться посредством сигналов и/или определяться (например, определяться посредством декодера) на основе желаемой эффективности кодирования.
На фиг. 23 проиллюстрирован пример процесса генерирования прогноза, в котором BIO может деактивироваться на основе критерия разницы вектора движения из (29). Как видно из (29), порог разницы вектора движения (например, thres) может использоваться для определения того, может ли по меньшей мере один блок или подблок пропускать процесс BIO на этапе MC. Иными словами, порог может использоваться для идентификации того, где пропуск процесса BIO может иметь или не иметь не ничтожное влияние на общую сложность кодирования/декодирования. Пороги могут использоваться для определения того, пропускать или не пропускать процесс BIO. В одной или более методиках, один и тот же порог разницы вектора движения для одного или более, или всех изображений может использоваться в кодировщике и/или декодере. В одной или более методиках, один или более различных порогов могут использоваться для различных изображений. Например, в конфигурации с произвольным доступом, относительно малый порог(и) может использоваться для изображений в высоком временном слое (слоях) (например, возможно, вследствие меньшего движения). Например, относительно большой порог(и) может использоваться для изображений в низком временном слое (слоях) (например, вследствие большего движения).
x1
y1
x1
y1
x1
y1
x0
y0
Как показано в (28) и (29), масштабирование векторов движения может применяться к (MV, MV) для расчета разницы векторов движения. Например, когда применяется масштабирование векторов движения в (28) и/или предполагается, что , ошибка при оценке движения (MV, MV), может усиливаться. Масштабирование векторов движения может применяться (например, может всегда применяться) к вектору движения, который связан с эталонным изображением, которое имеет относительно большое временное расстояние от текущего изображения. Например, когда , вектор движения (MV, MV) может масштабироваться для расчета разницы векторов движения (например, как показано (28) и (29)). В ином случае, например, где , вектор движения (MV, MV) может масштабироваться для расчета разницы векторов движения, как показано в виде:
Как описывается в настоящем документе, масштабирование векторов движения может применяться, когда временные расстояния двух эталонных изображений до текущего изображения, различны (например, ). Поскольку масштабирование векторов движения может привносить дополнительные ошибки (например, вследствие операций деления и/или округления), оно может влиять (например, снижать) точность масштабируемого вектора движения. Чтобы избежать или уменьшить такие ошибки, среди прочих сценариев, разница векторов движения (например, как указано в (30) и (31)) может использоваться (например, может использоваться только) для деактивации BIO на этапе MC, возможно, например, когда (например, только когда) временное расстояние по меньшей мере двух или не более двух эталонных изображений (например, эталонных блоков) от текущего подблока может быть одинаковым или по существу подобным (например ).
Как описывается в настоящем документе, разница векторов движения может использоваться как измерение для определения того, может ли пропускаться процесс BIO для по меньшей мере одного подблока на этапе MC (например, на основе того, подобны ли два эталонных блока). Когда разница векторов движения между двумя эталонными блоками относительно мала (например, ниже порога), может быть разумно предположить, что два блока прогнозирования могут быть подобны (например, высоко коррелировать), при этом BIO может деактивироваться без (например, существенных) потерь при кодировании. Разница векторов движения может быть одним из целого ряда путей измерения подобия (например, корреляции) между двумя блоками прогнозирования (например, эталонными блоками). В одной или более методиках, корреляция между двумя блоками прогнозирования может определяться посредством расчета средней разницы между двумя блоками прогнозирования, например:
Переменные  и  - это значения семплов в координате (x, y) блоков с компенсацией движения, выводимых из эталонных изображений с отсылкой вперед/назад (например, эталонных блоков). Значения семплов могут быть связаны со значениями яркости соответствующих эталонных блоков. Значения семплов могут интерполироваться исходя из их соответствующих эталонных блоков. Переменные B и N представляют собой набор координат семплов и число семплов, определенное в текущем блоке или подблоке, соответственно. Переменная D представляет собой измеренное искажение, для которого может применяться одно или более различных измерений/метрик, таких как: сумма квадратичной ошибки (SSE), сумма абсолютной разницы (SAD) и/или сумма абсолютной преобразованной разницы (SATD). Учитывая (32), BIO может пропускаться на этапе MC, возможно, например, когда измеренная разница может быть не больше одного или более предустановленных/предопределенных порогов, например, . В ином случае, два сигнала прогнозирования текущего подблока могут рассматриваться как неподобные (например, менее коррелирующие), для которых может (например, по-прежнему может) применяться BIO. Как описывается в настоящем документе,  может передаваться посредством сигналов или определяться декодером (например, на основе желаемой эффективности кодирования). На фиг. 24 проиллюстрирован пример процесса генерирования прогноза после пропуска BIO на основе измерения разницы между двумя сигналами прогнозирования.
Как описывается в настоящем документе, процесс BIO может условно пропускаться на уровне CU или под-CU (например, подблоков с CU). Например, кодировщик и/или декодер может определять, может ли пропускаться BIO для текущей CU. Как описывается в настоящем документе, это определение может основываться на подобии двух эталонных блоков, связанных с текущей CU (например, с использованием (28), (29), (30), (31) и/или (32)). Если кодировщик и/или декодер определяет, что BIO должен быть пропущен для текущей CU, кодировщик и/или декодер может определять, кодируется ли текущая CU с активированным кодированием подблоков. Если текущая CU кодируется с активированным кодированием подблоков, кодировщик и/или декодер может определить, что BIO может пропускаться для подблоков в CU.
Как показано на фиг. 24, процесс BIO может условно пропускаться для текущей CU или подблоков внутри текущей CU, искажение которой между ее двумя сигналами прогнозирования может быть не больше порога. Расчет измеренного искажения и процесса BIO может выполняться на основе подблоков и может часто вызываться для подблоков в текущей CU. Измеренное искажение на уровне CU может использоваться для определения того, следует ли пропустить процесс BIO для текущей CU. Может выполняться многоэтапное раннее завершение, при котором процесс BIO может пропускаться на основе значений искажения, рассчитанных исходя из различных уровней блоков.
Искажение может рассчитываться с учетом нескольких (например, всех) семплов в текущей CU. Например, если искажение на уровне CU достаточно мало (например, не больше предустановленного порога уровня CU), процесс BIO может пропускаться для CU; В ином случае, искажение для каждого подблока внутри текущей CU может рассчитываться и использоваться для определения того, следует ли пропустить процесс BIO на уровне подблоков. На фиг. 26 проиллюстрирован пример процесса прогнозирования с компенсацией движения с применением многоэтапного раннего завершения для BIO. Переменные на фиг. 26,  и  представляют сигналы прогнозирования, генерируемые для текущей CU из списка L0 и L1 эталонных изображений, а  и  представляют соответствующие сигналы прогнозирования, генерируемые для i-го подблока внутри CU.
Как описывается в настоящем документе, искажение на уровне CU может рассчитываться для определения того, например, может ли деактивироваться операция BIO для текущей CU или нет. Информация о движении подблоков внутри CU может высоко коррелировать или не коррелировать. Искажения подблоков внутри CU могут варьироваться. Может выполняться многоэтапное ранее завершение. Например, CU может делиться на множество групп подблоков, и группа может включать в себя смежные подблоки, которые имеют подобную (например, одинаковую) информацию о движении (например, одинаковые индексы эталонных изображений и одинаковые векторы движения). Измеренное искажение может рассчитываться для каждой группы подблоков. Если, например, искажение одной группы подблоков достаточно мало (например, не больше предустановленного порога), процесс BIO может пропускаться для семплов внутри группы подблоков; в ином случае, искажение для каждого подблока внутри группы подблоков может рассчитываться и использоваться для определения того, следует ли пропустить процесс BIO для подблока.
В (32),  и  могут относиться к значениям (например, значениям яркости) семплов с компенсацией движения в координате (x, y), полученной из списков L0 и L1 эталонных изображений. Значения семплов с компенсацией движения могут определяться с точностью битовой глубины входного сигнала (например, 8 бит или 10 бит, если входной сигнал представляет собой 8-битное или 10-битное видео). Сигнал прогнозирования одного блока двойного прогнозирования может генерироваться посредством усреднения двух сигналов прогнозирования из L0 и L1 с точностью входной битовой глубины.
Если, например, MV направлены к позициям семплов,  и  получаются с использованием интерполяции с одной промежуточной точностью (которая может быть выше входной битовой глубины), и промежуточные сигналы прогнозирования затем округляются до входной битовой глубины перед операцией усреднения. Например, два сигнала прогнозирования с точностью входной битовой глубины могут усредняться с промежуточной точностью (например, промежуточной точностью, указанной в H.265/HEVC и JEM), если дольные MV используются для одного блока. Если, например, MV, используемые для получения  и , соответствуют дольным позициям семплов, интерполяционный процесс фильтрации может поддерживать промежуточное значение с высокой точностью (например, промежуточной битовой глубиной). Например, когда один из двух MV представляет собой целочисленное движение (например, соответствующий прогноз генерируется без применения интерполяции), точность соответствующего прогноза может повышаться до промежуточной битовой глубины перед применением усреднения. На фиг. 27 проиллюстрирован пример процесса двойного прогнозирования при усреднении двух промежуточных сигналов прогнозирования с высокой точностью, где  и  относятся к двум сигналам прогнозирования из списка L0 и L1 при промежуточной битовой глубине (например, 14 бит, как указано в HEVC и JEM), а BitDepth указывает битовую глубину входного видео.
Учитывая сигналы двойного прогнозирования, генерируемые с высокой битовой глубиной, соответствующее искажение между двумя блоками прогнозирования в уравнении (32) может рассчитываться в промежуточной позиции, как указано в виде:
где  и  - значения семплов высокой точности в координате (x, y) блоков прогнозирования, генерируемых из L0 и L1, соответственно;  представляет соответствующее измеренное искажение, рассчитанное с промежуточной битовой глубиной. Дополнительно, возможно, вследствие высокого искажения битовой глубины в (33), порог уровня CU и порог уровня подблока, используемые ранним завершением BIO (например, как описывается в настоящем документе, относительно фиг. 24 и фиг. 26), могут корректироваться таким образом, чтобы они определялись при одинаковой битовой глубине сигналов прогнозирования. Используя нормальное искажение L1 (например, SAD) в качестве примера, следующие уравнения могут пояснить процедуру корректировки порогов искажения с входной битовой глубины до промежуточной битовой глубины:
Переменные  и  представляют собой пороги искажения на уровне CU и подблоков с точностью входной битовой глубины.  и  представляют собой соответствующие пороги искажения с точностью промежуточной битовой глубины.
Как описывается в настоящем документе, BIO может обеспечивать посемпловое уточнение движения, которое может рассчитываться на основе локальной градиентной информации в одном или более, или каждом местоположении семпла в по меньшей мере одном блоке с компенсацией движения. Для подблоков на одном участке, который может содержать менее высокочастотные детали (например, плоскую область), градиенты, которые могут выводиться с использованием градиентных фильтров в таблице 1, как правило, могут быть малыми. Как показано в уравнении (4), когда локальные градиенты (например,  и ) близки к нулю, конечный сигнал прогнозирования, полученный от BIO, может быть приблизительно равен сигналу прогнозирования, генерируемому посредством традиционного двойного прогнозирования, например, .
В одной или более методиках, BIO может применяться (например, может применяться только) к одному или более семплам прогнозирования подблоков, которые могут содержать достаточную и/или обильную высокочастотную информацию. Определение того, содержат ли сигналы прогнозирования по меньшей мере одного подблока высокочастотную информацию, может осуществляться, например, на основе средней величины градиентов для семплов в по меньшей мере одном подблоке. Возможно, если среднее меньше чем по меньшей мере один порог, например, подблок может классифицироваться как плоская область и/или BIO может не применяться к подблоку. В ином случае, может считаться, что по меньшей мере один подблок содержит достаточную высокочастотную информацию/детали, где BIO может быть по-прежнему применим. Значение одного или более порогов может предварительно определяться и/или адаптивно определяться для одного или более, или каждого эталонного изображения, возможно, например, на основе средних градиентов в таком эталонном изображении. В одной или более методике, градиентная информация может рассчитываться (например, может рассчитываться только) для определения того, может ли принадлежать текущий подблок к одной плоской области или нет. В некоторых методиках, эта градиентная информация может не быть столь точной, как градиентные значения, которые могут использоваться для генерирования сигнала прогнозирования BIO (например, как показано в (4)). Для определения того, должен ли применяться BIO к по меньшей мере одному подблоку, могут использоваться относительно простые градиентные фильтры. Например, для выведения горизонтальных и/или вертикальных градиентов может применяться фильтр с 2 отводами [-1, 1]. На фиг. 25 показан пример блок-схемы процесса генерирования прогноза после применения пропуска BIO на основе градиента.
Одна или более методик, описываемых в настоящем документе по отдельности, которые могут пропускать BIO на этапе MC, могут применяться совместно (например, может комбинироваться более одной методики). Одна или более методик, порогов, уравнений и/или факторов/условий и т.д., описываемых в настоящем документе, могут свободно комбинироваться. Одна или более различных комбинаций методик, порогов, уравнений и/или факторов/условий и т.д., описываемых в настоящем документе, могут обеспечивать различные компромиссы в контексте эффективности кодирования и/или уменьшения сложности кодирования/декодирования. Например, одна или более методик, порогов, уравнений и/или факторов/условий и т.д., описываемых в настоящем документе, могут совместно или отдельно реализовываться таким образом, что процесс BIO может (например, может полностью) деактивироваться для по меньшей мере одного блока/подблока.
На фиг. 28A представлена схема, иллюстрирующая пример системы 100 связи, в которой могут быть реализованы один или более раскрываемых вариантов осуществления. Система 100 связи может представлять собой систему множественного доступа, которая предоставляет содержимое, такое как голосовая информация, данные, видео, обмен сообщениями, широковещание и т.п., множеству пользователей беспроводной связи. Система 100 связи может быть выполнена с возможностью обеспечения множества пользователей беспроводной связи доступом к такому содержимому посредством совместного использования системных ресурсов, включая ширину полосы пропускания беспроводного соединения. Например, в системах 100 связи может быть использован один или более способов доступа к каналу, таких как множественный доступ с кодовым разделением каналов (CDMA), множественный доступ с временным разделением каналов (TDMA), множественный доступ с частотным разделением каналов (FDMA), множественный доступ с ортогональным частотным разделением каналов (OFDMA), FDMA с одной несущей (SC-FDMA), расширенное OFDM с безызбыточным расширенным дискретным преобразованием Фурье (DFT) с синхропакетом (ZT UW DTS-s OFDM), OFDM с синхропакетом (UW-OFDM), OFDM с фильтрацией ресурсного блока, блок фильтров с несколькими несущими (FBMC) и т.п.
Как показано на фиг. 28A, система 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 (т.е. Wireless Fidelity (WiFi)), IEEE 802.16 (т.е. глобальная совместимость для микроволнового доступа (WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, временный стандарт 2000 (IS-2000), временный стандарт 95 (IS-95), временный стандарт 856 (IS-856), глобальная система мобильной связи (GSM), усовершенствованные скорости передачи данных для сетей GSM Evolution (EDGE), GSM EDGE (GERAN) и т.п.
Базовая станция 114b на фиг. 28A, может представлять собой, например, беспроводной маршрутизатор, станцию 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 и т.д.) для создания пикосоты или фемтосоты. Как показано на фиг. 28A, базовая станция 114b может иметь прямое соединение с сетью Интернет 110. Таким образом, для базовой станции 114b может не требоваться доступ к сети Интернет 110 посредством CN 106/115.
RAN 104/113 может обмениваться данными с CN 106/115, которая может представлять собой сеть любого типа, выполненную с возможностью предоставления услуг передачи голосовой информации, данных, приложений и/или голосовой связи по протоколу (VoIP) Интернета одному или более из модулей WTRU 102a, 102b, 102c, 102d. К данным могут быть предъявлены различные требования по качеству обслуживания (QoS), например различные требования по производительности, требования к задержке, требования к отказоустойчивости, требования к надежности, требования к скорости передачи данных, требования к мобильности и т.п. CN 106/115 может обеспечивать управление вызовами, услуги биллинга, услуги мобильной связи на основе местоположения, предварительно оплаченные вызовы, возможность связи с сетью Интернет, распределение видеосигналов и т.п. и/или реализовывать функции высокоуровневой защиты, такие как аутентификация пользователей. Хотя на фиг. 28A это не показано, следует понимать, что 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, показанный на фиг. 28A, может быть выполнен с возможностью взаимодействия с базовой станцией 114a, которая может использовать технологию радиосвязи на основе сот, а также с базовой станцией 114b, которая может использовать технологию радиосвязи IEEE 802.
На фиг. 28B представлена системная схема, иллюстрирующая пример WTRU 102. Как показано на фиг. 28B, 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. Хотя на фиг. 28B процессор 118 и приемопередатчик 120 показаны в виде отдельных компонентов, следует понимать, что процессор 118 и приемопередатчик 120 могут быть совместно встроены в электронный блок или микросхему.
Передающий/приемный элемент 122 может быть выполнен с возможностью передачи сигналов на или приема сигналов от базовой станции (например, базовой станции 114a) по радиоинтерфейсу 116. Например, в одном варианте осуществления передающий/приемный элемент 122 может представлять собой антенну, выполненную с возможностью передачи и/или приема РЧ-сигналов. В варианте осуществления передающий/приемный элемент 122 может представлять собой излучатель/детектор, выполненный с возможностью передачи и/или приема, например, сигналов в ИК-спектре, УФ-спектре или спектре видимого света. В еще одном варианте осуществления передающий/приемный элемент 122 может быть выполнен с возможностью передачи и/или приема сигналов как в РЧ-спектре, так и в спектре видимого света. Следует понимать, что передающий/приемный элемент 122 может быть выполнен с возможностью передачи и/или приема любой комбинации радиосигналов.
Хотя на фиг. 28B передающий/приемный элемент 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 может также быть соединен с набором микросхем GPS 136, который может быть выполнен с возможностью обеспечения информации о местоположении (например, долготы и широты) в отношении текущего местоположения модуля WTRU 102. В дополнение или вместо информации от набора микросхем GPS 136 WTRU 102 может принимать информацию о местоположении по радиоинтерфейсу 116 от базовой станции (например, от базовых станций 114a, 114b) и/или определять местоположение на основе синхронизации сигналов, принимаемых от двух или более соседних базовых станций. Следует понимать, что WTRU 102 может получать информацию о местоположении посредством любого подходящего способа определения местоположения и при этом все еще соответствовать варианту осуществления.
Процессор 118 может быть дополнительно соединен с другими периферийными устройствами 138, которые могут включать в себя один или более программных и/или аппаратных модулей, которые обеспечивают дополнительные признаки, функциональные возможности и/или возможности по установлению проводной или беспроводной связи. Например, периферийные устройства 138 могут включать в себя акселерометр, электронный компас, спутниковый приемопередатчик, цифровую камеру (для фото- и видеосъемки), порт универсальной последовательной шины (USB), вибрационное устройство, телевизионный приемопередатчик, беспроводную гарнитуру, модуль Bluetooth, радиомодуль с частотной модуляцией (FM), цифровой музыкальный проигрыватель, мультимедийный проигрыватель, модуль устройства для воспроизведения видеоигр, Интернет-браузер, устройство виртуальной реальности и/или дополненной реальности (VR/AR), трекер активности и т.п. Периферийные устройства 138 могут включать в себя один или более датчиков, причем датчики могут представлять собой один или более из гироскопа, акселерометра, датчика Холла, магнитометра, датчика ориентации, датчика приближения, датчика температуры, датчика времени; датчика географического положения; высотомера, датчика освещенности, датчика касания, магнитометра, барометра, датчика жеста, биометрического датчика и/или датчика влажности.
WTRU 102 может включать в себя полнодуплексное радиоустройство, в котором передача и прием некоторых или всех сигналов (например, связанных с конкретными подкадрами) как для UL (например, для передачи), так и для нисходящей линии связи (например, для приема), могут быть осуществлены совместно и/или одновременно. Полнодуплексное радиоустройство может включать в себя модуль 139 управления помехами для снижения уровня и/или по существу устранения собственных помех с помощью любого аппаратного обеспечения (например, дросселя) или обработки сигнала с помощью процессора (например, отдельного процессора (не показан) или процессора 118). В варианте осуществления WRTU 102 может включать в себя полудуплексное радиоустройство для передачи и приема некоторых или всех сигналов (например, связанных с конкретными подкадрами) как для UL (например, для передачи), так и для нисходящей линии связи (например, для приема).
На фиг. 28C представлена системная схема 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 и т.п. Как показано на фиг. 28C, eNode-B 160a, 160b, 160c могут взаимодействовать друг с другом по интерфейсу X2.
CN 106, показанная на фиг. 28C, может включать в себя объект 162 управления мобильностью (MME), обслуживающий шлюз (SGW) 164 и шлюз 166 (или PGW) сети с пакетной передачей данных (PDN). Хотя каждый из вышеперечисленных элементов показан как часть CN 106, следует понимать, что любой из этих элементов может принадлежать субъекту, отличному от оператора CN, и/или может быть предоставленным им для использования.
MME 162 может быть подключен к каждой базовой станции eNode-Bs 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 описан по фиг. 29A-29D как беспроводной терминал, предполагается, что в определенных типовых вариантах осуществления такой терминал может использовать (например, временно или постоянно) проводной интерфейс связи с сетью связи.
В типовых вариантах осуществления другая сеть 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. Для CSMA/CA STA (например, каждая STA), включая АР, может обнаруживать первичный канал. При распознавании/обнаружении и/или определении занятости первичного канала конкретной станцией 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 МГц в зависимости от кода страны.
На фиг. 28D представлена системная схема 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) и т.п. Как показано на фиг. 28D, базовые станции gNB 180a, 180b, 180c могут взаимодействовать друг с другом по интерфейсу Xn.
CN 115, показанная на фиг. 28D, может включать в себя по меньшей мере один AMF 182a, 182b, по меньшей мере один UPF 184a, 184b, по меньшей мере один функциональный блок 183a, 183b управления сеансом (SMF) и, возможно, сеть 185a, 185b передачи данных (DN). Хотя каждый из вышеперечисленных элементов показан как часть 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.
С учетом фиг. 29A-29D и соответствующих описаний фиг. 29A29D одна или более или все из функций, описанных в настоящем документе в связи с одним или более из: 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.
Устройства эмуляции могут быть выполнены с возможностью осуществления одного или более испытаний других устройств в лабораторной среде и/или в сетевой среде оператора. Например, одно или более устройств эмуляции могут выполнять одну или более функций или все функции, будучи полностью или частично реализованными и/или развернутыми в качестве части проводной и/или беспроводной сети связи, для испытания других устройств в сети связи. Одно или более устройств эмуляции могут выполнять одну или более функций или все функции, будучи временно реализованными/развернутыми в качестве части проводной и/или беспроводной сети связи. Устройство эмуляции может быть непосредственно соединено с другим устройством для испытания и/или выполнения испытания с использованием беспроводной связи посредством канала беспроводной связи.
Одно или более устройств эмуляции могут выполнять одну или более функций, включая все функции, не будучи реализованными/развернутыми в качестве части проводной и/или беспроводной сети связи. Например, устройства эмуляции могут быть использованы в сценарии испытания в испытательной лаборатории и/или в неразвернутой (например, испытательной) проводной и/или беспроводной сети связи для осуществления испытания одного или более компонентов. Одно или более устройств эмуляции могут представлять собой испытательное оборудование. Для передачи и/или приема данных в устройствах эмуляции можно использовать прямое РЧ-соединение и/или беспроводные связи посредством РЧ-схемы (например, которая может включать одну или более антенн).
Хотя признаки и элементы описаны выше в конкретных комбинациях, специалисту в данной области будет очевидно, что каждый признак или элемент может быть использован отдельно или в любой комбинации с другими признаками и элементами. Кроме того, описанные в настоящем документе способы могут быть реализованы в компьютерной программе, программном обеспечении или программно-аппаратном обеспечении, встроенном в машиночитаемый носитель и предназначенном для исполнения компьютером или процессором. Примеры машиночитаемого носителя включают в себя электронные сигналы (переданные по проводным или беспроводным соединениям) и машиночитаемые носители информации. Примеры машиночитаемого носителя информации включают в себя, без ограничений, постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), регистр, кэш-память, полупроводниковые устройства хранения данных, магнитные носители, такие как внутренние жесткие диски и съемные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM и цифровые универсальные диски (DVD). Процессор в сочетании с программным обеспечением может быть использован для реализации радиочастотного приемопередатчика, предназначенного для применения в составе WTRU, оборудования пользователя, терминала, базовой станции, контроллера RNC и/или любого главного компьютера.