发明内容
有鉴于此,本申请提供一种音视频容错方法及其系统,结合现有的硬件条件,为用户提供容错性高,传输稳定的音视频系统。
本申请提供一种音视频容错方法,该方法包括:接收信息流;从信息流中抽取音频数据和视频数据;使用电话网络传输音频数据;使用有线/无线互联网传输视频数据;判断是否可以正常接收到音频数据和视频数据;如果可以正常接收,则合成音频和视频数据,并向用户传输合成后的信息流;如果仅可以正常接收音频或视频数据之一,则向用户传输可以正常接收的音频或视频数据。
其中从信息流中抽取音频数据和视频数据还包括:进一步从信息流中抽取同步控制信息,并使用有线/无线互联网传输同步控制信息。
其中如果可以正常接收,则合成音频和视频数据包括:根据接收的同步控制信息,合成音频和视频数据。
其中如果仅可以正常接收音频或视频数据之一,则向用户传输可以正常接收的音频或视频数据,包括:如果可以正常接收音频数据,但不能正常接收视频数据,则向用户传输音频数据,并将最后一帧可以正常接收的视频数据传输给用户显示;如果可以正常接收视频数据,但不能正常接收音频数据,则向用户传输视频数据。
其中如果可以正常接收视频数据,但不能正常接收音频数据,则向用户传输视频数据,包括:在向用户传输视频数据之前识别视频中用户脸部图像;根据脸部图像识别唇部图像;根据识别出的唇部图像提取唇部关键点;跟踪唇部关键点的变化,得到每帧图像中关键点的特征向量;计算关键点的特征向量与样本训练集中各个分类特征向量的欧几里德距离;选择欧几里德距离最小的分类特征向量作为识别结果输出。
本申请还提供一种发送方音视频容错设备,该设备包括:
收发器,接收该发起终端发送的信息流,并将接收到的信息流发送给抽取器;
抽取器,接收收发器发送的信息流,并从信息流中抽取音频数据和视频数据,并将抽取的音频数据发送给电话网络接口,将抽取的视频数据发送给有线/无线互联网接口;
电话网络接口,接收抽取器发送的音频数据,并将该音频数据发送到电话网络;
有线/无线互联网接口,接收抽取器发送的视频数据,并将该视频数据发送到有线/无线网络。
还提供一种接收方音视频容错设备,该设备包括:
电话网络接口,连接电话网络,判断电话网络是否工作正常,如果工作正常,则可以接收电话网络传输的音频数据,并将接收到的音频数据发送给合成器;
有线/无线互联网接口,连接有线/无线网络,判断网络是否工作正常,如果工作正常,则从有线/无线网络接收视频数据,并将接收到的视频数据发送给合成器;
合成器,接收电话网络接口发送的音频数据,接收有线/无线互联网接口发送的视频数据,如果电话网络接口和有线/无线互联网接口都可以正常接收数据,则合成器合成接收到的音频数据和视频数据,并将合成后的信息流发送给收发器;如果仅可以正常接收音频或视频数据之一,则向收发器传输可以正常接收的音频或视频数据;
收发器,接收合成器合成的信息流或音频或视频数据,并转发给接收终端。
其中合成器如果可以正常接收音频数据,但不能正常接收视频数据,则向用户传输音频数据,并将最后一帧可以正常接收的视频数据传输给用户显示;如果可以正常接收视频数据,但不能正常接收音频数据,则向用户传输视频数据。
其中合成器如果可以正常接收视频数据,但不能正常接收音频数据,则合成器在向用户传输视频数据之前识别视频中用户脸部图像,根据脸部图像识别唇部,根据识别出的唇部图像提取唇部关键点,跟踪唇部关键点的变化,得到每帧图像中关键点的特征向量,计算关键点的特征向量与样本训练集中各个分类特征向量的欧几里德距离,选择欧几里德距离最小的分类特征向量作为识别结果输出。
最后,本申请还提供一种音视频容错系统,包括:
如上所述的发送方音视频容错设备和如上所述的接收方音视频容错设备;
发起终端,向该发送方音视频容错设备发送信息流;
接收终端,接收该接收方音视频容错设备发送的信息流或音频或视频流。
由以上技术方案可见,本申请在现有的硬件条件下,为用户提供尽可能多的视频和音频信息,以提升用户的整体体验。
具体实施方式
为了使本领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
下面结合本申请附图进一步说明本申请具体实现。
本申请提供一种音视频容错系统,该系统包括发起终端101,发送方音视频容错设备102,电话程控机103,网络中继站104,接收方音视频容错设备105以及接收终端106。
该音视频容错系统的发起终端101向发送方音视频容错设备102发送信息流,发送方音视频容错设备102对收到的信息流进行抽取,抽取其中的音频和视频信息,并通过电话网络向电话程控机103发送音频信息,通过有线/无线互联网向网络中继站104发送视频信息。电话程控机103将接收到的音频信息发送到与接收终端105连接的接收方音视频容错设备105中,网络中继站104将视频信息发送到与接收终端105连接的接收方音视频容错设备105中,接收方音视频容错设备105判断是否能够正常接收到音频信息和视频信息,如果能够正常接收到音频信息和视频信息,则对二者进行合成,并将合成后的信息流发送到接收终端106;如果接收方音视频容错设备105只能正常接收到音频信息,不能正常接收到视频信息,则仅向接收终端106发送音频信息;如果接收方音视频容错设备105只能正常接收视频信息,而不能正常接收音频信息,则接收方音视频容错设备105可以仅向接收终端106发送视频信息,或对视频信息进行处理之后,再将处理后的视频信息向接收终端106发送。
以下结合图2详细介绍发送方音视频容错设备102的结构。
该发送方音视频容错设备包括:
收发器201,接收该发起终端101发送的信息流,并将接收到的信息流发送给抽取器202。信息流为音频视频交错格式(Audio Video Interleaved,AVI)、视窗媒体播放音乐(Windows Media Audio,WMA)等多种格式。
抽取器202,接收收发器201发送的信息流,并从信息流中抽取音频数据和视频数据,并将抽取的音频数据发送给电话网络接口203,将抽取的视频数据发送给有线/无线互联网接口204。
也可从信息流中抽取同步控制信息。由于音频数据与视频数据以及同步控制信息具有不同的起始码,所以可以根据起始码从接收的信息流中分离出音频数据和视频数据。
作为一种示例性的实施例,抽取器可采用如下方式分离音频数据和视频数据以及同步控制信息:如果信息流以帧的形式传输,则在每一帧的头部保留Type字段,该字段可占用2个比特,可使用例如00代表视频帧,01代表音频帧,10代表同步控制信息,11作为保留字段。在接收到信息流时,判断传输的每一帧的头部的Type字段的值,从而判断该帧的类型,并按照帧的类型将其归入音频数据或视频数据或同步控制信息。
本领域技术人员可以清楚地是,以上只是一种示范性说明,本领域技术人员可根据信息流的形式,而选择插入的标识音频、视频以及同步控制信息的起始码的位置,从而可以根据起始码分别抽取这些数据。
电话网络接口203,接收抽取器202发送的音频数据,并将该音频数据发送到电话网络;可使用公共交换电话网络(PSTN)传输音频数据。
有线/无线互联网接口204,接收抽取器发送的视频数据,并将该视频数据发送到有线/无线网络。抽取的同步控制信息也可通过有线/无线互联网进行传输。可经由有线/无线互联网接口通过有线/无线网络以IP包的形式传输。
以下结合图3详细介绍接收方音视频容错设备105的结构。
一种接收方音视频容错设备105,该设备包括:
电话网络接口301,连接电话网络,判断电话网络是否工作正常,如果工作正常,则可以接收电话网络传输的音频数据,并将接收到的音频数据发送给合成器303。在电话网络中可以提供握手信令和故障信令。在使用电话网络传输的过程中,可首先从发送方向电话网络接口301发送握手信令,一旦发送成功,表示双方建立连接,可以正常传输音频数据;同时,如果在网络传输的过程中,发现信息传输失败,则发送故障信令,在该故障信令中携带故障原因,例如故障原因为数值11,则表示因设备原因而导致网络故障,从而使得发送失败。
有线/无线互联网接口302,连接有线/无线网络,可判断网络是否工作正常,如果工作正常,则从有线/无线网络接收视频数据,并将接收到的视频数据发送给合成器303。在有线/无线互联网中同样可以提供握手报文和故障报文。在使用有线/无线互联网传输信息的过程中,可首先从发送方向有线/无线互联网接口302发送握手报文,一旦发送成功,表示双方建立连接,可以正常传输视频数据;同时,如果在互联网传输的过程中,发现信息传输失败,则发送故障报文,在该故障报文中携带故障原因,例如故障原因为数值01,则表示因设备原因而导致互联网故障,从而使得发送失败。
合成器303,接收电话网络接口301发送的音频数据,接收有线/无线互联网接口302发送的视频数据,如果电话网络接口和有线/无线互联网接口都可以正常接收数据,则合成器303合成接收到的音频数据和视频数据,并将合成后的信息流发送给收发器304;如果仅可以正常接收音频或视频数据之一,则向收发器304传输可以正常接收的音频或视频数据。
其中对于接收的音频和视频数据进行合成,可根据视频的帧率与音频的比特率来进行视音频同步。在合成文件的时候,输出的音频数据和视频数据的时间是同时开始和同时结束的,就像播放媒体文件一样,所看到的每帧图像和听到的声音是一一对应的,只要把这些对应的数据分别取出,就不会有声音跟影像对不起来的问题。基于此思想,计算视频数据中每一帧对应的音频数据量,再根据得到的音频数据量读取相对应的视频帧以组成一个同步帧直接播放,并可建立纪录有同步信息的文件头(Header),把所述文件头以及所有的同步帧写入到新的多媒体文件中。从而完成音频和视频的合成。
可选的,在合成中,也可使用同步控制信息合成音频数据和视频数据。
如果仅可以正常接收音频或视频数据之一,则合成器仅向收发器304传输可以正常接收的音频或视频数据,具体包括:
如果电话网络接口301可以正常接收音频数据,但有线/无线互联网接口302不能正常接收视频数据,则合成器303向收发器304传输音频数据,并将最后一帧可以正常接收的视频数据传输给收发器304显示;
如果有线/无线互联网接口302可以正常接收视频数据,但电话网络接口301不能正常接收音频数据,则合成器303向收发器304传输视频数据。此时,合成器303在向用户传输视频数据之前识别视频中用户脸部;根据脸部图像识别唇部;根据识别出的唇部提取唇部关键点;跟踪唇部关键点的变化,得到每帧图像中关键点的特征向量;计算关键点的特征向量与样本训练集中各个分类特征向量的欧几里德距离;选择欧几里德距离最小的分类特征向量作为识别结果输出。
收发器304,接收合成器303合成的信息流或音频或视频数据,并转发给接收终端106。
以上通过图1-3详细描述了音视频容错系统的结构,下面结合图4详细描述该音视频容错系统的工作流程。该方法包括如下步骤:
步骤S1、接收信息流;
从发送方终端接收信息流。信息流为音频视频交错格式(Audio VideoInterleaved,AVI)、视窗媒体播放音乐(Windows Media Audio,WMA)等多种格式。
步骤S2、从信息流中抽取音频数据和视频数据。
从信息流中抽取音频数据和视频数据,也可从信息流中抽取同步控制信息。由于音频数据与视频数据以及同步控制信息具有不同的起始码,所以可以根据起始码从接收的信息流中分离出音频数据和视频数据。
作为一种示例性的实施例,可采用如下方式分离音频数据和视频数据:如果信息流以帧的形式传输,则在每一帧的头部保留Type字段,该字段可占用2个比特,可使用例如00代表视频帧,01代表音频帧,10代表同步控制信息,11作为保留字段。在接收到信息流时,判断传输的每一帧的头部的Type字段的值,从而判断该帧的类型,并按照帧的类型将其归入音频数据或视频数据或同步控制信息。
本领域技术人员可以清楚地是,以上只是一种示范性说明,本领域技术人员可根据信息流的形式,而选择插入的标识音频、视频以及同步控制信息的起始码的位置,从而可以根据起始码分别抽取这些数据。
步骤S3、使用电话网络传输音频数据。
对于抽取的音频数据,使用电话网络进行传输。可使用公共交换电话网络(PSTN)传输音频数据。
步骤S4、使用有线/无线互联网传输视频数据。
对于抽取的视频数据,使用有线/无线互联网进行传输,抽取的同步控制信息也可通过有线/无线互联网进行传输。可经由有线/无线互联网接口通过有线/无线网络以IP包的形式传输。
步骤S5、判断是否可以正常传输音频或视频数据;
对于音频数据,其使用电话网络进行传输,在电话网络中可以提供握手信令和故障信令。在使用电话网络传输的过程中,可首先从发送方向接收方发送握手信令,一旦发送成功,表示双方建立连接,可以正常传输音频数据;同时,如果在网络传输的过程中,发现信息传输失败,则发送故障信令,在该故障信令中携带故障原因,例如故障原因为数值11,则表示因设备原因而导致网络故障,从而使得发送失败。
对于视频数据,其使用有线/无线互联网进行传输,在有线/无线互联网中同样可以提供握手报文和故障报文。在使用有线/无线互联网传输的过程中,可首先从发送方向接收方发送握手报文,一旦发送成功,表示双方建立连接,可以正常传输视频数据;同时,如果在互联网传输的过程中,发现信息传输失败,则发送故障报文,在该故障报文中携带故障原因,例如故障原因为数值01,则表示因设备原因而导致互联网故障,从而使得发送失败。
如果可以正常传输音频和视频数据,则进入步骤S6;如果可以正常传输音频或视频数据之一,则进入步骤S6;如果音频和视频数据都不能正常传输,则退出该方法流程。
步骤S6、合成音频数据和视频数据。
对于接收的音频和视频数据进行合成,可根据视频的帧率与音频的比特率来进行视音频同步。在合成文件的时候,输出的音频数据和视频数据的时间是同时开始和同时结束的,就像播放媒体文件一样,所看到的每帧图像和听到的声音是一一对应的,只要把这些对应的数据分别取出,就不会有声音跟影像对不起来的问题。基于此思想,计算视频数据中每一帧对应的音频数据量,再根据得到的音频数据量读取相对应的视频帧以组成一个同步帧直接播放,并可建立纪录有同步信息的文件头(Header),把所述文件头以及所有的同步帧写入到新的多媒体文件中。从而完成音频和视频的合成。
可选的,在合成中,也可使用同步控制信息合成音频数据和视频数据。
步骤S7、向用户传输可以正常接收的音频或视频数据。包括:
如果仅可以正常接收音频或视频数据之一,则向用户传输可以正常接收的音频或视频数据,其中包括:
步骤P1、如果可以正常接收音频数据,但不能正常接收视频数据,则向用户传输音频数据,并将最后一帧可以正常接收的视频数据传输给用户显示;
步骤P2、如果可以正常接收视频数据,但不能正常接收音频数据,则向用户传输视频数据。包括:
步骤T1、在向用户传输视频数据之前识别视频中用户脸部;
步骤T2、根据脸部图像识别唇部;
步骤T3、根据识别出的唇部提取唇部关键点;
步骤T4、跟踪唇部关键点的变化,得到每帧图像中关键点的特征向量;
步骤T5、计算关键点的特征向量与样本训练集中各个分类特征向量的欧几里德距离;
步骤T6、选择欧几里德距离最小的分类特征向量作为识别结果输出。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。