CN101505202B - 一种流媒体传输自适应纠错方法 - Google Patents
一种流媒体传输自适应纠错方法 Download PDFInfo
- Publication number
- CN101505202B CN101505202B CN2009100611216A CN200910061121A CN101505202B CN 101505202 B CN101505202 B CN 101505202B CN 2009100611216 A CN2009100611216 A CN 2009100611216A CN 200910061121 A CN200910061121 A CN 200910061121A CN 101505202 B CN101505202 B CN 101505202B
- Authority
- CN
- China
- Prior art keywords
- error correction
- packet loss
- fec
- media
- media data
- 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
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流媒体传输自适应纠错方法,媒体接收端向媒体发送端反馈丢包信息,媒体发送端计算丢包率,依据丢包率调整编码码率,并生成当前RTP媒体数据包;根据与网络带宽、编码码率及丢包率相关的关系式确定原始媒体数据包数量以及编码后FEC纠错包和媒体数据包数量和,再采用前向纠错FEC技术RS算法生成FEC纠错包,将其与当前RTP媒体数据包一起传送给媒体接收端,媒体接收端使用FEC纠错包对当前RTP媒体数据包进行恢复。本发明不仅能够动态调整流媒体编码码率以适应网络带宽变化,接收端也能够恢复由于网络拥塞丢失的数据,同时动态地调整前向纠错FEC技术的参数能够更加有效的利用网络带宽。
Description
技术领域
本发明涉及流媒体传输技术领域,具体涉及一种流媒体传输自适应纠错方法。
背景技术
随着网络技术和多媒体业务的不断发展,多媒体通信业务逐渐在Internet应用中占据主导地位。由于多媒体业务如语音、视频传输对网络带宽的要求比较高,同时由于IP网络容易产生拥塞导致媒体数据的丢失,因此在网络环境动态变化的情况下,需要一种流媒体传输自适应纠错方法来为用户提供可靠、流畅和实时的端对端的服务质量保证。
影响流媒体质量的因素有很多,如网络拥塞、分组超时丢失、传输损伤等。对动态变化的网络带宽导致的丢包通常采取的办法是自动调整流媒体编码码率,而对传输过程中发生的丢包一般采取的方法是差错和数据包丢失控制。在有限的网络带宽动态变化时,要保证客户端流媒体播放的流畅性,一般都是采取检测网络带宽的状态,以此动态地自适应调整服务端的流媒体编码发送码率的方法。目前,有很多办法可以用来检测网络带宽的状况,例如接收端通过实时传输控制协议RTCP(Real-time ControlProtocol)报告分组向发送端反馈网络状态信息。另外,我们也可以在发送端运行网络测速软件(如TCP/IP和UDP/IP的性能测量工具Iperf)来准确测量带宽。对传输过程中产生的差错和数据包丢失,进行控制的的基本方法大致可分为4类:重传反馈(ARQ)、前向纠错(FEC)、FEC/ARQ的混合差错控制方式、信息反馈(IRQ,information repeat request)方式。其中前向纠错(FEC)是一种比较先进的纠错方法,相对于重传反馈(ARQ)和信息反馈(IRQ)方式实时性能好,但是发送FEC纠错包会占用额外的网络带宽。
现有不可靠的IP网络以及有限的网络带宽都会影响流媒体传输的质量,因此需要一种既能动态调整媒体编码码率也能够在接收端恢复丢失数据的方法,来保证流媒体的质量。实时传输控制协议RTCP组合前向纠错FEC是一种比较适用的方法,但是现有的方法FEC参数往往是固定的,设以较小的编码率会导致接收端恢复性能差,较大的编码率则会浪费网络带宽。
发明内容
本发明的目的在于提出一种流媒体传输自适应纠错方法,该方法不仅能够动态调整流媒体编码码率,以自动适应网络带宽,接收端也能够恢复由于网络拥塞丢失的数据,同时动态地调整前向纠错FEC的参数能够更加有效的利用网络带宽。
一种流媒体传输自适应纠错方法,具体为:
步骤(1)媒体接收端向媒体发送端反馈丢包信息;
步骤(2)媒体发送端接收丢包信息,计算丢包率P,依据丢包率P调整编码码率B,使用调整后的编码码率B生成当前RTP媒体数据包;根据关系式P<(N-K)/N<W/B-1确定原始媒体数据包数量K以及编码后FEC纠错包和媒体数据包数量和N,W为网络带宽,再采用前向纠错FEC技术RS算法生成FEC纠错包,将其与当前RTP媒体数据包一起传送给媒体接收端;
步骤(3)媒体接收端接收当前RTP媒体数据包和FEC纠错包,利用FEC纠错包对当前RTP媒体数据包进行恢复。
媒体发送端按照下述方法调整编码码率B:若丢包率P>丢包率上限值K+,则降低编码码率B;若丢包率P<丢包率下限值K-,则提高编码码率B;若K-≤P≤K+,则保持编码码率B不变。
本发明利用RTCP协议中的接收反馈包(Receive Report,RR)使得发送端能够掌握当前的网络状况,并在出现丢包时使用前向纠错技术FEC来进行丢失数据包的恢复。如无丢包现象时,则可以不发送FEC包,但是IP网络波动性比较大,一旦网络状况变差,可以根据RR包中的丢包率统计信息,进行编码码率的调整,在码率调整结束之后,可以选择恰当的RS参数发送冗余的FEC包以便于接收端数据的恢复。本发明可以达到码率自适应的目的,同时动态地调整FEC参数也能够更加有效的利用网络带宽,实用性强。
附图说明
图1为本发明媒体发送端和接收端交互示意图。
图2为本发明媒体发送端自适应调节流媒体质量详细流程图。
图3为本发明媒体接收端自适应调节流媒体质量详细流程图。
具体实施方式
下面结合附图对实施例进行详细说明。
图1显示了本发明媒体发送端和接收端交互示意图,具体为:媒体发送端向接收端发送RTP(Real-time Transport Protocol,实时传送协议)媒体包和FEC纠错包,媒体接收端接收数据,并发送包含丢包信息的RTCP协议RR包给发送端,发送端根据反馈的丢包情况算出丢包率P,由丢包率P调整编码码率B并根据关系式P<(N-K)/N<W/B-1选择FEC技术RS(ReedSolomen)算法中的参数K和N,K表示原始媒体数据包数量,N表示编码后FEC纠错包和媒体数据包数量和,RS算法中根据K个原始媒体数据包生成N-K个FEC纠错包。
图2显示了本发明媒体发送端自适应调节流媒体质量详细流程图,具体为:
步骤201,发送进程开始,准备发送媒体数据;
步骤202,初始化编码器,设定初始码率B0,最低码率B-,最高码率B+及码率调整步长Bs;
步骤203,初始化前向纠错FEC技术RS算法中的K和N参数;
步骤204,接收接收端反馈回来的RTCP协议RR包,得出网络丢包率P;
步骤205,判断P是否大于K+,K+为丢包率上限值,一般0<K+<1,若大于,则进入步骤206;否则进入步骤208;
步骤206,判断当前编码码率B是否大于B-,若大于,则转到步骤207;否则进入步骤211;
步骤207,令当前码率B=B-Bs,即将编码码率降低一个步长Bs,进入步骤211;
步骤208,判断P是否在0≤P<K-范围内,K-为丢包率下限值,一般0≤K-≤K+,若在则进入步骤209;否则进入步骤211;
步骤209,判断当前编码码率B是否小于B+,若小于,则进入步骤210;否则进入步骤211;
步骤210,令当前码率B=B+Bs,即将编码码率提高一个步长Bs,进入步骤211;
步骤211,根据P和B选定FEC技术RS算法中参数K和N,并生成相应的FEC纠错包;
步骤212,依据当前编码码率生成RTP媒体包,将其与FEC纠错包一起传送给媒体接收端,转入步骤204,进行循环发送数据。
图3显示了本发明媒体接收端自适应调节流媒体质量详细流程图,具体为:
步骤301,接收进程开始,准备接收媒体数据;
步骤302,读取网络媒体RTP数据包和FEC纠错包;
步骤303,根据RTP数据包包头的PT字段,判断数据包的类型,若为媒体包,则进入步骤304;若为FEC纠错包,则进入步骤305;
步骤304,将接收的数据包保存至媒体包队列;
步骤305,将接收的数据包保存至FEC纠错包队列;
步骤306,根据媒体包队列判断是否有丢包,若有则进入步骤307;否则进入步骤308;
步骤307,通过FEC技术恢复丢包;
步骤308,对接收的媒体包和通过FEC恢复的数据包进行解码播放,然后转到步骤302,进行循环接收。
实例
编码器的初始码率B0=200Kbps,最低码率B-=50Kbps,最高码率B+=500Kbps,码率调整步长Bs=50Kbps。丢包率上限值K+=0.2,丢包率下限值K-=0.1。前向纠错FEC编码器的初始参数,原始媒体数据包数量K=10,编码后总的数据包数量N=12。
初始化完成之后,在出口带宽W=500K的IP丢包网络中,发送端开始发送媒体数据,接收端反馈回来的丢包率P=0.4,由于P>K+,调整码率B=B0-Bs=200Kbps-50Kbps=150Kbps。调整之后接收端反馈回来的丢包率P=0.15,K-≤P≤K+,不需要再调整码率B,根据关系式P<(N-K)/N<W/B-1算得FEC编码器的编码率-1.33<K/N<0.85,又0<K/N且K<N,固定K=10,则11.76<N,又N为整数,取N=12。接收端利用FEC包和媒体包恢复丢失的数据,媒体质量大为改善,无明显延时和马赛克现象,说明利用本专利描述的方法很好的提高了流媒体的质量。
Claims (1)
1.一种流媒体传输自适应纠错方法,具体为:
步骤(1)媒体接收端向媒体发送端反馈丢包信息;
步骤(2)媒体发送端接收丢包信息,计算丢包率P,依据丢包率P调整编码码率B,使用调整后的编码码率B生成当前RTP媒体数据包;根据关系式P< (N-K)/N < W/B – 1确定原始媒体数据包数量K以及编码后FEC纠错包和媒体数据包数量和N,W为网络带宽,再采用前向纠错FEC技术RS算法生成FEC纠错包,将其与当前RTP媒体数据包一起传送给媒体接收端;
步骤(3)媒体接收端接收当前RTP媒体数据包和FEC纠错包,利用FEC纠错包对当前RTP媒体数据包进行恢复;
媒体发送端按照下述方法调整编码码率B:若丢包率P>丢包率上限值K+,则将编码码率B降低一个步长Bs;若丢包率P <丢包率下限值K-,则将编码码率B提高一个步长Bs;若K-≤P≤ K+-,则保持编码码率B不变,0≤ K- ≤ K+<1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100611216A CN101505202B (zh) | 2009-03-16 | 2009-03-16 | 一种流媒体传输自适应纠错方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100611216A CN101505202B (zh) | 2009-03-16 | 2009-03-16 | 一种流媒体传输自适应纠错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101505202A CN101505202A (zh) | 2009-08-12 |
CN101505202B true CN101505202B (zh) | 2011-09-14 |
Family
ID=40977293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100611216A Expired - Fee Related CN101505202B (zh) | 2009-03-16 | 2009-03-16 | 一种流媒体传输自适应纠错方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101505202B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719809B (zh) * | 2009-11-25 | 2012-10-10 | 中兴通讯股份有限公司 | 一种媒体数据包丢包恢复的方法及系统 |
CN101778295B (zh) * | 2009-12-25 | 2012-11-14 | 中兴通讯股份有限公司 | 一种视频监控系统及其前向纠错的方法 |
CN101807970B (zh) * | 2010-02-10 | 2012-09-26 | 中国电子科技集团公司第三十研究所 | 一种具备自适应纠错能力的分组传输方法 |
CN102985968B (zh) * | 2010-07-01 | 2015-12-02 | Lg电子株式会社 | 处理音频信号的方法和装置 |
CN102035825A (zh) * | 2010-08-31 | 2011-04-27 | 中山大学 | 一种应用于机顶盒的自适应qos多媒体传输方法 |
CN102595252B (zh) * | 2011-01-11 | 2016-09-28 | 中兴通讯股份有限公司 | 流媒体前向纠错实现方法及系统 |
CN102239652A (zh) * | 2011-05-20 | 2011-11-09 | 华为技术有限公司 | 数据传输方法、光线路终端和系统 |
CN102946570B (zh) * | 2012-09-21 | 2015-03-04 | 上海交通大学 | 一种自适应网络带宽的多流流媒体传输系统与传输方法 |
CN104349219A (zh) * | 2013-07-29 | 2015-02-11 | 中国科学院大学 | 一种基于移动通信网络的严增松减等步长拥塞控制算法 |
CN104348577B (zh) * | 2013-08-01 | 2019-01-08 | 波利康公司 | 用于编码多媒体数据的设备和方法 |
CN103607661B (zh) * | 2013-11-29 | 2017-12-12 | 广州三人行壹佰教育科技有限公司 | 一种传输多媒体数据的方法及装置 |
CN103957222A (zh) * | 2014-05-20 | 2014-07-30 | 艾诺通信系统(苏州)有限责任公司 | 一种基于fec算法的视频传输自适应方法 |
CN105227552A (zh) * | 2015-09-25 | 2016-01-06 | 重庆邮电大学 | 一种td-lte应急终端语音业务质量保障方法 |
CN107438187B (zh) * | 2015-09-28 | 2020-06-30 | 苏州踪视通信息技术有限公司 | 实时视频传输的带宽调整 |
CN106937134B (zh) * | 2015-12-31 | 2021-03-02 | 深圳市潮流网络技术有限公司 | 一种数据传输的编码方法、编码发送装置及系统 |
WO2017193315A1 (zh) * | 2016-05-11 | 2017-11-16 | 华为技术有限公司 | 一种语音编码速率的调整方法及设备 |
CN107483144B (zh) * | 2016-06-07 | 2021-11-23 | 中兴通讯股份有限公司 | 前向纠错反馈信息传输方法、装置 |
CN114268618A (zh) * | 2016-11-10 | 2022-04-01 | 上海贝锐信息科技股份有限公司 | 一种kvm交换机远程控制系统及方法 |
CN108322286B (zh) * | 2017-01-17 | 2020-12-15 | 华为技术有限公司 | 一种获得前向纠错fec参数的方法、装置 |
CN108429921B (zh) * | 2017-02-14 | 2020-12-18 | 北京金山云网络技术有限公司 | 一种视频编解码方法及装置 |
CN109936527A (zh) * | 2017-12-15 | 2019-06-25 | 中兴通讯股份有限公司 | 直播数据的传输方法及网络节点 |
CN108174234A (zh) * | 2018-01-12 | 2018-06-15 | 珠海全志科技股份有限公司 | 一种流媒体传输方法及系统 |
CN108809523B (zh) * | 2018-08-10 | 2022-05-06 | 深圳市智慧海洋科技有限公司 | 一种用于水下声学网络的可靠数据传输方法及系统 |
CN109951254B (zh) * | 2019-03-21 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置、计算机可读存储介质 |
CN111800218B (zh) * | 2019-04-08 | 2022-04-22 | 华为技术有限公司 | 一种数据流的传输方法和设备 |
CN109981225B (zh) * | 2019-04-12 | 2022-02-11 | 广州视源电子科技股份有限公司 | 一种码率预估方法、装置、设备及存储介质 |
CN110337026B (zh) * | 2019-06-18 | 2021-07-13 | 厦门立林科技有限公司 | 一种云对讲系统的视频码率自适应调整方法 |
CN110784745B (zh) * | 2019-11-26 | 2021-12-07 | 科大讯飞股份有限公司 | 一种视频传输方法、装置、系统、设备及存储介质 |
CN111314335B (zh) * | 2020-02-10 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、终端、存储介质和系统 |
CN111787413B (zh) * | 2020-07-09 | 2022-02-11 | 郑州信大捷安信息技术股份有限公司 | 流媒体数据传输方法、系统、发送装置及接收装置 |
CN111935485A (zh) * | 2020-08-10 | 2020-11-13 | 北京佳讯飞鸿电气股份有限公司 | 一种rs码前向纠错方法及装置 |
CN114793146A (zh) * | 2021-01-26 | 2022-07-26 | 普联技术有限公司 | 数据接收方法、数据发送方法及相关设备 |
CN114337928A (zh) * | 2021-12-30 | 2022-04-12 | 福州大学 | 一种基于arq与fec自适应选择的实时视频传输方法 |
CN115086285B (zh) * | 2022-06-02 | 2024-05-17 | 深圳市欢太科技有限公司 | 一种数据处理方法、装置、存储介质及电子设备 |
CN115314479B (zh) * | 2022-07-05 | 2023-12-29 | 上海赛连信息科技有限公司 | 流媒体传输容错控制方法及其系统 |
CN117155705B (zh) * | 2023-10-27 | 2024-02-02 | 三峡高科信息技术有限责任公司 | 基于物联网网闸的数据传输系统、方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655547A (zh) * | 2004-09-09 | 2005-08-17 | 上海川海信息科技有限公司 | 一种流媒体传输系统中的速率控制方法 |
CN101330352A (zh) * | 2008-05-06 | 2008-12-24 | 华中科技大学 | 一种流媒体传输自适应码率控制方法 |
-
2009
- 2009-03-16 CN CN2009100611216A patent/CN101505202B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655547A (zh) * | 2004-09-09 | 2005-08-17 | 上海川海信息科技有限公司 | 一种流媒体传输系统中的速率控制方法 |
CN101330352A (zh) * | 2008-05-06 | 2008-12-24 | 华中科技大学 | 一种流媒体传输自适应码率控制方法 |
Non-Patent Citations (2)
Title |
---|
李世银.实时数据传输的自适应前向纠错方法研究.《中国矿业大学学报》.2006,第35卷(第6期),803-807. * |
杨宗凯等.实时视频通信中自适应前向纠错方案设计.《计算机工程与科学》.2007,第29卷(第8期),43-45. * |
Also Published As
Publication number | Publication date |
---|---|
CN101505202A (zh) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101505202B (zh) | 一种流媒体传输自适应纠错方法 | |
US8964115B2 (en) | Transmission capacity probing using adaptive redundancy adjustment | |
KR101242663B1 (ko) | 패킷 송신 장치, 통신 시스템 및 컴퓨터 판독가능한 기록매체 | |
JP3814614B2 (ja) | マルチメディア・ストリーミング環境におけるサーバベースのレート制御 | |
US7583666B2 (en) | Protocol information processing system and method information processing device and method recording medium and program | |
CN104618337B (zh) | 一种基于tcp/udp混合协议的流媒体无线自适应传输方法 | |
CN103944834B (zh) | 一种音视频转发控制方法及系统 | |
RU2009134145A (ru) | Снижение влияния от потерь пакетов в передачах видео | |
US20120300663A1 (en) | Method and apparatus for retransmission decision making | |
US20130003579A1 (en) | Method and apparatus for parsing a network abstraction-layer for reliable data communication | |
CN109150876A (zh) | 一种视频无线传输的qos方法、装置及系统 | |
US20120218887A1 (en) | Shaping Multimedia Stream Bit-Rates to Adapt to Network Conditions | |
CN1468001A (zh) | 基于因特网的媒体流自适应传输方法 | |
CN102790666A (zh) | 差错控制的方法、接收端、发送端和系统 | |
CN101909208A (zh) | 一种适用于cdma2000的视频无线传输控制方法 | |
CN101588597A (zh) | 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 | |
Chieochan et al. | Wireless fountain coding with IEEE 802.11 e block ACK for media streaming in wireline-cum-WiFi networks: a performance study | |
CN114337928A (zh) | 一种基于arq与fec自适应选择的实时视频传输方法 | |
CN104486690A (zh) | 一种基于tcp协议的移动视频传输优化方法 | |
KR100851918B1 (ko) | 네트워크 적응형 데이터 전송 방법, 이를 위한 데이터 전송시스템, 데이터 송신 장치, 및 데이터 수신 장치 | |
WO2013125375A1 (ja) | 映像送信装置、映像送信方法、及びプログラム | |
Gorkemli et al. | Video streaming over wireless DCCP | |
Kim et al. | UDP-based extremely low latency streaming | |
JP5523163B2 (ja) | 送信装置、送信方法、プログラム | |
WO2010000910A1 (en) | Transmission capacity probing using adaptive redundancy adjustment |
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: 20110914 Termination date: 20140316 |