정보통신단체표준 오류정정서 TTAK.K-08.0028/R1-Cor1 제정일: 2011 년 11 월 30 일 IPTV 콘텐츠 가이드 정보 및 전송 방식 - 오류정정 1 (IPTV Contents Guide Information and Transport Protocol - Corrigendum 1) 7 장의 내용 일부를 아래와 같이 정정한다: 1) 인터넷 멀티미디어 방송사업의 방송통신설비에 관한 기술기준 부칙 제1조의 제11조(서비스 및 시스템 정보)에서 정의한 용어를 일치하기 위하여 본문의 아래 용어를 다음과 같이 변경한다. 변경 전 표7-2. ProgramInformationType 프래그먼트의 Title 표 7-4. ScheduleType 프래그먼트의 PublishedStartTime 표 7-4. ScheduleType 프래그먼트의 PublishedDuration 표 7-2. ProgramInformationType 프래그먼트의 ParentalGuidance 변경 후 Title (프로그램 제목) PublishedStartTime (프로그램 시작시간) PublishedDuration (프로그램 상영시간) ParentalGuidance (프로그램 시청등급) 2) 7.1.1 Linear TV discovery record에서 표 7-5. Additional linear TV discovery elements/attributes를 다음과 같이 변경한다. 표 7-5. Additional linear TV discovery elements/attributes 요소 또는 속성 / Type of service Service Name Service Description Content Guide Discovery record Identifier(s) Service Genre(s) 1
- 2 - 요소 또는 속성 / Announcement stream Secondary Service Id osaic Information Recording (주 1) Extended Description (주 2) 주1) Recording 정보는 채널 단위로 녹화 가능여부를 표현하여 Boolean으로 표현함. 주2) 서비스 부가 정보를 전송하기 위하여 제공됨. 표 7-5. Additional linear TV discovery elements/attributes 요소 또는 속성 / Type of service Service Name Service Description Content Guide Discovery record Identifier(s) Service Genre(s) Announcement stream (주 1) Secondary Service Id osaic Information Recording (주 2) Extended Description (주 3) 주1) Announcement stream 정보는 ETSI EN 300 468 표준의 6.2.3 Announcement support descriptor를 따르도록 함. 주2) Recording 정보는 채널 단위로 녹화 가능여부를 표현하여 Boolean으로 표현함. 주3) 서비스 부가 정보를 전송하기 위하여 제공됨. 3) 7.1.3 GroupInformationTable에서 표 7-3. GroupInformationType 프래그먼트를 다음과 같이 변경한다. 표 7-2. GroupInformationType 프래그먼트 타입 /
요소 또는 속성 GroupInformationType GroupType BasicDescription emberf theridentifier groupid ordered numfitems fragmentid fragmentversion fragmentexpirationdate metadatariginidref xml:lang 표 7-2. GroupInformationType 프래그먼트 타입 / 요소 또는 속성 GroupInformationType GroupType BasicDescription ExtendedDescription emberf theridentifier groupid rdered numfitems fragmentid fragmentversion fragmentexpirationdate metadatariginidref 3
- 4 - xml:lang - ExtendedDescription은 사업자가 제공하는 애플리케이션을 위하여 BasicDescription에 정의되지 않은 부가정보를 전달하기 위해 사용한다. 4) 7.2.2 프래그멘테이션에서 디폴트 TVAain 프래그먼트에 대하여 다음과 같이 변경한다. TVAain 프래그먼트는 TV-Anytime 문서의 초기 디스크립션을 포함하고 있으며, 이 프래그먼트의 전송은 ETSI TS 102 323[10] 9.4.2.2절(DecoderInit and default TVAain fragment)에서 명시하는 것처럼 선택사항이다. 만약 전송된다면 Payload ID 값은 0xA2를 사용한다. 만약 전송되지 않는다면 단말에서는 디폴트 TVAain 프래그먼트를 사용한다. TVAain 프래그먼트는 TV-Anytime 문서의 초기 디스크립션을 포함하고 있으며, 이 프래그먼트의 전송은 ETSI TS 102 323[10] 9.4.2.2절(DecoderInit and default TVAain fragment)에서 명시하는 것처럼 선택사항이다. 만약 전송된다면 Payload ID 값은 0xA2를 사용한다. 만약 전송되지 않는다면 단말에서는 다음과 같은 디폴트 TVAain 프래그먼트를 사용한다. <IPTVContentGuide xmlns= urn:tta:iptv:metadata:cg:2010 > <ClassificationSchemeTable /> <ProgramDescription> <ProgramInformationTable /> <GroupInformationTable /> <ProgramLocationTable /> <ServiceInformationTable /> <PurchaseInformationTable /> </ProgramDescription> </IPTVContentGuide> 5) 7.2.5 인덱싱에서 표 7-9. Individual service elements/attributes를 다음과 같이 변경한다. 인덱스 목록에는 찾고자 하는 프래그먼트의 유형과 필드 값으로 이루어진 인덱스 레코드가 기술되어 있다. 프래그먼트의 유형은 W3C의 Xpath 방식의 문자열로 표시되거나 ETSI TS 102 822-3-2[12]의 4.8.5.1절(Identification of indices) 의 Table7에 명시된 식별자로 표현될 수 있다. 필드는 하나 이상의 연속된 값으로 나열될 수 있으며 찾고자 하는 프래그먼트의 필드 값들로 이루어진다. 각 필드는 찾고자 하는 프래그먼트의 범위를 지정하기 위한 다중키로서 활용된다.
인덱스 목록에는 찾고자 하는 프래그먼트의 유형과 필드 값으로 이루어진 인덱스 레코드가 기술되어 있다. 프래그먼트의 유형은 W3C의 Xpath 방식의 문자열로 표시되며 ETSI TS 102 822-3-2[12]의 4.8.5.3절(Index List) 의 Table7. Fragment_type assignments의 값은 0xffff로 할당된다. 필드 값은하나 이상의 연속된 값으로 나열될 수 있으며 찾고자 하는 프래그먼트의 필드 값으로 Xpath가 사용되며, Table8. Field_identifier Assignments의 값은 0xffff가 할당된다. 각 필드는 찾고자 하는 프래그먼트의 범위를 지정하기 위한 다중키로서 활용된다. 6) 7.3.3 HTTP에서 HTTP Request Format에 대하여 다음과 같이 변경한다. CGD내의 HTTP 모드로 전송되는 Payload 목록을 분석하여 HTTP에 명시된 URL로 원하는 정보를 아래와 같은 HTTP Request 포맷을 이용하여 요청할 수 있다. 'Get /tta/isd/cg_regusest HTTP/1.1' CRLF 'Host: ' host CRLF cg_request = cg?payload= PayloadId &Segment Item PayloadID = CTET; 0x00부터 0xFF까지의 16진수 SegmentID = 4*4 HEXDIG; 0x0000부터 0xFFFF까지의 16진수 Segment Item = SegmentID 0*1( & VersionNumber) VersionNumber= CTET; 0x00부터 0FF까지의 16진수 CGD내의 HTTP 모드로 전송되는 Payload 목록을 분석하여 HTTP에 명시된 URL로 원하는 정보를 아래와 같은 HTTP Request 포맷을 이용하여 요청할 수 있다. 'Get /tta/isd/cg_regusest HTTP/1.1' CRLF 'Host: ' host CRLF cg_request = cg?palyload= PayloadId &Segment= Segment Item PayloadID = CTET; 0x00부터 0xFF까지의 16진수 Segment Item = SegmentID 0*1( & VersionNumber) SegmentID = 4*4 HEXDIG; 0x0000부터 0xFFFF까지의 16진수 VersionNumber= CTET; 0x00부터 0FF까지의 16진수 5
- 6-7) 본문과 부속서 I (Annex I). 콘텐츠 가이드 정보의 데이터 스키마에서 정의한 용어를 일치하기 위하여 본문의 아래 용어를 다음과 같이 변경한다. 변경 전 TVAain TVAainType ProgramInformationType GroupInformationType ScheduleType ndemandprogramtype 변경 후 IPTVContentGuide IPTVContentGuideType IPTVProgramInformationType IPTVGroupInformationType IPTVScheduleEventType IPTVnDemandProgramType 8) TVA-Init 메시지를 구체적으로 기술하기 위하여 다음과 같이 변경한다. 7.2.1 TVA-Init 서버와 단말간에 TV-Anytime 문서를 주고 받기 위해 필요한 디코딩 프로토콜을 동기화 시키기 위하여 단말은 TVA-Init 메시지를 제일 먼저 받아야 한다. TVA-Init 메시지는 부호화 방식, 인덱싱 방식, 문자 코드 그리고 버퍼 크기 등을 포함하는 바이너리 형태이다. DVB-TVA-init 메시지를 부호화하기 위해서는 102 323 [10]표준의 9.4.2.1절 (DVB-TVA-init essage) 을 준용하되 Zlib로 부호화되는 경우를 표시하기 위해 부호화 버전 정보를 표 7-11과 같이 수정한다. 9) 표 7-11. 부호화 버전 값 0xF8 부호화 버전 (Encoding Version) ZLib 7.2.1 TVA-Init 서버와 단말간에 TV-Anytime 문서를 주고 받기 위해 필요한 디코딩 프로토콜을 동기화 시키기 위하여 단말은 TVA-Init 메시지를 제일 먼저 받아야 한다. TVA-Init 메시지는 부호화 방식, 인덱싱 방식, 문자 코드 그리고 버퍼 크기 등을 포함하는 바이너리 형태이다. DVB-TVA-init 메시지를 부호화하기 위해서는 102 323 [10]표준의 9.4.2.1절 (DVB-TVA-init essage) 을 준용하되 Zlib로 부호화되는 경우와 부호화되지 않는 경우를 표시하기 위해 부호화 버전 정보를 표 7-11과 같이 수정하고, TVA-init 메시지를 표 7-12와 같이 추가한다. 표 7-11. 부호화 버전 값 0xF8 0xF9 부호화 버전 (Encoding Version) ZLib No encoding (예, raw XL)
표 7-12. TVA-init 메시지 Syntax No. of bits nemonic TVA init essage { EncodingVersion 8 Uimsbf IndexingFlag 1 Bslbf Reserved 7 DecoderInitptr 8 Bslbf if( EncodingVersion == '0x01' ) EncodingVersion == '0xF0' ) { BufferSizeFlag 1 Bslbf PositionCodeFlag 1 Bslbf reserved 6 CharacterEncoding 8 Uimsbf if (BufferSizeFlag=='1') { BufferSize 24 Uimsbf else if( EncodingVersion == '0xF8' ) { BufferSizeFlag 1 reserved 7 CharacterEncoding 8 if (BufferSizeFlag=='1') { BufferSize 24 Uimsbf if(indexingflag) { IndexingVersion 8 Uimsbf if(encodingversion == 0xF9 ){ CharacterEncoding 8 Uimsbf reserved 0 or 8+ DecoderInit( ) Bslbf 7
- 8-9) Encapsulation에 대하여 다음과 같이 변경한다. 7.2.4 인캡슐레이션 분할된 프래그먼트들을 컨테이너에 인캡슐레이션 하는 방법은 ETSI TS 102 323[10] 9.3절 (Fragment encapsulation)을 준용한다. 그림 7-2의 데이터 컨테이너 구조에서 Bi 부호화를 사용하지 않으므로 Encapsulation Structure내의 Fragment Reference Format에서 0xE1으로 정의된 DVB_Bi_Fragment_reference는 사용하지 않고 ETSI TS 102 822-3-2[12]의 4.6.1.1절(Encapsulation structure) 의 내용을 그대로 사용한다. 7.2.4 인캡슐레이션 분할된 프래그먼트들을 컨테이너에 인캡슐레이션 하는 방법은 ETSI TS 102 323[10] 9.3절 (Fragment encapsulation)을 준용하되, Fragment Reference Format과 Fragment_reference() Syntax는 다음과 같이 사용한다. Fragment_reference_format Value Semantics 0x00 Reference to a Bi encoded fragment (see clause 4.6.1.3.1) 0x1 0xE0 0xF0 0xF1 TVA Reserved string (no encoding) 형식의 프래그먼트 GZip 부호화의 바이너리 형식의 프래그먼트 Fragment_reference() Syntax Syntax No. of Bits nemoric fragment_reference(){ Fragment_type 8 uimsbf Reserved 8 If(fragment_reference_format== 0xF0 ){ string_fragment_ptr 24 uimsbf Else if fragment_reference_format== 0xF1 ){ GZip_Fragment_ptr 24 uimsbf
GZip_Fragment_length 16 uimsbf 9