Введение
Класс видеокадров, обрабатываемых алгоритмом сжатия особым образом.
In the field of video compression a video frame is compressed using different algorithms with different advantages and disadvantages, centered mainly around amount of data compression. These different algorithms for video frames are called picture types or frame types. The three major picture types used in the different video algorithms are I, P and B. They are different in the following characteristics:
I‑frames are the least compressible but don't require other video frames to decode. P‑frames can use data from previous frames to decompress and are more compressible than I‑frames. B‑frames can use both previous and forward frames for data reference to get the highest amount of data compression.
В области сжатия видео видеокадры сжимаются с использованием различных алгоритмов, обладающих разными преимуществами и недостатками, основное внимание в которых уделяется степени сжатия данных. Эти различные алгоритмы для видеокадров называются типами изображений или типами кадров. Три основных типа изображений, используемых в различных видеоалгоритмах, – I, P и B. Они различаются по следующим характеристикам:
In the field of video compression a video frame is compressed using different algorithms with different advantages and disadvantages, centered mainly around amount of data compression. These different algorithms for video frames are called picture types or frame types. The three major picture types used in the different video algorithms are I, P and B. They are different in the following characteristics:
I‑frames are the least compressible but don't require other video frames to decode. P‑frames can use data from previous frames to decompress and are more compressible than I‑frames. B‑frames can use both previous and forward frames for data reference to get the highest amount of data compression.
I-кадры наименее сжимаемы, но не требуют других видеокадров для декодирования. P-кадры могут использовать данные из предыдущих кадров для декомпрессии и сжимаются лучше, чем I-кадры. B-кадры могут использовать как предыдущие, так и последующие кадры в качестве опорных данных для достижения максимальной степени сжатия.
In the field of video compression a video frame is compressed using different algorithms with different advantages and disadvantages, centered mainly around amount of data compression. These different algorithms for video frames are called picture types or frame types. The three major picture types used in the different video algorithms are I, P and B. They are different in the following characteristics:
I‑frames are the least compressible but don't require other video frames to decode. P‑frames can use data from previous frames to decompress and are more compressible than I‑frames. B‑frames can use both previous and forward frames for data reference to get the highest amount of data compression.
Резюме
В видеокомпрессии используются три типа изображений (или кадров): I, P и B кадры. I-кадр (внутрикадровое изображение) представляет собой полное изображение, подобное файлу изображения в формате JPG или BMP. P-кадр (предсказанный кадр) содержит только изменения в изображении по сравнению с предыдущим кадром. Например, в сцене, где автомобиль движется на неподвижном фоне, необходимо кодировать только движение автомобиля. Кодировщику не нужно сохранять неизменные пиксели фона в P-кадре, что позволяет экономить место. P-кадры также известны как дельта-кадры. B-кадр (двунаправленно предсказанный кадр) позволяет сэкономить еще больше места, используя разницу между текущим кадром и как предыдущим, так и последующим кадрами для определения его содержимого. P- и B-кадры также называются интеркадрами. Последовательность расположения I-, P- и B-кадров называется группой кадров (GOP).
Картины/кадры
Хотя термины "кадр" и "картинка" часто используются взаимозаменяемо, термин "картинка" является более общим понятием, поскольку картинка может быть как кадром, так и полем. Кадр – это полное изображение, а поле – это набор нечётных или чётных строк сканирования, составляющих частичное изображение. Например, изображение 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) рамки/резки (ключевые рамки)
I-кадры содержат целое изображение. Они кодируются без привязки к каким-либо другим кадрам, кроме (частей) самих себя. Могут быть сгенерированы кодировщиком для создания точки произвольного доступа (чтобы декодер мог начать декодирование с нуля именно с этого кадра). Также могут генерироваться, когда различия в деталях изображения препятствуют созданию эффективных P- или B-кадров. Как правило, для кодирования требуется больше битов, чем для других типов кадров. Часто I-кадры используются для произвольного доступа и служат опорными для декодирования других кадров. В таких приложениях, как цифровое телевизионное вещание и хранение на DVD, обычно используются периоды обновления в полсекунды. В некоторых средах могут применяться более длительные периоды обновления. Например, в системах видеоконференцсвязи I-кадры обычно отправляются очень редко.
Прогнозируемые (P) рамки/резки
Требуют предварительного декодирования других кадров для собственного декодирования. Могут содержать как данные изображения, так и векторы движения, и их комбинации. Могут ссылаться на предыдущие кадры в порядке декодирования. В более ранних стандартах (например, MPEG 2) для декодирования используется только один ранее декодированный кадр в качестве опорного, который также должен предшествовать P-кадру в порядке отображения. В H.264 можно использовать несколько ранее декодированных кадров в качестве опорных при декодировании, и порядок отображения может быть произвольным по отношению к кадрам, используемым для предсказания. Как правило, требуют меньше битов для кодирования по сравнению с ключевыми кадрами.
Би-направленные прогнозируемые (B) рамки/резки (макроблоки)
Требуют предварительного декодирования последующих кадров для отображения. Могут содержать данные изображения и/или векторы смещения движения. Более ранние стандарты допускают только один глобальный вектор компенсации движения для всего кадра или один вектор компенсации движения на макроблок. Включают некоторые режимы предсказания, которые формируют предсказание области движения (например, макроблока или меньшей области) путем усреднения предсказаний, полученных с использованием двух различных ранее декодированных эталонных областей. Некоторые стандарты допускают два вектора компенсации движения на макроблок (бипредсказание). В более старых стандартах (таких как MPEG 2) B-кадры никогда не используются в качестве опорных для предсказания других изображений. В результате для таких B-кадров может использоваться кодирование более низкого качества (требующее меньшего объема памяти), поскольку потеря деталей не повлияет на качество предсказания последующих изображений. H.264 снимает это ограничение и позволяет использовать B-кадры в качестве опорных для декодирования других кадров по усмотрению кодировщика. Более ранние стандарты (такие как MPEG 2) используют ровно два ранее декодированных изображения в качестве опорных при декодировании и требуют, чтобы одно из этих изображений предшествовало B-кадру в порядке отображения, а другое следовало за ним. H.264 позволяет использовать одно, два или более двух ранее декодированных изображений в качестве опорных при декодировании и может иметь любые произвольные отношения порядка отображения относительно изображения(й), используемых для его предсказания. Повышенная гибкость при извлечении информации означает, что B-кадры обычно требуют меньше бит для кодирования, чем I или P-кадры.