전반적인 PSIP 과 관련한 여러가지 Table 과 Descriptor 에 대한 설명으로 되어있다. 이 문서에 나오는 용어들과 역할에 대해 중점적으로 설명할 것이다.
ATSC 표준은 크게 Serrestrial Broadcast(방송) 와 Cable 방식이 있다.
각각의 용어는 처음에는 원문 그대로를 적지만, 그 이후로는 나 나름대로 번역하여 축약해서 사용할 것이다. 이점 유의하기 바란다.
Serrestrial Broadcast 의 특징
- PSIP 데이터는 모든 ATSC Transport Stream 에 포함되어 terrestrial broadcast 를 거쳐서 보내어진다.
- Terrestrial Virtual Channel Table(TVCT) 는 최소 MPEG-2 program 안에 embedded 되어 전송된다.
- Master Guide Table(MGT) 는 패킷의 속성, 모든 PSIP 테이블의 버전 정의한다. System Time Table(STT) 는 제외한다.
- Rating Region Table(RRT)는 TV 가이드 시스템은 어떤 충고라도 Transport Stream 를 전송한다. RRT 은 0x01 에 대응되는 것은 제외한다.
- System Time Table(STT) 은 현재의 날짜와 시간을 정의한다.
- VCT 안에 각각의 digital virtual channel 은 service_location_descriptor 이다.
- 첫번째, 네번째 Event Information Tables(EIT-0…) 은 12시간의 Event 를 의미한다. 각각의 3시간의 모임, 그리고 TVCT 에 의해 들었던 모든 virtual channel 이 포함되어 있다.
Cable 의 특징
- PSIP 데이터는 모든 ATSC Transport Stream 에 포함되어 cable 을 거쳐서 보내어진다.
- Cable Virtual Channel Table(TVCT)는 최소, virtual channel structure 의 모임인 MPEG-2 program 을 CVCT 를 Transport Stream 안에 넣어서 전송한다.
- Master Guide Table(MGT) 는 패킷의 속성, 모든 PSIP 테이블의 버전 정의한다. System Time Table(STT) 는 제외한다.
- Rating Region Table(RRT)는 TV 가이드 시스템은 어떤 충고라도 Transport Stream 를 전송한다. RRT 은 0x01 에 대응되는 것은 제외한다.
- System Time Table(STT) 은 현재의 날짜와 시간을 정의한다.
용어 정리
descriptor | data structure 의 포맷 : descriptor_tag, descriptor_length 그리고 data 들. tag 와 length field 는 각각 8비트로 되어있다. descriptor_tag 를 보고 decoder 에서 무시할 수 있다. 이것은 PSIP table, subject 의 제한 정보가 포함된다. descriptor 은 extend data 를 table 을 fix 하는 데 사용한다. |
digital channel | 하나 또는 하나 이상의 digital elementart stream set. virtual channel |
event | start time 과 end time , 현재의 시간과 함께 elementart stream 의 모임. 텔레비전 프로그램과 동등하다. |
instance | table instance |
logical channel | virtual channel |
physical channel | 텔레비전 시그널 전송시에 들어 있는 6-8 MHZ frequency band. physical transmission channel(PTC). 하나의 아날로그 virtual channel 은 하나의 PTC 에 적당하다. 그러나 여러개의 디지털 virtual channel 은 일반적으로 하나의 PTC 안에 공존한다. |
physical transmission channel | physical channel |
program element | program 이 들어 있는 data stream 이나, 하나의 elementary stream. 예를 들어 audio, video, data 등 |
program | program element 의 모임. program element 는 element stream 이다. 문맥상의 'television program' 은 뉴스 방송과 같은 의미로 사용된다. |
region | 하나 또는그 이상의 나라들의 geographical 영역이다. |
section | CAT, PAT, 또는 PMT 를 포함하고 있는 data structure. 모든 섹션의 처음은 table_id 그리고, 끝은 CRC-32 필드이다. 시작되는 지점을 pointer_field 에 정의 된다. |
stream | 차례로 정렬된 byte들. 일반적인 유일한 PID 값을 가진 Transport Stream packet 으로 부터 연속된 바이트들을 뽑아낸다. |
table | 다시 맞추는 세션은 common table ID 와 버전 넘버를 전송한다. |
table instance | table_id 필드는 테이블의 속성을 나타낸다. 그러나, EIT 에 경우 몇몇 인스턴스가 동시에 정의 되어 있다. 모든 인스턴스들은 같은 PID 값과 같은 table_id 값을 Transport Stream packet 에 넣어 운반한다. 각각의 인스턴스들은 서로 다른 table_id_extension 값을 가진다. |
virual channel | 보통의 채널넘버는 사용자가 아날로그 TV 프로그램이나, 하나 또는 그 이상의 디지털 elementary stream 에 액세스하도록 제공하고 지정한다. virtual 이라고 부르는 이유는 속성(이름과 숫자)이 physical location 으로 부터 독립적이기 때문이다. virtual channl 의 예는 digital radio, 아날로그 TV channel, 디지털 TV channel, mult-visual 디지털 TV 채널 또는 방송 이 있다. 아날로그 TV 채널의 경우에는 physical transmission channel 이 virtual channel로 지정된다. 디지털 TV 채널의 경우 physical transmission channel 과 video, audio stream을 physical transmission channel 둘다 virtural channel 로 지정할 수 있다. |
TABLE HIERARCHY AND STRUCTURE REQUIREMENTS
프로그램과 PSIP 은 system information 과 program guide data 를 위한 계층적인 배열된 테이블들의 집합이라고 볼 수 있다.
그 테이블들의 종류는 다음과 같다.
- The System Time Table (STT)
- Master Guide Table (MGT)
- Rating Region Table (RRT)
- Virtual Channel Table (VCT)
- The optional Directed Channel Change Table (DCCT)
- The optional Directed Channel change Selection Code Table (DCCSCT)
몇몇의 EIT 는 PSIP data structures 안에 있다. STT 는 애플리케이션이 동기화를 요구할 때 시간 정보를 보내준다. RRT는 다른 지역이나 나라를 위한 rating table 값을 정의한다.
MGT 는 sizes, PIDs 그리고 관련된 모든 테이블의 버전넘버를 정의한다. VCT는 2가지의 버전이 있다. 하나는 방송을 위한것 나머지는 케이블을 위한 것이다. 그것의 목적은 채널 네비게이션이나 튜닝을 위한 virtual 채널 속성을 표로 만드는 데 있다. 방송과 케이블 버전은 거의 비슷하다. DCCT 는 가상 채널이 바뀔때 요청을 보낸다.
DCCS Code Table 은 기본적인 카테고리와 table location code 를 정의한다. EIT는 VCT 안의 가상 채널들을 설명하기 위한 TV 프로그램을 목록화한다.
remultiplexing 을 할 때, EIT 테이블은 Transport Streams 은
요구사항
- 각각의 EIT는 3 시간동안 만 지속된다.
- EIT 의 시작 시간은 0:00, 3:00, 6:00, 9:00, 12:00, … 21:00 로 제한한다. UTC를 사용한다.
- 현재의 3시간 segment 에 활성화되는 이벤트는 모두 EIT-0 에 리스트 된다. EIT-1 은 다음 3시간 후의 모든 이벤트를 가진다. 게다가 겹쳐지지 않은 연속된 시간의 윈도우들은 모든 다른 EIT에 할당된다.
- 모든 digital Transport Stream 은 방송안에 STT, TVCT, MGT 그리고 첫번째 네번째 Event Information Tables 가 포함된다. CVCT는 모든 다른 EIT들과 ETT의 연결이
- PSIP 테이블은 반드시 디지털 채널들은 Transport Stream 을 다중화 시킨다.
- cable 시스템에서는 STT, CVCT 또는 TVCT 그리고 MGT 가 요구된다.
- PSIP 테이블은 반드시 디지털 채널들은 Transport Stream 을 다중화 시킨다.
테이블에 대한 설명
System Time Table (STT)
- 현재의 날짜와 시간을 정보를 제공한다.
다음의 정보를 STT 에 보낸다.
- STT 의 PID 값은 반드시 0x1FFB 이다.
- transport_scrambling_control 비트는 반드시 00 이다.
- adaptation_field_control 비트는 반드시 01 이다.
Master Guide Table (MGT)
- 다른 테이블의 STT 를 제외하고는 버전 넘버, 바이트의 길이, 모든 PSIP 테이블의 PID 값을 정의한다.
- MGT 의 테이블 ID 는 0xC7 이다.
- MGT 의 PID 는 반드시 0x1FFB 이다.
- transport_scrambling_control 비트는 반드시 00 이다.
- adaptation_field_control 비트는 반드시 01 이다.
- Transport Stream 패킷의 payload_unit_start_indicator 은 MGT 세션에 table_id 를 00 이 되어야 한다.
- Transport Stream 패킷의 pointer_field 는 MGT 세션의 table_id 를 00 으로 만든다.
Virtual Channel Table (VCT)
VCT 는 가상채널의 속성을 내포하고 Transport Stream 에 보낸다. 어떤 가상채널의 변경은 새로운 버전 넘버와 함께 전송되어야 한다. VCT table body 안에 들어 있는 기본 정보에는 Transport Stream ID, channel number(major and minor), short channel name, program number, access controlled flag, extended text messages 를 위한 location field, service type 이 있다. 또한 descriptors 에 의한 정보의 전송은 아마도 basic information 후에 descript loop 될 자리일 것이다.
Terrestrial Virtual Channel Table
- table_id 는 0xC8 이고, VCT sections 에 전송된다.
- Terrestrial VCT 의 PID 값은 0x1FFB 이어야 한다.
- transport_scrambling_control 비트는 00 이어야 한다.
- adaptation_field_control 비트는 01 이다.
Cable Virtual Channel Table
- table_id 는 0xC9 이고, VCT sections 에 전송된다.
- Terrestrial VCT 의 PID 값은 0x1FFB 이어야 한다.
- transport_scrambling_control 비트는 00 이어야 한다.
- adaptation_field_control 비트는 01 이다.
Rating Region Table (RRT)
- mutliple geographical regions 의 등급 정보를 보낸다.
- 각 RRT 인스턴스는 rating_region 의 속성을 하나의 특별한 region 의 rating system information 에 보낸다.
- RRT 인스턴스의 사이즈는 1024 를 넘지 않는다.
- PID 값은 0x1FFB 이고, transport_scrambling_control 비트는 00 이다.
- adaptatin_field_control 비트는 01 이다.
Event Information Table (EIT)
- 가상 채널 에서 정의한 event 를 위한 정보들(title, start time etc) 을 가지고 있다.
- 일반적인 경우가 TV program 이다. EIT 는 service_type 0x01, 0x02 또는 0x03 의 가상채널을 위한 정보를 제공해야 한다.
- 오직 데이터를(0x04) 위한 서비스는 사용하지 않는다.
- EIT-k 의 PID 는 MGT와 같은 값을 가진다. 그러나 MGT 의 table_type_pid 값과는 달라야 한다.
- transport_scrambling_control 비트는 00 이다. adaptatin_field_control 비트는 01 이다.
Extend Text Table (ETT)
- 옵션과 가상채널과 이벤트의 자세한 description을 제공하고 사용되어지는 Extend Text Message(ETM) stream 가 포함된다.
- ETM은 여러개의 string 데이터 structure 과 몇가지의 다른 언어의 description 이다.
Directed Channel Change Table (DCCT)
- virtual channel 의 변경 요청을 정의한다.
- physical channel 사이 또는 virtual channel 의 변경을 통해 화질을 높힐 수 있을 때, headend 가 이것을 가리킨다.
- channel 바꿀려는 요청은 무조건 또는 geographic 또는 시험화면, headend 가 만든 menu setup 타입의 화면을 보여준다.
DCC Selection Code Table (DCCSCT)
- code 유형 값과 표준 이름의 값과 또는 지역/국가 의 위치 코드를 원래 데이터를 확장하기 위해 사용한다.
- table_id 는 0xD4 이다.
- transport_scrambling_control 비트는 00 이다. adaptatin_field_control 비트는 01 이다.
Core Descriptors
현재 transport stream 이 관련한 테이블이 리스트될 때, descriptor_tag 는 그것들의 이름, 사용하는 것을 보여준다.
AC-3 Audio Descriptor
EIT 에서 사용된다.
Program Identifier Descriptor
어떤 PSIP 에서도 사용되지 않는다.
Caption Service Descriptor
caption 정보를 닫는다. 예를 들면, caption 타입과 caption 정보의 close event를 위한 언어 코드이다. caption 을 close하는 각 EIT event 를 위한 descriptor() loop 는 반드시 사용한다.
Content Advisory Descriptor
RRT 에 정의 되어진 rating 레벨의 어떤 또는 모두를 위한 event, rating 을 가리킨다.
Extended Channel Name Descriptor
virtual channel 의 긴 채널 이름을 제공한다.
Service Location Descriptor
stream type PID 와 각 elementary stream 을 위한 언어코드이다. 이것의 instance 는 각 active 채널의 TVCT 를 나타낸다. service_location_descriptor() 은 비활성화된 채널을 나타내지 않는다.
Time-Shifted Service Descriptor
기본 time-shift 의 같은 프로그램을 전송하는 하나 또는 이상의 가상 채널과 함께 하나의 가상채널로 링크한다. 일반적인 application 은 VOD 서비스를 위한 것이다. time_shifted_service_descriptor() 은 EIT에 의한 시간 동안 time shift 의 접근은 변함이 없다.
Component Name Desciptor
서비스의 어떤 컨포넌트를 위한 textual name_tag 옵션을 정의한다. 언제든지 서비스에는 2개 이상의 audio 컨포넌트와 함께 같은 ISO_639_language_code 그리고 bsmod, 유일한 component_name_descriptor() 은 TS_program_map_section() 안에 EX_info_length 가 있다.
Stuffing Descriptor
확실한 application은 N byte 의 블럭이 필요하다. N byte 는 그들 자신의 process 나 interpreted 가 아니다.
Descriptors for Inactive Channels
service_location_descriptor() 은 현재 활성되어 있지 않은 채널을 가진다. 어떤 다른 descriptors 는 만일 활성화 되면, 비 활성화된 채널에 대하여 정보를 제공해야 한다.