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

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

Info

Publication number
CN101414977B
CN101414977B CN2008102133568A CN200810213356A CN101414977B CN 101414977 B CN101414977 B CN 101414977B CN 2008102133568 A CN2008102133568 A CN 2008102133568A CN 200810213356 A CN200810213356 A CN 200810213356A CN 101414977 B CN101414977 B CN 101414977B
Authority
CN
China
Prior art keywords
data
size
communication unit
client computer
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008102133568A
Other languages
English (en)
Other versions
CN101414977A (zh
Inventor
李荣起
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hanhua Vision Co ltd
Original Assignee
Samsung Techwin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Techwin Co Ltd filed Critical Samsung Techwin Co Ltd
Publication of CN101414977A publication Critical patent/CN101414977A/zh
Application granted granted Critical
Publication of CN101414977B publication Critical patent/CN101414977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

提供一种互联网网络设备和发送数据的方法。编码器对源数据进行编码并随后产生通信单元输入数据。通信单元通过应用层、传输层、IP层和网络连接层将通信单元输入数据顺序发送到客户机。传输率确定单元将通信单元输出数据或客户机输入数据与通信单元输入数据进行比较,其中,该通信单元输出数据至少通过传输层被发送并且从通信单元输出;该客户机输入数据被发送到至少一个客户机。传输率控制单元响应于传输率确定单元的比较结果来控制编码器。可准确地确定传输率,从而将数据有效地发送到多个客户机。

Description

互联网网络设备和使用该设备发送数据的方法
本申请要求于2007年10月17日和2008年3月13日提交的第10-2007-0104735号和第10-2008-0023431号韩国专利申请的优先权,该申请全部公开于此以资参考。
技术领域
本发明涉及一种可将数据发送到客户机的互联网网络设备,具体地,涉及一种通过网络将数据发送到多个客户机的互联网网络设备,以及使用该设备发送数据的方法。
背景技术
在包括存储不同程序文件和大量数据的服务器和连接到网络的客户机的互联网网络系统中,必须在服务器和客户机之间准确和快速地发送数据。
为了在服务器和客户机之间准确地发送数据,实时检查应发送的数据的大小是重要的。具体地,当一条数据被发送到多个客户机时,由于发送到各个客户机的数据的大小可根据网络的环境而改变,故需要测量发送到每个客户机的数据的大小以准确地将数据发送到所有客户机。
发明内容
本发明的目的在于提供一种可准确地确定通过网络将数据平滑发送到客户机的传输率的互联网网络设备,和一种使用该互联网网络设备的发送数据的方法。本发明也提供了一种用于将数据发送到多个客户机的互联网网络设备(其中,该互联网网络设备可确定平滑发送数据的传输率),和一种使用该互联网网络设备发送数据的方法。
根据本发明的一方面,提供一种互联网网络设备包括:编码器,对源数据进行编码并产生通信单元输入数据;通信单元,通过应用层、传输层、互联网协议(IP)层和网络连接层将通信单元输入数据顺序发送到客户机;传输率确定单元,将通信单元输入数据与通信单元输出数据或客户机输入数据进行比较,其中,该通信单元输出数据至少通过传输层被发送并且从通信单元输出,该客户机输入数据被发送到至少一个客户机;和传输率控制单元,用于响应于传输率确定单元的比较结果来控制编码器。
传输率确定单元可包括:第一测量单元,测量通信单元输入数据的大小;第二测量单元,测量通信单元输出数据的大小或客户机输入数据的大小;和确定单元,将第一测量单元测量的通信单元输入数据的大小与被第二测量单元测量的通信单元输出数据的大小或客户机输入数据的大小进行比较。源数据可为图像数据。传输率控制单元可响应于传输率确定单元的比较结果控制编码器调整从包括图像数据的帧率、比特率和分辨率的组合中选择的任何一个。当所述传输率确定单元确定第一测量单元测量的第一数据的大小小于第二测量单元测量的第二数据的大小时,所述传输率控制单元可减小图像数据的帧率、比特率或分辨率。
传输率确定单元可包括:第一测量单元,测量通信单元输入数据的大小;第二测量单元,测量输入到至少一个客户机的客户机输入数据的大小;计算单元,计算客户机输入数据的平均大小;和确定单元,将第一测量单元测量的通信单元输入数据的大小与计算单元计算的客户机输入数据的平均大小进行比较。所述计算单元可将修正值与平均值相加来产生近似平均大小,所述确定单元可将通信单元输入数据的大小与近似平均大小进行比较。源数据可以是图像数据。所述传输率控制单元可响应于传输率确定单元的比较结果控制编码器调整从包括图像数据的帧率、比特率和分辨率的组合中选择的任何一个。当所述传输率确定单元可确定第一测量单元测量的第一数据小于第二测量单元测量的第二数据时,所述传输率控制单元减小图像数据的帧率、比特率或分辨率。
通信单元可包括:环状缓冲区,临时存储通信单元输入数据;输入控制单元,控制通信单元输入数据的存储;和输出控制单元,控制存储数据的输出。
输入控制单元可根据输入指针、环状缓冲区的容量和之前存储的数据的大小来控制将数据存储于环状缓冲区。
输出控制单元可根据输出指针、关于最后图像的帧的顺序的信息和顺序来控制从环状缓冲区读取数据。
客户机可具有输出指针(Pout)。因此,当多个客户机连接到互联网网络设备时,各个客户机可分别接收从环状缓冲区输出的数据。由于指定了复制通信单元输入数据的环状缓冲区的地址的输入指针和输出指针被分别控制,故环状缓冲区可被一个输入和多个输出所使用。
根据本发明的另一个方面,提供了一种使用互联网网络设备发送数据的方法,其中,该方法通过将源数据输入,对源数据进行编码,将编码数据输入到通信单元,通过通信单元的应用层、传输层、IP层和网络连接层将数据顺序发送到至少一个客户机来执行,该方法还包括:测量从通信单元输出的通信单元输出数据的大小或发送到客户机的客户机输入数据的大小,其中,该通信单元输出数据和客户机输入数据至少通过传输层被发送;将通信单元输出数据的大小或客户机输入数据的大小与通信单元输入数据的大小进行比较;根据比较结果来控制源数据的编码。源数据可为图像数据。该方法还可包括:当通信单元输出数据的大小或客户机输入数据的大小大于通信单元输入数据的大小时,将源数据进行编码以减小通信单元输入数据的帧率、比特率或分辨率。
该方法还可包括:计算输入到多个客户机的客户机输入数据的平均大小;将通信单元输入数据与客户机输入数据的平均大小进行比较。源数据可为图像数据。该方法还包括:当客户机输入数据的平均大小大于通信单元输入数据的大小时,将源数据进行编码以减小通信单元输入数据的帧率、比特率或分辨率。
该方法还可包括:通过将修正值与平均大小相加来计算客户机输入数据的近似平均大小;将通信单元输入数据与客户机输入数据的近似平均大小进行比较。源数据可为图像数据。该方法还可包括:当客户机输入数据的近似平均大小大于通信单元输入数据时,将源数据进行编码以减小通信单元输入数据的帧率、比特率或分辨率。
该方法还可包括:根据输入指针、环状缓冲区的容量和之前存储的数据的大小来复制通信单元输入数据并且将通信单元输入数据存储于环状缓冲区;根据输出指针、关于最后图像的帧的顺序的信息和顺序从环状缓冲区读取数据。
附图说明
通过下面结合附图进行的对本发明示例性实施例的详细描述,本发明的上述和其他特点和优点将会变得更加清楚,其中:
图1是示出根据本发明实施例的互联网网络系统的示意图;
图2是示出根据本发明实施例的互联网网络设备的框图;
图3是示出根据本发明实施例的包括在图2的互联网网络设备中的传输率确定单元的框图;
图4是示出根据本发明另一实施例的包括在图2的互联网网络设备中的传输率确定单元的框图;
图5是示出根据本发明实施例的服务器(即,图2中的互联网网络设备)的传输率控制单元的框图;
图6是示出根据本发明实施例的数据被临时存储于具有用于数据传输的一个输入和多个输出的环状缓冲区的过程的框图,其中,该过程在图2的互联网网络设备的应用层被执行;
图7是图6中示出的输入控制单元的框图;
图8是图6中示出的输出控制单元的框图;
图9是示出根据本发明实施例的通过互联网网络设备发送数据的方法的流程图;
图10是示出根据本发明实施例的通过调整比特率来控制编码的方法的曲线图,该方法是图2所示的控制编码的操作的例子。
具体实施方式
以下,通过参照附图详细说明本发明的示例性实施例来描述本发明。
图1示意性示出根据本发明实施例的互联网网络系统。在当前实施例中,通过网络在不同种类的系统之间使用n到1通信将在服务器100中产生的图像数据发送到多个客户机。图1中示出的服务器100是根据本发明实施例的互联网网络设备,但本发明并不限于此。例如,当数字录像机(DVR)或互联网协议(IP)相机可各自处理互联网通信时,互联网网络设备可以是数字图像处理设备(例如DVR),或者IP相机可以是互联网网络设备。
具体地,参考图1,在互联网网络系统中,从DVR10或数字相机11输入的图像数据存储于服务器100,服务器100将存储的图像数据提供给多个客户机200、210、220和230。
在当前实施例中,只示出了发送的图像数据,但本发明并不限于此。即,文本数据、音频数据等都可被发送。
服务器100将从通信单元输出的数据的大小或输入到客户机200、210、220和230的数据的大小与编码数据的大小一起测量,然后对所述大小进行比较。响应于比较结果,服务器100控制将输入到服务器100的数据进行编码以平滑发送数据。
此外,在当前实施例中,当客户机1(200)、2(210)、3(220)和4(230)连接到服务器100时,由于客户机1(200)、2(210)、3(220)和4(230)通过使用包括在客户机1(200)、2(210)、3(220)和4(230)中的各自的数据输出指针(Pout)来接收各自的数据,故服务器100可测量为每个客户机发送的数据的大小。基于数据的大小,服务器100可控制输入到服务器100的数据的编码。
以下,将参考图2对作为互联网网络设备的例子的服务器100进行更详细的描述。当源数据输入到服务器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可包括:第一测量单元131,测量通信单元输入数据的大小;第二测量132a,测量通信单元输出数据的大小或客户机输入数据的大小;和确定单元135a,将被第一测量单元131测量的大小与第二测量单元132a测量的大小进行比较。
第一测量单元131周期性地对从编码器110(见图2)为每个独立的频道输入的通信单元输入数据的包的大小进行测量以获得包的大小的统计。
第二测量132a对在连接到客户机的网络传输线路中客户机输入数据的包的TCP报头进行监控,然后分析用于将执行通信操作的程序与其它程序进行区分的源IP地址、目标IP地址和端口号,分析用于示出在待发送的整个数据当中当前发送的包头数据的字节顺序的序列号,以及分析用于示出到达接收方的数据的字节顺序的确认(ack)号。通过对这些要素进行分析和计算,可周期性测量传输率。
此外,第二测量132a可通过使用至少通过传输层122(见图2)封装的控制数据来测量通信单元120(见图1)的通信单元输出数据的包的大小。
将第一测量单元131和第二测量132a测量的大小发送到确定单元135a,然后确定单元135a对所述数据的值进行比较。
具体地,当通信单元输出数据的大小或客户机输入数据的大小与通信单元输入数据的大小不同时,确定单元135a根据这种情况产生控制信号,并将该控制信号发送到传输率控制单元140(见图2)。此外,传输率控制单元140控制编码器110(见图2)产生与通信单元输出数据或客户机输入数据相同大小的通信单元输入数据。
作为在图2中示出的传输率确定单元130的另一例子,将参考图4对传输率确定单元130b进行描述。在当前实施例中,以确定针对多个客户机的传输率的传输率确定单元130b为示例。在图3和图4中相同的标号始终表示相同的部件,从而可根据与传输率确定单元130a的差别描述传输率确定单元130b。
传输率确定单元130b可包括:第一测量单元131,测量通信单元输入数据的大小;第二测量单元132b,分别测量输入到多个客户机的数据的大小;计算单元133,计算输入到所述客户机的数据的平均大小或近似平均大小,其中,该数据的大小从第二测量单元132b被提供;和确定单元136b,将通信单元输入数据的大小与所述平均大小或近似平均大小进行比较。
在多个客户机的情况下,第二测量单元132b可分别测量输入到客户机的数据的大小。
此外,计算单元133将输入到客户机的数据的大小相加以计算数据的平均大小,其中,所述数据的大小由第二测量单元132b提供。例如,当产生100字节的数据时,80字节的数据被发送到第一客户机,40字节的数据被发送到第二客户机,平均传输率是60字节。可通过使用平均传输率来确定和控制传输率。然而,实际上,可通过使用作为平均传输率与预定修正值的和的近似平均传输率来确定和控制传输率。
例如,当平均大小为60字节的数据被发送到客户机时,传输率是60%。因此,通过将修正值6与平均大小相加而获得66%的近似平均大小。由于当通信单元输入数据的大小根据60字节的传输率而被直接减小到60%时,通信单元120(见图2)对网络的变化十分敏感而将修正值加6。
更详细地,由于以百的倍数调节传输率较复杂,故以十的倍数表达传输率,所以选择修正值6。因此,最初计算的修正值被除以10。例如,如果修正值是57%,则最终修正值是57/10=5。实际上,由于57%相比50%更相近于60%,故使用(57+6)/10=6以获得舍入值60。从而,选择修正值6。
确定单元136b将计算单元133提供的平均大小或近似平均大小与第一测量单元131提供的通信单元输入数据的大小进行比较。当平均大小与通信单元输入值的大小不同时,或当近似平均大小与通信单元输入值的大小不同时,将相应于这种情况的控制信号发送到传输率控制单元140(见图2)。
现在,将参考图5对传输率控制单元140(见图2)进行更详细地描述。在当前实施例中,关于图像数据,将控制图像数据的大小的传输率控制单元140作为示例。
传输率控制单元140可包括分辨率控制单元141、帧率控制单元142和比特率控制单元143中的至少一个。
关于图像数据,由于图像数据根据其分辨率大小而不同,故传输率控制单元140可包括分辨率控制单元141,用于为了改变图像数据的大小而对分辨率进行调整。因此,当通信单元输入数据的大小不同于通信单元输出数据的大小或客户机输入数据的大小时,确定单元135a或135b(见图3或图4)可调整分辨率以使通信单元输入数据的大小与通信单元输出数据的大小或客户机输入数据的大小相匹配。
在多个客户机的情况下,输入到客户机的数据的平均大小以及作为平均大小与修正值的和的近似平均大小可与通信单元输入数据的大小进行比较。例如,当通信单元输出数据的大小或客户机输入数据的大小小于通信单元输入数据的大小时,由于确定了通信单元过载,从而需要减小通信单元输入数据的大小。在多个客户机的情况下,当平均大小或近似平均大小小于通信单元输入数据的大小时,控制减小通信单元输入数据的大小。即是,需要控制编码器产生与通信单元输出数据、客户机输入数据相同大小、平均大小或近似平均大小的通信单元输入数据。从而,当对源数据进行编码时,控制编码器110(见图2)减小当前的分辨率。
当包括多个帧的运动图像数据被发送时,帧率控制单元142可通过相应于每秒钟发送的帧数来调整帧率以调整运动图像数据的大小。为了减小运动图像数据的大小需要减小帧率,而为了增加运动图像数据的大小须要增加帧率。
比特率控制单元143也可控制数据的大小。例如,为了减小数据的大小而减小比特率,为了增加数据的大小而增加比特率,从而调整数据的大小。该比特率的控制根据常规方法被执行,并且将参考图10对其进行更详细地描述。
当将一条数据发送到多个客户机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的数据。所述数据由编码器提供。
环状缓冲区121b被用于每个频道。环状缓冲区121b包括相应于连接到环状缓冲区121b的各客户机的输出指针(Pout),因此自动通信量控制(ATC)算法可被用于每个客户机。即是,由于环状缓冲区121b在输出数据输入到环状缓冲区121b时异步操作,并且输入速率和输出速率不会相互影响,所以环状缓冲区121b可实时处理图像数据。此外,即使客户机由于低传输率承受处罚而不能接收图像数据,也不影响对其它图像数据的输入和输出操作。
输入控制单元121a在环状缓冲区121b中顺时针临时存储数据。此时,当在一个轮转后环状缓冲区121b没有用于存储数据的空间时,之前的数据被移除,然后当前数据被存储于环状缓冲区121b。因此,将发送的数据总是在环状缓冲区121b中存在。当数据被顺时针存储于环状缓冲区121b时,总是可输出数据。
通过参考图7,将会对输入控制单元121a进行更详细地描述。
输入控制单元121a通过使用例如表示关于可存储数据的环状缓冲区121b的地址的信息的当前输入指针(Pin)、可存储于环状缓冲区121b的数据的最大大小以及之前存储的数据的大小的参数来控制环状缓冲区121b存储数据。
具体地,关于环状缓冲区121b,通过之前在X1的输入指针(Pin)处顺时针存储数据,可存储当前数据的输入指针是X2,可存储于环状缓冲区121b的数据的大小是Y,之前存储的数据的大小是输入指针X2处的S。因此,可将当前数据存储于输入指针X2并且可顺时针存储大小为(Y-S)的数据。
此外,如下所述将数据从环状缓冲区121b输出。当客户机最初连接到环状缓冲区121b时,客户机将最前面的数据作为指针接收。第一客户机通过第一输出控制单元121c从X1的输出指针顺时针接收数据。此时,检查最后发送的数据是否根据关于最后发送的数据的顺序的信息被当前输出的数据所跟随。如果顺序正确,则数据可被发送到第一客户机。第二客户机可通过第二输出控制单元121d读取数据。
上述的输出数据的操作可由第一和第二输出控制单元121c和121d执行。为了示出为每个客户机输出数据的单独的操作,分别示出相应于各客户机的第一和第二输出控制单元121c和121d。然而,由于第一和第二输出控制单元121c和121d根据相同的原理输出数据,故只在图8中详细示出第一输出控制单元121c。因而,图8中的第二输出控制单元121d与第一输出控制单元121c具有相同的结构。
参考图8,第一输出控制单元121c包括:可被存储的关于最后发送的数据的顺序的信息和输出指针。此外,该第一输出控制单元121c还包括顺序确定单元,确定最后发送的数据是否被当前发送的数据所跟随。
当数据是图像数据时,第一输出控制单元121c可存储关于最后发送的图像数据的帧的顺序的信息,并且可确定最后发送的图像数据是否被当前发送的图像数据所跟随。由于对于环状缓冲区121b,输入数据的操作在输出的操作之前,第一输出控制单元121c确定数据的顺序。由于在环状缓冲区121b中之前数据被移除而当前数据可被存储,所以需要检查被输出指针指示的数据是否被当前发送的数据所跟随。例如,由于因输入指针而具有慢带宽速率的客户机需要的数据可能不被发送,故须要记住最后发送的帧的顺序。
由于对于每个客户机可存在输出指针,故对客户机输出数据的操作不会互相影响。
因此,如图6所示,对于每个客户机可同时存在输出控制单元。例如,第一客户机可具有第一输出控制单元121c,第二客户机可具有第二输出控制单元121d。
如上所述,当将一条数据发送到多个客户机时,根据当前实施例的环状缓冲是有用的方法。具体地,当传输率确定单元130(见图2)测量客户机输入数据时,由于传输率确定单元130根据各个客户机的输出指针的信息为每个各自的客户机从环状缓冲区121b接收数据,故输入到各个客户机的数据可被分别测量。此外,每个各自的客户机的传输率被测量,然后将传输率与传输率的平均值或传输率的近似平均值相比较。当传输率不同于传输率的平均值或传输率的近似平均值时,可控制输入数据的编码以使传输率与传输率的平均值或传输率的近似平均值一致。或者,可控制输入数据的编码以使传输率与客户机输入数据的最小大小一致。
图9是示出根据本发明实施例的由互联网网络设备发送数据的方法的流程图。在当前实施例中,多个客户机连接到互联网网络设备,即是,服务器。
参考图9,输入源数据(操作S100),并将源数据编码(操作S200)。
编码数据被输入到服务器的通信单元(操作S300),且该数据被临时存储于通信单元的环状缓冲区(操作S400)。
从通信单元输出数据(操作S500),且将数据发送到各个客户机(操作S600)。
此时,不管操作S600如何,对在操作S300中输入到通信单元的通信单元输入数据的大小进行测量(操作S310)。
对在操作S500中从通信单元输出的通信单元输出数据的大小进行测量(操作S510)。此外,对在操作S600中发送到各个客户机的客户机输入数据的大小进行测量(操作S610)。然后,对输入到客户机的客户机输入数据的平均大小或近似平均大小进行计算。近似平均值指平均大小和预定的修正值的和。此外,通信单元输出数据的大小或客户机输入数据的大小是至少通过通信单元的传输层发送的数据的大小。因此,通过封装在传输层的控制数据的TCP报头测量通信单元输出数据的传输率或客户机输入数据的传输率。
将上述数据的大小进行比较。具体地,将通信单元输入数据的大小与通信单元输出数据的大小或客户机输入数据的大小(在单个客户机的情况下)进行比较,或者,确定通信单元输入数据的大小是否等于平均大小或近似平均大小(操作S620)。
作为确定结果,当数据的大小相互不同时,控制输入数据的编码以使通信单元输出数据的大小或客户机输入数据的大小与通信单元输入数据的大小一致(操作S630)。例如,当源数据是图像数据,通信单元输出数据的大小或客户机输入数据的大小小于通信单元输入数据的大小、平均大小或近似平均大小,通过减小分辨率、帧率或比特率来控制编码以使通信单元输入数据的大小与通信单元输出数据的大小或客户机输入数据的大小匹配。
当所述大小相同时,可维持当前编码状态(操作S640)。
参考图10,当通信单元输入数据的大小不同于通信单元输出数据的大小、客户机输入数据的大小和平均大小或近似平均大小时,调整比特率以如上所述控制编码。
当帧率较低时,比特率的变化较大。从而,图10示出了显示通过使用各种样本而归纳得出的比特率和帧率之间关系的曲线图。该曲线图将比特率调整与传输率对比示出。
为了调整比特率,选择了相应于帧率的曲线(plot),相应于传输率的减小的比特率调整可从选择的曲线而得到。在图10中,帧率的曲线“a”、“b”、“c”和“d”分别是30到20、19到10、9到5和4到1。
例如,当帧率是25时,曲线“a”被选择。当传输率从4.5减小到3.5时,可以看到比特率大约减小了10%。传输率可被表示为传输率对比时间。
根据以上的本发明的实施例,通过确定至少通过通信单元的传输层发送的数据的大小,可正确地确定在服务器和客户机之间的传输率。具体地,通过比较通信单元输入数据的测量大小与输出数据的大小(即,通信单元输出数据的大小或客户机输入数据的大小),当客户机输入数据的大小小于通信单元输入数据的大小时,即是,当确定互联网网络装置传输数据过载时,调整通信单元输入数据的大小以使通信单元输入数据的大小与输出数据的大小匹配。从而,可在服务器和客户机之间平滑传输需要的数据。
此外,通信单元的应用层使用通过所述单输入多输出(SIMO)环状缓冲区,客户机可使用自身的输出指针分别接收数据,从而即使将一条数据发送到多个客户机也可分别确定发送到各个客户机的传输率。通过基于传输率而控制数据的编码,优化标准数据可被发送到所有客户机。
系统可被执行于任何一个通用计算机或多个计算机,并且所述组件可被实现为专用应用或基于网络架构的客户服务器架构。任何计算机可包括处理器、用于存储程序数据并执行程序数据的存储器、例如磁盘驱动器的永久存储器、用于处理与外部装置通信的通信端口和包括显示器、键盘、鼠标等的用户界面装置。当涉及软件模块时,这些软件模块可存储为可在介质(例如,磁带、CD-ROM等)上的处理器执行的程序指令,其中,该介质可被计算机读取、可被存储于存储器,并且可被处理器所执行。
为了促进本发明的原理的理解,对附图中示出的优选实施例做了描述,并使用特定语言对这些实施例进行了描述。然而,通过这些特定语言不是对本发明的范围做出的限定,本领域的普通技术人员应当理解本发明包括正常出现的所有实施例。
可用功能块组件和不同的处理步骤来描述本发明。这些功能块可被任何数量的被配置执行特定功能的硬件和/或软件组件实现。例如,本发明可使用在一个或多个微处理器或其它控制装置的控制下实现各种功能的各种集成电路组件(例如,存储器部件、处理部件、逻辑部件、查找表等)。类似地,在使用软件程序或软件组件实现本发明的组件时,本发明可以以任何程序或例如C、C++、Java、汇编等的脚本语言以数据结构、对象、处理、程序或其它程序组件的任何组合实现的各种算法实现。此外,本发明可使用任何数量的用于电子配置、信号处理和/或控制、数据处理等的传统技术。词语机制被广泛使用并不限于机械的或物理的实体,但可包括结合处理器等的软件程序。
在此显示和描述的具体实现是本发明示例性示例,其意图不是以任何形式限制本发明的范围。为了简洁的目的,没有详细描述常规电子、控制系统、软件开发和其它系统的功能方面(和系统的独立操作组件的组件)。此外,在各附图中示出的连接线或连接器是为了表示不同组件之间的实例性功能关系和/或物理或逻辑组合。应该注意在实际装置中可存在许多选择或附加功能关系、物理连接或逻辑连接。此外,除非部件被具体描述为“必要的”或“关键的”,没有项目或组件对本发明的实施是必要的。在不脱离本发明的精神和范围的情况下,本领域的技术人员可以对本发明进行多种修改或改进。

Claims (24)

1.一种互联网网络设备,包括:
编码器,用于对源数据进行编码并产生通信单元输入数据;
通信单元,用于通过应用层、传输层、互联网协议(IP)层和网络连接层将从编码器输出的通信单元输入数据顺序发送到至少一个客户机;
传输率确定单元,用于将客户机输入数据的大小与从编码器输出的通信单元输入数据的大小进行比较,该客户机输入数据通过传输层被发送到所述至少一个客户机,并且该客户机输入数据的大小根据网络的状况而变化;和
传输率控制单元,用于通过响应于传输率确定单元的比较结果控制编码器来控制从编码器输出的通信单元输入数据的大小。
2.如权利要求1所述的设备,其中,所述传输率确定单元包括:
第一测量单元,用于测量通信单元输入数据的大小;
第二测量单元,用于测量通信单元输出数据的大小或客户机输入数据的大小;和
确定单元,用于将第一测量单元测量的通信单元输入数据的大小与第二测量单元测量的通信单元输出数据的大小或客户机输入数据的大小进行比较。
3.如权利要求2所述的设备,其中,所述源数据是图像数据。
4.如权利要求3所述的设备,其中,配置所述传输率控制单元响应于传输率确定单元的比较结果控制编码器调整从包括图像数据的帧率、比特率和分辨率的组合中选择的任何一个,
其中,传输率控制单元建立比特率与帧率之间的关系,并基于所述关系来控制编码器选择与帧率相应的比特率调整值。
5.如权利要求4所述的设备,其中,当配置所述传输率确定单元确定第一测量单元测量的第一数据的大小小于被第二测量单元测量的第二数据的大小时,
配置所述传输率控制单元减小图像数据的帧率、比特率或分辨率。
6.如权利要求1所述的设备,其中,所述传输率确定单元包括:
第一测量单元,用于测量通信单元输入数据的大小;
第二测量单元,用于测量被输入到至少一个客户机的客户机输入数据的 大小;
计算单元,用于计算客户机输入数据的平均大小;和
确定单元,用于将第一测量单元测量的通信单元输入数据的大小与计算单元计算的客户机输入数据的平均大小进行比较。
7.如权利要求6所述的设备,其中,配置所述计算单元将修正值与平均值相加来产生近似平均大小,
配置所述确定单元将通信单元输入数据的大小与近似平均大小进行比较。
8.如权利要求6所述的设备,其中,所述源数据是图像数据。
9.如权利要求8所述的设备,其中,配置所述传输率控制单元响应于传输率确定单元的比较结果控制编码器调整从包括图像数据的帧率、比特率和分辨率的组合中选择的任何一个,
其中,传输率控制单元建立比特率与帧率之间的关系,并基于所述关系来控制编码器选择与帧率相应的比特率调整值。
10.如权利要求9所述的设备,其中,当所述传输率确定单元确定第一测量单元测量的第一数据小于第二测量单元测量的第二数据时,
配置所述传输率控制单元减小图像数据的帧率、比特率或分辨率。
11.如权利要求10所述的设备,其中,所述通信单元包括:
环状缓冲区,用于临时存储通信单元输入数据;
输入控制单元,用于控制通信单元输入数据的存储;和
输出控制单元,用于控制存储数据的输出。
12.如权利要求11所述的设备,其中,配置所述输入控制单元根据输入指针、环状缓冲区的容量和之前存储的数据的大小将数据存储于环状缓冲区。
13.如权利要求11所述的设备,其中,配置所述输出控制单元根据输出指针、相关于最后图像的帧的顺序的信息以及顺序来控制从环状缓冲区读取数据。
14.如权利要求13所述的设备,其中,所述客户机具有输出指针。
15.一种使用互联网网络设备发送数据的方法,该方法包括:
输入源数据;
对源数据进行编码;
将编码数据输入到通信单元; 
通过通信单元的应用层、传输层、IP层和网络连接层将来自编码器的编码的数据顺序发送到至少一个客户机;
测量发送到所述至少一个客户机的客户机输入数据的大小,其中,该客户机输入数据通过传输层被发送到所述至少一个客户机,并且该客户机输入数据的大小根据网络的状况而变化;
将从编码器输出的通信单元输入数据的大小与客户机输入数据的大小进行比较;
通过根据比较结果控制源数据的编码来控制通信单元输入数据的大小。
16.如权利要求15所述的方法,其中,所述源数据是图像数据。
17.如权利要求16所述的方法,还包括:
当通信单元输出数据的大小或客户机输入数据的大小大于通信单元输入数据的大小时,
将源数据进行编码以减小通信单元输入数据的帧率、比特率或分辨率,
其中,当比特率减小时,通过基于建立的比特率与帧率之间的关系选择与帧率相应的比特率调整值来对源数据进行编码。
18.如权利要求15所述的方法,还包括:
计算输入到多个客户机的客户机输入数据的平均大小;
将通信单元输入数据与客户机输入数据的平均大小进行比较。
19.如权利要求18所述的方法,其中,所述源数据是图像数据。
20.如权利要求19所述的方法,还包括:
当客户机输入数据的平均大小大于通信单元输入数据的大小时,
将源数据进行编码以减小通信单元输入数据的帧率、比特率或分辨率。
21.如权利要求18所述的方法,还包括:
通过将修正值与平均大小相加来计算客户机输入数据的近似平均大小;
将通信单元输入数据与客户机输入数据的近似平均大小进行比较。
22.如权利要求21所述的方法,其中,所述源数据是图像数据。
23.如权利要求19所述的方法,还包括:
当客户机输入数据的近似平均大小大于通信单元输入数据的大小时,
将源数据进行编码以减小通信单元输入数据的帧率、比特率或分辨率。
24.如权利要求19所述的方法,还包括:
根据输入指针、环状缓冲区的容量和之前存储的数据的大小来复制通信 单元输入数据并且将通信单元输入数据存储于环状缓冲区;
根据输出指针、关于最后图像的帧的顺序的信息和顺序读取存储于环状缓冲区的数据。 
CN2008102133568A 2007-10-17 2008-08-27 互联网网络设备和使用该设备发送数据的方法 Active CN101414977B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20070104735 2007-10-17
KR10-2007-0104735 2007-10-17
KR1020070104735 2007-10-17
KR1020080023431 2008-03-13
KR1020080023431A KR101279564B1 (ko) 2007-10-17 2008-03-13 인터넷 네트워크 장치 및 이의 데이터 전송 방법
KR10-2008-0023431 2008-03-13

Publications (2)

Publication Number Publication Date
CN101414977A CN101414977A (zh) 2009-04-22
CN101414977B true CN101414977B (zh) 2013-05-08

Family

ID=40595295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102133568A Active CN101414977B (zh) 2007-10-17 2008-08-27 互联网网络设备和使用该设备发送数据的方法

Country Status (2)

Country Link
KR (1) KR101279564B1 (zh)
CN (1) CN101414977B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572381A (zh) * 2010-12-29 2012-07-11 中国移动通信集团公司 视频监控场景判别方法及其监控图像编码方法、及装置
KR101671310B1 (ko) * 2012-05-30 2016-11-02 엔트릭스 주식회사 화면 가상화 기반 어플리케이션 구동 시스템 및 방법
KR101597074B1 (ko) * 2015-04-10 2016-02-23 인하대학교 산학협력단 분자통신에서 에너지 효율적인 변조 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1689332A (zh) * 2002-10-15 2005-10-26 皇家飞利浦电子股份有限公司 用于经ip网络发送可伸缩编码视频的系统和方法
US20060095942A1 (en) * 2004-10-30 2006-05-04 Van Beek Petrus J Wireless video transmission system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763067B2 (en) * 2000-10-10 2004-07-13 Sarnoff Corporation Rate control for bitstream re-encoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1689332A (zh) * 2002-10-15 2005-10-26 皇家飞利浦电子股份有限公司 用于经ip网络发送可伸缩编码视频的系统和方法
US20060095942A1 (en) * 2004-10-30 2006-05-04 Van Beek Petrus J Wireless video transmission system

Also Published As

Publication number Publication date
KR20090039583A (ko) 2009-04-22
KR101279564B1 (ko) 2013-08-23
CN101414977A (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
US9547041B2 (en) Testbench builder, system, device and method with phase synchronization
US7860965B1 (en) System and method for network traffic and I/O transaction monitoring of a high speed communications network
US20080285576A1 (en) Method and system for integrating ethernet and multimedia functions into a lan system
CN110225347A (zh) 视频数据传输方法、装置、电子设备和存储介质
CN109561395A (zh) 一种蓝牙传输方法及装置
CN106598889A (zh) 一种基于fpga夹层板的sata主控器
CN101233706A (zh) 数据流同步
CN101414977B (zh) 互联网网络设备和使用该设备发送数据的方法
JP5170891B2 (ja) インターネットネットワーク装置及びそのデータ伝送方法
CN103905843A (zh) 一种规避连续i帧的分布式音视频处理装置和处理方法
US7058081B2 (en) Transmitting apparatus, transmitting method, source packet generating apparatus, source packet generating method, packet mode determining method, medium and program
CN116303191B (zh) 一种晶片到晶片接口互联的方法、设备及介质
CN100558075C (zh) 基于逻辑实现数据包动态调速的方法和装置
CN104734900A (zh) 一种通信协议测试的发送控制方法
CN116521602A (zh) 一种总线数据的传输方法和装置及存储介质
CN112565762B (zh) 适用运载火箭的多通道视频图像的均衡编码方法和装置
JP2874798B2 (ja) 高速データ転送の方法とその装置
US20240098041A1 (en) Transmission system, transmission method and transmission program
CN202853719U (zh) 基于以太网的多天平自动称量系统装置
Gomes et al. Sensing and Communication of Data from the Physical Twin
CN117193706A (zh) 数据传输模块、片上信息输出装置及方法、芯片
CN118732970A (zh) 数据传输方法、装置、电子设备、系统及存储介质
CN118337808A (zh) 航天器分布式网络遥测数据采集方法、装置及系统
CN117640459A (zh) 时延测量方法及装置、设备、计算机可读存储介质
CN118233208A (zh) 基于加解密处理的工业通信网关系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: Gyeongnam, South Korea

Patentee after: HANWHA TECHWIN Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Patentee before: Samsung Techwin Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Gyeongnam, South Korea

Patentee after: HANWHA AEROSPACE Co.,Ltd.

Address before: Gyeongnam, South Korea

Patentee before: HANWHA TECHWIN Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190304

Address after: Gyeonggi Do city of South Korea

Patentee after: HANWHA TECHWIN Co.,Ltd.

Address before: Gyeongnam, South Korea

Patentee before: HANWHA AEROSPACE Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Gyeonggi Do city of South Korea

Patentee after: Hanhua Vision Co.,Ltd.

Address before: Gyeonggi Do city of South Korea

Patentee before: HANWHA TECHWIN Co.,Ltd.