一种数据同步播放方法及装置

文档序号:1784928 发布日期:2019-12-06 浏览:17次 >En<

阅读说明:本技术 一种数据同步播放方法及装置 (Data synchronous playing method and device ) 是由 杨智慧 于 2019-08-27 设计创作,主要内容包括:本发明实施例提供了一种数据同步播放方法及装置,涉及多媒体数据处理技术领域,其中,上述方法包括:确定投屏设备向显示设备输出待播放视频中视频数据的输出时延,获得期望投屏设备输出视频数据的期望输出时刻,计算期望输出时刻与输出时延的和,作为视频数据的实际输出时刻,并在实际输出时刻向显示设备输出视频数据,指示显示设备在实际输出时刻播放视频数据,将时间信息发送到移动设备,指示移动设备根据时间信息得到实际播放时刻、并在移动设备得到待播放视频中音频数据的情况下在实际播放时刻播放音频数据。由此可见,应用本发明实施例提供的方案,可以实现移动设备端音频数据与显示设备端视频数据同步播放。(The embodiment of the invention provides a data synchronous playing method and a device, which relate to the technical field of multimedia data processing, wherein the method comprises the following steps: determining the output time delay of video data in a video to be played output by a screen projection device to a display device, obtaining the expected output time of the video data expected to be output by the screen projection device, calculating the sum of the expected output time and the output time delay as the actual output time of the video data, outputting the video data to the display device at the actual output time, instructing the display device to play the video data at the actual output time, sending time information to a mobile device, instructing the mobile device to obtain the actual playing time according to the time information, and playing the audio data at the actual playing time under the condition that the mobile device obtains the audio data in the video to be played. Therefore, by applying the scheme provided by the embodiment of the invention, the synchronous playing of the audio data at the mobile equipment end and the video data at the display equipment end can be realized.)

一种数据同步播放方法及装置

技术领域

本发明涉及多媒体数据处理技术领域,特别是涉及一种数据同步播放方法及装置。

背景技术

在利用投屏设备播放视频时,投屏设备可以与显示设备通信连接,由显示设备播放上述投屏设备要播放的视频。

现有技术中,投屏设备获取多媒体数据后,将多媒体数据传输到显示设备,显示设备同步播放多媒体数据中包含的视频数据和音频数据。由于多数显示设备不便于或者不能连接耳机,通常以公开播放的方式播放音频数据,这样显示设备在播放音频数据时会给设备周围不想收听音频数据的人带来干扰。

因此,现在亟需一种能够使得多媒体数据中包含的视频数据在显示设备、音频数据在能够外接耳机的移动设备同步播放的方案。

发明内容

本发明实施例的目的在于提供一种数据同步播放方法及装置,以实现移动设备端音频数据与显示设备端视频数据同步播放。具体技术方案如下:

第一方面,本发明实施例提供了一种数据同步播放方法,应用于投屏设备,所述方法包括:

确定所述投屏设备向显示设备输出待播放视频中视频数据的输出时延,其中,所述输出时延的值大于或等于各个移动设备对应传输时间中的最大值,所述传输时间为:数据从所述投屏设备传输到移动设备所需要的时间;

获得期望所述投屏设备输出所述视频数据的期望输出时刻;

计算所述期望输出时刻与输出时延的和,作为所述视频数据的实际输出时刻,并在所述实际输出时刻向所述显示设备输出所述视频数据,指示所述显示设备在所述实际输出时刻播放所述视频数据;

将时间信息发送到移动设备,指示所述移动设备根据所述时间信息得到实际播放时刻、并在所述移动设备得到所述待播放视频中音频数据的情况下在所述实际播放时刻播放所述音频数据,其中,所述时间信息为实际播放时刻或原始时刻,所述原始时刻包括输出时延和期望输出时刻,所述实际播放时刻为期望输出时刻、输出时延与系统时间差的和,所述系统时间差为:移动设备的系统时间相对于所述投屏设备的系统时间之差。

本发明的一个实施例中,所述确定所述投屏设备向显示设备输出待播放视频中视频数据的输出时延,包括:

通过以下表达式确定所述输出时延Tvd:

Tvd=ceil(Ts+c*floor(Ts/c))

其中,c表示预设的参数,Ts表示各个移动设备对应传输时间中值最大的传输时间,floor表示向下取整运算,ceil表示向上取整运算。

本发明的一个实施例中,在所述时间信息为实际播放时刻的情况下,所述将所述时间信息发送到移动设备,包括:

获得所述系统时间差;

计算所述期望输出时刻、系统时间差和输出时延的和,得到实际播放时刻;

将计算得到的实际播放时刻作为时间信息发送到所述移动设备。

本发明的一个实施例中,所述将所述时间信息发送到移动设备,指示所述移动设备根据所述时间信息得到实际播放时刻、并在所述移动设备得到所述待播放视频中音频数据的情况下在所述实际播放时刻播放所述音频数据,包括:

将所述待播放视频的音频数据和时间信息发送到移动设备,指示所述移动设备根据所述时间信息得到实际播放时刻、并在所述实际播放时刻播放所接收到的音频数据。

本发明的一个实施例中,所述将所述时间信息发送到移动设备,指示所述移动设备根据所述时间信息得到实际播放时刻、并在所述移动设备得到所述待播放视频中音频数据的情况下在所述实际播放时刻播放所述音频数据,包括:

将所述时间信息发送到移动设备,指示所述移动设备从服务端获得所述待播放视频的音频数据、根据所述时间信息得到实际播放时刻、并在所述实际播放时刻播放所获得的音频数据。

本发明的一个实施例中,所述方法还包括:

通过以下方式检测是否需要获得传输时间,若需要,则获得传输时间,并判断所述传输时间是否大于所述输出时延,若大于,执行所述确定所述投屏设备向显示设备输出待播放视频中视频数据的输出时延的步骤:

检测是否存在新的移动设备与所述投屏设备建立了连接,若为是,则判定需要获得传输时间;

和/或

检测是否存在网络抖动,若为是,则判定需要获得传输时间。

第二方面,本发明实施例提供了一种数据同步播放方法,应用于移动设备,所述方法包括:

接收投屏设备发送的时间信息,并获得待播放视频中的音频数据,其中,所述时间信息为实际播放时刻或原始时刻,所述原始时刻包括输出时延和期望输出时刻,所述期望输出时刻为期望投屏设备输出待播放视频中视频数据的时刻,所述输出时延为投屏设备延迟向显示设备输出所述视频数据的时间值,所述实际播放时刻为期望输出时刻、输出时延与系统时间差的和,所述系统时间差为所述移动设备的系统时间相对于所述投屏设备的系统时间的差值;

依据所述时间信息得到所述音频数据的实际播放时刻;

在所述实际播放时刻播放所述音频数据。

本发明的一个实施例中,所述依据所述时间信息得到所述待播放视频中音频数据的实际播放时刻,包括:

在所述时间信息为原始时刻的情况下,获得所述系统时间差,计算所述输出时延、系统时间差和期望输出时刻的和,得到所述音频数据的实际播放时刻。

本发明的一个实施例中,所述获得所述音频数据,包括:

获得所述投屏设备发送的音频数据;或

从服务端获得所述待播放视频的音频数据。

第三方面,本发明实施例提供了一种数据同步播放方法,应用于显示设备,所述方法包括:

接收投屏设备在实际输出时刻输出的待播放视频中的视频数据,其中,所述实际输出时刻为:期望输出时刻与输出时延的和,所述期望输出时刻为:期望所述投屏设备输出所述视频数据的时刻,所述输出时延的值大于或等于各个移动设备对应传输时间中的最大值,所述传输时间为:数据从所述投屏设备传输到所述移动设备所需的时间;

播放所述视频数据。

第四方面,本发明实施例提供了一种数据同步播放系统,所述系统包括投屏设备、移动设备与显示设备,其中:

所述投屏设备,用于确定所述投屏设备向所述显示设备输出待播放视频中视频数据的输出时延,其中,所述输出时延的值大于或等于各个移动设备对应传输时间中的最大值,所述传输时间为:数据从所述投屏设备传输到移动设备所需要的时间;

所述投屏设备,还用于获得期望所述投屏设备输出所述视频数据的期望输出时刻,计算所述期望输出时刻与输出时延的和,作为所述视频数据的实际输出时刻,并在所述实际输出时刻向所述显示设备输出所述视频数据;

所述显示设备,用于接收并播放所述视频数据;

所述投屏设备,还用于将时间信息发送到所述移动设备,其中,所述时间信息为实际播放时刻或原始时刻,所述原始时刻包括输出时延和期望输出时刻,所述实际播放时刻为期望输出时刻、输出时延与系统时间差的和,所述系统时间差为:移动设备的系统时间相对于所述投屏设备的系统时间之差;

所述移动设备,用于接收所述时间信息,并获得所述待播放视频中的音频数据;

所述移动设备,还用于依据所述时间信息得到所述音频数据的实际播放时刻,并在所述实际播放时刻播放所述音频数据。

第五方面,本发明实施例提供了一种数据同步播放装置,应用于投屏设备,所述装置包括:

时延确定模块,用于确定所述投屏设备向显示设备输出待播放视频中视频数据的输出时延,其中,所述输出时延的值大于或等于各个移动设备对应传输时间中的最大值,所述传输时间为:数据从所述投屏设备传输到移动设备所需要的时间;

期望时刻获得模块,用于获得期望所述投屏设备输出所述视频数据的期望输出时刻;

视频数据输出模块,用于计算所述期望输出时刻与输出时延的和,作为所述视频数据的实际输出时刻,并在所述实际输出时刻向所述显示设备输出所述视频数据,指示所述显示设备在所述实际输出时刻播放所述视频数据;

信息发送模块,用于将时间信息发送到移动设备,指示所述移动设备根据所述时间信息得到实际播放时刻、并在所述移动设备得到所述待播放视频中音频数据的情况下在所述实际播放时刻播放所述音频数据,其中,所述时间信息为实际播放时刻或原始时刻,所述原始时刻包括输出时延和期望输出时刻,所述实际播放时刻为期望输出时刻、输出时延与系统时间差的和,所述系统时间差为:移动设备的系统时间相对于所述投屏设备的系统时间之差。

本发明的一个实施例中,所述时延确定模块,具体用于:

通过以下表达式确定所述输出时延Tvd:

Tvd=ceil(Ts+c*floor(Ts/c))

其中,c表示预设的参数,Ts表示各个移动设备对应传输时间中值最大的传输时间,floor表示向下取整运算,ceil表示向上取整运算。

本发明的一个实施例中,在所述时间信息为实际播放时刻的情况下,所述信息发送模块,具体用于:

获得所述系统时间差;

计算所述期望输出时刻、系统时间差和输出时延的和,得到实际播放时刻;

将计算得到的实际播放时刻作为时间信息发送到所述移动设备。

本发明的一个实施例中,所述信息发送模块,具体用于:

将所述待播放视频的音频数据和时间信息发送到移动设备,指示所述移动设备根据所述时间信息得到实际播放时刻、并在所述实际播放时刻播放所接收到的音频数据。

本发明的一个实施例中,所述信息发送模块,具体用于:

将所述时间信息发送到移动设备,指示所述移动设备从服务端获得所述待播放视频的音频数据、根据所述时间信息得到实际播放时刻、并在所述实际播放时刻播放所获得的音频数据。

本发明的一个实施例中,所述装置还包括:

时延检测模块,用于通过以下方式检测是否需要获得传输时间,若需要,则获得传输时间,并判断所述传输时间是否大于所述输出时延,若大于,执行所述确定所述投屏设备向显示设备输出待播放视频中视频数据的输出时延的步骤:

检测是否存在新的移动设备与所述投屏设备建立了连接,若为是,则判定需要获得传输时间;

和/或

检测是否存在网络抖动,若为是,则判定需要获得传输时间。

第六方面,本发明实施例提供了一种数据同步播放装置,应用于移动设备,所述装置包括:

信息接收模块,用于接收投屏设备发送的时间信息,并获得待播放视频中的音频数据,其中,所述时间信息为实际播放时刻或原始时刻,所述原始时刻包括输出时延和期望输出时刻,所述期望输出时刻为期望投屏设备输出待播放视频中视频数据的时刻,所述输出时延为投屏设备延迟向显示设备输出所述视频数据的时间值,所述实际播放时刻为期望输出时刻、输出时延与系统时间差的和,所述系统时间差为所述移动设备的系统时间相对于所述投屏设备的系统时间的差值;

播放时刻获得模块,用于依据所述时间信息得到所述音频数据的实际播放时刻;

音频数据播放模块,用于在所述实际播放时刻播放所述音频数据。

本发明的一个实施例中,所述播放时刻获得模块,具体用于:

在所述时间信息为原始时刻的情况下,获得所述系统时间差,计算所述输出时延、系统时间差和期望输出时刻的和,得到所述音频数据的实际播放时刻。

本发明的一个实施例中,所述信息接收模块,具体用于:

接收投屏设备发送的时间信息,获得所述投屏设备发送的音频数据或从服务端获得所述待播放视频的音频数据。

第七方面,本发明实施例提供了一种数据同步播放装置,应用于显示设备,所述装置包括:

视频数据接收模块,用于接收投屏设备在实际输出时刻输出的待播放视频中的视频数据,其中,所述实际输出时刻为:期望输出时刻与输出时延的和,所述期望输出时刻为:期望所述投屏设备输出所述视频数据的时刻,所述输出时延的值大于或等于各个移动设备对应传输时间中的最大值,所述传输时间为:数据从所述投屏设备传输到所述移动设备所需的时间;

视频数据播放模块,用于播放所述视频数据。

第八方面,本发明实施例提供了一种投屏设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。

第九方面,本发明实施例提供了一种移动设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第二方面任一所述的方法步骤。

第十方面,本发明实施例提供了一种显示设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第三方面中所述的方法步骤。

第十一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一第一方面所述的方法。

第十二方面,本发明实施例还提供了另一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一第二方面所述的方法。

第十三方面,本发明实施例还提供了又一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第三方面所述的方法。

由以上可见,应用本发明实施例提供的方案进行数据同步播放时,考虑到数据从投屏设备传输到移动设备需要传输时间,因此首先确定不小于传输时间的值作为输出时延,以期望输出时刻与输出时延的和作为投屏设备输出待播放视频中视频数据的实际输出时刻,再将时间信息发送到移动设备,指示移动设备根据时间信息得到待播放视频中音频数据的实际播放时刻,并且移动设备在得到音频数据的情况下、在实际播放时刻播放音频数据。由于本方案中显示设备播放视频数据的时刻与投屏设备输出视频数据的时刻一致,而音频数据的实际播放时刻通过计算移动设备与投屏设备之间系统时间差、输出时延与期望输出时刻的和得到,可以保持音频数据在移动设备端播放的时刻相对于投屏设备输出视频数据的时刻一致,进而使得显示设备播放视频数据的时刻与移动设备播放音频数据的时刻保持一致。

由此可见,应用本发明实施例提供的方案,可以实现移动设备端音频数据与显示设备端视频数据同步播放。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的第一种数据同步播放方法的流程示意图;

图2为本发明实施例提供的第二种数据同步播放方法的流程示意图;

图3为本发明实施例提供的第三种数据同步播放方法的流程示意图;

图4为本发明实施例提供的第四种数据同步播放方法的流程示意图;

图5为本发明实施例提供的一种数据同步播放系统的结构示意图;

图6为本发明实施例提供的第一种数据同步播放装置的结构示意图;

图7为本发明实施例提供的第二种数据同步播放装置的结构示意图;

图8为本发明实施例提供的第三种数据同步播放装置的结构示意图;

图9为本发明实施例提供的一种投屏设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种数据同步播放方法及装置,以下分别进行详细说明。

参见图1,图1为本发明实施例提供的一种数据同步播放方法的流程示意图。上述方法应用于投屏设备,其中,投屏设备为可以将多媒体数据投放到显示设备的设备,例如,上述投屏设备可以是电视盒子等。上述显示设备为显示多媒体数据的设备,例如,可以是电视、投影仪、电脑显示器等。上述方法包括如下步骤101-104:

步骤101,确定投屏设备向显示设备输出待播放视频中视频数据的输出时延。

其中,输出时延的值大于或等于各个移动设备对应传输时间中的最大值,传输时间为:数据从投屏设备传输到移动设备所需要的时间。上述移动设备可以是手机、平板电脑等。

可以认为上述数据是投屏设备与移动设备之间通信数据的一种统称。例如,上述数据可以是多媒体数据、报文、控制命令等。另外,上述数据并不是本发明实施例中显示设备和移动设备同步播放的视频数据和音频数据对应的多媒体数据。

本发明的一个实施例中,各个移动设备对应的传输时间可以是以投屏设备与移动设备之间发送报文的形式计算得到。具体的,投屏设备向移动设备发送一个报文,获得第一发送时间,移动设备接收到报文之后,获得第一接收时间,移动设备再向投屏设备发送上述报文的响应报文,获得第二发送时间,投屏设备接收到移动设备发送的报文,并获得第二接收时间。利用上述第一发送时间、第一接收时间、第二发送时间、第二接收时间,投屏设备可以根据以下公式计算出数据从投屏设备传输到移动设备的传输时间:

Ts=Tj2-Tf1-(Tf2-Tj1)

其中,上述Ts表示传输时间,Tf1表示第一发送时间,Tj1表示第一接收时间,Tf2表示第二发送时间,Tj2表示第二接收时间。

例如,假设Tf1为第123ms时刻,Tj1为第450ms时刻,Tf2为第456ms时刻,Tj2为第240ms时刻,则数据从投屏设备传输到移动设备的传输时间Ts为:

本发明的一个实施例中,可以通过以下表达式确定输出时延Tvd:

Tvd=ceil(Ts+c*floor(Ts/c))

其中,c表示预设的参数,Ts表示各个移动设备对应传输时间中值最大的传输时间,floor表示向下取整运算,ceil表示向上取整运算。

假设,上述c的取值可以是0.5。在这种情况下,若Ts的值为0.055s,则根据上述公式可以计算得到输出时延Tvd:

Tvd=ceil(0.055s+0.5*floor(0.055s/0.5))=1s

除了上述情况外,上述c的取值还可以是其他数值,例如0.2、0.3、1等。

在投屏设备与多个移动设备通信连接的情况下,投屏设备与每台移动设备之间的传输时间可能是不一致的,但是为了保证所有连接的移动设备都能实现同步播放音频数据,所以投屏设备输出视频数据的输出时延是一致的。同样的,在产生网络抖动的情况下,投屏设备与移动设备之间的传输时间也会发生改变,因此上述输出时延应该满足在传输时间发生浮动的情况下依然大于传输时间。应用上述实施例提供的表达式确定出的输出时延,既能在一定范围内满足输出时延的变化,又不至于输出时延的值太大影响用户体验。

本发明的另一个实施例中,可以预先设定一组输出时延序列,在序列中确定大于或等于传输时间中最大值的最小输出时延。

例如,预先设定的输出时延序列为:

1s,2s,4s,6s,8s,10s

假如计算得到的传输时间为300ms,则上述序列中大于300ms的最小输出时延为1s,因此,可以选择1s作为输出时延。假如计算得到的传输时间为1500ms,则上述序列中大于300ms的最小输出时延为2s,因此,可以选择2s作为输出时延。

步骤102,获得期望投屏设备输出视频数据的期望输出时刻。

其中,上述期望输出时刻可以是投屏设备接收到的指令所指示的播放视频数据的时刻,也可以是预先设定的视频数据的播放时刻。

步骤103,计算期望输出时刻与输出时延的和,作为视频数据的实际输出时刻,并在实际输出时刻向显示设备输出视频数据,指示显示设备在实际输出时刻播放视频数据。

例如,假设期望输出时刻为第0s时刻,输出时延为1s,则视频数据的实际输出时刻为第1s时刻,投屏设备将会在第1s的时刻向显示设备输出视频数据。

本发明的一个实施例中,可以将投屏设备与显示设备通过数据线进行通信连接,也就是投屏设备与显示设备之间的连接方式为有线连接方式,这样由于投屏设备和显示设备之间的传输距离不会太远,通过数据线传输数据时可以忽略视频数据的传输时间,因此可以认为显示设备播放视频数据的时刻与投屏设备输出视频数据的时刻一致。

步骤104,将时间信息发送到移动设备,指示移动设备根据时间信息得到实际播放时刻、并在移动设备得到待播放视频中音频数据的情况下在实际播放时刻播放音频数据。

其中,时间信息为实际播放时刻或原始时刻,原始时刻包括输出时延和期望输出时刻,实际播放时刻为期望输出时刻、输出时延与系统时间差的和,系统时间差为:移动设备的系统时间相对于投屏设备的系统时间之差。

本发明的一个实施例中,可以直接将期望输出时刻和输出时延作为时间信息,将时间信息发送到移动设备。应用本发明实施例提供的方案,无需在投屏设备端计算音频数据的实际播放时刻,而只需要将期望输出时刻和输出时延发送到移动设备,由移动设备获得相对于投屏设备的系统时间差,移动设备再由上述期望输出时刻、输出时延和系统时间差计算得到音频数据的实际播放时刻,并且在实际播放时刻播放音频数据。

本发明的一个实施例中,还可以由投屏设备获得上述系统时间差,计算期望输出时刻、系统时间差和输出时延的和,得到实际播放时刻,将计算得到的实际播放时刻作为时间信息发送到移动设备。

对于系统时间差,本发明的一个实施例中,可以是以移动设备与投屏设备之间发送报文的形式计算系统时间差。具体的,移动设备向投屏设备发送一个报文,获得第三送时间,投屏设备接收到报文之后,获得第三接收时间,投屏设备再向移动设备发送报文,获得第四发送时间,移动设备接收到投屏设备发送的报文,并获得第四接收时间。利用上述第三发送时间、第三接收时间、第四发送时间、第四接收时间,投屏设备可以根据以下公式计算出移动设备相对于投屏设备的系统时间差:

其中,上述Δt表示系统时间差,Tf3表示第三发送时间,Tj3表示第三接收时间,Tf4表示第四发送时间,Tj4表示第四接收时间。

例如,假设Tf3为第460ms时刻,Tj3为第254ms时刻,Tf4为第259ms时刻,Tj4为第577ms时刻,则系统时间差Δt为:

本发明的一个实施例中,上述音频数据的实际播放时刻可以由以下表达式计算得到:

Tsj=Tqw+Δt+Tvd

其中,上述Tqw表示期望输出时刻,Δt表示系统时间差,Tvd表示输出时延。

应用上述实施例提供的方案,在投屏设备上计算得到音频数据的实际播放时间后,以实际播放时间作为上述时间信息,将计算得到的时间信息发送到移动设备,移动设备无需再次进行计算,直接在实际播放时刻播放音频数据。

本发明的一个实施例中,可以由投屏设备将待播放视频中的音频数据和时间信息发送到移动设备,指示移动设备在实际播放时刻播放音频数据。

其中,投屏设备可以将音频数据和时间信息分别发送到移动设备,也可以将音频数据和时间信息打包发送到移动设备。具体的,投屏设备端可以生成包含音频数据和时间戳的数据包,其中,上述时间戳为计算得到的实际播放时刻,并将生成的数据包发送到移动设备。

这样移动设备仅仅需要接收投屏设备发送的音频数据和时间信息,并在实际播放时刻播放音频数据,可以节省移动设备端的资源。

本发明的一个实施例中,可以由投屏设备将时间信息发送到移动设备,而音频数据则由移动设备从服务端获得。

具体的,服务端中存储有待播放视频的视频数据和音频数据,本实施例中移动设备直接从服务端获得上述音频数据,而无需接收投屏设备发送的音频数据,这样可以节省投屏设备的网络资源,保证投屏设备能够稳定地获得并输出视频数据、发送时间信息。

由以上可见,应用本发明实施例提供的方案进行数据同步播放时,考虑到数据从投屏设备传输到移动设备需要传输时间,因此首先确定不小于传输时间的值作为输出时延,以期望输出时刻与输出时延的和作为投屏设备输出待播放视频中视频数据的实际输出时刻,再将时间信息发送到移动设备,指示移动设备根据时间信息得到待播放视频中音频数据的实际播放时刻,并且移动设备在得到音频数据的情况下、在实际播放时刻播放音频数据。由于本方案中显示设备播放视频数据的时刻与投屏设备输出视频数据的时刻一致,而音频数据的实际播放时刻通过计算移动设备与投屏设备之间系统时间差、输出时延与期望输出时刻的和得到,可以保持音频数据在移动设备端播放的时刻相对于投屏设备输出视频数据的时刻一致,进而使得显示设备播放视频数据的时刻与移动设备播放音频数据的时刻保持一致。

如图2所示,本发明的一个实施例中,上述数据同步播放方法还包括如下步骤105-步骤106。

步骤105:检测是否需要获得新的传输时间。

本发明的一个实施例中,可以检测是否存在新的移动设备与投屏设备建立了连接;若为是,则判定需要获得新的传输时间。

由于新的移动设备与投屏设备建立连接后,会产生新的传输时间,为了保证与投屏设备连接的所有移动设备都能实现音频数据的同步播放,需要获得新的传输时间,并判断新的传输时间与输出时延的大小关系,依据确定出的输出时延计算视频数据的实际输出时刻和音频数据的实际播放时刻。

本发明的另一个实施例中,可以检测是否存在网络抖动;若为是,则判定需要获得新的传输时间。

由于网络抖动会导致数据从投屏设备传输到移动设备的传输时间发生改变,为了保证网络抖动情况下移动设备也能实现音频数据的同步播放,需要获得新的传输时间,并判断新的传输时间与输出时延的大小关系,依据确定出的输出时延计算视频数据的实际输出时刻和音频数据的实际播放时刻。

步骤106:在需要获得新的传输时间的情况下,获得新的传输时间,并判断新的传输时间是否大于输出时延,在新的传输时间大于输出时延的情况下,返回执行上述步骤101。

本发明的一个实施例中,在新的移动设备加入连接的情况下,可以是以投屏设备与新的移动设备之间发送报文的形式计算数据从投屏设备传输到新的移动设备的传输时间。

本发明的一个实施例中,在发生网络抖动的情况下,可以是以投屏设备与移动设备之间发送报文的形式计算数据从投屏设备传输到移动设备的传输时间。

在新的传输时间不大于输出时延的情况下,应用当前的输出时延可以满足音频数据与视频数据的同步播放,因此输出时延保持不变。

在新的传输时间大于输出时延的情况下,说明当时输出时延不足以使得移动设备端音频数据的播放时间与投屏设备端的视频输出时间保持同步,需要依据新的传输时间确定输出时延的值,并根据输出时延计算视频数据的输出时刻和音频数据的播放时刻。

应用上述实施例提供的方案确定出的输出时延,可以满足输出时延大于数据从投屏设备传输到所有移动设备的传输时间,并使得输出时延可以对抗网络抖动带来的传输时间浮动。

如图3所示,本发明实施例还提供了第二种数据同步播放方法,应用于移动设备,包括如下步骤301-步骤303。

步骤301,接收投屏设备发送的时间信息,并获得待播放视频中的音频数据。

其中,时间信息为实际播放时刻或原始时刻,原始时刻包括输出时延和期望输出时刻,期望输出时刻为期望投屏设备输出待播放视频中视频数据的时刻,输出时延为投屏设备延迟向显示设备输出视频数据的时间值,实际播放时刻为期望输出时刻、输出时延与系统时间差的和,系统时间差为移动设备的系统时间相对于投屏设备的系统时间的差值。

本发明的一个实施例中,获得音频数据时,可以获得投屏设备发送的待播放视频中的音频数据,也可以从服务端获得待播放视频中的音频数据。

步骤302,依据时间信息得到音频数据的实际播放时刻。

本发明的一个实施例中,在时间信息为实际播放时刻的情况下,移动设备根据时间信息可以直接得到音频数据的实际播放时刻。

本发明的另一个实施例中,在时间信息为原始时刻的情况下,移动设备可以首先获得系统时间差,然后计算原始时刻中期望输出时刻、输出时延和系统时间差的和,从而得到音频数据的实际播放时刻。其中,上述系统时间差的获得方法同步骤104中系统时间差的获得方法相同,在此不作赘述。

步骤303,在实际播放时刻播放音频数据。

需要说明的是,上述步骤301中获得音频数据步骤的执行顺序与接收时间信息步骤的执行顺序并不存在必然联系,可以先获得音频数据,再接收时间信息,也可以先接收时间信息,再获得音频数据,二者也可以同时执行,也可以在步骤302之后再执行获得音频数据步骤。本发明并不对此进行限定。

由此可见,应用上述实施例提供的数据同步播放方案,移动设备在计算音频数据的实际播放时刻中,将投屏设备的输出时延和相对于投屏设备的系统时间差考虑了进去,可以保持音频数据在移动设备端播放的时刻相对于投屏设备输出视频数据的时刻一致,进而使得显示设备播放视频数据的时刻与移动设备播放音频数据的时刻同步。

如图4所示,本发明实施例还提供了第三种数据同步播放方法,应用于显示设备,包括如下步骤401-步骤402。

步骤401,接收投屏设备在实际输出时刻输出的待播放视频中的视频数据。

其中,实际输出时刻为:期望输出时刻与输出时延的和,期望输出时刻为:期望投屏设备输出视频数据的时刻,输出时延的值大于或等于各个移动设备对应传输时间中的最大值,传输时间为:数据从投屏设备传输到所述移动设备所需的时间;

步骤402,播放视频数据。

如图5所示,本发明的实施例提供了一种数据同步播放系统,所述系统包括投屏设备、移动设备与显示设备,其中:

所述投屏设备,用于确定所述投屏设备向所述显示设备输出待播放视频中视频数据的输出时延,其中,所述输出时延的值大于或等于各个移动设备对应传输时间中的最大值,所述传输时间为:数据从所述投屏设备传输到移动设备所需要的时间;

所述投屏设备,还用于获得期望所述投屏设备输出所述视频数据的期望输出时刻,计算所述期望输出时刻与输出时延的和,作为所述视频数据的实际输出时刻,并在所述实际输出时刻向所述显示设备输出所述视频数据;

所述显示设备,用于接收并播放所述视频数据;

所述投屏设备,还用于将时间信息发送到所述移动设备,其中,所述时间信息为实际播放时刻或原始时刻,所述原始时刻包括输出时延和期望输出时刻,所述实际播放时刻为期望输出时刻、输出时延与系统时间差的和,所述系统时间差为:移动设备的系统时间相对于所述投屏设备的系统时间之差;

所述移动设备,用于接收所述时间信息,并获得所述待播放视频中的音频数据;

所述移动设备,还用于依据所述时间信息得到所述音频数据的实际播放时刻,并在所述实际播放时刻播放所述音频数据。

由以上可见,应用本发明实施例提供的方案进行数据同步播放时,考虑到数据从投屏设备传输到移动设备需要传输时间,因此首先确定不小于传输时间的值作为输出时延,以期望输出时刻与输出时延的和作为投屏设备输出待播放视频中视频数据的实际输出时刻,再将时间信息发送到移动设备,指示移动设备根据时间信息得到待播放视频中音频数据的实际播放时刻,并且移动设备在得到音频数据的情况下、在实际播放时刻播放音频数据。由于本方案中显示设备播放视频数据的时刻与投屏设备输出视频数据的时刻一致,而音频数据的实际播放时刻通过计算移动设备与投屏设备之间系统时间差、输出时延与期望输出时刻的和得到,可以保持音频数据在移动设备端播放的时刻相对于投屏设备输出视频数据的时刻一致,进而使得显示设备播放视频数据的时刻与移动设备播放音频数据的时刻保持一致。

如图6所示,本发明实施例提供了一种数据同步播放装置,应用于投屏设备,所述装置包括:

时延确定模块601,用于确定所述投屏设备向显示设备输出待播放视频中视频数据的输出时延,其中,所述输出时延的值大于或等于各个移动设备对应传输时间中的最大值,所述传输时间为:数据从所述投屏设备传输到移动设备所需要的时间;

期望时刻获得模块602,用于获得期望所述投屏设备输出所述视频数据的期望输出时刻;

视频数据输出模块603,用于计算所述期望输出时刻与输出时延的和,作为所述视频数据的实际输出时刻,并在所述实际输出时刻向所述显示设备输出所述视频数据,指示所述显示设备在所述实际输出时刻播放所述视频数据;

信息发送模块604,用于将时间信息发送到移动设备,指示所述移动设备根据所述时间信息得到实际播放时刻、并在所述移动设备得到所述待播放视频中音频数据的情况下在所述实际播放时刻播放所述音频数据,其中,所述时间信息为实际播放时刻或原始时刻,所述原始时刻包括输出时延和期望输出时刻,所述实际播放时刻为期望输出时刻、输出时延与系统时间差的和,所述系统时间差为:移动设备的系统时间相对于所述投屏设备的系统时间之差。

本发明的一个实施例中,所述时延确定模块601,具体用于:

通过以下表达式确定所述输出时延Tvd:

Tvd=ceil(Ts+c*floor(Ts/c))

其中,c表示预设的参数,Ts表示各个移动设备对应传输时间中值最大的传输时间,floor表示向下取整运算,ceil表示向上取整运算。

本发明的一个实施例中,在所述时间信息为实际播放时刻的情况下,所述信息发送模块604,具体用于:

获得所述系统时间差;

计算所述期望输出时刻、系统时间差和输出时延的和,得到实际播放时刻;

将计算得到的实际播放时刻作为时间信息发送到所述移动设备。

本发明的一个实施例中,所述信息发送模块604,具体用于:

将所述待播放视频的音频数据和时间信息发送到移动设备,指示所述移动设备根据所述时间信息得到实际播放时刻、并在所述实际播放时刻播放所接收到的音频数据。

本发明的一个实施例中,所述信息发送模块604,具体用于:

将所述时间信息发送到移动设备,指示所述移动设备从服务端获得所述待播放视频的音频数据、根据所述时间信息得到实际播放时刻、并在所述实际播放时刻播放所获得的音频数据。

本发明的一个实施例中,所述装置还包括:

时延检测模块,用于通过以下方式检测是否需要获得传输时间,若需要,则获得传输时间,并判断所述传输时间是否大于所述输出时延,若大于,执行所述确定所述投屏设备向显示设备输出待播放视频中视频数据的输出时延的步骤:

检测是否存在新的移动设备与所述投屏设备建立了连接,若为是,则判定需要获得传输时间;和/或

检测是否存在网络抖动,若为是,则判定需要获得传输时间。

如图7所示,本发明实施例提供了一种数据同步播放装置,应用于移动设备,所述装置包括:

信息接收模块701,用于接收投屏设备发送的时间信息,并获得待播放视频中的音频数据,其中,所述时间信息为实际播放时刻或原始时刻,所述原始时刻包括输出时延和期望输出时刻,所述期望输出时刻为期望投屏设备输出待播放视频中视频数据的时刻,所述输出时延为投屏设备延迟向显示设备输出所述视频数据的时间值,所述实际播放时刻为期望输出时刻、输出时延与系统时间差的和,所述系统时间差为所述移动设备的系统时间相对于所述投屏设备的系统时间的差值;

播放时刻获得模块702,用于依据所述时间信息得到所述音频数据的实际播放时刻;

音频数据播放模块703,用于在所述实际播放时刻播放所述音频数据。

本发明的一个实施例中,所述播放时刻获得模块702,具体用于:

在所述时间信息为原始时刻的情况下,获得所述系统时间差,计算所述输出时延、系统时间差和期望输出时刻的和,得到所述音频数据的实际播放时刻。

本发明的一个实施例中,所述信息接收模块701,具体用于:接收投屏设备发送的时间信息,获得所述投屏设备发送的音频数据或从服务端获得所述待播放视频的音频数据。

如图8所示,本发明实施例提供了一种数据同步播放装置,应用于显示设备,所述装置包括:

视频数据接收模块801,用于接收投屏设备在实际输出时刻输出的待播放视频中的视频数据,其中,所述实际输出时刻为:期望输出时刻与输出时延的和,所述期望输出时刻为:期望所述投屏设备输出所述视频数据的时刻,所述输出时延的值大于或等于各个移动设备对应传输时间中的最大值,所述传输时间为:数据从所述投屏设备传输到所述移动设备所需的时间;

视频数据播放模块802,用于播放所述视频数据。

本发明实施例还提供了一种投屏设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,

存储器903,用于存放计算机程序;

处理器901,用于执行存储器903上所存放的程序时,实现本发明实施例提供的应用于投屏设备的数据同步播放方法。

本发明实施例还提供了一种移动设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现本发明实施例提供的应用于移动设备的数据同步播放方法。

本发明实施例还提供了一种显示设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信,

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现本发明实施例提供的应用于显示设备的数据同步播放方法。

上述投屏设备、移动设备、显示设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述投屏设备、移动设备、显示设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一数据同步播放方法的步骤。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一数据同步播放方法。

可见,应用上述实施例提供的投屏设备、移动设备、显示设备进行数据同步播放时、执行上述实施例提供的计算机可读存储介质中存储的计算机程序进行数据同步播放时以及在计算机上运行上述实施例提供的计算机程序产品而进行数据同步播放时,考虑到数据从投屏设备传输到移动设备需要传输时间,因此首先确定不小于传输时间的值作为输出时延,以期望输出时刻与输出时延的和作为投屏设备输出待播放视频中视频数据的实际输出时刻,再将时间信息发送到移动设备,指示移动设备根据时间信息得到待播放视频中音频数据的实际播放时刻,并且移动设备在得到音频数据的情况下、在实际播放时刻播放音频数据。由于本方案中显示设备播放视频数据的时刻与投屏设备输出视频数据的时刻一致,而音频数据的实际播放时刻通过计算移动设备与投屏设备之间系统时间差、输出时延与期望输出时刻的和得到,可以保持音频数据在移动设备端播放的时刻相对于投屏设备输出视频数据的时刻一致,进而使得显示设备播放视频数据的时刻与移动设备播放音频数据的时刻保持一致。

由此可见,应用上述实施例提供的方案,可以实现移动设备端音频数据与显示设备端视频数据同步播放。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例、装置实施例、投屏设备实施例、移动设备实施例、显示设备实施例、计算机可读存储介质实施例以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于指纹识别的智能电视推荐方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类