Пакетированный элементарный поток ( PES ) — это спецификация в MPEG-2 Часть 1 (Системы) (ISO/IEC 13818-1) и ITU-T H.222.0 [1] [2] , которая определяет перенос элементарных потоков (обычно выход аудио- или видеокодера) в пакетах внутри программных потоков MPEG и транспортных потоков MPEG . [3] Элементарный поток пакетируется путем инкапсуляции последовательных байтов данных из элементарного потока в заголовки пакетов PES.
Типичный метод передачи элементарных потоковых данных от видео- или аудиокодера заключается в том, чтобы сначала создать пакеты PES из элементарных потоковых данных, а затем инкапсулировать эти пакеты PES в пакеты транспортного потока (TS) или пакеты программного потока (PS). Затем пакеты TS можно мультиплексировать и передавать с использованием методов вещания, таких как те, которые используются в ATSC и DVB .
Транспортные потоки и программные потоки логически построены из пакетов PES. Пакеты PES должны использоваться для преобразования между транспортными потоками и программными потоками. В некоторых случаях пакеты PES не нужно изменять при выполнении таких преобразований. Пакеты PES могут быть намного больше размера пакета транспортного потока. [3]
Хотя приведенные выше флаги указывают, что значения добавляются в необязательные поля переменной длины, они не просто записываются. Например, PTS (и DTS) расширяется с 33 бит до 5 байт (40 бит). Если присутствует только PTS, это делается путем объединения 0010b, старших 3 бит из PTS, 1, следующих 15 бит, 1, остальных 15 бит и 1. Если присутствуют и PTS, и DTS, делается то же самое, но первые 4 бита перед началом битов PTS равны 0011b (а не 0010b), а первые 4 бита перед началом битов DTS равны 0001b. Другие добавленные байты имеют похожую, но другую кодировку.