Перекрестная ссылка
Настоящая заявка испрашивает приоритет на основании предварительных заявок на патент США №. 62/802,428, поданной 7 февраля 2019 г., 62/814,611, поданной 6 марта 2019 г., и 62/883,999, поданной 15 апреля 2019 г., содержание каждой из которых включено в настоящий документ путем ссылки.
Область применения изобретения
Настоящая заявка относится к видеокодированию и, в частности, к системам, устройствам и способам, использующим уточнение интерпрогнозирования с помощью оптического потока.
Уровень техники
Системы кодирования видеосигналов широко применяют для сжатия цифровых видеосигналов для уменьшения потребностей в хранении и/или ширины полосы пропускания таких сигналов. Среди различных типов систем кодирования видеосигналов, таких как системы на основе блоков, на основе вейвлетов и на основе объектов, в настоящее время чаще всего используют и развертывают гибридные системы кодирования видеосигналов на основе блоков. Примеры систем видеокодирования на основе блоков включают международные стандарты видеокодирования, такие как 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.
Изложение сущности варианта осуществления
В одном типовом варианте осуществления способ декодирования включает: получение сигнала прогнозирования движения на основе подблоков для текущего блока видео; получение одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков или одного или более значений разницы векторов движения; получение сигнала уточнения для текущего блока на основе одного или более полученных пространственных градиентов или одного или более полученных значений разницы векторов движения; получение уточненного сигнала прогнозирования движения для текущего блока на основе сигнала прогнозирования движения на основе подблоков и сигнала уточнения; и декодирование текущего блока на основе уточненного сигнала прогнозирования движения. В настоящем документе также описаны различные другие варианты осуществления.
Краткое описание графических материалов
Более подробное объяснение содержится в подробном описании, представленном ниже в качестве примера в сочетании с прилагаемыми графическими материалами. Фигуры в описании представляют собой примеры. Таким образом, данные фигуры и подробное описание нельзя рассматривать как ограничивающие, при этом возможны и вероятны другие в равной степени эффективные примеры. Кроме того, одинаковые номера позиций на фигурах обозначают одинаковые элементы, и при этом:
на фиг. 1 представлена блок-схема, иллюстрирующая типовую систему кодирования видеосигналов на основе блоков;
на фиг. 2 представлена блок-схема, иллюстрирующая типовой видеодекодер на основе блоков;
на фиг. 3 представлена блок-схема, иллюстрирующая типовой видеокодер на основе блоков с общей поддержкой двойного прогнозирования (GBi);
на фиг. 4 представлена схема, иллюстрирующая типовой модуль Gbi для кодера;
на фиг. 5 представлена схема, иллюстрирующая типовой видеодекодер на основе блоков с поддержкой GBi;
на фиг. 6 представлена схема, иллюстрирующую типовой модуль Gbi для декодера;
на фиг. 7 представлена схема, иллюстрирующая типовой двунаправленый оптический поток;
на фиг. 8A и 8B представлены схемы, иллюстрирующие типовой четырехпараметрический аффинный режим;
на фиг. 9 представлена схема, иллюстрирующая типовой шестипараметрический аффинный режим;
на фиг. 10 представлена схема, иллюстрирующая типовую процедуру перемежающегося прогнозирования;
на фиг. 11 представлена схема, иллюстрирующая типовые весовые значения (например, связанные с пикселями) в подблоке;
на фиг. 12 представлена схема, иллюстрирующая области, в которых применяют перемежающееся прогнозирование, и другие области, в которых перемежающееся прогнозирование не применяют;
на фиг. 13А и 13B представлены схемы, иллюстрирующие процесс SbTMVP;
на фиг. 14 представлена схема, иллюстрирующая соседние блоки движения (например, блоки движения 4х4), которые могут использоваться для выведения параметра движения;
на фиг. 15 представлена схема, иллюстрирующая соседние блоки движения, которые могут использоваться для выведения параметра движения;
на фиг. 16 представлена схема, иллюстрирующая MV подблока и разность MV на уровне пикселей после прогнозирования с компенсацией аффинного движения на основе подблоков;
на фиг. 17A представлена схема, иллюстрирующая типовую процедуру определения MV, соответствующего фактическому центру подблока;
на фиг. 17B представлена схема, иллюстрирующая местоположения семплов цветности в формате цветности 4:2:0;
на фиг. 17C представлена схема, иллюстрирующая расширенный подблок прогнозирования;
на фиг. 18A представлена блок-схема, иллюстрирующая первый типовой способ кодирования/декодирования;
на фиг. 18B представлена блок-схема, иллюстрирующая второй типовой способ кодирования/декодирования;
на фиг. 19 представлена блок-схема, иллюстрирующая третий типовой способ кодирования/декодирования;
на фиг. 20 представлена блок-схема, иллюстрирующая четвертый типовой способ кодирования/декодирования;
на фиг. 21 представлена блок-схема, иллюстрирующая пятый типовой способ кодирования/декодирования;
на фиг. 22 представлена блок-схема, иллюстрирующая шестой типовой способ кодирования/декодирования;
на фиг. 23 представлена блок-схема, иллюстрирующая седьмой типовой способ кодирования/декодирования;
на фиг. 24 представлена блок-схема, иллюстрирующая восьмой типовой способ кодирования/декодирования;
на фиг. 25 представлена блок-схема, иллюстрирующая типовой способ расчета градиента;
на фиг. 26 представлена блок-схема, иллюстрирующая девятый типовой способ кодирования/декодирования;
на фиг. 27 представлена блок-схема, иллюстрирующая десятый типовой способ кодирования/декодирования;
на фиг. 28 представлена блок-схема, иллюстрирующая одиннадцатый типовой способ кодирования/декодирования;
на фиг. 29 представлена блок-схема, иллюстрирующая типовой способ кодирования;
на фиг. 30 представлена блок-схема, иллюстрирующая другой типовой способ кодирования;
на фиг. 31 представлена блок-схема, иллюстрирующая двенадцатый типовой способ кодирования/декодирования;
на фиг. 32 представлена блок-схема, иллюстрирующая тринадцатый типовой способ кодирования/декодирования;
на фиг. 33 представлена блок-схема, иллюстрирующая четырнадцатый типовой способ кодирования/декодирования;
на фиг. 34A представлена схема системы, иллюстрирующая пример системы связи, в которой могут быть реализованы один или более описанных вариантов осуществления;
на фиг. 34B представлена схема системы, иллюстрирующая пример модуля беспроводной передачи/приема (WTRU), который может быть использован в системе связи, проиллюстрированной на фиг. 34A, в соответствии с вариантом осуществления;
на фиг. 34C представлена схема системы, иллюстрирующая пример сети радиодоступа (RAN) и пример опорной сети (CN), которые могут быть использованы в системе связи, проиллюстрированной на фиг. 34A, в соответствии с вариантом осуществления; и
на фиг. 34D представлена схема системы, иллюстрирующая дополнительный пример RAN и дополнительный пример CN, которые могут быть использованы в системе связи, проиллюстрированной на фиг. 34A, в соответствии с вариантом осуществления.
Подробное описание
Процедуры гибридного видеокодирования на основе блоков
Аналогично HEVC, VVC построен на основе гибридной структуры кодирования видеосигналов на основе блоков.
На фиг. 1 представлена блок-схема, иллюстрирующая универсальную гибридную систему кодирования видеосигналов на основе блоков.
Как показано на фиг. 1, кодер 100 может быть выполнен с возможностью входного видеосигнала 102, который обрабатывается поблочно (блоки называются единицами кодирования (CU)) и может использоваться для эффективного сжатия видеосигналов высокого разрешения (1080p и выше). CU в HEVC может иметь размер до 64x64 пикселей. CU может быть дополнительно разделена на единицы прогнозирования или PU, для которых могут применяться отдельные прогнозы. Для каждого блока входного видеосигнала (MB и/или CU) может быть выполнено пространственное прогнозирование 160 и/или временное прогнозирование 162. Пространственное прогнозирование (или «интрапрогнозирование») может использовать пиксели из ранее закодированных соседних блоков в одном и том же видеоизображении/фрагменте для прогнозирования текущего видеоблока.
Пространственное прогнозирование может уменьшать пространственную избыточность, характерную для видеосигнала. Временное прогнозирование (также называемое «интерпрогнозированием» и/или «прогнозированием с компенсацией движения») для прогнозирования текущего видеоблока использует пиксели из ранее закодированных видеоизображений. Временное прогнозирование может снизить временную избыточность, характерную для видеосигнала. Сигнал временного прогнозирования для данного видеоблока может (например, обычно может) передаваться посредством одного или более векторов движения (MV), которые могут указывать величину и/или направление движения между текущим блоком (CU) и его эталонным блоком.
Если поддерживается множество эталонных изображений (как в случае последних стандартов кодирования видеосигналов, таких как H.264/AVC или HEVC), для каждого видеоблока может быть отправлен индекс его эталонного изображения (например, может быть дополнительно отправлен); и/или эталонный индекс может использоваться для идентификации того, от какого эталонного изображения в хранилище 164 эталонных изображений поступает сигнал временного прогнозирования. После пространственного и/или временного прогнозирования блок 180 принятия решения о режиме в кодере 100 может выбирать оптимальный режим прогнозирования, например, на основе способа/процедуры оптимизации зависимости искажений от скорости передачи. Блок прогнозирования либо из пространственного прогнозирования 160, либо из временного прогнозирования 162 может вычитаться из текущего видеоблока 116; и/или остаточное значение прогнозирования может декоррелироваться с использованием преобразования 104 и квантоваться 106 для достижения целевой скорости передачи в битах. Квантованные остаточные коэффициенты могут обратно квантоваться 110 и обратно преобразовываться 112 для формирования воссозданного остатка, который может добавляться назад к блоку прогнозирования в 126 для формирования воссозданного видеоблока. Далее внутрипетлевой фильтр 166, такой как деблочный фильтр и адаптивный петлевой фильтр, может применяться к воссозданному видеоблоку, прежде чем он будет помещен в хранилище 164 эталонных изображений и использован для кодирования будущих видеоблоков. Для создания выходного битового потока 120 видеоданных информацию о режиме кодирования (внутренний или внешний), информацию о режиме прогнозирования, информацию о движении и коэффициенты квантованных остатков могут отправлять (например, могут отправлять все) в блок 108 энтропийного кодирования, дополнительно сжимая и/или упаковывая их с созданием битового потока.
Кодер 100 может быть реализован с использованием процессора, запоминающего устройства и передатчика, которые предоставляют различные элементы/модули/блоки, описанные выше. Например, специалисту в данной области будет понятно, что передатчик может передавать битовый поток 120 в декодер; и что (2) процессор может быть выполнен с возможностью исполнения программного обеспечения для обеспечения приема входного видео 102 и выполнения функций, связанных с различными блоками кодера 100.
На фиг. 2 представлена блок-схема, иллюстрирующая видеодекодер на основе блоков.
Как показано на фиг. 2, видеодекодер 200 может быть обеспечен битовым видеопотоком 202, который может быть распакован и энтропийно декодирован в блоке 208 энтропийного декодирования. Режим кодирования и информация о прогнозировании могут отправляться единице 260 пространственного прогнозирования (для режима интракодирования) и/или единице 262 временного прогнозирования (для режима интеркодирования) для соответствующей единицы указанного прогнозирования для формирования блока прогнозирования. Остаточные коэффициенты преобразования могут отправляться единице 210 обратного квантования и единице 212 обратного преобразования для воссоздания остаточного блока. Восстановленный блок может дополнительно проходить через внутрипетлевое средство фильтрации 266 перед сохранением в хранилище 264 эталонных изображений. Восстановленное видео 220 может быть отправлено, например, для приведения в действие устройства отображения в дополнение к сохранению в хранилище 264 эталонных изображений для использования при прогнозировании будущих видеоблоков.
Декодер 200 может быть реализован с использованием процессора, запоминающего устройства и приемника, которые могут обеспечивать различные элементы/модули/блоки, описанные выше. Например, специалисту в данной области будет понятно, что: (1) приемник может быть выполнен с возможностью приема битового потока 202; и (2) процессор может быть выполнен с возможностью исполнения программного обеспечения для обеспечения приема битового потока 202, и вывода восстановленного видео 220, и выполнения функций, связанных с различными блоками декодера 200.
Специалисту в данной области понятно, что многие из функций/операций/процессов кодера на основе блоков и декодера на основе блоков являются одинаковыми.
В современных видеокодеках двунаправленное прогнозирование с компенсацией движения (MCP) может быть использовано для высокой эффективности при удалении временной избыточности путем использования временных корреляций между изображениями. Сигнал двойного прогнозирования может формироваться посредством комбинирования двух сигналов единого прогнозирования с использованием весового значения, равного 0,5, которое может не быть оптимальным для комбинирования сигналов единого прогнозирования, особенно при некоторых условиях, при которых освещенность быстро изменяется от одного эталонного изображения к другому. Определенные методики/операции прогнозирования и/или процедуры прогнозирования могут быть реализованы для компенсации изменения освещенности с течением времени путем применения некоторых глобальных/локальных весовых коэффициентов и/или значений смещения к значениям семплов в опорных изображениях (например, некоторых или каждом из значений выборки в опорных изображениях).
Использование двунаправленного прогнозирования с компенсацией движения (MCP) в видеокодеках позволяет удалять временные избыточности путем использования временных корреляций между изображениями. Сигнал двойного прогнозирования может формироваться посредством комбинирования двух сигналов единичного прогнозирования с использованием значения весового коэффициента (например, 0,5). В некоторых видео характеристики освещенности могут быстро изменяться от одного эталонного изображения к другому. Таким образом, методики прогнозирования могут компенсировать изменения освещенности с течением времени (например, замирание переходов) путем применения глобальных или локальных весовых коэффициентов и/или значений смещения к одному или более значениям семплов в опорных изображениях.
Обобщенное двойное прогнозирование (GBi) может улучшать MCP для режима двойного прогнозирования. В режиме двойного прогнозирования сигнал прогнозирования в семпле х, как задано, может рассчитываться с помощью уравнения 1 следующим образом:
P[x] =. (1)
В приведенном выше уравнении, P[x] может обозначать результирующий сигнал прогнозирования семпла х, находящегося в позиции изображения x. Pi[x+vi] может представлять собой сигнал прогнозирования с компенсацией движения x, использующий вектор движения (MV) vi для i-го списка (например, списка 0, списка 1 и т.д.). w0 и w1 могут представлять собой два весовых значения, совместно используемые (например, всеми) семплами в блоке. На основе этого уравнения могут быть получены различные сигналы прогнозирования путем корректировки значения весовых коэффициентов w0 и w1. Некоторые конфигурации w0 и w1 могут подразумевать то же прогнозирование, что и единичное прогнозирование и двойное прогнозирование. Например, (w0, w1) = (1, 0) может использоваться для единичного прогнозирования с опорным списком L0. (w0, w1) = (0, 1) может использоваться для единичного прогнозирования с опорным списком L1. (w0, w1) = (0,5, 0,5) может быть для двойного прогнозирования с двумя опорными списками. Весовое значение может быть сигнализировано для каждого CU. Для уменьшения служебных данных сигнализации может быть применено ограничение, такое как w0 + w1 = 1, с возможностью сигнализации одного весового коэффициента. Таким образом, уравнение 1 может быть дополнительно упрощено следующим образом, как показано в уравнении 2:
P[x] =. (2)
Для дополнительного уменьшения объема служебных данных сигнализации w1 может быть дискретизировано (например, -2/8, 2/8, 3/8, 4/8, 5/8, 6/8, 10/8 и т.д.). Затем каждое весовое значение может быть указано индексным значением в пределах (например, малого) ограниченного диапазона.
На фиг. 3 представлена блок-схема, иллюстрирующая типовой видеокодер на основе блоков с поддержкой GBi.
Кодер 300 может включать в себя модуль 304 принятия решений о режиме, модуль 306 пространственного прогнозирования, модуль 308 прогнозирования движения, модуль 310 преобразования, модуль 312 квантования, модуль 316 обратного квантования, модуль 318 обратного преобразования, петлевой фильтр 320, хранилище 322 эталонных изображений и модуль 314 энтропийного кодирования. Некоторые или все модули или компоненты кодера (например, модуль 306 пространственного прогнозирования) могут быть такими же или сходными с модулями, описанными в связи с фиг. 1. Кроме того, модуль 306 пространственного прогнозирования и модуль 308 прогнозирования движения могут представлять собой модули прогнозирования в пиксельной области. Таким образом, входной битовый видеопоток 302 может обрабатываться аналогичным образом, как и входной битовый видеопоток 102, хотя модуль 308 прогнозирования движения может дополнительно включать в себя поддержку GBi. Таким образом, модуль 308 прогнозирования движения может комбинировать два отдельных сигнала прогнозирования с усреднением по весовому коэффициенту. Выбранный весовой индекс может быть дополнительно передан в выходном битовом видеопотоке 324.
Кодер 300 может быть реализован с использованием процессора, запоминающего устройства и передатчика, которые предоставляют различные элементы/модули/блоки, описанные выше. Например, специалисту в данной области будет понятно, что передатчик может передавать битовый поток 324 в декодер; и что (2) процессор может быть выполнен с возможностью исполнения программного обеспечения для обеспечения приема входного видео 302 и выполнения функций, связанных с различными блоками кодера 300.
На фиг. 4 представлена схема, иллюстрирующая типовой модуль 400 оценки GBi, который может использоваться в модуле прогнозирования движения кодера, таком как модуль 308 прогнозирования движения. Модуль 400 оценки GBi может содержать модуль 402 оценки весовых значений и модуль 404 анализа движения. Таким образом, модуль 400 оценки GBi может использовать процесс (например, двухступенчатый этап/процесс) для генерирования сигнала интерпрогнозирования, такого как конечный сигнал интерпрогнозирования. Модуль 404 оценки движения может выполнять оценку движения с использованием входного видеоблока 401 и одного или более эталонных изображений, принятых из хранилища 406 эталонных изображений, и посредством поиска двух оптимальных векторов движения (MV), указывающих на (например, два) эталонных блока. Модуль 402 оценки весового значения может принимать: (1) выходной сигнал модуля 404 оценки движения (например, векторов движения v0 и v1), одно или более эталонных изображений из хранилища 406 эталонных изображений и информацию о весовом коэффициенте W и может искать оптимальный индекс весового коэффициента для сведения к минимуму взвешенной ошибки двойного прогнозирования между текущим видеоблоком и двойным прогнозированием. Предполагается, что информация о весовом коэффициенте W может описывать список доступных весовых значений или наборов весовых наборов значений таким образом, что определенный индекс весового коэффициента и информация о весовом коэффициенте W вместе могут быть использованы для указания весов w0 и w1, которые будут использованы в GBi. Сигнал прогнозирования для обобщенного двойного прогнозирования может рассчитываться как средневзвешенное значение для двух блоков прогнозирования. Выходной сигнал модуля 400 оценки GBi может включать в себя, помимо прочего, сигнал интерпрогнозирования, векторы движения v0 и v1 и/или весовой индекс weight_idx).
На фиг. 5 представлена схема, иллюстрирующая типовой видеодекодер на основе блоков с поддержкой GBi, который может декодировать битовый поток 502 (например, от кодера), поддерживающий GBi, такой как битовый поток 324, генерируемый кодером 300, описанным со ссылкой на фиг. 3. Как показано на фиг. 5, видеодекодер 500 может включать в себя энтропийный декодер 504, модуль 506 пространственного прогнозирования, модуль 508 прогнозирования движения, хранилище 510 эталонных изображений, модуль 512 обратного квантования, модуль 514 обратного преобразования и/или модуль 518 петлевого фильтра. Некоторые или все модули декодера могут быть такими же или сходными с модулями, описанными со ссылкой на фиг. 2, хотя модуль 508 прогнозирования движения может дополнительно включать в себя поддержку GBi. Таким образом, информация о режиме кодирования и прогнозирования может использоваться для выведения сигнала прогнозирования с использованием пространственного прогнозирования или MCP с поддержкой GBi. Для GBi информация о движении блоков и весовое значение (например, в форме индекса, указывающего весовое значение) может приниматься и декодироваться для генерирования блока прогнозирования.
Декодер 500 может быть реализован с использованием процессора, запоминающего устройства и приемника, которые могут обеспечивать различные элементы/модули/блоки, описанные выше. Например, специалисту в данной области будет понятно, что: (1) приемник может быть выполнен с возможностью приема битового потока 502; и (2) процессор может быть выполнен с возможностью исполнения программного обеспечения для обеспечения приема битового потока 502, и вывода восстановленного видео 520, и выполнения функций, связанных с различными блоками декодера 500.
На фиг. 6 представлена схема, иллюстрирующая типовой модуль прогнозирования GBi, который может использоваться в модуле прогнозирования движения декодера, таком как модуль 508 прогнозирования движения.
Как показано на фиг. 6, модуль прогнозирования GBi может включать в себя модуль 602 взвешенного усреднения и модуль 604 компенсации движения, который может принимать одно или более эталонных изображений из хранилища 606 эталонных изображений. Модуль 602 взвешенного усреднения может принимать выходной сигнал модуля 604 компенсации движения, информацию о весовом коэффициенте W и весовой индекс (например, weight_idx). Выходной сигнал модуля 604 компенсации движения может включать в себя информацию о движении, которая может соответствовать блокам изображения. Модуль 600 прогнозирования GBi может использовать информацию о блочном движении и весовое значение для вычисления сигнала прогнозирования GBi (например, сигнал 608 интерпрогнозирования) как средневзвешенное значение для (например, двух) блоков прогнозирования с компенсацией движения.
Типовое двунаправленное прогнозирование на основе модели оптического потока
На фиг. 7 представлена схема, иллюстрирующая типовой двунаправленый оптический поток.
Как показано на фиг. 7, двунаправленное прогнозирование может быть основано на модели оптического потока. Например, прогнозирование, связанное с текущим блоком (например, curblk 700), может основываться на оптическом потоке, связанном с первым блоком прогнозирования 702 (например, предыдущий по времени блок прогнозирования, например, сдвинут во времени с помощью ) и вторым блоком прогнозирования 704 (например, блок временного будущего, например, сдвинут во времени с помощью ). Двойное прогнозирование в видеокодировании может представлять собой комбинацию двух блоков 702 и 704 временного прогнозирования, полученных из эталонных изображений, которые уже восстановлены. Из-за ограничения компенсации движения (MC) на основе блоков может оставаться небольшое движение, которое может наблюдаться между семплами двух блоков прогнозирования, что может снижать эффективность прогнозирования с компенсацией движения. Двунаправленный оптический поток (BIO, или BDOF) может применяться для уменьшения воздействий такого движения для каждого семпла внутри одного блока. BIO может представлять собой посемпловое уточнение движения, которое может выполняться в дополнение к прогнозированию с компенсацией движения на основе блоков при использовании двойного прогнозирования. Для BIO выведение уточненного вектора движения для каждого семпла в одном блоке может основываться на классической модели оптического потока. Например, где - это значение семпла в координате (x, y) блока прогнозирования, выведенного из списка эталонных изображений k (k = 0, 1), и и представляют собой горизонтальные и вертикальные градиенты семпла, с учетом модели оптического потока, уточнение движения в (x, y) может выводиться с помощью уравнения 3 следующим образом:
. (3)
На фиг. 7, (MVx0, MVy0), связанное с первым блоком 702 прогнозирования, и (MVx1, MVy1), связанное со вторым блоком 704 прогнозирования, обозначают векторы движения на уровне блоков, которые могут использоваться для генерирования двух блоков прогнозирования и . Уточнение движения в местоположении семпла (x, y) может быть рассчитано посредством минимизации расстояния ∆ между значениями семплов после компенсации уточнения движения (например, A и B на фиг. 7), как показано в уравнении 4:
. (4)
Например, для обеспечения регулярности выведенного уточнения движения предполагается, что уточнение движения согласуется с семплами в одной малой единице (например, блоке 4х4 или других малых единицах). В наборе контрольных показателей (BMS)-2.0 значение получают путем сведения к минимуму ∆ внутри окна Ω 6x6 вокруг каждого блока 4x4, как показано в уравнении 5:
. (5)
Для решения оптимизации, указанной в уравнении 5, BIO может использовать прогрессивный способ/операцию/процедуру, которая может оптимизировать уточнение движения в горизонтальном направлении и в вертикальном направлении (например, затем в вертикальном направлении). Это может быть представлено в следующем виде в уравнениях/неравенствах 6 и 7:
, (6)
, (7)
где может представлять собой функцию округления до ближайшего целого в меньшую сторону, которая может выводить наибольшее значение, которое меньше или равно входным данным, а может представлять собой порог уточнения движения, например, для предотвращения распространения ошибки вследствие кодирования шума и/или неправильного локального движения, которое равно . Далее значения , , , и могут быть вычислены по уравнениям 8–12 следующим образом:
, (8)
, (9)
, (10)
, (11)
, (12)
где различные градиенты могут быть представлены в уравнениях 13–15 следующим образом:
, (13)
, (14)
. (15)
Например, в BMS-2.0, градиенты BIO в уравнениях 13–15 как в горизонтальном, так и в вертикальном направлениях могут быть напрямую получены посредством расчета разницы между двумя соседними семплами (например, горизонтально или вертикально в зависимости от направления выводимого градиента) в одной позиции семпла каждого блока прогнозирования L0/L1, как показано в уравнениях 16 и 17:
, (16)
, (17)
.
В уравнениях 8–12 L может представлять собой увеличение битовой глубины для внутреннего процесса/процедуры BIO для поддержания точности данных, например, которая может быть установлена на 5 в BMS-2.0. Во избежание деления на меньшее значение корректирующие параметры r и m в уравнениях 6 и 7 могут быть определены следующим образом в уравнениях 18 и 19:
, (18)
, (19)
где BD может представлять собой битовую глубину входного видеосигнала. На основе уточнения движения, выведенного из уравнений 4 и 5, конечный сигнал двойного прогнозирования текущей CU может рассчитываться посредством интерполяции семплов прогнозирования L0/L1 вдоль траектории движения на основе уравнения оптического потока 3, как показано в уравнениях 20 и 21:
, (20)
, (21)
где и могут представлять собой сдвиг вправо и смещение, которые могут применяться для комбинирования сигналов прогнозирования L0 и L1 для двойного прогнозирования, например, которые могут быть установлены равными и соответственно. представляет собой функцию округления, которая может округлять входное значение до ближайшего целого значения.
Типовой аффинный режим
В HEVC для прогнозирования с компенсацией движения применяется трансляционная модель движения (только трансляционная модель движения). В реальном мире существует множество видов движения (например, увеличение/уменьшение масштаба, вращение, перспективные движения и другие неоднородные движения). В испытательной модели VVC (VTM)-2.0 применяется аффинное прогнозирование с компенсацией движения. Модель аффинного движения является моделью либо с 4 параметрами, либо с 6 параметрами. Для каждого CU с внешним кодированием сигнализируют первый флаг, указывающий, какая именно модель движения применяется для интерпрогнозирования, трансляционная или аффинная. При применении аффинной модели движения посылается второй флаг для указания того, является ли модель моделью с 4 параметрами или с 6 параметрами.
Модель аффинного движения с 4 параметрами движения имеет следующие параметры: два параметра описывают поступательное перемещение в горизонтальном и вертикальном направлениях, один параметр описывает движение масштабирования в обоих направлениях и один параметр описывает вращательное движение в обоих направлениях. Параметр горизонтального масштабирования равен параметру вертикального масштабирования. Параметр горизонтального вращения равен параметру вертикального вращения. Модель аффинного движения по четырем параметрам кодируется в VTM с использованием двух векторов движения в двух положениях контрольных точек, заданных в левом верхнем углу 810 и правом верхнем углу 820 текущего CU. Также возможны другие положения контрольных точек, например, на других углах и/или краях текущего CU.
Хотя выше описана одна модель аффинного движения, в равной степени возможны и другие аффинные модели движения, которые могут использоваться в различных вариантах осуществления настоящего изобретения.
На фиг. 8A и 8B представлены схемы, иллюстрирующие типовую аффинную модель с четырьмя параметрами и выведение движения на уровне подблоков для аффинных блоков. Как показано на фиг. 8A и 8B, поле аффинного движения блока описывается двумя векторами движения контрольной точки в первой контрольной точке 810 (в верхнем левом углу текущего блока) и во второй контрольной точке 820 (в верхнем правом углу текущего блока) соответственно. На основе движения контрольной точки описано поле (vx, vy) движения блока, закодированного с применением аффинного алгоритма, как показано в уравнениях 22 и 23:
, (22)
, (23)
где (v0x, v0y) может быть вектором движения контрольной точки 810 в левом верхнем углу, а (v1x, v1y) может быть вектором движения контрольной точки 820 в правом верхнем углу, как показано на фиг. 8A, и w может быть шириной CU. Например, в VTM-2.0 поле движения CU с аффинным кодированием выводится на уровне блока 4х4; то есть (vx, vy) получают для каждого из блоков 4x4 в текущей CU и применяют к соответствующему блоку 4x4.
Четыре параметра аффинной модели с 4 параметрами можно рассчитать итерационно. На стадии k пары MV обозначают как {,, исходный сигнал (например, сигнал яркости) как , сигнал прогнозирования (например, сигнал яркости) как . Пространственный градиент и можно получить с помощью фильтра Собеля, примененного к сигналу прогнозирования , например, в горизонтальном и/или вертикальном направлении, соответственно. Производная уравнения 3 может быть представлена, как показано в уравнениях 24 и 25:
где (a, b) могут быть параметрами дельта-вектора поступательного перемещения, а (c, d) могут быть параметрами дельта-вектора масштабирования и вращения на стадии k. Дельта MV в контрольных точках может быть получена по ее координатам, как показано в уравнениях 26–29. Например, (0, 0), (w, 0) могут представлять собой координаты для верхних левых и верхних правых контрольных точек 810 и 820 соответственно.
На основании уравнения оптического потока соотношение между изменением интенсивности (например, яркости) и пространственным градиентом и временными характеристиками движения можно представить следующим уравнением 30:
. (30)
Замещая и уравнениями 24 и 25, получают уравнение 31 для параметра (a, b, c, d) в следующем виде:
. (31)
Поскольку семплы (например, все семплы) в CU удовлетворяют уравнению 31, набор параметров (например, a, b, c, d) может быть решен с использованием, например, метода наименьших квадратов ошибок. MV в двух контрольных точках {, на этапе (k+1) можно решить с помощью уравнений 26–29, и они могут быть округлены до конкретной точности (например, помимо прочего, 1/4 пиксельной точности (pel) или другой субпиксельной точности). Используя итерацию, MV в двух контрольных точках могут уточняться, например, до конвергенции (например, когда все параметры (a, b, c, d) являются нулями или время итерации соответствует заданному пределу).
На фиг. 9 представлена схема, иллюстрирующая типовой аффинный режим с шестью параметрами, в котором, например, V0, V1, и V2 являются векторами движения в контрольных точках 910, 920 и 930 соответственно, а (MVx, MVy) является вектором движения подблока с центром в положении (x, y).
Как показано на фиг. 9, модель аффинного движения (например, с 6 параметрами) может иметь любой из следующих параметров: (1) параметр поступательного перемещения в горизонтальном направлении; (2) параметра поступательного перемещения в вертикальном направлении, (3) параметра масштабирования движения в горизонтальном направлении; (4) параметр вращательного движения в горизонтальном направлении, (5) параметр масштабирования движения в вертикальном направлении и/или (6) параметр вращательного движения в вертикальном направлении. Модель аффинного движения с 6 параметрами может кодироваться тремя MV в трех контрольных точках 910, 920 и 930. Как показано на фиг. 9, три контрольные точки 910, 920 и 930 для CU для аффинной кодировкой по 6 параметрам определены в верхнем левом, верхнем правом и нижнем левом углу CU соответственно. Движение в верхней левой контрольной точке 910 может быть связано с поступательным движением, а движение в верхней правой контрольной точке 920 может быть связано с поворотным движением в горизонтальном направлении и/или с масштабирующим движением в горизонтальном направлении, и движение в нижней левой контрольной точке 930 может быть связано с вращением в вертикальном направлении и/или масштабированием движения в вертикальном направлении. Для модели аффинного движения с 6 параметрами поворотное движение и/или масштабирующее движение в горизонтальном направлении могут не совпадать с такими же движениями в вертикальном направлении. Вектор движения каждого подблока (vx, vy) может выводиться с использованием трех MV в контрольных точках 910, 920 и 930, как представлено в уравнениях 32 и 33:
, (32)
, (33)
где (v2x, v2y) может быть вектором движения V2 нижней левой контрольной точки 930, (x, y) может быть центральной позицией подблока, w может быть шириной CU, а h может быть высотой CU.
Шесть параметров аффинной модели с 6 параметрами можно рассчитать аналогичным образом. Уравнения 24 и 25 могут быть изменены, как показано в уравнениях 34 и 35.
где (a, b) могут представлять собой дельта-параметры поступательного движения, (c, d) могут представлять собой дельта-параметры масштабирования и вращения для горизонтального направления, а (e, f) могут представлять собой дельта-параметры масштабирования и вращения для вертикального направления на шаге k. Уравнение 31 может быть изменено в соответствии с уравнением 36 следующим образом:
. (36)
Набор параметров (a, b, c, d, e, f) может быть определен, например, с использованием метода наименьших квадратов/процедуры/операции с учетом семплов (например, всех семплов) в CU. MV верхней левой контрольной точки может быть рассчитан по уравнениям 26–29. MV верхней правой контрольной точки может быть рассчитан по уравнениям 37 и 38 следующим образом. MV нижней левой контрольной точки может быть рассчитан с помощью уравнений 39 и 40, как изложено ниже.
Хотя аффинные модели с 4 и 6 параметрами показаны на фиг. 8A, 8B и 9, специалисту в данной области понятно, что в равной степени возможно использование аффинной модели с различным количеством параметров и/или различными опорными точками.
Хотя в настоящем документе описаны аффинные модели в сочетании с уточнением оптического потока, специалисту в данной области понятно, что в равной степени возможны и другие модели движения в сочетании с уточнением оптического потока.
Типовое перемежающееся прогнозирование для компенсации аффинного движения
При компенсации аффинного движения (AMC), например, в VTM, блок кодирования делится на подблоки всего лишь 4х4, каждому из которых может присваиваться отдельный вектор движения (MV), выведенный аффинной моделью, например, как показано на фиг. 8A и 8B или фиг. 9. При использовании аффинной модели с 4 и 6 параметрами MV может быть получен из MV двух или трех контрольных точек.
AMC может столкнуться с дилеммой, связанной с размером подблоков. При меньших подблоках AMC может обеспечить лучшую эффективность кодирования, но может испытывать нагрузку, связанную с более высокой сложностью.
На фиг. 10 представлена схема, иллюстрирующая типовую процедуру перемежающегося прогнозирования, с помощью которой можно достичь более точной гранулярности MV, например, при обмене данными с умеренным увеличением сложности.
На фиг. 10 блок 1010 кодирования может быть разделен на подблоки с двумя различными паттернами разделения (например, первым и вторым паттерном 0 и 1). Первый паттерн разделения 0 (например, первый паттерн подблоков, например, паттерн подблоков 4х4) может быть такой же, как в VTM, а второй паттерн разделения 1 (например, перекрывающийся и/или перемежающийся второй паттерн подблоков) может разделять блок кодирования 1010 на подблоки 4х4 со смещением 2х2 от первого паттерна разделения 0, как проиллюстрировано на фиг. 10. Количество вспомогательных прогнозирований (например, два вспомогательных прогнозирования P0 и P1) может генерироваться AMC с двумя паттернами разделения (например, первым и вторым паттерном разделения 0 и 1). MV для каждого подблока в каждом из паттернов разделения 0 и 1 может выводиться из векторов движения контрольной точки (CPMV) аффинной моделью.
Конечное прогнозирование P может рассчитываться как весовая сумма вспомогательных прогнозирований (например, два вспомогательных прогнозирования P0 и P1), составленная в соответствии с уравнениями 41 и 42 следующим образом:
На фиг. 11 представлена схема, иллюстрирующая типовые весовые значения (например, связанные с пикселями) в подблоке. Как показано на фиг. 11, вспомогательный семпл прогнозирования, расположенный в центре (например, центральные пиксели) подблока 1100, может быть связан с весовым значением 3, а вспомогательный семпл прогнозирования, расположенный на границе подблока 1100, может быть связан с весовым значением 1.
На фиг. 12 представлена схема, иллюстрирующая области, в которых применяют перемежающееся прогнозирование, и другие области, в которых перемежающееся прогнозирование не применяют. Как показано на фиг. 12, область 1200 может включать в себя первую область 1210 (показана на фиг. 12 не заштрихованной), например, имеющую подблоки 4х4, в которых применяют перемежающееся прогнозирование, и вторую область 1220 (показана на фиг. 12 заштрихованной), например, в которой перемежающееся прогнозирование не применяют. Во избежание компенсации движения маленького блока перемежающееся прогнозирование может применяться только к областям, где размер подблоков соответствует пороговому размеру (например, составляет 4х4), например, как для первого, так и для второго паттернов разделения.
В VTM-3.0 размер подблоков на компонентах цветности может составлять 4х4, а перемежающееся прогнозирование может быть применено к компонентам цветности и/или компоненту яркости. Ширина полосы пропускания может не увеличиваться за счет перемежающегося прогнозирования, поскольку область, используемая для выполнения компенсации движения (MC) для подблоков (например, всех подблоков), может собираться вместе как целое в AMC. Для гибкости флаг может быть сигнализирован в заголовке фрагмента для указания того, используется перемежающееся прогнозирование или нет. Для перемежающегося прогнозирования флаг может быть сигнализирован как 1-битовый флаг (например, первый логический уровень, который может всегда быть сигнализирован как 0 или 1).
Типовые процедуры для временного прогнозирования вектора движения на основе подблоков (SbTMVP)
SbTMVP поддерживается VTM. Аналогично временному прогнозированию вектора движения (TMVP) в HEVC, SbTMVP может использовать поле движения в совмещенном изображении, например, для улучшения прогнозирования вектора движения и режима объединения для CU в текущем изображении. Для SbTMVP может быть использовано то же совмещенное изображение, что и TMVP. SbTMVP может отличаться от TMVP, среди прочего, следующим: (1) TMVP может прогнозировать движение на уровне CU, а SbTMVP может прогнозировать движение на уровне подблока CU; и/или (2) TMVP может вызывать временные векторы движения из совмещенного блока в совмещенном изображении (например, совмещенный блок может представлять собой нижний правый или центральный блок относительно текущей CU), а SbTMVP может применять сдвиг движения перед получением временной информации о движении из совмещенного изображения (например, сдвиг движения может быть получен из вектора движения из одного из пространственных соседних блоков текущей CU).
На фиг. 13А и 13B представлены схемы, иллюстрирующие процесс SbTMVP. На фиг. 13A показаны пространственные соседние блоки, используемые ATMVP, а на фиг. 13B показано выведение поля движения подблока CU посредством применения сдвига движения от пространственного соседа и масштабирования информации о движении от соответствующих совмещенных подблоков CU.
Как показано на фиг. 13A и 13B, SbTMVP могут прогнозировать векторы движения подблока CU в текущих операциях CU (например, в двух операциях). В первой операции пространственные соседние блоки A1, B1, B0 и A0 могут быть исследованы в порядке A1, B1, B0 и A0. Как только и/или после того как первый пространственный соседний блок, имеющий вектор движения, который применяет совмещенное изображение в качестве его эталонного изображения, идентифицируется, такой вектор движения может быть выбран в качестве применяемого сдвига движения. Если такое движение не идентифицируется из пространственных соседних блоков, то сдвиг движения может быть установлен в (0, 0). Во второй операции можно применять сдвиг движения, идентифицированный в первой операции (например, добавленный к координатам текущего блока) для получения информации о движении уровня подблока CU (например, векторы движения и эталонные индексы) из совмещенного изображения, как представлено на фиг. 13В. Пример на фиг. 13B иллюстрирует сдвиг движения, установленный для блока движения A1. Для каждого подблока CU информация о движении соответствующего блока (например, наименьшая сетка движения, которая покрывает центральный семпл) в совмещенном изображении может использоваться для выведения информации о движении для подблока CU. После идентификации информации о движении совмещенных подблоков CU информация о движении может преобразовываться в векторы движения и эталонные индексы текущего подблока CU таким же образом, как и процесс TMVP HEVC. Например, временное масштабирование движения может применяться для совмещения эталонных изображений временных векторов движения с изображениями текущей CU.
Комбинированный список объединений на основе подблоков может использоваться в VTM-3 и может содержать или включать в себя SbTMVP и кандидатов на аффинное объединение, например, для использования для сигнализации режима объединения на основе подблоков. Режим SbTMVP может быть активирован/деактивирован флагом набора параметров последовательности (SPS). Если включен режим SbTMVP, прогностический фактор SbTMVP может быть добавлен в качестве первой записи списка кандидатов на основе объединения подблоков с последующим добавлением кандидатов на аффинное объединение. Размер списка объединения на основе подблоков может быть сигнализирован в SPS, а максимально допустимый размер списка объединения на основе подблоков может быть целым числом, например, 5 в VTM3.
Размер подблока CU, используемый в SbTMVP, может быть фиксированным, например, 8х8 или другой размер подблока CU, и, как это происходит для режима аффинного объединения, режим SbTMVP можно применять (например, можно применять исключительно) к CU как с шириной, так и с высотой, которые могут быть больше или равны 8.
Логическая схема кодирования дополнительного кандидата на объединение SbTMVP может быть такой же, как и для других кандидатов на объединение. Например, для каждого CU в фрагменте P или B может быть выполнена дополнительная проверка скорости искажения (RD) для принятия решения о том, использовать ли кандидат SbTMVP.
Типовое поле вектора движения на основе регрессии
Для обеспечения малой гранулярности векторов движения внутри блока может применяться инструмент поля движения на основе регрессии (RMVF) (например, в JVET-M0302), который может попытаться моделировать векторы движения каждого блока на уровне подблоков на основе пространственно соседних векторов движения.
На фиг. 14 представлена схема, иллюстрирующая соседние блоки движения (например, 4×4 блока движения), которые могут использоваться для выведения параметра движения. Одна строка 1410 и один столбец 1420 непосредственно соседних векторов движения на основе подблоков 4х4 (и их центральные местоположения) с каждой стороны блока могут использоваться в процессе регрессии. Например, соседние векторы движения могут использоваться в выведении параметра движения RMVF.
На фиг. 15 представлена схема, иллюстрирующая соседние блоки движения, которые могут использоваться для выведения параметра движения с целью уменьшения соседней информации о движении (например, количество соседних блоков движения, которые будут использоваться в процессе регрессии относительно фиг. 14, может уменьшаться). Сокращенная величина соседней информации о движении для выведения параметра RMVF соседних блоков движения 4х4 может использоваться для выведения параметра движения (например, около половины, например, почти каждый второй соседний блок движения может использоваться для выведения параметра движения). Некоторые соседние блоки движения строки 1410 и столбца 1420 могут выбираться, определяться или предопределяться для сокращения соседней информации о движении.
Хотя около половины соседних блоков движения строки 1410 и столбца 1420 показаны в качестве выбранных, могут выбираться другие процентные доли (с другими местоположениями блоков движения), например, для сокращения числа соседних блоков движения, которые будут использоваться в процессе регрессии.
При сборе информации о движении для выведения параметра движения могут использоваться пять областей (например, снизу слева, слева, сверху слева, сверху, сверху справа), как показано на фигурах. Верхняя правая и нижняя левая эталонные области движения могут ограничиваться половиной (например, только половиной) соответствующей ширины или высоты текущего блока.
В режиме RMVF движение блока может определяться моделью движения с 6 параметрами. Эти параметры , , , , и можно рассчитать, решая модель линейной регрессии в значении среднеквадратичной ошибки (MSE). Входные данные для модели регрессии могут состоять из или включать в себя центральные местоположения (x, y) и/или векторы движения ( и ) доступных соседних подблоков 4х4, как определено выше.
Вектор движения (, ) для подблока 8х8 с центральным местоположением в (, ) может рассчитываться, как представлено в уравнении 43:
. (43)
Векторы движения могут рассчитываться для подблоков 8х8 относительно центрального местоположения подблоков (например, каждого подблока). Например, компенсация движения может применяться с точностью 8х8 подблоков в режиме RMVF. Для обеспечения эффективного моделирования поля вектора движения инструмент RMVF применяется только в случаях, когда имеется по меньшей мере один вектор движения из по меньшей мере трех потенциальных областей.
Параметры аффинной модели движения могут использоваться для выведения вектора движения определенных пикселей (например, каждого пикселя) в CU. Хотя сложность генерирования прогнозирования на основе пикселей с компенсацией аффинного движения может быть высокой (например, очень высокой), а также поскольку требование к ширине полосы доступа к памяти для этого типа MC на основе семплов может быть высокой, может применяться процедура/способ компенсации аффинного движения на основе подблоков (например, посредством VVC). Например, CU может разделяться на подблоки (например, подблоки 4х4, квадратные подблоки и/или подблок неквадратной формы). Каждому из подблоков может быть присвоен MV, который может быть получен из параметров аффинной модели. MV может представлять собой MV в центре подблока (или другом местоположении в подблоке). Пиксели в подблоке (например, все пиксели в подблоке) могут совместно использовать MV подблок. Компенсация аффинного движения на основе подблоков может представлять собой компромисс между эффективностью кодирования и сложностью. Для достижения более тонкой гранулярности компенсации движения может реализовываться перемежающееся прогнозирование для компенсации аффинного движения, которое может генерироваться взвешенным усреднением двух прогнозирований с компенсацией движения подблоков. Перемежающееся прогнозирование может потребовать и/или использовать два или более прогнозирования с компенсацией движения на подблок и, таким образом, может увеличивать пропускную способность памяти и сложность.
В определенных типовых вариантах осуществления могут применяться способы, устройства, процедуры и/или операции для уточнения прогнозирования с компенсацией аффинного движения на основе подблоков с помощью оптического потока (например, с использованием и/или на основе оптического потока). Например, после выполнения компенсации аффинного движения на основе подблоков интенсивность пикселя может уточняться путем добавления значения разницы, выведенного с помощью уравнения оптического потока, которое называется уточнением прогнозирования с помощью оптического потока (PROF). PROF может достигать гранулярности на уровне пикселей без значительного увеличения сложности и может поддерживать ширину полосы доступа к памяти, в наихудшем случае сопоставимую с компенсацией аффинного движения на основе подблоков. PROF может применяться в любом сценарии, где доступно поле вектора движения на уровне пикселей (например, может рассчитываться) в дополнение к сигналу прогнозирования (например, неуточненному сигналу прогнозирования движения и/или сигналу прогнозирования движения на основе подблоков). В дополнение к аффинному режиму или помимо него процедуры прогнозирования PROF могут использоваться в других режимах прогнозирования подблоков. Может быть реализовано применение PROF в режимах подблоков, таких как SbTMVP и/или RMVF. В настоящем документе описано применение PROF для двойного прогнозирования.
Типовые процедуры PROF для аффинного режима
В определенных типовых вариантах осуществления способы, устройства и/или процедуры могут применяться для улучшения гранулярности прогнозирования с компенсацией аффинного движения на основе подблоков, например, путем применения изменения пиксельной интенсивности, выведенной из оптического потока (например, уравнение оптического потока), и может использовать и/или испытывать потребность в одной операции компенсации движения на подблок (например, только одна операция компенсации движения на подблок), которая совпадает с существующей компенсацией аффинного движения, например, в VVC.
На фиг. 16 представлена схема, иллюстрирующая MV подблока и разность векторов движения на уровне пикселей (например, также иногда называемая уточнением MV для пикселя) после прогнозирования с компенсацией аффинного движения на основе подблоков.
Как показано на фиг. 16, CU 1600 может включать в себя подблоки 1610, 1620, 1630 и 1640. Каждый подблок 1610, 1620, 1630 и 1640 может включать в себя множество пикселей (например, 16 пикселей в подблоке 1610). Проиллюстрирован MV 1650 подблока (например, крупный или средний MV подблока), связанный с каждым пикселем 1660 (i,j) подблока 1610. Для каждого соответствующего пикселя (i,j) в подблоке 1610 может определяться уточнение MV 1670 (i,j) (которое может указывать на разность между фактическим MV пикселя 1660 (i,j) и подблоком MV 1650 (где (i,j) определяет положение пикселя в подблоке 1610). Для ясности на фиг. 16 отмечено только уточнение MV 1670 (1,1), хотя показаны и другие отдельные движения на уровне пикселей. В определенных типовых вариантах осуществления уточнение MV 1670 (i,j) может определяться как разность векторов движения на уровне пикселей (иногда называемая разницей векторов движения).
В определенных типовых вариантах осуществления могут быть реализованы способы, устройства, процедуры и/или операции, которые включают в себя любую из следующих операций:
(1) в первой операции: AMC на основе подблоков может выполняться, как описано в настоящем документе, для генерирования прогнозирования движения на основе подблоков I(i,j);
(2) во второй операции: могут рассчитываться пространственные градиенты и прогнозирования движения на основе подблоков I(i,j) в каждом местоположении семпла (в одном примере пространственные градиенты могут генерироваться с использованием того же процесса, что и градиентная генерация, используемая в BDOF. Например, горизонтальный градиент в местоположении семпла может рассчитываться как разность между его правым соседним семплом и его левым соседним семплом, и/или вертикальный градиент в местоположении семпла может рассчитываться как разность между его нижним соседним семплом и его верхним соседним семплом. В другом примере пространственные градиенты могут генерироваться с помощью фильтра Собеля);
(3) в третьей операции можно рассчитать изменение интенсивности яркости на пиксель в CU с использованием и/или с помощью уравнения оптического потока, например, как представлено в уравнении 44:
, (44)
где значение разницы векторов движения представляет собой разность 1670 между MV на уровне пикселя, рассчитанном для местоположения семпла , обозначенном , и уровнем MV 1650 на уровне подблока, который покрывает пиксель 1660 , как показано на фиг. 16. MV на уровне пикселя может быть получен из контрольных точек MV помощью уравнений 22 и 23 для аффинной модели с 4 параметрами или с помощью уравнений 32 и 33 для аффинной модели с 6 параметрами.
В определенных типовых вариантах осуществления значение разности векторов движения может выводиться параметром аффинной модели при помощи или с использованием уравнений 24 и 25, где x и y могут представлять собой смещение от местоположения пикселя до центра подблока. Поскольку параметры аффинной модели и смещения пикселей не изменяются от подблока к подблоку, значение разницы векторов движения может рассчитываться для первого подблока и повторно использоваться в других подблоках в той же CU. Например, разность между MV на уровне пикселей и MV на уровне подблоков может рассчитываться с использованием уравнений 45 и 46 следующим образом, поскольку трансляционные аффинные параметры (a, b) могут быть одинаковыми для MV на уровне пикселей и MV на уровне подблока. (c, d, e, f) могут быть четырьмя дополнительными аффинными параметрами (например, четырьмя аффинными параметрами, отличными от трансляционных аффинных параметров)
где (i, j) может представлять собой местоположение пикселя относительно верхней левой позиции подблока, (, ) может представлять собой центральную позицию подблока относительно верхней левой позиции подблока.
На фиг. 17A представлена схема, иллюстрирующая типовую процедуру определения MV, соответствующего фактическому центру.
Как показано на фиг. 17A, два подблока SB0 и SB1 представлены как подблоки 4х4. Если ширина подблока равна SW, а высота подблока равна SH, центральная позиция подблока может обозначаться как ((SW-1)/2, (SH-1)/2). В других примерах центральная позиция подблока может рассчитываться на основе позиции, представленной как (SW/2, SH/2). Фактическая центральная точка для первого подблока SB0 равна P0', а для второго подблока SB1 равна P1', при использовании ((SW-1)/2, (SH-1)/2). Расчетная центральная точка для первого подблока SB0 равна P0, а для второго подблока SB1 равна P1, при использовании, например, (SW/2, SH/2) (например, в VVC). В определенных типовых вариантах осуществления MV подблока может быть более точно основан на фактической центральной позиции, а не на расчетной центральной позиции (которая используется в VVC).
На фиг. 17B представлена схема, иллюстрирующая местоположения выборок цветности в формате цветности 4:2:0. Как показано на фиг. 17B, MV подблока цветности может быть получен с помощью MV подблоков яркости. Например, в формате цветности 4:2:0 один подблок цветности 4х4 может соответствовать области яркости 8х8. Хотя типовые варианты осуществления показаны в сочетании с форматом цветности 4:2:0, специалисту в данной области понятно, что могут быть равнозначно использованы другие форматы цветности, такие как формат цветности 4:2:2.
MV подблока цветности может быть получен путем усреднения верхнего левого MV подблока яркости 4х4 и нижнего правого MV подблока яркости. Полученный MV подблока цветности может находиться или не находиться в центре подблока цветности для типов 0, 2 и/или 3 местоположения семпла цветности. Для типов 0, 2 и 3 местоположения семпла цветности может быть скорректировано или может быть необходимо скорректировать местоположение центра подблока цветности с помощью смещения. Например, для типов 0, 2 и 3 местоположения семпла цветности 4:2:0 могут быть применены коррекции, как указано в уравнениях 47-49:
; если тип местоположения цветности равен 0; (47)
; если тип местоположения цветности равен 2; (48)
; если тип местоположения цветности равен 3. (49)
Прогнозирование движения на основе подблоков I(i,j) может уточняться посредством добавления изменения интенсивности (например, изменения интенсивности яркости, например, как представлено в уравнении 44). Окончательное (т.е. уточненное) прогнозирование I'(i,j) может генерироваться с помощью уравнения 50.
. (50)
В случае применения уточнения компенсация аффинного движения на основе подблоков может достигать гранулярности уровня пикселей без увеличения наихудшей пропускной способности и/или пропускной способности памяти.
Для сохранения точности прогнозирования и/или расчета градиента битовая глубина в операционном отношении AMC на основе подблоков может представлять собой промежуточную битовую глубину, которая может быть выше битовой глубины кодирования.
Описанный выше способ может быть использован для уточнения интенсивности цветности (например, в дополнение или вместо уточнения интенсивности яркости). В одном примере разница в интенсивности, используемая в уравнении 50, перед добавлением к прогнозированию может быть умножена на весовой коэффициент w, как показано в уравнении 51:
, (51)
где w может быть установлено равным значению от 0 до 1 включительно. w может быть сигнализировано на уровне CU или на уровне изображения. Например, w может быть сигнализировано индексом весового коэффициента. Например, для сигнализации w может быть использована таблица индексов 1.
Таблица индексов 1
Алгоритм кодера может выбирать значение w, которое приводит к наименьшим затратам искажения скорости передачи данных.
Градиенты семплов прогнозирования, например и/или , могут рассчитываться различными способами. В определенных типовых вариантах осуществления прогнозируемые семплы и могут рассчитываться посредством применения 2-мерного фильтра Собеля. Пример фильтров Собеля 3x3 для горизонтального и вертикального градиентов приведен ниже:
Горизонтальный фильтр Собеля:
Вертикальный фильтр Собеля:
В других типовых вариантах осуществления градиенты могут быть рассчитаны с помощью одномерного 3-отводного фильтра. Пример может включать в себя , что может быть проще (например, намного проще), чем фильтр Собеля.
На фиг. 17C представлена схема, иллюстрирующая расширенное прогнозирование подблоков. Заштрихованные круги 1710 представляют собой семплы заполнения вокруг подблока 4х4 (например, незаштрихованные круги 1720). Используя в качестве примера фильтр Собеля, семплы в блоке 1730 могут использоваться для расчета градиентов семпла 1740 в центре. Хотя градиенты могут рассчитываться с помощью фильтра Собеля, возможны и другие фильтры, такие как 3-отводный фильтр.
Для примеров градиентных фильтров, указанных выше, например, фильтра Собеля 3x3 и одномерного фильтра, может использоваться и/или потребоваться расширенное прогнозирование подблоков для расчета градиента подблоков. Одна строка на верхней и нижней границах и один столбец на левой и правой границах подблока может заполняться, например, для расчета градиента для этих семплов на границах подблока.
Могут существовать различные способы/процедуры и/или операции для получения расширенного прогнозирования подблоков. В одном типовом варианте осуществления, при условии в качестве размера подблока, расширенное прогнозирование подблоков может быть получено посредством выполнения компенсации движения блока с использованием MV подблока. С помощью этого варианта осуществления можно увеличить пропускную способность памяти. Во избежание увеличения пропускной способности памяти в определенных типовых вариантах осуществления перед интерполяцией могут быть извлечены целочисленные эталонные семплы для интерполяции подблока с учетом K-tap фильтра интерполяции в горизонтальном и вертикальном направлениях, граничные семплы блока могут быть скопированы из соседнего семпла подблока таким образом, что расширенная область может представлять собой . Расширенная область может использоваться для интерполяции подблока . Эти типовые варианты осуществления могут по-прежнему использовать и/или требовать дополнительных операций интерполяции для генерирования прогнозирования , если MV подблока указывает на дольную позицию.
Например, для уменьшения сложности вычисления в других типовых вариантах осуществления прогнозирование подблоков может быть получено с помощью компенсации движения блока с помощью MV подблока. Граница прогнозирования может быть получена без интерполяции любым способом из следующего: (1) компенсация целочисленного движения, при этом MV является целой частью MV подблока; (2) компенсация целочисленного движения, при этом MV представляет собой ближайшее целое число MV подблока; и/или (3) копирование из ближайших смежных семплов при прогнозировании подблоков .
Точность и/или диапазон уточнения уровня MV на уровне пикселей, например, и могут влиять на точность PROF. В определенных типовых вариантах осуществления может быть реализована комбинация многобитового фракционного компонента и другого многобитового целочисленного компонента. Например, можно использовать 5-битовый фракционный компонент и 11-битового целочисленный компонент. Комбинация 5-битового фракционного компонента и 11-битового целочисленного компонента может представлять диапазон MV от -1024 до 1023 в 1/32-гранулярной точности с общим числом 16 бит.
Точность градиентов, например, и , и точность изменения интенсивности могут влиять на характеристики PROF. В определенных типовых вариантах осуществления точность семпла прогнозирования может поддерживаться на предварительно заданном количестве или может передаваться с предварительно заданным количеством битов (например, внутренняя точность семпла, определенная в текущем проекте VVC, который является 14-битовым). В определенных типовых вариантах осуществления градиенты и/или изменение интенсивности могут поддерживаться с той же точностью, что и семпл прогнозирования.
Диапазон изменения интенсивности может влиять на характеристики PROF. Изменение интенсивности может обрезаться до меньшего диапазона во избежание ложного значения, генерируемого неточной аффинной моделью. В одном примере изменение интенсивности может быть уменьшено до .
Комбинация количества битов фракционного компонента и , количества битов фракционного компонента градиента и количества битов изменения интенсивности может влиять на сложность в определенных вариантах реализации аппаратного или программного обеспечения. В одном типовом варианте осуществления 5 битов могут быть использованы для представления фракционного компонента и , 2 бита могут быть использованы для представления фракционного компонента градиента, а 12 битов могут быть использованы для представления , однако они могут представлять собой любое количество битов.
Чтобы снизить сложность вычислений, в некоторых ситуациях можно пропустить PROF. Например, если величина всех значений дельта MV на основе пикселей (например, уточнение) MV () внутри подблока 4×4 меньше порогового значения, PROF можно пропустить для цельной аффинной CU. Если градиент всех семплов в подблоке 4х4 меньше порогового значения, PROF можно пропустить.
PROF можно применять к компонентам цветности, таким как компоненты Cb и/или Cr. Дельта MV компонентов Cb и/или Cr подблока может повторно использовать дельта MV подблока (например, может повторно использовать дельту MV, рассчитанную для другого подблока в той же CU).
Несмотря на то, что процедура градиента (например, расширение подблока для расчета градиента с использованием скопированных эталонных семплов), описываемая в настоящем документе, проиллюстрирована как используемая с операцией PROF, процедура градиента может использоваться с другими операциями, такими как, помимо прочего, операции BDOF и/или операции расчета аффинного движения.
Типовые процедуры PROF для других подблочных режимов
PROF может применяться в любом сценарии, где доступно поле вектора движения на уровне пикселей (например, может рассчитываться) в дополнение к сигналу прогнозирования (например, неуточненному сигналу прогнозирования). Например, помимо аффинного режима, уточнение прогнозирования с оптическим потоком может использоваться в других режимах прогнозирования подблоков, например, в режиме SbTMVP (например, режиме ATMVP в VVC) или поле вектора движения на основе регрессии (RMVF).
В определенных типовых вариантах осуществления может быть реализован способ применения PROF к SbTMVP. Например, такой способ может включать любое из следующих действий:
(1) в первой операции MV на уровне подблоков и прогнозирования подблоков могут генерироваться на основе существующего процесса SbTMVP, описанного в настоящем документе;
(2) во второй операции параметры аффинной модели могут оцениваться по полю MV подблоков с использованием способа/процедуры линейной регрессии;
(3) в третьей операции MV на уровне пикселей могут выводиться с помощью параметров аффинной модели, полученных во второй операции, и могут рассчитываться связанные векторы уточнения движения на уровне пикселей относительно MV подблоков ; и/или
(4) в четвертой операции уточнение прогнозирования с помощью процесса оптического потока может применяться, помимо прочего, для генерирования конечного прогнозирования
В определенных типовых вариантах осуществления может быть реализован способ применения PROF к RMVF. Например, такой способ может включать любое из следующих действий:
(1) в первой операции поле MV на уровне подблоков, прогнозирование подблоков и/или параметры аффинной модели , , , , и могут генерироваться на основе процесса RMVF, описанного в настоящем документе;
(2) во второй операции смещения MV на уровне пикселей от MV на уровне подблоков ( могут быть получены с помощью параметров аффинной модели , , , , и с помощью уравнения 52:
, (52)
где представляет собой смещение пикселя от центра подблока. Поскольку аффинные параметры и/или смещения пикселей от центра подблока не изменяются от подблока к подблоку, смещения MV пикселя могут рассчитываться (например, иметь потребность или необходимость в расчете) для первого подблока и могут повторно использоваться для других подблоков в CU; и/или
(3) в третьей операции процесс PROF может применяться для генерирования конечного прогнозирования, например, с применением уравнений 44 и 50.
Типовые процедуры PROF для двойного прогнозирования
В дополнение или вместо использования PROF при одиночном прогнозировании, как описано в настоящем документе, можно использовать методику PROF при двойном прогнозировании. При использовании в двойном прогнозировании PROF можно применять для генерирования прогнозирования L0 и/или прогнозирования L1, например, до их объединения с весовыми коэффициентами. Для уменьшения сложности вычисления может применяться PROF (например, может только применяться) к одному прогнозированию, такому как L0 или L1. В определенных типовых вариантах осуществления PROF может применяться (например, может только применяться) к списку (например, связанному или к которому эталонное изображение расположено близко (например, в пределах порогового значения) и/или близко расположенному).
Типовые процедуры для активации PROF
Активация PROF может быть сигнализирована в заголовке набора параметров последовательности (SPS), заголовке набора параметров изображения (PPS) и/или заголовке мозаичной группы. В определенных вариантах осуществления флаг может быть сигнализирован для указания, активирована ли процедура PROF для аффинного режима или нет. Если флаг установлен на первый логический уровень (например, «Истина»), PROF может использоваться как для единичного прогнозирования, так и для двойного прогнозирования. В определенных вариантах осуществления второй флаг может использоваться, если первый флаг установлен на «Истина» для указания того, активирована ли процедура PROF или нет для аффинного режима с двойным прогнозированием. Если первый флаг установлен на второй логический уровень (например, «Ложь»), второй флаг может быть выведен логически как «Ложь». Следует ли применять PROF для компонента цветности, может быть сигнализировано с помощью флага в заголовке SPS, заголовке PPS и/или заголовке мозаичной группы, если первый флаг установлен на «Истина» таким образом, что управление PROF на компонентах яркости и цветности может быть разделено.
Типовые процедуры для условной активации PROF
Например, для уменьшения сложности можно применять PROF, когда (например, только когда) выполнены определенные условия. Например, для малого размера CU (например, ниже порогового уровня) аффинное движение может быть относительно небольшим, так что преимущество применения PROF может быть ограничено. В определенных типовых вариантах осуществления, когда или при условии, что размер CU мал (например, для размера CU не более 16х16, например, 8х8, 8х16, 16х8), при компенсации аффинного движения можно отключить PROF для снижения сложности как кодера, так и/или декодера. В определенных типовых вариантах осуществления, когда размер CU мал (ниже одного и того же или другого порогового уровня), PROF можно пропустить при расчете аффинного движения (например, только при расчете аффинного движения), например, для уменьшения сложности кодировщика, и PROF может выполняться в декодере независимо от размера CU. Например, на стороне кодировщика после расчета движения, в ходе которого выполняется поиск параметров аффинной модели (например, MV в точках управления), может вызываться процедура компенсации движения (MC) и может выполняться PROF. Для каждой итерации во время оценки движения может также вызываться процедура MC. В MC в расчете движения процедура PROF может быть пропущена для сохранения сложности, и несоответствие прогнозирования между кодировщиком и декодером будет отсутствовать, поскольку итоговая MC в кодировщике должна запускать PROF. Таким образом, уточнение PROF может не применяться кодером, так как оно выполняет поиск параметров аффинной модели (например, аффинных MV) для использования для прогнозирования CU, и после завершения поиска кодером кодер может затем применять PROF для уточнения прогнозирования для CU с использованием параметров аффинной модели, определенных на основании поиска.
В некоторых типовых вариантах осуществления разница между СPMV может быть использована в качестве критерия для определения необходимости активации PROFF. Если разница между CPMV мала (например, ниже порогового уровня), т.е. аффинное движение мало, преимущество применения PROF может быть ограничено, и процедура PROF может быть деактивирована для компенсации аффинного движения и/или оценки аффинного движения. Например, для аффинного режима с 4 параметрами при удовлетворении следующих условий (например, все следующие условия удовлетворены) процедура PROF может быть отключена:
,
.
Для аффинного режима с 6 параметрами в дополнение к вышеуказанному условию или вместо него, если соблюдены следующие условия (например, также удовлетворены все следующие условия), процедура PROF может быть отключена:
,
,
где T представляет собой предварительно заданный порог, например, 4. Данная процедура пропуска PROF основе CPMV или параметра аффинности может применяться (например, также может исключительно применяться) для кодера, а декодер может пропускать или не пропускать PROF.
Типовые процедуры для PROF в сочетании с фильтром деблокирования или вместо него
Поскольку PROF может представлять собой пиксельное уточнение, которое может компенсировать MC на основе блоков, разница в движении между границей блока может уменьшаться (например, может значительно уменьшаться). Кодер и/или декодер может пропускать применение фильтра деблокирования и/или может применять более слабые фильтр к границам подблоков при применении процедуры PROF. В случае CU, которая разделена на множество единиц преобразования (TU), на границе блока преобразования может появляться блочный артефакт.
В определенных типовых вариантах осуществления кодер и/или декодер может пропускать применение фильтров деблокирования или может применять один или более фильтров, которые являются более слабыми, к границам подблоков, если граница подблока не совпадает с границей TU.
Если или при условии, что PROF применяется к яркости (например, применяется только к яркости), кодер и/или декодер может пропускать применение фильтра деблокирования и/или может применять один или более фильтров, которые являются более слабыми, к границам подблоков для яркости (например, только для яркости). Например, параметр граничной силы Bs можно использовать для применения более слабого фильтра деблокирования.
Например, кодер и/или декодер может пропускать применение фильтра деблокирования к границам подблоков при применении PROF, если граница подблоков не совпадает с границей TU. В этом случае для уменьшения или удаления блокирующих артефактов, которые могут возникнуть вдоль границы TU, может применяться фильтр деблокирования.
В качестве другого примера, кодер и/или декодер может применять слабый фильтр деблокирования к границам подблоков при применении PROF, если граница подблоков не совпадает с границей TU. Предполагается, что «слабый» фильтр деблокирования может представлять собой более слабый фильтр деблокирования, чем тот, что обычно применяется к границам подблоков, когда не используется PROF. Когда граница подблоков совпадает с границей TU, может применяться более сильный фильтр деблокирования для уменьшения или удаления блочных артефактов, которые, как ожидается, будут более видимыми вдоль границ подблоков, совпадающих с границами TU.
В определенных типовых вариантах осуществления, когда или при условии, что применяется PROF (например, применяется исключительно) к яркости, кодер и/или декодер может согласовывать применение фильтра деблокирования для цветности к яркости, например, несмотря на отсутствие применения PROF на цветности, с целью унификации конфигурации. Например, если PROF применяется только к яркости, нормальное применение фильтра деблокирования для яркости может быть заменено в зависимости от того, была ли применена процедура PROF (и, возможно, от того, находилась ли граница TU на границе подблоков). В определенных типовых вариантах осуществления вместо отдельной/отличающейся логики для применения фильтра деблокирования к соответствующим пикселям цветности фильтр деблокирования может быть применен к границам подблоков для цветности для соответствия (и/или зеркальности) процедуре деблокирования яркости.
На фиг. 18A представлена блок-схема, иллюстрирующая первый типовой способ кодирования и/или декодирования.
Как показано на фиг. 18A, типовой способ 1800 кодирования и/или декодирования может включать в себя в блоке 1805 кодер 100 или 300 и/или декодер 200 или 500, получение сигнала прогнозирования движения на основе подблоков для текущего блока, например, видео. В блоке 1810 кодер 100 или 300 и/или декодер 200 или 500 могут получать один или более пространственных градиентов сигнала прогнозирования движения на основе подблоков для текущего блока или одно или более значений разницы векторов движения, связанных с подблоком текущего блока. В блоке 1815 кодер 100 или 300 и/или декодер 200 или 500 могут получать сигнал уточнения для текущего блока на основе одного или более полученных пространственных градиентов или одного или более полученных значений разницы векторов движения, связанных с подблоком текущего блока. В блоке 1820 кодер 100 или 300 и/или декодер 200 или 500 могут получать уточненный сигнал прогнозирования движения для текущего блока на основе сигнала прогнозирования движения на основе подблоков и сигнала уточнения. В определенных вариантах осуществления кодер 100 или 300 может кодировать текущий блок на основе уточненного сигнала прогнозирования движения, или декодер 200 или 500 может декодировать текущий блок на основе уточненного сигнала прогнозирования движения. Уточненный сигнал прогнозирования движения может представлять собой генерируемый уточненный сигнал интерпрогнозирования движения (например, генерируемый посредством кодера 300 GBi и/или декодера 500 GBi) и может использовать одну или более операций PROF.
В определенных типовых вариантах осуществления, например, относящихся к другим способам, описываемым в настоящем документе, включая способы 1850 и 1900, получение сигнала прогнозирования движения на основе подблоков для текущего блока видео может включать генерирование сигнала прогнозирования движения на основе подблоков.
В определенных типовых вариантах осуществления, например, относящихся к другим способам, описанным в настоящем документе, включая, помимо прочего, способы 1850 и 1900, получение одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков для текущего блока или одного или более значений разницы векторов движения, связанных с подблоком текущего блока, может включать определение одного или более пространственных градиентов (например, связанных с градиентным фильтром) сигнала прогнозирования движения на основе подблоков.
В определенных типовых вариантах осуществления, например, относящихся к другим способам, описанным в настоящем документе, включая, помимо прочего, способы 1850 и 1900, получение одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков для текущего блока или одного или более значений разницы векторов движения, связанных с подблоком текущего блока, может включать определение одного или более значений разницы векторов движения, связанных с подблоком текущего блока.
В определенных типовых вариантах осуществления, например, относящихся к другим способам, описанным в настоящем документе, включая, помимо прочего, способы 1850 и 1900, получение сигнала уточнения для текущего блока на основе одного или более определенных пространственных градиентов или одного или более определенных значений разницы векторов движения может включать в себя определение сигнала уточнения прогнозирования движения в качестве сигнала уточнения для текущего блока на основе определенных пространственных градиентов.
В определенных типовых вариантах осуществления, например, относящихся к другим способам, описанным в настоящем документе, включая, помимо прочего, способы 1850 и 1900, получение сигнала уточнения для текущего блока на основе одного или более определенных пространственных градиентов или одного или более определенных значений разницы векторов движения может включать в себя определение сигнала уточнения прогнозирования движения в качестве сигнала уточнения для текущего блока на основе определенных значений разницы векторов движения.
Термины «определить» или «определение» в части, касающейся понятий, таких как информация, обычно могут включать в себя одно или более из: оценки, расчета, прогнозирования, получения и/или извлечения информации. Например, определение может относиться, помимо прочего, к извлечению чего-либо из памяти или битового потока.
В определенных типовых вариантах осуществления, например, относящихся к другим способам, описываемым в настоящем документе, включая, помимо прочего, способы 1850 и 1900, получение уточненного сигнала прогнозирования движения для текущего блока на основе подблоков и сигнала уточнения может включать объединение (например, среди прочего, добавление или вычитание) сигнала прогнозирования движения на основе подблоков и сигнала уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока.
В определенных типовых вариантах осуществления, например, относящихся к другим способам, описанным в настоящем документе, включая, помимо прочего, способы 1850 и 1900, кодирование и/или декодирование текущего блока на основе уточненного сигнала прогнозирования движения может включать в себя кодирование видеосигнала с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока и/или декодирование видеосигнала с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока.
На фиг. 18B представлена блок-схема, иллюстрирующая второй типовой способ кодирования и/или декодирования.
Как показано на фиг. 18B, типовой способ 1850 кодирования и/или декодирования видеосигнала может включать в себя в блоке 1855 кодер 100 или 300 и/или декодер 200 или 500, генерирующие сигнал прогнозирования движения на основе подблоков. В блоке 1860 кодер 100 или 300 и/или декодер 200 или 500 могут определять один или более пространственных градиентов (например, связанных с градиентным фильтром) сигнала прогнозирования движения на основе подблоков. В блоке 1865 кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал уточнения прогнозирования движения для текущего блока на основе определенных пространственных градиентов. В блоке 1870, кодер 100 или 300 и/или декодер 200 или 500 могут объединять (например, среди прочего, добавлять или вычитать) сигнал прогнозирования движения на основе подблоков и сигнал уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока. В блоке 1875 кодер 100 или 300 может кодировать видеосигнал с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, и/или декодер 200 или 500 может декодировать видео с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока. В некоторых вариантах осуществления операции в блоках 1810, 1820, 1830 и 1840 могут выполняться для текущего блока, представляющего собой блок, который в целом относится к кодируемому или декодируемому в настоящий момент блоку. Уточненный сигнал прогнозирования движения может представлять собой генерируемый уточненный сигнал интерпрогнозирования движения (например, генерируемый посредством кодера 300 GBi и/или декодера 500 GBi) и может использовать одну или более операций PROF.
Например, определение одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков с помощью кодера 100 или 300 и/или декодера 200 или 500 может включать определение первого набора пространственных градиентов, связанных с первым эталонным изображением, и второго набора пространственных градиентов, связанных со вторым эталонным изображением. Определение кодером 100 или 300 и/или декодером 200 или 500 сигнала уточнения прогнозирования движения для текущего блока может быть основано на определенных пространственных градиентах и может включать в себя определение сигнала (например, сигнала двойного прогнозирования) для текущего блока на основе первого и второго наборов пространственных градиентов, а также может основываться на информации о весовом коэффициенте W (например, указывающей или включающей в себя одно или более весовых значений, которые связаны с одним или более эталонными изображениями).
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, кодер 100 или 300 может генерировать, использовать и/или отправлять информации о весовом коэффициенте W в декодер 200 или 500 и/или декодер 200 или 500 может принимать или получать информацию о весовом коэффициенте W. Например, сигнал уточнения интерпрогнозирования движения для текущего блока может быть основан на: (1) первом градиентном значении, полученном из первого набора пространственных градиентов и взвешенном в соответствии с первым весовым коэффициентом, указанным в информации о весовом коэффициенте W, и/или (2) втором градиентном значении, полученном из второго набора пространственных градиентов и взвешенном в соответствии со вторым весовым коэффициентом, указанным в информации о весовом коэффициенте W.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут дополнительно включать в себя кодер 100 или 300 и/или декодер 200 или 500, определяющие параметры аффинной модели движения для текущего блока видео таким образом, что сигнал прогнозирования движения на основе подблоков может генерироваться с использованием определенных параметров аффинной модели движения.
В определенных типовых вариантах осуществления, включающих типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут включать определение кодером 100 или 300 и/или декодером 200 или 500 одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков, которые могут включать расчет по меньшей мере одного градиентного значения для одного соответствующего местоположения семпла, части соответствующих местоположений семплов или каждого соответствующего местоположения семпла в по меньшей мере одном подблоке сигнала прогнозирования движения на основе подблоков. Например, расчет по меньшей мере одного градиентного значения для одного соответствующего местоположения семпла, части соответствующих местоположений семплов или каждого соответствующего местоположения семпла в по меньшей мере одном подблоке сигнала прогнозирования движения на основе подблоков может включать для одного соответствующего местоположения семпла, части соответствующих местоположений семплов или каждого соответствующего местоположения семпла применение градиентного фильтра к соответствующему местоположению семпла в по меньшей мере одном подблоке сигнала прогнозирования движения на основе подблоков.
В определенных типовых вариантах осуществления, включающих типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут дополнительно включать кодер 100 или 300 и/или декодер 200 или 500, определяющие набор значений разницы векторов движения, связанных с местоположениями семплов первого подблока текущего блока сигнала прогнозирования движения на основе подблоков. В некоторых примерах значения разности могут определяться для подблока (например, первого подблока) и могут повторно использоваться для некоторых или всех других подблоков в текущем блоке. В некоторых примерах может генерироваться сигнал прогнозирования движения на основе подблоков, и набор значений разницы векторов движения может определяться с использованием аффинной модели движения или другой модели движения (например, другой модели движения на основе подблоков, такой как модель SbTMVP). Например, набор значений разницы векторов движения может определяться для первого подблока текущего блока и может использоваться для определения сигнала уточнения прогнозирования движения для одного или более дополнительных подблоков текущего блока.
В определенных типовых вариантах осуществления, включающих в себя типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, один или более пространственных градиентов сигнала прогнозирования движения на основе подблоков и набор значений разницы векторов движения могут использоваться для определения сигнала уточнения прогнозирования движения для текущего блока.
В определенных типовых вариантах осуществления, включающих в себя типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, генерируется сигнал прогнозирования движения на основе подблоков и определяется набор значений разницы векторов движения с использованием аффинной модели движения для текущего блока.
В определенных типовых вариантах осуществления, включающих в себя типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, определение одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков может включать в себя: для одного или более соответствующих подблоков текущего блока: определение расширенного подблока с использованием сигнала прогнозирования движения на основе подблоков и смежных эталонных семплов, которые граничат с соответствующим подблоком и окружают его; и определение пространственных градиентов соответствующего подблока с использованием определенного расширенного подблока для определения сигнала уточнения прогнозирования движения.
На фиг. 19 представлена блок-схема, иллюстрирующая третий типовой способ кодирования и/или декодирования.
Как показано на фиг. 19, типовой способ 1900 кодирования и/или декодирования видеосигнала может включать в себя в блоке 1910 кодер 100 или 300 и/или декодер 200 или 500, генерирующие сигнал прогнозирования движения на основе подблоков. В блоке 1920 кодер 100 или 300 и/или декодер 200 или 500 могут определять набор значений разницы векторов движения, связанных с подблоком текущего блока (например, набор значений разницы векторов движения может быть связан, например, со всеми подблоками текущего блока). В блоке 1930 кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал уточнения прогнозирования движения для текущего блока на основе определенного набора значений разницы векторов движения. В блоке 1940, кодер 100 или 300 и/или декодер 200 или 500 могут объединять (например, среди прочего, добавлять или вычитать) сигнал прогнозирования движения на основе подблоков и сигнал уточнения прогнозирования движения для создания или генерирования уточненного сигнала прогнозирования движения для текущего блока. В блоке 1950 кодер 100 или 300 может кодировать видеосигнал с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, и/или декодер 200 или 500 может декодировать видео с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока. В некоторых вариантах осуществления операции в блоках 1910, 1920, 1930 и 1940 могут выполняться для текущего блока, который по существу относится к блоку, который в настоящий момент кодируется или декодируется. В определенных типовых вариантах осуществления уточненный сигнал прогнозирования движения может представлять собой уточненный сигнал интерпрогнозирования движения, генерируемый (например, посредством кодера 300 GBi или декодера 500 GBi), и может использовать одну или более операций PROF.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут включать в себя определение кодером 100 или 300 и/или декодером 200 или 500 параметров (например, одного или более параметров аффинной модели движения) для текущего блока видео, так что сигнал прогнозирования движения на основе подблоков может генерироваться с использованием определенных параметров модели движения (например, параметров аффинной модели движения).
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут включать в себя определение кодером 100 или 300 и/или декодером 200 или 500 одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков. Например, определение одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков может включать расчет по меньшей мере одного градиентного значения для одного соответствующего местоположения семпла, части соответствующих местоположений семплов или каждого соответствующего местоположения семпла в по меньшей мере одном подблоке сигнала прогнозирования движения на основе подблоков. Например, расчет по меньшей мере одного градиентного значения для одного соответствующего местоположения семпла, части соответствующих местоположений семплов или каждого соответствующего местоположения семпла в по меньшей мере одном подблоке сигнала прогнозирования движения на основе подблоков может включать для одного соответствующего местоположения семпла, части соответствующих местоположений семплов или каждого соответствующего местоположения семпла применение градиентного фильтра к соответствующему местоположению семпла в по меньшей мере одном подблоке сигнала прогнозирования движения на основе подблоков.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут включать в себя определение кодером 100 или 300 и/или декодером 200 или 500 сигнала уточнения прогнозирования движения для текущего блока с использованием градиентных значений, связанных с пространственными градиентами, для одного соответствующего местоположения семпла, части соответствующих местоположений семплов или каждого соответствующего местоположения семпла текущего блока и определенного набора значений разницы векторов движения, связанных с местоположениями семплов подблока (например, любого подблока) текущего блока сигнала прогнозирования движения подблока.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, определение сигнала уточнения прогнозирования движения для текущего блока может использовать градиентные значения, связанные с пространственными градиентами для одного или более соответствующих местоположений семплов или каждого местоположения семпла одного или более подблоков текущего блока и определенного набора значений разницы векторов движения.
На фиг. 20 представлена блок-схема, иллюстрирующая четвертый типовой способ кодирования и/или декодирования.
Как показано на фиг. 20, типовой способ 2000 кодирования и/или декодирования видео может включать в себя в блоке 2010 кодер 100 или 300 и/или декодер 200 или 500, генерирующие сигнал прогнозирования движения на основе подблоков с использованием по меньшей мере первого вектора движения для первого подблока текущего блока и дополнительного вектора движения для второго подблока текущего блока. В блоке 2020, кодер 100 или 300 и/или декодер 200 или 500 могут рассчитывать первый набор градиентных значений для первого местоположения семпла в первом подблоке сигнала прогнозирования движения на основе подблоков и второй отличающийся набор градиентных значений для второго местоположения семпла в первом подблоке сигнала прогнозирования движения на основе подблоков. В блоке 2030 кодер 100 или 300 и/или декодер 200 или 500 могут определять первый набор значений разницы векторов движения для первого местоположения семпла и второй отличающийся набор значений разницы векторов движения для второго местоположения семпла. Например, первый набор значений разницы векторов движения для первого местоположения семпла может указывать разницу между вектором движения в первом местоположении семпла и вектором движения первого подблока, а второй набор значений разницы векторов движения для второго местоположения семпла может указывать разницу между вектором движения во втором местоположении семпла и вектором движения первого подблока. В блоке 2040 кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал уточнения прогнозирования с использованием первого и второго наборов градиентных значений и первого и второго наборов значений разницы векторов движения. В блоке 2050 кодер 100 или 300 и/или декодер 200 или 500 могут объединять (например, среди прочего, добавлять или вычитать) сигнал прогнозирования движения на основе подблоков с сигналом уточнения прогнозирования для генерирования уточненного сигнала прогнозирования движения. В блоке 2060 кодер 100 или 300 может кодировать видеосигнал с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, и/или декодер 200 или 500 может декодировать видео с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока. В некоторых вариантах осуществления операции в блоках 2010, 2020, 2030, 2040 и 2050 могут выполняться для текущего блока, который включает в себя множество подблоков.
На фиг. 21 представлена блок-схема, иллюстрирующая пятый типовой способ кодирования и/или декодирования.
Как показано на фиг. 21, типовой способ 2100 кодирования и/или декодирования видеосигнала может включать в себя в блоке 2110 кодер 100 или 300 и/или декодер 200 или 500, генерирующие сигнал прогнозирования движения на основе подблоков для текущего блока. В блоке 2120 кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал уточнения прогнозирования с использованием информации оптического потока, указывающей на уточненное движение множества местоположений семплов в текущем блоке сигнала прогнозирования движения на основе подблоков. В блоке 2130 кодер 100 или 300 и/или декодер 200 или 500 могут объединять (например, среди прочего, добавлять или вычитать) сигнал прогнозирования движения на основе подблоков с сигналом уточнения прогнозирования для генерирования уточненного сигнала прогнозирования движения. В блоке 2140 кодер 100 или 300 может кодировать видеосигнал с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, и/или декодер 200 или 500 может декодировать видео с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока. Например, текущий блок может включать в себя множество подблоков, и сигнал прогнозирования движения на основе подблоков может генерироваться с использованием по меньшей мере первого вектора движения для первого подблока текущего блока и дополнительного вектора движения для второго подблока текущего блока.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут включать в себя определение кодером 100 или 300 и/или декодером 200 или 500 сигнала уточнения прогнозирования, который может использовать информацию оптического потока. Данное определение может включать в себя расчет с помощью кодера 100 или 300 и/или декодера 200 или 500 первого набора градиентных значений для первого местоположения семпла в первом подблоке сигнала прогнозирования движения на основе подблоков и второго, отличающегося набора градиентных значений для второго местоположения семпла в первом подблоке сигнала прогнозирования движения на основе подблоков. Могут быть определены первый набор значений разницы векторов движения для первого местоположения семпла и второй отличающийся набор значений разницы векторов движения для второго местоположения семпла. Например, первый набор значений разницы векторов движения для первого местоположения семпла может указывать разницу между вектором движения в первом местоположении семпла и вектором движения первого подблока, а второй набор значений разницы векторов движения для второго местоположения семпла может указывать разницу между вектором движения во втором местоположении семпла и вектором движения первого подблока. Кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал уточнения прогнозирования с помощью первого и второго наборов градиентных значений и первого и второго наборов значений разницы векторов движения.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут включать в себя определение кодером 100 или 300 и/или декодером 200 или 500 сигнала уточнения прогнозирования, который может использовать информацию оптического потока. Данное определение может включать в себя расчет третьего набора градиентных значений для первого местоположения семпла во втором подблоке сигнала прогнозирования движения на основе подблоков и четвертого набора градиентных значений для второго местоположения семпла во втором подблоке сигнала прогнозирования движения на основе подблоков. Кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал уточнения прогнозирования для второго подблока с помощью третьего и четвертого наборов градиентных значений и первого и второго наборов значений разницы векторов движения.
На фиг. 22 представлена блок-схема, иллюстрирующая шестой типовой способ кодирования и/или декодирования.
Как показано на фиг. 22, типовой способ 2200 кодирования и/или декодирования видео может включать в себя в блоке 2210 кодер 100 или 300 и/или декодер 200 или 500, определяющие модель движения для текущего блока видео. Текущий блок может включать в себя множество подблоков. Например, модель движения может генерировать отдельные (например, для каждого семпла) векторы движения для множества местоположений семплов в текущем блоке. В блоке 2220 кодер 100 или 300 и/или декодер 200 или 500 могут генерировать, используя определенную модель движения, сигнал прогнозирования движения на основе подблоков для текущего блока. Генерируемый сигнал прогнозирования движения на основе подблоков может использовать один вектор движения для каждого подблока текущего блока. В блоке 2230 кодер 100 или 300 и/или декодер 200 или 500 могут рассчитывать градиентные значения посредством применения градиентного фильтра к части множества местоположений семплов сигнала прогнозирования движения на основе подблоков. В блоке 2240 кодер 100 или 300 и/или декодер 200 или 500 могут определять значения разницы векторов движения для части местоположений семплов, причем каждое из значений разницы векторов движения может указывать на разницу между вектором движения (например, отдельным вектором движения), генерируемым для соответствующего местоположения семпла в соответствии с моделью движения, и вектором движения, используемым для генерирования сигнала прогнозирования движения на основе подблоков для подблока, включающего в себя соответствующее местоположение семпла. В блоке 2250 кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал уточнения прогнозирования с использованием градиентных значений и значений разницы векторов движения. В блоке 2260 кодер 100 или 300 и/или декодер 200 или 500 могут объединять (например, среди прочего, добавлять или вычитать) сигнал прогнозирования движения на основе подблоков с сигналом уточнения прогнозирования для генерирования уточненного сигнала прогнозирования движения для текущего блока. В блоке 2270 кодер 100 или 300 может кодировать видеосигнал с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, и/или декодер 200 или 500 может декодировать видео с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока.
На фиг. 23 представлена блок-схема, иллюстрирующая седьмой типовой способ кодирования и/или декодирования.
Как показано на фиг. 23, типовой способ 2300 кодирования и/или декодирования видео может включать в себя в блоке 2310 кодер 100 или 300 и/или декодер 200 или 500, выполняющие компенсацию движения на основе подблоков для генерирования сигнала прогнозирования движения на основе подблоков в качестве грубого сигнала прогнозирования движения. В блоке 2320 кодер 100 или 300 и/или декодер 200 или 500 могут рассчитывать один или более пространственных градиентов сигнала прогнозирования движения на основе подблоков в местоположениях семплов. В блоке 2330 кодер 100 или 300 и/или декодер 200 или 500 могут вычислять изменение интенсивности на пиксель в текущем блоке на основании рассчитанных пространственных градиентов. В блоке 2340 кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал прогнозирования движения для каждого пикселя на основе рассчитанного изменения интенсивности на пиксель в качестве уточненного сигнала прогнозирования движения. В блоке 2350 кодер 100 или 300 и/или декодер 200 или 500 могут прогнозировать текущий блок, используя грубый сигнал прогнозирования движения каждого подблока текущего блока и используя уточненный сигнал прогнозирования движения каждого пикселя текущего блока. В некоторых вариантах осуществления операции в блоках 2310, 2320, 2330, 2340 и 2350 могут выполняться для по меньшей мере одного блока (например, текущего блока) в видео. Например, вычисление изменения интенсивности на пиксель в текущем блоке может включать в себя определение изменения интенсивности яркости для каждого пикселя в текущем блоке в соответствии с уравнением оптического потока. Прогнозирование текущего блока может включать в себя прогнозирование вектора движения для каждого соответствующего пикселя в текущем блоке посредством объединения грубого вектора прогнозирования движения для подблока, который включает в себя соответствующий пиксель, с уточненным вектором прогнозирования движения, который относится к грубому вектору прогнозирования движения и связан с соответствующим пикселем.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300 и 2600, один или более пространственных градиентов сигнала прогнозирования движения на основе подблоков могут включать в себя любое из горизонтального градиента и/или вертикального градиента, и, например, горизонтальный градиент может рассчитываться как разница яркости или разница цветности между правым соседним семплом семпла подблока и левым соседним семплом семпла подблока, и/ или вертикальный градиент может рассчитываться как разница яркости или разница цветности между нижним соседним семплом семпла подблока и верхним соседним семплом семпла подблока.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300 и 2600, один или более пространственных градиентов прогнозирования подблоков могут генерироваться с использованием фильтра Собеля.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300 и 2600, грубый сигнал прогнозирования движения может использовать одна из следующих моделей: аффинная модель с 4 параметрами или аффинная модель с 6 параметрами. Например, компенсация движения на основе подблоков может представлять собой одно из следующего: (1) компенсация движения на основе аффинных подблоков; или (2) другая компенсация (например, компенсация движения в режиме временного прогнозирование вектора движения на основе подблоков (SbTMVP); и/или компенсация, основанная на режиме регрессии поля вектора движения (RMVF)). При условии выполнения компенсации движения на основе режима SbTMVP способ может включать в себя: оценку посредством операции линейной регрессии параметров аффинной модели с использованием поля вектора движения подблоков; и выведение векторов движения на уровне пикселей с использованием оцененных параметров аффинной модели. При условии выполнения компенсации движения на основе режима RMVF способ может включать: оценку параметров аффинной модели; и выведение смещений вектора движения на уровне пикселей из векторов движения на уровне подблоков с использованием оцененных параметров аффинной модели. Например, смещения вектора движения пикселей могут рассматриваться относительно центра (например, фактического центра или ближайшего местоположения семпла к фактическому центру) подблока. Например, грубый вектор прогнозирования движения для подблока может основываться на фактической центральной позиции подблока.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300 и 2600, эти способы могут включать в себя кодер 100 или 300 или декодер 200 или 500, выбирающие одно из следующего: (1) фактический центр каждого подблока или (2) одно из местоположений пикселя (например, семпл) ближайшее к центру подблока в качестве центральной позиции, связанной с грубым вектором прогнозирования движения (например, вектором прогнозирования движения на основе подблоков) для каждого подблока. Например, прогнозирование текущего блока с использованием грубого сигнала прогнозирования движения (например, сигнала прогнозирования движения на основе подблоков) текущего блока и использование уточненного сигнала прогнозирования движения каждого пикселя (например, семпла) текущего блока может основываться на выбранной центральной позиции каждого подблока. Например, кодер 100 или 300 и/или декодер 200 или 500 могут определять центральную позицию, связанную с пикселями цветности подблока; и могут определять смещение к положению центра пикселей цветности подблока на основании типа семпла местоположения цветности, связанного с пикселями цветности. Грубый сигнал прогнозирования движения (например, сигнал прогнозирования движения на основе подблоков) для подблока может основываться на фактической позиции подблока, соответствующей определенной центральной позиции пикселей цветности, скорректированной посредством смещения.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300 и 2600, эти способы могут включать в себя кодер 100 или 300, генерирующий информацию, или декодер 200 или 500, принимающий информацию, указывающую, активировано ли уточнение прогноза с помощью оптического потока (PROF), в одном из следующего: (1) заголовок набора параметров последовательности (SPS), (2) заголовок набора параметров изображения (PPS) или (3) заголовок мозаичной группы. Например, при условии, что процедура PROF активирована, может выполняться уточненная операция прогнозирования движения таким образом, что грубый сигнал прогнозирования движения (например, сигнал прогнозирования движения на основе подблоков) и уточненный сигнал прогнозирования движения могут использоваться для прогнозирования текущего блока. В качестве другого примера, при условии, что процедура PROF не активирована, уточненная операция прогнозирования движения не выполняется таким образом, что только сигнал прогнозирования движения (например, сигнал прогнозирования движения на основе подблоков) может использоваться для прогнозирования текущего блока.
В определенных типовых вариантах осуществления, включая по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300 и 2600, эти способы могут включать в себя кодер 100 или 300 и/или декодер 200 или 500, определяющие необходимость выполнения операции прогнозирования уточненного движения на текущем блоке или при оценке аффинного движения на основе атрибутов текущего блока и/или атрибутов оценки аффинного движения.
В определенных типовых вариантах осуществления, включая по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300 и 2600, эти способы могут включать в себя кодер 100 или 300 и/или декодер 200 или 500, определяющие необходимость выполнения операции прогнозирования уточненного движения на текущем блоке или при оценке аффинного движения на основе атрибутов текущего блока и/или атрибутов оценки аффинного движения. Например, определение того, выполнять ли уточненную операцию прогнозирования движения в текущем блоке на основе атрибутов текущего блока, может включать в себя определение того, выполнять ли уточненную операцию прогнозирования движения в текущем блоке на основе соответствия каким-либо из следующих условий: (1) размер текущего блока превышает конкретный размер; и/или (2) разница векторов движения контрольной точки (CPMV) превышает пороговое значение.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300 и 2600, эти способы могут включать в себя кодер 100 или 300 и/или декодер 200 или 500, применяющие первый фильтр деблокирования к одной или более границам подблока текущего блока, которые совпадает с границей блока преобразования, и второй, отличающийся фильтр деблокирования к другим границам подблока текущего блока, которые не совпадают ни с какими границами блока преобразования. Например, первый фильтр деблокирования может быть более сильным фильтром деблокирования, чем второй фильтр деблокирования.
На фиг. 24 представлена блок-схема, иллюстрирующая восьмой типовой способ кодирования и/ или декодирования.
Как показано на фиг. 24, типовой способ 2400 кодирования и/или декодирования видео может включать в себя в блоке 2410 кодер 100 или 300 и/или декодер 200 или 500, выполняющие компенсацию движения на основе подблоков для генерирования сигнала прогнозирования движения на основе подблоков в качестве грубого сигнала прогнозирования движения. В блоке 2420 кодер 100 или 300 и/или декодер 200 или 500 для каждого соответствующего пограничного семпла подблока текущего блока могут определять один или более эталонных семплов, соответствующих семплам смежных к соответствующим пограничным семплам и окружающих подблок в качестве окружающих эталонных семплов, и могут определять при помощи окружающих эталонных семплов и семплов подблока, смежных с соответствующим пограничным семплом, один или более пространственных градиентов, связанных с соответствующим пограничным семплом. В блоке 2430 кодер 100 или 300 и/или декодер 200 или 500 для каждого соответствующего неграничного семпла в подблоке могут определять при помощи семплов подблока, смежных с соответствующим неграничным семплом, один или более пространственных градиентов, связанных с соответствующим неграничным семплом. В блоке 2440 кодер 100 или 300 и/или декодер 200 или 500 могут вычислять изменение интенсивности на пиксель в текущем блоке с использованием определенных пространственных градиентов подблока. В блоке 2450 кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал прогнозирования движения для каждого пикселя на основе рассчитанного изменения интенсивности на пиксель в качестве уточненного сигнала прогнозирования движения. В блоке 2460 кодер 100 или 300 и/или декодер 200 или 500 могут прогнозировать текущий блок, используя грубый сигнал прогнозирования движения, связанный с каждым подблоком текущего блока, и используя уточненный сигнал прогнозирования движения, связанный с каждым пикселем текущего блока. В некоторых вариантах осуществления операции в блоках 2410, 2420, 2430, 2440, 2450 и 2460 могут выполняться для по меньшей мере одного блока (например, текущего блока) в видео.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300, 2400 и 2600, определение одного или более пространственных градиентов граничных семплов и неграничных семплов может включать в себя расчет одного или более пространственных градиентов с помощью любого из следующего: (1) вертикальный фильтр Собеля; (2) горизонтальный фильтр Собеля; или (3) 3-отводный фильтр.
В определенных типовых вариантах осуществления, включая по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300, 2400 и 2600, эти способы могут включать кодер 100 или 300 и/или декодер 200 или 500, копирующие окружающие опорные семплы из эталонного хранилища без каких-либо дальнейших манипуляций, и при определении одного или более пространственных градиентов, связанных с соответствующим граничным семплом, могут использоваться скопированные окружающие эталонные семплы для определения одного или более пространственных градиентов, связанных с соответствующим граничным семплом.
На фиг. 25 представлена блок-схема, иллюстрирующая типовой способ расчета градиента.
Как показано на фиг. 25, типовой способ 2500 расчета градиента подблока с использованием эталонных семплов, соответствующих семплам, смежным с границей подблока (например, используемым при кодировании и/или декодировании видеосигнала), может включать в себя, в блоке 2510, кодер 100 или 300 и/или декодер 200 или 500 для каждого соответствующего граничного семпла подблока текущего блока, определение одного или более эталонных семплов, соответствующих семплам, смежным с соответствующим пограничным семплом и окружающих подблок, в качестве окружающих эталонных семплов, и определение с использованием окружающих эталонных семплов и семплов подблока, смежных с соответствующим пограничным семплом, одного или более пространственных градиентов, связанных с соответствующим пограничным семплом. В блоке 2520 кодер 100 или 300 и/или декодер 200 или 500 для каждого соответствующего неграничного семпла в подблоке могут определять при помощи семплов подблока, смежных с соответствующим неграничным семплом, один или более пространственных градиентов, связанных с соответствующим неграничным семплом. В некоторых вариантах осуществления операции в блоках 2510 и 2520 могут выполняться для по меньшей мере одного блока (например, текущего блока) в видео.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300, 2400, 2500 и 2600, определенный один или более пространственных градиентов могут использоваться для прогнозирования текущего блока по любому из следующих вариантов: (1) операция уточнения прогноза с помощью оптического потока (PROF), (2) операция двунаправленного оптического потока или (3) операция оценки аффинного движения.
На фиг. 26 представлена блок-схема, иллюстрирующая девятый типовой способ кодирования и/или декодирования.
Как показано на фиг. 26, типовой способ 2600 кодирования и/или декодирования видеосигнала может включать в себя в блоке 2610 кодер 100 или 300 и/или декодер 200 или 500, генерирующие сигнал прогнозирования движения на основе подблоков для текущего блока видео. Например, текущий блок может включать в себя множество подблоков. В блоке 2620 кодер 100 или 300 и/или декодер 200 или 500 могут определять для одного или более или для каждого соответствующего подблока текущего блока расширенный подблок с использованием сигнала прогнозирования движения на основе подблоков и смежных эталонных семплов, которые граничат с соответствующим подблоком и окружают его, и определять с использованием определенного расширенного подблока, пространственные градиенты соответствующего подблока. В блоке 2630 кодер 100 или 300 и/или декодер 200 или 500 могут определять сигнал уточнения прогнозирования движения для текущего блока на основе определенных пространственных градиентов. В блоке 2640, кодер 100 или 300 и/или декодер 200 или 500 могут объединять (например, среди прочего, добавлять или вычитать) сигнал прогнозирования движения на основе подблоков и сигнал уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока. В блоке 2650 кодер 100 или 300 может кодировать видеосигнал с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, и/или декодер 200 или 500 может декодировать видео с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока. В некоторых вариантах осуществления операции в блоках 2610, 2620, 2630, 2640 и 2650 могут выполняться для по меньшей мере одного блока (например, текущего блока) в видео.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут включать кодеры 100 или 300 и/или декодер 200 или 500, копирующие смежные эталонные семплы из эталонного хранилища без каких-либо дополнительных манипуляций. Например, при определении пространственных градиентов соответствующего подблока могут использоваться скопированные смежные эталонные семплы для определения градиентных значений, связанных с местоположениями семплов на границе соответствующего подблока. Смежные эталонные семплы расширенного блока могут копироваться из ближайших целочисленных позиций в эталонном изображении, которое включает в себя текущий блок. В некоторых примерах смежные эталонные семплы расширенного блока имеют ближайший целочисленный вектор движения, округленный от исходной точности.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы включают в себя кодер 100 или 300 и/или декодер 200 или 500, определяющие параметры аффинной модели движения для текущего блока видео таким образом, что сигнал прогнозирования движения на основе подблоков может генерироваться с использованием определенных параметров аффинной модели движения.
В определенных типовых вариантах осуществления, включая по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2300, 2500 и 2600, определение пространственных градиентов соответствующего подблока может включать расчет по меньшей мере одного градиентного значения для каждого соответствующего местоположения семпла в соответствующем подблоке. Например, расчет по меньшей мере одного градиентного значения для каждого соответствующего местоположения семпла в соответствующем подблоке может включать для каждого соответствующего местоположения семпла применение градиентного фильтра к соответствующему местоположению семпла в соответствующем подблоке. В другом примере расчет по меньшей мере одного градиентного значения для каждого соответствующего местоположения семпла в соответствующем подблоке может включать определение изменения интенсивности для каждого соответствующего местоположения семпла в соответствующем подблоке в соответствии с уравнениями оптического потока.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут включать в себя кодер 100 или 300 и/или декодер 200 или 500, определяющие набор значений разницы векторов движения, связанных с местоположениями семплов соответствующего подблока. Например, может генерироваться сигнал прогнозирования движения на основе подблоков и может определяться набор значений разницы векторов движения с использованием аффинной модели движения для текущего блока.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, набор значений разницы векторов движения может определяться для соответствующего подблока текущего блока и может использоваться для определения сигнала уточнения прогнозирования движения для других оставшихся подблоков текущего блока.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, определение пространственных градиентов соответствующего подблока может включать расчет пространственных градиентов с использованием любого из следующего: (1) вертикальный фильтр Собеля; (2) горизонтальный фильтр Собеля; и/или (3) 3-отводный фильтр.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, смежные эталонные семплы, которые граничат с соответствующим подблоком и окружают его, могут использовать целочисленную компенсацию движения.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, пространственные градиенты соответствующего подблока могут включать в себя любое из следующего: горизонтальный градиент или вертикальный градиент. Например, горизонтальный градиент может рассчитываться как разница яркости или разница цветности между правым соседним семплом соответствующего семпла и левым соседним семплом соответствующего семпла; и/или вертикальный градиент может рассчитываться как разница яркости или разница цветности между нижним соседним семплом соответствующего семпла и верхним соседним семплом соответствующего семпла.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, сигнал прогнозирования движения на основе подблоков может генерироваться с использованием любого из следующего: (1) аффинная модель с 4 параметрами; а(2) аффинная модель с 6 параметрами; (3) компенсация движения в режиме временного прогнозирования вектора движения на основе подблоков (SbTMVP); или (3) компенсация движения на основе регрессии. Например, при условии выполнения компенсации движения на основе режима SbTMVP способ может включать в себя: оценку посредством операции линейной регрессии параметров аффинной модели с использованием поля вектора движения подблоков; и/или выведение векторов движения на уровне пикселей с использованием оцененных параметров аффинной модели. В качестве другого примера, при условии выполнения компенсации движения на основе режима RMVF способ может включать: оценку параметров аффинной модели; и/или выведение смещений вектора движения на уровне пикселей из векторов движения на уровне подблоков с использованием оцененных параметров аффинной модели. Смещения вектора движения пикселя могут быть относительно центра соответствующего подблока.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1 900, 2000, 2100, 2200 и 2600, уточненный сигнал прогнозирования движения для соответствующего подблока может основываться на фактической позиции центра соответствующего подблока или может основываться на местоположении семпла, ближайшем к фактическому центру соответствующего подблока.
Например, эти способы могут включать в себя кодер 100 или 300 и/или декодер 200 или 500, выбирающие в качестве центральной позиции, связанной с вектором прогнозирования движения для каждого соответствующего подблока, одно из следующего: (1) фактический центр каждого соответствующего подблока; или (2) местоположение семпла, наиболее близкое к фактическому центру соответствующего подблока. Уточненный сигнал прогнозирования движения может основываться на выбранной позиции центра каждого подблока.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, эти способы могут включать в себя кодер 100 или 300 и/или декодер 200 или 500, определяющие позицию центра, связанную с пикселями цветности соответствующего подблока; и смещение к положению центра пикселей цветности соответствующего подблока на основании типа семпла местоположения цветности, связанного с пикселями цветности. Уточненный сигнал прогнозирования движения для соответствующего подблока может основываться на фактической позиции подблока, соответствующей определенной позиции центра пикселей цветности, скорректированной посредством смещения.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200 и 2600, кодер 100 или 300 может генерировать и передавать информацию, указывающую, активирована ли процедура уточнения прогноза с помощью оптического потока (PROF) в одном из следующего: (1) заголовок набора параметров последовательности (SPS), (2) заголовок набора параметров изображения (PPS) или (3) заголовок мозаичной группы, и/или декодер 200 или 500 может принимать информацию, указывающую, активирована ли процедура PROF, в одном из следующего: (1) заголовок SPS, (2) заголовок PPS или (3) заголовок мозаичной группы.
На фиг. 27 представлена блок-схема, иллюстрирующая десятый типовой способ кодирования и/или декодирования.
Как показано на фиг. 27, типовой способ 2700 кодирования и/или декодирования видеосигнала может включать в себя в блоке 2710 кодер 100 или 300 и/или декодер 200 или 500, определяющий фактическую центральную позицию каждого соответствующего подблока текущего блока. В блоке 2720 кодировщик 100 или 300 и/или декодер 200 или 500 могут генерировать сигнал прогнозирования движения на основе подблоков или уточненный сигнал прогнозирования движения с использованием фактической позиции центра каждого соответствующего подблока из текущего блока. В блоке 2730, (1) кодировщик 100 или 300 может кодировать видеосигнал с использованием сигнала прогнозирования движения на основе подблоков или сгенерированного уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, или (2) декодер 200 или 500 может декодировать видеосигнал с использованием сигнала прогнозирования движения на основе подблоков или сгенерированного уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока. В некоторых вариантах осуществления операции в блоках 2710, 2720 и 2730 могут выполняться для по меньшей мере одного блока (например, текущего блока) в видео. Например, определение фактической позиции центра каждого соответствующего подблока текущего блока может включать определение положения центра цветности, связанного с пикселями цветности соответствующего подблока, и смещение позиции центра цветности относительно позиции центра соответствующего подблока на основании типа местоположения семпла цветности пикселей цветности. Сигнал прогнозирования движения на основе подблоков или уточненный сигнал прогнозирования движения для соответствующего подблока может основываться на фактической позиции центра соответствующего подблока, которая соответствует определенной позиции центра цветности, скорректированной посредством смещения. Хотя фактический центр каждого соответствующего подблока текущего блока описан как определенный/используемый для различных операций, предполагается, что может определяться/использоваться одна, часть или все из центральных позиций таких подблоков.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2600, 2700 и 2800, генерирование уточненного сигнала прогнозирования движения может использовать сигнал прогнозирования движения на основе подблоков для каждого соответствующего подблока текущего блока путем определения одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков, определения сигнала уточнения прогнозирования движения для текущего блока на основе определенных пространственных градиентов и/или объединения сигнала прогнозирования движения на основе подблоков и сигнала уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока. Например, определение одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков может включать в себя: определение расширенного подблока, использование сигнала прогнозирования движения на основе подблоков и смежных эталонных семплов, которые граничат с соответствующим подблоком и окружают его, и/или определение посредством использования определенного расширенного подблока, одного или более пространственных градиентов соответствующего подблока.
В определенных типовых вариантах осуществления, включая по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2600, 2700 и 2800, определение пространственных градиентов соответствующего подблока может включать расчет по меньшей мере одного градиентного значения для каждого соответствующего местоположения семпла в соответствующем подблоке. Например, расчет по меньшей мере одного градиентного значения для каждого соответствующего местоположения семпла в соответствующем подблоке может включать для каждого соответствующего местоположения семпла применение градиентного фильтра к соответствующему местоположению семпла в соответствующем подблоке.
В другом примере расчет по меньшей мере одного градиентного значения для каждого соответствующего местоположения семпла в соответствующем подблоке может включать определение изменения интенсивности для одного или более соответствующих местоположений семпла в соответствующем подблоке в соответствии с уравнениями оптического потока.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2600, 2700 и 2800, эти способы могут включать в себя кодер 100 или 300 и/или декодер 200 или 500, определяющие набор значений разницы векторов движения, связанных с местоположениями семплов соответствующего подблока. Может генерироваться сигнал прогнозирования движения на основе подблоков и может определяться набор значений разницы векторов движения с использованием аффинной модели движения для текущего блока. В определенных примерах набор значений разницы векторов движения может определяться для соответствующего подблока текущего блока и может использоваться (например, повторно использоваться) для определения сигнала уточнения прогнозирования движения для этого подблока и других оставшихся подблоков текущего блока. Например, определение пространственных градиентов соответствующего подблока может включать расчет пространственных градиентов с использованием любого из следующего: (1) вертикальный фильтр Собеля; (2) горизонтальный фильтр Собеля; и/или (3) 3-отводный фильтр. Смежные эталонные семплы, которые граничат и окружают соответствующий подблок, могут использовать целочисленную компенсацию движения.
В некоторых вариантах осуществления пространственные градиенты соответствующего подблока могут включать в себя любое из: горизонтального градиента или вертикального градиента. Например, горизонтальный градиент может рассчитываться как разница яркости или разница цветности между правым соседним семплом соответствующего семпла и левым соседним семплом соответствующего семпла. В качестве другого примера вертикальный градиент может рассчитываться как разница яркости или разница цветности между нижним соседним семплом соответствующего семпла и верхним соседним семплом соответствующего семпла.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2600, 2700 и 2800, сигнал прогнозирования движения на основе подблоков может генерироваться с использованием любого из следующего: (1) аффинная модель с 4 параметрами; а(2) аффинная модель с 6 параметрами; (3) компенсация движения в режиме временного прогнозирования вектора движения на основе подблоков (SbTMVP); и/или (3) компенсация движения на основе регрессии. Например, при условии выполнения компенсации движения на основе режима SbTMVP способ может включать в себя: оценку посредством операции линейной регрессии параметров аффинной модели с использованием поля вектора движения подблоков; и/или выведение векторов движения на уровне пикселей с использованием оцененных параметров аффинной модели. В качестве другого примера, при условии выполнения компенсации движения на основе режима поля движения на основе регрессии (RMVF) способ может включать: оценку параметров аффинной модели; и/или выведение смещений вектора движения на уровне пикселей из векторов движения на уровне подблоков с использованием оцененных параметров аффинной модели, при этом смещения вектора движения пикселя относительно центра соответствующего подблока.
В определенных типовых вариантах осуществления, включающих в себя по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2600, 2700 и 2800, уточненный сигнал прогнозирования движения может генерироваться с использованием множества векторов движения, связанных с контрольными точками текущего блока.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2600, 2700 и 2800, кодер 100 или 300 может генерировать, кодировать и передавать, а декодер 200 или 500 может принимать и декодировать информацию, указывающую, активирована ли процедура уточнения прогноза с помощью оптического потока (PROF) в одном из следующего: (1) заголовок набора параметров последовательности (SPS), (2) заголовок набора параметров изображения (PPS) или (3) заголовок мозаичной группы.
На фиг. 28 представлена блок-схема, иллюстрирующая одиннадцатый типовой способ кодирования и/ или декодирования.
Как показано на фиг. 28, типовой способ 2800 кодирования и/или декодирования видеосигнала может включать в себя в блоке 2810 кодер 100 или 300 и/или декодер 200 или 500, выбирающие в качестве позиции центра, связанной с вектором прогнозирования движения для каждого соответствующего подблока, одно из следующего: (1) фактический центр каждого соответствующего подблока; или (2) местоположение семпла, наиболее близкое к фактическому центру соответствующего подблока. В блоке 2820 кодер 100 или 300 и/или декодер 200 или 500 могут определять выбранную центральную позицию каждого соответствующего подблока текущего блока. В блоке 2830 кодировщик 100 или 300 и/или декодер 200 или 500 могут генерировать сигнал прогнозирования движения на основе подблоков или уточненный сигнал прогнозирования движения с использованием выбранной позиции центра каждого соответствующего подблока из текущего блока. В блоке 2840, (1) кодировщик 100 или 300 может кодировать видеосигнал с использованием сигнала прогнозирования движения на основе подблоков или сгенерированного уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, или (2) декодер 200 или 500 может декодировать видеосигнал с использованием сигнала прогнозирования движения на основе подблоков или сгенерированного уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока. В некоторых вариантах осуществления операции в блоках 2810, 2820, 2830 и 2840 могут выполняться для по меньшей мере одного блока (например, текущего блока) в видео. Хотя выбор позиции центра описывается применительно к каждому соответствующему подблоку текущего блока, предполагается, что одна, часть или все из центральных позиций таких подблоков могут выбираться/использоваться в различных операциях.
На фиг. 29 представлена блок-схема, иллюстрирующая типовой способ кодирования.
Как показано на фиг. 29, типовой способ 2900 кодирования видео может включать в себя в блоке 2910 кодер 100 или 300, выполняющий оценку движения для текущего блока видео, включая определение параметров аффинной модели движения для текущего блока с использованием итерационной операции компенсации движения, и генерирующий сигнал прогнозирования движения на основе подблоков для текущего блока с использованием определенных параметров аффинной модели движения. В блоке 2920 кодер 100 или 300 после выполнения оценки движения для текущего блока может выполнять операцию уточнения прогноза с помощью оптического потока (PROF) для генерирования уточненного сигнала прогнозирования движения. В блоке 2930 кодер 100 или 300 может кодировать видеосигнал с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока. Например, операция PROF может включать в себя: определение одного или более пространственных градиентов сигнала прогнозирования движения на основе подблоков; определение сигнала уточнения прогнозирования движения для текущего блока на основе определенных пространственных градиентов; и/или комбинирования сигнала прогнозирования движения на основе подблоков и сигнала уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока.
В определенных типовых вариантах осуществления, включающих по меньшей мере типовые способы 1800, 1850, 1900, 2000, 2100, 2200, 2600 и 2900, операция PROF может выполняться после (например, только после) завершения итерационной операции компенсации движения. Например, во время оценки движения для текущего блока операция PROF не выполняется.
На фиг. 30 представлена блок-схема, иллюстрирующая другой типовой способ кодирования.
Как показано на фиг. 30, типовой способ 3000 кодирования видеосигнала может включать в себя в блоке 3010 кодер 100 или 300 во время оценки движения для текущего блока определяющий параметры аффинной модели движения с использованием итерационной операции компенсации движения и генерирующий сигнал прогнозирования движения на основе подблоков с использованием определенных параметров аффинной модели движения. В блоке 3020 кодер 100 или 300 может после оценки движения для текущего блока при условии, что размер текущего блока соответствует пороговому размеру или превышает его, выполнять операцию уточнения прогнозирования с помощью оптического потока (PROF) для генерирования уточненного сигнала прогнозирования движения. В блоке 3030 кодер 100 или 300 может кодировать видеосигнал: (1) используя уточненный сигнал прогнозирования движения в качестве прогнозирования для текущего блока при условии, что текущий блок соответствует пороговому размеру или превышает его, или (2) используя сигнал прогнозирования движения на основе подблоков в качестве прогнозирования для текущего блока при условии, что текущий блок не удовлетворяет пороговому размеру.
На фиг. 31 представлена блок-схема, иллюстрирующая двенадцатый типовой способ кодирования/декодирования.
Как показано на фиг. 31, типовой способ 3100 кодирования и/или декодирования видеосигнала может включать в себя в блоке 3110 кодер 100 или 300, определяющий или получающий информацию, указывающую размер текущего блока, или декодер 200 или 500, принимающий информацию, указывающую размер текущего блока. В блоке 3120 кодер 100 или 300 или декодер 200 или 500 могут генерировать сигнал прогнозирования движения на основе подблоков. В блоке 3130 кодер 100 или 300 или декодер 200 или 500 при условии, что размер текущего блока равен или превышает пороговый размер, могут выполнять операцию уточнения прогнозирования с помощью оптического потока (PROF) для генерирования уточненного сигнала прогнозирования движения. В блоке 3140 кодер 100 или 300 может кодировать видеосигнал: (1) используя уточненный сигнал прогнозирования движения в качестве прогнозирования для текущего блока при условии, что текущий блок соответствует пороговому размеру или превышает его, или (2) используя сигнал прогнозирования движения на основе подблоков в качестве прогнозирования для текущего блока при условии, что текущий блок не удовлетворяет пороговому размеру, или декодер 200 или 500 может декодировать видеосигнал: (1) используя уточненный сигнал прогнозирования движения в качестве прогнозирования для текущего блока при условии, что текущий блок соответствует пороговому размеру или превышает его, или (2) используя сигнал прогнозирования движения на основе подблоков в качестве прогнозирования для текущего блока при условии, что текущий блок не удовлетворяет пороговому размеру.
На фиг. 32 представлена блок-схема, иллюстрирующая тринадцатый типовой способ кодирования/декодирования.
Как показано на фиг. 32, типовой способ 3200 кодирования и/или декодирования видео может включать в себя, в блоке 3210, кодер 100 или 300, определяющий необходимость выполнения компенсации движения на уровне пикселей, или декодер 200 или 500, принимающий флаг, указывающий на необходимость выполнения компенсации движения на уровне пикселей. В блоке 3220 кодер 100 или 300 или декодер 200 или 500 могут генерировать сигнал прогнозирования движения на основе подблоков. В блоке 3230 при условии, что должна выполняться компенсация движения на уровне пикселей, кодер 100 или 300 или декодер 200 или 500 могут: определять один или более пространственных градиентов сигнала прогнозирования движения на основе подблоков, определять сигнал уточнения прогнозирования движения для текущего блока на основе определенных пространственных градиентов, и объединять сигнал прогнозирования движения на основе подблоков и сигнал уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока. В блоке 3240 в соответствии с определением того, должна ли выполняться компенсация движения на уровне пикселей, кодер 100 или 300 может кодировать видеосигнал с использованием сигнала прогнозирования движения на основе подблоков или уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, или декодер 200 или 500 в соответствии с указанием флага может декодировать видеосигнал, используя сигнал прогнозирования движения на основе подблоков или уточненный сигнал прогнозирования движения в качестве прогнозирования для текущего блока. В некоторых вариантах осуществления операции в блоках 3220 и 3230 могут выполняться для одного блока (например, текущего блока) в видео.
На фиг. 33 представлена блок-схема, иллюстрирующая четырнадцатый типовой способ кодирования/декодирования.
Как показано на фиг. 33, типовой способ 3300 кодирования и/или декодирования видео может включать в себя, в блоке 3310, кодер 100 или 300, определяющий или получающий информацию, или декодер 200 или 500, принимающий информацию о весовом коэффициенте интерпрогнозирования, указывающую на один или более весовые коэффициенты, связанные с первым и вторым эталонными изображениями. В блоке 3320 кодер 100 или 300 или декодер 200 или 500 для текущего блока видео могут генерировать сигнал интерпрогнозирования движения на основе подблоков, могут определять первый набор пространственных градиентов, связанных с первым эталонным изображением, и второй набор пространственных градиентов, связанных со вторым эталонным изображением, могут определять сигнал уточнения движения для текущего блока на основе первого и второго наборов пространственных градиентов и информации о весовом коэффициенте интерпрогнозирования и могут комбинировать сигнал интерпрогнозирования движения на основе подблоков и сигнал уточнения движения для генерирования уточненного сигнала интерпрогнозирования движения для текущего блока. В блоке 3330 кодер 100 или 300 может кодировать видеосигнал с использованием уточненного сигнала интерпрогнозирования движения в качестве прогнозирования для текущего блока, и/или декодер 200 или 500 может декодировать видео с использованием уточненного сигнала интерпрогнозирования движения в качестве прогнозирования для текущего блока. Например, информация о весовом коэффициенте интерпрогнозирования представляет собой любое из следующего: (1) индикатор, указывающий на первый весовой коэффициент, который будет применен для первого эталонного изображения, и/или второй весовой коэффициент, который будет применен для второго эталонного изображения; или (2) весовой индекс. В определенных вариантах осуществления сигнал уточнения движения для текущего блока может быть основан на: (1) первом градиентном значении, полученном из первого набора пространственных градиентов и взвешенном в соответствии с первым весовым коэффициентом, указанным в информации о весовом коэффициенте интерпрогнозирования, и/или (2) втором градиентном значении, полученном из второго набора пространственных градиентов и взвешенном в соответствии со вторым весовым коэффициентом, указанным в информации о весовом коэффициенте интерпрогнозирования.
Примеры сетей в соответствии с вариантами осуществления
На фиг. 34A представлена схема, иллюстрирующая пример системы 3400 связи, в которой могут быть реализованы один или более описанных вариантов осуществления. Система 3400 связи может представлять собой систему множественного доступа, от которой множество пользователей беспроводной связи получают содержимое, такое как голосовая информация, данные, видео, обмен сообщениями, широковещание и т.п. Система 3400 связи может быть выполнена с возможностью предоставления множеству пользователей беспроводной связи доступа к такому содержимому посредством совместного использования системных ресурсов, включая ширину полосы пропускания беспроводного соединения. Например, в системах 3400 связи может быть использован один или более способов доступа к каналу, таких как множественный доступ с кодовым разделением каналов (CDMA), множественный доступ с временным разделением каналов (TDMA), множественный доступ с частотным разделением каналов (FDMA), множественный доступ с ортогональным частотным разделением каналов (OFDMA), FDMA с одной несущей (SC-FDMA), расширенное OFDM с безызбыточным расширенным дискретным преобразованием Фурье (DFT) с синхропакетом (ZT UW DTS-s OFDM), OFDM с синхропакетом (UW-OFDM), OFDM с фильтрацией ресурсного блока, блок фильтров с несколькими несущими (FBMC) и т.п.
Как показано на фиг. 34A, система 3400 связи может включать в себя модули 3402a, 3402b, 3402c, 3402d беспроводной передачи/приема (WTRU), RAN 3404/3413, CN 3406/3415, коммутируемую телефонную сеть 3408 общего пользования (PSTN), сеть Интернет 3410 и другие сети 3412, хотя следует понимать, что в описанных вариантах осуществления предполагается возможность применения любого количества WTRU, базовых станций, сетей и/или элементов сети. Каждый из WTRU 3402a, 3402b, 3402c, 3402d может представлять собой устройство любого типа, выполненное с возможностью функционирования и/или взаимодействия в среде беспроводной связи. Например, WTRU 3402a, 3402b, 3402c, 3402d, любой из которых может называться станцией и/или STA, могут быть выполнены с возможностью передачи и/или приема радиосигналов и могут включать в себя оборудование пользователя (UE), мобильную станцию, стационарный или мобильный абонентский модуль, абонентский модуль, пейджер, сотовый телефон, карманный персональный компьютер (PDA), смартфон, ноутбук, нетбук, персональный компьютер, беспроводной датчик, точку доступа или устройство Mi-Fi, устройство Интернета физических объектов (IoT), часы или другие носимые устройства, наголовный дисплей (HMD), транспортное средство, беспилотный радиоуправляемый летательный аппарат, медицинское устройство и приложения (например, применяемые в дистанционной хирургии), промышленное устройство и приложения (например, робот и/или другие беспроводные устройства, работающие в условиях промышленной и/или автоматизированной технологической цепочки), устройство, относящееся к бытовой электронике, устройство, работающее в коммерческой и/или промышленной беспроводной сети, и т.п. Любой из WTRU 3402a, 3402b, 3402c и 3402d можно взаимозаменяемо называть UE.
Системы 3400 связи могут также включать в себя базовую станцию 3414a и/или базовую станцию 3414b. Каждая из базовых станций 3414a, 3414b может представлять собой устройство любого типа, выполненное с возможностью беспроводного взаимодействия с по меньшей мере одним из WTRU 3402a, 3402b, 3402c, 3402d для облегчения доступа к одной или более сетям связи, таким как CN 3406/3415, сеть Интернет 3410 и/или другие сети 3412. В качестве примера базовые станции 3414a, 3414b могут представлять собой базовую приемопередающую станцию (BTS), станцию Node-B, eNode-B (end), Home Node-B (HNB), Home eNode-B (HeNB), gNB, NR Node-B, контроллер пункта связи, точку доступа (AP), беспроводной маршрутизатор и т.п. Хотя каждая из базовых станций 3414a, 3414b показана как отдельный элемент, следует понимать, что базовые станции 3414a, 3414b могут включать в себя любое количество взаимно соединенных базовых станций и/или сетевых элементов.
Базовая станция 3414a может быть частью RAN 3404/3413, которая может также включать в себя другие базовые станции и/или элементы сети (не показаны), такие как контроллер базовой станции (BSC), контроллер радиосети (RNC), ретрансляционные узлы и т.п. Базовая станция 3414a и/или базовая станция 3414b могут быть выполнены с возможностью передачи и/или приема радиосигналов на одной или более несущих частотах, которые могут называться сотой (не показана). Эти частоты могут относиться к лицензированному спектру, нелицензированному спектру или к сочетанию лицензированного и нелицензированного спектров. Сота может обеспечивать покрытие для беспроводного сервиса в конкретной географической зоне, которая может быть относительно фиксированной или которая может изменяться со временем. Сота может быть дополнительно разделена на сектора соты. Например, сота, связанная с базовой станцией 3414a, может быть разделена на три сектора. Таким образом, в одном варианте осуществления базовая станция 3414a может включать в себя три приемопередатчика, т.е. по одному для каждого сектора соты. В варианте осуществления в базовой станции 3414a может быть использована технология «множественный вход — множественный выход» (MIMO) и может быть задействовано множество приемопередатчиков для каждого сектора соты. Например, для передачи и/или приема сигналов в требуемых пространственных направлениях можно использовать формирование лучей.
Базовые станции 3414a, 3414b могут обмениваться данными с одним или более из WTRU 3402a, 3402b, 3402c, 3402d посредством радиоинтерфейса 3416, который может представлять собой любую подходящую систему беспроводной связи (например, для передачи сигналов в радиочастотном (РЧ), микроволновом спектре, спектре сантиметровых волн, спектре микрометровых волн, инфракрасном (ИК), ультрафиолетовом (УФ) спектре, спектре видимого света и т.д.). Радиоинтерфейс 3416 может быть установлен с использованием любой подходящей технологии радиодоступа (RAT).
Более конкретно, как указано выше, система 3400 связи может представлять собой систему множественного доступа, и в ней можно использовать одну или более схем доступа к каналу, например CDMA, TDMA, FDMA, OFDMA, SC-FDMA и т.п. Например, в базовой станции 3414a в RAN 3404/3413 и WTRU 3402a, 3402b, 3402c может быть реализована технология радиосвязи, такая как универсальный наземный доступ (UTRA) для универсальной системы мобильной связи (UMTS), в которой может быть установлен радиоинтерфейс 3415/3416/3417 с использованием широкополосного CDMA (WCDMA). WCDMA может включать в себя протоколы связи, такие как высокоскоростной пакетный доступ (HSPA) и/или усовершенствованный HSPA (HSPA+). Протокол HSPA может включать в себя высокоскоростной пакетный доступ по нисходящей (DL) линии связи (HSDPA) и/или высокоскоростной пакетный доступ по восходящей (UL) линии связи (HSUPA).
В варианте осуществления в базовой станции 3414a и WTRU 3402a, 3402b, 3402c может быть реализована такая технология радиосвязи, как усовершенствованная сеть наземного радиодоступа UMTS (E-UTRA), которая может устанавливать радиоинтерфейс 3416 с использованием стандарта долгосрочного развития сетей связи (LTE), и/или LTE-Advanced (LTE-A), и/или LTE-Advanced Pro (LTE-A Pro).
В варианте осуществления базовая станция 3414a и WTRU 3402a, 3402b, 3402c могут реализовывать такую технологию радиосвязи, как новая технология радиодоступа (NR Radio Access), которая может устанавливать радиоинтерфейс 3416 с использованием технологии New Radio (NR).
В варианте осуществления в базовой станции 3414a и WTRU 3402a, 3402b, 3402c может быть реализовано множество технологий радиодоступа. Например, в совокупности в базовой станции 3414a и WTRU 3402a, 3402b, 3402c могут быть реализованы технологии радиодоступа LTE и NR, например, с использованием принципов двойного подключения (DC). Таким образом, радиоинтерфейс, применяемый WTRU 3402a, 3402b, 3402c, может характеризоваться применением множества типов технологий радиодоступа и/или передачами, направляемыми на базовые станции / с базовых станций, относящихся к множеству типов (например, оконечные и gNB).
В других вариантах осуществления в базовой станции 3414a и WTRU 3402a, 3402b, 3402c могут быть реализованы технологии радиосвязи, такие как IEEE 802.11 (т.е. WiFi), IEEE 802.16 (т.е. технология широкополосного доступа в микроволновом диапазоне (WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, временный стандарт 2000 (IS-2000), временный стандарт 95 (IS-95), временный стандарт 856 (IS-856), глобальная система мобильной связи (GSM), развитие стандарта GSM с увеличенной скоростью передачи данных (EDGE), GSM EDGE (GERAN) и т.п.
Базовая станция 3414b, показанная на фиг. 34A, может представлять собой, например, беспроводной маршрутизатор, станцию Home Node B, станцию Home eNode B или точку доступа, и в ней может быть применена любая подходящая RAT для облегчения обеспечения беспроводной связи в локализованной зоне, такой как коммерческое предприятие, жилое помещение, транспортное средство, учебное заведение, промышленный объект, воздушный коридор (например, для применения беспилотными радиоуправляемыми летательными аппаратами), проезжая часть и т.п. В одном варианте осуществления в базовой станции 3414b и WTRU 3402c, 3402d может быть реализована технология радиосвязи, такая как IEEE 802.11, для создания беспроводной локальной сети (WLAN). В варианте осуществления в базовой станции 3414b и WTRU 3402c, 3402d может быть реализована технология радиосвязи, такая как IEEE 802.15, для создания беспроводной персональной сети (WPAN). В еще одном варианте осуществления в базовой станции 3414b и WTRU 3402c, 3402d можно использовать RAT на основе сот (например, WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR и т.п.) для создания пикосоты или фемтосоты. Как показано на фиг. 34A, базовая станция 3414b может иметь прямое соединение с сетью Интернет 3410. Таким образом, для базовой станции 3414b может не требоваться доступа к сети Интернет 3410 посредством CN 3406/3415.
RAN 3404/3413 может обмениваться данными с CN 3406/3415, которая может представлять собой сеть любого типа, выполненную с возможностью предоставления услуг передачи голосовой информации, данных, приложений и/или голосовой связи по протоколу (VoIP) сети Интернет одному или более из WTRU 3402a, 3402b, 3402c, 3402d. К данным могут предъявляться различные требования по качеству обслуживания (QoS), например различные требования по производительности, требования к задержке, требования к отказоустойчивости, требования к надежности, требования к скорости передачи данных, требования к мобильности и т.п. Сеть CN 3406/3415 может предоставлять управление вызовами, услуги биллинга, услуги мобильной связи на основании местоположения, предварительно оплаченные вызовы, возможность связи с сетью Интернет, распределение видеосигналов и т.п. и/или выполнять функции высокоуровневой защиты, такие как аутентификация пользователей. Хотя на фиг. 34A это не показано, следует понимать, что RAN 1084/3413 и/или CN 3406/3415 могут прямо или косвенно обмениваться данными с другими RAN, в которых задействована такая же RAT, что и в RAN 3404/3413, или другая RAT. Например, в дополнение к соединению с RAN 3404/3413, в которой может быть использована технология радиосвязи NR, CN 3406/3415 может также обмениваться данными с другой RAN (не показана), использующей технологию радиосвязи GSM, UMTS, CDMA 2000, WiMAX, E-UTRA или WiFi.
CN 3406/3415 может также выступать в качестве шлюза для WTRU 3402a, 3402b, 3402c, 3402d, чтобы обеспечивать доступ к сети PSTN 3408, сети Интернет 3410 и/или другим сетям 3412. PSTN 3408 может включать в себя телефонные сети с коммутацией каналов, которые предоставляют традиционные услуги телефонной связи (POTS). Интернет 3410 может включать в себя глобальную систему взаимно соединенных компьютерных сетей и устройств, которые используют распространенные протоколы связи, такие как протокол управления передачей (TCP), протокол пользовательских дейтаграмм (UDP) и/или протокол Интернета (IP) в наборе протоколов Интернета TCP/IP. Сети 3412 могут включать в себя проводные и/или беспроводные сети связи, которые принадлежат другим поставщикам услуг и/или управляются ими. Например, сети 3412 могут включать в себя другую CN, соединенную с одной или более RAN, в которых может быть использована такая же RAT, как и в RAN 3404/3413, или другая RAT.
Некоторые или все из WTRU 3402a, 3402b, 3402c, 3402d в системе 3400 связи могут включать в себя многорежимные возможности (например, WTRU 3402a, 3402b, 3402c, 3402d могут включать в себя множество приемопередатчиков для связи с разными беспроводными сетями по разным беспроводным линиям связи). Например, WTRU 3402c, показанный на фиг. 34A, может быть выполнен с возможностью обмена данными с базовой станцией 3414a, которая может использовать технологию радиосвязи на основе сот, а также с базовой станцией 3414b, которая может использовать технологию радиосвязи IEEE 802.
На фиг. 34B представлена схема системы, иллюстрирующая пример WTRU 3402. Как показано на фиг. 34B, WTRU 3402 может включать в себя, помимо прочего, процессор 3418, приемопередатчик 3420, передающий/приемный элемент 3422, динамик/микрофон 3424, клавиатуру 3426, дисплей/сенсорную панель 3428, несъемное запоминающее устройство 3430, съемное запоминающее устройство 3432, источник 3434 питания, набор 3436 микросхем глобальной системы определения местоположения (GPS) и/или другие периферийные устройства 3438. Следует понимать, что WTRU 3402 может включать в себя любую подкомбинацию вышеперечисленных элементов и при этом соответствовать варианту осуществления.
Процессор 3418 может представлять собой процессор общего назначения, процессор специального назначения, традиционный процессор, цифровой сигнальный процессор (DSP), множество микропроцессоров, один или более микропроцессоров, связанных с ядром DSP, контроллер, микроконтроллер, специализированные интегральные схемы (ASIC), схемы программируемых пользователем вентильных матриц (FPGA), интегральную схему (IC) любого другого типа, конечный автомат и т.п. Процессор 3418 может выполнять кодирование сигналов, обработку данных, управление мощностью, обработку ввода/вывода и/или иметь любые другие функциональные возможности, необходимые WTRU 3402 для функционирования в среде беспроводной связи. Процессор 3418 может быть соединен с приемопередатчиком 3420, который может быть соединен с передающим/приемным элементом 3422. Хотя на фиг. 34B процессор 3418 и приемопередатчик 3420 показаны в виде отдельных компонентов, следует понимать, что процессор 3418 и приемопередатчик 3420 могут быть выполнены как единое целое и встроены в электронный блок или микросхему. Процессор 3418 может быть выполнен с возможностью кодирования или декодирования видео (например, видеокадров).
Передающий/приемный элемент 3422 может быть выполнен с возможностью передачи сигналов на базовую станцию (например, базовую станцию 3414a) или приема от нее сигналов по радиоинтерфейсу 3416. Например, в одном варианте осуществления передающий/приемный элемент 3422 может представлять собой антенну, выполненную с возможностью передачи и/или приема РЧ-сигналов. В варианте осуществления передающий/приемный элемент 3422 может представлять собой излучатель/детектор, выполненный с возможностью передачи и/или приема, например, сигналов в ИК-, УФ-спектре или спектре видимого света. В еще одном варианте осуществления передающий/приемный элемент 3422 может быть выполнен с возможностью передачи и/или приема сигналов как в РЧ-спектре, так и в спектре видимого света. Следует понимать, что передающий/приемный элемент 3422 может быть выполнен с возможностью передачи и/или приема любой комбинации радиосигналов.
Хотя на фиг. 34B передающий/приемный элемент 3422 показан в виде единственного элемента, WTRU 3402 может включать в себя любое количество передающих/приемных элементов 3422. Более конкретно, в WTRU 3402 может быть использована технология MIMO. Таким образом, в одном варианте осуществления WTRU 3402 может включать в себя два или более передающих/приемных элементов 3422 (например, множество антенн) для передачи и приема радиосигналов по радиоинтерфейсу 3416.
Приемопередатчик 3420 может быть выполнен с возможностью модуляции сигналов, передаваемых посредством передающего/приемного элемента 3422, а также демодуляции сигналов, принятых посредством передающего/приемного элемента 3422. Как указано выше, WTRU 3402 может иметь многорежимные возможности. Таким образом, приемопередатчик 3420 может включать в себя множество приемопередатчиков, с помощью которых WTRU 3402 получает возможность взаимодействия посредством множества RAT, таких как, например, NR и IEEE 802.11.
Процессор 3418 WTRU 3402 может быть соединен с динамиком/микрофоном 3424, клавиатурой 3426 и/или дисплеем/сенсорной панелью 3428 (например, жидкокристаллическим дисплеем (LCD) или дисплеем на органических светодиодах (OLED)) и может принимать от них данные, вводимые пользователем. Процессор 3418 может также выводить пользовательские данные на динамик/микрофон 3424, клавиатуру 3426 и/или дисплей/сенсорную панель 3428. Кроме того, процессор 3418 может иметь доступ к информации с подходящего запоминающего устройства любого типа, такого как несъемное запоминающее устройство 3430 и/или съемное запоминающее устройство 3432, и хранить на нем данные. Несъемное запоминающее устройство 3430 может включать в себя оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), жесткий диск или запоминающее устройство любого другого типа. Съемное запоминающее устройство 3432 может включать в себя карту модуля идентификации абонента (SIM), карту памяти, защищенную цифровую карту памяти (SD) и т.п. В других вариантах осуществления процессор 3418 может осуществлять доступ к информации с запоминающего устройства, которое физически размещено не в WTRU 3402, а, например, на сервере или домашнем компьютере (не показан), и хранить на нем данные.
Процессор 3418 может принимать питание от источника 3434 питания и может быть выполнен с возможностью управления питанием и/или распределения питания на другие компоненты в WTRU 3402. Источник 3434 питания может представлять собой любое подходящее устройство для подачи питания на WTRU 3402. Например, источник 3434 питания может включать в себя одну или более сухих батарей (например, никель-кадмиевых (NiCd), никель-цинковых (NiZn), никель-металл-гидридных (NiMH), литий-ионных (Li-ion) и т.п.), солнечных элементов, топливных элементов и т.п.
Процессор 3418 может также быть соединен с набором 3436 микросхем GPS, который может быть выполнен с возможностью предоставления информации о местоположении (например, долготы и широты) относительно текущего местоположения WTRU 3402. Дополнительно или вместо информации от набора 3436 микросхем GPS модуль WTRU 3402 может принимать информацию о местоположении по радиоинтерфейсу 3416 от базовой станции (например, от базовых станций 3414a, 3414b) и/или определять свое местоположение на основании синхронизации сигналов, принимаемых от двух или более соседних базовых станций. Следует понимать, что WTRU 3402 может получать информацию о местоположении посредством любого подходящего способа определения местоположения и при этом соответствовать варианту осуществления.
Процессор 3418 может быть дополнительно соединен с другими периферийными устройствами 3438, которые могут включать в себя один или более программных и/или аппаратных модулей, в которых предусмотрены дополнительные признаки, функциональные возможности и/или возможности по установлению проводной или беспроводной связи. Например, периферийные устройства 3438 могут включать в себя акселерометр, электронный компас, спутниковый приемопередатчик, цифровую камеру (для фото- и/или видеосъемки), порт универсальной последовательной шины (USB), вибрационное устройство, телевизионный приемопередатчик, беспроводную гарнитуру, модуль Bluetooth®, радиомодуль с частотной модуляцией (FM), цифровой музыкальный проигрыватель, мультимедийный проигрыватель, модуль для воспроизведения видеоигр, Интернет-браузер, устройство виртуальной реальности и/или дополненной реальности (VR/AR), трекер активности и т.п. Периферийные устройства 3438 могут включать в себя один или более датчиков, причем датчики могут представлять собой один или более из гироскопа, акселерометра, датчика Холла, магнитометра, датчика ориентации, датчика приближения, датчика температуры, датчика времени; датчика географического положения; высотомера, датчика освещенности, датчика касания, магнитометра, барометра, датчика жеста, биометрического датчика и/или датчика влажности.
Процессор 3418 WTRU 3402 может функционально взаимодействовать с различными периферийными устройствами 3438, включая, например, любое из одного или более акселерометров, одного или более гироскопов, USB-порта, других интерфейсов / портов связи, дисплея и/или других визуальных/звуковых индикаторов, для реализации типовых вариантов осуществления, описанных в настоящем документе.
WTRU 3402 может включать в себя полнодуплексное радиоустройство, для которого передача и прием некоторых или всех сигналов, например, связанных с конкретными подкадрами как для UL (например, для передачи), так и для нисходящей линии связи (например, для приема), могут быть осуществлены совместно и/или одновременно. Полнодуплексное радиоустройство может включать в себя блок управления помехами для снижения уровня и/или по существу устранения собственных помех с помощью либо аппаратного обеспечения (например, дросселя), либо обработки сигнала с помощью процессора (например, отдельного процессора (не показан) или процессора 3418). В варианте осуществления WTRU 3402 может включать в себя полудуплексное радиоустройство для передачи и приема некоторых или всех сигналов (например, связанных с конкретными подкадрами) как для UL (например, для передачи), так и для нисходящей линии связи (например, для приема).
На фиг. 34C представлена схема системы, иллюстрирующая RAN 104 и CN 3406 в соответствии с вариантом осуществления. Как отмечено выше, RAN 3404 может использовать технологию радиосвязи E-UTRA для обмена данными с WTRU 3402a, 3402b, 3402c по радиоинтерфейсу 3416. RAN 3404 может также обмениваться данными с CN 3406.
RAN 3404 может включать в себя eNode-B 3460a, 3460b, 3460c, хотя следует понимать, что сеть RAN 3404 может включать в себя любое количество eNode-B и при этом соответствовать варианту осуществления. Каждая eNode-B 3460a, 3460b, 3460c может включать в себя один или более приемопередатчиков для обмена данными с WTRU 3402a, 3402b, 3402c по радиоинтерфейсу 3416. В одном варианте осуществления в eNode B 3460a, 3460b, 3460c может быть реализована технология MIMO. Таким образом, в eNode-B 3460a может, например, применяться множество антенн для передачи беспроводных на WTRU 3402a и/или приема беспроводных сигналов от него.
Каждая eNode-B 3460a, 3460b, 3460c может быть связана с конкретной сотой (не показана) и может быть выполнена с возможностью принятия решений по управлению радиоресурсами, решений по передаче обслуживания, диспетчеризации пользователей в UL и/или DL и т.п. Как показано на фиг. 34C, eNode-B 3460a, 3460b, 3460c могут обмениваться данными друг с другом по интерфейсу X2.
CN 3406, показанная на фиг. 34C, может включать в себя объект 3462 управления мобильностью (MME), обслуживающий шлюз 3464 (SGW) и шлюз 3466 (или PGW) сети с пакетной передачей данных (PDN). Хотя каждый из вышеперечисленных элементов показан как часть CN 3406, следует понимать, что любой из этих элементов может принадлежать субъекту, отличному от оператора CN, и/или может быть предоставлен им для применения.
MME 3462 может быть подключен к каждой станции eNode B 3460a, 3460b, 3460c в RAN 3404 посредством интерфейса S1 и может служить в качестве узла управления. Например, MME 3462 может отвечать за аутентификацию пользователей WTRU 3402a, 3402b, 3402c, активацию/деактивацию канала, выбор конкретного обслуживающего шлюза во время начального соединения WTRU 3402a, 3402b, 3402c и т.п. MME 3462 может обеспечивать функцию плоскости управления для переключения между RAN 3404 и другими RAN (не показаны), которые используют другие технологии радиосвязи, такие как GSM и/или WCDMA.
SGW 3464 может быть подключен к каждой eNode B 3460a, 3460b, 3460c в RAN 104 по интерфейсу S1. SGW 3464 может по существу направлять и пересылать пакеты пользовательских данных на WTRU 3402a, 3402b, 3402c и от них. SGW 3464 может выполнять другие функции, например, привязку плоскостей пользователя во время передачи обслуживания между базовыми станциями eNode B, запуск пейджинга, когда данные DL доступны для WTRU 3402a, 3402b, 3402c, управление и хранение контекста WTRU 3402a, 3402b, 3402c и т.п.
SGW 3464 может быть подключен к PGW 3466, который может предоставлять модулям WTRU 3402a, 3402b, 3402c доступ к сетям с коммутацией пакетов, таким как сеть Интернет 3410, для облегчения обмена данными между WTRU 3402a, 3402b, 3402c и устройствами с поддержкой IP.
CN 3406 может облегчать обмен данными с другими сетями. Например, CN 106 может предоставлять модулям WTRU 3402a, 3402b, 3402c доступ к сетям с коммутацией каналов, таким как PSTN 3408, для облегчения обмена данными между WTRU 3402a, 3402b, 3402c и традиционными устройствами связи наземной линии связи. Например, CN 3406 может включать в себя IP-шлюз (например, сервер мультимедийной IP-подсистемы (IMS)), который выступает в качестве интерфейса между CN 3406 и PSTN 3408, или может обмениваться данными с ним. Кроме того, CN 3406 может предоставлять модулям WTRU 3402a, 3402b, 3402c доступ к другим сетям 3412, которые могут включать в себя другие проводные и/или беспроводные сети, которые принадлежат другим поставщикам услуг и/или управляются ими.
Хотя WTRU описан на фиг. 34A–34D как беспроводной терминал, предполагается, что в определенных типовых вариантах осуществления с таким терминалом можно использовать (например, временно или постоянно) проводные интерфейсы связи с сетью связи.
В типовых вариантах осуществления другая сеть 3412 может представлять собой WLAN.
WLAN в режиме базового набора служб (BSS) инфраструктуры может иметь точку доступа (АР) для BSS и одну или более станций (STA), связанных с АР. АР может иметь доступ к системе распределения (DS) или интерфейс с ней или осуществлять связь по проводной/беспроводной сети другого типа, которая переносит трафик в BSS и/или вне BSS. Трафик на станции STA, исходящий извне BSS, может поступать через AP и может быть доставлен на станции STA. Трафик, исходящий из станций STA к получателям вне BSS, может быть отправлен на АР для доставки соответствующим получателям. Трафик между станциями STA в пределах BSS может быть отправлен через АР, например, если STA-источник может отправлять трафик на АР, а АР может доставлять трафик STA-получателю. Трафик между STA в пределах BSS может считаться и/или называться одноранговым трафиком. Одноранговый трафик может быть передан между (например, непосредственно между) STA-источником и STA-получателем при установлении прямой линии связи (DLS). В определенных типовых вариантах осуществления DLS может использовать DLS 802.11e или туннелированное DLS 802.11z (TDLS). WLAN с использованием независимого BSS (IBSS) режима может не иметь АР, а STA (например, каждая STA) в пределах или с использованием IBSS могут осуществлять связь непосредственно друг с другом. В настоящем документе режим IBSS может иногда называться режимом «динамической» связи.
При использовании режима работы инфраструктуры 802.11ac или аналогичного режима работы AP может передавать маяк по фиксированному каналу, такому как первичный канал. Первичный канал может иметь фиксированную ширину (например, ширину полосы пропускания 20 МГц) или ширину, динамически установленную с помощью сигнализации. Первичный канал может представлять собой рабочий канал BSS и может быть использован станциями STA для установления соединения с АР. В определенных типовых вариантах осуществления может быть реализован множественный доступ с контролем несущей и предотвращением коллизий (CSMA/CA), например, в системах 802.11. STA (например, каждая STA), включая АР, могут обнаруживать первичный канал для CSMA/CA. При распознавании/обнаружении и/или определении занятости первичного канала конкретной STA эта конкретная STA может отключаться. Одна STA (например, только одна станция) может осуществлять передачу в любой конкретный момент времени в данном BSS.
Для осуществления связи STA с высокой пропускной способностью (HT) может быть использован канал шириной 40 МГц, например, путем объединения первичного канала 20 МГц со смежным или несмежным каналом 20 МГц с образованием канала шириной 40 МГц.
STA со сверхвысокой пропускной способностью (VHT) могут поддерживать каналы шириной 20 МГц, 40 МГц, 80 МГц и/или 160 МГц. Каналы 40 МГц и/или 80 МГц могут быть образованы путем объединения сплошных каналов 20 МГц. Канал 160 МГц может быть образован путем объединения 8 сплошных каналов 20 МГц или путем объединения двух несплошных каналов 80 МГц, которые могут называться конфигурацией 80+80. Для конфигурации 80+80 данные после кодирования канала могут проходить через анализатор сегментов, который может разделять данные на два потока. Обработку по методу обратного быстрого преобразования Фурье (IFFT) и обработку во временной области можно выполнять отдельно для каждого потока. Потоки могут быть сопоставлены с двумя каналами 80 МГц, а данные могут быть переданы посредством передающей STA. В приемнике принимающей STA вышеописанная операция для конфигурации 80+80 может быть инвертирована, а объединенные данные могут быть отправлены на устройство управления доступом к среде передачи данных (MAC).
Протоколы 802.11af и 802.11ah поддерживают режимы работы на частотах до 1 ГГц. В 802.11af и 802.11ah значения ширины полосы пропускания канала и несущие уменьшены по отношению к используемым в 802.11n и 802.11ac. Протокол 802.11af поддерживает значения ширины полосы пропускания 5 МГц, 10 МГц и 20 МГц в неиспользуемом частотном спектре телевидения (TVWS), а протокол 802.11ah поддерживает значения ширины полосы пропускания 1 МГц, 2 МГц, 4 МГц, 8 МГц и 16 МГц с использованием спектра, отличного от TVWS. Согласно типовому варианту осуществления 802.11ah может поддерживать управление с измерением / межмашинные связи, например, устройства MTC в макрозоне покрытия. Устройства MTC могут обладать определенными возможностями, например, ограниченными возможностями, включая поддержку (например, поддержку только) определенных и/или ограниченных значений ширины полосы пропускания. Устройства МТС могут включать в себя батарею, имеющую срок службы батареи, превышающий пороговое значение (например, для обеспечения очень длительного срока службы батареи).
Системы WLAN, которые могут поддерживать множество каналов и значений ширины полосы пропускания канала, такие как 802.11n, 802.11ac, 802.11af и 802.11ah, включают в себя канал, который может быть назначен в качестве первичного канала. Первичный канал может иметь ширину полосы пропускания, равную наибольшей общей рабочей ширине полосы пропускания, поддерживаемой всеми STA в BSS. Ширина полосы пропускания первичного канала может быть установлена и/или ограничена STA из числа всех STA, работающих в BSS, которая поддерживает режим работы с наименьшей шириной полосы пропускания. В примере 802.11ah первичный канал может иметь ширину 1 МГц для STA (например, устройств типа MTC), которые поддерживают (например, поддерживают только) режим 1 МГц, даже если AP и другие STA в BSS поддерживают 2 МГц, 4 МГц, 8 МГц, 16 МГц и/или режимы работы с другими значениями ширины полосы пропускания канала. Параметры обнаружения несущей и/или вектора выделения сети (NAV) могут зависеть от состояния первичного канала. Если первичный канал занят, например, из-за STA (в которой поддерживается только режим работы 1 МГц), осуществляющей передачу на AP, все доступные полосы частот могут считаться занятыми, даже если большинство полос частот все еще не заняты и могут быть доступными.
В Соединенных Штатах Америки доступные полосы частот, которые могут быть использованы 802.11ah, находятся в диапазоне от 902 МГц до 928 МГц. Доступные полосы частот в Корее — от 917,5 МГц до 923,5 МГц. Доступные полосы частот в Японии — от 916,5 МГц до 927,5 МГц. Общая ширина полосы пропускания, доступная для 802.11ah, составляет от 6 МГц до 26 МГц в зависимости от кода страны.
На фиг. 34D представлена схема системы, иллюстрирующая RAN 3413 и CN 3415 в соответствии с вариантом осуществления. Как отмечено выше, RAN 3413 может задействовать технологию радиосвязи NR для обмена данными с WTRU 3402a, 3402b, 3402c по радиоинтерфейсу 3416. RAN 3413 может также обмениваться данными с CN 3415.
RAN 3413 может включать в себя gNB 3480a, 3480b, 3480c, хотя следует понимать, что RAN 3413 может включать в себя любое количество gNB и при этом соответствовать варианту осуществления. Каждая gNB 3480a, 3480b, 3480c может включать в себя один или более приемопередатчиков для обмена данными с WTRU 3402a, 3402b, 3402c по радиоинтерфейсу 3416. В одном варианте осуществления в gNB 3480a, 3480b, 3480c может быть реализована технология MIMO. Например, gNB 3480a, 3480b могут использовать формирование лучей для передачи сигналов на gNB 3480a, 3480b, 3480c и/или приема сигналов от них. Таким образом, gNB 3480a, например, может использовать множество антенн для передачи радиосигналов на WTRU 3402a и/или приема радиосигналов от него. В варианте осуществления на gNB 3480a, 3480b, 3480c может быть реализована технология агрегирования несущих. Например, gNB 3480a может передавать на WTRU 3402a множество несущих составляющих (не показаны). Подмножество этих несущих составляющих может относиться к нелицензированному спектру, тогда как остальные несущие составляющие могут относиться к лицензированному спектру. В варианте осуществления на gNB 3480a, 3480b, 3480c может быть реализована технология координированной многоточечной передачи (CoMP). Например, WTRU 102a может принимать координированные передачи от gNB 3480a и gNB 3480b (и/или gNB 3480c).
WTRU 3402a, 3402b, 3402c могут обмениваться данными с gNB 3480a, 3480b, 3480c с использованием передач, связанных с масштабируемой численной величиной. Например, разнос символов OFDM и/или разнос поднесущих OFDM может различаться для разных передач, разных сот и/или разных участков спектра беспроводной передачи. WTRU 3402a, 3402b, 3402c могут осуществлять связь с gNB 3480a, 3480b, 3480c с использованием подкадра или временных интервалов передачи (TTI) с различной или масштабируемой длительностью (например, содержащих различное количество символов OFDM и/или имеющих постоянные различные длительности абсолютного значения времени).
gNB 3480a, 3480b, 3480c могут быть выполнены с возможностью обмена данными с WTRU 3402a, 3402b, 3402c в автономной конфигурации и/или в неавтономной конфигурации. В автономной конфигурации WTRU 3402a, 3402b, 3402c могут обмениваться данными с gNB 3480a, 3480b, 3480c без одновременного доступа к другим RAN (например, таким как eNode-B 3460a, 3460b, 3460c). В автономной конфигурации WTRU 3402a, 3402b, 3402c могут использовать одну или более gNB 3480a, 3480b, 3480c в качестве якорной точки мобильности. В автономной конфигурации WTRU 3402a, 3402b, 3402c могут обмениваться данными с gNB 3480a, 3480b, 3480c с использованием сигналов в нелицензированной полосе. В неавтономной конфигурации WTRU 3402a, 3402b, 3402c могут обмениваться данными / устанавливать соединение с gNB 3480a, 3480b, 3480c, одновременно обмениваясь данными / устанавливая соединение с другой RAN, такой как eNode-B 3460a, 3460b, 3460c. Например, WTRU 3402a, 3402b, 3402c могут реализовывать принципы двойного соединения (DC) для по существу одновременного обмена данными с одной или более gNB 3480a, 3480b, 3480c и одной или более eNode-B 3460a, 3460b, 3460c. В неавтономной конфигурации eNode-B 3460a, 3460b, 3460c могут выступать в качестве якорной точки мобильности для WTRU 3402a, 3402b, 3402c, а gNB 3480a, 3480b, 3480c могут обеспечивать дополнительное покрытие и/или пропускную способность для обслуживания WTRU 3402a, 3402b, 3402с.
Каждая из gNB 3480a, 3480b, 3480c может быть связана с конкретной сотой (не показано) и может быть выполнена с возможностью принятия решений относительно управления радиоресурсом, решений относительно передачи обслуживания, планирования пользователей в UL и/или DL, поддержки сегментирования сети, двойного подключения, взаимодействия между NR и E-UTRA, маршрутизации данных плоскости пользователя в функциональный блок 3484a, 3484b плоскости пользователя (UPF), маршрутизации информации плоскости управления в функциональный блок 3482a, 3482b управления доступом и мобильностью (AMF) и т.п. Как показано на фиг. 34D, gNB 3480a, 3480b, 3480c могут обмениваться данными друг с другом по интерфейсу Xn.
CN 3415, показанная на фиг. 34D, может включать в себя по меньшей мере один AMF 3482a, 3482b, по меньшей мере один UPF 3484a, 3484b, по меньшей мере один функциональный блок 3483a, 3483b управления сеансом (SMF) и, возможно, сеть 3485a, 3485b передачи данных (DN). Хотя каждый из вышеперечисленных элементов показан как часть CN 3415, следует понимать, что любой из этих элементов может принадлежать субъекту, отличному от оператора CN, и/или может быть предоставлен им для применения.
AMF 3482a, 3482b могут быть подключены к одной или более из gNB 3480a, 3480b, 3480c в RAN 3413 по интерфейсу N2 и могут выступать в качестве узла управления. Например, AMF 3482a, 3482b могут отвечать за аутентификацию пользователей WTRU 3402a, 3402b, 3402c, поддержку сегментирования сети (например, обработку разных сеансов блока данных протокола (PDU) с разными требованиями), выбор конкретного SMF 3483a, 3483b, управление зоной регистрации, прекращение сигнализации слоя без доступа (NAS), управление мобильностью и т.п. Сегментирование сети может быть использовано в AMF 3482a, 3482b для настройки поддержки CN для WTRU 3402a, 3402b, 3402c на основании типов сервисов, используемых модулей WTRU 3402a, 3402b, 3402c. Например, различные сетевые срезы могут быть установлены для разных вариантов использования, например, службы, основанные на связи повышенной надежности с низкой латентностью (URLLC), службы, основанные на доступе к усовершенствованной (например, массовой мобильной) широкополосной сети мобильной связи (eMBB), службы для доступа к межмашинной связи (MTC) и/или т.п. AMF 3462 может предоставлять функцию плоскости управления для переключения между RAN 3413 и другими RAN (не показаны), которые используют другие технологии радиосвязи, такие как LTE, LTE-A, LTE-A Pro, и/или технологии доступа, отличные от 3GPP, например WiFi.
SMF 3483a, 3483b может быть подключен к AMF 3482a, 3482b в CN 3415 по интерфейсу N11. SMF 3483a, 3483b может также быть подключен к UPF 3484a, 3484b в CN 3415 по интерфейсу N4. SMF 3483a, 3483b могут выбирать UPF 3484a, 3484b и управлять ими, а также конфигурировать маршрутизацию трафика с помощью UPF 3484a, 3484b. SMF 3483a, 3483b может выполнять другие функции, такие как управление IP-адресом UE и его выделение, управление сеансами PDU, управление реализацией политики и QoS, предоставление уведомлений о данных нисходящей линии связи и т.п. Тип сеанса PDU может быть основан на IP, не основан на IP, основан на Ethernet и т.п.
UPF 3484a, 3484b могут быть подключены к одной или более gNB 3480a, 3480b, 3480c в RAN 3413 по интерфейсу N3, который может предоставлять модулям WTRU 3402a, 3402b, 3402c доступ к сетям с коммутацией пакетов, таким как сеть Интернет 3410, для облегчения обмена данными между WTRU 3402a, 3402b, 3402c и устройствами с поддержкой протокола IP. UPF 3484, 3484b могут выполнять другие функции, такие как маршрутизация и передача пакетов, применение политик в плоскости пользователя, поддержка многоканальных сеансов PDU, обработка QoS в плоскости пользователя, буферизация пакетов нисходящей линии связи, привязка для поддержки мобильности и т.п.
CN 3415 может облегчать обмен данными с другими сетями. Например, CN 3415 может включать в себя IP-шлюз (например, сервер мультимедийной IP-подсистемы (IMS)), который выступает в качестве интерфейса между CN 3415 и PSTN 3408, или может обмениваться данными с ним. Кроме того, CN 3415 может предоставлять модулям WTRU 3402a, 3402b, 3402c доступ к другим сетям 3412, которые могут включать в себя другие проводные и/или беспроводные сети, которые принадлежат другим поставщикам услуг и/или управляются ими. В одном варианте осуществления WTRU 3402a, 3402b, 3402c могут быть подключены к локальной сети передачи данных (DN) 3485a, 3485b через UPF 3484a, 3484b по интерфейсу N3 к UPF 3484a, 3484b и интерфейсу N6 между UPF 3484a, 3484b и DN 3485a, 3485b.
С учетом фиг. 34A–34D и соответствующих описаний фиг. 34A–34D одна или более или все из функций, описанных в настоящем документе в связи с одним или более из: WTRU 3402a–d, базовых станций 3414а–b, eNode-B 3460a–c, MME 3462, SGW 3464, PGW 3466, gNB 3480a–c, AMF 3482a–b, UPF 3484a–b, SMF 3483a–b, DN 3485a–b и/или любого (-ых) другого (-их) устройства (устройств), описанного (-ых) в настоящем документе, могут быть реализованы одним или более устройствами эмуляции (не показаны). Устройства эмуляции могут представлять собой одно или более устройств, выполненных с возможностью эмуляции одной или более или всех функций, описанных в настоящем документе. Например, устройства эмуляции можно применять для испытания других устройств и/или для моделирования функций сети и/или WTRU.
Устройства эмуляции могут быть выполнены с возможностью реализации одного или более испытаний других устройств в лабораторной среде и/или в сетевой среде оператора. Например, одно или более устройств эмуляции могут выполнять одну или более функций или все функции, при этом они полностью или частично реализованы и/или развернуты в качестве части проводной и/или беспроводной сети связи, для испытания других устройств в сети связи. Одно или более устройств эмуляции могут выполнять одну или более функций или все функции, при этом они временно реализованы/развернуты в качестве части проводной и/или беспроводной сети связи. Устройство эмуляции может быть непосредственно соединено с другим устройством для испытания и/или выполнения испытания с использованием беспроводной связи посредством канала беспроводной связи.
Одно или более устройств эмуляции могут выполнять одну или более функций, включая все функции, и при этом не быть реализованными/развернутыми в качестве части проводной и/или беспроводной сети связи. Например, устройства эмуляции можно использовать в сценарии испытания в испытательной лаборатории и/или в неразвернутой (например, испытательной) проводной и/или беспроводной сети связи для проведения испытания одного или более компонентов. Одно или более устройств эмуляции могут представлять собой испытательное оборудование. Для передачи и/или приема данных в устройствах эмуляции можно использовать прямое РЧ-соединение и/или беспроводные связи посредством РЧ-схемы (которая может, например, включать в себя одну или более антенн).
Стандарт HEVC позволяет сократить скорость передачи информации приблизительно на 50% для получения эквивалентного качества восприятия по сравнению со стандартом кодирования видеосигналов предыдущего поколения H.264/MPEG AVC. Хотя стандарт HEVC обеспечивает значительные улучшения в отношении кодирования по сравнению с его предшественником, при применении дополнительных инструментов кодирования можно добиться дополнительного улучшения эффективности кодирования. Команда Joint Video Exploration Team (JVET) запускала проект для разработки стандарта видеокодирования нового поколения, называемого Versatile Video Coding (VVC), например, для обеспечения таких улучшений эффективности кодирования, а также была создана база кодов эталонного программного обеспечения, называемая моделью тестирования VVC (VTM), для демонстрации эталонного варианта осуществления стандарта VVC. Для упрощения оценки новых инструментов кодирования также была создана другая эталонная база программного обеспечения, получившая название «эталонный набор критериев» (BMS). В кодовой базе BMS в качестве эталона при оценке аналогичных технологий кодирования в процессе стандартизации VVC включен наследованный из JEM перечень дополнительных инструментов кодирования, который обеспечивает более высокую эффективность кодирования и умеренную сложность реализации. Помимо инструментов кодирования JEM (например, неразделимое вторичное преобразование 4[4 (NSST), генерализованное двойное прогнозирование (GBi), двунаправленный оптический поток (BIO), уточнение вектора движения со стороны декодера (DMVR) и текущая ссылку на изображение (CPR)), интегрированных в BMS-2.0, оно включает в себя инструмент квантования с треллис-кодированием.
Системы и способы обработки данных в соответствии с типовыми вариантами осуществления могут выполняться одним или более процессорами, выполняющими последовательности команд, содержащихся в запоминающем устройстве. Такие команды могут считываться в запоминающее устройство с других машиночитаемых носителей, таких как вторичное(ые) устройство(а) хранения данных. Выполнение последовательностей команд, содержащихся в запоминающем устройстве, приводит к тому, что процессор функционирует, например, как описано выше. В альтернативных вариантах осуществления для реализации настоящего изобретения вместо или в комбинации с программными командами можно использовать один или более вариантов осуществления. Такое программное обеспечение может работать удаленно на процессоре, расположенном внутри роботизированной вспомогательной системы / устройства (RAA) и/или другого мобильного устройства. В последнем случае данные могут передаваться посредством проводного или беспроводного подключения между RAA или другим мобильным устройством, содержащим датчики, и удаленным устройством, содержащим процессор, который запускает программное обеспечение, выполняющее оценку масштаба и компенсацию, как описано выше. В соответствии с другими типовыми вариантами осуществления часть обработки, описанной выше в отношении определения местоположения, может выполняться в устройстве, содержащем датчики/камеры, а остальная часть обработки может выполняться во втором устройстве после получения частично обработанных данных от устройства, содержащего датчики/камеры.
Хотя признаки и элементы описаны выше в конкретных комбинациях, специалисту в данной области будет очевидно, что каждый признак или элемент можно использовать отдельно или в любой комбинации с другими признаками и элементами. Кроме того, описанные в настоящем документе способы могут быть реализованы в компьютерной программе, программном обеспечении или программно-аппаратном обеспечении, встроенном в машиночитаемый носитель и предназначенном для исполнения компьютером или процессором. Примеры энергозависимого машиночитаемого носителя информации включают в себя, без ограничений, постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), регистр, кэш-память, полупроводниковые устройства хранения данных, магнитные носители, такие как внутренние жесткие диски и съемные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM и цифровые универсальные диски (DVD). Процессор в сочетании с программным обеспечением можно использовать для реализации радиочастотного приемопередатчика, предназначенного для применения в составе модуля 3402 WTRU, пользовательского оборудования (UE), терминала, базовой станции, контроллера RNC и/или любого главного компьютера.
Кроме того, в описанных выше вариантах осуществления отмечены платформы для выполнения обработки, вычислительные системы, контроллеры и другие устройства, содержащие процессоры. Эти устройства могут содержать по меньшей мере один центральный процессор (ЦП) и запоминающее устройство. Как свидетельствует практика специалистов в области компьютерного программирования, указания на действия и символические представления этапов или команд могут быть реализованы с помощью различных ЦП и запоминающих устройств. Такие действия и этапы или команды могут упоминаться как «исполняемые», «исполняемые с помощью компьютера» или «исполняемые с помощью ЦП».
Для специалиста в данной области будет очевидно, что указанные действия и символически представленные этапы или команды включают в себя управление электрическими сигналами с помощью ЦП. Электрическая система выдает биты данных, которые могут инициировать итоговое преобразование или ослабление электрических сигналов и сохранение битов данных в ячейках запоминающего устройства в системе запоминающего устройства, чтобы таким образом переконфигурировать или иным образом изменить работу ЦП, а также другую обработку сигналов. Ячейки запоминающего устройства, в которых хранятся биты данных, представляют собой физические местоположения, которые обладают определенными электрическими, магнитными, оптическими или органическими свойствами, соответствующими битам данных или характерными для битов данных. Следует понимать, что типовые варианты осуществления не ограничены вышеупомянутыми платформами или ЦП и что другие платформы и ЦП также могут поддерживать предложенные способы.
Биты данных также могут храниться на машиночитаемом носителе, в том числе на магнитных дисках, оптических дисках и любом другом энергозависимом (например, оперативное запоминающее устройство (ОЗУ)) или энергонезависимом (например, постоянное запоминающее устройство (ПЗУ)) накопителе большой емкости, считываемом ЦП. Машиночитаемый носитель может включать в себя взаимодействующий или взаимосвязанный машиночитаемый носитель, применяемый исключительно в системе обработки или распределенный между множеством взаимосвязанных систем обработки, которые могут быть локальными или удаленными по отношению к указанной системе обработки. При этом подразумевается, что типовые варианты осуществления не ограничены вышеупомянутыми запоминающими устройствами и что другие платформы и запоминающие устройства также могут поддерживать описанные способы. Следует понимать, что типовые варианты осуществления не ограничены вышеупомянутыми платформами или ЦП и что другие платформы и ЦП также могут поддерживать предложенные способы.
В иллюстративном варианте осуществления любые этапы, способы и т.п., описанные в настоящем документе, могут быть реализованы в виде машиночитаемых команд, хранящихся на машиночитаемом носителе. Процессор мобильного устройства, сетевой элемент и/или любое другое вычислительное устройство могут быть выполнены с возможностью исполнения машиночитаемых команд.
Между аппаратными и программными реализациями аспектов систем остаются незначительные различия. Использование аппаратного или программного обеспечения, как правило (но не всегда, поскольку в определенных контекстах различие между аппаратным и программным обеспечением может стать значительным), предполагает выбор конструкции, представляющей собой компромисс между затратами и эффективностью. Могут существовать различные средства, с помощью которых могут быть реализованы способы и/или системы, и/или другие технологии, описанные в данном документе (например, аппаратное обеспечение, программное обеспечение и/или микропрограммное обеспечение), а предпочтительное средство может варьироваться в зависимости от контекста, в котором развернуты указанные способы и/или системы, и/или другие технологии. Например, если разработчик определяет, что скорость и точность имеют первостепенное значение, он может применять главным образом аппаратное и/или микропрограммное средство. Если наиболее важной является гибкость, разработчик может выбирать реализацию главным образом в виде программного обеспечения. В альтернативном варианте осуществления разработчик может применять комбинацию аппаратного обеспечения, программного обеспечения и/или микропрограммного обеспечения.
В приведенном выше подробном описании изложены различные варианты осуществления устройств и/или способов с применением блок-схем, структурных схем и/или примеров. Поскольку такие блок-схемы, структурные схемы и/или примеры содержат одну или более функций и/или операций, для специалистов в данной области будет очевидно, что каждая функция и/или операция в таких блок-схемах, структурных схемах или примерах могут быть реализованы отдельно и/или совместно с применением широкого спектра аппаратного обеспечения, программного обеспечения, микропрограммного обеспечения или по существу любой их комбинации. В качестве примера подходящие процессоры включают процессор общего назначения, процессор специального назначения, стандартный процессор, цифровой сигнальный процессор (DSP), множество микропроцессоров, один или более микропроцессоров, связанных с ядром DSP, контроллер, микроконтроллер, специализированные интегральные микросхемы (ASIC), стандартные части специализированной интегральной схемы (ASSP); программируемую пользователем вентильную матрицу (FPGA), интегральную схему (IC) любого другого типа и/или конечный автомат.
Хотя признаки и элементы представлены выше в конкретных комбинациях, специалисту в данной области будет очевидно, что каждый признак или элемент может быть использован отдельно или в любой комбинации с другими признаками и элементами. Настоящее изобретение не ограничивается описанными в настоящей заявке конкретными вариантами осуществления, которые предназначены для иллюстрации различных аспектов. Для специалистов в данной области будет очевидно, что возможно внесение множества модификаций и изменений без отступления от сущности и объема настоящего изобретения. Никакие элементы, действия или команды, используемые в описании настоящей заявки, не следует рассматривать как критические или существенные для вариантов осуществления, если явным образом не указано иное. Функционально эквивалентные способы и устройства, входящие в объем описания, в дополнение к перечисленным в настоящем документе станут очевидными для специалистов в данной области после ознакомления с представленными выше описаниями. Предполагается, что такие модификации и изменения включены в объем прилагаемой формулы изобретения. Настоящее описание ограничивается исключительно прилагаемой формулой изобретения, а также полным диапазоном эквивалентов, к которым относится такая формула изобретения. Следует понимать, что настоящее описание не ограничивается конкретными способами или системами.
Кроме того, следует понимать, что применяемые в настоящем документе термины используют только в целях описания конкретных вариантов осуществления настоящего изобретения и они не носят ограничительного характера. Используемые в настоящем документе термины «станция» и его аббревиатура STA, «пользовательское оборудование» и его аббревиатура UE могут означать (i) модуль беспроводной передачи/приема (WTRU), например, как описано ниже; (ii) любой из некоторого количества вариантов осуществления WTRU, например, как описано ниже; (iii) беспроводное и/или проводное (например, подключаемое) устройство, выполненное, в частности, с применением некоторых или всех конструкций и функциональных возможностей WTRU, например, как описано ниже; (iii) беспроводное и/или проводное устройство, выполненное не со всеми конструкциями и функциональными возможностями WTRU, например, как описано ниже; или (iv) т.п. Ниже со ссылкой на фиг. 34A–34D представлена подробная информация относительно примера WTRU, который может представлять собой любой WTRU, описанный в настоящем документе.
В определенных типовых вариантах осуществления некоторые части объекта изобретения, описанного в настоящем документе, могут быть реализованы с помощью специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), цифровых сигнальных процессоров (DSP) и/или интегральных схем других форматов. Однако для специалистов в данной области будет очевидно, что некоторые аспекты описанных в настоящем документе вариантов осуществления полностью или частично могут быть эквивалентно реализованы в интегральных схемах в виде одной или более компьютерных программ, выполняемых на одном или более компьютерах (например, в виде одной или более программ, выполняемых в одной или более компьютерных системах), в виде одной или более программ, выполняемых на одном или более процессорах (например, в виде одной или более программ, выполняемых на одном или более микропроцессорах), в виде микропрограммного обеспечения или в виде по существу любой их комбинации и что разработка схем и/или написание кода для программного обеспечения и/или микропрограммного обеспечения будет вполне по силам специалисту в данной области после ознакомления с настоящим описанием. Кроме того, для специалистов в данной области будет очевидно, что механизмы объекта изобретения, описанные в настоящем документе, могут быть распределены в виде программного продукта в множестве форм и что иллюстративный вариант осуществления объекта изобретения, описанный в настоящем документе, применяют независимо от конкретного типа среды передачи сигналов, используемой для фактического осуществления такого распределения. Примеры носителя сигнала включают в себя, без ограничений, следующее: носитель, выполненный с возможностью записи, например, гибкий диск, накопитель на жестком диске, CD, DVD, магнитную ленту для цифровой записи, запоминающее устройство компьютера и т.д., а также носитель, выполненный с возможностью передачи, такой как цифровая и/или аналоговая среда передачи данных (например, оптоволоконный кабель, волновод, проводная линия связи, беспроводная линия связи и т.д.).
Описанный в настоящем документе объект изобретения иногда иллюстрирует различные компоненты, содержащиеся внутри различных других компонентов или соединенные с ними. Следует понимать, что такие показанные архитектуры являются лишь примерами и что фактически можно реализовать различные другие архитектуры с такой же функциональностью. В концептуальном смысле любая конструкция компонентов для получения такой же функциональности практически «связана» с возможностью обеспечения желаемой функциональности. Следовательно, любые два компонента, скомбинированные в настоящем документе для достижения конкретной функциональности, можно рассматривать как «связанные» друг с другом с возможностью обеспечения желаемой функциональности, независимо от архитектур или промежуточных компонентов. Аналогично любые два компонента, соединенные таким образом, можно рассматривать как «функционально соединенные» или «функционально связанные» друг с другом для обеспечения желаемой функциональности, и любые два компонента, которые могут быть связаны таким образом, также могут рассматриваться как «имеющие возможность функционального соединения» друг с другом для обеспечения желаемой функциональности. Конкретные примеры функционально соединяемых компонентов включают в себя, без ограничений, компоненты, выполненные с возможностью физического сопряжения, и/или физического, и/или логического, и/или беспроводного взаимодействия, и/или компоненты, взаимодействующие логически и/или беспроводным образом.
В отношении применения по существу любых вариантов множественного и/или единственного числа для терминов в настоящем документе специалисты в данной области могут изменять множественное число на единственное и/или единственное число на множественное в соответствии с требованиями контекста и/или сферой применения. В настоящем документе различные комбинации единственного/множественного числа для ясности могут быть указаны явным образом.
Для специалистов в данной области будет очевидно, что в целом термины, используемые в настоящем документе, и в частности в прилагаемой формуле изобретения (например, в главной части прилагаемой формулы изобретения), как правило, считаются «неограничивающими» терминами (например, термин «включающий» следует интерпретировать как «включающий, без ограничений», термин «имеющий» следует интерпретировать как «имеющий по меньшей мере», термин «включает» следует интерпретировать как «включает, без ограничений» и т.д.). Кроме того, для специалистов в данной области будет очевидно, что если предполагается конкретное количество включенных пунктов с изложением формулы изобретения, такое намерение будет явным образом указано в формуле изобретения, а в отсутствие такого упоминания такого намерения нет. Например, если речь идет только об одном элементе, может быть использован термин «один» или аналогичный термин. Для облегчения понимания нижеследующая прилагаемая формула изобретения и/или описания в данном документе могут содержать вводные фразы «по меньшей мере один» и «один или более» для введения перечисления пунктов формулы изобретения. Однако использование таких фраз не следует истолковывать как подразумевающее, что введение перечисления пунктов формулы изобретения с грамматическими формами единственного числа ограничивает любой конкретный пункт формулы изобретения, содержащий такое введенное перечисление пунктов формулы изобретения, вариантами осуществления, содержащими только одно такое перечисление, даже если тот же пункт включает вводные фразы «один или более» или «по меньшей мере один» и грамматические формы единственного числа (например, грамматические формы единственного числа следует интерпретировать как означающие «по меньшей мере» или «один или более»). То же самое справедливо в отношении применения определенных грамматических форм, используемых для введения перечисления пунктов формулы изобретения. Кроме того, даже если явным образом указано конкретное количество включенных перечисленных пунктов формулы изобретения, для специалистов в данной области будет очевидно, что такое перечисление следует интерпретировать как означающее по меньшей мере указанное количество (например, простое указание «двух пунктов» без других определений означает по меньшей мере два пункта или же два или более пунктов). Кроме того, в случае использования правила, аналогичного правилу «по меньшей мере одно из A, B и C и т.д.», в общем случае для специалиста в данной области понятно правило, подразумеваемое такой конструкцией (например, «система, содержащая по меньшей мере одно из A, B и C» будет включать, без ограничений, системы, которые содержат только A, только B, только C, одновременно A и B, одновременно A и C, одновременно B и C и/или одновременно A, B и C и т.д.). В случае использования правила, аналогичного правилу «по меньшей мере одно из A, B или C и т.д.», в общем случае для специалиста в данной области понятно правило, подразумеваемое такой конструкцией (например, «система, содержащая по меньшей мере одно из A, B или C» будет включать в себя, без ограничений, системы, которые содержат только A, только B, только C, одновременно A и B, одновременно A и C, одновременно B и C и/или одновременно A, B и C и т.д.). Кроме того, для специалистов в данной области будет очевидно, что по существу любое разделяющее слово и/или разделяющую фразу, представляющие два или более альтернативных терминов, будь то в описании, формуле изобретения или на чертежах, следует понимать как предполагаемую возможность включения одного из терминов, любого из терминов или обоих терминов. Например, фразу «A или B» следует понимать как включающую возможности «A», или «B», или «A и B». Кроме того, используемый в настоящем документе термин «любой из», после которого следует перечень из множества элементов и/или множества категорий элементов, должен включать «любой из», «любая комбинация из», «любое множество из» и/или «любая комбинация из множества» элементов и/или категорий элементов, по отдельности или в сочетании с другими элементами и/или другими категориями элементов. Кроме того, используемый в настоящем документе термин «набор» или «группа» включает в себя любое количество элементов, включая ноль. Кроме того, используемый в настоящем документе термин «количество» включает в себя любое количество, включая ноль.
Кроме того, если признаки или аспекты настоящего описания описаны в терминах групп Маркуша, для специалистов в данной области будет очевидно, что настоящее описание, таким образом, также описано в терминах любого отдельного члена или подгруппы членов группы Маркуша.
Как будет очевидно для специалиста в данной области, для всех целей, таких как обеспечение письменного описания, все диапазоны, описанные в настоящем документе, также охватывают все их возможные поддиапазоны и комбинации поддиапазонов. Любой из перечисленных диапазонов может быть легко распознан как представляющий достаточное описание и как диапазон, который можно разбить на по меньшей мере равные половины, трети, четверти, пятые части, десятые части и т.д. В примере, не имеющем ограничительного характера, каждый диапазон, описанный в данном документе, можно легко разбить в нижнюю треть, среднюю треть и верхнюю треть, и т.д. Как будет очевидно для специалиста в данной области, все термины, такие как «вплоть до», «по меньшей мере», «более чем», «менее чем» и т.п. включают в себя указанное число и относятся к диапазонам, которые можно впоследствии разбить на поддиапазоны, как описано выше. И наконец, как будет очевидно для специалиста в данной области, диапазон включает в себя каждый отдельный элемент. Таким образом, например, группа, содержащая 1–3 соты, относится к группам, содержащим 1, 2 или 3 соты. Аналогично группа, содержащая 1–5 сот, относится к группам, содержащим 1, 2, 3, 4 или 5 сот, и т.д.
Кроме того, формулу изобретения не следует рассматривать как ограниченную предложенным порядком или элементами, если не указано иное. Кроме того, использование термина «предназначенный для» в любом пункте формулы изобретения предполагает ссылку на Свод законов США (U.S.C.) 35 §112, ¶ 6 или формат пункта формулы изобретения «средство плюс функция», и любой пункт формулы изобретения, не содержащий термин «средство», не указывает на предназначение для чего-либо.
Процессор в сочетании с программным обеспечением может быть использован для реализации радиочастотного приемопередатчика для использования в модуле беспроводной передачи/приема (WTRU), оборудовании пользователя (UE), терминале, базовой станции, объекте управления мобильностью (MME) или усовершенствованном пакетном ядре (EPC) или любом главном компьютере. WTRU может быть использован в сочетании с модулями, реализованными в аппаратном и/или программном обеспечении, включая систему радиосвязи с программируемыми параметрами (SDR) и другие компоненты, такие как камера, модуль видеокамеры, видеотелефон, телефон с громкоговорителем, вибрационное устройство, динамик, микрофон, телевизионный приемопередатчик, наушники с микрофоном, клавиатура, модуль Bluetooth®, радиомодуль с частотной модуляцией (FM), модуль ближней радиосвязи (NFC), блок жидкокристаллического дисплея (LCD), блок дисплея на органических светодиодах (OLED), цифровой музыкальный проигрыватель, мультимедийный проигрыватель, модуль устройства для воспроизведения видеоигр, Интернет-браузер и/или любая беспроводная локальная сеть (WLAN) или модуль сверхширокополосной связи (UWB).
Для специалистов в данной области будет очевидно, что в настоящем описании некоторые типовые варианты осуществления могут быть использованы в альтернативном варианте осуществления или в сочетании с другими типовыми вариантами осуществления.
Кроме того, описанные в настоящем документе способы могут быть реализованы в компьютерной программе, программном обеспечении или программно-аппаратном обеспечении, встроенном в машиночитаемый носитель и предназначенном для исполнения компьютером или процессором. Примеры энергозависимого машиночитаемого носителя информации включают в себя, без ограничений, постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), регистр, кэш-память, полупроводниковые устройства хранения данных, магнитные носители, такие как внутренние жесткие диски и съемные диски, магнитооптические носители и оптические носители, такие как диски CD-ROM и цифровые универсальные диски (DVD). Процессор в сочетании с программным обеспечением можно использовать для реализации радиочастотного приемопередатчика, предназначенного для применения в составе WTRU, UE, терминала, базовой станции, RNC и/или любого главного компьютера.
Изобретение относится к средствам кодирования/декодирования видеосигнала. Технический результат - повышение эффективности кодирования. Генерируют вектор движения подблока указанного блока. Генерируют сигнал прогнозирования движения на основе подблоков с помощью вектора движения подблока. Определяют на уровне пикселей набор значений разницы векторов движения, связанных с подблоком текущего блока, причем разность векторов движения на уровне пикселей указывает на разность между вектором движения на уровне пикселей, полученным из местоположения семпла подблока, и вектором движения подблока. Определяют пространственные градиенты подблока на основе сигнала прогнозирования движения в местоположении каждого семпла подблока. Определяют сигнал уточнения прогнозирования движения для текущего блока на основе определенного на уровне пикселей набора значений разницы векторов движения и определенных пространственных градиентов. Осуществляют комбинирование сигнала прогнозирования движения на основе подблоков и сигнала уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока. Декодируют видеосигнал с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока, причем вектор движения подблока генерируется, и набор значений разницы векторов движения на уровне пикселей определяется с использованием аффинной модели движения для текущего блока. 5 н. и 6 з.п. ф-лы, 42 ил.
1. Способ декодирования видеосигнала, включающий:
для текущего блока видео, который содержит множество подблоков:
генерирование вектора движения подблока указанного блока,
генерирование сигнала прогнозирования движения на основе подблоков с помощью вектора движения подблока,
определение на уровне пикселей набора значений разницы векторов движения, связанных с подблоком текущего блока, причем разность векторов движения на уровне пикселей указывает на разность между вектором движения на уровне пикселей, полученным из местоположения семпла подблока, и вектором движения подблока,
определение пространственных градиентов подблока на основе сигнала прогнозирования движения в местоположении каждого семпла подблока,
определение сигнала уточнения прогнозирования движения для текущего блока на основе определенного на уровне пикселей набора значений разницы векторов движения и определенных пространственных градиентов, и
комбинирование сигнала прогнозирования движения на основе подблоков и сигнала уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока; и
декодирование видеосигнала с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока,
причем вектор движения подблока генерируется и набор значений разницы векторов движения на уровне пикселей определяется с использованием аффинной модели движения для текущего блока.
2. Способ кодирования видеосигнала, включающий:
для текущего блока видео, который содержит множество подблоков:
генерирование вектора движения подблока указанного блока,
генерирование сигнала прогнозирования движения на основе подблоков с помощью вектора движения подблока,
определение на уровне пикселей набора значений разницы векторов движения, связанных с подблоком текущего блока, причем разность векторов движения на уровне пикселей указывает на разность между вектором движения на уровне пикселей, полученным из местоположения семпла подблока, и вектором движения подблока,
определение пространственных градиентов подблока на основе сигнала прогнозирования движения в местоположении каждого семпла подблока,
определение сигнала уточнения прогнозирования движения для текущего блока на основе определенного на уровне пикселей набора значений разницы векторов движения и определенных пространственных градиентов, и
комбинирование сигнала прогнозирования движения на основе подблоков и сигнала уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока; и
кодирование видеосигнала с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока,
причем вектор движения подблока генерируется и набор значений разницы векторов движения на уровне пикселей определяется с использованием аффинной модели движения для текущего блока.
3. Способ по п. 1 или 2, в котором определение пространственных градиентов сигнала прогнозирования движения на основе подблоков включает в себя:
для одного или более соответствующих подблоков текущего блока:
определение расширенного подблока при помощи сигнала прогнозирования движения на основе подблоков и смежных эталонных семплов, которые граничат c соответствующим подблоком и окружают его; и
определение с помощью определенного расширенного подблока пространственных градиентов соответствующего подблока для определения сигнала уточнения прогнозирования движения.
4. Способ по п. 1 или 2, в котором набор значений разницы векторов движения на уровне пикселей определяется для подблока текущего блока и используется для определения сигнала уточнения прогнозирования движения для одного или более дополнительных подблоков текущего блока.
5. Способ по п. 1 или 2, дополнительно включающий определение параметров аффинной модели движения для текущего блока видео таким образом, что сигнал прогнозирования движения на основе подблоков генерируется с использованием определенных параметров аффинной модели движения.
6. Декодер, выполненный с возможностью декодирования видеосигнала, содержащий:
процессор, выполненный с возможностью:
для текущего блока видео, который содержит множество подблоков:
генерирования вектора движения подблока указанного блока,
генерирования сигнала прогнозирования движения на основе подблоков с помощью вектора движения подблока,
определения на уровне пикселей набора значений разницы векторов движения, связанных с подблоком текущего блока, причем разность векторов движения на уровне пикселей указывает на разность между вектором движения на уровне пикселей, полученным из местоположения семпла подблока, и вектором движения подблока,
определения пространственных градиентов подблока на основе сигнала прогнозирования движения в местоположении каждого семпла подблока,
определения сигнала уточнения прогнозирования движения для текущего блока на основе определенного на уровне пикселей набора значений разницы векторов движения и определенных пространственных градиентов, и
комбинирования сигнала прогнозирования движения на основе подблоков и сигнала уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока; и
декодирования видеосигнала с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока,
при этом процессор выполнен с возможностью использования аффинной модели движения для текущего блока для генерирования вектора движения подблока и определения на уровне пикселей набора значений разницы векторов движения.
7. Кодер, выполненный с возможностью кодирования видеосигнала, содержащий:
процессор, выполненный с возможностью:
для текущего блока видео, который содержит множество подблоков:
генерирования вектора движения подблока указанного блока,
генерирования сигнала прогнозирования движения на основе подблоков,
определения на уровне пикселей набора значений разницы векторов движения, связанных с подблоком текущего блока, причем разность векторов движения на уровне пикселей указывает на разность между вектором движения на уровне пикселей, полученным из местоположения семпла подблока, и вектором движения подблока,
определения пространственных градиентов подблока на основе сигнала прогнозирования движения в местоположении каждого семпла подблока,
определения сигнала уточнения прогнозирования движения для текущего блока на основе определенного на уровне пикселей набора значений разницы векторов движения и определенных пространственных градиентов, и
комбинирования сигнала прогнозирования движения на основе подблоков и сигнала уточнения прогнозирования движения для генерирования уточненного сигнала прогнозирования движения для текущего блока; и
кодирования видеосигнала с использованием уточненного сигнала прогнозирования движения в качестве прогнозирования для текущего блока,
при этом процессор выполнен с возможностью использования аффинной модели движения для текущего блока для генерирования вектора движения и определения на уровне пикселей набора значений разницы векторов движения.
8. Декодер по п. 6 или кодер по п. 7, в котором процессор выполнен с возможностью:
для одного или более соответствующих подблоков текущего блока:
определения расширенного подблока с помощью сигнала прогнозирования движения на основе подблоков и смежных эталонных семплов, которые граничат с соответствующим подблоком и окружают его; и
определения с помощью определенного расширенного подблока пространственных градиентов соответствующего подблока для определения сигнала уточнения прогнозирования движения.
9. Декодер по п. 6 или кодер по п. 7, в котором процессор выполнен с возможностью определения на уровне пикселей набора значений разницы векторов движения для подблока текущего блока, который используется для определения сигнала уточнения прогнозирования движения для одного или более дополнительных подблоков текущего блока.
10. Декодер по п. 6 или кодер по п. 7, в котором процессор выполнен с возможностью определения параметров аффинной модели движения для текущего блока видео таким образом, что сигнал прогнозирования движения на основе подблоков генерируется с использованием определенных параметров аффинной модели движения.
11. Машиночитаемый носитель длительного хранения, имеющий команды, которые при исполнении компьютером обеспечивают способ по любому из пп. 1–6.
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами | 1924 |
|
SU2017A1 |
Способ получения цианистых соединений | 1924 |
|
SU2018A1 |
CA 3065492 A1, 22.11.2018 | |||
УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕО, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ВИДЕО, СПОСОБ КОДИРОВАНИЯ ВИДЕО И СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕО | 2017 |
|
RU2654149C1 |
Авторы
Даты
2024-01-15—Публикация
2020-02-04—Подача