MPEG 프로그램 스트림

프로그램 스트림(Program stream, PS 혹은 MPEG-PS)은 멀티플렉싱 디지털 오디오, 비디오 등을 담기 위한 컨테이너 포맷이다. 이 포맷은 MPEG-1 부분 1(ISO/IEC 11172-1)과 MPEG-2 부분 1 시스템(ISO/IEC standard 13818-1/ITU-T H.222.0)에 규정되어 있다. MPEG-2 프로그램 스트림은 ISO/IEC 11172 시스템 레이어와 비슷하고 이전 버전들과 호환된다.

프로그램 스트림은 DVD-비디오 디스크와 HD DVD 비디오 디스크에 사용되지만, 몇 가지 제한과 확장 사항이 있다.http://dvd.sourceforge.net/dvdinfo/dvdmpeg.html

 코딩 구조 
프로그램 스트림은 하나 또는 그 이상의 패킷화된 기초 스트림(PES)을 하나의 스트림으로 결합하여 생성된다. 이 포맷은, 데이터 전송을 위해 개발된 MPEG 트랜스포트 스트림과는 다르게, 디스크처럼 합리적이고 신뢰성 있는(데이터 손실 우려가 적은) 미디어를 위해 개발되었다. 프로그램 스트림은 가변 사이즈 레코드들을 지원하며, 방송 수신을 어렵게 하는 시작 코드를 최소로 사용한다. 프로그램 스트림 코딩 레이어는, 트랜스포트 스트림과는 다르게, 하나 또는 그 이상의 기초 스트림의 단 하나의 프로그램을 하나의 스트림으로 패키지화될 수 있도록 도와준다.

MPEG-2 프로그램 스트림은 MPEG-1 부분 2 영상, MPEG-2 부분 2 영상, MPEG-1 부분 3 오디오(MP3, MP2, MP1) 또는 MPEG-2 부분 3 오디오를 포함할 수 있다. 이것은 또한 프로그램 MPEG-4 부분 2 영상, MPEG-2 부분 7 음성(AAC)을 포함할 수 있으나, 자주 이용되지는 않는다. MPEG-2 프로그램 스트림은 소위 '개인 스트림'의 형태로 비표준 데이터(예를 들면 AC-3 음성과 자막)에 대해서도 지원한다.http://www.mpucoder.com/DVD/vobov.html 국제 표준 기구는 SMPTE을 MPEG-2 포맷 식별자에 대한 등록 기관으로 공인하였다. 여기에서 MPEG-2 트랜스포트 스트림과 프로그램 스트림에 요약 될 수 있는 압축 포맷 목록을 발표한다.

 코딩 세부사항 
암호화되지 않은 VOB 파일이나 다른 프로그램 스트림을 헥사 에디터로 열면, 다음과 같은 구조를 볼 수 있다.
+ 프로그램 스트림 팩 헤더 포맷 일부Pack Header이름비트 수설명싱크 바이트320x000001BA표시 비트201b시스템 클럭 [32..30]3시스템 클럭 참조 (SCR) 비트 32에서 30표시 비트1항상 1 비트로 설정됨.시스템 클럭[29..15]15시스템 클럭 비트 29에서 15표시 비트1항상 1 비트로 설정됨.시스템 클럭 [14..0]15시스템 클럭 비트 14에서 0표시 비트11 항상 1 비트로 설정됨.SCR 확장9표시 비트11 항상 1 비트로 설정됨.비트레이트22 초당 50 바이트 단위.표시 비트2항상 11 비트로 설정됨.예약5나중에 사용하기 위해 예약.stuffing 길이3stuffing 바이트8*stuffing 길이시스템 헤더 (선택적)0 또는 그 이상 시스템 헤더 시작 코드가 따라가기 시작할 시: 0x000001BB

+ 시스템 헤더 포맷 일부이름바이트 수설명싱크 바이트40x000001BB헤더 길이2레이트 바운드와 표시 비트3오디오 바운드와 플래그1플래그, 표시 비트, 비디오 바운드1패킷 레이트 제한과 예약 바이트1

 같이 보기 
 기초 스트림
 MPEG 트랜스포트 스트림
 MPEG-1
 MPEG-2

 각주 

분류:MPEG
분류:파일 포맷
분류:MPEG-2
분류:ITU-T 권고