Транспортный поток MPEG - MPEG transport stream
Расширение имени файла | .ts, .tsv, .tsa |
---|---|
Тип интернет-СМИ | видео / MP2T[1] |
Разработан | MPEG |
изначальный выпуск | 1995[2] |
Тип формата | Медиа-контейнер |
Контейнер для | Аудио, видео, данные |
Расширен до | M2TS, TOD |
Стандарт | ISO / IEC 13818-1, Рекомендация ITU-T H.222.0[2] |
Транспортный поток MPEG (MPEG-TS, МТС) или просто транспортный поток (TS) является стандартным формат цифрового контейнера для передачи и хранения аудио, видео, и Программный и системный информационный протокол (PSIP) данные.[3] Он используется в системах вещания, таких как DVB, ATSC и IPTV.
Транспортный поток определяет формат контейнера, инкапсулирующий пакетированные элементарные потоки, с исправление ошибки и шаблон синхронизации функции для поддержания целостности передачи, когда канал связи несущий поток деградированный.
Транспортные потоки отличаются от одноименных Программный поток MPEG несколькими важными способами: программные потоки предназначены для достаточно надежных носителей, таких как диски (например, DVD ), а транспортные потоки рассчитаны на меньшую надежный трансмиссия, а именно земной или же спутниковое вещание. Кроме того, транспортный поток может нести несколько программ.
Транспортный поток указан в MPEG-2 Часть 1, Системы, формально известный как ISO / IEC стандарт 13818-1 или же Рек. МСЭ-Т. H.222.0.[2]
Обзор
Транспортный поток инкапсулирует ряд других подпотоков, часто пакетированные элементарные потоки (PES), которые, в свою очередь, оборачивают основной поток данных с использованием кодека MPEG или любого количества кодеков, отличных от MPEG (например, AC3 или же DTS аудио и MJPEG или же JPEG 2000 видео), текст и изображения для субтитров, таблицы, идентифицирующие потоки, и даже информацию, относящуюся к вещательной компании, такую как электронный программный гид. Многие потоки часто смешиваются вместе, например, несколько разных телевизионных каналов или несколько углы фильма.
Каждый поток разбивается на (самое большее) 188-байтовые секции и чередуется вместе; из-за небольшого размера пакета потоки могут чередоваться с меньшей задержкой и большей устойчивостью к ошибкам по сравнению с программные потоки и другие распространенные контейнеры, такие как AVI, MOV /MP4, и MKV, которые обычно объединяют каждый кадр в один пакет. Это особенно важно для видеоконференцсвязи, где большие кадры могут вызвать недопустимую задержку звука.
Транспортные потоки обычно транслируются как постоянный битрейт (CBR) и заполняется байтами заполнения, когда данных недостаточно.[а]
Элементы
Пакет
А сетевой пакет является основной единицей данных в транспортном потоке, а транспортный поток - это просто последовательность пакетов. Каждый пакет начинается с байт синхронизации и заголовок, за которым могут следовать необязательные дополнительные заголовки; остальная часть пакета состоит из полезная нагрузка. Все поля заголовка читаются как прямой порядок байтов. Пакеты имеют длину 188 байт, но среда связи может добавлять дополнительную информацию.[b] Размер пакета 188 байт изначально был выбран для совместимости с Системы с асинхронным режимом передачи (ATM).[5][6]
Имя | Количество бит | Битовая маска (прямой порядок байтов ) | Описание |
---|---|---|---|
4-байтовый заголовок транспортного потока | |||
Байт синхронизации | 8 | 0xff000000 | Битовый шаблон 0x47 (символ ASCII 'G') |
Индикатор транспортной ошибки (TEI) | 1 | 0x800000 | Установить, когда демодулятор не может исправить ошибки из данных FEC; означает, что пакет поврежден.[7] |
Индикатор запуска блока полезной нагрузки (PUSI) | 1 | 0x400000 | Установить, когда PES, PSI, или же DVB-MIP пакет начинается сразу после заголовка. |
Транспортный приоритет | 1 | 0x200000 | Устанавливается, когда текущий пакет имеет более высокий приоритет, чем другие пакеты с тем же PID. |
PID | 13 | 0x1fff00 | Идентификатор пакета, описывающий данные полезной нагрузки. |
Управление скремблированием транспорта (TSC) | 2 | 0xc0 | '00' = не зашифровано. За DVB-CSA и ATSC DES Только:[8] |
Контроль поля адаптации | 2 | 0x30 | 01 - нет поля адаптации, только полезная нагрузка, 10 - только поле адаптации, без полезной нагрузки, |
Счетчик непрерывности | 4 | 0xf | Порядковый номер пакетов полезной нагрузки (От 0x00 до 0x0F) внутри каждого потока (кроме PID 8191) Увеличивается для каждого PID, только если установлен флаг полезной нагрузки. |
Необязательные поля | |||
Поле адаптации | Переменная | Присутствует, если контроль поля адаптации равно 10 или 11. Формат см. ниже. | |
Полезная нагрузка данные | Переменная | Присутствует, если контроль поля адаптации равно 01 или 11. Полезной нагрузкой могут быть пакеты PES, информация о программе (ниже) или другие данные. |
Имя | Количество бит | Битовая маска | Описание |
---|---|---|---|
Длина поля адаптации | 8 | Количество байтов в поле адаптации сразу после этого байта | |
Индикатор прерывания | 1 | 0x80 | Устанавливается, если текущий пакет TS находится в состоянии прерывания по отношению к счетчику непрерывности или эталонному тактовому сигналу программы. |
Индикатор произвольного доступа | 1 | 0x40 | Установите, когда поток может быть декодирован без ошибок с этого момента |
Элементарный поток индикатор приоритета | 1 | 0x20 | Установите, когда этот поток следует считать "высокоприоритетным" |
Флаг PCR | 1 | 0x10 | Устанавливается при наличии поля PCR |
Флаг OPCR | 1 | 0x08 | Устанавливается, когда присутствует поле OPCR |
Флаг точки сращивания | 1 | 0x04 | Установить, когда присутствует поле обратного отсчета сварки |
Флаг передачи приватных данных | 1 | 0x02 | Устанавливается при наличии приватных данных транспорта |
Флаг расширения поля адаптации | 1 | 0x01 | Устанавливается при наличии данных расширения адаптации |
Необязательные поля | |||
ПЦР | 48 | Опорная частота программы, хранящаяся как 33-битная база, 6 бит зарезервированы, 9-битное расширение Стоимость рассчитывается как основание * 300 + расширение. | |
OPCR | 48 | Исходные часы программы. Помогает при копировании одного TS в другой | |
Обратный отсчет времени сварки | 8 | Указывает, сколько пакетов TS из этого происходит в точке соединения (Два дополнения подписано; может быть отрицательным) | |
Транспортная длина частных данных | 8 | Длина следующего поля | |
Перенос личных данных | Переменная | Личные данные | |
Расширение адаптации | Переменная | Смотри ниже | |
Набивка байтов | Переменная | Всегда 0xFF |
Имя | Количество бит | Битовая маска | Описание |
---|---|---|---|
Длина удлинителя адаптации | 8 | 0xff00 | Длина заголовка |
Флаг временного окна (LTW) | 1 | 0x0080 | |
Флаг кусочной ставки | 1 | 0x0040 | |
Флаг бесшовной сварки | 1 | 0x0020 | |
Зарезервированный | 5 | 0x001f | |
Необязательные поля | |||
Установлен флаг LTW (2 байта) | |||
LTW действительный флаг | 1 | 0x8000 | |
LTW смещение | 15 | 0x7fff | Дополнительная информация для ретрансляторов для определения состояния буферов, когда пакеты могут отсутствовать. |
Кусочный флаг установлен (3 байта) | |||
Зарезервированный | 2 | 0xc00000 | |
Кусочная ставка | 22 | 0x3fffff | Скорость потока, измеряемая в 188-байтовых пакетах, для определения времени окончания LTW. |
Набор флагов бесшовные сращивания (5 байтов) | |||
Тип соединения | 4 | 0xf000000000 | Указывает параметры сращивания H.262. |
Следующий блок доступа DTS | 36 | 0x0efffefffe | PES DTS точки стыка. Разделить на несколько полей, 1 бит маркера (0x1), 15 бит, 1 бит маркера, 15 бит и 1 бит маркера, всего 33 бита данных. |
Идентификатор пакета (PID)
Каждая таблица или элементарный поток в транспортном потоке идентифицируется 13-битным идентификатором пакета (PID). А демультиплексор извлекает элементарные потоки из транспортного потока частично путем поиска пакетов, идентифицированных одним и тем же PID. В большинстве приложений мультиплексирование с временным разделением будет использоваться для определения того, как часто конкретный PID появляется в транспортном потоке.
Десятичный | Шестнадцатеричный | Описание |
---|---|---|
0 | 0x0000 | Таблица ассоциации программ (PAT) содержит список каталогов всех таблиц карты программ. |
1 | 0x0001 | Условный доступ table (CAT) содержит список каталогов всех Рек. Потоки сообщений управления полномочиями H.222, используемые таблицами сопоставления программ |
2 | 0x0002 | Таблица описания транспортного потока (TSDT) содержит дескрипторы, относящиеся к общему транспортному потоку. |
3 | 0x0003 | Таблица управляющей информации IPMP содержит список каталогов всех управляющих потоков ISO / IEC 14496-13, используемых таблицами карты программ. |
4–15 | 0x0004-0x000F | Зарезервировано для использования в будущем |
16–31 | 0x0010-0x001F | Использован DVB метаданные[10]
|
32-8186 | 0x0020-0x1FFA | Может быть при необходимости назначен для программирования таблиц карты, элементарных потоков и других таблиц данных |
8187 | 0x1FFB | Использован DigiCipher 2 /ATSC MGT метаданные |
8188–8190 | 0x1FFC-0x1FFE | Может быть при необходимости назначен для программирования таблиц карты, элементарных потоков и других таблиц данных |
8191 | 0x1FFF | Нулевой пакет (используется для заполнения фиксированной полосы пропускания) |
Программы
Транспортный поток имеет концепцию программы. Каждая программа описывается таблицей программной карты (PMT). У элементарных потоков, связанных с этой программой, есть PID, перечисленные в PMT. Другой PID связан с самим PMT. Например, транспортный поток, используемый в цифровом телевидении, может содержать три программы для представления трех телевизионных каналов. Предположим, каждый канал состоит из одного видеопотока, одного или двух аудиопотоков и любых необходимых метаданных. А приемник желающий декодировать один из трех каналов просто должен декодировать полезные данные каждого PID, связанного с его программой. Он может отбросить содержимое всех остальных PID. Транспортный поток с более чем одной программой называется многопрограммным транспортным потоком (MPTS). Однопрограммный транспортный поток называется однопрограммным транспортным потоком (SPTS).
Информация о программе
Имеется 4 таблицы информации о программе (PSI): ассоциация программ (PAT), карта программ (PMT), условный доступ (CAT) и информация о сети (NIT). Спецификация MPEG-2 не определяет формат CAT и NIT.
ПЦР
Чтобы декодер мог представлять синхронизированный контент, такой как аудиодорожки, соответствующие соответствующему видео, по крайней мере один раз каждые 100 мс, эталонное время программы (PCR) передается в поле адаптации пакета транспортного потока MPEG-2. PID с PCR для программы MPEG-2 идентифицируется pcr_pid значение в связанном PMT. Значение PCR при правильном использовании используется для генерации system_timing_clock в декодере. Декодер системных часов (STC) при правильной реализации обеспечивает высокоточную временную базу, которая используется для синхронизации элементарных потоков аудио и видео. Время в MPEG-2 ссылается на эти часы. Например, отметка времени презентации (PTS) относится к ПЦР. Первые 33 бита основаны на частоте 90 кГц. Последние 9 бит основаны на тактовой частоте 27 МГц. Максимальный допустимый джиттер для PCR составляет +/- 500 нс.
Нулевые пакеты
Некоторые схемы передачи, например, в ATSC и DVB, предъявляют строгие требования к постоянному битрейту транспортного потока. Чтобы гарантировать, что поток поддерживает постоянный битрейт, мультиплексору может потребоваться вставить некоторые дополнительные пакеты. PID 0x1FFF зарезервирован для этой цели. Полезная нагрузка нулевых пакетов - это все нули, и ожидается, что получатель проигнорирует их содержимое.[11]
Использование в цифровых видеокамерах
Транспортный поток изначально был разработан для вещания. Позже он был адаптирован для использования с цифровыми видеокамерами, записывающими устройствами и плеерами путем добавления 4-байтового поля временного кода (TC) к стандартным 188-байтовым пакетам, в результате чего получился 192-байтовый пакет.[12][13] Это то, что неофициально называется M2TS транслировать. В Ассоциация дисков Blu-ray называет это "Транспортный поток BDAV MPEG-2 ".[12] JVC назвала это TOD[c] при использовании в видеокамерах с жестким диском, например GZ-HD7.[14][15] Тайм-код обеспечивает быстрый доступ к любой части потока либо из медиаплеера, либо из системы нелинейного редактирования видео.[16] Он также используется для синхронизации видеопотоков с нескольких камер в одном установка нескольких камер.
Использование в Blu-ray
Заголовки видео на Blu-ray Disc, созданные с поддержкой меню, находятся в Фильм на диске Blu-ray (BDMV) и содержат аудио, видео и другие потоки в контейнере BDAV, который основан на формате транспортного потока MPEG-2.[17][18] Видео на Blu-ray Disc использует эти модифицированные транспортные потоки MPEG-2 по сравнению с программными потоками DVD, которые не имеют дополнительных транспортных накладных расходов.
Существует также формат BDAV (Blu-ray Disc Audio / Visual), ориентированная на потребителя альтернатива формату BDMV, используемому для выпусков фильмов. Формат BDAV используется на Записываемый диск Blu-ray для аудио / видео записи.[18][d] Диск Blu-ray использует метод записи транспортного потока MPEG-2. Это позволяет записывать транспортные потоки цифрового вещания, преобразованного в BDAV, как есть с минимальным изменением пакетов.[13] Он также обеспечивает простое редактирование в стиле обрезки потока цифрового вещания, преобразованного в BDAV, которое записано как есть и где данные можно редактировать, просто отбрасывая из потока нежелательные пакеты. Хотя это вполне естественно, но встроена функция для быстрого и удобного поиска.[13][20]
Смотрите также
- MPEG медиа транспорт (ММТ)
- Транспортный протокол в реальном времени (RTP)
- Однонаправленная легкая инкапсуляция (ULE)
Примечания
- ^ В Блю рей формат не требует CBR.
- ^ Прямое исправление ошибок добавлен ISDB & DVB (16 байт) и ATSC (20 байт),[4] в то время как M2TS format добавляет к пакетам 4-байтовый тег авторских прав и метку времени.
- ^ Возможно сокращение от «Транспортный поток на диске».
- ^ Расширение имени файла .m2ts используется в видеофайлах на дисках Blu-ray, которые содержат несовместимый транспортный поток BDAV MPEG-2 из-за добавления четырех дополнительных октетов к каждому пакету.[12][19]
Рекомендации
- ^ Регистрация типа MIME для форматов полезной нагрузки RTP. Июль 2003 г. Дои:10.17487 / RFC3555. RFC 3555.
- ^ а б c ITU-T (октябрь 2014 г.). «Рекомендация H.222.0 (10/14)».
- ^ «Транспортный поток MPEG-2». AfterDawn.com. Получено 8 июн 2010.
- ^ «Передача ATSC». Broadcastengineering.com. 20 июня 2005 г.. Получено 17 мая 2012.
- ^ «Часто задаваемые вопросы о системах MPEG». Mpeg.chiariglione.org. Получено 17 мая 2012.
- ^ «Монитор транспортного потока ATSC MPEG». Tek.com. Получено 17 мая 2012.
- ^ "TSReader". Coolstf.com. 7 апреля 2008 г. Архивировано с оригинал 27 марта 2010 г.. Получено 17 мая 2012.
- ^ «Стандарты - DVB» (PDF). Dvb.org. Архивировано из оригинал (PDF) 13 марта 2011 г.. Получено 11 сентября 2012.
- ^ Фэрхерст, Горри. «Передача MPEG-2». Архивировано из оригинал 13 августа 2017 г.. Получено 30 ноября 2018.
- ^ «5.1.3 Кодирование полей PID и table_id». Цифровое видеовещание (DVB); Спецификация служебной информации (SI) в системах DVB (PDF). Etsi.org. EN. 300 468 (ред. V1.13.1). 2012. с. 20. Получено 13 октября 2016.
- ^ Руководство по основам MPEG и анализу протоколов (PDF), Tektronix, стр. 37, получено 23 апреля 2020
- ^ а б c BD ROM - спецификации формата аудиовизуального приложения (PDF), Ассоциация дисков Blu-ray, март 2005 г., стр. 15–16, получено 26 июля 2009
- ^ а б c BD-RE - Спецификация формата аудиовизуального приложения для BD-RE 2.1 (PDF), Ассоциация дисков Blu-ray, март 2008 г., архивировано с оригинал (PDF) 30 июля 2009 г.
- ^ "Стив Маллен, праймер M2TS". Dvinfo.net.
- ^ «Работа с файлами JVC Everio MOD и TOD». Архивировано из оригинал 23 октября 2008 г.
- ^ «Как работает MPEG-TS». Forum.videohelp.com. Получено 17 мая 2012.[самостоятельно опубликованный источник? ]
- ^ Afterdawn.com Глоссарий - BD-MV (Blu-ray Movie) и контейнер BDAV В архиве 29 июля 2009 г. WebCite, Проверено 26 июля 2009 г.
- ^ а б Afterdawn.com Глоссарий - контейнер BDAV, Проверено 26 июля 2009 г.
- ^ Videohelp.com Что такое Blu-ray Disc и HD DVD? В архиве 29 июля 2009 г. WebCite, Проверено 26 июля 2009 г.
- ^ Ассоциация дисков Blu-ray (август 2004 г.) Формат диска Blu-ray, Белая книга (PDF) Стр. 22, проверено 28 июля 2009 г.
внешняя ссылка
- ITU-T H.222.0 | Системные спецификации ISO / IEC 13818-1
- Последняя бесплатная копия спецификации, октябрь 2014 г.
- Часто задаваемые вопросы о системах MPEG-4
- TSDuck - Бесплатный инструмент с открытым исходным кодом для управления транспортными потоками MPEG.