KR20140125766A - 영상 표시 장치 및 그 동작 방법 - Google Patents

영상 표시 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20140125766A
KR20140125766A KR1020147020476A KR20147020476A KR20140125766A KR 20140125766 A KR20140125766 A KR 20140125766A KR 1020147020476 A KR1020147020476 A KR 1020147020476A KR 20147020476 A KR20147020476 A KR 20147020476A KR 20140125766 A KR20140125766 A KR 20140125766A
Authority
KR
South Korea
Prior art keywords
information
content
audio
video
fingerprint
Prior art date
Application number
KR1020147020476A
Other languages
English (en)
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 KR20140125766A publication Critical patent/KR20140125766A/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/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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • 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/237Communication with additional data server
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43632Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • H04N21/43635HDMI
    • 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/439Processing of audio elementary streams
    • 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/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in 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/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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • 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/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 한 실시예는 영상 표시 장치의 동작 방법에 관한 것으로 디스플레이부를 포함하는 영상 표시 장치의 동작 방법에 있어서, 비압축 시청각 컨텐트를 획득하는 단계, 상기 디스플레이부를 통해 상기 비압축 시청각 컨텐트를 재생하는 단계, 상기 비압축 시청각 컨텐트의 일부에 기초하여 상기 일부의 비디오 특징 정보, 오디오 특징 정보 중 적어도 하나를 추출하는 단계, 상기 비디오 특징 정보, 상기 오디오 특징 정보 중 적어도 하나를 포함하는 질의에 대한 응답을 통해 상기 비압축 시청각 컨텐트의 컨텐츠 정보를 획득하는 단계, 상기 컨텐츠 정보에 기초하여 부가 서비스를 획득하는 단계 및 상기 디스플레이부를 통해 상기 부가 서비스를 재생하는 단계를 포함한다.

Description

영상 표시 장치 및 그 동작 방법{IMAGE DISPLAY APPARATUS AND METHOD FOR OPERATING SAME}
본 발명은 영상 표시 장치 및 그 동작 방법에 관한 것이다.
디지털 방송이 활성화됨에 따라, 방송국은 메인 시청각 컨텐트를 송출하면서, 이 메인 시청각 컨텐트와 연계하여 이용할 수 있거나 이 메인 시청각 컨텐트와는 독립적인 부가 서비스 데이터(enhanced service data)를 함께 송출한다.
그러나 현재의 방송 환경에서는 각 가정의 영상 표시 장치가 방송 신호를 공중파를 통해 직접 수신하는 경우가 적다. 오히려, 각 가정의 영상 표시 장치는 셋톱박스와 같은 방송 수신 장치에 연결되어 있어서, 이 방송 수신 장치가 제공하는 비압축 시청각 컨텐트를 재생하는 경우가 많다.
한편, 방송 수신 장치는 멀티채널 비디오 분배자(multichannel video programming distributor, MVPD)라고 불리는 서버로부터 컨텐츠를 제공받는다. 이 멀티채널 비디오 분배자는 방송국으로부터 방송 신호를 수신하고 수신한 방송 신호로부터 컨텐츠를 추출한 후, 자신이 송출하기에 적합한 형태의 신호로 변환하여 변환된 신호를 방송 수신 장치에 제공한다. 이 과정에서, 멀티채널 비디오 분배자는 추출한 부가 서비스 데이터를 제외할 수도 있고, 또 다른 부가 서비스 데이터를 추가할 수도 있기 때문에, 방송 수신 장치는 MVPD에 종속된 부가 서비스를 제공받을 수 밖에 없다.
방송 수신 장치 또한 멀티채널 비디오 분배자로부터 수신한 신호로부터 메인 시청각 데이터를 추출하여 비압축 시청각 데이터만을 영상 표시 장치에게 제공하므로, 방송 수신 장치 통제하의 부가 서비스만이 이용가능할 뿐, 영상 표시 장치 통제하의 부가 서비스는 이루어 질 수 없다.
본 발명은 정확한 컨텐트 식별을 가능하게 하는 영상 표시 장치와 그 동작 방법을 제공하기 위한 것이다.
본 발명의 한 실시예는 영상 표시 장치의 동작 방법에 관한 것으로 디스플레이부를 포함하는 영상 표시 장치의 동작 방법에 있어서, 비압축 시청각 컨텐트를 획득하는 단계, 상기 디스플레이부를 통해 상기 비압축 시청각 컨텐트를 재생하는 단계, 상기 비압축 시청각 컨텐트의 일부에 기초하여 상기 일부의 비디오 특징 정보, 오디오 특징 정보 중 적어도 하나를 추출하는 단계, 상기 비디오 특징 정보, 상기 오디오 특징 정보 중 적어도 하나를 포함하는 질의에 대한 응답을 통해 상기 비압축 시청각 컨텐트의 컨텐츠 정보를 획득하는 단계, 상기 컨텐츠 정보에 기초하여 부가 서비스를 획득하는 단계 및 상기 디스플레이부를 통해 상기 부가 서비스를 재생하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따른 영상 표시 장치는 디스플레이부, 비압축 시청각 컨텐트를 획득하는 수신부, 상기 비압축 시청각 컨텐트의 일부에 기초하여 상기 일부의 비디오 특징 정보, 오디오 특징 정보 중 적어도 하나를 추출하고, 상기 비디오 특징 정보, 상기 오디오 특징 정보 중 적어도 하나를 포함하는 질의에 대한 응답을 통해 상기 비압축 시청각 컨텐트의 컨텐츠 정보를 획득하여, 상기 컨텐츠 정보에 기초하여 부가 서비스를 획득하는 부가 서비스 관리부 및 상기 비압축 시청각 컨텐트와 상기 부가 서비스를 상기 디스플레이부에 재생하는 재생 제어부를 포함한다.
본 발명의 실시 예는 영상 표시 장치에서 재생되는 컨텐트가 오디오 신호를 포함하지 않거나, 복수의 오디오 신호를 포함하는 경우에도 비디오 특징 정보에 기초하여 해당 컨텐트를 식별할 수 있다.
또한, 본 발명의 실시 예에 따르면, 동일한 프로그램이 서로 다른 채널에서 송출되는 경우에도 방송사 로고 등의 비디오 특징 정보에 기초하여 해당 컨텐트를 식별할 수 있다.
또한, 본 발명의 실시 예에 따르면, 해당 컨텐트의 비디오 영상에 셋톱 박스의 온 스크린 디스플레이가 겹쳐지는 경우에는 오디오 특징 정보 또는 샘플링 윈도우에 기초하여 해당 컨텐트를 식별할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 네트워크 토폴로지를 보여주는 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 워터마크 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 워터마크 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
도 4는 본 발명의 일 실시 예에 따른 워터마크 기반의 컨텐츠 인식 타이밍을 보여준다.
도 5는 본 발명의 일 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 6은 본 발명의 일 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
도 7은 본 발명의 일 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램(schema diagram)을 보여준다.
도 8은 본 발명의 일 실시 예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 9는 본 발명의 일 실시 예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
도 10은 본 발명의 일 실시 예에 따른 영상 표시 장치의 구조를 보여주는 블록도이다.
도 11은 본 발명의 실시 예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 흐름도이다.
도 12는 본 발명의 실시 예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 개념도이다.
도 13은 본 발명의 실시 예에 따른 자동 재생 애플리케이션의 실행 화면을 보여준다.
도 14는 본 발명의 실시 예에 따른 컨텐츠 제공자 애플리케이션의 실행 화면을 보여준다.
도 15는 본 발명의 실시 예에 따른 ACR 기능의 제어를 위한 사용자 인터페이스를 보여준다.
도 16은 본 발명의 실시 예에 따른 영상 표시 장치의 동작 방법의 흐름도이다.
도 17은 본 발명의 실시 예에 따른 네트워크 토폴로지를 보여준다.
도 18은 본 발명의 다양한 실시 예에 따른 Live+ 애플리케이션을 보여준다.
도 19는 본 발명의 다양한 실시 예에 따른 Live+ 애플리케이션을 실행하는 방법을 보여준다.
도 20은 본 발명의 실시 예에 따른 Live+ 애플리케이션의 탭의 기능을 보여준다.
도 21은 본 발명의 일 실시 예에 따른 제3자 서버(90)의 아키텍처를 보여준다.
도 22는 본 발명의 실시 예에 따른 자동 실행 애플리케이션을 위한 영상 표시 장치의 동작을 보여주는 래더 다이어그램이다.
도 23은 본 발명의 일 실시 예에 따른 채널-독립 애플리케이션을 위한 영상 표시 장치의 동작을 보여주는 래더 다이어그램이다.
도 24는 본 발명의 또 다른 실시 예에 따른 채널-독립 애플리케이션을 위한 영상 표시 장치의 동작을 보여주는 래더 다이어그램이다.
도 25는 본 발명의 실시 예에 따른 영상 표시 장치의 개념도를 보여준다.
도 26은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 27은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 28은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 29는 본 발명의 실시 예에 따른 핑거프린트 기능의 제어를 위한 사용자 인터페이스를 보여준다.
도 30은 본 발명의 일 실시 예에 따른 핑거프린트 주기 변화를 설명하기 위한 도면이다.
도 31은 본 발명의 또 다른 실시 예에 따른 핑거프린트 주기 변화를 설명하기 위한 도면이다.
도 32는 본 발명의 일 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 컨텐트 인식을 위한 데이터 흐름을 보여주는 래더 다이어그램이다.
도 33은 본 발명의 또 다른 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램을 보여준다.
도 34는 본 발명의 일 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지에 포함된 복수의 영상 표시 장치 각각의 핑거프린트 주기를 설명하기 위한 도면이다.
도 35는 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 컨텐트 인식을 위한 데이터 흐름을 보여주는 래더 다이어그램이다.
도 36은 본 발명의 또 다른 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램을 보여준다.
도 37은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 컨텐트 인식을 위한 데이터 흐름을 보여주는 래더 다이어그램이다.
도 38은 본 발명의 또 다른 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램을 보여준다.
도 39는 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 컨텐트 인식을 위한 데이터 흐름을 보여주는 래더 다이어그램이다.
도 40은 본 발명의 또 다른 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램을 보여준다.
도 41은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 42는 본 발명의 또 다른 실시 예에 따른 워트마크 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
이하, 본 발명과 관련된 이동 단말기에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "엔진", "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
다음은 도 1 내지 도 9를 참고하여 본 발명의 일 실시 예에 따른 네트워크 토폴로지를 설명한다.
도 1은 본 발명의 일 실시 예에 따른 네트워크 토폴로지를 보여주는 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 네트워크 토폴로지는 컨텐츠 제공 서버(10), 컨텐츠 인식 서비스 제공 서버(20), 멀티채널 비디오 분배 서버(30), 부가 서비스 정보 제공 서버(40), 복수의 부가 서비스 제공 서버(50), 방송 수신 장치(60), 네트워크(70), 영상 표시 장치(100)를 포함한다.
컨텐츠 제공 서버(10)는 방송국 등에 해당할 수 있으며, 메인 시청각 컨텐트(main audio-visual content)를 포함하는 방송 신호를 방송한다. 방송 신호는 부가 서비스를 더 포함할 수 있다. 부가 서비스는 메인 시청각 컨텐트와 관련이 있을 수도 있고, 관련이 없을 수도 있다. 부가 서비스는 서비스 정보(service information), 메타데이터(metadata), 부가 데이터, 컴파일된 실행 파일, 웹 애플리케이션, HTML(Hypertext Markup Language) 문서, XML 문서, CSS(cascading style sheet) 문서, 오디오 파일, 비디오 파일, ATSC 2.0 컨텐트, URL(Uniform Resource Locator)과 같은 주소 등의 형태를 가질 수 있다. 하나 이상의 컨텐츠 제공 서버가 존재할 수 있다.
컨텐츠 인식 서비스 제공 서버(20)는 영상 표시 장치(100)가 메인 시청각 컨텐트에 기초하여 컨텐트를 인식할 수 있게 하는 컨텐트 인식 서비스를 제공한다. 컨텐츠 인식 서비스 제공 서버(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)는 생성한 비압축 메인 시청각 컨텐트를 영상 표시 장치(100)의 외부 입력 포트 등을 통해 영상 표시 장치(100)에 제공한다.
부가 서비스 정보 제공 서버(40)는 영상 표시 장치의 요청에 응답하여 메인 시청각 컨텐트와 관련된 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 제공한다. 하나 이상의 부가 서비스 주소 제공 서버가 존재할 수 있다. 부가 서비스 정보 제공 서버(40)는 복수의 이용가능한 부가 서비스 중에서 가장 우선순위가 높은 부가 서비스를 위한 부가 서비스 정보를 제공할 수도 있다.
부가 서비스 제공 서버(50)는 영상 표시 장치의 요청에 응답하여 메인 시청각 컨텐트와 관련하여 이용할 수 있는 하나 이상의 부가 서비스를 제공한다. 하나 이상의 부가 서비스 제공 서버가 존재할 수 있다.
영상 표시 장치(100)는 텔레비전, 노트북, 핸드폰, 스마트폰 등과 같이 디스플레이부를 장치일 수 있다. 영상 표시 장치(100)는 방송 수신 장치(60)로부터 비압축 메인 시청각 컨텐트를 수신할 수도 있고, 컨텐츠 제공 서버(10) 또는 멀티채널 비디오 분배 서버(30)로부터 부호화된 메인 시청각 컨텐트를 포함하는 방송 신호를 수신할 수 도 있다. 영상 표시 장치(100)는 네트워크(70)를 통해 컨텐츠 인식 서비스 제공 서버(20)로부터 컨텐츠 인식 서비스를 제공받을 수 있고, 네트워크(70)를 통해 부가 서비스 정보 제공 서버(40)로부터 메인 시청각 컨텐트와 관련하여 이용할 수 있는 하나 이상의 부가 서비스의 주소를 받을 수 있으며, 부가 서비스 제공 서버(50)로부터 메인 시청각 컨텐트와 관련하여 이용할 수 있는 하나 이상의 부가 서비스를 제공받을 수 있다.
컨텐츠 제공 서버(10), 컨텐츠 인식 서비스 제공 서버(20), 멀티채널 비디오 분배 서버(30), 부가 서비스 정보 제공 서버(40), 복수의 부가 서비스 제공 서버(50) 중 2 이상은 하나의 서버의 형태로 결합될 수도 있고, 한 사업자에 의해 운영될 수도 있다.
도 2는 본 발명의 일 실시 예에 따른 워터마크 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 네트워크 토폴로지는 워터마크 서버(21)를 더 포함한다.
도 2에 도시된 바와 같은 워터마크 서버(21)는 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 컨텐츠 정보를 삽입한다. 멀티채널 비디오 분배 서버(30)는 변형된 메인 시청각 컨텐트를 포함하는 방송 신호를 수신하여 분배한다. 특히, 워터마크 서버는 이하에서 설명하는 바와 같은 디지털 워터마킹 기술을 이용할 수 있다.
디지털 워터마크는 삭제하기 어려운 방법으로 디지털 신호에 정보를 삽입하는 프로세스이다. 예를 들면, 디지털 신호는 오디오, 사진, 또는 비디오일 수 있다. 이 디지털 신호가 복사되면, 삽입된 정보 또한 복사본에 담아진다. 한 디지털 신호가 동시에 다른 여러 개의 워터마크를 운반할 수 있다.
보이는 워터마킹(visible watermarking)에서, 삽입되는 정보는 사진 또는 비디오에서 눈으로 식별가능하다. 전형적으로, 삽입된 정보는 미디어의 소유자를 식별하는 텍스트 또는 로고이다. 텔레비전 방송국이 자신의 로고를 전송되는 비디오의 코너에 추가하면, 이것이 눈으로 식별가능한 워터마크이다.
눈으로 식별 불가능한 워터마킹(invisible watermarking)에서, 정보는 디지털 데이터로서 오디오, 사진, 또는 비디오에 추가되지만, 일정 량의 정보가 숨겨져 있다는 사실은 감지할 수 있다하더라도 그러한 정보는 인지할 수는 없다. 이러한 눈으로 식별불가능한 워터마킹을 통해 비밀 메시지가 전달될 수도 있다.
워터마킹의 한 응용은 디지털 미디어의 불법 복제를 막기 위한 저작권 보호 시스템에 있다. 예컨대, 복제 장치는 디지털 미디어의 복제 전에 디지털 미디어로부터 워터마크를 얻고, 워터마크의 내용에 기초하여 복제를 할지 말지를 결정할 수 있다.
워터마킹의 또 다른 응용은 디지털 미디어의 출처 추적에 있다. 배포 경로 상의 각 지점에서 워터마크가 디지털 미디어에 임베딩된다. 나중에 이와 같은 디지털 미디어가 발견된다면, 이 디지털 미디어로부터 워터마크가 추출될 수 있고, 워터마크의 내용으로부터 배포의 출처를 파악할 수 있다.
디지털 미디어에 대한 설명이 눈으로 식별불가능한 워터마킹의 또 다른 응용이다.
디지털 미디어를 위한 파일 포멧이 메타데이터라고 불리는 추가적인 정보를 포함할 수 있는데, 디지털 워터마크는 디지털 미디어의 시청각 신호 자체로 전달된다는 점에서 메타데이터와는 구별된다.
워터마킹 방법으로 스프레드 스펙트럼, 양자화, 앰플리튜드 변조가 있다.
마킹되는 신호가 추가적인 수정에 의해 얻어진다면, 워터마킹 방법은 스프레드 스펙트럼에 해당한다. 스프레드 스펙트럼 워터마크는 꽤 강인하다고 알려져 있지만, 워터마크가 임베딩되는 호스트 신호에 간섭을 주기 때문에 많은 정보가 실리지는 않는다.
마킹되는 신호가 양자화에 의해 얻어진다면, 워터마킹 방법은 양자화 타입에 해당한다. 양자화 워터마크는 강인성은 낮지만, 꽤 많은 정보를 실을 수 있다.
마킹되는 신호가 공간 도메인에서 스프레드 스펙트럼과 유사한 추가 수정 방법으로 얻어진다면, 워터마킹 방법은 앰플리튜드 변조에 해당한다.
도 3은 본 발명의 일 실시 예에 따른 워터마크 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 컨텐츠 제공 서버(10)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 전송한다(S101).
워터마크 서버(21)는 컨텐츠 제공 서버(10)가 제공하는 방송 신호를 수신하고, 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 로고와 같은 보이는 워터마크(visible watermark)를 삽입하거나, 메인 시청각 컨텐트에 워터마크 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입하고, 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 MVPD(30)에 제공한다(S103).
보이지 않는 워터마크를 통해 삽입되는 워터마크 정보는 워터마크 용도, 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다. 워터마크 용도는 무단 복제 방지, 시청률 조사, 부가 서비스 획득 중 하나를 나타낼 수 있다.
컨텐츠 정보는 메인 시청각 컨텐트를 제공하는 컨텐츠 제공자의 식별 정보, 메인 시청각 컨텐트 식별 정보, 메인 시청각 컨텐트 등급 정보, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보, 메인 시청각 컨텐트가 방송되는 채널의 이름, 메인 시청각 컨텐트가 방송되는 채널의 로고, 메인 시청각 컨텐트가 방송되는 채널의 설명, 이용 정보 보고 주소, 이용 정보 보고 주기, 이용 정보 획득을 위한 최소 이용 시간, 메인 시청각 컨텐트와 관련하여 이용가능한 부가 서비스 정보 중 하나 이상을 포함할 수 있다.
영상 표시 장치(100)가 컨텐츠 정보의 획득을 위하여 워터마크를 이용하였다면, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보는 이용된 워터마크가 내삽(embedding)된 컨텐트 구간의 시간 정보일 수 있다. 영상 표시 장치(100)가 컨텐츠 정보의 획득을 위하여 핑거프린트를 이용하였다면, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보는 특징 정보가 추출된 컨텐트 구간의 시간 정보일 수 있다. 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시간 정보는 컨텐츠 정보 획득에 사용된 컨텐트 구간의 시작 시간, 컨텐츠 정보 획득에 사용된 컨텐트 구간의 지속 시간(duration), 컨텐츠 정보 획득에 사용된 컨텐트 구간의 종료 시간 중 하나 이상을 포함할 수 있다.
이용 정보 보고 주소는 메인 시청각 컨텐트 시청 정보 보고 주소, 부가 서비스 이용 정보 보고 주소 중 하나 이상을 포함할 수 있다. 이용 정보 보고 주기는 메인 시청각 컨텐트 시청 정보 보고 주기, 부가 서비스 이용 정보 보고 주기 중 하나 이상을 포함할 수 있다. 이용 정보 획득을 위한 최소 이용 시간은 메인 시청각 컨텐트 시청 정보 획득을 위한 최소 시청 시간, 부가 서비스 이용 정보 추출을 위한 최소 사용 시간 중 하나 이상을 포함할 수 있다.
메인 시청각 컨텐트가 최소 시청 시간 이상 시청된 경우에 기초하여 영상 표시 장치(100)는 메인 시청각 컨텐트의 시청 정보를 획득하고, 메인 시청각 컨텐트 시청 정보 보고 주기에서 메인 시청각 컨텐트 시청 정보 보고 주소로 추출한 시청 정보를 보고할 수 있다.
부가 서비스가 최소 사용 시간 이상 사용된 경우에 기초하여 영상 표시 장치(100)는 부가 서비스 이용 정보를 획득하고, 부가 서비스 이용 정보 보고 주기에서 부가 서비스 이용 정보 보고 주소로 추출한 이용 정보를 보고할 수 있다.
부가 서비스 정보는 부가 서비스가 존재하는지에 대한 정보, 부가 서비스 주소 제공 서버 주소, 각각의 이용가능한 부가 서비스의 획득 경로, 각각의 이용가능한 부가 서비스를 위한 주소, 각각의 이용가능한 부가 서비스의 시작 시간, 각각의 이용가능한 부가 서비스의 종료 시간, 각각의 이용가능한 부가 서비스의 수명 주기(lifetime), 각각의 이용가능한 부가 서비스의 획득 모드, 각각의 이용가능한 부가 서비스 위한 요청 주기, 각각의 이용가능한 부가 서비스의 우선 순위 정보, 각각의 이용가능한 부가 서비스의 설명, 각각의 이용가능한 부가 서비스의 항목(category), 이용 정보 보고 주소, 이용 정보 보고 주기, 이용 정보 획득을 위한 최소 이용 시간 중 하나 이상을 포함할 수 있다.
이용가능한 부가 서비스의 획득 경로는 IP 또는 ATSC M/H(Advanced Television Systems Committee - Mobile/Handheld)를 나타낼 수 있다. 이용가능한 부가 서비스의 획득 경로가 ATSC M/H인 경우에, 부가 서비스 정보는 주파수 정보, 채널 정보를 더 포함할 수 있다. 각각의 이용가능한 부가 서비스의 획득 모드는 Push 또는 Pull을 나타낼 수 있다.
한편, 워터마크 서버(21)는 메인 시청각 컨텐트의 로고에 워터마크 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입할 수 있다.
예컨대, 워터마크 서버(21)는 로고의 일정 위치에 바코드를 삽입할 수 있다. 이때 로고의 일정 위치는 로고가 디스플레이되는 구역의 하단 1 라인에 해당할 수 있다. 영상 표시 장치(100)는 이와 같이 바코드가 삽입된 로고를 포함하는 메인 시청각 컨텐트를 수신하는 경우에, 바코드를 디스플레이하지 않을 수 있다.
또한, 워터마크 서버(21)는 로고의 메타데이터 형태로 워터마크 정보를 삽입할 수 있다. 이때 로고의 형상은 유지될 수 있다.
또한, 워터마크 서버(21)는 M개의 프레임의 로고의 각각에 N 비트의 워터마크 정보를 삽입할 수 있다. 즉, 워터마크 서버(21)는 M개의 프레임을 통해 M*N개의 워터마크 정보를 삽입할 수 있다.
MVPD(30)는 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 수신하고, 다중화 신호를 생성하여 방송 수신 장치(60)에 제공한다(S105). 이때 다중화 신호는 수신한 부가 서비스를 배제하거나 새로운 부가 서비스를 포함할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고 튜닝한 채널의 신호를 수신하고, 수신된 방송 신호를 복조하고 채널 복호화(channel decoding)하고 시청각 복호(AV decoding)를 수행하여 비압축 메인 시청각 컨텐트를 생성한 후, 생성된 비압축 메인 시청각 컨텐트를 영상 표시 장치(100)에 제공한다(S106).
한편, 컨텐츠 제공 서버(10) 또한 메인 시청각 컨텐트를 포함하는 방송 신호를 무선 채널 등을 통해 방송한다(S107).
또한, MVPD(30)는 방송 수신 장치(60)를 통하지 않고 직접 영상 표시 장치(100)에 메인 시청각 컨텐트를 포함하는 방송 신호를 전송할 수도 있다(S108).
영상 표시 장치(100)는 셋톱 박스와 같은 방송 수신 장치(60)를 통해 비압축 메인 시청각 컨텐트를 수신할 수 있다. 또는, 영상 표시 장치(100)는 무선 채널을 통해 방송 신호를 수신하고 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 얻을 수 있다. 또는, 영상 표시 장치(100)는 MVPD(30)로부터 방송 신호를 수신하고, 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 수신할 수도 있다. 영상 표시 장치(100)는 획득한 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 워터마크 정보를 추출한다. 워터마크 정보가 로고에 해당하면, 영상 표시 장치(100)는 복수의 로고와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 로고에 해당하는 워터마크 서버 주소를 확인한다. 워터마크 정보가 로고에 해당하는 경우에, 영상 표시 장치(100)는 로고만을 가지고서는 메인 시청각 컨텐츠를 식별할 수 없다. 또한, 워터마크 정보가 컨텐트 정보를 포함하고 있지 않은 경우에도 영상 표시 장치(100)는 메인 시청각 컨텐츠를 식별할 수 없으나, 워터마크 정보가 컨텐츠 제공자 식별 정보나 워터마크 서버 주소를 포함할 수 있다. 워터마크 정보가 컨텐츠 제공자 식별 정보를 포함하는 경우에, 영상 표시 장치(100)는 복수의 컨텐츠 제공자 식별 정보와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 컨텐츠 제공자 식별 정보에 해당하는 워터마크 서버 주소를 확인할 수 있다. 이와 같이, 영상 표시 장치(100)는 워터마크 정보만으로 메인 시청각 컨텐트를 식별할 수 없는 경우에, 획득한 워터마크 서버 주소에 해당하는 워터마크 서버(21)에 접속하여 제1 질의를 전송한다(S109).
워터마크 서버(21)는 제1 질의에 대한 제1 응답을 제공한다(S111). 이 제1 응답은 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다.
워터마크 정보와 제1 응답이 부가 서비스 주소를 포함하고 있지 않다면, 영상 표시 장치(100)는 부가 서비스을 획득할 수 없다. 그러나 워터마크 정보와 제1 응답이 부가 서비스 주소 제공 서버 주소를 포함할 수 있다. 이와 같이, 영상 표시 장치(100)는 워터마크 정보와 제1 응답을 통해 부가 서비스 주소나 부가 서비스를 획득하지 못하였고 부가 서비스 주소 제공 서버 주소를 획득하였다면, 영상 표시 장치(100)는 획득한 부가 서비스 주소 제공 서버 주소에 해당하는 부가 서비스 정보 제공 서버(40)에 접속하여 컨텐츠 정보를 포함하는 제2 질의를 전송한다(S119).
부가 서비스 정보 제공 서버(40)는 제2 질의의 컨텐츠 정보와 관련된 하나 이상의 이용가능한 부가 서비스를 검색한다. 이후, 부가 서비스 정보 제공 서버(40)는 제2 질의에 대한 제2 응답으로 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 영상 표시 장치(100)에 제공한다(S121).
영상 표시 장치(100)는 워터마크 정보, 제1 응답 또는 제2 응답을 통해 하나 이상의 이용가능한 부가 서비스 주소를 획득하였다면, 이 하나 이상의 이용가능한 부가 서비스 주소에 접속하여 부가 서비스를 요청하고(S123), 부가 서비스를 획득한다(S125).
도 4는 본 발명의 일 실시 예에 따른 워터마크 기반의 컨텐츠 인식 타이밍을 보여준다.
도 4에 도시된 바와 같이, 방송 수신 장치(60)가 턴온되고 채널을 튜닝하고, 영상 표시 장치(100)가 외부 입력 포트(111)를 통해 방송 수신 장치(60)로부터 튜닝된 채널의 메인 시청각 컨텐트를 수신하면, 영상 표시 장치(100)는 메인 시청각 컨텐트의 워터마크로부터 컨텐츠 제공자 식별자(또는 방송국 식별자)를 감지할 수 있다. 이후, 영상 표시 장치(100)는 감지한 컨텐츠 제공자 식별자에 기초하여 메인 시청각 컨텐트의 워터마크로부터 컨텐츠 정보를 감지할 수 있다.
이때, 도 4에 도시된 바와 같이, 컨텐츠 제공자 식별자의 감지가능 주기와 컨텐츠 정보의 감지가능 주기는 다를 수 있다. 특히, 컨텐츠 제공자 식별자의 감지가능 주기는 컨텐츠 정보의 감지가능 주기보다 짧을 수 있다. 이를 통해, 영상 표시 장치(100)는 필요한 정보만을 감지하기 위한 효율적인 구성을 가질 수 있다.
도 5는 본 발명의 일 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 5에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 네트워크 토폴로지는 핑거프린트 서버(22)를 더 포함한다.
도 5에 도시된 바와 같은 핑거프린트 서버(22)는 메인 시청각 컨텐트에 변형을 가하지는 않으며 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하여 저장한다. 이후에 핑거프린트 서버(22)는 영상 표시 장치(100)로부터의 특징 정보를 수신하면, 수신한 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공한다.
도 6은 본 발명의 일 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 컨텐츠 제공 서버(10)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 전송한다(S201).
핑거프린트 서버(22)는 컨텐츠 제공 서버(10)가 제공하는 방송 신호를 수신하고, 메인 시청각 컨텐트의 복수의 프레임 구간 또는 복수의 오디오 구간으로부터 복수의 특징 정보를 추출하며, 복수의 특징 정보에 각각 대응하는 복수의 질의 결과를 위한 데이터베이스를 구축한다(S203). 질의 결과는 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다.
MVPD(30)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 수신하고, 다중화 신호를 생성하여 방송 수신 장치(60)에 제공한다(S205). 이때 다중화 신호는 수신한 부가 서비스를 배제하거나 새로운 부가 서비스를 포함할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고 튜닝한 채널의 신호를 수신하고, 수신된 방송 신호를 복조하고 채널 복호화(channel decoding)하고 시청각 복호(AV decoding)를 수행하여 비압축 메인 시청각 컨텐트를 생성한 후, 생성된 비압축 메인 시청각 컨텐트를 영상 표시 장치(100)에 제공한다(S206).
한편, 컨텐츠 제공 서버(10) 또한 메인 시청각 컨텐트를 포함하는 방송 신호를 무선 채널 등을 통해 방송한다(S207).
또한, MVPD(30)는 방송 수신 장치(60)를 통하지 않고 직접 영상 표시 장치(100)에 메인 시청각 컨텐트를 포함하는 신호를 전송할 수도 있다(S208).
영상 표시 장치(100)는 셋톱 박스(60)를 통해 비압축 메인 시청각 컨텐트를 수신할 수 있다. 또는, 영상 표시 장치(100)는 무선 채널을 통해 방송 신호를 수신하고 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 얻을 수 있다. 또는, 영상 표시 장치(100)는 MVPD(30)로부터 방송 신호를 수신하고, 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 수신할 수도 있다. 영상 표시 장치(100)는 획득한 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출한다(S213).
영상 표시 장치(100)는 미리 설정된 핑거프린트 서버 주소에 해당하는 핑거프린트 서버(22)에 접속하여 추출한 특징 정보를 포함하는 제1 질의를 전송한다(S215).
핑거프린트 서버(22)는 제1 질의에 대한 제1 응답으로서 질의 결과를 제공한다(S217). 만약 제1 응답이 실패에 해당한다면, 영상 표시 장치(100)는 또 다른 핑거프린트 서버 주소에 해당하는 핑거프린트 서버(22)에 접속하여 추출한 특징 정보를 포함하는 제1 질의를 전송할 수 있다.
핑거프린트 서버(22)는 질의 결과로서 XML (Extensible Markup Language) 문서를 제공할 수 있다. 질의 결과를 담는 XML 문서의 예를 도 7과 표 1을 참고하여 설명한다.
도 7은 본 발명의 일 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램(schema diagram)을 보여준다.
도 7에 도시된 바와 같이, 질의 결과를 담는 ACR-Resulttype은 ResultCode 속성과 ContentID, NTPTimestamp, SignalingChannelInformation, ServiceInformation 엘리먼트를 갖는다.
예컨대, ResultCode 속성이 200의 값을 가지면, 이는 질의 결과가 성공임을 의미할 수 있다. ResultCode 속성이 404의 값을 가지면, 이는 질의 결과가 실패임을 의미할 수 있다.
SignalingChannelInformation 엘리먼트는 SignalingChannelURL 엘리먼트를 갖고, SignalingChannelURL 엘리먼트는 UpdateMode, PollingCycle 속성을 갖는다. UpdateMode 속성은 Pull 값 또는 Push 값을 가질 수 있다.
ServiceInformation 엘리먼트는 ServiceName, ServiceLogo, ServiceDescription 엘리먼트를 갖는다.
표 1은 이와 같은 질의 결과를 담는 ACR-ResultType의 XML Schema를 보여준다.
Figure pct00001
ContentID 엘리먼트로서, 아래의 표 2에서 보여주는 바와 같은 ATSC 컨텐트 식별자(ATSC content identifier)가 이용될 수 있다.
Figure pct00002
표 2에서 보여지는 바와 같이, 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는 컨텐트 식별자를 나타낸다. 영상 표시 장치(100)는 매일 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> 는 표 2에 정의되어 있는 content_id field의 base64 부호이고, <unique_for> 는 표 2에 정의되어 있는 unique_for field의 십진수 부호이며, <end_of_day> 는 표 2에 정의되어 있는 end_of_day field의 십진수 부호이다.
이하에서는 다시 도 6을 설명한다.
질의 결과가 부가 서비스 주소나 부가 서비스를 포함하고 있지 않고 부가 서비스 주소 제공 서버 주소를 포함한다면, 영상 표시 장치(100)는 획득한 부가 서비스 주소 제공 서버 주소에 해당하는 부가 서비스 정보 제공 서버(40)에 접속하여 컨텐츠 정보를 포함하는 제2 질의를 전송한다(S219).
부가 서비스 정보 제공 서버(40)는 제2 질의의 컨텐츠 정보와 관련된 하나 이상의 이용가능한 부가 서비스를 검색한다. 이후, 부가 서비스 정보 제공 서버(40)는 제2 질의에 대한 제2 응답으로 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 영상 표시 장치(100)에 제공한다(S221).
영상 표시 장치(100)는 제1 응답 또는 제2 응답을 통해 하나 이상의 이용가능한 부가 서비스 주소를 획득하였다면, 이 하나 이상의 이용가능한 부가 서비스 주소에 접속하여 부가 서비스를 요청하고(S223), 부가 서비스를 획득한다(S225).
UpdateMode 속성이 Pull 값을 가지는 경우, 영상 표시 장치(100)는 SignalingChannelURL을 통해 HTTP request를 부가서비스 제공 서버(50)에 전송하여 이에 대한 응답으로 PSIP 바이너리 스트림을 포함하는 HTTP response를 부가서비스 제공 서버(50)로부터 수신한다. 이 경우 영상 표시 장치(100)는 PollingCycle 속성으로 지정되는 Polling 주기에 따라 HTTP request를 전송할 수 있다. 또한, SignalingChannelURL 엘리먼트는 업데이트 시간 속성을 가질 수도 있다. 이 경우, 영상 표시 장치(100)는 업데이트 시간 속성으로 지정되는 업데이트 시간에서 HTTP request를 전송할 수 있다.
UpdateMode 속성이 Push 값을 가지는 경우, 영상 표시 장치(100)는 XMLHTTPRequest API 를 활용하여 비동기적으로 서버로부터 업데이트를 수신할 수 있다. 영상 표시 장치(100)가 서버로 XMLHTTPRequest object를 통해 비동기적인 request를 한 후에 서버가 시그널링 정보에 변경이 있을 경우에 이 채널을 통해 response로 시그널링 정보를 제공하는 방안이다. 세션의 대기 시간에 제한이 있을 경우에는 session timeout respond를 발생시키고, 바로 수신기는 이를 인지하여 재요청하여서 수신기와 서버간의 시그널링 채널을 항시 유지할 수 있다.
도 8은 본 발명의 일 실시 예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 8에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 네트워크 토폴로지는 워터마크 서버(21)와 핑거프린트 서버(22)를 더 포함한다.
도 8에 도시된 바와 같은 워터마크 서버(21)는 메인 시청각 컨텐트에 컨텐츠 제공자 식별 정보를 삽입한다. 워터마크 서버(21)는 로고와 같이 보이는 워터마크로서 컨텐츠 제공자 식별 정보를 메인 시청각 컨텐트에 삽입할 수도 있고, 보이지 않는 워터마크로서 컨텐츠 제공자 식별 정보를 메인 시청각 컨텐트에 삽입할 수도 있다.
핑거프린트 서버(22)는 메인 시청각 컨텐트에 변형을 가하지는 않으며 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하여 저장한다. 이후에 핑거프린트 서버(22)는 영상 표시 장치(100)로부터의 특징 정보를 수신하면, 수신한 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공한다.
도 9는 본 발명의 일 실시 예에 따른 워터마크와 핑거프린트 기반의 네트워크 토폴로지 내의 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 컨텐츠 제공 서버(10)는 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 전송한다(S301).
워터마크 서버(21)는 컨텐츠 제공 서버(10)가 제공하는 방송 신호를 수신하고, 메인 시청각 컨텐트에 변형을 가하여 메인 시청각 컨텐트에 로고와 같은 보이는 워터마크(visible watermark)를 삽입하거나, 메인 시청각 컨텐트에 워터마크 정보를 보이지 않는 워터마크(invisible watermark)로서 삽입하고, 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 MVPD(30)에 제공한다(S303). 보이지 않는 워터마크를 통해 삽입되는 워터마크 정보는 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다. 컨텐츠 정보와 부가 서비스 정보는 앞서 설명한 바와 같다.
MVPD(30)는 워터마킹된 메인 시청각 컨텐트와 부가 서비스를 포함하는 방송 신호를 수신하고, 다중화 신호를 생성하여 방송 수신 장치(60)에 제공한다(S305). 이때 다중화 신호는 수신한 부가 서비스를 배제하거나 새로운 부가 서비스를 포함할 수 있다.
방송 수신 장치(60)는 사용자가 선택한 채널을 튜닝하고 튜닝한 채널의 신호를 수신하고, 수신된 방송 신호를 복조하고 채널 복호화(channel decoding)하고 시청각 복호(AV decoding)를 수행하여 비압축 메인 시청각 컨텐트를 생성한 후, 생성된 비압축 메인 시청각 컨텐트를 영상 표시 장치(100)에 제공한다(S306).
한편, 컨텐츠 제공 서버(10) 또한 메인 시청각 컨텐트를 포함하는 방송 신호를 무선 채널 등을 통해 방송한다(S307).
또한, MVPD(30)는 방송 수신 장치(60)를 통하지 않고 직접 영상 표시 장치(100)에 메인 시청각 컨텐트를 포함하는 신호를 전송할 수도 있다(S308).
영상 표시 장치(100)는 셋톱 박스(60)를 통해 비압축 메인 시청각 컨텐트를 수신할 수 있다. 또는, 영상 표시 장치(100)는 무선 채널을 통해 방송 신호를 수신하고 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 얻을 수 있다. 또는, 영상 표시 장치(100)는 MVPD(30)로부터 방송 신호를 수신하고, 수신한 방송 신호를 복조하고 복호하여 메인 시청각 컨텐트를 수신할 수도 있다. 영상 표시 장치(100)는 획득한 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 워터마크 정보를 추출한다. 워터마크 정보가 로고에 해당하면, 영상 표시 장치(100)는 복수의 로고와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 로고에 해당하는 워터마크 서버 주소를 확인한다. 워터마크 정보가 로고에 해당하는 경우에, 영상 표시 장치(100)는 로고만을 가지고서는 메인 시청각 컨텐츠를 식별할 수 없다. 또한, 워터마크 정보가 컨텐트 정보를 포함하고 있지 않은 경우에도 영상 표시 장치(100)는 메인 시청각 컨텐츠를 식별할 수 없으나, 워터마크 정보가 컨텐츠 제공자 식별 정보나 워터마크 서버 주소를 포함할 수 있다. 워터마크 정보가 컨텐츠 제공자 식별 정보를 포함하는 경우에, 영상 표시 장치(100)는 복수의 컨텐츠 제공자 식별 정보와 복수의 워터마크 서버 주소의 대응관계로부터 추출한 컨텐츠 제공자 식별 정보에 해당하는 워터마크 서버 주소를 확인할 수 있다. 이와 같이, 영상 표시 장치(100)는 워터마크 정보만으로 메인 시청각 컨텐트를 식별할 수 없는 경우에, 획득한 워터마크 서버 주소에 해당하는 워터마크 서버(21)에 접속하여 제1 질의를 전송한다(S309).
워터마크 서버(21)는 제1 질의에 대한 제1 응답을 제공한다(S311). 이 제1 응답은 핑거프린트 서버 주소, 컨텐츠 정보, 부가 서비스 정보, 이용가능한 부가 서비스 중 하나 이상을 포함할 수 있다. 컨텐츠 정보와 부가 서비스 정보는 앞서 설명한 바와 같다.
워터마크 정보와 제1 응답이 핑거프린트 서버 주소를 포함하고 있다면, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출한다(S313).
영상 표시 장치(100)는 제1 응답 내의 핑거프린트 서버 주소에 해당하는 핑거프린트 서버(22)에 접속하여 추출한 특징 정보를 포함하는 제2 질의를 전송한다(S315).
핑거프린트 서버(22)는 제2 질의에 대한 제2 응답으로서 질의 결과를 제공한다(S317).
질의 결과가 부가 서비스 주소나 부가 서비스를 포함하고 있지 않고 부가 서비스 주소 제공 서버 주소를 포함한다면, 영상 표시 장치(100)는 획득한 부가 서비스 주소 제공 서버 주소에 해당하는 부가 서비스 정보 제공 서버(40)에 접속하여 컨텐츠 정보를 포함하는 제3 질의를 전송한다(S319).
부가 서비스 정보 제공 서버(40)는 제3 질의의 컨텐츠 정보와 관련된 하나 이상의 이용가능한 부가 서비스를 검색한다. 이후, 부가 서비스 정보 제공 서버(40)는 제3 질의에 대한 제3 응답으로 하나 이상의 이용가능한 부가 서비스를 위한 부가 서비스 정보를 영상 표시 장치(100)에 제공한다(S321).
영상 표시 장치(100)는 제1 응답, 제2 응답, 또는 제3 응답을 통해 하나 이상의 이용가능한 부가 서비스 주소를 획득하였다면, 이 하나 이상의 이용가능한 부가 서비스 주소에 접속하여 부가 서비스를 요청하고(S323), 부가 서비스를 획득한다(S325).
다음은 도 10을 참고하여, 본 발명의 실시 예에 따른 영상 표시 장치(100)를 설명한다.
도 10은 본 발명의 일 실시 예에 따른 영상 표시 장치의 구조를 보여주는 블록도이다.
도 10에 도시된 바와 같이, 본 발명의 실시 예에 따른 영상 표시 장치(100)는 방송 신호 수신부(101), 복조부(103), 채널 복호부(105), 역다중화부(107), 시청각 복호부(109), 외부 입력 포트(111), 재생 제어부(113), 재생 장치(120), 부가 서비스 관리부(130), 데이터 송수신부(141), 메모리(150)를 포함한다.
방송 신호 수신부(101)는 컨텐츠 제공 서버(10) 또는 MVPD(30)로부터 방송 신호를 수신한다.
복조부(103)는 수신한 방송 신호를 복조하여 복조된 신호를 생성한다.
채널 복호부(105)는 복조된 신호를 채널 복호하여 채널 복호된 데이터를 생성한다.
역다중화부(107)는 채널 복호된 데이터로부터 메인 시청각 컨텐트와 부가 서비스를 분리한다. 분리된 부가 서비스는 부가 서비스 저장부(152)에 저장된다.
시청각 복호부(109)는 분리된 메인 시청각 컨텐트를 시청각 복호(AV decoding)하여 비압축 메인 시청각 컨텐트를 생성한다.
한편, 외부 입력 포트(111)는 방송 수신 장치(60), 디브이디(digital versatile disk, DVD) 플레이어, 블루레이 디스크 (Blu-ray disc) 플레이어 등으로부터 비압축 메인 시청각 컨텐트를 수신한다. 외부 입력 포트(111)는 DSUB 포트, HDMI (High Definition Multimedia Interface) 포트, DVI (Digital Visual Interface) 포트, 컴포지트(composite) 포트, 컴포넌트(component) 포트, S-Video 포트 중 하나 이상을 포함할 수 있다.
재생 제어부(113)는 시청각 복호부(109)가 생성하는 비압축 메인 시청각 컨텐트 또는 외부 입력 포트(111)로부터 수신한 비압축 메인 시청각 컨텐트 중 적어도 하나를 사용자 선택에 의해 재생 장치(120)에 재생한다.
재생 장치(120)는 디스플레이부(121)와 스피커(123)를 포함한다. 디스플레이부(121)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
부가 서비스 관리부(130)는 메인 시청각 컨텐트의 컨텐츠 정보를 획득하고, 획득된 컨텐츠 정보에 기초하여 이용가능한 부가 서비스를 획득한다. 특히, 앞서 설명한 바와 같이 부가 서비스 관리부(130)는 비압축 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플에 기초하여 메인 시청각 컨텐트의 식별 정보를 획득할 수 있는데, 본 명세서에서는 이를 자동 컨텐츠 인식(automatic contents recognition, ACR)이라 칭하기도 한다.
데이터 송수신부(141)는 ATSC-M/H (Advanced Television Systems Committee - Mobile/Handheld) 채널 송수신부(141a)와 IP 송수신부(141b)를 포함할 수 있다.
메모리(150)는 플래시 메모리 타입(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), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 영상 표시 장치(100)는 인터넷(internet)상에서 상기 메모리(150)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
메모리(150)는 컨텐츠 정보 저장부(151), 부가 서비스 저장부(152), 로고 저장부(153), 설정 정보 저장부(154), 북마크 저장부(155), 사용자 정보 저장부(156), 이용 정보 저장부(157)를 포함할 수 있다.
컨텐츠 정보 저장부(151)는 복수의 특징 정보에 대응하는 복수의 컨텐츠 정보를 저장한다.
부가 서비스 저장부(152)는 복수의 특징 정보에 대응하는 복수의 부가 서비스를 저장할 수도 있고, 복수의 컨텐츠 정보에 대응하는 복수의 부가 서비스를 저장할 수도 있다.
로고 저장부(153)는 복수의 로고를 저장한다. 또, 로고 저장부는 이 복수의 로고에 대응하는 컨텐츠 제공자 식별자 또는 복수의 로고에 대응하는 워터마크 서버 주소를 더 저장할 수도 있다.
설정 정보 저장부(154)는 ACR을 위한 설정 정보를 저장한다.
북마크 저장부(155)는 북마크를 저장한다.
사용자 정보 저장부(156)는 사용자 정보를 저장한다. 사용자 정보는 하나 이상의 서비스를 위한 하나 이상의 계정 정보, 지역 정보, 가족 구성원 정보, 선호 장르 정보, 영상 표시 장치 정보, 이용 정보 제공 범위 중 하나 이상을 포함할 수 있다. 하나 이상의 계정 정보는 이용 정보 측정 서버를 위한 계정 정보, 트위터(twitter), 페이스북(facebook)과 같은 소셜 네트워크 서비스(social network service)의 계정 정보를 포함할 수 있다. 지역 정보는 주소 정보, 우편 번호를 포함할 수 있다. 가족 구성원 정보는 가족 구성원의 수, 각 구성원의 나이, 각 구성원의 성별, 각 구성원의 종교, 각 구성원의 직업 등을 포함할 수 있다. 선호 장르 정보는 스포츠, 영화, 드라마, 교육, 뉴스, 오락, 기타 장르 중에서 하나 이상으로 설정될 수 있다. 영상 표시 장치 정보는 영상 표시 장치의 종류, 제조사, 펌웨어 버전, 해상도, 모델명, OS, 브라우저, 저장 장치 유무, 저장 장치의 용량, 네트워크 속도에 대한 정보를 포함할 수 있다. 이용 정보 제공 범위가 설정되면, 영상 표시 장치(100)는 설정된 범위 내에서 메인 시청각 컨텐트 시청 정보와 부가 서비스 이용 정보를 수집하고 보고할 수 있다. 이용 정보 제공 범위는 가상 채널 각각에 대해 설정될 수 있다. 또한, 이용 정보 측정 허용 범위는 물리 채널 전체에 대해 설정될 수도 있다.
이용 정보 저장부(157)는 영상 표시 장치(100)에 의해 수집되는 메인 시청각 컨텐트 시청 정보와 부가 서비스 사용 정보를 저장한다. 또한, 영상 표시 장치(100)는 수집한 메인 시청각 컨텐트 시청 정보와 수집한 부가 서비스 사용 정보에 기초하여 서비스 이용 패턴을 분석하고, 분석된 서비스 이용 패턴을 이용 정보 저장부(157)에 저장할 수 있다.
부가 서비스 관리부(130)는 핑거프린트 서버(22) 또는 컨텐츠 정보 저장부(151)로부터 메인 시청각 컨텐트의 컨텐츠 정보를 획득할 수 있다. 컨텐츠 정보 저장부(151)에 추출한 특징 정보에 해당하는 컨텐츠 정보가 없거나 충분한 컨텐츠 정보가 없는 경우, 부가 서비스 관리부(130)는 데이터 송수신부(141)를 통해 추가 컨텐츠 정보를 수신할 수 있다. 또한, 부가 서비스 관리부(130)는 지속적으로 컨텐츠 정보를 업데이트할 수 있다.
부가 서비스 관리부(130)는 부가 서비스 제공 서버(50) 또는 부가 서비스 저장부(153)로부터 이용가능한 부가 서비스를 획득할 수 있다. 부가 서비스 저장부(153)에 부가 서비스가 없거나 충분한 부가 서비스가 없는 경우, 부가 서비스 관리부(130)는 데이터 송수신부(141)를 통해 부가 서비스를 업데이트할 수 있다. 또한, 부가 서비스 관리부(130)는 지속적으로 부가 서비스를 업데이트할 수 있다.
부가 서비스 관리부(130)는 메인 시청각 컨텐트로부터 로고를 추출하고, 로고 저장부(155)에 질의하여 추출한 로고에 대응하는 컨텐츠 제공자 식별자 또는 워터마크 서버 주소를 획득할 수 있다. 로고 저장부(155)에 추출한 로고와 일치하는 로고가 없거나 충분한 로고가 없는 경우, 부가 서비스 관리부(130)는 데이터 송수신부(141)를 통해 추가 로고를 수신할 수 있다. 또한, 부가 서비스 관리부(130)는 지속적으로 로고를 업데이트할 수 있다.
부가 서비스 관리부(130)는 메인 시청각 컨텐트로부터 추출한 로고와 로고 저장부(155) 내의 복수의 로고와의 비교를 수행하는데 연산의 부담을 줄이기 위한 다양한 방법을 수행할 수 있다.
예컨대, 부가 서비스 관리부(130)는 색깔 특성에 기초하여 비교를 수행할 수 있다. 즉, 부가 서비스 관리부(130)는 추출한 로고의 색깔 특성과 로고 저장부(155) 내의 로고의 색깔 특성을 비교하여 일치 여부를 판단할 수 있다.
또, 부가 서비스 관리부(130)는 문자 인식에 기초하여 비교를 수행할 수 있다. 즉, 부가 서비스 관리부(130)는 추출한 로고로부터 인식되는 문자와 로고 저장부(155) 내의 로고로부터 인식되는 문자를 비교하여 일치 여부를 판단할 수 있다.
뿐만 아니라, 부가 서비스 관리부(130)는 로고의 윤곽에 대한 형상에 기초하여 비교를 수행할 수 있다. 즉, 부가 서비스 관리부(130)는 추출한 로고의 윤곽 형상과 로고 저장부(155) 내의 로고의 윤곽 형상을 비교하여 일치 여부를 판단할 수 있다.
다음은 도 11 및 도 12를 참고하여 본 발명의 실시 예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 설명한다.
도 11은 본 발명의 실시 예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 흐름도이다.
부가 서비스 정보는 부가 서비스의 시작 시간을 포함할 수 있다. 이때, 영상 표시 장치(100)는 이 시작 시간에서 부가 서비스를 시작할 필요가 있다. 그러나, 영상 표시 장치(100)는 타임 스탬프를 가지지 않는 비압축 메인 시청각 컨텐트를 전송하는 신호를 수신하기 때문에, 메인 시청각 컨텐트의 재생 시간의 기준과 부가 서비스의 시작 시간의 기준은 서로 다르다. 영상 표시 장치(100)가 시간 정보를 가지는 메인 시청각 컨텐트를 수신하더라도, 재방송 등과 같이, 메인 시청각 컨텐트의 재생 시간의 기준과 부가 서비스의 시작 시간의 기준은 서로 다를 수 있다. 따라서, 영상 표시 장치(100)는 메인 시청각 컨텐트의 기준 시간과 부가 서비스의 기준 시간을 동기화할 필요가 있다. 특히 영상 표시 장치(100)는 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 시작 시간을 동기화할 필요가 있다.
먼저, 부가 서비스 관리부(130)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S801). 메인 시청각 컨텐트의 일부 구간은 메인 시청각 컨텐트의 일부 비디오 프레임과 일부 오디오 구간 중 하나 이상을 포함할 수 있다. 부가 서비스 관리부(130)가 메인 시청각 컨텐트의 일부 구간을 추출한 시간을 Tn이라 한다.
부가 서비스 관리부(130)는 추출된 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S803). 구체적으로 부가 서비스 관리부(130)는 추출된 구간에 보이지 않는 워터마크(invisible watermark)로 부호화된 정보를 복호하여 컨텐츠 정보를 획득할 수 있다. 또한, 부가 서비스 관리부(130)는 추출된 구간의 특징 정보를 추출하고, 추출된 특징 정보에 기초하여 핑거프린트 서버(22) 또는 컨텐츠 정보 저장부(151)로부터 메인 시청각 컨텐트의 컨텐츠 정보를 획득할 수 있다. 부가 서비스 관리부(130)가 컨텐츠 정보를 획득한 시간을 Tm이라 한다.
한편, 컨텐츠 정보는 추출된 구간의 시작 시간(Ts)을 포함한다. 부가 서비스 관리부(130)는 컨텐츠 정보 획득 시간(Tm) 이후부터는 시간(Ts), 시간(Tm), 시간(Tn)에 기초하여 메인 시청각 컨텐트의 재생 시간을 부가 서비스의 시작 시간과 동기화한다(S805). 구체적으로, 부가 서비스 관리부(130)는 컨텐츠 정보 획득 시간(Tm)을 다음의 수학식 1에서 계산되는 시간(Tp)로 간주한다.
Figure pct00003
그리고, 부가 서비스 관리부(130)는 컨텐츠 정보 획득 시간부터 시간(Tx)가 경과한 시간을 Tp + Tx로 간주할 수 있다.
이후, 부가 서비스 관리부(130)는 획득한 컨텐츠 정보에 기초하여 부가 서비스와 부가 서비스의 시작 시간(Ta)을 획득한다(S807).
메인 시청각 컨텐트의 동기화된 재생 시간이 부가 서비스의 시작 시간(Ta)와 일치하면, 부가 서비스 관리부(130)는 획득한 부가 서비스를 시작한다(S809). 구체적으로, 부가 서비스 관리부(130)는 다음의 수학식 2를 만족하는 경우에 부가 서비스를 시작할 수 있다.
Figure pct00004
도 12는 본 발명의 실시 예에 따라 메인 시청각 컨텐트의 재생 시간과 부가 서비스의 재생 시간을 동기화하는 방법을 보여주는 개념도이다.
도 12에 도시된 바와 같이, 영상 표시 장치(100)는 시스템 시간(Tn)에서 시청각 샘플을 추출한다.
영상 표시 장치(100)는 추출한 시청각 샘플로부터 특징 정보를 추출하고, 핑거프린트 서버(22)에 추출한 특징 정보를 포함하는 질의를 전송하여 질의 결과를 수신한다. 영상 표시 장치(100)는 질의 결과를 파싱하여 추출한 시청각 샘플의 시작 시간(Ts)가 11000ms에 해당함을 시간(Tm)에서 확인한다.
따라서, 영상 표시 장치는 수학식 1에 따라 추출한 시청각 샘플의 시작 시간을 확인한 시점을 Ts + (Tm - Tn)로 간주하여 이후부터 메인 시청각 컨텐트의 재생 시간을 부가 서비스의 시작 시간과 동기화할 수 있다.
다음은 도 13 및 도 14를 참고하여 본 발명의 다양한 실시 예에 따른 ACR 애플리케이션을 설명한다.
본 발명의 다양한 실시 예에 따른 ACR 애플리케이션으로, 자동 재생 애플리케이션, 컨텐츠 제공자 애플리케이션, 영상 표시 장치 제조사 애플리케이션 등을 들 수 있다.
도 13은 본 발명의 실시 예에 따른 자동 재생 애플리케이션의 실행 화면을 보여준다.
자동 재생 애플리케이션은 사용자가 아무런 액션을 취하지 않더라도 부가 서비스를 자동적으로 재생한다. 이러한 의미에서, 본 명세서에서 자동 재생 애플리케이션을 린백 애플리케이션(lean back application)이라 부르기도 한다.
자동 재생 애플리케이션은 메인 시청각 컨텐트의 재생 중에 컨텐츠 제공자 또는 방송사가 제공하는 장면 연관 정보와 같은 부가 서비스를 메인 시청각 컨텐트의 재생 시간에 따라 사용자의 입력 없이 자동으로 재생한다. 즉, 컨텐츠 제공자 또는 방송사가 전적으로 자동 재생 애플리케이션을 통제한다. 예컨대, 자동 재생 애플리케이션이 특정 채널 또는 특정 컨텐트에 관련되어 있는 경우, 영상 표시 장치(100)가 자동 재생 애플리케이션에 관련된 채널 또는 컨텐트로 진입하면, 영상 표시 장치(100)는 해당 자동 재생 애플리케이션을 사용자의 입력 없이 자동으로 실행할 수 있다. 그리고, 영상 표시 장치(100)가 자동 재생 애플리케이션에 관련된 채널 또는 컨텐트로부터 벗어나면, 영상 표시 장치(100)는 해당 자동 재생 애플리케이션을 사용자의 입력 없이 자동으로 종료할 수 있다. 이러한 의미에서, 본 명세서에서 자동 재생 애플리케이션을 채널-종속 애플리케이션 또는 컨텐트-종속 애플리케이션이라 부르기도 한다.
도 13에 도시된 바와 같이, 자동 재생 애플리케이션이 재생되면, 화면(200)은 축소된 메인 시청각 컨텐트가 재생되는 서브 화면(210)과 부가 정보가 디스플레이되는 서브 화면(220)을 포함할 수 있다. 부가 정보가 디스플레이되는 서브 화면(220)은 메인 시청각 컨텐트가 재생되는 서브 화면(210)과 공간적으로 나뉘어 질 수 있다.
한편, 자동 재생 애플리케이션이 실행될 때, 부가 정보가 디스플레이되는 영역은 반투명할 수 있다. 이 경우, 부가 정보가 디스플레이되는 영역은 메인 시청각 컨텐트가 재생되는 영역의 위에 overlay될 수 있다.
도 14는 본 발명의 실시 예에 따른 컨텐츠 제공자 애플리케이션의 실행 화면을 보여준다.
본 명세서에서, 컨텐츠 제공자 애플리케이션을 풀 인터렉티브 애플리케이션(full interactive application)이라 부르기도 한다.
도 14의 (A)에 도시된 바와 같이, 영상 표시 장치(100)는 복수의 애플리케이션을 다운로드하여 저장할 수 있다. 도 14의 (A)는 복수의 애플리케이션의 아이콘(230)다. 이러한 애플리케이션 중에서 컨텐츠 제공자 애플리케이션은 컨텐츠 제공자에 의해 제작되고 배포되는 애플리케이션이어서, 컨텐츠 제공자의 통제 하에 있을 수 있다.
영상 표시 장치(100)의 사용자는 컨텐츠 제공자 애플리케이션을 애플리케이션 스토어에서 다운로드할 수 있고, 다운로드된 컨텐츠 제공자 애플리케이션의 실행을 결정할 수 있다.
도 14의 (B)는 컨텐츠 제공자 애플리케이션의 실행 화면을 보여준다. 도 14의 (B)에 도시된 바와 같이, 화면(200)은 축소된 메인 시청각 컨텐트가 재생되는 서브 화면(210)과 부가 정보가 디스플레이되는 서브 화면(220), 메뉴가 디스플레이되는 서브 화면을 포함할 수 있다.
영상 표시 장치 제조사 애플리케이션은 영상 표시 장치 제조사 에 의해 제작되고, 영상 표시 장치 제조사에 의해 제어되며, 영상 표시 장치(100)의 생산시에 미리 저장될 수 있다. 즉, 영상 표시 장치 제조사 애플리케이션은 컨텐츠 제공자나 컨텐츠에 상관없이 동일한 서비스를 제공할 수 있으며, 컨텐츠 제공자나 컨텐츠에 상관없이 동일한 유저 인터페이스를 제공할 수 있다.
영상 표시 장치 제조사 애플리케이션은 컨텐츠 제공자가 제공하는 부가 서비스가 표시되는 영역과 영상 표시 장치 제조사가 제공하는 부가 서비스가 표시되는 영역을 분리하여 가질 수 있다. 영상 표시 장치 제조사 애플리케이션은 영상 표시 장치(100)의 사용자에 의해 실행 여부가 결정될 수 있다.
영상 표시 장치 제조사 애플리케이션은 2가지 타입을 가질 수 있다.
첫번째 타입의 영상 표시 장치 제조사 애플리케이션은 크기 조절 사용자 인터페이스(resizing user interface)를 가진다. 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션은 메인 시청각 컨텐트가 디스플레이되는 영역의 크기를 줄여 줄인 영역 내에서 메인 시청각 컨텐트의 내용 전부가 디스플레이될 수 있도록 한다. 또한, 크기 조절 사용자 인터페이스를 가지는 영상 표시 장치 제조사 애플리케이션은 애플리케이션이 디스플레이되는 영역을 알파벳 L자나 Inverse-L 자 구조로 만든다.
두 번째 타입의 영상 표시 장치 제조사 애플리케이션은 오버레이 사용자 인터페이스(Overlay user interface)를 가진다. 오버레이 사용자 인터페이스(Overlay user interface)를 가지는 영상 표시 장치 제조사 애플리케이션은 메인 시청각 컨텐트가 디스플레이되는 영역의 크기는 그대로 유지하면서 애플리케이션이 디스플레이되는 영역을 메인 시청각 컨텐트 위에 겹친다. 애플리케이션이 디스플레이되는 영역이 메인 시청각 컨텐트를 가리므로, 애플리케이션 영역은 반투명일 수 있다.
이처럼, 영상 표시 장치 제조사 애플리케이션은 어떠한 단일 컨텐츠 제공자나 어떠한 단일 채널에 종속하지 않는다. 이러한 애플리케이션은 영상 표시 장치 제조사에 의해 제작된다고 설명하였으나, 여기에 한정될 필요는 없다. 이러한 어떠한 단일 컨텐츠 제공자나 어떠한 단일 채널에 종속하지 않는 애플리케이션은 채널 변경에 의해서는 실행되지 않고,채널 변경에 의해서는 종료되지 않는다. 본 명세서에서는 설명의 편의를 위하여, 이러한 어떠한 단일 컨텐츠 제공자나 어떠한 단일 채널에 종속하지 않는 애플리케이션을 채널-독립 애플리케이션, 영상 표시 장치 제조사 애플리케이션 또는 Live+ app이라고 부르도록 한다.
다음은 도 15 및 도 16을 참고하여 본 발명의 실시 예에 따른 ACR 기능의 온오프 제어를 설명한다.
도 15는 본 발명의 실시 예에 따른 ACR 기능의 제어를 위한 사용자 인터페이스를 보여준다.
도 15에 도시된 바와 같이, 재생 제어부(113)는 ACR 기능 설정 창을 디스플레이한다. 사용자는 ACR 기능 설정 창을 통해 ACR 기능을 활성화시킬 수도 있고, 비활성화시킬 수도 있다.
ACR 기능이 활성화된 경우, 사용자는 ACR 모드를 선택할 수도 있다. 본 발명의 실시 예에 따른 ACR 모드는 자동 재생 애플리케이션 모드, 컨텐츠 제공자 애플리케이션 모드, 영상 표시 장치 제조사 애플리케이션 모드 중 하나로 설정될 수 있다.
이와 같이 ACR 기능의 모드가 설정되면, 재생 제어부(113)는 설정 정보를 설정 정보 저장부(154)에 저장한다.
도 16은 본 발명의 실시 예에 따른 영상 표시 장치의 동작 방법의 흐름도이다.
부가 서비스 관리부(130)는 ACR 기능이 턴온되어 있는지를 확인한다(S1901).
ACR 기능이 비활성화되어 있다면, 부가 서비스 관리부(130)는 더 이상 컨텐트 정보 획득 절차를 수행하지 않는다.
ACR 기능이 활성화되어 있다면 부가 서비스 관리부(130)는 메인 시청각 컨텐트의 일부 구간을 추출한다(S1902).
부가 서비스 관리부(130)는 추출한 구간에 기초하여 메인 시청각 컨텐트의 컨텐츠 정보를 획득한다(S1903).
부가 서비스 관리부(130)는 메인 시청각 컨텐트의 기준 시간을 대체 광고의 기준 시간과 동기화한다(S1905).
부가 서비스 관리부(130)는 획득한 컨텐츠 정보에 기초하여 부가 서비스를 획득한다(S1907). 부가 서비스 관리부(130)는 획득한 컨텐츠 정보에 기초하여 부가 서비스 정보를 획득하고, 획득한 부가 서비스 정보에 기초하여 부가 서비스를 획득할 수도 있다.
이후, 부가 서비스 관리부(130)는 ACR 모드를 확인한다(S1909).
부가 서비스 관리부(130)는 ACR 모드에 따라 부가 서비스를 재생한다(S1911).
구체적으로, ACR 모드가 자동 재생 애플리케이션 모드이면, 부가 서비스 관리부(130)는 자동 재생 애플리케이션을 실행하고, 실행된 자동 재생 애플리케이션은 획득한 부가 서비스를 재생한다.
ACR 모드가 컨텐츠 제공자 애플리케이션 모드이면, 부가 서비스 관리부(130)는 획득한 컨텐츠 정보에 대응하는 컨텐츠 제공자 애플리케이션을 백그라운드에서 실행한다. 부가 서비스 관리부(130)는 부가 서비스 이용에 해당하는 사용자 입력을 수신하면, 컨텐츠 제공자 애플리케이션을 디스플레이한다. 이 컨텐츠 제공자 애플리케이션이 획득한 부가 서비스를 재생할 수 있다. 컨텐츠 제공자 애플리케이션이 자동으로 백그라운드에서 실행되는 대신에, 컨텐츠 제공자 애플리케이션은 사용자 입력에 의해 실행될 수 있다.
ACR 모드가 영상 표시 장치 제조사 애플리케이션 모드이면, 부가 서비스 관리부(130)는 부가 서비스 관리부(130)는 영상 표시 장치 제조사 애플리케이션을 백그라운드에서 실행한다. 부가 서비스 관리부(130)는 부가 서비스 이용에 해당하는 사용자 입력을 수신하면, 영상 표시 장치 제조사 애플리케이션을 디스플레이한다. 이 영상 표시 장치 제조사 애플리케이션이 획득한 부가 서비스를 재생할 수 있다. 영상 표시 장치 제조사 애플리케이션이 자동으로 백그라운드에서 실행되는 대신에, 영상 표시 장치 제조사 애플리케이션은 사용자 입력에 의해 실행될 수 있다.
다음은 도 17 내지 도 25를 참고하여 본 발명의 실시 예에 따른 제3자 부가 서비스에 대하여 설명한다.
도 17은 본 발명의 실시 예에 따른 네트워크 토폴로지를 보여준다.
도 17에서 보여지는 바와 같이, 본 발명의 실시 예에 따른 네트워크 토폴로지는 Broadcaster/CP Backend 서버와 같은 컨텐츠 제공 서버(10), 부가 서비스 제공 서버(50)의 한 종류인 제3자 서버(90), ACR 서버와 같은 컨텐츠 인식 서비스 제공 서버(20), ACR Smart TV와 같은 영상 표시 장치(100)를 포함한다.
영상 표시 장치(100)는 채널-종속 애플리케이션 또는 컨텐트-종속 애플리케이션인 Leanback 애플리케이션을 이용하여 컨텐츠 제공 서버(10)로부터 방송사 부가 서비스를 얻을 수 있고, 채널-독립 애플리케이션인 Live+ 애플리케이션을 이용하여 제3자 서버(90)로부터 제3자 부가 서비스를 얻을 수 있다.
채널 종속 애플리케이션인 Leanback app은 방송사나 CP(Content Owner)가 제공하는 어플리케이션으로서 프로그램 단위 또는 scene(장면) 단위의 동기화된 서비스를 제공한다. 방송사는 프로그램을 제작하는 주체이므로 프로그램 내에 어떤 장면이 있는지 잘 알기 때문에 특정 장면에 가장 적합한 내용을 보여줄 수 있다. 영상 표시 장치(100)가 프로그램을 인식하면, 영상 표시 장치(100)는 해당 프로그램의 컨텐츠 제공 서버(10)로부터 leanback app을 다운로드 받은 후 다운로드된 Leanback app을 자동적으로 실행한다. 그러나 영상 표시 장치(100)가 실행된 Leanback app과 무관한 다른 채널로 이동하면, 영상 표시 장치(100)는 해당 leanback app을 자동적으로 종료하며, 이동된 채널의 leanback app이 있는 경우 해당 leanback app을 실행할 수 있다.
Live+ app은 제3자(예를 들어 제조사)가 제공하는 어플레케이션으로서 TV내에 사전 설치되어 있고 Leanback app과 달리 사용자가 시청 중인 채널 또는 프로그램에 상관없이 항상 실행될 수 있다. 본 특허에서 제안하는 ACR architecture는 Live+ app이 프로그램과 관련된 부가 정보 및 장면 단위의 동기화된 내용을 보여줄 수 있게 한다. Live+ app은 일관된 사용자 인터페이스를 갖고 프로그램에 상관없이 항상 실행될 수 있고 사용될 수 있는 어플리케이션이다. Live+ app은 방송사가 프로그램 관련 부가 정보를 주지 않아도, 프로그램과 관련된 메타데이터를 이용하여 다양한 서비스를 제공할 수 있다. 예를 들어 프로그램에 대한 기본 정보 및 프로그램 출연자가 등장한 영화 추천 등을 제공할 수 있다. Live+ app은 방송사/CP에 할당된 영역을 가지고 있어, 방송사가 프로그램과 관련된 부가 정보를 제공하는 경우에 Live+ app은 해당 프로그램 관련 Enhancement Data를 해당 영역에 보여줄 수 있다. 예를 들어 방송사가 제공하는 Enhancement Data로는 사용자가 시청 중인 프로그램의 지난 방송 다시보기, 장면 동기화된 내용(예를 들어, 상품 구매, 장소 예약, 음원 구매 및 다운로드, 상품 광고 등)이 있을 수 있다.
영상 표시 장치(100)는 ACR module을 탑재하여 비압축 시청각 컨텐트로부터 시그니처를 추출하고, 추출한 시그니처를 통해 컨텐츠 인식 서비스 제공 서버(20)에 질의하여 프로그램을 인식한다. 그리고 영상 표시 장치(100)는 인식된 프로그램에 기반하여 프로그램과 관련된 어플리케이션을 구동한다. Leanback app은 프로그램의 인식 후에 다운로드되어 실행될 수 있다. Live+ app은 TV 출시 때 제조사에 의해 사전 설치될 수도 있고, 앱스토어에서 다운로드되어 설치될 수도 있다.
컨텐츠 인식 서비스 제공 서버(20)는 방송되는 프로그램의 오디오 및/ 또는 비디오의 시그너처를 저장하고 있다. 컨텐츠 인식 서비스 제공 서버(20)는 시그너처 capture 시스템을 이용하여 실시간 방송의 시그너처를 추출하여 저장할 수도 있고, 특정 프로그램에 해당되는 시그너처를 포함한 ACR DB를 방송사로부터 제공받아 저장할 수도 있다. 컨텐츠 인식 서비스 제공 서버(20)의 ACR DB에는 프로그램의 content ID, 시그너처, timestamp, URL 등이 저장되어 있다. 본 명세서에서 2가지 타입의 content ID가 이용될 수 있다.
첫 번째 타입의 content ID는 방송사가 직접 부여하는 ID로 방송사 내에서 프로그램을 유일하게 인식하기 위한 구분자이다. 방송사는 자신이 원하는 포맷으로 프로그램에 content ID를 부여할 수 있다. content ID는 컨텐츠 제공 서버(10)에 프로그램 관련 Enhancement Data를 요청할 때 사용될 수 있다.
두 번째 타입의 content ID는 global unique content ID로서, 전국적으로 또는 범세계적으로 프로그램을 유일하게 인식하기 위한 구분자이다. 프로그램은 전국 방송 채널, 지역 방송 채널, 케이블 방송 또는 위성 방송으로부터 송출되기 때문에, 이 모든 프로그램의 시그너처를 추출하기 위해 복수의 지역을 위하여 다수의 시그너처 capture 장비가 설치될 수 있다. 그리고 각 프로그램을 전국적으로 또는 범세계적으로 유일하게 인식하고 구분하기 위하여 프로그램에 global unique content ID가 할당될 수 있다. 각 프로그램과 global unique content ID를 매핑하기 위해서는 메타데이터 데이터베이스가 이용될 수 있다. 메타데이터 데이터베이스는 프로그램 관련 부가 정보인 메타데이터뿐만 아니라 프로그램 스케쥴 정보를 포함하기 때문에, 이 메타데이터 데이터베이스를 이용하여 capture 시스템으로부터 전달받은 시그너처가 어떤 프로그램인지 매핑될 수 있다. capture 시스템은 추출한 시그너처가 어느 지역, 어느 채널, 어느 시간인지 알고 있기 때문에, 이 정보를 참고하여 메타데이터 데이터베이스를 검색하면 프로그램이 검색될 수 있다. 메타데이터 데이터베이스는 컨텐츠 인식 서비스 제공 서버(20)와 제3자 서버(90)에 함께 사용되며, 컨텐츠 인식 서비스 제공 서버(20)와 제3자 서버(90)는 메타데이터 데이터베이스를 이용하여 global unique content ID를 통해 프로그램을 인식할 수 있다. global unique content ID의 포맷은 서버를 운영하는 제3자가 지정하는 포맷일 수도 있고 메타데이터 데이터베이스가 제공하는 포맷일 수도 있다.
Live+ app이 제공하는 모든 서비스는 제3자 서버(90)로부터 제공된다. 제3자 서버(90)는 컨텐츠 인식 서비스 제공 서버(20)가 전달한 global unique content ID를 영상 표시 장치(100)로부터 수신할 수 있다. 제3자 서버(90)는 global unique content ID를 통해 메타데이터 데이터베이스로부터 global unique content ID에 해당하는 프로그램과 관련된 메타데이터를 추출하고, 추출한 메타데이터를 바탕으로 프로그램과 연계된 다양한 서비스를 영상 표시 장치(100)에 제공할 수 있다. 또한 인식된 프로그램에 대해 방송사가 제공하는 부가 정보가 있으면 제3자 서버(90)는 방송사 서버를 접근하여 프로그램과 관련된 Enhancement Data를 수신하고 이를 가공하여 영상 표시 장치(100)에 제공할 수 있다. Live+ app을 통해 방송사가 제공하는 프로그램 관련 Enhancement Data는 Leanback app이 제공하는 Enhancement Data와 내용은 같고 표현 형태(UI)는 다를 수 있다. 그러나 또 다른 실시 예에서, 방송사에 따라 Live+ app을 통해 방송사가 제공하는 프로그램 관련 Enhancement Data의 내용은 Leanback app이 제공하는 Enhancement Data와 내용과 다를 수 있다.
복수의 방송사 또는 복수의 CP를 위하여 복수의 컨텐츠 제공 서버(10)가 존재할 수 있다. 컨텐츠 제공 서버(10)는 프로그램 타겟팅된 Leanback 애플리케이션과, 이 Leanback app이 출력하는 프로그램 관련 Enhancement Data를 가지고 있다.
도 18은 본 발명의 다양한 실시 예에 따른 Live+ 애플리케이션을 보여준다.
Live+ app은 메인 시청각 미디어 컨텐트를 resize하여 화면의 좌측 상단의 영역에서 보여주고, 화면의 오른쪽 영역에서 프로그램 관련 부가 정보를 보여주고, 화면의 하단의 영역에서 프로그램과 관련된 광고를 보여줄 수 있다. Live+ app은 오른쪽 영역인 컨텐츠 영역의 상단에는 복수의 탭을 보여줄 수 있다. 복수의 탭은 프로그램(Program) 탭, 추천(Recommends) 탭, 대화(Talk) 탭, 플러스(Plus)탭을 포함할 수 있다.
도 19는 본 발명의 다양한 실시 예에 따른 Live+ 애플리케이션을 실행하는 방법을 보여준다.
영상 표시 장치(100)는 홈 화면 또는 My Apps 화면을 디스플레이할 수 있다. My Apps 화면은 영상 표시 장치(100) 내에 설치된 애플리케이션의 리스트를 보여주는 화면이다.
영상 표시 장치(100)는 홈 화면 또는 My Apps 화면에서 보여주는 복수의 애플리케이션 중에서 Live+ 애플리케이션을 선택하는 사용자 입력을 수신하면, Live+ 애플리케이션을 실행할 수 있다.
또한, 영상 표시 장치(100)는 방송을 재생하면서 Live+ app가 있음을 알려주는 그래픽을 타이머를 통해 일정 시간 간격으로 디스플레이하고, 이 그래픽과 연관된 사용자 입력을 받으면, Live+ 애플리케이션을 실행할 수도 있다.
도 20은 본 발명의 실시 예에 따른 Live+ 애플리케이션의 탭의 기능을 보여준다.
프로그램 탭은 현재 시청자가 보고 있는 프로그램에 대한 기본 정보와, 프로그램의 다시 보기 서비스를 제공한다. 영상 표시 장치(100)는 프로그램 기본 정보를 제3자 서버(90)의 Meta DB로부터 가져올 수 있다. 영상 표시 장치(100)는 프로그램의 다시 보기 서비스에 대한 정보를 제3자 서버(90)를 거처 해당 프로그램을 제작하는 컨텐츠 제공 서버(10)로부터 가져올 수 있다.
Recommends tab은 현재 프로그램과 관련있는 또 다른 시청각 컨텐트인 영화나 비디오(예를 들어 Youtube)를 추천해주거나 현재 프로그램과 관련된 앱을 추천해 줄 수 있다. 제3자 서버(90)는 현재 프로그램의 타이틀, 장르나 출연진에 기초하여 추천을 위한 영화나 비디오를 결정하고, 이에 대한 정보를 가공하여 영상 표시 장치(100)의 Live+ 애플리케이션의 추천 탭에 제공할 수 있다.
Talk tab은 현재의 프로그램과 관련된 대화 내용에 해당하는 트위터 기사를 제공한다. 3자 서버는 현재 프로그램의 타이틀, 장르나 출연진에 기초하여 현재의 프로그램과 관련된 트위터 기사를 검색한 후, 검색한 기사를 가공하여 영상 표시 장치(100)의 Live+ 애플리케이션의 대화 탭에 제공할 수 있다.
Plus tab은 방송사가 프로그램 연관된 데이터를 보여주는 영역으로 방송사 서버로부터 받은 정보를 그대로 제공하거나, 또는 제3자 서버(90)가 방송사 서버로부터 받은 정보를 가공한 정보를 제공한다. Plus tab에서 제공되는 데이터의 종류와 개수는 제한이 없다. 플러스 탭은 상품 구매, 장소 예약, 음원 구매, 상품 광고 등의 다양한 부가 데이터를 제공할 수 있다. 단 방송사 서버로부터 받은 정보가 그대로 플러스탭에 제공될 경우에는, 제3자 서버(90)는 방송사 서버로부터 받은 정보를 Live+ app의 컨텐츠 영역(즉, 화면 오른쪽 영역)의 위치 및 크기에 맞도록 정보를 가공한 후 영상 표시 장치(100)에 제공할 수 있다.
도 21은 본 발명의 일 실시 예에 따른 제3자 서버(90)의 아키텍처를 보여준다.
도 21에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 제3자 서버(90)는 애플리케이션 계층(Application Layer), 서비스 컴포넌트 계층(Service Component Layer), 백-엔드 시스템 계층(Back-end System Layer), 데이터 컴포넌트 계층(Data Component Layer)을 포함한다.
애플리케이션 계층은 Delivery Interface를 통해 영상 표시 장치(100)를 포함한 다양한 디바이스와 통신할 수 있다. 애플리케이션 계층은 앱스토어 컴포넌트(AppStore component)를 포함할 수 있다. 앱스토어 컴포넌트는 개발자가 App을 등록할 수 있는 인터페이스를 지원할 뿐만 아니라 일반 사용자가 App을 검색, 다운로드 및 설치할 수 있는 인터페이스도 지원할 수 있다. 또한 Live+ 애플리케이션은 제3자 서버(90)에 있는 광고, 검색, 추천 등의 서비스를 앱스토어 컴포넌트를 통해 받을 수 있다.
서비스 컴포넌트 계층은 애플리케이션 계층과 서비스 통합 인터페이스(Service Integration Interface)를 통해 통신할 수 있다. 서비스 컴포넌트 계층은 광고 서비스 컴포넌트, 통합 검색 컴포넌트, 추천 컴포넌트, ACR 컴포넌트를 포함한다. 백-엔드 시스템 계층으로부터 가공된 데이터를 받아 이를 애플리케이션 계층으로 전달한다. ACR 컴포넌트는 영상 표시 장치(100)로부터 수신한 Content ID, Global Content ID, timestamp, 방송사 서버 URL을 가지고 백-엔드 시스템 계층의 메타데이터 컴포넌트를 통해 프로그램 관련 기본 부가 정보를 얻을 수 있다. 또한 ACR 컴포넌트는 메터데이터로부터 얻은 프로그램 title 및 배우에 대한 정보를 통합 검색 컴포넌트로 전달하여 프로그램 관련 검색 결과를 얻을 수 있다.
백-엔드 시스템 계층은 원본 데이터를 데이터 컴포넌트 계층으로부터 읽어 들여 이를 가공하여 서비스 컴포넌트 계층으로 전달한다. 백-엔드 시스템 계층은 검색 엔진, 보안(Security) 컴포넌트, DRM 컴포넌트, 메타데이터 컴포넌트, 광고 플랫폼 컴포넌트, ACR 컴포넌트를 포함할 수 있다.
데이터 컴포넌트 계층은 실제 데이터를 가지고 있다. 여기에는 데이터 컴포넌트 계층은 파일 저장소(File Repository), 통합 데이터베이스(Integrated DB), 사용자 프로파일(User Profile) 저장소, 메타데이터 저장소, 광고 데이터 저장소를 포함할 수 있다. 사용자 프로파일 저장소에는 시청자 또는 사용자의 성별, 나이, 지역, 소득, 가족 구성, 선호 장르, 선호 채널, 선호 프로그램 등의 정보가 저장되어 있다. 메타데이터 저장소에는 컨텐트에 대한 title, episode, director, synopsis, casts, genre, channel, air time 등의 정보가 저장되어 있다. 제3자 서버(90)는 metadata provider 또는 실시간 방송의 가이드 정보(예를 들어, ATSC 지상파의 경우 PSIP)로부터 컨텐트에 대한 정보를 수신하여 메타데이터 저장소에 저장할 수 있다.
도 22는 본 발명의 실시 예에 따른 자동 실행 애플리케이션을 위한 영상 표시 장치의 동작을 보여주는 래더 다이어그램이다.
먼저, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하고, 추출한 특징 정보를 포함하는 ACR 질의 요청 메시지(ACR query request message)를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송한다(S2105).
핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 특징 정보를 ACR DB에서 조회하여 특징 정보에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 컨텐츠 정보를 포함하는 ACR 질의 응답 메시지(ACR query response message)를 영상 표시 장치(100)에 제공한다(S2107). 이때, ACR 질의 응답 메시지는 프로그램 인식 성공 여부에 대한 정보와, 컨텐츠 정보, 린백 애플리케이션의 URL을 포함할 수 있다. 앞서 설명한 바와 같이 컨텐츠 정보는 인식된 프로그램의 Content ID와 인식된 프로그램의 timestamp를 포함할 수 있다. 여기서의 Content ID의 포맷은 해당 방송사만 인식할 수 있는 포맷일 수 있으며, 특히, 이 경우는 방송사가 해당 프로그램의 ACR DB를 컨텐츠 인식 서비스 제공 서버(20)로 제공한 경우에 해당할 수 있다.
영상 표시 장치(100)가 ACR 질의를 통해 프로그램의 식별에 성공하고, leanback app URL이 유효할 경우, 영상 표시 장치(100)는 해당 leanback app URL에 leanback 애플리케이션을 요청한다(S2109).
컨텐츠 제공 서버(10)는 영상 표시 장치(100)가 요청하는 leanback 애플리케이션을 영상 표시 장치(100)에 제공하여(S2111), 영상 표시 장치(100)는 린백 애플리케이션을 다운로드할 수 있다.
영상 표시 장치(100)가 성공적으로 린백 애플리케이션의 다운로드를 완료하면, 영상 표시 장치(100)는 자동적으로 해당 린백 애플리케이션을 실행한다(S2113).
영상 표시 장치(100) 내에서 실행된 린백 애플리케이션은 영상 표시 장치(100) 내의 ACR 엔진로부터 주기적으로 content ID와 timestamp를 획득하고, 획득한 content ID와 timestamp를 포함하는 부가 데이터 요청 메시지를 컨텐츠 제공 서버(10)에 전송하여(S2115), content ID와 timestamp에 해당하는 장면과 연관된 부가 데이터 (Enhancement Data)를 요청한다.
컨텐츠 제공 서버(10)는 요청된 부가 데이터를 leanback app에 전달한다(S2117). leanback app은 방송사가 제공하는 어플리케이션이므로 한 방송사의 컨텐츠 제공 서버(10)의 인터페이스는 또 다른 방송사의 컨텐츠 제공 서버(10)의 인터페이스와 다를 수 있다. 장면 연관된 부가 정보가 있을 경우 leanback app은 단계(S2113)과 단계(S2117)를 반복 수행할 수 있다.
도 23은 본 발명의 일 실시 예에 따른 채널-독립 애플리케이션을 위한 영상 표시 장치의 동작을 보여주는 래더 다이어그램이다.
영상 표시 장치(100)가 설치되어 있는 Live+ app의 실행을 위한 사용자 입력을 수신하면, 영상 표시 장치(100)는 설치되어 있는 Live+ app을 실행한다(S2201).
ACR 기능이 턴오프되어 있는 경우, 영상 표시 장치(100) 내에서 실행된 Live+ 애플리케이션은 ACR 모듈을 턴온시킨다(S2203).
영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하고, 추출한 특징 정보를 포함하는 ACR 질의 요청 메시지를 핑거프린트 서버(22)에 해당하는 ACR 서버에 전송한다(S2205).
핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 특징 정보를 ACR DB에서 조회하여 특징 정보에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 컨텐츠 정보를 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다(S2207). 이때, ACR 질의 응답 메시지는 프로그램 인식 성공 여부에 대한 정보와, 컨텐츠 정보를 포함할 수 있다. 앞서 설명한 바와 같이 컨텐츠 정보는 인식된 프로그램의 글로벌 유니크 Content ID와 인식된 프로그램의 timestamp를 포함할 수 있다.
영상 표시 장치(100) 내에서 실행된 Live+ 애플리케이션은 서비스 타입의 선택을 위한 사용자 입력을 받는다(S2209). 이때, 서비스 타입은 프로그램 타입, 추천 타입, 대화 타입, 및 플러스 타입 중 적어도 하나에 해당할 수 있다. 예컨대, 선택된 서비스 타입에 해당하는 부가 데이터는 프로그램의 출연자와 관련된 실시간 뉴스 기사가 될 수 있고, 프로그램 출연자가 주연으로 등장하는 영화를 추천하는 서비스가 될 수 있다.
영상 표시 장치(100) 내에서 실행된 Live+ 애플리케이션은 영상 표시 장치(100) 내의 ACR 엔진로부터 현재 인식된 프로그램의 컨텐츠 정보를 획득하고, 프로그램 관련 컨텐트 요청 메시지를 제3자 서버(90)에 전송하여(S2211), 선택된 서비스 타입에 해당하는 부가 데이터(enhancement data)를 요청한다. 이때, 프로그램 관련 컨텐트 요청 메시지는 현재 인식된 프로그램의 컨텐트 정보와 선택된 서비스 타입에 대한 정보를 포함할 수 있다.
Live+ app은 제3자 서버(90)에게 ajax call을 사용하여 HTTP 기반의 Request를 보낼 수 있다. 이때 전달하는 파라미터로는 서비스 타입, Content ID, Global Content ID, timestamp, 방송사 서버 URL 등이 있다. HTTP Request는 HTTP GET기반으로 표 3과 같은 신택스(syntax)로 파리미터를 전달할 수 있다.
Figure pct00005
표 3에서, <service name>에는 Live+ app이 요청하는 서비스의 이름이 입력된다. 본 실시 예는 다음과 같은 <service name>을 사용할 수 있다.
- "getProgram" : 프로그램 관련 기본 정보와 지난 episode를 수신하기 위한 service name이며 Live+ app의 program tab에 사용된다.
- "getRecommends" : 프로그램 관련 추천(VOD 추천, App 추천 등) 데이터를 수신하기 위한 service name이며 Live+ app의 recommends tab에 사용된다.
- "getTalk" : 프로그램 관련 실시간 기사/트윗을 수신하기 위한 service name이며 Live+ app의 talk tab에 사용된다.
- "getPlus" : 방송사가 제공하는 프로그램 관련 부가 데이터를 수신하기 위한 service name이며 Live+ app의 plus tab에 사용된다.
<Content ID>는 방송사가 컨텐츠 인식 서비스 제공 서버(20)로 전달한 값이며 방송사 내부적으로 프로그램을 유일하게 식별하기 위해 사용하는 Content ID이다.
<Global Content ID>는 방송사 구분없이 글로벌하게 프로그램을 유일하게 식별하기 위해 사용되며, 이를 위하여 컨텐츠 인식 서비스 제공 서버(20)와 제3자 서버(90)는 동일한 Meta DB를 사용할 필요가 있다. Global Content ID는 Meta DB의 content id 포맷을 따를 수도 있다.
<timestamp>는 인식된 프로그램의 현재 시청 시간을 알려주며 컨텐츠 인식 서비스 제공 서버(20)로부터 전달 받은 값이다.
<방송사 서버 URL>은 방송사가 프로그램 관련 부가 데이터를 제공하는 경우에 전달되며, 이 값으로 제3자 서버(90)는 방송사 서버에 접근할 수 있다.
제3자 서버(90)는 전달받은 Global Content ID에 해당하는 프로그램의 부가 데이터를 찾기 위해 메타데이터 저장소를 검색한다(S2213). 메타데이터 저장소는 Global Content ID에 해당하는 프로그램의 부가 데이터에 대한 검색 결과를 제3자 서버(90)에게 리턴한다.
제3자 서버(90)는 메타데이터 저장소로부터 수신한 프로그램 부가 데이터를 가공하여 가공된 부가 데이터를 영상 표시 장치(100) 내에서 실행된 Live+ 애플리케이션에 제공한다(S2221). 제3자 서버(90)는 ajax call을 사용하여 HTTP 기반의 response로 가공된 부가 데이터를 전달할 수 있다.
도 24는 본 발명의 또 다른 실시 예에 따른 채널-독립 애플리케이션을 위한 영상 표시 장치의 동작을 보여주는 래더 다이어그램이다.
영상 표시 장치(100)가 설치되어 있는 Live+ app의 실행을 위한 사용자 입력을 수신하면, 영상 표시 장치(100)는 설치되어 있는 Live+ app을 실행한다(S2301).
ACR 엔진이 턴오프되어 있는 경우, 영상 표시 장치(100) 내에서 실행된 Live+ 애플리케이션은 ACR 엔진을 턴온시킨다(S2303).
영상 표시 장치(100)의 ACR 엔진은 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 특징 정보를 추출하고, 추출한 특징 정보를 포함하는 ACR 질의 요청 메시지를 핑거프린트 서버(22)에 해당하는 ACR 서버에 전송한다(S2305).
핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 특징 정보를 ACR DB에서 조회하여 특징 정보에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 컨텐츠 정보를 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)의 ACR 엔진에 제공한다(S2307). 이때, ACR 질의 응답 메시지는 프로그램 인식 성공 여부에 대한 정보와, 컨텐츠 정보, 및 컨텐츠 제공 서버(10)의 URL을 포함할 수 있다. 앞서 설명한 바와 같이 컨텐츠 정보는 인식된 프로그램의 글로벌 유니크 Content ID, 인식된 프로그램의 방송사가 식별할 수 있는 content ID와 인식된 프로그램의 timestamp를 포함할 수 있다. 또 다른 실시 예에서, 영상 표시 장치(100)는 컨텐츠 제공 서버(10)의 URL을 ACR 질의 응답 메시지로부터 획득하는 것이 아니라, 미리 가지고 있을 수도 있다.
영상 표시 장치(100) 내에서 실행된 Live+ 애플리케이션은 서비스 타입의 선택을 위한 사용자 입력을 받는다(S2309). 이때, 서비스 타입은 프로그램 타입, 추천 타입, 대화 타입, 및 플러스 타입 중 적어도 하나에 해당할 수 있다. 예컨대, 선택된 서비스 타입에 해당하는 부가 데이터는 프로그램의 출연자와 관련된 실시간 뉴스 기사가 될 수 있고, 프로그램 출연자가 주연으로 등장하는 영화를 추천하는 서비스가 될 수 있다.
영상 표시 장치(100) 내에서 실행된 Live+ 애플리케이션은 영상 표시 장치(100) 내의 ACR 엔진로부터 현재 인식된 프로그램의 컨텐츠 정보를 획득하고, 프로그램 관련 컨텐트 요청 메시지를 제3자 서버(90)에 전송하여(S2311), 선택된 서비스 타입에 해당하는 부가 데이터(enhancement data)를 요청한다. 이때, 프로그램 관련 컨텐트 요청 메시지는 현재 인식된 프로그램의 컨텐트 정보와 선택된 서비스 타입에 대한 정보 및 방송사 컨텐츠 제공 서버(10)의 URL을 포함할 수 있다.
제3자 서버(90)는 전달받은 Global Content ID에 해당하는 프로그램의 부가 데이터를 찾기 위해 메타데이터 저장소를 검색한다(S2313). 메타데이터 저장소는 Global Content ID에 해당하는 프로그램의 부가 데이터에 대한 검색 결과를 제3자 서버(90)에게 리턴한다.
제3자 서버(90)는 전달받은 방송사 컨텐츠 제공 서버(10)의 URL에 접속하고, 전달받은 방송사 content ID와 timestamp를 포함하는 메타데이터 요청 메시지를 컨텐츠 제공 서버(10)에 전송하여(S2317), 현재 장면과 관련된 부가 데이터를 컨텐츠 제공 서버(10)에 요청한다.
제3자 서버(90)는 컨텐츠 제공 서버(10)로부터 현재 장면과 관련된 부가 데이터를 수신한다(S2319).
제3자 서버(90)는 메타데이터 저장소로부터 수신한 프로그램 부가 데이터 및 컨텐츠 제공 서버(10)로부터 수신한 프로그램 부가 데이터 중 하나 또는 이둘의 결합을 가공하여 가공된 부가 데이터를 영상 표시 장치(100) 내에서 실행된 Live+ 애플리케이션에 제공한다(S2321).
도 25는 본 발명의 실시 예에 따른 영상 표시 장치의 개념도를 보여준다.
도 25에 도시된 바와 같이, 본 발명의 실시 예에 따른 개념도의 영상 표시 장치(100)는 오디오/비디오 드라이버(Audio/Video driver)(601), ACR 엔진(603), ACR 미들웨어(605), ACR 사용자 인터페이스(607), ACR 플러그인(Plugin)(609)을 포함한다.
오디오/비디오 드라이버(601)는 TV의 외부입력으로 들어오는 오디오/비디오 신호를 캡쳐하여 ACR 엔진(603)에게 전달한다. 오디오/비디오 드라이버(601)는 ACR 엔진(603)이 오디오/비디오 버퍼를 접근할 수 있도록 API를 제공할 수도 있다. 오디오/비디오 드라이버(601)는 HDMI와 같은 외부입력으로 들어오는 오디오/비디오의 특성 정보를 함께 제공할 수 있다. 예를 들어 오디오/비디오 드라이버(601)는 오디오의 경우 sample depth, sampling rate, channel 수(mono/stereo 등), sample 수, sample 시간 등의 정보를 제공할 수 있다. 비디오의 경우 오디오/비디오 드라이버(601)는 video format, input video의 width, height, stride, stream 시간, input type(HDMI1, HDMI2, composite, component 등), 초당 frame 수 등의 정보를 제공할 수 있다.
ACR 엔진(603)은 별도의 process로 실행될 수 있으며, 위에서 언급한 다양한 방식을 이용하여 프로그램을 인식한다. ACR 엔진(603)은 Audio/Video 샘플로부터 시그니처를 추출하고, 추출한 시그니처를 ACR 서버로 전달하여 컨텐트를 인식할 수 있다. 앞서 설명한대로 ACR 엔진(603)은 플랫폼의 구현에 따라 Audio/Video 버퍼에 접근할 수 있는 API를 호출할 수도 있고, 오디오/비디오 드라이버(601)가 캡처(capture)한 오디오/비디오 스트림을 socket과 같은 방법을 통해 ACR process에 전달할 수도 있다. ACR 엔진(603)은 ACR 서버로 시그니처와 함께 acr 질의 요청을 보내고 content 인식 성공 여부, Content ID, Global Content ID, timestamp, leanback app URL, 방송사 서버 URL 등을 포함하는 acr query response를 ACR 서버로부터 수신한다. ACR 엔진(603)은 ACR 서버로부터 전달받은 결과를 ACR 미들웨어(605)로 전달할 수 있다.
ACR 미들웨어(605)는 DTV process의 미들웨어에 해당하는 모듈이며, ACR 제어를 처리하고, ACR 엔진(603)으로부터의 ACR 질의 응답을 처리한다. ACR 미들웨어(605)는 ACR 프로세스를 실행하거나, 종료하거나, ACR 엔진(603)을 시작하거나 중단함으로써 ACR을 제어한다. 또한 ACR 미들웨어(605)는 ACR 질의 응답을 파싱하여 Content ID, Global Content ID, timestamp 등의 값들도 저장하고 있다. ACR 미들웨어(605)는 이 저장된 값을 ACR UI로 보낼 수 있도록 API를 제공하거나 message queue, global 변수 등의 방법을 통해 ACR 사용자 인터페이스(607)로 전달 할 수 있다. 또한 ACR 미들웨어(605)는 Live+ 애플리케이션이나 린백 애플리케이션과 같은 ACR 애플리케이션에게 Content ID, Global Content ID, timestamp등과 같은 데이터를 전달하기 위해 shared memory, socket 등의 IPC(Inter-Process Communication)를 통해 Web 브라우저에게 전달 할 수 있다.
ACR 사용자 인터페이스(ACR user interface, ACR UI)(607)는 사용자에게 ACR On/Off와 같은 ACR 제어를 할 수 있는 UI를 표출하거나, 인식된 프로그램의 이름 및 시간과 같은 정보를 TV의 상태바 UI에서 사용자에게 보여줄 수 있다.
ACR 미들웨어(605)가 ACR 애플리케이션에 전달하기 위한 Content ID, Global Content ID, timestamp등과 같은 데이터를 브라우저로 전달하면 ACR 플러그인(609)은 이러한 값을 전달 받는다. ACR 플러그인(609)은 Plugin Object Interface를 통해 ACR 애플리케이션에게 해당 값을 전달할 수 있다. 표 4는 ACR 플러그인(609)의 Interface의 한 실시 예를 보여주고 있다.
Figure pct00006
표 4에서, metadata는 인식된 프로그램에 대한 기본적인 메타데이터를 제공한다.
backendURL은 방송사/CP 서버의 URL을 나타낸다.
getACRMetadata()는 인식된 프로그램에 대한 기본적인 메터데이터를 획득하기 위한 함수이며, metadata Property와 동일한 값을 리턴한다.
getBackendURL()는 방송사/CP 서버의 URL을 리턴하는 함수이다.
NotifyACRAppLaunched()는 이동 단말기와 같은 2nd Screen 및 TV가 pairing이 되었을 때 TV상에서의 ACR 애플리케이션이 특정 URL 또는 app을 실행할 경우 이를 2nd Screen의 애플리케이션에게 알려주기 위한 함수이다.
SetAppInfo()는 ACR 애플리케이션의 현재 상태와 해당 애플리케이션의 2nd Screen 버전의 app URL을 알려주는 함수이다.
onContentChanged()는 인식되는 프로그램이 변경되는 경우 호출되는 callback 함수이다.
onMediaTimeUpdated()는 ACR을 통해 timestamp가 변경될 때마다 호출되는 callback 함수이다.
onAppShow()는 TV와 2nd Screen간 pairing된 상태에서 2nd Screen에 있는 애플리케이션이 TV로 이동할 때 호출되는 callback 함수이다.
onAppHide()는 TV와 2nd Screen간 pairing된 상태에서 TV에 있는 애플리케이션이 2nd Screen으로 이동할 때 호출되는 callback 함수이다.
도 26은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 26에 도시된 바와 같이, 본 발명의 또 다른 실시 예에 따른 네트워크 토폴로지는 비디오 핑거프린트 서버(23) 및 오디오 핑거프린트 서버(24)를 더 포함한다.
도 26에 도시된 바와 같은 비디오 핑거프린트 서버(23)는 메인 시청각 컨텐트에 변형을 가하지는 않으며 메인 시청각 컨텐트로부터 시각적인 비디오 특징 정보를 추출하여 저장한다. 이후에 비디오 핑거프린트 서버(23)는 영상 표시 장치(100)로부터의 비디오 특징 정보를 수신하면, 수신한 비디오 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공한다.
한편, 도 26에 도시된 바와 같은 오디오 핑거프린트 서버(24)는 메인 시청각 컨텐트에 변형을 가하지는 않으며 메인 시청각 컨텐트로부터 청각적인 오디오 특징 정보 추출하여 저장한다. 이후에 오디오 핑거프린트 서버(24)는 영상 표시 장치(100)로부터의 오디오 특징 정보를 수신하면, 수신한 오디오 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공한다.
이때, 도 26에 도시된 바와 같은 영상 표시 장치(100)는 비디오 특징 정보와 오디오 특징 정보가 동시에 사용되는 경우, 비디오 핑거프린트 서버(23) 또는 오디오 핑거프린트 서버(24) 각각에 따로 접속하여야 한다.
도 27은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지를 보여주는 블록도이다.
도 27에 도시된 바와 같이, 본 발명의 또 다른 실시 예에 따른 네트워크 토폴로지는 비디오 특징 정보 및 오디오 특징 정보를 각각 저장한 핑거프린트 서버(22)를 더 포함한다.
도 27에 도시된 바와 같은 핑거프린트 서버(22)는 메인 시청각 컨텐트에 변형을 가하지는 않으며 메인 시청각 컨텐트로부터 시각적인 비디오 특징 정보 또는 청각적인 오디오 특징 정보를 추출하여 저장한다. 이후에 핑거프린트 서버(22)는 영상 표시 장치(100)로부터의 비디오 특징 정보를 수신하면 수신한 비디오 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공하고, 영상 표시 장치(100)로부터의 오디오 특징 정보를 수신하면 수신한 오디오 특징 정보에 해당하는 시청각 컨텐트의 식별자와 시간 정보를 제공한다.
이때, 도 27에 도시된 바와 같은 영상 표시 장치(100)는 비디오 특징 정보와 오디오 특징 정보가 동시에 사용되는 경우에도, 하나의 핑거프린트 서버(22)에 접속하는 것으로 족하다.
도 28은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 28에서, Tuner/Demodulator/Demux(301)는 수신된 공중파 방송 신호(RF,Radio Frequency)를 아날로그 오디오 비디오 신호로 복원한 후, 복원된 아날로그 오디오 비디오 신호를 ADC/AV Decoder(303)으로 전송한다.
ADC/AV Decoder(303)는 아날로그 오디오 비디오 신호, 아날로그 비디오 신호 또는 아날로그 오디오 신호를 디지털 오디오 비디오 신호, 디지털 비디오 신호 또는 디지털 오디오 신호로 전환한 후, 전환된 디지털 신호를 디코딩한다.
아날로그 오디오 비디오 신호는 예컨대, Tuner/Demodulator/Demux(301)가 복원한 아날로그 오디오 비디오 신호일 수 있고, 아날로그 비디오 신호는 예컨대, 외부 입력 장치로부터 전송된 아날로그 비디오 신호(Composite/S-video/Component/RGB)일 수 있으며, 아날로그 오디오 신호는 예컨대, 외부 입력 장치로부터 전송된 아날로그 오디오 신호(Audio)일 수 있다.
Digital Signal Processor(305)는 디지털 오디오 비디오 신호, 디지털 비디오 신호 또는 디지털 오디오 신호 등을 처리한다.
Digital Signal Processor(305)는 ADC/AV Decoder(303)가 디코딩한 디지털 오디오 비디오 신호, 디지털 비디오 신호 또는 디지털 오디오 신호 등을 처리할 수 있다. 또한, Digital Signal Processor(305)는 HDMI(High Definition Multimedia Interface) 또는 DVI(Digital Video Interactive)를 통해 외부 입력 장치로부터 전송된 디지털 오디오 비디오 신호, 디지털 비디오 신호, 디지털 오디오 신호 중 적어도 하나를 처리할 수도 있다.
Digital Signal Processor(305)는 오디오 스트림을 캡쳐하여, 오디오 샘플(Audio sample)을 생성한 후, 생성된 오디오 샘플(Audio sample)을 Audio FP module(307)에 전송한다. 또한, Digital Signal Processor(305)는 비디오 스트림을 캡쳐하여, 비디오 샘플(Video sample)을 생성한 후, 생성된 비디오 샘플(Video sample)을 Video FP module(309)에 전송한다. 또한, Digital Signal Processor(305)는 Display(321)에 화면 정보를 전송한다.
Audio FP module(307)은 오디오 샘플(Audio sample)을 분석 및 처리하여 오디오 특징 정보(Audio Signature)를 추출한다.
Video FP module(309)은 비디오 샘플(Videoo sample)을 분석 및 처리하여 비디오 특징 정보(Video Signature)를 추출한다.
Network I/F(311)는 앞서 설명한 오디오 핑거프린트 서버(24) 또는 오디오 핑거프린트 서비스가 가능한 핑거프린트 서버(22)에 오디오 특징 정보(Audio Signature)를 전송하면서 현재 재생 중인 메인 시청각 컨텐트의 컨텐츠 정보를 질의하고, 오디오 핑거프린트 서버(24) 또는 오디오 핑거프린트 서비스가 가능한 핑거프린트 서버(22)로부터 질의 결과를 수신한다(Query/Response).
Network I/F(313)는 앞서 설명한 비디오 핑거프린트 서버(23) 또는 비디오 핑거프린트 서비스가 가능한 핑거프린트 서버(22)에 비디오 특징 정보(Video Signature)를 전송하면서 현재 재생 중인 메인 시청각 컨텐트의 컨텐츠 정보를 질의하고, 비디오 핑거프린트 서버(23) 또는 비디오 핑거프린트 서비스가 가능한 핑거프린트 서버(22)로부터 질의 결과를 수신한다(Query/Response).
Audio QueryResult Parser(315)는 오디오 핑거프린트 서버(24) 또는 오디오 핑거프린트 서비스가 가능한 핑거프린트 서버(22)로부터 전송된 질의 결과(Query Result)를 분석하여 영상 표시 장치(100)가 필요로 하는 메타데이터(metadata)를 추출한다.
Video QueryResult Parser(317)는 비디오 핑거프린트 서버(23) 또는 비디오 핑거프린트 서비스가 가능한 핑거프린트 서버(22)부터 전송된 질의 결과(Query Result)를 분석하여 영상 표시 장치(100)가 필요로 하는 메타데이터(metadata)를 추출한다.
Metadata Storage(319)는 추출된 메타데이터(metadata)를 저장한다.
Display(321)는 장면 연관 정보를 화면 상에 보여준다.
도 29는 본 발명의 실시 예에 따른 핑거프린트 기능의 제어를 위한 사용자 인터페이스를 보여준다.
도 29에 도시된 바와 같이, 재생 제어부(113)는 핑거프린트 기능 설정 창을 디스플레이한다. 사용자는 핑거프린트 기능 설정 창을 통해 핑거프린트 기능을 활성화시킬 수도 있고, 비활성화시킬 수도 있다.
핑거프린트 기능이 활성화된 경우, 사용자는 핑거프린트 설정 모드를 선택할 수도 있다. 본 발명의 실시 예에 따른 핑거프린트 설정 모드는 수동 설정 모드, 자동 설정 모드 중 하나로 설정될 수 있다.
핑거프린트의 수동 설정 모드가 활성화된 경우, 사용자는 시그너처 모드를 선택할 수도 있다. 본 발명의 실시 예에 따른 시그너처 모드는 오디오 시그너처 모드, 비디오 시그너처 모드, 오디오 및 비디오 시그너처 모드 중 하나로 설정될 수 있다.
또한, 핑거프린트의 수동 설정 모드가 활성화된 경우, 사용자는 시그너처 전송 주기를 선택할 수도 있다. 시그너처 전송 주기는 영상 표시 장치(100)의 기능에 따라 달라질 수 있으며, 영상 표시 장치(100)가 자동으로 시그너처 전송 주기를 설정할 수도 있다. 영상 표시 장치(100)가 자동으로 시그너처 전송 주기를 설정하는 경우, 영상 표시 장치(100)는 미리 정해진 디폴트 값을 시그너처 전송 주기로 설정하거나, 시그너처가 전송되는 네트워크 환경의 상태에 따라 시그너처 전송 주기를 설정할 수도 있다.
핑거프린트의 자동 설정 모드가 활성화된 경우, 사용자는 시그너처 모드를 선택할 수도 있다. 본 발명의 실시 예에 따른 시그너처 모드는 오디오 우선 모드, 비디오 우선 모드, 오디오 비디오 동시 모드 중 하나로 설정될 수 있다.
오디오 우선 모드는 오디오 특징 정보에 대한 질의 결과가 실패하면, 자동으로 비디오 특징 정보가 포함된 질의를 전송하는 모드이다(Audio firtst, then Video Fingerprinting). 비디오 우선 모드는 비디오 특징 정보에 대한 질의 결과가 실패하면, 자동으로 오디오 특징 정보가 포함된 질의를 전송하는 모드이다(Video firtst, then Audio Fingerprinting). 오디오 비디오 동시 모드는 오디오 특징 정보가 포함된 질의 및 비디오 특징 정보가 포함된 질의를 동시에 전송하는 모드이다(Fingerprinting concurrently). 본 발명의 실시 예에 따른 시그너처 모드에서 시그너처 전송 주기는 앞서 설명한 바와 같이, 영상 표시 장치(100)에 의하여 자동으로 설정될 수 있으며, 이에 한정되는 것은 아니다.
이와 같이 핑거프린트 기능의 모드가 설정되면, 재생 제어부(113)는 설정 정보를 설정 정보 저장부(154)에 저장한다.
한편, 오디오 특징 정보가 포함된 질의 및 비디오 특징 정보가 포함된 질의가 동시에 전송되는 경우, 영상 표시 장치(100)의 리소스 사용이 증가하여 성능이 저해될 수 있다. 영상 표시 장치(100)의 성능 저하를 방지하기 위하여, 시그너처 전송 주기가 네트워크 환경의 상태에 따라 변경될 필요가 있다. 이하에서 도 30 및 도 31을 참조하여 본 발명의 실시 예에 따른 시그너처 전송 주기 변화를 설명한다.
도 30은 본 발명의 일 실시 예에 따른 핑거프린트 주기 변화를 설명하기 위한 도면이다.
도 30에서, 영상 표시 장치(100)는 컨텐트가 인식되지 않으면 A 핑거프린트(A FP) 주기 및 B 핑거프린트(B FP) 주기를 모두 빠르게 설정하고, 컨텐트가 인식되면 B 핑거프린트(B FP) 주기를 낮추어 영상 표시 장치(100)의 리소스 사용을 감소시킬 수 있다. 이때, A 핑거프린트(A FP) 또는 B 핑거프린트(B FP)는 각각 오디오 특징 정보 또는 비디오 특징 정보를 의미할 수 있으며, A 핑거프린트(A FP) 주기, B 핑거프린트(B FP) 주기는 시그너처 전송 주기를 의미할 수 있다.
도 31은 본 발명의 또 다른 실시 예에 따른 핑거프린트 주기 변화를 설명하기 위한 도면이다.
도 31에서, 영상 표시 장치(100)는 컨텐트가 인식된 후 A 핑거프린트(A FP) 주기 및 B 핑거프린트(B FP) 주기를 모두 낮추었다가, B 핑거프린팅이 실패하면, A 핑거프린트(A FP) 주기만을 다시 빠르게 설정할 수 있다. 이때, B 핑거프린팅은 오디오 특징 정보 또는 비디오 특징 정보가 포함된 질의의 전송을 의미하고, B 핑거프린팅의 실패는 오디오 특징 정보 또는 비디오 특징 정보에 대한 질의 결과가 실패임을 의미할 수 있다.
결과적으로 본 발명의 실시 예에 따른 핑거프린트 주기 변화에 따르면, 복수의 핑거프린팅을 적용한 영상 표시 장치(100)가, 실패한 핑거프린팅을 위한 리소스 사용을 줄이고 성공한 핑거프린팅을 위한 리소스 사용을 늘려, 컨텐트 인식 효율을 증가시킬 수 있는 장점이 있다.
컨텐츠 정보의 획득을 위한 핑거프린트 이용시에는, 다양한 요소들이 영향을 미칠 수 있고, 상황에 따라 다양한 설정들이 각각 적용될 수 있다. 이를 위한 핑거프린트 기반의 ACR을 위한 설정 정보 역시, 앞서 설명한 설정 정보 저장부(154)에 저장될 수 있다. 이와 같은 ACR을 위한 설정 정보에 기반하여 비디오 특징 정보와 오디오 특징 정보가 동시에 사용되는 경우, 비디오 특징 정보와 오디오 특징 정보를 조합하는 방식 등이 도출될 수 있다. ACR을 위한 설정 정보는 사용자 입력 또는 영상 표시 장치(100)의 탐지를 통해 획득되거나, 컨텐츠 제공 서버(10) 또는 핑거프린트 서버(22)와 같은 컨텐츠 인식 서비스 제공 서버(20)로부터 제공될 수 있다.
재생 제어부(113)는 설정 정보 저장부(154)에 저장된 ACR을 위한 설정 정보를 기반으로 동작할 수 있다. 또는, 재생 제어부(113)는 외부로부터 예컨대, 컨텐츠 제공 서버(10) 또는 핑거프린트 서버(22)로부터 제공된 ACR 동작에 영향을 미치는 정보를 기반으로 동작할 수도 있다.
ACR을 위한 설정 정보는 외부 입력 인터페이스 종류에 따른 신호 입력에 대한 정보, 시그너처 전송 주기에 대한 정보, 비디오 특징 정보 추출 영역인 샘플링 윈도우(sampling window)에 대한 정보, 오디오 특징 정보에 대응하는 질의 결과와 비디오 특징 정보에 대응하는 질의 결과가 상이한 경우 우선 순위 판단에 대한 정보 등을 포함할 수 있다.
외부 입력 인터페이스 종류에 따른 신호 입력에 대한 정보는 복수의 외부 입력 인터페이스 각각을 통해 입력된 신호가 오디오 신호 및 비디오 신호를 포함하는지 여부에 대한 정보, 오디오 신호 및 비디오 신호 각각의 포맷 정보를 포함할 수 있다.
영상 표시 장치(100)는 복수의 외부 입력 인터페이스 각각을 통해 입력된 신호가 오디오 신호 및 비디오 신호를 포함하는지 여부에 대한 정보를 기반으로 동작할 수 있다. 예컨대, 영상 표시 장치(100)는 제1 외부 입력 인터페이스를 통해 입력된 신호가 오디오 신호를 포함하고 있지 않다는 정보를 기반으로, 제1 외부 입력 인터페이스로부터 수신되는 신호로부터는 비디오 특징 정보만을 추출하여 이용할 수 있다. 또한, 영상 표시 장치(100)는 설정 정보 저장부(154)에 저장된 오디오 신호 및 비디오 신호 각각의 포맷 정보를 이용하여, 컨텐트 인식 동작을 보다 빠르게 수행할 수 있다.
영상 표시 장치(100)는 이와 같은 외부 입력 인터페이스 종류에 따른 신호 입력에 대한 정보를 외부 입력 인터페이스 종류에 따라 각각 수집 및 저장하고, 가장 최근에 입력된 신호에 대한 정보를 기억할 수 있다. 또한, 영상 표시 장치(100)는 외부 입력 인터페이스에 연결된 외부 입력 장치의 식별이 가능한 경우에, 각 외부 입력 장치의 종류에 따른 신호 입력에 대한 정보 역시 저장할 수 있다. 예컨대, 영상 표시 장치(100)는 HDMI를 통해 연결된 외부 입력 장치의 정보를 획득할 수 있으므로, 각 외부 입력 장치의 종류에 따라 해당 외부 입력 장치의 정보를 저장할 수 있다. 한편, 영상 표시 장치(100)는 이러한 외부 입력 장치의 정보를 알 수 없는 경우에, 가장 최근에 입력된 신호에 대한 정보를 기억할 수도 있다.
시그너처 전송 주기에 대한 정보는 얼마나 자주 시그너처 전송을 수행하는지에 대한 정보를 의미할 수 있으며 예컨대, 5초와 같은 시간 주기로 설정될 수 있다. 시그너처 전송 주기는 기본적인 시그너처 전송 주기뿐만 아니라, 비디오 특징 정보와 오디오 특징 정보가 동시에 사용되는 경우에 비디오 특징 정보와 오디오 특징 정보를 조합하여 이용하는 주기를 포함할 수 있다. 비디오 특징 정보가 시그너처로 이용되면, 영상 표시 장치(100)의 컨텐트 인식 속도는 빠른 반면, 대용량 데이터 처리를 위하여 CPU 사용량 등의 리소스 소모량이 커지는 단점이 있다. 따라서, 영상 표시 장치(100)의 컨텐트 인식 속도와 리소스 소모량을 적절하게 조절하기 위하여 시그너처 전송 주기를 동적으로 설정할 수 있으며, 이러한 시그너처 전송 주기 설정에 대한 정보 등이 ACR을 위한 설정 정보로서 저장될 수 있다.
시그너처 전송 주기 설정에 대한 정보는 예컨대, 초기 컨텐트 인식을 위하여 비디오 특징 정보 또는 비디오 특징 정보 및 오디오 특징 정보가 동시에 이용될 것, 컨텐트가 인식된 이후에는 오디오 특징 정보를 통하여 동일한 서비스 또는 동일한 컨텐트가 시청 중인 것으로 확인되는 경우에 한하여, 비디오 특징 정보 전송 주기가 점차적으로 연장될 것, 오디오 특징 정보 등을 통하여 시청 중인 서비스 또는 컨텐트의 변경이 탐지되는 즉시 비디오 특징 정보 또는 비디오 특징 정보 및 오디오 특징 정보를 통해 정확한 컨텐트 인식이 시도될 것에 대한 정보 등을 포함할 수 있다. 이때, 비디오 특징 정보 전송 주기는 예컨대, 동일한 컨텐트 시청 시점으로부터 5분 이내에는 5초, 동일한 컨텐트 시청 시점으로부터 5분 경과 후 10분 이내에는 10초, 동일한 컨텐트 시청 시점으로부터 10분 경과 후 15분 이내에는 20초로 증가되고, 동일한 컨텐트 시청 시점으로부터 15분이 경과한 후에는 시청 시간이 5분씩 증가함에 따라 2배로 증가되는 방식으로 연장될 수 있으며, 이에 한정되는 것은 아니다.
비디오 특징 정보 추출 영역인 샘플링 윈도우에 대한 정보는 사업자에 따라 각기 다른 방송 수신 장치의 GUI 특성 정보에 따라 지정될 수 있다. 즉, 핑거프린트 서버(22)는 영상 표시 장치(100)로부터 전송된 비디오 특징 정보에 대응하는 질의 결과가 실패에 해당하면, 영상 표시 장치(100)의 패턴 히스토리를 분석하여 방송 수신 장치 또는 멀티채널 비디오 분배자의 사업자를 추정하고, 해당 사업자의 방송 수신 장치 또는 멀티채널 비디오 분배자의 GUI 특성 정보를 고려하여 샘플 윈도우를 지정할 수 있다. 따라서, 영상 표시 장치(100)는 영상 표시 장치(100) 자체의 종류, 방송 수신 장치 또는 멀티채널 비디오 분배자의 종류에 따라 각기 다른 샘플링 윈도우를 이용할 수 있다. 영상 표시 장치(100)는 이러한 샘플링 윈도우에 대한 정보를 ACR을 위한 설정 정보로서 저장한 후, 해당 샘플링 윈도우가 포함된 질의를 처음부터 요청할 수도 있다.
오디오 특징 정보에 대응하는 질의 결과와 비디오 특징 정보에 대응하는 질의 결과가 상이한 경우 우선 순위 판단에 대한 정보는 우선 순위로 판단될 정보를 미리 지정하는 방법 또는 우선 순위로 판단될 정보를 알고리즘을 통해 계산하는 방법을 포함할 수 있다. 특히, 하나의 정보를 미리 지정하는 방법과 알고리즘을 통해 우선 순위 정보를 판단하는 방법이 각기 다른 경우, 영상 표시 장치(100)는 ACR을 위한 설정 정보로서 저장된 우선 순위 판단에 대한 정보에 기반하여 어느 하나의 정보를 시그너처로 결정할 수 있다.
도 32는 본 발명의 일 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 컨텐트 인식을 위한 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 방송사/CP와 같은 컨텐츠 제공 서버(10)는 컨텐트의 핑거프린트를 추출하고, ACR 질의 주기를 결정한다(S2401).
방송사/CP는 스스로 보유한 모든 프로그램에 대하여 ACR DB를 구축할 수도 있고, 특정 프로그램에 대하여 ACR DB를 구축할 수도 있다. 특정 프로그램 예컨대, 방송사/CP가 보유한 프로그램 중 인기 있는 프로그램에 대하여 ACR DB를 구축하는 경우, 서버 유지 비용을 줄이고, 프로그램 식별을 위한 조회에 걸리는 시간을 감소시킬 수 있다.
방송사/CP는 ACR 사업자가 제공하는 tool을 사용하여 프로그램의 핑거프린트를 추출하고, 해당 프로그램의 ACR 질의 주기를 결정하여 추출된 핑거프린트와 함께 저장할 수 있다.
해당 프로그램의 ACR 질의 주기는 컨텐트의 특성에 따라 결정될 수 있다.
예를 들면, ACR 질의 주기는 컨텐트와 관련이 있는 부가 서비스의 유무에 따라 결정될 수 있다. 컨텐트와 관련이 있는 부가 서비스가 없는 경우, ACR 질의 주기는 해당 프로그램이 종료되는 시간으로 결정될 수 있는 반면에, 컨텐트와 관련이 있는 부가 서비스가 있는 경우, ACR 질의 주기는 보다 단축될 수 있다. 컨텐트와 관련이 있는 부가 서비스가 없다면, 불필요한 ACR 질의가 전송되지 않도록 해당 프로그램이 종료되는 경우에만 ACR 질의가 전송되어, 비용이 절감될 수 있다. 반면, 컨텐트와 관련이 있는 부가 서비스가 있다면, ACR 질의 주기가 짧게 설정되어 해당 프로그램에 대하여 동기화된 부가 서비스가 제공될 수 있다.
또 다른 예를 들면, ACR 질의 주기는 방송사의 시청률 조사와 같은 ACR 질의 목적에 따라 결정될 수 있다. 따라서, 방송사는 컨텐트와 관련이 있는 부가 서비스가 없는 경우에도 시청률 조사를 위하여 ACR 질의 주기를 3초 등으로 짧게 결정할 수도 있다.
이와 같이, 컨텐츠 제공 서버(10)는 채널별 또는 컨텐트별로, 방송사의 ACR 질의 활용 목적, 컨텐트의 특징 등에 적합하도록 ACR 질의 주기를 각기 다르게 결정할 수 있다.
이어서, 컨텐츠 제공 서버(10)는 핑거프린트 서버(22)에 추출된 핑거프린트 및 결정된 ACR 질의 주기를 전송한다(S2403). 이때, 컨텐츠 제공 서버(10)는 해당 프로그램에 대한 컨텐트 아이디를 핑거프린트와 매핑하여 전달한다.
컨텐츠 제공 서버(10)는 프로그램이 방송으로 송출되기 전 또는 핑거프린트 추출과 동시에 핑거프린트 및 ACR 질의 주기를 전송할 수 있다. 예컨대, 방송사/CP는 사전에 제작된 프로그램에 대한 핑거프린트 및 ACR 질의 주기를 해당 프로그램이 방송으로 송출되기 전에 핑거프린트 서버(22)에 전송할 수 있다. 또는 방송사/CP는 라이브 프로그램이 방송되고 있는 경우, 실시간으로 해당 라이브 프로그램에 대한 핑거프린트를 추출하여 추출된 핑거프린트 및 ACR 질의 주기를 핑거프린트 서버(22)에 전송할 수도 있다.
핑거프린트 서버(22)는 수신된 핑거프린트 및 ACR 질의 주기를 저장한다(S2405). 핑거프린트 서버(22)는 ACR DB에 해당 프로그램의 컨텐트 아이디, 타임 스탬프, 핑거프린트, ACR 질의 주기를 저장할 수 있다.
이어서, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 핑거프린트를 추출하고, 추출한 핑거프린트를 포함하는 ACR 질의 요청 메시지를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송한다(S2407).
핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 제1 ACR 질의 주기를 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다(S2409). 이때, ACR 질의 응답 메시지에는 제1 ACR 질의 주기 외에도 다양한 종류의 컨텐츠 정보가 포함될 수 있다. 이하에서, ACR 질의 응답 메시지에 포함된 해당 프로그램의 컨텐츠 정보의 예를 도 33과 표 5를 참조하여 설명한다.
도 33은 본 발명의 또 다른 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램을 보여준다.
도 33에 도시된 바와 같이, 질의 결과를 담는 ACR-Resulttype은 ResultCode 속성과 ContentID, NTPTimestamp, QueryInterval, Confidence 엘리먼트를 갖는다.
예컨대, ResultCode 속성이 200의 값을 가지면, 이는 질의 결과가 성공임을 의미할 수 있다. ResultCode 속성이 404의 값을 가지면, 이는 질의 결과가 실패임을 의미할 수 있다.
NTPTimestamp 엘리먼트는 핑거프린트가 추출된 컨텐트 구간의 시작 시간, 종료 시간 중 하나 이상을 포함할 수 있다.
QueryInterval 엘리먼트는 ACR 질의 주기를 의미하며, 다음 ACR 질의(Next ACR Query)의 전송 시간을 나타낸다. 다음 ACR 질의 시간은 절대 시간 또는 상대 시간을 의미할 수 있다. 절대적인 ACR 질의 시간은 다음 ACR 질의가 전송될 시각을 나타내며, 상대적인 ACR 질의 시간은 다음 ACR 질의가 전송되기까지 기다려야 할 시간(wait time)을 나타낼 수 있다.
Confidence 엘리먼트는 컨텐트 인식의 정확도를 나타낸다. Confidence 엘리먼트는 매핑의 정도에 따라 0 내지 100 중 어느 하나의 값을 가질 수 있다. 예컨대, 핑거프린트가 프로그램에 정확하게 매핑되었다고 확신되는 경우, Confidence 엘리먼트는 100의 값을 가질 수 있다.
표 5는 이와 같은 질의 결과를 담는 ACR-ResultType의 XML Schema를 보여준다.
Figure pct00007
다시 도 32를 설명한다.
이어서, 제1 ACR 질의 주기에 해당하는 시간이 경과한 후, 영상 표시 장치(100)가 메인 시청각 컨텐트의 또 다른 일부 프레임 또는 또 다른 일부 구간의 오디오 샘플로부터 핑거프린트를 추출하고, 추출한 핑거프린트를 포함하는 ACR 질의 요청 메시지를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송하면(S2411), 핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 제2 ACR 질의 주기를 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다(S2413).
또한, 제2 ACR 질의 주기에 해당하는 시간이 경과한 후, 영상 표시 장치(100)가 메인 시청각 컨텐트의 또 다른 일부 프레임 또는 또 다른 일부 구간의 오디오 샘플로부터 핑거프린트를 추출하고, 추출한 핑거프린트를 포함하는 ACR 질의 요청 메시지를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송하면(S2415), 핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 제3 ACR 질의 주기를 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다(S2417).
이때, 제1 내지 제3 ACR 질의 주기는 동일하거나, 각기 다를 수 있다.
다음은 도 34와 표 6 내지 표 7을 참조하여 본 발명의 실시 예에 따른 ACR 질의 주기 결정 방법을 설명한다.
도 34는 본 발명의 일 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지에 포함된 복수의 영상 표시 장치 각각의 핑거프린트 주기를 설명하기 위한 도면이다.
도 34에서, Program A는 관련이 있는 부가 서비스가 없는 1시간 분량의 프로그램이고, Program B는 관련이 있는 부가 서비스가 있는 30분 분량의 프로그램이다. 이에 따라 방송사는 Program A 및 Program B에 대하여 ACR DB를 구축하였는데, Program A에 대한 ACR 질의 빈도가 최저로 설정된 반면, 인기 있는 프로그램인 Program B에 대한 ACR 질의 빈도는 보다 높게 설정된 상태이다.
도 34를 참조하면, 제1 영상 표시 장치(장치 1)는 제1 시점(t1)에 채널을 변경하여 Program A 재생을 개시하면, 핑거프린트 서버(22)로부터 표 6과 같은 ACR 질의 응답을 수신한다.
Figure pct00008
표 6에서, QueryInterval은 다음 ACR 질의가 전송되기까지 기다려야 할 상대적인 ACR 질의 시간이고, 초(second)의 단위를 갖는다. 또한, NTPTimestamp는 컨텐트의 현재 재생 시간을 나타내며, 컨텐트의 시작 시간으로부터 상대적인 시간으로 표시될 수 있고, 밀리초(milisecond)의 단위를 갖는다. 참고로, QueryInterval 및 NTPTimestamp가 나타내는 내용 및 단위는 이하 표 7 내지 도 9에서 동일하다.
표 6을 참조하면, 제1 영상 표시 장치(장치 1)는 ACR 질의 응답을 수신한 후 2700초 즉, 45분이 경과한 시점인 제 3a 시점(t3a)에 다음 ACR 질의를 요청할 수 있다. 또한, 제1 영상 표시 장치(장치 1)의 현재 시청 시점은 Program A의 시작 시점으로부터 900000 밀리초 즉, 15분이 경과된 시점임을 알 수 있다.
다시 도 34를 참조하면, 제2 영상 표시 장치(장치 2)는 제2 시점(t2)에 채널을 변경하여 Program A 재생을 개시하면, 핑거프린트 서버(22)로부터 표 7과 같은 ACR 질의 응답을 수신한다.
Figure pct00009
표 7을 참조하면, 제2 영상 표시 장치(장치 2)는 ACR 질의 응답을 수신한 후 905초 즉, 15분 5초가 경과한 시점인 제 3b 시점(t3b)에 다음 ACR 질의를 요청할 수 있다. 또한, 제2 영상 표시 장치(장치 2)의 현재 시청 시점은 Program A의 시작 시점으로부터 2700000 밀리초 즉, 45분이 경과된 시점임을 알 수 있다.
이때, 방송사는 복수의 영상 표시 장치로부터 복수의 ACR 질의가 동시에 전송되는 것을 방지하기 위하여, 각 영상 표시 장치마다 ACR 질의 주기를 각기 다르게 결정할 수도 있다. 예를 들면, 표 6 및 표 7에 나타난 바와 같이, 제1 영상 표시 장치(장치 1)가 다음 ACR 질의를 전송하는 시간 및 제2 영상 표시 장치(장치 2)가 다음 ACR 질의를 전송하는 시간 사이에 5초의 시간 차이가 발생되도록 ACR 질의 주기가 설정될 수 있다.
다시 도 34를 참조하면, 제1 영상 표시 장치(장치 1)가 제 3a 시점(t3a)에 다음 ACR 질의를 요청하면, 핑거프린트 서버(22)로부터 표 8과 같은 ACR 질의 응답을 수신한다. 이때, 제 3a 시점(t3a)은 Program B의 재생이 개시되는 시점일 수 있다.
Figure pct00010
표 8을 참조하면, 제1 영상 표시 장치(장치 1)는 ACR 질의 응답을 수신한 후 300초 즉, 5분이 경과한 시점인 제 4 시점(t4)에 다음 ACR 질의를 요청할 수 있다. 또한, 제1 영상 표시 장치(장치 1)의 현재 시청 시점은 Program B의 시작 시점임을 알 수 있다.
다시 도 34를 참조하면, 제2 영상 표시 장치(장치 2)가 제 3b 시점(t3b)에 다음 ACR 질의를 요청하면, 핑거프린트 서버(22)로부터 표 9와 같은 ACR 질의 응답을 수신한다. 이때, 제 3b 시점(t3b)은 Program B의 재생 개시 후 5초가 경과된 시점일 수 있다.
Figure pct00011
표 9를 참조하면, 제2 영상 표시 장치(장치 2)는 ACR 질의 응답을 수신한 후 300초 즉, 5분이 경과한 시점(미도시됨)에 다음 ACR 질의를 요청할 수 있다. 또한, 제1 영상 표시 장치(장치 1)의 현재 시청 시점은 Program B의 시작 시점으로부터 5000 밀리초 즉, 5초가 경과된 시점임을 알 수 있다.
도 35는 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 컨텐트 인식을 위한 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 방송사/CP와 같은 컨텐츠 제공 서버(10)는 컨텐트의 핑거프린트를 추출하고, 핑거프린트 타입을 결정한다(S2501).
방송사/CP는 ACR 사업자가 제공하는 tool을 사용하여 프로그램의 핑거프린트를 추출하고, 해당 프로그램의 핑거프린트 타입을 결정하여 추출된 핑거프린트와 함께 저장할 수 있다.
해당 프로그램의 핑거프린트 타입은 컨텐트의 특성에 따라 비디오 핑거프린트, 오디오 핑거프린트 중 하나 이상을 포함하는 타입으로 결정될 수 있다.
이어서, 컨텐츠 제공 서버(10)는 핑거프린트 서버(22)에 추출된 핑거프린트 및 결정된 핑거프린트 타입을 전송한다(S2503). 이때, 컨텐츠 제공 서버(10)는 해당 프로그램에 대한 컨텐트 아이디를 핑거프린트와 매핑하여 전달한다.
컨텐츠 제공 서버(10)는 프로그램이 방송으로 송출되기 전 또는 핑거프린트 추출과 동시에 핑거프린트 및 핑거프린트 타입을 전송할 수 있다. 예컨대, 방송사/CP는 사전에 제작된 프로그램에 대한 핑거프린트 및 핑거프린트 타입을 해당 프로그램이 방송으로 송출되기 전에 핑거프린트 서버(22)에 전송할 수 있다. 또는 방송사/CP는 라이브 프로그램이 방송되고 있는 경우, 실시간으로 해당 라이브 프로그램에 대한 핑거프린트를 추출하여 추출된 핑거프린트 및 핑거프린트 타입을 핑거프린트 서버(22)에 전송할 수도 있다.
핑거프린트 서버(22)는 수신된 핑거프린트 및 핑거프린트 타입을 저장한다(S2505). 핑거프린트 서버(22)는 ACR DB에 방송사로부터 전송된 해당 프로그램의 컨텐트 아이디, 타임 스탬프, 핑거프린트, 핑거프린트 타입을 저장할 수 있다.
이어서, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 핑거프린트를 추출하고, 추출한 핑거프린트를 포함하는 ACR 질의 요청 메시지를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송한다(S2507).
이때, 영상 표시 장치(100)가 추출한 핑거프린트는 디폴트(default) 타입의 핑거프린트일 수 있다. 영상 표시 장치(100)에서 추출된 핑거프린트의 디폴트 타입은 해당 컨텐트를 보유한 방송사에 따라 각기 다를 수 있으며, 네트워크에 포함된 복수의 영상 표시 장치 각각에서 추출된 핑거프린트의 디폴트 타입도 각각 다를 수 있다.
핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 다음 핑거프린트 타입을 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다(S2509).
이때, ACR 질의 응답 메시지에는 다음 핑거프린트 타입 외에도 다양한 종류의 컨텐츠 정보가 포함될 수 있다. 이하에서, ACR 질의 응답 메시지에 포함된 해당 프로그램의 컨텐츠 정보의 예를 도 36과 표 10을 참조하여 설명한다.
도 36은 본 발명의 또 다른 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램을 보여준다.
도 36에 도시된 바와 같이, 질의 결과를 담는 ACR-Resulttype은 ResultCode 속성과 ContentID, NTPTimestamp, NextFPType, Confidence 엘리먼트를 갖는다.
예컨대, ResultCode 속성이 200의 값을 가지면, 이는 질의 결과가 성공임을 의미할 수 있다. ResultCode 속성이 404의 값을 가지면, 이는 질의 결과가 실패임을 의미할 수 있다.
NTPTimestamp 엘리먼트는 핑거프린트가 추출된 컨텐트 구간의 시작 시간, 종료 시간 중 하나 이상을 포함할 수 있다.
NextFPType 엘리먼트는 다음 핑거프린트 타입을 의미하며, 영상 표시 장치(100)에서 추출되어 핑거프린트 서버(22)에서 매핑의 대상이 되는 핑거프린트의 종류를 나타낸다. NextFPType 엘리먼트는 도면 부호 S2501 단계에서, 방송사가 컨텐트의 특성에 따라 미리 결정한 해당 프로그램의 핑거프린트 타입을 의미할 수 있다. 이때, 다음 핑거프린트 타입은 비디오 핑거프린트, 오디오 핑거프린트 중 하나 이상을 포함하는 타입일 수 있다. 컨텐트의 특성에 따라 하나의 컨텐트 당 하나의 핑거프린트 타입이 결정될 수도 있고, 하나의 컨텐트 당 타임스탬프에 따라 각기 다른 타입의 복수의 핑거프린트 타입이 결정될 수도 있다.
Confidence 엘리먼트는 컨텐트 인식의 정확도를 나타낸다. Confidence 엘리먼트는 매핑의 정도에 따라 0 내지 100 중 어느 하나의 값을 가질 수 있다. 예컨대, 핑거프린트가 프로그램에 정확하게 매핑되었다고 확신되는 경우, Confidence 엘리먼트는 100의 값을 가질 수 있다.
표 10은 이와 같은 질의 결과를 담는 ACR-ResultType의 XML Schema를 보여준다.
Figure pct00012
다시 도 35를 설명한다.
이어서, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 핑거프린트를 추출하고, 추출한 핑거프린트를 포함하는 ACR 질의 요청 메시지를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송한다(S2511).
이때, 영상 표시 장치(100)가 추출한 핑거프린트는 도면 부호 S2509 단계에서 수신된 ACR 질의 응답메시지에 포함된 다음 핑거프린트 타입의 핑거프린트일 수 있다.
핑거프린트 서버(22)는 도면 부호 S2511 단계에서 수신된 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 다음 핑거프린트 타입을 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다(S2513).
다음은 표 13 내지 표 15를 참조하여 본 발명의 실시 예에 따른 핑거프린트 타입 결정 기준과 ACR 질의 응답을 설명한다.
첫 번째로, 스포츠 중계 등과 같이 유사한 영상을 여러 채널에서 방송할 수 있는 컨텐트는 비디오 특성 정보로 프로그램을 식별하기 어려운 특성이 있다. 다만, 유사한 영상을 여러 채널에서 방송할 수 있는 컨텐트는 방송사마다 중계 해설에 따른 오디오 신호가 다를 수 있으므로, 오디오 특성 정보로 해당 프로그램을 식별할 수 있으므로, 각 방송사는 핑거프린트 타입을 오디오 핑거프린트로 미리 결정할 수 있다.
이와 같은 첫 번째 경우에, 프로그램이 시작되거나 채널의 변경으로 해당 프로그램이 시청 대상이 되면, TV와 같은 영상 표시 장치(100)는 해당 프로그램으로부터 추출된 핑거프린트가 포함된 ACR 질의 요청 메시지를 핑거프린트 서버(22)에 전송한다. 이때, 영상 표시 장치(100)는 미리 정해진 디폴트 타입의 핑거프린트를 추출하거나 오디오 핑거프린트 및 비디오 핑거프린트를 함께 추출할 수 있으며, 이에 한정된 것은 아니다.
ACR 질의 요청 메시지를 수신한 핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별하고, 이 식별한 프로그램의 미리 정해진 다음 핑거프린트 타입을 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다. 표 11은 첫 번째 경우에 핑거프린트 서버(22)가 영상 표시 장치(100)에 제공하는 ACR 질의 응답을 보여준다.
Figure pct00013
표 11에서 보여진 바와 같이, 첫 번째 경우의 다음 핑거프린트 타입은 오디오 핑거프린트 타입이다.
두 번째로, 국경일 기념식이나 연설 또는 하나의 방송사가 다른 방송사에서 제작 및 방송했던 컨텐트를 구매하여 재방송하는 등의 신디케이티드 프로그램(syndicated program)은 오디오 만으로 컨텐트 자체를 식별하는 것은 가능하나, 방송 주체인 방송사를 식별할 수 없기 때문에, 방송사에 따른 컨텐트를 식별할 수 없다.
이와 같은 두 번째 경우에, 비디오 핑거프린트로 컨텐트 및 방송사 로고가 식별될 필요가 있다. 또는, 오디오 핑거프린트로 컨텐트가 식별되면서 추가로 비디오 핑거프린트로 방송사 로고가 식별될 수도 있으며, 이에 한정된 것은 아니다.
표 12는 두 번째 경우에 핑거프린트 서버(22)가 영상 표시 장치(100)에 제공하는 ACR 질의 응답을 보여준다.
Figure pct00014
표 12에서 보여진 바와 같이, 두 번째 경우의 다음 핑거프린트 타입은 오디오 및 비디오(audioandvideo) 핑거프린트 타입이다.
세 번째로, 드라마나 영화에서 배경 음악이 나오는 동안에는 해당 컨텐트를 식별할 수 없는 순간이 있다. 세 번째 경우에는, 컨텐트의 타임라인에 따라 핑거프린트 타입을 변경하면 해당 컨텐트를 보다 명확하게 식별할 수 있다. 이때, 영상 표시 장치(100)가 미리 정해진 주기에 따라 ACR 질의 요청을 전송하면, 핑거프린트 서버(22)는 해당 컨텐트의 종류에 따라 미리 정해진 시간에 미리 정해진 핑거프린트 타입이 포함된 ACR 질의 응답을 보낼 수 있다. 이때, 영상 표시 장치(100)는 수신된 ACR 질의 응답에 포함된 핑거프린트 타입의 핑거프린트를 추출하여 다음 ACR 질의 요청에 포함시킬 수 있다.
표 13은 세 번째 경우에 핑거프린트 서버(22)가 영상 표시 장치(100)에 제공하는 ACR 질의 응답을 보여준다.
Figure pct00015
표 13에서 보여진 바와 같이, 세 번째 경우의 다음 핑거프린트 타입은 컨텐트의 현재 재생 시간(NTPTimestamp)에 따라 변경될 수 있다. 예컨대, 컨텐트의 현재 재생 시간이 300000초 즉, 5분일 때 다음 핑거프린트 타입은 오디오 핑거프린트 타입이고, 컨텐트의 현재 재생 시간이 900000초 즉, 15분일 때 다음 핑거프린트 타입은 비디오 핑거프린트 타입일 수 있다.
한편, caption 또는 subtitle과 같은 자막 정보가 포함된 컨텐트 식별을 위해 비디오 핑거프린트가 사용되는 경우, 비디오 영상 위에 자막 정보가 오버레이되면 비디오 핑거프린트 알고리즘에 따라 컨텐트 식별에 실패할 수 있다.
만약 이러한 경우에도 컨텐트 식별에 성공한다면, noise가 포함된 컨텐트 식별을 의미하므로, false positive가 발생할 수 있다. false positive는 서로 다른 컨텐트를 동일한 컨텐트로 인식하는 경우를 의미하며 예컨대, 서로 다른 프로그램 간에 유사한 장면이 나타날 경우에는 동일 프로그램으로 식별될 수도 있다.
이와 같은 비디오 핑거프린트로 인한 오류를 방지하기 위한 샘플링 윈도우를 이용한 핑거프린트 기법을 도 37 내지 도 40을 참조하여 설명한다.
도 37은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 컨텐트 인식을 위한 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 방송사/CP와 같은 컨텐츠 제공 서버(10)는 컨텐트의 핑거프린트를 추출하고, 샘플링 윈도우(sampling window)를 지정한다(S2601).
샘플링 윈도우는 컨텐트의 전체 비디오 화면 중에서 비디오 핑거프린트를 추출하기 위한 영역을 의미한다. 이때, 샘플링 윈도우는 프로그램에서 자막 정보가 출력되는 공간을 피해서 지정된 비디오 영역일 수 있다. 방송국/CP는 컨텐트를 생성할 뿐만 아니라, 비디오 영상에서 자막 정보가 표시될 위치 역시 결정하기 때문에, 비디오 핑거프린트를 위해 샘플링해야할 영역을 알 수 있다.
방송사/CP는 ACR 사업자가 제공하는 tool을 사용하여 프로그램의 핑거프린트를 추출하고, 해당 프로그램의 자막 정보 출력 위치에 따른 샘플링 윈도우를 지정하여 추출된 핑거프린트와 함께 저장할 수 있다.
이때, 자막 정보가 프로그램 전체 구간 걸쳐 동일한 위치에서 출력되는 경우에는, 샘플링 윈도우는 해당 프로그램에 대하여 항상 동일하게 지정될 수 있다. 반면에, 자막 정보가 프로그램의 시간 구간에 따라 각기 다른 영역에서 출력되는 경우에는, 샘플링 윈도우는 프로그램의 구간에 따라 각각 다르게 지정될 수 있다.
이어서, 컨텐츠 제공 서버(10)는 핑거프린트 서버(22)에 추출된 핑거프린트 및 지정된 샘플링 윈도우를 전송한다(S2603). 이때, 컨텐츠 제공 서버(10)는 해당 프로그램에 대한 컨텐트 아이디를 핑거프린트와 매핑하여 전달한다.
컨텐츠 제공 서버(10)는 프로그램이 방송으로 송출되기 전 또는 핑거프린트 추출과 동시에 핑거프린트 및 샘플링 윈도우를 전송할 수 있다. 예컨대, 방송사/CP는 사전에 제작된 프로그램에 대한 핑거프린트 및 지정된 샘플링 윈도우를 해당 프로그램이 방송으로 송출되기 전에 핑거프린트 서버(22)에 전송할 수 있다. 또는 방송사/CP는 라이브 프로그램이 방송되고 있는 경우, 실시간으로 해당 라이브 프로그램에 대한 핑거프린트를 추출하여 추출된 핑거프린트 및 샘플링 윈도우를 핑거프린트 서버(22)에 전송할 수도 있다.
핑거프린트 서버(22)는 수신된 핑거프린트 및 지정된 샘플링 윈도우를 저장한다(S2605). 핑거프린트 서버(22)는 ACR DB에 방송사로부터 전송된 해당 프로그램의 컨텐트 아이디, 타임 스탬프, 핑거프린트, 샘플링 윈도우를 저장할 수 있다.
이어서, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 핑거프린트를 추출하고, 추출한 핑거프린트를 포함하는 ACR 질의 요청 메시지를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송한다(S2607).
핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 제1 샘플링 윈도우를 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다(S2609).
이때, ACR 질의 응답 메시지에는 샘플링 윈도우 외에도 다양한 종류의 컨텐츠 정보가 포함될 수 있다. 이하에서, ACR 질의 응답 메시지에 포함된 해당 프로그램의 컨텐츠 정보의 예를 도 38과 표 14를 참조하여 설명한다.
도 38은 본 발명의 또 다른 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램을 보여준다.
도 38에 도시된 바와 같이, 질의 결과를 담는 ACR-Resulttype은 ResultCode 속성과 ContentID, NTPTimestamp, SamplingWindow, Confidence 엘리먼트를 갖는다.
예컨대, ResultCode 속성이 200의 값을 가지면, 이는 질의 결과가 성공임을 의미할 수 있다. ResultCode 속성이 404의 값을 가지면, 이는 질의 결과가 실패임을 의미할 수 있다.
NTPTimestamp 엘리먼트는 핑거프린트가 추출된 컨텐트 구간의 시작 시간, 종료 시간 중 하나 이상을 포함할 수 있다.
SamplingWindow 엘리먼트는 ACR 질의를 위하여 필요한 샘플링 윈도우의 유효 시간, 위치 및 크기 등을 나타낸다.
SamplingWindow 엘리먼트는 x element, y element, width element, height element를 포함할 수 있고, 각 element의 단위는 픽셀(pixel)이다. x element는 샘플링 윈도우의 좌측 상단의 x 좌표일 수 있다. y element는 샘플링 윈도우의 좌측 상단의 y 좌표일 수 있다. width element는 샘플링 윈도우의 폭일 수 있다. height element는 샘플링 윈도우의 높이일 수 있다.
또한, 도 38의 SamplingWindow 엘리먼트는 ValidFrom element, ValidTo element를 포함할 수 있다. ValidFrom element는 샘플링 윈도우의 샘플링 유효 시작 시점의 시간일 수 있다. ValidTo element는 샘플링 윈도우의 샘플링 유효 종료 시점의 시간일 수 있다. 영상 표시 장치(100)는 샘플링 윈도우의 유효 시간 즉, 샘플링 윈도우의 샘플링 유효 시작 시점부터 샘플링 윈도우의 샘플링 유효 종료 시점에 이르는 시간에 해당 샘플링 윈도우를 이용할 수 있다.
Confidence 엘리먼트는 컨텐트 인식의 정확도를 나타낸다. Confidence 엘리먼트는 매핑의 정도에 따라 0 내지 100 중 어느 하나의 값을 가질 수 있다. 예컨대, 핑거프린트가 프로그램에 정확하게 매핑되었다고 확신되는 경우, Confidence 엘리먼트는 100의 값을 가질 수 있다.
표 14는 이와 같은 질의 결과를 담는 ACR-ResultType의 XML Schema를 보여준다.
Figure pct00016
다시 도 37을 설명한다.
이어서, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 핑거프린트를 추출하고, 추출한 핑거프린트를 포함하는 ACR 질의 요청 메시지를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송한다(S2611).
이때, 영상 표시 장치(100)가 추출한 핑거프린트는 도면 부호 S2609 단계에서 수신된 ACR 질의 응답메시지에 포함된 샘플링 윈도우에 의한 핑거프린트일 수 있다.
핑거프린트 서버(22)는 도면 부호 S2611 단계에서 수신된 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별하고, 이 식별한 프로그램에 대한 제2 샘플링 윈도우를 포함하는 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다(S2613).
이때, 프로그램의 동일 여부, 프로그램의 자막 정보 유무, 자막 정보 위치 변경 여부 등에 따라, 제1 샘플링 윈도우와 제2 샘플링 윈도우의 SamplingWindow element가 동일하거나, 또는 서로 상이할 수 있다.
한편, 컨텐트 식별을 위해 비디오 핑거프린트를 사용하는 경우, 영상 표시 장치(100)로 전송되는 프로그램 영상에, 해당 컨텐트에는 포함되어 있지 않은 온 스크린 디스플레이(On Screen Display, OSD)가 오버레이되면, 비디오 핑거프린트 알고리즘에 따라 컨텐트 식별에 실패할 수 있다. 온 스크린 디스플레이는 메뉴, 전자 프로그램 가이드(EPG, Electronic Program Guide), 채널 바, 위젯 등을 포함할 수 있다. 온 스크린 디스플레이는 컨텐츠 제공 서버(10)와 핑거프린트 서버(22)를 제외한 사업자로부터 제공되는 정보를 의미할 수 있다. 이하에서 사업자는 MVPD 사업자(30) 또는 방송 수신 장치(60)와 같이, 컨텐츠 제공 서버(10)와 핑거프린트 서버(22)를 제외한 사업자를 의미할 수 있다. 이와 같은 온 스크린 디스플레이등에 의하여 앞서 설명한 false positive가 발생할 수 있다.
다음은 false positive 등의 발생을 방지하기 위하여 영상 표시 장치(100)와 연결된 MVPD(30) 사업자 등을 추정하고, 추정된 MVPD(30) 사업자의 GUI 특성 정보에 따라 샘플링 윈도우를 지정하는 방법을 도 39 및 도 40을 참조하여 설명한다.
도 39는 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 네트워크 토폴로지 내의 컨텐트 인식을 위한 데이터 흐름을 보여주는 래더 다이어그램이다.
먼저, 방송사/CP와 같은 컨텐츠 제공 서버(10)는 컨텐트의 핑거프린트를 추출한다(S2701).
방송사/CP는 ACR 사업자가 제공하는 tool을 사용하여 프로그램의 핑거프린트를 추출하고, 해당 프로그램의 컨텐트 아이디, 타임스탬프 등을 추출된 핑거프린트와 함께 저장할 수 있다.
이어서, 컨텐츠 제공 서버(10)는 핑거프린트 서버(22)에 추출된 핑거프린트를 전송한다(S2703). 이때, 컨텐츠 제공 서버(10)는 해당 프로그램에 대한 컨텐트 아이디를 핑거프린트와 매핑하여 전달한다.
컨텐츠 제공 서버(10)는 프로그램이 방송으로 송출되기 전 또는 핑거프린트 추출과 동시에 핑거프린트를 전송할 수 있다. 예컨대, 방송사/CP는 사전에 제작된 프로그램에 대한 핑거프린트를 해당 프로그램이 방송으로 송출되기 전에 핑거프린트 서버(22)에 전송할 수 있다. 또는 방송사/CP는 라이브 프로그램이 방송되고 있는 경우, 실시간으로 해당 라이브 프로그램에 대한 핑거프린트를 추출하여 추출된 핑거프린트를 핑거프린트 서버(22)에 전송할 수도 있다.
핑거프린트 서버(22)는 수신된 핑거프린트를 저장한다(S2705). 핑거프린트 서버(22)는 ACR DB에 방송사로부터 전송된 해당 프로그램의 컨텐트 아이디, 타임 스탬프, 핑거프린트를 저장할 수 있다.
또한, 핑거프린트 서버(22)는 컨텐츠 제공 서버(10)로부터 사업자별 GUI 특성 정보를 획득한다(S2707). GUI 특성 정보는 온 스크린 디스플레이에 대한 위치, 크기, 형태에 대한 정보를 의미한다. GUI 특성 정보는 방송사에게서 제공받을 수도 있고, 제3의 사업자에게서 전달받을 수도 있으며, ACR 사업자가 직접 파악할 수도 있다.
이어서, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 핑거프린트를 추출하고, 추출한 핑거프린트를 포함하는 ACR 질의 요청 메시지를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송한다(S2709).
핑거프린트 서버(22)는 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별한다(S2711).
핑거프린트 서버(22)는 핑거프린트에 매칭되는 프로그램이 없는 경우, 영상 표시 장치(100)가 전송한 핑거프린트 중에서 실패한 핑거프린트 리스트를 분석하여, 온 스크린 디스플레이를 제공한 사업자를 추정한다(S2713). 핑거프린트 서버(22)는 실패한 핑거프린트 리스트를 분석하여 사업자별 GUI 특성 정보를 비교한 결과, 해당 온 스크린 디스플레이를 제공한 사업자를 추정한다.
또한, 핑거프린트 서버(22)는 추정된 사업자의 GUI 특성 정보를 검색하고, 검색된 GUI 특성 정보에 따른 샘플링 윈도우를 생성한다(S2715).
이어서, 핑거프린트 서버(22)는 인식실패 및 생성된 샘플링 윈도우가 포함된 ACR 질의 요청 메시지를 영상 표시 장치(100)에 전송한다(S2717).
이때, ACR 질의 응답 메시지에는 인식실패 및 샘플링 윈도우 외에도 다양한 종류의 컨텐츠 정보가 포함될 수 있다. 이하에서, ACR 질의 응답 메시지에 포함된 해당 프로그램의 컨텐츠 정보의 예를 도 40 및 표 15를 참조하여 설명한다.
도 40은 본 발명의 또 다른 실시 예에 따른 질의 결과를 담는 ACR-Resulttype의 XML 스키마 다이어그램을 보여준다.
도 40에 도시된 바와 같이, 질의 결과를 담는 ACR-Resulttype은 ResultCode 속성과 ContentID, NTPTimestamp, SamplingWindow, Confidence 엘리먼트를 갖는다.
예컨대, ResultCode 속성이 200의 값을 가지면, 이는 질의 결과가 성공임을 의미할 수 있다. ResultCode 속성이 404의 값을 가지면, 이는 질의 결과가 실패임을 의미할 수 있다. 도 39의 도면 부호 S2717 단계에서 전송되는 ACR 질의 응답 메시지에 포함된 ResultCode 속성은 404의 값을 가질 수 있다.
NTPTimestamp 엘리먼트는 핑거프린트가 추출된 컨텐트 구간의 시작 시간, 종료 시간 중 하나 이상을 포함할 수 있다.
SamplingWindow 엘리먼트는 ACR 질의를 위하여 필요한 샘플링 윈도우의 위치 및 크기 등을 나타낸다.
SamplingWindow 엘리먼트는 x element, y element, width element, height element를 포함할 수 있고, 각 element의 단위는 픽셀(pixel)이다. x element는 샘플링 윈도우의 좌측 상단의 x 좌표일 수 있다. y element는 샘플링 윈도우의 좌측 상단의 y 좌표일 수 있다. width element는 샘플링 윈도우의 폭일 수 있다. height element는 샘플링 윈도우의 높이일 수 있다.
또한, 도 40의 SamplingWindow 엘리먼트는 guiType element를 포함할 수 있다. guiType element는 메뉴, 전자 프로그램 가이드 등의 온 스크린 디스플레이의 GUI 타입을 문자열로 표시할 수 있다. 이때, 해당 컨텐트는 guiType element에 따라 상이한 복수의 샘플링 윈도우를 가질 수 있다.
Confidence 엘리먼트는 컨텐트 인식의 정확도를 나타낸다. Confidence 엘리먼트는 매핑의 정도에 따라 0 내지 100 중 어느 하나의 값을 가질 수 있다. 예컨대, 핑거프린트가 프로그램에 정확하게 매핑되었다고 확신되는 경우, Confidence 엘리먼트는 100의 값을 가질 수 있다.
표 15는 이와 같은 질의 결과를 담는 ACR-ResultType의 XML Schema를 보여준다.
Figure pct00017
다시 도 39를 설명한다.
이어서, 영상 표시 장치(100)는 메인 시청각 컨텐트의 일부 프레임 또는 일부 구간의 오디오 샘플로부터 핑거프린트를 추출하고, 추출한 핑거프린트를 포함하는 ACR 질의 요청 메시지를 ACR 서버에 해당하는 핑거프린트 서버(22)에 전송한다(S2719).
이때, 영상 표시 장치(100)가 추출한 핑거프린트는 도면 부호 S2717 단계에서 수신된 ACR 질의 응답메시지에 포함된 샘플링 윈도우에 의한 핑거프린트일 수 있다.
핑거프린트 서버(22)는 도면 부호 S2719 단계에서 수신된 ACR 질의 요청 메시지 내의 핑거프린트를 ACR DB에서 조회하여 핑거프린트에 해당하는 프로그램을 식별하고, 인식성공을 포함한 ACR 질의 응답 메시지를 영상 표시 장치(100)에 제공한다(S2721).
다음은 도 41 및 도 42를 참조하여 본 발명의 다양한 실시 예에 따른 영상 표시 장치의 구조를 설명한다.
도 41은 본 발명의 또 다른 실시 예에 따른 핑거프린트 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 41에서, 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 중에서 영상 표시 장치(100)가 처리하고자 하는 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 서비스를 제공하는 어플리케이션 모듈로서, 시청중인 방송 컨텐트를 식별하여 이와 연계된 확장된 서비스를 제공한다.
도 42는 본 발명의 또 다른 실시 예에 따른 워트마크 기반의 영상 표시 장치의 구조를 보여주는 블록도이다.
도 42에 도시된 워트마크 기반의 영상 표시 장치는 도 41에 도시된 핑거프린트 기반의 영상 표시 장치와 유사하나, 핑거프린트 기반의 영상 표시 장치의 Fingerprint Extractor(565)와 Fingerprint Comparator(567)를 포함하지 않으며, 대신 Watermark Extractor(566)를 더 포함한다.
Watermark Extractor(566)는 Audio/Video 스트림으로부터 watermark형태로 삽입된 데이터를 추출한다. 이렇게 추출된 데이터는 Application에 전달되어 이용될 수 있다.
본 발명의 일 실시 예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
상기와 같이 설명된 영상 표시 장치는 상기 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.

Claims (20)

  1. 디스플레이부를 포함하는 영상 표시 장치의 동작 방법에 있어서,
    비압축 시청각 컨텐트를 획득하는 단계;
    상기 디스플레이부를 통해 상기 비압축 시청각 컨텐트를 재생하는 단계;
    상기 비압축 시청각 컨텐트의 일부에 기초하여 상기 일부의 비디오 특징 정보, 오디오 특징 정보 중 적어도 하나를 추출하는 단계;
    상기 비디오 특징 정보, 상기 오디오 특징 정보 중 적어도 하나를 포함하는 질의에 대한 응답을 통해 상기 비압축 시청각 컨텐트의 컨텐츠 정보를 획득하는 단계;
    상기 컨텐츠 정보에 기초하여 부가 서비스를 획득하는 단계; 및
    상기 디스플레이부를 통해 상기 부가 서비스를 재생하는 단계를 포함하는
    영상 표시 장치의 동작 방법.
  2. 제1항에 있어서,
    상기 컨텐츠 정보는 상기 비압축 시청각 컨텐트의 식별자, 상기 일부에 해당하는 시간 정보, 다음 질의 시간 정보 중 적어도 하나를 포함하고,
    상기 제어 방법은,
    상기 다음 질의 시간 정보에 기초하여, 상기 비디오 특징 정보, 상기 오디오 특징 정보 중 적어도 하나를 포함하는 다음 질의를 요청하는 단계를 더 포함하는
    영상 표시 장치의 제어 방법.
  3. 제2항에 있어서,
    상기 다음 질의 시간 정보는 상기 다음 질의를 요청할 시각 정보인 절대적인 다음 질의 시간 정보에 해당하고,
    상기 제어 방법은,
    상기 절대적인 다음 질의 시간 정보에 기초하여, 상기 비디오 특징 정보, 상기 오디오 특징 정보 중 적어도 하나를 포함하는 다음 질의를 요청하는 단계를 더 포함하는
    영상 표시 장치의 제어 방법.
  4. 제2항에 있어서,
    상기 다음 질의 시간 정보는 상기 다음 질의를 요청할 때까지 기다려야 할 시간 정보인 상대적인 다음 질의 시간 정보에 해당하고,
    상기 제어 방법은,
    상기 일부에 해당하는 시간 정보 및 상기 상대적인 다음 질의 시간 정보에 기초하여, 상기 비디오 특징 정보, 상기 오디오 특징 정보 중 적어도 하나를 포함하는 다음 질의를 요청하는 단계를 더 포함하는
    영상 표시 장치의 제어 방법.
  5. 제1항에 있어서,
    상기 컨텐츠 정보는 상기 비압축 시청각 컨텐트의 식별자, 다음 질의 타입 정보 중 적어도 하나를 포함하는
    영상 표시 장치의 제어 방법.
  6. 제5항에 있어서,
    상기 다음 질의 타입 정보는 상기 다음 질의에 포함되는 특징 정보의 타입을 오디오 타입으로 결정하는 정보에 해당하고,
    상기 제어 방법은,
    상기 다음 질의 타입 정보에 기초하여 추출된 오디오 특징 정보를 포함하는 다음 질의를 요청하는 단계를 더 포함하는
    영상 표시 장치의 제어 방법.
  7. 제5항에 있어서,
    상기 다음 질의 타입 정보는 상기 다음 질의에 포함되는 특징 정보의 타입을 비디오 타입으로 결정하는 정보에 해당하고,
    상기 제어 방법은,
    상기 다음 질의 타입 정보에 기초하여 추출된 로고를 포함하는 다음 질의를 요청하는 단계를 더 포함하는
    영상 표시 장치의 제어 방법.
  8. 제5항에 있어서,
    상기 다음 질의 타입 정보는 상기 다음 질의에 포함되는 특징 정보의 타입을 오디오 타입 및 비디오 타입으로 결정하는 정보에 해당하고,
    상기 제어 방법은,
    상기 다음 질의 타입 정보에 기초하여 추출된 오디오 특징 정보 및 로고를 포함하는 다음 질의를 요청하는 단계를 더 포함하는
    영상 표시 장치의 제어 방법.
  9. 제5항에 있어서,
    상기 컨텐츠 정보는 미리 정해진 시간 정보를 더 포함하고,
    상기 제어 방법은,
    상기 미리 정해진 시간 정보에, 상기 다음 질의 타입 정보에 따라 추출된 비디오 특징 정보, 오디오 특징 정보 중 적어도 하나를 포함하는 다음 질의를 요청하는 단계를 더 포함하는
    영상 표시 장치의 제어 방법.
  10. 제1항에 있어서,
    상기 컨텐츠 정보는 상기 비압축 시청각 컨텐트의 식별자, 제1 샘플링 윈도우 정보를 포함하고,
    상기 제1 샘플링 윈도우는 상기 비압축 시청각 컨텐트의 자막 위치의 배타 영역에 위치하는 비디오 특징 정보의 추출 영역에 해당하며,
    상기 제어 방법은,
    상기 제1 샘플링 윈도우 정보에 따라 추출된 비디오 특징 정보를 포함하는 다음 질의를 요청하는 단계를 더 포함하는
    영상 표시 장치의 제어 방법.
  11. 제10항에 있어서,
    상기 제1 샘플링 윈도우 정보는 상기 제1 샘플링 윈도우의 위치 정보, 크기 정보, 시간 정보를 포함하는
    영상 표시 장치의 제어 방법.
  12. 제11항에 있어서,
    상기 제1 샘플링 윈도우의 위치 정보는 상기 제1 샘플링 윈도우의 일측 상단 또는 일측 하단의 x 좌표에 대한 정보 및 y 좌표에 대한 정보를 포함하는
    영상 표시 장치의 제어 방법.
  13. 제11항에 있어서,
    상기 제1 샘플링 윈도우의 크기 정보는 상기 제1 샘플링 윈도우의 가로 길이에 대한 정보 및 세로 길이에 대한 정보를 포함하는
    영상 표시 장치의 제어 방법.
  14. 제11항에 있어서,
    상기 제1 샘플링 윈도우의 시간 정보는 상기 제1 샘플링 윈도우의 샘플링 유효 시작 시점의 시간 정보 및 샘플링 유효 종료 시점의 시간 정보를 포함하는
    영상 표시 장치의 제어 방법.
  15. 제1항에 있어서,
    상기 비압축 시청각 컨텐트의 컨텐츠 정보를 획득하는 단계는
    질의에 대한 응답을 통해 제2 샘플링 윈도우 정보를 획득하는 단계를 더 포함하고,
    상기 제2 샘플링 윈도우는 GUI 특성 정보에 기초하여 결정된 영역에 해당하며,
    상기 제어 방법은,
    상기 제2 샘플링 윈도우 정보에 따라 추출된 비디오 특징 정보를 포함하는 다음 질의를 요청하는 단계를 더 포함하는
    영상 표시 장치의 제어 방법.
  16. 제15항에 있어서,
    상기 컨텐츠 정보는 상기 비디오 특징 정보, 상기 오디오 특징 정보 중 적어도 하나에 대응하는 비압축 시청각 컨텐트 인식 실패에 대한 알림 정보를 더 포함하는
    영상 표시 장치의 제어 방법.
  17. 제15항에 있어서,
    상기 제2 샘플링 윈도우는 상기 비압축 시청각 컨텐트를 상기 영상 표시 장치에 공급하는 사업자별 GUI 특성 정보에 기초하여 결정되는
    영상 표시 장치의 제어 방법.
  18. 제17항에 있어서,
    상기 제2 샘플링 윈도우 정보는 상기 제2 샘플링 윈도우의 위치 정보, 크기 정보, GUI 타입 정보를 포함하고,
    상기 제2 샘플링 윈도우의 위치 정보는 상기 제2 샘플링 윈도우의 일측 상단 또는 일측 하단의 x 좌표에 대한 정보 및 y 좌표에 대한 정보를 포함하고,
    상기 제2 샘플링 윈도우의 크기 정보는 상기 제2 샘플링 윈도우의 가로 길이에 대한 정보 및 세로 길이에 대한 정보를 포함하며,
    상기 제2 샘플링 윈도우의 GUI 타입 정보는 온 스크린 디스플레이(On Screen Display, OSD)의 GUI 타입을 문자열로 표시한 정보를 포함하는
    영상 표시 장치의 제어 방법.
  19. 영상 표시 장치에 있어서,
    디스플레이부;
    비압축 시청각 컨텐트를 획득하는 수신부;
    상기 비압축 시청각 컨텐트의 일부에 기초하여 상기 일부의 비디오 특징 정보, 오디오 특징 정보 중 적어도 하나를 추출하고, 상기 비디오 특징 정보, 상기 오디오 특징 정보 중 적어도 하나를 포함하는 질의에 대한 응답을 통해 상기 비압축 시청각 컨텐트의 컨텐츠 정보를 획득하여, 상기 컨텐츠 정보에 기초하여 부가 서비스를 획득하는 부가 서비스 관리부; 및
    상기 비압축 시청각 컨텐트와 상기 부가 서비스를 상기 디스플레이부에 재생하는 재생 제어부를 포함하는
    영상 표시 장치.
  20. 제19항에 있어서,
    상기 컨텐츠 정보는 상기 비압축 시청각 컨텐트의 식별자, 상기 일부에 해당하는 시간 정보, 다음 질의 시간 정보, 다음 질의 타입 정보, 샘플링 윈도우 정보 중 적어도 하나를 포함하고,
    상기 부가 서비스 관리부는 상기 일부에 해당하는 시간 정보, 다음 질의 시간 정보, 다음 질의 타입 정보, 샘플링 윈도우 정보 중 적어도 하나에 기초하여 비디오 특징 정보, 오디오 특징 정보 중 적어도 하나를 추출하고, 상기 추출된 특징 정보를 포함하는 다음 질의에 대한 응답을 통해 상기 비압축 시청각 컨텐트의 컨텐츠 정보를 획득하는
    영상 표시 장치.
KR1020147020476A 2012-02-10 2013-02-08 영상 표시 장치 및 그 동작 방법 KR20140125766A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261597178P 2012-02-10 2012-02-10
US61/597,178 2012-02-10
PCT/KR2013/001050 WO2013119082A1 (ko) 2012-02-10 2013-02-08 영상 표시 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20140125766A true KR20140125766A (ko) 2014-10-29

Family

ID=48947785

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147020476A KR20140125766A (ko) 2012-02-10 2013-02-08 영상 표시 장치 및 그 동작 방법

Country Status (6)

Country Link
US (1) US20150020094A1 (ko)
EP (1) EP2800392A4 (ko)
JP (1) JP6294238B2 (ko)
KR (1) KR20140125766A (ko)
CN (1) CN104137560B (ko)
WO (1) WO2013119082A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142679B2 (en) 2015-12-10 2018-11-27 Samsung Electronics Co., Ltd. Content processing apparatus, content processing method thereof, server information providing method of server and information providing system

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9161074B2 (en) * 2013-04-30 2015-10-13 Ensequence, Inc. Methods and systems for distributing interactive content
US9955103B2 (en) 2013-07-26 2018-04-24 Panasonic Intellectual Property Management Co., Ltd. Video receiving device, appended information display method, and appended information display system
WO2015015712A1 (ja) 2013-07-30 2015-02-05 パナソニックIpマネジメント株式会社 映像受信装置、付加情報表示方法および付加情報表示システム
KR102123062B1 (ko) * 2013-08-06 2020-06-15 삼성전자주식회사 콘텐츠에 관한 정보를 획득하는 방법 및 이를 이용한 영상 표시 장치, 그리고 콘텐츠에 관한 정보를 제공하는 서버 시스템.
EP2835917A1 (en) * 2013-08-09 2015-02-11 Thomson Licensing Second screen device and system for displaying a playload of a watermark
EP3043571A4 (en) * 2013-09-04 2016-08-17 Panasonic Ip Man Co Ltd VIDEO RECEIVING DEVICE, VIDEO RECOGNITION METHOD, AND ADDITIONAL INFORMATION DISPLAY SYSTEM
WO2015033500A1 (ja) 2013-09-04 2015-03-12 パナソニックIpマネジメント株式会社 映像受信装置、映像認識方法および付加情報表示システム
EP3108640A4 (en) * 2014-02-17 2018-02-28 LG Electronics Inc. Apparatus for processing a hybrid broadcast service, and method for processing a hybrid broadcast service
KR102166423B1 (ko) * 2014-03-05 2020-10-15 삼성전자주식회사 디스플레이 장치, 서버 장치 및 디스플레이 장치의 이벤트 정보 제공 방법
CN106170988A (zh) 2014-03-13 2016-11-30 凡瑞斯公司 使用嵌入式代码的交互式内容获取
KR102155129B1 (ko) * 2014-03-26 2020-09-11 삼성전자주식회사 디스플레이 장치, 디스플레이 장치의 제어 방법 및 디스플레이 시스템
CN105144735A (zh) 2014-03-26 2015-12-09 松下知识产权经营株式会社 影像接收装置、影像识别方法以及附加信息显示系统
WO2015145491A1 (ja) 2014-03-26 2015-10-01 パナソニックIpマネジメント株式会社 映像受信装置、映像認識方法および付加情報表示システム
WO2016009637A1 (ja) 2014-07-17 2016-01-21 パナソニックIpマネジメント株式会社 認識データ生成装置、画像認識装置および認識データ生成方法
EP3183882A4 (en) 2014-08-20 2018-07-04 Verance Corporation Content management based on dither-like watermark embedding
US10200765B2 (en) 2014-08-21 2019-02-05 Panasonic Intellectual Property Management Co., Ltd. Content identification apparatus and content identification method
JP6043767B2 (ja) * 2014-09-26 2016-12-14 株式会社アステム 番組出力装置、補助情報管理サーバ、番組と補助情報の出力方法、及びプログラム
KR102199568B1 (ko) * 2014-11-10 2021-01-07 엘지전자 주식회사 전자 장치 및 그 동작 방법
KR20160085076A (ko) * 2015-01-07 2016-07-15 삼성전자주식회사 콘텐츠를 제공하는 방송 서버를 판단하는 방법 및 이를 제공하는 전자 장치
US10609428B2 (en) 2015-01-13 2020-03-31 Sony Corporation Transmission device and transmission method as well as reception device and reception method
US9516377B1 (en) * 2015-06-12 2016-12-06 Sorenson Media, Inc. Detecting channel change in automatic content recognition fingerprint matching
CN106331743A (zh) * 2015-07-03 2017-01-11 上海尚恩华科网络科技股份有限公司 一种基于音频水印的视频交互的系统及方法
US20170034596A1 (en) * 2015-07-27 2017-02-02 Echostar Technologies L.L.C. Personalized soundtrack
KR102358025B1 (ko) 2015-10-07 2022-02-04 삼성전자주식회사 전자 장치 및 전자 장치의 음악 컨텐츠 시각화 방법
US10063918B2 (en) 2016-02-29 2018-08-28 Gracenote, Inc. Media channel identification with multi-match detection and disambiguation based on single-match
US9930406B2 (en) * 2016-02-29 2018-03-27 Gracenote, Inc. Media channel identification with video multi-match detection and disambiguation based on audio fingerprint
US9924222B2 (en) 2016-02-29 2018-03-20 Gracenote, Inc. Media channel identification with multi-match detection and disambiguation based on location
US10063917B2 (en) * 2016-03-16 2018-08-28 Sorenson Media Inc. Fingerprint layouts for content fingerprinting
CN106488319A (zh) * 2016-12-28 2017-03-08 上海昕丝文化传播有限公司 联网视频播放器件模块
KR20180083132A (ko) 2017-01-12 2018-07-20 삼성전자주식회사 전자 장치 및 그 동작방법
US11234060B2 (en) * 2017-09-01 2022-01-25 Roku, Inc. Weave streaming content into a linear viewing experience
CN107690078B (zh) * 2017-09-28 2020-04-21 腾讯科技(深圳)有限公司 弹幕信息显示方法、提供方法以及设备
WO2019163085A1 (ja) * 2018-02-23 2019-08-29 エヴィクサー株式会社 コンテンツ再生プログラム、コンテンツ再生方法及びコンテンツ再生システム
US10506275B1 (en) * 2018-07-16 2019-12-10 Gracenote, Inc. Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content
CN114071050A (zh) * 2020-07-29 2022-02-18 北京字节跳动网络技术有限公司 一种基于视频的互动方法、装置、电子设备及介质
US20240137590A1 (en) * 2021-03-02 2024-04-25 Lg Electronics Inc. Media data processing method and media data processing apparatus

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289643B2 (en) * 2000-12-21 2007-10-30 Digimarc Corporation Method, apparatus and programs for generating and utilizing content signatures
KR20010001726A (ko) * 1999-06-08 2001-01-05 윤종용 영상 표시장치에서 부가정보 선택방법 및 그 장치
US7624337B2 (en) * 2000-07-24 2009-11-24 Vmark, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
JP2002077572A (ja) * 2000-08-29 2002-03-15 Nec Corp ディジタルコンテンツ生成・再生装置及び広告情報配信システム
KR20020072453A (ko) * 2001-03-10 2002-09-16 삼성전자 주식회사 재생장치 및 부가정보 서비스 서버 시스템
US20050198008A1 (en) * 2004-03-02 2005-09-08 Adler David W. Index exploitation for spatial data
JP2005333406A (ja) * 2004-05-19 2005-12-02 Dowango:Kk 情報提供システム、情報提供方法および情報提供プログラム
US8407741B2 (en) * 2006-11-20 2013-03-26 Sk Planet Co., Ltd. System, server and method for providing supplementary information service related to broadcast content
KR100831035B1 (ko) * 2007-01-15 2008-05-20 에스케이 텔레콤주식회사 디지털 멀티미디어 방송의 부가 정보 제공을 위한 guip서비스 시스템 및 방법
US10552701B2 (en) * 2008-02-01 2020-02-04 Oath Inc. System and method for detecting the source of media content with application to business rules
KR20100053300A (ko) * 2008-11-12 2010-05-20 삼성전자주식회사 방송 부가정보를 제공하는 방송수신장치 및 그 방법
US8769584B2 (en) * 2009-05-29 2014-07-01 TVI Interactive Systems, Inc. Methods for displaying contextually targeted content on a connected television
US9277183B2 (en) * 2009-10-13 2016-03-01 Sony Corporation System and method for distributing auxiliary data embedded in video data
KR101081768B1 (ko) * 2009-11-04 2011-11-09 주식회사 아론티 방송 서비스 장치 및 방법
JP2011180792A (ja) * 2010-03-01 2011-09-15 Sony Corp 画像処理装置及び画像処理方法、並びにコンピューター・プログラム
US8848108B2 (en) * 2010-11-24 2014-09-30 Lg Electronics Inc. Video display device and control method thereof
CA2820574C (en) * 2010-11-24 2016-10-25 Lg Electronics Inc. Method of receiving enhanced service and video display device thereof
EP2645731B8 (en) * 2010-11-24 2019-04-17 LG Electronics Inc. Video display device and method of controlling the same
US20120324495A1 (en) * 2011-06-17 2012-12-20 Microsoft Corporation Detecting and distributing video content identities
KR102060449B1 (ko) * 2011-08-05 2019-12-30 소니 주식회사 수신 장치, 수신 방법, 프로그램 및 정보 처리 시스템
US8793274B2 (en) * 2011-08-08 2014-07-29 Lei Yu System and method for auto content recognition
KR101995425B1 (ko) * 2011-08-21 2019-07-02 엘지전자 주식회사 영상 표시 장치, 단말 장치 및 그 동작 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142679B2 (en) 2015-12-10 2018-11-27 Samsung Electronics Co., Ltd. Content processing apparatus, content processing method thereof, server information providing method of server and information providing system

Also Published As

Publication number Publication date
EP2800392A1 (en) 2014-11-05
CN104137560B (zh) 2018-07-24
EP2800392A4 (en) 2015-09-09
JP2015512198A (ja) 2015-04-23
US20150020094A1 (en) 2015-01-15
CN104137560A (zh) 2014-11-05
WO2013119082A1 (ko) 2013-08-15
JP6294238B2 (ja) 2018-03-14

Similar Documents

Publication Publication Date Title
JP6294238B2 (ja) 映像表示装置及びその動作方法
KR102116679B1 (ko) 영상 표시 장치 및 그 동작 방법
JP6290935B2 (ja) 映像表示装置及びその動作方法
US9967626B2 (en) Video display apparatus and operating method thereof
JP6151804B2 (ja) 映像表示装置及びその動作方法
KR101805538B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
EP3010241B1 (en) Image display device and method for operating same
KR102263146B1 (ko) 영상 표시 장치 및 그 동작 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid