1. PSI (Program Specific Information, 프로그램 사양 정보)
ㅇ MPEG-2에서 여러 프로그램들로 다중화된 복잡한 TS(Transport Stream)의 역다중화에
필요한 프로그램 정보를 테이블 형식으로 담아낸 메타데이터 ☞ MPEG-2 다중화
2. PSI 정보 전송
ㅇ PSI 정보를, 독립되게,자주,반복적으로 전송하는 이유
- 각 프로그램이 여러 ES들을 포함할 수도,
- 전송중에 한 프로그램이 다른 프로그램으로 대치,삭제될 수도 있으며,
- 프로그램 내에 ES 구성이 달라질 수도 있는 등 때문에,
- 디코더는 가능한 빠른 시간 내에 PSI 정보를 받을 수 있어야 함
ㅇ PSI 정보의 전송 방법
- TS 패킷 내 유료부하에 포함되어 전송됨
ㅇ PSI 정보의 전송 주기
- 일정 시간 간격으로 반복 전송됨
. (보통 초당 10~50회 정도, 최대 0.7초 이내에 한번씩 PSI 정보를 보내도록 규정됨)
ㅇ PSI 정보의 참조
- 수신기는, 방송국 채널 선택, ES(기본 스트림)의 재생 전환 등을 할 때,
- TS 패킷의 정확한 판별을 위해 PSI 정보를 참조하게 됨
3. PSI 정보 테이블
ㅇ 복잡하게 다중화된 프로그램 속에서 정확한 정보를 찾도록 여러 테이블 종류가 있음
- PAT, PMT, CAT, NIT, TSDT, ICIT
. PAT, PMT : 프로그램을 구성하는 Program Element(ES)들에 관한 정보
.. 어떤 패킷이 어떤 PID인가에 대한 정보를 줌
.. PID는 TS 패킷 헤더에 있는 패킷 ID 임
.. 역다중화시에 이 PID 만 보고 패킷들을 구분할 수 있게됨
. NIT : 전송망에 대한 규정값
. CAT : 수신 제한이 필요한 경우에, 스크래블링 또는 사적인 스트림에 관련된 사항
4. 각 TS 패킷 유료부하에 PSI 정보를 포함시키는 방법
ㅇ 각 TS 패킷 유료부하에는 단지 1 종류의 테이블 만 포함시킴
- 테이블 길이가 길어지거나, 중요도에 따라 1 이상의 섹션(section)으로 구성됨
. 섹션 길이 : 최대 1024 바이트 (단, private section은 4096 바이트까지 가능)
. 최대 섹션 수 : 256개
- 섹션으로 TS 패킷 유료부하에 채우고 남는 유료부하에는 스터핑 바이트(0xFF) 채움
ㅇ 만일, 유료부하 부분에 PSI 섹션이 있으면,
- TS 패킷 헤더 내의 payload_unit_start_indicaotr = '1' 로 설정됨
- 그리고, 이때의 유료부하 첫째 바이트가 pointer_field가 됨