В кодировании видео группа изображений или структура GOP указывает порядок, в котором внутри- и между кадрами расположены. GOP - это набор последовательных изображений в кодированном видеопотоке. Каждый кодированный видеопоток состоит из последовательных групп изображений, из которых генерируются видимые кадры. Обнаружение новой GOP в сжатом видеопотоке означает, что декодеру не нужны никакие предыдущие кадры для декодирования следующих, и позволяет осуществлять быстрый поиск по видео.
GOP может содержать следующие типы изображений:
I-кадр указывает начало GOP. Затем следуют несколько кадров P и B. В более старых проектах допустимая структура упорядочивания и ссылок относительно ограничена.
I-кадры содержат полное изображение и не требуют дополнительной информации для их восстановления. Как правило, кодеры используют структуры GOP, которые заставляют каждый I-кадр быть «чистой точкой произвольного доступа», так что декодирование может начаться чисто с I-кадра, и любые ошибки в структуре GOP исправляются после обработки правильного I-кадра.
В более новых проектах, представленных в H.264 / MPEG-4 AVC и HEVC, кодеры имеют гораздо большую гибкость при обращении к структурам. Они могут использовать те же структуры ссылок, которые ранее использовались в более старых проектах, или они могут использовать больше изображений в качестве ссылок, и они могут использовать более гибкий порядок порядка кодирования относительно порядка отображения. Им также разрешено использовать B-изображения в качестве ссылок при кодировании других (B или P) изображений. Эта дополнительная гибкость может повысить эффективность сжатия, но может вызвать распространение ошибок, если некоторые данные будут потеряны или повреждены. Одной из популярных структур для использования с новыми дизайнами является использование иерархии B-изображений. Иерархические B-изображения могут обеспечить очень хорошую эффективность сжатия, а также могут ограничить распространение ошибок, поскольку иерархия может гарантировать, что количество изображений, затронутых любой проблемой повреждения данных, строго ограничено.
Как правило, чем больше I-кадров имеет видеопоток, тем он более редактируемый. Однако наличие большего количества I-кадров существенно увеличивает скорость передачи данных, необходимую для кодирования видео.
Структура GOP часто обозначается двумя числами, например, M = 3, N = 12. Первое число указывает расстояние между двумя якорными рамами (I или P). Второй сообщает расстояние между двумя полными изображениями (I-кадрами): это размер GOP. Для примера M = 3, N = 12 структура GOP - IBBPBBPBBPBBI. Вместо параметра M можно использовать максимальное количество B-кадров между двумя последовательными кадрами привязки.
Например, в последовательности с шаблоном IBBBBPBBBBPBBBBI размер GOP (значение N ) равен 15 (длина между двумя I-кадрами), а расстояние между двумя якорными кадрами (Значение M ) равно 5 (длина между кадрами I и P или длина между двумя последовательными кадрами P).