Способ и устройство для компенсации движения с предсказанием

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

 

РОДСТВЕННЫЕ ЗАЯВКИ

Данный патентный документ испрашивает приоритет согласно §119(e) Раздела 35 Кодекса США по дате подачи предварительной заявки на патент США № 61/501112, поданной 24 июня 2011 года, полное содержание которой включено в данный документ по ссылке.

УРОВЕНЬ ТЕХНИКИ

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

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

2. Описание предшествующего уровня техники

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

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

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

Во внешнем предсказании, принятое изображение предсказывается на основе оценки и компенсации движения. Движущиеся объекты в видео часто появляются от кадра к кадру, при этом все или часть из них перемещаются в эти последующие кадры. Несмотря на эти перемещения, корреляция среди этой последовательности кадров является высокой и создает избыточность. Эта временная избыточность может быть уменьшена посредством сравнения и отнесения образцов в текущем кадре к местоположению того же самого объекта в эталонных кадрах. Конкретно, во время оценки движения, текущий кадр или его раздел сравнивается с эталонными кадрами, которые могут быть по времени предыдущими или идти впереди текущего кадра. Шаблон пикселов в пределах диапазона поиска, установленного в соответствующем эталонном кадре, сравнивается с шаблоном пикселов, демонстрируемых в текущем кадре, до тех пор, пока не будет найден эталонный кадр, который содержит шаблон пикселов, наилучшим образом согласующийся с шаблоном пикселов в текущем кадре, подлежащем кодированию. На основе результатов сравнения, оценивается вектор межкадрового смещения или вектор движения. С использованием оцененного вектора движения, компенсация движения дает предсказание текущего кадра.

Точность вектора движения и эффективность кодирования могут быть увеличены посредством применения интерполяции к пикселам в эталонном изображении, которые называются выборками в целых положениях, или просто целыми выборками, для увеличения разрешения эталонного изображения. Интерполяция должна генерировать дробные выборки между каждой целой выборкой, с использованием значений этих целых выборок. Чем более дробные выборки генерируются между целыми выборками, тем выше становится разрешение эталонного изображения, и тем более точно может быть скомпенсировано смещение дробной выборки. Например, для точной компенсации перемещения движущегося объекта, которое является смещением только на половину пиксела, необходима по меньшей мере интерполяция в пол-пиксела (pel). Оценка и компенсация движения могут выполняться с использованием некоторого количества различных размеров блоков. Отдельные векторы движения могут быть определены для разделов, имеющих 4×4, 4×8, 8×4, 8×8, 8×16, 16×8 или 16×16 пикселов. Обеспечение малых разделов компенсации движения улучшает способность обрабатывать тонкие подробности движения.

H.264/AVC применяет 2-х этапный подход и достигает компенсации движения вплоть до разрешения в четверть pel. В H.264/AVC, на первом этапе используется фильтр с 6 отводами для генерации промежуточных значений при разрешении в половину pel из значений окружающих целых выборок. На втором этапе, эти значения целых выборок и промежуточные значения усредняются, или промежуточные значения усредняются между собой для генерации дробных выборок при положениях в четверть pel, или просто выборок в четверть-pel. В В-вырезках, две дробных выборки предсказаний из двух предсказаний могут быть дополнительно усреднены. Следует отметить, однако, что множественные операции усреднения, при последовательном выполнении, вводят ошибки округления, которые неблагоприятно влияют на точность и эффективность компенсации движения. Предложения D321 и Е242 объединенной команды сотрудников по кодированию видео (JCT-VC) адресуются к вопросу ошибки округления, связанной с двунаправленным усреднением. В этих документах предлагается, чтобы операция округления была ограничена применением на последнем этапе двунаправленного усреднения после сложения двух предсказаний.

JCT-VC Draft E603 описывает использование фильтра с 8 отводами для достижения разрешения в четверть pel. В Е603, некоторые из выборок в четверть-pel выводятся посредством применения фильтра с 8 отводами к ближайшим целым выборкам и усечения отфильтрованных результатов на предварительно определенную битовую глубину. Оставшиеся из выборок в четверть-pel выводятся через 2 процесса. В первом процессе выводятся промежуточные значения посредством применения фильтра с 8 отводами к ближайшим целым выборкам в вертикальном направлении. Во втором процессе фильтр с 8 отводами применяется к промежуточным значениям в горизонтальном направлении, и отфильтрованные результаты усекаются на предварительно определенную битовую глубину. Этот 2-процессный подход является выгодным в том, что не требуется фиксированного порядка для вертикальной фильтрации и горизонтальной фильтрации во втором процессе, и, таким образом, не нужна сигнализация декодеру, касающаяся порядка вертикальной фильтрации и горизонтальной фильтрации во втором процессе. Однако, компенсация движения, обсуждаемая в Е603, требует задания дополнительных операций фильтрации для генерации промежуточных значений. Операция фильтрации, примененная к промежуточным значениям, является дорогостоящей и требует высокой вычислительной сложности, в частности, для видеоданных с высокой битовой глубиной.

Кроме того, в компенсации движения, обсуждаемой в Е603, промежуточные значения не усекаются таким образом, чтобы гарантировать точность выборок в четверть pel, вычисляемых из них. Таким образом, побитовая точность вычисленных значений не является постоянной во время компенсации движения, обсуждаемой в Е603. В конце первого процесса, объясненного выше, точность результирующих значений выборок увеличивается на величину, определенную усилением фильтра с 8 отводами. Посредством применения фильтра с 8 отводами к промежуточным значениям, точность затем возрастает опять на ту же самую величину, что и в первом процессе перед усечением для предварительно определенной точности. Следовательно, вдвое большее усечение разрешения необходимо во втором процессе, чем необходимо в первом процессе, для возвращения разрешения обратно к первоначальной битовой глубине в конце второго этапа.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

В одном аспекте данного изобретения, интерполяция дробных выборок применяет FIR фильтр с 8 отводами, имеющий одно из трех наборов коэффициентов для генерации выборки в четверть pel:

[-1, 4, -10, 58, 17, -5, 1, 0];

[-1, 4, -11, 40, 40, -11, 4, -1]; и

[0, 1, -5, 17, 58, -10, 4, -1].

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

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

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

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

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

Фиг. 7 является иллюстрацией фильтрации для интерполяции дробных выборок.

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

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

ПОДРОБНОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ И ПРЕДПОЧТИТЕЛЬНЫХ В ДАННОЕ ВРЕМЯ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

Фиг. 1 показывает примерную архитектуру аппаратного обеспечения компьютера 100, на котором может быть реализовано данное изобретение. Следует отметить, что архитектура аппаратного обеспечения, показанная на фиг. 1, может быть общей как в видеокодере, так и в видеодекодере, которая реализует варианты осуществления данного изобретения. Компьютер 100 включает в себя процессор 101, память 102, запоминающее устройство 105 и одно или более устройств 106 ввода и/или вывода (I/O) (или периферийных устройств), которые соединены с возможностью связи через локальный интерфейс 107. Локальным интерфейсом 107 может быть, например, без ограничения этим, одна или более шин или других проводных или беспроводных подключений, как известно в данной области техники.

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

Память 102 содержит компьютерно-читаемый носитель, который может включать в себя какой-либо один или комбинацию из элементов энергозависимой памяти (например, оперативной памяти (RAM, такой как DRAM, SRAM, SDRAM и т.д.) и элементов энергонезависимой памяти (например, ROM, жесткий диск, ленту, CD-ROM и т.д.). Кроме того, память 102 может включать в себя электронные, магнитные, оптические и/или другие типы запоминающих носителей. Компьютерно-читаемым носителем может быть любое средство, которое может хранить, связываться, распространять или транспортировать программу для использования посредством или в соединении с системой, аппаратурой или устройством исполнения команд. Следует отметить, что память 102 может иметь распределенную архитектуру, где различные компоненты расположены удаленно друг от друга, но могут быть доступны процессору 101.

Программное обеспечение 103 в памяти 102 может включать в себя одну или более отдельных программ, каждая из которых содержит упорядоченный перечень исполняемых команд для реализации логических функций компьютера 100, как описано ниже. В примере фиг. 1, программное обеспечение 103 в памяти 102 задает функциональность кодирования или декодирования видеоданных компьютером 100 в соответствии с данным изобретением. Кроме того, хотя это и не требуется, память 102 может содержать операционную систему (O/S) 104. Операционная система 104 по существу управляет исполнением компьютерных программ и обеспечивает планирование, управление вводом-выводом, управление файлами и данными, управление памятью и управление связью и связанными службами.

Запоминающее устройство 105 компьютера 100 может быть одним из многих различных типов запоминающего устройства, включающих в себя стационарное запоминающее устройство или портативное запоминающее устройство. В качестве примера, запоминающее устройство 105 может быть магнитной лентой, диском, флэш-памятью, энергозависимой памятью или другим запоминающим устройством. Кроме того, запоминающее устройство 105 может быть картой памяти secure digital или другим съемным запоминающим устройством 105.

I/O устройства 106 могут включать в себя устройства ввода, например, но не ограниченные этим, сенсорный экран, клавиатуру, мышь, сканер, микрофон или другое устройство ввода. Кроме того, I/O устройства 106 могут также включать в себя устройства вывода, например, но не ограниченные этим, дисплей или другие устройства вывода. I/O устройства 106 могут дополнительно включать в себя устройства, которые связываются как через входы так и выходы, например, но не ограничены этим, модулятор/демодулятор (например, модем; для доступа к другому устройству, системе или сети), радиочастотный (RF), беспроводной или другой трансивер, телефонный интерфейс, мост, маршрутизатор или другие устройства, которые функционируют как ввод, так и вывод.

Как хорошо известно специалистам обычной квалификации в данной области техники, сжатие видео достигается посредством удаления избыточной информации в видеопоследовательности. Существует много различных стандартов кодирования видео, примеры которых включают в себя MPEG-1, MPEG-2, MPEG-4, H.261, H.263 и H.264/AVC. Следует отметить, что данное изобретение не предназначено для ограничения в применении какого-либо конкретного стандарта кодирования видео. Однако, следующее описание данного изобретения обеспечено с использованием примера стандарта H.264/AVC, который включен в данный документ по ссылке. H.264/AVC является новейшим стандартом кодирования видео и достигает значительного улучшения производительности над предыдущими стандартами кодирования, такими как MPEG-1, MPEG-2, H.261 и H.263.

В H.264/AVC, каждый кадр или изображение видео может быть разбит на несколько вырезок. Эти вырезки затем разделяются на блоки 16×16 пикселов, называемые макроблоками, которые могут быть затем дополнительно разделены на блоки 8×16, 16×8, 8×8, 4×8, 8×4, вплоть до 4×4 пикселов. Имеется пять типов вырезок, поддерживаемых H.264/AVC. В I вырезках, все макроблоки кодируются с использованием внутреннего предсказания. В Р вырезках, макроблоки могут быть кодированы с использованием внутреннего или внешнего предсказания. Р вырезки позволяют использовать только один сигнал компенсированного предсказания движения (МСР) на макроблок. В В вырезках, макроблоки могут быть кодированы с использованием внутреннего или внешнего предсказания. Два МСР сигнала могут использоваться на каждое предсказание. SP вырезки позволяют Р вырезкам эффективно переключаться между различными видеопотоками. SI вырезка является точным совпадением для SP вырезки для случайного доступа или устранения ошибок, при использовании только внутреннего предсказания.

Фиг. 2 показывает общий вид видеокодера, к которому может быть применено данное изобретение. Блоки, показанные на этом чертеже, представляют функциональные модули, реализованные процессором 101, выполняющим программное обеспечение 103 в памяти 102. Изображение видеокадра 200 подается в видеокодер 201. Видеокодер 201 трактует изображение 200 в единицах макроблоков 200А. Каждый макроблок содержит несколько пикселов изображения 200. На каждом макроблоке, выполняется преобразование в коэффициенты преобразования, за которым следует квантование в уровни коэффициентов преобразования. Кроме того, используется внутреннее предсказание или внешнее предсказание таким образом, чтобы не выполнять этапы кодирования непосредственно на данных пикселов, а на разностях между значениями пикселов и их предсказаниями, посредством чего достигаются малые значения, которые легче сжимаются.

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

Кодер 201 содержит энтропийный кодер, который кодирует синтаксические элементы и генерирует арифметические кодовые слова для каждой вырезки. При генерации арифметических кодовых слов для некоторой вырезки, энтропийный кодер использует статистические зависимости среди значений данных синтаксических элементов в битовом потоке видеосигнала. Кодер 201 выводит кодированный видеосигнал для некоторой вырезки изображения 200 для видеодекодера 302, показанного на фиг. 3.

Фиг. 3 показывает общий вид видеодекодера, к которому может быть применено данное изобретение. Аналогично, блоки, показанные на этом чертеже, представляют функциональные модули, реализованные процессором 101, выполняющим программное обеспечение 103 в памяти 102. Видеодекодер 301 принимает кодированный видеосигнал и сначала энтропийно декодирует этот сигнал обратно в синтаксические элементы. Декодер 301 использует эти синтаксические элементы для реконструкции, макроблок за макроблоком и затем вырезка за вырезкой, выборок 300А изображения пикселов в изображении 300.

Фиг. 4 показывает функциональные модули видеокодера 201, который обычно обозначается со ссылочной позицией 400 на фиг. 4. Эти функциональные модули реализуются процессором 101, выполняющим программное обеспечение 103 в памяти 102. Входное видеоизображение является кадром или полем естественного (несжатого) видеоизображения, заданного посредством точек выборки, представляющих компоненты первоначальных цветов, такие как цветность (“chroma”) и яркость (“luma”). Возможны и другие компоненты, такие как оттенок, насыщенность и значение. Это входное видеоизображение разделяется на макроблоки, каждый из которых представляет квадратную область изображения, состоящую из 16×16 пикселов luma-компонента цвета изображения. Входное видеоизображение также разделяется на макроблоки, каждый из которых представляет 8×8 пикселов каждой из chroma-компонентов цвета изображения. В основной операции кодера, введенные макроблоки могут быть временно или пространственно предсказаны с использованием внешнего или внутреннего предсказания. Однако, с целью обсуждения предполагается, что все макроблоки 400 являются либо макроблоками типа Р-вырезки, либо макроблоками типа В-вырезки, или смесью обоих, и подвергаются только внешнему предсказанию.

Видеокодер 400, показанный на фиг. 4, передает только остатки или разности между текущим изображением и предсказанием текущего изображения. Вычитатель 410 получает эти остатки посредством приема блока текущего изображения, подлежащего кодированию, как входной сигнал IS, и вычитания из него блока изображения предсказания, указанного посредством сигнала PS предсказания. Как показано на фиг. 4, видеокодер 400 включает в себя блок 420 преобразования/квантования для вывода квантованных коэффициентов преобразования QC. Блок 420 преобразования/квантования преобразует остаток из пространственной области в частотную область и квантует преобразованный остаток. Видеокодер 400 также включает в себя блок 490 энтропийного кодирования для выполнения энтропийного кодирования (кодирования переменной длины) квантованных коэффициентов преобразования QC и вывода битового потока BS.

Видеокодер 400 дополнительно включает в себя блок 430 обратного квантования/преобразования и сумматор 435. Блок 430 обратного преобразования/квантования преобразует квантованные коэффициенты преобразования QC обратно в остаточный сигнал RS, к которому сумматор 435 добавляет сигнал PS предсказания для вывода декодированного изображения. Деблокирующий фильтр 437 удаляет артефакты блоков из декодированного изображения и сохраняет очищенное декодированное изображение в памяти 440 эталонов.

Видеокодер 400 дополнительно включает в себя блок 460 предсказания/компенсации движения и блок 470 оценки движения. Блок 460 предсказания/компенсации движения считывает эталонное изображение из памяти 440 эталонов и применяет интерполяцию для генерации дробных выборок в положениях четвертей pel. Блок 470 оценки движения также считывает эталонное изображение из памяти эталонов и оценивает вектор движения МV для текущего изображения посредством сравнения текущего изображения и эталонного изображения. Вектор движения MV выводится для блока 460 предсказания/компенсации движения и блока 490 энтропийного кодирования. Этот блок может быть разделен на разделы, имеющие 4×4, 4×8, 8×4, 8×8, 8×16, 16×8, или 16×16 пикселов. Блок 470 оценки движения выполняет оценку движения на соответствующих разделах в этом блоке и выдает векторы движения MV для соответствующих разделов. Блок 460 предсказания/компенсации движения смещает соответствующие разделы в эталонном изображении на величины и в направлениях, указанных векторами движения, для вывода изображения предсказания, который обеспечивается как сигнал IS предсказания для вычитателя 410 и сумматора 435.

Фиг. 5 является блок-схемой, показывающей высокий уровень процесса кодирования, выполняемого видеокодером 400. На этапе 502, блок 460 предсказания/компенсации движения генерирует блок предсказания. На этапе 504, вычитатель 410 вычитает изображение предсказания из текущего изображения для получения остатка. На этапе 506, блок 420 преобразования/квантования кодирует этот остаток.

Фиг. 6 является блок-схемой, показывающей процессы компенсации движения, выполняемые блоком 460 предсказания/компенсации движения для генерации сигнала предсказания согласно одному варианту осуществления данного изобретения. На этапе 602, блок 460 предсказания/компенсации движения считывает эталонные выборки из памяти 440 эталонов. Память 440 эталонов хранит множественные эталонные изображения. Как обсуждалось в разделе 8.4.2 и его подразделах H.264/AVC, местоположение эталонных выборок, подлежащих извлечению из эталонного изображения, хранимого в памяти 440 эталонов, может быть определено при помощи положения области, подлежащей предсказанию в пределах текущего изображения, вектора движения MV этой области и индекса эталонного кадра.

На этапе 604, извлеченные эталонные выборки увеличиваются в масштабе для увеличения точности эталонных выборок. Коэффициент масштабирования может быть определен при помощи битовой глубины эталонных выборок и числа битов, доступных для представления эталонной выборки. Это число битов, доступных для представления эталонной выборки, может быть определено таким образом, что если 16 является максимально доступным числом битов для представления эталонной выборки, то число битов, доступных для представления этой выборки, может быть ограничено 14 для того, чтобы помешать переполнению или исчезновению значащих разрядов данных, которое может произойти во время компенсации движения. Если число битов, доступных для представления этой выборки, равно 14, то коэффициент масштабирования равен 6 для эталонной выборки, которая составляет 8 битов в ширину, и извлеченные эталонные выборки увеличиваются в масштабе посредством сдвига влево их битов на 6 битов. Более общим образом, коэффициент масштабирования может быть выражен как «число битов, доступных для представления эталонной выборки» минус «битовая глубина эталонной выборки». Этот процесс увеличения масштаба, выполняемый на этапе 604, является выгодным, так как он преобразует эталонные выборки, хранимые в памяти эталонов, в форму, независимую от их битовых глубин, и процессы, следующие за процессом увеличения масштаба станут независимыми от первоначальных битовых глубин видеоданных.

По выбору, некоторое смещение может быть вычтено из увеличенного в масштабе значения эталонной выборки. Например, если имеющее знак 14-битовое представление используется для представления увеличенных в масштабе эталонных выборок, то значение этого смещения, подлежащего вычитанию, может быть равным 8192 (=213), что переводит увеличенные в масштабе эталонные выборки в пределы диапазона от -8192 до 8192. Добавление этого смещения является выгодным для уменьшения числа битов, требуемых для представления выборки. Поскольку процесс интерполяции, описанный ниже, имеет дело с имеющими знак значениями выборок, имеющее знак представление всех значений выборок, таким образом, является предпочтительным. В приведенном выше примере, в котором выборки увеличиваются в масштабе вплоть до 14-битовых представлений, если это смещение не вычитается, то должно было бы использоваться 15-битовое имеющее знак представление, которое является более дорогостоящим, чем 14-битовое имеющее знак представление, полученное от вычитания этого смещения. Следует отметить, что эталонные выборки могут быть увеличены в масштабе и смещены, когда они хранятся в памяти эталонов. Если эталонные выборки хранятся в памяти эталонов после увеличения в масштабе и смещения, то этап 604 не является необходимым.

Разрешение увеличенных в масштабе эталонных выборок затем увеличивается с использованием дробной интерполяции выборок для генерации дробных выборок в положениях четверти pel. Фиг. 7 является иллюстрацией фильтрации для компенсации движения дробных выборок. На фиг. 7, буквы Аij верхнего регистра обозначают увеличенные в масштабе эталонные выборки. Эти выборки называются целыми выборками. Другие выборки, показанные посредством букв нижнего регистра, такие как а0,0, b0,0, c0,0, d0,0,… и r0,0, являются дробными выборками в положениях четверти pel. На этапе 606, четверть-pel выборка а0,0, b0,0 или c0,0, выводятся посредством следующих интерполяционных равенств:

Дробная часть горизонтального компонента вектора движения определяет, какая выборка выводится. Например, если дробная часть равна ¼, то выводится а0,0.

Каждая из операций интерполяции включает в себя применение FIR фильтра с 8 отводами для ближайших целых выборок и усечение отфильтрованного результата для смещения увеличения фильтра. Сумма коэффициентов каждого фильтра установлена равной 64(=26). Таким образом, операция усечения включает в себя деление отфильтрованного результата на 64 или сдвиг вправо отфильтрованного результата на 6. Следует отметить, что в вышеуказанных операциях интерполяции, усеченные результаты округляются по направлению к минус бесконечности. Посредством добавления смещения к отфильтрованным результатам, усеченные результаты могут быть округлены по направлению к ближайшему целому. Однако, округление по направлению к минус бесконечности является выгодным, так как оно не требует добавления смещения к отфильтрованным результатам. По выбору, могут быть обеспечены различные типы фильтров, из которых один фильтр применяется избирательно, в зависимости от дробного смещения, определенного горизонтальным компонентом вектора движения. Этот этап может быть опущен в случае, когда горизонтальное дробное смещение равно нулю. Следует отметить, что имеется операция сдвига вправо на 6 битов на этапе 606, и операция сдвига влево на 6 битов на этапе 604 в примере с 8-битовыми входами. Таким образом, этапы 604 и 606 могут комбинироваться таким образом, что операции сдвига влево и сдвига вправо устраняются без изменения выхода.

На этапе 608, дробная выборка d0,0, h0,0, n0,0, e0,0, i0,0, p0,0, f0,0, j0,0, q0,0, g0,0, k0,0 или r0,0 выводится посредством следующих интерполяционных равенств:

Дробные части горизонтального и вертикального компонентов вектора движения определяют, какая выборка выводится. Например, если горизонтальная дробная часть равна 1/4, а вертикальная дробная часть равна ¾, то выводится р0,0.

Вышеприведенные операции интерполяции включают в себя применение FIR фильтров с 8 отводами вертикально к выборкам А0,j, a0,i, b0,i и c0,i, где i=-3..4, и усечение отфильтрованных результатов на коэффициент 6. Следует отметить, что в данном изобретении, каждый отфильтрованный результат усекается и что никакой отфильтрованный результат не используется как неусеченное промежуточное значение для вычисления из него дробных выборок. В данном изобретении, следовательно, точность значений выборок является постоянной по интерполяции дробных выборок. Ни этап 606, ни этап 608 не изменяет точность в представлении выборок.

В вышеуказанном варианте осуществления интерполяции дробных выборок, все наборы фильтров, используемых в операциях вертикальной и горизонтальной фильтрации, являются фильтрами с 8 отводами. Следует отметить, что фильтры с различными количествами отводов могут использоваться для интерполяции дробного движения. Например, желательно использовать фильтры с меньшим количеством отводов для меньших размеров блоков. Использование фильтров с меньшим числом отводов уменьшает число выборок, подлежащих извлечению из памяти эталонов, посредством чего полоса частот памяти может быть уменьшена. Использование фильтров с меньшим числом отводов также снижает число умножений в операциях фильтрации и улучшает эффективность компенсации движения. H.264/AVC позволяет макроблоку или субмакроблоку быть разделенным на один или более разделов с целью компенсации движения. В H.264/AVC, макроблок, имеющий размер 16×16, может быть разделен на один или более разделов, причем каждое имеет размер 4×4, 4×8, 8×4, 8×8, 8×16 или 16×16. Соответственно, фильтры с различным числом отводов могут подготавливаться и применяться избирательно согласно ширине раздела. Например, фильтр с 8 отводами может быть применен к разделам, имеющим ширину, равную или большую, чем 8, а фильтр с 4 отводами может быть применен к разделам, имеющим ширину, меньшую, чем 8. В одном варианте осуществления, такой фильтр с 4 отводами имеет коэффициенты [-4 36 36 -4]. JCT-VC проект Е603 ввел понятие блока кодирования (CU). CU, имеющий размер N×N может быть разделен на один или более разделов, имеющих размер N×N, N×N/2 или N/2×N. Фильтры с различными количествами отводов могут применяться избирательно, равна ли высота или ширина CU N или N/2.

В вышеуказанном варианте осуществления компенсации движения дробных выборок, горизонтальная интерполяция дробных выборок (этап 606) предшествует вертикальной интерполяции дробных выборок (этап 608). Следует отметить, что этот порядок может быть переключен до тех пор, пока этот порядок согласован заранее между кодером и декодером. В другом варианте осуществления, этот порядок может быть сигнализирован от кодера к декодеру. Когда эталонные выборки имеют 8 битов в ширину, результат вычисления будет тем же самым, независимо от порядка горизонтальной и вертикальной интерполяции. Если это имеет место, что никакого предшествующего соглашения, касающегося этого порядка, между кодером и декодером не нужно.

В компенсации движения, обсуждаемого в JCT-VC проекте Е603, одни и те же дробные выборки могут быть выведены независимо от того, выводятся ли промежуточные значения вертикально и применяются горизонтально, или выводятся ли они горизонтально и применяются вертикально. Это является выгодным в том смысле, что не нужно предшествующее соглашение между кодером и декодером, касающееся того, должны ли промежуточные значения выводиться вертикально и применяться горизонтально, или они должны выводиться горизонтально и применяться вертикально. Однако, промежуточные значения имеют более высокую точность, чем в данном изобретении, и стоимость применения второго FIR фильтра к этим промежуточным значениям является более высокой, чем эта стоимость данного изобретения. Обычно, эта стоимость возрастает в пропорции к точности. Эта стоимость может быть значительно более высокой в программном обеспечении, где точность превышает общий размер слова, такой как 16 битов. В таком случае точность дополнительно расширяется для соответствия следующему общему размеру слова. Например, промежуточные значения с 17 битами точности расширились бы до 32 битов. Более высокая точность промежуточных значений, как обсуждается в JCT-VC проекте Е603, не имеет значительного влияния на стоимость, без обеспечения значительной выгоды в терминах точности сигнала предсказания.

В варианте осуществления данного изобретения, описанном выше, порядок горизонтальной и вертикальной интерполяций необходимо фиксировать между кодером и декодером. Однако, фиксация порядка горизонтальной и вертикальной интерполяции не вызовет каких-либо издержек для кодера и декодера. Скорее, посредством фиксации этого порядка, компенсация движения может работать при более низкой, и все же достаточно высокой, точности для снижения стоимости операций, таких как умножения. Также, посредством фиксации этого порядка, точность вычисления становится постоянной по интерполяции дробных выборок. Вычисление фильтрации может быть, таким образом, упрощено в том, что все умножения между выборками и коэффициентами могут быть выполнены в пределах фиксированных битовых диапазонов, например, 16-битового, имеющего знак диапазона для выборок, и 8-битового, имеющего знак диапазона для коэффициентов фильтров. Поскольку все умножения выполняются в пределах фиксированных битовых диапазонов, операции фильтрации могут быть эффективно реализованы параллельно на SIMD архитектурах.

Возвращаясь обратно к фиг. 6, преобразование применяется к выведенным выборкам на этапе 610. Пример такого преобразования описан как процесс предсказания взвешенной выборки в разделе 8.4.2.3 и его подразделах H.264/AVC. Процесс предсказания взвешенной выборки комбинирует два набора выборок посредством линейной интерполяции. Это преобразование может улучшить эффективность кодирования для сцен, содержащих затухания. Значение комбинированных выборок, являющееся результатом этого преобразования, может быть обрезано для подгонки в пределах определенного диапазона, например, 16-битового имеющего знак диапазона. Следует отметить, что этап 610 может быть опущен, когда такое преобразование не является необходимым.

Затем на этапе 612 проверяется, необходима ли генерация другого предсказания для компенсации движения. Например, когда должно быть выполнено двунаправленное усреднение, необходимо сгенерировать два предсказания для их усреднения. Если определено, что необходимо другое предсказание, то этот процесс возвращается к этапу 602. На этапе 614, два предсказания усредняются для генерации двунаправленного предсказания. Если двунаправленное усреднение не нужно, то этап 614 пропускается.

На этапе 616, сгенерированное предсказание уменьшается в масштабе и обрезается до достоверного диапазона. Операция уменьшения в масштабе, выполняемая на этапе 616, отменяет операцию увеличения в масштабе, выполняемую на этапе 604, и сдвигает вправо сгенерированное предсказание на то же самое число битов, что и используется для сдвига влево выборок на этапе 604. Является предпочтительным добавить округляющее смещение перед операцией сдвига вправо для округления уменьшенного в масштабе значения по направлению к ближайшему целому. Если это смещение вычитается из выборки на этапе 604, то то же самое смещение добавляется к предсказанию. Достоверный диапазон, до которого обрезается предсказание, обычно задается как {0…255}, где сохраненные эталонные выборки имеют ширину 8 битов. Обычно, достоверный диапазон может быть задан как {0…2М-1} для эталонных выборок, которые имеют ширину М битов.

В практической реализации данного изобретения, этапы необязательно должны выполняться отдельно, как показано на фиг. 6, и некоторые этапы могут быть скомбинированы. Например, операции сдвига, выполняемые отдельно на этапах фиг. 6, могут быть скомбинированы. Примером является то, что операция сдвига вправо, включенная в двунаправленное усреднение, выполняемое на этапе 614, и операция сдвига вправо, включенная в уменьшение в масштабе, выполняемая на этапе 616, могут быть скомбинированы. Далее, множественные функции или схемы могут быть реализованы для обстоятельств, когда процессы могут быть упрощены, например, когда нет дробных смещений и, таким образом, FIR фильтрация не требуется.

Фиг. 8 показывает функциональные модули видеодекодера 301, который обычно обозначается ссылочной позицией 800 на фиг. 8. Эти функциональные модули реализуются процессором 101, выполняющим программное обеспечение 103 в памяти 102. На фиг. 8, блок 810 энтропийного декодирования получает битовый поток BS, выданный устройством 400 кодирования движущегося изображения, и выполняет обработку энтропийного декодирования этого битового потока. Блок 810 энтропийного декодирования затем выдает квантованные коэффициенты преобразования QC для блока 820 обратного квантования/обратного преобразования. Блок 810 энтропийного декодирования также выдает вектор движения MV для блока 860 предсказания/компенсации движения. Блок 820 обратного квантования/обратного преобразования выполняет обработку декодирования обратного квантования и обратного DCT преобразования на квантованных коэффициентах преобразования QC. Блок 820 обратного квантования/обратного преобразования затем выдает остаточный сигнал RS.

Сумматор 830 добавляет остаточный сигнал RS к сигналу предсказания PS, полученному от блока 860 компенсации движения, и выдает декодированное изображение для деблокирующего фильтра 840. Деблокирующий фильтр 840 устраняет блочные артефакты из декодированного изображения и сохраняет его в памяти 850 эталонов. Это декодированное изображение извлекается из памяти 850 и выдается как выходной сигнал OS.

Блок 860 предсказания/компенсации движения извлекает выборки в эталонном изображении, хранимом в памяти 850 эталонов, и выполняет интерполяцию дробных выборок, как показано на фиг. 7. Этот блок 860 предсказания/компенсации движения генерирует предсказание на основе вектора движения MV и эталонного изображения, на котором была выполнена интерполяция дробных выборок. Таким образом, блок 860 предсказания/компенсации движения выдает сигнал предсказания PS для сумматора 830.

Фиг. 9 является блок-схемой, показывающей высокий уровень процесса декодирования, выполняемого видеодекодером 800. На этапе 902, блок 860 предсказания/компенсации движения генерирует блок предсказания. На этапе 904, блок 820 обратного квантования/обратного преобразования декодирует квантованные коэффициенты преобразования QC и выдает остаточный сигнал RS. На этапе 906, сумматор 830 добавляет остаточный сигнал RS к сигналу предсказания PS.

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

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

извлечения эталонных выборок из памяти эталонных изображений;

применения первой интерполяции дробных выборок к извлеченным выборкам в первом направлении для генерации первого набора дробных выборок; и

применения второй интерполяции дробных выборок к первому набору дробных выборок во втором направлении для генерации второго набора дробных выборок,

причем эталонные выборки представлены с первой битовой глубиной, а первый набор дробных выборок представлен со второй битовой глубиной, которая является постоянной независимо от первой битовой глубины эталонных выборок,

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

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

2. Устройство декодирования видео для компенсации движения, выполняемой при межкадровом предсказании, причем устройство содержит:

память эталонов, содержащую эталонные изображения, и

блок предсказания/компенсации движения, соединенный с памятью эталонов и выполненный с возможностью:

извлечения эталонных выборок из памяти эталонных изображений;

применения первой интерполяции дробных выборок к извлеченным выборкам в первом направлении для генерации первого набора дробных выборок; и

применения второй интерполяции дробных выборок к первому набору дробных выборок во втором направлении для генерации второго набора дробных выборок,

причем эталонные выборки представлены с первой битовой глубиной, а первый набор дробных выборок представлен со второй битовой глубиной, которая является постоянной независимо от первой битовой глубины эталонных выборок,

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

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



 

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

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности кодирования за счет начального определения оценки параметра Райса.

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

Изобретение относится к области кодирования и декодирования изображений. Техническим результатом является ускорение обработки кодирования и декодирования изображений.

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

Изобретение относится к приемному и передающему устройству. Технический результат заключается в обеспечении передающей стороне возможности активно управлять положением отображения изображения.

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

Изобретение относится к области кодирования/декодирования изображений. Технический результат – повышение эффективности кодирования и декодирования информации о значимом разностном коэффициенте.

Изобретение относится к вычислительной технике. Технический результат заключается в повышении качества сжатого видео.

Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении задержки кодека.

Изобретение относится к вычислительной технике. Технический результат заключается в подавлении блочного шума.

Изобретение относится к устройствам обработки информации, которые применимы в случае, когда прикладную программу выполняют в соответствии с воспроизведением содержания, такого как телевизионная программа. Технический результат заключается в реализации автоматического распознавания содержания (ACR) сервиса без каких-либо нарушений прав соответствующих владельцев авторских прав на содержание и связанное приложение. Предложено устройство обработки информации, содержащее: блок управления содержанием для управления первым содержанием, просматриваемым на стороне устройства воспроизведения содержания; блок базы данных для генерирования контрольных данных и помещения сгенерированных контрольных данных в базу данных, посредством связывания первых характерных данных первого содержания с информацией управления правами для первых характерных данных и идентификатором содержания, представляющим первое содержание, из которого извлечены первые характерные данные; и блок идентификации для идентификации содержания и возврата ответа, указывающего результат идентификации, посредством обращения к контрольным данным блока базы данных в ответ на запрос, содержащий вторые характерные данные второго содержания, просматриваемого пользователем устройства воспроизведения содержания, при этом запрос передают от стороны устройства воспроизведения содержания. 4 н. и 7 з.п. ф-лы, 12 ил.

Изобретение относится к системе передачи видеоданных, в частности к управлению доставкой и представлением медиаданных. Технический результат заключается вповышении эффективности доставки медиаданных стандарта Транспортировки медиаданных (MMT) Экспертной группы по кинематографии (MPEG). Предложен cпособ функционирования отправляющего объекта в системе передачи, включающий в себя идентификацию фиксированной задержки, ассоциированной с передачей медиаданных в системе передачи, и отправку информации о фиксированной задержке в виде требования, конфигурируемого таким образом, чтобы гарантировать доставку пакетов для медиаданных, принимаемых принимающим объектом, на более высокий уровень принимающего объекта после фиксированной задержки. 4 н. и 16 з.п. ф-лы, 7 ил.

Изобретение относится к кодированию с помощью остаточной дифференциальной импульсно-кодовой модуляции (ДИКМ). Технический результат – расширение диапазона высокоэффективного кодирования видеоизображений (HEVC). Для этого те же самые этапы кодирования и декодирования путем остаточной ДИКМ, в том же самом порядке обработки, применяются к блокам, закодированным в режиме внутреннего предсказания и режиме промежуточного предсказания / режиме предсказания IntraBC (режиме копии внутрикадрового блока). Способ распространения промежуточного кодирования путем остаточной ДИКМ на блоки, закодированные в режиме предсказания IntraBC. К остатку IntraBC применяется обработка с помощью остаточной ДИКМ в вертикальном или горизонтальном направлении. 3 н. и 9 з.п. ф-лы, 8 ил., 10 табл.

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

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

Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении количества разрядов, используемых для сигнализации синтаксических элементов. Способ декодирования видеоданных, в котором декодируют данные синтаксического элемента для множества изображений в порядке кодирования изображений, причем данные синтаксического элемента указывают, что каждое из множества изображений доступно для использования в качестве долгосрочного эталонного изображения; декодируют заголовок слайса для слайса видеоданных, причем заголовок слайса включает в себя синтаксический элемент, указывающий количество долгосрочных эталонных изображений, выведенных из набора параметров последовательности; определяют, является ли долгосрочное эталонное изображение из множества изображений явно сигнализируемым в заголовке слайса или выводится из набора параметров последовательности, соответствующего слайсу; когда долгосрочное эталонное изображение сигнализируется явно, декодирование заголовка слайса дополнительно содержит этап, на котором декодируют значение для идентифицирующей информации для долгосрочного эталонного изображения в заголовке слайса. 5 н. и 46 з.п. ф-лы, 5 ил., 5 табл.

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении низкой сквозной задержки. Цифровой носитель данных, хранящий поток видеоданных, имеющий видеоконтент, закодированный в нем, в единицах под-частей изображений видеоконтента, при этом каждая под-часть соответственно закодирована в один или более пакетов полезной нагрузки последовательности пакетов потока видеоданных, при этом последовательность пакетов разделена на последовательность блоков доступа, так что каждый блок доступа собирает пакеты полезной нагрузки, относящиеся к соответствующему изображению видеоконтента, причем последовательность пакетов содержит помещенные в нее пакеты управления таймингом, так что пакеты управления таймингом подразделяют блоки доступа на блоки декодирования, так что по меньшей мере некоторые блоки доступа подразделены на два или более блоков декодирования, при этом каждый пакет управления таймингом сигнализирует время извлечения буфера декодера для блока декодирования, пакеты полезной нагрузки которого следуют за соответствующим пакетом управления таймингом в последовательности пакетов. 10 н. и 7 з.п. ф-лы, 40 ил.

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

Изобретение относится к области инкапсуляции данных мультимедиа с временной привязкой, например, согласно базовому формату мультимедийного файла организации по стандартизации (ISO BMFF), чтобы улучшать потоковую передачу по протоколу передачи гипертекстовых файлов (HTTP) выбираемых пользователем интересующих областей (ROI) в сжатых видеопотоках. Технический результат заключается в обеспечении схемы организации данных и описания дорожек, подходящей для пространственных мозаичных элементов в масштабируемых видеопотоках, которая обеспечивает, что какая бы комбинация дорожек ни выбиралась клиентским приложением, результат синтаксического разбора формата ISO BMFF всегда ведет к действительному элементарному битовому видеопотоку для видеодекодера. Предложено, что каждая выборка с временной привязкой содержит первый уровень и по меньшей мере один второй уровень и по меньшей мере один из уровней содержит множество подвыборок, представленных посредством одного или более блоков кодирования. После получения по меньшей мере одной подвыборки из множества подвыборок одной из выборок с временной привязкой создается одна дорожка, содержащая упомянутую по меньшей мере одну полученную подвыборку. Созданная дорожка независимо инкапсулируется в по меньшей мере одном файле сегмента мультимедиа, при этом упомянутый файл сегмента мультимедиа содержит метаданные отображения для обеспечения информации об упомянутой по меньшей мере одной полученной подвыборке по отношению к упомянутой одной из выборок с временной привязкой и уровню, которому она принадлежит. 12 н. и 20 з.п. ф-лы, 26 ил.

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