一种流媒体数据传输方法与流程

文档序号:14943039发布日期:2018-07-13 21:33

技术领域

本发明涉及流媒体传输领域,尤其涉及一种流媒体数据传输方法、装置及系统。



背景技术:

随着计算机技术和无线通信技术的发展,数字多媒体进入产业化阶段,各种多媒体应用平台也在产业化过程中逐渐走向成熟。WLAN(Wireless Local Area Networks,无线局域网)、Bluetooth(蓝牙)以及3G(3rd-generation,第三代移动通信技术)技术已能够提供基本的带宽来满足各种多媒体以及实时视频传输应用的需求;同时,嵌入式系统的计算能力也使得在移动设备上实现实时多媒体信息处理逐步成为现实。对国内外,实时流媒体传输主要应用于视频会议、多屏幕共享等领域。相比于其他的多媒体业务,流媒体数据传输对于实时性、网络带宽、容错性、媒体同步、播放平滑性等方面均有严格要求。

一方面,流媒体对网络可用带宽的要求较高,而当前的Internet(互联网)并没有为流媒体预留出足够的带宽;而且,现有的路由器采用的一般是存储转发、队列被动丢弃的方式,在网络带宽出现波动时,这种方式容易造成流媒体数据包的大延迟或被丢弃的现象,从而对流媒体的传输与播放质量造成很大的影响。

另一方面,流媒体对于延迟的要求显著高于一般数据。如实时语音的延迟不能高于250ms,实时视频则不能大于1s,但是Internet并没有为实时流媒体数据提供延迟保证,流媒体数据仍然和一般数据一样,需要经历路由器的存储、排队、转发过程,当网络出现拥塞时,仅流媒体数据在路由器上的队列延迟往往就会超过流媒体所要求的最小延迟,而延迟到达接收端的媒体数据包在播放时会造成停顿、抖动等较差的播放效果。

再者,网络的异构性与用户的异构性对流媒体的传输提出了更高的要求。在Internet中,网络资源(例如,链路带宽、存储能力、处理能力、拥塞控制策略等)的分布是非均匀的。网络的异构性是指两个或以上的无线通信系统采用了不同的接入技术,或者是采用相同的无线接入技术但属于不同的无线运营商。利用现有的多种无线通信系统,通过系统间融合的方式,使多系统之间取长补短是满足未来移动通信业务需求一种有效手段,能够综合发挥各自的优势。由于现有的各种无线接入系统在很多区域内都是重叠覆盖的,所以可以将这些相互重叠的不同类型的无线接入系统智能地结合在一起,利用多模终端智能化的接入手段,使多种不同类型的网络共同为用户提供随时随地的无线接入,从而构成了异构网络。基于异构的网络接入方式、(如以太网、ADSL(Asymmetric Digital Subscriber Line,非对称数字用户线)、Wi-Fi(无线网络)、WiMax(Worldwide Interoperability for Microwave Access,全球微波互联接入)、GPRS(General Packet Radio Service,通用分组无线服务技术)、3G网络等)异构的终端设备、(如PC机、笔记本、PDA(Personal Digital Assistant,掌上电脑)或手机等)以及异构的用户需求(如要求音频优先、视频优先或速度优先等)都使得终端用户对于流媒体的传输需求、音视频质量需求具有差异性,从而加剧了流媒体数据传输时的延迟,造成了流媒体播放的停顿、甚至无法播放等现象。



技术实现要素:

本发明实施例提供一种流媒体数据传输方法、装置及系统,用以提供一种基于频谱感知的流媒体数据传输方案,减少流媒体数据传输时的丢包现象的同时,提高了流媒体数据的传输过程中的实时性。

本发明实施例提供一种流媒体数据传输方法,该方法包括:

服务器向终端发送用于获取所述终端是否具备支持多信道通信能力的请求消息,并根据所述终端的反馈消息确定所述终端是否支持多信道通信;

所述服务器根据所述终端是否具备支持多信道通信的能力和/或多条通信信道的质量,确定传输流媒体数据的一条或多条通信信道,并在确定出的通信信道上与所述终端进行流媒体数据传输。

本发明实施例还提供一种流媒体数据传输装置,该装置包括:

通信能力请求单元,用于向终端发送用于获取所述终端是否具备支持多信道通信能力的请求消息,并根据所述终端的反馈消息确定所述终端是否支持多信道通信;

信道选择及传输单元,根据所述终端是否具备支持多信道通信的能力和/或多条通信信道的质量,确定传输流媒体数据的一条或多条通信信道,并在确定出的通信信道上与所述终端进行流媒体数据传输。

本发明实施例又提供一种流媒体数据传输系统,该系统包括:

服务器,用于向终端发送用于获取所述终端是否具备支持多信道通信能力的请求消息,并根据所述终端的反馈消息确定所述终端是否支持多信道通信;根据所述终端是否具备支持多信道通信的能力和/或多条通信信道的质量,确定传输流媒体数据的一条或多条通信信道,并在确定出的通信信道上与所述终端进行流媒体数据传输;

所述终端,用于接收所述服务器发送的请求消息,将所述终端是否具备支持多信道通信能力的标识信息携带在反馈消息中返回给所述服务器;并在由所述服务器确定出的通信信道上进行流媒体数据传输。

从上述技术方案可以看出,服务器可以向终端发送用于获取该终端是否具备支持多信道通信能力的请求消息,并根据终端的反馈确定该终端是否支持使用多信道同时传输,这样,服务器首先能够获取终端通信能力的信息,以使在与该终端进行数据传输时能够根据该终端的通信能力选择最有效的通信信道与该终端通信;进而,服务器还能根据该终端的每条通信信道的质量以及该终端是否具备支持多通道通信的能力,确定出一条或多条通信信道,以使当服务器在确定出的一条或多条通信信道上与该终端进行流媒体传输时,大大的增加信道利用率,尤其的,在本发明实施例中,服务器不再局限于使用预设单一信道向终端发送流媒体数据,而是针对各终端的通信能力或各信道的质量,选择出能够使流媒体传输效率最高的若干条信道向该终端传输流媒体数据,从而有效的提高了流媒体的传输效率,进而减少了流媒体数据传输时的拥堵现象。

附图说明

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

图1为本发明实施例提供的一种流媒体数据传输方法的流程示意图;

图2为本发明实施例提供的系统架构的结构示意图;

图3为本发明实施例提供的一种发送端向接收端传输流媒体数据的流程示意图;

图4为本发明实施例提供的流媒体数据传输装置的结构示意图;

图5为本发明实施例提供的流媒体数据传输系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例可以应用于通过Internet网络传输各种类型的流媒体数据的应用场景,本发明实施例尤其可以适用于基于无线频谱感知的多通道实时流媒体传输的应用场景。在本发明实施例中,流媒体数据的发送端可以为服务器或其它网络设备,流媒体数据的接收端可以为各种终端;通常来讲,发送端可以为具备支持多信道通信能力的网络设备,接收端可以为具备支持多信道通信能力的终端设备,或也可为仅具备支持单一信道通信能力的终端设备;其中,发送端与终端可以通过路由器建立通信链路上的链接,该路由器既可具备支持多信道通信能力,也可不具备支持多信道通信能力,当路由器不具备支持多信道通信能力时,发送端与接收端可以通过各种端对端直连的方式建立通信链路上的连接。

本发明实施例针对现有技术中无线网络环境易受到外界干扰的问题,例如:由于无线网络有低比特率、高丢包率、强干扰等问题,相对于有线实时流媒体传输,无线传输信道环境要恶劣得多,数据包的接收误码率要比有线网络高出几个数量级。而压缩视频流对误码非常敏感,即使接收到数据包的误码率很低,也会对解码后的图像质量造成很严重的影响。这是由于压缩编码去掉了原图像中所包含的大部分空间域及时间域上的冗余信息,编码后的视频流即使仅仅出现一个比特的错误,也会使得解码后的图像中有很大一部分空间域及时间域图像数据受到影响无法正常解码显示。而如果受数据包误码影响的帧是作为后面预测帧的参考帧时,造成一个数据包的误码会向后面的图像帧扩散,从而使得解码后图像质量的恶化情况更加严重。本发明实施例提供了一种基于无线频谱感知的双通道实时流媒体数据传输技术,能够判断当前无线频谱的占用情况,根据判断结果选择最优的通信信道进行无线流媒体数据的传输,提高了流媒体数据传输的实时性,减少了流媒体数据传输时的丢包数量,增强主观观看效果,提高了用户体验。

图1示出了本发明实施例提供的一种流媒体数据传输方法的流程示意图,如图1所示,该方法可以包括:

步骤11:服务器向终端发送用于获取终端是否具备支持多信道通信能力的请求消息,并根据终端的反馈消息确定终端是否支持多信道通信。

步骤12:服务器根据终端是否具备支持多信道通信的能力和/或多条通信信道的质量,确定传输流媒体数据的一条或多条通信信道,并在确定出的通信信道上与终端进行流媒体数据传输。

可选的,在上述步骤12中,若终端不具备支持多信道通信的能力,则服务器使用终端能够支持的多条通信信道中的任一通信信道与终端进行流媒体数据传输;若终端具备支持多信道通信的能力,则服务器使用终端能够支持的多条通信信道或者多条通信信道中的任一通信信道与终端进行流媒体数据传输。

可选的,在上述步骤中,多条通信信道的质量包括:当前通信信道的质量和多条未占用通信信道的质量;服务器判断当前通信信道的质量是否高于第一预设阈值,若是,则使用当前通信信道与终端进行流媒体数据传输;若否,则判断在多条未占用信道中是否存在通信信道的质量大于当前通信信道的质量的通信信道,若存在,则将该通信信道作为待切换的通信信道,并向终端发送用于切换到待切换通信信道的变更指令,在终端返回变更确认消息后,使用待切换通信信道与终端进行流媒体数据传输;若不存在,则使用当前通信信道与终端进行流媒体数据传输。

可选的,在上述步骤中,多条通信信道的质量包括:当前通信信道的质量和多条未占用通信信道的质量;服务器将当前使用的通信信道作为主通信信道,将未占用通信信道中的一条或多条通信信道作为辅通信信道,将流媒体数据按照比例分配到主通信信道和辅通信信道上进行传输;其中,比例与主通信信道的网络吞吐量和辅通信信道的网络吞吐量有关。

可选的,在上述步骤中,在终端具备支持双信道通信的能力时,服务器将当前使用的通信信道作为主通信信道,将终端所支持的另一通信信道作为辅通信信道,分别获取主通信信道的网络吞吐量T1和辅通信信道的网络吞吐量T2;服务器将流媒体数据按照T1/(T1+T2)的比例通过主通信信道发送给终端,将流媒体数据按照T2/(T1+T2)的比例通过辅通信信道发送给终端。

下面对本发明实施例进行详细描述。

本发明实施例主要分为两个的部分:一部分为频谱感知,另一部分为实时流媒体数据的分配与传输。基于上述构思,图2示出了本发明实施例提供的系统架构的结构示意图,如图2所示,该系统架构至少由发送端21和接收端22组成,其中,发送端21可以至少包括:无线频谱感知模块和实时流媒体数据分配发送模块,无线频谱感知模块用于对当前无线频谱进行感知和分析,实时流媒体数据分配发送模块用于接收实时流媒体数据并根据无线频谱感知模块的感知和分析结果,对流媒体数据进行分配,并通过一条或多条通信信道向接收端传输流媒体数据。

图3示出了本发明实施例提供的一种发送端向接收端传输流媒体数据的流程示意图,在本发明实施例中以均具备支持双信道通信能力的发送端和接收端为例进行说明,其中,一通信信道为处于2.4GHz频段的通信信道,另一通信信道为处于5GHz频段的通信信道;但在实际应用中,不限于仅具备支持双信道通信能力,还可以具备支持多信道通信能力的发送端和接收端;在本发明实施例中,发送端可以为流媒体服务器,接收端可以为客户端或终端;如图3所示,该方法可以包括:

步骤31:流媒体服务器(以下可以简称为服务器)进行初始化。

具体实现时,服务器初始化双频段无线通信模块,可以将处于2.4GHz频段的通信信道设置为主通信信道,将处于5GHz频段的通信信道设置为辅通信信道。

步骤32:服务器在预先设定好的端口号上开始监听,等待客户端发起连接。并在客户端请求连接服务器后,由服务器验证客户端的身份后在主通信信道上建立流媒体链接。

具体实现时,服务器(通常为流媒体发送端)在默认的起始通信信道0上打开网络接口,开始监听,等待客户端(通常为流媒体接收端,即为终端,为了描述方便,以下可以称为客户端)发起的建立连接请求;服务器验证客户端的身份,并在验证成功后在主通信信道上建立流媒体链接。

步骤33:链接建立后,服务器向客户端发送用于获取该客户端是否具备支持双信道通信能力的请求消息。

具体实现时,在与客户端建立连接之后,服务器可以向客户端请求客户端的无线通信能力和音视频解码的能力。

步骤34:服务器根据客户端返回的响应消息,判断客户端是否具备支持双信道通信的能力,若具备,则执行步骤35,若不具备,则执行36。

具体实现时,客户端将携带有自身无线通信能力和音视频解码的能力的响应消息返回给客户端。需要说明的是,在当前信道的质量不好时,服务器可以根据客户端是否具备支持双信道通信的能力,选择执行步骤35或步骤36;如果当前信道的质量较好时,服务器可以保持继续使用当前通信信道进行传输,也可以选择执行步骤35或步骤36。

步骤35:在客户端具备支持双信道通信的能力时,服务器按照一定比例,使用主通信信道和辅通信信道进行流媒体数据传输。

具体实现时,服务器先初始化其辅助通信通道(处于5Ghz频段的通信信道)。此时,服务器和客户端建立的是双通道双频段的数据连接频道,服务器和客户端将会通过双通道双频段进行数据的发送和接收。在数据发送和接收的过程中,服务器的实时流媒体数据分配模块将实时流媒体的数据按照一定的比例分配到两个不同的无线通信信道上。实时流媒体数据分配发送模块在数据发送的过程中对每个无线信道的网络吞吐量进行统计,若将主通道的网络吞吐量记为T1、将辅助通信信道的网络吞吐量记为T2,实时流媒体数据分配发送模块按照T1/(T1+T2)的比例通过主数据通道发送流媒体数据,并按照T2/(T1+T2)的比例通过辅助数据通道发送流媒体数据。在本发明实施例中,选择了两个相隔比较大的频段进行双频道双通道的数据传输,因此,两个数据通道同时受到干扰的可能性较小。

需要说明的是,在执行步骤35后,当前流媒体数据传输流程结束,但并不意味着在后续流媒体数据传输过程中均通过双通信信道与客户端进行流媒体数据传输。服务器仍可以实对无线频谱进行实时感知,并根据无线频谱感知结果使用单一通信信道或多通信信道与客户端进行后续流媒体数据传输。

步骤36:在客户端不具备支持双信道通信的能力时,服务器确定使用单一通信信道进行流媒体数据传输。

具体实现时,如果客户端只能支持单通道的实时流媒体的播放,那么服务器和客户端建立的是普通的无线流媒体传输通道,即使用单一通信信道进行流媒体数据传输。当服务器和客户端建立的是普通的单通道数据连接通道时,服务器和接收端之间只通过单一的通信信道发送和接收数据,然而,由于在本发明实施例中服务器具有至少两条通信信道,因此服务器可以使用主通信信道或辅通信信道中任一通信信道与客户端进行流媒体数据传输。

步骤37:服务器根据主通信信道的质量和辅通信信道的质量,判断是否需要从主通信信道切换到辅通信信道,若不需要,则执行步骤38,否则,执行步骤39。

具体实现时,服务器判断当前通信信道的质量(即主通信信道的质量)是否低于第一预设阈值,若否,则执行步骤38;否则,判断辅通信信道的质量是否优于当前通信信道的质量(即主通信信道的质量);当辅通信信道的质量是否优于当前通信信道的质量(即主通信信道的质量)时,执行步骤39;当辅通信信道的质量是否不优于当前通信信道的质量(即主通信信道的质量)时,执行步骤38。

在本发明实施例中,第一预设阈值可以具体为20%,并且,第一预设阈值的取值可以根据实际应用情况进行调节。

步骤38:服务器仍使用主通信信道与客户端进行流媒体数据传输。

需要说明的是,在执行步骤38后,当前流媒体数据传输流程结束,但并不意味着在后续流媒体数据传输过程中均通过主通信信道与客户端进行流媒体数据传输。服务器仍可以实对无线频谱进行实时感知,并根据无线频谱感知结果使用其它通信信道与客户端进行后续流媒体数据传输。

步骤39:服务器向客户端发送用于切换到辅通信信道的变更指令,并在客户端返回变更确认消息后,使用辅通信信道与客户端进行流媒体数据传输。

具体实现时,在数据通信的过程中,服务器中的无线通信频谱感知模块周期性的检测当前无线通信环境中的频谱使用情况,当实时流媒体数据的传输失败率上升,或出现大量的数据包丢失现象,或网络严重拥塞时,根据频谱感知模块的统计计算的结果,将数据传输通道转移到无线通信质量较好的通信信道中。这样,服务器在在传输过程中,一旦感知到当前传输环境状况变差后,可以根据无线频谱感知的结果,和客户端协商切换到无线通信干扰较小或者无线通信质量较好的通信信道。

需要说明的是,在上述步骤39中,若客户端未返回变更确认消息,或客户端返回变更失败消息,则服务器仍使用主通信信道与客户端进行流媒体数据传输。

还需要说明的是,在执行步骤39后,当前流媒体数据传输流程结束,但并不意味着在后续流媒体数据传输过程中均通过辅通信信道与客户端进行流媒体数据传输。服务器仍可以实对无线频谱进行实时感知,并根据无线频谱感知结果使用其它通信信道与客户端进行后续流媒体数据传输。

从上述技术方案可以看出,服务器可以向终端发送用于获取该终端是否具备支持多信道通信能力的请求消息,并根据终端的反馈确定该终端是否支持使用多信道同时传输,从而统一了现有技术中的异构的网络接入方式,使服务器和终端使用相同的网络协议接入网络,减少了现有技术中由于网络的异构性造成的流媒体数据传输的延迟现象;并且,服务器还能根据终端是否具备支持多信道通信的能力以及每条通信信道的质量,确定出一条或多条通信信道,用以在确定出的一条或多条通信信道上进行流媒体传输时,能够使传输效率最高,从而减少了流媒体数据传输时的拥堵现象。

基于相同的技术构思,本发明实施例还提供一种流媒体数据传输装置,图4示出了本发明实施例提供的流媒体数据传输装置的结构示意图,如图4所示,该装置可以包括:

通信能力请求单元41,用于向终端发送用于获取所述终端是否具备支持多信道通信能力的请求消息,并根据所述终端的反馈消息确定所述终端是否支持多信道通信;

信道选择及传输单元42,根据所述终端是否具备支持多信道通信的能力和/或多条通信信道的质量,确定传输流媒体数据的一条或多条通信信道,并在确定出的通信信道上与所述终端进行流媒体数据传输。

可选的,所述信道选择及传输单元42具体用于:在所述终端不具备支持多信道通信的能力时,使用所述终端能够支持的多条通信信道中的任一通信信道与所述终端进行流媒体数据传输;在所述终端具备支持多信道通信的能力时,使用终端能够支持的多条通信信道或者所述多条通信信道中的任一通信信道与所述终端进行流媒体数据传输。

可选的,所述多条通信信道的质量包括:当前通信信道的质量和多条未占用通信信道的质量;所述信道选择及传输单元42具体用于:判断所述当前通信信道的质量是否高于第一预设阈值,若是,则使用当前通信信道与所述终端进行流媒体数据传输;若否,则判断在所述多条未占用信道中是否存在任一通信信道的质量大于所述当前通信信道的质量,若存在,则将该通信信道作为待切换的通信信道,并向所述终端发送用于切换到所述待切换通信信道的变更指令,在所述终端返回变更确认消息后,使用所述待切换通信信道与所述终端进行流媒体数据传输;若不存在,则使用当前通信信道与所述终端进行流媒体数据传输。

可选的,所述多条通信信道的质量包括:当前通信信道的质量和多条未占用通信信道的质量;所述信道选择及传输单元42具体用于:将当前使用的通信信道作为主通信信道,将所述未占用通信信道中的一条或多条通信信道作为辅通信信道,将流媒体数据按照比例分配到所述主通信信道和所述辅通信信道上进行传输;其中,所述比例与所述主通信信道的网络吞吐量和所述辅通信信道的网络吞吐量有关。

可选的,在所述终端具备支持双信道通信的能力时,所述信道选择及传输单元42具体用于:将当前使用的通信信道作为主通信信道,将终端所支持的另一通信信道作为辅通信信道,分别获取所述主通信信道的网络吞吐量T1和所述辅通信信道的网络吞吐量T2;将流媒体数据按照T1/(T1+T2)的比例通过所述主通信信道发送给所述终端,将所述流媒体数据按照T2/(T1+T2)的比例通过所述辅通信信道发送给所述终端。

基于相同的技术构思,本发明实施例还提供一种流媒体数据传输系统,图5示出了本发明实施例提供的流媒体数据传输系统的结构示意图,如图5所示,该系统可以包括:

服务器51,用于向终端52发送用于获取所述终端52是否具备支持多信道通信能力的请求消息,并根据所述终端52的反馈消息确定所述终端52是否支持多信道通信;根据所述终端52是否具备支持多信道通信的能力和/或多条通信信道的质量,确定传输流媒体数据的一条或多条通信信道,并在确定出的通信信道上与所述终端52进行流媒体数据传输;

所述终端52,用于接收所述服务器51发送的请求消息,将所述终端是否具备支持多信道通信能力的标识信息携带在反馈消息中返回给所述服务器51;并在由所述服务器51确定出的通信信道上进行流媒体数据传输。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1