KR20080071585A - 트리거를 사용하지 않는 양방향 텔레비전 - Google Patents

트리거를 사용하지 않는 양방향 텔레비전 Download PDF

Info

Publication number
KR20080071585A
KR20080071585A KR1020087013209A KR20087013209A KR20080071585A KR 20080071585 A KR20080071585 A KR 20080071585A KR 1020087013209 A KR1020087013209 A KR 1020087013209A KR 20087013209 A KR20087013209 A KR 20087013209A KR 20080071585 A KR20080071585 A KR 20080071585A
Authority
KR
South Korea
Prior art keywords
search
stream
content
broadcast stream
computer
Prior art date
Application number
KR1020087013209A
Other languages
English (en)
Other versions
KR101312902B1 (ko
Inventor
존 브래드스트리트
데이비드 에단 졸라
존 캐닝
루크 맥컬러프
잔 호프메이머
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20080071585A publication Critical patent/KR20080071585A/ko
Application granted granted Critical
Publication of KR101312902B1 publication Critical patent/KR101312902B1/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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

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

Abstract

콘텐츠를 라이브 및/또는 녹음 텔레비전 쇼와 동기화함으로써 양방향 텔레비전을 제공하는 것과 연관있는 각종 기술 및 방법이 개시된다. 콘텐츠는 인밴드 트리거의 사용 없이 동기화된다. 방송 스트림이 수신되고, 검색/동작 쌍은 인터넷 같은 전송 경로로부터 또는 사용자로부터 수신된다. 검색 기준이 방송 스트림에서 발견된 때 연관된 동작이 수행되고 콘텐츠는 쇼와 동기화된다. 애플리케이션 프로그래밍 인터페이스는 동기화를 용이하게 하는데 이용되며, 집합 검색 메소드(set search method), 검색 함수 템플릿 메소드(search function method) 그리고 검색 해제 메소드(clear search method)를 포함한다. 집합 검색 메소드는 방송 스트림의 검색을 개시하고 매칭이 발견된 때 연관된 동작을 수행하기 위해 하나 이상의 콜백 메소드를 등록한다. 검색 함수 템플릿은 콜백 메소드를 등록하기 위한 템플릿의 역할을 한다. 검색 해제 메소드는 시스템 리소스를 검색으로부터 해제한다.
동기화, 양방향 텔레비전

Description

트리거를 사용하지 않는 양방향 텔레비전{TRIGGERLESS INTERACTIVE TELEVISION}
컴퓨터 산업과 텔레비전 산업은 컴퓨터와 텔레비전의 기능을 결합하는 기술을 개발하는데 노력을 기울이고 있다. 예를 들어, 컴퓨터는 텔레비전 산업의 방송 기간 시설을 자극하는 방법으로 오디오 및 비디오 데이터를 점차 용이하게 렌더링하고 있다. 마찬가지로, 텔레비전 및 컴퓨터 산업은 웹 기반 및/또는 기타 콘텐츠를 텔레비전 방송 콘텐츠와 연결하는 양방향 텔레비전 콘텐츠를 전달하는데 있어서 개선을 이루고 있다. 이 같은 양방향 텔레비전의 예시로는 광고가 방송될 때 특정 광고자의 웹 페이지를 디스플레이하는 것을 들 수 있다. 양방향 텔레비전의 또 다른 예시로는 텔레비전 방송과 동기화되어 있는 양방향 게임을 디스플레이하는 것을 들 수 있다.
웹 기반 및/또는 기타 콘텐츠를 텔레비전 비디오 콘텐츠와 동기화하기 위해, 통상적으로 방송국은 비디오와 인밴드 상태에 있는 트리거(trigger in-band with the video)를 전송한다. 트리거(trigger)는 동작을 수행하는, 애플리케이션, 통상적으로 웹 페이지에 대한 동기화 이벤트 및 참조이다. 이 같은 트리거를 지원하는 업계 표준의 예로는 ATVEF(Advanced TeleVision Forum) 표준 및 방송 HTML 표준을 들 수 있다. 이러한 방식으로 트리거를 이용할 때, 인밴드 채널(in-band channel) 은 많은 용량의 콘텐츠를 전송하기에는 대역이 좁기 때문에, 통상적으로 몇몇 종류의 백 채널(back channel)이 실제 웹 페이지를 전송하기 위해 필요하다. 더 나아가, 인밴드 트리거는 웹 콘텐츠 및 트리거를 생성하는 방송국이 트리거를 전송시키는 헤드엔드 측(head end side)과 함께 작동하는 것을 필요로 한다. 방송국과 헤드엔드 간의 이러한 관계는 기타 이유 중에서도 텔레비전 방송이 필요 인밴드 트리거를 포함하기 위해 수정되어야 하는 이유로 지금까지 문제가 되어 왔다.
콘텐츠를 텔레비전 쇼에 동기화하는 것에 의해 양방향 텔레비전을 제공하기 위한 각종 기술 및 방법이 본 명세서에 기술된다. 일 태양에서, 콘텐츠는 인밴드 트리거의 이용 없이 동기화된다. 비 한정적인 일 실시예로서, 특정 라이브 또는 녹음된 텔레비전 쇼 같은 방송 스트림이 수신된다. 검색 명령어의 집합은, 전송 경로로부터, 즉 인터넷 같은 별개 전송 경로를 통해 다운로드되는 웹 페이지 및/또는 사용자에 의해 입력되는 검색 명령어로부터 수신된다. 검색 명령어는 검색 기준 및 검색 기준이 방송 스트림의 특정 부분에서 발견된 때 수행되는 하나 이상의 동작을 포함한다. 검색 기준이 방송 스트림에서 발견된 때, 연관된 하나 이상의 동작이 수행되며 콘텐츠는 재생되고 있는 쇼와 동기화된다.
또 다른 태양에서, 애플리케이션 프로그래밍 인터페이스가 콘텐츠의 텔레비전 쇼에 대한 동기화를 용이하게 하기 위해 제공된다. 애플리케이션 프로그래밍 인터페이스는 집합 검색 메소드(set search method), 검색 함수 템플릿 메소드(search function method) 그리고 검색 해제 메소드(clear search method)를 포함한다. 집합 검색 메소드는 특정 방송 스트림의 검색을 개시하여 매칭하는 값(예컨대, 문자열 등)을 찾아내고, 매칭하는 값이 발견된 때 특정 동작을 수행하기 위해 호출되어야 하는 하나 이상의 콜백 메소드(callback method)를 등록(register)한다. 검색 함수 템플릿은 콜백 메소드를 등록하기 위한 템플릿 역할을 한다. 검색 해제 메소드는 특정 검색과 연관된 시스템 리소스를 해제하게 한다.
본 요약은 이하의 실시예에서 상술되는 개념을 발췌하여 간단한 형식으로 제공하기 위해 제공된다. 본 요약은 청구 대상의 주요 특성 또는 본질적인 특성을 식별하기 위한 것이 아니며, 청구 대상의 범위를 판정하는데 있어서 도움을 주도록 이용되기 위한 것이 아니다.
도 1은 본 발명의 일 태양인 컴퓨터 시스템의 도식적인 도면.
도 2는 본 발명의 일 태양인 도 1의 컴퓨터 시스템에서 작동하고 있는 검색 프로그램의 도식적인 도면.
도 3은 도 1의 시스템의 일 태양에 대한 하이 레벨 프로세스 흐름도.
도 4는 도 1의 시스템의 일 태양에 대해, 콘텐츠를 쇼와 동기화하는데 연관 있는 단계들을 도시한 프로세스 흐름도.
도 5는 도 1의 시스템의 일 태양에 대해, 콘텐츠를 쇼와 동기화하는데 이용되는 메소드를 도시한 클래스 도면.
도 6은 도 1의 시스템의 일 태양에 대해, 도시된 예시에 따라 직렬 매칭(serial matching)을 수행하는데 연관되는 단계들을 도시한 프로세스 흐름도.
도 7은 도 1의 시스템의 일 태양에 대해, 도 6의 도시된 예시에 따라 병렬 매칭(parallel matching)을 수행하는데 이용되는 VB 스크립트를 포함한 HTML 페이지를 도시한 도면.
도 8은 도 1의 시스템의 일 태양에 대해, 도시된 예시에 따라 병렬 매칭을 수행하는데 연관되는 단계들을 도시한 프로세스 흐름도.
도 9는 도 1의 시스템의 일 태양에 대해, 도 8의 도시된 예시에 따라 직렬 매칭을 수행하는데 이용되는 VB 스크립트를 포함한 HTML 페이지를 도시한 도면.
도 10은 도 1의 시스템의 일 태양에 대해, 도 6 내지 도 9에 나타난 가상 검색에 기초하여 콘텐츠를 텔레비전 쇼와 동기화하는 것을 도시한 모의 스크린.
본 발명의 주요 원리의 이해를 증진시키기 위한 목적으로, 참조가 도면에 도시된 실시예에 대해 이루어질 것이며, 특정 언어가 동일한 실시예를 기술하기 위해 사용될 것이다. 그럼에도, 본 발명의 범위에 대한 어떠한 한정도 그로 인해 의도되지 않는다는 것을 이해할 것이다. 실시예 내의 임의의 개조 및 그 이상의 수정과 본 명세서에 기술된 본 발명의 주요 원리의 임의의 활용을 본 발명과 관련된 당업자가 고안할 수 있는 것으로 고려된다.
웹 기반 및/또는 기타 콘텐츠를 텔레비전 비디오 콘텐츠와 동기화하는 각종 방법이 존재한다. 통상적으로 방송국은 ATVEF 또는 방송 HTML 표준 같은 비디오와 인밴드 상태에 있는 트리거를 전송한다. 통상적으로 방송국은 텔레비전 방송을 수정하여 인밴드 트리거를 포함하도록 하여야 하며, 트리거를 전송시키는 헤드엔드 측과 함께 작동하여야 한다. 인밴드 트리거를 이용하지 않거나 더 나아가 텔레비전 방송 스트림을 수정하지 않고 웹 기반 및/또는 기타 콘텐츠를 비디오 콘텐츠와 동기화할 수 있는 각종 기술 및 방법이 본 명세서에서 기술된다. 본 명세서에서 사용되는 방송 스트림이란 용어는 라이브 및/또는 녹화 방송 스트림을 포함한다.
도 1은 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(100)의 예시를 도시한다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일 예시에 불과하며, 본 발명의 실시 또는 기능의 범위에 어떠한 한정도 암시하기 위한 것이 아니다. 컴퓨팅 환경(100)은 예시적인 운영 환경(100)에서 도시된 임의의 컴포넌트 하나 또는 이의 조합과 연관된 임의의 종속성 또는 요건을 가지는 것으로 해석될 수 없다.
본 발명은 수많은 기타 범용 또는 전용 컴퓨팅 시스템 환경 또는 구성으로 작동한다. 본 발명으로 이용하기에 적합할 수 있는 종래의 컴퓨팅 시스템, 환경 및/또는 구성의 예시는 개인 컴퓨터, 서버 컴퓨터, 노트북, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋탑 박스, 프로그래머블 전자 장치, 네트워크 PC, 미니 컴퓨터, 메인 프레임 컴퓨터, 핸드폰, PDA, 이상의 시스템 또는 장치 중 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이에 한정되지 않는다.
본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈 같은 컴퓨터 실행가능 명령어의 일반적인 환경에서 설명될 수 있다. 통상적으로, 프로그램 모듈은 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조, 특정 태스크를 수행하거나 특정 추상 데이터 유형을 실행하는 기타의 것을 포함한다. 또한, 본 발명은 태스크가 통신 네트워크를 통해 연결되어 있는 원격 프로세싱 장치에 의해 수행되는 분산 컴퓨팅 환 경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 내에 위치할 수 있다.
도 1을 참조하면, 본 발명을 구현하는 예시적인 시스템은 컴퓨터(110)의 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트는 프로세싱 유닛(120), 시스템 메모리(130) 그리고 시스템 메모리를 포함하는 각종 시스템 컴포넌트를 프로세싱 유닛(120)으로 연결하는 시스템 버스(121)를 포함하지만, 이에 한정되지 않는다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변장치 버스 그리고 임의의 각종 버스 아키텍처를 이용한 로컬 버스가 될 수 있다. 한정이 아닌 예시로서, 이 같은 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 메자닌(Mezzanine) 버스로도 알려진 PCI(Peripheral Component Interconnects)버스를 포함한다.
통상적으로 컴퓨터(110)는 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(110)에 의해 접근 가능한 임의의 사용가능 매체일 수 있으며, 휘발성 및 비휘발성 매체, 착탈식 및 비착탈식 매체를 포함한다. 한정이 아닌 예시로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD 또는 기타 광학 디스크 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는데 이용될 수 있고 컴퓨터(110)에 의해 액세스 가능한 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다. 통상적으로 통신 매체의 예시로 반송파 같은 변조 데이터 신호 또는 기타 전송 메커니즘 내의 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 들 수 있으며, 임의의 정보 전달 매체를 포함한다. "변조 데이터 신호"란 용어는 하나 이상의 특징을 포함하는 신호 또는 정보를 신호 내로 암호화하는 방법으로 변경된 신호를 의미한다. 한정이 아닌 예시로서, 통신 매체는 유선 네트워크 또는 직접 유선 연결 같은 유선 매체 및 음파, RF(radio frequency), 적외선 그리고 기타 무선 매체 같은 무선 매체를 포함한다. 또한, 이상의 임의의 조합은 컴퓨터 판독가능 매체의 범위 내에 포함된다.
시스템 메모리(130)는 휘발성 및/또는 ROM(131) 그리고 RAM(132) 같은 비휘발성 메모리의 형태인 컴퓨터 저장 매체를 포함한다. 예를 들면, 스타트 업(start-up) 동안 컴퓨터(110) 내의 요소 간에 정보를 전달하는데 도움을 주는 기본 루틴을 포함하는 BIOS(133; basic input/output system)는 통상적으로 ROM(131)에 저장된다. RAM(132)는 통상적으로 프로세싱 유닛(120) 상에 현재 작동되고 있고 더 나아가 프로세싱 유닛(120)에 즉시 접근가능한 데이터 및/또는 프로그램 모듈을 포함한다. 한정이 아닌 예시로서, 도 1은 운영 체계(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 그리고 프로그램 데이터(137)를 도시한다.
또한, 컴퓨터(110)는 기타 착탈식/비착탈식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예시로서만, 도 1은 비착탈식ㆍ비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(140), 착탈식ㆍ비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151) 그리고 CD-ROM 또는 기타 광학 매체 같은 착탈식ㆍ비휘발성 광학 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광학 디스크 드라이브(155)를 도시한다. 예시적인 운영 환경에서 이용될 수 있는 기타 착탈식/비착탈식, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만 이에 한정되지 않는다. 통상적으로 하드 디스크 드라이브(141)는 인터페이스(140) 같은 비착탈식 메모리 인터페이스를 통해 시스템 버스(121)로 연결되며, 통상적으로 자기 디스크 드라이브(151) 및 광학 디스크 드라이브(155)는 인터페이스(150) 같은 착탈가능 메모리 인터페이스에 의해 시스템 버스(121)에 연결된다.
도 1에서 기술되고 도시된 드라이버 및 이와 연관된 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 컴퓨터(110)를 위한 기타 데이터를 제공한다. 예를 들어, 도 1에서, 하드 디스크 드라이브(141)는 운영 체계(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 그리고 프로그램 데이터(147)를 저장하는 것으로 도시된다. 이러한 컴포넌트들은 운영 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 그리고 프로그램 데이터(137)와 동일한 또는 이와 상이할 수 있다는 것을 주의해야 한다. 운영 시스템(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 그리고 프로그 램 데이터(147)에는 적어도 이들이 서로 다른 복사본인 것을 도시하기 위해 서로 다른 도면 부호가 주어졌다. 사용자는 키보드(162) 및 보통 마우스, 트랙볼 또는 터치패드로 불리는 포인팅 장치(161)를 통해 컴퓨터(20) 내로 명령어 및 정보를 입력할 수 있다. (도시되지 않은) 기타 입력 장치는 마이크, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 통상적으로 이상의 장치 및 기타 장치는 시스템 버스와 연결된 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)과 연결되지만, 직렬 포트, 게임 포트 또는 USB 같은 기타 인터페이스 및 버스 구조에 의해 연결될 수 있다.
또한, 모니터(191) 또는 기타 유형의 디스플레이 장치는 비디오 인터페이스(190) 같은 인터페이스를 통해 시스템 버스(121)와 연결된다. 컴퓨터(110)는 모니터(191)와 통합되거나 별개로 분리될 수 있다. 모니터(191)는 아이템을 상이한 크기와 상이한 색상으로 디스플레이하도록 구성될 수 있다. 기타 적합한 디스플레이 장치의 예시로서 컴퓨터 모니터, 텔레비전, PDA 디스플레이, 기타 휴대용 장치의 디스플레이 등을 들 수 있으나 이에 한정되지 않는다. 또한, 모니터에 부가하여, 컴퓨터는, 출력 주변장치 인터페이스(190)로 연결될 수 있고 컴퓨터(110)와 통합되거나 별개로 분리될 수 있는, 스피커(197) 및 프린터(196) 같은 기타 주변 출력 장치를 포함할 수 있다. 스피커의 비한정적인 예시로서 컴퓨터 스피커, 스테레오 시스템, 증폭기, 라디오, 텔레비전 오디오 시스템 등을 들 수 있다.
컴퓨터(110)는 원격 컴퓨터(180) 같은 하나 이상의 원격 컴퓨터와의 논리 접속을 이용해서 네트워크 환경에서 작동할 수 있다. 원격 컴퓨터(180)는 개인 컴퓨 터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 일반적인 네트워크 노드가 될 수 있으며, 메모리 저장 장치(181)만이 도 1에서 도시되었지만, 통상적으로 컴퓨터(110)와 연관되어 위에서 기술된 요소 중 대부분의 요소 또는 모든 요소를 포함한다. 일 실시예에서, 원격 컴퓨터(180)는 TV 방송국, 케이블 방송국 및/또는 위성 전송 시스템을 포함할 수 있다. 컴퓨터(110)과 원격 컴퓨터(180) 간에 전송되는 방송 신호는 임의의 적합한 통신 회선을 통해 전송되는 아날로그 및 디지털 신호를 포함할 수 있다. 도 1에서 도시된 논리 접속은 LAN(171) 및 WAN(173)를 포함하지만, 기타 네트워크를 포함할 수도 있다. 이 같은 네트워크 환경은 사무소, 전사적 네트워크(enterprise-wide computer network), 인트라넷 그리고 인터넷도 포함할 수 있다.
LAN 네트워크 환경에서 이용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)으로 연결된다. WAN 네트워크 환경에서 이용될 때, 통상적으로 컴퓨터(110)는 모뎀(172) 또는 인터넷 같이 WAN(173)을 통한 통신을 설정하기 위한 기타 수단을 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적합한 메커니즘을 통해 시스템 버스(121)에 연결될 수 있다. 네트워크 환경에서 컴퓨터(110) 또는 컴퓨터(110)의 일부와 연관되어 도시된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 한정이 아닌 예시로서, 도 1은 메모리 장치(181)에 위치하는 원격 애플리케이션 프로그램(185)을 도시한다. 도시된 네트워크 연결은 예시이며, 컴퓨터 간 통신 회선을 설정하는 기타 수단이 이용될 수 있다는 것을 이해할 수 있다.
도 1과 함께 도 2를 참조하면, 본 발명의 일 태양에서의, 컴퓨터(110)상에서 작동하는 검색 프로그램(200)이 도시된다. 도 2에 도시된 본 예시에서, 검색 프로그램(200)은 컴퓨터(110)상에 위치하는 애플리케이션 프로그램(145) 중 하나이다. 대체하여 또는 부가하여, 검색 프로그램(200)의 일부 또는 대부분이 원격 애플리케이션 프로그램(185)을 포함하는 원격 컴퓨터(181)상의 RAM(132)에서의 애플리케이션 프로그램(135)의 일부일 수 있으며, 또는 컴퓨터 소프트웨어 기술 분야의 당업자가 고안할 수 있는 기타 변형일 수 있다.
검색 프로그램(200)은 비즈니스 논리(202)를 포함한다. 비즈니스 논리(202)는 여기 기술된 모든 또는 몇몇 메소드를 수행하는 기능을 한다. 비즈니스 논리는, 방송 스트림과 별개인 전송 경로 같은 전송 경로로부터 수신되었던 검색 명령어를 검색하기 위한 논리(204) 및 검색 기준을 검색하고 매칭을 판정하기 위해 방송 스트림을 프로세싱하기 위한 논리(206)를 포함한다. 또한, 비즈니스 논리(202)는 하나 이상의 콜백 메소드를 등록(register)하기 위한 논리를 포함하여, 하나 이상의 동작이 매칭이 판정된 때 수행될 수 있다(208). 또한, 검색 프로그램(200)의 비즈니스 논리(202)는 검색에서 사용되는 시스템 리소스를 해제하기 위한 논리를 포함한다(210). 도 2에서, 비즈니스 논리(202)는 애플리케이션 프로그램(145)의 일부로서 컴퓨터(110)상에 위치하는 것으로 도시된다. 그러나 대체하여 또는 부가하여, 비즈니스 논리(202)가 하나 이상의 컴퓨터상의 컴퓨터 실행가능 명령어 및/또는 도 2에 도시된 것과 상이한 변형으로 구현될 수 있다는 것을 이해할 수 있다. 비한정적인 예시로서, 대체하여 또는 부가하여, 비즈니스 논리(202)의 일부 또는 대부분이 필요할 때 호출되는 외부 컴퓨터상에 위치하는 XML 웹 서비스로서 구현될 수 있다.
또한, 방송 스트림과 별개인 전송 경로 같은 전송 경로로부터 수신되었던 검색 명령어(212)가 도 2에 도시된다. 검색 명령어(212)는 검색/동작 쌍(214; search/action pair)의 하나 이상의 집합을 포함한다. 비한정적인 일 예시로서, 검색 명령어(212)는 검색 프로그램(200)과 통신하는 웹 페이지에 포함된다. 각각의 검색/동작 쌍(214)은 검색 기준(216) 및 특정 검색 기준(216)이 방송 스트림에서 발견된 때 수행되는 하나 이상의 동작(218)을 포함한다. 검색 명령어(212)는 비즈니스 논리(204)에 의해 검색된다. 검색 기준(216)은 방송 스트림 내의 검색을 위한 검색 기준으로서 비즈니스 논리(206)에 의해 이용된다. 검색 기준이 방송 스트림과 매칭될 때 동작(218)이 수행되도록, 비즈니스 논리는 동작(218)을 위한 콜백 메소드를 등록한다(208).
도 1 및 도 2와 함께 도 3 및 도 4를 참조하면, 시스템(100)의 검색 프로그램(200)의 하나 이상의 태양을 구현하기 위한 단계가 보다 상세하게 기술된다. 도 3은 본 발명의 일 태양에서의 하이 레벨 프로세스 흐름도이다. 일 형태에서, 도 3의 프로세스는 시스템(100)의 작동 논리에서 적어도 일부분이 실행된다. 프로세스는 시작점(220)에서 시작하며, 오디오, 비디오, 긴급 호출, 시간, 날씨 및/또는 데이터 같은 적어도 하나의 방송 스트림에서 수신한다(단계 222). 방송 스트림과 별개인 전송 경로 같은 전송 경로로부터 하나 이상의 검색/동작 쌍 명령어가 수신된다(단계 224). 소정의 비한정적인 예시로서, 검색/동작 쌍은 인터넷 연결을 통해 다운로드되었던 HTML 파일 또는 기타 파일에 포함될 수 있다. 예를 들어, 쇼를 위한 가이드 엔트리는 검색/동작 쌍을 포함하고 있는 개시 웹 페이지가 검색될 수 있는 위치를 특정하는 URL을 포함할 수 있다. 또 다른 예시로서, 사용자는, 웹 브라우저의 시작 페이지로 이동하거나, 소정의 기타 선택 수단을 사용하여 검색/동작 쌍으로 시작 페이지를 선택할 수 있다. 비한정적인 또 다른 예시로서, 사용자가 검색 문자열 "John Doe"가 나타날 때 PVR(programmable video recorder)상의 쇼의 기록을 시작하기 원한다는 것을 표시하는 것과 같이, 사용자에 의해 입력된 기준에 기초하여 개시 시작 페이지 및/또는 검색/동작 쌍이 프로그램으로 또는 수동으로 생성될 수 있다. 마지막으로, 검색/작동 쌍을 포함하는 개시 시작 페이지는 각종 기타 소스(source)로부터 검색되거나 생성될 수 있다.
방송 스트림은 스트림으로부터 콘텐츠의 일부분을 추출하기 위해 검색 프로그램(200)에 의해 프로세싱된다(단계 226). 몇몇의 비한정적인 예시로서, 스트림으로부터 추출된 콘텐츠의 일부분은 클로즈 캡션(close caption) 및/또는 서브 타이틀 스트림(subtitle stream)으로부터 검색된 문자열 값을 포함할 수 있다. 대체하여 또는 부가하여, 콘텐츠의 일부분은 또 다른 텍스트 스트림, 오디오 스트림, 비디오 스트림, 긴급 호출 스트림, 시간 스트림, 날씨 스트림 및/또는 기타 스트림으로부터 추출될 수 있다. 비한정적인 일 예시로서, 특정 동작이 특정 회사의 광고 음악(jingle) 같은 특정 소리가 방송된 때 수행되기 원할 수 있다. 비한정적인 또 다른 예시로서, 특정 동작을 개시하기 전에 매칭하기 원하는 비디오의 특정 프레임 또는 프레임들이 있을 수 있다. 또한, 검색의 기타 다양한 텍스트 및 비 텍 스트 변형이 가능하다.
검색 기준(216)이 적용가능한 전부 또는 일부의 매칭에 기초하여 추출된 콘텐츠에서 발견되었다는 것을 검색 프로그램(200)이 판정할 때(단계 228), 검색 기준(216)과 연관된 하나 이상의 동작(218)이 개시되고 하나 이상의 동작의 결과가 재생되고 있는 쇼와 동기화된다(단계 230). 동작 중 소정의 비한정적인 예시로서, 또 다른 검색을 개시하기, 특정 웹 페이지를 열기, 외부 프로그램을 시작하기, PVR 장치에서 기록 시작하기, 장면(예컨대, 광고)을 특정 시구간 이후로 넘기기, 광고 음소거하기, 데이터 수집 목적에서 쇼가 시청된 횟수를 추적하기 및/또는 클로즈 캡션 스트림을 복사하여 텍스트를 파일 또는 점자 출력으로 기록하기를 들 수 있다. 컴퓨터(110)를 이용해 프로그램으로 개시될 수 있는 거의 모든 것이 동작의 일부 또는 전부로서 포함될 수 있다. 동기화의 비한정적인 일 예시로서, 시간 이동(time shifting)을 이용하여 방송시간으로부터 쇼의 재생을 지연하고(delay) 동작이 실제로 개시되기 전에 발생한 것처럼 보이는 동작의 결과를 동시에 수행하는 것을 들 수 있다. 프로세서는 종료점(232)에서 종료한다.
본 발명의 일 태양에서, 콘텐츠를 쇼와 동기화하는 것과 연관있는 단계들을 도시하는 보다 상세한 프로세스 흐름도가 도 4에서 도시된다. 일 형태에서, 도 4의 프로세스는 시스템(100)의 작동 논리에서 적어도 일부가 실행된다. 프로세스는 시작점(240)에서 시작하여 적어도 하나의 방송 스트림을 수신한다(단계 242). 방송 스트림과 별개인 전송 경로 같은 전송 경로로부터 하나 이상의 검색/액션 쌍을 가지는 검색 페이지가 수신된다(단계 244). 검색 페이지는 적어도 하나의 검색 객 체(예컨대, 도 5의 검색 클래스(260))에 바인딩된다(단계 246). 비한정적인 예시로서, 검색 프로그램(200)은 검색 객체를 생성할 수 있다. 연관된 동작을 위한 검색 페이지에서의 메소드가 매칭이 발견된 때 호출되도록 콜백 메소드가 등록된다(단계 248). 그 후, 검색 기준에 대한 매칭이 방송 스트림에서 발견된 때 연관된 동작을 수행하기 위해 콜백 메소드가 호출된다(단계 250). 그 후, 동작의 결과가 쇼와 동기화된다(단계 252). 그 후, 프로세스는 종료점(254)에서 종료한다.
도 5를 참조하면, 본 발명의 일 태양에서 콘텐츠를 쇼와 동기화하는데 이용되는 메소드를 도시한 클래스 도면이 도시된다. 검색 클래스(260)는 SetSearch(262), SearchFncTemplate(264) 그리고 ClearSearch(266)라는 세 가지 메소드를 포함한다. 본 발명의 일 태양에서, 메소드 SetSearch(262)는 방송 스트림으로부터의 콘텐츠 추출을 개시하고 매칭을 검색하는 기능을 한다. 본 발명의 일 태양에서, 또한, SetSearch 메소드(262)는 SearchFncTemplate 메소드(264)를 콜백 메소드의 구조에 대한 템플릿(template)으로 이용하는 연관된 동작을 위해 콜백 메소드를 등록하는 기능을 한다. ClearSearch 메소드(266)는 특정 검색을 실행하는데 이용되는 시스템 리소스를 삭제하는 기능을 한다.
본 발명의 일 태양에서, SetSearch 메소드(262)는 파라미터인 streamID, searchFnc, regExp, mode, idSearch, deltaTimeShift, startSearchTime, endSearchTime 그리고 dwCookie 중 하나 이상의 파라미터를 받아 들인다(accepts). 이러한 파라미터 중 하나 이상의 파라미터는 선택가능 및/또는 생략가능 파라미터일 수 있다. streamId 파라미터는 클로즈 캡션 스트림을 위한 "CC1" 또는 "CC2" 같은 검색 기준을 검색하기 위해 특정 스트림의 식별자를 표시하는데 이용된다. SearchFnc 파라미터는 특정 기준이 스트림에 발견/매칭될 때 호출하는 콜백 검색 함수의 이름을 표시하는데 이용된다. regExp 파라미터는 스트림의 유형과 연관있다. 비한정적인 일 예시로서, 텍스트 기반 스트림에 대해, regExp 파라미터는 문자열이 스트림 내에 매칭한다는 것을 표시하는 정규 표현 또는 기타 문자열이 될 수 있다. regExp 파라미터는 매칭하는 문자열 전부 또는 일부를 포함할 수 있고, 당업자가 고안할 수 있는 기타 변형을 포함할 수 있다. 비한정적인 또 다른 예시로서, 비디오 스트림에 대해, regExp 파라미터는 매칭하는 비디오 이미지일 수 있다. 비한정적인 예시로서, 오디오 스트림에 대해, regExp 파라미터는 매칭하는 사운드 바이트가 될 수 있다. 오디오 및/또는 비디오 스트림에 대해, regExp 파라미터는 매칭하는 값의 일부 및/또는 전부를 포함할 수 있다. 대체하여 또는 부가하여, 특정 스트림은 매칭하기에 적합한 문자열 또는 기타 데이터로 변환될 수 있다. mode 파라미터는 한 번, 복수 번 등과 같이 검색을 얼마나 수행할지를 표시한다. 본 발명의 일 태양에서, 한 번으로 특정된 경우, 검색은 매칭하는 첫 문자열을 얻은 후에 종료한다. 반복으로 특정된 경우, 검색은 수동에 의해 또는 시스템에 의해 종료될 때까지 문자열을 계속해서 매칭한다.
idSearch 파라미터는 검색에 대한 식별자이며, 고유하거나 고유하지 않을 수 있다. deltaTimeShift 파라미터는 검색 문자열이 매칭되고 콜백 메소드가 개시된 때로부터 현재 시각의 지연(delay)을 특정한다. 비한정적인 일 예시로서, 매칭이 발견된 때 수행하는 동작이 사용자가 녹화하기 원하는 사람이 등장하는 세그먼트의 특정 부분이 방송된 후에 텔레비전 쇼를 PVR상에 녹화하는 것을 개시하는 것을 포함하는 시나리오에서 deltaTimeShift 파라미터가 이용될 수 있다. startSearchTime 파라미터는 검색이 시작된 시간을 특정하고, endSearchTime 파라미터는 검색이 종료된 시간을 특정한다. startSearchTime 파라미터 및 endSearchTime 파라미터가 이용될 수 있는 비한정적인 일 예시는 스포츠 게임의 3 쿼터의 콘텐츠를 동기화하는데 이용될 수 있다. SetSearch 메소드(262)는 원하는 기타 목적을 위해 이용될 수 있을 뿐만 아니라 검색과 연관된 시스템 리소스를 해제하는데 이용될 수 있는, 검색에 대한 고유 식별자인 dwCookie를 출력한다.
본 발명의 일 태양에서, SearchFncTemplate 메소드(264)는 특정 검색 기준이 방송 스트림에서 매칭될 때 호출되는 연관된 동작의 메소드를 위한 콜백 템플릿 메소드(callback template method)의 역할을 한다. SearchFncTemplate 메소드(264)는 파라미터인 ccMatched, idSearch, timeStart 및/또는 timeEnd 중 하나 이상의 파라미터를 포함할 수 있다. 이러한 파라미터 중 하나 이상은 선택가능 파라미터 및/또는 생략가능 파라미터일 수 있다. 본 시스템의 일 태양에서, 텍스트 기반 스트림에 대해, 파라미터 ccMatched는 검색에서 매칭되는 실제 문자열이다. 오디오 및/또는 비디오 스트림 같은 기타 스트림 유형에 대해, ccMatched 파라미터는 스트림의 매칭된 구역이다. idSearch 파라미터는 검색에 대한 식별자이며, 고유하거나 고유하지 않을 수 있다. timeStart 파라미터는 검색 문자열에서 첫번째 필드(예컨대,문자)의 제공 시간이며, timeEnd 파라미터는 검색 문자열에서 마지막 필드(예컨대,문자)의 제공 시간이다. timeStart 파라미터 및 timeEnd 파라미터는 SetSerach 메소드(262)에서 특정된 deltaTimeShift에 의해 오프셋(offset)될 수 있다. 비한정적 일 예시로서, timeStart 파라미터는 비디오를 사용하여 단계들을 재편성(realign)하는 외부(후 처리) 단계에서 이용될 수 있다. 비한정적인 일 예시로서, timeEnd 파라미터는 후속 애니메이션의 기초로 삼는 동기화 포인트로 이용될 수 있다.
ClearSearch 메소드(266)는 dwCookie 파라미터를 포함할 수 있다. dwCookie 파라미터는 특정 검색에 대한 고유 식별자이며, ClearSearch 메소드(266)가 검색과 연관된 시스템 리소스를 해제할 수 있게 한다.
소프트웨어 기술 분야의 당업자는 검색 클래스(260)의 메소드가 더 많은 또는 더 적은 파라미터로 상이하게 배열될 수 있으며, 더 많은 또는 더 적은 작동을 수행할 수 있고, 더 나아가 기술된 작동을 수행하기 위해 기타 메소드를 호출할 수 있다는 것을 이해한다. 더 나아가, 소프트웨어 기술 분야의 당업자는 반환값이 매칭하는 특정 스트림으로부터 오는 대신 또 다른 공통 시간 위치 스트림(co-time-located stream) 및/또는 쇼의 시간 식별자로부터 올 수 있도록 검색 클래스(260)의 하나 이상의 메소드가 수정될 수 있다는 것을 이해한다. 비한정적인 일 실시예로서, 특정 소리가 쇼에서 발생한 때(값이 매칭할 때), 특정 그림이 반환될 수 있다(값이 반환될 수 있다).
도 6 내지 도 10에 대해서, 몇몇의 가상의 예시가 도 1 내지 도 5에서 기술된 몇몇 기술들을 좀 더 설명하기 위해 이용될 것이다. 이러한 예시는 예시에 불과하며, 본 명세서에 기술된 기술은 다수의 기타 시나리오에서 사용될 수 있다. 도 6과 관련하여, 프로세스 흐름도는 "Mary had a little lamb"라는 가상에 기초하여 직렬 매칭을 수행하는 것이 도시된다. 직렬 매칭은 특정 검색을 특정 순서로 프로세싱하기를 원할 때 및/또는 정확한 순서의 검색 기준을 만족시키는 경우에만 하나 이상의 동작을 수행하기 원할 때 이용된다. 직렬 매칭이 유용한 예시로는 생방송 쇼가 방송되고 있고 특정 세부 사항을 확신할 수 없어서, 기준이 완전하고 특정의 정확한 순서로 매칭된 후까지 대기하기 원할 때가 있다. 직렬 매칭은 매칭에 필요한 콘텐츠의 일부분이 왜곡된 때 및/또는 쇼가 스트림 도중이어서 검색 기준을 포함하는 콘텐츠 중 몇몇이 이미 방송되어버린 시나리오에 해당할 때 작동하지 않는다.
도 6의 프로세스는 검색 페이지로부터 Onload 이벤트(270)를 실행하는 것으로 시작한다. 제1 검색은 "Mary"를 검색하는 것이다(272). 스트림은 "Mary"가 발견될 때까지 검색된다(274). "Mary"가 실제로 발견된 때(276), 검색은 "Had"를 검색하는 것으로 진행된다(278). 스트림은 "Had"가 발견될 때까지 검색된다(280). "Had"가 실제로 발견된 때(282), 검색은 "Little"를 검색하는 것으로 진행된다. 프로세스는 "Lamb"이 실제로 발견될 때까지 각각의 남은 구에 대해 이러한 직렬 패턴을 따라간다(294).
도 7은 도 6에 기술된 직렬 매칭 프로세스를 실행하기 위한 VB 스크립트를 포함하는 견본 HTML 페이지를 도시한다. 비한정적인 일 예시로서, 검색/동작 쌍을 포함하는 시작 페이지는 인터넷으로부터 다운로드될 수 있다. 또한, 시작 페이지를 획득하기 위한 기타 시나리오가 이전에 설명한 바와 같이 이용될 수 있다. 바 인드 메소드(300)는 페이지를 검색 객체(예컨대, 검색 클래스(260)의 인스턴스)로 바인딩한다. Onload 이벤트(302)가 작동할 때, SetSearch 메소드는 "Mary"에 대한 제1 검색을 설정하기 위해 호출된다. SetSearch 메소드는 클로즈 캡션 스트림에 대해서 streamID 값 "CC1"를, callback 함수의 이름을 특정하는 searchFnc 값에 대해서 "ActMary"를, 값을 매칭시키는 regExp 문자열에 대해서 "Mary"를 그리고 검색하기 위한 매칭 기간을 특정하는 모드에 대해서 "Once"를 전달한다(pass). 이면에서는, callback 함수 ActMary가 등록되고, "Mary"에 대한 매칭이 실제로 반견된 때, ActMary 메소드(304)가 호출된다. 그 후, ActMary 메소드(304)는 새로운 기준으로 SetSearch 메소드를 호출하는 것에 의해 후속 검색을 설정한다. 그 후, 이러한 패턴은 매칭이 발견된 때 직렬 순서로 ActHad 메소드(306), ActLittle 메소드(308) 그리고 ActLamb 메소드(310)를 적절하게 호출하는 것에 의해 반복한다. ActLamb 메소드(308)가 직렬 프로세스의 종지에서 호출된 때, 원하는 동작을 수행하고 이 동작을 쇼 콘텐츠와 동기화하며, 본 예시에서 이 동작은 쇼가 방송되고 있는 동안 "Test Your Little Lamb Knowledge" 퀴즈를 나타내는 웹 페이지를 시작하는 것이다(이하에서 설명되는 도 10 참조).
도 8 내지 도 9를 참조하면, 동일한 가상이 병렬 매칭 프로세스를 도시하기 위해 사용된다. 병렬 매칭 프로세스는 누락 스트링(missing string)이 있는 시나리오 및/또는 몇몇 콘텐츠가 이미 방송된 이후 쇼의 후속 부분에서 시작할 때 유용할 수 있다. 도 8은 프로세스 흐름을 도시하고 도 9는 프로세스를 실행하는 VB 스크립트를 포함한 대응 HTML 페이지를 도시한다. 양 도면 모두는 이하의 설명에서 함께 참조된다. 다시 한번, 도 9의 검색/동작 쌍을 포함하는 도시된 시작 페이지는 인터넷을 통해 다운로드될 수 있거나 더 나아가 소정의 기타 수단에 의해 획득될 수 있다. 프로세스는 웹 페이지를 검색 객체(도 9의 340)를 바인딩하는 것으로 시작하고, 그 후 모든 검색(322)을 개시하는 Onload 이벤트(320; 도 9의 342)를 실행한다. OnLoad 이벤트(320)에서, 임의의 순서로 완료될 수 있는 SetSearch 메소드를 이용하여 5 개의 검색(Mary(324), Had(326), A Little(328), Lamb(330), 5 Second(timeout)(332))이 등록된다. Mary(324), Had(326), A Little(328)에 대한 검색이 매칭된 때, ActLine1 callback 메소드(334; 도 9의 344)가 호출된다. Lamb(330) 및 5 Seconds(timeout)(332)에 대한 검색이 매칭된 때, DoneLine1 callback 메소드(336; 도 9의 346)가 호출된다. Lamb(330)에 대한 검색이 성공적인 매칭으로 완료된 때, DoneLine1 메소드(336; 도 9의 346)는 ClearSearch 메소드를 호출하는 것에 의해 리소스를 해제하고, "Test Your Little Lamb Knowledge" 퀴즈를 디스플레이하는 마지막 동작을 수행하며, 이를 쇼와 동기화한다. 도 10에서 도시된 바와 같이, 모의 스크린(350)은 그 중에서도 도 6 내지 도 9의 가상의 예시에서 설명한 "Test Your Little Lamb Knowledge"를 디스플레이하기 위한 콘텐츠 창(354)뿐만 아니라 TV 창(352)을 포함한다. 당업자는 병렬 및 직렬 검색이 상반되는 검색 방법이라는 것과 이러한 두 가지의 검색 방법의 조합이 한 가지만의 검색 방법을 대신하거나 이에 부가될 수 있다는 것을 이해한다.
청구 대상이 구조적 특징 및/또는 방법론적 동작에 특화된 언어로 기술되었지만, 첨부된 청구항에서 정의된 청구 대상이 위에서 기술된 특정 특징 또는 동작 에만 한정되지 않는다는 것을 이해할 수 있다. 그보다는, 위에서 기술된 특정 특징 및 동작은 청구항을 구현하는 예시적인 형태로서 개시된다. 본 명세서 및/또는 이후의 청구항에 의해 기술된 본 발명의 사상의 범위 내의 모든 동등물, 변경 및 수정은 바람직하게 보호된다.
예를 들어, 컴퓨터 소프트웨어 기술 분야의 당업자는 본 명세서에서 설명된 예시에서 기술된 클라이언트 및/또는 서버 구성, 사용자 인터페이스 스크린 콘텐츠 및/또는 데이터 레이아웃이 하나 이상의 컴퓨터상에서 상이하게 구성되어, 예시에서 기술된 것보다 더 적은 또는 더 부가적인 옵션 또는 특징을 포함할 수 있다는 것과 이 역시 본 발명의 사상 내에 포함된다는 것을 인식한다.

Claims (20)

  1. 콘텐츠를 텔레비전 쇼에 동기화하는 방법으로서,
    적어도 하나의 방송 스트림을 수신하는 단계(222);
    적어도 하나의 검색 기준 및 적어도 하나의 수행되는 연관된 동작을 포함하는 검색 명령어의 집합을 전송 경로로부터 수신하는 단계(224);
    콘텐츠의 일부분을 추출하기 위해 상기 방송 스트림을 프로세싱하는 단계(226);
    상기 적어도 하나의 검색 기준이 콘텐츠의 상기 추출된 일부분에서 발견되었다는 것을 판정하는 단계(228); 및
    상기 동작을 재생되고 있는 특정 쇼와 동기화하는 것을 포함하는, 상기 적어도 하나의 연관된 동작을 개시하는 단계(230)
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 방송 스트림은 캡션닝 스트림(captioning stream)인(226) 방법.
  3. 제1항에 있어서,
    상기 방송 스트림은 오디오 스트림인(222) 방법.
  4. 제1항에 있어서,
    상기 검색 명령어의 집합은 웹 페이지에서 수신되는(224) 방법.
  5. 제1항에 있어서,
    상기 특정 쇼가 재생되고 있는 동안 상기 동작이 실제로 개시된 시점 이전에 상기 동작이 발생한 것처럼 보이게 하기 위해 시간 이동(time shifting)을 이용하는 단계(230)
    를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 검색 기준은 문자열 값에 적어도 부분적으로 기초하는(224) 방법.
  7. 제1항에 있어서,
    상기 검색 기준은 소리에 적어도 부분적으로 기초하는(228) 방법.
  8. 제1항에 있어서,
    상기 검색 기준은 하나 이상의 비디오 프레임에 적어도 부분적으로 기초하는(228) 방법.
  9. 제1항에 있어서,
    상기 적어도 하나의 검색 기준이 발견되었다는 것을 판정하는 단계는 정확한 매칭을 필요로 하지 않는(228) 방법.
  10. 제1항에 있어서,
    상기 검색 명령어의 집합은 우선 상기 재생되고 있는 특정 쇼의 가이드 엔트리를 수신한 후 상기 가이드 엔트리에서 특정된 특정 URL에서 상기 검색 명령어들을 검색하는 것에 의해 수신되는(224) 방법.
  11. 제1항에 있어서,
    상기 전송 경로는 인터넷 연결인(224) 방법.
  12. 제1항에 있어서,
    상기 검색 명령어의 집합은 사용자에 의해 특정되는(224) 방법.
  13. 컴퓨터가 제1항의 단계들을 수행하게 하기 위한 컴퓨터 실행가능 명령어를 포함하는(202) 컴퓨터 판독가능 매체.
  14. 콘텐츠를 텔레비전 쇼에 동기화하는 방법으로서,
    적어도 하나의 방송 스트림을 수신하는 단계(242);
    적어도 하나의 검색 기준 및 적어도 하나의 수행되는 연관된 동작을 포함하 는 적어도 하나의 검색 페이지를 전송 경로로부터 수신하는 단계(244);
    상기 검색 페이지를 적어도 하나의 검색 객체에 바인딩하는 단계(246);
    상기 검색 객체로부터, 상기 검색 페이지 내에 위치하고, 상기 연관된 동작을 수행하도록 작동가능한 적어도 하나의 검색 콜백 메소드(search call back method)를 등록하는 단계(248);
    상기 검색 기준이 상기 방송 스트림에서 발견된 때 상기 연관된 동작을 수행하기 위해 상기 콜백 메소드를 호출하는 단계(250); 및
    상기 연관된 동작을 재생되고 있는 특정 쇼와 동기화하는 단계(252)
    를 포함하는 방법.
  15. 컴퓨터가 제14항의 단계들을 수행하게 하기 위한 컴퓨터 실행가능 명령어를 포함하는(202) 컴퓨터 판독가능 매체.
  16. 콘텐츠를 텔레비전 쇼에 동기화하기 위한 애플리케이션 프로그램 인터페이스로서, 상기 애플리케이션 프로그램 인터페이스는 컴퓨터 판독가능 매체에 포함되며,
    호출하기 위한 검색 함수, 검색하기 위한 값 그리고 cookie ID를 포함하는 복수의 호출 파라미터를 포함하며, 매칭하는 상기 값을 발견하기 위해 특정 방송 스트림의 검색을 개시하도록 작동가능하고(244), 매칭하는 상기 값이 상기 특정 스트림에서 발견된 때 호출되는 콜백 메소드로서 상기 검색 함수를 등록하도록 더 작 동가능한(248) SetSearch 메소드 - 상기 cookie ID는 출력 파라미터이고(262), 매칭하는 상기 값은 전송 경로로부터 전송된 검색 명령어에 의해 적어도 부분적으로 판정됨(244) - ;
    호출 파라미터와 매칭되는 실제 값을 가지며(264), 매칭되는 상기 실제 문자열에 기초하여 특정 동작을 수행하는 상기 콜백 메소드로서 상기 검색 함수를 등록하기 위해 상기 SetSearch 메소드에 의해 템플릿으로 이용되는 SearchFncTemplate 메소드 - 상기 동작은 특정 쇼의 특정 부분과 연관있는 사용자에게 원하는 콘텐츠를 전달하는 것과 연관되어 있음(248) - ; 및
    상기 cookie ID 호출 파라미터를 입력 파라미터로 가지며(266), 상기 cookie ID와 연관되어 사용되고 있는 리소스를 소거하도록 작동가능한 ClearSearch 메소드
    를 포함하는 애플리케이션 프로그램 인터페이스.
  17. 제16항에 있어서,
    상기 SetSearch 메소드는 매칭하는 상기 값을 검색하기 위해 상기 특정 방송 스트림을 식별하기 위한 stream ID 호출 파라미터를 더 포함하는(262) 애플리케이션 프로그램 인터페이스.
  18. 제16항에 있어서,
    상기 SetSearch 메소드는 매칭하는 상기 값이 발견되고 상기 검색 함수가 호출된 때로부터 현재 시각의 지연을 특정하기 위한 delta time shift 호출 파라미터 를 더 포함하는(262) 애플리케이션 프로그램 인터페이스.
  19. 제16항에 있어서,
    상기 SetSearch 메소드는 start search time 호출 파라미터 및 end search time 호출 파라미터를 더 포함하는(262) 애플리케이션 프로그램 인터페이스.
  20. 제16항에 있어서,
    상기 SearchFncTemplate 메소드는 매칭하는 상기 값의 처음 필드의 시작 시각 및 매칭하는 상기 값의 마지막 필드의 종료 시각을 표시하는 호출 파라미터를 더 포함하는(264) 애플리케이션 프로그램 인터페이스.
KR1020087013209A 2005-12-02 2006-11-02 트리거를 사용하지 않는 양방향 텔레비전 KR101312902B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/292,868 US8307403B2 (en) 2005-12-02 2005-12-02 Triggerless interactive television
US11/292,868 2005-12-02
PCT/US2006/042887 WO2007064438A1 (en) 2005-12-02 2006-11-02 Triggerless interactive television

Publications (2)

Publication Number Publication Date
KR20080071585A true KR20080071585A (ko) 2008-08-04
KR101312902B1 KR101312902B1 (ko) 2013-09-30

Family

ID=38092559

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087013209A KR101312902B1 (ko) 2005-12-02 2006-11-02 트리거를 사용하지 않는 양방향 텔레비전

Country Status (8)

Country Link
US (1) US8307403B2 (ko)
EP (1) EP1964406A4 (ko)
JP (1) JP5174675B2 (ko)
KR (1) KR101312902B1 (ko)
CN (1) CN101322408B (ko)
BR (1) BRPI0619039A2 (ko)
MX (1) MX304391B (ko)
WO (1) WO2007064438A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904922B1 (en) 2000-04-07 2011-03-08 Visible World, Inc. Template creation and editing for a message campaign
US7895620B2 (en) * 2000-04-07 2011-02-22 Visible World, Inc. Systems and methods for managing and distributing media content
US9094477B2 (en) 2008-10-27 2015-07-28 At&T Intellectual Property I, Lp System and method for providing interactive on-demand content
ES2352397B1 (es) * 2009-06-24 2011-12-29 Francisco Monserrat Viscarri Dispositivo, procedimiento y sistema para generar eventos audiovisuales.
JP5595028B2 (ja) * 2009-12-14 2014-09-24 キヤノン株式会社 放送受信装置及び方法
CN102196193B (zh) * 2010-03-15 2015-04-29 新奥特(北京)视频技术有限公司 一种实现多种球类体育赛事的字幕播出方法
DE102010045335A1 (de) * 2010-09-14 2012-03-15 Klaus Hoffmann Verfahren zum Interaktiven Fernsehen mittels Apps auf Smartphones und Tablet-Computern
US8681866B1 (en) 2011-04-28 2014-03-25 Google Inc. Method and apparatus for encoding video by downsampling frame resolution
US9106787B1 (en) 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
US8948568B2 (en) * 2012-07-31 2015-02-03 Google Inc. Customized video
US20140108602A1 (en) * 2012-10-13 2014-04-17 Thomas Walter Barnes Method and system for delivering time-sensitive, event-relevant interactive digital content to a user during a separate event being experienced by the user
US9172740B1 (en) 2013-01-15 2015-10-27 Google Inc. Adjustable buffer remote access
US9311692B1 (en) 2013-01-25 2016-04-12 Google Inc. Scalable buffer remote access
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
CN105357588A (zh) * 2015-11-03 2016-02-24 腾讯科技(深圳)有限公司 数据显示方法及终端

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6336429A (ja) 1986-07-31 1988-02-17 Nec Corp デ−タ検索回路
US5805156A (en) * 1994-09-19 1998-09-08 Intel Corporation Automated media capturing system
US6240555B1 (en) * 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
US5937331A (en) 1996-07-01 1999-08-10 Kalluri; Rama Protocol and system for transmitting triggers from a remote network and for controlling interactive program content at a broadcast station
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
JPH10154182A (ja) 1996-11-25 1998-06-09 Nippon Telegr & Teleph Corp <Ntt> 問い合わせ回答方法及びシステム
KR19990051743A (ko) 1997-12-19 1999-07-05 정선종 내용 기반 영상 정보를 이용한 등록 상표 자동 검색 방법
JPH11259492A (ja) 1998-03-09 1999-09-24 Digital Archives Japan Kk 画像検索システム、画像検索方法および記録媒体
JPH11353325A (ja) 1998-06-10 1999-12-24 Hitachi Ltd 映像と関連情報の同期表示システム
JP4242986B2 (ja) 1998-10-27 2009-03-25 パナソニック株式会社 フォーカス制御装置
US6526580B2 (en) * 1999-04-16 2003-02-25 Digeo, Inc. Broadband data broadcasting service
US6816858B1 (en) * 2000-03-31 2004-11-09 International Business Machines Corporation System, method and apparatus providing collateral information for a video/audio stream
WO2001091462A1 (fr) 2000-05-25 2001-11-29 Thomson Licensing Sa Dispositif et procede de synchronisation de programmes audiovisuels diffuses et d'informations complementaires
KR20020054325A (ko) 2000-07-27 2002-07-06 요트.게.아. 롤페즈 비디오 개선을 위한 트랜스크립트 트리거
US6928429B2 (en) * 2001-03-29 2005-08-09 International Business Machines Corporation Simplifying browser search requests
US20030001887A1 (en) * 2001-06-27 2003-01-02 Smith James E. Method and system for communicating user specific infromation
US7017148B2 (en) * 2001-07-10 2006-03-21 Intel Corporation Apparatus and method for UPnP device code generation using XML
US7610358B2 (en) * 2001-11-26 2009-10-27 Time Warner Cable System and method for effectively presenting multimedia information materials
FR2841724A1 (fr) 2002-06-28 2004-01-02 Thomson Licensing Sa Systeme et procede de synchronisation pour programmes audiovisuels, dispositifs et procedes associes
PL374881A1 (en) 2002-08-26 2005-11-14 Samsung Electronics Co, Ltd. Apparatus for reproducing av data in interactive mode, method of handling user input, and information storage medium therefor
US20040268419A1 (en) * 2003-06-24 2004-12-30 Microsoft Corporation Interactive content without embedded triggers
JP2007528144A (ja) 2003-07-11 2007-10-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチメディア信号おいてトリガーマーカとして機能するフィンガープリントを生成及び検出する方法及び装置
US7653288B2 (en) 2003-08-16 2010-01-26 Samsung Electronics Co., Ltd. Information storage medium having data structure for being reproduced adaptively according to player profile information, method for reproducing AV data in interactive mode
JP2005286966A (ja) 2004-03-31 2005-10-13 Hitachi Ltd 情報処理装置及び情報処理システム

Also Published As

Publication number Publication date
CN101322408B (zh) 2011-08-03
KR101312902B1 (ko) 2013-09-30
US8307403B2 (en) 2012-11-06
CN101322408A (zh) 2008-12-10
EP1964406A4 (en) 2010-09-08
WO2007064438A1 (en) 2007-06-07
BRPI0619039A2 (pt) 2011-09-20
MX304391B (es) 2012-10-17
JP2009517976A (ja) 2009-04-30
US20070130611A1 (en) 2007-06-07
EP1964406A1 (en) 2008-09-03
JP5174675B2 (ja) 2013-04-03

Similar Documents

Publication Publication Date Title
KR101312902B1 (ko) 트리거를 사용하지 않는 양방향 텔레비전
RU2601446C2 (ru) Оконечное устройство, серверное устройство, способ обработки информации, программа и система подачи сцепленного приложения
US9936260B2 (en) Content reproduction method and apparatus in IPTV terminal
KR102075174B1 (ko) 트리거 압축
JP6408762B2 (ja) 受信装置、受信方法、及びプログラム
US8886009B2 (en) Creation of video bookmarks via scripted interactivity in advanced digital television
WO2017063399A1 (zh) 一种视频播放方法和装置
US20060168639A1 (en) Interactive television system with partial character set generator
JP2004166253A (ja) マルチメディアオブジェクトのための時間基準
JP6043089B2 (ja) 放送通信連携受信装置
RU2630261C2 (ru) Передающее устройство, способ обработки информации, программа, приемное устройство и система взаимодействия приложения
CN108810580B (zh) 媒体内容推送方法及装置
JP2017538328A (ja) プロモーション情報の処理方法、装置、デバイス及びコンピュータ記憶媒体
US20160322080A1 (en) Unified Processing of Multi-Format Timed Data
US8490131B2 (en) Automatic capture of data for acquisition of metadata
CN103747280A (zh) 一种创建节目单的方法及电子设备
KR102307330B1 (ko) 수신 장치 및 수신 방법
JP2003283946A (ja) 映像関連情報提示装置および方法、ならびに、この方法の実行プログラムおよびこの実行プログラムを記録した記録媒体
US9084011B2 (en) Method for advertising based on audio/video content and method for creating an audio/video playback application
KR101214515B1 (ko) 방송콘텐츠의 부가정보 제공 시스템 및 그 방법
CN109815408B (zh) 用于推送信息的方法和装置
MX2008007015A (es) Television interactiva sin accionador
CN113422998A (zh) 短视频和笔记内容生成的方法、装置、设备及存储介质
CN117376593A (zh) 直播流的字幕处理方法、装置、存储介质及计算机设备
Neto et al. Research Article A Tool to Simulate the Transmission, Reception, and Execution of Interactive TV Applications

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190829

Year of fee payment: 7