Microsoft Word - 2011-089_TTAK.KO-08.0028_R2_재수정



Similar documents
Microsoft Word TC 최종본-TTAK.KO _R1-Cor1

OMA Bcast Service Guide ATSC 3.0 (S33-2) T-UHDTV 송수신정합 Part.1 Mobile Broadcast (Open Mobile Alliance) 기반 Data Model ATSC 3.0 을위한확장 - icon, Channel No.

Microsoft Word - src.doc

untitled

0. 들어가기 전

thesis

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

슬라이드 제목 없음




00-1표지

20주년용

2 : UHD MMT/ROUTE (Doohwan Kim et al.: Broadband Content Insertion Technology based on Terrestrial UHD Broadcasting MMT/ROUTE) (Regular Paper) 24 2, 2

07변성우_ok.hwp


<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

강의지침서 작성 양식

untitled

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

TTA Journal No.157_서체변경.indd

(JBE Vol. 23, No. 6, November 2018) (Special Paper) 23 6, (JBE Vol. 23, No. 6, November 2018) ISSN 2

0125_ 워크샵 발표자료_완성.key

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

06_ÀÌÀçÈÆ¿Ü0926

PowerPoint Template

SMB_ICMP_UDP(huichang).PDF

차세대방송표준포럼단체표준 ( 국문표준 ) 제정일 : 2016 년 4 월 14 일 UHD IBB 서비스 - 파트 4. 컴패니언스크린서비스 Standard for UHD IBB Service - Part 4. Companion Screen Service 본문서에대한저작권은

UDP Flooding Attack 공격과 방어

SchoolNet튜토리얼.PDF

1 : MPEG-DASH MMT (MinKyu Park et al.: MMT-based Broadcasting Services Combined with MPEG-DASH) (Regular Paper) 20 2, (JBE Vol. 20, No. 2, Marc

노무관리업무 담당자 워크숍 속표지

°í¼®ÁÖ Ãâ·Â

4 꼬부랑 이라는 말이 재미있습니다. 5같은 말이 반복이 되어서 지루합니다. 4 꼬부랑 은 굽은 모양을 재미있게 흉내 낸 말입니다. 꼬부랑 을 빼고 읽는 것보다 넣어서 읽 으면 할머니와 엿가락, 강아지의 느낌이 좀 더 실감 나서 재미가 있습니다. 국어2(예습) / 1.

PowerPoint 프레젠테이션

SIGIL 완벽입문

< B8A65FC5EBC7D15FBBE7B1B3C0B0BAF15FC0FDB0A85FC8BFB0FABAD0BCAE2E687770>

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

001지식백서_4도

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

우루과이 내지-1

Microsoft Word - src.doc

세계 비지니스 정보

(JBE Vol. 21, No. 3, May 2016) HE-AAC v2. DAB+ 120ms..,. DRM+(Digital Radio Mondiale plus) [3] xhe-aac (extended HE-AAC). DRM+ DAB HE-AAC v2 xhe-aac..

Windows 8에서 BioStar 1 설치하기

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA

02손예진_ok.hwp

Contents Why DMB? When DMB? Where DMB? What DMB? Who DMB? How DMB? Demonstration Conclusion 2/ 27

게시판 스팸 실시간 차단 시스템

< BFCFB7E15FC7D1B1B9C1A4BAB8B9FDC7D0C8B85F31352D31BCF6C1A4C8AEC0CE2E687770>

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

歯튜토리얼-이헌중.PDF

歯3이화진


미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile

<B9E9B3E2C5CDBFEFB4F5B5EBBEEE20B0A1C1A4B8AE20B1E6C0BB20B0C8B4C2B4D92E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

○ 제2조 정의에서 기간통신역무의 정의와 EU의 전자커뮤니케이션서비스 정의의 차이점은

Network seminar.key

38이성식,안상락.hwp


TCP.IP.ppt

<4D F736F F D205B D D20B8F0B9D9C0CF20BDC5B7DA20BCADBAF1BDBAB8A620C0A7C7D120BDC5B7DABAB8BEC8B8F0B5E25F4D544D5F20BBE7BFEB20BDC3B3AAB8AEBFC02E646F63>

<C1A4C3A5BFACB1B D3420C1A4BDC5C1FAC8AFC0DAC0C720C6EDB0DFC7D8BCD220B9D720C0CEBDC4B0B3BCB1C0BB20C0A7C7D120B4EBBBF3BAB020C0CEB1C720B1B3C0B020C7C1B7CEB1D7B7A520B0B3B9DF20BAB8B0EDBCAD28C7A5C1F6C0AF292E687770>

Portal_9iAS.ppt [읽기 전용]

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

USER GUIDE

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

israel-내지-1-4

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Social Network


CONTENTS.HWP

INDUS-8.HWP

Remote UI Guide

ISO17025.PDF

문서 템플릿

소프트웨어 융합 개론

MySQL-.. 1

<C1B6BBE7BFACB1B D303428B1E8BEF0BEC B8F1C2F7292E687770>

차세대방송표준포럼단체표준 ( 국문표준 ) 제정일 : 2016 년 4 월 14 일 UHD IBB 서비스 - 파트 5. 서비스가이드 Standard for UHD IBB Service - Part 5. Service Guide 본문서에대한저작권은차세대방송표준포럼에있으며,

10X56_NWG_KOR.indd

Microsoft Word - TTAK.KO

DBPIA-NURIMEDIA

< D B0F8B1BA5F FB1BABCF6B9B0C0DAB0FCB8AEBDC3BDBAC5DB5FC0C0BFEBBFE4B1B8BBE7C7D75FC7C1B7CEC6C4C0CF2E687770>

1217 WebTrafMon II

Voice Portal using Oracle 9i AS Wireless

DBPIA-NURIMEDIA


Polly_with_Serverless_HOL_hyouk

snmpgw1217

untitled

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

알람음을 출력하는 이동통신 단말기에 있어서, 실시간 알람음을 출력하는 음향 출력 수단; 디지털 멀티미디어 방송(DMB: Digital Multimedia Broadcasting, 이하 'DMB'라 칭함) 신호를 수신하면 오디오 형태로 변 환하여 DMB의 음향을 전달하는

H122_E.book

Transcription:

개정일: 2013 년 12 월 18 일 T T A S t a n d a r d IPTV 콘텐츠 가이드 정보 및 전송 방식 (Standard for IPTV Contents Guide Information and Transport)

개정일 : 2013년 12월 18일 IPTV 콘텐츠 가이드 정보 및 전송 방식 (Standard for IPTV Contents Guide Information and Transport) 본 문서에 대한 저작권은 TTA 에 있으며, 이 문서의 전체 또는 일부에 대하여 상업적 이익을 목적으로 하는 무단 복제 및 배포를 금합니다. Copyrightc Telecommunications Technology Associations 2011. All Rights Reserved.

서 문 정보통신단체표준(국문표준) 1. 표준의 목적 본 표준은 IPTV 단말이 IPTV 서비스를 탐색하고 특정 콘텐츠를 선택하는 데에 필요한 가이드 정보를 탐색하기 위한 사항을 기술한다. 2. 주요 내용 요약 본 표준은 IPTV 단말이 IPTV 서비스를 탐색하고 특정 콘텐츠를 선택하는 데에 필요한 IPTV 서비스 프로그램 및 콘텐츠 가이드 정보의 구조, 부호화 방식, 전송 방식에 대하여 기술한다. 3. 표준 적용 산업 분야 및 산업에 미치는 영향 본 표준은 국내 IPTV 서비스와 관련된 산업 분야에 적용할 수 있으며 그 영향은 다음과 같다. 1) 사용자에게 미치는 영향 IPTV 를 통하여 방송과 통신이 융합된 서비스를 제공할 수 있게 되어 보다 다양한 서비스 사업자의 콘텐츠를 편리하게 소비할 수 있다. 2) 서비스 사업자에게 미치는 영향 IPTV 단말과 서비스 사업자 사이의 서비스 탐색 단계 표준화를 통해 가입자 기반 확대 및 단말 투자 비용 절감 효과가 있다. 3) IPTV 단말 제조업체에 미치는 영향 IPTV 라는 새로운 시장에 맞춘 높은 수익의 기기의 통신사 및 사용자 판매로 인하여 수익이 증가할 것이다. 4. 참조 표준(권고) 4.1. 국외 표준(권고) i

- 해당 사항 없음 4.2. 국내 표준 - 해당 사항 없음 5. 참조 표준(권고)과의 비교 5.1. 참조 표준(권고)과의 관련성 - 해당 사항 없음 5.2. 참조한 표준(권고)과 본 표준의 비교표 - 해당 사항 없음 5. 참조 표준(권고)과의 비교 5.1. 참조 표준(권고)과의 관련성 본 표준에 따라 개발된 제품이 국내 및 국제 시장에 동시에 진출할 수 있도록 본 표준은 국내외 표준과의 호환성을 고려하였다. 5.2. 참조한 표준(권고)과 본 표준의 비교표 본 표준은 상기 국외 및 국내 표준들을 참조하여 작성하였으며, 국내 IPTV 서비스 현실에 적합하도록 추가 및 수정 보완 확장되었다. 6. 지적재산권 관련 사항 본 표준의 지적 재산권 확약서 제출 현황은 TTA 웹사이트에서 확인할 수 있다. 본 표준을 이용하는 자는 이용함에 있어 지적 재산권이 포함되어 있을 수 있으므로, ii

확인 후 이용한다. 본 표준과 관련하여 접수된 확약서 이외에도 지적 재산권이 존재할 수 있다. 7. 적합 인증 관련 사항 7.1. 적합 인증 대상 여부 해당 사항 없음. 7.2. 시험 표준 제정 여부(해당 시험 표준 번호) 해당 사항 없음. 8. 표준의 이력 8.1. 표준의 이력 판수 제/개정일 제 개정내역 제1판 2010. 9. 16 제정 (TTAK.KO-08.0028) 제2판 2011. 3. 30 개정 (TTAK.KO-08.0028/R1) 오류정정 2011. 11. 30 오류정정 (TTAK.KO-08.0028/R1-Cor1) 제3판 2013. 12. 18 개정 () 8.2. 주요 개정 사항 본 표준에서는 시청각 장애 보조 방송 서비스를 지원하기 위한 Captioning 속성값과 AudioAttributes 속성값이 변경되었고 부속서 A의 스키마에 IPTVAudioAttributesType이 추가 되었다. 또한 대용량 정보를 처리하기 위한 인덱싱 방법을 국내 환경에 맞게 확 장하였고 HTTP을 이용한 쿼리 방식과 JSON/BSON 전송 방식을 추가 하였다. TTAK.KO-08.0028/R1-Cor1 비고 1. 개요 1. 개요 동일 iii

2. 표준의 구성 및 범위 2. 표준의 구성 및 범위 동일 3. 정의 3. 정의 동일 정보통신단체표준(국문표준) 4. 참조 문서 4. 참조 문서 변경 5. IPTV 사업자 선택 및 서비스 사용 인증 6. 서비스 사업자 및 서비스 정보 탐색 5. IPTV 사업자 선택 및 서비스 사용 인증 6. 서비스 사업자 및 서비스 정보 탐색 동일 동일 7. 콘텐츠 가이드 정보 탐색 7. 콘텐츠 가이드 정보 탐색 변경 8. 프로그램 또는 콘텐츠 선택 및 접속 부속서 A 콘텐츠 가이드 정보의 데이터 스키마 부록 I 실시간(Linear) TV 서비스를 위한 컨테이너 구성 방법 부록 II 주문형 비디오(VoD) 서비스를 위한 컨테이너 구성 방법 8. 프로그램 또는 콘텐츠 선택 및 접속 부속서 A 콘텐츠 가이드 정보의 데이터 스키마 부록 I 실시간(Linear) TV 서비스를 위한 컨테이너 구성 방법 부록 II 주문형 비디오(VoD) 서비스를 위한 컨테이너 구성 방법 동일 추가 동일 동일 iv

Preface 정보통신단체표준(국문표준) 1. Purpose of Standard This standard is intended to provide functional specification to discover of contents guide information, which is needed for IPTV terminal to select specific contents. 2. Summary of Contents This standard specifies IPTV service programs and contents guide information structure, encoding and delivery protocol, which is needed for IPTV terminal to select specific contents. 3. Applicable Fields of Industry and its Effect This standard can be applied to the entire industry concerning domestic IPTV broadcasting, and the fields that it can take effects on are as follows: 1) Consumers Contents will be consumed in easy and many different ways, as IPTV enables broadcasting and communication to be converged. 2) Service Providers Through the standardization of service discovery step, subscribers will be increased and cost of IPTV terminal devices will be cut down. 3) Manufacturers highly profitable machinery that is developed for the new market of IPTV industry will increase revenue by promoting sales 4. Reference Standards(Recommendations) 4.1. International Standards(Recommendations) - None v

4.2. Domestic Standards - None 5. Relationship to International Standards(Recommendations) 5.1. Relationship of International Standards - None 5.2. Differences between International Standard(Recommendation) and this Standard This standard is based on the international and domestic standards listed above and some items are added and modified to reflect Korean domestic IPTV service environments. 6. Statement of Intellectual Property Rights IPRs related to the present document may have been declared to TTA. The information pertaining to these IPRs, if any, is available on the TTA Website. No guarantee can be given as to the existence of other IPRs not referenced on the TTA website. And, please make sure to check before applying the standard. 7. Statement of Testing and Certification 7.1. Object of Testing and Certification None 7.2. Standard of Testing and Certification None vi

8. History of Standard 8.1. Change History Edition Issued Date Outline The 1st edition 2010. 9. 16 The 2nd edition 2011. 3. 30 The 2nd edition - Corrigendum1 2011. 11. 30 The 3rd edition 2013. 12. 18 Established TTAK.KO-08.0028 Revised TTAK.KO-08.0028/R1 Corrigendum TTAK.KO-08.0028/R1-Cor1 Revised 8.2. Revisions TTAK.KO-08.0028/R1 Remarks 1. Introduction 1. Introduction equal 2. Scope 2. Scope equal 3. Reference Standards 4. References modified 4. Terms Definitions and Abbreviations 3. Definitions equal 5. Selection of IPTV Service Provider and Authentication of User 6. Discovery of IPTV Service Provider and Service Information 7. Discovery of Contents Guide Information 5. Selection of IPTV Service Provider and Authentication of User 6. Discovery of IPTV Service Provider and Service Information 7. Discovery of Contents Guide Information equal equal modified 8. Selection and Access of Content 8. Selection and Access of Content equal Annex A. Data Schema of Service Provider and Service Information Appendix I. Container for Linear TV Service Annex A. Data Schema of Service Provider and Service Information Appendix I. Container for Linear TV Service added equal Appendix II. Container for VoD Service Appendix II. Container for VoD Service equal vii

목 차 정보통신단체표준(국문표준) 1. 개요... 1 2. 표준의 구성 및 범위... 1 3. 참조 표준(권고)... 1 4. 용어 정의 및 약어... 1 5. IPTV 사업자 선택 및 서비스 사용 인증... 5 6. 서비스 사업자 및 서비스 정보 탐색... 5 7. 콘텐츠 가이드 정보 탐색... 5 7.1. 콘텐츠 가이드 정보... 5 7.2. 콘텐츠 가이드 정보 전송 방식... 17 7.3. 콘텐츠 가이드 정보 부호화 및 인캡슐레이션 방식... 26 8. 프로그램 또는 콘텐츠 선택 및 접속... 36 부속서 A. 콘텐츠 가이드 정보의 데이터 스키마... 37 부록 I. 실시간(Linear) TV 서비스를 위한 컨테이너 구성 방법... 44 부록 II. 주문형 비디오(VoD) 서비스를 위한 컨테이너 구성 방법... 49 부 록 III. 관련 문헌... 54 viii

Contents 정보통신단체표준(국문표준) 1. Introduction... 1 2. Constitution and Scope... 1 3. Reference Standards(Recommendations)... 1 4. Terms Definitions and Abbreviations... 1 5. Selection of IPTV Service Provider and Authentication of User... 5 6. Discovery of IPTV Service Provider and Service Information... 5 7. Discovery of Contents Guide Information... 5 7.1. Contents Guide Information... 5 7.2. Delivery Protocol of Contents Guide Information... 17 7.3. Encoding of Contents Guide Information... 26 8. Selection and Access of Content... 36 Annex A. Data Schema of Service Provider and Service Information... 37 Appendix I. Container for Linear TV Service... 44 Appendix II. Container for VoD Service... 49 Appendix III. Related Documents... 54 ix

IPTV 콘텐츠 가이드 정보 및 전송 방식 (IPTV Contents Guide Information and Transport) 정보통신단체표준(국문표준) 1. 개요 본 표준은 양방향 IP 네트워크에서 IPTV 콘텐츠를 선택하는 데 필요한 가이드 정보와 그 전송 방식에 대하여 기술한다. 2. 표준의 구성 및 범위 본 표준은 IPTV 단말과 IPTV 서비스 사업자 사이에 IPTV 서비스를 탐색하고 콘텐츠를 선택하는 데 필요한 서비스 프로그램 및 콘텐츠 가이드 표현 및 전송 방식에 대하여 기술한다. 3. 참조 표준(권고) - 해당 사항 없음 4. 용어 정의 및 약어 4.1. 용어 정의 4.1.1. 단말 장치 콘텐츠를 처리하여 표현하는 종단 사용자 장치로 PC, 컴퓨터 주변 장치, 모바일 장치, TV 셋, 모니터, VoIP 단말기 또는 시청각 미디어 플레이어 등 4.1.2. 메타데이터(Metadata) 본 표준에 기술된 엔티티의 식별(identification), 탐색(discovery), 평가 (assessment)와 관리(management)에 도움을 주는 정보 관련 엔티티의 특징을 기술하는 구조화되고 부호화된 데이터 1

4.1.3. 서비스 애플리케이션을 지원하기 위해 의도된 능력의 구조 집합(structure set) 4.1.4. 서비스 사업자 관세나 계약을 기반으로 사용자에게 통신 서비스를 제공하는 사업자(operator)에 대한 일반적인 참조. 서비스 제공자는 네트워크를 운영할 수도 운영하지 않을 수도 있다. 서비스 제공자는 또 다른 서비스 사업자의 고객이 될 수도 있고, 되지 않을 수도 있다. 4.1.5. 실시간(Linea) TV 서비스 사업자로부터 단말 장치로의 연속적인 스트림 플로(stream flow)에서의 텔레비전 서비스로, 사용자는 콘텐츠를 시청하는 시간적인 순서를 제어할 수 없음 4.1.6. 애플리케이션(Application) 하나 또는 복수의 상호 동작하는 하드웨어에서 돌아가는 소프트웨어로 실현된 기능 구현물 4.1.7. 전자 프로그램 안내(EPG, Electronic Program Guide) 시청자의 시청 편의를 제공하기 위하여 TV 화면에 표시하는 프로그램 편성표 4.1.8. 주문형 비디오(VoD, Video-on-Demand) 주문형 서비스 또는 주문형 콘텐츠(CoD, Contents on Demand) 라고도 함. 등록된 사용자는 언제든지 원하는 시간에 콘텐츠를 시청할 수 있도록 하는 서비스. 콘텐츠가 서비스 제공업체의 주문형 비디오(VoD) 서버에 저장되어 있음을 가정함. 사용자는 정지, 재생, 되감기, 빨리 감기, 타임시프트 등의 기능을 사용할 수 있음 2

4.1.9. 콘텐츠 하나의 서비스에 사용된 비디오, 오디오, 그래픽 등과 같은 소재. 때로는 데이터와 애플리케이션을 포함하기도 한다. 4.1.10. 패키지 종단 사용자에게 체험을 제공하고 함께 사용하도록 만들어진 콘텐츠 구성 요소의 전부 또는 일부의 모음 4.2. 약어 CG CGD CRID DVB DVBSTP FEC FLUTE HTTP ID IGMP IP SI TLS URI URL XML JSON BSON Contents Guide Contents Guide Discovery Contents Referencing ID Digital Video Broadcasting DVB SD&S Transport Protocol Forward Error Correction File Delivery over Unidirectional Transport Hyper Text Transfer Protocol IDentifier Internet Group Management Protocol Internet protocol Service information Transport Layer Security Uniform Resource Indicator Uniform Resource Locator Extensible Mark-up Language JavaScript Object Notation Binary JSON 3

4.3. 서술 규칙 4.3.1. 강제(요구) 사항 <표 4-1>의 서술 규칙에 따라 작성된 내용은 강제 사항으로 해석한다. <표 4-1> 서술 규칙(강제 사항) ~하여야 한다 (shall) 문장 말미 형태 ~하여서는 안된다 (shall not) 대등한 표현법 ~한다 ~이 요구된다 ~할 것이 요구된다 ~이어야 한다 ~오직...만이 허용된다 ~이 필요하다 ~은 허가 (허용/수용/인정)되지 않는다 ~하지 않을 것이 요구된다 ~이지 않아야 한다 ~이어서는 안 된다 4.3.2. 권장 사항 <표 4-2>의 서술 규칙에 의해 작성된 사항은 권장 사항으로 해석한다. <표 4-2> 서술 규칙(권장 사항) 문장 말미 형태 ~하는 것이 권장된다. (should) ~하지 않을 것이 권장된다. (should not) ~하는 것이 좋다 ~하는 것이 바람직하다 ~하지 않는 것이 바람직하다 ~하지 않는 것이 좋다 대등한 표현법 4.3.3. 선택 사항(허용 및 가능성) <표 4-3>의 서술 규칙에 따라 작성된 문장은 선택 사항으로 해석한다. 4

<표 4-3> 서술 규칙(선택 사항) 문장 말미 형태 대등한 표현법 ~해도 된다 (may) ~할 수 있다 (can) ~할 필요가 없다 (need not) ~가 용인된다 ~가 허용된다 ~해도 무방하다 ~할 능력이 있다 ~할 가능성이 있다 ~가 가능하다 ~하지 않아도 좋다 ~하지 않아도 된다 5. IPTV 사업자 선택 및 서비스 사용 인증 IPTV 단말이 켜진 후 네트워크 접속, 사업자 정보 획득, 사업자 접근을 통한 단말 인증, 펌웨어(Firmware) 및 소프트웨어 업그레이드, 사업자 프로비저닝을 통한 서비스 사업자 서버 주소 획득 등은 TTAK.KO-08.0026 [3]을 준용한다. 6. 서비스 사업자 및 서비스 정보 탐색 획득한 서비스 사업자 서버 주소를 통하여 서비스 사업자 정보 및 서비스 정보를 전송받는 방법은 TTAK.KO-08.0027 [4]을 따르도록 한다. 7. 콘텐츠 가이드 정보 탐색 본 절에서는 서비스를 통하여 제공하는 프로그램과 콘텐츠에 대한 상세 정보를 기술하는 메타데이터의 구조 및 전송 방식에 대하여 기술한다. 7.1. 콘텐츠 가이드 정보 본 절에서는 서비스를 통하여 제공하는 프로그램과 콘텐츠에 대한 상세 정보를 기술한다. 각 콘텐츠에는 사업자가 부여한 식별자가 있으며, 이는 TV-Anytime 의 콘텐츠 참조 식별자(CRID: Contents Referencing ID)의 형식을 따른다. 콘텐츠 참조 식별자 (CRID)는 사업자가 제공하는 서비스 영역 내에서 각 콘텐츠 구별을 위해 유효한 값으로 다음과 같은 형태로 기술된다. 5

가. crid://<authority>/<data> Authority 는 각 사업자를 구분하는 도메인 네임 서비스(DNS) 이름이 사용된다. Data 는 사업자가 임의로 정의하는 텍스트 형태로 강제적인 규칙이 존재하지 않는다. 다음에 실시간(Linear) TV 나 주문형 비디오(VoD)를 위한 두 가지 형태의 예제와 유사한 형태로 사용하면 된다. 나. Data for Linear TV: LiveTV/MBC/20100412@StartTime:EndTime 이는 실시간(Linear) TV 채널 중 MBC 에서 2010 년 4 월 12 일에 StartTime(dd:dd:dd, d=10 진수)에 시작하여 EndTime 에 종료되는 프로그램을 명시한다. 다. Data for VoD: VoD/지상파/MBC/드라마/선덕여왕/1 회 이는 주문형 비디오(VoD) 서비스 중 지상파에서 방영되었던 프로그램을 주문형 비디오(VoD)로 제공하기 위해 특정 콘텐츠를 명시한 것으로, 여기서는 MBC 에서 방영된 드라마 중 선덕여왕의 1 회에 해당되는 프로그램을 명시한다. 콘텐츠 가이드 정보는 여러 테이블로 구성되며 각 테이블을 구성하는 요소 및 속성에 대하여 강제 사항(mandatory), 선택 사항(optional) 등을 표시한다. 콘텐츠 가이드를 구성하는 각 테이블의 요소 및 속성 정보에 대한 의미는 ITU-T IPTV-MDSD [7], ATIS-0800020 [18] 또는 ETSI TS 102 822-3-1 [11]을 참조한다. 각 테이블에서 강제 사항(mandatory) 요소 및 속성은 M 으 로 표현되고, 선택 사항(optional)은 O 로 표현된다. 7.1.1. IPTVContentGuide <표 7-1>은 IPTVContentGuide 에 대한 요소 및 속성 정보를 보여준다. <표 7-1> IPTVContentGuide 타입 요소 또는 속성 M/O 6

IPTVContentGuide IPTVContentGuideType MetadataOriginationInformationTable ClassificationSchemeTable ProgramDescription xml:lang publisher publicationtime rightsowner originid Version M MetadataOriginationInformationTableType MetadataOriginationInformation xml:lang ProgramDescriptionType ProgramInformationTable GroupInformationTable ProgramLocationTable ServiceInformationTable PurchaseInformationTable 7.1.2. ProgramInformationTable ProgramInformationTable 은 각각의 프로그램에 대한 기술 정보와 그룹과의 연관성 정보를 제공하고, 콘텐츠를 식별하는 데 가장 중요한 programid 가 수록되어 있다. 즉, ProgramInformation 을 이용하면 각 프로그램을 식별하고, 프로그램의 그룹에 대한 식별을 제공하여, 콘텐츠의 가공 및 처리를 용이하게 할 수 있다. ProgramInformationTable 은 IPTVProgramInformationType 을 갖는 ProgramInformation 프래그먼트(fragement)들로 구성된다. 7

<표 7-2>는 IPTVProgramInformationType 프래그먼트에 대한 요소 및 속성 정보를 보여준다. <표 7-2> IPTVProgramInformationType 프래그먼트 타입 요소 또는 속성 M/O IPTVProgramInformationType BasicDescription ExtendedDescription OtherIdentifier AVAttributes MemberOf DerivedFrom EpisodeOf PartOfAggregatedProgram AggregationOf programid fragmentid fragmentversion fragmentexpirationdate metadataoriginidref xml:lang M M BasicContentDescriptionType Title (프로그램 제목) MediaTitle ShortTitle Synopsis Keyword Genre ParentalGuidance (프로그램 시청등급) M 8

9 타입 요소 또는 속성 M/O Language CaptionLanguage SignLanguage CreditsList AwardsList ProductionDate ProductionLocation Duration PurchaseList BoxOffice PurchaseListType PurchaseItem PurchaseIdRef HowToPurchase PurchaseItemType Price M Purchase Description PricingServerURL DRMDeclaration start end PurchaseType PurchaseType QuantityUnit QuantityRange AVAttributesType

타입 요소 또는 속성 M/O FileSize BitRate AudioAttributes VideoAttributes CaptioningAttributes VideoAttributesType Coding Scan HorizontalSize VerticalSize AspectRatio Color FrameRate - ExtendedDescription 은 사업자가 제공하는 애플리케이션을 위하여 BasicDescription 에 정의되지 않은 부가 정보를 전달하기 위해 사용한다. - Captioning 속성은 자막방송 관련 정보를 전달하기 위해 사용된다. 부속서 A(콘텐츠 가이드 정보의 데이터 스키마) 내 Captioning 속성에 대한 상세 요소에 대한 의미는 TTAK.KO-07.0093 [5]의 5.2.5 절 자막 서비스 디렉터리 를 따른다. - 화면해설방송 정보를 전달하기 위해 AudioAttributes 를 확장하여 IPTVAudioAttributes 를 정의 하였다. IPTVAudioAttributes 는 식별자 속성 'Audio Type'을 정의하여 메인오디오 스트림인지 화면해설 오디오 스트림인지 식별한다. value 값은 주오디오는 'CM(Complete Main)'으로 정의하고 화면해설 오디오는 'VI(Visually Impaired)'로 정의한다. default 는 'CM'으로하고 CM 과 VI 중에 오디오 특성에 맞게 선택하여 설정한다. 부속서 I. 콘텐츠 가이드 정보의 데이터 스키마(Annex I. Data Schema of Contents Guide Information)에 정의한다. 10

- 국내표준에 추가된 자막방송 관련정보를 전달하기 위해 확장된 CaptionAttributes 와 화면해설방송 정보를 전달하기 위해 확장된 AudioAttributes 는 AVAttributes 를 통해 적용될 수 있다. 7.1.3. GroupInformationTable GroupInformationTable 은 IPTVGroupInformationType 을 갖는 GroupInformation 프래그 먼트들로 구성된다. <표 7-3>은 IPTVGroupInformationType 프래그먼트에 대한 요소 및 속성 정보를 보여준다. <표 7-3> IPTVGroupInformationType 프래그먼트 타입 M/O 요소 또는 속성 IPTVGroupInformationType GroupType BasicDescription ExtendedDescription MemberOf OtherIdentifier groupid Ordered numofitems fragmentid fragmentversion fragmentexpirationdate metadataoriginidref xml:lang M M M - ExtendedDescription 은 사업자가 제공하는 애플리케이션을 위하여 BasicDescription 에 정의되지 않은 부가 정보를 전달하기 위해 사용한다. 11

7.1.4. ProgramLocationTable ProgramLocationTable 은 프로그램에 대한 편성 정보로 프로그램 시작 시간과 방영 시간 정보를 제공한다. ProgramLocationTable 은 IPTVScheduleEventType 을 갖는 Schedule 프래그먼트, Broadcast EventType 을 갖는 BroadcastEvent 프래그먼트, IPTVOnDemandProgramType 을 갖는 OnDemandProgram 프래그먼트, OnDemandServiceType 을 갖는 OnDemandService 프래그먼트들로 구성된다. 가. Schedule 프래그먼트 <표 7-4>는 IPTVScheduleEventType 프래그먼트에 대한 요소 및 속성 정보를 보여준다. <표 7-4> IPTVScheduleEventType 프래그먼트 타입 요소 또는 속성 M/O IPTVScheduleEventType ScheduleEvent serviceidref start end fragmentid fragmentversion fragmentexpirationdate metadataoriginidref xml:lang M M ScheduleEventType Program ProgramURL InstanceMetadataId M 12

타입 요소 또는 속성 M/O InstanceDescription ExtendedDescription PublishedStartTime (프로그램 시작시간) PublishedEndTime PublishedDuration (프로그램 상영시간) Live Repeat FirstShowing LastShowing Free ParentalGuidance xml:lang Recording M M - Recording 은 녹화 가능여부를 참/거짓(True/False) 으로 표시한다. - ExtendedDescription 은 사업자가 제공하는 애플리케이션을 위한 부가 정보를 전달하기 위해 사용한다. - 국내 표준에 추가된 자막방송 관련 정보를 전달하기 위해 확장된 CaptionAttributes 와 화면 해설 방송 정보를 전달하기 위해 확장된 AudioAttributes 는 InstanceDescription 의 AVAttributes 를 통해 적용될 수 있으며, 세부사항은 7.1.2 에 기술된 바와 같다. 나. BroadcastEvent 프래그먼트 <표 7-5>는 BroadcastEventType 프래그먼트에 대한 요소 및 속성 정보를 보여준다. <표 7-5> BroadcastEventType 프래그먼트 타입 13

요소 또는 속성 M/O BroadcastEventType ScheduleEventType 의 모든 요소 또는 속성 serviceidref FragmentId fragmentversion fragmentexpirationdate 다. OnDemandService 프래그먼트 <표 7-6>은 OnDemandServiceType 프래그먼트에 대한 요소 및 속성 정보를 보여준다. <표 7-6> OnDemandServiceType 프래그먼트 타입 요소 또는 속성 M/O OnDemandServiceType OnDemandProgram FragmentId fragmentversion fragmentexpirationdate metadataoriginidref xml:lang serviceidref M M M 라. OnDemandProgram 프래그먼트 <표 7-7>은 IPTVOnDemandProgramType 프래그먼트에 대한 요소 및 속성 정보를 보여준다. 14

<표 7-7> IPTVOnDemandProgramType 프래그먼트 정보통신단체표준(국문표준) IPTVOnDemandProgramType Program ProgramURL InstanceMetadataId InstanceDescription ExtendedDescription PublishedDuration StartOfAvailability EndOfAvailability ImmediateViewing DeliveryMode ParentalGuidance fragmentid fragmentversion fragmentexpirationdate metadataoriginidref xml:lang serviceidref 타입 요소 또는 속성 M/O M - ExtendedDescription은 사업자가 제공하는 애플리케이션을 위한 부가 정보를 전달하기 위해 사용한다. 7.1.5. ServiceInformationTable ServiceInformationTable은 방송 서비스 및 채널 관련 정보로 채널명이나 서비스 URL, 로고(logo), 서비스에 관한 설명(description), 서비스 장르(genre) 등의 정보로 구성된다. ServiceInformationTable은 ServiceInformationType을 갖는 ServiceInformation 프래그 먼트들로 구성된다. <표 7-8>은 ServiceInformationType 프래그먼트에 대한 요소 및 속성 정보를 보여준다. <표 7-8> ServiceInformationType 프래그먼트 타입 요소 또는 속성 M/O 15

ServiceInformationType Name Owner ServiceURL Logo ServiceDescription ServiceGenre ServiceLanguage ParentService serviceid fragmentid fragmentversion fragmentexpirationdate metadataoriginidref xml:lang serviceidref M 7.1.6. PurchaseInformationTable PurchaseInformationTable은 PurchaseInformationType이 있는 PurchaseInformation 프래그먼트들로 구성된다. <표 7-9>는 PurchaseInformationType 프래그먼트에 대한 요소 및 속성 정보를 보여준다. <표 7-9> PurchaseInformationType 프래그먼트 타입 요소 또는 속성 M/O PurchaseInformationType Price Purchase Description PricingServerURL DRMDeclaration purchaseid start M M 16

end fragmentid fragmentversion fragmentexpirationdate metadataoriginidref xml:lang 7.1.7. MetadataOriginationInformationTable MetadataOriginationInformationTable은 MetadataOriginationInformationType을 갖는 MetadataOriginationInformation 프래그먼트들로 구성된다. <표 7-10>은 MetadataOriginationInformationType 프래그먼트에 대한 요소 및 속성 정보를 보여준다. <표 7-10> MetadataOriginationInformationType 프래그먼트 타입 요소 또는 속성 M/O MetadataOriginationInformationType Publisher RightsOwner CopyrightNotice originid fragmentid fragmentversion M 7.2. 콘텐츠 가이드 정보 전송 방식 콘텐츠 가이드 정보의 전송 프로토콜은 ETSI TS 102 539[9]의 4절(Delivery of BCG data)을 준용한다. 단, 본 표준에서는 RAR((Resolving Authority Record) 통지 테이블(RNT: RAR Notification Table)나 콘텐츠 참조 정보(CRI: Content Referencing Information)를 활용하여 콘텐츠의 위치를 찾아가는 방식을 사용하지 않으므로 메타데이터만 사용하는 것으로 제한한다. 콘텐츠 가이드 정보 전달 방법은 <표 7-11>와 같이 전달 방법 별 전송 방식을 컨테이너 또는 쿼리 방식 중 선택적으로 지원 할 수 있다. 콘텐츠 가이드 정보는 7.1절의 콘텐츠 17

가이드 정보를 따르며 전송 포맷은 XML[21] 또는 JSON 및 BSON [24] 형태로 전송될 수 있다. 전송 방식에 따라 전송 포맷은 표 7.11을 따른다. <표 7-11> 전달 방법 별 전송 방식 전달 방법 전송 방식 전송 포맷 컨테이너 기반 멀티캐스트 (PUSH 방식) XML 또는 JSON/BSON 유니캐스트 (PULL 방식) XML 또는 JSON/BSON 쿼리 기반 HTTP SOAP 쿼리 방식 (XML 전송) XML HTTP 쿼리 방식 (JSON/BSON 전송) JSON/BSON 콘텐츠 가이드 정보를 컨테이너 기반으로 전송 할 경우 전송 포맷은 XML [21] 또는 JSON/BSON [24] 방식 중 요구 조건(conditional requirement)으로 지원 할 수 있다. 7.2.1. 컨테이너 기반 전달 방법 컨테이너 기반으로 콘텐츠 가이드 정보를 전송하는 방식으로 멀티캐스트로 전송하는 방식과 유니캐스트로 전송하는 방식이 사용된다. 멀티캐스트로 콘텐츠 가이드 정보를 전송하기 위해 DVB 서비스 탐색 및 선택 전송 프로토콜(DVBSTP)이 사용되며, 유니캐스트로 콘텐츠 가이드 정보를 전송하기 위해 하이퍼텍스트 전송 규약(HTTP) 프로토콜이 사용된다. 두 전송 방식은 상호 호환 가능하며, 동일한 방식으로 부호화된 동일한 콘텐츠 가이드 정보를 전송한다. 전송 방식별로 콘텐츠 가이드 정보의 부호화 방식을 기술하는 방법은 <표 7-12>와 같다. <표 7-12> 전송 방식별 부호화 방식 기술 방법 전송 방식 부호화 방식 기술 방법 DVBSTP 헤더 내에 Compression value = DVBSTP HTTP/HTTPS GZIP 포맷을 포함하는 ZLIB GZIP포맷을 포함하는 ZLIB 010 으로 기술 (TS 102 034[8]의 5.4.1.2 (Semantics) 참고) HTTP 헤더 내에 Accept-Encoding: gzip 으로 기술 (TS 102 034[8]의 5.4.2절(Protocol for unicast delivery of SD&S Information) 및 HTTP 1.1 RFC 2616[13]의 14.3(Accept-Encoding) 참고) 18

콘텐츠 가이드를 위한 전송 모델은 (그림 7.1)과 같다. (그림 7.1) 콘텐츠 가이드 전송 모델 우선 서비스 정보를 수신하는 단계에서 콘텐츠 가이드를 위한 콘텐츠 가이드 탐색 (CGD: Contents Guide Discovery) 문서를 단말기가 이미 수신하고 있는 상황이다. 패키지(Package)나 실시간(Linear)TV 문서 내에 콘텐츠 가이드(CG: Contents Guide)를 위한 선호 서버 정보가 Content Guide Discovery record Identifier 로 명시되고 콘텐츠 가이드 탐색(CGD) 내에서 해당 ID로 명시된 콘텐츠 가이드(CG) 서버의 전송 정보를 이용하여 필요한 콘텐츠 가이드 정보를 수신한다. 가. DVB 서비스 탐색 및 선택 전송 프로토콜(DVBSTP) 콘텐츠 가이드(CG) 정보를 멀티캐스트로 전송하기 위해 ETSI TS 102 034[8]의 5.4절에 정의된, DVB 서비스 탐색 및 선택 전송 프로토콜(DVBSTP: DVB SD&S Transport Protocol)을 사용한다. 이는 컨테이너를 사용자 데이터그램 프로토콜(UDP: User Datagram Protocol) 기반으로 전송한다. DVB 서비스 탐색 및 선택 전송 프로토콜 (DVBSTP)헤더에 포함된 필드의 내용은 ETSI TS 102 539[9] 4절의 내용을 준용하되 다음과 같이 제한을 둔다. - Payload ID: 페이로드 ID(Payload ID)는 <표 7-13>와 같이 사용한다 - Segment ID: 세그먼트 ID(Segment ID)는 컨테이너 ID(Container ID)로 사용된다 19

- Segment Version: 세그먼트 버전은 컨테이너의 버전으로 사용된다 - Compression (Compr): <표 7-14>과 같이 사용한다 정보통신단체표준(국문표준) <표 7-13> 페이로드 ID 값 페이로드 ID 값 전송되는 페이로드 타입 0xA1 0xA2 0xA3 0xA4 0xA5 0xA6-0xAF DVB-TVA-init 메시지 IPTVContentGuide 프래그먼트 TV-Anytime 메타데이터 데이터 컨테이너 TV-Anytime 메타데이터 인덱스 컨테이너 Both TV-Anytime 메타데이터 데이터와 인덱스 컨테이너 예비용 <표 7-14> 압축 코드 분류 압축 코드 의미 총 세그먼트 크기의 의미 000 비압축 모드 전송된 크기 010 ZLib (Gzip 포함) 전송된 크기 나. 하이퍼텍스트 전송 규약(HTTP) 콘텐츠 가이드 탐색(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= "Segment Item PayloadID = OCTET; 0x00부터 0xFF까지의 16진수 Segment Item = SegmentID 0*1('&'VersionNumber) ('&'ResponseFormat="responseFormat") SegmentID = 4*4 HEXDIG; 0x0000부터 0xFFFF까지의 16진수 VersionNumber= OCTET; 0x00부터 0FF까지의 16진수 responseformat = XML JSON BSON 값으로 데이터 응답 형태를 표현하며 항목이 20

비어 있으면 XML을 기본으로 제공 인덱스 문서를 하이퍼텍스트 전송 규약(HTTP)로 수신하기 위해서는 다음과 같이 요청하면 된다. 'GET /tta/isd/cg?payload=a4&segment=0002&01' CRLF 'Host: ' host CRLF 콘텐츠 가이드(CG) 서버는 단말의 요청을 받고 해당하는 컨테이너를 HTTP Response 형태로 전송하며 헤더에 Content-encoding : x-tta-cg-ip 를 설정하여 단말이 수신되는 메시지가 콘텐츠 가이드(CG) 요청에 대한 응답 메시지임을 알 수 있도록 한다. 7.2.2. 쿼리(Query) 기반 전달 방법 쿼리 기반으로 콘텐츠 가이드 정보를 전송하는 방식으로는 HTTP SOAP [23] 기반 쿼리 방식과 HTTP 쿼리 방식이 사용된다. 콘텐츠 가이드 정보를 XML [21]로 쿼리 하여 전송 할 경우에는 HTTP SOAP [23] 방식이 사용되며, 콘텐츠 가이드 정보를 JSON 및 BSON [24]로 쿼리하여 전송 할 경우에는 HTTP 쿼리 방식이 사용된다. 가. HTTP SOAP 기반 쿼리 방식 XML 형식에 콘텐츠 가이드(CG) 정보를 얻기 위한 쿼리 방법은 ETSI TS 102 822-6- 1[22]의 내용을 준용하며, 국내에서는 <표 7-15>과 같이 2개의 요청 메소드와 요소 및 속성을 지원해야 한다. 전송 스키마는 ETSI TS 102 822-6-1[22]의 annex B의 TV Anytime metadata transport schema를 따르며 SOAP[23] 버전은 1.1을 사용한다. 국내에서는 transport schema 중 아래 내용을 국내 환경에 맞게 수정하여 적용한다. "urn:tta:iptv:metadata:cg:2010"을 import 함 get_data_resulttype의 <element ref="tva:tvamain" minoccurs="0"/> 중 "tva:tvamain"을 "iptvcg:iptvcontentguide"로 지정 <표 7-15> SOAP에 적용되는 요청 메소드와 요소 및 속성 메소드 명 요소 및 속성 내용 QueryConstraints 검색할 조건 제공 get_data RequestedTables 요청할 테이블 RequestedFields 요청할 테이블 내 필드 21

describe_get_data SortCriteria maxprograms 파라미터 없음 정보통신단체표준(국문표준) 특정 필드 기준으로 정렬 요청 응답 받을 데이터의 최대양 지정 서버에서 제공 할 수 있는 기능 및 데이터등을 리턴 함 요청 메소드에 대한 응답은 ETSI TS 102 822-6-1[22]에 따른다. 수신기가 필요한 테이블의 필드를 요청하기 위한 예는 아래와 같다. POST /tva/md-service HTTP/1.0 Host: www.tta.or.kr Content-Type: text/xml; charset="utf-8" Content-Length: nnnn Accept-Encoding: deflate SOAPAction: "get_data" <?xml version="1.0" encoding="utf-8"?> <Envelope xmlns=" http://schemas.xmlsoap.org/soap/envelope/"> <Body> <get_data xmlns="urn:tva:transport:2010" xmlns:tva="urn:tva:metadata:2007" xmlns:tva2="urn:tva:metadata:extended:2007" xmlns:mpeg7="urn:tva:mpeg7:2005" xmlns:cr="urn:tva:contentreferencing:2007" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="urn:tva:transport:2010 tvanytime_transport_schema.xsd"> <QueryConstraints> <PredicateBag type="and"> <BinaryPredicate fieldid="tva:publishedtime" fieldvalue="2013-11-14t22:00:00z" test="greater_than_or_equals"/> <BinaryPredicate fieldid="tva:publishedtime" fieldvalue="2013-11-14t23:59:59z" test="less_than_or_equals"/> <BinaryPredicate fieldid="tva:serviceurl" fieldvalue="crid://tta.or.kr/100"/> </PredicateBag> </QueryConstraints> <RequestedTables> <Table type="programinformationtable"> <RequestedFields> <IdentificationByFieldId fieldid="tva:title"/> <IdentificationByFieldId fieldid="tva:genre"/> </RequestedFields> </Table> 22

<Table type="programlocationtable"> <RequestedFields> <IdentificationByFieldId fieldid="tva:title"/> <IdentificationByFieldId fieldid="tva:publishedstart"/> <IdentificationByFieldId fieldid="tva:publishedduration"/> </RequestedFields> <SortCriteria fieldid="tva:serviceurl" order="descending"/> <SortCriteria fieldid="tva:publishedstart"/> </Table> </RequestedTables> </get_data> </Body> </Envelope> 서비스 사업자의 응답을 위한 예는 아래와 같다. HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn Content-Encoding: deflate <?xml version="1.0" encoding="utf-8"?> <Envelope xmlns="http://www.w3.org/2002/06/soap-envelope"> <Body> <?xml version="1.0" encoding="utf-8"?> <tns:get_data_result xmlns:tns="urn:tva:transport:2010" xmlns="urn:tva:metadata:2007" xmlns:iptvcg="urn:tta:iptv:metadata:cg:2010" xmlns:xml="http://www.w3.org/xml/1998/namespace" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="urn:tva:transport:2010 tvanytime_transport_schema.xsd urn:tva:metadata:2007 tva_metadata_3-1_v141.xsd urn:tta:iptv:metadata:cg:2010 iptv_cg_r1r2.xsd" serviceversion="1" truncated="false"> <tns:tablesortinginformation> 23

<tns:table type="programlocationtable"> <tns:sortcriteria fieldid="serviceurl"/> <tns:sortcriteria fieldid="publishedstart"/> </tns:table> </tns:tablesortinginformation> <iptvcg:iptvcontentguide xml:lang="kor"> <ProgramDescription> <ProgramInformationTable> <ProgramInformation programid="crid://www.tta.or.kr/z_news"> <BasicDescription> <Title>Z News</Title> <Genre href="urn:tva:metadata:cs:contentcs:2007" type="main"> <Name>News</Name> </Genre> </BasicDescription> </ProgramInformation> <ProgramInformation programid="crid://www.tta.or.kr/movie_123"> <BasicDescription> <Title>Movie 123</Title> <Genre href="urn:tva:metadata:cs:contentcs:2007" type="main"> <Name>Movie</Name> </Genre> </BasicDescription> </ProgramInformation> </ProgramInformationTable> <ProgramLocationTable> <Schedule serviceidref="1"> <ScheduleEvent> <Program crid="crid://www.tta.or.kr/event_11/z_news"/> <PublishedStartTime>2013-11-14T22:00:00.00Z</PublishedStartTime> <PublishedDuration>PT55M</PublishedDuration> </ScheduleEvent> <ScheduleEvent> <Program crid="crid://www.tta.or.kr/event_12/movie_123"/> <PublishedStartTime>2013-11-14T23:00:00.00Z </PublishedStartTime> <PublishedDuration>PT59M</PublishedDuration> </ScheduleEvent> 24

</Schedule> </ProgramLocationTable> </ProgramDescription> </iptvcg:iptvcontentguide> </tns:get_data_result> </Body> </Envelope> 나. HTTP 기반 쿼리 방식 JSON/BSON 형식에 콘텐츠 가이드(CG) 정보를 얻기 위한 쿼리 방법은 HTTP 쿼리 방 식을 이용한다. HTTP 쿼리 방식을 이용하여 콘텐츠 가이드(CG) 정보 테이블 GroupInformationTable, ProgramInformationTable, PurchaseInformationTable, ProgramLocationTable, ServiceinformationTable의 특정 부분을 요청 및 제공 받을 수 있다. 하이퍼텍스트 전송 규약(HTTP)에 명시된 URL로 원하는 정보를 아래와 같은 HTTP Request 포맷을 이용하여 요청할 수 있다. 'Get /tta/isd/cg_regusest HTTP/1.1' CRLF 'Host: ' host CRLF cg_request = cg?tabletype= TableName &fragmenttype= FragmentType &{Element/Attribute}={Value} tabletype=요청 테이블 PurchaseInformationTable 등 ex) GroupInformationTable, ProgramInformationTable, fragmenttype= 테이블내 스키마 구조에서 명시한 Type ex) ProgramInformationType {Element/Attribute} = fragmenttype에 명시된 요소 및 속성 1 ProgramInformationTable내 특정 ProgramID를 가진 프로그램 정보를 가지고 오고 싶은 경우 아래의 예와 같이 사용 할 수 있다. cg_request=cg?tabletype=programinformationtable&fragmenttype=programinformatio ntype&pid=1128 1 원하는 조건으로 추가 할 수 있으나 mandatory 항목으로 제한 함. 25

7.3. 콘텐츠 가이드 정보 부호화 및 인캡슐레이션 방식 콘텐츠 가이드 프래그먼트의 인캡슐레이션 및 부호화는 ETSI TS 102 539 [9]의 7 TV-Anytime Fragments 을 준용하되, 국내 IPTV 서비스 환경을 고려하여 아래와 같이 수정하여 적용한다. - 콘텐츠 가이드 프래그먼트는 XML [21]형태로 표현되며, 스키마는 부속서 A. 에 자세히 기술되어 있다. - JSON/BSON 형태로 서비스 사업자 정보가 표현될 경우에도 XML 스키마의 요소와 속성값을 따른다. - 콘텐츠 가이드 프래그먼트는 ZLIB including GZIP format [19]으로 선택적으로 압축될 수 있다. (그림 7.2)는 TV-Anytime의 문서 구조와 인캡슐레이션을 통하여 전송하기까지의 절차를 간략하게 보여준다. (그림 7.2) TV-Anytime 프래그먼트 인캡슐레이션 절차 TV-Anytime의 전체 문서는 독립된 프래그먼트로 구분되어 선택된 압축 알고리즘에 의하여 부호화된 후 컨테이너라 불리는 데이터 전달 장치(Data Delivery Unit) 내에 전달된다. 이 과정에서 각 프래그먼트가 어떤 컨테이너에 포함되는지를 단말에서 쉽게 26

알 수 있도록 인덱싱 정보가 생성되어 별도의 컨테이너로 구성된다. 생성된 컨테이너 들은 또 한번의 압축 과정을 거치고 전송될 수 있도록 TS 102 539 [9]의 4.1.1.2 ompression Wrapper 에서 정의한 compression wrapper에 포함되어 DVBSTP[8]나 HTTP[14]를 통해 전송된다. 7.3.1. TVA-Init 서버와 단말 간에 TV-Anytime 문서를 주고받기 위한 복호화(decoding) 프로토콜을 동기화 시키기 위하여 단말은 TVA-Init 메시지를 가장 먼저 받아야 한다. TVA-Init 메시지는 부호화 방식, 인덱싱 방식, 문자 코드 그리고 버퍼 크기 등을 포함하는 이진 (Binary) 형태이다. DVB-TVA-init 메시지를 부호화하기 위해서는 TS 102 323 [10]의 9.4.2.1 DVB-TVA-init Message 를 준용하되 Zlib로 부호화되는 경우와 부호화되지 않는 경우를 표시하기 위해 부호화 버전 정보를 <표 7-16>과 같이 수정하고, TVA-init 메시지를 <표 7-17>과 같이 추가한다. <표 7-16> 부호화 버전 값 0xF8 0xF9 부호화 버전 ZLib No encoding (예, raw XML) <표 7-17> TVA-init 메시지 Syntax No. of bits Mnemonic TVA init Message { 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 27

} 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.3.2. 프래그멘테이션 (그림 7.3)에서 보듯이 TV-Anytime의 전체 문서는 IPTVContentGuide 프래그먼트를 루트로 하여 7.1절에 기술된 각 프래그먼트들이 비선형 트리 형태로 구성된다. 이러한 프래그먼트들은 그 자체만으로도 독립적인 의미를 가지고 있으므로 별도로 전송될 수 있다. 각각의 프래그먼트를 분할하는 과정을 프래그멘테이션이라고 한다. 그러나, 일반적으로 서비스 사업자가 TV-Anytime의 스키마를 참조하여 서비스 정보를 독립된 프래그먼트 단위로 생성하여 관리하고, 전체 프래그먼트를 통합하여 하나의 문서로 관리하지는 않는다. 즉, 각 프래그먼트들이 생성되는 단계에서 이미 프래그멘테이션이 이루어졌음을 의미한다. TVContentGuide 프래그먼트는 TV-Anytime 문서의 초기 디스크립션을 포함하고 있으며, 이 프래그먼트의 전송은 ETSI TS 102 323 [10] 9.4.2.2 DecoderInit and default TVContentGuide fragment 에서 명시하는 것처럼 선택사항이다. 만약 전송된다면 Payload ID 값은 0xA2를 사용한다. 만약 전송되지 않는다면 단말에서는 다음과 같은 디폴트 TVContentGuide 프래그먼트를 사용한다. <IPTVContentGuide xmlns= urn:tta:iptv:metadata:cg:2010 > <ClassificationSchemeTable /> <ProgramDescription> <ProgramInformationTable /> <GroupInformationTable /> <ProgramLocationTable /> <ServiceInformationTable /> 28

<PurchaseInformationTable /> </ProgramDescription> </IPTVContentGuide> 이외 데이터 프래그먼트, 인덱스 프래그먼트, 데이터와 인덱스 모두 포함하는 프래그먼트에 따라 페이로드(Payload) 값 0xA3, 0xA4, 0xA5를 사용하여 전달되며, 단말에서 수신하여 TVContentGuide에 기술된 문서 구조에 맞게 결합되어 완전한 트리를 구성하게 된다. 7.3.3. 부호화 부호화는 분할된 프래그먼트를 압축하여 문서의 크기를 줄이는 용도로 사용한다. 압축 알고리즘이 사용될 수 있다. 압축 알고리즘은 <표 7-16>의 압축 방식 중에서 선택적으로 사용될 수 있다. 7.3.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 BiM encoded fragment (see clause 4.6.1.3.1) 0x1 0xE0 TVA Reserved 0xF0 string (no encoding) 형식의 프래그먼트 0xF1 GZip 부호화의 바이너리 형식의 프래그먼트 Fragment_reference() Syntax 신텍스 No. of Bits Mnemoric fragment_reference(){ Fragment_type 8 uimsbf Reserved 8 If(fragment_reference_format== 0xF0 ){ string_fragment_ptr 24 uimsbf } 29

Else if fragment_reference_format== 0xF1 ){ GZip_Fragment_ptr 24 uimsbf GZip_Fragment_length 16 uimsbf } (그림 7.3) 데이터 컨테이너 구조 (그림 7.3)에서 보듯이 인캡슐레이션 구조에 각 프래그먼트의 저장 장소, 버전, 유형을 알려주는 정보가 포함되고 실제 프래그먼트는 데이터 저장소(Data Respository) 에서 관리된다. 데이터 컨테이너에는 프래그먼트가 압축 혹은 비압축 형태로 포함되어 전송될 수 있으며, 컨테이너 헤더를 통해 컨테이너를 구성하고 있는 구성 요소를 분석할 수 있다. 프래그먼트를 실제 저장하는 영역은 데이터 저장소로 스트링을 그대로 저장하는 영역과 이진(Binary) 형태로 저장하는 영역으로 나눌 수 있으며, 컨테이너 구성 시 둘 다 사용할 것인지 혹은 둘 중에 하나만 사용할 것인지를 정할 수 있다. 압축하지 않고 프래그먼트를 저장할 때는 스트링 데이터 저장소에 순서대로 저장하며 ETSI TS 102 822-3-2 [12]의 4.8.4.1절 String repository 의 스트링 저장소 구조에 맞게 다음과 같이 표현되어야 한다. <표 7-18> 스트링 저장소(String repository) 신텍스 비트 번호 Mnemonic string_repository() { encoding_type 8 Uimsbf 30

for (i=0, i<string_count; i++) { for (j=0, j<string(i).length; j++) { 8+ string_chaeacter } String_terminator 8+ bslbf } } 프래그먼트를 압축하여 전송하는 경우는 이진(Binary) 데이터 영역에 순서대로 저장하게 되며 저장되는 형식은 부호화 알고리즘에 따라 정의될 수 있다. ETSI TS 102 822-3-2 [12]의 4.6.1.4.1 Binary data repository 에 이진(Binary) 저장소에 부호화된 프래그먼트를 저장하는 방법을 일반적으로 명시하고 있다. ZLib를 이용하는 경우 이를 따르도록 한다. <표 7-19> 이진(Binary) 저장소 신텍스 비트 번호 Mnemonic binary_repository() { for (i=0; i<value_count; i++) { for (j=0; j<length; j++) { Value_byte 8 bslbf } } } 위의 방법은 부호화된 프래그먼트의 수(value_count)만큼 반복하여 각 부호화된 프래그먼트 크기만큼의 바이트를 순차적으로 저장하는 것을 표현한 것이다. 7.3.5. 인덱싱 프래그먼트의 양이 많으므로, 단말이 필요한 정보를 갖고 있는 프래그먼트를 쉽게 찾을 수 있도록 도와주기 위하여 인덱스 정보가 사용된다. 단말은 인덱스 정보를 먼저 수신하여 분석한 후 필요한 프래그먼트가 포함된 컨테이너를 수신하게 된다. 본 표준은 31

인덱싱과 관련하여 ETSI TS 102 822-3-2 [12]의 4.8. Indexing 을 준용하며 4.8.3. Carriage of Indexing Information 을 국내 환경에 맞게 확장하여 정의한다. (그림 7-3)은 ETSI TS 102 822-3-2 [12]의 4.8 절에 기술된 인덱스 컨테이너 구조를 보여주고 있다. (그림 7.4) 인덱스 구조 (그림 7.4)는 ETSI TS 102 822-3-2 [12]의 4.8절에 기술된 인덱스 컨테이너 구조를 보여주고 있다. 3단계의 인덱스 레벨을 포함하고 있으며, 인덱스 목록(Index List), 인덱스 그리고 서브 인덱스 영역으로 분류할 수 있다. 인덱스 목록에는 찾고자 하는 프래그먼트의 유형과 필드 값으로 이루어진 인덱스 레코드가 기술되어 있다. 프래그먼트의 유형은 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가 할당된다. 각 필드는 찾고자 하는 프래그먼트의 범위를 지정하기 위한 다중키로서 활용된다. 예를 들어 ProgramInformation 타입의 프래그먼트를 콘텐츠 참조 식별자(CRID)를 이용하여 찾고자 할 때 다음과 같이 기술한다. 아래 예제에서는 프래그먼트 유형을 ID가 아닌 W3C의 Xpath 표현 방법으로 기술한 것이다. 32

- Fragment_xpath_ptr = /tva:iptvcontentguide/tva:programdescription/tva:programinfor mationtable/tva:programinformation - Field_xpath_ptr = @tva:programid 인덱스 목록에서 링크되는 인덱스 영역에는 키로 정의된 필드 값들의 범위를 지정할 수 있도록 한다. 범위는 low_field_value와 high_field_value를 명시함으로 이루어지며 low_field_value에서 high_field_vaule까지의 서브 인덱스들이 포함되는 것을 말한다. 실제 서브 인덱스들이 저장된 위치는 필드의 범위 값 다음에 기술된 링크 정보를 통해 찾아 갈 수 있다. 서브인덱스에는 특정 TVA 프래그먼트들의 위치 정보가 있으며, 이것들은 싱글 레이어와 멀티 레이어 서브인덱스로 나누어진다. 싱글 레이어 서브인덱스는 키로 사용되는 필드가 한 개나 여러 개나 상관없이 특정 프래그먼트의 위치 정보와 연결된 것을 말하고, 멀티 레이어 서브인덱스는 각 필드가 계층적 구조를 가지고 프래그먼트의 위치 정보를 일일이 나열하지 않고 범위를 지정함으로써 프래그먼트 집합을 알 수 있도록 지원한다 (자세한 사항은 ETSI TS 102 822-3-2 [12]의 4.8.5.5 Multi_field_sub_index 참조). 서브인덱스에 의하여 지정된 프래그먼트의 위치 정보는 컨테이너 식별자와 프래그먼트 식별자로 이루어져 있다. 하나의 컨테이너에 인덱스 정보를 모두 포함 할 수 없을 경우 국내에서는 인덱스 컨테이너 생성 방법을 (그림 7-5) 또는 (그림 7-6)와 같이 확장하여 사용 할 수 있다. (그림 7-5)의 방법은 전체 데이터 컨테이너를 하나의 인덱스 목록으로 관리하는 인덱스 구조 이다. 33

(그림 7.5) 하나의 인덱스 목록으로 관리하는 인덱스 구조 전체 인덱스 정보를 포함하고 있는 인덱스 목록(Index List)을 하나의 인덱스 컨테이너에 생성하고, 이 인덱스 컨테이너를 통해 인덱스와 서브 인덱스로 구성된 인덱스 컨테이너를 생성한다. 각 서브 인덱스 컨테이너에서는 해당 데이터 컨테이너를 관리한다. (그림 7.6)의 방법은 각각의 데이터 컨테이너를 별도의 인덱스 목록으로 관리하는 인덱스 구조 이다. 34

(그림 7.6) 별도의 인덱스 목록으로 관리하는 인덱스 구조 각각의 데이터 컨테이너 마다 데이터 컨테이너를 관리하는 인덱스 컨테이너를 가지며 하나의 인덱스 컨테이너에 인덱스 목록(Index List)과 인덱스, 서브 인덱스를 모두 생성하여 데이터 컨테이너를 관리한다. 7.3.6. JSON 변환 예약어 XML을 JSON으로 변환함에 있어서 Attribute 및 element내 값을 표현 함에 있어 아래와 같은 경우 예약어를 설정 한다. 가. Attribute가 존재할 경우 변수명 앞에 @를 예약어로 사용 한다. [XML] <GroupInformationType groupid="1"> [JSON] "GroupInformationType": { "@groupid": 1 35

} 나. Element내 Attribute 값과 Text가 함께 존재 할 경우 Text의 값은 #text로 변수 명을 사용 한다. [XML] <root> <programinformation pid="1">kbs</programinformation> </root> [JSON] "programinformation": { "@pid": 1, "#text": "KBS" } 8. 프로그램 또는 콘텐츠 선택 및 접속 상기 탐색 단계를 거쳐 사용자가 원하는 프로그램이나 콘텐츠를 선택하여 시청하기 위한 접속 방법은 TTAK.KO-08.0025[4]을 따르도록 한다. 36

부속서 A 콘텐츠 가이드 정보의 데이터 스키마 <?xml version="1.0" encoding="utf-8"?> <schema xmlns:iptvcg="urn:tta:iptv:metadata:cg:2010" xmlns:tva="urn:tva:metadata:2007" xmlns:mpeg7="urn:tva:mpeg7:2005" xmlns="http://www.w3.org/2001/xmlschema" targetnamespace="urn:tta:iptv:metadata:cg:2010" elementformdefault="qualified" attributeformdefault="unqualified"> <annotation> <documentation xml:lang="en"><![cdata[ This schema is the TTA IPTV Metadata for Content Guide. The namespace of the schema is "urn:tta:iptv:metadata:cg:2010", and its preferred namespace prefix is "iptvcg". ]]></documentation> </annotation> <import namespace="urn:tva:metadata:2007" schemalocation="tva_metadata_3-1_v141.xsd"/> <import namespace="urn:tva:mpeg7:2005" schemalocation="tva_mpeg7.xsd"/> <import namespace="http://www.w3.org/xml/1998/namespace" schemalocation="xml.xsd"/> <!-- =================================================== --> <!-- Basic Type Definitions --> <!-- =================================================== --> <complextype name="extendeddescriptiontype"> <sequence> <element name="extendeditem" type="iptvcg:extendeditemtype" minoccurs="0" maxoccurs="unbounded"/> </sequence> </complextype> <complextype name="extendeditemtype"> 37

<simplecontent> <extension base="string"> <attribute name="name" type="string" use="required"/> <attribute ref="xml:lang" use="optional"/> </extension> </simplecontent> </complextype> <!-- =================================================== --> <!-- Root element --> <!-- =================================================== --> <element name="iptvcontentguide" type="iptvcg:iptvcontentguidetype"/> <complextype name="iptvcontentguidetype"> <complexcontent> <extension base="tva:iptvcontentguidetype"> <sequence> <element name="publisher" type="mpeg7:textualtype" minoccurs="0" maxoccurs="unbounded"/> <element name="rightsowner" type="mpeg7:textualtype" minoccurs="0" maxoccurs="unbounded"/> <element name="copyrightnotice" type="mpeg7:textualtype" minoccurs="0" maxoccurs="unbounded"/> </sequence> </extension> </complexcontent> </complextype> <!-- =================================================== --> <!-- ProgramInformationTable --> <!-- =================================================== --> <complextype name="iptvprograminformationtype"> <complexcontent> <extension base="tva:iptvprograminformationtype"> <sequence> 38

<element name="extendeddescription" type="iptvcg:extendeddescriptiontype" minoccurs="0"/> </sequence> </extension> </complexcontent> </complextype> <complextype name="iptvbasiccontentdescriptiontype"> <complexcontent> <extension base="tva:basiccontentdescriptiontype"> <sequence> <element name="boxoffice" type="tva:pricetype" minoccurs="0" maxoccurs="unbounded"/> </sequence> </extension> </complexcontent> </complextype> <complextype name="iptvpurchaselisttype"> <complexcontent> <extension base="tva:purchaselisttype"> <sequence> <element name="howtopurchase" type="mpeg7:textualtype" minoccurs="0" maxoccurs="unbounded"/> </sequence> </extension> </complexcontent> </complextype> <complextype name="iptvcaptioningattributestype"> <complexcontent> <extension base="tva:captioningattributestype"> <sequence> <element name="numofcaptions" type="unsignedshort" minoccurs="0"/> <sequence minoccurs="0" maxoccurs="unbounded"> 39

<element name="captionlanguage" type="iptvcg:iptvextendedlanguagetype"/> <element name="captiontype" type="iptvcg:captiontypetype"/> <choice> <element name="line21flag" type="boolean" minoccurs="0"/> <element name="captionservicenumber" type="integer" minoccurs="0"/> </choice> <element name="easyreaderflag" type="boolean" minoccurs="0"/> <element name="wideasspectratioflag" type="boolean" minoccurs="0"/> </sequence> </sequence> </extension> </complexcontent> </complextype> <complextype name="iptvaudioattributestype"> <complexcontent> <extension base="tva:audioattributestype"> <sequence> <element name="audiotype" minoccurs="0" maxoccurs="1" default="cm"> <simpletype> <restriction base="string"> <enumeration value="cm"/> <enumeration value="vi"/> </restriction> </simpletype> </element> </sequence> </extension> 40

</complexcontent> </complextype> <complextype name="iptvextendedlanguagetype"> <simplecontent> <extension base="mpeg7:extendedlanguagetype"> <attribute name="koreancode" type="iptvcg:koreancodetype" use="optional"/> </extension> </simplecontent> </complextype> <simpletype name="koreancodetype"> <restriction base="nmtoken"> <enumeration value="ks-x-isoiec-10646"/> <enumeration value="ks-x-1001:2004"/> <!-- 유니코드 --> <!-- 완성형 코드 --> </restriction> </simpletype> <simpletype name="captiontypetype"> <restriction base="nmtoken"> <enumeration value="line21"/> <enumeration value="eia-708-d"/> </restriction> </simpletype> <!-- =================================================== --> <!-- GroupInformationTable --> <!-- =================================================== --> <complextype name="iptvgroupinformationtype"> <complexcontent> <extension base="tva:iptvgroupinformationtype"> <sequence> <element name="otheridentifier" type="mpeg7:uniqueidtype" minoccurs="0" maxoccurs="unbounded"/> 41

</sequence> </extension> </complexcontent> </complextype> <!-- =================================================== --> <!-- ProgramLocationTable --> <!-- =================================================== --> <!-- ProgramLocationType에 ExtendedDescription 추가됨--> <!-- ProgramLocationType의 두 서브타입인 IPTVOnDemandProgramType과 ScheduleEventType에 새로운 서브타입을 각각 정의하고 있음 --> <complextype name="iptvscheduleeventtype"> <complexcontent> <extension base="tva:scheduleeventtype"> <sequence> <element name="parentalguidance" type="mpeg7:parentalguidancetype" minoccurs="0" maxoccurs="unbounded"/> <element name="record" type="tva:flagtype" minoccurs="0"/> <element name="extendeddescription" type="iptvcg:extendeddescriptiontype" minoccurs="0"/> </sequence> </extension> </complexcontent> </complextype> <complextype name="iptvondemandprogramtype"> <complexcontent> <extension base="tva:iptvondemandprogramtype"> <sequence> <element name="deliverymode" type="iptvcg:deliverymodetype" minoccurs="0"/> <element name="parentalguidance" type="mpeg7:parentalguidancetype" minoccurs="0" maxoccurs="unbounded"/> <element name="extendeddescription" type="iptvcg:extendeddescriptiontype" minoccurs="0"/> 42

</sequence> </extension> </complexcontent> </complextype> <simpletype name="deliverymodetype"> <restriction base="string"> <enumeration value="streaming"/> <enumeration value="download"/> </restriction> </simpletype> </schema> 43

부록 I 실시간(Linear) TV 서비스를 위한 컨테이너 구성 방법 실시간(Linear) TV 서비스를 위해 데이터 및 인덱스 컨테이너를 구성하는 방법을 기술한다. 그림 I.1 실시간(Linear) TV 서비스 구성 채널 수는 총 20 개로 가정하고 채널별로 24 시간에 해당하는 프로그램을 위한 스케줄 정보와 상세 정보를 전달하기 위한 서비스 정보를 구성한다. 채널별로 스케줄은 일반 방송 서비스에서 많이 사용하는 3 시간 단위로 나뉘어 8 개의 스케줄이 구성된다. 스케줄 안에는 3 시간 동안 방송되는 이벤트가 10 개 정도 있는 것으로 가정한다. 각 이벤트는 콘텐츠 참조 식별자(CRID)로 구별된다. 이벤트의 상세한 정보는 각 이벤트와 대응되는 이벤트 정보에 기술된다. 채널 정보는 서비스 정보(Service Information) 프래그먼트, 스케줄 정보는 스케줄(Schedule) 프래그먼트, 이벤트 정보는 스케줄 이벤트(Schedule Event) 그리고 상세 정보는 프로그램 정보(Program Information) 프래그먼트에 포함되어 전송되는 것으로 한다. 44

그림 I. 2 데이터 컨테이너 구성 컨테이너 1 과 컨테이너 2 는 서비스 정보(Service Information) 프래그먼트를 10 개씩 포함한 것으로 서비스 ID(Service ID)는 1~20 까지 부여되어 있다. 컨테이너 3 부터 컨테이너 22 까지는 각 채널 별로 하루치의 스케줄 정보를 3 시간 단위로 하나의 스케줄(Schedule)에 묶어 8 개의 ScheduleEvent 를 각 컨테이너에 포함하며 서비스 ID(Service ID)를 통하여 서비스 정보(Service Information)와 매핑된다. 스케줄(Schedule)에는 3 시간 동안 방송되는 프로그램에 대한 ScheduleEvent 가 포함되는 데 20 개의 채널에 대해 1,600 개가 존재하고 각 프로그램 스케줄에 대응되는 상세 정보는 프로그램 정보(Program Information)으로 역시 1,600 개이며 동일한 콘텐츠 참조 식별자(CRID)로 ScheduleEvent 와 매핑된다. 프로그램 정보(Program Information) 프래그먼트는 컨테이너 23 부터 컨테이너 38 까지는 10 개씩 포함하여 전송된다. 45

데이터 컨테이너에 포함된 프래그먼트를 단말기가 쉽게 수신할 수 있도록 인덱싱 정보를 구성해서 전송해야 하는데, 인덱싱은 각 세 종류의 프래그먼트를 검색할 수 있도록 인덱스를 3 개로 구성하도록 한다. 그림 I. 3 인덱스 컨테이너 구성 그림 I.3 은 3 종류의 프래그먼트를 순차적으로 검색한다는 가정을 했을 때의 인덱스 구성을 보여준다. 전자 프로그램 안내(EPG)를 구성하기 위해 서비스 정보(Service Information)을 먼저 검색하는데, 인덱스 목록의 제일 첫 번째가 서비스 정보(Service Information) 프래그먼트를 검색하는 형태이다. Tva:ServiceInformation 을 tva:serviceid 로 검색할 수 있도록 인덱스가 구성된 것을 알려준다. 서브인덱스 범위를 표현하는 식을 가리키는 링크를 따라가면 서비스 ID(Service ID)의 1 번부터 20 번까지를 명시하도록 되어 있다. 즉, 20 개의 채널에 대한 ServiceInformation 프래그먼트을 위한 프래그먼트 위치 정보가 서브인덱스로 정의 된다는 걸 의미한다. 마지막으로 ServiceInformation 프래그먼트를 위한 서브인덱스 목록의 첫 번째를 가리키는 링크를 따라가면 실제 컨테이너 1 부터 컨테이너 2 에 포함된 ServiceInformation 프래그먼트의 위치 정보가 ServiceId 의 오름차순으로 순차적으로 기술되어 있다. 46

두 번째 인덱스는 tva:schedule 로 tva:starttime 과 tva:serviceid 를 다중키로 사용하여 스케줄 프래그먼트를 검색하도록 정의되어 있다. 특정 서비스의 3 시간 단위의 스케줄을 검색하여 정보를 구성하기 위한 것이며, 서브 인덱스 범위를 지정할 때 ServiceId 와 StartTime 을 각각 조합하여 20 채널에 대해 하루 동안의 스케줄 정보를 명시할 수 있도록 한다. 서브 인덱스 영역으로 가면 serviceid = 1 이고 starttime=0:0:0 인 Schedule 프래그먼트를 시작으로 Service ID=20 이고 StartTime 이 21:0:0 인 Schedule 프래그먼트까지의 위치 정보를 명시한 서브인덱스가 기술되어 있다 (그림 II-2)의 컨테이너 3 에서 컨테이너 22 까지 포함된 프래그먼트 정보). 인덱스 목록에서 StartTime 필드가 먼저 기술되어 Schedule 이 우선 StartTime 을 기준으로 오름차순으로 기술되게 된다. 즉, StartTime=0:0:0 인 모든 채널의 Schedule 프래그먼트 위치 정보가 먼저 나오고, StartTime=03:0:0 그리고 StartTime=21:00:00 인 모든 채널의 Schedule 프래그먼트 순으로 위치 정보가 기술되는 것이다. ScheduleEvent 프래그먼트는 Schedule 프래그먼트 내부에 포함되어 있으므로 별도의 검색은 하지 않고 단말에서 필요에 따라 파싱 되어 관리된다. 마지막으로 ProgramInformation 프래그먼트는 콘텐츠 참조 식별자(CRID)를 이용하여 위치 정보를 검색한다. 이벤트의 상세 정보로 타이틀이나 장르 그리고 언어 등으로도 구분이 가능하나 본 예제에서는 ScheduleEvent 가 먼저 검색되어 대응되는 ProgramInformation 을 순차적으로 검색하는 방식이므로 두 프래그먼트 간에 공유되는 콘텐츠 참조 식별자(CRID)를 이용한다. 인덱스 목록의 세 번째에 tva:programinformation 타입과 tva:programid 필드를 명시한다. 여기서, programid 가 콘텐츠 참조 식별자(CRID) 이다. 서브인덱스 범위를 명시할 때는 CRID1 부터 CRID1600 전체를 검색 범위로 기술하였다. 즉, 서브인덱스 영역에 CRID1 인 ProgramInformation 프래그먼트가 포함된 컨테이너 ID 와 프래그먼트 ID 가 기술된 것을 시작으로 CRID1600 인 ProgramInformation 프래그먼트의 위치 정보(Container 38, Fragment 10)가 마지막으로 기술되어 있다. 47

그림 I.4 실시간(Linear) TV 서비스를 위한 콘텐츠 가이드 정보 수신 절차 그림 I.4 는 실시간(Linear) TV 를 위한 콘텐츠 가이드 정보를 앞에서 설명한 데이터 및 인덱스 컨테이너 구성에 기반하여 수신하는 절차를 요약한 것이다. 인덱스 컨테이너를 수신하여 각 프래그먼트의 위치를 파악하고, ServiceInformation 프래그먼트를 시작으로 Schedule 프래그먼트 그리고 ProgramInformation 프래그먼트 순으로 수신하게 된다. 단, ServiceInformation 프래그먼트는 서비스 접속 절차에서 얻어진 채널 정보로 충분할 수 있으므로 생략도 가능하다. 수신된 정보는 단말 내의 캐시에 채널별로 정보가 관리되고 미들웨어에서 정의하는 표준 API 에 의하여 접근이 되고 전자 프로그램 안내(EPG) 화면으로 출력된다. 48

부록 II 주문형 비디오(VoD) 서비스를 위한 컨테이너 구성 방법 그림 II.1 VoD 메뉴 구조 주문형 비디오(VoD) 메뉴가 그림 II.1 과 같이 구성된다고 가정하면 최하위 레벨의 리프(Leaf) 노드가 주문형 콘텐츠가 되고 상위 레벨의 노드들은 그룹 노드가 된다. 그룹 노드는 사업자의 목적에 따라 주문형 비디오(VoD) 콘텐츠를 분류하여 묶어 놓은 것들로 서브 그룹이나 리프(Leaf) 노드를 자식으로 갖는다. 단, 하나의 상위 노드의 자식 노드는 그룹 노드이거나 리프(Leaf) 노드 중 하나의 유형으로만 이루어지고 섞이지는 않는 것으로 한다. 반면에, 하나의 리프(Leaf) 노드는 여러 상위 그룹 노드를 가질 수 있다. 예제에서는 그룹 노드가 총 13 개고 3 개의 계층으로 되어 있으며 마지막 계층의 그룹 노드들은 각각 10 개씩의 프로그램을 리프(Leaf) 노드로 갖는 것으로 가정한다. 단말은 우선 그룹 노드를 수신하여 메뉴 트리를 구성하고 화면에 메뉴를 그리게 된다. 그룹 노드는 GroupInformation 프래그먼트를 이용하되, 루트 노드는 자기 자신을 상위 노드로 갖는 유일한 것으로 정한다. 다른 그룹 노드는 다른 그룹 노드의 구성원 (Member)으로 정의되고 GroupInformation 프래그먼트의 MemberOf 필드에 상위 노드의 GroupId 를 명시한다. 단말이 메뉴를 그리기 위해 GroupInformation 프래그먼트의 title 필드에 있는 문자열을 사용하면 되고, 그 형식은 사업자의 고유 권한으로 맡긴다 (일반적으로 장르로 구분될 것임). 리프(Leaf) 노드는 사용자의 메뉴 검색에 따라 최하위의 그룹 노드가 선택된 경우 목록으로 화면에 출력되며 선택된 그룹 노드의 GroupId 49 를 memberof 값으로 갖는

ProgramInformation 프래그먼트들이 된다. 각 ProgramInformation 프래그먼트는 복수개의 GroupInformation 프래그먼트를 상위 노드로 가질 수 있으며 programid 로 ondemandprogram 프래그먼트와 매핑되어 프로그램을 수신할 주소를 가져올 수 있다. 그림 II.2 는 그룹 노드와 리프(Leaf) 노드를 이용하여 주문형 비디오(VoD) 메뉴를 구성한 예제이다. 주문형 비디오(VoD)는 루트 노드의 타이틀로 사업자가 제공하는 메뉴 화면에서 다른 메뉴와 함께 보여지는 것으로 사용자는 주문형 비디오(VoD) 서비스를 위해 선택하는 경우 주문형 비디오(VoD) 와 직접 연결된 자식 그룹 노드들(지상파, 영화, 키즈/교육)이 주문형 비디오(VoD) 서브 메뉴로 보여진다. 그림 II.2 메뉴 구성 예 사용자가 키즈/교육 서브 메뉴를 선택한 경우 바로 다음의 서브 메뉴(영어, 만화, 영화)가 화면에 보여지고, 영어 서브메뉴를 선택한 경우 자식 노드인 Program Information 프래그먼트들(프로그램 식별자가 pi71~pi80)이 목록으로 보여지고 목록 중 특정 항목을 선택하면 Logo 또는 BasicDescription 필드값을 이용하여 포스터나 상세 정보를 추가로 사용자에게 보여준다. 선택한 프로그램을 최종적으로 소비하기 위하여 재생 버튼을 누르면 미들웨어 표준 응용 프로그래밍 인터페이스(API)와 실시간 전송 프로토콜(RTP: Real Transport Protocol)을 통해 접속 및 재생한다. 접속을 위한 주소는 ProgramInformation 의 programid 와 동일한 값을 갖는 ondemandprogram 프래그먼트 의 programurl 필드를 이용하여 가져온다. 50

그림 II.3 은 단말이 각 프래그먼트를 수신하기 위하여 데이터 컨테이너를 구성한 것이다. 그림 II.3 주문형 비디오(VoD)를 위한 데이터 컨테이너 구성 컨테이너 1 은 GroupInformation 프래그먼트를 모아서 전송하여 메뉴를 그리기 위하여 최초로 받도록 한다. 컨테이너 2 에서 컨테이너 4 는 30 개씩의 ProgramInformation 을 MemberOf 의 GroupID 순서대로 포함한다. 마지막으로 컨테이너 5 에서 컨테이너 7 은 ondemandprogram 을 programid 의 연속된 순서대로 30 개씩 묶어서 포함하였다. 51

그림 II.4 는 데이터 컨테이너로 전송되는 각 프래그먼트들을 수신하기 위한 인덱스 구성을 보여준다. 우선 메뉴를 구성하기 위하여 GroupInformation 프래그먼트를 검색하는 데 필요한 인덱스, 리프(Leaf) 노드를 검색하는 ProgramInformation 프래그 먼트 검색에 필요한 인덱스, 마지막으로 각 프로그램을 수신하는 주소를 가져오기 위한 ondemandprogram 프래그먼트 검색에 필요한 인덱스로 총 3 개의 인덱스를 구성하였다. 그림 II. 4 인덱스 컨테이너 구성 인덱스 목록에 GroupInformation 프래그먼트는 GroupId 를 이용하여 검색하도록 정의하고, ProgramInformation 은 memberof 필드 그리고 ondemandprogram 은 programid 를 이용하여 검색하도록 키를 정의한다. 서브 인덱스 범위는 GroupInformation 프래그먼트는 전체 그룹 노드를 탐색해야 하므로 GroupID 1 ~ GroupID 13 을 범위로 한다. ProgramInformation 프래그먼트 중에서 그림 II.4 에서 보는 것처럼 GroupID 가 3,4,5,7,8,9,11,12,13 인 그룹 노드의 리프(Leaf) 노드인 것만 검색해야 하므로 MemberOf 의 값이 GroupID 3 ~ GroupID 13 범위를 검색하도록 한다. 마지막으로 서브 인덱스들은 GroupInformation 프래그먼트의 경우 GroupID 1 부터 순차적으로 GroupID 13 까지 위치 정보가 부여된다. 컨테이너 1 에 모든 프래그먼트가 52

포함되므로 (Container ID-1, Fragment ID-1~Fragment ID-13)가 프래그먼트 위치 정보로 할당된다. ProgramInformation 프래그먼트를 위한 서브 인덱스는 컨테이너 2 부터 컨테이너 4 에 포함된 프래그먼트들을 위한 위치 정보를 값으로 갖는다. memberof 의 값이 GroupID3 인 10 개의 ProgramInformation 프래그먼트 위치 정보를 시작으로 GroupID13 인 9 개의 ProgramInformation 프래그먼트 위치 정보가 차례로 기술된다. ondemandprogram 프래그먼트는 programid 를 비교하여 검색될 것이므로 위치 정보도 CRID1 부터 CRID89 에 대해 차례로 위치 정보가 기술된다. 컨테이너 5 부터 컨테이너 7 까지 각각 30 개씩 저장되므로 순차적으로 (컨테이너 5, 프래그먼트 1)부터 (컨테이너 7, 프래그먼트 9)까지 부여된다. 그림 II. 5 주문형 비디오(VoD) 콘텐츠 가이드 정보 수신 절차 그림 II.5 는 예제를 바탕으로 주문형 비디오(VoD) 콘텐츠 가이드 정보를 수신하는 절차를 요약한 것이다. 주문형 비디오(VoD) 의 경우 실시간(Linear) TV 에 비해 콘텐츠의 수가 많으므로 모든 정보를 단말이 수신하여 관리하기는 힘들다. 따라서, 전체 인덱스 정보를 수신하여 필요한 만큼만 수신하고 메뉴 화면을 구성한 뒤, 사용자가 더 많은 정보를 원할 때 하이퍼텍스트 전송 규약(HTTP)를 통해 추가 정보를 수신하여 보여주는 방식이 권고된다. 53

부 록 III 관련 문헌 다음 참조 표준들은 본문에서 인용됨으로써 본 표준의 구성 요소가 되는 조항들을 포함하고 있다. 참조 표준은 특정 참조 표준(발행일 및 판 번호 또는 개정 번호를 명시한 것)과 일반 참조 표준으로 구별된다. - 특정 참조 표준인 경우, 해당 판본 이후의 개정판은 적용되지 아니한다. - 일반 참조 표준인 경우, 최신 판본이 적용된다. [1] TTA, TTAK.KO-08.0018/R2, IPTV 미들웨어(ICSP) [2] TTA, TTAK.KO-08.0025/R1, 기본 IPTV 단말의 세부 요구 기능 [3] TTA, TTAK.KO-08.0026, IPTV 단말 프로비저닝 절차 [4] TTA, TTAK.KO-08.0027, IPTV 서비스 탐색 및 전송 방식 [5] TTA, TTAK.KO-07.0093, 시청각 장애 보조 방송 서비스 [6] H.770, ITU T Recommendation H.770, Mechanisms for service discovery and selection for IPTV services, 2009.08. [7] H.IPTV-MDSD, ITU T Draft new Recommendation H.IPTV-MDSD, Metadata schema for service discovery and consumption for IPTV services, 2009.05. [8] ETSI TS 102 034 V1.4.1, Digital Video Broadcasting (DVB); Transport of MPEG-2 Based DVB Services over IP Based Networks, 2009.08. [9] ETSI TS 102 539 V1.2.1, Digital Video Broadcasting (DVB); Carriage of Broadband Content Guide (BCG) information over Internet Protocol (IP), 2008.04. [10] ETSI TS 102 323 V1.4.1, Digital Video Broadcasting (DVB); Carriage and signalling of TV-Anytime information in DVB transport streams, 2010.01. [11] ETSI TS 102 822-3-1 V1.5.1, Broadcast and On-line Services: Search, select, and rightful use of content on personal storage systems ("TV-Anytime"); Part 3: Metadata; Sub-part 1: Phase 1 - Metadata schemas, 2009.05. [12] ETSI TS 102 822-3-2 V1.5.1, Broadcast and On-line Services: Search, select, and rightful use of content on personal storage systems ("TV-Anytime"); Part 3: Metadata; Sub-part 2: System aspects in a uni-directional environment, 2009.05. 54

[13] ITU-T Recommendation X.891 ISO/IEC 24824-1:2005, Information technology Generic applications of ASN.1: Fast infoset, 2005. [14] HTTP 1.1, IETF RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1, 1999. 06. [15] HTTPS, IETF RFC 2818, HTTP over TLS, 2000.05. [16] IGMP Version 2, IETF RFC 2236, Internet Group Management Protocol, Version 2, 1997.11. [17] IGMP Version 3, IETF RFC 3376, Internet Group Management Protocol, Version 3, 2002.10. [18] ATIS-0800020, IPTV EPG METADATA SPECIFICATION, 2008.05. [19] ETSI TS 102 472 V1.3.1, Service Provider Information delivery over IPv4/IPv6 multicast (push mode), 2009.06. [20] FLUTE, IETF RFC 3926, File Delivery over Unidirectional Transport, 2004.10. [21] XML 1.0, W3C Recommendation, Extensible Markup Language (XML) 1.0 (Fourth Edition), 2006.08. [22] ETSI TS 102 822-6-1 V1.8.1 (12/2012), Broadcast and On-line Services: Search, select, and rightful use of content on personal storage systems ("TV- Anytime"); Part 6: Delivery of metadata over a bi-directional network; Sub-part 1: Service and transport [23] W3C Note (08 May 2000): "Simple Object Access Protocol (SOAP) 1.1" [24] Standard ECMA-262 ECMAScript Language Specification (Edition 5.1) 55