Транспортный поток MPEG
Расширение имени файла | .ts, .tsv, .tsa, .m2t [1] |
---|---|
Тип интернет-СМИ | видео/MP2T [2] |
Единый идентификатор типа (UTI) | public.mpeg-2-транспортный поток [3] |
Разработано | MPEG |
Первоначальный выпуск | 10 июля 1995 г [4] |
Последний выпуск | ИСО/МЭК 13818-1:2022 сентябрь 2022 г |
Тип формата | Формат контейнера |
Контейнер для | Аудио, видео, данные |
Распространено на | М2ТС , ТОД |
Стандартный | ISO/IEC 13818-1, Рекомендация ITU-T H.222.0 [4] |
Открытый формат ? | Да |
Свободный формат ? | Да [5] |
Транспортный поток MPEG ( MPEG -TS , MTS ) или просто транспортный поток ( TS ) — это стандартный формат цифрового контейнера для передачи и хранения аудио , видео , а также протокола программной и системной информации (PSIP). данных [6] Он используется в таких системах вещания, как DVB , ATSC и IPTV .
Транспортный поток определяет формат контейнера, инкапсулирующий пакетированные элементарные потоки , с коррекцией ошибок и функциями шаблона синхронизации для поддержания целостности передачи при канала связи , по которому передается поток ухудшении качества .
Транспортные потоки отличаются от одноименного программного потока MPEG по нескольким важным параметрам: программные потоки предназначены для достаточно надежных носителей, таких как диски (например, DVD ), тогда как транспортные потоки предназначены для менее надежной передачи, а именно наземного или спутникового вещания . Кроме того, транспортный поток может переносить несколько программ.
Транспортный поток указан в MPEG-2 Part 1, Systems , официально известном как стандарт ISO/IEC 13818-1 или ITU-T Rec. Х.222.0 . [4]
Обзор [ править ]
Транспортный поток инкапсулирует ряд других подпотоков, часто пакетированных элементарных потоков (PES), которые, в свою очередь, оборачивают основной поток данных с использованием кодека MPEG или любого количества кодеков, отличных от MPEG (например, аудио AC3 или DTS , а также MJPEG или JPEG 2000). видео), текст и изображения для субтитров, таблицы, идентифицирующие потоки, и даже информацию, специфичную для вещательной компании, например электронную программу передач . Многие потоки часто смешиваются, например, несколько разных телевизионных каналов или несколько ракурсов фильма.
Каждый поток разбивается на секции (максимум) по 188 байт и чередуется вместе. Благодаря небольшому размеру пакета потоки могут чередоваться с меньшей задержкой и большей устойчивостью к ошибкам по сравнению с программными потоками и другими распространенными контейнерами, такими как AVI , MOV / MP4 и MKV , которые обычно оборачивают каждый кадр в один пакет. Это особенно важно для видеоконференций, где большие кадры могут привести к неприемлемой задержке звука.
Транспортные потоки, как правило, передаются с постоянной скоростью передачи данных (CBR) и заполняются байтами заполнения, когда данных недостаточно. [а]
Элементы [ править ]
Пакет [ править ]
Сетевой пакет — это базовая единица данных в транспортном потоке, а транспортный поток — это просто последовательность пакетов. Каждый пакет начинается с байта синхронизации и заголовка , за которым могут следовать необязательные дополнительные заголовки; остальная часть пакета состоит из полезной нагрузки . Все поля заголовка читаются как big-endian . Пакеты имеют длину 188 байт, но среда связи может добавлять дополнительную информацию. [б] Размер пакета в 188 байт изначально был выбран для совместимости с системами асинхронного режима передачи (ATM) . [8] [9]
Имя | Количество бит | Битовая маска ( с прямым порядком байтов ) | Описание |
---|---|---|---|
4-байтовый заголовок транспортного потока | |||
Байт синхронизации | 8 | 0xff000000 | Битовая комбинация 0x47 (символ ASCII 'G') |
Индикатор транспортных ошибок (TEI) | 1 | 0x800000 | Устанавливается, когда демодулятор не может исправить ошибки данных FEC; указывая, что пакет поврежден. [10] |
Индикатор запуска блока полезной нагрузки (ПУСИ) | 1 | 0x400000 | Устанавливается, когда этот пакет содержит первый байт новой единицы полезной нагрузки. Для пакетных данных PSI первый байт полезной нагрузки будет указывать, где начинается этот новый блок полезной нагрузки. Для данных пакета PES новый пакет PES должен начинаться в начале полезной нагрузки. [11] Это поле позволяет приемнику, который начал чтение в середине передачи, узнать, когда он может начать извлекать данные. |
Транспортный приоритет | 1 | 0x200000 | Устанавливается, когда текущий пакет имеет более высокий приоритет, чем другие пакеты с тем же PID. |
ПИД | 13 | 0x1fff00 | Идентификатор пакета, описывающий данные полезной нагрузки. |
Управление транспортным скремблированием (TSC) | 2 | 0xc0 | '00' = Не зашифровано. Только для DVB-CSA и ATSC DES : [12] |
Управление адаптационным полем | 2 | 0x30 | 01 – нет поля адаптации, только полезная нагрузка, 10 – только поле адаптации, без полезной нагрузки, |
Счетчик непрерывности | 4 | 0xf | Порядковый номер пакетов полезной нагрузки (от 0x00 до 0x0F) в каждом потоке (кроме PID 8191). Увеличивается для каждого PID, только если установлен флаг полезной нагрузки. |
Необязательные поля | |||
Поле адаптации | переменная | Присутствует, если управление полем адаптации равно 10 или 11. Формат см. ниже. | |
полезной нагрузки Данные | переменная | Присутствует, если управление полем адаптации равно 01 или 11. Полезной нагрузкой могут быть пакеты PES, информация, специфичная для программы (ниже), или другие данные. |
Имя | Количество бит | Битовая маска | Описание |
---|---|---|---|
Длина поля адаптации | 8 | Количество байтов в поле адаптации, следующих сразу за этим байтом. | |
Индикатор разрыва | 1 | 0x80 | Устанавливается, если текущий пакет TS находится в состоянии разрыва по отношению либо к счетчику непрерывности, либо к эталонному тактовому сигналу программы. |
Индикатор произвольного доступа | 1 | 0x40 | Установите, когда с этого момента поток может быть декодирован без ошибок. |
элементарного потока Индикатор приоритета | 1 | 0x20 | Установите, когда этот поток следует считать «высокоприоритетным». |
Флаг ПЦР | 1 | 0x10 | Устанавливается при наличии поля PCR |
Флаг OPCR | 1 | 0x08 | Устанавливается, когда присутствует поле OPCR |
Флаг точки сращивания | 1 | 0x04 | Устанавливается, когда присутствует поле обратного отсчета сварки |
Флаг передачи личных данных | 1 | 0x02 | Устанавливается при наличии личных данных транспорта. |
Флаг расширения поля адаптации | 1 | 0x01 | Устанавливается при наличии данных расширения адаптации |
Необязательные поля | |||
ПЦР | 48 | Опорное значение тактовой частоты программы, хранится в виде 33-битной базы, 6 бит зарезервировано, 9 бит расширения. Значение рассчитывается как база * 300 + расширение. | |
ОПКР | 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 бита данных. |
Имя | Количество бит | Битовая маска | Описание |
---|---|---|---|
Указатель полезной нагрузки (необязательно) | 8 | 0xff | Присутствует, только если установлен флаг индикатора начала блока полезной нагрузки (PUSI) и тип пакетных данных — PSI (не PES). Он дает индекс после этого байта, с которого начинается новый блок полезной нагрузки. Любой байт полезной нагрузки перед индексом является частью предыдущей единицы полезной нагрузки. |
Фактическая полезная нагрузка | переменная | Содержимое полезной нагрузки. |
Идентификатор пакета (PID) [ править ]
Каждая таблица или элементарный поток в транспортном потоке идентифицируется 13-битным идентификатором пакета (PID). Демультиплексор извлекает элементарные потоки из транспортного потока , частично путем поиска пакетов, идентифицируемых одним и тем же PID. В большинстве приложений мультиплексирование с временным разделением будет использоваться для определения того, как часто конкретный PID появляется в транспортном потоке.
Десятичный | Шестнадцатеричный | Описание |
---|---|---|
0 | 0x0000 | Таблица ассоциаций программ (PAT) содержит список каталогов всех таблиц сопоставления программ. |
1 | 0x0001 | Таблица условного доступа (CAT) содержит список каталогов всех Рек. МСЭ-Т. Потоки сообщений управления правами H.222, используемые таблицами карты программ |
2 | 0x0002 | Таблица описания транспортного потока (TSDT) содержит дескрипторы, относящиеся к общему транспортному потоку. |
3 | 0x0003 | Таблица управляющей информации IPMP содержит список каталогов всех потоков управления ISO/IEC 14496-13, используемых таблицами карты программ. |
4–15 | 0x0004-0x000F | Зарезервировано для будущего использования |
16–31 | 0x0010-0x001F | Используется DVB метаданными [14]
|
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_lock в декодере. Декодер системного времени (STC), при правильной реализации, обеспечивает высокоточную временную базу, которая используется для синхронизации элементарных аудио- и видеопотоков. Синхронизация в MPEG-2 относится к этим часам. Например, отметка времени представления (PTS) должна относиться к PCR. Первые 33 бита основаны на тактовой частоте 90 кГц. Последние 9 бит основаны на тактовой частоте 27 МГц. Максимальный джиттер, разрешенный для PCR, составляет +/- 500 нс .
Нулевые пакеты [ править ]
Некоторые схемы передачи, такие как ATSC и DVB , налагают строгие требования к постоянной скорости передачи данных для транспортного потока. Чтобы гарантировать, что поток поддерживает постоянный битрейт, мультиплексору может потребоваться вставить некоторые дополнительные пакеты. Для этой цели зарезервирован PID 0x1FFF. Нулевые пакеты имеют полезную нагрузку, заполненную 0xFF, и ожидается, что получатель проигнорирует ее содержимое. [15]
видеокамерах цифровых Использование в
Transport Stream изначально был разработан для вещания. Позже он был адаптирован для использования с цифровыми видеокамерами, записывающими устройствами и проигрывателями путем добавления 4-байтового поля тайм-кода (TC) к стандартным 188-байтовым пакетам, в результате чего получился 192-байтовый пакет. [16] [17] Это то, что неофициально называется потоком M2TS , обычно встречающимся в HDV камерах . Ассоциация Blu-ray Disc называет это « транспортным потоком BDAV MPEG-2 ». [16] JVC назвал это TOD [с] при использовании в видеокамерах с жестким диском, таких как GZ-HD7 . [18] [19] Тайм-код обеспечивает быстрый доступ к любой части потока либо из медиаплеера, либо из системы нелинейного видеомонтажа. [20] Он также используется для синхронизации видеопотоков с нескольких камер в конфигурации с несколькими камерами .
Использование в Blu-ray [ править ]
Видеозаголовки дисков Blu-ray, созданные с поддержкой меню, имеют формат Blu-ray Disc Movie (BDMV) и содержат аудио, видео и другие потоки в контейнере BDAV, основанном на формате транспортного потока MPEG-2. [21] [22] Видео Blu-ray Disc использует эти модифицированные транспортные потоки MPEG-2 по сравнению с программными потоками DVD, которые не имеют дополнительных транспортных издержек.
Существует также формат BDAV (Blu-ray Disc Audio/Visual), ориентированная на потребителя альтернатива формату BDMV, используемому для выпуска фильмов. Формат BDAV используется на записываемых дисках Blu-ray для записи аудио/видео. [22] [д] Диск Blu-ray использует метод записи транспортного потока MPEG-2. Это позволяет записывать транспортные потоки цифрового вещания, преобразованного в BDAV, в том виде, в котором они есть, с минимальным изменением пакетов. [17] Это также обеспечивает простое редактирование преобразованной цифровой трансляции BDAV в стиле обрезки потока, которая записывается как есть, и где данные можно редактировать, просто удаляя ненужные пакеты из потока. Хотя это вполне естественно, встроена функция для быстрого и удобного поиска. [17] [24]
См. также [ править ]
- Медиатранспорт MPEG (MMT)
- Транспортный протокол реального времени (RTP)
- Однонаправленная облегченная инкапсуляция (ULE)
Примечания [ править ]
- ^ Формат Blu-ray не требует CBR.
- ^ Прямое исправление ошибок добавлено ISDB и DVB (16 байт) и ATSC (20 байт), [7] в то время как формат M2TS добавляет к пакетам 4-байтовый тег авторского права и отметки времени.
- ^ Возможно, аббревиатура от «Транспортный поток на диске».
- ^ Расширение имени файла .m2ts используется в видеофайлах дисков Blu-ray, которые содержат несовместимый транспортный поток BDAV MPEG-2 из-за четырех дополнительных октетов, добавляемых к каждому пакету. [16] [23]
Ссылки [ править ]
- ^ «TVNT.net — Форум DTT • [Одна тема] Akira DHB-B31HDR — Тюнер-рекордер Dual HD DTT — MKV — DIVX — DTS: адаптеры для бесплатного приема DTT в SD или HD» . www.tvnt.net .
- ^ Регистрация типов MIME для форматов полезной нагрузки RTP . Июль 2003 г. doi : 10.17487/RFC3555 . РФК 3555 .
- ^ «mpeg2TransportStream» . Документация разработчика Apple . Apple Inc.
- ↑ Перейти обратно: Перейти обратно: а б с МСЭ-Т (октябрь 2014 г.). «Рекомендация H.222.0 (10/14)» .
- ^ Семейство кодировок MPEG-2 (полный проект). Устойчивость цифровых форматов. Вашингтон, округ Колумбия: Библиотека Конгресса. 14 февраля 2012 года . Проверено 13 декабря 2021 г.
Лицензии относятся к инструментам, а не к потокам или файлам как таковым.
- ^ «Транспортный поток MPEG-2» . AfterDawn.com . Проверено 8 июня 2010 г.
- ^ «Передача ATSC» . Broadcastengineering.com . 20 июня 2005 г. Проверено 17 мая 2012 г.
- ^ «Часто задаваемые вопросы по системам MPEG» . Mpeg.chiariglione.org . Проверено 17 мая 2012 г.
- ^ «Монитор транспортного потока ATSC MPEG» . Тек.ком . Проверено 17 мая 2012 г.
- ^ «TSReader» . Coolstf.com . 7 апреля 2008 г. Архивировано из оригинала 27 марта 2010 г. Проверено 17 мая 2012 г.
- ^ «Информационные технологии. Общее кодирование движущихся изображений и связанной с ними звуковой информации: системы» . Февраль 2000 года.
- ^ «Стандарты – 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) . RU. Том. 300 468 (изд. v1.13.1). 2012. с. 20 . Проверено 13 октября 2016 г.
{{cite book}}
:|website=
игнорируется ( помогите ) - ^ Руководство по основам MPEG и анализу протоколов (PDF) , Tektronix, стр. 37 , получено 23 апреля 2020 г.
- ↑ Перейти обратно: Перейти обратно: а б с BD ROM – Спецификации формата аудиовизуальных приложений (PDF) , Blu-ray Disc Association, март 2005 г., стр. 15–16, заархивировано из оригинала (PDF) 3 ноября 2020 г. , получено 26 июля 2009 г.
- ↑ Перейти обратно: Перейти обратно: а б с BD-RE - Спецификация формата аудиовизуальных приложений для BD-RE 2.1 (PDF) , Ассоциация дисков Blu-ray, март 2008 г., заархивировано из оригинала (PDF) 6 февраля 2009 г.
- ^ «Стив Маллен, учебник по M2TS» . Двинфо.нет .
- ^ «Работа с файлами JVC Everio MOD и TOD» . Архивировано из оригинала 23 октября 2008 года.
- ^ «Как работает MPEG-TS» . Forum.videohelp.com . Проверено 17 мая 2012 г. [ самостоятельно опубликованный источник? ]
- ^ Глоссарий Afterdawn.com - BD-MV (Blu-ray Movie) и контейнер BDAV. Архивировано 18 февраля 2009 г. на Wayback Machine , проверено 26 июля 2009 г.
- ↑ Перейти обратно: Перейти обратно: а б Глоссарий Afterdawn.com — контейнер BDAV , дата обращения 26 июля 2009 г.
- ^ Videohelp.com Что такое диски Blu-ray и HD DVD? Архивировано 24 декабря 2009 г. в Wayback Machine , проверено 26 июля 2009 г.
- ^ Ассоциация дисков Blu-ray (август 2004 г.), Формат диска Blu-ray, Технический документ (PDF), стр. 22, дата обращения 28 июля 2009 г.
Внешние ссылки [ править ]
- МСЭ-Т H.222.0 | Документы по системным спецификациям ISO/IEC 13818-1
- Последняя бесплатная копия спецификации, август 2018 г.
- Часто задаваемые вопросы по системам MPEG-4
- TSDuck — бесплатный инструмент с открытым исходным кодом для управления транспортными потоками MPEG.