互联网网络设备和使用该设备发送数据的方法

文档序号:7925216阅读:244来源:国知局
专利名称:互联网网络设备和使用该设备发送数据的方法
技术领域
本发明涉及一种可将数据发送到客户机的互联网网络设备,具体地,涉 及一种通过网络将数据发送到多个客户机的互联网网络设备,以及使用该设 备发送数据的方法。
背景技术
在包括存储不同程序文件和大量数据的服务器和连接到网络的客户机的 互联网网络系统中,必须在服务器和客户机之间准确和快速地发送数据。
为了在服务器和客户机之间准确地发送数据,实时检查应发送的数据的 大小是重要的。具体地,当一条数据被发送到多个客户机时,由于发送到各 个客户机的数据的大小可根据网络的环境而改变,故需要测量发送到每个客 户机的数据的大小以准确地将数据发送到所有客户机。

发明内容
本发明的目的在于提供一种可准确地确定通过网络将数据平滑发送到客 户机的传输率的互联网网络设备,和一种使用该互联网网络设备的发送数据 的方法。本发明也提供了 一种用于将数据发送到多个客户机的互联网网络设 备(其中,该互联网网络设备可确定平滑发送数据的传输率),和一种使用该互 联网网络设备发送数据的方法。
根据本发明的一方面,提供一种互联网网络设备包括编码器,对源数 据进行编码并产生通信单元输入数据;通信单元,通过应用层、传输层、互 联网协议(IP)层和网络连接层将通信单元输入数据顺序发送到客户机;传输率 确定单元,将通信单元输入数据与通信单元输出lt据或客户机输入数据进行比较,其中,该通信单元输出数据至少通过传输层^皮发送并且从通信单元输
出,该客户机输入数据被发送到至少一个客户机;和传输率控制单元,用于
响应于传输率确定单元的比较结果来控制编码器。
传输率确定单元可包括第一测量单元,测量通信单元输入数据的大小; 第二测量单元,测量通信单元输出数据的大小或客户机输入数据的大小;和
确定单元,将第一测量单元测量的通信单元输入数据的大小与被第二测量单 元测量的通信单元输出数据的大小或客户机输入数据的大小进行比较。源数 据可为图像数据。传输率控制单元可响应于传输率确定单元的比较结果控制 编码器调整从包括图像数据的帧率、比特率和分辨率的组合中选择的任何一 个。当所述传输率确定单元确定第一测量单元测量的第一数据的大小小于第 二测量单元测量的第二数据的大小时,所述传输率控制单元可减小图像数据 的帧率、比特率或分辨率。
传输率确定单元可包括第一测量单元,测量通信单元输入数据的大小; 第二测量单元,测量输入到至少一个客户机的客户机输入数据的大小;计算 单元,计算客户机输入数据的平均大小;和确定单元,将第一测量单元测量 的通信单元输入数据的大小与计算单元计算的客户机输入数据的平均大小进 行比较。所述计算单元可将修正值与平均值相加来产生近似平均大小,所述 确定单元可将通信单元输入数据的大小与近似平均大小进行比较。源数据可 以是图像数据。所述传输率控制单元可响应于传输率确定单元的比较结果控 制编码器调整从包括图像数据的帧率、比特率和分辨率的组合中选择的任何 一个。当所述传输率确定单元可确定第一测量单元测量的第一数据小于第二 测量单元测量的第二数据时,所述传输率控制单元减小图像数据的帧率、比 特率或分辨率。
通信单元可包括环状緩沖区,临时存储通信单元输入数据;输入控制 单元,控制通信单元输入数据的存储;和输出控制单元,控制存储数据的输 出。
输入控制单元可根据输入指针、环状緩冲区的容量和之前存储的数据的 大小来控制将数据存储于环状緩冲区。
输出控制单元可根据输出指针、关于最后图像的帧的顺序的信息和顺序 来控制从环状緩沖区读取数据。
客户机可具有输出指针(Pout)。因此,当多个客户机连接到互联网网络设备时,各个客户机可分别接收从环状缓冲区输出的数据。由于指定了复制通 信单元输入数据的环状緩沖区的地址的输入指针和输出指针被分别控制,故 环状緩冲区可被一个输入和多个输出所使用。
根据本发明的另 一个方面,提供了 一种使用互联网网络设备发送数掂的 方法,其中,该方法通过将源数据输入,对源数据进行编码,将编码数据输 入到通信单元,通过通信单元的应用层、传输层、IP层和网络连接层将数据
顺序发送到至少一个客户机来执行,该方法还包括测量从通信单元输出的
通信单元输出数据的大小或发送到客户机的客户机输入数据的大小,其中,
该通信单元输出数据和客户机输入数据至少通过传输层被发送;将通信单元 输出数据的大小或客户机输入数据的大小与通信单元输入数据的大小进行比 较;根据比较结果来控制源数据的编码。源数据可为图像数据。该方法还可 包括当通信单元输出数据的大小或客户机输入数据的大小大于通信单元输 入数据的大小时,将源数据进行编码以减小通信单元输入数据的帧率、比特 率或分辨率。
该方法还可包括计算输入到多个客户机的客户机输入数据的平均大小; 将通信单元输入数据与客户机输入数据的平均大小进行比较。源数据可为图 像数据。该方法还包括当客户机输入数据的平均大小大于通信单元输入数 据的大小时,将源lt据进行编码以减小通信单元输入数据的帧率、比特率或 分辨率。
该方法还可包括通过将修正值与平均大小相加来计算客户机输入数据 的近似平均大小;将通信单元输入数据与客户机输入数据的近似平均大小进 行比较。源数据可为图像数据。该方法还可包括当客户机输入数据的近似 平均大小大于通信单元输入数据时,将源数据进行编码以减'』、通信单元输入 数据的帧率、比特率或分辨率。
该方法还可包括根据输入指针、环状緩沖区的容量和之前存储的数据 的大小来复制通信单元输入数据并且将通信单元输入数据存储于环状緩冲 区;根据输出指针、关于最后图像的帧的顺序的信息和顺序从环状缓冲区读 取数据。


通过下面结合附图进行的对本发明示例性实施例的详细描述,本发明的上述和其他特点和优点将会变得更加清楚,其中
图1是示出根据本发明实施例的互联网网络系统的示意图2是示出根据本发明实施例的互联网网络设备的框图3是示出#4居本发明实施例的包括在图2的互联网网络设备中的传输
率确定单元的框图4是示出根据本发明另一实施例的包括在图2的互联网网络设备中的
传输率确定单元的框图5是示出根据本发明实施例的服务器(即,图2中的互联网网络设备)
的传输率控制单元的框图6是示出根据本发明实施例的数据被临时存储于具有用于数据传输的
一个输入和多个输出的环状緩沖区的过程的框图,其中,该过程在图2的互
联网网络设备的应用层被执行;
图7是图6中示出的输入控制单元的框图; 图8是图6中示出的输出控制单元的框流程图10是示出根据本发明实施例的通过调整比特率来控制编码的方法的 曲线图,该方法是图2所示的控制编码的操作的例子。
具体实施例方式
以下,通过参照附图详细说明本发明的示例性实施例来描述本发明。
图1示意性示出根据本发明实施例的互联网网络系统。在当前实施例中, 通过网络在不同种类的系统之间使用n到1通信将在服务器100中产生的图 像数据发送到多个客户机。图1中示出的服务器100是根据本发明实施例的 互联网网络设备,但本发明并不限于此。例如,当数字录像机(DVR)或互联 网协议(IP)相机可各自处理互联网通信时,互联网网络设备可以是数字图像处 理设备(例如DVR),或者IP相机可以是互联网网络设备。
具体地,参考图1,在互联网网络系统中,从DVR IO或数字相机11输 入的图像数据存储于服务器100,服务器100将存储的图像数据提供给多个 客户机200、 210、 220和230。
在当前实施例中,只示出了发送的图像数据,但本发明并不限于此。即,文本数据、音频数据等都可被发送。
服务器100将从通信单元输出的数据的大小或输入到客户机200、 2()、 220和230的数据的大小与编码数据的大小一起测量,然后对所述大小进行 比较。响应于比较结果,服务器IOO控制将输入到服务器100的数据进行编 码以平滑发送数据。
此外,在当前实施例中,当客户机1(200)、 2(210)、 3(220)和4(23())连接 到服务器100时,由于客户机1(200)、 2(210)、 3(220)和4(230)通过使用包括 在客户机1(200)、 2(210)、 3(220)和4(230)中的各自的数据输出指针(Pout)来接 收各自的数据,故服务器100可测量为每个客户机发送的数据的大小。基于 数据的大小,服务器100可控制输入到服务器100的数据的编码。
以下,将参考图2对作为互联网网络设备的例子的服务器IOO进行更详 细的描述。当源数据输入到服务器100时,服务器100的编码器110对源数 据进行编码。然后,编码数据被发送到通信单元120。编码数据被称为通信 单元输入数据。当源数据是图像数据,具体地,是运动图像数据时,可使用 MPEG-4编码对源数据进行编码。
编码数据根据包含层结构的通信协议在服务器100与第一和第二客户机 200和210之间^皮发送。从而,通信单元120根据包括应用层121、传输层 122、 IP层123和网络连接层124的通信协议将数据发送到第一客户机200 和第二客户机210,并从200和210接收数据。
更详细地,应用层121、传输层122、 IP层123和网络连接层124与第 一和第二客户机200和201的每个的应用层201或211、传输层202或212、 IP层203或213和网络连接层204或214分别共享信息。例如,应用层121 与第一和第二客户机200和201的每个的应用层201或211共享信息。应用 层121发送根据用户的应用输入的数据。
传输层122针对应用层121发送的数据维持稳定的发送状态,并且将待 发送到客户机的消息转换为多段。此外,在错误的情况下,传输层122指示 错误已被修改,然后将该消息发送到客户机。
IP层123通过网络在进行通信的处理器共享包。即是,IP层123设置、 维持并终止在服务器100与第一和第二客户机200和210之间的连接,并且 选才奪和管理地址设置、路径设置和网络功能。因而,IP层123检查在节点之 间的连接是否断开。当在节点之间的连接断开时,IP层123恢复连接。网络连接层124发送用于同步数据传输的控制信号、用于连接、通信和 断开连接的控制信号、用于与通信介质协调数据的信号等。
在整个说明书中,通信单元输出数据或客户机输入数据是指至少通过传
输层122发送的数据。因此,根据本发明,包括控制数据(即,传输控制协议 (TCP)报头)的至少通过服务器100的传输层122而被封装的数据的大小被测 量。
具体地,传输率确定单元130不仅测量输入到通信单元120的数据(即, 通信单元输入数据)的大小,还测量通过通信单元120,具体地,通过传输层 122发送的数据的大小。即是,传输率确定单元130对通信单元输出数据的 大小或客户机输入数据的大小进行测量。通常,数据被从应用层发送到传输 层,然后该发送数据的大小被测量。即是,应用层确定发送数据的大小,并 且控制基于测量的大小而输入的数据的大小。因此,测量的发送数据的大小 可与实际输入到客户机的数据的大小不同,从而,确定正确的传输率是困难 的。然而,如上所述,对至少通过传输层122发送的数据的大小进行了测量, 并且确定通信单元输入数据的大小。因此,可正确地对传输率进行测量。传 输层122搜索并修正数据丢失,并且执行顺序重组。通过在传输层122封装 的控制数据(即是,TCP报头),可正确地确定从通信单元120输出的或输入 到第一和第二客户机200和210的传输率。
因此,传输率确定单元130对作为至少通过服务器100的传输层122封 装的控制数据的TCP报头进行监控,然后对从通信单元120输出的数据的大 小或输入到第一和第二客户机200和210的各个数据的大小进行测量。输入 到第一客户机200的第一客户机输入数据的大小和输入到第二客户机210的 第二客户机输入数据的大小可被单独测量。
更具体地,可通过Syn/Ack结构正确地确定传输率。通信单元120执行 当前发送数据的大小(Syn)和之前发送数据的大小(Ack)的同步。因此,通信单 元120可通过监控这两个大小来确定传输率。此时,当多个客户机连接到服 务器100时,可通过对每个客户机接收到的Ack值进行求和,然后将Ack值 除以客户机的数量以获得平均Ack值来计算传输率。此外,可通过将修正值 与平均Ack值相加来调整客户机输入数据的大小。
传输率确定单元130将通信单元输入数据的大小与通信单元输出数据的 大小进行比较。或者,传输率确定单元130将通信单元输入数据的大小与客户机输入数据的大小或输入到多个客户机的数据的平均大小进行比较。
根据传输率确定单元130的比较结果的控制信号被发送到传输率控制单
元140。然后,传输率控制单元140控制编码器110针对源数据改变编码数 据和设置条件的方法,从而控制传输率。
关于传输率确定单元130的比较结果,如果确定通信单元输入数掂的大 小小于通信单元输出数据的大小或客户机输入数据的大小,则确定互联网网 络设备发送数据过载,从而必须减小通信单元输入数据大小。例如,关于图 像数据,可通过调整图像数据的分辨率、帧率、比特率等来控制通信单元输 入数据的大小。图3是示出根据本发明实施例的包括在图2的互联网网络设 备中的作为服务器100的传输率确定单元130例子的传输率确定单元130a的 框图。
传输率确定单元130a可包括第一测量单元31,测量通信单元输入教 据的大小;第二测量132a,测量通信单元输出数据的大小或客户机输入数据 的大小;和确定单元135a,将被第一测量单元131测量的大小与第二测量单 元B2a测量的大小进行比较。
第一测量单元131周期性地对从编码器IIO(见图2)为每个独立的频道输 入的通信单元输入数据的包的大小进行测量以获得包的大小的统计。
第二测量132a对在连接到客户机的网络传输线路中客户机输入数据的 包的TCP报头进行监控,然后分析用于将执行通信操作的程序与其它程序进 行区分的源IP地址、目标IP地址和端口号,分析用于示出在待发送的整个 数据当中当前发送的包头数据的字节顺序的序列号,以及分析用于示出到达 接收方的数据的字节顺序的确认(ack)号。通过对这些要素进行分析和计算, 可周期性测量传输率。
此外,第二测量132a可通过使用至少通过传输层122(见图2)封装的控 制数据来测量通信单元120(见图l)的通信单元输出凄丈据的包的大小。
将第一测量单元131和第二测量132a测量的大小发送到确定单元135a, 然后确定单元135a对所述数据的值进行比较。
具体地,当通信单元输出数据的大小或客户^L输入数据的大小与通信单 元输入数据的大小不同时,确定单元135a根据这种情况产生控制信号,并将 该控制信号发送到传输率控制单元140(见图2)。此外,传输率控制单元140 控制编码器IIO(见图2)产生与通信单元输出数据或客户机输入数据相同大小的通信单元输入数据。
作为在图2中示出的传输率确定单元130的另一例子,将参考图4对传 输率确定单元130b进行描述。在当前实施例中,以确定针对多个客户机的传 输率的传输率确定单元130b为示例。在图3和图4中相同的标号始终表示相 同的部件,从而可根据与传输率确定单元130a的差别描述传输率确定单元 130b。
传输率确定单元130b可包括第一测量单元131,测量通信单元输入数 据的大小;第二测量单元132b,分别测量输入到多个客户机的数据的大小; 计算单元133,计算输入到所述客户机的数据的平均大小或近似平均大小, 其中,该数据的大小从第二测量单元132b被提供;和确定单元136b,将通 信单元输入数据的大小与所述平均大小或近似平均大小进行比较。
在多个客户机的情况下,第二测量单元132b可分别测量输入到客户机的 数据的大小。
此外,计算单元133将输入到客户机的数据的大小相加以计算数据的平 均大小,其中,所述数据的大小由第二测量单元132b提供。例如,当产生 100字节的数据时,80字节的数据被发送到第一客户机,40字节的数据被发 送到第二客户机,平均传输率是60字节。可通过使用平均传输率来确定和控 制传输率。然而,实际上,可通过使用作为平均传输率与预定修正值的和的 近似平均传输率来确定和控制传输率。
例如,当平均大小为60字节的数据被发送到客户机时,传输率是6()%。 因此,通过将修正值6与平均大小相加而获得66%的近似平均大小。由于当 通信单元输入数据的大小根据60字节的传输率而被直接减小到60%时,通信 单元120(见图2)对网络的变化十分敏感而将修正值加6。
更详细地,由于以百的倍数调节传输率较复杂,故以十的倍数表达传输 率,所以选4奪修正值6。因此,最初计算的修正值被除以10。例如,如果修 正值是57%,则最终^修正值是57/10=5。实际上,由于57%相比50%更相近 于60%,故使用(57+6)/10=6以获得舍入值60。从而,选择修正值6。
确定单元136b将计算单元133提供的平均大小或近似平均大小与第一测 量单元131提供的通信单元输入数据的大小进行比较。当平均大小与通信单 元输入值的大小不同时,或当近似平均大小与通信单元输入值的大小不同时, 将相应于这种情况的控制信号发送到传输率控制单元l恥(见图2)。现在,将参考图5对传输率控制单元140(见图2)进行更详细地描述。在 当前实施例中,关于图像数据,将控制图像数据的大小的传输率控制单元140 作为示例。
传输率控制单元140可包括分辨率控制单元141、帧率控制单元142和 比特率控制单元143中的至少一个。
关于图像数据,由于图像数据根据其分辨率大小而不同,故传输率控制 单元140可包括分辨率控制单元141,用于为了改变图像数据的大小而对分 辨率进行调整。因此,当通信单元输入数据的大小不同于通信单元输出数据 的大小或客户机输入数据的大小时,确定单元135a或135b(见图3或图4)可 调整分辨率以使通信单元输入数据的大小与通信单元输出数据的大小或客户 机输入数据的大小相匹配。
在多个客户机的情况下,输入到客户机的数据的平均大小以及作为平均 大小与修正值的和的近似平均大小可与通信单元输入数据的大小进行比较。 例如,当通信单元输出数据的大小或客户机输入数据的大小小于通信单元输 入数据的大小时,由于确定了通信单元过载,从而需要减小通信单元输入数 据的大小。在多个客户机的情况下,当平均大小或近似平均大小小于通信单 元输入数据的大小时,控制减小通信单元输入数据的大小。即是,需要控制 编码器产生与通信单元输出数据、客户机输入数据相同大小、平均大小或近 似平均大小的通信单元输入数据。从而,当对源数据进行编码时,控制编码 器IIO(见图2)减小当前的分辨率。
当包括多个帧的运动图像数据被发送时,帧率控制单元142可通过相应 于每秒钟发送的帧数来调整帧率以调整运动图像数据的大小。为了减小运动 图像数据的大小需要减小帧率,而为了增加运动图像数据的大小须要增加帧 率。
比特率控制单元143也可控制数据的大小。例如,为了减小数据的大小 而减小比特率,为了增加数据的大小而增加比特率,从而调整数据的大小。 该比特率的控制根据常规方法被执行,并且将参考图IO对其进行更详细地描 述。
当将一条数据发送到多个客户机1(200)和2(210)时,客户机1(200)和 2(210)可通过使用环状緩冲区分别接收数据,将参考图6进行描述。因此,发 送到客户机1(200)和2(210)的数据的大小可被测量,并且与输入数据的平均大小相比较,从而控制传输率。
对发送到客户机1(200)和2(210)的数据的平均大小(即,客户机输入数据 的平均大小)进行计算。此时,当确定平均大小不同于通信单元输入数据的大 小时,可控制通信单元输入数据的大小与客户机输入数据的平均大小相等。 即是,可控制输入数据的编码使通信单元输入数据的大小与客户机输入数掂 的平均大小或客户机输入数据的最小大小匹配。
此外,当为每个客户机对源数据分别进行编码时,或当为每个预定客户 机组对源数据分别进行编码时,可控制通信单元输入数据的大小以使通信单 元输入数据的大小与输入到客户机的数据的平均大小或输入到客户机组的数 据的平均大小匹配。即是,可为每个客户机控制对源数据进行编码。
图6是示出数据被临时存储于具有用于数据传输的一个输入和多个输出 的环状緩沖区121b的过程的框图,其中,该过程在图2的互联网网络设备的 应用层121被执行。
参考图6,通信单元120的应用层121包括输入控制单元121a、环状 緩沖区121b和第一和第二输出控制单元121c和121d。
通过输入控制单元121a为每个频道输入的数据被输入到环状緩沖区 121b。然后,客户才几通过第一和第二输出控制单元121c和121d读取记录在 环状緩冲区121b的数据。所述数据由编码器提供。
环状緩冲区1211^皮用于每个频道。环状緩冲区]21b包括相应于连接到 环状緩沖区121b的各客户机的输出指针(Pout),因此自动通信量控制(八TC) 算法可被用于每个客户机。即是,由于环状緩冲区121b在输出数据输入到环 状緩冲区121b时异步操作,并且输入速率和输出速率不会相互影响,所以环 状缓沖区121b可实时处理图像数据。此外,即使客户机由于低传输率承受处 罚而不能接收图像数据,也不影响对其它图像数据的输入和输出操作。
输入控制单元121a在环状缓沖区121b中顺时针临时存储数据。此时, 当在一个轮转后环状緩沖区121b没有用于存储数据的空间时,之前的数据被 移除,然后当前数据被存储于环状緩冲区121b。因此,将发送的数据总是在 环状緩冲区121b中存在。当数据被顺时针存储于环状緩冲区121b时,总是 可输出数据。
通过参考图7,将会对输入控制单元121a进行更详细地描述。 输入控制单元121a通过使用例如表示关于可存储数据的环状缓冲区121b的地址的信息的当前输入指针(Pin)、可存储于环状緩冲区121b的数据 的最大大小以及之前存储的数据的大小的参数来控制环状緩沖区121 b存储数据。
具体地,关于环状緩沖区121b,通过之前在X1的输入指针(Pin)处顺时 针存储数据,可存储当前数据的输入指针是X2,可存储于环状緩冲区121b 的数据的大小是Y,之前存储的数据的大小是输入指针X2处的S。因此,可 将当前数据存储于输入指针X2并且可顺时针存储大小为(Y-S)的数据。
此外,如下所述将数据从环状緩冲区121b输出。当客户机最初连接到环 状緩冲区121b时,客户机将最前面的数据作为指针接收。第一客户机通过第 一输出控制单元121c从Xl的输出指针顺时针接收数据。此时,检查最后发 送的数据是否根据关于最后发送的数据的顺序的信息被当前输出的数据所跟 随。如果顺序正确,则数据可被发送到第一客户机。第二客户机可通过第二 输出控制单元121d读取数据。
上述的输出数据的操作可由第一和第二输出控制单元121c和121d执行。 为了示出为每个客户机输出数据的单独的操作,分别示出相应于各客户机的 第一和第二输出控制单元121c和121d。然而,由于第一和第二输出控制单元 121c和121d根据相同的原理输出数据,故只在图8中详细示出第一输出控制 单元121c。因而,图8中的第二输出控制单元121d与第一输出控制单元121c 具有相同的结构。
参考图8,第一输出控制单元121c包括可被存储的关于最后发送的数 据的顺序的信息和输出指针。此外,该第一输出控制单元121c还包括顺序确 定单元,确定最后发送的数据是否被当前发送的数据所跟随。
当数据是图像数据时,第一输出控制单元121c可存储关于最后发送的图 像数据的帧的顺序的信息,并且可确定最后发送的图像数据是否被当前发送 的图像数据所跟随。由于对于环状緩冲区121b,输入数据的操作在输出的操 作之前,第一输出控制单元121c确定数据的顺序。由于在环状緩冲区121b 中之前数据被移除而当前数据可被存储,所以需要检查被输出指针指示的数 据是否被当前发送的数据所跟随。例如,由于因输入指针而具有慢带宽速率 的客户机需要的数据可能不被发送,故须要记住最后发送的帧的顺序。
由于对于每个客户机可存在输出指针,故对客户机输出数据的操作不会 互相影响。因此,如图6所示,对于每个客户机可同时存在输出控制单元。例如,
第一客户;f几可具有第一输出控制单元121c,第二客户^/L可具有第二输出控制 单元121d。
如上所述,当将一条数据发送到多个客户机时,根据当前实施例的环状 缓沖是有用的方法。具体地,当传输率确定单元130(见图2)测量客户机输入 数据时,由于传输率确定单元130根据各个客户机的输出指针的信息为每个 各自的客户机从环状緩冲区121b接收数据,故输入到各个客户机的数据可被 分别测量。此外,每个各自的客户机的传输率被测量,然后将传输率与传输 率的平均值或传输率的近似平均值相比较。当传输率不同于传输率的平均值 或传输率的近似平均值时,可控制输入数据的编码以使传输率与传输率的平 均值或传输率的近似平均值一致。或者,可控制输入数据的编码以使传输率 与客户机输入数据的最小大小 一致。
图9是示出根据本发明实施例的由互联网网络设备发送数据的方法的流 程图。在当前实施例中,多个客户机连接到互联网网络设备,即是,服务器。
参考图9,输入源数据(操作SIOO),并将源数据编码(操作S20())。
编码数据被输入到服务器的通信单元(操作S300),且该数据被临时存储
于通信单元的环状緩冲区(操作S恥0)。
从通信单元输出数据(操作S500),且将数据发送到各个客户机(操作 S600)。
此时,不管才喿作S600如何,对在操作S300中输入到通信单元的通信单 元输入数据的大小进行测量(操作S310)。
对在操作S500中从通信单元输出的通信单元输出数据的大小进行测量 (操作S510)。此外,对在操作S600中发送到各个客户机的客户机输入数据的 大小进行测量(操作S610)。然后,对输入到客户机的客户机输入数据的平均 大小或近似平均大小进行计算。近似平均值指平均大小和预定的修正值的和。 此外,通信单元输出数据的大小或客户机输入数据的大小是至少通过通信单 元的传输层发送的数据的大小。因此,通过封装在传输层的控制数据的TCP 报头测量通信单元输出数据的传输率或客户机输入数据的传输率。
将上述数据的大小进行比较。具体地,将通信单元输入数据的大小与通 信单元输出数据的大小或客户机输入数据的大小(在单个客户机的情况下)进 行比较,或者,确定通信单元输入数据的大小是否等于平均大小或近似平均大小(操作S620)。
作为确定结果,当数据的大小相互不同时,控制输入数据的编码以使通 信单元输出数据的大小或客户机输入数据的大小与通信单元输入数据的大小 一致(操作S630)。例如,当源数据是图像数据,通信单元输出数据的大小或 客户机输入数据的大小小于通信单元输入数据的大小、平均大小或近似平均 大小,通过减小分辨率、帧率或比特率来控制编码以使通信单元输入数据的 大小与通信单元输出数据的大小或客户机输入数据的大小匹配。 当所述大小相同时,可维持当前编码状态(操作S640)。 参考图10,当通信单元输入数据的大小不同于通信单元输出数据的大 小、客户机输入数据的大小和平均大小或近似平均大小时,调整比特率以如 上所述控制编码。
当帧率较低时,比特率的变化较大。从而,图IO示出了显示通过使用各 种样本而归纳得出的比特率和帧率之间关系的曲线图。该曲线图将比特率调
整与传输率对比示出。
为了调整比特率,选择了相应于帧率的曲线(plot),相应于传输率的减小 的比特率调整可从选择的曲线而得到。在图10中,帧率的曲线"a"、 "b"、 "c" 和"d"分别是30到20、 19到10、 9到5和4到1。
例如,当帧率是25时,曲线"a"被选择。当传输率从4.5减小到3.5 时,可以看到比特率大约减小了 10%。传输率可被表示为传输率对比时间。
才艮据以上的本发明的实施例,通过确定至少通过通信单元的传输层发送 的数据的大小,可正确地确定在服务器和客户机之间的传输率。具体地,通 过比较通信单元输入数据的测量大小与输出数据的大小(即,通信单元输出数 据的大小或客户机输入数据的大小),当客户机输入数据的大小小于通信单元 输入数据的大小时,即是,当确定互联网网络装置传输数据过载时,调整通 信单元输入数据的大小以使通信单元输入数据的大小与输出数据的大小匹 配。从而,可在服务器和客户机之间平滑传输需要的数据。
此外,通信单元的应用层使用通过所述单输入多输出(SIM())环状緩冲 区,客户机可使用自身的输出指针分别接收数据,从而即使将一条数据发送 到多个客户机也可分别确定发送到各个客户机的传输率。通过基于传输率而 控制数据的编码,优化标准数据可被发送到所有客户机。
系统可被执行于任何一个通用计算机或多个计算机,并且所述组件可被实现为专用应用或基于网络架构的客户服务器架构。任何计算机可包括处理 器、用于存储程序数据并执行程序数据的存储器、例如箱玄盘驱动器的永久存 储器、用于处理与外部装置通信的通信端口和包括显示器、键盘、鼠标等的 用户界面装置。当涉及软件模块时,这些软件模块可存储为可在介质(例如,
磁带、CD-ROM等)上的处理器执行的程序指令,其中,该介质可被计算机读 取、可被存储于存储器,并且可被处理器所执行。
为了促进本发明的原理的理解,对附图中示出的优选实施例做了描述, 并使用特定语言对这些实施例进行了描述。然而,通过这些特定语言不是对 本发明的范围做出的限定,本领域的普通技术人员应当理解本发明包括正常 出现的所有实施例。
可用功能块组件和不同的处理步骤来描述本发明。这些功能块可被任何 数量的被配置执行特定功能的硬件和/或软件组件实现。例如,本发明可使用 在一个或多个微处理器或其它控制装置的控制下实现各种功能的各种集成电 路组件(例如,存储器部件、处理部件、逻辑部件、查找表等)。类似地,在使 用软件程序或软件组件实现本发明的组件时,本发明可以以任何程序或例如 C、 C++、 Java、汇编等的脚本语言以it据结构、对象、处理、程序或其它程 序组件的任何组合实现的各种算法实现。此外,本发明可使用任何数量的用 于电子配置、信号处理和/或控制、数据处理等的传统技术。词语机制被广泛 使用并不限于机械的或物理的实体,但可包括结合处理器等的软件程序。
在此显示和描述的具体实现是本发明示例性示例,其意图不是以任何形 式限制本发明的范围。为了简洁的目的,没有详细描述常规电子、控制系统、 软件开发和其它系统的功能方面(和系统的独立操作组件的组件)。此外,在各
/或物理或逻辑组合。应该注意在实际装置中可存在许多选择或附加功能关 系、物理连接或逻辑连接。此外,除非部件被具体描述为"必要的"或"关 键的",没有项目或组件对本发明的实施是必要的。在不脱离本发明的精神和
权利要求
1、一种互联网网络设备包括编码器,用于对源数据进行编码并产生通信单元输入数据;通信单元,用于通过应用层、传输层、互联网协议(IP)层和网络连接层将通信单元输入数据顺序发送到客户机;传输率确定单元,用于将通信单元输出数据或客户机输入数据与通信单元输入数据进行比较,该通信单元输出数据至少通过传输层被发送并且从通信单元输出,该客户机输入数据被发送到至少一个客户机;和传输率控制单元,用于响应于传输率确定单元的比较结果来控制编码器。
2、 如权利要求l所述的设备,其中,所述传输率确定单元包括 第 一测量单元,用于测量通信单元输入数据的大小;第二测量单元,用于测量通信单元输出数据的大小或客户机输入数据的 大小;和确定单元,用于将第一测量单元测量的通信单元输入数据的大小与第二 测量单元测量的通信单元输出数据的大小或客户机输入数据的大小进行比 较。
3、 如权利要求2所述的设备,其中,所述源数据是图像数据。
4、 如权利要求3所述的设备,其中,配置所述传输率控制单元响应于传 输率确定单元的比较结果控制编码器调整从包括图像数据的帧率、比特率和 分辨率的组合中选择的任何一个。
5、 如权利要求4所述的设备,其中,当配置所述传输率确定单元确定第 一测量单元测量的第一数据的大小小于被第二测量单元测量的第二数据的大 小时,配置所述传输率控制单元减小图像数据的帧率、比特率或分辨率。
6、 如权利要求l所述的设备,其中,所述传输率确定单元包括 第 一测量单元,用于测量通信单元输入数据的大小;第二测量单元,用于测量被输入到至少一个客户机的客户机输入数据的大小;计算单元,用于计算客户机输入数据的平均大小;和确定单元,用于将第一测量单元测量的通信单元输入数据的大小与计算单元计算的客户机输入数据的平均大小进行比较。
7、 如权利要求6所述的设备,其中,配置所述计算单元将修正值与平均 值相加来产生近似平均大小,配置所述确定单元将通信单元输入lt據的大小与近似平均大小进行比较。
8、 如权利要求6所述的设备,其中,所述源数据是图像数据。
9、 如权利要求8所述的设备,其中,配置所述传输率控制单元控制响应 于传输率确定单元的比较结果控制编码器调整从包括图像数据的帧率、比特 率的分辨率的组合中选择的任何一个。
10、 如权利要求9所述的设备,其中,当所述传输率确定单元确定第--测量单元测量的第一数据小于第二测量单元测量的第二数据时,配置所述传输率控制单元减小图像数据的帧率、比特率或分辨率。
11、 如权利要求10所述的设备,其中,所述通信单元包括 环状緩冲区,用于临时存储通信单元输入数据; 输入控制单元,用于控制通信单元输入数据的存储;和 输出控制单元,用于控制存储数据的输出。
12、 如权利要求11所述的设备,其中,配置所述输入控制单元根据输入 指针、环状緩冲区的容量和之前存储的数据的大小将数据存储于环状緩冲区。
13、 如权利要求11所述的设备,其中,配置所述输出控制单元根据输出 指针、相关于最后图像的帧的顺序的信息以及顺序来控制从环状缓沖区读取数据。
14、 如权利要求B所述的设备,其中,所述客户机具有输出指针。
15、 一种使用互联网网络设备发送数据的方法,该方法包括 输入源数据;对源数据进行编码; 将编码数据输入到通信单元;通过通信单元的应用层、传输层、IP层和网络连接层将数据顺序发送到 至少一个客户才儿;测量从通信单元输出的通信单元输出数据的大'J、或发送到客户机的客户 机输入数据的大小,其中,该通信单元输出数据和客户机输入数据至少通过 传输层被发送;将通信单元输入数据的大小与通信单元输出数据的大小或客户机输入数据的大小进行比较;根据比较结果来控制源数据的编码。
16、 如权利要求15所述的方法,其中,所述源数据是图像数据。
17、 如权利要求16所述的方法,还包括当通信单元输出数据的大小或客户机输入数据的大小大于通信单元输入 数据的大小时,将源数据进行编码以减小通信单元输入数据的帧率、比特率或分辨率。
18、 如权利要求15所述的方法,还包括 计算输入到多个客户机的客户机输入数据的平均大小;将通信单元输入数据与客户机输入数据的平均大小进行比较。
19、 如权利要求18所述的方法,其中,所述源数据是图像数据。
20、 如权利要求19所述的方法,还包括当客户机输入数据的平均大小大于通信单元输入数据的大小时,将源数据进行编码以减小通信单元输入数据的帧率、比特率或分辨率。
21、 如权利要求18所述的方法,还包括通过将修正值与平均大小相加来计算客户机输入数据的近似平均大小; 将通信单元输入数据与客户机输入数据的近似平均大d 、进行比较。
22、 如权利要求21所述的方法,其中,所述源数据是图像数据。
23、 如权利要求19所述的方法,还包括当客户机输入数据的近似平均大小大于通信单元输入数据的大小时, 将源数据进行编码以减小通信单元输入数据的帧率、比特率或分辨率。
24、 如权利要求19所述的方法,还包括根据输入指针、环状緩沖区的容量和之前存储的数据的大小来复制通信 单元输入数据并且将通信单元输入数据存储于环状緩冲区;根据输出指针、关于最后图像的帧的顺序的信息和顺序读取存储于环状 緩沖区的数据。
全文摘要
提供一种互联网网络设备和发送数据的方法。编码器对源数据进行编码并随后产生通信单元输入数据。通信单元通过应用层、传输层、IP层和网络连接层将通信单元输入数据顺序发送到客户机。传输率确定单元将通信单元输出数据或客户机输入数据与通信单元输入数据进行比较,其中,该通信单元输出数据至少通过传输层被发送并且从通信单元输出;该客户机输入数据被发送到至少一个客户机。传输率控制单元响应于传输率确定单元的比较结果来控制编码器。可准确地确定传输率,从而将数据有效地发送到多个客户机。
文档编号H04L29/06GK101414977SQ20081021335
公开日2009年4月22日 申请日期2008年8月27日 优先权日2007年10月17日
发明者李荣起 申请人:三星Techwin株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1