Класс видеокадров, обрабатываемых особым образом алгоритмом сжатия
В области сжатия видео , видеокадр сжимается с использованием различных алгоритмов с различными преимуществами и недостатками, сосредоточенными в основном вокруг объема сжатия данных . Эти различные алгоритмы для видеокадров называются типами изображений или типами кадров . Три основных типа изображений, используемых в различных видеоалгоритмах, это I , P и B. [1] Они отличаются следующими характеристиками:
I -кадры наименее сжимаемы, но не требуют декодирования других видеокадров.
P -кадры могут использовать данные из предыдущих кадров для распаковки и более сжимаемы, чем I-кадры.
B -кадры могут использовать как предыдущие, так и последующие кадры для ссылки на данные, чтобы получить максимальную степень сжатия данных.
Краткое содержание
При сжатии видео используются три типа изображений (или кадров) : кадры I, P и B.
I-кадр ( внутрикодированное изображение ) — это полное изображение, подобное файлу изображения JPG или BMP .
P -кадр (предсказанное изображение) содержит только изменения в изображении по сравнению с предыдущим кадром. Например, в сцене, где автомобиль движется по неподвижному фону, необходимо кодировать только движения автомобиля. Кодировщику не нужно хранить неизменные пиксели фона в P-кадре, что экономит место. P-кадры также известны как дельта-кадры .
B -кадр (двунаправленное прогнозируемое изображение) экономит еще больше места, используя различия между текущим кадром и предыдущими и последующими кадрами для указания своего содержимого.
Хотя термины «кадр» и «изображение» часто используются взаимозаменяемо, термин « изображение» является более общим понятием, поскольку изображение может быть как кадром, так и полем . Кадр — это полное изображение, а поле — это набор нечетных или четных строк развертки, составляющих частичное изображение. Например, изображение HD 1080 имеет 1080 строк (строк) пикселей. Нечетное поле состоит из пиксельной информации для строк 1, 3, 5...1079. Четное поле имеет пиксельную информацию для строк 2, 4, 6...1080. Когда видео отправляется в формате чересстрочной развертки , каждый кадр отправляется в двух полях, поле нечетных строк, за которым следует поле четных строк.
Кадр, используемый в качестве опорного для прогнозирования других кадров, называется опорным кадром.
Кадры, закодированные без информации из других кадров, называются I-кадрами. Кадры, использующие предсказание из одного предшествующего опорного кадра (или одного кадра для предсказания каждой области), называются P-кадрами. B-кадры используют предсказание из (возможно, взвешенного) среднего двух опорных кадров, одного предшествующего и одного последующего.
Ломтики
В стандарте H.264/MPEG-4 AVC гранулярность типов предсказания сведена к «уровню среза». Срез — это пространственно обособленная область кадра, которая кодируется отдельно от любой другой области в том же кадре. I-срезы, P-срезы и B-срезы заменяют I, P и B-кадры.
Макроблоки
Обычно изображения (кадры) сегментируются на макроблоки , и отдельные типы прогнозирования могут быть выбраны на основе макроблока, а не быть одинаковыми для всего изображения, как показано ниже:
I-кадры могут содержать только внутрикадровые макроблоки.
P-кадры могут содержать как внутренние макроблоки, так и предсказанные макроблоки.
B-кадры могут содержать интра-, предсказанные и би-предсказанные макроблоки.
Кроме того, в стандарте кодирования видео H.264 кадр может быть сегментирован на последовательности макроблоков, называемых слайсами , и вместо использования выбора типа кадра I, B и P, кодер может выбирать стиль прогнозирования отдельно для каждого отдельного слайса. Также в H.264 есть несколько дополнительных типов кадров/слайсов:
SI-кадры/срезы (переключение I): облегчает переключение между кодированными потоками; содержит SI-макроблоки (особый тип интракодированного макроблока).
SP‑кадры/срезы (переключение P): облегчает переключение между кодированными потоками; содержит P и/или I-макроблоки
Многокадровая оценка движения (до 16 опорных кадров или 32 опорных полей)
Многокадровая оценка движения повышает качество видео, обеспечивая при этом ту же степень сжатия. Кадры SI и SP (определенные для расширенного профиля) улучшают коррекцию ошибок . При использовании таких кадров вместе с интеллектуальным декодером можно восстановить трансляционные потоки поврежденных DVD.
I-кадры содержат целое изображение. Они кодируются без ссылки на какой-либо другой кадр, кроме (частей) самих себя.
Может генерироваться кодером для создания случайной точки доступа (чтобы позволить декодеру начать правильное декодирование с нуля в этом месте изображения).
Может также возникать, когда дифференцируемые детали изображения не позволяют создать эффективные P- или B-кадры.
Обычно для кодирования требуется больше бит, чем для других типов кадров.
Часто I-кадры используются для случайного доступа и используются в качестве ссылок для декодирования других изображений. Периоды внутреннего обновления в полсекунды обычны для таких приложений, как цифровое телевещание и хранение DVD . Более длительные периоды обновления могут использоваться в некоторых средах. Например, в системах видеоконференций принято отправлять I-кадры очень редко.
Прогнозируемые (P) кадры/срезы
Для декодирования требуется предварительное декодирование некоторых других изображений.
Могут содержать как данные изображения, так и смещения векторов движения, а также их комбинации.
Можно ссылаться на предыдущие изображения в порядке декодирования.
Более старые стандарты (например, MPEG-2 ) используют только одно ранее декодированное изображение в качестве опорного во время декодирования и требуют, чтобы это изображение также предшествовало изображению P в порядке отображения.
В H.264 может использовать несколько ранее декодированных изображений в качестве ссылок во время декодирования и может иметь любое произвольное отношение порядка отображения относительно изображения(й), используемого(ых) для его предсказания.
Обычно для кодирования требуется меньше бит по сравнению с I-кадрами.
Может содержать данные изображения и/или смещения векторов движения. Более старые стандарты допускают только один глобальный вектор компенсации движения для всего кадра или один вектор компенсации движения на макроблок.
Включают некоторые режимы прогнозирования, которые формируют прогноз области движения (например, макроблока или меньшей области) путем усреднения прогнозов, полученных с использованием двух различных ранее декодированных опорных областей. Некоторые стандарты допускают два вектора компенсации движения на макроблок (двойное прогнозирование).
В старых стандартах (таких как MPEG-2) B-кадры никогда не используются в качестве опорных для прогнозирования других изображений. В результате для таких B-кадров можно использовать кодирование более низкого качества (требующее меньше места), поскольку потеря деталей не повредит качеству прогнозирования для последующих изображений.
H.264 смягчает это ограничение и позволяет использовать B-кадры в качестве опорных для декодирования других кадров по усмотрению кодера.
Более старые стандарты (например, MPEG-2) используют ровно два ранее декодированных изображения в качестве опорных во время декодирования и требуют, чтобы одно из этих изображений предшествовало B-кадру в порядке отображения, а другое — следовало за ним.
H.264 допускает использование одного, двух или более ранее декодированных изображений в качестве ссылок во время декодирования и может иметь любое произвольное отношение порядка отображения относительно изображений, используемых для его прогнозирования.
Повышенная гибкость извлечения информации означает, что B-кадры обычно требуют меньше бит для кодирования, чем I- или P-кадры.
^ Beach, Andy; Owen, Aaron (2019). Видеосжатие справочник (2-е изд.). Место издания не указано: Peachpit Press. ISBN 978-0-13-486621-5. OCLC 1006298938.