== Building the MPEG Bit Stream == '''Elementary Stream(ES)''' * Video와 Audio가 MPEG-2 Encoder에서 부호화와 압축의 과정을 거쳐서 만들어지는 기본 스트림. '''Packetised Elementary Stream(PES)''' * MPEG-2 Multiplexer는 ES를 일정한(혹은 가변적인) 크기의 일련의 PES로 변환한다. '''Program Stream(PS)''' or '''Transport Stream(TS)''' * Program Stream : 전송에러가 없는 선로나 저장 매체를 통하여 송수신 하기 위한 목적으로 사용됨. * Transport Stream : 전송에러가 존재하는 채널로 전송하기 위한 목적으로 사용됨. [[Attachment(TSDiagram.jpg)]] == MPEG Transport Streams == TS는 일련의 Packet으로 구성되는데 TS packet들은 188byte(184byte의 payload+4byte의 header)로 길이가 일정하다. 4byte의 header에는 TS에서 중요한 역할을 하는 13bit의 Packet Identifier(PID)가 있다. '''TS의 구성요건''' 1. TS stream으로부터 각각의 ES decoding이 가능하여야 함 2. 여러 개의 프로그램으로 구성된 TS로부터 하나의 프로그램 추출이 가능하며 추출된 프로그램으로부터 TS를 만들 수 있어야 함 3. 다중 TS로부터 다중 프로그램에 대한 TS를 추출하고 이를 다른 TS로 만들 수 있어야 함 4. TS로부터 하나의 프로그램을 추출하고 이로부터 PS stream을 만들 수 있어야 함 5. PS로부터 TS를 만들 때 원래의 PS와 동일한 기능 수행을 할 수 있도록 해야 함 [attachment:TSSyntax.jpg] '''PES의 구성요건''' PES는 64KB이상의 가변길이 Packet이고, PTS와 DTS를 가지고 있으며, ES의 복호화 및 재생에 관한 타이밍 정보를 포함한다. [attachment:PESSyntax.jpg] ''현재 페이지는 작성중입니다.''