提供多媒体信息的半导体存储器服务器.pdf

上传人:1** 文档编号:993553 上传时间:2018-03-24 格式:PDF 页数:43 大小:1.73MB
返回 下载 相关 举报
摘要
申请专利号:

CN95104200.9

申请日:

1995.04.27

公开号:

CN1118959A

公开日:

1996.03.20

当前法律状态:

终止

有效性:

无权

法律详情:

专利权的终止(未缴年费专利权终止)授权公告日:2004.1.14|||授权|||公开|||

IPC分类号:

H04L12/00; G06F15/163

主分类号:

H04L12/00; G06F15/163

申请人:

国际商业机器公司;

发明人:

J·L·库赫里斯; M·库马

地址:

美国纽约州

优先权:

1994.08.23 US 294,673

专利代理机构:

中国专利代理(香港)有限公司

代理人:

董江雄;马铁良

PDF下载: PDF下载
内容摘要

本发明涉及将多媒体视频数据从服务器(主处理器)向多个与通信网络连接的用户传送的方法和装置。更具体地说,经预处理的视频和多媒体数据包存储在网络的转接器中。当用户要求接收视频和多媒体数据时,向主处理器发送一个请求,主处理器再向存储被请求数据的转接器发送一个控制信息。这些转接器再向请求的用户发送被请求的数据。如果数据没有存储在转接器中,那么数据必须向前直接从服务器到达请求的用户。

权利要求书

1: 在具有与具有多个转接器和多个与网络连接的用户的通信网络 连接的主处理器的数据通信系统中,向作出请求的一个用户传送被请 求的数据的方法包括: a.在至少被选择的一个转接器中存储多个被选择的数据; b.将来自请求的用户的一个请求信息传送至主处理器,以便将被 请求的数据发送至请求的用户; c.如果被请求的数据是被选择的数据的一部分:从主处理器向存 储被请求数据的一个被选择的转接器传输控制信息,控制信息指示向 请求的用户发送被请求数据的一个请求,根据控制信息,一个被选择 的转接器将存储在被选择转接器中的被请求数据传送给请求的用户; 以及 d.如果被请求的数据不是被选择的数据的一部分:从主处理器向 请求的用户传输被请求的数据。
2: 如权利要求1的一种方法,其特征在于在从请求的用户传输请 求信息之前,将被选择的数据作为预处理的包存储在被选择的转接器 中。
3: 如权利要求2的一种方法,其特征在于每个所述预处理的包包 括来自被选择的数据的有效部分,以及网络协议栈的首标和尾标。
4: 在具有与具有多个转接器和多个与网络连接的用户的通信网络 连接的主处理器的数据通信系统中,向作出请求的一个用户传送被请 求的数据的装置包括: a.在至少被选择的一个转接器中存储多个被选择的数据的装置; b.将来自请求的用户的一个请求信息传送至主处理器,以便将被 请求的数据发送至请求的用户的装置; c.如果被请求的数据是被选择的数据的一部分:从主处理器向存 储被请求数据的一个被选择的转接器传输控制信息的装置,该控制信 息指示向请求的用户发送被请求数据的一个请求,根据控制信息,一 个被选择的转接器将存储在被选择转接器中的被请求数据传送给请求 的用户;以及 d.如果被请求的数据不是被选择的数据的一部分:从主处理器向 请求的用户传输被请求的数据的装置。
5: 一种数据通信网络,包括: a.一个具有多个转接器的通信系统; b.一个与该通信网络相连的主处理器; c.与该通信网络相连的多个用户; d.每个转接器具有存储预处理的视频包的装置,用于检索和向作 出请求的一个用户分配被请求的预处理的包,并提供从预处理的包的 网络协议栈首标和尾标丢失的信息。
6: 一种数据通信系统,包括: a.一个具有多个转接器的通信网络; b.一个与该通信网络相连的主处理器; c.与该通信网络相连的多个用户; d.每个转接器包括: 1)存储预处理的视频包的半导体存储器; 2)视频分配器,用于根据控制信息,将每个预处理视频包的 存储器中的一个地址分配给由控制模块请求的视频数据; 3)多个输出适配器,每个输出适配器具有包括每个请求用户 一项的流控制表,每项包括从预处理的包的网络协议栈首标和尾标丢 失的信息,每个输出适配器包括: a)接收来空闲视频分配器请求的半导体存储器的预处理包的 装置; b)将从流控制表接收的信息与预处理的包合并的装置;以及 c)将由视频分配器请求的预处理的包发送至一个请求用户的 装置。
7: 一种存储视频/音频数据以便支持多种检索模式的方法,所述 方法包括: 将视频/音频数据作为一系列信息加以存储,每个信息具有一部 分视频数据和多条链路,其中每条链路与一种检索模式相关联,并且 其中每条链路指向另外的视频/音频信息,于是与被选择操作模式关 联的链路将被选择检索模式要求的视频信息连在一起。

说明书


提供多媒体信息的半导体存储器服务器

    本发明涉及经过通信网络从服务器向请求的用户传送多媒体和视频数据的方法和装置。

    用于向终端用户的家中传送信息和娱乐服务的系统具有三个不同的部分:服务器系统、终端用户系统和同时将大量终端用户与服务器相连的网络。两个用得最广泛的向家中传送信息的系统是公共电话网络和广播/电缆电视系统。今天的电话网络提供向电存储的文本信息的访问,这些信息如银行收支平衡,以及各种办公室过程的指令的音频段部分。

    公众广泛相信,技术上的先进将使交互多媒体服务成为可能。设想的服务是要求有画面,比如电影、新闻、体育、电视节目等、家庭购物、交互式游戏、代理旅行和范围很广的各种类型的教育和信息服务。然而,传统的信息/娱乐传送系统的所有三部分如服务器、网络和用户终端(PC或设备上部盒(set-top-box))都需要加以改进,以便传送交互式多媒体服务。PC和设备上部盒需要能够接收和解压全活动画面和伴音。网络必须有足够的带宽,以便允许每个用户具有自己的到服务器地专用视频频道,并且对大多数服务而言,服务器必须能够以低费用同时传送大量的视频信息流。

    今天电话网络的关键问题是对每个终端用户而言只可用有限的带宽,而这对一个音频声道是足够了。这妨碍了活动视频信息的传送,并且对高分辨率图象也很慢。不论是电缆电视还是广播电视,对每个用户都提供了宽许多的带宽,但是由于网络总的带宽(电缆的带宽或无线电波上的频谱带宽)的限制,用户不能交互式地选择感兴趣的信息。代替用户选择的是限制在任何给定时间内广播的大约50个节目中的一个。因此,当前的电话和电视网络,不论是广播的还是电缆的,都不适合传送交互式多媒体服务,比如按要求的视频信息和交互式游戏。

    但是电话和电缆电视服务的提供者正在利用先进的技术消除上述限制。VLSI技术的集成度的提高有助于降低活动视频信息的压缩/解压硬件的成本,并使得象ADSL(不对称数字用户环路)那样的技术成为可能。这两项使得在实际上能够从用户家中传输和接收活动视频信息,并在本地电话局进行转接,于是向每个用户提供其专用视频频道。同样,光纤传输技术先进,成本低廉,这能够让电缆电视网络中继线和馈线系统升级,于是大大提高了网络的带宽,向每个正在使用的用户提供至首端的专用频道,用于接收压缩的数字视频信息。直接广播卫星和其它出现的无线通信技术也提供了大量终端用户和一个服务器之间的专用视频频道。个人计算机和设备上部盒也出现了,它们利用成本低的视频压缩/解压硬件和新的功能更强但价格便宜的微处理器,使得网络化的多媒体应用成为可能。

    虽然终端用户系统和网络基础设施发展迅速,以满足交互式多媒体服务的需要,但是对传送这些服务器而言,当前采用的服务器仍然价格昴贵且不实用,因为可以由每个服务器支持的信息流的数目是有限的。当前对用于交互式多媒体服务的服务器所做的选择已经是脱离自身的基于并行计算机系统的主机或工作站技术。对于计算集中应用和支持多个并行的用户(时间共享)这两方面来说,硬件和软件都是最佳的,对向网络接口和I/O设备送入活动数据或从中送出活动数据的强调都是非常有限的。例如,从存储器到RS/6000中的高速缓冲存储器的带宽是400MB/s,而从I/O或网络设备到系统的带宽仅是80MB/s。浮点支持增加了系统的费用,而对传送视频/多媒体数据没有带来任何益处。与在更强的现代网络上的对视频信息的可靠性要求不太严格不同,对七十年代早期在不可靠的低速网络链路、网络基础设施和应用环境进行可靠的数据传输而言,网络协议是最优的,于是便引起了不必要的CPU的额外操作。

    上述因素使得基于视频/多媒体服务器的通用计算机系统的价格性能比远远高于对传送视频信息最优化的系统的价格性能比。迄今为止对有关上述限制采取的公知的行动是微不足道的,并局限在将数据在盘阵列上的放置方式最优化以便最大限度地提供视频服务器应用中的盘容许量〔3,4〕,将从盘检索的数据的缓冲原则最优化,以便在视频服务器环境中最大限度地重新利用这些数据〔5,6〕,或者将视频数据的文件系统最优化〔7〕。这种改进可以使得当前视频服务器系统的价格性能改善二或四倍,但是为了得到廉价的交互式多媒体服务,需要将改善的范围定在100至1000之间。

    Hoarty等人的两个专利(美国专利5,093,718和5,220,420)提出了这样的构想,即使用多个服务器、每个服务于一个小地区,并且所有多媒体程序对这些服务器是卸载(off-load)的。相反,我们采用大的服务器,这些服务器对网络中的转接器或路由选择器只将多媒体应用的视频内容传送部分卸载。应用控制即确定播放哪个视频系列和何时播放,仍保留在中央服务器中。支持功能如记账等也保留在中央服务器中。

    Hamilton和Nelson的美国专利5,287,507指出,当希望向另一用户发送某些信息的基准的用户经过一个指向存储在其局部高速缓冲存储器中的信息拷贝的指针,而不是经过指向存储在服务器中拷贝的指针时,问题便产生了,这允许接收的用户重建指向存储在服务器中的信息的指针。我们的传送方案不假定存在局部高速缓冲存储器,所以该专利与本发明无关。

    Griffen等人的美国专利5,005,112建议在一个包括大量用户计算机的网络中采用服务器计算机,以便提供如备份、软件分配等服务。该专利没有论及用于传送连续的媒体信息的服务器的设计。

    Chung的美国专利5,218,697提出了一种在运行不同的操作系统、不同的文件服务器和不同的文件系统的各类文件服务器的网络中提供一个中央文件服务器的方法。Chung指出局部文件服务器可以通过向它发送文件系统命令直接访问中央文件服务器的文件系统,而不是象传统的方法那样向中央服务器发送文件服务器请求,然后中央服务器再将它变成适当的文件系统命令。

    Moore的美国专利5,287,461论述了远程服务器。所提出的方法是多路复用多个服务器的控制台线路,并用调制解调器向所需要的地点发送多路复用的信息。

    Chang等人的美国专利4,897,781论述了一种网络文件系统,在该系统中用户具有打开文件的局部高速缓冲存储器。该专利提出了一种使用来自某些文件的已经高速缓冲存储的信息的方法,以便用不同的打开命令对同样的文件进行另外的访问。

    本发明的一个目的是以低成本提供在通信网络上的交互式多媒体服务。

    本发明的一个更具体的目的是通过将视频内容对网络的转接器卸载来降低与从服务器向请求的用户传送视频内容有关的额外操作,该网络能够更有效地向请求的用户传送视频内容。

    本发明描述了一种降低传送视频信息流成本的方法,与传统的方法相比,成本降低了一百至一千倍,提高了网络的性能。所提出的提高网络性能的方案允许以网络包的格式在网络的转接器或路由选择器中存储视频/多媒体内容。多媒体应用服务器将控制信息传送到存储请求的视频或多媒体信息的网络包的转接器或路由选择器,以便将一个或多个这样的包送往特定的用户。收到这种指令的转接器或路由选择器接收请求的包,修改包的首标信息并可能修改尾标信息,特别是修改允许网络将这些包经过一系列路由选择器和转接器移动到特定用户的路由信息,以及将这些包放在网络上。为了支持大量的信息流,例如大约几万信息流,用半导体存储器来存储预分包的视频信息,并且用专用硬件检索包和修改首标信息。请看下面图4中的视频分配器和以下对信息流控制和输出适配器的描述。半导体存储器可以用盘存储器加以扩充,存储不大流行的视频内容。为了支持较少的信息流,例如几百到几千的信息流,只有盘可以被采用,并且可以用微控制器/微处理器代替专用硬件来检索包和修改首标信息。

    图1表示在一个UNIX(AT&T的商标)操作系统文件中的数据的构成。

    图2A表示实施本发明的环境,并且网络的转接器中的数据的卸载带有指向保留在主机中的被卸载数据的指针。

    图2B表示来自视频内容的被预处理的包。

    图3表示共享缓冲器转接器,它将被改进用来存储经预处理的包。

    图4表示存储经预处理的包的经改进的共享缓冲器转接器。

    图5表示经改进的共享缓冲器转接器的视频分配器单元的细节。

    图6表示从主处理器向转接器传送的控制信息的格式。

    图7表示用户、转接器和主处理器之间的信息流。更具体地说是从用户到主机的请求信息和从主机到转接器的控制信息。还示出了响应控制信息从转接器到用户的视频包的传送。

    图8表示用于本发明的最佳视频存储器。

    图9表示本发明的改进的输出适配器。

    图10表示本发明的另一实施例,该实施例采用没有共享缓冲器的不同的转接器。

    图11表示将半导体存储器与转接器构成整体的另一种方法。

    图12表示采用磁盘存储器以代替半导体存储器。

    图13表示视频流中的帧序列。

    在以下的实施例中,我们将描述采用转接器来将视频/多媒体或连续媒体内容卸载,但是以下描述可以很容易地适用于采用路由选择器/桥接器等来代替转接器的场合。此外,当我们描述只传输固定大小的单元的包转接网络的用途时,以下实施例也可以很容易地适用于传输可变大小的包的网络中,或电路转接网络中。在本实施例中,我们用ATM(异步传送模式)宽频带网络,并用AAL5(ATM适配层)适配层〔1〕。最后,虽然在本实施例中我们仅对以压缩形式存储的视频信息的传送进行了描述,但是很显然,本领域的一般技术人员在不对本实施例作任何改动的情况下也可以处理非压缩视频信息和其它连续媒体信息,如音频、动画等。不同的音频或视频信息可以用不同的压缩率进行压缩。例如,比起谈话语音,音乐可以以较高的位率(较低的压缩率)进行压缩。连续的媒体信息流也可以包括在MPEG-II(活动画面专家组)传送信息流中多路转接在一起的不同媒体类型的几种信息流。在我们的实施例中,我们将采用MPEG-II传送带有作为视频内容的一个视频信道和一个音频信道的信息流。我们将假定每秒的这一视频内容被压缩成4兆位的数字数据。

    本发明的实施例具有两个不同的部分,第一部分是视频内容从主机或应用服务器向网络中的转接器卸载,第二部分是能够存储视频内容并在主机向特定的用户发出指令时将该视频内容分配的转接硬件。下面描述视频内容存储在网络中的格式,以及与视频内容一起存储、以便最大限度地减少在转接器中所需要的用于检索并向用户分配视频内容的硬件的附加数据。另外,下面还描述共享缓冲器转接器中所需要的硬件的改进或增加,以便在半导体存储器中存储视频内容,实现对该存储器的分配和回收操作,以及支持主机请求时对视频内容的检索和分配。在最后部分,我们将简要地陈述相同发明的另外的实施例,其中采用了网络转接器而不是共享缓冲器转接器,并用盘存储器来代替半导体存储器。

    视频内容从主机向网络中的转接器卸载

    参照图1和2,本发明的第一步包括将卸载的视频内容900(图2B)装入AMT宽频带网络50的转接器60(图2A)。一小时节目的MPEG-II传送流大约为1.8千兆字节的数字数据,图中用900表示。当存储在运行Unix那样的操作系统的通用计算机中时,该数据900将被分成4千字节的页901(图1),并可能大约有45万数据块910存储在磁盘中,每个数据块具有4千字节。除了这些代表视频内容的数据块以外,还有存储在盘中的其它信息,如Inodes 911和间接块912,一同称为元数据。参见〔2〕。该元数据也示于图1,它与视频内容分开存储,即以不同于存储视频内容的盘块来存储。操作系统用该元数据确定属于特殊视频文件的页的位置,并进一步对存储视频内容文件的特定数据区的页定位。图7所示的是从用户20发出经网络中的转接器60到达主机10的请求信息6。该请求信息最好是一个由用户发出的远程过程呼叫,用户通过几个参数调用主机上的视频传送过程。请求信息中的第一参数将是由用户请求的视频文件的名或索引,它是在用户和服务器上的分布式计算环境下运行的交互式多媒体应用执行之前,从由服务器向用户提供的可用视频文件一列表中选择出来的。请求信息中的第二参数将指定为偏移,它相对于从视频文件的重放应该开始处算起的视频文件的开始。请求信息中的第三参数指定为偏移,或相对于视频文件的开始,或相对于起始偏移,此处视频文件的重放应该结束。进一步的参数将指定第三参数中的偏移是相对于视频文件的开始还是相对于重放开始位置。第二和第三参数的偏移可以表示为时间或数据字节数。远程过程调用在本领域是公知的,因此这里对请求信息将不作进一步讨论。参见〔8〕,这里作为对比文件引用。主机处理请求信息,并确定(如下所述)请求的视频内容是否存储在一个网络转接器中。如果是的话,则主机向包含被请求数据的转接器发送控制信息8。参见图2和图6。转接器对控制信息作出响应,检索控制信息中指定的视频包,并将这些包传送给用户。

    图2A简要地表示本发明的系统的一个高级视图,它包括主机10、用户20、具有多个转接器60的网络50。为了将视频内容900(参见图1)从通常是通用计算机的主机或应用服务器上卸载,我们把视频内容900分成固定大小的有效部分915,以便产生视频信息920。参见图2B。有效部分的大小一般为1千字节至16千字节,在我们的实施例中,我们选择有效部分的大小为1528字节。具有该大小的有效部分符合32个ATM单元930,如图2B所示。主机或应用服务器中的每个有效部分用指针925替换,指针925包括网络转接器地址926和转接器中的信息地址927。参见图2A。每个这样的指针的大小希望在8至16字节之间。现在由主机中的指针925代表的视频信息920本身以指针中指定的信息地址,存储在由指针的转接器地址分量926指定的转接器60中,如图2A所示。

    由于主机中的包括视频内容900的文件不同于包括指向存储在网络的转接器中的视频信息的指针925的文件,并且主机必须以不同方式用这些文件,所以主机采用命名转换将一种文件类型分配给包括视频内容900的所有文件,并将另一文件类型分配给包括指向存储在网络中的视频信息的指针的所有文件。另外,主机可以保留一张表,该表列出了所有视频内容文件,并具有一项,指出该文件是视频内容还是指向存储在网络转接器中的视频信息的指针目录。

    在将视频内容存储进网络中的转接器之前,八字节ATM AAL5收敛子层尾标931附加在每个有效部分915上,并且将得到的字节重定格式,成为包括一系列ATM单元930的视频信息920,如图2B所示(在ATM网络中,网络包称为单元)。类似地,在非ATM包转接的网络中,如果需要,在传送层首标/尾标被附加到信息上之后,将执行分段,并且在网络层首标和/或尾标存储在转接器中之前,将被附加在段上。

    当包正被存储在转接器中时可以预计算的网络/传送/适配层首标或尾标中的字段可以预计算,并存储在ATM单元的适当的存储单元中。在我们的情况下,每个信息的最后的包具有8字节收敛子层(CSL)尾标931,其中预计算信息长度和检验和字段,并且信息被存储在转接器中之前,用户至用户指示(UU)和公共部分指示(CPI)字段被设为零。这些四个字段代表全部ATM AAL5/CSL(收敛子层)尾标。在每个ATM单元的五字节首标935中,只有最后半个字节是可预计算的。这些四位由单元丢失优先级和有效部分类型构成,其中有效部分类型还包括AAL5 SAR(分段和再组合)层的数据报字段的1位结束。带有如上所述进行部分预计算的首标/尾标的ATM单元930包括进行预处理的视频包。

    视频信息920是网络中的信息流控制的基本单元,因此也是访问视频存储器和向用户传输视频数据的基本调度单元。如果从视频存储器检索的ATM单元不是视频信息的最后一个单元,那么转接器自动调度检索视频信息中的下一个单元。由用户将视频信息的ATM单元作为字符组接收,因为转接器在传输视频信息的两个ATM单元之间不插入延迟来控制传输率。为了网络的有效运行,必须限制视频信息的规模,以便在交互式多媒体应用中提供快速响应时间,并最大限度地减少用户所需的缓冲器。然而,短的视频信息将需要在主机和转接器之间进行频繁的交互操作,需要功能更强(因而也更贵)的主机,以及为了处理数量增多的控制信息在转接器中需要更多的硬件。

    上述问题通过根据从主机接收的单个控制信息使转接器能够向一个用户传输几个视频信息而得以解决。为了支持这种能力,为每个视频信息产生附加信息,并将附加信息与视频信息一同存储在网络转接器中。这种信息包括链路字段940和信息流控制字段950,参见图2B。视频流900的每个视频信息920中的链路字段指向该视频流的下一个视频信息。于是,主机或应用服务器可以向指定起始信息的地址和被发送的其后的信息数的转接器发送一个控制信息,并且然后该转接器可以用链路字段940检索其后的信息。信息流控制字段包括以固定起始点为基准的下一个视频信息的重放时间。于是转接器可以在传输相同视频流的两个视频信息之间插入正确的延迟,以便保持向用户传送视频数据的适当速率。

    改进的转接器硬件及其操作

    在这一部分我们将简要地讨论构成我们的实施例的基础的共享缓冲器转接器的设计方案及其操作。然后我们将描述对转接器的改进,这使得转接器能够存储视频包,并当主机发出指令时,向特定的用户分配特定的视频包。当我们首先描述未加改进转接器时,将不直接与本最佳实施例发生联系;然而,当描述下面将出现的转接器的改进方案时,结合本实施例将会使描述变得非常清楚。

    共享缓冲器转接器    

    图3表示共享缓冲器转接器的高级结构。在其核心部分是一个大存储量的共享存储器400,输入总线300用于将数据写入存储器,输出总线350用于将数据从存储器中读出。在我们的实施例中,输入总线300和输出总线350都是53字节宽,是ATM单元的大小。在输入适配器200中处理到达每条高速串行链路100的包(ATM单元),检验ATM单元首标,以便确定包必须被选择到哪个转接器输出150,并且根据ATM编网方法,交换单元的地址(VPI(虚拟路径标识符)和VCI(虚拟电路标识符))字段。参见〔1〕。经过这一处理之后,输入适配器200将包解串为单个的53字节宽的字,并将它放在输入总线300上,同时将该包必须被传送至的转接器输出150的地址放在出地址总线310上。于是包被存储在共享存储器400的由控制器500独立确定的存储单元中。总线的带宽与全部进入线的总带宽一致。共享存储器400组织成为53字节字的一个阵列410,即读和写操作的数据传输的基本单位是53字节,是ATM单元的大小。为了提高以下讨论的可读性,我们将把共享存储器中的这些53字节字称为单元。每个输出链路150具有一个与之相关的输出适配器250。所有输出链路的适配器250通过与输入适配器200共享的总线300类似的时间多路复用总线350连接到共享存储器。

    共享存储器400中的空闲单元列表通过控制部分500得以保留。该列表保留在FIFO队列510中。每个输出链路150具有与之关联的在控制部分500中的FIFO队列520。这些队列在逻辑上是不同的,但可以采用单个实际存储器来实现。队列520存储相应的输出适配器必须从共享存储器中检索并向网络传送的ATM单元的地址。为了将进入的包存入共享存储器,从空闲单元510的列表得到空闲单元的地址,并将它们放在写地址总线530上。同时,该地址从空闲单元510的列表中脱离队列,并编队进入由出地址总线310选择的地址队列520,出地址总线310带有包正在被发往的转接器输出150的地址。输出适配器250将存储在共享存储器中的将要被传输到其输出链路150的包地址从中央控制器500中的它们相应的地址队列520中脱离,从共享存储器读包,使其成为串行,并将其在链路150上传输。从地址队列520脱离的包地址放在读地址总线540上,同时再循环进入空闲单元列表510。

    输入总线300的带宽等于所有进入的链路100的带宽的总和。因此,不需要任选输入总线300。相反,总线以开槽方式运作,N个输入适配器中的每一个访问每第N个槽中的总线。在我们当前的实施例中,一个槽是一个时钟周期。输出总线350以类似方式运作,并且输入和输出适配器仅在它们获得对输入或输出总线访问的时钟周期中与中央控制器交互作用。在每个输入适配器200中表示的是微处理器210,在每个输出适配器250中表示的是微处理器260。这些微处理器用来执行各种链路监视和服务功能,并且输入适配器中的微处理器还用来管理路由选择表。在下面的讨论中还将用它们服务从转接器传送来的视频流。控制点600是工作站或PC类通用计算机,用于执行网络管理功能,如保持拓朴的数据库和整个网络的链路状态和链路使用,为正在建立的新电路分配标号,以及启动和监视微处理器210和260。在下面的讨论中还将用它来分配和回收存储视频内容的存储器。

    最后,为了便于讨论,我们选择描述共享缓冲器转接器,它具有分开的输入和输出适配器,每个适配器中带有一个微处理器,并具有分开的输入和输出总线。在一个紧凑的实施方案中,这两个适配器可以结合在一块卡中,用一个微处理器服务两个适配器,并且用带宽为输入和输出总线带宽两倍的单一总线代替输入和输出总线。

    经改进的共享缓冲器转接器存储视频信息并且当从主机收到一条指令时将其向用户传送

    图4表示共享缓冲器转接器中所需要的硬件改进,这种改进使得共享缓冲器转接器能够存储视频信息920,并且当从主机10收到这样作的控制信息8时能够向特定的用户20传送一组特定的信息。为了在图4的共享缓冲器转接器中存储视频信息ATM单元930,用视频存储器700扩展共享缓冲器400。共享缓冲器400和视频存储器700共享输入和输出总线、地址总线和写允许控制。链路字段940和步调控制字段950分开存储在标记存储器810中,该存储器位于视频分配器800中。参见图4和5。

    视频分配器800较详细地示于图5。它可以接收直接来自主机10的包括控制信息8(图6和7)的ATM单元。当输入适配器200启动信号717时,由接口逻辑电路870从输入总线300接收这些控制信息。每个控制信息8指定视频信息组中的第一ATM单元的地址,该组中的第一视频信息应被传送的时间,该组中的视频信息数,输出适配器地址,以及信息流号,如图6所示,并要求视频分配器通过每次向中央控制器500’发布一个ATM单元请求,请求从中央控制器500’向指定的输出适配器250’传送该组中的所有ATM单元。读ATM的请求在控制信息中指定的时间由调度器815经多路复用器820编入分配队列825中。视频分配器还在总线270上从输出适配器250’中的微处理器260接收没有封闭在ATM单元中的类似的指令,这些指令是通过视频分配器中的接口逻辑电路871接收的。如同与中央控制器那样,输入和输出适配器仅在它们访问输入总线300或输出总线350的周期中与视频分配器交互作用,因此不需要对输入总线270、271和717判优,它们的用途将在下面详细讨论。一旦对视频分配器指定信息组的第一信息传送时间,从存储在标记存储器中的前一个信息的信息流控制字段就可以得到每个其余信息的传送时间。

    视频分配器具有FIFO分配队列825,用于存储来自视频存储器的ATM单元的读请求,由于来自输入适配器200的对地址队列520的争用,它不能立即被编进中央控制器500的队列。分配队列825中的每项具有三个字段,输出适配器地址字段826指明哪个输出适配器250’接收通过该请求从视频存储器700读出的单元,流id字段827指明作为读出单元的字段826中指明的适配器上的视频流,以及视频存储器地址字段828指明被读出的单元的视频存储器中的地址。当图4的出地址总线310的线315上的一位待用时,表示无输入适配器与中央控制器交互作用,从分配队列825脱离一项。输出适配器地址字段826的内容被放在总线745上,以便选择中央控制器中的地址队列520。其余的字段、流id字段827、以及视频存储器地址828被放在总线725上,被输入至地址队列520的输入多路复用,并存储在由总线745上的地址选择的地址队列520中。

    在单元地址监视器850的总线540上,视频分配器还监视从视频存储器读出的所有单元的地址,以及输出适配器和它们属于的流id。线581用于指明从视频存储器读出一个单元。如果刚从视频存储器读出的单元不是信息的最后的单元,那么通过将增量器855中的单元地址递增产生一个新的请求,并且它通过多路复用器820被送至分配队列825。如果从视频存储器读出的单元是信息的最后单元,那么从标记存储器读出链路控制字段和该信息流的控制字段,并与从总线540接收的流id一道,送至接收该信息的输出适配器250’。该信息在总线271上发送,并将触发适配器中的微处理器260,以便从视频存储器请求一个新的信息。

    为了与视频分配器800交互作用,似及与装载视频内容的输入适配器200交互作用,对中央控制器500(图4中的500’)作如下改进。在空闲单元列表510和地址队列520之间提供一个多路复用器720。该多路复用器的一个输入是总线530,带有在当前周期由某一输入适配器写入的共享缓冲器400中的空闲单元的地址,该地址必须编入由出地址总线310指明的地址队列520。另一输入是来自视频分配器800的总线725,带有视频存储器中的单元的地址和信息流标号,二者必须编入由总线745指定的地址队列520。出地址总线310的线315上的一位表示出地址有效,用于给总线530更高的优先级,并相应地控制多路复用器720。当选择总线530时,位315也控制中央控制器中的地址多路复用器740利用出地址310,当从总线725选择将要存储在地址队列520中的内容时,利用总线745上的视频分配器产生的地址。应注意的是,在当前的实施例中,即使当总线530的内容将要写入不同的地址队列520时,也阻止视频分配器写地址队列520。通过提供更复杂的逻辑电路,可以避免这一缺点。仅当地址是共享缓冲器400的地址时,从地址队列520脱离的地址才再循环进空闲缓冲器列表510。控制逻辑电路730检验总线540上的地址是否在共享缓冲器的地址范围内,并使得仅在该范围内的地址编队进入空闲单元列表510。由于视频存储器700的地址的位将比共享缓冲器400的地址的位多得多,并用视频流号作标记,所以地址队列520和总线540扩展了。

    从主机装载视频存储器

    为了将信息从输入适配器200装入视频存储器700,要利用装载地址总线760以及控制位761。输入适配器200中的微处理器210将从主机接收信息以便装入包含在从视频存储器中的一个地址开始的信息中的ATM单元的队列,该地址也在信息中被标识。相应地,ATM单元将放在输入总线300上,其中应存储在视频存储器中的地址被放在装载地址总线760上,并且启动控制位761。控制位761控制中央控制器500’中的多路复用器710,允许视频存储器的写地址532从装载地址总线760而不是从总线530上的空闲单元列表中选择。当控制位761有效时,控制位315待用,允许视频分配器访问地址队列520。

    用作共享缓冲器转接器中的控制点的通用计算机600’也具有视频存储器管理器那样的功能,分配和回收视频存储器。主机或应用服务器与视频存储器管理器交互作用,请求一组空闲视频存储器或返回一组视频存储器。一旦视频存储器管理器将一组视频存储器分配给主机,并通知主机那一组的地址范围,主机就能直接写分配给它的视频存储器,如在前面的段落中所说明的那样,而不必进一步牵扯视频存储器管理器。主机发出的写视频存储器700的命令可以直接送至微处理器210,或间接通过控制点处理器600’,然后它再将命令向前送至微处理器210。

    由于视频存储器管理器是一台通用计算机,所以它和主机之间的通信可以采用任何标准可靠的传输协议,可以用所要求的保密和鉴别措施。从主机到输入适配器200中的微处理器210的信息可以在保密链路上传送,附带由视频存储器管理器处理的关键字分布和在微处理器本身中执行的信息解密。从主机向微处理器210传送的两个通用型信息被装入视频存储器并向视频分配器发送命令。如果这些命令信息包含发送一个确认返回的适当的信息,那么微处理器210可以被编程,向主机发送一个确认返回。通过采用为分配多道程序计算机中的主存储器而提出的伙伴系统方法,无需压缩就能处理视频存储器中的存储残片。

    从视频存储器向终端用户传送视频数据

    如上所述,从主机发出的用于分配一组视频信息的控制信息8被输入适配器200截获,然后它将该命令向前送至视频分配器800。对这一组视频信息中的每个ATM单元而言,视频分配器将一个单独的请求送往中央控制器以便读ATM单元,并将它传送给正确的输出适配器。在将从视频存储器读出的ATM单元在输出链路150上送出之前,输出适配器必须填充这些单元的首标中的VPI/VCI字段。参见以下说明。

    当从视频存储器700读出ATM单元并传送至输出适配器250’时(参见图9),视频分配器从总线540接收该单元的流id,并将流id向前送至总线271上的输出适配器。当传送至输出适配器的ATM单元是视频信息的最后单元时,流程控制和链路字段940和950也随着流id一道发送。输出适配器完成同时从视频存储器接收的ATM单元的首标,这在下面说明。

    输出适配器可以给主机产生一个确认返回,表示成功地传输了视频信息。为了在大规模服务器中有效地加以实现,必须采用来自信息流控制表的返回地址和其它相关信息在硬件中产生该确认,除非一组信息中的ATM单元的数足够大,因此,由微处理器260处理的确认的频率足够低。

    视频存储器的最佳实施:

    在我们的实施例中,共享缓冲器400用静态随机存取存储器(SRAM)模块实现。但是由于视频存储器比共享缓冲器大许多(共享缓冲器的大小为几兆字节,而视频存储器的大小约为十万兆字节),所以由于成本、功率和空间的限制不能用SRAM技术实现。因此,视频存储器700是通过动态随机存取存储器(DRAM)模块710实现的,如图8所示。最好有四至十六个DRAM模块,每个模块有53字节宽。在我们的实施例中用四个模块。由于DRAM模块不象SRAM那样有分开的数据输入和输出口,因此采用三态驱动器711和712将DRAM模块的数据口与输入总线300和输出总线350相连。多路复用器420用来对地址总线425上的读地址540和写地址532进行多路复用。写允许信号585控制多路复用器420,并提供SRAM和DRAM模块的写允许控制。

    DRAM控制器750用从地址总线425接收的地址为每个DRAM模块产生地址信号和芯片选择信号。此外,它为DRAM模块产生行地址选择和列地址选择信号,并提供存储器刷新信号。

    SRAM的数据存取时间大大短于DRAM的数据存取时间。向SRAM提供的地址在延迟部件410中被延迟,以便使SRAM和DRAM二者的存取时间相等,从而避免争用输出总线350。如果由于DRAM模块忙于前一个请求而不能立即接收访问DRAM模块的请求时,那么请求接收信号581关断,防止地址从地址队列520中脱离,并向视频分配器800发出无视频包正在被送往输出适配器的信号。

    视频存储器中ATM单元在DRAM模块上是交错的。

    输出适配器

    图9表示改进的输出适配器250’的高级结构。每N个时钟周期一次,从输出总线350上的共享缓冲器或视频存储器接收ATM单元,其中N是输出适配器数。逻辑块282使输出总线350上接收的ATM单元串行到32位宽或16位宽的总线283上。由视频分配器800驱动,逻辑块284监视总线271,如果总线283上的ATM单元来自共享缓冲器400,那么在这种情况下它无改变地通过多路复用器286到达输出链路接口逻辑电路288,该逻辑电路288最终将单元在输出链路150上传送。

    如果总线283上的ATM单元来自视频存储器,那么总线271包含那个单元的流id。流id通过逻辑块284放在总线285上,编入流控制表280为ATM单元检索首标信息。该首标信息通过总线289传输到多路复用器286,多路复用器286将它在总线283上正接收的ATM单元中替换。由逻辑块284产生的控制信号287使首标的替换发生。

    逻辑块284也对从共享缓冲器400接收的每个ATM单元的首标扫描,确定对输出适配器上的微处理器260而言ATM单元是否被编址,如果是的话,单元不传送给链路接口逻辑电路288,而是传送给微处理器260。这是主机10与微处理器260通信以便管理流控制表280的主要机理。由主机向微处理器260发送的两个关键字命令用于产生流控制表中的新项,并从流控制表删除一项(参见图7)。微处理器260采用局部存储器261存储其程序和数据,并与逻辑块284交互作用,改变流控制表。主机或者可以直接向微处理器260,或者可以通过控制点处理器600,发送管理流控制表的命令。

    前面已经提到过,转换器必须根据从主机接收到的每个控制信息向用户传送多个视频信息。确保做到这一点的一种办法是如前所述使主机请求传送在一个控制信息中的多个视频信息。

    另一办法是为流控制表中的每个流指定信息计数、或停止时间、或停止链路指针值。主机通过向视频分配器发送一个控制信息,指定传送第一视频信息,而开始该信息流。当视频信息的最后一个ATM单元在输出适配器中被处理时,存储在流控制表中的流的信息计数被递减,或者如果流的停止时间被指定,那么停止时间与传送时间进行比较,或者停止链路指针值与在总线271上接收的链路字段进行比较。如果满足停止条件,那么产生一个适当的确认,并发送给主机。否则,用链路字段和流程控制字段为那个流产生读下一个视频信息的新的请求,并将新请求在总线270上发送给视频分配器。当收到停止条件的确认时,主机通过向输出适配器发送一个命令使流控制表中的停止条件复位,以及向视频分配器发送一个控制信息以便发送紧跟为那个流传送的最后一个信息的视频信息,可以继续传送视频流。

    如上所述,为主机提供两种不同的方法以便请求传送多个视频信息在起初看来是不必要的。但是第一种方法中主机在直接向视频分配器发送的控制信息中请求多个视频信息,该方法允许短的视频流具有非常短的启动等待时间,与第二种方法相比,第二种方法中启动等待时间很长,因为主机必须在能够开始向用户传送视频信息之前,先建立流控制表中的正确停止条件。然而,第一种方法的缺点是一旦主机向转接器发送一个控制信息以便向用户发送特定数量的视频信息,主机便不能中断转接器完成对所有视频信息的传送,也不能在所有视频信息传送完之前改变重放模式。另一方面,主机可以在任何时间改变流控制表来改变重放模式、停止条件,或指定新的起始点。如果应用程序需要主机与转接器频繁交互作用,第一种方法有其优越性,因为该方法提供少的额外操作和短的流启动等待时间。当主机和转接器之间的交互作用不频繁时,第二种方法有其优越性,因为它允许主机在传送视频信息的过程中保持控制。

    支持反向播放、快速向前和快速向后

    在前面的讨论中,我们论述了用于正常播放的视频信息的传送方法。为了达到这一目的,采用单一的链路字段和单一的流程控制字段。为了支持多种重放方式,一些视频信息需要多个链路字段和多个流程控制字段。在这一部分,我们先描述视频信息是如何连接在一起的,这经常是采用每个视频信息中的多个链路来支持多种重放模式。每个链路字段总是与其自身的流程控制字段相关联,流程控制字段规定当调度由那个链路指向的视频信息时,应将转接器延迟。然后我们描述在转接器中存储链路和流程控制字段的空间有效方法。

    在通过MPEG算法压缩的视频流中,被压缩的帧具有三种类型,即内编码、预测编码和双向预测编码。内编码帧(I帧)可以在不需要另外的信息下被解码,但是对预测编码帧(P帧)的解码则需要它之前的被解码的I帧。对双向预测编码帧(B帧)的解码则需要它之前的被解码的I或P帧,以及它之后的被解码的I或P帧。

    图13a表示视频流中的帧(画面)序列。这是一种帧被获取并显示的次序,我们将称这一次序为显示次序。然而,可以很容易地看到第二帧(它是B帧)在直到第五帧之前都不能被解码,第五帧是该B帧之后第一个被解码的P帧或I帧。于是,其中视频流的帧被解码的次序称之为解码次序,该次序不同于显示次序。在图13b中,箭头表示列于从左到右的显示次序中的帧的解码次序。在我们的实施例中,视频流中的被压缩的画面帧以解码次序存储,然后以解码次序发送至用户。在通过向前链路941访问的视频信息中,被压缩的画面帧以解码次序出现。

    为了支持视频信息的反向重放,示于图13c中以正向重放的显示次序从左到右排列的压缩画面帧被送往用户,并以反向链路942所示的次序解码,然后由用户以从右到左的次序显示。当用反向链路访问视频信息时,压缩视频帧将以解码的次序出现,以便反向播放图13c所示的视频信息。由于视频信息的大小是固定的,所以画面帧的开始和结束部分将不会对准视频信息边界。于是,无论何时只要以不同于正常的重放方式的次序访问视频信息,比如在反向播放、快速向前和快速向后的情况下,视频帧的第一个和最后一个视频信息将包含附加的数据。在这种情况下,或者用户必须编程去排除附加的数据,或者必须在视频信息中用填充字节来将画面边界对准视频信息。

    反向链路不存储在不包含帧的结束部分的视频信息中,因为对这些帧而言,正向链路和反向链路是相同的。

    快速向前和快速向后功能以与反向播放相同的方式被支持。链路943(参见图13d)连接包含I帧的数据的最后一个视频信息和包含下一I帧的数据的第一视频信息。于是,当用链路943访问数据,并且以比用户正常重放时接收I帧快的速率检索I帧并向用户传送,这样便得到了快进的效果。由于在正常重放中用户一般每秒接收两I帧,所以如果快进的速度是正常重放速度的15倍,那么这种方案便是很有用的。为了支持较低速度的快速向前,可以用图13d所示的链路944将所有的I和P帧连接起来。链路945和946也示于图13d中,用来以类似的方式支持两种不同速度下的倒退功能。链路943和945再一次出现在包含I帧的结束部分的视频信息中,而链路944和946再一次出现在包含I帧或P帧的结束部分的视频信息中。当这些链路不存储在视频信息中时,采用正向链路。最后,链路943和944具有它们自己的流程控制字段,这些流程控制字段分别可由链路944和946共享。

    由于每个视频信息具有不同的链路字节数,所以为每个视频信息中的最大可能的链路字段数提供存储器是一种浪费。为了最大限度地减少所需的存储器,链路字段和流程控制字段一起紧凑地存储在视频分配器的标记存储器中,并且指向每个视频信息的链路的固定大小的指针被存储在附加到视频分配器上的标记指针存储器中。现在,用视频信息的地址从标记指针存储器中得到一个指针,它接下来用于访问来自标记存储器的视频信息的链路。标记指针存储器的每一项除了指向标记存储器的指针以外,还具有一个掩码。该掩码指出存在哪些链路。

    最后,为了支持反向、快速向前和快速向后重放模式,将一个额外的字段加到从主机向视频分配器发送的控制信息上。这一字段规定重放模式。重放模式信息与ATM单元地址(以及流id)一起在总线725和540上传送,并与队列540中的ATM单元地址一起存储。于是,当从视频存储器中检索视频信息的最后一个ATM单元时,通过采用重放模式信息,从为刚刚发送的视频信息存储的链路组中选择到下一个视频信息的链路和相应的流程控制字段。

    另外的实施例

    前面部分描述的实施例采用了共享缓冲器转接器设计,视频存储器是作为共享缓冲器本身的扩展而实现的,并且从共享缓冲器检索的视频包(单元)向前送至转接器的输出适配器。在这一部分我们简要地描述不同与以上实施例的三个实施例,其中每一个都支持对网络的转接器中的预分包的视频信息的存储。

    只要在转接器的输出适配器中提供缓冲器,并且在这些适配器中具有处理能力来实现输出适配器应有的功能,那么即使转接器不以共享缓冲器设计为基础,也能将视频存储器加在转接器上。图10表示将半导体存储器集成到这种转接器中的一般方法。图10A表示通用转接器16,它具有输入链路、输出队列1250以及转接器硬件1100和它的控制器1150。图10B表示通过将视频存储器700经视频分配器直接与输出队列相连,可以将视频存储器700加到该转接器上。与最佳实施例不同,现在由视频分配器向输出适配器发送视频数据,并且视频数据在不同于通常的网络传输量的总线上到达输出适配器。现在视频存储器管理器1600也接收视频数据,并且将它写入视频存储器700。除此之外,操作的细节与基于共享缓冲器转接器的最佳实施例非常类似。

    如果象前面段落所描述的那样,半导体存储器不能直接与输出适配器相连,那么可以用转接器的输入链路来连接半导体存储器,如图11所示。视频存储器700”现在具有多个与转接器的输入相连接的口800”。输入适配器经改进包括视频分配逻辑电路。每个改进的输入适配器200”具有流控制表并具有对经它访问的视频流进行视频分配的功能。除了转接器硬件的接口不再是宽的共享总线外,输出适配器250”与250相同。这种方法的缺点是需要更多的转接硬件来支持相同的视频通过量,因为视频既通过输入又通过输出适配器。在前面讨论的设计中,转接器可以具有较少的输入适配器,因为视频数据的传输量主要直接集中在输出适配器中。当用较少的输入适配器时,不仅节省了输入适配器的硬件,而且也可以采用较小的转接器。

    最后,在所有前面的设计中,可以用基于盘790的阵列的存储器来代替半导体存储器,特别是如果被支持的信息流数不是太大的话。小的半导体缓冲器795预取当前正在被活动视频流访问的视频部分。这一预取可以被准确地调度,因为对视频数据的存取主要是串行的。对系统的其余部分,缓冲器看起来完全是所有视频内容的源。图12表示这一方法。

    参考文件[1]Craig Partridge,"Gigabit Networking,"Addison Wesley Publishing Co.,Reading,Mass.01867,ISBN 0-201-56333-9,Oct.1993.[2]M.J.Bach,″The design of the Unix operating system",Prentice Hall Inc.,Englewoods Cliffs,NJ,07632,ISBN 0-13-201799-7025,1986.[3]H.M.Vin and P.V.Rangan,"Designing a multiuser HDTV storagc server,"IEEE Jour.on Selected Areas in Communications,11(1),Jan.1993,pp.153-164.[4]D.Kandlur,M.S.Chen,and Z.Y.Shae,"Design of a multimcdia storageserver,"In IS&T/SPIE symposium on Electronic Imaging Science and Technol-ogy,(San Jose,CA 1994).[5]A.Dan and D.Sitaram,"Buffer management policy for an on-dcmand vidcoserver,"IBM Research Report RC 19347.[6]A.Dan and D.Sitaram,"Scheduling policy for an on-dcmand video scrvcrwith batching,"IBM Research Report RC 19381.[7]R.Haskin,"The Shark continuous media file server,"Proc.IEEECOMPCON 1993 (San Francisco CA,1993).[8]W.Rosenberty et.al.,"Undcrstanding DCE," O’Reillcy and Associates Inc.,103 Morris Street,Suite A,Scbastopol,CA 95472,ISBN 1-56592-005-8,Sept.1992.

提供多媒体信息的半导体存储器服务器.pdf_第1页
第1页 / 共43页
提供多媒体信息的半导体存储器服务器.pdf_第2页
第2页 / 共43页
提供多媒体信息的半导体存储器服务器.pdf_第3页
第3页 / 共43页
点击查看更多>>
资源描述

《提供多媒体信息的半导体存储器服务器.pdf》由会员分享,可在线阅读,更多相关《提供多媒体信息的半导体存储器服务器.pdf(43页珍藏版)》请在专利查询网上搜索。

本发明涉及将多媒体视频数据从服务器(主处理器)向多个与通信网络连接的用户传送的方法和装置。更具体地说,经预处理的视频和多媒体数据包存储在网络的转接器中。当用户要求接收视频和多媒体数据时,向主处理器发送一个请求,主处理器再向存储被请求数据的转接器发送一个控制信息。这些转接器再向请求的用户发送被请求的数据。如果数据没有存储在转接器中,那么数据必须向前直接从服务器到达请求的用户。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1