数据处理系统的制作方法

文档序号:6663054阅读:234来源:国知局
专利名称:数据处理系统的制作方法
技术领域
本发明涉及到一种用于数字电视系统的接收机/译码器。
由于主要用于广播电视信号、特别(但不排他地)是用于卫星电视系统的数字传输系统的出现,因而使得也能将这种系统用于各种其它目的。其中之一就是提供与最终用户的交互。
本发明在这样的广播数字电视系统中有具体的应用,在所说的广播数字电视系统中,将接收到的信号经由一接收机传送给接收机/译码器从而再传送给电视机。所述接收机/译码器将压缩后的MPEG型信号译码成电视机的电视信号。所述接收机/译码器通过该接收机/译码器中的接口而受控于遥控器手机。
提供上述交互性的一种方式是在接收电视信号的接收机/译码器中运行一应用程序。该应用程序的代码可永久地存储在所述接收机/译码器中。但是,这会有相当的局限性。最佳的是,所述接收机/译码器应能下载所需应用程序的代码。通过这种方式,可提供更多的多样性,并且,可在不影响用户的情况下按需更新应用程序。
应该允许有多个不同的生产商来生产接收机/译码器。很明显,所有生产商都必须满足特定的共同功能规范,但应允许生产商在其设计细节包括硬件细节方面有自己的选择。但是,接收机/译码器的所有功能、特别是它处理应用程序的工作方式必须对所有的接收机/译码器来说都是相同的。所以,接收机/译码器的控制系统的与处理应用程序有关的那些部分的结构设计必须能为所有的接收机/译码器所共用,并且应该是系统操作员而不是硬件生产商的责任。
很明显,上述两个目的(硬件结构上的自由性与共同的系统功能性)很难协调。本发明的目的就是克服这种困难性。
依照本发明的主要方面,本发明提供了一种用于数字电视系统的接收机/译码器,它包括用于接收压缩的MPEG信号的装置;用于对接收到的信号进行译码以提供电视信号的装置;用于将所述电视信号提供给电视机的装置;用户输入接口;以及,用于根据经由上述用户输入接口接收到的输入信号来对所述接收机/译码器进行控制的计算机系统;所述计算机系统包括设备管理器,它用于接收来自多个端口的信号并将数据提供给这些端口;以及,虚拟机,它与上述设备管理器相连并包括对自上述设备管理器接收的数据进行处理并将数据返回给该设备管理器的装置。
最佳的是,所述虚拟机包括一操作引擎、一例程库、一解释器、用于存储多个指令序列的存储装置、队列管理装置、以及缓冲区管理装置。
最佳的是,所述接收机/译码器还包括多个接口,它们与外部设备相连,所述设备管理器包括至少一个设备,它与至少一个接口或接收机/译码器的至少一种功能相关联。最佳的是,所述设备管理器还包括至少一个设备,它与至少一个设备驱动程序相连。
最佳的是,所述接收机/译码器包括多个应用程序源,每个应用程序源均用于提供一应用程序,以便对接收机/译码器和/或电视机进行控制,并且,所述操作引擎位于上述应用程序源与逻辑设备之间,并包括排队装置,它用于接收经由所述设备管理器所产生的事件并将这些事件传给操作引擎。最佳的是,所述操作引擎包括多个进程排序器,它们与所说的设备相关联;以及,用于从上述排队装置中抽出事件并因此启动相关进程排序器的装置。最佳的是,还存在有过滤装置,它们用于在使事件进入排队装置之前将该事件与一个事件类型表相对比。最佳的是,所述接收机/译码器还包括用于存储至少一个应用程序的装置。
本发明的另一个方面提供了一种接收机/译码器,它用于接收广播信号,所述接收机/译码器包括用于根据接收到的信号对所述接收机/译码器进行控制的装置;所述控制装置包括用于接收来自多个端口的信号并将数据提供给这些端口的装置;以及虚拟机,它用于对自上述接收装置接收的数据进行处理并将数据返回给该接收装置的装置。
本发明的又一个方面包括一种系统,该系统包括多个如上所述的接收机/译码器,其中,不同的接收机/译码器有一共用的虚拟机以及与相应的不同电路相连的相应的不同设备管理器。
以下参照附图纯粹以举例的方式说明本发明的最佳特征,在附图中

图1示出了本发明最佳实施例的数字电视系统的总体结构;图2示出了上述数字电视系统的交互系统的结构;图3示出了下载至一接收机/译码器的存储器中的模块内的文件结构;图4是上述接收机/译码器的接口的概略图;图5示出了上述交互式接收机/译码器的存储器的存储器容积的结构;图6是上述接收机/译码器的功能框图;以及图7详细地示出了所述虚拟机和运行时间引擎的某些组件。
图1示出了一数字电视系统1000的概貌。本发明包括一通常的数字电视系统2000,它使用周知的MPEG-2压缩系统来传送压缩后的数字信号。具体地说,广播中心内的MPEG-2压缩器2002接收数字信号流(一般是视频信号流)。压缩器2002通过链路2006与一多路复接器和扰码器2004相连。多路复接器2004接收多个其它输入信号、汇集一个或多个传输流并将压缩后的数字信号通过链路2010传给广播中心的发射器2008,所说的线路当然可以呈包括电信链路在内的多种形式。发射器2008通过上行链路2012将电磁信号传给卫星收发器2014,在该收发器中,对所述电磁信号作电处理并通过理论上的下行链路2016将其广播给地面接收机2018,所述地面接收机通常呈最终用户所拥有或租借的抛物面天线的形式。将接收机2018所接收的信号传给最终用户所拥有或租借的并与最终用户的电视机2022相连的集成接收机/译码器2020。接收机/译码器2020将压缩后的MPEG-2信号译码成用于电视机2022的电视信号。
条件接入系统3000与多路复接器2004和接收机/译码器2020相连并部分地位于广播中心内。部分地位于所述译码器内。条件接入系统3000能使得最终用户接入来自一个或多个广播提供者的数字电视广播。可将能对涉及到商业节目(也就是说,广播提供者所出售的一种或多种电视节目)的消息进行解密的智能卡(smart card)插进接收机/译码器2020。最终用户可利用译码器2020和智能卡以预订模式或每次观看付费模式购买商业节目。
交互系统4000也与多路复接器2004和接收机/译码器2020相连并且也部分地位于广播中心内、部分地位于所述译码器内,而且能使得最终用户通过调制解调的反向信道(modemmed back channel)4002与多种应用程序相交互工作。
图2示出了本发明的数字电视系统1000的交互电视系统4000的总体结构。
例如,交互系统4000使得最终用户一经要求就能通过电视机根据屏幕目录来购买物品、查询本地新闻和天气形势图并玩游戏。
交互系统4000在总体上包括四个主要部件一位于广播中心(或其它地方)的创作工具4004,它能使广播提供者创建、开发、调试和测试应用程序;一位于广播中心的应用程序和数据服务器4006,它与创作工具4004相连并用于使广播提供者准备、鉴别和格式化传给多路复接器和扰码器2004的应用程序及数据以便插进要加以广播给最终用户的MPEG-2传输流(一般是插进该传输流的专用部);一虚拟机,该虚拟机包括运行时间引擎(RTE)4008,它是安装在最终用户所拥有或租借的接收机/译码器2020内的可执行代码,该代码可使最终用户接收、鉴别应用程序并对应用程序进行解压缩且将该应用程序装载进接收机/译码器2020的工作存储器2024内以便执行。引擎4008还可运行常驻的通用应用程序。引擎4008与硬件及操作系统无关。
一调制解调的反向信道4002,它位于接收机/译码器2020与应用程序和数据服务器4006之间,以便在最终用户请求时使指令服务器4006的信号将数据和应用程序插进MPEG-2传输流内。
所述交互电视系统利用“应用程序”来进行操作,所述应用程序对接收机/译码器和包含在其中的各个设备的功能进行控制。在引擎4008内,将应用程序表示为“资源文件”。“模块”是一组资源文件和数据。可能需要用若干个模块来组成一个应用程序。接收机/译码器的“存储器容积”是用于模块的存储空间。一个“接口”用于下载模块。可将模块从MPEG-2传输流中下载进接收机/译码器2020。
以下详细说明上述部件。
就本说明书而言,一个应用程序是一段计算机代码,它用于对最好是接收机/译码器2020的高层功能进行控制。例如,当最终用户将遥控器对准电视机2022的屏幕上所看到的按钮对象并按下确认键时,就运行与该按钮相关的指令序列。
交互性应用程序提供了菜单并在最终用户请求时执行命令且提供与应用程序的目的有关的数据。应用程序可以是常驻应用程序,也就是说,它们存储在接收机/译码器2020的ROM(或FLASH或其它非易失性存储器)中,或者可将应用程序广播并下载进接收机/译码器2020的RAM或FLASH存储器中。
应用程序的实例有·初始化应用程序(Initiating Application)。接收机/译码器2020配备有一常驻初始化应用程序,它是自适应的模块集合(以下将更详细地对这个术语进行界定),从而使接收机/译码器2020能在MPEG-2环境中立即运行。初始化应用程序提供了核心特征,如果必要的话,广播提供者可对该特征进行修改。初始化应用程序还提供了常驻应用程序与下载应用程序之间的接口。
·启动应用程序(Startup Application)。启动应用程序可使任何应用程序无论是下载的应用程序还是常驻的应用程序均能在接收机/译码器2020上运行。这种应用程序可用作在进行服务时为启动应用程序而执行的引导程序。将启动应用程序下载至RAM,因此,可很容易地更新该应用程序。可将启动应用程序配置成能在下载之后立即选择并运行各信道中可用的交互应用程序或者在预装之后选择并运行各信道中可用的交互应用程序。就预装而言,将所述交互应用程序装进存储器2024并在需要时用启动应用程序来加以启动。
·节目指南(Program Guide)。节目指南是这样一种交互应用程序,它提出了所有有关节目的信息。例如,节目指南可以提供如一数字电视集合的各信道中所提供的一周电视节目的信息。最终用户可通过按下遥控器2026上的按键来访问一附加屏幕,该附加屏幕叠加在电视机2022的屏幕上所显示出的事件上。所述附加屏幕是一浏览器,它给出了与数字电视集合的当前和下一个节目事件有关的信息。最终用户通过按下遥控器2026上的另一个按键可以访问这样一种应用程序,它能显示出与一周的节目事件有关的信息列表。最终用户还可按简单和定制的标准来对节目事件进行检索和排序。最终用户也可以直接访问选定的频道。
·每次观看付费(Pay Per View)应用程序。每次观看付费应用程序是一种可在数字电视集合的各PPV频道上连同条件访问系统3000使用的交互服务。最终用户可用TV指南或频道浏览器来访问该应用程序。此外,一旦在PPV频道上检测到PPV事件,每次观看付费应用程序就会自动开始。最终用户可用于智能卡3020或通过通信服务器3022(用调制解调器、电话和DTMF码、MINITEL或类似系统)来购买当前的节目事件。每次观看付费应用程序可常驻接收机/译码器2020的ROM或者可下载进译码器2020的RAM内。
·PC下载(PC download)应用程序。在请求时,最终用户可用PC下载应用程序来下载计算机软件。
·杂志浏览器应用程序。杂志浏览器应用程序包括根据最终用户通过屏幕按钮的导航来周期性地以视频方式广播图像。
·小测验(Quiz)应用程序。小测验应用程序最好与广播小测验节目相同步。例如,在电视2022的屏幕上显示出多选题,最终用户可用遥控器2026选择一个答案。小测验应用程序可将回答是否正确通知给用户并能对用户计分。
·电视购物(Teleshopping)应用程序。在电视购物应用程序的一个实施中,将出售的物品价格传给接收机/译码器2020并显示在电视2022上。用户可用遥控器选择要购买的具体物品。可按着将借方记入业已插进接收机/译码器2020的一个读卡器4036中的信用卡帐户的指令,将物品的订单通过带调制解调器的反向信道4002传送给电视购物应用程序和数据服务器4006或者传送给一电话号码已被下载至了接收机/译码器的独立销售系统。
·电视银行业务(Telebanking)应用程序。在电视银行业务应用程序的一个实例中,用户将银行卡插进接收机/译码器2020的一个读卡器中。接收机/译码器2020用存储在银行卡中或存储在接收机/译码器中的电话号码拨叫该用户的银行,然后,电视银行业务应用程序提供可用遥控器2026来选择的多个功能以便例如通过电话线下载帐户清单、在帐户之间传递资金、请求支票簿等。
·互联网浏览器(Internet Browser)应用程序。在互联网浏览器应用程序的一个实例中,用遥控器2026输入来自用户的诸如请求观看具有特定URL的网页的指令,并用调制解调的反向信道4002将这些指令传送给应用程序和数据服务器4006。然后,将适当的网页包括在来自广播中心的传输流中、用接收机/译码器2020通过上行链路2012、收发器2014和下行链路2016来接收该网页、并将该网页显示在电视2022上。
将应用程序存储在接收机/译码器2020的存储器存储单元内并将应用程序表示为资源文件。所述资源文件包括图形对象描述单元文件、变量块单元文件、指令序列文件、应用程序文件以及数据文件。
所述图形对象描述单元文件对屏幕即应用程序的人—机接口进行描述。所述变量块单元文件对应用程序所处理的数据结构进行描述。所述指令序列文件对应用程序的处理操作进行描述。所述应用程序文件提供了应用程序的入口点。
按这种方式构成的应用程序可使用诸如图标库文件、图像文件、字体文件、颜色表文件和ASCII文本文件之类的数据文件。一个交互式应用程序还可通过输入和/输出来获得联机数据。
引擎4008仅将它在给定时间需要的资源文件装进存储器。从图形对象描述单元文件、指令序列文件和应用程序文件中读出这些资源文件,在调用用于装载模块的过程之后将变量块单元文件存储在存储器中并加锁,直至专门调用了用于卸载模块的过程。
参照图3,诸如电视购物模块之类的模块4010是一组资源文件和数据,它包括单个的应用程序文件4012;不确定数量的图形对象描述单元文件4014;不确定数量的变量块单元文件4016;不确定数量的指令序列文件4018;以及在适当的情况下还包括诸如图标库文件、图像文件、字体文件、颜色表文件和ASCII文本文件之类的数据文件4020。
在MPEG数据流中,各个模块均包括一组MPEG表。每个MPEG表均可格式化为多个数据部。在MPEG数据流中,每个数据部均具有多达4千字节的“大小”。就通过串行端口和并行端口进行数据传输而言,例如,可将模块类似地分解成表和数据部,数据部的大小随传输用媒体而变。
按数据包的形式在MPEG数据流中传送模块,所述数据包在例如视频数据流、音频数据统和电视文本数据流等相应类型的数据流中一般为188字节。每个数据包的前面均是一个13位的数据包标识(PID),在MPEG数据流中传输的各个数据包均有一个PID。节目映射表(PMT表)包含有不同数据流的列表并根据相应的PID限定了各数据流的内容。PID可提示一个设备在数据流中存在有应用程序,用PMT来标识PID。
参照图4,接收机/译码器2020包括若干个接口,具体地说包括用于MPEG信号流的调谐器4028、串行接口4030、并行接口4032以及两个读卡器4036,一个读卡器用于构成了前述系统一部分的智能卡、一个读卡器用于银行卡(银行卡用于付款、在家中进行银行事务处理等)。所述接收机/译码器还包括一接口4034,它与通往电视信号生产商的带调制解调器的反向信道4002相连,因此,用户可将个人选择传回至电视信号(节目)生产商。
存储器容积是用于模块4010的存储空间。这种存储空间位于接收机/译码器2020的存储器2024内。参照图5,存储器2024被分成RAM容积4022、FLASH容积4024和ROM容积4026,但是,这种物理组织明显不同于逻辑组织。所述存储器还被分成与前述将模块下载至接收机/译码器2020内的各种接口相关联的存储器容积,例如,可分成MPEG容积,它用于存储下载自MPFG位流的模块;以及,串行容积,它用于存储经由串行接口接收到的模块。从一个角度说,可将所述存储器看作是硬件的一部分,另分一个角度说,可将所述存储器看作是承载着或包含了所示系统除硬件以外的全部内容。
应该认识到,所述接收机/译码器可由多个不同的生产商来设计和生产。所以,接收机/译码器具有不同的硬件结构,尽管这些硬件结构都当然地符合同一种功能规范。所以,重要的是,一个给定的应用程序在各个接收机/译码器中以同样的方式起作用,并且,一个接收机/译码器应以相同的适当方式执行所有的应用程序。
可将上述系统看作是构成虚拟机4007一部分的运行时间引擎4008的中心。它在一端(“高端”)与应用程序相连,在另一端(“低端”)通过以下将予以说明的多种中间逻辑单元与接收机/译码器的硬件4061相连。所述接收机/译码器的硬件可看作是包括了上述多种端口或接口(用于遥控器2026的接口2030、MPEG流接口4028、串行接口4030、并行接口4032、与读卡器4036的接口、从及与调制解调的反向信道4002的接口)。
参照图6,多个应用程序4057与单元4007相连,某些共用的应用程序可或多或少地永久常驻在所述系统内,如标号4057所示,而另一些应用程序则可在需要时例如从MPEG数据流或从其它端口下载至所说的系统。
单元4007除运行时间引擎4008以外还包括常驻的库函数4006,这些库函数包括工具箱4058。所说的库包含有引擎4008所使用的多种C语言函数。这些函数包括诸如压缩、扩展或比较数据结构、划线等之类的数据操作。库4006还包括与接收机/译码器2020中的固件4060有关的信息,诸如硬件和软件版本号以及可用的RAM空间、在下载新设备4062时所使用的函数等。可将函数下载至所说的库并将其存储在快擦写存储器或RAM存储器内。
运行时间引擎4008与设备管理器4068相连,所述设备管理器与一组设备4064相连,所说的一组设备与设备驱动程序4060相连,所述设备驱动程序则与前述端口或接口相连。从广义上说,可将一个设备驱动程序看作是限定了一逻辑接口,因此,两种不同的设备驱动程序可与一个共用物理端口相连。一个设备驱动程序通常与一个以上的设备驱动程序相连,如果一个设备与一个设备驱动程序相连,那么,该设备则通常被设计成包括了通信所需的所有功能,因此,可消除对一独立的设备驱动程序的需求。某些设备之间可进行通信。
如下所述,从设备4064到运行时间引擎有三种通信形式利用变量进行通信、利用缓冲区进行通信,以及,利用传给一组事件队列的事件进行通信。
就上述各种函数的设计者或提供者而言,由各个服务(节目)提供者来生成所说的应用程序。由系统管理机构或设计者来设计和提供所说的运行时间引擎。由接收机/译码器的生产商(硬件提供商)来提供所说的设备管理器、设备以及设备驱动程序。但是,应该认识到,接收机/译码器的各个层次与提供者的三个层次之间的对应关系通常并不是很精确的。例如,所述系统管理机构在实践中通常也提供某些应用程序,所述接收机/译码器的生产商也可以从事逻辑设备的设计,等等。
接收机/译码器2020的各个功能均表现为设备4062。设备可以是本地的也可以是远程的。本地设备4064包括智能卡、SCART连接器信号、调制解调器、串行和并行接口、MPEG视频和音频播放器以及MPEG数据部和表抽取器。在远距离位置处执行的远程设备4066在下列方面不同与本地设备、即必须由系统管理机构或设计者、而不是由接收机/译码器生产商所提供和设计的设备和设备驱动程序来限定端口和过程。
在创建一个新设备4062时,可通过从广播中心下载相关的应用程序来将该设备安装进现有的接收机/译码器2020内。在接收机/译码器2020内由应用程序4056来执行这种下载操作,所述应用程序4056检查硬件和软件版本,如果正确的话,就装载表示新设备4062的软件模块并要求库4006的一个程序将该新设备的代码安装进(快擦写存储器中的)固件。这就能在不影响其它软件的情况下灵活且可靠地将新功能安装进接收机/译码器2020。
设备管理器4068是应用程序4056与接收机/译码器2020的专用函数之间的共用软件接口。设备管理器4068控制着对设备4062的访问、通知接收到了意外事件并对共享的存储器进行管理。
运行时间引擎4008在微处理器和共用的应用程序编程接口的控制下运行。它们安装在各个接收机/译码器2020内,因此,从应用程序的角度看,所有的接收机/译码器2020都是相同的。
引擎4008在接收机/译码器2020上运行应用程序4056。引擎4008执行交互式应用程序4056并接收来自接收机/译码器2020外部的事件、显示图形和文本、为服务调用设备并使用与引擎4008相连的库4006的函数以进行特定的计算。
运行时间引擎4008是安装在各接收机/译码器2020内的可执行代码并包括一用于解释并运行应用程序的解释器。引擎4008可用于包括单任务操作系统(如MS-DOS)在内的任何操作系统。引擎4008是以进程排序器(它可接收诸如按下按键之类的多种事件以执行多种动作)为基础的并且包含有自己的调度器以便对来自不同硬件接口的事件队列进行管理。引擎4008还控制图形和文本的显示。进程排序器包括一组动作组。每个事件都会使得上述进程排序器根据该事件的特征从当前的动作组移至另一个动作组并执行该新动作组的动作。
如上所述,逻辑信道不同于物理端口,因此,例如可以有使用同一物理端口的两种不同的逻辑信道。可将这两种逻辑信道上的事件传给相应不同的进程排序器。此外,可以存在有使用一个物理端口的同种类型的两个不同的逻辑信道。在这种情况下,这两个信道中的每一个信道均当然需要自己的进程排序器,所以,会形成同一进程排序器的两个实例(事例)。
引擎4008包括一代码装载器,以便将应用程序4056装载和下载至接收机/译码器存储器2028。仅将必要的代码装载进RAM或Flash存储器(快擦写存储器),以确保能最佳地进行使用。用鉴别机制来检验所下载的数据,以防止对应用程序4056作任何的修改或执行任何不合法的应用程序。引擎4008还包括一解压缩器。由于为节约空间以及从MPEG-2传输流中进行快速下载或通过内置式接收机/译码器模式进行快速下载而对应用程序代码(一和中间代码)进行了压缩,故必须在将上述代码装进RAM之前对该代码进行解压缩。引擎4008还包括一解释器,以便对应用程序代码进行解释,从而更新各种变量值并确定状态的变化;以及,它还包括一检错器。
引擎4008的主循环从上述排队装置中抽取出事件并因此而启动相关的进程排序器。在每次进行上述主循环时,就调用一个过程,以便从事件接口接收外部事件(如按下遥控器的一个按键、接收到MPEG-2数据部或有关串行端口的消息)。所有的事件,无论是输入至显示函数(以下将预以说明)的事件还是经由一接口所接收到的事件,都会在被引擎4008处理之前传给一事件接口。就每个被检测到的事件而言,所述过程都包括一称之为“事件”的消息,它按相应的优先级0至4被放进引擎4008的五个队列中的一个队列内。在调用了用事件来填充队列的事件接口之后,引擎4008就按减小事件优先级(从优先级4至优先级0)的顺序检索所说的队列。从上述队列中删队所找到的事件并用该事件去启动预定的进程排序器。
在使用任何设备4062的服务之前,必须将(诸如应用程序指令序列之类的)程序声明为“客户”,也即对设备4066或设备管理器4068的逻辑访问方式。设备管理器4068将客户号赋给客户,所述客户号涉及到对设备的所有访问。设备4066可具有若干个客户,每个设备4066的客户号都按着设备4066的类型来加以指定。可通过过程“DeviceOpen Channel(设备打开信道)”来将一个客户引入设备4066。上述过程将一客户号分配给该客户。可通过过程“DeviceClose Channel(设备闭合信道)”将客户从设备管理器4068的客户列表中删除。
设备管理器4068所提供的对设备4062的访问可以是同步的,也可以是异步的。就同步访问而言,使用过程“DeviceCall(设备调用)”。这是一种这样的访问数据的方法,该方法是可立即使用的,或者是一种不包括等待预定响应的功能。就异步访问而言,使用过程“DeviceI/O(设备I/O)”。这是一种这样的访问数据的方法,该方法包括等待响应例如扫描调谐器频率以便找到一种多路复接或从MPEG流中取回一个表。在可以获得所请求的结果时,就将一个事件放进上述引擎的队列中,以便发信号指示该事件到达了。另一个过程“DeviceEvent(设备事件)”提供了一种管理意外事件的方法。
如上所述,运行时间引擎的主循环与多个进程排序器相连,当该主循环遇到一个适当的事件时,就将控制权暂时传给上述进程排序器中的一个。
还可主要用两种类型的进程排序器即图形对象描述单元的进程排序器和指令序列的进程排序器来执行上述运行时间引擎与应用程序之间的通信。
考虑图形对象描述单元和指令序列的进程排序器的操作可以最好地说明上述进程排序器的操作要点,其它进程排序器的操作与此相似。所述图形对象描述单元的进程排序器对人—机接口进行管理,所述指令序列的进程排序器则响应接收来自上述图形对象描述单元的进程排序器的指令序列执行请求而执行指令序列。(指令序列是一系列解压缩了的中间代码命令)。
与引擎4008相通信的显示函数对将文本和图形显示给最终用户以及将最终用户的动作显示给引擎4008进行管理。所述文本和图形叠加在电视机2022的显示器上,并且,用户可通过键盘(使用该术语以便包括遥控器2026)与应用程序4056来进行交互。
图形对象描述单元的进程排序器从最终用户的电视屏幕接收查询事件,并通过开始读取相应的接口文件4014来处理该查询。然后,图形对象描述单元的进程排序器使用所述接口的图形函数来跟踪电视机2022的显示器上的图形对象。最终用户可利用遥控器2026的四个箭头键来移动所说的图形对象。每次按下按键时,所述图形对象描述单元的进程排序器都处理一个事件。当用户用遥控器2026上的VALID(确认)键来确认一个选择时,就用图形对象描述单元的进程排序器来处理事件的代码,图形对象描述单元的进程排序器会生成事件,这些事件请求运行指令序列并将其传给指令序列的进程排序器。
在指令序列的进程排序器从上述图形对象描述单元的进程排序器中接收到一指令序列执行请求时,它就会读取相应的指令序列文件4018并将其全部装载进存储器。然后,指令序列的进程排序器开始运行所说的指令序列,并持续至该指令序列结束或持续至遇到了调用函数的路径改变选择。
在所述指令序列结束时,所说的系统就经由前述主循环返回循环以便获取事件和进行重新调度。
还存在有若干个下载进程排序器,这些排序器的功能是处理与含有应用程序4056的不同容积相关联的各种协议。
参照图7,所述设备管理器包括队列100,可使来自设备的事件进入该队列以便作临时的存储。所述虚拟机按适当的间隔将信号传给上述队列,以便从中抽取出第一个项目。将这一事件项目移至所述虚拟机中的队列结构101。根据该事件项目的优先级将其插进5个队列0至4中的适当一个。事件项目是队列选择器102在运行时间引擎的控制下从队列结构101中抽取出来的。
在从队列结构101中选出一个事件时,就将该事件传给进程排序器引擎104,该引擎包括一进程排序器驱动程序105以及一组进程排序器106。每个进程排序器都是一组关联在一起的动作组,因此,从一个动作组到下一个动作组的每个步骤在总体上都取决了所述事件的当前动作组和特征。包括其中“下一个” 动作组即系统响应一个事件而前进到的那个动作组完全取决于事件的性质但与当前动作组无关的进程排序器在内的不同进程排序器具有不同的大小和复杂性。而且,如进程排序器框图的右侧所示,一个进程排序器有若干个拷贝即存在有若干个相同的进程排序器,以便例如处理经由一个端口的使用了相同协议的若干个独立的数据流。
在选定了一个事件时,就将其传给适当的进程排序器。这就会从该进程排序器的当前动作组中选出适当的出口。这就会选出适当的下一个动作组并执行该动作组中的动作,例如包括将一消息传给设备管理器或执行一指令序列。所述进程排序器中的动作组还可将事件消息传给其它的进程排序器。
如果选定了一指令序列,就将该指令序列的标识传给指令序列选择器107。这就会从指令序列存储器108中获得预定的指令序列并将其传给指令序列解释器109,指令序列解释器109可执行该指令序列。
所述系统还包括一过滤器110,可将例如来自进程排序器106的事件类型装载进该过滤器。在将一个事件项目从设备管理器的队列100传给虚拟机中的队列结构101时,就将该事件的类型或特征与过滤器110中的列表作比较,如果是不能识别的类型,就拒绝该类型。这就能确保若例如所述设备管理器或键盘生成了虚拟机不能处理的那种类型的事件,就不将这些事件传给队列结构101。(如果将这种事件传给队列结构101,那么,它们或者是会累积在队列结构内、或者会使进程排序器引擎104出现错误。)应该认识到,以上完全是以举例的方式来说明本发明的,在本发明的范围内可对细节进行改进。
可独立地或以任何适当的组合形式来提供本说明书以及(在适当情况下)权利要求和附图中公开的各个特征。
在上述最佳实施例中,用计算机软件实现了本发明的某些特征。但是,对专家来说当然是很清楚,均可用硬件来实现这些特征中的任何一个。此外,应该认识到,可用电或类似的信号来实现用硬件、计算机软件或类似手段所实现的功能。
交叉引用了我们的共同未决的各个申请,所有这些申请都有相同的提交日期,这些申请题为“信号生成与广播”(代理人文档号PC/ASB/19707),“供加密广播信号的接收机使用的智能卡和接收机”(代理人文档号PC/ASB/19708),“广播和接收系统以及其条件接入系统(代理人文档号PC/ASB/19710),“从发射器通过接收机/译码器下载计算机文件下载到计算机”(代理人文档号PC/ASB/19711),“电视节目和其它数据的传送和接收”(代理人文档号PC/ASB/19712),“下载数据”(代理人文档号PC/ASB/19713 ),“计算机存储器组织”(代理人文档号PC/ASB/19714),“电视或无线电控制系统的开发”(代理人文档号PC/ASB/19715),“从所发送的数据流中提取数据段(代理人文档号PC/ASB/19716),“访问控制系统”(代理人文档号PC/ASB/19717),“数据处理系统”(代理人文档号PC/ASB/19718),“广播和接收系统及其接收机/译码器和遥控器”(代理人文档号PC/ASB/19720)。本文引用了这些文件的内容。上述申请文件清单包括了本申请。
权利要求
1.一种用于数字电视系统的接收机/译码器,它包括用于接收压缩的MPEG类型信号的装置;用于对接收到的信号进行译码以提供电视信号的装置;用于将所述电视信号提供给电视机的装置;用户输入接口;以及用于根据经由上述用户输入接口接收到的输入信号来对所述接收机/译码器进行控制的计算机系统;所述计算机系统包括设备管理器,它用于接收来自多个端口的信号并将数据提供给这些端口;以及虚拟机,它与上述设备管理器相连并包括用于对自上述设备管理器接收的数据进行处理并将该数据返回给该设备管理器的装置。
2.如权利要求1的接收机/译码器,其特征在于,所述虚拟机装置包括一操作引擎、一例程库、一解释器、用于存储多个指令序列的存储装置、队列管理装置以及缓冲区管理装置。
3.如权利要求1或2的接收机/译码器,其特征在于,所述接收机/译码器还包括多个接口,它们与外部设备相连,所述设备管理器包括至少一个设备,它与至少一个接口或接收机/译码器的至少一种功能相关联。
4.如权利要求3的接收机/译码器,其特征在于,所述设备中的至少一个与至少一个设备驱动程序相连。
5.如权利要求3或4的接收机/译码器,其特征在于,所述接收机/译码器包括多个应用程序源,每个应用程序源均用于提供一应用程序,以便对接收机/译码器和/或电视机进行控制,并且,所述操作引擎位于上述应用程序源与所述设备之间并包括排队装置,它用于接收经由所述设备管理器所产生的事件并将这些事件传给操作引擎。
6.如权利要求5的接收机/译码器,其特征在于,所述操作引擎包括多个进程排序器,它们与所说的设备相关联;以及用于从上述排队装置中提取事件并相应地启动相关进程排序器的装置。
7.如权利要求5或6的接收机/译码器,其特征在于,所述接收机/译码器包括过滤装置,它们用于在使事件进入排队装置之前使该事件与一个事件类型表相对比。
8.如前述任何一个权利要求的接收器/解码器,其特征在于,所述接收器/解码器还包括用于存储至少一个应用程序的装置。
9.一种接收器/解码器,它用于接收广播信号,所述接收器/解码器包括用于根据接收到的信号对所述接收器/解码器进行控制的装置;所述控制装置包括用于接收来自多个端口的信号并将数据提供给这些端口的装置;以及虚拟机,它用于对接收自上述接收装置的数据进行处理并将数据返回给该接收装置的装置。
10.一种系统,该系统包括多个如权利要求1至8任何一个的接收器/解码器,其中,不同的接收器/解码器有一共用的虚拟机以及与相应的不同电路相连的相应的不同设备管理器。
11.一种基本上如本文所述的接收器/解码器。
12.一种基本上如本文所述的系统。
全文摘要
一种用于广播数字电视系统的接收器/解码器,其中,经由一接收器将接收到的信号传送给接收器/解码器然后再传送给电视机。所述接收器/解码器对压缩后的MPEG型信号进行解码并通过该接收器/解码器中的接口受控于遥控器。接收器/解码器的操作受控于一虚拟机(VM),该虚拟机包括一运行时间引擎(RTE)。接收器/解码器包括多个与外部设备的接口以及用于这些接口的逻辑驱动程序设备。应用程序通过RTE控制着所述外部设备,RTE则通过一组队列接收来自所述接口的事件。所述RTE包括:多个与设备相关联的进程排序器;以及用于从所述排队装置中提取事件并从而启动相关进程排序器的装置。
文档编号G07F7/10GK1254478SQ97182174
公开日2000年5月24日 申请日期1997年4月25日 优先权日1997年3月21日
发明者J-C·萨尔法蒂, J·梅里克, C·德克莱克 申请人:卡纳尔股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1