CN116996622B - 语音数据的传输方法、装置、设备、介质和程序产品 - Google Patents

语音数据的传输方法、装置、设备、介质和程序产品 Download PDF

Info

Publication number
CN116996622B
CN116996622B CN202311271962.6A CN202311271962A CN116996622B CN 116996622 B CN116996622 B CN 116996622B CN 202311271962 A CN202311271962 A CN 202311271962A CN 116996622 B CN116996622 B CN 116996622B
Authority
CN
China
Prior art keywords
data
voice
transmission link
voice data
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311271962.6A
Other languages
English (en)
Other versions
CN116996622A (zh
Inventor
梁俊斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202311271962.6A priority Critical patent/CN116996622B/zh
Publication of CN116996622A publication Critical patent/CN116996622A/zh
Application granted granted Critical
Publication of CN116996622B publication Critical patent/CN116996622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0081Network operation, administration, maintenance, or provisioning
    • H04M7/0084Network monitoring; Error detection; Error recovery; Network testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种语音数据的传输方法、装置、设备、介质和程序产品,涉及计算机技术领域,该方法包括如下步骤。实时采集第一语音数据,第一语音数据是待实时传输至第二终端的语音音频数据;对第一语音数据进行语速检测,得到第一语音数据对应的语速检测结果,语速检测结果用于表征第一语音数据中的语音表达在时序上的密度分布情况;基于语速检测结果从多个候选传输链路配置中确定目标传输链路;通过目标传输链路将第一语音数据从第一终端传输至第二终端。能够语速检测结果选择对应的传输链路,有效减少语音音频数据在传输过程中的丢包概率。

Description

语音数据的传输方法、装置、设备、介质和程序产品
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种语音数据的传输方法、装置、设备、介质和程序产品。
背景技术
VoIP(Voice over Internet Protocol,基于网络协议的语音传输)是一种语音通话技术,在音视频通话过程中,通过对音频数据进行编码压缩处理,按照网络传输协议标准对压缩后的数据进行打包,基于网络链路将数据包发送到目标IP地址(Internet ProtocolAddress),再将数据包进行解压处理,恢复为原本的音频数据,实现语音传输。
在进行音频数据传输的过程中,存在数据包丢失的问题,数据包中数据较为密集时,丢失的数据信息也较多。相关技术中,通过配置多条网络链路进行数据传输,接收端接收到音频数据后对丢包情况进行统计,基于丢包情况从多条网络链路中选择一条目标链路进行数据传输。
然而,仅依靠数据包丢失的情况进行网络链路的切换具有滞后性,当数据丢失后再进行网络链路的切换,也无法保证切换后的网络链路在传输数据时不会存在丢包情况。
发明内容
本申请实施例提供了一种语音数据的传输方法、装置、设备、介质和程序产品,能够根据语速检测结果选择对应的传输链路,有效减少语音音频数据在传输过程中的丢包概率。所述技术方案如下。
一方面,提供了一种语音数据的传输方法,所述方法包括如下内容。
实时采集第一语音数据,所述第一语音数据是待实时传输至第二终端的语音音频数据;
对所述第一语音数据进行语速检测,得到所述第一语音数据对应的语速检测结果,所述语速检测结果用于表征所述第一语音数据中的语音表达在时序上的密度分布情况;
基于所述语速检测结果从多个候选传输链路配置中确定目标传输链路;
通过所述目标传输链路将所述第一语音数据从第一终端传输至所述第二终端。
另一方面,提供了一种语音数据的传输装置,所述装置包括如下内容。
采集模块,用于实时采集第一语音数据,所述第一语音数据是待实时传输至第二终端的语音音频数据;
检测模块,用于对所述第一语音数据进行语速检测,得到所述第一语音数据对应的语速检测结果,所述语速检测结果用于表征所述第一语音数据中的语音表达在时序上的密度分布情况;
确定模块,用于基于所述语速检测结果从多个候选传输链路配置中确定目标传输链路;
传输模块,用于通过所述目标传输链路将所述第一语音数据从第一终端传输至所述第二终端。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的语音数据的传输方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的语音数据的传输方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的语音数据的传输方法。
本申请实施例提供的技术方案带来的有益效果至少包括内容。
通过实时采集第一语音数据,对第一语音数据进行语速检测,得到对应的语速检测结果,根据语速检测结果从多个候选传输链路配置中确定目标传输链路,能够有效减少语音音频数据在传输过程中的丢包概率,提高了数据传输过程中的可靠性。语速检测结果用于表征第一语音数据中的语音表达在时序上的密度分布情况,当语速检测结果表示语音表达在时序上密度较高时,根据语速检测结果选择对应的传输链路,能够避免因数据丢包造成的较多信息丢失的情况,有效提高了音视频通话的质量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的实施环境的示意图;
图2是本申请一个示例性实施例提供的语音数据的传输方法的流程图;
图3是本申请一个示例性实施例提供的语速检测方法的流程图;
图4是本申请另一个示例性实施例提供的语音数据的传输方法的流程图;
图5是本申请一个示例性实施例提供的语音数据的传输过程示意图;
图6是本申请一个示例性实施例提供的语音数据的传输装置的结构框图;
图7是本申请另一个示例性实施例提供的语音数据的传输装置的结构框图;
图8是本申请一个示例性实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
需要说明的是,本申请所涉及的信息(包括但不限于语速检测结果、传输链路相关信息、数据丢包情况等)、数据(包括但不限于实时采集的第一语音数据、有效数据、基音周期数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
应当理解,尽管在本申请可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一参数也可以被称为第二参数,类似地,第二参数也可以被称为第一参数。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,针对本申请实施例中涉及的名词进行简单介绍。
VoIP(Voice over Internet Protocol,基于网络协议的语音传输):是一种语音通话技术,经由网际协议来达成语音通话与多媒体会议,也就是经由互联网来进行通信。VoIP可用于包括VoIP电话、智能手机、个人计算机在内的诸多互联网接入设备,通过蜂窝网络、无线局域网进行通话及发送短信。VoIP的基本原理是通过语音的压缩算法对语音数据编码进行压缩处理,再将这些语音数据按TCP/IP标准(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)进行打包,经过IP(Internet Protocol,网际协议)网络把数据包送至接收地,再把这些语音数据包串起来,经过解压处理后,恢复成原来的语音信号,从而达到由互联网传送语音的目的。
丢包(Packet loss):是指一个或多个数据数据包(packet)的数据无法透过网上到达目的地。丢包的可能原因包括在网上中由于多路径衰落(multi-path fading)所造成的信号衰减(signal degradation),或是因为通道阻塞造成的丢包,再者损坏的数据包(corrupted packets)被拒绝通过,或有缺陷的网上硬件,网上驱动程序故障都可能造成丢包。在基于VoIP的语音音频数据传输过程中,存在丢包情况。
音素(Phoneme,Phn):是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。音素分为元音与辅音两大类。
链路:链路指无源的点到点的物理连接。有线通信时,链路指两个节点之间的物理线路,如电缆或光纤。无线电通信时,链路指基站和终端之间传播电磁波的路径空间。在进行数据通信时,两个计算机之间的通路往往是由许多的链路串接而成的。在基于VoIP的语音通话过程中,链路用于传输语音音频数据。
丢包隐藏技术(Packets Loss Cancellation,PLC):是通话处理中必不可少的一项技术。通过修改音频编解码器,在编解码器中对于音频帧状态进行记录,记录当前帧及其前后帧的状态,当遇到丢包导致的丢帧时,通过PLC将丢失的数据包重建出来,减少重传。在音频数据传输时,当出现网络信号不好,导致音频数据丢包,可以采用丢包隐藏技术进行自身模拟数据恢复,从而提高音频通话质量。
基音:一般的声音都是由发音体发出的一系列频率、振幅各不相同的振动复合而成的。这些振动中有一个频率最低的振动,由它发出的音就是基音(fundamental tone),其余为泛音。基音决定音高。
基音周期:基音周期是一种用于记录基音的时间波长的检测方法。基音周期是机械波一个完整波长的时间。基音周期的倒数是基音频率。
语音活性检测(Voice Activity Detection,VAD):是一项用于语音处理的技术,目的是检测语音信号是否存在。VAD技术主要用于语音编码和语音识别。它可以简化语音处理,也可用于在音频会话期间去除非语音片段:可以在IP电话应用中避免对静音数据包的编码和传输,节省计算时间和带宽。
脉冲编码调制(Pulse Code Modulation,PCM):是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。
VoIP是一种基于IP网络的语音通话方式,发送方通过语音的压缩算法把采集到的语音数据进行编码压缩处理后,按照网络传输协议标准进行打包,经过IP网络把数据包发送到接收方对应的目的IP地址,接收方再把语音数据包解析并解压缩处理后,恢复原来的语音信号,从而达到通过互联网传送语音信号的目的。
用户之间通过VoIP进行音视频通话,该过程中用户终端采集到的音视频数据包可通过传输网络进行传送,这个传输网络可以是无线的(如,无线局域网、第三代移动通信网络、***移动通信网络、第五代移动通信网络等),也可以是有线网络。在通话过程中可用于数据传输的网络链路可能不止一条,因此需要进行链路决策,以选择目标传输链路进行传输。
链路决策是评价和决定当前时刻使用何种目标传输链路进行数据传输的过程。链路决策的正确性决定了通话质量和用户通话体验。
在实际VoIP通话应用中,普遍存在网络传输丢包等不可控问题。
相关技术中,主要通过多链路全开方案和基于链路质量对链路进行切换的方案解决上述问题。
1、多链路全开方案:由于多条传输链路同时出现丢包的概率比其中任意一条传输链路出现丢包的概率小,因此,配置多条传输链路同时进行数据传输,则可大幅降低端到端数据传输的丢包概率。该方案很好地保障了数据传输的可靠性,但链路传输过程中会消耗带宽资源,多链路传输必然带来数据传输带宽的倍数级增长,使用多链路对数据包中的全部数据进行重复传输,会造成带宽资源的利用率较低。大量数据包同时通过多条传输链路发送到接收端,接收端会接收到大部分重复数据包,接收端对于重复数据包进行处理的过程也会增加接收端的负担。
2、基于链路质量对链路进行切换的方案:在数据传输过程中,根据接收端接收到数据包后计算出的丢包率,对链路传输质量进行评价,当不满足传输要求时,对当前传输链路进行切换,使用其他传输链路进行数据传输。该方案基于链路质量统计数据作为链路切换依据,每次只用一条传输链路进行数据传输。但用于决策的丢包率属于滞后数据,丢包已经导致通话卡顿、无声等问题,影响到用户通话体验。因此该方案无法及时解决用户的通话体验问题。并且,切换后的新传输链路无法确保质量持续较优。也即,可能存在统计丢包率时该新传输链路的丢包情况较少,但切换后,该新传输链路的丢包率上升的情况。该方案无法保证切换该新传输链路后仍然保持现状。
故,如何在提高带宽资源利用率的同时,保证通话质量和数据传输的效果是亟待解决的问题。
本申请提供了一种语音数据的传输方法,利用语音数据中语音表达在时序上的密度,分析了不同语速在丢包情况下的收听效果影响,在语速较达到一定门限且丢包率达到一定程度后启动多链路传输方案,只对语音数据中包含指定发声源(如,人声)的有效数据通过多条传输链路同时进行发送,在确保通话质量的同时,降低多条链路传输的带宽消耗。
原理如下。
若通话过程产生的语音数据中语音表达的语速较高,也即,语音数据在时序上的密度较高时,语音通道(即网络链路)所承载的语音信息密度也较高。当传输过程中出现丢包情况时,丢失的有效信息量更大。与此同时,接收端通过丢包隐藏技术对于丢包严重的语音数据进行修复时的难度也会对应提高。进而导致接收端出现卡顿、掉字等情况,造成用户听感体验较差。
本申请提供的方案,通过实时采集语音数据,对语音数据进行语速检测,得到对应的语速检测结果,根据语速检测结果从多个候选传输链路配置中确定目标传输链路,能够有效减少语音音频数据在传输过程中的丢包概率,提高了数据传输过程中的可靠性。语速检测结果用于表征语音数据中的语音表达在时序上的密度分布情况,当语速检测结果表示语音表达在时序上密度较高时,根据语速检测结果选择对应的传输链路,能够避免因数据丢包造成的较多信息丢失的情况,有效提高了音视频通话的质量。
候选传输链路配置包括但不限于如下几种情况。
(1)第一传输链路:当语速检测结果未达到预设的要求,使用第一传输链路对所有语音数据进行传输;
(2)第一传输链路与第二传输链路:当语速检测结果达到预设的要求且丢包率达到预设的水平时,使用第一传输链路对所有语音数据进行传输,同时,通过第二传输链路将语音数据中包含指定发声源的有效数据(如,包含人声的数据)重复传输。
通过语速检测结果选择对应的目标传输链路,当语速检测结果表示语速较低时,语音数据的音频帧之间的帧间相关性较高,即使出现了部分丢包情况,可以由接收方通过丢包隐藏技术进行还原,因此,使用第一传输链路进行传输即可。当语速检测结果表示语速较高时,语音数据的音频帧之间的帧间相关性较低,若出现了部分丢包情况,数据包中的有效信息丢失也较多,此时,仅依靠接收方通过通过丢包隐藏技术进行还原,无法保证通话质量,因此,使用第一传输链路与第二传输链路进行数据的并行传输,能够降低丢包率,并且,第二传输链路只对有效数据进行重复传输,能够降低带宽资源的消耗,保证带宽资源的利用率。
其次,对本申请实施例中涉及的实施环境进行说明,示意性的,请参考图1,该实施环境中涉及第一终端110、第二终端120、服务器130,第一终端110、第二终端120、服务器130之间通过通信网络140连接。
在音视频通话过程中,第一终端110和第二终端120均可以作为接收端和发送端。例如:第一用户控制第一终端110,第二用户控制第二终端120,当第一用户发言时,第一终端110可作为发送端,第二终端120作为接收端。第一终端110实时采集到语音数据后,对语音数据进行语速检测,得到语音数据对应的语速检测结果,并将语音数据进行压缩编码处理。第一终端110基于语速检测结果确定目标传输链路,使用目标传输链路将压缩后的语音数据发送至第二终端120,第二终端120接收到压缩后的语音数据后,对语音数据的丢包情况进行计算,并对语音数据进行解码处理,得到语音信号,实现第二用户收听第一用户的发言的过程。第二终端120计算丢包状态后,丢包状态信息与语速检测结果共同作为链路决策的条件。
也即,第一终端110对应的第一用户进行发言时,第一终端110作为发送端,第二终端120作为接收端;反之,第二终端120对应的第二用户进行发言时,第二终端120作为发送端,第一终端110作为接收端。
示例性的,语音数据的传输过程中是按照最小单位音频帧来进行的。也即,发送端向接收端发送语音数据时,每采集到一帧音频帧,就将其打包成数据包,通过传输链路发送至接收端。其中,音频帧分为存在指定发声源的有效音频帧和不存在指定发声源的其他音频帧。
可选地,指定发声源为人声,包含人声的音频帧为有效音频帧,不包含人声的音频帧为其他音频帧。
值得注意的是,在进行音视频通讯过程中,有效音频帧中包含的数据相较于其他音频帧中包含的数据,与通话质量之间的相关性更为紧密。也即,接收端接收到的有效音频帧越多,则通话质量越佳。
示例性的,第一终端110在将音频帧打包成数据包并发送至第二终端120的同时,对音频帧进行语音活跃检测,确定出音频帧中包含人声的情况。
当第一终端110向第二终端120发送的有效音频帧的数量达到预设数量时,对累计发送的有效音频帧进行分布密度分析,得到语音数据对应的语速检测结果。其中,语速检测结果用于表征第一语音数据中的语音表达在时序上的密度分布情况,也即,表明此时第一用户的语速情况。第二终端120在接收到数据包后,对于丢包情况进行统计。
语速检测结果和丢包情况共同作为链路决策的条件。
当语速检测结果未达到预设要求时,第一终端110与第二终端120之间仅使用第一传输链路作为目标传输链路进行数据包传输。
当语速检测结果达到预设要求且丢包情况也达到预设要求时,第一终端110与第二终端120之间同时使用第一传输链路和第二传输链路作为目标传输链路进行数据包传输。其中,第一传输链路上用于传输所有语音数据,而第二传输链路用于重复传输语音数据中的有效数据,以降低有效数据的丢失概率。
也即,当语速检测结果始终未达到预设要求时,第一终端110与第二终端120之间进行数据传输的过程中,仅使用第一传输链路作为目标传输链路。当第一终端110与第二终端120之间进行数据传输的过程中,首次检测到语音数据对应的语速检测结果达到预设要求时,则开启第二传输链路,将第二传输链路作为常驻的候选传输链路配置。开启第二传输链路后,第一终端110与第二终端120再进行语音数据的传输过程中,则在使用第一传输链路的基础上,使用第二传输链路将语音数据中的有效数据再重复传输一次。在开启第二传输链路后,第一终端110与第二终端120之间进行数据传输的过程中就无需再对语音数据进行语速检测。
在一些实施例中,上述对于语音数据的语速检测过程、语音活跃检测过程和链路决策过程可以由服务器130实现。第一终端110和第二终端120的数量可以是任意的,如,在进行群聊音视频通话时,第一终端110和第二终端120的数量为至少一个。
值得注意的是,上述第一终端110和第二终端120作为发送方和接收方的情况是相对而言的,终端对应的用户发言时,该终端即为发送方。存在一种情况,第一终端110和第二终端120对应的用户同时发言,则此时,第一终端110和第二终端120均同时作为发送方和接收方,实现数据传输的过程,本实施例对此不加以限定。
上述第一终端110和第二终端120可以是手机、平板电脑、台式电脑、便携式笔记本电脑、智能电视、车载终端、智能家居设备等多种形式的终端设备,本申请实施例对此不加以限定。
值得注意的是,上述服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
在一些实施例中,上述服务器130还可以实现为区块链***中的节点。
结合上述名词简介和应用场景,对本申请提供的语音数据的传输方法进行说明,该方法可以由服务器或者终端执行,也可以由服务器和终端共同执行,本申请实施例中,以该方法由第一终端执行为例进行说明,如图2所示,图2是本申请一个示例性实施例提供的语音数据的传输方法的流程图。该方法包括如下步骤。
步骤210,实时采集第一语音数据。
其中,第一语音数据是待实时传输至第二终端的语音音频数据。
在基于VoIP进行音视频通话时,第一终端和第二终端均可作为发送端,对语音数据进行采集,也可作为接收端,对语音数据进行接收。也即,第一终端对于语音数据的实时采集过程和接收过程是同时进行的,第二终端对于语音数据的实时采集过程和接收过程也是同时进行的。
可选地,第一语音数据是指控制第一终端的用户在发言时所产生的语音数据,包括人声、背景噪音、其他声音等。
示例性的,第一终端对应第一用户,第二终端对应第二用户,第一用户发言时,第一终端作为发送端,实时采集由第一用户发言所产生的语音信号,得到第一语音数据并发送给第二终端。第二终端作为接收端,实时接收第一语音数据。
第一终端采集第一语音数据后,对第一语音数据进行编码压缩处理,得到压缩后的数据,通过指定的网络传输链路将压缩后的数据实时传输至第二终端,以实现端到端的实时通讯。第二终端接收到压缩后的数据,对其进行解码处理,得到第一语音数据,并将其转换为可被收听的语音信号,使得控制第二终端的用户实时收听第一用户的发言。
在上述语音数据的传输过程中,第一语音数据在传输过程中被打包成数据包的形式,每个数据包都对应有各自的序号,可用于标记第一语音数据中音频帧的先后顺序,反映数据传输情况。第二终端接收数据包后,可以根据数据包对应的序号确定传输过程中的丢包情况。并基于丢包隐藏技术对丢失的数据包进行修复和还原等操作,以保证通讯质量,提高第二用户在收听第一用户的发言时的体验感。
可选地,第一语音数据中包括多个音频帧,每个音频帧是按照语音数据在时序上的持续时长进行划分的,如,一帧音频帧对应的时长为20毫秒,第一语音数据对应的时长为400毫秒,则第一语音数据包含20个音频帧。
值得注意的是,第一终端向第二终端进行数据传输时,每次只发送一帧音频帧,也即,第一终端采集到一帧音频帧后,立即对其进行打包处理得到对应的数据包,将数据包传输至第二终端。
步骤220,对第一语音数据进行语速检测,得到第一语音数据对应的语速检测结果。
其中,语速检测结果用于表征第一语音数据中的语音表达在时序上的密度分布情况。
对第一语音数据进行语音活跃检测,得到第一语音数据中的有效数据,有效数据是指被识别为存在指定发声源的音频帧数据。对第一语音数据中的有效数据进行分布密度分析,得到第一语音数据对应的语速检测结果。
可选地,指定发声源是指人声,由于用户进行音视频通话过程中,根据语音数据在时序上的表现,并不一定每个时刻都存在人声,因此,对第一语音数据进行语速检测时,首先要对第一语音数据进行语音活跃检测,从第一语音数据中确定包含人声的有效数据。
示例性的,第一语音数据中包含00:00时刻至01:00时刻的音频帧,第一用户发言时,仅在00:00时刻至00:05时刻进行发言,其语速较高,而00:05时刻指01:00时刻未进行发言,也即,第一语音数据在时序上,仅存在00:00时刻至00:05时刻的数据包含指定发声源(人声)。则计算第一语音数据对应的语速检测结果,是根据00:00时刻至00:05时刻的有效数据进行计算的。
对第一语音数据中的有效数据进行分布密度分析,得到第一语音数据对应的语速检测结果。
若语速检测结果表示语速较高或语速达到预设的要求,则说明一帧音频帧中所携带的有效信息较多,当传输过程中发生数据丢包情况,丢失的有效信息也相应较多,这会增加接收端的修复和还原过程中的困难程度。
若语速检测结果表示语速并未过高或语速并未达到预设的要求,则说明一帧音频帧中所携带的有效信息不会过多,当传输过程中发生数据丢包情况,则丢失的有效信息也相应不会过多,接收端可以仅在依靠丢包隐藏技术进行修复和还原的情况下保证通话质量。
步骤230,基于语速检测结果从多个候选传输链路配置中确定目标传输链路。
可选地,多个候选传输链路配置中包括第一传输链路和第二传输链路。
其中,第一传输链路、第二传输链路的种类包括但不限于:(1)有限链路;(2)无线链路,如:无线局域网络链路、第三代移动通信网络链路、***移动通信网络链路、第五代移动通信网络链路等。
第一传输链路是默认的传输链路,在一些实施例中,第一终端与第二终端之间进行语音数据的传输时,默认使用第一传输链路作为目标传输链路。也即,在对第一语音数据进行语速检测的过程中,第一语音数据也是实时发送至第二终端的,此时基于第一传输链路进行传输。
第二传输链路是候选的传输链路,只有当语速检测结果表示第一语音数据对应的语速达到预设要求时,才会开启第二传输链路。
可选地,响应于语速检测结果未达到预设的语速要求,将第一传输链路确定为目标传输链路。
此时未开启第二传输链路,默认使用第一传输链路进行数据传输。
可选地,响应于语速检测结果达到预设的语速要求,将第一传输链路和第二传输链路确定为目标传输链路。
开启第二传输链路后,进行语音数据的传输过程中,除了通过第一传输链路对语音数据进行传输,还可以通过第二传输链路对语音数据中的有效数据再次进行传输。也即,实现了有效数据的并行传输,降低了数据包的丢失概率。
值得注意的是,第一传输链路的数量和种类可以是任意的,第二传输链路的数量和种类也可以是任意的,开启第二传输链路的预设条件可以是任意的,本实施例对此不加以限定。
步骤240,通过目标传输链路将第一语音数据从第一终端传输至第二终端。
可选地,目标传输链路为第一传输链路时,直接使用第一传输链路将第一语音数据中的全部内容传输至第二终端。
可选地,目标传输链路为第一传输链路和第二传输链路时,对第一语音数据进行分布密度分析,得到第一语音数据中的有效数据,有效数据是指被识别为存在指定发声源的音频帧数据。通过第一传输链路将第一语音数据从第一终端传输至第二终端;通过第二传输链路将第一语音数据中的有效数据从第一终端传输至第二终端。
示例性的,指定发声源为人声,对第一语音数据进行分布密度分析,得到第一语音数据中的有效数据为包含人声的音频帧。也即,第一语音数据中包含多个音频帧,其中存在包含人声的音频帧,将包含人声的音频帧作为有效数据,使用第二传输链路从第一终端传输至第二终端。
在数据传输过程中,接收端接收到的包含指定发声源的有效数据的完整性,决定音视频通话质量,使用第一传输链路将第一语音数据从第一终端传输至第二终端的同时,使用第二传输链路将有效数据再重复传输,能够降低有效数据对应的数据包的丢失概率,保证了数据传输过程中的稳定性。
综上所述,本申请提供的方法,通过实时采集第一语音数据,对第一语音数据进行语速检测,得到对应的语速检测结果,根据语速检测结果从多个候选传输链路配置中确定目标传输链路,能够有效减少语音音频数据在传输过程中的丢包概率,提高了数据传输过程中的可靠性。语速检测结果用于表征第一语音数据中的语音表达在时序上的密度分布情况,当语速检测结果表示语音表达在时序上密度较高时,根据语速检测结果选择对应的传输链路,能够避免因数据丢包造成的较多信息丢失的情况,有效提高了音视频通话的质量。
本实施例提供的方法,通过对第一语音数据进行语音活跃度检测,从第一语音数据中确定包含指定发声源的有效数据,有效数据是影响通话质量的重要因素,当存在开启第二传输链路的需求时,使用第二传输链路对有效数据进行重复传输,能够保证有效数据在传输过程中的完整性。对有效数据进行分布密度分析,确定第一语音数据对应的语速检测结果,能够基于语速检测结果确定丢包情况的严重程度,并作为开启第二传输链路的条件,避免数据传输过程中有效信息的大量丢失,提高了通话质量。
本实施例提供的方法,当语速检测结果未达到预设的语速要求,表明当前传输过程较为稳定,即使存在数据丢包情况,由于语速不会较快,丢失的信息也可以由接收端使用丢包隐藏技术进行修复和还原,因此,仅使用第一传输链路作为目标传输链路,能够有效提高带宽资源的利用率。
本实施例提供的方法,当语速检测结果达到预设的语速要求,表明有效数据中每帧音频帧所包含的信息量多,若存在数据丢包情况,丢失的有效信息也较多,仅依靠接收端使用丢包隐藏技术进行修复和还原无法保证通话质量,因此,使用第一传输链路和第二传输链路对语音数据进行并行传输,对有效数据进行重复发送,能够降低丢包率,保证了有效数据的完整性。相较于使用多条传输链路对所有语音数据进行传输,能够降低带宽资源的消耗,提高资源的利用率。
相关技术中,对于语音数据的语速检测方法主要分为如下几种。
(1)预设指定的内容,记录表述指定内容所需要的时间来衡量语音数据对应的语速,时间越短,表明语速越高。
(2)预设指定的时长,记录该时长内所能表述的音素的数量,音素数量越多,表明语速越高。
然而,上述方式(1)的前提是,在表述指定内容的过程中无停顿或停顿较少;上述方式(2)的前提是,在指定的时长内进行内容表述的过程中无停顿或停顿较少。而在实时通讯过程中,用户与用户之间的对话是不受限制的,并不能保证用户的发言始终连续。也即,音视频通话过程中涉及到的语音表达在时序上是不连续,因此,无法通过上述方式对语音数据的语速进行检测。
本实施例提供了一种语速检测方法,其原理是:人在进行语言表达时,与音素所对应的基音频率会产生变化。通常,一个音素对应一帧或多帧音频帧。对于同一个音素,其前后帧的基音周期(基音周期是指基音频率的倒数)是连续的,跳变较小,也即,音频帧之间的跳变较小;对于不同的音素,其前后帧的基音周期(或基音频率)是不连续的,跳变较为明显。因此,通过分析单位时间内基音周期(或基音频率)发生跳变的次数以及不同音频帧之间的跳变次数来描述语速检测结果。
如图3所示,图3是本实施例提供的语速检测方法的流程图,该方法包括如下步骤。
步骤310,对第一语音数据进行语音活跃检测,得到第一语音数据中的有效数据。
其中,有效数据是指被识别为存在指定发声源的音频帧数据。
第一终端向第二终端传输语音数据的过程中,是以音频帧为单位进行的,也即,第一终端采集到一帧音频帧数据后,对其进行打包得到一帧音频帧对应的数据包,通过网络传输链路将数据包发送至第二终端。
对第一语音数据进行语音活跃检测的过程也是以音频帧为单位进行的。
也即,第一语音数据中包括一个或多个音频帧数据,当第一语音数据中仅包括一帧音频帧数据,则第一终端对这一帧音频帧数据进行语音活跃度检测,判断该音频帧是否为有效数据。当第一语音数据中包括多帧音频帧数据,则第一终端对第一语音数据进行语音活跃检测,也是对第一语音数据中的多帧音频帧数据进行逐个检测,判断每帧音频帧数据是否为有效数据。
示例性的,指定发声源是指人声,基于VAD技术对第一语音数据进行语音活跃检测。
每帧音频帧对应存在一个语音标志,该语音标志的数值用于表示其是否为有效数据。基于VAD技术对PCM格式的音频帧数据进行处理,若语音标志的数值为“1”,则说明该音频帧是有效数据,该音频帧包含人声;若语音标志的数值为“1”,则说明该音频帧不是有效数据,该音频帧不包含人声。
步骤320,获取与指定发声源对应的基音周期数据。
基音周期数据用于描述有效数据中音素发生变化的情况。其中,基音周期数据的周期长度为预设数量的音频帧所占的长度。基音周期数据和音频帧数据在时序上存在对应关系。也即,每帧音频帧数据对应各自的基音频率的幅值。
示例性的,有效数据是指包含人声的音频帧数据,在语音表述过程中,可以将音素作为描述语速的基准。
通常,一个音素对应一帧音频帧或多帧音频帧。不同音素的音频特征不同,音素之间的变化会导致基音周期数据也发生跳变。基音周期数据对应的基音频率,通过基音频率的幅值之间的差值表示基音周期数据发生跳变的情况。在一些实施例中,基音周期数据以波形图的形式描述音素的变化,横轴为时序,纵轴为基音频率。
示例性的,音素“u”和音素“n”是相邻的两个音素,一帧音频帧在时序上所占时长为20毫秒。
音素“u”在时序上对应相邻的第一帧音频帧和第二帧音频帧,音素“n”在时序上对应第三帧音频帧。第一帧音频帧、第二帧音频帧和第三帧音频帧是连续的音频帧。
因此,在基音周期数据中,与第二帧音频帧和第三帧音频帧的时序所对应的基音频率发生了一次跳变,也即,第二帧音频帧的基音频率的幅值与第三帧音频帧的基音频率的幅值之间发生了一次跳变。
步骤330,对基音周期数据发生跳变的次数进行统计,得到基音周期跳变次数。
基音周期跳变次数用于表示语速检测结果,其中,基音周期数据发生跳变是指基音周期数据对应的基音频率的幅值达到预设的幅值要求。
具体的,包括如下步骤。
1.1基于单个音频帧所占的长度对基音周期数据在时序上进行划分,得到与有效数据对应的多个基音周期子数据,多个基音周期子数据对应各自的基音频率的幅值。
示例性的,基音周期数据中包括10个音频帧对应的基音周期子数据,每个基音周期子数据对应有基音频率的幅值,也即,基音周期数据中实际包括了10个为有效数据的音频帧各自对应的基音频率数据。
以下简称有效数据中的音频帧为有效音频帧,第一语音数据中除有效数据以外的音频帧数据为其他数据,其他数据中的音频帧为其他音频帧。
1.2基于有效数据中第i+1个音频帧对应的基音频率的幅值与有效数据中第i个音频帧对应的基音频率的幅值之间的差值,确定基音周期数据发生跳变的情况。其中,i为正整数。
示例性的,基音周期数据的周期长度为10个有效音频帧的长度,基音周期数据在时序上并不一定是连续的。
可选地,第一终端按照采集语音数据的先后顺序,依次采集到的音频帧数据如下:第一帧音频帧至为有效音频帧,第六帧音频帧为其他音频帧,第七帧音频帧至第十帧音频帧为有效音频帧,第十一帧音频帧为其他音频帧,为有效音频帧。则将第一帧至第五帧有效音频帧、第七帧音频帧至第十帧有效音频帧、第十二帧有效音频帧各自对应的基音频率的幅值作为基音周期数据。
可选地,响应于有效数据中第i+1个音频帧对应的基音频率的幅值与有效数据中第i个音频帧对应的基音频率的幅值之间的差值达到预设差值,确定有效数据中第i个音频帧与有效数据中第i+1个音频帧之间发生了跳变。
示例性的,i=1时,第2个有效音频帧的幅值为500Hz,第1个有效音频帧的幅值为800Hz,预设差值为200Hz,则800-500=300Hz>200Hz,第1个有效音频帧的幅值与第2个有效音频帧的幅值之间的差值达到了预设差值。确定有效数据中第1个音频帧与有效数据中第2个音频帧之间发生了一次跳变。
1.3统计基音周期数据发生跳变的次数,得到基音周期跳变次数。
可选地,基音周期数据中存在5个连续的有效音频帧对应的基音频率的幅值发生了跳变,则发生了4次跳变,基音周期跳变次数为4。
在一些实施例中,考虑到了有效音频帧的基音频率的幅值与其他音频帧的基音频率的幅值之间也会发生跳变,则基音周期跳变次数还可以通过如下方式确定。
对基音周期数据发生跳变的次数,以及第一语音数据中音频帧发生跳变的次数进行统计,得到基音周期跳变次数,其中,第一语音数据中音频帧发生跳变是指第i+1个音频帧为有效数据且第i个音频帧为其他数据,其中,其他数据是指第一语音数据中除有效数据以外的音频帧数据。
示例性的,基音周期数据的周期长度为十帧有效音频帧在时序上所占的长度。第一终端按照采集语音数据的先后顺序,依次采集到的音频帧数据如下:第一帧音频帧至为有效音频帧,第六帧音频帧为其他音频帧,第七帧音频帧至第十帧音频帧为有效音频帧,第十一帧音频帧为其他音频帧,为有效音频帧。则将第一帧至第五帧有效音频帧、第七帧音频帧至第十帧有效音频帧、第十二帧有效音频帧各自对应的基音频率的幅值作为基音周期数据。
也即,第一终端采集到了十二帧音频帧才确定了十帧有效音频帧对应的基音周期数据,在这十二帧音频帧中存在第六帧音频帧和第十一帧音频帧为其他音频帧。
第六帧其他音频帧与第七帧有效音频帧之间发生了一次跳变,第十一帧其他音频帧与第十二帧有效音频帧之间发生了一次跳变。则,第一语音数据中音频帧发生跳变的次数为2次。
综上,基音周期数据发生了4次跳变,第一语音数据中音频帧发生了2次跳变,则基音周期跳变次数为4+2=6次。
值得注意的是,基音周期跳变次数用于表示语速检测结果,在第一终端向第二终端传输数据的过程中,每采集到指定数量(与基音周期数据的周期长度对应)的有效音频帧,就对这些有效音频帧对应的基音周期数据中发生跳变的次数进行统计,得到对应的语速检测结果,直到语速检测结果首次达到开启第二传输链路的条件后,停止对语音数据进行语速检测。
示例性的,第一终端每采集到10帧有效音频帧,就进行一次语速检测。第一次语速检测对应的语速检测结果表示未达到开启第二传输链路的条件,则继续采集有效音频帧对其进行语速检测。第二次语速检测对应的语速检测结果表示达到开启第二传输链路的条件,则开启第二传输链路,并且后续采集音频帧时无需对有效音频帧进行语速检测。
综上所述,本申请提供的方法,通过实时采集第一语音数据,对第一语音数据进行语速检测,得到对应的语速检测结果,根据语速检测结果从多个候选传输链路配置中确定目标传输链路,能够有效减少语音音频数据在传输过程中的丢包概率,提高了数据传输过程中的可靠性。语速检测结果用于表征第一语音数据中的语音表达在时序上的密度分布情况,当语速检测结果表示语音表达在时序上密度较高时,根据语速检测结果选择对应的传输链路,能够避免因数据丢包造成的较多信息丢失的情况,有效提高了音视频通话的质量。
本实施例提供的方法,通过获取与指定发声源对应的基音周期数据,能够根据基音周期数据表示有效数据中音素发生变化的情况,并根据基音周期数据跳变的次数表示语速检测结果,能够根据语速检测结果选择对应的传输链路,能够避免因数据丢包造成的较多信息丢失的情况。
本实施例提供的方法,通过对基音周期数据进行时序上的划分,根据有效数据中的音频帧与基音周期数据中的基音频率的幅值之间的对应关系,确定基音周期数据中发生跳变的次数,得到了用于决策链路配置的语速检测结果,提高了确定语速检测结果的效率。
本实施例提供的方法,考虑到了有效数据中音频帧的基音频率的幅值与其他数据中音频帧的基音频率的幅值之间也会发生跳变,将第一语音数据中音频帧发生跳变的次数也作为确定基音周期跳变次数的组成部分,提高了语速检测结果的准确性。
图4是本申请另一个示例性实施例提供的语音数据的传输方法的流程图,如图4所示,该方法包括如下步骤。
步骤410,获取历史时间段内第一终端与第二终端之间进行语音音频数据传输过程中的数据丢包情况。
可选地,当前时刻为2022年10月1日11时05分00秒,历史时间段是指距离当前时刻的时长为1分钟的时间段。也即,历史时间段是指2022年10月1日11时04分00秒时刻至2022年10月1日11时05分00秒时刻之间的时间段。
示例性的,历史时间段内第一终端采集语音数据时,共采集了100帧音频帧数据,按照采集音频帧的先后顺序,第一终端每采集到一帧音频帧数据,就将其进行编码压缩处理,得到用于传输的数据包,将数据包通过传输链路传输至第二终端。其中,第一终端每次仅向第二终端传输一个数据包(也即,每次仅传输一帧音频帧的内容)。每个数据包分别对应各自的序号,序号用于确定语音音频数据传输过程中的数据丢包情况。
其中,第二终端在确定传输过程中的数据丢包情况时,可以根据接收到的数据包的序号确定传输过程中所丢失的数据包的数量和丢包率。
在历史时间段内第一终端向第二终端发送了100个数据包,在数据传输过程中的丢包率为20%,也即,在数据传输过程中丢失了20个数据包,第二终端只接收到了80个数据包。
步骤420,对实时采集到的第一语音数据进行语速检测,得到第一语音数据对应的语速检测结果。
可选地,第一语音数据中包括100帧音频帧数据,其中,存在50帧音频帧数据是有效数据,对第一语音数据中的有效数据进行语速检测,得到第一语音数据对应的语速结果。
值得注意的是,上述步骤410与步骤420的执行顺序可以是任意的,也即,可以先执行步骤410,再执行步骤420;也可以先执行步骤420,再执行步骤410;也可以同时执行步骤410和步骤420。
在一些实施例中,当前时刻是第一终端首次向第二终端发送语音音频数据的时刻,也即,历史时间段内第二终端未向第二终端发送过语音音频数据。此时,第一终端在向第二终端发送数据包时,使用默认的第一传输链路进行传输。在此过程中,可以先对第一语音数据进行语速检测,得到第一语音数据的语速检测结果,待第一语音数据传输至第二终端时,再由第二终端确定数据包的丢失情况。
可选地,当第一语音数据的语速检测结果达到预设的开启第二传输链路的条件时,可以在未确定传输第一语音数据过程中的丢包率的情况下,开启第二传输链路。
可选地,当第一语音数据的语速检测结果未达到预设的开启第二传输链路的条件下,第一终端继续采集第二语音数据,第二语音数据是指在第一语音数据传输后实时采集的语音音频数据,对第二语音数据中的有效数据进行语速检测,得到第二语音数据的语速检测结果。并基于第一语音数据传输过程中数据包的丢失情况和第二语音数据对应的语速检测结果,确定是否开启第二传输链路。
其中,开启第二传输链路后,第一终端在与第二终端之间进行数据传输时(包括但不限于第一终端向第二终端传输数据、第二终端向第一终端传输数据、第一终端与第二终端同时向对方传输数据的情况),无需对采集到的语音数据进行语速检测。第二传输链路作为常驻传输链路,用于重复发送语音数据中的有效数据,以降低包含较多有效信息的有效数据的丢失率。
步骤430,响应于历史时间段内数据丢失情况符合开启第二传输链路的条件且语速检测结果达到预设的语速要求,将第一传输链路和第二传输链路确定为目标传输链路。
可选地,开启第二传输链路的条件是指丢包率达到10%,预设的语速要求是指单位时间内基音周期跳变次数达到20次。
示例性的,第一终端在历史时间段内向第二终端发送100个音频帧对应的数据包,第二终端接收到了80个数据包,丢包率为20%,达到了开启第二传输链路的条件。第一语音数据对应的语速检测结果表示单位时间内基音周期跳变次数为30次,达到了预设的语速要求。
此时,历史时间段内数据丢失情况符合开启第二传输链路的条件且语速检测结果达到预设的语速要求,开启第二传输链路,将第一传输链路和第二传输链路确定为目标传输链路。
第一传输链路是默认的传输链路,第一终端与第二终端之间进行语音数据的传输时,默认使用第一传输链路作为目标传输链路。开启第二传输链路后,进行语音数据的传输过程中,除了通过第一传输链路对语音数据进行传输,还可以通过第二传输链路对语音数据中的有效数据再次进行传输。
步骤440,对第一语音数据进行语音活跃检测,得到第一语音数据中的有效数据。
其中,有效数据是指被识别为存在指定发声源的音频帧数据。可选地,指定发声源是指人声,基于VAD技术对第一语音数据进行语音活跃检测。
可选地,第一语音数据中包括100帧音频帧,在对第一语音数据进行语音活跃检测的过程是以音频帧为单位进行的。
每帧音频帧对应存在一个语音标志,该语音标志的数值用于表示其是否为有效数据。基于VAD技术对PCM格式的音频帧数据进行处理,若语音标志的数值为“1”,则说明该音频帧是有效数据,该音频帧包含人声;若语音标志的数值为“1”,则说明该音频帧不是有效数据,该音频帧不包含人声。
对第一语音数据中的每个音频帧分别进行上述语音活跃检测的过程,得到第一语音数据中的有效数据。
步骤450,通过第一传输链路将第一语音数据从第一终端传输至第二终端。
第一语音数据中包括多个音频帧,多个音频帧中包括有效音频帧和其他音频帧,在通过第一传输链路将第一语音数据从第一终端传输至第二终端的过程中,无论音频帧的种类,都使用第一传输链路将其传输至第二终端。
步骤460,通过第二传输链路将第一语音数据中的有效数据从第一终端传输至第二终端。
有效数据是指包含指定发声源的音频数据帧,有效数据中包含的有效信息相较于第一语音数据中的其他数据所包含的有效信息更多,因此,在使用第一传输链路传输第一语音数据的基础上,额外使用第二传输链路将有效数据重复发送至第二终端,以降低数据传输过程中发生丢包情况的概率。
示意性的,如图5所示,图5是一个语音数据的传输过程示意图。
第一终端510对应第一用户,第二终端520对应第二用户。第一终端510作为发送端,第二终端520作为接收端。
第一用户与第二用户通过终端进行音视频通话,当第一终端510采集到音频帧,就对音频帧进行编码后处理,得到编码后的数据包。同时,对采集到的指定数量的音频帧(也即,由指定数量的音频帧构成的语音数据)进行语速检测,得到语速检测结果。由于语速检测过程是在第一终端510采集到指定数量的音频帧才能进行的,所以,第一终端510先使用默认的第一传输链路向第二终端520发送数据包。
第二终端520接收到第一终端510发送的数据包后,对数据包的丢失情况进行统计,并对数据包进行解码处理,得到与音频帧对应的原始的声音信号,该声音信号可被第二用户收听。
当丢包情况和语速检测结果均确定后,基于二者共同进行链路决策。若丢包情况达到开启第二传输链路的条件且语速检测结果也达到了预设的语速要求,则开启第二传输链路。后续在第一终端510和第二终端520之间进行数据传输时,可使用第一传输链路和第二传输链路进行并行传输。
值得注意的是,上述对于音频帧进行语音活跃检测的过程以及使用第二传输链路单独对有效音频帧进行重复发送的过程也是以音频帧为单位进行的。也即,在开启第二传输链路后,第一终端每采集到一帧音频帧,就对其进行语音活跃检测,确定当前音频帧是否为有效音频帧;若为有效音频帧,则使用第一传输链路和第二传输链路对该有效音频帧进行并行传输,传输至第二终端;若为其他音频帧,则仅使用第一传输链路对该其他音频帧进行传输,传输至第二终端。
值得注意的是,第一传输链路和第二传输链路是第一终端与第二终端之间进行数据传输所使用的传输链路,第一终端和第二终端作为接收端和发送端的情况是相对的。当第一终端对第一语音数据进行语速检测后,由于语速检测结果达到了开启第二传输链路的条件,后续第一终端与第二终端之间进行数据传输时,不仅第一终端可以使用第二传输链路向第二终端传输语音数据,第二终端也可以使用第二传输链路向第一终端传输语音数据。并且,第一终端与第二终端的数量、种类可以是任意的,本实施例对此不加以限定。
综上所述,本申请提供的方法,通过实时采集第一语音数据,对第一语音数据进行语速检测,得到对应的语速检测结果,根据语速检测结果从多个候选传输链路配置中确定目标传输链路,能够有效减少语音音频数据在传输过程中的丢包概率,提高了数据传输过程中的可靠性。语速检测结果用于表征第一语音数据中的语音表达在时序上的密度分布情况,根据语速检测结果选择对应的传输链路。当语速检测结果表示语音表达在时序上密度较高时,能够避免因数据丢包造成的较多信息丢失的情况,有效提高了音视频通话的质量。
本实施例提供的方法,通过获取历史时间段内第一终端与第二终端之间进行语音音频数据传输过程中的数据丢包情况,将丢包情况和语速检测结果共同作为开启第二传输链路的条件,能够提高链路决策的准确性,保证了数据传输过程的稳定性。
图6是本申请一个示例性实施例提供的语音数据的传输装置的结构框图,如图6所示,该装置包括如下部分。
采集模块610,用于实时采集第一语音数据,所述第一语音数据是待实时传输至第二终端的语音音频数据;
检测模块620,用于对所述第一语音数据进行语速检测,得到所述第一语音数据对应的语速检测结果,所述语速检测结果用于表征所述第一语音数据中的语音表达在时序上的密度分布情况;
确定模块630,用于基于所述语速检测结果从多个候选传输链路配置中确定目标传输链路;
传输模块640,用于通过所述目标传输链路将所述第一语音数据从第一终端传输至所述第二终端。
在一个可选的实施例中,如图7所示,所述检测模块620,还包括:语音活跃检测单元621,用于对所述第一语音数据进行语音活跃检测,得到所述第一语音数据中的有效数据,所述有效数据是指被识别为存在指定发声源的音频帧数据;
分布密度分析单元622,用于对所述第一语音数据中的有效数据进行分布密度分析,得到所述第一语音数据对应的所述语速检测结果。
在一个可选的实施例中,所述分布密度分析单元622,还用于获取与所述指定发声源对应的基音周期数据,所述基音周期数据用于描述所述有效数据中音素发生变化的情况,其中,所述基音周期数据的周期长度为预设数量的音频帧所占的长度;对所述基音周期数据发生跳变的次数进行统计,得到基音周期跳变次数,所述基音周期跳变次数用于表示所述语速检测结果,其中,所述基音周期数据发生跳变是指所述基音周期数据对应的基音频率的幅值达到预设的幅值要求。
在一个可选的实施例中,所述分布密度分析单元622,还用于基于单个所述音频帧所占的长度对所述基音周期数据在时序上进行划分,得到与所述有效数据对应的多个基音周期子数据,所述多个基音周期子数据对应各自的基音频率的幅值;基于所述有效数据中第i+1个音频帧对应的基音频率的幅值与所述有效数据中第i个音频帧对应的基音频率的幅值之间的差值,确定所述基音周期数据发生跳变的情况;统计所述基音周期数据发生跳变的次数,得到所述基音周期跳变次数;其中,i为正整数。
在一个可选的实施例中,所述分布密度分析单元622,还用于响应于所述有效数据中第i+1个音频帧对应的基音频率的幅值与所述有效数据中第i个音频帧对应的基音频率的幅值之间的差值达到预设差值,确定所述有效数据中第i个音频帧与所述有效数据中第i+1个音频帧之间发生了跳变。
在一个可选的实施例中,所述多个候选传输链路配置中包括第一传输链路和第二传输链路;
所述确定模块630,还用于响应于所述语速检测结果达到预设的语速要求,将所述第一传输链路和所述第二传输链路确定为所述目标传输链路;
所述传输模块640,还用于对所述第一语音数据进行分布密度分析,得到所述第一语音数据中的有效数据,所述有效数据是指被识别为存在指定发声源的音频帧数据;通过所述第一传输链路将所述第一语音数据从所述第一终端传输至所述第二终端;通过所述第二传输链路将所述第一语音数据中的有效数据从所述第一终端传输至所述第二终端。
在一个可选的实施例中,所述确定模块630,还用于响应于所述语速检测结果未达到预设的语速要求,将所述第一传输链路确定为所述目标传输链路。
在一个可选的实施例中,所述确定模块630之前,所述装置还包括:获取模块650,用于获取历史时间段内所述第一终端与所述第二终端之间进行语音音频数据传输过程中的数据丢包情况;
所述确定模块630,还用于响应于所述历史时间段内所述数据丢失情况符合开启所述第二传输链路的条件且所述语速检测结果达到所述预设的语速要求,将所述第一传输链路和所述第二传输链路确定为所述目标传输链路。
在一个可选的实施例中,所述分布密度分析单元622,还用于对所述基音周期数据发生跳变的次数,以及所述第一语音数据中音频帧发生跳变的次数进行统计,得到所述基音周期跳变次数,其中,所述第一语音数据中音频帧发生跳变是指第i+1个音频帧为有效数据且第i个音频帧为其他数据,其中,所述其他数据是指所述第一语音数据中除所述有效数据以外的音频帧数据。
综上所述,本申请提供的语音数据的传输装置,通过实时采集第一语音数据,对第一语音数据进行语速检测,得到对应的语速检测结果,根据语速检测结果从多个候选传输链路配置中确定目标传输链路,能够有效减少语音音频数据在传输过程中的丢包概率,提高了数据传输过程中的可靠性。语速检测结果用于表征第一语音数据中的语音表达在时序上的密度分布情况,当语速检测结果表示语音表达在时序上密度较高时,根据语速检测结果选择对应的传输链路,能够避免因数据丢包造成的较多信息丢失的情况,有效提高了音视频通话的质量。
需要说明的是:上述实施例提供的语音数据的传输装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的语音数据的传输装置与语音数据的传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图8示出了本申请一个示例性实施例提供的计算机设备800的结构框图。该计算机设备800可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备800包括有:处理器801和存储器802。
处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的语音数据的传输方法。
在一些实施例中,计算机设备800还包括其他组件,本领域技术人员可以理解,图8中示出的结构并不构成对计算机设备800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的语音数据的传输方法。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的语音数据的传输方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的语音数据的传输方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种语音数据的传输方法,其特征在于,所述方法包括:
实时采集第一语音数据,所述第一语音数据是待实时传输至第二终端的语音音频数据;
对所述第一语音数据进行语速检测,得到所述第一语音数据对应的语速检测结果,所述语速检测结果用于表征所述第一语音数据中的语音表达在时序上的密度分布情况;
基于所述语速检测结果从多个候选传输链路配置中确定目标传输链路;
通过所述目标传输链路将所述第一语音数据从第一终端传输至所述第二终端。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一语音数据进行语速检测,得到所述第一语音数据对应的语速检测结果,包括:
对所述第一语音数据进行语音活跃检测,得到所述第一语音数据中的有效数据,所述有效数据是指被识别为存在指定发声源的音频帧数据;
对所述第一语音数据中的有效数据进行分布密度分析,得到所述第一语音数据对应的所述语速检测结果。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一语音数据中的有效数据进行分布密度分析,得到所述第一语音数据对应的所述语速检测结果,包括:
获取与所述指定发声源对应的基音周期数据,所述基音周期数据用于描述所述有效数据中音素发生变化的情况,其中,所述基音周期数据的周期长度为预设数量的音频帧所占的长度;
对所述基音周期数据发生跳变的次数进行统计,得到基音周期跳变次数,所述基音周期跳变次数用于表示所述语速检测结果,其中,所述基音周期数据发生跳变是指所述基音周期数据对应的基音频率的幅值达到预设的幅值要求。
4.根据权利要求3所述的方法,其特征在于,所述对所述基音周期数据发生跳变的次数进行统计,得到基音周期跳变次数,包括:
基于单个所述音频帧所占的长度对所述基音周期数据在时序上进行划分,得到与所述有效数据对应的多个基音周期子数据,所述多个基音周期子数据对应各自的基音频率的幅值;
基于所述有效数据中第i+1个音频帧对应的基音频率的幅值与所述有效数据中第i个音频帧对应的基音频率的幅值之间的差值,确定所述基音周期数据发生跳变的情况;
统计所述基音周期数据发生跳变的次数,得到所述基音周期跳变次数;其中,i为正整数。
5.根据权利要求4所述的方法,其特征在于,所述基于所述有效数据中第i+1个音频帧对应的基音频率的幅值与所述有效数据中第i个音频帧对应的基音频率的幅值之间的差值,确定所述基音周期数据发生跳变的情况,还包括:
响应于所述有效数据中第i+1个音频帧对应的基音频率的幅值与所述有效数据中第i个音频帧对应的基音频率的幅值之间的差值达到预设差值,确定所述有效数据中第i个音频帧与所述有效数据中第i+1个音频帧之间发生了跳变。
6.根据权利要求1所述的方法,其特征在于,所述多个候选传输链路配置中包括第一传输链路和第二传输链路;
所述基于所述语速检测结果从多个候选传输链路配置中确定目标传输链路,包括:
响应于所述语速检测结果达到预设的语速要求,将所述第一传输链路和所述第二传输链路确定为所述目标传输链路;
所述通过所述目标传输链路将所述第一语音数据从第一终端传输至所述第二终端,包括:
对所述第一语音数据进行分布密度分析,得到所述第一语音数据中的有效数据,所述有效数据是指被识别为存在指定发声源的音频帧数据;
通过所述第一传输链路将所述第一语音数据从所述第一终端传输至所述第二终端;
通过所述第二传输链路将所述第一语音数据中的有效数据从所述第一终端传输至所述第二终端。
7.根据权利要求6所述的方法,其特征在于,所述基于所述语速检测结果从多个传输链路配置中确定目标传输链路,包括:
响应于所述语速检测结果未达到预设的语速要求,将所述第一传输链路确定为所述目标传输链路。
8.根据权利要求6所述的方法,其特征在于,所述响应于所述语速检测结果达到预设的语速要求,将所述第一传输链路和所述第二传输链路确定为所述目标传输链路之前,所述方法还包括:
获取历史时间段内所述第一终端与所述第二终端之间进行语音音频数据传输过程中的数据丢包情况;
所述响应于所述语速检测结果达到预设的语速要求,将所述第一传输链路和所述第二传输链路确定为所述目标传输链路,包括:
响应于所述历史时间段内所述数据丢失情况符合开启所述第二传输链路的条件且所述语速检测结果达到所述预设的语速要求,将所述第一传输链路和所述第二传输链路确定为所述目标传输链路。
9.根据权利要求3所述的方法,其特征在于,所述对所述基音周期数据发生跳变的次数进行统计,得到基音周期跳变次数,还包括:
对所述基音周期数据发生跳变的次数,以及所述第一语音数据中音频帧发生跳变的次数进行统计,得到所述基音周期跳变次数,其中,所述第一语音数据中音频帧发生跳变是指第i+1个音频帧为有效数据且第i个音频帧为其他数据,其中,所述其他数据是指所述第一语音数据中除所述有效数据以外的音频帧数据。
10.一种语音数据的传输装置,其特征在于,所述装置包括:
采集模块,用于实时采集第一语音数据,所述第一语音数据是待实时传输至第二终端的语音音频数据;
检测模块,用于对所述第一语音数据进行语速检测,得到所述第一语音数据对应的语速检测结果,所述语速检测结果用于表征所述第一语音数据中的语音表达在时序上的密度分布情况;
确定模块,用于基于所述语速检测结果从多个候选传输链路配置中确定目标传输链路;
传输模块,用于通过所述目标传输链路将所述第一语音数据从第一终端传输至所述第二终端。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至9任一所述的语音数据的传输方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至9任一所述的语音数据的传输方法。
CN202311271962.6A 2023-09-28 2023-09-28 语音数据的传输方法、装置、设备、介质和程序产品 Active CN116996622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311271962.6A CN116996622B (zh) 2023-09-28 2023-09-28 语音数据的传输方法、装置、设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311271962.6A CN116996622B (zh) 2023-09-28 2023-09-28 语音数据的传输方法、装置、设备、介质和程序产品

Publications (2)

Publication Number Publication Date
CN116996622A CN116996622A (zh) 2023-11-03
CN116996622B true CN116996622B (zh) 2023-11-28

Family

ID=88521762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311271962.6A Active CN116996622B (zh) 2023-09-28 2023-09-28 语音数据的传输方法、装置、设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN116996622B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924113A (zh) * 2018-06-25 2018-11-30 京信通信***(中国)有限公司 语音编码速率的调整方法、装置、计算机存储介质及设备
CN110505658A (zh) * 2018-05-16 2019-11-26 中国电信股份有限公司 语音速率调整方法、终端以及VoLTE***
CN111245734A (zh) * 2020-01-08 2020-06-05 腾讯科技(深圳)有限公司 音频数据传输方法、装置、处理设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6885638B2 (en) * 2002-06-13 2005-04-26 Motorola, Inc. Method and apparatus for enhancing the quality of service of a wireless communication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110505658A (zh) * 2018-05-16 2019-11-26 中国电信股份有限公司 语音速率调整方法、终端以及VoLTE***
CN108924113A (zh) * 2018-06-25 2018-11-30 京信通信***(中国)有限公司 语音编码速率的调整方法、装置、计算机存储介质及设备
CN111245734A (zh) * 2020-01-08 2020-06-05 腾讯科技(深圳)有限公司 音频数据传输方法、装置、处理设备及存储介质

Also Published As

Publication number Publication date
CN116996622A (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
US9558744B2 (en) Audio processing apparatus and audio processing method
WO2021051506A1 (zh) 语音交互方法、装置、计算机设备及存储介质
CN105099949A (zh) 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
CN110838894B (zh) 语音处理方法、装置、计算机可读存储介质和计算机设备
CN111371957B (zh) 一种冗余度控制方法、装置、电子设备和存储介质
CN111464262B (zh) 数据处理方法、装置、介质及电子设备
CN104766608A (zh) 一种语音控制方法及装置
CN105099795A (zh) 抖动缓冲器水平估计
JP2022552382A (ja) 音声伝送方法及びそのシステム、装置、コンピュータプログラム、並びにコンピュータ機器
CN109274922A (zh) 一种基于语音识别的视频会议控制***
CN112767955A (zh) 音频编码方法及装置、存储介质、电子设备
CN116996622B (zh) 语音数据的传输方法、装置、设备、介质和程序产品
WO2023202250A1 (zh) 音频传输方法、装置、终端、存储介质及程序产品
WO2023245231A1 (en) Scam call prevention
CN114842857A (zh) 语音处理方法、装置、***、设备及存储介质
CN112802485B (zh) 语音数据处理方法、装置、计算机设备及存储介质
CN104934040A (zh) 音频信号的时长调整方法和装置
JP2003218932A (ja) エラー隠蔽装置及び方法
CN116259322A (zh) 音频数据压缩方法及相关产品
CN116095395A (zh) 一种调整缓冲区长度的方法、装置、电子设备和存储介质
CN114242067A (zh) 语音识别方法、装置、设备和存储介质
CN114005436A (zh) 语音端点的确定方法、装置及存储介质
CN113259063B (zh) 数据处理方法、装置、计算机设备和计算机可读存储介质
CN117793078B (zh) 一种音频数据的处理方法、装置、电子设备和存储介质
CN117081973B (zh) 数据包传输方法、装置、设备、介质和计算机程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant