KR100914711B1 - Iptv 수신기에서 si 데이터 수신 방법 및 그 장치 - Google Patents

Iptv 수신기에서 si 데이터 수신 방법 및 그 장치 Download PDF

Info

Publication number
KR100914711B1
KR100914711B1 KR1020080123635A KR20080123635A KR100914711B1 KR 100914711 B1 KR100914711 B1 KR 100914711B1 KR 1020080123635 A KR1020080123635 A KR 1020080123635A KR 20080123635 A KR20080123635 A KR 20080123635A KR 100914711 B1 KR100914711 B1 KR 100914711B1
Authority
KR
South Korea
Prior art keywords
information
stream
service
channel map
channel
Prior art date
Application number
KR1020080123635A
Other languages
English (en)
Other versions
KR20090059077A (ko
Inventor
송재형
이준휘
고머 토마스
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US12/314,264 priority Critical patent/US8813155B2/en
Publication of KR20090059077A publication Critical patent/KR20090059077A/ko
Application granted granted Critical
Publication of KR100914711B1 publication Critical patent/KR100914711B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)

Abstract

본 발명은 IPTV 수신기에서 서비스 정보 데이터를 수신하는 방법 및 그 장치에 관한 것으로, 본 발명에 따른 IPTV 수신기에서 서비스 디스커버리 과정에서 서비스 정보 내 복수 개의 테이블들을 이용하여 가상 채널 맵을 빌딩한 후 버전 정보를 업데이트하는 방법의 일 예는, 마스터 서비스 정보 테이블의 버전 정보와 가상 채널 맵 테이블에 대한 제1 위치정보를 포함하는 마스터 서비스 정보 테이블이 전송되는 제1 스트림을 수신하는 단계; 상기 수신되는 제1 스트림 내 마스터 서비스 정보 테이블로부터 상기 버전 정보와 상기 제1 위치정보를 추출하여 파싱(parsing)하는 단계; 상기 파싱된 버전 정보에 근거하여 상기 마스터 서비스 정보 테이블의 버전 정보가 업데이트되었으면, 상기 파싱된 제1 위치정보에 근거하여 상기 가상 채널 맵 테이블을 전송하는 제2 스트림을 수신하는 단계; 및 상기 수신된 제2 스트림 내 가상 채널 맵 테이블을 파싱하여 업데이트하는 단계;를 포함하되, 상기 업데이트 후 상기 제2 스트림은 수신 종료하고, 상기 제1 스트림은 계속 수신한다. 따라서, 본 발명에 따르면, 버전 관리를 위한 SI 데이터와 실제 SI 데이터를 구분하여 처리함으로써, 소비전력 및 대역폭 관리를 보다 효율적으로 하면서 SI 데이터의 버전 관리를 효율적으로 할 수 있다.
IPTV, 채널 맵, 서비스 인포메이션, 컨텐트, 서비스

Description

IPTV 수신기에서 SI 데이터 수신 방법 및 그 장치{A method of receiving service information (SI) data in an IPTV receiver and apparatus thereof}
본 발명은 IPTV 환경에서 SI(Service Information) 데이터를 송수신하는 방법 및 그 장치에 관한 것으로, 더욱 상세하게는 IPTV 환경에서 보다 효율적으로 SI 데이터를 송수신하고, SI 데이터의 버전 정보를 관리하는 방법 및 장치에 관한 것이다.
기존의 TV는 방송사에서 제작하는 컨텐츠를, 케이블, 지상파, 또는 위성 방송 프로바이더(provider)가 방송 망 등의 전파 전달 매체를 통해서 송출하고, 시청자는 상기 각 전달 매체를 수신할 수 있는 TV 수상기를 통해 시청하는 방식으로 서비스되었다.
그러나 기존의 아날로그 방송에서 디지털 기반의 디지털TV 기술이 개발되고 상용화되면서, 기존의 전파 매체 외에도 각 가정에 연결되어 있는 인터넷 망을 이용하여 실시간 방송, CoD(Contents on Demand), 게임, 뉴스 등 다양한 컨텐츠를 시청자에게 제공할 수 있게 되었다.
상기 인터넷 망을 이용한 컨텐츠 제공의 예로서 IPTV(Internet Protocol TV)를 들 수 있다. 상기 IPTV는 초고속 인터넷 망을 이용하여 정보 서비스, 동영상 컨텐츠 및 방송 등을 텔레비전으로 제공하는 서비스를 말한다.
상기 IPTV는 비디오를 비롯한 방송 컨텐츠를 제공한다는 점에서는 일반 케이블방송이나 위성방송과 동일하나, 양방향성이 추가된다는 점에 특징이 있다. 그리고 일반 공중파 방송이나 케이블방송 또는 위성방송과는 달리 시청자가 자신이 편리한 시간에 자신이 보고 싶은 프로그램을 볼 수 있다.
본 발명은 상기와 같은 문제점을 해결하고자 한 것으로, 본 발명의 목적은 IPTV 수신기 즉, ITF(IPTV Terminal Function)로 하여금 SI(Service Information) 데이터를 효율적으로 송수신하고자 한다.
본 발명의 다른 목적은, ITF로 하여금 SI 데이터의 버전 정보를 관리할 수 있도록 하고자 한다.
본 발명의 또 다른 목적은, ITF의 대역폭(Bandwidth)와 소비전력(Processing power) 사용을 절감시키고자 한다.
이하 상기와 같은 목적을 달성하기 위해, 본 발명에 따른 IPTV 수신기에서 서비스 디스커버리 과정(service discovery process)에서 서비스 정보(service information) 내 복수 개의 테이블들(tables)을 이용하여 가상 채널 맵(virtual channel map)을 빌딩(building)한 후 버전 정보(version information)를 업데이트(update)하는 방법의 일 예는, 마스터 서비스 정보 테이블(master service information table)의 버전 정보와 가상 채널 맵 테이블(virtual channel map table)에 대한 제1 위치정보를 포함하는 마스터 서비스 정보 테이블이 전송되는 제1 스트림을 수신하는 단계; 상기 수신되는 제1 스트림 내 마스터 서비스 정보 테이블로부터 상기 버전 정보와 상기 제1 위치정보를 추출하여 파싱(parsing)하는 단계; 상기 파싱된 버전 정보에 근거하여 상기 마스터 서비스 정보 테이블의 버전 정보가 업데이트되었으면, 상기 파싱된 제1 위치정보에 근거하여 상기 가상 채널 맵 테이블을 전송하는 제2 스트림을 수신하는 단계; 및 상기 수신된 제2 스트림 내 가상 채널 맵 테이블을 파싱하여 업데이트하는 단계;를 포함하되, 상기 업데이트 후 상기 제2 스트림은 수신 종료(leave)하고, 상기 제1 스트림은 계속 수신(keep)한다.
이때, 서비스 프로바이더 디스커버리 과정(service provider discovery process)에서 서비스 프로바이더에 대한 상세 정보, 서비스 프로바이더의 인증 서버 위치 정보와, 서비스 프로바이더 접속을 위한 접속 서버 위치 정보 중 적어도 하나를 포함하는 서비스프로바이더디스커버리 레코드(serviceproviderdiscovery record)를 수신하는 단계;를 더 포함할 수 있다.
그리고 상기 수신한 서비스프로바이더디스커버리 레코드 내 상기 인증 서버 위치 정보에 따라 인증인포 레코드를 수신하는 단계;를 더 포함할 수 있다.
또한, 상기 수신한 인증인포 레코드에 근거하여 인증된 서비스 프로바이더를 접속하기 위한 프로비젼 인포메이션 레코드(provision information record)를 수신하는 단계;를 더 포함할 수 있다.
그리고 상기 수신된 프로비전 인포메이션 레코드 내 마스터 서비스 정보 테이블에 대한 제2 위치 정보를 파싱하는 단계;를 더 포함할 수 있다.
또한, 상기 파싱된 제2 위치정보에 따라 가상 채널 맵 테이블들의 리스트(list)를 포함하는 마스터 서비스 정보 테이블을 수신하는 단계;를 더 포함할 수 있다.
그리고 상기 수신한 마스터 서비스 정보 테이블 내 상기 가상 채널 맵 테이블에 대한 제3 위치 정보를 파싱하는 단계;를 더 포함할 수 있다.
또한, 상기 프로비젼 인포메이션 레코드는, 전자 프로그램 가이드 데이터에 대한 정보가 포함된 전자프로그램가이드인포 정보(electronicprogramguideinfo information)를 더 포함하되, 상기 전자프로그램가이드인포 정보는 상기 각 가상 채널 서비스(virtual channel service)를 식별할 수 있는 식별자 정보를 포함할 수 있다.
그리고 상기 제1 위치정보는, 가상 채널 맵 로케이터 타입이고, 상기 가상 채널 맵 로케이터 타입은 가상 채널 맵을 식별하는 식별자정보, 가상 채널 맵의 위치 정보와 가상 채널 맵의 버전 정보를 포함할 수 있다.
또한, 상기 가상 채널 맵 로케이터 타입 내 가상 채널 맵의 위치 정보는, 리소스 로케이터 타입이고, 상기 리소스 로케이터 타입은 URL(uniform resource locator)을 포함할 수 있다.
그리고 상기 가상 채널 맵의 버전 정보는, 상기 가상 채널 맵의 위치정보에 따라 수신된 가상 채널 맵의 버전 정보와 일치할 수 있다.
또한, 상기 수신된 가상 채널 맵의 버전 정보는, 가상 채널 디스크립션들(virtual channel descriptions)에 어떤 변경이 있으면 버전 넘버가 업데이트될 수 있다.
그리고 상기 가상 채널 맵의 버전 정보가 업데이트되면, 상기 마스터 서비스 정보 테이블의 버전 정보도 업데이트될 수 있다.
또한, 상기 버전 넘버가 업데이트되면, 상기 어떤 변경이 발생된 가상 채널 디스크립션들에 대한 정보를 업데이트하기 위해 상기 제3 위치 정보에 근거하여 해당 가상 채널 디스크립션 테이블을 전송하는 제3 스트림을 수신할 수 있다.
그리고 상기 수신된 제3 스트림 내 가상 채널 디스크립션 테이블을 파싱하여 업데이트하고, 상기 업데이트 후 상기 제3 스트림의 수신은 종료(leave)하고, 상기 제1 스트림은 계속 수신(keep)하여 상기 버전 정보의 업데이트 여부를 모니터링할 수 있다.
본 발명에 따른 IPTV 수신기의 일 예는, 마스터 서비스 정보 테이블을 전송하는 제 1 스트림을 수신하는 IP 네트워크 스택; 상기 수신되는 제1 스트림 내 마스터 서비스 정보 테이블을 파싱하는 파서; 상기 파싱된 마스터 서비스 정보 테이블 내 버전 정보가 업데이트 되었으면, 해당 서비스 정보 테이블을 전송하는 제2 스트림을 수신하기 위한 위치 정보를 추출하여 파싱하는 서비스 정보 디코더; 상기 추출된 위치 정보에 따라 제2 스트림을 수신하도록 상기 IP 네트워크 스택을 제어하고, 수신된 제2 스트림 내 서비스 정보를 업데이트하도록 상기 파서를 제어하고, 업데이트 후 상기 제2 스트림의 수신은 종료(leave)하나 상기 제1 스트림을 계속 수신(keep)하여 상기 버전 정보의 업데이트 여부를 모니터링하도록 제어하는 제어부;를 포함한다.
이때, 상기 제어부는, 상기 업데이트 후 상기 모니터링 결과 마스터 서비스 정보 테이블의 버전 정보가 다시 업데이트 되면, 해당 서비스 테이블 정보를 전송하는 제3 스트림을 수신하도록 제어할 수 있다.
그리고 상기 제어부는, 수신되는 상기 제3 스트림 내 서비스 정보를 파싱하여 업데이트하도록 제어할 수 있다.
또한, 상기 제어부는, 상기 업데이트 후 상기 제3 스트림의 수신은 종료(leave)하나 상기 제1 스트림은 계속 수신하여 버전 정보의 업데이트 여부를 모니터링하도록 제어할 수 있다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
따라서, 본 발명에 따른 SI 데이터 수신방법 및 IPTV 수신기에 따르면, 버전 관리를 위한 SI 데이터와 실제 SI 데이터를 구분하여 처리함으로써, ITF는 소비전력(processing power) 및 대역폭(Bandwidth) 관리를 보다 효율적으로 하면서 SI 데이터의 버전(Version) 관리를 효율적으로 할 수 있다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당해 기술분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
도 1은 IPTV 서비스의 개념을 도시한 시스템 구성도이다.
도 1을 참조하면, IPTV 시스템은 서비스 프로바이더 영역(service provider domain), 네트워크 프로바이더 영역(network provider domain), 및 고객 영역(consumer domain)을 포함하여 구성된다.
서비스 프로바이더 영역은 컨텐츠 프로바이더(contents provider)와 서비스 프로바이더(service provider)를 포함한다. 상기 컨텐츠 공급자는 서비스 프로바이더에게 컨텐츠를 제공한다. 상기 서비스 프로바이더는 가입자에게 서비스(service)를 제공하며, 다양한 컨텐츠를 수집하여 IP 환경에 맞게 신호를 변형하여 사용자에게 전달한다. 또한, 서비스 프로바이더는 멀티미디어 데이터(multimedia data)를 전송하고, 사용자(Customer)가 컨텐츠를 안정적으로 수신할 수 있도록 전송망을 유지, 보수, 및 관리하고, 컨텐츠 공급자에게 네트워크 전송을 위한 기반 시설과 기능을 제공한다. 여기서, 상기 서비스 프로바이더는 가상의 존재일 수 있고, 컨텐츠 공급자가 곧 서비스 프로바이더가 될 수도 있다.
네트워크 공급자 영역은 사용자와 서비스 프로바이더를 IP 네트워크를 통해서 연결한다. 전송 시스템은 접속망(access network), 기간망(backbone network) 또는 무선 WAN(wireless Wide Area Network) 등의 다양한 네트워크 망을 이용할 수 있다.
고객 영역은 IPTV 서비스를 소비하는 영역이다. 상기 고객 영역은 xDSL(digital subscriber loop)이나 케이블(cable)과 같은 기반 시설을 이용하여 입력되는 데이터를 재생하고 사용자의 요구에 즉시 반응하는 등을 한다. 대부분 IPTV를 생산하는 업체들로 구성되고, IPTV, IP STB(set-top box), IP Phone 등으로 나눠질 수 있다. 상기 고객 영역에서 컨텐츠를 제공받아, 방송을 수신하기 위해 고객 영역 장치가 사용될 수 있다. 여기서, 고객 영역 장치로 셋탑 박스(STB), PC(Personal Computer), 이동 단말기(mobile terminal), ITF(IPTV Terminal Function) 장치 또는 DNG(Delivery Network Gateway) 장치 등이 있다.
각 영역에 대하여 보다 상세하게 설명하면 다음과 같다.
먼저, 컨텐츠 프로바이더는 방송 프로그램을 만드는 TV 방송국(TV Station) 및 라디오 방송국(Radio Station)이 있을 수 있다. 상기 TV 방송국은 기존의 지상파나 케이블 방송국을 의미하며, 이러한 방송국은 사용자들이 시청할 수 있는 프로그램을 만들어 저장하고 이를 디지털로 바꾸어서 전송할 수 있다. 일반적으로 여러 가지 방송 형태로 전송할 수 있도록 하기 위함이다.
라디오 방송국은 일반 라디오 방송국을 의미하며, 비디오 채널이 때에 따라 있을 수도 있지만, 대부분 비디오 채널이 없이 운영된다고 볼 수 있다. VoD(Video on Demand)와 AoD(Audio on Demand) 서비스는 TV 방송국이나 라디오 방송국과는 다른 특성이 있다. 컨텐츠 프로바이더도 방송할 프로그램을 저장하여 보관하나, 이는 연속성이 있는 라이브 방송으로 레코딩(recording)을 하지 않는 이상 되감아서 보거나 정지시켜서 볼 수 없는 특징이 있다. 그러나 VoD나 AoD의 경우에는 내가 원하는 방송 프로그램 혹은 영화, 음악 등을 저장해 놓고 나서 재생하여 볼 수 있도록 서비스 해준다. 예를 들어, 현재 시간이 없어 제대로 보지 못했던 방송 프로그램이 있는 경우, 이러한 방송 서비스를 제공하는 사이트에 접속해서 해당 파일을 다운로드 받거나 바로 재생하여 볼 수 있다. AoD도 마찬가지로 오디오 프로그램(audio program)을 녹화하기 어렵거나 실시간으로 들을 수 있는 기능을 제공한다. MoD(Music on Demand) 서비스는 내가 원하는 음악을 다운로드 받아 들을 수 있다. MoD의 서비스의 대상은 음반사 또는 음반 배포사가 기존의 웹 서비스(web service)를 확대하여 실시할 수 있다.
이하에서는 컨텐츠 프로바이더가 제공하는 서비스의 실시예에 대하여 살펴본다.
PF 서버는 컨텐츠 프로바이더가 제공하는 모든 방송 정보와 위치(Location) 정보 등을 대신 관리해주는 업체가 서비스를 할 수 있다. 이 서비스는 주로 해당 방송국의 방송 시간이나 방송에 필요한 위치 정보 및 사용자(Customer)가 접속할 수 있는 정보를 담고 있다. 사용자는 이 정보를 얻어 화면에 표시할 수 있다. PF 서버는 각 방송국에서 갖추어야 하는 서비스 중 하나로, IPTV 환경에서는 이 서비스를 제공하여 사용자가 해당 방송국에 접속하도록 할 수 있다.
EPG 서비스(electronic program guide service)는 방송 프로그램을 사용자가 시간대 별로 조회하고, 채널별로 파악할 수 있도록 제공하는 편리한 서비스 중 하나이다. EPG 서비스는 이미 프로그램이 자동으로 사용자 측에 설치되어 실행할 수 있도록 되어 있다. 사용자는 PF 서버로부터 해당 방송국에 대한 정보만을 얻을 수 있지만, EPG 서비스는 모든 방송국의 실시간 방송 채널에 대한 정보들을 한꺼번에 얻을 수 있어 매우 편리하게 사용할 수 있다. 가령, CNN 뉴스를 예약 녹화를 한다든지, Disney 방송을 시청 예약한다든지 하는 강력한 기능을 내장하고 있기 때문이다. 따라서, EPG 서비스는 해당 지역의 방송 프로그램의 정보를 시간대별로 자세하게 제공해야 한다. 특히 어떤 드라마의 경우 드라마의 내용을 검색하거나, 카테고리(category)로 나누어 SF(Science Fiction), 드라마(Drama), 애니메이션(Animation) 등의 구분도 할 수 있도록 되어 있으며, 간단한 방영 프로그램의 영화나 드라마의 줄거리나 등장 인물들에 대한 세부적인 정보도 포함할 수 있다. EPG 서비스의 큰 문제점은 IPTV를 시청하는 사용자의 라이센스(license)의 종류가 많아 사용자에게 맞는 EPG 데이터를 어떻게 전송할 것이냐 하는 것이 문제가 될 수 있다. EPG 서비스를 접속하려면, 사용자는 간단하게 입력 키를 리모컨에서 찾아서 누르기만 하면 된다.
ECG(electronic content guide) 서비스는 컨텐츠 프로바이더가 가지고 있는 컨텐트(content)의 정보와 접속 서버의 위치 및 접근 권한 등을 사용자가 편리하게 사용할 수 있는 모든 기능이 있다. 간단히 말하면 컨텐트를 가지고 있는 서버들을 쉽게 접속하도록 하는 기능과 컨텐트의 정보를 상세하게 알려 주는 전자 컨텐트 가이드(ECG)이다. 즉, 실시간 방송이 아니라 AoD, MoD 그리고 VoD와 같은 서비스들을 전자 프로그램 가이드(EPG)와 같이 하나로 묶어서 사용자가 어떤 컨텐트 서비스에 컨텐트를 보거나 다운로드 하기 위해 개별 접속하는 부담을 덜어 준다. EPG 서비스와 비슷하지만, 이 서비스는 실시간 방송 채널 정보를 알려 주는 것이 아니라 이미 서버에 저장이 되어 있어서 언제든지 시청할 수 있고 다운로드를 해서 저장할 수 있도록 한다. 사용자가 각 컨텐트가 있는 서버에 접속하려면 매우 어려운 주소나 PF 서버들을 접속해서 얻어야 할 것이다. 이것은 매우 복잡한 과정이며, 많은 시간이 소요된다. ECG를 제공하는 업체는 ECG 프로그램을 사용자에 자동 설치되도록 하고, 모든 컨텐츠에 대한 정보를 수집하여 데이터를 제공한다. ECG 서비스에 접속하려면 사용자는 역시 리모컨에 있는 입력 키 버튼을 클릭하면 된다.
포털 서버(Portal Server)는 각 방송국에서 제공하는 웹 서비스로 방송국이나 컨텐트를 서비스하는 업체의 웹서버로 연결이 된다. 포털 서버의 역할은 각 방송국이나 컨텐트 서비스를 제공하는 컨텐츠 프로바이더들이 제공하는 프로그램 리스트를 검색하거나 리스트를 볼 수 있다. 이것은 마치 ECG나 EPG와 같은 기능이라고 생각할 수도 있다. 그러나 포털 서비스에서는 사용자의 인증이나 라이센스 계약 등과 같은 기능도 있어 내가 원하는 프로그램을 시청하기 위해서 접속할 필요가 있다. 또한, ECG나 EPG는 통합된 방송이나 컨텐트 리스트를 제공하지만, 포털 서비스는 해당 프로그램 제공 업체에 대한 방송이나 컨텐트 리스트 정보를 제공하여 세부적인 검색이 가능할 수 있다. 포털 서비스에 접속하려면, 사용자는 리모컨에서 포털 입력 버튼을 클릭하면 된다.
이렇게 해서 컨텐츠 프로바이더는 이러한 서비스들을 제공하는 기능 등이 포함되어야 하고, 이러한 기능들이 정상적으로 동작하려면, 실시간으로 해당 프로그램을 전송하거나 방송 정보를 전송할 수 있도록 각 서비스 업체들의 서버(130)는 IP 네트워크에 접속되어 있어야 한다. 또한, 각 방송국이나 서비스 업체들은 서비스 프로바이더의 네트워크에 연결되어 지연과 에러 없이 전송되어야 하므로, RTP(real time protocol), RTSP(real time streaming protocol), RSVP(resource reservation protocol) 그리고 MPLS(multi protocol label switching) 등의 인터넷 실시간 프로토콜을 이용하여 멀티미디어 데이터를 전송할 수 있도록 시스템이 갖추어져야 한다. 예를 들어, 현재 뉴스를 제공하는 TV 스튜디오(studio)에서 실시간으로 멀티미디어를 전송하려고 할 때, MPEG-2와 AC-3 오디오 스펙으로 꾸며져 있는 경우, 이를 IPTV의 포맷에 맞게 바꾸는 트랜스코드(transcode) 작업을 해야 한다. 이러한 작업을 하는 서버를 통과하면, 캡션(caption)이나 립싱크(Lipync)를 맞출 수 있도록 시간 정보가 포함된 RTP/UDP(user datagram protocol) 프로토콜을 붙여 서비스 프로바이더가 제공한 IP 네트워크를 통과하도록 시스템을 구성한다.
서비스 프로바이더는 컨텐츠 프로바이더로부터 전송되는 멀티미디어 데이터와 방송 데이터들을 잘 전송할 수 있도록 네트워크의 안정성과 대역폭을 제공한다. 서비스 프로바이더들은 기존의 케이블 망을 이용하여 IPTV 서비스를 제공할 수도 있는데, 이런 경우에는 전송 네트워크(Delivery Network)의 장비들의 변경이 필요하다. 즉, 실시간 데이터 전송을 할 수 있는 네트워크 장비들로 구성을 해야 하고, 사용자도 대역폭(bandwidth)을 감안하여 네트워크를 구성해야 한다. 이러한 장비들은 IPTV의 기본적인 네트워크 서비스인 멀티캐스트 서비스(multicast service)를 사용하여 대용량의 멀티미디어 데이터들을 처리하여 대역폭을 줄여야 한다. 대역폭이 확보되지 못할 경우에는 서비스 프로바이더에서 대역폭을 확보하려는 노력으로 광케이블 망 구성이나 컨텐츠 프로바이더로부터 전송되는 멀티미디어 방송 데이터들을 다시 트랜스코드하여 MPEG-4나 MPEG-7과 같은 형태로 변형해서 전송할 수도 있다. 서비스 프로바이더는 이를 위해서 크게 몇 가지 서비스를 제공해야 하는데 크게 NMS(Network Management System), DHCP(Dynamic Host Control Protocol), 및 CDN 서비스(content delivery network service)를 제공하도록 되어 있다.
NMS 서비스는 서비스 프로바이더가 각 사용자에게까지 전송할 수 있는 전송 네트워크를 관리하고 RCMS(Remote Configuration and Management Server) 기능을 수행한다. 즉, 전송망에 문제가 발생하여 사용자가 방송 수신을 못 하는 경우 이를 응급 처리할 수 있는 수단이 있어야 한다. NMS는 원격의 전송 계층의 기계들을 원활하게 제어하고 관리할 수 있는 표준화된 수단으로 널리 사용되고 있다. 이 서비스를 이용하여 어떤 방송에 대하여 얼마만큼의 트래픽(traffic)이 발생하고 있고, 어떤 지역에서 대역폭이 모자라는지를 확인할 수 있다. 또한, 컨텐츠 프로바이더에게 멀티캐스트 시에 그룹(group)을 생성하고 관리할 수 있도록 컨텐츠 프로바이더들에게 제공해야 한다. 때에 따라서는 멀티캐스트 그룹을 더 생성할 수도 있어야 되기 때문이다.
DHCP 서비스는 사용자의 IPTV 수신기에게 자동적으로 IP를 할당할 수 있도록 하고, CDN 서버의 주소를 알려 주는데 사용한다. DHCP 서비스는 일반 네트워크에서도 PC에 IP를 할당하는 좋은 수단이 되고 있다. 사용이 허락된 IPTV 수신기에게 접속할 수 있는 주소를 전송해 주어 사용자가 최초 접속할 때 등록 절차를 할 수 있도록 해야 한다. 일반적으로 IPv4를 IPTV 수신기에서는 제공할 것이지만, IPv6도 사용할 수 있도록 되어 있다. 따라서 IPv4를 제공하는 IPTV 수신기라고 해서 사용하지 못하는 것은 아니다.
CDN 서비스는 서비스 프로바이더가 제공하는 데이터로, IPTV 수신기가 최초로 전원이 인가되어 동작할 때 DHCP 서비스에 의하여 IP를 받으면서 CDN 정보를 서비스 프로바이더로부터 수신한다. 이 정보는 IPTV 사업자의 사용자의 등록이나 인증 그리고 앞서 언급했던 PF 정보들을 담고 있다. IPTV 수신기가 서비스 프로바이더로부터 CDN 정보를 얻음으로써 IP 방송 신호 수신이 가능할 수 있다.
사용자는 여러 가지 형태의 IPTV 수신기를 가질 수 있다. 일반 TV를 가지고 있는 사용자의 경우에는 IPTV STB를 임대하여 저렴하게 IPTV를 즐길 수 있으며, 서비스 프로바이더로부터 저렴한 가격으로 추가적인 서비스 비용을 지불하고 IP 폰(Phone)도 함께 신청하여 사용할 수도 있다. IPTV 수신기는 기본적으로 네트워크에 접속할 수 있는 네트워크 인터페이스(Network Interface)가 있고, 인터넷 프로토콜을 가지고 있어 네트워크로부터 들어오는 데이터 패킷을 받아 처리하여 멀티미디어 데이터인 경우에는 화면에 재생할 수 있고, 리모컨으로 조작할 경우, 데이터 패킷을 네트워크로 신속하게 전송해서 해당 정보를 서버에서 얻어 반응을 해야 한다. 즉, IPTV 수신기는 멀티미디어 데이터를 처리하면서 양방향으로 사용자의 요구사항을 전송할 수 있도록 동작할 수 있다. 또한, 서비스를 잘 이용할 수 있도록 리모컨에 IPTV용 버튼들을 제공할 수 있다. 이렇게 제공된 IPTV 수신기에서 사용자는 드라마에 나오는 멋진 장면을 저장하여 볼 수 있고, 위치 정보라든지 호텔 예약이라든지 하는 부가 서비스를 누릴 수 있다.
한편, 앞서 언급했던 NMS는 서비스 프로바이더가 망을 관리하는 기능뿐만 아니라 RCMS 기능을 수행한다. RCMS는 사용자가 가지고 있는 IPTV 수신기를 제어하고 관리할 수 있도록 도와 주는데, IPTV 수신기가 급증하고 부가적인 서비스가 늘어나면, RCMS의 역할은 더욱 중요하게 된다. 이 때문에 IPTV 방송 수신기에 SNMP(simple network management protocol) 프로토콜을 의무화하고 있다. 이는 서비스 프로바이더가 IPTV 방송 수신기를 관리하고 제어할 수 있도록 하겠다는 의도이다. 따라서, IPTV 방송 수신기는 현재 통신하고 있는 프로토콜의 통계자료 그리고 사용하는 프로세서의 정보, 어떤 TV 생산 업체인지 등에 대하여 자세하게 파악할 수 있다.
고객 영역에서 IPTV 서비스를 수신하기 위해, ITF(120)는 DNS 서버(110)에 서버 주소 응답 요청(Server Address resolution request)을 전송할 수 있다. 그러면 DNS 서버(110)는 ITF(120)에게 서버 주소를 전송한다. ITF(120)는 전송받은 서버 주소를 근거로 서버(130)에 연결하고 IPTV 서비스를 수신받을 수 있다. 여기서, ITF(120)는 서버(130)와 멀티캐스트 방식 및 유니캐스트 방식 중 적어도 하나의 방식으로 연결될 수 있다.
도 2는 멀티캐스트 방식에 대해 개략적으로 도시한 도면이다.
도 2를 참조하면, 멀티캐스트 방식은 특정한 그룹의 다수의 수신자에게 데이터를 전송하는 방식이다. 예를 들어, 서비스 프로바이더는 데이터를 미리 등록된 다수의 ITF에 한꺼번에 전송할 수 있다. 상기 멀티캐스트 등록을 위해 IGMP(Internet Group Management Protocol) 프로토콜 등이 사용될 수 있다.
도 3은 유니캐스트 방식에 대해 개략적으로 도시한 도면이다.
도 3을 참조하면, 유니캐스트 방식은 하나의 송신자와 하나의 수신자 사이에 데이터를 1:1로 전송하는 방식이다. 예를 들어, 유니캐스트 방식의 경우 ITF에서 서비스 프로바이더로 서비스를 요청하면, 서비스 프로바이더는 상기 요청에 따라 해당 서비스를 ITF로 전송한다.
도 4는 본 발명에 따른 IPTV 서비스의 탐색 방법에 대한 바람직한 일실시예의 수행과정을 도시한 도면이다.
도 4를 참조하면, IPTV 서비스를 수신하기 위해, ITF는 서비스 프로바이더 디스커버리(Service Provider Discovery)를 수행하여 SD 서버(Service Discovery Server)의 주소 목록(address list)을 찾는다. 여기서, 서비스 프로바이더 디스커버리는 ITF가 IPTV 서비스 프로바이더에 대한 정보 및 보안 관리되는 네트워크로 서비스 프로바이더에 접속하기 위한 정보를 찾는 과정을 의미한다. ITF는 다음과 같은 방식으로 SD 서버의 주소 목록을 찾을 수 있다.
SD 서버의 주소 목록 서치 방식
1. 사전에 설정되거나 수동 설정 : ITF에 사전에 설정된 주소를 따르거나 사용자 수동 설정
2. DHCP 기반 서비스 프로바이더 디스커버리(SP Discovery) : DHCP 옵션(option)을 사용하여 SD 서버의 주소 목록을 얻어옴
3. DNS SRV-based 서비스 프로바이더 디스커버리 : DNS SRV 메커니즘을 이용하여 쿼리(query)를 SD 서버 주속 목록을 얻어옴
ITF(420)는 전술한 1 내지 3의 방법으로 얻은 SD 서버 주소 목록을 통해 특정 SD 서버를 찾을 수 있게 되고 특정 SD 서버로부터 서비스 프로바이더 디스커버리 레코드를 수신할 수 있게 된다.
서비스 프로바이더(410)는 ITF(420)에 서비스 프로바이더 디스커버리 레코드(Service Provider Discovery record)를 전송한다(S400). 여기서, 서비스 프로바이더 디스커버리 레코드는 유용한 IPTV 서비스 프로바이더에 대한 정보 및 보안 관리되는 네트워크로 서비스 프로바이더에 접속하기 위한 정보를 포함한다. 서비스 프로바이더 디스커버리 레코드는 푸시 모드(Push mode) 또는 풀 모드(Pull mode)로 전송될 수 있다. 풀 모드로 전송되는 경우, ITF(420)가 서비스 프로바이더 디스커버리 레코드에 대한 전송 요청이 있는 경우, 서비스 프로바이더(410)가 서비스 프로바이더 디스커버리 레코드를 전송한다. 그러나 푸시 모드로 전송되는 경우, ITF(420)가 서비스 프로바이더 디스커버리 레코드에 대한 전송 요청과 관계없이 서비스 프로바이더(410)가 서비스 프로바이더 디스커버리 레코드를 전송한다.
ITF(420)는 서비스 프로바이더 디스커버리 레코드에 포함된 레지스트레이션 서버(Registration Server)의 주소 정보가 지정하는 레지스트레이션 서버에 접속하여 ITF 등록 절차를 수행한다(S405). 이때, ITF(420)에서 서비스 프로바이더(410)로 전달하는 정보는 ITFRegistrationInputType 레코드 형태로 전달될 수 있고, 가입자 식별자 정보 및 가입자 위치 정보를 포함할 수 있다. 여기서, ITF 등록은 SP 접속(Service Provider Attachment)으로 명명될 수 있고, 이는 당해 기술분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다.
인증 성공 후 서비스 프로바이더(410)는 ITF(420)에 프로비젼 인포메이션 레코드(provision information record)를 전송한다(S410). 여기서, 프로비젼 인포메이션 레코드는 SP 접속 절차동안 ITF에 의해 획득되는 프로비젼닝 인포메이션(provisioning information)과 인증 정보(authentication information)를 제공한다. 프로비젼 인포메이션 레코드는 ITFRegistrationOutputType 레코드의 형태를 가지며, ITFRegistrationInputType 레코드에 포함된 정보를 기초로 가입한 서비스에 커스트마이징된(customized) 데이터일 수 있다. 여기서, ITFRegistrationInputType 레코드는 가입자 식별자 정보 및 가입자 위치 정보 중 적어도 하나를 포함할 수 있다. 여기서, 가입자 위치 정보는 가입자의 ITF가 위치하는 주소일 수 있다. 또한, ITFRegistrationInputType 레코드가 가입자 식별자 정보만을 포함하는 경우, 레지스트레이션 서버는, 가입자 식별자 정보를 기초로 사전에 저장된 가입자 위치 정보 및 가입 상태 정보를 획득할 수 있다.
일 예로, 프로비젼 인포메이션 레코드는 가입자의 가입 상태 및 ITF 위치로 커스트마이징될 수 있다. ITF(420)는 ITFRegistrationInputType 레코드를 통해 자신의 ID와 위치정보를 제공하고 레지스트레이션 서버는 이를 바탕으로 ITF가 가입한 서비스를 특정 지을 수 있다. 그리고 레지스트레이션 서버는 특정된 서비스를 바탕으로 ITF(420)가 받아야 할 서비스 정보(service information)를 획득할 수 있는 주소를 ITFRegistrationOutputType 레코드 형태로 제공한다.
서비스 정보는 채널 맵(channel map)과 채널 디테일스(channel details)에 대한 버전(version)을 관리하는 마스터 서비스 정보 테이블 레코드(Master service information (SI) Table Record)와 패키지 형태의 채널 목록을 제공하는 채널 맵 레코드(Channel Map Record), 그리고 각 채널의 상세 정보를 담고 있는 채널 디테일스 레코드(Channel Details Record)로 구분된다. 여기서, 서비스 정보는 푸쉬 모드 또는 풀 모드로 전송될 수 있다.
서비스 프로바이더(410)는 ITF(420)에 마스터 SI 테이블 레코드(Master SI Table Record)를 전송한다(S415). 여기서, ITF(420)는 프로비젼 인포메이션 레코드에 포함된 마스터 SI 테이블의 위치 정보를 기초로 해당 마스터 SI 테이블 레코드를 수신하거나 서비스 프로바이더(410)에 요청할 수 있다.
또한, 서비스 프로바이더(410)는 ITF(420)에 채널 맵 레코드를 전송한다(S420). 여기서, ITF(420)는 마스터 SI 테이블 레코드에 포함된 채널 정보를 기초로 해당 채널 맵 레코드를 수신하거나 서비스 프로바이더(410)에 요청할 수 있다.
그리고 서비스 프로바이더(410)는 ITF(420)에 채널 디테일스 레코드를 전송한다(S425). 여기서, ITF(420)는 마스터 SI 테이블 레코드에 포함된 가상 채널 정보 또는 채널 맵 레코드에 포함된 채널 디테일스 위치 정보를 기초로 채널 디테일스 레코드를 수신하거나 서비스 프로바이더(410)에 요청할 수 있다.
도 5는 본 발명에 따른 서비스 프로바이더 디스커버리 타입(Service Provider Discovery Type)에 대한 바람직한 일실시예의 스키마를 도시한 도면이다.
도 5를 참조하면, 서비스 프로바이더 디스커버리 레코드는 ServiceProviderID 속성, Version 속성, LogoURI 속성, Name 엘리먼트, Description 엘리먼트 및 SProviderRegistrationServer 엘리먼트를 포함한다.
ServiceProviderID 속성은 서비스 프로바이더를 식별하는 유일한 식별자 정보를 포함하며, 식별자로 등록된 도메인 네임(domain name)을 사용함으로써 식별자의 유일성을 보장할 수 있다.
Version 속성은 이 레코드의 버전 정보를 포함한다.
LogoURI 속성은 서비스 프로바이더의 로고 이미지의 URI(uniform resource identifier)를 지정하는 로고 이미지 정보(logo image information)를 포함하며, 선택적으로 사용될 수 있다.
Name 엘리먼트는 서비스 프로바이더의 이름에 대한 정보를 포함하며, 서비스 프로바이더는 각 언어별로 하나씩의 이름을 가질 수 있다. 이를 위해, Name 엘리먼트는 Language 속성을 포함하며, Language 속성은 각 언어별로 정의된 이름에 대한 정보를 포함한다. 여기서, Name 엘리먼트는 적어도 하나의 Language 속성을 포함해야 한다.
Description 엘리먼트는 서비스 프로바이더에 대한 상세한 텍스트 설명 정보를 포함하며, 텍스트 설명 정보는 서비스 프로바이더의 이름에 대한 정보와 유사하게 각 언어별로 하나씩 있을 수 있다. 이를 위해, Description 엘리먼트는 Language 속성을 포함하며, 상기 Language 속성을 복수개 포함할 수 있다. Language 속성은 텍스트 설명 정보를 포함한다. 여기서, 상기 텍스트 설명 정보는 선택적으로 제공 가능하며 제공되지 않을 수도 있다.
SProviderRegistrationServer 엘리먼트는 서비스 프로바이더의 레지스트레이션 서버(Registration Server)의 주소 정보를 포함한다. 이를 위해, SProviderRegistrationServer 엘리먼트는 Location URL 속성을 포함할 수 있으며, Location URL 속성은 레지스트레이션 서버의 주소 정보를 포함한다. 여기서, 레지스트레이션 서버의 주소 정보는 일 예로 URL(uniform resource locator) 형태가 될 수 있다.
도 6은 본 발명에 따른 ITF 레지스트레이션 인풋 타입(ITF Registration Input Type)에 대한 바람직한 일실시예의 스키마(schema)를 도시한 도면이다.
도 6을 참조하면, ITF 레지스트레이션 인풋 레코드(ITF Registration Input record)는 ConsumerID 속성 및 ConsumerLocation 속성을 포함하며, 레지스트레이션(Registration)을 위해 ITF에서 레지스트레이션 서버로 전송하는 정보는 ITF 레지스트레이션 인풋 타입의 구조로 전송될 수 있다.
ConsumerID 속성은 가입자를 유일하게 식별할 수 있는 가입자 식별자 정보를 포함하며, 가입자 식별자로 ITF의 MAC 어드레스(media access control address) 등이 사용될 수 있다.
ConsumerLocation 속성은 가입자의 위치를 나타내는 가입자 위치 정보를 포함한다. ConsumerLocation에 포함된 정보를 통해 레지스트레이션 서버는 가입자의 위치를 인식하여 해당되는 지역을 판정할 수 있고, 판정된 지역에 따라 ITF에 적합한 플로우(flow)들을 선별하여 보내줄 수 있다. 여기서, 가입자 위치 정보는 네트워크 접속(Network Attachment)단계에서 DHCP 옵션을 통하여 얻어질 수 있다.
도 7은 본 발명에 따른 ITF 레지스트레이션 아웃풋 타입(ITF Regitstration Output Type)에 대한 바람직한 일실시예의 스키마를 도시한 도면이다.
도 7을 참조하면, ITF 레지스트레이션 아웃풋 레코드는 MasterSITableLocation 엘리먼트(element), SubscribedChannelMap 엘리먼트, UnsubscribedChannelMap 엘리먼트, EPGDiscoveryLocation 엘리먼트 및 SPRemoteConfigurationServerLocation 엘리먼트를 포함하며, 레지스트레이션을 성공하였을 경우에 레지스트레이션 서버에서 ITF로 전송하는 정보는 ITF 레지스트레이션 아웃풋 타입(ITF Regitstration Output Type) 구조로 전송될 수 있다.
MasterSITableLocation 엘리먼트는 마스터 SI 테이블의 위치 정보를 포함한다.
SubscribedChannelMap 엘리먼트는 사용자가 가입한 채널 맵에 대한 정보를 포함한다. 서비스 프로바이더는 자신들이 서비스하는 채널들을 여러 개의 채널 맵 형태로 제공하여 사용자가 이 중 하나 이상을 선택하여 가입할 수 있도록 할 수 있다. 또한, 채널 맵이 직접 사용자에게 보이지 않고 내부적으로 채널 맵 형태로 구성하여 채널 맵의 조합으로 사용자가 가입한 채널 목록을 제공하는 것도 가능할 것이다.
UnsubscribedChannelMap 엘리먼트는 사용자가 가입하지 않은 채널 맵에 대한 정보를 포함한다. 서비스 사업자는 사용자가 비록 현재는 가입하지 않아 시청할 수 없지만 프로모션을 위하여 이러한 채널 목록을 제공하는 것이 필요할 수 있다. 서비스 사업자는 선택적으로 이러한 채널 맵들을 제공할 수 있다.
EPGDiscoveryLocation 엘리먼트는 EPG 데이터를 디스커버리(discovery) 하기 위한 EPG 데이터 제공자 정보를 포함한다. 상기 EPG 데이터 제공자 정보는 EPG 데이터를 받을 수 있는 주소 정보를 포함한다. EPG는 선택적으로 제공할 수 있으며 하나 이상의 EPG를 제공할 수도 있다. 여기서, EPGDiscoveryLocation 엘리먼트는 일예로 EPG 디스커버리 레코드 타입(EPG Discovery Record Type)으로 정의될 수 있다.
SPRemoteConfigurationServerLocation 엘리먼트는 서비스 프로바이더가 제공하는 리모트 컨피규레이션 서버(Remote Configuration Server)의 주소 정보를 포함한다. 리모트 컨피규레이션 서버의 주소 정보가 존재할 경우, ITF는 반드시 리모트 컨피규레이션 서버에 접속하여 리모트 컨피규레이션 절차를 수행하여야 한다. 여기서, 리모트 컨피규레이션 서버는 전술한 RCMS 기능을 수행한다.
도 8은 서비스 정보(SI: Service Information)을 구성하는 각 테이블 간의 관계를 도시한 도면이다.
도 8을 참조하면, 마스터 SI 테이블 레코드(Master SI Table Record)는 가상 채널 맵(Virtual Channel Map)들에 대한 포인터들을 제공한다. 여기서, 포인터들은 가상 채널 디스커버리 과정(Virtual Channel discovery process)를 시작하기 위해 필요한 정보이다. 또한 마스터 SI 테이블 레코드는 ITF가 서비스 정보(SI)의 일부 버전의 변경을 감지할 수 있도록 한다. 마스터 SI 테이블 레코드는 각 채널 맵(Channel Map)들의 버전 정보를 담고 있는 채널 맵 마스터(Channel Map Master)와 채널의 상세 정보를 담고 있는 채널 디테일스(Channel Details)에 대한 버전 정보를 담고 있는 가상 채널 마스터(Virtual Channel Master)들로 구성될 수 있다. 여기서, 마스터 SI 테이블 레코드는 가상 채널 마스터를 선택적으로 포함할 수 있다.
각 채널 맵(Channel Map)은 VCListID로 유일하게 식별되며 VCListVerion과 ChannelDetailsVersion의 두 가지 버전 정보를 가진다. VCListVersion은 채널 맵의 채널 목록에 대한 버전으로, 채널이 추가되거나 삭제될 경우에만 버전이 변경된다. ChannelDetailsVersion은 채널 맵에 포함된 채널의 상세 정보가 변경 여부를 관리하는 버전 정보로 채널의 상세 정보가 변경된 경우에만 버전이 변경된다.
마스터 SI 테이블 레코드는 서비스 프로바이더에 유일하게 하나만 존재할 수도 있다. 하지만 서비스의 구성이 지역별로 다를 경우, 각 지역별로 하나의 마스터 SI 테이블 레코드를 구성하는 것이 보다 효율적일 것이다. 이 경우 레지스트레이션(Registration) 단계를 통해 ITF가 속한 지역에 맞는 마스터 SI 테이블 레코드를 제공하는 것이 가능하다.
도 8에서 마스터 SI 테이블 레코드에 2개의 채널 맵의 예시되어져 있고, 이들은 VCListID로 유일하게 식별될 수 있다. 각 채널 맵은 하나 이상의 채널을 가질 수 있으며 채널의 상세 정보를 채널 맵 상에 포함하는 것이 아니라, 이 정보를 얻을 수 있는 위치를 지정한다. 즉, 채널 디테일스 로케이션(Channel Details Location)이 채널 상세 정보의 위치를 지정하는 역할을 한다.
채널 디테일스 레코드(Channel Details Record)는 채널의 상세 정보를 담고 있으며 채널 맵 상의 채널 디테일스 로케이션(Channel Details Location)에 의하여 찾아갈 수 있다. 이와 같은 방법 외에도 채널 디테일스 로케이션을 전달하는 방법은 다음과 같이 여러 가지 방식을 가질 수 있다.
채널 디테일스 로케이션 전달 방식
1. 글로벌(Global)로 하나의 멀티캐스트 스트림(Multicast stream)으로 제공하는 방법
하나의 글로벌한 멀티캐스트 스트림으로 서비스 프로바이더가 제공하는 모든 채널의 채널 디테일스 레코드(Channel Details Record)를 뿌리는 방식이다. 이 경우에는 전술한 것과 같이 채널 맵 상에서 각 채널별 상세 정보의 주소를 알려줄 필요 없이 ITFRegistrationOutputType에 이 글로벌한 멀티캐스트 스트림의 주소를 담아 줌으로써 제공해 줄 수 있다.
2. 지역별로 하나의 멀티캐스트 스트림으로 제공하는 방법
상기 1번의 방식은 전역적으로 하나의 스트림으로 채널 상세 정보를 제공하는데 비해서, 이 경우 각 지역별로 별개의 멀티캐스트 스트림을 통하여 채널 상세 정보를 제공할 수 있다. 이 경우에도 레지스트레이션 과정을 통해 ITF에 속한 지역을 특정 지을 수 있기 때문에 ITFRegistrationOutputType을 통해 지역별 유일한 멀티캐스트 스트림의 주소를 지정해 줄 수 있다.
3. 채널 맵에 기본 채널 디테일스 로케이션(Default Channel details location) 지정 방법
한 채널 맵에 속한 채널의 상세 정보가 일부 혹은 전부가 동일 주소에서 받아올 수 있다면, 이를 각 채널 디테일스 로케이션 별로 지정하는 것보다 채널 맵에 한 번 지정하는 것으로 충분하다. 이 경우 만일 다른 주소에서 상세 정보를 획득해야 할 채널이 존재할 경우에는, 채널 디테일스 로케이션에 다시 또는 추가로 지정함으로써, 채널 맵에서 지정한 주소를 오버라이드(Override)할 수 있게 된다.
4. 도 5에서 도시한 바와 같이 채널 디테일스 로케이션을 통해 각 채널별 상세 정보의 위치를 지정하는 방법
각 채널 맵에 속한 채널의 상세 정보를 각 채널 디테일스 로케이션 별로 지정하는 방식이다. 예를 들면, ServiceID가 각각 "WNBC.COM/ch9" 및 "WNBC.COM/ch11"인 채널에 대해서, "WNBC.COM/ch9"인 경우에는, 상기 채널의 채널 디테일스 로케이션의 LocationURL을 "ipm://sd.verizon.com"로, "WNBC.COM/ch11"인 채널의 경우에는, 상기 채널의 상세 정보에 대한 채널 디테일스 로케이션의 LocationURL을 "ipm://sd.verizon.com"로 각각 지정한다.
전송되는 채널 디테일스 레코드(Channel Details Record)들에서 각 채널의 상세 정보를 찾기 위해, 채널 디테일스 레코드 로케이션의 ServiceID가 각 채널의 상세 정보를 구분 짓는 유일한 식별자로 역할을 할 수 있으며, 채널 디테일스 레코드 로케이션의 ServiceID를 통해 해당 채널의 채널 디테일스 레코드를 찾을 수 있다.
만일 멀티캐스트 방식으로 채널 디테일스 레코드를 전달받는 경우에는, 해당 스트림에 조인(join)하여 레코드들을 계속 수신하면서 ServiceID에 해당하는 채널 디테일스 레코드를 찾을 수 있다.
만일 유니캐스트 방식으로 채널 디테일스 레코드를 수신하는 경우에는, ServiceID를 파라미터로 서버에 전달하여 원하는 채널 디테일스 레코드만을 전송하도록 하여 해당 채널 디테일스 레코드만을 수신할 수 있다.
마스터 SI 테이블 레코드(Master SI Table Record), 채널 맵 레코드(Channel Map Record), 채널 디테일스 레코드(Channel Details Record)는 논리적으로 세 개의 분리된 플로우(flow)를 통해 전달되며 Push 모드 및 Pull 모드 중 어느 하나의 방식이라도 무방하게 전달될 수 있다.
마스터 SI 테이블 레코드(Master SI Table Record)를 통행 ITF는 채널 맵과 채널 디테일스의 업데이트를 관리할 수 있다. ITF는 마스터 SI 테이블을 모니터링하여 채널 맵과 채널 디테일스의 버전 변경 여부를 판단하고, 버전이 변경된 경우에는, 채널 맵과 채널 디테일스가 업데이트되었다고 인식하여 채널 맵과 채널 디테일스에 대한 업데이트를 수행할 수 있다.
여기서, 채널 디테일스의 업데이트 유무는 두 가지 방법으로 확인할 수 있다. 첫 번째는 마스터 SI 테이블 레코드의 채널 맵 마스터(Channel Map Master)의 채널 디테일스 버전(Channel Details Version)을 통해 확인할 수 있다. 채널 맵 마스터의 채널 디테일스 버전이 변경된 경우에는, 채널 디테일스는 업데이트되었다고 인식할 수 있다. 두 번째는 채널 맵 레코드(Channel Map Record)의 채널 디테일스 버전을 통해 확인할 수 있다. 즉, 채널 맵 마스터가 지시하는 채널 맵 레코드를 찾고 해당 채널 맵 레코드의 채널 디테일스 버전의 변경 여부를 판단하여 업데이트 유무를 확인할 수 있다. 두 번째 방법에서 마스터 SI 테이블 레코드는 가상 채널 마스터(Virtual Channel Master)를 포함할 필요가 없고 채널 맵 마스터가 채널 디테일스 버전을 포함할 필요가 없다.
도 9는 마스터 SI 테이블 레코드 타입(Master SI Table Record Type)에 대한 바람직한 일실시예의 스키마를 도시한 도면이다.
도 9를 참조하면, 마스터 SI 테이블 레코드는 채널 맵 관리 정보를 포함한다. 이를 위해, 마스터 SI 테이블 레코드는 ServiceProviderID 속성, Version 속성, ChannelMapMaster 엘리먼트, VirtualChannelMaster 엘리먼트를 포함할 수 있다. 여기서 VirtualChannelMaster 엘리먼트는 선택적으로 포함할 수 있다.
ServiceProviderID 속성은 서비스 프로바이더를 유일하게 식별할 수 있는 서비스 프로바이더 식별자 정보를 포함하고 서비스 프로바이더 식별자로 등록된 도메 인 이름을 이용할 수 있다.
Version 속성은 마스터 SI 테이블 레코드의 버전 정보를 포함한다. Version 속성에 포함된 버전 정보로 마스터 SI 테이블 레코드의 업데이트 여부를 판단할 수 있다.
ChannelMapMaster 엘리먼트는 채널 맵을 수신하기 위한 정보를 포함한다. 즉, ChannelMapMaster 엘리먼트는 채널 맵 인스턴스(Channel Map Instance)에 대한 포인터를 포함한다. 또한, 마스터 SI 테이블 레코드는 하나 이상의 채널 맵 레코드들을 각각 지시하기 위한 하나 이상의 포인터들을 포함할 수 있다. ChannelMapMaster 엘리먼트에 포함된 정보를 기초로 채널 맵 레코드를 수신할 수 있고 채널 맵의 업데이트 여부를 판단할 수 있다. 이를 위해 ChannelMapMaster 엘리먼트는 VCListID 속성, VCListVersion 속성 및 ChannelDetailsVersion 속성을 포함할 수 있다. VCListID 속성은 채널 맵 인스턴스를 유일하게 식별하는 식별자 정보를 포함한다. VCListVersion 속성은 채널 맵을 구성하는 채널 목록들의 변화 여부를 알려주는 버전 정보를 포함한다. 여기서, VCListVersion 속성에 포함된 버전 정보는 채널이 추가되거나 삭제될 경우 변경된다. ChannelDetailsVersion 속성은 채널 맵을 구성하는 채널의 상세 정보가 변경 여부를 알려주는 버전 정보를 포함한다. 여기서, ChannelDetailsVersion 속성에 포한된 버전 정보는 채널의 상세 정보가 변경될 때 바뀐다.
VirtualChannelMaster 엘리먼트는 ServiceID 속성 및 VCVersion 속성을 포함한다. ServiceID 속성은 서비스를 유일하게 식별하기 위한 식별자 정보를 포함한다. ServiceID 속성에 포함된 정보를 기초로 원하는 채널 디테일스 레코드를 찾을 수 있다. VCVersion 속성은 채널 디테일스의 버전 정보를 포함한다.
도 10은 채널 맵 타입(Channel Map Type)에 대한 바람직한 일실시예의 스키마를 도시한 도면이다.
도 10을 참조하면, 채널 맵은 채널 맵 정보를 담고 있는 구조로 채널(Channel)의 상세 정보를 포함하고 있지 않으며, 채널들의 묶음 형태의 패키지의 역할을 수행한다. 여기서, 도 10의 채널 맵은 도 8에서 전술한 채널 디테일스 전달 방법 중 4번째 방법인 각 채널 디테일스 별로 별도 주소를 지정하는 방식을 나타내고 있다. 여기서, 채널 맵 정보는 일 예로 채널 맵 인스턴스가 될 수 있다.
채널 맵 레코드(Channel Map Record)는 채널 맵 인스턴스를 포함한다. 이를 위해, 채널 맵 레코드는 ServiceProviderID 속성, VCListID 속성, VCListVersion 속성, ChannelDetailsVersion 속성 및 ChannelDetailsLocation 엘리먼트를 포함한다.
ServiceProviderID 속성은 서비스 프로바이더를 유일하게 식별할 수 있는 서비스 프로바이더 식별자 정보를 포함하고 서비스 프로바이더 식별자로 등록된 도메인 이름을 이용할 수 있다.
VCListID는 채널 맵(Channel Map)을 유일하게 식별하는 식별자 정보를 포함한다.
VCListVersion 속성은 채널 맵을 구성하는 채널 목록들의 변화 여부를 알려주는 버전 정보를 포함한다. 여기서, VCListVersion 속성에 포함된 버전 정보는 채널이 추가되거나 삭제될 경우 변경된다.
ChannelDetailsVersion 속성은 채널 맵을 구성하는 채널의 상세 정보의 변경 여부를 알려주는 버전 정보를 포함한다. 여기서, ChannelDetailsVersion 속성에 포한된 버전 정보는 채널의 상세 정보가 변경될 때 바뀐다.
ChannelDetailsLocation 엘리먼트는 각 채널의 상세 정보의 위치 정보를 포함한다. 이를 위해 ChannelDetailsLocation 엘리먼트는 ServiceID 속성, LocationURL 속성 및 VCVersion 속성을 포함한다. ServiceID 속성은 서비스를 유일하게 식별하기 위한 식별자 정보를 포함한다. ServiceID 속성에 포함된 정보를 기초로 원하는 채널 디테일스 레코드를 찾을 수 있다. LocationURL 속성은 이 서비스의 상세 정보를 얻을 수 있는 주소 정보를 포함한다. VCVersion 속성은 채널 디테일스의 버전 정보를 포함한다.
도 11은 채널 맵 타입(Channel Map Type)에 대한 바람직한 다른 실시예의 스키마를 도시한 도면이다.
도 11을 참조하면, 채널 맵은 채널 맵 정보를 담고 있는 구조로 채널들의 묶음 형태의 패키지의 역할을 수행하며 채널의 상세 정보를 포함하고 있지 않고 대신에 채널의 상세 정보의 디폴트 위치에 대한 정보를 포함한다. 여기서, 도 11의 채널 맵은 도 8에서 전술한 채널 디테일스 전달방법 중 3번째 방법인 채널 맵에 기본 채널 디테일스 로케이션(default channel details location) 지정 방법을 나타내고 있다. 여기서, 채널 맵 정보는 일예로 채널 맵 인스턴스가 될 수 있다.
채널 맵 레코드(Channel Map Record)는 채널 맵 인스턴스를 포함한다. 이를 위해, 채널 맵 레코드는 ServiceProviderID 속성, VCListID 속성, VCListVersion 속성, ChannelDetailsVersion 속성, ChannelDetailsDefaultLocation 엘리먼트 및 ChannelDetailsLocation 엘리먼트를 포함한다.
ServiceProviderID 속성은 서비스 프로바이더를 유일하게 식별할 수 있는 서비스 프로바이더 식별자 정보를 포함하고 서비스 프로바이더 식별자로 등록된 도메인 이름을 이용할 수 있다.
VCListID는 채널 맵을 유일하게 식별하는 식별자 정보를 포함한다.
VCListVersion 속성은 채널 맵을 구성하는 채널 목록들의 변화 여부를 알려주는 버전 정보를 포함한다. 여기서, VCListVersion 속성에 포함된 버전 정보는 채널이 추가되거나 삭제될 경우 변경된다.
ChannelDetailsVersion 속성은 채널 맵을 구성하는 채널의 상세 정보의 변경 여부를 알려주는 버전 정보를 포함한다. 여기서, ChannelDetailsVersion 속성에 포한된 버전 정보는 채널의 상세 정보가 변경될 때 바뀐다.
ChannelDetailsDefaultLocation 엘리먼트는 채널 맵에 속한 채널의 상세 정보의 디폴트 위치 정보를 포함한다. 이를 위해 ChannelDetailsDefaultLocation 엘리먼트는 LocationURL 속성을 포함한다. LocationURL 속성은 디폴트 위치 정보를 포함한다. 여기서, 디폴트 위치 정보는 한 채널 맵에 속한 채널의 상세 정보를 전부 또는 일부 받아올 수 있는 주소이다. 만일 다른 주소에서 상세 정보를 획득해야 할 채널이 존재하는 경우에는, ChannelDetailsLocation 엘리먼트에 해당 채널의 상세 정보의 위치 정보를 오버라이드할 수 있다.
ChannelDetailsLocation 엘리먼트는 각 채널의 상세 정보의 위치 정보를 포함한다. 즉, ChannelDetailsDefaultLocation 엘리먼트에 포함된 디폴트 위치 정보로부터 얻어 올 수 없는 채널의 상세 정보가 있는 경우에는, ChannelDetailsLocation 엘리먼트가 상기 채널의 상세 정보의 위치 정보를 포함한다. 이를 위해 ChannelDetailsLocation 엘리먼트는 ServiceID 속성, LocationURL 속성 및 VCVersion 속성을 포함한다. ServiceID 속성은 서비스를 유일하게 식별하기 위한 식별자 정보를 포함한다. ServiceID 속성에 포함된 정보를 기초로 원하는 채널 디테일스 레코드를 찾을 수 있다. LocationURL 속성은 이 서비스의 상세 정보를 얻을 수 있는 주소 정보를 포함한다. VCVersion 속성은 채널 디테일스의 버전 정보를 포함한다.
도 12a 및 도 12b는 채널 디테일스 타입(Channel Details Type)에 대한 바람직한 일실시예의 스키마를 도시한 도면이다.
도 12a 및 도 12b를 참조하면, 채널 디테일스 레코드(Channel Details Record)는 채널 맵에 포함된 채널의 상세 정보를 포함한다. 이를 위한 채널 디테일스 레코드는 ServiceProviderID 속성, VirtualChannelDetails 엘리먼트를 포함한다.
ServiceProviderID 속성은 서비스 프로바이더를 유일하게 식별할 수 있는 서비스 프로바이더 식별자 정보를 포함한다.
VirtualChannelDetails 엘리먼트는 각 채널의 상세 정보를 포함한다. 이를 위해, VirtualChannelDetails 엘리먼트는 ChannelType 속성, ServiceID 속성, VCVersion 속성, ShortChannelName 엘리먼트, ChannelNumber 엘리먼트 및 ChannelSource 엘리먼트를 포함한다. 여기서, ChannelSource 엘리먼트는 선택적으로 포함될 수 있다. VirtualChannelDetails 엘리먼트가 ChannelSource 엘리먼트가 포함하지 않는 경우에는, ChannelSource 엘리먼트는 별도의 ChannelSource 레코드로 독립적으로 전송될 수 있고, VirtualChannelDetails 엘리먼트는 ChannelSource 레코드를 수신할 수 있는 위치 정보 및 식별 정보를 포함할 수 있다.
ChannelType 속성은 채널의 서비스 종류를 나타내는 서비스 타입 정보를 포함하고, 서비스 타입 정보는 해당 채널이 비디오 채널, 오디오 채널, 데이터 방송 채널 인지를 알려준다.
ServiceID 속성은 서비스를 유일하게 식별하기 위한 식별자 정보를 포함한다. ServiceID 속성에 포함된 정보를 기초로 원하는 채널 디테일스 레코드(Channel Details Record)를 찾을 수 있다.
VCVersion 속성은 채널 디테일스의 버전 정보를 포함한다.
ShortChannelName 엘리먼트는 7자 이내의 짧은 텍스트 값으로 채널의 이름을 포함한다. 일 예로 "WABC"와 같은 값이 될 수 있을 것이다.
ChannelNumber 엘리먼트는 해당 채널 번호를 포함한다. 본 발명에서는 1파트 채널 넘버 및 2파트 채널 넘버를 모두를 지원할 수 있어, 해당 채널 번호는 1파트 채널 넘버 및 2파트 채널 넘버 중 어느 하나가 될 수 있다. 이를 위해 ChannelNumber 엘리먼트는 물리적 채널 정보를 포함하는 MajorChannelNumber 엘리먼트 및 논리적 채널 정보를 포함하는 MinorChannelNumber를 포함할 수 있다.
ChannelSource 엘리먼트는 해당 채널의 실제 소스를 지정하는 정보를 포함한다. 이를 위해 ChannelSource 엘리먼트는 VirtualChannelLocation 엘리먼트, ChannelSourcePurpose 엘리먼트, VideoAttribute 엘리먼트, AudioAttributes 엘리먼트 및 ECMLocation 엘리먼트를 포함한다.
VirtualChannelLocation 엘리먼트는 채널의 소스를 받을 수 있는 IP 주소 및 전송 프로토콜 정보를 포함한다. 이를 위해 VirtualChannelLocation 엘리먼트는 ProgramNumber 속성 및 IPLocation 엘리먼트를 포함한다. ProgramNumber 속성을 선택적으로 지원함으로써 MPTS(multi program transport stream)로의 확장성을 보장함과 동시에 SPTS(single program transport stream)의 경우에도 수신한 스트림이 내가 원하는 스트림인지를 확인할 수 있는 기회를 제공한다. IPLocation 엘리먼트는 채널의 소스를 받을 수 있는 URL 정보를 포함하는 Location URL 속성을 포함한다.
ChannelSourcePurpose 엘리먼트는 채널의 성격을 나타내는 값인 소스 타입 정보를 포함하며, 복수 개의 소스 타입 정보를 포함할 수 있다. 여기서, 소스 타입 정보는 HD(high definition), SD(standard definition), PIP(picture in picture) 및 Barker 중 어느 하나의 값이 될 수 있다. Barker 채널은 광고 혹은 홍보용의 채널로써 해당 채널의 권한이 없어서 시청할 수 없을 때 이 채널로 자동 선택되며 해당채널의 홍보와 가입 안내의 역할을 수행하며, Barker는 HD Barker, SD Barker 및 PIP Barker 중 적어도 하나의 값을 포함한다.
한 채널은 ChannelSourcePurpose가 지정하는 값 별로 하나씩의 소스를 가질 수 있다. 즉, ChannelSourcePurpose 엘리먼트가 하나의 HD 및 하나의 SD를 동시에 포함하는 경우에는, 한 채널은 하나의 HD 소스 및 하나의 SD 소스를 가질 수 있다. 그러나 한 채널은 2개의 HD 소스를 동시 가질 필요는 없으므로, ChannelSourcePurpose 엘리먼트는 2개의 HD를 동시에 포함하지 않는다.
VideoAttributes 엘리먼트는 해당 소스의 비디오 속성 정보를 포함한다. 이를 위해 VideoAttributes 엘리먼트는 비디오 코덱 정보를 포함하는 Codec 속성, 비디오 프로파일 정보를 포함하는 Profile 속성 및 비디오 레벨 정보를 포함하는 Level 속성을 포함한다.
AudioAttributes 엘리먼트는 해당 소스의 오디오 속성 정보를 포함한다. 이를 위해 AudioAttributes 엘리먼트는 오디오 코덱 정보를 포함하는 Codec 속성, 비디오 프로파일 정보를 포함하는 Profile 속성, 오디오 레벨 정보를 포함하는 Level 속성, 오디오 bitrate 정보를 포함하는 Bitrate 속성 및 오디오 샘플링 주파수 정보를 포함하는 SamplingFrequency 정보를 포함한다.
VideoAttribute 엘리먼트에 포함된 비디오 속성 정보 및 AudioAttributes 엘리먼트에 포함된 오디오 속성 정보를 통해 ITF의 기능에 맞추어서 최적의 소스를 선택하여 시청할 수 있다.
ECMLocation 엘리먼트는 ECMLocation은 ECM 정보를 수신할 수 있는 주소 정보를 포함한다.
도 13은 본 발명에 따른 서비스 프로바이더 디스커버리(Service Provider Discovery)에 대한 바람직한 일실시예의 수행과정을 도시한 흐름도이다.
도 13을 참조하면, ITF는 SD 서버를 찾는다(S1300). 여기서, ITF는 도 4에서 전술된 SD 서버(Service Discovery Server)의 주소 목록 서치 방식에 따라 SD 서버를 찾을 수 있다.
ITF는 SD 서버의 주속 목록을 기초로 SD 서버에 접속하여 SD 서버로부터 서비스 프로바이더 디스커버리 레코드(Service Provider Discovery Record)를 구한다(S1310). 여기서, 서비스 프로바이더 디스커버리 레코드는 도 5에서 전술한 서비스 프로바이더 디스커버리 레코드일 수 있다. 또한 ITF는 SD 서버로부터 서비스 프로바이더 디스커버리 레코드를 푸쉬 모드 또는 풀 모드로 수신받을 수 있다.
ITF는 수신한 서비스 프로바이더 디스커버리 레코드의 ServiceProviderID 속성을 파싱(parsing)하여, ServiceProviderID 속성에 포함된 서비스 프로바이더 식별자 정보를 산출한다(S1320).
ITF는 산출한 서비스 프로바이더 식별자 정보가 서비스를 제공받기를 원하는 서비스 프로바이더인지를 확인한다(S1330). 서비스를 제공받기를 원하는 서비스 프로바이더가 아닌 경우에는, ITF는 단계 S1300을 수행하여 SD 서버의 주속 목록에서 다른 SD 서버를 찾는다.
서비스를 제공받기를 원하는 서비스 프로바이더인 경우에는, ITF는 프로바이더 디스커버리 레코드의 Name 속성 및 Description 속성을 파싱하여, Name 속성에 포함된 서비스 프로바이더의 이름에 대한 정보 및 Description 속성에 포함된 서비스 프로바이더에 대한 상세한 텍스트 설명 정보를 산출한다(S1340).
그리고 ITF는 프로바이더 디스커버리 레코드의 SProviderRegistrationServer 엘리먼트를 파싱하여, SProviderRegistrationServer 엘리먼트에 포함된 서비스 프로바이더의 레지스트레이션 서버(Registration Server)의 주소 정보를 산출한다(S1350). ITF는 산출한 레지스트레이션 서버의 주소 정보를 기초로 레지스트레이션 서버에 접속하여 ITF 등록 절차를 수행할 수 있다.
도 14는 본 발명에 따른 서비스 프로바이더 등록(Service Provider Registration) 및 서비스 디스커버리(Service Discovery)에 대한 바람직한 일실시예의 수행과정을 도시한 흐름도이다.
도 14를 참조하면, ITF는 서비스 프로바이더 디스커버리 레코드에 포함된 레지스트레이션 서버의 주소 정보가 지정하는 레지스트레이션 서버로 등록 요청을 전송한다(S1400). 여기서, ITF는 등록 요청으로 상기 도 6에서 전술된 ITFRegistrationInputType 레코드를 전송할 수 있다.
레지스트레이션 서버는 등록 요청을 수신하여 ITF의 등록 여부를 판단한다(S1410). 여기서, 레지스트레이션 서버는 등록 요청으로 ITFRegistrationInputType 레코드를 수신할 수 있고, ITFRegistrationInputType 레코드에 포함된 가입자 식별자 정보 및 가입자 위치 정보를 기초로 등록 여부를 판단할 수 있다.
등록이 승인된 경우에는, ITF는 ITFRegistrationOutputType 레코드를 수신한다(S1420). 여기서, ITFRegistrationOutputType 레코드는 도 7에서 전술된 ITFRegistrationOutputType 레코드일 수 있고, 또한 TFRegistrationOutputType 레코드에 포함된 정보는 ITFRegistrationInputType 레코드에 포함된 정보에 의해 커스트마이징된 정보일 수 있다.
ITF는 수신한 ITFRegistrationOutputType 레코드의 MasterSITableLocation 엘리먼트 파싱하여, MasterSITableLocation 엘리먼트에 포함된 마스터 SI 테이블의 위치 정보를 산출한다(S1430).
ITF는 산출한 마스터 SI 테이블의 위치 정보를 기초로 마스터 SI 테이블 레코드(Master SI Table Record)를 수신한다(S1440). 여기서, 수신된 마스터 SI 테이블 레코드는 도 9에서 전술된 마스터 SI 테이블 레코드일 수 있다.
ITF는 수신한 ITFRegistrationOutputType 레코드의 SubscribedChannelMap 엘리먼트를 파싱하여, SubscribedChannelMap 엘리먼트에 포함된 사용자가 가입한 채널 맵에 대한 정보를 산출한다(S1450). 여기서, ITF는 사용자가 가입한 채널 맵을 수신하기 위한 채널 맵 위치 정보를 마스터 SI 테이블 레코드(Master SI Table Record)의 ChannelMapMaster로 부터 산출할 수 있다.
ITF는 상기 산출한 채널 맵 위치 정보를 기초로 채널 맵 레코드(Channel Map Record)를 수신한다(S1460). 여기서, 수신된 채널 맵 레코드는 도 10에서 전술된 채널 맵 레코드 및 도 11에서 전술된 채널 맵 레코드 중 적어도 하나일 수 있다.
ITF는 수신한 채널 맵 레코드의 ChannelDetailsLocation 엘리먼트를 파싱하여, ChannelDetailsLocation 엘리먼트에 포함된 채널의 상세 정보의 위치 정보를 산출한다(S1470).
ITF는 산출한 채널의 상세 정보의 위치 정보를 기초로 채널 디테일스 레코드(Channel Details Record)를 수신한다(S1480). 여기서, 수신한 채널 디테일스 레코드는 도 12a 및 도 12b에서 도시된 채널 디테일스 레코드일 수 있다.
그리고 ITF는 수신한 서비스 서비스를 시작한다(S1490).
도 15는 마스터 SI 테이블의 업데이트를 처리하는 방법에 대한 바람직한 일실시예의 수행과정을 도시한 흐름도이다.
도 15를 참조하면, ITF는 마스터 SI 테이블을 업데이트한다(S1500). ITF는 마스터 SI 테이블을 실시간으로 모니터닝하며 수신한 마스터 SI 테이블 레코드(Master SI Table Record)의 버전 변경 여부를 확인할 수 있다. 그리고 수신한 마스터 SI 테이블 레코드의 버전이 변경된 경우에는, ITF는 수신한 마스터 SI 테이블 레코드에 포함된 정보로 마스터 SI 테이블을 업데이트한다.
ITF는 마스터 SI 테이블에 포함된 ChannelMapMaster 엘리먼트 중 업데이트를 위한 ChannelMapMaster 엘리먼트를 선택한다(S1510).
ITF는 선택한 ChannelMapMaster 엘리먼트가 사용자가 가입한 채널 맵을 수신하기 위한 정보를 포함하는지 확인한다(S1520). 이를 위해 ITF는 ITFRegistrationOutputType 레코드의 SubscribedChannelMap에 포함된 사용자가 가입한 채널 맵에 대한 정보를 사용할 수 있다.
사용자가 가입한 채널 맵을 수신하기 위한 정보를 포함하는 경우에는, ITF는 선택한 ChannelMapMaster 엘리먼트의 VCListVersion 속성에 포함된 버전 정보가 변경되었는지 확인한다(S1530). VCListVersion 속성에 포함된 버전 정보가 변경된 경우에는, ITF는 업데이트된 채널 맵 레코드(Channel Map Record)를 수신하고, 수신한 채널 맵 레코드에 포함된 정보로 채널 맵을 업데이트한다(S1540).
마스터 SI 테이블에 선택되진 않은 ChannelMapMaster 엘리먼트가 있는지 확인한다(S1550). 선택되지 않은 ChannelMapMaster 엘리먼트가 있는 경우에는, ITF는 단계 S1510을 수행한다.
도 16은 마스터 SI 테이블의 업데이트를 처리하는 방법에 대한 바람직한 다른 실시예의 수행과정을 도시한 흐름도이다.
도 16을 참조하면, ITF는 마스터 SI 테이블을 업데이트한다(S1600). ITF는 마스터 SI 테이블을 실시간으로 모니터닝하며 수신한 마스터 SI 테이블 레코드의 버전 변경 여부를 확인할 수 있다. 그리고 수신한 마스터 SI 테이블 레코드의 버전이 변경된 경우에는, ITF는 수신한 마스터 SI 테이블 레코드에 포함된 정보로 마스터 SI 테이블을 업데이트한다.
ITF는 마스터 SI 테이블에 포함된 ChannelMapMaster 엘리먼트 중 업데이트를 위한 ChannelMapMaster 엘리먼트를 선택한다(S1610).
ITF는 선택한 ChannelMapMaster 엘리먼트가 사용자가 가입한 채널 맵을 수신하기 위한 정보를 포함하는지 확인한다(S1620). 이를 위해 ITF는 ITFRegistrationOutputType 레코드의 SubscribedChannelMap에 포함된 사용자가 가입한 채널 맵에 대한 정보를 사용할 수 있다.
사용자가 가입한 채널 맵을 수신하기 위한 정보를 포함하는 경우에는, ITF는 선택한 ChannelMapMaster 엘리먼트의 VCListVersion 속성에 포함된 버전 정보가 변경되었는지 확인한다(S1630). VCListVersion 속성에 포함된 버전 정보가 변경된 경우에는, ITF는 업데이트된 채널 맵 레코드(Channel Map Record)를 수신하고, 수신한 채널 맵 레코드에 포함된 정보로 채널 맵을 업데이트한다(S1640).
ITF는 선택한 ChannelMapMaster 엘리먼트의 ChannelDetailsVersion 속성에 포함된 버전 정보가 변경되었는지 확인한다(S1650). ChannelDetailsVersion 속성에 포함된 버전 정보가 변경된 경우에는, 채널 상세 정보(Channel Details) 업데이트를 수행한다(S1650).
마스터 SI 테이블(Master SI Table)에 선택되진 않은 ChannelMapMaster 엘리먼트가 있는지 확인한다(S1670). 선택되지 않은 ChannelMapMaster 엘리먼트가 있는 경우에는, ITF는 S1610 단계를 수행한다.
도 17은 채널 디테일스 버전(Channel Details Version)의 업데이트를 처리하는 방법에 대한 바람직한 일실시예의 수행과정을 도시한 흐름도이다.
도 17을 참조하면, ITF는 채널 맵을 업데이트한다(S1700).
ITF는 채널 맵에서 채널을 선택한다(S1710). 여기서, ITF는 채널 맵에서 선택한 채널의 상세 정보의 위치 정보를 포함하는 ChannelDetailsLocation 엘리먼트도 함께 선택할 수 있다.
ITF는 선택한 ChannelDetailsLocation 엘리먼트의 VCVersion 속성에 포함된 버전 정보가 변경되었는지를 확인한다(S1720). 버전 정보가 변경된 경우에는, ITF는 업데이트된 채널 디테일스 레코드(Channel Details Record)를 수신하고, 수신한 채널 디테일스 레코드에 포함된 정보를 기초로 선택한 채널의 채널 디테일스를 업데이트한다(S1730).
ITF는 채널 맵에서 선택되지 않은 채널이 있는 지를 확인한다(S1740). 선택되지 않은 채널이 있는 경우에는, ITF는 S1710 단계를 수행한다.
도 18은 채널 디테일스 버전(Channel Details Version)의 업데이트를 처리하는 방법에 대한 바람직한 다른 실시예의 수행과정을 도시한 흐름도이다.
도 18을 참조하면, ITF는 채널 맵에서 채널을 선택한다(S1800). 여기서, ITF는 채널 맵에서 선택한 채널의 상세 정보의 위치 정보를 포함하는 ChannelDetailsLocation 엘리먼트도 함께 선택할 수 있다.
ITF는 마스터 SI 테이블에서 선택한 ChannelDetailsLocation 엘리먼트의 ServiceID 속성에 포함된 식별자 정보와 같은 식별자 정보를 포함하는 ServiceID 속성이 포함된 Virtual Channel Master 엘리먼트를 검색한다(S1810).
ITF는 검색한 Virtual Channel Master 엘리먼트의 VCVersion 속성에 포함된 버전 정보와 선택한 ChannelDetailsLocation 엘리먼트의 VCVersion 속성에 포함된 버전 정보와 같은 지를 판단한다(S1820). 버전 정보과 다른 경우에는, ITF는 업데이트된 채널 디테일스 레코드(Channel Details Record)를 수신하고, 수신한 채널 디테일스 레코드에 포함된 정보를 기초로 선택한 채널의 채널 디테일스를 업데이트한다(S1830).
ITF는 채널 맵에서 선택되지 않은 채널이 있는 지를 확인한다(S1840). 선택되지 않은 채널이 있는 경우에는, ITF는 S1800 단계를 수행한다.
도 19는 본 발명에 따른 EPG 디스커버리 레코드 타입(EPG Discovery Record Type)에 대한 바람직한 일실시예의 스키마를 도시한 도면이다.
도 19를 참조하면, EPG 디스커버리 레코드는 EPG 데이터를 디스커버리 위한 EPG 디스커버리 정보를 포함한다. 이를 위해, EPG 디스커버리 레코드는 EPGProviderID 속성, Version 속성, Name 엘리먼트, Description 엘리먼트, EPG ServerLocation 엘리먼트, TargetServiceProviderID 엘리먼트 및 Logo 엘리먼트를 포함한다.
EPGProviderID는 EPG 데이터를 제공하는 제공자를 유일하게 식별할 수 있는 식별자 정보를 포함한다. 여기서, 식별자 정보로 등록된 도메인 이름이 사용될 수 있다.
Version 속성은 EPG 디스커버리 레코드의 버전 정보를 포함한다.
Name 엘리먼트는 EPG 데이터 제공자의 텍스트 이름에 대한 정보를 포함하며, EPG 데이터 제공자는 각 언어별로 하나씩의 이름을 가질 수 있다. 이를 위해, Name 엘리먼트는 Language 속성을 포함한다. 또한, Name 엘리먼트는 Language 속성을 복수개 포함할 수 있으며 복수의 Language 속성 각각은 각 언어별로 정의된 EPG 데이터 제공자의 텍스트 이름에 대한 정보를 포함한다.
Description 엘리먼트는 EPG 데이터 제공자에 대한 상세한 텍스트 설명 정보를 포함하며 텍스트 설명 정보는 EPG 데이터 제공자의 이름에 대항 정보와 유사하게 각 언어별로 하나씩 있을 수 있다. 이를 위해, Description 엘리먼트는 Language 속성을 포함한다. 또한, Description 엘리먼트는 Language 속성을 복수 개 포함할 수 있으며 복수의 Language 속성 각각은 각 언어별로 정의된 텍스트 설명 정보를 포함한다.
EPG ServerLocation 엘리먼트는 EPG 데이터를 받을 수 있는 IP 주소 정보 및 EPG 데이터를 수신하는데 사용되는 프로토콜 정보 포함한다.
TargetServiceProviderID 엘리먼트는 EPG 데이터 제공자가 지원하는 서비스 프로바이더들의 ID 정보를 포함한다.
Logo는 이 EPG 데이터 제공자의 logo의 위치 정보를 포함한다. 여기서, logo의 위치 정보는 URI 형태일 수 있다.
도 20은 본 발명에 따른 ITF(IPTV Terminal Function)에 대한 바람직한 일실 시예의 구성을 도시한 블록도이다.
도 20을 참조하면, ITF는 네트워크 인터페이스부, IP 네트워크 스택(IP Network Stack)(2015), 파일 핸들러(File Handler)(2020), SI 핸들러(SI Handler)(2025), EPG 핸들러(EPG Handler)(2030), 저장부(Storage)(2035), SI 디코더(SI Decoder)(2040), EPG 디코더(EPG Decoder)(2045), ITF 오퍼레이션 컨트롤러(ITF Operation Controller)(2050), 채널 서비스 매니저(Channel Service Manager)(2055), 애플리케이션 매니저(Application Manager)(2060), 디멀티플렉서(2065), PSI/PSIP 파서(PSI/PSIP Parser)(2070), A/V 디코더(A/V Decoder)(2075) 및 디스플레이 모듈(Display Module)(2080)을 포함한다. 여기서, 네트워크 인터페이스부는 모뎀(Modem)(2005) 및 이더넷 네트워크 인터페이서(Ethernet NIC)(2010)를 포함할 수 있다.
모뎀(2005)은 피지컬 레벨(physical level)에서 ITF가 IP 네트워크와 연결되는 인터페이스 역할을 수행한다. 모뎀(2005)은 물리적인 매체(Physical medium)를 통해서 전송된 신호를 디모듈레이트(demodulate)하여, 디지털 신호로 복원하고 ITF가 서비스 프로바이더로 전송하는 디지털 신호를 모듈레이트(modulate)하여, IP 네트워크로 출력한다. 여기서, 모뎀(2005)은 Cable 모뎀, DSL 모뎀 등으로 구현될 수 있다.
이더넷 네트워크 인터페이서(2010)는 모뎀(2005)을 통하여 전송받은 디지털 신호를 IP 패킷을 복원하여 이를 IP 네트워크 스택(2015)으로 출력한다. 또한, 이더넷 네트워크 인터페이서(2010)는 IP 네트워크 스택(2015)로부터 출력되는 IP 패킷을 이더넷 데이터그램(ethernet datagram)으로 캡슐화하여 모뎀(2005)으로 출력한다.
IP 네트워크 스택(2015)은 IP 프로토콜 스택(Protocol stack)에 따른 각 레이어(layer)의 처리 모듈을 처리한다. IP 네트워크 스택(2015)은 ITF에 수신되는 패킷과 ITF에서 전송하는 패킷에 대하여 소스로부터 목적지까지의 패킷 전달에 관여한다. 그리고 IP 네트워크 스택(2015)은 수신된 패킷을 적절한 프로토콜에 대응되도록 분류하고, 파일 핸들러(2020) 및 디멀티플렉서(2065)로 분류된 패킷을 출력한다. 일 예로, 네트워크 스택(2015)은 서비스 프로바이더 디스커버리 레코드(Service Provider Discovery Record), ITF 레지스트레이션 아웃풋 레코드(ITF Regitstration Output Record), 마스터 SI 테이블 레코드(Master SI Table Record), 채널 맵 레코드(Channel Map Record), 채널 디테일스 레코드(Channel Details Record) 및 EPG 디스커버리 레코드(EPG Discovery Record) 중 어느 하나를 포함하는 패킷을 수신한 경우에는, 해당 패킷에 포함된 데이터를 파일 핸들러(2020)로 출력한다. 또한, 네트워크 스택(2015)은 ITF 레지스트레이션 인풋 레코드(ITF Registration Input Record)를 IP 패킷화하여 서비스 프로바이더로 전달되도록 이더넷 네트워크 인터페이서(2010)로 출력한다.
파일 핸들러(2020)는 IP 네트워크 스택(2015)이 출력한 데이터를 취합하여 파일 형태로 복원한다. 여기서, 파일 핸들러(2020)는 플루트(FLUTE)를 이용하여 IP 네트워크 스택(2015)이 출력한 데이터를 파일 형태로 복원할 수 있다. 즉, 서비스 프로바이더는 플루트(FLUTE)를 이용하여 파일을 전송할 수 있고, 파일 핸들러(2020)는 플루트(FLUTE)를 이용하여 서비스 프로바이더가 전송한 파일을 수신받을 수 있다. 파일 핸들러(2020)는 변환한 파일을 분류하여 SI 핸들러(2025) 및 EPG 핸들러(2030) 중 어느 하나로 출력한다.
SI 핸들러(2025)는 파일 핸들러(2020)로부터 전송받은 파일(File) 형태의 데이터 중에서, IPTV SI 데이터에 해당하는 부분을 처리하여 저장부(2035)에 저장한다. 여기서, IPTV SI 데이터는 서비스 프로바이더 디스커버리 레코드(Service Provider Discovery Record), ITF 레지스트레이션 아웃풋 레코드(ITF Regitstration Output Record), 마스터 SI 테이블 레코드(Master SI Table Record), 채널 맵 레코드(Channel Map Record), 채널 디테일스 레코드(Channel Details Record) 및 EPG 디스커버리 레코드(EPG Discovery Record) 중 적어도 하나일 수 있다.
EPG 핸들러(2030)는 파일 핸들러(2020)로부터 전송받은 파일 형태의 데이터 중, IPTV EPG 데이터에 해당하는 부분을 처리하여 저장부(2035)에 저장할 수 있다. 여기서 IPTV EPG 데이터는 EPG 디스커버리 레코드에 포함된 정보를 이용하여 서비스 프로바이더로부터 수신받을 수 있다.
저장부(2035)는 SI 핸들러(2025)가 제공하는 SI, EPG 핸들러(2030)가 제공하는 EPG 및 ITF 오퍼레이션 컨트롤러(2050)가 제공하는 데이터 등을 저장한다.
SI 디코더(2040)는 저장부(2035)에 저장된 SI 데이터를 디코딩하여 필요한 정보를 복원하고, 이를 ITF 오퍼레이션 컨트롤러(2050)에 제공한다. SI 디코더(2040)는 서비스 프로바이더 디스커버리 레코드(Service Provider Discovery Record)로부터 유용한 IPTV 서비스 프로바이더에 대한 정보 및 보안 관리되는 네트워크로 서비스 프로바이더에 접속하기 위한 정보를 산출한다. 일예로 SI 디코더(2040)는 서비스 프로바이더 디스커버리 레코드를 파싱하여 서비스 프로바이더 디스커버리 레코드에 포함된 레지스트레이션 서버(Registration Server) 주소 정보를 산출할 수 있다.
또한, SI 디코더(2040)는 ITF 레지스트레이션 아웃풋 레코드(ITF Regitstration Output Record)를 파싱하여, ITF 레지스트레이션 아웃풋 레코드에 포함된 정보를 산출할 수 있다. 일예로 SI 디코더(2040)는 ITF 레지스트레이션 아웃풋 레코드에 포함된 EPG 데이터를 디스커버리(discovery) 하기 위한 EPG 디스커버리 정보 및 마스터 SI 테이블 레코드 수신하기 위한 주소 정보를 산출할 수 있다.
또한, SI 디코더(2040)는 마스터 SI 테이블 레코드(Master SI Table Record)를 파싱하여, 마스터 SI 테이블 레코드에 포함된 채널 맵 레코드 및 채널 디테일스 레코드를 수신하기 위한 정보, 채널 맵 레코드의 버전 정보, 및 채널 디테일스 레코드의 버전 정보를 산출할 수 있다.
그리고 SI 디코더(2040)는 채널 맵 레코드(Channel Map Record)로부터 채널 맵 정보를 산출할 수 있고, 채널 디테일스 레코드(Channel Details Record)로부터 해당 채널의 채널 상세 정보를 산출할 수 있다.
EPG 디코더(2045)는 EPG 정보가 필요할 경우에는 저장부(2035)에 저장된 EPG 데이터를 가져와 분석하여, EPG 데이터를 복원하다. 그리고 EPG 디코더(2045)는 ITF 오퍼레이션 컨트롤러(2050)에 복원된 EPG 데이터를 제공한다.
ITF 오퍼레이션 컨트롤러(2050)는 ITF의 동작을 제어한다. ITF 오퍼레이션 컨트롤러(2050)는 SI 디코더(2040), EPG 디코더(2045) 및 디스플레이 모듈(Display Module)(2080)을 제어하고, ITF 오퍼레이션 컨트롤러(2050)는 채널 서비스 매니저(2055) 및 애플리케이션 매니저(2060)로부터 입력되는 요청을 처리한다.
ITF 오퍼레이션 컨트롤러(2050)는 SI 디코더(2040)를 제어하여 채널 맵(Channel Map)을 만들고 채널 서비스 매니저(2055)로부터 수신한 키 입력에 따라 상기 채널 맵을 이용하여 채널을 선택하다. 그리고 ITF 오퍼레이션 컨트롤러(2050)는 선택된 채널이 수신되도록 SI 디코더(2040)를 제어한다. 또한, ITF 오퍼레이션 컨트롤러(2050)는 선택된 채널이 수신되도록 IP 네트워크 스택(2015)을 제어할 수 있다. 또한, ITF 오퍼레이션 컨트롤러(2050)는 선택된 채널이 수신되도록 PSI/PSIP 파서(2070)를 제어할 수 있다.
채널 서비스 매니저(2055)는 사용자로부터 채널 요청 신호를 입력받고, 입력된 채널 요청 신호를 ITF 오퍼레이션 컨트롤러(2050)에 제공하여 요청된 채널로 채널이 변경되도록 관장한다.
애플리케이션 매니저(2060)는 전반적인 상태를 관리하고 유저 인터페이스를 제공한다. 애플리케이션 매니저(2060)는 유저 인터페이스를 통해 사용자로부터 EPG 디스플레이 요청을 받은 경우에는, EPG 디스플레이 요청을 ITF 오퍼레이션 컨트롤러(2050)에 제공하여 디스플레이 모듈(2080)이 EPG를 디스플레이하도록 관장한다.
디멀티플렉서(2060)는 수신된 패킷을 오디오 데이터, 비디오 데이터 및 PSI(Program Specific Information) 데이터 등으로 역다중화하여 각각 A/V 디코더(2075) 및 PSI/PSIP 파서(2070)에 전송한다. 즉, 디멀티플렉서(2065)는 IP 네트워크 스택(2015)으로부터 전송받은 IP 패킷에서 MPEG-2 트랜스포트 스트림(transport stream) 데이터를 추출하여 각 PID(packet identifier)에 따라 PSI/PSIP 파서(2070) 또는 A/V 디코더(A/V Decoder)(2075)로 전달한다.
PSI/PSIP 파서(2070)는 디멀티플렉서(2065)로부터 전송받은 IP 데이터그램(Datagram) 내의 MPEG-2 트랜스포트 스트림의 각 데이터(A/V, etc.)의 PID 정보 등의 프로그램 엘리먼트(program element)를 접속할 수 있는 정보를 담은 PSI/PSIP 데이터를 추출 및 파싱한다. 또한, PSI/PSIP 파서(2070)는 추출한 PSI/PSIP 데이터를 기초로 디멀티플렉서(2065)의 역다중화 과정을 제어할 수 있다.
A/V 디코더(2075)는 디멀티플렉서(2065)에서 수신된 비디오 데이터와 오디오 데이터를 디코딩한다. 이를 위해 A/V 디코더(2075)는 오디오 디코더 및 비디오 디코더를 포함할 수 있다. 상기 오디오 디코더에서 디코딩된 오디오 데이터는 디스플레이 모듈(2080)을 통하여 사용자에게 제공되며, 상기 비디오 디코더에서 디코딩된 비디오 데이터는 디스플레이 모듈(2080)을 통하여 디스플레이된다.
디스플레이 모듈(2080)은 ITF 오퍼레이션 컨트롤러(2050)의 제어에 따라 A/V 디코더(2075)가 디코딩한 비디오 데이터 및 오디오 데이터를 디스플레이한다. 또한, 디스플레이 모듈(2080)은 ITF 오퍼레이션 컨트롤러(2050)로부터 EPG 데이터를 수신하여, ITF 오퍼레이션 컨트롤러(2050)에 따라 수신한 EPG 데이터를 디스플레이한다.
도 21은 본 발명에 따른 가상 채널 설정 방법에 대한 바람직한 일실시예의 수행과정을 도시한 흐름도이다.
도 21을 참조하면, ITF는 네트워크 접속(Network Attachment)을 수행한다(S2100). 여기서, 네트워크 접속은 ITF가 IP 네트워크와 layer 3 계층의 연결을 설정하고, 네트워크 배치 데이터(network configuration data)를 획득하는 절차이다.
ITF는 서비스 프로바이더 디스커버리(Service Provider Discovery)를 수행하여 서비스 프로바이더 디스커버리 레코드(Service Provider Discovery Record)를 획득한다(S2105). 여기서, ITF는 도 13에서 전술된 서비스 프로바이더 디스커버리를 실시할 수 있다.
ITF는 획득한 서비스 프로바이더 디스커버리 레코드에 포함된 정보를 이용하여 SI 및 EPG 데이터를 획득한다(S2110). 여기서, ITF는 SI 메타데이터를 획득하기 위해 도 14에서 전술된 서비스 프로바이더 레지스트레이션(Service Provider Registration) 및 서비스 디스커버리(Service Discovery)를 수행할 수 있다. ITF는 서비스 프로바이더 레지스트레이션을 수행하여 ITF는 레지스트레이션 아웃풋 레코드(ITF Regitstration Output Record)를 획득할 수 있고, 획득한 레지스트레이션 아웃풋 레코드에 포함된 정보를 기초로 서비스 디스커버리를 수행할 수 있다. 그리고 ITF는 서비스 디스커버리를 수행하여 마스터 SI 테이블 레코드(Master SI Table Record), 채널 맵 레코드(Channel Map Record) 및 채널 디테일스 레코드(Channel Details Record)를 획득할 수 있다. SI 메타데이터는 채널 맵 레코드(Channel Map Record) 및 채널 디테일스 레코드(Channel Details Record)에 포함된 정보로부터 산출될 수 있다.
또한, ITF는 레지스트레이션 아웃풋 레코드(ITF Regitstration Output Record)에 포함된 EPGDiscoveryLocation에 포함된 정보를 기초로 EPG 데이터를 획득할 수 있다.
ITF는 구한 SI 메타데이터를 이용하여 채널 맵을 생성하고 생성한 채널 맵을 저장한다(S1215). 그리고 ITF는 사용자의 가상 채널 요청 신호를 입력받는다(S1220). 여기서, 사용자는 채널을 업/다운하여 시청할 가상 채널을 선택할 수 있다.
또한, ITF는 획득한 EPG 데이터를 이용하여 EPG를 생성하고 생성한 EPG를 저장한다(S1225). ITF는 저장한 EPG를 디스플레이한다(S1230). 그리고 ITF는 디스플레이된 EPG로부터 선택된 가상 채널 요청 신호를 입력받는다(S1235). 여기서, 사용자는 스크린상에 디스플레이된 EPG에서 시청하기 원하는 특정 가상 채널을 선택할 수 있다.
ITF는 가상 채널 요청 신호에 따라 요청된 가상 채널에 대한 정보를 상기 저장된 채널 맵에서 검색한다(S1240). 여기서, ITF는 요청된 가상 채널의 SeviceID와 일치하는 SeviceID를 포함하는 채널 디테일스 로케이션(Channel Details Location)을 채널 맵에서 검색하여 채널 디테일스 로케이션의 LocationURL에 포함된 가상 채널을 수신할 수 있는 위치 정보를 검출할 수 있다. 또한, ITF는 요청된 가상 채널의 SeviceID와 일치하는 SeviceID를 포함하는 채널 디테일스를 검색하여 요청된 가상 채널의 상세 정보를 검출할 수 있다.
ITF는 검색된 가상 채널에 대한 정보를 기초로 상기 요청된 가상 채널로 튜닝한다(S1245). 여기서, ITF는 상기 검출된 가상 채널을 수신할 수 있는 위치 정보가 지시하는 주소를 접속하여 상기 요청된 가상 채널에 대한 IPTV 서비스를 수신할 수 있다. ITF는 수신한 IPTV 서비스를 사용자게에 제공한다(S1250).
이하에서는 본 발명에 따라 ITF(IPTV Terminal Function)에서 채널 맵(Channel Map)을 빌딩(building)하기 위하여 SI(Service Information) 데이터를 수신하는 방법 및 장치에 관하여 첨부된 도면을 참조하여 상세하게 설명한다.
도 4를 참조하면, SI 데이터는 컨텐트를 액세스하고 파싱하기 위해 ITF에 필수적인 정보이다. 여기서, 상기 SI 데이터는 예를 들어, 상기 도 4에서 정의된 ITFRegistrationOutputType 레코드 형태로 제공될 수 있고, 크게 SI 데이터의 버전 정보를 관리하는 마스터 SI 테이블(Master SI Ttable)과 해당 SI 데이터를 전송하는 다른 SI 테이블들(other SI tables)로 구분한다. 또한, 상기 다른 SI 테이블들에는, 가상 채널 맵(Virtual Channel Map)과 가상 채널 디스크립션 테이블(Virtual Channel Description table)이 포함될 수 있다.
또한, 상기 SI 데이터는 각 스트림을 통하여 전송될 수 있다. 여기에서, 상기 스트림은 상술한 도 2의 멀티캐스트 방식이나 도 3의 유니캐스트 방식으로 전송될 수 있다. 이하에서는 설명의 편의를 위해 멀티캐스트 방식으로 전송되는 스트림을 수신하는 것을 예로 하여 설명한다. 그러한 스트림을 IP 멀티캐스트 스트림(IP Multicast stream)이라 명명한다. 또한, 상기 멀티캐스트 등록을 위해 IGMP(Internet Group Management Protocol) 프로토콜을 예로 하여 설명한다.
도 22는 본 발명의 일실시예에 따라 SI 데이터를 송수신하는 과정을 설명하 기 위해 도시한 순서도이다. 이하에서는 상기 도 21과 중복되는 부분에 대한 설명은 상술한 내용을 원용하고 본 발명과 관련된 부분을 위주로 설명한다.
도 22를 참조하면, ITF는 전원이 켜지고 난 후 네트워크 접속(Network Attachment)과 서비스 프로바이더 디스커버리(Service Provider Discovery)를 수행(perform)한다.
상기 수행 결과, 서비스 프로바이더(SP)는 ITF로 액세스 정보(access information)을 전송한다(S2201). 여기에서, 상기 액세스 정보는 예를 들어, 상기 도 5의 서비스 프로바이더 디스커버리 레코드일 수 있고, 상기 서비스 프로바이더 디스커버리 레코드는 서비스 프로바이더 리스트들(SP lists)이 포함된다. 따라서, ITF는 IPTV 서비스를 제공하는 다수의 서비스 프로바이더들을 인식할 수 있다.
ITF는 상기 액세스 정보를 이용하여 SI 데이터와 EPG 데이터를 획득하기 위해 상기 인식하게 된 다수의 서비스 프로바이더들 중 어느 하나의 서비스 프로바이더를 선택하고, 선택된 서비스 프로바이더와 서비스 프로바이더 레지스트레이션(Service Provider Registration)을 수행한다. 상기 수행 결과로부터 ITF는 서비스 프로바이더에 의한 제공되는 IP 멀티캐스트 스트림을 수신(receive)하기 위해 IGMP 조인 펑션(join function)을 수행한다(S2202).
상기 S2202 단계를 거쳐, 서비스 프로바이더는 ITFRegistrationOutput 레코드를 해당 ITF로 전송한다. ITF는 상기 서비스 프로바이더로부터 전송되는 ITFRegistrationOutput 레코드를 수신하여 파싱한다(S2203). 따라서, ITF는 상기 파싱된 ITFRegistrationOutput Record로부터 서비스 디스커버리(Service Discovery)를 수행한다. 그리고 ITF는 상기 서비스 디스커버리 수행 결과로부터 SI 데이터의 버전 정보를 관리하는 마스터 SI 테이블 을 전송하는 IP 멀티캐스트 스트림을 인식할 수 있다.
ITF는 상기 인식한 마스터 SI 테이블을 전송하는 IP 멀티캐스트 스트림(제1 IP 멀티캐스트 스트림)을 수신하기 위해 IGMP 조인 펑션을 수행한다(S2204). 서비스 프로바이더는 상기 제1 IP 멀티캐스트 스트림을 통해 마스터 SI 테이블을 해당 ITF로 전송한다. ITF는 상기 서비스 프로바이더로부터 전송되는 마스터 SI 테이블을 수신하여 파싱한다(S2205). ITF는 상기 파싱된 마스터 SI 테이블로부터 각 SI 데이터를 전송하는 다른 SI 테이블들(other SI tables)을 전송하는 IP 멀티캐스트 스트림(제2 IP 멀티캐스트 스트림) 인식할 수 있다.
ITF는 상기 인식한 다른 SI 테이블들을 전송하는 제2 IP 멀티캐스트 스트림을 수신하기 위해 IGMP 조인 펑션을 수행한다(S2206). 서비스 프로바이더(SP)는 상기 제2 IP 멀티캐스트 스트림을 통해 다른 SI 테이블들을 해당 ITF로 전송한다. 그리고 ITF는 상기 서비스 프로바이더로부터 전송되는 다른 SI 테이블들을 수신하여 파싱한다(S2207).
ITF는 상기 S2207 단계를 거쳐 마스터 SI 테이블을 포함한 제1 IP 멀티캐스트 스트림과 다른 SI 테이블들을 포함한 제2 IP 멀티캐스트 스트림을 수신함으로써 IPTV 서비스를 처리할 수 있다. 여기서, ITF는 상기와 같이 IPTV 서비스를 처리할 수 있게 됨으로써 대역폭(bandwidth)과 소비 전력(Processing Power)을 고려하여야 한다. 따라서, ITF는 상기 수신된 각 IP 멀티캐스트 스트림에 대한 IGMP 조인 펑션을 수행하지 않을 수 있다. 다만, ITF는 상기 각 IP 멀티캐스트 스트림에 대한 IGMP 조인 평션 모두를 수행하지 않으면, 이후 변경된 SI 데이터를 반영하지 못해 IPTV 서비스의 처리에 영향을 줄 수 있다. 그러나, 만약 ITF가 각 IP 멀티캐스트 스트림에 대한 IGMP 조인 평션 모두를 계속하여 유지한다면, 상술한 바와 같이 대역폭과 소비전력의 면에서 비효율적이다.
이에 따라 본 발명에서는 동일한 SI 데이터를 계속하여 수신할 필요가 없는바 상기 SI 데이터의 버전정보를 관리하는 마스터 SI 테이블은 계속하여 수신하여 해당 SI 데이터의 버전을 체크하고, 상기 체크 결과 해당 SI 데이터의 버전이 변경되면 변경된 SI 데이터를 수신하고자 한다. 즉, 본 발명에서는 마스터 SI 테이블을 전송하는 상기 제1 IP 멀티캐스트 스트림은 계속하여 수신하고, 다른 SI 테이블들을 전송하는 상기 제2 IP 멀티캐스트 스트림의 수신은 중단한다.
따라서, ITF는 상기 S2207 단계 이후 다른 SI 테이블들을 전송한 상기 제2 IP 멀티캐스트 스트림의 수신을 중단하기 위해 기 조인한 IGMP 조인 펑션을 떠난다(leave). 이때, ITF는 상기 제1 IP 멀티캐스트 스트림은 계속하여 수신한다 (S2208). 따라서, ITF는 상기 제1 IP 멀티캐스트 스트림을 통해 수신되는 마스터 SI 테이블을 이용하여SI 데이터의 버전을 모니터링(monitering)하여 상기 SI 데이터의 변경 여부를 알 수 있다.
서비스 프로바이더는 예를 들어, 다른 SI 테이블들의 데이터가 변경되면, 업데이트된 마스터 SI 테이블(Updated Master SI Table)을 발행(issue)하고, 발행된 업데이트된 마스터 SI 테이블을 제1 IP 멀티캐스트 스트림을 통해 ITF로 전송한다. ITF는 상기 서비스 프로바이더로부터 전송되는 업데이트된 마스터 SI 테이블을 수신하여 파싱한다(S2209). 여기에서, 서비스 프로바이더는 해당 SI 데이터를 업데이트하고, 그에 따라 해당 SI 데이터를 포함한 다른 SI 테이블과 마스터 SI 테이블의 버전을 업데이트할 수 있다. 따라서, ITF는 업데이트된 마스터 SI 테이블이 수신되면, SI 데이터가 변경 또는 업데이트 되었음을 알 수 있게 된다.
따라서, ITF는 업데이트된 SI 데이터를 수신하기 위해 상기 업데이트 SI 데이터를 포함한 적어도 하나의 다른 SI 테이블을 전송하는 제3 IP 멀티캐스트 스트림을 수신하기 위해 IGMP 조인 펑션을 수행한다(S2210). 서비스 프로바이더는 상기 제3 IP 멀티캐스트 스트림을 통해 업데이트 된 SI 데이터를 포함한 다른 SI 테이블들을 해당 ITF로 전송한다. ITF는 상기 서비스 프로바이더로부터 전송되는 업데이트 된 다른 SI 테이블들을 수신하여 파싱한다(S2211). 여기에서, 상기 제3 IP 멀티캐스트 스트림은 상기 제2 IP 멀티캐스트 스트림과 동일할 수도 있다.
ITF는 변경된 SI 데이터를 반영하여 업데이트 하고, 상기 제3 IP 멀티캐스 스트림의 수신을 중단한다. 이때, ITF는 상기 S2209 단계에서 업데이트된 마스터 SI 데이틀 전송한 제1 IP 멀티캐스트 스트림은 계속하여 유지하고, 다시 마스터 SI 테이블의 버전 정보의 변경이 있는지를 계속하여 모니터링한다(S2212).
상술한 과정을 통해, ITF는 대역폭과 소비전력의 사용을 절감할 수 있고, SI 데이터의 버전 정보도 관리할 수 있게 된다.
도 23은 본 발명의 다른 실시예에 따라 구성한 ITFRegistrationOutputType의 스키마를 도시한 것이고, 도 24는 상기 도 23의 스키마 구조를 XML 형태로 도시한 것이다.
도 23과 24는 본 발명에 따라 버전 관리를 위한 IP 멀티캐스트 스트림과 SI 데이터의 전송을 위한 IP 멀티캐스트 스트림에 대한 접속 정보를 제공하기 위한 것이다.
도 23과 24를 참조하면, ITFRegistrationOutputType은 다수의 하위 엘리먼트를 가지고 있다. 상기 ITFRegistrationOutputType은 TargetLocation의 타입을 가지는 ItfLocation 엘리먼트, ResourceLocator의 타입을 가지는 MasterSITableLocation 엘리먼트, ResourceLocator의 타입을 가지는 VirtualChannelMapAccessInformation 엘리먼트, TVAID의 타입을 가지는 SubscribedChannelId 엘리먼트, EPGDiscoveryRecord의 타입을 가지는 EPGDiscoveryRecord 엘리먼트, 및 any URI의 타입을 가지는 SPRemoteConfigurationServerLocation 엘리먼트를 포함한다. 이하에서는 본 발명과 관련하여, MasterSITableLocation 엘리먼트와 VirtualChannelMapAccessInformation 엘리먼트를 위주로 설명하고, 나머지 부분은 관련 규격의 내용을 참조한다.
MasterSITableLocation 엘리먼트는 마스터 SI 테이블을 수신할 수 있는 IP 스트림의 정보를 제공하고, 이를 위해 예를 들어, InlineResource 엘리먼트, ResourceURL 엘리먼트, FluteFileLocator 엘리먼트, 및 IpmStreamingMediaLocation 엘리먼트 중 적어도 하나를 포함한다.
VirtualChannelMapAccessInformation 엘리먼트는 VirtualChannelMapId 속성과, VirtualChannelMapLocation 엘리먼트를 포함한다. 상기 VirtualChannelMapLocation 엘리먼트는 가상 채널 맵(해당 SI 데이터)를 수신할 수 있는 IP 스트림의 정보를 제공하고, 이를 위해 예를 들어, InlineResource 엘리먼트, ResourceURL 엘리먼트, FluteFileLocator 엘리먼트 및 IpmStreamingMediaLocation 엘리먼트를 포함한다. 여기에서, 상기 MasterSITableLocation 엘리먼트와 VirtualChannelMapLocation 엘리먼트 내 상기 IP 스트림의 정보는, 해당 데이터가 전송되는 형태 즉, 멀티캐스트 방식인지 유니캐스트 방식인지에 대한 정보를 포함하고, FLUTE 전송인지에 대한 정보도 포함한다. 그리고 상기 각 엘리먼트의 포맷은 ResourceLocator 타입을 따른다.
상술한 바와 같이, 본 발명과 관련된 MasterSITableLocation 엘리먼트와 VirtualChannelMapAccessInformation 엘리먼트는 서로 다른 IP 멀티캐스트 스트림으로 전송되는 마스터 SI 테이블과 가상 채널 맵을 ITF에서 수신할 수 있도록 각각 적어도 하나의 엘리먼트를 가진다. 여기에서, 상기 MasterSITableLocation 엘리먼트와 VirtualChannelMapAccessInformation 엘리먼트의 위치 정보는 서로 다를 것이다.
따라서, ITF는 상기 각 MasterSITableLocation 엘리먼트와 VirtualChannelMapAccessInformation 엘리먼트에 대한 위치 정보를 이용하여 마스터 SI 테이블과 가상 채널 맵을 전송하는 각 IP 멀티캐스트 스트림을 수신하여 상술한 도 22와 같이 처리할 수 있게 된다.
도 25는 본 발명의 다른 실시예에 따라 구성한 Master SI TableType 엘리먼트의 스키마를 도시한 것이고, 도 26은 상기 도 25의 스키마 구조를 XML 형태로 도시한 것이다.
상술한 도 22를 참조하면, ITF는 계속하여 마스터 SI 테이블을 전송하는 IP 멀티캐스트 스트림을 수신하고, 업데이트 되는 다른 SI 테이블을 반영하기 위해 업데이트된 마스터 SI 테이블이 수신되는지 체크한다.
즉, 상술한 바와 같이, 다른 SI 테이블들 중 어느 하나의 SI 테이블 내 데이터가 변경되면, 해당 SI 테이블은 버전 정보 및 해당 데이터를 변경하고, 이는 마스터 SI 테이블에 반영된다. 도 25와 26은 이를 반영할 수 있는 구조를 도시한 것이다. 이하에서는 해당 SI 테이블은 가상 채널 맵을 예로 하여 설명한다.
도 25와 26을 참조하면, IIFMasterSiTableType 엘리먼트는 ServiceProviderId 엘리먼트, MasterSITableVersion 엘리먼트, 및 VcChannelMap 엘리먼트를 포함한다.
상기 다수의 엘리먼트들 중 본 명세서에서는 VcChannelMap 엘리먼트에 VirtualChannelMapType과 관련된 엘리먼트를 포함하는 것을 예로 하여, 마스터 SI 테이블의 업데이트 유무를 표시한다. 즉, 상기 VirtualChannelMapType 엘리먼트는 VirtualChannelMapIdentifier 엘리먼트, any URI 타입을 가지는 VirtualChannelMapUrl 엘리먼트, 및 unsignedShort 타입을 가지는 VirtualChannelMapVersion 엘리먼트를 포함한다.
MasterSITableVersion 엘리먼트는 상기 VirtualChannelMapType 엘리먼트 내 어느 하나의 엘리먼트가 업데이트되면 업데이트 된다. 따라서, ITF는 상기 업데이트 된 MasterSITableVersion 엘리먼트가 포함된 마스터 SI 테이블을 수신하여 상술한 도 22와 같이 처리할 수 있다.
이상 상술한 내용에서 각 엘리먼트의 위치와 명칭 등은 본 명세서에서 본 발명의 기술 사상을 설명하기 위해 예시한 것으로, 이에 한정되는 것은 아니다.
이하에서는 ITF에서 SI 데이터를 수신하여 처리하는 과정과, 상기 처리 이후 버전 정보 변경시에 처리 과정을 구분하여 보다 상세하게 설명한다.
도 27은 본 발명의 일실시예에 따라 ITF가 SI 데이터를 수신하여 처리하는 과정을 설명하기 위해 도시한 순서도이다.
이하에서는 설명의 편의를 위해, 마스터 SI 테이블 이외의 다른 SI 테이블 을 VirtualChannelMap을 예로 하여 설명한다. 그리고 상술한 도 22의 내용과 중복되는 부분에 대한 설명은 간략하게 하거나 원용하고, 본 발명과 관련된 부분을 위주로 하여 상세하게 설명한다.
ITF는 네트워크 접속을 수행(S2701)하고, 서비스 프로바이더(SP)로부터 서비스 프로바이더 리스트들을(SP lists) 수신한다(S2702). ITF는 수신된 서비스 프로바이더 리스트들을 로부터 서비스 프로바이더를 선택하고, 선택된 서비스 프로바이더와 등록 또는 인증절차를 수행한다(S2703). 이때, 상기 S2701 단계와 S2703 단계는 예를 들어, ITF의 이더넷 네트워크 인터페이서(2010)와 IP 네트워크 스택(2015)에서 처리되고, 상기 S2702 단계는 이더넷 네트워크 인터페이서(2010) 및 IP 네트워크 스택(2015) 또는 SI 핸들러(2025) 및 SI 디코더(2040)에서 처리된다.
ITF는 상기 S2703 단계 이후 선택된 서비스 프로바이더(SP)로부터 ITFRegistrationOutput 레코드를 수신(S2704)한다. 그리고 ITF는 수신된 ITFRegistrationOutput 레코드를 파싱하고, 파싱된 ITFRegistrationOutput 레코드로부터 MasterSITableLocation 필드(element)를 파싱한다(S2705). 또한, ITF는 VirtualChannelMapLocation 필드를 파싱한다(S2706). 이때, 상기 S2704 단계 내지 S2706 단계는 파일 핸들러(2020), SI 핸들러(2025) 및 SI 디코더(2040)에서 처리된다.
ITF는 상기 S2706 단계 이후 우선, 마스터 SI 테이블을 전송하는 제1 IP 멀티캐스트 스트림을 수신하기 위해 IGMP 조인 펑션을 수행한다 (S2707).
ITF는 상기 제1 IP 멀티캐스트 스트림을 통해 마스터 SI 테이블을 수신하고, 수신된 마스터 SI 테이블 내 VirtualChannelMapUrl 필드를 파싱한다(S2708).
ITF는 상기 VirtualChannelMapUrl 필드를 파싱하고, 가상 채널 맵을 전송하는 제2 IP 멀티캐스트 스트림을 수신하기 위해 IGMP 조인 펑션을 수행한다 (S2709).
ITF는 상기 제2 IP 멀티캐스트 스트림을 통해 가상 채널 맵을 수신하고, 수신된 가상 채널 맵을 파싱한다(S2710).
ITF는 상기 S2710 단계를 거쳐 상기 가상 채널 맵을 전송한 제2 IP 멀티캐스트 스트림을 떠난다. 즉, ITF는 상기 제2 IP 멀티캐스트 스트림의 수신을 중단한다 (S2711). 여기에서, 상술한 바와 같이, 상기 S2707 단계에서 상기 마스터 SI 테이블을 전송하는 제1 IP 멀티캐스트 스트림은 계속하여 수신한다. 이때, 상기 S2707 단계, S2709 단계, 및 S2711 단계는 이더넷 네트워크 인터페이서(2010) 및 IP 네트워크 스택(2015)에서 수행되고, S2708 단계 및 S2710 단계는 SI 핸들러(2025)와 SI 디코더(2040)에서 처리된다.
다음으로, 상기 도 27에 따라 SI 데이터를 수신한 후에 ITF에서 SI 데이터를 업데이트하는 과정을 설명하면, 다음과 같다.
도 28은 본 발명의 일실시예에 따라 ITF에서 SI 데이터를 업데이트하는 과정을 설명하기 위해 도시한 순서도이다.
ITF는 상기 제1 IP 멀티캐스트 스트림을 통해 수신되는 마스터 SI 테이블의 버전이 업데이트 되었는지 모니터링한다(S2801). ITF는 상기 S2801 단계에서 모니터링한 결과, MasterSITableVersion의 업데이트가 검출(detect)(S2802)되면, 업데이트된 마스터 SI 테이블을 파싱하고, 어떤 SI 테이블 업데이트되었는지 식별(identify)(S2803)한다. 이하에서는 상기 업데이트 되는 SI 테이블은 가상 채널 맵 을 예로 하여 설명한다.
ITF는 상기 S2803 단계를 거쳐 식별된 SI 테이블 즉, 가상 채널 맵을 전송하는 제3 IP 멀티캐스트 스트림을 수신하기 위해 IGMP 조인 펑션을 수행한다(S2804). 이때, 상기 제3 IP 멀티캐스트 스트림은 상술한 제2 IP 멀티캐스트 스트림과 동일할 수 있다.
ITF는 상기 제3 IP 멀티캐스트 스트림을 통해 업데이트 된 가상 채널 맵을 수신하여 처리한다(S2805).
이후 ITF는 상기 제3 IP 멀티캐스트 스트림의 수신을 중단한다. 다만, 상술 한 바와 같이, ITF는 상기 제1 IP 멀티캐스트 스트림의 수신은 계속하여 유지한다(S2806). 이때, 상기 S2801 단계, S2804 단계, 및 S2806 단계는 이더넷 NIC(2010)와 IP 네트워크 스택(2015)에서 처리하고, S2802 단계와 S2803 단계는 SI 핸들러(2025)와 디코더(2040)에서 처리하고, S2805 단계는 파일 핸들러 (2020), SI 핸들러(2025), 및 디코더(2040)에서 처리된다.
이상 상술한 본 발명의 일실시예에 SI 데이터를 처리함으로써, ITF는 대역폭과 소비전력의 관리를 보다 효율적으로 하면서 SI 데이터의 버전 관리를 효율적으로 할 수 있다.
한편, 본 발명에서 사용되는 용어(terminology)들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로써, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 발명의 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 상술한 실시 예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
그리고, 상기에서 언급한 수치들은 바람직한 실시 예이거나, 단순한 예시인 바, 상기 수치들에 본 발명의 권리범위가 제한되지는 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
도 1은 IPTV 서비스의 개념을 도시한 시스템 구성도,
도 2는 멀티캐스트 방식에 대해 개략적으로 도시한 도면,
도 3은 유니캐스트 방식에 대해 개략적으로 도시한 도면,
도 4는 본 발명의 일실시 예에 따른 IPTV 서비스의 탐색 방법의 수행 과정을 도시한 도면,
도 5는 본 발명의 일실시 예에 따른 서비스 프로바이더 디스커버리 타입(Service Provieder Discovery Type)의 스키마를 도시한 도면,
도 6은 본 발명의 일실시 예에 따른 ITF 레지스터레이션 인풋 타입(ITF Registration Input Type)의 스키마를 도시한 도면,
도 7은 본 발명의 일실시 예에 따른 ITF 레지스터레이션 아웃풋 타입(ITF Regitstration Output Type)의 스키마를 도시한 도면,
도 8은 본 발명과 관련하여, 서비스 인포메이션(SI: Service Information)을 구성하는 각 테이블 간의 관계를 도시한 도면,
도 9는 본 발명의 일실시 예에 따른 마스터 SI 테이블 레코드 타입(Master SI Table Record Type)의 스키마를 도시한 도면,
도 10은 본 발명의 일실시 예에 따른 채널 맵 타입(Channel Map Type)의 스키마를 도시한 도면,
도 11은 본 발명의 다른 실시 예에 따른 채널 맵 타입의 스키마를 도시한 도면,
도 12a 및 12b는 본 발명의 일실시 예에 따른 채널 디테일스 타입(Channel Details Type)의 스키마를 도시한 도면,
도 13은 본 발명의 일실시 예에 따른 서비스 프로바이더 디스커버리(Service Provider Discovery)의 수행 과정을 도시한 순서도,
도 14는 본 발명의 일실시 예에 따른 서비스 프로바이더 등록(Service Provider Registration) 및 서비스 디스커버리(Service Dicovery)의 수행과정을 도시한 순서도,
도 15는 본 발명의 일실시 예에 따른 마스터 SI 테이블(Master SI Table)의 업데이트를 처리하는 방법의 수행과정을 도시한 순서도,
도 16은 본 발명의 다른 실시 예에 따른 마스터 SI 테이블의 업데이트를 처리하는 방법의 수행과정을 도시한 순서도,
도 17은 본 발명의 일실시 예에 따른 채널 디테일스 버전(Channel Details Version)의 업데이트를 처리하는 방법의 수행과정을 도시한 순서도,
도 18은 본 발명의 다른 실시 예에 따른 채널 디테일스 버전의 업데이트를 처리하는 방법의 수행과정을 도시한 순서도,
도 19는 본 발명의 일실시 예에 따른 EPG 디스커버리 레코드 타입(EPG Discovery Record Type)의 스키마를 도시한 도면,
도 20은 본 발명의 일실시 예에 따른 ITF(IPTV Terminal Function)의 구성을 도시한 블록도,
도 21은 본 발명의 일실시 예에 따른 가상 채널 설정 방법의 수행과정을 도시한 순서도,
도 22는 본 발명의 일실시 예에 따라 SI 데이터를 송수신하는 과정을 설명하기 위해 도시한 순서도,
도 23은 본 발명의 다른 실시 예에 따라 구성한 ITFRegistrationOutputType 엘리멘트의 스키마를 도시한 도면,
도 24는 상기 도 23의 스키마 구조를 XML 형태로 도시한 도면,
도 25는 본 발명의 다른 실시 예에 따라 구성한 Master SI TableType element의 스키마를 도시한 도면,
도 26은 상기 도 25의 스키마 구조를 XML 형태로 도시한 도면,
도 27은 본 발명의 일실시 예에 따라 ITF가 SI 데이터를 수신하여 처리하는 과정을 설명하기 위해 도시한 순서도,
도 28은 본 발명의 일실시 예에 따라 ITF에서 SI 데이터를 업데이트하는 과정을 설명하기 위해 도시한 순서도이다.

Claims (19)

  1. IPTV 수신기에서 서비스 디스커버리 과정(service discovery process)에서 서비스 정보(service information) 내 복수 개의 테이블들(tables)을 이용하여 가상 채널 맵(virtual channel map)을 빌딩(building)한 후 버전 정보(version information)를 업데이트(update)함에 있어서,
    마스터 서비스 정보 테이블(master service information table)의 버전 정보와 가상 채널 맵 테이블(virtual channel map table)에 대한 제1 위치정보를 포함하는 마스터 서비스 정보 테이블이 전송되는 제1 스트림을 수신하는 단계;
    상기 수신되는 제1 스트림 내 마스터 서비스 정보 테이블로부터 상기 버전 정보와 상기 제1 위치정보를 추출하여 파싱(parsing)하는 단계;
    상기 파싱된 버전 정보에 근거하여 상기 마스터 서비스 정보 테이블의 버전 정보가 업데이트되었으면, 상기 파싱된 제1 위치정보에 근거하여 상기 가상 채널 맵 테이블을 전송하는 제2 스트림을 수신하는 단계; 및
    상기 수신된 제2 스트림 내 가상 채널 맵 테이블을 파싱하여 업데이트하는 단계;를 포함하되,
    상기 업데이트 후 상기 제2 스트림은 수신 종료(leave)하고, 상기 제1 스트림은 계속 수신(keep)하는 버전 정보 업데이트 방법.
  2. 제1항에 있어서,
    서비스 프로바이더 디스커버리 과정(service provider discovery process)에서 서비스 프로바이더에 대한 상세 정보, 서비스 프로바이더의 인증 서버 위치 정보와, 서비스 프로바이더 접속을 위한 접속 서버 위치 정보 중 적어도 하나를 포함하는 서비스프로바이더디스커버리 레코드(serviceproviderdiscovery record)를 수신하는 단계;를 더 포함하는 버전 정보 업데이트 방법.
  3. 제2항에 있어서,
    상기 수신한 서비스프로바이더디스커버리 레코드 내 상기 인증 서버 위치 정보에 따라 인증인포 레코드를 수신하는 단계;를 더 포함하는 버전 정보 업데이트 방법.
  4. 제3항에 있어서,
    상기 수신한 인증인포 레코드에 근거하여 인증된 서비스 프로바이더를 접속하기 위한 프로비젼 인포메이션 레코드(provision information record)를 수신하는 단계;를 더 포함하는 버전 정보 업데이트 방법.
  5. 제4항에 있어서,
    상기 수신된 프로비전 인포메이션 레코드 내 마스터 서비스 정보 테이블에 대한 제2 위치 정보를 파싱하는 단계;를 더 포함하는 버전 정보 업데이트 방법.
  6. 제5항에 있어서,
    상기 파싱된 제2 위치정보에 따라 가상 채널 맵 테이블들의 리스트(list)를 포함하는 마스터 서비스 정보 테이블을 수신하는 단계;를 더 포함하는 버전 정보 업데이트 방법.
  7. 제6항에 있어서,
    상기 수신한 마스터 서비스 정보 테이블 내 상기 가상 채널 맵 테이블에 대한 제3 위치 정보를 파싱하는 단계;를 더 포함하는 버전 정보 업데이트 방법.
  8. 제4항에 있어서,
    상기 프로비젼 인포메이션 레코드는,
    전자 프로그램 가이드 데이터에 대한 정보가 포함된 전자프로그램가이드인포 정보(electronicprogramguideinfo information)를 더 포함하되,
    상기 전자프로그램가이드인포 정보는 상기 각 가상 채널 서비스(virtual channel service)를 식별할 수 있는 식별자 정보를 포함하는 버전 정보 업데이트 방법.
  9. 제7항에 있어서,
    상기 제1 위치정보는,
    가상 채널 맵 로케이터 타입이고,
    상기 가상 채널 맵 로케이터 타입은 가상 채널 맵을 식별하는 식별자정보, 가상 채널 맵의 위치 정보와 가상 채널 맵의 버전 정보를 포함하는 버전 정보 업데이트 방법.
  10. 제9항에 있어서,
    상기 가상 채널 맵 로케이터 타입 내 가상 채널 맵의 위치 정보는,
    리소스 로케이터 타입이고, 상기 리소스 로케이터 타입은 URL(uniform resource locator)을 포함하는 버전 정보 업데이트 방법.
  11. 제9항에 있어서,
    상기 가상 채널 맵의 버전 정보는,
    상기 가상 채널 맵의 위치정보에 따라 수신된 가상 채널 맵의 버전 정보와 일치하는 버전 정보 업데이트 방법.
  12. 제11항에 있어서,
    상기 수신된 가상 채널 맵의 버전 정보는,
    가상 채널 디스크립션들(virtual channel descriptions)에 어떤 변경이 있으면 버전 넘버가 업데이트되는 버전 정보 업데이트 방법.
  13. 제12항에 있어서,
    상기 가상 채널 맵의 버전 정보가 업데이트되면,
    상기 마스터 서비스 정보 테이블의 버전 정보도 업데이트되는 버전 정보 업데이트 방법.
  14. 제12항에 있어서,
    상기 버전 넘버가 업데이트되면,
    상기 어떤 변경이 발생된 가상 채널 디스크립션들에 대한 정보를 업데이트하기 위해 상기 제3 위치 정보에 근거하여 해당 가상 채널 디스크립션 테이블을 전송하는 제3 스트림을 수신하는 버전 정보 업데이트 방법.
  15. 제14항에 있어서,
    상기 수신된 제3 스트림 내 가상 채널 디스크립션 테이블을 파싱하여 업데이트하고,
    상기 업데이트 후 상기 제3 스트림의 수신은 종료(leave)하고, 상기 제1 스트림은 계속 수신(keep)하여 상기 버전 정보의 업데이트 여부를 모니터링하는 버전 정보 업데이트 방법.
  16. 마스터 서비스 정보 테이블을 전송하는 제 1 스트림을 수신하는 IP 네트워크 스택;
    상기 수신되는 제1 스트림 내 마스터 서비스 정보 테이블을 파싱하는 파서;
    상기 파싱된 마스터 서비스 정보 테이블 내 버전 정보가 업데이트 되었으면, 해당 서비스 정보 테이블을 전송하는 제2 스트림을 수신하기 위한 위치 정보를 추출하여 파싱하는 서비스 정보 디코더;
    상기 추출된 위치 정보에 따라 제2 스트림을 수신하도록 상기 IP 네트워크 스택을 제어하고, 수신된 제2 스트림 내 서비스 정보를 업데이트하도록 상기 파서를 제어하고, 업데이트 후 상기 제2 스트림의 수신은 종료(leave)하나 상기 제1 스트림을 계속 수신(keep)하여 상기 버전 정보의 업데이트 여부를 모니터링하도록 제어하는 제어부;를 포함하는 IPTV 수신기.
  17. 제16항에 있어서,
    상기 제어부는,
    상기 업데이트 후 상기 모니터링 결과 마스터 서비스 정보 테이블의 버전 정보가 다시 업데이트 되면,
    해당 서비스 테이블 정보를 전송하는 제3 스트림을 수신하도록 제어하는 IPTV 수신기.
  18. 제17항에 있어서,
    상기 제어부는,
    상기 수신되는 상기 제3 스트림 내 서비스 정보를 파싱하여 업데이트하도록 제어하는 IPTV 수신기.
  19. 제18항에 있어서,
    상기 제어부는,
    상기 업데이트 후 상기 제3 스트림의 수신은 종료(leave)하나 상기 제1 스트림은 계속 수신하여 버전 정보의 업데이트 여부를 모니터링하도록 제어하는 IPTV 수신기.
KR1020080123635A 2007-12-05 2008-12-05 Iptv 수신기에서 si 데이터 수신 방법 및 그 장치 KR100914711B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/314,264 US8813155B2 (en) 2007-12-05 2008-12-05 Method for receiving service information data and an IPTV receiver

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US99267607P 2007-12-05 2007-12-05
US60/992,676 2007-12-05
US5301308P 2008-05-13 2008-05-13
US61/053,013 2008-05-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020090020419A Division KR101550071B1 (ko) 2007-12-05 2009-03-10 Iptv 수신기에서 si 데이터 수신 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20090059077A KR20090059077A (ko) 2009-06-10
KR100914711B1 true KR100914711B1 (ko) 2009-08-28

Family

ID=40707872

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020080123635A KR100914711B1 (ko) 2007-12-05 2008-12-05 Iptv 수신기에서 si 데이터 수신 방법 및 그 장치
KR1020090020419A KR101550071B1 (ko) 2007-12-05 2009-03-10 Iptv 수신기에서 si 데이터 수신 방법 및 그 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020090020419A KR101550071B1 (ko) 2007-12-05 2009-03-10 Iptv 수신기에서 si 데이터 수신 방법 및 그 장치

Country Status (2)

Country Link
KR (2) KR100914711B1 (ko)
CA (1) CA2645950C (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005135187A (ja) 2003-10-30 2005-05-26 Toshiba Corp 電子機器および組み込みソフトウェア更新方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751713B1 (en) 2000-06-05 2004-06-15 Sony Corporation Method and system for scheduled activation of system information tables in digital transport streams
US8763061B2 (en) 2002-02-13 2014-06-24 Motorola Mobility Llc Correlation of tuned channel information with internet web addresses
KR101154965B1 (ko) 2005-06-08 2012-06-18 엘지전자 주식회사 방송 수신기 및 채널 정보 처리 방법
US7738863B2 (en) 2005-08-25 2010-06-15 Nokia Corporation IP datacasting middleware

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005135187A (ja) 2003-10-30 2005-05-26 Toshiba Corp 電子機器および組み込みソフトウェア更新方法

Also Published As

Publication number Publication date
CA2645950A1 (en) 2009-06-05
KR101550071B1 (ko) 2015-09-03
KR20090059077A (ko) 2009-06-10
KR20090059087A (ko) 2009-06-10
CA2645950C (en) 2013-10-08

Similar Documents

Publication Publication Date Title
US8893200B2 (en) IPTV receiver and method of acquiring a resource for an IPTV service
US8893205B2 (en) IPTV receiver and method of providing channel map management information
KR101591623B1 (ko) Iptv 수신기 및 iptv 서비스 탐색 방법
KR100914711B1 (ko) Iptv 수신기에서 si 데이터 수신 방법 및 그 장치
KR100914710B1 (ko) Iptv 수신기 및 iptv 서비스를 위한 리소스 획득 방법
KR100913097B1 (ko) Iptv 수신기에서 채널 맵을 형성하기 위해 시청 제한을수행하는 방법 및 그 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120727

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130724

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140724

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150724

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160722

Year of fee payment: 8