CN101036385B - 在数字电视中提供交互式服务的方法和系统 - Google Patents
在数字电视中提供交互式服务的方法和系统 Download PDFInfo
- Publication number
- CN101036385B CN101036385B CN2004800441352A CN200480044135A CN101036385B CN 101036385 B CN101036385 B CN 101036385B CN 2004800441352 A CN2004800441352 A CN 2004800441352A CN 200480044135 A CN200480044135 A CN 200480044135A CN 101036385 B CN101036385 B CN 101036385B
- Authority
- CN
- China
- Prior art keywords
- logic
- module
- data
- screen
- equipment according
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
-
- 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/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
-
- 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/4437—Implementing a Virtual Machine [VM]
-
- 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/4722—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 additional data associated with the content
-
- 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/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及在链接到屏幕的数字接收设备上提供交互式服务的方法和系统,所述交互式服务包括可显示到屏幕上的媒体内容。交互式服务由在数字接收设备中运行的服务应用提供,该服务应用包括能够生成要显现在屏幕上的新媒体内容的动态服务逻辑。该动态服务逻辑是能够通过使用存储在服务应用本身中或从服务器下载的数据而实时创建动态信息的应用逻辑。这些数据包括“未加工”信息内容,将对这些“未加工”信息内容进行加工以产生脚本视觉表示。动态服务逻辑包括一个或更多个商业逻辑,这些商业逻辑负责在取决于上下文的内容的运行时间期间,如根据用户的请求,进行客户侧产生。当在机顶盒中运行的应用包括可以本地创建提供交互的动态画面的动态服务逻辑时,交互式服务还可以在没有回传信道的STB中播放。
Description
技术领域
本发明涉及一种使得能够对于诸如机顶盒的数字接收设备提供交互式电视内容并处理该交互式电视内容的系统和方法。
背景技术
随着数字传输技术的出现,广播公司现在能够提供比传统模拟广播视频多得多的内容。虽然数字传输需要比模拟传输多很多的带宽,但是数字信号可以压缩。计算机技术,如MPEG(移动画面专家组的缩写)标准被用来仅分离出在一个图像与下一个图像之间发生的变化并对其进行传输。数字电视允许数据的广播,这使得可以在数字电视环境中引入交互式服务。
数字信号的传输可以多种方式进行。在数字地面电视(DTT)网络中,广播信号“在空中”传输到天线。除了地面、电缆和卫星之外,IP系统也是将电视带入家庭中的可行方式,其对用户提供接收视频、音频和数据内容的手段。
目前,大部分观看者经由机顶盒(STB)接收数字电视,该机顶盒对数字信号进行解码并将它们显示在电视监视器上(或者在双屏幕系统的情况下,显示在PC监视器上)。高级STB可以不仅是解码器,还可以被编程为执行如下应用,所述应用可以与用户通过使用遥控来交互,也可以与使用调制解调器和通信网络(如PSTN)的服务提供商来交互。实际上,STB一般包括运行软件的计算机,其对信号进行解码,并且执行与音频或视频流一起传输的软件。用于单向系统的STB可以访问信息并将信息叠加到TV屏幕上。双向系统将信息通过回传信道发送回广播公司(或服务提供商)。在单向系统中,交互局限于本地可用的信息(如,用户可以导航STB上可用的页面),而在双向系统中,用户可以与远端服务器交互(如请求服务或发送信息)。
回传信道是由STB使用来使客户与服务器交互的物理路径。例如,交互式TV的用户可以通过回传信道将信息(如,投票、问卷、服务请求)传输回服务中心。物理路径可以是有线连接,如电话或ADSL调制解调器线路;或者是无线的,如GPRS或UMTS。
在数字电视的情况下,交互通常被理解为是指使得电视观看者能够与节目和服务交互。有时将交互分为两种类型:改进的电视和交互式服务。改进的电视通常是指观看者可以不只是被动地观看电视节目。此系统允许观看者同时观看改进的电视节目,并同时下载与该节目有关的附加信息。在改进的电视中,交互是“低级”的,并且非常类似于浏览页面,如在模拟电视图文电视应用中进行的。
交互式服务通常响应于外部事件来推定(presume)信息的传送,该外部事件例如是用户按压菜单选项或者内容更新。该信息是取决于上下文的,可实时地(on-the-fly)创建。这样,交互式服务可以超出如下功能,该功能使得能够开发关于当前和将来节目的宣布的传输流以及静态信息(如那些与电子节目指南(EPG)有关的信息)的传输流。交互式服务的示例可以是由电子零售商提供的交易服务,或者是关于来自特定机场的航班日程的信息的请求式发送。交互式服务涉及访问如下信息,该信息可以是内容相关的,即,取决于所广播的TV内容,或者可以是独立于任何节目流。内容相关的服务与独立于流的服务之间的差异通常在于服务提供商与谁订约来创建或发送服务,即,是TV信道提供商(广播公司)还是MVPD(多信道视频节目发行商),后者用作平台运营商。例如,在实际中,金融信息和股票的请求式发送可以是与商业信道节目相关的,或者与特定节目流没有关系。
下文中,交互式服务将意指包括涉及交互的节目编排改进,以及独立于任何节目编排流的专用交互式服务。
交互式服务通过提供TV内容的同一广播信道传送,或者通过独立的传输线路,即,网络连接,传送。接入交互式服务的方法通常是通过将红外信号发送到解码器的遥控或者远程键盘来进行的。
这些服务中的很多可以经由Web获得。能够以web服务形式接收外部信道的高级机顶盒已经开始能在市场上获得。可以通过内置调制解调器或者通过与宽带家庭网络的WiFi或以太网连接来提供与因特网的连接。
STB接收数字广播信号,该数字广播信号一般包括视频、音频和数据成分。通过重复的“轮播(carousel)”类型方式提供数据成分,在需要时由接收器下载模块。这些模块通常包含以Java编程语言编写的交互式应用。STB被提供有Java虚拟机(Java Virtual MachineJVM),并且接收其所链接的Java类文件,并且执行以运行交互式应用。
STB通常需要中间件来启动这些应用。中间件是驻留在STB中的软件和硬件,其有助于多个应用一起运行。中间件提供商开发出软件和接口,这些软件和接口允许用户选择节目编排和产品、连接到因特网,并进行安全交易。中间件的示例有Liberate、Open TV、MicrosoftTV和Java TV。
Java是面向对象的编程语言,其独立于平台。Java被特定地涉及为创建小程序,通常称为Java程序(applet),其可以驻留在网络上的中央服务器中,并且在只有需要时才传送到客户机。Java程序可以被一次编写并且可在包含JVM的任何类型平台上运行。作为面向对象的语言,以Java编写的软件可以利用面向对象编程的优点。在Java语言中,程序数据被打包到一类中,无论该类是程序员创建的还是来自Java平台API(应用编程接口)库的所使用类。类包含数据以及对该进行进行操作的可执行代码(也称为方法)。在Java内,对象是类的运行时实例,该类的行为在方法中被定义。首先使用Java编译器将以Java编写的程序编译成字节代码。字节代码是独立于平台的命令,其可以由JVM解译并运行。JVM是必须对于每个平台(Java程序必须在其上允许)实现的虚拟计算机。JVM提供在经编译的字节代码与底层硬件平台和操作系统之间的抽象层。当JVM执行程序时,其获取Java字节代码并将它们解译或转换成针对底层硬件的机器代码指令,并且将这些机器代码指令传递到CPU以执行。通过以这种方式进行操作,Java程序可以被一次编写并可在JVM可用的任何平台上运行。
新出现的用于交互式电视(iTV)的标准平台是多媒体家庭平台(MHP),其是数字视频广播(Digital Video Broadcasting DVB)设计的开放式中间件系统,DVB是对数字TV广播的各方面进行标准化的行业领头协会。MHP是API的集,其允许所有第三方开发并运行他们自己的iTV应用。MHP通常在Java运行时环境中定义,即,基于Sun的JavaTV网络。
DVB-MHP应用可被分类为DVB-Java或DVB-HTML应用。DVB-Java(或DBV-J)应用通常称作Xlet应用。它们都在STB中运行,并且它们可以驻留在STB中,或者可以从对象和数据轮播或网络下载。Xlet应用受应用管理器控制,该应用管理器是系统软件的一部分并且驻留在STB中。该应用管理器负责管理该应用的生命周期。
在C.Peng和P.Vuorimaa的发表于Proceedings of the IEEEInternational Conference on Multimedia and Expo 2001,Tokyo(Japan),Aug.22-25,2001,pp.685-688中的“Digital TelevisionApplication Manager”中描述了DVB-MHP标准中的在用于接入多媒体服务的平台中的应用管理器的设计。DVB-J应用实际上是如下Java类的集,它们一起运行并且需要被作为单个实例以信号方式传送到应用管理器,以使得其可以控制其状态变化。在该论文中,可下载应用的所有信息都存储在应用信息表(Application Information TableAIT)中,该AIT被与MPEG-2传输流中的其它构成流一起复用并传输。应用管理器需要该信息来标识这些应用的位置和信令信息。为此,使用Java类加载器和JVM的类技术来加载来自不同源的应用类,并解决名称冲突。
通常,使用导航器或电子编程向导(EPG)来将图形界面呈现给用户以选择服务。一旦选择了服务,将Xlet下载到DVB终端,该DVB终端将图形界面呈现给用户以选择Xlet提供的功能。在2004年7月5日从因特网www.ist-overdrive.org/HyWiN2003/proceedings/2.41.Hywin-PaterServices2003-11-16.pdf下载的J.Cosmas等人的“Providing Fast Prototypes of Services and Automated Generation ofService Applications for Converged Broadcast and CellularNetworks”中公开了如下用户界面,该用户界面提供了在将服务用户界面呈现给用户的图形用户界面下面运行的通用图形呈现引擎。该呈现引擎通过解译元数据来进行操作,经由图形用户界面捕获用户的交互,并且执行元数据所描述的对应命令。
WO 03/104980承认了广播公司所使用的数据速率较低的问题,该问题导致可检测到的数据传输延迟。该专利申请描述了操作JVM的方法,包括加载包括父Java类文件的模块、标识该父Java类文件内列举的后代Java类文件。在预加载后代Java类文件的同时执行父Java类文件。
US 2004/0031052公开了CATV系统,该系统提供应用服务器与其上运行有TV导航器的用户STB之间的通信。TV导航器是编写所有内容和应用的中间件环境。应用驻留在中间件的顶部。内容和应用完全以行业标准HTML和Java来编写。使用对于HTML和Java的TV专用扩展名来将传统电视内容与Web内容合并。
通常使用HTML、JavaScript、Java和其它Web技术的组合来表示改进的电视内容。WO 02/17639公开了一种系统和方法,其解析基于文本的脚本增强文件,以产生取决于平台的增强文件。该脚本文件可以是XML(可扩展标识语言)格式,解析器可以是XSL(可扩展样式表语言)翻译器。解析器可以从其它应用导入HTML和JavaScript。
在因特网环境中,近来通过创建一般在问答或赌博系统中使用的动态Web页面来改进Web站点的交互性。可以通过使用在软件平台上运行的Java Web服务器来构建系统。该服务器使用Java Servlets来处理来自客户的请求,连接数据库服务器,并且生成来自Web浏览器的动态内容。
在由C.Peng和P.Vuorimaa于Proceedings of the 6th WorldMulticonference on Systematics,Cybernetics and Informatics,July14-18,2002中发表的“Interactive Digital Teletext Service”中描述了基于Java-XML的解决方案,其可以通过使用数字电视基础结构提供的回传信道将双向通信添加到数字图文电视服务中。该方法基于客户/服务器模型,并且使用基于XML的消息传送机制和Java Servlet技术。
申请人已注意到,使用Java Servlets来创建动态页面的技术是基于客户-服务器架构的,其中,服务逻辑处于服务器侧,而呈现出现在客户侧。申请人发现,在STB不使用回传信道的情况下,无法将可通过与用户的交互来更新的动态内容提供给STB。
部署iTV应用的一个显著问题在于市场上可用的大部分STB具有有限量的存储并处理iTV应用的自带存储器。
申请人注意到,当所接收的交互式内容是以XML表示的时,可以有利地在轻便的STB中保持交互。
XML是标准通用标记语言(SGML)的子集。SGML是描述带标记的电子文本的国际标准,并且是元语言(形式上描述语言的方式)。SGML指定允许什么标记、需要什么标记、以及如何将标记与文本区分开。“标记”通常使用“标签”,标签是具有具体含义的特定词。标签允许程序设计者设计规则集,通过该规则集使文档生效。在XML中,标签标识文档中的要素,并且包含关于这些要素的属性。这些标签表示数据描述或数据关系,提供用于多个资源之间的链接的机制。
发明内容
本发明涉及一种用于在数字接收设备上提供交互式服务的方法和系统,所述交互式服务包括可以显示在屏幕上的媒体内容。媒体内容由表示显现在观看者屏幕上的画面的描述文件来描述。描述文件包括关于如何将画面构造在屏幕上的信息,该信息优选的为标记语言内容格式。画面至少包括图形要素。此外,画面可以包括背景(静止图像)和视频内容。该视频内容可以包括动画、图像或者运动图片,并且可以,但并非必须与音频信号组合。数字接收设备是包括硬件和软件的设备,其接收并播放交互式服务。该交互式服务显现到屏幕上,如TV屏幕和PC监视器上。优选的,数字接收设备还接收显示到观看者屏幕上的数字TV信号。优选的,数字接收设备是可操作地链接到观看者电视的数字机顶盒(STB)。
实际上,交互式服务对应于在数字接收设备中运行的软件应用。可以根据客户的调用,即,例如随着用户的请求,在数字接收设备中启动软件应用。应用可以从驻留在远端网络中的服务器,如因特网或广播信道下载。除了在拉式(pull-type)服务的情况下由用户的请求进行调用之外,应用可以推式模式启动,即,当服务器由于例如新内容变得可用而发送信息时,客户自动启动一应用。另选的,应用可以已经驻留在客户机中,并且可以自动开始或者由用户激活。本发明适于可被下载并且/或者在接收设备中启动的广播应用,并且适于驻留的应用。
下文中,将可以提供交互式服务的软件应用称为服务应用。
申请人发现,如果提供交互式服务的服务应用包含动态服务逻辑,则可以在客户侧自动生成媒体内容。动态服务逻辑是能够通过使用数据实时地创建动态信息的应用逻辑,这些数据可以存储在服务应用自身中或者从服务器下载。动态服务逻辑包括一个或更多个商业逻辑,这些商业逻辑负责在取决于上下文的内容的运行时间期间,如根据用户的请求,进行客户测产生。在此情况下,商业逻辑是对(某些)用户数据进行逻辑操作的软件功能处理组件,以使得例如转换、组织数据,或者将数据与其它信息组合。通过称为逻辑管理器的软件组件来启动,即“实例化(instantiate)”商业逻辑,其逻辑管理器还对商业逻辑提供对于用户数据的访问,对于该用户数据可以进行商业逻辑所定义的逻辑操作。对于用户数据的逻辑操作实时地生成“新”媒体内容,该“新”媒体内容将被显现在屏幕上。用户数据包括“未加工”信息内容,对该“未加工”信息内容进行加工以产生脚本视觉表示。
优选的,动态服务逻辑被定义为Java类的集。Java类可以在客户平台的运行时间环境中被实例化。
数字接收设备包括可执行服务逻辑的虚拟机。优选的,逻辑管理器是对于多于一个的应用共用的客户平台,而商业逻辑是服务逻辑中的针对特定应用的组件。商业逻辑和逻辑管理器都包含在包括于服务应用中的动态服务逻辑中。
虽然具体描述使用客户/STB的示例,但是本发明可以应用于所有客户设备,包括个人数字助理(PDA)、蜂窝电话、口袋个人计算机、或者任何其它类型的能够接收电子信号并能将电子信号传输到诸如电视机的运动图片显示设备的电子设备。当在蜂窝电话上实现该软件应用的情况下,显示设备可以是电话的内置显示器,或者该蜂窝电话可以连接到的DTV对接站(docked station)。
本发明的一个优点在于,由于在STB中运行的应用包括可以本地创建针对交互提供的动态画面的服务逻辑,所以交互式服务还可以在没有回传信道的STB中播放。
根据本发明的服务应用包括未加工应用数据以及可执行代码部分。可执行代码部分包括用于在屏幕上显示媒体内容的第一可执行代码,和包括在动态服务逻辑中的第二可执行代码,所述第二可执行代码能够生成新媒体内容。
优选的,至少对于不包含多媒体文件(如,运动图片、图像和音乐)的数据部分,即,用户数据,使用诸如HTML、WML和XML的标记语言对可被加工以创建新媒体内容的未加工信息数据进行格式化。更为优选的,该格式是使用XML标准描述的。
具体实施方式
服务应用通常包括画面序列。画面是在屏幕上的媒体内容的“视觉”构造。换言之,画面是屏幕观看者视觉(以及当在媒体内容中包含声音时听觉)感知到的所传送媒体内容。在交互式服务至少部分地交叠在所广播节目上的情况下,画面还可以包括数字TV信号。媒体内容可以包括背景(静止图片)、视频(运动图片或图像)以及包含文本和图形的图形要素。图形要素由图形组件表示,图形组件定义允许选择要素的功能,并且当进行了选择,或者一般而言,进行了对于要素的动作时,定义允许选择属性的功能。
画面可以表示为多个要素的集合,如文本、音频、视频、音乐文件,这些要素中的每一个或者任何组合都会产生静止和/或运动图像、文本和声音。画面可以是静止的,即,画面的内容完全是在创建应用时定义的,或者动态定义的,即,(部分)画面内容不是在生成应用时定义的,但是这是取决于上下文的,如,画面是根据用户的请求或数据更新创建的。换言之,动态画面是在如STB的运行时间环境中实时创建并传送的。
静态画面可以是在利用与Web浏览和超媒体链接(即,超级链接)类似的功能进行导航期间开发的。无需生成新内容而与通过画面并在画面内部的导航关联的这些功能将被称作本地交互,虽然这意味着“低级”交互。
由于服务应用通常是与数字TV信号同时传送的,所以图形组件可以,但并非必须部分地或完全地与所显示的TV图像交叠。例如,TV信号可以被重定大小,并在该画面中包含的窗口中播放。画面中包含的要素的示例是:可以在TV屏幕上滚动的文本列表,其中可以插入文本的域、互斥选项的可选择按钮,以及由于到Web页面的前向链接而使URL(同一资源定位符)关联到的图形要素。
在软件应用是Web应用的具体情况下,画面是Web页面,如,从因特网传输的HTML或XHTML数据。
软件应用优选地以Java语言运行,但这并非必须的。应当理解,整个系统是基于软件的,并且是使用面向对象的编程语言开发的。优选的,使用标记语言,如XML来描述应用数据,至少那些不包含多媒体内容的应用数据。
图1示意性地示出了根据本发明一个实施例的服务应用10,其被提供给数字接收设备以接收要显示在屏幕上的媒体内容。例如,该应用可以是从广播信道下载的,或者从通信网络下载的。在本实施例中,在STB中启动服务应用10,该STB例如通过TV-SCART电缆链接到显示交互式服务的TV屏幕3。在模拟TV显示系统的情况下,可以在STB的计算机硬件与TV屏幕之间互连有数字模拟转换器(未在图1中示出),以将数字信号转换成模拟信号。应用10包含应用可执行部分1、未加工应用数据2和描述文件(18),其中应用的后两部分(2和18)包含不包括可执行代码的数据。未加工应用数据2可以专用于特定应用。可执行应用部分1包括中间件软件层,在下文中称为“平台”或“客户平台”,其包含多个包括可执行程序的软件模块,即,解析器8、应用控制器6、逻辑管理器14、屏幕管理器11和图形组件9以及多媒体(MM)组件15。可执行应用部分1还包括针对特定应用的模块,即,商业逻辑软件模块12。应当理解,从软件开发者方来看,在平台和针对特定应用的逻辑单元之间进行区分只是一种优选实现,而不应当将其视为限制性的。
应用可执行部分1包括第一可执行代码和第二可执行代码,其中第一可执行代码包含在屏幕管理器11中,以及图形组件9(以及优选的MM组件15)中,逻辑管理器14和商业逻辑12包含第二可执行代码。优选的,应用可执行部分包括解析器8和应用控制器16。
一些应用可能需要构建一个或更多个内部数据库,在这些数据库中,以可被应用的可执行部分的软件模块读取和理解的格式存储有未加工数据,无论是文本的还是多媒体的,或者这些应用可以将数据组织成适于由这些软件模块使用的适当方式。在图1所例示的实施例中,应用10包括数据库(DB)13。虽然在图1中,将DB 13图形地表示在应用10的可执行部分1中,但是应当理解,其不包含可执行代码。
在本实施例中,该平台包含可执行软件的可以不是针对特定应用的部分。该平台例如可以由应用开发者使用以生成不同的交互式服务,即,可以在STB中运行的不同应用。应当理解,服务应用平台是可以放置在应用层处的中间件层,其比一般驻留在STB中的中间件层(如MHP)更高级。该平台可以永久驻留在STB中,但是这意味着STB中的持久存储装置的容量足够大。在具有有限硬件资源的STB的情况下,在STB的运行时间期间,平台(实际上服务应用)运行如非易失性高速缓存。
根据以下讨论将显而易见,商业逻辑12和逻辑管理器14包含在服务应用的动态服务逻辑中,这允许在客户侧创建取决于上下文的媒体内容。
可执行代码是一个(或一块)可执行程序,其通常被视为包含指令序列的文件。可执行代码也称为方法。在优选实施例中,应用的可执行代码(方法)是中间代码,如字节代码或p代码,其可以是处理器明白的经编译文件(即,目标代码)。为了能够执行软件应用10的代码,STB被提供有虚拟机,该虚拟机是能够执行代码并能够创建计算机平台与最终用户之间的环境的一块软件,该计算机平台即为其上可以运行应用程序的底层计算机系统,最终用户可以运行软件。具体的,虚拟机是以本机代码在主机硬件(如,驻留在STB中的计算机硬件)上编写的程序,该主机硬件将通用中间代码翻译成可在该硬件上使用的代码。优选的,虚拟机系统是运行Java可执行应用的Java虚拟机(JVM)。具体的,JVM读取Java类,并执行这些类文件的可执行部分。
图1中所示实施例的STB没有回传信道。未加工应用数据2包括用户数据7和多媒体内容17,而描述文件18包括配置文件4、称为页面5的用于定义静态画面的描述文件、称为模板6的用于描述动态画面的模板文件。用户数据7表示要转达到最终用户的文本信息,诸如交互式服务应用中的完全火车时刻表,其提供针对特定目的地的请求式时间表。用户数据包括“未加工”文本信息内容,其将被加工以产生要显现的文本。文本当然可以包含一般包含在脚本视觉表示中的符号、着重号或其它域。
计算机多媒体内容17包含多媒体文件,其尚未被加工,可能与其它图形要素一起用于构建画面。多媒体文件的示例有背景照片、图标、动画、声音或乐曲。多媒体文件可以采用不同格式,如JPEG、GIF、PNG和MP3。
描述文件18表示将显现在屏幕上的画面。在下文中将更加明了,在交互式服务的情况下,一些描述文件,即模板文件6,包含到程序(即,可执行代码)的链接,这允许基于某些特定应用数据创建新媒体内容。换言之,模板文件没有包含整个画面的描述,因为一部分画面,如信息性内容,仍需创建。
配置文件4在应用的启动阶段使用,并且包含与对于应用的所有画面共用的图形组件9和多媒体(MM)组件15的初始化有关的信息,其中图形组件9和多媒体(MM)组件15用于定义例如背景、标志、菜单选项的页脚的布局,或者该页脚在TV屏幕上的位置和大小。
页面5包含一组描述文件,其用于描述(如,用于信息性Web页面的)静态画面,其中内容是在例如通过在开发阶段由服务开发者创建应用时构建的。在运行时间期间,描述文件不发生改变。描述文件包含如何将画面渲染在TV屏幕上以及必须如何管理本地交互(如浏览)的完整描述。描述文件调用图形组件9中的方法。图形组件例如定义内容的格式和位置,以及它们的关系(如,内容取决于聚焦的位置,一内容在另一内容显示完之后出现)。具体的,如果描述文件是XML格式,则描述文件包含:XML标签,每个标签指向特定图形组件;与对应于该图形组件的方法的标签关联的属性。由屏幕管理器11调用方法。在Java中,图形组件由类表示,XML标签的属性包括图形组件中的该类的类名称。标签属性对应于与该类关联的方法,屏幕管理器通过创建运行时间对象来实例化该类。这些XML标签可以称为“描述性”XML标签,因为它们用于描述应当如何在画面中呈现内容,不要与包含在模板中的“调用”标签(或“用户数据”标签)混淆,这些标签用于实现高级交互特征,这将在下文详细描述。在静态画面的情况下,只使用描述性标签,并且所支持的唯一“交互”是超级链接,该超级链接使得能够例如在多个画面之内或之间导航。
模块6模板在动态内容的情况下使用,即,“实时”产生的内容,该内容取决于上下文。该组件模板包括至少一个模板文件,并且通常包括模板文件集合。模板文件可以被视为与描述文件类似,但是其通过包含到动态服务应用逻辑的逻辑要素(其构建动态信息)的链接而支持动态信息的创建,这将在下文更详细解释。具体的,在动态画面的情况下,以标记语言,优选的XML,描述与该画面相关的模板文件,并且该模板文件包括“调用”标签,该“调用”标签是到动态服务逻辑中的方法调用动作的逻辑链接。动态服务逻辑包含在应用10的可执行部分1中,并且包括逻辑管理器14和商业逻辑组件12。具体的,调用标签请求逻辑管理器执行包含在商业逻辑单元12中的特定的(即,在标签中指定的)商业逻辑中的程序。换言之,调用标签请求实例化如下商业逻辑,该商业逻辑对给定的用户数据进行特定逻辑操作。通过逻辑管理器来实例化商业逻辑,该逻辑管理器用作客户平台的其它部分与商业逻辑之间的某种逻辑接口。逻辑管理器控制请求执行商业逻辑的流,并且接收来自于该执行的输出文件,由此还控制输出文件的流。逻辑管理器通过调用商业逻辑中的程序中的方法来实例化商业逻辑,提供需要对其进行逻辑操作的数据,并且收集逻辑操作的结果,即,商业逻辑的输出。具体的,在实例化时,商业逻辑通过提供对于内容的访问的逻辑管理器,借助于例如指向DB 13或其特定部分的数据指针(即,可操作的链接),接收内容。
优选的,商业逻辑在平台的外部,而逻辑管理器包含在平台中。这是因为商业逻辑可以以使得该平台可以包含对于多于一个的应用共用的程序的方式来包含针对特定服务应用的商业逻辑。
优选的,应用数据使用XML作为描述文件18以及用户数据7的通用内容格式(即,不包含图形和声音)。这样的优点在于整合了来自不同种类的源的内容。此外,消息导向的方法适于在GPRS、因特网或者广播信道上传输信息,这是因为消息的尺寸较小,如,小于用于交互式TV的HTML文件(如,DVB-HTML)的尺寸。由此,配置文件4、页面5、模板6和用户数据7优选的为XML格式。多媒体内容17包含多媒体文件,包括例如图片、音乐、视频剪辑,这些内容可以表示为不同格式,如MPEG、JPEG、MP2等。
解析器8通常是计算机程序或程序的组件,其相对于给定的形式语法,即,形式语言的描述,分析输入文件的语法结构,该处理已知为解析。在基于标记语言(如基于XML)的架构中,解析器是程序,如一块Java软件,其可以读取标记语言格式的文件。然后,解析器将输入文档分割成多个构建块(如,在XML标签中并作为这些标签的多个部分),即,其解析输入文档,以使得该输入文档随后可被其它程序管理。具体的,解析器8可以读取构成配置4、描述5、模板6和用户数据7的XML文件,并将他们翻译到应用控制器16。
应用控制器16是一个(或一块)计算机程序,其根据要进行的动作是对静态信息还是动态信息的加工,来将命令,如XML标签,分别发送到屏幕管理器11,或者发送到逻辑管理器14。应用控制器用作从未加工应用数据和描述文件产生的(经解析)信息的一种逻辑协调器。此外,应用控制器从屏幕管理器接收与用户交互所触发的事件对应的请求。
虽然在图1中将解析器和应用控制器表示为两个不同的软件模块以分离它们各自的逻辑功能,但它们可以是单个可执行程序,例如,它们可以是同一Java类的不同方法。
屏幕管理器11从应用控制器16接收涉及图形组件9的构造和管理的输入。这些输入被包含在描述文件18中。具体的,其接收关于图形组件、它们的属性(如,尺寸、位置、颜色和文本格式)以及行为(如,当聚焦这些组件时颜色的改变)的信息。换言之,屏幕管理器11管理图形组件9,并且其负责TV屏幕上的图像渲染以及聚焦管理。此外,屏幕管理器将用户动作转换为对于应用控制器的请求。
图形组件9表示可对于多于一个的服务应用(如,组合框、滚动列表)共用或专用于特定应用(如,标志、背景和虚拟键盘)的图形库。图形组件的实例有组合框或单选按钮。在Java中,图形组件被组织在通常称为小配件(widgets)或控制件(controls)的图形用户界面(GUI)中,该GUI提供低级绘图和交互规则的抽象层。由此,GUI包括在TV屏幕上绘制图形/小配件以及通过遥控输入来自用户的信息的功能。更为一般而言,GUI,以及通常的图形组件,是由画面要素表示的软件工具,其在用户和应用的内部运转之间进行调解。图形组件可以由用户经由诸如遥控的用户界面来至少部分地选择。在这种情况下,可以对于每个图形组件定义与用户交互关联的行为(如,菜单的循环以及如何加亮显示聚焦的要素)。
逻辑管理器14是处理商业逻辑的程序。在图1的表示中,商业逻辑包含在软件模块商业逻辑12中。这些商业逻辑用于实现高级交互特征,如基于用户动作(如,提取所请求的数据、组合数据以产生新信息、数据排序等)产生动态内容。部分逻辑管理器行为受应用控制器16的控制,应用控制器16将逻辑链接(如,标签)传送到逻辑管理器,逻辑管理器请求实例化与特定商业逻辑关联的对象并请求执行其方法。在Java实现中,商业逻辑是逻辑管理器实例化的一个或更多个Java类(通常为一个),也被表示为Java类。实现商业逻辑的类以及要运行的方法都被指定为调用标签的属性。对于从用户数据7中获得的、由逻辑管理器指定(提供)的某些特定内容,来实例化与商业逻辑关联的类。优选的,服务应用以Java方式运行,并且服务应用的可执行部分的软件模块被定义为一组Java类。在Java中,逻辑管理器的行为基于称为反射的Java技术,该技术允许在实现一个或更多个API的运行时间期间实例化具有类名称的对象、调用具有方法名称的静态和实例方法,以及创建类。类名称是包含在商业逻辑中的类名称。对应于模板中的调用标签,应用控制器请求逻辑管理器实例化与商业逻辑的类对应的一个或更多个对象并调用其方法。
利用由逻辑管理器指定的数据源来实例化与12中的商业逻辑对应的对象。假如服务应用编写代码以借助于解析器8和应用控制器16来与数据相接,则数据例如是从查询表,如XML查询表,或从数据库(图1中的DB 13)获得。因此,外部数据源是用户数据7(或者其一部分)或查询表或数据库,其包含从用户数据提取的数据,其中如果需要,所提取的数据被解析成适当的数据结构。
实际上,数据库(DB)13由逻辑管理器14创建,从而以可由商业逻辑处理的适当结构存储用户数据7。换言之,逻辑管理器的方法从解析器8获取经解析的用户数据,并将它们组织成可以被商业逻辑读取的格式和结构。在Java中,逻辑管理器中的方法组织经解析的用户数据以构造出Java结构,如哈希表,其通常被组织成链接列表的阵列。
在优选实施例中,利用商业逻辑的实例化使用的(部分)用户数据由“用户数据”标签定义,该“用户数据”标签可以包含在配置4中或者模板6中。当读取用户数据标签时,应用控制器将该标签传递到逻辑管理器。逻辑管理器中的方法获得在用户数据标签的属性中定义的数据,并在DB 13中创建数据结构,该数据结构由数据指针描述。当请求商业逻辑的实例化时,该数据指针将由逻辑管理器提供给由调用标签调用的商业逻辑。
当在STB中启动应用时,解析器8读取配置文件4,配置文件4提供关于要使用的共用文件的信息,如样式表和轮询数据,并且包含到要显现的第一画面的链接。如果第一画面是静态的,则该链接将是页面5中的描述文件。如果第一画面是动态的,则该链接将是模板6中的模板文件。优选的,配置、页面、模板和用户数据是XML文件。由此,优选的,配置是包含用于标识呈现在屏幕上的第一画面的标签在内的XML文件。该标签类似于在web应用中用于标识索引页面的标签。第一画面由可以是描述文件(静态)或模板文件(动态)的XML文件描述。然后,解析器开始分析描述或模板文件,并且将该文件的经解析信息传送到应用控制器。根据第一画面是静态的还是动态的,应用控制器遵循不同的逻辑过程处理应用数据。
如果第一画面是静态的,则不对外部(即,平台外部)的方法,即,商业逻辑进行再调用(recall),因为应用控制器没有读取调用标签。应用控制器将来自页面5中的描述文件的经解析数据传递到屏幕管理器,屏幕管理器采用该描述文件来构建并管理画面。经解析的数据包括但不限于关于以下内容的信息:1)什么要素要包含在画面中,如菜单、组合框、以及显示重定大小的TV信号的窗口;2)所显示要素的属性,如尺寸、位置和图形特征(如,颜色、字体类型、尺寸等);以及3)要素的动作,其定义要素如何根据例如由于用户交互的结果而产生的外部输入来进行视觉行为。要素的行为可以包括:该要素如何在屏幕上被聚焦;其是否可被其它要素观察到,即,其它对象是否可以“看到”该对象状态并且其它对象是否可以根据所观察对象的状态改变它们的状态(该功能例如在DVB-Java中定义)。经解析的数据还可以包含要包括在要素(如,菜单中的项)或指向多媒体内容模块17中包含的多媒体内容的URL中的静态文本。最后,这些数据可以包括适于管理画面的信息,如画面内的导航路径、指向新画面的URL,或者引起画面改变的事件,该事件例如是用户按压键或者过去了时间。应用控制器通过纯文本重新安排“描述标签”,画面的“要素”,即,图形组件的实现、它们的位置和它们的属性。图形组件的实现包含画面的结构,该结构包括屏幕上的视觉安排,这些实现的属性包括要素的行为,即,一要素如何根据用户的交互进行行为。画面实现行为的示例有颜色或字体的改变,选择菜单选项之后的窗口的弹出。在XML中,行为由包含在描述(或模板)文件中的描述性标签的属性来标识。该信息被从图形组件传递到屏幕管理器。
关于画面的内容,从17获取多媒体内容,该多媒体内容包括多媒体文件(如,MPEG-1、JPEG、GIF、PNG、MP3),而用户数据内容是从DB 13获取的。为了构建画面,屏幕管理器11分别调用图形组件9和(MM)组件15中的方法。在MHP标准中,图形组件是从图形库中获取的,如HAVI(家用音频-视频互操作性)或Java AWT(抽象窗口工具包)API。MM组件15包括程序,如Java类,其允许执行MM文件,如播放来自MP3文件的乐曲。由此,MM组件的示例是音乐播放器或视频播放器,统称为媒体播放器。
现在考虑包括动态内容的画面的情况,如,这些动态内容例如是取决于某些事件的发生(如用户按压软键)的条目列表。在这种情况下,通过模板6中的模板文件描述画面。该文件的内容的结构和类型类似于页面5中的描述文件,但是其至少包括调用标签,即请求执行平台外部的程序的标签。当应用控制器16在分析模板文件的同时发现调用标签时,其将关于要执行的程序的信息传递到逻辑管理器14。调用标签指示在本实施例中在平台外部的商业逻辑12中的一个或更多个商业逻辑,这些商业逻辑必须被调用以实时产生与所发生的事件关联的媒体内容。换言之,在运行时间期间需要由一个或更多个商业逻辑根据外部事件产生要显示的内容。
该解析处理类似于针对静态画面所描述的处理,直到解析器8遇到调用标签。应用控制器16检测到调用标签并识别出所关联的方法。在Java实现中,应用控制器识别出与调用标签关联的类和方法,这些类和方法适于商业逻辑12的类。该类(或者统称为可执行代码)是要用于产生动态内容的商业逻辑的实现。当应用控制器识别出所再调用的类时,其“要求”逻辑管理器14(通过传递包括在调用标签中的请求)通过实现12中所再调用的商业逻辑来实例化该类。逻辑管理器在所再调用的商业逻辑中激活指定的方法。
在本实施例DB 13中,通过逻辑管理器利用外部数据源来实例化所再调用的商业逻辑。该模板文件包含由应用控制器在检测到调用标签之前检测到的“用户-数据”标签。该用户-数据标签激活逻辑管理器以从用户数据7提取数据并创建数据结构,如数据库(DB)13,该数据结构由指向(部分)用户数据的数据指针描述。
逻辑管理器当对调用标签所请求的商业逻辑进行实例化时,将对商业逻辑提供指向DB 13的数据指针。
代替包含在模板文件中,用户-数据标签可以嵌入4中的配置文件中。在这种情况下,当启动服务应用时,在服务应用的可执行部分中“下载”所有必须的数据,即,将必须的数据转换成DB 13中的适当格式。然而,如下实施例,即,其中用户-数据标签存在于模板XML文件中并且其可在检测到调用标签之前被检测到,是优选的,因为其允许创建小型DB,在该小型DB中只存在与所再调用的商业逻辑关联的数据。在优选实施例中,此时只执行一个商业逻辑,每次需要执行该新商业逻辑时,可在先前执行的商业逻辑的数据上覆写与该新商业逻辑关联的数据。
由于对于输入数据的逻辑操作,商业逻辑产生包括要显示的数据19在内的XML文件。
该XML文件19被返回到逻辑管理器14,该逻辑管理器14进而将其发送到解析器8。解析器解译XML文件19,然后将经解析的文件传递到应用控制器,应用控制器将该“动态信息”(即,实时创建的信息)传递到屏幕管理器11以构建画面。屏幕管理器将该信息插入模板所指定的画面中的位置处,如,菜单中的特定位置,并通过实例化图形组件的适当方法来产生包括动态内容的图形对象。
例如,动态信息可以是条目的新列表,这些项需要作为外部事件的结果而产生,如,与火车时刻表应用的特定目的地连接的火车站列表。该应用控制器将包含在模板中的信息发送到屏幕管理器以构建画面。当应用控制器读取与所请求的列表关联的调用标签时,其明白该条目列表不能在模板文件中获得,但是该条目列表必须由商业逻辑产生。由此,应用控制器向逻辑管理器发送请求以通过调用在模板中指定的该类的方法来产生动态内容,例如,该方法引起的动作可以是“根据从DB 13获取的数据创建列表”(在本示例中,假设数据已经存在于DB 13中)。逻辑管理器通过使用反射技术来实例化类,并且调用相关方法。这些方法引起的动作的其它示例有根据用户指定的某些准则过滤来自DB 13的数据、按照用户的指定合并从DB 13获取的某些数据,以及排序并且构造数据的呈现。商业逻辑将XML文件19返回到逻辑管理器,其中带有在新列表中包含的条目。逻辑管理器将该文件19传递到解析器。这些条目(嵌入经解析的文件中)被提供给屏幕管理器、解析器和应用控制器。屏幕管理器根据模板的指示,将这些条目插入列表中,并将列表插入画面中。
最后,可在TV屏幕3上渲染通过上述方式动态构建的画面。屏幕管理器实现的画面构建的逻辑处理以及在TV屏幕上进行的渲染可以与先前针对静态画面描述的相同。
应当注意,当应用控制器读取调用标签时,其将画面构建置于“待机”状态,并将与调用标签相关的信息传送到逻辑管理器。根据本发明的优选实施例,在运行时间期间被实例化的Java类实现了应用的动态服务逻辑,即,逻辑管理器和商业逻辑。将XML调用标签实例化到运行时间对象中,即,所再调用的Java类的执行意味着只有当调用Java类的方法时才创建对象。
优选的,在9和/或15中只存在服务应用所需的图形组件和/或MM组件,而其它图形组件或者MM组件可以只在运行时间期间并且需要时才下载。
第一页面可以利用类似于超级链接的功能,指向其它页面。另选的,需要根据用户的请求创建另一画面。例如,在画面内包含用于图像组件实现的一个或更多个描述性标签。根据用户对于屏幕上的图形选项的选择,与该选择关联的描述性标签的属性是指向页面5中的描述性文件或者指向模板6中的模板文件的URL。模板或描述文件可以在STB的运行时间期间被存储。第二画面的构建遵循与针对第一画面的构建相同的逻辑传递,具有相同的静态画面与动态画面之间的区别。因此,应当理解,虽然以上参照图1的具体描述是针对画面(即,第一画面)的构建进行的,但是,该逻辑处理对于本实施例中的构成服务应用的任何画面的构建都成立(通常,如果已经进行了应用的实例化,则无需采用配置4)。
图2示出了本发明的第二实施例,其中客户直接与服务中心的后端链接,该后端即为至少包括服务器并且具体的可以是多个服务器的分布式系统的软件系统。对于服务应用20的与图1中要素对应的要素赋予相同的参考标记,并且将省略对它们的详细解释。本实施例中的STB具有回传信道,该回传信道将远端通信网络24与客户主控交互式服务应用20连接。远端网络24例如可以是IP、GPRS或UMTS网络。回传信道可以是有线的或者无线的物理路径。
回传信道可以用于运行基于标准客户-服务器架构或者Web服务的交互式服务。Web服务是用于在应用之间交互数据的协议和标准的集合。以各种编程语言编写并且在各种平台上运行的软件应用可以使用Web服务来在通信网络上,概言之,万维网上交换数据。Web服务反映了服务导向的架构方法,并且通常通过使用诸如SOAP(简单对象访问协议)的开放标准XML协议,将在通信网络上彼此通信的软件组件松耦合。服务提供商可以使用例如WSDL(Web服务描述语言)来描述所提供的特定服务的结构,该WSDL是基于XML的语言。
在图2的表示中,使用将客户/服务器系统分割成前端和后端的抽象。前端是服务中心的如下部分,其负责收集并处理来自用户的输入,并将这些输入转换成适当格式,即,服务器所支持的协议,如HTTP、SOAP。后端23是服务中心的如下部分,其可以处理来自前端的输入并将输出提供到前端。可以看出,前端的功能是客户与后端之间的界面。虽然前端通常在服务器侧上受控,但是根据本发明,前端位于用户的房屋处,如,运行在STB中,并且其包括在动态服务逻辑中。如前所述,利用动态服务逻辑,意味着在图2所示的利用逻辑管理器和商业逻辑组件22中的商业逻辑来提供实时创建动态信息的功能的逻辑包括软件组件输入26和输出27。
服务应用20运行在STB中,例如,它是从后端23下载到STB的。模板6和页面5可以在STB的运行时间期间存在,或者通过回传信道下载。在图2的实施例中,商业逻辑22包括输入逻辑26和输出逻辑27,它们被逻辑管理器14插入客户平台。应用20的客户平台除了包括逻辑管理器14之外,还包括解析器8、应用控制器16、屏幕管理器11和回传信道(RC)管理器25。RC管理器25负责设立以及拆除与远端网络的物理连接。例如,在回传信道是与PSTN连接的电话线的情况下,RC管理器负责拨打电话号码,并在该呼叫打开或关闭时通知逻辑管理器。客户平台还分别包括图形组件9和MM组件15。
服务应用通过将特定消息发送到服务器来向后端23(即,服务器)请求服务。画面的创建和管理与在第一实施例中描述的类似。与第一实施例的一个主要不同在于与商业逻辑关联的数据可以本地地从用户数据7获得,如在第一实施例中,或者从后端23获得。
在本实施例中,模板文件包括调用标签,其指定两个商业逻辑:用于对于服务器请求用户数据的输入逻辑26;以及用于处理来自服务器的应答消息的输出逻辑27。与先前的实施例类似,调用标签请求逻辑管理器针对某些具体用户数据实例化商业逻辑。根据本实施例的逻辑管理器实例化输入26中的商业逻辑,该商业逻辑准备包括输入数据的消息,所述消息采用根据后端23所使用的协议(如HTTP和SOAP)的格式。例如,输入数据可以由用户通过使用在STB的遥控上可用的多抽头(multi-tap)功能或者虚拟键盘来插入待填写的电子请求表格。由输入中的商业逻辑准备消息还可以包括对输入数据的逻辑操作,如将输入数据与从7中获取的其它用户数据关联。
输入26中的商业逻辑要求逻辑管理器将该消息发送到后端23。随后,逻辑管理器使用RC管理器25发送该消息。换言之,逻辑管理器要求RC管理器打开朝向后端23的连接。当连接打开时,逻辑管理器将输入26所接收的包括来自用户的输入数据的消息发送到后端。
服务器加工包括输入数据在内的消息,并将应答消息,作为回复,通过RC管理器管理的返回信道发送回逻辑管理器。当逻辑管理器接收到应答消息时,其实例化输出27中的商业逻辑,该商业逻辑将应答消息转换成客户平台可读的格式,如,XML格式。输出逻辑27的输出是逻辑管理器发送到解析器8的XML数据集29。解析器解译XML数据29,然后将其传递到应用控制器,应用控制器将此“动态信息”(由服务器创建并由输出转换成适当格式)传送到屏幕管理器11,以构建画面。屏幕管理器将此信息插入模板所指定的位置,并通过实例化图形组件的适当类,如图形库中的API,来产生包括动态内容的图形对象。
图2所示的架构的优点在于允许使用web服务的服务逻辑,并且允许客户侧应用与后端之间的通信更为有效地进行,因为输入数据(和/或其它用户数据)的翻译和处理都是“本地”进行的,即,在STB的运行时间期间进行的。
Claims (22)
1.一种数字接收设备,可操作地链接到屏幕(3)并被配置为接收要显示到所述屏幕上的电视信号,所述数字接收设备包括用于提供交互式服务的服务应用模块(10),所述交互式服务包括媒体内容,所述媒体内容包括将显现在所述屏幕上的静态画面和动态画面,其中所述静态画面和动态画面由描述文件(18)来描述,并且,其中所述服务应用模块(10)包括:
适于使静态画面显现在所述屏幕上的模块;和
动态服务逻辑模块(12,14),其适于生成动态画面,所述动态服务逻辑模块至少包括第一模块或商业逻辑(12),以及第二模块或逻辑管理器(14),该第一模块或商业逻辑(12)能够对于用户数据(7)执行逻辑操作以生成所述动态画面,该第二模块或逻辑管理器(14)能够利用所述描述文件(18)中包含的逻辑链接实例化所述商业逻辑,将所述用户数据(7)提供到所述商业逻辑以及收集所述逻辑操作的结果。
2.根据权利要求1所述的设备,其中服务应用模块在所述设备的软件环境的运行时间期间运行。
3.根据权利要求1所述的设备,其中所述数字接收设备是可操作地链接到观看者的电视的数字机顶盒。
4.根据权利要求1所述的设备,其中服务应用模块(10)进一步包括第三模块或解析器(8),该第三模块能够解析描述文件(18)和用户数据(7)。
5.根据权利要求1所述的设备,其中描述文件(18)使用标记语言内容格式。
6.根据权利要求5所述的设备,其中标记语言是XML语言。
7.根据权利要求4所述的设备,其中描述文件(18)使用标记语言内容格式,并且第三模块或解析器(8)能够通过将表示描述文件的标记文件转换成依从第一可执行代码和第二可执行代码的文档以及通过从标记文件中提取标签和属性,来解析描述文件(18)。
8.根据权利要求1到7之一所述的设备,其中逻辑管理器(14)和商业逻辑(12)被实现为Java类。
9.根据权利要求8所述的设备,其中逻辑管理器通过使用Java反射技术来实例化定义商业逻辑的Java类。
10.根据权利要求8所述的设备,进一步包括Java虚拟机JVM。
11.根据权利要求1所述的设备,其中用户数据(7)使用标记语言作为内容格式。
12.根据权利要求11所述的设备,其中标记语言是XML语言。
13.根据权利要求5或6所述的设备,其中描述文件(18)包括至少一个模板文件(6),所述模板文件包括第一标签或用户数据标签,该第一标签能够请求逻辑管理器以获取用户数据(7)并创建由数据指针描述的数据结构(13)。
14.根据权利要求13所述的设备,其中数据结构(13)是Java数据结构,并且商业逻辑是包含可执行代码和数据的Java类,并且其中该Java类中的数据包括所述Java数据结构。
15.根据权利要求14所述的设备,其中模板文件进一步包括第二标签或调用标签,该第二标签适于请求逻辑管理器对于所述数据结构(13)实例化所述可执行代码。
16.根据权利要求1所述的设备,进一步包括反馈设备,其可操作地链接到所述设备并且适于接收来自用户的输入信息。
17.根据权利要求16所述的设备,其中服务应用模块(10)进一步包括第四模块或图形组件(9),所述图形组件能够在屏幕上显示媒体内容并能够通过使用反馈设备输入来自用户的信息。
18.根据权利要求17所述的设备,其中服务应用模块进一步包括第五模块或屏幕管理器(11),适于接收包含在描述文件(18)中的用于表示画面的指令,并且适于采用这些指令以通过使用图形组件(9)构建画面。
19.根据权利要求18所述的设备,其中图形组件(9)和屏幕管理器(11)被实现为Java类。
20.根据权利要求1所述的设备,进一步包括用于将所述设备连接到远端通信网络(24)的回传信道。
21.根据权利要求20所述的设备,其中服务应用模块进一步包括用于管理与远端通信网络的连接的回传信道管理器(25),所述回传信道管理器逻辑地链接到逻辑管理器(14),以通知逻辑管理器关于所述连接的状态。
22.一种用于在可操作地链接到屏幕(3)的至少数字接收设备上提供交互式服务的方法,所述交互式服务包括媒体内容,所述媒体内容包括将显现在所述屏幕上的静态画面和动态画面,所述方法包括以下步骤:
a)在数字接收设备中运行服务应用模块(10),所述服务应用模块包括用于在所述屏幕上显现所述静态画面的模块以及用于生成所述动态画面的动态服务逻辑模块(12,14);
b)将用户数据(7)和描述文件(18)提供给服务应用模块(10),所述描述文件(18)描述所述静态画面并且包含用以生成所述动态画面的逻辑链接;
c)利用所述逻辑连接实例化所述动态服务逻辑模块以对所述用户数据执行逻辑操作,并生成将显现在所述屏幕上的所述动态画面;以及
d)收集所述逻辑操作的结果。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2004/009633 WO2006024309A1 (en) | 2004-08-30 | 2004-08-30 | Method and system for providing interactive services in digital television |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101036385A CN101036385A (zh) | 2007-09-12 |
CN101036385B true CN101036385B (zh) | 2012-12-12 |
Family
ID=34958413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800441352A Expired - Fee Related CN101036385B (zh) | 2004-08-30 | 2004-08-30 | 在数字电视中提供交互式服务的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080010664A1 (zh) |
EP (1) | EP1787470A1 (zh) |
JP (1) | JP2008512012A (zh) |
CN (1) | CN101036385B (zh) |
WO (1) | WO2006024309A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102487455B (zh) * | 2009-10-29 | 2014-12-17 | 中国电信股份有限公司 | 一种富媒体内容的视频播放系统和方法 |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0213218D0 (en) * | 2002-06-08 | 2002-07-17 | Koninkl Philips Electronics Nv | Operation of java virtual machine |
US20060005221A1 (en) * | 2004-07-02 | 2006-01-05 | Sony Corporation And Sony Electronics, Inc. | Navigation aids for television user interface |
US20060235976A1 (en) * | 2005-04-14 | 2006-10-19 | Ying Chen | Method and apparatus for metadata driven web service mediation |
US20070192364A1 (en) * | 2005-12-29 | 2007-08-16 | International Business Machines Corporation | Apparatus and method for porting of business logic among computer platforms |
US8887212B2 (en) * | 2006-03-21 | 2014-11-11 | Robin Dua | Extended connectivity point-of-deployment apparatus and concomitant method thereof |
US20070271589A1 (en) * | 2006-05-22 | 2007-11-22 | Espial Group Inc. | Method for interactive internet protocol television |
CN101090387B (zh) * | 2006-06-12 | 2012-02-22 | 松下电器产业株式会社 | 数字电视中间件、机顶盒、及数字电视网络中的交互方法 |
KR20080060818A (ko) * | 2006-12-27 | 2008-07-02 | 엘지전자 주식회사 | 데이터 방송 신호 수신 장치 및 데이터 방송 신호를처리하는 방법 |
US20080178125A1 (en) * | 2007-01-23 | 2008-07-24 | Microsoft Corporation | Providing dynamic content in a user interface in an application |
EP2109045B1 (en) | 2007-02-02 | 2017-05-03 | Sony Corporation | Information processing device, method, and program |
CN101316350B (zh) * | 2007-05-28 | 2010-06-02 | 财团法人工业技术研究院 | 双屏幕互动数字电视系统与方法 |
US8166513B2 (en) * | 2007-09-04 | 2012-04-24 | Sony Corporation | TV receiver using cable card for abstracting open cable application platform (OCAP) messages to and from the head end |
KR101358501B1 (ko) * | 2007-12-14 | 2014-02-05 | 엘지전자 주식회사 | 데이터 방송 수신기 및 데이터 방송 어플리케이션의 게더링방법 |
CN101316147B (zh) * | 2008-07-02 | 2010-04-07 | 深圳华为通信技术有限公司 | 将多媒体内容在终端上进行呈现的装置和方法 |
US8566869B2 (en) * | 2008-09-02 | 2013-10-22 | Microsoft Corporation | Pluggable interactive television |
KR101029651B1 (ko) * | 2008-09-07 | 2011-04-15 | (주) 아이티비엠지 | 케이블 방송 환경의 양방향 컨텐츠 서비스 제공을 위한 시스템 및 그 방법 |
CN101715086B (zh) * | 2008-10-07 | 2011-12-07 | 中兴通讯股份有限公司 | 一种网络电视机顶盒的纠错处理方法 |
CN101739252A (zh) * | 2008-11-26 | 2010-06-16 | 鸿富锦精密工业(深圳)有限公司 | 浏览器屏幕键盘程序的开发及应用方法 |
US9237311B2 (en) | 2009-02-06 | 2016-01-12 | At&T Intellectual Property I, Lp | Network architecture and method for application deployment |
TW201044294A (en) * | 2009-06-04 | 2010-12-16 | Dynalab Singapore Ltd | A business model of virtualization software service upon the digital subscriber line equipment |
JP5097297B2 (ja) | 2009-10-02 | 2012-12-12 | パナソニック株式会社 | 再生装置、再生方法、再生プログラム |
US20110080462A1 (en) * | 2009-10-02 | 2011-04-07 | Panasonic Corporation | Playback device, integrated circuit, playback method, and program for stereoscopic video playback |
US9374441B2 (en) * | 2009-10-09 | 2016-06-21 | Echostar Technologies L.L.C. | Dynamically determining and utilizing an application programming interface of an electronic device |
US8667533B2 (en) | 2010-04-22 | 2014-03-04 | Microsoft Corporation | Customizing streaming content presentation |
US10419811B2 (en) * | 2010-06-07 | 2019-09-17 | Saturn Licensing Llc | PVR hyperlinks functionality in triggered declarative objects for PVR functions |
CA2806881C (en) * | 2010-07-26 | 2016-06-14 | Invidi Technologies Corporation | Universally interactive request for information |
CN102455851A (zh) * | 2010-10-28 | 2012-05-16 | 上海聚力传媒技术有限公司 | 用于在不同用户设备中显示用户界面的方法和装置 |
CN101986303A (zh) * | 2010-10-29 | 2011-03-16 | 广东星海数字家庭产业技术研究院有限公司 | 应用dom解析引擎的数字电视hsml解析方法及系统 |
EP2490442A1 (fr) * | 2011-02-18 | 2012-08-22 | Alcatel Lucent | Procédé et système de gestion des contenus multimedia interactifs diffusés à la télévision |
US9013510B2 (en) | 2011-07-29 | 2015-04-21 | Google Inc. | Systems and methods for rendering user interface elements in accordance with a device type |
KR101995425B1 (ko) | 2011-08-21 | 2019-07-02 | 엘지전자 주식회사 | 영상 표시 장치, 단말 장치 및 그 동작 방법 |
CN102446207B (zh) * | 2011-09-01 | 2016-04-20 | 百度在线网络技术(北京)有限公司 | 一种用于获取显示信息并呈现的方法、装置、设备和系统 |
US9578378B2 (en) | 2012-01-05 | 2017-02-21 | Lg Electronics Inc. | Video display apparatus and operating method thereof |
US9420322B2 (en) * | 2012-03-14 | 2016-08-16 | Time Warner Cable Enterprises Llc | System and method for delivering compressed applications |
KR101959820B1 (ko) * | 2012-10-12 | 2019-03-20 | 삼성전자주식회사 | 멀티미디어 통신 시스템에서 구성 정보 송수신 방법 및 장치 |
IN2015MN01184A (zh) * | 2012-10-18 | 2015-06-19 | Lg Electronics Inc | |
KR102072989B1 (ko) * | 2013-01-14 | 2020-03-02 | 삼성전자주식회사 | 멀티스크린 지원을 위한 마크-업 구성장치 및 방법 |
KR102163684B1 (ko) | 2013-07-19 | 2020-10-12 | 삼성전자주식회사 | 디바이스의 홈 스크린 구성 방법 및 장치 |
CN103905902A (zh) * | 2014-04-10 | 2014-07-02 | 内蒙古中大传媒发展有限公司 | 一种通过中间件技术将XML下载启动java应用的方法 |
US20160352814A1 (en) * | 2015-05-28 | 2016-12-01 | Brillio LLC | Method and system for template based content projection |
KR102004970B1 (ko) * | 2016-11-17 | 2019-07-30 | 에스케이플래닛 주식회사 | 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치 |
US11043114B2 (en) * | 2019-02-14 | 2021-06-22 | Sony Group Corporation | Network configurable remote control button for direct application launch |
CN113377371A (zh) * | 2021-06-02 | 2021-09-10 | 五八到家有限公司 | 多场景配置方法、系统、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1333374A1 (en) * | 2001-06-11 | 2003-08-06 | Sap Ag | Dynamic generation of language localized and self-verified Java classes using XML descriptions and static initializers |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6466947B2 (en) * | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
US6526581B1 (en) * | 1999-08-03 | 2003-02-25 | Ucentric Holdings, Llc | Multi-service in-home network with an open interface |
JP4081934B2 (ja) * | 1999-09-17 | 2008-04-30 | ソニー株式会社 | データ配信方法及び装置、並びに、データ受信方法及び装置 |
US6961955B1 (en) * | 1999-10-13 | 2005-11-01 | Bellsouth Intellectual Property Corporation | System and method for providing video services |
EP1410131A2 (en) * | 2000-02-22 | 2004-04-21 | Visualgold.com, Inc. | Secure distributing services network system and method thereof |
JP4491902B2 (ja) * | 2000-04-04 | 2010-06-30 | ソニー株式会社 | 摺動型グラフックウィンドウを用いたメディアコンテンツとのインターラクティブシステム |
WO2002017639A2 (en) * | 2000-08-21 | 2002-02-28 | Intellocity Usa, Inc. | System and method for television enhancement |
US20020157101A1 (en) * | 2001-03-02 | 2002-10-24 | Schrader Joseph A. | System for creating and delivering enhanced television services |
US8365230B2 (en) * | 2001-09-19 | 2013-01-29 | Tvworks, Llc | Interactive user interface for television applications |
US7640566B1 (en) * | 2002-05-06 | 2009-12-29 | Microsoft Corporation | Dynamic pause buffer sizing |
GB0213218D0 (en) * | 2002-06-08 | 2002-07-17 | Koninkl Philips Electronics Nv | Operation of java virtual machine |
US20040031052A1 (en) * | 2002-08-12 | 2004-02-12 | Liberate Technologies | Information platform |
US7873668B2 (en) * | 2003-08-15 | 2011-01-18 | Laszlo Systems, Inc. | Application data binding |
US9324239B2 (en) * | 2004-03-19 | 2016-04-26 | Sap Se | Authoring tool to structure and create a computer-based training course, and having role-specific functions |
-
2004
- 2004-08-30 EP EP04764605A patent/EP1787470A1/en not_active Ceased
- 2004-08-30 US US11/660,863 patent/US20080010664A1/en not_active Abandoned
- 2004-08-30 JP JP2007528610A patent/JP2008512012A/ja active Pending
- 2004-08-30 CN CN2004800441352A patent/CN101036385B/zh not_active Expired - Fee Related
- 2004-08-30 WO PCT/EP2004/009633 patent/WO2006024309A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1333374A1 (en) * | 2001-06-11 | 2003-08-06 | Sap Ag | Dynamic generation of language localized and self-verified Java classes using XML descriptions and static initializers |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102487455B (zh) * | 2009-10-29 | 2014-12-17 | 中国电信股份有限公司 | 一种富媒体内容的视频播放系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2006024309A1 (en) | 2006-03-09 |
JP2008512012A (ja) | 2008-04-17 |
CN101036385A (zh) | 2007-09-12 |
EP1787470A1 (en) | 2007-05-23 |
US20080010664A1 (en) | 2008-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101036385B (zh) | 在数字电视中提供交互式服务的方法和系统 | |
US11422779B2 (en) | Application support for network devices | |
US7664813B2 (en) | Dynamic data presentation | |
AU2006292506B2 (en) | Self-contained mini-applications system and method for digital television | |
US10149014B2 (en) | Guide menu based on a repeatedly-rotating sequence | |
US8042132B2 (en) | System and method for construction, delivery and display of iTV content | |
US20130227617A1 (en) | System and Method for Construction, Delivery and Display of iTV Content | |
CN101107854A (zh) | 用于向移动数据处理单元发送数据的方法和设备 | |
Zorrilla et al. | A Web-based distributed architecture for multi-device adaptation in media applications | |
JP4491902B2 (ja) | 摺動型グラフックウィンドウを用いたメディアコンテンツとのインターラクティブシステム | |
CN111726674A (zh) | 一种HbbTV应用启动方法及显示设备 | |
CN111182339A (zh) | 一种播放媒体项目的方法及显示设备 | |
Pedrosa et al. | A multimodal interaction component for digital television | |
CN111479144A (zh) | 显示设备及应用交互方法 | |
WO2011000749A1 (en) | Multimodal interaction on digital television applications | |
WO2003079271A1 (en) | System and method for construction, delivery and display of itv content | |
KR20070052328A (ko) | 디지털 텔레비전에서의 상호작용 서비스 제공 방법 및시스템 | |
Ferretti et al. | Web Content Search and Adaptation for IDTV: One Step Forward in the Mediamorphosis Process toward Personal‐TV | |
KR101834358B1 (ko) | 스케일러블 어플리케이션 서비스를 위한 저작 장치 및 방법 | |
Cho et al. | Design of an integrated web browser for digital TVs | |
Tsekleves et al. | Semi-automated creation of converged iTV services: From macromedia director simulations to services ready for broadcast | |
Cesar | ABTEKNILLINEN KORKEAKOULU | |
Kojo | A method to deliver multiple media content for digital television | |
Rodríguez Alsina | Cross-Platform multimedia contents through model transformations: the digital TV case | |
CN101073254A (zh) | 用于在itv应用中描述呈现和行为信息的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121212 Termination date: 20190830 |