CN102694791A - 基于喷泉码的实时tcp传输协议 - Google Patents
基于喷泉码的实时tcp传输协议 Download PDFInfo
- Publication number
- CN102694791A CN102694791A CN2012101136071A CN201210113607A CN102694791A CN 102694791 A CN102694791 A CN 102694791A CN 2012101136071 A CN2012101136071 A CN 2012101136071A CN 201210113607 A CN201210113607 A CN 201210113607A CN 102694791 A CN102694791 A CN 102694791A
- Authority
- CN
- China
- Prior art keywords
- key frame
- transmission
- real
- tcp
- frame
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种基于喷泉码的实时TCP传输协议,在TCP传输前,将多媒体数据帧中的关键帧利用喷泉码进行分段编码,传输时每个TCP报文包含当前所需要的非关键帧原始数据和下一关键帧编码包,本发明充分考虑到链路的实际传输能力,多媒体关键帧的丢失对视频质量的影响,通过对关键帧进行编码,实时预测待发送的编码包数,以保证关键帧的可靠性,关键帧与其前序的非关键帧的混合传输有效提高了多媒体质量,提高了网络资源利用率;同时,本发明所提出的传输机制有效地提高了多媒体传输的实时性,保证了传输的公平性、稳定性和健壮性。
Description
技术领域
本发明属于多媒体实时传输技术领域,特别涉及基于喷泉码的实时TCP传输协议。
背景技术
现有的TCP是一种面向连接的可靠传输协议,它在设计之初并没有考虑实时传输,其主要目的是为了保证传输的可靠性。多媒体实时传输中,对传输的可靠性要求较低,需要较高的实时性。因此,TCP的丢包重传机制使其在多媒体传输中难以保证较高的实时性。
IETF在1998年提出的实时传输协议RTP/RTCP,是基于UDP的实时传输协议,RTP通过UDP进行数据传输,能够提供较好的实时性。RTCP主要用于流量控制和拥塞控制等。在高丢包率和时延的无线网络中,多媒体报文不会因为频繁的丢包影响实时性,并且较高的时延也不会限制传输的吞吐量,避免了TCP中由于丢包所造成的重传等问题。
现有的实时传输协议RTP/RTCP和RTSP都是使用UDP进行数据传输,虽然可以很好的保证实时性,但与传统TCP相比,它们是不可靠传输,并且无法提供公平的传输,被很多防火墙所屏蔽。多媒体中非关键帧的丢失对整个视频影响较小可忽略不计,而关键帧的丢失则会严重影响与其关联帧的恢复,视频的画面也会有较大的跳动。此外,在画面跳动较小的视频中,关键帧的丢失会严重影响视频质量,并且会造成大量非关键帧的无效传输,浪费网络资源。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提供一种基于喷泉码的实时TCP传输协议,对现有TCP协议进行扩展,保证了关键帧的可靠传输和多媒体的质量,因此,本协议在保证关键帧可靠传输的前提下,实现了公平、实时的传输。
为了实现上述目的,本发明采用的技术方案是:
基于喷泉码的实时TCP传输协议,在TCP传输前,将多媒体数据帧中的关键帧利用喷泉码进行分段编码,传输时每个TCP报文包含当前所需要的非关键帧原始数据和下一关键帧编码包。
基于喷泉码的实时TCP传输协议用于多媒体的传输,依次包括以下步骤:
步骤一,初始化:p←0,建立TCP连接后,对首个关键帧进行喷泉码编码并进行冗余传输,直到解码成功率达到δ;
步骤二,传输过程中根据ACK信息实时更新丢包率p,并计算下一关键帧的大小T和该帧之前所有非关键帧总大小S,(n,Δn,ΔS)←(0,0,S);
步骤三,根据网络质量和传送接收双方CPU处理能力确定编码包大小k,计算发送方至少发送的编码包数n′←[T/k-log2(1-δ)-n]/(1-p)-Δn(1-p);
步骤四,根据n′、ΔS和k来封装TCP报文,以保证关键帧和非关键帧同时传输完成,封装可采用传统IP分组封装方法完成;
步骤五,当收到ACK时,实时更新链路信息和多媒体数据帧的传输情况,若当前关键帧尚未传输完则继续执行步骤三,否则执行步骤二;
步骤六,当数据全部传输完毕时,链路断开连接;
以上步骤中,n为已成功收到的该关键帧有效编码包数,δ为解码成功率,ΔS为剩余非关键帧大小,Δn为已发送但仍未收到的编码包数。
在视频压缩中,每帧代表一幅静止的图像,而在实际压缩时,会采取各种算法减少数据的容量,其中IPB帧就是最常见的。
I帧表示关键帧,可以理解为这一帧画面的完整保留;因为包含完整画面,解码时只需要本帧数据就可以完成。
PB帧为非关键帧:
P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。即:差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据。
B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别。
本发明与现有技术相比,本方案结合喷泉码的特征和多媒体的传输需求,对关键帧进行编码冗余传输,通过合理的调度,有效关键帧的可靠性和传输的实时性;根据网络的变化实时更新并调整编码包数和链路信息,有效的提高了传输的稳定性和健壮性。
附图说明
附图是本发明的流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
实时TCP传输中,无线网络的链路质量:丢包率、时延和拥塞窗口是不断变化的。为了保证与传输TCP流之间的公平性,保留TCP窗口机制用于拥塞控制,去掉重传机制以保证实时传输。多媒体数据帧中主要分为关键帧(I帧)和非关键帧(P/B帧),为了保证关键帧的可靠性,在传输前对关键帧使用喷泉码进行分段编码,通过冗余传输来保证其可靠性,而非关键帧传输其原始数据。多媒体是根据帧的时间轴来进行解码的,而关键帧一般要大于非关键帧,为了保证多媒体播放的流畅性,在传输非关键帧的过程中同时传输下一关键帧的编码包,使得所有关键帧在播放前便能够成功解码。因此,TCP报文主要包含两部分数据:当前所需要的非关键帧原始数据和下一关键帧编码包。
通过以下概念衡量子流,并根据其实际情况对其进行调度:
多媒体传输前,首先对视频中的关键帧进行分段编码,根据关键帧的大小和在其前面的非关键帧的大小来填充TCP报文。编码包的数量需要根据当前网络的质量来确定,已知的当前的路径的链路信息有:丢包率p,待发关键帧大小T,编码包大小k,已成功收到的该关键帧有效编码包数n,解码成功率δ,待发非关键帧总大小S,剩余非关键帧大小为ΔS,已发送但仍未收到的编码包数Δn,报文大小为Z。
传输过程中,链路信息实时更新。关键帧所需要发送的编码包数是根据接收情况和链路质量共同决定的,每个报文中关键帧的个数也是随之动态变化的。为保证编码包的解码成功率δ,接收方收到的编码包数至少为:
N=T/k-log2(1-δ)
考虑网络的丢包,理论需要发送的编码包数至少为:
N′=N/(1-p)=[T/k-log2(1-δ)]/(1-p)
根据接收方收到的有效编码包数和链路质量进行实时调整预发送编码包数,使关键帧能够在播放前成功解码,不影响多媒体的质量。
发送方在传输过程需要根据接收到的ACK实时更新链路信息和多媒体关键帧的待发编码包数。在传输过程中,关键帧仍需要传输的编码包数为:
n′=(N-n)/(1-p)-Δn(1-p)=[T/k-log2(1-δ)-n]/(1-p)-Δn(1-p)
根据待发送的关键帧和非关键帧大小确定报文中编码包数和非关键帧的数据大小。
如附图所示,基于喷泉码的实时TCP传输协议在多媒体传输中依次包括以下步骤:
步骤一,初始化:p←0,建立TCP连接后,对首个关键帧进行喷泉码编码并进行冗余传输,直到解码成功率达到δ;
步骤二,传输过程中根据ACK信息实时更新丢包率p,并计算下一关键帧的大小T和该帧之前所有非关键总大小S,(n,Δn,ΔS)←(0,0,S);
步骤三,根据网络质量和传送接收双方CPU处理能力确定编码包大小k,计算发送方至少发送的编码包数n′←[T/k-log2(1-δ)-n]/(1-p)-Δn(1-p);
步骤四,根据n′、ΔS和k来封装TCP报文,以保证关键帧和非关键帧同时传输完成;
步骤五,当收到ACK时,实时更新链路信息和多媒体数据帧的传输情况,若当前关键帧尚未传输完则继续执行步骤三,否则执行步骤二;
步骤六,当数据全部传输完毕时,链路断开连接;
以上步骤中,n为已成功收到的该关键帧有效编码包数,δ为解码成功率,ΔS为剩余非关键帧大小,Δn为已发送但仍未收到的编码包数。
本发明的基于喷泉码的实时TCP传输协议,充分考虑到链路的实际传输能力,多媒体关键帧的丢失对视频质量的影响,通过对关键帧进行编码,实时预测待发送的编码包数,以保证关键帧的可靠性,关键帧与其前序的非关键帧的混合传输有效提高了多媒体质量,提高了网络资源利用率。同时,本发明所提出的传输机制有效地提高了多媒体传输的实时性,保证了传输的公平性、稳定性和健壮性。
Claims (3)
1.基于喷泉码的实时TCP传输协议,其特征在于,在TCP传输前,将多媒体数据帧中的关键帧利用喷泉码进行分段编码,传输时每个TCP报文包含当前所需要的非关键帧原始数据和下一关键帧编码包。
2.根据权利要求1所述的基于喷泉码的实时TCP传输协议,用于多媒体的传输,其特征在于,依次包括以下步骤:
步骤一,初始化:p←0,建立TCP连接后,对首个关键帧进行喷泉码编码并进行冗余传输,直到解码成功率达到δ;
步骤二,传输过程中根据ACK信息实时更新丢包率p,并计算下一关键帧的大小T和该帧之前所有非关键帧总大小S,(n,Δn,ΔS)←(0,0,S);
步骤三,根据网络质量和传送接收双方CPU处理能力确定编码包大小k,计算发送方至少发送的编码包数n′←[T/k-log2(1-δ)-n]/(1-p)-Δn(1-p);
步骤四,根据n′、ΔS和k来封装TCP报文,以保证关键帧和非关键帧同时传输完成;
步骤五,当收到ACK时,实时更新链路信息和多媒体数据帧的传输情况,若当前关键帧尚未传输完则继续执行步骤三,否则执行步骤二;
步骤六,当数据全部传输完毕时,链路断开连接;
以上步骤中,n为已成功收到的该关键帧有效编码包数,δ为解码成功率,ΔS为剩余非关键帧大小,Δn为已发送但仍未收到的编码包数。
3.根据权利要求2所述基于喷泉码的实时TCP传输协议,其特征在于,所述步骤四中封装TCP报文的方法采用传统IP分组封装方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210113607.1A CN102694791B (zh) | 2012-04-17 | 2012-04-17 | 基于喷泉码的实时tcp传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210113607.1A CN102694791B (zh) | 2012-04-17 | 2012-04-17 | 基于喷泉码的实时tcp传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102694791A true CN102694791A (zh) | 2012-09-26 |
CN102694791B CN102694791B (zh) | 2014-10-29 |
Family
ID=46860078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210113607.1A Active CN102694791B (zh) | 2012-04-17 | 2012-04-17 | 基于喷泉码的实时tcp传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102694791B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268226A (zh) * | 2016-12-30 | 2018-07-10 | 乐视汽车(北京)有限公司 | 同步终端屏幕的画面至车机的方法、终端及系统 |
CN109150876A (zh) * | 2018-08-20 | 2019-01-04 | 深圳市昊源科技有限公司 | 一种视频无线传输的qos方法、装置及系统 |
CN116320641A (zh) * | 2023-05-19 | 2023-06-23 | 河北网新科技集团股份有限公司 | 一种视频数据传输方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110158096A1 (en) * | 2009-07-02 | 2011-06-30 | Qualcomm Incorporated | Transmission of control information across multiple packets |
CN102404077A (zh) * | 2011-11-30 | 2012-04-04 | 清华大学 | 基于喷泉码的多径tcp协议 |
-
2012
- 2012-04-17 CN CN201210113607.1A patent/CN102694791B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110158096A1 (en) * | 2009-07-02 | 2011-06-30 | Qualcomm Incorporated | Transmission of control information across multiple packets |
CN102404077A (zh) * | 2011-11-30 | 2012-04-04 | 清华大学 | 基于喷泉码的多径tcp协议 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268226A (zh) * | 2016-12-30 | 2018-07-10 | 乐视汽车(北京)有限公司 | 同步终端屏幕的画面至车机的方法、终端及系统 |
CN109150876A (zh) * | 2018-08-20 | 2019-01-04 | 深圳市昊源科技有限公司 | 一种视频无线传输的qos方法、装置及系统 |
CN109150876B (zh) * | 2018-08-20 | 2021-06-29 | 深圳市昊一源科技有限公司 | 一种视频无线传输的qos方法、装置及系统 |
CN116320641A (zh) * | 2023-05-19 | 2023-06-23 | 河北网新科技集团股份有限公司 | 一种视频数据传输方法及系统 |
CN116320641B (zh) * | 2023-05-19 | 2023-08-04 | 河北网新科技集团股份有限公司 | 一种视频数据传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102694791B (zh) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104159166B (zh) | 基于移动网络丢包状态的直播视频数据传输差错控制方法 | |
CN101552660B (zh) | 对流媒体数据进行重传、播放的方法、装置及通信系统 | |
US7106757B2 (en) | System and method for streaming multimedia over packet networks | |
CN101222311B (zh) | 实时报文丢包恢复方法、系统及接收端单元 | |
CN102025717B (zh) | 一种传输多媒体数据的方法 | |
CN103580773A (zh) | 数据帧的传输方法及装置 | |
CN109155707B (zh) | 在多播网络中请求数据重传 | |
CN102209079A (zh) | 一种基于tcp协议的自适应网络控制传输方法和系统 | |
US20040105463A1 (en) | Method for enhancing transmission quality of streaming media | |
CN103354615B (zh) | 基于信号强度的直播视频数据传输差错控制方法 | |
CN105704580A (zh) | 一种视频传输方法 | |
CN101826937B (zh) | 适用于下一代移动互联网的链路层差错控制系统及其方法 | |
CN102006476A (zh) | 一种传输和接收实时视频数据的优化处理方法 | |
CN103125084A (zh) | Mac数据服务增强 | |
CN104486690B (zh) | 一种基于tcp协议的移动视频传输优化方法 | |
CN102088640A (zh) | 基于视频内容的自适应选择重传方法 | |
CN108234080A (zh) | 一种音视频传输方法 | |
CN102013962B (zh) | 数据传输方法及设备 | |
CN102256183A (zh) | 基于移动通信网络的视音频信号实时传输方法 | |
CN102694791B (zh) | 基于喷泉码的实时tcp传输方法 | |
CN104243342A (zh) | 数据传输控制方法及系统 | |
CN102065372B (zh) | 以广播方式传输数据的方法及相关装置 | |
CN105979264A (zh) | 用于无人机的远距离大数据量无线通信方法 | |
US20110096681A1 (en) | Method and system for digital content protection locality check with adaptive timeline in wireless communication systems | |
CN104837206B (zh) | 一种gmr-1 3g终端数据收发系统 |
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 |