一种用于将一个家电单元纳入到一个计算机系统中去的方法与装置的制作方法

文档序号:7579412阅读:121来源:国知局
专利名称:一种用于将一个家电单元纳入到一个计算机系统中去的方法与装置的制作方法
在过去几年里,关于智能家庭的讨论已经兴起,在智能家庭中,计算机被连接到各种家电以便控制这些家电的运行。例如,人们典型地谈论着用这些计算机去开/关这些家电并且去控制它们的运行设置。由于允许这些家电用作该计算机的一个输入/输出(“I/O”)接口,所以这些系统并没有将各种家电纳入到该计算机系统中去。还有,人们典型地谈论着这些系统通过有线通信链路将诸计算机跟诸家电单元连接起来。这样的有线通信链路是不利的,因为安装起来很困难并且费用高昂。


图1和图2表示最新的现有技术系统,它通过一个扫描或电视转换器将一部计算机跟一台电视机(“TV”)或一台录像机(“VCR”)连接起来。这些转换器通过一条有线或无线链路连接到该TV或VCR。然而,在这些系统中所不同的是,系统100仅利用微处理器115去产生用于显示的RGB数据,而系统200则利用一个专用的图形加速器215去产生该显示数据。
如这些图所示,这些现有技术系统典型地包括一个显示设备140以及一部计算机105,后者又包括一组总线110,一个微处理器115,以及一个存储器120。总线110连接该计算机的各种内部模块。例如,总线110连接微处理器115以及存储器120。该存储器硬件存储数据,诸如(1)一段应用程序125,用以执行一定的任务,(2)一个操作系统130,用以控制该计算机的硬件和软件资源的分配和使用,以及(3)I/O驱动程序135,用以提供为控制诸I/O设备,例如显示设备140,所需的指令集。
微处理器115通过总线110取出存储在存储器120中的数据。在所有的时间内,都将处理结果显示于显示设备140之中,后者也连接到总线110。该显示设备典型地是一部PC监视器,例如一个用于向计算机用户显示信息的阴极射线管(CRT)。现有技术的其他诸系统则利用一块液晶显示屏(LCD)作为它们的显示设备。
图1和图2所示的两种显示设备从Y抽头连接器或者类似的通过设备(未示出)接收该显示RGB数据。同样,在这两个系统中,一个数字/模拟转换器(一个DAC,未示出)将数字RGB诸信号转换为模拟RGB诸信号,以便在显示设备140中显示。这个DAC可以是计算机105的一部分,加进来的插卡210,显示设备140,或者转换器145。
该Y抽头连接器也向转换器145提供该RGB数据,转换器145将接收到的诸信号转换为模拟的NTSC或PAL诸信号并送往该电视机或该录像机。这些转换器可以是扫描转换器或者是电视转换器,这取决于诸DAC所处的位置。特别是,若计算机105或图形引擎215包括一个DAC,并由此向转换器145提供模拟的RGB数据,则该转换器就是扫描转换器,用于将模拟的RGB数据转换为NTSC或PAL的诸编码信号。另一方面,若显示设备140和转换器145含有诸DAC,则该转换器就是电视转换器,用于将数字RGB数据转换为数字YCrCb数据,后者随后被编码为NTSC或PAL的诸编码信号。
现有技术的某些系统利用模拟的无线链路去将一个转换器(例如转换器145)连接到一部电视机。这些模拟的无线链路典型地是工作于900兆赫频段的诸射频(“RF”)链路。同样,一种现有技术系统在该转换器以及该电视机之间建立起一条双向链路。这个现有技术系统所使用的下行链路(即,沿着从该计算机到该电视机的方向进行通信的链路)也是一条模拟的射频链路。
使用模拟的射频链路伴随着许多缺点。例如,因为该接收信号由许多个信号组成,它们对应于相同的发射信号但通过多种路径到达该接收机,所以一部接收机通过这样一条链路(只能)接收到一组恶化了的信号。换句话说,这样一条链路对由于多径现象所导致的信号恶化不能提供防护。
还有,这样的通信链路容易受到小区内部的干扰,后者来源于环绕该计算机以及该电视机的周边区域所形成的通信小区所产生的噪声。其他各种家电设备或者常规的家务活动也会产生小区内部干扰噪声。该小区内部干扰噪声反过来会使该发送数据的质量恶化,并由此使得该电视图象质量恶化。
模拟的通信链路也容易受到小区内部干扰的影响。这样的干扰可能是来自该计算机以及该电视机所形成的通信小区以外的噪声源的噪声干扰。例如,这样的干扰噪声可能归因于与该计算机以及该电视机所形成的小区相邻的诸通信小区(或许是由其他的诸计算机以及诸电视机所形成的)的射频通信。这些小区内部干扰噪声将使该发送数据以及该图象质量进一步地恶化。
小区内部干扰也意味着从该计算机到该电视机的通信中的偷听。介于该计算机与该电视机之间的模拟通信链路典型地不是一条安全的通信链路,因为要保证这样一条链路的安全通常是很困难的。因此,一个处于该通信小区以外的偷听者能够窃听从该计算机发往该电视机的各种信号。
图3表示现有技术系统100和200的一般工作流程300。如图所示,首先由一段应用程序305产生一个图形命令。然后这个命令经由该操作系统以及该显示驱动程序被送往该图形引擎320(即,微处理器115或图形引擎215)。接着,基于所接收到的图形命令,该图形引擎320产生RGB数据。随后,该RGB数据被送往PC监视器140以便显示。该转换器325也接收该RGB数据并将它转换为模拟的NTSC或PAL信号,以便送往该电视机或该录像机。
这样一来,如图3所示,这些现有技术的诸系统(1)截获为在监视器140上进行显示而准备的诸RGB信号,并且随后(2)将这个RGB数据转换为用于一台电视显示器的模拟的NTSC或PAL编码数据。由于被送往该电视机或该录像机的诸信号是从这样一个靠前的工作级中抽取的,这些系统具有许多缺点。
例如,由于该电视图象是基于为该PC监视器而组成的RGB数据而产生的,它们的电视图象质量将受到损失。换句话说,为PC监视器而组成的图象数据一旦需要被重新映射为模拟的NTSC数据时,图象显示的质量就会恶化。这种重新映射由于它是低效的以及在计算上开销很大,所以也是不利的。为了组成该PC监视器所需的RGB数据已经从诸驱动程序开始进行了许多计算,现在为了获得该电视机或该录像机所需的图象数据还必须重新进行计算。
因此,在本技术领域中需要一种方法和装置,以便将一件家电设备纳入到一个计算机系统中去。还需要一种使用超级数字无线通信链路的无线计算机系统。此外,还需要一个计算机系统,它能根据诸输出设备的类型而组成(相应的)输出图象。
本发明提供一种方法和装置,用于将一件家电设备纳入到一个计算机系统中去。本发明的一个实施例包括一部计算机和一个家电单元,后者以通信方式通过一条数字无线链路连接到该计算机。该家电单元包括一个输出设备,它具有一个显示屏幕,用以显示基于通过该链路从该计算机发往该装置的诸信号的诸图象。在本发明的一个实施例中,该输出设备是一部电视机。这样一个实施例通过一条扩频链路以通信方式将该家电单元与该计算机连接起来。
本发明的另一个实施例拥有一部计算机,它具有一部第一数字无线收发两用机,还拥有一个家电单元,它具有一部第二数字无线收发两用机,后者用于以通信方式连接到该第一无线收发两用机。这个家电单元也具有(1)一个以通信方式连接到该第二无线收发两用机的输出设备,用以根据经由该无线收发两用机从该计算机接收到的诸信号,显示一幅输出图象,以及(2)一个以通信方式连接到该第二无线收发两用机的输入设备,用以接收来自该家电单元的一个操作者的诸输入信号。
在本文所附的权利要求书中显示了本发明的若干新特征。但是,为了说明的目的,在下列诸附图中显示了本发明的几个实施例。
图1表示现有技术的一个系统,用于将一部计算机连接到一部电视机或一部录像机。
图2表示现有技术的另一个系统,用于将一部计算机连接到一部电视机或一部录像机。
图3表示图1与图2的该现有技术系统的一般工作流程。
图4表示本发明的计算机系统的一个实施例。
图5表示本发明的计算机系统的另一个实施例。
图6表示本发明的计算机系统的又一个实施例。
图7表示图6的计算机系统的一块专用集成电路(ASIC)的一个实施例。
图8表示本发明的一个实施例的I/O控制单元的一个实施例。
图9表示图8中的一块ASIC的一个实施例。
图10表示本发明的一个数字收发两用机的一个实施例。
图11表示本发明的一个实施例的软件流程图。
图12表示本发明的一个实施例的一般工作流程。
图13表示本发明的一个实施例的软件结构。
本发明提供一种方法和装置,用以将一个家电单元纳入到一个计算机系统中去。在以下的叙述中,为了说明的目的,许多细节将被公布。无论如何,专业人士将认识到,不用这些具体的细节,也可以实践本发明。在其他的实例中,为了不使具有不必要的细节的对本发明的叙述变得含混不清,拟采用方框图的形式来表示众所周知的各种结构和装置。
为了本申请的目的,所述的一部计算机是一部通用的机器,它根据暂时地或永久地存储于其内部的一组指令来处理数据。一部计算机的一个重要特征是存储其本身的指令的能力,这些指令使它在不需要一个人或另外的装置的条件下能执行许多操作。换句话说,它是一部通用的机器,能存储各种指令,并因此能执行各种任务。典型地,为了执行若干任务,一部计算机是可编程的,这样一部计算机通过它的程序来达到它的目的。计算机的例子包括一部网络计算机,一部个人计算机(例如一部基于Intel芯片的计算机),一个工作站(例如一个SPARC,ULTRA-SPARC,MIPS,或者HP工作站),等等。
一个外部设备是一种硬件设备,它执行一个或多个主要任务和若干与诸主要任务有关的辅助任务。该设备连接到一部计算机,以便执行任何一项主要任务,并且典型地执行任何一项辅助任务。若不连接到该计算机,则它就不能实现它的主要目的或功能。换句话说,该设备没有被设计成在不跟计算机配合使用的条件下具有任何实利的目的,并且因此在它能实现其任何功能之前,必须跟一部计算机相连接。外部设备的实例包括诸终端,诸磁带或磁盘驱动器,诸打印机,诸监视器,诸键盘,诸绘图仪,诸图形输入板,诸扫描仪,诸操纵杆,诸控制棒,诸光标控制器,诸调制解调器,诸信用卡读出器,诸条码读出器,诸X-终端,诸哑终端,诸耳机等。
另一方面,一件家电是一种固定功能的设备。它能执行几种(有限集合)主要的独立的任务,以及跟这些独立的不相关的任务有关的若干辅助任务。跟外部设备不同,它已经专门地被设计成,即使它不跟一部计算机连接,它也具有一个实利的目的。因此,在得不到一部计算机的帮助的条件下,它也能执行至少一项主要任务。跟计算机不同,由于它不能用无限数量的不相关的指令集来编程以便执行无限数量的不相关的任务,所以它不能执行无限数量的不相关任务。实例包括音频-视频设备(例如诸电视机,诸摄像机,诸录像机,诸电话),实用家电,厨房家电(例如电冰箱,微波炉),等等。
本发明的若干实施例包括一部计算机以及一个远方家电单元(即,一个远方家电节点),后者通过一条数字无线链路以通信方式连接到该计算机。该家电单元包括一件家电。同样地,在本发明的几个实施例中,该家电包括一个输出设备,用以向用户提供一幅输出图象,一个输入设备,用以接收来自该用户的命令,以及I/O控制逻辑电路,用以将该输出和输入设备以通信方式连接到一部数字无线收发两用机。
在本发明的某些实施例中,一件家电用作输出设备和/或输入设备。一个这样的实施例包括一部电视机作为输出设备,一个无线键盘作为输入设备,以及一个机顶盒作为I/O控制逻辑电路。机顶盒的一个例子包括一部数字无线收发两用机,它跟该计算机的一部数字无线收发两用机进行通信,从而以通信方式将该家电单元连接到该计算机。
图4表示本发明的一个计算机系统的一个实施例。计算机系统400包括一部计算机405,一个本地计算机输入/输出(“I/O”)节点410,以及一件家电415。计算机405可以是一部网络计算机,一部个人计算机(例如一部基于Intel芯片的计算机),一个工作站(例如一个SPARC,ULTRA-SPARC,MIPS,或HP工作站),等等。
该计算机的一个实施例包括音频-视频数据,用于在计算机I/O节点410处进行显示,该节点通过一种硬件导线连接或一条无线链路连接到该计算机。同样地,在本发明的一个实施例中,计算机405包括音频-视频数据,并经由一条数字无线链路将这些数据送往(I/O节点410)以便显示。
在一个可供选择的实施例中,计算机405不含有音频-视频数据,而是向含有音频-视频数据的该家电单元发送诸音频-视频命令。例如,在一个这样的实施例中,计算机405向该家电单元发送ASCII代码,随后该家电单元根据所发送的代码产生一段显示的输出文本。在本发明的又一个实施例中,计算机405向该家电单元发送特定的音频-视频命令(例如包括图形、视频和音频原语的多媒体命令),同时也根据其他的音频-视频命令组成和发送音频-视频数据。
如图4所示,计算机405包括总线420,通用微处理器425,专用微处理器430,存储器435,以及数字收发两用机440。总线420概括地表示连接该计算机的许多内部模块的所有通信线路。即使在图4中没有显示总线控制器,但专业人士将懂得,计算机405包括各种总线控制器,以便控制该总线的运行。
总线420连接用以处理数字数据的诸微处理器425和430,以及用以存储数字数据的存储器435。存储器435的一个实施例存储应用程序445(例如一段字处理程序,一段多媒体游戏程序,一段计算机辅助设计程序,等等),以便通过操作文本,数字,和/或图形去执行某些类型的任务。存储器435还存储一个操作系统450(例如由微软公司销售的Windows 95)。一个操作系统(“OS”)用作诸应用程序运行的基础并控制诸硬件和软件资源(例如存储器、微处理器、存储空间、外部设备、驱动程序,等等)的分配和使用。
存储器435还存储驱动程序455,它提供在运行(例如控制)特定的I/O设备(例如在I/O节点410处或家电单元415的诸设备处)时所需的指令集。下面参考图11-13,说明该驱动程序、该操作系统以及该应用程序的运行的一个实例。
存储器435的一个实施例包括一个可读可写的存储器(例如,RAM)。这个存储器存储数据以及被诸微处理器425和430所执行的诸程序指令,并存储在该微处理器工作过程中的暂时变量或其他中间信息。存储器435的一个实施例还包括一个只读存储器(ROM),用以存储静态信息以及诸微处理器的诸指令。存储器435的一个实施例还包括一个巨量数据存储装置,例如一个磁盘或光盘及其相应的驱动器。
在本发明的一个实施例中,在该计算机工作时,将本发明工作所需的源码从巨量数据存储装置下载(例如,从一个硬盘驱动器或一张软盘下载)到该读/写存储器。然后该计算机利用驻留在该读/写存储器中的软件去引导诸微处理器的操作。无论如何,固件指令(即,驻留在该只读存储器中的源码)也能引导诸微处理器的操作。
在本发明的一个实施例中,微处理器425加上存储在存储器435中的诸指令用作针对该计算机I/O节点410的I/O引擎,而专用微处理器430(它可以是一个专用的多媒体处理器)加上存储在存储器435中的诸指令用作针对家电单元415的I/O引擎。在图5所示的本发明的一个可供选择的实施例中,用一个第二专用微处理器510,取代微处理器425,形成针对该本地I/O节点的I/O引擎。
在本发明的又一个实施例中,一个单独的微处理器(例如专用微处理器430或者通用微处理器425)用作针对该I/O节点以及该家电单元二者的I/O引擎。本发明的另一个实施例,针对该I/O节点以及该家电单元二者或其中一个,用一个专用的ASIC I/O引擎来实现某些或全部I/O功能(例如通信控制,信号格式化,音频/图形处理,压缩,过滤,等等)。下面参考图6来说明这样一个实施例。
在本发明不同的诸实施例中,该计算机的诸I/O引擎执行若干不同的任务。例如,在一个实施例中,该计算机针对该家电单元的I/O引擎正好用来控制介于该计算机与该家电单元之间的通信(例如,该I/O引擎简单地控制发往该家电单元的音频-视频命令,和/或该I/O引擎对发往该家电单元的信号进行格式化)。该计算机的家电I/O引擎的另一个实施例向该家电单元发送特定的音频-视频命令(例如,包括音频原语或图形原语的多媒体诸命令,诸如图形,文本,或视频原语)同时根据其他音频-视频命令组成并向该家电单元发送音频-视频数据。
在本发明的另一个实施例中,该本地节点的I/O引擎用作一个音频视频处理器,并且为该计算机I/O节点410处理诸音频-视频指令(从应用程序445,操作系统450,和/或诸驱动程序455),而该家电单元的I/O引擎则用作一个音频-视频处理器,并为家电单元415处理诸音频-视频指令(从应用程序445,操作系统450,和/或诸驱动程序455)。该计算机的I/O引擎的其他诸实施例包括(1)一个进行信号压缩的压缩引擎,(2)一个进行数字信号编码的编码引擎,(3)一个进行数字过滤的数字过滤引擎,和/或(4)一个进行声像帧同步的帧同步引擎。
如图4所示,总线420也将计算机405通过一个网络适配器(未示出)连接到一个网络460。这样一来,该计算机就是一个计算机网络(例如局域网(“LAN”),一个广域网(“WAN”),或者一个内联网)或者一个由网络构成的网络(例如因特网)中的一部分。通过这样的网络连接,该计算机的一个实施例就是一部网络计算机。
计算机405也可以通过一种硬导线连接或者一条无线链路,以通信方式连接到一个本地计算机I/O节点410。这个节点包括一个显示设备465,扬声器470,一个数字输入设备475,一个光标控制器480,以及一个硬拷贝设备485。该显示装置(例如一个阴极射线管(CRT)或者一块液晶显示屏(LCD))连接到总线420,并且向一个计算机用户显示信息。总线420也连接到扬声器470,它播放由计算机405输出的音频数据。
字母数字输入设备475(例如,一个键盘)连接到总线420,以便允许一个用户向计算机405送入信息和命令。另一种与总线420相连接的输入设备是光标控制器480。这个装置可以采取多种不同的形式,例如一个鼠标器,一个跟踪球,一个触敏输入设备(例如,一块触摸板),等等。另一个可以被连接到总线420的设备就是一个硬拷贝设备485,用于将一个硬拷贝打印在纸上。
计算机405也以通信方式连接到一个家电单元415。如图4所示,该家电单元包括一个I/O控制单元492,数字无线收发两用机490,输入设备496,以及输出设备494。一个家电单元包括一件家电,例如音频-视频设备(例如各种电视机,各种摄像机,各种录像机),实用与厨房家电(例如电冰箱,微波炉),等等。
如上所述,一件家电在不跟计算机连接的情况下执行几项主要的、独立的任务,以及与这些独立任务有关的若干辅助的任务。跟一个外部设备不同,它已经专门地被设计成,即使它不跟一部计算机连接,它也有一个实利的目的。因此,在没有一部计算机的帮助的情况下,它也能执行至少一项主要的任务。
一件家电的这些独立的任务由硬件来执行,为了避免由于不必要的细节(描述)而使对本发明的叙述变得含混不清,在图4中没有示出这些硬件。因此,这张图仅表示为将一件家电纳入到一个计算机系统所需的电路(即,仅呈现收发两用机490,控制单元492,以及I/O设备494和496)。
这个家电单元的I/O接口经由I/O控制单元492,数字无线收发两用机490和440,以及总线420,连接到该计算机的软件和硬件各部分。该家电单元的接口包括(1)输入设备496,用于接收来自该家电单元诸操作者的输入命令,以及(2)输出设备494,用于向这个单元的观察者提供一幅输出图象。输入设备496允许该家电单元的一个用户送进诸输入信号。随后,某些输入信号被送往计算机405。这样一种输入设备的实例包括一个键盘,一个光标控制器,一个遥控器,一个辅助键盘,一个操纵杆,或者一个游戏控制器。
另一方面,输出设备494允许向该家电单元的使用者提供音频数据和/或视频数据(例如,呈现于一个显示屏幕或通过诸扬声器)。特定的输出图象是基于经由该数字无线链路从该计算机接收的诸信号。这样一种输出设备的实例包括一部电视机,一部PC监视器,一块液晶显示屏,一个扬声器,等等。
虽然图4仅示出以通信方式连接到该计算机的一个输入设备以及一个输出设备,但是专业人士将能实现该家电单元的不同的诸实施例,其中有的不包括任何输入或输出设备,有的包括附加的输入和输出设备。同样地,该家电单元的不同的诸实施例中,有的不以通信方式将该输入设备连接到该计算机,有的不以通信方式将该输出设备连接到该计算机。
诸输入和输出设备496和494经由收发两用机490以及该家电单元的I/O控制单元492连接到计算机405。收发两用机490是一个数字无线通信装置,用以在一条无线信道上跟该计算机的数字收发两用机440进行通信。在本发明的一个实施例中,诸收发两用机440和490都是扩频收发两用机。
诸扩频收发两用机利用扩频调制来调制诸信号。扩频调制将一组带宽很窄的诸发射频率扩展为具有较低能量含量的宽频带(例如,它可能是窄频带宽度的10倍),以便使噪声和干扰变为最小。
更具体地说,诸扩频收发两用机利用一种无线电发送的形式,其中该信号被分布于一个宽的频率范围内。这个分布图基于直接序列编码或者跳频。在直接序列编码中,待发送的信息由一个多位二进制编码规则进行修改,后者将该信号扩展到一个较宽的频率范围之上。只有该接收机知道该规则,因此只有它能对该接收信号进行解码。另一方面,在跳频中,一部发射机在一段短的时间间隔内发送一个特定的频率,随后在另一个短的时间间隔内切换到另一个频率。只有该接收机知道该随机的频率选择顺序。
而且,诸收发两用机440和490的一个实施例通过一条等时(isochronous)的(即,对时间敏感的)链路进行通信。一条等时的通信链路的工作依赖于恒定的时间间隔。这样一种连接保证了在任何两次发送之间,不论是同步的还是不同步的,通常都存在整数个时间间隔。这种类型的发送能力对于实时发送视频和音频诸信号是有利的。因此,诸收发两用机440和490的一个实施例就是通过一条等时链路进行通信的扩频收发两用机。
该I/O控制单元用作介于该家电单元的I/O设备以及它的收发两用机之间的一个接口。该控制单元是(1)一部可编程的计算机或者该家电或该收发两用机的一个控制逻辑电路,或(2)一块与该家电连接的专用集成电路(ASIC)。
I/O控制单元492连接到收发两用机490,用以接收该计算机经由收发两用机440提供的信息。该控制单元将所接收的信息转换为一种能在该家电单元上显示的格式,然后将这些数据送往该单元的输出设备(例如,送往一部电视机,一部监视器,一个扬声器,等等)。以便向一个使用者显示。
例如,当计算机405组成该音频-视频数据并向该家电单元发送一组编码的音频-视频数据流(例如,采用MPEG编码)时,该I/O控制单元的一个实施例对已接收的编码数据流进行采样和解码以提取该组成的音频-视频数据。对于具有一部向家电单元415发送音频-视频命令的计算机的实施例来说,I/O控制单元492对已接收的信号进行采样以提取诸命令,并根据所提取的诸命令组成音频-视频数据。在其他的具有一部发送特定的诸音频-视频命令或者基于诸音频-视频命令的音频-视频数据的计算机的诸实施例中,该I/O控制单元提取诸命令,并根据所提取的诸命令组成附加的音频-视频数据。
然后该控制单元将已组成的音频-视频数据送往该单元的输出设备以便显示。在将该数据送往该输出设备之前,该I/O控制单元的一个实施例还将所提取的音频-视频数据编码为一种唯一的格式(例如,用于电视机显示的一种NTSC或PAL格式),以便在输出设备中显示。
I/O控制单元492也连接到输入设备496以便接收来自这个单元的I/O单元的使用者的输入数据。这种连接可以通过一条无线信道(例如一条红外或射频、数字或模拟信道)或者一条有线信道。随后该控制单元经由收发两用机490和440将这些数据送往该计算机。接着该计算机对通信内容进行解码,并从已解码的通信内容中提取该数据。此后该计算机处理这些数据,并且在必要时对该家电单元作出响应。例如,在提取该输入数据之后,该计算机可以调用一段应用程序,后者随之指令该微处理器去处理该输入数据,并且,在必要时,对该家电单元作出响应。
在这种方式下,计算机系统400允许一个用户从一个远方家电节点跟一部计算机405进行交互。该用户可以从这个远方节点访问运行于该计算机之中的一段程序,控制该计算机的操作,和/或控制连接到该计算机的一个设备(例如另一部计算机,一个计算机网络,一个外部设备,或者一件家电)的操作。该用户还可以在该远方I/O单元处接收来自该计算机的输出图象。该家电单元的某些实施例是静止的,而另外一些则不是。一个便携式家电单元包括一个便携式I/O控制单元和一件一个便携式输出设备。
专业人士将懂得,计算机系统400的任何或所有部件都可以跟本发明配合使用,还懂得,各种变通的系统配置也可以跟本发明配合使用。例如,本发明的可供选择的诸实施例不包括一个本地I/O节点,和/或不连接到一个网络460。同样地。虽然图4显示了一个具有一个独立的I/O控制单元492,收发两用机490,输出设备494和输入设备496的家电单元,但是本领域的专业人士将懂得,本发明的可供选择的诸实施例具有作为该单元的输入和/或输出设备的电路的一部分的该I/O控制单元和/或该收发两用机。
图6表示本发明的计算机系统的另一个实施例的方框图。这个计算机系统使用一个专用的I/O引擎,以便为该家电单元处理诸I/O功能中的全部或一部分。
这个专用的处理器在一块插卡615的基础上形成,该插卡插入到该计算机的一个PCI插槽上,并由此连接到该计算机的PCI总线,以便跟该计算机的资源(例如,它的微处理器)进行通信。这个系统包括一个数字收发两用机635,一块专用集成电路(ASIC)620,一个随机访问存储器625,以及一个只读存储器630。
通过一组天线,数字收发两用机635向和从该家电单元的该数字收发两用机发送和接收数据。该数字收发两用机的一个实施例就是一部扩频无线电收发两用机,并且在其中安装了由哈里斯(Harris)公司提供的Prism芯片组。提供数字扩频收发两用机的其他供应商有Hewlett-Packard,AMI,Motorola等。
该数字收发两用机的其他诸实施例包括数字式个人通信系统(digitalPCS)或者各种数字式蜂窝收发两用机。本发明的若干实施例使用将其信号加密的各种数字式收发两用机以防止偷听。此外,本发明的若干实施例对发送与接收的诸信号进行纠错编码与解码,以避免因传输噪声而引起的误码。
收发两用机635通过一条用以传输数据、地址和诸控制信号的双向链路连接到ASIC 620。通过这种双向连接,ASIC 620跟数字式收发两用机635中的微处理器进行通信,以便向和从该家电单元发送与接收数据。
ASIC 620用作一个介于诸I/O驱动程序与该家电单元之间的接口。这种ASIC的若干实施例组成来自高级音频与图形命令的音频-视频数据,并(经由收发两用机635)将已组成的数字数据送往它们的诸家电单元以供显示。特别是,ASIC 620的若干实施例组成基于该家电单元的输出设备类型的图形数据。
例如,一个这样的实施例组成具有YCrCb显示格式的图形数据,当远方输出设备是一部电视机时这是很有利的。ASIC的其他诸实施例使用其他的数字图形格式,例如RGB,YUV,cmyk,等等,以表示该色彩空间。ASIC 620的若干实施例在将音频-视频数据送往诸家电单元之前还对其进行压缩和编码。
ASIC 620也连接到RAM 625,后者用作一个复合缓冲存储器,用以存储供显示用的音频-视频信息,同时也用作一个高速暂存存储器以实现该ASIC的其他各种功能。例如,当该应用程序将诸指令送往该ASIC以供显示时,该ASIC的一个实施例组成一帧(图象),对它进行压缩,然后将它存储在RAM里面。
在这种方式下,该ASIC将各个RAM当作一个中间存储器来使用,用以在送往该家电单元之前存储已压缩的各帧(图象)。一旦该ASIC已准备好从该RAM发送该压缩数据,该ASIC从该RAM中取出该压缩数据,并将它送到该数字收发两用机以便发往该家电单元。ASIC 620也连接到ROM 630。这个存储器存储为该ASIC的操作所需的诸固件指令。此外,这个存储器还可以存储该ASIC在实现其压缩与数字过滤诸功能时所使用的诸查找表。
图7表示图6的ASIC 620的一个实施例。如该图所示,ASIC包括一个外围部件互连(“PCI”)桥705,数据与控制缓冲存储器710,一个图形引擎715,一个音频引擎720,一个压缩引擎725,一个帧准备引擎730,一个介质访问控制器(“MAC”)735,以及一个存储器控制器740。
该PCI桥在该ASIC以及该PCI总线之间提供一个接口。例如,该PCI桥为该插卡提供与PCI兼容的信令。该PCI桥连接到若干个内部缓冲存储器710,后者暂时地存储数据和各种命令。这些缓冲存储器中的一种就是无线缓冲存储器710c,它接收用于控制该MAC的各种命令。该PCI桥也连接到一个控制缓冲存储器710d,它用作一个暂时的存储器,用以存储控制该压缩和帧准备引擎的诸控制命令。这些控制命令包括复位命令,以及其他控制命令和配置信息(例如用以设置压缩比、图象大小以及帧频的命令)。
PCI桥705也连接到图形缓冲存储器710a,这个缓冲存储器暂时地存储从该应用程序和驱动程序发来的高级图形数据和各种命令(例如各种画线命令)。该图形引擎715从缓冲存储器710a取出所存储的数据和各种命令以组成诸图形帧。
图形引擎715的一个实施例组成来自图形原语的符合一种YCrCb格式的图形数据。当该家电单元的输出设备是一部电视机时,这样一种显示格式是很有利的。该图形引擎的其他诸实施例使用其他的数字图形格式,诸如RGB,YUV,cymk,等,以表示该色彩空间。在执行它的操作之后,该图形引擎经由存储器控制器740,将已组成的帧存储到RAM里面,上述存储器控制器起到一个调度者的作用,用以控制各种不同资源对该RAM的访问。
类似地,PCI桥705也连接到音频缓冲存储器710b,后者暂时地存储从该应用程序和驱动程序发来的音频数据和各种命令。接着,该音频引擎720从缓冲存储器710b取出所存储的数据和各种命令,并基于它们,组成附带于已产生的诸图形帧的该音频数据。音频引擎720也经由存储器控制器740将已产生的音频数据存储到RAM 625(它可以是一个DRAM)里面。
存储器控制器740也将RAM 625连接到帧准备引擎725和压缩引擎730。通过这样的连接,帧准备引擎725取出诸图形帧并进行数字过滤运算,例如音频-视频人工纠正运算,图象缩放运算,以及减少闪烁运算等。在该帧准备引擎完成其运算之后,它或者(1)若压缩引擎为空闲,则将该帧送往该压缩引擎,或者(2)将该帧存储到该RAM里面,以备该压缩引擎稍后取出。
压缩引擎压缩诸图形帧。在本发明的一个实施例中,该处理器使用一种已知的压缩技术(例如一种MPEG压缩技术)去压缩已组成的诸数据帧以便发送。然后,该压缩引擎或者(1)若该MAC需要一个图形数据帧,则将已压缩的诸帧送往MAC 735,或者(2)将已压缩的诸帧存储到该存储器中,以备该MAC稍后取出。
该MAC在该RAM中设置一个标志,以便通知该压缩引擎它已准备好一个图形数据帧。因此,若该MAC的标志已被设置(表示该MAC已准备好接收数据),则该压缩引擎将已压缩的数据(例如,第一个已压缩的字节)送往该MAC,随后该已压缩的数据将被送往该无线电收发两用机以便发送。若该标志没有被设置,则该压缩引擎确定该MAC没有准备好接收图形数据,并将该数据存储到该RAM中。
该MAC也从该存储器中取出所存储的音频数据以便经由该数字式收发两用机进行发送。该控制器同步该视频与音频数据分量,使得它们被同步地提供到该家电单元。具体地说,该MAC将该音频与该视频数据连接起来(将这两个已产生的图形和音频帧融合在一起),以便允许该计算机系统提供一种多媒体显示。连接这两种数据类型是一种重要的功能,否则就不能以同步方式显示该视频与音频(即,导致例如配音同步误差那样的同步误差)。
MAC 735也跟该数字收发两用机建立接口,以便向它提供数据或从它取出数据。在本发明的一个实施例中,MAC 735实施一种等时的协议,并且被称为等时介质访问控制器(“IMAC”)。一个IMAC是一个通信控制器,它能处理依赖于时间的数据,例如音频和视频数据。典型地通过一个面向连接的网络(例如一个固定的点对点网络或者一个电路交换网络)来发送等时数据。这个控制器的协议不同于其他各种介质访问控制器协议,后者在不保证到达时间或分组顺序的情况下进行网络数据的传输;各种非等时的协议典型地使用一个分组交换网络。
该MAC,像该ASIC(例如该缓冲存储器710,该图形引擎715,该音频引擎720,该帧准备引擎725,以及该压缩引擎730)的若干其他模块那样,连接到该中断(IRQ)线745。当该MAC需要将关于它已经从该家电单元接收到一个输入命令的消息通知该计算机的I/O驱动程序时,在这条线上的信号就是有效的。当该系统需要被告知关于该PCI插卡需要服务时,这个信号也是有效的。随后,一个中断控制器(未示出)将响应该中断信号。
该ASIC的操作如下。开始,通过在一条连接到所有ASIC电路的复位线(未示出)上施加一个有效信号,使该ASIC的电路复位。在复位时,该RAM被清除,同时该存储器控制器被设置为复位状态。同样,在复位时,该PCI即插即用软件(存储于存储器435)为插卡615保证正确的IRQ映射以及正确的PCI地址空间映射。
然后,一段应用程序发出一个高级图形命令,以便在该计算机I/O节点和/或该家电单元处进行显示。这个命令被一个输出驱动程序(诸如下面参考图13所说明的虚拟输出驱动程序VOFD)所截获。若这个被截获的命令也是针对在该家电单元处的的图象显示,则这个驱动程序随后经由该PCI桥将它的一个拷贝送往该PCI所映射的图形缓冲存储器。然后该图形引擎转换该显示数据命令(例如一个位BLT命令)以便组成一幅图象,接着将它存储在该RAM里面。
一旦该图形引擎将完整的一帧存储到该RAM(它用作一个帧缓冲存储器)里面,就在该ASIC中设置一个标志。在复位之后,该帧准备引擎周期性地查询这个标志,以确定该RAM是否存储了已组成的一帧。一旦该标志被设置,该帧准备引擎就开始逐行地读出该帧以便进行数字过滤运算,例如音频-视频伪差纠正运算,图象缩放运算,以及减少闪烁运算。
在帧准备运算之后,该运算处理器获得该图形帧以便压缩它。该压缩引擎的一个实施例,它使用一种MPEG1编码方案,在该RAM中保持一个不压缩的已组成的帧。然后它使用该不压缩的帧去压缩后继的各帧。在进行压缩之后,该MAC获得该已压缩的帧,把它准备好以备发送,并将它送往该数字收发两用机以便发往该家电单元。
ASIC 700以类似方式处理音频数据。具体地说,若该应用程序(运行于计算机系统600)具有音频分量,则驱动程序435接收诸音频命令,并将这些命令送往该ASIC的音频缓冲存储器。接着,该音频引擎取出这些音频命令,从这些命令中产生音频数据,然后将这些数据存储于RAM中。随后该MAC取出该音频数据,使之跟图形数据同步,并将它送往该收发两用机。
图8表示图4-6所示的家电单元的I/O控制单元492的一个实施例。这个实施例能在该家电单元处连接一部电视机以及诸扬声器。在本发明的一个实施例中,I/O控制单元800是连接于一部电视机的一个机顶盒的一部分,一个这样的机顶盒附有无线键盘和光标控制器,后者用作该家电单元的输入装置。
如图8所示,这个控制单元包括ASIC 805,RAM 810,NTSC/PAL编码器815,输入口820。该控制单元连接到数字式收发两用机490,在本发明的一个实施例中,它是一部扩频无线电收发两用机。这部收发两用机向计算机605的数字式收发两用机635发送诸信号,也从该收发两用机635处接收诸信号。接着,这部收发两用机从ASIC 805处接收诸信号,也向它提供诸信号。
更具体地说,该收发两用机将所接收的诸信号送往ASIC 805。在本发明的一个实施例中,该收发两用机接收已组成的和已压缩的音频-视频数据。在这个实施例中,该ASIC在显示之前对该音频-视频数据进行解压缩。如上所述,本发明的一个实施例的压缩引擎使用一种MPEG1编码方案。因此,对于本发明的这个实施例来说,ASIC 805通过进行一种MPEG1解码运算,就获得该音频-视频数据。
ASIC 805也连接到RAM 810和输入口820。它使用该RAM去存储从收发两用机490和输入口820那里接收的诸信号。而且,通过该输入口,该ASIC从该家电单元的一个用户那里接收信息。特别是,这个口从该家电单元的诸输入设备(例如光标控制器,键盘,等等)那里接收诸信号,将这些信号转换为数字数据,然后将它们送往该ASIC。在本发明的一个实施例中,这个接口或者是一部无线收发两用机(例如一部红外或无线电收发两用机),或者是一个导线端口。
随后该ASIC将它从该输入口那里接收的信息进行格式化以便发送,并将已格式化的数据送往收发两用机490,以便通过该无线信道发往计算机605。这个已发送的信息引起该计算机进行某些运算,后者反过来能影响在该家电单元处的用户所观察到的音频-视频显示。
ASIC 805还连接到编码器815。该编码器(1)接收先前已被ASIC805解码的该数字视频信息,以及(2)将这种数字信息转换为一种模拟格式。具体地说,在本发明的一个实施例中,通过采用数字YCrCb图象并实现NTSC标准或PAL标准的复编码,使编码器执行一次矩阵编码过程。
该编码器经由单向信号链路825以及双向控制链路830连接到该ASIC。通过该单向链路,该ASIC向编码器815提供数据。该ASIC使用该控制链路向和从该编码器发送和接收诸控制信号(例如水平同步,垂直同步,奇/偶帧,等等)。ASIC 805也连接到音频数据链路835,后者提供该ASIC的音频输出。这个音频链路也连接到一个数字/模拟转换器(“DAC”)845,它将接收到的数字音频转换为一种模拟格式,并由此提供一个模拟音频输出。
图9表示图8的ASIC 805的一个实施例。如图9所示,ASIC 900包括MAC 905,存储器控制器910,解压缩引擎915,数字过滤引擎920,音频引擎925,NTSC控制器接口930,命令缓冲存储器935,外部设备控制器940,以及输入口945。
MAC 905通过一条双向链路控制送往和来自数字收发两用机的信息流。MAC 905的一个实施例就是一个IMAC。该MAC通过存储器控制器910向RAM 810送入诸发送信号,或从RAM 810取出诸接收信号,该存储器控制器910在RAM 810以及ASIC 900的电路之间起着一个接口的作用。
更具体地说,在某些实例中,该MAC从RAM 810取出信息,并将该取出的信息送往收发两用机490以便返送到计算机605。例如,若该家电单元的一个用户向I/O控制单元发送一组信号,则该MAC获得存储在RAM 810中的所发送的信息,并经由收发两用机490将其送往计算机605。
如上所述,输入口820(它可以是一部无线红外收发两用机)接收由该家电单元的用户所发送的诸信号。然后这个口将所发送的信号送往输入接口945。在一个实施例中,这个接口是一个红外装置关联接口。这个装置使用一个针对红外装置的标准协议去识别发送该信号的该家电单元的输入设备,并且将所发送的红外信号转换为能够被ASIC读出的数字数据。
接着该数字数据被送往外部设备控制器940,它可以是固定功能的逻辑电路或者微控制器,用以转换该数据并识别该输入信号(例如,识别击键动作或鼠标移动)。随后该控制器将已识别的输入信号存入命令缓冲存储器935,后者在存储器控制器的控制下最后将所接收的输入信号送往RAM 810。在所接收的诸输入信号不能立即存入该RAM的情况下(例如在该RAM正在被另一个单元访问的情况下,诸如正在向该RAM存入一帧图象),恰好需要提供一个命令缓冲存储器。一旦一组输入信号被存入到该RAM中去,就有一个标志被(该外部设备控制器)设置,以便提醒该MAC它需要从RAM 810中取出诸输入命令并将它们送往收发两用机490。
MAC 905也经由存储器控制器910将从数字收发两用机490发送过来的全部信息送往存储器810。一旦该MAC将完整的一帧存入该存储器,它就在该存储器中设置一个标志,以表示已经从该收发两用机接收到完整的一帧。然后该解压缩引擎检测到该标志的设置并经由该存储器控制器访问该RAM以便取出该已接收的和已压缩的信息、接着该解压缩引擎通过执行在计算机605中使用的该压缩功能的逆向功能(例如,执行MPEG解压缩)对这组信息进行解压缩。
随后,该解压缩引擎将已解压缩的信息送往一个数字过滤引擎920,它使用一种或多种数字过滤过程去纠正在传输过程中引入的任何音频-视频伪差。经过解压缩和数字过滤的信息的一个样本被存回到该DRAM中去,该解压缩引擎使用这个样本对后继的各帧进行解压缩。经过解压缩和数字过滤的帧的另一个样本被送往控制器接口930,它用作一个通往编码器815的控制接口,数字过滤引擎920的输出也被施加到链路840之上,如同上面所讨论的那样。
该解压缩引擎也连接到音频引擎925。该音频引擎抽取音频序列并纠正在该音频信息流中的误码。随后该音频引擎的输出被送往该控制器接口。该控制器接口保证它向编码器815提供的诸信号遵从这个编码器的规格。这个接口还通过使用由编码器815所提供的同步控制信号950来保持该音频引擎的音频帧输出与该数字过滤引擎之间的同步。该同步控制信号是符合编码器815的规格(例如,该NTSC规格)的诸定时信号的一个基本集。
现在来说明ASIC900在从计算机605接收诸信号时的工作。当该I/O控制单元复位时,该RAM中的存储位置被复位到清除状态。接着,该显示装置为稍后的音频的初次接收而对准音频采样时钟(这时的音频将保持寂静)。
通过引起该解压缩引擎开始审视该RAM以确定该MAC是否已经设置了一个标志以表明已经接收和存储了一个完整的帧,诸同步信号启动ASIC 900的工作。一旦一个标志被设置,该解压缩引擎将取出一帧以便对它进行解压缩。
在一个预定数量的信息已经被解压缩之后,就开始该数字过滤过程。通过访问来自该解压缩引擎的信息流以及为重建用于显示的该帧所需的存储参数(来自该存储器),该数字过滤器产生一组用于显示的第一类型的信息。
类似地,在一个预定数量的信息已经被解压缩之后,该音频引擎就开始处理被送往该控制器接口的该已压缩的音频信息。在该帧的接收过程中,这个过程将以一种管道方式继续下去,由此该MAC将该已压缩的信息存入存储器,该解压缩引擎访问这个信息并对它进行解压缩,该过滤引擎用它从该存储器获得的诸参数来处理该解压缩信息中的视频部分,并且该音频引擎处理该已压缩信息的音频部分。
图10表示本发明所使用的诸数字式收发两用机的一个实施例。如图所示,数字式收发两用机1000的一个实施例包括功率放大器1005,变频器1010,调制器/解调器1015,以及基带处理器1020。该基带处理器连接到该MAC,后者实现该收发两用机的无线(通信)协议。这个控制器向为发送而准备数据流的该基带处理器发送数据,并从该基带处理器接收数据。对于利用扩频技术的收发两用机1000的诸实施例来说,处理器1020执行伪噪声码扩频。它还提供用于干扰抑制的扰频、为了较好的覆盖的天线分集,以及接收信号的强度指示。
该基带处理器的输出被送往调制器1015。随后这个中频(“IF”)调制器对该基带数据进行编码和调制,以便将这些数据放到一个中频范围之内(例如,使用QPSK编码去调制介于200MHz与400MHz之间的数据)。然后,通过上变频器1010将该已编码和已调制的数据推上一个较高的频率范围(例如,2.4GHz,这是被允许的、无需许可证的扩频频段)。接着这些高频数据由功率放大器1005进行放大,并经由天线发送出去。
当收发两用机1000接收一组信号时,它在一种互补的方式下进行工作。具体地说,该天线将接收到的信号送往低噪声放大器1005进行放大。随后,该高频的、已放大的信号由向下变频器1010转换到中频范围。该中频调制器/解调器1015对该已过滤的中频信号进行解调和解码,以便得到送往基带处理器1020的一组基带信号。在处理这些信号之后,该处理器通知该MAC告知它已经接收数据。
图11表示本发明的一个实施例的软件流程图。这个过程可以作为该应用程序、该操作系统、和/或该I/O驱动程序的一部分来实施。当该计算机接通电源时,在步骤1105,开始进入图11的过程1100。
该过程随后转移到步骤1110,在这里对是否已经接收到一个新的音频-视频指令作出判定。例如,过程1100通过检查,对在一个存储器位置上的一个标志是否已经设置作出判定。若没有接收到新的指令,该过程返回到步骤1110去检查在下一个时间间隔内是否有一组新指令到达。
然而,若已经接收到一条新指令,则随后在步骤1115。该过程将判定,是否有显示内容正在被送往该本地的I/O节点。若没有,则该过程转移到步骤1125。若有,则在步骤1120,该过程将该指令送往本地I/O节点的处理器。根据该音频-视频指令,该本地I/O节点的处理器将组成一组音频-视频数据流,以便在该本地节点上显示。
然后,该过程转移到步骤1125。在这个步骤中,要判定是否有显示内容正在被送往该远方家电单元。若没有,则该过程转回到步骤1110以检查在下一个时间间隔中是否有新的指令到达。另一方面,若所接收到的音频-视频指令也针对在该家电单元415处的显示内容,则在步骤1130,该过程将该指令送往该家电单元的处理器。随后该家电单元的处理器组成一组音频-视频数据流(根据该音频-视频指令),以便在该家电单元处进行显示。正如上面所讨论的那样,这个处理器或者是该计算机的一部分(例如,一个微处理器或一块ASIC的一部分),或者它是该家电单元的逻辑电路的一部分(例如,它是I/O控制单元492的一部分)。
该过程从步骤1130转移到步骤1135,在这里它结束这次循环。在下一个循环中,过程1100返回到步骤1110,以检查在下一个时间间隔中是否有一条新指令到达。该过程将继续循环直到该计算机或远方节点关闭电源。
图12表示本发明的一个实施例的一般工作流程,其中,图11的上述过程1100由I/O驱动程序实现。在这个实施例中,应用程序1205首先产生高级音频-视频命令,并将其送往操作系统1210。接着该操作系统将诸高级命令转换为音频-视频原语,并将这些原语送往I/O驱动程序1215。
然后该I/O驱动程序将判定是否有显示内容正在被送往该本地I/O节点。若诸音频-视频指令被送往该本地I/O节点,则驱动程序1215将该指令送往该本地的I/O引擎。接着,该处理器根据诸指令组成音频-视频数据,并将该数据送往该本地节点,以便在该本地的输出装置上进行显示。例如,根据所接收到的高级图形命令,该本地的I/O引擎能够准备数字的RGB帧,然后将它们转换为模拟的RGB数据,以驱动位于该本地节点处的一部PC监视器的阴极射线管(“CRT”)的电子枪。
若该指令没有导致在该本地I/O节点处的显示内容(即,没有显示内容正在被送往该本地I/O节点),或者它也导致在该家电单元处的显示内容,则驱动程序1215随后将其送往该家电单元的处理器。虽然图12图示了两个不同的I/O引擎,但是在本发明的一个实施例中,专业人士将能实现,在使用不同的软件(即,使用不同的指令序列)的条件下,这两个处理器可以共享相同的硬件处理器。
根据所接收到的音频-视频命令,家电单元的处理器415的一个实施例组成音频-视频数据,以便在该家电单元处进行显示。例如,根据所接收的诸指令,该家电单元的I/O引擎的一个实施例组成数字的YCrCb数据。该计算机的数字式收发两用机随后向该家电单元发送已组成的音频-视频数据。
然后该家电单元的收发两用机接收所发送的数据,并将其送往该家电单元的I/O控制单元。这个控制单元对接收到的信号进行解码,以便抽取该已组成的音频-视频数据。该I/O控制单元的一个实施例也以一种统一的格式对所抽取的音频-视频数据进行编码,以便在该远方输出装置上进行显示。例如,在本发明的一个实施例中,I/O控制单元接收诸YCrCb信号,并将这些信号转换为NTSC或PAL编码信号,以便在该电视机上进行显示。
该家电单元的I/O引擎的一个可供选择的实施例并不为该家电单元组成该音频-视频数据,而是向该家电单元发送诸音频-视频命令。在这个实施例中,I/O控制单元首先对接收的信号进行解码,然后根据它组成音频-视频数据。
在本发明的又一个实施例中,家电单元的I/O引擎向该家电单元的I/O控制单元发送特定的音频-视频命令,同时也根据其他的诸音频-视频命令组成和发送音频-视频数据。在这个实施例中,该I/O控制单元抽取已接收的命令和数据,并根据所抽取的诸命令组成附加的音频-视频数据。
这样,如图12所示,本发明的一个实施例跟图1与图2所示的现有技术诸系统相比,在一个更靠前的工作级取出用于该家电单元的信息。因此,不同于现有技术诸系统,本发明的一个实施例通过在该本地节点处截取并转换用于显示的该I/O数据,就用不着在该家电单元处产生用于显示的该I/O数据。相反地,本发明的一个实施例在为该本地节点而对诸音频-视频命令进行处理之前就截取诸音频-视频命令,并将它们送往该家电单元的唯一的I/O引擎。
这样一来,呈现于该家电单元处的显示具有超级的质量,因为它以一种对输出类型敏感的方式被组成。具体地说,在该家电单元处的显示并不是根据针对在该本地节点上的特定的输出设备而产生的,相反地针对在该家电单元处的输出设备而专门地以量体裁衣方式生成的。
例如,当该本地节点的输出设备是一个PC监视器,并且该家电单元的输出设备是一部电视机,该电视机的NTSC或PAL图象并不是基于为该PC监视器而产生的模拟的RGB诸信号。相反地,已经专门地从诸音频-视频命令为该电视机组成这种显示。例如,在本发明的一个实施例中,该家电单元的I/O引擎从诸图形指令组成YCrCb数字显示数据,以供一部电视机显示。
图13表示本发明的一个实施例的软件结构。这个实施例通过利用其本身的显示器、音频、键盘和鼠标驱动程序,来实现在现有操作系统中(例如Windows 95)所具备的功能。这个实施例包括一段应用程序1305,一个操作系统1310,若干段I/O驱动程序,以及一个动态连接库1315。
该应用程序通过操作文本、数字和/或图形来执行某些类型的任务。这样一种程序的实例包括字处理程序,例如Microsoft公司的Word,或者一段多媒体游戏程序,例如Nascar公司的Auto-Racing。应用程序1305通过操作系统1310跟该计算机的诸部件和诸模块建立接口。这样一种操作系统的实例包括Microsoft Windows 95以及Miccrosoft NT。该操作系统用作诸应用程序在其上运行的基础,并控制诸硬件与软件资源(例如存储器、处理器、存储空间、外部设备、驱动程序,等等)的分配与使用。如图13所示,操作系统1310用作介于应用程序1305和诸I/O驱动程序之间的接口。这样一来,该应用程序经由该操作系统向/从诸驱动程序发送/接收诸指令。
用于执行诸I/O任务的软件通常被组成设备驱动程序。各种驱动程序是使一部计算机跟各种输出设备配合工作的各种控制程序(即,提供为控制该I/O设备所需的各种指令)。当需要进行I/O处理时,它们被该应用程序所调用。虽然图13将各种驱动程序表示为独立的诸模块而不是操作系统,但是在本发明的一个实施例中,专业人士将能实现,这些设备驱动程序中的某些或全部都是操作系统的各种子程序。同样地,专业人士将能实现诸应用程序所附带的某些驱动程序。
诸驱动程序包括驱动程序1320的一个输出集,用以调节诸输出设备(例如诸显示设备和诸打印机)的工作,还包括驱动程序1325的输入集,用以调节诸输入设备(例如诸键盘和诸光标控制器)的工作。
诸驱动程序的输出集对于图13所示的该实施例来说,诸驱动程序的输出集包括VOFD1330,VDD 1335,以及VSD 1340。VOFD是虚拟输出过滤驱动程序的缩写。这个驱动程序负责传送该音频与图形调用的一个拷贝,若所接收的指令也是针对在该家电单元处的显示内容,则该操作系统在该本地节点处向该家电单元的I/O引擎要求音频-视频显示。
VDD和VSD分别是虚拟显示驱动程序和虚拟音频驱动程序的缩写,并且都是针对特定设备的控制程序,分别用以调节该显示设备以及诸扬声器的工作。在本发明的一个实施例中,VDD和VSD都是该Windows 95操作系统所附带的标准设备驱动程序。
现在来说明诸输出驱动程序的工作。开始,该应用程序针对在该本地I/O节点处和/或在该家电单元处的显示内容发出一条高级音频-视频指令(例如,画线)。随后,根据该指令是一条音频指令还是一条视频指令,该操作系统发出一个音频调用或一个图形调用,以便引起VSD或VDD(将数据)写入该I/O引擎中的音频引擎或图形引擎。
在本发明的一个实施例中,这些调用首先引起该VOFD驱动程序被调用。对于这个实施例来说,与VOFD的一个实施例有关的伪代码列举如下。
用于VOFD的伪代码
<pre listing-type="program-listing"><![CDATA[if Graphics_Callthenbegin If TextOut then begin Read Text_Attribute VxDcall Prez_TextRemap end Write Remote_Display_Regendelse if Audio_Eventthen begin If MIDI then read MIDI_Interface else read Audio_Attribute Write Remote_Audio_Reg endendclear_flagsRET]]></pre>VOFD将该图形调用(例如,在Windows中的图形设备接口GDI的调用)或音频调用送往该本地节点的图形引擎或音频引擎。从上面所列举的伪代码可以明显地看出,这个驱动程序也将该图形和音频调用的拷贝送往该家电单元的图形与音频引擎。此外,若该驱动程序检测到图形文本串调用(例如,GDI文本串调用),则它将调用用于后处理文本的Prez.dll,以便作好准备将它显示于该远方显示终端(例如,适应于电视显示的后处理文本)。
具体地说,VxDcall Prez-TextRemap命令调用用于后处理文本的Prez.dll,使之适应于该远方显示终端的显示标准。
这样,一旦该VOFD确定该应用程序的命令是一个图形文本串调用,它调用Prez.dll以便进行重新映射,这是为将打算用于本地显示设备的文本显示于该远方显示设备所必需的。这个重新映射可以包括字型彩色重新映射,字型类型重新映射,字型缩放等。随后Prez.dll将诸重新映射指令写入该图形引擎。接着,VOFD将该图形调用的一个拷贝写入该家电单元的I/O引擎中的图形引擎。
另一方面,若VOFD确定该操作系统调用是一条音频指令,并且若该驱动程序确定该音频指令是处于一种MIDI(即,乐器数字接口)格式之中,则它从该MIDI Interface读出数据以便得到该音频内容。否则,它读出包含在该Audio Event指令中的音频属性。在每一种情况下,VOFD都将该音频内容(从该MIDI接口或该音频指令中获得)写入该家电单元的I/O引擎中的音频引擎。最后,VOFD清除诸标志(例如,引起VOFD被调用的该标志),并进行复位,以便等待附加的音频-视频诸指令。
输入驱动程序对于图13所示的该实施例来说,诸驱动程序的输入集包括VID1345,VKD 1355以及VMD 1350。VID是虚拟输入驱动程序的缩写。通过将来自诸家电单元的数据经由VKD、VMD以及该操作系统送往该应用程序,这个驱动程序服务于远方的诸输入设备。来自本地I/O节点的数据直接地由VKD和VMD提供服务。
VKD和VMD分别地是虚拟键盘驱动程序和虚拟鼠标驱动程序的缩写,并且都是针对特定设备的诸控制程序,分别用以调节该键盘和该鼠标的工作。在本发明的一个实施例中,VKD和VMD都是该Windows95操作系统中所附带的标准设备驱动程序。
现在,参照下面所列的用于VID驱动程序的一个实施例的伪代码,来说明诸输入驱动程序的工作。
用于VID的伪代码<pre listing-type="program-listing"><![CDATA[ ifPCCARD_IRQ then begin Read Remote_IQ_reg if Keyboard_Activitythen begin Read ScanCode Read RepeatCoum Read ShiftState VxDcall VKD_API_Force_Key end else ifMouse_Activitythen begin Read AbsoluteX Read AbsoluteY Read ButtonStatus VxDcall VMD_Post_Absolute_Pointer_Message end end clear_flags RET]]></pre>如上面列举的伪代码所示,一旦PCCARD IRQ信号为有效,VID的一个实施例就开始运行。接着,该VID读出该远方处理器的I/O寄存器中的数据。若这个数据跟在该家电单元处的一次键盘活动有关(例如,已经设置了一个标志,以指示该数据涉及一次键盘活动),则该驱动程序接着从该键盘数据中抽取该扫描代码、重复计数以及Shift键的状态。随后它经由VKD以及该操作系统将这个已抽取的信息送往该应用程序。换句话说,VID调用VKD以便使用由该VKD输出的标准应用编程接口(APIs),将所抽取的数据送往该应用程序。
另一方面,若该远方处理器的I/O寄存器里面的数据与鼠标活动有关,则VID从该I/O寄存器数据中抽取该光标位置数据(绝对X坐标和绝对Y坐标)以及该键值数据。然后,这个驱动程序调用VMD去使用它的标准API,以便将所抽取的数据送往该应用程序。最后,VID清除诸标志(例如,引起VID被调用的该标志)并复位,以等待附加的诸输入命令。
从以上讨论明显地看出,由于本发明提供了一种用于将一件家电通过一条无线链路纳入到一个计算机系统之中的方法与装置,所以它是有利的。它使用超级的数字无线通信链路。本发明的若干实施例利用直接序列编码的扩频链路。这样一种链路可免除干扰噪声的影响(例如在该通信小区,围绕着该计算机以及该家电单元的周边所形成的小区内部干扰噪声,或者由该计算机以及该家电单元所形成的通信小区以外的噪声源所产生的小区之间的干扰噪声)。
一条直接序列编码的扩频链路也提供针对多径现象的防护,因为多径信号对扩频接收机来说,表现为不相关噪声。因此,当使用这样一条链路时,该发送的I/O数据以及该输出的显示内容的质量不会降低。使用其他各种数字式收发两用机的本发明的诸实施例通过进行纠错编码与解码,防止了因噪声引起的信号恶化。
本发明的许多实施例也提供了一条安全的数字通信链路。例如,使用直接序列编码的扩频链路的本发明的诸实施例,利用编码规则将诸信号扩展到有效带宽之上,并且以这样的编码方式发送数据。只有该接收机拥有该编码规则,因此只有该接收机才能对所发送的数据进行解码。这样一来,对该计算机以及该家电单元之间的通信就无法进行偷听。在使用其他各种发送和接收加密数据的数字式收发两用机的本发明诸实施例中,防止偷听也是它们的一个优点。
同样地,本发明的一个实施例在命令层次而不是在现有技术的数据层次上为该家电单元抽取信息。因此,不同于现有技术诸系统,本发明的一个实施例并不在该家电单元处产生用于显示的I/O数据(例如,不产生用于一部电视机的模拟NTSC或PAL编码信号),而是在该本地节点处截取和转换用于显示的该I/O数据(例如,截取和转换用于一部PC监视器的模拟RGB诸信号)。相反地,对该家电单元来说,本发明的一个实施例在诸音频-视频命令针对该本地节点已经被处理之前,就截取该音频-视频命令,并将它们送往该家电单元的唯一的I/O引擎。
在这种方式下,呈现于该家电单元处的显示内容具有超级的质量,因为它在一种对输出类型敏感的方式下被组成。具体地说,在该家电单元处的显示内容不是根据用于在该本地节点处的特定的输出设备的显示内容而产生的,而是在该家电单元处针对该输出设备专门地以量体裁衣方式产生的。例如,若该本地节点的输出设备是一部PC监视器,并且该家电单元的输出设备是电视机,则该电视机的显示内容不是基于为该PC监视器而产生的模拟RGB诸信号。相反地,这个显示内容已经根据针对该电视机的诸图形命令而专门地被组成。例如,在本发明的一个实施例中,该家电单元的I/O引擎根据诸图形指令组成YCrCb数字显示数据。
以上参照于许多具体细节对本发明作了说明,专业人士将认识到,在不背离本发明的精神实质的前提下,可以用其他的具体形式来实施本发明。例如,虽然某些上述的实施例(例如,图4所示的实施例)已经被说明为处理音频-视频数据和命令,但专业人士将懂得,本发明的可供选择的诸实施例可以处理其他类型的多媒体数据和命令(诸如触觉的数据和命令)。
而且,图7表示图6的ASIC的一个特例,与此同时,图6的ASIC的其他诸实施例则执行不同于ASIC 700的任务。例如,该压缩操作可以放在ASIC 620之外去执行。因此,专业人士将理解到,本发明并不局限于前面的说明性细节,而是由所附的权利要求书加以规定。
权利要求
1.一种用于将一个家电单元纳入到一个计算机系统中去的方法,本方法包括下列诸步骤(a)在一个家电单元和一部计算机之间建立一条数字无线通信链路;(b)根据从该计算机经由所述链路发送过来的诸信号,在该家电单元的显示屏幕上提供一幅输出显示图象。
2.权利要求1中所述方法,其中所述建立链路的步骤包括建立一条扩频无线链路的步骤。
3.权利要求1中所述方法,其中所述建立链路的步骤包括在该计算机以及一个音频-视频设备之间建立一条扩频无线链路的步骤。
4.权利要求1所述方法,其中所述建立链路的步骤包括在该计算机以及一部电视机之间建立一条扩频无线链路的步骤。
5.一种将一个家电单元纳入到一个计算机系统中去的方法,本方法包括下列诸步骤(a)在该家电单元以及该计算机之间建立一条数字无线通信链路;(b)从该家电单元的一个输入设备接收诸输入命令;(c)经由该数字无线链路将所接收的诸输入信号送往该计算机。
6.权利要求5所述方法,还包括下列诸步骤(a)在该计算机中处理诸输入信号;(b)响应于对诸输入信号的处理过程,从该计算机通过该数字无线链路向该家电单元发送诸信号;(c)根据从该计算机发送过来的诸信号,在该家电单元的一个输出设备上提供一幅输出图象。
7.权利要求5所述方法还包括下列诸步骤(a)在该计算机中处理诸输入信号;(b)响应于对诸输入信号的处理过程,修改在该计算机上执行的一个操作。
8.权利要求7所述方法,其中诸修改步骤包括修改连接于该计算机的一个设备的操作的步骤。
9.权利要求7所述方法,其中诸修改步骤包括修改连接于该计算机的一个外部设备的操作的步骤。
10.权利要求7所述方法,其中诸修改步骤包括修改连接于该计算机的另一个家电单元的操作的步骤。
11.权利要求7所述的方法,其中,诸修改步骤包括修改一部第二计算机的操作的步骤。
12.权利要求5所述方法还包括下列诸步骤(a)通过所述链路从该计算机向该家电发送诸信号;(b)根据从该计算机发送过来的诸信号,在该家电的一个输出设备上提供一幅输出图象。
13.如权利要求12所述的方法,其中,所述显示步骤包括在该家电的一个输出显示屏幕上提供一幅输出显示图象的步骤。
14.如权利要求13所述的方法,其中,所述显示步骤还包括在该家电的一个输出音频设备上提供一种输出音频显示的步骤。
15.如权利要求12所述的方法,其中,所述显示步骤包括在该家电的一个输出音频设备上提供一种输出音频播放的步骤。
16.权利要求12所述方法,还包括在所述发送步骤之前组成图形数据的步骤,其中所述发送步骤包括发送图形数据的步骤。
17.权利要求12所述方法,还包括在所述发送步骤之前组成音频数据的步骤,其中所述发送步骤包括发送音频数据的步骤。
18.权利要求12所述方法,还包括在所述发送步骤之前组成音频-视频数据的步骤,其中所述发送步骤包括发送音频-视频数据的步骤。
19.权利要求12所述方法,还包括在该发送步骤之前对诸信号进行压缩以备发送的步骤,其中所述发送步骤包括发送已压缩的诸信号的步骤。
20.权利要求12所述方法,还包括在所述发送步骤之前以数字方式对诸信号进行编码的步骤,其中所述发送步骤包括发送以数字方式编码的诸信号的步骤。
21.如权利要求5所述的方法,其中,所述建立链路的步骤包括建立一条数字射频(“RF”)链路的步骤。
22.如权利要求5所述的方法,其中,所述建立链路的步骤包括建立一条扩频链路的步骤。
23.如权利要求5所述的方法,其中,所述建立链路的步骤包括建立一条等时链路的步骤。
24.如权利要求5所述的方法,其中,所述建立链路的步骤包括建立一条实时链路的步骤。
25.如权利要求5所述的方法,其中,所述建立链路的步骤包括建立一条多媒体链路的步骤。
26.一种用于将一个家电单元纳入到一个计算机系统中去的装置,所述家电单元具有一个显示屏幕,所述装置包括(a)一部第一数字式收发两用机,用于以通信方式连接到该计算机;(b)一部第二数字式收发两用机,用于以通信方式连接到该家电单元,所述诸收发两用机用于在该家电以及该计算机之间建立一条数字无线链路;(c)其中,当一条数字通信链路被建立(之后),该计算机向该家电单元发送诸信号,并且该家电单元根据所发送的诸信号在该显示屏幕上提供一幅图象。
27.如权利要求26所述的装置,其中,所述诸收发两用机都是诸扩频收发两用机。
28.如权利要求26所述的装置,其中,所述家电单元是一个音频-视频设备。
29.如权利要求26所述的装置,其中,所述家电单元是一部电视机。
30.一种用于将一个家电单元纳入到一个计算机系统中去的装置,所述家电单元具有一个输入设备,所述装置包括(a)一部第一数字式收发两用机,用于以通信方式连接到该计算机;(b)一部第二数字式收发两用机,用于以通信方式连接到该家电单元,所述诸收发两用机用于在该计算机以及该家电之间建立一条数字无线链路;(c)其中,当一条数字通信链路被建立(之后),该家电单元经由该链路将在该输入设备处接收到的诸输入信号送往该计算机。
31.权利要求30所述装置还包括一个控制单元,用于以通信方式连接到该第二收发两用机以及该输入设备,所述控制单元用于控制介于该输入设备以及该第二收发两用机之间的通信。
32.如权利要求31所述的装置,其中,当该控制单元从该输入设备接收诸信号时,它对它们进行格式化以便发送。
33.如权利要求30所述的装置,其中,所述计算机处理诸输入信号,并且响应于该处理过程,修改一个操作。
34.如权利要求33所述的装置,其中,所述计算机修改与之连接的一个设备的一个操作。
35.如权利要求33所述的装置,其中,所述计算机修改与之连接的一个外部设备的一个操作。
36.如权利要求33所述的装置,其中,所述计算机修改与之连接的另一件家电的一个操作。
37.如权利要求33所述的装置,其中,所述计算机修改一部第二计算机的一个操作。
38.如权利要求30所述的装置,其中,所述家电单元还有一个输出设备,所述计算机处理诸输入信号,并且响应于该处理过程,向该家电单元发送诸信号,该家电单元根据从该计算机发送过来的诸信号,在其输出装置上提供一幅输出图象。
39.如权利要求30所述的装置,其中,所述家电单元还有一个输出装置,所述计算机经由该链路向该家电单元发送诸信号,并且该家电单元根据所发送的诸信号在其输出设备上提供一幅输出图象。
40.权利要求39所述装置,还包括一个输入/输出控制单元,用于以通信方式连接到该第二收发两用机,该输入设备,以及该输出设备,所述控制单元用于控制介于诸设备以及该第二收发两用机之间的通信。
41.如权利要求40所述的装置,其中,当该控制单元从该第二收发两用机接收诸信号时,它对它们进行格式化,以便在该输出设备上显示,以及当该控制单元从该输入设备接收诸信号时,它对它们进行格式化以便发送。
42.如权利要求40所述的装置,其中,该控制单元具有一个解码引擎,用于以数字方式对它从该第二收发两用机接收的诸信号进行解码。
43.如权利要求40所述的装置,其中,该控制单元具有一个解压缩引擎,用于对它从该第二收发两用机接收的诸信号进行解压缩。
44.如权利要求40所述的装置,其中,该控制单元具有一个数字过滤引擎,用于对它从该第二收发两用机接收的诸信号进行过滤。
45.如权利要求40所述的装置,其中,该家电是一部电视机,该控制单元具有一个编码器,用于将它从该第二收发两用机接收的诸信号编码为一种电视显示格式。
46.权利要求39所述装置,还包括一个数字编码引擎,它以通信方式连接到该第一收发两用机,该数字编码引擎用于在将诸信号经由该链路送送往该家电单元之前,以数字方式对诸信号进行编码。
47.权利要求39所述装置,还包括一个压缩引擎,它以通信方式连接到该第一收发两用机,该压缩引擎用于在经由该链路将诸信号送往该家电单元之前,对诸信号进行压缩。
48.权利要求39所述装置,还包括一个数字过滤引擎,它以通信方式连接到该第一收发两用机,该数字过滤引擎用于在将诸信号经由该链路送往该家电单元之前,对诸信号进行过滤。
49.权利要求39所述装置,还包括一个图形引擎,它以通信方式连接到该第一收发两用机,该图形引擎用于组成图形数据,以便经由该链路送往该家电单元。
50.权利要求39所述装置,还包括音频引擎,它以通信方式连接到该第一收发两用机,该音频引擎用于在经由该链路送往该家电单元之前,组成音频数据。
51.权利要求39所述装置,还包括一个帧同步处理器,它以通信方式连接到该第一收发两用机,该帧同步处理器用于在经由该链路送往该家电单元之前,同步音频和视频数据。
52.权利要求39所述装置,还包括一个介质访问控制器,它以通信方式连接到该第一收发两用机。
53.如权利要求52所述的装置,其中,该介质访问控制器使用一种等时链路协议。
54.如权利要求39所述的装置,其中,诸收发两用机都是诸扩频收发两用机。
55.一个计算机系统包括(a)一部具有一个第一数字式无线收发两用机的计算机,以及(b)一个家电单元包括(1)一部第二数字式无线收发两用机,用于以数字方式连接到该第一无线收发两用机,(2)一个输出设备,它以通信方式连接到该第二收发两用机,该输出设备根据经由该收发两用机从该计算机接收的诸信号提供一幅输出图象。(3)一个输入设备,它以通信方式连接到该第二收发两用机,该输入装置用于从一个与该家电单元建立接口的用户那里接收诸输入信号,诸输入信号经由该收发两用机被送往该计算机,以及(4)一个输入/输出控制单元,它以通信方式将该第二收发两用机连接到该输入和输出设备。
56.针对一个计算机系统,它具有(ⅰ)一部具有一个第一数字收发两用机的计算机,以及(ⅱ)一个具有一个输入设备和一个输出设备的家电单元,一个装置用于以无线方式将该单元连接到该计算机,该装置包括(a)一个输入/输出控制单元,用于以数字方式连接到该输入和输出设备;以及(b)一部第二数字式收发两用机,它以通信方式连接到该输入/输出控制单元,该第二收发两用机(ⅰ)用于从该第一收发两用机接收诸信号,并经由该控制单元将诸信号送往该输出设备,以及(ⅱ)用于经由该控制单元从该输入设备接收诸信号,并将诸信号发送到该第一收发两用机,其中该输出设备根据从该计算机接收的诸信号提供一幅输出图象。
全文摘要
本发明提供一种用于将一件家电纳入到一个计算机系统中去的方法和装置。本发明的一个实施例含有一台具有一部第一数字式无线收发两用机的计算机,以及一个具有一部用于以通信方式连接到该第一无线收发两用机的第二数字式无线收发两用机的家电单元。该家电单元还具有(1)一个输出设备,它以通信方式连接到该第二无线收发两用机,以便根据经由该无线收发两用机从该计算机接收的诸信号来提供一幅输出图象,以及(2)一个输入设备,它以通信方式连接到该第二无线收发两用机,用以从该家电单元的一个操作者那里接收诸输入信号。
文档编号H04N5/38GK1225770SQ98800218
公开日1999年8月11日 申请日期1998年1月30日 优先权日1997年1月31日
发明者阿玛·格里, 约翰·怀特 申请人:沙尔维夫公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1