Транспортный поток MPEG ( MPEG -TS , MTS ) или просто транспортный поток ( TS ) — стандартный цифровой контейнерный формат для передачи и хранения аудио , видео и данных протокола программной и системной информации (PSIP). [6] Он используется в системах вещания, таких как DVB , ATSC и IPTV .
Транспортный поток определяет формат контейнера, инкапсулирующий пакетированные элементарные потоки , с функциями коррекции ошибок и синхронизации для поддержания целостности передачи в случае ухудшения качества канала связи, передающего поток .
Транспортные потоки отличаются от одноименного программного потока MPEG несколькими важными способами: программные потоки предназначены для достаточно надежных носителей, таких как диски (например, DVD ), в то время как транспортные потоки предназначены для менее надежной передачи, а именно наземного или спутникового вещания . Кроме того, транспортный поток может переносить несколько программ.
Транспортный поток определен в MPEG-2 Часть 1, Системы , официально известном как стандарт ISO/IEC 13818-1 или ITU-T Rec. H.222.0 . [4]
Транспортный поток инкапсулирует ряд других подпотоков, часто пакетированных элементарных потоков (PES), которые в свою очередь оборачивали основной поток данных с использованием кодека MPEG или любого количества не-MPEG кодеков (таких как аудио AC3 или DTS и видео MJPEG или JPEG 2000 ), текст и изображения для субтитров, таблицы, идентифицирующие потоки, и даже информацию, специфичную для вещателя, такую как электронная программа передач . Многие потоки часто смешиваются вместе, например, несколько разных телевизионных каналов или несколько ракурсов фильма.
Каждый поток делится на (максимум) 188-байтовые секции и чередуются вместе. Благодаря крошечному размеру пакета потоки могут чередоваться с меньшей задержкой и большей устойчивостью к ошибкам по сравнению с программными потоками и другими распространенными контейнерами, такими как AVI , MOV / MP4 и MKV , которые обычно упаковывают каждый кадр в один пакет. Это особенно важно для видеоконференций, где большие кадры могут вносить неприемлемую задержку звука.
Транспортные потоки, как правило, транслируются с постоянной скоростью передачи данных (CBR) и заполняются байтами заполнения, когда данных недостаточно. [a]
Сетевой пакет — это базовая единица данных в транспортном потоке, а транспортный поток — это просто последовательность пакетов. Каждый пакет начинается с синхробайта и заголовка , за которыми могут следовать необязательные дополнительные заголовки; остальная часть пакета состоит из полезной нагрузки . Все поля заголовка считываются как big-endian . Длина пакетов составляет 188 байт, но среда связи может добавлять дополнительную информацию. [b] Размер пакета в 188 байт изначально был выбран для совместимости с системами асинхронного режима передачи (ATM) . [8] [9]
Каждая таблица или элементарный поток в транспортном потоке идентифицируется 13-битным идентификатором пакета (PID). Демультиплексор извлекает элементарные потоки из транспортного потока частично путем поиска пакетов, идентифицированных тем же PID. В большинстве приложений мультиплексирование с временным разделением будет использоваться для определения того, как часто конкретный PID появляется в транспортном потоке.
Транспортный поток имеет концепцию программ . Каждая программа описывается таблицей карты программ (PMT). Элементарные потоки, связанные с этой программой, имеют PID, перечисленные в PMT. Другой PID связан с самой PMT. Например, транспортный поток, используемый в цифровом телевидении, может содержать три программы, чтобы представлять три телевизионных канала. Предположим, что каждый канал состоит из одного видеопотока, одного или двух аудиопотоков и любых необходимых метаданных. Приемник, желающий декодировать один из трех каналов, должен просто декодировать полезные данные каждого PID, связанного с его программой. Он может отбросить содержимое всех других PID. Транспортный поток с более чем одной программой называется многопрограммным транспортным потоком (MPTS). Однопрограммный транспортный поток называется однопрограммным транспортным потоком (SPTS).
Существует 4 таблицы информации, специфичной для программ (PSI): ассоциация программ (PAT), карта программ (PMT), условный доступ (CAT) и сетевая информация (NIT). Спецификация MPEG-2 не определяет формат CAT и NIT.
Чтобы декодер мог представлять синхронизированный контент, например, аудиодорожки, соответствующие связанному видео, по крайней мере каждые 100 мс, в поле адаптации пакета транспортного потока MPEG-2 передается ссылка на программные часы (PCR). PID с PCR для программы MPEG-2 идентифицируется значением pcr_pid в связанном PMT. Значение PCR при правильном использовании применяется для генерации system_timing_clock в декодере. Декодер системных часов (STC) при правильной реализации обеспечивает высокоточную временную базу, которая используется для синхронизации элементарных аудио- и видеопотоков. Хронометрирование в MPEG-2 ссылается на эти часы. Например, отметка времени представления (PTS) должна быть относительно PCR. Первые 33 бита основаны на часах 90 кГц. Последние 9 бит основаны на часах 27 МГц. Максимально допустимый джиттер для PCR составляет +/- 500 нс .
Некоторые схемы передачи, такие как в ATSC и DVB , накладывают строгие требования к постоянному битрейту на транспортный поток. Чтобы гарантировать, что поток поддерживает постоянный битрейт, мультиплексору может потребоваться вставить некоторые дополнительные пакеты. PID 0x1FFF зарезервирован для этой цели. Нулевые пакеты имеют полезную нагрузку, которая заполнена 0xFF, и ожидается, что приемник проигнорирует ее содержимое. [15]
Транспортный поток изначально был разработан для вещания. Позже он был адаптирован для использования с цифровыми видеокамерами, рекордерами и проигрывателями путем добавления 4-байтового поля временного кода (TC) к стандартным 188-байтовым пакетам, в результате чего получился 192-байтовый пакет. [16] [17] Это то, что неофициально называется потоком M2TS , обычно встречающимся в камерах HDV . Ассоциация Blu-ray Disc называет его « транспортным потоком BDAV MPEG-2 ». [16] JVC назвала его TOD [c] при использовании в камкордерах на основе HDD, таких как GZ-HD7 . [18] [19] Временной код обеспечивает быстрый доступ к любой части потока либо из медиаплеера, либо из системы нелинейного видеомонтажа. [20] Он также используется для синхронизации видеопотоков с нескольких камер в многокамерной установке .
Видеозаписи Blu-ray Disc, созданные с поддержкой меню, имеют формат 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 Disc, записываемых для аудио/видеозаписи. [22] [d] Blu-ray Disc использует метод записи транспортного потока MPEG-2. Это позволяет записывать транспортные потоки цифровой трансляции, преобразованной в BDAV, такими, какие они есть, с минимальным изменением пакетов. [17] Он также позволяет простое редактирование в стиле потокового вырезания цифровой трансляции, преобразованной в BDAV, которая записана как есть, и где данные можно редактировать, просто отбрасывая нежелательные пакеты из потока. Хотя это вполне естественно, встроена функция для высокоскоростного и простого в использовании извлечения. [17] [24]
Лицензии относятся к инструментам, а не к потокам или файлам как таковым.
{{cite book}}
: |website=
проигнорировано ( помощь ){{cite web}}
: CS1 maint: неподходящий URL ( ссылка )