KR101729701B1 - 매체 컨텐츠 공간의 네비게이션 - Google Patents

매체 컨텐츠 공간의 네비게이션 Download PDF

Info

Publication number
KR101729701B1
KR101729701B1 KR1020127021653A KR20127021653A KR101729701B1 KR 101729701 B1 KR101729701 B1 KR 101729701B1 KR 1020127021653 A KR1020127021653 A KR 1020127021653A KR 20127021653 A KR20127021653 A KR 20127021653A KR 101729701 B1 KR101729701 B1 KR 101729701B1
Authority
KR
South Korea
Prior art keywords
program
programs
cluster
data
content
Prior art date
Application number
KR1020127021653A
Other languages
English (en)
Other versions
KR20120138234A (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 KR20120138234A publication Critical patent/KR20120138234A/ko
Application granted granted Critical
Publication of KR101729701B1 publication Critical patent/KR101729701B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/72Systems specially adapted for using specific information, e.g. geographical or meteorological information using electronic programme guides [EPG]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • 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
    • 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/4314Generation 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 fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • 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/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/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

컨텐츠 가이드 내부의 요소들 사이의 공간적인 관계를 식별하는, 컨텐츠 가이드를 제공하는 방법 및 시스템이 설명된다. 제어기는 전자 프로그램 가이드 데이터를 수신한다. 이 수신된 전자 프로그램 가이드 데이터는, 전자 프로그램 가이드 내부에 목록화된 복수의 프로그램들을 식별하기 위해, 그리고 이 식별된 프로그램들을 위한 적어도 하나의 프로그램 설명 속성에 해당하는 데이터를 식별하기 위해, 분석된다. 상기 적어도 하나의 프로그램 설명 속성을 기초로 한 각각의 식별된 프로그램 사이의 관계가 결정된다. 적어도 하나의 클러스터가 생성되고, 상기 결정된 관계를 기초로 한 상기 복수의 식별된 프로그램들 중 적어도 하나를 포함한다. 사용자 인터페이스 디스플레이 프로세서는, 클러스터화된 컨텐츠 가이드를 나타내는, 그리고 사용자가 상기 복수의 프로그램들의 관계를 보는 것을 가능하게 하는 상기 적어도 하나의 생성된 클러스터를 포함하는, 사용자 인터페이스 디스플레이 이미지를 생성한다.

Description

매체 컨텐츠 공간의 네비게이션{MEDIA CONTENT SPATIAL NAVIGATION}
본 출원은 2010년 2월 19일에 출원된 미국 가특허 출원 일련 번호 제61/306,343호의 이득을 청구하는 바이며, 모든 목적을 위해 본 명세서에서 그 전체가 참조로서 병합된다.
본 발명(arrangement)은 전자 프로그램 가이드 데이터를 구성하고 디스플레이하기 위한 시스템 및 방법을 제공한다.
종래에, 케이블 또는 위성 공급자에 대한 가입자(subscriber)는 디스플레이 디바이스에 연결된 셋톱 박스(set top box)를 사용하여 컨텐츠에 접근한다. 주어진 시간에 접근될 컨텐츠를 선택할 때, 사용자는 원격 제어기를 이용한 사용자-생성된 제어 신호의 수신(receipt)에 응답하여 스크린에 디스플레이될 수 있는, 전자 프로그램 가이드(Electronic Program Guide : EPG)를 사용할 수 있다.
EPG는 전형적으로 주어진 시간 주기 동안 채널들 상에 있는 프로그램들에 관한 채널들 및 정보의 목록을 표현하는, 표 형식으로 포맷된 사용자 인터페이스이다. 이 EPG 사용자 인터페이스에서 디스플레이되는 가이드 정보는, 디스플레이 디바이스의 한정된 스크린 실제 공간(screen real estate) 때문에, 부족하다. 그래서, 가이드는 각각의 프로그램들에 관한 제한된 정보만을 디스플레이할 수 있다. 예를 들어, 현재 EPG의 가이드 정보는 단지 프로그램 이름, 시작 및 종료 시간, 간결한 설명, 캐스트(cast) 목록, 그리고 아마도 (텔레비전 프로그램 가이드 TV-PG에서와 같은) 등급을 열거한다.
추가적으로, EPG 데이터는 채널에 의해 그리고 시간에 의해 구성되는 선형의 방식으로 사용자에게 디스플레이 된다. 반면에, 케이블/위성 운영자들은, 유사한 타입의 컨텐츠를 브로드캐스트하는 것으로 알려진 채널들을 그룹화함으로써, EPG 가이드 네비게이션을 향상 시키려고 시도한다. 예를 들어, 케이블 공급자는 스포츠 컨텐츠를 브로드캐스트하는 것으로 알려지는 채널들의 블록과, 그리고 생활 개선 또는 코미디 컨텐츠를 브로드캐스트하는 것으로 알려진 별도의 그룹을 제쳐둘 수 있다. 채널 그룹화가 흥미로울 수 있는 컨텐츠를 찾는 사용자의 능력을 향상시켜온 반면에, 이러한 컨텐츠 구성의 방법은, 사용자가 주어진 시간에 채널들의 세트 상에서 제한된 프로그래밍만을 볼 수 있기 때문에, 한정적이다. 이용 가능한 이 컨텐츠에 접근하는 것에 관련된 단점은 소비자/사용자가 그들에게 흥미로울 수 있는 컨텐츠를 분류하고 그것의 정확한 위치를 찾아내며, 의미있는 방법으로 그것을 모으는 것은 지루한 업무가 될 수 있다는 것이다.
다수의 세트들의 채널의 전역에 퍼져있는 컨텐츠의 더 큰 세트로부터 획득되는 컨텐츠의 보다 신속한 선택을 가능하게 하는 전자 프로그램 가이드의 서핑(surfing) 속도를 향상시킬 필요가 있다.
본 발명의 한 양상은, 사용자가 텔레비전 프로그램과 같은 매체 컨텐츠를 보다 빠르고 효율적으로 검색하고 선택하는 것을 가능하게 하는 향상된 프로그램 가이드를 포함한다.
한 실시예에서, 컨텐츠 가이드 내의 요소들 사이의 공간적인 관계를 식별하는 컨텐츠 가이드를 제공하는 방법이 설명된다. 제어기는 전자 프로그램 가이드 데이터를 수신한다. 이 수신된 전자 프로그램 가이드 데이터는 분석되어, 이 전자 프로그램 가이드 내에 목록화된 복수의 프로그램들, 및 식별된 프로그램들에 관한 적어도 하나의 프로그램 설명 속성에 해당하는 데이터를 식별한다. 이 적어도 하나의 프로그램 설명 속성에 기반을 둔 각각의 식별된 프로그램 사이의 관계가 결정된다. 적어도 하나의 클러스터(cluster)가 생성되며, 결정된 관계에 기반을 둔 복수의 식별된 프로그램들 중 적어도 하나를 포함한다. 사용자 인터페이스 디스플레이 프로세서는 클러스터화된 컨텐츠 가이드를 표현하는, 그리고 사용자가 복수의 프로그램들의 관계를 보는 것을 가능하게 하는 적어도 하나의 생성된 클러스터를 포함하는, 사용자 인터페이스 디스플레이 이미지를 생성한다.
또 다른 실시예에서, 컨텐츠 가이드 내의 요소들 사이의 공간적인 관계를 식별하는 컨텐츠 가이드를 제공하기 위한 시스템이 설명된다. 수신기는 전자 프로그램 가이드 데이터를 수신한다. 속성 프로세서는 이 수신된 전자 프로그램 가이드 데이터를 분석하여, 전자 프로그램 가이드 내에 목록화된 복수의 프로그램들, 및 식별된 프로그램들에 관한 적어도 하나의 프로그램 설명 속성에 해당하는 데이터를 식별한다. 클러스터 프로세서는 이 적어도 하나의 프로그램 설명 속성에 기반을 둔 각각의 식별된 프로그램 사이의 관계를 결정하며, 그리고 결정된 관계에 기반을 둔 복수의 식별된 프로그램들 중 적어도 하나를 포함하는 적어도 하나의 클러스터를 생성한다. 사용자 인터페이스 디스플레이 프로세서는 클러스터화된 컨텐츠 가이드를 표현하는, 그리고 사용자가 이 복수의 프로그램들 사이의 관계를 보는 것을 가능하게 하는 적어도 하나의 생성된 클러스터를 포함하는, 사용자 인터페이스 디스플레이 이미지를 생성한다.
상기는 본 주제 실시예들의 일부 양상에 대한 기초적인 이해를 제공하기 위해 본 주제의 간략화된 개요를 제시한다. 이 개요는 본 주제의 광범위한 개관이 아니다. 이것은 이 실시예들의 핵심/중요 요소들을 식별하도록 또는 본 주제의 범주를 기술하도록 의도되지 않는다. 이것의 유일한 목적은 추후에 제시되는 보다 더 상세화된 설명에 대한 서론으로서, 간략화된 형태로 본 주제의 일부 개념들을 제시하는 것이다.
상기 및 관련된 결말의 성취를 위해, 실시예들의 특정 예시적인 양상들은 그 뒤에 이어지는 설명 및 첨부된 도면들과 관련하여 본 명세서에서 설명된다. 하지만, 이 양상들은 본 주제의 원리들이 이용될 수 있는 다양한 방식들 중 소수를 나타내며, 본 주제는 이러한 모든 양상들 및 이들의 등가물을 포함하도록 의도된다. 본 주제의 다른 장점 및 새로운 특징들은, 도면들과 관련하여 고려될 때, 다음에 이어지는 상세한 설명으로부터 명백해 질 수 있다.
컨텐츠 가이드가 일반적으로 최소의 정보를 포함하는 반면에, 이용된다면, 종래의 프로그램 가이드들에서 현재 이용 가능한 것보다 훨씬 더 많은 정보를 포함하는 종합적인 컨텐츠 프로그램 가이드를 생산하는데 사용될 수 있는 다양한 다른 소스들로부터 훨씬 더 많은 정보가 이용 가능하다. 이 추가적인 정보는, 가이드의 서핑 속도를 향상시킴으로써, 다수의 이용 가능한 세트로부터 보다 빠른 컨텐츠의 선택을 제공함으로써, 그리고 전체 가이드에 대한 보다 빠른 인식을 제공함으로써, 가이드 네비게이션 및 컨텐츠의 선택에 있어서 사용자의 경험을 유리하게 향상시킬 수 있다.
도 1은 한 실시예의 양상에 따른 클러스터화된 프로그램 가이드를 생성하는 시스템의 예시적인 도면.
도 2는 한 실시예의 양상에 따른 클러스터화된 프로그램을 생성하기 위한 알고리즘을 상세화하는 예시적인 흐름도.
도 3은 한 실시예의 양상에 따른 클러스터화된 프로그램 가이드의 예시적인 디스플레이 이미지를 나타내는 도면.
도 4는 한 실시예의 양상에 따른 클러스터화된 프로그램 가이드의 예시적인 디스플레이 이미지를 나타내는 도면.
도 5는 한 실시예의 양상에 따른 클러스터화된 프로그램 가이드를 네비게이션하기 위한 방법을 상세화하는 예시적인 흐름도.
도 6은 한 실시예의 양상에 따른 클러스터화된 프로그램 가이드를 네비게이션하기 위한 방법을 상세화하는 예시적인 흐름도.
도 7은 한 실시예의 양상에 따른 클러스터화된 프로그램 가이드의 예시적인 디스플레이 이미지를 나타내는 도면.
도 8은 한 실시예의 양상에 따른 클러스터화된 프로그램 가이드를 생성하기 위한 시스템의 예시적인 블록도.
이제, 본 주제는 도면에 관하여 설명되고, 이 때, 도면 전체에 걸쳐 유사 참조 번호는 유사한 요소들을 언급하기 위해 사용된다. 다음의 설명에서, 설명의 목적을 위해, 다수의 특정한 세부사항들은 본 주제에 대한 철저한 이해를 제공하기 위해 설명된다. 그러나, 본 주제 실시예들이 이러한 특정한 세부사항들 없이 실행될 수 있다는 것은 명백할 수 있다. 다른 예시에서, 잘 알려진 구조 및 (전원 공급 장치, 드라이버 등과 같은) 디바이스들은 본 실시예들을 설명하는 것을 돕기 위해 블록도로부터 생략된다.
본 출원에서 사용된 바와 같이, "구성 요소"라는 용어는 하드웨어, 또는 하드웨어 및 실행 중인 소프트웨어의 결합을 언급하도록 의도된다. 예를 들어, 한 구성 요소는 프로세서 상에서 동작하고 있는 프로세스, 프로세서, 객체(object), 프로세서 상에서 동작하고 있는 실행 파일(executable), 및/또는 마이크로 칩 등 일 수 있지만, 이러한 것들에 국한되지는 않는다. 예시의 방법으로서, 프로세서 상에서 동작 중인 응용프로그램과 프로세서 모두는 구성 요소일 수 있다. 하나 이상의 구성 요소들은 프로세스 내에 상주할 수 있고, 구성 요소는 한 시스템 상에 국한될 수 있고/있거나, 두 개 이상의 시스템들 사이에 분산될 수 있다. 도면에서 도시되는 다양한 구성 요소들의 기능들은 전용의 하드웨어의 사용을 통하여, 그리고 적절한 소프트웨어와 관련된 소프트웨어를 실행할 수 있는 하드웨어의 사용을 통하여 제공될 수 있다.
기능들이 프로세서에 의해 제공될 때, 이 기능들은 단일의 전용 프로세서, 단일의 공유 프로세서, 또는 일부가 공유될 수 있는 복수의 개별 프로세서들에 의해 제공될 수 있다. 게다가 "프로세서" 또는 "제어기"라는 용어의 명시적인 사용은 오로지 소프트웨어를 실행할 수 있는 하드웨어만을 언급하는 것으로 해석되어서는 안되며, 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 그리고 비휘발성 저장 장치를 제한 없이 은연 중에 포함할 수 있다. 더욱이, 본 발명의 예시들과 실시예들을 열거하는 본 명세서의 모든 진술들은 구조적 및 기능적 등가물들을 모두 포함하는 것으로 의도된다. 추가적으로, 이러한 등가물들은 현재 알려진 등가물들 뿐만 아니라 추후에 개발될 등가물들(즉, 구조에 상관없이 동일한 기능을 수행하는 것으로 개발될 일부 요소들)까지도 모두 포함하는 것으로 의도된다.
본 명세서에서 사용되는 임의의 하이퍼링크들은 오로지 예시의 목적으로 사용되는 것이 주목되어야 한다. 이 하이퍼링크들은 활성화될 수도 있거나 활성화되지 않을 수 있으며, 데이터를 포함할 수도 있거나 포함하지 않을 수도 있다. 임의의 하이퍼링크에 해당하는 위치에 저장되는 임의의 데이터는 본 발명의 이해를 위해 요구되지 않는다.
컨텐츠 공급자들은 복수의 사용자들에게 상이한 종류의 컨텐츠에 대한 접근을 제공한다. 예를 들어, 케이블/위성 공급자들은 일반적으로 상이한 종류의 컨텐츠의 전달을 위해, 포털(portal) 또는 게이트웨이의 임무를 수행하는 셋톱 박스들을 소비자들에게 임대한다. 컨텐츠에 대한 접근을 선택적으로 제공하는 이 장비는, 디코딩되어 디스플레이 디바이스 상에서 사용자에게 디스플레이 될 수 있는 컨텐츠 가이드 데이터에 유리하게 접근한다. 컨텐츠 가이드 데이터는 컨텐츠가 접근될 수 있는 적어도 하나의 채널의 목록, 그리고 이 적어도 하나의 채널 상의 컨텐츠에 관련된 정보를 포함한다. 한 예시는 브로드캐스트 데이터와 동일한 채널을 통하여 케이블 공급자로부터 직접 들어오거나, 또는 컨텐츠 가이드 데이터를 컴파일하여 제공하는 추가된 인터넷 서비스를 통하여 전달되는 전자 프로그램 가이드 데이터(또는 전자 서비스 가이드 데이터)이다. 이 컨텐츠 가이드 데이터는 일반적으로 대역폭 한계 및 데이터가 요구되는 상당한 개수의 프로그램들 때문에, 특정한 시간대에 특정한 채널 상에서 이 프로그램들을 설명하는 최소의 정보를 포함한다. 추가적으로, 이 컨텐츠 가이드는, 이용 가능한 프로그램들의 개수가 증가함에 따라, 컨텐츠 가이드 데이터의 선형 네비게이션이 점점 더 어려워지기 때문에, 컨텐츠를 검색하는 것에 있어서 매우 비효율적이다. 예를 들어, 이용 가능한 프로그램들의 개수가 선형의 검색 가이드에서 증가하기 때문에, 가이드 네비게이션에서 사용자의 부담(overhead)은 증가한다.
컨텐츠 가이드가 일반적으로 최소의 정보를 포함하지만, 이용된다면, 종래의 프로그램 가이드들에서 현재 이용 가능한 것보다 훨씬 더 많은 정보를 포함하는 종합적인 컨텐츠 프로그램 가이드를 생산하는데 사용될 수 있는, 다양한 다른 소스들로부터 훨씬 더 많은 정보가 이용 가능하다. 이 추가적인 정보는, 가이드의 서핑 속도를 향상시킴으로써, 많은 이용 가능한 세트로부터 보다 빠른 컨텐츠의 선택을 제공함으로써, 그리고 전체 가이드에 대한 보다 빠른 인식을 제공함으로써, 가이드 네비게이션 및 컨텐츠의 선택에 있어서 사용자의 경험을 유리하게 향상시킬 수 있다.
본 시스템은 컨텐츠의 계층적인 그룹화를 생성하기 위해 컨텐츠의 관련성을 이용하여 컨텐츠 가이드 데이터 프리젠테이션 및 네비게이션을 향상시킬 수 있다. 텔레비전 프로그램 또는 임의의 다른 미디어 프로그램들을 포함(이것들에 국한되지는 않음)하는 컨텐츠는 수많은 방법으로 서로 연관되어 있을 수 있다. 프로그램들의 계층적 그룹화는 도전적이며, 그룹들 사이에서 컨텐츠의 겹침(overlapping)을 초래할 수도 있다. 이에 따라, 본 시스템은 컨텐츠가 속하는 모든 차원들을 고려함으로써 이용 가능한 컨텐츠의 세트로부터 컨텐츠의 관련된 부분들의 클러스터들을 유리하게 생성한다. 예를 들어, 컨텐츠는 정보를 포함하는 복수의 상이한 속성들을 이용하여 설명될 수 있으며, 적어도 하나의 속성은 이 컨텐츠를 설명하고 이 컨텐츠에 관련되며, 컨텐츠의 상기 부분의 차원은 상기 속성에 포함되는 정보에 의해 한정된다. 본 시스템은 유리하게도 세트 내의 프로그램들이 어떻게 서로 연관되는 지를 표현하기 위하여, 컨텐츠의 세트 내의 모든 컨텐츠를 클러스터화한다. 두 프로그램들 사이의 관련성의 레벨은 이와 함께 관련되는 매칭 속성들의 개수에 의해 결정될 수 있다. 관련된 프로그램들의 클러스터를 생성할 때, 복수의 클러스터들 중 각각의 하나를 표현하는 데이터는 자동으로 사용자에게 디스플레이 된다. 본 시스템은 더 유리하게도 사용자가 프로그램들의 클러스터 내부에 포함된 컨텐츠를 네비게이션하는 것(예, 수직적인 네비게이션)과, 그리고 클러스터들 사이를 네비게이션하는 것(예, 측면의 네비게이션)을 가능하게 한다. 따라서, 이 컨텐츠에 관련된 추가적인 정보는 이에 따른 네비게이션을 향상시키는 동시에, 사용자에게 컨텐츠 가이드 데이터의 디스플레이를 향상시키도록 사용될 수 있다.
본 시스템의 한 예시적인 실시예는 도 1에서 도시되고 있으며, 이는 케이블/위성 공급자로부터의 입력 신호(101)를 선택적으로 튜닝하는 튜너 모듈을 포함하는 셋톱 박스(102), 예를 들어, 케이블 텔레비전 셋톱 박스를 포함한다. 셋톱 박스(102)는 프로그램 가이드 데이터를 포함하는 수신되는 프로그램 데이터를 분석하고, 튜너 모듈에 의해 튜닝될 이용 가능한 각각의 프로그램들에 관련되는 속성들로 데이터베이스(104)를 채운다. 본 실시예에서, 데이터베이스는 분리형 디스크 드라이브로서 또는 통신 네트워크를 통해 접근 가능한 클라우드(cloud) 데이터베이스 저장 위치로서 구현될 수 있다. 한 대안적인 실시예에서, 데이터베이스(104)는 셋톱 박스(102) 내부에서 구현될 수 있다. 이 데이터베이스의 구조는 하루의 특정 시간 주기를 표시하는 다양한 표들을 가질 수 있다. 각각의 표에서, 컨텐츠를 설명하기 위해 사용되는 속성들은 열로 제공될 수 있으며, 특정 시간 주기에서의 프로그램들은 행으로 제공될 수 있다. 본 명세서에 사용되는 바와 같이, 컨텐츠는 케이블/위성 공급자로부터 이용 가능한 텔레비전 프로그램들을 포함한다. 그러나, 당업자는 컨텐츠가 사용자가 임의의 방법으로 접근할 수 있는 임의의 오디오-비디오 멀티미디어 데이터일 수 있다는 것을 이해할 것이다. 이 시스템에 의해 채워질 수 있는 특정 시간 주기에서의 각각의 프로그램에 대한 속성들의 세트의 예시는,
● 제목;
● 소제목;
● 설명;
● 개요(일반적으로 좀더 장문의 설명을 의미함.);
● 배역(배우, 추천인, 감독, 해설자, 제작자);
● 이미지(스크린 샷, 포스터, 박스 아트. 썸네일);
● 장르/카테고리;
● 평가 및 자문(예, PG-13);
● 검토 및 등급 평가;
● 동일한 프로그램의 다른 에피소드;
● 정보의 온라인 소스(Hulu, Fancast, Netflix 등에서의 쇼/에피소드);
● 관련 영화 및 쇼;
● 본 방송의 날짜;
● 시리즈 날짜; 그리고,
● 프로그램에 묘사된 주제/상황을 설명하는 날짜;를 포함할 수 있지만, 이러한 것들에 국한되지는 않는다.
본 시스템은,
● 전자 프로그램 가이드 공급자(예, 스케쥴 디렉트);
● 셋톱 박스(STB를 조회함으로써, 이 STB는 컨텐츠 공급자로부터 정보를 획득할 수 있음);
● 케이블/위성/FIOSTM 피드;
● 선호하는 컨텐츠 공급자에 기초한 검색(예를 들어, DisneyTM 컨텐츠에 관한 DisneyTM, 또는 Comcast TM 컨텐츠에 관한 ComcastTM 등을 조회하는 것과 같은 그들의 컨텐츠에 관한 공급자를 조회하는 것);
● 인터넷 검색 : GoogleTM, BingTM, WikipediaTM 등은 검색 APIs를 드러낸다. 이들은 또한 독립적으로 천천히 진행될 수 있다;
● DVR/PVR; 그리고
● 사용자의 홈 네트워크에서의 매체 컨텐츠; 등을 포함하지만, 이러한 것들에 국한되지는 않는, 복수의 상이한 소스들로부터, 이러한 및 다른 속성들을 얻을 수 있다.
도 1의 시스템 실시예에서, 셋톱 박스(102)는, 셋톱 박스(102) 내부의 튜너 모듈에 의해 튜닝되는 신호에 해당하는 컨텐츠를 선택적으로 디스플레이하는 제1의 디스플레이 디바이스(108), 예를 들어, 고 선명도 텔레비전 모니터에 연결된다. 셋톱 박스(102)가 컨텐츠의 선택 및 보기를 가능하게 하는 액세스 포인트로서 설명되었지만, 컨텐츠의 선택을 가능하게 하는 적어도 하나의 튜너 모듈을 포함하는 임의의 디바이스가 본 시스템을 구현하기 위해 사용될 수 있다는 것이 주목되어야 한다. 대안적으로, 본 시스템은 컨텐츠의 임의의 부분이 선택되는 것을, 그리고 임의의 방법으로 사용자에게 제공되는 것을, 가능하게 하는 임의의 디바이스에 의해 구현될 수 있다. 제2의 디스플레이 디바이스(110)는 본 시스템에 의해 생성되는 클러스터화된 컨텐츠 가이드의 디스플레이를 위해 제공될 수 있다. 제2의 디스플레이 디바이스(110)는 근거리 네트워크와 광역 네트워크 중 적어도 하나에 접근하는, 그리고 게다가 디스플레이를 위해 셋톱 박스(102)로부터의 개선된 컨텐츠를 표현하는 데이터에 접근할 수 있고 이 데이터를 수신할 수 있는 임의의 계산 디바이스 일 수 있다. 제2의 디스플레이 디바이스(110)는 컴퓨터, 랩톱, 넷북, 태블릿 컴퓨터, 셀룰러폰, 스마트폰, 또는 제1의 디스플레이 디바이스(108)와 상이한 제2의 모니터를 포함하지만, 이것들에 국한되지는 않는다.
셋톱 박스(102)는, 이 셋톱 박스(102)(또는 제1의 디스플레이 디바이스(108))가 제1의 디스플레이 디바이스 상의 전자 프로그램 가이드를 포함하는 사용자 인터페이스를 디스플레이하게 하도록, 사용자(112) 또는 다른 디바이스(예를 들어, VCR, DVR, 또 다른 튜너 등)에 의해 알려진 방법으로 인해, 예를 들어, 원격 제어기(도시되지 않음)를 사용하여 제어된다. 이 프로그램 가이드 데이터는 주어진 시간에 튜닝될 이용 가능한 복수의 프로그램들을 설명하는 정보를 포함한다. 제1의 디스플레이 디바이스(108) 또는 제2의 디스플레이 디바이스(110) 상의 디스플레이를 위한 클러스터화된 프로그램 가이드를 생성하는 것에 있어서, 프로그램 가이드 데이터 및 프로그램 컨텐츠를 식별하고/하거나 설명하는 임의의 다른 데이터는, 거기서부터 속성들을 검색하고 클러스터 컨텐츠 가이드 데이터베이스(104)를 채우기 위해, 본 시스템에 의해 분석된다. 본 시스템은 클러스터 컨텐츠 가이드 데이터베이스(104)를 사전에 채우기 위해 수신 시, 그리고 현재의 시간 프레임 보다 앞서서 EPG 및 다른 데이터를 분석한다. 예를 들어, 본 시스템은 셋톱 박스 성능을 보장하기 위해 하루 전날에 EPG 데이터를 분석할 수 있고, 데이터의 디스플레이는 사용자가 제1의 디스플레이 디바이스(108) 상의 프로그램 컨텐츠를 실제로 보고 있을 때, 방해받지 않는다.
다음은 클러스터화된 EPG가 어떻게 제1의 디스플레이 디바이스(108)와 제2의 디스플레이 디바이스(110) 중 적어도 하나에 디스플레이되도록 야기되는 지에 대한 예시적인 설명이다. 본 예시적인 실시예에서, 사용자(112)는 전자 프로그램 가이드가 디스플레이 되도록 요청하는 제어 신호를 생성할 수 있다. 이 셋톱 박스(102)는 현재 이용 가능한 모든 프로그램들에 관련된 속성들의 형태로 설명 정보를 유도하기 위해, 컨텐츠 공급자에 의해 제공되는 컨텐츠 데이터 스트림 또는 웹 사이트와 같은 전자 서비스 가이드 소스로부터 전자 서비스 가이드를 조회한다. 현재 이용 가능할 수 있는 각각의 프로그램들에 관하여, 적어도 한 종류의 속성 데이터는 셋톱 박스(102)에서 실행하는 속성 검색 모듈에 대한 입력으로서 사용된다. 이 속성 검색 모듈은 EPG로부터 유도되는 속성 데이터와 결합하고, 데이터베이스(104)에 저장되는 프로그램 속성들의 개선된 세트를 생성하기 위한 프로그램에 관련된 정보를 위해, 웹(106)에 위치된 정보 공급자를 검색한다. 셋톱 박스(102)의 제어기(800) 내부에서 구현되는 클러스터 프로세서(도 8)는 단일 차원의 프로그램을 표현하는 속성 데이터의 적어도 한 가지 종류를 선택하고, 계층적인 클러스터링 알고리즘을 수행하여, 연관되고, 그리고 제1의 디스플레이 디바이스(108) 또는 제2의 디스플레이 디바이스(110) 중 적어도 하나 상에서 보기(viewing)를 위해 현재 이용 가능한 관련 프로그램들의 세트를 포함하는, 적어도 하나의 클러스터를 생성한다. 클러스터는 서로에 관련되도록 결정되는 프로그램들의 세트를 포함한다. 상기 적어도 하나의 생성된 클러스터를 표현하는 데이터는 사용자에게 디스플레이 할 목적으로 사용자 인터페이스 디스플레이 프로세서(도 8)에 의해 포맷된다. 일단 한번 디스플레이되면, 사용자는 클러스터에 포함되는 프로그램들의 세트 뿐만 아니라, 서로에 덜 관련된 프로그램들의 상이한 세트를 포함하는 상이한 클러스터들의 사이까지도 선택적으로 네비게이션 할 수 있다.
도 2는 본 명세서에서 설명되는 참조 번호들을 사용하여 도 1에 설명되는 본 시스템의 예시적인 동작을 상세화하는 흐름도이다. 본 실시예는 클러스터화된 EPG 데이터를 생성하기 위해 데이터가 획득되게 하는 메커니즘을 설명한다. 한 실시예에서, 본 명세서에 설명되는 프로세서들/동작들은 한 프로그램을, 선택된 프로그램으로서 식별하는 제어 신호를 수신하기에 앞서서 수행되고, 이에 의해 관련 컨텐츠 정보를 획득하고 관련 컨텐츠 정보를 포함하는 UI를 생성하기 위해 필요한 시간을 줄인다. 또 다른 실시예에서, 본 명세서에 설명되는 프로세스들/동작들은 제1의 디스플레이 또는 제2의 디스플레이 디바이스 상의 EPG 내부로부터 컨텐츠를 선택하는 제어 신호의 수신에 응답하여 수행된다.
단계(202)에서, EPG 데이터는 컨텐츠 데이터 스트림, 또는 컨텐츠 공급자 관련 데이터를 가지는 웹 사이트와 같은 EPG 데이터의 소스로부터 획득되며, 주어진 시간 주기에 걸쳐 튜닝될 이용 가능한 유일한 프로그램들의 세트를 식별하도록 분석된다. 이 전체 프로그램 목록은 케이블/위성 공급(feed)에서 이용 가능한 EPG 데이터로부터 또는 이것을 위해 공급되는 임의의 다른 외부적인 서비스로부터 획득될 수 있다. 식별되는 각각의 유일한 프로그램에 관하여, 프로그램 식별자는 거기에 할당되며, 데이터베이스(104)는 레코드의 생성을 가능하게 하는 유일한 프로그램 식별자들의 세트로 채워지고, 프로그램을 설명하는 속성 데이터는 이러한 레코드에 채워질 수 있다. 이용 가능한 프로그램들의 목록은 주어진 시간 주기 동안 보기를 위해 이용 가능한 복수의 상이한 프로그램들을 식별할 수 있는 "샘플 세트"로서 이하에서 언급된다. 이 샘플 세트는 프로그램들의 전체 목록으로부터 중복의 프로그램들을 필터링 제거함으로써 유도될 수 있다. 예를 들어, 두 개의 채널이 동일한 컨텐츠의 HD 및 SD 버전을 방송 중 이라면, 이 필터 모듈은 둘 다를 표현하기 위해 오직 하나의 프로그램 노드를 출력한다.
본 시스템은 주어진 시간 주기 동안 각 프로그램에 대한 각각의 속성에 해당하는 데이터를 식별하도록 EPG 데이터베이스(104)에 포함되는 미리 지정된 속성들의 세트를 사용하여, 단계(204)에서 EPG 데이터를 더 분석한다. 이 속성 데이터는 각 프로그램에 대한 EPG 데이터베이스의 필드를 채우기 위해 자동으로 사용된다. 프로그램 속성 데이터는 각 프로그램에 관련된 설명적인 키워드를 포함한다. 예를 들어, 프로그램 속성 데이터는 (a)제목; (b)소제목; (c)장르; (d)배역; (e)기간; (f)연속물에서의 위치; 그리고 (g)플롯 라인 설명 데이터;를 포함할 수 있지만 이것들에 국한되지는 않는다.
상기 주목된 바와 같이, 본 시스템에 의해 수신된 EPG 데이터는 각 프로그램에 대한 속성 데이터 필드를 채우는데 사용될, 한정된 양의 데이터를 포함할 수 있다. 그래서, 단계(206)에서, 속성 세트는 글로벌 통신 시스템, 예를 들어, 인터넷을 통해 이용 가능한 다른 데이터 리소스들을 사용함으로써, 더 풍부하게 될 수 있다. 단계(206)에서, 속성 프로세서(도 8)에서 실행 하고 있는 속성 검색 모듈은, 프로그램에 관련된 보충적인 속성 데이터를 획득하기 위해, 통신 네트워크(106) 상에 위치된 관련 정보 공급자들의 검색을 개시하는 원인 항목으로서 프로그램에 대한 적어도 하나의 속성에 해당하는 데이터를 사용한다. 획득된 보충적인 속성 데이터는, EPG 데이터의 분석 과정 동안, 채워지지 않았던 미리 지정된 속성 필드들을 채우도록 사용될 수 있다. 추가적으로, 관련 정보 공급자들의 검색 과정 동안, 본 시스템은 속성 데이터의 미리 지정된 세트에 포함되지 않았던 속성들의 종류를 식별하는 정보를 획득할 수 있다. 이번 경우에, 속성들의 추가적인 종류는 데이터베이스(104)에 저장된 미리 지정된 속성들의 세트에서 자동으로 병합될 수 있다. 새로 추가된 속성 종류들에 해당하는 데이터는 또한 속성 검색 모듈을 실행하는 속성 프로세서에 의해 획득될 수 있으며, 데이터베이스(104)에서 데이터 필드를 채우도록 사용될 수 있다.
한 실시예에서, 각 프로그램에 대한 속성 세트는 획득된 데이터로부터 비-단어들을 제거하는 필터링 알고리즘을 적용하는 속성 프로세서에 의해 더 수정될 수 있다. 예를 들어, 필터링 알고리즘은 "그리고", "또는", "의", 그리고 " 그"등과 같은 비-단어들을 제거할 수 있다. 또 다른 실시예에서, 필터링 알고리즘은 복수의 단어 및 구(phrase)를 포함하는 속성 데이터를 분석할 수 있다. 이 실시예에서, 필터는 구 안의 개별 단어들을 자동으로 분리할 수 있고, 보조-속성들의 세트를 생성할 수 있으며, 이 때, 각각의 단어는 보조-속성을 형성하고 다양한 프로그램들 사이의 차원적인 관계를 결정하는 메커니즘으로서 또한 사용될 수 있다. 대안적으로, 구의 개별 단어는 분리된 속성으로서 자동으로 지정될 수 있으며, 아래에 논의되는 바와 같이 다양한 프로그램들 사이의 차원적인 관계를 결정하기 위해 사용될 수 있다.
정보 공급자들의 예는 WikipediaTM, IMDBTM, 또는 오디오-비디오 프로그램 데이터에 관한 정보를 포함하는 임의의 다른 소스를 포함하지만, 이것들에 국한되지는 않는다. 본 예시에서, 속성 검색 모듈은 쇼의 근원 기사를 위해 WikipediaTM를 자동으로 검색한다. 이 속성 검색 모듈은 독점의 검색 메커니즘 및 알고리즘을 이용할 수 있거나, 또는 GoogleTM나 임의의 다른 인터넷 검색 공급자에 의해 제공되는 것과 같은 제3자의 검색 웹 서비스를 사용할 수도 있다.
속성들의 세트에서 속성들의 종류에 해당하는 데이터는 단계(208)에서 데이터베이스(104)에 저장된다. 한 실시예에서, 본 시스템은 현재의 프로그램에 하루 앞서는 것처럼, 시간에 앞서서 데이터를 사전 조회하며, 추후의 사용을 위해, 예를 들어 데이터베이스에 데이터를 저장한다. 이 데이터베이스는 하루에 한번처럼, 규칙적으로 개선된 정보로 채워질 수 있고, 그 후 이 프로그램 가이드는, 외부 데이터 소스에 대한 접근이 가능하지 않거나, 일부 양상에서 제한될 때, 이 데이터베이스에만 오로지 접근한다. 이 후, 이 데이터베이스는 웹 서비스나 네트워크 API로서 노출될 수 있다. 이 데이터베이스는 다수의 디바이스들이 이 데이터에 국부적으로 접근하는 것을 가능하게 하기 위해 셋톱 박스 및/또는 게이트웨이 내의, 및/또는 서비스로서 많은 고객들에게 정보를 제공하기 위한 한 클라우드 내의, 가정 내에 위치될 수 있다.
단계(210)에서, 속성 프로세서(도 8)는 주어진 시간에 프로그램들의 샘플 세트에 있는 모든 프로그램들의 관련성의 레벨을 결정하기 위해, 데이터베이스(104)에 저장된 속성들의 세트로부터 적어도 하나의 속성을 선택한다. 선택된 각각의 속성은 프로그램들의 관련성의 차원에 상응한다. 속성 프로세서에 의한 속성들의 선택은 속성들의 미리 지정된 세트들을 기반으로 하여 자동으로 수행될 수 있다. 또 다른 실시예에서, 속성들의 선택은, 주어진 시간에 프로그램들의 샘플 세트의 관련성의 레벨을 결정하기 위해 어떤 속성들이 사용되는지를 식별하는 사용자 생성 제어 신호에 응답하여 결정될 수 있다.
모든 프로그램들의 속성 세트가 단계(210)에서 일단 한번 생성되면, 클러스터 프로세서(도 8)는 선택된 속성 세트를 기초로 하여 프로그램들의 세트의 관련성 레벨을 결정하기 위해, 단계(212)에서 차원의 거리 계산 알고리즘을 수행한다. 이 클러스터 프로세서는 속성들의 세트를 거리 벡터로 변환한다. 이 속성들의 세트는 "샘플 세트"에서 모든 프로그램들의 모든 속성들의 결합에 의해 주어지는 "완전한 속성 세트"로서 식별된다.
예를 들어, 아래의 표 1은 관련성의 레벨이 어떻게 계산될 수 있는지에 관한 예시를 제공하며, 이를 통해, 완전한 속성 세트에서의 속성들(A0-An)은 열로 목록화되며, 프로그램들의 샘플 세트(P0-P2)내의 각 프로그램은 행으로 목록화된다. 제1 행은 "완전한 속성 세트"내의 속성들의 목록을 제공하며, 다음에 오는 행들은 각 프로그램의 거리 벡터를 제공한다.
프로그램 A0 A1 A2 ......... An
P0 1 0 0.9 0
P1 0 1 0 1
P2 0 0 1 1
본 명세서에서 도시되는 바와 같이, 수치 값 1은 속성의 존재를 도시하며, 0은 부재를 도시한다. 1과 0 사이의 값은 속성의 존재 및 그것이 상관 벡터(relational vector) 상에서 속하는 위치를 알려준다. 관련된 속성들은 이들을 위한 상대적 가중치(relative weights)를 할당함으로써, 더 잘 표현될 수 있다. 예를 들어, "TV-MA", "TV-G", 및 "TV-14"와 같은 일반적인 TV 프로그램 등급들은 모두, 이들이 관계가 있을지라도, 거리 벡터에서 상이한 차원으로서 계산될 수 있다. "TV-14" 등급의 프로그램들은 "TV-MA" 등급의 프로그램들에 보다 근접했다는 것과 "TV-G"와는 멀리 떨어져 있다고 말할 수 있다. 이러한 관계들을 고려하기 위해, 값들의 범위는 0에서부터 1까지에 이르는 등급에 할당된다.
1------------0.8------------0.5------------0.3------------0
"TV-MA" "TV-14" "TV-G"
상기의 상관 벡터에서, 1과 0은 두 개의 지극히 멀리 떨어진 등급을 표현하며, 모든 다른 등급들은 이들이 각각의 끝으로부터 떨어져 있는 거리에 해당하는 값을 얻는다. 이러한 방법으로, 거리 벡터로 사용되는 등급 속성의 단일 수치 값은 다른 등급들로부터 떨어진 이것의 거리를 여전히 표현할 수 있다. 예를 들어, 수학식(1)은 프로그램 P0를 위한 거리 벡터를 계산하기 위한 공식을 나타내며, 수학식(2)은 프로그램 P1를 위한 거리 벡터를 계산하기 위한 공식을 나타낸다.
Figure 112012066174955-pct00001
Figure 112012066174955-pct00002
이 때, 속성 값들은 표 1로부터 획득되며, W0, W1, W2,..., Wn은 속성들 A0, A1, A2,...에 관련된 가중치이다. 한 실시예에서, W0...Wn을 위한 값들은 이 프로그램들이 거리 벡터에 의해 클러스터화될 때, 더 나은 공간(spacing)을 제공하기 위해, 무작위로 선택될 수 있다. 또 다른 예시에서, 속성들의 가중치는 클러스터의 더 나은 공간을 제공하기 위해 임의로 선택될 수 있다. 추가적인 예시에서, "장르"와 같은 속성들은, 그것이 클러스터 내부 컨텐츠의 상이한 카테고리들을 위한 분명한 분리를 제공할 경우, 보다 높게 가중될 수 있다. 다른 추가적인 실시예에서, 각각의 속성에 연관된 가중치 값들은 각각의 속성의 중요성을 지시하는 사용자 선호(preferences)에 의존하여 사용자에 의해 선택적으로 할당될 수 있다. 또 다른 실시예에서, 속성들에 대한 가중치 값들은 각각의 사용자를 위한 히스토리를 관찰하는 프로그램을 포함하는 사용자 선호 프로파일을 기초로 하여 자동으로 할당될 수 있다. 예를 들어, 셋톱 박스(102)가, 사용자는 "드라마" 장르에 속하는 프로그램들을 좋아하고 "스포츠" 장르에 속하는 프로그램들을 삼가는 것을 결정했다면, 1에 근접한 가중치 값은 "드라마" 속성에 할당될 수 있고, 0에 근접한 가중치 값은 "스포츠" 속성을 위해 할당될 수 있다.
속성들의 완전한 세트를 기초로 한 샘플 세트 내부의 모든 프로그램들을 위한 거리 벡터를 계산하는 것에 응답하여, 클러스터 프로세서(도 8)는, 서로 관련되도록 결정되는 샘플 세트 안에 포함된 프로그램들에 대한 보조 세트들을 포함하는 적어도 하나의 클러스터를 생성하기 위하여, 클러스터링 알고리즘을 수행한다. 이 클러스터링 알고리즘은 이 클러스터링에 대한 기초로서 유클리드의 또는 비-유클리드의 거리를 사용하는 임의의 종류의 계층적인 클러스터링일 수 있다. 예를 들어, 수학식 1과 2에 따라 계산된 거리 벡터를 사용하여, 프로그램들의 하나 이상의 클러스터는 프로그램들 사이의 거리를 계산함으로써 형성될 수 있다. 상기 예시에서, 두 개의 프로그램들 P0와 P1 사이의 유클리드의 거리는 다음의 공식을 제공하는 수학식 3에 따라 계산된다.
Figure 112012066174955-pct00003
결과로 생기는 거리 계산은 아래의 표 2에서 도시되는 바와 같이 거리 매트릭스를 생성하기 위해 사용될 수 있다. 이 거리 매트릭스는 "n" 차원에서 서로에 대항하여 각 프로그램의 거리를 제공한다. 이에 따라서, 생성된 클러스터는 "n" 차원 클러스터로서 간주된다.
P0 P1 P2
P0 d00 d01 d02
P1 d10 d11 d12
P2 d20 d21 d22
추가적으로, 클러스터링 프로세서에 의해 실행되는 클러스터링 알고리즘의 변수는 생성되는 많은 클러스터들을 포함한다. 생성될 클러스터들의 개수는 본 시스템이 매번 동일한 개수의 클러스터들을 자동으로 생성하도록 사전에 미리 설정될 수 있다. 대안적으로, 클러스터링 알고리즘에 의해 생성될 클러스터들의 개수는 클러스터들의 개수를 명시하는 사용자-생성 제어 신호에 응답하여 설정될 수 있다. 클러스터들의 개수에 대한 사용자 명세는 유리하게도 사용자에게 현재 이용 가능한 프로그램들의 목록이 어떻게 그룹화 될 수 있고 네비게이션 될 수 있는지에 관한 중요한 정도의 제어를 제공한다. 상당히 많은 클러스터들을 명시함으로써, 사용자에게는 다수의 클러스터들이 제공되고, 각각의 클러스터는 서로에게 보다 밀접하게 관련된 프로그램들을 포함하며, 반면에 보다 적은 개수의 클러스터들을 명시함으로써, 클러스터에 포함된 프로그램들의 종류는 서로로부터 어느 정도 변할 것 같다. 보다 구체적으로, 클러스터들의 개수가 감소하면, 클러스터 내부의 프로그램들 사이의 관계에 있어서 변화가 증가하며, 이의 역도 또한 같다. 또 다른 실시예에서, 클러스터들의 개수는 셋톱 박스(102)에 의해 감지되는 사용자 네비게이션 선호를 기초로 하여 자동으로 결정될 수 있다. 이 실시예에서, 사용자가 결과로서 생기는 클러스터들 안의 프로그램들을 향해 보다 깊이 네비게이션하는 경향이 있다면, 본 시스템이, 사용자가 생성한 EPG 가이드 데이터가 디스플레이 되는 것을 요청하는 요청 신호를 수신할 때, 본 시스템은 추가적인 개수의 클러스터들이 생성될 필요가 있다는 것을 결정할 수 있다.
클러스터들이 단계(214)에서 일단 생성되었다면, 클러스터 프로세서는 차원 교정 알고리즘을 적용하여, n-차원에 따라 계산된 클러스터들이 정확하게 디스플레이 되는 것을 가능하게 함으로써, 제1의 디스플레이 디바이스(108) 및 제2의 디스플레이 디바이스(112) 중 적어도 하나의 디바이스 상의 2차원 공간에서 관련성을 반영한다. 일단 교정이 한번 적용되었다면, 셋톱 박스는, 생성되는 교정된 클러스터들을 표현하는 데이터를 사용자 인터페이스 디스플레이 프로세서(도 8)에 제공하여, 이 때, 단계(216)에서 클러스터 내부에서의 네비게이션, 복수의 클러스터들 사이의 네비게이션, 그리고 특정 클러스터로부터 대표적인 프로그램의 선택을 가능하게 하는 디스플레이 이미지를 생성한다. 한 실시예에서, 다 차원의 스케일링 알고리즘은 거리 벡터의 2차원의 지도를 생성하기 위해 사용된다.
클러스터화된 프로그램 데이터에 대한 2차원의 디스플레이의 일반적인 예는 도 3에서 도시된다. 도 3은 도 2에서 설명되는 알고리즘에 따라 생성되는 n-차원의 클러스터 중 2차원의 프로젝션을 도시한다. 2차원 교정이 n-차원의 클러스터링에 적용될 필요가 있기 때문에, 도시되는 모든 2차원의 거리는 실질적인 "n"차원의 거리의 근사값이다. 이 예시에서, 주어진 시간 주기 동안, P0...P30으로서 표현되는 31개의 이용 가능한 프로그램들이 존재한다. 각각의 프로그램은 프로그램 노드로 간주될 수 있고, 거리 벡터 데이터를 기초로 하여, 클러스터링 알고리즘은 (301)에서 (309)까지 라벨이 붙여진 원 내부에 포함된 9개의 서브 클러스터들을 가지는 하나의 클러스터(300)를 생성해왔다. 따라서, 서브 클러스터(301)는 알고리즘에서 사용되는 속성들의 완전한 세트를 기초로 하여 서로에게 n-차원적으로 관련되도록 결정되었던 프로그램(18)과 프로그램(19)을 포함한다.
한 실시예에서, 서브 클러스터들(301-309)을 가지는 클러스터(300)를 표현하는 데이터는, 주어진 시간에 이용 가능한 프로그램들의 종류에 대한 시각적인 묘사, 그리고 이 프로그램들이 어떻게 관련될 수 있는지를 사용자에게 보여주는, 제1의 또는 제2의 디스플레이 디바이스 상에 디스플레이를 위해 표현될 수 있다. 이 디스플레이 이미지는 EPG 가이드 데이터를 요청하는 사용자 생성 제어 신호의, 시스템에 의한 수신에 응답하여 표현될 수 있다. 도 3에서 디스플레이 이미지는 각각의 서브 클러스터의 강조를 가능하게 하는 네비게이션 요소(320)를 포함할 수 있다. 본 명세서에 도시되는 바와 같이, 이 네비게이션 요소는 프로그램 P0, P1, P2, P3, P4, 및 P5를 포함하는 서브 클러스터(302)에 초점이 맞춰진다. 서브 클러스터(302)의 강조 하에, 서브 클러스터(302) 안의 프로그램들에 대한 보다 상세화된 보기는 프리젠테이션 그리드(330)에서 디스플레이된다.
프리젠테이션 그리드(330)는 서브 클러스터(302) 안의 프로그램을 설명할 뿐만 아니라, 서브 클러스터(302) 안에 포함된 프로그램들 사이에서 추가적인 네비게이션을 가능하게 하는, 추가적인 정보를 제공하는 사용자 인터페이스 디스플레이 프로세서(도 8)에 의해 생성되는 별도의 디스플레이 이미지일 수 있다. 프로그램 그리드(330)는 클러스터(300)와 동일한 디스플레이 스크린 상에 동시에 디스플레이 될 수 있다. 대안적으로, 모든 서브 클러스터들(301-309)을 포함하는 클러스터(300)의 디스플레이 이미지가 제1의 디스플레이 디바이스 상에 남아있는 반면에, 프로그램 그리드(330)는 제2의 디스플레이 디바이스 상에 디스플레이 될 수 있다. 이러한 배열은 주어진 시간에 이용 가능한 프로그램들의 모든 가능한 그룹화의 디스플레이를 여전히 유지하는 동시에, 유리하게도 클러스터들 내부의 프로그램들을 표현하는 데이터를 사용자에게 제공한다.
추가적으로, 네비게이션 요소(320)는 본 시스템에 의해 수신되는 네비게이션 신호에 응답하여 서브 클러스터들 사이를 이동하도록 야기될 수 있다. 사용자가 현재 강조된 클러스터 안의 프로그램들에 대해 기쁘지 않다면, 원격 제어기를 사용하여, 네비게이션 신호가 생성될 수 있고, 상이한 서브 클러스터를 강조하는 네비게이션 요소(320)를 초래하는 셋톱 박스에 의한 수신을 위해 송신될 수 있다. 서브 클러스터들 사이를 네비게이션하는 것에 응답하여, 프로그램 그리드(330) 안의 데이터는 새로 강조된 서브 클러스터 안의 프로그램들을 표현하도록 자동으로 변경된다. 예를 들어, 네비게이션 요소(320)가 서브 클러스터(302)로부터 서브 클러스터(304)까지 이동하도록 야기된다면, 프로그램 그리드(330) 안의 프로그램 데이터는 프로그램 P6, P7, P8, P9, 및 P10에 해당될 것이다.
도 4는 도 3에서 도시되는 클러스터화된 EPG 데이터의 예시적인 디스플레이 이미지(400)를 도시한다. 클러스터의 한 부분을 표현하는 디스플레이 이미지(400)는 네비게이션 그리드로 사용자에게 도시된다. 네비게이션 그리드는 이미지의 그리드를 디스플레이 할 수 있는 사용자 인터페이스 요소이다. 이 네비게이션 그리드는 포커스 노드 섹션(402) 및 대표 노드 섹션(404)을 포함한다. 포커스 노드 섹션(402)은 각각의 서브 클러스터의 부분으로 결정되는, 주어진 시간에 이용 가능한 예시적인 프로그램을 식별하는 사용자 선택 가능 이미지 요소를 표현하는 데이터를 포함한다. 도 3을 다시 참조해보면, 서브 클러스터(302)가 프로그램 포커스 노드라면, 프로그램들의 서브 클러스터(302) 중 하나에 대한 아이콘 표현이 사용자에게 디스플레이 된다. 포커스 노드 섹션(402)에서 도시되는 임의의 프로그램 노드에 있어서, 사용자가 프로그램을 보는 것을 가능하게 하는 사용자 선택 가능 이미지 요소(410)는 프로그램이 레코딩되는 것을 가능하게 하는 사용자 선택 가능 이미지 요소(412)와 함께 디스플레이된다. 추가적으로, 프로그램을 설명하는 데이터를 포함하는 정보 섹션(414)은 또한, 포커스 노드 섹션(402)에 포함될 수 있다.
대표 노드 섹션(404)은 도 3의 각각의 서브 클러스터들(301-309)로부터 대표적인 프로그램을 포함하는 사용자 선택 가능 이미지 요소를 포함한다. 대표 노드는 그것의 클러스터의 중심에 가장 근접한 임의의 프로그램 노드로서 선택될 수 있다. 이러한 방법으로, 사용자는 시작 상태에서 가이드의 완전한 보기를 얻을 수 있다. 사용자는 대표 노드 섹션(404)을 네비게이션 할 수 있으며, 포커스 노드 섹션(402) 안의 데이터가 상이한 서브 클러스터 안의 프로그램으로 자동으로 변경되도록 야기하는 특정 프로그램을 선택할 수 있다. 각각의 포커스 노드 섹션(402) 및 대표 노드 섹션(404)에서 디스플레이되는 이미지는 프로그램의 박스-아트에 해당하는 이미지를 포함할 수 있다. 박스-아트 이미지가 이용 가능하지 않다면, 프로그램의 제목, 채널 아이콘 또는 이 둘의 결합이 사용될 수 있다.
한 실시예에서, 포커스 노드 섹션에서 도시되는 프로그램들은 현재 셋톱 박스(102)(도 1)에 의해 튜닝되고 있는 프로그램일 수 있다. 대안적으로, 포커스 노드 안의 데이터는 사용자의 미리 지정된 선호에 응답하여 자동으로 제공될 수 있다. 또 다른 실시예에서, 포커스 노드는 현재 튜닝된 텔레비전 프로그램을 표현할 수 있으며, 대표 노드 섹션(404) 안의 데이터 아이템들은 주어진 클러스터 내의 포커스 노드 프로그램에 대한 가장 근접한 n-차원의 거리를 가지는 프로그램을 포함할 수 있다.
디스플레이 이미지(400)는 사용자가 디스플레이 이미지(400)에서 도시되는 데이터를 수정하는 것을 가능하게 하는, 슬라이딩 클러스터 네비게이션 막대(406)를 포함한다. 예를 들어, 네비게이션 막대의 슬라이딩 제어가 제1의 단부(407)에 배치된다면, 디스플레이 이미지(400)는 생성되었던 모든 서브 클러스터들을 포함하는 가장 광대한 양의 데이터를 디스플레이할 것이다. 네비게이션 막대(406)의 슬라이딩 제어가 제1의 단부에 반대편의 제2의 단부(409)를 향하여 이동된다면, 디스플레이 되고 있는 데이터의 종류가 좀더 집중될 것이다. 예를 들어, 단부(409)를 향하여 네비게이션 막대를 이동시킴으로써, 본 시스템은 포커스 노드 섹션(402)에서 도시되는 대표적인 프로그램이 요구된다는 것과, 그리고 대표 노드 섹션(404) 안의 데이터가 포커스 노드 프로그램과 동일한 클러스터 내부에 포함되는 다른 프로그램들로 대체될 것이라는 것을 결정할 수 있다.
도 4에 도시되는 예시적인 프로그램 가이드 디스플레이 이미지의 네비게이션은, 사용자가 도 5를 참조하여 논의될 것처럼, 상이한 클러스터들에 속하는 프로그램들을 선택할 수 있는 측면적일 수 있거나, 선택된 노드에 보다 밀접하게 관련되는 프로그램들이, 도 6을 참조하여 논의될 것처럼, 사용자에게 제공되는 수직적일 수 있다.
도 5는 사용자가 도 4의 대표 노드 섹션(404) 안의 그리드 상에 도시되는 상이한 노드들을 선택하는 것을 가능하게 하는 본 시스템에 의해 구현된 예시적인 알고리즘이다. 한 실시예에서, 프로그램 노드가 선택될 때, 이것은 새로운 포커스 노드가 될 것이며, 대표 노드 섹션(404) 안의 프로그램 노드들은 자동으로 업데이트 되어, 포커스 노드 프로그램에 밀접하게 관련되는 클러스터 내부의 프로그램들에 해당하는 식별자들을 포함하게 될 것이다. 도 5는 클러스터 내부의 측면적인 네비게이션을 가능하게 하는 알고리즘을 제공한다. 단계(502)에서, 사용자에 의해 선택된 프로그램은 포커스 노드 섹션(402)(도 4) 안의 새로운 포커스 노드로서 디스플레이된다. 일단, 선택되면, 클러스터 프로세서(도 8)는 단계(504)에서 이용 가능한 프로그램들의 샘플 세트로부터 포커스 노드 프로그램을 제거한다. 그 후, 단계(506)에서, 클러스터 프로세서는 도 2를 참조하여 상기 논의된 방법으로 이용 가능한 프로그램들의 수정된 샘플 세트를 자동으로 재 클러스터화 한다. 단계(508)에서, 대표 노드 섹션(404)(도 4)은 단계(506)에서 생성된 새로운 클러스터들에 해당하는 프로그램 노드 식별자들로 자동으로 채워진다.
사용자는 또한 임의의 프로그램 노드를 선택함으로써, 그리고 네비게이션 막대(406)(도 4)의 슬라이더 이미지 요소를 사용함으로써, 수직적으로 프로그램들을 네비게이션 할 수 있다. 네비게이션 막대(406)의 슬라이더 위치 요소가 가장 왼쪽 위치에 있을 때, 대표 노드 섹션(404) 안의 데이터 아이템들은 본 시스템에 의해 생성된 클러스터들에 해당하는 상이한 종류의 프로그램들의 광대한 스펙트럼을 제공한다. 본 시스템이 슬라이더 위치 요소가 오른쪽으로 이동하는 것을 야기하는 명령어를 수신하면, 대표 노드 섹션(404) 안의 데이터 아이템들은 포커스 노드 프로그램에 보다 밀접하게 관련되는 프로그램 노드들로 자동으로 대체된다. 네비게이션 막대(406)의 슬라이더 요소는 사용자가 "줌인" 및 "줌아웃"하여 주어진 시간에 이용 가능한 프로그램들의 광대하거나 좁은 스펙트럼을 얻는 것을 가능하게 한다. 도 6은 본 시스템이 수직적인 방법으로 사용자에게 디스플레이 되고 있는 프로그램들의 종류를 수정하는 것을 가능하게 하는 예시적인 알고리즘을 제공한다.
단계(602)에서, 이용 가능한 프로그램들의 샘플 세트에 대한 크기는 선택된 포커스 노드 프로그램으로부터 떨어진 미리 지정된 거리에 위치되는 이용 가능한 프로그램들의 샘플 세트로부터 프로그램들을 필터링(제거)함으로써, 자동으로 축소된다. 단계(604)에서, 클러스터 프로세서(도 8)는 이용 가능한 프로그램들의 필터링된 샘플 세트를 자동으로 재 클러스터화 한다. 단계(606)에서 대표 노드 섹션(404)(도 4) 안의 데이터 아이템들은 새로운 클러스터들로부터 대표적인 프로그램들로 자동으로 채워진다. 그 후, 사용자에게는 네비게이션 막대(406)의 슬라이더 위치 요소가 단계(608)에서 오른쪽으로 더 이동하는 것을 야기함으로써, 보다 줌인하는 결정이 주어진다. 본 시스템이 대표 노드 섹션(404) 내의 프로그램들의 관련성의 보다 줌인(축소)을 위한 요구를 지시하는 신호를 수신한다면, 프로세스는 단계(602-606)를 반복한다. 사용자가 줌인을 더 원하지 않는다면, 단계(610)에서 추가적인 결정이 제시되며, 이에 따라 사용자는 다시 줌아웃하여 프로그램들의 보다 광대한 스펙트럼을 얻을 수 있다. 본 시스템이 사용자가 줌아웃을 원한다는 것을 지시하는 신호를 수신하지 않은 다면, 사용자는 단계(611)에서 프로그램을 선택한다. 본 명세서에서 사용된 바와 같이, 프로그램의 선택은 (a)포커스 노드 프로그램을 변경; (b)프로그램이 제1의 또는 제2의 디스플레이 디바이스 중 적어도 하나의 디바이스 상에서 보기를 위하여 튜닝되는 것을 야기함; 그리고, (c)프로그램의 레코딩을 스케쥴링; 하는 단계를 포함할 수 있지만, 이러한 단계들에 국한되지는 않는다. 단계(610)에서의 결정이 줌아웃의 요구를 지시한다면, 본 시스템은 단계(612)에서 이전에 필터링되었던 프로그램들을 자동으로 다시 추가한다. 일단, 다시 추가되면, 알고리즘은 단계(604)로 되돌아가서, 이용 가능한 프로그램들의 샘플 세트를 재 클러스터화 한다.
또 다른 실시예에서, 본 시스템은 프로그램 가이드가 어떻게 클러스터화될 지를, 그리고 이들의 디스플레이를 사용자가 선택적으로 제어하는 것을 가능하게 하는 사용자 인터페이스를 생성할 수 있다. 클러스터 데이터의 동시적인 디스플레이를 가능하게 할 뿐만 아니라 디스플레이 되고 있는 클러스터들을 제어하기 위한 입력을 제공하는 예시적인 사용자 인터페이스가 도 7에서 도시된다. 클러스터들의 세트가 도 2를 참조하여 상기 논의된 바와 같이, 속성들의 완전한 세트를 사용하여 이용 가능한 프로그램들의 샘플 세트로부터 일단 생성되면, 본 시스템은 "n-차원"의 거리 벡터를 2/3 차원으로 맵핑하는 다차원적 스케일링(MDS) 알고리즘을 사용하여, n-차원의 클러스터(702)의 2차원 프로젝션을 자동으로 생성한다. 클러스터 프로젝션(702)은 주어진 시간 주기에 이용 가능한 프로그램들의 전체 세트를 표현하는 복수의 상이한 클러스터들(704a-704e)을 포함한다. 각각의 클러스터(704a-704e)는 아이콘에 의해 표현되는 적어도 하나의 프로그램 노드(706)를 포함하여 뷰어가 다양한 이용 가능한 프로그램들을의 관련성을 시각화하는 것을 가능하게 한다. 네비게이션 렌즈(708)가 제공되며, 클러스터들(704a-704e) 사이에서 네비게이션을 가능하게 한다. 예를 들어, 도 7에서 도시되는 바와 같이, 네비게이션 렌즈(708)는 프로그램 노드들의 세트 위에 걸쳐서 위치되며, 이에 따라 일부는 클러스터(704c)에 속하며, 나머지는 클러스터(704b)에 속한다. 네비게이션 렌즈(708)에서 보일 수 있는 프로그램 노드들을 표현하는 이미지 식별자들은 프로그램 디스플레이 그리드(712)에 자동으로 디스플레이된다. 네비게이션 렌즈(708)의 위치는 사용자가 측면으로 네비게이션 함에 따라, 클러스터 평면 상에서 변화한다. 사용자는 또한, 네비게이션 그리드(712) 안의 클러스터의 해당 부분을 보기 위해, 클러스터 프로젝션(702) 안의 어느 곳이든지 그 렌즈(708)를 선택적으로 이동시킬 수 있다. 네비게이션 렌즈(708)의 크기는 슬라이더 막대(710)를 사용하여 선택적으로 증가되거나 감소될 수 있다. 만약, 증가된다면, 네비게이션 렌즈(708)는 그것이 위치된 클러스터 부분에 대한 보다 광대한 보기를 제공하고, 이를 통해 줌아웃된다. 유사하게도, 렌즈(708)의 크기는 줌인에 해당하는 클러스터 부분들에 대한 보다 가까운 보기를 얻도록 감소될 수 있다.
추가적으로, 클러스터 프로젝션 이미지(702) 안의 데이터 아이템들은 참조하는 데이터의 종류에 따라 상이한 방법으로 표현될 수 있다. 예를 들어, 속성들의 일부는 사용자를 위한 보다 나은 인식을 제공하기 위해, 컬러 및/또는 아이콘들을 사용함으로써, 클러스터 프로젝션 내에서 강조될 수 있다. 예를 들면, 속성 "장르"가 가장 크게 가중된 속성이라면, 이 속성들은 채색되고 프로그램의 종류(영화, 연속물 등)는 프로그램의 종류를 식별하는 특별한 종류의 아이콘으로서, 표현될 수 있다.
본 시스템은 유리하게도, 클러스터들(704a-704e)을 생성하기 위해 사용되었던 속성들의 세트를 수정함으로써, 사용자가 자동으로 클러스터 프로젝션 이미지(702)를 수정하는 것을 가능하게 한다. 이용 가능한 속성들의 목록을 도시하는 속성 섹션(714)은 클러스터 프로젝션(702) 및, 사용자가 클러스터들을 생성하기 위해 사용된 속성들의 종류를 관찰하고 선택적으로 수정하는 것을 가능하게 하는 프로그램 그리드(712)와 동시적인 디스플레이를 위해 제공된다. 속성 섹션(714)은 선택 섹션(716)을 포함하고, 선택 섹션(716)은 사용자가 속성이 거리 계산 알고리즘의 부분이 되게 하거나 거리 계산 알고리즘으로부터 속성을 제거하는 것을 가능하게 한다. 추가적으로, 각각의 속성에 있어서, 상기 논의된 거리 계산에서 속성이 수신할 가중치에 해당하는 값을 사용자가 선택적으로 결정하는 것을 가능하게 하는, 슬라이딩 막대가 제공된다. 거리 벡터에 있어서 속성들의 일부는 프로젝션 안의 클러스터의 보다 나은 공간을 생성하기 위해, 더 높게 또는 더 낮게 가중될 수 있다. 또한, 속성들의 가중치는 사용자에 의해 실시간으로 선택될 수 있고, 유리하게도 사용자가 실시간으로 클러스터의 공간을 변경하는 것을 가능하게 한다. 도 7에서 도시된 예시적인 사용자 인터페이스는 사용자가 상이한 속성들의 가중치를 변화시키고, 프로그램 클러스터에 대한 효과를 나란히 보는 것을 가능하게 한다.
한 실시예에서, 속성 섹션(714)은 제2의 디스플레이 디바이스 상에 디스플레이 될 수 있어서, 사용자가 제2의 디바이스를 사용하는 클러스터들을 생성하는 것에 사용되는 속성들을 수정하는 것을 가능하게 한다. 또 다른 실시예에서, 도 7에서 도시되는 전체의 디스플레이 이미지는 제2의 디스플레이 디바이스 상에서 제공될 수 있어서, 사용자가 현재 튜닝되는 프로그램을 여전히 보는 동시에, 이용 가능한 프로그램들을 네비게이션하는 것을 가능하게 한다. 또 다른 실시예에서, 가이드 디스플레이 이미지가 제1의 디스플레이 디바이스 상에서 도시될 때, 본 시스템은 현재 튜닝되는 프로그램이 제2의 디스플레이 디바이스 상에서 보여지는 것을 자동으로 야기할 수 있다.
도 8은 도 1 내지 도 7을 참조하여 상기 설명된 본 시스템을 구현하는 셋톱 박스(도 1)에서 구현되는 예시적인 제어기(800)의 블록도이다. 제어기(800)는 도 1에서 도시되는 바와 같이, 셋톱 박스(102)에서 구현되는 하드웨어 구성 요소일 수 있다. 제어기(800)는 입력 신호(812)를 선택적으로 수신하여 튜닝하는 튜너(810)를 포함한다. 입력 신호는 동화상 전문가 그룹(Motion Pictures Experts Group : MPEG)에 의해 설명된 것들, 또는 오디오-비디오 데이터 및 오디오-비디오 데이터에 관련된 보조의 데이터를 인코딩하고 송신하기 위해 사용되는 임의의 다른 신호 포맷과 같은 특정 신호 포맷으로 포맷되는 텔레비전 브로드캐스트 신호일 수도 있다. 튜너(810)는 튜닝된 입력 신호(812)를 수반하는 임의의 보조 데이터를 디코딩하고, 이 디코딩된 데이터를 메모리(820)에 저장한다. 이 보조의 데이터는 전자 프로그램 가이드(EPG) 데이터 또는 입력 신호(812)와 함께 인코딩되어 송신되는 임의의 다른 데이터를 포함할 수 있다. 제1의 디스플레이 디바이스(805)는 튜닝된 입력 신호와 입력 신호에 포함되는 EPG 데이터를 포함하는 보조의 데이터 중 적어도 하나를 디스플레이 할 목적으로 튜너(810)에 연결된다.
이 메모리(820)는 프로그램 컨텐츠를 설명하는 것에 사용되는 속성들의 세트를 포함하는, 데이터베이스와 같은 데이터 구조를 포함한다. 이 속성 세트는 컨텐츠 공급자(케이블/위성 공급자)에 의해 미리 지정될 수 있으며, 튜너(810)에 의해 튜닝될 수 있는 다양한 프로그램들을 설명하는 입력 신호와 함께 송신되는 컨텐츠 특성에 상응할 수 있다. 메모리(820) 안의 데이터 구조는 보조 데이터 내부에 목록화되어 있는 각각의 유일한 프로그램이 이들 사이에서 관련되고, 보조 데이터로부터 유도되는 복수의 속성들과 상관되는 것을 가능하게 한다. 대안적인 실시예에서, EPG 기능을 위한 데이터베이스의 기능은 제어기(800)의 외부에 위치될 수 있다. 외부 데이터베이스(도시되지 않음)는 디스크 드라이브 인터페이스, 또는 외부 드라이브나 클라우드 기반의 데이터베이스 각각을 위한 웹 인터페이스와 같은 적절한 인터페이스를 통해 제어기(800)에 인터페이스 할 것이다.
제어기(800)는 튜너(810) 및 메모리(820) 모두에 연결되는 속성 프로세서(815)를 더 포함한다. 속성 프로세서(815)는 자동으로 보조 데이터를 분석하여, 튜닝 될 수 있는 유일한 프로그램들의 세트를 식별하는데, 이들은 보조 데이터 내부에 목록화된다. 유일한 프로그램 식별자는 각각의 유일한 프로그램에 할당되며, 메모리(820) 내부의 데이터 구조에 제공되어, 각각의 유일한 프로그램에 대한 관련된 데이터의 개별 세트의 수집을 가능하게 한다. 이 속성 프로세서(815)는 또한 수신된 보조 데이터를 자동으로 분석하여, 프로그램을 설명하고, 속성들의 세트 중 적어도 하나의 속성에 상응하는 정보를 식별한다. 메모리(820) 안의 데이터 구조는 보조 데이터로부터 유도되는 속성 정보를 표현하는 데이터 값들로 자동으로 채워진다. 속성 프로세서(815)는 속성 데이터를 해당 프로그램에 링크하기 위해 유일한 프로그램 식별자를 사용한다. 속성 프로세서(815)에 의해 수행되는 분석 및 채움은, 보조 데이터가 사용자에게 실제로 디스플레이될 시간 프레임에 앞서서 발생할 수 있다. 예를 들어, 보조 데이터가 특정일에 대한 전자 프로그램 가이드 데이터라면, 메모리(820) 안의 데이터 구조의 분석 및 채움은 특정일 전에 미리 지정된 시간에 발생할 수 있다. 대안적으로, 분석 및 채움은 사용자로부터의 선택 신호의 수신에 응답하여 발생할 수 있다.
또 다른 실시예에서, 본 시스템은 관련된 컨텐츠를 검색하기 위해 입력으로 사용을 위해, 사용자 선호 및 과거의 사용자 거동 데이터를 자동적으로 고려한다. 본 시스템은 사용자 네비게이션 및 메모리(820)에 저장될 수 있는 컨텐츠 선택 데이터를 포함하는 사용자 거동을 자동으로 추적할 수 있다. 본 시스템은 다른 잠재적인 종류의 관련된 컨텐츠 정보 및 제2의 디스플레이 디바이스 상에서 사용자에게 디스플레이 되는 컨텐츠 소스들을 식별하기 위해, 사용자 선호 및 네비게이션 데이터에 추가로 접근할 수 있다. 사용자 선호 및 거동을 고려함으로써, 속성 프로세서는 메모리(820)에 저장된 데이터 구조 내의 속성들의 세트를 자동으로 업데이트 할 수 있어서 추가적인 속성 데이터가 수집되어 관련된 컨텐츠 정보를 검색하는 것에 사용되는 것을 가능하게 한다. 예를 들어, 사용자 지정 속성들은 본 시스템이 검색될 관련된 컨텐츠 정보의 소스들의 순서에 우선 순위를 매기는 것을 가능하게 할 수 있다.
속성 프로세서(815)는, 메모리(820) 내부의 데이터 구조에 포함될 추가적인 종류의 속성들, 뿐만 아니라 메모리(820)에 저장된 속성의 종류에 상응하는 각각의 유일한 프로그램에 관련된 데이터의 획득을 가능하게 하는 속성 검색 알고리즘을 초기화하기 위해, 인터넷 인터페이스(830)에 연결될 수 있다. 속성 프로세서(815)는 관련된 컨텐츠 정보에 대한, 그리고 관련된 컨텐츠가 저장된 소스들에 대한 추가적인 소스들을 검색하도록 사용될 수 있는 속성 데이터를 획득하기 위해, 메모리(820) 안의 데이터 구조를 조회한다. 속성 데이터는 유일한 프로그램 식별자가 할당된 각각의 프로그램에 관한 정보를 찾기 위하여 검색 알고리즘에서 검색 항목으로서 사용될 수 있다. 속성 프로세서(815)는 근거리 및 광역 네트워크 중 적어도 하나에 걸쳐서 프로그램에 관한 정보의 검색을 개시한다. 속성 프로세서(815)에 의해 수행되는 속성 정보 검색 알고리즘은 연결되는 인터넷 인터페이스(830)가 외부 데이터 소스(835)의 검색을 개시하는 것을 약속한다. 본 명세서에서 사용되는 바와 같이, 외부 데이터 소스(835)는 임의의 목적으로 데이터의 임의의 소스를 나타내기 위해 사용되는 일반적인 항목이다. 예를 들어, 외부 데이터 소스(835)는 컨텐츠 정보의 소스(즉, WikipediaTM, 또는 IMDB.comTM), 또는 컨텐츠 공급자(예를 들어, NetflixTM, 또는 Fancast.comTM 등) 일 수 있다. 검색의 결과를 표현하는 데이터는 속성 프로세서(815)에 의해 검색되며, 메모리(820)에 저장될 수 있다. 이 검색 결과 데이터는 속성 데이터를 제외한 별도의 데이터 구조에 저장될 수 있지만, 필요 할 때, 관련 데이터가 신속하고 쉽게 검색되도록, 유일한 프로그램 식별자들을 통해 링크될 수 있다.
클러스터 프로세서(825)는 속성 프로세서(815), 메모리(820), 및 튜너(810)에 연결되며, 프로그램들이 얼마나 밀접하게 서로 관련되는지를 도시하기 위해, 주어진 시간에 접근될 수 있도록 사용 가능한 모든 유일한 프로그램들을 포함하는 적어도 하나의 클러스터를 생성하는 클러스터링 알고리즘을 자동으로 실행한다. 클러스터 프로세서(825)는 주어진 시간 주기 동안 이용 가능한 모든 유일한 프로그램들을 식별하기 위해, 메모리(820) 내에서 데이터 구조를 자동으로 조회하며, 이 프로그램들을 이용 가능한 프로그램들의 샘플 세트로서 식별한다. 클러스터 프로세서(825)는 각각의 유일한 프로그램이 다른 유일한 프로그램에 얼마나 밀접하게 관련되는지를 정의하는 거리 벡터를 계산하는 것에 있어서의 사용을 목적으로 속성들의 세트를 식별하기 위해, 메모리(820) 내의 데이터 구조를 추가로 조회한다. 속성들의 식별된 세트는 속성들의 완전한 세트로서 알려지며, 이 때, 각각의 속성은 관련성의 1차원이다. 클러스터 프로세서(825)는 속성들의 완전한 세트의 각 속성에 관련된 값들을 사용하는 각 프로그램을 위한 거리 벡터를 자동으로 계산한다. 이 계산된 거리 벡터들은 이용 가능한 프로그램들의 샘플 세트 내의 모든 프로그램들의 n-차원 관련성을 식별하는 적어도 하나의 클러스터를 생성하기 위한, 클러스터링 알고리즘에 대한 입력으로서 사용되며, 이 때, n은 속성들의 완전한 세트 내에 포함되는 속성들의 개수이다. 클러스터 프로세서(825)에 의해 수행되는 예시적인 알고리즘은 도 2를 참조하여 상기에 논의된다.
클러스터 프로세서(825)에 의해 계산되는 상기 적어도 하나의 클러스터를 표현하는 데이터는 사용자 인터페이스(UI) 디스플레이 프로세서(840)에 제공된다. UI 디스플레이 프로세서(840)는 미리 지정된 형식(예를 들어, 도 4 및/또는 도 7 중 임의의 것에서 도시)에 따라 전자 프로그램 가이드로서 사용을 위해 상기 적어도 하나의 클러스터 데이터를 자동으로 포맷하며, 이 클러스터화된 전자 프로그램 가이드 데이터가 제1의 디스플레이 디바이스(805), 그리고 제1의 디스플레이 디바이스(805)와는 별도의 상이한 제2의 디스플레이 디바이스(845) 중 적어도 하나의 디바이스 상에서 디스플레이 되는 것을 야기한다. UI 디스플레이 프로세서(840)는 클러스터화된 전자 프로그램 가이드 데이터의 디스플레이를 요청하는 사용자에 의해 생성되는 제어 신호에 응답한다.
한 실시예에서, UI 디스플레이 프로세서(840)는 웹 서버로서 기능하는, 그리고 제2의 디스플레이 디바이스(845) 상에서 실행하고 있는 브라우저가 게다가 사용자 접근을 허용하는 호스트 사용자 인터페이스로 지시되는 것을 가능하게 하는, 인터넷 인터페이스(830)로 포맷된 사용자 인터페이스를 제공할 수 있다. 제2의 디스플레이 디바이스(845) 상에 일단 한번 표현되면, 사용자는 관심을 끄는 프로그램들을 보고/보거나 선택하기 위해 클러스터화된 전자 프로그램 가이드 안의 데이터 아이템들을 브라우징 및 네비게이션할 수 있다.
한 실시예에서, 제어기(800)는 이용 가능한 프로그램들의 샘플 세트 안의 각 프로그램이 사용자에 의해 보여질 수 있는지를 결정하기 위한 사용자 가입 서비스 정보를 자동으로 고려할 수 있다. 예를 들어, 각 프로그램이 프리미엄 채널 상에 위치가 지정되었다는 것이 결정되고, 사용자의 가입이 특정 채널로의 접근을 허용하지 않는다면, 본 시스템은, 이 컨텐츠가 이용 가능하고 특정의 다른 프로그램들에 관련되어 있지만, 컨텐츠 권리 제한 때문에 특정 사용자에게 이용 가능하지 않다는 것을 사용자에게 알려주는 메시지를 각각의 프로그램 식별자(예를 들어, 아이콘)에 자동으로 첨부할 수 있다. 추가적으로, 이 메시지는 사용자가 서비스 가입을 수정하는 것을 가능하게 하는 정보 및/또는 링크를 또한 포함할 수 있고, 따라서 각 프로그램/컨텐츠는 사용자에 의해 보여질 수 있다. 또 다른 실시예에서, 컨텐츠가 사용자의 가입 레벨에 속하지 않는다면, 제어기(800)는 사용자가 접근하는 또 다른 소스로부터 프로그램이 이용 가능한지를 결정하기 위해, 컨텐츠 공급자들을 포함하는 외부 데이터 소스(835)를 인터넷 인터페이스(830)가 검색하는 것을 약속할 수 있다. 예를 들어, 프로그램이 이용 가능하지 않은 프리미엄 채널 상에 위치되어 있다면, 본 시스템은 프로그램을 위해 HULU 또는 FANCAST  을 검색할 수 있으며, 웹 브라우징 어플리케이션에서 보여질 수 있는 링크의 형태로 제2의 디스플레이 디바이스 상에서 소스를 사용자에게 제공할 수 있다.
또 다른 실시예에서, UI 디스플레이 프로세서(840)에 제공되는 적어도 하나의 클러스터 데이터는, 속성들의 완전한 세트 내부의 클러스터링 알고리즘의 부분과 같은 입력으로서 사용된 각 속성을 표현하는 데이터를 또한 포함할 수 있다. 속성 데이터는 제1의 디스플레이 디바이스(805) 상의 상기 적어도 하나의 클러스터 데이터와 함께 디스플레이를 목적으로 포맷될 수 있다. 대안적으로, 속성 데이터는 제2의 디스플레이 디바이스(845) 상에서 사용자에게 디스플레이를 위해 포맷될 수도 있다. 추가적인 실시예에서, UI 디스플레이 프로세서(840)는 사용자 동작에 응답하여 선택적인 수정을 가능하게 하도록 속성 데이터를 포맷할 수 있다. 예를 들어, 속성 데이터는, 사용자가 속성들의 완전한 세트로부터 적어도 하나의 속성을 선택적으로 제거하거나, 사용자가 클러스터링 계산에서 사용되는 상기 적어도 하나의 속성에 관련된 값(예를 들어, 한 속성을 또 다른 속성 보다 더 크게 가중함)을 선택적으로 수정하는 것을 가능하게 하는 사용자 선택 가능 이미지 요소들을 포함하도록 포맷될 수 있다. 완전한 속성 세트의 적어도 하나의 속성을 수정하는 사용자로부터 수정 신호를 수신하는 것에 응답하여, 클러스터 프로세서(825)는, 수정된 완전한 속성 세트를 기초로 하는 이용 가능한 프로그램들의 샘플 세트의 관련성을 재 클러스터화하고 결정하기 위한 클러스터링 알고리즘을 자동으로 수행하며, 디스플레이를 위해 UI 디스플레이 프로세서(840)에 수정된 재 클러스터화된 데이터를 제공한다.
제어기(800)는 클러스터 프로세서(825) 및 UI 디스플레이 프로세서(840)에 연결될 수 있는 네비게이션 프로세서(827)를 더 포함한다. 네비게이션 프로세서(827)는 예를 들어, 원격 제어기를 사용하여(도시되지 않음), 사용자에 의해 생성되는 UI 디스플레이 프로세서(840)를 통해 네비게이션 신호들을 선택적으로 수신할 수 있다. 이 네비게이션 신호들은 클러스터 프로세서(825)에 의해 생성되는, 그리고 제1의 디스플레이 디바이스(805) 및 제2의 디스플레이 디바이스(845) 중 적어도 하나의 디바이스 상에서 UI 디스플레이 프로세서(840)를 통해 디스플레이 되는 복수의 클러스터들 사이에서 네비게이션을 가능하게 하는 네비게이션 정보를 포함한다. 추가적으로, 네비게이션 정보는, 클러스터 프로세서(825)에 의해 생성되는 각 클러스터 내부에 포함되는 이용 가능한 프로그램들의 샘플 세트의 보조 세트를 사용자가 네비게이션하는 것을 가능하게 할 수 있다. 예시적인 네비게이션 정보는 도 5 및 도 6에서 제공되는 알고리즘들에 따라 생성될 수 있다. 사용자로부터 네비게이션 정보를 수신하는 것에 응답하여, 이용 가능한 프로그램들의 샘플 세트는, 특정 클러스터 내의 관련 프로그램들의 보다 상세한 보기를 제공하기 위해, 클러스터 프로세서(825)에 의해 수정되고 재 클러스터화 될 수 있다. 추가적으로, 보여질 상이한 클러스터를 선택하는 네비게이션 신호를 수신하는 것에 응답하여, n-차원의 거리 계산을 기초로 하여 보다 밀접하게 관련되는 대표적인 프로그램들의 세트는 제1의 디스플레이 디바이스(805) 및 제2의 디스플레이 디바이스(845) 중 적어도 하나의 디바이스 상에서 디스플레이를 목적으로 UI 디스플레이 프로세서(840)에게 제공될 수 있다.
또 다른 실시예에서, 본 시스템은 한 세트의 사용자들에 서비스를 제공할 책임이 있는 서버에서 구현될 수 있다. 본 실시예에서, 서버는 상기 설명된 속성 검색 및 클러스터링 알고리즘을 실행하고, 모든 가능한 컨텐츠 정보와 컨텐츠 공급자 소스에 대한 완전한 검색 및 관련된 클러스터링을 수행하기 위해 필요한 대역폭 및 프로세싱 능력을 감소시키기 위해, 통신 네크워크 상으로 사용자에게 클러스터화된 프로그램을 제공한다. 디스플레이 컨텐츠 가이드 정보에 대한 요청에 응답하여, 셋톱 박스는, 클러스터화된 프로그램 가이드 정보를 위한 서버의 데이터베이스 내에서 검색을 개시하는 어플리케이션을 자동으로 수행할 수 있어서, 클러스터화된 컨텐츠 가이드 정보를 사용자에게 제공하기 위해 요구되는 프로세싱 능력의 양, 대역폭, 및 시간을 감소시킨다.
본 명세서에 설명된 구현은 예를 들어, 방법이나 프로세스, 장치, 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 비록 오로지 단일 형태의 구현의 배경에서만 논의되었을지라도(예를 들어, 방법으로서만 논의됨), 논의된 특징들의 구현은 다른 형태(예를 들어, 하드웨어 장치, 하드웨어 및 소프트웨어 장치, 또는 컴퓨터 판독 가능한 매체)로 또한 구현될 수 있다. 한 장치는 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법은 예를 들어, 컴퓨터, 마이크로프로세서, 집적회로, 또는 프로그래밍 가능한 로직 디바이스를 포함하는 임의의 프로세싱 디바이스를 언급하는, 예를 들어 하나의 프로세서와 같은 장치로 구현될 수 있다. 또한, 프로세싱 디바이스들은 예를 들어, 컴퓨터, 휴대폰, 휴대용/개인의 디지털 어시스턴트("PDAs"), 그리고 최종 사용자들 사이에서 정보의 통신을 용이하게 해주는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
추가적으로, 이 방법은 프로세서에 의해 수행되고 있는 명령어에 의해 구현될 수 있으며, 이러한 명령어는 프로세서에 저장될 수 있거나, 예를 들어 집적회로, 소프트웨어 캐리어, 또는 하드 디스크, 콤팩트 디스켓, RAM, ROM, 또는 임의의 다른 자기, 광학, 또는 고체 상태 매체와 같은 다른 저장 디바이스와 같은 컴퓨터-판독 가능한 매체에 저장될 수도 있다. 이러한 명령어는 상기 제시된 임의의 매체와 같은 컴퓨터 판독 가능한 매체 상에서 실질적으로 구현되는 어플리케이션 프로그램을 형성할 수 있다. 명확하게 이야기 하자면, 프로세서는 프로세서 유닛의 부분으로서, 예를 들어, 프로세스를 수행하기 위한 명령어를 포함하는 컴퓨터-판독 가능한 매체를 포함할 수 있다. 본 발명의 방법에 따라, 이 명령어는, 수행될 때, 일반용 컴퓨터를 본 발명의 방법을 수행하는 특정 장비로 변환시킬 수 있다.
위에서 설명되어온 것은 실시예들의 예시들을 포함한다. 물론, 실시예들을 설명하는 것을 목적으로 구성 요소들, 또는 방법론들의 생각할 수 있는 모든 결합을 기술하는 것은 가능하지 않지만, 당업자는 본 실시예들의 많은 추가적인 결합 및 변경이 가능하다는 것을 인식할 수 있다. 따라서, 본 주제는 첨부된 청구항의 사상과 범주의 범위에 들어가는 모든 이러한 변경, 수정, 및 변화를 포함하도록 의도된다.
101 : 공급자로부터의 외부 비디오 102 : 셋톱 박스, TV 등
104 : 데이터 베이스 106 : 웹
108 : 제1의 디스플레이 디바이스
110 : 제2의 디스플레이 디바이스
112 : 사용자 300 : 클러스터
301 ~ 309 : 서브 클러스터 330 : 프리젠테이션 그리드
400 : 디스플레이 이미지
702 : 클러스터 프로젝션 이미지
704a ~ 704e : 클러스터 712 : 프로그램 그리드
714 : 속성 섹션 800 : 제어기
810 : 튜너 812 : 입력 신호
815 : 속성 프로세서 820 : 메모리
825 : 클러스터 프로세서 827 : 네비게이션 프로세서
830 : 인터넷 인터페이스 840 : UI 디스플레이 디바이스
805 : 제1의 디스플레이 디바이스
845 : 제2의 디스플레이 디바이스 835 : 외부 데이터 소스(들)

Claims (14)

  1. 컨텐츠 가이드 내의 요소들 사이의 공간적인 관계를 식별하는 컨텐츠 가이드를 제공하는 방법으로서, 방법은, 제어기에 의해 수행되고,
    a. 제어기에 의해, 전자 프로그램 가이드 데이터를 수신하는 단계;
    b. 전자 프로그램 가이드 내에 목록화된 복수의 프로그램들을 식별하고, 프로그램 설명 속성의 세트들에 해당하는 데이터를 식별하기 위하여, 수신된 전자 프로그램 가이드 데이터를 분석하는 단계로서, 프로그램 설명 속성의 각 세트는 식별된 프로그램들 중 각각 하나에 해당하는, 데이터를 분석하는 단계;
    c. 프로그램 설명 속성의 세트들에 기초하여 각각의 식별된 프로그램 사이의 관계를 결정하는 단계;
    d. 결정된 관계에 기초하여 복수의 식별된 프로그램들 중 하나를 포함하는 적어도 하나의 클러스터를 생성하는 단계; 및
    e. 클러스터화된 컨텐츠 가이드를 나타내는, 그리고 사용자가 복수의 프로그램들의 관계를 보는 것을 가능하게 하는 적어도 하나의 생성된 클러스터를 포함하는, 사용자 인터페이스 디스플레이 이미지를 사용자 인터페이스 디스플레이 프로세서에 의해 생성하는 단계로서, 사용자 인터페이스 디스플레이 이미지는 적어도 하나의 생성된 클러스터의 공간의 변경을 가능하게 하는 프로그램 설명 속성의 세트들 중 하나의 무게에 해당하는 값을 실시간으로 선택적으로 결정하는 슬라이딩 막대(sliding bar)를 포함하는, 사용자 인터페이스 디스플레이 이미지를 생성하는 단계;
    를 포함하는, 컨텐츠 가이드를 제공하는 방법.
  2. 제1항에 있어서, 제 1 디스플레이 내에서 컨텐츠 가이드를 디스플레이 하는 단계와, 제 2 디스플레이 내에서 컨텐츠 가이드의 부분을 동시에 디스플레이하는 단계를 더 포함하는, 컨텐츠 가이드를 제공하는 방법.
  3. 제1항에 있어서,
    프로그램 설명 속성의 세트들 내에서 프로그램 설명 속성의 각각은 관련성의 1차원을 나타내고;
    생성된 적어도 하나의 클러스터에 포함되는 프로그램들은 서로에 대한 n차원의 관계를 나타내고, n은 클러스터링 계산에 사용되는 프로그램 설명 속성의 수인, 컨텐츠 가이드를 제공하는 방법.
  4. 제1항에 있어서, 결정하는 단계는,
    선택된 속성들에 기초하여 복수의 프로그램들 중 각각의 프로그램들 사이의 공간적인 거리를 계산하는 데 사용을 위해 식별된 복수의 프로그램들에 관련된 속성들을 선택하는 단계로서, 공간적인 거리는 복수의 프로그램들의 모든 다른 프로그램들에 대한 각각의 프로그램의 관련성의 레벨을 나타내는, 속성들을 선택하는 단계;
    선택된 속성들에 기초하여 공간적인 거리를 나타내는 값을 생성하는 단계; 및
    클러스터링 계산에서 사용을 위한 복수의 프로그램들의 각각의 프로그램들을 위한 공간적인 거리 값을 저장하는 단계;
    를 더 포함하는, 컨텐츠 가이드를 제공하는 방법.
  5. 제1항에 있어서, 적어도 하나의 생성된 클러스터들에게 교정 알고리즘을 적용하여 적어도 하나의 생성된 클러스터가 2차원의 디스플레이 이미지로 디스플레이되는 것을 가능하게 하는, 교정 알고리즘을 적용하는 단계를 더 포함하는, 컨텐츠 가이드를 제공하는 방법.
  6. 제1항에 있어서,
    적어도 하나의 생성된 클러스터의 각각의 클러스터를 노드로서 식별하는 단계;
    각각의 클러스터에 포함되는 프로그램을 노드를 위한 대표적인 프로그램으로서 선택하는 단계; 및
    노드를 위한 대표적인 프로그램을 나타내는 데이터를, 공간적인 컨텐츠 가이드 디스플레이 이미지 내에 포함을 위해, 사용자 인터페이스 발생기로 제공하는 단계;
    를 더 포함하는, 컨텐츠 가이드를 제공하는 방법.
  7. 컨텐츠 가이드 내의 요소들 사이의 공간적인 관계를 식별하는 컨텐츠 가이드를 제공하기 위한 시스템으로서,
    전자 프로그램 가이드 데이터를 수신하는 수신기;
    전자 프로그램 가이드 내에 목록화된 복수의 프로그램들을 식별하고, 프로그램 설명 속성의 세트들에 해당하는 데이터를 식별하기 위하여, 수신된 전자 프로그램 가이드 데이터를 분석하는 속성 프로세서로서, 프로그램 설명 속성의 각 세트는 식별된 프로그램들 중 각각의 하나에 해당하는, 속성 프로세서;
    프로그램 설명 속성의 세트들에 기초하여 각각의 식별된 프로그램 사이의 관계를 결정하고, 결정된 관계에 기초하여 복수의 식별된 프로그램들 중 하나를 포함하는 적어도 하나의 클러스터를 생성하는, 클러스터 프로세서; 및
    클러스터화된 컨텐츠 가이드를 나타내고, 사용자가 복수의 프로그램들의 관계를 보는 것을 가능하게 하는 적어도 하나의 생성된 클러스터를 포함하는, 사용자 인터페이스 디스플레이 이미지를 생성하는 사용자 인터페이스 디스플레이 프로세서로서, 사용자 인터페이스 디스플레이 이미지는 적어도 하나의 생성된 클러스터의 공간의 변경을 가능하게 하는 프로그램 설명 속성의 세트들 중 하나의 무게에 해당하는 값을 실시간으로 선택적으로 결정하는 슬라이딩 막대(sliding bar)를 포함하는, 사용자 인터페이스 디스플레이 프로세서;
    를 포함하는, 컨텐츠 가이드를 제공하기 위한 시스템.
  8. 제7항에 있어서, 컨텐츠 가이드는 제 1 디스플레이 내에서 디스플레이되고, 컨텐츠 가이드의 서브셋은 제 2 디스플레이 내에서 동시에 디스플레이되는, 컨텐츠 가이드를 제공하기 위한 시스템.
  9. 제7항에 있어서,
    프로그램 설명 속성의 세트들 내에서 프로그램 설명 속성의 각각은 관련성의 1차원을 나타내고;
    생성된 적어도 하나의 클러스터에 포함되는 프로그램들은 서로에 대한 n차원의 관계를 나타내며, n은 클러스터링 계산에 사용되는 프로그램 설명 속성의 수인, 컨텐츠 가이드를 제공하기 위한 시스템.
  10. 제7항에 있어서, 속성 프로세서는,
    선택된 속성들에 기초하여 복수의 식별된 프로그램들의 각각의 프로그램들 사이의 공간적인 거리를 계산하는 데 사용을 위해 복수의 식별된 프로그램들에 관련된 속성들을 선택하고, 공간적인 거리는 복수의 식별된 프로그램들의 모든 다른 프로그램들에 대한 각각의 프로그램의 관련성의 레벨을 나타내며;
    선택된 속성들에 기초하여 공간적인 거리를 나타내는 값을 생성하며;
    클러스터링 계산에서 사용을 위한 복수의 식별된 프로그램들의 각각의 프로그램들을 위한 공간적인 거리 값을 저장하는;
    컨텐츠 가이드를 제공하기 위한 시스템.
  11. 제7항에 있어서,
    클러스터 프로세서는, 교정 알고리즘을 적어도 하나의 생성된 클러스터들에게 적용하여, 적어도 하나의 생성된 클러스터가 2차원의 디스플레이 이미지로 디스플레이되는 것을 가능하게 하는, 컨텐츠 가이드를 제공하기 위한 시스템.
  12. 제7항에 있어서, 클러스터 프로세서는,
    적어도 하나의 생성된 클러스터의 각각의 클러스터를 노드로서 식별하고;
    각각의 클러스터에 포함되는 프로그램을 노드를 위한 대표적인 프로그램으로서 선택하며;
    노드를 위한 대표적인 프로그램을 나타내는 데이터를, 공간적인 컨텐츠 가이드 디스플레이 이미지 내에 포함을 위해 사용자 인터페이스 발생기로 제공하는;
    컨텐츠 가이드를 제공하기 위한 시스템.

  13. 삭제
  14. 삭제
KR1020127021653A 2010-02-19 2011-02-15 매체 컨텐츠 공간의 네비게이션 KR101729701B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US30634310P 2010-02-19 2010-02-19
US61/306,343 2010-02-19
PCT/US2011/000273 WO2011102891A1 (en) 2010-02-19 2011-02-15 Media content spatial navigation

Publications (2)

Publication Number Publication Date
KR20120138234A KR20120138234A (ko) 2012-12-24
KR101729701B1 true KR101729701B1 (ko) 2017-04-24

Family

ID=43827806

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127021653A KR101729701B1 (ko) 2010-02-19 2011-02-15 매체 컨텐츠 공간의 네비게이션

Country Status (6)

Country Link
US (1) US9043839B2 (ko)
EP (1) EP2537335B1 (ko)
JP (1) JP5985991B2 (ko)
KR (1) KR101729701B1 (ko)
CN (1) CN102792680B (ko)
WO (1) WO2011102891A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2677758A1 (en) * 2012-06-19 2013-12-25 Thomson Licensing Mind opening content recommending system
US9313551B2 (en) 2013-06-17 2016-04-12 Google Inc. Enhanced program guide
US9930417B2 (en) 2013-07-11 2018-03-27 Time Warner Cable Enterprises Llc Video browser
US9582519B2 (en) * 2013-08-15 2017-02-28 Dassault Systemes Simulia Corp. Pattern-enabled data entry and search
KR20150031737A (ko) * 2013-09-16 2015-03-25 삼성전자주식회사 디스플레이 장치, 유료 방송 처리 장치 및 제어 방법
TWI508561B (zh) * 2013-11-27 2015-11-11 Wistron Corp 電子節目表單之產生裝置及電子節目表單之產生方法
US20160033651A1 (en) * 2014-08-01 2016-02-04 Agco Corporation Reassigning license for gnss accuracy improvement service
US10405044B1 (en) * 2014-09-30 2019-09-03 Apple Inc. Content notification system and method
US10567842B2 (en) * 2014-12-31 2020-02-18 Dish Technologies Llc Intelligent content management system
WO2017002371A1 (en) * 2015-07-02 2017-01-05 Sharp Kabushiki Kaisha Systems and methods for current service information
US10496396B2 (en) 2017-09-29 2019-12-03 Oracle International Corporation Scalable artificial intelligence driven configuration management
US10789065B2 (en) 2018-05-07 2020-09-29 Oracle lnternational Corporation Method for automatically selecting configuration clustering parameters
CN113287321B (zh) * 2018-12-06 2023-10-24 交互数字Ce专利控股公司 电子节目指南、用于电子节目指南的方法以及相应的设备
CN110333818A (zh) * 2019-05-24 2019-10-15 华为技术有限公司 分屏显示的处理方法、装置、设备和存储介质
US10915652B1 (en) * 2019-08-27 2021-02-09 Sailpoint Technologies, Inc. System and method for artifact management and representation in identity management systems and uses of same, including representation of effective access and application of identity management policies
US11886514B2 (en) 2019-10-11 2024-01-30 Kinaxis Inc. Machine learning segmentation methods and systems
US11526899B2 (en) 2019-10-11 2022-12-13 Kinaxis Inc. Systems and methods for dynamic demand sensing
US20210110299A1 (en) * 2019-10-15 2021-04-15 Kinaxis Inc. Interactive machine learning
WO2022119345A1 (en) * 2020-12-03 2022-06-09 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003004335A1 (de) 2001-07-05 2003-01-16 Ffg Flensburger Fahrzeugbau Gesellschaft Mbh Minengeschütztes gepanzertes fahrzeug
WO2005022377A1 (en) 2003-09-02 2005-03-10 Creative Technology Ltd Method and system to display media content data
US20080032051A1 (en) 2002-07-03 2008-02-07 Advanced Plastic Technologies Luxembourg S.A. Dip, spray, and flow coating process for forming coated articles

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917488A (en) * 1996-08-21 1999-06-29 Apple Computer, Inc. System and method for displaying and manipulating image data sets
JP3413065B2 (ja) * 1997-07-03 2003-06-03 松下電器産業株式会社 番組情報処理装置
US5983224A (en) 1997-10-31 1999-11-09 Hitachi America, Ltd. Method and apparatus for reducing the computational requirements of K-means data clustering
US20010030667A1 (en) * 2000-04-10 2001-10-18 Kelts Brett R. Interactive display interface for information objects
US7213256B1 (en) * 2000-12-29 2007-05-01 Dan Kikinis Method and apparatus for finding the same of similar shows
JP3707361B2 (ja) * 2000-06-28 2005-10-19 日本ビクター株式会社 情報提供サーバ及び情報提供方法
JP4730869B2 (ja) * 2001-07-04 2011-07-20 シャープ株式会社 テレビジョン番組情報表示装置
US20030097196A1 (en) * 2001-11-13 2003-05-22 Koninklijke Philips Electronics N.V. Method and apparatus for generating a stereotypical profile for recommending items of interest using item-based clustering
US20030097300A1 (en) * 2001-11-13 2003-05-22 Koninklijke Philips Electronics N.V. Method and apparatus for recommending items of interest based on stereotype preferences of third parties
US7533093B2 (en) 2001-11-13 2009-05-12 Koninklijke Philips Electronics N.V. Method and apparatus for evaluating the closeness of items in a recommender of such items
JP2003199084A (ja) * 2001-12-27 2003-07-11 Seiko Epson Corp 番組編集システム、番組情報検索システム、番組情報取得システム及び番組編集プログラム、並びに番組編集方法
CN1669298A (zh) * 2002-07-17 2005-09-14 皇家飞利浦电子股份有限公司 具有并发多用户电子节目指南的接收器
JP4423262B2 (ja) * 2003-09-11 2010-03-03 パナソニック株式会社 コンテンツ選択方法およびコンテンツ選択装置
JP4123382B2 (ja) * 2004-07-12 2008-07-23 ソニー株式会社 電子機器、電子機器における表示制御方法およびグラフィカル・ユーザ・インターフェース
JP2006115227A (ja) * 2004-10-14 2006-04-27 Funai Electric Co Ltd 番組表搭載デジタル放送受信機
KR101190462B1 (ko) * 2005-01-05 2012-10-11 힐크레스트 래보래토리스, 인크. 1-대-다 객체를 처리하기 위한 스케일링 및 레이아웃 방법및 시스템
US8204131B2 (en) * 2005-01-13 2012-06-19 Qualcomm Incorporated Method and system for rapid and smooth selection of digitally compressed video programs
KR20080003788A (ko) * 2005-02-14 2008-01-08 힐크레스트 래보래토리스, 인크. 3d 포인팅을 이용하여 텔레비젼 어플리케이션을향상시키는 방법 및 시스템
JP4849301B2 (ja) * 2005-07-27 2012-01-11 ソニー株式会社 情報処理装置および方法、並びにプログラム
US20080104058A1 (en) 2006-11-01 2008-05-01 United Video Properties, Inc. Presenting media guidance search results based on relevancy
EP2113155A4 (en) 2007-02-21 2010-12-22 Nds Ltd METHOD FOR PRESENTATION OF CONTENT
US7987484B2 (en) * 2007-06-24 2011-07-26 Microsoft Corporation Managing media content with a self-organizing map
US9060155B2 (en) * 2007-08-28 2015-06-16 Nokia Technologies Oy Apparatus, method and computer program product for generating a personalized visualization of broadcasting stations
JP2009080580A (ja) * 2007-09-25 2009-04-16 Toshiba Corp 映像表示装置及び方法
JP5188372B2 (ja) 2008-11-26 2013-04-24 株式会社デンソーアイティーラボラトリ 情報提示装置、方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003004335A1 (de) 2001-07-05 2003-01-16 Ffg Flensburger Fahrzeugbau Gesellschaft Mbh Minengeschütztes gepanzertes fahrzeug
US20080032051A1 (en) 2002-07-03 2008-02-07 Advanced Plastic Technologies Luxembourg S.A. Dip, spray, and flow coating process for forming coated articles
WO2005022377A1 (en) 2003-09-02 2005-03-10 Creative Technology Ltd Method and system to display media content data

Also Published As

Publication number Publication date
EP2537335A1 (en) 2012-12-26
CN102792680B (zh) 2016-08-17
CN102792680A (zh) 2012-11-21
US20120311637A1 (en) 2012-12-06
US9043839B2 (en) 2015-05-26
WO2011102891A1 (en) 2011-08-25
JP5985991B2 (ja) 2016-09-06
KR20120138234A (ko) 2012-12-24
EP2537335B1 (en) 2019-01-16
JP2013520872A (ja) 2013-06-06

Similar Documents

Publication Publication Date Title
KR101729701B1 (ko) 매체 컨텐츠 공간의 네비게이션
US11831956B2 (en) Personalized menus and media content interface
US8392946B2 (en) Method of recommending local and remote content
US8793731B2 (en) Enhanced content search
KR101769802B1 (ko) 매체 컨텐츠 보기를 위한 스마트 캐치-업
US8930997B2 (en) Method and system to request audiovisual content items matched to programs identified in a program grid
KR101895062B1 (ko) 인터랙티브 미디어 안내 어플리케이션들에서 미디어를 획득, 카테고리화 및 전달하기 위한 시스템 및 방법
US20120324512A1 (en) Enhanced electronic program guide
CN102860027A (zh) 机顶盒上自动剪辑产生
US20230269419A1 (en) Apparatus, systems and methods for media mosaic management
US8205227B1 (en) Management and delivery of audiovisual content items that correspond to scheduled programs
Sumiyoshi et al. CurioView: TV recommendations related to content being viewed
US20090172733A1 (en) Method and system for content recording and indexing
Zibriczky et al. EPG content recommendation in large scale: a case study on interactive TV platform
CN112163878A (zh) 虚拟轮播方法、系统、计算机设备及计算机存储介质
US20240056624A1 (en) Curating promotions
WO2012112132A1 (en) Spatial guide for media content discovery and navigation
KR20130105026A (ko) 컨텐츠 차단이 가능한 검색 장치 및 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant