Группа фотографий
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2013 г. ) |
При кодировании видео группа изображений или структура GOP определяет порядок, в котором внутри- и межкадры располагаются . GOP представляет собой набор последовательных изображений в кодированном видеопотоке. Каждый кодированный видеопоток состоит из последовательных GOP, из которых генерируются видимые кадры. Встреча новой GOP в сжатом видеопотоке означает, что декодеру не нужны предыдущие кадры для декодирования следующих, и позволяет осуществлять быстрый поиск по видео.
Элементы
[ редактировать ]GOP может содержать следующие типы изображений:
- I кадр (внутрикодированное изображение, также иногда неправильно называемое ключевым кадром) [1] ) – картинка, кодируемая независимо от всех остальных картинок. Каждая GOP начинается (в порядке декодирования) с этого типа кадра.
- Кадр IDR (мгновенное обновление декодера): I-кадр с маркировкой, указывающей, что никакие последующие P-кадры не имеют ссылок, идущих дальше, чем этот I-кадр. Благодаря использованию этих кадров IDR формируются закрытые GOP, которые не могут ссылаться на кадры вне GOP. [2] IDR — это настоящие ключевые кадры вместе с чистыми кадрами произвольного доступа (точками восстановления).
- P-кадр (кодированное изображение с предсказанием) – содержит информацию о разнице с компенсацией движения относительно ранее декодированных изображений. В более старых конструкциях, таких как MPEG-1 , H.262 / MPEG-2 и H.263 , каждый P-кадр может ссылаться только на одно изображение, и это изображение должно предшествовать P-кадру как в порядке отображения, так и в порядке декодирования. ссылка должна быть кадром I или P. Эти ограничения не применяются в новых стандартах H.264/MPEG-4 AVC и HEVC .
- Кадр B (кодированное изображение с двупредсказанием) – содержит информацию о разнице с компенсацией движения относительно ранее декодированных изображений. В старых конструкциях, таких как MPEG-1 и H.262/MPEG-2, каждый B-кадр может ссылаться только на два кадра: тот, который предшествует B-кадру в порядке отображения, и тот, который следует за ним, и все ссылочные изображения должны быть I или П-кадры. Эти ограничения не применяются в новых стандартах H.264/MPEG-4 AVC и HEVC . Иногда кодек использует однонаправленные B-кадры. Это P-кадр, который, хотя и не использует данные из будущего кадра, от него не зависят никакие другие кадры. Фундаментальным свойством B-кадров является то, что их можно отбросить, не влияя на правильное декодирование других кадров.
- Кадр D (изображение с прямым кодированием постоянного тока) – служит представлением кадра с быстрым доступом для обеспечения устойчивости к потерям или быстрой перемотки вперед. Кадры D используются только в видео MPEG-1 .
I-кадр указывает начало GOP. После этого следуют несколько кадров P и B. В старых проектах разрешенная структура упорядочения и ссылок относительно ограничена. [3]
I-кадры содержат полное изображение и не требуют никакой дополнительной информации для их восстановления. Обычно кодеры используют структуры GOP, которые делают каждый I-кадр «чистой точкой произвольного доступа», так что декодирование может начинаться с I-кадра без ошибок, а любые ошибки в структуре GOP исправляются после обработки правильного I-кадра.
В новых конструкциях, найденных в H.264/MPEG-4 AVC и HEVC , кодеры обладают гораздо большей гибкостью в отношении ссылок на структуры. Они могут использовать те же структуры ссылок, которые ранее использовались в старых проектах, или они могут использовать больше изображений в качестве ссылок и могут использовать более гибкое упорядочение порядка кодирования относительно порядка отображения. Им также разрешено использовать кадры B в качестве эталонов при кодировании других кадров (B или P). Эта дополнительная гибкость может повысить эффективность сжатия, но может привести к распространению ошибок, если некоторые данные будут потеряны или повреждены. Одной из популярных структур для использования в новых конструкциях является использование иерархии B-кадров. Иерархические B-кадры могут обеспечить очень хорошую эффективность сжатия, а также ограничить распространение ошибок, поскольку иерархия может гарантировать, что количество изображений, затронутых любой проблемой повреждения данных, строго ограничено. [4]
Как правило, чем больше кадров имеет видеопоток, тем больше возможностей для его редактирования. Однако наличие большего количества I-кадров существенно увеличивает скорость передачи данных, необходимую для кодирования видео.
Структура
[ редактировать ]Структура GOP часто обозначается двумя числами, например, M =3, N =12 . Первое число указывает расстояние между двумя опорными кадрами (I или P), также известное как длина «мини-GOP». [5] Второй сообщает расстояние между двумя полными изображениями (I-кадрами): это размер GOP. [6] Вместо параметра M можно использовать максимальное количество B-кадров между двумя последовательными опорными кадрами; это подход, используемый ffmpeg . [7]
Примеры:
- Для M =3, N =12 структура GOP имеет вид ИББПББББПББ . Между двумя последовательными опорными кадрами имеется 2 B-кадра.
- Для последовательности IBBBBPBBBBPBBBB , размер GOP N =15 , расстояние привязки M =5 . Между двумя последовательными опорными кадрами имеется 4 B-кадра.
Структура GOP не обязательно должна оставаться неизменной во время кодирования. Варьирование N для вставки I-кадра при смене сцены — хорошо известный метод. [8] Более новые методы также варьируют M в зависимости от количества движения в видео. [9]
Дополнительные понятия
[ редактировать ]В H.264 и более поздних версиях, которые допускают очень гибкие ссылочные структуры, кадр B в одной GOP может ссылаться на кадр из другой GOP, в частности, даже до кадра I, что делает кадр I не IDR (не ключевым кадром). ). [10] GOP, которая содержит любой такой кадр внешней ссылки, называется «открытой GOP». Противоположностью является автономная Республиканская партия, известная как «закрытая Республиканская партия». [5] В порядке кодирования GOP может начинаться с B-кадра, но не может им заканчиваться. Открытая GOP начинается с B-кадра, и это немного более эффективно, поскольку начало с I-кадра означает, что в конец необходимо добавить дополнительный P-кадр (GOP не может заканчиваться B-кадром). [11]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Ключевые кадры, межкадровое сжатие и видео» . 13 апреля 2021 г.
- ^ Маккаррел, Джаррод (4 мая 2022 г.). «Что такое «группа изображений» и почему это важно?» . Венера Технологии . Проверено 22 июня 2024 г.
- ^ «Б-кадры» .
- ^ «Иерархические B-кадры или B-пирамида — сжатие видео» . www.ramugedia.com .
- ^ Jump up to: а б Виджаянагар, Кришна Рао (17 декабря 2020 г.). «Закрытая GOP и открытая GOP – упрощенное объяснение – OTTVerse» . ottverse.com .
- ^ «Руководство пользователя компрессора 4» .
- ^ «Документация по кодекам FFmpeg» . ffmpeg.org .
bf целое число (кодирование, видео) Установить максимальное количество B-кадров между не-B-кадрами.
- ^ «Адаптивное внутрикадровое назначение и оценка скорости передачи данных для переменной длины GOP в H.264» . Транзакции IEEE по схемам и системам видеотехнологий . 16 (10): 1271–1279. Октябрь 2006 г. doi : 10.1109/TCSVT.2006.881856 .
- ^ «Docs/Appendix-Adaptive-Prediction-Structure.md · master · Alliance for Open Media / SVT-AV1 · GitLab» . ГитЛаб . 23 августа 2023 г.
- ^ «Разбитые кадры из-за H.264 Open-GOP (DVB MPEG-TS)?» . Форум Авидемукс . 01 июля 2024 г. Проверено 1 июля 2024 г.
- ^ «Сжатие MPEG и H.264» (PDF) . Проверено 2 июля 2024 г.