이 과정은 크게 두가지로 나뉨
program stream : 저장 매체에 저장하기 위한 용도
transport stream : 네트워크에서의 전송 또는 방송을 위한 용도
MPEG1 표준 : 저장매체를 목표로 하기 때문에 프로그램 스트림에 사용
MPEG2 표준 : 프로그램 스트림과 트랜스포트 스트림 모두 포함
시스템 코딩 : 압축된 오디오나 비디오 스트림뿐만 아니라 필요에 따라 사용자 데이터를 다중화하여 전송 또는 저장에 적합하도록 만드는 포장(data formatting)
다중화 : 복수개의 elementary stream을 하나의 단일 스트림으로 묶어 저장 또는 전송 등의 응용에 적합하도록 하는 방법을 제시
신택스 : 포장(data formatting)칙하는 규칙
시스템 코딩시 이와 같은 규칙(신택스 규정)에 따라 시스템 비트 스트림을 만들어야 하며, 시스템 디코더는 이 규칙으로 만들어진 스트림을 디코딩 할 수 있어야 함
시스템 인코더는 다음 5가지 동작을 효율적으로 수행 할 수 있는 방법을 제공
- 동기화 : 복수개의 elementary stream도 디코딩 시 각 elementary stream 디코더 상호간의 동기를 맞추어 재생 가능 하도록 함
- 다중화 : 복수개의 elementary stream을 하나으 디나일 스트림으로 묶어 저장, 전송 할 수 있게 함
- 버퍼 초기화 : 디코딩 초기 동작 시 버퍼의 초기 동작 레벨을 맞추어 줌
- 버퍼 관리 : elementary stream 디코더의 버퍼 레벨제어를 효율적으로 수행하도록 하여 디코더 단의 모든 버퍼에서 underflow나 overflow가 발생하지 않도록 함
- 시간규정 : 각 elementarry stream 이나 프로그램마다 시간을 나타내는 값을 삽입하여 효율적으로 재생할 수 있도록 함
패킷 : 보통 header와 유료부하(payload)로 이루어짐
elementary stream이 패킷화(packetizing)된 것을 PES(packetized elementary stream) patket이라 함
이 과정에서 유료부하 부분에는 스트림이 일정한 길이로 잘려서 삽입되며, header에는 시간정보, 주소, 꼬리표 등 유용한 정보가 들어감
인코딩 : 압축된 오디오, 비디오 스트림들을 묶어 결합 + 디코딩 과정에서 디코딩 된 스트림들의 동기를 맞추어 재생하기 위한 변수들
인코딩의 2가지 형태
- TS : transport stream(전송 목적)
- PS : program stream(저장 목적)
TS : 일련의 TS packet으로 구성되는데 TS packet들은 각각의 길이가 188byte로 일정(전송 시 에러가 날수도 있어 형식을 정함)함
PS : 일련의 pack으로 구성되는데 전송 에러가 거으 이벗는 저장매체에 사용. 때문에 압축 또는 복원등에 적합한 방식. 인코딩시 추가된 시간정보와 디코더단의 클럭제어 과정을 통해 동기를 맞춤. 또한 디코딩 시 버퍼 제어도 적절히 수행되어 버퍼의 underflow나 overflow를 방지
TS stream과 PS stream간으 시아호 변환은 PES packet의 형태로 수행. PS/TS packet의 header부분에는 스트림간의 상호변환시 필요한 정보나 표 등이 있음.
TS, PS stream 비교 : TS packet의 길이는 항상 188byte로 동일한 반면, PS stream은 일련의 pack으로 구성되는데 pack의 길이가 가변적이고 보통 TS packet의 길이보다 훨씬 김.
TS packet의 장점 : Packet의 길이가 동일하면서 짧기 때문에 다중화(multiplexing), 재다중화(re-multiplexing) 및 역다중화(demultiplexing) 또는 수신기 제작 등에 있어서 용이하고 ATM에서 셀의 분실(cell loss)와 같은 전송 오차시의 손실이 적음
TS packet(188byte)은 4개의 ATM cell(53byte)로 변환
ATM cell(53byte)중 5byte의 head와 1byte AAL(ATM Adaptation Layer) 사용 후 남은 47byte를 유료부하로 사용
PS stream의 경우에는 pack header와 pack으로 구성
pack은 여러 개의 PES packet으로 구성
Pack의 유료부하에는 PES packet의 형태가 유지되므로 소프트웨어를 이용한 스트림의 처리에 적합
MPEG1의 system multiplex/demultiplex방식을 이용하는 시스템과 호환성이 있음
PES packet : header와 유료부하로 구성
header에는 유료 부하에 있는 데이터 특성 및 전체 스트림을 구성하는 모든 정보가 있기 때문에 header만을 이용하여 다른 스트림의 변환이나 재다중화동작등을 능률적으로 수행함
PES packerizer : Elementary stream을 입력받아 TS/PS stream의 구성에 맞추어 적절히 PES header 생성 후 header의 내용과 부합하도록 유료부하 구성하여 packet을 생성하는 과정(video와 audio로 나뉨)
PSI(프로그램 구성정보)는 4개의 테이블로 구성 됨
- PAT(Program Association Table) : 프로그램을 구성하고 있는 program element들에 관한 정보
- PMT(Program Map Table) : 프로그램을 구성하고 있는 program element들에 관한 정보
- NIT(Network Information Table) : 전송네트워크에 대한 규정값들
- CAT(Conditional Access Table) : 조건부 수신이 필요한 경우 스크램블링 혹은 사적인 스트림(private stream)에 관한 것