多媒体系统中管理信息资源 及多路复用频道的方法与设备
技术领域
本发明一般涉及通讯系统,更具体地涉及家庭局域网。
背景技术
通讯系统是用来将数据由一个实体传送到另一个实体。数据可以是音频数据,视频数据和/或文本数据。在这种通讯系统中,根据一种或多种数据传输协议,数据可通过一种或多种传送媒介实现传送(如射频、同轴电缆、双扭铜线、光缆,等等)。数据在通讯系统中穿越的距离可能是几英寸、几英尺、几英里、几十英里、几百英里、几千英里,甚至更远。
通讯系统有两种基本的结构:广域网(WAN)和局域网(LAN)。而且广域网(WAN)和/或局域网(LAN)通讯系统采用包括广播传输、非对称传输和对称传输在内的多种传输类型。在广播传输系统中,网络集线器将数据传送到若干用户,但从用户传送到网络集线器的数据很少或者没有。广播通讯系统的例子包括无线电系统、NTSC(国家电视标准委员会)电视系统(如普通电视)、高清晰度电视系统、电缆系统和卫星系统等。在每一个广播通讯体系中,有一个网络集线器(如电台、电视台等)传送广播信号。在广播信号覆盖范围内的任何一个用户只要有适合的接收器(如收音机、电视机等)就能收到广播信号。这种广播体系采用某一种特定的数据传输协议,如调幅调制、调频调制、高频、特高频等。
非对称通讯系统向一个方向传输的数据比另一个方向多。(如一个实体向其它实体传输的数据比从其它各实体接收的数据多)。非对称通讯系统的一个例子便是因特网。在因特网上,网络服务器接收的数据比它们从任何用户那里接收的数据多得多。因特网采用TCP/IP作为数据传输协议,同时可以采用许多物理层数据传输协议来进入因特网。这种物理层数据传输协议包括异步传输模式(ATM)、帧中继、综合服务数字网(ISDN)、数字用户回路(DSL)以及它们所派生全部协议,和多包标识交换(MPLS)。这种非对称通讯系统可能是广域网(如因特网),也可能是局域网(如基于服务器的地方网络)。
对称通讯系统包括若干用户,而且任何用户之间的数据流量是相等的。对称通讯系统的例子包括公共交换电话网(PSTN)、局域计算机网、移动电话系统、内部通信联络系统、特定分组交换机(PBX)等。这种对称通讯系统采用至少一种数据传输协议。例如,计算机网络可采用任意一种以太网标准。
在任何一种通讯系统中,用户必须要有适当的接收器和可能用到的传输设备来独立地接入通讯系统。例如,卫星电视系统的用户必须有卫星接收器和电视才能收到卫星广播。如果另外一台电视想独立地接收卫星广播,则需要自己的卫星接收器。对于NTSC广播和有线广播来说,情况同样如此,尽管目前多数电视带有NTSC调谐器和/或几种有线调谐器。
随着拥有多台电视机的家庭正在增多,许多用户需要最新最好的视频收看服务。因此许多家庭配备了卫星接收器、电缆机顶盒,调制解调器等若干设施。尽管通过把附属电视机和主电视机连接,也可以实现接通卫星广播的目的。但是,主电视将独立接入并全权控制卫星接收器,而其它的附属电视就只能接收主电视选择的频道了。
对家庭因特网接入来说,每台台脑或因特网设备都有自己的因特网线路。随之而来的是,每台台脑或因特网设备需要一个调制解调器。或者不用调制解调器,而是由家庭局域网提供因特网接入。在这种家庭局域网中,每台电脑或因特网设备需要一只网卡来接通服务器。服务器再提供与因特网的连接。目前,网卡的价格至少和56K调制解调器一样贵,因此这种家庭局域网并不能省钱。
家庭局域网要用一根或者几根电话线、射频、电源线和/或红外连接来做为通讯媒介。通常,这种家庭局域网为装配家庭电脑网络带来了便利,把一台或多台电脑与一台或多台打印机、传真机等设备耦合起来。但在这种情况下,因为缺少特别的家庭连接来支持家庭局域网收发娱乐数据,家庭局域网不支持娱乐数据(如来自VCR、DVD等的)的传输。
因此,需要一种能使通讯系统克服上述问题并为家庭带来更丰富的服务的方法和设备。
附图说明
图1说明的是一种依据本发明的多媒体系统的方框图;
图2说明的是另一种依据本发明的多媒体通讯系统的方框图;
图3说明的是另一种依据本发明的多媒体通讯系统的方框图;
图4说明的是另一种依据本发明的多媒体通讯系统的方框图;
图5说明的是另一种依据本发明的多媒体通讯系统的方框图;
图6说明的是图1所示多媒体通讯系统的多媒体服务器和用户端模块的方框图;
图7说明的是图2所示多媒体通讯系统的多媒体服务器和用户端模块的方框图;
图8说明的是图3所示多媒体通讯系统的多媒体服务器和用户端模块的方框图;
图9说明的是图4所示多媒体通讯系统的多媒体服务器和用户端模块的方框图;
图10说明的是图5所示多媒体通讯系统的多媒体服务器和用户端模块的方框图;
图11说明的是可以应用于图1-5任何一个多媒体通讯系统的一个多媒体服务器和一个用户端模块的方框图;
图12说明的是可以应用于图1多媒体通讯系统的一个多媒体服务器的更详细的方框图;
图13说明的是可以应用于图2多媒体通讯系统的一个多媒体服务器的更详细的方框图;
图14说明的是可以应用于图3多媒体通讯系统的一个多媒体服务器的更详细的方框图;
图15说明的是可以应用于图4多媒体通讯系统的一个多媒体服务器的更详细的方框图;
图16说明的是可以应用于图5多媒体通讯系统的一个多媒体服务器的更详细的块状方框图;
图17说明的是一个可以依据本发明组合到多媒体服务器中的调谐模块的功能图;
图18说明的是一个可以依据本发明组合到多媒体服务器中的频道混频器的功能图;
图19说明的是一个可以依据本发明组合到多媒体服务器中调谐模块的另一种功能图;
图20说明的是一个可以依据本发明、通过有线线路连接、与一个或多个用户端模块耦合的多媒体服务器的方框图;
图21说明的是一个可以依据本发明、通过射频通讯通道、与一个或多个用户端模块耦合的多媒体服务器的方框图;
图22说明的是一个可以依据本发明、通过红外线通讯通道、与一个或多个用户端模块耦合的多媒体服务器的方框图;
图23说明的是依据本发明的另一种多媒体服务器的方框图;
图24说明的是一种依据本发明在多媒体通讯系统中传输数据的方法的逻辑图;
图25说明的是一种依据本发明在多媒体通讯系统中,通过有线线路连接传输数据的方法的逻辑图;
图26说明的是依据本发明在多媒体通讯系统中数据传输的图形表现;
图27说明的是一种依据本发明在多媒体通讯系统中,利用射频通讯通道传输数据的方法的逻辑图;
图28说明的是一种依据本发明在多媒体通讯系统中,通过红外线通讯通道传输数据的方法的逻辑图;
图29说明的是一个可以依据本发明组合到多媒体服务器中的调谐模块的方框图;
图30说明的是另一个可以依据本发明组合到多媒体服务器中的调谐模块的方框图;
图31说明的是另一个可以依据本发明组合到多媒体服务器中的调谐模块的方框图;
图32说明的是另一个可以依据本发明组合到多媒体服务器中的调谐模块的方框图;
图33说明的是一种依据本发明在多媒体系统中选择频道的方法的逻辑图;
图34说明的逻辑图,进一步解释图33的逻辑图中频道选择命令的接收;
图35说明的是图33的逻辑图中频道选择命令的另一种接收方法的逻辑图;
图36说明的是另一种依据本发明在多媒体通讯系统中选择频道的方法的逻辑图;
图37说明的是一种方法的逻辑图,该方法进一步描述图36逻辑图中频道选择命令的接收;
图38说明的是依据本发明在多媒体通讯系统中应用的频道混频器的方框图;
图39说明的是依据本发明在多媒体通讯系统中与部件操作性耦合的频道混频器的方框图;
图40说明的是依据本发明在多媒体通讯系统中应用的另一个频道混频器的方框图;
图41说明的是依据本发明可以用于多媒体通讯系统的另一个频道混频器的方框图;
图42说明的是依据本发明在多媒体通讯系统中混频信号的逻辑图;
图43说明的是进一步说明图42中处理步骤的逻辑图;
图44说明的是一种进一步描述图42中转换步骤的方法的逻辑图;
图45说明的是另一种进一步说明图42中转换步骤的方法的逻辑图;
图46说明的是另一种进一步说明图42中转换步骤的方法的逻辑图;
图47说明的是另一种进一步说明图42中转换步骤的方法的逻辑图;
图48说明的是一种进一步说明图42中步骤1052的方法的逻辑图;
图49说明的另一种依据本发明的混频频道的方法的逻辑图;
图50说明的依据本发明与一个用户端操作性耦合的用户端模块的方框图;
图51说明的依据本发明与一个用户端操作性耦合的用户端模块的更详细的方框图;
图52说明的依据本发明的另一种用户端模块的方框图;
图53说明的一种依据本发明在用户端模块内处理数据的方法的逻辑图;
图54说明的进一步描述图53中步骤1236和1238的一种方法的逻辑图;
图55说明的另一种依据本发明在用户端模块内处理数据的方法的逻辑图;
图56说明的是图55所说明方法的一种延伸的逻辑图;
图57说明的是多媒体服务器依据本发明向用户端提供网络连接的一种方法的逻辑图;
图58说明的是进一步说明图57中步骤1342的一种方法的逻辑图;
图59说明的是进一步说明图58中步骤1362的一种方法的逻辑图;
图60说明的是进一步说明图57中步骤1348的一种方法的逻辑图;
图61说明的是依据本发明,在多媒体服务器通讯系统中,处理用户端-用户端通信和网络通信的一种方法的逻辑图;
图62说明的是依据本发明,在多媒体通讯系统中,处理用户端-用户端通信和网络通信的另一种方法的逻辑图;
图63说明的是依据本发明,在多媒体通讯系统中,一种管理资源的方法的逻辑图;
图64说明的是图63中的方法的一种延伸的逻辑图;
图65说明的是依据本发明,在多媒体通讯系统中,另一种管理资源的方法的逻辑图。
具体实施方式
概括地讲,本发明为向局域网提供多媒体服务、在多媒体系统内多路复用若干频道以及管理多媒体系统内的资源提供了一种方法和设备。
这样一种方法和设备包括:
1、始于接收到来自至少一个多媒体源的若干频道的处理过程。例如,这些频道的接收可能通过卫星连接、光缆连接、NTSC播放,等等。处理过程继续到下一步,接收至少一个用户端模块通过某种通讯通道发来选择请求。这些用户端模块与用户端设备相连,如电视、电脑、膝上型电脑、显示器、个人的数字化设备,等等。下一步,根据收到的选择请求生成一套频道选择命令。频道选择命令的生成步骤,包括解读选择请求,核实发出请求的用户的真实性,判定不同用户的访问权限。下一步,基于频道选择命令,从若干频道中选出一套频道。这样,在接收到的若干频道中,只选择一部分(用户选择的那部分),来组成这套频道。下一步,把这套频道混频入频道数据流中,然后通过通讯通道,把频道数据流传送到至少一个的用户端模块中。这样,配有用户端模块的每个用户可以分别接收到它们所选择的频道的频道数据。通过上述方法和设备,一个可以使用户的多种设备独立地进入多媒体源的家庭通讯网络就建立起来了,而不再需要传统的独立进入此类多媒体源的接收和/或发送设备。
2、始于接收到来自一个多媒体源的若干频道的处理过程。例如,这些频道可以是卫星连接、光缆连接、NTSC广播、HDTV广播等提供的频道。另外或作为选择,这样的频道可以由VCR、DVD、激光磁盘播放器等视频源来提供。下一步,接收来自用户端模块的若干频道选择命令。在若干的频道中,用户端模块关联的设备(如电视、个人电脑、膝上型电脑等),分别要求进入特定的频道。下一步,从若干的频道中,为各个频道选择命令选出一个频道,形成选定频道。这样,对每一个频道选择命令来说,一个相应的频道被从若干频道中挑选出来。下一步,基于一定的数据传输协议(如编码方案和/或调制方案),编码选定频道。然后经过编码的频道数据就被传送到若干的用户。通过上述方法和设备,一个可以使用户的多种设备独立地进入多媒体源的居家通讯网络就建立起来了,而不再需要传统的独立进入此类多媒体源的接收和/或发送设备。
3、处理过程,始于接收到若干用户端中的一个用户端的多媒体系统服务请求。多媒体系统服务可以是进入电台频道、电视台频道、卫星频道、光缆频道、因特网、内部通讯网等等。下一步,判定用户端的请求是否有效。例如,判断用户端是否有资格进入特定的多媒体系统服务,以及系统能否支持这项服务,等等。当通过查看多媒体系统是否有足够的资源满足用户端请求,判断用户端请求有效后,则继续运行下一步。此处的资源包括调谐模块的资源、频道混频模块的资源、若干用户端与多媒体服务器通讯通道的带宽,等等。如果基于多媒体系统的资源分配程序,多媒体系统有充足的资源来满足用户端的要求(至少通过分配部分充足资源来满足用户端要求),而且系统资源的分配呈有效状态,则继续运行下一步。通过上述方法和设备,一个可以使用户的多种设备独立地进入多媒体源的居家通讯网络就建立起来了,而不再需要传统的独立进入此类多媒体源的接收和/或发送设备。
通过参照图1到图65,可以更充分地描述本发明。图1说明的是多媒体系统10包含多媒体服务器12、与若干用户端26-34耦合的若干用户端模块14-22。多媒体服务器12耦合后,可接收来自多媒体源24的若干频道36。多媒体源24可以是卫星连接、电缆连接,NTSC制式电视广播、HDTV制式广播、PAL制式广播的天线连接,等等。本行业的一名普通技术人员就能理解,多媒体服务器12可以是一个独立的设备,可以并入卫星接收器、机顶盒、电缆盒、高清晰度电视调谐器、家庭娱乐接收器,等等。另外,多媒体服务器12可以利用分立元件、集成电路和/或它们的组合来实施。
多媒体服务器12与用户端模块14-22通信所用的通道,可以是射频通讯通道、有线线路连接、红外线连接、以及其它任何方法来传输数据。照此,多媒体服务器12和用户端模块12-22中的每一个都包括一个接收器和/或发送器,以经由一种通讯通道来传输数据。
如图所示,每一个用户端模块和一个用户端耦合在一起。例如,用户端模块14与代表一个个人数码助手的用户端26耦合。用户端模块16与用户端30耦合,它代表一台显示器(如液晶显示器、平板显示器、阴极射线管显示器等)。这样一个显示器可包括:扬声器、或扬声器连接以及包括频道选择、音量调节、画面质量等在内的控制功能。用户端模块20与用户端32耦合,它可以是一台电视机、高清晰度电视、标准清晰度电视,也可以是一套家庭影院,等等。用户端模块22与用户端34耦合,它代表的是一台膝上型电脑。
本行业的一名普通技术人员就能理解,用户端模块22可以与其相关的用户端分开,也可以嵌入用户端。另外,本行业的一名普通技术人员也会理解,用户端14-22可以利用分立元件和/或集成电路来实施。
用户端26-34中的每一个,通过与其相关连的用户端模块14-22,从多频道36中选择一个或若干频道。如图所示,用户端26从中选了频道3来看。相应地,用户端模块14把这一选择转到多媒体服务器12。多媒体服务器12从多频道36中选出频道3。频道3的相应数据和其它频道的数据一起经过多路复用处理,被从多媒体服务器12发送到用户端模块14-22的每一个。用户端模块14监控从多媒体服务器12发送的数据,并把频道3相应的数据抽取出来。然后,抽取的频道3的数据被提供给用户端26显示。
用户端模块16、18、20和22对它们相关的用户端28、30、32和34分别执行了相似的功能。如图所示,用户端28选择了频道505,用户端30选择了频道106,用户端32选择了频道206,用户端34选择了频道9。用户端模块16-22分别把用户端28-34的选择提供给多媒体服务器12。多媒体服务器12从多频道中为每一条选择请求抽取选定的频道,对选定的每一个频道(此例指频道3、9、106、206和505)的数据,用多路复用技术处理为数据流。该数据流随后被发送到每一个用户端模块。每一个用户端模块为各自的用户端抽取相应的选定频道数据。例如,用户端模块16监控与频道505相关的数据,用户端模块16监控与频道505相关的数据,用户端模块20监控与频道206相关的数据,用户端模块22监控与频道9相关的数据,
从每一个用户端的角度看,用户端26-34都是独立访问多媒体源24。因此,用户端26可以在任何时候改变频道选择,例如从频道3改为频道120。用户端模块14把这一频道选择请求提供个多媒体服务器12,服务器12即提取与频道120,而不是频道3相关的数据。同样地,用户端38-34也可以从举例的频道换到另外一个的频道。需要注意的是,如果两个用户端选择了同一个频道,比如说用户端26和28都选择了频道3,多媒体服务器12则只抽取1次与频道3相关的数据,并在它的标题部分,放入用户端模块14和16的标识。这样,用户端模块14和16可以从多媒体服务器12的发送中,抽取同样的数据,并把它提供给各自的用户端。
本行业的一名普通技术人员就能理解,图1中的多媒体系统为每个用户端提供了对多媒体源24的独立进入。作为另外一种可供选择的实施例,用户端模块的功能可以变化。例如,用户端模块14不提供用户端模块16所提供的独立功能,比方说用户端模块可以不要独立的频道选择功能,而只选择其它用户端选择的频道。这样的话,一个用户端模块就可以服务若干用户端。
图2说明的是一个多媒体系统的方框图,这个多媒体系统包括多媒体服务器42、若干用户端模块46-54和若干用户端26-34。多媒体服务器42与一个广域网44和/或一个公共交换电话网66耦合。这个广域网可以是,比方说因特网。多媒体服务器42可以是个独立设备,也可以嵌在一个调制解调器内或者嵌在用户端26-34中的一个内。多媒体服务器42的功能可利用分立元件和/或集成电路配以相应的软件来实施。
用户端模块46-54与多媒体服务器42与通信所用的通道,可以是射频通讯通道、红外线连接和/或有线线路连接。在该系统40中,服务器42为用户端26-34中的每一个提供与公共电话网络66和/或广域网44的独立接入。
为访问公共电话交换网66,用户端26-34中的每一个都包括一个标识代码(比如电话号码)。多媒体服务器42包括无线电话功能,所以它如同一个基站,而与各自用户端26-34连接的每个用户端模块46-54就像一个手持机。这样,对典型的电话通讯来说,多媒体服务器42就是一个包括若干手持机(如用户端26-34及其连接的用户端模块46-54)的基站。值得注意的是,如果多媒体服务器42有与公共交换电话网66的若干连接,若干用户可以进行同时电话交谈。另外,多媒体服务器42可以包含特定分组交换机(PBX)功能,从而使一个系统内的每个用户端之间可以进行通讯。例如,通过多媒体服务器42,用户端26可以与用户端34沟通。
为进入广域网44,多媒体服务器42包含一个网络连接,可以是一个DSL调制解调器、电缆调制解调器、56K调制解调器、综合服务数字网(ISDN)调制解调器等。而且,多媒体服务器42包含若干网络访问应用程序(如网络浏览应用程序、电子邮件应用程序等),使每一个用户可以访问广域网44。在运行中,用户端模块46-54分别替它们各自用户端26-34,发出要求进入广域网44的指示。多媒体服务器42接到请求后,基于请求,为相应的用户端打开访问网络的应用程序(电子邮件或网络浏览器等)。多媒体服务器42可以为用户端26-34中的每一个打开若干网络访问应用程序。这种情况下,多媒体服务器42用预先设定的方式,在用户端中间分配网络线路接入。例如,多媒体服务器42可以采用权标传递方式为每个用户端提供网络线路接入。
多媒体服务器42从广域网44,接收一个或多个用户端26-34需要的数据。多媒体服务器42多路复用数据,并向用户端模块46-54提供单路的发送流。每一个用户端模块监控来自多媒体服务器42的发送,并为各自的用户端26-34抽取数据。当侦测到用户端的数据后,用户端模块46把它抽取出来,并提供给它的用户端。
在这个图解中,用户端30-34正在访问因特网,也就是说在使用网络应用程序。例如,用户端34打开了网页56,用户端32打开了网页58,用户端30打开了网页60。每一个网页对相应的用户端来说,看上去似乎用户端都是直接而独立地访问广域网。从图中还可以看出,用户端26和28分别了电子邮件应用程序64和62。这样,用户端26和28就可以通过多媒体服务器42处理它们的电子邮件。
图3说明的是一个多媒体系统80的方框图。多媒体系统80包括一个多媒体服务器88、若干用户端模块90-98、若干用户端26-34、一个DVD播放器82、一个VCR86以及其它的同类播放设备。其它的回放设备还包括镭射影碟(LD)播放器、数字VCR、闭路电视,便携式摄象机,等等。在系统80中,多媒体服务器88为每个用户端提供对回放设备的访问,如DVD播放器82和VCR86。每个用户端可以选择接收DVD回放、VCR回放,或者其它任何视频资源回放。
在此图解中,用户端26选择了DVD回放83。相应地,用户端26向用户端模块90发出指示。用户端模块90把用户端26的选择传到多媒体服务器88。多媒体服务器88处理这一选择,并向用户端模块90提供回放数据。图3还显示,用户端32页选择了DVD回放83,用户端28、30和34选择了VCR回放87。这样,相关的用户端模块92-98把各自用户端的选择提供给多媒体服务器88。多媒体服务器88处理这些选择,生成流出数据流。此例中,流出数据流包括多路复用。相应地,媒体服务器88对用户端模块92-98提供的发送,鉴别哪一个帧和/或包包含DVD回放数据,哪一个帧和/或包包含VCR回放数据。例如,多媒体服务器88可以对包含DVD回放数据或VCR回放数据的包进行标注。作为选择,多媒体服务器88可以通过包含特定用户端模块的标识来标注这些包,而这些用户端模块是和提出特定VCR或DVD回放请求的用户端连接在一起的。另一方面,用户端模块90-98解释多媒体服务器88发送的数据,抽取相应的数据给它的用户端。这样抽取的数据就被提供给它的用户端来回放。
本行业的一名普通技术人员就能理解,多媒体服务器88可以通过RF(射频)连接、红外线连接和/或有线线路连接与用户端模块90-98耦合。而且每一个用户断模块90-98既可以是独立的设备,也可以嵌入到各自的用户端内。本行业的一名普通技术人员也能理解,用户端模块90-98可以在分立元件和/或集成电路中实施,还包括相关的设计操作。与此相似,多媒体服务器88可以是一个独立的设备,也可以和DVD播放器82、VCR86和/或其它任何视频设备连接在一起。多媒体服务器88利用分立元件、集成电路和相关的设计操作来实施。
图4说明的是多媒体系统100的方框图,包括多媒体服务器102、若干用户端模块112-120、若干用户端26-34、数字音频存储器设备104、DVD音频设备100、收音机108和CD播放机110。此图显示,多媒体服务器100在不需要独立和直接连接每个音频设备的情况下,为若干用户端提供对若干音频资源的选择。
操作中,用户端模块112-12从各自的用户端接收一个选择请求。此选择请求正在选择音频回放,选择的资源是数字音频存储设备104(它可以存储MP3文件、数字化音频等)、DVD音频播放器、收音机108、CD播放机110等任何其它类型的音频资源。
收到选择请求后,多媒体服务器102处理请求,一旦完成确认就从适当的音频源104-110中提取数据。多媒体服务器102把来自音频源104-110的音频数据多路复用为单路的发送。每一个用户端模块112-120接收此发送,并为它的用户端提取相关部分。
如图4所示,用户端26从数字音频存储设备104选择了显示音频。相应地,用户端26向用户端模块112发出选择请求。此选择请求接着被传到多媒体服务器102。多媒体服务器102处理这一请求,并从数字音频存储设备104启动回放。多媒体服务器102接收来自数字音频存储设备104的音频重放数据,并把它与来自其它音频源的音频回放数据进行多路复用处理,然后向用户端模块提供单路传输。来自多媒体服务器102的传输可以以包和/或帧的形式。每一个包和/或帧包含一个标题部分,标注着数据来源和/或数据标识。相应地,用户端模块112监控发给它和/或标注为数字音频存储设备104的数据。用户端模块在侦测到传输中的这些数据后,就抽取出来,提供给用户端26进行数字音频回放122。
用户端28选择了DVD音频回放124。因此,用户端模块114把此选择请求提供给多媒体服务器102。多媒体服务器102通过DVD音频设备106启动DVD音频回放。此DVD音频回放与其它音频回放一起被多路复用处理,多路复用后的数据以单路传输的形式被提供给用户端模块。用户端模块114抽取DVD音频回放数据并把它提供给用户端28。用户端模块120为用户端34提供相同的功能。
用户端模块116为用户端30提供相似的服务,不同的是关于CD回放126。因此用户端模块116把用户端30的CD回放请求提供给多媒体服务器102。多媒体服务器102通过CD播放器110启动CD回放,并把CD回放多路复用处理为传输流。用户端模块116从传输流中抽取CD回放数据并提供给用户端30。
用户端模块118为用户端32提供了与多媒体服务器102连接的广播回放。在此例中,用户端32提出了广播回放的指令和想要的电台。用户端模块118把这个请求提供给多媒体服务器102,多媒体服务器102解释此请求,并在广播接收器108接收的频道中选出一个频道。选定广播频道的数据和其它正在被多媒体服务器102处理的音频数据一起被多路复用处理。用户端模块118从传输中抽取合适的广播数据并提供给用户端32。
图5说明的是一个多媒体系统的方框图,这个多媒体系统包括多媒体服务器132、用户端模块134-142、用户端26-34和若干多媒体源。多媒体源包括VCR86、DVD播放器82,数字音频存储设备104、DVD音频106、无线电接收器108,CD播放机110,多媒体源24、公共交换电话网66、广域网44,以及其它任何类型的音频和视频资源。在系统130中,用户端26-34可以选择回放这些多媒体源的任何一个,和/或与之连接。来自每个用户端模块的选择请求将鉴别需要的多媒体源、用户端、需要的服务和任何其它信息,以帮助多媒体服务器132处理此请求。这样,当一个用户端访问因特网的时候,可能另一个用户端在看卫星广播频道,另一个用户端在听CD回放,另一个用户端在电话聊天,还有一个在观看DVD回放。所以这一切都通过多媒体服务器132实现了,而不需要这些用户端直接进入这些多媒体源,也不需要每个用户端有自己的多媒体源和/或多媒体源连接。从根本上讲,图1-4中一个或多个多媒体服务器12、42、88和102的功能,多媒体服务器132都可以提供。同时,图1-4中描述的一个或多个用户端模块的功能,用户端模块134-142也可以提供。
本行业的一名普通技术人员就能理解,多媒体服务器12、24、42、88、102和/或132可以与下列设施耦合,以提供图1-5大致描述的网络功能:家庭影院接收器、电视机、调制解调器、机顶盒、电缆接收器、卫星接收器、VCR、DVD播放器,等等。本行业的一名普通技术人员也能理解,图1-5中的用户端26-34可以是下列中的任何一种:个人电脑、膝上型电脑、个人数字助手、可视电话、数字电话、移动电话、显示器、电视机、高清晰度电视、打印机、传真机以及其它包含音频和/或视频播放的设备。
图6说明的是图1系统10内多媒体服务器12和用户端模块14-22的方框图。多媒体服务器12包括调谐模块150、频道混频器152、收发模块154和控制模块156。多媒体服务器12通过通讯通道192和用户端模块14-22中的每一个耦合。通讯通道192可以是有线线路连接、发送用有线线路连接、接收用有线线路连接、收发用射频通道、发送用射频通道、接收用射频通道、收发用红外线通道、发送用红外线通道和/或接收用红外线通道。
每一个用户端模块14-22包括一个网络接口控制器168、选择模块170、视频和/或音频接口172。选择模块170经过耦合,接收用户端的输出,生成频道选择178。因此,如果用户端是一台电视机,它就把信号发给选择模块172,指出所需要的频道。频道选择模块170也可以包含一个遥控接收器,这样当用遥控器来调换电视频道的时候,频道选择模块170可以接收此控制信号并进行解释,由此生成频道选择178。
网络接口控制器168接收频道选择178,并准备把它通过通讯通道192发送到多媒体服务器12。通讯通道192的类型判定网络接口控制器168执行的操作过程。例如,通讯通道是有线线路连接,频道选择178可以根据下列一种收发方式进行处理:时分多路技术(TDM)、频分多路技术(FDM)、脉码调制(PCM)、移幅键控(ASK)、移相键控(PSK)、正交移相键控(QPSK)、正交幅度调制(QAM)、载波侦听多址接达(CSMA)、避免冲突的载波侦听多址接达、以及带有检测冲突的载波侦听多址接达。
网络接口控制器168把频道选择178作为频道选择请求190的发送到多媒体服务器12的收发模块154。本行业的一名普通技术人员就能理解,用户端模块14-20在生成各自的频道选择请求14-20时,执行了与用户端模块22相似的功能。本行业的一名普通技术人员就能理解,频道选择178可以包括选择音频频道、视频频道、特定音频源(如CD回放)、特定视频源(如DVD回放),等等。而且,频道选择请求182-190还可以包括音量调节、画面质量设定和调节、显示限制、购买请求、画中画激活与解除、画中画频道选择、视频暂停、倒放、快进及音频无音。
收发模块154通过通讯通道192接收来自用户端模块14-22的频道选择请求182-190。收发模块154抽取来自请求182-190的物理层信息,以提取各自的频道选择请求164。收发模块154把频道选择请求164提供给控制模块156。作为一个类推,注意频道选择请求178对应网络层数据,而频道选择请求182-190对应ISO标准化通讯系统的物理层数据。这样,频道选择请求利用其标题部分的物理层类的标识,并在其数据部分包含了频道选择178。这些频道选择包含了标题部分和与选定频道对应的数据部分。
控制模块156处理频道选择请求164。频道选择请求的处理包括鉴别请求,并由此准备一套频道选择命令160。调谐模块150接收到这套频道选择命令160,然后基于频道选择命令160,从若干频道158中抽取出一套频道162。这里的若干频道可以来自卫星连接、电缆连接、NTSC制式播放、高清晰度电视播放、PAL制式播放,等等。调谐模块150把这套频道162中的每一个频道的数据提供给频道混频器152。
频道混频器152对这套频道162进行混频处理(如多路复用),生成频道数据流166。频道的混频处理包括,把每个频道的数据转化成通用数据类型,再把通用数据转化成特定数据格式,以作为频道数据流166来传输。
收发模块154通过频道数据包180发送频道数据流166。作为选择,频道数据流166也可以用频道数据帧的方式发送。每一个用户端模块14-22通过它的网络接口控制器168接收包或帧。
每个用户端模块的网络接口控制器168,通过解释每个频道数据包180的标题,来判断它是否以自己对应的用户端模块为接收地址。如果是,网络接口控制器168移走频道数据包180的物理层部分,并提取频道数据176。频道数据176被提供给视频和/或音频接口172。例如,如果频道数据176是视频数据,则接口172是用来播放相关用户端输出的视频接口。而如果频道数据176是音频数据,接口172就是一个与相关用户端音频输出耦合的音频接口。
图7说明的是图2多媒体系统40中多媒体服务器42和用户端模块46-54的方框图。多媒体服务器42包括调制解调器接口202、处理模块204、存储器206和收发模块208。调制解调器接口202与网络连接200处于操作性耦合,因而也就与广域网44操作性耦合。处理模块204也和公共交换电话网66操作性耦合。
每一个用户端模块46-54包含一个网络接口控制器168和用户端接口222。在操作中,用户端模块通过各自的用户端接口222,接收显示用户端需要的请求,用户端想通过广域网44建立因特网联接,或者想通过公共交换电话网打电话,或者想建立用户端到用户端的通信。用户端接口222为用户端提供连接,通过以下方式:PCI总线接口、AC97总线接口、并行输入、串行输入,等等。网络接口控制器168处理来自其用户端的请求,生成请求包,请求包被发送到多媒体服务器42的收发模块208。
收发模块208根据多媒体系统采用的数据传输协议,提取来自包的请求。收发模块把提取到的请求提供给处理模块204。处理模块204判断请求是否有效。如有效,处理模块204建立与公共交换电话网66和/或广域网44的适当接口。包括处理模块204的电话连接与公共交换电话网的适当接口,发挥无绳电话的基站的作用,而用户端模块和/或用户端发挥着相当于无绳手持机的功能。
如果请求是通过广域网44访问因特网,适当的接口包括为发出请求的用户端启动网络访问应用程序的处理模块。网络访问应用程序可以是网络浏览器程序、电子邮件程序,等等。具体哪一种网络访问程序要由用户端提供的请求来判定。在启动网络访问程序时,处理程序判断网络连接200是否与广域网44处于活跃的耦合状态。如果不是,处理模块204经由调制解调器接口202,通过网络连接200,建立起与广域网44的连接。此时,相应的用户端就能访问因特网了。
因特网联接建立后,用户端接口222接收来自用户端的因特网数据,并提供给网络接口控制器168。因特网数据包括用户端对某个网络访问程序(如网络浏览器、电子邮件)所作回应的输入。例如,一个电子邮件程序输入包括发信息、读信息、写信息等。通过网络访问程序,这些输入在经过多媒体服务器相应的处理后,被发送回用户端供显示。这样,从用户端的角度看,它有直接的因特网接入。
用户端通过键盘、触摸屏及其它的输入设备进行输入,并通过用户端接口222提供给用户端模块。用户端接口222把这些输入提供给网络接口控制器168,网络接口控制器168将它们进行分包处理,生成包218。包218包含标题部分和数据部分。标题部分包括用户端模块及用户端的标识、目的地地址和其它物理层标题信息。数据部分包括用户端提供的输入数据。每一个用户端模块46-54通过相似的方式生成包。
网络接口控制器168通过通讯通道192,把包210-218提供给多媒体服务器42的收发模块208。因为因特网通道是典型的双向通讯,所以通讯通道193会包含一个单独的发送通道和一个单独的接收通道。发送通道会用来向多媒体服务器发送包210-218,而接收通道用来接收多媒体服务器42发来的经过多路复用处理的用户端数据。
收发模块208接收包210-218后,移走物理层标题数据,生成经过提取的请求220。经过提取的请求220被提供给处理模块204,处理模块204通过执行其上的网络访问程序把它们转化成网络数据224。需要注意的是,网络数据224包含每个用户端访问广域网的单独数据。处理模块204通过调制解调器接口,把网络数据224作为外转调制解调器数据234,提供给网络连接200。对外转调制解调器数据234的回应,被通过网络连接200,作为内转调制解调器数据232接收。处理模块204通过调制解调器接口202,把内转调制解调器数据232作为接收的网络包226接收下来。
处理模块204解释收到的网络包224,以识别它的来源和目的地。对每一个以特定用户端为目的地的网络包,处理模块加上标题信息,生成用户端数据228,发往特定的用户端。收发模块208对用户端数据228进行物理层接口处理,生成多路复用用户端数据230。
每一个用户端模块46-54通过通讯通道192收到多路复用用户端数据230。网络接口控制器168监控多路复用用户端数据230,识别以各自用户端模块为目的地的包和各自的用户端。对每一个识别出相应用户端模块的包,网络接口控制器168剥去其物理层信息,向用户端接口222分别提供用户端数据。用户端接口222把用户端数据提供给相应的用户端,从而促成特定的用户端对因特网的访问。
多媒体服务器42也可以提供系统40内部通信,或者说用户端一用户端的通信。在此情况下,用户端接口222从它的用户端那里接收到内部通信的请求。网络接口控制器168将分包此请求,并提供给多媒体服务器42的收发模块208。处理模块204处理此请求,并判断其是否能实现。请求能否实现要基于以下内容:多媒体服务器的资源情况、通讯通道192的带宽情况、与内部通信有关的用户端的功能情况。如果请求可以实现,处理模块204给发起的用户端提供一个反馈。
一旦内部通讯建立起来,发起的用户端通过网络接口控制器168把数据以包的形式提供给多媒体服务器。这些包包括标题部分和数据部分。标题部分显示数据部分包括用户端--用户端的数据。
一旦处理模块204接收到分包的内部通信数据,它马上侦测出这是用户端-用户端通信,并处理用户端—用户端数据236。处理模块204把用户端—用户端数据236作为用户端数据228的一部分来提供。用户端数据228包括标题信息,标题信息标识着它是用户端—用户端数据、电信数据和/或因特网通信数据。
收发模块208对用户端数据228进行物理层分包,生成多路复用用户端数据230。目标用户端模块通过网络接口控制器168识别包含用户端—用户端通信的包,网络接口控制器168剥去了包的物理层部分,把用户端—用户端数据提供给了用户端接口222。用户端接口222把内部通信数据提供给各自的用户端。
图8说明的是图3多媒体系统80中多媒体服务器88和用户端模块90-98的方框图。多媒体服务器88包括调谐模块240、频道混频器242、收发模块246和控制模块244。每一个用户端模块90-98一个网络接口控制器270、视频和/或音频接口172和选择模块272。
在运行中,选择模块272接收到来自一个用户端的输入,生成源选择276。来自用户端的输入显示要访问的特定的多媒体源。此例中,多媒体源可以是一个DVD播放器82,一个VCR86,一个压缩视频资源272、闭路电视系统,以及其它任何类型的视频资源。选择模块272可以直接从用户端接收输入,也可以包括接收来自用户端遥控设备的信息的电路。这样,选择模块272解释用户端的遥控发送并生成源选择276。源选择276包含标题部分和数据部分。标题部分包括用户端的标识,并显示数据部分包含的是一个请求,而不是实际数据。
源选择276被提供给网络接口控制器270,网络接口控制器270在其上加上物理层,并作为选择请求258-266,提供给多媒体服务器88。
收发模块246接收到选择请求258-266,并移走其上的物理层。收发模块246把包含用户端模块源选择276的选择请求250,提供给控制模块244。控制模块处理选择请求250,来鉴别此请求,判定服务器是否支持此请求。如支持,提供一套选择命令252。
调谐模块240收到这套选择命令252,并根据相应的选择命令252,从多媒体源82、86和248中的一个或几个中间选择数据。调谐模块240把所选多媒体源的数据,作为一套频道254,提供给频道混频器242。
频道混频器242处理这套频道254,把每个频道资源的数据转化为通用数据。通用数据又被转化成特定格式的视频数据,接着融入到频道数据流256中。收发模块246接收频道数据流256,把它分包成数据包268,以进行发送,。
每一个用户端模块90-98的网络接口控制器270接收数据包268。网络接口控制器270剥去其上的物理层,并进行解释,以判断此包是否以各自的用户端模块为目的地。如是,网络接口控制把包内的视频和/或音频数据提供给视频和/或音频接口172。视频和/或音频接口172把数据提供给用户端的视频和/或音频输入。
图9说明的是图4多媒体系统100中多媒体服务器102和用户端模块112-120方框图。在此图解中,多媒体服务器102包括一个收发模块286、控制模块284、调谐模块280和频道混频器282。每一个用户端模块120包括一个网络接口控制器308、选择模块310和音频接口312。
在运行中,选择模块310从自己的用户端接收到一个输入。此输入标识着一个特定的音频资源,如数字音频存储器104、CD110、DVD106、无线电接收器108。选择模块310接收到此输入,生成源选择314。源选择314标识着特定的资源和相应的用户端。网络接口控制器308分包源选择314,并作为选择请求298-306,提供给多媒体服务器102。
收发模块286通过通信通道192收到选择请求298-306,并把源选择314重构为选择请求288。控制模块284接收选择请求288,并判断它是否可以满足。这个判断是基于多媒体服务器102的资源情况、通信通道192的带宽情况、特定用户端的真实性及其访问权限。如果此选择请求能被处理,控制模块为每个选择请求生成相应的选择命令292。
调谐模块280接收到这套选择命令292,并从标识的音频源中存取回放数据。音频源包括可以存储数字化音频的数字音频存储器104、MP3文件、CD播放器、DVD音频播放器106以及无线电接收器108。调谐模块280把所选的相应音频服务的回放,作为一套频道294输出。
频道混频器282接收这套频道294,并把它们转化为通用音频数据。通用音频数据又被转化成特定的音频数据格式,接着融入到频道数据流290中。频道混频器282把频道数据流290提供给收发模块286。收发模块286分包频道数据流290,然后作为数据包296,提供给用户端模块112-120。
用户端模块112-120的网络接口控制器308接收数据包296,并解释每一个包,以判断其是否是给各自用户端模块120的。对于每一个给各自用户端模块的包,网络接口控制器308抽取音频数据316,并提供给音频接口312。音频接口312把供回放的音频数据316提供给它各自的用户端设备。
图10说明的是图5多媒体系统130中多媒体服务器132和用户端模块134-142的方框图。多媒体服务器132包括一个处理模块345、存储器347、频道混频器342、收发模块346、控制模块344和调谐模块340。每一个用户端模块142包括一个选择模块334、网络接口控制器330、用户端接口222、视频和音频接口172、视频接口332和音频接口312。
在这个多媒体通讯系统中,可以选在多媒体服务中任意选择,包括用户端-用户端通信、收看来自卫星和电缆等连接的频道、收看闭路电视、收看存储器内的压缩视频、收看DVD、收看录像、收听数字音频、收听CD、收听DVD音频、收听广播、访问因特网以及打电话。
要启动一项或多项这样的多媒体服务,一个用户端模块的选择模块334要接收到用户端设备的输入,或者用户端设备的遥控设施的输入。这个输入标识着特定的用户端,也标识着所需的特定的服务。选择模块334解释输入并生成源选择336。选择模块334把源选择336提供给网络接口控制器330。
网络接口控制器330准备源选择336,以发送给多媒体服务器132。需要完成的准备工作包括:为物理层类型的发送,分包源选择336;在时分调制发送模式中,把至少部分源选择336放入分配的时隙;回应来自多媒体服务器132的轮询请求;请求及接收令牌环网;等等。不管采用的那种类型的访问方案,网络接口控制器330生成请求320-328,请求320-328被发送到多媒体服务器132的收发模块346。
收发模块346从用户端模块134-142接收到请求320-328。收发模块346根据采用的发送方式处理请求。例如,如果发送方式为载波侦听多址接达,收发模块346解释标题以识别特定的用户端,从而可以把320-328单独隔离开。再比如,如果用的是时分调制技术,收发模块346识别分配给每个用户端模块的特定时隙,鉴别相应的请求320-328。不管采用的那种类型的发送方式,收发模块346移走请求320-328上面的物理层,以提取源选择336。源选择336作为选择请求250,被提供给控制模块344。
收发模块346处里请求320-328以识别请求的具体类型。如果请求是访问多媒体源,就像上面描述的那样处理。但是,如果收发模块346侦测到,请求320-328中的一个或几个,所请求的是用户端-用户端通信,收发模块346生成一个用户端-用户端请求。该请求被提供给处理模块345。
控制模块334根据访问权限,解释每个选择请求350,并对每个用户端模块134-142进行鉴定。如果选择请求有效,而且用户端模块通过鉴定,控制模块334为每个请求320-328生成一套命令。控制模块334把这些选择命令,作为命令352,提供给调谐模块340。
调谐模块340处理这套命令352中的每一个,以确认需要访问的多媒体源。调谐模块340为每个收到的命令,选择多媒体源的合适频道。对包含若干频道的源,如卫星连接、电缆连接、广播接收器等,调谐模块340在选择特定源的同时,进一步从此源的多频道中选出一个频道。这些隔离的频道,作为一套频道348,被提供给频道混频器342。
处理模块345接收到用户端-用户端通信请求,进行处理,生成用户端-用户端数据236。处理模块345把用户端-用户端数据236,作为用户端数据228提供给频道混频器342。
混频器342处理这套频道348和用户端数据228(如果包括在内的话),混频器342把这套频道348中每个频道的数据转化成通用数据。用户端数据228和这套频道348的通用数据被多路复用处理,生成频道数据流354。混频器342把频道数据流354提供给收发模块346。
收发模块346根据多媒体通信采用的数据传输协议,发送系统频道数据流354。这样频道数据流354被装帧、分包等,以生成数据包356。生成数据包356被通过通信通道提供给每一个用户端模块134-142。
每个用户端模块的网络接口控制器330接收数据包356,并解释其标题上面的数据,判断该包是否给相应的用户端模块。如果是,用户端接口控制器剥去其上层的信息,并进一步解释包内数据的具体类型。这要通过阅读更多的上层信息,来判定特定的信息源和/或访问存储器,把相关的包和源选择336对应起来。如果包对应的数据来自多媒体源,网络接口控制器330把音频(或)视频数据338,提供个一个或若干接口172、332或312。但是,如果数据与用户端-用户端通信、电话或访问因特网有关,网络接口控制器330就把收到数据提供给用户端接口222。
每个接口172、332或312与各自的用户端设备相连,或者通过用户端设备的外部接口,如串口、并口等,或者通过PCI总线、AC97总线等实现内部连接。一旦数据被用户端设备接收,并进行音频和/或视频回放,就好像用户端设备直接访问此多媒体源一样。
业内普通技术人员就理解,频道混频器342可以根据数据的类型,采用优先化方式对数据进行混频。例如,被混频的数据包含实时音频和/或视频数据,这样的数据可以比非实时音频和/或视频数据优先。实时音频和/或视频包括电话通信、收看现场直播等,而非实时音频和/或视频包括收看DVD、VCR、收听数字音频、CD、DVD音频等。非实时数据发送时用的突发大、突发之间的时间间隔大,并提供连续的显示数据流。相反,实时数据发送用的突发小而且更频繁。
业内普通技术人员也理解,多媒体服务器132的存储器347,或者任何其它列出的多媒体服务器的存储器,可以使多媒体服务器发挥出数字录像机的功能。这样,来自卫星连接、电缆连接、NTSC制式广播、PAL制式广播、高清晰度电视广播的现场直播可以录下来,并保存在存储器里以供以后回放。
业内普通技术人员还理解,多媒体服务器132可以和所列的一个或若干多媒体源耦合。这样多媒体服务器132可以包括任何一个或者全部图1-4所示的的多媒体服务。相应地,每一个用户端模块134-142可以包括一个或者若干图1-4所示的用户端模块的功能。
图11说明的是图1-5所示多媒体通讯系统的另一个方框图。多媒体服务器12、42、88和/或132包括处理模块360和存储器362。多媒体服务器通过耦合,接收一种或多种多媒体源。多媒体源包括来自卫星连接、电缆连接、NTSC制式广播、PAL制式广播、高清晰度电视广播的若干频道158,来自存储设备、可携式摄像机等的压缩视频248、DVD播放器82、VCR播放器86、无线电接收器108、因特网连接44和/或公共交换电话网连接66。
处理模块360可以是单个的处理设备,也可以是一组处理设备。这样的设备可以是微控制器、微处理器、微型计算机、中央处理器、数字信号处理器、可编程门阵列、状态机、逻辑电路和/或其它可以基于操作程序处理信号(模拟和/或数字)的任何设备。存储器362可以是单个的存储设备,也可以是一组存储设备。这样的存储设备可以是只读存储器、随机存取存储器、系统存储器、闪存储器、磁带存储器、可编程存储器、可擦写存储器和/或其它任何可存储数字信息的设备。值得注意的是,当处理模块360通过状态机或逻辑电路执行一项或多项功能的时候,存有相应指令的存储器是嵌在包含状态机或逻辑电路的电路中的。处理模块360执行并存在存储器362的功能,在图24-28中有大致描述,下面还将会讨论到。
概括地说,通过接收来自用户端模块的请求182-190、258-266、298-306和/或320-328,多媒体服务器为若干用户端提供对一个或若干多媒体服务的接入。多媒体服务器处理这些请求,基于请求类型,生成数据包180、268、296和/或356,或者多路复用用户端数据230。而且,用户端模块可以提供信息包210-218,里面包含用于因特网连接、电话连接和/或用户端-用户端通信的数据。多媒体服务器象图1-10描述的那样对这些包进行处理。
用户端模块14-22、46-54、90-98、112-120和/或134-142包括一个处理模块364和存储器366。用户端模块与用户端26、28、30、32和/或34耦合,提供播放数据368。播放数据可以包括音频数据、视频数据和/或文本数据。播放数据368的类型取决于用户端访问的具体多媒体源。处理模块364可以是单个的处理设备,也可以是一组处理设备。这样的设备可以是微控制器、微处理器、微型计算机、中央处理器、可编程门阵列、状态机、逻辑电路、数字信号处理器和/或其它可以基于操作程序处理信号(模拟和/或数字)的任何设备。存储器366可以是单个的存储设备,也可以是一组存储设备。这样的存储设备可以是只读存储器、随机存取存储器、可擦写存储器、闪存储器、磁带存储器、系统存储器、可编程存储器和/或其它任何可存储数字信息的设备。值得注意的是,当处理模块364通过状态机或逻辑电路执行一项或多项功能的时候,存有相应指令的存储器是嵌在包含状态机或逻辑电路的电路中的。处理模块364执行并存在存储器366的功能,已经在图1-10中有了一般地描述,在参照图52-56时将有更具体的描述。
图12说明的是图1多媒体系统中多媒体服务器12的更具体的方框图。多媒体服务器12包括调谐模块150、频道混频器152、收发模块154和控制模块156。调谐模块150包括若干调谐器370-376、编码模块380、总线接口模块382。频道混频器152包括至少一个析流模块390、存储控制器394、存储器392、处理器396和代码转换模块388。析流模块390包括一组比特数据流模块398-404。
在运行中,控制模块156把一套频道选择命令160提供给调谐模块150。如图,每一个调谐器从控制模块156接收到单独的频道选择命令。作为选择,控制模块156可以把包含频道选择命令160的数据流提供给调谐模块150。那样的话,调谐模块要解释数据流以识别正在接收的特定的命令,然后向调谐器370-376提供单独的频道选择命令。每个调谐器370-376的输入耦合在一起,以接收若干频道158。
这些频道可以通过卫星连接、电缆连接、NTSC制式广播、PAL制式广播、高清晰度电视广播等接收。因此,每一个调谐器370-376要包含一个相应的调谐器功能和构造。例如,如果若干频道158是通过NTSC制式广播接收的,每一个调谐器要包含一个编码器,来隔离这些频道,生成数字化的视频输出。而如果若干频道158是通过卫星连接接收的,每一个调谐器要包含一个卫星调谐器,象商业卫星接收器上用的那样。卫星调谐器输出一个或若干MPEG2格式的频道。与此类似,对高清晰度电视、有线电视等,调谐器应是一种与特定频道源对应的构造。既然针对每一种源的调谐器的构造已为大家所知,以后除了在进一步解释本发明的模式的时候,将不再进一步讨论。
每个调谐器370-376输出一个选定频道384,并把它提供给编码模块380。编码模块380基于多媒体服务器12采用的编码方式,编码每个选定频道384,生成编码化频道数据386。编码方案可以是下列一种或几种:多级编码、反向不归零制编码、曼彻斯特编码、块编码、nB/mB编码(n<m)。例如,nB/mB编码可以是4B/5B编码,在此情况下,4比特的是实际数据转化为5比特的编码后数据。而且,编码附有标题部分,用来识别特定频道。编码化频道数据386被放到总线上,总线通过总线接口模块382把调谐模块150与频道混频器152耦合起来。
总线接口模块382根据多媒体服务器12采用的特定的数据传送方式,把编码化频道数据386放入总线。例如,数据传输协议可以是载波侦听多址接达、时分多路存取技术等。
频道混频器152耦合后,从调谐模块150接收编码化频道数据386。频道混频器152耦合后,通过析流模块390,接收编码化频道数据386。析流模块390包括若干比特数据流模块398-404。每个比特数据流模块398-404在总线上监控与感兴趣的频道对应的数据。因此一组比特数据流模块398-404可能被分配去处理与特定用户端模块相关的数据。例如,比特数据流模块398被分配为图1中用户端模块14处理数据,而比特数据流模块400被分配为图1中用户端模块16处理数据,等等。
每个比特数据流模块398-404包含一个总线接口模块(未示出)以在总线上侦测相关数据的标识。业内普通技术人员就懂得,作为选择,频道混频器152可以包括一个总线接口模块。这个总线接口模块提供单路连接来接收所有的数据,解释这些数据,并提供给比特数据流模块398-404。每个比特数据流模块398-404隔离各自相应的感兴趣的频道406,并通过存储器控制器394把数据提供给存储器392。
在每个感兴趣的频道406的相应数据被保存在存储器392时,处理模块396把感兴趣的频道406从原始数据转化成通用数据。处理器396通过存储器控制器394使此通用数据存于存储器392。例如,如果感兴趣的频道对应的是从一个多媒体源接收到的视频数据,处理器把对媒体资源的特定格式的视频数据(如MPEG2)转化成通用视频数据。这样,通用视频数据可以被格式化为MPEG视频数据、JPEG数据、M-JPEG视频数据、数字RGB数据和/或YCBCR数据。
如果感兴趣的频道的数据是音频数据,处理器396把音频资源的格式从它的原始格式转化成通用音频数据,如MPEG音频数据、MP3格式化数据和/或PCM音频数据。
数据转码模块388通过存储控制器394,提取通用数据392,生成频道数据流166。如果通用数据是通用视频数据,数据转码模块388把通用视频数据转化成一种特定的视频数据格式,如MPEG2,以生成频道数据流166。而如果通用数据包含的是音频数据,数据转码模块388就把它转化成特定的音频数据,如MP3。如果数据是因特网数据、电讯数据和/或用户端-用户端数据,数据转码模块把未作改变的数据,作为频道数据流166的一部分提供出去。
收发模块154接收频道数据流166,并进行处理以生成频道数据包180。收发模块154根据多媒体服务器的数据传输协议,执行此处理。这样,此处理在其上增加了表层信息,用来对要发往各个单独用户端模块的频道数据流166的特定部分进行标识。
图13说明的是图2多媒体系统中多媒体服务器42的更具体的方框图。如图所示,多媒体服务器42包括调制解调器接口202、处理模块204、存储控制器418、收发模块208、存储器206和视频图形处理程序420。调制解调器接口202与调制解调器426耦合,提供网络连接200。注意,调制解调器426可以是一个xDSL调制解调器、无线调制解调器、46K调制解调器、电缆调制解调器、ISDN调制解调器,或是一个与家庭网络的连接。而且调制解调器接口202提供与公共交换电话网66的耦合。业内普通技术人员就理解,多媒体服务器42可以提供因特网连接、公共交换电话网连接、用户端-用户端通信的一种或多种功能。
视频图形处理程序420可以是存储在存储器206的应用软件,由处理模块204在执行。作为选择,视频图形处理程序420也可以由一个或若干与存储控制器418耦合的视频图形处理器来执行。无论哪种执行情况,视频图形处理程序420准备视频数据,供CRT、LCD面板显示。
存储器206存储了若干应用软件,包括用户端服务软件416、无线电话软件422、用户端-用户端软件424、调制解调器分配软件414、若干网络浏览器软件410、若干电子邮件软件412。存储器206还存储了用户端显示数据422。用户端显示数据422经过视频图形处理程序420处理后,生成流出的显示数据。
在运行中,收发模块208接收来自一组用户端模块的包210-218。首先,包210-218包含标识特定用户端的标题信息、用来显示它是一个服务请求包的信息、包含所请求特定服务的标识的有效荷载。所请求的特定服务可以是访问因特网、通过公共交换电话网打电话和/或用户端-用户端通信。
当多媒体服务器接收到包,收发模块208把上面的物理层数据移走,并把提取过的请求220提供给存储控制器418。存储控制器418把提取过的请求220保存在存储器206。处理模块204提取提取过的请求220,开始处理此请求。对于显示特定服务类型的请求,处理模块204解释请求,并识别所请求的服务。有别于通过存储控制器418接收到的请求包,这些包可以被放进缓冲器,由处理模块204直接从缓冲器访问。
处理模块204激活用户端服务软件416,以解释收到的包,识别此包是否在请求一种特定类型的服务、服务内容和/或把这些包鉴定为数据包。如果处理模块204通过用户端服务软件416,判定所请求的是通过公共交换电话网66的电话交谈,处理模块204激活无线电话软件422。如果所请求的是用户端-用户端通信,处理模块204激活用户端-用户端软件424。如果所请求的是访问因特网,处理模块204根据所请求的具体访问类型,激活电子邮件程序412,或网络浏览器程序410。
对用户端-用户端通信,收发模块208接收包含通信数据的包。收发模块通过移走其上的物理层对这些包进行处理,并把接收包220提供给存储控制器418,这些收到的包将被保存在存储器206。收发模块208促使存储控制器418,从存储器206提取用户端-用户端数据236,并作为用户端数据228对外提供。收发模块208把为了用户端-用户端通信的用户端数据228,和被用户端支持的其它服务一起进行多路复用处理,生成多路复用用户端数据230。这些多路复用用户端数据也包括上面的物理层,在被用户端模块接收时,用来识别这些单独的包。
如果所请求的是通过公共交换电话网66的电话交谈,处理模块204激活无线电话软件422。因此,当处理模块204从存储器206提取接收包220的时候,它在数据上运行无线电话软件422。在本质上,无线电话软件422促使多媒体服务器422充当基站的角色,而用户端模块和/或用户端充当无线手持机的角色。电话机功能采用双音多频(DTMF)信号键入号码。多媒体服务器和手持机之间的传送速度,可用采用传统的900Mhz无线电话频率、2.4千兆赫频率和/或CDMA(码分多路访问)技术。
处理模块204处理完接收包220后,生成网络数据224。生成网络数据224被提供给调制解调器接口202。调制解调器接口把网络数据224提供给公共交换电话网66。因此,处理模块204在网络数据224内加了标识符,从而使调制解调器接口202知道把它提供给公共交换电话网66,而不是调制解调器426。
对于引入的电信数据,调制解调器接口202把它们作为接收网络包226,提供给处理模块204。处理模块204在运行无线电话软件422的过程中,处理接收网络包226并生成用户端数据228。用户端数据228作为多路复用用户端数据230一部分,在被收发模块208发送之前,被暂存于存储器206。
如果所请求的服务是访问因特网,收发模块208接收的包210-218,被作为接收包220暂存在存储器206。处理模块204根据所请求的具体访问类型,激活电子邮件程序412,或网络浏览器程序410。对于网络浏览访问,处理模块204激活网络浏览器程序410。对于电子邮件类的因特网访问,处理模块204激活电子邮件程序412。电子邮件程序412和或网络浏览器程序410已为大家所知,以后除了在进一步解释本发明的模式的时候,将不再进一步讨论。
对于网络浏览访问,处理模块204激活网络浏览器程序410,以处理接收包220。此处理过程生成网络数据224,网络数据224被提供给调制解调器接口202。调制解调器接口把网络数据224,作为外转调制解调数据234对外输出。
调制解调器426接收来自因特网的反馈,并作为内转调制解调数据232提供给调制解调器接口202。调制解调器接口202把内转调制解调数据232,作为接收网络包226提供给处理模块204,此时运行网络浏览器程序410,生成已处理包,保存在存储器206。视频图形处理程序420从存储器206中提取已处理包,运行与其相关的视频图形处理,生成用户端显示数据422。存储控制器418提取用户端显示数据422,并把它作为用户端数据228提供给收发模块208。收发模块处理用户端数据228,加上物理层信息,并把它与其它正在处理的用户端数据多路复用,然后把多路复用的用户端数据发送给用户端模块。
对于电子邮件网络访问,处理模块204激活电子邮件程序412,以处理接收包220。此处理过程生成网络数据224,网络数据224被作为外转调制解调数据234,通过调制解调器接口202,提供给调制解调器426。调制解调器426接收来自因特网的电子邮件反馈,并把收到数据作为接收网络包226提供给处理模块204。处理模块204运行电子邮件程序412,生成已处理数据。已处理数据被保存在存储器206,并被视频图形处理程序420存取。视频图形处理程序420,对已处理数据运行与其相关的视频图形处理功能,生成用户端显示数据422。存储控制器418提取用户端显示数据422,并把它作为用户端数据228,提供给收发模块208。
如果只有一个用户端访问因特网,此用户端单独进入调制解调器426,所以不需要分配网络连接。而且,如果只有一个用户端访问因特网,只需要为用户端打开一个电子邮件和/或网络浏览器程序。但是,一旦两个或两个以上的用户端访问因特网,处理模块为每个用户端激活一个电子邮件和/或网络浏览器程序。而且处理模块可以为若干用户端执行若干电子邮件和/或网络浏览器程序。在这种情况下,需要在访问因特网的用户端之间分配调制解调。为此,处理模块204启动调制解调分配软件414。
处理模块204在若干用户端之间分配调制解调器426。调制解调器426可以基于TDMA(时分多路存取)功能、CSMA(载体读取多路存取)功能、权标传递、轮流监测功能,等等。相应地,处理模块204基于调制解调分配软件414,对特定用户端提供接入,以使每个用户端有基本相等的因特网通道。
业内普通技术人员会懂得,通过把电子邮件程序412和网络浏览器程序410存储在多媒体服务器42,用户端看起来好像具有独立的因特网接入,实际上它们是若干用户端在共享。视频图形处理程序420与电子邮件程序和/或网络浏览器程序410,使程序正在处理的数据看起来好像是用户端设备在处理程序。业内普通技术人员也会懂得,如果用户端设备包括视频图像处理程序(通常装于个人电脑),那么在多媒体服务器42中,视频图形处理程序420会被跳过。相应地,网络浏览器程序410和电子邮件程序412处理的数据,也可以被分包后,作为用户端数据228,提供给各自的用户端设备,而不需要生成用户端显示数据422。相应地用户端设备运行自己的视频图像程序,处理数据,生成显示数据。多媒体服务器42的总体功能将参照图57-62,做更具体的描述。
图14说明的是图3多媒体系统中多媒体服务器88的方框图。多媒体服务器88包括调谐模块240、频道混频器242、收发模块246和控制模块244。调谐模块240包括若干多路复用器430-434、编码模块380和总线接口模块382。频道混频器242包括至少一个析流模块291、存储控制器394、存储器392、处理器396和数据转码模块388。
在运行中,控制模块244从用户端接收选择请求250,并生成一套选择命令252。每个选择命令被提供给一个多路复用器430-434。每个多路复用器430-434把输入与单频道视频源耦合,如DVD播放器82、VCR86、压缩视频源248、闭路电视、激光磁盘播放器、可携式摄象机,等等。每个多路复用器430-434基于相应的选择命令252,输出一个单频道多媒体源,作为选定频道436。
编码模块380从多路复用器430-434接收选定频道436,编码选定频道,生成编码化频道数据438。编码模块380采用的编码方法可以是,多级编码、反向不归零制编码、曼彻斯特编码、块编码、nB/mB编码(n<m)。编码化频道数据438,被作为一套频道254,通过总线接口模块382,提供给频道混频器242。业内普通技术人员会懂得,调谐模块240促使每个多路复用器430-434处理来自单独的用户端的请求。例如,如果只有一个用户端访问单频道多媒体源,只需要启动一个多路复用器来生成选定频道。访问单频道多媒体源的用户端越多,要启动的多路复用器越多。如果若干用户端访问同一个多媒体源,如DVD播放器82,则只需要启动一个多路复用器。这种情况下,对若干用户端所选定频道的处理,包括识别这些用户端和/或选定频道,从而使访问相同单频道多媒体源的用户端可以接收到相同的数据。
频道混频器242通过它的析流模块291,接收这套频道254。特别是每个比特流模块440-446,在总线上监控其正在处理的频道254的相关数据。因此,每个比特流模块440-446在为一个特定的用户端模块处理数据。每个比特流模块440-446接收这套频道254,分别生成一个感兴趣的频道448。这样,比特流模块440-446滤除感兴趣的频道之外的所有其它频道。通过存储控制器394,每个感兴趣的频道448的相应数据被储存在存储器392。
数据转码模块388从存储器392接收通用视频数据,并由此生成频道数据流256。数据转码模块388进行的处理包括,把通用视频数据转化成特定格式的视频数据。特定格式的视频数据包含频道数据流256。
收发模块246接收频道数据流256,并由此生成数据包268。收发模块246根据多媒体通讯系统采用的数据传输协议,在其上增加物理层,以生成数据包268。
图15说明的是图4多媒体系统中多媒体服务器102的方框图。多媒体服务器102包括调谐模块208、频道混频器282、收发模块286和控制模块284。调谐模块280包括若干多路复用器456-460、调谐器450-454、编码模块464和总线接口模块382。频道混频器282包括至少一个析流模块392、存储控制器394、存储器392、处理器396和数据转码模块388。
在运行中,控制模块284从若干用户端模块接收选择请求288。控制模块284处理选择请求288,生成一套选择命令292。这套选择命令被提供给一个或若干调谐器450-454和/或多路复用器456-460。这组调谐器450-454有一个与其输入耦合在一起的无线电接收器108,这个无线电接收器可以作为一个天线,用来接收调频和/或调幅无线电发送。调谐器450-454由常规电路构成,用来从若干电台中收听一个电台。这种调谐器的构造已为大家所知,因此除了进一步解释本发明外,将不再对调谐器450-454作进一步的讨论。
基于各自的选择命令,每个调谐器450-454从接收到的频道中选出特定频道。每个调谐器的输出就是每个多路复用器456-460的输入。每个多路复用器456-460也包括其它单音频频道多媒体源的输出。这种单音频频道多媒体源包括CD播放机110、DVD音频播放机106、数字音频存储设备104,等等。
基于各自的选择命令,每个多路复用器456-460输出一个特别的选定频道462。因此,选定频道462可以是单音频频道多媒体源中的一个,或者调谐器450-454中某一个的输出。
编码模块464接收选定频道462,对之进行编码,生成编码化频道数据468。编码模块464执行的编码可以是下列一种或多种:多级编码、反向不归零制编码、曼彻斯特编码、块编码、nB/mB编码(n<m)。编码化频道数据468,被通过总线接口模块382提供给频道混频器282。
频道混频器282接收编码化频道数据468,作为一套频道294。析流模块392包括若干比特数据流模块470-476,它们接收频道294,并抽取与特定的感兴趣的频道478相关的数据。因此,每一个比特数据流模块470-476支持某一个用户端模块的特定的频道选择请求。每一个比特数据流模块470滤出其它频道的数据,从而只有感兴趣的频道的数据通过。感兴趣的频道478的相应数据,通过存储控制器394存放在存储器392。
处理模块396从存储器392提取与感兴趣的频道478对应的数据,并把特定格式的音频数据转化为通用格式音频数据。通用格式音频数据被存放在存储器392。这样的通用格式音频数据可以是PCM数字化音频、MP3音频、MPEG音频,等等。
数据转码模块388从存储器提取通用格式音频数据,并把它转化为特定音频格式。这样的特定音频格式可以是MP3音频、MPEG音频,等等。数据转码模块388把频道数据流290的特定音频格式数据提供给收发模块286。业内普通技术人员会懂得,数据收发模块286处理来自音频源的音频数据的方式,与对来自如DVD播放器、CD播放器、卫星连接等多媒体源的音频数据的处理方式相似。
收发模块286把频道数据流290转化成频道数据包296。收发模块采用多媒体系统的数据传输协议,在频道数据流290的数据之上增加物理层,从而生成包。这些包就被传输到若干用户端模块。
图16说明的是图5多媒体系统中可能采用的多媒体服务器132的方框图。多媒体服务器132包括收发模块346(未示出)、控制模块344、调谐模块340、频道混频器342、处理模块345和存储器347。调谐模块340包括若干高清晰度电视调谐器480、若干多路复用器430-434、若干音频调谐器450-454、另外一组多路复用器456-458、一个调制解调接口202、一个音频编码模块464、一个视频/音频编码模块380和一个总线接口模块382。
频道混频器342包含第一组析流模块391、第二组析流模块390、第三组析流模块393和一个数据转码模块388。多媒体服务器132还可以在主设备中包含或操作性耦合一些元件。主设备可以是无线电接收器、电缆盒、机顶盒、家庭影院接收器、高清晰度电视调谐器等。主设备包括主处理器482、存储器桥484、主存储器486和硬驱488。为了与主元件相接,多媒体服务器132还包含一个直接存储器存取设备(DMA)490。
在这个构造中,控制模块344通过主机总线接收选择请求,并由此生成一套命令352。这套命令被提供给高清晰度电视调谐器调谐器480、多路复用器430-434、音频调谐器450-454、多路复用器456-460和/或调制解调接口。这样,调谐模块的每个元件将对一个单独的选择命令做出响应。
如果高清晰度电视调谐器480接收到一个选择命令352,它从卫星连接或电缆源488中,选出一个特定频道。选定频道被提供给编码模块380。如果多路复用器430-434中的某一个接收到选择命令,它输出一个单频道多媒体视频源,如DVD播放器82,压缩视频248、VCR86。多路复用器430-434的输出被提供给编码模块380。如前面讨论的一样,编码模块380把单频道的音频和视频数据转化成编码化数据。
如果一个音频调谐器450-454接收到一个选择命令,它从无线电接收器108的若干频道中,选出一个特定无线电频道。调谐器输出被提供给编码模块464。如果多路复用器456-460中的某一个接收到选择命令,它把输出提供给编码模块464。如图所示,对多路复用器456-460的输入包括DVD音频106、数字音频存储104和CD110。如前面讨论的一样,编码模块464对接收到的选定频道的音频数据进行编码。
编码模块380和464的输出,被提供给总线接口模块382。总线接口模块把编码化数据提供给频道混频电路。而且,总线接口模块382与调制解调接口202和公共交换电话网可以操作性耦合。调制解调接口和PSTN连接使得多媒体服务器132,可以象图2、7和13描述的那样,为用户端提供服务。
析流模块390、391和393接收编码化频道数据,并过滤到特定的感兴趣的频道。与特定的感兴趣的频道相应的数据,被通过存储控制器394存于存储器347。处理模块345从存储器347中提取感兴趣的频道的数据,并把它转化成通用音频数据和/或通用视频数据。通用音频视频数据存于存储器347。
数据转码模块388从存储器347提取通用音频视频数据,并把它转化为特定音频格式。特定音频格式数据接着被当作数据流,提供给收发模块346,传输给若干用户端。
硬驱488可以储存被作为数字音频存储104提供的数字化音频。因此,数字音频可以被储存为MP3格式、PCM音频和/或用来储存数字音频信号的任何形式。而且,硬驱488可以发挥数字VCR的作用,多媒体源的任何频道都可以存储于硬驱488,并随后回放。因此,主存储器486包含适当的软件,使得主处理器482从硬驱488提取数据,如同数字VCR一样。
图17说明的是一个调谐模块的功能图。该模块可以在前面图表描述的任何多媒体服务器上使用。虽然图17功能方框图讲的是利用高清晰度电视调谐器处理数据,这些原则对处理来自任何多频道多媒体源的数据普遍适用。例如,图17所示的若干频道36可以指从下列源接收的频道:卫星连接、电缆连接、NTSC制式连接、PAL制式连接、广播连接、无线电接收器连接,等等。
如图17所示,若干频道36包括一个频道标识符和相应的音频和/或视频数据。在图中,频道001包括频道001音频和/或视频数据,频道002包括频道001音频和/或视频数据,以此类推。还可以看出,频道002、004和009已经被不同的用户端选择收看。因此,频道选择命令160识别这些特定的频道。
每一个高清晰度电视调谐器376、374和480处理一个频道选择命令。如图所示,高清晰度电视调谐器376正在处理选择频道002的频道选择命令,高清晰度电视调谐器374正在处理选择频道004的频道选择命令,高清晰度电视调谐器480正在处理选择频道901的频道选择命令。如图,每个高清晰度电视调谐器376接收所有的若干频道36,但高清晰度电视调谐器376的输出是它相应的选定频道。如图,高清晰度电视调谐器376,正在输出频道002的音频和/或视频数据500,高清晰度电视调谐器374,正在输出频道004的音频和/或视频数据502,高清晰度电视调谐器480,正在输出频道901的音频和/或视频数据503。
频道002的音频和/或视频数据500包括一组帧504-518。每帧对应MPEG视频数据的I帧、B帧和/或P帧。频道002的音频和/或视频数据500被提供给编码模块380。与此相似,频道004的音频和/或视频数据502包括一组帧520-534,频道901的音频和/或视频数据503包括一组帧540-554。
编码模块380编码不同频道的音频和/或视频数据500、502和503。结果数据是编码化频道数据386,它包括一组包560、566和572。业内普通技术人员会懂得,根据多媒体通讯系统采用的数据传输协议,包560、566和572也可以是帧。如图所示,对基于包的传输,编码模块380用一种循环方式,分包来自每个选定频道的数据(在此例中,指频道002、004和901)。业内普通技术人员会懂得,可以用其它的方法来判定特定感兴趣的频道的哪些数据需要处理,以及按照什么顺序处理。例如,一个频道可以优先于另一个频道,比方说实时传输和非实时数据传输。
在图中,包560包括标题部分564和数据有效荷载562。标题部分564可以包括选定频道的标识、选定频道的数据类型、多媒体源的标识、数据是否加密的标识、加密类型的标识、数据是否压缩的标识、压缩类型的标识和/或包序号。因此,标题部分564包含所有必要数据,使用户端模块准确地提取有效荷载562包含的数据。如图,频道002的音频和/或视频数据500的帧504的第一部分,包括在有效荷载562中。
包566包括标题部分568和数据有效荷载570。标题部分信息568包括与标题部分564相似的数据,只不过是导向与音频和/或视频数据502相关的数据。有效荷载570装载的数据,来自音频和/或视频数据502的帧520的第一部分。包572包括标题部分574和有效荷载576。标题部分信息574包括564相似的标题部分数据,只不过是导向与音频和/或视频数据503。有效荷载576帧540的一部分。
编码模块380编码的后面3个包,将成为各帧504、520和540的第二部分。编码模块将一直分包编码模块的其它部分,直到整帧传输完。一旦整帧传输完,编码模块380按照音频和/或视频数据500、502和503的顺序,编码其它帧的部分。然后,编码化频道数据386被作为包进行传输,采用的方式为载波侦听多址接达(CSMA)、避免冲突的载波侦听多址接达、以及带有检测冲突的载波侦听多址接达。
虽然图17说明的是分包编码化频道数据386,但业内普通技术人员会懂得,编码模块380也可以采用时分多路存取技术,那样的话,编码化频道数据386将用帧的方式来准备。据此,包560、566和572将换成帧,每帧包括标题部分和数据部分。标题部分包括选定频道的标识、选定频道的数据类型、多媒体源的标识、数据是否加密的标识、加密类型的标识、数据是否压缩的标识、压缩类型的标识和/或帧序号。因此,标题部分和帧时序包含充足的数据,使用户端模块准确地提取各自数据部分或有效荷载包含的数据。
然后,编码化频道数据386,被按照时分多路技术、频分多路技术,以帧的形式传输。
图18说明的是一个频道混频器的功能图,该频道混频器可以在图1-11所描述的任何多媒体服务器上使用。如图所示,一套频道162被作为编码化频道数据386接收。编码化频道数据386包含若干包560、566和572。每个包560、566和572分别包含标题部分564、568、574和有效荷载部分562、570和576。
频道混频器包括一组析流模块390A、390B和390C,它们分别与总线接口580-584操作性耦合。总线接口580-584分别接收每个包,并读其标题部分。当总线接口模块580-584侦测到某个的包与特定的频道选择请求586、588或590相关,总线接口把其有效荷载部分和标题的一部分,提供给析流模块390A、390B和/或390C的电路。
每个析流模块390A、390B和390C从特定频道选择请求586、588和590相应包的有效荷载中,抽取数据592、594和596。数据592、594和596被存于存储器392,直到全部的视频帧504、520和/或540存储完。
一旦视频帧504、520和/或540存储完,处理器396A、B和/或C从存储器中,分别抽取视频帧504、520和/或540相关数据,并转化为通用数据598、600、602。通用数据存于存储器392。数据转码模块388从存储器392提取通用数据598、600、602,转化成特定音频和/或视频数据格式,并作为频道数据流166传输给若干用户端。
业内普通技术人员就理解,处理器396A、B和C可以在数据592、594和596被正在存于存储器的时候,处理视频帧504、520和540的数据。换言之,处理器不需要等到全部视频帧存完后,才开始把数据转化为通用数据598、600和602。
虽然图18说明的是接收编码化频道数据386的包,但业内普通技术人员会懂得,这些包可以是数据帧。因此,总线接口模块580-584会在总线上,监控需要析流模块390A、390B或390C分别处理的数据帧。基于特定的频道选择请求586、588或590,判定抽取特定的帧。因此,与特定的频道选择请求586、588或590相关的任何数据,被相应地析流模块390A、390B或390C得到,并转化成数据592、594或596。
图19说明的是图1-11中任何一个在处理单频道视频多媒体源的多媒体服务器的调谐模块的功能图。如图所示,多路复用器430-434处于操作性耦合,接收到来自若干单频道视频多媒体源的视频数据。这种单频道多媒体源包括DVD播放器、压缩视频存储设备、VCR、可携式摄像机等。如图,来自DVD播放器82的视频帧614被提供给每个多路复用器430-434,来自压缩视频248的MPEG帧612和来自VCR86的数字视频数据610,同样如此。每个多路复用器430-434正在处理一个单独的频道选择命令。如图,多路复用器430在处理一个选择请求,提供与DVD播放器82相关的视频帧614,多路复用器432在处理来自压缩视频资源248的MPEG帧612,多路复用器434在处理来自VCR86的数字视频数据610。
如图,视频帧614包含一组帧616-630。MPEG帧612包含一组帧632-646。而数字视频数据610包含一个数字视频数据流648。
编码模块380接收视频帧614、MPEG帧612和数字视频数据610,并对这些资源的数据进行编码,生成编码化频道数据438。这可用分包的方式完成,生成的包648、660和664,分别包含一个标题部分654、658和662与一个有效载荷部分656、660和664。
编码模块380把帧616的一部分编码为包648的有效荷载656。与此类似,编码模块380把数字视频数据648的一部分编码为包650的有效荷载660。编码模块380也把MPEG帧612的一部分帧编码为包652的有效荷载664。标题部分654、658和662包括图17描述中提到的信息,使得用户端能够准确地提取到相应的数据。
虽然图19说明的是采用载波侦听多址接达(CSMA)物理层传输方式,以包648、650和652的形式,发送编码化数据348,包648、650和652也可以是数据帧,并采用时分多路技术(TDMA)和/或频分多路技术(FDMA)的物理层数据传输技术。这样编码化频道数据438可以包括若干包,每个包包含来自若干多媒体源的视频数据的一部分和/或来自若干多媒体源的数据帧。
图20说明的是图1-5中多媒体通讯系统的方框图,其中通讯通道192是有线连接670。如图所示,多媒体服务器的调谐模块150、240、280和/或340接收音频/视频源674。接收音频/视频源674可以是前面任何图中描述的一种或任意多媒体源。调谐模块基于来自控制模块156、244、284和/或344的频道选择命令,从音频/视频资源资源中选出特定频道。
控制模块基于通过收发模块154、208、246、286和/或346接收的选择请求,生成选择命令。频道混频器152、242、282和/或340接收调谐模块的数据,并由此为一个或若干用户端模块生成数据。
多媒体服务器也包括处理模块204和/或345,用来处理经由电信源676的通讯。电信源包括因特网连接、PSTN连结和/或用户端-用户短通讯。
收发模块154、208、246、286和/或346包括一个路由器672。路由器为每个用户端模块14-22、46-54、90-98、112-120和/或132-142提供连接。像路由器672这样的路由器的构造和功能,已为业内所知,所以以后除了在进一步解释本发明的概念的时候,将不再进一步讨论。
鉴于通讯通道192是一个有线连接,频道数据流和选择请求通过一种收发方式进行收发。收发方式可以时分多路技术、频分多路技术、脉码调制、移幅键控、移相键控、正交移相键控、正交幅度调制、载波侦听多址接达、避免冲突的载波侦听多址接达和/或带有检测冲突的载波侦听多址接达。因此,这种有线连接670通过相同的双绞线、同轴电缆、家庭网络、电话线等发送和接收。
作为选择,有线连接670可以包括一个发送用有线连接和接收用有线连接。频道数据流采用一种发送方式,通过发送用有线连接来发送。发送方式包括时分多路技术(TDM)、频分多路技术(FDM)、脉码调制(PVM)、移幅键控(ASK)、移相键控(PSK)、正交移相键控(QPSK)、正交幅度调制(QAM)、载波侦听多址接达(CSMA)、避免冲突的载波侦听多址接达(CA)和/或以及带有检测冲突的载波侦听多址接达(CD)。接收用有线通讯通道用来从用户端模块接收频道选择。接收用有线连接采用的接收方法可以是TDM,FDM,PCM,ASK,PSK,QPSK,QUM,CSMA,CSMA带CA和CSMA带CD。
作为选择,如果多媒体通讯系统支持因特网连接,发送用有线连接和接收用有线连接正在传输与电信源676相关的数据。这样的数据包括发往因特网的包、从因特网接收的包、发往公共交换电话网的数据、从公共交换电话网接收的数据和/或用户端-用户端通讯数据。
如图,路由器672与频道混频器、调谐模块、控制模块操作性耦合。路由器也和至少一个用户端操作性耦合。通过这种结构,控制模块使来自频道混频器的频道数据流,基于收发类型,生成格式化频道数据。路由器通过有线线路连接,向用户端模块提供格式化频道数据。
频道混频器采用的格式化的类型,要基于前面描述的收发方式。另外,用户端模块接收到的选择请求,将根据收发方式的类型被格式化,从而当路由器接收它的时候,路由器可以适当地去格式化数据,并重捕特定的选择请求。不管有线线路连接670是一个收发数据的单路通道,还是既有收也有发的通道,都适用这种情况。
图21说明的是一个多媒体服务器的构成方框图。该服务器通过射频通讯通道680这样的通讯通道,与若干用户端模块操作性耦合。为了实现经由射频通讯通道680的射频通讯,多媒体服务器的收发模块154、208、246、286和/或346包括一个射频收发转换器678。同样地,每个用户端模块包括一个射频收发转换器、一个射频接收器和/或射频发送器。射频的具体使用将由政府部门规定,如美国联邦通信委员会(FCC)。通常情况下,这样的家庭用频率浮动范围在几百兆赫和几千兆赫之间。ITC规范802.11a规定了一种特别类型的射频家庭使用标准。802.11a规范为在家中和/或近距离内使用射频收发数据,提供了操作参数。
射频通讯通道680可以使用单频率在多媒体服务器和用户端之间收发数据,也可以包含一个独立的频率来发送数据和一个独立的频律来接收数据,可以包含若干频率来收发数据,也可以包含若干频率来接收数据和若干单独的频率来发送数据。
如图所示,射频收发转换器678与处理模块204和/或345、控制模块156、244、284和/或344、调谐模块150、240、280和/或340、频道混频器152、242、282和/或342操作性耦合。在此结构中,控制模块使通过射频通讯通道680传输到用户端模块的频道数据流,基于采用的收发类型被格式化。收发类型可以是时分多路技术(TDM)、频分多路技术(FDM)、脉码调制(PVM)、移幅键控(ASK)、移相键控(PSK)、正交移相键控(QPSK)、正交幅度调制(QAM)、载波侦听多址接达(CSMA)、避免冲突的载波侦听多址接达(CA)和/或以及带有检测冲突的载波侦听多址接达(CD)。
射频收发转换器通过射频通讯通道680,在发送间隔,向用户端提供格式化频道数据。发送和接收间隔将在涉及图26时做更具体的描述。
用户端模块通过射频通道接收格式化的数据,并进行处理,所用方法前面讨论过并将在下面涉及图50-56时做更具体的讨论。另外,用户端模块基于收发类型格式化选择请求,随后通过射频通讯通道680,把格式化选择请求提供给收发模块。射频收发转换器678接收选择请求并提供给控制模块。控制模块处理选择请求,所用方法前面讨论过并将在下面涉及图24-28时做更具体的讨论。
图22说明的是一个多媒体通讯系统的方框图,该系统的多媒体服务器元件通过红外线通讯通道684,与若干用户端模块操作性耦合。在此例中,收发模块154、208、246、286和/或346包括一个红外线收发转换器682。同样地,每一个用户端模块也要包含一个相似的红外线收发转换器。此例中,数据经由单路的红外线通讯通道684,在多媒体服务器和用户端模块之间传送。这样红外线通讯通道被分成发送部分(如从多媒体服务器到用户端模块)和接收部分(从用户端到服务器)。作为选择,红外线通讯通道可以包括一个发送用红外线通讯通道和一个接收用红外线通讯通道。
如图所示,红外线收发转换器682与处理模块、控制模块和频道混频器操作性耦合。在此结构中,控制模块,使通过红外线通讯通道684从收发模块传输到用户端模块的频道数据流,基于采用的收发类型被格式化。前面提到,收发类型可以是时分多路技术(TDM)、频分多路技术(FDM)、脉码调制(PVM)、移幅键控(ASK)、移相键控(PSK)、正交移相键控(QPSK)、正交幅度调制(QAM)、载波侦听多址接达(CSMA)、避免冲突的载波侦听多址接达(CA)和/或以及带有检测冲突的载波侦听多址接达(CD)。包含在频道数据流的特定数据以从用户端模块接收到的选择请求为基础。
用户端模块基于收发类型格式化选择请求,随后通过红外线通讯通道684,在接收间隔传输格式化选择请求,或者通过一个单独的接收用红外线通讯通道传输它们。射频收发转换器678接收选择请求并提供给控制模块。收发模块在接收到选择请求后,把选择请求提供给控制模块,控制模块把命令提供给调谐模块,调谐模块基于命令、从音频视频(AV)源674中选出适当的频道。
业内普通技术人员就懂得,多媒体服务器和若干用户端之间的通讯通道192可以包括图20中有线线路通讯通道670、图21中射频通迅通道680和图22中红外线通讯通道684中的一个或几个。例如,每个用户端之间的收发通道可以采用射频通迅通道,而接收通道可以是红外线通道。再比如,与服务器处于相同位置的用户端可以通过有线线路连接耦合,而一家之内处于不同位置的其它用户端则采用射频通迅通道。这样,在同一个多媒体通讯系统中,可以联合采用多种通信通道,以提供多媒体通讯服务。
图23说明的是一个多媒体服务器700的方框图,它包括调谐模块150、240、280和/或340,频道混频器152、242、282和/或340、控制模块156、244、284和/或344、收发模块154、208、246、286和/或346、处理模块204和/或345和第二个收发模块690。收发模块154、208、246、286和/或346包括一个模拟多路复用器686。除了发挥前面描述的收发模块的作用外,模拟多路复用器686把频道数据流转化成代表频道数据流的模拟信号688。因此,模拟多路复用器686会被用来接合与尚存的模拟用户端设备耦合的用户端模块,
第二个收发模块690使多媒体服务器能够经由第二个通讯通道692,与一些用户端模块沟通。第二个通讯通道692可以是有线线路连接、射频连接和/或红外线连接。通过第二个通讯通道传输的数据,与收发模块154、208、246、286和/或346发送的频道数据流可以一样,也可以是单独的数据。这样多媒体服务器700借助同一组音频/视频源674,可以服务成倍的用户端模块。
控制模块156、244、284和/或344包括判定每一个用户端访问权限的处理方法。这类的权限包括家长控制特征、访问时间、访问次数等。这样,控制模块在向调谐模块提供选择命令前,判定每一个用户端选择请求是否有效。这个特点赋予多媒体通讯系统的操作人员一种控制权,控制每个用户端模块对音频/视频源674的访问、每天的访问次数和/或访问时间。
图24说明的是一种向局域网提供多媒体服务的方法的逻辑图。在前面的图中描述的任何一个多媒体服务器都可以采用这种方法。因此,在图24中说明的操作步骤,可以在多媒体服务器12,42,88,102,132和/或700应用。
当接收到来自至少一个多媒体源的若干频道的时候,处理过程开始。多媒体源可以是卫星连接、电缆连接、NTSC制式天线连接、PAL制式天线连接、高清晰度电视连接、标准清晰度电视连接、无线电连接,等等。而且,这些频道可以来自若干单频道源,如DVD播放机、录像机、闭路电视、激光磁盘播放机、可携式摄像机、数字音频存储设备(如MP3播放机)、DVD音频播放机、CD播放机,等等。这些频道被连续接收,但只有用户端选择一个或若干频道的时候,才开始被处理。
程序进入步骤712。通过一个通讯通道,接收到来自至少一个用户端模块的一个选择请求。如已在图20-22中所讨论,通讯通道可以是射频连接、红外线连接和/或有线线路连接。选择请求可以来自一个用户端模块或者若干用户端模块,每个用户端可以请求访问不同的频道、相同的频道或者它们的任意组合。选择请求包括特定用户端模块的标识、特定频道的标识和/或该频道的所属源的标识。这样,选择请求包含充足的信息,使多媒体服务器判断特定频道的特定音频/视频源和所需要的频道。例如,选择请求可能显示一个卫星广播的频道5是某个用户端模块的感兴趣的频道。
然后进入步骤714,多媒体服务器内的控制模块从选择请求中生成一套选择命令。因此,对从用户端模块收到的每个选择请求,如果请求有效,控制模块生成一个相应的频道选择命令。这样,如果只有一个用户端模块提供了一个选择请求,也只有一个选择命令生成。业内普通技术人员会懂得,选择命令不会从一个选择请求中重复生成,选择命令通常只生成一次并保持住,直到接收到替代的选择请求或终止请求。
生成一套频道选择命令的过程,会在涉及到步骤722-724时作进一步描述。在步骤722,通过采用一种特定的数据传输协议,解码选择请求。数据被编码,采用下列编码方法的一种:曼彻斯特编码、反向不归零制编码、多级编码、块编码、nB/mB编码(n<m),等等。然后,编码化数据被调制,采用的调制方法可以是时分多路技术(TDM)、频分多路技术(FDM)、移幅键控(ASK)、移相键控(PSK),等等。因此,要重捕原始的选择请求,数据必须被解调和解码。
然后进入步骤724,解释选择请求,生成频道选择命令。解释选择请求包括一个认可程序,对特定用户端模块的确认,对用户端模块有效性的判定。如果用户端模块是一个授权的用户端模块、所请求的服务在该用户端的权限之内,控制模块将生成相应的频道命令。
返回图24的主流程,进入步骤716。调谐模块基于这套频道选择命令,从若干频道中选出一套频道。例如,如果只有一个频道选择命令,调谐模块将为这个频道选择命令选择一个相应的频道。如果两个频道选择命令被提供给调谐模块,调谐模块选出两个频道,每个选择命令一个。
继续进入步骤718,这套频道被混频成频道数据流。混频频道数据,采用的方式要能够标识频道数据的来源、频道数据的目的地、选择请求和/或任何其它保证用户端模块受到相应数据的标识性信息。业内普通技术人员就理解,频道数据流可以保存在多媒体服务器的硬驱,已备以后提取和/或使用。这样多媒体服务器,通过一个硬驱和相应的软件,可以发挥一个数字录像机的功能,或相似的功能。
程序然后进入步骤720,频道数据流被通过一个通讯通道发送给若干用户端模块。如前所述,通讯通道可以是有线线路连接、射频连接和/或红外线连接。在涉及步骤726时,将对频道数据流的传输做更进一步的说明。
在步骤726中,频道数据流被格式化,以便通过多媒体服务器的收发模块进行发送。数据的格式化包括用以下方式编码数据:多级编码、反向不归零制编码、曼彻斯特编码、块编码、nB/mB编码(n<m)。例如,nB/mB编码可以是4B/5B编码,在此情况下,4比特的是实际数据转化为5比特的编码后数据。另外,基于多媒体系统采用的特定的数据传输协议,编码化数据被通过以下一种或几种调制方式调制:时分多路技术(TDM)、频分多路技术(FDM)、移幅键控(ASK)、移相键控(PSK)、脉码调制(PCM)、正交移相键控(QPSK)、正交幅度调制(QAM)。数据流的编码化还包括把频道数据流转化成模拟信号,以模拟格式传输给一个或若干用户端模块。转换模拟信号可以和格式化频道数据流的传输平行进行。这样,代表频道数据流的数字信号和模拟信号都可以传送到用户端模块。因此,模拟信号可以通过与数字信号不同的通讯通道发送。另外,基于前面图20-22中讨论的用户端模块和多媒体服务器的耦合情况,可以采用若干通讯通道。
业内普通技术人员会懂得,多媒体服务器提供给若干用户端模块的是单路数据流。这个频道数据流包括这些用户端模块每个选择对应的数据。因此,每个用户端模块接收全部频道数据流,但只抽取服务于它的特定选择请求的相关数据。
图25说明的是一种方法的逻辑图。该方法进一步描述了在通讯通道是有线线路连接的情况下,图24中的步骤720。处理过程始于步骤730,判定发送间隔和接收间隔。判定由多媒体内的控制模块基于通讯负载、预定的分配间隔等的作出。另外,发送间隔和接收间隔还取决于采用的是单路的通讯通道,还是单独的发送和接收通道。
程序接着进入步骤732和736。在步骤732,频道数据流基于收发类型被格式化。收发方式与采用的调制方式相对应,可以是时分多路技术(TDM)、频分多路技术(FDM)、移幅键控(ASK)、脉码调制(PCM)、移相键控(PSK),等等。程序接着进入步骤734,格式化频道数据被通过有线线路连接,在一个或若干发送间隔,提供给至少一个用户端。
在步骤732中,多媒体服务器通过有线线路连接,在接收间隔接收格式化选择请求。选择请求基于多媒体通讯系统采用的收发类型被格式化。收发类型与采用的调制方式相对应,可以是时分多路技术(TDM)、频分多路技术(FDM)、移幅键控(ASK),等等。
图26说明的是经由此通讯通道的发送间隔和接收间隔的图解。如图所示,通讯通道746把多媒体服务器738和若干用户端模块740-744耦合起来。注意多媒体服务器738可以是图1-11和23中描述的任何一个多媒体服务器。用户端模块740-744可以是图1-11中描述的任何一个用户端模块。通讯通道746可以是有线线路连接、射频连接和/或红外线通道。
如图,经由通讯通道746传输数据,可以用包和/或帧。包和/或帧的传送被分成发送间隔748、752、756与接收间隔750、754。在发送间隔748、752、756,多媒体服务器把频道数据流发送给若干用户端模块740-744。在接收间隔750、754,一个或若干用户端模块740-744把选择请求发送给多媒体服务器。
用户端模块740-744基于下列任何一种方式,进入接收间隔750、754:载波侦听多址接达(CSMA)、权标传递、多媒体服务器738轮流检测、时分多路技术(TDM),等等。因此,发送间隔748和接收间隔750之间的比率可以根据需要进行设定和分配。例如,可以每10-20次发送间隔748、752、756,出现接收间隔750、754。作为选择,发送间隔和接收间隔也可以基于载波侦听多址接达(CSMA)进行严格分配,在这种情况下,多媒体服务器738和每个用户端模块740-744监控通讯通道的传送。如果通道可用,特定实体采用避免冲突的载波侦听多址接达(CA)和/或带有检测冲突的载波侦听多址接达(CD),传送数据。业内普通技术人员会懂得,通过多媒体服务器738和若干用户端模块740-744之间的通讯通道746,可以采用许多种方式传输数据,以保证频道数据流可以被用户端模块740-744接收到,同时用户端模块740-744可以充分进入通讯通道746,提出选择请求和/或改动选择。再比如,多媒体服务器738可以在频道数据流内广播,什么时候通讯通道746可供用户端模块发送选择请求。而且,多媒体服务器738的这种广播包括某个用户端模块的标识,以及用户端模块分配到的接入通讯通道的时间。
图27说明的是图24中,当通讯通道是射频通道时,进一步处理步骤720的一种方法的逻辑图。处理过程始于步骤760,多媒体服务器判定发送间隔和接收间隔。这在涉及图26时已作过描述。程序继续进入步骤762或者766。在步骤762,频道数据流基于收发类型被格式化。程序继续进入步骤764,格式化数据经由射频通讯通道,在发送间隔,被提供给至少一个用户端。
在步骤766,多媒体服务器在接收间隔在射频通讯通道上接收格式化选择请求。选择请求基于收发类型被格式化。
图28说明的是图24中,当通讯通道是红外线通讯通道时,进一步描述步骤720的一种方法的逻辑图。处理过程始于步骤770,判定发送间隔和接收间隔。程序继续进入步骤774和776。在步骤772,频道数据流基于收发类型被格式化。程序继续进入步骤774,格式化数据经由红外线通讯通道,在发送间隔,被提供给至少一个用户端。
在步骤776,多媒体服务器在接收间隔在红外线通讯通道上接收格式化选择请求。选择请求基于收发类型被格式化。
图29说明的是一个调谐模块825的方框图,它可以作为图12、14-16中的调谐模块150、240、280和/或340来使用。调谐模块825包括一组选择器780-786、一个编码模块804、一个提供与共享总线824连接的总线接口806。总线824是与图12、14-16讲到的多媒体服务器的频道混频器处理模块和其它元件来共享。选择器780-786可以是图12所示的若干调谐器、图14所示的多路复用器、图15所示的多路复用器和调谐器的结合和或图16所示的高清晰度电视调谐器。因此,选择器780-786取决于若干频道787提供的特定源。
编码模块804包括若干缓存器808-814,一个编码器816、一个缓存控制器818和一个分包模块820。缓存器808-814可以是物理隔断的存储设备,或者是逻辑隔断的存储设备。每一个缓存器808-814的功能就象一个环形缓存器。缓存控制器818管理每个缓存器808-814,包括跟踪首尾指针跟踪、读写控制。
如图,每个选择器780-786耦合在一起来接收若干频道787。基于各自的频道选择命令796-802,每个选择器780-786输出一个单独的选定频道788-794。若干频道787可以由前面图1-11描述的多媒体来源提供。业内普通技术人员会懂得,调谐模块825包括的选择器780-786可多可少。而且,如果只有数量有限的用户端模块访问多媒体服务器,一个或若干选择器780-786会空出来。因此,通过缓存控制器818,编码模块804能够知道哪一个选择器780-786正在运转并提供选定频道数据788-794。
缓存控制器818协调把选定频道788-794的数据写入各自的缓存器808-814。而且,缓存控制器818协调把每个缓存器808-814的数据读入编码器816。编码器816执行一种特定的编码功能,如多级编码、反向不归零制编码、曼彻斯特编码、块编码、nB/mB编码(n<m)。通常,编码器816用来提高从调谐模块825到多媒体服务器的频道混频器的数据发送的准确性。业内普通技术人员会懂得,当选定频道数据可以准确地发送到频道混频器时,可以跳过编码器816。
分包模块820分包编码化数据,生成若干包。每个包包含标题部分和数据部分。标题部分包括选定频道的标识、选定频道的数据类型(如音频、视频、文本等)、多媒体源的标识、是否加密、加密类型、是否压缩、压缩类型和/或包序号。包被提供给含有收发模块826的总线接口806。总线接口把编码化频道822的包提供给共享总线824。
另外,总线接口806通过收发模块826接收包828,并进行处理以提取频道选择命令830。频道选择命令830由单个频道选择命令796-802组成。收发模块包括一个解码器,解码包里的数据,以重捕每个频道选择命令的至少一部分。解码与用户端采用的编码相反。
图30说明的是一个调谐模块840的方框图,它可以用于图12、14-16中的任何一个多媒体服务器。调谐模块840和图29中的调谐模块825非常相似,不同的是调谐模块840包括一个装帧模块,而不是分包模块820。另外总线接口806包括一个监控模块844,取代了收发模块826。装帧模块842接收编码化频道数据,把每个选定频道的数据装帧成包含标题部分和数据部分的帧。标题部分包括选定频道的标识、选定频道的数据类型(如音频、视频、文本等)、多媒体源的标识、是否加密的标识、采用的加密类型、是否压缩的标识、压缩类型和/或帧序号。
总线接口806接收装帧化数据,并作为编码化频道802提供到共享总线824。另外,总线接口806从共享总线接收帧846。监控模块844在特定的时间间隔解释帧846,抽取频道选择命令848。
图31说明的是调谐模块850的另外一个实施例的方框图。它可以用于图12、14-16中说明的的任何一个多媒体服务器。调谐模块850包括一组选择器780-786、一个数据压缩模块862,一个加密模块860、编码模块804、总线接口806、总线控制器870、一个解码模块852、一个解密模块864和一个解压缩模块868。总线接口806通过总线控制器870来控制,它控制频道选择命令的接收,还控制编码化频道数据的发送。
在运行中,调谐模块850通过总线接口806,从共享总线824接收选择命令。总线接口806把接收到的频道选择命令提供给解码模块852。解码模块852包括一个拆帧或拆包模块854、解码器856和一个缓存器858。拆帧或拆包模块854从接收到的帧或包里抽取数据。拆帧或拆包后的数据被提供给解码器856。解码器利用用户端模块里编码器的逆功能重捕选择请求的原始数据。这样,如果用户端模块采用曼彻斯特编码,解码器就采用逆曼彻斯特编码功能来重捕数据。重捕的数据存在缓存器858。
如果数据是非加密的和未压缩的,那么重捕的数据被提供给控制模块156、244、284和/或344。基于频道选择请求,控制模块生成一组频道选择命令796-802。控制模块把频道选择命令提供给若干选择器780-786。
但是,如果数据是加密的和/或压缩的,那么重捕的数据被提供给解密模块864。解密模块864基于采用的编码/解码方式解码数据。例如,如果用户端模块采用数据加密标准(DES)的加密技术。解密模块会采用相应的解密方式来重捕数据。
如果数据也是压缩的,解码数据或者来自缓存器858的数据被提供给解压缩模块868。解压缩模块868采用与压缩数据相反的功能。这样,重捕的数据,已经被解密和/或被解压缩,被提供给控制模块。控制模块生成相应的频道选择命令796-802。
选择器786-780基于各自的频道选择命令796-802,从若干频道787中输出一个选定频道788-794。若干选定频道788-794被提供给数据压缩模块862、加密模块860和/或直接给了编码模块804。
如果选定频道788-794需要被压缩,数据压缩模块862利用一种数据压缩方式压缩数据。数据压缩方式可以是拉链型功能或者其它知名的压缩技术。如果压缩数据也需要加密,它就被提供给解密模块860。如果压缩数据不需要加密,它就直接被提供给编码模块804。
如果数据需要加密,加密模块860利用采用一种加密方法对选定频道788-794的数据进行加密。加密方法可以是知名加密方法的任何一种,如DES(数据加密标准)、PGP(极好保护)等。加密数据860接着被提供给编码模块804。编码模块804随后编码数据,并把编码化数据提供给总线接口806,以供在共享总线824上发送。前面提到,编码模块804的编码器可以被跳过,因此加密的数据可以不经编码直接发送到共享总线。
图32说明的是一个可作为选择的调谐模块880的方框图,它可以用在图12、14-16解释的任何一个多媒体服务器中。调谐模块880包括一个处理模块882和存储器884。处理模块882可以是一个单独的处理设备或者一组处理设备。这种处理设备可以是微处理器、微控制器、微型计算机、数字信号处理器、可编程门阵列、中央处理器、状态机、逻辑电路和/或其它可以基于操作指令处理信号(模拟和/或数字)的任何设备。存储器884可以是单个的存储设备,也可以是一组存储设备。这样的存储设备可以是只读存储器、随机存取存储器、闪存储器、磁带存储器、系统存储器、可删只读存储器和/或其它任何可存储数字信息的设备。值得注意的是,当处理模块882通过状态机或逻辑电路执行一项或多项功能的时候,存有相应指令的存储器是嵌在状态机或逻辑电路的电路中的。存于处理器884并被处理模块882执行的操作命令,在涉及前面的图时已大致讨论过,并将在涉及图33-37时进一步阐述。
图33说明的是一种在多媒体系统中通过调谐模块多路复用频道的方法的逻辑图。程序开始于步骤890,接收到来自一个多媒体源的若干频道。若干频道的接收还包括下列一种或若干:接收来自卫星连接的每个频道的音频和视频数据,接收来自机顶盒的每个频道的音频和视频数据,接收来自电缆连接的每个频道的音频和视频数据,接收来自高清晰度电视接收器的每个频道的音频和视频数据,接收来自天线连接的每个频道的音频和视频数据,这些天线接收NTSN制式、PAL制式广播等。因此,这些频道可以来自一个多媒体源,或者若干多媒体源。
程序随后进入步骤892,接收到若干频道选择命令。这些频道选择命令源自若干用户端模块提供的选择请求,其中每个频道选择命令在若干频道中标识出一个特定的频道。程序接着进入步骤894,每个频道选择命令在若干频道中选出一个频道。注意选定的频道可以来自多媒体源中的任何一个。
程序随后进入步骤896,基于多媒体系统的数据传输协议,编码每个选定频道。编码可以是多级编码、反向不归零制编码、曼彻斯特编码、块编码和/或nB/mB编码(n<m)。
业内普通技术人员会懂得,高清晰度电视、卫星接收器、机顶盒等一般采用MPEG视频数据。这样,在为NTSC制式频道分离的典型的6MHz频带中,压缩视频包括频段相同的若干频道。因此当某个频道被从一个多媒体源选出时,需要提取若干压缩频道。因此每个压缩频道象在步骤896中描述的那样被编码。业内普通技术人员也会懂得,在步骤896编码前,可以采用一种压缩技术压缩数据和/或采用一种加密技术对数据加密。
程序接着进入步骤898,编码化数据被传输到频道混频器。通过把每个选定频道的数据装帧成包含标题部分和数据部分的帧,来实现编码化数据的传输。作为选择,编码频道数据也可以装成含有标题部分和数据部分的包。无论是包还是帧的标题部分都包括选定频道的标识、选定频道的数据类型、多媒体源的标识、是否加密、加密类型、是否压缩的标识、压缩类型和/或包或者帧的号码。
图34说明的是一种方法的逻辑图。该方法进一步说明图33步骤892中大致描述的频道选择命令的接收。程序始于步骤900,接收来自若干用户端模块的频道选择请求。程序继续进入步骤902,处理频道选择请求并生成若干频道选择命令。每个频道选择命令包括特定频道选择命令、最后频道选择命令、下一个频道选择命令、上个频道选择命令、喜爱频道选择命令、以及从用户定义的目录中选择频道。通过用户端和/或多媒体服务器内一个默认的处理方案,这样一个命令和特定的请求对应。因此当某一个用户提出了选择请求,调谐模块将按照一个特定的多媒体频道选择方式,解释此请求。
若干选择请求的处理可以在步骤904-909的一步或几步完成。在步骤904,解释频道选择请求以识别至少一个用户端。而且,解释请求以判定正在做出的特定选择请求。基于这个信息,生成频道命令。
在步骤906,鉴别发出选择请求的用户端。这个鉴别首先要判定用户端是否是多媒体服务器的有效用户端。在步骤908,鉴定一个用户作出的特定的频道选择请求。完成这一步,要判定用户端是否有权限访问所请求的特定频道,请求是否是在一天中认可时间发出和/或是否超出了访问多媒体源的分配时间。另外,鉴定特定频道请求还包括判定用户端是否被授权从多媒体源购买所请求的频道(如用户端是否被授权访问付费预览频道)和或该用户端是否超出了多媒体服务器设立的账户限制。
图35说明的是图33步骤892中接收频道选择命令的一种方法的逻辑图。程序始于步骤910、916和/或步骤922。在步骤910,调谐模块监控共享总线上的包。如前所述,这些包含有标题部分和数据部分。程序接着进入步骤912,调谐模块识别至少一个包,包里含有一个频道选择命令的至少一部分。
程序继续进入步骤914,调谐模块基于多媒体系统的数据传输协议,解码这个包,并重捕一个频道选择命令的至少一部分。这个解码过程包括解释标题部分,从数据部分抽取数据,判定所抽取的数据包含了一个频道选择命令的全部数据还是部分数据。如果抽取的数据是一部分选择请求,就缓存起来,直到接收完与该频道选择有关的全部数据。
在步骤916,调谐模块在共享总线的特定时间间隔监控相关数据的帧。程序继续进入步骤918,调谐模块在一个或特定的时间间隔识别包含频道选择命令至少一部分的数据帧。程序接着进入步骤920,调谐模块基于数据传输协议解码数据帧,重捕频道选择命令的至少一部分。解码包括解释标题部分,从数据部分抽取数据,判定数据包含了一个完整的频道选择命令还是一部分。如果是一部分,数据就被缓存起来,直到接收完整个频道选择命令。
在步骤922,调谐模块解密每个频道选择命令。而且,在步骤924,调谐模块解压缩每个频道选择命令。
图36说明的多媒体系统中用调谐模块多路复用若干频道的另外一种方法的逻辑图。程序始于步骤930,从若干多媒体源接收到到一个频道,以生成若干频道。多媒体源可以是一个DVD播放器、CDV播放器、可携式摄像机、VCR、DVD音频播放器,等等。程序接着进入步骤932,调谐模块接收若干频道选择命令。程序继续进入步骤934,调谐模块为接收到的每个频道选择命令,从若干频道中选出一个频道。
程序继续进入步骤936,调谐模块基于多媒体系统的数据传输协议,编码每个选定频道。编码方法包括多级编码、反向不归零制编码、曼彻斯特编码、块编码、nB/mB编码(n<m)。注意在编码前,每个选定频道的数据可以先压缩和/或加密。数据可以包的形式被传输,采用的方式包括载波侦听多址接达(CSMA)、避免冲突的载波侦听多址接达(CA)和/或以及带有检测冲突的载波侦听多址接达(CD)。作为选择,数据也可以帧的形式被传输。在时分多路技术中,帧将在特定的时隙被发送,而在频分多路技术中,帧将在特定的频位被发送。
图37说明的是图36步骤932进一步处理的逻辑图。在步骤940,调谐模块接收来自若干用户端模块的频道选择请求。程序接着进入步骤942,调谐模块和/或控制模块处理这些选择请求,生成若干频道选择命令。频道选择请求的处理可以按照步骤944、946和/或948描述的那样来完成。
在步骤944,控制模块解释频道选择请求,识别特定的用户端模块和发出的特定请求。如果两个都有效,就生成频道选择命令。
在步骤946,控制模块鉴别特定频道选择请求的用户端。通过鉴别,来核实该用户端是多媒体系统的授权用户。
在步骤948,控制模块鉴别特定的频道选择请求。频道选择请求的鉴定包括家长控制限制、订阅确认、账户限制、请求的时间和/或在规定时间内访问多媒体服务的数量。
图38说明的是一个频道混频器950的方框图。频道混频器950可以用于图1-15所描述的任何一个多媒体服务器。频道混频器950包括一个析流模块951、存储控制器952、存储器956和一个数据转码模块954。
析流模块951经过耦合,接收来自调谐模块的编码频道数据958。析流模块951解码编码频道数据958,重捕原始数据。接着,析流模块951把每个选定频道的数据转化成通用数据960。析流模块951通过存储控制器952把通用数据960保存在存储器956。
析流模块951通过转码模块954传输控制信息964和数据966。控制信息包括频道选择请求968。这样,基于此包括频道选择请求的控制信息,析流模块951处理编码频道数据958,生成通用数据960。
数据转码模块954通过存储控制器952从存储器956中提取通用数据960。数据转码模块954把通用数据960转换成数据流962。通用数据960的转换取决于数据的具体类型。例如,如果视频数据可以数字RGB数据、数字YCRCB数据、数字化视频等保存。转码模块提取通用视频数据,把它转换成一种特定格式的视频数据,如MPEG2,并作为数据流962提供出去。
如果数据是音频数据,音频数据以通用脉冲编码调制(PCM)音频数据保存在存储器956。数据转码模块954把通用脉冲编码调制(PCM)数字化音频数据转换成MP3数据、MPEG音频数据等。如果编码化频道数据958包括网络数据,网络数据穿过析流模块951,存于存储器956。数据转码模块提取网络数据,并作为数据流962放过去。
图39说明的是一个频道混频器980,它与多媒体服务器的主设备元件操作性耦合。频道混频器980可以是前面描述的多媒体服务器应用的任何一个频道混频器。主设备包括系统总线976、主处理器970、存储桥972和系统存储器974。主设备可以是一台个人电脑、膝上型电脑、卫星接收器、机顶盒、家庭影院接收器、无线电接收器、录像机、DVD,等等。
频道混频器980包括一组析流模块951、存储控制器952和数据转码模块954。析流模块951与调谐模块984操作性耦合。调谐模块984把编码化频道数据958提供给频道混频器980。在这种状态,每个析流模块951为一个特定的用户端模块处理一个特定的频道选择请求。
每个析流模块951通过存储控制器952,向存储器956提供通用数据960。转码模块954把通用数据960转换成数据流962,并通过系统总线976提供给收发模块982。
收发模块982包括一个编码器和调节器,用来准备向用户端模块发送的数据流。另外收发模块包括一个解调器和解码器,用来接收若干用户端模块发来的频道选择命令。
收发模块982通过系统总线接口977,向频道混频器980提供频道选择命令。耦合后,主处理器970通过存于系统存储器970的计算程序,对多媒体服务器执行系统操作功能。这种系统级功能可以是系统多媒体源的分配、因特网访问管理、用户端-用户端通讯、电话通信,等等。系统级功能将在涉及图57-65时更具体地描述。
图40说明的是可以在前面讨论的任何一个多媒体服务器中应用的另一个频道混频器1000的方框图。频道混频器1000包括析流模块951,甚至可以包括若干析流模块951,一个数字模拟转换器1006,一个编码指令包模块998,反离散余弦变换模块1027,移动补偿1023和转码模块954。对视频信号来说,转码模块954包括一个MPEG解码模块1004和一个MPEG编码模块1002。对音频信号来说,转码模块954包括一个PCM解码模块和一个PCM编码模块。
MPEG编码模块1002包括一个动态预测器1018、一个离散余弦变换模块1020、一个量化器1022、之字模块1021、一个霍夫曼编码器1024和一个比特输出单元1026。MPEG解码模块1004包括一个反之字和反量化器模块1010,反离散余弦变换模块1012、一个宏块缓冲器1014和一个动态补偿和缩放模块1016。动态补偿和缩放模块1016和动态预测器1018的功能在已受理的专利申请中有进一步的描述,它们的题目是ADAPTIVE BANDWIDTH FOOTPRINT MATCHINGFOR MULTIPLE COMPRESSED VIDEO STREAMS IN A FIXEDBANDWIDTH NETWORK和DEVICE AND METHOD FORCOMPRESSION OF A VIDEO STREAM,摘要号码分别是VIXS001和VIXS002。MPEG解码模块1004和MPEG编码模块1002的其它元件为大家所知,因此以后除了在进一步解释本发明的概念的时候,将不再进一步讨论。
每个析流模块包括一个处理器992、一个比特输入单元996、存储控制器952、存储器956、一组比特流模块990,一个直接存储器存取接口1028和一个霍夫曼解码器1008。每个比特流模块990包括一个解释器994。在运行中,每个比特流模块990都耦合起来,以处理编码化频道数据958的一个感兴趣的频道。解释器994用来识别特定比特流模块需要处理的频道是哪个。解释器994然后过滤出感兴趣的频道,滤除其它频道。每个比特流模块990的输出通过存储控制器,保存在存储器956。
处理器992从存储器956中提取每个感兴趣的频道的数据,并转化成通用数据960。处理器992通过存储控制器,使通用数据960存于存储器956。处理器992可以利用比特输入单元996,以比特流方式从存储器956中提取数据的字节。这样,比特输入单元996发挥的作用是,把存于存储器中的数据字节,转换成处理器处理的数据比特。比特输入单元996可以被处理器992用来从存储器956中提取任何类型的数据。
MPEG编码模块1002在编码指令包模块998的控制下提取通用数据960。动态预测器1018接收通用数据960,由此生成移动补偿数据。移动补偿数据被提供给DCT模块1020,DCT模块1020对数据进行离散余弦转换,生成DCT数据。在把已处理数据提供给霍夫曼编码器1024之前。量化器和之字模块1022接收DCT数据,并对其进行量化和之字处理。霍夫曼编码器编码数据,生成特定格式的数据。这些数据又通过存储控制器952,经由比特输出单元1026,被送回存储器956。比特输出单元1026把从霍夫曼编码器1024接收的比特进行转换,以数据字节的形式提供给存储控制器952
存储控制器952从存储器956提取MPEG编码化数据,并通过直接存储器存取(DMA)接口,作为数据流962把它提供给系统总线976。收发模块从系统总线提取数据流962,并象在前面讨论的那样对其进行处理。
MPEG解码模块1004用来解码引入的MPEG数据并生成通用数据960,和/或解码从用户端模块接收的MPEG编码化数据。MPEG解码模块1004根据解码指令包模块998的指令,接收编码化数据。通过反之字和反量化器模块1010对其进行反之字和反量化处理。反之字和反量化处理的数据被提供给反离散余弦变换模块1012,反离散余弦变换模块1012在数据之上执行反离散余弦变换功能。作为结果的数据,接着被提供给宏块缓冲器1014,或者通过存储控制器952提供给存储器956。动态补偿和缩放模块1016,在解码指令包模块998的控制下,从宏块缓冲器1014或者存储器956中提取数据,在其上执行移动补偿和比例功能。然后,作为结果的数据或者被发回存储器956,或者提供给MPEG编码模块1002。
数字模拟转换器1006耦合后,用来接收数据流962,并把它转换为模拟信号1030。模拟信号1030可以提供给仍然在用模拟格式收发的古董型用户端设备。
图41说明的是可以在前面讨论的任一多媒体服务器中应用的另外一个频道混频器1040的方框图。频道混频器1040包括一个处理模块1042和存储器1044。处理模块1042可以是单个的处理设备,也可以是一组处理设备。这样的设备可以是微处理器、微控制器、微型计算机、中央处理器、数字信号处理器、可编程门阵列、逻辑电路、状态机和/或其它可以基于操作程序处理信号(模拟和/或数字)的任何设备。存储器1044可以是单个的存储设备,也可以是一组存储设备。这样的存储设备可以是只读存储器、随机存取存储器、系统存储器、闪存储器、磁带存储器、硬驱存储器和/或其它任何可存储数字信息的设备。值得注意的是,当处理模块1042通过状态机或逻辑电路执行一项或多项功能的时候,存有相应操作指令的存储器是嵌在包含状态机或逻辑电路的电路中的。频道混频器执行的功能,在前面的图有大致描述,在图42-49中将描述其更进一步的操作功能。
图42说明的是在多媒体系统中混频频道的一种方法的逻辑图。程序始于步骤1050,以编码化频道数据的形式接收到一套频道。程序继续进入步骤1051,频道混频器解释编码化频道数据,为所处理的每个频道选择请求识别一个感兴趣的频道。例如,这套频道可能是从一个调谐模块那里,作为包含编码化频道数据的包接收到的。每个包包括标题部分和有效荷载部分。通过重读标题部分,可以解释编码化频道数据,识别特定的感兴趣的频道。感兴趣的频道的识别基于频道数据源的标识、请求它的用户端的标识和/或处理该频道选择的多媒体源。
如果感兴趣的频道被包含在一组压缩视频频道中(MPEG2编码化视频数据常常如此),则基于传输编码化频道数据的包中含有的标题信息,从这组压缩视频频道中提取感兴趣的频道。特定的感兴趣的频道被识别后,就被从这组压缩视频数据中隔离出来。
参考步骤1056-1060,可以更进一步地解释步骤1051。在步骤1056中,频道混频器解释编码化频道数据,并基于一系列频道选择请求,从这套频道中识别出一套相应的感兴趣的频道。换言之,频道混频器为所处理的每个频道选择命令,识别各自的感兴趣的频道。程序继续进入步骤1058,频道混频器基于频道类型,处理这组频道中每一个的数据,生成一系列通用数据。频道类型可以是音频数据、视频数据、文本数据和/或它们的结合。程序继续进入步骤1060,这一系列通用数据被转换成一个数据流。
返回图42的主流程,说明一个单独的频道选择请求的处理。程序进行到步骤1052,频道混频器基于频道类型处理感兴趣的频道的数据,生成通用数据。处理过程包括解码数据,过滤数据以隔离特定的感兴趣的频道,然后基于数据类型把数据转换成通用数据。例如,当数据类型是多通道压缩视频,处理过程包括筛选多通道压缩视频以产生感兴趣的频道。感兴趣的频道接着被转换成通用数据,参考图43-44时将对此作更具体的描述。
接着讲数据类型的例子,当数据类型是单通道压缩视频时,处理过程包括把单通道压缩视频作为感兴趣的频道通过。当数据类型是多通道数字化视频数据时,多通道数字化视频数据被筛选出来,生成感兴趣的频道;当数据类型是单通道数字视频数据时,它被作为感兴趣的频道通过;当数据类型是多声道数字音频时,它被筛选出来,生成感兴趣的频道;当数据类型是单声道数字音频时,它被作为感兴趣的频道通过;当数据类型是网络载波数据时,它被作为感兴趣的频道通过。这样,感兴趣的频道被转换成通用数据。程序继续进入步骤1054,通用数据被转换成数据流。
图43说明的是一种方法的方框图,该方法对图42步骤1052中大致描述的感兴趣的频道的数据处理作了更进一步的描述。这个处理可以在步骤1070-1082中的任何一步或几步完成。在步骤1070,频道混频器在数据类型是多通道压缩视频时,把感兴趣的频道的视频数据转换成通用视频数据。通常,多通道压缩视频通过卫星连接被接收,数据是MPEG或者其它MPEG标准化标码。
在步骤1072,频道混频器在数据类型是单通道压缩视频时,把感兴趣的频道的视频数据转换成通用视频数据。单通道压缩视频可以来自DVD播放机,或者其它生成MPEG2单频道或其它MPEG标准编码视频数据数据的来源。
在步骤1074,频道混频器在数据类型是多通道数字化视频数据时,把感兴趣的频道的视频数据转换成通用数据。多通道数字化视频数据可以从若干NTSC制式电视调谐器等接收。
在步骤1076,频道混频器在数据类型是单通道数字视频数据时,把感兴趣的频道的视频数据转换成通用视频数据。单通道数字视频数据可以通过以下方式接收:录像机的输出,DVD播放器对标准天线的输出,电视机的电缆连接,NTSC制式电视调谐器,等等。
在步骤1078,频道混频器在数据类型是多声道数字化音频时,把感兴趣的频道的音频数据转换成通用音频数据。多声道数字化音频信号可以通过卫星广播或若干数字化音频源接收到,如CD播放器、DVD音频播放器等。
在步骤1080,频道混频器在数据类型是单声道数字化音频时,把感兴趣的频道的音频数据转换成通用音频数据。单声道数字化音频可以通过下列接收:CD播放器、MP3播放器、存有数字化音频的系统存储器、DVD音频播放器,等等。
在步骤1082,在所处理的数据是网络数据时,频道混频器把网络数据作为感兴趣的频道放过。网络数据对应正在访问因特网、通过PSTN电话交谈和/或用户端-用户端通讯的一个或若干用户端模块,
图44说明的一个逻辑图,进一步解释当数据被转换成通用视频数据时,图42步骤1052的数据处理。
在步骤1084,频道混频器把感兴趣的频道的视频数据转换成MPEG格式的视频数据。这里的视频数据可以是多通道压缩视频、多通道压缩视频、多通道数字化视频数据和/或单通道数字视频数据。
在步骤1086,频道混频器把感兴趣的频道的视频数据转换成JPEG格式的视频数据。在步骤1088,频道混频器把感兴趣的频道的视频数据转换成M-JPEG格式的视频数据。
在步骤1090,频道混频器把感兴趣的频道的视频数据转换成数字RGB视频数据。数字RGB视频数据可以存于关联的多媒体服务器存储设备、存于主系统存储器等。
在步骤1092,频道混频器把感兴趣的频道的视频数据转换成数字YCBCR视频数据。数字YCBCR视频数据可以存于多媒体服务器存储器、与多媒体服务器关联的主系统存储器等。
业内普通技术人员会懂得,这些来自若干多媒体源的引入视频数据,可以是多种视频格式,包括数字化视频MPEG1、MPEG2及模拟格式等。频道混频器把不同格式的视频数据转换成通用视频格式,可以是MPEG、JPEG、M-JPEG、数字RGB视频数据、YCBCR视频数据和/或其它任何用数字化格式保存视频信息的传统技术。
图45说明的是一种方法的逻辑图,该方法进一步解释当音频数据被转换成通用音频数据时,图42步骤1052中的数据处理。这个处理可以通过采用步骤1100-1104中的任何一步或几步完成。
在步骤1100,频道混频器把感兴趣的频道的音频数据转换成MPEG格式音频数据。在步骤1102,频道混频器把感兴趣的频道的音频数据转换成MP3格式音频数据。在步骤1104,频道混频器把感兴趣的频道的音频数据转换成PCM数字化音频数据。
业内普通技术人员会懂得,多媒体服务器接收的这些音频信号有各种各样的格式。频道混频器把不同格式的音频格式转换成单路音频格式,如MPEG音频、MP3音频和/或PCM数字化音频。业内普通技术人员也会懂得,视频数据和音频数据转换成通用数据格式后,多媒体服务器更容易处理。前面已经大致描述过,在发送给若干用户端之前,对通用数据进行处理,转换成特定格式数据(如MPEG2视频和音频)。
图46说明的是一种方法的逻辑图,该方法进一步描述图42步骤1054中从通用数据到数据流的转换。程序始于步骤1110,频道混频器判定感兴趣的频道的数据类型。程序继续进入步骤1112,频道混频器基于数据类型把通用数据转换成数据流。步骤1112中的转换过程将在一个或几个步骤1114-1126里进一步描述。
在步骤1114,频道混频器在原始数据是多通道压缩视频时,把感兴趣的频道的通用视频数据转换成特定视频数据。特定视频数据与下列标准一致:MPEG2标准、MPEG1标准、任何其它MPEG标准以及其它传输数字化视频的标准程序。
在步骤1116,频道混频器在原始数据是单通道压缩视频信号时,把感兴趣的频道的通用视频数据转换成特定视频数据。在步骤1118,频道混频器在原始数据是多通道数字化视频数据时,把感兴趣的频道的通用视频数据转换成特定视频数据。在步骤1120,频道混频器在原始数据是单通道数字视频数据时,把感兴趣的频道的通用视频数据转换成特定视频数据。
在步骤1122,频道混频器在原始数据是多声道数字音频时,把感兴趣的频道的通用音频数据转换成特定音频数据。在步骤1124,频道混频器在数据类型是单声道数字音频数据时,把感兴趣的频道的通用音频数据转换成特定音频数据。注意特定音频数据可以符合MPEG2格式、MP3格式、PCM编码化音频等。
在步骤1126,频道混频器放过感兴趣的频道的网络数据,而不需要转化成一种特定格式。因此,网络数据未经转换为特定格式,就被频道混频器放过,但是它被和其它的感兴趣的频道一起混频,以生成频道数据流。
图47是一种方法的逻辑图,此方法用来把感兴趣的频道的通用视频数据转换成MPEG2特定视频数据格式。程序始于步骤1130,频道混频器在通用视频数据上执行动态预测功能,生成动态预测数据。程序继续进入步骤1132,频道混频器在动态预测数据上执行离散余弦变换,生成离散余弦变换(DCT)数据。程序继续进入步骤1134,频道混频器量化离散余弦变换数据,生成量化数据。程序继续进入步骤1136,频道混频器之字量化数据,生成之字数据。程序继续进入步骤1138,频道混频器霍夫曼编码之字数据,生成MPEG2特定视频格式数据。业内普通技术人员会懂得,步骤1130-1138为业内周知,所以以后除了在进一步解释本发明的概念的时候,将不再进一步讨论。
图48说明的是一个逻辑图,进一步解释图42步骤1052处理过程。程序始于步骤1140,频道混频器接收到显示若干频道处理的控制信号,此时感兴趣的频道是一个压缩视频信号或者是许多压缩视频频道中的一个。程序继续进入步骤1142,频道混频器解压缩这些压缩视频频道,生成若干频道。程序继续进入步骤1144,频道混频器基于频道类型处理这些频道的数据,生成若干通用数据。程序继续进入步骤1146,频道混频器把这些通用数据转换成数据流。
业内普通技术人员会懂得,通过卫星连接或其它类型的连接收到的MPEG编码化视频,通常在一个典型的6Mhz频带中包含若干频道。这样若干频道被接收到此单频道频带中。这样在此单频道带宽中频道视频在解压缩,来提取真实的视频数据。从中可以抽取感兴趣的频道并进行处理,或者带宽内的所有频道被处理成数据流。
业内普通技术人员也会懂得,数据流实质上是每个感兴趣的频道特定个是视频数据的多路复用处理。这样当两个感兴趣的频道被传输到若干用户端时,每个频道大约包含数据流的50%。因此,随着感兴趣的频道的数量增加,相应的数据流的比重下降,按比例下降。
图49说明的是多媒体通讯系统内频道混频信号的一种方法的另外一个逻辑图。程序始于步骤1150,频道混频器以编码化频道数据的形式,接收到一套频道。程序继续进入步骤1152,频道混频器解释编码化频道数据,来识别这套频道中包含的特定感兴趣的频道的数据类型。这种解释基于通过某个用户端接收的特定频道选择请求。这些编码化频道数据,是以包和/或帧接收到的,而且都包括标题部分已提供标识性信息。这样频道混频器可以恰当地识别出特定的感兴趣的频道。另外,编码化频道数据的解释还包括判定过滤的请求,以从若干频道中抽取感兴趣的频道。
程序继续进入步骤1154,频道混频器基于数据类型从若干频道中分离出感兴趣的频道。程序继续进入步骤1156,频道混频器基于数据类型处理感兴趣的频道的数据,生成通用数据。在前面图43-46时已描述过这个过程。程序继续进入步骤1158,频道混频器把通用数据转换成数据流。在前面图46-47时对此有过描述。
图50说明的是一个与用户端设备耦合的用户端模块1160的方框图。用户端模块1160可以是图1-11说明的任何用户端模块。用户端模块1160包括一个视频解码器1162和/或渲染模块1164,嵌入式动态随机存取存储器(DRAM)1168和一个网络接口控制器1166。用户端设备包括一个用户端系统总线1172、一个用户端处理器1174、存储器桥1176和用户端系统存储器1178。用户端设备可以是膝上型计算机,个人电脑、个人数字化助手、阴极射线管(CRT)显示器、平板显示器、电视机、高清晰度电视机、标准清晰度电视机(SDTV)、家庭影院系统和/或任何与音频/视频显示连接的设备。
用户端模块1160通过系统总线接口1170余用户端系统总线1172耦合。系统总线接口1170把用户端模块1180与用户端设备外面的串行和或并行端口,和/或用户端设备的内部接口耦合。这样的外部接口包括通用串行总线(USB)、串行端口、红外线(IR)端口、并行端口等。内部连接包括周边元件扩展接口(PCI)总线、交流电(AC)97接口、和/或任何允许外围元件和主设备存储桥连接的接口。
网络接口控制器1166与多媒体服务器耦合,它可以是图1-11中出现的任何一个多媒体服务器。网络接口控制器1166从多媒体服务器接收包和/或帧,为感兴趣的频道1184抽取数据1186。实际上,网络接口控制器1166在与多媒体服务器的通信通道上监控包,识别接收地址为用户端模块1160的包。当这样的包和/或帧识别出来后,网络接口控制器从所收到的包和/或帧中抽取数据1186,并把数据提供给视频解码器1162和/或渲染模块1166
视频解码器1162解码数据1186,生成显示数据。显示数据可以存于嵌入式存储器1168。渲染模块1164从嵌入式存储器1168中抽取显示数据,并作为渲染视频图像1188提供个用户端设备。这样渲染模块1164准备了供用户端显示设备进行显示的数据。
图51说明的是一个用户端模块1175的更详细的方框图,它可以用于图1-11中出现的任何一个用户端模块。用户端模块1175包括一个渲染模块1164、存储控制器1216、存储设备1168、内部总线1201、视频解码器1162、网络接口控制器1166、请求模块1212、视频处理器1198、视频照相机196、至少一个扬声器1214、麦克风1194和音频处理器1192。视频解码器1162包括霍夫曼解码器1202、反之字和反量化器模块1204,一个反离散余弦变换模块1206,宏块缓冲器1208和动态补偿和缩放器。视频解码器1162的功能为大家所知,所以以后除了在进一步解释本发明的概念的时候,将不再进一步讨论。
网络接口控制器1166包括一个发送模块1190和接收模块1200。接收模块1200接收编码化频道数据1180,可以是包也可以是帧。接收模块解释这些包和/或帧,以为特定的感兴趣的频道1184抽取数据1186。抽取的数据被放到总线1201,并存于随机存取存储器(RAM)1168。数据1186随后被视频解码器1162从存储器1168中提取出来,生成编码化视频数据。编码化视频数据也被存到存储器1168。渲染模块1164接着从存储器1168中提取编码化视频数据,并进行处理以生成渲染视频图像1188。渲染视频图像1188接着被提供给用户端系统总线1172,供随后显示。注意用户端设备包括一个带视频和/或音频显示的显示器。
如果编码化频道数据1180包括供用户端模块1175的音频数据的帧和/或包,收发模块1200把音频数据提供给音频处理器1192,音频处理器1192优先显示音频数据。准备好的音频数据存于1168,供随后回放或者提供给用户端系统总线1172。
另外,音频处理器1192可以从麦克风1194接收音频信号。音频处理器1192处理来自麦克风1194的音频信号,把它们提供给用户端系统总线1172或者存储器1168。如果来自麦克风1194的音频数据需要发送到多媒体服务器,收发模块1190随后从1168提取到此音频数据,并提供给多媒体服务器。
请求模块1212从用户端设备接收选择请求。如前所述,选择请求标识着用户端希望从多媒体服务器访问的特定的感兴趣的频道。发送模块1190准备选择请求,已通过通讯通道向多媒体服务器发送。发送模块1190根据多媒体通讯系统的数据传输协议,采用一种编码和/或调制方法。
用户端模块1195还包括接口,通过视频处理器1198,接收来自视频摄像机1196的视频信号。视频处理器1198处理来自视频摄像机1196的视频信号,把它们提供给用户端系统总线1172或者存储在随机存储器(RAM)1168。如果储存的视频信号需要提供给多媒体服务器,收发模块1190从随机存储器(RAM)1168提取到此音频数据,并做发送的准备。准备视频数据的发送要根据多媒体通讯系统采用的数据传输协议。业内普通技术人员会懂得,存储控制器1216控制进出随机存储器(RAM)1168的数据的读写。业内普通技术人员也会懂得,用户端模块1175可以有连接音频处理器1192和/或视频处理器1198的接口,用户端设备中可以包括这样的设备。
图52说明的是用户端模块1220的方框图,它可以用于图1-11中说明的任何一个用户端模块。用户端模块1220包括处理模块1222和存储器1224。处理模块1222和图11中用户端模块用的处理模块364相似,存储器1224和图11中用户端模块用的存储器366相似。处理模块1222可以是一个单独的处理设备或者一组处理设备。这种处理设备可以是微控制器、微型计算机、微处理器、数字信号处理器、中央处理器、可编程门阵列、状态机、逻辑电路和/或其它可以基于操作指令处理信号(模拟和/或数字)的任何设备。存储器1224可以是单个的存储设备,也可以是一组存储设备。这样的存储设备可以是只读存储器、随机存取存储器、系统存储器、软磁盘存储器、硬驱存储器、磁存储器、闪存储器和/或其它任何可存储数字信息的设备。值得注意的是,当处理模块1222通过状态机或逻辑电路执行一项或多项功能的时候,存有相应指令的存储器是嵌在状态机或逻辑电路的电路中的。被处理模块1222执行并存于处理器1224的操作命令,将在图53-56出现的逻辑图阐述。
图53说明的是用户端模块内一种数据处理方法的逻辑图。程序始于步骤1240,用端模块发送一个识别感兴趣的频道的选择请求。频道选择请求被提供给多媒体服务器,多媒体服务器接着做出反应,提供出频道数据流,该数据流的至少一部分包含与感兴趣的频道对应的数据。
程序继续进入步骤1230,用户端模块从多媒体服务器,以数据流的形式接收一套频道。接收过程包括解码数据流,重捕感兴趣的频道的数据(如与该用户端模块的用户端所请求的频道对应的频道)。解码可以包括下列一种或几种:多级编码、反向不归零制编码、曼彻斯特编码、块编码、nB/mB编码(n<m)
程序继续进入步骤1232,用户端模块解释数据流的段,识别感兴趣的频道对应的数据。段可以是包含标题信息的帧和/或包。标题信息包括用户端模块的标识、数据来源的标识等,所以用户端模块可以容易地识别以该用户端模块为目的地的特定的包和/或帧。程序继续进入步骤1234,用户端模块解释感兴趣的频道的数据,判定数据类型,即数据是音频数据、视频数据和/或文本数据。
程序继续进入步骤1236,用户端模块基于数据类型,处理感兴趣的频道的数据,生成处理后数据。程序继续进入步骤1238,用户端模块把处理后数据提供给用户端供显示。
图54说明的是进一步描述图53步骤1236和1238的一种方法的逻辑图。程序始于步骤1250,判定数据的类型。数据类型可以是视频数据、应用数据和/或音频数据。对于视频数据,程序继续进入步骤1252,用户端模块把感兴趣的频道的数据转换成YUV数据和/或RGB数据。当数据是以MPEG格式接收的时,转换可以象步骤1260-1268那样来完成。在步骤1260,用户端模块采用霍夫曼解码器解码视频。程序继续进入步骤1262,霍夫曼解码数据被反之字处理。
程序继续进入步骤1264,反之字数据被反量化。程序继续进入步骤1266,在反量化数据之上执行了反离散余弦变换功能。程序继续进入步骤1268,在反离散余弦变换数据上执行动态补偿和/或缩放功能,生成YUV数据。YUV数据随后被转换成RGB数据,存于存储器。业内普通技术人员会懂得,YUV数据和/或RGB数据都可以被保持,供用户端模块和/或相连的用户端设备使用。
返回处理视频数据的流程,程序继续进入步骤1254,YUV数据和/或RGB数据被作为处理过数据存到帧缓存器(如用户端模块的存储器和/或用户端设备的存储器)。程序继续进入步骤1256,用户端模块,用一种显示速度,从帧缓存器提取YUV数据和/或RGB数据,生成已提取显示数据。程序继续进入步骤1258,用户端模块渲染已提取显示数据供显示。经过渲染的数据被提供给用户端设备,供随后显示。
如果数据类型是音频数据,程序进入步骤1280。在步骤1280,用户端模块把感兴趣的频道的音频数据转换成脉冲编码调制(PCM)数据。程序继续进入步骤1282,用户端模块把脉冲编码调制(PCM)数据作为已处理数据存于帧缓存器(如用户端模块的随机存储器和/或用户端设备的存储器)。程序继续进入步骤1284,用户端模块用一种显示速度,从帧缓存器提取脉冲编码调制(PCM)数据。程序继续进入步骤1286,用户端模块把提取的显示数据,提供给与用户端模块连接和/或用户端设备内的至少一个扬声器。
如果数据类型是应用数据,程序进入步骤1270。在步骤1270,用户端模块把应用数据作为已处理数据存于到存储器。注意这里的应用数据对应的是通过因特网联接、用户端-用户端通信和/或电话通信接收的数据。程序继续进入步骤1272,用户端模块从存储器提取已处理数据。程序继续进入步骤1274,用户端模块把已处理数据提供给处理器。处理器可以是用户端模块里的和/或用户端设备里的。
程序继续进入步骤1276,处理器从已处理数据中生成视频数据。程序继续进入步骤1278,视频数据被提供给用户端设备显示。
图55和56说明的是一种方法的逻辑图,该方法是在多媒体系统中,用户端模块提供频道选择请求并接收相应数据的另外一种方法。程序始于步骤1290,用户端模块接收来自用户端的输入。输入信号可以来自用户端接口,用户端包括至少下列一种:个人电脑、膝上型电脑、个人数字助手、可视电话、数字电话、移动电话、显示器、CRT显示器、LCD显示器、电视机、高清晰度电视机和/或其它包含音频和/或视频显示的设备。另外,在用户端设备和用户端模块之间的接口可以包括一个无线通讯通道,使得用户端设备的遥控设施可以向用户端提供输入信号。
程序继续进入步骤1292,用户端模块解释输入信号,判定请求的信号的类型。程序继续进入步骤1294,用户端模块判定信号类型是视频、音频、应用或者控制。如果信号类型是音频,程序继续进入步骤1296,用户端模块处理音频数据,生成通用音频数据。这可以象步骤1302显示的那样来实现,用户端模块把音频数据转换成MPEG格式音频数据、MP3格式音频数据和/或PCM数字化音频数据。
程序继续进入步骤1298,用户端模块把通用音频数据转换成数据流。这可以象步骤1304显示的那样来实现,用户端模块基于数据传输协议,编码通用音频数据,生成数据流。编码类型可以包括下列一种或几种:多级编码、反向不归零制编码、曼彻斯特编码、块编码、nB/mB编码(n<m)
程序继续进入步骤1300,用户端模块把数据流发送到多媒体服务器。发送数据流包括根据多媒体通讯系统采用的数据传输协议,分包和/或装帧数据。另外,数据流的发送还包括采用一种调制方式,如时分多路技术(TDM)、频分多路技术(FDM)、移幅键控(ASK)、移相键控(PSK),等等。
如果用户端模块判定信号类型是控制信号,程序进入步骤1306。在步骤1306,用户端模块判定控制信息与局部命令还是系统级命令相关。程序继续进入步骤1308,用户端模块判定系统级还是局部级命令。如果是系统级命令,程序进入步骤1310,用户端模块为了向多媒体服务器传输,处理控制信息并生成控制消息。控制信息的处理包括,基于多媒体系统的数据传输协议编码控制消息,采用的数据传输协议可以包括分包和/或装帧数据,以及采用一种调制方式,如载波侦听多址接达(CSMA)、避免冲突的载波侦听多址接达(CA)和/或以及带有检测冲突的载波侦听多址接达(CD)。
程序继续进入步骤1312,用户端模块把控制消息发送给多媒体服务器。控制消息包括频道选择请求,频道选择请求标识出需要用户端模块处理的特定的感兴趣的频道。
如果是控制信息的类型是关于局部命令的,程序进入步骤1318,用户端模块在局部内处理输入信号,把感兴趣的频道提供给用户端。因此,用户端模块会解释包含一个频道选择请求的控制信息,并判定另一个用户端已经在访问那个特定频道。这样,用户端模块只需要把抽取正在发往另一个用户端的频道数据,并用它来服务它自己的用户端。
如果用户端模块判定信号类型是关于应用程序的,程序进入步骤1314。在步骤1314,用户端模块处理输入信号,生成已处理应用数据。这些应用数据可以与网络应用有关,如电子邮件和/或网络浏览器、电话通信、和/或用户端-用户端通信。这里对电话通信的处理包含的功能,与无绳电话中手持机的功能相似。
因特网访问中的数据处理,就如同一个终端在运行,提供输入选择和/或从执行网络应用程序的多媒体服务器接收数据。程序继续进入步骤1316,用户端模块把已处理应用数据发送到多媒体服务器。根据多媒体通讯系统的数据传输协议,对程序应用数据进行格式化,包括编码和/或调制方法。
如图56所示,如果信号类型是视频,程序继续进入步骤1320。在步骤1320,用户端模块处理视频信号,生成通用视频信号。这可以用步骤1328-1336所示的若干方法中一种来完成。在步骤1328,用户端模块把感兴趣的频道的视频信号转换成MPEG格式的视频数据。在步骤1330,用户端模块把感兴趣的频道的视频信号转换成JPEG格式的视频数据。在步骤1332,用户端模块把感兴趣的频道的视频信号转换成M-JPEG格式的视频数据。在步骤1334,用户端模块把感兴趣的频道的视频信号转换成数字化RGB视频数据。在步骤1336,用户端模块把感兴趣的频道的视频信号转换成数字化YCBCR视频数据。业内普通技术人员会懂得,在把视频和/或音频数据传输给多媒体服务器的时候,用户端模块发挥的功能和多媒体服务器相似。
返回视频数据处理的主流程,程序继续进入步骤1322,用户端模块把通用视频数据转换成数据流。这可以象步骤1326所示的那样完成,用户端模块基于多媒体通讯系统的数据传输协议,编码通用视频数据。数据传输协议可以包括一种特定的类型,如曼彻斯特编码、多级编码等,和一种相应的调制方法,如频分多重存取(FDMA)、时分多路存取(TDMA)、载体读出多路存取(CSMA)、冲突避免的载体读出多路存取或冲突检出的载体读出多路存取。程序继续进入步骤1324,数据流作为包或帧被发送给多媒体服务器。
图57说明的是一种方法的逻辑图,该方法是多媒体服务器用来为若干用户端模块充当基于网络集线器的网络访问模块的方法。图57和图58-62所示的处理步骤,可以通过图2、7和/或11中的多媒体服务器来执行。程序始于步骤1340,多媒体服务器从至少一个用户端接收到包。程序进入步骤1342,多媒体服务器判定网络访问程序是否已为该用户端活跃。如果没有,程序进入步骤1344,多媒体服务器为用户端打开一个网络访问程序。
一旦网络访问程序打开,或者程序已经打开,程序进入步骤1346。在步骤1346,多媒体服务器根据网络访问程序处理至少一个包的数据,生成网络数据。网络访问程序可以是电子邮件程序、网络浏览程序和或任何允许用户访问因特网或其它广域网的程序。程序继续进入步骤1348,多媒体服务器判定如何接入一个网络连接(如调制解调器)来发送网络数据。接入网络连接要基于一个“用户端接入网络连接方案”,这在后面将讨论到。程序继续进入步骤1350,多媒体服务器基于既定的网络接入,通过网络连接,向广域网传送网络数据。
程序继续进入步骤1352,多媒体服务器为通过网络连接发送的每个包,登录一个目的地址和/或源地址。当通过广域网接收到响应时,这种登录使多媒体服务器能够在多媒体通讯系统中准确地跟踪到适当的目的地。程序继续进入步骤1354,多媒体服务器通过网络连接接收网络包。程序继续进入步骤1356,多媒体服务器解释网络包的标题部分,识别对网络包的响应。响应包括一个识别符,标识出在多媒体通讯系统内的特定的目的地。程序继续进入步骤1358,多媒体服务器把网络包提供给与网络数据相关的特定用户端。
图58说明的是一个逻辑图,进一步解释图47步骤1342判定网络访问程序是否活跃。程序始于步骤1360,多媒体服务器解释至少一个从用户端收到的网络包的标题部分,来识别这个单独的用户端。程序继续进入步骤1362,多媒体服务器解释标题部分,判定正在请求的网络访问的特定类型。程序继续进入步骤1364,多媒体服务器基于特定用户端的标识和正在请求的网络访问的类型,判定网络程序是否活跃。
图59说明的是图58步骤1362中判定网络访问的特定类型的一个逻辑图。这可以在步骤1366或者1368中完成。在步骤1366,多媒体服务器解释至少一个包的标题部分,来判定电子邮件网络访问。在步骤1368,多媒体服务器解释这个或这些包的标题部分,来判定网络浏览访问。
图60说明的是一种方法的逻辑图,该方法进一步描述图57步骤1348中判定网络连接的接入。这可以在一个或多个步骤1370-1378中完成。在步骤1370,多媒体服务器采用时分调制技术,为每个正有一个活跃网络访问程序的用户端,提供网络连接接入。在步骤1372,多媒体服务器在若干正有一个活跃网络访问程序的用户端中,采用载体读出多路存取技术,判定网络连接的接入。
在步骤1374,多媒体服务器在若干正有一个活跃网络访问程序的用户端中,采用权标传递技术,判定网络连接的接入。在步骤1376,多媒体服务器对每个正有一个活跃网络访问程序的用户端,采用一种网络数据排队的技术。这种排队技术基于一种早进早出的缓冲排列。在步骤1378,多媒体服务器从处理特定请求的频道混频器内的资源,对接入网络连接的请求作出响应。
图61说明的是多媒体服务器用来为若干用户端模块充当基于网络集线器的网络访问连接的另一种方法的逻辑图。程序始于步骤1380,多媒体服务器从至少一个用户端接收包。程序继续进入步骤1382,多媒体服务器解释每个包,判定是用户端-用户端包还是网络包。这个判定通过重读包的标题部分来完成,包的标题部分含有它是用户端-用户端数据还是网络数据的标识。
程序继续进入步骤1384,多媒体服务器判定包是关于用户端-用户端数据,还是网络数据。对于用户端-用户端数据,程序进入步骤1386,多媒体服务器处理包,生成处理过的用户端包。这个处理过程包括分包用户端-用户端信息,一向多媒体通讯系统的一个或多个用户端发送。
程序继续进入步骤1388,多媒体服务器为向若干用户端发送,多路复用处理过的用户端包,生成多路复用过的用户端包。这些处理过的用户端包和目的地为用户端的网络数据、视频数据和/或音频数据一起被多路复用处理。程序继续进入步骤1390,多媒体服务器根据多媒体通讯系统采用的数据传输系统,把多路复用的用户端数据发送到若干用户端。
如果把对应的是网络数据,程序进入步骤1392,多媒体服务器从包中至少识别一个用户端。程序继续进入步骤1394,多媒体服务器多媒体服务器判定网络访问程序是否已为该用户端活跃。如果没有,程序进入步骤1396,多媒体服务器为用户端打开一个网络访问程序(如电子邮件和/或网络浏览器程序)。
一旦网络程序打开,或者已经打开,程序进入步骤1398,多媒体服务器根据网络访问程序处理网络包的数据,生成网络数据。程序继续进入步骤1400,多媒体服务器基于用户端接入网络连接的方法,判定接入网络连接来发送网络数据。程序继续进入步骤1402,多媒体服务器基于既定的网络接入,通过网络连接,向广域网传送网络数据。步骤1400中的判定在图60中已有更详细地解释,步骤1394种的判定在图58和59中已有更详细地解释。
图62说明的是多媒体服务器为若干用户端模块充当基于网络集线器的网络访问连接的一种方法的逻辑图。程序始于步骤1420,多媒体服务器通过网络连接接收网络包。这些从广域网如因特网接收的网络包,是作为对多媒体服务器代表一个或多个用户端所提供信息的响应。程序接着进入步骤1422,多媒体服务器判定至少一个是网络包目标的用户端。这可以通过解释旺络包的标题部分来完成,标题部分包括与单独的用户端对应的目的地址。这样,多媒体服务器可以容易地为每个接收到的网络包,判定适当的用户端。
程序继续进入步骤1424,多媒体服务器多媒体服务器判定网络访问程序是否已为该用户端活跃。网络应用程序可以是电子邮件和/或网络浏览器程序。如果没有,程序进入步骤1426,多媒体服务器为用户端打开一个网络访问程序。
随着网络程序打开,程序进入步骤1428,多媒体服务器处理网络包数据,生成用户端数据。数据的处理包括准备与引入网络包上执行的网络程序相应的显示数据,并把得出的数据作为用户端数据存起来。程序继续进入步骤1430,多媒体服务器为向若干用户端发送而多路复用用户端数据。用户端数据和其它目的地为用户端的数据一起多路复用,其它数据包括视频数据、音频数据和/或其它应用数据。程序继续进入步骤1432,多媒体服务器根据多媒体通讯系统的数据传输协议,把多路复用的数据发送到若干用户端。
程序继续进入步骤1434,多媒体服务器从至少一个用户端接收到用户端-用户端包。程序继续进入步骤1436,多媒体服务器处理用户端-用户端包,生成已处理用户端包。程序继续进入步骤1438,多媒体服务器多路复用为向若干用户端发送,把已处理用户端包和其它用户端数据一起多路复用。程序继续进入步骤1440,多媒体服务器把多路复用的用户端数据发送给若干用户端。
图63说明的是一种多媒体系统内管理资源的方法的逻辑图。图63说明的处理过程,以及图64和65说明的处理过程,可以由图1-11说明的任何一个多媒体服务器来执行。程序始于步骤1450,多媒体服务器接收到一个需要多媒体服务的用户端请求。多媒体系统服务包括访问来自下列的一个或多个频道:卫星连接、电缆连接、NTSC制式广播连接、高清晰度电视广播连接、标准清晰度电视广播连接,以及录像机、DVD播放机、收音机、CD播放机、MP3播放机的输出,等等。
程序继续进入步骤1452,多媒体服务器判定用户端请求是否有效。判定用户端请求是否有效基于:用户端是否在访问它请求的特定视频节目,所选择的频道是否超出了家长控制设定,用户端请求是否在规定的访问时间收到。规定的访问时间是指某个用户端模块的用户在一天中可以从多媒体服务器接受服务的时间。如果用户端请求无效,程序进入步骤1456,多媒体服务器拒绝请求。
但是,如果请求有效,程序进入步骤1458。在步骤1458,多媒体服务器判定多媒体系统是否有足够的资源满足用户端请求。多媒体系统是否有充足资源的判定包括,判定调谐模块是否有空间容纳用户端的请求、频道混频器是否有充足的处理资源来处理用户端请求和/或多媒体服务器和若干用户端之间的通讯通道是否有足够的带宽容纳用户端请求。
程序接着进入步骤1460,判定是否有充足的资源。如果有,程序接着进入步骤1462。在步骤1462,多媒体服务器基于多媒体系统资源的分配程序,分配至少部分资源来满足用户端的请求。多媒体系统资源的分配程序包括根据先到先服务原则分配资源,根据树干的原理分配资源和/或基于预先确定的特定资源对特定用户端的分配方案来分配资源。这样,这些资源将保持空闲,除非这些用户端要求访问多媒体系统。
除了如步骤1462所示对资源进行分配,多媒体系统还可以提供步骤464-1468所示的功能。在步骤1464,多媒体服务器判定系统是否有可用的剩余资源。如果没有,程序转到步骤1462。如果有,程序继续进入步骤1466,多媒体服务器判定用户端是否有增强特征权限。增强特征权限包括允许用户端通过多媒体服务器选择并处理自己喜欢的频道、上个频道、下个频道、画中画等。如果用户端没有增强特征,程序转到步骤1462。但是如果用户端有增强特征,程序进入步骤1468。在步骤1468,多媒体服务器分配更多的资源来支持用户端的增强特征。
如果资源不充足,程序进入到图64,图中提供了若干处理资源不充足的途径。途径之一就是取消提供给特定用户端的增强特征,使资源可利用。其它的处理如步骤1464、1474和1478所示。
在步骤1464,多媒体服务器判定一种替代的多媒体服务对该用户端是否可用。这可以在一个或多个步骤1466-1472完成。在步骤1466,对于视频节目,多媒体服务器把显示分辨率调到默认值,以次降低处理需求。在步骤1468,对于视频节目,多媒体服务器把视频质量调到默认值,以次降低向用户端提供视频数据的处理需求。
在步骤1470,多媒体服务器询问用户端是否选择另一种多媒体服务。询问包括提供正在服务的频道列表并请求用户端从中选择一个和/或选择另一种分辨率、视频质量,等等。在步骤1472,多媒体服务器基于预先编好的替代选择,自动选择一种替代的多媒体服务。基本上,用户端会预先编好它的默认设置或交替的多媒体服务,而不是被直接询问。
在步骤1474,多媒体服务器判定该用户端请求是否优先于正在服务的其它用户端请求。如果是,程序进入到步骤1476,多媒体服务器抢占正在服务的用户端,以获得资源满足该用户端请求。如果该用户端请求并不优先于正在服务的至少一个其它用户端,则该用户端的请求被拒绝,该用户端会被请求访问另外一个多媒体服务。
在步骤1478,多媒体服务器判定资源的分配是否可以进行再分配,来满足用户端请求。程序进入到步骤1480,多媒体服务器在资源可以被重新分配的时候,调整资源分配以满足用户端请求。资源是否可以被重新分配的判定,在步骤1482和1484进一步描述。在步骤1482,多媒体服务器监控资源使用情况,并与资源能力对比。程序进入到步骤1484,多媒体服务器在至少部分资源的使用不是最佳时,调整资源的分配。例如,如果某个资源在处理来自一个高清晰度电视来源、卫星来源的压缩视频时,已经处于最高效率,而目前又在处理音频信号,那么这个资源会被重新分配去处理视频数据,而另一个资源被用来处理音频数据。
图65说明的是多媒体系统内管理资源的一种方法的逻辑图。程序始于步骤1490,多媒体服务器从用户端接收到一个需要多媒体服务的用户端请求。多媒体系统服务包括访问一个或多个视频源,如来自卫星连接频道、电缆连接频道、DVD播放机、录像机和/或音频源,如CD播放机、DVD音频播放机,等等。程序继续进入步骤1492,多媒体服务器判定用户端请求是否有效。如果用户端请求无效,如在步骤1494所示,则程序进入步骤1496,多媒体服务器拒绝该请求。
但是,如果请求有效,程序继续进入步骤1498,多媒体服务器判定多媒体系统是否有足够的资源满足用户端请求。程序继续进入步骤1500,多媒体服务器基于资源是否充足区别对待。如果资源充足,程序进入步骤1502。在步骤1502,多媒体服务器分配最佳配置资源来满足用户端请求。如果资源不充足,则采用图64中的处理程序。
判定最佳配置资源来满足用户端请求,需要采用步骤1504-1508。在步骤1504,多媒体服务器保持一份每个资源的资源能力的列表。程序接着进入步骤1506,媒体服务器判定支持用户端请求所需的资源类型。程序接着进入步骤1508,媒体服务器基于资源能力和所需的资源类型,进行最佳配置分析,确定最佳配置资源。例如,调谐模块和/或频道混频器内的资源可能在处理来自卫星连接的视频数据时最有效,而其它的资源更擅长处理音频数据。这样,当接收到访问压缩视频信号的请求时,多媒体服务器会尽量分配最适合处理压缩视频的资源。相应地,当接收到访问音频源的请求时,多媒体服务器会尽量分配最好的资源来满足该音频请求。
以上讨论为多媒体通讯系统提供了一种方法和设备。这个多媒体系统允许若干用户端在外观上直接访问若干个音频源、视频源、因特网、公共交换电话网等,而不需要常规的直接访问这些服务的所关联的典型的接收和发送电路。业内普通技术人员会懂得,在不背离权利要求范围的情况下,从本发明的原理中可以推理出其它实施例。