MPEG 프로그램 스트림

위키백과, 우리 모두의 백과사전.

MPEG 프로그램 스트림
파일 확장자.mpg, .mpeg, .ps
인터넷 미디어 타입
video/MP2P[1]
개발MPEG
발표일1993
포맷 종류미디어 컨테이너
표준ISO/IEC 13818-1, ITU-T Recommendation H.222.0

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

프로그램 스트림은 DVD-비디오 디스크와 HD DVD 비디오 디스크에 사용되지만, 몇 가지 제한과 확장 사항이 있다.[4]

코딩 구조[5][편집]

프로그램 스트림은 하나 또는 그 이상의 패킷화된 기초 스트림(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 음성과 자막]])에 대해서도 지원한다.[6] 국제 표준 기구는 SMPTE을 MPEG-2 포맷 식별자에 대한 등록 기관으로 공인하였다. 여기에서 MPEG-2 트랜스포트 스트림과 프로그램 스트림에 요약 될 수 있는 압축 포맷 목록을 발표한다.[7]

코딩 세부사항[편집]

암호화되지 않은 VOB 파일이나 다른 프로그램 스트림을 헥사 에디터로 열면, 다음과 같은 구조를 볼 수 있다.

프로그램 스트림 팩 헤더 포맷 일부[8]
이름 비트 설명
싱크 바이트 32 0x000001BA
표시 비트 2 01b
시스템 클럭 [32..30] 3 시스템 클럭 참조 (SCR) 비트 32에서 30
표시 비트 1 항상 1 비트로 설정됨.
시스템 클럭[29..15] 15 시스템 클럭 비트 29에서 15
표시 비트 1 항상 1 비트로 설정됨.
시스템 클럭 [14..0] 15 시스템 클럭 비트 14에서 0
표시 비트 1 1 항상 1 비트로 설정됨.
SCR 확장 9
표시 비트 1 1 항상 1 비트로 설정됨.
비트레이트 22 초당 50 바이트 단위.
표시 비트 2 항상 11 비트로 설정됨.
예약 5 나중에 사용하기 위해 예약.
stuffing 길이 3
stuffing 바이트 8*stuffing 길이
시스템 헤더 (선택적) 0 또는 그 이상 시스템 헤더 시작 코드가 따라가기 시작할 시: 0x000001BB
시스템 헤더 포맷 일부
이름 바이트 수 설명
싱크 바이트 4 0x000001BB
헤더 길이 2
레이트 바운드와 표시 비트 3
오디오 바운드와 플래그 1
플래그, 표시 비트, 비디오 바운드 1
패킷 레이트 제한과 예약 바이트 1

같이 보기[편집]

각주[편집]

  1. "RFC 3555 - MIME Type Registration of RTP Payload Formats".
  2. http://webstore.iec.ch/preview/info_isoiec11172-1%7Bed1.0%7Den.pdf
  3. “보관된 사본” (PDF). 2012년 9월 16일에 원본 문서 (PDF)에서 보존된 문서. 2012년 12월 29일에 확인함. 
  4. http://dvd.sourceforge.net/dvdinfo/dvdmpeg.html
  5. “보관된 사본” (PDF). 2012년 6월 5일에 원본 문서 (PDF)에서 보존된 문서. 2012년 12월 28일에 확인함. 
  6. http://www.mpucoder.com/DVD/vobov.html
  7. “보관된 사본”. 2010년 1월 28일에 원본 문서에서 보존된 문서. 2009년 7월 5일에 확인함. 
  8. Pack Header