Сборка 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 в заголовке изображения, который дает вам местоположение кадра в порядке отображения.
Надеюсь это поможет!