Сборка GOP / Порядок отображения

При работе со сжатием MPEG следующая группа изображений ((GOP (I-, P- и B-кадры)) кодируется и передается в следующем порядке:

I P B B P P B B P B B P P

Однако порядок отображения таков:

I P P B B P P B B P B B P

Может ли кто-нибудь любезно объяснить, как определяется этот конкретный порядок (я знаю, что он не случайный, но я не уверен, какая директива / логика используется при переупорядочении кадров)?

Большое спасибо.

1 ответ

Решение

Ваши последовательности кадров не совсем правильны:

Отобразить заказ: I(1) B(2) B(3) P(4) B(5) B(6) P(7)

Передать заказ: I(1) P(4) B(2) B(3) P(7) B(5) B(6)

Краткий ответ, почему это так: Из-за двунаправленной природы предсказания B-кадра декодер должен сначала обработать предыдущий и следующий опорные кадры. Например, чтобы декодировать B(2), декодер должен сначала иметь I(1) и P(4).

Самый простой способ (для большинства последовательностей) переупорядочить кадры от передачи к отображению - это посмотреть на temporal_reference в заголовке изображения, который дает вам местоположение кадра в порядке отображения.

Надеюсь это поможет!

Другие вопросы по тегам