CN113259063B - 数据处理方法、装置、计算机设备和计算机可读存储介质 - Google Patents
数据处理方法、装置、计算机设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113259063B CN113259063B CN202110646281.8A CN202110646281A CN113259063B CN 113259063 B CN113259063 B CN 113259063B CN 202110646281 A CN202110646281 A CN 202110646281A CN 113259063 B CN113259063 B CN 113259063B
- Authority
- CN
- China
- Prior art keywords
- voice
- frame data
- data
- type
- voice frame
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、计算机设备和计算机可读存储介质,涉及通信技术领域,可以获取目标音频文件中的第一语音帧数据;获取已发送的第二语音帧数据的语音类型;根据第一语音帧数据和第二语音帧数据的语音类型,得到当前语音数据;发送当前语音数据。该方案通过根据语音帧数据和语音类型得到语音数据并进行发送,使得接收到语音数据的接收端可以根据语音类型发起丢包重传请求,提高了音频的传输效率。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种数据处理方法、装置、计算机设备和计算机可读存储介质。
背景技术
由于传输网络的不稳定性,通话过程中出现语音丢失情况,造成接收终端接收到的音频卡顿和不连贯,通话质量差。
通常采用停等式丢包重传方式、回退N丢包重传方式、或者是选择性重传方式防止语音丢失。其中,停等式丢包重传方式需要接收到接收终端发送的确认信息后,才发送下一帧语音帧数据,信道每次只传输一帧语音帧数据,信道利用率低,传输效率低;回退N丢包重传方式不需要接收到确认信息后,才发送下一个语音帧数据,可以连续发送语音帧数据,当语音帧数据丢失时,发送终端会重新发送丢失的语音帧数据以及过去N帧语音帧数据,过去N即使成功接收也需要重新发送,音频传输效率低;选择性重传方式防止语音只针对丢失的语音帧数据进行重新发送,即使丢失的语音帧数据为空白也需要重新发送,影响音频传输效率。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备和计算机可读存储介质,可以提高音频的传输效率,减少音频传输的延迟时间。
本申请实施例提供的一种数据处理方法,包括:
获取目标音频文件中第一语音帧数据;
获取已发送的第二语音帧数据的语音类型;
根据第一语音帧数据和所述第二语音帧数据的语音类型,得到当前语音数据;
发送所述当前语音数据。
本申请实施例提供的另一种数据处理方法,包括:
接收第一目标语音数据,所述第一目标语音数据包括所述第二目标语音数据的语音类型,所述第二目标语音数据的发送时序处于所述第一目标语音数据之前;
当确定所述第二目标语音数据丢包时,根据接收到所述第一目标语音数据包含的所述第二目标语音数据的语音类型发送丢包重传请求。
相应的,本申请实施例还提供的一种数据处理装置,包括:
第一获取单元,用于获取目标音频文件中第一语音帧数据;
第二获取单元,用于获取已发送的第二语音帧数据的语音类型;
得到单元,用于根据所述第一语音帧数据和所述第二语音帧数据的语音类型,得到当前语音数据;
发送单元,用于发送所述当前语音数据。
相应的,本申请实施例还提供的另一种数据处理装置,包括:
接收单元,用于接收第一目标语音数据,所述第一目标语音数据包括所述第二目标语音数据的语音类型,所述第二目标语音数据的发送时序处于所述第一目标语音数据之前;
发送单元,用于当确定所述第二目标语音数据丢包时,根据接收到的所述第一目标语音数据包含的所述第二目标语音数据的语音类型发送丢包重传请求。
相应的,本申请实施例还提供的一种计算机设备,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行本申请实施例提供的任一种数据处理方法。
相应的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器加载以执行本申请实施例提供的任一种数据处理方法。
本申请实施例可以获取目标音频文件中的第一语音帧数据;获取已发送的第二语音帧数据的语音类型;根据第一语音帧数据和第二语音帧数据的语音类型,得到当前语音数据;发送当前语音数据。该方案通过根据语音帧数据和语音类型得到语音数据并进行发送,使得接收到语音数据的接收端可以根据语音类型发起丢包重传请求,提高了音频的传输效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据处理方法的场景图;
图2是本申请实施例提供的数据处理方法的流程图;
图3是本申请实施例提供的数据处理方法的另一流程图;
图4是本申请实施例提供的数据处理方法的另一流程图;
图5是本申请实施例提供的语音帧数据等级判断示意图;
图6是本申请实施例提供的数据处理装置示意图;
图7是本申请实施例提供的另一数据处理装置示意图;
图8是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种数据处理方法、装置、计算机设备和计算机可读存储介质。该数据处理装置可以集成在计算机设备中,该计算机设备可以是终端,也可以是服务器等设备。
其中,终端可以包括手机、穿戴式智能设备、平板电脑、笔记本电脑、以及个人计算(PC,Personal Computer)等。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,如图1所示,数据处理装置集成在终端中,该终端可以是发送终端,或者是接收终端,发送终端获取第一语音帧数据,以及第二语音帧数据的语音类型,根据第一语音帧数据和语音类型得到的当前语音数据,例如,进行打包处理,然后,将当前语音数据发送给接收终端,接收终端根据接收到的当前语音数据,输出目标语音数据。该方案通过根据语音帧数据和语音类型得到语音数据并进行发送,使得接收到语音数据的接收终端可以根据语音类型发起丢包重传请求,可以提高音频的传输效率。
其中,发送终端和接收终端处于相互通信状态,发送终端可以获取的语音帧数据,并将语音帧数据发送给接收终端,接收终端可以根据接收到的语音帧数据输出音频信息,实现发送终端和接收终端的相互通信。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从数据处理装置的角度进行描述,该数据处理装置具体可以集成在计算机设备中,该计算机设备可以终端、也可以是服务器等设备。如图2所示,该数据处理方法的具体流程可以如下:
101、获取目标音频文件中第一语音帧数据。
其中,目标音频文件可以是包括需要发送并输出的的语音的文件,例如,计算机设备采集的需要发送给接收方,并通过接收方输出的音频文件。
其中,第一语音帧数据可以是对目标音频文件进行预处理,从目标音频文件截取得到的一段语音。
比如,具体可以是获取目标音频文件,对目标音频文件进行预处理,从目标音频文件中截取一段长度为帧长的语音,得到第一语音帧数据。
对目标音频文件进行预处理,可以是对目标音频文件进行信号数字化、端点检测、预加重、加窗、和分帧等处理。
102、获取已发送的第二语音帧数据的语音类型。
其中,第二语音帧数据可以是对目标音频文件进行预处理,从目标音频文件截取得到的一段语音,在时间顺序上,第二语音帧数据先于第一语音帧数据。
第二语音帧数据和第一语音帧数据可以是目标音频中相邻的两帧语音帧数据,此时,第二语音帧数据可以称为第一语音帧数据的前一帧语音帧数据,第一语音帧数据可以称为第二语音帧数据的后一帧语音帧数据。语音帧数据可以采用逐帧发送的方式,发送第二语音帧数据后,发送第一语音帧数据。
其中,语音类型可以包括活跃类型和非活跃类型,活跃类型表示该语音帧数据可以是关键性语音帧数据,关键性语音帧数据可以是包含的语音信息量大的语音帧数据,比如可以是语音片段,非活跃类型表示该语音帧数据可以是非关键性语音帧数据。
非关键性语音帧数据可以是包含较少或者不包含语音信息量的语音帧数据,比如可以是非语音片段,非语音片段可以包括纯噪声片段和静音片段等。
例如,通话过程中,关键性语音帧数据可以是包括用户通话声音信号的语音帧数据,非关键性语音帧数据可以是空白帧或者是只包括噪声的语音帧数据,活跃类型可以是利用1表示,非活跃类型可以利用0表示。
比如,具体可以是第二语音帧数据被发送前,对第二语音帧数据进行了语音类型检测,将得到的语音类型进行保存,当发送第一语音帧数据时,从数据库、内存或者缓存中获取第二语音帧数据的语音类型。
其中,语音类型可以通过对语音帧数据进行特征检测,根据语音帧数据的特征,确定语音帧数据的语音类型,即在一实施例中,步骤“获取目标音频文件中的第一语音帧数据”之前,具体可以是包括:
获取目标音频文件中的第二语音帧数据;
对第二语音帧数据进行特征检测,以确定第二语音帧数据的语音类型。
其中,特征检测可以是对第二语音帧数据进行特征提取,并根据提取的特征进行检测,以对第二语音帧数据的语音类型进行识别。
比如,具体可以是获取目标音频文件,对目标音频文件进行预处理,从目标音频文件中截取一段长度为帧长的语音,得到第二语音帧数据。提取第二语音帧数据的特征,根据特征确定第二语音帧数据的语音类型,并将语音类型进行保存,当发送第一语音帧数据时,获取已保存的第二语音帧数据的语音类型。
例如,对第二语音帧数据进行采样,得到多个样本以及每个样本对应的信号强度,基于每个样本的信号强度计算平均信号强度,得到第二语音帧数据的特征,将该特征与预设阈值进行比较,若大于或等于预设阈值,则第二语音帧数据的语音类型为活跃类型,即第二语音帧数据为关键性语音帧数据;若小于预设阈值,则第二语音帧数据的语音类型为非关键性语音帧数据。关键性语音帧数据可以记为1,非关键性语音帧数据可以记为0,可以保存语音类型的标识信息。
在一实施例中,可以通过语音活跃检测(Voice Activity Detection ,VAD)算法提取第二语音帧数据的多个特征,并基于提取到的多个特征进行处理,提高识别第二语音帧数据的语音类型的正确性,即在一实施例中,步骤“对第二语音帧数据进行特征检测,以确定第二语音帧数据的语音类型”,具体可以包括:
对第二语音帧数据进行语音活跃检测,得到第二语音帧数据的第一活跃度;
基于第一活跃度,确定第二语音帧数据的语音类型。
其中,第一活跃度可以是对第二语音帧数据进行语音活跃性检测得到的,表示第二语音帧数据活跃性的值,例如,活跃性为0表示第二语音帧数据的活跃性低,活跃性为1表示第二语音帧数据的活跃性高。活跃性高表示第二语音帧数据为关键性语音帧数据的可能性高。
比如,具体可以利用语音活跃检测(Voice Activity Detection ,VAD)算法提取第二语音帧数据的特征,根据提取的特征确定第二语音帧数据的活跃度。例如,在一实施例中,可以提取第二语音帧数据的信号强度,根据信号强度计算第二语音帧数据的短时能量(short time energy, STE)和短时过零率(zero cross counter, ZCC),根据短时能量和短时过零率,确定第二语音帧数据的第一活跃度。
例如,可以根据短时能量和短时过零率与阈值的关系,确定第二语音帧数据的第一活跃度,例如,短时能量大于第一预设阈值,且短时过零率小于第二预设阈值,则第二语音帧数据的第一活跃度为1,可以记为vad1=1;否则,第二语音帧数据的第一活跃度为0,可以记为vad1=0。
根据第一活跃度确定第二语音帧数据的语音类型可以是,若vad1=1,则可以确定第二语音帧数据的语音类型为语音类型为活跃类型,即第二语音帧数据为关键性语音帧数据。若vad1=0,则可以确定第二语音帧数据的语音类型为非活跃类型,即第二语音帧数据为非关键性语音帧数据。
其中,短时能量可以是通过对第二语音帧数据进行采样,得到的多个语音信号样本,计算语音信号样本的信号强度的平方和得到。
其中,短时过零率可以是表示第二语音帧数据中一帧语音中时域信号波形通过时间轴的次数,即第二语音帧数据中语音信号样本数值符号改变的次数。
其中,可以根据实际应用场景调整第一预设阈值和第二预设阈值的大小,以及根据短时能量和短时过零率与阈值确定第二语音帧数据的第一活跃度的条件,在此不做赘述。
可选的,为了更加精确地确定第二语音帧数据的语音类型,可以提取基于能量的特征、频域特征、倒谱特征、谐波特征、以及长时信息特征等多个特征,基于上述任意一个特征,或者是其中的多个特征的组合,确定第二语音帧数据的语音类型。
可选的,通过提取的特征判断第二语音帧数据的语音类型可以是通过阈值法,即上述基于特征得到的第一活跃度与阈值之间的关系,确定语音类型的方法,还可以是基于统计模型方法确定语音类型,或者是通过机器学习方法,比如神经网络模型确定语音类型。
由于用户在通话过程中,用户可能正在说话,或者不在说话,而用户在停止说话一段时间后,通常会继续说话在音频传输过程中,可以根据结合前一帧和当前帧的检测结果,确定当前帧的语音类型,提高语音类型判断的正确性。当前帧可以是正在确定语音类型的语音帧数据,前一帧即当前帧的前一帧的语音帧数据。
例如,可以根据第二语音帧数据以及第二语音帧数据的前一帧语音帧数据的活跃度确定第二语音帧数据的语音类型,即在一实施例中,步骤“对第二语音帧数据进行语音活跃检测,得到第二语音帧数据的第一活跃度”之后,具体还可以是:
获取第三语音帧数据,第三语音帧数据的获取时序处于第二语音帧数据之前;
对第三语音帧数据进行语音活跃检测,得到第三语音帧数据的第二活跃度;
步骤“基于第一活跃度,确定第二语音帧数据的语音类型”,具体可以包括:
根据第一活跃度和第二活跃度,确定第二语音帧数据的语音类型。
其中,第三语音帧数据可以是对目标音频文件进行预处理,从目标音频文件截取得到的一段语音,第三语音帧数据的获取时序在第二语音帧数据之前。例如,第三语音帧数据可以是第二语音帧数据的前一帧语音帧数据。
其中,获取时序可以表示获取到的语音帧数据在时间上的前后顺序,可以根据获取时序发送时间顺序正确的音频,使接收端可以输出正确的音频。
在获取时序上,第三语音帧数据先于第二语音帧数据,第二语音帧数据先于第一语音帧数据,第三语音帧数据在第二语音帧数据之前获取到,第二语音帧数据在第一语音帧数据之前获取到。
其中,第二活跃度可以是对第三语音帧数据进行语音活跃性检测得到的,表示第三语音帧数据的活跃性的值的值,可以记为vad2。
比如,具体可以是利用VAD算法,计算得到第三语音帧数据的第二活跃度(具体计算方式可以参考上述计算第二语音帧数据的第一活跃度的过程),根据第一活跃度和第二活跃度,确定第二语音帧数据的语音类型。
例如,若vad1=1,且vad2=0,则第二语音帧数据为语音类型为活跃类型;若vad1=1,且vad2=1,则第二语音帧数据为语音类型为活跃类型;否则第二语音帧数据为语音类型为非活跃类型。
在一实施例中,可以根据第二语音帧数据的特征,得到第二语音帧数据的等级,根据等级与预设等级之间的关系,确定第二语音帧数据的语音类型。
例如,在一实施例中,可以根据第二语音帧数据的特征确定第二语音帧数据的等级,根据等级与预设等级之间的关系,确定第二语音帧数据的语音类型。
例如,若vad1=1,且vad2=0,则第二语音帧数据的等级为第一等级;若vad1=1,且vad2=1,则第二语音帧数据的等级为第二等级;若vad1=0,且vad2=1,则第二语音帧数据的等级为第三等级;若vad1=0,且vad2=0,则第二语音帧数据的等级为第四等级。
例如,预设等级为第二等级,若第二语音帧数据的等级大于或者等于预设等级,则第二语音帧数据属于关键性语音帧数据,例如,第二语音帧数据的等级为为第一等级,大于预设等级,则第二语音帧数据的语音类型为活跃类型,即第二语音帧数据属于关键性语音帧数据。
由于语音帧数据的长度通常和小于音素的长度,音素可以是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。人在说话时口型会发生变化,因此所采集到的语音帧数据不同,因此,可以是根据前后帧的语音帧数据进一步确定语音帧数据的语音类型,即在一实施例中,步骤“对第三语音帧数据进行语音活跃检测,得到第三语音帧数据的第二活跃度”之后,具体还可以包括:
计算第二语音帧数据的能量值,以及计算第三语音帧数据的能量值;
计算第二语音帧数据的能量值,与第三语音帧数据的能量值之间的比值,得到能量比;
步骤“根据第一活跃度和第二活跃度,确定第二语音帧数据的语音类型”,具体可以是:
基于第一活跃度、第二活跃度、第一语音帧的能量值、以及能量比,确定第二语音帧数据的语音类型。
其中,能量值可以是语音帧数据中绝对值最大的振幅,并将该绝对值最大的振幅除以1000得到的数值。
其中,能量比可以是第二语音帧数据的能量值,与第三语音帧数据的能量值的比值。
比如,具体可以是获取第二语音帧数据绝对值最大的振幅,将该绝对值最大的振幅除以1000,得到能量值。以同样的方式对第三语音帧数据进行处理,得到第三语音帧数据的能量值。
计算第二语音帧数据的能量值,与第三语音帧数据的能量值之间的比值,得到能量比。
例如,若vad1=1,且vad2=0,则第二语音帧数据为语音类型为活跃类型;若vad1=1,vad2=1,能量比大于第三预设阈值,以及第二语音帧数据的能量值大于第四预设阈值,则第二语音帧数据为语音类型为活跃类型,否则,第二语音帧数据为非活跃类型。
例如,在一实施例中,可以根据第二语音帧数据的特征确定第二语音帧数据的等级,根据等级与预设等级之间的关系,确定第二语音帧数据的语音类型。
音量、音高、和音色是声音的三大属性,其中,音高是可以由声音的基频决定,基频可以是对语音帧数据进行频率分析,分析结果中最低的频率。
可以根据前后帧的语音帧数据的基频值确定第二语音帧数据的语音类型,即在一实施例中,步骤“对第三语音帧数据进行语音活跃检测,得到第三语音帧数据的第二活跃度”之后,具体还可以包括:
计算第二语音帧数据的基频值,以及计算第三语音帧数据的基频值;
计算第二语音帧数据的基频值,与第三语音帧数据的基频值之间的差值,得到基频差;
步骤“基于第一活跃度和第二活跃度,确定第二语音帧数据的语音类型”,具体可以是:
基于第一活跃度、第二活跃度、以及基频差,确定第二语音帧数据的语音类型。
其中,基频值可以是第二语音帧数据的基频特征得到的值。
比如,具体可以是通过时域算法寻找第二语音帧数据的波形的最小正周期,最小周期的值即为基频值;还可以通过频域算法先对第二语音帧数据做傅里叶变换,得到频谱。频谱上在基频的整数倍处会有尖峰,计算尖峰频率的最大公约数,得到第二语音帧数据基频值。
对第三语音帧数据进行相同的处理,得到第三语音帧数据的基频值。
计算第二语音帧数据的基频值,与第三语音帧数据的基频值之间的差值,即第二语音帧数据的基频值减去第三语音帧数据的基频值的差的绝对值,得到基频差。
根据第一活跃度、第二活跃度、以及基频差确定第二语音帧数据的语音类型,例如, vad1=1,且vad2=0,则第二语音帧数据为语音类型为活跃类型;若vad1=1,且vad2=1,且基频差大于第五预设阈值,则第二语音帧数据为语音类型为活跃类型;否则,第二语音帧数据的语音类型为非活跃类型。
在一实施例中,可以根据特征检测先确定第二语音帧数据的等级,根据等级确定第二语音帧数据的语音类型,即在一实施例中,步骤“确定第二语音帧数据的语音类型”,具体可以是:
确定第二语音帧数据的等级;
将等级与预设等级进行比较,确定第二语音帧数据的语音类型。
其中,等级可以是对语音帧数据进行特征检测,根据语音帧数据的特征差异对多个语音帧进行区分的标准。
例如,对第二语音帧数据进行特征检测,得到第一语音帧的特征,将第一语音帧的特征与等级标准进行比较,确定第一语音帧的等级。
其中,等级设置可以是第一等级设置为:当前帧语音帧数据的活跃度为1,前一帧语音帧数据的活跃度为0。
第二等级:当前帧和前一帧语音帧数据的活跃度均为1,且当前帧语音帧数据的能量值与前一帧语音帧数据的能量值的比值大于第三预设阈值,且当前帧语音帧数据的能量值大于第四预设阈值。
第三等级:当前帧和前一帧语音帧数据的活跃度均为1,且当前帧语音帧数据的基频值与前一帧语音帧数据的基频值之差大于第五预设阈值。
第四等级:当前帧和前一帧语音帧数据的活跃度均为1。
第五等级:当前帧和前一帧语音帧数据的活跃度均为0。
假设预设等级为第二等级,根据第二语音帧数据的特征确定第二语音帧数据的等级,若第二语音帧数据的等级大于或等于预设等级,则第二语音帧数据的语音类型为活跃类型,即第二语音帧数据为语音片段。
其中,预设阈值和预设等级可以根据应用场景需要进行灵活设置,在此不做限定。
根据第二语音帧数据的等级与预设等级之间的关系,确定第二语音帧数据的语音类型,可以提高对第二语音帧数据的语音类型进行判断的灵活度,例如,当网络良好时,可以快速响应请求,通过对预设等级进行调整,例如,将预设等级为第二等级调整为第三等级,即可实现接收终端获取到更加完整的音频信息,若网络较差时,可以将预设等级从第二等级调整为第一等级,接收终端可以在较小的延迟内,接收到通话的主要内容。
除此之外,根据等级确定第二语音帧数据的语音类型,可以根据网络或者用户的设置进行实时调整预设等级,以适应用户的需求。
103、根据第一语音帧数据和第二语音帧数据的语音类型,得到当前语音数据。
其中,当前语音数据可以是包括第一语音帧数据和第二语音帧数据的语音类型的数据。
例如,可以是将第一语音帧数据和第二语音帧数据的语音类型存储至一个文件中,相当于将第一语音帧数据和第二语音帧数据的语音类型进行归档处理或者打包,得到当前语音数据。
其中,归档处理可以是将第一语音帧数据和第二语音帧数据的语音类型存储至一个文件中,文件可以是用来组织和管理磁盘文件的一种数据结构。
当第二语音帧数据丢失时,可以根据当前语音数据确定第二语音帧数据的语音类型,然而,当第二语音帧数据和第一语音帧数据均丢失时,根据第一语音帧数据之后获取的语音帧数据,可以是确定第一语音帧数据的语音类型,但无法确定第二语音帧数据的语音类型,因此,在一实施例中,可以将第一语音帧数据,和第一语音帧数据的前N帧的语音帧数据的语音类型进行打包,得到当前语音数据。在一实施例中,为了提高传输速度还可以将打包的文件进行压缩,以减小文件的大小,提高传输的速度。
104、发送当前语音数据当前语音数据当前语音数据。
比如,具体可以是将当前语音数据发送至接收端,接收端根据接收得到的当前语音数据进行处理后,输出当前语音数据。
例如,接收端对当前语音数据进行解码、信号增强等处理,将当前语音数据中的第一语音帧数据转化得到音频信息,通过接收端的音频通道输出当前语音数据。
在一实施例中,接收端可以是参与双人通话、或者多人通话的接收终端。
当接收端没有接收到当前语音数据时,接收端可以发送丢包重传请求,根据丢包重传请求重新发送当前语音数据,即在一实施例中,数据处理方法具体还可以包括:
接收针对丢包的当前语音数据,发送的丢包重传请求;
根据丢包重传请求获取当前语音数据;
发送当前语音数据。
比如,具体可以是,当接收端没有接收到当前语音数据时,接收端可以发送丢包重传请求,计算机设备接收到丢包重传请求,从内存、数据库或者是缓存中获取与所述丢包重传请求对应的当前语音数据,将当前语音数据重新发送给接收端。
在一实施例中,还可以利用区块链实现该消息处理方法,例如,得到当前语音数据后,可以将当前语音数据上传至区块链中,接收方可以从区块链中获取语音数据,并进行处理,输出相应的音频。
由上可知,本申请实施例可以获取目标音频文件中的第一语音帧数据;获取已发送的第二语音帧数据的语音类型;根据第一语音帧数据和第二语音帧数据的语音类型,得到当前语音数据;发送当前语音数据。该方案通过根据语音帧数据和语音类型得到语音数据并进行发送,使得接收到语音数据的接收方可以根据语音类型发起丢包重传请求,提高了音频的传输效率。
在上述实施例的基础上,下面将举例做进一步详细说明。
本实施例将从数据处理装置的角度进行描述,该数据处理装置具体可以集成在计算机设备中,该计算机设备可以是终端、也可以是服务器等设备。
本申请实施例提供的一种数据处理方法,如图3所示,该数据处理方法的具体流程可以如下:
201、接收第一目标语音数据,第一目标语音数据包括第二目标语音数据的语音类型,第二目标语音数据的发送时序处于所述第一目标语音数据之前。
其中,第一目标语音数据可以是包括第一语音帧数据和第二目标语音数据的语音类型(即第二语音帧数据的语音类型)的数据。
其中,第二目标语音数据可以是包括第二语音帧数据和第二语音帧数据的历史语音帧数据的语音类型的数据。历史语音帧数据可以是在时间顺序上先于第二语音帧数据的语音帧数据。例如,若第二目标语音数据携带的历史语音帧数据的语音类型,为过去一帧语音帧数据的语音类型,且过去一帧的语音类型为活跃类型,对应的标识为1,则第二目标语音数据中包括1。
若携带的历史语音帧数据的语音类型,为过去五帧语音帧数据的语音类型,语音类型按照时间先后顺序分别为非活跃、活跃、活跃、非活跃、以及活跃,非活跃类型的标识为0,则第二目标语音数据中包括01101。
比如,具体可以是接收终端和发送终端处于通讯状态,接收其他终端发送的第一目标语音数据。
202、当确定第二目标语音数据丢包时,根据接收到的第一目标语音数据包含的第二目标语音数据的语音类型发送丢包请求。
比如,具体可以是根据接收到的语音帧数据携带的信息,判断语音帧数据是否损坏,例如,根据传输控制协议对接收到的语音帧数据进行校验和,确定数据是否损坏,若损坏,则确定第二目标语音数据丢包,若没有损坏,则确定接收到第二目标语音数据,第二目标语音数据没有丢包。
还可以根据时间判断语音帧数据是否丢失,例如,在接收到第二语音帧数据后,超过预设时间没有接收到第一语音帧数据,则确定第一语音帧数据丢包,若在预设时间接收到第一语音帧数据,则确定接收到第一语音帧数据,第一语音帧数据没有丢包。同理,可以判断第二语音帧数据是否丢包。
当第二目标语音数据丢包时,可以根据第二语音帧数据的语音类型发送丢包重传请求。
在一实施例中,步骤“接收到的第一目标语音数据包含的第二目标语音数据的语音类型发送丢包请求”,具体可以包括:
若第一目标语音数据包含的第二目标语音数据的语音类型为活跃类型,则发送丢包重传请求;
若第一目标语音数据包含的第二目标语音数据的语音类型为非活跃类型,则基于数据隐藏算法,得到预测语音数据;
将预测语音数据作为第二目标语音数据。
比如,具体可以是当第二目标语音数据丢包,第一目标语音数据接收成功时,可以获取第一目标语音数据携带的第二目标语音数据的语音类型。
例如,第一目标语音数据携带过去五帧语音数据的语音类型为01101,根据第一目标语音数据携带的语音类型可以确定,第二语音帧数据的语音类型为活跃类型,表示第二语音帧数据为关键性语音帧数据,向发送语音数据的终端发起丢包重传请求,以使得终端重新发送第二语音帧数据。
若第二目标数据携带过去五帧语音数据的语音类型为01100,则根据第一目标语音数据携带的语音类型可以确定,第二语音帧数据的语音类型为非活跃类型,表示第二语音帧数据为非关键性语音帧数据,可以根据数据隐藏算法,计算得到预测语音数据。
例如,可以是获取预设语音帧数据,将该预设语音帧数据作为预测语音帧数据。
其中,预设语音帧数据可以是为静音语音帧数据,即为空白语音帧;还可以是背景语音帧数据,使得得到的音频不会突然没有声音,提高用户的体验感;还可以是第二语音帧数据的前一帧语音帧数据。
又例如,可以通过波形置换法得到预测语音帧数据,使用第二语音帧数据前一帧语音帧数据(或者后一帧语音帧数据)来找到合适的预测语音帧数据。它通过单端或双端模式来确认合适的基音周期,根据基音周期得到预测语音帧数据。
或者是通过基音波形复制法得到预测语音帧数据,利用第二语音帧数据的前一帧和后一帧的语音帧数据得到预测语音帧数据,在无声状态时可以重复前一帧语音帧数据,有声状态时重复基音波形得到预测语音帧数据。
或者是通过时间尺度修正法得到预测语音帧数据,该方法第二语音帧数据的前一帧和后一帧的语音帧数据按基音周期伸展来跨越第二语音帧数据区域,在两者交叠的地方进行平均,得到预测语音帧数据。
还可以是,将第二语音帧数据的前一帧语音帧数据与第一语音帧数据进行拼接,即最后得到的音频中不包括第二语音帧数据。
为了使音频过渡自然,可以对第二语音帧数据的前一帧语音帧数据进行处理,得到预测语音帧数据,即在一实施例中,步骤“基于数据隐藏算法,得到预测语音数据”,具体可以是:
获取第三目标语音数据,第三目标语音数据的发送时序处于第二目标语音数据之前;
基于预设策略获取第三目标语音数据中的目标片段;
对目标片段进行衰减处理,得到衰减片段;
将目标片段与衰减片段进行拼接处理,得到预测语音数据。
其中,第三目标语音数据可以是第二目标语音数据的前一语音数据,第三目标语音数据可以包括第三语音帧数据,第三语音帧数据可以时第二语音帧数据的前一帧语音帧数据。
其中,发送时序可以是表示语音帧数据被发送的顺序,根据发送时序可以输入正确的音频数据。
比如,具体可以是获取已经接收成功的第三语音帧数据,按照预设策略从第三语音数据中获取第三语音帧数据的目标片段,例如,获取第三语音帧数据中前预设时间的片段,作为目标片段。
对目标片段进行衰减处理,使目标片段中的振幅进行衰减,例如,在第二语音帧数据的帧长内将目标片段的振幅衰减至零,得到衰减片段。
将目标片段和衰减片段进行拼接处理,得到预测语音数据。
如果未接收第二目标语音数据和第一目标语音数据,则无法确定第二目标语音数据的第二语音帧数据的语音类型,可以根据历史语音数据预测第二语音帧数据的语音类型,即在一实施例中,数据处理方法具体还可以包括:
当确定第二目标语音数据丢包,以及确定第一目标语音数据丢包时,获取接收到的历史语音数据携带的历史语音类型;
根据历史语音类型进行预测,得到第二目标语音数据的语音类型;
根据语音类型发送丢包重传请求。
其中,历史语音数据可以是在发送时间顺序上,先于第二目标语音数据的语音数据,例如,第三目标语音数据可以是第二目标语音数据的历史语音数据,第二目标语音数据可以是第一目标语音数据的历史语音数据。
例如,具体可以是若第一目标语音数据,以及第二目标语音数据均丢包,则获取历史语音数据携带的历史语音类型,例如,获取第三目标语音数据携带的语音类型,确定第二语音帧数据的语音类型。
例如,将第三目标语音数据携带的第三语音帧数据的前一帧语音帧数据的语音类型作为第二语音帧数据的语音类型。
还可以采集语音帧数据样本对神经网络模型进行训练,使得可以通过神经网络模型基于历史语音数据携带的语音类型预测第二语音帧数据的语音类型。
若语音类型为活跃类型,则发送丢包重传请求。
若语音类型为非活跃类型,则根据数据隐藏算法,得到预测语音数据,将预测语音数据作为第二目标语音数据。
在一实施例中,接收到第一目标语音数据和第二目标语音数据,则输出第一目标语音数据和第二目标语音数据。具体可以是获取第二目标语音数据中的第二语音帧数据,对第二语音帧数据进行解码,得到音频信息,输出该音频信息。对第一目标语音数据进行同样的处理后,输出第一目标语音数据。
由上可知,本申请实施例可以接收第一目标语音数据,第一目标语音数据包括第二目标语音数据的语音类型,第二目标语音数据的发送时序处于第一目标语音数据之前;当确定第二目标语音数据丢包时,根据接收到的第一目标语音数据包含的第二目标语音数据的语音类型发送丢包重传请求。该方案通过根据语音类型发送丢包重传请求,以获取丢失的语音帧数据,可以提高音频的传输效率。
在上述实施例的基础上,下面将举例做进一步详细说明。
本实施例将从数据处理系统的角度进行描述,其中,数据处理系统可以包括发送终端和接收终端等。
其中,发送终端可以包括手机、穿戴式智能设备、平板电脑、笔记本电脑、个人计算(PC,Personal Computer)、以及车载计算机等,接收终端可以包括手机、穿戴式智能设备、平板电脑、笔记本电脑、个人计算(PC,Personal Computer)、以及车载计算机等。
本申请实施例提供的一种数据处理方法,如图4所示,该数据处理方法的具体流程可以如下:
301、发送终端获取第一语音帧数据、第二语音帧数据以及第三语音帧数据。
其中,在时间顺序上,第三语音帧数据先于第二语音帧数据,第二语音帧数据先于第一语音帧数据。
比如,具体可以是获取目标音频文件,对目标音频文件进行预处理,从目标音频文件中截取一段长度为帧长的语音,得到第一语音帧数据;从目标音频文件中截取另一段长度为帧长的语音,得到第二语音帧数据,以及从目标音频文件中截取另一段长度为帧长的语音,得到第三语音帧数据。
302、发送终端对第二语音帧数据和第三语音帧进行特征检测,确定第二语音帧数据的等级。
比如,具体可以利用语音活跃检测(Voice Activity Detection ,VAD)算法提取第二语音帧数据的特征,VAD算法可以提取第二语音帧数据的信号强度特征,根据信号强度计算第二语音帧数据的短时能量(short time energy, STE)和短时过零率(zero crosscounter, ZCC),根据短时能量和短时过零率。
可以根据短时能量和短时过零率与阈值的关系,确定第二语音帧数据的检测结果,例如,短时能量大于第一预设阈值,且短时过零率小于第二预设阈值,则基于vad算法得到的的检测结果为语音片段,记为vad1=1;否则,基于vad算法得到的检测结果为非语音片段,记为vad1=0。
获取第二语音帧数据绝对值最大的振幅,将该绝对值最大的振幅除以1000,得到能量值,记为E1。
通过时域算法寻找第二语音帧数据的波形的最小正周期,最小周期的值即为基频值;还可以通过频域算法先对第二语音帧数据做傅里叶变换,得到频谱。频谱上在基频的整数倍处会有尖峰,计算尖峰频率的最大公约数,得到第二语音帧数据基频值。
以同样的方式对第三语音帧数据进行处理,得到第三语音帧数据基于vad算法得到的检测结果记为vad2、能量值、以及基频值。
等级对应的满足条件可以是:
第一等级:当前帧语音帧数据的vad=1,前一帧语音帧数据的vad=0。
第二等级:当前帧语音帧数据的vad=1,前一帧语音帧数据的vad=1,且当前帧语音帧数据的能量值与前一帧语音帧数据的能量值的比值大于预设比例阈值,且当前帧语音帧数据的能量大于预能量值。
第三等级:当前帧语音帧数据的vad=1,前一帧语音帧数据的vad=1,且当前帧语音帧数据的基频值与前一帧语音帧数据的基频值之差大于预设基频差阈值。
第四级别:当前帧语音帧数据的vad=1。
第五级别:当前帧语音帧数据的vad=0,前一帧语音帧数据的vad=0。
确定第二语音帧数据的等级可以通过逐级判断的方式,例如,如图5所示,若第二语音帧数据的vad1=1,则判断第三语音帧数据的检测结果是否为vad=1。
若第二语音帧数据的vad1=0,则确定第二语音帧数据的等级为第五等级。
若第三语音帧数据的检测结果为vad=0,则确定第二语音帧数据的等级为第一等级。
若第三语音帧数据的检测结果为vad=1,则计算第二语音帧数据的能量值E1,与第三语音帧数据的能量值E2之间的比值,得到能量比,判断能量比是否大于预设比例阈值,且第二语音帧数据的能量值E1是否大于预能量值。
若是,则确定第二语音帧数据的等级为第二等级。
若否,则计算第二语音帧数据的基频值,与第三语音帧数据的基频值之间的差值,即第二语音帧数据的基频值减去第三语音帧数据的基频值之差的绝对值,得到基频差。并判断基频差是否大于预设基频差阈值。
若满足,则确定第二语音帧数据的等级为第三等级。
若不满足,则若不满足,则确定第二语音帧数据的等级为第四等级。
可以理解的是,确定等级的条件可以根据实际需要进行灵活调整、设置,在此不做限定。
303、发送终端根据等级确定第二语音帧数据的语音类型。
比如,具体可以是预设等级为第二等级,根据第二语音帧数据的特征确定第二语音帧数据的等级,若第二语音帧数据的等级大于或等于预设等级,则第二语音帧数据的语音类型为活跃类型,即第二语音帧数据为关键性语音帧数据。
若第二语音帧数据的等级小于预设等级,则第二语音帧数据的语音类型为非活跃类型,即第二语音帧数据为非关键性语音帧数据,将第二语音帧数据的语音类型进行保存。
第一语音帧数据的语音类型以及第三语音帧的语音类型可以参考步骤302和步骤303中,确定第二语音帧数据的语音类型的方法进行确定,并将第以语音帧数据的语音类型,和第三语音帧数据的语音类型进行保存。
可以理解的是,预设等级可以根据实际需要进行灵活调整、设置,在此不做限定。
304、发送终端将第一语音帧数据与第二语音帧数据的语音类型进行打包,得到第一目标语音数据,以及将第二语音帧数据和第三语音帧数据的语音类型进行打包,得到第二目标语音数据。
例如,可以是从缓存数据中,获取已进行特征检测得到的第二语音帧数据的语音类型,将第一语音帧数据和第二语音帧数据的语音类型存储至一个文件中,相当于将第一语音帧数据和第二语音帧数据的语音类型进行打包,得到第一目标语音数据。
从缓存数据中,获取已进行特征检测得到的第三语音帧数据的语音类型,将第二语音帧数据和第三语音帧数据的语音类型存储至一个文件中,相当于将第二语音帧数据和第三语音帧数据的语音类型进行打包,得到第二目标语音数据。
第三语音帧数据可以称为第二语音帧数据的前一帧语音帧数据,第一语音帧数据可以称为第二语音帧数据的后一帧语音帧数据,同理,第二语音帧数据可以称为第一语音帧数据的前一帧语音帧数据。第一目标语音数据包括第二帧语音帧数据的语音类型,即第一目标语音数据包括前一帧的语音帧数据。
在一实施例中,第一目标语音数据可以包括前N帧的语音帧数据的语音类型。例如第一目标语音数据可以包括前五帧的语音帧数据的语音类型,若前五帧语音帧数据的语音类型分别对应非活跃、活跃、活跃、非活跃、以及活跃,活跃类型,对应的标识为1,非活跃类型,对应的标识为0,则第一目标语音数据中的语音类型可以是01101。
同理,第二目标语音数据也可以包括前N帧的语音帧数据的语音类型。
305、发送终端将第一目标语音数据和第二目标语音数据发送给接收终端。
比如,具体可以是发送终端将第一目标语音数据和第二目标语音数据发送给接收终端。
可选的,发送终端可以逐一向接收终端发送目标语音数据,例如发送第一目标语音数据后,发送第二目标语音数据,到那个也可以获取到一定数量的目标语音数据后,向接收终端发送目标语音数据。
306、接收终端判断是否接收到第二目标语音数据,若是,则执行步骤307,若否,则执行步骤308。
比如,具体可以是根据接收到的语音帧数据携带的信息,判断语音帧数据是否损坏,若损坏,则没有接收到第二目标语音数据,若没有损坏,则接收到第二目标语音数据。例如,根据发送终端与接收终端的传输控制协议对接收到的语音帧数据进行校验和,确定数据是否损坏。
以及根据时间判断语音帧数据是否丢失,例如,接收终端接收到第三语音帧数据后,若超过预设时间没有接收到第二语音帧数据,则确定第二语音帧数据丢失,即第二目标语音数据丢失。若在预设时间接收到第二语音帧数据,则确定接收到第二语音帧数据,即接收到第二目标语音数据。
307、接收终端输出第二语音帧数据。
比如,具体可以是,若发接收端成功接收到发送终端发送的第一目标语音数据,则获取第一目标语音数据中的第二语音帧数据,对第二语音帧数据进行解码,得到音频信息,对第一目标语音数据进行解码等处理,得到第一音频信息,并输出第一音频信息。
对第二目标语音数据进行同样的处理后,输出第二目标语音数据。
308、接收终端判断是否接收到第一目标语音数据,若是,则执行步骤309,若否,则执行步骤310。
比如,具体可以是根据接收到的语音帧数据携带的信息,判断语音帧数据是否损坏,例如,根据发送终端与接收终端的传输控制协议对接收到的第一语音帧数据进行校验和,确定数据是否损坏,若损坏,则没有接收到第一目标语音数据,若没有损坏,则接收到第一目标语音数据。
以及根据时间判断语音帧数据是否丢失,例如,接收终端接收到第二语音帧数据后,若超过预设时间没有接收到第一语音帧数据,则确定第一语音帧数据丢失,即第一目标语音数据丢失。若在预设时间接收到第一语音帧数据,则确定接收到第一语音帧数据,即接收到第一目标语音数据。
309、接收终端判断第二语音帧数据的语音类型是否为活跃类型,若语音类型为活跃类型,则执行步骤311,若语音类型为非活跃类型,则执行步骤312。
比如,具体可以是,若第二目标语音数据接收失败,第一目标语音数据接收成功,由于第一目标语音数据可以携带第二语音帧数据的语音类型,则可以根据接收到第一目标语音数据,确定第二语音帧数据的语音类型。
310、接收终端预测第二语音帧数据的语音类型,返回执行步骤309。
例如,具体可以是若第一目标语音数据,以及第二目标语音数据均接收失败,即未接收到,则获取历史语音数据携带的历史语音类型,例如,获取第三目标语音数据携带的语音类型,以确定第二语音帧数据的语音类型。
例如,将第三目标语音数据携带的第三语音帧数据的前一帧语音帧数据的语音类型作为第二语音帧数据的语音类型。
还可以采集语音帧数据样本对神经网络模型进行训练,使得可以通过神经网络模型基于历史语音数据携带的语音类型预测第二语音帧数据的语音类型。返回执行步骤309。
可选的,当第一目标语音数据丢包时,无法根据第一目标语音数据中的语音类型,确定第二语音帧数据的类型,直接向发送终端发送丢包重传请求,以使得发送终端重新发送第二目标语音数据。
可选的,第一目标语音数据携带过去N帧的语音帧数据的语音类型,因此,基于第二语音帧数据之后的第N帧语音帧数据得到目标语音数据中也包括第二语音帧数据的语音类型,可以从第二语音帧数据之后的N帧语音帧数据,对应的目标语音数据中,任意一帧语音帧数据对应的目标语音数据,获取到第二语音帧数据的语音类型。
所以,可以在连续N帧语音帧数据丢包时,向发送客户端发送丢包重传请求。
311、若第二语音帧数据的语音类型为活跃类型,则接收终端向发送终端发送丢包重传请求,返回执行步骤306。
比如,具体可以是若根据第一目标语音数据确定第二语音帧数据的语音类型为活跃类型,或者是对第二语音帧数据进行预测,确定第二语音帧数据的语音类型为活跃类型,则确定第二语音帧数据为关键性语音帧数据,向发送终端发送丢包重传请求,以请求发送终端重新发送第二目标语音数据。
发送终端接收到丢包重传请求后,获取第二目标语音数据,重新向接收终端发送第二目标语音数据,接收终端返回执行步骤306。
其中,第二目标语音数据发送终端可以从缓存中获取。
312、若第二语音帧数据的语音类型为非活跃状态,则接收终端根据数据隐藏算法,得到第二语音帧数据,返回执行步骤307。
比如,具体可以是若第一目标数据携带过去五帧语音数据的语音类型为01100,则根据第一目标语音数据携带的语音类型可以确定,第二语音帧数据的语音类型为非活跃类型,表示第二语音帧数据为非关键性语音帧数据,可以根据数据隐藏算法,计算得到第二语音帧数据。
例如,可以是获取预设语音帧数据,该预设语音帧数据作为第二语音帧数据。
其中,预设语音帧数据可以是为静音语音帧数据,即为空白语音帧;还可以是背景语音帧数据,使得得到的音频不会突然没有声音,提高用户的体验感;还可以是第二语音帧数据的前一帧语音帧数据。
又例如,可以通过波形置换法得到预测语音帧数据,使用第二语音帧数据前(可选后)一帧语音帧数据来找到合适的预测语音帧数据。它通过单端或双端模式来确认合适的基音周期,根据基音周期得到第二语音帧数据。
或者是通过基音波形复制法得到第二语音帧数据,利用第二语音帧数据的前一帧和后一帧的语音帧数据得到预测语音帧数据,在无声状态时可以重复前一帧语音帧数据,有声状态时重复基音波形。
或者是通过时间尺度修正法得到预测语音帧数据,该方法第二语音帧数据的前一帧和后一帧的语音帧数据按基音周期伸展来跨越第二语音帧数据区域,在两者交叠的地方进行平均,得到第二语音帧数据。
还可以是,将第二语音帧数据的前一帧语音帧数据与第一语音帧数据进行拼接,即最后得到的音频中不包括第二语音帧数据。
由上可知,本申请实施例发送终端获取第一语音帧数据、第二语音帧数据以及第三语音帧数据,根据等级确定第二语音帧数据的语音类型,将语音帧数据与语音类型进行打包,得到第一目标语音数据和第二目标语音数据,将第一目标语音数据和第二目标语音数据发送给接收终端;接终端若接收到第一目标语音数据,则输出第二语音帧数据,若未接收到第一目标语音数据,则根据第二目标语音数据确定第一语音帧的语音类型,若第二语音帧数据的语音类型为活跃类型,则向发送终端发送丢包重传请求,若第二语音帧数据的语音类型为非状态,则接收终端根据数据隐藏算法,得到第二语音帧数据,若未接收到第一目标语音数据,且未接收到第二目标语音数据,则接收终端预测第二语音帧数据的语音类型,最后,输出第二语音帧数据。该方案通过根据语音类型获取丢包的语音帧数据,并输出语音帧数据,可以提高音频的传输效率。
为了便于更好地实施本申请实施例提供的数据处理方法,在一实施例中还提供了一种数据处理装置。其中名词的含义与上述数据处理方法中相同,具体实现细节可以参考方法实施例中的说明。
该数据处理装置具体可以集成在发送终端中,如图6所示,该数据处理装置可以包括:第一获取单元401、第二获取单元402、得到单元403和发送单元404,具体如下:
第一获取单元401:用于获取目标音频文件中的第一语音帧数据。
比如,具体可以是获取目标音频文件,对目标音频文件进行预处理,从目标音频文件中截取一段长度为帧长的语音,得到第以语音帧数据。
对目标音频文件进行预处理,可以是对目标音频文件进行信号数字化、端点检测、预加重、加窗、和分帧等处理。
第二获取单元402:用于获取已发送的第二语音帧数据的语音类型。
比如,具体可以是从数据库、内存或者缓存中获取第二语音帧数据的语音类型。
在一实施例中,第二获取单元402可以包括获取子单元和检测子单元,具体地:
获取子单元:用于获取目标音频文件中的第二语音帧数据。
检测子单元:用于对第二语音帧数据进行特征检测,以确定第二语音帧数据的语音类型。
比如,具体可以是获取目标音频文件,对目标音频文件进行预处理,从目标音频文件中截取一段长度为帧长的语音,得到第二语音帧数据。提取第二语音帧数据的特征,例如,对第二语音帧数据进行采样,得到多个样本以及每个样本对应的信号强度,基于每个样本的信号强度计算平均信号强度,得到第二语音帧数据的特征,将该特征与预设阈值进行比较,若大于或等于预设阈值,则第二语音帧数据的语音类型为活跃类型,即第二语音帧数据为关键性语音帧数据;若小于预设阈值,则第二语音帧数据的语音类型为非活跃类型。
在一实施例中,检测子单元可以包括第一检测模块和确定模块,具体地:
第一检测模块:用于对第二语音帧数据进行语音活跃检测,得到第二语音帧数据的第一活跃度。
确定模块:用于基于第一活跃度,确定第二语音帧数据的语音类型。
比如,具体可以是利用语音活跃检测(Voice Activity Detection ,VAD)算法提取第二语音帧数据的多个特征,根据提取的多个特征判断第二语音帧数据的活跃度。
例如,在一实施例中,可以提取第二语音帧数据的信号强度,根据信号强度计算第二语音帧数据的短时能量(short time energy, STE)和短时过零率(zero crosscounter, ZCC),根据短时能量和短时过零率,确定第二语音帧数据的第一活跃度。
例如,可以根据短时能量和短时过零率与阈值的关系,确定第二语音帧数据的第一活跃度,例如,短时能量大于第一预设阈值,且短时过零率小于第二预设阈值,则第二语音帧数据的第一活跃度为1,可以记为vad1=1;若短时能量小于第一预设阈值,且短时过零率大于第二预设阈值,则第二语音帧数据的第一活跃度为00,可以记为vad1=0。
根据第一活跃度确定第二语音帧数据的语音类型可以是,若vad1=1,则可以确定第一音频帧数据的语音类型为语音类型为活跃类型,即第二语音帧数据为关键性语音帧数据。若vad1=0,则可以确定第二语音帧数据的语音类型为非活跃类型,即第二语音帧数据为非关键性语音帧数据。
可选的,为了更加精确地确定第二语音帧数据的语音类型可以提取基于能量的特征、频域特征、倒谱特征、谐波特征、以及长时信息特征等多个特征,基于上述任意一个特征,或者是其中的多个特征的组合,确定第二语音帧数据的语音类型。
可选的,通过提取的特征判断第二语音帧数据的语音类型可以是通过阈值法,即上述基于特征得到的值与阈值之间的关系,确定语音类型,还可以是基于统计模型方法确定语音类型,或者是通过机器学习方法,比如神经网络模型确定语音类型。
在一实施例中,检测子单元还可以包括获取模块第二检测模块,具体还可以是:
获取模块:用于获取第三语音帧数据,第三语音帧数据的序列值小于第二语音帧数据的序列值。
第二检测模块:用于对第三语音帧数据进行语音活跃检测,得到第三语音帧数据的第二活跃度。
确定模块具体可以用于:根据第一活跃度和第二活跃度,确定第二语音帧数据的语音类型。
比如,具体可以是利用VAD算法,计算得到第三语音帧数据的第二活跃度(可以记为vad2)(具体计算方式可以参考上述计算第二语音帧数据的第一活跃度的过程),根据第一活跃度和第二活跃度,确定第二语音帧数据的语音类型。
在一实施例中,可以根据第二语音帧数据的特征,得到第二语音帧数据的等级,根据等级与预设等级之间的关系,确定第二语音帧数据的语音类型。
例如,在一实施例中,可以根据第二语音帧数据的特征确定第二语音帧数据的等级,根据等级与预设等级之间的关系,确定第二帧语音数据的语音类型。
例如,若vad1=1,且vad2=0,则第二语音帧数据为语音类型为活跃类型;若vad1=1,且vad2=1,则第二语音帧数据为语音类型为活跃类型;否则第二语音帧数据为语音类型为非活跃类型。
预设等级为第二等级,若第二语音帧数据的等级大于或者等于预设等级,则第二语音帧数据为关键性语音帧数据,例如,第二语音帧数据的等级为1,大于预设等级,则第二语音帧数据的语音类型为活跃类型,即第二语音帧数据属于关键性语音帧数据。
在一实施例中,检测子单元还可以包括第一计算模块和第二计算模块,具体地:
第一计算模块:用于计算第二语音帧数据的能量值,以及计算第三语音帧数据的能量值。
第二计算模块:用于计算第二语音帧数据的能量值,与第三语音帧数据的能量值之间的比值,得到能量比。
确定模块具体可以用于:基于第一活跃度、第二活跃度、第一语音帧的能量值、以及能量比,确定第二语音帧数据的语音类型。
比如,具体可以是获取第二语音帧数据绝对值最大的振幅,将该绝对值最大的振幅除以1000,得到能量值。以同样的方式对第三语音帧数据进行处理,得到第三语音帧数据的能量值。
计算第二语音帧数据的能量值,与第三语音帧数据的能量值之间的比值,得到能量比。
例如,若vad1=1,且vad2=0,则第二语音帧数据为语音类型为活跃类型;若vad1=1,vad2=1,能量比大于第三预设阈值,以及第二语音帧数据的能量值大于第四预设阈值,则第二语音帧数据为语音类型为活跃类型,否则,第二语音帧数据为非活跃类型。
例如,在一实施例中,可以根据第二语音帧数据的特征确定第二语音帧数据的等级,根据等级与预设等级之间的关系,确定第二语音帧数据的语音类型。
在一实施例中,检测子单元还可以包括第三计算模块和第四计算模块,具体地:
第三计算模块:用于计算第二语音帧数据的基频值,以及计算第三语音帧数据的基频值。
第四计算模块:用于计算第二语音帧数据的基频值,与第三语音帧数据的基频值之间的差值,得到基频差。
确定模块具体可以用于:基于第一活跃度、第二活跃度、以及基频差,确定第二语音帧数据的语音类型。
比如,具体可以是通过时域算法寻找第二语音帧数据的波形的最小正周期,最小周期的值即为基频值;还可以通过频域算法先对第二语音帧数据做傅里叶变换,得到频谱。频谱上在基频的整数倍处会有尖峰,计算尖峰频率的最大公约数,得到第二语音帧数据基频值。
对第三语音帧数据进行相同的处理,得到第三语音帧数据的基频值。
计算第二语音帧数据的基频值,与第三语音帧数据的基频值之间的差值,即第二语音帧数据的基频值减去第三语音帧数据的基频值的差的绝对值,得到基频差。
根据第一活跃度、第二活跃度、以及基频差确定第二语音帧数据的语音类型,例如, vad1=1,且vad2=0,则第二语音帧数据为语音类型为活跃类型;若vad1=1,且vad2=1,且基频差大于第五预设阈值,则第二语音帧数据为语音类型为活跃类型;否则,第二语音帧数据的语音类型为非活跃类型。
在一实施例中,检测子单元可以包括等级确定模块和类型确定模块,具体地:
等级确定模块:用于确定第二语音帧数据的等级。
类型确定模块:用于将等级与预设等级进行比较,确定第二语音帧数据的语音类型。
例如,对第二语音帧数据进行特征检测,得到第一语音帧的特征,将第一语音帧的特征与等级标准进行比较,确定第一语音帧的等级。
其中,等级设置可以是第一等级设置为:当前帧语音帧数据的活跃度为1,前一帧语音帧数据的活跃度为0。
第二等级:当前帧和前一帧语音帧数据的活跃度均为1,且当前帧语音帧数据的能量与前一帧语音帧数据的能量的比值大于第三预设阈值,且当前帧语音帧数据的能量大于第四预设阈值。
第三等级:当前帧和前一帧语音帧数据的活跃度均为1,当前帧语音帧数据的基频值与前一帧语音帧数据的基频值之差大于第五预设阈值。
第四等级:当前帧和前以帧语音帧数据的活跃度均为1;
第五等级:当前帧和前一帧语音帧数据的活跃度均为0。
假设预设等级为第二等级,根据第二语音帧数据的特征确定第二语音帧数据的等级,若第二语音帧数据的等级大于或等于预设等级,则第二语音帧数据的语音类型为活跃类型,即第二语音帧数据为关键性语音帧数据。
除此之外,根据等级确定第二语音帧数据的语音类型,可以根据网络或者用户的设置进行实时调整预设等级,以适应用户的需求。
得到单元403:用于根据第一语音帧数据和第二语音帧数据的语音类型,得到当前语音数据。
例如,可以是将第一语音帧数据和第二语音帧数据的语音类型存储至一个文件中,相当于将第一语音帧数据和第二语音帧数据的语音类型进行打包,得到目标语音数据。
当第二语音帧数据丢失时,可以根据目标语音数据确定第一语音帧的语音类型,然而,当第二语音帧数据和第一语音帧数据均丢失时,根据第一语音帧数据之后获取的语音帧数据,可以是确定第一语音帧数据的语音类型,但无法确定第二语音帧数据的语音类型,因此,在一实施例中,可以将第一语音帧数据,和第一语音帧数据的前N帧的语音帧数据的语音类型进行归档处理,得到目标语音数据。
在一实施例中,为了提高传输速度还可以将打包的文件进行压缩,以减小文件的大小,提高传输的速度。
发送单元404:用于发送当前语音数据。
比如,具体可以是将归档处理得到的当前语音数据发送至接收终端,接收终端根据接收得到的当前语音数据进行处理后,输出目标语音数据。
例如,对当前语音数据进行解码、信号增强等处理,将当前语音数据中的第一语音帧数据转化得到音频信息,通过接收终端的音频通道输出当前语音数据。
在一实施例中,发送单元404还可以包括接收子单元、获取子单元、和发送子单元,具体地:
接收子单元:用于接收针对丢包的当前语音数据,发送的丢包重传请求。
获取子单元:用于根据丢包重传请求获取当前语音数据。
发送子单元:用于发送当前语音数据。
比如,具体可以是,当接收端没有接收到当前语音数据时,接收端可以发送丢包重传请求,计算机设备接收到丢包重传请求,从内存、数据库或者是缓存中获取与所述丢包重传请求对应的当前语音数据,将当前语音数据重新发送给接收端。
由上可知,本申请实施例数据处理装置可以通过第一获取单元401获取目标音频文件中的第一语音帧数据;由第二获取单元402获取已发送的第二语音帧数据的语音类型;通过得到单元403根据第一语音帧数据和第二语音帧数据的语音类型,得到当前语音数据;最后由发送单元404发送当前语音数据。该方案通过根据语音帧数据和语音类型得到语音数据并进行发送,使得接收到语音数据的接收方可以根据语音类型发起丢包重传请求,提高了音频的传输效率。
为了便于更好地实施本申请实施例提供的数据处理方法,在一实施例中还提供了一种数据处理装置。其中名词的含义与上述数据处理方法中相同,具体实现细节可以参考方法实施例中的说明。
如图7所示,该数据处理装置可以包括:接收单元501和发送单元502,具体如下:
接收单元501:用于接收第一目标语音数据,第一目标语音数据包括第二目标语音数据的语音类型,第二目标语音数据的发送时序处于所述第一目标语音数据之前。
比如,具体可以是接收终端和发送终端处于通讯状态,接收终端接收发送终端发送的第一目标语音数据。
发送单元502:用于当确定第二目标语音数据丢包时,根据接收到的第一目标语音数据包含的第二目标语音数据的语音类型发送丢包请求。比如,具体可以是根据接收到的语音帧数据携带的信息,判断语音帧数据是否损坏,例如,根据传输控制协议对接收到的语音帧数据进行校验和,确定数据是否损坏,若损坏,则确定第二目标语音数据丢包,若没有损坏,则确定接收到第二目标语音数据,第二目标语音数据没有丢包。
还可以根据时间判断语音帧数据是否丢失,例如,在接收到第二语音帧数据后,超过预设时间没有接收到第一语音帧数据,则确定第一语音帧数据丢包,若在预设时间接收到第一语音帧数据,则确定接收到第一语音帧数据,第一语音帧数据没有丢包。同理,可以判断第二语音帧数据是否丢包。
当第二目标语音数据丢包时,可以根据第二语音帧数据的语音类型发送丢包重传请求。
在一实施例中,发送单元502可以包括发送子单元、预测子单元和作为子单元,具体地:
发送子单元:用于若第一目标语音数据包含的第二目标语音数据的语音类型为活跃类型,则发送丢包重传请求。
预测子单元:用于若第一目标语音数据包含的第二目标语音数据的语音类型为非活跃类型,则基于数据隐藏算法,得到预测语音数据。
作为子单元:用于将预测语音数据作为第二目标语音数据。
当第二目标语音数据丢包,第一目标语音数据接收成功时,可以获取第一目标语音数据携带的第二目标语音数据的语音类型。例如,第一目标语音数据携带过去五帧语音数据的语音类型为01101,根据第二目标语音数据携带的语音类型可以确定,第二语音帧数据的语音类型为活跃类型,表示第二语音帧数据为关键性语音帧数据,向发送语音数据的终端发起丢包重传请求,以使得终端重新发送第二语音帧数据。
若第二目标数据携带过去五帧语音数据的语音类型为01100,则根据第一目标语音数据携带的语音类型可以确定,第二语音帧数据的语音类型为非活跃类型,表示第二语音帧数据为非关键性语音帧数据,可以根据数据隐藏算法,得到预测语音数据。
在一实施例中,预测子单元可以包括第一获取模块、第二获取模块、第二衰减模块和拼接模块,具体地:
第一获取模块:用于获取第三目标语音数据,第三目标语音数据的发送时序处小于第二目标语音数据之前。
第二获取模块:用于基于预设策略获取第三目标语音数据中的目标片段。
第二衰减模块:用于对目标片段进行衰减处理,得到衰减片段。
拼接模块:用于将目标片段与衰减片段进行拼接处理,得到预测语音数据。
比如,具体可以是获取已经接收成功的第三语音帧数据,按照预设策略从第三语音数据中获取第三语音帧数据的目标片段,例如,获取第三语音帧数据中前预设时间的片段,作为目标片段。
对目标片段进行衰减处理,使目标片段中的振幅进行衰减,例如,在第二语音帧数据的帧长内将目标片段的振幅衰减至零,得到衰减片段。
将目标片段和衰减片段进行拼接处理,得到预测语音数据。
在一实施例中,数据处理装置还可以包括,具体地:
获取单元:用于当确定第二目标语音数据丢包,以及确定第一目标语音数据丢包时,获取接收到的历史语音数据携带的历史语音类型。
类型预测单元:用于根据历史语音类型进行预测,得到第二目标语音数据的语音类型。
请求发送单元:用于根据语音类型发送丢包重传请求。
例如,将第三目标语音数据携带的第三语音帧数据的前一帧语音帧数据的语音类型作为第二语音帧数据的语音类型。
还可以采集语音帧数据样本对神经网络模型进行训练,使得可以通过神经网络模型基于历史语音数据携带的语音类型预测第二语音帧数据的语音类型。
若语音类型为活跃类型,则发送丢包重传请求。
比如,具体可以是若第二目标数据携带过去五帧语音数据的语音类型为01100,则根据第二目标语音数据携带的语音类型可以确定,第二语音帧数据的语音类型为非活跃类型,表示第二语音帧数据为非关键性语音帧数据,可以根据数据隐藏算法,得到预测语音数据。
由上可知,本申请实施例数据处理装置可以通过接收单元501接收第一目标语音数据,第一目标语音数据包括第二目标语音数据的语音类型,第二目标语音数据的发送时序处于第一目标语音数据之前;当确定第二目标语音数据丢包时,由发送单元502根据接收到的第一目标语音数据包含的第二目标语音数据的语音类型发送丢包重传请求。该方案通过根据语音类型发送丢包重传请求,以获取丢失的语音帧数据,可以提高音频的传输效率。
本申请实施例还提供一种计算机设备,该计算机设备可以是发送终端,也可以是接收终端,如图8所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器1001、一个或一个以上计算机可读存储介质(也可以称为计算机可读存储介质)的存储器1002、电源1003和输入单元1004等部件。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1001是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和计算机程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。
存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。
计算机设备还包括给各个部件供电的电源1003,优选的,电源1003可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器1001会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的计算机程序,从而实现各种功能,如下:
获取目标音频文件中的第一语音帧数据;
获取已发送的第二语音帧数据的语音类型;
根据第一语音帧数据和第二语音帧数据的语音类型,得到当前语音数据;
发送当前语音数据。
以及:
接收第一目标语音数据,第一目标语音数据包括第二目标语音数据的语音类型,第二目标语音数据的发送时序处于第一目标语音数据之前;
当确定第二目标语音数据丢包时,根据接收到的第一目标语音数据包含的第二目标语音数据的语音类型发送丢包重传请求。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由上可知,本申请实施例通过根据语音帧数据和语音类型得到语音数据并进行发送,使得接收到语音数据的接收端可以根据语音类型发起丢包重传请求,提高了音频的传输效率。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中各种可选实现方式中提供的方法。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序,能够被处理器进行加载,以执行本申请实施例所提供的任一种数据处理方法。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种数据处理方法,因此,可以实现本申请实施例所提供的任一种数据处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种数据处理方法、装置、计算机设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (16)
1.一种数据处理方法,其特征在于,包括:
获取目标音频文件中的第一语音帧数据;
获取已发送的至少一帧第二语音帧数据的语音类型,所述第二语音帧数据的语音类型为根据所述第二语音帧数据以及第三语音帧数据的语音活跃检测结果得到,所述第三语音帧数据的获取时序处于所述第二语音帧数据之前,所述语音类型包括活跃类型和非活跃类型,所述活跃类型表示所述第二语音帧数据为关键性语音帧数据,所述非活跃类型表示所述第二语音帧数据为非关键性语音帧数据;
根据所述第一语音帧数据和所述第二语音帧数据的语音类型,得到当前语音数据;
向接收终端发送所述当前语音数据,以便当所述第二语音帧数据丢失时,所述接收终端基于所述当前语音数据确定第二语音帧数据的语音类型,并根据所述语音类型针对所述第二语音帧数据发起丢包重传请求。
2.根据权利要求1所述的方法,其特征在于,所述获取目标音频文件中的第一语音帧数据之前,所述方法还包括:
获取所述目标音频文件中的第二语音帧数据;
对所述第二语音帧数据进行特征检测,以确定所述第二语音帧数据的语音类型。
3.根据权利要求2所述的方法,其特征在于,所述对所述第二语音帧数据进行特征检测,以确定所述第二语音帧数据的语音类型,包括:
对所述第二语音帧数据进行语音活跃检测,得到所述第二语音帧数据的第一活跃度;
基于所述第一活跃度,确定所述第二语音帧数据的语音类型。
4.根据权利要求3所述的方法,其特征在于,所述对所述第二语音帧数据进行语音活跃检测,得到所述第二语音帧数据的第一活跃度之后,所述方法还包括:
获取第三语音帧数据,所述第三语音帧数据的获取时序处于所述第二语音帧数据之前;
对所述第三语音帧数据进行语音活跃检测,得到所述第三语音帧数据的第二活跃度;
所述基于所述第一活跃度,确定所述第二语音帧数据的语音类型,包括:
根据所述第一活跃度和所述第二活跃度,确定所述第二语音帧数据的语音类型。
5.根据权利要求4所述的方法,其特征在于,所述对所述第三语音帧数据进行语音活跃检测,得到所述第三语音帧数据的第二活跃度之后,所述方法还包括:
计算所述第二语音帧数据的能量值,以及计算所述第三语音帧数据的能量值;
计算所述第二语音帧数据的能量值,与所述第三语音帧数据的能量值之间的比值,得到能量比;
所述根据所述第一活跃度和所述第二活跃度,确定所述第二语音帧数据的语音类型,包括:
基于所述第一活跃度、所述第二活跃度、第一语音帧的能量值、以及所述能量比,确定所述第二语音帧数据的语音类型。
6.根据权利要求4所述的方法,其特征在于,所述对所述第三语音帧数据进行语音活跃检测,得到所述第三语音帧数据的第二活跃度之后,所述方法还包括:
计算所述第二语音帧数据的基频值,以及计算所述第三语音帧数据的基频值;
计算所述第二语音帧数据的基频值,与所述第三语音帧数据的基频值之间的差值,得到基频差;
所述基于所述第一活跃度和所述第二活跃度,确定所述第二语音帧数据的语音类型,包括:
基于所述第一活跃度、所述第二活跃度、以及所述基频差,确定所述第二语音帧数据的语音类型。
7.根据权利要求3所述的方法,其特征在于,所述确定所述第二语音帧数据的语音类型,包括:
确定所述第二语音帧数据的等级;
将所述等级与预设等级进行比较,确定所述第二语音帧数据的语音类型。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
接收针对丢包的当前语音数据,发送的丢包重传请求;
根据所述丢包重传请求获取所述当前语音数据;
发送所述当前语音数据。
9.一种数据处理方法,其特征在于,包括:
接收第一目标语音数据,所述第一目标语音数据包括至少一帧第二目标语音数据中第二语音帧数据的语音类型,所述第二语音帧数据的语音类型为根据所述第二语音帧数据以及第三语音帧数据的语音活跃检测结果得到的,所述第三语音帧数据的发送时序处于所述第二语音帧数据之前,所述第二目标语音数据的发送时序处于所述第一目标语音数据之前,所述语音类型包括活跃类型和非活跃类型,所述活跃类型表示所述第二语音帧数据为关键性语音帧数据,所述非活跃类型表示第二语音帧数据为非关键性语音帧数据;
当确定所述第二目标语音数据丢包时,若所述第一目标语音数据包含的第二语音帧数据的语音类型为活跃类型,则确定所述第二语音帧数据为关键性语音帧数据,并发送丢包重传请求。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若所述第一目标语音数据包含的第二语音帧数据的语音类型为非活跃类型,则确定所述第二语音帧数据为非关键性语音帧数据,基于数据隐藏算法,得到预测语音数据;
将所述预测语音数据作为所述第二目标语音数据。
11.根据权利要求10所述的方法,其特征在于,所述基于数据隐藏算法,得到预测语音数据,包括:
获取第三目标语音数据,所述第三目标语音数据的发送时序处于所述第二目标语音数据之前;
基于预设策略获取所述第三目标语音数据中的目标片段;
对所述目标片段进行衰减处理,得到衰减片段;
将所述目标片段与所述衰减片段进行拼接处理,得到所述预测语音数据。
12.根据权利要求9-11任一项所述的方法,其特征在于,所述方法还包括:
当确定所述第二目标语音数据丢包,以及确定所述第一目标语音数据丢包时,获取接收到的历史语音数据携带的历史语音类型;
根据所述历史语音类型进行预测,得到所述第二目标语音数据的语音类型;
根据所述语音类型发送丢包重传请求。
13.一种数据处理装置,其特征在于,包括:
第一获取单元,用于获取目标音频文件中的第一语音帧数据;
第二获取单元,用于获取已发送的至少一帧第二语音帧数据的语音类型,所述第二语音帧数据的语音类型为根据所述第二语音帧数据以及第三语音帧数据的语音活跃检测结果得到,所述第三语音帧数据的获取时序处于所述第二语音帧数据之前,所述语音类型包括活跃类型和非活跃类型,所述活跃类型表示所述第二语音帧数据为关键性语音帧数据,所述非活跃类型表示所述第二语音帧数据为非关键性语音帧数据;
得到单元,用于根据所述第一语音帧数据和所述第二语音帧数据的语音类型,得到当前语音数据;
发送单元,用于向接收终端发送所述当前语音数据,以便当所述第二语音帧数据丢失时,所述接收终端基于所述当前语音数据确定第二语音帧数据的语音类型,并根据所述语音类型针对所述第二语音帧数据发起丢包重传请求。
14.一种数据处理装置,其特征在于,包括:
接收单元,用于接收第一目标语音数据,所述第一目标语音数据包括至少一帧第二目标语音数据中第二语音数据帧的语音类型,所述第二语音帧数据的语音类型为根据所述第二语音帧数据以及第三语音帧数据的语音活跃检测结果得到的,所述第三语音帧数据的发送时序处于所述第二语音帧数据之前,所述第二目标语音数据的发送时序处于所述第一目标语音数据之前,所述语音类型包括活跃类型和非活跃类型,所述活跃类型表示所述第二语音帧数据为关键性语音帧数据,所述非活跃类型表示第二语音帧数据为非关键性语音帧数据;
发送单元,用于当确定所述第二目标语音数据丢包时,若所述第一目标语音数据包含的第二语音帧数据的语音类型为活跃类型,则确定所述第二语音帧数据为关键性语音帧数据,并发送丢包重传请求。
15.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至12任一项所述的数据处理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器加载,以执行权利要求1至12任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110646281.8A CN113259063B (zh) | 2021-06-10 | 2021-06-10 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110646281.8A CN113259063B (zh) | 2021-06-10 | 2021-06-10 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113259063A CN113259063A (zh) | 2021-08-13 |
CN113259063B true CN113259063B (zh) | 2022-02-08 |
Family
ID=77187325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110646281.8A Active CN113259063B (zh) | 2021-06-10 | 2021-06-10 | 数据处理方法、装置、计算机设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113259063B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155140A (zh) * | 2006-10-01 | 2008-04-02 | 华为技术有限公司 | 音频流错误隐藏的方法、装置和系统 |
US8762144B2 (en) * | 2010-07-21 | 2014-06-24 | Samsung Electronics Co., Ltd. | Method and apparatus for voice activity detection |
CN106251875A (zh) * | 2016-08-12 | 2016-12-21 | 广州市百果园网络科技有限公司 | 一种丢帧补偿的方法及终端 |
CN107277423B (zh) * | 2017-07-28 | 2020-10-09 | 北京小米移动软件有限公司 | 丢包重传的方法及装置 |
CN111464262B (zh) * | 2020-03-18 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、介质及电子设备 |
CN112489665B (zh) * | 2020-11-11 | 2024-02-23 | 北京融讯科创技术有限公司 | 语音处理方法、装置以及电子设备 |
-
2021
- 2021-06-10 CN CN202110646281.8A patent/CN113259063B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113259063A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107623614A (zh) | 用于推送信息的方法和装置 | |
CN109065051B (zh) | 一种语音识别处理方法及装置 | |
US11783808B2 (en) | Audio content recognition method and apparatus, and device and computer-readable medium | |
CN111464262B (zh) | 数据处理方法、装置、介质及电子设备 | |
CN107580155B (zh) | 网络电话质量确定方法、装置、计算机设备和存储介质 | |
CN114338623B (zh) | 音频的处理方法、装置、设备及介质 | |
CN111371534B (zh) | 一种数据重传方法、装置、电子设备和存储介质 | |
CN110364170A (zh) | 语音传输方法、装置、计算机装置及存储介质 | |
CN112767955B (zh) | 音频编码方法及装置、存储介质、电子设备 | |
CN110138654A (zh) | 用于处理语音的方法和装置 | |
US20120053937A1 (en) | Generalizing text content summary from speech content | |
CN109634554B (zh) | 用于输出信息的方法和装置 | |
CN113259063B (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN113961289A (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN112712793A (zh) | 语音交互下基于预训练模型的asr纠错方法及相关设备 | |
WO2021143095A1 (zh) | 拨测方法、装置、计算机设备及存储介质 | |
CN113658581B (zh) | 声学模型的训练、语音处理方法、装置、设备及存储介质 | |
CN113852835A (zh) | 直播音频处理方法、装置、电子设备以及存储介质 | |
CN112466283B (zh) | 一种协同软件语音识别系统 | |
CN114842857A (zh) | 语音处理方法、装置、系统、设备及存储介质 | |
CN114743540A (zh) | 语音识别方法、系统、电子设备和存储介质 | |
CN114005436A (zh) | 语音端点的确定方法、装置及存储介质 | |
CN114333861A (zh) | 音频处理方法、装置、存储介质、设备及产品 | |
CN116996622B (zh) | 语音数据的传输方法、装置、设备、介质和程序产品 | |
CN114466105B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40050668 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |