Задержка I-кадра


I-Frame Delay (IFD) — это метод планирования для адаптивной потоковой передачи MPEG - видео. Идея заключается в том, что планировщик потоковой передачи отбрасывает видеокадры, когда буфер передачи заполнен из-за недостаточной пропускной способности, чтобы уменьшить скорость передачи. Характеристики алгоритма.: [1]

Размер буфера IFD должен быть достаточно большим, чтобы вместить определенное количество кадров, но требуется минимум два кадра: один для хранения кадра, отправляемого в данный момент (обозначается ниже как ScheduledFrame), и один, ожидающий отправки в данный момент (обозначается как WaitingFrame). . Увеличение размера буфера IFD потенциально может позволить более сложную расстановку приоритетов, однако это может привести к увеличению задержки и использования памяти. [1] На рисунке ниже показан пример заполнения буфера. Цифры представляют приоритет пакета.

При этом номера приоритета видеокадров равны 10 и выше. Пакеты с номером приоритета 12 относятся к кадру, запланированному для отправки, а пакеты с номером 11 относятся к ожидающему кадру. На рисунке пакет, принадлежащий следующему кадру, вот-вот попадет в буфер.

Как видно, можно чередовать видеопакеты с невидеопакетами (аудио или системными с номерами приоритета 2 и 0 соответственно). Когда пакет, принадлежащий следующему кадру, должен быть записан в буфер IFD, а буфер заполнен, планировщик IFD отбрасывает кадр на основе ранее назначенного приоритета. Когда пропускная способность сети настолько мала, что также необходимо отбрасывать P-кадры, тогда GOP ( группа изображений ) устанавливается как «нарушенная», а остальная часть GOP (которая зависит от P-кадра) также отбрасывается. .

Если отбрасываются только B-кадры, искажения в изображении кадра быть не должно, так как последующие кадры не зависят от них. [1] Пропуск кадров IFD вызывает эффект временной остановки воспроизведения видео, продолжительность которого зависит от количества пропущенных кадров, после чего воспроизведение возобновляется со следующего прошедшего кадра. [1] Для реализации IFD с буфером размером в два кадра алгоритм показан на рисунке ниже.