ПОВТОРНАЯ ДИСКРЕТИЗАЦИЯ ОПОРНЫХ КАДРОВ С ПОМОЩЬЮ ПЕРЕКЛЮЧАЕМЫХ ФИЛЬТРОВ Российский патент 2024 года по МПК H04N19/117 H04N19/82 H04N19/59 

Описание патента на изобретение RU2819420C2

Область техники, к которой относится изобретение

[0001] Данная заявка относится к кодированию и сжатию видео. Более конкретно, данная заявка относится к системам и способам предоставления повторной дискретизации опорных кадров с помощью переключаемых фильтров.

Уровень техники

[0002] Множество устройств и систем обеспечивают возможность обработки и вывода видеоданных для потребления. Цифровые видеоданные включают в себя большие объемы данных, чтобы удовлетворять потребности потребителей и видеопоставщиков. Например, потребители видеоданных хотят видео самого лучшего качества, с высокой точностью воспроизведения, разрешением, частотами кадров и т.п. Как результат, большой объем видеоданных, который требуется для того, чтобы удовлетворять эти требования, налагает нагрузку на сети связи и устройства, которые обрабатывают и сохраняют видеоданные.

[0003] Различные технологии кодирования видео могут использоваться для того, чтобы сжимать видеоданные. Кодирование видео выполняется согласно одному или более стандартам кодирования видео. Например, стандарты кодирования видео включают в себя стандарт высокоэффективного кодирования видео (HEVC), стандарт усовершенствованного кодирования видео (AVC), стандарт Экспертной группы по киноизображению (MPEG) 2, часть 2, VP9, видеостандарт 1 Альянса открытых мультимедиа-систем (AOMedia) (AV1), стандарт фундаментального кодирования видео (EVC) и т.п. Кодирование видео, в общем, использует способы предсказания (прогнозирования) (например, межкадровое (интер-) предсказание, внутрикадровое (интер-) предсказание и т.п.), которые используют преимущество избыточности, присутствующей в видеоизображениях или последовательностях. Важная цель технологий кодирования видео состоит в том, чтобы сжимать видеоданные в форму, которая использует более низкую битовую скорость (битрейт) при недопущении или минимизации ухудшения качества видео. В силу постоянно появляющихся совершенствующихся услуг передачи видео, требуются технологии кодирования с более высокой эффективностью кодирования.

Сущность изобретения

[0004] В данном документе описываются системы и способы для предоставления улучшенных технологий видеообработки. Некоторые примеры видеообработки используют технологии сжатия видео с предсказанием, чтобы кодировать и декодировать видеоданные эффективно. Например, видеокодер может выполнять предсказание для текущего блока, кодируемого посредством сравнения пиксельных значений в текущем блоке с блоком предсказания (например, с блоком, который не кодирован либо который ранее декодирован). Ошибка предсказания (также называемая "остатком") может определяться в качестве разности между текущим блоком и блоком предсказания. При выполнении предсказания для блока в кадре с использованием одного или более блоков из одного или более других кадров (называемого "интер-предсказанием"), вектор движения может использоваться для того, чтобы указывать местоположение блока предсказания относительно текущего блока. Видеокодер может применять преобразование к ошибке предсказания (например, дискретное косинусное преобразование (DCT) или другое подходящее преобразование) для того, чтобы формировать коэффициенты преобразования. После преобразования, видеокодер может квантовать коэффициенты преобразования. Квантованные коэффициенты преобразования и векторы движения могут представляться с использованием синтаксических элементов и, наряду с управляющей информацией, формировать кодированное представление видеопоследовательности. В некоторых случаях, видеокодер может энтропийно кодировать синтаксические элементы, которые дополнительно могут уменьшать число битов, требуемых для представления синтаксических элементов.

[0005] В некоторых примерах, преобразование частоты дискретизации может применяться к видеоданным. Преобразование частоты дискретизации может включать в себя повторную дискретизацию (передискретизацию), понижающую дискретизацию, повышающую дискретизацию, интерполяцию и/или другие технологии преобразования частоты дискретизации. Например, интерполяция может включать в себя кусочно-постоянную интерполяцию, линейную интерполяцию, полиноминальную интерполяцию и сплайн-интерполяцию, среди других технологий интерполяции. Повторная дискретизация может включать в себя понижающую дискретизацию, повышающую дискретизацию и/или комбинацию понижающей дискретизации и повышающей дискретизации либо получение новых дискретных отсчетов (выборок) на другой частоте дискретизации.

[0006] В некоторых примерах, предсказание движения может улучшаться с помощью технологии объединения блоков интер-предсказания, чтобы упрощать поблочное сигнализирование данных движения. Задачи интерполяции используются в таком контексте вследствие смещения объектов между кадрами (например, между текущим кадром и опорным кадром), независимого от пиксельной сетки для изображений. Дробная точность (например, оценка размещения между пикселами в изображениях) в силу этого может использоваться для того, чтобы более точно захватывать движение. Интерполяционные фильтры могут использоваться в видеообработке, чтобы реализовывать дробную точность, в частности, когда обрабатываемые опорный кадр и текущий кадр совместно используют идентичный размер. Интерполяционные фильтры используются для того, чтобы фильтровать данные изображений, чтобы оценивать значения изображения в дробных позициях, и эти данные дробных позиций могут использоваться с предсказанием или другими операциями обработки изображений.

[0007] Повторная дискретизация означает извлечение изображения с определенными дискретными отсчетами (например, пикселами в определенной сетке) и модификацию выборок (например, создание новых пикселов в другой сетке) при поддержании данных из исходных выборок. Как отмечено выше, повторная дискретизация может включать в себя повышающую дискретизацию, при которой пикселы из сетки более низкого разрешения используются для того, чтобы создавать пикселы в сетке более высокого разрешения, а также понижающую дискретизацию, при которой пикселы из сетки более высокого разрешения используются для того, чтобы формировать пикселы в сетке более низкого разрешения. В контексте предсказания движения и векторов движения, описанных выше, когда сравниваемые опорный кадр и текущий кадр имеют различные размеры, повторная дискретизация опорных кадров может использоваться для того, чтобы стандартизировать пиксельную сетку в качестве части формирования изображения с дробной точностью. Когда система обработки изображений выполнена с возможностью разрешать опорные кадры с размером, отличающимся от размера текущего кадра, фильтр, указываемый посредством индекса фильтра, может быть подходящим для того, чтобы обрабатывать изображения для интерполяционной фильтрации (например, для дробной точности, когда опорный имеет размер, идентичный размеру текущего кадра), но не для дробной точности с повторной дискретизацией опорных кадров (например, для дробной точности, когда опорный кадр имеет размер, отличающийся от размера текущего кадра). В некоторых системах, например, сглаживающий фильтр, используемый для дробной точности, может формировать хорошие результаты с интерполяцией, когда опорный кадр и текущий кадр имеют идентичный размер, но может создавать плохие результаты при использовании с повторной дискретизацией опорных кадров, при которой опорный кадр имеет отличающуюся пиксельную сетку (например, отличающийся размер) относительно текущего кадра. Примеры, описанные в данном документе, улучшают работу устройств декодирования и кодирования посредством идентификации соответствующих значений фильтра и формирования улучшенных результатов кодирования и декодирования во время операций устройств кодирования и декодирования.

[0008] В различных примерах, такие улучшения могут реализовываться посредством идентификации информации индекса фильтра для текущего блока текущего кадра и определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются (например, если повторная дискретизация опорных кадров используется). В этом контексте, пример выполняет процесс повторной дискретизации с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра (например, без использования текущего индекса фильтра).

[0009] В другом примере, предоставляется оборудование для обработки видеоданных. Оборудование включает в себя запоминающее устройство и один или более процессоров, реализованных в схеме. Один или более процессоров выполнены с возможностью получать текущий кадр и опорный кадр. Процессоры также выполнены с возможностью идентифицировать информацию индекса фильтра для текущего блока текущего кадра и определять то, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются. На основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, один или более процессоров могут выполнять процесс преобразования частоты дискретизации с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра.

[0010] В другом примере, предоставляется способ обработки видеоданных. Способ включает в себя получение текущего кадра и опорного кадра. Способ дополнительно включает в себя идентификацию информации индекса фильтра для текущего блока текущего кадра и определение того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются. Способ включает в себя выполнение процесса преобразования частоты дискретизации с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра, на основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются.

[0011] В другом примере, машиночитаемый носитель данных, сохраняющий инструкции, которые при их исполнении инструктируют одному или более процессорам устройства для обработки видеоданных: получать текущий кадр и опорный кадр; идентифицировать информацию индекса фильтра для текущего блока текущего кадра и определять то, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются; и выполнять процесс преобразования частоты дискретизации с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра, на основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются.

[0012] В другом примере, предоставляется оборудование для обработки видеоданных. Оборудование включает в себя: средство для получения текущего кадра и опорного кадра; средство для идентификации информации индекса фильтра для текущего блока текущего кадра; средство для определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются; и средство для выполнения процесса преобразования частоты дискретизации с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра, на основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются.

[0013] В некоторых примерах, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, включают в себя: получение текущего кадра и опорного кадра; идентификацию информации индекса фильтра для текущего блока текущего кадра; определение того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются; и выполнение процесса преобразования частоты дискретизации без использования текущего индекса фильтра, идентифицируемого информацией индекса фильтра, на основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются.

[0014] В некоторых примерах, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, включают в себя: получение текущего кадра и опорного кадра; идентификацию информации индекса фильтра для текущего блока текущего кадра; определение того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются; и выполнение процесса преобразования частоты дискретизации с использованием значения индекса по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра, на основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются.

[0015] В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя сохранение текущего индекса фильтра, идентифицируемого информацией индекса фильтра с текущим блоком, и использование текущего индекса фильтра при извлечении возможных (потенциально подходящих) вариантов векторов движения для последующего блока на основе текущего индекса фильтра, идентифицируемого информацией индекса фильтра.

[0016] В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя назначение значения по умолчанию для текущего индекса фильтра, с тем чтобы заменять исходное значение на временной основе, когда процесс преобразования частоты дискретизации выполняется без использования текущего индекса фильтра, чтобы создавать индекс фильтра по умолчанию, и назначение исходного значения для текущего индекса фильтра после процесса преобразования частоты дискретизации. В некоторых случаях, значение по умолчанию для текущего индекса фильтра указывает то, что альтернативная переключаемая фильтрация не применяется в качестве части процесса преобразования частоты дискретизации.

[0017] В некоторых случаях, информация индекса фильтра содержит информацию соседних блоков, и при этом текущий индекс фильтра извлекается из информации соседних блоков во время извлечения списков возможных вариантов векторов движения в режиме объединения. В некоторых случаях, информация индекса фильтра содержит сигнализирование информации режима адаптивного разрешения векторов движения (AMVR), и текущий индекс фильтра сообщается через сигнализацию режима AMVR. В некоторых случаях, процесс преобразования частоты дискретизации представляет собой процесс компенсации движения. В некоторых случаях, процесс преобразования частоты дискретизации представляет собой процесс повторной дискретизации. В некоторых случаях, процесс преобразования частоты дискретизации представляет собой процесс интерполяции.

[0018] В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, работают с использованием опорного кадра для интер-предсказания текущего блока текущего кадра. В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя определение того, что текущий индекс фильтра не используется для процесса преобразования частоты дискретизации, и замену значения текущего индекса фильтра на значение по умолчанию в ответ на определение того, что текущий индекс фильтра не используется для процесса преобразования частоты дискретизации. В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя обработку значения по умолчанию, чтобы определять то, что альтернативный переключаемый фильтр не применяется. В некоторых примерах, альтернативный переключаемый фильтр представляет собой сглаживающий фильтр.

[0019] В некоторых случаях, текущее значение индекса фильтра не сигнализируется в ответ на определение того, что текущий индекс фильтра не используется в процессе преобразования частоты дискретизации. В некоторых случаях, текущий индекс фильтра выбирается из набора фильтров, при этом поднабор набора фильтров используется для выполнения процесса преобразования частоты дискретизации, и при этом оставшаяся часть набора фильтров не является применимой для преобразования частоты дискретизации. В некоторых случаях, текущий индекс фильтра выбирается с использованием синтаксического элемента, указывающего то, что выбор текущего индекса фильтра из оставшейся части набора фильтров запрещается.

[0020] В некоторых случаях, процесс преобразования частоты дискретизации включает в себя процесс повторной дискретизации. В таких случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя идентификацию первой группы фильтров для интерполяции и второй группы фильтров для повторной дискретизации, при этом текущий индекс фильтра - из второй группы фильтров.

[0021] В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя получение второго текущего кадра и второго опорного кадра, определение того, что третье значение размера кадра второго текущего кадра и четвертое значение размера кадра второго опорного кадра - одно и то же значение размера, и на основе определения того, что третье значение размера кадра второго текущего кадра и четвертое значение размера кадра второго опорного кадра - одно и то же значение размера, выполнение второго процесса повторной дискретизации для второго текущего блока с использованием второго выбранного фильтра, при этом второй выбранный фильтр - из первой группы фильтров.

[0022] В некоторых случаях, каждый фильтр из первой группы фильтров и второй группы фильтров идентифицируется посредством ассоциированного индекса фильтра. Ассоциированный индекс фильтра указывает ассоциированное значение индекса из набора фильтров для интерполяции или набора фильтров для повторной дискретизации.

[0023] В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя получение текущего индекса фильтра из индекса фильтра посредством операции поиска для выбранного значения индекса фильтра, при этом выбранное значение индекса фильтра ассоциировано со второй группой фильтров, и при этом ассоциирование между выбранным значением индекса фильтра и второй группой фильтров основано на определении того, что первое значение размера кадра и второе значение размера кадра отличаются.

[0024] В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных, работают таким образом, что определение того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, содержит определение, по меньшей мере, одного из следующего: ширина текущего кадра отличается от ширины опорного кадра, и высота текущего кадра отличается от высоты опорного кадра.

[0025] В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя формирование кодированного потока битов видео, содержащего текущий кадр и опорный кадр. В некоторых примерах, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя отправку кодированного потока битов видео в устройство декодирования. Кодированный поток битов видео может отправляться с информацией сигнализации. Информация сигнализации содержит индекс фильтра по умолчанию. В некоторых примерах, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя сохранение кодированного потока битов видео.

[0026] В некоторых случаях, способы, оборудование и инструкции, сохраненные на машиночитаемых носителях данных, описанных выше, включают в себя: получение кодированного потока битов видео, содержащего текущий кадр и опорный кадр; идентифицируя информацию сигнализации, ассоциированную с кодированным потоком битов видео, причем информация сигнализации содержит информацию индекса фильтра; и декодирование текущего блока текущего кадра из кодированного потока битов видео. В некоторых примерах, декодирование текущего блока текущего кадра из кодированного потока битов видео содержит восстановление текущего блока на основе индекса фильтра по умолчанию.

[0027] В некоторых аспектах, оборудование для обработки видеоданных может включать в себя устройство или оборудование декодирования и/или устройство или оборудование кодирования. Оборудование для обработки видеоданных может представлять собой камеру, мобильное устройство (например, мобильный телефон или так называемый "смартфон" или другое мобильное устройство), носимое устройство, устройство в стиле расширенной реальности (например, устройство в стиле виртуальной реальности (VR), устройство в стиле дополненной реальности (AR) или устройство в стиле смешанной реальности (MR)), персональный компьютер, переносной компьютер, серверный компьютер или другое устройство. В некоторых аспектах, оборудование для обработки видеоданных включает в себя камеру или несколько камер для захвата одного или более изображений. В некоторых аспектах, оборудование для обработки видеоданных включает в себя дисплей для отображения одного или более изображений, уведомлений и/или других отображаемых данных.

[0028] Вышеописанные аспекты, связанные с любым из способов, оборудования и машиночитаемых носителей, могут использоваться отдельно или в любой подходящей комбинации.

[0029] Это краткое изложение сущности изобретения не имеет намерением ни то, чтобы идентифицировать ключевые или существенные признаки заявленного изобретения, ни то, чтобы использоваться изолированно таким образом, что оно определяет объем заявленного изобретения. Изобретение должно пониматься со ссылкой на соответствующие части всего подробного описания этого патента, любых чертежей и каждого пункта формулы изобретения.

[0030] Вышеприведенные, наряду с другими признаками и вариантами осуществления, должны становиться очевидными после прочтения нижеприведенного подробного описания, формулы изобретения и прилагаемых чертежей.

Краткое описание чертежей

[0031] Ниже подробно описываются иллюстративные варианты осуществления настоящей заявки со ссылкой на следующие чертежи:

[0032] Фиг. 1 является блок-схемой, иллюстрирующей пример устройства кодирования и устройства декодирования, в соответствии с некоторыми примерами;

[0033] Фиг. 2A является концептуальной схемой, иллюстрирующей примерные пространственные соседние возможные варианты векторов движения для режима объединения, в соответствии с некоторыми примерами;

[0034] Фиг. 2B является концептуальной схемой, иллюстрирующей примерные пространственные соседние возможные варианты векторов движения для режима усовершенствованного предсказания векторов движения (AMVP), в соответствии с некоторыми примерами;

[0035] Фиг. 3 является блок-схемой последовательности операций способа, иллюстрирующей технологии для обработки видеоданных;

[0036] Фиг. 4 является схемой, иллюстрирующей аспекты повторной дискретизации опорных кадров в соответствии с некоторыми примерами;

[0037] Фиг. 5 является блок-схемой последовательности операций способа, иллюстрирующей аспекты способа для повторной дискретизации опорных кадров в соответствии с некоторыми примерами;

[0038] Фиг. 6 является блок-схемой последовательности операций способа, иллюстрирующей аспекты повторной дискретизации опорных кадров в соответствии с некоторыми примерами;

[0039] [0001] Фиг. 7 является блок-схемой, иллюстрирующей примерное устройство кодирования видео, в соответствии с некоторыми примерами; и

[0040] Фиг. 8 является блок-схемой, иллюстрирующей примерное устройство декодирования видео, в соответствии с некоторыми примерами.

Подробное описание изобретения

[0041] Ниже предоставляются конкретные аспекты и варианты осуществления этого раскрытия. Некоторые из этих аспектов и вариантов осуществления могут применяться независимо, и некоторые из них могут применяться в комбинации, как должно быть очевидным для специалистов в данной области техники. В нижеприведенном описании, для целей пояснения, конкретные подробности изложены для того, чтобы предоставлять полное понимание вариантов осуществления заявки. Тем не менее, должно быть очевидным то, что различные варианты осуществления могут осуществляться на практике без этих конкретных подробностей. Чертежи и описание не имеют намерение быть ограничивающими.

[0042] Нижеприведенное описание предоставляет только примерные варианты осуществления и не имеет намерение ограничивать объем, применимость или конфигурацию раскрытия. Наоборот, нижеприведенное описание примерных вариантов осуществления должно предоставлять специалистам в данной области техники достаточное описание для реализации примерного варианта осуществления. Следует понимать, что различные изменения могут вноситься в функцию и компоновку элементов без отступления от сущности и объема заявки, изложенной в прилагаемой формуле изобретения.

[0043] Устройства кодирования видео реализуют технологии сжатия видео для того, чтобы эффективно кодировать и декодировать видеоданные. Технологии сжатия видео могут включать в себя применение различных режимов предсказания, включающих в себя пространственное предсказание (например, внутрикадровое предсказание или интра-предсказание), временное предсказание (например, межкадровое предсказание или интер-предсказание), межслойное предсказание (между различными слоями видеоданных) и/или другие технологии предсказания для того, чтобы уменьшать или удалять избыточность, внутренне присущую в видеопоследовательностях. Видеокодер может сегментировать каждый кадр исходной видеопоследовательности на прямоугольные области, называемые "видеоблоками" или "единицами кодирования" (подробнее описываются ниже). Эти видеоблоки могут кодироваться с использованием конкретного режима предсказания.

[0044] Видеоблоки могут разделяться одним или более способов на одну или более групп меньших блоков. Блоки могут включать в себя блоки дерева кодирования, блоки предсказания, блоки преобразования и/или другие подходящие блоки. Ссылки, в общем, на "блок", если не указано иное, могут ссылаться на такие видеоблоки (например, блоки дерева кодирования, блоки кодирования, блоки предсказания, блоки преобразования или другие соответствующие блоки или субблоки, как должны понимать специалисты в данной области техники). Дополнительно, каждый из этих блоков также может взаимозаменяемо называться в данном документе "единицами" (например, "единица дерева кодирования (CTU)", "единица кодирования", "единица предсказания (PU)", "единица преобразования (TU)" и т.п.). В некоторых случаях, единица может указывать логическую единицу кодирования, которая кодируется в потоке битов, в то время как блок может указывать часть буфера видеокадров, для которой процесс является целью.

[0045] Для режимов интер-предсказания, видеокодер может выполнять поиск блока, аналогичного блоку, кодируемому в кадре (или картинке), расположенном в другом временном местоположении, называемом "опорным кадром" или "опорной картинкой". Видеокодер может ограничивать поиск определенным пространственным смещением от блока, который должен кодироваться. Наилучшее совпадение может находиться с использованием двумерного вектора движения, который включает в себя горизонтальный компонент смещения и вертикальный компонент смещения. Для режимов интра-предсказания, видеокодер может формировать предсказанный блок с использованием технологий пространственного предсказания на основе данных из ранее кодированных соседних блоков в идентичном кадре.

[0046] Видеокодер может определять ошибку предсказания. Например, предсказание может определяться в качестве разности между пиксельными значениями в кодируемом блоке и предсказанном блоке. Ошибка предсказания также может называться "остатком". Видеокодер также может применять преобразование к ошибке предсказания (например, дискретное косинусное преобразование (DCT) или другое подходящее преобразование) для того, чтобы формировать коэффициенты преобразования. После преобразования, видеокодер может квантовать коэффициенты преобразования. Квантованные коэффициенты преобразования и векторы движения могут представляться с использованием синтаксических элементов и, наряду с управляющей информацией, формировать кодированное представление видеопоследовательности. В некоторых случаях, видеокодер может энтропийно кодировать синтаксические элементы, за счет этого дополнительно уменьшая число битов, необходимых для их представления.

[0047] Видеодекодер, с использованием синтаксических элементов и управляющей информации, поясненной выше, может конструировать предиктивные данные предсказания (например, предиктивный блок) для декодирования текущего кадра. Например, видеодекодер может суммировать предсказанный блок и сжатую ошибку предсказания. Видеодекодер может определять сжатую ошибку предсказания посредством взвешивания базисных функций преобразования с использованием квантованных коэффициентов. Разность между восстановленным кадром и исходным кадром называется "ошибкой восстановления".

[0048] В некоторых примерах, преобразование частоты дискретизации может применяться к видеоданным. Преобразование частоты дискретизации может включать в себя повторную дискретизацию, понижающую дискретизацию, повышающую дискретизацию, интерполяцию и/или другие технологии преобразования частоты дискретизации. Например, интерполяция может включать в себя кусочно-постоянную интерполяцию, линейную интерполяцию, полиноминальную интерполяцию и сплайн-интерполяцию, среди других технологий интерполяции. Повторная дискретизация может включать в себя понижающую дискретизацию, повышающую дискретизацию и/или комбинацию понижающей дискретизации и повышающей дискретизации либо получение новых выборок на различной частоте дискретизации.

[0049] В определенных системах, предсказание движения может улучшаться с помощью технологии объединения блоков интер-предсказания, чтобы упрощать поблочную сигнализирование данных движения. Задачи интерполяции используются в таком контексте вследствие смещения объектов между кадрами, независимого от пиксельной сетки для изображений. Дробная точность (например, оценка размещения между пикселами в изображениях) в силу этого может использоваться для того, чтобы более точно захватывать движение. Эта дробная точность может обеспечивать возможность логического вывода данных движения из ранее декодированных блоков. Для интерполяции и дробных выборок опорных кадров, высокая точность может улучшать фильтрацию. Примерные системы могут поддерживать векторы движения с четвертьпиксельной точностью, точностью в одну восьмую пиксела, точностью в одну шестнадцатую пиксела или другой такой точностью в зависимости от системы. В некоторых примерах, компоненты сигнала яркости и сигнала цветности могут иметь другую дробную точность в идентичной системе. Интерполяционные фильтры могут использоваться для того, чтобы обрабатывать изображения в этом контексте. Дополнительно, несколько различных интерполяционных фильтров могут использоваться в различных ситуациях (например, на основе значений векторов движения). Выбор между различными интерполяционными фильтрами, которые доступны, называется в данном документе "переключением интерполяционных фильтров".

[0050] Повторная дискретизация означает прием пиксельных значений из одного изображения и "повторную дискретизацию" данных из пиксельных значений, чтобы формировать новые пиксельные значения для нового изображения. Как описано выше, повторная дискретизация может включать в себя понижающую дискретизацию, при которой пиксельные значения из изображения более высокого разрешения используются для того, чтобы формировать изображение при более низком разрешении, а также повышающую дискретизацию, при которой пиксельные значения из изображения более низкого разрешения используются для того, чтобы формировать изображение при более высоком разрешении. В контексте предсказания движения, описанного выше, опорные изображения и текущие изображения с различными размерами (например, разрешения) могут использоваться для того, чтобы формировать векторы движения и выполнять предсказание движения. Повторная дискретизация может использоваться в таких ситуациях, чтобы управлять разностью масштабирования между опорным кадром и текущим кадром. Дополнительно, когда опорные и текущие кадры не имеют идентичный размер, фильтр может указываться посредством индекса фильтра, который является подходящим для интерполяционной фильтрации без повторной дискретизации, но не для интерполяционной фильтрации с повторной дискретизацией опорных кадров. В некоторых системах обработки изображений, например, сглаживающий фильтр, используемый для интерполяции, может создавать плохие результаты при использовании для повторной дискретизации опорных кадров. Примеры, описанные в данном документе, улучшают работу устройств декодирования и кодирования посредством идентификации соответствующих значений фильтра и формирования улучшенных результатов кодирования и декодирования во время операций устройств кодирования и декодирования. В одном примере, это улучшение реализуется посредством идентификации информации индекса фильтра для текущего блока текущего кадра и определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются (например, что повторная дискретизация опорных кадров используется). В этом контексте, пример выполняет процесс повторной дискретизации с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра (например, без использования текущего индекса фильтра). Дополнительные аспекты различных примеров описываются ниже.

[0051] Технологии, описанные в данном документе, могут применяться к любому из существующих видеокодеков (например, по стандарту высокоэффективного кодирования видео (HEVC), стандарту усовершенствованного кодирования видео (AVC) или к другому подходящему существующему видеокодеку) и/или могут представлять собой эффективное инструментальное средство кодирования для любых разрабатываемых стандартов кодирования видео и/или будущих стандартов кодирования видео, таких как, например, стандарт универсального кодирования видео (VVC), стандарт объединенной исследовательской группы по тестовой модели (JEM) и/или другой стандарт кодирования видео, разрабатываемый или подлежащий разработке.

[0052] Фиг. 1 является блок-схемой, иллюстрирующей пример системы 100, включающей в себя устройство 104 кодирования и устройство 112 декодирования. Устройство 104 кодирования может представлять собой часть исходного устройства, и устройство 112 декодирования может представлять собой часть приемного устройства. Исходное устройство и/или приемное устройство могут включать в себя электронное устройство, такое как, мобильная или стационарная телефонная трубка (например, смартфон, сотовый телефон и т.п.), настольный компьютер, переносной компьютер или ноутбук, планшетный компьютер, абонентская приставка, телевизионный приемник, камера, устройство отображения, цифровой мультимедийный проигрыватель, консоль для видеоигр, устройство потоковой передачи видео, камера на основе Интернет-протокола (IP) или любое другое подходящее электронное устройство. В некоторых примерах, исходное устройство и приемное устройство могут включать в себя одно или более беспроводных приемо-передающих устройств для беспроводной связи. Технологии кодирования, описанные в данном документе, являются применимыми к кодированию видео в различных мультимедийных вариантах применения, включающих в себя потоковые передачи видео (например, по Интернету), телевизионные широковещательные передачи или передачи, кодирование цифрового видео для хранения на носителе данных, декодирование цифрового видео, сохраненного на носителе данных, или другие варианты применения. В некоторых примерах, система 100 может поддерживать одностороннюю или двустороннюю передачу видео для того, чтобы поддерживать такие варианты применения, как видеоконференц-связь, потоковая передача видео, воспроизведение видео, широковещательная передача видео, проведение игр и/или видеотелефония.

[0053] Устройство 104 кодирования (или кодер) может использоваться для того, чтобы кодировать видеоданные с использованием стандарта или протокола кодирования видео для того, чтобы формировать кодированный поток битов видео. Примеры стандартов кодирования видео включают в себя ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 или ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264 (также известный как ISO/IEC MPEG-4 AVC), включающий в себя расширения масштабируемого кодирования видео (SVC) и кодирования многовидового видео (MVC), а также стандарт высокоэффективного кодирования видео (HEVC) или ITU-T H.265. Существуют различные расширения в HEVC для решения проблем, связанных с многослойным кодированием видео, включающие в себя расширения для кодирования диапазона и экранного контента, расширения для кодирования трехмерного видео (3D-HEVC) и многовидовые расширения (MV-HEVC) и масштабируемое расширение (SHVC). HEVC и его расширения разработаны посредством Объединенной группы для совместной работы над видеостандартами (JCT-VC), а также Объединенной группы для совместной работы над расширениями кодирования трехмерного видео (JCT-3V) Экспертной группы в области кодирования видео (VCEG) ITU-T и Экспертной группы по киноизображению (MPEG) ISO/IEC. MPEG и ITU-T VCEG также формируют Объединенную исследовательскую группу по видеостандартам (JVET) для того, чтобы исследовать новые инструментальные средства кодирования для следующего поколения стандарта кодирования видео. Опорное программное обеспечение называется "JEM (стандартом объединенной исследовательской группы по тестовой модели)". Новый стандарт кодирования видео, разрабатываемый посредством JVET, называется "стандартом универсального кодирования видео (VVC)".

[0054] HEVC завершено посредством Объединенной группы для совместной работы над видеостандартами (JCT-VC) Экспертной группы в области кодирования видео (VCEG) ITU-T и Экспертной группы по киноизображению (MPEG) ISO/IEC в 2013 году. Объединенная экспертная группа по видеостандартам (JVET), совместная команда, сформированная посредством VCEG исследовательской группы 16 MPEG и ITU-T, работает над новым VVC-стандартом кодирования видео. Цель VVC состоит в том, чтобы предоставлять существенное повышение производительности сжатия сравнению с существующим HEVC-стандартом, помогая в развертывании более высококачественных услуг передачи видео и новых вариантов применения (например, таких как всенаправленное иммерсивное мультимедиа на 360º, видео с расширенным динамическим диапазоном (HDR), в числе других).

[0055] [0002] Множество вариантов осуществления, описанных в данном документе, предоставляют примеры с использованием JEM-модели, VVC, HEVC-стандарта и/или их расширений. Тем не менее, как отмечено выше, технологии и системы, описанные в данном документе, также могут быть применимыми к другим стандартам кодирования, таким как AVC, MPEG, JPEG (или другой стандарт кодирования для неподвижных изображений), их расширения или другие подходящие стандарты кодирования, уже доступные или еще не доступные или разработанные. Соответственно, тогда как технологии и системы, описанные в данном документе, могут описываться со ссылкой на конкретный стандарт кодирования видео, специалисты в данной области техники должны принимать во внимание, что описание не должно интерпретироваться как применяемое только к этому конкретному стандарту.

[0056] Ссылаясь на фиг 1, видеоисточник 102 может предоставлять видеоданные в устройство 104 кодирования. Видеоисточник 102 может представлять собой часть исходного устройства или может представлять собой часть устройства, отличного от исходного устройства. Видеоисточник 102 может включать в себя устройство видеозахвата (например, видеокамеру, камерофон, видеотелефон и т.п.), видеоархив, содержащий сохраненное видео, видеосервер или поставщика контента, предоставляющего видеоданные, интерфейс прямых видеотрансляций, принимающий видео из видеосервера или от поставщика контента, компьютерную графическую систему для формирования видеоданных компьютерной графики, комбинацию таких источников либо любой другой подходящий видеоисточник.

[0057] Видеоданные из видеоисточника 102 могут включать в себя один или более входных кадров или кадров. Кадр или кадр представляют собой неподвижное изображение, которое, в некоторых случаях, представляет собой часть видео. В некоторых примерах, данные из видеоисточника 102 могут представлять собой неподвижное изображение, которое не представляет собой часть видео. Механизм 106 кодера (или кодер) устройства 104 кодирования кодирует видеоданные для того, чтобы формировать кодированный поток битов видео. В некоторых примерах, кодированный поток битов видео (или "видеопоток битов", или "битовый поток") представляет собой серию из одной или более кодированных видеопоследовательностей. Кодированная видеопоследовательность (CVS) включает в себя серию единиц доступа (AU), начиная с AU, которая имеет кадр на основе точки произвольного доступа в базовом слое и с определенными свойствами, вплоть до и без включения следующей AU, которая имеет кадр на основе точки произвольного доступа в базовом слое и с определенными свойствами. Например, определенные свойства кадра на основе точки произвольного доступа, который начинает CVS, могут включать в себя RASL-флаг (например, NoRaslOutputFlag), равный 1. В противном случае, кадр на основе точки произвольного доступа (с RASL-флагом, равным 0) не начинает CVS. Единица доступа (AU) включает в себя один или более кодированных кадров и управляющую информацию, соответствующую кодированным кадрам, которые совместно используют идентичное время вывода. Кодированные срезы (слайсы) кадров инкапсулируются на уровне потока битов в единицы данных, называемые "единицами слоя абстрагирования от сети (NAL)". Например, HEVC-поток битов видео может включать в себя одну или более CVS, включающих в себя NAL-единицы. Каждая из NAL-единиц имеет заголовок NAL-единицы. В одном примере, заголовок является однобайтовым для H.264/AVC (за исключением многослойных расширений) и двухбайтовым для HEVC. Синтаксические элементы в заголовке NAL-единицы принимают указанные биты и в силу этого являются видимыми для всех видов систем и транспортных уровней, таких как транспортный поток, транспортный протокол реального времени (RTP), формат файлов, в числе других.

[0058] В HEVC-стандарте, существуют два класса NAL-единиц, включающих в себя NAL-единицы слоя кодирования видео (VCL) и не-VCL NAL-единицы. VCL NAL-единица включает в себя один срез или сегмент срезов (описан ниже) кодированных данных кадров, и не-VCL NAL-единица включает в себя управляющую информацию, которая связана с одним или более кодированных кадров. В некоторых случаях, NAL-единица может называться "пакетом". HEVC AU включает в себя VCL NAL-единицы, содержащие кодированные данные кадров, и не-VCL NAL-единицы (если таковые имеются), соответствующие кодированным данным кадров.

[0059] NAL-единицы могут содержать последовательность битов, формирующих кодированное представление видеоданных (например, кодированный поток битов видео, CVS потока битов и т.п.), к примеру, кодированные представления кадров в видео. Механизм 106 кодера формирует кодированные представления кадров посредством сегментации каждого кадра на несколько срезов. Срез является независимым от других срезов таким образом, что информация в срезе кодируется без зависимости от данных из других срезов в том же самом кадре. Срез включает в себя один или более сегментов срезов, включающих в себя независимый сегмент срезов, и в случае присутствия, один или более зависимых сегментов срезов, которые зависят от предыдущих сегментов срезов. Срезы затем сегментируются на блоки дерева кодирования (CTB) выборок сигналов яркости и выборок сигналов цветности. CTB выборок сигнала яркости и один или более CTB выборок сигнала цветности, наряду с синтаксисом для выборок сигнала яркости и сигнала цветности, называются "единицей дерева кодирования (CTU)". CTU представляет собой базовую единицу обработки для HEVC-кодирования. CTU может разбиваться на несколько единиц кодирования (CU) варьирующихся размеров. CU содержит массивы выборок сигнала яркости и сигнала цветности, которые называются "блоками кодирования (CB)".

[0060] CB сигналов яркости и сигналов цветности дополнительно могут разбиваться на блоки предсказания (PB). PB представляет собой блок выборок компонента сигнала яркости или компонента сигнала цветности, который использует идентичные параметры движения для интер-предсказания или предсказания на основе внутриблочного копирования (если доступно или активировано для использования). PB сигналов яркости и один или более PB сигналов цветности, вместе с ассоциированным синтаксисом, формируют единицу предсказания (PU). Для интер-предсказания, набор параметров движения (например, один или более векторов движения, опорных индексов и т.п.) сигнализируется в потоке битов для каждой PU и используется для интер-предсказания PB сигналов яркости и одного или более PB сигналов цветности. Параметры движения также могут называться "информацией движения". CB также может сегментироваться на один или более блоков преобразования (TB). TB представляет квадратный блок выборок цветового компонента, к которому идентичное двумерное преобразование применяется для кодирования сигнала остатка предсказания. Единица преобразования (TU) представляет TB выборок сигнала яркости и сигнала цветности и соответствующих синтаксических элементов.

[0061] Размер CU соответствует размеру режима кодирования и может иметь квадратную форму. Например, размер CU может составлять 8×8 выборок, 16×16 выборок, 32×32 выборки, 64×64 выборки или любой другой соответствующий размер вплоть до размера соответствующей CTU. Фраза "N×N" используется в данном документе как означающая размеры в пикселах видеоблока с точки зрения размеров по вертикали и горизонтали (например, 8 пикселов × 8 пикселов). Пикселы в блоке могут размещаться в строках и столбцах. В некоторых вариантах осуществления, блоки могут не иметь идентичное число пикселов в горизонтальном направлении и в вертикальном направлении. Синтаксические данные, ассоциированные с CU, могут описывать, например, сегментацию CU на одну или более PU. Режимы сегментации могут отличаться между тем, является CU кодированной в режиме интра-предсказания или кодированной в режиме интер-предсказания. PU могут сегментироваться таким образом, что они имеют неквадратную форму. Синтаксические данные, ассоциированные с CU, также могут описывать, например, сегментацию CU на одну или более TU согласно CTU. TU может иметь квадратную или неквадратную форму.

[0062] Согласно HEVC-стандарту, преобразования могут выполняться с использованием единиц преобразования (TU). TU могут варьироваться для различных CU. TU могут иметь размер на основе размера PU в данной CU. TU могут иметь идентичный размер или меньший PU. В некоторых примерах, остаточные выборки, соответствующие CU, могут подразделяться на меньшие единицы с использованием структуры в виде дерева квадрантов, известной как "остаточное дерево квадрантов (RQT)". Узлы-листья RQT могут соответствовать TU. Значения пиксельных разностей, ассоциированные с TU, могут преобразовываться, с тем чтобы формировать коэффициенты преобразования. Коэффициенты преобразования затем могут квантоваться посредством механизма 106 кодера.

[0063] После того как кадры видеоданных сегментируются на CU, механизм 106 кодера предсказывает каждую PU с использованием режима предсказания. Единица предсказания или блок предсказания затем вычитается из исходных видеоданных, чтобы получать остатки (описаны ниже). Для каждой CU, режим предсказания может сигнализироваться в потоке битов с использованием данных синтаксиса. Режим предсказания может включать в себя интра-предсказание (или внутрикадровое предсказание) либо интер-предсказание (или межкадровое предсказание). Интра-предсказание использует корреляцию между пространственно соседними выборками в кадре. Например, при использовании интра-предсказания, каждая PU предсказывается из данных соседних изображений в идентичном кадре с использованием, например, DC-предсказания, чтобы находить среднее значение для PU, планарного предсказания, чтобы подгонять плоскую поверхность к PU, направленного предсказания, чтобы экстраполировать из данных окружения, или любых других подходящих типов предсказания. Интер-предсказание использует временную корреляцию между кадрами для того, чтобы извлекать предсказание с компенсацией движения для блока выборок изображений. Например, при использовании интер-предсказания, каждая PU предсказывается с использованием предсказания с компенсацией движения из данных изображения в одном или более опорных кадрах (до или после текущего кадра в порядке вывода). Решение в отношении того, следует кодировать зону кадра с использованием межкадрового или внутрикадрового предсказания, может приниматься, например, на уровне CU.

[0064] В некоторых примерах, одному или более срезов кадра назначается тип среза. Типы срезов включают в себя I-срез, P-срез и B-срез. I-срез (внутренние кадры, независимо декодируемые), представляет собой срез кадра, который кодируется только посредством интра-предсказания и в силу этого является независимо декодируемым, поскольку I-срез требует только данных в кадре, чтобы предсказывать любую единицу предсказания или блок предсказания среза. P-срез (одно- (уни-) направленные предсказанные кадры) представляет собой срез кадра, который может кодироваться с интра-предсказанием и с однонаправленным интер-предсказанием. Каждая единица предсказания или блок предсказания в P-срезе кодируется либо с интра-предсказанием, либо со интер-предсказанием. Когда интер-предсказание применяется, единица предсказания или блок предсказания предсказывается только посредством одного опорного кадра, и в силу этого опорные выборки исходят только из одной опорной области одного кадра. B-срез (дву- (би-) направленные предиктивные кадры) представляет собой срез кадра, который может кодироваться с интра-предсказанием и с интер-предсказанием (например, с бипредсказанием или унипредсказанием). Единица предсказания или блок предсказания B-среза может двунаправленно предсказываться из двух опорных кадров, причем каждый кадр вносит долю в одну опорную область, и наборы выборок двух опорных областей, взвешиваются (например, с равными весовыми коэффициентами или с различными весовыми коэффициентами) таким образом, чтобы формировать сигнал предсказания двунаправленного предсказанного блока. Как пояснено выше, срезы одного кадра независимо кодируются. В некоторых случаях, кадр может кодироваться в качестве всего одного среза.

[0065] Как отмечено выше, внутрикадровое предсказание использует корреляцию между пространственно соседними выборками в кадре. Межкадровое предсказание использует временную корреляцию между кадрами для того, чтобы извлекать предсказание с компенсацией движения для блока выборок изображений. С использованием модели поступательного движения в пространстве, позиция блока в ранее декодированном кадре (опорном кадре) указывается посредством вектора движения (Δx, Δy), при этом Δx указывает горизонтальный сдвиг, и Δy указывает вертикальный сдвиг опорного блока относительно позиции текущего блока. В некоторых случаях, вектор движения (Δx, Δy) может иметь целочисленно-выборочную точность (также называемую "целочисленной точностью"), причем в этом случае вектор движения указывает на целочисленно-пельную сетку (или целочисленно-пиксельную решетку дискретизации) опорного кадра. В некоторых случаях, вектор движения (Δx, Δy) может иметь дробно-выборочную точность (также называемую "дробно-пельной точностью" или "нецелочисленной точностью") для того, чтобы более точно захватывать перемещение основного объекта, без ограничения целочисленно-пельной сеткой опорного кадра. Точность векторов движения может выражаться посредством уровня квантования векторов движения. Например, уровень квантования может представлять собой целочисленную точность (например, 1-пиксельную) или дробно-пельную точность (например, в 1/4 пиксела, в 1/2 пиксела или в другое субпиксельное значение). Интерполяция применяется к опорным кадрам для того, чтобы извлекать сигнал предсказания, когда соответствующий вектор движения имеет дробно-выборочную точность. Например, выборки, доступные в целочисленных позициях, могут фильтроваться (например, с использованием одного или более интерполяционных фильтров) для того, чтобы оценивать значения в дробных позициях. Ранее декодированный опорный кадр указывается посредством опорного индекса (refIdx) в списке опорных кадров. Векторы движения и опорные индексы могут называться "параметрами движения". Два вида межкадрового предсказания могут выполняться, включающие в себя унипредсказание и бипредсказание.

[0066] С интер-предсказанием с использованием бипредсказания два набора параметров движения ( и ) используются для того, чтобы формировать два предсказания с компенсацией движения (из одного и того же опорного кадра или возможно из разных опорных кадров). Например, при бипредсказании, каждый блок предсказания использует два сигнала предсказания с компенсацией движения и формирует единицы предсказания B. Два предсказания с компенсацией движения затем комбинируются, чтобы получать конечное предсказание с компенсацией движения. Например, два предсказания с компенсацией движения могут комбинироваться посредством усреднения. В другом примере, предсказание со взвешиванием может использоваться, причем в этом случае различные весовые коэффициенты могут применяться к каждому предсказанию с компенсацией движения. Опорные кадры, которые могут использоваться в бипредсказании, сохраняются в двух отдельных списках, обозначаемых в качестве списка 0 и списка 1. Параметры движения могут извлекаться в кодере с использованием процесса оценки движения.

[0067] При интер-предсказании с использованием унипредсказания, один набор параметров движения (Δx0, y0, refIdx0) используется для того, чтобы формировать предсказание с компенсацией движения из опорного кадра. Например, при унипредсказании, каждый блок предсказания использует самое большее один сигнал предсказания с компенсацией движения и формирует P единиц предсказания.

[0068] PU может включать в себя данные (например, параметры движения или другие подходящие данные), связанные с процессом предсказания. Например, когда PU кодируется с использованием интра-предсказания, PU может включать в себя данные, описывающие режим интра-предсказания для PU. В качестве другого примера, когда PU кодируется с использованием интер-предсказания, PU может включать в себя данные, задающие вектор движения для PU. Данные, задающие вектор движения для PU, могут описывать, например, горизонтальный компонент вектора движения (Δx), вертикальный компонент вектора движения (Δy), разрешение для вектора движения (например, целочисленную точность, точность в одну четверть пиксела или точность в одну восьмую пиксела), опорный кадр, на который указывает вектор движения, опорный индекс, список опорных кадров (например, список 0, список 1 или список C) для вектора движения либо любую комбинацию вышеозначенного.

[0069] Устройство 104 кодирования затем может выполнять преобразование и квантование. Например, после предсказания, механизм 106 кодера может вычислять остаточные значения, соответствующие PU. Остаточные значения могут содержать значения пиксельных разностей между кодируемым текущим блоком пикселов (PU) и блоком предсказания, используемым для того, чтобы предсказывать текущий блок (например, предсказанной версией текущего блока). Например, после формирования блока предсказания (например, с использованием интер-предсказания или интра-предсказания), механизм 106 кодера может формировать остаточный блок посредством вычитания блока предсказания, сформированного посредством единицы предсказания, из текущего блока. Остаточный блок включает в себя набор разностных пиксельных значений, которые количественно оценивают различия между пиксельными значениями текущего блока и пиксельными значениями блока предсказания. В некоторых примерах, остаточный блок может представляться в формате двумерного блока (например, двумерной матрицы или массива пиксельных значений). В таких примерах, остаточный блок является двумерным представлением пиксельных значений.

[0070] Любые остаточные данные, которые могут оставаться после того, как предсказание выполняется, преобразуются с использованием блочного преобразования, которое может быть основано на дискретном косинусном преобразовании, дискретном синусном преобразовании, целочисленном преобразовании, вейвлет-преобразовании, другой подходящей функции преобразования либо любой комбинации вышеозначенного. В некоторых случаях, одно или более блочных преобразований (например, размеры 32×32, 16×16, 8×8, 4×4 или другой подходящий размер) могут применяться к остаточным данным в каждой CU. В некоторых вариантах осуществления, TU может использоваться для процессов преобразования и квантования, реализованных посредством механизма 106 кодера. Данная CU, имеющая одну или более PU, также может включать в себя одну или более TU. Как подробнее описано ниже, остаточные значения могут преобразовываться в коэффициенты преобразования с использованием блочных преобразований и затем могут квантоваться и сканироваться с использованием TU для того, чтобы формировать преобразованные в последовательную форму коэффициенты преобразования для энтропийного кодирования.

[0071] В некоторых вариантах осуществления после кодирования с интра- или интер-предсказанием с использованием PU CU, механизм 106 кодера может вычислять остаточные данные для TU CU. PU могут содержать пиксельные данные в пространственной области (или пиксельной области). TU могут содержать коэффициенты в области преобразования после применения блочного преобразования. Как отмечено выше, остаточные данные могут соответствовать значениям пиксельных разностей между пикселами некодированного кадра и значениями предсказания, соответствующими PU. Механизм 106 кодера может формировать TU, включающую в себя остаточные данные для CU, и затем преобразовывать TU таким образом, чтобы формировать коэффициенты преобразования для CU.

[0072] Механизм 106 кодера может выполнять квантование коэффициентов преобразования. Квантование предоставляет дополнительное сжатие посредством квантования коэффициентов преобразования, чтобы уменьшать объем данных, используемых для того, чтобы представлять коэффициенты. Например, квантование может уменьшать битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. В одном примере, коэффициент с n-битовым значением может округляться в меньшую сторону до m-битового значения в ходе квантования, при этом n больше m.

[0073] После того как квантование выполняется, кодированный поток битов видео включает в себя квантованные коэффициенты преобразования, информацию предсказания (например, режимы предсказания, векторы движения, блочные векторы и т.п.), информацию сегментации и любые другие подходящие данные, к примеру, другие синтаксические данные. Различные элементы кодированного потока битов видео затем могут энтропийно кодироваться посредством механизма 106 кодера. В некоторых примерах, механизм 106 кодера может использовать предварительно заданный порядок сканирования, чтобы сканировать квантованные коэффициенты преобразования, чтобы формировать преобразованный в последовательную форму вектор, который может энтропийно кодироваться. В некоторых примерах, механизм 106 кодера может выполнять адаптивное сканирование. После сканирования квантованных коэффициентов преобразования, чтобы формировать вектор (например, одномерный вектор), механизм 106 кодера может выполнять энтропийное кодирование вектора. Например, механизм 106 кодера может использовать контекстно-адаптивное кодирование переменной длины, контекстно-адаптивное двоичное арифметическое кодирование, синтаксическое контекстно-адаптивное двоичное арифметическое кодирование, энтропийное кодирование на основе сегментации на интервалы вероятности либо другую подходящую технологию энтропийного кодирования.

[0074] Вывод 110 устройства 104 кодирования может отправлять NAL-единицы, составляющие кодированные данные потоков битов видео, по линии 120 связи в устройство 112 декодирования приемного устройства. Ввод 114 устройства 112 декодирования может принимать NAL-единицы. Линия 120 связи может включать в себя канал, предоставленный посредством беспроводной сети, проводной сети либо комбинации проводной и беспроводной сети. Беспроводная сеть может включать в себя любой беспроводной интерфейс либо комбинацию беспроводных интерфейсов и может включать в себя любую подходящую беспроводную сеть (например, Интернет или другую глобальную вычислительную сеть, сеть с коммутацией пакетов, WiFiTM, радиочастотный (RF) стандарт, UWB-стандарт, стандарт Wi-Fi Direct, стандарт сотовой связи, стандарт долгосрочного развития (LTE), WiMaxTM и т.п.). Проводная сеть может включать в себя любой проводной интерфейс (например, оптоволоконную связь, Ethernet-связь, Ethernet-связь по линиям электросети, Ethernet-связь по коаксиальному кабелю, цифровую сигнальную линию (DSL) и т.п.). Проводные и/или беспроводные сети могут реализовываться с использованием различного оборудования, такого как базовые станции, маршрутизаторы, точки доступа, мосты, шлюзы, коммутаторы и т.п. Кодированные данные потоков битов видео могут модулироваться согласно стандарту связи, такому как протокол беспроводной связи, и передаваться в приемное устройство.

[0075] В некоторых примерах, устройство 104 кодирования может сохранять кодированные данные потоков битов видео в хранилище 108. Вывод 110 может извлекать кодированные данные потоков битов видео из механизма 106 кодера или из хранилища 108. Хранилище 108 может включать в себя любой из множества распределенных или локально доступных носителей данных. Например, хранилище 108 может включать в себя жесткий диск, диск хранения данных, флэш-память, энергозависимое или энергонезависимое запоминающее устройство либо любые другие подходящие цифровые носители данных для сохранения кодированных видеоданных.

[0076] Ввод 114 устройства 112 декодирования принимает кодированные данные потоков битов видео и может предоставлять данные потоков битов видео в механизм 116 декодера или в хранилище 118 для последующего использования посредством механизма 116 декодера. Механизм 116 декодера может декодировать кодированные данные потоков битов видео посредством энтропийного декодирования (например, с использованием энтропийного декодера) и извлечения элементов одной или более кодированных видеопоследовательностей, составляющих кодированные видеоданные. Механизм 116 декодера затем может повторно масштабировать и выполнять обратное преобразование для кодированных данных потоков битов видео. Остаточные данные затем передаются в каскад предсказания механизма 116 декодера. Механизм 116 декодера затем предсказывает блок пикселов (например, PU). В некоторых примерах, предсказание добавляется в вывод обратного преобразования (остаточные данные).

[0077] Устройство 112 декодирования может выводить декодированное видео в целевое видеоустройство 122, которое может включать в себя дисплей или другое устройство вывода для отображения декодированных видеоданных потребителю контента. В некоторых аспектах, целевое видеоустройство 122 может представлять собой часть приемного устройства, которое включает в себя устройство 112 декодирования. В некоторых аспектах, целевое видеоустройство 122 может представлять собой часть отдельного устройства, отличного от приемного устройства.

[0078] В некоторых вариантах осуществления, устройство 104 кодирования видео и/или устройство 112 декодирования видео могут интегрироваться с устройством кодирования аудио и устройством декодирования аудио, соответственно. Устройство 104 кодирования видео и/или устройство 112 декодирования видео также могут включать в себя другие аппаратные средства или программное обеспечение, которые требуются для того, чтобы реализовывать технологии кодирования, описанные выше, такие как один или более микропроцессоров, процессоров цифровых сигналов (DSP), специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), дискретная логика, программное обеспечение, аппаратные средства, микропрограммное обеспечение либо любые комбинации вышеозначенного. Устройство 104 кодирования видео и устройство 112 декодирования видео могут интегрироваться в качестве части комбинированного кодера/декодера (кодека) в соответствующем устройстве. Пример конкретных подробностей устройства 104 кодирования описывается ниже со ссылкой на фиг. 7. Пример конкретных подробностей устройства 112 декодирования описывается ниже со ссылкой на фиг. 8.

[0079] Расширения для HEVC-стандарта включают в себя расширение кодирования многовидового видео, называемое "MV-HEVC", и расширение масштабируемого кодирования видео, называемое "SHVC". MV-HEVC- и SHVC-расширения совместно используют понятие многослойного кодирования, при этом различные слои включаются в кодированный поток битов видео. Каждый слой в кодированной видеопоследовательности адресуется посредством уникального идентификатора слоя. Идентификатор слоя может присутствовать в заголовке NAL-единицы для того, чтобы идентифицировать слой, с которым ассоциирована NAL-единица. В MV-HEVC, различные слои могут представлять различные виды идентичной сцены в потоке битов видео. В SHVC, предоставляются различные масштабируемые слои, которые представляют поток битов видео с различными пространственными разрешениями (или с разрешением кадров) или при различных точностях воспроизведения при восстановлении. Масштабируемые слои могут включать в себя базовый слой (с идентификатором слоя=0) и один или более улучшающих слоев (с идентификаторами слоев=1, 2, ..., n). Базовый слой может соответствовать профилю первой версии HEVC и представляет самый нижний доступный слой в потоке битов. Улучшающие слои имеют повышенное пространственное разрешение, временное разрешение или частоту кадров и/или точность воспроизведения (или качество) при восстановлении по сравнению с базовым слоем. Улучшающие слои иерархически организуются и могут зависеть (или могут не зависеть) от нижних слоев. В некоторых примерах, различные слои могут кодироваться с использованием одного стандартного кодека (например, все слои кодируются с использованием HEVC, SHVC или другого стандарта кодирования). В некоторых примерах, различные слои могут кодироваться с использованием кодека с поддержкой нескольких стандартов. Например, базовый слой может кодироваться с использованием AVC, тогда как один или более улучшающих слоев могут кодироваться с использованием SHVC- и/или MV-HEVC-расширений для HEVC-стандарта.

[0080] В общем, слой включает в себя набор VCL NAL-единиц и соответствующий набор не-VCL NAL-единиц. NAL-единицы назначаются конкретное значение идентификатора слоя. Слои могут быть иерархическими в том смысле, что слой может зависеть от нижнего слоя. Набор слоев означает набор слоев, представленных в потоке битов, которые являются автономными, что означает то, что слои в наборе слоя могут зависеть от других слоев в наборе слоя в процессе декодирования, но не зависят ни от каких других слоев для декодирования. Соответственно, слои в наборе слоя могут формировать независимый поток битов, который может представлять видеоконтент. Набор слоев в наборе слоя может получаться из другого потока битов посредством операции процесса извлечения субпотоков битов. Набор слоя может соответствовать набору слоев, который должен декодироваться, когда декодер хочет работать согласно определенным параметрам.

[0081] Как описано выше, HEVC-поток битов включает в себя группу NAL-единиц, включающую в себя VCL NAL-единицы и не-VCL NAL-единицы. VCL NAL-единицы включают в себя кодированные данные кадров, формирующие кодированный поток битов видео. Например, последовательность битов, формирующих кодированный поток битов видео, присутствует в VCL NAL-единицах. Не-VCL NAL-единицы могут содержать наборы параметров с высокоуровневой информацией, связанной с кодированным потоком битов видео, в дополнение к другой информации. Например, набор параметров может включать в себя набор параметров видео (VPS), набор параметров последовательности (SPS) и набор параметров кадра (PPS). Примеры целей наборов параметров включают в себя эффективность по битрейту, устойчивость к ошибкам и предоставление интерфейсов системного слоя. Каждый срез ссылается на один активный PPS, SPS и VPS для того, чтобы осуществлять доступ к информации, которую устройство 112 декодирования может использовать для декодирования среза. Идентификатор может кодироваться для каждого набора параметров, включающий в себя VPS-идентификатор, SPS-идентификатор и PPS-идентификатор. SPS включает в себя SPS-идентификатор и VPS-идентификатор. PPS включает в себя PPS-идентификатор и SPS-идентификатор. Каждый заголовок среза включает в себя PPS-идентификатор. С использованием идентификаторов, активные наборы параметров могут идентифицироваться для данного среза.

[0082] PPS включает в себя информацию, которая применяется ко всем срезам в заданном кадре. Вследствие этого, все срезы в кадре ссылаются на один и тот же PPS. Срезы в разных кадрах также могут ссылаться на один и тот же PPS. SPS включает в себя информацию, которая применяется ко всем кадрам в идентичной кодированной видеопоследовательности (CVS) или потоке битов. Как описано выше, кодированная видеопоследовательность представляет собой последовательность единиц доступа (AU), которая начинается с кадра на основе точек произвольного доступа (например, кадра на основе мгновенной ссылки декодирования (IDR) или кадра на основе доступа с разорванной связью (BLA) или другого соответствующего кадра на основе точек произвольного доступа) в базовом слое и с определенными свойствами (описаны выше) до и без включения следующей AU, которая имеет кадр на основе точек произвольного доступа в базовом слое и с определенными свойствами (либо до конца потока битов). Информация в SPS может не изменяться для каждого кадра в кодированной видеопоследовательности. Кадры в кодированной видеопоследовательности могут использовать идентичный SPS. VPS включает в себя информацию, которая применяется ко всем слоям в кодированной видеопоследовательности или потоке битов. VPS включает в себя синтаксическую структуру с синтаксическими элементами, которые применяются ко всем кодированным видеопоследовательностям. В некоторых вариантах осуществления, VPS, SPS или PPS могут передаваться внутриполосно с кодированным потоком битов. В некоторых вариантах осуществления, VPS, SPS или PPS могут передаваться внеполосно в отдельной передаче относительно NAL-единиц, содержащих кодированные видеоданные.

[0083] Поток битов видео также может включать в себя сообщения с дополнительной улучшающей информацией (SEI). Например, SEI NAL-единица может представлять собой часть потока битов видео. В некоторых случаях, SEI-сообщение может содержать информацию, которая не требуется посредством процесса декодирования. Например, информация в SEI-сообщении может не быть существенной для декодера, чтобы декодировать видеокадры потока битов, но декодер может использовать информацию для того, чтобы улучшать отображение или обработку кадров (например, декодированного вывода). Информация в SEI-сообщении может быть встраиваемыми метаданными. В одном иллюстративном примере, информация в SEI-сообщении может использоваться посредством объектов на стороне декодера для того, чтобы улучшать видимость контента. В некоторых случаях, определенные применяемые стандарты могут предписывать присутствие таких SEI-сообщений в потоке битов таким образом, что повышение качества может обеспечиваться для всех устройств, которые соответствуют применяемому стандарту (например, перенос SEI-сообщения на основе пакетирования кадров для совместимого на уровне кадров плоско-стереоскопического 3DTV-видеоформата, причем SEI-сообщение переносится для каждого видеокадра, обработка SEI-сообщения на основе точек восстановления, использование SEI-сообщения на основе прямоугольного сканирования с панорамированием в DVB, в дополнение ко многим другим примерам).

[0084] В некоторых вариантах осуществления, устройство 104 кодирования видео и/или устройство 112 декодирования видео могут интегрироваться с устройством кодирования аудио и устройством декодирования аудио, соответственно. Устройство 104 кодирования видео и/или устройство 112 декодирования видео также могут включать в себя другие аппаратные средства или программное обеспечение, которые требуются для того, чтобы реализовывать технологии кодирования, описанные выше, такие как один или более микропроцессоров, процессоров цифровых сигналов (DSP), специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA), дискретная логика, программное обеспечение, аппаратные средства, микропрограммное обеспечение либо любые комбинации вышеозначенного. Устройство 104 кодирования видео и устройство 112 декодирования видео могут интегрироваться в качестве части комбинированного кодера/декодера (кодека) в соответствующем устройстве. Пример конкретных подробностей устройства 104 кодирования описывается ниже со ссылкой на фиг. 7. Пример конкретных подробностей устройства 112 декодирования описывается ниже со ссылкой на фиг. 8.

[0085] Примерная система, показанная на фиг. 1, представляет собой один иллюстративный пример, который может использоваться в данном документе. Технологии для обработки видеоданных с использованием технологий, описанных в данном документе, могут выполняться посредством любого устройства кодирования и/или декодирования цифрового видео. Хотя, в общем, технологии этого раскрытия выполняются посредством устройства кодирования видео или устройства декодирования видео, технологии также могут выполняться посредством видеокодера/декодера, типично называемого "кодеком". Кроме того, технологии этого раскрытия также могут выполняться посредством видеопрепроцессора. Исходное устройство и приемное устройство представляют собой просто примеры таких устройств кодирования, в которых исходное устройство формирует кодированные видеоданные для передачи в приемное устройство. В некоторых примерах, исходное и приемное устройства могут работать практически симметрично таким образом, что каждое из устройств включает в себя компоненты кодирования и декодирования видео. Следовательно, примерные системы могут поддерживать одностороннюю или двустороннюю передачу видео между видеоустройствами, например, для потоковой передачи видео, воспроизведения видео, широковещательной передачи видео или видеотелефонии.

[0086] Как описано выше, для каждого блока, набор информации движения (также называется в данном документе "параметрами движения") может быть доступным. Набор информации движения содержит информацию движения для прямого и обратного направлений предсказания. Здесь, прямое и обратное направления предсказания представляют собой два направления предсказания режима двунаправленного предсказания, и термины "прямой" и "обратный" не обязательно имеют геометрическое смысловое значение. Вместо этого, "передавать" и "назад" соответствовать списку 0 опорных кадров (RefPicList0 или L0) и список 1 опорных кадров (RefPicList1 или L1) текущего кадра. В некоторых примерах, когда только один список опорных кадров доступен для кадра или среза, только RefPicList0 доступен, и информация движения каждого блока среза всегда является прямой.

[0087] В некоторых случаях, вектор движения вместе со своим опорным индексом используется в процессах кодирования (например, при компенсации движения). Такой вектор движения с ассоциированным опорным индексом обозначается как унипредиктивный набор информации движения. Для каждого направления предсказания, информация движения может содержать опорный индекс и вектор движения. В некоторых случаях, для простоты, сам вектор движения может быть отнесен таким способом, при котором предполагается, что он имеет ассоциированный опорный индекс. Опорный индекс используется для того, чтобы идентифицировать опорный кадр в текущем списке опорных кадров (RefPicList0 или RefPicList1). Вектор движения имеет горизонтальный и вертикальный компонент, которые предоставляют смещение от позиции координат в текущем кадре до координат в опорном кадре, идентифицированном посредством опорного индекса. Например, опорный индекс может указывать конкретный опорный кадр, который должен использоваться для блока в текущем кадре, и вектор движения может указывать то, где в опорном кадре наилучше совпадающий блок (блок, который имеет наилучшее совпадение с текущим блоком) находится в опорном кадре.

[0088] Номер в последовательности кадров (POC) может использоваться в стандартах кодирования видео, чтобы идентифицировать порядок отображения кадра. Хотя возникают случаи, в которых два кадра в одной кодированной видеопоследовательности могут иметь идентичное POC-значение, это типично не происходит в кодированной видеопоследовательности. Когда несколько кодированных видеопоследовательностей присутствуют в потоке битов, кадры с идентичным значением POC могут находиться ближе друг к другу с точки зрения порядка декодирования. POC-значения кадров могут использоваться для конструирования списков опорных кадров, извлечения набора опорных кадров, аналогично HEVC, и масштабирования векторов движения.

[0089] В H.264/AVC, каждый интер макроблок (MB) может сегментироваться четырьмя различными способами, включающими в себя: один MB-сегмент 16×16; два MB-сегмента 16×8; два MB-сегмента 8×16; и четыре MB-сегмента 8×8. Различные MB-сегменты в одном MB могут иметь различные опорные значения индекса для каждого направления (RefPicList0 или RefPicList1). В некоторых случаях, когда MB не сегментируется на четыре MB-сегмента 8×8, он может иметь только один вектор движения для каждого MB-сегмента в каждом направлении. В некоторых случаях, когда MB сегментируется на четыре MB-сегмента 8×8, каждый MB-сегмент 8×8 дополнительно может сегментироваться на субблоки, причем в этом случае каждый субблок может иметь различный вектор движения в каждом направлении. В некоторых примерах, предусмотрено четыре различных способа получать субблоки из MB-сегмента 8×8, включающих в себя: один субблок 8×8; два субблока 8×4; два субблока 4×8; и четыре субблока 4×4. Каждый субблок может иметь различный вектор движения в каждом направлении. Следовательно, вектор движения присутствует на уровне, выше субблока.

[0090] В AVC6 временной прямой режим может активироваться на MB-уровне либо на уровне MB-сегментов для режима пропуска и/или прямого режима в B-срезах. Для каждого MB-сегмента векторы, движения блока, совместно размещаемого с текущим MB-сегментом в RefPicList1[0] текущего блока, используются для того, чтобы извлекать векторы движения. Каждый вектор движения в совместно размещенном блоке масштабируется на основе POC-расстояний.

[0091] Пространственный прямой режим также может выполняться в AVC. Например, в AVC, прямой режим также может предсказывать информацию движения из пространственных соседних узлов.

[0092] В HEVC, наибольшая единица кодирования в срезе называется "блоком дерева кодирования (CTB)". CTB содержит дерево квадрантов, узлы которого представляют собой единицы кодирования. Размер CTB может варьироваться от 16×16 до 64×64 в главном HEVC-профиле. В некоторых случаях, могут поддерживаться CTB-размеры 8×8. Единица кодирования (CU) может иметь идентичный размер CTB и составляет не больше 8×8. В некоторых случаях, каждая единица кодирования кодируется с одним режимом. Когда CU кодируется с интер-предсказанием, CU дополнительно может сегментироваться на 2 или 4 единицы предсказания (PU) либо становиться только одной PU, когда не применяется дополнительное сегментирование. Когда две PU присутствуют в одной CU, они могут представлять собой прямоугольники в половину размера или два прямоугольника с 1/4 или 3/4 от размера CU.

[0093] Когда CU кодируется с интер-предсказанием, один набор информации движения присутствует для каждой PU. Помимо этого, каждая PU кодируется с помощью уникального режима интер-предсказания, чтобы извлекать набор информации движения.

[0094] Для предсказания движения в HEVC, предусмотрено два режима интер-предсказания, включающих в себя режим объединения и режим усовершенствованного предсказания векторов движения (AMVP) для единицы предсказания (PU). Пропуск рассматривается как частный случай объединения. В AMVP-режиме или в режиме объединения, список возможных вариантов векторов движения (MV) поддерживается для нескольких предикторов векторов движения. Вектор(ы) движения, а также опорные индексы в режиме объединения текущей PU формируются посредством извлечения одного возможного варианта из списка возможных MV-вариантов. В некоторых примерах, как описано ниже, один или более сохраненных флагов компенсации локальной освещенности (LIC) могут включаться наряду с сохраненными векторами движения в списке возможных MV-вариантов.

[0095] В примерах, в которых список возможных MV-вариантов используется для предсказания движения (и если применимо, компенсация освещенности) блока, список возможных MV-вариантов может конструироваться посредством устройства кодирования и устройства декодирования отдельно. Например, список возможных MV-вариантов может формироваться посредством устройства кодирования при кодировании блока и может формироваться посредством устройства декодирования при декодировании блока. Информация, связанная с возможными вариантами информации движения в списке возможных MV-вариантов (например, информация, связанная с одним или более векторов движения, информация, связанная с одним или более LIC-флагов, которые могут сохраняться в списке возможных MV-вариантов в некоторых случаях, и/или другая информация), может сигнализироваться между устройством кодирования и устройством декодирования. Например, в режиме объединения, значения индекса в сохраненные возможные варианты информации движения могут сигнализироваться из устройства кодирования в устройство декодирования (например, в синтаксической структуре, такой как набор параметров кадра (PPS), набор параметров последовательности (SPS), набор параметров видео (VPS), заголовок среза, отправленное сообщение с дополнительной улучшающей информацией (SEI) либо отдельно от потока битов видео и/или другой сигнализации). Устройство декодирования может конструировать список возможных MV-вариантов и использовать сообщаемые ссылки или индексы, чтобы получать один или более возможных вариантов информации движения из сконструированного списка возможных MV-вариантов, с тем чтобы использовать для предсказания с компенсацией движения. Например, устройство 112 декодирования может конструировать список возможных MV-вариантов и использовать вектор движения (и в некоторых случаях LIC-флаг) из индексированного местоположения для предсказания движения блока. В случае AMVP-режима, в дополнение к ссылкам или индексам, разности или остаточные значения также могут сигнализироваться в качестве дельт. Например, для AMVP-режима, устройство декодирования может конструировать один или более списков возможных MV-вариантов и применять дельта-значения к одному или более возможных вариантов информации движения, полученных с использованием сообщенного значения индекса при выполнении предсказания с компенсацией движения блока.

[0096] В некоторых примерах, список возможных MV-вариантов содержит вплоть до пяти возможных вариантов для режима объединения и два возможных варианта для AMVP-режима. В других примерах, различные числа возможных вариантов могут включаться в список возможных MV-вариантов для режима объединения и/или AMVP-режима. Возможный вариант объединения может содержать набор информации движения. Например, набор информации движения может включать в себя векторы движения, соответствующие как спискам опорных кадров (списку 0 и списку 1), так и опорным индексам. Если возможный вариант объединения идентифицируется посредством индекса объединения, опорные кадры используются для предсказания текущих блоков, а также определяются ассоциированные векторы движения. Тем не менее, в AMVP-режиме для каждого потенциального направления предсказания или из списка 0 или из списка 1, опорный индекс должен явно сигнализироваться, вместе с MVP-индексом в список возможных MV-вариантов, поскольку возможный AMVP-вариант содержит только вектор движения. В AMVP-режиме, предсказанные векторы движения дополнительно могут детализироваться.

[0097] Как можно видеть выше, возможный вариант объединения соответствует полному набору информации движения, в то время как возможный AMVP-вариант содержит всего один вектор движения для конкретного направления предсказания и опорного индекса. Возможные варианты для обоих режимов извлекаются аналогично из идентичных пространственных и временных соседних блоков.

[0098] В некоторых примерах, режим объединения обеспечивает возможность интер-предсказанной PU наследовать идентичный вектор или векторы движения, направление предсказания и индекс или индексы опорного кадра из интер-предсказанной PU, которая включает в себя позицию данных движения, выбранную из группы пространственно соседних позиций данных движения и одной из двух временно совместно размещенных позиций данных движения. Для AMVP-режима, вектор или векторы движения PU могут кодироваться с предсказанием относительно одного или более предикторов векторов движения (MVP) из списка возможных AMVP-вариантов, сконструированного посредством кодера и/или декодера. В некоторых случаях, для однонаправленного интер-предсказания PU, кодер и/или декодер может формировать один список возможных AMVP-вариантов. В некоторых случаях, для двунаправленного предсказания PU, кодер и/или декодер может формировать два списка возможных AMVP-вариантов, один с использованием данных движения пространственных и временных соседних PU из прямого направления предсказания и один с использованием данных движения пространственных и временных соседних PU из обратного направления предсказания.

[0099] Возможные варианты для обоих режимов могут извлекаться из пространственных и/или временных соседних блоков. Например, фиг. 2A и фиг. 2B включают в себя концептуальные схемы, иллюстрирующие пространственные соседние возможные варианты в HEVC.

[0100] Фиг. 2A иллюстрирует пространственные соседние возможные варианты векторов движения (MV) для режима объединения. Фиг. 2B иллюстрирует пространственные соседние возможные варианты векторов движения (MV) для AMVP-режима. Пространственные возможные MV-варианты извлекаются из соседних блоков для конкретной PU (PU0), хотя способы, формирующие возможные варианты из блоков, отличаются для режимов объединения и AMVP-режимов.

[0101] В режиме объединения, кодер и/или декодер может формировать список возможных вариантов объединения посредством рассмотрения возможных вариантов объединения из различных позиций данных движения. Например, как показано на фиг. 2A, вплоть до четырех пространственных возможных MV-вариантов могут извлекаться относительно пространственно соседних позиций данных движения, показанных с номерами 0-4 на фиг. 2A. Возможные MV-варианты могут упорядочиваться в списке возможных вариантов объединения в порядке, показанном посредством номеров 0-4. Например, позиции и порядок могут включать в себя: левую позицию (0), верхнюю позицию (1), правую верхнюю позицию (2), левую нижнюю позицию (3) и левую верхнюю позицию (4).

[0102] В AVMP-режиме, показанном на фиг. 2B, соседние блоки разделяются на две группы: левую группу, включающую в себя блоки 0 и 1, и верхнюю группу, включающую в себя блоки 2, 3 и 4. Для каждой группы, потенциальный возможный вариант в соседнем блоке, ссылающийся на опорный кадр, идентичный опорному кадру, указываемому посредством сообщенного опорного индекса, имеет наивысший приоритет для выбора с возможностью формировать конечный возможный вариант группы. Возможно то, что все соседние блоки не содержат вектор движения, указывающий на идентичный опорный кадр. Следовательно, если такой возможный вариант не может быть обнаружен, первый доступный возможный вариант должен масштабироваться с возможностью формировать конечный возможный вариант, в силу чего могут компенсироваться разности временных расстояний.

[0103] Некоторый пример, описанный в данном документе, может использовать режим адаптивного разрешения векторов движения (AMVR), как отмечено выше. AMVR означает адаптивное регулирование диапазона или разрешения вектора движения во время обработки изображений. Использование AMVR обеспечивает различные уровни точности в кодировании разностей векторов движения, что обеспечивает возможность повышенной эффективности кодирования и может заключать в себе использование дробных единиц выборок (например, полупельных или других таких дробных выборок на любом уровне разрешения). В некоторых реализациях, равномерная дробная единица выборок, целочисленная единица выборок и т.п. могут использоваться во всем диапазоне, или диапазон единицы выборок может задаваться адаптивно согласно области. Первое может называться "линейным AMVR", и второе может называться "нелинейным AMVR". Использование режима AMVR дополнительно может заключать в себе явную сигнализирование значения индекса фильтра (например, с использованием синтаксического элемента в потоке битов видео) для использования при обработке компенсации движения текущего изображения.

[0104] В контексте, описанном выше, повторная дискретизация опорных кадров (RPR) представляет собой процесс повторной дискретизации, который может использоваться для того, чтобы разрешать опорный кадр(ы) с размером кадра, который отличается от размера кадра для кодируемого или декодируемого текущего кадра. Когда опорный кадр имеет отличающийся размер относительно текущего кадра, процесс повторной дискретизации кадров может активироваться, чтобы предоставлять повышающе дискретизированные или понижающе дискретизированные версии одного из кадров, чтобы совпадать с размером другого кадра (например, повышающая дискретизация или понижающая дискретизация опорного кадра, чтобы совпадать с размером текущего кадра). Эта повторная дискретизация может, в некоторых примерах, быть аналогичной операциям для пространственной масштабируемости, используемой в масштабируемом расширении (SHVC) H.265/HEVC-стандарт. RPR-процесс может применяться к кадрам одного слоя, имеющего различные размеры, и/или может применяться к кадрам различных слоев, которые имеют различные размеры. Иллюстративный пример применения RPR к кадрам различных размеров из различных слоев описывается ниже относительно фиг. 3.

[0105] Фиг. 3 является схемой, иллюстрирующей аспекты данных кадров в системе с различными значениями масштабирования (например, с различными размерами). Кадры или данные для кадров (например, единицы доступа) могут быть структурированы в слоях. Каждый слой может быть предназначен для кадров в виде кадров с различными размерами (например, разрешениями). Один такой пример, проиллюстрированный на фиг. 3 включает в себя два слоя, и другие различные примеры могут использовать другие числа слоев (например, три слоя, четыре слоя и т.д.). Как отмечено выше, кадры в одном слое могут иметь различные размеры, причем в этом случае RPR-процесс может выполняться. В примере по фиг. 3, данные для трех кадров показаны, при этом каждый кадр ассоциирован с двумя различными размерами кадров. Первый кадр ассоциирован с единицей 314 слоя 1 при размере первого кадра и единицей 312 слоя 0 при размере второго кадра. Аналогично, второй кадр ассоциирован с единицей 324 слоя 1 при размере первого кадра и единицей 322 слоя 0 при размере второго кадра, и третий кадр ассоциирован с единицей слоя 1 334 при размере первого кадра и единицей слоя 0 332 при размере второго кадра. Во время сигнализации, списки опорных кадров могут конструироваться, чтобы идентифицировать опорные кадры для использования при обработке текущего кадра. В некоторых примерах, кадры из одного слоя (например, с первым разрешением) могут использоваться в качестве опорных кадров для текущего кадра во втором слое (например, со вторым разрешением). В другом примере, один слой может иметь кадры различных размеров, как отмечено выше.

[0106] При RPR, кадры (или блоки кадров) разностного размера (например, кадры из одного слоя или кадры из различных слоев) могут использоваться в качестве опорных кадров для блоков текущего кадра. Такие опорные кадры могут сохраняться в буфере декодированных кадров (DPB) (например, с использованием запоминающего устройства или устройства хранения опорных кадров, такого как запоминающее устройство 92 кадров по фиг. 8 для модуля фильтрации, такого как модуль 91 фильтрации по фиг. 8). Инструментальное средство дискретизации опорных кадров может использоваться для того, чтобы формировать необходимые опорные данные из опорного кадра для обработки текущего кадра. В некоторых примерах, это инструментальное средство дискретизации опорных кадров может представлять собой часть модуля фильтрации (например, модуль 91 фильтрации по фиг. 8), или в других примерах может представлять собой часть любого аспекта устройства для кодирования или декодирования, как описано в данном документе.

[0107] Фиг. 4 является схемой, иллюстрирующей дополнительные аспекты повторной дискретизации опорных кадров в соответствии с примерами, описанными в данном документе. Фиг. 4 включает в себя опорный кадр 410 и текущий кадр 420. Опорный кадр 410 имеет первое горизонтальное разнесение 414 сетки и первое вертикальное разнесение 412 сетки. Текущий кадр 420 имеет второе горизонтальное разнесение 424 сетки, которое отличается от первого горизонтального разнесения 414 сетки. Текущий кадр также имеет второе вертикальное разнесение 422 сетки, которое отличается от первого вертикального разнесения 412 сетки. Первые разнесения 412 и 414 сетки, например, могут быть ассоциированы с первым слоем, и вторые разнесения 422 и 424 сетки могут быть ассоциированы со вторым слоем. Опорный кадр 410 может представлять собой кадр первого слоя, который является последовательным с текущим кадром 420 из второго слоя в видеопотоке, при этом опорный кадр 410 выбирается в качестве опорного кадра для текущего кадра 420 в качестве части операций предсказания.

[0108] Опорный кадр 410 и текущий кадр 420 включают в себя сетки пикселов, включающие в себя пикселы 418 и 419 опорного кадра 410 и пиксел 428 текущего кадра 420. Каждый пиксел может иметь ассоциированные данные, такие как значения цвета для красной, зеленой и синей частей пиксела. Каждый цвет должен иметь значение данных в каждом пикселе. Каждый пиксел для каждого кадра может быть ассоциирован с целочисленной позицией в сетке (например, с размером или значением масштабирования) для кадра. Стандартный вектор 430 движения, указывающий непосредственно из одного пиксела на другой, может использовать целочисленные позиции пикселов. Тем не менее, как описано выше, дробная точность может обеспечивать возможность вектору 430 движения указывать между пикселами. Полупельная точность, например, может обеспечивать возможность вектору 430 движения указывать середину между пикселом 419 и 418. Четвертьпельная точность обеспечивает возможность вектору 430 движения указывать на три различных позиции между пикселами (например, в одну четверть, одну половину и три четверти), а также непосредственно на целочисленные позиции пикселов.

[0109] AMVR, как описано выше, обеспечивает возможность адаптивного задания прецессии векторов движения на различных уровнях дробной точности. Когда обработка изображений с использованием режима AMVR реализуется, MV-точность может адаптивно выбираться с целочисленно-пельной точностью (например, когда MV находится в точках сетки только для разнесений 412, 414, 422 и 424 сетки, без дробной точности), или на любом уровне дробной точности, поддерживаемом посредством реализованного режима AMVR (например, позволяющем MV указывать между точками сетки на уровне дробной точности для разнесений 412, 414, 422 и 424 сетки). Предоставление возможности системе адаптивно определять уровень разрешения (например, целочисленное разрешение на уровне разнесения сетки или дробном разрешении для точности между разнесениями сетки) обеспечивает повышенную эффективность кодирования. Эта повышенная эффективность кодирования может использовать дополнительные синтаксические элементы для сигнализации, которая дополнительно может явно указывать индекс фильтра для текущего кадра, как описано для различных примеров в данном документе.

[0110] Интерполяция используется для того, чтобы выбирать значения данных (например, для красного, зеленого и синего) в пиксельной позиции с учетом ожидаемого движения или других изменений, включающие в себя внутрипиксельные данные (например, из вектора движения с использованием дробной точности). Во время обработки (например, декодирование или кодирование), обработка выполняется для каждого пиксела или для каждой выборки (например, выборки сигналов яркости и/или выборки сигналов цветности) каждого пиксела. Для каждого пиксела или каждой выборки каждого пиксела выполняется фильтрация, включающая в себя интерполяцию и любую компенсацию повторной дискретизации вследствие RPR, чтобы формировать пиксельные или выборочные значения для текущего кадра 420 во время обработки видеоданных. В другом примере, фильтрация с интерполяцией и повторной дискретизацией может объединяться в один процесс фильтрации. Каждый пиксел или выборка должен иметь прилагаемое значение масштабирования и вектор движения во время обработки. Как описано выше, различные фильтры могут использоваться при различных обстоятельствах (например, при различных значениях вектора 430 движения или различных значениях масштабирования между опорным кадром 410 и текущим кадром 420).

[0111] Нижеприведенная таблица 1 предоставляет примерную таблицу коэффициентов фильтрации с индексом фильтра для переключения интерполяционных фильтров между различными полупельными интерполяционными фильтрами:

Дробная выборочная позиция Коэффициенты интерполяционной фильтрации A B C D E F G H 1 0 1 -3 63 4 -2 1 0 2 -1 2 -5 62 8 -3 1 0 3 -1 3 -8 60 13 -4 1 0 4 -1 4 -10 58 17 -5 1 0 5 -1 4 -11 52 26 -8 3 -1 6 -1 3 -9 47 31 -10 4 -1 7 -1 4 -11 45 34 -10 4 -1 8 (значение 1 индекса фильтра) -1 4 -11 40 40 -11 4 -1 8 (значение 2 индекса фильтра) 0 3 9 20 20 9 3 0 9 -1 4 -10 34 45 -11 4 -1 10 -1 4 -10 31 47 -9 3 -1 11 -1 3 -8 26 52 -11 4 -1 12 0 1 -5 17 58 -10 4 -1 13 0 1 -4 13 60 -8 3 -1 14 0 1 -3 8 62 -5 2 -1 15 0 1 -2 4 63 -3 1 0

Табл. 1

[0112] Таблица 1 показывает таблицу коэффициентов интерполяционной фильтрации для фильтрации в позициях с дробной точностью в одну шестнадцатую. В зависимости от позиции с дробной точностью (например, дробной выборочной позиции 1-15 в первом столбце, при этом позиция 0 представляет собой недробную или целочисленную позицию), могут использоваться различные коэффициенты фильтрации (например, коэффициенты из строки, соответствующей дробной позиции). Дополнительно, в полупельной позиции (например, в дробной выборочной позиции 8 с дробной точностью в одну шестнадцатую таблицы 1), доступны два интерполяционных фильтра, и сигнализация может использоваться для переключения между фильтрами на этом уровне. Хотя два фильтра описываются посредством таблицы 1 для переключения интерполяционных фильтров на полупельном уровне (например, выбора между значениями индекса фильтра 1 и 2), другие примеры могут использовать более двух фильтров для переключения либо могут включать в себя дополнительные фильтры для переключения в любой дробной позиции. Добавление дополнительных фильтров для переключения интерполяционных фильтров позволяет увеличивать дробную точность во время обработки изображений за счет дополнительной сигнализации и ресурсов обработки.

[0113] На JVET-N0279 и JVET-O0242, которые содержатся в данном документе по ссылке полностью и для всех целей, предлагается RPR. В предложении, текущий кадр (например, кадр, в данный момент кодируемый или декодируемый) и опорные кадры могут иметь различные разрешения (например, размеры, разнесения сетки, значения масштабирования и т.д.), как описано выше. В таких случаях, во время компенсации движения, разность в разрешении рассматривается при выполнении интерполяционной фильтрации посредством регулирования фазы интерполяционного фильтра. Например, при видеосвязи в реальном времени, разрешение изменений разрешения в кодированной видеопоследовательности без вставки интра-предсказанного кадра (I-кадра) позволяет не только адаптировать видеоданные к динамическому состоянию канала или пользовательским предпочтениям прозрачно, но также позволяет удалять эффекты, вызываемые посредством I-кадров. Когда адаптивные изменения разрешения возникают, текущий кадр может предсказываться из опорных кадров различных размеров. Иллюстративный пример процесса повторной дискретизации (или масштабирования) опорных кадров описывается ниже.

[0114] На JVET-O0057, которая настоящим полностью фактически содержится в данном документе по ссылке, понятие переключаемого интерполяционного фильтра предложено для VVC. В этом документе, один или более интерполяционных фильтров могут переключаться. Например, индекс фильтра может сигнализироваться или логически выводиться (например, посредством декодера), чтобы указывать то, что другой интерполяционный фильтр используется для блока. Индекс фильтра может сигнализироваться на основе блоков (например, явно или через сигнализирование информации полупельного режима AMVR). Например, в системе с полупельным AMVR, синтаксические элементы, сообщаемые в потоке битов, могут явно указывать индекс фильтра, который должен использоваться при обработке текущего блока, ассоциированного с синтаксическим элементом (например, синтаксическим элементом, указывающим конкретное значение индекса фильтра таблицы 1). В примерах с AMVR с использованием дробной точности, отличной от полупельной, аналогичная сигнализация может использовать синтаксические элементы, сконфигурированные для конкретных вариантов разрешения реализации AMVR.

[0115] В других реализациях, индекс фильтра не должен сигнализироваться явно через синтаксические элементы в потоке битов, которые конкретно указывают индекс фильтра, который должен использоваться. В таких других примерах без явной сигнализации, индекс фильтра может логически выводиться (например, посредством декодера) через возможный вариант вектора движения в подобных объединению режимах, таких как режимы объединения, описанные выше относительно фиг. 2A и 2B.

[0116] В одном иллюстративном примере, в сумме N фильтров с различными характеристиками (например, к примеру, длиной фильтра, частотой отсечки, переходной полосой частот или величиной пульсаций) могут задаваться. Для каждого блока, поднабор N фильтров может задаваться, и индекс выбранного фильтра в поднаборе может явно или неявно сигнализироваться в декодер (например, с использованием флага или значения индекса фильтра, как проиллюстрировано в таблице 1). Поднабор может варьироваться в зависимости от блока на основе определенного критерия (например, процента совпадений фильтров в ранее кодированных блоках, значений векторов движения, значений масштабирования и т.д.).

[0117] Когда переключение интерполяционных фильтров возникает, фильтр, указываемый посредством индекса фильтра, может быть подходящим для целей интерполяции, но может не быть полезным для целей повторной дискретизации кадров (и в некоторых случаях других процессов преобразования частоты дискретизации). Например, сглаживающий фильтр может не быть хорошим фильтром повторной дискретизации. Переключение между различными фильтрами (например, переключение интерполяционных фильтров) обеспечивает возможность операций обработки изображений, чтобы создавать стабильность между изображениями в зависимости от характеристик фильтруемого пиксела (например, ассоциированных векторов движения и значений масштабирования для пиксела в текущем кадре и ассоциированном опорном кадре). Например, индекс фильтра может иметь значения индекса фильтра для различных фильтров. В некоторых примерах, фильтр, который должен использоваться, сигнализируется (например, с использованием флага), чтобы указывать то, какой из фильтров в индексе должен использоваться (например, переключение между интерполяционными фильтрами). В другом примере, фильтр, который должен использоваться, может исходить из пространственного возможного варианта (например, опорного кадра), в котором индекс фильтра сохраняется с данными вектора движения, и распространяться из опорного кадра для использования с текущим кадром.

[0118] В данном документе описываются способы, оборудование и машиночитаемые носители, которые решают вышеобозначенную проблему, а также другие проблемы. В некоторых примерах, как подробнее описано ниже, может выполняться проверка состояния, чтобы идентифицировать то, имеют или нет размер текущего кадра и размер опорного кадра идентичный размер. Проверка состояния может выполняться на различных уровнях, как подробно указано ниже.

[0119] Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей способ 500 для обработки видеоданных. В некоторых примерах, способ 500 осуществляется посредством устройства, включающего в себя запоминающее устройство и один или более процессоров. В некоторых примерах, способ 500 может осуществляться посредством устройства кодирования, такого как устройство 104. В некоторых примерах, способ 500 может осуществляться посредством устройства декодирования, такого как устройство 112. В некоторых примерах, способ 500 осуществляется в качестве инструкций, сохраненных в машиночитаемом запоминающем устройстве, которые инструктируют одному или более процессорам осуществлять способ 500, когда инструкции выполняются посредством одного или более процессоров.

[0120] На этапе 505, способ 500 включает в себя получение текущего кадра и опорного кадра. Как описано выше, в различных примерах, текущий кадр и опорный кадр могут разделяться и организовываться различными способами (например, как различные единицы, срезы и т.д.)

[0121] Этап 510 способа 500 включает в себя идентификацию информации индекса фильтра для текущего блока текущего кадра. В различных примерах, эта информация индекса фильтра может логически выводиться из соседних блоков или может сигнализироваться в качестве части AMVR. В некоторых примерах, информация индекса фильтра содержит данные сигнализации режима AMVR, при этом текущий индекс фильтра сообщается через сигнализацию режима AMVR. В некоторых примерах, информация индекса фильтра содержит информацию соседних блоков, и текущий индекс фильтра затем извлекается из информации соседних блоков во время извлечения списков возможных вариантов векторов движения в режиме объединения. Информация индекса фильтра включает в себя информацию движения, к примеру, индекс фильтра или значение индекса фильтра. В режиме объединения, эта информация индекса фильтра может распространяться или подразумеваться из соседних блоков. В режиме AMVR, информация индекса фильтра может явно сообщаться с использованием сигнализации AMVR.

[0122] Этап 515 способа 500 включает в себя определение того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются. В некоторых примерах, это определение может заключать в себе сравнение ширины и высоты. В других примерах, любое другое такое сравнение может использоваться. В одном примере, определение того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, содержит определение, по меньшей мере, одного из следующего: ширина текущего кадра отличается от ширины опорного кадра; и высота текущего кадра отличается от высоты опорного кадра. Эта проверка размера кадров может функционировать в качестве условия для изменения индекса фильтра. В зависимости от проверки размера кадров и ассоциированного изменения индекса фильтра, может быть сконфигурировано распространение исходного значения индекса (например, значение текущего индекса до заменяться, если указывается посредством проверки размера кадров) (например, посредством сохранения исходного значения индекса и замены его для этапа распространения или посредством хранения его, если значение по умолчанию не заменяет исходное значение индекса).

[0123] На этапе 520, способ 500 включает в себя выполнение процесса преобразования частоты дискретизации с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра. В некоторых примерах, процесс преобразования частоты дискретизации включает в себя процесс повторной дискретизации. Например, этап 520 может включать в себя выполнение процесса повторной дискретизации с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра. В некоторых примерах, процесс преобразования частоты дискретизации включает в себя процесс интерполяции. Выполнение может быть основано на определении того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются. В различных примерах, процесс преобразования частоты дискретизации (например, процесс повторной дискретизации) выполняется без использования текущего индекса фильтра, когда текущие и опорные кадры имеют различные значения размера. В некоторых таких примерах, значение по умолчанию для текущего индекса фильтра интерпретируется посредством устройства или включает в себя индикатор того, что альтернативная переключаемая фильтрация не применяется в качестве части процесса преобразования частоты дискретизации (например, процесса повторной дискретизации).

[0124] В различных примерах, когда извлеченный индекс фильтра (например, текущий индекс, указываемый посредством сигнализации или извлечение), значение остается с блоком и может использоваться (например, распространяться) в последующие блоки, обработанные посредством системы. В таких примерах, если значение индекса фильтра по умолчанию используется для текущего кадра (например, альтернативный переключаемый фильтр не используется), значение индекса фильтра по умолчанию не распространяется из текущего кадра, но исходное значение может сохраняться, или значение по умолчанию может заменяться исходным значением после использования для распространения в последующие кадры.

[0125] В некоторых примерах, способ дополнительно может заключать в себе этапы для сохранения текущего индекса фильтра, идентифицируемого информацией индекса фильтра с текущим блоком, и использования текущего индекса фильтра при извлечении возможных вариантов векторов движения для последующего блока на основе текущего индекса фильтра, идентифицируемого информацией индекса фильтра. В некоторых примерах, способ дополнительно может заключать в себе этапы для назначения значения по умолчанию для текущего индекса фильтра, с тем чтобы заменять исходное значение на временной основе, когда процесс преобразования частоты дискретизации (например, процесс повторной дискретизации) выполняется без использования текущего индекса фильтра, чтобы создавать индекс фильтра по умолчанию, и назначения исходного значения для текущего индекса фильтра после процесса преобразования частоты дискретизации (например, процесса повторной дискретизации). Это переназначение исходного обеспечивает возможность распространения текущего значения индекса фильтра (например, исходного значения в последующие кадры, даже когда текущее значение индекса фильтра не используется для текущего кадра.

[0126] Некоторые такие примеры могут работать посредством определения того, что текущий индекс фильтра не используется для процесса преобразования частоты дискретизации (например, процесса повторной дискретизации), и замены значения текущего индекса фильтра на значение по умолчанию в ответ на определение того, что текущий индекс фильтра не используется для процесса преобразования частоты дискретизации (например, процесса повторной дискретизации). Аналогично, некоторые такие примеры работают посредством обработки значения по умолчанию, чтобы определять то, что альтернативный переключаемый фильтр не применяется.

[0127] Некоторые примеры могут работать таким образом, что текущее значение индекса фильтра не сигнализируется в ответ на определение того, что текущий индекс фильтра не используется в процессе преобразования частоты дискретизации (например, в процессе повторной дискретизации). Некоторые примеры могут работать таким образом, что текущий индекс фильтра выбирается из набора фильтров, причем в этом случае поднабор набора фильтров используется для выполнения процесса преобразования частоты дискретизации (например, процесса повторной дискретизации), и оставшаяся часть набора фильтров не является применимой для преобразования частоты дискретизации (например, не является применимой для повторной дискретизации). Некоторые такие примеры работают таким образом, что текущий индекс фильтра выбирается с использованием синтаксического элемента, указывающего то, что выбор текущего индекса фильтра из оставшейся части набора фильтров запрещается.

[0128] Способ 500 затем может повторяться по мере необходимости в качестве части операций декодирования или кодирования. На некоторых этапах, способ 500 не используется для некоторых итераций (например, для интерполяции, в которой повторная дискретизация или другой процесс преобразования частоты дискретизации не предусмотрен, к примеру, когда опорный кадр имеет размер, идентичный размеру текущего кадра). Как отмечено выше, процесс преобразования частоты дискретизации включает в себя процесс повторной дискретизации в некоторых примерах. Этапы способа 500 дополнительно могут включать в себя идентификацию первой группы фильтров для интерполяции и второй группы фильтров для повторной дискретизации, при этом текущий индекс фильтра - из второй группы фильтров. Этапы способа 500 дополнительно могут включать в себя получение второго текущего кадра и второго опорного кадра, определение того, что третье значение размера кадра второго текущего кадра и четвертое значение размера кадра второго опорного кадра - одно и то же значение размера. На основе определения того, что третье значение размера кадра второго текущего кадра и четвертое значение размера кадра второго опорного кадра - одно и то же значение размера, этапы способа 500 могут включать в себя выполнение второго процесса повторной дискретизации для второго текущего блока с использованием второго выбранного фильтра, при этом второй выбранный фильтр - из первой группы фильтров. В некоторых таких примерах, каждый фильтр из первой группы фильтров и второй группы фильтров идентифицируется посредством ассоциированного индекса фильтра, причем ассоциированный индекс фильтра указывает ассоциированное значение индекса из набора фильтров для интерполяции или набора фильтров для повторной дискретизации. Некоторые такие примеры дополнительно включают в себя получение текущего индекса фильтра из индекса фильтра посредством операции поиска для выбранного значения индекса фильтра, при этом выбранное значение индекса фильтра ассоциировано со второй группой фильтров, и при этом ассоциирование между выбранным значением индекса фильтра и второй группой фильтров основано на определении того, что первое значение размера кадра и второе значение размера кадра отличаются.

[0129] В некоторых примерах, текущий индекс фильтра не используется (например, игнорируется, либо процесс повторной дискретизации или другой процесс преобразования частоты дискретизации не зависит от значения текущего индекса фильтра) в процессе повторной дискретизации, когда ширина текущего кадра отличается от ширины опорного кадра, или высота текущего кадра отличается от высоты опорного кадра. Извлеченный или сообщаемый индекс фильтра может сохраняться с текущим блоком и используется в процессе извлечения возможных вариантов векторов движения в следующих блоках. Когда определяется то, что извлеченный или сообщаемый индекс фильтра не используется, значение по умолчанию для индекса фильтра может временно назначаться в процессе повторной дискретизации, в то время как значение извлеченного или сообщенного индекса фильтра оставляется без изменений после процесса повторной дискретизации. В этом случае, значение по умолчанию может указывать то, что альтернативный переключаемый фильтр не применяется.

[0130] В некоторых таких примерах, индекс фильтра извлекается из соседних блоков во время процесса извлечения списка возможных вариантов векторов движения для режима объединения, как описано выше. В других примерах, индекс фильтра сигнализируется через режим AMVR. В некоторых примерах, процесс преобразования частоты дискретизации представляет собой процесс компенсации движения. В некоторых таких примерах, опорный кадр представляет собой опорный кадр, используемый для интер-предсказания текущего блока текущего кадра.

[0131] В некоторых примерах, когда определяется то, что извлеченный или сообщаемый индекс фильтра не используется, значение индекса фильтра может заменяться значением по умолчанию. В некоторых таких примерах, значение по умолчанию указывает то, что альтернативный переключаемый фильтр не применяется, при этом в одном примере альтернативный фильтр может представлять собой сглаживающий фильтр. В некоторых других примерах, когда определяется то, что индекс фильтра не используется в процессе повторной дискретизации (или в другом процессе преобразования частоты дискретизации), значение индекса фильтра не сигнализируется.

[0132] В некоторых реализациях, процессы (или способы), описанные в данном документе, могут выполняться посредством вычислительного устройства или оборудования, такого как система 100, показанная на фиг. 1. Например, процессы могут выполняться посредством устройства 104 кодирования, показанного на фиг. 1 и фиг. 7, посредством другого устройства на стороне видеоисточника или устройства передачи видео, посредством устройства 112 декодирования, показанного на фиг. 1 и фиг. 8, и/или посредством другого клиентского устройства, такого как проигрывающее устройство, дисплей или любое другое клиентское устройство. В некоторых случаях, вычислительное устройство или оборудование может включать в себя процессор, микропроцессор, микрокомпьютер или другой компонент устройства, который выполнен с возможностью выполнять этапы процессов, описанных в данном документе. В некоторых примерах, вычислительное устройство или оборудование может включать в себя камеру, выполненную с возможностью захватывать видеоданные (например, видеопоследовательность), включающие в себя видеокадры. В некоторых примерах, камера или другое устройство захвата, которое захватывает видеоданные, является отдельным от вычислительного устройства, причем в этом случае вычислительное устройство принимает или получает захваченные видеоданные. Вычислительное устройство дополнительно может включать в себя сетевой интерфейс, выполненный с возможностью обмениваться видеоданными. Сетевой интерфейс может быть выполнен с возможностью обмениваться данными на основе Интернет-протокола (IP) или другим типом данных. В некоторых примерах, вычислительное устройство или оборудование может включать в себя дисплей для отображения выходного видеоконтента, такого как выборки кадров потока битов видео.

[0133] Фиг. 6 является блок-схемой последовательности операций способа, иллюстрирующей аспекты повторной дискретизации опорных кадров в соответствии с некоторыми примерами, показанными на фиг. 6 в качестве способа 600. Способ 600 может выполняться в качестве части процедуры обработки изображений или видео, такой как процедура обработки в соответствии с процедурами согласно VVC, JEM или другим стандартам кодирования видео, как описано выше.

[0134] Во время видеообработки в качестве части реализации способа 600, этап 602 включает в себя идентификацию текущего кадра. Текущий кадр может идентифицироваться с использованием POC, как описано выше, или с использованием любой другой операции, чтобы идентифицировать данные, ассоциированные с изображением из обрабатываемого набора изображений (например, видео).

[0135] Для обработки текущего кадра, идентифицированного на этапе 602, опорный кадр идентифицируется на этапе 604. В качестве части этой идентификации, один или более опорных кадров или возможных вариантов опорных кадров (например, из DPB) могут выбираться для списка опорных кадров (например, с использованием POC), как подробно описано выше и ниже. В зависимости от реализации, отдельный опорный кадр затем может выбираться из списка опорных кадров для использования при обработке аспектов текущего кадра. В некоторых реализациях, различные кадры ссылок могут использоваться для обработки различных частей текущего кадра, но во время обработки, используются данные из отдельного опорного кадра (например, данные изображений, используемые для того, чтобы создавать векторы движения, к примеру, вектор 430 движения с использованием опорного кадра 410).

[0136] Дополнительно, во время видеообработки в соответствии со способом 600, всевозможные режимы могут использоваться в качестве части видеообработки. Они могут включать в себя различные режимы для предсказания движения, как описано выше, к примеру, режимы AMVR и режимы объединения. В различных реализациях, эти режимы могут изменяться во время обработки отдельного изображения, частей изображения или групп изображений.

[0137] Различные режимы обработки могут сообщать информацию для фильтров, которые должны использоваться при обработке текущего кадра различными способами. Например, как описано в данном документе, AMVR может явно сообщать синтаксические элементы, указывающие значение индекса фильтра, идентифицирующее информацию относительно фильтра, который должен использоваться при обработке текущего изображения. В отличие от этого, режим объединения может работать без явного сигнализирования индексов фильтра посредством извлечения информации индекса фильтра из других кадров (например, смежных кадров, опорных кадров и т.д.) На этапе 608, соответствующая операция для идентификации информации индекса фильтра определяется, и операция обработки продолжается с соответствующими операциями, чтобы собирать информацию индекса фильтра. Если явное сигнализирование индексов фильтра используется, то на этапе 610, синтаксические элементы явной сигнализации синтаксически анализируются, чтобы собирать информацию индекса фильтра (например, значение индекса фильтра). Если явное сигнализирование индексов фильтра не используется, то на этапе 612, информация индекса фильтра извлекается (например, распространяется из смежного изображения или части изображения).

[0138] После того как информация индекса фильтра собрана на этапе 610 или на этапе 612, информация индекса фильтра используется для того, чтобы задавать текущее значение индекса фильтра на этапе 614. Например, в реализации с использованием таблицы 1, значение индекса фильтра может задаваться равным одному из двух значений индекса фильтра, ассоциированных с полупельной дробной позицией индекса, на основе информации индекса фильтра.

[0139] Этап 616 включает в себя проверку состояния, которая используется для того, чтобы выбирать соответствующий фильтр в зависимости от того, используется или нет повторная дискретизация. Проверка состояния заключает в себе сравнение размера текущего кадра и опорного кадра, идентифицированных на этапе 604. Как описано в данном документе, эта проверка состояния может заключать в себе сравнение размера по горизонтали, размера по вертикали, значений разрешения или любой другой такой информации, ассоциированной с размером текущего кадра и опорного кадра. В некоторых примерах, проверка состояния (например, сравнение размера или масштабирования опорных и текущих кадров) может выполняться на основе блоков. Например, проверка состояния может выполняться с тем, чтобы проверять то, имеют или нет текущий кадр, содержащий блок, и опорный кадр, указываемый в блоке посредством опорного индекса, идентичный размер кадра, либо они не имеют идентичный размер. В некоторых примерах, проверка состояния может выполняться для среза, плитки, субкадра или другой группы уровня блоков. Например, проверка состояния может проверять то, имеют или нет какой-либо опорный кадр, доступный для интер-предсказания, и текущий кадр идентичный размер.

[0140] В некоторых примерах, условие может проверяться на уровне последовательности, например, чтобы проверять то, является или нет возможной вероятность наличия различных размеров кадров. В одном примере, в наборе параметров (например, посредством флага в PPS, SPS и/или VPS) может указываться то, может или нет применяться повторная дискретизация кадров.

[0141] В некоторых случаях, когда размер кадра извлекается (например, для обоих текущих и опорных кадров), размер может представлять собой размер декодированного кадра или размер обрезанного кадра. Например, окно соответствия может сигнализироваться в потоке битов и может применяться посредством декодера или мультимедийного проигрывателя, чтобы обрезать декодированный кадр до размера обрезанного кадра. В некоторых случаях, размер кадра для проверки состояния может извлекаться на основе размера декодированного кадра и различных смещений (например, смещения влево, смещения вправо, смещения вверх и/или смещения вниз). Размер декодированного кадра и/или смещения могут сигнализироваться в наборе параметров (например, PPS, SPS и/или VPS) или в другом месте (например, в SEI-сообщении, заголовке среза или другом механизме сигнализации). В этом случае, коэффициент масштабирования для повторной дискретизации может извлекаться с учетом размера кадра для текущего кадра и размера опорного кадра с применяемыми смещениями. В некоторых реализациях, смещения могут быть аналогичными смещениям при масштабировании, используемым в HEVC-стандарте (например, в масштабируемом расширении). Этот коэффициент масштабирования и/или значения размера для текущего кадра и опорного кадра затем могут использоваться при определении того, какие фильтры применяются при обработке текущего кадра. Технологии, описанные в данном документе, могут использовать любой способ проверки того, представляют или нет размер текущего кадра и размер опорного кадра собой идентичный размер.

[0142] В зависимости от результата этапа 616, текущее изображение затем может обрабатываться различными способами (например, с использованием различных фильтров). Если текущие и опорные кадры идентифицируются в качестве идентичного размера, то на этапе 618, значение текущего индекса (например, сообщенное или извлеченное выше) используется при обработке текущего изображения.

[0143] Когда текущий кадр и опорный кадр не имеют идентичный размер, то на этапе 620, текущее значение индекса фильтра, заданное на этапе 614, игнорируется. Это может заключать в себе использование значения фильтра по умолчанию, которое задается в системе для фильтрации, предусматривающей повторную дискретизацию опорных кадров или контур фильтра по умолчанию для операций, в которых условие проверки представляет собой "истина". В некоторых примерах, если идентифицируется то, что условие проверки представляет собой "истина" (например, размеры кадров для текущего кадра и опорного либо одного или обоих опорных кадров в бипредсказании отличаются), то использование переключаемого интерполяционного фильтра(ов) может деактивироваться на уровне последовательности в SPS, на уровне кадра через сигнализацию PPS, на уровне среза и/или плитки и/или на уровне блока. Эта деактивация переключаемой интерполяционной фильтрации (например, использование заданного текущего значения индекса фильтра, когда переключаемая интерполяционная фильтрация используется в системе) может рассматриваться как выбор фильтра по умолчанию или любого сменного фильтра для переключаемого интерполяционного фильтра, заданного на этапе 614.

[0144] Независимо от того, какой фильтр выбирается, текущий кадр обрабатывается с использованием выбранного фильтра на этапе 622. Эта обработка может представлять собой часть контура кодирования, который фильтрует различные части текущего изображения, и в силу этого, в зависимости от реализации, этапы способа 600 могут повторяться и циклично выполняться различными способами для обработки текущего изображения или части текущего изображения с использованием различных фильтров. В примере способа 600, этап 624 включает в себя распространение текущего значения индекса фильтра таким образом, что эта информация доступна для использования с последующим блоком при необходимости. Это может заключать в себе формирование явной сигнализации или может заключать в себе сохранение текущего значения индекса фильтра таким образом, что к нему может осуществляться доступ во время последующей итерации этапа 612, чтобы извлекать значение индекса фильтра (например, когда текущий кадр или часть текущего кадра становится смежным или опорным кадром для последующего обрабатывающегося текущего кадра). Способ 600 затем может завершаться и может циклично выполняться для обработки видеопотока. Должно быть очевидным то, что способ 600 может реализовываться с дополнительными повторными или промежуточными этапами, в зависимости от того, как использование переключаемой интерполяционной фильтрации используется (например, со структурами для переключаемой интерполяционной фильтрации, которые должны деактивироваться на уровне последовательности в SPS, на уровне кадра через передачу сигнализацию PPS, на уровне среза и/или плитки и/или на уровне блока). Дополнительно, во время определенных режимов или операций обработки, переключаемая интерполяционная фильтрация может не использоваться (например, выбор одного четвертьпельного или других значений, отличных от полупельных значений индекса таблицы 1 с переключаемой интерполяционной фильтрацией), и в силу этого способ 600 может не использоваться для частей, обрабатывающих видео, когда он используется для других частей идентичного видео.

[0145] В некоторых случаях, когда использование переключаемого интерполяционного фильтра(ов) деактивируется на уровне блока (например, когда идентифицируется то, что условие проверки представляет собой "истина"), синтаксический элемент, указывающий индекс фильтра (например, сигнализирование информации полупельного режима AMVR, при которой другая полупельная интерполяция неявно подразумевается), не сигнализируется для блока. В таких случаях, синтаксические элементы, ассоциированные с переключаемой фильтрацией, например, индекс фильтра, полупельного AMVR, чтобы указывать другой интерполяционный фильтр, преобразуются и согласуются в отношении проверки размера кадров (например, того, представляют или нет размер текущего кадра и размер опорного кадра собой идентичный размер).

[0146] В некоторых случаях, когда использование переключаемого интерполяционного фильтра(ов) деактивируется на уровне блока (например, когда идентифицируется то, что условие проверки представляет собой "истина"), если индекс фильтра или использование другого фильтра (например, например, через полупельную сигнализацию AMVR либо в режиме объединения или в других режимах на основе объединения) сигнализируется или логически выводится из соседних блоков, индекс фильтра модифицируется и задается равным значению индекса фильтра по умолчанию для возможного варианта извлеченного вектора движения из соседнего блока. В одном примере, фильтр по умолчанию может указывать то, что переключаемый фильтр не применяется. В соответствии с различными примерами, выбранный фильтр может указываться явно или неявно. В некоторых примерах, явный синтаксический элемент сообщается через сигнализацию режима AMVR. В других примерах, фильтр подразумевается, извлекается или распространяется из соседнего блока или опорного блока. Когда сообщаемый (например, явно или неявно) индекс фильтра не используется вследствие деактивации переключаемой интерполяционной фильтрации, значение индекса фильтра по умолчанию может использоваться. Этот фильтр по умолчанию может указывать то, что переключаемая фильтрация не используется (например, в качестве части процесса для деактивации переключаемой интерполяционной фильтрации, когда это не разрешается).

[0147] В некоторых случаях, когда использование переключаемого интерполяционного фильтра(ов) деактивируется на уровне блока (когда идентифицируется то, что условие проверки представляет собой "истина"), если индекс фильтра (или использование различных фильтров, например, через полупельную сигнализацию AMVR) логически выводится из соседних блоков, например, в режиме объединения или в других режимах на основе объединения, индекс фильтра (или неявная сигнализация, например, через полупельный режим AMVR) извлекается из соседних блоков, но во время процесса повторной дискретизации, извлеченный индекс фильтра игнорируется, и фильтр повторной дискретизации применяется, даже если это может указывать то, что переключаемая фильтрация должна использоваться. Извлеченный индекс фильтра для текущего блока может сохраняться с блоком и может использоваться для последующих блоков (после текущего блока), причем в этом случае индекс фильтра распространяется.

[0148] В некоторых примерах, если расширять вышеуказанную идею на случаи, в которых фильтр может выбираться из набора фильтров (например, два полупельных фильтра таблицы 1), только поднабор фильтров может использоваться для повторной дискретизации, и другие фильтры, не применимые для повторной дискретизации, либо ограничиваются в отношении выбора (в одном примере, синтаксический элемент, указывающий такой выбор может запрещаться на основе условия отличающегося размера кадра), либо такой выбор игнорируется, когда процесс повторной дискретизации выполняется.

[0149] В некоторых примерах, две группы или набора фильтров могут предоставляться, при этом одна группа фильтров используется для интерполяции (например, для этапов 622 обработки с использованием фильтра, выбранного на этапе 618), а другая группа фильтров используется для повторной дискретизации (например, этап 622 обработки с использованием фильтра, выбранного на этапе 620). В таких примерах, если переключение фильтра указывается, фильтр выбирается из группы на основе такого условия, что размеры кадров отличаются, т.е. повторная дискретизация выполняется. Например, индекс фильтра может указывать необходимость использовать фильтр с этим индексом фильтра из набора (или группы) фильтров, при этом набор (или группа) идентифицируется на основе того, выполняются либо нет только интерполяция или повторная дискретизация для блока.

[0150] В более подробном примере, при условии, что предусмотрен набор фильтров для интерполяции (обозначается как interpolationSet) и другой набор фильтров для повторной дискретизации (обозначается как resamplingSet). Набор фильтров может иметь один фильтр или более одного фильтра (размер набора фильтров может быть равным 1 или большим 1). Индекс фильтра со значением filterIndex может выбираться для использования в блоке. Фильтр, который используется в блоке, получается из набора фильтров посредством поиска фильтра с индексом filterIndex. Фильтр может быть из любого набора interpolationSet или resamplingSet, и набор фильтров идентифицируется на основе такого условия, являются или нет идентичными размеры текущих кадров и опорных кадров. Если размеры текущих кадров и опорных кадров являются идентичными (причем в этом случае, повторная дискретизация не требуется), то набор фильтров идентифицируется в качестве interpolationSet. Если размеры текущих кадров и опорных кадров отличаются (причем в этом случае повторная дискретизация выполняется), то набор фильтров идентифицируется в качестве resamplingSet. Преимущество этой технологии состоит в том, что нет необходимости изменять сигнализирование индексов фильтра и логический вывод индекса фильтра (например, значение индекса фильтра может распространяться между интерполированными или повторно дискретизированными соседними блоками), и только конечный фильтр выбирается из набора на основе условия по размеру кадров.

[0151] Ниже описывается иллюстративный пример RPR-процесса повторной дискретизации (или масштабирования) опорных кадров. Как отмечено выше, когда возникает изменение разрешения (например, в кодированной видеопоследовательности (CVS)), кадр может иметь отличающийся размер относительно одного или более своих опорных кадров. RPR-процесс может выполняться, чтобы нормализовать все векторы движения в сетку текущего кадра вместо их соответствующих сеток опорного кадра. Такой процесс может быть полезным, чтобы сохранять согласованным проектирование и обеспечивать прозрачность изменений разрешения для процесса предсказания векторов движения. В противном случае, соседние векторы движения, указывающие на опорные кадры с различными размерами, могут не использоваться непосредственно для предсказания пространственного вектора движения вследствие другого масштаба.

[0152] Когда изменение разрешения происходит, векторы движения и опорные блоки могут масштабироваться при выполнении предсказания с компенсацией движения. В некоторых случаях, диапазон масштабирования ограничен [1/8, 2] (например, повышающее масштабирование ограничено 1:8, и понижающее масштабирование ограничено 2:1). Здесь, повышающее масштабирование (или повышающая дискретизация) означают случай, в котором опорный кадр меньше текущего кадра, в то время как понижающее масштабирование (или понижающая дискретизация) означают случай, в котором опорный кадр больше текущего кадра. Процесс масштабирования описывается подробнее ниже.

[0153] Для блоков сигналов яркости, коэффициенты масштабирования и их представления с фиксированной запятой могут задаваться:

уравнение (1)

уравнение (2).

[0154] RPR-процесс может включать в себя две части, включающие в себя: (1) преобразование пиксела верхнего левого угла текущего блока в опорный кадр; и (2) использование горизонтального и вертикального размеров шага для адресации опорных местоположений других пикселов текущего блока. В некоторых случаях, если координата пиксела верхнего левого угла текущего блока представляет собой (x, y), указывается субпельное местоположение (x', y') в опорном кадре, на который указывает вектор движения (mvX, mvY) в единицах 1/16-го пела, при этом горизонтальное местоположение в опорном кадре представляет собой следующее:

уравнение (3)

[0155] и x' дополнительно понижающе масштабируется, чтобы сохранять только 10 дробных битов:

уравнение (4)

[0156] Аналогично, вертикальное местоположение в опорном кадре является следующим:

уравнение (5)

[0157] и y' дополнительно понижающе масштабируется до:

уравнение (6)

[0158] В этот момент, опорное местоположение пиксела верхнего левого угла текущего блока в (x', y'). Другие опорные субпельные/пельные местоположения могут вычисляться относительно (x', y') с горизонтальным и вертикальным размерами шага. Эти размеры шага могут извлекаться с 1/1024-пельной точностью (или другой пельной точностью) из вышеуказанных горизонтальных и вертикальных коэффициентов масштабирования следующим образом:

x_step=(hori_scale_fp+8)>>4, уравнение (7)

y_step=(vert_scale_fp+8)>>4 уравнения (8)

[0159] В одном примере, если пиксел в текущем блоке находится на расстоянии в i столбцов и j строк от пиксела (или выборки) верхнего левого угла, горизонтальная и вертикальная координаты его соответствующего опорного пиксела извлекаются следующим образом:

, уравнение (9)

уравнение (10)

[0160] При субпельной интерполяции, возможно, потребуется разбиение и на полнопельные части и дробнопельные части следующим образом, при этом полнопельные части для адресации опорного блока равны:

уравнение (11)

уравнение (12)

[0161] Дробнопельные части, используемые для того, чтобы выбирать интерполяционные фильтры, равны:

уравнение (13)

уравнение (14)

[0162] После того как полнопельные и дробнопельные местоположения в опорном кадре определяются, существующие интерполяторы с компенсацией движения могут использоваться без дополнительных изменений. Полнопельное местоположение используется для того, чтобы осуществлять выборку патча опорных блоков из опорного кадра, и дробнопельное местоположение используется для того, чтобы выбирать надлежащий интерполяционный фильтр.

[0163] Ниже описывается пример RPR-процесса для блоков сигналов цветности. Например, когда формат сигналов цветности равен 4: 2: 0, векторы движения сигнала цветности имеют 1/32-пельную точность. В этом примере, процесс масштабирования векторов движения сигнала цветности и опорных блоков сигнала цветности является аналогичным процессу для блоков сигналов яркости, за исключением того, что вводится связанное с форматом сигналов цветности регулирование.

[0164] Когда координата пиксела верхнего левого угла текущего блока сигналов цветности представляет собой (xc, yc), начальные горизонтальные и вертикальные местоположения в опорном кадре сигналов цветности являются следующими:

уравнение (15)

уравнение (16)

[0165] где mvX и mvY являются исходным вектором движения сигнала яркости, но теперь должны анализироваться с 1/32-пельной точностью. и дополнительно понижающе масштабируются, чтобы сохранять 1/1024-пельную точность следующим образом:

, уравнение (17)

уравнение (18)

[0166] По сравнению с ассоциированными уравнениями сигнала яркости, вышеуказанный сдвиг вправо увеличивается на один дополнительный бит.

[0167] Используемые размеры шага могут быть идентичными для сигнала яркости. Для пиксела сигнала цветности в (i, j) относительно пиксела верхнего левого угла, горизонтальные и вертикальные координаты его опорного пиксела получаются следующим образом:

уравнение (19)

уравнение (20)

[0168] При субпельной интерполяции, и также разбиваются в полнопельные части и дробнопельные части, и полнопельные части для адресации опорного блока равны:

уравнение (21)

уравнение (22)

[0169] Дробнопельные части, используемые для выбора интерполяционных фильтров, равны:

, уравнение (23)

уравнение (24)

[0170] Процессы могут описываться относительно логических блок-схем последовательности операций способа, работа которых представляет последовательность операций, которая может реализовываться в аппаратных средствах, компьютерных инструкциях либо комбинации вышеозначенного. В контексте компьютерных инструкций, операции представляют машиноисполняемые инструкции, сохраненные на одном или более машиночитаемых носителей данных, которые, при выполнении посредством одного или более процессоров, выполняют изложенные операции. В общем, машиноисполняемые инструкции включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные функции или реализуют конкретные типы данных. Порядок, в котором описываются операции, не должен истолковываться как ограничение, и любое число описанных операций может комбинироваться в любом порядке и/или параллельно, чтобы реализовывать процессы.

[0171] Дополнительно, процессы могут выполняться под управлением одной или более компьютерных систем, сконфигурированных с выполняемыми инструкциями, и могут реализовываться как код (например, выполняемые инструкции, одна или более компьютерных программ или одно или более приложений), выполняющийся совместно на одном или более процессоров, посредством аппаратных средств либо как комбинации вышеозначенного. Как отмечено выше, код может сохраняться на компьютерночитаемом или машиночитаемом носителе данных, например, в форме компьютерной программы, содержащей множество инструкций, выполняемых посредством одного или более процессоров. Компьютерночитаемый или машиночитаемый носитель данных может быть энергонезависимым.

[0172] Технологии кодирования, поясненные в данном документе, могут реализовываться в примерной системе кодирования и декодирования видео (например, в системе 100). В некоторых примерах, система включает в себя исходное устройство, которое предоставляет кодированные видеоданные, которые должны декодироваться позднее посредством целевого устройства. В частности, исходное устройство предоставляет видеоданные в целевое устройство через машиночитаемый носитель. Исходное устройство и целевое устройство могут содержать любые из широкого диапазона устройств, включающих в себя настольные компьютеры, ноутбуки (т.е. переносные компьютеры), планшетные компьютеры, абонентские приставки, телефонные трубки, к примеру, так называемые смартфоны, так называемые интеллектуальные сенсорные панели, телевизионные приемники, камеры, устройства отображения, цифровые мультимедийные проигрыватели, консоли для видеоигр, устройства потоковой передачи видео и т.п. В некоторых случаях, исходное устройство и целевое устройство могут оснащаться возможностями беспроводной связи.

[0173] Целевое устройство может принимать кодированные видеоданные, которые должны декодироваться через машиночитаемый носитель. Машиночитаемый носитель может содержать любой тип носителя или устройства, допускающего перемещение кодированных видеоданных из исходного устройства в целевое устройство. В одном примере, машиночитаемый носитель может содержать среду связи, чтобы обеспечивать возможность исходному устройству передавать кодированные видеоданные непосредственно в целевое устройство в реальном времени. Кодированные видеоданные могут модулироваться согласно стандарту связи, такому как протокол беспроводной связи, и передаваться в целевое устройство. Среда связи может содержать любую беспроводную или проводную среду связи, такую как радиочастотный (RF) спектр либо одна или более физических линий передачи. Среда связи может формировать часть сети с коммутацией пакетов, такой как локальная вычислительная сеть, глобальная вычислительная сеть либо глобальная сеть, такая как Интернет. Среда связи может включать в себя маршрутизаторы, коммутаторы, базовые станции либо любое другое оборудование, которое может быть полезным для того, чтобы упрощать передачу из исходного устройства в целевое устройство.

[0174] В некоторых примерах, кодированные данные могут выводиться из интерфейса вывода в устройство хранения данных. Аналогично, к кодированным данным может осуществляться доступ из устройства хранения данных посредством интерфейса ввода. Устройство хранения данных может включать в себя любые из множества носителей данных с распределенным или локальным доступом, такие как жесткий диск, Blu-Ray-диски, DVD, CD-ROM, флэш-память, энергозависимое или энергонезависимое запоминающее устройство или любые другие подходящие цифровые носители данных для сохранения кодированных видеоданных. В дополнительном примере, устройство хранения данных может соответствовать файловому серверу или другому промежуточному устройству хранения данных, которое может сохранять кодированное видео, сформированное посредством исходного устройства. Целевое устройство может осуществлять доступ к сохраненным видеоданным из устройства хранения данных через потоковую передачу или загрузку. Файловый сервер может представлять собой любой тип сервера, допускающего сохранение кодированных видеоданных и передачу этих кодированных видеоданных в целевое устройство. Примерные файловые серверы включают в себя веб-сервер (например, для веб-узла), FTP-сервер, устройства по протоколу системы хранения данных с подключением по сети (NAS) или локальный накопитель на дисках. Целевое устройство может осуществлять доступ к кодированным видеоданным через любое стандартное соединение для передачи данных, включающее в себя Интернет-соединение. Это целевое устройство включать в себя беспроводной канал (например, Wi-Fi-соединение), проводное соединение (например, DSL, кабельный модем и т.д.), либо комбинацию означенного, которая является подходящей для осуществления доступа к кодированным видеоданным, сохраненным на файловом сервере. Передача кодированных видеоданных из устройства хранения данных может представлять собой потоковую передачу, передачу на основе загрузки либо комбинацию вышеозначенного.

[0175] В одном примере, исходное устройство включает в себя видеоисточник, видеокодер и интерфейс вывода. Целевое устройство может включать в себя интерфейс ввода, видеодекодер и устройство отображения. Видеокодер исходного устройства может быть выполнен с возможностью применять технологии, раскрытые в данном документе. В других примерах, исходное устройство и целевое устройство могут включать в себя другие компоненты или компоновки. Например, исходное устройство может принимать видеоданные из внешнего видеоисточника, такого как внешняя камера. Аналогично, целевое устройство может взаимодействовать с внешним устройством отображения вместо включения в себя интегрированного устройства отображения.

[0176] Вышеописанная примерная система представляет собой просто один пример. Технологии для параллельной обработки видеоданных могут выполняться посредством любого устройства кодирования и/или декодирования цифрового видео. Хотя, в общем, технологии этого раскрытия выполняются посредством устройства кодирования видео, технологии также могут выполняться посредством видеокодера/декодера, типично называемого "кодеком". Кроме того, технологии этого раскрытия также могут выполняться посредством видеопрепроцессора. Исходное устройство и целевое устройство представляют собой просто примеры таких устройств кодирования, в которых исходное устройство формирует кодированные видеоданные для передачи в целевое устройство. В некоторых примерах, исходное и целевое устройства могут работать практически симметрично таким образом, что каждое из устройств включает в себя компоненты кодирования и декодирования видео. Следовательно, примерные системы могут поддерживать одностороннюю или двустороннюю передачу видео между видеоустройствами, например, для потоковой передачи видео, воспроизведения видео, широковещательной передачи видео или видеотелефонии.

[0177] Видеоисточник может включать в себя устройство видеозахвата, такое как видеокамера, видеоархив, содержащий ранее захваченное видео, и/или интерфейс прямых видеотрансляций, чтобы принимать видео от поставщика видеоконтента. В качестве дополнительной альтернативы, видеоисточник может формировать данные компьютерной графики в качестве исходного видео либо комбинацию передаваемого вживую видео, архивного видео и машиногенерируемого видео. В некоторых случаях, если видеоисточник представляет собой видеокамеру, исходное устройство и целевое устройство могут формировать так называемые камерофоны или видеофоны. Тем не менее, как упомянуто выше, технологии, описанные в этом раскрытии, могут быть применимыми к кодированию видео в целом и могут применяться к беспроводным и/или проводным вариантам применения. В каждом случае, захваченное, предварительно захваченное или машиногенерируемое видео может кодироваться посредством видеокодера. Кодированная видеоинформация затем может выводиться посредством интерфейса вывода на машиночитаемый носитель.

[0178] Как указано, машиночитаемый носитель может включать в себя энергозависимые носители, такие как беспроводная широковещательная передача или проводная сетевая передача, либо носители данных (т.е. энергонезависимые носители данных), такие как жесткий диск, флэш-накопитель, компакт-диск, цифровой видеодиск, Blu-Ray-диск или другие машиночитаемые носители. В некоторых примерах, сетевой сервер (не показан) может принимать кодированные видеоданные из исходного устройства и предоставлять кодированные видеоданные в целевое устройство, например, через сетевую передачу. Аналогично, вычислительное устройство оборудования для изготовления носителей, такого как оборудование для штамповки дисков, может принимать кодированные видеоданные из исходного устройства и изготавливать диск, содержащий кодированные видеоданные. Следовательно, можно понимать, что машиночитаемый носитель включает в себя один или более машиночитаемых носителей различных форм, в различных примерах.

[0179] Интерфейс ввода целевого устройства принимает информацию из машиночитаемого носителя. Информация машиночитаемого носителя может включать в себя информацию синтаксиса, заданную посредством видеокодера, которая также используется посредством видеодекодера, которая включает в себя синтаксические элементы, которые описывают характеристики и/или обработку блоков и других кодированных единиц, например, группы кадров (GOP). Устройство отображения отображает декодированные видеоданные пользователю и может содержать любое из множества устройств отображения, таких как дисплей на электронно-лучевой трубке (CRT), жидкокристаллический дисплей (ЖК-дисплей), плазменный дисплей, дисплей на органических светодиодах (OLED) или другой тип устройства отображения. Выше описаны различные варианты осуществления заявки.

[0180] Конкретные подробности устройства 104 кодирования и устройства 112 декодирования показаны на фиг. 7 и фиг. 8, соответственно. Фиг. 7 является блок-схемой, иллюстрирующей примерное устройство 104 кодирования, которое может реализовывать одну или более технологий, описанных в этом раскрытии. Устройство 104 кодирования, например, может формировать синтаксические структуры, описанные в данном документе (например, синтаксические структуры VPS, SPS, PPS или других синтаксических элементов). Устройство 104 кодирования может выполнять кодирование с интра-предсказанием и интер-предсказанием видеоблоков в видеосрезах. Как описано выше, кодирование с интра-предсказанием базируется, по меньшей мере, частично, на пространственном предсказании, чтобы уменьшать или удалять пространственную избыточность в данном видеокадре или кадре. Кодирование с интер-предсказанием базируется, по меньшей мере, частично, на временном предсказании, чтобы уменьшать или удалять временную избыточность в смежных или окружающих кадрах видеопоследовательности. Интра-режим (I-режим) может означать любой из нескольких режимов пространственного сжатия. Интер режимы, такие как однонаправленное предсказание (P-режим) или бипредсказание (B-режим), могут означать любой из нескольких режимов временного сжатия.

[0181] Устройство 104 кодирования включает в себя модуль 35 сегментации, модуль 41 обработки предсказания, модуль 63 фильтрации, запоминающее устройство 64 кадров, сумматор 50, модуль 52 обработки преобразования, модуль 54 квантования и модуль 56 энтропийного кодирования. Модуль 41 обработки предсказания включает в себя модуль 42 оценки движения, модуль 44 компенсации движения и модуль 46 обработки интра-предсказания. Для восстановления видеоблоков, устройство 104 кодирования также включает в себя модуль 58 обратного квантования, модуль 60 обработки обратного преобразования и сумматор 62. Модуль 63 фильтрации имеет намерение представлять один или более контурных фильтров, таких как фильтр удаления блочности, адаптивный контурный фильтр (ALF) и фильтр на основе дискретизированного адаптивного смещения (SAO). Хотя модуль 63 фильтрации показывается на фиг. 7 как представляющий собой контурный фильтр, в других конфигурациях, модуль 63 фильтрации может реализовываться как контурный постфильтр. Устройство 57 постобработки может выполнять дополнительную обработку для кодированных видеоданных, сформированных посредством устройства 104 кодирования. Технологии этого раскрытия в некоторых случаях могут реализовываться посредством устройства 104 кодирования. Тем не менее, в других случаях, одна или более технологий этого раскрытия могут реализовываться посредством устройства 57 постобработки.

[0182] Как показано на фиг. 7, устройство 104 кодирования принимает видеоданные, и модуль 35 сегментации сегментирует данные на видеоблоки. Сегментация также может включать в себя сегментацию на срезы, сегменты среза, плитки или другие большие единицы, а также сегментацию на видеоблоки, например, согласно структуре в виде дерева квадрантов LCU и CU. Устройство 104 кодирования, в общем, иллюстрирует компоненты, которые кодируют видеоблоки в видеосрезе, который должен кодироваться. Срез может разделяться на несколько видеоблоков (и возможно на наборы видеоблоков, называемых "плитками"). Модуль 41 обработки предсказания может выбирать один из множества возможных режимов кодирования, к примеру, один из множества режимов кодирования с интра-предсказанием или один из множества режимов кодирования с интер-предсказанием, для текущего видеоблока на основе результатов ошибки (например, скорости кодирования и уровня искажения и т.п.). Модуль 41 обработки предсказания может предоставлять результирующий интра- или интер-кодированный блок в сумматор 50, чтобы формировать остаточные блочные данные, и в сумматор 62, чтобы восстанавливать кодированный блок для использования в качестве опорного кадра.

[0183] Модуль 46 обработки интра-предсказания в модуле 41 обработки предсказания может выполнять кодирование с интра-предсказанием текущего видеоблока относительно одного или более соседних блоков в кадре или срезе, идентичном кадру или срезу текущего блока, который должен кодироваться для того, чтобы предоставлять пространственное сжатие. Модуль 42 оценки движения и модуль 44 компенсации движения в модуле 41 обработки предсказания выполняют кодирование с интер-предсказанием текущего видеоблока относительно одного или более предиктивных блоков в одном или более опорных кадров, чтобы предоставлять временное сжатие.

[0184] Модуль 42 оценки движения может быть выполнен с возможностью определять режим интер-предсказания для видеосреза согласно предварительно определенному шаблону для видеопоследовательности. Предварительно определенный шаблон может обозначать видеосрезы в последовательности в качестве P-срезов, B-срезов или GPB-срезов. Модуль 42 оценки движения и модуль 44 компенсации движения могут иметь высокую степень интеграции, но проиллюстрированы отдельно в концептуальных целях. Оценка движения, выполняемая посредством модуля 42 оценки движения, представляет собой процесс формирования векторов движения, которые оценивают движение для видеоблоков. Вектор движения, например, может указывать смещение единицы предсказания (PU) видеоблока в текущем видеокадре или кадре относительно предиктивного блока в опорном кадре.

[0185] Предсказанный блок представляет собой блок, для которого обнаруживается, что он практически совпадает с видеоблоком, который должен быть кодирован, с точки зрения пиксельной разности, которая может быть определена посредством суммы абсолютных разностей (SAD), суммы квадратов разностей (SSD) или других разностных показателей. В некоторых примерах, устройство 104 кодирования может вычислять значения для субцелочисленно-пиксельных позиций опорных кадров, сохраненных в запоминающем устройстве 64 кадров. Например, устройство 104 кодирования может интерполировать значения позиций в одну четверть пиксела, позиций в одну восьмую пиксела или других дробно-пиксельных позиций опорного кадра. Следовательно, модуль 42 оценки движения может выполнять поиск движения относительно полно-пиксельных позиций и дробно-пиксельных позиций и выводить вектор движения с дробно-пиксельной точностью.

[0186] Модуль 42 оценки движения вычисляет вектор движения для PU видеоблока в интер-кодированном срезе посредством сравнения позиции PU с позицией предиктивного блока опорного кадра. Опорный кадр может выбираться из первого списка опорных кадров (списка 0) или второго списка опорных кадров (списка 1), каждый из которых идентифицируют один или более опорных кадров, сохраненных в запоминающем устройстве 64 опорных кадров. Модуль 42 оценки движения отправляет вычисленный вектор движения в модуль 56 энтропийного кодирования и модуль 44 компенсации движения.

[0187] Компенсация движения, выполняемая посредством модуля 44 компенсации движения, может заключать в себе получение или формирование предиктивного блока на основе вектора движения, определенного посредством оценки движения, возможно выполнение интерполяции в субпиксельную точность. При приеме вектора движения для PU текущего видеоблока, модуль 44 компенсации движения может находить предиктивный блок, на который указывает вектор движения в списке опорных кадров. Устройство 104 кодирования формирует остаточный видеоблок посредством вычитания пиксельных значений предиктивного блока из пиксельных значений текущего кодируемого видеоблока, формируя значения пиксельных разностей. Значения пиксельных разностей формируют остаточные данные для блока и могут включать в себя разностные компоненты сигнала яркости и сигнала цветности. Сумматор 50 представляет компонент или компоненты, которые выполняют эту операцию вычитания. Модуль 44 компенсации движения также может формировать синтаксические элементы, ассоциированные с видеоблоками и видеосрезом, для использования посредством устройства 30 декодирования при декодировании видеоблоков видеосреза.

[0188] Модуль 46 обработки интра-предсказания может выполнять интра-предсказание текущего блока, в качестве альтернативы интер-предсказанию, выполняемому модулем 42 оценки движения и модулем 44 компенсации движения, как описано выше. В частности, модуль 41 обработки интра-предсказания может определять режим интра-предсказания для использования для того, чтобы кодировать текущий блок. В некоторых примерах, модуль 46 обработки интра-предсказания может кодировать текущий блок с использованием различных режимов интра-предсказания, например, во время отдельных проходов кодирования, и модуль 46 обработки интра-предсказания может выбирать соответствующий режим интра-предсказания, который следует использовать, из тестированных режимов. Например, модуль 41 обработки интра-предсказания может вычислять значения искажения в зависимости от битрейта использование анализа искажения в зависимости от битрейта для различных тестированных режимов интра-предсказания и выбирать может режим интра-предсказания, имеющий наилучшие характеристики искажения в зависимости от битрейта, из тестированных режимов. Анализ искажения в зависимости от битрейта, в общем, определяет величину искажения (или ошибки) между кодированным блоком и исходным некодированным блоком, который кодирован для того, чтобы формировать кодированный блок, а также битрейт (т.е. расход битов), используемую для того, чтобы формировать кодированный блок. Модуль 41 обработки интра-предсказания может вычислять отношения из искажений и битрейтов для различных кодированных блоков, чтобы определять то, какой режим интра-предсказания демонстрирует наилучшее значение искажения в зависимости от битрейта для блока.

[0189] В любом случае, после выбора режима интра-предсказания для блока, модуль 46 обработки интра-предсказания может предоставлять информацию, указывающую выбранный режим интра-предсказания для блока, в модуль 56 энтропийного кодирования. Модуль 56 энтропийного кодирования может кодировать информацию, указывающую выбранный режим интра-предсказания. Устройство 104 кодирования может включать в передаваемые конфигурационные данные потоков битов определения контекстов кодирования для различных блоков, а также индикаторов наиболее вероятного режима интра-предсказания, индексной таблицы режимов интра-предсказания и модифицированной индексной таблицы режимов интра-предсказания, которые следует использовать для каждого из контекстов. Конфигурационные данные потоков битов могут включать в себя множество индексных таблиц режимов интра-предсказания и множество модифицированных индексных таблиц режимов интра-предсказания (также называемых "таблицами преобразования кодовых слов").

[0190] После того, как модуль 41 обработки предсказания формирует предиктивный блок для текущего видеоблока через интер-предсказание или интра-предсказание, устройство 104 кодирования формирует остаточный видеоблок посредством вычитания предиктивного блока из текущего видеоблока. Остаточные видеоданные в остаточном блоке могут включаться в одну или более TU и применяться к модулю 52 обработки преобразования. Модуль 52 обработки преобразования преобразует остаточные видеоданные в остаточные коэффициенты преобразования с использованием преобразования, такого как дискретное косинусное преобразование (DCT) или концептуально аналогичное преобразование. Модуль 52 обработки преобразования может преобразовывать остаточные видеоданные из пиксельной области в область преобразования, к примеру, в частотную область.

[0191] Модуль 52 обработки преобразования может отправлять результирующие коэффициенты преобразования в модуль 54 квантования. Модуль 54 квантования квантует коэффициенты преобразования, чтобы дополнительно уменьшать битрейт. Процесс квантования может уменьшать битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. Степень квантования может модифицироваться посредством регулирования параметра квантования. В некоторых примерах, модуль 54 квантования затем может выполнять сканирование матрицы, включающей в себя квантованные коэффициенты преобразования. Альтернативно, модуль 56 энтропийного кодирования может выполнять сканирование.

[0192] После квантования, модуль 56 энтропийного кодирования энтропийно кодирует квантованные коэффициенты преобразования. Например, модуль 56 энтропийного кодирования может выполнять контекстно-адаптивное кодирование переменной длины (CAVLC), контекстно-адаптивное двоичное арифметическое кодирование (CABAC), синтаксическое контекстно-адаптивное двоичное арифметическое кодирование (SBAC), энтропийное кодирование на основе сегментирования на интервалы вероятности (PIPE) или другую технологию энтропийного кодирования. После энтропийного кодирования посредством модуля 56 энтропийного кодирования кодированный поток битов может передаваться в устройство 112 декодирования или архивироваться для последующей передачи или извлечения посредством устройства 112 декодирования. Модуль 56 энтропийного кодирования также может энтропийно кодировать векторы движения и другие синтаксические элементы для текущего кодируемого видеосреза.

[0193] Модуль 58 обратного квантования и модуль 60 обработки обратного преобразования применяют обратное квантование и обратное преобразование, соответственно, чтобы восстанавливать остаточный блок в пиксельной области для последующего использования в качестве опорного блока опорного кадра. Модуль 44 компенсации движения может вычислять опорный блок посредством суммирования остаточного блока с предиктивным блоком одного из опорных кадров в списке опорных кадров. Модуль 44 компенсации движения также может применять один или более интерполяционных фильтров к восстановленному остаточному блоку, чтобы вычислять субцелочисленно-пиксельные значения для использования в оценке движения. Сумматор 62 суммирует восстановленный остаточный блок с блоком предсказания с компенсацией движения, сформированным посредством модуля 44 компенсации движения, чтобы сформировать опорный блок для хранения в запоминающем устройстве 64 кадров. Опорный блок может использоваться посредством модуля 42 оценки движения и модуля 44 компенсации движения в качестве опорного блока для интер-предсказания блока в последующем видеокадре или кадре.

[0194] Таким образом, устройство 104 кодирования по фиг. 7 представляет пример видеокодера, выполненного с возможностью выполнять любую из технологий, описанных в данном документе, включающих в себя способ 500, описанный выше относительно фиг. 5. В некоторых случаях, некоторые технологии этого раскрытия также могут реализовываться посредством устройства 57 постобработки.

[0195] Фиг. 7 является блок-схемой, иллюстрирующей примерное устройство 112 декодирования. Устройство 112 декодирования включает в себя модуль 80 энтропийного декодирования, модуль 81 обработки предсказания, модуль 86 обратного квантования, модуль 88 обработки обратного преобразования, сумматор 90, модуль 91 фильтрации и запоминающее устройство 92 кадров. Модуль 81 обработки предсказания включает в себя модуль 82 компенсации движения и модуль 84 обработки интра-предсказания. Устройство 112 декодирования, в некоторых примерах, может выполнять проход декодирования, в общем, взаимообратный относительно прохода кодирования, описанного относительно устройства 104 кодирования из фиг. 7.

[0196] Во время процесса декодирования, устройство 112 декодирования принимает кодированный поток битов видео, который представляет видеоблоки кодированного видеосреза и ассоциированные синтаксические элементы, отправленные посредством устройства 104 кодирования. В некоторых вариантах осуществления, устройство 112 декодирования может принимать кодированный поток битов видео из устройства 104 кодирования. В некоторых вариантах осуществления, устройство 112 декодирования может принимать кодированный поток битов видео из сетевого объекта 79, такого как сервер, мультимедийно-ориентированный сетевой элемент (MANE), модуль редактирования/сращивания видео или другое такое устройство, выполненное с возможностью реализовывать один или более технологий, описанных выше. Сетевой объект 79 может включать в себя или может не включать в себя устройство 104 кодирования. Некоторые технологии, описанные в этом раскрытии, могут реализовываться посредством сетевого объекта 79 до передачи, посредством сетевого объекта 79, кодированного потока битов видео, в устройство 112 декодирования. В некоторых системах декодирования видео сетевой объект 79 и устройство 112 декодирования могут представлять собой части отдельных устройств, в то время как в других случаях, функциональность, описанная относительно сетевого объекта 79, может выполняться посредством идентичного устройства, которое содержит устройство 112 декодирования.

[0197] Модуль 80 энтропийного декодирования устройства 112 декодирования энтропийно декодирует поток битов, чтобы формировать квантованные коэффициенты, векторы движения и другие синтаксические элементы. Модуль 80 энтропийного декодирования перенаправляет векторы движения и другие синтаксические элементы в модуль 81 обработки предсказания. Устройство 112 декодирования может принимать синтаксические элементы на уровне видеосреза и/или на уровне видеоблока. Модуль 80 энтропийного декодирования может обрабатывать и синтаксически анализировать как синтаксические элементы фиксированной длины, так и синтаксические элементы переменной длины в одном или более наборах параметров, таких как VPS, SPS и PPS.

[0198] Когда видеосрез кодируется в качестве интра-кодированного (I-) среза, модуль 84 интра-предсказания модуля 81 предсказания может формировать предиктивные данные для видеоблока текущего видеосреза на основе сообщенного режима интра-предсказания и данных из ранее декодированных блоков текущего изображения. Когда видеокадр кодируется в качестве интер-кодированного (т.е. B-, P- или GPB-) среза, модуль 82 компенсации движения модуля 81 обработки предсказания формирует предиктивные блоки для видеоблока текущего видеосреза на основе векторов движения и других синтаксических элементов, принимаемых из модуля 80 энтропийного декодирования. Предиктивные блоки могут формироваться из одного из опорных кадров в списке опорных кадров. Устройство 112 декодирования может конструировать списки опорных кадров, список 0 и список 1, с использованием технологий конструирования по умолчанию на основе опорных кадров, сохраненных в запоминающем устройстве 92 кадров.

[0199] Модуль 82 компенсации движения определяет информацию предсказания для видеоблока текущего видеосреза посредством синтаксического анализа векторов движения и других синтаксических элементов и использует информацию предсказания для того, чтобы формировать предиктивные блоки для текущего декодируемого видеоблока. Например, модуль 82 компенсации движения может использовать один или более синтаксических элементов в наборе параметров для того, чтобы определять режим предсказания (например, интра- или интер-предсказание), используемый для того, чтобы кодировать видеоблоки видеосреза, тип среза интер-предсказания (например, B-срез, P-срез или GPB-срез), информацию конструирования для одного или более списков опорных кадров для среза, векторы движения для каждого интер-кодированного видеоблока среза, состояние интер-предсказания для каждого интер-кодированного видеоблока среза и другую информацию для того, чтобы декодировать видеоблоки в текущем видеосрезе.

[0200] Модуль 82 компенсации движения также может выполнять интерполяцию на основе интерполяционных фильтров. Модуль 82 компенсации движения может использовать интерполяционные фильтры, используемые посредством устройства 104 кодирования в ходе кодирования видеоблоков, для того чтобы вычислять интерполированные значения для субцелочисленных пикселов опорных блоков. В этом случае, модуль 82 компенсации движения может определять интерполяционные фильтры, используемые посредством устройства 104 кодирования, из принимаемых элементов 55 синтаксиса и использовать интерполяционные фильтры для того, чтобы формировать предиктивные блоки.

[0201] Модуль 86 обратного квантования обратно квантует, т.е. деквантует, квантованные коэффициенты преобразования, предоставленные в потоке битов и декодированные посредством модуля 80 энтропийного декодирования. Процесс обратного квантования может включать в себя использование параметра квантования, вычисленного посредством устройства 104 кодирования для каждого видеоблока в видеосрезе, чтобы определять степень квантования и, аналогично, степень обратного квантования, которое должно применяться. Модуль 88 обработки обратного преобразования применяет обратное преобразование (например, обратное DCT или другое подходящее обратное преобразование), обратное целочисленное преобразование или концептуально аналогичный процесс обратного преобразования, к коэффициентам преобразования, чтобы формировать остаточные блоки в пиксельной области.

[0202] После того, как модуль 82 компенсации движения формирует предиктивный блок для текущего видеоблока на основе векторов движения и других синтаксических элементов, устройство 112 декодирования формирует декодированный видеоблок посредством суммирования остаточных блоков из модуля 88 обратного преобразования с соответствующими предиктивными блоками, сформированными посредством модуля 82 компенсации движения. Сумматор 90 представляет компонент или компоненты, которые выполняют эту операцию суммирования. При необходимости, другие контурные фильтры (в контуре кодирования или после контура кодирования) также могут использоваться для того, чтобы сглаживать пиксельные переходы или иным образом повышать качество видео. Модуль 91 фильтрации имеет намерение представлять один или более контурных фильтров, таких как фильтр удаления блочности, адаптивный контурный фильтр (ALF) и фильтр на основе дискретизированного адаптивного смещения (SAO). Хотя модуль 91 фильтрации показывается на фиг. 8 как представляющий собой контурный фильтр, в других конфигурациях, модуль 91 фильтрации может реализовываться как контурный постфильтр. Декодированные видеоблоки в заданном кадре или картинке затем сохраняются в запоминающем устройстве 92 кадров, которое сохраняет опорные кадры, используемые для последующей компенсации движения. Запоминающее устройство 92 кадров также сохраняет декодированное видео для последующего представления на устройстве отображения, таком как целевое видеоустройство 122, показанное на фиг. 1.

[0203] Таким образом, устройство 112 декодирования по фиг. 8 представляет пример видеодекодера, выполненного с возможностью выполнять любую из технологий, описанных в данном документе, включающих в себя способ 300, описанный выше относительно фиг. 3.

[0204] Технологии этого раскрытия не обязательно ограничены вариантами применения или настройками беспроводной связи. Технологии могут применяться к кодированию видео в поддержку любых из множества мультимедийных вариантов применения, таких как телевизионные широковещательные передачи по радиоинтерфейсу, кабельные телевизионные передачи, спутниковые телевизионные передачи, потоковые передачи видео по Интернету, такие как динамическая адаптивная потоковая передача по HTTP (DASH), цифровое видео, которое кодируется на носитель данных, декодирование цифрового видео, сохраненного на носителе данных, или другие варианты применения. В некоторых примерах, система может быть выполнена с возможностью поддерживать одностороннюю или двустороннюю передачу видео для того, чтобы поддерживать такие варианты применения, как потоковая передача видео, воспроизведение видео, широковещательная передача видео и/или видеотелефония.

[0205] При использовании в данном документе, термин "машиночитаемый носитель" включает в себя, но не только, портативные или непортативные устройства хранения данных, оптические устройства хранения данных и различные другие носители, допускающие хранение, содержание или перенос инструкции(й) и/или данных. Машиночитаемый носитель может включать в себя энергонезависимый носитель, на котором могут сохраняться данные, и который не включает в себя несущие волны и/или переходные электронные сигналы, распространяющиеся в беспроводном режиме или по проводным соединениям. Примеры энергонезависимого носителя могут включать в себя, но не только, магнитный диск или ленту, оптические носители данных, к примеру, компакт-диск (CD) или универсальный цифровой диск (DVD), флэш-память, запоминающее устройство или запоминающие устройства. Машиночитаемый носитель может иметь сохраненными код и/или машиноисполняемые инструкции, которые могут представлять процедуру, функцию, подпрограмму, программу, процедуру, вложенную процедуру, модуль, программный пакет, класс или любую комбинацию инструкций, структур данных или программных операторов. Сегмент кода может быть связан с другим сегментом кода или аппаратной схемой посредством пересылки и/или приема информации, данных, аргументов, параметров или контента запоминающего устройства. Информация, аргументы, параметры, данные и т.д. могут пересылаться, перенаправляться или передаваться посредством любого надлежащего средства, в том числе совместного использования запоминающего устройства, пересылки сообщений, пересылки маркера, передачи по сети и т.д.

[0206] В некоторых вариантах осуществления, машиночитаемые устройства хранения данных, носители и запоминающие устройства могут включать в себя кабель или беспроводной сигнал, содержащий поток битов, и т.п. Тем не менее, если упоминаются, энергонезависимые машиночитаемые носители данных явно исключают такие среды, как энергия, несущие сигналы, электромагнитные волны и сигналы по сути.

[0207] Конкретные подробности предоставляются в вышеприведенном описании для того, чтобы предоставлять полное понимание вариантов осуществления и примеров, предоставленных в настоящем документе. Тем не менее, специалисты в данной области техники должны понимать, что варианты осуществления могут осуществляться на практике без этих конкретных подробностей. Для ясности пояснения, в некоторых случаях настоящая технология может представляться как включающая в себя отдельные функциональные блоки, включающие в себя функциональные блоки, содержащие устройства, компоненты устройства, этапы или процедуры в способе, осуществленном в программном обеспечении либо в комбинациях аппаратных средств и программного обеспечения. Могут использоваться дополнительные компоненты, отличные от компонентов, показанных на чертежах и/или описанных в данном документе. Например, схемы, системы, сети, процессы и другие компоненты могут быть показаны как компоненты в форме блок-схемы, чтобы не затруднять понимание вариантов осуществления необязательными подробностями. В других случаях, широко распространенные схемы, процессы, алгоритмы, структуры и технологии могут быть показаны без необязательных подробностей, чтобы не допускать затруднения в понимании вариантов осуществления.

[0208] Отдельные варианты осуществления могут описываться выше в качестве процесса или способа, который проиллюстрирован как блок-схема последовательности операций способа, алгоритмическая блок-схема способа, диаграмма потоков данных, структурная схема или блок-схема. Хотя блок-схема последовательности операций способа может описывать операции как последовательный процесс, многие операции могут выполняться параллельно или одновременно. Помимо этого, порядок операций может перекомпоновываться. Процесс завершается, когда операции выполнены, но может иметь дополнительные этапы, не включенные на чертеже. Процесс может соответствовать способу, функции, процедуре, подпрограмме, подпрограмме и т.д. Когда процесс соответствует функции, его завершение соответствует возврату функции в вызывающую функцию или основную функцию.

[0209] Процессы и способы согласно вышеописанным примерам могут реализовываться с использованием машиноисполняемых инструкций, которые сохраняются или являются иным способом доступными из машиночитаемых носителей. Такие инструкции могут включать в себя, например, инструкции и данные, которые инструктируют или иначе конфигурируют компьютер общего назначения, компьютер специального назначения или обрабатывающее устройство с возможностью выполнять определенную функцию или группу функций. Части используемых компьютерных ресурсов могут быть доступными по сети. Машиноисполняемые инструкции, например, могут представлять собой двоичные файлы, инструкции в промежуточном формате, к примеру, на языке ассемблера, в микропрограммном обеспечении, или даже в исходном коде и т.д. Примеры машиночитаемых носителей, которые могут использоваться для того, чтобы сохранять инструкции, информацию, используемую, и/или информацию, создаваемую в ходе способов согласно описанным примерам, включают в себя магнитные или оптические диски, флэш-память, USB-устройства, содержащие энергонезависимое запоминающее устройство, сетевые устройства хранения данных и т.д.

[0210] Процессы реализации устройств и способы согласно этим раскрытиям могут включать в себя аппаратные средства, программное обеспечение, микропрограммное обеспечение, промежуточное программное обеспечение, микрокод, языки описания аппаратных средств или любую комбинацию вышеозначенного и могут принимать любое множество форм-факторов. При реализации в программном обеспечении, микропрограммном обеспечении, промежуточном программном обеспечении или микрокоде, программный код или сегменты кода для того, чтобы выполнять необходимые задачи (например, компьютерный программный продукт), могут сохраняться на машиночитаемом или машиночитаемом носителе. Процессоры могут выполнять требуемые задачи. Типичные примеры форм-факторов включают в себя переносные компьютеры, смартфоны, мобильные телефоны, планшетные устройства или другие персональные компьютеры с миниатюрным форм-фактором, персональные цифровые устройства, смонтированные в стойке устройства, автономные устройства и т.д. Функциональность, описанная в данном документе, также может осуществляться в периферийных устройствах или расширительных платах. Такая функциональность также может реализовываться на схемной плате для различных микросхем или различных процессов, выполняющихся в одном устройстве, в качестве дополнительного примера.

[0211] Инструкции, среды для передачи таких инструкций, вычислительные ресурсы для их выполнения и другие структуры для поддержки таких вычислительных ресурсов представляют собой примерные средства для предоставления функций, описанных в раскрытии.

[0212] В вышеприведенном описании, аспекты заявки описываются со ссылкой на ее конкретные варианты осуществления, но специалисты в данной области техники должны признавать, что заявка не ограничена этим. Таким образом, в то время как иллюстративные варианты осуществления заявки описываются подробно в данном документе, следует понимать, что идеи изобретения могут иными и различными способами осуществляться и использоваться, и что прилагаемая формула изобретения имеет намерение истолковываться как включающая в себя такие варьирования, за исключением ограничений посредством предшествующего уровня техники. Различные признаки и аспекты вышеописанной заявки могут использоваться отдельно или объединенно. Дополнительно, варианты осуществления могут использоваться в любом числе окружений и вариантов применения, помимо окружений и вариантов применения, описанных в данном документе, без отступления от более широкой сущности и объема подробного описания. Соответственно, подробное описание и чертежи должны рассматриваться как иллюстративные, а не ограничивающие. Для целей иллюстрации, способы описаны в конкретном порядке. Следует принимать во внимание, что в альтернативных вариантах осуществления, способы могут осуществляться в порядке, отличном от описанного порядка.

[0213] Специалисты в данной области техники должны принимать во внимание, что символы меньше ("<") и больше (">") либо терминология, используемая в данном документе, могут заменяться символы меньше или равно ("≤") и больше или равно ("≥"), соответственно, без отступления от объема этого описания.

[0214] Если компоненты описываются как "выполненные с возможностью" выполнять определенные операции, такая конфигурация может достигаться, например, посредством проектирования электронных схем или других аппаратных средств с возможностью выполнять операцию, посредством программирования программируемых электронных схем (например, микропроцессоров или других подходящих электронных схем) с возможностью выполнять операцию либо посредством любой комбинации вышеозначенного.

[0215] Фраза "соединенный с" означает любой компонент, который физически соединяется с другим компонентом прямо или косвенно, и/или любой компонент, который поддерживает связь с другим компонентом (например, соединяется с другим компонентом по проводному или беспроводному соединению и/или другому подходящему интерфейсу связи) прямо или косвенно.

[0216] Текст формулы изобретения или другие формулировки, излагающие "по меньшей мере, одно из" набора либо "одно или более из" набора, указывают то, что один элемент набора или несколько элементов набора удовлетворяют требованию. Например, текст формулы изобретения, излагающий "по меньшей мере, одно из A и B" или "по меньшей мере, одно из A или B", означает A, B или A и B. В другом примере, текст формулы изобретения, излагающий "по меньшей мере, одно из A, B и C" или "по меньшей мере одно из A, B или C", означает A, B, C или A и B или A и C или B и C или A и B, и C. Выражение "по меньшей мере один из" набора и/или "один или несколько" из набора не ограничивает набор в пункты, перечисленные в наборе. Например, текст формулы изобретения, излагающий "по меньшей мере, одно из A и B" или "по меньшей мере, одно из A или B", может означать A, B или A и B и дополнительно может включать в себя пункты, не перечисленные в наборе A и B.

[0217] Различные иллюстративные логические блоки, модули, схемы и этапы алгоритма, описанные в связи с раскрытыми в данном документе вариантами осуществления, могут реализовываться как электронные аппаратные средства, вычислительное программное обеспечение либо как комбинации вышеозначенного. Чтобы понятно иллюстрировать эту взаимозаменяемость аппаратных средств и программного обеспечения, различные иллюстративные компоненты, блоки, модули, схемы и этапы описаны выше, в общем, на основе функциональности. То, реализована эта функциональность в качестве аппаратных средств или программного обеспечения, зависит от конкретного варианта применения и проектных ограничений, накладываемых на систему в целом. Высококвалифицированные специалисты могут реализовывать описанную функциональность различными способами для каждого конкретного варианта применения, но такие решения по реализации не должны быть интерпретированы как вызывающие отступление от объема настоящей заявки.

[0218] Технологии, описанные в данном документе, также могут реализовываться в электронных аппаратных средствах, компьютерном программном обеспечении, микропрограммном обеспечении либо в любой комбинации вышеозначенного. Такие технологии могут реализовываться в любых из множества устройств, таких как компьютеры общего назначения, переносные телефонные аппараты для беспроводной связи или устройства на интегральных схемах, имеющие несколько вариантов использования, включающих в себя вариант применения в переносных телефонных аппаратах для беспроводной связи, а также другие устройства. Любые признаки, описанные как модули или компоненты, могут реализовываться совместно в интегральном логическом устройстве или отдельно как дискретные, но имеющие возможность взаимодействовать логические устройства. При реализации в программном обеспечении, технологии могут реализовываться, по меньшей мере, частично посредством машиночитаемого носителя данных, содержащего программный код, включающий в себя инструкции, которые при выполнении осуществляют один или более способов, описанных выше. Машиночитаемый носитель может формировать часть компьютерного программного продукта, который может включать в себя упаковку. Машиночитаемый носитель данных могут содержать запоминающие устройства или носители данных, такие как оперативное запоминающее устройство (RAM), такое как синхронное динамическое оперативное запоминающее устройство (SDRAM), постоянное запоминающее устройство (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, магнитные или оптические носители данных и т.п. Дополнительно, либо альтернативно, технологии могут реализовываться, по меньшей мере, частично посредством машиночитаемой среды связи, которая переносит или передает программный код в форме инструкций или структур данных и которая может быть доступной, может считываться и/или может выполняться посредством компьютера, такой как распространяемые сигналы или волны.

[0219] Программный код выполняться посредством процессора, который включает в себя один или более процессоров, например, один или более процессоров цифровых сигналов (DSP), микропроцессоров общего назначения, специализированных интегральных схем (ASIC), программируемых пользователем логических матриц (FPGA) или других эквивалентных интегральных или дискретных логических схем. Такой процессор может быть выполнен с возможностью осуществлять любую из технологий, описанных в этом раскрытии. Процессор общего назначения может представлять собой микропроцессор, но в альтернативном варианте, процессор может представлять собой любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может реализовываться как комбинация вычислительных устройств, к примеру, комбинация DSP и микропроцессора, множество микропроцессоров, один или более микропроцессоров вместе с ядром DSP либо любая другая подобная конфигурация. Соответственно, термин "процессор" при использовании в данном документе может означать любую вышеприведенную структуру, любую комбинацию вышеприведенной структуры либо любую другую структуру или оборудование, подходящее для реализации технологий, описанных в данном документе. Помимо этого, в некоторых аспектах, функциональность, описанная в данном документе, может предоставляться внутри специализированных программных модулей или аппаратных модулей, выполненных с возможностью кодирования или декодирования либо встроенных в комбинированный видеокодер-декодер (кодек).

[0220] Иллюстративные примеры раскрытия включают в себя:

[0221] Пример 1. Способ обработки видеоданных, при этом способ содержит: получение текущего кадра видеоданных; определение того, что размер текущего кадра отличается от размера, по меньшей мере, одного опорного кадра; определение использования переключаемой интерполяционной фильтрации деактивируется на основе размера текущего кадра, отличающегося от размера, по меньшей мере, одного опорного кадра; и выполнение повторной дискретизации опорных кадров, по меньшей мере, одного опорного кадра на основе размера текущего кадра, отличающегося от размера, по меньшей мере, одного опорного кадра.

[0222] Пример 2. Способ по примеру 1, в котором определение размера выполняется на основе блоков.

[0223] Пример 3. Способ по примеру 1, в котором определение размера выполняется на основе срезов.

[0224] Пример 4. Способ по примеру 1, в котором определение размера выполняется на основе плиток.

[0225] Пример 5. Способ по примеру 1, в котором определение размера выполняется на базисе субкадра.

[0226] Пример 6. Способ по примеру 1, в котором определение размера выполняется на уровне последовательности.

[0227] Пример 7. Способ по любому из примеров 1-6, в котором размер текущего кадра представляет собой размер декодированного кадра для текущего кадра.

[0228] Пример 8. Способ по любому из примеров 1-6, в котором размер текущего кадра представляет собой размер обрезанного кадра для текущего кадра после применения одного или более окон соответствия.

[0229] Пример 9. Способ по любому из примеров 1-8, в котором размер опорного кадра определяется на основе размера декодированного кадра для текущего кадра и одного или более смещений.

[0230] Пример 10. Способ по любому из примеров 1-9, дополнительно содержащий: определение коэффициента масштабирования для выполнения повторной дискретизации опорных кадров на основе размера текущего кадра и размера опорного кадра с применяемыми смещениями.

[0231] Пример 11. Способ по любому из примеров 1-10, в котором один или более синтаксических элементов, ассоциированных с переключаемой интерполяционной фильтрацией, не сигнализируются для блока с кодированным потоком битов видео на основе переключаемой интерполяционной фильтрации, деактивированной на уровне блока.

[0232] Пример 12. Способ по примеру 11, в котором один или более синтаксических элементов, ассоциированных с переключаемой интерполяционной фильтрацией, включают в себя синтаксический элемент, указывающий индекс фильтра для блока текущего кадра.

[0233] Пример 13. Способ по любому из примеров 1-12, в котором когда переключаемая интерполяционная фильтрация деактивируется на уровне блока, и когда индекс фильтра для блока логически выводится из одного или более соседних блоков блока, индекс фильтра модифицируется и задается равным индексу фильтра по умолчанию для возможного варианта извлеченного вектора движения из соседнего блока относительно блока.

[0234] Пример 14. Способ по примеру 13, в котором индекс фильтра по умолчанию указывает то, что переключаемая интерполяционная фильтрация не применяется.

[0235] Пример 15. Способ по любому из примеров 13 или 14, в котором индекс фильтра по умолчанию игнорируется для блока и сохраняется с блоком для использования для одного или более последующих блоков.

[0236] Пример 16. Способ по любому из примеров 1-15, дополнительно содержащий формирование кодированного потока битов видео, включающего в себя текущий кадр.

[0237] Пример 17. Способ по любому из примеров 1-15, дополнительно содержащий: декодирование текущего кадра.

[0238] Пример 18. Оборудование, содержащее запоминающее устройство, выполненное с возможностью сохранять видеоданные, и процессор, выполненный с возможностью обрабатывать видеоданные, согласно любому из примеров 1-17.

[0239] Пример 19. Оборудование по примеру 18, при этом оборудование включает в себя кодер.

[0240] Пример 20. Оборудование по примеру 18, при этом оборудование включает в себя декодер.

[0241] Пример 21. Оборудование по любому из примеров 18-20, при этом оборудование представляет собой мобильное устройство.

[0242] Пример 22. Оборудование по любому из примеров 18-21, дополнительно содержащее дисплей, выполненный с возможностью отображать видеоданные.

[0243] Пример 23. Оборудование по любому из примеров 18-22, дополнительно содержащее камеру, выполненную с возможностью захватывать один или более кадров.

[0244] Пример 24. Машиночитаемый носитель, имеющий сохраненные инструкции, которые при выполнении посредством процессора осуществляют способы по любому из примеров 1-17.

[0245] Пример 24. Способ обработки видеоданных, при этом способ содержит: получение текущего кадра видеоданных; определение того, отличается или нет размер текущего кадра от размера, по меньшей мере, одного опорного кадра; получение индекса фильтра, указывающего фильтр, который следует выбирать из первого набора фильтров или второго набора фильтров, причем первый набор фильтров включает в себя один или более интерполяционных фильтров, и второй набор включает в себя один или более фильтров для выполнения повторной дискретизации опорных кадров, по меньшей мере, одного опорного кадра; и определение того, следует выбирать фильтр из первого набора фильтров или второго набора фильтров на основе того, отличается или нет размер текущего кадра от размера, по меньшей мере, одного опорного кадра.

[0246] Пример 25. Способ по примеру 24, дополнительно содержащий: определение того, что размер текущего кадра и размер, по меньшей мере, одного опорного кадра представляют собой идентичный размер; и выбор фильтра из первого набора фильтров на основе определения того, что размер текущего кадра и размер, по меньшей мере, одного опорного кадра представляют собой идентичный размер.

[0247] Пример 26. Способ по примеру 24, дополнительно содержащий: определение того, что размер текущего кадра отличается от размера, по меньшей мере, одного опорного кадра; и выбор фильтра из второго набора фильтров на основе определения того, что размер текущего кадра отличается от размера, по меньшей мере, одного опорного кадра.

[0248] Пример 27. Оборудование, содержащее запоминающее устройство, выполненное с возможностью сохранять видеоданные, и процессор, выполненный с возможностью обрабатывать видеоданные, согласно любому из примеров 24-26.

[0249] Пример 28. Оборудование по примеру 27, при этом оборудование включает в себя кодер.

[0250] Пример 29. Оборудование по примеру 27, при этом оборудование включает в себя декодер.

[0251] Пример 30. Оборудование по любому из примеров 27-20, при этом оборудование представляет собой мобильное устройство.

[0252] Пример 31. Оборудование по любому из примеров 27-30, дополнительно содержащее дисплей, выполненный с возможностью отображать видеоданные.

[0253] Пример 32. Оборудование по любому из примеров 27-31, дополнительно содержащее камеру, выполненную с возможностью захватывать один или более кадров.

[0254] Пример 33. Машиночитаемый носитель, имеющий сохраненные инструкции, которые при выполнении посредством процессора осуществляют способы по любому из примеров 24-26.

[0255] Пример 34. Оборудование для обработки видеоданных, причем оборудование содержит: один или более запоминающих модулей, сохраняющих инструкции; и один или более процессоров, которые выполняют инструкции, при этом выполнение инструкций посредством одного или более процессоров инструктирует одному или более процессорам: получать текущий кадр и опорный кадр; идентифицировать информацию индекса фильтра для текущего блока текущего кадра; определять то, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются; и на основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, выполнять процесс повторной дискретизации без использования текущего индекса фильтра, идентифицируемого информацией индекса фильтра.

[0256] Пример 35. Оборудование для обработки видеоданных, причем оборудование содержит: один или более запоминающих модулей, сохраняющих инструкции; и один или более процессоров, которые выполняют инструкции, при этом выполнение инструкций посредством одного или более процессоров инструктирует одному или более процессорам: получать текущий кадр и опорный кадр; идентифицировать информацию индекса фильтра для текущего блока текущего кадра; определять то, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются; и на основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, выполнять процесс преобразования частоты дискретизации с использованием индекса фильтра по умолчанию (например, значения индекса по умолчанию) вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра.

[0257] Пример 36. Оборудование по любому из примеров 34 или 35, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам: сохранять текущий индекс фильтра, идентифицируемый информацией индекса фильтра с текущим блоком; и использовать текущий индекс фильтра при извлечении возможных вариантов векторов движения для последующего блока на основе текущего индекса фильтра, идентифицируемого информацией индекса фильтра.

[0258] Пример 37. Оборудование по любому из примеров 34 или 35, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам: назначать значение по умолчанию для текущего индекса фильтра, с тем чтобы заменять исходное значение на временной основе, когда процесс преобразования частоты дискретизации выполняется без использования текущего индекса фильтра, чтобы создавать индекс фильтра по умолчанию; и назначать исходное значение для текущего индекса фильтра после процесса преобразования частоты дискретизации.

[0259] Пример 38. Оборудование по примеру 37, в котором значение по умолчанию для текущего индекса фильтра указывает то, что альтернативная переключаемая фильтрация не применяется в качестве части процесса повторной дискретизации.

[0260] Пример 39. Оборудование по любому из примеров 34-38, в котором информация индекса фильтра содержит информацию соседних блоков; и при этом текущий индекс фильтра извлекается из информации соседних блоков во время извлечения списков возможных вариантов векторов движения в режиме объединения.

[0261] Пример 40. Оборудование по любому из примеров 34-39, в котором информация индекса фильтра содержит сигнализирование информации режима адаптивного разрешения векторов движения (AMVR); и при этом текущий индекс фильтра сообщается через сигнализацию режима AMVR.

[0262] Пример 41. Оборудование по любому из примеров 34-40, в котором процесс преобразования частоты дискретизации представляет собой процесс компенсации движения.

[0263] Пример 42. Оборудование по любому из примеров 34-41, в котором процесс преобразования частоты дискретизации включает в себя процесс повторной дискретизации.

[0264] Пример 43. Оборудование по любому из примеров 34-42, в котором процесс преобразования частоты дискретизации включает в себя процесс интерполяции.

[0265] Пример 44. Оборудование по любому из примеров 34-43, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам использовать опорный кадр для интер-предсказания текущего блока текущего кадра.

[0266] Пример 45. Оборудование по любому из примеров 34-44, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам: определять то, что текущий индекс фильтра не используется для процесса преобразования частоты дискретизации; и заменять значение текущего индекса фильтра на значение по умолчанию в ответ на определение того, что текущий индекс фильтра не используется для процесса преобразования частоты дискретизации.

[0267] Пример 46. Оборудование по любому из примеров 34-45, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам обрабатывать значение по умолчанию, чтобы определять то, что альтернативный переключаемый фильтр не применяется.

[0268] Пример 47. Оборудование по примеру 46, в котором альтернативный переключаемый фильтр представляет собой сглаживающий фильтр.

[0269] Пример 48. Оборудование по любому из примеров 34-47, в котором текущее значение индекса фильтра не сигнализируется в ответ на определение того, что текущий индекс фильтра не используется в процессе преобразования частоты дискретизации.

[0270] Пример 49. Оборудование по любому из примеров 34-48, в котором текущий индекс фильтра выбирается из набора фильтров, при этом поднабор набора фильтров используется для выполнения процесса преобразования частоты дискретизации, и при этом оставшаяся часть набора фильтров не является применимой для преобразования частоты дискретизации.

[0271] Пример 50. Оборудование по любому из примера 49, в котором текущий индекс фильтра выбирается с использованием синтаксического элемента, указывающего то, что выбор текущего индекса фильтра из оставшейся части набора фильтров запрещается.

[0272] Пример 51. Оборудование по любому из примеров 34-50, в котором процесс преобразования частоты дискретизации включает в себя процесс повторной дискретизации, и при этом выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам: идентифицировать первую группу фильтров для интерполяции и вторую группу фильтров для повторной дискретизации, при этом текущий индекс фильтра - из второй группы фильтров.

[0273] Пример 52. Оборудование по примеру 51, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам: получать второй текущий кадр и второй опорный кадр; определять то, что третье значение размера кадра второго текущего кадра и четвертое значение размера кадра второго опорного кадра - одно и то же значение размера; и на основе определения того, что третье значение размера кадра второго текущего кадра и четвертое значение размера кадра второго опорного кадра - одно и то же значение размера, выполнять второй процесс повторной дискретизации для второго текущего блока с использованием второго выбранного фильтра, при этом второй выбранный фильтр - из первой группы фильтров.

[0274] Пример 53. Оборудование по любому из примеров 51 или 52, в котором каждый фильтр из первой группы фильтров и второй группы фильтров идентифицируется посредством ассоциированного индекса фильтра, причем ассоциированный индекс фильтра указывает ассоциированное значение индекса из набора фильтров для интерполяции или набора фильтров для повторной дискретизации.

[0275] Пример 54. Оборудование по любому из примеров 51-53, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам: получать текущий индекс фильтра из индекса фильтра посредством операции поиска для выбранного значения индекса фильтра; при этом выбранное значение индекса фильтра ассоциировано со второй группой фильтров; и при этом ассоциирование между выбранным значением индекса фильтра и второй группой фильтров основано на определении того, что первое значение размера кадра и второе значение размера кадра отличаются.

[0276] Пример 55. Оборудование по любому из примеров 34-54, в котором определение того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, содержит определение, по меньшей мере, одного из следующего: ширина текущего кадра отличается от ширины опорного кадра; и высота текущего кадра отличается от высоты опорного кадра.

[0277] Пример 56. Оборудование по любому из примеров 34-55, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам формировать кодированный поток битов видео, содержащий текущий кадр и опорный кадр.

[0278] Пример 57. Оборудование по примеру 56, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам отправлять кодированный поток битов видео в устройство декодирования, причем кодированный поток битов видео отправляется с информацией сигнализации, причем информация сигнализации содержит индекс фильтра по умолчанию.

[0279] Пример 58. Оборудование по любому из примеров 56 или 57, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам сохранять кодированный поток битов видео.

[0280] Пример 59. Оборудование по любому из примеров 56-58, в котором выполнение инструкций посредством одного или более процессоров дополнительно инструктирует одному или более процессорам: получать кодированный поток битов видео, содержащий текущий кадр и опорный кадр; идентифицировать информацию сигнализации, ассоциированную с кодированным потоком битов видео, причем информация сигнализации содержит информацию индекса фильтра; и декодировать текущий блок текущего кадра из кодированного потока битов видео.

[0281] Пример 60. Оборудование по любому из примеров 34-55, в котором декодирование текущего блока текущего кадра из кодированного потока битов видео содержит восстановление текущего блока на основе индекса фильтра по умолчанию.

[0282] Пример 61. Оборудование по любому из примеров 34-60, при этом оборудование представляет собой мобильное устройство.

[0283] Пример 62. Оборудование по любому из примеров 34-61, при этом оборудование включает в себя дисплей, выполненный с возможностью отображать видеоданные.

[0284] Пример 63. Оборудование по любому из примеров 34-62, при этом оборудование включает в себя камеру, выполненную с возможностью захватывать один или более видеокадров видеоданных.

[0285] Пример 64. Способ по любому из вышеприведенных примеров 34-63.

[0286] Пример 65. Энергонезависимый машиночитаемый носитель данных, содержащий инструкции, которые при их исполнении посредством устройства инструктируют устройству выполнять операции в соответствии с любым из вышеприведенных примеров 34-63.

[0287] Пример 66. Оборудование, включающее в себя средство для выполнения любой операции по вышеприведенным примерам 34-63.

Похожие патенты RU2819420C2

название год авторы номер документа
УНИФИЦИРОВАННЫЙ ВЫБОР КАНДИДАТОВ ДЛЯ РЕЖИМА СЛИЯНИЯ И АДАПТИВНОГО РЕЖИМА ПРЕДСКАЗАНИЯ ВЕКТОРА ДВИЖЕНИЯ 2012
  • Чжэн Юньфей
  • Ван Сянлинь
  • Карчевич Марта
RU2574831C2
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ ИЛИ ДЕКОДИРОВАНИЯ ВИДЕО 2020
  • Чжао Синь
  • Сюй Сяочжун
  • Ли Сян
  • Лю Шань
RU2782435C1
ОПРЕДЕЛЕНИЕ РЕЖИМА КОДИРОВАНИЯ ЦВЕТНОСТИ НА ОСНОВЕ ВНУТРИКАДРОВОГО ПРЕДСКАЗАНИЯ НА ОСНОВЕ МАТРИЦЫ 2020
  • Дэн, Чжипинь
  • Чжан, Кай
  • Чжан, Ли
  • Лю, Хунбинь
  • Сюй, Цзичжэн
RU2815738C2
ПОЛУЧЕНИЕ КОНТЕКСТА ДЛЯ КОДИРОВАНИЯ ПОСЛЕДНЕЙ ПОЗИЦИИ ПРИ ВЫПОЛНЕНИИ ВИДЕОКОДИРОВАНИЯ 2013
  • Го Ливэй
  • Карчевич Марта
  • Чиэнь Вэй-Цзюн
RU2629437C2
СОСТАВЛЕНИЕ СПИСКА НАИБОЛЕЕ ВЕРОЯТНЫХ РЕЖИМОВ ДЛЯ МАТРИЧНОГО ВНУТРИКАДРОВОГО ПРЕДСКАЗАНИЯ 2020
  • Дэн, Чжипинь
  • Чжан, Кай
  • Чжан, Ли
  • Лю, Хунбинь
  • Сюй, Цзичжэн
RU2815175C2
СИГНАЛИЗАЦИЯ ДОЛГОСРОЧНЫХ ОПОРНЫХ ИЗОБРАЖЕНИЙ ДЛЯ КОДИРОВАНИЯ ВИДЕО 2013
  • Рамасубрамониан Адарш Кришнан
  • Ван Е-Куй
  • Джоши Раджан Лаксман
  • Чэнь Ин
RU2642361C2
СОКРАЩЕНИЕ КОЛИЧЕСТВА КОНТЕКСТОВ ДЛЯ КОНТЕКСТНО-АДАПТИВНОГО БИНАРНОГО АРИФМЕТИЧЕСКОГО КОДИРОВАНИЯ 2012
  • Чиэнь Вэй-Цзюн
  • Соле Рохальс Хоэль
  • Карчевич Марта
RU2602380C2
СОКРАЩЕНИЕ КОЛИЧЕСТВА КОНТЕКСТОВ ДЛЯ КОНТЕКСТНО-АДАПТИВНОГО БИНАРНОГО АРИФМЕТИЧЕСКОГО КОДИРОВАНИЯ 2012
  • Чиэнь Вэй-Цзюн
  • Соле Рохальс Хоэль
  • Карчевич Марта
RU2575398C2
СМЕШАННЫЕ ФИЛЬТРЫ С ОТВОДАМИ 2011
  • Джоши Раджан Л.
  • Карчевич Марта
  • Чиэнь Вэй-Цзюн
RU2543953C2
ОБЪЕДИНЕННОЕ ПРЕДСКАЗАНИЕ МЕЖКАДРОВОЕ И С ВНУТРИКАДРОВОЙ КОПИЕЙ БЛОКА 2015
  • Пан Чао
  • Рапака Кришнакантх
  • Ван Е-Куй
  • Соле Рохальс Джоэль
  • Карчевич Марта
RU2697744C2

Иллюстрации к изобретению RU 2 819 420 C2

Реферат патента 2024 года ПОВТОРНАЯ ДИСКРЕТИЗАЦИЯ ОПОРНЫХ КАДРОВ С ПОМОЩЬЮ ПЕРЕКЛЮЧАЕМЫХ ФИЛЬТРОВ

Изобретение относится к области кодирования и сжатия видео, в частности к способам предоставления повторной дискретизации опорных кадров с помощью переключаемых фильтров. Технический результат заключается в повышении эффективности кодирования. Предложена технология для кодирования и декодирования видео с использованием повторной дискретизации опорных кадров с помощью переключаемых фильтров. Один пример заключает в себе получение текущего кадра и опорного кадра, идентификацию информации индекса фильтра для текущего блока текущего кадра и определение того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются. На основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, выполнение процесса повторной дискретизации с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра. Дополнительные примеры могут использовать текущий индекс фильтра, идентифицируемый информацией индекса фильтра, в последующих блоках, при этом текущий индекс фильтра может извлекаться или сообщаться. 2 н. и 14 з.п. ф-лы, 8 ил., 1 табл.

Формула изобретения RU 2 819 420 C2

1. Способ обработки видеоданных, содержащий этапы, на которых:

получают (505) текущий кадр (314, 324, 334; 420) и опорный кадр (312, 322, 332; 410);

идентифицируют (510; 610, 612) информацию индекса фильтра для текущего блока текущего кадра;

определяют (515; 616), что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются; и

на основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, выполняют (520; 622) процесс передискретизации опорного кадра с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра, для выбора между разными интерполяционными фильтрами.

2. Способ по п.1, дополнительно содержащий этапы, на которых:

сохраняют текущий индекс фильтра, идентифицируемый информацией индекса фильтра, с текущим блоком; и

используют текущий индекс фильтра при получении возможных вариантов векторов движения для последующего блока на основе текущего индекса фильтра, идентифицируемого информацией индекса фильтра.

3. Способ по п.1, дополнительно содержащий этапы, на которых:

назначают значение по умолчанию для текущего индекса фильтра, чтобы заменить исходное значение, когда процесс передискретизации опорного кадра выполняется без использования текущего индекса фильтра, чтобы создать индекс фильтра по умолчанию, и

назначают исходное значение для текущего индекса фильтра после процесса передискретизации опорного кадра,

при этом значение по умолчанию для текущего индекса фильтра, в частности, указывает то, что переключение между разными интерполяционными фильтрами не применяется в качестве части процесса передискретизации опорного кадра.

4. Способ по п.1, в котором упомянутыми разными интерполяционными фильтрами являются полупельные интерполяционные фильтры.

5. Способ по п.1, в котором информация индекса фильтра содержит информацию соседних блоков, при этом текущий индекс фильтра извлекается из информации соседних блоков во время получения списков возможных вариантов векторов движения в режиме объединения.

6. Способ по п.1, в котором информация индекса фильтра содержит сигнализацию режима адаптивного разрешения векторов движения (AMVR), при этом текущий индекс фильтра сообщается через сигнализацию режима AMVR.

7. Способ по п.1, в котором процесс передискретизации опорного кадра включает в себя процесс интерполяции.

8. Способ по п.1, в котором текущее значение индекса фильтра не сообщается в ответ на определение того, что текущий индекс фильтра не используется в процессе передискретизации опорного кадра.

9. Способ по п.1, в котором текущий индекс фильтра указывает фильтр, выбираемый из набора фильтров, при этом поднабор набора фильтров используется для выполнения процесса передискретизации опорного кадра, и при этом оставшаяся часть набора фильтров не является применимой для передискретизации опорного кадра,

при этом фильтр, в частности, выбирается с использованием синтаксического элемента, указывающего то, что выбор фильтра из оставшейся части набора фильтров запрещен.

10. Способ по п.1, дополнительно содержащий этап, на котором идентифицируют первую группу фильтров для интерполяции и вторую группу фильтров для передискретизации, причем текущий индекс фильтра указывает фильтр из второй группы фильтров.

11. Способ по п.10, при этом способ дополнительно содержит этапы, на которых:

получают второй текущий кадр и второй опорный кадр,

определяют, что третье значение размера кадра второго текущего кадра и четвертое значение размера кадра второго опорного кадра – одно и то же значение размера, и

на основе определения того, что третье значение размера кадра второго текущего кадра и четвертое значение размера кадра второго опорного кадра – одно и то же значение размера, выполняют второй процесс повторной дискретизации для второго текущего блока с использованием второго выбранного фильтра, при этом второй выбранный фильтр - из первой группы фильтров; или

способ дополнительно содержит этап, на котором получают текущий индекс фильтра из индекса фильтра посредством операции поиска для выбранного значения индекса фильтра, причем выбранное значение индекса фильтра ассоциировано со второй группой фильтров, при этом ассоциирование между выбранным значением индекса фильтра и второй группой фильтров основывается на определении того, что первое значение размера кадра и второе значение размера кадра отличаются.

12. Способ по п.10, в котором каждый фильтр первой группы фильтров и второй группы фильтров идентифицируется ассоциированным индексом фильтра, причем ассоциированным индексом фильтра указывается ассоциированное значение индекса из первого набора фильтров для интерполяции или набора фильтров для передискретизации; или определение того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, содержит этап, на котором определяют по меньшей мере одно из следующего: ширина текущего кадра отличается от ширины опорного кадра и высота текущего кадра отличается от высоты опорного кадра.

13. Способ по п.1, при этом способ дополнительно содержит этапы, на которых: формируют кодированный поток битов видео, содержащий текущий кадр и опорный кадр, и, в необязательном порядке, отправляют кодированный поток битов видео в устройство декодирования, при этом кодированный поток битов видео отправляется с информацией сигнализации, причем информация сигнализации содержит индекс фильтра по умолчанию, либо сохраняют кодированный поток битов видео; или

способ дополнительно содержит этапы, на которых:

получают кодированный поток битов видео, содержащий текущий кадр и опорный кадр,

идентифицируют информацию сигнализации, ассоциированную с кодированным потоком битов видео, причем информация сигнализации содержит информацию индекса фильтра, и

декодируют текущий блок текущего кадра из кодированного потока битов видео,

при этом декодирование текущего блока текущего кадра из кодированного потока битов видео, в частности, содержит этап, на котором восстанавливают текущий блок на основе индекса фильтра по умолчанию.

14. Устройство для обработки видеоданных, содержащее:

один или более запоминающих модулей (108, 64; 118, 92), хранящих инструкции; и

один или более процессоров (106; 116), которые исполняют инструкции, при этом исполнение инструкций одним или более процессорами инструктирует одному или более процессорам:

получать (505) текущий кадр (314, 324, 334; 420) и опорный кадр (312, 322, 332; 410),

идентифицировать (510; 610, 612) информацию индекса фильтра для текущего блока текущего кадра,

определять (515; 616), что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, и

на основе определения того, что первое значение размера кадра для текущего кадра и второе значение размера кадра для опорного кадра отличаются, выполнять (520; 622) процесс передискретизации опорного кадра с использованием индекса фильтра по умолчанию вместо текущего индекса фильтра, идентифицируемого информацией индекса фильтра, для выбора между разными интерполяционными фильтрами.

15. Устройство по п.14, в котором исполнение инструкций одним или более процессорами дополнительно инструктирует одному или более процессорам выполнять способ по любому одному из пп.2-13.

16. Устройство по п.14, при этом устройство представляет собой мобильное устройство, либо устройство включает в себя дисплей, выполненный с возможностью отображать видеоданные, или камеру, выполненную с возможностью захватывать один или более видеокадров видеоданных.

Документы, цитированные в отчете о поиске Патент 2024 года RU2819420C2

SARWER M.G
еt al., AHG 8: JVET Common test conditions for adaptive resolution change (ARC), JVET-O0641, 15
JVET Meeting, 2019.07.03 - 2019.07.12, Gothenburg, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, найдено в Интернете на

RU 2 819 420 C2

Авторы

Серегин, Вадим

Кобан, Мухаммед Зейд

Даты

2024-05-21Публикация

2020-06-26Подача