CN100574231C - 网络装置及其帧处理方法 - Google Patents
网络装置及其帧处理方法 Download PDFInfo
- Publication number
- CN100574231C CN100574231C CN 200610063035 CN200610063035A CN100574231C CN 100574231 C CN100574231 C CN 100574231C CN 200610063035 CN200610063035 CN 200610063035 CN 200610063035 A CN200610063035 A CN 200610063035A CN 100574231 C CN100574231 C CN 100574231C
- Authority
- CN
- China
- Prior art keywords
- frame
- size
- speed
- sign value
- constantly
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种帧处理方法,应用于与客户端通信连接的网络装置中,所述帧处理方法包括:确定传送多个帧的最长恒定速率;依次判定每个帧的大小是否大于预设的帧大小值;如果其中一个帧的大小大于预设的帧大小值,则重新设定大于预设的帧大小值的帧的大小;以及根据最长恒定速率传送多个帧至客户端。本发明还提供一种使用所述帧处理方法的网络装置。上述网络装置及帧处理方法,可稳定帧恒定速率,从而避免丢包现象发生。
Description
技术领域
本发明涉及网络通信领域,尤其涉及网络装置及其帧处理方法。
背景技术
动画专家群组(Motion Picture Expert Group Layer-4,MPEG-4)格式的视频文件与其它的视频文件相比,具有压缩比高、图像效果清晰、占用网络带宽小的优点,因此特别适用于基于因特网的流媒体文件传输。
然而,MPEG-4文件所具有的突发性(Burstiness)容易引起恒定速率变化,因此当网络装置的恒定速率达到峰值速率(Peak rate)时,如果该峰值速率大于客户端的缓存器(Buffer)所能够接纳的最大速率,则会发生丢包(Packet loss)现象。
发明内容
有鉴于此,需要提供一种网络装置,用于稳定帧恒定速率,从而避免丢包现象发生。
此外,还需提供一种帧处理方法,用于稳定帧恒定速率,从而避免丢包现象发生。
一种网络装置,与客户端通信连接,该网络装置包括速率确定模块、判定模块、设定模块以及传送模块。速率确定模块用于确定传送多个帧的最长恒定速率。判定模块用于依次判定每个帧的大小是否大于预设的帧大小值。设定模块用于当其中一个帧的大小大于该预设的帧大小值时,重新设定大于该预设的帧大小值的帧的大小。传送模块用于根据最长恒定速率传送多个帧至客户端。
一种帧处理方法,应用于与客户端通信连接的网络装置中,该帧处理方法包括:确定传送多个帧的最长恒定速率;依次判定每个帧的大小是否大于预设的帧大小值;如果其中一个帧的大小大于预设的帧大小值,则重新设定大于预设的帧大小值的帧的大小;以及根据最长恒定速率传送多个帧至客户端。
上述网络装置及其帧处理方法首先通过速率确定模块确定传送多个帧的最长恒定速率,使该最长恒定速率不超出客户端的缓存所能够接纳的最大速率,接着通过判定模块依次判定每个帧的大小是否大于预设的帧大小值,然后通过设定模块在其中一个帧的大小大于预设的帧大小值时重新设定大于预设的帧大小值的帧的大小,最后通过传送模块根据最长恒定速率传送多个帧至客户端来稳定帧恒定速率,从而避免丢包现象发生。
附图说明
图1为本发明网络装置的应用环境示意图。
图2为本发明网络装置的模块图。
图3为本发明确定最长恒定速率的示意图。
图4为本发明帧处理方法的流程图。
具体实施方式
参阅图1,所示为本发明网络装置10的应用环境示意图。
如图1所示,网络装置10通过网络30传送流媒体文件至客户端20,网络装置10在传送流媒体文件之前先对其执行帧处理。在本实施例中,网络装置10为内容服务器(Content Server),客户端20为个人计算机(Personal Computer,PC),网络30为因特网(Internet),流媒体文件为MPEG-4(Motion Picture Expert Group Layer-4)格式的文件。
参阅图2,所示为本发明网络装置10的模块图。
网络装置10包括速率确定模块120、判定模块130、设定模块140以及传送模块150。在本实施例中,网络装置10为内容服务器,其以可变速率(Variable bit rate,VBR)传送流媒体文件。
在客户端20中设置有缓存器(未示出),用于缓存网络装置10传送的帧。在本实施例中,缓存器的缓存大小为B字节。
速率确定模块120用于确定传送多个帧的最长恒定速率。速率确定模块120包括统计子模块1202、确定子模块1204以及最长速率确定子模块1206。请同时参阅图3,所示为本发明确定最长恒定速率的示意图。
在图3中,曲线B(tx)为客户端20在t0、t1、...、t6时刻累计接收的最大帧大小B(t0)、B(t1)、...、B(t6),曲线D(tx)为客户端20在t0、t1、...、t6时刻累计接收的最小帧大小D(t0)、D(t1)、...、D(t6)。Rate(1)为第一最长恒定速率,Rate(2)为第二最长恒定速率。
统计子模块1202用于统计传送帧的时间间隔。在本实施例中,传送帧的时间间隔以T表示。
统计子模块1202还用于统计客户端20在不同时刻累计接收的最小帧大小。在本实施例中,在t0、t1、...t6时刻累计接收的最小帧大小分别表示为D(t0)、D(t1)、...、D(t6),其中,本实施例中的t0时刻为零时刻。具体为,客户端20在不同时刻所累计接收的最小帧大小即为客户端20在不同时刻所播放的帧大小,统计子模块1202通过查看网络装置10发送的流媒体文件的头部(Header)字段来确定客户端20在不同时刻所累计接收的最小帧大小。
确定子模块1204用于根据统计的客户端20在不同时刻累计接收的最小帧大小以及客户端20的缓存大小B确定客户端20在不同时刻累计接收的最大帧大小。网络装置10通过客户端发送的响应帧确定客户端20的缓存大小B。在本实施例中,客户端20不同时刻累计接收的最大帧大小分别表示为B(t0)、B(t1)、...、B(t6),其中B(t0)=D(t0)+B,B(t1)=D(t1)+B,...,B(t6)=D(t6)+B。
最长速率确定子模块1206用于根据统计的客户端20在不同时刻累计接收的最小帧大小,以及确定的客户端20在不同时刻累计接收的最大帧大小确定传送该帧的最长恒定速率,以使该最长恒定速率持续的时间间隔最长。最长速率确定子模块1206确定最长恒定速率以后,还用于使该最长时间间隔内的不同时刻以该最长恒定速率传送的帧大小小于统计的对应时刻接收的最大帧大小,并大于确定的对应时刻接收的最小帧大小。在本实施例中,仅以确定第一最长恒定速率以及第二最长恒定速率为例。最长速率确定子模块1206从t0时刻开始,依次确定第一最长恒定速率Rate(1)及第二最长恒定速率Rate(2),以使该第一最长恒定速率Rate(1)及第二最长恒定速率Rate(2)分别具有最长的时间间隔4T及2T。在时间间隔4T及2T内,累计传送的帧大小分别为Rate(1)*4T及Rate(2)*2T。Rate(1)*4T及Rate(2)*2T均小于对应的最大帧大小B(t4)、B(t6),且大于对应的最小帧大小D(t4)、D(t6)。
如图3所示,最长速率确定子模块1206确定从t0时刻至t4时刻,为第一最长恒定速率Rate(1)所在的时刻,并且Rate(1)=[D(t4)-D(t0)]/4T,这是由于在时间间隔T、2T、3T、4T内,传送的帧大小T*Rate(1)、2T*Rate(1)、3T*Rate(1)、4T*Rate(1)均小于对应的最大帧大小B(t1)、B(t2)、B(t3)、B(t4),并大于对应的最小帧大小D(t1)、D(t2)、D(t3)、D(t4),而在下一个T时间间隔内,如果仍以Rate(1)的速率传送帧,则传送的帧大小会低于接收的帧大小。第二最长恒定速率Rate(2)从t4时刻开始,依照第一最长恒定速率Rate(1)的方式确定,在本实施例中Rate(2)=[B(t5)-D(t4)]/2T。
判定模块130用于预设帧大小值,并依次判定每个帧的大小是否大于预设的帧大小值。在本实施例中,帧大小值等于40字节。
设定模块140用于在其中一个帧的大小大于预设的帧大小值时,重新设定大于预设的帧大小值的帧的大小,以使不同时刻传送的帧的大小大致一致,从而稳定帧的传送速率。具体为,设定模块140将大于预设的帧大小值的帧部分加入前一个帧。例如,如果其中一个帧的大小等于60字节,则设定模块140将大于预设的帧大小值的20字节加入该帧的前一个帧。
传送模块150用于根据最长恒定速率传送全部帧至客户端20。
请参阅图4,所示为本发明帧处理方法的流程图。
在步骤S202中,速率确定模块120确定传送多个帧的最长恒定速率,以使该最长恒定速率持续的时间间隔最长,并且在该时间间隔内的不同时刻以最长恒定速率传送的帧大小小于统计的对应时刻接收的最大帧大小,并大于确定的对应时刻接收的最小帧大小。
如图3所示,最长速率确定子模块1206确定从t0时刻至t4时刻,为第一最长恒定速率Rate(1)所在的时刻,并且Rate(1)=[D(t4)-D(t0)]/4T,这是由于在时间间隔T、2T、3T、4T内,传送的帧大小T*Rate(1)、2T*Rate(1)、3T*Rate(1)、4T*Rate(1)均小于对应的最大帧大小B(t1)、B(t2)、B(t3)、B(t4),并大于对应的最小帧大小D(t1)、D(t2)、D(t3)、D(t4),而在下一个T时间间隔内,如果仍以Rate(1)的速率传送帧,则传送的帧大小会低于接收的帧大小。第二最长恒定速率Rate(2)从t4时刻开始,依照第一最长恒定速率Rate(1)的方式确定,在本实施例中Rate(2)=[B(t5)-D(t4)]/2T。
在步骤S204中,判定模块130预设帧大小值,并依次判定每个帧的大小是否大于预设的帧大小值。如果其中一个帧的大小大于预设的帧大小值,则进入步骤S208。如果其中一个帧的大小小于或等于预设的帧大小值,则进入步骤S210。在本实施例中,判定模块130依次判定每一帧的大小是否大于40字节。
在步骤S206中,设定模块140重新设定大于预设的帧大小值的帧的大小。在本实施例中,设定模块140通过将大于预设的帧大小值的帧部分加入前一个帧的方式设定大于预设的帧大小值的帧的大小于该预设的帧大小值。例如,如果其中一个帧的大小等于60字节,则设定模块140将大于预设的帧大小值的20字节加入该帧的前一个帧。
在步骤S208中,判定模块130判定是否所有帧均已处理完毕。如果并非所有帧均已处理完毕,则过程进入步骤S210。如果所有帧均已处理完毕,则过程进入步骤S212。
在步骤S210中,转入前一个帧,然后返回步骤S204。
在步骤S212中,传送模块130根据最长恒定速率传送全部帧至客户端20。在本实施例中,传送模块130在t0至t4时刻以第一最长恒定速率Rate(1)、在t4至t6时刻以第二最长恒定速率Rate(2)传送帧至客户端20。
本发明的网络装置10及其帧处理方法首先通过速率确定模块120确定传送多个帧的最长恒定速率,使该最长恒定速率不超出客户端20的缓存所能够接纳的最大速率,接着通过判定模块130依次判定每个帧的大小是否大于预设的帧大小值,然后通过设定模块140在其中一个帧的大小大于预设的帧大小值时重新设定大于预设的帧大小值的帧的大小,最后通过传送模块150根据最长恒定速率传送全部帧至客户端20来稳定帧恒定速率,从而避免丢包现象发生。
Claims (5)
1.一种网络装置,与客户端通信连接,其特征在于,所述网络装置包括:
速率确定模块,用于确定传送多个帧的最长恒定速率,所述速率确定模块包括:
统计子模块,用于统计所述客户端在不同时刻累计接收的最小帧大小;
确定子模块,用于根据统计的所述客户端在不同时刻累计接收的最小帧大小以及所述客户端的缓存大小确定所述客户端在不同时刻累计接收的最大帧大小;以及
最长速率确定子模块,用于根据统计的所述客户端在不同时刻累计接收的最小帧大小以及确定的所述客户端在不同时刻累计接收的最大帧大小确定传送所述多个帧的最长恒定速率;
判定模块,用于依次判定所述多个帧的大小是否大于预设的帧大小值;
设定模块,用于在其中一个帧的大小大于所述预设的帧大小值时,重新设定大于所述预设的帧大小值的帧的大小;以及
传送模块,用于根据所述最长恒定速率传送所述多个帧至所述客户端。
2.如权利要求1所述的网络装置,其特征在于,所述统计子模块还用于统计传送所述多个帧的时间间隔。
3.如权利要求1所述的网络装置,其特征在于,所述重新设定大于所述预设的帧大小值是将所述帧大于所述预设的帧大小值的部分加入前一个帧。
4.一种帧处理方法,应用于与客户端通信连接的网络装置中,其特征在于,所述帧处理方法包括:
统计所述客户端在不同时刻累计接收的最小帧大小;
根据统计的所述客户端在不同时刻累计接收的最小帧大小以及所述客户端的缓存大小确定所述客户端在不同时刻累计接收的最大帧大小;
根据统计的所述客户端在不同时刻累计接收的最小帧大小以及确定的所述客户端在不同时刻累计接收的最大帧大小确定传送帧的最长恒定速率;
依次判定所述多个帧的大小是否大于预设的帧大小值;
如果其中一个帧的大小大于所述预设的帧大小值,则重新设定大于所述预设的帧大小值的帧的大小;以及
根据所述最长恒定速率传送所述多个帧至所述客户端。
5.如权利要求4所述的帧处理方法,其特征在于,所述如果所述帧大小大于所述预设的帧大小值,则重新设定大于所述预设的帧大小值的帧的大小的步骤是将所述帧大于所述预设的帧大小值的部分加入前一个帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610063035 CN100574231C (zh) | 2006-10-11 | 2006-10-11 | 网络装置及其帧处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610063035 CN100574231C (zh) | 2006-10-11 | 2006-10-11 | 网络装置及其帧处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101163061A CN101163061A (zh) | 2008-04-16 |
CN100574231C true CN100574231C (zh) | 2009-12-23 |
Family
ID=39297895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610063035 Expired - Fee Related CN100574231C (zh) | 2006-10-11 | 2006-10-11 | 网络装置及其帧处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100574231C (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1681249A (zh) * | 2004-04-08 | 2005-10-12 | 三星电子株式会社 | 用于同步以太网的异步数据分割/传输方法及其中使用的数据结构 |
CN1761237A (zh) * | 2005-11-04 | 2006-04-19 | 清华大学 | 基于帧间插的以太网数据帧传输系统 |
CN1799044A (zh) * | 2003-04-24 | 2006-07-05 | 诺基亚有限公司 | 预设速率匹配信号通知的方法和装置 |
-
2006
- 2006-10-11 CN CN 200610063035 patent/CN100574231C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1799044A (zh) * | 2003-04-24 | 2006-07-05 | 诺基亚有限公司 | 预设速率匹配信号通知的方法和装置 |
CN1681249A (zh) * | 2004-04-08 | 2005-10-12 | 三星电子株式会社 | 用于同步以太网的异步数据分割/传输方法及其中使用的数据结构 |
CN1761237A (zh) * | 2005-11-04 | 2006-04-19 | 清华大学 | 基于帧间插的以太网数据帧传输系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101163061A (zh) | 2008-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104394486B (zh) | 一种基于云桌面的视频流处理方法及装置 | |
CN113271316B (zh) | 多媒体数据的传输控制方法和装置、存储介质及电子设备 | |
CN104618195B (zh) | 带宽估测方法和装置 | |
CN109600610B (zh) | 一种数据编码方法、终端及计算机可读存储介质 | |
CN103533451A (zh) | 抖动缓存调节方法及其系统 | |
CN102130886B (zh) | 网络视频流媒体系统及传输处理方法、发送端 | |
CN104125429A (zh) | 视频数据传输的调节方法及装置 | |
CN103517137A (zh) | 网络视频传输方法和系统、发送/接收端处理方法和装置 | |
US20050021827A1 (en) | Data processing device, data processing system, data processing method, data processing program and recording medium storing the program | |
Tan et al. | A remote thin client system for real time multimedia streaming over VNC | |
CN103096084A (zh) | 一种无线传输中码率自适应调节的方法、装置及系统 | |
US11146606B2 (en) | Data buffering method, network device, and storage medium | |
CN113490055B (zh) | 数据处理方法和装置 | |
CN103002354A (zh) | 一种消除视频数据传输网络抖动的方法及系统 | |
CN113207016B (zh) | 一种虚拟机图像帧率控制方法及网络设备、存储介质 | |
WO2009112547A1 (en) | Method of transmitting data in a communication system | |
US20140112354A1 (en) | Method, apparatus, and system for processing streaming media data | |
CN114501052A (zh) | 直播数据处理方法、云平台、计算机设备和存储介质 | |
CN101299808A (zh) | 一种实时图像数据传输方法及装置 | |
US20070110168A1 (en) | Method for generating high quality, low delay video streaming | |
CN100574231C (zh) | 网络装置及其帧处理方法 | |
CN101916219A (zh) | 一种片上多核网络处理器流媒体演示平台 | |
US20080080379A1 (en) | Network device and frame processing method thereof | |
CN111726647A (zh) | 数据分流设备和数据处理系统 | |
CN116546276A (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091223 Termination date: 20111011 |