Если запись компрессионного потока производится не в условиях реального времени, то можно использовать и другие способы управления скоростью. Например, выполнять компрессию в два прохода. На первом подбираются параметры, обеспечивающие максимальное качество; на втором – производится компрессия с найденными параметрами. Есть и другие способы: возможно выделение заранее кадров с большим количеством детальных быстродвижущихся объектов и поместить их для принудительного кодирования типа I – используется в DVD.
Т.к. стандарт MPEG не регламентирует сам процесс кодирования, а изображения (блоки представления) рассматриваются как результат декодирования блоков доступа, то декодер может приступить к декодированию изображения типа В только после того, как получены предыдущие и последующие блоки. Во избежание установки буферов, кодирование изображений выстраивается в порядке декодирования, т.е. вместо I-B-B-P формируют I-Р-В-В, что и было продемонстрировано на Рис 1.1.
2.3 Профили MPEG-2
Для наибольшей эффективности применения на практике и совместимости оборудования стандарта MPEG-2 от разных производителей, выделено несколько подмножеств синтаксиса и семантики, называемые профилями. Профиль – это подмножество стандарта для специализированного применения, задающее алгоритмы и средства компрессии. Уровни внутри каждого профиля связаны с параметрами компрессии изображения (табл. 1). Профили MPEG-2: Simple – простой; Main – основной; SNR (Signal to Noise Ratio) – с масштабируемым квантованием; Spatial – с масштабируемым пространственным разрешением; High – высокий; 422 – студийный.
Таблица 1. Профили стандарта MPEG-2
Уровень | Simple | Main | SNR | Spatial | High | 422 | |
Профиль | Изображения | I и P | I, P и B | I, P и B | I, P и B | I, P и B | I, P и B |
Формат | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 | 4:2:0 4:2:2 | 4:2:2 | |
High | Отсч. в стр. Стр. в кадре Кадров в сек Vmax, Мбит/с | – | 1920 1152 60 80 | – | – | 1920 1152 60 100 | – |
High – 1440 | Отсч. в стр. Стр. в кадре Кадров в сек Vmax, Мбит/с | – | 1440 1152 60 60 | – | 1440 1152 60 60 | 1440 1152 60 80 | – |
Main | Отсч. в стр. Стр. в кадре Кадров в сек Vmax, Мбит/с | 720 576 30 15 | 720 576 30 15 | 720 576 30 15 | – | 720 576 30 20 | 720 608 30 50 |
Low | Отсч. в стр. Стр. в кадре Кадров в сек Vmax, Мбит/с | – | 352 288 30 4 | 352 288 30 4 | – | – | – |
Например, профиль SNR, как и Spatial, поддерживают все типы изображений, используя обычное кодирование на основе предсказания с компенсацией движения; 422 обеспечивает полное разрешение, соответствующее рекомендации ITU-R 601, монтаж с точностью до кадра, допускает многократную перезапись.
2.4 Особенности стандарта MPEG-2
Стандарт MPEG-2 не определяет защиту от ошибок, но предусматривает такую возможность. Важной особенностью стандарта является масштабируемость, которая определяется как возможность получения изображения из части полного потока данных. Предусмотрены следующие виды масштабируемости [1]:
· масштабируемость по пространственному разрешению заключается в получении от одного источника видеоинформации двух телевизионных сигналов с разными параметрами по разрешающей способности. Базовый слой содержит достаточно информации для воспроизведения обычной четкости, а дополнительный слой содержит данные для воспроизведения изображения в высокой четкости;
· масштабируемость по отношению сигнал/шум дает возможность получить от одного источника информации изображения с двумя уровнями отношения сигнал/шум, фактически с двумя уровнями качества, как это было рассмотрено в 2.2;
· масштабируемость по времени позволяет получать от одного источника видеоинформации с двумя уровнями разрешающей способности по времени – чересстрочной разверткой 25 Гц, или прогрессивной 50 Гц;
· масштабируемость по разделению данных позволяет использовать для передачи два канала связи. По одному из них (более помехозащищенному) передается базовый слой, по другому (соответственно, менее защищенному) менее критичные к ошибкам данные.
Стоит отметить, что в данный момент на практике, к сожалению, масштабируемость практически не используется.
3. Поток видеоданных MPEG-2.
3.1 Общие сведения о потоке данных. Программный поток
Упрощенная структура потока данных на выходе кодера MPEG-2 показана наРис 3.1 Структура потока данных
Регламентированы две возможные формы единого потока – программный и транспортный.
Первый шаг на пути получения единого потока – формирование пакетного элементарного PES-потока. PES-пакеты состоят из заголовка и данных пользователя. Можно установить фиксированную длину всех пакетов, а можно согласовать начало проекта с началом блока доступа.
В начале заголовка идет 32 битный код старта, состоящий из стартового префикса и идентификатора. Спецификация определяет разрешенные значения чисел в поле идентификатора для 32 элементов потока звука и 16 элементов потока видеоданных. Особую значимость имеют биты Р и D флага 2, указывающие на наличие полей с метками времени представления и времени декодирования, обеспечивающие синхронизацию данных в декодере.
Для программного потока характерно все выше сказанное, только с условием, что заголовки блока должны появляться не реже, чем через 0,7 сек. Это связано с тем, что заголовки содержат опорное системное время, а также информацию о характере потока для декодера. Он предназначен для использования в условиях окружения, не вносящего ошибки. Искажения могут означать потерю целого кадра, т.к. длина блоков переменна и ошибка в определении его длины (длины PES-пакета) приведет к потере синхронизации. Преимущество в том, что при отсутствии ошибок, процедура демультиплексирования проста.
3.2 Транспортный поток
Этот поток может объединять пакетные элементарные потоки, переносящие данные нескольких программ с независимыми временными базами. Один транспортный поток может переносить до 8175 элементарных потоков. Он состоит из коротких пакетов фиксированной длины. Процесс объединения подчиняется ряду ограничений:
· первый байт каждого PES-пакета должен быть первым байтом полезной нагрузки;
· каждый транспортный пакет может содержать данные лишь одного PES-пакета;
· если PES-пакет не имеет длину, кратную 184 байтам, то один из транспортных пакетов не заполняется полностью, а оставляет место для адаптации.
Структура транспортного потока оптимизирована для условий передачи данных в каналах связи с шумами: для разрешения проблем, связанных с действием шума, добавляются 16 проверочных байтов кода Рида–Соломона, что позволяет исправить 8 битов. Пакет начинается 4байтного заголовка, который не является уникальным, однако в купе с определенной длиной пакета 188 байт, упрощает определение. Для опознавания пакетов, принадлежащих одному элементарному потоку, используется 13 битный идентификатор. Важный компонент структуры – счетчик непрерывности, который инкрементирует последовательности элементарных пакетов, принадлежащих одному потоку. Это позволяет определить потерю одного из пакетов и маскировать ошибки
Идентификатором принадлежности транспортного пакета к определенному потоку является значение PID, а для распознавания элементарных потоков и объединения их в телевизионную программу служит PSI, который должен передаваться в потоке. Определено четыре вида таблиц с программной информацией:
· таблица соединения программ PAT (сообщает список номеров всех программ);
· таблица плана программ PMT (сведения о программе и её элементарные потоки);
· таблица условного доступа CAT.
Все вместе таблицы образуют иерархический индексный механизм. Принципы мультиплексирования элементарного и транспортного потоков, из которых складывается телевизионная программа, указаны в приложении А. Благодаря небольшой длине пакета транспортный поток может переносить несколько телевизионных программ с разными временными базисами, но за это приходится платить более сложной схемой мультиплексирования.