首页 / 专利库 / 计算机网络 / 定时同步 / 音视频播放同步的方法及相关系统和多媒体播放终端

音视频播放同步的方法及相关系统和多媒体播放终端

阅读:1发布:2020-12-04

专利汇可以提供音视频播放同步的方法及相关系统和多媒体播放终端专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种音视频播放同步的方法及相关系统及多媒体播放终端。所述方法包括:分别对接收的音频 帧 和 视频帧 进行解码,将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;从第一循环缓冲区中定时读取音频帧数据并播放;当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;若同步,读取所述视频帧数据并播放。本发明有效地解决了音视频播放的不同步的问题。,下面是音视频播放同步的方法及相关系统和多媒体播放终端专利的具体信息内容。

1.一种音视频播放同步的方法,其特征在于,包括:
分别对接收的音频视频帧进行解码,将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
从第一循环缓冲区中定时读取音频帧数据并播放;
当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
若同步,读取所述视频帧数据并播放。
2.如权利要求1所述的方法,其特征在于,所述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
所述判断所述视频数据是否与当前正在播放的音频数据同步,包括:
判断所述视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;
当满足时,确定所述视频帧数据与当前正在播放的音视频数据同步;
上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
当判断TVIDEO>TAUDIO+TMAX时,确定所述视频帧数据滞于所述音频帧数据,丢弃该视频帧数据;
当判断TVIDEO4.如权利要求1-3任一项所述的方法,其特征在于,在所述第一循环缓冲区定时读取音频帧数据之前,还包括:
判断所述第一循环缓冲区是否被充满;
如果已充满,则转向定时读取音频帧数据并播放的步骤。
5.如权利要求1所述的方法,其特征在于,所述第一循环缓冲区的空间大小满足:可存储的解码后音频帧数据的数的限值为N,所述N大于音频帧的最大抖动时间。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
对视频帧数据的丢失和延迟抖动进行统计;向发送端反馈QoS报告;所述QoS报告包含丢包率和延迟抖动,以便发送端根据所述报告调整视频的空域质量和/或时域质量。
7.一种多媒体播放终端,其特征在于,包括:
解码模块,用于分别对接收的音频帧和视频帧进行解码;
缓存模块,用于将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
同步判读模块,用于当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
播放模块,用于从第一循环缓冲区中定时读取音频帧数据并播放;以及当所述同步模块判断所述视频帧数据与当前正在播放的音频帧数据同步时,读取所述视频帧数据并播放。
8.如权利要求3所述的终端,其特征在于,所述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
所述同步判断模块,具体用于判断所述视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;当满足时,确定所述视频帧数据与当前正在播放的音视频数据同步;上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
9.如权利要求8所述的终端,其特征在于,还包括:视频帧丢弃模块;
所述同步判断模块,还用于当判断TVIDEO>TAUDIO+TMAX时,确定所述视频帧数据滞于所述音频帧数据;以及当判断TVIDEO所述视频帧丢弃模块,用于当所述同步判断模块判断所述视频帧数据滞于所述音频帧数据时,丢弃该视频帧数据;
所述播放模块,还用于当所述同步判断模块判断所述视频帧数据超前于所述音频帧数据时,等待下次读取音频帧时进行播放。
10.一种音视频播放同步的系统,其特征在于,包括:多媒体发送端设备和如权利要求
7-9任一项所述的至少一个多媒体播放终端;
所述多媒体发送端设备用于向所述至少一个多媒体播放终端发送音频帧和对应视频帧。
11.如权利要求10所述的系统,其特征在于,所述多媒体播放终端,还用于对视频帧数据的丢失和延迟抖动进行统计;向所述音视频发送端设备反馈QoS报告;所述QoS报告包含丢包率和延迟抖动;
所述多媒体发送端设备,还用于根据所述报告调整后续发送的视频帧的空域质量和/或时域质量。

说明书全文

音视频播放同步的方法及相关系统和多媒体播放终端

技术领域

[0001] 本发明涉及多媒体技术领域,特别涉及一种音视频播放同步的方法及相关系统及多媒体播放终端。

背景技术

[0002] 音视频媒体间同步是多媒体系统服务质量(Quality of Service,QoS)研究中的一项重要内容。在网络上传输多媒体数据时,由于终端对数据的处理方式,以及网络中的延时、抖动,会引起音视频流的不同步。传统的音视频播放的解决方案往往存在实时性差,时间开销大,且无法动态地适应动态网络环境等缺陷,导致用户观看体验不好。

发明内容

[0003] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种音频视频播放同步的方法及装置。
[0004] 第一方面,本发明实施例提供一种音视频播放同步的方法,包括:
[0005] 分别对接收的音频视频帧进行解码,将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
[0006] 从第一循环缓冲区中定时读取音频帧数据并播放;
[0007] 当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
[0008] 若同步,读取所述视频帧数据并播放。
[0009] 在一个实施例中,所述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
[0010] 所述判断所述视频数据是否与当前正在播放的音频数据同步,包括:
[0011] 判断所述视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;
[0012] 当满足时,确定所述视频帧数据与当前正在播放的音视频数据同步;
[0013] 上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
[0014] 在一个实施例中,上述方法还包括:
[0015] 当判断TVIDEO>TAUDIO+TMAX时,确定所述视频帧数据滞于所述音频帧数据,丢弃该视频帧数据;
[0016] 当判断TVIDEO
[0017] 在一个实施例中,在所述第一循环缓冲区定时读取音频帧数据之前,还包括:
[0018] 判断所述第一循环缓冲区是否被充满;
[0019] 如果已充满,则转向定时读取音频帧数据并播放的步骤。
[0020] 在一个实施例中,所述第一循环缓冲区的空间大小满足:可存储的解码后音频帧数据的数的限值为N,所述N大于音频帧的最大抖动时间。
[0021] 在一个实施例中,所述方法还包括:
[0022] 对视频帧数据的丢失和延迟抖动进行统计;向发送端反馈QoS报告;所述QoS报告包含丢包率和延迟抖动,以便发送端根据所述报告调整视频的空域质量和/或时域质量。
[0023] 第二方面,本发明实施例提供一种多媒体播放终端,包括:
[0024] 解码模块,用于分别对接收的音频帧和视频帧进行解码;
[0025] 缓存模块,用于将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
[0026] 同步判读模块,用于当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
[0027] 播放模块,用于从第一循环缓冲区中定时读取音频帧数据并播放;以及当所述同步模块判断所述视频帧数据与当前正在播放的音频帧数据同步时,读取所述视频帧数据并播放。
[0028] 在一个实施例中,所述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
[0029] 所述同步判断模块,具体用于判断所述视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;当满足时,确定所述视频帧数据与当前正在播放的音视频数据同步;上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
[0030] 在一个实施例中,上述终端,还包括:视频帧丢弃模块;
[0031] 所述同步判断模块,还用于当判断TVIDEO>TAUDIO+TMAX时,确定所述视频帧数据滞于所述音频帧数据;以及当判断TVIDEO
[0032] 所述视频帧丢弃模块,用于当所述同步判断模块判断所述视频帧数据滞于所述音频帧数据时,丢弃该视频帧数据;
[0033] 所述播放模块,还用于当所述同步判断模块判断所述视频帧数据超前于所述音频帧数据时,等待下次读取音频帧时进行播放。
[0034] 第三方面,本发明实施例提供一种音视频播放同步的系统,包括:多媒体发送端设备和如前述的至少一个多媒体播放终端;
[0035] 所述多媒体发送端设备用于向所述至少一个多媒体播放终端发送音频帧和对应视频帧。
[0036] 进一步地,所述多媒体播放终端,还用于对视频帧数据的丢失和延迟抖动进行统计;向所述音视频发送端设备反馈QoS报告;所述QoS报告包含丢包率和延迟抖动;
[0037] 所述多媒体发送端设备,还用于根据所述报告调整后续发送的视频帧的空域质量和/或时域质量。
[0038] 本发明实施例提供的上述技术方案的有益效果至少包括:
[0039] 本发明提供的上述音视频播放同步的方法及相关系统及多媒体播放终端,在音视频接收端,对音频和视频分别进行解码并保存于对应的循环缓冲区,保证音视频播放的连续性,然后以播放的音频流作为主流,将视频流与音频流进行同步处理,实现基于循环缓冲队列的音视频的同步播放,克服了由于终端或网络原因导致的音视频流的不同步。
[0040] 进一步地,本发明中,基于音视频终端的反馈,在网络情况较差时,发送端设备还可以根据数据包丢失率和延迟抖动的情况,发送端实现对视频空域质量和/或时域质量的动态调整,实现动态网络环境自适应调整,进一步提升多媒体播放品质。
[0041] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0042] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

[0043] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0044] 图1为本发明实施例提供的音视频播放同步方法的流程图
[0045] 图2为本发明实施例提供的判断所述视频数据是否与当前正在播放的音频数据同步的流程图;
[0046] 图3为本发明实施例提供的多媒体播放终端的结构框图
[0047] 图4为本发明实施例提供的音视频播放同步的系统的结构框图。

具体实施方式

[0048] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0049] 本发明实施例提供的一种音视频播放同步的方法,参照图1所示,包括:
[0050] S11、分别对接收的音频帧和视频帧进行解码,将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
[0051] S12、从第一循环缓冲区中定时读取音频帧数据并播放;
[0052] S13、当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;若同步,执行下述S14;
[0053] S14、读取所述视频帧数据并播放。
[0054] 本发明实施例提供的音视频播放同步的方法,在音视频接收端,对音频和视频分别进行解码并保存于对应的循环缓冲区,保证音视频播放的连续性,然后以播放的音频流作为主流,将视频流与音频流进行同步处理,实现基于循环缓冲队列的音视频的同步播放,克服了由于终端或网络原因导致的音视频流的不同步。
[0055] 主流连续播放,从流的播放由主流的播放状态决定,从而实现同步,考虑到人对声音更为敏感,在本发明实施例中,将音频流作为主流,视频流作为从流。
[0056] 上述接收端设备接收到音视频数据包后,对数据进行解码,然后同步处理,最后通过音视频播放模块播放音视频。
[0057] 上述S11中,第一循环缓冲区的空间大小满足:可存储的解码后音频帧数据的块数的门限值为N,N大于音频帧的最大抖动时间。
[0058] 每个音频帧和视频帧解码后都会生成对应的数据块,这些数据块存储于循环缓冲区中。
[0059] 对于音视频发送端来说,可以通过后台服务器程序接收前端摄像头采集到的编码音视频数据,利用实时传输协议(RTP,Real-time Transport Protocol)/RTP控制协议(RTP Control Protocol,RTCP)等协议实现媒体流的传输和控制。本发明实施例并不限于上述各种媒体流的传输和控制方式。
[0060] 在发送端的RTP/RTCP的媒体流的传输和控制下,会给发送的音频帧和视频帧分别打上时间戳。
[0061] 这样,对接收端设备来说,其接收的音频帧具有时间戳TAUDIO和视频帧具有时间戳TVIDEO;
[0062] 在上述步骤S12中,在定时读取音频帧播放时,需要记录当前播放的时间戳,以便后续与视频帧的时间戳进行比较。
[0063] 进一步地,在上述步骤S13中,参照图2所示,判断所述视频数据是否与当前正在播放的音频数据同步,具体包括:
[0064] S21、判断视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;当满足时,执行S22;当判断出TVIDEO>TAUDIO+TMAX时,执行下述步骤S23;当判断TVIDEO
[0065] S22、确定视频帧数据与当前正在播放的音视频数据同步;
[0066] S23、确定所述视频帧数据滞于所述音频帧数据,丢弃该视频帧数据;
[0067] S24、确定所述视频帧数据超前于所述音频帧数据,等待下次读取音频帧时再进行播放(音频帧定时读取)。
[0068] 上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
[0069] 音视频不同步的最大容忍时间,可以根据用户经验预先设置,例如可以将TMAX设置为TMAX=120ms。
[0070] 进一步地,在上述S12即第一循环缓冲区定时读取音频帧数据之前,本发明实施例还可以执行下述步骤:
[0071] 判断第一循环缓冲区是否被充满;
[0072] 如果已充满,则转向定时读取音频帧数据并播放的步骤。
[0073] 换言之,只有当音频数据帧被解码并充满了第一循环缓冲区时,才启动定时读取音频帧数据的步骤。
[0074] 上述实施例提供的音视频播放同步方法,在网络环境较差,出现音视频数据的失序、丢包等情况时,还可以采用下述反馈控制方法,例如采用音视频发送端接收报告监测QoS。
[0075] 音视频接收端对视频帧数据的丢失和延迟抖动进行统计;向发送端反馈QoS报告;其中QoS报告包含丢包率和延迟抖动,以便发送端根据报告调整视频的空域质量和/或时域质量。
[0076] 本发明实施例中,基于音视频终端的反馈,在网络情况较差时,发送端设备还可以根据数据包丢失率和延迟抖动的情况,发送端实现对视频空域质量和/或时域质量的动态调整,实现动态网络环境自适应调整。
[0077] 例如采用RTCP的接收报告,音视频接收端将RR包发送给源端,该报告包含用来估算分组丢失和分组延迟抖动等必要信息。音视频发送端根据这些信息控制媒体数据的发送量,及时有效地解决同步问题。
[0078] 根据评估RR包的参数,得到长时指标丢包率和短时指标间隔抖动。当丢包率和抖动达到一定值时,音频方面,当网络丢包率和抖动达到某一区域时,选择不同的AMR-WB传输速率,来降低音频传输码率,提高传输效率和系统容量,为视频传输减少了带宽负担。
[0079] 视频方面,根据不同值调整视频数据的发送量,即在发送端对视频的空域(视频分辨率大小)和时域(视频帧率)性能进行平衡,选择丢帧;
[0080] 具体分为下面几种情况:
[0081] 1、当丢包率和抖动很高,即信道速率很低时,通过降低视频帧率,使每一帧能够具有较好的空域质量,使用户在较低的速率条件下,仍然可以得到较好的图像质量。
[0082] 2、当丢包率和抖动保持在中等平,即信道速率中速时,在保持一定的空域质量条件下,应优先考虑时域质量(适当提高视频帧率),以增强视频的连续性。
[0083] 3、当丢包率和抖动回到较好的水平,即信道速率较高时,在空域质量达到一定程度后,继续提高空域质量,效率不会太高,反而是图像连续性的提高对视频质量的改善更明显,此时应持续提高视频帧率。
[0084] 基于同一发明构思,本发明实施例还提供了一种多媒体播放终端及音视频播放同步的系统,由于这些终端和系统所解决问题的原理与前述音视频播放同步的方法相似,因此该终端和系统的实施可以参见前述方法的实施,重复之处不再赘述。
[0085] 本发明实施例还提供了一种多媒体播放终端,参照图3所示,包括:
[0086] 解码模块31,用于分别对接收的音频帧和视频帧进行解码;
[0087] 缓存模块32,用于将解码后的音频帧数据存入第一循环缓冲区,将解码后的视频帧数据存入第二循环缓冲区;
[0088] 同步判读模块33,用于当第二循环缓冲区中接收到一个完整的视频帧数据时,判断所述视频帧数据是否与当前正在播放的音频帧数据同步;
[0089] 播放模块34,用于从第一循环缓冲区中定时读取音频帧数据并播放;以及当所述同步模块判断所述视频帧数据与当前正在播放的音频帧数据同步时,读取所述视频帧数据并播放。
[0090] 进一步地,上述接收的音频帧具有时间戳TAUDIO和所述视频帧具有时间戳TVIDEO;
[0091] 相应地,同步判断模块33,具体用于判断视频帧数据的时间戳TAUDIO和当前正在播放的的音频帧数据TVIDEO是否满足:TAUDIO-TMAX≤TVIDEO≤TAUDIO+TMAX;当满足时,确定视频帧数据与当前正在播放的音视频数据同步;上式中,TMAX为预设的音视频帧不同步的最大可容忍时间。
[0092] 进一步地,上述多媒体播放终端,参照图3所示,还可以包括:视频帧丢弃模块35;
[0093] 相应地,上述同步判断模块33,还用于当判断TVIDEO>TAUDIO+TMAX时,确定视频帧数据滞于音频帧数据;以及当判断TVIDEO
[0094] 相应地,视频帧丢弃模块35,用于当同步判断模块33判断视频帧数据滞于所述音频帧数据时,丢弃该视频帧数据;
[0095] 相应地,播放模块34,还用于当同步判断模块33判断视频帧数据超前于音频帧数据时,等待下次读取音频帧时进行播放。
[0096] 本发明实施例还提供了一种音视频播放同步的系统,参照图4所示,包括:多媒体发送端设备41和至少一个本发明实施例提供的前述多媒体播放终端42;
[0097] 多媒体发送端设备41用于向至少一个多媒体播放终端发送音频帧和对应视频帧。
[0098] 进一步地,上述多媒体播放终端41,还用于对视频帧数据的丢失和延迟抖动进行统计;向所述音视频发送端设备反馈QoS报告;QoS报告包含丢包率和延迟抖动;
[0099] 上述多媒体发送端设备41,还用于根据报告调整后续发送的视频帧的空域质量和/或时域质量。
[0100] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0101] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0102] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0103] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0104] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈