KR20110065494A - Tv용 모듈러 플렉서블 소프트웨어 아키텍처 - Google Patents

Tv용 모듈러 플렉서블 소프트웨어 아키텍처 Download PDF

Info

Publication number
KR20110065494A
KR20110065494A KR1020117007688A KR20117007688A KR20110065494A KR 20110065494 A KR20110065494 A KR 20110065494A KR 1020117007688 A KR1020117007688 A KR 1020117007688A KR 20117007688 A KR20117007688 A KR 20117007688A KR 20110065494 A KR20110065494 A KR 20110065494A
Authority
KR
South Korea
Prior art keywords
pim
alcu
pims
event
feature
Prior art date
Application number
KR1020117007688A
Other languages
English (en)
Other versions
KR101254406B1 (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 KR20110065494A publication Critical patent/KR20110065494A/ko
Application granted granted Critical
Publication of KR101254406B1 publication Critical patent/KR101254406B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4433Implementing client middleware, e.g. Multimedia Home Platform [MHP]

Abstract

TV 제품마다 고유 코드를 설정하기 보다는, 다수의 제품 및 심지어 다수의 제품 라인을 서비스하도록 공통 코드 베이스가 제공된다. 내장된 시스템은 네트워크 접속을 통해 업그레이드될 수 있다. 소프트웨어 아키텍처는 플러그-인 모듈러 미들웨어를 통해 다수의 제품 제공을 지원하고 2D 및 3D 그래픽 양측에 대해 표준화된 하드웨어 가속을 제공하는 유연성있는 접근법을 제공한다. 플러그-인 능력은 판매후 특징 추가 및 업그레이드를 제공한다.

Description

TV용 모듈러 플렉서블 소프트웨어 아키텍처{MODULAR FLEXIBLE SOFTWARE ARCHITECTURE FOR TV}
본 발명은 일반적으로 TV용 모듈러 플렉서블 소프트웨어 아키텍처에 관한 것이다.
현재의 TV 아키텍처는 제품의 수명 동안에는 변하지 않는 고정된 기능의 모델에 기초한다. 특징(features) 및 애플리케이션의 세트는 제품 정의시에 고정되어 있어 변경되지 않는다. 이러한 타입의 아키텍처는 제품이 고객에게 배달된 후에 개별적인 제품 특징을 갱신하는 것을 수용하도록 본래부터 설계되지 않았다.
여기서 알 수 있는 바와 같이, 배달된 후 TV를 업그레이드하는 유연성있는 수단이 바람직하다. 게다가, 본 명세서에서 알 수 있는 바와 같이, 유연성에 대한 필요성은 고객에게 배달된 후의 업그레이드 이상으로까지 확장되며, 특히 제품 제공이 도입될 때 제품 제공을 개발하고나서 구성하는 추가적인 모듈러 및 플렉서블 수단이 유리할 것이다.
따라서, 유형의 컴퓨터 판독가능 기억 매체상에서 구현되는 TV 시스템 아키텍처는 ALCU(application logic coordination unit)와, 이 ALCU와 통신하는 복수의 PIM(plug in module)을 포함한다. 각각의 PIM은 원하는 TV 시스템 특징을 나타낸다. PIM간(PIM-to-PIM) 상호작용은 제품 차별화를 지원하기 위해 제품별 PIM 레벨로 정의되어 있다. 즉, PIM들의 특정 조합은 여러 모델로 상이하게 맞춤 조정되어 추가적인 제품 차별화를 제공할 수 있다. 부가적으로, 새로운 PIM을 추가할 시, 새로운 PIM은 다른 특정 PIM들을 체크하여 다른 특정 PIM들 및 새로운 PIM에 의해 판독될 수 있는, 예를 들어 TV 모델 ID에 기초하여 그에 따른 동작을 맞춤 조정하도록 프로그램될 수 있다
다른 양상에서, 본 방법은 제1 및 제2 TV 시스템 모델 라인에 이 양측 모델 라인에 공통인 ALCU를 제공하는 것을 포함한다. 본 방법은 또한 ALCU와 통신하도록 구성된 복수의 PIM을 제공하는 것을 포함하며, 각 PIM은 원하는 TV 시스템 특징을 나타내고, ALCU는 PIM들간에 정보를 라우팅한다.
제1 모델 라인에 있는 한 세트의 PIM은 제2 모델 라인에 있는 한 세트의 PIM과 상이할 수도 있다. 이러한 세트의 PIM들은 특정 TV 모델용으로 의도된 원하는 특징을 확립하도록 확립될 수도 있다. PIM들의 조합은 수정된 PIM 버전을 포함하여 추가적인 제품 차별화를 부가할 수 있다.
다른 양상에서, 디스플레이 시스템은 소프트웨어로 구현되는 TV 특징 아키텍처를 구현하는 비디오 디스플레이 및 프로세서 회로를 포함한다. 이러한 아키텍처는 ALCU 및 이 ALCU와 통신하는 복수의 PIM을 포함한다. 각각의 PIM은 원하는 TV 시스템 특징을 나타낸다. ALCU는 PIM들간의 정보를 라우팅하고, 새로운 PIM들은 ALCU에 부가되어 이 ALCU와 통신하는 PIM들과 협동할 수 있다.
일부 예시적인 실시예에서, 제1 특징을 제공하는 PIM은 제1 모델 라인에서의 제1 애플리케이션 시작 판정을 구현하고, 제1 특징을 제공하는 PIM은 제2 모델 라인에서의 제2 애플리케이션 시작 판정을 구현한다. 제2 애플리케이션 시작 판정은 제1 애플리케이션 시작 판정과는 상이하다. 일부 구현예에서, 제1 특징을 제공하는 PIM은 제1 모델 라인에서의 제1 이벤트를 등록하고, 제1 특징을 제공하는 PIM은 제2 모델 라인에서의 제2 이벤트를 등록한다. 제2 이벤트는 제1 이벤트와는 상이하다. PIM간 상호작용은 제품별 PIM 레벨로 정의될 수 있다.
비제한적인 예에서, 각각의 PIM은 특정 모델 라인에 고유한 인터페이스 코드와, PIM을 사용하려고 하는 모든 모델 라인에 걸쳐서 공통인 특징 코드를 포함한다. 인터페이스 코드는 ALCU를 통해 수신된 다른 PIM들로부터의 호출(calls)을 특징 코드가 이해하는 호출(calls)로 변환한다. ALCU는 공용 인터페이스, 유틸리티 인터페이스 및 PIM 인터페이스를 포함할 수 있다.
본 발명의 상세, 그 아키텍처 및 동작에 관련해서는, 동일 참조 부호가 동일 구성요소를 지칭하는 첨부된 도면을 참조하여, 가장 잘 이해할 수 있다.
도 1은 본 발명의 원리가 사용될 수 있는 예시적인 환경의 개략적인 도면이다.
도 2는 본 발명의 원리에 따라 예시적인 아키텍처의 개략적인 도면이다.
우선 도 1을 참조하면, 비주얼 디스플레이(12)를 포함하는 시스템(10)이 나타나 있다. 도시된 예시적인 실시예에서, 플랫 패널 매트릭스형 디스플레이와 같은 TV 비디오 디스플레이이지만 이에 국한되지 않는다.
시스템(10)은 디스플레이(12)와, 케이블 헤드 엔드, 셋톱 박스, 위성 수신기, 지상 안테나 등과 같은 TV 프로그래밍의 소스(18)로부터 신호를 수신하는 TV 튜너(16)를 수납하는 TV 섀시(14)를 포함한다. 일부 실시예에서, 튜너(16)가 추가로 이하에 설명된 셋톱 박스의 일부일 수도 있지만, 튜너(16)는 통상적으로 섀시(14)내에 장착된다.
섀시(14)는 또한 하나 이상의 디스크 저장 장치, 고상 저장 장치 등과 같은 유형의 컴퓨터 판독가능 기억 매체(22)상에 현 로직의 소프트웨어 구현체를 포함하는, 정보를 액세스할 수 있는 TV 프로세서(20)를 통상적으로 수납한다. 사용자 명령은 원격 제어(24)로부터 수신될 수 있다.
이하에서는 TV 섀시(14) 내부의 매체(22)상에 저장될 수 있는 소프트웨어로 구현된 PIM에 대해 설명이 집중되었지만, 일부 실시예에서, PIM이 세트 박스와 같은 외부 디바이스에 전달하기 위해 소프트웨어 드라이버에 접속될 수 있다는 것을 이해할 것이다. 일부 경우에서, PIM들은 TV 또는 USB 썸(thumb) 드라이버로의 네트워크 접속 또는 다른 방법을 통해 매체(22)에 저장하기 위해 전송될 수 있다. 또 다른 구현예에서, PIM이 외부 플러그-인 카드에 의해 구현되는 경우, 추가된 비용을 지불해야 하는 카드는, 연산 집중적인 태스크를 수행하여 TV 프로세서(20)측에서의 태스크의 부담을 덜기 위한(off-load) 특수 하드웨어를 포함할 수 있다. 예를 들면, 제공된 현재의 비디오내의 사람 얼굴을 인식하고 식별하기 위한 복합 연관 검색은 하나의 PIM 또는 PIM들을 제공하기 위해 카드가 사용되는 경우에 플러그-인 카드에게로 로드가 넘어갈 수 있다. 그러한 특징을 위한 PIM은 예를 들면, PIM간 통신을 실행하여 스크린 이미지의 비디오 캡쳐를 획득하여, 이를 카드상의 외부 프로세서에 전송할 수 있다. 다음으로, 리턴 데이터 요구가 후술되는 ALCU로 전송되어 결과를 디스플레이 PIM에 라우트하여 그 결과를 보고할 수 있다. 따라서, 후술된 도 2에서, "특징 C"와 같은 아이템은 외부 프로세서 또는 USB 썸 드라이브 컨트롤러와 같은 다른 외부 디바이스로의 인터페이스일 수 있다.
도 1에 나타난 바와 같이, 시스템(10)은 또한 TV 섀시에 기계적으로 고정되어 그 내부 구성요소들에 전기적으로 접속될 수 있는 셋톱 박스 또는 셋백 박스와 같은 세트 박스(26)를 포함할 수도 있다. 다른 구성요소들 중에서, 세트 박스(26)는 하나 이상의 컴퓨터 판독가능 기억 매체(30)에 액세스하는 박스 프로세서(28)를 포함하여 본원의 아키텍처를 구현할 수 있다. 본 발명의 원리가 박스 프로세서(28)와 협력하여 동작하는 TV 프로세서(20)에 의해 구현될 수 있거나, 또는 세트 박스(26)가 생략될 수 있는데, 이 경우에, 본 발명의 원리는 TV 프로세서(20)에 의해 구현된다는 것이 이해될 것이다.
시스템(10)은 후술하는 모듈을 수신하기 위해 인터넷과 같은 광역 네트워크에 액세스하기 위한, 본 경우에는, 세트 박스(26)내에 포함되며 박스 프로세서(28)에 의해 제어되는, 광역 컴퓨터 네트워크 인터페이스(32)를 포함하는 것이 바람직할 수 있다. 제한없이, 인터페이스(32)는 유선 또는 무선 모뎀에 의해 구현될 수 있다.
본 발명의 원리는 단일 코드 베이스로부터 업그레이드 가능한 제품의 범위를 지원하기 위한 토대(foundation)를 구축하는 것을 포함한다. 후술된 예시적인 비제한 아키텍처는 "플러그-인 애플리케이션(plug-in application)"의 개념을 확장하여 "플러그-인 미들웨어(plug-in middleware)"를 제공한다. 이는 단순한 사용자 인터페이스(UI) 이상의 것이 다운로드 가능한 "플러그-인(plug-in)"으로서 부가될 수 있다는 것을 의미한다. 새로운 능력 및 특징은 표준화되고 일관된 방식으로 시스템에 부가될 수 있다. 후술된 예시적인 비제한 아키텍처는 개발하는 동안 및 제품 배달한 후에 단일 소스 코드 베이스내로부터 제품 라인에 걸쳐서 부가되거나 제거될 다양한 특징에 대한 메카니즘을 다운로드 가능한 "플러그-인(plug-in)" 모듈로서 제공한다. 후술된 예시적인 비제한 아키텍처는 또한 보다 효율적인 제품 개발을 할 수 있으며 개발에서 출시까지의 시간(time to market)을 앞당길 수 있다
후술된 예시적인 비제한 아키텍처는 전체적인 이벤트의 횟수를 감소시키면서 표준화된 언젠가는 확장가능한 이벤트 전달, 제품 제공을 정의하는 그룹화된 모듈 세트, 하나의 제품 세트에 대해서는 변경을 "못하게 하지만(freeze)" 다른 제품 세트에 대해서는 지속적으로 개발할 수 있게 하는 능력, 및 미들웨어 컴포넌트가 전체적인 시스템에 접속되게 하는 표준 메카니즘을 제공한다.
이와 같이, 각각의 TV 제품은 단순히 선택된 세트의 범용 소프트웨어 모듈이 아니다. 제품 전반에 걸쳐서 동일성을 유지할 수 있는 공통 코드는 각 제품에 고유할 필요성이 있는 코드와 분리된다.
각 고유 모듈은 PIM(Plug In Module)이라 칭한다. 각 PIM은 각각의 TV 시스템 특징을 나타내는 것으로, ALCU와 공통 인터페이스를 사용하는 PIM들을 통해 아키텍처에 특징들이 플러그-인될 수 있다. ALCU는 PIM들간에 호출(call) 및 이벤트를 라우팅한다. PIM 인터페이스는 PIM들이 시스템 이벤트를 초기화하고, 로딩(load)하고, 반응하며, 이벤트 및 액션을 시작하게 하는 모든 PIM에 대한 공통된 세트의 API(application programming interface) 엔트리를 포함한다.
각 PIM은 ALCU에 의해 사용되는 일반화된 시스템 인터페이스에 대해, 원격 커맨더로부터의 입력을 표현하는 모듈사이에서 프록시 역할을 한다. 각 PIM은 또한 제품 고유 코드의 저장소(repository)로서의 역할을 한다. PIM을 통해 ALCU에 접속되는 각 소프트웨어 모듈은 "제품 중립(product neutral"을 유지하여 제품 특정 엘리먼트들이 PIM내에서 유지된다. 이는 각 제품내의 특징 차별화를 허용하면서 제품들 간에 특징을 공유할 수 있게 한다.
따라서, 전반적인 시스템 동작이 중앙 논리 제어부에서 정의되지만, 각 모듈의 개별 동작 역시 플러그-인에 따라 부가될 수 있다. 각 개별 시스템 모듈은 서로에게 투명하며 임의의 다른 모듈에 영향을 미치지 않고도 변경 또는 대체될 수 있다. 변경되거나 대체된 모듈은 이러한 모듈을 ALCU를 통해 전체 시스템에 결합하는, PIM에 그 시스템 동작을 정의하기만 하면 된다.
이제 도 2를 참조하면, 본 명세서에서 ALCU(34)로서 참조되는 기본(base) 소프트웨어 모듈은 소프트웨어로 구현된 특징 PIM들(36)간에 애플리케이션 액션 및 시스템 이벤트를 라우트하기 위한 메카니즘을 제공하고, 상이한 TV 시스템 제품 범위를 제공하기 위해 상이한 PIM 조합으로 제공되고 상이한 제품 패키지로서 팔릴 수도 있고/있거나 가정에 설치후에 인터넷으로부터 TV 시스템(10)으로 개별적으로 다운로딩하여, 예를 들면 패키지내의 기존 모듈을 업그레이드하거나 새로운 모듈을 패키지에 부가하여, 예를 들면 새로운 특징에 대한 지불의 대가로 TV 시스템에 새로운 특징을 부가할 수 있는, 특징 PIM(36)간의 동작을 동기화시킨다.
도 2에 나타난 바와 같이, 각 PIM은 특정 PIM에 고유한 특징 정의 및 실행 코드 서브모듈(38)을 포함한다. 또한, 각 PIM(36)은 모든 PIM에 대해 동일한 공통 코드 모듈(40)을 포함하며, 이런 이유로 간략하게 설명된다. 각 PIM(36)은 ALCU(34)의 인터페이스(44)와 통신하는 ALCU 인터페이스(42)를 또한 포함하며, 인터페이스(42, 44)는 ALCU(34)로부터 PIM(36)을 추가하고 제거하는 것을 용이하게 하는 공통 인터페이스 스킴을 정의한다.
각 PIM(36)은, TV 시스템(10)의 각 특징을 확립하는 소프트웨어를 제공하는 것 이외에, 이하 보다 구체적으로 설명되는 바와 같이, 필요에 따라, 모듈 제품 특정 동작을 정의하기 위해 ALCU(34)에 콜백(callback)을 추가할 수 있다. 따라서, 일 실시예에서 싱글톤 C++ 클래스로서 구현될 수도 있는 ALCU(34)는 PIM들 간에 시스템 및 액션 이벤트를 분배하는 라우팅 메카니즘이다. 각 PIM(36)은 이하 추가로 후술하는 바와 같이 ALCU(34) 인터페이스를 통해 ALCU(34) 이벤트 큐 상에 이벤트를 추가할 수 있다.
PIM들(36)간에 정보를 라우팅하는 것에 부가하여, ALCU(34)는 또한 현재의 액티브 애플리케이션을 알아낼 수 있음은 물론, 리스트 데이터 구조의 스택의 모자 관계를 알아낼 수 있으며, 이 리스트 데이터 구조는 형제(sibling) 애플리케이션의 관계를 나타낸다.
액션 및 이벤트는 수행 및 동작할 요구 또는 이벤트에 관한 일부 정보의 전달로서 정의된다. 예시적인 액션은 어느 한 PIM(36)에 의해 애플리케이션을 시작(launch)하는 요구이며, 예시적인 이벤트는 시작된 다른 PIM과 관련된 애플리케이션에 라우팅되는 키보드 키 이벤트이다.
PIM들에 요구되는 인터페이스(44) 이외에, 도 3에 나타난 바와 같이, 예시적인 ALCU(34)는 PIM 설치 및 제거를 제어하기 위한 공용 API(46)를 갖는다. 또한, ALCU(34)는 라우팅 동작(operations)을 서비스하기 위해 공통 루틴을 제공하는 ALCU(34) 유틸리티를 위한 내부 API(48)를 포함한다.
이와 같이, ALCU(34) 기본 아키텍처는 PIM들을 접속하는 공통 수단, PIM 접속을 제어하는 인터페이스, 및 ALCU(34)와 PIM들 양측에 의해 사용될 수 있는 공통 유틸리티 인터페이스(50)를 제공한다. 각 PIM은 ALCU(34)를 통해 다른 PIM에 라우팅되는 액션을 발행할 수 있다. ALCU(34)는 PIM으로부터 이벤트를 수신하고, 이를 이벤트 큐에 추가한다. 이벤트 큐상의 각 아이템은 연속적으로 처리되어 타겟 PIM에 발송된다. 시스템내의 모든 함수 호출마다 메시지를 처리하기 보다는, 라우팅 시스템의 오버헤드를 낮게 유지하기 위해 메시지 패싱을 PIM 단위로 수행하는 것이 유리하다. 많은 PIM들의 브로드캐스트 이벤트는 관심있는 각각의 이벤트 타입을 수신하기 위해 각각의 PIM이 콜백 핸들러(callback handler)를 등록함으로써 취급될 수 있다.
ALCU(34) 이벤트 큐는 ALCU(34)가 모든 시스템 이벤트를 처리하기 위한 코어 데이터 아키텍처이다. 이벤트 큐는 가장 높은 우선순위의 이벤트가 납기 마감을 맞추기 위해 첫번째로 처리되는 우선순위 큐, 또는 선착순으로 제공되는 FIFO 큐와 같이 단순하게 구현될 수 있다. 라우팅 메카니즘의 복잡성은 제품 제공에 맞추어질 수 있다.
ALCU(34) 이벤트 포맷은 비트로 채워진 무부호 정수(bit packed unsigned integer)를 통해 특정될 수 있다. 정수는 모듈 ID, 이벤트 타입, 서브이벤트 타입 및 하나 이상의 이벤트 플래그를 포함할 수 있다. 모듈 ID는 이벤트의 소스 PIM을 표시하는 반면, 이벤트 타입은 전송중인 것을 특정한다. 서브이벤트 타입 및 이벤트 플래그는 파라미터 및 한정자(qualifier)가 이벤트에 추가되게 한다.
전체 이벤트가 시스템을 전반에 정의되어 있지만, 이벤트 및 서브이벤트의 조합은 ALCU(34)에 요구에 따라 라우팅 입도(routing granularity)를 맞춤 조정하기 위한 융통성(flexibility)을 제공한다. 이벤트를 수신하기 위해, 각 PIM은 수신하고 싶은 이벤트 및 서브이벤트를 이벤트 핸들러에 등록한다. 그러면, ALCU(34)는 이벤트를 이들 이벤트가 등록된 이벤트 핸들러들로 라우팅시키거나, 이들 이벤트가 등록된 서브이벤트 핸들러로 라우팅하여, 불필요한 브로드캐스팅 또는 멀티캐스팅 메시지를 방지한다.
각 PIM은 기본 PIM 인터페이스로부터 파생된 것으로, 이 파생된 클래스에 의해 구현되는 다수의 순수 가상 메소드(pure virtual method)을 갖C++ 추상 클래스(abstract class)일 수 있다. 각 PIM은 설치, 제거, 초기화 및 그 자신의 셧다운을 지원할 수 있다. 각 PIM은 애플리케이션 시작, 시스템 이벤트 또는 키 이벤트를 수신하기 위한 엔트리 포인트를 갖는다.
기능에 따라 좌우되는 PIM은 모든 이벤트 타입을 처리하지 않을 수도 있다. 예를 들면, 원격 제어로부터 키 입력을 수신하는 특징을 제공하는 PIM은 애플리케이션 시작 요구가 수신되는 경우 경고 또는 에러를 발행할 수 있다.
ALCU(34) 공용 인터페이스(46)는 ALCU(34) 내부에 액세스하기 위한 시스템 모듈용 "C" 인터페이스일 수도 있다. 공용 인터페이스는 PIM들을 설치하고 제거하며, ALCU(34)를 인스턴스화하기 위해 시스템 상태 스테이터스를 구하고, 애플리케이션 모, 자 및 형제(sibling) 관계를 구하는 ALCU(34) 이벤트 큐의 전반적인 제어를 제공한다.
ALCU(34) 유틸리티 인터페이스(50)는 ALCU(34)와 PIM들 양측이 사용할 수 있는 유틸리티와 인터페이스한다. 이들 유틸리티는 액티브 애플리케이션 ID를 리턴시키고, 시스템 상태를 질문하며, PIM 동작을 특정하는데 필요한 콜백(callback)을 추가/제거하는 도움 함수이다. ALCU(34) 유틸리티 인터페이스(50)는 또한 ALCU(34) 기본 유닛에 시스템 플랫폼을 액세스하기 위한 추상화 계층을 제공하여, 시스템 플랫폼의 세부사항이 이벤트 라우팅의 메카니즘인, ALCU(34) 기본 유닛 부분으로부터 추상화될 수 있다.
상술한 아키텍처가 어떻게 기능하는지에 대한 일례로서, 도 4를 참조하고, "키 이벤트"가 원격 제어(24)상의 키를 조작하는 사용자에 의해 생성된다고 가정한다. 키 이벤트는 TV 프로세서에 의해 검출되고 단독 기능이 ALCU에 명령 수신("키 이벤트")을 알릴 수 있는 PIM(52)을 통해 ALCU(34)에 전달된다. 키 이벤트는 ALCU(34)내의 이벤트 큐(54)에 추가된다. 이벤트 큐(54)는 선착순일 수 있다. 큐내의 이벤트들은 제거되고 키 이벤트에 대한 콜백(callback)을 등록한 다른 PIM(56)에 라우팅된다. 포커싱 핸들링은 아키텍처의 조직을 통해 중재될 수도 있다.
예를 들면, 키 이벤트 PIM 이외에도, PIM은 해당 PIM과 사용중인 특정 모델 라인용 다른 PIM들과의 상호작용을 정의하는 제품-특정 브라우저 PIM부(58)와, 웹 브라우저 기능을 제공하는 모든 모델 라인에 걸쳐서 공통인 브라우저 기능부(60)를 포함할 수 있다. 이러한 PIM은 일부 제품 라인에서 키 이벤트 PIM으로부터 "키 이벤트"를 수신하도록 등록할 수 있지만, 다른 제품 라인에서는, 제공하려 하는 특징의 혼합 및 특정 제품 라인의 설계에 따라 그렇지 않을 수 있다.
브라우저 PIM(58)과 같은 다른 PIM이 원격 제어(24)에 의해 트리거된 "키 이벤트"를 수신하도록 등록하는 경우에, 키 이벤트는 프레임 워크가 현재 TV에 집중되어 있는 애플리케이션이 어느 것인지를 판정할 수 있는, ALCU(34) 유틸리티를 통해 필터링될 수도 있다. 이는 PIM이 키 입력을 확인할 수 있게 하고, 또한 핫-키 지원(hot-key support)을 허용하여 PIM 모듈내의 시스템 동작을 분리할 수 있게 한다. ALCU(34)는 액티브 애플리케이션을 알아낼 수 있음은 물론 애플리케이션들간의 모자 관계를 알아낼 수 있다. 모(parent) 애플리케이션은 다수의 자(child) 애플리케이션을 가질 수 있다.
다수의 TV 모델 라인에 단일 브라우저 PIM을 제공할 수 있는 것이 유리하지만, 브라우저 모듈은 특정 모델 라인에 대한 원하는 높은 또는 낮은 능력으로 조정될 수 있는데, 이는 모델 라인들 중 한 라인에서는 일부 이벤트들 그리고 다른 모델 라인에서는 다른 또는 더 적은 이벤트에 대한 이벤트 핸들러를 등록함으로써, 각 PIM이 모델 라인 단위로 시스템 동작을 정의하도록 프로그램될 수 있기 때문이라는 것을 이해할 수 있다. 일단 PIM들이 ALCU(34)로부터 라우트된 이벤트들을 수신하면, 이벤트들은 추가적으로 PIM에서 관련 모듈 동작/함수 호출로 변환된다.
상이한 제품에 대해 단일 코드 베이스내에서 특징 PIM을 용이하게 부가하거나 제거하는 것을 추가적으로 촉진하기 위해, 상술한 아키텍처는 전술한 인터페이스 및 기능을 이용하여 PIM들을 "플러그 가능하게"(pluggable) 할 수 있다. 예를 들면, 브라우저 PIM은 전체적인 시스템 아키텍처에 영향없이 대체될 수 있다. 이를 위해, 웹 브라우저 PIM은 브라우저 PIM으로부터 호출될 수 있는 PIM의 공용 함수를 정의하는 공용 인터페이스를 갖는다. ALCU(34)가 브라우저 PIM를 호출할 때마다, 브라우저 PIM은 호출을 변환하고나서 PIM의 공용 함수를 불러온다. 이러한 방식으로, 브라우저 PIM을 부가, 제거 및 대체함으로써, 상이한 브라우저 PIM들을 사용해도 시스템 아키텍처에 영향을 미치지 않을 수 있다.
도 5는 제품 특정 브라우저 PIM(58)이 특정 "키 이벤트"로 표시될 수 있는 애플리케이션 시작 이벤트, 애플리케이션 재개(resume) 이벤트, 애플리케이션 유보(suspend) 이벤트, 애플리케이션 종료(terminate) 이벤트를 포함하는 애플리케이션 액션 이벤트를 브라우저 PIM(58)과 관련되고, 상기 하자면, 모든 모델 라인에 공통인 브라우저 API(60)에 의해 예측되는 호출로 변환한다. 예를 들어, 브라우저 PIM(58)이 모델 라인에 특정된 애플리케이션 시작 이벤트를 수신하는 경우, 브라우저 API(60)의 공용 함수를 불러와서 선택된 브라우저 윈도우를 보여준다. 브라우저 PIM(58)이 애플리케이션 종료 이벤트를 나타내는 키 이벤트를 수신하는 경우, 브라우저 API(60)를 호출하여 윈도우를 클로즈한다. 브라우저 PIM(58)은 또한 도 5에 표시된 바와 같이, 물론 키 포맷 변환을 수행한다.
따라서, 브라우저 PIM(58)은 ALCU(34)로부터 수신되는 본래의(raw) 키 입력을 브라우저가 요구하는 키 포맷으로 변환한다. 브라우저 PIM(58)은 또한 네트워크 이벤트를 특정 브라우저 이벤트로 변환한다. 상이한 브라우저를 이용한다는 것은 새로운 브라우저의 호출 세트에 요구되는 변환을 다루는 새로운 PIM을 생성한다는 것을 의미한다. 도 5에 나타난 브라우저 PIM(58)과 브라우저 API(60) 양측 모두 API(60)가 구성되어 있는 특정 브라우저의 기능을 제공하는 단일 PIM으로서 고려될 수 있다.
모듈러 그래픽 PIM(62)가 또한 제공될 수도 있으며, 도 6에 "X2"로 표시되어 있다. 본질적으로, 브라우저(60)와 그래픽 PIM(62)와 관련된 그래픽 렌더러(64)는, 도 6에 나타난 바와 같이, 그래픽 렌더링 에이전트이며, 각각이 독립적으로 디스플레이(12)상에서 프리젠테이션용 그래픽을 렌더링할 수 있다. 그래픽 매니져 PIM(66)은 그래픽 렌더러(64) 및 브라우저 API(60)의 각각의 출력(68, 70)을 최종 스크린 디스플레이에 합성하는 것을 조정하기 위해 제공된다. 그래픽 렌더러(64)는 2D 또는 3D 렌더러일 수도 있으며 OpenGL을 지원할 수 있다.
본원의 플러그-인 아키텍처로 인해, 각각의 PIM이 제품에 특정되는 애플리케이션간 시작 판정을 포함하는 PIM 레벨에서 상호작용을 근본적으로 정의할 수 있음으로써 상술한 바와 같이 상이한 모델 라인에 대해 잠재적으로 편의상 맞춤 조정됨으로써, 시스템 통합 시간이 기존의 시스템에 비해 현저하게 감소된다는 것을 이해할 수 있을 수 있다. 다수의 개별 PIM은 짧은 시간에 새로운 시스템내에 구축될 수 있다. 소프트웨어 재사용성을 향상시킴으로써, 최종 소프트웨어의 안정성은 향상되고, 소프트웨어 유지 보수에 필요한 인적자원도 물론 감소된다. PIM들이 인터넷으로부터 다운로드될 수 있기 때문에, 본원의 원리가 결합된 TV는 시간이 흘러도 새로운 특징을 추가할 수 있다.
상술한 PIM들에 부가하여, 비제한적인 예로서, 다음 특징에 대한 PIM들이 제공될 수도 있다: 인터넷 검색, 인터넷 비디오, 위치기반 서비스, 맵, 전화통신방법(telephony), 통신, 커뮤니티 포토 서비스 업로드/다운로드(예를 들면, Flickr), 지불, 정보 오버레이(예를 들면, 내 페이지(My Page)), 브로드캐스트 동기화 오버레이, 컴퓨터 게임, 진단 루틴(diagnostics), EPG, DVR. 또한, 포토/뮤직/비디오 공유 PIM들, DLNA PIM, 예를 들어, 블루투스 등을 통해 전화기로부터 TV로 데이터를 푸쉬(push)할 수 있는 "푸시(push)" PIM을 포함하는 홈 네트워킹 PIM을 제공할 수도 있다.
크로스-미디어 바 PIM, 즐겨찾기(Favorites) PIM, 디바이스 통합 PIM을 포함하는 3D GUI PIM들이 또한 제공될 수도 있다.
각 PIM은 모델 라인에 따라 임의 호출을 등록하므로, 애플리케이션 시작이 수신되면, PIM은 애플리케이션 시작 판정을 한다는 것을 상기하라. 만일 리턴된 값이 거짓이라면, PIM은 관련 애플리케이션을 시작하지 않는다. 또한, 어느 한 모델 라인에서의 애플리케이션은 사용자가 선택할 때까지 다른 애플리케이션이 시작하는 것을 차단할 수 있는 반면, 다른 모델 라인에서는, 그 애플리케이션은 다른 애플리케이션들을 차단하지 않을 수도 있다.
PIM이 모델 라인에 대한 적절한 호출을 등록할 수 있게 프로그래밍하고 그 PIM이 특정 라인을 원하는 애플리케이션 시작 판정을 하도록 프로그래밍함으로써 특정 모델 라인에 대해 각각이 PIM들이 조정될 수 있기 때문에, 각 라인마다 동작이 각기 다른 다수의 모델 라인에 동일 PIM을 사용할 수 있다.
예를 들면, 최고급 모델 라인은 제품 고유의 사용자 인터페이스, 네트워킹 및 브라우저 사용자 인터페이스의 특징을 제공하기를 원할 수도 있으며, 그럴 경우에, 네이티브 UI를 나타내는 PIM, HD 월드, 디지털 비디오 레코더, DLNA(digital living network alliance) 등과 같은 특징을 나타내는 하나 이상의 네트워킹 PIM이 ALCU에 플러그될 수도 있다.
한편, 다음으로 낮은 모델 라인은 웹 브라우저 UI(예를 들면, 셋업용 로컬 페이지) 및 네트워킹을 제공하도록 설계될 수도 있으며, 그럴 경우에 DLNA, EPG 및 홈 보안 특징을 제공하는 PIM이 ALCU에 플러그될 수 있다. 그 다음으로 낮은 모델 라인은 네이티브 UI 및 네트워킹을 제공하도록 설계될 수도 있으며, DVR, 블루투스 전화기 및 원격 제어 능력을 제공하는 PIM은 ALCU에 플러그될 수 있다. 그 다음으로 낮은 모델 라인은 네트워킹 지원없이 네이티브 UI를 제공하도록 설계될 수도 있으며, 그럴 경우에, 블루레이 DVD PIM 및 블루투스 전화기 PIM이 ALCU에 플러그될 수도 있다. 가장 낮은 모델 라인은 확장된 어떠한 UI도 없이 TV 접속만을 제공하도록 설계될 수도 있으며, 그럴 경우에, 무선 A/V 접속 PIM 및 원격 제어 PIM만이 제공될 수 있다.
TV용으로 설명된 예시적인 비제한적인 아키텍처인 특정 모듈러 플랙서블 소프트웨어 아키텍처가 본 명세서에 도시되고 상세히 설명되었지만, 본 발명에 의해 포함되는 요지는 청구항에 의해서만 제한된다는 것을 이해하여야 한다.

Claims (15)

  1. 디스플레이 시스템으로서,
    비디오 디스플레이(12);
    소프트웨어로 구현되는 TV 특징 아키텍처를 구현하며, ALCU(application logic coordination unit)(34)를 포함하는 프로세서 회로(20); 및
    상기 ALCU(34)와 통신하며, 각각이 원하는 TV 시스템 특징을 나타내는 복수의 플러그-인 모듈(PIM)(36)을 포함하며,
    상기 ALCU(34)는 PIM들간에서 정보를 라우팅하고, 상기 ALCU(34)에 새로운 PIM들이 부가되어 상기 ALCU(34)와 통신하는 PIM들과 협동할 수 있고, 이벤트들이 시스템 전반에 정의되어 있고, 각각의 PIM은 상기 PIM이 수신하기를 원하는 이벤트들을 적어도 하나의 각자 이벤트 핸들러에 등록하고, 상기 ALCU(34)는 이어서 어느 이벤트들을 이벤트 핸들러들에 의해 제공되는 원하는 이벤트들의 표시(indication)에 기초하여 어느 이벤트 핸들러들로 라우트할지를 결정하는, 디스플레이 시스템.
  2. 제1항에 있어서,
    제1 특징을 제공하는 PIM(36)은 제1 모델 라인에서의 제1 애플리케이션 시작 판정을 구현하고, 상기 제1 특징을 제공하는 PIM(36)은 제2 모델 라인에서의 제2 애플리케이션 시작 판정을 구현하며, 상기 제2 애플리케이션 시작 판정은 제1 애플리케이션 시작 판정과는 상이한, 디스플레이 시스템.
  3. 제1항에 있어서,
    제1 특징을 제공하는 PIM(36)은 제1 모델 라인에서의 제1 이벤트를 등록하고 상기 제1 특징을 제공하는 PIM은 제2 모델 라인에서의 제2 이벤트를 등록하며, 상기 제2 이벤트는 상기 제1 이벤트와는 상이한, 디스플레이 시스템.
  4. 제1항에 있어서,
    PIM간 상호작용은 제품에 특정되는 PIM 레벨로 정의되는, 디스플레이 시스템.
  5. 제1항에 있어서,
    각 PIM(36)은 특정 모델 라인에 고유한 인터페이스 코드; 및
    상기 PIM을 사용하려고 하는 모든 모델 라인에 걸쳐서 공통인 특징 코드를 포함하는, 디스플레이 시스템.
  6. 제5항에 있어서,
    상기 인터페이스 코드는 ALCU(34)를 통해 수신된 다른 PIM들로부터의 호출을 상기 특징 코드가 이해하는 호출로 변환하는, 디스플레이 시스템.
  7. 제1항에 있어서,
    상기 ALCU(34)는 공용 인터페이스, 유틸리티 인터페이스 및 PIM 인터페이스를 포함하는, 디스플레이 시스템.
  8. 제1 및 제2 TV 시스템 모델 라인에 양측 모델 라인에 공통인 ALCU(34)를 제공하는 단계; 및
    상기 ALCU(34)와 통신하도록 구성된 복수의 플러그-인 모듈(PIM)(36)을 제공하는 단계를 포함하며, 각각의 PIM(36)은 원하는 TV 시스템 특징을 나타내고, 상기 ALCU(34)는 상기 PIM들 간에 정보를 라우팅하고, 상기 제1 모델 라인에서의 한 세트의 PIM은 상기 제2 모델 라인에서의 한 세트의 PIM과 상이하고, 제1 특징을 제공하는 PIM(36)은 제1 모델 라인에서의 제1 애플리케이션 시작 판정을 구현하고 상기 제1 특징을 제공하는 PIM은 제2 모델 라인에서의 제2 애플리케이션 시작 판정을 구현하며, 상기 제2 애플리케이션 시작 판정은 상기 제1 애플리케이션 시작 판정과는 상이한, 방법.
  9. 제8항에 있어서,
    TV가 팔린 후 TV에 상기 PIM(36)에 의해 표현되는 특징을 제공하기 위해 상기 제1 모델 라인의 TV로 새로운 PIM(36)을 다운로딩하는 단계 -상기 TV는 상기 PIM을 다운로딩하기 전에는 상기 특징을 가지고 있지 않음- 를 더 포함하는, 방법.
  10. 제8항에 있어서,
    제1 특징을 제공하는 PIM(36)은 제1 모델 라인에서의 제1 이벤트를 등록하고, 상기 제1 특징을 제공하는 PIM은 제2 모델 라인에서의 제2 이벤트를 등록하며, 상기 제2 이벤트는 상기 제1 이벤트와는 상이한, 방법.
  11. 제8항에 있어서,
    PIM간 상호작용은 제품에 특정되는 PIM 레벨로 정의되는, 방법.
  12. 제8항에 있어서,
    각 PIM(36)은 특정 모델 라인에 고유한 인터페이스 코드; 및
    상기 PIM을 사용하려고 하는 모든 모델 라인에 걸쳐서 공통인 특징 코드를 포함하는, 방법.
  13. 제12항에 있어서,
    상기 인터페이스 코드는 상기 ALCU(34)를 통해 수신된 다른 PIM들로부터의 호출을 상기 특징 코드가 이해하는 호출로 변환하는, 방법.
  14. 제8항에 있어서,
    상기 ALCU(34)는 공용 인터페이스, 유틸리티 인터페이스 및 PIM 인터페이스를 포함하는, 방법.
  15. 제1항에 있어서,
    적어도 제1 PIM은 일부 제품 라인에서 제2 PIM으로부터 미리정해진 이벤트를 수신하도록 등록하지만, 다른 제품 라인에 대해서는 등록하지 않는, 방법.
KR1020117007688A 2008-09-03 2009-08-20 Tv용 모듈러 플렉서블 소프트웨어 아키텍처 KR101254406B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US19098908P 2008-09-03 2008-09-03
US61/190,989 2008-09-03
US12/274,702 2008-11-20
US12/274,702 US8339514B2 (en) 2008-09-03 2008-11-20 Modular flexible software architecture for TV
PCT/US2009/054433 WO2010027687A1 (en) 2008-09-03 2009-08-20 Modular flexible software architecture for tv

Publications (2)

Publication Number Publication Date
KR20110065494A true KR20110065494A (ko) 2011-06-15
KR101254406B1 KR101254406B1 (ko) 2013-04-15

Family

ID=41726977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117007688A KR101254406B1 (ko) 2008-09-03 2009-08-20 Tv용 모듈러 플렉서블 소프트웨어 아키텍처

Country Status (8)

Country Link
US (1) US8339514B2 (ko)
EP (1) EP2321732B1 (ko)
JP (1) JP2012502357A (ko)
KR (1) KR101254406B1 (ko)
CN (1) CN102144224A (ko)
CA (1) CA2736003A1 (ko)
MX (1) MX2011002225A (ko)
WO (1) WO2010027687A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100350A1 (en) 2011-12-28 2013-07-04 Samsung Electronics Co., Ltd. Image processing apparatus, upgrade apparatus, display system including the same, and control method thereof
EP2620865A3 (en) * 2012-01-27 2016-08-24 Samsung Electronics Co., Ltd. Display apparatus and control method thereof
CN104767951A (zh) * 2014-11-08 2015-07-08 晶晨半导体(上海)有限公司 分离式电视
CN111177071B (zh) * 2019-12-12 2023-07-07 广州地理研究所 Flickr平台的图片下载方法及装置
CN113473098B (zh) * 2021-08-20 2023-03-24 Vidaa(荷兰)国际控股有限公司 显示设备及显示方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367571A (en) 1992-12-02 1994-11-22 Scientific-Atlanta, Inc. Subscriber terminal with plug in expansion card
US5440632A (en) 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
US6151077A (en) * 1994-12-22 2000-11-21 U.S. Philips Corporation Interface system for a television receiver
US5787259A (en) * 1996-03-29 1998-07-28 Microsoft Corporation Digital interconnects of a PC with consumer electronics devices
US6138271A (en) * 1996-06-26 2000-10-24 Rockwell Technologies, Llc Operating system for embedded computers
KR100225037B1 (ko) * 1996-12-23 1999-10-15 구자홍 모듈티브이와 모듈티브이 제어 방법
US7295752B1 (en) * 1997-08-14 2007-11-13 Virage, Inc. Video cataloger system with audio track extraction
US6052750A (en) * 1998-01-06 2000-04-18 Sony Corporation Of Japan Home audio/video network for generating default control parameters for devices coupled to the network, and replacing updated control parameters therewith
US6654931B1 (en) * 1998-01-27 2003-11-25 At&T Corp. Systems and methods for playing, browsing and interacting with MPEG-4 coded audio-visual objects
TR200101580T2 (tr) * 1998-12-02 2001-11-21 Swisscom Mobile Ag Programa eşlik eden verileri almaya ve işlemeye yarayan seyyar aygıt ve yöntem.
US6272575B1 (en) * 1999-02-26 2001-08-07 Lucent Technologies Inc. Modular digital assistant
US6363434B1 (en) * 1999-03-30 2002-03-26 Sony Corporation Of Japan Method of managing resources within a network of consumer electronic devices
US6469742B1 (en) * 1999-04-12 2002-10-22 Koninklijke Philips Electronics N.V. Consumer electronic devices with adaptable upgrade capability
US7231411B1 (en) * 1999-09-15 2007-06-12 Koninklijke Philips Electronics N.V. Removable card system with downloadable agent for communicating with a digital television receiver or other host device
US6785903B1 (en) 2000-04-05 2004-08-31 K Tech Telecommunications, Inc. Digital television translator with PSIP update
US20020078262A1 (en) * 2000-12-14 2002-06-20 Curl Corporation System and methods for providing compatibility across multiple versions of a software system
KR100377361B1 (ko) * 2001-02-27 2003-03-26 삼성전자주식회사 모듈 및/또는 모듈 기능의 선택에 대한 식별음을 제공하는모듈라 텔레비젼
US6941559B2 (en) * 2001-02-28 2005-09-06 Sharp Laboratories Of America Software bus and interface for digital television application software environments
US7859601B2 (en) * 2001-04-12 2010-12-28 Sony Corporation Signal processing device, housing rack, and connector
US7814516B2 (en) * 2001-05-03 2010-10-12 Mitsubishi Digital Electronics America, Inc. Control system and user interface for network of input devices
US20030050983A1 (en) * 2001-09-12 2003-03-13 Johnson Paul A. External event processor system and method
US7451460B2 (en) * 2001-11-15 2008-11-11 General Instrument Corporation Programming interface for configuring a television settop terminal
JP3596770B2 (ja) * 2001-12-28 2004-12-02 ソニー株式会社 記憶装置、データ処理装置およびデータ処理方法、プログラムおよび記録媒体、並びにデータ処理システム
JP4057832B2 (ja) * 2002-04-10 2008-03-05 シャープ株式会社 デジタルテレビ受信機のソフトウェアを更新するためのシステム
US20030233667A1 (en) * 2002-06-17 2003-12-18 Abs-Cbn Broadcasting Corporation Method and apparatus for implementing a scaled upgrading of an upgradeable set-top box
JP3942495B2 (ja) 2002-06-21 2007-07-11 株式会社ルネサステクノロジ 半導体装置
US20050062888A1 (en) * 2003-09-19 2005-03-24 Wood Anthony John Apparatus and method for presentation of portably-stored content on an high-definition display
US7523145B2 (en) * 2004-04-22 2009-04-21 Opentv, Inc. System for managing data in a distributed computing system
TWI252036B (en) * 2004-04-28 2006-03-21 Quanta Comp Inc Television
WO2005109885A2 (en) * 2004-04-30 2005-11-17 Vulcan Inc. Controlling content presentation
US7425992B2 (en) 2004-10-29 2008-09-16 Sharp Laboratories Of America, Inc. Method and apparatus for upgrading a television system
US7760908B2 (en) * 2005-03-31 2010-07-20 Honeywell International Inc. Event packaged video sequence
US20070091206A1 (en) * 2005-10-25 2007-04-26 Bloebaum L S Methods, systems and computer program products for accessing downloadable content associated with received broadcast content
US20070107019A1 (en) * 2005-11-07 2007-05-10 Pasquale Romano Methods and apparatuses for an integrated media device
US8756633B2 (en) * 2005-12-19 2014-06-17 At&T Intellectual Property I, L.P Methods, systems, and computer program products for selectively facilitating internet content and/or alerts on a television crawl screen, closed caption and/or picture-in-picture area
US9153125B2 (en) * 2005-12-20 2015-10-06 Savant Systems, Llc Programmable multimedia controller with programmable services
US8144266B2 (en) * 2007-02-27 2012-03-27 Sony Corporation Module system for permitting storage device interface with TV
US8134565B2 (en) * 2008-08-08 2012-03-13 Dell Products, Lp System, module and method of enabling a video interface within a limited resource enabled information handling system

Also Published As

Publication number Publication date
CA2736003A1 (en) 2010-03-11
WO2010027687A1 (en) 2010-03-11
WO2010027687A4 (en) 2010-05-27
US8339514B2 (en) 2012-12-25
US20100057968A1 (en) 2010-03-04
MX2011002225A (es) 2011-04-07
EP2321732B1 (en) 2014-10-29
JP2012502357A (ja) 2012-01-26
KR101254406B1 (ko) 2013-04-15
EP2321732A1 (en) 2011-05-18
EP2321732A4 (en) 2011-09-28
CN102144224A (zh) 2011-08-03

Similar Documents

Publication Publication Date Title
EP3032512B1 (en) Remote control framework
US9024734B2 (en) Remote control device, a far-end device, a multimedia system and a control method thereof
KR102310238B1 (ko) 전자 장치 및 그 어플리케이션 런칭 방법
US20020032754A1 (en) Method and apparatus for profiling in a distributed application environment
KR101254406B1 (ko) Tv용 모듈러 플렉서블 소프트웨어 아키텍처
JP5919301B2 (ja) 単一オペレーティングシステム上でスマートサービスとデジタルテレビサービスを提供するスマートセットトップボックス及びその駆動方法
EP2840813A1 (en) Service method and system using instance interface of virtualization object in internet of things environment
WO2011095038A1 (zh) 实现终端间资源共享的方法、资源处理系统及终端
US8880695B2 (en) Information processing apparatus and information processing method
KR20120129913A (ko) 최소한 하나의 센서, 액튜에이터 또는 이펙터를 soa네트웍에 접속하기 위한 접속 모듈
AU2019383041A1 (en) Techniques for managing generation and rendering of user interfaces on client devices
CN109068059A (zh) 一种调用相机的方法、移动终端及存储介质
CN113873279A (zh) 视频数据解码方法、系统和存储介质
CN113835928A (zh) 应用的备份和恢复方法、设备、存储介质和程序产品
KR101862840B1 (ko) 네트워크 내에서의 소프트웨어 애플리케이션의 원격 실행
CN109348256B (zh) 一种数据传输方法和服务器
CN102866567B (zh) 具有nfc的智能投影机及其控制方法
KR101443006B1 (ko) 로컬 장치의 공유 액세스
WO2005098645A2 (en) A method and apparatus for providing usb device support to an interactive system
US20080229324A1 (en) System and method for sharing e-service resource of digital home
CN114553952B (zh) 设备管理方法、装置、电子设备及存储介质
KR101464145B1 (ko) 컴퓨터 네트워크에서 사용자 가이드를 결정하기 위한 방법, 시스템, 서버, 클라이언트, 컴퓨터 프로그램 및 컴퓨터 프로그램 제품
CN115002232B (zh) 业务框架、数据处理方法、装置、设备及存储介质
CN116996551B (zh) 一种基于soa化中央网络控制器的车载服务控制系统及方法
CN110971938B (zh) 数据传输方法、装置及系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee