CN103686077A - 应用于3g无线网络实时音视频数据传输的双缓冲方法 - Google Patents
应用于3g无线网络实时音视频数据传输的双缓冲方法 Download PDFInfo
- Publication number
- CN103686077A CN103686077A CN201310619206.8A CN201310619206A CN103686077A CN 103686077 A CN103686077 A CN 103686077A CN 201310619206 A CN201310619206 A CN 201310619206A CN 103686077 A CN103686077 A CN 103686077A
- Authority
- CN
- China
- Prior art keywords
- data
- buffering area
- buffering
- video
- wireless network
- 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.)
- Pending
Links
Images
Abstract
应用于3G无线网络实时音视频数据传输的双缓冲方法,包括数据采集、发送、接收和播放,所述数据发送和接收后步骤均经过缓冲处理;所述缓冲处理包括:将数据读入缓冲区、从缓冲区读出数据;所述将数据读入缓冲区和从缓冲区读出数据步骤中,均包括地址获取步骤,根据获取的地址,向缓冲区写入或从缓冲区提取数据;所述缓冲区至少能容纳2个完整I帧序列。采用本发明所述的应用于3G无线网络实时音视频数据传输的双缓冲方法,在音视频数据发送和接收后过程中均采用缓冲机制,一定程度上克服了网络速度不稳定对数据实时传输的影响,有效的解决在视频传输中网络不稳定时产生的延迟和停顿,提高了图像传输和实时显示的质量。
Description
技术领域
本发明属于电子通信领域,涉及图像数据的实时传输,涉及一种应用与实时音视频数据传输的双缓冲方法。
背景技术
图像可以定义为景物在某种介质上的再现,例如图片、电影、传真、电视等介质都可以使们获得图像信息。把图像信息传送到远方或是存储图像信息的过程,统称为图像传输。
随着软硬件产品的进步,目前网络图像传输多采用数字传输方式,接收和发送数字格式的信号,数字图像传输技术容量大,图像清晰,抗干扰能力强,已经逐步替代模拟信号的图像信号传输方式。
无线网络传输数据,受环境影响非常大,网络经常会出现时通时断,时好时坏,具有不稳定性和震颤性,网络带宽抖动频繁,数据包延迟,传输速度很不稳定,速度从每秒约10KB到120KB之间不断变化,有时甚至到几KB,或根本无法传输的状态,其变化没有明显的规律可循,并且难以预测。在网络涌塞时,存在严重的数据包丢掉的情况。
现有技术的图像传输大致可以划分为三类:1.无缓冲方式:在视频采集端和接收端,都不采用缓冲,接收端收到后再进入解码器解码显示,没有进行数据缓冲。2.单缓冲方式。在视频发送端直接发送数据,在接收端采用缓冲,接收端收到数据后,按照一定时间,再进行解码显示。3.简单的双缓冲方式:将视频数据作为普通数据来进行缓冲,没有将视频数据的特点和缓冲方式进行结合,缓冲效果不理想,图像会出现马赛克或严重延迟。
这三种方式的原理都是在视频的实时传输中,将视频做为普通数据来进行传输,这几种算法的缺陷在于,普通网络状况好时,情况较好,但是在网络情况差的时候,会导致视频画面严重延迟和停顿,并且伴随产生图像马赛克现象,严重影响视频质量。
有的通过一些处理,可以过滤掉一部分视频的停顿和马赛克,但是延迟会比较大。
发明内容
为克服现有的数字图像实时传输过程中受传输网速限制,容易出现延迟和停顿,影响图像传输质量的技术缺陷,本发明公开了一种应用于3G无线网络实时音视频数据传输的双缓冲方法。
应用于3G无线网络实时音视频数据传输的双缓冲方法,包括数据采集、发送、接收和播放,其特征在于,所述数据发送和接收步骤均经过缓冲处理;所述缓冲处理包括:将数据读入缓冲区、从缓冲区读出数据;
所述将数据读入缓冲区和从缓冲区读出数据步骤中,均包括地址获取步骤,根据获取的地址,向缓冲区写入或从缓冲区提取数据;所述缓冲区至少能容纳2个完整I帧序列,向缓冲区写入或提取数据时,采用读写锁进行同步控制。
本发明中,在数据的发送和接收过程中均使用缓冲处理机制,一定程度上克服了发送和接收过程中的网络传输速度不稳定造成的图象延时,有效的解决在视频传输中网络不稳定时产生的延迟和停顿,提高了图像传输和实时显示的质量。
同时由于本发明中视频播放速度取决于向缓冲区写入和调取的速度,避免了由于网络发送和接收速度不同造成的实时播放音视频数据出现的乱码和失真。
优选的,所述缓冲处理过程中,将数据写入缓冲区和从缓冲区读出数据各自采用不同线程。
上述写入数据和调取数据可以采用不同线程操作,由计算机给写入数据和调取数据的线程分配合适的硬件资源,使从缓冲区写入和调取数据能够同步协调进行。
优选的,所述缓冲处理采用循环存储。循环存储可以最大限度的有效利用缓冲区,避免在服务器中大量使用而浪费存储空间。
优选的,所述缓冲处理还包括:所述缓冲处理还包括:当缓冲区数据存满时,删除最早输入的数据,被删除的数据为一个以上的完整I帧序列。避免由于删除不完整导致读取到过时无效的视频数据,解码显示就会出现图像的马赛克的现象。
优选的,所述完整I帧序列为一个GOP。
优选的,所述数据播放步骤中还包括时延判断,所述视频数据采集步骤根据时延判断结果调整视频数据采集的帧率和帧的质量。
采用本发明所述的应用于3G无线网络实时音视频数据传输的双缓冲方法,在音视频数据上发送和接收过程中均采用缓冲机制,一定程度上克服了网络速度不稳定对数据实时传输的影响,有效的解决在视频传输中网络不稳定时产生的延迟和停顿,提高了图像传输和实时显示的质量。
附图说明
图1为本发明一种具体实施方式示意图;
图2示出本发明所述将数据读入缓冲区的一种具体实施方式示意图;
图3示出本发明所述从缓冲区读出数据的一种具体实施方式示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步的详细说明。
本发明所述应用于3G无线网络实时音视频数据传输的双缓冲方法,包括数据采集、发送、接收和播放,所述数据发送和接收步骤均经过缓冲处理;所述缓冲处理包括:将数据读入缓冲区、从缓冲区读出数据;
所述将采集的视频数据写入缓冲区时,从预先分配的地址开始写入,直到最大位置,数据写到最大位置时,再从头开始写入数据。每次写入视频数据时,需要考虑缓冲区是否有足够的空间来写入这一帧数据,如果不足,则需要删除缓冲区中最早的一个I帧序列,待删除数据后,再次判断是否需要删除,直到有足够的空间来写入这一帧数据。每次删除数据时,都需要删除至少一个完整I帧序列来保证视频不会出现马赛克或花屛。
所述将数据读入缓冲区和从缓冲区读出数据步骤中,均包括地址获取步骤,根据获取的地址,向缓冲区写入或从缓冲区提取数据;所述缓冲区至少能容纳2个完整I帧序列,向缓冲区写入或提取数据时,采用读写锁进行同步控制。
读写锁是一种现有的数据同步处理机制,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于普通自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,特别是在多CPU的系统中的并发访问,写者是排他性的,一个读写锁同时只能有一个写者或多个读者,但不能同时既有读者又有写者。
本发明中,写入数据和读取数据,需要用读写锁来做同步控制处理,避免读线程在读入数据时读入正在删除的过时数据,避免出现图像的马赛克现象。同时,读写锁机制保证多个线程可以同时读取采集写入缓冲区的数据,提高并发访问的性能。
为进一步提高硬件利用效率,对缓冲处理可以采用循环存储方式,循环存储是将一块存储区域进行反复循环写入,存储的区域和大小是预先固定分配好的,这样可以避免在使用中频繁分配和释放存储空间,造成内存碎片,减缓机器的运行速度。同时,循环存储可以最大限度的有效利用缓冲区,避免在服务器中大量使用而浪费存储空间。
以视频数据传输为例,如图1所示,数字摄像机采集到视频信号后,按照一定格式压缩处理后,将压缩后的数据包写入缓冲区,对缓冲区中地址进行分类,按照时间先后顺序依次放入缓冲区中事先定义对应地址。
调取数据时对应的优先调用最早写入缓冲区的数据,调用依据是按照实现的地址对应关系,寻找时间最早的地址,并从该地址调取数据,上传至网络。
上述写入数据和调取数据可以采用不同线程操作,由计算机给写入数据和调取数据的线程分配合适的硬件资源,使从缓冲区写入和调取数据能够同步协调进行。
数据经过网络的传输后,在数据接收端,采用类似的步骤,首先将数据接收后保存至缓冲区,同样按照时间顺序寻址依次写入缓冲区和从缓冲区调取数据,最后通过视频解码器解压播放。
数字格式视频数据的传输基本都采用压缩数据包的形式,目前有各种不同的视频数据压缩解压协议,普遍使用的I帧法是帧内压缩法,也称为“关键帧”压缩法。I帧法是基于离散余弦变换DCT(Discrete Cosine Transform)的压缩技术,这种算法与JPEG压缩算法类似。采用I帧压缩可达到1/6的压缩比而无明显的压缩痕迹。例如MPEG和DVD中使用的GOP技术,GOP数据包采用I帧法,每个 GOP的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象,在编码的过程中,部分视频帧序列压缩成为I帧;部分压缩成P帧;还有部分压缩成B帧。
在发送和接收数据端的缓冲区大小必须至少能包含两个完整的I帧序列,例如在采用GOP格式压缩视频数据时,至少需要能容纳2个I 帧和I帧时间视频数据的大小,否则容易出现丢帧,导致视频数据不连贯。
缓冲处理中,由于缓冲区依赖于硬件分配资源,容量有限,在缓冲区数据充满时,为避免溢出,需要从缓冲区删除数据,删除数据时,最好以完整帧压缩包作为最小单元删除,对GOP格式,必须删除到I帧数据之前,否则就会导致视频数据读写错误,显示错误图像。
为更好的说明缓冲区的数据读写操作过程,如图2和图3所示,分别显示出向缓冲区写入数据和从缓冲区调取数据的一种具体实施方式,向缓冲区写入数据时,首先判断缓冲区是否已满,若满则清除数据,若未满则计算新写入数据的存储地址,计算出地址后,将接收到的数据写入计算出的地址。从缓冲区调取数据时,计算出当前播放数据的下一帧编号,判断是否有新数据,若无则进入等待状态,若有则根据编号计算缓冲区中要调取数据的对应地址,计算出地址后调取缓冲区中对应地址存储的数据。
为更好的实施本发明,所述数据播放步骤中还包括时延判断,时延判断为在数据播放时,计算当前视频数据的时间和当前系统时间之间的时间差,据此判断当前网络速度,根据网络速度调整视频数据采集的帧率和帧的大小,延时大时减小数据量,进而减少延迟时间;在网络速度快时,可以增加视频的质量和帧率,使图像看起来更加清晰和流畅。
本发明中,在数据的发送和接收过程中均使用缓冲处理机制,一定程度上克服了发送和接收过程中的网络传输速度造成的图象延时,有效的解决在视频传输中网络不稳定时产生的延迟和停顿,提高了图像传输和实时显示的质量。
同时由于本发明中视频播放速度取决于向缓冲区写入和调取的速度,避免了由于网络发送和接收速度不同造成的实时播放音视频数据出现的乱码和失真。
本发明还可以应用于视频分发服务器领域中,多个用户同时观看一路摄像头的实时视频,这时可以一个采集视频写入缓冲区数据的线程,对应多个同时读取视频数据的线程,每个读取线程相对独立,多个用户可同时观看。在局域中,每个视频图像和真实环境的延迟在0.4秒以内,同时对硬件CPU的要求非常低。
本发明不仅适用于视频数据,也适用于音频或其他需要实时采集传输的数据,例如应用于气象信息、辐射强度等数据的实时采集传输。
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (6)
1.应用于3G无线网络实时音视频数据传输的双缓冲方法,包括数据采集、发送、接收和播放,其特征在于,所述数据发送和接收步骤均经过缓冲处理;所述缓冲处理包括:将数据读入缓冲区、从缓冲区读出数据;所述将数据读入缓冲区和从缓冲区读出数据步骤中,均包括地址获取步骤,根据获取的地址,向缓冲区写入或从缓冲区提取数据;所述缓冲区至少能容纳2个完整I帧序列;向缓冲区写入或提取数据时,采用读写锁进行同步控制。
2. 如权利要求1所述的应用于3G无线网络实时音视频数据传输的双缓冲方法,其特征在于,所述缓冲处理过程中,将数据写入缓冲区和从缓冲区读出数据各自采用不同线程。
3. 如权利要求1所述的应用于3G无线网络实时音视频数据传输的双缓冲方法,其特征在于,所述缓冲处理采用循环存储。
4.如权利要求1所述的应用于3G无线网络实时音视频数据传输的双缓冲方法,其特征在于,所述缓冲处理还包括:当缓冲区数据存满时,删除最早输入的数据,被删除的数据为一个以上的完整I帧序列。
5.如权利要求1或4所述的应用于3G无线网络实时音视频数据传输的双缓冲方法,其特征在于,所述完整I帧序列为一个GOP。
6. 如权利要求1所述的应用于3G无线网络实时音视频数据传输的双缓冲方法,其特征在于,所述数据播放步骤中还包括时延判断,所述视频数据采集步骤根据时延判断结果调整视频数据采集的帧率和帧的质量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310619206.8A CN103686077A (zh) | 2013-11-29 | 2013-11-29 | 应用于3g无线网络实时音视频数据传输的双缓冲方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310619206.8A CN103686077A (zh) | 2013-11-29 | 2013-11-29 | 应用于3g无线网络实时音视频数据传输的双缓冲方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103686077A true CN103686077A (zh) | 2014-03-26 |
Family
ID=50322194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310619206.8A Pending CN103686077A (zh) | 2013-11-29 | 2013-11-29 | 应用于3g无线网络实时音视频数据传输的双缓冲方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103686077A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104240739A (zh) * | 2014-09-04 | 2014-12-24 | 广东欧珀移动通信有限公司 | 一种移动终端的音乐播放方法及装置 |
CN105657311A (zh) * | 2016-03-11 | 2016-06-08 | 深圳市极酷威视科技有限公司 | 一种视频录制方法及装置 |
CN105791735A (zh) * | 2014-12-24 | 2016-07-20 | 中国电信股份有限公司 | 用于视频通话码流动态调整的方法和系统 |
CN105812710A (zh) * | 2016-05-05 | 2016-07-27 | 广东小天才科技有限公司 | 视频通话过程中优化图像质量的方法及系统 |
CN111415708A (zh) * | 2020-03-24 | 2020-07-14 | 山东大学 | 双缓冲模型实现大规模数据库聚类方法及系统 |
WO2022160743A1 (zh) * | 2021-01-29 | 2022-08-04 | 稿定(厦门)科技有限公司 | 视频文件播放系统、音视频播放流程、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070195892A1 (en) * | 2006-02-17 | 2007-08-23 | Kwang-Pyo Choi | Data receiving device and method for shortening channel switching time in digital multimedia broadcasting system |
CN101640625A (zh) * | 2008-07-30 | 2010-02-03 | 天津天地伟业数码科技有限公司 | 无线宽带网络条件下的监控系统 |
CN102075769A (zh) * | 2011-01-10 | 2011-05-25 | 苏州博联科技有限公司 | 视频无线传输监控系统的视频QoS优化方法 |
CN102355604A (zh) * | 2011-09-28 | 2012-02-15 | 华为数字技术有限公司 | 媒体报文传输方法及装置 |
CN103108186A (zh) * | 2013-02-21 | 2013-05-15 | 中国对外翻译出版有限公司 | 实现视频高清传播的方法 |
-
2013
- 2013-11-29 CN CN201310619206.8A patent/CN103686077A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070195892A1 (en) * | 2006-02-17 | 2007-08-23 | Kwang-Pyo Choi | Data receiving device and method for shortening channel switching time in digital multimedia broadcasting system |
CN101640625A (zh) * | 2008-07-30 | 2010-02-03 | 天津天地伟业数码科技有限公司 | 无线宽带网络条件下的监控系统 |
CN102075769A (zh) * | 2011-01-10 | 2011-05-25 | 苏州博联科技有限公司 | 视频无线传输监控系统的视频QoS优化方法 |
CN102355604A (zh) * | 2011-09-28 | 2012-02-15 | 华为数字技术有限公司 | 媒体报文传输方法及装置 |
CN103108186A (zh) * | 2013-02-21 | 2013-05-15 | 中国对外翻译出版有限公司 | 实现视频高清传播的方法 |
Non-Patent Citations (2)
Title |
---|
林为民等: "《云计算与物联网技术在电力系统中的应用》", 《云计算与物联网技术在电力系统中的应用》 * |
赵克佳等: "《UNIX/Linux程序设计教程》", 《UNIX/LINUX程序设计教程》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104240739A (zh) * | 2014-09-04 | 2014-12-24 | 广东欧珀移动通信有限公司 | 一种移动终端的音乐播放方法及装置 |
CN104240739B (zh) * | 2014-09-04 | 2017-05-24 | 广东欧珀移动通信有限公司 | 一种移动终端的音乐播放方法及装置 |
CN105791735A (zh) * | 2014-12-24 | 2016-07-20 | 中国电信股份有限公司 | 用于视频通话码流动态调整的方法和系统 |
CN105791735B (zh) * | 2014-12-24 | 2018-11-27 | 中国电信股份有限公司 | 用于视频通话码流动态调整的方法和系统 |
CN105657311A (zh) * | 2016-03-11 | 2016-06-08 | 深圳市极酷威视科技有限公司 | 一种视频录制方法及装置 |
CN105812710A (zh) * | 2016-05-05 | 2016-07-27 | 广东小天才科技有限公司 | 视频通话过程中优化图像质量的方法及系统 |
CN105812710B (zh) * | 2016-05-05 | 2019-01-04 | 广东小天才科技有限公司 | 视频通话过程中优化图像质量的方法及系统 |
CN111415708A (zh) * | 2020-03-24 | 2020-07-14 | 山东大学 | 双缓冲模型实现大规模数据库聚类方法及系统 |
CN111415708B (zh) * | 2020-03-24 | 2023-05-05 | 山东大学 | 双缓冲模型实现大规模数据库聚类方法及系统 |
WO2022160743A1 (zh) * | 2021-01-29 | 2022-08-04 | 稿定(厦门)科技有限公司 | 视频文件播放系统、音视频播放流程、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109618179B (zh) | 超高清视频直播的快速起播方法及装置 | |
US9172969B2 (en) | Local macroblock information buffer | |
CN103686077A (zh) | 应用于3g无线网络实时音视频数据传输的双缓冲方法 | |
CN1486537A (zh) | 信号接收机、便携终端及信号接收系统 | |
JPH08195960A (ja) | ビデオ・デコンプレッション・プロセッサにおいてdramへの効果的なアドレスを行う方法および装置 | |
US20230144483A1 (en) | Method for encoding video data, device, and storage medium | |
CN101917613A (zh) | 一种流媒体采集编码服务系统 | |
US11356739B2 (en) | Video playback method, terminal apparatus, and storage medium | |
CN104639951A (zh) | 视频码流的抽帧处理方法及装置 | |
CN111726657A (zh) | 直播视频的播放处理方法、装置及服务器 | |
JP4086344B2 (ja) | 画像送信装置及び制御方法 | |
CN104735410B (zh) | 一种低于4k/s的窄带宽视频传输方法及系统 | |
CN110225399B (zh) | 流媒体处理方法、装置、计算机设备及存储介质 | |
WO2021254375A1 (zh) | 视频分块方法、传输方法、服务器、适配器和存储介质 | |
US20240080487A1 (en) | Method, apparatus for processing media data, computer device and storage medium | |
CN111406404B (zh) | 获得视频文件的压缩方法、解压缩方法、系统及存储介质 | |
CN104639979A (zh) | 视频分享方法及系统 | |
JP2010011287A (ja) | 映像伝送方法および端末装置 | |
JP5383316B2 (ja) | 送信機と電子装置間の信号ストリームの簡略化された伝送方法 | |
CN104219537A (zh) | 视频数据处理的方法、装置及系统 | |
CN112261441A (zh) | 一种视频数据的处理方法、系统、设备及存储介质 | |
TWI439137B (zh) | 重建一圖像群以在該圖像群中隨機存取之方法及裝置 | |
CN107241601B (zh) | 图像数据传输方法、装置及终端 | |
WO2015153723A1 (en) | A method and system for real-time cloud storage of video content | |
CN110139144A (zh) | 一种基于智能家居中电视分享方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140326 |
|
RJ01 | Rejection of invention patent application after publication |