视频通话方法、系统、设备、网络模组及可读存储介质

文档序号:1172996 发布日期:2020-09-18 浏览:9次 >En<

阅读说明:本技术 视频通话方法、系统、设备、网络模组及可读存储介质 (Video call method, system, equipment, network module and readable storage medium ) 是由 王特新 于 2020-06-16 设计创作,主要内容包括:本发明提供了一种视频通话方法、系统、设备、网络模组及可读存储介质,视频通话设备与网络模组连接,网络模组接收到核心网发送的成功标识时,确定核心网注册成功时,并向视频通话设备发送对应的注册成功信息;所述视频通话设备接收到所述网络模组发送的注册成功信息时,获取第一音视频数据,并对所述第一音视频数据进行预处理,得到第一网络数据包;所述视频通话设备将所述第一网络数据包发送至所述网络模组;所述网络模组接收所述视频通话设备发送的第一网络数据包,并将所述第一网络数据包发送至所述核心网。本发明可通过外接的网络模组进行核心网注册和音视频数据的发送,从而实现VoLTE视频通话。(The invention provides a video call method, a system, equipment, a network module and a readable storage medium, wherein the video call equipment is connected with the network module, and when the network module receives a success identifier sent by a core network and determines that the core network is successfully registered, the network module sends corresponding registration success information to the video call equipment; when the video call equipment receives the registration success information sent by the network module, first audio and video data are obtained, and the first audio and video data are preprocessed to obtain a first network data packet; the video call equipment sends the first network data packet to the network module; and the network module receives a first network data packet sent by the video call equipment and sends the first network data packet to the core network. The invention can carry out core network registration and audio-video data transmission through the external network module, thereby realizing VoLTE video call.)

视频通话方法、系统、设备、网络模组及可读存储介质

技术领域

本发明涉及计算机技术领域,特别涉及一种视频通话方法、设备及计算机可读存储介质。

背景技术

VoLTE(Voice over LTE)视频通话是指基于LTE网络进行的高清视频通话;在进行VoLTE视频通话时,往往需要通过手机内部的Modem(调制解调器)模组进行相关的处理。然而,对于电视等设备而言,其内部是没有Modem模组的,从而导致这些设备无法实现VoLTE视频通话功能。

发明内容

本发明的主要目的是提供一种视频通话方法、设备及计算机可读存储介质,旨在解决设备缺少Modem模组即无法进行VoLTE视频通话的问题。

为实现上述目的,本发明实施例提出了一种视频通话方法,所述视频通话方法应用于视频通话设备,所述视频通话设备与网络模组连接,所述视频通话方法包括以下步骤:

所述视频通话设备接收到所述网络模组发送的注册成功信息时,确定核心网注册成功;

获取第一音视频数据,并对所述第一音视频数据进行预处理,得到第一网络数据包;

将所述第一网络数据包发送至所述网络模组,以使所述网络模组将所述第一网络数据包发送至所述核心网。

可选地,所述视频通话设备包括通用串行总线USB接口,所述网络模组包括通用串行总线模组USB Dongle,所述视频通话设备通过USB接口与USBDongle连接。

可选地,所述视频通话设备接收到所述网络模组发送的注册成功信息时,确定核心网注册成功的步骤之前,还包括:

加载所述网络模组对应的指令集;

根据所述指令集向所述网络模组发送测试指令,以测试所述网络模组对应的指令通道是否正常,其中,当接收到所述网络模组反馈的正常标识时,确定所述指令通道正常;

当确定所述指令通道正常时,根据所述指令集向所述网络模组发送激活指令,以使所述网络模组根据所述激活指令激活核心网通道,其中,当检测到所述视频通话设备生成预设通道节点时,确定所述核心网通道激活完成;

当所述核心网通道激活完成时,根据所述指令集向网络模组发送注册指令,以使所述网络模组根据所述注册指令进行核心网注册。

可选地,所述视频通话设备还包括音视频采集模块,

所述获取第一音视频数据,并对所述第一音视频数据进行预处理,得到第一网络数据包的步骤之前,还包括:

通过所述网络模组与所述核心网进行编解码策略协商,确定目标编解码策略;

相应的,所述获取第一音视频数据,并对所述第一音视频数据进行预处理,得到第一网络数据包的步骤包括:

通过所述音视频采集模块获取第一音视频数据,并根据所述目标编解码策略对所述第一音视频数据进行编码,得到第一编码数据;

对所述第一编码数据进行封装打包,得到第一网络数据包。

可选地,所述通过所述网络模组与所述核心网进行编解码策略协商,确定目标编解码策略的步骤包括:

获取所述视频通话设备的编解码性能信息,并将所述编解码性能信息发送至所述网络模组,以使所述网络模组向所述核心网发送对应的第一协商请求,所述第一协商请求包括所述编解码性能信息;

当接收到所述网络模组返回的协商应答时,根据所述协商应答确定通话对象支持的编解码策略;

根据所述通话对象支持的编解码策略确定协商编解码策略,并将所述协商编解码策略发送至所述网络模组,以使所述网络模组向所述核心网发送对应的第二协商请求,所述第二协商请求包括所述协商编解码策略;

当接收到所述网络模组返回的同意应答时,将所述协商编解码策略确定为目标编解码策略。

可选地,所述通过所述网络模组与所述核心网进行编解码策略协商,确定目标编解码策略的步骤之后,还包括:

接收所述网络模组发送的第二网络数据包,并根据所述第二网络数据包获取到对应的第二编码数据,其中,所述第二网络数据包是由所述核心网发送至所述网络模组;

根据所述目标编解码策略对所述第二编码数据进行解码,得到第二音视频数据;

根据所述第二音视频数据输出对应的音视频。

此外,为实现上述目的,本发明实施例提出了一种视频通话方法,所述视频通话方法应用于网络模组,所述网络模组与视频通话设备连接,所述视频通话方法包括以下步骤:

所述网络模组接收到核心网发送的成功标识时,确定核心网注册成功,并向视频通话设备发送对应的注册成功信息,以使所述视频通话设备根据所述注册成功信息确定核心网的可用状态;

接收所述视频通话设备发送的第一网络数据包,并将所述第一网络数据包发送至所述核心网。

可选地,所述网络模组接收到核心网发送的成功标识时,确定核心网注册成功,并向视频通话设备发送对应的注册成功信息的步骤之前,还包括:

当接收到所述视频通话设备发送的测试指令时,根据所述测试指令向所述视频通话设备返回对应的正常标识,以使所述视频通话设备根据所述正常标识确定指令通道正常;

当接收到所述视频通话设备发送的激活指令时,根据所述激活指令激活核心网通道;

当接收到所述视频通话设备发送的注册指令时,根据所述注册指令、通过所述核心网通道向所述核心网进行注册。

可选地,所述当接收到所述视频通话设备发送的注册指令时,根据所述注册指令、通过所述核心网通道向所述核心网进行注册的步骤包括:

当接收到所述视频通话设备发送的注册指令时,根据所述注册指令获取获取身份信息,并根据所述身份信息、通过所述核心网通道向所述核心网发送第一注册请求;

当接收到所述核心网基于所述第一注册请求返回的未授权响应时,获取所述未授权响应中的鉴权参数信息,所述鉴权参数信息由所述核心网根据所述身份信息计算得到;

根据所述鉴权参数信息计算得到鉴权认证信息,并根据所述鉴权认证信息、通过所述核心网通道向所述核心网发送第二注册请求;

所述网络模组接收到核心网发送的成功标识时,确定核心网注册成功的步骤包括:

所述网络模组接收到所述核心网基于所述第二注册请求返回的成功标识时,确定所述核心网注册成功。

可选地,所述网络模组接收到核心网发送的成功标识时,确定核心网注册成功,并向视频通话设备发送对应的注册成功信息,以使所述视频通话设备根据所述注册成功信息确定核心网的可用状态的步骤之后,还包括:

当接收到所述核心网发送的第二网络数据包时,将所述第二网络数据包发送至所述视频通话设备。

此外,为实现上述目的,本发明实施例还提出了一种视频通话系统,所述视频通话系统包括视频通话设备,还包括与所述视频通话设备连接的网络模组;

所述网络模组接收到核心网发送的成功标识时,确定核心网注册成功时,并向视频通话设备发送对应的注册成功信息;

所述视频通话设备接收到所述网络模组发送的注册成功信息时,获取第一音视频数据,并对所述第一音视频数据进行预处理,得到第一网络数据包;

所述视频通话设备将所述第一网络数据包发送至所述网络模组;

所述网络模组接收所述视频通话设备发送的第一网络数据包,并将所述第一网络数据包发送至所述核心网。

此外,为实现上述目的,本发明实施例还提出了一种视频通话设备,所述视频通话设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的视频通话方法的步骤。

此外,为实现上述目的,本发明实施例还提出了一种网络模组,所述网络模组包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的视频通话方法的步骤。

此外,为实现上述目的,本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的视频通话方法的步骤。

本发明实施例的视频通话设备与网络模组连接,视频通话设备通过连接的网络模组进行核心网注册和音视频数据的发送,从而实现VoLTE视频通话,无需视频通话设备在内部集成Modem;此外,无需额外增加视频通话设备的内部结构,且可根据需要即插即用,使用过程简单方便,为用户提供了方便,提高了用户体验。

附图说明

图1为本发明实施例方案涉及的视频通话设备结构示意图;

图2为本发明视频通话方法第一实施例的流程示意图;

图3为本发明视频通话方法第一实施例涉及的电视与Dongle框架示意图;

图4为本发明视频通话方法第一实施例涉及的交互示意图;

图5为本发明视频通话方法第二实施例涉及的网络模组加载和核心网注册流程示意图;

图6为本发明视频通话方法第三实施例涉及的协商示意图;

图7为本发明视频通话方法第三实施例涉及的通话协商和音视频数据处理的流程示意图;

图8本发明视频通话方法第四实施例的流程示意图;

图9为本发明视频通话方法第五实施例涉及的鉴权计算示意图;

图10为本发明视频通话方法第五实施例涉及的核心网注册交互示意图;

图11为本发明视频通话方法第五实施例涉及的计算指令示意图;

图12为本发明视频通话方法第五实施例涉及的计算结果信息示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

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

需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后......),则该方向性指示仅用于解释在某一特定姿态下个部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例涉及的视频通话方法主要应用于视频通话设备,该视频通话设备可以是电视、个人电脑(PC)、平板电脑等。

参照图1,图1为本发明实施例方案中涉及的视频通话设备硬件架构示意图。本发明实施例中,视频通话设备包括处理器1001(例如中央处理器CentralProcessing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如按键(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random accessmemory,RAM),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。当然,本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定。

继续参照图1,图1中作为一种可读存储介质的存储器1005可以包括操作系统、网络通信模块以及计算机程序。在图1中,网络通信模块可用于连接网络,与网络进行数据交互;而处理器1001可以调用存储器1005中存储的计算机程序,并实现本发明实施例的视频通话方法。

本发明实施例提供了一种视频通话方法。

参照图2,图2为本发明视频通话方法第一实施例的流程示意图。

本实施例中,所述视频通话方法应用于视频通话设备,所述视频通话设备与网络模组连接,所述视频通话方法包括以下步骤:

步骤S10,所述视频通话设备接收到所述网络模组发送的注册成功信息时,确定核心网注册成功;

VoLTE(Voice over LTE)视频通话是指基于LTE网络进行的高清视频通话;在进行VoLTE视频通话时,往往需要通过手机内部的Modem(调制解调器)模组进行相关的处理。然而,对于电视等设备而言,其内部是没有Modem模组的,从而导致这些设备无法实现VoLTE视频通话功能。对此,本实施例提出一种视频通话方法,视频通话设备可连接网络模组,通过连接的网络模组进行核心网注册和音视频数据的发送,从而实现VoLTE视频通话,无需视频通话设备在内部集成Modem;此外,无需额外增加视频通话设备的内部结构,且可根据需要即插即用,使用过程简单方便,为用户提供了方便,提高了用户体验。

本实施例的视频通话方法应用于视频通话设备,该视频通话设备可以是电视、个人电脑(PC)、笔记本电脑等。为说明方便,本实施例中以“电视”作为视频通话设备进行说明。本实施例中,该电视是基于Linux系统的智能电视,可安装若干的应用(Application);电视还包括有外接设备用的接口,接口的形式可以根据实际需要设置,例如可以是串行接口、串行通讯接口、通用串行总线USB接口等;通过这些接口,电视可外接其它的设备,如外接摄像头、外接麦克风、外接鼠标键盘等。本实施例中,电视通过接口与网络模组(如4G网络模组),该网络模组包括调制解调器Modem;在与网络模组连接后,电视将向网络模组发送相关指令,以使网络模组向IMS核心网进行注册(也可认为是电视通过网络模组进行核心网注册)。当网络模组注册成功时,将会向电视发送对应的注册成功信息;而电视在接收到网路欧模组发送的注册成功信息时,可根据该注册成功信息确定核心网注册成功,也即获得了核心网的使用权限,从而可以利用核心网实现VoLTE视频通话。

进一步的,本实施例中,电视(视频通话设备)包括通用串行总线USB接口,所述网络模组包括通用串行总线模组USB Dongle,电视可以是通过USB接口的方式与USB Dongle连接的,USB接口具有供电简单(可总线供电)、安装配置便捷(支持即插即用和热插拔)、扩展端口简易(通过集线器最多可扩展127个外设)、传输方式多样化(4种传输模式),以及兼容良好(产品升级后向下兼容)等优点。为说明方便,在后续描述中,网络模组以Dongle为例进行说明。具体的,可参见图3,图3为电视(TV)与Dongle的框架示意图;Dongle包括Modem,当Dongle接入(***)电视的USB接口时,电视的内核层Linux kernel将会生成一预设设备节点,如ttyACM/ttyUSB;对此,电视可对内核的设备节点生成情况进行检测,当检测到视频通话设备生成预设设备节点时,可确定USB接口有Dongle接入,也即与Dongle建立连接。此时电视即可通过Dongle进行核心网注册。值得说明的是,Dongle在接入电视后,还可以是先进行其它处理,如指令通道测试、核心网通道eth激活等,然后再进行核心网注册;这些处理可以是Dongle连接后自动进行,也可以是根据电视发送的指令进行。

步骤S20,获取第一音视频数据,并对所述第一音视频数据进行预处理,得到第一网络数据包;

本实施例中,当电视确定核心网注册成功时,电视即可利用核心网实现VoLTE视频通话。值得说明的是,在电视利用核心网实现VoLTE视频通话,是指电视利用核心网与另一通话对象进行视频通话,核心网在该过程中实现数据转发的功能,而视频通话对象可以是手机,又或者是另一台连接Dongle的电视等,为说明方便,后续描述中视频通话对象以手机为例进行说明。具体的,继续参照图3,当核心网注册成功时,电视Library层(例如库层、静态库和动态库)中的Tril模块会向Application framework层的电话Telephone模块发送相关的注册成功消息,Telephone模块则会根据该消息进行状态记录,后续Application层应用可根据该状态记录获知核心网注册成功。当电视的某一应用或某一模块(如Telephone模块)要实现视频通话功能时,可调用的Ethernet模块查看核心网是否注册成功,若注册成功,调用摄像头、麦克风等设备进行图像、声音的采集,获取到音视频数据,为说明方便,该音视频数据可称为第一音视频数据。在得到第一音视频数据时,对第一音视频数据进行相关的预处理,例如对通过MediaCodec模块第一音视频进行编码、封装打包等处理,以使第一音视频数据符合一定的网络传输规则和/或符合手机的编解码规则,得到对应的第一网络数据包。

步骤S30,将所述第一网络数据包发送至所述网络模组,以使所述网络模组将所述第一网络数据包发送至所述核心网。

本实施例中,电视在得到第一网络数据包时,将第一网络数据包发送至Dongle,以使Dongle将第一网络数据包发送至核心网。核心网在收到该第一网络数据包时,会将第一网络数据包发送至手机(电视的视频通话对象);手机在接收到该第一网络数据包时,可根据第一网络数据包输出对应的音视频,从而可以在手机端看到电视端采集的声音和图像。当然,手机也可以采集相关的声音和图像,得到音视频数据,该音视频数据可称为第二音视频数据,然后对第二音视频数据进行预处理得到第二网络数据包,再该第二网络数据包发送给核心网,由核心网转发至Dongle;Dongle接收后到第二网络数据包后会将其发送给电视;电视得到第二网络数据包后,可根据第二网络数据包输出对应的音视频,从而也可以在电视端看到手机端采集的声音和图像。

值得说明的是,电视通过Dongle(转发)与核心网进行数据交换,但交互的过程依然可以是基于现有的标准协议进行;换而言之,对核心网而言,无需对自身的通信逻辑或通信协议进行修改,且核心网可认为是与电视进行交互,Dongle在该过程主要起到数据转发的功能。具体的,可参照图4,图4为电视和核心网基于SIP(Session Initiation Protocol,会话初始协议)的交互示意图,电视首先要通过Dongle终端进行IMS核心网(LTE)注册;注册成功后,电视(通过Dongle,下同)向核心网发起VoLTE音视频通话SIP INVITE请求;核心网收到后,会根据SIP返回100Trying消息,表示请求已经到达,正在处理中,在处理后,会返回180Ringing消息,表示INVITE消息已经送到手机(视频通话对象,或称为被叫端),手机正在振铃中;而当手机同意视频时(摘机),会向核心网发送相关消息,核心网则会向电视返回200OK消息,表示手机同意视频(摘机);电视收到该200OK消息后,将向核心网发送ACK消息,表示确认视频(确认摘机);此时,电视即可与核心网进行音视频的RTP流传输,也即通过核心网与手机进行视频通话。

本实施例中,视频通话设备与网络模组连接,所述视频通话设备接收到所述网络模组发送的注册成功信息时,确定核心网注册成功;获取第一音视频数据,并对所述第一音视频数据进行预处理,得到第一网络数据包;将所述第一网络数据包发送至所述网络模组,以使所述网络模组将所述第一网络数据包发送至所述核心网。通过以上方式,视频通话设备通过连接的网络模组进行核心网注册和音视频数据的发送,从而实现VoLTE视频通话,无需视频通话设备在内部集成Modem;此外,无需额外增加视频通话设备的内部结构,且可根据需要即插即用,使用过程简单方便,为用户提供了方便,提高了用户体验。

基于上述视频通话方法第一实施例,提出本发明视频通话方法第二实施例。

本实施例中,所述步骤S10之前,还包括:

步骤S40,加载所述网络模组对应的指令集;

本实施例中是通过连接的Dongle(网络模组)进行核心网注册,因此对电视而言需要与Dongle进行数据交互,例如发送和接收相关指令等;为了方便电视和Dongle双方的交互,可预先设置一指令集,如AT(Attention)指令集,该指令集中包括有标准化的指令,这些指令是字符串的形式;当需要向Dongle发送相关操作指令时,可基于该指令集进行发送,从而提高交互的效率。因此,电视首先要加载Dongle所对应的指令集,以便根据该指令集和交互需要向Dongle发送对应的指令。当然,在实际应用中,不同的Dongle可能是设置了不同的指令集,例如,不同Dongle供应商所供应的Dongle,是使用了不同的指令集;又例如,不同型号的Dongle,是使用了不同的指令集。对此,电视为了加载正确的指令集,首先可获取Dongle的模组识别信息,模组识别信息可以包括供应商ID(VID)、产品识别码(PID)等信息,这些模组识别信息可以是记录Dongle内部;然后根据Dongle的模组识别信息识别出Dongle的类型,再根据Dongle的类型加载对应的指令集。通过这样的方式,可避免指令集加载错误导致后续无法正常向Dongle发送处理指令。

步骤S50,根据所述指令集向所述网络模组发送测试指令,以测试所述网络模组对应的指令通道是否正常,其中,当接收到所述网络模组反馈的正常标识时,确定所述指令通道正常;

本实施例中,Dongle在接入USB接口后,若电视与Dongle之间的指令通道不正常,两者也无法进行数据交互;对此,在加载指令集后,电视会根据所述指令集测试Dongle对应的指令通道是否正常,如果指令通道正常,电视才会与Dongle进行其它的数据交互。具体的,电视从指令集选取一测试指令并发送至Dongle,若指令通道正常,Dongle将会接收到该测试指令,并向电视发送对应的正常标识(如OK标识),而电视接收到该正常标识时,即可确定指令通道正常,电视可与Dongle正常进行数据交互;而若电视未接收到Dongle反馈的正常标识,则确定测试通道异常,此时电视可输出相关提示,以提示用户进行对Dongle的***情况或电视本身进行检查。当然,电视在发送测试指令时,还可以进行计时,以获取从测试指令发送到接收到正常标识的时段的测试时长,然后将这段测试时长与一时长阈值进行比对,若测试长小于时长阈值,则可确定指令通道正常,而若长时间未能接收到正常标识、或者是测试时长大于或等于时长阈值,则可确定指令通道异常。通过以上方式,在加载指令集后,电视会根据所述指令集测试Dongle对应的指令通道是否正常,如果指令通道正常,电视才会与Dongle进行其它的数据交互,避免指令通道异常导致的视频通话失败等情况发生。

步骤S60,当确定所述指令通道正常时,根据所述指令集向所述网络模组发送激活指令,以使所述网络模组根据所述激活指令激活核心网通道,其中,当检测到所述视频通话设备生成预设通道节点时,确定所述核心网通道激活完成;

本实施例中,当确定指令通道正常时,电视会根据所述指令集和Dongle进行核心网通道eth的激活,以便后续通过激活的核心网通道与核心网进行数据交互(该核心网可以是IMS核心网),也即通过核心网通道将本地的数据发送至核心网,由核心网转发给视频通话的通话对象,当然也可通过核心网通道接收核心网发送的视频通话对象的通话数据。具体的,当确定指令通道正常时,电视将从指令集中选取一激活指令,并将该激活指令发送给Dongle;Dongle在接收到该激活指令时,将与核心网进行交互,激活核心网通道;当激活成功时,电视的内核(Linux kernel)会生成核心网通道对应的通道节点,如ethX(X可取1、2、3...),换而言之,当检测到电视生成该通道节点时,即可确定核心网通道激活完成。在进行核心网通道激活时,需要指定一些通道参数信息,例如通道的序号、apn(接入点名称,Access Point Name)、接入方式等;对于这些参数信息,电视可以是在发送激活指令时一起发送,如Dongle是移动4G网络模组,电视发送的激活指令为“AT+CGDCONT=2,"IPv6","IMS"”,该激活指令的含义为要激活通道eth2,apn为IMS,以IPv6的方式激活;Dongle在获取到该激活指令时,将根据该激活指令的内容与核心网进行交互,从而激活对应的核心网通道。当然,在实际应用中,指令的内容可能会有所区别,指令的形式也可以变化。

步骤S70,当所述核心网通道激活完成时,根据所述指令集向网络模组发送注册指令,以使所述网络模组根据所述注册指令进行核心网注册;

本实施例中,当核心网通道激活完成时,电视将通过Dongle进行核心网注册。具体的,电视将从指令集选取一注册指令,并将该注册指令发送给Dongle;Dongle在接收到该注册指令时,将与核心网进行交互,进行核心网注册。值得说明的是,在核心网注册过程中,核心网可能需要对Dongle(或电视)进行鉴权(AKA鉴权),也即验证电视(或是电视的用户)是否拥有访问核心网、利用核心网完成实现某种功能(或业务)的权利,当然,由于Dongle中包括Modem,因此鉴权具体交互也可以是在Dongle与核心网之间进行。其中,该鉴权的过程,可以是基于自定义的鉴权进行,例如Dongle通过核心网通道向核心网发送账户密码,然后对账户密码进行验证,若该账户密码与预存的一致,则鉴权成功;该鉴权的过程,也可以是基于已有的标准鉴权机制进行,如基于3GPP定义的标准无线鉴权机制,读取并计算相关注册参数(或鉴权参数),然后根据这些参数进行注册(鉴权)等。在鉴权成功时,核心网会向Dongle返回对应的成功标识;Dongle根据该成功标识确定核心网注册成功,并向电视发送对应的注册成功信息,此时即进入步骤S10。

进一步的,为理解方便,可参照图5,图5为本实施例的网络模组加载和核心网注册流程示意图。当电视的USB接口***Dongle后,可发送AT+OK指令至Dongle以测试指令通道是否正常;若接收Dongle反馈的正常标识OK,电视发送激活指令至Dongle,以使Dongle拨号激活核心网通道eth,而若未接收到正常标识,则可继续进行测试,又或者是输出指令通道异常提示;当核心网通道激活时,电视发送注册指令至Dongle,以使Dongle进行核心网注册,注册的过程需要读取计算相关注册参数,并根据这些参数向核心网发起注册请求,当注册成功时,即可进行后续视频通话。

本实施例中,电视实现了对网络模组的加载使用和核心网注册,获得了核心网的使用权限,从而可以利用核心网实现VoLTE视频通话。

基于上述视频通话方法第一或第二实施例,提出本发明视频通话方法第三实施例。

本实施例中,所述视频通话设备还包括音视频采集模块,步骤S20之前,还包括:

步骤S80,通过所述网络模组与所述核心网进行编解码策略协商,确定目标编解码策略;

由于视频通话过程,电视是要将本地的音视频数据传输核心网,再由核心网转发到手机(视频通话对象)进行播放,而电视和手机双方的编解码方式可能具有区别,因此双方需要先进行协商,以确定目标编解码策略,避免双方因编解码方式不兼容导致的音视频输出异常。当然,该协商过程的数据交互是通过核心网进行转发,因此也可认为是电视通过Dongle与核心网进行编解码策略协商,确定目标编解码策略。

进一步的,所述步骤S80包括:

步骤S81,获取所述视频通话设备的编解码性能信息,并将所述编解码性能信息发送至所述网络模组,以使所述网络模组向所述核心网发送对应的第一协商请求,所述第一协商请求包括所述编解码性能信息;

本实施例中,当核心网注册成功时,电视将获取电视本身的编解码性能信息,根据该编解码性能信息,可确定电视所支持的编解码策略,该编解码策略包括支持的媒体类型和编解码方案,例如编解码性能信息包括芯片型号,而电视芯片型号为MT9652,根据该芯片型号可确定电视支持H264,H265等一些视频格式及相关的编解码方案;然后,电视将编解码性能信息发送至Dongle,以使Dongle向核心网发送第一协商请求;其中,第一协商请求中包括编解码性能信息,还可以包括电视所支持的编解码策略。而核心网在收到该第一协商请求时,可将该第一协商请求发送给手机;手机在收到后,会向核心网返回对应的协商应答,该协商应答包括有手机的编解码性能信息、手机所支持的编解码策略等内容;核心网则可将该协商应答返回给Dongle,再由Dongle将该协商应答返回至电视。

步骤S82,当接收到所述网络模组返回的协商应答时,根据所述协商应答确定通话对象支持的编解码策略;

电视在接收到Dongle返回的协商应答时,即可根据协商应答确定手机支持的编解码策略。

步骤S83,根据所述通话对象支持的编解码策略确定协商编解码策略,并将所述协商编解码策略发送至所述网络模组,以使所述网络模组向所述核心网发送对应的第二协商请求,所述第二协商请求包括所述协商编解码策略;

电视在确定手机支持的编解码策略时,电视即可根据手机支持的编解码策略、以及自身的编解码性能(自身所支持的编解码策略)确定协商编解码策略,该协商编解码策略为电视和手机均支持(或兼容)的媒体类型和编解码方案。然后电视将该协商编码策略发送至Dongle,以使Dongle向核心网发送第二协商请求,该第二协商请求包括协商编解码策略。核心网在收到该第二协商请求时,可将该第二协商请求发送给手机;手机在收到后,若同意双方后续以该方式对通话数据进行编解码,则可回复对应的同意应答至核心网;核心网则可将该同意应答返回给Dongle,再由Dongle将该同意应答返回至电视。

步骤S84,当接收到所述网络模组返回的同意应答时,将所述协商编解码策略确定为目标编解码策略。

电视在接收到核心网返回的同意应答时,即可将所述协商编解码策略确定为目标编解码策略,后续与手机的视频通话过程,都将根据该目标编解码策略对音视频数据进行编辑码。

值得说明的是,上述过程,虽然是电视通过Dongle进行协商,但对核心网或手机而言,电视和Dongle可认为是一个主叫UE整体在进行协商,而手机则是一个被叫UE,因而上述协商过程也可认为是主叫UE和被叫UE的协商过程,具体可参见图6,图6为主叫UE和被叫UE的协商示意图(核心网已省略)。主叫UE向被叫UE发送INVITE请求,该请求包括所希望媒体类型与所有编码方案(也即电视自身支持的编解码策略);被叫UE向主叫UE返回对应的183会话应答,与主叫UE进行协商,该183会话应答也即协商应答,其中包括被叫UE支持的媒体类型和编码方案;主叫UE则根据协商应答向被叫UE发送PRACK,其中包括了双方协商的媒体类型和编码方案;被叫UE若确认无误,则向主叫UE返回对应的200OK消息,即对所协商媒体类型和编码方案进行确认。

通过以上方式,实现了电视和手机双方编解码方式的协商,确定目标编解码策略,避免双方因编解码方式不兼容导致的音视频输出异常。

相应的,所述步骤S20包括:

步骤S21,通过所述音视频采集模块获取第一音视频数据,并根据所述目标编解码策略对所述第一音视频数据进行编码,得到第一编码数据;

本实施例中,编解码策略协商完成时,电视即可通过音视频采集模块获取第一音视频数据,例如,电视通过Camera(摄像),Speaker(麦克风)等模块,调用电视的摄像头以及麦克风,通过摄像头采集图像、通过麦克风采集声音,从而得到第一音视频数据;其中,摄像头和麦克风可以是设置在电视本体,也可以是电视外接的设备(如通过USB接口外接的)。电视在获得第一音视频数据时,将调用相关的编码模块(如MediaCodec模块),根据协商的目标编解码策略对第一音视频数据进行编码,得到第一编码数据。

步骤S22,对所述第一编码数据进行封装打包,得到第一网络数据包;

由于视频通话是借助核心网进行网络传输,因此传输的数据需要满足一定的网络传输协议。对此,本实施例在得到第一编码数据时,电视还将对第一编码数据进行封装打包,得到第一网络数据包;该封装打包的过程可以是将第一编码数据分割成若干个IP数据包(或认为是若干个IP数据片段),当然每个IP数据包还可以是具有一定的格式,例如IP数据包的包头是设置为某一范式等。

对于上述通话协商和音视频数据处理过程,为说明方便,可参见图7,图7为电视通话协商和音视频数据处理的流程示意图。在核心网注册成功后,电视可进行视频电话拨打(或作为被叫方接听),在拨打时首先会确认核心网通道是否已激活,当已激活时电视即可与手机协商通话参数,也即确定目标编解码策略;然后,电视可通过摄像头获取相关数据并进行编码,得到视频音频数据,再对视频音频数据进行打包,进而得到对应的网络数据包。

本实施例中,在得到第一网络数据包时,电视将第一网络数据包发送至Dongle,由Dongle将第一网络数据包发送至核心网;核心网在接收到第一网络数据包时,会将第一网络数据包转发给手机;手机可根据第一网络数据包提取得到原来的第一编码数据,再根据目标编解码策略对第一编码数据进行解码,得到原来的第一音视频数据,再根据第一音视频数据输出对应的音视频,从而可在手机输出电视采集的图像和声音。

值得说明的是,电视在通过Dongle向核心网发送音视频数据的同时,也会通过Dongle接收核心网发送的音视频数据,然后根据该音视频数据输出音视频。具体的,所述步骤S80之后,还包括:

步骤S90,接收所述网络模组发送的第二网络数据包,并根据所述第二网络数据包获取到对应的第二编码数据,其中,所述第二网络数据包是由所述核心网发送至所述网络模组;

本实施例中,电视协商确定目标编解码策略时,手机(通话对象)也确定了目标编解码策略。对此,手机也可以进行音视频数据的采集,为了描述方便,手机采集的音视频数据称为第二音视频数据;然后手机根据目标编解码策略对第二音视频数据进行编码,得到第二编码数据,再对第二编码数据进行封装打包,得到第二网络数据包,然后将该第二网络数据包发送至核心网。核心网在接收到第二网络数据包时,将该第二网络数据包转发给Dongle。Dongle在收到第二网络数据包时会转发给电视;当电视通过Dongle获取到第二网络数据包时,电视会从第二网络数据包获取到对应的第二编码数据。

步骤S100,根据所述目标编解码策略对所述第二编码数据进行解码,得到第二音视频数据;

电视在得到第二编码数据时,将根据目标编码策略对第二编码数据进行解码,得到原来的第二音视频数据。

步骤S110,根据所述第二音视频数据输出对应的音视频。

电视在得到第二音视频数据时,将根据第二音视频数据输出对应的音视频,从而可在电视输出手机采集的图像和声音。

通过上述方式,电视可将采集的音视频数据发送至手机进行播放,手机也可将采集的音视频数据发送至电视进行播放,实现了视频通话。

本发明实施例涉及的视频通话方法还可应用于网络模组,该网络模组可以包括处理器、存储器,还包括有modem。其中,存储器可以包括操作系统、网络通信模块以及计算机程序。在图1中,网络通信模块可用于连接网络,与网络进行数据交互;而处理器可以调用存储器中存储的计算机程序,并实现本发明实施例的视频通话方法。

基于上述网络模组的架构说明,提出本发明视频通话方法第四实施例。

参照图8,图8本发明视频通话方法第四实施例的流程示意图。

本实施例的视频通话方法应用于网络模组,所述网络模组与视频通话设备连接,所述视频通话方法包括:

步骤S120,所述网络模组接收到核心网发送的成功标识时,确定核心网注册成功,并向视频通话设备发送对应的注册成功信息,以使所述视频通话设备根据所述注册成功信息确定核心网的可用状态;

本实施例可认为是在网络模组的角度描述视频通话的过程,具体原理可与上述第一至第三实施例参照理解;网络模组同样以USB Dongle为例,视频通话设备以电视为例,Dongle通过电视的USB的接口与电视连接。当Dongle接入(***)电视的USB接口时,电视的内核层Linux kernel将会生成一预设设备节点,如ttyACM/ttyUSB;对此,电视可对内核的设备节点生成情况进行检测,当检测到视频通话设备生成预设设备节点时,可确定USB接口有Dongle接入,也即与Dongle建立连接。Dongle在连接电视后,可根据电视的注册指令进行核心网注册(当然在注册前还可以先进行指令通道测试、核心网通道eth激活等)。而在注册成功时,核心网会向Dongle发送对应的成功标识;Dongle在接收到该成功标识时,即可确定核心网注册成功,并向地那是发送注册成功信息,以使电视确定核心网的可用状态。电视在得到核心网注册成功时,即可进行音视频数据的采集和编码封包等预处理,得到第一网络数据包,再将该第一网络数据包发送至Dongle。

步骤S130,接收所述视频通话设备发送的第一网络数据包,并将所述第一网络数据包发送至所述核心网。

本实施例中,Dongle在接收到电视发送的第一网络数据包时,可将第一网络数据包括发送至核心网;核心网在收到该第一网络数据包时,会将第一网络数据包发送至手机(电视的视频通话对象);手机在接收到该第一网络数据包时,可根据第一网络数据包输出对应的音视频,从而可以在手机端看到电视端采集的声音和图像。当然,手机也可以采集相关的声音和图像,得到音视频数据,该音视频数据可称为第二音视频数据,然后对第二音视频数据进行预处理得到第二网络数据包,再该第二网络数据包发送给核心网,由核心网转发至Dongle;Dongle接收后到第二网络数据包后会将其发送给电视;电视得到第二网络数据包后,可根据第二网络数据包输出对应的音视频,从而也可以在电视端看到手机端采集的声音和图像。

本实施例中,网络模组与视频通话设备连接,视频通话设备通过连接的网络模组进行核心网注册和音视频数据的发送,从而实现VoLTE视频通话,无需视频通话设备在内部集成Modem;此外,无需额外增加视频通话设备的内部结构,且可根据需要即插即用,使用过程简单方便,为用户提供了方便,提高了用户体验。

基于上述视频通话方法第四实施例,提出本发明视频通话方法第五实施例。

本实施例中,所述步骤S120之前,还包括:

步骤S140,当接收到所述视频通话设备发送的测试指令时,根据所述测试指令向所述视频通话设备返回对应的正常标识,以使所述视频通话设备根据所述正常标识确定指令通道正常;

本实施例中,Dongle与电视连接之后,电视会先测试两者之间的指令通道是否正常,如果指令通道正常,电视才会与Dongle进行其它的数据交互。具体的,电视从指令集选取一测试指令并发送至Dongle,若指令通道正常,Dongle将会接收到该测试指令,并向电视发送对应的正常标识(如OK标识),而电视接收到该正常标识时,即可确定指令通道正常,电视可与Dongle正常进行数据交互;而若电视未接收到Dongle反馈的正常标识,则确定测试通道异常,此时电视可输出相关提示,以提示用户进行对Dongle的***情况或电视本身进行检查。

步骤S150,当接收到所述视频通话设备发送的激活指令时,根据所述激活指令激活核心网通道;

当确定指令通道正常时,电视将从指令集中选取一激活指令,并将该激活指令发送给Dongle;Dongle在接收到该激活指令时,将与核心网进行交互,激活核心网通道;当激活成功时,电视的内核(Linux kernel)会生成核心网通道对应的通道节点,如ethX(X可取1、2、3...),换而言之,当检测到电视生成该通道节点时,即可确定核心网通道激活完成。

步骤S160,当接收到所述视频通话设备发送的注册指令时,根据所述注册指令、通过所述核心网通道向所述核心网进行注册。

当核心网通道激活完成时,电视将从指令集选取一注册指令,并将该注册指令发送给Dongle;Dongle在接收到该注册指令时,将与核心网进行交互,进行核心网注册。值得说明的是,在核心网注册过程中,核心网可能需要对Dongle(或电视)进行鉴权(AKA鉴权),也即验证Dongle(或是电视)是否拥有访问核心网、利用核心网完成实现某种功能(或业务)的权利,当然,由于Dongle中包括Modem,因此鉴权具体交互是在Dongle与核心网之间进行。其中,该鉴权的过程,可以是基于自定义的鉴权进行,例如Dongle通过核心网通道向核心网发送账户密码,然后对账户密码进行验证,若该账户密码与预存的一致,则鉴权成功;该鉴权的过程,也可以是基于已有的标准鉴权机制进行,如基于3GPP定义的标准无线鉴权机制,读取并计算相关注册参数(或鉴权参数),然后根据这些参数进行注册(鉴权)等。在鉴权成功时,核心网会向Dongle返回对应的成功标识;Dongle根据该成功标识确定核心网注册成功,并向电视发送对应的注册成功信息,此时即进入步骤S110。

进一步的,所述步骤S160包括:

步骤S161,当接收到所述视频通话设备发送的注册指令时,根据所述注册指令获取获取身份信息,并根据所述身份信息、通过所述核心网通道向所述核心网发送第一注册请求;

本实施例中,Dongle进行核心网注册的过程,核心网会进行鉴权处理。具体的,Dongle中可以包括sim卡(Subscriber Identity Module,用户识别卡),该sim卡可以是实体卡的形式,也可以是虚拟卡(esim);sim卡中记录有身份信息,包括impi、domain、impu等。Dongle在接收到电视发送的注册指令时,将根据该注册指令获取身份信息,并根据所述身份信息、通过所述核心网通道向所述核心网发送第一注册请求(第一个SIP register),第一注册请求中包括了身份信息。当然,在实际中,也可以是Dongle在接收到电视发送的注册指令时,将根据该注册指令获取身份信息,并向电视返回该身份信息;而电视再根据该身份信息从指令集中选取第一发送指令,并向Dongle发送该第一发送指令,以使Dongle根据该第一发送指令向核心网发起第一注册请求。

步骤S162,当接收到所述核心网基于所述第一注册请求返回的未授权响应时,获取所述未授权响应中的鉴权参数信息,所述鉴权参数信息由所述核心网根据所述身份信息计算得到;

核心网在接收到第一注册请求时,由于该用户信息之前未鉴权,因此不会立即返回成功标识(即不会立即允许注册);核心网将根据身份信息计算出相关的鉴权参数信息(如RAND,AUTH信息),并根据鉴权参数信息计算得到对应的鉴权认证信息,然后根据这些鉴权参数信息向Dongle返回对应的未授权响应(401Unauthorized响应),未授权响应中包括了核心网计算得到的鉴权参数信息;值得说明的是,核心网计算得到的鉴权认证信息并不会发送给Dongle。Dongle接收到核心网基于第一注册请求返回的未授权响应时,可获取未授权响应中的鉴权参数信息。

步骤S163,根据所述鉴权参数信息计算得到鉴权认证信息,并根据所述鉴权认证信息、通过所述核心网通道向所述核心网发送第二注册请求;

Dongle得到鉴权参数信息,然后根据鉴权参数信息计算得到鉴权认证信息,具体计算的过程,可以Dongle是以某一特定的算法,对鉴权参数信息进行相关异或运算、字符串串接等处理,从而得到鉴权认证信息,例如参见图9,图9为鉴权计算示意图,该计算过程可以是基于开源Milenage算法的F1-F5进行,包括MAC、XRES、CK、AK、AV等参数的计算,其中,⊕表示按位异或,∥表示串接。Dongle在计算得到鉴权认证信息时,将根据计算得到的鉴权认证信息、通过核心网通道向核心网发送第二注册请求(第二个SIPregister),第二注册请求中包括Dongle计算得到的鉴权认证信息。

所述步骤S120包括:

步骤S121,所述网络模组接收到所述核心网基于所述第二注册请求返回的成功标识时,确定所述核心网注册成功。

核心网在接收到Dongle发送的第二注册请求时,会将其中的鉴权认证信息(Dongle计算得到的)与自己计算得到的鉴权认证信息进行比对,若两者一致,则鉴权成功,并向Dongle返回对应的成功标识(200OK响应);若两者不一致,则鉴权失败,并向Dongle返回对应的失败标识。当所述Dongle接收到核心网基于所述第二注册请求返回的成功标识时,确定鉴权成功,也即核心网注册成功,此时Dongle还可向电视发送对应的注册成功信息,以使电视确定核心网的可用状态。

通过以上方式,Dongle实现了加载和核心网注册,获得了核心网的使用权限,从而可以利用核心网实现VoLTE视频通话。

值得说明的是,上述过程中,Dongle是自动进行鉴权参数信息获取和鉴权认证信息计算的过程,而在实际中,也可以是根据电视发送的指令进行。具体的,参见图10,图10为核心网注册(鉴权)交互示意图,核心网通道激活完成时,电视向Dongle发送注册指令,Dongle根据该注册指令向IMS核心网发送第一注册请求(第一个SIP register),第一注册请求中包括了身份信息,该身份信息存储于Dongle中。由于该用户信息之前未鉴权,因此核心网将向Dongle返回未授权响应(401Unauthorized响应),包括了核心网计算得到的鉴权参数信息(如RAND、AUTH);Dongle在接收到未授权响应后,是直接返回给电视,由电视从未授权响应中获取到鉴权参数信息;然后电视再根据鉴权参数信息向Dongle发送对应的计算指令,如图11所示,图11为电视发送的计算指令示意图,该计算指令中包括鉴权参数信息(RAND、AUTH),还包括了AT命令。Dongle根据该计算指令计算得到鉴权认证信息,并向电视返回对应的计算结果信息(包括鉴权认证信息),如图12所示,图11为Dongle返回的计算结果信息示意图,该计算结果信息中包括鉴权认证信息(如Res、IK、CK)。电视得到Dongle计算的鉴权认证信息后,再向Dongle发送对应的第二发送指令,以使Dongle根据该第二发送指令向核心网发起第二注册请求(第二个SIP register)。核心网在接收到Dongle发送的第二注册请求时,会将其中的鉴权认证信息(Dongle计算得到的)与自己计算得到的鉴权认证信息进行比对,若两者一致,则鉴权成功,并向Dongle返回对应的成功标识(200OK响应),此时Dongle将向电视发送对应的注册成功信息,以使电视确定核心网的可用状态。而对于鉴权所用的一些信息,电视可依据这些信息进行相关的设置,例如电视可将IK、CK用作IPSec SA的加密密钥以及完整性密钥,电视可根据这些密钥设置互联网安全协议IPSec策略,然后基于该IPSec策略进行后续数据处理。

此外,本发明实施例还提供一种视频通话系统,所述视频通话系统包括视频通话设备,还包括与所述视频通话设备连接的网络模组;

所述网络模组接收到核心网发送的成功标识时,确定核心网注册成功时,并向视频通话设备发送对应的注册成功信息;

所述视频通话设备接收到所述网络模组发送的注册成功信息时,获取第一音视频数据,并对所述第一音视频数据进行预处理,得到第一网络数据包;

所述视频通话设备将所述第一网络数据包发送至所述网络模组;

所述网络模组接收所述视频通话设备发送的第一网络数据包,并将所述第一网络数据包发送至所述核心网。

其中,视频通话设备和网络模组的具体功能实现可参照本发明视频通话方法的各个实施例,此处不再赘述。

此外,本发明实施例还提供一种计算机可读存储介质。

本发明计算机可读存储介质上存储有计算机程序,其中所述计算机程序被处理器执行时,实现如上述的视频通话方法的步骤。

其中,计算机程序被执行时所实现的方法可参照本发明视频通话方法的各个实施例,此处不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:扁平化视频会议智能调度管理方法、系统

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类