KR20140064761A - 방송 서비스 수신 방법 및 그 수신 장치 - Google Patents

방송 서비스 수신 방법 및 그 수신 장치 Download PDF

Info

Publication number
KR20140064761A
KR20140064761A KR1020147002430A KR20147002430A KR20140064761A KR 20140064761 A KR20140064761 A KR 20140064761A KR 1020147002430 A KR1020147002430 A KR 1020147002430A KR 20147002430 A KR20147002430 A KR 20147002430A KR 20140064761 A KR20140064761 A KR 20140064761A
Authority
KR
South Korea
Prior art keywords
service
trigger
bookmark
stream
information
Prior art date
Application number
KR1020147002430A
Other languages
English (en)
Other versions
KR101654439B1 (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 엘지전자 주식회사
Publication of KR20140064761A publication Critical patent/KR20140064761A/ko
Application granted granted Critical
Publication of KR101654439B1 publication Critical patent/KR101654439B1/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
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • H04N7/088Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
    • H04N7/0884Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital for the transmission of additional display-information, e.g. menu for programme or channel selection
    • H04N7/0885Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital for the transmission of additional display-information, e.g. menu for programme or channel selection for the transmission of subtitles
    • 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
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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
    • 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
    • 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
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • 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
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • 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/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal

Abstract

방송 수신 방법은 북마크 대상 오브젝트의 위치 정보를 포함하는 트리거를 수신하는 단계, 상기 트리거로부터 상기 북마크 대상 오브젝트의 위치 정보를 추출하는 단계, 상기 북마크 대상 오브젝트의 위치 정보를 이용하여, 북마크 시그널링 데이터를 포함하는 북마크 대상 오브젝트 관련 정보를 수신하는 단계, 상기 북마크 대상 오브젝트 관련 정보로부터 상기 북마크 시그널링 데이터를 추출하는 단계, 상기 북마크 시그널링 데이터가 추출되면, 북마크 대상 오브젝트가 북마크될 수 있음을 표시하는 단계, 상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신하는 경우, 상기 북마크 대상 오브젝트의 위치 정보를 저장하는 단계 및 미리 정해진 시점에 저장된 북마크 대상 오브젝트의 위치 정보를 표시하는 단계를 포함한다.

Description

방송 서비스 수신 방법 및 그 수신 장치{METHOD FOR RECEIVING BROADCAST SERVICE AND RECEPTION DEVICE THEREOF}
본 발명은 방송 서비스 수신 방법 및 그 수신 장치에 관한 것이다.
디지털 텔레비전(DTV)은 텔레비전(TV)의 고유 기능인 영상, 음성과 더불어 다양한 서비스를 제공할 수 있게 되었다. 예를 들어 방송 정보(Electronic Program Guide: EPG) 등을 사용자에게 제공할 수 있고, 2개 이상의 채널로부터 수신되는 방송 서비스를 동시에 제공할 수 있다. 특히 수신 시스템이 대용량의 저장 장치를 구비하고, 양방향 통신이 가능한 인터넷이나 데이터 통신 채널과 연결되면서 방송 신호를 이용하여 제공할 수 있는 서비스는 상당히 많아졌다. 또한, 이와 같이 방송 신호를 이용한 서비스가 다양해짐에 따라 방송 신호를 이용한 서비스들을 정확하게 구동할 필요성이 증대되었다.
뿐만 아니라, 각 가정의 영상 표시 장치는 셋톱 박스와 같은 방송 수신 장치에 연결되어 있어, 방송 수신 장치로부터 제공되는 비압축 시청각 컨텐트를 재생하는 경우가 많다. 방송 수신 장치는 멀티채널 비디오 분배자(multichannel video programming distributor, MVPD)라고 불리는 서버로부터 컨텐츠를 제공받는데, 멀티채널 비디오 분배자는 방송국으로부터 수신한 방송 신호로부터 컨텐츠를 추출한 후, 자신이 송출하기에 적합한 형태의 신호로 변환하여 변환된 신호를 방송 수신 장치에 제공한다. 이와 같이 영상 표시 장치가 공중파를 통해 직접 방송 신호를 수신하는 경우가 적기 때문에, 방송 신호를 전송하는 방송국이 영상 표시 장치에 자기 주도의 부가 서비스를 제공할 수 있는 방법이 필요하다.
본 발명의 목적은, 비실시간 서비스를 수신하여 처리하는 방법 및 비실시간 서비스 전송 방법을 제공함에 있다.
또한, 비실시간 서비스를 통해 다운로드된 컨텐츠를 실시간 방송 서비스와 연동하는 방법 및 그 수신 장치를 제공함에 있다.
본 발명의 다른 목적은 기존의 수신기에 영향을 주지 않으면서도 비실시간 서비스와 실시간 방송 서비스를 연동하기 위한 전송 방법 및 그 수신 장치를 제공함에 있다.
본 발명의 한 실시예에 따른 방송 수신 장치의 방송 수신 방법은 북마크 대상 오브젝트의 위치 정보를 포함하는 트리거를 수신하는 단계, 상기 트리거로부터 상기 북마크 대상 오브젝트의 위치 정보를 추출하는 단계, 상기 북마크 대상 오브젝트의 위치 정보를 이용하여, 북마크 시그널링 데이터를 포함하는 북마크 대상 오브젝트 관련 정보를 수신하는 단계, 상기 북마크 대상 오브젝트 관련 정보로부터 상기 북마크 시그널링 데이터를 추출하는 단계, 상기 북마크 시그널링 데이터가 추출되면, 북마크 대상 오브젝트가 북마크될 수 있음을 표시하는 단계, 상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신하는 경우, 상기 북마크 대상 오브젝트의 위치 정보를 저장하는 단계 및 미리 정해진 시점에 저장된 북마크 대상 오브젝트의 위치 정보를 표시하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 방송 수신 장치의 방송 수신 방법은 북마크 대상 오브젝트의 위치 정보를 포함하는 북마크 시그널링 데이터를 수신하는 단계; 상기 북마크 시그널링 데이터를 수신하면, 북마크 대상 오브젝트가 북마크될 수 있음을 표시하는 단계; 상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신하는 경우, 상기 북마크 대상 오브젝트의 위치 정보를 저장하는 단계; 및 미리 정해진 시점에 저장된 북마크 대상 오브젝트의 위치 정보를 표시하는 단계를 포함한다.
본 발명의 한 실시예에 따른 방송 수신 장치는 디스플레이부; 북마크 대상 오브젝트의 위치 정보를 포함하는 북마크 시그널링 데이터를 수신하는 트리거 수신부; 상기 북마크 시그널링 데이터가 전송되면 북마크 대상 오브젝트에 대한 북마크 서비스가 가능함을 알리는 북마크 지시자를 상기 디스플레이부에 표시하는 트리거 처리부; 상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신하는 사용자 입력부; 상기 북마크 대상 오브젝트의 위치 정보를 저장하는 북마크 저장부; 및 상기 사용자 입력부가 상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신한 경우에 상기 북마크 대상 오브젝트의 위치 정보를 북마크 저장부에 저장하고, 미리 정해진 시점이 되면 상기 북마크 대상 오브젝트의 위치 정보를 상기 디스플레이부에 표시하는 북마크 모듈을 포함한다.
본 발명의 일 실시예에 따르면, 비실시간 서비스를 통해 다운로드된 컨텐츠와 실시간 방송 서비스가 연계될 수 있다.
또한 본 발명의 일 실시예에 따르면, 기존의 수신기에 영향을 주지 않으면서도 비실시간 서비스와 실시간 방송 서비스를 연계할 수 있다.
그리고, 본 발명의 일 실시예에 따르면, 방송 서비스를 정확한 타이밍에 제공할 수 있다.
도 1은 RT 서비스와 NRT 서비스를 제공하는 개념을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 NRT 서비스의 구조를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따라 구성한 NRT 서비스에 대한 프로토콜 스택을 도시한 것이다.
도 4는 본 발명의 다른 일 실시예에 따라 구성한 NRT 서비스에 대한 프로토콜 스택을 도시한 것이다.
도 5는 본 발명의 일 실시 예에 따라 구성한 TVCT 테이블 섹션(VCT)의 비트스트림 섹션을 도시한 것이다.
도 6과 도 7은 본 발명의 실시예에 따른 service_type 필드의 값을 정의한 예를 나타낸 도면이다.
도 8은 NRT 서비스의 어플리케이션을 식별하기 위한 DST 테이블 섹션(data_service_table_section) 및 DST 섹션에 포함된 data_service_table_bytes의 비트스트림 신택스를 도시한 것이다.
도 9는 본 발명에 따른 수신 시스템에서, 데이터 방송 스트림을 전달하기 위한 ATSC A/90 규격과 IP 멀티캐스트 스트림(Multicast stream)을 전송하는 ATSC A/92 규격을 활용하여 NRT 서비스를 수신하여 서비스하는 방법을 설명하기 위한 도면이다.
도 10 및 도 11은 본 발명의 다른 일 실시예에 따라 DSM-CC 어드레서블 섹션 데이터를 이용하여 NRT 서비스를 수신하는 방법을 설명하기 위한 도면이다.
도 11에서는 다른 일 실시예로서, VCT를 이용하여 DSM-CC 어드레서블 섹션 데이터를 시그널링 하는 방법을 나타낸다.
도 12 및 도 13은 본 발명의 일 실시 예에 따라 구성한 NST의 비트스트림 신택스를 도시한 것이다.
도 14는 본 발명의 일 실시 예에 따라 구성한 NRT_component_descriptor(MH_component_descriptor)의 비트 스트림 신택스를 도시한 것이다.
도 15는 본 발명의 일 실시 예에 따라 구성한 NRT_component_data가 속한 NRT 컴포넌트 디스크립터의 비트 스트림 신택스를 도시한 것이다.
도 16은 본 발명의 일 실시 예에 따라 구성한 NRT 어플리케이션을 시그널링 하기 위한 NRT-IT 섹션의 비트스트림 신택스를 도시한 것이다.
도 17은 본 발명에 따른 NCT섹션(NRT_content_table_section)에 대한 비트 스트림 신택스 구조의 일 실시예를 보인 도면이다.
도 18은 NRT 서비스 데이터에 대한 시그널링 정보를 제공하는 SMT 섹션의 비트 스트림 신택스 구조에 대한 일 실시예를 보이고 있다.
도 19는 본 발명의 일 실시 예에 따른 파일과 content_id의 매핑을 위한 FDT 스키마를 설명하기 위해 도시한 것이고, 도 20은 본 발명의 다른 실시 예에 따른 파일과 content_id의 매핑을 위한 FDT 스키마를 설명하기 위해 도시한 것이다.
도 20은 본 발명의 다른 실시 예에 따른 파일과 content_id의 매핑을 위한 FDT 스키마를 설명하기 위해 도시한 것이다.
도 21은 본 발명의 일 실시예에 따른 수신기의 동작 방법을 나타낸 흐름도이다.
도 22 및 도 23은 NRT 서비스를 위한 NRT 컨텐트를 수신하여 저장 및 재생할 수 있는 수신 시스템의 일 실시예와 다른 일 실시예이다.
도 24는 본 발명의 일 실시예에 따라 수신기가 NRT 서비스를 수신하여 제공하는 방법을 설명하기 위한 흐름도이다.
도 25는 본 발명의 일 실시 예에 따라 구성한 트리거의 비트스트림 신택스를 도시한 것이다.
도 26은 본 발명의 일 실시예에 따라 트리거가 포함된 동기화된 데이터 스트리밍 방식에 따른 PES의 구조를 도시한 도면이다.
도 27은 본 발명의 일 실시예에 따라 트리거를 전송하기 위한 PES 페이로드의 동기화된 데이터 패킷 구조(synchrozied data packet structure)를 비트스트림 신택스로 도시한 것이다.
도 28은 DST상의 tap()에 포함될 수 있는 content type descriptor 구조의 일 실시예를 도시한 것이다.
도 29는 PMT의 신택스와 서비스 식별자 디스크립터의 일 실시예를 도시하고 있다.
도 30은 본 발명의 일 실시예에 따른 트리거 스트림 디스크립터를 도시한 도면이다.
도 31은 AIT테이블의 일 실시예를 도시한 도면이다.
도 32는 STT테이블의 일 실시예를 도시한 도면이다.
도 33은 본 발명의 일 실시예에 따른 TDO 및 트리거를 송신하기 위한 송신기를 개략적으로 나타낸 블록도이다.
도 34는 본 발명의 일 실시예에 따른 TDO 및 트리거를 수신하기 위한 수신기(300)를 개략적으로 나타낸 블록도이다.
도 35는 본 발명의 일 실시예에 의한 트리거 전송 방법을 개략적으로 나타낸 흐름도이다.
도 36은 본 발명의 일 실시예에 따른 수신기(300)의 동작을 개략적으로 나타낸 흐름도이다.
도 37은 본 발명의 일 실시예에 따른 트리거 수신 방법 중, 트리거 테이블을 이용하여 수신하는 방법을 나타낸 흐름도이다.
도 38은 본 발명의 일 실시예에 따라 DST를 이용하여 트리거 시그널링 정보 및 트리거를 전송하는 경우 수신기(300)의 동작을 나타낸 흐름도이다.
도 39는 본 발명의 일 실시예에 따라 트리거 스트림 디스크립터를 이용하여 트리거를 전송하는 경우의 수신기의 동작을 나타낸 흐름도이다.
도 40은 본 발명의 일 실시예에 따라 스트림 타입을 이용하여 트리거를 전송하는 경우의 수신기의 동작을 나타낸 흐름도이다.
도 41은 본 발명의 일 실시예에 따라 AIT를 이용하여 트리거를 전송하는 경우의 수신기의 동작을 나타낸 흐름도이다.
도 42는 본 발명의 일 실시예에 따라 STT를 이용하여 트리거를 전송하는 경우의 수신기의 동작을 나타낸 흐름도이다.
도 43은 본 발명의 한 실시예에 따른 타이밍 다이어그램을 보여준다.
도 44는 본 발명의 한 실시예에 따른 활성화 트리거 데이터 전송 방법을 보여주는 흐름도이다.
도 45는 본 발명의 또 다른 실시예에 따른 타이밍 다이어그램을 보여준다.
도 46은 본 발명의 한 실시예에 따른 유지 트리거 데이터 전송 방법을 보여주는 흐름도이다.
도 47은 본 발명의 한 실시예에 따른 유지 트리거 수신 방법을 설명한다.
도 48은 본 발명의 한 실시예에 따른 타이밍 다이어그램을 보여준다.
도 49는 본 발명의 한 실시예에 따른 준비 트리거 수신 방법을 보여주는 흐름도이다.
도 50은 본 발명의 또 다른 실시예에 따른 준비 트리거 수신 방법을 보여주는 흐름도이다.
도 51은 본 발명의 또 다른 실시예에 따라 구성한 트리거의 비트스트림 신택스를 도시한 것이다.
도 52는 본 발명의 한 실시예에 따른 컨텐트 아이템 디스크립터의 신택스를 보여준다.
도 53은 본 발명의 한 실시예에 따른 인터넷 위치 디스크립터의 신택스를 보여준다.
도 54는 본 발명의 또 다른 실시예에 따른 트리거 전송 방법을 도시한 흐름도이다.
도 55은 본 발명의 실시예에 따른 수신기의 동작 방법을 보여주는 흐름도이다.
도 56은 본 발명의 실시예에 따른 수신기가 컨텐트 아이템의 위치 정보를 파악하는 방법을 보여준다.
도 57은 본 발명의 실시예에 따른 수신기가 트리거를 처리하는 방법을 보여주는 TDO 상태 천이도이다.
도 58 내지 도 62는 본 발명의 실시예에 따른 DTV-CC를 이용한 웹 북마크 서비스 트리거 전송 방법을 설명하기 위한 도면이다.
도 63은 본 발명의 일 실시예에 따라 구성한 웹 북마크 서비스에 대한 프로토콜 스택을 도시한 것이다.
도 64 내지 도 66은 본 발명의 일 실시예에 따라 웹 북마크 서비스를 제공하는 수신기의 디스플레이부를 도시한 도면이다.
도 67은 본 발명의 실시예에 따라 구성한 웹 북마크 트리거의 비트스트림 신택스를 도시한 것이다.
도 68은 본 발명의 실시예에 따라 웹 북마크 서비스를 처리하는 수신기의 구조를 도시한 도면이다.
도 69는 본 발명의 실시예에 따라 수신기가 웹 북마크 서비스를 처리하는 방법을 도시한 흐름도이다.
도 70은 본 발명의 실시예에 따라 DO를 실행하여 웹 북마크 서비스를 처리하는 수신기의 구조를 도시한 도면이다.
도 71은 본 발명의 또 다른 실시예에 따라 구성한 웹 북마크 트리거의 비트스트림 신택스를 도시한 것이다.
도 72는 본 발명의 실시예에 따라 수신기가 DO를 실행하여 웹 북마크 서비스를 처리하는 방법을 도시한 흐름도이다.
도 73은 본 발명의 실시예에 따른 웹 북마크 컬렉션 중 addBookmark API를 보여준다.
도 74는 본 발명의 실시예에 따라 DO가 웹 북마크 서비스를 실행하는 방법을 도시한 흐름도이다.
도 75는 본 발명의 실시예에 따른 웹 북마크 컬렉션 중 readWebBookmark API를 보여준다.
도 76 내지 도 79는 본 발명의 실시예에 따른 웹 북마크 컬렉션을 보여준다.
도 80은 본 발명의 또다른 실시예에 따라 웹 북마크 서비스를 처리하는 수신기의 구조를 도시한 도면이다.
도 81은 본 발명의 실시예에 따라 웹 북마크 서비스를 처리하는 수신기의 구조를 도시한 도면이다.
도 82는 본 발명의 일 실시예에 따른 네트워크 토폴로지를 보여주는 블록도이다.
도 83은 본 발명의 일 실시예에 따른 워터마크 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 84는 본 발명의 일 실시예에 따른 워터마크 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
도 85는 본 발명의 일 실시예에 따른 워터마크 기반의 컨텐츠 인식 타이밍을 보여준다.
도 86은 본 발명의 일 실시예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 87은 본 발명의 일 실시예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
도 88은 본 발명의 일 실시예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램(schema diagram)을 보여준다.
도 89는 본 발명의 일 실시예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 90은 본 발명의 일 실시예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
도 91은 본 발명의 실시예에 따른 영상 표시 장치의 블록도이다.
도 92는 본 발명의 한 실시예에 따른 부가 서비스 관리부의 계층도이다.
도 93은 본 발명의 한 실시예에 따른 부가 서비스 관리부의 동작을 보여주는 흐름도이다.
도 94는 본 발명의 한 실시예에 따른 부가 서비스 관리부의 계층도이다.
도 95는 본 발명의 한 실시예에 따른 부가 서비스 관리부의 동작을 보여주는 흐름도이다.
도 96은 본 발명의 한 실시예에 따른 부가 서비스 관리부의 계층도이다.
도 97은 본 발명의 한 실시예에 따른 부가 서비스 관리부의 동작을 보여주는 흐름도이다.
도 98은 본 발명의 한 실시예에 따른 부가 서비스 관리부의 계층도이다.
도 99는 본 발명의 한 실시예에 따른 부가 서비스 관리부의 동작을 보여주는 흐름도이다.
도 100은 본 발명의 실시예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 흐름도이다.
도 101은 발명의 실시예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 개념도이다.
도 102는 본 발명의 실시예에 따른 자동 재생 애플리케이션의 실행 화면을 보여준다.
도 103은 본 발명의 실시예에 따른 컨텐츠 제공자 애플리케이션의 실행 화면을 보여준다.
도 104는 본 발명의 한 실시예에 따른 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션이 실행된 화면을 보여준다.
도 105는 본 발명의 한 실시예에 따른 오버레이 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션이 실행된 화면을 보여준다.
도 106은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 실행 방법을 보여주는 흐름도이다.
도 107은 본 발명의 한 실시예에 따른 애플리케이션 선택 메뉴가 표시된 화면을 도시한 도면이다.
도 108은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 프로그램 메인 메뉴의 전체 서브 메뉴가 선택된 경우의 화면을 보여주는 도면이다.
도 109는 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 프로그램 메인 메뉴의 참여 서브 메뉴가 선택된 경우의 화면을 보여주는 도면이다.
도 110은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 프로그램 메인 메뉴의 디스커버리 서브 메뉴가 선택된 경우의 화면을 보여주는 도면이다.
도 111은 본 발명의 한 실시예에 따른 검색 방법을 보여주는 흐름도이다.
도 112는 본 발명의 한 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 검색 서브 메뉴가 선택된 경우의 한 화면을 보여주는 도면이다.
도 113은 본 발명의 한 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 검색 서브 메뉴가 선택된 경우의 또 다른 화면을 보여주는 도면이다.
도 114는 본 발명의 한 실시예에 따른 채팅창 표시 방법을 보여주는 흐름도이다.
도 115 본 발명의 한 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 트위터 서브 메뉴가 선택된 경우의 한 화면을 보여주는 도면이다.
도 116은 본 발명의 실시예에 따른 뉴스 획득 방법을 도시한 흐름도이다.
도 117은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 뉴스 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 118은 본 발명의 실시예에 따른 시청자 리스트 표시 방법을 보여주는 흐름도이다.
도 119는 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 소셜 메인 메뉴의 시청자 리스트 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 120은 본 발명의 한 실시예에 따른 영상 표시 장치가 친구 목록과 시청 정보를 획득하는 신호 흐름을 보여준다.
도 121은 본 발명의 또 다른 실시예에 따른 영상 표시 장치가 친구 목록과 시청 정보를 획득하는 신호 흐름을 보여준다.
도 122는 본 발명의 실시예에 따른 호감 표시 방법을 보여주는 흐름도이다.
도 123은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 소셜 메인 메뉴의 호감 표시 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 124는 본 발명의 실시예에 따른 디지털 미디어 다운로드 방법을 보여주는 흐름도이다.
도 125는 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 이전 에피소드 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 126은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 VOD 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 127은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 애플리케이션 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 128은 본 발명의 실시예에 따른 카탈로그 표시 방법을 보여주는 흐름도이다.
도 129는 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 스타일 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 130은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 음악 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 131은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 기타 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 132는 본 발명의 실시예에 따른 ACR 기능의 제어를 위한 사용자 인터페이스를 보여준다.
도 133은 본 발명의 실시예에 따른 영상 표시 장치의 제어 방법의 흐름도이다.
도 134는 본 발명의 한 실시예에 따른 광고 대체 방법을 도시한 흐름도이다.
도 135는 본 발명의 또 다른 실시예에 따른 광고 대체 방법을 도시한 흐름도이다.
도 136은 본 발명의 한 실시예에 따른 장면 연관 정보 표시 모드 선택 방법을 보여주는 흐름도이다.
도 137은 본 발명의 실시예에 따른 장면 연관 정보 표시 모드 선택을 위한 사용자 인터페이스를 보여준다.
도 138은 본 발명의 한 실시예에 따른 장면 연관 정보 표시 방법을 도시한 흐름도이다.
도 139는 본 발명의 실시예에 따른 장면 연관 정보의 사용자 선택 보여주기 방법을 보여주는 흐름도이다.
도 140은 본 발명의 실시예에 따른 장면 연관 정보의 사용자 선택 보여주기의 개념도이다.
도 141은 본 발명의 실시예에 따른 장면 연관 정보를 통합하여 보여주는 방법을 보여주는 흐름도이다.
도 142는 본 발명의 실시예에 따른 장면 연관 정보를 통합하여 보여주는 방법의 개념도이다.
도 143은 메인 시청각 컨텐츠의 협찬사 광고들의 통합 화면을 보여준다.
도 144는 본 발명의 한 실시예에 따른 등급 설정 정보 저장 방법을 보여주는 흐름도이다.
도 145는 본 발명의 실시예에 따른 등급 설정 정보 저장을 위한 사용자 인터페이스를 보여준다.
도 146은 본 발명의 한 실시예에 따른 등급 기반 메인 시청각 컨텐트 재생 방법을 보여주는 흐름도이다.
도 147은 본 발명의 또 다른 실시예에 따른 등급 기반 메인 시청각 컨텐트 재생 방법을 보여주는 흐름도이다.
도 148은 본 발명의 또 다른 실시예에 따른 등급 기반 메인 시청각 컨텐트 재생 방법을 보여주는 흐름도이다.
도 149는 본 발명의 한 실시예에 따라 이용 정보 측정 서버에 등록하는 방법을 도시한 흐름도이다.
도 150은 본 발명의 실시예에 따른 사용자 정보의 XML 스키마를 보여준다.
도 151은 본 발명의 한 실시예에 따른 이용 정보를 획득하고 보고하고 이용하는 방법을 도시한 흐름도이다.
도 152는 본 발명의 한 실시예에 따른 메인 시청각 컨텐트 시청 정보 아이템의 XML 스키마를 보여준다.
도 153은 본 발명의 한 실시예에 따른 부가 서비스 이용 정보 아이템의 XML 스키마를 보여준다.
도 154 내지 도 157은 본 발명의 실시예에 따른 사용자 특성 기반의 부가 서비스의 개념도이다.
도 158은 본 발명의 또 다른 실시예에 따른 핑거프린트 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 159는 본 발명의 또 다른 실시예에 따른 워트마크 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
이하의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 함을 밝혀두고자 한다.
한편, 본 발명에서 사용하는 용어 중 real time (RT) service는, 말 그대로 실시간 서비스를 의미한다. 즉, 시간에 구속받는 서비스이다. 이에 반해, non-real time (NRT) service는 RT 서비스 이외의 비실시간 서비스를 의미한다. 즉, 비실시간 서비스는 시간에 구속받지 않는 서비스이다. 그리고 NRT 서비스를 위한 데이터를 NRT 서비스 데이터라고 할 수 있다.
본 발명에 따른 방송 수신기는 지상파, 케이블, 인터넷 등과 같은 매체를 통해 비실시간(NRT) 서비스를 수신할 수 있다.
NRT 서비스는 방송 수신기의 저장 매체에 저장된 후, 기 설정된 시간이나 유저의 요청에 따라 디스플레이 장치에 표시될 수 있다. NRT 서비스는 파일 형태로 수신되어 저장 매체에 저장되는 것을 일 실시예로 한다. 저장 매체는 방송 수신기의 내부에 장착된 내장 HDD인 것을 일 실시예로 한다. 또 다른 예로, 저장 매체는 방송 수신 시스템의 외부에 연결된 USB(Universal Serial Bus) 메모리, 외장 HDD 등이 될 수도 있다.
NRT서비스를 구성하는 파일들을 수신하여 저장 매체에 저장하고, 유저에게 서비스하기 위해서는 시그널링 정보가 필요하다. 본 발명은 이를 NRT 서비스 시그널링 정보 또는 NRT 서비스 시그널링 데이터라고 할 수 있다.
본 발명에 따른 NRT 서비스는 NRT 서비스 시그널링 데이터를 포함한 IP 데이터그램을 얻는 방식에 따라 Fixed NRT 서비스와 Mobile NRT 서비스로 구분할 수 있다. 특히 Fixed NRT 서비스는 고정형 방송 수신기로 제공되고, Mobile NRT 서비스는 이동형 방송 수신기로 제공된다.
도 1은 RT 서비스와 NRT 서비스를 제공하는 개념을 개시한다.
방송국은 기존 방식에 따라 즉, 현재의 지상파 방송(또는 모바일 방송)과 같이 RT 서비스를 송신한다. 이때, 방송국은 RT 서비스를 송신하고 그 과정에서 남는 대역폭을 이용하거나 또는 전용 대역폭을 이용하여 NRT 서비스를 제공할 수 있다. 즉, RT 서비스와 NRT 서비스는 동일 채널 또는 다른 채널을 통해 전송된다. 따라서 방송 수신기에서 RT 서비스와 NRT 서비스를 구분하고, 구분된 NRT 서비스를 저장한 후 필요시에 유저에게 제공하기 위해 NRT 서비스 시그널링 정보(또는 NRT 서비스 시그널링 데이터)가 요구된다. NRT 서비스 시그널링 정보(또는 NRT 서비스 시그널링 데이터)는 뒤에서 상세히 설명하기로 한다.
예를 들어, 방송국에서는 방송 서비스 데이터를 실시간으로 송신하고, 뉴스 클립, 날씨 정보, 광고, Push VOD 등을 비실시간으로 송신할 수 있다. 또한 NRT 서비스는 뉴스 클립, 날씨 정보, 광고, Push VOD 뿐만 아니라, 실시간 방송 스트림 중 특정 장면들, 특정 프로그램의 상세 정보, 미리보기 등이 될 수도 있다.
종래의 방송 수신기(즉, legacy device)는 실시간 서비스를 수신하여 처리할 수는 있으나, 비실시간 서비스를 수신하여 처리할 수는 없다. 즉, 종래의 방송 수신기(즉, legacy device)는 실시간 서비스를 전송하는 채널에 포함된 NRT 스트림에 의해 그 동작이 영향을 받지 않는 것이 원칙이다. 다시 말해, 종래의 방송 수신기는 NRT 서비스를 수신하여도 적절하게 처리할 수 있는 수단이 구비되지 않아 수신된 NRT 서비스를 처리할 수 없다.
반면, 본 발명에 따른 방송 수신기(즉, NRT device)는 RT 서비스와 결합된 NRT 서비스를 수신하여 적절하게 처리할 수 있으므로, 시청자에게 종래 방송 수신기에 비해 다양한 기능을 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 NRT 서비스의 구조를 설명하기 위한 도면이다.
본 발명에 따른 하나의 NRT 서비스는 도 2에서와 같이 하나 이상의 컨텐트 아이템(또는 컨텐트 또는 NRT 컨텐트라 함)를 포함하고, 하나의 컨텐트 아이템은 하나 이상의 파일을 포함하는 것을 일 실시예로 한다. 본 발명에서 파일과 오브젝트는 동일한 의미로 사용될 수 있다.
컨텐트 아이템은 독립적으로 재생이 가능한 최소 단위이다. 예를 들어, 비실시간으로 제공되는 뉴스가 있고, 뉴스에는 경제 뉴스, 정치 뉴스, 생활뉴스가 포함된다고 할 때, 뉴스는 NRT 서비스라 할 수 있고, 경제 뉴스, 정치 뉴스, 생활 뉴스 각각은 컨텐트 아이템이라 할 수 있다. 그리고, 경제 뉴스, 정치 뉴스, 생활 뉴스 각각은 하나 이상의 파일로 구성될 수 있다.
이때 NRT 서비스는 RT 서비스와 동일한 방송 채널 또는 전용 방송 채널을 통해 MPEG-2 트랜스포트 스트림(TS) 패킷 형태로 전송될 수 있다. 이 경우 NRT 서비스를 식별하기 위하여 유일한 PID가 NRT 서비스 데이터의 TS 패킷에 할당되어 전송될 수 있다. 본 발명은 IP 기반의 NRT 서비스 데이터가 MPEG-2 TS 패킷화되어 전송되는 것을 일 실시예로 한다.
이때, NRT 서비스 데이터를 수신하는데 필요한 NRT 서비스 시그널링 데이터는 NRT 서비스 시그널링 채널을 통해 전송된다. NRT 서비스 시그널링 채널은 IP 계층 상에서 특정 IP 스트림을 통하여 전송되는데, 이때 이 특정 IP 스트림도 MPEG-2 TS 패킷화되어 전송될 수 있다. NRT 서비스 시그널링 채널로 전송되는 NRT 서비스 시그널링 데이터는 NRT 서비스 맵 테이블(Service Map Table, SMT), NRT 서비스 테이블(NRT Service Table, NST), NRT 컨텐트 테이블(NRT Content Table, NCT) 및 NRT 정보 테이블(NRT Information Table, NRT-IT), 텍스트 프래그먼트 테이블(TFT)중 적어도 하나를 포함할 수 있다. NST 또는 SMT는 IP 레이어에서 구동하는 적어도 하나의 NRT 서비스 또는 NRT 서비스를 구성하는 컨텐트 아이템 또는 파일들의 접속 정보를 제공하는 것을 일 실시예로 한다. NRT-IT 또는 NCT는 NRT 서비스를 구성하는 컨텐트 아이템 또는 파일들의 상세 정보를 제공하는 것을 일 실시예로 한다.
또한, SMT(또는 NST) 및 NRT-IT(또는 NCT)를 포함할 수 있는 NRT 서비스 시그널링 데이터는 MPEG2 TS상의 PSIP 테이블에 포함되거나, 가상 채널(Virtual Channel)내의 IP 레이어상의 NRT 서비스 시그널링 채널을 통해 전송될 수도 있다. 그리고, 하나의 가상 채널을 통해 복수의 NRT 서비스 데이터가 제공될 수 있다.
비실시간 정보 테이블(NRT-IT)은 수신 장치에 저장되도록 다운로드될 수 있는 콘텐트를 기술하는 정보를 포함한다. NRT-IT에 제공되는 정보는, 콘텐트의 타이틀(예를 들어, 다운로드될 수 있는 프로그램의 이름), 콘텐트가 다운로드될 수 있는 시간, 및 콘텐트 권고, 캡션 서비스의 이용가능성, 콘텐트 식별, 기타 메타데이터와 같은 정보를 포함할 수 있다.
또한, 텍스트 프래그먼트 테이블(TFT)은 콘텐트 항목이나 서비스에 대한 상세 기술 정보를 제공하기 위한 테이블이다. TFT는 다수의 언어를 지원하는 데이터 구조를 포함하고, 이에 따라 서로 다른 여러 언어들로 된 상세 기술들(각 스트링은 하나의 언어에 대응함)을 나타낼 수 있다. 텍스트 프래그먼트 테이블은 table_id 값(TBD)을 갖는 개인 섹션(private sections)에 포함되며, TFT_id에 의해 구별될 수 있다. TFT 섹션은 서비스 시그널링 채널 내에서 IP 패킷들에 포함되며, 이 채널은 IANA에 의해 멀티캐스트 IP 어드레스(224.0.23.60)와 포트(4937)를 할당받은 채널일 수 있다.
우선, 수신기는 예를 들어, SMT 내 service_category 필드를 참조하여 해당 서비스가 NRT 서비스인지 여부를 식별할 수 있다. 그리고 수신기는 SMT로부터 NRT 서비스 식별자 정보(NRT_service_id) 필드를 통해 NRT 서비스를 유일하게 식별할 수 있다.
한편, NRT 서비스는 복수의 컨텐트 아이템을 포함할 수 있다. 수신기는 각각의 NRT 컨텐트 아이템을 NCT 또는 NRT-IT내의 content_id 필드를 통해 식별할 수 있다. 그리고, NRT 컨텐트 아이템과 NRT 서비스는 NCT의 NRT_channel_id 필드와 상술한 NRT_service_id 필드를 일치시킴으로써 연결될 수 있다.
한편, NRT 서비스는 FLUTE 세션을 통해 전송되고, 수신기는 상기 FLUTE 세션으로부터 FDT 정보를 추출할 수 있다. 그리고 상기 추출된 FDT 정보 내 content_id는 NCT 또는 OMA-BCAST SG의 컨텐트 식별자(content_id)와 매핑하여 사용자 등에 의해 선택된 NRT 서비스 컨텐트를 확인하여 수신할 수 있다. 상기 매핑 방법에 대해 간략하게 설명하면 예를 들어, 수신기는 NRT 컨텐트 아이템을 구성하는 각 파일을 FLUTE 세션 내에서의 FDT 내에 명시된 TOI 및 Content-Location 필드를 이용하여 식별하며, 상기 각 TOI 또는 Content-Location과 컨텐트 아이템은 FDT에서의 content_ID 필드를 NCT의 컨텐트 식별자(content_id) 필드 또는 OMA BCAST SG의 컨텐트 식별자(content_id) 필드와 매핑하고, NRT 서비스 컨텐트를 확인하여 수신할 수 있다.
도 3은 본 발명의 일 실시예에 따라 구성한 NRT 서비스에 대한 프로토콜 스택을 도시한 것이다.
본 발명에서는 Fixed NRT 서비스를 위해, 파일 형태의 NRT 서비스를 IP 계층에서 IP 패킷화한 후 특정 가상(Virtual) 채널을 통해 MPEG-2 TS 형태로 전송하는 것을 일 실시예로 한다.
본 발명에서는 MPEG-2 기반의 PSI(Program Specific Information) 또는 PSIP(Program and System Information Protocol) 테이블 예를 들어, 가상 채널 테이블(VCT)를 통하여 가상 채널(Virtual channel) 내, NRT 서비스의 존재 여부 및 NRT 서비스의 식별(Identification) 정보를 시그널링하는 것을 일 실시예로 한다.
본 발명은 IP 기반의 NRT 서비스의 접속 정보를 시그널링하는 NRT 서비스 시그널링 데이터를 전송하는 NRT 서비스 시그널링 채널을 IP 계층에서 특정 IP 스트림으로 IP 패킷화한 후 MPEG-2 TS 형태로 전송하는 것을 일 실시예로 한다.
즉, 방송국에서는 도 3에서와 같이 파일 전송 프로토콜(File Transfer Protocol) 방식에 따라 NRT 컨텐트 아이템 또는 파일들을 패킷화하고, 패킷화된 NRT 컨텐트 아이템 또는 파일들을 ALC 또는 LCT(Asynchronous Layered Coding 또는 Layered Coding Transport) 방식에 따라 패킷화한다. 그리고, 패킷화된 ALC 또는 LCT 데이터는 다시 UDP 방식에 따라 패킷화되며, 패킷화된 UDP 데이터는 다시 IP 방식에 따라 패킷화되어 IP 데이터가 된다. 여기서, IP 데이터는 FLUTE (File Delivery over Unidirectional Transport) 세션에 대한 정보를 포함하는 FDT(File Description Table)를 포함할 수 있다. 패킷화된 IP 데이터를 본 발명에서는 설명의 편의를 위해 IP 데이터그램이라 할 수 있다.
또한, 본 발명에서는 NRT 서비스의 IP 데이터그램들을 어드레서블 섹션 구조로 인캡슐레이션하고, 다시 MPEG-2 TS 포맷으로 패킷화하는 것을 일 실시예로 한다. 즉, 하나의 어드레서블 섹션 구조는 하나의 IP 데이터그램에 섹션 헤더와 CRC 첵섬(checksum)이 추가적으로 더해지는 형태를 가지게 된다. 이러한 어드레서블 섹션 구조의 형태는 프라이빗 데이터(private data) 전송을 위한 DSM-CC(Digital Storage Media Command and Control) 섹션 포맷에 부합되는 구조로 될 수 있다. 따라서 어드레서블 섹션은 DSM-CC어드레서블 섹션이라고 할 수 있다.
한편, NRT 컨텐트/파일들을 수신하기 위해 필요한 SMT(또는 NST) 및 NRT-IT(또는 NCT) 중 적어도 하나를 포함하는 NRT 서비스 시그널링 데이터는 IP 레이어 상의 NRT 서비스 시그널링 채널을 통해 전송될 수 있다. 따라서, NRT 서비스 시그널링 데이터는 IP 레이어 상의 NRT 서비스 시그널링 채널을 통해 전송하기 위해 IP 방식에 따라 패킷화될 수 있다. NRT 서비스 시그널링 채널은 Well-known IP address를 가지는 IP 데이터그램에 인캡슐레이션되어 멀티캐스트(Multicast)되는 것을 일 실시예로 한다.
또한, 일 실시예에 따르면 NRT 서비스 시그널링 데이터는 PSI(Program Specific Information) 또는 PSIP(Program and System Infromation Protocol) 테이블 섹션 데이터에 포함되어 전송될 수 있다. 그리고, PSI테이블은 일 실시예로, PMT(Program Map Table), PAT(Program Association Table) 등을 포함할 수 있으며, PSIP테이블은 일 실시예로, VCT(Virtual Channel Table), TVCT(Terrestrial Virtual Channel Table), CVCT(Cable Virtual Channel Table), STT(System Time Table), RRT(Rating Region Table), ETT(Extended Text Table), DCCT(Direct Channel Change Table), DCCSCT(Direct Channel Change Selection Code Table), EIT(Event Information Table), 및 MGT(Master Guide Table)를 포함할 수 있다.
한편, 이와 같은 NRT 서비스를 불법 유통 및 복제로부터 보호하기 위해 방송 서비스의 디지털 저작권 관리 및 암호화를 위한 데이터로서 오픈 모바일 연합(Open Mobile Allience, OMA)에서 제안된 BCAST DRM(BroadCast Services Enalbler Suite Digital Rights Management)이 사용될 수 있다.
그리고, 상술한 PSI(Program Specific Information), PSIP(Program and System Information Protocol) 테이블 섹션 데이터, DSM-CC 어드레서블 섹션 데이터 및 OMA BCAST DRM 데이터를 184 바이트 단위로 분할한 후, 각184 바이트에 4바이트의 MPEG 헤더를 부가하면, 188 바이트의 MPEG-2 TS 패킷을 만들 수 있다. 이때, MPEG 헤더의 PID에 할당되는 값은 NRT 서비스와 NRT 서비스 시그널링 채널을 전송하는 TS 패킷을 식별할 수 있는 유일한 값일 수 있다.
MPEG-2 TS 패킷들은 물리 계층(physical layer)에서 기 정해진 전송 방식 예를 들면, 8-VSB 전송 방식으로 변조되어 수신 시스템으로 전송될 수 있다.
한편, 도 4는 본 발명의 다른 일 실시예에 따라 구성한 NRT 서비스에 대한 프로토콜 스택을 도시한 것이다.
도 4는 모바일 NRT 서비스를 제공하기 위한 프로토콜 스택의 일 예를 보이고 있다. 도 4는 IP 계층과 물리 계층 사이에 적응 계층(Adaption Layer)을 포함시켜, MPEG-2 TS 포맷을 사용하지 않으면서 모바일 서비스 데이터의 IP 데이터그램과 시그널링 정보의 IP 데이터그램을 전송할 수 있도록 하는데 있다.
즉, 방송국에서는 도 4에서 파일 전송 프로토콜(File Transfer Protocol) 방식에 따라 NRT 컨텐트/파일들을 패킷화하고, 이를 다시 ALC/LCT(Asynchronous Layered Coding/Layered Coding Transport) 방식에 따라 패킷화한다. 상기 패킷화된 ALC/LCT 데이터는 다시 UDP 방식에 따라 패킷화되며, 상기 패킷화된 ALC/LCT/UDP 데이터는다시 IP 방식에 따라 패킷화되어 ALC/LCT/UDP/IP 데이터가 된다. 상기 패킷화된 ALC/LCT/UDP/IP 데이터를 본 발명에서는 설명의 편의를 위해 IP 데이터그램이라 한다. 이때 OMA BCAST SG 정보도 상기 NRT 컨텐트/파일과 동일한 과정을 거쳐 IP 데이터그램을 구성할 수 있다.
또한 상기 NRT 컨텐트/파일들을 수신하기 위해 필요한 NRT 서비스 시그널링 정보(예를 들어, SMT)는 서비스 시그널링 채널을 통해 전송되는데, 상기 서비스 시그널링 채널은 UDP(User Datagram protocol) 방식에 따라 패킷화되고, 상기 패킷화된 UDP 데이터는 다시 IP 방식에 따라 패킷화되어 UDP/IP 데이터가 된다. 상기 UDP/IP 데이터도 본 발명에서는 설명의 편의를 위해 IP 데이터그램이라 한다. 이때 상기 서비스 시그널링 채널은 Well-known IP desinationaddress와 well-known desination UDP port number를 가지는 IP 데이터그램에 인캡슐레이션되어 멀티캐스트(Multicast)되는 것을 일 실시예로 한다.
그리고, 서비스 보호를 위한 OMA BCAST DRM은 UDP 헤더, IP 헤더가 순차적으로 더해져 하나의 IP 데이터그램을 구성한다.
적응 계층에서 상기 NRT 서비스, NRT 서비스 시그널링 채널, 모바일 서비스 데이터의 IP 데이터그램들을 모아 RS 프레임을 생성한다. 상기 RS 프레임에 OMA BCAST SG의 IP 데이터그램도 포함될 수 있다.
상기 RS 프레임에서 컬럼의 길이(즉, 로우의 개수)는 187 바이트로 정해지며, 로우의 길이(즉, 컬럼의 개수)는 N바이트이고, 상기 N은 전송 파라미터(또는 TPC 데이터)와 같은 시그널링 정보에 따라 달라질 수 있다.
상기 RS 프레임은 모바일 물리 계층(mobile physical layer)에서 기 정해진 전송 방식 예를 들면, VSB 전송 방식으로 변조되어 수신 시스템으로 전송된다.
한편, 본 발명에서는 NRT 서비스의 전송 여부를 PSI/PSIP 테이블을 통해 시그널링하는 것을 일 실시예로 한다. 일 예로, NRT 서비스의 전송 여부를 가상 채널 테이블(VCT) 또는 지역 가상 채널 테이블(TVCT)에 시그널링하는 것을 일 실시예로 한다.
도 5는 본 발명의 일 실시 예에 따라 구성한 TVCT 테이블 섹션(VCT)의 비트스트림 섹션을 도시한 것이다.
도 5를 참조하면, TVCT 테이블 섹션은 MPEG-2 프라이빗 섹션의 테이블 형태를 가지는 것을 일 예로 하여 설명하나, 반드시 이에 한정되는 것으로 아니다.
오디오/비디오에 관한 패킷 식별(PID)정보는 상기 오디오/비디오의 VCT, PID를 파싱하여 TVCT를 통해 전송된고 오디오/비디오에 관한 패킷 식별(PID)정보를 알 수 있다.
따라서, TVCT 테이블 섹션은 헤더, 바디와 트레일러로 구분할 수 있고, 헤더 부분은 table_id 필드에서 protocol_version 필드까지이며, transport_stream_id 필드는 16비트 필드로서, 다중화(multiplex)를 위해 0의 PID 값에 의해 정의되는 PAT(program association table) 내의 MPEG-2 전송 스트림 ID를 나타낸다. 바디 부분은 num_channels_in_section 필드는 8비트 필드로서, VCT 섹션 내의 가상 채널(virtual channel)들의 개수를 상술한다. 마지막으로 트레일러 부분은 CRC_32 필드를 포함한다.
먼저, 헤더 부분을 설명하면 다음과 같다.
table_id 필드(8비트)는 0xC8로 설정되어, 해당 테이블 섹션이 TVCT를 구성하는 테이블 섹션임을 식별한다.
section_syntax_indicator 필드(1비트)는 1로 설정되면, 상기 섹션이 일반적인 섹션 신택스를 따름을 나타낸다.
private_indicator 필드(1비트)는 1로 설정되어 있다.
section_length 필드(12비트)는 section_length 필드 바로 다음에서부터 상기 섹션의 마지막까지 이 섹션에 남아 있는 바이트들의 개수를 상술한다. 상기 section_length 필드의 값은 1021 보다 클 수 없다.
table_id_extension 필드(16비트)는 0x000으로 설정되어 있다.
version_number 필드(5비트)는 0의 값을 가질 수 있으며 VCT의 버전넘버를 의미한다.
current_next_indicator 필드(1비트)는 1로 설정되어 있으면 해당 테이블 섹션은 현재 적용 가능함을 나타낸다.
section_number 필드(8비트)는, TVCT 섹션들 중 해당 테이블 섹션의 넘버를 지시한다. TVCT의 제 1 섹션은 section_number는 0x00으로 설정되어야 한다.
last_section_number 필드(8비트)는, TVCT 섹션들 중 가장 마지막 및 가장 높은 넘버의 테이블 섹션을 의미한다.
protocol_version 필드(8비트)는, 현재 프로토콜에서 정의된 것보다 다르게 구조화된 파라미터들을 전달하는 이 테이블 타입의 허락하는 함수이다. 현재, protocol_version의 단 하나의 유효값은 0이다. 0이 아닌protocol_version은 구조적으로 다른 테이블을 인식하기 위해 상기 표준의 미래 버전에 사용될 수 있다.
다음으로 바디(body) 부분을 설명한다.
num_channels_in_section 필드 (8비트)는 상기 VCT 섹션의 가상 채널들의 넘버를 지정한다. 상기 넘버는 테이블 섹션 길이에 따라 제한된다.
short_name 필드(16비트)는, 1에서 7까지 연속된 16비트의 코드 값으로 상기 가상 채널의 이름(name)을 표현한다.
major_channel_number 필드(10비트)는, "for" loop의 반복에 정의된 가상채널과 연관된 메이저 채널 넘버(major channel number)를 표현한다. 각 가상 채널은 메이저 채널 넘버 및 마이너 채널 넘버 (minor channelnumber)와 연관되어야 한다. 마이너 채널 넘버와 함께 메이저 채널 넘버는 사용자의 가상 채널의 참조 넘버로 역할한다.
minor_channel_number 필드(10비트)는, '0'에서 '999'까지의 범위 내 마이너(minor) 또는 서브(sub-) 채널 넘버를 표현한다. major_channel_number와 함께 상기 필드는 minor_channel_number가 넘버의 제2 또는 오른쪽 부분을 나타내는 2부의 채널 넘버로 수행한다. minor_channel_number는 service_type이 아날로그 텔레비전일 경우에 0으로 설정되어야한다. service_type이 ATSC_digital_television이나 ATSC_audio_only일 경우에 '1'에서 '99'까지의 범위 내 마이너 넘버를 사용한다. minor_channel_number의 값은 TVCT에서 major_channel_number과 minor_channel_number이 중복되지 않게 한다.
modulation_mode 필드(8비트)는 가상채널과 연관된 캐리어(carrier)를 위한 변조 모드(modulation mode)를 나타낸다.
carrier_frequnecy 필드(32비트)는 권장 값이 0이다. 캐리어 주파수를 식별하는 상기 필드의 사용은 허용되지만 하지 않는 게 바람직하다.
channel_TSID 필드(16비트)는'0x0000'에서 '0xFFFF'까지의 범위 내 가상 채널에 의해 참조되는 MPEG-2 프로그램을 싣고 있는 전송 스트림과 연관된 MPEG-2 전송 스트림 ID를 표현하는 부호 없는 정수 필드다.
program_number 필드(16비트)는, MPEG-2 PAT(program association table)과 TS PMT(program map table)에 정의되는 가상 채널과 연관되는 부호 없는 정수 넘버를 식별한다. 아날로그 서비스에 해당하는 가상 채널은 program_number가 '0xFFFF'로 정한다.
ETM_location 필드(2비트)는, ETM(extended text message)의 존재(existence) 유무와 위치(location)를 설명한다.
access_controlled 필드(1비트)는, 설정되면 가상 채널과 연관된 이벤트들은 액세스(access)가 제어됨을 지시한다. 상기 플래그가 0으로 설정되면, 이벤트 액세스는 제한되지 않는다.
hidden 필드(1비트)는, 설정되면 가상 채널은 가상 채널 넘버의 직접 엔트리에 의한 사용자가 접근할 수 없음을 지시한다. 히든 가상 채널(hidden virtual channel)은 사용자가 채널을 서핑하는 경우에 생략되고 정의되지 않거나 직접 채널 엔트리에 액세스할 경우에 나타난다. 히든 채널(hidden channel)의 전형적인 애플리케이션은 테스트 신호 및 NVOD 서비스이다. 히든 채널 및 그 이벤트들은 hide_guide 비트의 상태에 따라 EPG 디스플레이에 나타난다.
hidden_guide 필드는, 히든 채널을 위해 0으로 설정되면, 가상 채널과 그 이벤트들은 EPG 디스플레이에서 나타날 수도 있다. 상기 비트는 히든 비트 세트가 없는 채널에는 무시하므로 비 히든 채널들 및 그 이벤트들은 hide_guide 비트의 상태에 상관없이 EPG 디스플레이에 항상 포함된다. hidden_guide 비트 세트가 '1'로 설정된 히든 채널의 전형적인 애플리케이션은 애플리케인션 레벨 포인터를 통해 얻기 쉬운 테스트 신호 및 서비스이다.
service_type 필드(6비트)는, 가상 채널에서 전송되는 서비스의 타입을 나타낸다. 도 6과 도 7은 본 발명의 실시예에 따른 service_type 필드의 값을 정의한 예를 나타낸 도면이다. 본 발명의 일 실시 예에서, 도 6에 표시된 service_type의 값 '0x04'는 service_type이 ATSC_data_only_service라는 것과 가상 채널을 통해 NRT 서비스가 전송될 수 있다는 것을 의미한다. 본 발명의 다른 실시 예에서, 도 7에 표시된 service_type의 값'0x08'은 service_type이 ATSC_nrt_service라는 것과 가상 채널은 ATSC 기준에 부합한 NRT 서비스를 제공한다는 것을 의미한다.
source_id 필드(16비트)는, 가상 채널과 연관된 프로그램의 소스를 나타낸다.
descriptors_length 필드는 뒤따르는 가상 채널을 위한 디스크립터의 전체 길이(바이트 단위)를 나타낸다.
descriptor() 필드는 0개 이상의 디스크립터를 포함한다.
additional_descriptors_length 필드는 뒤따르는 VCT 디스크립터 리스트의 전체 길이(바이트 단위)를 나타낸다.
마지막으로 트레일러 부분, CRC_32 필드는 32비트 필드로서, 전체 STT 섹션을 프로세싱한 후 MPEG-2 시스템에 정의된 디코더(decoder)의 레지스터(register)들로부터 제로 출력(zero output)을 보장(ensure)하는 CRC(cyclic redundancy check) 값을 포함한다.
도 8은 NRT 서비스의 어플리케이션을 식별하기 위한 DST 테이블 섹션(data_service_table_section) 및 DST 섹션에 포함된 data_service_table_bytes의 비트스트림 신택스를 도시한 것이다. 방송국은 도 8에 도시된 DST 테이블 섹션을 통하여 ASTC규격에 부합하는 NRT 서비스 데이터 또는 NRT 서비스 시그널링 데이터를 전송할 수 있다.
이하 data_service_table_section 구조를 포함하는 필드들의 시맨틱스의 일 실시예는 다음과 같다.
table_id 필드(8비트)는 해당 테이블 섹션의 타입 식별을 위한 필드로서, 본 필드를 통해 해당 테이블 섹션이 DST를 구성하는 테이블 섹션임을 알 수 있다. 예를 들어, 수신기는 본 필드의 값이 0XCF를 가지면 해당 테이블 섹션이 DST를 구성하는 테이블 섹션임을 식별할 수 있다.
section_syntax_indicator 필드(1비트)는 DST의 섹션 형식을 정의하는 지시자로서, 섹션 형식은 예를 들어, MPEG의 short-form 신택스(0) 등이 될 수 있다.
private_indicator 필드(1비트)는 해당 섹션의 형태가 프라이빗 섹션 형태를 따르는지 여부를 나타내며 '1'로 설정될 수 있다.
private_section_length 필드(12비트)는 해당 필드 이후의 나머지 테이블 섹션 길이를 나타낸다. 또한 이 필드의 값은 '0xFFD'를 넘지 않는다.
table_id_extension 필드(16비트)는 테이블에 종속적이고, 남은 필드들의 범위를 제공하는 table_id 필드의 논리적인 부분이 될 수 있다.
version_number 필드(5비트)는 DST의 버전 넘버를 나타낸다.
current_next_indicator 필드(1비트)는 전송된 DST 테이블 섹션이 현재 적용 가능한지 여부를 지시한다. 이 필드 값이 0이면, 아직 테이블이 존재 하지 않고 다음 테이블에 유효함을 의미한다.
section_number 필드(8비트)는 해당 테이블 섹션이 DST 테이블을 구성하는 섹션들 내 섹션 넘버를 나타낸다. DST의 첫 섹션의 section_number는 '0x00'으로 설정된다. section_number는 DST의 섹션이 늘어갈때마다 하나씩 증가한다.
last_section_number 필드(8비트)는 DST 테이블을 구성하는 마지막 섹션 번호를 나타낸다. (가장 높은 section_number)
data_service_table_bytes는 DST를 구성하는 데이터 블록을 나타내며, 자세한 구조는 후술한다.
CRC_32 필드는 32비트 필드로서, 전체 DST 섹션을 프로세싱한 후 MPEG-2 시스템에 정의된 디코더(decoder)의 레지스터(register)들로부터 제로 출력(zero output)을 보장(ensure)하는 CRC(cyclic redundancy check) 값을 포함한다.
한편, 상술한 data_service_table_bytes 구조를 포함하는 필드들의 시맨틱스의 일 실시예를 정의하면 아래와 같다.
sdf_protocol_version 필드 (8비트)는, Service Description Framework 프로토콜의 버전을 설명한다.
application_count_in_section 필드 (8비트)는, DST 섹션 내 리스트 된 어플리케이션들의 수를 설명한다.
compatibility_descriptor() 필드는, 해당 구조가 DSM-CC 호환성 디스크립터를 포함함을 나타낸다. 그 목적은 해당 데이터 서비스를 사용하기 위해 그 능력을 판단하기 위해 수신 플랫폼에서 어플리케이션의 호환성 요구사항들을 시그널링하기 위함이다.
app_id_byte_length 필드 (16비트)는, 어플리케이션을 식별하는데 사용되는 바이트들의 개수를 설명한다.
app_id_description 필드 (16비트)는, 다음 application identification bytes의 포맷과 시맨틱스를 설명할 수 있다. 예를 들어, app_id_description 필드의 값은 다음의 표 1과 같이 정의할 수 있다.
Figure pct00001
app_id_byte 필드 (8비트)는, 어플리케이션 식별자의 바이트를 표현한다.
tap_count 필드 (8비트)는, 해당 어플리케이션에 의한 사용되는 Tap() 구조들의 개수를 설명한다.
protocol_encapsulation 필드 (8비트)는, Tap() 필드에 의해 참조되는 특정 데이터 엘리먼트를 전송하기 위해 사용되는 프로토콜 인캡슐레이션의 타입을 설명한다. protocol_encapsulation 필드의 값은 다음과 같은 표 2와 같이 정의되어 사용될 수 있다.
Figure pct00002
action_type 필드 (7비트)는, Tap() 필드에 의해 참조되는 데이터의 속성을 나타낼 수 있다.
resource_location 필드 (1비트)는, 다음 Tap 구조 내 리스트 된 association_tag 값과 매칭되는 association_tag 필드의 위치를 설명한다. 해당 필드가 '0'으로 설정되면 매칭되는 association_tag는 현재 MPEG-2 프로그램의 PMT 내 존재한다. 이와 달리, '1'로 설정되면 매칭되는 association_tag는 해당 데이터 서비스의 Network Resources Table 내 DSM-CC Resource Descriptor에 존재한다.
Tap() 필드는, 하위 계층의 통신 채널에 포함된 어플리케이션 단계의 데이터 엘리먼트를 찾기 위한 정보를 포함할 수 있다. Tap() 필드 내의 association_tag 필드에는 어플리케이션 단계의 데이터 엘리먼트간의 대응관계 정보가 포함될 수 있다. 하나의 Tap 구조 내의 association_tag 필드의 값은 현재 PMT 내에 포함된 하나의 association tag 디스크립터의 association_tag 필드의 값에 대응한다. 예를 들어, Tap()필드는 하기의 표 3과 같은 필드들을 포함한 특정 구조를 포함할 수 있다.
Figure pct00003
tap_id 필드 (16비트)는 데이터 엘리먼트들을 식별하기 위해 어플리케이션에 의해 사용된다. tap_id의 값은 DST 내 Tap()와 관련된 app_id_byte필드들의 값에 의해 범위가 정해진다. tap_id 값은 데이터 서비스 프로바이더에 의해 선택된다. 또한, tap_id 값은 데이터 엘리먼트를 다루기 위한 어플리케이션에서 사용될 수 있다.
Use 필드 (16비트)는, association_tag에 의해 참조되는 통신 채널을 특정하기 위해 사용된다.
association_tag 필드 (16비트)는, Network Resource Table 내 리스트 된 DSM-CC 리소스 디스크립터나 또는 PMT 내에 리스트 된 데이터 엘리먼트리 스트림 중 어느 하나를 유일하게 식별한다. 해당 필드의 값은 데이터 서비스의 PMT 내 association_tag_descriptor의 association_tag 값과 일치할 수 있다.
Selector() 필드는, association_tag 필드에 의해 참조되는 통신 채널 또는 데이터 엘리먼트리 스트림 내에 이용 가능한 특정 데이터 엘리먼트를 설명한다. 또한, selector 구조는 해당 데이터 엘리먼트를 위해 요구되는 프로토콜을 지시할 수 있다.
tap_info_length 필드 (16비트)는, 해당 필드 다음 필드의 디스크립터들의 바이트의 수를 설명할 수 있다.
descriptor() 필드는, 해당 디스크립터 포맷에 따른 디스크립터 정보를 포함할 수 있다.
app_info_length 필드 (8비트)는, 해당 필드 다음의 디스크립터들의 바이트 수를 설명한다.
descriptor() 필드는, 해당 디스크립터 포맷에 따른 디스크립터 정보를 포함할 수 있다.
app_data_length 필드 (16비트)는, app_data_byte 필드들의 바이트 단위의 길이를 설명한다.
app_data_byte (8비트)는, 어플리케이션과 관련된 입력 파라미터들과 다른 프라이빗 데이터 필드들을 1바이트로 표현한다.
service_info_length 필드 (8비트)는, 다음 디스크립터들의 바이트 단위의 수를 설명한다.
descriptor() 필드는, 해당 디스크립터 포맷에 따른 디스크립터 정보를 포함할 수 있다.
service_private_data_length 필드 (16비트)는, 프라이빗 필드들의 바이트 단위의 길이를 설명한다.
service_private_data_byte 필드 (8비트)는, 프라이빗 필드를 1바이트로 표현한다.
도 9는 본 발명에 따른 수신 시스템에서, 데이터 방송 스트림을 전달하기 위한 ATSC A/90 규격과 IP 멀티캐스트 스트림(Multicast stream)을 전송하는 ATSC A/92 규격을 활용하여 NRT 서비스를 수신하여 서비스하는 방법을 설명하고 있다.
즉, 각 가상 채널을 구성하는 스트림의 정보는 VCT의 Service location descriptor나 PMT의 ES_loop에 시그널링 된다. 예를 들어, 도 7 또는 도 8에서와 같이 VCT의 서비스 타입(service type)이 0x02(즉, 디지털 A/V/Data)이거나 0x04(즉, Data only)인 경우, 또는 0x08(즉, NRT Only service)인 경우, 상기 가상 채널로 NRT 서비스 스트림이 전송될 수 있다. 이때 VCT의 service location descriptor(또는 PMT의 ES loop)에 포함된 stream_type 필드 값에 0x95(즉, DST 전송)가 할당되어 있으면 데이터 방송이 전송됨을 의미한다. 만일 stream_type 필드 값이 없거나, 0x95가 아니면 일반 A/V만 전송된다. 즉, 상기 service location desciptor에 포함된 stream_type 필드 값이 0x95를 나타내면, 이때의 Elementary_PID 필드 값은 DST(Data Service Table)의 PID 값이 된다. 따라서 상기 Elementary_PID를 통해 DST를 수신할 수 있다.
상기 DST를 통해 어플리케이션(Application)의 종류 및 이 채널을 통해 전송되는 데이터 방송 스트림의 상세 정보를 알 수 있다. 본 발명에서는 DST를 이용하여 NRT 어플리케이션(즉, NRT 서비스)를 식별하도록 한다.
즉, DST의 App_id_descrption 필드는 뒤이어 오는 application identification bytes의 포맷 및 해석을 규정한다. 본 발명은 NRT 어플리케이션을 식별하기 위해 상기 App_id_descrption 필드에 '0x0003'를 할당하는 것을 일 실시예로 한다. 상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다.
만일, 상기 App_id_descrption 필드 값이 '0x0003'이면, 그 다음에 오는 Application_id_byte 값은 NRT 어플리케이션의 Service ID값이 된다. 상기 NRT 어플리케이션을 위한 서비스 아이디는 해당 서비스를 전 세계적으로 유일하게 식별하는 URI 값을 가질 수 있다.
상기와 같이 NRT 어플리케이션임을 식별한 이후에는 NRT 서비스 시그널링 채널의 IP 데이터그램으로부터 분할된 MPEG-2 TS 패킷의 PID를 Tap 정보를 통해 찾는다. 그러면, 상기 tap 정보를 통해 찾은 PID를 갖는 MPEG-2 TS패킷들로부터 NRT 서비스 시그널링 채널을 전송하는IP 데이터그램을 획득할 수 있으며, 상기 획득된 IP 데이터그램으로부터 NRT 서비스 시그널링 데이터를 획득할 수 있다. 이때 상기 NRT 서비스 시그널링 채널의 IP 접속정보는 잘 알려진 IP 접속 정보 즉, well-known IP address와 well-known UDP port number가 사용될 수 있다.
즉, 상기 DST에서 Protocol_encapsulation 필드 값이 0x04이면 비동기 IP 스트림이 전송되고, Selector_type필드 값이 0x0102이면 selector_bytes를 통해 destination address를 가리키는 device_id 값이 전달된다. 상기 selector_bytes 값을 정확히 해석하기 위해서 multiprotocol_encaplsulation_descriptor가 사용되며, device_id값 중에서 유효(valid)한 바이트의 개수를 시그널링해준다. 결국 Tap 정보를 통하여 해당 PID로 전송 되는 NRT 서비스 시그널링 채널의 IP Multicast address (혹은 address range)를 알 수 있게 된다.
따라서, 수신기는 상기 IP Multicast address (혹은 address range)에 접속하여 IP 스트림 즉, IP 패킷을 수신하고, 상기 수신된 IP 패킷으로부터 NRT 서비스 시그널링 데이터를 추출한다.
그리고, 수신기는 상기 추출된 NRT 서비스 시그널링 데이터를 기초로, NRT 서비스 데이터 즉, NRT 컨텐트 아이템/파일들을 수신하여 저장 매체에 저장하거나, 디스플레이 장치에 표시할 수 있다.
본 발명은 다른 실시예로, DST의 Stream Type 필드 값에 0x95 대신 새로운 값 예를 들어, 0x96을 사용하여 NRT서비스를 시그널링할 수 있다. 이는 기존 수신기가 데이터 방송 스트림의 존재 여부를 스트림 타입이 0x95인 스트림의 존재 여부로만 판단하여 동작할 경우, 새로운 어플리케이션인 NRT서비스에 대해 오동작할 우려가 있기 때문이다. 이러한 경우 스트림 타입을 새롭게 지정해 줌으로써 기존 수신기에서는 이를 무시하도록 하여 하위 호환성을 보장할 수 있을 것이다.
도 10 및 도 11은 본 발명의 다른 일 실시예에 따라 DSM-CC 어드레서블 섹션 데이터를 이용하여 NRT 서비스를 수신하는 방법을 설명하고 있다.
DST를 이용한 데이터 전송 방식은 모든 종류의 IP 데이터그램을 디지털 방송 스트림을 통하여 전송하기 위한 규격으로서, NRT 서비스에 대하여는 비효율적일 수 있다. 따라서, 도 10 과 도 11에서는 일 실시예로서, DSM-CC 어드레서블 섹션의 데이터를 통하여 NRT 서비스에 대한 IP 데이터그램의 IP 주소정보와 섹션 데이터를 포함하는 특정 스트림의 PID를 시그널링 하여 NRT 서비스를 수신하도록 하는 방법을 도시하고 있다.
도 10과 같이, 수신기는 VCT(또는 TVCT)의 서비스 타입(service type)이 0x08(즉, NRT Only service)인 경우, 상기 가상 채널로 NRT 서비스 스트림이 전송될 수 있다는 정보를 획득 할 수 있다. 즉, 수신기는 가상 채널의 PID와 채널 번호를 매핑하여 service_type 정보에 따라 NRT 서비스 존재 여부에 대한 정보를 획득 할 수 있다.
이때 VCT의 service location descriptor(또는 PMT의 ES loop)에 포함된 stream_type 필드 값에 0x0D가 할당되어 있으면 DSM-CC 스트림이 전송됨을 의미할 수 있다. 이때의 Elementary_PID 필드 값은 DSM-CC 어드레서블 섹션의 PID 값이 될 수 있다. 따라서 수신기는 Elementary_PID를 통해 NRT 서비스 데이터를 포함하는 DSM-CC 어드레서블 섹션을 수신할 수 있다.
즉, 수신기는 VCT 또는 PMT를 통해 DSM-CC 어드레서블 섹션의 PID를 획득할 수 있다. 여기서, 수신기는 해당 스트림의 PMT로부터 획득한 PID에 대응하는 NRT 서비스 시그널링 채널의 IP 주소 또는 NRT 서비스 데이터를 전송하기 위한 FLUTE 세션의 IP 주소를 포함하는 NRT_IP_address_list_descriptor_A() 필드를 획득할 수 있다.
그리고, 수신기는 NRT_IP_address_list_descriptor_A()필드로부터 획득한 IP 주소에 기초하여 IP 멀티캐스트 스트림 또는 IP 서브넷으로부터 DSM-CC 어드레서블 섹션 데이터를 수신할 수 있다. 수신기는 수신한 DSM-CC 어드레서블 섹션 데이터에서 상기 획득한 elementray_PID에 대응하는 PID가 존재하는 DSM-CC 어드레서블 섹션을 찾음으로써, 특정 NRT 서비스(예를 들어 A, B, 또는 C) 데이터를 포함하는 해당 IP 데이터그램을 획득할 수 있다.
도 11에서는 다른 일 실시예로서, VCT를 이용하여 DSM-CC 어드레서블 섹션 데이터를 시그널링 하는 방법을 나타낸다.
상술한 바와 마찬가지로, 수신기는 VCT에 명시된 서비스 타입(service_type)이 0X02, 0X04 또는 0X08인 경우 NRT 서비스 스트림이 전송될 수 있다는 정보를 획득할 수 있다. 그리고, 수신기는 DSM-CC 스트림을 수신하기 위하여 service_location_descriptor() 필드로부터 스트림 타입이 0X0D인 elementary_PID를 획득할 수 있다. 여기서, 수신기는 획득한 elementray_PID에 대응하는 NRT 서비스 시그널링 채널의 IP 주소 또는 NRT 서비스 데이터를 전송하기 위한 FLUTE 세션의 IP 주소를 포함하는 NRT_IP_address_list_descriptor_B() 필드를 VCT로부터 획득할 수 있다.
그리고, 수신기는 NRT_IP_address_list_descriptor_B()필드로부터 획득한 IP 주소에 기초하여 IP 멀티캐스트 스트림 또는 IP 서브넷으로부터 DSM-CC 어드레서블 섹션 데이터를 수신할 수 있다. 수신기는 수신한 DSM-CC 어드레서블 섹션 데이터에서 상기 획득한 elementray_PID에 대응하는 PID가 존재하는 DSM-CC 어드레서블 섹션을 파싱함으로써, 수신하고자 하는 특정 NRT 서비스(예를 들어 A, B, 또는 C) 데이터를 포함하는 IP 데이터그램을 획득할 수 있다.
이와 같은 NRT 서비스 시그널링 데이터 및 NRT 서비스 데이터 추출 과정을 예를 들어 설명하면 다음과 같다. 여기서는 VCT 내 service_type 필드 값에 0x08을 할당하여, 해당 가상 채널로 하나 이상의 NRT 서비스가 전송됨을 지시하는 것을 일 실시예로 한다.
즉, 수신기의 전원이 켜지고 디폴트 또는 사용자에 의한 채널이 튜너를 통해 선택되면, PSI/PSIP 섹션 핸들러는 상기 선택된 채널로 수신되는 방송 신호로부터 VCT와 PMT를 획득한다. 그리고 PSI/PSIP 섹션 핸들러는 상기 획득된 VCT를 파싱하여 NRT 서비스가 있는지를 확인한다. 이는 상기 VCT의 가상 채널 루프 내 service_type 필드 값을 확인하여 알 수 있다. 예를 들어, 상기 service_type 필드 값이 0x08이 아니면 해당 가상 채널은 NRT 서비스를 전송하지 않는다. 이때 상기 가상 채널은 기존 서비스(즉, legacy ATSC 서비스)를 전송하므로, 수신기는 상기 가상 채널에 포함된 정보에 따라 적절한 동작을 수행한다.
그리고, 역다중화기는 서비스 매니저의 제어에 의해 service_type 필드 값이 0x08이면, 해당 가상 채널은 NRT 서비스를 전송한다. 이 경우 상기 VCT의 가상 채널 루프 내 service location descriptor를 파싱하여 DST의 PID를 추출한다. 그리고 추출된 PID를 이용하여 DST를 수신한다.
그리고, 수신기는 상기 수신된 DST로부터 선택된 채널을 통해 제공되는 해당 서비스가 NRT 서비스인지를 확인한다.
상기 NRT 서비스는 App_id_descrption 필드 값으로부터 확인할 수 있다.
본 발명은 NRT 어플리케이션(즉, NRT 서비스)을 식별하기 위해 상기 App_id_descrption 필드에 '0x0003'를 할당하는 것을 일 실시예로 한다. 상기 예시한 수치는 일 예에 불과하며, 상기 수치로 본 발명의 권리범위가 제한되는 것은 아니다.
만일 상기 DST 내 App_id_descrption 필드 값이 '0x0003'이면, 그 다음에 오는 Application_ id_byte 값은 NRT 어플리케이션(즉, NRT 서비스)의 Service ID값이 된다. 그러므로, 서비스 매니저 또는 PSI/PSIP섹션 핸들러는 상기와 같이 NRT 어플리케이션(즉, NRT 서비스)임을 식별한 이후에 NRT 서비스 시그널링 채널의 IP 데이터그램으로부터 분할된 MPEG-2 TS 패킷의 PID를 찾기 위해 Tap을 추출한다. 이어 상기 추출된 Tap의 association_tag를 포함하는 스트림 PID를 PMT로부터 추출한다.
그리고, 어드레서블 섹션 핸들러는 상기 추출된 스트림 PID에 해당하는 MPEG-2 TS 패킷들을 수신하여 디캡슐레이션 즉, MPEG-2 헤더를 제거하여 DSM-CC 어드레서블 섹션을 복원할 수 있다.
이후, 수신기는 상기 DSM-CC 어드레서블 섹션으로부터 섹션 헤더와 CRC 첵섬을 제거하여 NRT 서비스 시그널링 채널을 전송하는 IP 데이터그램을 복원(recover)하고 복원된 IP 데이터그램으로부터 NRT 서비스 시그널링 데이터를 획득한다. 여기서, 상기 NRT 서비스 시그널링 채널을 전송하는 IP 데이터그램의 접속 정보는 well-known 데스티네이션(destination) IP 어드레스와 well-known 데스티네이션 (destination) UDP 포트 번호인 것을 일 실시예로 한다.
즉, 상기 DST에서 Protocol_encapsulation 필드 값이 0x04이면 비동기 IP 스트림이 전송되고, Selector_type필드 값이 0x0102이면 selector_bytes를 통해 destination address를 가리키는 device_id 값이 전달된다. 상기 selector_bytes값을 정확히 해석하기 위해서 multiprotocol_encaplsulation_descriptor가 사용되며, device_id값 중에서 유효(valid)한 바이트의 개수를 시그널링해준다. 결국 Tap 정보를 통하여 해당 PID로 전송되는 NRT서비스 시그널링 채널의 IP Multicast address (혹은 address range)를 알 수 있게 된다.
따라서, 수신기는 상기 IP Multicast address (혹은 address range)에 접속하여 IP 스트림 즉, IP 패킷을 수신하고, 상기 수신된 IP 패킷으로부터 NRT 서비스 시그널링 데이터를 추출한다.
수신기는 상기 추출된 NRT 서비스 시그널링 데이터를 기초로, NRT 서비스 데이터 즉, NRT 컨텐트 아이템/파일들을 수신하여 저장 매체에 저장하거나, 디스플레이 장치에 표시할 수 있다.
한편, 본 발명의 일 실시예에 따르면 상술한 NRT 서비스는 DCD(Dynamic Content Delivery) 서비스를 통해 제공될 수 있다. DCD 서비스는 수신기로 전송하는 컨텐츠를 주기적으로 또는 사용자가 원할 때 전송하는 서비스로서, 이 때의 컨텐츠는 수신기의 정보에 따라 서버세어 선택된 것을 의미한다. DCD 서비스는 컨텐츠 전달을 위한 통신 수단을 점대점(point-to-point) 방식과 브로드캐스트(broadcast) 방식을 지원하며, 본 발명은 상술한 NRT 서비스를 DCD서비스의 브로드캐스트 방식 중 하나인 OMA BCAST방식으로 전송하는 것을 일 실시예로 한다.
이와 같은 OMA BCAST방식의 DCD 서비스를 통해 NRT 서비스 데이터를 전송할 수 있다. 이 경우, 수신기는 NRT 서비스를 수신하기 위한 DCD 채널 정보를 획득하고, DCD 채널 정보에 기초하여 해당 DCD 채널을 통해 NRT 서비스를 수신할 수 있다.
그리고, 이와 같은 DCD 채널 정보는 상술한 NST에 포함되어 전송될 수 있다. 예를 들어, 수신기는 NST를 수신하고, DCD 부트스트랩(bootstrap)을 수행하여 DCD 채널 정보를 획득할 수 있다.
또한, 상술한 NST는 DCD 채널 정보의 시그널링을 위해 DCD 관리자 채널(Administrative channel)을 통해 수신할 수 있는 DCD 채널 메타데이터를 포함할 수 있다. 따라서, 수신기는 NST를 통해 NRT 서비스를 수신할 수 있는 채널에 대한 정보와 메타데이터를 획득할 수 있다.
따라서, NST에 DCD 채널 정보를 포함하여 전송하는 경우, 상술한 NRT 서비스 시그널링 데이터의 전송 과정 없이 NST를 통하여 DCD 채널에 접속하고, NRT 서비스를 수신할 수 있다.
이와 같이, 본 발명의 일 실시예에 따라 NST에 NRT 서비스를 수신할 수 있는 채널의 메타데이터가 포함되는 경우에는 몇 가지 장점이 있다.
먼저, 상술한 가상 채널의 서비스 타입에 기초하여 NRT 서비스 시그널링 데이터를 수신하는 과정 없이, NST에서 바로 NRT 서비스를 수신할 수 있는 채널 메타데이터를 수신함으로써 서비스 접근 속도를 높일 수 있다.
또한, 브로드캐스트(broadcast)환경에서 채널 변경 사항에 대한 업데이트 시그널링을 실시간으로 수행할 수 있다.
그리고, OMA BCAST SG에 포함되는 접속 정보를 NST를 참조함으로써 획득할 수 있게 된다. 예를 들어, 수신기는 NST에 포함된 DCD 채널 정보에 기초하여 DCD 채널 메타데이터를 수신하고, NST에서 획득한 NRT 서비스 시그널링 데이터와 DCD 채널 메타데이터에 기초하여 NRT 서비스를 수신하기 위한 접속 정보를 획득할 수 있다.
마지막으로, NST에 다른 가상 채널에 연계된 NRT 서비스의 목록을 포함하여 전송할 수 있다. 따라서, 이 경우 NRT 서비스의 목록 정보는 PSI또는 PSIP 계층이 아닌 IP계층을 통해 특정 NRT 서비스 시그널링 채널을 통해 전송될 수 있다. 따라서, 이 경우에는 PSI 또는 PSIP과의 하위 호환성이 보존될 수 있다.
한편, 상술한 바와 같이 DCD 채널 메타데이터를 포함하는 DCD 채널 정보는 OMA BCAST의 SG의 접속 정보에 포함될 수 있으며, 상기 접속 정보는 NST에 포함된 NRT 서비스 정보에 대응될 수 있다. 좀 더 구체적으로, 수신기는 OMA BCAST SG의 접속 정보(Access fragment)로부터 NST에 포함된 NRT 서비스 정보를 획득할 수 있다. 따라서, 수신기는 획득한 NRT 서비스 정보에 대응하는 NST를 수신하여 NRT 서비스를 수신하기 위한 정보를 획득할 수 있다.
한편, 이와 같은 DCD 채널을 통해 전송되는 NRT 서비스는 서비스 카테고리를 별도 할당하여 구분할 수 있다. 예를 들어, DCD 채널을 통해 전송되는 NRT 서비스의 서비스 카테고리는 0X0F로 식별될 수 있다.
도 12 및 도 13은 본 발명의 일 실시 예에 따라 구성한 NST의 비트스트림 신택스를 도시한 것이다.
여기서, 해당 신택스는 이해를 돕기 위하여 MPEG-2 프라이빗 섹션(Private section) 형태로 작성되었으나, 해당 데이터의 포맷은 어떠한 형태가 되어도 무방하다. 예를 들어, SDP(Session Description Protocol)의 형태로 표현하여 SAP(Session Announcement Protocol)을 통하여 시그널링하는 등의 다른 방법도 사용할 수 있다.
NST는 NST가 전송되는 가상 채널(virtual channel) 내의 서비스 정보 및 IP 접속 정보를 기술하며, 각 서비스가 속하는 NRT 브로드캐스트 스트림(Broadcast stream)의 인식자인 NRT_service_id를 이용, 해당 서비스의 NRT 브로드캐스트 스트림 정보 또한 제공한다. 그리고 본 실시 예에 따른 NST는 하나의 가상 채널 내의 각 고정 NRT 서비스의 서술(Description) 정보를 포함하며, 서술자(Descriptor) 영역에 기타 부가 정보들이 포함될 수 있다.
table_id 필드(8비트)는 해당 테이블 섹션의 타입 식별을 위한 필드로서, 본 필드를 통해 해당 테이블 섹션이 NST를 구성하는 테이블 섹션임을 알 수 있다.
section_syntax_indicator 필드(1비트)는 NST의 섹션 형식을 정의하는 지시자로서, 섹션 형식은 예를 들어, MPEG의 short-form 신택스(0) 등이 될 수 있다.
private_indicator 필드(1비트)는 해당 섹션의 형태가 프라이빗 섹션 형태를 따르는지 여부를 나타내며 '1'로 설정되어 있다.
section_length 필드(12비트)는 해당 필드 이후의 나머지 테이블 섹션 길이를 나타낸다. 또한 이 필드의 값은 '0xFFD'를 넘지 않는다.
table_id_extension 필드(16비트)는 테이블에 종속적이고, 남은 필드들의 범위를 제공하는 table_id 필드의 논리적인 부분이 된다. 여기서, table_id_extension 필드는 NST_protocol_version 필드를 포함한다.
NST_protocol_version 필드(8비트)는 현재 프로토콜 내에서 정의된 것들과 다른 구조를 가지는 파라미터들이 전송되는 NST를 알려주기 위한 프로토콜 버전을 알려준다. 현재, 이 필드 값은 0이다. 나중에 0이 아닌 값으로 필드값이 지정되면 다른 구조를 갖는 테이블을 위해서다.
version_number 필드(5비트)는 NST의 버전 넘버를 나타낸다.
current_next_indicator 필드(1비트)는 전송된 NST 테이블 섹션이 현재 적용 가능한지 여부를 지시한다. 이 필드 값이 0이면, 아직 테이블이 존재 하지 않고 다음 테이블에 유효함을 의미한다.
section_number 필드(8비트)는 해당 테이블 섹션이 NST 테이블을 구성하는 섹션들 내 섹션 넘버를 나타낸다.
NRT Service Table (NST)의 첫 섹션의 section_number는 '0x00'으로 설정된다. section_number는 NRT 서비스 테이블(Service Table)의 섹션이 늘어갈때마다 하나씩 증가한다.
last_section_number 필드(8비트)는 NST 테이블을 구성하는 마지막 섹션 번호를 나타낸다. (가장 높은 section_number)
carrier_frequency 필드(32비트)는, 채널에 대응하는 전송 주파수를 알려준다.
channel_TSID 필드(16비트)는 해당 NST 섹션이 전송되고 있는 방송 스트림의 고유한 채널 식별자(Identifier)를 의미한다.
program_number 필드(16비트)는, 가상 채널과 연관된 프로램의 번호를 나타낸다.
source_id 필드(16비트)는, 가상 채널과 연관된 프로그램의 소스를 나타낸다.
num_NRT_services 필드(8비트)는 NST 섹션 내의 NRT 서비스의 수를 나타낸다.
한편, 본 실시 예에 따른 NST는, for loop를 사용하여 복수의 고정 NRT 서비스에 대한 정보를 제공한다. 이하 각 고정 NRT 서비스에 대해 다음과 동일한 필드 정보를 제공할 수 있다.
NRT_service_status 필드(2비트)는 해당 모바일 서비스의 상태를 식별한다. 여기서, MSB는 해당 모바일 서비스가 액티브(1)인지 아니면 인액티브(0)인지 지시하고, LSB는 해당 모바일 서비스가 히든(1)인지 아닌지(0)를 지시한다. 여기서, 상기 모바일 서비스가 NRT 서비스라면, 해당 NRT 서비스의 상태를 식별할 것이다. 히든 서비스는 주로 독점 어플리케이션을 위해 사용되고, 일반 수신기는 이를 무시한다.
SP_indicator 필드(1비트)는, 해당 모바일 서비스의 의미 있는 프리젠테이션을 제공하기 위해 필요한 컴포넌트들 중 적어도 하나에 적용되는 서비스 프로텍션이 설정되었으면 이를 나타내기 위한 필드이다.
CP_indicator 필드(1비트)는 해당 NRT 서비스의 컨텐트 보호(content protection) 여부를 나타낸다. 만일 CP_indicator 필드 값이 1이면, 컨텐트 보호가 해당 NRT 서비스의 의미 있는 프리젠테이션을 제공하기 위해 요구되는 콤포넌트들 중 적어도 하나에 적용됨을 의미할 수 있다.
NRT_service_id 필드(16비트)는, 해당 NRT 브로드캐스트의 범위 내의 해당 NRT 서비스를 유일하게 식별하는 지시자이다. 상기 NRT_service_id는 해당 서비스를 통틀어 변하지 않는다. 여기서, 혼동을 피하기 위해 서비스가 종료되면, 상기 서비스를 위한 NRT_service_id는 적절한 시간이 경과한 후까지 다른 서비스를 위하여 사용되지 않을 수 있다.
Short_NRT_service_name 필드(8*8비트)는 상기 NRT 서비스의 숏 네임(short name) 을 표시한다. 상기 NRT 서비스의 short name이 없으면, 상기 필드는 널 값(예, 0x00)으로 채워질 수 있다.
NRT_service_category 필드(6비트)는, 해당 NRT 서비스 내에 전송되는 서비스의 타입을 식별한다.
num_components 필드(5비트)는 상기 NRT서비스에 포함되는 IP 스트림 콤포넌트들의 개수를 표시한다.
IP_version_flag 필드(1비트)는 '0'로 설정된 경우에는 source_IP_address 필드, NRT_service_destination_IP_address 필드 및 component_destination_IP_address 필드가 IPv4 어드레스임을 지시하고, '1'으로 설정된 경우에는 source_IP_address 필드, NRT_service_destination_IP_address 필드, component_destination_IP_address 필드가 IPv6 어드레스임을 지시한다.
source_IP_address_flag 필드(1비트)는 플래그가 설정되면, 해당 NRT 서비스를 위한 소스 IP 어드레스 값이 소스 특정 멀티캐스트를 지시하기 위해 존재함을 지시한다.
NRT_service_destination_IP_address_flag 필드(1비트)는 플래그가 '1' 설정되면, 해당 NRT 서비스의 콤포넌트들을 위한 디폴트 IP 어드레스를 제공하기 위한 NRT_service_destination_IP_address 필드가 존재함을 지시한다.
source_IP_address 필드(128비트)는 source_IP_address_flag가 1로 설정되면 해당 필드는 존재하지만, source_IP_address_flag가 0으로 설정되면 해당 필드는 존재하지 않을 것이다. 만약 해당 필드가 존재한다면, 해당 필드는 해당 NRT 서비스의 컴포넌트들을 전송하는 모든 IP 데이터그램들의 소스 IP 어드레스를 포함할 것이다. 해당 필드의 128 비트의 롱 어드레스의 제한적인 사용은 비록 현재 IPv6의 사용이 정의되지 않았지만 향후 IPv6의 사용을 가능하도록 하기 위함이다. Source_IP_address는 FLUTE 세션의 모든 채널을 전송하는 동일한 서버의 소스 IP 어드레스(source IP address)가 된다.
NRT_service_destination_IP_address 필드(128비트)는 source_IP_address_flag가 1로 설정되면 해당 source_IP_address 필드는 존재하지만, source_IP_address_flag가 0으로 설정되면 해당 source_IP_address 필드는 존재하지 않을 것이다. 만약 해당 source_IP_address 필드가 존재하지 않는다면, component_destination_IP_address 필드는 num_components 루프 내에 각 컴포넌트를 위해 존재할 것이다. 해당 source_IP_address 필드의 128 비트의 롱 어드레스의 제한적인 사용은 비록 현재 IPv6의 사용이 정의되지 않았지만 향후 IPv6의 사용을 가능하도록 하기 위함이다. NRT_service_destination_IP_Address는 이 FLUTE 세션의 세션 레벨의 목적 IP 어드레스(destination IP address)가 있으면 시그널링 된다.
한편, 본 실시 예에 따른 NST는, for loop를 사용하여 복수의 컴포넌트에 대한 정보를 제공한다. essential_component_indicator 필드(1비트)는, 해당 필드의 값이 1로 설정되어 있으면 해당 컴포넌트는 NRT서비스를 위한 필수 컴포넌트 임을 지시한다. 그렇지 않으면, 해당 컴포넌트는 선택적인 컴포넌트임을 나타낸다.
port_num_count 필드(6비트)는 해당 UDP/IP 스트림 컴포넌트와 관련된 UDP 포트들의 넘버를 지시한다. 목적 UDP포트 넘버들의 값은 component_destination_UDP_port_num 필드 값으로부터 시작해서 하나씩 증가한다.
component_destination_IP_address_flag 필드(1비트)는 1로 설정되어 있으면 해당 컴포넌트를 위해 component_destination_IP_address 필드가 존재함을 나타내는 플래그이다.
component_destination_IP_address 필드(128비트)는 component_destination_IP_address_flag가 1로 설정되면 해당 필드는 존재하지만, component_destination_IP_address_flag가 0으로 설정되면 해당 필드는 존재하지 않을 것이다. 만약 해당 필드가 존재한다면, 해당 필드는 해당 NRT 서비스의 컴포넌트들을 전송하는 모든 IP 데이터그램들의 소스 IP 어드레스를 포함할 것이다. 해당 필드의 128 비트의 롱 어드레스의 제한적인 사용은 비록 현재 IPv6의 사용이 정의되지 않았지만 향후 IPv6의 사용을 가능하도록 하기 위함이다.
component_destination_UDP_port_num 필드(16비트)는 해당 UDP/IP 스트림 컴포넌트를 위한 목적 UDP 포트 넘버를 나타낸다.
num_component_level_descriptors 필드(4비트)는, 해당 IP 스트림 컴포넌트를 위한 추가 정보를 제공하는 서술자들의 수를 제공한다.
component_level_descriptors 필드는, 해당 IP 스트림 컴포넌트를 위한 추가 정보를 제공하는 하나 또는 그 이상의 디스크립터들을 식별한다.
num_NRT_service_level_descriptors 필드(4비트)는 해당 서비스를 위한 NRT 서비스 레벨 디스크립터들의 수를 나타낸다.
NRT_service_level_descriptor()은 해당 NRT 서비스를 위한 추가적인 정보를 제공하는 없거나 하나 이상의 서술자들을 식별한다. 여기에서, NRT 서비스에 대한 구체적인 서비스 타입을 알려줄 수 있다. 상기 구체적인 서비스 타입에는 예를 들어, 웹 컨텐츠를 제공하는 포털 서비스, 푸쉬 VOD, A/V 다운로드 등이 있을 수 있다.
num_virtual_channel_level_descriptors 필드(4비트)는 해당 가상 채널을 위한 가상 채널 레벨 서술자들의 수를 설명한다.
virtual_channel_level_descriptor()은 해당 NST가 서술하는 가상 채널에 대한 추가 정보를 제공하는 서술자를 나타낸다.
한편, NRT 서비스는 FLUTE를 통해 전송되며 NST 테이블 상의 접속 정보는 다음과 같이 FLUTE 세션 정보와 연결된다.
Source_IP_address는 FLUTE 세션(session)의 모든 채널을 전송하는 동일한 서버의 source IP 주소가 된다.
NRT_service_destination_IP_Address는 이 FLUTE 세션의 세션 레벨의 destination IP address가 있을 경우 시그널링된다.
Component는 FLUTE 세션 내의 채널에 매핑될 수 있으며 각 채널별로(세션 단위로 시그널링된 IP address와 다른) 별도의 destination IP address를 component_destination_IP_address를 통해 시그널링 할 수 있다.
또한, component_destination_UDP_port_num를 통해 destination port number를 시그널링하고 port_num_count를 통해 component_destination_UDP_port_num로부터 시작하는 목적 포트의 개수를 추가로 지정할 수 있다.
포트를 복수 개로 지정함으로써 하나의 목적 IP 어드레스에 대해 복수 개의 채널을 구성할 수도 있다. 여기서 하나의 컴포넌트는 복수 개의 채널을 지정할 수 있다. 그러나 일반적으로 목적 IP 어드레스를 통해 채널을 구별하는 것이 바람직하다. 여기서, 하나의 채널은 하나의 컴포넌트로 매핑된다고 볼 수 있다.
NRT 서비스를 위한 컨텐트 아이템들/파일들은 FLUTE를 통해 전송되며, NST 테이블 상의 접속 정보를 이용하여 해당 FLUTE 세션 정보를 시그널링한다.
도 14는 본 발명의 일 실시 예에 따라 구성한 NRT_component_descriptor(MH_component_descriptor)의 비트 스트림 신택스를 도시한 것이다.
NRT_component_descriptor()는 NST 내 각 NRT 서비스의 각 컴포넌트의 컴포넌트 디스크립터 루프 내에 나타날 것이다. 그리고 해당 디스크립터 내 모든 파라미터들은 NRT 서비스의 컴포넌트들을 위해 사용되는 파라미터들에 상응한다.
이하 도 14의 NRT_component_descriptor를 통해 전송되는 각 필드 정보에 대해 기술하면 다음과 같다.
component_type 필드(7비트)는 컴포넌트의 인코딩 포맷을 식별한다. 상기 식별 값은 RTP/AVP 스트림의 payload_type을 위해 할당된 값들 중의 하나일 수 있다. 또한, 식별 값은 96에서 127까지의 범위 내 다이내믹 밸류(dynamic value)일 수 있다. RTP를 거쳐 전송되는 미디어를 구성하는 컴포넌트들을 위해 본 필드의 값들은 해당 컴포넌트를 전송하는 IP 스트림의 RTP 헤더 내 payload_type 내 값들과 일치한다.
43에서 71까지의 범위 내 component_type 필드의 추가 값은 표준의 미래 버전에서 정의된다. NRT 서비스 스트림을 FLUTE 기반으로 전송할 경우에 FLUTE 세션에 대해 필요한 아래에 기술할 파라미터들을 추가로 시그널링하기 위하여 ATSC에서 FLUTE 컴포넌트를 위해 정의한 component_type인 38을 사용할 수도 있고, 아직 할당되지 않은 값인 43을 새로이 NRT 전송을 위한 component_type으로 정의하 여 쓸 수도 있다.
num_STKM_streams 필드(8비트)는, 해당 컴포넌트와 관련된 STKM 스트림들의 넘버를 식별한다.
STKM_stream_id 필드(8비트)는, 얻어진 해당 보호된 컴포넌트를 디크립트하기 위해 키들을 있는 STKM 스트림을 식별한다. 여기서, 상기 STKM 스트림을 위한 상기 컴포넌트 디스크립터 내에 STKM_stream_id 필드를 참조한다.
NRT_component_data(component_type) 필드는, 해당 컴포넌트를 표현하기 위해 필요한 인코딩 파라미터들 및 다른 파라미터들 중 적어도 하나를 제공한다. 여기서, NRT_component_data 엘리먼트의 구조는 component_type 필드의 값에 의해 결정된다.
FLUTE 세션들의 FDT(File Delivery Table)는 모든 컨텐트 아이템들의 아이템 리스트들을 전달하는데 사용되고, 상기 아이템들을 획득하는데 관련된 아이템들의 사이즈, 데이터 타입과 다른 정보들을 제공한다.
따라서, 본 발명은 NRT-IT를 사용해 구성된 SG로부터 선택된 컨텐트를 수신하기 위해 NST를 사용하여 해당 컨텐트를 전송하는 FLUTE 세션에 접속하기 위한 정보를 획득한다. 그리고, 본 발명은 해당 FLUTE 세션을 통해 전송되는 파일에 대한 정보를 NRT-IT의 컨텐트 아이템의 정보와 함께 맵핑한다. 이 경우에는, 선택된 컨텐트 아이템을 포함한 서비스의 식별은 상기 NST의 NRT_service_id를 통해 해결된다.
NRT 서비스는 FLUTE를 통해 전송되며 NST 테이블 상의 접속 정보는 다음과 같이 FLUTE 세션 정보와 연결된다.
Source_IP_address는 FLUTE 세션의 모든 채널을 전송하는 동일한 서버의 source IP 주소가 된다.
NRT_service_destination_IP_Address는 이 FLUTE 세션의 세션 레벨의 destination IP address가 있을 경우 시그널링된다.
Component는 FLUTE 세션 내의 채널에 매핑될 수 있으며 각 채널별로 (세션 단위로 시그널링된 IP 어드레스와 다른) 별도의 destination IP address를 component_destination_IP_address를 통해 시그널링 할 수 있다. 또한, component_destination_UDP_port_num을 통해 destination port number를 시그널링하고 port_num_count를 통해 component_destination_UDP_port_num로 부터 시작하는 목적 포트의 개수를 추가로 지정할 수 있다.
포트를 복수 개로 지정함으로써 하나의 destination IP address에 대하여 복수 개의 채널을 구성할 수도 있으며 이와 동일한 경우 하나의 Component가 복수 개의 채널을 지정하게 된다. 그러나 일반적으로 Destination IP address를 통해 채널을 구별하는 것을 권장하며 이 경우 하나의 채널은 하나의 component로 매핑된다고 볼 수 있다.
세션을 구성하는 컴포넌트의 추가적인 속성(attribute)을 시그널링하기 위하여 component_attribute_byte를 사용할 수 있다. FLUTE 세션을 시그널링하기 위하여 필요한 추가적인 파라미터들을 이를 통해 시그널링할 수 있다.
이와 관련하여, FLUTE 세션을 시그널링하기 위해서는 파라미터들이 필요하고, 이러한 파라미터들에는 반드시 필요한 필수 파라미터들과 해당 FLUTE 세션과 관련되어 선택적으로 필요한 파라미터들이 있다. 우선, 필수 파라미터들에는 소스 IP 어드레스(source IP address), 세션 내 채널의 수(The number of channels in the session), 세션 내 각 채널을 위한 목적 IP 어드레스와 포트 넘버(The destination IP address and port number for each channel in the session), 세션의 TSI(The Transport Session Identifier (TSI) of the session) 및 세션의 시작 시간과 종료 시간(The start time and end time of the session) 파라미터가 포함되고, 해당 세션과 관련하여 선택적으로 필요한 파라미터에는, FEC 오브젝트 트랜스미션 정보(FEC Object Transmission Information), 관심 있는 파일들을 포함한 세션의 첫번째 수신 정보(Some information that tells receiver in the firstplace, that the session contains files that are of interest) 및 대역폭 상세(Bandwidth specification) 파라미터가 포함된다.
이 중 세션의 채널의 개수는 명시적으로 제공될 수도 있고, 세션을 구성하는 스트림의 개수를 합산하여 구할 수도 있다. 상기 파라미터들 중에서 NST 및 component_descriptor를 통해 세션의 시작 시간 및 종료 시간(start time and end time of the session), 소스 IP 어드레스(source IP address), 세션 내 각 체널의 목적 IP 어드레스 및 포트 넘버(destination IP address and port number for each channel in the session), 세션의 TSI(Transport Session Identifier(TSI) of the session) 및 세션 내 채널의 개수(number of channels in the session) 파라미터들이 시그널링될 수 있다.
도 15는 본 발명의 일 실시 예에 따라 구성한 NRT_component_data가 속한 NRT 컴포넌트 디스크립터의 비트 스트림 신택스를 도시한 것이다.
하나의 NRT 서비스는 멀티플 FLUTE 세션들에 포함될 수 있다. 각 세션은 세션을 위해 사용되는 IP 어드레스들과 포트들에 의존하는 하나 또는 그 이상의 NRT 컴포넌트 디스크립터들을 이용하여 시그널링 될 수 있다.
이하 NRT_component_data의 각 필드에 대해 상세하게 설명하면, 다음과 같다.
TSI 필드(16비트)는 FLUTE 세션의 TSI를 나타낸다.
session_start_time 필드는 FLUTE 세션이 시작하는 시각을 지시한다. 만약 해당 필드의 값이 모두 0이면, 세션은 이미 시작된 것으로 해석될 수 있다.
session_end_time 필드는 FLUTE 세션이 종료되는 시각을 지시한다. 만약 해당 필드의 값이 모두 0이면, 세션은 무한정 계속되는 것으로 해석될 수 있다.
tias_bandwidth_indicator 필드(1비트)는 TIAS(Transport Independent Application Specific) 대역폭 정보를 포함하는 플래그들을 지시한다. 만약 TIAS 대역폭 필드가 존재하는 것으로 지시하려면 해당 비트는 1로 설정되고, TIAS 대역폭 필드가 존재하지 않는 것으로 지시하려면 해당 비트는 0으로 설정되어야 한다.
as_bandwidth_indicator 필드(1비트)는 AS(Application Specific) 대역폭 정보를 포함하는 플래그들이다. 만약 AS 대역폭 필드가 존재하는 것으로 지시하려면 해당 비트는 1로 설정되어야 하고, AS 대역폭 필드가 존재하지 않는 것으로 지시하려면 해당 비트는 0으로 설정되어야 한다.
FEC_OTI_indicator 필드(1비트)는 FEC 오브젝트 트랜스미션 정보(OTI) 정보가 제공되는지 여부를 나타낸다.
tias_bandwidth 필드는 TIAS 최대 대역폭을 나타낸다.
as_bandwidth 필드는 AS 최대 대역폭의 값을 갖는다.
FEC_encoding_id 필드는 해당 FLUTE 세션 내에서 사용된 FEC 인코딩 ID를 나타낸다.
FEC_instance_id 필드는 해당 FLUTE 세션 내에서 사용된 FEC 인스턴스 ID를 나타낸다.
상기와 동일한 파라미터들을 FLUTE 컴포넌트 데이터 바이트들(FLUTE component data bytes)을 통해 시그널링함으로써 FULTE 세션을 수신하기 위해 꼭 필요한 정보들은 모두 제공할 수 있으며, 이 세션을 통해 FDT를 수신하여 이를 통해 FLUTE 세션을 통해 전달되는 모든 파일들에 대한 정보를 획득하여 이 파일들을 수신하는 방법이 사용될 수 있다.
이 FLUTE 컴포넌트 디스크립터(FLUTE component descriptor)는 NST의 Component_level_descriptor 루프를 통해 전달될 수 있다. FLUTE 채널이 복수 개일 경우에는 세션 레벨의 파라미터들인 TSI, session_start_time, session_end_Time 등은 한 번만 시그널링 되어야 하므로 여러 개의 채널의 컴포넌트 중에서 하나의 컴포넌트에서만 FLUTE 컴포넌트 디스크립터를 Component_level_descriptor 루프를 통해 전송할 수도 있다.
도 16은 본 발명의 일 실시 예에 따라 구성한 NRT 어플리케이션을 시그널링 하기 위한 NRT-IT 섹션의 비트스트림 신택스를 도시한 것이다.
NRT-IT에서 제공되는 정보는 컨텐트의 제목(예를 들어, 다운로드 가능한 프로그램의 이름), 다운로드 가능한 시간 및 정보 예컨대, 컨텐트 권고(content advisories), 캡션 서비스의 가용성(availability), 컨텐트 식별 및 다른 메타데이터를 포함한다. 컨텐트의 하나의 아이템은 하나 이상의 파일로 구성될 수도 있다. 예를 들어, 오디오/비디오 클립은 화면 디스플레이하는 데 사용할 수 있는 JPEG 축소 이미지(thumbnail image)로 재생할 수 있다.
NRT-IT의 인스턴스(instance)는 임의로 정의된 기간에 해당하는 데이타를 포함할수 있고 또는 지정된 시간에서 시작되고 무기한 미래에 끝나는 NRT 컨텐트를 서술할 수도 있다. 각 NRT-IT는 시작시간 및 무기한일 수 있는 지속기간을 나타낸다. 각 NRT-IT 인스턴스는 무려 256 섹션들로 분할될 수 있다. 각 섹션은 다수의 컨텐트 아이템의 정보를 포함하지만 특정 컨텐트 아이템의 정보는 분할될 수 없고 두 개 이상의 섹션들 안에 저장될 수 없다.
하나 이상의 NRT-IT 인스턴스가 걸리는 기간에 비해 연장된 다운로드 가능한 컨텐트 아이템은 이 NRT-IT 중에 첫 번째만 서술된다. 컨텐트 아이템 서술은 가용성 순서로 NRT_information_table_section()에 저장된다. 따라서, last_section_number의 값이 0보다 클 경우에(NRT-IT가 다수의 섹션에 전송됐음을 의미함), 첫 번째 섹션이 아닌 특정한 섹션의 모든 컨텐트 아이템 서술은 다음 섹션의 컨텐트 아이템 서술의 첫 가용성과 같거나 높은 첫 가용성을 지닐 것이다.
각 NRT-IT는 상기 기간 동안 특정 가상 채널에서 유효한 service_id의 특정 값과 관련된 NRT 서비스를식별한다.
table_id 필드(8비트)는 해당 테이블 섹션이 NRT-IT을 구성하는 테이블 섹션임을 식별하기 위해 0xTBD로 설정된다.
service_id 필드(16비트)는, 상기 섹션에서 기술하는 컨텐트 아이템을 보여주는 NRT 서비스와 관련된service_id 필드를 설명한다.
NRT_IT_version_number 필드(5비트)는 service_id, current_next_indicator, protocol_version 및time_span_start 필드에 대한 공통적인 값을 가진 하나 이상의 NRT_content_table_section()에 세트로 정의된다. NRT-IT 인스턴스의 버전 넘버를 식별한다. 버전 넘버는 NRT-IT 인스턴스의 필드가 변화할 경우에 1 modulo 32만큼 증가한다.
current_next_indicator 필드(1비트)는 1로 설정되어 있으면 해당 테이블 섹션은 현재 적용 가능함을 나타낸다.
protocol_version 필드(8비트)는 0으로 설정된다. protocol_version의 기능은 미래에 현재 프로토콜에 정의된 것보다 구조적으로 다를 수 있는 파라미터를 가진 테이블 유형을 허용한다. 현재는 protocol_version의 유일한 유효값은 0이다. protocol_version에서 0이 아닌 값은 구조적으로 다른 테이블을 인식하는 표준의 미래 버전으로 사용된다.
time_span_start 필드(32비트)는 00:00:00 UTC, January 6, 1980부터 GPS 초의 수로 표현된 NRT-IT의 인스턴스 기간의 시작을 보여준다. time_span_start의 하루 중 시간은 시간의 분 00에 맞춰야 한다. time_span_start의 값 0은 부정과거에서 시작된 NRT-IT 인스턴스의 기간을 보여준다. time_span의 값은 복수섹션된 NRT-IT 인스턴스의 각 섹션마다 같다. time_span_start 및 time_span_length의 값은 지정된 기간에서 IP 서브넷의 다른 NRT-IT 인스턴스와 중복되지 않게 설정된다.
time_span_length 필드(11비트)는 NRT-IT의 상기 인스턴스가 커버한 time_span_start에서 인식된 시간에 시작된 분의 수를 식별한다. 한번 설정된 경우에, 부여된 time_span_start의 값에서 time_span_length의 값은 변경되지 않는다. time_span_length의 값이 0일 경우에 NRT-IT 인스턴스가 무기한 미래에서 time_span_start에서 시작된 모든 시간을 커버한다. time_span_start의 값이 0일 경우에, time_span_length는 의미가 없다.
time_span_start의 값은 복수섹션된 NRT-IT 인스턴스의 각 섹션마다 같다. time_span_start 및 time_span_length의 값은 지정된 기간에서 IP 서브넷의 다른 NRT-IT 인스턴스와 중복되지 않게 설정된다.
num_items_in_section 필드(8비트)는 NRT-IT 섹션에서 서술된 컨텐트 아이템의 수를 나타낸다.
content_linkage 필드(16비트)는 0x0001에서 0xFFFF까지의 범위 내 컨텐트의 식별번호를 나타낸다. 값 0x0000은 사용되지 않는다. content_linkage는 두개의 결합(linkage) 기능: NRT 서비스와 관련된 FLUTE FDT의 하나 이상의 파일을 NRT-IT의 메타데이터를 결합 및 TF_id (identifier for Text Fragement in Text FragmentTable)도 형성한다. content_linkage 필드의 값은 컨텐트 아이템과 관련된 각 파일의 FLUTE FDT에서 FDTCotent-Linkage 엘리먼트의 값 또는 File-Content-Linkage 엘리먼트의 값에 해당한다. 우선순위 규칙은 FLUTE FDT 내 해당 컨텐트 결합 엘리먼트(content linkage element)를 포함한 각 content_linkage 값을 매칭할 경우에 적용된다.
TF_availiable 플래그(boolean flag)는 Text Fragment가 서비스 시그널링 채널의 Text Frangment Table에서 존재하면 '1'로 설정된다. 만일 Text Fragment가 상기 컨텐트 아이템를 위한 서비스 시그널링 채널에 포함되지 않으면, 상기 TF_availiable 필드의 값은 '0'으로 설정된다.
low_lantency 플래그(boolean flag)는 '1'로 설정될 경우에 사용자가 기다릴때 회수가 시도해야하는 충분히 낮은 지연시간의 현재 디지털 전송에서 컨텐트가 유효한다. 만일, '0'으로 설정될 경우에는 회수 지연시간이 더 길고 사용자 인터페이스는 사용자에게 나중에 보기를 제안한다.
playback_length_in_seconds (20비트)는 컨텐트의 재생시간을 초로 나타내는 정수이다. 텍스트 및/또는 정지영상을 포함하는 컨텐트는 값 '0'으로 나타난다. 오디오 또는 오디오/비디오 컨텐트를 포함하는 컨텐트는 playback_length_in_seconds는 오디오 또는 오디오/비디오 컨텐트의 재생시간을 나타낸다.
content_length_included 플래그(boolean flag)는 '1'로 설정될 경우에 content_length 필드는 'for' 루프의 반복에서 존재하는 것을 나타낸다. 만일 '0'으로 설정될 경우에는 content_length 필드는 'for' 루프의 반복에서 존재하지 않는 것을 나타낸다.
playback_delay_included 플래그(boolean flag)는 '1'로 설정될 경우에 playback_delay 필드는 'for' 루프의 반복에서 존재하는 것을 나타낸다. 만일 '0'으로 설정될 경우에는 playback_delay 필드는 'for' 루프의 반복에서 존재하지 않는 것을 나타낸다.
expiration_included 플래그(boolean flag)는 '1'로 설정될 경우에 expiration 필드는 'for' 루프의 반복에서존재하는 것을 나타낸다. 만일 '0'으로 설정될 경우에는 expiration 필드는 'for' 루프의 반복에서 존재하지 않는 것을 나타낸다.
duration (12비트)필드는 1에서 2880까지의 범위 내 참조된 컨텐트 아이템을 포함하는 카루젤(carousel)의 예정된 사이클 시간을 분으로 나타낸다. 수신기는 참조된 컨텐트를 캡처하는 시간량을 결정하는 기간 한도(duration parameter)를 사용한다.
playback_delay (20비트)는 들어오는 스트림을 버퍼링하는 동안, 관련된 컨텐트에서 재생하기 전에 첫번째 바이트의 수신 다음의 초의 수로 표현된다. 값 0은 재생이 즉시 시작된 것을 나타낸다. playback_delay가 설정되지않을 경우에는 수신기는 완전한 파일 또는 재생하기 전의 파일을 회수한다.
expiration 필드(32 비트)는 00:00:00 UTC, January 6, 1980부터 GPS 초의 수로 표현된 만료 시간 (expirationtime)을 나타낸다. 만료 후에는, 컨텐트는 메모리에서 삭제된다. 만료 시간이 설정되지 않았을 경우에는 수신기는 메모리 리소스를 관리하는 자사 선택 방법을 사용한다.
content_name_length_ 필드(8비트)는 content_name_text의 길이(바이트 단위)를 나타낸다.
content_name_text() 필드는 복수 스트링 구조의 체재에서 컨텐트 아이템 제목을 나타낸다.
content_descriptors_length 필드(12비트)는 켄텐트 레벨에 대한 추가적인 정보를 제공하는 content_descriptor의 전체길이(바이트 단위)를 나타낸다.
content_descriptor는 각 컨텐트 아이템에 별도로 적용되는 디스크립터이다.
descriptor_length (10비트)는 디스크립터의 전체 길이(바이트 단위)를 나타낸다.
descriptor는 현재 NRT-IT 섹션에서 서술된 모든 컨텐트 아이템에 일반적으로 적용되는 디스크립터이다.
도 17은 본 발명에 따른 NCT섹션(NRT_content_table_section)에 대한 비트 스트림 신택스 구조의 일 실시예를 보인 도면이다. 상기 NCT 섹션의 각 필드의 상세한 설명은 다음과 같다.
도 17에서 table_id 필드(8비트)는 테이블의 식별자로서, NCT를 식별하는 식별자가 설정될 수 있다.
section_syntax_indicator 필드(1비트)는 NCT의 섹션 형식을 정의하는 지시자이다.
private_indicator 필드(1비트)는 NCT가 private section을 따르는지 여부를 나타내낸다.
section_length 필드(12비트)는 NST의 섹션 길이를 나타낸다.
NRT_channel_id 필드(16 비트)는 NCT에서 기술하는 컨텐트를 포함하는 NRT 서비스를 유일하게 식별할 수 있는 값을 표시한다.
version_number 필드(5비트)는 NCT의 버전 번호를 나타낸다.
current_next_indicator 필드(1비트)는 해당 NCT 섹션이 포함하는 정보가 현재 적용 가능한 정보인지, 미래 적용 가능한 정보인지를 나타낸다.
section_number 필드(8비트)는 현재 NCT 섹션의 섹션 번호를 나타낸다.
last_section_number 필드(8비트)는 NCT의 마지막 섹션 번호를 나타낸다.
protocol_version 필드(8비트)는 현재 프로토콜 내에서 정의된 것들과 다른 구조를 가지는 파라미터들을 전송하는 NCT를 허용하기 위한 프로토콜 버전을 알려준다(An 8-bit unsigned integer field whose function is toallow, in the future, this NRT Content Table to carry parameters that may be structured differently than those defined in the current protocol. At present, the value for the protocol_version shall be zero. Non-zero values of protocol_version may be used by a future version of this standard to indicate structurally different tables.)
num_contents_in_section 필드(8비트)는 이 NCT에서 기술하는 컨텐트의 개수를 표시한다. 이때 상기 컨텐트의 개수는 source_id로 특정(specify)된 가상 채널을 통해 전송되는 컨텐트(또는 파일)의 개수를 나타낸다.
이후 상기 num_contents_in_section 필드 값에 해당하는 컨텐트 개수만큼 'for' 루프(또는 컨텐트 루프라 함)가 수행되어 각 컨텐트별로 해당 컨텐트의 상세 정보를 제공한다.
content_version 필드(32비트)는 특정 content_id 값을 갖는 content (또는 file)에 대한 version 번호를 표시한다. 즉, 수신기가 이전에 수신하여 저장한 컨텐트의 content_id가 0x0010이라 하고, 동일한 content, 즉 content_id 값이 0x0010인 컨텐트가 전송되었다고 가정하자. 이때 상기 content_version필드 값이 변경되면, 상기 NCT를 통해 새롭게 announce 된 컨텐트를 수신하여 이전에 저장된 컨텐트를 업데이트하거나, 재배치(replace) 하도록 한다. 본 실시 예에서는 상기 content_version 필드 값이 release의 version을 나타내는 일련 번호를 의미하나 실제로 published (released) time을 직접 표현할 수도 있다. 이때, 상기 content_version필드로 publish time이 표현하기 힘들 경우에 published (released) time을 표현할 수 있는 새로운 필드를 사용할 수도 있다.
content_id 필드(16비트)는 상기 컨텐트(또는 파일)를 유일하게 식별할 수 있는 식별자를 표시한다.
content_available_start_time 필드(32비트)와 content_available_end_time 필드(32비트)는 상기 컨텐트를 전송하는 FLUTE 세션의 시작 시간과 종료 시간을 표시한다.
ETM_location 필드(2비트)는, ETM(extended text message)의 존재(existence) 유무와 위치(location)를 설명한다.
content_length_in_seconds 필드(30비트)는 상기 컨텐트(또는 파일)가 A/V 파일인 경우에 해당 컨텐트의 실제 재생 시간을 초 단위로 나타낸다.
content_size필드(48비트)는 상기 컨텐트(또는 파일)의 크기를 바이트 단위로 나타낸다.
content_delivery_bit_rate 필드(32비트)는 상기 컨텐트(또는 파일)을 전송하는 전송 속도(bit rate)를 표시하며, target bit rate를 의미한다. 즉, service provider 또는 방송국이 해당 content를 전송할 때 얼마만큼의 밴드폭(bandwidth)을 할당(allocate)할지를 표시한다. 따라서 수신기에서 content_size 및 content_delivery_bit_rate를 이용하면, 해당 컨텐트(또는 파일)을 수신하는데 소요되는 최소 시간(minimumtime)을 알 수 있다. 즉, 컨텐트를 수신하는데 걸리는 시간을 추정(estimation)하여 사용자에게 해당 정보를 제공할 수 있다. 그리고 최소 수신 소요 시간은 (conent_size * 8) / (content_delivery_bit_rate) 를 계산하여 얻어지며, 단위는 초 (seconds)이다.
content_title_length 필드(8비트)는 content_title_text()의 길이를 바이트 단위로 나타낸다. 이 필드를 이용하면, 수신기는 정확하게 content_title_text () 정보를 획득하기 위해 몇 바이트의 데이터를 읽어야 할 지를 알 수 있다.
content_title_text() 필드는 멀티플 스트링 구조 포맷으로 컨텐트 타이틀을 표시한다(content title in the format of a multiple string structure).
즉, 수신기에서는 상기 NCT를 이용하여 NRT 컨텐트/파일의 구성 정보를 획득하고, 획득한 NRT 컨텐트/파일의 구성 정보를 기초로 NRT 컨텐트/파일에 대한 가이드를 제공할 수 있다. 그리고 이 가이드로부터 선택된 컨텐트/파일을 전송하는 FLUTE 세션의 접속 정보를 NST로부터 획득하고, 획득한 FLUTE 세션 접속 정보를 이용하여 상기 선택된 컨텐트를 수신할 수 있다.
한편, 본 발명은 NRT 서비스를 구성하는 컨텐트/파일들의 렌더링(rendering)에 필수적인 컨테이너 정보, 인코딩 정보, 미디어 오브젝트의 디코딩 파라미터를 상기 NCT에 포함하여 전송할 수 있다. 따라서 수신 시스템에서는 각 컨텐트별로 해당 컨텐트의 렌더링(rendering)에 필수적인 컨테이너 정보, 인코딩 정보, 미디어 오브젝트의 디코딩 파라미터를 추출하여 해당 컨텐트의 렌더링에 이용할 수 있게 된다.
도 18은 NRT 서비스 데이터에 대한 시그널링 정보를 제공하는 SMT 섹션의 비트 스트림 신택스 구조에 대한 일 실시예를 보이고 있다.
여기서, 해당 신택스는 이해를 돕기 위하여 MPEG-2 프라이빗 섹션(Private section) 형태로 작성되었으나, 해당 데이터의 포맷은 어떠한 형태가 되어도 무방하다.
상기 SMT는 SMT가 전송되는 앙상블(Ensemble) 내의 모바일 서비스의 시그널링 정보(또는 NRT 서비스의 시그널링정보) 및 IP 접속 정보를 기술한다. 상기 SMT는 또한 각 서비스가 속하는 방송 스트림(Broadcast stream)의 인식자인 Transport_Stream_ID를 이용, 해당 서비스의 방송 스트림 정보를 제공한다. 그리고 본 발명의 실시예에따른 SMT는 하나의 앙상블 내의 각 모바일 서비스(또는 NRT 서비스)의 서술(Description) 정보를 포함하며, 디스크립터(Descriptor) 영역에 기타 부가 정보들이 포함될 수 있다.
상술한 바와 같이, SMT 섹션은 RS 프레임 내의 IP 스트림 형태로 포함되어 전송될 수 있다. 이 경우, 후술할 수신기의 RS 프레임 디코더들은 입력된 RS 프레임을 디코딩하고, 디코딩된 RS 프레임은 해당 RS 프레임 핸들러로 출력한다. 그리고 각 RS 프레임 핸들러는 입력된 RS 프레임을 로우(row) 단위로 구분하여 M/H TP를 구성하여 M/H TP 핸들러로 출력한다.
한편, SMT를 통해 전송될 수 있는 필드들의 예를 들면 다음과 같다.
table_id 필드(8비트)는 테이블의 타입을 구분시키기 위한 필드로서, 이를 통해 본 테이블 섹션이 SMT 내 테이블 섹션임을 알 수 있다(table_id: An 8-bit unsigned integer number that indicates the type of table section being defined in Service Map Table (SMT)).
section_syntax_indicator 필드(1비트)는 SMT의 섹션 형식을 정의하는 지시자로서, 섹션 형식은 예를 들어, MPEG의 short-form 신택스('0') 등이 될 수 있다(section_syntax_indicator: This 1-bit field shall be setto '0' to always indicate that this table is derived from the "short" form of the MPEG-2 privatesection table).
private_indicator 필드(1비트)는 SMT가 프라이빗 섹션을 따르는지 여부를 나타낸다(private_indicator: This1-bit field shall be set to '1').
section_length 필드(12비트)는 해당 필드 이후의 나머지 SMT의 섹션 길이를 나타낸다(section_length: A 12-bit field. It specifies the number of remaining bytes this table section immediately following this field. The value in this field shall not exceed 4093 (0xFFD)).
table_id_extension 필드(16비트)는 테이블 종속적이고, 남은 필드들의 범위를 제공하는 table_id 필드의 논리적인 부분이 된다(table_id_extension: This is a 16-bit field and is table-dependent. It shall be considered to be logically part of the table_id field providing the scope for the remaining fields).
여기서, table_id_extension 필드는 SMT_protocol_version 필드를 포함한다.
SMT_protocol_version 필드(8비트)는 현재 프로토콜 내에서 정의된 것들과 다른 구조를 가지는 파라미터들이 전송하는 SMT를 허락하기 위한 프로토콜 버전을 알려준다(SMT_protocol_version: An 8-bit unsigned integer field whose function is to allow, in the future, this SMT to carry parameters that may be structured differently than those defined in the current protocol. At present, the value for the SMT_protocol_version shall be zero. Non-zero values of SMT_protocol_version may be used by a future version of this standard to indicate structurally different tables).
ensemble_id 필드(8비트)는 해당 앙상블과 관련된 ID값으로, '0x00'에서 '0x3F'의 값들이 할당될 수 있다. 본 필드의 값은 TPC 데이터의 parade_id로부터 도출되는 것이 바람직하다. 만약 해당 앙상블이 프라이머리 RS 프레임을 통해 전송될 경우에는 가장 상위 비트(MSB)는 '0'으로 설정되며, 나머지 7비트는 해당 퍼레이드의 parade_id의 값으로 이용한다. 한편, 만약 해당 앙상블이 세컨더리 RS 프레임을 통해 전송될 경우에는 가장 상위 비트(MSB)는 '1'로 설정되며, 나머지 7비트는 해당 퍼레이드의 parade_id의 값으로 이용한다(ensemble_id: This 8-bit unsigned integer field in the range 0x00 to 0x3F shall be the Ensemble ID associated with this Ensemble. The value of this field shall be derived from the parade_id carried from the baseband processor of physical layer subsystem, by using the parade_id of the associated Parade for the least significant 7 bits, and using '0' for the most significant bit when the Ensemble is carried over the Primary RS frame, and using '1' for the most significant bit when the Ensemble is carried over the Secondary RS frame.).
version_number 필드(5비트) 는 SMT의 버전 번호를 나타낸다. current_next_indicator 필드(1비트)는 전송된 SMT 테이블 섹션이 현재 적용 가능한지 여부를 지시한다 (current_next_indicator: A one-bit indicator, which when set to '1' shall indicate that the Service Map Table sent is currently applicable. When the bit is set to '0', it shall indicate that the table sent is not yet applicable and will be the next table to become valid. This standard imposes no requirement that "next" tables (those with current_next_indicator set to '0') must be sent. An update to the currently applicable table shall be signaled by incrementing the version_number field).
section_number 필드(8비트)는 현재 SMT 섹션의 번호를 표시한다 (section_number: This 8-bit field shall give the section number of this NRT Service Signaling table section. The section_number of the first section in an NRT Service Signaling table shall be 0x00. The section_number shall be incremented by 1 with each additional section in the NRT Service Signaling table).
last_section_number 필드(8비트)는 SMT 테이블을 구성하는 마지막 섹션 번호를 나타낸다.
(last_section_number: This 8-bit field shall give the number of the last section (i.e., the section with the highest section_number) of the Service Signaling table of which this section is a part).
num_services 필드(8비트)는 SMT 섹션 내의 서비스의 개수를 지시한다. (num_services: This 8 bit field specifies the number of services in this SMT section.). 상기 SMT가 포함되는 앙상블로 적어도 하나의 모바일 서비스만 포함되어 수신될 수도 있고, 적어도 하나의 NRT 서비스만 포함되어 수신될 수도 있으며, 모바일 서비스와 NRT 서비스가 모두 포함되어 수신될 수도 있다. 만일 상기 SMT가 포함되는 앙상블로 NRT 서비스들만 포함되어 전송된다면, 상기 SMT에 포함되는 NRT 서비스의 개수를 지시할 수 있다
이후 상기 num_services필드 값에 해당하는 서비스 개수만큼 'for' 루프(또는 서비스 루프라 함)가 수행되어 복수의 서비스에 대한 시그널링 정보를 제공한다. 즉, 상기 SMT 섹션에 포함되는 서비스별로 해당 서비스의 시그널링 정보를 표시한다. 여기서, 서비스는 모바일 서비스일 수도 있고, NRT 서비스일 수도 있다. 이때 각 서비스에 대해 다음과 같은 필드 정보를 제공할 수 있다.
service_id 필드(16 비트)는 해당 서비스를 유일하게 식별할 수 있는 값을 표시한다(A 16-bit unsigned integer number that shall uniquely identify this service within the scope of this SMT section.). 하나의 서비스의 service_id 필드 값은 그 서비스가 유지되는 동안 변하지 않는다. 이때 혼란을 피하기 위해서, 만일 어떤 서비스가 종료되면 그 서비스의 service_id 필드 값은 일정 시간이 경과할 때까지 사용하지 않을 수 있다(The service_id of a service shall not change throughout the life of the service. To avoid confusion, it is recommended that if a service is terminated, then the service_id for the service should not be used for another service until after a suitable interval of time has elapsed.). 여기서, 상기 서비스가 NRT 서비스라면, 상기 service_id는 상기 NRT 서비스를 식별할 것이다
Multi_ensemble_service 필드(2비트)는 해당 서비스가 하나 이상의 앙상블을 통해 전송되는지 여부를 식별한다.
또한, 해당 필드는 단지 서비스가 해당 앙상블을 통해 전송되는 서비스의 부분으로서 표현되는지 여부를 식별한다. 즉, 상기 서비스가 NRT 서비스라면, 상기 필드는 NRT 서비스가 하나 이상의 앙상블을 통해 전송되는지 여부를 식별한다(multi_ensemble_service: A two-bit enumerated field that shall identify whether the Service is carried across more than one Ensemble. Also, this field shall identify whether or not the Service can be rendered only with the portion of Service carried through this Ensemble.).
service_status 필드(2비트)는 해당 서비스의 상태를 식별한다. 여기서, MSB는 해당 서비스가 액티브('1')인지 아니면 인액티브('0')인지 지시하고, LSB는 해당 서비스가 히든('1')인지 아닌지('0')를 지시한다. 여기서, 상기 서비스가 NRT 서비스라면, 상기 service_status 필드의 MSB는 해당 NRT 서비스가 액티브('1')인지 아니면 인액티브('0')인지 지시하고, LSB는 해당 NRT 서비스가 히든('1')인지 아닌지('0')를 지시한다.
SP_indicator 필드(1비트)는 해당 서비스의 서비스 보호(service protection) 여부를 나타낸다. 만일 SP_indicator 필드 값이 1이면, 서비스 보호가 해당 서비스의 의미 있는 프리젠테이션을 제공하기 위해 요구되는 콤포넌트들 중 적어도 하나에 적용된다(A 1-bit field that indicates, when set to 1, service protection is applied to at least one of the components needed to provide a meaningful presentation of this Service).
short_service_name_length 필드 (3비트)는 short_service_name 필드에 서술되는 숏 서비스 네임의 길이를 바이트 단위로 표시한다.
short_service_name 필드는 해당 서비스의 숏 네임을 나타낸다(short_service_name: The short name of the Service, each character of which shall be encoded per UTF-8 [29]. When there is an odd number of bytes in the short name, the second byte of the last of the byte pair per the pair count indicated by the short_service_name_length field shall contain 0x00). 예를 들어, 서비스가 모바일 서비스이면 모바일 서비스의 숏 네임을, NRT 서비스이면 NRT 서비스의 숏 네임을 표시한다.
service_category 필드(6비트)는, 해당 서비스의 타입 카테고리를 식별한다. 해당 필드의 값이 "informative only" 지시하는 값으로 설정되면, 해당 필드의 값은 상기 서비스의 카테고리에 대한 인포머티브 디스크립션으로 다루어진다. 그리고 수신기는 수신되는 서비스의 실제 카테고리를 식별하기 위해 SMT의 component_level_descriptors() 필드를 검사하는 것이 요구된다. 비디오 및/또는 오디오 콤포넌트를 가진 서비스들을 위해 그것들은 NTP 타임 베이스 콤포넌트를 가진다.
특히, 본 발명과 관련하여, service_category 필드의 값이 예를 들어, '0x0E' 값을 가진 경우에는 해당 서비스는 NRT 서비스임을 지시한다. 이 경우, SMT 섹션에서 현재 서술하는 서비스의 시그널링 정보는 NRT 서비스의 시그널링 정보임을 알 수 있다.
num_components 필드(5비트)는 해당 서비스 내 IP 스트림 콤포넌트의 개수를 표시한다(num_components: This 5-bit field specifies the number of IP stream components in this Service).
IP_version_flag 필드(1비트)는 '1'로 설정된 경우에는 source_IP_address 필드, service_destination_IP_address 필드 및 component_destination_IP_address 필드가 IPv6 어드레스임을 지시하고, '0'으로 설정된 경우에는 source_IP_address 필드, service_destination_IP_address 필드, component_destination_IP_address 필드가 IPv4 어드레스임을 지시한다(IP_version_flag: A 1-bit indicator, which when set to '0' shall indicate that source_IP_address, service_destination_IP_address, and component_destination_IP_address fields are IPv4 addresses. The value of '1' for this field is reserved for possible future indication that source_IP_address, service_destination_IP_address, and component_destination_IP_address fields are for IPv6. Use of IPv6 addressing is not currently defined).
source_IP_address_flag 필드(1비트)가 설정된 경우에는 해당 서비스를 위한 소스 IP 어드레스 값이 소스 특정 멀티캐스트를 지시하기 위해 존재함을 지시하는 플래그이다(source_IP_address_flag: A 1-bit Boolean flag that shall indicate, when set, that a source IP address value for this Service is present to indicate a source specific multicast).
service_destination_IP_address_flag 필드(1비트)가 설정된 경우에는 해당 IP 스트림 콤포넌트가 service_destination_IP_address와는 다른 target IP 어드레스를 갖는 IP 데이터그램을 통해 전송됨을 지시한다. 따라서 본 플래그가 설정된 경우에는 수신 시스템은 해당 IP 스트림 콤포넌트에 접근하기 위해서 component_destination_IP_address을 destination_IP_address로 사용하고, num_channels 루프 내의 service_destination_IP_address 필드를 무시한다(service_destination_IP_address_flag: A 1-bit Boolean flag that indicates, when set to '1', that a service_destination_IP_address value is present, to serve as the default IP address for the components of this Service).
source_IP_address 필드(32 또는 128비트)는 source_IP_address_flag가 '1'로 설정된 경우에는 해석될 필요가 있지만, source_IP_address_flag가 '0'로 설정되지 않은 경우에는 해석될 필요가 없다.
source_IP_address_flag가 '1'로 설정되고 IP_version_flag 필드가 '0'으로 설정된 경우, 본 필드는 해당 가상 채널의 소스를 나타내는 32비트 IPv4 어드레스를 지시한다. 만약 IP_version_flag 필드가 '1'로 설정된 경우에는 본 필드는 해당 가상 채널의 소스를 나타내는 32비트 IPv6 어드레스를 지시한다(source_IP_address: This field shall be present if the source_IP_address_flag is set to '1' and shall not be present if the source_IP_address_flag is set to '0'. If present, this field shall contain the source IP address of all the IP datagrams carrying the components of this Service. The conditional use of the 128 bit-long address version of this field is to facilitate possible use of IPv6 in the future, although use of IPv6 is not currently defined).
만일 상기 서비스가 NRT 서비스이면, 상기 Source_IP_address 필드는 FLUTE 세션의 모든 채널을 전송하는 동일한 서버의 소스 IP 어드레스(source IP address)가 된다.
service_destination_IP_address 필드(32 또는 128비트)는 service_destination_IP_address_flag 가 '1'로 설정된 경우에는 해석될 필요가 있지만, service_destination_IP_address_flag 가 '0'으로 설정된 경우에는 해석될 필요가 없다. service_destination_IP_address_flag 가 '1'로 설정되고, IP_version_flag 필드가 '0'으로 설정된 경우, 본 필드는 해당 가상 채널에 대한 32비트 데스트네이션 IPv4 어드레스를 나타낸다.
service_destination_IP_address_flag 가 '1'로 설정되고, IP_version_flag 필드가 '1'로 설정된 경우, 본 필드는 해당 가상 채널에 대한 64비트 데스트네이션 IPv6 어드레스를 나타낸다. 만약 해당 service_destination_IP_address를 해석할 수 없다면, num_components 루프 내의 component_destination_IP_address 필드가 해석되어야 하고, 수신 시스템은 IP 스트림 콤포넌트에 접근하기 위해서, component_destination_IP_address를사용해야한다(service_destination_IP_address: This field shall be present if the service_destination_IP_address_flag is set to '1' and shall not be present if the service_destination_IP_address_flag is set to '0'. If this service_destination_IP_address is not present, then the component_destination_IP_address field shall be present for each component in the num_components loop. The conditional use of the 128 bit-long address version of this field is to facilitate possible use of IPv6 in the future, although use of IPv6 is not currently defined). 만일 상기 서비 스가 NRT 서비스이면, 상기 service_destination_IP_Address 필드는 이 FLUTE 세션의 세션 레벨의 데스트네이 션 IP 어드레스(destination IP address)가 있으면 시그널링 된다.
한편, 본 실시 예에 따른 SMT는, for loop를 사용하여 복수의 콤포넌트에 대한 정보를 제공한다.
이후 상기 num_components 필드 값에 해당하는 콤포넌트 개수만큼 'for' 루프(또는 콤포넌트 루프라 함)가 수행되어 복수의 콤포넌트에 대한 접속 정보를 제공한다. 즉, 해당 서비스에 포함되는 각 콤포넌트의 접속 정보를 제공한다. 이때 각 콤포넌트에 대해 다음과 같은 필드 정보를 제공할 수 있다. 여기서, 하나의 콤포넌트는 하나 의 FLUTE 세션에 대응되는 것을 일 실시예로 한다.
essential_component_indicator 필드(1비트)는, '1'로 설정되어 있으면 해당 콤포넌트는 모바일 서비스를 위한 필수 콤포넌트 임을 지시한다. 그렇지 않으면, 해당 콤포넌트는 선택적인 콤포넌트임을 지시한다 (essential_component_indicator: A one-bit indicator which, when set to '1' shall indicate that this component is an essential component for the service. Otherwise, this field indicates that this component is an optional component).
component_destination_IP_address_flag 필드(1비트)는 '1'로 설정되어 있으면 해당 콤포넌트를 위해 component_destination_IP_address 필드가 존재함을 지사하는 플래그이다 (component_destination_IP_address_flag: A 1-bit Boolean flag that shall indicate, when set to '1' that the component_destination_IP_address is present for this component).
port_num_count 필드(6비트)는 해당 UDP/IP 스트림 콤포넌트와 관련된 UDP 포트의 넘버를 지시한다. 데스트네이션 UDP 포트 넘버 값은 destination_UDP_port_num 필드 값으로부터 시작해서 1씩 증가한다. RTP 스트림을 위해서는, 데스트네이션 UDP 포트 넘버는 destination_UDP_port_num 필드 값으로부터 시작해서 2씩 증가하며, 이는 RTP 스트림과 관련된 RTCP 스트림을 포함하기 위해서이다(port_num_count: This field shall indicate the number of destination UDP ports associated with this UDP/IP stream component. The values of the destination UDP port numbers shall start from the component_destination_UDP_port_num field and shall be incremented by one, except in the case of RTP streams, when the destination UDP port numbers shall start from the component_estination_UPD_port_num field and shall be incremented by two, to allow for the RTCP streams associated with the RTP streams).
destination_UDP_port_num 필드(16비트)는 해당 IP 스트림 콤포넌트를 위한 데스트네이션 UDP 포트 넘버를 나타낸다. RTP 스트림을 위해서는 destination_UDP_port_num의 값은 짝수이고, 다음 높은 값은 관련된 RTCP 스트림의 데스트네이션 UDP 포트 넘버를 나타낸다(component_destination_UDP_port_num: A 16-bit unsigned integer field, that represents the destination UDP port number for this UDP/IP stream component. For RTP streams, the value of component_estination_UDP_port_num shall be even, and the next higher value shall represent the destination UDP port number of the associated RTCP stream).
component_destination_IP_address 필드(32 또는 128비트)는 IP_version_flag 필드가 '0'으로 설정된 경우에는 본 필드는 해당 IP 스트림 콤포넌트를 위한 32비트 데스트네이션 IPv4 어드레스를 지시한다. 그리고 IP_version_flag 필드가 '1'로 설정된 경우에는 본 필드는 해당 IP 스트림 콤포넌트를 위한 128비트 데스트네이션 IPv6 어드레스를 지시한다(component_destination_IP_address: This field shall be present if the component_destination_IP_address_flag is set to '1' and shall not be present if the component_destination_IP_address_flag is set to '0'. When this field is present, the destination address of the IP datagrams carrying this component of the M/H Service shall match the address in this field. When this field is not present, the destination address of the IP datagrams carrying this component shall match the address in the M/H_service_destination_IP_address field. The conditional use of the 128 bit-long address version of this field is to facilitate possible use of IPv6 in the future, although use of IPv6 is not currently defined).
num_component_level_descriptors 필드(4비트)는 콤포넌트 레벨의 추가 정보를 제공하는 디스크립터의 개수를 표시한다.
상기 num_component_level_descriptors 필드 값에 해당하는 개수만큼 상기 콤포넌트 루프에 component_level_descriptor()들이 포함되어, 상기 콤포넌트에 대한 부가 정보를 제공한다.
num_service_level_descriptors 필드(4비트)는 해당 서비스 레벨의 추가 정보를 제공하는 디스크립터의 개수를 표시한다.
상기 num_service_level_descriptors 필드 값에 해당하는 개수만큼 상기 서비스 루프에 service_level_descriptor()들이 포함되어, 상기 서비스에 대한 부가 정보를 제공한다. 상기 서비스가 모바일 서비스이면 모바일 서비스에 대한 부가 정보를 제공하고, NRT 서비스이면 NRT 서비스에 대한 부가 정보를 제공한다.
num_ensemble_level_descriptors 필드(4비트)는 앙상블 레벨의 추가 정보를 제공하는 디스크립터의 개수이다.
상기 num_ensemble_level_descriptors 필드 값에 해당하는 개수만큼 상기 앙상블 루프에 ensemble_level_descriptor()들이 포함되어, 상기 앙상블에 대한 부가 정보를 제공한다.
한편, 도 18의 SMT에서도 component_level_descriptors()로서 component_descriptor()가 제공될 수 있다.
상기 component_descriptor()는 SMT의 콤포넌트 레벨 디스크립터component_level_descriptors()의 하나로서 사용되며, 해당 콤포넌트의 부가적인 시그널링 정보를 서술한다.
따라서, 모바일 NRT 서비스에서도 해당 FULTE 세션을 수신하기 위하여 필요한 시그널링 정보들은 도 14의 콤포넌트 디스크립터를 사용하여 제공할 수 있다.
예를 들어, 도 14의 콤포넌트 디스크립터의 component_type 필드 값이 38이면 component_data(component_type) 필드는 도 15와 같은 FLUTE 파일 딜리버리를 위한 데이터를 제공한다. 도 14, 도 15의 각 필드의 설명은 앞에서 했으므로 여기서는 생략하기로 한다.
도 19는 본 발명의 일 실시 예에 따른 파일과 content_id의 매핑을 위한 FDT 스키마를 설명하기 위해 도시한 것이고, 도 20은 본 발명의 다른 실시 예에 따른 파일과 content_id의 매핑을 위한 FDT 스키마를 설명하기 위해 도시한 것으로, FDT 인스턴트 레벨 엔트리 파일 지정 방식을 표현한다. NRT 컨텐트는 복수의 파일이 있지만 각 파일에는 표시가 없기 때문에 NRT 컨텐트의 관련된 파일을 찾기가 어렵다. 따라서, 도 19 및 도 20은 각 파일 내 FDT에 content_id을 삽입하는 것을 도시한다.
이하에서 FDT 인스턴스 레벨은, FDT에서 선언된 모든 파일의 공통 속성을 정의할 필요가 있는 경우 그에 대한 정의 부분을 포함하는 레벨을 의미하고, FDT 파일 레벨은, 각 파일에 개별적인 속성에 대한 정의를 포함하는 레벨을 의미하는 것으로 사용될 수 있다.
수신기는 해당 채널을 통해 전송된 서비스가 SMT를 기반으로 한 NRT 서비스인지를 식별한다. 또한, 수신기는 해당 NRT 서비스의 컨텐트 아이템 및 파일을 식별한다.
앞 설명에서 언급되듯이, 수신기는 NRT 서비스 내에 파일 및 컨텐트 아이템을 식별할 수 있지만, 수신기는 컨텐트 아이템의 파일에 대한 정보가 없기 때문에 컨텐트 아이템의 파일과 매칭할 수가 없다. 따라서, 수신기는 수신된 NRT 서비스를 처리할 수 없다.
따라서, 본 발명은 컨텐트 아이템과 관련되어 있는지를 식별하는 방법을 제공할 수 있다. 다시 말해서, 해당 방법은 컨텐트 아이템에 무슨 파일이 존재하는지를 보여줄 것이다. 이 경우에는, 수신기는 수신된 NRT 서비스 적절히 처리할 수 있다. 따라서, 해당 방법은 NRT 서비스를 전송해 FLUTE 세션 내 FDT 정보를 기반으로 지정할 수 있다. 예를 들어, 컨텐트 아이템을 구축하는 각 파일은 FLUTE 세션에서 지정된 content-location 및 TOI 필드로 기반으로 식별된다. FDT 내에 content_id는 NCT의 컨텐트 식별자(content_id) 또는 OMB BCAST SG 내 컨텐트 프래그먼트의 컨텐트 식별자와 매칭된다.
도 19 내지 20을 참조할 때, 1번으로 표시된 부분은 FDT-Instance 레벨(level)에서 컨텐트 식별자를 선언하는 것으로, 여기에서 선언된 컨텐트 식별자는 해당 FDT-Instance 내에서 선언된 모든 파일(file)에 부여된다. 물론 파일 레벨(File level)에서 컨텐트 식별자를 새롭게 부여함으로써 이 정보를 오버라이드(override) 할 수도 있다. 혹은 특정 파일이 FDT-Instance 레벨에 정의된 컨텐트 아이템(content item)이 아닌 다른 컨텐트 아이템에도 속한다면 하기에 설명할 파일 레벨 content_id를 부여하는 것을 통해 이를 알려줄 수도 있다. 본 실시 예에서는 content_id를 16 비트를 사용해 표현한다.
2번으로 표시된 부분은 파일 레벨에서 content_id를 선언하는 것으로 FDT Instance 내에 포함된 파일이 서로 다른 컨텐트 아이템에 속할 경우 이 방법을 이용해 각 파일이 어느 컨텐트 아이템 및 컨텐트의 모든 파일이 어느엔트리(entry)에 속하는 지를 시그널링 한다.
3번은 각 파일에 대해 해당 파일이 엔트리 파일(entry file)인지 여부를 알려주기 위한 방법이다. 즉, 컨텐트 아이템을 구성하는 여러 개의 파일들 중에서 가장 먼저 재생하거나 컨텐트 아이템을 접근하기 위해 반드시 먼저 실행해야 하는 루트 파일(root file)에 해당하는 파일을 엔트리 파일이라고 하며 이러한 정보를 알려주기 위한 방법을 나타낸다. entry 속성(attribute)은 생략이 가능하며 기본 값은 false로 생략되어 있는 경우 해당 파일은 엔트리 파일이 아님을 의미한다."엔트리(entry)"는 파일을 실행하기 위해 처리해야 할 파일의 헤드를 말한다. 예를 들어, "index.html"는 "엔트리"일 수 있다. 따라서, 엔트리 파일은 "true"로 설정 될 수 있고 다른 파일은 "false"로 설정될 수 있다. 엔트리 파일을 통해서, 동일한 파일을 전송하는 중복은 효과적으로 제어될 수 있다. 일단 파일이 다운로드했으면, 엔트리 파일이 다른 참조를 위한 컨텐트의 파일을 지시하기 때문에 다른 또는 별도의 인스턴스에 다운로드 할 필요가 없다.
특정한 파일은 파일 레벨에 관련된 그룹에서 엔트리 여부를 시그널링해서 특정한 그룹에서 엔트리의 역할을 하지만 다른 그룹에서는 해당 역할이 실패할 수도 있다. FDT-instance 레벨에서 컨텐트 식별자를 부여할 경우의 엔트리 파일 여부를 알려주는 방법은 아래와 같은 두 가지 방법을 생각해 볼 수 있다.
1) 엔트리 파일에 해당되는 파일에 대하여 파일 레벨 컨텐트 식별자를 추가로 부여하고 이의 엔트리 속성을 true로 설정하는 방법: 이 경우 컨텐트 식별자가 FDT-Instance 레벨과 파일 레벨에 중복되는 단점이 있으나 가장 융통성 있는 구조를 가질 수 있다. 다시 말해서, File-level 및 FDT-instance 레벨 중에 하나가 content_id를 지정할 수 있지만 다른 content_id가 File-level 및 FDT-instance 레벨에서 함께 지정됐을 경우에는 File-level의 content_id가 우선권이 있다.
2) 도 20에 도시한 FDT 스키마(schema)의 또 다른 실시 예와 같이 FDT-instance 레벨의 컨텐트 식별자 정의에서 엔트리 파일의 역할을 수행하는 파일들을 직접 레퍼런스(reference) 해주는 방식을 생각할 수 있다. 이를 위해 도 20의 실시 예에서는 FDT-instance 레벨 컨텐트 식별자를 위해 FDT-Content-ID-Type을 별도로 정의하고 이를 2번으로 표시된 바와 같이 엔트리 파일의 컨텐트 로케이션(content location)을 포함할 수 있도록 확장하였다. 2번의 경우에는, 엔트리 레벨은 그것의 content_id로 정의된다. 예를 들어, 각 content_id에서 어느 엔트리 파일이 있는지를 보여준다.
이 방법의 경우 컨텐트 로케이션(content-location)을 중복해서 시그널링 하는 부분이 단점이 될 수 있으나 각 컨텐트 아이템별로 엔트리 파일 구성 정보를 바로 획득할 수 있다는 점이 장점이 될 수 있다.
도 21은 본 발명의 일 실시예에 따른 수신기의 동작 방법을 나타낸 흐름도이다.
도 21을 참조하면, 본 발명의 일 실시예에서는 수신기가 NRT 서비스 시그널링 채널을 통해 NRT 서비스 시그널링 데이터를 수신하고, 수신한 NRT 서비스 시그널링 데이터를 이용하여 NRT 가이드 정보를 표시하며, 선택된 NRT 컨텐트에 대한 NRT 서비스 데이터를 수신하여 NRT 서비스를 제공할 수 있다.
먼저, 수신기에 전원이 켜지면, 사용자에 의해 채널이 선택된다(S1000). 그리고, 선택된 채널에 따라 물리적 전송 채널을 튜닝한다.
이후, 튜닝된 물리적 전송 채널로 수신되는 방송 신호로부터 VCT와 PMT를 획득한다(S1010). 그리고 상기 획득된 TVCT(VCT)를 파싱하여 NRT 서비스가 있는지를 확인한다(S1020). 이는 상기 VCT의 가상 채널 루프 내 service_type 필드 값을 확인하여 알 수 있다. 예를 들어, service_type 필드의 값이 0x08인 경우, NRT 서비스가 있는지를 확인할 수 있다. 그리고, 0X08이 아닌 경우에는 해당 가상 채널은 NRT 서비스를 전송하지 않으므로, 가상 채널에 포함된 정보에 따라 일반 A/V 서비스 제공 등의 적절한 동작을 수행할 수 있다(S1111).
한편, NRT 서비스가 존재하는 것으로 판단된 경우, 해당 가상 채널은 NRT 서비스를 전송하므로, NRT 서비스 시그널링 채널 접속을 위한 잘 알려진 IP주소(Wellknown IP address)를 포함하는 스트림의 특정 PID(PID_NST)와 매칭되는 PID(PID=PID_NST)를 획득한다(S1030).
그리고, 수신기는 획득한 PID 값(PID_NST)으로부터, 이와 일치하는 PID값을 갖는 트랜스포트 패킷(Transport Packet, TP)을 수신한다(S1040).
이후, 수신기는 수신한 TP로부터 NRT 서비스 테이블(NST)를 포함하는 NRT 서비스 시그널링 데이터를 추출하거나, 수신한 TP로부터 상술한 NRT 서비스 시그널링 채널 접속을 위한 IP 주소를 추출하여, IP 계층을 통해 다른 형태로 전송되는 NRT 서비스 시그널링 데이터를 수신한다(S1050).
그리고, 수신기는 NST로부터 각 NRT 서비스 별로, NRT 서비스 데이터의 전송을 위한 채널 정보를 획득한다(S1060).
이후, 수신기는 NRT 서비스 시그널링 데이터로부터 상기 획득한 채널 정보의 식별자인 Channel_id 값과 일치하는 NRT_channel_id 필드의 값을 가지는 NRT 컨텐트 테이블(NCT)를 획득한다(S1070).
그리고, 수신기는 획득한 NCT의 각 필드로부터 각 NRT 서비스를 구성하는 NRT 컨텐트에 대한 컨텐트 정보를 획득한다(S1080). 컨텐트 정보는 예를 들어, 상술한 NCT의 실시 예에 따라, content_delevery_bit_rate, content_available_start_time, content_available_end_time 및 content_title_text() 필드 중 적어도 하나를 포함할 수 있다.
그리고, 수신기는 컨텐트 정보를 이용하여 NRT 가이드 정보를 표시한다(S1090). 사용자는 표시된 NRT 가이드 정보로부터 사용 또는 수신하고자 하는 NRT 컨텐트를 선택할 수 있다.
이후, 수신기는 선택된 NRT 컨텐트가 속한 NRT 서비스 접속정보를 NST로부터 획득한다(S1100). NRT 서비스 접속정보는 예를 들어, NRT 서비스 데이터를 수신하기 위한 채널 정보 또는 IP 주소 정보를 포함할 수 있다.
그리고, 수신기는 획득한 NRT 서비스 접속 정보를 이용하여, NRT 서비스를 전송하기 위한 채널 또는 서버에 접속하여 해당 NRT 컨텐트를 수신하며(S1110), 수신한 NRT 컨텐트에 따라 적절한 동작을 수행할 수 있다.
도 22 및 도 23은 NRT 서비스를 위한 NRT 컨텐트를 수신하여 저장 및 재생할 수 있는 수신 시스템의 일 실시예와 다른 일 실시예이다.
도 23의 수신기는 오퍼레이션 제어부(100), 베이스밴드 처리부(110), 서비스 역다중화기(120), 스트림 콤포넌트 핸들러(130), 미디어 핸들러(140), 파일 핸들러(150), 서비스 매니저(160), PVR 매니저(170), 제1 저장부(180), SG 핸들러(190), EPG 매니저(191), NRT 서비스 매니저(192), 어플리케이션 매니저(194), 미들웨어 엔진(193), 프리젠테이션 매니저(195), 및 UI(User Interface) 매니저(196)를 포함할 수 있다.
베이스밴드 처리부(110)는 튜너(111)와 복조기(112)를 포함할 수 있다. 서비스 역다중화기(120)는 MPEG-2 TP 핸들러(121), PSI/PSIP 핸들러(122), MPEG-2 TP 역다중화기(123), 디스크램블러(124), 및 제2 저장부(125)를 포함할 수 있다.
스트림 콤포넌트 핸들러(130)는 PES(Packetized Elementary Stream) 복호기(131), ES(Elementary Stream)복호기(132), PCR 핸들러(133), STC 핸들러(134), DSM-CC 어드레서블 섹션 핸들러(135), IP 데이터그램 핸들러(136), 디스크램블러(137), UDP 핸들러(138), 서비스 시그널링 섹션 핸들러(138-1), 및 CAS(Conditional Access System)(139)을 포함할 수 있다.
미디어 핸들러(140)는 A/V 복호기(141)를 포함할 수 있다. 상기 파일 핸들러(150)는 ALC/LCT 스트림 핸들러(151), 파일 재건(reconstruction) 버퍼(152), XML 파서(153), FDT 핸들러(154), 디콤프레서(155), 및 제3저장부(156), 및 파일 디코더(157)를 포함할 수 있다.
이와 같이 구성된 도 23에서, 튜너(111)는 예를 들면, 지상파를 통해 수신되는 방송 신호 중 원하는 채널의 방송 신호를 서비스 매니저(160)의 제어에 의해 튜닝하여 중간주파수(IF: Intermediate Frequency) 신호로 다운 컨버전하여 복조기(112)로 출력한다. 상기 튜너(111)는 실시간 스트림과 비실시간 스트림을 수신할 수 있다. 본발명에서 비실시간 스트림은 NRT 스트림이라 하기로 한다.
복조기(112)는 튜너(111)로부터 입력되는 통과대역의 디지털 IF 신호에 대해 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행하여 기저대역 신호로 변환하고, 채널 등화를 수행한다. 예를 들어, 상기 방송 신호가 VSB 변조 신호인 경우 VSB 복조 과정을 수행하여 자동 이득 제어, 반송파 복구 및 타이밍 복구 등을 수행한다.
복조기(112)에서 복조 및 채널 등화된 데이터는 MPEG-2 TS(Transport Stream) 패킷 형태로 상기 MPEG-2 TP 핸들러(121)로 출력된다.
MPEG-2 TP(Transport Stream Packet) 핸들러(121)는 MPEG-2 TP 버퍼와 MPEG-2 TP 파서로 구성되며, 복조기(112)의 출력을 일시 저장한 후 TS 헤더를 분석하여, 복조기(112)의 출력이 실시간용 A/V TS 패킷이거나, NRT TS 패킷이면 역다중화기(123)로 출력하고, PSI/PSIP 테이블용 TS 패킷이면 PSI/PSIP 핸들러(122)로 출력한다.
상기 PSI/PSIP 핸들러(122)는 PSI/PSIP 섹션 버퍼와 PSI/PSIP 파서로 구성되며, 상기 MPEG-2 TP 핸들러(121)에서 출력되는 TS 패킷을 일시 저장한 후 테이블 식별자 등을 참조하여 상기 TS 패킷의 페이로드에 포함된 PSI/PSIP 섹션 데이터로부터 해당 테이블을 복원하여 파싱한다. 이때 하나의 테이블이 하나의 섹션으로 구성되는지 복수개의 섹션으로 구성되는지는 해당 섹션 내 table_id 필드, section_number 필드, last_section_number 필드 등을 통해 알 수 있다. 그리고 동일한 테이블 식별자를 갖는 섹션들을 모으면 해당하는 테이블을 완성할 수 있다. 예를 들어, VCT에 할당된 테이블 식별자를 갖는 섹션들을 모으면 VCT를 완성할 수 있다. 그리고 상기 파싱된 각 테이블의 정보는 서비스 매니저(160)에 의해 수집되어 제1 저장부(180)에 저장한다. 본 발명에 따른 VCT, PAT, PMT, DST 등의 테이블 정보가 상기 과정을 거쳐 제1 저장부(180)에 저장된다. 상기 서비스 매니저(160)는 상기 테이블 정보를 서비스 맵 및 가이드 데이터 형태로 상기 제1 저장부(180)에 저장한다.
역다중화기(123)는 입력되는 TS 패킷이 리얼 타임의 A/V TS 패킷이면 오디오 TS 패킷과 비디오 TS 패킷으로 분리한 후 PES 디코더(131)로 출력하고, NRT TS 패킷이면 DSM-CC 핸들러(135)로 출력한다. 또한 역다중화기(123)는 PCR(Program Clock Reference)가 포함된 TS 패킷이면 PCR 핸들러(133)로 출력하고, CA(Conditional Access) 정보가 포함된 TS 패킷이면 CAS(139)로 출력한다. NRT TS 패킷은 NRT 서비스 데이터를 포함하는 TS 패킷과 NRT 서비스 시그널링 채널을 포함하는 TS 패킷으로 구분된다. 상기 NRT 서비스 데이터의 TS 패킷에는 상기 NRT 서비스를 식별하기 위하여 유일한 PID가 할당되며, 상기 NRT 서비스 시그널링 채널을 포함하는 TS 패킷의 PID는 DST와 PMT를 이용하여 추출한다.
역다중화기(123)는 입력되는 TS 패킷의 페이로드가 스크램블되어 있으면, 디스크램블러(124)로 출력하고, 상기 디스크램블러(124)는 상기 CAS(139)로부터 디스크램블에 필요한 정보(예, 스크램블에 이용된 제어 단어등)를 입력받아 상기 TS 패킷에 대해 디스크램블을 수행한다.
역다중화기(123)는 일시 녹화, 예약 녹화, 타임시프트 중 어느 하나의 요청에 의해 입력되는 리얼 타임의 A/V 패킷을 제2 저장부(125)에 저장한다. 상기 제2 저장부(125)는 대용량 저장 매체로서, 일 예로 HDD 등이 될 수 있다. 상기 제2 저장부(125)에서의 다운로드(즉, 저장) 및 업로드(즉, 재생)는 PVR 매니저(170)의 제어에 의해 이루어진다.
역다중화기(123)는 재생 요청에 따라 상기 제2 저장부(125)로부터 업로드된 A/V TS 패킷으로부터 오디오 TS 패킷과 비디오 TS 패킷으로 분리하여 PES 디코더(131)로 출력한다.
역다중화기(123)는 전술한 처리를 위해 서비스 매니저(160) 또는/및 PVR(Personal Vedeo Recorder) 매니저(170)의 제어를 받는다.
즉, 서비스 매니저(160)는 VCT 내 service_type 필드 값이 NRT 서비스가 전송됨을 지시하면, 상기 VCT의 가상 채널 루프에 포함되어 수신되는 NRT 서비스 디스크립터(NRT_service_descriptor())로부터 각 NRT 서비스의 식별 정보를 추출하여 저장하고, 상기 VCT의 service location descriptor(또는 PMT의 ES loop)로부터 DST의 PID를 추출하여 DST를 수신한다.
그리고, 상기 수신된 DST로부터 NRT 서비스를 식별하고, 식별된 NRT 서비스를 수신하기 위해 상기 NRT 서비스 시그널링 채널을 포함하는 MPEG-2 TS 패킷의 PID를 DST와 PMT를 이용하여 추출한다. 상기 추출된 PID는 역다중화기(123)로 출력한다. 상기 역다중화기(123)는 상기 서비스 매니저(160)에서 출력하는 PID에 해당하는 MPEG-2 TS 패킷들을 어드레서블 섹션 핸들러(135)로 출력한다.
상기 PCR은 A/V 디코더(141)에서 오디오 ES 및 비디오 ES의 타임 동기 등을 위해 사용되는 시간 기준값이다. 상기 PCR 핸들러(133)는 입력되는 TS 패킷의 페이로드에 포함된 PCR을 복원하여 STC 핸들러(134)로 출력한다. 상기 STC 핸들러(134)는 상기 PCR로부터 시스템의 기준 클럭이 되는 STC(System Time Clock)를 복원하여 A/V 디코더(141)로 출력한다.
상기 PES 디코더(131)는 PES 버퍼와 PES 핸들러로 구성되며, 오디오 TS 패킷과 비디오 TS 패킷을 일시 저장한 후 각 TS 패킷으로부터 TS 헤더를 제거하여 오디오 PES와 비디오 PES로 복원한다. 상기 복원된 오디오 PES와 비디오 PES는 ES 디코더(132)로 출력된다. 상기 ES 디코더(132)는 ES 버퍼와 ES 핸들러로 구성되며, 오디오 PES와 비디오 PES로부터 각 PES 헤더를 제거하여 순수한 데이타인 오디오 ES와 비디오 ES로 복원한다. 상기 복원된 오디오 ES와 비디오 ES는 상기 A/V 디코더(141)로 출력된다.
A/V 디코더(141)는 각각의 디코딩 알고리즘으로 상기 오디오 ES와 비디오 ES를 디코딩하여 압축 이전의 상태로 복원한 후 프리젠테이션 매니저(195)로 출력한다. 이때 상기 STC에 따라 오디오 ES와 비디오 ES의 디코딩시 타임 동기가 이루어진다. 일 예로, 오디오 디코딩 알고리즘은 AC-3 디코딩 알고리즘, MPEG 2 audio 디코딩 알고리즘, MPEG 4 audio 디코딩 알고리즘, AAC 디코딩 알고리즘, AAC+ 디코딩 알고리즘, HE AAC 디코딩 알고리즘, AAC SBR 디코딩 알고리즘, MPEG surround 디코딩 알고리즘, BSAC 디코딩 알고리즘중 적어도 하나를 적용하고, 비디오 디코딩 알고리즘은 MPEG 2 video 디코딩 알고리즘, MPEG 4 video 디코딩 알고리즘, H.264 디코딩 알고리즘, SVC 디코딩 알고리즘, VC-1 디코딩 알고리즘 중 적어도 하나를 적용할 수 있다.
CAS(139)는 CA 스트림 버퍼와 CA 스트림 핸들러로 구성되며, 상기 MPEG-2 TP 핸들러(121)에서 출력되는 TS 패킷 또는 UDP 데이터그램 핸들러(138)에서 복원되어 출력되는 서비스 보호 데이터를 일시 저장한 후 상기 저장된 TS 패킷 또는 서비스 보호 데이터로부터 디스크램블에 필요한 정보(예를 들어, 스크램블에 사용된 제어 단어 등)를 복원한다. 즉, 상기 TS 패킷의 페이로드에 포함된 EMM(Entitlement Management Message), ECM(Entitlement Control Message) 등을 추출하고, 추출된 EMM, ECM 등을 분석하여 디스크램블에 필요한 정보를 획득한다. 상기 ECM은 스크램블에 사용된 제어 단어(CW)를 포함할 수 있다. 이때 상기 제어 단어는 인증키로 암호화되어 있을 수 있다. 상기 EMM은 해당 데이터의 인증키와 자격 정보를 포함할 수 있다. 상기 CAS(139)에서 획득한 디스크램블에 필요한 정보는 디스크램블러(124,137)로 출력된다.
DSM-CC 섹션 핸들러(135)는 DSM-CC 섹션 버퍼와 DSM-CC 섹션 파서로 구성되며, 상기 역다중화기(123)에서 출력되는 TS 패킷을 일시 저장한 후 상기 TS 패킷의 페이로드에 포함된 어드레서블 섹션을 복원하고, 상기 어드레서블 섹션의 헤더와 CRC 첵섬(checksum)을 제거하여 IP 데이터그램을 복원한 후 IP 데이터그램 핸들러(136)로 출력한다.
IP 데이터그램 핸들러(136)는 IP 데이터그램 버퍼와 IP 데이터그램 파서로 구성되며, 상기 DSM-CC 섹션 핸들러(135)로부터 전달받은 IP 데이터그램을 버퍼링한 후, 버퍼링된 IP 데이터그램의 헤더를 추출하고 분석하여 상기 IP 데이터그램의 페이로드로부터 UDP 데이터그램을 복원한 후 UDP 데이터그램 핸들러(138)로 출력한다.
이때 상기 IP 데이터그램이 스크램블되어 있다면, 상기 스크램블된 UDP 데이터그램은 디스크램블러(137)에서 디스크램블된 후 UDP 데이터그램 핸들러(138)로 출력된다. 일 예로, 상기 디스크램블러(137)는 상기 CAS(139)로부터 디스크램블에 필요한 정보(예, 스크램블에 이용된 제어 단어 등)를 입력받아 상기 UDP 데이터그램에 대해 디스크램블을 수행한 후 UDP 데이터그램 핸들러(138)로 출력한다.
상기 UDP 데이터그램 핸들러(138)는 UDP 데이터그램 버퍼와 UDP 데이터그램 파서로 구성되며, 상기 IP 데이터그램 핸들러(136) 또는 디스크램블러(137)로부터 출력되는 UDP 데이터그램을 버퍼링한 후, 버퍼링된 UDP 데이터그램의 헤더를 추출하고 분석하여 상기 UDP 데이터그램의 페이로드에 포함된 데이터를 복원한다. 이때 복원된 데이터가 서비스 프로텍션 데이터이면 CAS(139)로 출력하고, NRT 서비스 시그널링 데이터이면 서비스 시그널링 섹션 핸들러(138-1)로 출력하며, NRT 서비스 데이터이면 ALC/LCT 스트림 핸들러(151)로 출력한다.
즉, 상기 NRT 서비스 시그널링 채널을 전송하는 IP 데이터그램의 접속 정보는 well-known 데스티네이션(destination) IP 어드레스와 well-known 데스티네이션 (destination) UDP 포트 번호인 것을 일 실시예로 한다.
따라서, 상기 IP 데이터그램 핸들러(136)와 UDP 데이터그램 핸들러(138)는 well-known 데스티네이션 IP 멀티캐스트 어드레스와 well-known 데스티네이션 UDP 포트 번호를 가지면서, NRT 서비스 시그널링 채널을 전송하는 IP 멀티캐스트 스트림 즉, NRT 서비스 시그널링 데이터를 추출하여 서비스 시그널링 섹션 핸들러(138-1)로 출력한다.
그리고, 상기 서비스 시그널링 섹션 핸들러(138-1)는 서비스 시그널링 섹션 버퍼와 서비스 시그널링 섹션 파서로 구성되며, 상기 NRT 서비스 시그널링 데이터로부터 NST를 복원하고 파싱하여 서비스 매니저(160)로 출력한다. 상기 NST를 파싱하면 NRT 서비스를 구성하는 컨텐트/파일들을 전송하는 FLUTE 세션의 접속 정보와 상기 NRT 서비스를 렌더링하는데 필요한 시그널링 정보를 추출할 수 있다. 예를 들어, 상기 NST로부터 각 FLUTE 세션으로 전송되는 NRT 서비스의 컨텐트/파일들의 렌더링(rendering)에 필수적인 정보를 추출할 수 있다. 상기 NRT 서비스의 컨텐트/파일들의 렌더링(rendering)에 필수적인 정보는 컨테이너 정보가 될 수도 있고, 인코딩 정보가 될 수도 있으며, 미디어 오브젝트의 디코딩 파라미터가 될 수도 있다.
상기 NST로부터 파싱된 정보는 서비스 매니저(160)에 의해 수집되어 제1 저장부(180)에 저장된다. 서비스 매니저(160)는 상기 NST에서 추출된 정보를 서비스 맵 및 가이드 데이터 형태로 제1 저장부(180)에 저장한다. 다른 실시예로, 서비스 매니저(160)의 역할을 NRT 서비스 매니저(192)에서 수행할 수도 있다. 즉, 상기 NST로부터 파싱된 정보는 NRT 서비스 매니저(192)에 의해 수집되어 제1 저장부(180)에 저장될 수도 있다.
ALC/LCT 스트림 핸들러(151)는 ALC/LCT 스트림 버퍼와 ALC/LCT 스트림 파서로 구성되며, UDP 데이터 그램 핸들러(138)로부터 출력되는 ALC/LCT 구조의 데이터를 버퍼링한 후, 버퍼링된 데이터로부터 ALC/LCT 세션의 헤더 및 헤더 확장(header extension)을 분석한다. 상기 ALC/LCT 세션의 헤더 및 헤더 확장을 분석한 결과, ALC/LCT 세션으로 전송되는 데이터가 XML 구조이면 XML 파서(153)로 출력하고, 파일 구조이면 파일 재건(File Reconstruction) 버퍼(152)에 일시 저장한 후 파일 디코더(157)로 출력하거나, 제3 저장부(156)에 저장한다. ALC/LCT 스트림 핸들러(151)는 상기 ALC/LCT 세션으로 전송되는 데이터가 NRT 서비스를 위한 데이터이면 NRT 서비스 매니저(192)의 제어를 받는다. 이때 상기 ALC/LCT 세션으로 전송되는 데이터가 압축되어 있으면, 디콤프레서(155)에서 해제된 후 XML 파서(153), 파일 디코더(157), 제3 저장부(156) 중 적어도 하나로 출력된다.
XML 파서(153)는 상기 ALC/LCT session을 통하여 전송되는 XML 데이터를 분석하고, 분석된 데이터가 파일기반 서비스를 위한 데이터이면 FDT 핸들러(154)로 출력하고, 서비스 가이드를 위한 데이터이면 SG 핸들러(190)로 출력한다.
FDT 핸들러(154)는 ALC/LCT session을 통하여 FLUTE 프로토콜의 파일 디스크립션 테이블(File Description Table)을 분석하고 처리한다. 상기 FDT 핸들러(154)는 수신된 파일이 NRT 서비스를 위한 파일이면 NRT 서비스 매니저(192)의 제어를 받는다.
SG 핸들러(190)는 XML 구조로 전송되는 서비스 가이드를 위한 데이터를 수집하고 분석하여 EPG 매니저(191)로 출력한다.
파일 디코더(157)는 파일 재건 버퍼(152)로부터 출력되는 파일 또는 디콤프레서(155)로부터 출력되는 파일 또는 제3 저장부(156)로부터 업로드된 파일을 기 설정된 알고리즘으로 디코딩하여 미들웨어 엔진(193)으로 출력하거나, A/V 디코더(141)로 출력한다.
미들웨어 엔진(193)은 파일 구조의 데이터 즉, 어플리케이션을 해석하여 실행시킨다. 그리고 상기 어플리케이션을 프리젠테이션 매니저(195)를 통해 화면이나 스피커와 같은 출력 장치로 출력할 수도 있다. 상기 미들웨어 엔진(193)은 자바(JAVA) 기반의 미들웨어 엔진인 것을 일 실시예로 한다.
EPG 매니저(191)는 유저의 입력에 따라 SG 핸들러(190)로부터 서비스 가이드 데이터를 입력받아 디스플레이 포맷으로 변환한 후 프리젠테이션 매니저(195)로 출력한다. 상기 어플리케이션 매니저(194)는 상기 파일 등의 형태로 수신되는 어플리케이션 데이터의 처리에 관한 전반적인 관리를 수행한다.
서비스 매니저(160)는 PSI/PSIP 테이블 데이터 또는 NRT 서비스 시그널링 채널로 전송되는 NRT 서비스 시그널링 데이터를 수집하고 분석하여 서비스 맵을 만든 후 제1 저장부(125)에 저장한다. 또한 서비스 매니저(160)는 사용자가 원하는 NRT 서비스에 대한 접속 정보를 제어하며, 튜너(111), 복조기(112), IP 데이터그램 핸들러(136) 등에 대한 제어를 수행한다.
오퍼레이션 제어기(100)는 UI 매니저(196)를 통해 입력되는 유저의 명령에 따라 상기 서비스 매니저(160), PVR 매니저(170), EPG 매니저(191), NRT 서비스 매니저(192), 어플리케이션 매니저(194), 프리젠테이션 매니저(195) 중 적어도 하나를 제어하여, 상기 유저의 명령에 따른 기능이 수행되도록 한다.
NRT 서비스 매니저(192)는 IP 계층 상에서 FLUTE 세션을 통하여 컨텐트/파일 형태로 전송되는 NRT 서비스에 대한 전반적인 관리를 수행한다.
UI 매니저(196)는 UI를 통해 유저의 입력을 오퍼레이션 제어기(100)로 전달한다.
상기 프리젠테이션 매니저(195)는 A/V 디코더(141)에서 출력되는 오디오 및 비디오 데이터, 미들웨어 엔진(193)에서 출력되는 파일 데이터, EPG 매니저(191)에서 출력되는 서비스 가이드 데이터 중 적어도 하나를 스피커 및 화면 중 적어도 하나를 통해 유저에게 제공한다.
한편, 서비스 시그널링 섹션 핸들러(138-1), 서비스 매니저(160), NRT 서비스 매니저(192) 중 어느 하나는 NST의 FLUTE 세션 루프(또는 NST의 콤포넌트 루프)로부터 상기 NRT 서비스를 구성하는 컨텐트 또는 파일을 전송하는 FLUTE 세션에 대한 IP 접속 정보를 획득한다. 또한 상기 NST의 FLUTE 세션 루프에 포함되어 수신되는 NRT_FLUTE_File_delivery_descriptor()로부터 FLUTE레벨 접속 정보를 획득한다. 또한 NST의 콤포넌트 루프에 포함되어 수신되는 component_descriptor()로부터 FLUTE 레벨 접속 정보를 획득한다.
그러면, 상기 ALC/LCT 스트림 핸들러(151)와 파일 디코더(157)에서는 상기 획득한 FLUTE 레벨 접속 정보를 이용하여 FLUTE 파일 딜리버리 세션에 접속하여, 상기 세션에 속한 파일들을 모은다. 상기 파일들을 모으면 하나의 NRT 서비스가 구성된다. 이러한 NRT 서비스는 제3 저장부(156)에 저장하거나, 미들웨어 엔진(193)이나 A/V 디코더(141)로 출력하여 디스플레이 장치에 표시되도록 한다.
상기 제3 저장부(156)는 NRT 서비스 데이터와 같은 파일을 저장하는 저장 매체로서, 제2 저장부(125)와 공유하여 사용할 수도 있고, 별도로 사용할 수도 있다.
도 24는 본 발명의 일 실시예에 따라 수신기가 NRT 서비스를 수신하여 제공하는 방법을 설명하기 위한 흐름도이다.
수신기는 NRT 서비스 시그널링 채널을 통하거나, 모바일 NRT 서비스의 경우에는 IP데이터그램을 수신하여 NRT 서비스 시그널링 정보를 획득할 수 있으며, NRT 서비스 시그널링 정보로부터 SMT를 획득한다(S2010).
그리고, 수신기는 SMT로부터 NRT 서비스 정보를 획득한다(S2020). NRT 서비스 정보는 SMT 내의 Service level descriptor 루프에서 NRT_service_info_descriptor를 파싱하여 획득할 수 있다. 획득한 NRT 서비스 정보는 각 NRT 서비스에 대한 어플리케이션 형식(application type) 또는 기타 NRT 서비스에 대한 요구(requirement)정보를 포함할 수 있다.
이후, 수신기는 획득한 NRT 서비스 정보에 기초하여 NRT 서비스 가이드를 출력한다(S2030). NRT 서비스 가이드에는 각 서비스에 대한 어플리케이션과 서비스 카테고리 정보가 표시될 수 있다. 또한, NRT service info descriptor의 각 필드에 기초하여 상세 정보가 더 표시될 수 있다. 상세 정보는 예를 들어, storage_requirement필드에 따른 해당 NRT 서비스의 용량 정보나 audio_codec_type 또는 video_codec_type 필드에 따른 해당 NRT 서비스의 오디오 또는 비디오 코덱 정보를 포함할 수 있다. 사용자는 서비스 가이드에 표시된 정보를 바탕으로 수신 또는 사용하고자 하는 NRT 서비스를 선택할 수 있다.
그리고, 수신기는 선택된 NRT 서비스를 구성하는 컨텐트 아이템에 대한 식별자(content_id)를 NCT로부터 획득한다(S2040). 수신기는 선택된 NRT 서비스에 대응하는 NRT_service_id를 SMT로부터 획득하고, 획득한 NRT_service_id의 값과 일치하는 NRT_channel_id값을 가지는 NCT를 획득하며, 획득한 NCT를 통하여 해당 NRT 서비스를 구성하는 컨텐트 아이템에 대한 식별자(content_id)를 획득할 수 있다.
이후, 수신기는 획득한 컨텐트 아이템 식별자(content_id)를 이용하여 해당 컨텐트 아이템을 구성하는 파일을 수신하기 위해 FLUTE 세션에 접속한다(S2050). 컨텐트 아이템을 구성하는 각각의 파일은 FLUTE세션 내의 FDT에 명시된 TOI 또는 Content-Location필드에 매칭되어 있으므로, 이후 수신기는 이와 같은 FLUTE 세션을 이용하여 해당 컨텐트 아이템의 파일을 수신한다(S2060). 파일의 수신은, 예를 들어, 해당 FLUTE 세션에서 FDT를 읽어 해당 파일에 대한 Content-ID attribute 필드가 획득한 content_id와 일치하면 해당 파일 또는 오브젝트를 수신하는 방법으로 이루어질 수 있다.
또한, 수신기는 해당 FLUTE 세션 내의 FDT 인스턴스들을 파싱함으로써, 컨텐트 아이템에 대응하는 파일들의 목록을 획득할 수 있다. 그리고, 수신기는 각 파일들의 목록 중 엔트리(entry)의 역할을 수행하는 파일들의 목록을 포함하는 엔트리 정보를 획득한다(S2070).
마지막으로, 수신기는 수신한 컨텐트 아이템과 컨텐트 아이템에 대응하는 파일들의 목록 또는 엔트리 정보에 기초하여 사용자에게 NRT 서비스를 제공한다(S2080).
이와 같이 NRT 서비스를 통하여 다운로드된 컨텐트는 실시간 방송과 독립적으로 사용자가 원하는 시점에 이용할 수 있다.
또한, 방송국은 NRT 서비스를 미리 송출하고 수신기가 수신하여 저장한 후, 특정 실시간 방송이 송출되거나 수신기에서 표시되는 시점에 해당 NRT 서비스의 컨텐트 아이템을 실행하도록 지정할 수도 있다. 이와 같이 본 발명의 일 실시예로서, NRT 서비스는 실시간 방송과 연계되어 미리 다운로드한 후, 특정 시점에 실행시킬 수 있는 컨텐트를 포함할 수 있다. 또한, 본 발명의 일 실시예로서 NRT 서비스는 특정 NRT 서비스를 특정 시점에 실행시키기 위해 미리 준비하기 위한 컨텐트를 포함할 수 있다. 이와 같이 특정 NRT 서비스에 대하여 특정 액션이 실행되도록 실시간 방송과 연계된 특정 시점에 트리거된 NRT 서비스 컨텐트를 트리거 선언적 오브젝트(TDO, Triggered Declarative Object) 라고 할 수 있다. 따라서, NRT 서비스 어플리케이션은 특정 시점에 실행되는지 여부에 따라 비실시간 선언적 오브젝트(NDO) 또는 트리거 선언적 오브젝트(TDO)로 구분될 수 있다.
본 발명의 일 실시예에 따르면, 방송국은 이와 같은 트리거 선언적 오브젝트(TDO)를 트리거 하기 위한 트리거 정보를 전송할 수 있다. 트리거 정보는 수신기가 특정 트리거 선언적 오브젝트에 대한 특정 액션을 특정 시점에 수행하기 위한 정보들을 포함할 수 있다.
또한, 트리거 정보는 트리거를 시그널링 하기 위한 트리거 시그널링 데이터(트리거 시그널링 정보) 및 트리거를 구성하는 트리거 데이터를 포함할 수 있다. 또한, 트리거 데이터를 전송하는 데이터 스트림을 트리거 스트림이라고 할 수 있다. 그리고, 본 발명에서 트리거 데이터는 트리거 그 자체를 의미할 수 있다.
이와 같은 트리거는 트리거를 식별하기 위한 트리거 식별자, 트리거하기 위한 NRT 서비스를 식별하기 위한 TDO 식별자, TDO에 대해 수행될 액션 정보 및 트리거 시간 중 적어도 하나를 포함할 수 있다.
트리거 식별자는 트리거를 유일하게 식별하기 위한 식별자일 수 있다. 예를 들어, 방송국은 EIT를 통해 제공되는 일정 시간 동안의 방송 프로그램 정보에 하나 이상의 트리거를 포함하여 전송할 수 있다. 이 경우, 수신기는 하나 이상의 트리거에 기초하여 각 트리거별로 지정된 시간에 트리거 대상 TDO에 대한 액션을 수행할 수 있다. 이 때, 수신기는 트리거 식별자를 이용하여 각 트리거들을 구별할 수 있다.
TDO 식별자는 트리거의 대상이 되는 NRT 서비스 컨텐트를 식별하기 위한 식별자일 수 있다. 따라서, TDO 식별자는 트리거 NRT 서비스 식별자(NRT_service_id), 컨텐트 결합(content_linkage), NRT 컨텐트 아이템 엔트리의 URI 또는 URL 중 적어도 하나를 포함할 수 있다. 그리고 후술할 트리거 대상 TDO를 식별하기 위한 대상 식별자(targer_service_id)를 포함할 수있다.
또한, TDO 액션 정보는 트리거 대상이 되는 TDO에 대해 수행할 액션에 대한 정보를 포함할 수 있다. 액션 정보는 대상 TDO의 실행, 종료, 연장 명령중 적어도 하나일 수 있다. 또한, 액션 정보는 대상 TDO 내의 특정 함수 또는 이벤트를 발생시키기 위한 명령을 포함할 수 있다. 예를 들어 액션 정보가 대상 TDO의 실행 명령을 포함하는 경우, 트리거는 대상 TDO의 활성화를 수신기에 요청할 수 있다. 또한, 액션 정보가 대상 TDO의 연장 명령을 포함하는 경우, 트리거는 대상 TDO가 연장될 것임을 수신기에 지시할 수 있다. 그리고, 액션 정보가 대상 TDO의 종료 명령을 포함하는 경우, 트리거는 대상 TDO가 종료되어야 함을 수신기에 지시할 수 있다. 이와 같이 방송국은 트리거를 통해 실시간 방송 컨텐트에 따른 수신기에서의 TDO 동작을 제어할 수 있다.
한편, 트리거 시간은 대상 TDO에 대해 지정된 액션을 수행(트리거)하기 위해 지정된 시간을 의미할 수 있다. 또한, 트리거 시간은 NRT 서비스를 실시간 방송과 연계하기 위하여, 특정 가상 채널의 비디오 스트림과 동기화시킬 수 있다. 따라서, 방송국은 비디오 스트림에서 참조하는 PCR을 참조하여 트리거 시간으로 지정할 수 있다. 또한, 수신기는 비디오 스트림이 참조하는 PCR을 참조하여 방송국이 지정한 시간에 TDO를 트리거 할 수 있다. 그리고, 방송국은 정확한 트리거 시간을 전송하기 위하여 비디오 스트림의 헤더에 트리거 식별자를 포함하여 트리거를 시그널링 할 수 있다.
또한, 트리거 시간은 UTC 시간으로 지정될 수 있다. UTC 시간의 경우는 상대적인 시간이 아니라, 절대적인 시간을 참조하여 트리거 할 수 있는 장점이 있다.
이와 같은 트리거 시간은 정확한 트리거 시점일 수 있으며, 대략적인 시작 시간을 포함할 수도 있다. 그리고, 수신기는 대략적인 시간을 수신하여 정확한 트리거 시점 이전에 미리 대상 TDO에 대한 액션을 준비할 수 있다. 예를 들어, 수신기는 미리 TDO를 실행할 준비를 하여 트리거 시간에 자연스럽게 TDO를 동작시킬 수 있다.
도 25는 본 발명의 일 실시 예에 따라 구성한 트리거의 비트스트림 신택스를 도시한 것이다.
여기서, 트리거 또는 트리거 데이터는 트리거 테이블의 형태로 구성하였고, 해당 신택스는 이해를 돕기 위하여 MPEG-2 프라이빗 섹션(Private section) 형태로 작성되었으나, 해당 데이터의 포맷은 어떠한 형태가 되어도 무방하다. 예를 들어, SDP(Session Description Protocol)의 형태로 표현하여 SAP(Session Announcement Protocol)을 통하여 시그널링하는 등의 다른 방법도 사용할 수 있다.
table_id 필드는 임의로(0XTBD) 설정되어, 해당 테이블 섹션이 트리거를 구성하는 테이블 섹션임을 식별한다.
section_syntax_indicator 필드는 1로 설정되면, 상기 섹션이 일반적인 섹션 신택스를 따름을 나타낸다.
private_indicator 필드는 1로 설정되어 있다.
section_length 필드는 section_length 필드 바로 다음에서부터 상기 섹션의 마지막까지 이 섹션에 남아 있는 바이트들의 개수를 상술한다.
source_id 필드는, 가상 채널과 연관된 프로그램의 소스를 나타낸다.
TTT_version_number 필드는 트리거의 버전 정보를 나타낼 수 있다. 또한, 트리거의 버전 정보는 트리거 프로토콜의 버전을 나타낼 수 있다. 트리거 버전 정보는 트리거 구조 또는 트리거 자체에 변화가 있는지 판단하기 위하여 사용될 수 있다. 예를 들어, 수신기는 트리거의 버전 정보가 동일하면 트리거에 변화가 없음을 판단할 수 있다. 또한 수신기는 트리거의 버전 정보에 변경이 있는 경우, 트리거에 변화가 있음을 판단할 수 있다. 예를 들어, 트리거 버전 정보는 복수의 버전 넘버를 포함할 수 있으며, 수신기는 복수의 버전 넘버 중 일부에 기초하여 트리거에 변화가 발생하였는지 판단할 수 있다.
current_next_indicator 필드는 1로 설정되어 있으면 해당 테이블 섹션은 현재 적용 가능함을 나타낸다.
section_number 필드는, 해당 테이블 섹션의 넘버를 지시한다.
last_section_number 필드는, 섹션들 중 가장 마지막 및 가장 높은 넘버의 테이블 섹션을 의미한다.
num_triggers_in_section 필드는, 해당 테이블 섹션 내에 포함되는 트리거의 개수를 의미한다. 한 섹션에 포함되는 트리거의 개수는 1개일 수 있으며, 복수일 수도 있다. 또한, 다음의 'for' 루프는 트리거의 개수만큼 반복될 수 있다.
trigger_id 필드는, 트리거를 유일하게 식별할 수 있는 식별자를 나타낸다.
trigger_time 필드는, 트리거를 수행하는 시간을 나타낸다. 한편 이 필드는 섹션 내에 포함되지 않을 수 있으며, 그 경우 트리거 시간은 상술한 바와 같이 방송 스트림으로부터 지정된 시간일 수 있다.
trigger_action 필드는, 트리거 시간에 수행될 트리거의 액션 정보를 나타낸다. 트리거 액션은 상술한 바와 같이 대상 TDO에 대한 준비, 대상 TDO의 실행, 대상 TDO의 연장 또는 대상 TDO의 종료 명령 중 어느 하나를 포함할 수 있으며, 대상 TDO내의 특정 함수나 이벤트를 발생하도록 하는 명령을 포함할 수도 있다.
trigger_description_length 필드는, trigger_description_text의 길이를 나타낸다.
trigger_description_text 필드는, 해당 트리거에 대한 텍스트 형태의 디스크립션을 나타낸다.
service_id_ref 필드는, 트리거의 대상 TDO를 식별하기 위한 식별자를 나타낸다. 따라서, 예를 들어 service_id_ref 필드는 트리거의 대상 TDO의 NRT 서비스를 식별하기 위해 SMT 또는 NST의 NRT_service_id 필드를 지시할 수 있다.
content_linkage 필드는, 트리거의 대상 TDO 컨텐트 아이템을 식별하기 위한 식별자를 나타낸다. 예를 들어, content_linkage 필드는 트리거의 대상 TDO 컨텐트 아이템을 식별하기 위해 NRT-IT 또는 NCT의 content_linkage 필드를 지시할 수 있다. 또한, service_id_ref 필드와 content_linkage 필드는 하나의 대상 TDO를 지시하기 위한 클래스 내에 포함될 수도 있다.
num_trigger_descriptors 필드는, 트리거 디스크립터의 개수를 나타낸다.
trigger_descriptor()필드는, 트리거에 대한 정보를 포함하는 디스크립터를 나타낸다.
이와 같이 MPEG2 프라이빗 섹션의 테이블 형태로 구성되는 트리거의 경우, 방송국은 가상 채널에 따라 하나의 트리거를 전송할 수 있다.
방송국이 트리거를 전송하기 위한 제1 방법으로서, 상술한 트리거 테이블을 PSIP 기본 PID인 0X1FF 스트림에 포함하여 전송할 수 있다. 제1 방법은 트리거 테이블의 table_id를 유일하게 할당함으로써 트리거 테이블을 다른 테이블과 구별할 수 있는 특징이 있다.
그리고, 트리거를 전송하기 위한 제2 방법으로서, 마스터 가이드 테이블(Master Guide Table, MGT)에 트리거 테이블에 대응하는 PID를 할당하고, 해당PID의 스트림에 트리거 테이블을 포함하여 전송할 수 있다. 제2 방법은 수신기가 해당 PID의 스트림 내에 있는 모든 테이블을 트리거 테이블로 처리할 수 있는 특징이 있다.
한편, 본 발명에서는 비디오 및 오디오에 동기화된 정확한 시점을 트리거 시간으로 지정하기 위해 MPEG2 PES(Packetized Elemetary Stream)을 통해 트리거 및 트리거 시그널링 정보중 적어도 하나를 전송하는 것을 일 실시예로 한다.
여기서, MPEG2 PES의 비디오 및 오디오의 동기화를 설명하면 다음과 같다. 수신기 디코더는 송신기 인코더의 시간 스탬프에 의해 동기화하여 동작한다. 인코더는 System Time Clock(이하, STC라 함)이라는 주 오실레이터(main oscillator)와 카운터(counter)를 가지고 있다. STC는 특정 프로그램에 속해 있고 비디오와 오디오 인코더를 위한 프로그램의 주 클럭(main clock)이다.
한편, 인코더 입력에서 비디오 프레임이 발생하거나 오디오 블럭이 발생하면 STC를 샘플링하도록 한다. 샘플링 값과 인코더 버퍼와 디코더 버퍼의 지연만큼의 상수값을 더하여 표시 시간 정보, 즉 Presentation Time Stamp(이하, PTS라 한다)를 생성하고 픽쳐 블록(picture block) 또는 오디오 블록(audio block)의 처음 부분에 삽입한다. 프레임 재배치(frame reordering)가 발생하는 경우에는 데이터가 디코더에서 디코딩되어야 하는 시간을 나타내는 Decode Time Stamp(이하, DTS라 함)를 삽입한다. B 픽쳐의 프레임 재배치의 경우를 제외하고는 DTS와 PTS는 동일하다. DTS는 이러한 프레임 재배치의 경우에만 추가적으로 필요하다. DTS가 사용될 때는 항상 PTS도 존재하며 이들은 700msec 이내의 간격으로 삽입될 수 있다. 또한, ATSC에서는 각각의 픽쳐의 시작부분에 PTS와 DTS를 삽입하도록 정의되어있다.
한편, 인코더 버퍼의 출력에는 전송 패킷(transport packet) 레벨에서는 프로그램 클럭 레퍼런스(Program Clock Reference; 이하 PCR이라고 함)이라는 타임 스탬프를 갖는다. 그리고, PCR 타임 스탬프는 100msec이내의 간격으로 발생할 수 있으며, 이러한 PCR 은 디코더의 STC와 인코더의 STC를 동기화하기 위해 사용된다.
그리고, 비디오 스트림과 오디오 스트림은 디코더의 동기화를 위해 공통된 STC에 해당하는 각각의 PTS 또는 DTS를 가질 수 있다. 따라서, 오디오 스트림과 비디오 스트림이 디코딩 단위마다 언제 재생해야 하는지를 각 PTS와 DTS를 통하여 알 수 있게 되며, 이를 이용하여 오디오와 비디오가 동기화된다.
예를 들어 설명하면, 수신기의 디코더는 수신된 TS 스트림에서 PES 패킷을 비디오 PES 디패킷타이저(Video PES Depacketizer)로 출력하고, TS 패킷 헤더에 삽입된 PCR값을 PCR 카운터(PCR Counter) 로 출력한다. PCR 카운터는 PCR값 100을 카운팅시켜 비교부로 출력한다. 그리고, 비디오 PES 디패킷타이저는 PES 패킷의 헤더를 DTS/PTS 추출부(DTS/PTS Extractor)로 출력하고, ES(Elementary Stream), 즉 디스플레이될 영상 데이터를 엘레멘터리 스트림 버퍼&디코더(Elementary Stream Buffer&Decoder)에 버퍼링한다. DTS/PTS 추출부는 PES 패킷 헤더로부터 DTS값과 PTS값을 추출하여 비교부로 출력한다. 비교부는 상기 PCR 카운터로부터 입력받은 PCR값이 DTS값으로 되거나, PCR값 100이 PTS값으로 되면 그에 대한 각각의 신호를 디코딩/디스플레이 콘트롤부(Decoding, Display Control Block)로 출력한다. 상기 디코딩/디스플레이 콘트롤부는 상기 비교부로부터 PCR값이 DTS값으로 된 것에 대한 신호를 입력받아 상기 엘레멘터리 스트림 버터&디코더에 버퍼링된 영상 데이터를 디코딩하여 디코디드 스트림 메모리(Decoded StreamMemory)에 저장시킨다. 또한 디코딩/디스플레이 콘트롤부는 비교부로부터 PCR값이 PTS값으로 된 것에 대한 신호를 입력받으면 디코디드 스트림 메모리에 디코딩되어 저장된 영상 데이터를 디스플레이부를 통해 디스플레이한다.
따라서, MPEG2 PES는 헤더에 PTS와 DTS를 포함하여, 데이터 전송시 전송되는 데이터와 하나의 엘레멘터리 스트림(Elementray Stream, ES) 또는 복수의 ES간의 표시되는 시간(Presentation time)을 동기화할 수 있다. 이를 동기화된 데이터 스트림(synchronized data stream)방식이라 할 수 있다.
즉, 본 발명의 일 실시예에 따르면, 방송국은 이와 같은 동기화된 데이터 스트림 방식을 이용하여 트리거 데이터 또는 트리거 스트림을 PES의 페이로드에 포함시키고, 트리거 시간을 PES 패킷 헤더의 PTS값으로 지정할 수 있다. 이 경우, 수신기는 트리거를 포함하는 PES의 PTS가 참조하는 PCR값에 따라 정확한 시간에 대상 TDO를 트리거 할 수 있다. 따라서, 방송국은 트리거 시간으로 지정된 PES 패킷 헤더의 PTS와 오디오 및 비디오 PES 패킷 헤더의 PTS값을 이용하여 방송국이 트리거하고자 하는 오디오 및 비디오가 재생(Presentation)되는 정확한 시간에 트리거를 동기화할 수 있다.
그리고, 트리거를 포함하는 PES 스트림 패킷의 헤더는 동기화된 데이터 스트림 방식을 나타내기 위해 steam_type값이 0x06일 수 있으며, stream_id는 기 설정된 스트림의 식별자를 나타낼 수 있고, PES_packet_length는 PES 스트림의 페이로드를 포함하는 PES 스트림의 길이를 나타낼 수 있다.
도 26은 본 발명의 일 실시예에 따라 트리거가 포함된 동기화된 데이터 스트리밍 방식에 따른 PES의 구조를 도시한 도면이다.
도 26과 같이, 동기화된 데이터 스트리밍 방식의 PES는 PES 헤더와 PES 페이로드로 구성될 수 있으며, PES 페이로드는 동기화된 데이터 패킷 구조(Synchronized Data Packet Structure)를 포함할 수 있다. 상술한 바와 같이 트리거 테이블로 구성되거나, 다른 형식의 데이터로 구성된 트리거는 도 26의 PES 페이로드(payload) 부분에 포함되어 전송될 수 있다. 또한, 방송국은 트리거를 IP데이터그램의 형태로 패킷화하고, 패킷화된 트리거를 IP 데이터 영역에 포함하여 전송할 수도 있다.
도 27은 본 발명의 일 실시예에 따라 트리거를 전송하기 위한 PES 페이로드의 동기화된 데이터 패킷 구조(synchrozied data packet structure)를 비트스트림 신택스로 도시한 것이다.
도 26 및 도27과 같이, 트리거는 동기화된 데이터 패킷 구조 내에 포함되어 전송될 수 있다. 구조내 각 필드의 상세한 설명은 다음과 같다.
data_identifier 필드는, PES 데이터 패킷에 포함된 데이터의 타입을 식별하기 위한 식별자이다. 이는 데이터 타입에 따라 0X22로 설정될 수 있다.
sub_stream_id 필드는, 사용자에 의해 설정가능한 식별자이다(user private).
PTS_extention_flag 필드는, PTS 확장 필드(PTS_extention field)가 존재하는지를 지시한다. 이 필드의 값이 1이면 PES_data_packet 필드에 PTS 확장 필드가 존재할 수 있다. 또한, PTS 확장 필드가 존재하지 않으면 이 필드의 값은 0일 수 있다.
output_data_rate_flag 필드는, 0으로 설정될 수 있다.
syncnronized_data_packet_header_length필드는, PES 패킷 헤더에 포함된 선택적 필드(optional field)의 길이를 나타낸다. 이 필드는 PTS_extention_flag 필드가 1일 때 포함될 수 있으며, synchroziced_data_privete_data_byte(s)를 포함하는 길이를 나타낼 수 있다.
PTS_extension 필드는, 해당 PES 패킷의 헤더로부터 전달된 PTS를 확장한다. 이 필드는 9비트의 PCR(Program Clock Reference) 확장 정보를 포함할 수 있다. 또한, 수신기는 이 필드를 통하여 동기화된 데이터의 PTS 해상도를 MPEG2 표준인 11.1 마이크로초(90kHz)로부터 37나노초(27MHz)로 확장할 수 있다.
synchronized_data_private_data_byte 필드는, 동기화된 PES 패킷의 페이로드의 바이트를 나타낸다. 만약 데이터 서비스 테이블(DST)의 protocol_encapsulation필드가 동기화된 데이터그램, LLC/SNAP을 포함하지 않는 IP 데이터그램, LLS/SNAP를 포함하는 다중프로토콜(multiprotocol) 데이터그램 중 어느 하나임을 나타내면, synchronized_data_byte 필드는 유일한 하나의 데이터그램을 포함할 수있다. 따라서, LLC/SNAP가 사용되는 경우에는 오직 PES패킷의 처음 8 바이트의 synchronized_data_byte에만 8바이트의 LLC/SNAP 헤더가 나타날 수 있다.
따라서, 방송국이 상술한 바와 같은 PES의 동기화된 데이터 스트림(stream_type이 0x06)에 트리거를 포함하여 전송하면, 수신기는 트리거 스트림을 PES의 페이로드로부터 추출할 수 있다. 또한, 수신기는 PES헤더의 PTS값을 트리거 시간으로 하여 대상 TDO에 대한 액션을 수행할 수 있게 된다. 따라서, 비디오와 오디오의 표시 동기를 위한 기준 시간인 PTS를 기준으로 트리거를 동기화 함으로써, 프레임단위의 정확한 시간에 TDO가 트리거될 수 있다. 또한, 트리거 시간을 PTS로 지정하는 경우, 비디오 및 오디오와의 동기화가 쉽게 이루어질 수 있다.
한편, 본 발명에서는 트리거 스트림을 획득할 수 있는 트리거 시그널링 정보를 전송하는 것을 일 실시예로 한다. 수신기는 트리거 시그널링 정보를 수신하고, 수신한 트리거 시그널링 정보에 기초하여 PES의 동기화된 데이터 스트림에 포함된 트리거 스트림을 획득할 수 있다.
동기화된 데이터 스트리밍을 이용하여 전송되는 트리거 스트림을 획득하기 위한 트리거 시그널링 정보를 전송하는 방법은 실시예에 따라 다양한 방법이 있을 수 있다. 본 발명에서는 1. DST를 통한 전송 방법, 2. 서비스 식별자 디스크립터(service id descriptor)를 통한 전송 방법, 3. 트리거 스트림 디스크립터(trigger stream descriptor)를 통한 전송 방법 또는 4. 트리거 스트림에 대한 스트림 타입을 정의하여 전송하는 방법 중 적어도 하나의 방법을 사용하여 트리거 시그널링 정보를 전송하는 것을 일 실시예로 한다.
일 실시예에 따라, 본 발명에서는 NRT 서비스를 위한 DST(data_service_table)를 통하여 트리거 시그널링 정보를 전송할 수 있다. DST는 데이터 서비스를 전송하기 위한 테이블 섹션으로서, DST에 대한 설명 및 DST를 구성하는 data_service_bytes()의 일 실시예에 대한 설명은 도 8에서 설명한 바와 같으므로 생략하기로 한다.
상술한 DST에는 데이터 서비스를 구성하는 각 엘레멘터리 스트림(Elementray Stream, ES)을 수신하기 위한 시그널링 데이터가 포함될 수 있다. 따라서, 트리거 스트림을 수신하기 위한 트리거 시그널링 데이터도 DST에 포함될 수 있다.
한편, 데이터 서비스는 각각 하나 이상의 어플리케이션을 포함할 수 있으며, 각 어플리케이션은 app_id와 같은 어플리케이션 식별자를 포함하는 어플리케이션 식별 구조(application identification structure)의 형태일 수 있다. 그리고, 각 어플리케이션은 해당 어플리케이션을 구성하는 하나 이상의 데이터 엘리먼트(data element) 또는 데이터 스트림(data stream)을 포함할 수 있다.
따라서, 방송국은 트리거 스트림을 데이터 서비스를 통해 전송하기 위해 특정 가상 채널(Virtual Channel, VC)에 하나의 트리거 스트림을 포함하여 전송할 수 있다. 뿐만 아니라 어플리케이션마다 하나의 트리거 스트림을 포함하여 전송할 수도 있다. 따라서, 하기에 두 가지 방법에 대해 경우를 나누어 트리거 시그널링 정보를 전송하는 일 실시예들을 설명한다.
가상 채널에 하나의 트리거 스트림이 포함되는 경우, 본 발명의 일 실시예에서는 트리거 스트림을 전송하기 위한 데이터 서비스를 트리거 서비스라고 할 수 있다. 이 경우, 방송국은 고정된 서비스 식별자(Service ID)를 트리거 서비스에 할당할 수 있다.
따라서, 수신기는 예를 들어, 서비스 식별자가 고정된 값으로서 0X01인 경우에 해당 가상 채널에 하나의 트리거 스트림이 전송되고 있음을 식별할 수 있다.
여기서, 방송국은 DST에 포함된 어플리케이션 식별 구조(Application identification structure)에 트리거 시그널링 정보를 포함하여 전송할 수 있다.
예를 들어, 방송국은 DST의 App_id_description 필드의 값으로 0x0001을 추가하여 TDO와 같은 형태의 NRT 서비스를 실시간 방송과 연계하기 위한 양방향 어플리케이션을 의미하는 값으로 설정할 수 있다. 또한, app_id_byte_length는 0x0003으로 3바이트를 사용하며, app_id_byte는 0x01로 할당하여 해당 데이터 서비스가 트리거 스트림 시그널링 정보를 포함하는 것을 지시할 수 있다.
따라서, 수신기는 상술한 방법으로 DST를 수신하여 app_id_byte_length가 0x0003이고, app_id_description이 0x0001이며, app_id_byte가 0x01인 경우 트리거 시그널링 정보를 포함하는 tap()을 식별할 수 있다. 수신기는 식별된 tap()구조로부터 association_tag값을 포함하는 트리거 시그널링 정보를 추출하며, 방송 스트림에서 추출한 PMT 내에 리스트 된 데이터 엘리먼트리 스트림(ES) 중 association_tag_descriptor가 상기 추출된 association_tag와 일치하는 PID를 갖는 스트림을 수신하여 트리거 스트림을 수신할 수 있다.
상술한 바와 같이, NRT 서비스는 SMT 또는 NST를 통해 시그널링 되며, 16비트의 서비스 식별자(service_id)를 통해 유일하게 식별될 수 있다. 또한, NRT 서비스를 구성하는 컨텐트 아이템들은 NCT 또는 NRT-IT내의 content_linkage 또는 컨텐트 식별자를 통해 식별될 수 있다. 따라서, DST를 통해 app_id_byte를 확장하여 트리거 서비스를 NRT 서비스와 같이 전송할 수 있다. 예를 들어, app_id_byte는 트리거 서비스의 서비스 식별자(service id)필드 및 컨텐트 결합(content_linkage)필드를 조합한 데이터를 포함할 수 있다. 따라서, app_id_byte를 처음 16비트는 SMT 또는 NST 내의 서비스 식별자(service id) 필드에 대응되며, 이후 32비트는 NCT 또는 NRT-IT내의 content linkage 필드에 대응되도록 구성할 수 있다.
이와 같이, 방송국은 가상 채널당 하나의 스트림이 포함되는 경우, DST상의 어플리케이션 식별 구조(Application identification structure)를 통해 트리거 시그널링 정보를 tap()에 포함하여 전송할 수 있다.
한편, 본 발명의 일 실시예에서는 DST의 protocol_encapsulation 필드를 이용하여 트리거 시그널링 정보를 전송할 수 있다. 예를 들어, DST내 app_id_byte_length를 0x0000으로 설정하면 app id가 할당되지 않으며, protocol_encapsulation 필드의 값이 0x0F인 경우에 트리거 시그널링 정보가 해당 tap()구조에 포함되어 있음을 지시할 수 있다. 따라서, 수신기는 app_id_byte_length가 0x0000이고, protocol_encapsulation 필드의 값이 0x0F이면, 해당 tap()구조로부터 트리거 시그널링 정보를 수신할 수 있으며, 이를 통하여 상술한 바와 같이 트리거 스트림을 지시하는 PMT상의 PID값을 획득하고, 트리거 스트림을 수신할 수 있다.
한편, 본 발명의 다른 일 실시예에서는 DST의 content type descriptor 필드를 이용하여 트리거 시그널링 정보를 전송할 수 있다.
도 28과 같이, DST상의 tap()에 포함될 수 있는 content type descriptor 구조의 일 실시예는 다음과 같다.
descriptorTag 필드는 contentTypeDescriptor를 나타내기 위한 0x72값을 가질 수 있다.
descriptorLenth 필드는 디스크립터의 전체 길이(바이트 단위)를 나타낸다.
contentTypeByte 필드는 본 디스크립터가 연결되어 있는 tap에 의해 참조된 데이터의 MIME 미디어 타입 값을 나타낸다. MIME 미디어 타입은 RFC2045 섹션 [8]의 5에 정의되어 있다.
따라서, 본 발명의 일 실시예에서는 트리거 시그널링 정보를 포함하는 tap()구조에 content type descriptor를 부가할 수 있다. 따라서, 수신기는 app_id_byte_length가 0x0000이고, tap()구조의 content type descriptor가 기 설정된 내용과 일치하면 해당 tap()구조로부터 트리거 시그널링 정보를 수신할 수 있으며, 이를 통하여 상술한 바와 같이 트리거 스트림을 지시하는 PMT상의 PID값을 획득하고, 트리거 스트림을 수신할 수 있다. content type descriptor로부터 트리거 서비스 시그널링 정보가 존재함을 식별하기 위해, MIME 미디어 타입은 특정 타입으로 지정될 수 있다.
상술한 바와 같이, 하나의 NRT 서비스가 트리거 스트림을 전송하기 위한 트리거 서비스일 수 있으며, 트리거 서비스 내의 컨텐트 아이템별로 각각 다른 트리거 스트림을 전송할 수도 있다. 이 경우, 각 어플리케이션은 하나의 트리거 스트림을 포함할 수 있다.
따라서 본 발명의 일 실시예에서는 NRT 서비스의 각 컨텐트 아이템에 트리거 스트림을 포함하여 전송할 수 있다. 이 경우, 상술한 어플리케이션 식별 구조(Application identification structure)를 이용할 수 있다. 예를 들어, app_id_byte_length를 0x0003인 경우는 하나의 서비스 식별자를 이용하여 하나의 NRT 서비스를 통해 트리거 스트림을 전송함을 나타내고, 0x0007인 경우는 서비스 식별자 및 컨텐트 결합(content linkage)을 이용하여 컨텐트 아이템별로 트리거 스트림을 전송함을 나타낼 수 있다. 이와 같이 정의한 경우, 각 NRT 서비스 또는 컨텐트 아이템에 대응하여 각각의 트리거 스트림을 전송할 수 있다. 이후 단계의 트리거 시그널링 정보 전송 방법 및 트리거 스트림 수신 방법은 가상 채널당 하나의 트리거 스트림을 포함하는 경우와 동일하므로 생략하기로 한다.
도 29는 PMT의 신택스와 서비스 식별자 디스크립터의 일 실시예를 도시하고 있다.
도 29와 같이, PMT(Program Map Table)는 각 채널에서 방송되는 프로그램에 대한 정보를 나타낸다. PMT는 'packet ID'가 '0x00'으로 정의되어 전송되는 PAT(Program AssociationTable)에서, PMT가 전송되는 'packet ID'를 파싱하여서, PMT를 수신할 수 있다.
한편, 서비스 식별자 디스크립터는 PMT의 엘리멘터리 스트림(ES)별 디스크립터 루프(loop)에 포함될 수 있다. 그리고, 각 프로그램 엘리먼트에 포함된 서비스의 목록 정보를 포함할 수 있다.
서비스 식별자 디스크립터의 구조를 설명하면 다음과 같다.
descriptor_tag 필드는, 본 디스크립터가 service_id_descriptor()임을 나타내기 위한 필드이며, 0xC2값을 가질 수 있다.
descriptor_length 필드는, 본 필드 다음부터 본 디스크립터의 종료시까지 의 바이트 단위 길이를 나타낸다.
service_count 필드는, 본 디스크립터가 붙어 있는 프로그램 엘리먼트에 포함된 서비스의 개수를 지시한다.
service_id 필드는, 본 디스크립터가 붙어 있는 프로그램 엘리먼트에 포함된 서비스 식별자를 나타낸다.
본 발명의 일 실시예에서 트리거 스트림은 기 설정된 IP 주소(Well-known IP address)를 통해 전송될 수 있다. 그리고, 방송국은 트리거를 시그널링 하기 위해 트리거 스트림에 대응하는 특정 서비스 식별자(service id, 예를 들어 0x01)를 서비스 식별자 디스크립터에 포함하여 전송할 수 있다. 즉, 트리거 스트림을 수신하기 위한 트리거 시그널링 정보는 서비스 식별자 디스크립터를 통해 전송될 수 있다. 따라서, 수신기는 PMT의 ES 루프 내의 ES descriptor 루프에 포함된 service_id_descriptor의 서비스 식별자가 0x01인 경우, ES 루프 내의 elementray_PID가 트리거 스트림을 지시하는 PID라고 판단할 수 있으며, 이 PID를 이용하여 트리거 스트림을 수신할 수 있다.
도 30은 본 발명의 일 실시예에 따른 트리거 스트림 디스크립터를 도시한 도면이다. 본 발명의 일 실시예에 따르면 트리거 스트림 디스크립터를 이용하여 트리거를 시그널링할 수 있다. 상술한 서비스 식별자 디스크립터와 마찬가지로, 트리거 스트림 디스크립터는 PMT의 ES 루프 내 ES descriptor 루프에 포함될 수 있다. 따라서, 트리거 스트림이 존재하는 경우 ES descriptor 루프에 트리거 스트림 디스크립터가 존재할 수 있다. 수신기는 트리거 스트림 디스크립터를 식별한 경우, 해당 ES 루프 내 elementray_PID로부터 트리거 스트림의 PID를 획득하여 트리거 스트림을 수신할 수 있다.
이와 같이 트리거 시그널링 정보를 전송하기 위한 트리거 스트림 디스크립터는 트리거 스트림내 트리거의 대상이 되는 TDO의 서비스 식별자(target service id) 또는 트리거 스트림을 전송하는 IP 주소 리스트 중 적어도 하나를 포함할 수 있다. 도 30의 트리거 스트림 디스크립터는 일 실시예이며, 구조에 대한 설명은 다음과 같다.
descriptor_tag 필드는, 기 설정된 값인 경우 트리거 스트림 디스크립터(trigger_stream_descriptor)임을 나타낸다.
descriptor_length 필드는, 본 필드 다음부터 본 디스크립터의 종료시까지 바이트 단위 길이를 나타낸다.
target_service_count 필드는, 트리거 스트림에 포함된 하나 이상의 트리거들의 대상 NRT 서비스(TDO)의 개수를 나타낸다.
target_service_id 필드는, 트리거 스트림에 포함된 하나 이상의 트리거들의 대상 NRT 서비스(TDO)의 서비스 식별자(service_id)를 나타낸다. 수신기는 target_service_id 필드를 이용하여, 트리거 스트림을 수신하기 전이라도 대상 TDO의 서비스 식별자(service_id)를 알 수 있다.
target_content_item_count 필드는, 트리거 스트림에 포함된 하나 이상의 트리거들의 대상 NRT 서비스 컨텐트 아이템의 개수를 나타낸다.
target_content_linkage 필드는, 트리거 스트림에 포함된 하나 이상의 트리거들의 대상 NRT 서비스 컨텐트 아이템 결합(content_linkage)을 나타낸다.
한편, 트리거 스트림 디스크립터는 일 실시예이므로, 추가적인 정보를 부가하거나 다른 형태로 구성할 수 있는 점은 자명할 것이다. 예를 들어, 가상 채널 당 하나의 트리거 스트림을 전송하는 경우에는 컨텐트 아이템에 관한 필드는 생략할 수 있다. 또한 트리거 스트림을 식별하기 위한 트리거 스트림 식별 정보 필드 또는 프로필 정보 필드 중 적어도 하나가 부가될 수 있다.
방송국은 상술한 트리거 스트림 디스크립터를 이용하여 TDO와 같은 트리거 대상 NRT 서비스의 목록 정보를 전송할 수 있다. 또한, 방송국은 컨텐트 아이템에 따라 다른 트리거가 존재하는 경우에는 target_service_id 및 targe_content_linkage필드를 이용하여 트리거 시그널링 정보를 전송할 수 있다. 또한, 트리거 스트림 디스크립터는 트리거 스트림을 전송하는 IP 주소 정보 또는 포트 넘버의 목록을 더 포함할 수 있다.
한편, 본 발명의 일 실시예에 따르면, 방송국은 스트림 타입을 지정하여 트리거 시그널링 정보를 전송할 수 있다. 수신기는 PMT로부터 스트림 타입을 이용하여 트리거 시그널링 정보를 추출하고, 이를 통하여 트리거 스트림을 수신할 수 있다. 예를 들어, 현재 예비적으로 설정되어 있는 스트림 타입중 하나인 0x96을 트리거 스트림으로 지정할 수 있다. 이 경우, 종래의 수신기는 스트림 타입이 0x96인 경우에 대한 정보가 없으므로, 트리거 스트림을 처리하지 않고 버릴 수 있다. 따라서, 하위 기종의 수신기에 대한 호환성이 보장되는 장점이 있다.
본 발명의 일 실시예에 따르면 MHP(Multimidia Home Platform) 또는 ACAP(Advanced Common application platform)등의 데이터 방송에서 어플리케이션 정보를 전송하기 위한 AIT(Application information)테이블에 트리거를 포함하여 전송할 수 있다. 도 31은 이와 같은 AIT테이블의 일 실시예를 도시하고 있다.
그리고, 본 발명의 다른 일 실시예에 따르면 트리거 시간으로서 STT(System Time Table)를 참조하기 위해 트리거를 STT의 디스크립터에 포함하여 전송할 수도 있다. 도 32는 이와 같은 STT 테이블의 일 실시예를 도시한다.
도 33은 본 발명의 일 실시예에 따른 TDO 및 트리거를 송신하기 위한 송신기를 개략적으로 나타낸 블록도이다.
도 33을 참조하면, 본 발명의 일 실시예에 따른 송신기(200)는 NRT 서비스 전송부(210), 트리거 전송부(220), 다중화부(230) 및 변조부(240)를 포함하여 구성되며, NRT 서비스 전송부(210)는 NRT 서비스(TDO)생성부(211) 및 NRT 서비스 시그널링 데이터 생성부(212)를 포함하고, 트리거 전송부(220)는 트리거 생성부(221) 및 트리거 시그널링 데이터 생성부(222)를 포함하여 구성된다.
NRT 서비스(TDO)생성부(211)는 서비스 제공자로부터 NRT 서비스 생성을 위한 데이터를 수신하여 NRT 서비스를 생성하고, 생성된 NRT 서비스를 IP 데이터그램으로 패킷화하고, 이를 다시 전송 패킷(TP)으로 패킷화한다. 패킷화된 NRT 서비스 데이터는 다중화부(230)로 전송된다.
그리고, NRT 서비스 생성부(211)는 NRT 서비스 시그널링 데이터 생성부(212)로 NRT 서비스를 전송하고자 하는 채널 정보 및 service_id를 포함하는 메타데이터를 전송한다. 또한, 생성된 NRT 서비스가 TDO인 경우에는, TDO를 트리거 하기 위한 트리거 시간, 대상 TDO의 식별 정보 및 트리거 액션 정보를 포함하는 트리거 정보를 추출하여 트리거 생성부(221)로 전송한다.
NRT 서비스 시그널링 데이터 생성부(212)는 수신한 NRT 서비스 메타데이터를 이용하여 NRT 서비스를 수신하기 위한 NRT 서비스 시그널링 데이터를 생성하고, 전송 패킷(TP)으로 패킷화 한 뒤, 다중화부(230)로 전송한다.
한편, 트리거 생성부(221)는 NRT 서비스(TDO) 생성부로부터 수신한 TDO의 트리거 정보를 이용하여 트리거 데이터를 생성한다. 생성된 트리거 데이터는 전송 패킷화 되어 다중화부(230)로 전송된다. 그리고 트리거 생성부(221)는 전송한 트리거 데이터의 패킷 식별자(PID)와 같은 트리거 수신을 위한 메타데이터를 트리거 시그널링 데이터 생성부(222)로 전송한다.
트리거 시그널링 데이터 생성부(222)는 수신한 메타데이터에 기초하여 트리거 시그널링 데이터를 생성하고, 이를 다시 전송 패킷화 하여 다중화부(230)로 전송한다.
다중화부(230)는 수신한 전송 패킷들을 각각의 채널별로 다중화하고, 다중화된 신호를 변조부(240)로 전송한다.
변조부(240)는 다중화된 신호에 대하여 전송을 위한 변조 처리를 거쳐 외부로 송신한다. 변조 방법으로는 다양한 방법이 있을 수 있으며, 본 발명은 변조 방법에 한정되지는 않는다.
도 34는 본 발명의 일 실시예에 따른 TDO 및 트리거를 수신하기 위한 수신기(300)를 개략적으로 나타낸 블록도이다.
도 34와 같이, 본 발명의 일 실시예에 따른 수신기(300)는 복조부(310), 역다중화부(320), 트리거 처리부(330), NRT 서비스 처리부(340) 및 서비스 매니저(350)를 포함하여 구성되며, 트리거 처리부(330)는 트리거 수신부(331) 및 트리거 시그널링 데이터 수신부(332)를 포함하고, NRT 서비스 처리부(340)는 NRT 서비스(TDO) 수신부(341) 및 NRT 서비스 시그널링 데이터 수신부(342)를 포함하여 구성된다.
복조부(310)는 송신기(200)로부터 변조된 신호를 수신하여 기 지정된 복조 방식에 따라 복조하여 역다중화부(320)로 전송한다.
역다중화부(320)는 복조된 신호를 역다중화하여 각 채널별 원래의 전송 패킷들을 복원하여 트리거 처리부(330) 또는 NRT 서비스 처리부(340)의 각 수신부로 전송한다.
NRT 서비스 시그널링 데이터 수신부(342)는 앞서 설명한 바와 같은 패킷화된 NRT 서비스 시그널링 데이터를 역다중화부(320)로부터 수신하고 복원하여 NRT 서비스를 수신하기 위한 정보를 추출한 뒤, 이를 NRT 서비스(TDO) 수신부(341)로 전송한다. NRT 서비스(TDO) 수신부(341)는 NRT 서비스를 수신하기 위한 정보를 이용하여 NRT 서비스의 전송 패킷들을 역다중화부(320)로부터 수신하고, 이를 NRT 서비스 데이터로 복원하여 서비스 매니저(350)로 전송한다.
한편 트리거 시그널링 데이터 수신부(332)는 앞서 설명한 바와 같은 패킷화된 트리거 시그널링 데이터를 역다중화부(320)로부터 수신하여 복원하고, 트리거를 수신하기 위한 정보를 추출하여 트리거 수신부(331)로 전송한다. 트리거 수신부(331)는 트리거를 수신하기 위한 정보를 이용하여 트리거를 포함하는 전송 패킷들을 역다중화부(320)로부터 수신하고, 트리거 데이터를 복원하여 서비스 매니저(350)로 전송한다.
서비스 매니저(350)는 트리거 처리부(330) 또는 NRT 처리부(340)로부터 트리거 데이터 또는 NRT 서비스(TDO) 데이터 중 적어도 하나를 수신한다. 그리고, 서비스 매니저(350)는 트리거 시간에 트리거 대상 TDO에 대하여 트리거 액션을 수행 또는 적용함으로써 TDO에 대한 트리거 액션이 이루어지도록 한다.
도 35는 본 발명의 일 실시예에 의한 트리거 전송 방법을 개략적으로 나타낸 흐름도이다.
도 35를 참조하면, NRT 서비스 생성부(211)는 외부로부터 NRT 서비스 데이터를 수신하거나, NRT 서비스 제공자로부터 수신한 데이터에 기초하여 NRT 서비스 데이터를 생성한다(S100). 그리고, NRT 서비스 생성부(211)는 생성한 데이터를 전송 패킷으로 패킷화한다. 또한, NRT 서비스 생성부(211)는 NRT 서비스를 포함하는 전송 패킷들을 수신하기 위한 정보를 NRT 서비스 시그널링 데이터 생성부(212)로 전송한다.
이후, NRT 서비스 시그널링 데이터 생성부(212)는 앞서 설명한 바와 같은 NRT 서비스 시그널링 데이터를 생성하고, 전송 패킷으로 패킷화한다(S110).
한편, NRT 서비스 생성부(211)는 생성된 NRT 서비스가 트리거 선언적 오브젝트인지, 즉 TDO인지 판단한다(S120).
그리고, NRT 서비스 생성부(211)는 생성된 NRT 서비스가 TDO인 경우에는 대상 TDO를 트리거 하기 위한 트리거 시간, 트리거 액션, 대상 TDO 식별 정보를 포함하는 트리거 정보를 트리거 생성부(221)로 전송하고, 트리거 생성부(211)는 수신한 트리거 정보를 이용하여 트리거 데이터를 생성한다(S130). 생성된 트리거 데이터는 전송 패킷화되어 다중화부로 전송된다. 예를 들어, 대상 TDO에 대한 타겟 서비스 식별자 및 타겟 서비스에 대해 적용할 트리거 액션 정보는 패킷화된 스트림, 즉 PES의 페이로드에 삽입되어 전송될 수 있다. 또한, 트리거 시간 정보는 예를 들어, PTS 또는 DTS의 형태로 지정되어 PES의 페이로드 또는 헤더에 삽입되고, 전송될 수 있다. 이와 같이 동기화된 데이터 스트리밍 방식을 사용하면, 트리거 스트림의 PTS와 비디오 및 오디오 스트림의 PTS가 동기화되어 정확한 재생 타이밍을 맞출 수 있게 된다.
그리고, 트리거 시그널링 데이터 생성부(222)는 트리거 생성부(221)에서 전송한 트리거를 식별하여 수신하기 위한 트리거 시그널링 데이터를 생성하여 전송 패킷화하고, 다중화부로 전송한다(S140). 여기서, 트리거 시그널링 데이터는 프로그램 맵 테이블에 삽입된 트리거 스트림 디스크립터 또는 서비스 식별자 디스크립터를 포함할 수 있으며, 각 디스크립터에 대응되는 트리거 스트림의 패킷 식별자를 포함할 수 있다. 또한, 트리거 시그널링 데이터는 DST의 TAP구조에 포함된 트리거 스트림의 패킷 식별자를 포함할 수도 있다.
이후, 다중화부(230)는 전송 패킷화된 NRT 서비스 데이터, NRT 서비스 시그널링 데이터, 트리거 데이터 및 트리거 시그널링 데이터 중 적어도 하나를 전송 채널별로 다중화하고, 변조부(240)로 전송한다.
그리고, 변조부(240)는 다중화된 신호를 송신하기 위한 변조를 수행하고, 외부 수신기 또는 방송망으로 전송한다(S160).
도 36은 본 발명의 일 실시예에 따른 수신기(300)의 동작을 개략적으로 나타낸 흐름도이다.
먼저 수신기(300)는 전원이 ON 되는 경우, 사용자에 의해 선택된 채널 또는 기 설정된 채널을 선택한다(S200). 그리고, 선택된 채널로부터 수신되는 신호를 복조부(310)에서 복조하고, 역다중화부(320)는 복조된 신호를 전송 채널별로 역다중화한다(S210). 그리고, NRT 서비스 수신부(341) 및 NRT 서비스 시그널링 데이터부 수신부(342)는 앞서 설명한 바와 같이 NRT 서비스 데이터를 수신하여 서비스 매니저(350)로 전송한다.
이후, 트리거 시그널링 데이터 수신부(332) 또는 NRT 서비스 시그널링 데이터 수신부(342)는 트리거 수신이 가능한지 확인한다(S220). 트리거 수신 확인은 상술한 방법들 중 어느 하나를 이용할 수 있다. 즉, 트리거 시그널링 데이터 수신부(332) 또는 NRT 서비스 시그널링 데이터 수신부(342)는 PSIP base PID 또는 MGT에서 트리거에 대응하는 PID를 확인하는 방법, DST의 tap 구조를 이용한 방법, 서비스 식별자 디스크립터 또는 트리거 스트림 디스크립터를 이용한 방법, 트리거 스트림 타입을 이용한 방법, AIT 또는 STT를 이용한 방법 중 어느 하나의 방법을 사용하여 트리거 수신이 가능한지 확인 할 수 있다.
그리고, 트리거 수신이 가능한 것으로 확인된 경우, 트리거 시그널링 데이터 수신부(332)는 트리거 시그널링 데이터를 포함하는 전송 패킷을 수신하여, 트리거 시그널링 데이터를 복원하고, 트리거 수신부(331)로 전송한다(S230).
이후, 트리거 수신부(331)는 트리거 시그널링 데이터를 이용하여 수신한 전송 패킷 중에서 트리거 데이터를 추출하고, 이를 서비스 매니저(350)로 전송한다(S240). 예를 들어, 트리거 수신부(331)는 상술한 트리거 스트림 디스크립터에 대응하는 패킷 식별자를 이용하여 트리거 스트림을 수신할 수 있다. 또한, 트리거 수신부(331)는 트리거 스트림으로부터 트리거 정보를 추출하여 서비스 매니저(350)로 전송할 수 있다. 또한, 수신한 트리거 스트림이 PES인 경우에는, PES의 헤더에 포함된 PTS를 트리거 시간으로 추출하고, PES의 페이로드에 포함된 타겟 서비스 식별자 및 트리거 액션을 추출하여 서비스 매니저(350)로 전송할 수 있다.
그리고, 서비스 매니저(350)는 트리거가 수신된 경우, 트리거 시간에 대상 TDO에 대해 트리거 액션을 수행함으로써, TDO의 트리거가 이루어지도록 한다(S250). 특히, PES의 PTS가 트리거 시간인 경우에는 트리거 스트림의 PTS가 오디오 및 비디오 스트림의 PES의 헤더에 포함된 PTS와 동기화되어 정확한 재생 타이밍을 맞출 수 있다.
도 37은 본 발명의 일 실시예에 따른 트리거 수신 방법 중, 트리거 테이블을 이용하여 수신하는 방법을 나타낸 흐름도이다.
복조부(310) 선택된 채널에 대한 방송 신호를 수신하여 복조한다. 그리고, 트리거 시그널링 데이터 수신부(332)는 역다중화부(320)를 통하여 PSIP 테이블을 수신하며, 수신되는 테이블 중 트리거 테이블이 존재하는지 판단하여 트리거 서비스를 식별한다(S310). 트리거 시그널링 데이터 수신부(332)는 트리거 테이블로 할당한 PID를 MGT 또는 PSIP base 테이블중에서 검색하거나, 트리거 테이블에 할당한 Table_id에 대응되는 테이블을 검색하여 트리거 서비스를 식별할 수 있다.
만약, 트리거 서비스가 식별되지 않는 경우에는 수신기(300)는 일반 방송 서비스를 제공한다.
한편, 트리거 서비스가 식별된 경우, 트리거 수신부(331)는 검색된 트리거 테이블을 수신하여 수신한 트리거 테이블을 파싱한다(S320, S330).
이후, 서비스 매니저(350)는 트리거 테이블에서 파싱된 트리거 시간, 트리거 액션, 대상 TDO 식별 정보를 포함하는 트리거 정보를 수신하여, 해당 트리거 시간에 해당 TDO에 대해 해당 트리거 액션을 수행한다(S340).
도 38은 본 발명의 일 실시예에 따라 DST를 이용하여 트리거 시그널링 정보 및 트리거를 전송하는 경우 수신기(300)의 동작을 나타낸 흐름도이다.
수신기(300)는 물리적 전송 채널이 선택되고(S3000), 튜너에 의해 선택된 채널이 튜닝되면, 튜닝된 물리적 전송 채널로 수신되는 방송 신호로부터 복조부(310) 및 역다중화부(320)를 이용하여 VCT와 PMT를 획득한다(S3010). 그리고, PSI/PSIP 섹션 핸들러 또는 트리거 시그널링 데이터 수신부(332) 또는 NRT 서비스 시그널링 데이터 수신부(342)는 획득된 VCT 및 PMT를 파싱하며, NRT서비스가 있는지 확인한다.
예를 들어, VCT의 service_type필드 값이 0x04 또는 0x08이 아니면 해당 가상 채널은 NRT 전용 서비스를 전송하지 않는다. 이때 해당 가상 채널은 기존 방송 서비스를 전송하므로, 수신기(300)는 해당 가상 채널에 포함된 정보에 따라 적절한 동작을 수행한다. 그러나 service_type 필드 값이 NRT 전용 서비스를 의미하지 않는다 하더라도, 해당 가상 채널은 NRT 서비스를 포함할 수 있다. 이러한 경우 해당 가상 채널에 포함되는 부가 NRT 서비스(adjunct NRT service)라고 부르고, 수신기(300)는 NRT 서비스를 수신하는 경우와 같은 프로세스를 수행할 수 있다.
그리고, NRT 서비스 시그널링 데이터 수신부(342) 또는 트리거 시그널링 데이터 수신부(332)는 service_type 필드의 값이 0x04 또는 0x08이면, 해당 가상 채널을 통해 NRT 서비스를 수신할 수 있음을 판단할 수 있다. 이 경우, VCT의 service location descriptor(또는 PMT의 ES loop)에 포함된 stream_type 필드 값이 0x95(즉, DST 전송)이면, 이때의 Elementary_PID 필드 값을 이용하여 DST를 수신한다(S3020). 이는 서비스 매니저(350)의 제어에 의해 역다중화부(320)에서 수행될 수 있다.
그리고, 트리거 시그널링 데이터 수신부(342)는 수신된 DST로부터 트리거 서비스를 식별한다(S3040). 트리거 서비스를 식별하는 방법은 상술한 바와 같이 어플리케이션 식별 구조(application identification structure)를 이용하여 app_id_description, app_id_byte에 할당된 특정 값을 식별하는 방법, protocol_encapsulation 필드에 할당된 특정 값을 식별하는 방법, content type descriptor가 존재하는 tap을 식별하는 방법 중 어느 하나를 사용할 수 있다.
만약, 수신된 DST에서 트리거 서비스가 식별되지 않는 경우에는 해당 가상 채널은 트리거 데이터가 일반 NRT 서비스를 전송하고 있으므로, 수신기(300)는 해당 가상 채널에 포함된 NRT 서비스에 따라 적절한 동작을 수행한다(S3030).
그리고, DST에서 트리거 서비스가 식별된 경우, 트리거 시그널링 데이터 수신부(332)는 트리거 시그널링 정보(트리거 스트림의 PID)를 포함하는 DST로부터 tap을 추출한다(S3060).
이어서 트리거 시그널링 데이터 수신부(332)는 추출된 Tap의 association_tag를 포함하는 스트림 PID를 PMT로부터 추출한다(S3070).
트리거 수신부(331)는 추출된 스트림 PID에 해당하는 MPEG-2 TS 패킷들을 수신하고 디캡슐레이션 즉, TS 헤더를 제거하여, 트리거 스트림을 포함하는 PES 스트림을 복원한다. 트리거 스트림을 포함하는 PES 패킷의 스트림 타입(stream_type)은 동기화된 데이터 스트림을 나타내는 0x06일 수 있다. 트리거 수신부(331)는 복원된 PES 스트림으로부터 PES패킷 헤더의 PTS, 트리거 스트림에 포함된 대상 TDO 식별자, 트리거 식별자 또는 트리거 액션 정보중 적어도 하나를 파싱한다(S3070).
이후, 서비스 매니저(350)는 트리거를 포함하는 PES 패킷 헤더의 PTS를 트리거 시간으로 하여, 트리거 시간에 대상 TDO에 대한 액션을 수행한다(S3080). 여기서, 대상 TDO는 파싱된 대상 TDO 식별자에 의해 지시된 NRT 서비스일 수 있다. 또한, 액션은 파싱된 트리거 액션 정보에 의해 지시된 준비, 실행, 연장, 종료 명령 중 어느 하나일 수 있다.
도 39는 본 발명의 일 실시예에 따라 트리거 스트림 디스크립터를 이용하여 트리거를 전송하는 경우의 수신기의 동작을 나타낸 흐름도이다.
수신기(300)는 물리적 전송 채널이 선택되고(S3000), 튜너에 의해 선택된 채널이 튜닝되면, 튜닝된 물리적 전송 채널로 수신되는 방송 신호로부터 복조부(310) 및 역다중화부(320)를 이용하여 VCT와 PMT를 획득한다(S4000). 방송 신호는 VCT와 PMT를 포함하며, 트리거 시그널링 데이터 수신부(332) 또는 PSI/PSIP 섹션 핸들러가 획득된 VCT 및 PMT를 파싱한다.
그리고, 트리거 시그널링 데이터 수신부(332)는 VCT와 PMT로부터 해당 가상 채널로 트리거가 전송되고 있는지 확인한다. 이를 위하여 트리거 시그널링 데이터 수신부(332)는 해당 가상 채널에 대응하는 PMT의 ES 디스크립터 루프에 상술한 트리거 스트림 디스크립터(Trigger_stream_descriptor)가 존재하는지를 판단한다(s4020). Trigger_stream_descriptor가 존재하는지 여부는, ES 디스크립터 루프 내 디스크립터들을 탐색하되, stream_type 값이 동기화된 데이터 스트리밍에 해당하는 0x06인지와 해당 디스크립터의 descriptor_tag 필드가 트리거 스트림 디스크립터에 대응되도록 설정한 값과 일치하는지를 이용하여 판단할 수 있다.
만약, PMT에서 Trigger_stream_descriptor가 식별되지 않아 존재하지 않는다고 판단한 경우에는 해당 가상 채널은 트리거를 전송하지 않으므로, 수신기(300)는 해당 가상 채널에 포함된 방송 서비스에 따라 적절한 동작을 수행한다(S4025).
그리고, Trigger_stream_descriptor가 존재하는 경우, 트리거 시그널링 데이터 수신부(332)는 PMT의 해당 ES 루프 에 포함된 Elementray_PID를 추출한다(S4030). 추출된 스트림 PID는 트리거 스트림을 포함하는 스트림의 PID값일 수 있다.
이후, 트리거 수신부(331)는 추출된 스트림 PID에 해당하는 MPEG-2 TS 패킷들을 수신하여 디캡슐레이션 즉, TS 헤더를 제거하고, 트리거 스트림을 포함하는 PES 스트림을 복원한다. 트리거 스트림을 포함하는 PES 패킷의 스트림 타입(stream_type)은 동기화된 데이터 스트림을 나타내는 0x06일 수 있다. 트리거 수신부(331)는 복원된 PES 스트림으로부터 PES패킷 헤더의 PTS, 트리거 스트림에 포함된 대상 TDO 식별자, 트리거 식별자 또는 트리거 액션 정보중 적어도 하나를 파싱한다(S4040).
이후, 서비스 매니저(350)는 트리거를 포함하는 PES 패킷 헤더의 PTS를 트리거 시간으로 하여, 트리거 시간에 대상 TDO에 대한 액션을 수행한다(S4050). 여기서, 대상 TDO는 파싱된 대상 TDO 식별자에 의해 지시된 NRT 서비스일 수 있다. 또한, 액션은 파싱된 트리거 액션 정보에 의해 지시된 준비, 실행, 연장, 종료 명령 중 어느 하나일 수 있다.
도 40은 본 발명의 일 실시예에 따라 스트림 타입을 이용하여 트리거를 전송하는 경우의 수신기의 동작을 나타낸 흐름도이다.
수신기(300)는 물리적 전송 채널이 선택되고, 튜너에 의해 선택된 채널이 튜닝되면, 튜닝된 물리적 전송 채널로 수신되는 방송 신호로부터 복조부(310) 및 역다중화부(320)를 이용하여 VCT와 PMT를 획득한다. 방송 신호는 VCT와 PMT를 포함하며, 트리거 시그널링 데이터 수신부(332) 또는 PSI/PSIP 섹션 핸들러가 획득된 VCT 및 PMT를 파싱한다(S400).
그리고, 트리거 시그널링 데이터 수신부(332)는 VCT와 PMT로부터 해당 가상 채널로 트리거가 전송되고 있는지 확인한다. 이를 위하여 트리거 시그널링 데이터 수신부(332)는 해당 가상 채널에 대응하는 PMT의 ES 디스크립터 루프에 상술한 특정 스트림 타입인 0x96이 있는지 판단한다(S410).
만약, PMT에서 스트림 타입에 0x96이 식별되지 않아 존재하지 않는다고 판단한 경우에는 해당 가상 채널은 트리거를 전송하지 않으므로, 수신기(300)는 해당 가상 채널에 포함된 방송 서비스에 따라 적절한 동작을 수행한다(S415).
그리고, 스트림 타입이 0x96인 경우, 트리거 시그널링 데이터 수신부(332)는 PMT의 해당 ES 루프 에 포함된 Elementray_PID를 추출한다(S420). 추출된 스트림 PID는 트리거 스트림을 포함하는 스트림의 PID값일 수 있다.
이후, 트리거 수신부(331)는 추출된 스트림 PID에 해당하는 MPEG-2 TS 패킷들을 수신하여 디캡슐레이션 즉, TS 헤더를 제거하고, 트리거 스트림을 포함하는 PES 스트림을 복원한다. 트리거 수신부(331)는 복원된 PES 스트림으로부터 PES패킷 헤더의 PTS, 트리거 스트림에 포함된 대상 TDO 식별자, 트리거 식별자 또는 트리거 액션 정보중 적어도 하나를 파싱한다(S430).
이후, 서비스 매니저(350)는 트리거를 포함하는 PES 패킷 헤더의 PTS를 트리거 시간으로 하여, 트리거 시간에 대상 TDO에 대한 액션을 수행한다(S440). 여기서, 대상 TDO는 파싱된 대상 TDO 식별자에 의해 지시된 NRT 서비스일 수 있다. 또한, 액션은 파싱된 트리거 액션 정보에 의해 지시된 준비, 실행, 연장, 종료 명령 중 어느 하나일 수 있다.
도 41은 본 발명의 일 실시예에 따라 AIT를 이용하여 트리거를 전송하는 경우의 수신기의 동작을 나타낸 흐름도이다.
트리거 시그널링 데이터 수신부(332)는 복조부(310) 및 역다중화부(320)를 이용하여 AIT를 수신한다(S500).
그리고, 트리거 시그널링 데이터 수신부(332)는 AIT로부터 트리거가 전송되고 있는지 확인한다. 이를 위하여 트리거 시그널링 데이터 수신부(332)는 AIT에 트리거 디스크립터가 존재하는 확인한다(S510).
만약, 트리거 디스크립터가 존재하지 않는다고 판단한 경우에는 해당 어플리케이션은 트리거를 포함하지 않으므로, 수신기(300)는 해당 어플리케이션 서비스에 따라 적절한 동작을 수행한다(S515).
그리고, 트리거 디스크립터가 존재하는 경우, 트리거 수신부(332)는 트리거 디스크립터로부터 트리거 데이터를 추출하고, 추출한 트리거 데이터를 파싱하여 서비스 매니저(350)로 전송한다(S530).
이후, 서비스 매니저(350)는 파싱된 트리거 데이터에 기초하여 트리거 시간에 대상 TDO에 대한 액션을 수행한다(S540). 여기서, 대상 TDO는 파싱된 대상 TDO 식별자에 의해 지시된 NRT 서비스일 수 있다. 또한, 액션은 파싱된 트리거 액션 정보에 의해 지시된 준비, 실행, 연장, 종료 명령 중 어느 하나일 수 있다.
도 42는 본 발명의 일 실시예에 따라 STT를 이용하여 트리거를 전송하는 경우의 수신기의 동작을 나타낸 흐름도이다.
트리거 시그널링 데이터 수신부(332)는 복조부(310) 및 역다중화부(320)를 이용하여 STT를 수신한다(S600).
그리고, 트리거 시그널링 데이터 수신부(332)는 STT로부터 트리거가 전송되고 있는지 확인한다. 이를 위하여 트리거 시그널링 데이터 수신부(332)는 STT에 트리거 디스크립터가 존재하는 확인한다(S610).
만약, 트리거 디스크립터가 존재하지 않는다고 판단한 경우에는 해당 STT는 트리거를 포함하지 않으므로, 수신기(300)는 방송 신호에 따라 적절한 동작을 수행한다(S615).
그리고, 트리거 디스크립터가 존재하는 경우, 트리거 수신부(332)는 트리거 디스크립터로부터 트리거 데이터를 추출하고, 추출한 트리거 데이터를 파싱하여 서비스 매니저(350)로 전송한다(S630).
이후, 서비스 매니저(350)는 파싱된 트리거 데이터에 기초하여 트리거 시간에 대상 TDO에 대한 액션을 수행한다(S540). 여기서, 대상 TDO는 파싱된 대상 TDO 식별자에 의해 지시된 NRT 서비스일 수 있다. 또한, 액션은 파싱된 트리거 액션 정보에 의해 지시된 준비, 실행, 연장, 종료 명령 중 어느 하나일 수 있다.
이하에서는 도 43과 도 44를 참고하여 본 발명의 한 실시예에 따른 트리거 데이터 전송 패턴을 설명한다. 특히, 활성화 트리거 데이터(Activation Triggering Data, ATD)의 전송 패턴을 설명한다.
일 실시예에서, 활성화에 해당하는 값으로 설정된 트리거 액션을 포함하는 트리거 데이터가 활성화 트리거 데이터일 수 있다. 활성화 트리거 데이터는 타겟 서비스 식별자에 해당하는 오브젝트의 활성화(실행)를 트리거한다.
도 43은 본 발명의 한 실시예에 따른 타이밍 다이어그램을 보여준다.
도 43에 도시된 바와 같이, 송신기(200)는 수신기(300)가 언제 채널을 변경할지 수신기(300)가 언제 Power On될지 그리고 수신기(300)가 해당 NRT 서비스가 존재하는 채널을 언제 선택할지를 알 수 없으므로, 송신기(200)는 지상파 방송을 통해 NRT 방식으로 전송되는 다운로드 컨텐트들을 주기적으로 반복하여 전송할 수 있다.
이와 같은 이유로, 송신기(200)는 활성화 트리거 데이터 또한 주기적으로 전송할 수 있다. 그러나, 매우 짧은 주기로 활성화 트리거 데이터가 전송되면 전송 대역의 낭비가 초래되고, 수신기(300)는 주기적으로 활성화 트리거 데이터를 체크하여야 하므로 오버헤드가 발생할 수 있다. 반면, 매우 긴 주기로 활성화 트리거 데이터가 전송되면 수신기(300)는 활성화 트리거 데이터에 해당하는 NRT 데이터를 수신하였음에도 불구하고 수신한 NRT 데이터를 활성화시키지 못할 수 있다. 따라서 적절한 활성화 트리거 데이터의 전송 타이밍이 요구된다.
도 43에서, 활성화 시간(T1)은 NRT(T1) 서비스의 활성화가 트리거되는 시간을 나타낸다. 유효 시간(Te)은 활성화 시간(T1) 이전에 마지막으로 NRT(T1)이 전송되기 시작한 시간을 나타낸다. 전송 주기 변경 시간(To)는 활성화 트리거 데이터가 전송되는 주기가 변경되는 시간을 나타낸다. 전송 주기 변경 시간(To)은 송신기(200)가 결정할 수 있는 시간 파라미터이다. 시간 윈도우(Tp1)는 유효 시간(Te) 이전을 나타낸다. 시간 윈도우(Tp2)는 유효 시간(Te)과 활성화 시간(T1) 사이를 나타낸다. 시간 윈도우(Tp3)는 유효 시간(Te)과 전송 주기 변경 시간(To) 사이를 나타낸다. 시간 윈도우(Tp4)는 전송 주기 변경 시간(To)과 활성화 시간(T1) 사이를 나타낸다.
활성화 시간(T1)에 NRT(T1) 서비스가 실행되기 위해서는 수신기(300)는 활성화 시간(T1) 이전에 NRT(T1) 서비스의 수신과 저장을 완료하고 NRT(T1) 서비스를 위한 활성화 트리거 데이터를 수신할 필요가 있다. 이를 위하여 수신기(300)는 유효 시간(Te) 이전에 NRT(T1) 서비스를 전송하는 채널을 튜닝하고 NRT(T1) 서비스의 수신 완료까지 해당 채널을 유지하면, 수신기(300)는 NRT(T1) 서비스를 활성화 시간(T1) 이전에 저장할 수 있다. 따라서 시간 윈도우(Tp2)에서 활성화 트리거 데이터가 전송된다하더라도 수신기(300)는 NRT(T1) 서비스를 수신할 수 없으므로 시간 윈도우(Tp2)에서 활성화 트리거 데이터의 전송은 의미가 없을 수 있다.
하지만 수신기(300)가 시간 윈도우(Tp1)에서 NRT(T1) 서비스를 전송하는 채널을 튜닝하고 NRT(T1) 서비스의 수신을 완료한 후 다른 채널로 채널 변경을 수행한 경우에, 수신기(300)가 시간 윈도우(Tp2)에서 NRT(T1) 서비스를 전송하는 채널로 채널 변경을 수행하면, 수신기(300)는 NRT(T1) 서비스를 가지고 있을 수 있다. 따라서, 송신기(200)는 시간 윈도우(Tp2)에서 활성화 트리거 데이터를 전송하는 것이 필요하다.
한편, 송신기(200)는 전송 주기 변경 시간(To)에 의해 시간 윈도우(Tp3)와 시간 윈도우(Tp4)를 구별하여 활성화 트리거 데이터를 전송할 수 있다. 전송 주기 변경 시간(To) 이전에서는 NRT(T1) 서비스가 실행될 때까지 적어도 시간 윈도우(Tp4)의 시간이 남아 있으므로, 송신기(200)는 긴 주기로 활성화 트리거 데이터를 전송한다. 이때, 송신기(200)는 n*Tp4를 주기로 하여 활성화 트리거 데이터를 전송할 수 있다.
반면에, 전송 주기 변경 시간(To)과 활성화 시간(T1) 사이에서는 NRT(T1) 서비스가 실행될 때까지 시간이 얼마 남지 않았으므로, 송신기(200)는 짧은 주기로 활성화 트리거 데이터를 전송할 수 있다. 이때, 송신기(200)는 짧은 주기 전송 횟수(M)만큼의 활성화 트리거 데이터를 전송할 수 있다. 이때의 짧은 주기(P(Tp4))는 [Tp4/M]가 될 수 있다. []는 가우스 기호를 나타낸다. 짧은 주기 전송 횟수(M)는 수신기(300)의 채널 변경 시간을 고려하여 설계될 수 있다. 따라서 수신기(300)가 활성화 시간(T1)보다 P(Tp4) 이전에 NRT(T1) 서비스를 제공하는 채널로 채널 변경을 수행하면, NRT(T1) 서비스가 정상적으로 제공될 수 있다.
T1 - P(Tp4)와 활성화 시간(T1) 사이에서 수신기(300)가 (T1) 서비스를 제공하는 채널로 진입하면, NRT(T1) 서비스가 정상적으로 제공될 수 없지만, 아주 짧은 시간에 불과하므로 확률적으로 발생할 가능성이 적다. 또한, 이 경우는 후술하는 유지 트리거 데이터에 의해 보완할 수 있다.
이상에서, 유효 시간(Te)가 전송 주기 변경 시간(To)보다 이전이었지만, 반드시 이에 한정될 필요는 없다. 즉, 전송 주기 변경 시간(To)가 유효 시간(Te)보다 이전일 수 있다.
도 44는 본 발명의 한 실시예에 따른 활성화 트리거 데이터 전송 방법을 보여주는 흐름도이다.
먼저, 트리거 전송부(220)는 타겟 오브젝트인 NRT(T1) 서비스의 활성화 시간(T1)을 설정하고(S5101), 전송 주기 변경 시간(To)을 설정하고(S5103), 짧은 주기 전송 횟수(M)를 설정한다(S5105).
현재 시스템 시간(t)이 전송 주기 변경 시간(To) 이전이면(S5107), 트리거 전송부(220)는 긴 주기로 NRT(T1) 서비스를 위한 활성화 트리거 데이터를 전송한다(S5109). 이때, 트리거 전송부(220)는 n*Tp4를 주기로 하여 활성화 트리거 데이터를 전송할 수 있다.
현재 시스템 시간(t)이 전송 주기 변경 시간(To) 이후이고 NRT(T1) 서비스의 활성화 시간(T1) 이전이면(S5111), 트리거 전송부(220)는 짧은 주기로 NRT(T1) 서비스를 위한 활성화 트리거 데이터를 전송한다(S5113).
현재 시스템 시간(t)이 NRT(T1) 서비스의 활성화 시간(T1) 이후이면(S5111), 트리거 전송부(220)는 NRT(T1) 서비스를 위한 활성화 트리거 데이터의 전송을 종료한다(S5115).
도 44에서, 현재 시스템 시간(t)은 전송 주기 변경 시간(To)이나 NRT(T1) 서비스의 활성화 시간(T1)과 비교된다. 따라서, 현재 시스템 시간(t), 전송 주기 변경 시간(To), NRT(T1) 서비스의 활성화 시간(T1)의 시간 기준은 동일할 필요가 있다. 예컨데, 현재 시스템 시간(t), 전송 주기 변경 시간(To), NRT(T1) 서비스의 활성화 시간(T1)은 모두 UTC 시간일 수 있다. NRT(T1) 서비스의 활성화 시간(T1)이 PTS로 주어진다면, PTS는 PCR을 reference로 사용하므로, 현재 시스템 시간(t)은 STC에 해당할 수 있다. 이러한 사항은 본 명세서에서 언급하는 시간 비교에 적용될 수 있다.
이하에서는 도 45 내지 도 47을 참고하여 본 발명의 또 다른 실시예에 따른 트리거 데이터 전송 패턴을 설명한다. 특히, 유지 트리거 데이터(maintenance Triggering Data, MTD)의 전송 패턴을 설명한다.
일 실시예에서, 유지에 해당하는 값으로 설정된 트리거 액션을 포함하는 트리거 데이터가 유지 트리거 데이터일 수 있다.
유지 트리거 데이터의 타겟 서비스 식별자에 해당하는 오브젝트가 수신기(300)에서 이미 활성화되었으면, 유지 트리거 정보는 이 오브젝트의 활성화의 유지를 트리거할 수 있다. 그리고, 유지 트리거 데이터의 타겟 서비스 식별자에 해당하는 오브젝트가 수신기(300)에서 아직 활성화되지 않았으면, 유지 트리거 정보는 이 오브젝트의 활성화를 트리거할 수 있다.
도 45는 본 발명의 또 다른 실시예에 따른 타이밍 다이어그램을 보여준다.
도 45에서 활성화 시간(Ta)는 TDO의 활성화 시간을 나타내고, 종료 시간(Tf)은 TDO의 종료 시간을 나타낸다. 추가 액션 시간(Taction)은 활성화 시간(Ta) 이후에 그리고 종료 시간(Tf) 이전에 TDO를 위한 다른 추가 액션이 트리거(활성화)되는 시간을 나타낸다. 시간 윈도우(Tplife)는 활성화 시간(Ta)과 종료 시간(Tf) 사이를 나타내며, 특히 TDO의 라이프타임을 나타낸다. 시간 윈도우(Tp1)은 활성화 시간(Ta)과 추가 액션 시간(Taction) 사이를 나타낸다. 시간 윈도우(Tp2)은 추가 액션 시간(Taction)과 종료 시간(Tf) 사이를 나타낸다.
수신기(300)가 A 채널에서 B 채널로 튜닝 채널을 변경한 후 다시 A 채널로 돌아온 경우에, 수신기(300)는 이전에 실행하던 TDO를 재실행해 줄 필요가 발생한다. 또는 A 채널에 해당하는 NRT 컨텐트(TDO)가 수신기(300)에 미리 저장되어 있고 수신기(300)가 이 TDO의 활성화 시간(Ta) 이후에 A 채널로 들어오는 경우에 수신기(300)는 TDO를 실행해 줄 필요가 발생한다. 이러한 경우를 위하여 송신기(200)는 본 발명의 실시예에 따른 유지 트리거 데이터를 전송할 수 있다.
수신기(300)가 해당 NRT 컨텐트를 이전에 다운받아 저장했다면, 수신기(300)는 다음과 같은 경우에 MTD를 필요로 할 수 있다. 즉, 수신기(300)가 A 채널에서 B 채널로 튜닝 채널을 변경한 이후에 시간 윈도우(Tplife) 안에 다시 A 채널로 돌아온 경우에, 수신기(300)는 MTD를 필요로 할 수 있다. 또한, 수신기(300)가 A 채널에서 파워 오프된 후 파워 온되어 시간 윈도우(Tplife) 안에 다시 A 채널로 돌아온 경우에, 수신기(300)는 MTD를 필요로 할 수 있다. 수신기(300)가 시간 윈도우(Tplife) 내에 A 채널에서 B 채널로 튜닝 채널을 변경한 후에 시간 윈도우(Tplife) 안에 다시 A 채널로 돌아온 경우에, 수신기(300)는 MTD를 필요로 할 수 있다. 수신기(300)가 시간 윈도우(Tplife) 안에 A 채널에서 파워 오프된 후 파워 온되어 시간 윈도우(Tplife) 안에 다시 A 채널로 돌아온 경우에, 수신기(300)는 MTD를 필요로 할 수 있다.
MTD가 필요한 경우엔 송신기(200)는 시간 윈도우(Tplife) 내에서 MTD를 계속해서 전송해서 MTD와 관련된 TDO가 재실행될 수 있도록 한다. MTD의 전송 주기(Pmtd)는 수신기(300)의 전원 온/오프에 걸리는 시간과 채널 변경이 일어나는 시간을 고려해서 설정될 수 있다.
한편, 도 45는 시간 윈도우(Tplife) 내에서 TDO action이 Taction 시간에 한 차례 발생하는 경우를 예로 보여 주고 있다. 이 경우 시간 윈도우(Tp1) 내에서 송신기(200)는 ATD와 동일한 형태의 MTD를 구성하여 전송할 수 있다. 또한, 송신기(200)는 ATD에 특정 추가 행동을 덧붙인 형태의 MTD를 구성하여 전송할 수도 있다. TDO action이 발생한 이후인 시간 윈도우(Tp2)에서 송신기(200)는 TDO action에 해당하는 트리거 데이터와 동일한 형태의 MTD를 구성하여 전송할 수도 있고, TDO action에 해당하는 트리거 데이터에 특정 추가 행동을 덧붙인 형태의 MTD를 구성하여 전송할 수도 있다.
도 46은 본 발명의 한 실시예에 따른 유지 트리거 데이터 전송 방법을 보여주는 흐름도이다.
트리거 전송부(220)는 타겟 오브젝트인 TDO를 위한 활성화 시간(Ta)를 설정한다(S5201).
트리거 전송부(220)는 타겟 오브젝트를 위한 MTD의 전송 주기(Pmtd)를 결정한다(S5203). MTD의 전송 주기(Pmtd)는 미리 결정된 값으로 설정될 수 있다. 또한, MTD의 전송 주기(Pmtd)는 수신기(300)의 채널 변경 시간 또는 수신기(300)의 전원 온/오프에 걸리는 시간을 고려하여 설정될 수 있다.
현재 시스템 시간(t)이 타겟 오브젝트의 활성화 시간(Ta) 이전이면(S5205), 트리거 전송부(220)는 타겟 오브젝트를 위한 MTD를 전송하지 않는다(S5207).
한편, 현재 시스템 시간(t)이 타겟 오브젝트의 활성화 시간(Ta) 이후이고(S5205) 타겟 오브젝트의 종료 시간(Tf) 이전이면(S5209), 트리거 전송부(220)는 트리거 데이터의 변경을 확인한다(S5211).
트리거 데이터가 변경된 경우에, 트리거 전송부(220)는 변경된 트리거 데이터와 추가 액션을 포함하는 유지 트리거 데이터를 전송한다(S5213).
트리거 데이터가 변경되지 않은 경우에, 트리거 전송부(220)는 변경 전 트리거 데이터와 추가 액션을 포함하는 유지 트리거 데이터를 전송한다(S5215).
한편, 현재 시스템 시간(t)이 타겟 오브젝트의 종료 시간(Tf) 이후이면(S5209), 트리거 전송부(220)는 유지 트리거 데이터의 전송을 종료한다(S5217).
도 47은 본 발명의 한 실시예에 따른 유지 트리거 수신 방법을 설명한다.
먼저, 수신기(300)의 트리거 수신부(331)는 유지 트리거 데이터를 수신한다(S5301). 유지 트리거 데이터의 수신은 앞에서 설명한 다양한 실시예에 따라 수행될 수 있다.
유지 트리거 데이터의 타겟 서비스 식별자에 해당하는 오브젝트가 수신기(300)에서 이미 활성화되었으면(S5303), 수신기(300)의 서비스 매니저(350)는 이 오브젝트의 활성화를 유지한다(S5305)
유지 트리거 데이터의 타겟 서비스 식별자에 해당하는 오브젝트가 수신기(300)에서 아직 활성화되지 않았으면(S5303), 수신기(300)의 서비스 매니저(350)는 상기 오브젝트를 활성화시킨다(S5307).
이하에서는 도 48 내지 도 50를 참고하여 본 발명의 한 실시예에 따른 트리거 데이터 수신 타이밍을 설명한다. 특히, 준비 트리거 데이터(preparation Triggering Data, PTD)의 수신 타이밍을 설명한다.
일 실시예에서, 준비에 해당하는 값으로 설정된 트리거 액션을 포함하는 트리거 데이터가 준비 트리거 데이터일 수 있다. 준비 트리거 데이터의 파싱을 통해 준비를 위한 타겟 서비스 식별자와 준비 트리거 시간이 획득될 수 있다. 준비 트리거 데이터는 타겟 서비스 식별자에 해당하는 오브젝트의 준비를 트리거한다.
송신기(200)는 활성화 시간 전에 사전 작업이 필요한 TDO를 위해 다음과 같은 사전 작업에 대한 Trigger인 준비 트리거 데이터를 제공할 수 있다.
인터넷 연결을 체크하여 TDO와 연계된 다운로드 가능한 컨텐트를 미리 다운 받는 작업이 활성화 시간 전에 요구되는 경우에, 준비 트리거 데이터가 전송될 수 있다.
또한, 사용자 인터페이스를 생성하는데 시간이 오래 걸려서 TDO를 백그라운드(background)에서 활성화시킬 것이 요구되는 경우에, 준비 트리거 데이터가 전송될 수 있다. 이는 사용자 인터페이스를 생성하는데 사용되는 사진 데이터와 같은 데이터가 많아서 디코딩이 미리 요구되는 경우나, TDO와 연관된 메타 데이터를 통해 사용자 인터페이스를 생성할 때 시간이 오래 걸리는 경우에 해당할 수 있다. 또 웹 기반(Web-based) TDO의 다운로드가 미리 요구되는 경우에 해당할 수 있다.
활성화될 TDO가 네트워크를 통한 서버와 연동이 필요한 TDO여서 미리 서버와의 접속 가능성을 체크하거나 서버와 연결을 미리 수행하기 위하여, 준비 트리거 데이터가 전송될 수 있다.
이상의 사전 작업은 서로 조합된 형태를 가질 수도 있다.
도 48은 본 발명의 한 실시예에 따른 타이밍 다이어그램을 보여준다.
도 48에서, 준비 트리거 시간(Tp)는 PTD에 의해서 TDO의 준비가 트리거되는 시간을 나타낸다. 활성화 시간(Ta)는 TDO가 활성화되는 시간을 나타내고, 종료 시간(Tf)는 TDO가 종료되는 시간을 나타낸다.
시간 윈도우(Tpa)는 준비 트리거 시간(Tp)과 활성화 시간(Ta)의 사이를 나타내고, 시간 윈도우(Tplife)는 활성화 시간(Ta)과 종료 시간(Tf) 사이를 나타낸다.
시간 윈도우(Tpa)는 사전 작업에 따라 해당 사전 작업에 따라서 달라질 수 있다.
수신기(300)가 컨텐트 다운로드와 관련된 준비 트리거 데이터를 수신하는 경우에, 가능한 한 빨리 컨텐트를 다운로드하는 것이 좋을 수 있다. 이를 위하여 송신기(200)는 0으로 설정된 준비 트리거 시간을 가지는 준비 트리거 데이터를 전송할 수 있다. 즉, 수신기(300)가 0으로 설정된 준비 트리거 시간을 가지는 준비 트리거 데이터를 수신하면, 수신기(300)는 즉시 컨텐트 다운로드를 개시할 수 있다.
수신기(300)는 활성화를 위하여 다운로드 컨텐트를 필요로 하는 TDO를 위한 PTD를 수신하지 못하였거나 활성화 시간(Ta) 직전에 TDO를 위한 준비를 트리거 할 수 있다. TDO의 활성화를 위하여 다운로드 컨텐트가 필요하지만 다운로드되지 않은 경우에, 수신기(300)는 TDO를 활성화 시간(Ta)에 활성화시키지 않을 수도 있고, 활성화를 한 후에 컨텐트의 다운로드를 수행할 수 있다. TDO 액션이 이러한 정보를 담는다면, 수신기(300)는 TDO 액션에 기초하여 TDO의 활성화를 결정할 수도 있다.
송신기(200)는 UI 생성이 필요하거나 네트워크 체크가 필요한 TDO를 위한 준비 트리거 시간(Tp)을 TDO의 타입에 따라 설정할 수 있다. 송신기(200)는 시간 윈도우(Tpa)에서도 Tp로 설정된 트리거 시간을 갖는 PTD를 계속해서 전송할 수 있다.
수신기(300)는 준비 트리거 시간(Tp)과 현재 시스템 시간을 비교하여 현재 시스템 시간이 준비 트리거 시간(Tp) 이후이면, 활성화 시간(Ta) 이전에 가능한한 빨리 TDO의 준비를 완료할 수 있도록 수신기(300)는 PTD를 받자 마자 TDO의 준비를 개시한다.
도 49는 본 발명의 한 실시예에 따른 준비 트리거 수신 방법을 보여주는 흐름도이다.
특히 도 49는 다운로딩 준비 트리거 데이터의 처리 방법을 보여준다.
먼저, 수신기(300)의 트리거 수신부(331)는 준비 트리거 데이터를 수신하고(S5401), 수신한 준비 트리거 데이터를 파싱하여 저장한다(S5403). 준비 트리거 데이터의 수신은 앞에서 설명한 트리거 데이트를 수신하는 다양한 실시예에 따라 수행될 수 있다.
수신한 준비 트리거 데이터가 다운로딩 준비 트리거 데이터가 아니면(S5405), 서비스 메니저(350)는 수신한 준비 트리거 데이터를 다른 종류의 준비 트리거 데이터로서 처리한다(S5407).
수신한 준비 트리거 데이터가 다운로딩 준비 트리거 데이터이면(S5405), 서비스 메니저(350)는 인터넷 연결을 확인한다(S5409).
인터넷 연결이 정상적이 아니면, 서비스 메니저(350)는 수신한 PTD를 무시한다(S5411). 계속해서 수신되는 다운로딩 PTD를 처리하기 위한 부하를 줄이기 위하여 서비스 메니저(350)는 수신한 PTD를 저장한 채 무시하면서 지우지는 않을 수 있다. 다운로딩 PTD와 관련된 TDO가 종료되면, 서비스 메니저(350)는 수신한 PTD를 삭제할 수 있다.
인터넷 연결이 정상적이면, 서비스 메니저(350)는 수신한 준비 트리거 데이터의 트리거 시간에 다운로드 컨텐트의 다운로드를 개시한다(S5413). 이때, 서비스 메니저(350)는 수신한 준비 트리거 데이터의 타겟 서비스 식별자에 해당하는 TDO를 백그라운드에서 활성화시켜 활성화된 TDO가 다운로드 컨텐트를 다운로드하도록 할 수 있다. 또한, 서비스 메니저(350)는 타겟 서비스 식별자와 다운로딩 URL을 다운로드 메니저에 제공하여 다운로드 메니저가 다운로드 컨텐트를 다운로드하도록 할 수 있다.
활성화된 TDO 또는 다운로드 메니저는 다운로드 컨텐트를 저장한다(S5415). 한편, 다운로드 메니저가 컨텐트를 다운로드한 경우에, 다운로드 메니저는 타겟 서비스 식별자와 관련하여 다운로드 컨텐트를 저장한다.
도 50은 본 발명의 또 다른 실시예에 따른 준비 트리거 수신 방법을 보여주는 흐름도이다.
특히, 도 50은 TDO의 준비를 위하여 TDO의 백그라운드 활성화를 요구하는 PTD의 처리 방법을 보여준다.
먼저, 수신기(300)의 트리거 수신부(331)는 준비 트리거 데이터를 수신하고(S5501), 수신한 준비 트리거 데이터를 파싱하여 저장한다(S5503). 준비 트리거 데이터의 수신은 앞에서 설명한 트리거 데이트를 수신하는 다양한 실시예에 따라 수행될 수 있다. 수신한 준비 트리거 데이터의 파싱을 통해, 타겟 서비스 식별자와 준비 트리거 시간이 획득될 수 있다.
현재 시스템 시간(t)이 준비 트리거 시간(Tp) 이후이면(S5505), 서비스 메니저(350)는 준비 트리거 데이터의 타겟 서비스 식별자에 해당하는 TDO를 백그라운드에서 활성화한다(S5507). 즉, PTD의 수신 시간이 준비 트리거 시간(Tp) 이전이면, 준비 트리거 시간(Tp)에 도달할 때 서비스 메니저(350)는 TDO를 백그라운드에서 활성화한다. 한편, PTD의 수신 시간이 준비 트리거 시간(Tp) 이후이면, 서비스 메니저(350)는 즉시 TDO를 백그라운드에서 활성화한다. 이때, 수신기(300)의 튜닝 채널이 변경되더라도, 서비스 메니저(350)는 TDO를 종료하지 않고, 백그라운드 상태를 유지한다.
현재 시스템 시간(t)이 TDO의 활성화 시간(Ta) 이후이면(S5509), 서비스 메니저(350)는 TDO의 상태를 포그라운드(foreground)로 변경한다(S5511). 특히, TDO의 활성화 시간(Ta)과 TDO의 종료 시간(Tf) 사이에서 수신기(300)가 TDO의 서비스 채널로 복귀하면, 서비스 메니저(350)는 TDO의 상태를 포그라운드(foreground)로 변경한다
현재 시스템 시간(t)이 TDO의 종료 시간(Tf) 이후이면(S5513), 서비스 메니저(350)는 TDO를 종료한다(S5515). 특히, 백그라운드 상태로 활성화되고 포그라운드 상태로 변경되지 못한 TDO가 있다면, 서비스 메니저(350)는 그러한 TDO를 종료한다. 이때, 서비스 메니저(350)는 해당 TDO의 종료시점을 알고 있을 필요가 있다. 이를 위하여, ATD는 해당 TDO의 종료 시점을 포함할 수 있다.
이처럼 트리거는 그 성격에 따라 크게 준비 트리거, 활성화 트리거, 및 유지 트리거로 분류될 수 있다.
즉, 준비 트리거는 활성화 트리거(Activation Trigger)에 앞서서 수신기(300)에 전달되어 활성화 트리거(Activation trigger)를 통해 수행되는 기능에 대한 사전 준비를 수신기(300)가 하게 할 수 있는 사전 트리거(pre-trigger)를 나타낼 수 있다. 준비 트리거를 통해 수신기(300)는 정확한 시점에 자연스럽게 트리거 액션을 수행할 수 있다.
활성화 트리거(Activation Trigger)는 특정 시점에 수신기가 TDO의 실행 또는 종료와 같은 TDO의 상태 변경과 관련된 특정한 기능을 수행하도록 명하는 트리거이다.
유지 트리거(Maintenance Trigger)는 수신기(300)가 활성화 트리거(Activation trigger)에서 지정된 트리거 수행 시점을 놓쳤을 경우에 수신기(300)가 이 트리거를 처리하는 방안에 대한 지시 혹은 가이드를 제공해 줄 수 있는 트리거이다. 넓은 의미에서 유지 트리거는 트리거의 라이프 사이클 관리에 이용되는 트리거를 통칭하는 의미를 가질 수 있다.
이러한 3 종류 트리거의 조합을 통하여 수신기(300)는 활성화 트리거(Activation trigger)가 지시하는 트리거링 시점 이전에 활성화 트리거(Activation trigger)가 지시하는 Action에 필요한 준비를 완료하여 정확한 시점에 자연스러운 action 수행을 할 수 있다. 또한 만일 수신기(300)가 트리거링 시점 직전이나 이후에 해당 채널로 진입하여 트리거 수행을 하지 못하였을 경우에는 Maintenance trigger를 통하여 이에 대한 대처를 할 수 있다. 따라서 이와 같이 구성한 트리거는 다양한 실제 시청 환경에서 최적의 트리거 수행을 이룰 수 있는 방안을 제공할 수 있다.
이런 3가지 트리거의 식별 방법과 3가지 트리거 간의 상호 참조 방법에 대하여는 후술한다.
도 51은 본 발명의 또 다른 실시예에 따라 구성한 트리거의 비트스트림 신택스를 도시한 것이다.
도 51에 도시된 신택스를 따르는 트리거는 도 25에 도시된 신택스를 따르는 트리거에 비하여 트리거 타입 필드(trigge_type), 참조 타겟 트리거 식별자 필드(target_trigger_id_ref), 오페이크 데이터 길이 필드(opaque_data_length), 오페이크 데이터 필드(opaque_data)를 더 포함한다.
트리거 타입 필드(trigge_type)는 트리거의 종류를 나타낸다. 예컨데, 트리거 타입 필드의 값이 0x00인 트리거는 "Reserved for future use"를 나타낼 수 있다. 트리거 타입 필드의 값이 0x01, 0x02, 0x03, 0x04인 트리거는 각각 준비 트리거, 활성화 트리거, 유지 트리거, 웹 북마크 트리거를 나타낼 수 있다.
준비 트리거, 활성화 트리거, 유지 트리거의 구별을 위하여 트리거 타입 필드를 이용하는 것 이외의 방안도 이용될 수 있다.
예컨데, 일 실시예에서, 트리거 데이터는 트리거 타입 필드를 가지지 않고, trigger_action 필드를 통해 준비 트리거, 활성화 트리거, 유지 트리거는 구별될 수 있다. 즉, trigger_action 필드가 준비 트리거에 해당하는 값을 가지면, 수신기(300)는 수신한 트리거를 준비 트리거로 식별할 수 있다. 또, trigger_action 필드가 활성화 트리거에 해당하는 값을 가지면, 수신기(300)는 수신한 트리거를 활성화 트리거로 식별할 수 있다. trigger_action 필드가 유지 트리거에 해당하는 값을 가지면, 수신기(300)는 수신한 트리거를 유지 트리거로 식별할 수 있다.
또 다른 실시예에서, 트리거 데이터는 트리거 타입 필드를 가지지 않고, 유지 트리거에 해당하는 trigger_action 필드 값과 활성화 트리거에 해당하는 trigger_action 필드 값이 같을 수 있다. 대신에, 활성화 트리거가 타겟 TDO의 활성화 여부에 따라 활성화 트리거로 식별될 수도 있고, 유지 트리거로 식별될 수 있다. 예컨데, 수신된 활성화 트리거의 타겟 TDO가 아직 활성화되어 있지 않다면, 수신기(300)는 수신된 활성화 트리거를 활성화 트리거로 식별하고 수신된 활성화 트리거에 의해 지정된 트리거 시간에 타겟 TDO를 활성화할 수 있다. 반면, 수신된 활성화 트리거의 타겟 TDO가 이미 활성화되어 있다면, 수신기(300)는 수신된 활성화 트리거를 유지 트리거로 식별하고 타겟 TDO의 활성화를 유지할 수 있다.
또 다른 실시예에서, 트리거 데이터는 트리거 타입 필드를 가지지 않고, 유지 트리거에 해당하는 trigger_action 필드 값과 활성화 트리거에 해당하는 trigger_action 필드 값이 같을 수 있다. 대신에, 활성화 트리거가 트리거 타임의 경과 여부에 따라 활성화 트리거로 식별될 수도 있고, 유지 트리거로 식별될 수 있다. 예컨데, 수신된 활성화 트리거의 트리거 타임이 아직 도달하지 않았다면, 수신기(300)는 수신된 활성화 트리거를 활성화 트리거로 식별하고 수신된 활성화 트리거에 의해 지정된 트리거 시간에 타겟 TDO를 활성화할 수 있다. 반면, 수신된 활성화 트리거의 트리거 시간이 이미 도달하였다면, 수신기(300)는 수신된 활성화 트리거를 유지 트리거로 식별할 수 있다. 이때, 트리거의 타겟 TDO가 아직 활성화되어 있지 않다면, 수신기(300)는 즉시 타겟 TDO를 활성화할 수 있다. 수신된 활성화 트리거의 타겟 TDO가 이미 활성화되어 있다면, 수신기(300)는 타겟 TDO의 활성화를 유지할 수 있다.참조 타겟 트리거 식별자 필드(target_trigger_id_ref)를 포함하는 트리거가 준비 트리거나 유지 트리거인 경우, 참조 타겟 트리거 식별자 필드는 준비 트리거나 유지 트리거와 연관된 활성화 트리거의 트리거 식별자(trigger_id)를 나타낼 수 있다. 참조 타겟 트리거 식별자 필드(target_trigger_id_ref)를 포함하는 트리거가 활성화 트리거인 경우, 참조 타겟 트리거 식별자 필드는 준비 트리거나 유지 트리거의 트리거 식별자(trigger_id)를 나타낼 수 있다. 이를 통해 수신기(300)는 준비 트리거나 유지 트리거를 처리할 때 활성화 트리거를 참조할 수 있다. 또한 수신기(300)는 활성화 트리거를 처리할 때 준비 트리거나 유지 트리거를 참조할 수 있다. 이를 통해, 실제 트리거 수행에 필요하거나 이용되는 메타데이터는 모두 활성 트리거에 포함될 필요가 없고, 준비 트리거를 통해 분산 배치될 수 있다. 이를 통해 활성화 트리거를 위한 스트림은 가능한한 compact하게 유지될 수 있다.
opaque_data_length 필드는 오페이크 데이터의 길이를 나타낼 수 있다.
opaque_data 필드는 NRT 서비스 컨텐트 즉, DO(Declarative Object)가 읽고 처리할 수 있는 데이터를 나타낼 수 있다. 수신기의 트리거 처리기는 오페이크 데이터를 직접 읽거나 처리할 수 없기 때문에, 수신기는 DO를 실행함으로써, DO에 의하여 오페이크 데이터를 처리할 수 있을 뿐이다.
이처럼, 한 실시예에서, 연계된 3 종류의 트리거가 서로 다른 트리거 id를 가지면, 수신기(300)는 참조 타겟 트리거 식별자 필드를 통해 한 트리거와 연계된 또 다른 트리거를 인식할 수 있다.
한편, 또 다른 실시예에서, 연계된 3 종류의 트리거가 모두 동일한 트리거 id를 가지면, 수신기(300)는 동일한 값을 가진 트리거 id를 통해 한 트리거와 연계된 또 다른 트리거를 인식할 수 있다. 예컨데, 수신기(300)는 트리거 타입 필드를 통해 수신한 트리거의 타입을 식별할 수 있으므로, 활성화 트리거와 연관된 준비 트리거를 각 트리거의 트리거 id를 통해 인식할 수 있다.
다음은 본 발명의 실시예에 따른 준비 트리거에서 트리거 액션 필드(trigger action)의 의미를 설명한다.
트리거 액션 필드의 값이 0x00인 준비 트리거는 "reserved for future use"를 나타낼 수 있다.
트리거 액션 필드의 값이 0x01인 준비 트리거는 수신기(300)에게 활성화 트리거를 위한 컨텐트 아이템을 미리 준비할 것을 지시할 수 있다. 이때 준비는 다운로드를 나타낼 수 있다. 수신기(300)는 준비 트리거에 의해 지정되는 컨텐트 아이템을 미리 다운로드할 수 있다. 이 컨텐트 아이템은 방송망을 통해 획득될 수도 있고 IP망을 통해 수신될 수도 있다. 이 경우 미리 다운로드할 컨텐트는 준비 트리거의 서비스 식별자 필드와 컨텐트 링키지 필드에 의해 지정될 수 있다. 또한, 미리 다운로드할 컨텐트들의 리스트는 SMT와 NRT-IT에 의해 지정될 수도 있고, 트리거 내의 디스크립터(descriptor)에 의해 지정될 수도 있다. 또한, 미리 다운로드할 컨텐트의 위치 정보는 SMT와 NRT-IT 및 FDT에 의해 지정될 수도 있고, 트리거 내의 디스크립터(descriptor)에 의해 지정될 수도 있다. 구체적인 방법은 후술한다.
트리거 액션 필드의 값이 0x02인 준비 트리거는 수신기(300)에게 활성화 트리거를 위한 컨텐트 아이템을 미리 로딩할 것을 지시할 수 있다. 이를 통해, 수신기(300)는 활성화 트리거가 지시하는 트리거 액션의 수행 시점이 임박함을 인지하고 미리 필요한 컨텐트 아이템을 로딩할 수 있다. 이 경우 미리 로딩할 컨텐트는 준비 트리거의 서비스 식별자 필드와 컨텐트 링키지 필드에 의해 지정될 수 있다. 또한, 미리 로딩할 컨텐트들의 리스트는 SMT와 NRT-IT에 의해 지정될 수도 있고, 트리거 내의 디스크립터(descriptor)에 의해 지정될 수도 있다. 또한, 미리 로딩할 컨텐트의 정보는 SMT와 NRT-IT 및 FDT에 의해 지정될 수도 있고, 트리거 내의 디스크립터(descriptor)에 의해 지정될 수도 있다. 구체적인 방법은 후술한다.
트리거 액션 필드의 값이 0x03인 준비 트리거는 수신기(300)에게 서버와의 연결을 미리 설정할 것을 지시할 수 있다. 수신기(300)는 준비 트리거에 의해 지정되는 서버와의 연결을 미리 설정할 수 있다. 연결할 서버의 주소는 트리거 내의 인터넷 위치 디스크립터(internet location descriptor)를 통해 지정될 수 있다.
다음은 본 발명의 실시예에 따른 활성화 트리거에서 트리거 액션 필드(trigger action)의 의미를 설명한다.
트리거 액션 필드의 값이 0x00인 활성화 트리거는 "reserved for future use"를 나타낼 수 있다.
트리거 액션 필드의 값이 0x01인 활성화 트리거는 수신기(300)에게 활성화 트리거의 타겟 TDO를 실행(Execute)할 것을 지시할 수 있다. 일 실시예에서, 수신기(300)는 트리거 액션 필드의 값이 0x00인 활성화 트리거를 수신하면, 바로 타겟 TDO를 실행할 수도 있다. 또 다른 실시예에서, 수신기(300)는 트리거 액션 필드의 값이 0x00인 활성화 트리거를 수신하면, 타겟 TDO를 실행할 수 있음을 사용자에게 표시하고, 사용자로부터 타겟 TDO 실행 명령을 수신하면, 타겟 TDO를 실행할 수 있다.
트리거 액션 필드의 값이 0x02인 활성화 트리거는 수신기(300)에게 활성화 트리거의 타겟 TDO를 종료(Terminate)할 것을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x02인 활성화 트리거를 수신하면, 수신기의 구현에 따라 타겟 TDO를 종료하면서 리소스를 반환할 수도 있고 리소스를 반환하지 않을 수도 있다. 리소스가 반환되지 않는 경우, 짧은 기간 내에 재실행되면 실행 속도가 향상될 수 있다.
트리거 액션 필드의 값이 0x03인 활성화 트리거는 수신기(300)에게 활성화 트리거의 타겟 TDO를 실행할 수 있음을 사용자에게 알릴 것을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x03인 활성화 트리거를 수신하면, 이와 같은 안내를 한번만 수행할 수도 있고, 5분과 같은 주기를 가지고서 주기적으로 안내할 수도 있다.
트리거 액션 필드의 값이 0x04인 활성화 트리거는 수신기(300)에게 활성화 트리거의 타겟 TDO를 중단(Suspend)할 것을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x04인 활성화 트리거를 수신하면, 타겟 TDO의 동작을 멈추고 타겟 TDO를 대기 상태로 둘 수 있다. 또한, 수신기(300)는 타겟 TDO의 UI를 모두 숨길 수 있다. 중단(Suspend)은 종료(terminate)와는 다르며, 별도의 트리거나 사용자의 명령에 의해 중단된 TDO는 다시 실행되거나 종료될 수 있다.
트리거 액션 필드의 값이 0x05인 활성화 트리거는 수신기(300)에게 활성화 트리거에 의해 지정되는 중단된 타겟 TDO를 깨울 것(wake up)을 지시할 수 있다. 중단된 타겟 TDO를 깨울 것(wake up)을 지시하는 트리거는 타겟 TDO를 실행(Execute)할 것을 지시하는 트리거와 동일할 수 있다.
트리거 액션 필드의 값이 0x06인 활성화 트리거는 수신기(300)에게 활성화 트리거의 타겟 TDO를 숨길 것(hide)을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x06인 활성화 트리거를 수신하면, 타겟 TDO의 동작을 유지한 채 화면으로부터 숨긴다.
트리거 액션 필드의 값이 0x07인 활성화 트리거는 수신기(300)에게 활성화 트리거의 타겟 TDO를 보일 것(show)을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x07인 활성화 트리거를 수신하면, 타겟 TDO의 동작을 유지한 채 화면상에 보이도록 한다.
활성화 정보 획득과 관련한 일 실시예에서, 수신기(300)는 준비 트리거에 의해 지정된 액션을 수행할 때 준비 트리거에 의해 지정된 타겟 TDO의 활성화(실행, 중단, 종료, 타겟 TDO를 실행할 수 있음을 사용자에게 알림, 웨이크업, 타겟 TDO를 표시할 것 등)를 위한 필요한 정보를 수신한 NRT-IT로부터 얻고 타겟 TDO를 저장하면서 이 타겟 TDO와 함께 활성화 정보를 로컬 메모리에 저장할 수 있다. 수신기(300)가 준비 트리거에 의해 지정된 액션을 수행할 때 이외에도 수신기(300)는 수신한 NRT-IT로부터 타겟 TDO의 활성화를 위한 정보를 얻고, 타겟 TDO와 함께 활성화 정보를 로컬 메모리에 저장할 수 있다. 활성화 트리거를 수신한 수신기(300)는 활성화 트리거에 의해 지정된 타겟 TDO를 위한 활성화 정보를 로컬 메모리로부터 얻어 이 활성화 정보를 참조하여 활성화 트리거에 의해 지정된 타겟 TDO를 활성화할 수 있다.
활성화 정보 획득과 관련한 또 다른 실시예에서, 활성화 트리거를 수신한 수신기(300)는 타겟 TDO의 활성화를 위한 정보를 수신한 NRT-IT로부터 얻고, 이 활성화 정보를 참조하여 활성화 트리거에 의해 지정된 타겟 TDO를 활성화할 수 있다.
다음은 본 발명의 실시예에 따른 유지 트리거에서 트리거 액션 필드(trigger action)의 의미를 설명한다.
트리거 액션 필드의 값이 0x00인 유지 트리거는 "reserved for future use"를 나타낼 수 있다.
트리거 액션 필드의 값이 0x01인 유지 트리거는 수신기(300)에게 유지 트리거의 타겟 TDO를 즉시 실행할 것을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x01인 유지 트리거를 수신하면, 타겟 TDO가 실행되지 않은 경우에 타겟 TDO를 즉시 실행하고, 타겟 TDO가 이미 실행된 경우에 타겟 TDO의 실행을 유지할 수 있다. 수신기(300)는 타겟 TDO를 실행할 수 있음을 사용자에게 즉시 표시하고, 사용자로부터 타겟 TDO 실행 명령의 수신을 추가 조건으로 타겟 TDO를 실행할 수 있다. TDO가 특정 시간 윈도우 내에서 지속적으로 이용될 수 있을 경우 이 Action으로 해당 TDO는 바로 실행되고 이용될 수 있다.
트리거 액션 필드의 값이 0x02인 유지 트리거는 수신기(300)에게 유지 트리거의 타겟 TDO의 실행을 준비할 것(Being ready to launch)을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x02인 유지 트리거를 수신하면, 타겟 TDO의 준비가 아직 수행되지 않은 경우에 타겟 TDO의 준비를 즉시 수행하고, 타겟 TDO가 이미 수행된 경우에 타겟 TDO의 준비를 유지할 수 있다.
트리거 액션 필드의 값이 0x03인 유지 트리거는 수신기(300)에게 유지 트리거의 타겟 TDO를 실행할 수 있음을 사용자에게 알릴 것(notifying TDO availability)을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x03인 유지 트리거를 수신하면, 타겟 TDO를 실행할 수 있음을 사용자에게 아직 알리지 않은 경우에 타겟 TDO를 실행할 수 있음을 즉시 알리고, 타겟 TDO를 실행할 수 있음을 사용자에게 이미 알린 경우에 타겟 TDO를 실행할 수 있음의 알림을 유지한다. 수신기(300)는 이와 같은 안내를 한번만 수행할 수도 있고, 5분과 같은 주기를 가지고서 주기적으로 안내할 수도 있다.
트리거 액션 필드의 값이 0x04인 유지 트리거는 수신기(300)에게 유지 트리거의 타겟 TDO와 관련된 모든 자원을 반환할 것(Unloading all the related resources)을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x04인 유지 트리거를 수신하면, 유지 트리거의 타겟 TDO와 관련된 모든 자원을 아직 반환하지 않은 경우에 해당 자원의 반환을 즉시 수행하고, 해당 자원의 반환이 이미 수행된 경우에 해당 자원의 반환을 유지한다. 이를 통해, 지정된 TDO가 당분간 사용할 예정이 없을 경우 등에 이 트리거는 이 지정된 TDO를 위해 수신기가 사용중인 리소스를 모두 반환하게 하여 추후에 이용할 다른 TDO 등의 실행에 지장이 없도록 한다. 만일 해당 TDO가 실행중이라면 수신기(300)는 타겟 TDO를 종료 시키고 리소스를 반환할 수 있다.
트리거 액션 필드의 값이 0x05인 유지 트리거는 수신기(300)에게 유지 트리거의 타겟 TDO를 즉시 종료(terminate)할 것을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x05인 유지 트리거를 수신하면, 타겟 TDO가 종료되지 않은 경우에 타겟 TDO를 즉시 종료하고, 타겟 TDO가 이미 종료된 경우에 타겟 TDO의 종료를 유지할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x02인 유지 트리거를 수신하면, 수신기의 구현에 따라 타겟 TDO를 종료하면서 리소스를 반환할 수도 있고 리소스를 반환하지 않을 수도 있다. 리소스가 반환되지 않는 경우, 짧은 기간 내에 재실행되면 실행 속도가 향상될 수 있다.
트리거 액션 필드의 값이 0x06인 유지 트리거는 수신기(300)에게 유지 트리거에 의해 지정된 트리거를 무시(ignore)하도록 지시할 수 있다.
트리거 액션 필드의 값이 0x07인 유지 트리거는 수신기(300)에게 유지 트리거의 타겟 TDO의 실행을 계속할 것을 지시할 수 있다. 수신기(300)는 트리거 액션 필드의 값이 0x07인 유지 트리거를 수신하면, 타겟 TDO가 이미 실행된 경우에 타겟 TDO의 실행을 유지하고, 타겟 TDO가 실행되지 않은 경우에 타겟 TDO를 실행하지 않을 수 있다.
유지 정보 획득과 관련한 일 실시예에서, 수신기(300)는 준비 트리거에 의해 지정된 액션을 수행할 때 준비 트리거에 의해 지정된 타겟 TDO의 유지(즉시 실행, 준비, 타겟 TDO를 실행할 수 있음을 알림, 자원 반환, 종료, 무시, 실행 계속 등)를 위한 필요한 정보를 수신한 NRT-IT로부터 얻고 타겟 TDO를 저장하면서 이 타겟 TDO와 함께 유지 정보를 로컬 메모리에 저장할 수 있다. 수신기(300)가 준비 트리거에 의해 지정된 액션을 수행할 때 이외에도 수신기(300)는 수신한 NRT-IT로부터 타겟 TDO의 유지를 위한 정보를 얻고, 타겟 TDO와 함께 유지 정보를 로컬 메모리에 저장할 수 있다. 유지 트리거를 수신한 수신기(300)는 유지 트리거에 의해 지정된 타겟 TDO를 위한 유지 정보를 로컬 메모리로부터 얻어 이 유지 정보를 참조하여 유지 트리거에 의해 지정된 타겟 TDO를 유지할 수 있다.
유지 정보 획득과 관련한 또 다른 실시예에서, 유지 트리거를 수신한 수신기(300)는 타겟 TDO의 유지를 위한 정보를 수신한 NRT-IT로부터 얻고, 이 유지 정보를 참조하여 유지 트리거에 의해 지정된 타겟 TDO를 유지할 수 있다.
다음은 본 발명의 실시예에 따른 준비 트리거에서 트리거 시간 필드(trigger_time)의 의미를 설명한다.
준비 트리거의 전달 시점은 활성화 트리거의 전달 시점에 비해 상당히 앞설 수 있다. 준비 트리거는 향후의 트리거링 시점에 대한 대략적인 시간 정보를 제공할 수 있다. 따라서 준비 트리거의 시간 정보는 PCR을 레퍼런스하기 보다는 UTC 시간으로 설정되는 것도 고려될 수 있다.
준비 트리거의 트리거 시간은 시작 시간(start time), 끝 시간(end time), 예정된 활성화 시간(scheduled activation time) 중 어느 하나를 나타낼 수 있다.
먼저, 준비 트리거의 트리거 시간은 준비 트리거의 액션의 시작 시간을 나타낼 수 있다. 예컨데, 준비 트리거가 수신기(300)에게 활성화 트리거를 위한 컨텐트 아이템들을 미리 다운로드할 것을 지시하는 경우, 트리거 시간은 다운로드의 시작 시간을 나타낼 수 있다.
준비 트리거의 트리거 시간은 준비 트리거의 액션이 종료되어야할 마감 시간을 나타낼 수 있다. 이 경우, 준비 트리거의 트리거 시간까지는 준비 트리거의 액션이 종료되어야 준비 트리거와 연계된 활성화 트리거가 정상적으로 처리될 수 있다. 따라서, 수신기(300)는 준비 트리거의 트리거 시간 이전에 준비 트리거의 액션을 종료할 수 있도록 준비 트리거의 액션을 시작한다.
한편, 준비 트리거의 트리거 시간은 예정된 활성화 시간(scheduled activation time)을 나타낼 수 있다. 즉, 송신기(200)는 수신기(300)에게 준비 트리거와 연계된 활성화 트리거의 예정된 대략적인 트리거링 시점을 제공할 수 있다. 이 경우, 실제 정확한 타이밍은 활성화 트리거의 트리거 시간을 통해 제공될 수 있다.
이처럼, 준비 트리거의 트리거 시간은 준비 트리거의 액션의 정확한 수행 시점을 제공하기 보다는 준비 트리거에 의해 지정되는 타겟 TDO의 시기 적절한 활성화를 보장하기 위한 준비 액션의 시간 구간(time window)를 지시할 수 있다.
한편, 준비 트리거가 트리거 시간을 포함하지 않는 경우 수신기(300)는 즉시 준비 트리거를 수행할 수 있다.
다음은 본 발명의 실시예에 따른 유지 트리거에서 트리거 시간 필드(trigger_time)의 의미를 설명한다.
유지 트리거(Maintenance trigger)는 활성화 트리거(Activation Trigger)의 트리거링 시점 이후에 전달될 수 있다. 유지 트리거는 해당 트리거에 대한 처리 방안을 제공하는 것으로 볼 수 있으므로, 유지 트리거의 트리거 시간은 활성화 트리거의 트리거 시간에 비해 보다 낮은 타이밍 정확성(timing accuracy)을 요구할 수 있다. 따라서 유지 트리거의 시간 정보는 PCR을 레퍼런스하기 보다는 UTC 시간으로 설정되는 것도 고려될 수 있다.
유지 트리거의 트리거 시간은 시작 시간(start time), 끝 시간(end time) 중 어느 하나를 나타낼 수 있다.
유지 트리거의 트리거 시간은 유지 트리거(Maintenance trigger)의 액션(Action)을 시작할 수 있는 시간을 나타낼 수 있다. 현재 시스템 시간이 수신된 유지 트리거의 트리거 시간 이후이면, 수신기(300)는 유지 트리거의 액션을 즉시 수행할 수 있다. 만일 유지 트리거에서 시작 시간 등의 트리거 시간이 지정되지 않았을 경우에는, 수신기(300)는 실행 시간이 이미 지난 것으로 인식하고, 유지 트리거의 액션을 즉시 실행할 수 있다.
유지 트리거의 트리거 시간은 유지 트리거(Maintenance trigger)의 액션(Action)의 수행이 유효한 끝 시간(end time)을 나타낼 수도 있다. 이 경우에, 현재 시스템 시간이 수신된 유지 트리거의 트리거 시간 이후이면, 해당 트리거는 유효하지 않으며 수신기(300)는 지정된 액션(Action)을 수행해서는 안된다. 만일 끝 시간(end time)이 지정되지 않은 경우, 수신기(300)는 해당 트리거의 유효한 시간은 무한대로 지정된 것으로 간주할 수 있다.
이와 같이 유지 트리거(Maintenance trigger)의 트리거 시간은 유지 트리거의 액션(Action)을 수행할 수 있는 시간 구간(time window)를 지정할 수 있다.
다음은 본 발명의 다양한 실시예에 따른 준비 트리거와 활성화 트리거를 위한 컨텐트 아이템 지정 방법을 설명한다.
컨텐트 아이템 지정을 위한 일 실시예에서, 송신기(200)는 준비 트리거와 활성화 트리거를 위한 컨텐트 아이템을 트리거의 타겟 TDO를 식별하기 위한 식별자로 지정할 수 있다. 앞서 설명한 바와 같이 트리거의 타겟 TDO를 식별하기 위한 식별자는 service_id_ref 필드와 content_linkage 필드의 조합에 해당할 수 있다.
앞서 설명한 바와 같이, 송신기(200)는 TDO 식별자로 지정된 컨텐트 아이템의 위치 정보를 SMT, NRT-IT 및 FDT를 통해 제공할 수 있다. 구체적으로 송신기(200)는 SMT를 통해 트리거 내의 service_id_ref 필드에 해당하는 서비스 채널에 대한 정보를 제공한다. 이 시그널링 채널에 대한 정보는 SMT 내의 목적지 주소와 목적지 포트에 대한 정보를 통해 제공될 수 있다. 한편, 송신기(200)는 service_id_ref 필드에 해당하는 서비스에 속한 컨텐트 아이템들의 리스트를 NRT-IT를 통해 제공한다. 컨텐트 아이템들의 리스트는 NRT-IT내의 content_linkage의 리스트를 통해 제공될 수 있다. 송신기(200)는 트리거 내의 service_id_ref 필드에 해당하는 서비스 채널을 통해 각 컨텐트 아이템을 위한 하나 이상의 파일에 대한 정보를 포함하는 FDT를 제공한다. 각 파일에 대한 정보는 TOI 및 Content-Location 필드를 포함할 수 있다.
컨텐트 아이템 지정을 위한 또 다른 실시예에서, 송신기(200)는 준비 트리거와 활성화 트리거를 위한 컨텐트 아이템의 리스트를 디스크립터의 형태로 지정할 수 있다. 이 컨텐트 아이템 디스크립터는 트리거의 trigger_descriptor() 필드에 포함될 수 있다. 송신기(200)는 준비 트리거와 활성화 트리거를 위한 컨텐트 아이템의 리스트를 타겟 TDO 식별자와 함께 컨텐트 아이템 디스크립터를 통해 지정할 수도 있고, 타겟 TDO 식별자를 통해서는 지정하지 않는 대신에 컨텐트 아이템 디스크립터를 통해서만 지정할 수도 있다. 이러한 디스크립터의 한 예를 도 52를 참고하여 설명한다.
도 52는 본 발명의 한 실시예에 따른 컨텐트 아이템 디스크립터의 신택스를 보여준다.
도 52에 도시된 바와 같이, 컨텐트 아이템 디스크립터는 디스크립터 태그 필드(descriptor_tag), 디스크립터 길이 필드(descriptor_length), 서비스 카운트 필드(service_count), 서비스 식별자 필드(service_id), 컨텐트 아이템 카운트 필드(content_item_count), 컨텐트 링키지 필드(content_linkage)를 포함한다.
디스크립터 태그 필드(descriptor_tag)는 이 디스크립터를 컨텐트 아이템 디스크립터로서 구별하기 위한 8비트 부호없는 정수일 수 있다.
디스크립터 길이 필드(descriptor_length)는 이 필드를 즉시 뒤따르는 필드부터 컨텐트 아이템 디스크립터의 끝까지의 길이를 규정하는 8비트 부호없는 정수일 수 있다.
서비스 카운트 필드(service_count)는 컨텐트 아이템 디스크립터에 포함된 서비스의 개수를 나타낸다. 서비스 식별자 필드(service_id)는 컨텐트 아이템 디스크립터에 포함된 서비스의 식별자를 나타낸다. 따라서, 컨텐트 아이템 디스크립터는 서비스 카운트 필드에 해당하는 개수 만큼의 복수의 서비스 식별자 필드를 포함할 수 있다.
컨텐트 아이템 카운트 필드(content_item_count)는 서비스 식별자 필드(service_id)에 해당하는 서비스를 위한 컨텐트 아이템의 개수를 나타낸다. 컨텐트 링키지 필드(content_linkage)는 컨텐트 아이템의 식별자를 나타낸다. 따라서, 컨텐트 아이템 디스크립터는 각 서비스와 관련하여 컨텐트 아이템 카운트 필드에 해당하는 개수 만큼의 복수의 컨텐트 링키지 필드를 포함할 수 있다.
이와 같은 방식은 트리거에서 사용하는 컨텐트 아이템이 NRT 형태로 전송될 경우에 이용될 수 있으며, 이 때 각각의 컨텐트 아이템(content item)은 NRT Service ID와 Content linkage 값의 조합으로 유일하게 식별될 수 있다. 이전의 실시예와 마찬가지로, 송신기(200)는 TDO 식별자로 지정된 컨텐트 아이템의 위치 정보를 SMT, NRT-IT 및 FDT를 통해 제공할 수 있다.
컨텐트 아이템 지정을 위한 또 다른 실시예에서, 송신기(200)는 준비 트리거와 활성화 트리거를 위한 컨텐트 아이템의 리스트를 디스크립터의 형태로 지정할 수 있다. 송신기(200)는 이러한 인터넷 위치 디스크립터를 이용하여 방송망 및 IP 망을 통해 전송되는 컨텐트들을 트리거를 위한 컨텐트 아이템으로서 지정할 수 있다. 이 인터넷 위치 디스크립터는 트리거의 trigger_descriptor() 필드에 포함될 수 있다. 송신기(200)는 준비 트리거와 활성화 트리거를 위한 컨텐트 아이템의 리스트를 타겟 TDO 식별자와 함께 인터넷 위치 디스크립터를 통해 지정할 수도 있고, 타겟 TDO 식별자를 통해서는 지정하지 않는 대신에 인터넷 위치 디스크립터를 통해서만 지정할 수도 있다. 이러한 인터넷 위치 디스크립터의 한 예를 도 53을 참고하여 설명한다.
도 53은 본 발명의 한 실시예에 따른 인터넷 위치 디스크립터의 신택스를 보여준다.
도 53에 도시된 바와 같이, 인터넷 위치 디스크립터는 디스크립터 태그 필드(descriptor_tag), 디스크립터 길이 필드(descriptor_length), URL 카운트 필드(URL_count), URL 길이 필드(URL_length), URL() 필드를 포함한다.
디스크립터 태그 필드(descriptor_tag)는 이 디스크립터를 인터넷 위치 디스크립터로서 구별하기 위한 8비트 부호없는 정수일 수 있다. 예컨데, 이 필드는 0xC9 값을 가질 수 있다.
디스크립터 길이 필드(descriptor_length)는 이 필드를 즉시 뒤따르는 필드부터 인터넷 위치 디스크립터의 끝까지의 길이를 규정하는 8비트 부호없는 정수일 수 있다.
URL 카운트 필드(URL_count)는 인터넷 위치 디스크립터에 포함된 URL 길이 필드와 URL 필드의 쌍의 개수를 나타내는 5비트 부호없는 정수 일 수 있다. 즉, 인터넷 위치 디스크립터는 URL 카운트 필드에 해당하는 개수만큼의 복수의 URL 길이 필드와 URL 카운트 필드에 해당하는 개수만큼의 복수의 URL 필드를 포함한다.
URL 길이 필드(URL_length)는 이 필드를 바로 뒤따르는 URL() 필드의 길이를 나타내는 8비트 부호없는 정수이다.
URL() 필드는 URL(Uniform Reference Locator)을 나타내는 캐릭터 스트링이다. URL() 필드가 Relative URL이나 absolute tag URI를 나타내는 경우, 해당 URL은 NRT의 FLUTE를 통해서만 전송되는 컨텐트로 볼 수도 있다. 그 외의 경우에는 해당 URL은 방송망을 통해서 전송되는 컨텐트로 볼 수도 있고, IP망을 통해서 전송되는 컨텐트로 볼 수도 있고, 방송망 및 IP망 모두를 통해서 전송되는 컨텐트로 볼 수도 있다.
도 54는 본 발명의 또 다른 실시예에 따른 트리거 전송 방법을 도시한 흐름도이다.
송신기(200)는 준비 트리거의 전송 타이밍에서(S6001) 준비 트리거를 전송하고(S6003), 활성화 트리거의 전송 타이밍에서(S6005) 활성화 트리거를 전송하고(S6007), 유지 트리거의 전송 타이밍에서(S6009) 유지 트리거를 전송한다(S6011).
트리거는 PSIP 테이블이나 동기화된 데이터 스트림을 통해 전송될 수 있다.
PSIP 테이블을 통한 트리거 전송은 도 37, 도 41, 도 42를 통해 알 수 있다. 예컨데, 일 실시예에서, 트리거는 PSIP Base PID인 0x1FF인 스트림에 포함되어서 전달될 수 있다. 이 경우 트리거 테이블의 테이블 ID는 다른 테이블과의 구별을 위해 Unique하게 할당될 수 있다. 또 다른 실시예에서, 트리거는 Master Guide Table을 통해 할당되고 식별되는 PID에 해당하는 스트림을 통해서 전달될 수 있다. 이 경우에는 해당 스트림내에 있는 모든 테이블들은 트리거 테이블로 간주될 수 있다.
동기화된 데이터 스트림(Synchronized data stream)에 기반한 트리거 전송은 도 38, 도 39 및 도 40을 통해 알 수 있다. 동기화된 데이터 스트림은 PTS를 통해 다른 스트림과의 정확한 동기를 제공하므로, 동기화된 데이터 스트림(Synchronized data stream)에 기반한 트리거 전송은 PSIP 테이블을 통한 트리거 전송에 비하여 보다 높은 타이밍 정확성을 제공할 수 있다.
준비 트리거, 활성화 트리거 및 유지 트리거의 전송과 관련하여, 일 실시예에서, 준비 트리거, 활성화 트리거 및 유지 트리거는 하나의 스트림에 포함되어 전달될 수 있다.
또 다른 실시예에서, 송신기(200)는 준비 트리거를 PSIP 테이블을 통해 전달하고, 활성화 트리거(Activation Trigger)와 유지 트리거(Maintenance Trigger)를 동기화된 데이터 스트림을 통해 전송할 수 있다. 준비 트리거는 활성화 트리거(Activation Trigger)가 수행되어야 하는 시점보다 상당 시간 먼저 제공될 수도 있다. 실시 예에 따라서 준비 트리거가 제공되는 시점은 활성화 트리거(Activation Trigger)가 수행되어야 하는 시점보다 몇시간 전일 수도 있고 몇일 혹은 몇주 전일 수 있다. 준비 트리거는 수신기(300)가 활성화 트리거와 관련된 컨텐트 아이템을 미리 방송망이나 IP망을 통해 미리 다운로드할 수 있도록 필요할 수 있다. 이러한 준비 트리거의 특성으로 인하여 준비 트리거는 활성화 트리거(Activation Trigger)와 달리 장면(Scene) 단위의 타이밍 정확성(timing accuracy)을 요구하지 않을 수 있다. 따라서 활성화 트리거의 장면(Scene) 단위의 타이밍 정확성(timing accuracy)을 보장하기 위해 활성화 트리거(Activation Trigger)를 담은 스트림을 가능한한 compact하게 유지하는 방안도 고려될 수 있다. 이러한 목적으로 송신기(200)는 준비 트리거를 기존의 PSIP 시그널링 스트림을 통해서 별도의 테이블로 분리해서 전달할 수 있다. 준비 트리거를 담은 테이블은 준비 트리거만을 포함하여 PSIP 스트림을 통하여 전달될 수 있으며, 별도의 table id가 준비 트리거에 할당될 수도 있다.
또 다른 실시예에서, 송신기(200)는 준비 트리거 및 유지 트리거(Maintenance Trigger)를 PSIP 테이블 형태로 전송하고, 활성화 트리거(Activation Trigger)를 동기화된 데이터 스트리밍에 기반하여 전송할 수 있다. 유지 트리거는 트리거 시점을 놓친 수신기(300)에게 해당 트리거에 대응하는 방안을 지시 혹은 가이드하는 역할을 수행하므로, 특정 시점에 정확히 수행될 것이 요구되지 않을 수 있다. 따라서, 유지 트리거는 활성화 트리거(Activation Trigger) 보다 낮은 타이밍 정확성(timing accuracy)을 요구할 수 있다. 따라서, 유지 트리거(Maintenance Trigger)도 활성화 트리거(Activation Trigger)와 분리하여 준비 트리거와 함께 전송하는 방안을 생각해 볼 수 있다. 이 경우 송신기(200)는 준비 트리거와 유지 트리거를 하나의 테이블로 묶어서 전송할 수도 있다. 또한, 송신기(200)는 준비 트리거를 위한 테이블과 유지 트리거를 위한 테이블에 서로 다른 테이블 ID를 할당하고, 이를 통해 구분되는 2개의 테이블을 통해 준비 트리거와 유지 트리거를 전송할 수 있다.
다음은 도 55 내지 도 57을 참고하여 본 발명의 실시예에 따른 수신기(300)의 동작 방법을 설명한다.
도 55은 본 발명의 실시예에 따른 수신기의 동작 방법을 보여주는 흐름도이다.
수신기(300)는 트리거를 수신한다(S6101). 특히, 수신기(300)는 도 36 내지 도 42에 도시된 바와 같은 방법으로 트리거를 수신할 수 있다.
수신기(300)는 수신한 트리거의 종류를 확인한다(S6103). 수신기(300)는 앞서 설명한 바와 같은 방법으로 수신한 트리거의 종류를 확인할 수 있다. 예컨데, 수신기(300)는 트리거 내의 트리거 타입 필드(trigge_type)와 트리거 액션 필드(trigger_action) 중 하나 이상을 통해 트리거의 종류를 확인할 수 있다. 또한, 수신기(300)는 타겟 TDO의 활성화 여부나 트리거 타임의 경과 여부에 따라 트리거의 종류를 확인할 수 있다.
수신한 트리거가 준비 트리거이면(S6105), 수신기(300)는 수신한 준비 트리거를 처리한다(S6107). 수신기(300)의 준비 트리거의 처리에 대하여는 준비 트리거의 트리거 액션 필드와 관련하여 설명하였다. 이러한 준비 트리거의 처리를 통해 TDO의 상태가 변할 수 있다.
일실시예에서, 준비 트리거가 컨텐트 아이템의 다운로드를 트리거하는 경우, 도 56에서 보여지는 바와 같이 수신기(300)는 컨텐트 아이템의 위치 정보를 SMT, NRT-IT 및 FDT를 통해 파악하고, 파악한 위치 정보를 통해 컨텐트 아이템을 다운로드할 수 있다. 구체적으로 수신기(200)는 준비 트리거 내의 서비스 식별자에 해당하는 채널 정보를 SMT로부터 얻을 수 있다. 이때 채널 정보는 IP 주소와 포트 번호를 포함할 수 있다. 또한, 수신기(200)는 준비 트리거 내의 서비스 식별자에 해당하는 서비스에 속하는 컨텐트 식별자(content linkage)의 리스트를 NRT_IT로부터 얻을 수 있다. 수신기(200)는 트리거 내의 content linkage 필드 또는 트리거 내의 content_items_descriptor() 필드 내의 content linkage 필드 또는 NRT_IT내의 서비스 식별자에 해당하는 복수의 content_linkage 필드를 다운로드할 컨텐트 아이템의 식별자로 인식할 수 있다. 수신기(200)는 NRT_IT 내의 컨텐트 식별자들 또는 트리거 내의 컨텐트 식별자에 해당하는 컨텐트 위치들을 SMT의 IP 주소와 포트 번호를 통해 수신되는 FLUTE FDT로부터 파악할 수 있다. NRT_IT가 컨텐트 아이템의 인터넷 위치 정보를 가지고 있다면, 수신기(200)는 NRT_IT를 통해서도 컨텐트 아이템의 위치 정보를 파악할 수 있다.
또 다른 실시예에서, 준비 트리거가 컨텐트 아이템의 다운로드를 트리거하는 경우, 수신기(300)는 그 준비 트리거 내의 인터넷 위치 디스크립터로부터 다운로드할 컨텐트 아이템의 위치 정보를 파악하고, 파악한 위치 정보를 통해 컨텐트 아이템을 다운로드할 수 있다.
다시 도 55를 설명한다.
수신한 트리거가 활성화 트리거이면(S6109), 수신기(300)는 수신한 활성화 트리거를 처리한다(S6111). 수신기(300)의 활성화 트리거의 처리에 대하여는 활성화 트리거의 트리거 액션 필드와 관련하여 설명하였다. 이러한 활성화 트리거의 처리를 통해 TDO의 상태가 변할 수 있다.
수신한 트리거가 유지 트리거이면(S6113), 도 47에서 보여지는 바와 같이 수신기(300)는 수신한 유지 트리거를 처리한다(S6115).
도 57은 본 발명의 실시예에 따른 수신기가 트리거를 처리하는 방법을 보여주는 TDO 상태 천이도이다.
도 57에 도시된 바와 같이, 타겟 TDO는 준비되지 않은 상태(non-ready state)와 같은 해제 상태(released state)(ST110), 준비 상태(ready state)(ST120), 활동 상태(active state)(ST130), 중단 상태(suspended state)(ST140) 중 어느 한 상태에 있다.
수신기(300)가 준비 트리거를 수신하고 이 준비 트리거의 타겟 TDO가 해제 상태(ST110)에 있다면, 수신기(300)는 이 타겟 TDO를 준비하여 타겟 TDO의 상태를 준비 상태(ST120)로 둔다(S6201).
수신기(300)가 트리거 액션 필드의 값이 0x02인 종료 트리거를 수신하고 이 종료 트리거의 타겟 TDO가 준비 상태(ST120)에 있다면, 수신기(300)는 이 타겟 TDO를 종료하여 타겟 TDO의 상태를 해제 상태(ST110)로 둔다(S6203).
수신기(300)가 트리거 액션 필드의 값이 0x01인 실행 트리거를 수신하고 이 실행 트리거의 타겟 TDO가 준비 상태(ST120)에 있다면, 수신기(300)는 이 타겟 TDO를 실행하여 타겟 TDO의 상태를 활동 상태(ST130)로 둔다(S6205).
수신기(300)가 트리거 액션 필드의 값이 0x01인 유지 트리거를 수신하고 이 유지 트리거의 타겟 TDO가 활동 상태(ST120)에 있다면, 수신기(300)는 이 타겟 TDO의 상태를 활동 상태(ST130)로 유지한다(S6206).
수신기(300)가 트리거 액션 필드의 값이 0x04인 중단 트리거를 수신하고 이 중단 트리거의 타겟 TDO가 활동 상태(ST130)에 있다면, 수신기(300)는 이 타겟 TDO를 중단하여 타겟 TDO의 상태를 중단 상태(ST140)로 둔다(S6207).
수신기(300)가 웨이크업 트리거나 실행 트리거와 같은 별도의 트리거를 수신하고 이 별도의 트리거의 타겟 TDO가 중단 상태(ST140)에 있다면, 수신기(300)는 이 타겟 TDO를 다시 실행하여 타겟 TDO의 상태를 활동 상태(ST130)로 둔다(S6209).
수신기(300)가 트리거 액션 필드의 값이 0x02인 종료 트리거를 수신하고 이 종료 트리거의 타겟 TDO가 중단 상태(ST140)에 있다면, 수신기(300)는 이 타겟 TDO를 종료하여 타겟 TDO의 상태를 해제 상태(ST110)로 둔다(S6211). 또한, 수신기가 타겟 TDO와 관련된 채널로부터 벗어나라는 명령과 같은 사용자 명령을 수신하면, 수신기(300)는 이 타겟 TDO를 종료하여 타겟 TDO의 상태를 해제 상태(ST110)로 둘 수 있다.
수신기(300)가 트리거 액션 필드의 값이 0x01인 실행 트리거를 수신하고 이 실행 트리거의 타겟 TDO가 해제 상태(ST110)에 있다면, 수신기(300)는 이 타겟 TDO를 실행하여 타겟 TDO의 상태를 활동 상태(ST130)로 둔다(S6213).
수신기(300)가 트리거 액션 필드의 값이 0x02인 종료 트리거를 수신하고 이 종료 트리거의 타겟 TDO가 활동 상태(ST130)에 있다면, 수신기(300)는 이 타겟 TDO를 종료하여 타겟 TDO의 상태를 해제 상태(ST110)로 둔다(S6215).
다음은 도 58 내지 도 62를 참고하여 본 발명의 일 실시예에 따른 웹 북마크 서비스 트리거를 DTV-CC를 이용하여 전송하는 방법에 대하여 설명한다.
도 58 내지 도 62는 본 발명의 실시예에 따른 DTV-CC를 이용한 웹 북마크 서비스 트리거 전송 방법을 설명하기 위한 도면이다.
도 58에 도시된 바와 같이, MPEG-2TS는 오디오 스트림(Audio), 비디오 스트림(Video), 제어 스트림(Control)을 포함한다. 비디오 스트림의 헤더에 포함되어 전송되는 DTV-CC(Digital TV Closed Caption)는 CEA-708-D 표준을 따르며, 문자열 정보를 포함할 수 있다.
도 59에 도시된 바와 같이, MPEG-2TS에 포함된 비디오 스트림의 헤더는 DTV-CC를 포함한다. DTV-CC는 복수의 서비스로 구성될 수 있으며, 복수의 서비스 각각에 번호가 할당될 수 있다. 예컨대, 제1 서비스(Service number1)에 의하여 메인 오디오 언어(Maim Audio Language)가 화면에 표시될 수 있고, 제2 언어(Secondary Language)가 메인 오디오 언어와 함께 전송될 필요가 있는 경우에는 별도로 제2 서비스(Service number2)에 의할 수 있으며, 제1 서비스와 제2 서비스가 DTV-CC구성할 수 있다.
수신기는 텍스트 형태의 데이터인 DTV-CC의 전송 헤더의 시그널링 정보를 통해 어떤 패킷을 수신해야 하는지 알 수 있고, 복수의 오디오 언어 각각은 PMT 와 같은 오디오 언어 디스크립터(Audio Language Descriptor), PMT 또는 EIT loop 각각의 캡션 서비스 디스크립터(Caption Service Descriptor)에 의하여 시그널링 될 수 있다.
DTV-CC를 통하여 여러 종류의 문자가 전송될 수 있다. 예컨대, DTV-CC는 보통 문자, 확장 문자 등을 전송할 수 있다. 확장 문자는 특별하게 만들어진 문자로서, 도 58에 도시된 바와 같이 DTV-CC Command의 첫 번째 코드를 "EXT1" 코드로 하여 구분할 수 있다. 확장 문자를 전송하는 DTV-CC Command는 "EXT1" 코드 이후 확장 문자 코드를 포함할 수 있다.
도 60을 참조하면, URI(Uniform Reference Indicator)String은 "EXT1" 코드와 함께 다양한 타입의 URIStrings를 나를 수 있다. 앞서 설명한 확장 문자는 화면에 보이지 않거나 사용되고 있지 않은 코드를 활용하여 긴 문자열을 포함할 수도 있는데, 수신기는 화면에 표시되지 않는 문자열을 포함하는 확장 문자를 URL로 인식할 수 있다. 수신기는 확장 문자를 URL로 인식한 경우, 수신된 확장 문자를 이용하여 HTTP로 XML 파일을 요청할 수 있다. 서버는 HTTP을 통한 XML 파일 요청에 대응하여, 요청 받은 XML 파일을 생성하거나 미리 생성되어 저장된 XML 파일을 전송함으로써, 현재 시간에 맞는 양방향 서비스(Interactive service)를 지원할 수 있다. 이와 같이, DTV-CC는 화면에 보이지 않거나 사용되고 있지 않은 확장 문자를 이용하여 URL만을 전송할 수 있고, 수신기는 URL을 이용하여 XML 파일을 획득할 수 있다.
수신기가 XML 파일 획득을 위하여 이용하는 URL은 URIString을 통해 전송될 수 있다. 도 60에 도시된 바와 같이, URIString은 4 가지 종류의 타입으로 정의될 수 있다. URIString 타입의 값이 '00'인 경우, 해당 세그먼트가 세그먼트 커맨드의 첫 번째 세그먼트임을 나타낼 수 있다. URIString 타입의 값이 '01'인 경우, 'Forbidden'임을 나타낼 수 있다. URIString 타입의 값이 '10'인 경우에는, 해당 세그먼트가 세그먼트 커맨드의 마지막 세그먼트임을 나타낼 수 있다. URIString 타입의 값이 '11'인 경우, 해당 세그먼트가 전체 URL을 전송하는 것임을 나타낼 수 있다.
도 61에 도시된 바와 같이, URIString은 DTV-CC에 포함된 확장 문자를 통해 URI_data()의 형태로 전송될 수 있다. URI_data()는 트리거와 사용량 측정(Usage Measurement) 등을 가리키는 신택스를 포함할 수 있다. URI_data()는 URI_type 필드, URI_character 필드를 포함할 수 있다.
URI_type 필드는 8비트의 부호없는 정수이고, 커맨드에 포함되어 전송되는 URI의 타입을 나타낸다. URI_type 필드의 값이 '0x00-0x3F'인 경우, CEA 표준에서의 사용을 준비함을 나타낼 수 있다. URI_type 필드의 값이 '0x40-0x7F'인 경우, ATSC 표준에서의 사용을 준비함을 나타낼 수 있다. URI_type 필드의 값이 '0x80-0xFF'인 경우, CEA에 의한 장래의 할당을 준비함을 나타낼 수 있다. 수신기는 인식되지 않는 타입을 가리키는 URIString 커맨드의 인스턴스들을 무시할 수 있다. URI가 두 개의 세그먼트를 보낸 경우, 두 개의 세그먼트 각각에 포함된 URI_type 필드는 동일할 수 있다.
수신기는 XML 파일을 수신한 후, 수신기에 미리 정해진 규칙에 따라 XML 파일을 재해석할 수 있다. 이때, 수신기가 해석하는 정보는 트리거 정보, TDO 정보를 포함하며, 이하에서 도 62를 참조하여 설명하는 정보를 더 포함할 수 있다.
도 62는 TDO 파라미터 테이블 구조(TDO Parameter Table Structure)를 도시한 도면이다.
TPT는 TPT의 루트 엘리먼트(root element)를 나타낸다. 하나의 TPT 엘리먼트는 모든 프로그래밍 세그먼트 또는 시간에 따른 부분 프로그래밍 세그먼트를 설명할 수 있다.
MajorProtocolVersion은 3비트 정수로서, 테이블 정의의 주 버전(major version) 넘버를 나타낸다. 주 버전 넘버는 1로 설정될 수 있다(The major version number for this version of this standard shall be set to 1). 수신기는 TPT가 가리키는 주 버전의 값을 지원하지 못하는 경우, TPT의 인스턴스를 버릴 수 있다(Receivers are expected to discard instances of the TPT indicating major version values they are not equipped to support).
MinorProtocolVersion은 4비트 정수로서, 테이블 정의의 부 버전(minor version) 넘버를 나타낸다. 부 버전 넘버는 0으로 설정될 수 있다(The minor version number for this version of the standard shall be set to 0). 수신기는 TPT가 가리키는 주 버전의 값을 지원하지 못하는 경우, TPT의 인스턴스를 버릴 수 없다(Receivers are expected to not discard instances of the TPT indicating minor version values they are not equipped to support).
Id는 해당 URL이 해당 TPT와 관련된 양방향 프로그래밍 세그먼트를 유일하게 식별함을 나타낸다. Id string은 이에 대응하는 트리거의 locator_part일 수 있다.
tptVersion은 8비트 정수로서, id attribute에 의해 식별되는 TPT 엘리먼트의 버전 넘버를 나타낸다. tptVersion은 TPT에 의한 변화가 있을 때마다 증가될 수 있다.
expireDate는 해당 TPT 인스턴스에 포함된 정보의 만료 시간과 날짜를 가리킨다. expireDate는 TPT 엘리먼트의 선택적인 속성일 수 있다. 수신기가 TPT를 임시 저장한다면, 만료 시간까지 재사용될 수 있다(If the receiver caches the TPT, it can be re-used until the expireDate).
serviceId는 선택적인 16 비트 정수로서, 해당 TPT 인트턴스에서 설명되는 양방향 서비스에 관련된 NRT service_id를 나타낸다.
baseURL은 선택적인 속성으로서, 해당 TPT에 나타나는 관련 URL에 앞서 연관되는 기본 URL을 제공하며, 해당 파일들의 완전한 URLs을 제공할 수 있다.
Capabilities는 선택적인 엘리먼트로서, 해당 TPT와 관련된 양방향 서비스의 의미있는 제기(presentation)를 위하여 필수적인 능력을 나타낸다. Capabilities 엘리먼트의 신택스 또는 시멘틱스의 전체 디스크립션은 ATSC NRT 표준[NRT]에서 찾을 수 있다.
LiveTrigger는 선택적 복합적 타입으로 동적 활성 시간대의 케이스를 위해 사용되는 정보를 특정한다.
URL은 LiveTrigger 엘리먼트의 필수적인 속성으로서, 라이브 활성 시간대의 트리거를 제공할 서버의 URL을 나타낸다.
deliveryType은 LiveTrigger 엘리먼트의 선택적인 속성으로서, 수신기가 업데이트된 트리거를 수신하기 위해 사용하는 프로토콜(HTTP short polling, long polling, or streaming)을 나타낸다.
pollPeriod는 LiveTrigger 엘리먼트의 선택적인 속성으로서, 수신기가 단기 polling을 사용하여 서버로부터 업데이트된 트리거를 회수할 때 polling 주기로서 사용하는 초단위의 시간을 나타낸다.
TDO 엘리먼트는 TPT 엘리먼트의 자(child) 엘리먼트로서, 해당 세그먼트가 해당 TPT 인스턴스에 의해 설명되는 동안, 양방향 서비스의 일부를 제공하는 어플리케이션(TDO)을 나타낸다.
appID는 필수적인 16 비트 정수로서, 해당 TPT의 범위 내에서 어플리케이션(TDO)을 식별한다.
appType는 선택적 8비트 정수로서, 어플리케이션 포맷 타입을 나타낸다. 디폴트 값은 0이 되어야 하고, 해당 표준에 정의된 사양에 따르는 TOD를 나타낸다.
appName은 TDO 엘리먼트의 선택적 속성으로서, 해당 어플리케이션(TDO)을 착수하기 위하여 뷰어의 허가가 구해질 때, 뷰어에 표시될 수 있는 사람이 읽을 수 있는 이름을 나타낸다.
globalID는 TDO 엘리먼트의 선택적 속성으로서, 해당 어플리케이션(TDO)의 전세계적으로 유일한 식별자를 나타낸다.
appVersion은 TDO 엘리먼트의 선택적 속성으로서, TDO의 버전 번호를 나타낸다. appVersion의 값은 globalID에 의해 식별되는 TDO가 변화할 때마다 증가할 수 있다.
testTDO는 선택적 불린(boolean) 속성으로서, 'true' 값을 가질 때 TDO가 테스팅 목적만을 위한 것이고, 일반적인 수신기에 의하여 무시됨을 나타낸다.
cookieSpace는 선택적 8비트 정수로서, 인보케이션들(invocations) 사이에서 영구 데이터를 저장하기 위해 TDO가 필요한 kilobytes 단위의 공간을 나타낸다.
frequencyOfUse는 선택적 4비트 정수로서, TDO가 수신기에게 TDO 캐쉬 공간 관리를 위한 안내를 제공하기 위하여 방송 상에서 얼마자 자주 사용되는지 나타낸다. 해당 코드 값의 의미는 TBD일 수 있다.
expireDate는 TDO 엘리먼트의 선택적 속성으로서, 수신기가 해당 어플리케이션 및 관련 리소스들을 안전하게 제거할 수 있는 날짜 및 시간을 나타낸다.
availInternet의 선택적인 속성을 위한 "true" 값은 해당 TDO가 인터넷을 통하여 다운로딩될 수 있음을 나타낸다. "false" 값은 해당 TDO가 인터넷을 통하여 다운로딩될 수 없음을 나타낸다. 속성이 나타나지 않는 경우, 디폴트 값은 "true"일 수 있다.
availBroadcast의 선택적인 속성을 위한 "true" 값은 해당 TDO가 방송으로부터 추출될 수 있음을 나타낸다. "false" 값은 해당 TDO가 방송으로부터 추출될 수 없음을 나타낸다. 속성이 나타나지 않는 경우, 디폴트 값은 "true"일 수 있다.
URL 엘리먼트: TDO 엘리먼트의 자 엘리먼트(child element)인 URL 엘리먼트 각각의 인스턴스는 어플리케이션(TDO)의 일부인 파일을 식별한다.
Capabilities는 TDO 엘리먼트의 선택적인 자 엘리먼트로서, 해당 TDO의 의미있는 제기(presentation)을 위하여 필수적인 능력을 나타낸다. Capabilities 엘리먼트의 신택스 또는 시멘틱스의 전체 디스크립션은 ATSC NRT 표준[NRT]에서 찾을 수 있다.
ContentItem은 TDO 엘리먼트의 선택적인 자 엘리먼트로서, TDO가 필요로하는 적어도 하나 이상의 데이터 파일을 포함하는 컨텐트 아이템을 나타낸다.
URL 엘리먼트: ContentItem 엘리먼트의 자 엘리먼트인 URL 엘리먼트의 인스턴스 각각은 컨텐트 아이템의 일부인 파일을 식별한다.
updatesAvail은 ContentItem 엘리먼트의 선택적 불린(Boolean) 속성은 컨텐트 아이템이 가끔씩 업테이트가 될지 아닐지 즉, 컨텐트 아이템이 고정된 파일을 포함할 것인지 또는 컨텐트 아이템이 리얼 타임 데이터 피드인지 여부를 나타낸다. 그 값이 "true"인 경우에, 컨텐트 아이템은 가끔 업데이트될 수 있다. 그 값이 "false"인 경우에, 컨텐트 아이템은 업데이트되지 않을 것이다. 디폴트 값은 "false"일 수 있다.
Size는 ContentItem 엘리먼트의 선택적 속성으로서, 컨텐트 아이템의 kilobytes 급의 크기를 나타낸다.
Event는 TDO 엘리먼트의 자 엘리먼트로서, 해당 TDO를 대상으로 하는 이벤트를 나타낸다.
eventID는 Event 엘리먼트의 필수적인 16비트 정수 속성으로서, 해당 TDO 엘리머트의 범위 내에서 유일하게 해당 이벤트를 식별한다. 해당 이벤트는 appID와 eventID의 조합에 의하여 활성화 메시지에 참조된다.
Destination은 Event 엘리먼트의 선택적 속성으로서, 해당 이벤트를 위한 메인 스크린이나 세컨트 스크린 장치와 같은 대상 디바이스 타입을 나타낸다. 세부사항들은 TBD일 수 있다.
한편, 이러한 속성의 "정의"는 주로 플레이스 홀더(a place holder)로 작동하고, 세컨트 스크린 디바이스들에 의하여 지원되는 방법에 관한 세부 사항은 미정이다.
Action은 Event 엘리먼트의 필수적 속성으로서 이벤트가 활성화되는 경우 적용되는 TDO 동작 타입을 나타낸다. 동작 값은 등록(register), 중지-실행(suspend-execute), 종료-실행(terminate-execute), 종료(terminate), 중지(suspend), 스트림-이벤트(stream-event)를 포함한다.
"등록(register)" 값은, 가능한 경우, 어플리케이션의 리소스를 획득하고 미리 임시저장(pre-cache)함을 의미할 수 있다.
"중지-실행(suspend-execute)" 값은, 현재 실행 중인 다른 어플리케이션의 실행을 중단하고, 해당 어플리케이션을 착수시킴을 의미할 수 있다. 대상이 된 어플리케이션은 중지되고, 수신기는 해당 어플리케이션을 이전 상태에서 다시 시작할 수 있다.
"종료-실행(terminate-execute)" 값은, 현재 실행 중인 다른 어플리케이션의 실행을 종료하고, 해당 어플리케이션을 착수시킴을 의미할 수 있다. 대상이 된 어플리케이션은 중지되고, 수신기는 해당 어플리케이션을 이전 상태에서 다시 시작할 수 있다.
"종료(terminate)" 값은, 해당 어플리케이션을 종료함을 의미할 수 있다.
"중지(suspend)" 값은 해당 어플리케이션의 실행을 중지함을 의미할 수 있다. UI와 어플리케이션 엔진의 상태는 다시 착수될 때까지 보존될 필요가 있다.
"스트림-이벤트(stream-event)"는 데이터가 제공되는 경우, 제이터를 이용하여 적절한(해당 어플리케이션에 의하여 정의된 특정 행위) 동작을 수행함을 의미할 수 있다.
diffusion은 Evnet 엘리먼트의 선택적 8비트 정수 속성으로서 초 단위 시간으로된 주기 T를 나타낸다. diffusion 파라미터의 목적은 서버 로딩 피크를 원만하게 하기 위함일 수 있다. 수신기는 0에서 T사이의 범위 내에서 임의의 주기를 계산할 수 있고, 해당 TPT 내의 URLs에 의하여 참조된 컨텐트를 회수하기 위하여 인터넷 서버에 접근하기 전에 이 양을 지연시킬 수도 있다.
Data는 선택적인 Event 엘리먼트의 자 엘리먼트로서, 해당 이벤트에 관련된 데이터를 제공한다. 해당 이벤트가 활성화되면, 대상 어플리케이션은 이러한 데이터를 읽고, 바라는 동작을 실행하기 위하여 이러한 데이터를 사용할 수 있다. Data는 TDO를 위하여 TDO에 맞게 바이너리(Binary) 형태로 전송될 수 있다. 바이너리 데이터를 포함할 수 있는 구조는 방송사 또는 서비스 제공자 각각의 TDO에 따라 달라질 수 있다.
본 발명의 또 다른 실시예에 따르면, Event 엘리먼트의 자 엘리먼트인 Data는 웹 북마크 서비스 데이터를 포함할 수 있다. Data 필드에 웹 북마크 서비스 데이터가 포함되어 있는 경우에, 수신기는 TPT를 통한 TDO의 실행만으로 웹 북마크 서비스를 인식하고, 디스플레이부에 표시할 수 있다. 이때, 수신기의 웹 북마크 서비스 인식은 TDO의 위치 정보를 포함하는 트리거의 수신 여부와 무관하게 이루어질 수 있다. 이하에서는, 도면에 표시되지 않았지만, 본 발명의 또 다른 실시예에 따른 수신기 동작을 설명한다.
수신기는 사용자 입력에 따른 채널이 선택되면, 트리거를 수신한다. 트리거는 URIString of iTV 메시지를 포함할 수 있다. 수신기는 트리거에 포함된 URIString of iTV 메시지를 이용하여 TDO 정보를 포함하는 TPT 서버의 주소를 추출할 수 있다. 수신기는 TPT 서버로부터 상기 TDO 정보 예컨대, TDO XML 파일을 수신할 수 있다. 수신기는 TDO XML 파일을 파싱하여 앞서 설명한 바와 같은 Event 엘리먼트에 포함된 내용과 TDO 관련 내용을 추출할 수 있다. 이어서, 수신기는 미리 정해진 시간에 따라 해당 TDO를 실행할 수 있다.
수신기는 해당 TDO를 실행하면서, Evnet 엘리먼트에 포함된 Data 필드에 웹 북마크 서비스 데이터가 포함되어 있는 경우, Data 필드에 포함된 웹 북마크 서비스 데이터를 해당 TDO에 전달할 수 있다. 웹 북마크 서비스 데이터는 수신기가 디스플레이부에 표시할 수 있는 정보 예컨대, 위젯 어플리케이션(Widget Application)의 주소 또는 웹페이지의 주소를 포함할 수 있다. 해당 TDO는 Data 필드에 포함된 웹 북마크 서비스 데이터를 전달받으면, 웹 북마크 서비스를 실행하여, 디스플레이부에 웹 북마크 서비스가 제공되고 있음을 표시할 수 있다. 이와 같은 본 발명의 또 다른 실시예에 따르면, DTVCC에 포함된 트리거에 웹 북마크 서비스에 대한 데이터가 존재하지 않는다 하더라도, 트리거에 포함된 TPT 서버 주소를 이용하여 TDO XML 파일을 추출한 후, TDO XML 파일에 포함된 Event 엘리먼트로부터 웹 북마크 서비스가 제공될 수 있음을 인식하여 표시할 수 있다.
UrlList는 TPT의 선택적 엘리먼트로서, 수신기가 사용할 수 있는 URLs의 리스트를 포함한다.
TptUrl은 선택적 엘리먼트로서, 장래의 세그먼트를 위한 TPT의 URL을 포함한다. 다양한 TptUrl 엘리먼트들이 포함되는 경우, 브로드캐스트 내의 해당 세그먼트들이 나타나는 순서에 따라 복수의 TptUrl 엘리먼트들이 배열될 수 있다.
NrtSignalingUrl은 선택적 엘리먼트로서 수신기가 해당 다큐먼트의 TBD 섹션에 정의된 요청 프로토콜을 사용하여, 해당 세그먼트를 포함하는 방송 스트림 내의 모든 NRT 가상 채널을 위한 NRT 시그널링 테이블들을 얻을 수 있는 서버의 URL을 포함한다.
다음은 도 63을 참고하여 본 발명의 일 실시예에 따른 웹 북마크 서비스에 대한 프로토콜 스택을 설명한다.
도 63은 본 발명의 일 실시예에 따라 구성한 웹 북마크 서비스에 대한 프로토콜 스택을 도시한 것이다.
수신기는 ATSC 서비스를 제공하기 위하여 ATSC 브라우저 환경을 지원할 수 있다. ATSC 서비스는 웹 북마크 서비스, 사용 알림(Usage Reporting) 서비스, 측정 (Measurement)서비스, 개인화(Personalization) 서비스 등을 포함할 수 있다. 방송국에서는 수신기가 ATSC 브라우저 환경에서 ATSC 서비스를 제공할 수 있도록 도 58과 같은 프로토콜 방식에 따라 NRT 컨텐트 아이템 또는 파일들을 패킷화하여 수신기에 전송할 수 있다.
도 63과 같은 프로토콜 스택은 ATSC 방송 프로토콜(Broadcast Protocol) 스택과 인터넷 프로토콜(Broadband Protocol) 스택이 결합되어, 수신기의 ATSC 브라우저 환경에 연결될 수 있다. 따라서, 수신기는 네이티브 어플리케이션(Native Application)과 ATSC 브라우저 환경을 이용하여 하위의 ATSC 방송 프로토콜 스택과 인터넷 프로토콜 스택에 접근할 수 있다.수신기의 네이티브 어플리케이션과 ATSC 브라우저는 OIPF(Open IPTV Forum), HbbTV(Hybrid Broadcast Broadband TV)에서 정의된 기존의 APIs 또는 기능을 ATSC 방송 환경에 적합하도록 새롭게 정의한 APIs 또는 기능뿐만 아니라, 새롭게 확장되거나 수정된 브라우저 환경을 필요로 할 수 있다.
다음은 도 64 내지 도 66을 참고하여 본 발명의 일 실시예에 따라 수신기가 웹 북마크 서비스를 제공하는 방법을 설명한다.도 64 내지 도 66은 본 발명의 일 실시예에 따라 웹 북마크 서비스를 제공하는 수신기의 디스플레이부를 도시한 도면이다.
도 64를 참조하면, 수신기는 디스플레이부(11)를 통하여 사용자 선택에 따른 특정 채널 또는 특정 프로그램과 같은 메인 시청각 컨텐트를 디스플레이할 수 있다.
방송사는 수신기가 디스플레이하고 있는 메인 시청각 컨텐트와 관련된 부가 정보인 장면 연관 정보에 대한 신호를 수신기에 전송할 수 있다.
수신기는 장면 연관 정보에 대한 신호 중에서도 장면 연관 정보에 대한 웹 북마크 서비스가 가능함을 알리는 신호를 수신한 경우, 디스플레이부(11)를 통하여 장면 연관 정보에 대한 웹 북마크 서비스가 가능함을 알리는 웹 북마크 지시자(13)를 디스플레이할 수 있으며, 이에 한정되는 것은 아니다. 장면 연관 정보에 대한 웹 북마크 서비스가 가능함을 알리는 신호는 웹 북마크 서비스 트리거 정보일 수 있다.
웹 북마크 지시자(13)는 사용자 입력을 수신하기 위한 웹 북마크 버튼(15)을 포함할 수 있다. 사용자는 장면 연관 정보를 웹 북마크하기 위하여 웹 북마크 버튼(15)을 선택하는 사용자 입력을 수신기에 입력할 수 있다. 예컨대, 사용자는 리모콘을 통하여 웹 북마크 버튼(15)을 선택할 수 있다.
반면에, 사용자는 해당 장면 연관 정보에 대하여 웹 북마크 서비스를 이용하지 않고자 하는 경우, 웹 북마크 버튼(15)을 선택하지 않을 수 있다. 수신기는 디스플레이부(11)에 웹 북마크 버튼(15)을 포함한 웹 북마크 지시자(13)를 표시한 시점부터 일정한 시간 동안 웹 북마크 버튼(15)을 선택하는 사용자 입력을 수신하지 않은 경우, 해당 장면 연관 정보를 웹 북마크하지 않고 웹 북마크 지시자(13)의 디스플레이를 중단할 수도 있으며, 이에 한정되는 것은 아니다.
도 65을 참조하면, 사용자가 웹 북마크 버튼(15)을 선택하면, 수신기는 웹 북마크 서비스 윈도우(17)를 디스플레이할 수 있다. 웹 북마크 서비스 윈도우(17)는 장면 연관 정보의 식별 정보를 포함할 수 있다. 장면 연관 정보가 하나 이상인 경우, 웹 북마크 서비스 윈도우(17)는 장면 연관 정보의 순번(No.), 각 장면 연관 정보의 식별 정보(Contents) 및 각 장면 연관 정보 선택 마크(mark)와 같은 장면 연관 정보 선택 사항을 포함할 수 있으며, 이에 한정되는 것은 아니다. 예를 들면, 사용자가 식별 정보를 통하여 장면 연관 정보를 식별하고, 선택 마크를 통하여 웹 북마크할 장면 연관 정보를 선택하면, 수신기는 해당 장면 연관 정보를 북마크할 수 있다.
수신기는 예컨대, 장면 연관 정보의 웹 북마크 아이템을 저장함으로써, 장면 연관 정보를 웹 북마크할 수 있다. 웹 북마크 아이템은 웹 북마크 식별자, 장면 연관 정보의 주소, 장면 연관 정보의 설명, 장면 연관 정보의 이용 가능 시간, 장면 연관 정보에 해당하는 메인 시청각 컨텐트의 캡쳐 이미지 중 적어도 하나를 포함할 수 있으며, 이에 한정되지 않는다.
도 66을 참조하면, 수신기는 지정된 시점 예컨대, 메인 시청각 컨텐트의 실행이 종료된 후, 광고가 출력되는 시점에서, 웹 북마크 어플리케이션을 실행할 수 있다.수신기가 웹 북마크 어플리케이션을 실행하면, 디스플레이부(11)는 웹 북마크 어플리케이션 실행 창을 디스플레이할 수 있다. 웹 북마크 어플리케이션 실행 창은 메인 시청각 컨텐트를 제공하는 방송국의 식별 정보(Name), 메인 시청각 컨텐트가 전송되는 채널 정보(Channel), 장면 연관 정보의 타이틀 정보(Title), 수신기가 해당 장면 연관 정보를 웹 북마크한 시간(Time), 해당 장면 연관 정보에 대하여 웹 북마크 서비스가 이용될 수 있는 유효 시간(Valid Time)중 적어도 하나를 표시할 수 있으며, 이에 한정되는 것은 아니다.
또한, 웹 북마크 어플리케이션은 실행 버튼(31), 삭제 버튼(33), 종료 버튼(35) 중 적어도 하나를 제공할 수 있으며, 이에 한정되지 않는다. 실행 버튼(31)은 장면 연관 정보를 실행하기 위한 버튼을 의미할 수 있다. 삭제 버튼(33)은 해당 장면 연관 정보의 북마크를 삭제하기 위한 버튼을 의미할 수 있다. 종료 버튼(35)은 웹 북마크 어플리케이션을 종료하기 위한 버튼을 의미할 수 있다.
이와 같이, 수신기는 웹 북마크 서비스를 제공함으로써, 사용자로 하여금 웹 북마크 서비스를 통해 현재 실행 중인 메인 시청각 컨텐트에 관련된 부가 서비스의 위치 정보를 저장해 두었다가, 메인 시청각 컨텐트 실행이 종료되면 저장해둔 부가 서비스의 위치 정보 리스트를 이용하여 부가 서비스를 실행할 수 있도록 편의를 제공할 수 있다.
도 67은 본 발명의 실시예에 따라 구성한 웹 북마크 트리거의 비트스트림 신택스를 도시한 것이다.
도 67에 도시된 신택스를 따르는 트리거는 웹 북마크 트리거를 나타낸 것으로, 이하에서는 도 51에 도시된 신택스에 따르는 트리거에 포함된 필드에 대한 설명은 생략하도록 한다.
associated_channel_PID 필드(13비트)는 해당 웹 북마크 트리거와 관련된 채널을 식별할 수 있는 PID 값을 나타낸다.
channel_name_length 필드(8비트)는 channel_name의 길이를 나타낸다.
channel_name 필드는 관련 채널 제목을 나타낸다.
트리거 타입 필드의 값이 0x04인 경우, 트리거의 비트스트림 신택스에 이하의 내용이 포함될 수 있다.
webbookmark_valid_time 필드(32비트)는 웹 북마크 서비스가 이용될 수 있는 유효 시간을 나타낸다.
webbookmark_expire_time 필드(32비트)는 웹 북마크 서비스가 만료되는 시간을 나타낸다.
webbookmark_title_length 필드(8비트)는 webbookmark_title의 길이를 나타낸다.
webbookmark_title_text 필드는 해당 웹 북마크 서비스를 설명하는 문서 데이터를 나타낸다.
webbookmark_location 필드는 웹 서비스의 위치를 포함한다.
webbookmark_URL_length 필드(8비트)는 webbookmark_URL의 길이를 나타낸다.
webbookmark_URL 필드는 webbookmark 서비스를 이용할 수 있음을 알려주는 TDO의 URL을 나타낸다.
thumbnail_URL_length 필드(8비트)는 thumbnail_URL의 길이를 나타낸다.
thumbnail_URL 필드는 메인 시청각 컨텐트의 캡쳐 이미지와 같이 웹 북마크된 썸네일의 위치를 포함한다.
도 68 및 도 69를 참조하여, 본 발명의 실시예에 따른 수신기의 웹 북마크 트리거 처리 방법을 설명한다.
도 68은 본 발명의 실시예에 따라 웹 북마크 서비스를 처리하는 수신기의 구조를 도시한 도면이다.
수신기(300)는 튜너(111), 복조기(112), MPEG-2 TP 핸들러(121), 트리거 처리부(330), 웹 북마크 모듈(420), 웹 북마크 저장부(400), 오퍼레이션 제어부(100), UI 매니저(196), 프리젠테이션 매니저(195), 스피커(123), 디스플레이부(11)를 포함한다. 이하에서는, 앞서 설명한 바와 동일한 구성에 대한 설명은 생략하도록 한다.
MPEG-2 TP 핸들러(121)는 튜너(111) 및 복조기(112)를 통하여 수신된 PES 패킷들 중에서 트리거 스트림을 추출한다. MPEG-2 TP 핸들러(121)는 추출된 트리거 스트림을 트리거 처리부(330)로 전송할 수 있다.
트리거 처리부(330)는 MPEG-2 TP 핸들러(121)로부터 전송된 트리거 스트림을 처리한다. 트리거 처리부(330)는 수신된 트리거 스트림이 웹 북마크 서비스 트리거인지 여부를 판단할 수 있다. 트리거 처리부(330)는 MPEG-2 TP 핸들러(121)로부터 전송된 트리거 스트림이 웹 북마크 서비스 트리거인 경우, 디스플레이부(11)가 웹 북마크 지시자(13)를 디스플레이할 수 있도록, 오퍼레이션 제어부(100)에 웹 북마크 서비스 이용 가능 알림 명령을 전송할 수 있다.
또한, 트리거 처리부(330)는 사용자가 디스플레이부(11)에 표시된 웹 북마크 지시자(13)에 포함된 웹 북마크 버튼(15)을 선택하면, 웹 북마크 서비스 트리거에 포함된 트리거 데이터를 웹 북마크 모듈(420)에 전송할 수 있다. 이때, 트리거 처리부(330)는 사용자가 웹 북마크 버튼(150)을 선택한 시점에 디스플레이되는 메인 시청각 컨텐트의 장면을 캡쳐할 수 있다.
웹 북마크 모듈(420)은 트리거 처리부(330)로부터 전송된 트리거 데이터를 저장 및 삭제하는 수신기(300)의 디바이스 네이티브 기능(device native function)을 수행한다.
예컨대, 웹 북마크 모듈(420)은 사용자가 웹 북마크 어플리케이션의 실행 버튼(31)을 선택하면, 트리거 처리부(300)로부터 전송된 트리거 데이터를 웹 북마크 저장부(400)로 송신할 수 있다. 또한, 웹 북마크 모듈(420)은 사용자가 웹 북마크 어플리케이션의 삭제 버튼(33)을 선택하면, 웹 북마크 저장부(400)에 저장된 해당 웹 북마크를 삭제할 수 있다.
본 발명의 또 다른 실시예에 따르면, 웹 북마크 모듈(420)은 사용자가 디스플레이부(11)에 표시된 웹 북마크 지시자(13)에 포함된 웹 북마크 버튼(15)을 선택하면, 트리거 처리부(300)로부터 전송된 트리거 데이터를 웹 북마크 저장부(400)로 송신할 수도 있으며, 이에 한정되지 않는다.
웹 북마크 저장부(400)는 트리거 데이터를 저장할 수 있다. 웹 북마크 저장부(400)는 웹 북마크의 썸네일로써, 트리거 처리부(330)가 캡쳐한 이미지를 함께 저장할 수 있으며, 이에 한정되지 않는다.
오퍼레이션 제어부(100)는 트리거 처리부(330)로부터 웹 북마크 서비스 트리거의 수신을 알리는 정보를 수신한 경우, 디스플레이부(11)가 장면 연관 정보에 대한 웹 북마크 서비스가 가능함을 알리는 웹 북마크 지시자(13)를 디스플레이할 수 있도록 디스플레이부(11)를 제어할 수 있다.
또한, 오퍼레이션 제어부(100)는 UI 매니저(196)로부터 사용자 입력 예컨대, 리모콘의 키 코드(key code) 정보를 수신한 경우, 해당 키 코드 정보를 트리거 처리부(330)에 송신할 수도 있다.
디스플레이부(11)는 오퍼레이션 제어부(100)로부터 제어 신호를 수신한 경우, 장면 연관 정보에 대한 웹 북마크 서비스가 가능함을 알리는 웹 북마크 지시자(13)를 디스플레이할 수 있다.
도 69는 본 발명의 실시예에 따라 수신기가 웹 북마크 서비스를 처리하는 방법을 도시한 흐름도이다.
수신기는 사용자 입력에 따라 특정 채널을 선택한다(S3001). 수신기는 사용자 입력에 따라 라이브(live) 방송과 같은 실시간 컨텐트를 실행할 수도 있고, VOD와 같은 비실시간 컨텐트를 실행할 수도 있으며, 이에 한정되는 것은 아니다. 수신기는 사용자가 선택한 특정 채널 또는 특정 프로그램을 디스플레이할 수 있다. 사용자는 수신기의 UI 매니저(196)를 통하여 특정 채널을 선택하는 사용자 입력을 수신기에 입력할 수 있다.
수신기는 방송사로부터 전송된 트리거를 수신한다(S3003). MPEG-2 TP 핸들러(121)는 방송사로부터 전송된 신호 중에서 트리거 스트림을 추출하여 트리거 처리부(330)에 전송할 수 있다. 이때, 방송사로부터 전송된 트리거는 NRT를 통하여 수신될 수 있다.
수신기의 트리거 처리부(330)는 수신된 트리거가 웹 북마크 서비스 트리거인지 여부를 판단한다(S3005). 트리거 처리부(330)는 트리거에 포함된 트리거 타입 필드의 값이 0x04인 경우, 해당 트리거를 웹 북마크 서비스 트리거라고 판단할 수 있다.
웹 북마크 서비스 트리거는 앞서 설명한 바와 같이, 현재 채널 또는 프로그램과 관련된 장면 연관 정보에 대하여 웹 북마크 서비스가 가능함을 알리는 정보를 의미할 수 있다. 웹 북마크 서비스는 NRT 서비스일 수 있다.
해당 트리거가 웹 북마크 서비스 트리거인 경우, 트리거 처리부(330)는 웹 북마크 서비스 이용 여부 리퀘스트를 오퍼레이션 제어부(100)에 전송한다(S3007). 오퍼레이션 제어부(100)는 디스플레이부(11)가 화면 상에 웹 북마크 서비스 이용 여부 리퀘스트를 표시할 수 있도록, 프리젠테이션 매니저(195)를 제어할 수 있다. 디스플레이부(11)는 화면 상에 앞서 도 64를 참조하여 설명한 바와 같이, 웹 북마크 지시자(13)를 표시할 수 있다.
수신기는 웹 북마크 서비스 이용을 위한 사용자 선택 입력을 수신한 경우(S3009), 장면 연관 정보의 웹 북마크 여부 리퀘스트를 오퍼레이션 제어부(100)에 전송한다(S3011). 사용자는 화면에 표시된 웹 북마크 서비스 이용 여부 리퀘스트에 대하여 사용자 선택 입력으로 응답할 수 있다. 웹 북마크 서비스 이용 여부 리퀘스트에 대한 사용자 선택 입력은 예컨대, 사용자가 해당 장면에서 디스플레이부(11)에 표시된 웹 북마크 버튼(15)을 선택하는 것을 의미할 수 있다.
웹 북마크 버튼(15)이 선택된 경우, UI 매니저(196)는 사용자 입력의 키 코드 정보를 오퍼레이션 제어부(100)에 전송할 수 있다. 이어서, 오퍼레이션 제어부(100)가 해당 키 코드 정보를 트리거 처리부(330)에 전송하면, 트리거 처리부(330)는 웹 북마크 모듈(420)에 트리거 데이터를 전송할 수 있다.
웹 북마크 모듈(420)은 웹 북마크 서비스 이용 여부 리퀘스트에 대한 사용자 선택 입력에 대응하여 해당 장면 연관 정보에 대한 북마크 여부 리퀘스트를 트리거 처리부(330)를 통하여 오퍼레이션 제어부(100)에 전송할 수 있고, 오퍼레이션 제어부(100)는 디스플레이부(11)가 화면 상에 해당 장면 연관 정보의 북마크 여부 리퀘스트를 표시할 수 있도록, 프리젠테이션 매니저(195)를 제어할 수 있다. 디스플레이부(11)는 화면 상에 앞서 도 65를 참조하여 설명한 바와 같이, 웹 북마크 서비스 윈도우(17)를 디스플레이할 수 있다.
장면 연관 정보의 북마크를 위한 사용자 선택 입력을 수신한 경우(S3013), 웹 북마크 모듈(420)은 선택된 장면 연관 정보에 대응하는 웹 북마크 데이터를 웹 북마크 저장부(400)에 저장한다(S3015). 장면 연관 정보의 북마크를 위한 사용자 선택 입력은, 예컨대, 사용자가 웹 북마크 서비스 윈도우(17)를 통하여 해당 장면과 관련된 하나 이상의 장면 연관 정보를 식별한 후, 적어도 하나 이상의 장면 연관 정보를 선택하는 사용자 입력을 의미할 수 있다. 웹 북마크 모듈(420)은 사용자 입력에 따라 해당 트리거 데이터 중 웹 북마크 데이터를 웹 북마크 저장부(400)에 전송할 수 있다. 수신기가 웹 북마크 데이터를 웹 북마크 저장부(400)에 전송하는 것이 웹 북마크 동작을 의미할 수 있고, 이때, 저장된 하나 이상의 웹 북마크 데이터를 각각 웹 북마크 아이템이라고 정의할 수 있다.
웹 북마크 모듈(420)은 오퍼레이션 제어부(100)를 통하여 장면 연관 정보의 북마크를 위한 사용자 선택 입력 정보를 수신하여, 해당 장면 연관 정보의 웹 북마크 아이템을 웹 북마크 저장부(400)에 저장할 수 있다. 웹 북마크 저장부(400)는 해당 트리거 데이터와 해당 장면의 캡쳐 이미지를 함께 저장할 수 있다. 도면 부호 S3003 단계 내지 S3015 단계를 반복될 수 있다.
미리 정해진 시점에 디스플레이부(11)는 웹 북마크 저장 리스트를 표시한다(S3013). 미리 정해진 시점은 예컨대, 사용자가 선택한 시점 또는 메인 시청각 아이템의 실행이 종료된 시점을 의미할 수 있으며, 이에 한정되지 않는다. 웹 북마크 저장 리스트는 웹 북마크된 장면 연관 정보인 부가 서비스의 URL과 같은 위치 정보, 해당 장면의 썸네일 등을 포함할 수 있으며, 이에 한정되지 않는다.
도면에 표시되지는 않았으나, 사용자는 디스플레이된 웹 북마크 저장 리스트에서 해당 부가 서비스의 식별 정보를 이용하여 부가 서비스를 식별하고, 그 중 하나 이상의 부가 서비스를 선택할 수 있다. 수신기는 사용자가 선택한 부가 서비스의 위치 정보를 이용하여 해당 부가 서비스에 접근할 수 있고, 이를 전송받아 실행할 수 있다.
앞서 도 68 및 도 69는 본 발명의 일 실시예에 따라 수신기의 네이티브 디바이스가 네이티브 어플리케이션을 통하여 직접 웹 북마크 트리거 데이터를 이용하여 웹 북마크 서비스를 제공한 반면, 이하에서는 본 발명의 다른 실시예에 따라 수신기가 미리 TDO를 수신하고 저장하면, 수신기에 포함된 소프트웨어 모듈인 TDO 모듈 및 수신기의 네이티브 어플리케이션 중 적어도 하나 이상이 방송국으로부터 전송된 트리거 데이터를 이용하는 방법에 대하여 설명한다.
도 70은 본 발명의 실시예에 따라 DO를 실행하여 웹 북마크 서비스를 처리하는 수신기의 구조를 도시한 도면이다. 도 70에 도시된 수신기는 도 68에 도시된 수신기에 비하여 TDO 모듈(410)을 더 포함한다. 이하에서는 도 68을 참조하여 설명한 수신기의 구조와 동일한 구조에 대한 설명은 생략하도록 한다.
TDO 모듈(410)은 해당 TDO를 처리한다. TDO 모듈(410)은 트리거 처리부(330)가 전송한 트리거 스트림에 포함된 트리거 데이터를 송신할 수 있다. TDO 모듈(410)은 트리거 처리부(330)로부터 해당 트리거 데이터의 종류가 웹 북마크 서비스 트리거임을 알리는 정보를 수신할 수 있다. TDO 모듈(410)은 느리거 처리부(330)로부터 전송된 트리거 데이터를 수신한 후, 해당 트리거 데이터의 종류가 웹 북마크 서비스 트리거인지 여부를 판단할 수도 있으며, 이에 한정되지 않는다.
TDO 모듈(410)은 사용자가 웹 북마크 버튼(15)을 선택한 경우, 해당 TDO를 실행할 수 있다. TDO 모듈(410)은 트리거 데이터에 포함된 타겟 TDO 정보를 이용하여 해당 TDO를 추출한 후, 추출된 TDO를 실행할 수 있다. 사용자가 웹 북마크 버튼(15)을 선택하기 이전에, 해당 TDO가 실행되어 있는 경우, TDO 모듈(410)은 다시 해당 TDO를 실행할 필요가 없다. 이하에서는 도 71을 참조하여, TDO 실행을 위한 웹 북마크 트리거의 비트스트림 신택스를 설명한다.
도 71은 본 발명의 또 다른 실시예에 따라 구성한 웹 북마크 트리거의 비트스트림 신택스를 도시한 것이다. 도 71에 도시된 신택스를 따르는 트리거는 도 67에 도시된 신택스를 따르는 트리거에 비하여 auto_start_mode 필드를 더 포함한다.
webbookmark_URL 필드는 ATSC 2.0 또는 NRT 컨텐트 아이템이 저장된 위치의 URL을 의미할 수도 있다. 앞서 설명한 바와 같이, 웹 북마크 트리거에 포함된 webbookmark_URL 필드는 해당 메인 시청각 컨텐트의 해당 장면에 이용할 수 있는 웹 북마크 서비스가 있음을 알려주는 TDO의 위치 정보를 의미할 수 있다.
이하에서는, TDO 모듈(410)이 웹 북마크 TDO를 바로 실행하기 위하여, 트리거 타입 필드의 값이 0x01인 준비 트리거의 trigger_action 필드를 다음과 같은 값으로 정의하여 설명한다.
trigger_action 필드의 값이 0x00인 준비 트리거는 "Reserved for future use"를 나타낼 수 있다.
trigger_action 필드의 값이 0x01인 준비 트리거는 트리거 수행을 위하여 필요한 컨텐트 아이템들을 미리 준비(prepare)하는 것을 의미한다. 수신기는 준비 트리거의 trigger_action 필드의 값이 0x01인 경우, 방송망 또는 IP 망을 통하여 트리거 수행을 위하여 필요한 컨텐트 아이템들을 미리 수신할 수 있다.
trigger_action 필드의 값이 0x02인 준비 트리거는 트리거 수행을 위하여 필요한 컨텐트 아이템들을 미리 로딩(preloading)하는 것을 의미한다. 수신기는 준비 트리거의 trigger_action 필드의 값이 0x02인 경우, 활성화 트리거가 수행되기 위하여 필요한 컨텐트 아이템들을 미리 로딩할 수 있다. 이때, 준비 트리거는 활성화 트리거가 수행되는 시점에 앞서 제공될 수 있다.
trigger_action 필드의 값이 0x03인 준비 트리거는 트리거 수행을 위하여 서버와의 연동이 필요한 경우, 수신기가 미리 서버와 연동할 것을 알려주는 트리거를 의미할 수 있다(Establishing server connections). 수신기는 internet location descriptor를 통하여 연결이 필요한 서버의 주소를 알 수 있다.
trigger_action 필드의 값이 0x04인 준비 트리거는 수신기가 TDO를 실행할 수 있는 상태에 바로 TDO가 실행될 수 있음을 의미한다(Loading content items).
또는 TDO 모듈(410)은 웹 북마크 TDO를 바로 실행하기 위하여 사전 트리거를 먼저 실행한 후, 실행 트리거를 실행할 수도 있다.
또는 앞서 설명한 바와 같이, TDO 모듈(410)은 트리거 타입 필드의 값이 0x04임을 확인하여 바로 TDO를 실행할 수도 있다.
auto_start_mode 필드(1비트)는 해당 웹 북마크 트리거에 포함된 webbookmark_URL 필드의 실행 여부를 나타낸다. auto_start_mode 필드는 flag일 수 있다. auto_start_mode 필드의 값이 0x1이면, 수신기는 해당 웹 북마크 트리거에 포함된 webbookmark_URL 필드를 바로 실행할 수 있으므로, 예컨대, TDO 모듈(410)은 해당 TDO를 바로 실행할 수 있다. 해당 TDO가 이미 실행 중인 경우, TDO 모듈(410)은 TDO의 life cycle에 따라서 동작할 수 있다.
다시 도 70을 설명한다.
TDO 모듈(410)은 TDO를 실행하여, 웹 북마크 지시자(130)를 디스플레이부(11)에 표시할 수 있다. 또한, TDO 모듈(410)은 TDO를 실행함으로써, 디스플레이부(11)에 웹 북마크 서비스 윈도우(17)를 표시할 수 있으며, 오퍼레이션 제어부(100)를 통하여 사용자 선택 입력을 수신할 수도 있다.
TDO 모듈(410)은 사용자가 웹 북마크 저장을 선택한 경우, 웹 북마크 모듈(420)에 웹 북마크 아이템을 전송할 수 있다. TDO 모듈(410)은 웹 북마크 모듈(420)에 웹 북마크 아이템을 전송하기 위하여 Javascript APIs를 이용할 수 있다.
TDO 모듈(410)은 웹 북마크 어플리케이션을 실행하여 사용자에게 웹 북마크 아이템 리스트를 제공할 수 있다. 또한 TDO 모듈(410)은 사용자가 웹 북마크 어플리케이션을 통하여 선택하는 적어도 하나의 웹 북마크 아이템을 웹 북마크 모듈(420)에 전송할 수 있다.
도 72는 본 발명의 실시예에 따라 수신기가 DO를 실행하여 웹 북마크 서비스를 처리하는 방법을 도시한 흐름도이다. 이하에서는, 도 69를 참조하여 설명한 바와 동일한 사항에 대한 설명은 생략하도록 한다.
수신기는 사용자 입력에 따라 특정 채널을 선택한다(S3101).
수신기는 방송사로부터 전송된 트리거를 수신한다(S3103).
이어서, 수신기는 트리거가 웹 북마크 서비스 트리거인지 여부를 판단한다(S3105). 이때, 수신기의 트리거 처리부(330)가 디바이스 네이티브 기능으로써, 트리거에 포함된 트리거 타입 필드의 값이 0x04인 경우, 해당 트리거의 종류가 웹 북마크 서비스 트리거임을 식별할 수 있다.
또는, 트리거 처리부(330)가 트리거 데이터를 TDO 모듈(410)에 전송하면, TDO 모듈(410)이 트리거 타입 필드의 값으로부터 해당 트리거가 웹 북마크 서비스 트리거임을 식별할 수도 있다. 이때, 트리거 처리부(330)는 트리거 데이터의 webbookmark_URL 필드의 값으로부터 TDO의 위치를 식별하여 해당 TDO를 실행시킬 수 있다.
또는, 트리거 처리부(330)가 트리거를 수신하기 전에 해당 TDO가 이미 실행되고 있는 경우, 트리거 처리부(330)는 해당 트리거를 바로 TDO 모듈(410)로 전송할 수 있다. 이때, 트리거 처리부(330)는 DOM Event를 이용하여 해당 트리거를 TDO 모듈(410)에 전송할 수 있다. TDO 모듈(410)은 오페이크 데이터를 이용하여 해당 트리거가 웹 북마크 서비스 트리거임을 식별할 수 있다.
해당 트리거가 웹 북마크 서비스 트리거인 경우, 수신기는 웹 북마크 서비스 이용 여부 리퀘스트를 디스플레이부(11)에 표시한다(S3107). 수신기의 트리거 처리부(330)가 웹 북마크 서비스 트리거임을 식별한 경우, 트리거 처리부(330)는 오퍼레이션 제어부(100)에 웹 북마크 서비스 이용 여부 리퀘스트를 전송할 수 있다.
또는, TDO 모듈(410)이 트리거에 포함된 트리거 타입 필드의 값(0x04)을 이용하여 웹 북마크 서비스 트리거임을 식별하거나, 트리거 타입 필드의 값이 0x02인 활성화 트리거의 오페이크 데이터를 통하여 웹 북마크 서비스를 식별할 수도 있다. 활성화 트리거의 오페이크 데이터를 통하여 웹 북마크 서비스를 식별하는 경우는 트리거의 대상 TDO가 현재 재생 중인 메인 시청각 컨텐트의 특정 장면에서 웹 북마크 서비스를 이용할 수 있음을 알려주는 경우를 포함할 수 있다. TDO 모듈(410)이 이용하는 활성화 트리거의 오페이크 데이터는 도 71을 참조하여 설명한 오페이크 데이터를 포함할 수 있다.
또는, 트리거 처리부(330)가 트리거를 수신하기 전에 이미 해당 TDO가 실행되고 있는 경우, 해당 TDO는 항상 웹 북마크 서비스를 위한 이벤트(event)를 수신할 수 있다. TDO 모듈(410)은 트리거 처리부(330)에 웹 북마크 트리거가 전송된 경우에, 웹 북마크 서비스를 위한 이벤트를 수신하기 위하여 ATSC 호환 브라우저에 필요한 인터페이스를 이용할 수 있다. 이하에서는 TDO 모듈(410)이 웹 북마크 서비스 관련 이벤트를 수신하기 위하여 이용하는 API에 대하여 설명한다.
TDO 모듈(410)이 웹 북마크 서비스 관련 이벤트를 수신하기 위하여 이용하는 API는 void addWebBookmarkEventListener(String channelNumber, EventListener listener) 함수 및 void removeWebBookmarkEventListener(String channelNumber) 함수를 포함할 수 있다. TDO 모듈(410)이 listener와 같은 콜백(callback) 함수를 인자로 등록한 addWebBookmarkEventListener(String channelNumber, EventListener listener) 함수를 이용하면, 웹 북마크 트리거를 수신한 트리거 처리부(330)는 웹 북마크 트리거를 웹 브라우저의 DOM Event로 인식하여 등록된 콜백 함수 예컨대, listener를 호출할 수 있다. TDO 모듈(410)이 웹 북마크 서비스에 대한 Event를 처리하지 않는 경우 또는 해당 TDO의 실행이 종료된 경우에는, TDO 모듈(410)은 removeWebBookmarkEventListener 함수를 이용할 수 있다.
또는, TDO 모듈(410)이 웹 북마크 서비스 관련 이벤트를 수신하기 위하여 이용하는 API는 void addWebBookmarkEventListener(EventListener listener) 함수 및 void removeWebBookmarkEventListener(EventListener listener) 함수를 포함할 수 있다. 수신기는 현재 도메인, 현재 사용 중인 서비스 고유 인식자 예컨대, PID 또는 채널 번호 등을 알고 있으므로 웹 북마크 서비스 관련 이벤트를 수신하기 위하여 이용하는 API에 channelNumber는 생략될 수 있다.
또는, 해당 TDO가 실행 중인 경우, 트리거 처리부(330)는 수신된 웹 북마크 서비스 트리거를 처리하지 않고, Event를 발생시켜, 해당 Event를 TDO 모듈(410)에 전송할 수도 있다. 이때, 트리거 처리부(330)는 예컨대, function onWebBookmarkArrived(String rawData) 함수를 이용하여 트리거 데이터를 로우데이터(row data)의 형식으로 TDO 모듈(410)에 전송할 수 있다.
반면에, 해당 TDO가 실행 중인 경우, 트리거 처리부(330)가 수신된 웹 북마크 서비스 트리거의 로우 데이터를 모두 처리한 후, TDO 모듈(410)에 관련 정보를 전송할 수도 있다. 이때, 트리거 처리부(330)는 function onWebBookmarkArrived(String channelNumber, String channelName, String title, DateAndTime validTime, DateAndTime expiryTime) 함수, function onWebBookmarkArrived(WebBookmarkCollection webBookmarkItems) 함수, function onWebBookmarkChanged(WebBookmarkCollection webBookmarkItems) 함수 중 적어도 하나를 이용하여 웹 북마크 서비스 트리거를 인식할 수 있으며, 이에 한정되지 않는다.
트리거 처리부(330)는 onWebBookmarkArrived(String channelNumber, String channelName, String title, DateAndTime validTime, DateAndTime expiryTime) 함수를 이용하여 웹 북마크 서비스 트리거로부터 추출된 채널 번호, 채널 이름, 타이틀, 유효시간, 만료시간 등의 정보를 TDO 모듈(410)에 전송할 수 있다.
또는, 트리거 처리부(330)는 onWebBookmarkArrived(WebBookmarkCollection webBookmarkItems) 함수를 이용하여 웹 북마크 서비스 트리거로부터 추출된 웹 북마크 컬렉션 정보를 TDO 모듈(410)에 전송할 수 있다. 웹 북마크 컬렉션은 하나 이상의 웹 북마크 아이템을 한꺼번에 전송하기 위한 것으로, 각각의 웹 북마크 아이템에 대한 채널 번호, 타이틀 등의 관련 정보를 포함할 수 있다. TDO 모듈(410)에 웹 북마크 컬렉션 정보가 전송되면, TDO 모듈(410)은 한 번에 복수의 웹 북마크 아이템을 추가하거나 화면에 표시할 수 있고, 사용자 선택 입력에 의하여 복수의 웹 북마크 아이템을 저장할 수도 있다.
또는, 트리거 처리부(330)는 onWebBookmarkChanged(WebBookmarkCollection webBookmarkItems) 함수를 이용하여 소정의 기간동안 점차 버전 업그레이드되어 반복 전송되는 웹 북마크 서비스 트리거로부터 추출된 웹 북마크 서비스 관련 정보를 TDO 모듈(410)에 전송할 수 있다. onWebBookmarkChanged함수는 웹 북마크 서비스 트리거의 버전이 업그레이드되는 경우에 한하여 호출될 수 있다.
이어서, 수신기는 웹 북마크 서비스 이용을 위한 사용자 선택 입력을 수신한 경우(S3109), 해당 웹 북마크 TDO를 실행한다(S3111). 사용자는 화면에 표시된 웹 북마크 서비스 이용 여부 리퀘스트에 대하여 사용자 선택 입력으로 응답할 수 있다. 웹 북마크 서비스 이용을 위한 사용자 선택 입력은 예컨대, 사용자가 웹 북마크 버튼(15)을 선택하는 것을 포함할 수 있다.
사용자가 웹 북마크 버튼(15)을 선택하면 오퍼레이션 제어부(100)는 TDO가 실행되고 있지 않은 경우에 한하여, 수신된 사용자 선택 입력을 TDO 모듈(410)에 전송함으로써 해당 TDO를 실행시킬 수 있다.
이어서, TDO 모듈(410)은 해당 TDO의 동작에 따라 웹 북마크 서비스 이용 여부 리퀘스트에 대한 사용자 선택 입력에 대응하여 장면 연관 정보의 북마크 여부 리퀘스트를 오퍼레이션 제어부(100)에 전송한다(S3113). 디스플레이부(11)는 화면 상에 앞서 설명한 웹 북마크 서비스 윈도우(17)를 표시할 수 있다.
TDO 모듈(410)이 장면 연관 정보의 북마크를 위한 사용자 선택 입력을 수신하면(S3115), 웹 북마크 모듈(420)은 선택된 장면 연관 정보에 대응하는 웹 북마크 데이터를 웹 북마크 저장부(400)에 저장한다(S3117). 이때, 웹 북마크 데이터는 해당 장면의 캡쳐 이미지인 썸네일을 포함할 수 있다. 이때, TDO 모듈(410)은 TDO 동작을 통하여 웹 북마크 모듈(420)의 디바이스 네이티브 기능을 이용하기 위해 addBookmark API와 같은 자바스크립트 API를 필요로 한다. 이하에서는 도 73을 참조하여, TDO 동작으로 디바이스 네이티브 기능 실행을 위해 필요한 addBookmark API에 대하여 설명한다.
도 73은 본 발명의 실시예에 따른 웹 북마크 컬렉션 중 addBookmark API를 보여준다.
도 73을 참조하면, addBookmark API는 웹 북마크 저장 리스트와 같은 웹 북마크 컬렉션에 새로운 웹 북마크를 추가하기 위한 API를 의미할 수 있다. addBookmark API는 예컨대, 주어진 시간 값이 레코딩 길이를 벗어났음을 이유로 웹 북마크를 추가할 수 없는 경우에는 그 값이 NULL로 리턴한다.(If the Web Bookmark cannot be added(e.g.because the value given for time lies outside of the length of the recording). This method SHALL return null.)
addBookmark API는 시간, 채널, 타이틀, 유효시간, 만료시간, URL, 썸네일 URL과 같은 아규먼트(Argument)를 포함할 수 있으며, 이에 한정되지 않는다.
시간 아규먼트(Integer)는 웹 북마크가 시작되는 시간을 나타낸다.
채널 아규먼트(Channer)는 웹 북마크가 시작되는 채널을 나타낸다.
타이틀 아규먼트(String)는 웹 북마크 아이템의 타이틀을 나타낸다.
유효시간 아규먼트(DatdAndTime)는 웹 북마크 서비스에 액세스가 가능한 시간을 나타낸다.
만료 시간 아규먼트(DateAndTime)은 웹 북마크의 만료 시간을 나타낸다. 웬 북마크는 자동적으로 제거될 수 없다. 유효시간 아규먼트와 만료 시간 아규먼트는 날짜와 시간으로 나타낼 수 있다.
URL 아규먼트(String)는 웹 북마크 서비스의 위치를 나타낸다.
썸네일 URL 아규먼트(String)는 웹 북마크 서비스의 썸네일의 위치를 나타낸다.
다시, 도 72를 설명하면, 미리 정해진 시점에 디스플레이부(11)는 웹 북마크 저장 리스트를 표시한다(S3119).
도면에 표시되지는 않았으나, 사용자는 디스플레이된 웹 북마크 저장 리스트에서 해당 부가 서비스의 식별 정보를 이용하여 부가 서비스를 식별하고, 그 중 하나 이상의 부가 서비스를 선택할 수 있다. 수신기의 웹 북마크 모듈(420)은 채널에 관계없이 사용자가 선택한 웹 북마크 아이템을 웹 북마크 저장 리스트에서 삭제 또는 실행할 수 있다.
앞서 도 72을 참조하여 설명한 본 발명의 일 실시예는 수신기가 미리 TDO를 수신하고 저장하면, 수신기에 포함된 TDO 모듈은 방송국으로부터 전송된 트리거 데이터를 이용하여 웹 북마크를 저장하는 동작까지 제어하고, 수신기의 네이티브 디바이스가 웹 북마크 서비스를 관리하여 사용자가 채널에 관계 없이 웹 북마크를 삭제 또는 선택하여 실행할 수 있다. 반면, 이하에서는 본 발명의 또 다른 실시 예에 따라 수신기가 미리 TDO를 수신하고 저장하면, 수신기에 포함된 TDO 모듈이 트리거 데이터를 이용하여 웹 북마크 서비스를 전반적으로 관리하는 방법에 대하여 설명한다.
도 74는 본 발명의 실시예에 따라 DO가 웹 북마크 서비스를 실행하는 방법을 도시한 흐름도이다. 이하에서는, 도 72를 참조하여 설명한 부분과 동일한 부분을 생략하고, 차이점만을 설명하도록 한다.
수신기는 사용자 입력에 따라 특정 채널을 선택한다(S3201).
수신기는 방송사로부터 전송된 트리거를 수신한다(S3203).
트리거가 활성화 트리거인 경우(S3204), 수신기는 오페이크 데이터로부터 활성화 트리거가 웹 북마크 서비스를 제공하는 TDO를 활성화시키는 트리거인지 여부를 판단한다(S3206). 트리거 처리부(330)는 디바이스 네이티브 기능으로써, 수신된 트리거에 포함된 트리거 타입 필드의 값이 0x02인 경우, 해당 트리거의 종류가 활성화 서비스 트리거임을 식별할 수 있다. 트리거 처리부(330)는 활성화 트리거를 해당 TDO를 실행하기 위한 TDO 모듈(410)에 전송할 수 있다. TDO 모듈(410)은 TDO를 실행시켜 오페이크 데이터에 포함된 웹 북마크 서비스에 대한 트리거 정보를 읽고, 이를 이용하여 웹 북마크 서비스를 제공할 수 있다.
도 74에 도시된 도면 부호 S3204 단계 및 S3206 단계는, 도 72에 도시된 도면 부호 S3105 단계와 동일한 기능을 하며, 도 72의 S3105 단계에 대한 설명과 마찬가지로, 수신기의 트리거 처리부(330)가 디바이스 네이티브 기능으로써, 트리거에 포함된 트리거 타입 필드의 값이 0x04인 경우, 해당 트리거의 종류가 웹 북마크 서비스 트리거임을 식별할 수도 있다.
웹 북마크 서비스 실행을 위한 트리거임이 식별되면, TDO 모듈(410)은 웹 북마크 서비스 이용 여부 리퀘스트를 디스플레이부(11)에 표시한다(S3207).
이어서, TDO 모듈(410)은 웹 북마크 서비스 이용을 위한 사용자 선택 입력을 수신한 경우(S3209), 해당 웹 북마크 TDO를 실행한다(S3211).
이어서, TDO 모듈(410)은 해당 TDO의 동작에 따라 웹 북마크 서비스 이용 여부 리퀘스트에 대한 사용자 선택 입력에 대응하여 장면 연관 정보의 북마크 여부 리퀘스트를 오퍼레이션 제어부(100)에 전송한다(S3113).
TDO 모듈(410)이 장면 연관 정보의 북마크를 위한 사용자 선택 입력을 수신하면(S3215), 웹 북마크 모듈(420)은 선택된 장면 연관 정보에 대응하는 웹 북마크 데이터를 웹 북마크 저장부(400)에 저장한다(S3217). TDO 모듈(410)은 addBookmark API와 같은 자바스크립트 API를 이용하여 웹 북마크 모듈(420)을 통해 웹 북마크 데이터를 저장할 수 있다.
이어서, TDO 모듈(410)은 미리 정해진 시점에 디스플레이부(11)를 통해 현재 채널의 웹 북마크 저장 리스트를 표시한다(S3220). TDO 모듈(410)은 현재 채널에 대한 웹 북마크 저장 리스트만을 디스플레이부(11)를 통해 표시할 수 있다. 브라우저의 보안 이슈로 인하여, TDO 모듈(410)은 현재 채널이 아닌 다른 채널에 대한 웹 북마크 저장 리스트는 표시할 수 없다. 또한, 웹 북마크 모듈(420)은 브라우저의 보안 이슈로 인하여, 도메인에 포함된 정보만을 제공할 수 있다.
TDO 모듈(410)이 디스플레이부(11)에 현재 채널의 웹 북마크 저장 리스트를 표시하기 위해서는, 웹 북마크 저장부(400)에 접근하기 위하여 웹 북마크 모듈(420)을 제어할 수 있어야 한다. 즉, TDO 모듈(410)은 TDO 동작을 통하여 웹 북마크 모듈(420)의 디바이스 네이티브 기능을 이용하기 위하여 readWebBookmark API와 같은 자바스크립트 API를 필요로 한다.
TDO 모듈(410)은 readWebBookmark API를 호출하여 웹 북마크 모듈(420)을 제어할 수 있다. TDO 모듈(410)이 readWebBookmark API를 호출하면, 웹 북마크 모듈(420)은 도면 부호 S3201 단계에서 선택된 채널에 대한 웹 북마크 데이터를 TDO 모듈(410)에 되돌려줄 수 있다. 웹 북마크 모듈(420)은 브라우저를 통하여 현재 ATSC 2.0의 브라우저가 실행되는 채널의 채널 번호(channel number), 도메인(domain) 등을 알 수 있으므로, 웹 북마크 저장부(400)로부터 현재 채널에 대한 웹 북마크 데이터를 추출할 수 있다.
수신기는 TDO 모듈(410)이 TDO를 실행하여 웹 북마크 데이터를 제공함으로써, 사용자에게 선택적인 웹 북마크 서비스를 제공함으로써, 사용자 편의를 제공할 수 있다.
이하에서는 도 75를 참조하여, TDO 동작으로 디바이스 네이티브 기능 실행을 위해 필요한 readWebBookmark API에 대하여 설명한다.
도 75는 본 발명의 실시예에 따른 웹 북마크 컬렉션 중 readWebBookmark API를 보여준다.
도 75를 참조하면, readWebBookmark API(String full_domain_name)는 웹 북마크 저장부(400)에 저장된 웹 북마크 컬렉션으로부터 웹 북마크를 읽을 수 있다. 그리고, 이러한 방법은 NULL로 리턴하여야 한다.
readWebBookmark API는 전체 도메인 네임(Full_domain_name)과 같은 아규먼트(Argument)를 포함할 수 있으며, 이에 한정되지 않는다.
전체 도메인 네임 아규먼트는 선택적인 사항으로서, 브라우저는 현재 도메인을 알 수 있다.
이하에서는 도 76 내지 도 79를 참조하여, 본 발명의 본 발명의 실시예에 따른 웹 북마크 컬렉션을 설명한다. 웹 북마크 컬렉션은 도 76 내지 도 79 이외에도 도 73 및 도 75을 더 포함할 수 있다.
도 76 내지 도 79는 본 발명의 실시예에 따른 웹 북마크 컬렉션을 보여준다.
본 발명의 실시예에 따르면, 웹 북마크 컬렉션은 OIPF의 Annex K. ECMAScript Convention을 이용하여 디자인될 수 있다.
도 76에 도시된 바와 같이, 웹 북마크 컬렉션의 특징(properties)은 웹 북마크 컬렉션에 포함된 웹 북마크 아이템의 개수를 포함할 수 있다. 웹 북마크 아이템의 개수 정보는 읽기 전용(readonly) 이며, 정수 값(integer)의 길이(length)를 포함한다.
도 77에 도시된 바와 같이, 웹 북마크 컬렉션은 웹 북마크 아이템들, 시간 상의 순서, 채널 넘버, 타이틀, 북마크의 카테고리(북마크 타입, 컨텐트 딜리버리, 광고 등) 등의 컬렉션을 의미할 수 있으며, 이에 한정되는 것은 아니다. (A WebBookmarkCollection is a collection of Web bookmarks, ordered by time, channel number, title and any categories of bookmark(e.g., bookmark type, content delivery, commercials, ...))
도 78에 도시된 바와 같이, 웹 북마크 컬렉션은 앞서 설명한 addBookmark API, readWebBookmark API 이외에도, removeWebBookmark API를 더 포함할 수 있다. removeWebBookmark API는 웹 북마크 저장 리스트와 같은 웹 북마크 컬렉션으로부터 웹 북마크를 제거하기 위한 API를 의미할 수 있다. removeWebBookmark API는 예컨대, 주어진 시간 값이 레코딩 길이에서 벗어났음을 이유로 웹 북마크를 제거할 수 없는 경우에는 그 값이 NULL로 리턴한다.(If the Web Bookmark cannot be removed(e.g.because the value given for time lies outside of the length of the recording). This method SHALL return null.)
removeWebBookmark API는 웹 북마크 아규먼트를 포함할 수 있으며, 이에 한정되지 않는다.
웹 북마크 아규먼트(webBookmark)는 웹 북마크 컬렉션에서 제거되는 웹 북마크 아이템을 나타낸다.
도 79는 본 발명의 실시예에 따른 웹 북마크 컬렉션의 웹 북마크 서비스 데이터의 구조를 도시한 도면이다.
웹 북마크 서비스를 구성하는 데이터 구조는 채널 번호 필드, 채널 이름 필드, 웹 북마크 타이틀 필드, 웹 북마크 설정 시간 필드, 웹 북마크 유효 시간 필드, 웹 북마크 만료 시간 필드, 웹 북마크 위치 필드, 썸네일 위치 필드 등을 포함할 수 있다.
채널 번호 필드(Channel Number)는 웹 북마크 설정 시점의 채널 번호를 나타낸다. 채널 번호 필드는 스트링(String) 타입으로 예컨대, "6-1"과 같은 형태로 표현될 수 있다.
채널 이름 필드(Channel Name)는 웹 북마크를 설정 시점의 채널 이름을 나타낸다. 채널 이름 필드는 스트링 타입으로 예컨대, "ABC"와 같은 형태로 표현될 수 있다.
웹 북마크 타이틀 필드(Title)는 웹 북마크 아이템의 제목 또는 타이틀 정보를 나타낸다. 웹 북마크 타이틀 필드는 스트링 타입으로 예컨대, "CSI Miami"와 같은 형태로 표현될 수 있다.
웹 북마크 설정 시간 필드(Time)는 웹 북마크가 설정된 시간을 나타낸다. 웹 북마크 설정 시간 필드는 날짜와 시간(Date and Time) 타입으로 예컨대, "2012.08.01 13:10"와 같은 형태로 표현될 수 있다.
웹 북마크 유효 시간 필드(Valid Time)는 웹 북마크 아이템의 사용 가능한 시간을 나타낸다. 웹 북마크 유효 시간 필드는 날짜와 시간 타입으로 예컨대, "2012.08.02 12:00"와 같은 형태로 표현될 수 있다.
웹 북마크 만료 시간 필드(Expiry Time)는 웹 북마크 아이템의 삭제 가능한 시간을 나타낸다. 웹 북마크 만료 시간은 자동으로 웹 북마크 저장부(400)로부터 웹 북마크 아이템을 삭제할 수 있는 시간을 나타낼 수도 있다. 웹 북마크 만료 시간 필드는 날짜와 시간 타입으로 예컨대, "2014.04.05 12:00"와 같은 형태로 표현될 수 있다.
웹 북마크 위치 필드(Location)는 웹 북마크 아이템이 저장된 URL을 나타낸다. 웹 북마크 위치 필드는 이후 사용자 입력에 의하여 웹 북마크 아이템이 저장된 장소의 위치를 찾기 위해 사용될 수 있다. 웹 북마크 위치 필드는 URL 타입으로 예컨대, "http://cnn.com/accident/update"와 같은 형태로 표현될 수 있다.
썸네일 위치 필드(Thumbnail)는 웹 북마크 설정시 메인 시청각 컨텐트의 장면을 캡쳐한 썸네일이 저장된 URL을 나타낸다. 수신기는 웹 북마크 저장 리스트를 화면에 표시할 때, 썸네일 위치 필드에 따라 썸네일을 이용할 수 있다. 썸네일 위치 필드는 URL 타입으로 예컨대, "http://cnn.com/accident/update_thumbnail.jpg"와 같은 형태로 표현될 수 있다.
추가로, 본 발명의 또 다른 실시 예에 따르면, 도 79를 참고하여 설명한 웹 북마크 컬렉션은 TDO XML 파일에서 추출할 수 있는 Evnet 엘리먼트에 포함될 수 있다. 앞서 설명한 바와 같이, 수신기는 전송된 트리거에 포함된 URIString of iTV message로부터 TPT 서버 주소를 추출하고, TPT 서버 주소를 이용하여 TDO XML 파일을 수신할 수 있으며, TDO XML 파일에 포함된 Event 엘리먼트를 추출하여, 웹 북마크 컬랙션이 포함된 Event 엘리먼트를 TDO에 전송한 후, 웹 북마크 서비스가 있음을 디스플레이부에 표시함으로써, 트리거에 웹 북마크 서비스 데이터가 포함되어 있지 않은 경우에도 웹 북마크 서비스를 제공할 수 있다.
도 80은 본 발명의 또다른 실시예에 따라 웹 북마크 서비스를 처리하는 수신기의 구조를 도시한 도면이다. 도 80에 도시된 수신기는 도 70에 도시된 수신기에 비하여 웹 브라우저(430), 캡션 모듈(440), 네트워크 프로토콜 스택 모듈(450), 네트워크 인터페이스(460)를 더 포함한다. 이하에서는 도 70을 참조하여 설명한 수신기의 구조와 동일한 구조에 대한 설명은 생략하도록 한다.
도 80에 도시된 바와 같이, 전송 스트림의 DTV-CC에 웹 북마크 서비스 트리거가 포함된 경우, MPEG-2 TP 핸들러(121)는 전송 스트림에서 캡션 스트림을 추출할 수 있다. 캡션 모듈(Caption Module, 440)은 MPEG-2 TP 핸들러(121)로부터 전송받은 캡션 스트림으로부터 트리거 데이터를 추출하여, TDO 모듈(410)로 추출된 트리거 데이터를 송신할 수 있다.
TDO 모듈(410)은 트리거 데이터에 포함된 데이터에 직접 접근할 수 있다. 앞서 설명한 바와 같이, 트리거 데이터는 도 62를 참조하여 설명한 Event 엘리먼트의 Data 속성에 따른 트리거 데이터를 포함할 수 있다. TDO 모듈(410)은 TDO의 동작에 따라 트리거 데이터를 수신하고, Data 엘리먼트에 포함된 데이터를 통하여 웹 북마크를 표시하기 위하여 필요한 데이터를 획득할 수 있다. TDO 모듈(410)은 사용자 선택에 따라, 앞서 설명한 APIs를 이용하여 웹 북마크 모듈(420)에 웹 북마크 데이터를 저장 또는 삭제함으로써, 웹 북마크 서비스를 관리할 수 있다.
또는, 트리거 처리부(330)가 Data 엘리먼트에 포함된 데이터를 통하여 웹 북마크를 표시하기 위하여 필요한 데이터를 획득하면, TDO 모듈(410)에 의하여 TDO가 실행되고, 웹 북마크 모듈(420)은 웹 북마크 아이템들을 관리할 수도 있다.
또는, TDO모듈(410)이 Data 엘리먼트를 이용하지 않고, 직접 XMLHTTPRequest 명령을 이용하여 서버로부터 데이터를 수신한 경우, 앞서 설명한 바와 같은 APIs를 이용할 수 있다. TDO모듈(410)이 APIs를 이용하여 데이터를 처리하는 경우, 웹 북마크 아이템 등의 정보는 수신기(300)에 저장된다.
도 81은 본 발명의 실시예에 따라 웹 북마크 서비스를 처리하는 수신기의 구조를 도시한 도면이다. 도 81에 도시된 수신기는 도 80에 도시된 수신기에 비하여 ACR 모듈(480), 외부 입력부(490)를 더 포함한다. 이하에서는 도 81을 참조하여 설명한 수신기의 구조와 동일한 구조에 대한 설명은 생략하도록 한다.
비디오 데이터와 오디오 데이터가 외부 입력에 의하여 전송된 경우, 예컨대 셋탑 박스(SetTop Box)를 통해 전송된 경우에는 HDMI와 같은 외부 입력부(490)가 트리거 데이터를 수신한다. 외부 입력부(490)는 프리젠테이션 매니저(195)에 비디오 데이터 및 오디오 데이터를 전송할 수 있다. 비디오 데이터와 오디오 데이터가 외부 입력에 의하여 전송된 경우는 트리거 데이터가 전송 스트림 특히, DTV-CC 내부에 포함되어 전송되지 않는다.
ACR 모듈(480)은 프리젠테이션 매니저(195)로부터 현재 실행되고 있는 비디오 화면의 특성 정보와 같은 시그니쳐 정보를 추출하여 미리 정해진 ACR 서버에 추출된 시그니쳐 정보를 전송할 수 있다. ACR 모듈(480)은 ACR 서버로부터 시그니쳐 정보에 대응하는 현재 채널 정보를 수신하여 현재 실행되는 채널을 인식할 수 있다. 또한, ACR 모듈(480)은 ACR 서버로부터 전송된 데이터를 이용하여 도 60 내지 도 62를 참조하여 설명한 데이터와 같은 URI 정보 또는 이와 동일 또는 유사한 TPT 정보를 획득할 수 있다. 이와 같이, 수신기(300)의 TDO모듈(410)은 ACR 기술을 이용하여 웹 북마크 서비스 트리거 및 웹 북마크 서비스 실행과 관련된 TDO 정보를 수신한 후 처리할 수 있다. ACR 기술에 관하여 이하에서 보다 상세히 설명한다.
다음은 도 82 내지 도 90을 참고하여 본 발명의 일 실시예에 따른 네트워크 토폴로지를 설명한다.
도 82는 본 발명의 일 실시예에 따른 네트워크 토폴로지를 보여주는 블록도이다.
도 82에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 토폴로지는 컨텐츠 제공 서버(10), 컨텐츠 인식 서비스 제공 서버(20), 멀티채널 비디오 분배 서버(30), 부가 서비스 정보 제공 서버(40), 복수의 부가 서비스 제공 서버(50), 방송 수신 장치(60), 네트워크(70), 영상 표시 장치(500)를 포함한다.
컨텐츠 제공 서버(10)는 방송국 등에 해당할 수 있으며, 메인 시청각 컨텐트(main audio-visual content)를 포함하는 방송 신호를 방송한다. 방송 신호는 부가 서비스를 더 포함할 수 있다. 부가 서비스는 메인 시청각 컨텐트와 관련이 있을 수도 있고, 관련이 없을 수도 있다. 부가 서비스는 서비스 정보(service information), 메타데이터(metadata), 부가 데이터, 컴파일된 실행 파일, 웹 애플리케이션, HTML(Hypertext Markup Language) 문서, XML 문서, CSS(cascading style sheet) 문서, 오디오 파일, 비디오 파일, ATSC 2.0 컨텐트, URL(Uniform Resource Locator)과 같은 주소 등의 형태를 가질 수 있다. 부가 서비스는 비실시간 선언적 오브젝트(NDO) 또는 트리거 선언적 오브젝트(TDO)를 통해 제공될 수 있다. 부가 서비스는 예컨대, 웹 북마크 서비스를 포함할 수 있다. 하나 이상의 컨텐츠 제공 서버가 존재할 수 있다.
컨텐츠 인식 서비스 제공 서버(20)는 영상 표시 장치(500)가 메인 시청각 컨텐트에 기초하여 컨텐트를 인식할 수 있게 하는 컨텐트 인식 서비스를 제공한다. 컨텐츠 인식 서비스 제공 서버(20)는 메인 시청각 컨텐트에 수정을 가할 수도 있고 수정을 가하지 않을 수도 있다. 하나 이상의 컨텐츠 인식 서비스 제공 서버가 존재할 수 있다.
컨텐츠 인식 서비스 제공 서버(20)는 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 로고와 같은 보이는 워터마크(visible watermark)를 삽입하는 워터마크 서버일 수 있다. 이 워터마크 서버는 메인 시청각 컨텐트의 각 프레임의 왼쪽 상단 또는 오른쪽 상단에 컨텐츠 제공자의 로고를 워터마크할 수 있다.
또, 컨텐츠 인식 서비스 제공 서버(20)는 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 컨텐츠 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입하는 워터마크 서버일 수 있다.
또한, 컨텐츠 인식 서비스 제공 서버(20)는 메인 시청각 컨텐트의 일부의 프레임 또는 일부의 오디오 샘플로부터 특징 정보를 추출하여 저장하는 핑거프린트 서버일 수 있다. 이 특징 정보는 시그너처라고도 불린다.
멀티채널 비디오 분배 서버(30)는 복수의 방송국으로부터 방송 신호를 수신하고 다중화하여 다중화된 신호를 방송 수신 장치(60)에 제공한다. 특히, 멀티채널 비디오 분배 서버(30)는 수신한 방송 신호에 대해 복조와 채널 복호화를 수행하여 메인 시청각 컨텐트와 부가 서비스를 추출한 후, 추출된 메인 시청각 컨텐트와 추출한 부가 서비스에 대해 채널 부호화를 수행하여 분배를 위한 다중화 신호를 생성할 수 있다. 이때, 멀티채널 비디오 분배 서버(30)는 추출한 부가 서비스를 제외할 수도 있고, 또 다른 부가 서비스를 추가할 수도 있기 때문에, 방송국은 방송국 주도의 서비스를 제공할 수 없다. 하나 이상의 멀티채널 비디오 분배 서버가 존재할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고, 튜팅한 채널의 신호를 수신하고, 수신한 신호에 대해 복조와 채널 복호를 수행하여 메인 시청각 컨텐트를 추출한다. 그리고 방송 수신 장치(60)는 추출한 메인 시청각 컨텐트를 H.264/MPEG-4 AVC(Moving Picture Experts Group-4 advanced video coding), Dolby AC-3, MPEG-2 AAC (Moving Picture Experts Group-2 Advanced Audio Coding) 알고리즘 등을 이용하여 복호하여 비압축 메인 시청각 컨텐트(uncompressed main AV content)를 생성한다. 방송 수신 장치(60)는 생성한 비압축 메인 시청각 컨텐트를 영상 표시 장치(500)의 외부 입력 포트 등을 통해 영상 표시 장치(500)에 제공한다.
부가 서비스 정보 제공 서버(40)는 영상 표시 장치(500)의 요청에 응답하여 메인 시청각 컨텐트와 관련된 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 제공한다. 하나 이상의 부가 서비스 주소 제공 서버가 존재할 수 있다. 부가 서비스 정보 제공 서버(40)는 복수의 이용가능한 부가 서비스 중에서 가장 우선순위가 높은 부가 서비스를 위한 부가 서비스 정보를 제공할 수도 있다.
부가 서비스 제공 서버(50)는 영상 표시 장치(500)의 요청에 응답하여 메인 시청각 컨텐트와 관련하여 이용할 수 있는 하나 이상의 부가 서비스를 제공한다. 하나 이상의 부가 서비스 제공 서버가 존재할 수 있다.
영상 표시 장치(500)는 텔레비전, 노트북, 핸드폰, 스마트폰 등과 같이 디스플레이부를 장치일 수 있다. 영상 표시 장치(500)는 방송 수신 장치(60)로부터 비압축 메인 시청각 컨텐트를 수신할 수도 있고, 컨텐츠 제공 서버(10) 또는 멀티채널 비디오 분배 서버(30)로부터 부호화된 메인 시청각 컨텐트를 포함하는 방송 신호를 수신할 수 도 있다. 영상 표시 장치(500)는 네트워크(70)를 통해 컨텐츠 인식 서비스 제공 서버(20)로부터 컨텐츠 인식 서비스를 제공받을 수 있고, 네트워크(70)를 통해 부가 서비스 정보 제공 서버(40)로부터 메인 시청각 컨텐트와 관련하여 이용할 수 있는 하나 이상의 부가 서비스의 주소를 받을 수 있으며, 부가 서비스 제공 서버(50)로부터 메인 시청각 컨텐트와 관련하여 이용할 수 있는 하나 이상의 부가 서비스를 제공받을 수 있다.
컨텐츠 제공 서버(10), 컨텐츠 인식 서비스 제공 서버(20), 멀티채널 비디오 분배 서버(30), 부가 서비스 정보 제공 서버(40), 복수의 부가 서비스 제공 서버(50) 중 2 이상은 하나의 서버의 형태로 결합될 수도 있고, 한 사업자에 의해 운영될 수도 있다.
도 83는 본 발명의 일 실시예에 따른 워터마크 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 83에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 토폴로지는 워터마크 서버(21)를 더 포함한다.
도 83에 도시된 바와 같은 워터마크 서버(21)는 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 컨텐츠 정보를 삽입한다. 멀티채널 비디오 분배 서버(30)는 변형된 메인 시청각 컨텐트를 포함하는 방송 신호를 수신하여 분배한다. 특히, 워터마크 서버는 이하에서 설명하는 바와 같은 디지털 워터마킹 기술을 이용할 수 있다.
디지털 워터마크는 삭제하기 어려운 방법으로 디지털 신호에 정보를 삽입하는 프로세스이다. 예를 들면, 디지털 신호는 오디오, 사진, 또는 비디오일 수 있다. 이 디지털 신호가 복사되면, 삽입된 정보 또한 복사본에 담아진다. 한 디지털 신호가 동시에 다른 여러 개의 워터마크를 운반할 수 있다.
보이는 워터마킹(visible watermarking)에서, 삽입되는 정보는 사진 또는 비디오에서 눈으로 식별가능하다. 전형적으로, 삽입된 정보는 미디어의 소유자를 식별하는 텍스트 또는 로고이다. 텔레비전 방송국이 자신의 로고를 전송되는 비디오의 코너에 추가하면, 이것이 눈으로 식별가능한 워터마크이다.
눈으로 식별 불가능한 워터마킹(invisible watermarking)에서, 정보는 디지털 데이터로서 오디오, 사진, 또는 비디오에 추가되지만, 일정 량의 정보가 숨겨져 있다는 사실은 감지할 수 있다하더라도 그러한 정보는 인지할 수는 없다. 이러한 눈으로 식별불가능한 워터마킹을 통해 비밀 메시지가 전달될 수도 있다.
워터마킹의 한 응용은 디지털 미디어의 불법 복제를 막기 위한 저작권 보호 시스템에 있다. 예컨데, 복제 장치는 디지털 미디어의 복제 전에 디지털 미디어로부터 워터마크를 얻고, 워터마크의 내용에 기초하여 복제를 할지 말지를 결정할 수 있다.
워터마킹의 또 다른 응용은 디지털 미디어의 출처 추적에 있다. 배포 경로 상의 각 지점에서 워터마크가 디지털 미디어에 임베딩된다. 나중에 이와 같은 디지털 미디어가 발견된다면, 이 디지털 미디어로부터 워터마크가 추출될 수 있고, 워터마크의 내용으로부터 배포의 출처를 파악할 수 있다.
디지털 미디어에 대한 설명이 눈으로 식별불가능한 워터마킹의 또 다른 응용이다.
디지털 미디어를 위한 파일 포멧이 메타데이터라고 불리는 추가적인 정보를 포함할 수 있는데, 디지털 워터마크는 디지털 미디어의 시청각 신호 자체로 전달된다는 점에서 메타데이터와는 구별된다.
워터마킹 방법으로 스프레드 스펙트럼, 양자화, 앰플리튜드 변조가 있다.
마킹되는 신호가 추가적인 수정에 의해 얻어진다면, 워터마킹 방법은 스프레드 스펙트럼에 해당한다. 스프레드 스펙트럼 워터마크는 꽤 강인하다고 알려져 있지만, 워터마크가 임베딩되는 호스트 신호에 간섭을 주기 때문에 많은 정보가 실리지는 않는다.
마킹되는 신호가 양자화에 의해 얻어진다면, 워터마킹 방법은 양자화 타입에 해당한다. 양자화 워터마크는 강인성은 낮지만, 꽤 많은 정보를 실을 수 있다.
마킹되는 신호가 공간 도메인에서 스프레드 스펙트럼과 유사한 추가 수정 방법으로 얻어진다면, 워터마킹 방법은 앰플리튜드 변조에 해당한다.
도 84은 본 발명의 일 실시예에 따른 워터마크 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 컨텐츠 제공 서버(10)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 전송한다(S101).
워터마크 서버(21)는 컨텐츠 제공 서버(10)가 제공하는 방송 신호를 수신하고, 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 로고와 같은 보이는 워터마크(visible watermark)를 삽입하거나, 메인 시청각 컨텐트에 워터마크 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입하고, 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 MVPD(30)에 제공한다(S103).
보이지 않는 워터마크를 통해 삽입되는 워터마크 정보는 워터마크 용도, 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다. 워터마크 용도는 무단 복제 방지, 시청률 조사, 부가 서비스 획득 중 하나를 나타낼 수 있다.
컨텐츠 정보는 메인 시청각 컨텐트를 제공하는 컨텐츠 제공자의 식별 정보, 메인 시청각 컨텐트 식별 정보, 메인 시청각 컨텐트 등급 정보, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보, 메인 시청각 컨텐트가 방송되는 채널의 이름, 메인 시청각 컨텐트가 방송되는 채널의 로고, 메인 시청각 컨텐트가 방송되는 채널의 설명, 이용 정보 보고 주소, 이용 정보 보고 주기, 이용 정보 획득을 위한 최소 이용 시간, 메인 시청각 컨텐트와 관련하여 이용가능한 부가 서비스 정보 중 하나 이상을 포함할 수 있다.
영상 표시 장치(500)가 컨텐츠 정보의 획득을 위하여 워터마크를 이용하였다면, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보는 이용된 워터마크가 내삽(embedding)된 컨텐트 구간의 시간 정보일 수 있다. 영상 표시 장치(500)가 컨텐츠 정보의 획득을 위하여 핑거프린트를 이용하였다면, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보는 특징 정보가 추출된 컨텐트 구간의 시간 정보일 수 있다. 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보는 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시작 시간, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 지속 시간(duration), 컨텐츠 정보 획득에 사용된 컨텐트 구간의 종료 시간 중 하나 이상을 포함할 수 있다.
이용 정보 보고 주소는 메인 시청각 컨텐트 시청 정보 보고 주소, 부가 서비스 이용 정보 보고 주소 중 하나 이상을 포함할 수 있다. 이용 정보 보고 주기는 메인 시청각 컨텐트 시청 정보 보고 주기, 부가 서비스 이용 정보 보고 주기 중 하나 이상을 포함할 수 있다. 이용 정보 획득을 위한 최소 이용 시간은 메인 시청각 컨텐트 시청 정보 획득을 위한 최소 시청 시간, 부가 서비스 이용 정보 추출을 위한 최소 사용 시간 중 하나 이상을 포함할 수 있다.
메인 시청각 컨텐트가 최소 시청 시간 이상 시청된 경우에 기초하여 영상 표시 장치(500)는 메인 시청각 컨텐트의 시청 정보를 획득하고, 메인 시청각 컨텐트 시청 정보 보고 주기에서 메인 시청각 컨텐트 시청 정보 보고 주소로 추출한 시청 정보를 보고할 수 있다.
부가 서비스가 최소 사용 시간 이상 사용된 경우에 기초하여 영상 표시 장치(500)는 부가 서비스 이용 정보를 획득하고, 부가 서비스 이용 정보 보고 주기에서 부가 서비스 이용 정보 보고 주소로 추출한 이용 정보를 보고할 수 있다.
부가 서비스 정보는 부가 서비스가 존재하는지에 대한 정보, 부가 서비스 주소 제공 서버 주소, 각각의 이용가능한 부가 서비스의 획득 경로, 각각의 이용가능한 부가 서비스를 위한 주소, 각각의 이용가능한 부가 서비스의 시작 시간, 각각의 이용가능한 부가 서비스의 종료 시간, 각각의 이용가능한 부가 서비스의 수명 주기(lifetime), 각각의 이용가능한 부가 서비스의 획득 모드, 각각의 이용가능한 부가 서비스 위한 요청 주기, 각각의 이용가능한 부가 서비스의 우선 순위 정보, 각각의 이용가능한 부가 서비스의 설명, 각각의 이용가능한 부가 서비스의 항목(category), 이용 정보 보고 주소, 이용 정보 보고 주기, 이용 정보 획득을 위한 최소 이용 시간 중 하나 이상을 포함할 수 있다. 예를 들면, 웹 북마크 서비스는 TDO의 형태로 구성된 장면 연관 정보를 제공하고, 트리거를 이용하여 TDO의 실행 또는 실행 종료 등 라이프사이클(lifecycle)을 관리할 수 있다. 이를 위해, 웹 북마크 서비스 정보는 메인 시청각 컨텐트의 프로그램 이름, 메인 시청각 컨텐트의 식별자(ID), 타임 스탬프, 장면 연관 정보 시작 시간, 장면 연관 정보 위치(URL) 등을 포함할 수 있다.이용가능한 부가 서비스의 획득 경로는 IP 또는 ATSC M/H(Advanced Television Systems Committee - Mobile/Handheld)를 나타낼 수 있다. 이용가능한 부가 서비스의 획득 경로가 ATSC M/H인 경우에, 부가 서비스 정보는 주파수 정보, 채널 정보를 더 포함할 수 있다. 각각의 이용가능한 부가 서비스의 획득 모드는 Push 또는 Pull을 나타낼 수 있다.
한편, 워터마크 서버(21)는 메인 시청각 컨텐트의 로고에 워터마크 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입할 수 있다.
예컨데, 워터마크 서버(21)는 로고의 일정 위치에 바코드를 삽입할 수 있다. 이때 로고의 일정 위치는 로고가 디스플레이되는 구역의 하단 1 라인에 해당할 수 있다. 영상 표시 장치(500)는 이와 같이 바코드가 삽입된 로고를 포함하는 메인 시청각 컨텐트를 수신하는 경우에, 바코드를 디스플레이하지 않을 수 있다.
또한, 워터마크 서버(21)는 로고의 메타데이터 형태로 워터마크 정보를 삽입할 수 있다. 이때 로고의 형상은 유지될 수 있다.
또한, 워터마크 서버(21)는 M개의 프레임의 로고의 각각에 N 비트의 워터마크 정보를 삽입할 수 있다. 즉, 워터마크 서버(21)는 M개의 프레임을 통해 M*N개의 워터마크 정보를 삽입할 수 있다.
MVPD(30)는 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 수신하고, 다중화 신호를 생성하여 방송 수신 장치(60)에 제공한다(S105). 이때 다중화 신호는 수신한 부가 서비스를 배제하거나 새로운 부가 서비스를 포함할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고 튜닝한 채널의 신호를 수신하고, 수신된 방송 신호를 복조하고 채널 복호화(channel decoding)하고 시청각 복호(AV decoding)를 수행하여 비압축 메인 시청각 컨텐트를 생성한 후, 생성된 비압축 메인 시청각 컨텐트를 영상 표시 장치(500)에 제공한다(S106).
한편, 컨텐츠 제공 서버(10) 또한 메인 시청각 컨텐트를 포함하는 방송 신호를 무선 채널 등을 통해 방송한다(S107).
또한, MVPD(30)는 방송 수신 장치(60)를 통하지 않고 직접 영상 표시 장치(500)에 메인 시청각 컨텐트를 포함하는 방송 신호를 전송할 수도 있다(S108).
영상 표시 장치(500)는 셋톱 박스(60)를 통해 비압축 메인 시청각 컨텐트를 수신할 수 있다. 또는, 영상 표시 장치(500)는 무선 채널을 통해 방송 신호를 수신하고 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 얻을 수 있다. 또는, 영상 표시 장치(500)는 MVPD(30)로부터 방송 신호를 수신하고, 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 수신할 수도 있다. 영상 표시 장치(500)는 획득한 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 워터마크 정보를 추출한다. 워터마크 정보가 로고에 해당하면, 영상 표시 장치(500)는 복수의 로고와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 로고에 해당하는 워터마크 서버 주소를 확인한다. 워터마크 정보가 로고에 해당하는 경우에, 영상 표시 장치(500)는 로고만을 가지고서는 메인 시청각 컨텐츠를 식별할 수 없다. 또한, 워터마크 정보가 컨텐트 정보를 포함하고 있지 않은 경우에도 영상 표시 장치(500)는 메인 시청각 컨텐츠를 식별할 수 없으나, 워터마크 정보가 컨텐츠 제공자 식별 정보나 워터마크 서버 주소를 포함할 수 있다. 워터마크 정보가 컨텐츠 제공자 식별 정보를 포함하는 경우에, 영상 표시 장치(500)는 복수의 컨텐츠 제공자 식별 정보와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 컨텐츠 제공자 식별 정보에 해당하는 워터마크 서버 주소를 확인할 수 있다. 이와 같이, 영상 표시 장치(500)는 워터마크 정보만으로 메인 시청각 컨텐트를 식별할 수 없는 경우에, 획득한 워터마크 서버 주소에 해당하는 워터마크 서버(21)에 접속하여 제1 질의를 전송한다(S109).
워터마크 서버(21)는 제1 질의에 대한 제1 응답을 제공한다(S111). 이 제1 응답은 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다.
워터마크 정보와 제1 응답이 부가 서비스 주소를 포함하고 있지 않다면, 영상 표시 장치(500)는 부가 서비스을 획득할 수 없다. 그러나 워터마크 정보와 제1 응답이 부가 서비스 주소 제공 서버 주소를 포함할 수 있다. 이와 같이, 영상 표시 장치(500)는 워터마크 정보와 제1 응답을 통해 부가 서비스 주소나 부가 서비스를 획득하지 못하였고 부가 서비스 주소 제공 서버 주소를 획득하였다면, 영상 표시 장치(500)는 획득한 부가 서비스 주소 제공 서버 주소에 해당하는 부가 서비스 정보 제공 서버(40)에 접속하여 컨텐츠 정보를 포함하는 제2 질의를 전송한다(S119).
부가 서비스 정보 제공 서버(40)는 제2 질의의 컨텐츠 정보와 관련된 하나 이상의 이용가능한 부가 서비스를 검색한다. 이후, 부가 서비스 정보 제공 서버(40)는 제2 질의에 대한 제2 응답으로 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 영상 표시 장치(500)에 제공한다(S121). 영상 표시 장치(500)가 수신하는 부가 서비스 정보는 예컨대, 메인 시청각 컨텐트의 프로그램 이름, 메인 시청각 컨텐트의 식별자(ID), 타임 스탬프, 장면 연관 정보 시작 시간, 장면 연관 정보 위치(URL) 등을 포함하는 웹 북마크 서비스 정보를 의미할 수 있다.
영상 표시 장치(500)는 워터마크 정보, 제1 응답 또는 제2 응답을 통해 하나 이상의 이용가능한 부가 서비스 주소를 획득하였다면, 이 하나 이상의 이용가능한 부가 서비스 주소에 접속하여 부가 서비스를 요청하고(S123), 부가 서비스를 획득한다(S125). 예를 들어, 영상 표시 장치(500)는 워터마크 정보, 제1 응답 또는 제2 응답을 통해 메인 시청각 컨텐트 식별 정보와 메인 시청각 컨텐트와 관련된 부가적인 메타데이터가 저장된 위치를 나타내는 시그널링 URL을 포함할 수 있다. 영상 표시 장치(500)는 시그널링 URL을 이용하여 해당 메타데이터를 획득하여 장면 연관 정보에 관련된 정보를 획득할 수 있다.
도면에 도시되지 않았지만, 영상 표시 장치(500)는 트리거 스트림을 이용하여 전송받은 장면 연관 정보의 시작 시간 등 라이프사이클을 관리할 수 있다. 트리거 스트림은 도면 부호 S121 단계에서 설명한 바와 같이 제2 응답으로 수신할 수도 있고, 도면 부호 S125 단계에서 설명한 바와 같이 제2 응답 등으로 부가 서비스 주소를 획득한 후, 해당 부가 서비스 주소에 접속한 후 획득할 수도 있다.
도 85는 본 발명의 일 실시예에 따른 워터마크 기반의 컨텐츠 인식 타이밍을 보여준다.
도 85에 도시된 바와 같이, 방송 수신 장치(60)가 턴온되고 채널을 튜닝하고, 영상 표시 장치(500)가 외부 입력 포트(111)를 통해 방송 수신 장치(60)로부터 튜팅된 채널의 메인 시청각 컨텐트를 수신하면, 영상 표시 장치(500)는 메인 시청각 컨텐트의 워터마크로부터 컨텐츠 제공자 식별자(또는 방송국 식별자)를 감지할 수 있다. 이후, 영상 표시 장치(500)는 감지한 컨텐츠 제공자 식별자에 기초하여 메인 시청각 컨텐트의 워터마크로부터 컨텐츠 정보를 감지할 수 있다.
이때, 도 85에 도시된 바와 같이, 컨텐츠 제공자 식별자의 감지가능 주기와 컨텐츠 정보의 감지가능 주기는 다를 수 있다. 특히, 컨텐츠 제공자 식별자의 감지가능 주기는 컨텐츠 정보의 감지가능 주기보다 짧을 수 있다. 이를 통해, 영상 표시 장치(500)는 필요한 정보만을 감지하기 위한 효율적인 구성을 가질 수 있다.
도 86는 본 발명의 일 실시예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 86에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 토폴로지는 핑거프린트 서버(22)를 더 포함한다.
도 86에 도시된 바와 같은 핑거프린트 서버(22)는 메인 시청각 컨텐트에 변형을 가하지는 않으며 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하여 저장한다. 이후에 핑거프린트 서버(22)는 영상 표시 장치(500)로부터의 특징 정보를 수신하면, 수신한 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공한다.
도 87은 본 발명의 일 실시예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 컨텐츠 제공 서버(10)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 전송한다(S201).
핑거프린트 서버(22)는 컨텐츠 제공 서버(10)가 제공하는 방송 신호를 수신하고, 메인 시청각 컨텐트의 복수의 프레임 구간 또는 복수의 오디오 구간으로부터 복수의 특징 정보를 추출하며, 복수의 특징 정보에 각각 대응하는 복수의 질의 결과를 위한 데이터베이스를 구축한다(S203). 질의 결과는 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다.
MVPD(30)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 수신하고, 다중화 신호를 생성하여 방송 수신 장치(60)에 제공한다(S205). 이때 다중화 신호는 수신한 부가 서비스를 배제하거나 새로운 부가 서비스를 포함할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고 튜닝한 채널의 신호를 수신하고, 수신된 방송 신호를 복조하고 채널 복호화(channel decoding)하고 시청각 복호(AV decoding)를 수행하여 비압축 메인 시청각 컨텐트를 생성한 후, 생성된 비압축 메인 시청각 컨텐트를 영상 표시 장치(500)에 제공한다(S206).
한편, 컨텐츠 제공 서버(10) 또한 메인 시청각 컨텐트를 포함하는 방송 신호를 무선 채널 등을 통해 방송한다(S207).
또한, MVPD(30)는 방송 수신 장치(60)를 통하지 않고 직접 영상 표시 장치(500)에 메인 시청각 컨텐트를 포함하는 신호를 전송할 수도 있다(S208).
영상 표시 장치(500)는 셋톱 박스(60)를 통해 비압축 메인 시청각 컨텐트를 수신할 수 있다. 또는, 영상 표시 장치(500)는 무선 채널을 통해 방송 신호를 수신하고 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 얻을 수 있다. 또는, 영상 표시 장치(500)는 MVPD(30)로부터 방송 신호를 수신하고, 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 수신할 수도 있다. 영상 표시 장치(500)는 획득한 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출한다(S213).
영상 표시 장치(500)는 미리 설정된 핑거프린트 서버 주소에 해당하는 핑거프린트 서버(22)에 접속하여 추출한 특징 정보를 포함하는 제1 질의를 전송한다(S215).
핑거프린트 서버(22)는 제1 질의에 대한 제1 응답으로서 질의 결과를 제공한다(S217). 만약 제1 응답이 실패에 해당한다면, 영상 표시 장치(500)는 또 다른 핑거프린트 서버 주소에 해당하는 핑거프린트 서버(22)에 접속하여 추출한 특징 정보를 포함하는 제1 질의를 전송할 수 있다.
핑거프린트 서버(22)는 질의 결과로서 XML (Extensible Markup Language) 문서를 제공할 수 있다. 질의 결과를 담는 XML 문서의 예를 도 88과 표 4를 참고하여 설명한다.
도 88은 본 발명의 일 실시예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램(schema diagram)을 보여준다.
도 88에 도시된 바와 같이, 질의 결과를 담는 ACR-Resulttype은 ResultCode 속성과 ContentID, NTPTimestamp, SignalingChannelInformation, ServiceInformation 엘리먼트를 갖는다.
예컨데, ResultCode 속성이 200의 값을 가지면, 이는 질의 결과가 성공임을 의미할 수 있다. ResultCode 속성이 404의 값을 가지면, 이는 질의 결과가 실패임을 의미할 수 있다.
SignalingChannelInformation 엘리먼트는 SignalingChannelURL 엘리먼트를 갖고, SignalingChannelURL 엘리먼트는 UpdateMode, PollingCycle 속성을 갖는다. UpdateMode 속성은 Pull 값 또는 Push 값을 가질 수 있다.
ServiceInformation 엘리먼트는 ServiceName, ServiceLogo, ServiceDescription 엘리먼트를 갖는다.
표 4는 이와 같은 질의 결과를 담는 ACR-ResultType의 XML Schema를 보여준다.
Figure pct00004
ContentID 엘리먼트로서, 아래의 표 5에서 보여주는 바와 같은 ATSC 컨텐트 식별자(ATSC content identifier)가 이용될 수 있다.
Figure pct00005
표 5에서 보여지는 바와 같이, ATSC content identifier는 TSID와 하우스 번호로 구성된 구조를 가진다.
16 비트 부호없는 정수 TSID는 트랜스포트 스트림 식별자(transport stream identifier)를 담는다(carry).
5 비트 부호 없는 정수 end_of_day는 방송이 끝나서 content_id 값이 재사용될 수 있는 날의 시(hour)로 셋팅된다.
9 비트 부호 없는 정수 unique_for는 content_id 값이 재사용될 수 없는 날의 수(the number of day)로 설정된다.
content_id는 컨텐트 식별자를 나타낸다. 영상 표시 장치(500)는 매일 end_of_day에 해당하는 시간에서 unique_for를 1씩 감소시키고, unique_for가 0이 되지 않았다면 content_id가 유일한 것이라고 간주할 수 있다.
한편, ContentID 엘리먼트로서, 아래에서 설명하는 바와 같은 ATSC-M/H service를 위한 글로벌 서비스 식별자(Global Service Identifier)가 이용될 수 있다.
글로벌 서비스 식별자는 다음과 같은 폼을 갖는다.
- urn:oma:bcast:iauth:atsc:service:<region>:<xsid>:<serviceid>
여기에서 <region>는 ISO 639-2에 의해 규정되는 바와 같은 2개의 문자로 된 국제 국가 코드이다. 로컬 서비스(local service)를 위한 <xsid> 는 <region>에서 정의하는 바와 같은 TSID의 십진수이고, 지역 서비스(regional service) (major > 69)를 위한 <xsid> 는 "0"이다. <serviceid> 는 <major>나 <minor>로 정의된다. <major> 는 메이저 채널 번호(Major Channel number)를 나타내고, <minor> 마이너 채널 번호(Minor Channel Number)를 나타낸다.
글로벌 서비스 식별자의 예는 아래와 같다.
- urn:oma:bcast:iauth:atsc:service:us:1234:5.1
- urn:oma:bcast:iauth:atsc:service:us:0:100.200
한편, ContentID 엘리먼트로서, 아래에서 설명하는 바와 같은 ATSC 컨텐트 식별자가 이용될 수 있다.
ATSC 컨텐트 식별자는 다음과 같은 폼을 갖는다.
urn:oma:bcast:iauth:atsc:content:<region>:<xsidz>:<contentid>:<unique_for>:<end_of_day>
여기에서 <region>는 ISO 639-2에 의해 규정되는 바와 같은 2개의 문자로 된 국제 국가 코드이다. 로컬 서비스(local service)를 위한 <xsid> 는 <region>에서 정의하는 바와 같은 TSID의 십진수이고, "."<serviceid>가 뒤따를 수 있다. 지역 서비스(regional service) (major > 69)를 위한 <xsid> 는 <serviceid>이다. <content_id> 는 표 5에 정의되어 있는 content_id field의 base64 부호이고, <unique_for> 는 표 5에 정의되어 있는 unique_for field의 십진수 부호이며, <end_of_day> 는 표 5에 정의되어 있는 end_of_day field의 십진수 부호이다.
이하에서는 다시 도 87을 설명한다.
질의 결과가 부가 서비스 주소나 부가 서비스를 포함하고 있지 않고 부가 서비스 주소 제공 서버 주소를 포함한다면, 영상 표시 장치(500)는 획득한 부가 서비스 주소 제공 서버 주소에 해당하는 부가 서비스 정보 제공 서버(40)에 접속하여 컨텐츠 정보를 포함하는 제2 질의를 전송한다(S219).
부가 서비스 정보 제공 서버(40)는 제2 질의의 컨텐츠 정보와 관련된 하나 이상의 이용가능한 부가 서비스를 검색한다. 이후, 부가 서비스 정보 제공 서버(40)는 제2 질의에 대한 제2 응답으로 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 영상 표시 장치(500)에 제공한다(S221).
영상 표시 장치(500)는 제1 응답 또는 제2 응답을 통해 하나 이상의 이용가능한 부가 서비스 주소를 획득하였다면, 이 하나 이상의 이용가능한 부가 서비스 주소에 접속하여 부가 서비스를 요청하고(S223), 부가 서비스를 획득한다(S224).
UpdateMode 속성이 Pull 값을 가지는 경우, 영상 표시 장치(500)는 SignalingChannelURL을 통해 HTTP request를 부가서비스 제공 서버(50)에 전송하여 이에 대한 응답으로 PSIP 바이너리 스트림을 포함하는 HTTP response를 부가서비스 제공 서버(50)로부터 수신한다. 이 경우 영상 표시 장치(500)는 PollingCycle 속성으로 지정되는 Polling 주기에 따라 HTTP request를 전송할 수 있다. 또한, SignalingChannelURL 엘리먼트는 업데이트 시간 속성을 가질 수도 있다. 이 경우, 영상 표시 장치(500)는 업데이트 시간 속성으로 지정되는 업데이트 시간에서 HTTP request를 전송할 수 있다.
UpdateMode 속성이 Push 값을 가지는 경우, 영상 표시 장치(500)는 XMLHTTPRequest API 를 활용하여 비동기적으로 서버로부터 업데이트를 수신할 수 있다. 영상 표시 장치(500)가 서버로 XMLHTTPRequest object를 통해 비동기적인 request를 한 후에 서버가 시그널링 정보에 변경이 있을 경우에 이 채널을 통해 response로 시그널링 정보를 제공하는 방안이다. 세션의 대기 시간에 제한이 있을 경우에는 session timeout respond를 발생시키고, 바로 수신기는 이를 인지하여 재요청하여서 수신기와 서버간의 시그널링 채널을 항시 유지할 수 있다.
도 89은 본 발명의 일 실시예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 89에 도시된 바와 같이, 본 발명의 일 실시예에 따른 네트워크 토폴로지는 워터마크 서버(21)와 핑거프린트 서버(22)를 더 포함한다.
도 89에 도시된 바와 같은 워터마크 서버(21)는 메인 시청각 컨텐트에 컨텐츠 제공자 식별 정보를 삽입한다. 워터마크 서버(21)는 로고와 같이 보이는 워터마크로서 컨텐츠 제공자 식별 정보를 메인 시청각 컨텐트에 삽입할 수도 있고, 보이지 않는 워터마크로서 컨텐츠 제공자 식별 정보를 메인 시청각 컨텐트에 삽입할 수도 있다.
핑거프린트 서버(22)는 메인 시청각 컨텐트에 변형을 가하지는 않으며 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하여 저장한다. 이후에 핑거프린트 서버(22)는 영상 표시 장치(500)로부터의 특징 정보를 수신하면, 수신한 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공한다.
도 90은 본 발명의 일 실시예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 컨텐츠 제공 서버(10)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 전송한다(S301).
워터마크 서버(21)는 컨텐츠 제공 서버(10)가 제공하는 방송 신호를 수신하고, 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 로고와 같은 보이는 워터마크(visible watermark)를 삽입하거나, 메인 시청각 컨텐트에 워터마크 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입하고, 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 MVPD(30)에 제공한다(S303). 보이지 않는 워터마크를 통해 삽입되는 워터마크 정보는 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다. 컨텐츠 정보와 부가 서비스 정보는 앞서 설명한 바와 같다.
MVPD(30)는 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 수신하고, 다중화 신호를 생성하여 방송 수신 장치(60)에 제공한다(S305). 이때 다중화 신호는 수신한 부가 서비스를 배제하거나 새로운 부가 서비스를 포함할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고 튜닝한 채널의 신호를 수신하고, 수신된 방송 신호를 복조하고 채널 복호화(channel decoding)하고 시청각 복호(AV decoding)를 수행하여 비압축 메인 시청각 컨텐트를 생성한 후, 생성된 비압축 메인 시청각 컨텐트를 영상 표시 장치(500)에 제공한다(S306).
한편, 컨텐츠 제공 서버(10) 또한 메인 시청각 컨텐트를 포함하는 방송 신호를 무선 채널 등을 통해 방송한다(S307).
또한, MVPD(30)는 방송 수신 장치(60)를 통하지 않고 직접 영상 표시 장치(500)에 메인 시청각 컨텐트를 포함하는 신호를 전송할 수도 있다(S308).
영상 표시 장치(500)는 셋톱 박스(60)를 통해 비압축 메인 시청각 컨텐트를 수신할 수 있다. 또는, 영상 표시 장치(500)는 무선 채널을 통해 방송 신호를 수신하고 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 얻을 수 있다. 또는, 영상 표시 장치(500)는 MVPD(30)로부터 방송 신호를 수신하고, 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 수신할 수도 있다. 영상 표시 장치(500)는 획득한 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 워터마크 정보를 추출한다. 워터마크 정보가 로고에 해당하면, 영상 표시 장치(500)는 복수의 로고와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 로고에 해당하는 워터마크 서버 주소를 확인한다. 워터마크 정보가 로고에 해당하는 경우에, 영상 표시 장치(500)는 로고만을 가지고서는 메인 시청각 컨텐츠를 식별할 수 없다. 또한, 워터마크 정보가 컨텐트 정보를 포함하고 있지 않은 경우에도 영상 표시 장치(500)는 메인 시청각 컨텐츠를 식별할 수 없으나, 워터마크 정보가 컨텐츠 제공자 식별 정보나 워터마크 서버 주소를 포함할 수 있다. 워터마크 정보가 컨텐츠 제공자 식별 정보를 포함하는 경우에, 영상 표시 장치(500)는 복수의 컨텐츠 제공자 식별 정보와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 컨텐츠 제공자 식별 정보에 해당하는 워터마크 서버 주소를 확인할 수 있다. 이와 같이, 영상 표시 장치(500)는 워터마크 정보만으로 메인 시청각 컨텐트를 식별할 수 없는 경우에, 획득한 워터마크 서버 주소에 해당하는 워터마크 서버(21)에 접속하여 제1 질의를 전송한다(S309).
워터마크 서버(21)는 제1 질의에 대한 제1 응답을 제공한다(S311). 이 제1 응답은 핑거프린트 서버 주소, 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다. 컨텐츠 정보와 부가 서비스 정보는 앞서 설명한 바와 같다.
워터마크 정보와 제1 응답이 핑거프린트 서버 주소를 포함하고 있다면, 영상 표시 장치(500)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출한다(S313).
영상 표시 장치(500)는 제1 응답 내의 핑거프린트 서버 주소에 해당하는 핑거프린트 서버(22)에 접속하여 추출한 특징 정보를 포함하는 제2 질의를 전송한다(S316).
핑거프린트 서버(22)는 제2 질의에 대한 제2 응답으로서 질의 결과를 제공한다(S317).
질의 결과가 부가 서비스 주소나 부가 서비스를 포함하고 있지 않고 부가 서비스 주소 제공 서버 주소를 포함한다면, 영상 표시 장치(500)는 획득한 부가 서비스 주소 제공 서버 주소에 해당하는 부가 서비스 정보 제공 서버(40)에 접속하여 컨텐츠 정보를 포함하는 제3 질의를 전송한다(S319).
부가 서비스 정보 제공 서버(40)는 제3 질의의 컨텐츠 정보와 관련된 하나 이상의 이용가능한 부가 서비스를 검색한다. 이후, 부가 서비스 정보 제공 서버(40)는 제3 질의에 대한 제3 응답으로 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 영상 표시 장치(500)에 제공한다(S321).
영상 표시 장치(500)는 제1 응답, 제2 응답, 또는 제3 응답을 통해 하나 이상의 이용가능한 부가 서비스 주소를 획득하였다면, 이 하나 이상의 이용가능한 부가 서비스 주소에 접속하여 부가 서비스를 요청하고(S323), 부가 서비스를 획득한다(S325).
다음은 도 91 및 도 99를 참고하여, 본 발명의 실시예에 따른 영상 표시 장치(500)를 설명한다.
도 91은 본 발명의 실시예에 따른 영상 표시 장치의 블록도이다.
도 91에 도시된 바와 같이, 본 발명의 실시예에 따른 영상 표시 장치(500)는 방송 신호 수신부(501), 복조부(503), 채널 복호부(505), 역다중화부(507), 시청각 복호부(509), 외부 입력 포트(511), 재생 제어부(513), 재생 장치(520), 부가 서비스 관리부(530), 데이터 송수신부(541), 메모리(550)를 포함한다.
방송 신호 수신부(501)는 컨텐츠 제공 서버(10) 또는 MVPD(30)로부터 방송 신호를 수신한다.
복조부(503)는 수신한 방송 신호를 복조하여 복조된 신호를 생성한다.
채널 복호부(505)는 복조된 신호를 채널 복호하여 채널 복호된 데이터를 생성한다.
역다중화부(507)는 채널 복호된 데이터로부터 메인 시청각 컨텐트와 부가 서비스를 분리한다. 분리된 부가 서비스는 부가 서비스 저장부(552)에 저장된다.
시청각 복호부(509)는 분리된 메인 시청각 컨텐트를 시청각 복호(AV decoding)하여 비압축 메인 시청각 컨텐트를 생성한다.
한편, 외부 입력 포트(511)는 방송 수신 장치(60), 디브이디(digital versatile disk, DVD) 플레이어, 블루레이 디스크 (Blu-ray disc) 플레이어 등으로부터 비압축 메인 시청각 컨텐트를 수신한다. 외부 입력 포트(511)는 DSUB 포트, HDMI (High Definition Multimedia Interface) 포트, DVI (Digital Visual Interface) 포트, 컴포지트(composite) 포트, 컴포넌트(component) 포트, S-Video 포트 중 하나 이상을 포함할 수 있다.
재생 제어부(513)는 시청각 복호부(509)가 생성하는 비압축 메인 시청각 컨텐트 또는 외부 입력 포트(511)로부터 수신한 비압축 메인 시청각 컨텐트 중 적어도 하나를 사용자 선택에 의해 재생 장치(520)에 재생한다.
재생 장치(520)는 디스플레이부(521)와 스피커(523)를 포함한다. 디스플레이부(521)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 컨텐츠 정보를 획득하고, 획득된 컨텐츠 정보에 기초하여 이용가능한 부가 서비스를 획득한다. 특히, 앞서 설명한 바와 같이 부가 서비스 관리부(530)는 비압축 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플에 기초하여 메인 시청각 컨텐트의 식별 정보를 획득할 수 있는데, 본 명세서에서는 이를 자동 컨텐츠 인식(automatic contents recognition, ACR)이라 칭하기도 한다.
데이터 송수신부(541)는 ATSC-M/H (Advanced Television Systems Committee - Mobile/Handheld) 채널 송수신부(541a)와 IP 송수신부(541b)를 포함할 수 있다.
메모리(550)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 영상 표시 장치(500)는 인터넷(internet)상에서 상기 메모리(550)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
메모리(550)는 컨텐츠 정보 저장부(551), 부가 서비스 저장부(552), 로고 저장부(553), 설정 정보 저장부(554), 북마크 저장부(555), 사용자 정보 저장부(556), 이용 정보 저장부(557)를 포함할 수 있다.
컨텐츠 정보 저장부(551)는 복수의 특징 정보에 대응하는 복수의 컨텐츠 정보를 저장한다.
부가 서비스 저장부(552)는 복수의 특징 정보에 대응하는 복수의 부가 서비스를 저장할 수도 있고, 복수의 컨텐츠 정보에 대응하는 복수의 부가 서비스를 저장할 수도 있다.
로고 저장부(553)는 복수의 로고를 저장한다. 또, 로고 저장부(553)는 이 복수의 로고에 대응하는 컨텐츠 제공자 식별자 또는 복수의 로고에 대응하는 워터마크 서버 주소를 더 저장할 수도 있다.
설정 정보 저장부(554)는 ACR을 위한 설정 정보를 저장한다.
북마크 저장부(555)는 북마크를 저장한다.
사용자 정보 저장부(556)는 사용자 정보를 저장한다. 사용자 정보는 하나 이상의 서비스를 위한 하나 이상의 계정 정보, 지역 정보, 가족 구성원 정보, 선호 장르 정보, 영상 표시 장치 정보, 이용 정보 제공 범위 중 하나 이상을 포함할 수 있다. 하나 이상의 계정 정보는 이용 정보 측정 서버를 위한 계정 정보, 트위터(twitter), 페이스북(facebook)과 같은 소셜 네트워크 서비스(social network service)의 계정 정보를 포함할 수 있다. 지역 정보는 주소 정보, 우편 번호를 포함할 수 있다. 가족 구성원 정보는 가족 구성원의 수, 각 구성원의 나이, 각 구성원의 성별, 각 구성원의 종교, 각 구성원의 직업 등을 포함할 수 있다. 선호 장르 정보는 스포츠, 영화, 드라마, 교육, 뉴스, 오락, 기타 장르 중에서 하나 이상으로 설정될 수 있다. 영상 표시 장치 정보는 영상 표시 장치의 종류, 제조사, 펌웨어 버전, 해상도, 모델명, OS, 브라우저, 저장 장치 유무, 저장 장치의 용량, 네트워크 속도에 대한 정보를 포함할 수 있다. 이용 정보 제공 범위가 설정되면, 영상 표시 장치(500)는 설정된 범위 내에서 메인 시청각 컨텐트 시청 정보와 부가 서비스 이용 정보를 수집하고 보고할 수 있다. 이용 정보 제공 범위는 가상 채널 각각에 대해 설정될 수 있다. 또한, 이용 정보 측정 허용 범위는 물리 채널 전체에 대해 설정될 수도 있다.
이용 정보 저장부(557)는 영상 표시 장치(500)에 의해 수집되는 메인 시청각 컨텐트 시청 정보와 부가 서비스 사용 정보를 저장한다. 또한, 영상 표시 장치(500)는 수집한 메인 시청각 컨텐트 시청 정보와 수집한 부가 서비스 사용 정보에 기초하여 서비스 이용 패턴을 분석하고, 분석된 서비스 이용 패턴을 이용 정보 저장부(557)에 저장할 수 있다.
부가 서비스 관리부(530)는 핑거프린트 서버(22) 또는 컨텐츠 정보 저장부(551)로부터 메인 시청각 컨텐트의 컨텐츠 정보를 획득할 수 있다. 컨텐츠 정보 저장부(551)에 추출한 특징 정보에 해당하는 컨텐츠 정보가 없거나 충분한 컨텐츠 정보가 없는 경우, 부가 서비스 관리부(530)는 데이터 송수신부(541)를 통해 추가 컨텐츠 정보를 수신할 수 있다. 또한, 부가 서비스 관리부(530)는 지속적으로 컨텐츠 정보를 업데이트할 수 있다.
부가 서비스 관리부(530)는 부가 서비스 제공 서버(50) 또는 부가 서비스 저장부(552)로부터 이용가능한 부가 서비스를 획득할 수 있다. 부가 서비스 저장부(552)에 부가 서비스가 없거나 충분한 부가 서비스가 없는 경우, 부가 서비스 관리부(530)는 데이터 송수신부(541)를 통해 부가 서비스를 업데이트할 수 있다. 또한, 부가 서비스 관리부(530)는 지속적으로 부가 서비스를 업데이트할 수 있다.
부가 서비스 관리부(530)는 메인 시청각 컨텐트로부터 로고를 추출하고, 로고 저장부(553)에 질의하여 추출한 로고에 대응하는 컨텐츠 제공자 식별자 또는 워터마크 서버 주소를 획득할 수 있다. 로고 저장부(553)에 추출한 로고와 일치하는 로고가 없거나 충분한 로고가 없는 경우, 부가 서비스 관리부(530)는 데이터 송수신부(541)를 통해 추가 로고를 수신할 수 있다. 또한, 부가 서비스 관리부(530)는 지속적으로 로고를 업데이트할 수 있다.
부가 서비스 관리부(530)는 메인 시청각 컨텐트로부터 추출한 로고와 로고 저장부(553) 내의 복수의 로고와의 비교를 수행하는데 연산의 부담을 줄이기 위한 다양한 방법을 수행할 수 있다.
예컨데, 부가 서비스 관리부(530)는 색깔 특성에 기초하여 비교를 수행할 수 있다. 즉, 부가 서비스 관리부(530)는 추출한 로고의 색깔 특성과 로고 저장부(553) 내의 로고의 색깔 특성을 비교하여 일치 여부를 판단할 수 있다.
또, 부가 서비스 관리부(530)는 문자 인식에 기초하여 비교를 수행할 수 있다. 즉, 부가 서비스 관리부(530)는 추출한 로고로부터 인식되는 문자와 로고 저장부(553) 내의 로고로부터 인식되는 문자를 비교하여 일치 여부를 판단할 수 있다.
뿐만 아니라, 부가 서비스 관리부(530)는 로고의 윤곽에 대한 형상에 기초하여 비교를 수행할 수 있다. 즉, 부가 서비스 관리부(530)는 추출한 로고의 윤곽 형상과 로고 저장부(553) 내의 로고의 윤곽 형상을 비교하여 일치 여부를 판단할 수 있다.
이하에서는 도 92 및 도 99을 참고하여 본 발명의 다양한 실시예에 따른 부가 서비스 관리부(130)를 설명한다.
도 92는 본 발명의 한 실시예에 따른 부가 서비스 관리부의 계층도이다.
도 92에 도시된 바와 같이, 본 발명의 한 실시예에 따른 부가 서비스 관리부(530)는 운영 시스템(operating system)(131a), 오디오 드라이버(132a), 비디오 드라이버(133a), 네트워크 드라이버(134a), ACR 플랫폼 API(ACR platform application program interface)(135a), 하나 이상의 ACR 엔진(136a), ACR 데몬(ACR daemon)(137a), ACR 미들웨어(138a), 하나 이상의 ACR 애플리케이션(139a)를 포함한다.
도 92에 도시된 바와 같은 부가 서비스 관리부(530)가 이용되면, 사용자는 채널이나 컨텐츠를 전혀 인식할 필요가 없으며, ACR 동작은 항상 수행될 수 있다.
부가 서비스 관리부(530)는 데이터 송수신부(541)를 통해 애플리케이션 스토어에 접속하여 애플리케이션을 다운로드할 수 있다.
오디오 드라이버(132a)는 오디오 핑거프린트 또는 오디오 워터마크를 위하여 사용되는 오디오 버퍼에 접근할 수 있다.
비디오 드라이버(133a)는 비디오 핑거프린트 또는 비디오 워터마크를 위하여 사용되는 비디오 버퍼에 접근할 수 있다.
네트워크 드라이버(134a)는 ACR 엔진(136a)이 데이터 송수신부(541)에 접근할 수 있도록 한다.
ACR 플랫폼 API(135a)는 ACR 엔진(136a)이 오디오 드라이버(132a), 비디오 드라이버(133a), 네트워크 드라이버(134a)에 접근할 수 있는 API를 제공한다.
복수의 방송국 또는 컨텐츠 제공자는 서로 다른 컨텐츠 인식 서비스를 이용할 수 있으므로, 영상 표시 장치(500)는 복수의 ACR 엔진(136a)을 탑재할 수 있다. 즉, 영상 표시 장치(500)는 복수의 비디오 워터마크 추출 알고리즘, 복수의 오디오 워트마크 추출 알고리즘, 복수의 비디오 시그너처 추출 알고리즘, 복수의 오디오 시그너처 추출 알고리즘 중 하나 이상을 위한 ACR 엔진을 포함할 수 있다. 워터마크 기반의 ACR 엔진(136a)은 워터마크 정보를 추출하여, 추출한 워터마크 정보로부터 워터마크 용도, 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 획득할 수 있다. 핑거프린트 기반의 ACR 엔진(136a)은 메인 시청각 컨텐트의 일부 구간의 특징 정보를 추출하여, 추출한 특징 정보에 기초하여 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 획득할 수 있다.
ACR 데몬(ACR daemon)(137a)은 하나 이상의 ACR 엔진(136a)를 관리한다. 데몬(daemon)은 주기적인 서비스 요청을 처리하기 위해 계속 실행되는 을 말한다. 데몬은 수집된 요구들을 또 다른 프로그램이나 들이 처리할 수 있도록 적절히 전달한다. ACR 데몬(137a)은 ACR 엔진(136a)의 실행 및 종료를 관리할 수 있다. ACR 데몬(137a)은 복수의 ACR 엔진(136a) 중에서 현재의 메인 시청각 컨텐트에 매칭되는 ACR 엔진을 탐색한다. 특히, 여러 개의 ACR 엔진이 실행되어 시스템 자원이 많이 소모되는 경우에, ACR 데몬(137a)은 특정 규칙 또는 우선순위에 따라 복수의 ACR 엔진(136a)을 하나씩 순차적으로 실행시켜서 컨텐츠 인식 성공 여부를 확인할 수 있다. 또한, 복수의 ACR 엔진(136a) 중 하나가 컨텐츠 인식에 성공한 경우에, ACR 데몬(137a)은 인식된 컨텐츠를 위한 부가 서비스에 해당하는 ACR 애플리케이션(139a)을 획득하고 실행시킬 수 있다. ACR 엔진(136a)이 컨텐츠 인식을 성공적으로 수행중에, 채널 변경 등으로 더 이상 컨텐츠를 인식할 수 없다면, ACR 데몬(137a)은 ACR 애플리케이션(139a)을 종료시킬 수 있다.
ACR 미들웨어(138a)는 하나 이상의 ACR 애플리케이션(139a)을 위한 브라우저 역할을 수행한다.
ACR 애플리케이션(139a)은 ACR의 도움으로 강화된 사용자 경험을 사용자에게 제공할 수 있다. ACR 애플리케이션(139a)은 애플리케이션 스토어나 인터넷으로부터 다운로드될 수 있는 애플리케이션일 수도 있고, 단순히 URL(Uniform Resource Locator)일 수도 있다. ACR 애플리케이션(139a)은 컨텐트 타겟 광고, 컨텐츠 제공자 포탈 서비스, 전자 프로그램 안내 (electronic program guide, EPG) 서비스 등과 같은 프로그램 특정 서비스나 컨텐츠 제공자 특정 서비스를 제공할 수 있다. ACR 애플리케이션(139a)은 ACR 미들웨어(138a)의 ACR 애플리케이션 인터페이스를 통해 ACR 엔진(136a)과 상호 작용하면서 ACR 엔진(136a)으로부터 컨텐츠 정보 또는 시그너처를 제공받아 컨텐츠 정보 또는 시그너처에 해당하는 부가 서비스를 추가로 획득하여 재생 장치(520)에 재생할 수 있다. 이를 위하여 ACR 애플리케이션(139a)이 이용할 수 있는 ACR 애플리케이션 인터페이스는 아래의 표 6과 같다.
Figure pct00006
도 93은 본 발명의 한 실시예에 따른 부가 서비스 관리부의 동작을 보여주는 흐름도이다.
방송 수신 장치(60)와 영상 표시 장치(500)의 전원이 턴온되고 영상 표시 장치(500)의 외부 입력 포트(111)가 선택되면, ACR 데몬(137a)은 하나 이상의 ACR 엔진(136a)을 통해서 튜닝된 채널에서 방송되는 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S401).
이후, ACR 데몬(137a)은 컨텐츠 정보와 관련된 이용가능한 부가 서비스를 획득한다(S403).
ACR 데몬(137a)은 획득한 부가 서비스를 백그라운드에서 실행한다(S405).
ACR 데몬(137a)은 디스플레이부(521)에 color button을 표시하여 부가 서비스가 이용 가능하다는 것을 사용자에게 알린다(S407).
ACR 데몬(137a)이 부가 서비스의 이용을 수신하면, ACR 데몬(137a)은 백그라운드에서 실행이 되었던 부가 서비스를 재생 장치(520)에 재생한다(S409).
채널이 변경되거나 메인 시청각 컨텐트가 변경되면, ACR 데몬(137a)은 하나 이상의 ACR 엔진(136a)을 통해서 변경을 인식하고, 부가 서비스를 종료한다(S411).
도 94는 본 발명의 한 실시예에 따른 부가 서비스 관리부의 계층도이다.
도 94에 도시된 바와 같이, 본 발명의 한 실시예에 따른 부가 서비스 관리부(530)는 운영 시스템(operating system)(131b), 오디오 드라이버(132b), 비디오 드라이버(133b), 네트워크 드라이버(134b), ACR 플랫폼 API(ACR platform application program interface)(135b), 하나 이상의 ACR 엔진(136b), ACR 엔진 관리부(ACR engine manager)(137b), ACR 미들웨어(138b), 하나 이상의 ACR 애플리케이션(139b)를 포함한다.
도 94에 도시된 바와 같은 부가 서비스 관리부(530)가 이용되면, 사용자는 채널이나 컨텐츠를 인식할 필요가 있지만, ACR을 위한 질의의 수가 줄어들 수 있으므로 서버의 부담을 경감시킬 수 있다.
도 94의 부가 서비스 관리부(530) 내의 오디오 드라이버(132b), 비디오 드라이버(133b), 네트워크 드라이버(134b), ACR 플랫폼 API(135b), 복수의 ACR 엔진(136b), ACR 미들웨어(138b)는 도 92의 부가 서비스 관리부(530) 내의 오디오 드라이버(132a), 비디오 드라이버(133a), 네트워크 드라이버(134a), ACR 플랫폼 API(135a), 복수의 ACR 엔진(136a), ACR 미들웨어(138a)와 각각 동일 또는 유사한 기능을 수행하므로 상세한 설명을 생략한다.
ACR 엔진 관리부(ACR engine manager)(137b)는 하나 이상의 ACR 엔진(136b)의 리스트를 관리하고 ACR 엔진(136b)의 선택 인터페이스를 ACR 애플리케이션(139b)에 제공한다.
ACR 애플리케이션(139b)은 ACR의 도움으로 강화된 사용자 경험을 사용자에게 제공할 수 있다. ACR 애플리케이션(139b)은 애플리케이션 스토어나 인터넷으로부터 다운로드될 수 있는 애플리케이션일 수도 있고, 단순히 URL(Uniform Resource Locator)일 수도 있다. ACR 애플리케이션(139b)은 컨텐트 타겟 광고, 컨텐츠 제공자 포탈 서비스, 전자 프로그램 안내 (electronic program guide, EPG) 서비스 등과 같은 프로그램 특정 서비스나 컨텐츠 제공자 특정 서비스를 제공할 수 있다.
ACR 애플리케이션(139b)은 ACR 미들웨어(138b)의 ACR 애플리케이션 인터페이스를 통해 ACR 엔진 관리부(ACR engine manager)(137b)와 상호 작용하면서 이용하고자 하는 ACR 엔진(136b)을 선택할 수 있다. 이를 위하여 ACR 애플리케이션(139b)이 이용할 수 있는 ACR 애플리케이션 인터페이스는 아래의 표 7과 표 8과 같다.
Figure pct00007
Figure pct00008
ACR 애플리케이션(139b)은 ACR 미들웨어(138a)의 ACR 애플리케이션 인터페이스를 통해 ACR 엔진(136b)과 상호 작용하면서 ACR 엔진(136b)을 제어 할 수 있고, ACR 엔진(136b)으로부터 컨텐츠 정보 또는 시그너처를 제공받아 컨텐츠 정보 또는 시그너처에 해당하는 부가 서비스를 추가로 획득하여 재생 장치(520)에 재생할 수 있다. 이를 위하여 ACR 애플리케이션(139b)이 이용할 수 있는 ACR 애플리케이션 인터페이스는 아래의 표 9와 같다.
Figure pct00009
이와 같은 ACR 애플리케이션 인터페이스를 이용하여 컨텐츠 제공자 관련 애플리케이션의 핑거프린트 샘플 코드의 한 예를 구현하면 표 10과 같다.
Figure pct00010
이와 같은 ACR 애플리케이션 인터페이스를 이용하여 컨텐츠 관련 애플리케이션의 핑거프린트 샘플 코드의 한 예를 구현하면 표 11과 같다.
Figure pct00011
이와 같은 ACR 애플리케이션 인터페이스를 이용하여 컨텐츠 제공자 관련 애플리케이션의 워터마킹 샘플 코드의 한 예를 구현하면 표 12와 같다.
Figure pct00012
이와 같은 ACR 애플리케이션 인터페이스를 이용하여 컨텐츠 관련 애플리케이션의 워터마킹 샘플 코드의 한 예를 구현하면 표 13과 같다.
Figure pct00013
도 95는 본 발명의 한 실시예에 따른 부가 서비스 관리부의 동작을 보여주는 흐름도이다.
방송 수신 장치(60)와 영상 표시 장치(500)의 전원이 턴온되고 영상 표시 장치(500)의 외부 입력 포트(111)이 선택되더라도, 영상 표시 장치(500)는 ACR 애플리케이션(139b)의 실행 이전에는 자동 컨텐츠 인식 동작을 수행하지 않는다.
메인 시청각 컨텐츠의 채널을 인지하는 사용자에 의해 해당 채널 관련 ACR 애플리케이션(139b)이 실행되면, ACR 애플리케이션(139b)은 자신이 이용하는 ACR 엔진(136a)에 대한 정보를 ACR 엔진 관리부(ACR engine manager)(137b)에 질의하여 수신한다(S501).
이후, ACR 애플리케이션(139b)은 자신이 이용하는 ACR 엔진(136b)을 시작하고(S503), ACR 엔진(136b)을 통해 컨텐츠 정보를 획득한다(S505).
ACR 애플리케이션(139b)은 획득한 컨텐츠 정보를 통해 메인 시청각 컨텐츠와 관련된 이용가능한 부가 서비스를 획득하고(S507), 디스플레이부(521)에 color button을 표시하여 부가 서비스가 이용 가능하다는 것을 사용자에게 알린다(S509).
ACR 애플리케이션(139b)이 부가 서비스의 이용을 사용자로부터 수신하면, ACR 애플리케이션(139b)은 부가 서비스를 재생 장치(520)에 재생한다(S511).
ACR 미들웨어(138b)가 ACR 애플리케이션(139b)의 종료에 관한 사용자 입력을 수신하면, ACR 미들웨어(138b)는 ACR 애플리케이션(139b)을 종료시킨다(S513).
도 96은 본 발명의 한 실시예에 따른 부가 서비스 관리부의 계층도이다.
도 96에 도시된 바와 같이, 본 발명의 한 실시예에 따른 부가 서비스 관리부(530)는 운영 시스템(operating system)(131c), 오디오 드라이버(132c), 비디오 드라이버(133c), 네트워크 드라이버(134c), ACR 플랫폼 API(ACR platform application program interface)(135c), ACR 엔진(136c), ACR 미들웨어(138c), 하나 이상의 ACR 애플리케이션(139c)를 포함한다.
도 96에 도시된 바와 같은 부가 서비스 관리부(530)가 이용되면, 사용자는 채널이나 컨텐츠를 인식할 필요가 있지만, ACR을 위한 질의의 수가 줄어들 수 있으므로 서버의 부담을 경감시킬 수 있다.
도 96의 부가 서비스 관리부(530) 내의 오디오 드라이버(132c), 비디오 드라이버(133c), 네트워크 드라이버(134c), ACR 플랫폼 API(135c), ACR 미들웨어(138c)는 도 92의 부가 서비스 관리부(530) 내의 오디오 드라이버(132a), 비디오 드라이버(133a), 네트워크 드라이버(134a), ACR 플랫폼 API(135a), ACR 미들웨어(138a)와 각각 동일 또는 유사한 기능을 수행하므로 상세한 설명을 생략한다.
ACR 엔진(136c)은 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하여 ACR 조정 서버(도시하지 않음)에 추출된 특징 정보를 포함하는 질의를 전송한다. ACR 조정 서버는 이 질의에 대한 응답으로 핑거프린트 서버 주소를 전송할 수 있다. 또한, ACR 조정 서버는 핑거프린트 서버 주소와 함께 특징 정보에 해당하는 컨텐츠 정보를 전송할 수도 있다.
ACR 애플리케이션(139c)은 ACR 엔진(136c)으로부터 핑거프린트 서버 주소를 수신하면, ACR 엔진(136c)이 추출한 특징 정보를 포함하는 질의를 핑거프린트 서버 주소에 해당하는 핑거프린트 서버에 직접 전송한다. 이를 위하여 ACR 애플리케이션(139c)이 이용할 수 있는 ACR 애플리케이션 인터페이스는 표 14과 같다.
Figure pct00014
이와 같은 ACR 애플리케이션 인터페이스를 이용하여 핑거프린트 샘플 코드의 한 예를 작성하면 표 15와 같다.
Figure pct00015
도 97는 본 발명의 한 실시예에 따른 부가 서비스 관리부의 동작을 보여주는 흐름도이다.
방송 수신 장치(60)와 영상 표시 장치(500)의 전원이 턴온되고 영상 표시 장치(500)의 외부 입력 포트(111)이 선택되면, ACR 엔진(136c)은 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하여 ACR 조정 서버(도시하지 않음)에 추출된 특징 정보를 포함하는 질의를 전송한다(S601).
ACR 엔진(136c)은 이 질의에 대한 응답으로 핑거프린트 서버 주소를 수신한다(S603).
ACR 애플리케이션(139c)는 getACRBackend() 메쏘드를 이용하여 ACR 엔진(136c)로부터 핑거프린트 서버 주소를 획득한다(S605).
ACR 애플리케이션(139c)는 getSignature() 메쏘드를 이용하여 ACR 엔진(136c)로부터 메인 시청각 컨텐트의 일부 비디오 프레임 구간 또는 일부 오디오 구간의 특징 정보를 획득한다(S607).
ACR 애플리케이션(139c)는 획득한 핑거프린트 서버 주소에 해당하는 핑거프린터 서버에 획득한 특징 정보를 포함하는 질의를 전송한다(S609).
ACR 애플리케이션(139c)는 이 질의에 대한 응답으로 컨텐츠 정보를 수신한다(S611).
ACR 애플리케이션(139c)는 수신한 컨텐츠 정보에 기초하여 이용가능한 부가 서비스를 획득하고(S613), 디스플레이부(521)에 color button을 표시하여 부가 서비스가 이용 가능하다는 것을 사용자에게 알린다(S615).
ACR 애플리케이션(139c)이 부가 서비스의 이용을 사용자로부터 수신하면, ACR 애플리케이션(139c)은 부가 서비스를 재생 장치(520)에 재생한다(S617).
ACR 미들웨어(138c)가 ACR 애플리케이션(139c)의 종료에 관한 사용자 입력을 수신하면, ACR 미들웨어(138c)는 ACR 애플리케이션(139c)을 종료시킨다(S619).
도 98은 본 발명의 한 실시예에 따른 부가 서비스 관리부의 계층도이다.
도 98에 도시된 바와 같이, 본 발명의 한 실시예에 따른 부가 서비스 관리부(530)는 운영 시스템(131d), 오디오 드라이버(132d), 비디오 드라이버(133d), 네트워크 드라이버(134d), ACR 플랫폼 API(135d), 하나 이상의 ACR 엔진(136d), ACR 엔진 관리부(ACR engine manager)(137d), 애플리케이션 관리부(138d), 하나 이상의 ACR 애플리케이션(139d)를 포함한다.
도 98에 도시된 바와 같은 부가 서비스 관리부(530)가 이용되면, 사용자는 채널이나 컨텐츠를 전혀 인식할 필요가 없으며, ACR 동작은 항상 수행될 수 있다.
도 98의 부가 서비스 관리부(530) 내의 오디오 드라이버(132d), 비디오 드라이버(133d), 네트워크 드라이버(134d), ACR 플랫폼 API(135d), 복수의 ACR 엔진(136d)는 도 92의 부가 서비스 관리부(530) 내의 오디오 드라이버(132a), 비디오 드라이버(133a), 네트워크 드라이버(134a), ACR 플랫폼 API(135a), 복수의 ACR 엔진(136a)와 각각 동일 또는 유사한 기능을 수행하므로 상세한 설명을 생략한다.
ACR 엔진 관리부(ACR engine manager)(137d)는 외부 입력 포트(111)로부터 수신되는 메인 시청각 컨텐트에 매칭되는 ACR 엔진(136d)을 확인하고, 애플리케이션(139d)에 매치되는 ACR 엔진(136d)를 확인한다. 이때, ACR 엔진 관리부(137d)는 복수의 ACR 엔진(136d)을 제어하여 복수의 ACR 엔진(136d)이 동시에 또는 순차적으로 워터마크 추출 또는 질의 전송을 수행하도록 할 수 있다. ACR 엔진 관리부(137d)는 우선 순위를 가지고 복수의 ACR 엔진(136d)을 제어할 수 있다. 복수의 ACR 엔진(136d) 중 어느 하나가 메인 시청각 컨텐트의 인식에 성공하면, ACR 엔진 관리부(137d)는 나머지 ACR 엔진을 슬립시키고, 동작하는 ACR 엔진으로부터 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다.
애플리케이션 관리부(138d)는 ACR 엔진 관리부(ACR engine manager)(137d)와 상호 작용하면서 ACR 애플리케이션의 생성, 시작, 중단, 슬립, 종료를 제어한다.
ACR 애플리케이션(139d)은 내장 애플리케이션일 수 있다. ACR 애플리케이션(139d)은 다음의 표 16에서 보여지는 바와 같은 함수를 통해 ACR 엔진(136b)을 제어할 수 있다.
Figure pct00016
도 99는 본 발명의 한 실시예에 따른 부가 서비스 관리부의 동작을 보여주는 흐름도이다.
방송 수신 장치(60)와 영상 표시 장치(500)의 전원이 턴온되고 영상 표시 장치(500)의 외부 입력 포트(111)이 선택되면, ACR 엔진 관리부(137d)는 외부 입력 포트(111)로부터 수신되는 메인 시청각 컨텐트에 매칭되는 ACR 엔진(136a)을 확인한다(S701). 이때, ACR 엔진 관리부(137d)는 복수의 ACR 엔진(136a)을 제어하여 복수의 ACR 엔진(136a)이 동시에 또는 순차적으로 워터마크 추출 또는 질의 전송을 수행하도록 할 수 있다. ACR 엔진 관리부(137d)는 우선 순위를 가지고 복수의 ACR 엔진(136a)을 제어할 수 있다.
복수의 ACR 엔진(136a) 중 어느 하나가 메인 시청각 컨텐트의 인식에 성공하면, ACR 엔진 관리부(137d)는 나머지 ACR 엔진을 슬립시키고(S702), 동작하는 ACR 엔진으로부터 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S703).
이후, ACR 엔진 관리부(137d)는 컨텐츠 정보와 관련된 이용가능한 애플리케이션을 확인하고(S704), 애플리케이션 관리부(138d)에 확인된 애플리케이션(139d)의 실행을 요청한다.
애플리케이션 관리부(138d)는 확인된 애플리케이션(139d)을 백그라운드에서 실행한다(S705).
백그라운드에서 실행된 애플리케이션(139d)은 디스플레이부(521)에 color button을 표시하여 부가 서비스가 이용 가능하다는 것을 사용자에게 알린다(S707).
백그라운드에서 실행된 애플리케이션(139d)이 사용자로부터 부가 서비스의 이용을 수신하면, 부가 서비스를 재생 장치(520)에 재생한다(S709).
채널이 변경되거나 메인 시청각 컨텐트가 변경되면(S710), ACR 엔진 관리부(137d)는 애플리케이션(139d)에 매칭되는 ACR 엔진(136a)을 확인하고, 확인된 ACR 엔진(136a)과 애플리케이션(139d)를 연결시킨다(S711). 이때, ACR 엔진 관리부(137d)는 복수의 ACR 엔진(136a)을 제어하여 복수의 ACR 엔진(136a)이 동시에 또는 순차적으로 워터마크 추출 또는 질의 전송을 수행하도록 할 수 있다.
애플리케이션 관리부(138d)는 애플리케이션(139d)의 종료를 위한 사용자 입력을 수신하면(S712), 애플리케이션(139d)를 종료한다(S713).
다음은 도 100와 도 101을 참고하여 본 발명의 실시예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 설명한다.
도 100은 본 발명의 실시예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 흐름도이다.
부가 서비스 정보는 부가 서비스의 시작 시간을 포함할 수 있다. 이때, 영상 표시 장치(500)는 이 시작 시간에서 부가 서비스를 시작할 필요가 있다. 그러나, 영상 표시 장치(500)는 타임 스탬프를 가지지 않는 비압축 메인 시청각 컨텐트를 전송하는 신호를 수신하기 때문에, 메인 시청각 컨텐트의 재생 시간의 기준과 부가 서비스의 시작 시간의 기준은 서로 다르다. 영상 표시 장치(500)가 시간 정보를 가지는 메인 시청각 컨텐트를 수신하더라도, 재방송 등과 같이, 메인 시청각 컨텐트의 재생 시간의 기준과 부가 서비스의 시작 시간의 기준은 서로 다를 수 있다. 따라서, 영상 표시 장치(500)는 메인 시청각 컨텐트의 기준 시간과 부가 서비스의 기준 시간을 동기화할 필요가 있다. 특히 영상 표시 장치(500)는 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 시작 시간을 동기화할 필요가 있다.
먼저, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S801). 메인 시청각 컨텐트의 일부 구간은 메인 시청각 컨텐트의 일부 비디오 프레임과 일부 오디오 구간 중 하나 이상을 포함할 수 있다. 부가 서비스 관리부(530)가 메인 시청각 컨텐트의 일부 구간을 추출한 시간을 Tn이라 한다.
부가 서비스 관리부(530)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S803). 구체적으로 부가 서비스 관리부(530)는 추출된 구간에 보이지 않는 워터마크(invisible watermark)로 부호화된 정보를 복호하여 컨텐츠 정보를 획득할 수 있다. 또한, 부가 서비스 관리부(530)는 추출된 구간의 특징 정보를 추출하고, 추출된 특징 정보에 기초하여 핑거프린트 서버(22) 또는 컨텐츠 정보 저장부(551)로부터 메인 시청각 컨텐트의 컨텐츠 정보를 획득할 수 있다. 부가 서비스 관리부(530)가 컨텐츠 정보를 획득한 시간을 Tm이라 한다.
한편, 컨텐츠 정보는 추출된 구간의 시작 시간(Ts)을 포함한다. 부가 서비스 관리부(530)는 컨텐츠 정보 획득 시간(Tm) 이후부터는 시간(Ts), 시간(Tm), 시간(Tn)에 기초하여 메인 시청각 컨텐트의 재생 시간을 부가 서비스의 시작 시간과 동기화한다(S805). 구체적으로, 부가 서비스 관리부(530)는 컨텐츠 정보 획득 시간(Tm)을 다음의 수학식 1에서 계산되는 시간(Tp)로 간주한다.
Figure pct00017
그리고, 부가 서비스 관리부(530)는 컨텐츠 정보 획득 시간부터 시간(Tx)가 경과한 시간을 Tp +Tx로 간주할 수 있다.
이후, 부가 서비스 관리부(530)는 획득한 컨텐츠 정보에 기초하여 부가 서비스와 부가 서비스의 시작 시간(Ta)을 획득한다(S807).
메인 시청각 컨텐트의 동기화된 재생 시간이 부가 서비스의 시작 시간(Ta)와 일치하면, 부가 서비스 관리부(530)는 획득한 부가 서비스를 시작한다(S809). 구체적으로, 부가 서비스 관리부(530)는 다음의 수학식 2를 만족하는 경우에 부가 서비스를 시작할 수 있다.
Figure pct00018
도 101은 발명의 실시예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 개념도이다.
도 101에 도시된 바와 같이, 영상 표시 장치(500)는 시스템 시간(Tn)에서 시청각 샘플을 추출한다.
영상 표시 장치(500)는 추출한 시청각 샘플로부터 특징 정보를 추출하고, 핑거프린트 서버(22)에 추출한 특징 정보를 포함하는 질의를 전송하여 질의 결과를 수신한다. 영상 표시 장치(500)는 질의 결과를 파싱하여 추출한 시청각 샘플의 시작 시간(Ts)가 11000ms에 해당함을 시간(Tm)에서 확인한다.
따라서, 영상 표시 장치(500)는 수학식 1에 따라 추출한 시청각 샘플의 시작 시간을 확인한 시점을 Ts + (Tm - Tn)로 간주하여 이후부터 메인 시청각 컨텐트의 재생 시간을 부가 서비스의 시작 시간과 동기화할 수 있다.
다음은 도 102 내지 도 131을 참고하여 본 발명의 다양한 실시예에 따른 ACR 애플리케이션을 설명한다.
본 발명의 다양한 실시예에 따른 ACR 애플리케이션으로, 자동 재생 애플리케이션, 컨텐츠 제공자 애플리케이션, 영상 표시 장치 제조사 애플리케이션 등을 들 수 있다.
도 102는 본 발명의 실시예에 따른 자동 재생 애플리케이션의 실행 화면을 보여준다.
자동 재생 애플리케이션은 사용자가 아무런 액션을 취하지 않더라도 부가 서비스를 자동적으로 재생한다. 이러한 의미에서, 본 명세서에서 자동 재생 애플리케이션을 린백 애플리케이션(lean back application)이라 부르기도 한다.
자동 재생 애플리케이션은 메인 시청각 컨텐트의 재생 중에 컨텐츠 제공자 또는 방송사가 제공하는 장면 연관 정보와 같은 부가 서비스를 메인 시청각 컨텐트의 재생 시간에 따라 사용자의 입력 없이 자동으로 재생한다. 즉, 컨텐츠 제공자 또는 방송사가 전적으로 자동 재생 애플리케이션을 통제한다.
도 102에 도시된 바와 같이, 자동 재생 애플리케이션이 재생되면, 화면(200)은 축소된 메인 시청각 컨텐트가 재생되는 서브 화면(210)과 부가 정보가 디스플레이되는 서브 화면(220)을 포함할 수 있다. 부가 정보가 디스플레이되는 서브 화면(220)은 메인 시청각 컨텐트가 재생되는 서브 화면(210)과 공간적으로 나뉘어 질 수 있다.
한편, 자동 재생 애플리케이션이 실행될 때, 부가 정보가 디스플레이되는 영역은 반투명할 수 있다. 이 경우, 부가 정보가 디스플레이되는 영역은 메인 시청각 컨텐트가 재생되는 영역의 위에 overlay될 수 있다.
도 103은 본 발명의 실시예에 따른 컨텐츠 제공자 애플리케이션의 실행 화면을 보여준다.
본 명세서에서, 컨텐츠 제공자 애플리케이션을 풀 인터렉티브 애플리케이션(full interactive application)이라 부르기도 한다.
도 103의 (A)에 도시된 바와 같이, 영상 표시 장치(500)는 복수의 애플리케이션을 다운로드하여 저장할 수 있다. 도 103의 (A)는 복수의 애플리케이션의 아이콘(230)다. 이러한 애플리케이션 중에서 컨텐츠 제공자 애플리케이션은 컨텐츠 제공자에 의해 제작되고 배포되는 애플리케이션이어서, 컨텐츠 제공자의 통제 하에 있을 수 있다.
영상 표시 장치(500)의 사용자는 컨텐츠 제공자 애플리케이션을 애플리케이션 스토어에서 다운로드할 수 있고, 다운로드된 컨텐츠 제공자 애플리케이션의 실행을 결정할 수 있다.
도 103의 (B)는 컨텐츠 제공자 애플리케이션의 실행 화면을 보여준다. 도 103의 (B)에 도시된 바와 같이, 화면(200)은 축소된 메인 시청각 컨텐트가 재생되는 서브 화면(210)과 부가 정보가 디스플레이되는 서브 화면(220), 메뉴가 디스플레이되는 서브 화면을 포함할 수 있다.
이하에서는 도 104 내지 도 131을 참고하여 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션을 설명한다.
영상 표시 장치 제조사 애플리케이션은 영상 표시 장치 제조사 에 의해 제작되고, 영상 표시 장치 제조사에 의해 제어되며, 영상 표시 장치(500)의 생산시에 미리 저장될 수 있다. 즉, 영상 표시 장치 제조사 애플리케이션은 컨텐츠 제공자나 컨텐츠에 상관없이 동일한 서비스를 제공할 수 있으며, 컨텐츠 제공자나 컨텐츠에 상관없이 동일한 유저 인터페이스를 제공할 수 있다.
영상 표시 장치 제조사 애플리케이션은 컨텐츠 제공자가 제공하는 부가 서비스가 표시되는 영역과 영상 표시 장치 제조사가 제공하는 부가 서비스가 표시되는 영역을 분리하여 가질 수 있다. 영상 표시 장치 제조사 애플리케이션은 영상 표시 장치(500)의 사용자에 의해 실행 여부가 결정될 수 있다.
영상 표시 장치 제조사 애플리케이션은 2가지 타입을 가질 수 있다.
첫번째 타입의 영상 표시 장치 제조사 애플리케이션은 크기 조절 사용자 인터페이스(resizing user interface)를 가진다. 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션은 메인 시청각 컨텐트가 디스플레이되는 영역의 크기를 줄여 줄인 영역 내에서 메인 시청각 컨텐트의 내용 전부가 디스플레이될 수 있도록 한다. 또한, 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션은 애플리케이션이 디스플레이되는 영역을 알파벳 L자나 Inverse-L 자 구조로 만든다.
두 번째 타입의 영상 표시 장치 제조사 애플리케이션은 오버레이 사용자 인터페이스(Overlay user interface)를 가진다. 오버레이 사용자 인터페이스(Overlay user interface)를 가지는 영상 표시 장치 제조사 애플리케이션은 메인 시청각 컨텐트가 디스플레이되는 영역의 크기는 그대로 유지하면서 애플리케이션이 디스플레이되는 영역을 메인 시청각 컨텐트 위에 겹친다. 애플리케이션이 디스플레이되는 영역이 메인 시청각 컨텐트를 가리므로, 애플리케이션 영역은 반투명일 수 있다.
도 104은 본 발명의 한 실시예에 따른 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션이 실행된 화면을 보여준다.
도 104에 도시된 바와 같이, 본 발명의 한 실시예에 따른 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션이 실행된 화면(300)은 메인 시청각 컨텐트가 디스플레이되는 메인 시청각 컨텐트 영역(310), 메인 메뉴가 디스플레이되는 메인 메뉴 영역(320), 알림 메시지가 디스플레이되는 알림 영역(330), 영상 표시 장치 제조사 애플리케이션의 제어를 위한 제어 버튼이 디스플레이되는 제어 버튼 영역(340), 서브 메뉴가 디스플레이되는 서브 메뉴 영역(350), 부가 정보가 디스플레이되는 부가 정보 영역(360), 광고가 디스플레이되는 광고 영역(370)을 포함한다.
제어 버튼 영역(340)은 영상 표시 장치 제조사 애플리케이션의 종료 버튼(341), 영상 표시 장치 제조사 애플리케이션의 숨김 버튼(342), 이전 정보로 되돌리는 백 버튼(343)을 포함한다.
본 발명의 한 실시예에 따른 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션에서, 메인 시청각 컨텐트 영역(310)은 화면(300)의 좌측 상단에 위치하고, 메인 메뉴 영역(320)과 알림 영역(330)은 메인 시청각 컨텐트 영역(310)의 하단에 위치하고, 제어 버튼 영역(340)은 우측 상단에 위치하고, 서브 메뉴 영역(350)은 제어 버튼 영역(340)과 부가 정보 영역(360) 사이에 위치하고, 광고 영역(370)은 우측 하단에 위치하고, 부가 정보 영역(360)은 서브 메뉴 영역(350)과 광고 영역(370) 사이에 위치하지만, 이들의 위치는 다양하게 변경될 수 있다.
도 105는 본 발명의 한 실시예에 따른 오버레이 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션이 실행된 화면을 보여준다.
도 105에 도시된 바와 같이, 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션과 유사하게, 본 발명의 한 실시예에 따른 오버레이 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션이 실행된 화면(300)은 메인 시청각 컨텐트가 디스플레이되는 메인 시청각 컨텐트 영역(310), 메인 메뉴가 디스플레이되는 메인 메뉴 영역(320), 알림 메시지가 디스플레이되는 알림 영역(330), 영상 표시 장치 제조사 애플리케이션의 제어를 위한 제어 버튼이 디스플레이되는 제어 버튼 영역(340), 서브 메뉴가 디스플레이되는 서브 메뉴 영역(350), 부가 정보가 디스플레이되는 부가 정보 영역(360), 광고가 디스플레이되는 광고 영역(370)을 포함한다.
본 발명의 한 실시예에 따른 오버레이 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션에서, 메인 시청각 컨텐트 영역(310)은 화면(300)의 좌측 상단에 위치하고, 메인 메뉴 영역(320)과 알림 영역(330)은 메인 시청각 컨텐트 영역(310)의 하단에 위치하고, 제어 버튼 영역(340)은 우측 상단에 위치하고, 서브 메뉴 영역(350)은 제어 버튼 영역(340)과 부가 정보 영역(360) 사이에 위치하고, 광고 영역(370)은 우측 하단에 위치하고, 부가 정보 영역(360)은 서브 메뉴 영역(350)과 광고 영역(370) 사이에 위치하지만, 이들의 위치는 다양하게 변경될 수 있다.
이하에서는 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션을 중심으로 설명한다.
영상 표시 장치 제조사 애플리케이션은 영상 표시 장치(500)에 내장된 ACR 엔진으로부터 필요한 정보를 공급받는데, 성격에 따라 크게 두 가지 타입의 메뉴를 가진다.
첫 번째 타입의 메뉴는 시간에 민감하지 않은(time insensitive) 부가 서비스를 위한 것이다. 즉, 시간에 민감하지 않은 부가 서비스와 관련된 메뉴가 선택되면, 영상 표시 장치(500)는 화면에 재생되고 있는 메인 시청각 컨텐트의 식별자를 획득하고, 획득한 식별자에 기초하여 부가 서비스를 획득하며, 획득된 부가 서비스를 부가 정보 영역(360)에 표시한다. 이러한 시간에 민감하지 않은 부가 서비스 예로는 타이틀, 장르, 배우, 감독, 다른 사람의 평가, Short clip, Short explanation 등이 있다. 이 기본 정보를 통해 영상 표시 장치(500)는 추가 정보를 검색하거나 Facebook, Twitter 같은 소셜 네트워크 서비스와 연동하거나, 추천 서비스 및 연관된 광고를 제공할 수 있다.
두 번째 타입의 메뉴는 시간에 민감한(time sensitive) 부가 서비스를 위한 것이다. 즉, 시간에 민감한 부가 서비스와 관련된 메뉴가 선택되면, 영상 표시 장치(500)는 화면에 재생되고 있는 메인 시청각 컨텐트의 식별자와 재생 시간 정보를 획득하고, 획득한 식별자와 재생 시간 정보에 기초하여 시간에 민감한 부가 서비스를 획득하며, 획득된 부가 서비스를 부가 정보 영역(360)에 표시한다.
본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 메인 메뉴는 프로그램(program) 메뉴, 정보(Information) 메뉴, 소셜(Social) 메뉴, 추천(Recommendation) 메뉴, 카탈로그(Catalogue) 메뉴를 포함한다. 이 중에서 시간에 민감하지 않은(Time insensitive) 메뉴는 정보 메뉴, 소셜 메뉴, 추천 메뉴, 카달로그 메뉴이고, 시간에 민감한 메뉴는 프로그램 메뉴이다. 시간에 민감하지 않은 메뉴가 선택되더라도 시간에 민감한 애플리케이션이 호출될 수도 있다. 이 다섯 가지 메인 메뉴 외에 다른 메인 메뉴도 추가될 수 있다. 각각의 메인 메뉴가 선택되면, 선택된 메인 메뉴의 서브 메뉴가 서브 메뉴 영역(350)에 나타난다.
도 106은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 실행 방법을 보여주는 흐름도이다.
영상 표시 장치(500)가 메인 시청각 컨텐트가 재생되는 중에 리모컨의 특정 키의 누름, 모션 리모컨을 아래 방향으로 흔듬, 모션 리모컨의 커서를 화면 아래쪽으로 죽 당김을 통해 애플리케이션 선택 메뉴 표시에 해당하는 사용자 입력을 수신하면(S901), 영상 표시 장치(500)는 도 26과 같은 애플리케이션 선택 메뉴를 디스플레이한다(S903).
도 107은 본 발명의 한 실시예에 따른 애플리케이션 선택 메뉴가 표시된 화면을 도시한 도면이다.
도 107에 도시한 바와 같이, 애플리케이션 선택 메뉴(380)는 화면(300)의 하단에 위치한다. 애플리케이션 선택 메뉴(380)는 반투명할 수 있다.
애플리케이션 선택 메뉴(380)는 영상 표시 장치(500) 내에 설치된 복수의 애플리케이션의 실행 아이콘을 포함한다. 표시된 실행 아이콘들 중에 하나의 아이콘이 영상 표시 장치 제조사 애플리케이션의 실행 아이콘에 해당한다.
영상 표시 장치(500)가 리모컨의 좌우 화살표 키의 조작이나 모션 리모컨의 움직임에 따른 커서 이동을 통해 영상 표시 장치 제조사 애플리케이션의 아이콘의 선택에 해당하는 사용자 입력을 수신하면(S905), 영상 표시 장치(500)는 영상 표시 장치 제조사 애플리케이션을 실행한다(S907). 이를 통해, 사용자는 메인 시청각 컨텐트를 시청하면서 원하는 즉시 앱 스토어 접속 없이 애플리케이션을 실행시킬 수 있다.
영상 표시 장치 제조사 애플리케이션이 실행되면, 영상 표시 장치 제조사 애플리케이션의 메인 메뉴가 나타난다. 프로그램 메뉴가 default로 선택되고 프로그램 메뉴의 서브 메뉴가 서브 메뉴 영역(350)에 나타난다. 프로그램 메뉴의 서브 메뉴들 중에서 전체 서브 메뉴가 디폴트로 선택된다. 포커스는 전체 서브 메뉴에 위치한다. 시간이 흘러감에 따라 부가 정보 영역(360)에 표시되는 부가 서비스가 자동으로 업데이트된다. 이전 메뉴로 돌아가는 것은 <- 버튼을 통해 수행되고고, 영상 표시 장치 제조사 애플리케이션을 닫고 전체화면으로 돌아가는 것은 X 버튼을 통해 수행된다.
다음은 도 108 내지 도 110를 참고하여 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 프로그램 메인 메뉴를 설명한다.
프로그램 메인 메뉴는 재생되고 있는 메인 시청각 컨텐트와 시간으로 연관된 애플리케이션을 부가 정보 영역(360)에 표시하기 위한 메뉴이다. 메인 시청각 컨텐트와 연동되는 애플리케이션을 띄우는 위한 부가 서비스 정보는 TV 방송사 같은 컨텐트 소유자(Content Owner)가 제공할 수 있다. 영상 표시 장치(500)는 이 부가 서비스 정보를 해석하여, 적절한 타이밍에 부가 정보 영역(360)에 해당 애플리케이션을 디스플레이한다. 화면에 나타나는 UI를 아래 그림에 도시한다.
프로그램 메뉴는 전체(All) 서브 메뉴, 참여(Participation) 서브 메뉴, 디스커버리(Discovery) 서브 메뉴를 가진다.
전체 서브 메뉴는 참여 서브 메뉴와 디스커버리 서브 메뉴와 관련된 모든 애플리케이션이 부가 정보 영역(360)에 나타나는 메뉴이다. 참여 서브 메뉴는 프로그램에서 투표와 같이 프로그램 참여를 유도하는 애플리케이션이 나타나는 메뉴이다. 디스커버리 서브 메뉴는 장면 연관 정보와 같은 애플리케이션이 나타나는 메뉴이다. 프로그램 메뉴의 서브 메뉴는 컨텐트 소유자가 원하는 애플리케이션의 내용에 따라 추가되거나 변경될 수 있다.
도 108은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 프로그램 메인 메뉴의 전체 서브 메뉴가 선택된 경우의 화면을 보여주는 도면이다.
프로그램 메인 메뉴의 첫번째 서브 메뉴인 전체 서브 메뉴가 선택되면, 영상 표시 장치(500)는 참여 서브 메뉴 및 디스커버리 서브 메뉴와 관련된 모든 애플리케이션을 부가 정보 영역(360)에 표시한다.
전체 서브 메뉴가 선택되면, 영상 표시 장치(500)는 특정 시간에 동기가 맞춰진 애플리케이션 또는 이벤트를 부가 정보 영역(360)에 표시한다. 특정 시간에 동기가 맞춰진 애플리케이션이 없는 경우, 영상 표시 장치(500)는 부가 정보 영역(360)을 빈공간으로 둘 수 있다. 그러나, 빈 공간은 사용자에게 추가적인 Interaction에 대한 동기 유발을 주지 못할 수 있으므로, 특정 시간에 동기가 맞춰진 애플리케이션이 없는 경우엔, 영상 표시 장치(500)는 그 시간 이전에 생긴 애플리케이션이나 이벤트를 모아 history를 표시할 수도 있다.
사용자가 영상 표시 장치 제조사 애플리케이션에 진입했을 때에는 메인 시청각 컨텐트를 시청하면서 메인 시청각 컨텐트와 연관된 interactive 애플리케이션을 수행하려는 의도를 가지고 있다고 볼 수 있다. 사용자가 이 메뉴, 저 메뉴를 돌아다니다 (navigate)보면, 어떤 특정 시간에 나타나는 이벤트를 보지 못하고 그냥 지나칠 경우가 발생할 수 있다. 특히 시간에 민감하지 않은 부가 서비스를 위한 메뉴를 돌아다닐 때 이러한 경우가 발생할 가능성이 높다. 그렇게 때문에 영상 표시 장치 제조사 애플리케이션에 진입한 후, navigation 도중에 시간에 민감한 이벤트가 발행하면, 영상 표시 장치(500)는 이에 대한 알림 메시지를 알림 영역(330)에 표시하여, 사용자에게 지금 시간에 방송사에서 보내주는 특정한 이벤트가 있다는 것을 알려줄 수 있다.
사용자가 영상 표시 장치 제조사 애플리케이션을 통해 음악정보나 장소 정보를 확인하는 중에 시간 연동 애플리케이션이 발생하면, 영상 표시 장치(500)는 알림 메시지를 알림 영역(330)에 표시한다. 영상 표시 장치(500)가 Go To 버튼 누름에 해당하는 사용자 입력을 수신하면, 영상 표시 장치(500)는 발생한 시간 연동 애플리케이션과 관련된 서브 메뉴로 진입하고, 발생한 시간 연동 애플리케이션을 부가 정보 영역(360)에 디스플레이한다. 알림 메시지는 텍스트 메시지일 수도 있다. 또한 영상 표시 장치(500)는 전달된 애플리케이션의 양을 숫자로 표시할 수 도 있다. 알림 메시지는 푸시 방식으로 시청자에게 전달될 수 있다.
도 109는 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 프로그램 메인 메뉴의 참여 서브 메뉴가 선택된 경우의 화면을 보여주는 도면이다.
도 109에 도시된 바와 같이, 참여 서브 메뉴가 선택되면 영상 표시 장치(500)는 투표와 같은 시청자 참여를 유도하는 애플리케이션을 부가 정보 영역(360)에 표시한다. 시청자 참여 애플리케이션이 발생하면, 영상 표시 장치(500)는 부가 정보 영역에 이를 표시한다. 시청자 참여 애플리케이션이 투표인 경우, 영상 표시 장치(500)는 투표 질문과 투표 결과를 표시할 수 있다. 또한 영상 표시 장치(500)는 지금 시간의 이벤트뿐만 아니라 과거의 시청자 참여 이벤트를 지금 시간의 이벤트 하단에 표시하여, 사용자에게 편의를 제공할 수 있다.
도 110은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 프로그램 메인 메뉴의 디스커버리 서브 메뉴가 선택된 경우의 화면을 보여주는 도면이다.
도 110에 도시된 바와 같이, 디스커버리 서브 메뉴가 선택되면, 영상 표시 장치(500)는 시청자 참여 애플리케이션 이외의 모든 시간 연동 애플리케이션을 부가 정보 영역(360)에 표시한다. 예컨데, 영상 표시 장치(500)는 메인 시청각 컨텐트에 나타난 상품이나 장소에 대한 장면 연관 정보를 표시할 수 있다. 영상 표시 장치(500)는 현재의 장면 연관 정보와 함께 과거의 장면 연관 정보를 표시할 수도 있다.
한편, 영상 표시 장치(500)는 시간 연동 애플리케이션이나 이벤트가 있다는 알림을 서브 메뉴에 표시할 수도 있다. 예컨데, 시청자 참여 애플리케이션이 발생하면, 영상 표시 장치(500)는 참여 서브 메뉴에 N 이라는 깜박이는 icon을 표시하여 사용자의 참여를 유도할 수 있다. 사용자가 일정 시간동안 알림에 대한 응답을 하지 않는 경우, 영상 표시 장치(500)는 알림을 없앨 수 있다.
이하에서는 도 111 내지 도 117를 참고하여 본 발명의 실싱예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴를 설명한다.
정보 메인 메뉴는 시간에 민감하지 않은 영역에 해당하며, 프로그램 메인 메뉴의 UI처럼 어떤 특정한 시간에 자동으로 애플리케이션이 나타나고 사라지는 방식의 UI로 동작하지는 않는다. 물론 이 메뉴를 통해서도 앞에서 설명한 바와 같은 시간 연동 애플리케이션이 표시될 수는 있지만, 프로그램 메인 메뉴 이외의 메인 메뉴가 선택되면, 검색 서비스나 트위터 서비스와 같은 2차 서비스가 연동될 수 있다.
정보 메인 메뉴는 검색 서브 메뉴, 트위터 서브 메뉴, 뉴스 서브 메뉴를 가진다.
다음은 도 111 내지 도 113를 참고하여 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 검색 서브 메뉴를 설명한다.
도 111은 본 발명의 한 실시예에 따른 검색 방법을 보여주는 흐름도이다.
영상 표시 장치(500)는 메인 시청각 컨텐트의 일부 구간을 추출하고, 추출된 구간에 기초하여 컨텐츠 정보를 획득한다(S1001).
영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 검색 서브 메뉴가 선택되면(S1002), 영상 표시 장치(500)는 획득한 컨텐츠 정보에 기초하여 부가 서비스에 해당하는 복수의 검색 아이템을 포함하는 검색 리스트를 획득한다(S1003). 검색 리스트는 장르, 배우, 감독, 장소, 상품 중 하나 이상을 포함할 수 있다.
영상 표시 장치(500)는 검색 리스트를 부가 정보 영역(360)에 표시한다(S1007). 검색 리스트의 표시 예를 도 112를 참고하여 설명한다.
도 112는 본 발명의 한 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 검색 서브 메뉴가 선택된 경우의 한 화면을 보여주는 도면이다.
도 112에 도시된 바와 같이, 검색 리스트는 메인 시청각 컨텐트의 등장 인물을 포함한다. 영상 표시 장치(500)는 부가 정보 영역(360)에 검색 아이템의 사진 또는 이름 중 하나 이상을 표시할 수 있다.
리모콘의 커서 등으로 복수의 검색 아이템 중 하나가 선택되면(S1009), 영상 표시 장치(500)는 선택된 검색 아이템에 대한 정보를 검색한다(S1011). 이때, 영상 표시 장치(500)는 구글과 같은 인터넷 검색 엔진을 이용할 수 있다. 또한, 영상 표시 장치(500)는 Tribune media나 IMDb와 같은 정보를 이용할 수도 있다.
영상 표시 장치(500)는 검색된 정보를 부가 정보 영역(360)에 표시한다(S1013). 검색 결과는 서비스 업체의 Open API를 통해 프로그래밍을 통해 자동으로 불러오게 되므로, 화면 디자인에 필요한 상당한 시간을 아낄 수 있다. 검색 정보의 표시 예를 도 113을 참고하여 설명한다.
도 113은 본 발명의 한 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 검색 서브 메뉴가 선택된 경우의 또 다른 화면을 보여주는 도면이다.
도 113에 도시된 바와 같이, 영상 표시 장치(500)는 선택된 검색 아이템에 대한 검색 결과를 부가 정보 영역(360)에 디스플레이한다. 한편, 영상 표시 장치(500)는 부가 정보 영역(360)에 트위터 버튼과 편집 버튼을 배치하여, 배우의 Twitter를 Follow할 수 있게 하거나, 이 배우의 다른 출연작, Biography 등과 같은 Profile을 편집하게 할 수도 있다.
이와 같이, 본 발명의 실시예에 따른 검색 방법을 이용하면, 한번의 클릭을 통해 메인 시청각 데이터와 연관된 정보를 검색할 수 있어, 검색어 입력의 수고를 경감시킬 수 있다.
다음은 도 114과 도 115를 참고하여 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 트위터 서브 메뉴를 설명한다.
도 114는 본 발명의 한 실시예에 따른 채팅창 표시 방법을 보여주는 흐름도이다.
영상 표시 장치(500)는 메인 시청각 컨텐트의 일부 구간을 추출하고, 추출된 구간에 기초하여 컨텐츠 정보를 획득한다(S1101).
영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 트위터 서브 메뉴가 선택되면(S1102), 영상 표시 장치(500)는 획득한 컨텐츠 정보에 기초하여 부가 서비스에 해당하는 트위터 채팅 목록을 획득한다(S1103). 영상 표시 장치(500)는 Twitter의 Hashtag에 프로그램명을 적어 이 프로그램에만 관련된 Twitter 채팅 목록을 불러올 수 있다. 이 채팅 목록은 Twitter와 연동되어 실시간으로 계속 업데이트 된다.
영상 표시 장치(500)는 사용자 선택을 통해 또는 자동으로 트위터 채팅 목록 중의 한 채팅 창을 부가 정보 영역(360)에 표시한다(S1107). 채팅 창의 표시 예를 도 115를 참고하여 설명한다.
도 115는 본 발명의 한 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 트위터 서브 메뉴가 선택된 경우의 한 화면을 보여주는 도면이다.
도 115에 도시된 바와 같이, 영상 표시 장치(500)는 채팅 창을 부가 정보 영역(360)에 표시하여 같은 프로그램을 시청하는 시청자들 사이의 채팅을 지원할 수 있다.
프로그램이 방송될 때, 실제 이 프로그램의가 직접 채팅방에서 메시지를 적어 넣을 수도 있다. 영상 표시 장치(500)가 Smart TV같이 log in 메커니즘이 있는 기기라면 이 메뉴에 진입할 때에는 이미 영상 표시 장치(500)의 사용자가 log in되어 있는 상태로 그 즉시 자신의 id로 채팅을 시작할 수도 있다. 영상 표시 장치(500)의 리모컨 입력이 불편한 경우에는 영상 표시 장치(500)는 단순히 채팅 메시지만 디스플레이할 수 있다. 만일 영상 표시 장치(500)가 Smart Phone이나 tablet처럼 2nd Device와 연동되어 있다면, 2nd Device의 입력장치를 통해 메시지가 typing될 수도 있을 것이다. Hashtag에 들어가는 정보는 기본적으로 프로그램명이지만, 앞에서 기술한 다른 기본 정보인 배우, 감독 등의 tag으로도 선택하여, 사용자는 해당 주제의 채팅에 선택적으로 참여할 수 있다.
다음은 도 116와 도 117을 참고하여 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 뉴스 서브 메뉴를 설명한다.
도 116은 본 발명의 실시예에 따른 뉴스 획득 방법을 도시한 흐름도이다.
영상 표시 장치(500)는 메인 시청각 컨텐트의 일부 구간을 추출하고, 추출된 구간에 기초하여 컨텐츠 정보를 획득한다(S1201).
영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 뉴스 서브 메뉴가 선택되면(S1202), 영상 표시 장치(500)는 획득한 컨텐츠 정보에 기초하여 부가 서비스에 해당하는 뉴스를 획득한다(S1203). 이때, 뉴스는 메인 시청각 컨텐트와 관련 있을 수도 있고, 관련이 없을 수도 있다. 또한, 뉴스는 메인 시청각 컨텐트의 방송사가 제공하는 것일 수 있다. 방송사가 Open API로 뉴스를 제공하는 않는다면, 영상 표시 장치(500)는 Google이나 Yahoo같은 internet 서비스의 News feed를 통해 뉴스를 수신할 수 있다.
영상 표시 장치(500)는 획득한 뉴스를 부가 정보 영역(360)에 표시한다(S1207). 뉴스의 표시 예를 도 36을 참고하여 설명한다.
도 117은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 정보 메인 메뉴의 뉴스 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 117에 도시된 바와 같이, 영상 표시 장치(500)는 획득한 뉴스를 부가 정보 영역(360)에 표시할 수 있다.
이하에서는 도 118 내지 도 123을 참고하여 본 발명의 실싱예에 따른 영상 표시 장치 제조사 애플리케이션의 소셜 메인 메뉴를 설명한다.
소셜 메인 메뉴는 시간에 민감하지 않은 영역에 해당하며, 프로그램 메인 메뉴의 UI처럼 어떤 특정한 시간에 자동으로 애플리케이션이 나타나고 사라지는 방식의 UI로 동작하지는 않는다. 물론 이 메뉴를 통해서도 앞에서 설명한 바와 같은 시간 연동 애플리케이션이 표시될 수는 있지만, 프로그램 메인 메뉴 이외의 메인 메뉴가 선택되면, Facebook과 같은 2차 서비스가 연동될 수 있다.
소셜 메인 메뉴는 시청자 리스트 서브 메뉴, 호감 표시 서브 메뉴를 가진다.
다음은 도 118 내지 도 121을 참고하여 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 소셜 메인 메뉴의 시청자 리스트 서브 메뉴를 설명한다.
도 118은 본 발명의 실시예에 따른 시청자 리스트 표시 방법을 보여주는 흐름도이다.
영상 표시 장치(500)는 메인 시청각 컨텐트의 일부 구간을 추출하고, 추출된 구간에 기초하여 컨텐츠 정보를 획득한다(S1301).
영상 표시 장치 제조사 애플리케이션의 소셜 메인 메뉴의 시청자 리스트 서브 메뉴가 선택되면(S1302), 영상 표시 장치(500)는 획득한 컨텐츠 정보에 기초하여 친구 목록과 각 친구의 메인 시청각 컨텐트의 시청 여부에 대한 정보를 획득한다(S1303). 영상 표시 장치(500)는 facebook 같은 소셜 네트워크 서비스와 연동하여 메인 시청각 컨텐트를 시청하는 친구의 목록을 획득할 수 있다.
영상 표시 장치(500)는 획득한 시청자 리스트를 부가 정보 영역(360)에 표시한다(S1307). 시청자 리스트의 표시 예를 도 119를 참고하여 설명한다.
도 119는 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 소셜 메인 메뉴의 시청자 리스트 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 119에 도시된 바와 같이, 영상 표시 장치(500)는 획득한 시청자 리스트에 해당하는 시청자들의 사진과 이름을 부가 정보 영역(360)에 표시할 수 있다.
특히, 영상 표시 장치(500)는 친구의 목록을 시청 여부와 함께 표시할 수도 있고, 시청중인 친구의 목록만을 표시할 수도 있다.
표시된 친구 목록 중에서 한 친구가 선택되면(S1309), 영상 표시 장치(500)는 선택된 친구가 메인 시청각 컨텐트를 시청하고 있는지를 확인한다(S1311).
선택된 친구가 메인 시청각 컨텐트를 시청하고 있다면, 영상 표시 장치(500)는 선택된 친구와의 채팅 창을 부가 정보 영역(360)에 표시한다(S1313).
한편, 선택된 친구가 메인 시청각 컨텐트를 시청하고 있지 않다면, 영상 표시 장치(500)는 선택된 친구의 이메일 또는 핸드폰에 메인 시청각 컨텐트의 시청을 권하는 메시지를 전송한다(S1315). 선택된 친구가 메인 시청각 컨텐트를 시청하고 있지 않더라도 영상 표시 장치(500)는 선택된 친구와의 채팅 창을 부가 정보 영역(360)에 표시할 수도 있다.
채팅을 위하여 사용자는 영상 표시 장치(500)의 리모컨을 사용할 수도 있고, 영상 표시 장치(500)에 연결된 2nd device의 입력장치를 사용할 수도 있으며, 영상 표시 장치(500)와는 상관없이 Smartphone의 Social 네트워크 서비스 애플리케이션을 통해 직접 채팅을 할 수 있다. 어떤 경우에든 영상 표시 장치(500)의 화면에는 Social 네트워크 서비스의 채팅 화면이 디스플레이될 수 있다. 프로그램을 평가하는 버튼을 통해, 사용자는 자신의 의사표시를 친구들에게 전달할 수 있다. 예를 들자면, Facebook의 "좋아요" 버튼을 통해 사용자는 메인 시청각 컨텐트를 시청중임을 친구에게 알릴 수도 있고, 메인 시청각 컨텐트를 시청하지 않는 친구에게 시청을 권할 수도 있다.
이와 같이, 영상 표시 장치(500)는 시청자 리스트 서브 메뉴를 통해 ACR 기술을 이용하여 누가 어떤 프로그램을 시청하고 있는지 자동으로 파악할 수 있다. 누가 시청하고 있는 지의 확인을 위하여 사용자의 login이 요구된다. 영상 표시 장치(500)에 로그인을 위한 계정을 등록하면, 영상 표시 장치(500)는 턴온될 때마다 자동으로 log in할 수 있으므로 영상 표시 장치(500)는 누가 메인 시청각 컨텐트를 시청하고 있는 지를 파악할 수 있다.
도 120은 본 발명의 한 실시예에 따른 영상 표시 장치가 친구 목록과 시청 정보를 획득하는 신호 흐름을 보여준다.
도 120에 도시된 바와 같이, 친구 A의 영상 표시 장치는 메인 시청각 컨텐트 A를 재생하고 있다면, SNS 제공 서버(75)에 메인 시청각 컨텐트 A의 식별자와 친구 A의 식별자를 전송한다(S1401).
또한, 친구 B의 영상 표시 장치는 메인 시청각 컨텐트 A를 재생하고 있다면, SNS 제공 서버(75)에 메인 시청각 컨텐트 A의 식별자와 친구 B의 식별자를 전송한다(S1403).
영상 표시 장치(500)가 메인 시청각 컨텐트 A를 재생하고 있다면, 영상 표시 장치(500)는 사용자의 ID와 메인 시청각 컨텐트 A의 식별자를 SNS 제공 서버(75)에 전송한다(S1405).
SNS 제공 서버(75)는 친구 관계 정보와 수신한 컨텐트 식별자에 기초하여 영상 표시 장치(500)의 친구 목록과 각 친구의 메인 시청각 컨텐트의 시청 여부에 대한 정보를 확인하고, 확인된 정보를 영상 표시 장치(500)에 제공한다(S1407).
도 121은 본 발명의 또 다른 실시예에 따른 영상 표시 장치가 친구 목록과 시청 정보를 획득하는 신호 흐름을 보여준다.
도 121에 도시된 바와 같이, 친구 A의 영상 표시 장치는 메인 시청각 컨텐트 A를 재생하고 있다면, SNS 제공 서버(75)에 친구 A의 식별자를 전송하고(S1501), ACR 서버(77)에 메인 시청각 컨텐트 A를 전송한다(S1503). ACR 서버(77)는 워터마크 서버(21), 핑거프린트 서버(22), 부가 서비스 정보 제공 서버(40), 부가 서비스 제공 서버(50) 중 하나 일 수 있다.
또한, 친구 B의 영상 표시 장치는 메인 시청각 컨텐트 A를 재생하고 있다면, SNS 제공 서버(75)에 친구 B의 식별자를 전송하고(S1505), ACR 서버(77)에 메인 시청각 컨텐트 A를 전송한다(S1507).
영상 표시 장치(500)는 사용자의 ID를 SNS 제공 서버(75)에 전송한다(S1509).
그러면, SNS 제공 서버(75)는 사용자의 ID에 해당하는 친구 목록을 ACR 서버(75)에 제공한다(S1511).
한편, 영상 표시 장치(500)가 메인 시청각 컨텐트 A를 재생하고 있다면, 영상 표시 장치(500)는 메인 시청각 컨텐트 A의 식별자를 ACR 서버(77)에 전송한다(S1513).
ACR 서버(75)는 사용자의 ID에 해당하는 친구 목록과 컨텐트 식별자에 기초하여 영상 표시 장치(500)의 친구 목록과 각 친구의 메인 시청각 컨텐트의 시청 여부에 대한 정보를 확인하고, 확인된 정보를 영상 표시 장치(500)에 제공한다(S1515).
다음은 도 122 내지 도 123을 참고하여 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 소셜 메인 메뉴의 호감 표시 서브 메뉴를 설명한다.
도 122는 본 발명의 실시예에 따른 호감 표시 방법을 보여주는 흐름도이다.
영상 표시 장치(500)는 메인 시청각 컨텐트의 일부 구간을 추출하고, 추출된 구간에 기초하여 컨텐츠 정보를 획득한다(S1601).
영상 표시 장치 제조사 애플리케이션의 소셜 메인 메뉴의 호감 표시 서브 메뉴가 선택되면(S1602), 영상 표시 장치(500)는 획득한 컨텐츠 정보에 기초하여 복수의 호감 표시 아이템을 포함하는 호감 표시 목록을 획득한다(S1603). 여기서 호감 표시 아이템은 프리뷰 또는 프리뷰 주소를 포함할 수 있다. 프리뷰는 이미지 또는 짧은 길이의 동영상 일 수 있다. 이 Preview는 방송사가 Open API를 통해 직접 제공할 수도 있고, Internet 서비스의 검색 엔진을 획득될 수 있고, 방송사의 인터넷서버에서 필요한 부분만을 추출하여 획득될 수도 있다. 몇 분의 시간 간격의 핵심 scene에 해당하는 이미지가 제공될 수도 있고, 한 프로그램에 하나의 이미지만 제공될 수도 있다.
영상 표시 장치(500)는 획득한 호감 표시 목록을 부가 정보 영역(360)에 표시한다(S1607). 시청자 리스트의 표시 예를 도 123을 참고하여 설명한다.
도 123은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 소셜 메인 메뉴의 호감 표시 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 123에 도시된 바와 같이, 영상 표시 장치(500)는 호감 표시 목록의 프리뷰들과 호감 표시를 위한 '좋아요(Like it)' 버튼들을 부가 정보 영역(360)에 디스플레이할 수 있다.
한 호감 표시 아이템에 해당하는 '좋아요' 버튼이 선택되면(S1609), 영상 표시 장치(500)는 선택된 호감 표시 아이템에 해당하는 프리뷰와 간단한 텍스트를 facebook 등의 SNS에 포스트한다(S1611). 여기서 간단한 텍스트는 자동적으로 생성되거나, 리모컨으로 입력하거나, 2nd Device의 입력 기기를 통해 입력할 수도 있다.
이하에서는 도 43 내지 도 46을 참고하여 본 발명의 실싱예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴를 설명한다.
추천 메인 메뉴는 시간에 민감하지 않은 영역에 해당하며, 프로그램 메인 메뉴의 UI처럼 어떤 특정한 시간에 자동으로 애플리케이션이 나타나고 사라지는 방식의 UI로 동작하지는 않는다. 물론 이 메뉴를 통해서도 앞에서 설명한 바와 같은 시간 연동 애플리케이션이 표시될 수는 있지만, 추천 메뉴가 선택되면, 다른 서비스가 연동될 수 있다.
추천 메인 메뉴는 이전 에피소드 서브 메뉴, VOD 서브 메뉴, 애플리케이션 서브 메뉴를 가진다.
도 124는 본 발명의 실시예에 따른 디지털 미디어 다운로드 방법을 보여주는 흐름도이다.
영상 표시 장치(500)는 메인 시청각 컨텐트의 일부 구간을 추출하고, 추출된 구간에 기초하여 컨텐츠 정보를 획득한다(S1701).
영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 서브 메뉴가 선택되면(S1702), 영상 표시 장치 제조사 애플리케이션은 획득한 컨텐츠 정보에 기초하여 디지털 미디어 목록을 획득한다(S1703). 이전 에피소드 서브 메뉴가 선택되면, 영상 표시 장치(500)는 이전 에피소드 목록을 획득한다. VOD 서브 메뉴가 선택되면, 영상 표시 장치(500)는 메인 시청각 컨텐트와 관련되거나 메인 시청각 컨텐트의 제공자가 추천하는 VOD 목록을 획득한다. 애플리케이션 서브 메뉴가 선택되면, 영상 표시 장치(500)는 메인 시청각 컨텐트와 관련되거나 메인 시청각 컨텐트의 제공자가 추천하는 애플리케이션의 목록을 획득한다. 여기서 디지털 미디어 목록은 프리뷰 또는 프리뷰 주소, 아이콘, 관련 이미지를 포함할 수 있다.
영상 표시 장치 제조사 애플리케이션은 획득한 디지털 미디어 목록을 부가 정보 영역(360)에 표시한다(S1707).
이전 에피소드 목록의 표시 예를 도 125를 참고하여 설명한다.
도 125는 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 이전 에피소드 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 125에 도시된 바와 같이, 영상 표시 장치(500)는 이전 에피소드 목록의 프리뷰들과 타이틀들을 부가 정보 영역(360)에 표시한다. 이와 같이, 본 발명의 실시예에 따르면, 영상 표시 장치(500)는 사용자의 조작 없이 자동으로 이전 에피소드를 검색하여 표시할 수 있다.
VOD 목록의 표시 예를 도 126은 참고하여 설명한다.
도 126은는 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 VOD 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 126에 도시된 바와 같이, 영상 표시 장치(500)는 VOD 목록의 프리뷰들과 타이틀들을 부가 정보 영역(360)에 표시한다. 이와 같이, 본 발명의 실시예에 따르면, 영상 표시 장치(500)는 사용자의 조작 없이 자동으로 메인 시청각 컨텐트와 관련된 VOD를 검색하여 표시할 수 있다.
애플리케이션 목록의 표시 예를 도 127을 참고하여 설명한다.
도 127은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 애플리케이션 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 127에 도시된 바와 같이, 영상 표시 장치(500)는 애플리케이션 목록의 아이콘들과 애플리케이션 이름들을 부가 정보 영역(360)에 표시한다. 이와 같이, 본 발명의 실시예에 따르면, 영상 표시 장치(500)는 사용자의 조작 없이 자동으로 메인 시청각 컨텐트와 관련된 애플리케이션을 검색하여 표시할 수 있다.
디지털 미디어 목록 내의 한 아이템이 선택되면(S1709), 영상 표시 장치 제조사 애플리케이션은 선택된 아이템에 해당하는 디지털 미디어를 다운로드한다(S1711). 이때, 과금 후에 영상 표시 장치(500)는 디지털 미디어를 다운로드할 수 있다. 선택된 아이템이 이전 에피소드이거나 VOD인 경우, 영상 표시 장치(500)는 다운로드한 디지털 미디어를 재생할 수 있다. 선택된 아이템이 애플리케이션이면, 영상 표시 장치(500)는 다운로드한 애플리케이션을 자동으로 또는 사용자 선택을 통해 실행할 수 있다.
이와 같이, 본 발명의 실시예에 따르면, 간단한 조작을 통해 영상 표시 장치(500)는 디지털 미디어를 다운로드할 수 있다.
이하에서는 도 128 내지 도 131를 참고하여 본 발명의 실싱예에 따른 영상 표시 장치 제조사 애플리케이션의 카탈로그 메인 메뉴를 설명한다.
카탈로그 메인 메뉴는 시간에 민감하지 않은 영역에 해당하며, 프로그램 메인 메뉴의 UI처럼 어떤 특정한 시간에 자동으로 애플리케이션이 나타나고 사라지는 방식의 UI로 동작하지는 않는다. 물론 이 메뉴를 통해서도 앞에서 설명한 바와 같은 시간 연동 애플리케이션이 표시될 수는 있지만, 카탈로그 메뉴가 선택되면, 다른 서비스가 연동될 수 있다.
카탈로그 메인 메뉴는 스타일 서브 메뉴, 음악서브 메뉴, 기타 서브 메뉴를 가진다.
도 128은 본 발명의 실시예에 따른 카탈로그 표시 방법을 보여주는 흐름도이다.
영상 표시 장치(500)는 메인 시청각 컨텐트의 일부 구간을 추출하고, 추출된 구간에 기초하여 컨텐츠 정보를 획득한다(S1801).
영상 표시 장치 제조사 애플리케이션의 카탈로그 메인 메뉴의 서브 메뉴가 선택되면(S1802), 영상 표시 장치 제조사 애플리케이션은 획득한 컨텐츠 정보에 기초하여 카탈로그 목록을 획득한다(S1803). 스타일 서브 메뉴가 선택되면, 영상 표시 장치(500)는 메인 시청각 컨텐트와 관련되거나 메인 시청각 컨텐트의 제공자가 추천하는 의류들을 위한 카탈로그 목록을 획득한다. 음악 서브 메뉴가 선택되면, 영상 표시 장치(500)는 메인 시청각 컨텐트와 관련되거나 메인 시청각 컨텐트의 제공자가 추천하는 음악들을 위한 카탈로그 목록을 획득한다. 기타 서브 메뉴가 선택되면, 영상 표시 장치(500)는 메인 시청각 컨텐트와 관련되거나 메인 시청각 컨텐트의 제공자가 추천하는 상품이나 장소를 위한 카탈로그목록을 획득한다. 여기서 디지털 미디어 목록은 관련 이미지, 가격 정보, 설명, 쿠폰을 포함할 수 있다. 쿠폰은 번호나 QR 코드의 형태일 수 있다. 영상 표시 장치(500)는 메인 시청각 컨텐트의 시청 중에만 쿠폰을 표시할 수도 있지만, 쿠폰의 유효기간 동안은 메모리(550)에 저장하여 사용자가 추후 이용하도록 할 수도 있다.
영상 표시 장치 제조사 애플리케이션은 획득한 카탈로그 목록을 부가 정보 영역(360)에 표시한다(S1807).
의류 카탈로그 목록의 표시 예를 도 129를을 참고하여 설명한다.
도 129는 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 스타일 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 129에 도시된 바와 같이, 영상 표시 장치(500)는 메인 시청각 컨텐트와 관련된 의류의 메이커 정보, 가격 정보, 설명 정보를 부가 정보 영역(360)에 표시한다. 이와 같이, 본 발명의 실시예에 따르면, 영상 표시 장치(100)는 사용자의 조작 없이 자동으로 메인 시청각 컨텐트와 관련된 의류 카탈로그를 검색하여 표시할 수 있다.
음악 카탈로그 목록의 표시 예를 도 130을 참고하여 설명한다.
도 130은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 음악 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 130에 도시된 바와 같이, 영상 표시 장치(500)는 메인 시청각 컨텐트와 관련된 음악의 가수 정보, 가격 정보, 설명 정보를 부가 정보 영역(360)에 표시한다. 이와 같이, 본 발명의 실시예에 따르면, 영상 표시 장치(500)는 사용자의 조작 없이 자동으로 메인 시청각 컨텐트와 관련된 음악 카탈로그를 검색하여 표시할 수 있다.
기타 카탈로그 목록의 표시 예를 도 131을 참고하여 설명한다.
도 131은 본 발명의 실시예에 따른 영상 표시 장치 제조사 애플리케이션의 추천 메인 메뉴의 기타 서브 메뉴가 선택된 경우의 화면을 보여준다.
도 131에 도시된 바와 같이, 영상 표시 장치(500)는 메인 시청각 컨텐트와 관련된 상품이나 장소의 가격 정보, 설명 정보를 부가 정보 영역(360)에 표시한다. 이와 같이, 본 발명의 실시예에 따르면, 영상 표시 장치(500)는 사용자의 조작 없이 자동으로 메인 시청각 컨텐트와 관련된 상품이나 장소에 대한 카탈로그를 검색하여 표시할 수 있다.
카탈로그 목록 내의 한 아이템이 선택되면(S1809), 영상 표시 장치 제조사 애플리케이션은 선택된 아이템에 해당하는 구매 페이지를 표시한다(S1811).
이와 같이, 본 발명의 실시예에 따르면, 간단한 조작을 통해 사용자는 제품을 구매할 수 있다.
카탈로그 목록 내의 각 아이템에는 구매 후기 버튼과 북마크 버튼이 배치될 수 있다.
구매 후기 버튼이 선택되면, 영상 표시 장치(500)는 아이템의 사용 후기를 부가 정보 영역(360)에 표시할 수 있다. 또한, 사용자는 구매 후기를 작성할 수도 있다.
또한, 사용자는 북마크 버튼을 통해 특정 아이템을 북마크한 후, 소셜 메인 메뉴의 시청자 리스트 서브 메뉴를 통해 북마크한 아이템을 추천할 수 있다.
이 경우, 영상 표시 장치(500)는 ACR 서버(77)나 SNS 제공 서버(75)에 북마크 아이템 정보를 제공할 수 있다.
이후, 추천받은 시청자의 영상 표시 장치(500)는 메인 시청각 컨텐트에서 추출된 구간에 기초하여 컨텐츠 정보를 획득하고, 획득한 컨텐츠 정보로부터 메인 시청각 컨텐트가 추천된 아이템의 광고에 해당하는 경우에, "친구 U가 추천한 상품입니다"와 같은 추천 메시지를 표시할 수 있다. 또한 추천 메시지 대신에 짧은 길이의 동영상이 표시될 수도 있다.
다음은 도 132과 도 133를 참고하여 본 발명의 실시예에 따른 ACR 기능의 온오프 제어를 설명한다.
도 132는 본 발명의 실시예에 따른 ACR 기능의 제어를 위한 사용자 인터페이스를 보여준다.
도 132에 도시된 바와 같이, 재생 제어부(513)는 ACR 기능 설정 창을 디스플레이한다. 사용자는 ACR 기능 설정 창을 통해 ACR 기능을 활성화시킬 수도 있고, 비활성화시킬 수도 있다.
ACR 기능이 활성화된 경우, 사용자는 ACR 모드를 선택할 수도 있다. 본 발명의 실시예에 따른 ACR 모드는 자동 재생 애플리케이션 모드, 컨텐츠 제공자 애플리케이션 모드, 영상 표시 장치 제조사 애플리케이션 모드 중 하나로 설정될 수 있다.
이와 같이 ACR 기능의 모드가 설정되면, 재생 제어부(513)는 설정 정보를 설정 정보 저장부(554)에 저장한다.
도 133는 본 발명의 실시예에 따른 영상 표시 장치의 제어 방법의 흐름도이다.
부가 서비스 관리부(530)는 ACR 기능이 턴온되어 있는지를 확인한다(S1901).
ACR 기능이 비활성화되어 있다면, 부가 서비스 관리부(530)는 더 이상 컨텐트 정보 획득 절차를 수행하지 않는다.
ACR 기능이 활성화되어 있다면 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S1902).
부가 서비스 관리부(530)는 추출한 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S1903).
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 기준 시간을 대체 광고의 기준 시간과 동기화한다(S1905).
부가 서비스 관리부(530)는 획득한 컨텐츠 정보에 기초하여 부가 서비스를 획득한다(S1907). 부가 서비스 관리부(530)는 획득한 컨텐츠 정보에 기초하여 부가 서비스 정보를 획득하고, 획득한 부가 서비스 정보에 기초하여 부가 서비스를 획득할 수도 있다.
이후, 부가 서비스 관리부(530)는 ACR 모드를 확인한다(S1909).
부가 서비스 관리부(530)는 ACR 모드에 따라 부가 서비스를 재생한다(S1911).
구체적으로, ACR 모드가 자동 재생 애플리케이션 모드이면, 부가 서비스 관리부(530)는 자동 재생 애플리케이션을 실행하고, 실행된 자동 재생 애플리케이션은 획득한 부가 서비스를 재생한다.
ACR 모드가 컨텐츠 제공자 애플리케이션 모드이면, 부가 서비스 관리부(530)는 획득한 컨텐츠 정보에 대응하는 컨텐츠 제공자 애플리케이션을 백그라운드에서 실행한다. 부가 서비스 관리부(530)는 부가 서비스 이용에 해당하는 사용자 입력을 수신하면, 컨텐츠 제공자 애플리케이션을 디스플레이한다. 이 컨텐츠 제공자 애플리케이션이 획득한 부가 서비스를 재생할 수 있다. 컨텐츠 제공자 애플리케이션이 자동으로 백그라운드에서 실행되는 대신에, 컨텐츠 제공자 애플리케이션은 사용자 입력에 의해 실행될 수 있다.
ACR 모드가 영상 표시 장치 제조사 애플리케이션 모드이면, 부가 서비스 관리부(530)는 부가 서비스 관리부(530)는 영상 표시 장치 제조사 애플리케이션을 백그라운드에서 실행한다. 부가 서비스 관리부(530)는 부가 서비스 이용에 해당하는 사용자 입력을 수신하면, 영상 표시 장치 제조사 애플리케이션을 디스플레이한다. 이 영상 표시 장치 제조사 애플리케이션이 획득한 부가 서비스를 재생할 수 있다. 영상 표시 장치 제조사 애플리케이션이 자동으로 백그라운드에서 실행되는 대신에, 영상 표시 장치 제조사 애플리케이션은 사용자 입력에 의해 실행될 수 있다.
다음은 도 134와 도 135를 참고하여 본 발명의 실시예에 따른 광고 대체 방법을 설명한다.
도 134는 본 발명의 한 실시예에 따른 광고 대체 방법을 도시한 흐름도이다.
먼저, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S2001).
부가 서비스 관리부(530)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S2003).
이후, 부가 서비스 관리부(530)는 획득한 컨텐츠 정보에 기초하여 부가 서비스 정보인 광고 대체 정보를 획득한다(S2005).
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 컨텐츠 정보와 광고 대체 정보를 모두 포함하는 질의 결과를 수신할 수도 있다. 표 17는 이러한 질의 결과의 예를 보여준다.
Figure pct00019
표 17에서, <queryresult> 태그는 root 태그이며, 핑거프린트 서버(22)가 보내준 질의 응답을 나타낸다. <content> 태그는 메인 시청각 컨텐트의 전체 정보를 보여준다. <playtime> 태그는 메인 시청각 컨텐트의 전체 재생 시간을 나타낸다. 영상 표시 장치(500)는 <playtime> 태그내의 정보를 이용하여 메인 시청각 컨텐트의 종료 시간을 계산할 수도 있다. <broadcastor> 태그는 메인 시청각 컨텐츠의 방송국 정보를 담는다.
<signature> 태그는 영상 표시 장치(500)가 시그너처를 생성하기 위해서 사용한 AV sample의 시간 정보를 보여준다. <signature> 태그 내의 <starttime> 태그는 시그너처를 생성하기 위해서 사용한 AV sample의 시작 시간을 담고, <signature> 태그 내의 <endtime> 태그는 시그너처를 생성하기 위해서 사용한 AV sample의 끝 시간을 담는다. <starttime> 태그 내의 정보와 <endtime> 태그 내의 정보를 이용하여 영상 표시 장치(500)는 메인 시청각 컨텐트의 재생 시간을 계속해서 동기화시킬 수 있다.
<AD> 태그는 지금 재생 중인 컨텐츠와 관계되는 모든 광고 대체 정보를 시간 순으로 가진다. <AD> 태그 내의 정보를 이용하여 영상 표시 장치(500)는 광고 파일이나 광고 스트림을 미리 받아와서 저장해 두거나 버퍼링할 수 있다. 또한 영상 표시 장치(500)는 <AD> 태그 내의 정보를 이용하여 메인 시청각 컨텐트와 동기화된 시간에 맞춰 적절하게 광고를 대체시킬 수도 있다.
<ad1> 태그는 광고 대체에 사용될 하나의 광고에 대한 정보를 가진다. <adtype> 태그는 광고의 타입을 나타내며, 광고가 미디어 파일 또는 미디어 스트림인지를 수신기에게 알려준다. <category> 태그는 광고의 분류 항목을 보여주며, 영상 표시 장치(500)는 이를 이용하여 동일한 광고 시간에 여러 광고가 있을 경우 사용자가 원하는 광고를 선택해서 보여줄 수도 있다. <adname> 태그는 광고의 이름을 보여준다.
<starttime> 태그는 대체 광고의 시작 시간을 보여주고, <endtime> 태그는 대체 광고의 종료 시간을 보여준다. 대체 광고의 시작 시간과 종료 시간은 메인 시청각 컨텐트의 시작부터 계산된 타임스탬프 값이며 ms단위로 표현된다. <adURI> 태그 내에는 대체 광고의 위치 정보가 저장된다. <description> 태그 내에는 대체 광고에 대한 설명이 기입된다.
광고 대체 정보가 전송된 이후에는, 아래의 표 18에서 보여지는 바와 같은 컨텐츠 정보만이 전송될 수 있다.
Figure pct00020
부가 서비스 관리부(530)는 광고 대체 정보 내의 대체 광고 주소에 접속하여 대체 광고 파일을 획득한다(S2007). 표 17에서 보여지는 바와 같이, 광고 대체 정보가 복수의 대체 광고 주소를 포함하고 있다면 부가 서비스 관리부(1530)는 복수의 대체 광고 파일을 획득한다.
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생 시간을 대체 광고의 시작 시간과 동기화한다(S2009).
메인 시청각 컨텐트의 동기화된 재생 시간이 대체 광고의 시작 시간과 일치하면, 부가 서비스 관리부(530)는 대체 광고를 시작하여 메인 시청각 컨텐트의 광고를 획득한 대체 광고로 대체한다(S2011).
도 135는 본 발명의 또 다른 실시예에 따른 광고 대체 방법을 도시한 흐름도이다.
먼저, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S2101).
부가 서비스 관리부(530)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S2103). 이때 컨텐츠 정보의 내용은 표 18에 해당할 수 있다.
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생 시간을 대체 광고의 시작 시간과 동기화한다(S2104).
이후, 부가 서비스 관리부(530)는 획득한 컨텐츠 정보에 기초하여 부가 서비스 정보인 광고 대체 정보를 획득한다(S2105).
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 컨텐츠 정보와 광고 대체 정보를 모두 포함하는 질의 결과를 수신할 수도 있다. 표 19은 이러한 질의 결과의 예를 보여준다.
Figure pct00021
부가 서비스 관리부(530)는 광고 대체 정보 내의 대체 광고 주소에 접속하여 대체 광고 파일을 획득한다(S2107).
메인 시청각 컨텐트의 동기화된 재생 시간이 대체 광고의 시작 시간과 일치하면, 부가 서비스 관리부(530)는 대체 광고를 시작하여 메인 시청각 컨텐트의 광고를 획득한 대체 광고로 대체한다(S2111).
다음은 도 136 내지 도 143을 참고하여 본 발명의 실시예에 따른 장면 연관 정보 표시 방법을 설명한다.
도 136은 본 발명의 한 실시예에 따른 장면 연관 정보 표시 모드 선택 방법을 보여주는 흐름도이고, 도 137은 본 발명의 실시예에 따른 장면 연관 정보 표시 모드 선택을 위한 사용자 인터페이스를 보여준다.
사용자에 의해 복수의 메뉴 중에서 장면 연관 정보 표시 모드가 선택되면(S2201), 부가 서비스 관리부(530)는 복수의 장면 연관 정보 표시 모드 중 적어도 하나의 선택을 위한 화면을 디스플레이부(521)에 디스플레이한다(S2203).
도 137에 도시된 바와 같이, 복수의 장면 연관 정보 표시 모드는 "바로 보여주기" 모드, "사용자 선택 보여주기" 모드, "통합하여 보여주기" 모드, 및 "장면 연관 정보 무시" 모드를 포함할 수 있다.
복수의 장면 연관 정보 표시 모드 중 적어도 하나가 선택되면(S2205), 부가 서비스 관리부(530)는 복수의 장면 연관 정보 분류 항목 (scene-related information category) 중 적어도 하나의 선택을 위한 화면을 디스플레이부(521)에 디스플레이한다(S2207).
도 137에 도시된 바와 같이, 복수의 장면 연관 정보 분류 항목은 모든 항목, 촬영 장소, 요리, 식당, 등과 같은 다양한 항목을 포함할 수 있다.
복수의 장면 연관 정보 분류 항목 중 적어도 하나가 선택되면(S2209), 부가 서비스 관리부(530)는 선택된 장면 연관 정보 표시 모드와 선택된 장면 연관 정보 분류 항목을 설정 정보 저장부(554)에 저장한다(S2211).
도 138은 본 발명의 한 실시예에 따른 장면 연관 정보 표시 방법을 도시한 흐름도이다.
먼저, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S2301).
부가 서비스 관리부(530)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S2303).
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생 시간을 부가 서비스 정보인 장면 연관 정보의 시작 시간과 동기화한다(S2304).
이후, 부가 서비스 관리부(530)는 획득한 컨텐츠 정보에 기초하여 부가 서비스 정보인 장면 연관 정보를 획득한다(S2305).
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 컨텐츠 정보와 장면 연관 정보를 모두 포함하는 질의 결과를 수신할 수도 있다. 표 20는 이러한 질의 결과의 예를 보여준다.
Figure pct00022
시그널링 URL을 이용하여 현재 실행 중인 컨텐트에 부가된 컨텐트 즉, 부가 서비스를 이용하는데 필요한 시그널링 정보와 메타 데이터 예컨대, SMT 또는 NRT-IT와 같은 시그널링 정보, 트리거 스트림에 대한 정보 중 적어도 하나를 획득하고, 획득된 시그널링 정보 등을 이용하여 부가 서비스를 이용할 수 있다. 예컨대, 부가 서비스 관리부(530)는 질의 결과에 포함된 장면 연관 정보 시그널링 URL과 같은 트리거 스트림의 위치 정보를 이용하여 웹 북마크 서비스 트리거를 획득할 수 있다.
메인 시청각 컨텐트의 동기화된 재생 시간이 장면 연관 정보의 시작 시간과 일치하면(S2308), 부가 서비스 관리부(530)는 설정 정보 저장부(554)에 저장된 장면 연관 정보 표시 모드와 장면 연관 정보 분류 항목에 따라 장면 연관 정보를 처리한다.
이때, 선택된 장면 연관 정보 표시 모드가 "바로 보여주기" 모드이고, 획득한 장면 연관 정보의 분류 항목(category)이 선택된 장면 연관 정보 표시 모드와 관련하여 선택된 장면 연관 정보 분류 항목에 해당하면(S2309), 부가 서비스 관리부(530)는 사용자의 조작에 무관하게 획득한 장면 연관 정보를 재생한다(S2310).
선택된 장면 연관 정보 표시 모드가 "장면 연관 정보 무시" 모드이고, 획득한 장면 연관 정보의 분류 항목(category)이 선택된 장면 연관 정보 표시 모드와 관련하여 선택된 장면 연관 정보 분류 항목에 해당하면(S2311), 부가 서비스 관리부(530)는 장면 연관 정보를 무시할 수 있다(S2312). 즉, 부가 서비스 관리부(530)는 장면 연관 정보를 위한 지시자를 표시하지도 않고 장면 연관 정보를 실행하지 않을 수 있다. 선택된 장면 연관 정보 표시 모드가 "장면 연관 정보 무시" 모드이면, 선택된 장면 연관 정보 분류 항목에 무관하게, 부가 서비스 관리부(530)는 장면 연관 정보를 무시할 수 있다.
선택된 장면 연관 정보 표시 모드가 "사용자 선택 보여주기" 모드이고, 획득한 장면 연관 정보의 분류 항목(category)이 선택된 장면 연관 정보 표시 모드와 관련하여 선택된 장면 연관 정보 분류 항목에 해당하면(S2313), 부가 서비스 관리부(530)는 획득한 장면 연관 정보가 있음을 알리기 위한 지시자를 디스플레이부(521)에 표시하고, 부가 서비스 표시 사용자 입력에 대응하여 획득한 장면 연관 정보를 재생 장치(520)에 재생할 수 있다. 이에 관하여 도 139와 도 140를 참고하여 설명한다.
도 139는 본 발명의 실시예에 따른 장면 연관 정보의 사용자 선택 보여주기 방법을 보여주는 흐름도이고, 도 140은 본 발명의 실시예에 따른 장면 연관 정보의 사용자 선택 보여주기의 개념도이다.
장면 연관 정보에 해당하는 애플리케이션 1의 시작 시간에 도달하면, 영상 표시 장치(500)는 하나 이상의 지시자를 디스플레이부(521)에 디스플레이한다(S2315). 도 140에 도시된 바와 같이, 하나 이상의 지시자는 지금 보기 지시자, 북마킹 지시자, 닫기 지시자를 포함할 수 있다.
영상 표시 장치(500)는 지금 보기 지시자에 해당하는 사용자 입력을 수신하면(S2316), 획득한 장면 연관 정보를 재생 장치(520)에 재생한다(S2317).
영상 표시 장치(500)는 닫기 지시자에 해당하는 사용자 입력을 수신하면(S2319), 디스플레이된 지시자를 닫고, 획득한 장면 연관 정보를 종료한다(S2321).
영상 표시 장치(500)는 북마킹 지시자에 해당하는 사용자 입력을 수신하면(S2323), 획득한 장면 연관 정보의 북마크를 북마크 저장부(555)에 저장한다(S2325). 이때, 북마크는 북마크 식별자, 장면 연관 정보의 주소, 장면 연관 정보의 설명, 장면 연관 정보의 이용 가능 시간 및 장면 연관 정보에 해당하는 메인 시청각 컨텐트의 캡쳐 이미지를 포함할 수 있다.
이후, 영상 표시 장치(500)가 북마크 디스플레이에 해당하는 사용자 입력을 수신하거나 미리 설정된 북마크 디스플레이 시간에 도달하면(S2327), 영상 표시 장치(500)는 하나 이상의 북마크를 디스플레이부(521)에 디스플레이할 수 있다(S2329). 미리 설정된 북마크 디스플레이 시간은 메인 시청각 컨텐트의 끝 시간일 수 있다. 복수의 북마크는 장면 연관 정보의 분류 항목(category)과 장면 연관 정보의 이용 가능 시간을 분류자(classifier)로 하여 디스플레이될 수 있다.
장면 연관 정보의 주소나 장면 연관 정보의 설명이 사용자에 의해 클릭되면(S2331), 영상 표시 장치(500)는 클릭된 장면 연관 정보를 재생한다(S2333).
한편, 장면 연관 정보에 해당하는 메인 시청각 컨텐트의 캡쳐 이미지가 사용자에 의해 클릭되면(S2335), 영상 표시 장치(500)는 캡쳐 이미지에 해당하는 시점부터 메인 시청각 컨텐트를 재생한다(S2337). 이때, 영상 표시 장치(500)는 메인 시청각 컨텐트를 스트림의 형태로 수신하여 재생할 수 있다.
선택된 장면 연관 정보 표시 모드가 "통합하여 보여주기" 모드이고, 획득한 장면 연관 정보의 분류 항목(category)이 선택된 장면 연관 정보 표시 모드와 관련하여 선택된 장면 연관 정보 분류 항목에 해당하면(S2314), 부가 서비스 관리부(530)는 사용자의 조작에 무관하게 획득한 장면 연관 정보의 북마크를 북마크 저장부(555)에 저장한다. 이에 관하여 도 141과 도 142를 참고하여 설명한다.
도 141은 본 발명의 실시예에 따른 장면 연관 정보를 통합하여 보여주는 방법을 보여주는 흐름도이고, 도 142는 본 발명의 실시예에 따른 장면 연관 정보를 통합하여 보여주는 방법의 개념도이다.
선택된 장면 연관 정보 표시 모드가 "통합하여 보여주기" 모드이고, 획득한 장면 연관 정보의 분류 항목(category)이 선택된 장면 연관 정보 표시 모드와 관련하여 선택된 장면 연관 정보 분류 항목에 해당하면, 영상 표시 장치(500)는 지시자를 디스플레이함 없이 사용자의 조작에 무관하게 획득한 장면 연관 정보의 북마크를 북마크 저장부(555)에 저장한다(S2339). 이때, 북마크는 북마크 식별자, 장면 연관 정보의 주소, 장면 연관 정보의 설명, 장면 연관 정보의 이용 가능 시간 및 장면 연관 정보에 해당하는 메인 시청각 컨텐트의 캡쳐 이미지를 포함할 수 있다.
이후, 영상 표시 장치(500)가 북마크 디스플레이에 해당하는 사용자 입력을 수신하거나 미리 설정된 북마크 디스플레이 시간에 도달하면(S2341), 영상 표시 장치(500)는 하나 이상의 북마크를 디스플레이부(521)에 디스플레이할 수 있다(S2343). 미리 설정된 북마크 디스플레이 시간은 메인 시청각 컨텐트의 끝 시간일 수 있다. 도 142에 도시된 바와 같이, 복수의 북마크는 장면 연관 정보의 분류 항목(category)과 장면 연관 정보의 이용 가능 시간을 분류자(classifier)로 하여 디스플레이될 수 있다. 사용자는 분류자를 이용하여 웹 북마크 서비스를 설정할 수 있다.
장면 연관 정보의 주소나 장면 연관 정보의 설명이 사용자에 의해 클릭되면(S2345), 영상 표시 장치(500)는 클릭된 장면 연관 정보를 재생한다(S2347).
한편, 장면 연관 정보에 해당하는 메인 시청각 컨텐트의 캡쳐 이미지가 사용자에 의해 클릭되면(S2349), 영상 표시 장치(500)는 캡쳐 이미지에 해당하는 시점부터 메인 시청각 컨텐트를 재생한다(S2351). 이때, 영상 표시 장치(500)는 메인 시청각 컨텐트를 스트림의 형태로 수신하여 재생할 수 있다.
도 143에 도시된 바와 같은 장면 연관 정보를 통합하여 보여주는 방법을 이용하면, 메인 시청각 컨텐츠의 협찬사 광고들이 통합되어 디스플레이될 수도 있다.
도 143은 메인 시청각 컨텐츠의 협찬사 광고들의 통합 화면을 보여준다.
도 143에 도시된 바와 같이, 영상 표시 장치(500)가 북마크 디스플레이에 해당하는 사용자 입력을 수신하거나 미리 설정된 북마크 디스플레이 시간에 도달하면, 영상 표시 장치는 메인 시청각 컨텐츠의 협찬사 광고들의 통합 화면을 디스플레이할 수 있다. 이때, 메인 시청각 컨텐츠의 협찬사 광고 아이템들은 아이콘의 형태로 디스플레이되고, 아이콘이 클릭되면, 영상 표시 장치(500)는 클릭된 아이콘에 해당하는 서비스 페이지를 디스플레이할 수 있다.
다음은 도 144 내지 도 148을 참고하여 본 발명의 실시예에 따른 등급 정보에 따른 영상 표시 장치(500)의 제어 방법을 설명한다.
도 144는 본 발명의 한 실시예에 따른 등급 설정 정보 저장 방법을 보여주는 흐름도이고, 도 145는 본 발명의 실시예에 따른 등급 설정 정보 저장을 위한 사용자 인터페이스를 보여준다.
사용자에 의해 복수의 메뉴 중에서 등급 설정 메뉴가 선택되면(S2401), 부가 서비스 관리부(530)는 비밀번호(password)의 입력을 위한 화면을 디스플레이부(521)에 디스플레이한다(S2403).
정확한 패스워드가 입력되면(S2405), 부가 서비스 관리부(530)는 등급 설정 화면을 디스플레이부(521)에 디스플레이한다(S2407). 도 145에 도시된 바와 같이, 등급 설정 화면을 통해 복수의 등급 설정 아이템이 입력될 수 있다. 각 등급 설정 아이템은 등급 적용 시간 정보와 등급 값을 가질 수 있다. 등급 값은 "모든 연령 시청 가능", "7세 이상 시청 가능", "12세 이상 시청 가능", "19세 이상 시청 가능" 등으로 설정될 수 있다.
등급 설정 화면을 통해 등급 설정 정보가 입력되면(S2409), 부가 서비스 관리부(530)는 입력된 등급 설정 정보를 설정 정보 저장부(554)에 저장한다(S2411).
도 146은 본 발명의 한 실시예에 따른 등급 기반 메인 시청각 컨텐트 재생 방법을 보여주는 흐름도이다.
먼저, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S2501).
부가 서비스 관리부(530)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S2503). 표 21은 획득한 컨텐츠 정보의 예를 보여준다.
Figure pct00023
표 21에서 알 수 있듯이, 현재의 메인 시청각 컨텐트의 등급은 "12세 이상 시청 가능"에 해당함을 알 수 있다.
부가 서비스 관리부(530)는 획득한 컨텐츠 정보 내의 메인 시청각 컨텐트 등급 정보가 설정된 메인 시청각 등급 정보를 만족하는지를 판단한다(S2505).
획득한 컨텐츠 정보 내의 메인 시청각 컨텐트 등급 정보가 설정된 메인 시청각 등급 정보를 만족하지 않으면, 부가 서비스 관리부(530)는 모자이크, 사진, 광고, 패스워드 입력 화면과 같은 메인 시청각 컨텐트의 재생 방지를 위한 부가 서비스를 획득하고, 획득한 부가 서비스를 재생한다(S2507).
패스워드 입력 화면을 통해 정확한 패스워드가 입력되면(S2509), 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생 방지를 위한 부가 서비스를 해제한다(S2511).
부가 서비스 관리부(530)는 설정된 메인 시청각 등급 정보를 만족하지 않은 이벤트의 발생 사실과 메인 시청각 컨텐트의 재생 방지를 위한 부가 서비스가 해제된 이벤트의 발생 사실을 기록한다(S2513).
이후, 미리 설정된 보고 시점 또는 사용자 요청 등에 의해 부가 서비스 관리부(530)는 기록한 정보를 미리 설정된 이메일 주소 등에 보고한다(S2515).
도 147은 본 발명의 또 다른 실시예에 따른 등급 기반 메인 시청각 컨텐트 재생 방법을 보여주는 흐름도이다.
먼저, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S2601).
부가 서비스 관리부(530)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S2603). 표 22는 획득한 컨텐츠 정보의 예를 보여준다.
Figure pct00024
표 22에서 알 수 있듯이, 컨텐츠 정보는 복수의 시간대(time slot)에 각각 대응하는 복수의 등급 정보 아이템을 가지는 등급 정보를 포함한다. 각 등급 정보 아이템은 시작 시간, 종료 시간, 등급 값을 가진다.
표 22에서 현재의 메인 시청각 컨텐트의 30초에서 100초 사이의 시간대(time slot)의 등급 값은 "12세 이상 시청 가능"에 해당하고, 현재의 메인 시청각 컨텐트의 15초에서 300초 사이의 시간대(time slot)의 등급은 "19세 이상 시청 가능"에 해당하고, 현재의 메인 시청각 컨텐트의 700초에서 1000초 사이의 시간대(time slot)의 등급 값은 "19세 이상 시청 가능"에 해당하고, 현재의 메인 시청각 컨텐트의 3000초에서 10000초 사이의 시간대(time slot)의 등급 값은 "12세 이상 시청 가능"에 해당한다.
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생 시간을 등급 정보의 시간과 동기화한다(S2604).
부가 서비스 관리부(530)는 획득한 컨텐츠 정보 내의 메인 시청각 컨텐트 등급 정보에 기초하여 메인 시청각 컨텐트가 재생되는 시점의 등급 정보가 설정된 메인 시청각 등급 정보를 만족하는지를 판단한다(S2605).
메인 시청각 컨텐트가 재생되는 시점의 등급 정보가 설정된 메인 시청각 등급 정보를 만족하지 않으면, 부가 서비스 관리부(530)는 모자이크, 사진, 광고, 패스워드 입력 화면과 같은 메인 시청각 컨텐트의 재생 방지를 위한 부가 서비스를 획득하고, 획득한 부가 서비스를 재생한다(S2607).
패스워드 입력 화면을 통해 정확한 패스워드가 입력되면(S2609), 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생 방지를 위한 부가 서비스를 해제한다(S2611).
부가 서비스 관리부(530)는 설정된 메인 시청각 등급 정보를 만족하지 않은 이벤트의 발생 사실과 메인 시청각 컨텐트의 재생 방지를 위한 부가 서비스가 해제된 이벤트의 발생 사실을 기록한다(S2613).
이후, 미리 설정된 보고 시점 또는 사용자 요청 등에 의해 부가 서비스 관리부(530)는 기록한 정보를 미리 설정된 이메일 주소 등에 보고한다(S2615).
도 148은 본 발명의 또 다른 실시예에 따른 등급 기반 메인 시청각 컨텐트 재생 방법을 보여주는 흐름도이다.
먼저, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S2701).
부가 서비스 관리부(530)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S2703).
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생 시간을 부가 서비스인 삭제 구간 시청각 컨텐트의 시작 시간과 동기화한다(S2704).
이후, 부가 서비스 관리부(530)는 획득한 컨텐츠 정보에 기초하여 부가 서비스 정보를 획득한다(S2705).
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 컨텐츠 정보와 부가 서비스 정보를 모두 포함하는 질의 결과를 수신할 수도 있다. 표 23은 이러한 질의 결과의 예를 보여준다.
표 23은 획득한 컨텐츠 정보의 예를 보여준다.
Figure pct00025
표 23에서 알 수 있듯이, 컨텐츠 정보는 복수의 시간대에 각각 대응하는 복수의 등급 정보 아이템을 가지는 등급 정보를 포함한다. 각 등급 정보 아이템은 시작 시간, 종료 시간, 등급 값, 삭제 시청각 컨텐트 주소를 가진다.
표 23로부터, 현재의 메인 시청각 컨텐트의 30분에서 35분 사이의 시간대의 등급 값은 "19세 이상 시청 가능"에 해당하고, 해당 시간대가 삭제되었고, 삭제된 시간대의 시청각 컨텐트는 삭제 시청각 컨텐트 주소"www.movie.com/part/12345.avi" 에서 획득될 수 있음을 알 수 있다. 또한, 현재의 메인 시청각 컨텐트의 55분 30초에서 61분 40초 사이의 시간대의 등급 값은 "19세 이상 시청 가능"에 해당하고, 해당 시간대가 삭제되었고, 삭제된 시간대의 시청각 컨텐트는 삭제 시청각 컨텐트 주소"www.movie.com/part/12346.avi"에서 획득될 수 있음을 알 수 있다.
부가 서비스 관리부(530)는 삭제 구간의 시청각 컨텐트의 주소에 접속하여 삭제된 시간대의 시청각 컨텐트를 획득한다(S2707).
부가 서비스 관리부(530)는 삭제 시간대의 시청각 컨텐트의 등급 정보가 설정된 메인 시청각 등급 정보를 만족하는지를 판단한다(S2709).
삭제 시간대의 시청각 컨텐트의 등급 정보가 설정된 메인 시청각 등급 정보를 만족하고 메인 시청각 컨텐트의 동기화된 재생 시간이 삭제 구간의 시청각 컨텐트의 시작 시간과 일치하면, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생을 중단하고, 수신되는 메인 시청각 컨텐트를 저장하면서, 삭제 시간대의 시청각 컨텐트를 재생한다(S2711).
메인 시청각 컨텐트의 동기화된 재생 시간이 삭제 구간의 시청각 컨텐트의 종료 시간과 일치하면, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생 중단 시점부터 저장된 메인 시청각 컨텐트를 재생하여 끊김없는 시청각 컨텐트를 제공한다(S2712).
부가 서비스 관리부(530)는 삭제 시간대의 시청각 컨텐트의 재생 사실을 기록한다(S2713).
이후, 미리 설정된 보고 시점 또는 사용자 요청 등에 의해 부가 서비스 관리부(530)는 기록한 정보를 미리 설정된 이메일 주소 등에 보고한다(S2715).
다음은 도 149 내지 도 157를 참고하여 본 발명의 실시예에 따른 이용 정보 보고 방법을 설명한다.
영상 표시 장치(500)는 이용 정보 보고를 위하여 이용 정보 측정 서버에 등록하는 단계와 이용 정보를 획득하는 단계와 이용 정보를 보고하고 이용하는 단계를 거칠 수 있다.
도 149는 본 발명의 한 실시예에 따라 이용 정보 측정 서버에 등록하는 방법을 도시한 흐름도이다.
도 149에 도시된 바와 같이, 영상 표시 장치(500)는 이용 정보 측정 서버(80)와 통신한다. 이용 정보 측정 서버(80)는 컨텐츠 제공 서버(10), 컨텐츠 인식 서비스 제공 서버(20), 멀티채널 비디오 분배 서버(30), 부가 서비스 정보 제공 서버(40), 복수의 부가 서비스 제공 서버(50), 방송 수신 장치(60), 영상 표시 장치(500) 내의 한 모듈일 수도 있고, 별도의 홈 내외의 서버일 수도 있다.
먼저, 영상 표시 장치(500)는 사용자 정보를 수집한다(S2801). 영상 표시 장치는 계정 정보, 지역 정보, 가족 구성원 정보, 선호 장르 정보, 이용 정보 제공 범위를 사용자로부터 입력받아 수집하고 수집된 사용자 정보를 사용자 정보 저장부(556)에 저장할 수 있다. 영상 표시 장치(500)는 영상 표시 장치 정보를 사용자 정보 저장부(556)로부터 수집할 수 있다.
다음, 영상 표시 장치(500)는 수집한 사용자 정보를 포함하는 등록 요청 메시지를 생성한다(S2803). 등록 요청 메시지는 도 150에 도시된 바와 같은 XML 타입의 문서를 포함할 수 있다.
도 150은 본 발명의 실시예에 따른 사용자 정보의 XML 스키마를 보여준다.
도 150에 도시된 바와 같이, 본 발명의 실시예에 따른 사용자 정보를 담는 UserProfile 엘리먼트는 id, password, terminalID 속성을 가지고, Region, Demographic, Favorite, SNS, Terminal 엘리먼트를 가진다.
id, password 속성은 이용 정보 측정 서버(80)를 위한 계정 정보를 담는다. terminalID 속성은 영상 표시 장치(500)의 식별자를 담는다.
Region 엘리먼트는 Country, City, Address, Zip 엘리먼트를 가진다. Country 엘리먼트는 국가 정보, City 엘리먼트는 도시 정보, Address 엘리먼트는 주소 정보, Zip 엘리먼트는 우편 번호를 담는다. Region 엘리먼트 내의 정보는 지역에 따라 다른 광고, 상품 소개를 가능하게 한다.
Demographic 엘리먼트는 Age, Sex, Religion, Income, Family Type 엘리먼트를 가진다. Age 엘리먼트는 나이 정보를 담고, Sex 엘리먼트는 성별 정보를 담으며, Religion 엘리먼트는 종교 정보를 담는다. Income 엘리먼트는 가계 수입 정보를 담고, Family Type 엘리먼트는 가족 구성원의 타입 정보를 가진다. Demographic 엘리먼트 내의 정보는 가족 구성 형태에 따른 맞춤형 서비스를 가능하게 한다.
Favorite 엘리먼트는 MainCategory, SubCategory 엘리먼트를 가진다. MainCategory 엘리먼트는 메인 선호 장르를 담고, SubCategory 엘리먼트는 서브 선호 장르를 담는다.
SNS 엘리먼트는 Facebook, Twitter 엘리먼트를 가진다. Facebook 엘리먼트는 Facebook 계정 정보를 담고, Twitter 엘리먼트는 Twitter 계정 정보를 담는다.
Terminal 엘리먼트는 Type, Manufacturer, FirmwareVer, Resolution, Model, OS, Browser, Storage, Network 엘리먼트를 가진다. Type 엘리먼트는 영상 표시 장치 타입 정보를 담고, Manufacturer 엘리먼트는 영상 표시 장치 제조사 정보를 담으며, FirmwareVer 엘리먼트는 영상 표시 장치의 펌웨어 버전 정보를 담는다. Resolution 엘리먼트는 영상 표시 장치의 해상도 정보를 담고, Model 엘리먼트는 영상 표시 장치의 모델에 대한 정보를 담으며, OS 엘리먼트는 영상 표시 장치의 OS에 대한 정보를 담는다. Browser 엘리먼트는 영상 표시 장치의 브라우저에 대한 정보를 담고, Storage 엘리먼트는 영상 표시 장치의 저장 공간에 대한 정보를 담으며, Network 엘리먼트는 영상 표시 장치의 네트워크에 대한 정보를 담는다.
한편, 등록 요청 메시지는 이용 정보 제공 범위를 더 포함할 수 있다. 이용 정보 제공 범위는 가상 채널 각각에 대해 설정될 수 있다. 또한, 이용 정보 제공 범위는 물리 채널 전체에 대해 설정될 수도 있다.
영상 표시 장치(500)는 생성한 등록 요청 메시지를 이용 정보 측정 서버(80)에 전송하여 등록을 요청한다(S2805).
도 151은 본 발명의 한 실시예에 따른 이용 정보를 획득하고 보고하고 이용하는 방법을 도시한 흐름도이다.
먼저, 부가 서비스 관리부(530)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S2901).
부가 서비스 관리부(530)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S2903). 구체적으로 부가 서비스 관리부(530)는 추출된 구간에 보이지 않는 워터마크(invisible watermark)로 부호화된 정보를 복호하여 컨텐츠 정보를 획득할 수 있다. 또한, 부가 서비스 관리부(530)는 추출된 구간의 특징 정보를 추출하고, 추출된 특징 정보에 기초하여 핑거프린트 서버(22) 또는 컨텐츠 정보 저장부(551)로부터 메인 시청각 컨텐트의 컨텐츠 정보를 획득할 수 있다.
부가 서비스 관리부(530)는 메인 시청각 컨텐트의 재생 시간을 부가 서비스 정보의 시작 시간과 동기화한다(S2904).
부가 서비스 관리부(530)는 획득한 컨텐츠 정보에 기초하여 부가 서비스 정보를 획득한다(S2905).
부가 서비스 관리부(530)는 획득한 부가서비스 정보에 기초하여 부가 서비스를 획득한다(S2907).
부가 서비스 관리부(530)는 계속적으로 획득되는 컨텐츠 정보에 기초하여 이용 정보 제공 범위 내에서 메인 시청각 컨텐트 시청 정보를 수집하고(S2909), 수집한 메인 시청각 컨텐트 시청 정보를 이용 정보 저장부(557)에 저장한다. 메인 시청각 컨텐트 시청 정보는 메인 시청각 컨텐트 식별자, 메인 시청각 컨텐트 시청 시간 정보를 포함할 수 있다. 메인 시청각 컨텐트 시청 시간 정보는 메인 시청각 컨텐트의 시청 시작 시간과 시청 종료 시간을 포함할 수 있다.
부가 서비스 관리부(530)는 획득한 부가 서비스의 실행, 조작, 종료 등에 해당하는 사용자 입력에 기초하여 이용 정보 제공 범위 내에서 부가 서비스 이용 정보를 수집하고(S2911), 수집한 부가 서비스 이용 정보를 이용 정보 저장부(557)에 저장한다. 부가 서비스 이용 정보는 부가 서비스 식별자, 부가 서비스 이용 시간 정보를 포함할 수 있다. 부가 서비스 이용 시간 정보는 부가 서비스의 이용 시작 시간과 부가 서비스의 이용 종료 시간을 포함할 수 있다.
부가 서비스 관리부(530)는 이용 정보 측정 서버(80)의 주소와 보고 주기를 획득한다(S2913). 이용 정보 측정 서버의 주소와 보고 주기는 미리 설정된 것일 수 있다. 부가 서비스 관리부(530)는 컨텐츠 정보 또는 부가 서비스 정보로부터 이용 정보 측정 서버(80)의 주소와 보고 주기를 획득할 수 있다.
한편, 부가 서비스 관리부(530)는 추출한 메인 시청각 컨텐트 구간에 기초하여 컨텐츠 정보와 부가 서비스 정보를 획득하고, 이로부터 ATSC 2.0 메타데이터 서비스를 획득할 수 있다. 부가 서비스 관리부(530)는 ATSC 2.0 메타데이터 서비스의 은 이용량 보고 위치 테이블(usage reporting location table)을 추출하고, 이 테이블로부터 보고 주소와 보고 주기를 획득할 수도 있다. 이 이용량 보고 위치 테이블은 일 수 있다.
Figure pct00026
표 24에서 보여지는 바와 같이, 이용량 보고 위치 테이블은 복수의 보고 주소와 복수의 보고 주기를 시그널링 할 수 있다. 복수의 보고 주기는 복수의 보고 주소에 각각 대응한다.
Figure pct00027
표 25에서 보여지는 바와 같이, 이용량 보고 위치 테이블은 복수의 보고 주소와 하나의 공통 보고 주기를 시그널링 할 수 있다.
부가 서비스 관리부(530)는 하나 이상의 메인 시청각 컨텐트 시청 정보 아이템과 하나 이상의 부가 서비스 이용 정보 아이템을 포함하는 보고 정보를 생성한다(S2915).
메인 시청각 컨텐트 시청 정보 아이템과 부가 서비스 이용 정보 아이템의 예를 도 152와 도 153을 참고하여 설명한다.
도 152는 본 발명의 한 실시예에 따른 메인 시청각 컨텐트 시청 정보 아이템의 XML 스키마를 보여준다.
도 152에 도시된 바와 같이, 메인 시청각 컨텐트 시청 정보 아이템에 해당하는 AudienceMeasurement 엘리먼트는 id 속성, password 속성, terminalID 속성을 가지고, ContentInfo 엘리먼트, TimeInfo 엘리먼트를 가진다.
id 속성, password 속성에는 이용 정보 측정 서버(80)를 위한 계정 정보가 설정된다. terminalID 속성에는 영상 표시 장치(500)의 식별자가 설정된다.
ContentInfo 엘리먼트는 Id 엘리먼트, Name 엘리먼트, ChallelName 엘리먼트, Country 엘리먼트, Genre 엘리먼트, HD 엘리먼트를 가진다.
Id 엘리먼트는 메인 시청각 컨텐트 식별자를 담는다. 특히, 메인 시청각 컨텐트 식별자로서, Id 엘리먼트는 트랜스포트 스트림 식별자(Transport Stream ID), 소스 식별자(source_id) ATSC 컨텐트 식별자나 글로벌 서비스 식별자를 포함할 수 있다.
Name 엘리먼트는 메인 시청각 컨텐트 네임을 담으며, ChannelName 엘리먼트는 메인 시청각 컨텐트가 방송되는 채널의 이름을 담고, Country 엘리먼트는 메인 시청각 컨텐트가 방송되는 국가 정보를 담고, Genre 엘리먼트는 메인 시청각 컨텐트의 장르 정보를 담는다.
TimeInfo 엘리먼트는 TotalWatchingTime 엘리먼트, Slot 엘리먼트를 가진다.
TotalWatchingTime 엘리먼트는 메인 시청각 컨텐트 시청 시간 정보를 담는다.
부가 서비스 이용 정보 아이템의 예를 도 153를 참고하여 설명한다.
도 153은 본 발명의 한 실시예에 따른 부가 서비스 이용 정보 아이템의 XML 스키마를 보여준다.
도 153에 도시된 바와 같이 부가 서비스 이용 정보 아이템에 해당하는 UsageMonitor 엘리먼트는 id 속성, password 속성, terminalID 속성을 가지고, ServiceInfo 엘리먼트를 가진다.
ServiceInfo 엘리먼트 bound 속성, simplyDisplay 속성을 가지고, Id 엘리먼트, Name 엘리먼트, Category 엘리먼트, Purchase 엘리먼트, UserInteraction 엘리먼트를 가진다.
bound 속성은 bound 또는 unbound로 설정된다. Bound는 부가 서비스가 메인 시청각 컨텐트에 연계됨을 의미하고, unbound는 부가 서비스가 메인 시청각 컨텐트에 연계되지 않음을 의미한다.
simplyDisplay 속성은 단순 정보 표시 또는 사용자 상호 작용(user interaction) 필요 중 하나로 설정된다.
Id 엘리먼트는 부가 서비스 식별자를 담고, Name 엘리먼트는 부가 서비스 이름을 담고, Category는 부가 서비스 분류 항목을 담는다.
Purchase 엘리먼트는 ProductName 엘리먼트, MakerName 엘리먼트, AdditionalInfo 엘리먼트, Price 엘리먼트, ContentID 엘리먼트를 가진다. ProductName 엘리먼트는 부가 서비스 제품의 이름을 가지고, MakerName은 부가 서비스 제품의 제작자 이름을 담으며, AdditionalInfo는 부가 서비스에 관한 추가 정보를 담으며, Price는 부가 서비스 제품의 가격에 대한 정보를 담으며, ContentID 엘리먼트는 부가 서비스 제품의 컨텐트 식별자를 담는다.
UserInteraction 엘리먼트는 Time 엘리먼트, Level 엘리먼트를 가진다.
Time 엘리먼트는 From 엘리먼트, To 엘리먼트를 가진다. From 엘리먼트는 부가 서비스 이용 시작 시간을 담고, To 엘리먼트는 부가 서비스 이용 종료 시간을 담는다.
Level 엘리먼트는 no interaction, trigger 선택, 광고 내용 시청, 상품 구매, full interaction에 관한 정보를 담는다.
한편, 표 26에서 보여지는 바와 같이, 부가 서비스의 분류 항목에 따라 Id 엘리먼트와 Time 엘리먼트의 내용이 달라질 수 있다.
Figure pct00028
표 26에서 보여지는 바와 같이, 부가 서비스가 웹 북마크 서비스에 해당하면, Id 엘리먼트는 TSID를 담고, Time 엘리먼트는 Web Bookmark를 설정한 시간과 Web Bookmark에 다시 접근하여 부가 서비스를 이용한 시간을 담을 수 있다.
부가 서비스가 NRT 서비스(non-real-time service)에 해당하면, Id 엘리먼트는 TSID, source_id, service_id, content_linkage를 담고, Time 엘리먼트는 Action, start_time, end_time을 담을 수 있다.
부가 서비스 관리부(530)는 계정 정보를 가지고 이용 정보 측정 서버(80)에 로그인한다(S2917). 이 과정을 생략될 수 있다.
부가 서비스 관리부(530)는 보고 주기에서 보고 주소에 해당하는 이용 정보 측정 서버(80)에 보고 정보를 전송한다(S2919). 이때, 부가 서비스 관리부(530)는 HTTP request를 통해 보고 정보를 전송하고, HTTP response를 수신하면 보고를 종료할 수 있다. 또한, 부가 서비스(130)는 영상 표시 장치(500)의 식별자와 같은 유일한 식별자를 포함하는 HTTP request를 이용 정보 측정 서버(80)에 전송하고, 이용 정보 측정 서버(80)로부터 보고 요청을 포함하는 응답을 수신하면 보고 정보를 전송할 수도 있다.
이용 정보 측정 서버(80)는 축적된 이용 정보를 컨텐츠 제공 서버(10)에 제공하여(S2921), 컨텐츠 제공 서버(10)가 이를 이용하게 할 수 있다. 특히, 컨텐츠 제공 서버(10)는 축적된 이용 정보를 커스터마이징 컨텐츠 제공, 타겟 광고 제공, 과금의 근거로 활용할 수 있다.
한편, 이용 정보 측정 서버(80)는 시청자 정보와 보고된 이용 정보를 바탕으로 사용자의 통계적, 행동학적 특성을 파악할 수 있다(S2923).
부가 서비스 관리부(530)는 파악된 사용자 특성에 기초하여 다양한 부가 서비스를 획득할 수 있다(S2925). 도 154 내지 도 157을 참고하여 사용자 특성 기반의 부가 서비스를 설명한다. 이용 정보 측정 서버(80)가 영상 표시 장치(500) 내의 한 모듈이면, 부가 서비스 관리부(530)는 부가 서비스 저장부(552)로부터 획득할 수 있다. 이용 정보 측정 서버(80)가 컨텐츠 제공 서버(10), 컨텐츠 인식 서비스 제공 서버(20), 멀티채널 비디오 분배 서버(30), 부가 서비스 정보 제공 서버(40), 복수의 부가 서비스 제공 서버(50), 방송 수신 장치(60) 내의 한 모듈이면, 해당 기기로부터 부가 서비스를 획득할 수 있다.
도 154 내지 도 157은 본 발명의 실시예에 따른 사용자 특성 기반의 부가 서비스의 개념도이다.
도 154에 도시된 바와 같이, 사용자 특성은 사용자가 특정 시청각 컨텐츠를 즐겨본다는 것일 수 있다. 이 경우, 부가 서비스 관리부(530)는 특정 시청각 컨텐츠가 방송되는 채널로의 변경을 추천하는 부가 서비스를 획득할 수 있다. 부가 서비스 관리부(530)는 획득한 부가 서비스를 디스플레이하고, 채널 변경 확인에 대한 사용자 입력을 수신하면 해당 채널의 시청각 컨텐츠를 수신하고 재생할 수 있다.
도 155에 도시된 바와 같이, 사용자 특성은 사용자가 특정 장르를 즐겨본다는 것일 수 있다. 이 경우, 부가 서비스 관리부(530)는 사용자가 즐겨보는 장르에 해당하는 현재 시청각 컨텐츠 또는 부가 서비스를 추천하는 부가 서비스를 획득할 수 있다. 부가 서비스 관리부(530)는 획득한 부가 서비스를 디스플레이하고, 시청 확인에 대한 사용자 입력을 수신하면 해당 시청각 컨텐츠 또는 부가 서비스를 수신하고 재생할 수 있다.
도 156에 도시된 바와 같이, 사용자 특성은 사용자가 특정 시간에 TV를 즐겨 시청한다는 것일 수 있다. 이 경우, 부가 서비스 관리부(530)는 사용자가 TV를 즐겨 시청하는 시간을 위한 타겟 광고를 수신하고, 수신한 타겟 광고를 재생할 수 있다.
도 157에 도시된 바와 같이, 유사한 사용자 특성을 가진 사용자들은 그룹핑될 수 있다. 영상 표시 장치(500)의 사용자가 어떤 그룹에 속하는지에 대한 판단을 통하여, 해당 그룹의 사용자들이 가장 선호하는 컨텐트나 부가 서비스가 추천될 수 있다. 부가 서비스 관리부(530)는 유사한 사용자 특성을 가진 사용자가 선택하거나 현재 시청 중인 시청각 컨텐트를 추천하는 부가 서비스를 획득할 수 있다. 또한, 부가 서비스 관리부(530)는 소셜 네트워크 상의 유사 사용자가 선택하거나 현재 시청 중인 시청각 컨텐트를 추천하는 부가 서비스를 획득할 수도 있다.
다음은 도 158과 도 159를 참조하여 본 발명의 다양한 실시예에 따른 영상 표시 장치의 구조를 설명한다.
도 158은 본 발명의 또 다른 실시예에 따른 핑거프린트 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 158에서, Tuner(501)는 air 채널을 통해 전송되는 8-VSB RF 신호로부터 Symbol을 추출한다.
8-VSB Demodulator(503)는 Tuner(501)가 추출한 8-VSB Symbol을 복조하여 의미 있는 디지털 데이터를 복원한다.
VSB Decoder(505)는 8-VSB Demodulator(503)가 복원한 디지털 데이터를 복호하여 ATSC 메인 서비스와 ATSC M/H 서비스를 복원한다.
MPEG-2 TP Demux(507)는 8-VSB 신호를 통하여 전송되는 MPEG-2 Transport Packet 또는 PVR Storage에 저장된 MPEG-2 Transport Packet 중에서 영상 표시 장치(500)가 처리하고자 하는 Transport Packet을 필터링하여 적절한 처리 모듈로 중계한다.
PES 디코더(539)는 MPEG-2 Transport Stream을 통하여 전송된 Packetized Elementary Stream을 Buffering하고 복원한다.
PSI/PSIP 디코더(541)는 MPEG-2 Transport Stream을 통하여 전송되는 PSI/PSIP Section Data를 Buffering하고 분석한다. 분석된 PSI/PSIP 데이터는 Service Manager(미도시)에 의하여 수집되어, Service Map 및 Guide data 형태로 DB에 저장된다.
DSMCC Section Buffer/Handler (511)은 MPEG-2 TP를 통하여 전송되는 파일 전송 및 IP Datagram encapsulation 등을 위한 DSMCC Section Data를 버퍼링(Buffering)하고 처리한다.
IP/UDP Datagram Buffer/Header Parser(513)는 DSMCC Addressable section을 통해 encapsulate되어 MPEG-2 TP를 통하여 전송되는 IP Datagram을 버퍼링하고 복원하여 각 Datagram의 Header를 분석한다. 또한, IP/UDP Datagram Buffer/Header Parser(513)는 IP Datagram을 통하여 전송되는 UDP Datagram을 Buffering 및 복원하고, 복원된 UDP Header를 분석 및 처리한다.
Stream component handler(557)는 ES Buffer/Handler, PCR Handler, STC 모듈, Descrambler, CA Stream Buffer/Handler, Service Signaling Section Buffer/Handler를 포함할 수 있다.
ES Buffer/Handler는 PES 형태로 전송된 Video, Audio 데이터 등의 Elementary Stream을 Buffering 및 복원하여 적절한 A/V Decoder로 전달한다.
PCR Handler는 Audio 및 Video Stream의 Time synchronization 등을 위하여 사용되는 PCR (Program Clock Reference) Data를 처리한다.
STC 모듈은 PCR Handler를 통하여 전달받은 Reference Clock 값을 이용하여, A/V Decoder 들의 Clock 값을 보정하여 Time Synchronization를 수행한다.
수신된 IP Datagram의 Payload에 Scrambling이 적용된 경우, Descrambler는 CA Stream Handler로부터 전달 받은 Encryption key 등을 이용, Payload의 데이터를 복원한다.
CA Stream Buffer/Handler는 MPEG-2 TS또는 IP Stream을 통하여 전송되는 Conditional Access 기능을 위하여 전송되는 EMM, ECM 등의 Descrambling을 위한 Key 값 등의 Data를 Buffering 및 처리한다. CA Stream Buffer/Handler의 Output은 Descrambler로 전달되어, descrambler는 A/V Data 및 File Data등을 전송하는 MPEG-2 TP 또는 IP Datagram의 암호화 해제작업을 수행한다.
Service Signaling Section Buffer/Handler는 IP Datagram의 형태로 전송되는 NRT Service Signaling Channel Section Data를 Buffering 하고 복원하며 분석한다. Service Manager(미도시)는 분석된 NRT Service Signaling Channel Section 데이터를 수집하여, Service Map 및 Guide data 형태로 DB에 저장한다.
A/V Decoder(561)는 ES Handler를 통하여 전달받은 Audio/Video 데이터의 압축을 복호화하여, 사용자에게 Presentation한다.
MPEG-2 Service Demux(미도시)는 MPEG-2 TP Buffer/Parser, Descrambler, PVR Storage 모듈을 포함할 수 있다.
MPEG-2 TP Buffer/Parser (미도시)는 8-VSB 신호를 통하여 전송되는 MPEG-2 Transport Packet을 Buffering 및 복원하고, Transport Packet Header를 검출 및 처리한다.
Descrambler는 MPEG-2 TP 중, Scramble이 적용된 Packet payload에 대하여, CA Stream Handler로부터 전달 받은 Encryption key 등을 이용, Payload의 데이터를 복원한다.
PVR Storage 모듈은 사용자의 요구 등에 따라 8-VSB 신호를 이용하여 수신된 MPEG-2 TP를 저장하고, 또한 사용자의 요구에 의해 MPEG-2 TP를 출력한다. PVR Storage 모듈은 PVR Manager(미도시)에 의해 제어될 수 있다.
File Handler(551)는 ALC/LCT Buffer/Parser, FDT Handler, XML Parser, File Reconstruction Buffer, Decompressor, File Decoder, File Storage를 포함할 수 있다.
ALC/LCT Buffer/Parser는 UDP/IP Stream으로 전송되는 ALC/LCT 데이터를 Buffering 및 복원하고, ALC/LCT의 Header 및 Header extension을 분석한다. ALC/LCT Buffer/Parser는 NRT Service Manager(미도시)에 의해 제어될 수 있다.
FDT Handler는 ALC/LCT session을 통하여 전송되는 FLUTE protocol의 File Description Table을 분석 및 처리한다. FDT Handler는 NRT Service Manager(미도시)에 의해 제어될 수 있다.
XML Parser는 ALC/LCT session을 통하여 전송되는 XML Document를 분석하여, FDT Handler, SG Handler 등 적절한 모듈로 분석된 데이터를 전달한다.
File Reconstruction Buffer는 ALC/LCT, FLUTE session으로 전송되는 파일을 복원한다.
Decompressor는 ALC/LCT, FLUTE session으로 전송되는 파일이 압축되어 있는 경우, 그 압축을 해제하는 프로세스를 수행한다.
File Decoder는 File Reconstruction Buffer에서 복원된 File 또는 Decompressor에서 압축해제된 파일, 또는 File Storage에서 추출된 File을 Decoding한다.
File Storage는 복원된 파일을 필요에 의하여 저장하거나 추출한다.
M/W Engine(미도시)은 DSMCC Section, IP Datagram 등을 통하여 전송되는 A/V Stream이 아닌 파일 등의 Data를 처리한다. , M/W Engine은 처리된 데이터를 Presentation Manager 모듈로 전달한다.
SG Handler(미도시)는 XML Document 형태로 전송되는 Service Guide 데이터를 수집하고 분석하여 EPG Manager에게 전달하는 프로세스를 수행한다.
Service Manager(미도시)는 MPEG-2 Transport Stream을 통하여 전송되는 PSI/PSIP Data, IP Stream으로 전송되는 Service Signaling Section Data를 수집하고 분석하여 Service Map을 제작한다. Service Manager(미도시)는 제작한 service map을 Service Map & Guide Database에 저장하며, 사용자가 원하는 Service에 대한 access를 제어한다. Operation Controller(미도시)에 의하여 제어되며, Tuner(501), MPEG-2 TP Demux(507), IP Datagram Buffer/Handler (513) 등에 대한 제어를 수행한다.
NRT Service Manager(미도시)는 IP layer 상에서 FLUTE session을 통하여 object/file 형태로 전송되는 NRT 서비스에 대한 전반적인 관리를 수행한다. NRT Service Manager(미도시)는 FDT Handler, File Storage등을 제어할 수 있다.
Application Manager(미도시)는 Object, file 등의 형태로 전송되는 Application 데이터의 처리에 관한 전반적인 관리를 수행한다.
UI Manager(미도시)는 User Interface를 통하여 사용자의 Input을 Operation Controller에 전달하고, 사용자가 요구하는 서비스를 위한 Process의 동작을 시작한다.
Operation Controller(미도시)는 UI Manager를 통하여 전달받은 사용자의 Command를 처리하고, 필요한 모듈의 Manager가 해당 Action을 수행하게 한다.
Fingerprint Extractor(565)는 Audio/Video 스트림으로 부터 fingerprint 특징 정보를 추출한다.
Fingerprint Comparator(567)는 Fingerprint Extractor가 추출한 특징 정보와 Reference fingerprint를 비교하여 일치하는 컨텐트를 찾는다. Fingerprint Comparator(567)는 Local에 저장된 Reference fingerprint DB를 이용할 수도 있고, 인터넷 상의 Fingerprint 질의 서버에 질의하여 결과를 수신할 수도 있다. 비교 결과로 매칭된 결과 데이터는 Application에 전달되어 이용될 수 있다.
Application(569)은 ACR 기능을 관장하는 모듈 혹은 ACR에 기반하여 Enhanced 서비스를 제공하는 어플리케이션 모듈로서, 시청중인 방송 컨텐트를 식별하여 이와 연계된 확장된 서비스를 제공한다.
도 159는 본 발명의 또 다른 실시예에 따른 워트마크 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 159에 도시된 워트마크 기반의 영상 표시 장치는 도 158에 도시된 핑거프린트 기반의 영상 표시 장치와 유사하나, 핑거프린트 기반의 영상 표시 장치의 Fingerprint Extractor(565)와 Fingerprint Comparator(567)를 포함하지 않으며, 대신 Watermark Extractor(566)를 더 포함한다.
Watermark Extractor(566)는 Audio/Video 스트림으로부터 watermark형태로 삽입된 데이터를 추출한다. 이렇게 추출된 데이터는 Application에 전달되어 이용될 수 있다.
본 발명의 일 실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
상기와 같이 설명된 영상 표시 장치는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.

Claims (23)

  1. 북마크 대상 오브젝트의 위치 정보를 포함하는 트리거를 수신하는 단계;
    상기 트리거로부터 상기 북마크 대상 오브젝트의 위치 정보를 추출하는 단계;
    상기 북마크 대상 오브젝트의 위치 정보를 이용하여, 북마크 시그널링 데이터를 포함하는 북마크 대상 오브젝트 관련 정보를 수신하는 단계;
    상기 북마크 대상 오브젝트 관련 정보로부터 상기 북마크 시그널링 데이터를 추출하는 단계;
    상기 북마크 시그널링 데이터가 추출되면, 북마크 대상 오브젝트가 북마크될 수 있음을 표시하는 단계;
    상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신하는 경우, 상기 북마크 대상 오브젝트의 위치 정보를 저장하는 단계; 및
    미리 정해진 시점에 저장된 북마크 대상 오브젝트의 위치 정보를 표시하는 단계를 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  2. 제1항에 있어서,
    상기 북마크 대상 오브젝트의 위치 정보는 북마크 대상 오브젝트 파라미터 테이블을 저장하는 서버의 주소를 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  3. 제1항에 있어서,
    상기 북마크 시그널링 데이터는 상기 북마크 서비스가 실행되는 채널의 식별자, 상기 북마크 서비스 실행 여부를 선택할 수 있는 시간인 북마크 유효 시간, 상기 북마크 서비스 실행이 만료되는 북마크 만료 시간, 상기 북마크 서비스의 제목, 상기 북마크 서비스가 있음을 알려주는 트리거 대상 오브젝트의 위치 정보를 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  4. 북마크 대상 오브젝트의 위치 정보를 포함하는 북마크 시그널링 데이터를 수신하는 단계;
    상기 북마크 시그널링 데이터를 수신하면, 북마크 대상 오브젝트가 북마크될 수 있음을 표시하는 단계;
    상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신하는 경우, 상기 북마크 대상 오브젝트의 위치 정보를 저장하는 단계; 및
    미리 정해진 시점에 저장된 북마크 대상 오브젝트의 위치 정보를 표시하는 단계를 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  5. 제4항에 있어서,
    상기 북마크 대상 오브젝트의 위치 정보를 포함하는 북마크 시그널링 데이터를 수신하는 단계는
    제1 스트림을 수신하는 단계;
    상기 제1 스트림의 헤더로부터 표시 시간 정보를 추출하는 단계; 및
    상기 제1 스트림의 페이로드로부터 상기 북마크 시그널링 데이터를 추출하는 단계를 포함하며,
    상기 제1 스트림의 헤더로부터 추출된 표시 시간 정보는 제2 스트림의 헤더로부터 추출된 표시 시간 정보와 동기화되고,
    상기 제1 스트림은 트리거 스트림을 포함하고,
    상기 제2 스트림은 오디오 스트림, 비디오 스트림 중 적어도 하나를 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  6. 제4항에 있어서,
    상기 북마크 대상 오브젝트의 위치 정보를 포함하는 북마크 시그널링 데이터를 수신하는 단계는
    비디오 스트림을 수신하는 단계;
    상기 비디오 스트림의 헤더로부터 캡션 스트림을 추출하는 단계; 및
    상기 캡션 스트림으로부터 트리거 스트림을 추출하는 단계를 포함하고,
    상기 북마크 시그널링 데이터는 상기 트리거 스트림을 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  7. 제4항에 있어서,
    상기 북마크 시그널링 데이터는 북마크 서비스 트리거에 해당하는
    방송 수신 장치의 방송 서비스 수신 방법.
  8. 제4항에 있어서,
    상기 북마크 시그널링 데이터는 실행 트리거에 해당하고, 북마크 정보를 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  9. 제4항에 있어서,
    상기 북마크 대상 오브젝트가 북마크될 수 있음을 표시하는 단계는
    상기 북마크 대상 오브젝트에 대한 북마크 서비스가 가능함을 알리는 북마크 지시자를 표시하는 단계; 및
    상기 북마크 서비스 실행을 위한 사용자 입력을 수신하기 위하여 북마크 버튼을 표시하는 단계를 포함하고,
    상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력은 상기 북마크 버튼을 선택하는 사용자 입력에 해당하는
    방송 수신 장치의 방송 서비스 수신 방법.
  10. 제4항에 있어서,
    메인 시청각 컨텐트를 획득하는 단계; 및
    상기 메인 시청각 컨텐트를 재생하는 단계를 더 포함하고,
    상기 북마크 시그널링 데이터는 상기 메인 시청각 컨텐트의 일부에 관련된 북마크 대상 오브젝트의 위치 정보를 포함하며,
    상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신하는 경우, 상기 북마크 대상 오브젝트가 관련된 상기 메인 시청각 컨텐트의 일부에 관한 정보를 저장하는 단계를 더 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  11. 제4항에 있어서,
    상기 메인 시청각 컨텐트의 일부에 관한 정보는
    상기 메인 시청각 컨텐트의 일부를 캡쳐한 이미지 정보, 상기 메인 시청각 컨텐트의 일부를 캡쳐한 이미지가 저장된 위치 정보 중 적어도 하나를 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  12. 제4항에 있어서,
    상기 북마크 대상 오브젝트의 위치 정보를 포함하는 북마크 시그널링 데이터는 상기 북마크 서비스가 실행되는 채널의 식별자, 상기 북마크 서비스 실행 여부를 선택할 수 있는 시간인 북마크 유효 시간, 상기 북마크 서비스 실행이 만료되는 북마크 만료 시간, 상기 북마크 서비스의 제목, 상기 북마크 서비스가 있음을 알려주는 트리거 대상 오브젝트의 위치 정보를 더 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  13. 제4항에 있어서,
    상기 미리 정해진 시점은 사용자 입력에 따른 시점, 메인 시청각 컨텐트의 재생 종료 시점 중 적어도 하나에 해당하고,
    상기 메인 시청각 컨텐트는 일부가 상기 북마크 대상 오브젝트와 관련된
    방송 수신 장치의 방송 서비스 수신 방법.
  14. 제4항에 있어서,
    상기 표시된 북마크 대상 오브젝트의 위치 정보를 선택하는 사용자 입력을 수신하는 경우, 상기 위치 정보를 이용하여 상기 북마크 대상 오브젝트를 획득하는 단계;
    상기 표시된 북마크 대상 오브젝트의 위치 정보를 삭제하는 사용자 입력을 수신하는 경우, 상기 저장된 북마크 대상 오브젝트의 위치 정보를 삭제하는 단계; 및
    상기 획득된 북마크 대상 오브젝트를 실행하는 단계를 더 포함하는
    방송 수신 장치의 방송 서비스 수신 방법.
  15. 디스플레이부;
    북마크 대상 오브젝트의 위치 정보를 포함하는 북마크 시그널링 데이터를 수신하는 트리거 수신부;
    상기 북마크 시그널링 데이터가 전송되면 북마크 대상 오브젝트에 대한 북마크 서비스가 가능함을 알리는 북마크 지시자를 상기 디스플레이부에 표시하는 트리거 처리부;
    상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신하는 사용자 입력부;
    상기 북마크 대상 오브젝트의 위치 정보를 저장하는 북마크 저장부; 및
    상기 사용자 입력부가 상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신한 경우에 상기 북마크 대상 오브젝트의 위치 정보를 북마크 저장부에 저장하고, 미리 정해진 시점이 되면 상기 북마크 대상 오브젝트의 위치 정보를 상기 디스플레이부에 표시하는 북마크 모듈을 포함하는
    방송 수신 장치.
  16. 제15항에 있어서,
    제1 스트림, 제2 스트림을 수신하는 데이터 스트림 수신부를 더 포함하고,
    상기 트리거 수신부는
    상기 제1 스트림의 헤더로부터 표시 시간 정보를 추출하고, 상기 제1 스트림의 페이로드로부터 상기 북마크 시그널링 데이터를 추출하며,
    상기 제1 스트림의 헤더로부터 추출된 표시 시간 정보는 상기 제2 스트림의 헤더로부터 추출된 표시 시간 정보와 동기화되고,
    상기 제1 스트림은 트리거 스트림을 포함하고,
    상기 제2 스트림은 오디오 스트림, 비디오 스트림 중 적어도 하나를 포함하는
    방송 수신 장치.
  17. 제15항에 있어서,
    비디오 스트림을 수신하는 데이터 스트림 수신부를 더 포함하고,
    상기 트리거 수신부는
    상기 비디오 스트림의 헤더로부터 캡션 스트림을 추출하고, 상기 추출된 캡션 스트림으로부터 트리거 스트림을 추출하며,
    상기 북마크 시그널링 데이터는 상기 트리거 스트림을 포함하는
    방송 수신 장치.
  18. 제15항에 있어서,
    상기 북마크 시그널링 데이터는
    북마크 서비스 트리거, 실행 트리거 중 적어도 하나에 해당하며,
    상기 북마크 시그널링 데이터가 상기 실행 트리거인 경우, 상기 북마크 시그널링은 북마크 정보를 더 포함하는
    방송 수신 장치.
  19. 제15항에 있어서,
    상기 트리거 처리부는 상기 북마크 시그널링 데이터가 전송되면 북마크 버튼을 상기 디스플레이부에 더 표시하고,
    상기 북마크 버튼은 상기 북마크 서비스를 실행시키기 위한 사용자 입력을 수신하는 영역으로서, 상기 북마크 지시자에 포함되는
    방송 수신 장치.
  20. 제15항에 있어서,
    메인 시청각 데이터를 수신하는 데이터 스트림 수신부;
    상기 메인 시청각 데이터를 재생하는 메인 시청각 데이터 재생부를 더 포함하며,
    상기 북마크 모듈은 상기 사용자 입력부가 상기 북마크 대상 오브젝트를 북마크하기 위한 사용자 입력을 수신한 경우에 상기 북마크 대상 오브젝트의 위치 정보와 함께 상기 북마크 대상 오브젝트가 관련된 상기 메인 시청각 컨텐트의 일부를 캡쳐한 이미지 정보, 상기 메인 시청각 컨텐트의 일부를 캡쳐한 이미지가 저장된 위치 정보 중 적어도 하나를 저장하는
    방송 수신 장치.
  21. 제15항에 있어서,
    상기 북마크 대상 오브젝트의 위치 정보를 포함하는 북마크 시그널링 데이터는 상기 북마크 서비스가 실행되는 채널의 식별자, 상기 북마크 서비스 실행 여부를 선택할 수 있는 시간인 북마크 유효 시간, 상기 북마크 서비스 실행이 만료되는 북마크 만료 시간, 상기 북마크 서비스의 제목, 상기 북마크 서비스가 있음을 알려주는 트리거 대상 오브젝트의 위치 정보를 더 포함하는
    방송 수신 장치.
  22. 제15항에 있어서,
    상기 미리 정해진 시점은 사용자 입력에 따른 시점, 메인 시청각 컨텐트의 재생 종료 시점 중 적어도 하나에 해당하고,
    상기 메인 시청각 컨텐트는 일부가 상기 북마크 대상 오브젝트와 관련된
    방송 수신 장치.
  23. 제15항에 있어서,북마크 대상 오브젝트를 획득하는 부가 서비스 관리부를 더 포함하고,
    상기 사용자 입력부는 상기 디스플레이부에 표시된 북마크 대상 오브젝트의 위치 정보를 선택하는 사용자 입력 또는 상기 디스플레이부에 표시된 북마크 대상 오브젝트의 위치 정보를 삭제하는 사용자 입력을 더 수신하며,
    상기 북마크 모듈은
    상기 북마크 대상 오브젝트의 위치 정보를 선택하는 사용자 입력을 수신한 경우, 상기 부가 서비스 관리부가 상기 북마크 대상 오브젝트의 위치 정보를 이용하여 상기 북마크 대상 오브젝트를 획득하도록 제어하고,
    상기 북마크 대상 오브젝트의 위치 정보를 삭제하는 사용자 입력을 수신한 경우, 상기 북마크 저장부에 저장된 상기 북마크 대상 오브젝트의 위치 정보를 삭제하하는
    방송 수신 장치.
KR1020147002430A 2011-09-23 2012-09-14 방송 서비스 수신 방법 및 그 수신 장치 KR101654439B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161538150P 2011-09-23 2011-09-23
US61/538,150 2011-09-23
PCT/KR2012/007364 WO2013042902A1 (ko) 2011-09-23 2012-09-14 방송 서비스 수신 방법 및 그 수신 장치

Publications (2)

Publication Number Publication Date
KR20140064761A true KR20140064761A (ko) 2014-05-28
KR101654439B1 KR101654439B1 (ko) 2016-09-12

Family

ID=47914607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147002430A KR101654439B1 (ko) 2011-09-23 2012-09-14 방송 서비스 수신 방법 및 그 수신 장치

Country Status (5)

Country Link
US (2) US9288554B2 (ko)
KR (1) KR101654439B1 (ko)
CN (1) CN103733637B (ko)
CA (1) CA2843583C (ko)
WO (1) WO2013042902A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160027770A (ko) * 2014-09-02 2016-03-10 엘지전자 주식회사 영상제공장치, 및 그 동작방법
KR20160079332A (ko) * 2014-12-26 2016-07-06 주식회사 케이티 이종 애플리케이션 실행 방법, 디바이스, 시스템 및 컴퓨터 프로그램
KR20180105641A (ko) * 2016-01-15 2018-09-28 소니 주식회사 수신 장치, 송신 장치 및 데이터 처리 방법
US11962545B2 (en) 2021-12-27 2024-04-16 Samsung Electronics Co., Ltd. Method and device for providing chatbot participating chat service

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9794605B2 (en) * 2007-06-28 2017-10-17 Apple Inc. Using time-stamped event entries to facilitate synchronizing data streams
US20130212621A1 (en) * 2010-11-18 2013-08-15 Mark T. Corl Broadcast-enabled media hub
KR101654439B1 (ko) 2011-09-23 2016-09-12 엘지전자 주식회사 방송 서비스 수신 방법 및 그 수신 장치
CN102611947B (zh) * 2011-11-24 2017-11-17 中兴通讯股份有限公司 创建组播频道的方法、系统和媒体服务器
US20130332296A1 (en) * 2012-06-11 2013-12-12 Samuel John Murray, JR. System and Method for Creation and Distribution of Author Signed Electronic Books
US9591339B1 (en) 2012-11-27 2017-03-07 Apple Inc. Agnostic media delivery system
US9774917B1 (en) 2012-12-10 2017-09-26 Apple Inc. Channel bar user interface
US10200761B1 (en) * 2012-12-13 2019-02-05 Apple Inc. TV side bar user interface
US9532111B1 (en) 2012-12-18 2016-12-27 Apple Inc. Devices and method for providing remote control hints on a display
US10521188B1 (en) 2012-12-31 2019-12-31 Apple Inc. Multi-user TV user interface
US9681116B2 (en) * 2013-03-15 2017-06-13 Arris Enterprises, Inc. System and method for delivering 3DTV content to variety of receivers
US9161074B2 (en) * 2013-04-30 2015-10-13 Ensequence, Inc. Methods and systems for distributing interactive content
KR102145744B1 (ko) * 2013-06-12 2020-08-28 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
JP6625318B2 (ja) * 2013-08-29 2019-12-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法および受信方法
JP6505996B2 (ja) * 2013-08-30 2019-04-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 受信方法、及び、受信装置
FR3011155A1 (fr) * 2013-09-26 2015-03-27 Orange Procedes de synchronisation, de generation d'un flux, programmes d'ordinateur, media de stockage, dispositifs de restitution, d'execution et de generation correspondants.
EP3087747A4 (en) * 2013-12-23 2017-08-16 Lg Electronics Inc. Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks
CN105900442B (zh) * 2014-01-17 2019-11-05 索尼公司 接收设备、接收方法、发送设备和发送方法
US20150317403A1 (en) * 2014-05-04 2015-11-05 Reduxio Systems Ltd. System and method for management of data based bookmarks
CN106464929B (zh) * 2014-05-21 2019-11-01 Lg电子株式会社 广播信号发送/接收方法和装置
US9420351B2 (en) * 2014-06-06 2016-08-16 Google Inc. Systems and methods for prefetching online content items for low latency display to a user
AU2015280256A1 (en) 2014-06-24 2016-10-13 Apple Inc. Column interface for navigating in a user interface
KR102220942B1 (ko) * 2014-07-04 2021-02-26 삼성전자 주식회사 콘텐츠 제공 방법 및 장치
MX370782B (es) 2014-09-05 2020-01-06 Sony Corp Dispositivo de recepción, método de recepción, dispositivo de transmisión, y método de transmisión.
CN105488053B (zh) * 2014-09-17 2019-04-09 阿里巴巴集团控股有限公司 一种信息匹配方法及装置
JP2016086335A (ja) * 2014-10-28 2016-05-19 日本電気株式会社 通信装置、通信方法及びプログラム
EP3267689B1 (en) * 2015-03-01 2019-08-14 LG Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US10162972B2 (en) 2015-04-17 2018-12-25 Dropbox, Inc. Collection folder for collecting and publishing file submissions
US9692826B2 (en) 2015-04-17 2017-06-27 Dropbox, Inc. Collection folder for collecting file submissions via a customizable file request
US10885209B2 (en) 2015-04-17 2021-01-05 Dropbox, Inc. Collection folder for collecting file submissions in response to a public file request
WO2016208988A1 (en) * 2015-06-23 2016-12-29 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving signal in multimedia system
CA2987903A1 (en) * 2015-07-23 2017-01-26 Sony Corporation Reception apparatus, transmission apparatus and data processing method
WO2017018768A1 (ko) * 2015-07-25 2017-02-02 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10735802B2 (en) * 2015-12-04 2020-08-04 Sharp Kabushiki Kaisha Recovery data with content identifiers
US10713966B2 (en) 2015-12-31 2020-07-14 Dropbox, Inc. Assignments for classrooms
US10887664B2 (en) * 2016-01-05 2021-01-05 Adobe Inc. Controlling start times at which skippable video advertisements begin playback in a digital medium environment
US9800819B2 (en) * 2016-02-19 2017-10-24 Sony Corporation Methodologies and apparatus for reducing delays when receiving, processing, or switching content
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
CN106921728A (zh) * 2016-08-31 2017-07-04 阿里巴巴集团控股有限公司 一种定位用户的方法、信息推送方法及相关设备
CN109661821B (zh) * 2016-09-09 2021-05-18 夏普株式会社 用于用信号发送紧急警报消息的系统和方法
CN106653057A (zh) * 2016-09-30 2017-05-10 北京智能管家科技有限公司 一种数据处理方法及装置
US11966560B2 (en) 2016-10-26 2024-04-23 Apple Inc. User interfaces for browsing content from multiple content applications on an electronic device
CA3071560C (en) * 2017-08-10 2024-01-23 Sony Corporation Transmission apparatus, transmission method, reception apparatus, and reception method
US10517045B2 (en) 2017-11-17 2019-12-24 Qualcomm Incorporated Techniques for power control using carrier aggregation in wireless communications
CN116248937A (zh) 2018-03-26 2023-06-09 索尼公司 信息处理装置及信息处理方法
DK201870354A1 (en) 2018-06-03 2019-12-20 Apple Inc. SETUP PROCEDURES FOR AN ELECTRONIC DEVICE
US10834473B2 (en) * 2018-11-23 2020-11-10 Sony Corporation Television receiver application for TV and electronic devices
US11095927B2 (en) 2019-02-22 2021-08-17 The Nielsen Company (Us), Llc Dynamic watermarking of media based on transport-stream metadata, to facilitate action by downstream entity
US11683565B2 (en) 2019-03-24 2023-06-20 Apple Inc. User interfaces for interacting with channels that provide content that plays in a media browsing application
CN113906419A (zh) 2019-03-24 2022-01-07 苹果公司 用于媒体浏览应用程序的用户界面
CN113940088A (zh) 2019-03-24 2022-01-14 苹果公司 用于查看和访问电子设备上的内容的用户界面
EP3928194A1 (en) 2019-03-24 2021-12-29 Apple Inc. User interfaces including selectable representations of content items
WO2020231813A1 (en) * 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
US11373440B2 (en) 2019-05-10 2022-06-28 Roku, Inc. Content-modification system with fingerprint data match and mismatch detection feature
US11632598B2 (en) 2019-05-10 2023-04-18 Roku, Inc. Content-modification system with responsive transmission of reference fingerprint data feature
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
US11797606B2 (en) 2019-05-31 2023-10-24 Apple Inc. User interfaces for a podcast browsing and playback application
US11234050B2 (en) * 2019-06-18 2022-01-25 Roku, Inc. Use of steganographically-encoded data as basis to control dynamic content modification as to at least one modifiable-content segment identified based on fingerprint analysis
JP2021048506A (ja) * 2019-09-19 2021-03-25 Kddi株式会社 映像シーン情報管理装置
FR3101744B1 (fr) * 2019-10-04 2023-07-21 Enensys Tech Procédé de signalisation d’une substitution à un terminal, procédé de substitution par un terminal, produits programme d'ordinateur, système et terminal correspondants
CN111131881B (zh) * 2019-12-30 2022-09-02 深圳Tcl数字技术有限公司 Pvr录制方法、智能电视及计算机可读存储介质
US11012757B1 (en) 2020-03-03 2021-05-18 The Nielsen Company (Us), Llc Timely addition of human-perceptible audio to mask an audio watermark
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
CN111782579B (zh) * 2020-06-24 2022-04-05 华东师范大学 一种基于fpga的以太网协议硬件逻辑处理结构
US11720229B2 (en) 2020-12-07 2023-08-08 Apple Inc. User interfaces for browsing and presenting content
US10984425B1 (en) * 2020-12-22 2021-04-20 Braze, Inc. Systems and methods for delivering in-application messages
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011038012A2 (en) * 2009-09-25 2011-03-31 Sony Corporation Video bookmarking

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415438B1 (en) * 1999-10-05 2002-07-02 Webtv Networks, Inc. Trigger having a time attribute
US20050235319A1 (en) * 1999-12-10 2005-10-20 Carpenter Kenneth F Features for use with advanced set-top applications on interactive television systems
US20020007485A1 (en) 2000-04-03 2002-01-17 Rodriguez Arturo A. Television service enhancements
TW516314B (en) * 2000-05-23 2003-01-01 United Video Properties Inc Interactive television application with watch lists
US20050210145A1 (en) * 2000-07-24 2005-09-22 Vivcom, Inc. Delivering and processing multimedia bookmark
US6507727B1 (en) * 2000-10-13 2003-01-14 Robert F. Henrick Purchase and delivery of digital content using multiple devices and data networks
US20020099800A1 (en) * 2000-11-27 2002-07-25 Robert Brainard Data mark and recall system and method for a data stream
WO2002062009A1 (en) * 2001-01-30 2002-08-08 Digimarc Corporation Efficient interactive tv
KR100896725B1 (ko) * 2001-02-21 2009-05-11 유나이티드 비디오 프로퍼티즈, 인크. 복수의 프로그램 가이드 제공 방법, 프로그램 버퍼링 방법 및 시스템
JP4145623B2 (ja) * 2001-10-23 2008-09-03 松下電器産業株式会社 テレビジョン受信機及び受信機からのアクセス数集計方法
US7849476B2 (en) * 2001-12-13 2010-12-07 Thomson Licensing System and method for automatic switching to interactive application during television program breaks
US20030126611A1 (en) * 2001-12-28 2003-07-03 International Business Machines Corporation Methods and apparatus for controlling interactive television information and commerce services
WO2003067594A1 (en) * 2002-02-08 2003-08-14 Ucentric Holdings, Inc. Centralized digital video recording system with bookmarking and playback from multiple locations
US10664138B2 (en) * 2003-03-14 2020-05-26 Comcast Cable Communications, Llc Providing supplemental content for a second screen experience
US8261300B2 (en) * 2006-06-23 2012-09-04 Tivo Inc. Method and apparatus for advertisement placement in a user dialog on a set-top box
GB0621775D0 (en) * 2006-11-01 2006-12-13 Sony Uk Ltd Recording apparatus
KR101405966B1 (ko) * 2007-06-26 2014-06-20 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
KR20090019209A (ko) * 2007-08-20 2009-02-25 삼성전자주식회사 방송신호처리장치 및 그 제어방법
KR101430489B1 (ko) * 2007-08-24 2014-08-18 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
CN101785302B (zh) 2007-08-24 2013-07-17 Lg电子株式会社 数字广播系统和在数字广播系统中处理数据的方法
US8516521B2 (en) * 2008-01-14 2013-08-20 Verizon Patent And Licensing Inc. Interactive learning
US8312376B2 (en) * 2008-04-03 2012-11-13 Microsoft Corporation Bookmark interpretation service
KR101581359B1 (ko) * 2008-06-09 2015-12-30 엘지전자 주식회사 방송 신호 수신 방법 및 수신 시스템
US20110138432A1 (en) * 2008-08-06 2011-06-09 Telefonaktiebolaget L M Ericsson (Publ) Media Bookmarks
US9961399B2 (en) * 2008-09-19 2018-05-01 Verizon Patent And Licensing Inc. Method and apparatus for organizing and bookmarking content
WO2010100937A1 (ja) * 2009-03-06 2010-09-10 シャープ株式会社 ブックマーク利用装置、ブックマーク作成装置、ブックマーク共有システム、制御方法、制御プログラム、および、記録媒体
US8839338B2 (en) * 2012-03-28 2014-09-16 Sony Corporation Service usage reporting data transport
US8825809B2 (en) * 2010-05-19 2014-09-02 Microsoft Corporation Asset resolvable bookmarks
KR101654439B1 (ko) * 2011-09-23 2016-09-12 엘지전자 주식회사 방송 서비스 수신 방법 및 그 수신 장치
EP2862350A4 (en) * 2012-06-19 2015-11-18 Sony Corp EXPANSIONS OF A TRIGGER PARAMETER PANEL FOR INTERACTIVE TELEVISION

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011038012A2 (en) * 2009-09-25 2011-03-31 Sony Corporation Video bookmarking

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160027770A (ko) * 2014-09-02 2016-03-10 엘지전자 주식회사 영상제공장치, 및 그 동작방법
KR20160079332A (ko) * 2014-12-26 2016-07-06 주식회사 케이티 이종 애플리케이션 실행 방법, 디바이스, 시스템 및 컴퓨터 프로그램
KR20180105641A (ko) * 2016-01-15 2018-09-28 소니 주식회사 수신 장치, 송신 장치 및 데이터 처리 방법
US11962545B2 (en) 2021-12-27 2024-04-16 Samsung Electronics Co., Ltd. Method and device for providing chatbot participating chat service

Also Published As

Publication number Publication date
WO2013042902A1 (ko) 2013-03-28
US9288554B2 (en) 2016-03-15
KR101654439B1 (ko) 2016-09-12
US20140250479A1 (en) 2014-09-04
US20160255377A1 (en) 2016-09-01
US9749667B2 (en) 2017-08-29
CN103733637A (zh) 2014-04-16
CA2843583A1 (en) 2013-03-28
CN103733637B (zh) 2017-06-06
CA2843583C (en) 2016-11-01

Similar Documents

Publication Publication Date Title
KR101654439B1 (ko) 방송 서비스 수신 방법 및 그 수신 장치
CA2844605C (en) Method for transmitting broadcast service, method for receiving broadcast service, and apparatus for receiving broadcast service
US9712864B2 (en) Broadcast service receiving method and broadcast service receiving apparatus
KR101960314B1 (ko) 영상 표시 장치 및 그 제어 방법
KR101695514B1 (ko) 방송 서비스 전송 방법, 그 수신 장치 및 그 수신 장치의 부가 서비스 처리 방법
KR101479890B1 (ko) 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치
CA2839444C (en) Method for transmitting a broadcast service, method for receiving a broadcast service, and apparatus for receiving a broadcast service
CA2837638C (en) Method for transmitting and receiving broadcast service and receiving device thereof
CA2822968C (en) Broadcast service transmitting method, broadcasting service receiving method and broadcast service receiving apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant