.ts
는 여기로 連結됩니다. 타입스크립트의 파일 擴張字에 對해서는
타입스크립트
文書를 參考하십시오.
MPEG 트랜스포트 스트림
(MPEG transport stream, TS, TP, MPEG-TS로 줄임)은
오디오
,
비디오
,
데이터
電送을 위한
通信 프로토콜
이다. PES(packetized elementary streams) 와 其他 데이터를 包含하는 디지털 컨테이너 포맷의 一種이다. TS는
MPEG-2
파트 1, 시스템(
ISO
/
IEC
標準 13818-1)에 規定되어 있다.
[3]
ITU-T Rec. H.222.0으로도 알려져 있다. 디지털 映像과 소리를
多重化
하고 出力을 동기화하는 것이 이 시스템의 目標이다. 트랜스포트 스트림은 信賴할 수 없는 媒體의
誤謬 訂正
機能을 提供하고
DVB
와
ATSC
와 같은 映像 應用에도 쓰인다.
DVD
와 같은 信賴할 수 있는(데이터 損失 憂慮가 없는) 媒體用으로 開發된
MPEG 프로그램 스트림
과는 對照된다.
通信 階層
[
編輯
]
OSI 네트워크
프로토콜 스택
과 비슷하게 트랜스포트 스트림은 階層 構造에서 受信機가 處理한다. 이를테면 비디오를 包含하는 스트림은 다음과 같은 處理를 할 수 있다.
- 多樣한 프로그램 構成
- PES (패킷化된 基礎 스트림, Packetized Elementary Stream)
- ES (基礎 스트림, Elementary stream) - 소리 및 映像 (아래의 것은 映像만)
- GOP 救助 (Group of pictures) - 任意 接近 포인트 提供
- 슬라이스 (Slice) - 相互 豫測을 통하여 波及된 誤謬 防止
- 매크로블록 - 6~12個의
DCT
블록으로 이루어져 있음
- 인코딩 블록 / 單純 블록 -
DCT
인코딩 블록, 8x8 畫素
트랜스포트 스트림(TS)으로 多重化 處理된 데이터의 例가 바로
EPG
(電子 프로그램 案內)이다. 더 仔細한 內容은
프로그램과 시스템 情報 프로토콜
을 參考하라.
트랜스포트 스트림의 重要 要素
[
編輯
]
패킷
[
編輯
]
패킷은 트랜스포트 스트림의 基本 데이터 單位이다. 값이 0x47人
싱크 바이트
와 그 뒤를 이어 3個의 1비트 플래그와 13비트의 PID (패킷 證明者), 4비트의 連續 카운터, 追加的인 有效한 필드 信號가 있으면 追加로 選擇할 수 있는 트랜스포트 필드가 온다. 패킷의 나머지는 페이로드(payload)다. 패킷들의 길이는 188 바이트이지만
[3]
通信 媒體는 패킷에다 誤謬 訂正 바이트를 몇 個 追加할 수 있다.
ISDB-T
및 DVB-T/C/S의 電送 패킷 크기(트랜스포트 스트림 패킷 + FEC 데이터)는 204 바이트이며 ATSC 8-VSB의 電送 패킷 크기는 208 바이트이다. ATSC는 20바이트의
리드 솔로몬
前方 誤謬 訂正
을 使用하여 208바이트의 패킷을 만들어낸다.
[4]
188바이트의 패킷 크기는 元來
ATM 體系
와의 互換性을 위하여 選定된 것이다.
[5]
[6]
TS 패킷 포맷 一部
이름
|
비트
수
|
32-bit
BE
mask
|
說明
|
싱크 바이트
|
8
|
0xff000000
|
0x47 (ASCII char 'G')
|
電送 誤謬 表示器 (TEI)
|
1
|
0x800000
|
스트림에서 誤謬를 訂正할 수 없으면
復調
를 통하여 設定됨. 逆多重火器(demultiplxer)에 패킷에 訂正할 수 없는 誤謬가 있음을 알려 준다
[7]
|
페이로드 유닛 始作 表示器
|
1
|
0x400000
|
1은 PES(PSI)의 始作을 나타내고 그렇지 않으면 0이다.
|
電送 優先 順位
|
1
|
0x200000
|
1은 같은 PID를 갖는 다른 패킷들보다 더 높은 優先 順位를 갖는 것을 뜻한다.
|
PID
|
13
|
0x1fff00
|
패킷 ID
|
스크램블 制御
|
2
|
0xc0
|
'00' = 스크램블(scramble) 안 函. DVB 基準:
[8]
'01' = 使用 豫約, '10' = 짝數로 스크램블, '11' = 홀數로 스크램블
|
有效 필드 制御
|
2
|
0x30
|
01 - 有效 필드 없음, 페이로드 存在
10 - 有效필드 存在, 페이로드 없음
11 - 有效필드 다음에 페이로드 存在
00 - 追後 使用. (現在는 使用하지 않음)
|
連續 카운터
|
4
|
0xf
|
各 스트림에서 페이로드 패킷의 連續된 數字. 페이로드가 있을 때만 增加되며 各 PID 單位로 增加된다.
|
|
|
|
알림: 위의 總 비트 數는 32이며 트랜스포트 스트림 4바이트 接頭辭(prefix)이다.
|
有效 필드
|
0 以上
|
|
플래그에 依存
|
페이로드
데이터
|
0 以上
|
|
플래그에 依存
|
有效 필드 포맷
이름
|
비트 數
|
說明
|
有效 필드 길이
|
8
|
卽刻 이 바이트의 길이만큼 有效 필드가 따라온다
|
不連續 表示器
|
1
|
TS 패킷의 連續 카운터가 連續的이지 않으면 1로 設定한다
|
任意 接近 表示器
|
1
|
이 TS 패킷의 PES 패킷이 映像/소리 시퀀스를 始作하면 1로 設定한다
|
基礎 스트림
優先 順位 表示器
|
1
|
1 = 높은 順位
|
PCR 플래그
|
1
|
1이면 有效 필드가 PCR 필드를 包含한다는 것을 뜻한다
|
OPCR 플래그
|
1
|
1이면 有效 필드가 OPCR 필드를 包含한다는 것을 뜻한다
|
接合(Splicing) 포인트 플래그
|
1
|
1이면 有效 필드에 接合 카운트다운 필드가 存在한다는 것을 뜻한다
|
트랜스포트 個別 데이터 플래그
|
1
|
1이면 有效 필드에 個別 데이터 바이트가 存在한다는 것을 뜻한다
|
有效 필드 擴張 플래그
|
1
|
1이면 有效 필드 擴張이 存在한다는 것을 뜻한다
|
아래의 필드는 選擇 事項이다
|
可變값
|
플래그에 依存
|
PCR
|
33+9
|
프로그램 클록 參照
|
OPCR
|
33+9
|
OP(Original Program) 클록 參照.. 하나의 TS가 다른 곳으로 複寫될 때 도와준다.
|
接合(Splice) 카운트다운
|
8
|
이 곳으로부터 얼마나 많은 TS 패킷에 接合 포인트가 發生하였는지 알려 준다 (陰數값)
|
빈 자리 메우는 바이트
|
可變값
|
|
PID
[
編輯
]
TS의 各 테이블이나 基礎 스트림(ES)은 13비트 패킷 ID (PID)로 識別한다. 逆多重火器(demultiplexer)는 같은 PID로 識別된 패킷을 檢索하여 部分的으로 TS로부터 基礎 스트림을 抽出한다.
時分割 多重化
는 얼마나 자주 特定한 PID가 TS에 나타나는지를 決定하는 데 쓰인다.
프로그램
[
編輯
]
TS에는 프로그램 槪念이 있다. 各 프로그램은 固有 PID를 갖는 프로그램 맵 테이블 (PMT)로 記述되며 그 프로그램과 連結된 基礎 스트림은 PMT에 羅列된 PID를 가진다. 이를테면 디지털 TV에 쓰이는 TS는 세 個의 텔레비전 채널을 表現하기 위하여 이러한 프로그램들을 包含할 수 있다. 各 채널이 하나의 비디오 스트림과 한 두 個의 오디오 스트림, 또 必要한 메타 데이터를 갖고 있다는 假定을 해 볼 수 있다.
受信機
가 特定한 채널을 디코딩하려면 이 프로그램에 連結된 各 PID의 페이로드를 디코딩하여야 한다.
프로그램 指定 情報 (PSI)
[
編輯
]
프로그램 指定 情報에는 4個의
PSI
가 있다.
- 프로그램 連結 (Program Association, PAT)
- 프로그램 맵 (Program Map ,PMT)
- 條件式 制限 接近(Conditional Access, CAT)
- 네트워크 情報(Network Information, NIT)
MPEG-2 規格은 CAT와 NIT 포맷에 對하여 規定해 놓지 않았다.
PAT
[
編輯
]
PAT (프로그램 連結 테이블, Program Association Table)는 TS에서 使用할 수 있는 모든 프로그램을 羅列한다. 羅列된 프로그램은 各各 program_number (프로그램 計數)라 불리는 16비트 값으로 識別된다. PAT에 羅列된 프로그램은 제各各 프로그램 맵 테이블(PMT)의 PID 連結 값을 갖고 있다.
program_number의 값 0x0000는 PID에 네트워크 情報 테이블 位置를 附與하기 위해 保存된다. 該當 프로그램이 PAT에 存在하지 않으면 基本 PID 값 (0x0010)李 NIT에 쓰인다.
PMT
[
編輯
]
프로그램 맵 테이블(PMT)은 프로그램에 對한 情報를 갖고 있다. 各 프로그램마다 PMT가 存在한다. MPEG-2 標準이 하나 以上의 PMT 섹션이 單一 PID에 電送될 수 있는 機能을 提供하지만 ATSC와 SCTE와 같은 領域에 屬한 大部分의 MPEG-2 使用者들은 各 PMT가 다른 어떠한 패킷에도 쓰이지 않는 하나의 區別된 PID 床에서 電送할 것을 要求한다. PMT는 program_number를 비롯하여 TS에 存在하는 各 프로그램에 對한 情報를 提供하며 記述된 MPEG-2 프로그램을 構成하는 基礎 스트림을 羅列한다. 各 基礎 스트림을 爲한 選擇的 技術者뿐 아니라 完全한 MPEG-2 스트림을 記述하는 選擇的 技術者를 위한 位置 情報도 提供한다. 各 基礎 스트림은 stream_type (스트림 種類) 값으로 그 이름이 붙어 있다.
PCR
[
編輯
]
連結된 映像과 結合된 오디오 트랙과 같이 동기화된 콘텐츠를 表現하는 디코더를 使用하려면 적어도 100 밀리秒마다 프로그램 클록 參照(PCR)가 MPEG-2 TS 패킷의 有效 필드에 電送되어야 한다. MPEG-2 프로그램을 위한 PCR이 있는 PID는 連結된 프로그램 맵 테이블(PMT) 안에서 pcr_pid 값으로 識別된다. 問題가 없다면 PCR의 값은 디코더 안에서 system_timing_clock (시스템 타이밍 클록)을 만들어 낸다. 여기에도 問題가 없으면 STC 디코더는 映像 및 소리의 基礎 시스템을 동기화하는 데 쓰이는 더 正確한 時間帶를 提供한다.
MPEG2 타이밍은 이 클록을 參照하는데 이를테면
再現 時間表
(PTS)는 PCR에 關聯되어 있다. 처음 33비트는 90kHz 클록錄 基盤을 두며 마지막 9비트는 27MHz 클록錄 基盤을 둔다. PCR이 許容하는 最大 지터는 +/- 500 나노秒이다.
Null 패킷
[
編輯
]
ATSC
와
DVB
와 같은 一部 電送 體系는 嚴格한 固定 비트레이트를 TS에 要求한다. 스트림이 固定 비트레이트를 維持하려면 多重化氣는 一部 追加的인 패킷을 揷入하여야 한다. 이에 PID 0x1FFF가 豫約돼 있다. null 패킷의 페이로드는 데이터에 全혀 包含되지 않으며 受信機가 null 패킷의 콘텐츠 內容을 無視하게 된다.
TS 파일 支援 프로그램
[
編輯
]
多重 運營 體制
[
編輯
]
리눅스
[
編輯
]
윈도
[
編輯
]
macOS
[
編輯
]
같이 보기
[
編輯
]
各州
[
編輯
]
外部 링크
[
編輯
]
|
---|
|
MPEG-1 파트
| |
---|
MPEG-2 파트
| |
---|
MPEG-4 파트
| |
---|
MPEG-7 파트
| |
---|
MPEG-21 파트
| |
---|
MPEG-D 파트
| |
---|
MPEG-H 파트
| |
---|
기타
| |
---|