WO2020135082A1 - 一种语音数据处理方法、装置及计算机可读存储介质 - Google Patents

一种语音数据处理方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
WO2020135082A1
WO2020135082A1 PCT/CN2019/124913 CN2019124913W WO2020135082A1 WO 2020135082 A1 WO2020135082 A1 WO 2020135082A1 CN 2019124913 W CN2019124913 W CN 2019124913W WO 2020135082 A1 WO2020135082 A1 WO 2020135082A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
voice
frame data
channel
buffer
Prior art date
Application number
PCT/CN2019/124913
Other languages
English (en)
French (fr)
Inventor
林亚
沈灿
孙健
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2020135082A1 publication Critical patent/WO2020135082A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing

Definitions

  • the present application provides a voice data processing method, the method includes: acquiring multiple voice frame data; storing the multiple voice frame data in a corresponding buffer in a first-level buffer; and determining the The scheduling speed coefficient of the voice frame data of each channel in the primary buffer; when the preset data scheduling delay or the preset water level height of the secondary buffer is satisfied, according to the voice of each channel in the primary buffer
  • the scheduling speed coefficient corresponding to the frame data reads each channel of the voice frame data; after splicing each channel of the voice frame data, it is stored in the secondary buffer.
  • the concurrent encoder uses asynchronous encoding during encoding, uses the GPU's callback mechanism, registers the callback function in the parallel encoder, processes the encoded data stream in the callback function, and sends the encoding command to the parallel encoder After that, immediately return to handle other operations.
  • each channel will be accompanied by the sending of RTCP packets.
  • the forwarding processing of RTCP packets is the same as the general processing, which will not be repeated here.

Landscapes

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

Abstract

一种语音数据处理方法、装置及计算机可读存储介质,该方法包括:获取多路语音帧数据(101);将多路语音帧数据分别存入一级缓冲区中对应的缓存(102);确定一级缓冲区中各路语音帧数据的调度速度系数(103);当满足预设数据调度时延或二级缓冲区的预设水位高度时,根据一级缓冲区中各路语音帧数据的调度速度系数读取各路语音帧数据(104);对各路语音帧数据进行拼接处理后存入所述二级缓冲区(105)。

Description

一种语音数据处理方法、装置及计算机可读存储介质
交叉引用
本发明要求在2018年12月28日提交中国专利局、申请号为201811628553.6、发明名称为“一种语音数据处理方法、装置及计算机可读存储介质”的中国专利申请的优先权,该申请的全部内容通过引用结合在本发明中。
技术领域
本申请涉及通信领域,尤其涉及一种语音数据处理方法、装置及计算机可读存储介质。
背景技术
随着并行处理器技术的发展,其特有的并发性和加速性使得它在视频处理、深度学习等方面得到了广泛的应用,对于语音来讲,由于语音转码具有流程串行且较长的特点,在并行处理器上既要保持单路处理时间短,又要保证能充分利用并行处理器提高语音编解码的效率,因此,目前并行处理器在处理语音转码方面还未得到应用。
目前的语音转码方法,通常采取的是在收到一路数据后立即处理并转发该路数据,具有时延较小的优点,但同时也存在并发性能不高的问题。若使用并行处理器进行语音转码,则语音转码的并发性能将会得到大幅度提高,然而将会出现无法同时保证语音转码的时延、效率和通话质量等性能的问题。
由于并行处理器需要根据其内部线程的数量,每次争取批量转码较多的的数据以体现其并行处理能力,保证并行处理器有较高的处理效率。然而,在并行处理器的实际应用场景中,多路语音数据往往不能够同时到达,若要实现多路语音数据的高效处理则必然会导致其中一部分通道的语音数据需要等待处理,导致无法保证语音转码的时延,而处于等待处理状态的相应通道 可能还会持续接收到新的语音数据,如果语音数据的并行处理效率不高则将会导致接收到的新的语音数据丢失,从而影响语音数据转码后的通话质量。
有鉴于此,急需一种新的语音转码方法,能够在保证语音转码时延的前提下,提高语音数据的并行处理效率,且语音数据转码后的通话质量不受影响。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种语音数据处理方法、装置及计算机可读存储介质。
第一方面,本申请提供了一种语音数据处理方法,所述方法包括:获取多路语音帧数据;将多路所述语音帧数据分别存入一级缓冲区中对应的缓存;确定所述一级缓冲区中各路所述语音帧数据的调度速度系数;当满足预设数据调度时延或二级缓冲区的预设水位高度时,根据所述一级缓冲区中各路所述语音帧数据对应的调度速度系数读取各路所述语音帧数据;对各路所述语音帧数据进行拼接处理后存入所述二级缓冲区。
第二方面,本申请提供了一种语音数据处理装置,所述装置包括:获取单元,配置用于获取多路语音帧数据;一级缓冲区,配置用于将所述获取单元获取到的多路所述语音帧数据存储到对应的缓存;调度速度系数确定单元,配置用于确定所述一级缓冲区中各路所述语音帧数据的调度速度系数;数据管理单元,配置用于当满足预设数据调度时延或二级缓冲区的预设水位高度时,根据所述一级缓冲区中各路所述语音帧数据对应的调度速度系数读取各路所述语音帧数据;二级缓冲区,配置用于对拼接处理后的各路所述语音帧数据进行存储。
第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有语音数据处理程序,所述语音数据处理程序被处理器执行时实现如第一方面所述的语音数据处理方法的步骤。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种语音数据处理方法的流程图;
图2为本申请实施例提供的另一种语音数据处理方法的流程图;
图3为本申请实施例提供的另一种语音数据处理方法的流程图;
图4为本申请实施例提供的又一种语音数据处理方法的流程图;
图5为本申请实施例提供的一种对多种转码格式的语音帧数据处理的方法流程图;
图6为本申请实施例提供的一种语音数据处理装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的一种语音数据处理方法,如图1所示,该方法包括以下步骤。
S101、获取多路语音帧数据。
S102、将多路语音帧数据分别存入一级缓冲区中对应的缓存。
S103、确定一级缓冲区中各路语音帧数据对应的调度速度系数。
S104、当满足预设数据调度时延或二级缓冲区的预设水位高度时,根据一级缓冲区中各路语音帧数据的调度速度系数读取各路语音帧数据。
S105、对各路语音帧数据进行拼接处理后存入二级缓冲区。
优选地,将本申请实施例中的预设数据调度时延设置为20ms,将预设水位高度设置为800路。为了更好地消除网络抖动对语音帧数据带来的影响,本申请实施例根据各路语音帧数据对应的调度速度系数,从一级缓冲区中每次读取一帧或多帧语音帧数据,通过并行解码器对读取到的每路语音帧数据进行解码,最后通过语音时长调整技术对解码后的数据进行拉伸或压缩处理。
在本申请实施例中,通过转码服务器接收多个终端发动来的语音数据包,当转码服务器接收到多个终端发送来的语音数据包后,解析出语音数据包中的语音帧数据,将各路语音帧数据存入到一级缓冲区中各自对应的缓存中,并设定一级缓冲区的缓存级别参数到最大值,示例性的,本申请实施例中将一级缓冲区的缓存级别参数的最大值设置为100ms,以防止语音帧数据未及时处理而可能发生数据丢失的问题。
在本申请另一实施例中,如图2所示,上述语音数据处理方法还包括:S201、根据接收到的并行解码命令读取二级缓冲区中的各路语音帧数据。
S202、利用并行解码器对各路语音帧数据进行异步解码操作,生成解码后的多路PCM(Pulse Code Modulation,脉冲编码调制)数据。
在本申请实施例中,上述步骤S202、利用并行解码器对各路语音帧数据进行异步解码操作,生成解码后的多路PCM数据包括:获取解码后的多路所述PCM数据的调度速度系数;当所述PCM数据的调度速度系数大于对应的调度速度系数阈值时,对所述PCM数据进行压缩处理;当所述PCM数据的调度速度系数小于对应的调度速度系数阈值时,对所述PCM数据进行拉伸处理;当PCM数据的调度速度系数等于对应的调度速度系数阈值时,对PCM数据进行正常处理。
示例性的,将调度速度系数阈值设置为1,对解码后的PCM数据进行拉伸或压缩处理由计算出的PCM数据的调度速度系数决定,当PCM数据的调度速度系数为1时,对PCM数据进行正常处理;当PCM数据的调度速度系数大于1时,对PCM数据进行压缩处理;当PCM数据的调度速度系数小于1时,对PCM数据进行拉伸处理。通过对解码后的PCM数据进行相应的拉伸或压缩处理,可以更好地消除网络抖动对数据带来的影响。
S203、根据接收到的并行编码命令读取编码后的多路PCM数据。
S204、利用并行编码器对多路PCM数据进行异步编码操作,生成编码后的多路语音帧数据。
在本申请实施例中,如果语音帧数据转码前后的采样率不同,即当并行解码器和并行编码器的采样率不同时,将解码后输出的PCM数据进行采样率转换后再送入并行编码器中进行编码,也就是说,将解码后输出的PCM数据的采样率调整到与并行编码器的采样率一致。
本申请实施例中的并行解码器和并行编码器分别采用异步解码和异步编码的调度方法,在并行解码和并行编码的同时CPU无需等待,CPU可同时进行其它操作,以提高并发性能,异步解码和异步编码的具体实现方式本申请实施例不做限定。在异步编码操作完成后,对各路编码后的语音帧数据进行打包,将打包后的数据发送给各个终端,完成转码过程。如果不需要将打包后的数据通过无线方式发送,则可以将编码后的语音帧数据或者打包后的语音帧数据按照对应的文件格式进行本地存储。
在本申请另一实施例中,既可以在网络中通过无线方式传输语音数据包,也可以不在网络中传输语音数据包,上述步骤S101、获取多路语音帧数据,包括:读取多个终端设备本地存储的语音数据包;解析语音数据包获取语音帧数据;和/或,接收通过无线方式发送的语音数据包;解析语音数据包获取语音帧数据。
在本申请另一实施例中,如图3所示,上述步骤S103、确定一级缓冲区 中各路语音帧数据对应的调度速度系数,包括:S1031、记录各路语音帧数据的接收参数。
S1032、根据各路语音帧数据的接收参数分别计算一级缓冲区的目标缓存级别。
S1033、根据多个一级缓冲区的目标缓存级别和一级缓冲区的当前缓存级别确定各路语音帧数据的调度速度系数。
在本申请实施例中,在接收到语音数据包后,记录该语音数据包的收包时间和时间戳等接收参数,根据接收参数计算出一级缓冲区的目标缓存级别,并根据一级缓冲区的目标缓存级别和当前缓存级别的比例设定不同的调度速度系数,得到与语音数据包中的各路语音帧数据对应的调度速度系数。
在本申请另一实施例中,如图4所示,上述步骤S1033、根据多个所述一级缓冲区的目标缓存级别和所述一级缓冲区的当前缓存级别确定各路所述语音帧数据的调度速度系数,包括:S10331、获取一级缓冲区的当前缓存级别和多个目标缓存级别的比例的预设置信区间与预设调度速度系数之间的对应关系表。
S10332、在对应关系表中查找与一级缓冲区的当前缓存级别和目标缓存级别的比例的置信区间对应的调度速度系数。
S10333、将与一级缓冲区的当前缓存级别和目标缓存级别的比例的置信区间对应的调度速度系数确定为语音帧数据的调度速度系数。
下面结合具体的使用场景对本申请实施例进行具体说明。
第一种使用场景:单种格式转码的场景。
如图5所示,以语音转码服务器为例,并行处理器使用GPU,将1000路G711帧数据转码为AMR-WB,具体的转码过程如下:从网络上收取多个终端发送的多路G711的RTP(Real-time Transport Protocol,实时传输协议)数据包,对各路G711的RTP数据包进行解析,提取出RTP数据包中的多路G711帧数据存入一级缓冲区中各自对应的缓存中。
在本申请实施例中,一级缓冲区设置在CPU上,用于存放各路G711帧数据,由于网络抖动和处理时延的存在,将一级缓冲区的最大缓存级别参数设置为100ms,以防止G711帧数据未及时处理而可能发生数据丢失的问题,而在网络状态和系统处理正常的情况下,该一级缓冲区的缓存级别通常设置为20ms到40ms。在接收到各路G711的RTP数据包时,记录该RTP数据包的收包时间和时间戳,计算解析出的G711帧数据的目标缓存级别,一级缓冲区的当前缓存级别和目标缓存级别的比例的置信区间设定不同的档位,得到与G711帧数据对应的目标调度速度系数,如表一所示。
表一、目标调度速度系数的计算方法
当前缓存级别/目标缓存级别 调度速度系数c
>2 2.0
(1.2,2] 1.5
[0.8,1.2] 1
<0.8 0.75
当满足预设数据调度时延或二级缓冲区的预设水位高度时,根据各路G711帧数据对应的调度速度系数将各路G711帧数据映射到二级缓冲区中,并维护各路G711帧数据和其相关参数及内存的对应关系。二级缓冲区是CPU上的一块连续内存和GPU上的一块连续内存的总和,CPU上的一块连续内存中存放各路G711帧数据,并需要将各路G711帧数据拷贝到GPU上的一块连续内存,以供GPU上的并行解码器进行解码。
优选地,将预设数据调度时延设置为rfc3550(实时应用传输协议)的默认包时长20ms,即一个RTP数据包的处理时延;将二级缓冲区的预设水位高度设置为800路。在接收到的G711帧数据的路数超过预设水位高度时或者达到预设数据调度时延时,从各路G711帧数据对应的缓存中读取n帧语音数据,假设语音时长调整处理帧数的上限为M,则n的取值范围为1=<n<M,n的具体取值由上述计算出的调度速度系数决定,调度速度系数越大,n的取 值越大。
一级缓冲区为先入先出,将一级缓冲区中的每路G711帧数据拷贝到二级缓冲区中(CPU上的一块连续内存),第N路数据对应二级缓冲区的第N个索引位置,再将二级缓冲区(CPU上的一块连续内存)中的G711帧数据拷贝到二级缓冲区(GPU上的一块连续内存)中,最后将二级缓冲区(GPU上的一块连续内存)中的G711帧数据批量发送到并行解码器,并行解码器对各路G711帧数据进行G711解码,输出解码后的PCM数据。
通常情况下,每路PCM数据对应一帧G711语音帧数据,在网络发生抖动或系统处理发生抖动时,为了消除抖动带来的影响,需要对PCM数据进行拉伸或压缩处理。拉伸或压缩的比例由一级缓冲区计算出的调度速度系数决定。当调度速度系数为1时,对PCM数据正常处理,当调度速度系数>1时,对PCM数据进行压缩,反之对PCM数据进行拉伸。解码后通过语音时长调整技术将PCM数据压缩或拉伸为相应的倍数。
为了提高并发性能,并行解码器在解码时采用异步解码的方式,利用GPU的回调机制,在并行解码器中注册回调函数,在回调函数中处理解码后的数据流,向并行解码器发送解码命令后,立即返回处理其他操作。
优选地,由于G711解码器的采样率为8k,而AMR-WB编码器的采样率为16k,因此需要对解码后的PCM数据进行采样率转换,将PCM数据的采样率由8k转换为16k;然后由并行编码器对多路PCM数据进行AMR-WB编码,生成编码后的帧数据。
为了提高并发性能,并发编码器在编码时采用异步编码的方式,利用GPU的回调机制,在并行编码器中注册回调函数,在回调函数中处理编码后的数据流,向并行编码器发送编码命令后,立即返回处理其他操作。
对各路编码后的G711帧数据进行打包,生成RTP数据包,将各路RTP数据包发送到对应的终端,各路终端收到对应的RTP数据包后进行解析后可播放该语音数据。
此外,在转码过程中,通常为了检测网络质量,每路会伴随发送RTCP包,RTCP包的转发处理同通用处理,此处不再赘述。
第二种使用场景:多种格式转码的场景。
如图6所示,在实际应用中,往往存在不同格式的各种终端,对语音转码服务器来说,经常要同时处理多种转码格式并存的情况,例如,同时将1000路G711转码为AMR-WB,将500路G729转码为AMR-NB,与单种格式转码方法的区别是对多路语音帧数据的内存映射和资源管理操作。
从网络上收取多个终端发送的多路G711的RTP数据包和G729的RTP数据包,对各路的RTP数据包进行解析,提取出RTP数据包中相应的语音帧数据存入一级缓冲区中各自对应的缓存中,处理方法同上述单种格式转码的方法,此处不再赘述。
对多种不同转码格式的G711语音帧数据和G729语音帧数据的内存映射和资源管理方法为:按不同的转码格式进行分组,对于G711转AMR-WB的1000路数据分配G711解码器、AMR-WB编码器和二级缓冲区A(二级缓存A),第N路映射到第N块内存,N=0,1,...,999;对于G729转AMR-NB的500路数据分配G729解码器、AMR-NB编码器和二级缓冲区B(二级缓存B),第M路映射到第M块内存,M=0,1,...,499。
本申请实施例,实现了基于并行处理器GPU进行多路语音转码,一次批量处理多路语音帧数据,在控制时延的前提下,提升了并发性能,避免了语音帧数据处理不当或不及时导致的语音帧数据丢失和影响通话质量,降低了成本。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的该方法,将获取到的多路语音帧数据分别存入一级缓冲区中对应的缓存,从而提高了单路语音帧数据的处理效率,通过确定一级缓冲区中各路语音帧数据对应的调度速度系数,当满足预设数据调度时延或二级缓冲区的预设水位高度时,根据一级缓冲区中各路语音帧数据的调度 速度系数读取各路语音帧数据,对各路所述语音帧数据进行拼接处理后存入所述二级缓冲区,也就是说,一级缓冲区中的每路语音帧数据都有对应的调度速度系数,可以提高每路语音帧数据的处理效率,提升并发性能,同时,可以保证相应通道的语音帧数据的时延,避免语音帧数据处理不当或不及时导致的语音帧数据丢失和影响通话质量。
本申请实施例提供的一种语音数据处理装置,如图6所示,该装置包括:获取单元11,配置用于获取多路语音帧数据;一级缓冲区12,配置用于将所述获取单元11获取到的多路所述语音帧数据存储到对应的缓存;调度速度系数确定单元13,配置用于确定所述一级缓冲区12中各路所述语音帧数据的调度速度系数;数据管理单元14,配置用于当满足预设数据调度时延或二级缓冲区的预设水位高度时,根据所述一级缓冲区12中各路所述语音帧数据对应的调度速度系数读取各路所述语音帧数据;二级缓冲区15,配置用于对拼接处理后的各路所述语音帧数据进行存储。
在本申请另一实施例中,所述装置还包括:语音帧数据读取单元,配置用于根据接收到的并行解码命令读取所述二级缓冲区中的各路所述语音帧数据;并行解码单元,配置用于利用并行解码器对各路所述语音帧数据进行异步解码操作,生成解码后的多路PCM数据;解码数据读取单元,配置用于根据接收到的并行编码命令读取编码后的多路所述PCM数据;并行编码单元,配置用于利用并行编码器对多路所述PCM数据进行异步编码操作,生成编码后的多路语音帧数据。
本申请实施例提供的一种计算机可读存储介质,该计算机可读存储介质上存储有语音数据处理程序,语音数据处理程序被处理器执行时实现如图1所示的语音数据处理方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术 语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

  1. 一种语音数据处理方法,其中,所述方法包括:
    获取多路语音帧数据;
    将多路所述语音帧数据分别存入一级缓冲区中对应的缓存;
    确定所述一级缓冲区中各路所述语音帧数据的调度速度系数;
    当满足预设数据调度时延或二级缓冲区的预设水位高度时,根据所述一级缓冲区中各路所述语音帧数据的调度速度系数读取各路所述语音帧数据;
    对各路所述语音帧数据进行拼接处理后存入所述二级缓冲区。
  2. 根据权利要求1所述的语音数据处理方法,其中,所述方法还包括:
    根据接收到的并行解码命令读取所述二级缓冲区中的各路所述语音帧数据;
    利用并行解码器对各路所述语音帧数据进行异步解码操作,生成解码后的多路PCM数据;
    根据接收到的并行编码命令读取编码后的多路所述PCM数据;
    利用并行编码器对多路所述PCM数据进行异步编码操作,生成编码后的多路语音帧数据。
  3. 根据权利要求2所述的语音数据处理方法,其中,所述利用并行解码器对各路所述语音帧数据进行异步解码操作,生成解码后的多路PCM数据包括:
    获取解码后的多路所述PCM数据的调度速度系数;
    当所述PCM数据的调度速度系数大于对应的调度速度系数阈值时,对所述PCM数据进行压缩处理;
    当所述PCM数据的调度速度系数小于对应的调度速度系数阈值时,对 所述PCM数据进行拉伸处理。
  4. 根据权利要求2所述的语音数据处理方法,其中,所述利用并行解码器对各路所述语音帧数据进行异步解码操作,生成解码后的多路PCM数据,包括:
    当所述并行解码器和并行编码器的采样率不同时,将解码后的多路所述PCM数据的采样率调整到与所述并行编码器的采样率一致。
  5. 根据权利要求1所述的语音数据处理方法,其中,所述确定所述一级缓冲区中各路所述语音帧数据的调度速度系数,包括:
    记录各路所述语音帧数据的接收参数;
    根据各路所述语音帧数据的接收参数分别计算所述一级缓冲区的目标缓存级别;
    根据多个所述一级缓冲区的目标缓存级别和所述一级缓冲区的当前缓存级别确定各路所述语音帧数据的调度速度系数。
  6. 根据权利要求5所述的语音数据处理方法,其中,所述根据多个所述一级缓冲区的目标缓存级别和所述一级缓冲区的当前缓存级别确定各路所述语音帧数据的调度速度系数,包括:
    获取所述一级缓冲区的当前缓存级别和多个所述目标缓存级别的比例的预设置信区间与预设调度速度系数之间的对应关系表;
    在所述对应关系表中查找与所述一级缓冲区的当前缓存级别和所述目标缓存级别的比例的置信区间对应的调度速度系数;
    将与所述一级缓冲区的当前缓存级别和所述目标缓存级别的比例的置信区间对应的调度速度系数确定为所述语音帧数据的调度速度系数。
  7. 根据权利要求1所述的多路语音数据处理方法,其中,所述获取多路 语音帧数据包括:
    读取多个终端设备本地存储的语音数据包;
    解析所述语音数据包获取所述语音帧数据;
    和/或,
    接收通过无线方式发送的语音数据包;
    解析所述语音数据包获取所述语音帧数据。
  8. 一种语音数据处理装置,其中,所述装置包括:
    获取单元,配置用于获取多路语音帧数据;
    一级缓冲区,配置用于将所述获取单元获取到的多路所述语音帧数据存储到对应的缓存;
    调度速度系数确定单元,配置用于确定所述一级缓冲区中各路所述语音帧数据的调度速度系数;
    数据管理单元,配置用于当满足预设数据调度时延或二级缓冲区的预设水位高度时,根据所述一级缓冲区中各路所述语音帧数据对应的调度速度系数读取各路所述语音帧数据;
    二级缓冲区,配置用于对拼接处理后的各路所述语音帧数据进行存储。
  9. 根据权利要求8所述的语音数据处理装置,其中,所述装置还包括:
    语音帧数据读取单元,配置用于根据接收到的并行解码命令读取所述二级缓冲区中的各路所述语音帧数据;
    并行解码单元,配置用于利用并行解码器对各路所述语音帧数据进行异步解码操作,生成解码后的多路PCM数据;
    解码数据读取单元,配置用于根据接收到的并行编码命令读取编码后的多路所述PCM数据;
    并行编码单元,配置用于利用并行编码器对多路所述PCM数据进行异步编码操作,生成编码后的多路语音帧数据。
  10. 一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有语音数据处理程序,所述语音数据处理程序被处理器执行时实现如权利要求1至9中任一项所述的语音数据处理方法的步骤。
PCT/CN2019/124913 2018-12-28 2019-12-12 一种语音数据处理方法、装置及计算机可读存储介质 WO2020135082A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811628553.6 2018-12-28
CN201811628553.6A CN111381973B (zh) 2018-12-28 2018-12-28 一种语音数据处理方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
WO2020135082A1 true WO2020135082A1 (zh) 2020-07-02

Family

ID=71127518

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/124913 WO2020135082A1 (zh) 2018-12-28 2019-12-12 一种语音数据处理方法、装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN111381973B (zh)
WO (1) WO2020135082A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112697B (zh) * 2022-11-28 2023-08-11 长沙千视电子科技有限公司 一种基于ndi的实时视频录像方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1463125A (zh) * 2002-05-28 2003-12-24 华为技术有限公司 一种实现缓存去抖的大容量实时流处理方法
CN102664015A (zh) * 2012-04-18 2012-09-12 王正鑫 一种基于g726编码的多路音频实时编码软硬件方案
CN104506455A (zh) * 2014-12-26 2015-04-08 深圳市兰丁科技有限公司 数据包排序去抖方法及装置
US20160191922A1 (en) * 2014-04-22 2016-06-30 Mediatek Inc. Mixed-level multi-core parallel video decoding system
CN106878736A (zh) * 2017-03-17 2017-06-20 郑州云海信息技术有限公司 一种视频编解码的方法与装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI390503B (zh) * 2009-11-19 2013-03-21 Gemtek Technolog Co Ltd Dual channel voice transmission system, broadcast scheduling design module, packet coding and missing sound quality damage estimation algorithm
CN101968959A (zh) * 2010-09-19 2011-02-09 北京航空航天大学 一种基于faad2 main模式的多路音频实时解码软件设计方法
CN104113777B (zh) * 2014-08-01 2018-06-05 广州猎豹网络科技有限公司 一种音频流解码方法及装置
DE102015104407B4 (de) * 2015-03-24 2023-02-23 Apple Inc. Verfahren und Vorrichtungen zum Steuern der Sprachqualität

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1463125A (zh) * 2002-05-28 2003-12-24 华为技术有限公司 一种实现缓存去抖的大容量实时流处理方法
CN102664015A (zh) * 2012-04-18 2012-09-12 王正鑫 一种基于g726编码的多路音频实时编码软硬件方案
US20160191922A1 (en) * 2014-04-22 2016-06-30 Mediatek Inc. Mixed-level multi-core parallel video decoding system
CN104506455A (zh) * 2014-12-26 2015-04-08 深圳市兰丁科技有限公司 数据包排序去抖方法及装置
CN106878736A (zh) * 2017-03-17 2017-06-20 郑州云海信息技术有限公司 一种视频编解码的方法与装置

Also Published As

Publication number Publication date
CN111381973B (zh) 2024-03-01
CN111381973A (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN102226944B (zh) 混音方法及设备
US10805196B2 (en) Packet loss and bandwidth coordination
US7054805B2 (en) Method and system for allocating memory during encoding of a datastream
WO2021159782A1 (zh) 数据传输方法、装置、终端、存储介质和系统
US20220059101A1 (en) Voice processing method and apparatus, computer-readable storage medium, and computer device
US20070263672A1 (en) Adaptive jitter management control in decoder
KR20120115961A (ko) 멀티 레이트 스피치와 오디오 코덱을 위한 프레임 손실 은닉 방법 및 장치
CN106993190B (zh) 软硬件协同编码方法及系统
US20100324914A1 (en) Adaptive Encoding of a Digital Signal with One or More Missing Values
CN104506287A (zh) 一种td-lte应急通信下的实时语音通信方法
US20140172420A1 (en) Audio or voice signal processor
US8270391B2 (en) Method and receiver for reliable detection of the status of an RTP packet stream
CN110351445A (zh) 一种基于智能语音识别的高并发voip录音服务系统
KR100793345B1 (ko) 음성/데이터 통합 시스템의 패킷 처리 방법 및 그 장치
WO2020135082A1 (zh) 一种语音数据处理方法、装置及计算机可读存储介质
CN101521813A (zh) 一种处理媒体流的方法和装置
US20140334484A1 (en) System, device, and method of voice-over-ip communication
CN100505714C (zh) 基于自适应差分脉冲编码调制的丢帧处理设备及方法
US7362770B2 (en) Method and apparatus for using and combining sub-frame processing and adaptive jitter-buffers for improved voice quality in voice-over-packet networks
JP2014167525A (ja) 音声復号装置
CN108200481B (zh) 一种rtp-ps流处理方法、装置、设备及存储介质
US20200162603A1 (en) Methods and Devices for Improvements Relating to Voice Quality Estimation
CN114448957B (zh) 音频数据传输方法和装置
WO2022183841A1 (zh) 解码方法、装置和计算机可读存储介质
WO2024067771A1 (zh) 编码方法、解码方法、编码装置、解码装置、电子设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19904009

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11.11.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19904009

Country of ref document: EP

Kind code of ref document: A1