Класс видеокадров, обрабатываемых особым образом с помощью алгоритма сжатия.
В области сжатия видео видеокадр сжимается с использованием различных алгоритмов с разными преимуществами и недостатками, главным образом, в зависимости от степени сжатия данных . Эти различные алгоритмы для видеокадров называются типами изображений или типами кадров . Три основных типа изображения, используемые в различных видеоалгоритмах, — это I , P и B. Они отличаются следующими характеристиками:
I -кадры наименее сжимаемы, но не требуют для декодирования других видеокадров.
P -кадры могут использовать данные из предыдущих кадров для распаковки и являются более сжимаемыми, чем I-кадры.
B -кадры могут использовать как предыдущие, так и последующие кадры для ссылки на данные, чтобы получить максимальную степень сжатия данных.
Краткое содержание
При сжатии видео используются три типа изображений (или кадров) : I, P и B кадры.
P -кадр (прогнозированное изображение) сохраняет только изменения изображения по сравнению с предыдущим кадром. Например, в сцене, где автомобиль движется по неподвижному фону, необходимо закодировать только движения автомобиля. Кодеру не нужно хранить неизменяемые пиксели фона в P-кадре, что позволяет экономить место. P-кадры также известны как дельта-кадры .
B -кадр (двунаправленное прогнозируемое изображение) экономит еще больше места за счет использования различий между текущим кадром и предыдущим и последующим кадрами для указания его содержимого.
Кадры P и B также называются межкадрами . Порядок расположения кадров I, 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 может использовать несколько ранее декодированных изображений в качестве ссылок во время декодирования и может иметь любое произвольное соотношение порядка отображения относительно изображения(й), используемого для его предсказания.
Обычно для кодирования требуется меньше битов по сравнению с изображениями.
Требовать предварительного декодирования последующих кадров для отображения.
Может содержать данные изображения и/или смещения вектора движения. Старые стандарты допускают только один глобальный вектор компенсации движения для всего кадра или один вектор компенсации движения для каждого макроблока.
Включите некоторые режимы прогнозирования, которые формируют прогноз области движения (например, макроблока или меньшей области) путем усреднения прогнозов, полученных с использованием двух разных ранее декодированных опорных областей. Некоторые стандарты допускают два вектора компенсации движения на макроблок (двухпрогнозирование).
В старых стандартах (таких как MPEG-2) B-кадры никогда не используются в качестве эталонов для прогнозирования других изображений. В результате для таких B-кадров можно использовать кодирование более низкого качества (требующее меньше места), поскольку потеря детализации не повредит качеству прогнозирования для последующих изображений.
H.264 ослабляет это ограничение и позволяет использовать B-кадры в качестве эталонов для декодирования других кадров по усмотрению кодера.
Более старые стандарты (такие как MPEG-2) используют ровно два ранее декодированных изображения в качестве эталонов во время декодирования и требуют, чтобы одно из этих изображений предшествовало B-кадру в порядке отображения, а другое - следовало за ним.
H.264 допускает использование одного, двух или более двух ранее декодированных изображений в качестве эталонов во время декодирования и может иметь любое произвольное соотношение порядка отображения относительно изображения(й), используемого для его предсказания.
Повышенная гибкость поиска информации означает, что B-кадры обычно требуют меньше битов для кодирования, чем I- или P-кадры.