一种多方会话方法及家庭网关机顶盒一体机与流程

文档序号:16520065发布日期:2019-01-05 09:54阅读:272来源:国知局
一种多方会话方法及家庭网关机顶盒一体机与流程

本发明涉及通信技术领域,尤其涉及一种多方会话方法及家庭网关机顶盒一体机。



背景技术:

家庭网关是连接家庭内部网络和外界的桥梁,涉及宽带接入、家庭内部联网、公网访问、网络安全、服务质量(qualityofservice,简称qos)等诸多功能。其中的宽带语音(voiceoverinternetprotocol,简称voip)功能是将模拟信号(voice)数字化,以数据封装包(datapacket)的形式在ip网络上实时传递,即利用ip技术来传递语音数据进而实现电话通讯。

交互式网络电视(iptv)是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。利用计算机或机顶盒和数字电视完成接收视频点播节目、视频广播等相关功能。

家庭网关机顶盒一体机既包括家庭网关又包括机顶盒,两者通过单板拼接而成,因此家庭网关机顶盒既可以通过voip实现宽带语音业务,又可以观看iptv节目。但是现阶段的一体机的家庭网关硬件资源较弱,无法支持多路音频处理,因此无法支持多路终端同时进行多方会话。



技术实现要素:

本发明提供一种多方会话方法及家庭网关机顶盒一体机,家庭网关与机顶盒协同工作,实现多方会话。

第一方面,本发明提供一种多方会话方法,包括:

家庭网关在参与会话的本地终端与参与终端均接入完成时,统计参与会话的通话数量;

所述家庭网关在统计出所述通话数量大于预设值,且确认机顶盒资源空闲时,向机所述顶盒发送控制指令;

所述机顶盒根据所述控制指令在本地创建用于处理媒体数据的处理资源;

所述家庭网关在接收来自终端或向终端发送的媒体数据时,向所述机顶盒发送待处理的媒体数据包;

所述机顶盒接收所述待处理的媒体数据包,对所述媒体数据包中的媒体数据进行相应处理后返回所述家庭网关;

所述家庭网关将处理后的媒体数据发送目的终端,实现多方会话。

在一种可实现的实施方式中,在本发明提供的上述方法中,所述方法还包括:

所述家庭网关在统计出所述通话数量小于或等于所述预设值且未超过本地最大通话数量时,在本地创建用于处理媒体数据的处理资源;

所述家庭网关利用创建的处理资源对接收或发送的媒体数据进行相应处理;

所述家庭网关将处理后的媒体数据发送目的终端,实现多方会话。

在一种可实现的实施方式中,在本发明提供的上述方法中,所述家庭网关统计参与会话的通话数量,包括:

所述家庭网关为参与会话的各终端分配一一对应的通话标识;

根据所述通话标识的数量确定当前参与会话的通话数量。

在一种可实现的实施方式中,在本发明提供的上述方法中,所述家庭网关采用以下方式确认所述机顶盒资源是否空闲:

所述家庭网关向所述机顶盒发送探测指令;

所述机顶盒在接收到所述探测指令时,检测本地资源占用量并向所述家庭网关反馈检测结果;

所述家庭网关根据所述检测结果确认所述机顶盒资源是否空闲。

在一种可实现的实施方式中,在本发明提供的上述方法中,在所述家庭网关接收来自终端或向终端发送的媒体数据之前,所述方法还包括:

所述家庭网关在本地创建用于对媒体数据进行混音处理的混音器。

在一种可实现的实施方式中,在本发明提供的上述方法中,所述控制指令包括编解码相关参数;所述机顶盒根据所述控制指令在本地创建用于处理媒体数据的资源,包括:

所述机顶盒根据所述编解码相关参数创建编码器,以及与各路通话相对应的解码器。

在一种可实现的实施方式中,在本发明提供的上述方法中,所述家庭网关在接收来自终端或向终端发送的媒体数据时,向所述机顶盒发送待处理的媒体数据包;所述机顶盒接收所述待处理的媒体数据包,对所述媒体数据包中的媒体数据进行相应处理后返回所述家庭网关,包括:

所述家庭网关在接收到来自各参与终端的媒体数据时,生成与各路通话对应的待解码的数据包发送所述机顶盒;

所述机顶盒利用各所述解码器分别对各所述待解码的数据包中的媒体数据进行解码处理,生成与各路通话对应的解码的数据包返回所述家庭网关;

所述家庭网关利用所述混音器对各所述解码的数据包中的媒体数据进行混音处理,将混音后的媒体数据发送本地终端;

所述家庭网关在接收到本地终端发送的媒体数据时,确定所述媒体数据待发往的目的终端;

所述家庭网关利用所述混音器将所述接收的媒体数据与除所述目的终端以外的其它各路通话的媒体数据进行混音处理,生成待编码的数据包发送所述机顶盒;

所述机顶盒利用所述编码器对所述待编码的数据包中的媒体数据进行编码处理,生成编码的数据包返回所述家庭网关;

所述家庭网关将所述编码的数据包中的媒体数据发送至所述目的终端。

在一种可实现的实施方式中,在本发明提供的上述方法中,所述家庭网关与机顶盒间传递的数据包采用定制二层帧封装格式;

所述机顶盒在接收到采用定制二层帧封装格式的数据包时,将该数据包直接转发至处理器。

在一种可实现的实施方式中,在本发明提供的上述方法中,所述预设值为3-5。

第二方面,本发明提供一种家庭网关机顶盒一体机,包括:家庭网关以及与所述家庭网关通信连接的机顶盒;所述家庭网关机顶盒一体机执行上述任一多方会话方法。

本发明提供的上述多方会话方法及家庭网关机顶盒一体机,家庭网关在参与会话的本地终端与参与终端均接入完成时,统计参与会话的通话数量;在统计出通话数量大于预设值,且确认机顶盒资源空闲时,向机顶盒发送控制指令;机顶盒根据控制指令在本地创建用于处理媒体数据的处理资源;家庭网关在接收来自终端或向终端发送的媒体数据时,向机顶盒发送待处理的媒体数据包;机顶盒接收待处理的媒体数据包,对媒体数据包中的媒体数据进行相应处理后返回家庭网关;家庭网关将处理后的媒体数据发送目的终端,实现多方会话。考虑到机顶盒的芯片处理能力优于家庭网关在的芯片处理能力,因此在确认接入会话的通话数量大于预设值时,家庭网关会确认机顶盒的资源是否空闲,当机顶盒的资源空闲时,在机顶盒创建用于处理媒体数据的处理资源,并在需要对媒体数据进行处理时,将媒体数据发送机顶盒进行相应处理后返回家庭网关,再由家庭网关发送目的终端,由此既可以充分利用机顶盒资源,又可以支持超多路的音频处理,实现多方会话。

附图说明

图1为本发明实施例提供的多方会话方法的流程图之一;

图2为本发明实施例提供的多方会话方法的流程图之二;

图3为本发明实施例提供的多方会话方法的流程图之三;

图4为本发明实施例提供的多方会话方法的流程图之四;

图5为本发明实施例提供的家庭网关机顶盒一体机的结构示意图。

具体实施方式

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

下面结合附图详细介绍本发明具体实施例提供的多方会话方法及家庭网关机顶盒一体机。

如图1所示,本发明实施例提供的多方会话方法,包括:

s101、家庭网关在参与会话的本地终端与参与终端均接入完成时,统计参与会话的通话数量;

s102、家庭网关在统计出通话数量大于预设值,且确认机顶盒资源空闲时,向机顶盒发送控制指令;

s103、机顶盒根据控制指令在本地创建用于处理媒体数据的处理资源;

s104、家庭网关在接收来自终端或向终端发送的媒体数据时,向机顶盒发送待处理的媒体数据包;

s105、机顶盒接收待处理的媒体数据包,对媒体数据包中的媒体数据进行相应处理后返回家庭网关;

s106、家庭网关将处理后的媒体数据发送目的终端,实现多方会话。

在本发明实施例提供的上述多方会话方法中,考虑到机顶盒的芯片处理能力优于家庭网关在的芯片处理能力,因此在确认接入会话的通话数量大于预设值时,家庭网关会确认机顶盒的资源是否空闲,当机顶盒的资源空闲时,在机顶盒创建用于处理媒体数据的处理资源,并在需要对媒体数据进行处理时,将媒体数据发送机顶盒进行相应处理后返回家庭网关,再由家庭网关发送目的终端,由此既可以充分利用机顶盒资源,又可以支持超多路的资源处理,实现多方会话。

在具体实施时,如果家庭网关在统计出通话数量小于或等于预设值且未超过本地最大通话数量时,家庭网关还可执行如图2所示的以下步骤:

s201、在本地创建用于处理媒体数据的处理资源;

s202、利用创建的处理资源对接收或发送的媒体数据进行相应处理;

s203、将处理后的媒体数据发送目的终端,实现多方会话。

家庭网关具备进行多方会话的能力,但是由于其芯片的处理能力有限,仅能够处理有限数量通话的多方会话。在具体实施时,如果机顶盒的资源正在被占用,家庭网关需要在其能力范围之内单独完成多方会话的过程,家庭网关根据硬件的选择不同,其自身能够承受的最大通话数量也有所不同,那么当机顶盒资源被占用且当前的通话数量未超过其最大通话数量时,家庭网关可以在本地创建用于处理媒体数据的处理资源,对媒体数据进行相应处理后发送至目的终端,实现多方会话。而当通话数量已超出家庭网关能够承受的最大通话数据,则此时家庭网关无法进行通话数量过多的多方会话,此时可以提示发起会话的终端无法进行多方会话以及资源受限等消息。

进一步地,在上述的步骤s101中,家庭网关统计参与会话的通话数量,具体可以包括:

家庭网关为参与会话的各终端分配一一对应的通话标识;

根据通话标识的数量确定当前参与会话的通话数量。

家庭网关为参与会话的各终端所分配的通话标识,用于区分和定位各路通话。在具体实施时,可为每路通话分配一块内存,用于记录该路通话的相关信息,而上述的通话标识可为对应的数据区块的标识。家庭网关在检测到终端请求加入时即为该路通话分配一个通话标识,待参与会话的终端均接入结束之后,通过统计通话标识的数量即可确定出参与会话的通话数量。

进一步地,上述的步骤s102中,家庭网关采用以下方式确认机顶盒资源是否空闲:

家庭网关向机顶盒发送探测指令;

机顶盒在接收到探测指令时,检测本地资源占用量并向家庭网关反馈检测结果;

家庭网关根据检测结果确认机顶盒资源是否空闲。

在具体实施时,家庭网关与机顶盒之间可通过直连口进行数据的交互,当家庭网关需要确认机顶盒的当前资源使用情况时,可向机顶盒发送探测指令,机顶盒在接收到该探测指令时,会检测当前的资源占用情况并将结果反馈给家庭网关,此时家庭网关根据参与会话的通话数量以及机顶盒当前的资源占用量即可确定当前机顶盒是否可以支持多方会话的媒体数据的处理工作。当确认机顶盒可以支持多方会话的媒体处理工作时,可向机顶盒发送控制指令以使机顶盒创建处理资源进行媒体数据的相应处理;而当确认机顶盒当前无法支持多方会话的媒体处理工作时,则家庭网关需要确认当前的通话数量是否已超过本地所能承受的最大通话数量,在未超过其最大通话数量时,在本地创建处理资源对媒体数据进行相应处理,而在已超过其最大通话数量时,则提示发起会话的终端资源受限等相关消息。

在具体实施时,在本发明实施例提供的上述方法中,家庭网关向机顶盒发送的控制指令中包含用于编解码的相关参数;此时,在上述的步骤s103中,机顶盒根据控制指令在本地创建用于处理媒体数据的资源,具体可以包括:

机顶盒根据编解码相关参数创建编码器,以及与各路通话相对应的解码器。

此外,在上述的步骤s104之前,本发明实施例提供的上述方法还包括:

家庭网关在本地创建用于对媒体数据进行混音处理的混音器。

在本发明实施例中,将原来家庭网关上完成的解码、混音、编码的功能分解到家庭网关和机顶盒上。家庭网关保留混音部分,机顶盒负责编码和解码。发起会话方的家庭网关负责混音,而混音并不是简单的音频相加,需要针对不同的通话端进行控制,例如某通话只允许发言不允许收听,则混音后的媒体数据不能够发送至该路通话的终端。在本发明实施例中,家庭网关可以记录各个通话的信息,控制会话状态与媒体数据在家庭网关与机顶盒间的流向,由于混音需要涉及到通话会话信息,而家庭网关记录了这些相关信息,因此将混音功能保留在家庭网关,则更易于控制。如果将混音功能也由机顶盒进行,则上述信息必然需要机顶盒与家庭网关间进行信息同步才能获得,无疑增加系统的复杂性。鉴于上述原因,故将对媒体数据的编解码功能分解到机顶盒,而家庭网关保留混音功能,有利于对媒体数据的快速处理。在实际应用中,上述控制指令中包含的编解码参数可包括采样率、通道数、采样点位数、平均码率、最大码率等,除此之外,控制指令中还包括各路通话的通话标识,机顶盒在接收到控制指令时,可以分别对各路通话创建与之对应的解码器以及编码器,以实现对媒体数据的编解码处理。

进一步地,家庭网关以及机顶盒对媒体数据的处理可包括图3以及图4所示的各步骤,具体地,当家庭网关接收到来自参与终端的媒体数据时,可执行如图3所示的如下步骤:

s301、家庭网关在接收到来自各参与终端的媒体数据时,生成与各路通话对应的待解码的数据包发送机顶盒;

s302、机顶盒利用各解码器分别对各待解码的数据包中的媒体数据进行解码处理,生成与各路通话对应的解码的数据包返回家庭网关;

s303、家庭网关利用混音器对各解码的数据包中的媒体数据进行混音处理,将混音后的媒体数据发送本地终端。

需要说明的是,在本发明实施例中,家庭网关所连接的本地终端为会话发起终端,简称本地终端;而其它加入会话的终端则为参与会话的终端,简称参与终端。当家庭网关接收到来自参与终端的媒体数据时,需要将该媒体数据发送至本地终端进行收听,那么发送至本地终端的媒体数据应该包含了各参与终端的语音,此时家庭网关需要先将接收到的各媒体数据发送至机顶盒进行解码处理,具体地,可将接收的媒体数据生成与各路通话对应的待解码的数据包发送至机顶盒,在待解码的数据包中包含了各路通话的通话标识,当机顶盒接收到待解码的数据包时,可以直接定位到对应的解码器,解码器就可以对对应通话的媒体数据进行解码处理,待各路通话的媒体数据均完成解码处理后,机顶盒将生成解码后的媒体数据生成解码的数据包返回至家庭网关。家庭网关此时再将解码的各路通话的媒体数据进行混音处理后发送到本地终端,上旨本地终端将可以收听到各路通话的语音数据。

当家庭网关接收到本地终端发送的媒体数据时,可执行如图4所示的如下步骤:

s401、家庭网关在接收到本地终端发送的媒体数据时,确定媒体数据待发往的目的终端;

s402、家庭网关利用混音器将接收的媒体数据与除目的终端以外的其它各路通话的媒体数据进行混音处理,生成待编码的数据包发送机顶盒;

s403、机顶盒利用编码器对待编码的数据包中的媒体数据进行编码处理,生成编码的数据包返回家庭网关;

s404、家庭网关将编码的数据包中的媒体数据发送至目的终端。

由于本地终端为发起会话的终端,则本地终端所连接的家庭网关负责混音,并将混音数据发送至各参与终端的工作。而各参与终端所接收的媒体数据中不应该包含该接收数据的参与终端自己的语音数据。因此当家庭网关接收到来自本地终端的媒体数据时,首先需要确认媒体数据待发送的目的终端,通常情况下家庭网关需要将各参与终端依次作为目的终端进行数据处理后依次发送,以实现多方会话。具体来说,家庭网关先利用混音器将接收的媒体数据与除目的终端以外的其它各路通话的媒体数据进行混音处理,待混音处理完成后生成待编码的数据包发送至机顶盒,此时机顶盒利用本地的编码器对数据包中的媒体数据进行编码处理,并生成编码的数据包返回至家庭网关,家庭网关可将该编码后的媒体数据发送至目的终端,对于每一个参与终端家庭网关需要分别执行一次上述操作,从而使得本地终端的媒体数据可以发送至参与会话的各终端。

举例来说,当本地终端x发起四方会话,参与会话的终端还包括a、b、c时,家庭网关在接收到终端a、b、c的媒体数据,则需要先将a、b、c的媒体数据发送至机顶盒进行解码,并将解码后的a、b、c的媒体数据进行混音,再发送本地终端x。当家庭网关接收到本地终端x的媒体数据时,则需要先将终端x、b、c的媒体数据进行混音后发送机顶盒进行编码,再将编码后的混音数据发送终端a;再将终端x、a、c的媒体数据进行混音后发送机顶盒进行编码,再将编码后的混音数据发送终端b;将终端x、a、b的媒体数据进行混音后发送机顶盒进行编码,再将编码后的混音数据发送终端c。

在现有的技术方案中,由家庭网关传输给机顶盒的数据通常由机顶盒的网口接收到后经过二层、三层传递到用户态进程来处理。在本发明实施例中,由于家庭网关与机顶盒需要协同完成多方会话,期间将有多种数据在家庭网关与机顶盒之间传输,如果采用现有数据传输方式需要经过多个环节,将会对媒体数据的发送引入较大的延时。考虑到音频数据对时延十分敏感,在本发明实施例使中,在家庭网关与机顶盒之间传递的数据包可采用定制的二层帧封装格式,当机顶盒接收到的数据包采用定制二层刷帧封装格式时,该数据包直接转发至机顶盒的处理器,而不再经过二层、三层到用户态的转发。由此提高媒体数据的处理速度。

在具体实施时,上述的探测指令、控制指令以及家庭网关与机顶盒之间传递的数据包均可采用上述定制的二层帧封装格式的数据包,该数据包的定义类似于ip包的格式,包括消息关和消息体,其中消息头中包括设定的字段标识该数据包属于上述三种数据包中的哪种类型。机顶盒在接收到该数据包时,通过读取上述设定字段即可知需要执行何种操作,从而在数据包中获取相关参数进行相应处理。

具体来说,家庭网关向机顶盒发送探测指令时,采用定制的二层帧封装格式的数据包发送机顶盒,机顶盒收到探测指令后检测处理器资源和网口流量,将结果返回给家庭网关。

当机顶盒资源空闲而此时需要进行多方会话时,家庭网关向机顶盒发送控制指令,采用定制的二层帧封装格式的数据包,携带编解码所需要的相关参数,机顶盒在接收到控制指令时,可根据控制指令进行处理资源的创建。在完成多方会话之后,家庭网关可向机顶盒发送控制指令以使机顶盒将创建的资源释放,以等待其它任务。

在进行多方会话的过程中,家庭网关发送至机顶盒的待编码的数据包,以及待解码的数据包,机顶盒返回给家庭网关的解码的数据包,以及编码的数据包均可采用定制的二层帧封装格式。在机顶盒网络协议栈的二层入口可设置一个过滤模块,用于捕获入口处的二层帧数据包,解析该数据包的类型,当数据包为上述数据包时,则直接送入处理器进行编解码。处理完毕后的数据包从会话表中查出上下文信息,直接调用网卡驱动送回家庭网关。

在具体实施时,由于家庭网关的处理能力不所不同,根据家庭网关自身的处理能力,可将上述通话数据的预设值设置为3-5,例如,可将预设值设置为4,则家庭网关在统计出通话数量大于4时,则探测机顶盒资源是否空闲,当机顶盒资源空闲时家庭网关与机顶盒协同完成四方会话。在实际应用中,上述的预设值也可设置为其它值,在此不做限定。

另一方面,本发明实施例还提供一种家庭网关机顶盒一体机,如图5所示,该家庭网关机顶盒一体机包括家庭网关51,以及与该家庭网关51通信连接的机顶盒52。该家庭网关机顶盒一体机可以执行上述的多方会话方法。执行的具体流程可参见上述方法实施例部分,此处不再赘述。

本发明实施例提供的上述多方会话方法及家庭网关机顶盒一体机,家庭网关在参与会话的本地终端与参与终端均接入完成时,统计参与会话的通话数量;在统计出通话数量大于预设值,且确认机顶盒资源空闲时,向机顶盒发送控制指令;机顶盒根据控制指令在本地创建用于处理媒体数据的处理资源;家庭网关在接收来自终端或向终端发送的媒体数据时,向机顶盒发送待处理的媒体数据包;机顶盒接收待处理的媒体数据包,对媒体数据包中的媒体数据进行相应处理后返回家庭网关;家庭网关将处理后的媒体数据发送目的终端,实现多方会话。考虑到机顶盒的芯片处理能力优于家庭网关在的芯片处理能力,因此在确认接入会话的通话数量大于预设值时,家庭网关会确认机顶盒的资源是否空闲,当机顶盒的资源空闲时,在机顶盒创建用于处理媒体数据的处理资源,并在需要对媒体数据进行处理时,将媒体数据发送机顶盒进行相应处理后返回家庭网关,再由家庭网关发送目的终端,由此既可以充分利用机顶盒资源,又可以支持超多路的音频处理,实现多方会话。

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

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

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