KR101193698B1 - 줌가능 사용자 인터페이스를 위한 클라이언트-서버아키텍처 및 방법 - Google Patents

줌가능 사용자 인터페이스를 위한 클라이언트-서버아키텍처 및 방법 Download PDF

Info

Publication number
KR101193698B1
KR101193698B1 KR1020077000132A KR20077000132A KR101193698B1 KR 101193698 B1 KR101193698 B1 KR 101193698B1 KR 1020077000132 A KR1020077000132 A KR 1020077000132A KR 20077000132 A KR20077000132 A KR 20077000132A KR 101193698 B1 KR101193698 B1 KR 101193698B1
Authority
KR
South Korea
Prior art keywords
data
user interface
mpeg
encoding
scene
Prior art date
Application number
KR1020077000132A
Other languages
English (en)
Other versions
KR20070027683A (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 KR20070027683A publication Critical patent/KR20070027683A/ko
Application granted granted Critical
Publication of KR101193698B1 publication Critical patent/KR101193698B1/ko

Links

Images

Classifications

    • 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
    • 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/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • 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
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4821End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time
    • 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
    • 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/854Content authoring
    • H04N21/8549Creating video summaries, e.g. movie trailer
    • 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
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 예시적인 실시예는 통신 네트워크, 예를 들어 케이블 네트워크 및/또는 대화형 텔레비전 네트워크에서 데이터를 전달 및 처리하는 방법 및 시스템을 제공한다. 서로 다른 데이터 스트림 및 인코딩 기술의 선택적인 사용으로 다양한 처리 기능을 갖는 복잡한 사용자 인터페이스가 생성될 수 있게 된다. MPEG 인코딩 기술은 사용자 요청에 대한 보다 양호한 응답 시간을 가능하게 해주기 위해 감소된 복잡도를 갖는다. 허버줌(hoverzooming) 등의 특수화된 사용자 인터페이스 기능이 가능하게 된다.
사용자 인터페이스, 허버줌, MPEG 인코딩, 데이터 스트림

Description

줌가능 사용자 인터페이스를 위한 클라이언트-서버 아키텍처 및 방법{CLIENT-SERVER ARCHITECTURES AND METHODS FOR ZOOMABLE USER INTERFACE}
관련 출원
본 출원은 2004년 6월 3일자로 출원된 발명의 명칭이 "PVR에서의 ZUI 아키텍처 규격(ZUI on PVR Architecture Specification)"인 미국 가특허 출원 제60/576,786호에 관한 것으로서 이를 우선권 주장하며, 이는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다.
본 발명은 예를 들어 가정에서의 복잡한 엔터테인먼트 사용자 인터페이스를 생성하기 위해 사용가능한, 통신 시스템, 예를 들어 대화형 텔레비전 시스템에서 노드들 간에 멀티미디어 데이터를 처리 및 전송하는 시스템 및 방법에 관한 것이다.
정보의 전달과 연관된 기술이 최근 수십년에 걸쳐 급속히 발전하였다. 텔레비전, 셀룰러 전화, 인터넷 및 광통신 기술(단지 몇가지만 열거함)이 결합하여 소비자들은 이용가능한 정보 및 엔터테인먼트 옵션들로 넘쳐나게 되었다. 텔레비전을 예로 들면, 최근 30년간 케이블 텔레비전 서비스, 위성 텔레비전 서비스, 유료 영화 및 주문형 비디오가 소개되었다. 1960년대의 텔레비전 시청자는 일반적으로 그의 텔레비전 세트를 통해 아마도 4개 또는 5개의 공중파 TV 채널을 수신할 수 있었던 반면, 오늘날의 TV 시청자는 수백 및 아마도 수천개의 채널의 프로그램 및 정보 중에서 선택할 기회를 가지고 있다. 현재 주로 호텔, 기타 등등에서 사용되는 주문형 기술은 수천개의 영화 타이틀 중에서의 가정내 엔터테인먼트 선택에 대한 가능성을 제공한다. 미국 캘리포니아주 95002 알비소 골드 스트리트 2160 소재의 TiVo, Inc. 등에 의해 제공되는 것 등의 DVR(digital video recording, 디지털 비디오 녹화) 장비는 이용가능한 선택을 추가적으로 확장한다.
기술적으로 그렇게 많은 정보 및 컨텐츠를 최종 사용자에게 제공할 수 있는 것은 시스템 설계자 및 서비스 제공자에게 기회와 도전 둘다를 제공한다. 한가지 도전은 최종 사용자가 일반적으로 선택할 것이 적은 것보다는 보다 많은 것을 선호하는 반면, 이러한 선호는 선택 프로세스가 빠르면서도 간단해야 한다는 그의 바램으로 상쇄된다. 안타깝게도, 최종 사용자가 미디어 항목에 액세스하는 데 사용하는 시스템 및 인터페이스의 발달의 결과, 선택 프로세스가 빠르지도 간단하지도 않게 되었다. 다시 텔레비전 프로그램의 예를 생각해보자. 텔레비전이 그의 초창기에 있을 때, 어느 프로그램을 볼 것인지를 결정하는 것은, 무엇보다도 선택할 것이 적었기 때문에, 비교적 간단한 프로세스이었다. 사람들은 예를 들어 (1) 근방의 텔레비전 채널, (2) 이들 채널 상으로 전송되는 프로그램, 및 (3) 날짜와 시간 간의 대응관계를 보여주는 일련의 열과 행의 형식으로 이루어진 인쇄된 안내문을 참조한다. 텔레비전은 튜너 노브(tuner nobe)를 조절함으로써 원하는 채널에 동조되었고, 시청자는 선택된 프로그램을 보았다. 이후에, 시청자가 멀리 떨어져서 텔레 비전을 동조시키리 수 있게 해주는 리모콘이 소개되었다. 사용자-텔레비전 인터페이스에의 이러한 추가로 "채널 서핑(channel surfing)"이라고 하는 현상이 생겨났으며, 이에 의해 시청자는 다수의 채널을 통해 방송되고 있는 짧은 부분들을 빠르게 보고서 임의의 주어진 시간에 어떤 프로그램이 이용가능한지를 신속하게 알 수 있었다.
채널의 수 및 볼 수 있는 컨텐츠의 양이 급격히 증가했다는 사실에도 불구하고, 일반적으로 이용가능한 사용자 인터페이스 및 제어 장치 옵션 그리고 텔레비전의 구조는 지난 30년간 그다지 변하지 않았다. 인쇄된 안내문이 여전히 프로그램 정보를 전달하는 가장 보편적인 메카니즘이다. 간단한 위 및 아래 화살표를 갖는 다중 버튼 리모콘이 여전히 가장 보편적인 채널/컨텐츠 선택 메카니즘이다. 이용가능한 미디어 컨텐츠의 증가에 대한 TV 사용자 인터페이스를 설계 및 구현하는 사람들의 대응은 기존의 선택 절차 및 인터페이스 객체의 단순한 확장이었다. 따라서, 더 많은 채널을 수용하기 위해 인쇄된 안내문에서의 행 및 열의 수가 증가되었다. 부가의 기능 및 컨텐츠 처리를 지원하기 위해 리모콘 장치 상의 버튼의 수가 증가되었다. 그렇지만, 이 방법은 시청자가 이용가능한 정보를 검토하는 데 요구되는 시간 및 선택을 구현하는 데 요구되는 동작의 복잡성 둘다를 상당히 증가시켰다. 논란의 여지가 있지만, 기존의 인터페이스의 번거로운 측면이 어떤 서비스, 예를 들어 주문형 비디오의 상업적 구현에 장애가 되었는데, 그 이유는 소비자가 이미 너무 느리고 복잡하다고 보고 있는 인터페이스에 복잡성을 추가하게 되는 새로운 서비스에 저항하기 때문이다.
미디어 항목을 편성, 선택 및 시작하는 줌가능 그래픽 사용자 인터페이스를 갖는 예시적인 제어 구조는 2004년 1월 30일자로 출원된 Frank A. Hunleth의 미국 특허 출원 제10/768,432호에 기술되어 있으며, 이는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다. 이 구조는 종래의 인터페이스의 상기한 문제점에 대한 예시적인 해결책을 제공한다. 그 중에서도 특히, 이러한 예시적인 구조는 사용하기 쉽지만 많은 수의 서로 다른 미디어 항목을 액세스가능하게 해줄 수 있는 방식으로 사용자에 의해 선택될 수 있는 미디어 항목과 연관된 메타데이터를 디스플레이하는 메카니즘을 제공한다. 이 특허 출원에 기술된 예시적인 구조의 한 특징은, 그 중에서도 특히, 사용자에 의해 현재 고려되고 있는 객체를 하이라이트하는 메카니즘으로서 인터페이스에 의해 디스플레이되는 서로 다른 의미론적 레벨의 미디어 객체 간의 시각적으로 정보를 주는 전환을 제공하는 줌의 사용이다.
이러한 유형의 향상된 사용자 인터페이스의 구현은 이들 인터페이스를 생성하는 데 사용되는 데이터의 처리 및 여러가지 소스로부터의 최종 사용자의 장치, 예를 들어 텔레비전으로의 전송에 관여하는 시스템 아키텍처 및 통신 노드에 의해 복잡하게 된다. 이하에서 보다 상세히 기술하게 되는 바와 같이, 이 데이터는 미디어 컨텐츠를 기술하는 소위 메타데이터를 포함한다. 용어 "메타데이터"는, 본 명세서에서 사용되는 바와 같이, 사용자에 의해 선택될 수 있는 미디어 항목과 연관된 관심의 특정 컨텐츠를 기술하는 보조 정보 모두를 말한다. 영화 객체에 대한 예로서, 메타데이터는 예를 들어 타이틀, 설명, 장르, 배역, DVD 커버 삽화, 가격/이용가능성, 배역 소개 및 출연 작품 목록, 유사한 영화로의 링크, 비평가의 평가, 사용자의 평가, 메타데이터 자체와 연관된 판권, 컨텐츠와 연관된 판권, 관심의 컨텐츠에 링크된 광고 메타데이터, 기타 등등을 포함할 수 있다. 이러한 향상된 사용자 인터페이스에 적합한 메타데이터를 포착, 처리, 합성 및 전달하는 예시적인 시스템이 2005년 1월 18일자로 출원된 발명의 명칭이 "메타데이터 중개 서버 및 방법(A Metadata Brokering Server and Method)"인 미국 특허 출원 제11/037,897호에 기술되어 있으며, 이는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다.
그렇지만, 일단 포착 및 처리되면, 데이터는 기능이 다양한 사용자 인터페이스(rich user interface)가 되도록 하기 위해 충분한 데이터가 공급될 수 있게 해주는 방식으로 예를 들어 시스템의 헤드엔드 부분으로부터 예를 들어 셋톱 박스로 전달될 필요가 있는 반면, 이와 동시에 시간 지연에 민감하고 레거시 하드웨어에 의해 부과되는 제약 내에서 동작할 필요가 있다. 따라서, 이들 상충하는 파라미터를 해결하고 향상된 사용자 인터페이스가 생성될 수 있게 해주는 아키텍처 및 방법을 제공하는 것이 바람직하다.
본 발명의 예시적인 실시예는 통신 네트워크, 예를 들어 케이블 네트워크 및/또는 대화형 텔레비전 네트워크에서 데이터를 전달 및 처리하는 방법 및 시스템을 제공한다. 서로 다른 데이터 스트림 및 인코딩 기술의 선택적인 사용으로 다양한 처리 기능을 갖는 복잡한 사용자 인터페이스가 클라이언트 장치 상에 생성될 수 있게 된다.
본 발명의 예시적인 실시예에 따르면, 케이블 통신 네트워크에서 업스트림 노드로부터 클라이언트 장치로 데이터를 전송하는 방법은 업스트림 노드로부터 클라이언트 장치로 전송될 데이터를 제1 데이터 또는 제2 데이터로서 선택적으로 식별하는 단계, MPEG 인코딩을 사용하여 제1 데이터를 인코딩하는 단계, MPEG 인코딩된 데이터를 MPEG 데이터 스트림을 통해 상기 클라이언트 장치로 전송하는 단계, MPEG 인코딩과 다른 제2 유형의 인코딩을 사용하여 제2 데이터를 인코딩하는 단계, 인코딩된 제2 데이터를 제2 데이터 스트림을 사용하여 클라이언트 장치로 전송하는 단계를 포함한다.
본 발명의 다른 예시적인 실시예에 따르면, 사용자 인터페이스 상에 허버줌 효과를 생성하는 방법은 배경 레이어 데이터 및 전경 레이어 데이터를 클라이언트 장치로 전송하는 단계, 배경 레이어를 디스플레이하는 단계, 허버줌 효과와 연관된 사용자 동작을 식별하는 단계, 및 상기 사용자 동작에 응답하여, 상기 배경 레이어 상에 오버레이로서 전경 레이어를 디스플레이하는 단계를 포함한다.
본 발명의 또 다른 예시적인 실시예에 따르면, 업스트림 노드로부터 클라이언트 장치로 전송될 데이터를 MPEG 인코딩하는 방법은 사용자 인터페이스에 관련된 움직임 벡터를 추정하는 단계, 움직임 벡터를 MPEG 인코더로 전송하는 단계, 및 이 추정된 움직임 벡터를 사용하여 전송될 데이터를 MPEG 인코딩하는 단계를 포함한다.
도 1a 및 도 1b는 본 발명에 따라 처리되는 데이터를 사용하여 생성될 수 있 는 허버줌(hoverzoom) 기능을 나타내는 사용자 인터페이스의 화면을 나타낸 도면.
도 2는 본 발명에 따라 처리되는 데이터를 사용하여 생성될 수 있는 사용자 인터페이스의 다른 화면을 나타낸 도면.
도 3은 예시적인 메타데이터 유형 및 소스를 나타낸 테이블.
도 4는 본 발명의 예시적인 실시예들에 따른 클라이언트-서버 아키텍처를 나타낸 도면.
도 5는 본 발명의 예시적인 실시예에 따른 도 4의 MPEG-2 전환 및 화면 인코더를 보다 상세히 나타낸 도면.
도 6은 본 발명의 예시적인 실시예에 따른 도 4의 화면 요청 프로세서를 보다 상세히 나타낸 도면.
도 7은 본 발명의 예시적인 실시예에 따른 도 4의 클라이언트 UI 상태 머신을 보다 상세히 나타낸 도면.
도 8은 본 발명의 예시적인 실시예에 따른 이벤트 프로세서, 장면 로더, 배타적 장면 및 오버레이 장면 간의 예시적인 메시징 상호 작용을 나타낸 도면.
도 9는 본 발명에 따른 아키텍처 및 방법과 연관된 예시적인 메시징 상호작용을 나타낸 도면.
도 10은 본 발명의 예시적인 실시예에 따른 허버줌 효과와 연관된 데이터를 인코딩하는 기술을 나타낸 도면.
도 11은 본 발명의 예시적인 실시예에 따른 클라이언트 장치로의 전송을 위한 데이터의 선택적 인코딩을 나타낸 도면.
첨부 도면은 본 발명의 예시적인 실시예를 나타낸 것이다.
본 발명의 이하의 상세한 설명은 첨부 도면을 참조한다. 서로 다른 도면에서 동일한 참조 번호는 동일 또는 유사한 구성요소를 식별해준다. 또한, 이하의 상세한 설명은 본 발명을 제한하지 않는다. 그 대신에, 본 발명은 첨부된 청구항들에 의해 정의된다.
이러한 설명을 위한 어떤 상황을 제공하기 위해, 본 발명의 예시적인 실시예들에 따라 서버로부터 클라이언트로 전달되는 데이터 및 명령어를 사용하여 생성될 수 있는 예시적인 사용자 인터페이스 화면이 도 1a 및 도 1b에 도시되어 있다. 이들 도면에서, 최종 사용자의 시스템(예를 들어, 셋톱 박스/텔레비전 또는 퍼스널 컴퓨터)으로 전송되는 정보에 기초하여 생성될 수 있는 예시적인 사용자 인터페이스 화면의 일부분은 10개의 미디어 선택 항목을 보여주고 있다. 이전의 화면 및 내비게이션 기술을 비롯하여 이러한 순전히 예시적인 인터페이스에 관한 더 많은 정보를 위해서는, 관심있는 사람은 상기 인용 문헌으로 포함된 미국 특허 출원 제10/768,432호를 참조하기 바란다. 이러한 사용자 인터페이스가 순전히 예시적인 것이며 본 발명에 따른 아키텍처 및 방법이 다른 인터페이스를 지원하도록 구현될 수 있다는 것을 잘 알 것이다.
도 1a는 이미지, 예를 들어 DVD 커버 삽화로서 선택가능한 복수의 미디어 객체를 갖는 사용자 인터페이스 화면을 나타낸 것이다. 도 1b에는, 사전 선택 동작의 결과로서, 예를 들어 사용자가 디스플레이 화면 상에서 커서(도시 생략)를 이 이미지 상으로 이동시킨 결과 영화 "아폴로 13"와 연관된 이미지가 확대되어 있다. 이 특징(허버줌 효과(hoverzoom effect)라고 하며 이하에서 "허버줌" 제목 하에서 상세히 기술됨)은 노드들, 예를 들어 본 발명의 예시적인 실시예들에 따른 헤드엔드와 셋톱 박스 사이에서 데이터(예를 들어, 메타데이터) 및 명령어를 전송함으로써 달성될 수 있다. 사용자 인터페이스의 하위 레벨에서는, 부가적인 데이터, 예를 들어 컨텐츠 제공자로부터 전달되는 메타데이터는 사용자 인터페이스 화면을 생성하는 데 사용될 수 있다. 예를 들어, 도 2에 도시한 바와 같이, 예를 들어 입력 장치(도시 생략) 상의 버튼을 누름으로써 이 확대된 이미지를 사용자가 선택하면 그 결과 부가적인 상세를 디스플레이하기 위해 추가적인 줌이 일어날 수 있다. 예를 들어, 그 중에서도 특히, 영화의 상영 시간, 가격 및 배우 정보를 비롯한 영화 "아폴로 13"에 관한 정보를 보여준다. 당업자라면 다른 유형의 정보가 여기에 제공될 수 있다는 것을 잘 알 것이다. 게다가, 이 GUI 화면은 예를 들어 영화를 예매하기 위한, 예고편을 보기 위한, 또는 이전의 GUI 화면으로 돌아가기 위한(이는 또한 입력 장치 상의 줌아웃(ZOOM OUT) 버튼을 누름으로써 달성될 수 있음) 버튼 컨트롤 객체를 비롯한 GUI 컨트롤 객체를 포함한다. 이하에 기술되는 방식으로 처리되는 메타데이터로부터 생성되는 하이퍼링크는 또한 사용자가 예를 들어 도 2의 GUI 화면의 오른쪽 아래 코너에서 식별되는 관련 영화와 연관된 GUI 화면 또는 이 영화에서의 배우들과 연관된 정보로 점프할 수 있게 해주기 위해 사용될 수 있다. 이 예에서, "출연 작품" 제목 아래에 있는 영화 타이틀의 일부 또는 그 전부는, 입력 장치를 통해 사용자에 의해 활성화될 때, GUI로 하여금 표시된 영화에 대한 도 2의 화면에 대응하는 GUI 화면을 디스플레이하게 하는 하이퍼링크로 구현될 수 있다. 도 1a, 도 1b 및 도 2의 인터페이스 화면을 생성하는 데 사용되는 정보의 일부 또는 그 전부는 본 발명의 예시적인 실시예들에 따라 하나 이상의 메타데이터 제공자에 의해 제공되고 처리되는 메타데이터로부터 나온 것이며, 이에 대해서 이제부터 설명한다.
도 1a, 도 1b 및 도 2에 도시된 인터페이스 화면은 순전히 예시적인 것이며 본 발명에 따라 전송되고 처리되는 메타데이터(및 기타 데이터)는 다른 인터페이스를 지원하기 위해 또는 인터페이스 생성 이외의 목적을 위해 사용될 수 있다. 이와 마찬가지로, 본 발명에 따르면 많은 다른 유형의 정보가 수신되고 처리될 수 있다. 예를 들어 TV 브라우저 인터페이스, 주문형 비디오(VOD) 인터페이스 또는 음악 브라우저에 대한 메타데이터 유형, 소스 및 연관된 사용의 일례가 도 3의 테이블에 나타내어져 있다. 이 상세한 설명에 대해 특히 관심을 끄는 것은 본 발명의 이들 예시적인 실시예에 따라 생성된 사용자 인터페이스와 연관된 줌 기능이다. 본 발명이 줌가능 사용자 인터페이스를 생성하는 기술 또는 시스템으로 제한되지 않지만, 본 명세서에 기술되는 클라이언트/서버 특징의 일부가 사용자 인터페이스 화면들 간의 줌잉 전환(zooming transition)을 포함하는 사용자 인터페이스와 관련하여 사용하는 것에 대해 특히 유익하다. 이 상세한 설명의 목적상, 용어 "줌", "줌가능" 및 "줌잉(zooming)"은 사용자 인터페이스 동작의 결과 사용자에게 일관성있고 정보를 주는 관점의 변화를 가져오는 사용자 인터페이스의 디스플레이된 부분에 변화가 일어나는 기술을 말한다. 줌잉은 일반적으로 객체 배율의 변화(예를 들 어, 카메라-방식 줌잉)를 포함하지만, 명확히 말하면 그에 한정되지 않는다. 예를 들어, 사용자 인터페이스에 따른 줌잉의 다른 측면은 배율과 독립적인 줌잉된 객체의 수정, 예를 들어 의미론적 줌 이전에 (임의의 레벨의 배율에서) 객체의 일부로서 존재하지 않는 텍스트 또는 그래픽을 객체에 부가하는 것을 포함하는 의미론적 줌잉(semantic zooming)이다. 줌가능 사용자 인터페이스에 관한 더 많은 정보를 위해서는, 관심있는 사람은 상기한 인용 문헌으로서 포함된 특허 출원을 참조하기 바란다.
상황으로서, 본 발명의 예시적인 실시예들에 따른 줌잉 전환의 한 예는 허버줌잉된 객체의 배율 변화 및 선택적으로 그 객체에 대한 의미론적 줌잉도 역시 수반하는 도 1a 및 도 1b의 사용자 인터페이스 화면 간의 줌잉 전환이다. 다른 예는 도 1b와 도 2의 사용자 인터페이스 화면 간의 전환에서 발견되며, 여기서 "아폴로 13"와 연관된 이미지는 그의 배율이 변경되고(예를 들어, 도 2에서 도 1b에 도시된 유사한 이미지에 대해 확대되어 있음) 도 2에서 사용하기 위해 변환되어 있다. 줌잉 전환을 애니메이션화하기 위해 패닝(panning) 효과도 역시 사용될 수 있다.
본 발명의 예시적인 실시예에 따른 데이터 처리 및 전송을 제공하는 일반적인 클라이언트-서버 아키텍처(40)가 도 4에 도시되어 있다. 동 도면에서, 사용자 인터페이스 서버(42)는 예를 들어 포인팅 장치(48)로부터의 입력과 관련하여 디스플레이 장치(46) 상에 사용자 인터페이스를 생성하기 위해 클라이언트 장치(44)와 통신한다. 사용자 인터페이스 서버(42)와 클라이언트 장치(44) 간의 데이터, 예를 들어 메타데이터 및 컨텐츠 데이터의 전달은 허브, 배포 서버, 기타 등등을 비롯하 여, 사용자 인터페이스 서버(42)와 클라이언트 장치(44) 간에 임의의 수의 중간 노드(도시 생략)를 필요로 한다. 게다가, 사용자 인터페이스 서버(42)의 일부로서 도시되어 있는 기능 요소의 일부 또는 그 전부는 이들 중간 노드 중 하나 이상 내에 위치할 수 있거나 시스템(40)의 헤드엔드에 존재할 수 있다. 디스플레이 장치(46)는 예를 들어 텔레비전, 컴퓨터 모니터/디스플레이, 또는 임의의 다른 디스플레이 장치일 수 있다. 클라이언트 장치(44)는 셋톱 박스, 퍼스널 컴퓨터, 또는 프로세싱 유닛을 포함하는 임의의 다른 장치로서 구현될 수 있다. 포인터(48)는 예를 들어 자유 공간 포인팅 장치, 마우스, 리모콘 장치, 트랙볼, 조이스틱, 또는 포인팅 기능을 제공할 수 있는 임의의 다른 장치일 수 있으며 또 유선 또는 무선으로 클라이언트 장치(44)에 연결될 수 있다.
본 발명의 이 예시적인 실시예에 따르면, 서버(42)는 전환 및 화면 포착기(transition and screen capture)(50), MPEG-2 전환 및 장면 인코더, MPEG 및 ZSD 캐쉬(54), 장면 요청 프로세서(56) 및 MPEG 스트림 송신기(58)를 포함하며, 이들 컴포넌트는 클라이언트 장치(44)로의 MPEG-2 데이터의 스트리밍을 발생 및 관리하고 또 클라이언트(44)로부터의 업스트림 요청을 수신하고 그에 응답하는 동작을 한다. 전환 및 화면 포착기(50)는 사용자 인터페이스를 생성하는 데 사용되는 장면 데이터의 수집을 자동화한다. 상위 레벨에서, 이것은 예를 들어 메타데이터 및 컨텐츠와 함께 전환 및 화면 포착기(50)에의 입력으로서 제공되는 장면 그래프를 통해 내비게이션하고 또 디스플레이 장치(46) 상에 디스플레이될 선택된 장면과 연관된 MPEG-2 클립 및 장면 설명 파일을 생성하기 위해 MPEG-2 전환 및 장면 인코 더(52)를 호출함으로써 달성될 수 있다. 본 발명의 예시적인 실시예들에 따른 장면 설명 파일 및 포맷과 연관된 상세한 정보(본 명세서에서 "ZSD 데이터"라고도 함)는 이하에서 "장면 설명 데이터 포맷" 제목 하에 제공되어 있다.
장면 그래프를 통한 내비게이션은 사용자 인터페이스에 의해 생성될 수 있는 여러가지 장면들과 연관된 데이터를 포착하고 처리하는 것을 수반한다. "장면"은 일반적으로, 이 용어가 본 명세서에서 사용되는 바와 같이, 컨텐츠 제공자가 예를 들어 그의 제공물과 연관된 메타데이터를 변경함에 따라 장면을 채우는 데 사용되는 데이터의 적어도 일부가 예를 들어 시간에 따라 변하게 되지만 본 발명에 따른 사용자 인터페이스의 복잡하고 동적인 속성에도 불구하고, 선험적으로 모두 알고 있는 사용자 인터페이스에 의해 생성될 수 있는 임의의 사용자 인터페이스 화면과 연관된 프레임워크를 말한다. 따라서, 도 1a, 도 1b 및 도 2가 사용자 인터페이스 화면의 단지 일부분만을 도시하고 있지만, 이들의 전체 화면 각각이 장면으로 생각된다. 이하의 표 1은 각각의 전환에 대해 수집될 수 있는 예시적인 데이터를 열거한 것이고 표 2는 각각의 장면에 대한 예시적인 데이터를 열거한 것이다.
필드 설명
장면 ID로부터 시작 장면의 장면 ID
장면 ID로 목적지 장면의 장면 ID
초점 명령 선택될 때 전환을 일으키는 인터페이스에서의 포커스를 아이콘, 버튼, 기타 등등으로 이동시키는 명령. 포커스 명령의 예는 마우스 포인터를 아이콘 상으로 이동시켜 그 아이콘이 포커싱되게 하는 것이다. 다른 포커스 명령은 허버줌 효과를 직접 활성화시킬 수 있다.
활성화 명령 이 명령은 "위치로부터(From Location)"부터 "위치로(To Location)"로의 전환을 시작하기 위해 아이콘, 버튼, 기타 등등을 활성화시킨다.
전환별 정보
필드 설명
장면 ID 이 장면의 장면 ID
위치 시작 장면의 인터페이스 위치 인스턴스
장면 설명 사용자 제공 설명 또는 자동적으로 생성된 설명
장면 정보
따라서, 전환 및 장면 포착기(50)는 예를 들어 전체 사용자 인터페이스 "유니버스(universe)"를 포함하는 도 4에 도시되어 있지 않은 데이터베이스로부터 사용자 인터페이스에서 모든 원하는 전환을 시뮬레이션하기 위해 필요한 모든 정보를 획득할 수 있다. 전환 및 장면 포착기(50)는 사용자가 장면 전환을 명령하는 인터페이스에의 입력을 발생할 때 활성 상태로 되는 내비게이터 제어기(navigator controller) 및 포착 제어기(capture controller) 컴포넌트를 포함한다. 상위 레벨에서, 내비게이션 제어기는 모든 전환 및 장면으로/로부터의 내비게이션을 맡고 있다. 예시적인 내비게이션 제어기는 이하의 동작을 수행한다, 즉 (1) 그 다음 전환을 획득한다, (2) "로부터(from)" 장면으로 내비게이션한다, (3) 이 전환에 대한 포커스 명령을 실행한다, (4) 포착 제어기에 장면 및 전환 정보를 통지한다, (5) 활성화 명령을 실행한다, (6) 애니메이션이 완료될 때 포착 제어기에 통지한다, (7) 포착 제어기에 (역전환을 위한) 반대로 된 장면 및 전환 정보를 통지한다, (8) goBack() 루틴을 호출한다, 및 (9) 애니메이션이 완료될 때 포착 제어기에 통지한다.
포착 제어기는 MPEG-2 전환 및 장면 인코더(52)와 통합하여 MPEG-2 클립 및 ZSD 파일을 생성한다. 포착 제어기는 전환이 시작되고 종료될 때 내비게이션 제어기로부터 통지를 수신하고 모든 애니메이션 단계에서 MPEG-2 전환 및 장면 인코더에 대한 루틴을 호출한다. 사용자에게 진행의 시각적 표시를 제공하기 위해, 포착 제어기는 캔버스가 여전히 가시적인 장면 그래프를 그 장면에 대해 페인팅하고 실행되는 전환의 퍼센트를 가리키는 텍스트 오버레이를 추가하도록 한다.
본 발명의 예시적인 실시예에 따른 MPEG-2 전환 및 장면 인코더(52)의 상세한 예가 도 5에 도시되어 있다. 원시 장면 데이터, 예를 들어 이미지, 텍스트, 메타데이터, 기타 등등은 전환 및 화면 포착기(50)로부터 전달되어 객체 추출 유닛(502), 클라이언트-렌더링된 특징 추출기(504) 및 비디오 정보 추출 유닛(506)으로 제공된다. 객체 추출 유닛(502)(사용자 인터페이스 화면 상의 사용자-상호작용가능 객체를 처리함) 및 클라이언트-렌더링된 특징 추출 유닛(504)(클라이언트 장치(44)에 의해 렌더링되는 특징인 예를 들어 허버줌 및 텍스트를 처리함)은, 렌더링-위치 제어기(508)의 제어 하에서, 원시 데이터 스트림으로부터 정보를 추출하고 그 정보를, 이하에서 상세히 기술하는 장면 설명 포맷을 사용하여 그 추출된 정보를 인코딩하는 ZSD 인코더(507)에 제공하는 동작을 한다. MPEG-2 데이터 캡슐화기(509)를 사용하여, MPEG 데이터 스트림 내에서 예를 들어 MPEG 프레임 내의 사적 데이터 필드의 일부로서, ZSD 인코딩된 데이터 중 아무것도 전송될 수 없거나, 그 일부 또는 그 전부가 전송될 수 있는 반면, 도 4와 관련하여 상기한 OOB 링크를 사용하여 다른 ZSD 인코딩된 데이터가 전송될 수 있다.
비디오 정보 추출 유닛(506)은, 다시 말하면 렌더링 위치 제어기(508)의 제어 하에서, MPEG-2 인코딩에 적합한 비디오 정보를 추출하는 동작을 한다. 렌더링 위치 제어기(508)가 특정의 데이터에 어느 유형의 인코딩을 적용할지, 이 예에서 MPEG 또는 ZSD 인코딩인지를 선택적으로 결정할 수 있는 것 및 그와 연관된 이점에 대해 도 11을 참조하여 이하에서 보다 상세히 기술한다.
본 명세서에서 사용되는 바와 같이, 용어 "MPEG 인코딩"은 MPEG-1, MPEG-2 및 유사한 인코딩에 대한 통칭이지만, 본 발명의 어떤 예시적인 실시예는 특히 MPEG-2 인코딩을 말한다. MPEG 인코딩 그 자체와 연관된 일반적인 상세는 당업자라면 잘 알고 있으며, 또한 초안 규격(예를 들어, ISO CD 11172)의 형태로 이용가능하다. 예시적인 MPEG-2 인코더(500)는 표준에 따라 MPEG-2 인코딩을 수행하는 동작을 하는 복수의 번호가 부기되지 않은 블록들(예외적인 것은 이하에서 보다 상세히 기술하는 움직임 추정 유닛(510)임)을 포함한다. MPEG 인코더(500)의 번호가 부기되지 않은 블록들에 대한 보다 상세한 설명을 제공하는 MPEG 인코더의 일례는 여러가지 MPEG-2 표준 문서, 예를 들어 ITU-T SG15.1(이후에 CCITT SG XV, Working Party XV/1, Experts Group on ATM Video Coding(ATM 비디오 코딩에 관한 전문가 그룹)라고 함)와 ISO/IEC JTC1/SC29 WG11(MPEG) 간의 합동 노력으로서 발전된 Test Model 5 문서들에서 찾아볼 수 있다. 구체적으로는, Test Model 5의 MPEG 버전은 MPEG 93/225b로 알려져 있고, Test Model 5의 ITU 버전은 AVC-445b로 알려져 있으며, 이들은 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다. MPEG 인코딩된 데이터는 클라이언트 장치(44)로의 차후의 전송을 위해 MPEG/ZSD 캐쉬 유닛(54)에 저장된다.
도 5에 도시된 예시적인 MPEG-2 전환 및 장면 인코더(52)와 관련하여 특히 관심을 끄는 것은 인코더 힌트 수집기(encoder hint collector)(512) 및 움직임 추정기(motion estimator)(510)이다. MPEG-2 전환 및 장면 인코더(52)에서의 MPEG-인코더(500)의 한 측면은 인코딩되는 MPEG 데이터의 상위 레벨의 압축을 빠르고 효율적으로 제공할 수 있다는 것이다. 그 중에서도 특히, 이것은 장면들 각각이 사용자 인터페이스에서 서로에 대해 어디에 위치하는지(이는 본 발명에 따른 예시적인 사용자 인터페이스에서 선험적으로 정의되어 있음)에 관한 지식을 사용하여 달성될 수 있다. 이것에 의해 표준의 MPEG 움직임 추정 알고리즘을 선택적으로 간단화시킬 수 있으며, 이는 차례로 MPEG 인코딩 프로세스의 속도를 증가시키고 및/또는 그에 전용되어야만 하는 처리 능력의 양을 감소시킨다. 보다 구체적으로는, MPEG 데이터 스트림 내의 순차적 MPEG 프레임들을 인코딩할 때, 인코딩을 수행하는 데 사용되는 정보의 일부는 어디에서 픽셀의 블록들이 한 MPEG 프레임으로부터 그 다음 MPEG 프레임으로(및/또는 이전의 MPEG 프레임으로부터 현재의 MPEG 프레임으로 역방향으로) 이동하였는지에 관한 정보이다. 예를 들어, 제1 MPEG 프레임에서의 픽셀 블록이 단지 제2 MPEG 프레임 내의 새로운 화면 위치로 이동된 경우, 일반적으로 그 픽셀 블록 전체를 다시 재인코딩하여 이를 전송하는 것보다는 그 픽셀 블록과 연관된 움직임 벡터를 구하여 전송하는 것이 보다 효율적이다. 이와 유사하게, 그 픽셀 블록이 (예를 들어 조명 효과를 통과함으로써) 비교적 균일한 컬러 차분을 경험하는 경우, 픽셀 블록 전체를 재전송하는 것보다 움직임 벡터 및 어떤 컬러 차분 정보를 제공하는 것이 여전히 효율적이다.
랜덤한 객체 이동에 대응하도록 예를 들어 모든 유형의 비디오 데이터 압축을 지원하기 위해, 표준 MPEG 움직임 추정 알고리즘은 어느 픽셀 블록이 프레임으로부터 프레임으로 이동되었는지를 판정하기 위해 픽셀 데이터 블록들에 대한 검색을 수행한다. 예를 들어, 전-픽셀 검색(full pel search)이라고 하는 어떤 검색들은 16x16 블록을 사용하는 반면, 반-픽셀 검색(half-pel search)이라고 하는 다른 것들은 16x8 블록을 사용한다. 이들 검색은 계산에 많은 비용이 들 수 있고, 고선명 비디오 데이터의 경우에 특히 그러하며, 또한 표준 MPEG 인코더(500)(예를 들어, 인코더 힌트 수집기(512)에 의해 유입되는 변형이 없음)에 의해 수행되는 동작들과 연관된 처리 시간/능력의 80%까지를 필요로 하는 것으로 추정된다. 따라서, 본 발명의 예시적인 실시예에 따르면, MPEG 인코딩과 연관된 움직임 추정은 이들 클라이언트/서버 아키텍처에 의해 생성되는 사용자 인터페이스가 객체의 랜덤한 이동을 수반하지 않는다는 사실을 사용하여 간단화된다. 예를 들어, 도 1b 및 도 2의 예시적인 사용자 인터페이스 화면들 간의 전환 시에, "아폴로 13"와 연관된 이미지는 디스플레이 화면 상의 제1 위치로부터 디스플레이 화면(선택적으로는 약간 확대됨) 상의 제2 위치로 이동하며, 이들 위치 둘다는 그로부터 MPEG 움직임 벡터를 계산할 수 있는 인코더 힌트 수집기(512)에 선험적으로 알려져 있다.
따라서, 인코더 힌트 수집기(512)는 표준 MPEG 기술에 따라 검색을 수행하기 보다는 전달된 움직임 벡터를 사용하여 MPEG 압축을 수행하는 명령과 함께 MPEG 움직임 벡터를 움직임 추정 유닛(510)으로 전달할 수 있다. 그렇지만, MPEG 움직임 벡터를 발생하기 위해 상호 관련된 사용자 인터페이스 화면에 대한 지식의 이러한 사용이 유효한 MPEG 움직임 벡터를 항상 발생할 수 있는 것은 아닐 수 있다(예를 들어, MPEG 움직임 벡터를 표현하기 위해 할당된 비트 수에 대한 제한 때문임). 따라서, 인코더 힌트 수집기(512)는 또한 프레임별로(또는 다른 방식으로) 움직임 벡터를 구하기 위해 움직임 추정 유닛(510)에 표준 MPEG 검색 알고리즘을 이용하도록 명령할 수 있다. (1) 전적으로 표준 MPEG 검색 알고리즘을 사용하여 발생되는 움직임 벡터를 사용하는 것 또는 (2) 표준 MPEG 검색 알고리즘을 사용하지 않고 전적으로 인코더 힌트 발생기(encoder hint generator)(512)에 의해 발생되는 움직임 벡터를 사용하는 것 이외에, 본 발명에 따라 구해질 수 있는 제3 카테고리의 움직임 벡터는 인코더 힌트 수집기(512)가 이용가능한 정보에 기초하여 범위가 제한되는 검색 범위를 갖는 표준 MPEG 검색 알고리즘에 의해 계산되는 움직임 벡터이다.
다시 도 4를 참조하면, 블록(50, 52)에 의해 발생되는 MPEG 데이터 및 장면 설명 데이터는 필요에 따라 장면 요청 프로세서(56)에 의한 검색을 위해 메모리 장치(54)에 캐싱될 수 있다. 장면 요청 프로세서(56)는 클라이언트(44)로부터의 장면에 대한 요청을 처리한다, 예를 들어 클라이언트 사용자 인터페이스 상태 머신(62)이 포인터(48)와 연관된 커서가 "아폴로 13"(도 1)와 연관된 이미지 상에 멈춰져 있다는 표시를 수신하는 경우, 허버줌 장면(hoverzoom scene)을 개시하도록 장면 요청 프로세서(56)로 요청이 다시 전송되거나(이하에서 기술함), 클라이언트 사용자 인터페이스 상태 머신(62)이 사용자가 "아폴로 13"(도 2)와 연관된 보다 상세한 장면을 보기를 원한다는 표시를 수신하는 경우, 그 장면을 개시하도록 장면 요청 프로세서(56)로 요청이 다시 전송된다. 장면 요청 프로세서(56)는 업스트림 요청에 응답하여 MPEG-2 전환 및 장면 설명 데이터를 다시 클라이언트(44)로 반환한다. 이하에서 보다 상세히 기술되는 예시적인 실시예들에 따르면, 어떤 업스트림 요청에 대해, 장면 요청 프로세서(56)는 MPEG 데이터, 장면 설명 데이터 또는 이 둘의 어떤 조합이 그 요청에 서비스하는 데 적합한지를 동적으로 판정할 수 있다. 장면 요청 프로세서(56)의 상세한 예는 도 6에 도시되어 있다.
동 도면에서, 클라이언트 요청 프로세서(600)는 예를 들어 클라이언트 요청을 번역하고 그 요청을 장면 요청 프로세서(56) 내의 적절한 컴포넌트들로 디스패치(dispatch)함으로써 모든 클라이언트 상호 작용을 조정한다. 예를 들어, 클라이언트 요청 프로세서는 클라이언트별로 상태 및 통계를 추적하고 이러한 정보를 데이터베이스(602)에 저장한다. 대역외(out-of-band, OOB) 클라이언트 통신 컴포넌트(604)는 연결 요청에 응답하는 것 및 프로토콜 요청을 추출하는 것을 비롯하여, OOB 채널을 통해 클라이언트와의 모든 통신을 처리한다. 비디오 재생 제어 기능(606)은 MPEG-2 스트림 발생 컴포넌트, 예를 들어 장면 루프 발생기(608) 및 전환 재생 기능(610)의 동작을 조정한다. 장면 루프 발생기(608) 컴포넌트는 사용자 인터페이스 장면을 발생하고 전환이 일어나지 않을 때 이를 전송한다. 전환 재생 기능(610)은 MPEG-2 전환 및 장면 인코더(52)에 의해 이전에 발생되었던 MPEG-2 전환 스트림을 (예를 들어, 캐쉬(54)를 통해) 로드하고 이를 요청된 클라이언트로 스트리밍한다. 전환 재생 기능(610)은 다수의 스트림에 동시에 서비스할 수 있다. MPEG-2 전송 스트림 캡슐화 유닛(612)은 적절한 경우 MPEG-2 전송 스트림을 갱신하고 그 스트림을, MPEG-2 전송 스트림 패킷을 하나로 그룹화하고 이를 UDP를 통해 IP로 또 MPEG 스트림 송신기(58) 내의 QAM 게이트웨이(도시 생략)로 전송하는 UDP 캡슐화 유닛(614)으로 전달한다.
다시 도 4를 참조하면, 서버 측에서의 MPEG 스트림 송신기(58) 및 클라이언트 측에서의 MPEG 스트림 수신기(64) 및 MPEG 디코더(66)는 양쪽 메타데이터, 예를 들어 도 2의 사용자 인터페이스 화면에 도시된 텍스트 필드를 채우는 데 사용되는 데이터 및 컨텐츠를 비디오 스트리밍 프로토콜 링크를 통해 전달하는 것을 가능하게 해준다. MPEG 송신기(58), 수신기(64) 및 디코더(66)는 상용 컴포넌트(off-the-shelf component)를 사용하여 구현될 수 있으며, 그에 따라 본 명세서에 상세히 기술하지 않는다. 그렇지만, 이들 구성요소는 물론 본 발명이 구현될 수 있는 다른 예시적인 대화형 텔레비전 시스템 아키텍처에 관한 더 많은 상세에 관심이 있는 사람은 Jerding 등의 미국 특허 제6,804,708호를 참조하기 바라며, 이 특허는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다. 온-스크린 디스플레이(on-screen display, OSD) 그래픽 제어기(68)는 클라이언트 상태 머신(62)으로부터의 데이터 장면 데이터 및 커서 제어기(69)로부터의 입력을 수신하여, 사용자 인터페이스에 대한 오버레이 그래픽 및 로컬 애니메이션을 발생한다, 예를 들어 전환을 줌잉한다. 디코더(66) 및 OSD 그래픽 제어기(68)로부터 각각 출력되는 MPEG 비디오 데이터 및 OSD 비디오 데이터는 비디오 합성기(70)에 의해 합성되어 사용자 인터페이스를 생성하기 위해 디스플레이 장치(46)로 전달된다. 상기한 바와 같이, 도 1a에 도시된 DVD 커버 삽화 이미지는 MPEG 비디오 데이터를 사용하여 생성되는 사용자 인터페이스 요소의 일례인 반면, 도 1b의 "아폴로 13" 이미지의 줌잉된 버전 및 도 1a의 사용자 인터페이스 화면의 우측 위 코너에 있는 원형 아이콘은 장면 설명 데이터를 사용하여 발생된 사용자 인터페이스 요소의 예이다.
본 발명의 예시적인 실시예에 대해 특히 관심있는 것은 클라이언트 사용자 인터페이스 상태 머신(62)이며, 그의 보다 상세한 예가 도 7에 제공되어 있다. 클라이언트 사용자 인터페이스 상태 머신(62)은 클라이언트 장치(44) 상에 사용자 인터페이스 장면(예를 들어, 도 1a, 도 1b 및 도 2에 도시됨)을 제공하기 위해 장면 요청 프로세서(56)로부터 수신된 장면 데이터 및 스크립트를 해석한다. 클라이언트 사용자 인터페이스 상태 머신(62)은 또한 헤드엔드(42)(블록(700)으로 나타냄)로부터 또는 로컬 하드 디스크 드라이브(702)로부터 장면 데이터 및 MPEG-2 전환 클립을 검색할 수 있다. 당업자라면, 관여된 시스템 및/또는 클라이언트 장치의 유형에 따라, 본 발명의 특정의 구현에서 단지 하나의 데이터 소스(700, 702)가 존재할 수 있다는 것 또는 어떤 다른 유형의 데이터 소스가 사용될 수 있다는 것을 잘 알 것이다. 운영 체제(OS)(706), 예를 들어 PowerTV, Linux, Win32, 기타 등등 및 운영 체제 포털 계층(operating system portal layer)(708)을 통해 클라이언트 사용자 인터페이스 상태 머신(62)에 시그널링 및 명령을 제공하기 위해 대역외(OOB) 통신(704)이 사용될 수 있다. OS 및 OS 포팅 계층(706, 708)은 또한 사용자 인터페이스에 대한 사용자의 동작을 추적하고 이벤트 매퍼 기능(event mapper function)(710)에 데이터를 제공할 수 있다. 이벤트 매퍼(710)는 사용자 인터페이스 데이터, 예를 들어 커서 이동, 음성 명령 입력, 자유 공간 포인터의 움직임, 기타 등등을 이벤트로 변환하며, 이들 이벤트는 사용자 인터페이스에서의 어떤 변화, 예를 들어 디스플레이 변화, 오디오 변화, 줌잉 전환, 기타 등등을 필요로 할 수 있다. 예를 들어, 사용자의 커서가 도 1a의 "아폴로 13"의 이미지 상에 있거나 그 위를 지나갈 때, 이벤트 매퍼(710)는 OS로부터 원시 커서 데이터를 수신하고 그를 예를 들어 허버줌 이벤트로 매핑하고, 그 결과 그 이미지가 도 1b에 도시한 바와 같이 확대되며, 이에 대해서는 이하에서 보다 상세히 기술한다. 또다른 예로서, 커서가 도 1b의 "아폴로 13" 이미지의 확대된 버전 상에 위치되어 있는 동안에 OS(706, 708)가 이벤트 매퍼(710)에 버튼 클릭 횟수(button click through)를 전달한 경우(이는 사용자가 이 영화에 관한 더 많은 상세를 원함을 나타냄), 이벤트 매퍼(710)는, 도 2의 사용자 인터페이스 화면으로의 전환을 가져오는, 그와 연관된 "상세 보기로의 전환 이벤트(transition to detailed view event)"를 식별할 수 있다.
이벤트 매퍼(710)에 의해 검출되는 이벤트는 이벤트 프로세서(714)에 의한 처리를 위해 이벤트 큐(712)에 큐잉된다. 이벤트 프로세서(714)는 이벤트 큐(712)로부터 이벤트를 수신하고 예를 들어 현재 활성인 장면 데이터 및/또는 스크립트에 기초하여 이들을 동작 라이브러리(716)로 디스패치함으로써 클라이언트 사용자 인터페이스 상태 머신(62)의 동작들을 조정한다. 동작 라이브러리(716)는, 장면 데이터 로더(720) 및 여러가지 저장 유닛(718, 722)과 관련하여, 검출된 이벤트에 기초하여 현재 디스플레이된 사용자 인터페이스 화면에 변화(들)를 발생하는 동작을 하며, 이에 대해서는 장면 데이터에 대한 설명과 관련하여 이하에서 보다 상세히 기술된다.
장면 설명 데이터 포맷
본 발명의 예시적인 실시예에 따른 사용자 인터페이스를 생성하는 어떤 예시적인 서버/클라이언트 아키텍처를 기술하였으며, 이제부터 이 아키텍처와 관련하여 사용될 수 있는 (MPEG/MPEG-2 이외의) 제2 예시적인 데이터 포맷에 대해 기술한다. 다른 데이터 포맷이 본 발명과 관련하여 사용될 수 있지만, 이 예시적인 데이터 포맷은 클라이언트 장치(44)가 사용자 상호작용 및 시스템 이벤트에 응답할 수 있게 해주는 상태 머신을 효과적으로 생성한다. 이 데이터 포맷은 아주 낮은 성능의 클라이언트 장치(44) 및 고성능 클라이언트 장치(44), 예를 들어 PC 둘다를 지원하기 위해 임의적으로 확장가능하다. 이 예시적인 장면 데이터 포맷("ZSD"라고도 함)의 다른 목적은 테마(theme) 지원, 장래의 언어 지원, 데모 스크립팅(demo scripting), 및 자동화된 테스트 지원을 포함한다.
ZSD 포맷은 2가지 유형의 장면, 즉 배타적 장면(exclusive scene) 및 오버레이 장면(overlay scene)을 지원한다. 본 명세서에서, 배타적 장면은 간단히 장면이라고 하는데, 왜냐하면 그것이 전체 화면을 차지하고 주요 사용자 상호작용 요소를 포함하기 때문이다. 오버레이 장면은 클라이언트 사용자 인터페이스 상태 머신(62)이 논리적으로 배타적 장면 상에 오버레이하는 전체적 또는 부분적 장면을 기술한다. 배타적 장면은 사용자가 내비게이션함에 따라 변하는 반면, 오버레이 장면은 변하거나 변하지 않을 수 있다. 이것에 의해 오버레이 장면은 사용자가 배타적 장면에서 장면으로 내비게이션할 때 사용자를 따라가는 음악 제어, 글로벌 내비게이션(global navigation), 북마크(bookmark), 기타 등등의 특징을 지원할 수 있다. 배타적 장면은 처음에 오버레이 장면을 시작하지만, 오버레이 장면은 다른 오버레이를 시작할 수 있다. 모든 오버레이 장면을 종료시킬 수 있지만, 오버레이 장면은 사용자로부터의 상호작용에 기초하여 또는 현재의 배타적 장면에 기초하여 그 자신의 수명을 제어한다.
배타적 장면 및 모든 오버레이 장면은 논리적으로 그들 자신의 이름 공간에 존재한다. ZSD 요소가 다른 장면에 있는 요소를 참조하기 위해, ZSD 참조는, 본 명세서에서 기술하는 바와 같이, 이름 공간을 지정하는 필드를 포함하도록 수정될 수 있다. 장면간 통신(inter-scene communication)은 배타적 화면 내에 무엇이 있는지를 오버레이 장면에 통지하는 것 등의 동작에 유용하다. 장면간 통신을 지원하기 위해, 송신자는 이벤트를 발생하도록 동작들을 트리거한다. 이들 이벤트는 이어서 이벤트 프로세서(714)에 의해 각각의 장면으로 디스패치된다. 이벤트가 자원 ID를 포함하는 경우, 그 ID는 목적지 장면 내의 동등한 자원으로 매핑된다. 목적지 장면이 동등한 자원을 포함하지 않는 경우, 이벤트 프로세서(714)는 계속하여 이벤트를 그 다음 장면으로 디스패치하는 것을 테스트한다.
모든 배타적 장면은 클라이언트 상에서 이하의 상태, 즉 (1) 들어감(Entered), (2) 로드됨(Loaded), (3) 안정 상태(Steady State), (4) 언로딩(Unloading), 및 (5) 빠져나옴(Exited)을 순차적으로 통과한다. 배타적 장면의 ZSD 데이터가 처음으로 디코딩될 때, 장면은 들어감(Entered) 상태에 들어간다. 이 때, 이벤트 프로세서(714)는 배타적 장면이 임의의 초기 동작을 수행할 수 있도록 OnLoad 이벤트를 발생한다. 이벤트 프로세서(714)가 OnLoad 이벤트 디스패치 프로세스를 완료하면, 배타적 장면은 로드됨(Loaded) 상태에 들어간다. 이 때, 이벤트 프로세서(714)는 그의 큐(712)에 보류 중인 이벤트를 가질 수 있다. 이벤트 프로세서(714)는 이 큐(712)를 비우고 이어서 배타적 장면을 그의 안정 상태(Steady State)로 전환시킨다. 도 8은 모든 상태에서의 이벤트 프로세싱을 보여주기 위해 장면 멤버쉽 메시징(scene membership messaging)을 사용하여 예시적인 배타적 장면 라이프 사이클을 나타낸 것이다. 배타적 장면을 언로딩하는 프로세스는 기본적으로 로드 프로세스의 반대이다. 이 경우에, GoToScene 또는 다른 장면 변경 동작이 언로드 프로세스를 개시한다. 이 때, 배타적 장면은 언로딩(Unloading) 상태로 변화된다. 모든 ZSD 언로드 프로세싱이 완료되면, 프로세스는 빠져나옴(Exited) 상태로 전환되고, 여기서 클라이언트는 선택적으로 배타적 장면의 ZSD 데이터의 일부 또는 그 전부를 보유할 수 있다. 배타적 장면의 상태의 변화는 모든 현재 로드된 오버레이 장면에 전달되며, 따라서 오버레이 장면이 (필요한 경우) 조치를 취할 수 있다.
오버레이 장면은 배타적 장면에 독립적으로 그의 상부에 존재한다. 예를 들어, 도 1a에서, 우측 상부 코너에 도시된 3개의 아이콘(홈, 위 화살표 및 TV)은 배타적 장면 상에 오버레이 장면으로서 구현될 수 있다(MPEG 레이어에 구현되는 여러가지 DVD 커버의 이미지). 도 1 및 도 2에 도시하지 않은 다른 예는 볼륨 제어 및/또는 채널 선택 사용자 인터페이스 객체를 오버레이 장면으로서 제공하는 것이다. 오버레이 장면의 종료는 장면 자체 내로부터 또는 배타적 장면으로부터의 요청에 의해 달성될 수 있다. 그에 부가하여, 오버레이 장면의 수명을 예를 들어 도 9에 도시한 바와 같이 특정의 일련의 배타적 장면으로 제한하기 위해 SceneMembershipNotification 이벤트가 사용될 수 있다. 이 장면 그룹에 속하는 배타적 장면들 각각은 이들이 로드될 때 SceneMembershipNotification 메시지를 전송하게 된다. 이 장면 그룹과 연관된 오버레이 장면은 오버레이 장면이 로드된 채로 있어야 하는지 또는 그 자신을 종료시켜야 하는지를 알려주기 위해 ExclusiveSceneChange 이벤트 및 SceneMembershipNotification 메시지를 사용한다. 오버레이 장면이 그의 장면 그룹과 일치하는 SceneMembershipNotification을 수신하는 한, 오버레이 장면은 로드된 채로 있을 수 있다. 트리플 테이블(triple table)(도 9에서 언급됨)에 대해 이하에서 보다 상세히 설명한다.
본 발명의 한 예시적인 실시예에 따르면, 각각의 장면은 이하의 설명 정보를 포함한다.
필드 설명
장면 ID 이 장면에 대한 전역적으로 고유한 ID
설명 개발자에게 이 장면을 식별해주는 데 도움을 주는 선택적인 문자열 설명
장면 치수 장면을 레이아웃하는 데 사용되는 치수
ZSD 포맷 버전 이 필드는 정수값 1을 가짐
ZSD 프로파일 이 필드는 최소한으로 지원되는 프로파일의 이름이다. 현재 이는 값 "단순(Simple)" 및 "고급(Advanced)"을 취할 수 있다.
최대 동작 스택 크기 이 필드는 이 장면에 대한 동작 스택 상으로 푸시될 수 있는 요소의 최대수를 지정한다.
캐쉬 속성 유형 이 필드는 ZSD 인터프리터가 이 장면을 어떻게 캐싱할 수 있는지를 지정한다.
캐쉬 속성값 이 필드는 캐쉬 속성 유형에 기초하여 32 비트 정수값을 지정하기 위해 사용될 수 있다. 사용되지 않는 경우 이는 0으로 설정되어야 한다.
장면 정보 필드
ZSD 로드 시간 성능을 향상시키기 위해, 클라이언트 장치(44)는 선택적으로 ZSD 캐쉬(722)를 구현할 수 있다. ZSD-인코딩된 장면은 캐싱 거동이 더 이상 유용하지 않을 때 클라이언트에 알려주도록 캐싱 속성을 지정한다. 예를 들어, 스포츠 점수 등의 일시적으로 중요한 정보는 장기간 동안 캐싱되어서는 안된다. 표 4는 예시적인 캐싱 속성 유형을 열거한 것으로 그의 용도에 대해 기술하고 있다.
캐쉬 속성 유형 설명 속성값 단위
Timeout 지정된 수의 초 이후에 이 장면을 타임아웃시킨다(0 초는 캐싱하지 않음을 암시한다)
캐쉬 속성
본 발명에 따른 예시적인 장면 데이터 포맷은 4가지 기본적인 데이터 유형(본 명세서에서 때때로 "요소(element)"라고 함), 구체적으로는 객체, 이벤트, 동작 및 리소스를 갖는다. 상위 레벨에서, 객체는 MPEG 레이어에서의 버튼 및 아이콘에 대한 경계, 오버레이 텍스트 및 오버레이 이미지 등의 장면 컴포넌트를 기술한다. 이벤트는 장면에 관계되어 있는 통지를 기술한다. 이들은 마우스(포인터) 이동 이벤트, 키보드 이벤트, 애플리케이션 상태 변화 이벤트, 기타 등등을 포함한다. 동작은 다른 장면으로 가기 등의 이벤트에 대한 응답을 기술하고, 마지막으로 리소스는 객체, 이벤트 및 동작에 의해 사용되는 원시 데이터, 예를 들어 이미지 데이터를 포함한다. 이들 데이터 유형 각각에 대해 이하에서 보다 상세히 기술한다.
본 발명의 예시적인 실시예에 따른 예시적인 객체 유형 및 그와 연관된 파라미터가 표 5 내지 표 8에 기술되어 있다.
객체 유형 파라미터 설명
WholeScene 0 없음 전체 장면 객체, OID 0가 이 유형을 갖는다.
Bounds 1 X, Y, 폭, 높이 이 객체는 장면 좌표계에서 직사각형 경계를 지정한다.
PNode 2 X, Y, 폭, 높이, 부모 객체 이 객체는 지정된 경계를 갖는 PNode를 지정한다.
객체 유형
이름 객체 ID 유형 설명
WholeScene 0 WholeScene 전체 화면
Reserved 1-63 해당없음 예비됨
예비된 객체 ID
객체 유형 단순 프로파일 고급 프로파일
WholeScene
Figure 112007000649741-pct00001
Figure 112007000649741-pct00002
Bounds
Figure 112007000649741-pct00003
Figure 112007000649741-pct00004
PNode
Figure 112007000649741-pct00005
Figure 112007000649741-pct00006
객체 유형 지원
속성 유형 파라미터 필수적인 것 선택적인 것
커서 커서 리소스 ID WholeScene Bounds, PNode
객체 속성
나머지 장면 설명 포맷 요소와 마찬가지로, 각각의 이벤트는 전역적으로 고유한 값을 할당받는다. 어떤 이벤트 유형은 그들이 트리거하게 되는 동작을 제약하기 위해 필터를 이용한다. 예를 들어, OnKeyPress 이벤트는 관심의 키를 사용한다. 필터 이외에, 이벤트는 리소스를 동작 스택 상으로 푸시할 수 있으며, 이에 대해서는 이하에서 기술한다. 동작은 그의 거동을 수정하기 위해 스택에 관한 정보를 사용할 수 있다.
예시적인 이벤트 유형이 이하의 표 9에 열거되어 있다. 오버레이 장면은 디스패처에 의한 이벤트의 전파에 영향을 미친다. 이 표에서 디스패치 시맨틱스는 다음과 같이 축약되어 있다.
1. 활성 - 디스패처는 활성 장면에만 이벤트를 전송한다. 예를 들어, 장면이 로드될 때, OnLoad 이벤트는 그 장면으로만 전송된다.
2. 리소스 필터를 갖는 장면 - 디스패처는 이들 이벤트를 그 이벤트에 대한 리소스 테이블 엔트리를 포함하는 장면으로만 전송한다. 장면의 트리플 테이블을 통해 반복하기 이전에, 이벤트 디스패처는 그 이벤트에서의 리소스 ID를 장면에서의 그의 등가물로 재매핑한다.
3. 오버레이 전용 - 디스패처는 이들 이벤트를 오버레이 장면으로만 전송한다.
4. 둘다 - 디스패처는 먼저 이 이벤트를 오버레이 장면으로 전송하고 이어서 배타적 장면으로 전송한다.
이벤트 유형 시맨틱스 필터 동작 스택 설명
OnLoad 0 활성 없음 없음 이 이벤트는 객체가 로드될 때 전송된다.
OnKeyPress 1 둘다 이 이벤트는 사용자가 키 또는 리모콘 버튼을 누를 때 전송된다.
OnKeyRelease 2 둘다 이 이벤트는 사용자가 키 또는 리모콘 버튼을 놓을 때 전송된다.
OnKeyTyped 3 둘다 이 이벤트는 사용자가 키를 타이핑할 때 전송된다. 키가 자동 반복을 지원하는 경우, 시스템은 키가 눌러져 있는 동안 이 이벤트를 반복하여 전송한다.
OnMouseEnter 4 둘다 없음 없음 이 이벤트는 마우스 포인터가 객체 상으로 갈 때 전송된다.
OnMouseExit 5 둘다 없음 없음 이 이벤트는 마우스 포인터가 객체의 경계를 빠져나갈 때 전송된다.
OnMousePress 6 둘다 버튼 X,Y,버튼 이 이벤트는 사용자가 마우스 버튼을 누를 때 전송된다.
OnMouseRelease 7 둘다 버튼 X,Y,버튼 이 이벤트는 사용자가 마우스 버튼을 놓을 때 전송된다.
OnMouseClick 8 둘다 버튼 X,Y,버튼 이 이벤트는 사용자가 마우스 버튼을 눌렀다 놓을 때 전송된다.
OnFocusIn 9 둘다 없음 없음 이 이벤트는 연관된 객체가 포커스를 받을 때 전송된다. 다른 이벤트는 일반적으로 키 누름 및 마우스 엔터 등의 포커스를 야기한다.
OnFocusOut 10 둘다 없음 없음 이 이벤트는 연관된 객체가 포커스를 상실할 때 전송된다.
OnSceneMembershipNofitication 11 리소스 인수를 갖는 장면 장면 멤버쉽 리소스 ID 장면 멤버쉽 리소스 ID 이 이벤트는 NotifySceneMembership 동작이 개시될 때 전송된다.
OnScrollUp 12 둘다 이 이벤트는 지정된 스크롤 휠이 위로 이동할 때 모든 노치에 대해 개시된다.
OnScrollDown 13 둘다 이 이벤트는 지정된 스크롤 휠이 아래로 이동할 때 모든 노치에 대해 개시된다.
OnTimeout 14 둘다 타이머 타이머 이 이벤트는 타이머가 만료될 때 개시된다.
OnActivate 15 둘다 없음 없음 이 이벤트는 객체가 활성화될 때 개시된다.
OnExclusiveSceneChange 16 오버레이 전용 들어감, 로딩됨, 언로딩, 빠져나옴 없음 이 이벤트는 배타적 장면이 변할 때 개시된다. 인수는 장면 변화의 정확한 순간을 지정한다. 장면 라이프 사이클 시퀀스도를 참조할 것
OnUnload 17 둘다 없음 없음 이 이벤트는 장면 변화의 결과로서 객체가 언로드될 때 개시된다.
이벤트 유형
본 명세서에 기술된 아키텍처 및 방법의 동작을 설명하면, 객체에 대한 이벤트의 결과가 동작이다. 동작은 프로그램을 형성하기 위해 ZSD 동작 테이블에서 서로 링크될 수 있다. 이벤트로부터의 동작 및 링크된 동작으로의 파라미터 전달을 용이하게 해주기 위해, ZSD 인터프리터는 동작 스택을 유지한다. 동작 스택은 동작 리스트에서의 첫번째 동작을 디스패치하기 이전에 초기화되며, 이하의 항목들이 순서대로 있다.
1. 동작을 트리거한 트리플 테이블 엔트리 내의 객체
2. 동작을 트리거한 트리플 테이블 엔트리 내의 이벤트
3. 이벤트로부터 동작 스택 상으로 푸시된 요소
각각의 동작을 디스패치하기 이전에, ZSD 인터프리터는 논리적으로 동작의 파라미터를 스택 상으로 푸시한다. 구현들은 간단함을 위해 내장된 동작에 관한 이 거동을 단락(short-circuit)시킬 수 있다. 각각의 동작 유형은 스택의 용도를 지정한다. 일반적으로, ZSD 인터프리터는 작은 동작 스택(예를 들어, 16-32개 요소)을 할당할 수 있을 뿐이며, 따라서 스택 사용이 최소로 유지되어야만 한다. ZSD 인터프리터가 항상 충분한 스택을 가지기 위해서는, ZSD 인코더는 헤더에 최대 스택 크기를 지정해야만 한다. 모든 동작 유형은 최대 스택 크기 계산을 간단화하기 위해 재귀적 반복을 회피해야만 한다. 예시적인 동작 유형이 이하의 표 10에 열거되어 있다.
동작 유형 파라미터 동작 스택 설명
입력 출력 포스트 스택 델타
NoAction 0 없음 없음 없음 0 이 동작은 NOP이다.
GoToScene 1 장면 ID, 지속기간 파라미터 없음 -2 이 동작은 클라이언트로 하여금 지정된 시간 내에 새로운 위치로 애니메이션하게 한다. 서버 컨텍스트 버퍼가 정보를 가지고 있는 경우, 이 명령은 컨텍스트를 장면 내비게이션 요청과 묶는다.
NavigateBack 2 카운트 파라미터 없음 -1 지정된 수의 장면을 이력에서 뒤로 내비게이션한다. 이력이 그렇게 많은 장면을 포함하고 있지 않은 경우, 이는 가능한 한 멀리 뒤로 내비게이션한다. 서버 컨텍스트 버퍼가 정보를 가지고 있는 경우, 이 명령은 그 컨텍스트를 장면 내비게이션 요청과 묶는다.
NavigateForward 3 카운트 파라미터 없음 -1 지정된 수의 장면을 이력에서 앞으로 내비게이션한다. 이력이 그렇게 많은 장면을 포함하고 있지 않은 경우, 이는 가능한 한 멀리 앞으로 내비게이션한다. 서버 컨텍스트 버퍼가 정보를 가지고 있는 경우, 이 명령은 그 컨텍스트를 장면 내비게이션 요청과 묶는다.
NavigateHome 4 없음 없음 없음 0 홈 장면으로 내비게이션한다. 서버 컨텍스트 버퍼가 정보를 가지고 있는 경우, 이 명령은 그 컨텍스트를 장면 내비게이션 요청과 묶는다.
NavigateUp 5 카운트, 지속기간 파라미터 없음 -2 지정된 시간 내에 지리적으로 n번 위쪽에 있는 장면으로 내비게이션한다. 서버 컨텍스트 버퍼가 정보를 가지고 있는 경우, 이 명령은 그 컨텍스트를 장면 내비게이션 요청과 묶는다.
StartTimer 6 타이머, 지속기간 파라미터 없음 -2 지정된 지속기간 내에 타임아웃 이벤트를 전송하는 타이머를 기동시킨다. 타이머는 장면에 전역적이다.
StopTimer 7 타이머 파라미터 없음 -1 지정된 타이머를 정지시킨다.
StartHoverZoom 8 X,Y,폭,높이,리소스 ID,지속기간 파라미터 없음 -7 허버줌을 생성하기 위해 HoverZoomPixelData 리소스와 연관된 리소스 ID를 사용하여 지정된 지속기간에 걸쳐 종단 좌표(x,y,폭,높이)까지 허버줌한다.
StopHoverZoom 9 지속기간 파라미터 없음 -1 지정된 수의 밀리초에 걸쳐 허버줌을 중단시킨다.
Focus 10 객체 ID 파라미터 없음 -1 강제로 포커스를 지정된 객체로 변화시킨다.
ChangePointer 11 리소스 ID, 객체 ID 파라미터 없음 -2 객체 ID에 의해 지정된 객체 상에 있을 때 포인터를 리소스 ID에 의해 지정된 것으로 변경한다.
ChangePointerVisibility 12 가시적, 지속기간 파라미터 없음 -2 참이면 포인터를 보여주고 거짓이면 포인터를 감춘다. 지정된 지속기간 동안 애니메이션한다.
MovePointer 13 X,Y,지속기간 파라미터 없음 -3 포인터를 지정된 지속기간에 걸쳐 지정된 위치로 이동시킨다.
Activate 14 객체 ID 파라미터 없음 -1 지정된 객체를 활성화시킨다.
PushServerContext 15 리소스 ID 파라미터 없음 -1 전송을 위해 지정된 리소스를 다시 서버로 푸시한다.
ReportServerContext 16 없음 없음 없음 0 수집된 컨텍스트를 서버로 보고한다. 보류중인 컨텍스트가 없는 경우, 이 동작은 무시된다. 보고 이후에, 이 명령은 컨텍스트 버퍼를 클리어시킨다.
CreateTextObject 17 객체 ID, 리소스 ID 파라미터 없음 -2 객체 ID에 의해 지정된 객체를 사용하여 리소스 ID에 의해 지정된 텍스트 객체를 보여준다.
CreateImageObject 18 객체 ID, 리소스 ID 파라미터 없음 -2 객체 ID에 의해 지정된 객체를 사용하여 리소스 ID에 의해 지정된 이미지를 보여준다.
NotifySceneMembership 19 장면 멤버쉽 리소스 ID 파라미터 없음 -2 장면 멤버쉽을 통지한다. 이것은 보통 OnLoad 이벤트에 응답하여 행해진다.
StartOverlayScene 20 오버레이 장면 리소스 ID 파라미터 없음 -2 지정된 오버레이 장면을 로드하고 시작한다.
TerminateOverlayScene 21 없음 없음 없음 0 현재의 오버레이 장면을 종료시킨다. 메인 장면으로부터 이 동작을 트리거하면 아무것도 하지 않는다.
TerminateAllOverlayScenes 22 없음 없음 없음 0 모든 오버레이 장면을 종료시킨다. 이 동작은 클라이언트와 서버 상태를 재동기화시키는 데 유용하다.
SetActiveTripleTable 23 트리플 테이블 인덱스 파라미터 없음 -1 활성 트리플 테이블을 설정한다. 디폴트로 인덱스 0이 설정되어 있다.
RunScript 24 리소스 ID 파라미터 0+ 임의의 값 지정된 스크립트를 해석한다.
동작 유형
본 발명과 관련하여 사용될 수 있는 예시적인 리소스가 이하의 표 11에 열거되어 있다.
리소스 유형 파라미터 설명
UTF8String 0 UTF8String 이 리소스 유형은 UTF8 문자 세트로부터의 문자열 문자를 보유한다. 이 문자열은 256개 문자를 초과할 수 없다.
UnicodeString 1 UnicodeString 이 리소스 유형은 Unicode 문자를 보유한다. 이 문자열은 256개 문자를 초과할 수 없다.
MPEG2TransitionClip 2 장면 ID,
장면 ID,
MPEG-2 클립
이 리소스 유형은 2개의 장면 간의 전환을 위한 MPEG-2 클립 파일을 가리킨다. 장면들은 하드 디스크 지원을 갖는 클라이언트에 대한 또는 서버에 대한 MPEG-2 클립 전부를 열거한다. 이들 클립은 현재의 테마에 기초하여 변화될 수 있다.
Cursor 3 이미지 이 리소스는 커서 이미지를 보유한다.
Image 4 이미지 이 리소스는 이미지를 보유한다.
HoverZoom 5 PixMask,
FGTransPix,
FGOpaquePix,
BGPix
이 리소스는 허버줌을 생성하기 위한 이미지 데이터를 보유한다.
SceneMembership 6 UTF8String 이 리소스는 애플리케이션에 속하는 등의 장면의 멤버를 식별한다.
OverlayScene 7 장면 이 리소스는 오버레이 장면에 대한 내장된 ZSD 설명을 보유한다.
리소스 유형
본 발명의 예시적인 실시예에 따르면, 장면 설명 포맷은 모든 장면 상호작용 정보를, 이하의 표 12 내지 표 17에 나타낸 바와 같이, 5개의 테이블, 객체 테이블, 이벤트 테이블, 동작 테이블, 리소스 테이블 및 하나 이상의 트리플 테이블로 그룹화한다.
테이블 설명
객체 테이블 이 테이블은 장면 내의 객체 전부를 열거한다. 객체들은 PNode 등의 상위 레벨 개체이거나 단지 장면 상의 영역일 수 있다.
이벤트 테이블 이 테이블은 이 장면 상의 프로세싱을 필요로 하는 모든 이벤트를 열거한다. 클라이언트는 이 테이블에 열거되지 않은 이벤트를 무시할 수 있다.
동작 테이블 이 테이블은 이 장면 상의 객체에 대해 호출될 수 있는 모든 동작을 열거한다.
리소스 테이블 이 테이블은 문자열 및 이미지를 포함한다. 그의 주된 용도는 문자열 및 이미지 데이터를 상기 테이블들로부터 분리시키는 것이며 따라서 서버가 테마 및 언어를 바꾸는 것은 사소한 일이다.
트리플 테이블 이 테이블은 객체, 이벤트, 및 동작을 연관시킨다. ZSD 인코딩은 2개 이상의 트리플 테이블을 포함하고 활성인 것 간에 전환하기 위해 동작을 사용할 수 있다. 이것은 장면 내에 상태 머신의 생성을 가능하게 해준다.
ZSD 테이블
필드 설명
객체 ID 이 객체에 대한 고유의 ID. OID 번호 0은 전체 장면을 나타낸다.
객체 유형 객체의 유형
설명 XML을 보다 명확하게 해주는 선택적인 문자열 설명
파라미터 객체를 기술하는 부가의 파라미터
객체 테이블 필드
필드 설명
이벤트 ID 이 이벤트에 대한 고유의 ID
이벤트 유형 이벤트의 유형
설명 XML을 보다 명확하게 해주는 선택적인 문자열 설명
파라미터 이벤트를 기술하는 부가의 파라미터
이벤트 테이블 필드
필드 설명
동작 ID 이 동작에 대한 고유의 ID
동작 유형 동작의 유형
그 다음 동작 실행할 그 다음 동작의 동작 ID. 동작의 실행을 중지시키는 NoAction 인스턴스를 지정한다. 동작의 루프를 지정하는 것은 금지되어 있다.
설명 XML을 보다 명확하게 해주는 선택적인 문자열 설명
파라미터 동작을 기술하는 부가의 파라미터
동작 테이블 필드
필드 설명
리소스 ID 이 리소스에 대한 고유의 ID
테마 ID 이 리소스에 대한 테마 ID
언어 ID 이 리소스에 대한 언어 ID
리소스 유형 리소스의 유형
설명 XML을 보다 명확하게 해주는 선택적인 문자열 설명
파라미터 리소스를 기술하는 부가의 파라미터
리소스 테이블 필드
필드 유형 설명
객체 ID 트리플의 객체
이벤트 ID 모니터링할 객체
동작 ID 이벤트의 수신 시에 호출할 동작
부울 참이면 이 트리플이 이벤트와 일치하는 경우 이벤트 프로세싱을 종료시킨다.
설명 XML을 보다 명확하게 해주는 선택적인 문자열 설명
트리플 테이블 필드
본 발명에 따른 예시적인 장면 데이터 포맷에 관한 여러가지 부가의 정보는 상기한 인용 문헌으로 포함된 우선권 출원에서 찾아볼 수 있다.
로컬 저장장치가 없는 클라이언트 장치(44)는 서버(42)에 장면 및 전환을 요청한다. 이 기능을 수행하는 데 사용될 수 있는 예시적인 일련의 메시지가 이하의 표 18에 제공되어 있다. 클라이언트/서버 링크는 예를 들어 이더넷 연결, QPSK 채널(현재 OOB 통신을 위해 케이블 네트워크에 의해 사용됨) 또는 임의의 다른 프로토콜 또는 유형의 연결을 통해 이루어질 수 있다. 당업자라면 이 메시지 세트가 순전히 예시적인 것이며 메시지가 그에 추가되거나 그로부터 삭제될 수 있음을 잘 알 것이다.
메시지 이름 ID 소스 설명
RequestScene 0 클라이언트 지정된 장면을 요청한다.
RequestSceneAck 1 서버 서버가 요청된 장면을 전송하고 있다는 확인 응답
SceneDetails 2 서버 클라이언트가 MPEG-2 장면 전환의 대역 내에서 장면 상세를 전송하지 않는 경우 서버는 이것을 클라이언트로 전송할 수 있다.
DebugControl 3 서버 서버는 클라이언트 상에서의 디버그 로깅 및 원격 제어 지원을 인에이블/디스에이블시키기 위해 이 메시지를 전송한다.
LogMessage 4 클라이언트 텍스트 메시지를 로그한다. 클라이언트는 디버그 모드에서만 이 메시지를 전송한다.
NotifyEvent 5 이벤트가 발생했음을 통지한다. 클라이언트는 디버그 모드에서만 이 메시지를 전송한다.
NotifyAction 6 클라이언트 동작이 개시되었음을 통지한다. 클라이언트는 디버그 모드에서만 이 메시지를 전송한다.
NotifyTriple 7 클라이언트 트리플 테이블 엔트리가 일치함을 통지한다. 클라이언트는 디버그 모드에서만 이 메시지를 전송한다.
GenerateEvent 8 서버 클라이언트 상에서 지정된 이벤트를 생성 및 개시한다. 이들 이벤트는 로크아웃 모드에서 개시된 이벤트가 된다. 클라이언트는 디버그 모드에서만 이 메시지를 접수한다.
Lockout 9 서버 클라이언트 상의 모든 사용자 발생된 이벤트를 로크아웃/언로크한다. 예시적인 이벤트는 마우스 및 키보드 이벤트를 포함한다. 클라이언트는 디버그 모드에서만 이 메시지를 접수한다.
Identity 10 클라이언트 클라이언트는 신원을 밝히기 위해 서버와의 연결을 설정할 때마다 이 메시지를 전송한다.
NotifyServerContext 11 클라이언트 클라이언트는 그의 서버 컨텍스트 버퍼가 비어 있지 않을 때 이 메시지를 전송하고 동작 명령은 서버 통지 또는 요청을 호출한다.
RequestScreenCapture 12 서버 서버는 클라이언트가 화면의 스냅샷을 촬영하고 이를 다시 ScreenCapture 메시지로 서버로 전송하도록 요청하기 위해 이 메시지를 전송한다.
ScreenCapture 13 클라이언트 이것은 RequestScreenCapture에 대한 응답 메시지이다. 이는 스냅샷을 포함한다.
클라이언트-서버 메시지
허버줌
상기한 바와 같이, 본 발명에 따른 예시적인 클라이언트 아키텍터 및 방법의 한 특징은 어떤 기존의 클라이언트 장치와 연관된 비교적 적은 양의 가용 메모리 및/또는 프로세싱 능력을 고려하면서 복잡한 사용자 인터페이스가 클라이언트측에서 생성될 수 있게 해주는 것이다. 상기한 시스템 및 방법이 이 문제를 해결하는 방법들 중 한 예는 본 명세서에서 "허버줌"이라고 하는 사용자 인터페이스 상호작용과 관련하여 볼 수 있으며, 이 허버줌은 예를 들어 사용자가 선택될 수 있는 미디어 항목 상에서 커서를 롤링하고 및/또는 그 미디어 항목에 대한 표시자를 일시 정지시킬 때, 그와 연관된 이미지가 확대되어 사용자가 어느 객체가 선택을 위한 준비가 되어 있는지를 쉽게 볼 수 있게 되는 프로세스이며, 그의 일례가 도 1a 및 도 1b에 예시되어 있다.
클라이언트 장치가 제한된 메모리 및/또는 프로세싱 능력을 갖는 대화형 텔레비전 시스템 등의 대역폭 제한된 시스템에서 허버줌 기능을 구현하는 것과 연관된 다수의 과제가 있다. 도 1a에 도시된 사용자 인터페이스 화면이, 여러가지 영화와 연관된 커버 삽화 이미지를 포함하는, 사용자 인터페이스 서버(42)로부터 클라이언트(44)로 전송되는 MPEG 데이터 스트림을 사용하여 렌더링되는 예를 생각해보자. 사용자 인터페이스 화면의 이 시각적 부분은 본 명세서에서 배경 레이어(background layer)라고 한다. 사용자가 허버줌 응답을 트리거했다는 것을 이벤트 매퍼(710) 및 이벤트 프로세서(714)가 알게 될 때, 전경 레이어(예를 들어, "아폴로 13" 이미지의 확대된 버전)가 발생되고 도 1a의 사용자 인터페이스 화면을 수정하는 데 사용된다. 도 1a에 도시된 사용자 인터페이스 화면으로부터 도 1b에 도시된 사용자 인터페이스 화면으로 전환하는 데 사용되는 데이터를 제공하는 몇가지 가능한 방법이 있다. 허버줌 효과를 구현하는 한가지 방식은 사용자 인터페이스 서버(42)로 하여금 배경 레이어 및 전경 레이어 둘다에 대응하는 전체 MPEG 데이터 세트를 클라이언트(44)로 전송하게 하는 것이다. 그렇지만, 사용자가 사용자 인터페이스에서의 아마도 아주 많은 수, 예를 들어 수십 또는 수백개의 화면 객체 상에서 아주 빠르게 커서를 롤링할 수 있음을 생각할 때, 본 발명의 이 예시적인 실시예를 구현하기 위해 사용자 인터페이스 서버(42)에 의해 전송될 필요가 있는 데이터의 양은 아주 많아질 수 있으며, 그 결과 클라이언트 장치(44) 상에서의 화면 전환을 렌더링하는 데 부가의 지연이 있게 된다.
게다가, 도 1a 및 도 1b를 비교하면 도 1a의 줌잉되지 않은 버전과 연관된 픽셀의 상당 부분이 도 1b의 허버줌된 버전을 생성하는 데 재사용된다는 것을 알 수 있다. 본 발명의 또하나의 예시적인 실시예에 따르면, 배경 레이어 및 전경 레이어에서의 픽셀들 간의 관계가 구해질 수 있고 또 허버줌 효과를 발생하기 위해 클라이언트 장치(44)로 전송될 필요가 있는 데이터의 양을 감소시키는 데 사용될 수 있다. 허버줌 효과의 일부로서 확대될 객체에 의존하여, 이 관계는 비교적 간단하거나 어느 정도 더 복잡할 수 있다. 예를 들어, 도 1a의 직사각형 DVD 커버 삽화 이미지의 크기를 확대하는 것은 직사각형 이미지를 확대하는 것을 수반하여 전환의 일부로서 이웃하는 이미지들을 가리게 된다. 반면에, 보다 복잡한 형상, 예를 들어 가운데에 구멍이 있는 도넛 형상의 객체는 허버줌 효과를 발생하기 위해 보다 복잡한 상황을 제공한다. 도넛-형상의 객체가 확대됨에 따라, 중간에 있는 구멍이 확장되고 그에 의해 허버줌 효과가 일어난 후에 이전에 가려져 있었던 배경 레이어 픽셀이 드러나게 되는 것을 생각해보자.
본 발명의 한 예시적인 실시예에 따르면, 이미지의 전경 버전에서의 각각의 픽셀은 (1) 완전 불투명(배경 레이어로부터 픽셀 컬러를 추출할 수 있으며, 따라서 전경 레이어 발생을 위해 재전송될 필요가 없음), (2) 투명(관련이 없으며, 따라서 전경 레이어를 위해 재전송될 필요가 없음), (3) 반투명(예를 들어, 이미지의 가장자리 주변의 픽셀들은 안티-엘리어싱이 그에 적용될 수 있으며, 이들 픽셀에 대한 전경 레이어 데이터를 전송할 필요가 있음), 및 (4) 무효(예를 들어, 배경 픽셀을 드러나게 하는 도넛 "구멍" 픽셀은 배경 레이어 픽셀을 전송할 필요가 있는데 그 이유는 이들이 줌잉되지 않은 인터페이스 화면을 생성하기 위해 최초로 전송된 배경 레이어로부터 반드시 추출될 수 있는 것은 아니기 때문임)중 하나로서 분류된다. 이러한 분류는 수동 관찰을 비롯한 임의의 원하는 기술을 사용하여 및/또는 이하에서 기술하는 의사코드 처리 기술을 사용하여 선험적으로 행해질 수 있고, 전경 레이어에서의 각 픽셀이 분류되어 있는 전경/배경 맵이 발생된다. 사용자 인터페이스에서 허버줌 효과가 트리거될 수 있는 각각의 이미지에 대해 허버줌 맵이 저장될 수 있다.
배경의 포착
for(node = scenegraph.rootO; node!= 전경 노드; node = 그 다음 노드) if(노드 경계가 전경 경계 내에 있는가)
배경 이미지에 노드를 페인팅함
전경의 포착
전경의 원래 크기(저해상도 전경)를 갖는 이미지에 전경 노드를 그린다.
전경의 최대 크기(고해상도 전경)를 갖는 이미지에 전경 노드를 그린다.
매핑 이후에, 알파 정보에 기초하여 배경 픽셀의 관련성을 평가하기 위해 예를 들어 이하의 의사 코드를 사용하여 단계(1010, 1012)에서 저장되고 전송될 데이터의 양을 감소시키기 위해 이 데이터가 인코딩된다.
알파 정보의 포착
전경 노드 시작 경계를 계산한다. 전경 노드 종료 경계를 계산한다. 불투명으로 초기화된 알파값만을 포함하는 전경 시작 경계의 크기의 알파 이미지를 계산한다.
그의 현재의 값 또는 이미지에 그려지는 픽셀의 값 중 최소값을 유지하도록 이미지의 알파 합성 규칙을 설정한다.
while(foreground.size()<종료 경계) 알파 이미지에 전경을 그린다
전경 크기를 증가시킨다
배경 이미지에 대해 어느 픽셀이 필요한지의 계산
투명한 최초의 배경 이미지 내의 임의의 픽셀은 관련이 없다.
모든 나머지 관련있는 배경 픽셀에 대해,
If(저해상도 전경 픽셀이 투명이면)
배경 픽셀은 관련이 없다
Else if(저해상도 전경 픽셀이 불투명이고 포착된 알파 픽셀이 불투명이면)
배경 픽셀은 관련이 없다
Else
배경 픽셀이 관련이 있다.
이와 같이 인코딩될 특정의 이미지에 의존하여, 전경 레이어 픽셀의 대부분이 불투명으로 지정되고 허버줌 효과를 발생하기 위해 클라이언트 장치(44)로 재전송될 필요가 없다.
본 발명의 이 예시적인 실시예에 따른 허버줌 처리는 도 10에 전체적으로 나타내어져 있다. 동 도면에서, 이미지(1000)의 MPEG(배경) 버전 및 확대될 이미지의 줌잉되지 않은 버전(1002)(예를 들어, 도 1a의 아폴로 13), 예를 들어 PNG 또는 JPEG가 제공된다. 배경 이미지(1000)는 그 이미지의 줌잉되지 않은 버전(1002)과 합성되고 단계(1006)에서의 압축 이후에 MPEG 데이터 스트림으로 클라이언트 장치(44)로 전송된다. 단계(1008)에서 상기한 전경/배경 맵이 저장 장치로부터 검색되고, 전경 레이어 및 배경 레이어와 연관된 어느 픽셀 데이터가 전송될 필요가 있는지를 결정하는 데 사용된다. 그 데이터는 단계(1010, 1012)에서 인코딩(압축)되고, ZSD 이미지 파일로서 저장되며 클라이언트 장치(44)로 전송된다. 본 발명의 이 예시적인 실시예가 이 정보를, MPEG 데이터 스트림 이외의 장면 데이터(ZSD 데이터)로서 전송하지만, 이 정보는 다른 대안으로서 MPEG 데이터 스트림에 내장될 수 있다.
본 발명의 예시적인 실시예에 따른 허버줌 기술에 대한 이상의 설명을 보면 잘 알게 되는 바와 같이, 예를 들어 케이블 네트워크에 연결된 클라이언트 장치에 복잡한 사용자 인터페이스(예를 들어, 줌잉을 사용함)를 발생하는 것과 연관된 과제 중 일부가 전송될 특정의 데이터에 대한 인코딩 스트림의 지능적 선택에 의해 해결될 수 있다. 상기한 허버줌 예에서, 배경 데이터는 이러한 네트워크에서 이용가능한 MPEG 인코딩 스트림을 사용하여 전송되었지만, OSD 레이어를 통해 제공하기 위해 처리되는 전경 정보는 다른 유형의 인코딩(상기함)을 사용하여 전송되었다. 그렇지만, 본 발명의 예시적인 실시예는 다른 서버/클라이언트 데이터 전송이, 클라이언트 장치(44)에 데이터를 공급하는 업스트림 노드 중 하나에서, 어느 유형의 인코딩/데이터 스트림이 전송될 데이터에, 특히 사용자 인터페이스를 줌잉하는 것과 연관된 데이터에 적절한지를 선택적으로 결정하는 것으로부터 이득을 볼 수 있는 것을 생각하고 있다.
이 일반적인 개념이 도 11에 도시되어 있다. 동 도면에서, 데이터가 제1 데이터인지 제2 데이터인지를 판정하고 또 그 데이터를 처리하기 위한 인코딩의 유형(및 연관된 전송 데이터 스트림)을 선택적으로 결정하기 위해 블록(1100)에서 데이터가 평가된다. 제1 및 제2 데이터는 서로 다른 유형의 데이터이거나 서로 다른 특성을 갖는 동일한 유형의 데이터일 수 있다. 전자의 예는 허버줌 데이터이다(배경 데이터가 제1 데이터이고 전경 데이터가 제2 데이터임). 후자의 예는 텍스트이다. MPEG 인코딩은 텍스트를 인코딩하는 데 특히 효율적이지 않으며, 그에 따라 어떤 상황에서는, 예를 들어 전송될 텍스트가 미리 정해진 폰트 크기(예를 들어, 16 포인트)보다 작은 경우, 다른 유형의 인코딩을 사용하여 텍스트를 인코딩하는 것이 바람직할 수 있다.
본 발명의 예시적인 실시예에 따른 메타데이터를 처리하는 시스템 및 방법은 메모리 장치(도시 생략)에 포함된 명령어 시퀀스를 실행하는 프로세서에 의해 수행될 수 있다. 이러한 명령어는 2차 데이터 저장 장치(들) 등의 다른 컴퓨터-판독가능 매체로부터 메모리 장치로 판독될 수 있다. 메모리 장치에 포함된 명령어 시퀀스의 실행은 프로세서로 하여금 예를 들어 상기한 바와 같이 동작하게 한다. 대체 실시예에서, 하드-와이어 회로가 본 발명을 구현하기 위해 소프트웨어 명령어 대신에 또는 그와 결합하여 사용될 수 있다.
상기한 예시적인 실시예들이 본 발명의 모든 측면에서 제한하는 것이 아닌 예시적인 것으로 보아야 한다. 따라서, 본 발명은 당업자에 의해 본 명세서에 포함된 설명으로부터 도출될 수 있는 상세 구현에서 많은 변형이 행해질 수 있다. 예를 들어, MPEG 인코딩 및 MPEG 데이터 스트림이 상기한 예시적인 실시예에 기술되어 있지만, 부분적으로 또는 전체적으로 서로 다른 유형의 인코딩 및 데이터 스트림, 예를 들어 Windows Media-기반 컨텐츠, 기타 등등에서 사용되는 비디오 인코딩으로 치환될 수 있음을 잘 알 것이다. 게다가, (MPEG) 이미지 및/또는 비디오 데이터가 케이블 네트워크 전부 또는 그 일부를 통해 전송되는 것으로 기술되어 있지만, 본 발명은 이미지 및/또는 비디오 데이터가 로컬적으로, 예를 들어 홈 디스크 상에서 또는 로컬 서버로부터 이용가능한 시스템에 똑같이 적용가능하다. 이러한 변형 및 수정 모두는 이하의 청구항에 정의되어 있는 본 발명의 범위 및 정신 내에 속하는 것으로 생각된다. 본 출원의 설명에 사용된 요소, 동작 또는 명령어는, 그 자체로서 명시적으로 언급되어 있지 않는 한, 본 발명에 중요하거나 필수적인 것으로 해석되어서는 안된다. 또한, 본 명세서에서 사용되는 바와 같이, 단수 관형사는 하나 이상의 항목을 포함하는 것으로 보아야 한다.

Claims (62)

  1. 케이블 네트워크를 통해 전송되는 데이터를 사용하여 텔레비전 상에 줌잉 사용자 인터페이스(zooming user interface)를 생성하는 방법으로서,
    상기 텔레비전 상에 제1 사용자 인터페이스 화면을 생성하는 단계 - 상기 제1 사용자 인터페이스 화면은 그와 연관된 복수의 이미지를 가지며, 상기 복수의 이미지는 MPEG 인코딩을 사용하여 상기 케이블 네트워크를 통해 상기 텔레비전에 연결된 셋톱 박스로 상기 제1 사용자 인터페이스 화면과 연관된 제1 데이터 세트의 일부로서 전송됨 -,
    상기 복수의 이미지를 수신하고 그에 기초하여 상기 제1 사용자 인터페이스 화면의 생성을 제어하는 클라이언트 사용자 인터페이스 상태 머신을, 상기 텔레비전에 연결된 셋톱 박스에 제공하는 단계,
    상기 제1 사용자 인터페이스 화면과 연관된 사용자 상호작용 데이터를, 상기 클라이언트 사용자 인터페이스 상태 머신에 의해 수신하는 단계,
    상기 사용자 상호작용 데이터에 기초하여 상기 제1 사용자 인터페이스 화면으로부터 제2 사용자 인터페이스 화면으로의 줌잉 전환을 제공하기 위해, 상기 셋톱 박스의 업스트림(upstream)으로 배치된 요청 프로세서로부터, 정보를 요청하는 단계,
    상기 줌잉 전환 및 상기 제2 사용자 인터페이스 화면과 연관된 제2 데이터 세트를, 상기 셋톱 박스에 의해 수신하는 단계 - 상기 제2 데이터 세트의 일부는 MPEG 데이터 스트림으로서 수신되고 상기 제2 데이터 세트의 다른 일부는 상기 MPEG 데이터 스트림과 다른 또하나의 데이터 스트림으로서 수신됨 -, 및
    상기 제2 데이터 세트를 사용하여 상기 텔레비전 상에 상기 줌잉 전환 및 상기 제2 사용자 인터페이스를, 상기 클라이언트 사용자 인터페이스 상태 머신의 제어 하에서 생성하는 단계
    를 포함하는 줌잉 사용자 인터페이스 생성 방법.
  2. 제1항에 있어서, 상기 줌잉 전환은 허버줌 효과(hoverzoom effect)이고,
    상기 제2 사용자 인터페이스 화면은 상기 복수의 이미지 중 하나 - 이는 상기 복수의 이미지 중 상기 하나의 상기 제1 사용자 인터페이스 화면에서의 버전에 대해 확대되어 있음 - 를 나타내며,
    상기 복수의 이미지 중 상기 하나는 상기 사용자에 의해 선택되었고 상기 복수의 이미지 중 다른 것들을 부분적으로 흐릿하게 하는 것인 줌잉 사용자 인터페이스 생성 방법.
  3. 제1항에 있어서, 상기 줌잉 전환은 상기 복수의 이미지 중 하나의 확대(magnification) 및 변환(translation)을 포함하는 것인 줌잉 사용자 인터페이스 생성 방법.
  4. 제3항에 있어서, 상기 제2 사용자 인터페이스 화면은 상기 복수의 이미지 중 선택된 것과 연관된 부가의 상세를 나타내는 것인 줌잉 사용자 인터페이스 생성 방법.
  5. 제4항에 있어서, 상기 부가의 상세는 상기 텔레비전 상에 텍스트로서 렌더링되며,
    상기 텍스트는 상기 또하나의 데이터 스트림을 통해 상기 클라이언트 사용자 인터페이스 상태 머신에 의해 수신되는 것인 줌잉 사용자 인터페이스 생성 방법.
  6. 제1항에 있어서, 상기 제1 및 제2 데이터 세트는, 상기 복수의 이미지를 비롯한 상기 제1 및 제2 데이터 세트에 포함된 다른 데이터를 사용하여, 상기 제1 및 제2 사용자 인터페이스 화면을 각각 어떻게 렌더링해야 하는지를 상기 클라이언트 사용자 상태 머신에 지시하는 장면 설명을 포함하는 것인 줌잉 사용자 인터페이스 생성 방법.
  7. 디스플레이를 포함하는 클라이언트 시스템 상에 줌잉 사용자 인터페이스를 생성하는 방법으로서,
    상기 디스플레이 상에 제1 사용자 인터페이스 화면을 생성하는 단계,
    사용자 입력을 수신하는 단계,
    상기 클라이언트 시스템에서, 줌잉 전환을 수행하라는 명령어에 대한 요청 - 이 요청은 상기 줌잉 전환과 연관되어 있음 - 을 전송하는 단계,
    상기 명령어를 수신하는 단계, 및
    상기 디스플레이 상에 제2 사용자 인터페이스 화면 및 상기 줌잉 전환을 생성하는 단계
    를 포함하는 줌잉 사용자 인터페이스 생성 방법.
  8. 제7항에 있어서, 상기 줌잉 전환은 허버줌 효과이고,
    상기 제2 사용자 인터페이스 화면은 복수의 이미지 중 하나 - 이는 상기 복수의 이미지 중 상기 하나의 상기 제1 사용자 인터페이스 화면에서의 버전에 대해 확대되어 있음 - 를 나타내며,
    상기 복수의 이미지 중 상기 하나는 상기 사용자에 의해 선택되었고 상기 복수의 이미지 중 다른 것들을 부분적으로 흐릿하게 하는 것인 줌잉 사용자 인터페이스 생성 방법.
  9. 제7항에 있어서, 상기 줌잉 전환은 복수의 이미지 중 하나의 확대(magnification) 및 변환(translation)을 포함하는 것인 줌잉 사용자 인터페이스 생성 방법.
  10. 제9항에 있어서, 상기 제2 사용자 인터페이스 화면은 상기 복수의 이미지 중 선택된 것과 연관된 부가의 상세를 나타내는 것인 줌잉 사용자 인터페이스 생성 방법.
  11. 제7항에 있어서, 상기 클라이언트 시스템은 텔레비전을 포함하는 것인 줌잉 사용자 인터페이스 생성 방법.
  12. 제7항에 있어서, 상기 클라이언트 시스템은 셋톱 박스를 포함하는 것인 줌잉 사용자 인터페이스 생성 방법.
  13. 제7항에 있어서, 상기 클라이언트 시스템은 퍼스널 컴퓨터를 포함하는 것인 줌잉 사용자 인터페이스 생성 방법.
  14. 제7항에 있어서, 상기 명령어는 객체, 이벤트, 동작 및 리소스(resource) 중 적어도 하나를 포함하는 장면 데이터 포맷을 사용하여 제공되는 것인 줌잉 사용자 인터페이스 생성 방법.
  15. 제14항에 있어서, 상기 객체는 MPEG 레이어에서의 버튼 및 아이콘에 대한 경계, 오버레이 텍스트 및 오버레이 이미지 중 적어도 하나를 포함하는 상기 제2 사용자 인터페이스 화면과 연관된 컴포넌트들을 기술하는 것인 줌잉 사용자 인터페이스 생성 방법.
  16. 제14항에 있어서, 상기 이벤트는 포인터 이동 이벤트, 키보드 이벤트, 및 애플리케이션 상태 변경 이벤트 중 적어도 하나를 포함하는 상기 제2 사용자 인터페이스 화면과 연관된 통지들을 기술하는 것인 줌잉 사용자 인터페이스 생성 방법.
  17. 제14항에 있어서, 상기 동작은 제3 사용자 인터페이스 화면으로 이동하는 것을 포함한 상기 이벤트들에 대한 응답들을 기술하는 것인 줌잉 사용자 인터페이스 생성 방법.
  18. 제14항에 있어서, 상기 리소스는 상기 객체, 상기 이벤트 및 상기 동작에 의해 사용되는 이미지 데이터를 포함하는 것인 줌잉 사용자 인터페이스 생성 방법.
  19. 클라이언트 시스템 상에 줌잉 사용자 인터페이스를 생성하는 시스템으로서,
    디스플레이, 및
    상기 디스플레이 상에 제1 사용자 인터페이스 화면을 생성하고, 사용자 입력을 수신하며, 줌잉 전환을 수행하라는 명령어에 대한 요청 - 이 요청은 상기 줌잉 전환과 연관되어 있음 - 을 전송하는 프로세서
    를 포함하고,
    상기 프로세서는 상기 명령어를 수신하고 상기 디스플레이 상에 제2 사용자 인터페이스 화면 및 상기 줌잉 전환을 생성하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  20. 제19항에 있어서, 상기 줌잉 전환은 허버줌 효과이고,
    상기 제2 사용자 인터페이스 화면은 복수의 이미지 중 하나 - 이는 상기 복수의 이미지 중 상기 하나의 상기 제1 사용자 인터페이스 화면에서의 버전에 대해 확대되어 있음 - 를 나타내며,
    상기 복수의 이미지 중 상기 하나는 상기 사용자에 의해 선택되었고 상기 복수의 이미지 중 다른 것들을 부분적으로 흐릿하게 하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  21. 제19항에 있어서, 상기 줌잉 전환은 복수의 이미지 중 하나의 확대(magnification) 및 변환(translation)을 포함하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  22. 제21항에 있어서, 상기 제2 사용자 인터페이스 화면은 상기 복수의 이미지 중 선택된 것과 연관된 부가의 상세를 나타내는 것인 줌잉 사용자 인터페이스 생성 시스템.
  23. 제19항에 있어서, 상기 클라이언트 시스템은 텔레비전을 포함하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  24. 제19항에 있어서, 상기 클라이언트 시스템은 셋톱 박스를 포함하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  25. 제19항에 있어서, 상기 클라이언트 시스템은 퍼스널 컴퓨터를 포함하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  26. 제19항에 있어서, 상기 명령어는 객체, 이벤트, 동작 및 리소스(resource) 중 적어도 하나를 포함하는 장면 데이터 포맷을 사용하여 제공되는 것인 줌잉 사용자 인터페이스 생성 시스템.
  27. 제26항에 있어서, 상기 객체는 MPEG 레이어에서의 버튼 및 아이콘에 대한 경계, 오버레이 텍스트 및 오버레이 이미지 중 적어도 하나를 포함하는 상기 제2 사용자 인터페이스 화면과 연관된 컴포넌트들을 기술하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  28. 제26항에 있어서, 상기 이벤트는 포인터 이동 이벤트, 키보드 이벤트, 및 애플리케이션 상태 변경 이벤트 중 적어도 하나를 포함하는 상기 제2 사용자 인터페이스 화면과 연관된 통지들을 기술하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  29. 제26항에 있어서, 상기 동작은 제3 사용자 인터페이스 화면으로 이동하는 것을 포함한 상기 이벤트들에 대한 응답들을 기술하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  30. 제26항에 있어서, 상기 리소스는 상기 객체, 상기 이벤트 및 상기 동작에 의해 사용되는 이미지 데이터를 포함하는 것인 줌잉 사용자 인터페이스 생성 시스템.
  31. 케이블 통신 네트워크에서 업스트림 노드로부터 클라이언트 장치로 줌가능 사용자 인터페이스를 생성하기 위한 데이터를 전송하는 방법으로서,
    상기 업스트림 노드로부터 상기 클라이언트 장치로 전송될 데이터를 제1 데이터 또는 제2 데이터로서 선택적으로 식별하는 단계,
    MPEG 인코딩을 사용하여 상기 제1 데이터를 인코딩하는 단계,
    상기 MPEG 인코딩된 데이터를 MPEG 데이터 스트림을 통해 상기 클라이언트 장치로 전송하는 단계,
    MPEG 인코딩과 다른 제2 유형의 인코딩을 사용하여 상기 제2 데이터를 인코딩하는 단계,
    상기 인코딩된 제2 데이터를 제2 데이터 스트림을 사용하여 상기 클라이언트 장치로 전송하는 단계, 및
    상기 제1 및 제2 데이터를 사용하여 상기 줌가능 사용자 인터페이스를 생성하는 단계
    를 포함하는 데이터 전송 방법.
  32. 케이블 통신 네트워크에서 업스트림 노드로부터 클라이언트 장치로 줌가능 사용자 인터페이스를 생성하기 위한 데이터를 전송하는 방법으로서,
    제1 유형의 인코딩 및 제1 데이터 스트림을 사용하여 제1 데이터를 전송하는 단계,
    제2 유형의 인코딩 및 제2 데이터 스트림을 사용하여 제2 데이터를 전송하는 단계 - 상기 제2 유형의 인코딩은 상기 제1 유형의 인코딩과 서로 다름 - , 및
    상기 제1 및 제2 데이터를 사용하여 상기 클라이언트 장치에서 상기 줌가능 사용자 인터페이스를 생성하는 단계
    를 포함하는 데이터 전송 방법.
  33. 제32항에 있어서, 상기 제1 유형의 인코딩은 MPEG 인코딩이고,
    상기 제2 유형의 인코딩은 장면 데이터 인코딩인 것인 데이터 전송 방법.
  34. 제33항에 있어서, 상기 제1 데이터는 사용자 인터페이스 상에 생성될 배경 레이어(background layer)와 연관된 이미지 데이터이고,
    상기 제2 데이터는 상기 사용자 인터페이스 상에 생성될 전경 레이어(foreground layer)와 연관된 이미지 데이터인 것인 데이터 전송 방법.
  35. 제33항에 있어서, 상기 제1 데이터는 이미지 또는 비디오 데이터이고,
    상기 제2 데이터는 텍스트인 것인 데이터 전송 방법.
  36. 제32항에 있어서, 텍스트가 미리 정해진 문턱값보다 큰 폰트 크기를 갖는 경우 상기 제1 데이터 스트림을 통해 상기 텍스트를 제1 데이터로서 전송하는 단계, 및
    그렇지 않은 경우, 상기 제2 데이터 스트림을 통해 상기 텍스트를 제2 데이터로서 전송하는 단계를 더 포함하는 것인 데이터 전송 방법.
  37. 제36항에 있어서, 상기 제1 유형의 인코딩은 MPEG 인코딩인 것인 데이터 전송 방법.
  38. 제32항에 있어서, 상기 업스트림 노드는 상기 케이블 통신 네트워크의 헤드엔드 부분인 것인 데이터 전송 방법.
  39. 제32항에 있어서, 상기 클라이언트 장치는 셋톱 박스 및 퍼스널 컴퓨터 중 하나인 것인 데이터 전송 방법.
  40. 케이블 통신 네트워크에서 업스트림 노드로부터 클라이언트 장치로 줌가능 사용자 인터페이스를 생성하기 위한 데이터를 전송하는 시스템으로서,
    제1 유형의 인코딩 및 제1 데이터 스트림을 사용하여 제1 데이터를 전송하고 제2 유형의 인코딩 및 제2 데이터 스트림을 사용하여 제2 데이터를 전송하는 업스트림 프로세서 - 상기 제2 유형의 인코딩은 상기 제1 유형의 인코딩과 서로 다름 -, 및
    상기 제1 및 제2 데이터를 사용하여 상기 클라이언트 장치에서 상기 줌가능 사용자 인터페이스를 생성하는 클라이언트측 프로세서
    를 포함하는 데이터 전송 시스템.
  41. 제40항에 있어서, 상기 제1 유형의 인코딩은 MPEG 인코딩이고,
    상기 제2 유형의 인코딩은 장면 데이터 인코딩인 것인 데이터 전송 시스템.
  42. 제41항에 있어서, 상기 제1 데이터는 사용자 인터페이스 상에 생성될 배경 레이어(background layer)와 연관된 이미지 데이터이고,
    상기 제2 데이터는 상기 사용자 인터페이스 상에 생성될 전경 레이어(foreground layer)와 연관된 이미지 데이터인 것인 데이터 전송 시스템.
  43. 제41항에 있어서, 상기 제1 데이터는 이미지 또는 비디오 데이터이고,
    상기 제2 데이터는 텍스트인 것인 데이터 전송 시스템.
  44. 제40항에 있어서, 상기 프로세서는 또한 텍스트가 미리 정해진 문턱값보다 큰 폰트 크기를 갖는 경우 상기 제1 데이터 스트림을 통해 상기 텍스트를 상기 제1 데이터로서 전송하고, 그렇지 않은 경우 상기 제2 데이터 스트림을 통해 상기 텍스트를 상기 제2 데이터로서 전송하도록 동작하는 것인 데이터 전송 시스템.
  45. 제44항에 있어서, 상기 제1 유형의 인코딩은 MPEG 인코딩인 것인 데이터 전송 시스템.
  46. 제40항에 있어서, 상기 업스트림 노드는 상기 케이블 통신 네트워크의 헤드엔드 부분인 것인 데이터 전송 시스템.
  47. 제40항에 있어서, 상기 클라이언트 장치는 셋톱 박스 및 퍼스널 컴퓨터 중 하나인 것인 데이터 전송 시스템.
  48. 사용자 인터페이스 상에 허버줌 효과를 생성하는 방법으로서,
    배경 레이어 데이터 및 전경 레이어 데이터를 클라이언트 장치로 전송하는 단계,
    상기 배경 레이어 데이터에 기초하여 배경 레이어를 디스플레이하는 단계,
    상기 허버줌 효과와 연관된 사용자 동작을 식별하는 단계, 및
    상기 사용자 동작에 응답하여, 상기 배경 레이어 상에 오버레이로서 상기 전경 레이어 데이터에 기초하여 전경 레이어를 디스플레이하는 단계
    를 포함하는 허버줌 효과 생성 방법.
  49. 제48항에 있어서, 상기 사용자 동작은 디스플레이된 이미지 상에서 커서를 롤링(rolling)하는 것이고,
    상기 전경 레이어는 상기 디스플레이된 이미지의 확대된 버전을 포함하는 것인 허버줌 효과 생성 방법.
  50. 제48항에 있어서, 상기 전경 레이어 내의 각각의 픽셀을, (1) 상기 배경 레이어 데이터로부터 추출가능한 것으로, 또는 (2) 상기 클라이언트 장치로 전송될 필요가 있는 것으로 분류하는 단계를 더 포함하는 허버줌 효과 생성 방법.
  51. 제50항에 있어서, 배경 레이어 데이터 및 전경 레이어 데이터를 전송하는 상기 단계는,
    상기 분류 단계에 기초하여 상기 전경 레이어에서의 픽셀 데이터를 선택적으로 전송하는 단계를 더 포함하는 것인 허버줌 효과 생성 방법.
  52. 제50항에 있어서, 상기 허버줌 효과의 결과로서 드러나게 될 부가의 배경 픽셀을 식별하는 단계, 및
    상기 부가의 배경 픽셀과 연관된 배경 레이어 데이터를 전송하는 단계를 더 포함하는 허버줌 효과 생성 방법.
  53. 사용자 인터페이스 상에 허버줌 효과를 생성하는 클라이언트 시스템으로서,
    배경 레이어 데이터 및 전경 레이어 데이터를 수신하는 적어도 하나의 수신기, 및
    상기 배경 레이어 데이터에 기초하여 배경 레이어를 생성하고, 상기 허버줌 효과와 연관된 사용자 동작을 식별하며, 상기 사용자 동작에 응답하여 상기 배경 레이어 상에 오버레이로서 상기 전경 레이어 데이터에 기초하여 전경 레이어를 생성하는 프로세서
    를 포함하는 클라이언트 시스템.
  54. 제53항에 있어서, 상기 사용자 동작은 디스플레이된 이미지 상에서 커서를 롤링(rolling)하는 것이고,
    상기 전경 레이어는 디스플레이된 이미지의 확대된 버전을 포함하는 것인 클라이언트 시스템.
  55. 제53항에 있어서, 상기 수신기는 또한 상기 전경 레이어 내의 각각의 픽셀을, (1) 상기 배경 레이어 데이터로부터 추출가능한 것으로, 또는 (2) 상기 클라이언트 시스템으로 전송되는 것으로 분류하는 맵을 수신하는 것인 클라이언트 시스템.
  56. 제55항에 있어서, 상기 수신된 전경 레이어 데이터는 상기 전경 레이어를 생성하기 위해 상기 프로세서가 필요로 하는 데이터 중 단지 일부만을 포함하고,
    상기 프로세서는 상기 배경 레이어 데이터로부터 부가의 데이터를 추출하는 것인 클라이언트 시스템.
  57. 사용자 인터페이스 화면을 생성하는 데 사용될 데이터를 MPEG 인코딩하는 방법으로서,
    제1 및 제2 사용자 인터페이스 화면을 갖는 사용자 인터페이스를 제공하고 상기 제1 및 제2 사용자 인터페이스 화면 상에서의 객체 위치와 연관된 데이터를 저장하는 단계,
    상기 저장된 데이터를 사용하여 MPEG 데이터 프레임과 연관된 움직임 벡터를 구하는 단계,
    상기 움직임 벡터를 MPEG 인코더로 전송하는 단계, 및
    상기 움직임 벡터를 사용하여 상기 데이터를 MPEG 인코딩하는 단계
    를 포함하는 MPEG 인코딩 방법.
  58. 제57항에 있어서, 상기 저장된 데이터를 사용하여 MPEG 데이터 프레임과 연관된 움직임 벡터를 구하는 상기 단계는,
    상기 저장된 데이터를 사용하여, (1) 표준 MPEG 움직임 벡터 검색 알고리즘과 독립적으로 움직임 벡터를 구하거나 (2) 상기 움직임 벡터를 구하기 위해 상기 표준 MPEG 움직임 벡터 검색 알고리즘을 선택적으로 이용하는 단계를 더 포함하는 것인 MPEG 인코딩 방법.
  59. 제57항에 있어서, 상기 저장된 데이터를 사용하여 MPEG 데이터 프레임과 연관된 움직임 벡터를 구하는 상기 단계는,
    상기 저장된 데이터를 사용하여, (1) 표준 MPEG 움직임 벡터 검색 알고리즘과 독립적으로 움직임 벡터를 구하거나 (2) 상기 움직임 벡터를 구하기 위해 상기 표준 MPEG 움직임 벡터 검색 알고리즘을 선택적으로 이용하거나 또는 (3) 상기 표준 MPEG 움직임 벡터 알고리즘의 검색 범위를 감소시키는 단계를 더 포함하는 것인 MPEG 인코딩 방법.
  60. 사용자 인터페이스 화면을 생성하는 데 사용될 데이터를 MPEG 인코딩하는 시스템으로서,
    제1 및 제2 사용자 인터페이스 화면을 갖는 사용자 인터페이스,
    상기 제1 및 제2 사용자 인터페이스 화면 상에서의 객체 위치와 연관된 데이터를 저장하는 데이터 저장 유닛,
    상기 저장된 데이터를 사용하여 MPEG 데이터 프레임과 연관된 움직임 벡터를 구하는 움직임 추정 힌트 인코더, 및
    상기 움직임 벡터를 사용하여 데이터를 인코딩하는 MPEG 인코더
    를 포함하는 MPEG 인코딩 시스템.
  61. 제60항에 있어서, 움직임 추정 힌트 인코더는 상기 저장된 데이터를 사용하여, (1) 표준 MPEG 움직임 벡터 검색 알고리즘과 독립적으로 움직임 벡터를 구하거나 (2) 상기 표준 MPEG 움직임 벡터 검색 알고리즘을 사용하여 상기 움직임 벡터를 구하도록 선택적으로 상기 MPEG 인코더에 명령하는 것인 MPEG 인코딩 시스템.
  62. 제61항에 있어서, 상기 움직임 추정 힌트 인코더는 상기 저장된 데이터를 사용하여, 상기 표준 MPEG 움직임 벡터 검색 알고리즘을 이용해야 하는 감소된 검색 범위를 상기 MPEG 인코더에 제공하는 것인 MPEG 인코딩 시스템.
KR1020077000132A 2004-06-03 2005-06-03 줌가능 사용자 인터페이스를 위한 클라이언트-서버아키텍처 및 방법 KR101193698B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US57678604P 2004-06-03 2004-06-03
US60/576,786 2004-06-03
PCT/US2005/019705 WO2005120067A2 (en) 2004-06-03 2005-06-03 Client-server architectures and methods for zoomable user interface

Publications (2)

Publication Number Publication Date
KR20070027683A KR20070027683A (ko) 2007-03-09
KR101193698B1 true KR101193698B1 (ko) 2012-10-22

Family

ID=35463635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077000132A KR101193698B1 (ko) 2004-06-03 2005-06-03 줌가능 사용자 인터페이스를 위한 클라이언트-서버아키텍처 및 방법

Country Status (6)

Country Link
US (2) US7634793B2 (ko)
EP (1) EP1769318B1 (ko)
JP (1) JP4955544B2 (ko)
KR (1) KR101193698B1 (ko)
CN (2) CN101399941A (ko)
WO (1) WO2005120067A2 (ko)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070013723A1 (en) * 2005-07-12 2007-01-18 Microsoft Corporation Magnification engine and interface for computers
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
FR2895190A1 (fr) * 2005-12-19 2007-06-22 France Telecom Procede de fourniture d'un service multimedia a la demande, plate-forme de service, programme et decodeur pour la mise en oeuvre du procede
US8180672B2 (en) * 2006-02-16 2012-05-15 Hillcrest Laboratories, Inc. Systems and methods for placing advertisements
KR100808991B1 (ko) * 2006-05-04 2008-03-07 삼성전자주식회사 이동통신 단말기에서 전자사전을 이용한 단어검색 방법 및장치
US7864163B2 (en) 2006-09-06 2011-01-04 Apple Inc. Portable electronic device, method, and graphical user interface for displaying structured electronic documents
US7956849B2 (en) 2006-09-06 2011-06-07 Apple Inc. Video manager for portable multifunction device
EP2105019A2 (en) * 2006-09-29 2009-09-30 Avinity Systems B.V. Method for streaming parallel user sessions, system and computer software
US8056014B2 (en) * 2006-10-04 2011-11-08 International Business Machines Corporation Web portal page interactive user interfaces with maximum accessibility to user selected portlets
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
EP3145200A1 (en) 2007-01-12 2017-03-22 ActiveVideo Networks, Inc. Mpeg objects and systems and methods for using mpeg objects
US20100095236A1 (en) * 2007-03-15 2010-04-15 Ralph Andrew Silberstein Methods and apparatus for automated aesthetic transitioning between scene graphs
KR101446939B1 (ko) * 2007-03-30 2014-10-06 삼성전자주식회사 원격 제어 장치 및 그 제어 방법
US20080301735A1 (en) * 2007-05-31 2008-12-04 Christian Thomas Chicles User interface screen magnifying glass effect
US8127233B2 (en) * 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US8619877B2 (en) * 2007-10-11 2013-12-31 Microsoft Corporation Optimized key frame caching for remote interface rendering
US8121423B2 (en) * 2007-10-12 2012-02-21 Microsoft Corporation Remote user interface raster segment motion detection and encoding
US8106909B2 (en) * 2007-10-13 2012-01-31 Microsoft Corporation Common key frame caching for a remote user interface
US20090128581A1 (en) * 2007-11-20 2009-05-21 Microsoft Corporation Custom transition framework for application state transitions
US9100716B2 (en) * 2008-01-07 2015-08-04 Hillcrest Laboratories, Inc. Augmenting client-server architectures and methods with personal computers to support media applications
US20090177538A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Zoomable advertisements with targeted content
KR101531165B1 (ko) * 2008-04-17 2015-06-25 삼성전자주식회사 클라이언트의 특성을 고려한 사용자 인터페이스를 제공, 수신하는 방법 및 장치
KR101560183B1 (ko) 2008-04-17 2015-10-15 삼성전자주식회사 사용자 인터페이스를 제공/수신하는 방법 및 장치
KR101545137B1 (ko) * 2008-04-17 2015-08-19 삼성전자주식회사 사용자 인터페이스를 생성하는 방법 및 장치
KR20090110202A (ko) 2008-04-17 2009-10-21 삼성전자주식회사 개인화된 사용자 인터페이스를 디스플레이하는 방법 및 장치
US20090323799A1 (en) * 2008-06-25 2009-12-31 Stmicroelectronics, Inc. System and method for rendering a high-performance virtual desktop using compression technology
US9028260B2 (en) * 2008-09-29 2015-05-12 Cisco Technology, Inc. Automated quiz generation system
KR20100040545A (ko) * 2008-10-10 2010-04-20 삼성전자주식회사 구조화된 리치 미디어 데이터 기반의 사용자 인터페이스를 제공하기 위한 장치 및 방법
US20100149301A1 (en) * 2008-12-15 2010-06-17 Microsoft Corporation Video Conferencing Subscription Using Multiple Bit Rate Streams
US9565479B2 (en) * 2009-08-10 2017-02-07 Sling Media Pvt Ltd. Methods and apparatus for seeking within a media stream using scene detection
US8397167B2 (en) * 2009-08-18 2013-03-12 Dell Products, Lp System and method for a remote console preview of a server
US8947492B2 (en) * 2010-06-18 2015-02-03 Microsoft Corporation Combining multiple bit rate and scalable video coding
US8957920B2 (en) 2010-06-25 2015-02-17 Microsoft Corporation Alternative semantics for zoom operations in a zoomable scene
CN101938631A (zh) * 2010-08-31 2011-01-05 中山大学 一种基于sdf中间件的视频点播系统及方法
US9195774B2 (en) * 2010-09-17 2015-11-24 Kontera Technologies, Inc. Methods and systems for augmenting content displayed on a mobile device
US10387524B2 (en) * 2010-09-29 2019-08-20 Open Text Sa Ulc System and method for managing objects using an object map
US8954885B2 (en) * 2010-10-05 2015-02-10 Fergason Patent Properties, Llc Display system using metadata to adjust area of interest and method
CA2814070A1 (en) 2010-10-14 2012-04-19 Activevideo Networks, Inc. Streaming digital video between video devices using a cable television system
TWI427534B (zh) * 2010-10-20 2014-02-21 藉由圖騰伺服器產生網頁圖騰之方法
US9377876B2 (en) * 2010-12-15 2016-06-28 Hillcrest Laboratories, Inc. Visual whiteboard for television-based social network
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
DE102011002822A1 (de) * 2011-01-18 2012-07-19 Siemens Ag Österreich Verfahren und System zum Erstellen einer Bedienoberfläche für interaktive Media-Anwendungen
US9030405B2 (en) 2011-02-04 2015-05-12 Invensense, Inc. High fidelity remote controller device for digital living room
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US9204203B2 (en) 2011-04-07 2015-12-01 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US20120260290A1 (en) * 2011-04-07 2012-10-11 Sony Corporation User interface for audio video display device such as tv
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US10353566B2 (en) * 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US8332767B1 (en) * 2011-11-07 2012-12-11 Jeffrey Beil System and method for dynamic coordination of timelines having common inspectable elements
US9792955B2 (en) * 2011-11-14 2017-10-17 Apple Inc. Automatic generation of multi-camera media clips
WO2013106390A1 (en) 2012-01-09 2013-07-18 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
US20140006958A1 (en) * 2012-06-29 2014-01-02 Infinera Corporation Digital link viewer
US9979960B2 (en) 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
CN103067787B (zh) * 2013-01-31 2016-08-10 深圳市酷开网络科技有限公司 一种智能电视的交互系统及方法
WO2014133559A1 (en) * 2013-02-27 2014-09-04 Blendagram, Inc. System for and method of augmenting video and images
US10275128B2 (en) 2013-03-15 2019-04-30 Activevideo Networks, Inc. Multiple-mode system and method for providing user selectable video content
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
EP3005712A1 (en) 2013-06-06 2016-04-13 ActiveVideo Networks, Inc. Overlay rendering of user interface onto source video
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9674558B2 (en) * 2013-10-09 2017-06-06 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for managing digital video compression systems
US9271048B2 (en) * 2013-12-13 2016-02-23 The Directv Group, Inc. Systems and methods for immersive viewing experience
EP3080689A4 (en) * 2013-12-13 2017-08-16 Ai Squared Techniques for programmatic magnification of visible content elements of markup language documents
CN105359094A (zh) 2014-04-04 2016-02-24 微软技术许可有限责任公司 可扩展应用表示
KR20160143784A (ko) 2014-04-10 2016-12-14 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 컴퓨팅 디바이스용 슬라이더 커버
WO2015154273A1 (en) 2014-04-10 2015-10-15 Microsoft Technology Licensing, Llc Collapsible shell cover for computing device
CN108073334B (zh) * 2014-07-24 2020-12-25 Oppo广东移动通信有限公司 一种基于矢量运算的悬浮触控方法及装置
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10642365B2 (en) 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
CN106662891B (zh) 2014-10-30 2019-10-11 微软技术许可有限责任公司 多配置输入设备
US20160371872A1 (en) * 2015-06-18 2016-12-22 Facebook, Inc. Systems and methods for providing transitions between content interfaces
US10365808B2 (en) 2016-04-28 2019-07-30 Microsoft Technology Licensing, Llc Metadata-based navigation in semantic zoom environment
CN105872604B (zh) * 2016-06-15 2018-09-21 武汉斗鱼网络科技有限公司 基于不同用户状态的直播视频流推送方法及系统
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907323A (en) 1995-05-05 1999-05-25 Microsoft Corporation Interactive program summary panel
US20030011636A1 (en) 2001-06-14 2003-01-16 Gene Feroglia Method for magnifying images on a display screen and an interactive television guide system implementing the method

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69322769T2 (de) * 1992-03-03 1999-07-22 Kabushiki Kaisha Toshiba, Kawasaki, Kanagawa Koder für zeitveränderliche bilder
US5524195A (en) * 1993-05-24 1996-06-04 Sun Microsystems, Inc. Graphical user interface for interactive television with an animated agent
US5845083A (en) * 1996-03-07 1998-12-01 Mitsubishi Semiconductor America, Inc. MPEG encoding and decoding system for multimedia applications
US6606746B1 (en) * 1997-10-16 2003-08-12 Opentv, Inc. Interactive television system and method for displaying a graphical user interface using insert pictures
DE69828950T2 (de) * 1997-11-07 2006-01-12 Koninklijke Philips Electronics N.V. Kodierung einer bildfolge
US6711297B1 (en) * 1998-07-03 2004-03-23 University Of Pittsburgh - Of The Commonwealth System Of Higher Education Methods and apparatus for dynamic transfer of image data
JP3645720B2 (ja) * 1998-10-02 2005-05-11 松下電器産業株式会社 Epg情報表示方法、及びプログラム記録媒体
JP4228542B2 (ja) * 1998-11-30 2009-02-25 ソニー株式会社 情報提供装置及び情報提供方法
AU5484200A (en) * 1999-06-18 2001-01-09 Intel Corporation Systems and methods for enhanced visual presentation using interactive video streams
JP2001067163A (ja) * 1999-08-25 2001-03-16 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
US6525732B1 (en) * 2000-02-17 2003-02-25 Wisconsin Alumni Research Foundation Network-based viewing of images of three-dimensional objects
KR100739281B1 (ko) * 2000-02-21 2007-07-12 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치
US6804708B1 (en) * 2000-06-29 2004-10-12 Scientific-Atlanta, Inc. Media-on-demand flexible and adaptive architecture
FR2818053B1 (fr) * 2000-12-07 2003-01-10 Thomson Multimedia Sa Procede et dispositif de codage pour l'affichage d'un zoom d'une image codee mpeg2
JP2002259077A (ja) * 2001-03-01 2002-09-13 Konica Corp ネットワークプリントシステム及びネットワークプリント方法並びに情報記録媒体
JP2003153254A (ja) * 2001-08-31 2003-05-23 Canon Inc データ処理装置及びデータ処理方法、並びにプログラム、記憶媒体
US7260257B2 (en) * 2002-06-19 2007-08-21 Microsoft Corp. System and method for whiteboard and audio capture
US20040268393A1 (en) * 2003-05-08 2004-12-30 Hunleth Frank A. Control framework with a zoomable graphical user interface for organizing, selecting and launching media items
US7493341B2 (en) * 2004-01-16 2009-02-17 Hillcrest Laboratories, Inc. Metadata brokering server and methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907323A (en) 1995-05-05 1999-05-25 Microsoft Corporation Interactive program summary panel
US20030011636A1 (en) 2001-06-14 2003-01-16 Gene Feroglia Method for magnifying images on a display screen and an interactive television guide system implementing the method

Also Published As

Publication number Publication date
WO2005120067A3 (en) 2006-10-26
CN1961281A (zh) 2007-05-09
EP1769318A2 (en) 2007-04-04
EP1769318B1 (en) 2015-12-23
CN100507811C (zh) 2009-07-01
JP2008502230A (ja) 2008-01-24
KR20070027683A (ko) 2007-03-09
CN101399941A (zh) 2009-04-01
US20050283798A1 (en) 2005-12-22
US7634793B2 (en) 2009-12-15
EP1769318A4 (en) 2007-07-18
US20100086022A1 (en) 2010-04-08
WO2005120067A2 (en) 2005-12-15
JP4955544B2 (ja) 2012-06-20

Similar Documents

Publication Publication Date Title
KR101193698B1 (ko) 줌가능 사용자 인터페이스를 위한 클라이언트-서버아키텍처 및 방법
US9100716B2 (en) Augmenting client-server architectures and methods with personal computers to support media applications
JP6677781B2 (ja) コンテンツ表示の方法、デバイス及び記憶媒体
US8402488B2 (en) Systems and methods for creating custom video mosaic pages with local content
US10409445B2 (en) Rendering of an interactive lean-backward user interface on a television
US20080201736A1 (en) Using Triggers with Video for Interactive Content Identification
US20100064332A1 (en) Systems and methods for presenting media content obtained from multiple sources
EP2267607A2 (en) A method and device for providing/receiving a user interface
US8892633B2 (en) Apparatus and method for transmitting and receiving a user interface in a communication system
AU2009271877A1 (en) Apparatus and method for providing user interface service in a multimedia system
EP2704397B1 (en) Presenting media content obtained from multiple sources
EP2595353A1 (en) Method for rendering a multimedia asset, a related system, media client and related media server
CN114297435A (zh) 一种通信终端及多屏互动视频浏览方法
CN109429109A (zh) 一种共享信息的方法及机顶盒

Legal Events

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

Payment date: 20150918

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee