网络语音通讯系统及其方法 【技术领域】
本发明涉及一种网络语音通讯系统,特别涉及一种用于局域网络通讯的网络语音通讯系统。
背景技术
目前,随着计算机硬件成本的降低,计算机非常普及,现代家庭往往有多个台式计算机或笔记本式计算机,其中客厅的计算机用来播放影片或音乐,卧室的计算机用来上网聊天,而许多小孩也有自己的一部个人计算机用来写报告及娱乐,许多计算机用户更是花很长的时间坐在计算机前处理工作或是娱乐。
如果能在计算机上内建即按即说(Push-to-talk)按钮,并且能把声音实时广播到局域网络上的其它计算机,应该会是个有趣又实用的发明,妈妈可以用厨房的计算机叫位于卧室忙于打电玩的小朋友吃饭,家人可以很方便的进行对话,在某些工作场合上也可以很方便的和同事们讨论许多议题。
现在已经有许多有名的聊天软件具有语音通讯的功能,像是WindowsLive Messenger、Yahoo Messenger及Google Talk等软件。这些软件虽然普及,但是它们都需要服务器,也必需申请和设定账号,想对谈时也需要联络人同时上线。虽然还有一些局域网络的文字聊天或是语音通讯软件(如:LanTalk)不需要服务器,也不需要特别申请账号,然而在进行语音通讯前,必需先选择联络人,而对方也不见得有开启该软件或是上线。
为了解决现有技术的各种问题,本发明提出一种网络语音通讯系统,以作为改善上述缺点的实现方式与依据。
【发明内容】
本发明是为了解决上述问题而提出的,本发明之目的在于提供一种网络语音通讯系统,用以进行UDP/IP协议为基础的局域网络语音通讯,且可利用群组数据及密码数据来限定语音通讯的范围。
为了达到本发明的目的,本发明提供一种网络语音通讯系统。该网络语音通讯系统包含语音接收模块、封包产生模块、封包广播模块、封包解析模块及语音播放模块。其通过语音接收模块接收模拟语音信号,将模拟语音信号转换为数字语音信号,并通过封包产生模块封装数字语音信号为多个语音封包,且通过封包广播模块依据广播地址以用户数据报协议广播多个语音封包,也可通过封包解析模块接收多个语音封包,并依据群组数据及密码数据,解封装多个语音封包为数字语音信号,且通过语音播放模块将数字语音信号转换为模拟语音信号,由此播放模拟语音信号。
其中,模拟语音信号通过语音输入装置所输入,群组数据及密码数据通过登录模块所输入。网络语音通讯系统还包含储存模块,用以储存封包解析模块已接收但尚未解封装的多个语音封包。
综上所述,根据本发明的网络语音通讯系统,具有如下优点:
(1)各模块通过硬件驱动程序方式进行直觉式的操作,无需启动特定软件。
(2)其可利用用户数据报协议进行局域网络的语音广播,无需设定账号就可以进行语音通讯。
(3)可设定群组及密码,以用于限定语音广播的群组范围。
(4)可储存尚未听取的语音广播。
(5)可同时多方会谈。
(6)各模块在计算机开机后自动运行。
为了使本发明的技术特征及所达成的功效易于了解与认识,以下利用优选实施例及相关图面进行说明。
【附图说明】
图1为本发明的网络语音通讯系统的示意图;
图2为本发明的网络语音通讯系统另一实施例的示意图;以及
图3为本发明的网络语音通讯方法的流程图。
主要符号说明:S31~S35为步骤流程,1为网络语音通讯系统,11为语音接收模块,12为封包产生模块,13为封包广播模块,14为封包解析模块,15为语音播放模块,16为登录模块,17为储存模块,21、22、23、24为计算机。
【具体实施方式】
以下,参照附图说明根据本发明优选实施例的网络语音通讯系统及方法。
参照图1,其为本发明的网络语音通讯系统的示意图。其使计算机能对同一局域网络中的所有或一部份其它计算机进行语音通讯。该网络语音通讯系统1以用户数据报协议/因特网协议(User Datagram Protocol/InternetProtocol,UDP/IP)为基础,其包含语音接收模块11、封包产生模块12、封包广播模块13、封包解析模块14及语音播放模块15。语音接收模块11用以接收模拟语音信号,并将模拟语音信号转换为数字语音信号。封包产生模块12用以接收数字语音信号,且根据群组数据及密码数据,将数字语音信号封装为多个具有群组数据及密码数据的语音封包。封包广播模块13用于根据广播地址通过用户数据报协议广播语音封包。封包解析模块14用以接收通过用户数据报协议所广播的语音封包,且根据群组数据及密码数据,将语音封包解封装为数字语音信号。语音播放模块15用以将数字语音信号转换为模拟语音信号,由此播放模拟语音信号。模拟语音信号通过语音输入装置所输入,该语音输入装置为麦克风。所述网络语音通讯系统1还包含登录模块16及储存模块17,所述网络语音通讯系统1通过登录模块16进行登录,且通过输入群组数据及密码数据来设定语音广播的群组范围。储存模块17用以储存封包解析模块14已接收但尚未解封装的语音封包。
由此,网络语音通讯系统1可设置在局域网络的计算机上,以使该计算机可利用所述网络语音通讯系统1在局域网络上进行双向语音通讯。用户通过所述计算机的即按即说(Push-to-talk)按钮启动网络语音通讯系统1,并通过登录模块16登录到网络语音通讯系统1,且通过登录模块16输入所述局域网络的群组数据及密码数据,用户就可以通过所述计算机的语音输入装置输入模拟语音信号。如此,所述计算机将通过语音接收模块11来接收所述计算机的语音输入装置所输入的模拟语音信号,并将模拟语音信号转换为数字语音信号,然后通过封包产生模块12将数字语音信号封装为多个具有群组数据及密码数据的语音封包,且通过封包广播模块13根据广播地址以用户数据报协议广播多个语音封包至该局域网络上。计算机也可以通过封包解析模块14接收局域网络上的多个语音封包,将局域网络上的多个语音封包解封装为数字语音信号,且通过语音播放模块15将数字语音信号转换为模拟语音信号,由此播放局域网络上的模拟语音信号,且当计算机的用户无法实时收听局域网络上的广播语音时,可利用储存模块17储存封包解析模块14已接收但尚未解封装的多个语音封包。
参照图1、图2,其中图2为示出本发明的网络语音通讯系统另一实施例的示意图。网络语音通讯系统1可分别设置在局域网络的计算机21、22、23、24上,以使计算机21可利用所述网络语音通讯系统1向计算机22、23进行语音广播。用户通过计算机21的即按即说按钮启动网络语音通讯系统1,并通过登录模块16登录到网络语音通讯系统1,且通过登录模块16输入有关计算机21、22、23的群组数据及密码数据,用户就可以通过语音输入装置输入模拟语音信号。如此,计算机21将通过语音接收模块11接收语音输入装置所输入的模拟语音信号,并将模拟语音信号转换为数字语音信号,然后通过封包产生模块12将数字语音信号封装为多个具有群组数据及密码数据的语音封包,且通过封包广播模块13根据广播地址以用户数据报协议向该局域网络中的计算机22、23广播多个语音封包。计算机22、23也可以通过封包解析模块14接收计算机21所广播的多个语音封包,将多个语音封包解封装为数字语音信号,且通过语音播放模块15将数字语音信号转换为模拟语音信号,由此播放模拟语音信号,且当计算机22、23无法实时收听广播语音时,可利用储存模块17储存封包解析模块14已接收但尚未解封装的语音封包。因此本实施例可依据实际广播范围的需求,通过登录模块16设定语音广播的群组范围。
由于所述网络语音通讯系统1根据计算机的IP地址计算计算机的广播地址,直接以广播的方式向同一局域网络的计算机传送语音封包,所以只要有软件可以解析并播放语音信号就能听到语音信号,无需额外的设定,且不需要另外架设服务器作为媒介以传送语音封包。另外,为了满足实时性的需求,所述网络语音通讯系统1利用用户数据报协议来进行语音广播,因此无需事先进行联机确认,也无需理会其它计算机的用户是否上线就可以进行语音广播,且只有私有IP的网络接口可以接收到语音封包,公共IP的网络接口将不会接收到语音封包。同时可通过群组数据及密码数据的设定,来提高语音广播的安全性及隐密性。
参照图3,其为本发明的网络语音通讯方法的流程图,通过用户按压计算机的屏幕下方所设置的即按即说按钮启动网络语音通讯系统1,然后进行下列步骤:
步骤S31:接收计算机上所设置的麦克风及用户接口所输入的模拟语音信号、群组数据及密码数据,并通过模拟/数字转换,将模拟语音信号转换为数字语音信号。
步骤S32:利用UDP表头、群组数据及密码数据作为IP表头中的内容,数字语音信号作为IP承载数据,以通过IP封装将数字语音信号封装为多个具有群组数据及密码数据的语音封包。
步骤S33:根据计算机的IP地址计算计算机的广播地址,同时过滤计算机的绕回地址及局域网络中的重复网段,利用用户数据报协议向局域网络中其它计算机进行语音封包的广播。
步骤S34:检查语音封包的表头格式、群组数据、密码数据及承载数据长度是否符合语音封包的预设规格,只有符合群组数据及密码设定的计算机才能收到语音封包的广播;接收端的计算机去除其所接收的语音封包的IP表头与UDP表头,由此取出数字语音信号。
步骤S35:通过数字/模拟转换,将数字语音信号转换为模拟语音信号,以播放模拟语音信号。
其中,本发明的网络语音通讯方法还包含储存语音封包的步骤,储存已接收但尚未解封装的语音封包。
以上所述仅为举例性,而非为限制性。任何未脱离本发明的精神与范畴,而对其进行的等效修改或变更,均应包含于本发明的范围内。