На рисунке 3.18 показана обобщенная модель устройства с коммутацией двух транспортных потоков данных стандарта MPEG-2. В приведенном примере коммутатор формирует поток выходных данных путем перехода в заранее определенной точке от входного потока А (который может соответствовать отдельной программе или входу отдельной камеры) к входному потоку В (который может соответствовать другой программе, средствам записи или входу другой камеры).
Интервал наложения представляет собой переменный интервал времени, в течение которого звуковые пакеты входного потока А могут оставаться активными, а звуковые пакеты входного потока В еще не стали годными для декодирования.
Коммутация аналоговых сигналов и несжатых цифровых видеопотоков основана на использовании сигнала кадрового гасящего интервала, не содержащего информации об изображении. Точки редактирования существуют в заранее известных периодических интервалах времени, обратных по величине частоте полей или кадров. Однако, такие детерминированные интервалы времени, естественно, отсутствуют в сжатом потоке данных, поскольку число битов, требуемое для представления каждого кадра последовательности изображений, меняется в соответствии с содержимым кадра.
|
|
Рисунок 3.18 – обобщенная модель коммутатора
Тот факт, что потоки данных, содержащие пакеты видео-, звуковых и информационных данных, вставлены все в один и тот же поток, является еще одним отличием в наборе ограничений по коммутации. Звук и изображение нельзя коммутировать в точности в один и тот же момент времени. Это отражает интервал наложения, показанный на рисунке 3.18.
Так же, как и в традиционной видеоаппаратуре, необходимо синхронизировать точки склеивания двух или более потоков цифровых пакетов. Кроме того, точки склеивания звука во входных потоках должны запаздывать относительно точек склеивания изображений. Звуковые пакеты PES должны появляться в потоке пакетов позже, чем пакеты PES изображения с соответствующими метками времени отображения (Presentation Time-Stamp, PTS).
Как и в традиционной видеоаппаратуре, процесс коммутации начинается с команды на переключение, указывающей момент времени выполнения коммутации. Эта команда может назначаться заранее и вводиться вручную. Переключение выполняется в том случае, если соответствующие точки склеивания изображений в обоих потоках совпадают с точкой коммутации. Как показано на рисунке 3.18, вначале выполняется склеивание изображения, а после него — склеивание звука. Таким образом, существует короткий интервал времени (интервал наложения), в котором выходной поток содержит видеоданные нового источника и звуковые данные старого источника.
|
|
При коммутации двух сигналов изображения без сжатия точка редактирования по отношению к существующему на входе А сигналу изображения называется точкой вывода. Соответствующая точка редактирования относительно замещающего сигнала изображения на входе В называется точкой ввода. Эти термины являются эквивалентными с точки зрения коммутации или склеивания потоков цифровых пакетированных данных.
Одним из последних дополнений синтаксиса MPEG-2 является поле splice_countdown. Это однобантовое поле указывает число цифровых пакетов в битовом потоке с тем же PID. что и у данного пакета, от этого пакета до пакета с точкой переключения. Пакет с точкой переключения определяется как пакет, содержащий точку в элементарном битовом потоке, в которой можно удалить данные и заменить их другим потоком битов. Пакет с точкой переключения указывает место в транспортном потоке, которое может быть подходящим для коммутации потоков. Это не означает, что переключение должно обязательно произойти.
Точка переключения должна использоваться при других конкретных ограничениях. Хорошие результаты могут быть, если ограничить моменты времени переключения граничными участками последовательности изображений так, чтобы данные sequence_end_code совпадали с точкой склеивания. Полезно также формировать видеоинформацию в окрестностях точки переключения с использованием приблизительного предсказания, I-кадры обеспечивают правильное положение точки склеивания, так как они зависят от информации в других кадрах.
Таким образом, точка вывода как точка безразрывного склеивания потоков MPEG является окончанием пакета транспортного потока, в котором:
- имеется флаг splice_point_flag;
- поле splicecountdownflag со значением 0.
Важность получения видеоинформации в окрестностях точки переключения с помощью приблизительного предсказания станет очевидной, если посмотреть, что происходит, когда первым кадром после точки переключения является В-кадр. В-кадр предсказывается на основе кадров до и после момента точки переключения и на основе изменении между соответствующими кадрами. При коммутации в точке переключения один из этих кадров изменяется и на восстановленном изображении будут появляться искажения.
В поле адаптации транспортного заголовка содержатся следующие важные элементы синтаксиса, используемые при переключении:
- discontinuity_indicator;
- splicing_point_flag;
- splice_countdown;
- Seamless_splice+flag;
- DTS_next;
- AU.