CN101399941A - 用于可缩放的用户界面的客户-服务器架构及方法 - Google Patents
用于可缩放的用户界面的客户-服务器架构及方法 Download PDFInfo
- Publication number
- CN101399941A CN101399941A CNA2008101679245A CN200810167924A CN101399941A CN 101399941 A CN101399941 A CN 101399941A CN A2008101679245 A CNA2008101679245 A CN A2008101679245A CN 200810167924 A CN200810167924 A CN 200810167924A CN 101399941 A CN101399941 A CN 101399941A
- Authority
- CN
- China
- Prior art keywords
- data
- user interface
- mpeg
- scene
- interface screen
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000009471 action Effects 0.000 claims description 67
- 238000006243 chemical reaction Methods 0.000 claims description 60
- 230000033001 locomotion Effects 0.000 claims description 43
- 239000000725 suspension Substances 0.000 claims description 35
- 230000000694 effects Effects 0.000 claims description 24
- 230000008859 change Effects 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000011144 upstream manufacturing Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 238000010845 search algorithm Methods 0.000 claims 4
- 238000010586 diagram Methods 0.000 claims 2
- 210000000352 storage cell Anatomy 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 14
- 230000002452 interceptive effect Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 7
- 239000012634 fragment Substances 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000003825 pressing Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/475—End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/234363—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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/23439—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client 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/25808—Management of client data
- H04N21/25833—Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation 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/4314—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4438—Window management, e.g. event handling following interaction with the user interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/47202—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/4728—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4821—End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/631—Multimode 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8549—Creating video summaries, e.g. movie trailer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
- H04N5/445—Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
- H04N5/45—Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation 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/4316—Generation 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)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明的示例性实施方案提供了用于在例如电缆网络和/或互动电视网络的通信网络中通信和处理数据的方法和系统。不同数据流和编码技术的选择性使用使得能够在具有各种处理能力的客户设备上生成高级用户界面。MPEG编码技术降低了复杂性,以能够获得对用户请求的更佳响应时间。也能够实现例如悬浮缩放的专门的用于界面特征。用于可缩放的用户界面的客户-服务器架构及方法。
Description
本申请为2005年6月3日提交的、名称为“用于可缩放的用户界面的客户-服务器架构及方法”的、中国申请号为200580017859.2(PCT/US2005/019705)的发明申请的分案申请。
相关申请
本申请与2004年6月3日提交的、题为“PVR架构规范上的ZUI”的第60/576,786号美国临时专利申请相关,并要求其优先权,该专利申请公开的内容通过引用并入本文。
背景技术
本发明描述了用于在通信系统(例如互动的电视系统)中的节点之间处理和传输多媒体数据,这些多媒体数据可用于创建例如家用的高级娱乐用户界面。
与通信信息相关的技术在过去的几十年里有了迅速的发展。电视、蜂窝电话、互联网和光学通信技术(这里仅列出几样)结合起来将消费者淹没在可得到的信息和娱乐选择中。以电视为例,最近30年来已经引入了有线电视服务、卫星电视服务、按次计费电影和视频点播。然而,20世纪60年代的电视观众在他们的电视机上通常只能够接收到也许是四或五个无线TV频道,今天的电视观众有机会在数以百计和潜在的数以千计的节目和信息频道中选择。目前主要在旅馆等中使用的视频点播技术提供了一种用于从数以千计的电影节目单中进行家庭娱乐选择的潜能。例如TiVo股份有限公司(加利福尼亚州奥维索金街2160,95002)推出的数字视频记录(DVR)设备进一步扩大了可以得到的选择。
为终端用户提供那么多的信息和内容的能力的技术给系统设计人员和服务供应商提供了机会和挑战。一个挑战是尽管终端用户通常更愿意拥有更多的选择而不愿意选择变小,但这种喜好与他们希望的即快速又简单的选择处理所相背。不幸的是,终端用户通过其来访问媒体节目的系统和界面的发展使得选择处理既不快又不简洁。再次考虑电视节目的例子。在电视处于初期时,确定看哪一个节目是相对简单的事情,这是因为可选择的数目较少。人们可以查阅印制的节目指南,该节目指南被格式化为例如一系列的行和列,这些行和列显示出了在(1)邻近的电视频道、(2)被传输到这些频道的节目以及(3)日期和时间。通过调节调谐钮,电视被调谐到所需的频道,并且观众观看到所选择的节目。在这之后,允许观众远距离调谐电视的遥控控制装置被引入。这种对用户-电视界面(interface)的增添产生了被称为“频道冲浪”的现象,借此,观众能够迅速地观看在大量频道中广播的短片段,从而可以快速得知在任意给定的时间什么节目是可看的。
尽管频道的数量和可观看的内容急剧增加,但通常可得到的用于电视的用户界面、控制设备选择和架构在过去的30年里没有太大的改变。印制的节目指南仍然是用于传递节目信息的最流行的机制。具有上下箭头的多按钮遥控器仍然是最流行的频道/内容选择装置。设计和实现TV用户界面的人们对可得到的媒体内容的增加的反应仅仅是对现存的选择处理和界面对象的直接延伸。这样,印制的节目指南中的行数被增加以容纳更多的频道。遥控装置中的按钮的数目也被增加以支持附加的功能和内容处理。然而,这种方法大大增加了观众浏览可得到信息所需的时间和执行选择所需动作的复杂度。有争议的是,现存界面的麻烦的本质阻碍了一些服务(例如视频点播)的商业应用,这是由于消费者反对给在他们看来已经是太慢和太复杂的界面再增加复杂度的新服务。
在由弗兰克·A.·亨莱斯于2004年1月30日提交的,美国第10/768,432号专利申请中描述了一种典型的控制架构,该架构具有用于组织、选择和运行媒体节目的可缩放图形用户界面。该专利公开的内容通过引用并入本文。该架构为上述的传统界面中存在的问题提供了示例性的解决方案。其中,该示例性的架构可以提供这样一种机制,即,用户可以显示与可用的媒体节目相关的元数据,用于使用户通过简单的使用方式来进行选择,但是使用户能够得到大量不同的媒体节目。本专利申请中描述的示例性框架的一个特征是,利用缩放在用户界面所显示的媒体对象的不同语义级别之间提供(和其他事情一起)视觉上的信息转换,并且作为用于将用户当前正在考虑的对象突出显示的机构。
系统架构和通信节点使这些类型的高级用户界面的实现复杂化,其中在处理用于生成这些界面的数据和将所述数据从各种数据源传输到例如电视机的终端用户设备时会涉及到系统架构和通信节点。如后面将要更加详细地描述的那样,该数据包括用于描述媒体内容的所谓的元数据。在本文中使用的术语“元数据”是指描述与用户可选择的媒体节目相关联的所感兴趣的特定内容的所有补充信息,以电影为例,元数据可例如包括:电影名称,内容叙述,种类,演员阵容,DVD封面的样式,价格/可用性,以及与其内容有关的权限(right)。除此之外,它还可以包括演员们的个人简历和所出演的全部电影目录,相似电影的链接,评论家的评论,电影观众的评论以及与元数据本身相关的权限。它还可以包括链接到用户感兴趣的内容的广告元数据等。在2005年1月18日提交的题为“元数据代理服务器及方法”的美国第11/037,897号专利申请中,描述了用于捕获、处理、合成和传递适于这种高级用户界面的元数据的示例性的系统,该专利申请公开的内容通过引用并入本文。
然而,所述数据一旦被捕获和处理,便需要采用以下方式将数据从例如系统的数据头端器(head-end)部分发送到例如机顶盒,即,利用这种方式能够提供足够的数据来绘制高级用户界面,同时要对时间延迟敏感并且在由传统硬件限制的范围内操作。因此,希望提供可以解决这些冲突的特性并能够产生高级用户界面的架构和方法。
发明内容
本发明的示例性实施方案提供了用于在例如电缆网络和/或互动电视网络的通信网络中通信和处理数据的方法和系统。不同数据流和编码技术的选择性使用使得能够在具有各种处理能力的客户设备上生成高级用户界面。
根据本发明的一个示例性的实施方案,一种用于在电缆通信网络中将用于生成可缩放的用户界面的数据从上游节点发送到客户设备的方法,可包括以下步骤:选择性地将要从所述上游节点发送到所述客户设备的数据识别为第一数据或第二数据;利用MPEG编码对所述第一数据进行编码;将通过MPEG编码的数据经由MPEG数据流发送到所述客户设备;利用不同于MPEG编码的第二类型的编码,对所述第二数据进行编码;利用第二数据流将所述编码的第二数据发送到所述客户设备。
根据本发明的另一个示例性的实施方案,一种用于在用户界面上产生悬浮缩放效果的方法,可包括以下步骤:将背景层数据和前景层数据发送到客户设备;显示背景层;识别与所述悬浮缩放效果有关的用户动作;响应于所述用户动作,将所述前景层显示为所述背景层上的重叠物。
根据本发明的又一个示例性的实施方案,一种用于对从上游节点传输到客户设备的数据进行MPEG编码的方法,包括以下步骤:估计与用户界面有关的运动向量,将所述运动向量发送到MPEG编码器,以及利用所述被估计的运动向量,对要传输的数据进行MPEG编码。
附图说明
图1(a)和1(b)示出了用于显示悬浮缩放特征的用户界面屏幕,其中所述用户界面屏幕可以利用根据本发明所处理的数据生成;
图2描述了可以利用根据本发明处理的数据来生成的另一用户界面屏幕;
图3是示出示例性的元数据类型和来源的表格;
图4示出了根据本发明的示例性实施方案的客户-服务器架构;
图5更加详细地说明了根据本发明的示例性实施方案的、图4的MPEG-2转换和场景编码器;
图6更加详细地说明了根据本发明的示例性实施方案的、图4的场景请求处理器;
图7更加详细地说明了根据本发明的示例性实施方案的、图4的客户端UI状态机;
图8描述了根据本发明的示例性实施方案的事件处理器、场景加载器、独占场景以及重叠场景之间的示例性的消息互动;
图9示出了与根据本发明的架构和方法有关的另一示例性的消息互动;
图10描述了根据本发明的示例性实施方案的、用于对与悬浮缩放效果有关的数据进行编码的技术;以及
图11说明了根据本发明的示例性实施方案的、用于传输到客户设备的数据的选择性编码。
具体实施方式
下面参照附图对本发明进行详细的说明。在不同的附图中,相同或相似的元件用同一参考标号表示。此外,以下对本发明的详细说明并不是对本发明的限制。相反,本发明的范围是由所附权利要求来限定的。
为提供上下文以便于讨论,图1(a)和1(b)示出了根据本发明的示例性实施方案的、利用服务器发送给客户的数据和指令创建的示例性的用户界面屏幕。在图1(a)和1(b)中,示例性用户界面屏幕的一部分示出了10个媒体选择项,其中所述用户界面屏幕可以基于传送到末端用户的系统(例如,机顶盒/电视或个人计算机)的信息来生成。若想获得与这一纯粹示例性的界面的更多信息(包括先前的屏幕和导航技术),感兴趣的读者可参看以上并入本文的第10/768,432号美国专利申请。应当理解,这种用户界面纯粹是示例性的,而且根据本发明的架构和方法能够被实现为支持其他界面。
图1(a)示出的用户界面屏幕具有多个媒体对象,这些媒体对象可被选择作为图像,例如DVD封面图像(cover art)。在图1(b)中,与电影“阿波罗13”有关的图像因初步选择(例如用户将光标(图中未示出)移到显示屏上的该图像上)而被放大。这种特征被称作悬浮缩放(hoverzoom)效果,并在标题“悬浮缩放”下的部分对其进行更为详细地描述。根据本发明的示例性实施方案,上述特征可以通过在节点(例如头端器和机顶盒)之间发送数据(例如元数据)和指令实现。在较下层次的用户界面中,可采用附加的数据,例如内容供应者传递的元数据,生成用户界面屏幕。例如,如图2所示,用户通过按下一个输入设备(未示出)上的按钮选择上述放大了的图像后,可以进一步放大来显示其他详细信息。例如,显示关于电影“阿波罗13”的上演时间、价格、演员信息等内容。本领域的技术人员应该理解,在这里还可以提供其它类型的信息。另外,该图形用户界面(GUI)还包括GUI控件对象,例如包括用于购买电影、观看预告片、或返回上一级GUI屏幕(这一动作也可以靠按下输入设备上的“缩小(ZOOMOUT)”按钮来实现)的按钮控制对象。从以下述方式处理后的元数据生成的超链接也可以使用户跳转到,例如与在图2的GUI屏幕右下角中标识出的电影相关的GUI屏幕,或者跳转到与该电影的演员相关的信息。在该实施例中,在标题“全部影片目录”下的部分或者所有电影标题可以按照超链接的方式实现,当用户通过输入设备启动这些超链接时,将为所选中的电影显示一个与图2形式相对应的GUI屏幕。用来生成图1(a)、1(b)以及图2中的界面屏幕的部分或所用信息来自于,由一个或多个元数据供应者提供、并根据本发明实施方案进行处理的元数据。
图1(a)、1(b)以及图2中的界面屏幕纯粹是示例性的,并且根据本发明发送和处理的元数据(以及其他数据)还可以用来支持其他界面或用于除了生成界面之外的其他用途。同样,根据本发明,可以接收和处理许多不同种类的元数据。图3的表格中列出了元数据的种类、来源和相关用途(例如TV浏览器界面、视频点播(VOD)界面以及音乐浏览器等)的实施例。对于该详细讨论,特别令人感兴趣的是与根据本发明的这些示例性的实施方案生成的用户界面有关的缩放特征。尽管本发明并不局限于用于生成可缩放的用户界面的技术或系统,但是对于与包括用户界面屏幕之间的缩放转换(transition)的用户界面一起使用来说,本文中所讨论的某些客户/服务器特征则是特别有益的。为了详细描述,术语“缩放”、“可缩放的”以及“缩放的”是指这样的一种技术,其中用户界面动作导致改变到用户界面的被显示的部分的技术,其中用户界面的被显示部分产生一致的并且为用户提供资讯的视景变化。缩放通常包括目标放大倍数(例如,照相机型的缩放)的改变,但是并不特别局限于此。例如,根据用户界面的缩放的另一方面是语义性缩放,其中包括以独立于放大的方式对经缩放的对象进行修改,例如,在语义性缩放之前,(在任意的放大级别下)向并未作为对象的一部分而出现的对象中增加文本或图形。若想获得与可缩放的用户界面有关的更多的信息,感兴趣的读者可以参考上面提到的、作为参考而并入本文的专利申请。
对于上下文来说,根据本发明的示例性实施方案的缩放转换的一个实施例是图1(a)和图1(b)的用户界面屏幕之间缩放转换,其中包括悬浮缩放的对象的放大倍数的改变,并且可选地包括对该对象的语义性缩放。另一个实施例是图1(b)和图2的用户界面屏幕之间缩放转换,其中与“阿波罗13”有关的图像的放大倍数发生了改变(例如,相对于图1(b)中示出的类似的图像来说在图2中被放大),并且为了在图2中使用而被转换。移动效果(Panning effect)也可以用来推动缩放转换。
图4示出了根据本发明示例性实施方案的、用于提供数据处理和传输的一般的客户-服务器架构40。其中,用户界面服务器42与客户端设备44通信,以便结合来自例如指示设备48的输入而在显示设备46上生成用户界面。用户界面服务器42和客户端设备44之间的数据(例如元数据和内容数据)通信可涉及用户界面服务器42和客户端设备44之间的任何数量的中间节点(未示出),其中包括网络集线器、分布式服务器以及类似的装置。此外,作为用户界面服务器42的一部分而示出的某些或所有的功能元件可以设置在这些中间节点的一个或多个内,或者位于系统40的头端器中。显示设备46例如可以是电视、计算机监控器/显示器、或任何其他的显示设备。客户端设备44可以实施为机顶盒、个人计算机、或包含处理单元的任何其他设备。指示器(pointer)48例如可以包括自由空间指示设备、鼠标、远程控制设备、跟踪球、操纵杆、或能够提供指示能力并可通过电线或以无线方式连接到客户端设备44的任何其他设备。
根据本发明的该示例性实施方案,服务器42包括转换和屏幕捕获器50、MPEG-2转换和场景编码器52、MPEG和ZSD高速缓冲存储器54、场景请求处理器56以及MPEG流发射器58,这些元件用来生成和管理到客户端设备44的MPEG-2数据流、以及接收和响应来自客户44的上游请求。转换和屏幕捕获器50自动收集用于生成用户界面的场景数据。在较高级别,这一点可以通过以下方式实现:导航通过被提供作为转换和屏幕捕获器50的输入的场景图(以及元数据和内容),以及调用MPEG-2转换和场景编码器52生成与所选的将要在显示设备46上显示的场景有关的、MPEG-2片断(clip)和场景描述文件。在标题为“场景描述数据格式”下面的部分,提供与根据本发明的示例性实施方案的场景描述文件和格式(在本文中也称作“ZSD”数据)有关的详细信息。
导航通过场景图涉及捕获并处理与可由用户界面生成的各种场景有关的数据。本文中所使用的术语“场景”通常是指与可以由用户界面生成的任何用户界面屏幕有关的框架,其中,虽然用于填充场景的至少某些数据将会发生变化,例如随着时间的推移,内容供应者会改变例如与他们提供的内容有关的元数据,但是上述场景是先验公知的,而不管根据本发明的用户界面的复杂性而动态性。因此,虽然图1(a)、1(b)以及图2仅仅示出了用户界面屏幕的一部分,但是完整屏幕的各个部分都将被视为场景。下面的表1列出了可以被收集用于每个转换的示例性的数据,表2列出了用于每个场景的示例性的数据:
字段 | 描述 |
起始场景ID | 起始场景的场景ID |
目标场景ID | 目标场景的场景ID |
聚焦指令 | 该指令用于使界面中的焦点移动到图标、按钮等,当所述图标或按钮被选中时,促使转换。聚焦指令的实施例是使鼠标指示器移动到图标上,从而使图标成为焦点。另一种聚焦指令可以直接激活悬浮缩放效果。 |
激活指令 | 该指令激活图标、按钮等,以便开始从“起始位置”到“目标位置”的转换。 |
表1——每个转换的信息
字段 | 描述 |
场景ID | 该场景的场景ID |
位置 | 用于起始场景的界面位置实例(instance) |
场景描述 | 用户提供的描述或自动生成的描述 |
表2——场景信息
因此,转换和场景捕获器50能够从例如包含完整的用户界面“全域”的数据库(图4中未示出),获取用于在用户界面中模拟所有期望的转换的所有必要信息。转换和场景捕获器50包括导航控制器和捕获控制器元件,当用户向界面生成命令场景转换的输入时,这些元件变为激活的。在较高级别下,导航控制器负责在每个转换和场景进行往返导航。示例性的导航控制器执行以下操作:(1)获得下一个转换,(2)导航到“起始”场景,(3)执行用于该转换的聚焦指令,(4)将场景和转换信息通知给捕获控制器,(5)执行激活指令,(6)动画制作(animation)结束时通知捕获控制器,(7)将相反的场景和转换信息通知给捕获控制器(用于方向转换),(8)调用goBack()程序,以及(9)动画制作结束时通知捕获控制器。
捕获控制器与MPEG-2转换和场景编码器52结合,以创建MPEG-2片段和ZSD文件。当转换开始和结束时捕获控制器接收来自导航控制器的通知,并且在每个动画制作步骤中调用MPEG-2转换和场景编码器上的程序。为了向用户提供进展的视觉指示,捕获控制器确保画布静静地(still)将可见的场景图绘制在场景上,并添加用于表明已经执行的转换的百分比的文本重叠(text overlay)。
图5示出了根据本发明的示例性实施方案的、MPEG-2转换和场景编码器52的详细实施例。例如图像、文本、元数据等的原始场景数据由转换和屏幕捕获器50传递,并被提供给对象提取单元502、客户绘制的特征提取单元504以及视频信息提取单元506。对象提取单元502(处理用户界面屏幕上的用户可互动的对象)和客户表现的特征提取单元504(例如处理悬浮缩放和文本、以及将要由客户端设备44绘制的特征),在绘制位置控制器508的控制下操作,以从原始数据流中提取出信息,并将其提供给ZSD编码器507,ZSD编码器507利用后面详细描述的场景描述格式对提取出的信息进行编码。可以不发送ZSD编码数据、或者利用MPEG-2数据封装器(encapsulator)509在MPEG数据流中发送某些或全部ZSD编码数据,作为MPEG帧内的私有数据字段的一部分,同时可以利用上面参照图4所描述的OOB链路来发送其他的ZSD编码数据。
视频信息提取单元506用于在绘制位置控制器508的控制下,提取出适于MPEG-2编码的视频信息。下面将参照图11来更加详细地描述,绘制位置控制器508选择性地确定将何种类型的编码(在该实施例中为MPEG或ZSD编码)应用于特殊数据的能力,以及采用该类型编码的益处。
如本文中所使用的那样,术语“MPEG编码”是MPEG-I、MPEG-2以及类似编码的总称,尽管本发明的某些示例性实施方案明确是指MPEG-2编码。与MPEG编码有关的一般的细节本质上是本领域的技术人员所公知的,并且进一步可以标准草案(例如ISO CD 11172)的形式获得。示例性的MPEG-2编码器500包括多个未编号的模块,这些模块根据上述标准来操作,以执行MPEG-2编码(运动估计单元510是例外,后面将对其进行更为详细的描述)。在各种MPEG-2标准文档中可以找到提供对MPEG编码器500的未编号模块更加详细的描述的MPEG编码器示例,例如,经过演化在ITU-T SGl 5.1(在ATM视频编码上公知为CCITT SG XV、工作组(Working Party)XV/1、专家组(Experts Group))与ISO/IEC JTC1/SC29 WGl1(MPEG)之间起到结合作用的测试模型(Test Model)5文档。具体地,测试模型5的MPEG版本公知为MPEG 93/225b,而测试模型5的ITU版本公知为AVC-445b,上述标准公开的内容通过引用并入本文。MPEG编码数据存储于MPEG/ZSD高速缓冲存储器单元54中,以便随后发送到客户端设备44。
对于图5中示出的示例性的MPEG-2转换和场景编码器52特别感兴趣的是编码器提示收集器512和运动估计器510。在MPEG-2转换和场景编码器52中,MPEG编码器500的一个方面是其能够快速而有效地对正在编码的MPEG数据进行高级别的压缩。除了别的之外,可以利用每个场景相对于用户界面中的其他场景的位置信息来实现这一点,而在根据本发明的示例性的用户界面中,这种信息被先验地限定。这就选择性地简化了标准MPEG运动估计算法,进而加速MPEG编码处理和/或减少需要专门用于MPEG编码处理的处理功率大小。更具体地,当对MPEG数据流中的连续MPEG帧进行编码时,用于执行编码的信息的一部分是与像素块从一个MPEG帧移动到下一个MPEG帧(和/或从前一个MPEG帧后退到当前MPEG帧)有关的信息。例如,如果第一个MPEG帧中的像素块只是移动到第二个MPEG帧中的新屏幕位置,那么确定并发送与该像素块有关的运动向量,通常要比对整个像素块进行重新编码并重新发送它们更有效。类似地,如果该像素块已经经历了相对统一的色差(例如,经历了照明效果),那么提供运动向量和某些色差信息则比重新发送整个像素块更有效。
为了适应随机的对象移动以支持所有类型的压缩格式,例如视频数据压缩,标准MPEG运动估计算法搜索像素块数据,以确定哪些像素块(以及在哪个方向上)从帧到帧移动。例如,被称作完整像素搜索的某些搜索利用16×16的块,而被称作半像素搜索的其他搜索利用16×8的块。这些搜索尤其是对高清晰度的视频数据来说计算负责,并且已经被估计为需要与标准MPEG编码器500执行的操作有关的处理时间/功率的80%(例如在没有通过引入编码器指示收集器512的修改的情况下)。因此,根据本发明的示例性的实施方案,由于这些客户/服务器架构所生成的用户界面不涉及对象的随机移动,所以简化了与MPEG编码有关的运动估计。例如,在图1(b)与图2的示例性的用户界面屏幕之间的转换中,与“阿波罗13”有关的图像从显示屏上的第一位置移动到显示屏上的第二位置(可选地带有一些放大),其中这两个位置是编码器指示收集器512先验公知的,并且编码器指示收集器512可以根据这两个位置来计算MPEG运动向量。
因而,编码器指示收集器512可以利用指令将MPEG运动向量传递到运动估计单元510,以便利用被传递的运动向量来执行MPEG压缩,而不是根据标准MPEG技术执行搜索。然而,使用相关的用户界面屏幕知识生成MPEG运动向量并不总是能够生成有效的MPEG运动向量(例如,由于被指定用来表达MPEG运动向量的位数的限制)。因此,编码器指示收集器512还能够命令运动估计单元510,采用标准MPEG搜索算法在逐帧(或其他)基础上确定运动向量。除了(1)利用完全采用标准MPEG搜索算法生成的运动矢量、或(2)利用全部由编码器指示收集器512(而不是采用标准MPEG搜索算法)生成的运动向量之外,可以根据本发明来确定的第三类运动向量是基于能够由编码器指示收集器512得到的信息,由MPEG搜索算法(具有的搜索范围是有限的)计算出的运动向量。
再返回来参照图4,模块50和52所生成的MPEG数据和场景描述数据可以存储在存储设备54中,以便在需要时由场景请求处理器56取回。场景请求处理器56处理客户端44对场景的请求,例如,如果客户端用户界面状态机62接收到与指示器48有关的光标停留在与“阿波罗13”有关的图像(图1)上的指示,那么便向场景请求处理器56发送回一请求,以启动悬浮缩放场景(下面对此进行描述),或者如果客户端用户界面状态机62接收到用户想要浏览与“阿波罗13”有关的更详细的场景(图2)的指示,那么便向场景请求处理器56发送回一请求,以启动该场景。场景请求处理器56响应于该上游请求,将MPEG-2转换和场景描述数据返回给客户端44。根据下面更加详细地描述的示例性实施方案,对于某些上游请求,场景请求处理器56可以动态地确定MPEG数据、场景描述数据或二者的某些组合是否适于为该请求服务。图6说明了场景请求处理器56的详细的实施例。
在图6中,客户端请求处理器600协调所有的客户交互,例如通过解释客户请求并将这些请求分派给场景请求处理器56内的适当组件。例如,客户端请求处理器基于每个客户跟踪状态和统计数字,并将这些信息存储到数据库602中。带外(OOB)的客户端通信组件604处理通过OOB信道与客户进行的所有通信,其中包括响应连接请求和提取协议请求。视频重放控制功能606协调MPEG-2流生成组件(例如场景循环生成器608和转换重放功能610)的操作。场景环生成器608生成用户界面场景环,并且在没有发生转换时将其发送。转换重放功能610加载MPEG-2转换和场景编码器52先前生成的MPEG-2转换流(例如,经由高速缓冲存储器54),并将其发送到被请求的客户。转换重放功能610可以同时服务于多个MPEG-2转换流。MPEG-2传输流封装单元612在适当时对MPEG-2传输流进行更新,并将其转送到UDP封装单元614,其中UDP封装单元614将MPEG-2传输流分组聚集在一起,并通过UDP将其发送到IP,进而发送到MPEG流发射器58中的QAM网关(图中未示出)。
再参照图4,位于服务器一侧的MPEG流发射器58、以及位于客户端一侧的MPEG流接收器64和MPEG解码器66使得两个元数据能够通信,例如用于填充图2的用户界面屏幕中示出的文本字段的数据,以及经由视频流动协议链路的内容。可以利用现成的组件来实施MPEG流发射器58、接收器64和解码器66,因此在本文中不对其进行详细描述。然而,对与这些组件有关的细节、以及其中可以实施本发明的其他示例性的交互式电视系统架构感兴趣的读者,可以参考Jerding等人的第6,804,708号美国专利,该专利申请公开的内容通过引用并入本文。屏幕显示(OSD)图形控制器68从客户状态机62接收场景数据,以及从光标控制器69接收输入,以生成用于用户界面的重叠图形和本地动画,例如缩放的转换。分别由解码器66和OSD图像控制器68输出的MPEG视频数据和OSD视频数据由视频组合器70进行组合,并转交给显示设备46,以生成用户界面。如上所述,图1(a)中示出的DVD封面艺术图像是利用MPEG视频数据创建的用户界面元素的实施例,而图1(b)中的“阿波罗13”图像的缩放版本和图1(a)的用户界面屏幕右上角的圆形图标是利用场景描述数据生成的用户界面元素的实施例。
对于本发明的示例性的实施方案,特别感兴趣的是客户端用户界面状态机62,图7提供了客户端用户界面状态机62的更为详细的实施例。客户端用户界面状态机62解释场景数据和/或从场景请求处理器56接收的脚本,以便在客户端设备44上呈现用户界面场景(例如,如图1(a)、1(b)和图2所示)。客户端用户界面状态机62还可以从头端器42(如方框700所表示的)或本地硬盘驱动器702重新得到场景数据和MPEG-2转换片段。本领域的技术人员应该理解,根据涉及到的系统和/或客户端设备类型,只有一种数据源700,702可以出现在本发明的特定实施中,或者可以使用某些其他类型的数据源。带外(OOB)通信704可以用来通过例如PowerTV、Linux、Win32等的操作系统(OS)706和操作系统入口层708,向客户端用户接口状态机62提供信令和指令。OS706和OS入口层708还可以跟踪与用户界面有关的用户活动,并向事件映射功能710提供数据。事件映射器710将用户界面数据(例如,光标移动、语音指令输入、自由空间指示器的运动等)转化成在用户界面中可能需要某些变化的事件,例如显示变化、音频变化、缩放转换等。例如,当用户的光标在图1(a)中的“阿波罗13”的图像上悬浮和经过时,事件映射器710可以从OS接收原始的光标数据,并将其映射为例如悬浮缩放事件,而悬浮缩放事件导致图像如图1(b)所示那样被稍微放大,后面将对此进行更为详细的描述。如另一个实施例所示,如果OS 706、708将按钮单击事件传递到事件映射器710,而光标位于图1(b)中的“阿波罗13”图像的放大版本上,表明用户想要获得与该电影有关的更多细节,那么事件映射器710可以识别与此有关的“向详细查看事件的转换”,从而导致向图2的用户界面屏幕的转换。
事件映射器710检测到的事件排列在事件队列712中,以便由事件处理器714处理。事件处理器714通过从事件队列712中接收事件,并基于例如当前的活动场景数据和/或脚本将其分派到活动库716中,以协调客户端用户接口状态机62的活动。基于检测到的事件,活动库716结合场景数据加载器720以及各种存储单元718、722进行操作以生成对当前被显示的用户界面屏幕的改变,后面将参照场景数据的讨论来对此进行更为详细的描述。
场景描述数据格式
已经描述了用于生成根据本发明的示例性实施方案的用户界面的某些示例性服务器/客户端架构,现在将描述可以与该架构一起使用的第二个示例性的数据格式(除了MPEG/MPEG-2格式之外)。尽管其他数据格式可以与本发明一起使用,但是该示例性数据格式有效地创建使客户端设备44能够对用户互动和系统事件作出响应的状态机。该数据格式可任意扩展到支持非常低功耗的客户端设备44和高端客户端设备44,例如PC。该示例性场景数据格式(也被称作“ZSD”格式)的其他目的包括主题支持、将来的语言支持、演示(demo)脚本以及自动测试支持。
ZSD格式支持两类场景:独占场景和重叠场景。在本文中,独占场景被简称为场景,因为独占场景占据了整个屏幕并且包含主要的用户互动元素。重叠场景描述了客户端用户界面状态机62在独占场景上方逻辑地重叠的全部或部分场景。当独占场景随着用户导航而变化时,重叠场景可以或不可以变化。这使得重叠场景能够支持可以跟随用户从独占场景导航到重叠场景的特征,例如音乐控制、全局导航、书签等。重叠场景最初由独占场景启动,但重叠场景可以启动其他重叠场景。尽管可能中止所有的重叠场景,但是重叠场景基于来自用户的互动或基于当前的独占场景来控制自身的寿命。独占场景和所有的重叠场景逻辑上存在于自己的命名空间中。为了使ZSD元素引用其他场景中的元素,本文中所描述的ZSD引用(reference)可被修改为包括指定命名空间的字段。场景内的通信对于例如通知重叠场景在独占场景中包含什么的操作来说是有用的。为了支持场景内通信,发送器触发动作以生成事件。这些事件然后由事件处理器714分派到各个场景。当事件中包含源ID时,该ID被映射到目的场景中的等价源。如果目的场景中不包含等价源,事件处理器714便继续尝试将该事件分派到下一个场景。
每个独占场景都在客户端连续经历以下状态:(1)已登陆,(2)已加载,(3)稳态,(4)卸载,以及(5)退出。当独占场景的ZSD数据开始被解码时,独占场景便进入登陆状态。此时,事件处理器714唤起加载事件,以便独占场景能够执行任何初始动作。一旦事件处理器714完成加载事件分派处理,独占场景便进入已加载状态。此时,事件处理器714可以使未决事件处于其队列712中。事件处理器714清除该队列712,然后将独占场景转换为稳态。图8说明了采用场景成员(membership)消息以示出所有状态中的事件处理的示例性独占场景的生命周期。用于卸载独占场景的过程本质上是加载处理的逆处理。对于这种情况,GoToScene或其他场景改变动作发起卸载处理。此时,独占场景改变为卸载状态。一旦所有的ZSD卸载处理结束,处理便转换到退出状态,其中客户可以可选地保留某些或全部独占场景的ZSD数据。独占场景的状态改变被传达到所有当前已加载的重叠场景,以便重叠场景可以采取行动(如果需要的话)。
重叠场景独立存在于独占场景上方。例如,在图1(a)中,右上角所描述的三个图标(首页、向上箭头和TV)可以实施为独占场景(在MPEG层中实施的各种DVD封面图像)上的重叠场景。图1和图2中未示出的另一示例是将音量控制和/或信道选择用户界面对象供应为重叠场景。重叠场景的中止可以在其自身场景内完成,或者通过独占场景的请求来完成。此外,场景成员通知(SceneMembershipNotifcation)事件可以用来将重叠场景的寿命限制为例如图9所示的独占场景的特定组。独占场景中属于该场景组的每个在被加载时可以发送场景成员通知(SceneMembershipNotifcation)消息。与该场景组有关的重叠场景可以利用独占场景改变(ExclusiveSceneChange)事件和场景成员通知(SceneMembershipNotifcation)消息,来表明重叠场景是否应当保持被加载状态或应当使自己停止。只要收到与其场景组匹配的场景成员消息(SceneMembershipNotifcation),重叠屏幕便可以保持被加载状态。下面将更为详细地描述(图9中提到的)三元组(triple)表。
根据本发明的一个示例性实施方案,每个场景包含下面的描述信息:
字段 | 描述 |
场景ID | 用于该场景的全局唯一的ID |
描述 | 可选的字符串描述以帮助开发者识别该场景 |
场景尺寸 | 用于布置场景的尺寸 |
ZSD格式版本 | 该字段具有整数值1 |
ZSD概况 | 该字段为最小被支持的概况的名称。当前它可以取的值为“简单和高级”。 |
最大动作堆栈尺寸 | 该字段指定可以压入该场景的动作堆栈的最大元素数。 |
高速缓冲存储器特性类型 | 该字段规定ZSD解释器如何可以高速缓冲存储该场景。 |
高速缓冲存储器特性值 | 该字段可以用来基于高速缓冲存储器特性类型规定32位整数值。如果该字段未被使用,那么它应当被设定为0。 |
表3——场景消息字段
为了改善ZSD加载时间性能,客户端设备44可以可选地实施ZSD高速缓冲存储器722。当高速缓冲存储行为不再有用时,ZSD编码的场景将高速缓冲存储特性指定给直接客户。例如,暂时重要的信息(例如运动分数)不应当被高速缓冲存储较长时间。表4列出了示例性的高速缓冲存储特性的类型,并描述了它们的用途。
高速缓冲存储器特性类型 | 描述 | 特性值单位 |
超时(timeout) | 超过指定的秒数之后,该场景超时(0秒表示未进行缓冲存储) | 秒 |
表4——高速缓冲存储器特性
根据本发明的示例性的场景数据格式具有四种基本的类型(在本文中有时称作“元素”),具体为:对象、事件、动作以及源。在较高级别,对象描述例如用于MPEG层中的按钮和图标的边界、重叠文本和重叠图像的场景组件。事件描述与场景有关的通知。这些事件包括鼠标(指示器)移动事件、键盘事件、应用状态改变事件等。动作描述对例如进入另一场景的事件作出的响应,最后,源包含对象、事件和动作所使用的原始数据,例如图像数据。后面将更为详细地描述这些数据类型中的每一个数据类型。
表5-8描述了根据本发明的示例性实施方案的、示例性的对象类型以及与其有关的参数。
对象类型 | 值 | 参数 | 描述 |
整个场景 | 0 | 无 | 整个场景对象、OID 0具有该类型 |
边界 | 1 | X,Y,宽度,高度 | 该对象指定场景坐标系统中的矩形边界。 |
PNode | 2 | X,Y,宽度,高度,父辈对象 | 该对象指定具有被指定的边界的PNode。 |
表5——对象类型
名称 | 对象ID | 类型 | 描述 |
整个场景 | 0 | 整个场景 | 整个场景 |
预留 | 1-63 | N/A | 预留 |
表6——预留的对象ID
对象类型 | 简单概况 | 高级概况 |
整个场景 | √ | √ |
边界 | √ | √ |
PNode | × | √ |
表7——对象类型支持
特性类型 | 参数 | 需要用于: | 可选用于: |
光标 | 光标源ID | 整个场景 | 边界,PNode |
表8——对象特性
像其他的场景描述格式元素一样,每个事件分配一个全局唯一值。一些事件类型采用过滤器来限制它们触发的动作。例如,按压键(OnKeyPress)事件采用感兴趣的键。除了过滤器之外,事件可以将源压入动作堆栈,这将在后面描述。动作可以采用堆栈中的信息来修改它们的行为。表9在下面列出了示例性的事件类型。重叠场景通过调度程序(dispatcher)来影响事件的传播。调度语义学在表中被缩写为:
1.活动——调度程序只将事件发送到活动的场景。例如,当场景被加载时,加载(Unload)事件仅被发送到该场景。
2.具有源过滤器的场景——调度程序只将这些事件发送到包含用于该事件的源表的项的场景。在迭代通过场景的三元组表之前,事件调度程序将事件中的源ID重新映射到它们在场景中的等价的源ID。
3.唯一重叠(Overlays Only)——调度程序只将这些事件发送到重叠场景。
4.两者(both)——调度程序首先将该事件发送到重叠场景,然后再发送到独占场景。
事件类型 | 值 | 语义学 | 过滤器 | 动作堆栈 | 描述 |
加载(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 | 两者 | 无 | 无 | 当相关的对象失去焦点时,该事件被发送。 |
通知场景成员(OnSceneMembershipNotification) | 11 | 具有源的变量的场景 | 场景成员源ID | 场景成员源ID | 当发出通知场景成员动作时,该事件被发送。 |
向上滚动(OnScrollUp) | 12 | 两者 | 轮 | 轮 | 对于指定的滚动轮向上移动的每个标记(notch),唤起该事件。 |
向下滚动(OnScrollDown) | 13 | 两者 | 轮 | 轮 | 对于指定的滚动轮向下移动的每个标记,唤起该事件。 |
超时(OnTimeout) | 14 | 两者 | 定时器 | 定时器 | 当定时器超时时,该事件被唤起。 |
激活(OnActivate) | 15 | 两者 | 无 | 无 | 当对象被激活时,该事件被唤起。 |
独占场景改变(OnExclusiveSceneChange) | 16 | 唯一重叠 | 已登录、已加载、正在卸载、已退出 | 无 | 当独占场景改变时,该事件被唤起。该变量指定场景改变的准确时刻。参见场景生命周期序列图。 |
卸载(OnUnload) | 17 | 两者 | 无 | 无 | 当对象由于场景变化而被卸载时,该事件被唤起。 |
表9——事件类型
在本文所描述的机构和方法的操作中,对象事件的结果为动作。在ZSD动作表中,可以将动作连接在一起以构成程序。为了方便将参数从事件传递到动作、以及从动作传递到被连接的动作,ZSD解释器保持动作堆栈。在调度动作列表中的第一个动作之前,对动作堆栈进行初始化,其中,动作列表顺序地具有以下项:
1.位于三元组表的项中触发动作的对象
2.位于三元组表的项中触发动作的事件
3.来自事件的被压入动作堆栈的元素
在调度每个动作之前,ZSD解释器逻辑上将动作的参数压入堆栈。为了简化,在实施时可以将与内置的动作有关的行为短路。每个动作类型都指定其堆栈的用途。总的来说,ZSD解释器将只能分配较小的动作堆栈(例如16-32个元素),因此堆栈的使用应保持为最小限度。为了保证ZSD解释器总是具有足够的堆栈,ZSD编码器必须在首部(header)指定最大的堆栈尺寸。所有动作类型都应当避免递归,以简化最大堆栈尺寸的计算。表10中列出了示例性的动作类型。
表10——动作类型
表11列出了可以与本发明一起使用的示例性的源。
源类型 | 值 | 参数 | 描述 |
UTF8串 | 0 | UTF8串 | 该源类型保持来自UTF8字符集的字符串。这些串不可以超过256 |
个字符。 | |||
统一编码串(UnicodeString) | 1 | 统一代码串 | 该源类型拥有统一编码的字符。这些串不可以超过256个字符。 |
MPEG-2转换片段 | 2 | 场景ID,场景ID,MPEG-2片段 | 该源类型指向用于在两个场景间转换的MPEG-2片段文件。场景为具有硬盘支持的客户或服务器,列出了所有MPEG-2片段。这些片段可以基于当前的主题(theme)而变化。 |
光标 | 3 | 图像 | 该源类型拥有光标图像。 |
图像 | 4 | 图像 | 该源类型拥有图像。 |
悬浮缩放 | 5 | PixMask,FGTransPix,FGOpaquePix,BGPix | 该源类型拥有用于创建悬浮缩放的图像数据。 |
场景成员 | 6 | UTF8串 | 该源类型识别例如属于应用程序的场景成员 |
重叠场景 | 7 | 场景 | 该源类型拥有用于重叠场景的内嵌的ZSD描述。 |
表11——源类型
根据本发明的示例性的实施方案,场景描述格式将所有场景互动信息分组在五个表中:对象表、事件表、动作表、源表以及一个或多个三元组表,如表12-17所述。分割成表可以消除大多数的冗余的信息,并且能够快速查找低端客户端44的互动行为。
表 | 描述 |
对象表 | 该表列出了场景中的所有对象。对象可以是例如PNode的高级别的实体,或者仅仅是场景上的区域。 |
时间表 | 该表列出了需要在该场景上处理的所有事件。客户可以忽略该表中未列出的任何事件。 |
动作表 | 该表列出了可以在该场景的对象上调用的所有动作。 |
源表 | 该表包含串和图像。其主要用途是从上面的表中分离出串和图像数据,以便对于服务器来说切换主题和语言是不重要的。 |
三元组表 | 该表联合了对象、事件和动作。zSD编码可以包括一个以上的三元组表,并且可以利用动作来在活动的事件之间切换。这使得能够在场景内创建状态机。 |
表12——ZSD表
字段 | 描述 |
对象ID | 用于该对象的唯一ID。OID数字0代表整个场景 |
对象类型 | 对象的类型 |
描述 | 使XML更清楚的可选的串描述 |
参数 | 描述对象的附加参数 |
表13——对象表字段
字段 | 描述 |
事件ID | 用于该事件的唯一ID |
事件类型 | 事件的类型 |
描述 | 使XML更清楚的可选的串描述 |
参数 | 描述事件的附加参数 |
表14——事件表字段
字段 | 描述 |
动作ID | 用于该动作的唯一ID。OID数字0代表整个场景 |
动作类型 | 动作的类型 |
下一个动作 | 将要运行的下一个动作的动作ID。将无动作(NoAction)实例指 |
定为停止执行动作。指定动作循环是无效的。 | |
描述 | 使XML更清楚的可选的串描述 |
参数 | 描述动作的附加参数 |
表15——动作表字段
字段 | 描述 |
源ID | 用于该源的唯一ID。OID数字0代表整个场景 |
主题ID | 用于该源的主题ID |
语言ID | 用于该源的语言ID |
源类型 | 源的类型 |
描述 | 使XML更清楚的可选的串描述 |
参数 | 描述源的附加参数 |
表16——源表字段
字段类型 | 描述 |
对象ID | 三元组的对象 |
事件ID | 监控事件 |
动作ID | 在收到事件后调用的动作 |
布尔值 | 如果该三元组与事件匹配,其为真,以终止事件处理 |
描述 | 使XML更清楚的可选的串描述 |
表17——三元组表字段
与根据本发明的示例性场景数据格式有关的各种附加信息,可以从上面通过引用并入本文的在先申请中获得。
没有本地存储的客户端设备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 | 服务器 | 生成并唤起客户端的指定事件。这些事件为在保持模式中被唤起的事件。客户端仅在调试模式中接受该消息。 |
保持(Lookout) | 9 | 服务器 | 保持/解锁客户端的所有由用户生成的事件。示例性的事件包括鼠标和键盘事件。客户端仅在调试模式中接受该消息。 |
识别(Identity) | 10 | 客户端 | 每当客户端建立与服务器的连接时才会发送该消息来识别自己。 |
通知服务器上下文 | 11 | 客户端 | 当客户端的服务器上下文缓冲器不为 |
(NotifyServerContext) | 空并且动作指令调用服务器通知或请求时,客户发送该消息。 | ||
请求屏幕捕获(RequestScreenCapture) | 12 | 服务器 | 服务器发送该消息来请求客户端获得屏幕的快照,并在屏幕捕获(ScreenCapture)消息中将其发送回服务器。 |
屏幕捕获(ScreenCapture) | 13 | 客户端 | 这是对请求屏幕捕获消息的响应消息。其包含所快照。 |
表18——客户-服务器消息
悬浮缩放
如上所述,根据本发明的示例性客户-服务器架构和方法的一个特征在于,能够在客户端生成的复杂用户界面,尽管考虑到与某些现有的客户端设备有关的可用的存储器和/和处理功率的数量相对较少。可以参照在本文中被称作“悬浮缩放”的用户界面互动,来了解上述系统和方法解决该问题的一个示例方式,例如这样一种过程:当用户在可以被选取的媒体节目上滚动光标和/或使指示器相对于其中止时,与该媒体节目有关的图像被放大,以使用户可以容易地看到哪个对象为选择做好了准备,图1(a)和1(b)说明了该过程的一个实施例。
在带宽有限的系统(例如其中客户端设备限制了存储器和/或处理功率的互动电视系统)中,实现悬浮缩放特征存在多个挑战。考虑这样一个实施例:其中使图1(a)中示出的用户界面屏幕,利用从用户界面服务器42发送到客户端44的MPEG数据流(包含与各种电影有关的封面艺术图像)进行绘制。用户界面屏幕的该视觉部分在本文中被称作背景层。当事件映射器710和事件处理器714意识到用户已经触发了悬浮缩放响应时,前景层(例如,“阿波罗13”图像的放大版本)被生成,并且被用来修改图1(a)的用户界面屏幕。有几种可能性来提供用于实现从图1(a)中示出的用户界面屏幕到图1(b)中示出的用户界面屏幕的转换的数据。实现悬浮缩放效果的一种方式是,使用户界面服务器42将对应于背景层和前景层的全部MPEG数据集发送到客户端44。然而,当考虑到用户可能快速地使光标滚动过用户界面中的潜在的大量屏幕对象时,用户界面服务器42需要发送相当大的数据量来实现本发明的该示例性实施方案,从而导致在实现客户端设备44上的屏幕转换时产生额外的延迟。
此外,从图1(a)与图1(b)的比较中可以看出,与图1(a)的未缩放版本有关的像素数据的重要(significant)部分,在创建图1(b)的悬浮缩放版本时被重新使用。因而,根据本发明的另一个示例性的实施方案,可以确定背景层中的像素与前景层中的像素之间的关系,并可以用它来减少需要发送到客户端设备44的数据的量,以产生悬浮缩放效果。依赖于将要被放大作为悬浮缩放效果的一部分的对象,这种关系可以相对简单一些或稍微更复杂一些。例如,放大图1(a)中的矩形DVD封面艺术图像的尺寸,主要涉及将矩形图形放大,以遮住作为转换的一部分的相邻的图像。另一方面,更复杂的形状(例如中心有孔的圆环形状的对象)在产生悬浮缩放效果时存在更复杂的情况。考虑到由于圆环形状的对象被放大,因此中间的孔将会扩张,从而使先前被隐藏的背景层像素在悬浮缩放效果出现之后显露出来。
根据本发明的一个示例性实施方案,图像的前景版本中的每个像素被归类为属于以下几类之一:(1)完全不透明的(可以从背景层中提取出像素颜色,因此不需要为了生成前景层而重新发送),(2)透明的(不相关的,因此不需要为了生成前景层而重新发送),(3)半透明的(例如,可以在图像边缘周围的像素上采用抗混叠技术,并且需要为这些像素发送前景层数据)以及(4)空(NULL)(例如,使背景像素显露出来的圆环性“孔”像素,需要发送背景层数据,因为不一定是从最初被发送用来创建未缩放的界面屏幕的背景层中,提取出了这些背景层数据)。能够使用任何希望的技术(包括人眼观察)和/或使用下面描述的伪代码处理技术,先验地进行这种分类,并生成前景/背景图,其中前景层中的每个像素被分类。悬浮缩放图被存储用于用户界面中触发悬浮缩放效果的每个图像。
捕获背景
for(node=scenegraph.rootO;node!=foreground node;node=nextnode)if(node bounds within foreground bounds)
paint node to background image
捕获前景
用前景初始尺寸(low-res foreground)绘制图像的前景节点
用前景最大尺寸(high-res foreground)绘制图像的前景节点
在映射之后,将该数据进行编码,以减少需要在步骤1010和1012保存和发送的数据的量,并且利用例如下面的伪代码、基于透明度(alpha)信息估计背景像素的相关性。
捕获透明度信息
计算前景节点起始边界,计算前景节点结束边界
创建具有前景起始边界尺寸的透明度图像,其中所述前景起始边界只包含透明度值,并且该透明度值被初始化为不透明
设定图像的透明度合成规则,以保持其当前值和绘制在前景起始边界上的像素值中的最小值
while(foreground.size()<ending bounds)对透明度图像画前景增加前景的尺寸
当前景尺寸小于结束边界时,将前景绘制在透明度图像上,以增大前景尺寸
计算背景图像需要哪些像素
透明且不相关的原始背景图像中的任何像素
对于所有保留的相关背景像素
If(low-res foreground pixel is transparent)
Background pixel is irrelevant
Else if(low-res foreground pixel is opaque and capturedalpha pixel is opaque)
Background pixel is irrelevant
Else
Background pixel is relevant
根据需要,以这种方式对特定的图像进行解码,大多数前景层像素将被指定为不透明的,并且不需要被重新发送到客户端设备44以产生悬浮缩放效果。
图10概括地说明了根据本发明的该示例性实施方案的悬浮缩放处理。在图10中,提供了图像的MPEG(背景)版本1000和例如PNG或JPEG的将要被放大的图像(例如,图1(a)中的阿波罗13)的未缩放版本1002。背景图像1000与图像的未缩放版本1002合并,并且在步骤1006进行压缩之后,在MPEG数据流中将其发送到客户端设备44。在步骤1008,从存储器中重新获得上面描述的前景/背景图,并且利用该前景/背景图来确定需要发送与前景层和背景层有关的哪些像素数据。在步骤1010和1012,对这些像素数据进行编码(压缩),将其保存为ZSD图像文件,并将其发送到客户端设备44。尽管本发明的该示例性实施方案将这些信息作为场景数据(ZSD数据)(位于MPEG数据流之外)进行发送的,但是这些信息也可以可选地嵌入MPEG数据流中。
通过阅读前面对根据本发明的示例性实施方案的悬浮缩放技术的讨论,应当理解的是,通过智能地选取用于待发送的特定数据的编码流,可以解决在客户端设备(其连接到例如电缆网络)生成复杂的用户界面(例如,采用缩放的用户界面)时存在的某些挑战。在前述的悬浮缩放的实施例中,利用在这种网络中可以获得的MPEG编码流来发送背景数据,而利用不同类型的编码(如上所述)来发送前景信息(被处理用于通过OSD层进行呈现)。然而,本发明的示例性实施方案预期其他的服务器/客户数据传输从下面的处理方式中受益:在向客户端设备44供应数据上游节点之一处选择性地确定,什么类型的编码/数据流对于要被发送的数据(尤其是与缩放用户界面有关的数据)是适合的。
图11示出了上述的一般概念。在图11中,在模块1100对数据进行估计,以确定它是第一数据还是第二数据,并且选择性地确定用于处理数据的编码的类型(和相关的发送数据流)。第一数据和第二数据可以是不同类型的数据或者是具有不同特征的相同类型的数据。前者的一个示例为悬浮缩放数据(背景数据为第一数据,而前景数据为第二数据)。后者的一个示例为文本。MPEG编码对于文本的编码并不是特别有效,因此希望在某些情况下利用其他类型的编码来对文本进行编码,例如,如果要发送的文本小于预定的字体大小(例如,16个点)的话。
根据本发明的示例性实施方案的用于处理元数据的系统和方法,可以由运行存储设备(未示出)中所包含的指令序列的处理器来执行。可以从例如辅助数据存储设备的其他计算机可读的介质中将这种指令读入存储设备中。存储设备中所包含的指令序列的运行使得处理器例如如前所述那样操作。在可选的实施方案中,硬连线电路可以用来取代软件指令或者与软件指令结合,以实现本发明。
上述的实施方案在所有方面都是为了说明本发明,而不是限制。因此,在具体实现中本领域的技术人员可以从本文中包含的说明中推出本发明的许多变体。例如,尽管在前述的示例性实施方案中已经描述了MPEG编码和MPEG数据流,但是应当理解的是,不同类型的编码和数据流可以部分或全部取代MPEG编码和MPEG数据流,例如在基于Windows媒体内容中使用的视频编码和类似的编码。此外,尽管将(MPEG)图像和/或视频数据描述成是通过所有或部分电缆网络传输的,但是本发明同样适用于其中图像和/或视频数据在本地是可获得的(例如在家用磁盘上或者从本地服务器)的系统。所有这些变体和修改都被认为是落入了所附的权利要求所限定的保护范围。除非有明确说明,否则本申请的说明书中所使用的所有元素、行为、或是指令均不可被解释为本发明的关键点或基本点。同样,这里所使用的冠词“一”趋向于包括一个或多个。
Claims (43)
1.一种用于在包含显示器的客户端系统上生成缩放的用户界面的方法,包括以下步骤:
在所述显示器上生成第一用户界面屏幕;
接收用户的输入;
所述客户端系统发送对指令的请求,以实现与所述请求有关的缩放转换;
接收所述指令;以及
在所述显示器上生成第二用户界面屏幕和所述缩放转换,其中所述缩放转换包括:
修改从所述第一用户界面屏幕上示出的多个图像中选择的一个图像的大小,以及在所述第二用户界面屏幕上示出所修改的图像。
2.如权利要求1所述的方法,其中所述缩放转换是进行悬浮缩放,所述第二用户界面屏幕描绘所述第一用户界面屏幕中的所述多个图像之一的放大版本,所述多个图像之一由所述用户选取,并且部分遮掩所述多个图像中的其他图像。
3.如权利要求1所述的方法,其中所述缩放转换包括对所述多个图像之一进行放大和转换。
4.如权利要求3所述的方法,其中所述第二用户界面屏幕描绘与所述多个图像中被选取的一个图像有关的额外细节。
5.如权利要求1所述的方法,其中所述客户端系统包括电视机。
6.如权利要求1所述的方法,其中所述客户端系统包括机顶盒。
7.如权利要求1所述的方法,其中所述客户端系统包括个人计算机。
8.如权利要求1所述的方法,其中利用包括对象、事件、动作和源中的至少之一的场景数据格式提供所述指令。
9.如权利要求8所述的方法,其中所述对象描述与所述第二用户界面屏幕有关的成分,包括用于MPEG层中的按钮和图标的边界、重叠文本和重叠图像中的至少之一。
10.如权利要求8所述的方法,其中所述事件描述与所述第二用户界面屏幕有关的通知,包括指示器移动事件、键盘事件以及应用状态改变事件至少之一。
11.如权利要求8所述的方法,其中所述动作描述对所述事件的响应,包括移动到第三用户界面屏幕。
12.如权利要求8所述的方法,其中所述源包括所述对象、事件和动作使用的图像数据。
13.一种用于在客户端系统上生成缩放的用户界面的系统,包括:
显示器;
处理器,用于在所述显示器上生成第一用户界面屏幕、接收用户的输入、以及发送用于指令的请求以执行与所述请求有关的缩放转换,其中
所述处理器接收所述指令,并在所述显示器上生成第二用户界面屏幕和所述缩放转换,其中所述缩放转换包括:
修改从所述第一用户界面屏幕上示出的多个图像中选择的一个图像的大小,以及在所述第二用户界面屏幕上示出所修改的图像。
14.如权利要求13所述的系统,其中所述缩放转换是进行悬浮缩放,所述第二用户界面屏幕描绘所述第一用户界面屏幕中的所述多个图像之一的放大版本,所述多个图像之一由所述用户选取,并且部分遮掩所述多个图像中的其他图像。
15.如权利要求13所述的系统,其中所述缩放转换包括对所述多个图像之一进行放大和转换。
16.如权利要求15所述的系统,其中所述第二用户界面屏幕描绘与所述多个图像中被选取的一个图像有关的额外细节。
17.如权利要求13所述的系统,其中所述客户端系统包括电视机。
18.如权利要求13所述的系统,其中所述客户端系统包括机顶盒。
19.如权利要求13所述的系统,其中所述客户端系统包括个人计算机。
20.如权利要求13所述的系统,其中利用包括对象、事件、动作和源中的至少之一的场景数据格式提供所述指令。
21.如权利要求20所述的系统,其中所述对象描述与所述第二用户界面屏幕有关的成分,包括用于MPEG层中的按钮和图标的边界、重叠文本和重叠图像中的至少之一。
22.如权利要求20所述的系统,其中所述事件描述与所述第二用户界面屏幕有关的通知,包括指示器移动事件、键盘事件以及应用状态改变事件至少之一。
23.如权利要求20所述的系统,其中所述动作描述对所述事件的响应,包括移动到第三用户界面屏幕。
24.如权利要求20所述的系统,其中所述源包括所述对象、事件和动作使用的图像数据。
25.一种用于在电缆通信网络中将用于生成可缩放的用户界面的数据从上游节点发送到客户设备的方法,包括以下步骤:
选择性地把要从所述上游节点发送到所述客户设备的数据识别为第一数据或第二数据,其中所述第一数据与所述可缩放的用户界面的图像数据相关,所述第二数据与所述可缩放的用户界面的场景描述数据相关;
利用MPEG编码对所述第一数据进行编码;
将通过MPEG编码的数据经由MPEG数据流发送到所述客户设备;
利用场景描述数据格式对所述第二数据进行编码;
利用第二数据流将所述编码的第二数据发送到所述客户设备;以及
利用所述第一数据和所述第二数据生成所述可缩放的用户界面。
26.一种用于在用户界面上产生悬浮缩放效果的方法,包括以下步骤:
将背景层数据和前景/背景影射数据发送到客户设备;
基于所述背景层数据显示背景层;
识别与所述悬浮缩放效果有关的用户动作;
响应于所述用户动作,将基于所述前景/背景影射数据的前景层显示为所述背景层上的重叠物,
其中,所述前景/背景影射数据识别所述背景层中所述用户动作未改变的像素。
27.如权利要求26所述的方法,还包括:
响应于所述用户动作将所述前景层数据发送到所述客户设备。
28.如权利要求27所述的方法,其中,在所述前景层数据中不包括与所述用户在所述背景层中未改变的像素相关联的数据。
29.如权利要求1所述的方法,还包括:
基于所述前景层数据显示所述前景层。
30.如权利要求26所述的方法,其中所述用户动作是在被显示的图像上滚动光标,并且所述前景层包括所述被显示的图像的放大版本。
31.如权利要求26所述的方法,进一步包括以下步骤:
将所述前景层中的每个像素归类为:(1)从所述背景层数据中提取出的像素,或(2)需要发送给所述客户设备的像素。
32.如权利要求31所述的方法,其中所述发送背景层数据和前景层数据的步骤进一步包括:
基于所述分类步骤选择性地发送所述前景层中的像素数据。
33.如权利要求31所述的方法,进一步包括以下步骤:
识别由于所述悬浮缩放效果而被显露出的附加背景像素;以及
发送与所述附加背景像素有关的背景层数据。
34.一种用于在用户界面上产生悬浮缩放效果的客户系统,包括:
至少一个接收器,用于接收背景层数据和前景/背景图数据;以及
处理器,用于基于所述背景层数据生成背景层,识别与所述悬浮缩放效果有关的用户动作,以及响应于所述用户动作,基于所述前景/背景图数据,将前景层显示为所述背景层上的重叠物,
其中,所述前景/背景图数据识别所述背景层中所述用户动作未改变的像素。
35.如权利要求34所述的系统,其中所述用户动作是在被显示的图像上滚动光标,并且所述前景层包括所述被显示的图像的放大版本。
36.如权利要求34所述的系统,所述接收器还接收将所述前景层中的每个像素归类为:(1)从所述背景层数据中提取出的像素,或(2)需要发送给所述客户设备的像素的映射。
37.如权利要求36所述的系统,其中所述被接收的前景层数据仅包括所述处理器需要用来生成所述前景层的某些数据,并且所述处理器从所述背景层数据中提取出附加的数据。
38.一种用于对生成用户界面屏幕的数据进行MPEG编码的方法,包括以下步骤:
提供具有第一和第二用户界面屏幕的用户界面,并存储与在所述第一和第二用户界面屏幕上的对象位置有关数据;
利用所述被存储的数据,确定与MPEG数据帧有关的运动向量;
将所述运动向量发送到MPEG编码器;以及
利用所述运动向量对所述数据进行MPEG编码。
39.如权利要求38所述的方法,其中利用所述被存储的数据、确定与MPEG数据帧有关的运动向量的步骤进一步包括:
利用所述被存储的数据进行:(1)独立于标准MPEG运动向量查找算法确定运动向量,或(2)选择性地采用所述标准MPEG运动向量查找算法确定所述运动向量。
40.如权利要求38所述的方法,其中利用所述被存储的数据,确定与MPEG数据帧有关的运动向量的步骤进一步包括:
利用所述被存储的数据进行:(1)独立于标准MPEG运动向量查找算法来确定运动向量,(2)选择性地采用所述标准MPEG运动向量查找算法来来确定所述运动向量,或(3)缩小所述标准MPEG运动向量查找算法的查找范围。
41.一种用于对生成用户界面屏幕的数据进行MPEG编码的系统,包括:
具有第一和第二用户界面屏幕的用户界面;
数据存储单元,用于存储与所述第一和第二用户界面屏幕上的对象位置有关的数据;
运动估计提示编码器,用于利用所述被存储的数据确定与MPEG数据帧有关的运动向量;以及
MPEG编码器,用于利用所述运动向量对所述数据进行MPEG编码。
42.如权利要求41所述的系统,其中所述运动估计提示编码器利用所述被存储的数据执行:(1)独立于标准MPEG运动向量查找算法确定运动向量,或(2)选择性地命令所述MPEG编码器利用所述标准MPEG运动向量查找算法确定所述运动向量。
43.如权利要求41所述的系统,其中所述运动估计提示编码器利用所述被存储的数据,向所述MPEG编码器提供缩小的查找范围,并且在所述缩小的查找范围内使用所述标准MPEG运动向量查找算法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US57678604P | 2004-06-03 | 2004-06-03 | |
US60/576,786 | 2004-06-03 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800178592A Division CN100507811C (zh) | 2004-06-03 | 2005-06-03 | 用于生成可缩放的用户界面的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101399941A true CN101399941A (zh) | 2009-04-01 |
Family
ID=35463635
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800178592A Expired - Fee Related CN100507811C (zh) | 2004-06-03 | 2005-06-03 | 用于生成可缩放的用户界面的系统及方法 |
CNA2008101679245A Pending CN101399941A (zh) | 2004-06-03 | 2005-06-03 | 用于可缩放的用户界面的客户-服务器架构及方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800178592A Expired - Fee Related CN100507811C (zh) | 2004-06-03 | 2005-06-03 | 用于生成可缩放的用户界面的系统及方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7634793B2 (zh) |
EP (1) | EP1769318B1 (zh) |
JP (1) | JP4955544B2 (zh) |
KR (1) | KR101193698B1 (zh) |
CN (2) | CN100507811C (zh) |
WO (1) | WO2005120067A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105793847A (zh) * | 2013-10-09 | 2016-07-20 | 瑞典爱立信有限公司 | 用于管理数字视频压缩系统的装备和方法 |
Families Citing this family (89)
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 |
EP1987484A4 (en) * | 2006-02-16 | 2011-05-25 | Hillcrest Lab Inc | SYSTEMS AND METHOD FOR PLACING ADVERTISING CONTENT |
KR100808991B1 (ko) * | 2006-05-04 | 2008-03-07 | 삼성전자주식회사 | 이동통신 단말기에서 전자사전을 이용한 단어검색 방법 및장치 |
US7956849B2 (en) | 2006-09-06 | 2011-06-07 | Apple Inc. | Video manager for portable multifunction device |
US7864163B2 (en) * | 2006-09-06 | 2011-01-04 | Apple Inc. | Portable electronic device, method, and graphical user interface for displaying structured electronic documents |
US20100146139A1 (en) * | 2006-09-29 | 2010-06-10 | 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 |
EP2116051A2 (en) | 2007-01-12 | 2009-11-11 | ActiveVideo Networks, Inc. | Mpeg objects and systems and methods for using mpeg objects |
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 |
WO2008115195A1 (en) * | 2007-03-15 | 2008-09-25 | Thomson Licensing | 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 |
KR20090110202A (ko) * | 2008-04-17 | 2009-10-21 | 삼성전자주식회사 | 개인화된 사용자 인터페이스를 디스플레이하는 방법 및 장치 |
KR101545137B1 (ko) * | 2008-04-17 | 2015-08-19 | 삼성전자주식회사 | 사용자 인터페이스를 생성하는 방법 및 장치 |
KR101531165B1 (ko) * | 2008-04-17 | 2015-06-25 | 삼성전자주식회사 | 클라이언트의 특성을 고려한 사용자 인터페이스를 제공, 수신하는 방법 및 장치 |
KR101560183B1 (ko) * | 2008-04-17 | 2015-10-15 | 삼성전자주식회사 | 사용자 인터페이스를 제공/수신하는 방법 및 장치 |
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 |
AU2011315950B2 (en) | 2010-10-14 | 2015-09-03 | 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 |
US8497942B2 (en) * | 2011-04-07 | 2013-07-30 | Sony Corporation | User interface for audio video display device such as TV |
US9104440B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US8893033B2 (en) | 2011-05-27 | 2014-11-18 | Microsoft Corporation | Application notifications |
US9658766B2 (en) | 2011-05-27 | 2017-05-23 | Microsoft Technology Licensing, Llc | Edge gesture |
US9158445B2 (en) | 2011-05-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Managing an immersive interface in a multi-application immersive environment |
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 |
US10353566B2 (en) * | 2011-09-09 | 2019-07-16 | Microsoft Technology Licensing, Llc | Semantic zoom animations |
US8922575B2 (en) | 2011-09-09 | 2014-12-30 | Microsoft Corporation | Tile cache |
US9557909B2 (en) | 2011-09-09 | 2017-01-31 | Microsoft Technology Licensing, Llc | Semantic zoom linguistic helpers |
US9146670B2 (en) | 2011-09-10 | 2015-09-29 | Microsoft Technology Licensing, Llc | Progressively indicating new content in an application-selectable user interface |
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 |
US8332767B1 (en) * | 2011-11-07 | 2012-12-11 | Jeffrey Beil | System and method for dynamic coordination of timelines having common inspectable elements |
US20130124999A1 (en) * | 2011-11-14 | 2013-05-16 | Giovanni Agnoli | Reference clips in a media-editing application |
US10409445B2 (en) | 2012-01-09 | 2019-09-10 | 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 |
WO2014145921A1 (en) | 2013-03-15 | 2014-09-18 | Activevideo Networks, Inc. | A multiple-mode system and method for providing user selectable video content |
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 |
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 |
US9271048B2 (en) * | 2013-12-13 | 2016-02-23 | The Directv Group, Inc. | Systems and methods for immersive viewing experience |
CA2933689A1 (en) * | 2013-12-13 | 2015-06-18 | AI Squared | Techniques for programmatic magnification of visible content elements of markup language documents |
KR102298602B1 (ko) | 2014-04-04 | 2021-09-03 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 확장가능한 애플리케이션 표시 |
KR20160143784A (ko) | 2014-04-10 | 2016-12-14 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 컴퓨팅 디바이스용 슬라이더 커버 |
CN105378582B (zh) | 2014-04-10 | 2019-07-23 | 微软技术许可有限责任公司 | 计算设备的可折叠壳盖 |
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 |
US10254942B2 (en) | 2014-07-31 | 2019-04-09 | Microsoft Technology Licensing, Llc | Adaptive sizing and positioning of application windows |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
US10642365B2 (en) | 2014-09-09 | 2020-05-05 | Microsoft Technology Licensing, Llc | Parametric inertia and APIs |
WO2016065568A1 (en) | 2014-10-30 | 2016-05-06 | Microsoft Technology Licensing, Llc | Multi-configuration input device |
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 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993018618A1 (en) * | 1992-03-03 | 1993-09-16 | Kabushiki Kaisha Toshiba | Time-varying image encoder |
US5524195A (en) * | 1993-05-24 | 1996-06-04 | Sun Microsystems, Inc. | Graphical user interface for interactive television with an animated agent |
US5907323A (en) | 1995-05-05 | 1999-05-25 | Microsoft Corporation | Interactive program summary panel |
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 |
JP2001507908A (ja) * | 1997-11-07 | 2001-06-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 画像シーケンスの符号化 |
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情報表示方法、及びプログラム記録媒体 |
WO2000033566A1 (en) * | 1998-11-30 | 2000-06-08 | Sony Corporation | Information providing device and method |
CN1290330C (zh) | 1999-06-18 | 2006-12-13 | 英特尔公司 | 把交互式视频数据流用于增强的视觉呈现的系统和方法 |
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 | ネットワークプリントシステム及びネットワークプリント方法並びに情報記録媒体 |
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 |
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 |
KR101167827B1 (ko) | 2004-01-16 | 2012-07-26 | 힐크레스트 래보래토리스, 인크. | 메타데이터 중개 서버 및 방법 |
-
2005
- 2005-06-03 CN CNB2005800178592A patent/CN100507811C/zh not_active Expired - Fee Related
- 2005-06-03 KR KR1020077000132A patent/KR101193698B1/ko not_active IP Right Cessation
- 2005-06-03 EP EP05757363.6A patent/EP1769318B1/en not_active Not-in-force
- 2005-06-03 CN CNA2008101679245A patent/CN101399941A/zh active Pending
- 2005-06-03 US US11/144,880 patent/US7634793B2/en not_active Expired - Fee Related
- 2005-06-03 WO PCT/US2005/019705 patent/WO2005120067A2/en active Application Filing
- 2005-06-03 JP JP2007515651A patent/JP4955544B2/ja not_active Expired - Fee Related
-
2009
- 2009-12-09 US US12/634,274 patent/US20100086022A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105793847A (zh) * | 2013-10-09 | 2016-07-20 | 瑞典爱立信有限公司 | 用于管理数字视频压缩系统的装备和方法 |
CN105793847B (zh) * | 2013-10-09 | 2019-12-10 | 瑞典爱立信有限公司 | 用于管理数字视频压缩系统的装备和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2005120067A3 (en) | 2006-10-26 |
WO2005120067A2 (en) | 2005-12-15 |
EP1769318B1 (en) | 2015-12-23 |
US20050283798A1 (en) | 2005-12-22 |
US20100086022A1 (en) | 2010-04-08 |
EP1769318A4 (en) | 2007-07-18 |
KR101193698B1 (ko) | 2012-10-22 |
US7634793B2 (en) | 2009-12-15 |
JP4955544B2 (ja) | 2012-06-20 |
CN1961281A (zh) | 2007-05-09 |
JP2008502230A (ja) | 2008-01-24 |
EP1769318A2 (en) | 2007-04-04 |
KR20070027683A (ko) | 2007-03-09 |
CN100507811C (zh) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100507811C (zh) | 用于生成可缩放的用户界面的系统及方法 | |
JP6677781B2 (ja) | コンテンツ表示の方法、デバイス及び記憶媒体 | |
US20170223420A1 (en) | Multimedia systems, methods and applications | |
US9100716B2 (en) | Augmenting client-server architectures and methods with personal computers to support media applications | |
WO2021212668A1 (zh) | 一种投屏显示方法及显示设备 | |
TW497043B (en) | System and method for selectively displaying internet content and television programming on a display, and system and method for alternately displaying internet content and a television program signal on a television screen | |
US20100017372A1 (en) | Apparatus and method for providing user interface service in a multimedia system | |
CN102075800A (zh) | 基于交互式个人电视机顶盒文件播放控制方法及系统 | |
JP2014522012A (ja) | ビジュアル検索及び推奨ユーザインタフェース及び装置 | |
CN105874807A (zh) | 用于在电视设备上对Web内容远程渲染的方法、系统和介质 | |
EP2656176A1 (en) | Method for customizing the display of descriptive information about media assets | |
CN116708390A (zh) | 显示设备、贴片广告的显示方法、及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090401 |