基于音视频同步的自适应带宽传输和播放方法.pdf

上传人:xia****o6 文档编号:4453809 上传时间:2018-10-03 格式:PDF 页数:16 大小:4.25MB
返回 下载 相关 举报
基于音视频同步的自适应带宽传输和播放方法.pdf_第1页
第1页 / 共16页
基于音视频同步的自适应带宽传输和播放方法.pdf_第2页
第2页 / 共16页
基于音视频同步的自适应带宽传输和播放方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《基于音视频同步的自适应带宽传输和播放方法.pdf》由会员分享,可在线阅读,更多相关《基于音视频同步的自适应带宽传输和播放方法.pdf(16页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102932676 A (43)申请公布日 2013.02.13 C N 1 0 2 9 3 2 6 7 6 A *CN102932676A* (21)申请号 201210458361.1 (22)申请日 2012.11.14 H04N 21/236(2011.01) H04N 21/434(2011.01) H04N 21/8547(2011.01) H04N 21/647(2011.01) H04N 21/6437(2011.01) (71)申请人武汉烽火众智数字技术有限责任公 司 地址 430074 湖北省武汉市洪山区邮科院路 88号 (72)发明人郑靖 徐良平。

2、 吴长树 (74)专利代理机构武汉宇晨专利事务所 42001 代理人黄瑞棠 (54) 发明名称 基于音视频同步的自适应带宽传输和播放方 法 (57) 摘要 本发明公开了一种基于音视频同步的自适应 带宽传输和播放方法,涉及公共移动通信设备的 视频数据传输处理技术。本方法根据H.264编码 产生视频流数据,根据当前无线带宽的状况,实时 动态调整发送数据量的大小,经无线网络将数据 传输到外网服务器;接收显示客户端接收音视频 数据,开辟音视频数据缓冲区,根据接收的数据量 的快慢,采用一定的播放策略,将视频显示播放; 整个过程中通过音视频同步算法保证实时视频和 音频能够同步。本发明提高了运维工作效率,减。

3、少 了人力成本;能对视频进行实时检测,解决无线 带宽抖动,音频和视频同步;通用性强,可移植性 强,扩展性灵活。 (51)Int.Cl. 权利要求书4页 说明书6页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 4 页 说明书 6 页 附图 5 页 1/4页 2 1.一种基于音视频同步的自适应带宽传输和播放方法,其特征在于: 根据H.264编码产生视频流数据,根据当前无线带宽的状况,实时动态调整发送数据 量的大小,经无线网络将数据传输到外网服务器;接收显示客户端接收音视频数据,开辟音 视频数据缓冲区,根据接收的数据量的快慢,采用一定的播放策略,将视频显示播放;。

4、整个 过程中通过音视频同步算法保证实时视频和音频能够同步; 具体包括下列步骤: 初始化各子模块:音视频采集模块、无线视频服务器自适应模块、显示客户端接收数 据模块、显示客户端接收数据缓存模块、音视频同步模块、显示客户端解码模块和显示客户 端缓冲显示模块; 音视频采集模块负责完成音视频信号的采集; 无线视频服务器自适应模块负责在无线网络环境下动态调整音视频数据发送的带 宽; 显示客户端接收数据模块负责完成音视频数据的接收; 显示客户端接收数据缓存模块负责将接收到的音视频数据放入到接收缓冲区当中; 音视频同步模块负责完成音频和视频数据的同步; 显示客户端解码模块负责完成音视频数据的解码; 显示客户。

5、端缓冲显示模块负责完成音视频数据的播放; 判断是否有音视频码流申请,是则进入下一步骤,否则继续步骤; 判断是否有视频码流申请,是则将视频数据发送到无线网络当中,经过无线视频服 务器自适应模块、显示客户端接收数据模块、显示客户端接收数据缓存模块和显示客户端 解码模块,直至显示客户端缓冲显示模块;否则进入下一步骤; 判断是否有音频码流申请,是则将音频数据发送到无线网络当中,经过无线视频服 务器自适应模块、显示客户端接收数据模块、显示客户端接收数据缓存模块和显示客户端 解码模块,直至显示客户端缓冲显示模块;否则进入下一步骤; 判断是否音视频码流同时申请,是则将音视频数据经过音视频同步模块、无线视频 。

6、服务器自适应模块、显示客户端接收数据模块、显示客户端接收数据缓存模块、显示客户端 解码模块和音视频同步模块,直至显示客户端缓冲显示模块;否则跳转到步骤。 2.按权利要求1所述的一种基于音视频同步的自适应带宽传输和播放方法,其特征在 于: 无线视频服务器自适应模块流程如下: 开始(201); A,是否获取当前的丢包率(202), 表示无线网络的流畅度,E(LOSS_DATA)越小,说明此时的网络状况越好,反之亦然, 其中表示Ti时间内丢包的概率; 是则进入步骤B,否则跳转至步骤E; B,判断当前丢包率是否在正常范围(203),是则进入步骤C,否则通过设置通道码流 权 利 要 求 书CN 1029。

7、32676 A 2/4页 3 (204)和设置图像质量(205)后跳转至步骤D; C,调整码率逐步降速递增(206) 迅速增大码流速率,比较当前码率和设置码率的差值,逐步降速调整当前码率; D,码流控制线程(207) 完成应用程和底层的通信,主要设置当前传输的码流; E,流程结束(208)。 3.按权利要求1所述的一种基于音视频同步的自适应带宽传输和播放方法,其特征在 于: 显示客户端接收数据模块流程如下: 开始(301); 接收音视频数据(302); 音视频同步处理(303); 根据接收音视频数据的时间戳进行音视频同步处理; 音视频解码(304); 缓存播放(305)。 4.按权利要求1所述。

8、的一种基于音视频同步的自适应带宽传输和播放方法,其特征在 于: 显示客户端接收数据缓存模块流程如下: a,开始(401); b,接收数据(402) 接收RTP包数据; c,判断接收数据是否具有有效性(403),是则进入步骤d,否则丢弃该数据包跳转至步 骤h; d,RTP组包(404) 进行RTP数据包组包操作; e,判断组包数据是否具有有效性(405),是则进入步骤f,否则跳转至步骤h; f,动态链表插入过程(406) 将完整有效的一帧数据插入到动态链表当中; g,通知有视频包插入(407) 开启数据有效信号灯; h、结束(408)。 5.按权利要求1所述的一种基于音视频同步的自适应带宽传输和。

9、播放方法,其特征在 于: 音视频同步模块流程如下: A,对音频(501)完成音频分析(503),和对视频数据(502)完成视频分析(504); B,测量时间差(505) 根据时间戳计算音频数据和视频数据之间的时间差; C,计算延迟数值(506) 计算音频数据的延迟时间; 权 利 要 求 书CN 102932676 A 3/4页 4 D,可调节延迟(507) 通过可调节延迟控制音频数据播放延迟时间,如果延迟时间大于零,在取出音频数据 时进行相应的延迟;如果延迟小于零,则在音频队列连续取出几帧数据,只到音频数据的时 间戳和当前系统时间相同为止,并将滞后的音频数据丢掉; E,解码模块(508) 将音。

10、视频数据传给解码模块。 6.按权利要求1所述的一种基于音视频同步的自适应带宽传输和播放方法,其特征在 于: 显示客户端解码模块流程如下: 开始(601); 判断是否需要进行流控制操作(602),否则进入第一路,是则进入第二路; 第一路: A,判断等待数据有效信号是否超时(603),超时设置为2ms,是则经过结束解码流程 (621)直至结束(602);否则进入下一步骤; B,判断解码是否退出(604),是则经过结束解码流程(621)直至结束(622);否则进入 下一步骤; C,判断链表数据是否为空(605),是则经过结束解码流程(621)直至结束(622);否则 进入下一步骤; D,从链表中读取。

11、出数据(606); E,判断是否为I帧数据(607),是则进入下一步骤,否则经过等待I帧数据(608)后进 入下一步骤; F,视频解码(609); G,清空临时变量和缓冲区(610); 流程结束(622); 第二路: a,获取当前NTP时间(611); b,判断解码是否退出(612),是则经过结束解码流程(621)直至结束(622);否则进入 下一步骤; c,判断NTP时间是否大于当前时间(613),是则跳转到步骤h;否则进入下一步骤; d,判断链表数据是否为空(614),是则经过结束解码流程(621)直至结束(622);否则 进入下一步骤; e,从链表中读取出数据(615); f,判断是否为。

12、I帧数据(616),是则进入下一步骤,否则经过等待I帧数据(617)后进 入下一步骤; g,视频解码(618); h,复位NTP时间(619); i,清空临时变量和缓冲区(620); 流程结束(622)。 7.按权利要求1所述的一种基于音视频同步的自适应带宽传输和播放方法,其特征在 权 利 要 求 书CN 102932676 A 4/4页 5 于: 显示客户端缓冲显示模块流程如下: 开始(701); 判断读取配置文件获取当前的FrameNum值是否成功(702),是则进入下一步骤;否 则结束流程(716); 计算当前睡眠时间SleepTime和各个阈值(703); 判断m_framecount。

13、是否等于FrameNum(704),是则经过延迟SleepTime(705)、解 码帧数据(715)、直至结束流程(716),否则进入下一步骤; 判断m_framecount是否大于2倍的FrameNum 706,是则获取当前睡眠时间阈值 (707)、由阈值从数据队列中取出对应N个数据(708)、解码帧数据(715)、直至结束流程 (716),否则进入下一步骤; 判断m_framecount是否大于3倍的FrameNum(709),是则获取当前睡眠时间阈 值(710)、由阈值从数据队列中取出对应N个数据(711)、解码帧数据(715)、直至结束流程 (716),否则m_framecount大于。

14、4倍的FrameNum(712)、经过获取当前睡眠阈值(713)、由 阈值从数据队列中取出对应N个数据(714)、解码帧数据(715)、直至结束流程(716)。 权 利 要 求 书CN 102932676 A 1/6页 6 基于音视频同步的自适应带宽传输和播放方法 技术领域 0001 本发明涉及公共移动通信设备的视频数据传输处理技术,尤其涉及一种基于音视 频同步的自适应带宽传输和播放方法。 背景技术 0002 随着无线通信技术的飞速发展,无线互联网用户正在快速地增长。无线多媒体通 信的数量更是以几何级数的速率增加。与有线传输相比较,无线传输具有如下明显的优势: 1)综合成本低,无需布线有安装周。

15、期短、维护方便的优点;2)组网灵活,可扩展性好;3)改 造方便,维护费用低。因此无线多媒体通信广泛运用于军事、国防和人们生活的方方面面。 众所周知,视频和音频是多媒体数据的重要组成部分。接收端能得到清晰的声音和流畅的 视频是衡量多媒体通信的重要指标。无线视频通信作为无线多媒体通信的一个重要组成部 分,具有广泛的应用,基于多种无线传输手段的移动视频监控以其特有的灵活性已成为视 频监控新的发展方向。 0003 音视频同步技术包括:多路复用同步技术,时间戳同步技术和同步信道技术等。多 路复用同步技术的原理是将多个媒体流的数据多路复用到一个数据流或一个报文中;其缺 点是浪费带宽资源,不适合媒体流来源于。

16、不同节点的情况。同步信道技术的原理是媒体在 分离的信道传输,同步信息通过同步信号来单独传输;其缺点是同步信息可能丢失或必要 同步的媒体数据迟到,开销大。时间戳同步技术的原理是将媒体数据按时间顺序作时间戳, 相同时间戳数据同时表现。缺点是需要全网同步化时钟;读写时间戳开销大。 0004 目前无线视频监控存在的问题是: 0005 1、无线视频接收端存在视频图像花瓶、马赛克的现象; 0006 2、无线传输普遍没有音视频同步的功能,目前的音视频算法可实施性不理想。 发明内容 0007 本发明的目的就是为了克服现有技术存在的缺点和不足,提供一种基于音视频同 步的自适应带宽传输和播放方法,并提出了一种改进。

17、的音视频同步算法,能显著提高无线 视频传输质量。 0008 本发明的技术方案是: 0009 通过无线自适应带宽传输和播放方法实现无线视频清晰、流畅的播放,通过音视 频同步算法,实现实时视频和实时音频同步播放。 0010 根据H.264编码产生视频流数据,根据当前无线带宽的状况,实时动态调整发送 数据量的大小,经无线网络将数据传输到外网服务器;接收显示客户端接收音视频数据,开 辟音视频数据缓冲区,根据接收的数据量的快慢,采用一定的播放策略,将视频显示播放; 整个过程中通过音视频同步算法保证实时视频和音频能够同步。 0011 具体地说,本方法包括下列步骤: 0012 初始化各子模块:音视频采集模块。

18、、无线视频服务器自适应模块、显示客户端接 说 明 书CN 102932676 A 2/6页 7 收数据模块、显示客户端接收数据缓存模块、音视频同步模块、显示客户端解码模块和显示 客户端缓冲显示模块; 0013 音视频采集模块负责完成音视频信号的采集; 0014 无线视频服务器自适应模块负责在无线网络环境下动态调整音视频数据发送的 带宽; 0015 显示客户端接收数据模块负责完成音视频数据的接收; 0016 显示客户端接收数据缓存模块负责将接收到的音视频数据放入到接收缓冲区当 中; 0017 音视频同步模块负责完成音频和视频数据的同步; 0018 显示客户端解码模块负责完成音视频数据的解码; 0。

19、019 显示客户端缓冲显示模块负责完成音视频数据的播放; 0020 判断是否有音视频码流申请,是则进入下一步骤,否则继续步骤; 0021 判断是否有视频码流申请,是则将视频数据发送到无线网络当中,经过无线视 频服务器自适应模块、显示客户端接收数据模块、显示客户端接收数据缓存模块和显示客 户端解码模块,直至显示客户端缓冲显示模块;否则进入下一步骤; 0022 判断是否有音频码流申请,是则将音频数据发送到无线网络当中,经过无线视 频服务器自适应模块、显示客户端接收数据模块、显示客户端接收数据缓存模块和显示客 户端解码模块,直至显示客户端缓冲显示模块;否则进入下一步骤; 0023 判断是否音视频码流。

20、同时申请,是则将音视频数据经过音视频同步模块、无线 视频服务器自适应模块、显示客户端接收数据模块、显示客户端接收数据缓存模块、显示客 户端解码模块和音视频同步模块,直至显示客户端缓冲显示模块;否则跳转到步骤。 0024 本发明具有下列优点和积极效果: 0025 1、提高了运维工作效率,减少了人力成本; 0026 2、能对视频进行实时检测,解决无线带宽抖动,音频和视频同步; 0027 3、通用性强,可移植性强,扩展性灵活。 附图说明 0028 图1是视频帧结构; 0029 图2是无线视频服务器自适应模块流程图; 0030 图3是显示客户端接收数据模块流程图; 0031 图4是显示客户端接收数据缓。

21、存模块流程图; 0032 图5是音视频同步模块流程图; 0033 图6是显示客户端解码模块流程图; 0034 图7是显示客户端缓冲显示模块流程图; 0035 图8是系统框架图。 0036 图中: 0037 801-无线视频服务器; 0038 802-视频监控平台; 0039 803-显示客户端。 说 明 书CN 102932676 A 3/6页 8 具体实施方式 0040 下面结合附图和实施例对本发明详细描述。 0041 一、系统 0042 1、总体 0043 如图8,本系统包括无线视频服务器801、视频监控平台802和显示客户端803; 0044 其连接关系是:无线视频服务器801、视频监控。

22、平台802和显示客户端803依次连 接。 0045 其工作原理是:无线视频服务器801主要工作是完成音视频信号的采集、编码 和传输的工作;视频信号传输给视频监控平台802,最后通过分发机制传送给显示客户端 803。 0046 2、功能部件 0047 1)无线视频服务器801 0048 负责音视频信号的采集、编码、传输以及信令的交互工作。 0049 2)视频监控平台802 0050 负责信令的转发、媒体流的分发和录像存储等工作。 0051 3)显示客户端803 0052 完成音视频码流的组帧、解码和播放工作等。 0053 二、方法 0054 1、无线视频服务器自适应模块流程 0055 无线视频服。

23、务器通过收到的RTSP信令包,了解当前网络的状况;RTSP信令包包含 了当前发送包的个数,以及当前网络丢包的个数; 0056 图1给出媒体帧结构示例,每帧数据由帧头和数据组成,帧头为22字节由如下字 段组成,前四字节为B1C1B2C2,依次为版本号,帧间隔,Playload,码流类型,分辨率长,分辨 率宽。 0057 如图2,无线视频服务器自适应模块流程如下: 0058 开始201; 0059 A,是否获取当前的丢包率202, 0060 表示无线网络的流畅度,E(LOSS_DATA)越小,说明此时的网络状况越好,反之亦 然, 0061 0062 其中表示Ti时间内丢包的概率; 0063 是则进。

24、入步骤B,否则跳转至步骤E; 0064 B,判断当前丢包率是否在正常范围203,是则进入步骤C,否则通过设置通道码流 204和设置图像质量205后跳转至步骤D; 0065 C,调整码率逐步降速递增206 0066 迅速增大码流速率,比较当前码率和设置码率的差值,逐步降速调整当前码率; 说 明 书CN 102932676 A 4/6页 9 0067 D,码流控制线程207 0068 完成应用程和底层的通信,主要设置当前传输的码流; 0069 E,流程结束208。 0070 2、显示客户端接收数据模块流程 0071 视频经公共无线通信网络传输,数据传输到Internet网络当中,显示客户端连接 在。

25、Internet当中,视频接收端接收无线网络传输过来的数据; 0072 如图3,显示客户端接收视频之后,进行如下处理: 0073 开始301; 0074 接收音视频数据302; 0075 音视频同步处理303 0076 根据接收音视频数据的时间戳进行音视频同步处理; 0077 音视频解码304; 0078 缓存播放305。 0079 3、显示客户端接收数据缓存模块流程 0080 如图4所示,显示客户端接收音视频信号,判断音视频信号的有效性,进行RTP (Real Time Protocol,实时传输协议),获取完整的一帧数据;判断帧的有效性,将完整有 效的数据包插入到动态数据链表当中,设置当前。

26、数据为有效状态,通知下一步程序进行处 理;缓存区的作用是消除延迟抖动; 0081 其流程如下: 0082 a,开始401; 0083 b,接收数据402 0084 接收RTP包数据; 0085 c,判断接收数据是否具有有效性403,是则进入步骤d,否则丢弃该数据包跳转至 步骤h; 0086 d,RTP组包404 0087 进行RTP数据包组包操作; 0088 e,判断组包数据是否具有有效性405,是则进入步骤f,否则跳转至步骤h; 0089 f,动态链表插入过程406 0090 将完整有效的一帧数据插入到动态链表当中; 0091 g,通知有视频包插入407 0092 开启数据有效信号灯; 00。

27、93 h、结束408。 0094 4、音视频同步模块流程 0095 通过时间戳的办法来解决音视频同步,依据参考时钟上的时间给每一个数据块都 打上时间戳,在播放时,读取数据库块上的时间戳,同时参考当前参考时钟来安排播放;对 于视频监控系统来说,实时视频传输的质量优于音频传输的质量,因此通过音频可调节延 迟来达到音视频同步;如果数据块的时间小于当前时钟上的时间,则尽快播放这帧音频数 据;如果数据块的时间大于当前时钟上的时间,则延迟播放该数据,直到参考时钟到达数据 块的开始时间; 说 明 书CN 102932676 A 5/6页 10 0096 如图5,其流程如下: 0097 A,对音频501完成音。

28、频分析503,和对视频数据502完成视频分析504; 0098 B,测量时间差505 0099 根据时间戳计算音频数据和视频数据之间的时间差; 0100 C,计算延迟数值506 0101 计算音频数据的延迟时间; 0102 D,可调节延迟507 0103 通过可调节延迟控制音频数据播放延迟时间,如果延迟时间大于零,在取出音频 数据时进行相应的延迟;如果延迟小于零,则在音频队列连续取出几帧数据,只到音频数据 的时间戳和当前系统时间相同为止,并将滞后的音频数据丢掉; 0104 E,解码模块508 0105 将音视频数据传给解码模块。 0106 5、显示客户端解码模块流程 0107 在解码控制线程处。

29、理流程中,首先判断是否需要流控制,当不需要流控制时,等待 动态链表有用信号,判断解码标志是否为有效,当退出标志为有效则退出解码线程,当退出 标志为无效状态时,从数据链表当中取出数据进行解码;针对第一帧数据,需判断第一帧数 据为I帧,然后进行解码;当需要进行流控制时,首先获取当前NTP时间,根据当前时间和 NTP时间做比较,进行流控制处理; 0108 如图6,其流程如下: 0109 开始601; 0110 判断是否需要进行流控制操作602,否则进入第一路,是则进入第二路; 0111 第一路: 0112 A,判断等待数据有效信号是否超时603,超时设置为2ms,是则经过结束解码流程 621直至结束。

30、602;否则进入下一步骤; 0113 B,判断解码是否退出604,是则经过结束解码流程621直至结束602;否则进入下 一步骤; 0114 C,判断链表数据是否为空605,是则经过结束解码流程621直至结束622;否则进 入下一步骤; 0115 D,从链表中读取出数据606; 0116 E,判断是否为I帧数据607,是则进入下一步骤,否则经过等待I帧数据608后进 入下一步骤; 0117 F,视频解码609; 0118 G,清空临时变量和缓冲区610; 0119 流程结束622; 0120 第二路: 0121 a,获取当前NTP(Network Time Protocol,网络时间)时间611。

31、; 0122 b,判断解码是否退出612,是则经过结束解码流程621直至结束622;否则进入下 一步骤; 0123 c,判断NTP时间是否大于当前时间613,是则跳转到步骤h;否则进入下一步骤; 说 明 书CN 102932676 A 10 6/6页 11 0124 d,判断链表数据是否为空614,是则经过结束解码流程621直至结束622;否则进 入下一步骤; 0125 e,从链表中读取出数据615; 0126 f,判断是否为I帧数据616,是则进入下一步骤,否则经过等待I帧数据617后进 入下一步骤; 0127 g,视频解码618; 0128 h,复位NTP时间619; 0129 i,清空临。

32、时变量和缓冲区620; 0130 流程结束622。 0131 6、显示客户端缓冲显示模块流程 0132 如图7,在解码线程处理流程当中,读取配置文件得到配置的信息,计算当前睡眠 时间和各个阈值;将缓冲区剩余帧个数和设置的帧数作比较;分别对每组比较值进行处 理,睡眠阈值的时间,然后读取阈值时间对应的数据;最后将读取的数据,送入到解码程序 中进行解码; 0133 其流程如下: 0134 开始701; 0135 判断读取配置文件获取当前的FrameNum值是否成功702,是则进入下一步骤; 否则结束流程716; 0136 计算当前睡眠时间SleepTime和各个阈值703; 0137 判断m_fra。

33、mecount是否等于FrameNum704,是则经过延迟SleepTime705、解码 帧数据715、直至结束流程716,否则进入下一步骤; 0138 判断m_framecount是否大于2倍的FrameNum 706,是则获取当前睡眠时间阈值 707、由阈值从数据队列中取出对应N个数据708、解码帧数据715、直至结束流程716,否则 进入下一步骤; 0139 判断m_framecount是否大于3倍的FrameNum 709,是则获取当前睡眠时间阈值 710、由阈值从数据队列中取出对应N个数据711、解码帧数据715、直至结束流程716,否则 m_framecount大于4倍的FrameNum712、经过获取当前睡眠阈值713、由阈值从数据队列中 取出对应N个数据714、解码帧数据715、直至结束流程716。 说 明 书CN 102932676 A 11 1/5页 12 图1 图2 图3 说 明 书 附 图CN 102932676 A 12 2/5页 13 图4 图5 说 明 书 附 图CN 102932676 A 13 3/5页 14 图6 说 明 书 附 图CN 102932676 A 14 4/5页 15 图7 说 明 书 附 图CN 102932676 A 15 5/5页 16 图8 说 明 书 附 图CN 102932676 A 16 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1