CN113380280B - 数据处理方法、装置和存储介质 - Google Patents

数据处理方法、装置和存储介质 Download PDF

Info

Publication number
CN113380280B
CN113380280B CN202110673871.XA CN202110673871A CN113380280B CN 113380280 B CN113380280 B CN 113380280B CN 202110673871 A CN202110673871 A CN 202110673871A CN 113380280 B CN113380280 B CN 113380280B
Authority
CN
China
Prior art keywords
data
data cache
voice data
cache container
voice
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
CN202110673871.XA
Other languages
English (en)
Other versions
CN113380280A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110673871.XA priority Critical patent/CN113380280B/zh
Publication of CN113380280A publication Critical patent/CN113380280A/zh
Application granted granted Critical
Publication of CN113380280B publication Critical patent/CN113380280B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10657Cache memories for random data access, e.g. buffers wherein the data output is controlled by a priority parameter other than retention time

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

本发明提供一种数据处理方法、装置和存储介质,该方法应用于电子设备,电子设备包括设置在每个音区的音频输入设备,该方法包括:获取至少两个音区的音频输入设备采集的语音数据;判断每个音区对应的数据缓存容器中是否存在可用空间;调用第一线程依次向每个存在可用空间的数据缓存容器写入对应的语音数据,并丢弃不存在可用空间的数据缓存容器对应的语音数据。本发明能够解决因车载终端的录音管道的写入阻塞,导致车载终端的语音引擎无法工作的技术问题。

Description

数据处理方法、装置和存储介质
本申请是向中国专利局提交的申请号为201811632710.0,申请日为2018年12月29日,发明创造名称为“数据处理方法、装置和存储介质”的发明专利申请的分案申请。
技术领域
本发明涉及智能设备技术领域,尤其涉及一种数据处理方法、装置和存储介质。
背景技术
车载终端可以通过语音与用户进行交互,为用户提供导航、播放音乐、拨打电话等服务。现有的车载终端的麦克风是对准主驾驶位来设计的,可以为车辆的驾驶者提供语音服务。这种设计方式使车载终端无法为车辆上的其他成员提供服务。目前,推出了一种可以满足车辆全员使用的车载四音区方案,该方案中,将车辆内部的空间分为前后左右四个音区,每个音区覆盖车辆上的一个位置,车载终端在每个音区设置有独立的麦克风阵列,可以与该音区对应位置的用户进行语音交互。
由于车辆内部的空间较小,虽然通过麦克风阵列模组算法可以对四个位置制造一定的声音隔离度,但是任一位置的用户在语音唤醒车载终端时,还是会有一部分声音被其它音区的麦克风阵列采集,导致多个音区的麦克风阵列会采集到来自相同声源的语音数据。因此,为了识别出到底哪个音区被用户唤醒,车载终端会调用用于执行写入操作的线程,采用串行处理的方式,将四个音区的麦克风阵列所采集的语音数据写入该音区的录音管道中。然后,车载终端可以通过各音区对应的录音管道,将各音区的麦克风阵列所采集的语音数据同步传递给语音引擎中与每个音区对应的唤醒线程。这样,车载终端可以通过语音引擎中与每个音区对应的唤醒线程,同步识别该唤醒线程对应的音区是否被唤醒。
上述每个音区对应的录音管道的缓存大小有限,当语音数据写入超过录音管道的缓存大小时,会触发该录音管道的写入阻塞。然而,由于车载终端调用用于执行写入操作的线程,将每个音区的麦克风阵列所采集的语音数据写入该音区的录音管道中时,采用的是串行处理的方式。因此,若其中某一录音管道出现写入阻塞,则会导致车载终端调用用于执行写入操作的线程执行写入操作时,无法跳过该出现写入阻塞的录音管道,向其他音区的录音管道写入数据,进而导致所有音区对应的唤醒线程无法从各自音区对应的录音管道中读取缓存的语音数据,致使车载终端的语音引擎无法工作。
发明内容
本发明提供一种数据处理方法、装置和存储介质,用于解决因车载终端的录音管道的写入阻塞,导致车载终端的语音引擎无法工作的技术问题。
本发明的第一方面提供一种数据处理方法,所述方法应用于电子设备,所述电子设备包括设置在每个音区的音频输入设备,所述方法包括:
获取至少两个音区的音频输入设备采集的语音数据;
判断每个所述音区对应的数据缓存容器中是否存在可用空间;
调用第一线程依次向每个存在可用空间的数据缓存容器写入对应的音区的语音数据,并丢弃不存在可用空间对应的语音数据。
可选的,所述判断每个所述音区的对应的数据缓存容器中是否存在可用空间,包括:
判断所述音区对应的数据缓存容器的剩余空间,是否大于或等于所述音区的音频输入设备采集的语音数据的大小;
若是,则确定所述音区对应的数据缓存容器存在可用空间;
若否,则确定所述音区对应的数据缓存容器不存在可用空间。
可选的,所述获取至少两个音区的音频输入设备采集的语音数据,包括:
调用音频输入设备的接口,获取语音数据包,所述语音数据包包括所述至少两个音区的音频输入设备采集的语音数据;
从所述语音数据包中分离出每个所述音区的音频输入设备采集的语音数据。
可选的,所述方法还包括:
若调用第一数据缓存容器对应的第二线程,从所述第一数据缓存容器中未读取到缓存的语音数据,则将所述第一数据缓存容器对应的第二线程挂起,所述第一数据缓存容器为未缓存有语音数据的数据缓存容器。
可选的,所述方法还包括:
在将所述第一数据缓存容器对应的第二线程挂起的时长大于预设时长时,恢复所述第一数据缓存容器对应的第二线程。
本发明的第二方面提供一种数据处理装置,所述装置应用于电子设备,所述电子设备包括设置在每个音区的音频输入设备,所述装置包括:
获取模块,用于获取至少两个音区的音频输入设备采集的语音数据;
第一处理模块,用于判断每个所述音区对应的数据缓存容器中是否存在可用空间;
写模块,用于调用第一线程依次向每个存在可用空间的数据缓存容器写入对应的语音数据,并丢弃不存在可用空间的数据缓存容器对应的语音数据。
可选的,所述第一处理模块,具体用于判断所述音区对应的数据缓存容器的剩余空间,是否大于或等于所述音区的音频输入设备采集的语音数据的大小;若是,则确定所述音区对应的数据缓存容器存在可用空间;若否,则确定所述音区对应的数据缓存容器不存在可用空间。
可选的,所述获取模块,具体用于调用音频输入设备的接口,获取语音数据包,并从所述语音数据包中分离出每个所述音区的音频输入设备采集的语音数据;所述语音数据包包括所述至少两个音区的音频输入设备采集的语音数据。
可选的,所述装置,还包括:
读取模块,用于调用第一数据缓存容器对应的第二线程,从所述第一数据缓存容器中读取缓存的语音数据,所述第一数据缓存容器为未缓存有语音数据的数据缓存容器;
第二处理模块,用于在所述读取模块调用第一数据缓存容器对应的第二线程,从所述第一数据缓存容器中未读取到缓存的语音数据时,将所述第一数据缓存容器对应的第二线程挂起。
可选的,所述第二处理模块,还用于在将所述第一数据缓存容器对应的第二线程挂起的时长大于预设时长时,恢复所述第一数据缓存容器对应的第二线程。
本发明的第三方面提供一种数据处理装置,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述数据处理装置执行上述数据处理方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现上述数据处理方法。
本发明提供的数据处理方法、装置和存储介质,电子设备可以在调用第一线程依次向各音区对应的数据缓存容器执行数据写入操作之前,先判断各音区对应的数据缓存容器是否存在可用空间,进而仅向具有可用空间的数据缓存容器执行写入操作。通过这种方式,可以避免电子设备因调用第一线程向无可用空间的数据缓存容器执行写入操作,导致出现写入阻塞的情况,从而可以避免因无法跳过出现写入阻塞的数据缓存容器,向其他音区的数据缓存容器写入数据,而导致所有音区对应的唤醒线程无法从该音区对应的数据缓存容器读取到缓存的语音数据,致使车载终端的语音引擎无法工作的问题。这样,在某一数据缓存容器出现写入阻塞时,电子设备仍然可以调用第一线程向其他数据缓存容器写入语音数据,从而可以使语音引擎正常工作。
附图说明
图1为本发明提供的车载终端的应用场景示意图;
图2示出了一种将各音区的麦克风阵列采集的语音数据传递给语音引擎的示意图;
图3为本发明提供的一种数据处理方法的流程示意图;
图4为本发明提供的一种数据处理装置的结构示意图;
图5为本发明提供的另一种数据处理装置的结构示意图;
图6为本发明提供的又一种数据处理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的车载终端的应用场景示意图。如图1所示,为了满足车辆全员可以使用车载终端,目前推出了一种车载四音区方案。该方案中,将车辆内部的空间分为四个音区,每个音区覆盖车辆上的一个位置,每个音区设置有独立的麦克风阵列,可以采集该音区对应位置的用户的语音信号。该麦克风阵列可以设置在任一便于采集用户的语音信号的位置,例如该音区对应位置的上方车顶处。
例如,音区1覆盖车辆主驾驶位置,音区1的麦克风阵列用于采集车辆主驾驶位置的用户发出的语音信号;音区2覆盖车辆副驾驶位置,音区2的麦克风阵列用于采集车辆副驾驶位置的用户发出的语音信号;音区3包括车辆后排左边的位置,音区3的麦克风阵列用于采集车辆后排左边的位置的用户发出的语音信号;音区4包括车辆后排右边的位置,音区4的麦克风阵列用于采集车辆后排右边的位置的用户发出的语音信号。
可以理解,为了便于示例,图1仅示出了车载终端的麦克风阵列的位置,本发明对车载终端的构成,以及,车载终端在车辆中的位置,以及,麦克风阵列的位置并不限定。
由于车辆内部的空间较小,虽然通过麦克风阵列模组算法可以对四个位置制造一定的声音隔离度,但是任一位置的用户在语音唤醒车载终端时,还是会有一部分声音被其它音区的麦克风阵列采集,导致多个音区的麦克风阵列会采集到来自相同声源的语音数据。为了确保语音引擎的识别准确度,车载终端的语音引擎需要同步识别各音区的麦克风阵列所采集的语音数据。
图2示出了一种将各音区的麦克风阵列采集的语音数据传递给语音引擎的示意图。如图2所示,示例性的,车载终端中设置有4个录音管道,每个录音管道与一个音区对应,用于缓存该音区的麦克风阵列所采集的语音数据。
假定录音管道1为音区1对应的录音管道,录音管道2为音区2对应的录音管道,录音管道3为音区3对应的录音管道,录音管道4为音区4对应的录音管道。当各音区的麦克风阵列采集到用户的语音数据后,车载终端会调用用于执行写入操作的线程,采用串行处理的方式,依次将音区1的麦克风阵列所采集的语音数据写入录音管道1中、将音区2的麦克风阵列所采集的语音数据写入录音管道2中、将音区3的麦克风阵列所采集的语音数据写入录音管道3中、将音区4的麦克风阵列所采集的语音数据写入录音管道4中。
相应地,语音引擎也包括4个唤醒线程,每个唤醒线程对应一个录音管道。车载终端调用用于执行写入操作的线程,采用串行处理的方式,依次将四个音区的麦克风阵列所采集的语音数据写入该音区的录音管道中后,车载终端的语音引擎的各唤醒线程可以同步从各自对应的录音管道中读取缓存的语音数据,并基于读取的语音数据识别该录音管道对应的音区是否被唤醒。以唤醒线程1对应录音管道1、唤醒线程2对应录音管道2、唤醒线程3对应录音管道3、唤醒线程4对应录音管道4为例。即唤醒线程1用于读取并识别录音管道1中缓存的语音数据,以判断录音管道1对应的音区1是否被唤醒。唤醒线程2用于读取并识别录音管道2中缓存的语音数据,以判断录音管道2对应的音区2是否被唤醒。唤醒线程3用于读取并识别录音管道3中缓存的语音数据,以判断录音管道3对应的音区3是否被唤醒。唤醒线程4用于读取并识别录音管道4中缓存的语音数据,以判断录音管道4对应的音区4是否被唤醒。
通过上述传递各音区的麦克风阵列采集的语音数据的方式,可以使车载终端通过语音引擎中与每个音区对应的唤醒线程,同步识别该唤醒线程对应的音区是否被唤醒。
然而,在通过上述方式传递语音数据时,由于每个音区对应的录音管道的缓存大小有限,当语音数据写入超过录音管道的缓存大小时,会触发该录音管道的写入阻塞。然而,由于车载终端调用用于执行写入操作的线程,将每个音区的麦克风阵列所采集的语音数据写入该音区的录音管道中时,采用的是串行处理的方式。因此,若其中某一录音管道出现写入阻塞,则会导致车载终端调用用于执行写入操作的线程执行写入操作时,无法跳过该出现写入阻塞的录音管道,向其他音区的录音管道写入数据,进而导致所有音区对应的唤醒线程无法从各自音区对应的录音管道中读取到缓存的语音数据,致使车载终端的语音引擎无法工作。
示例性的,以录音管道2缓存已满为例,当车载终端调用用于执行写入操作的线程,采用串行处理的方式,依次向录音管道写入语音数据时,则在执行到向录音管道2写入音区2的麦克风阵列所采集的语音数据时,会不停的尝试向录音管道2写入数据,无法执行后续操作,从而导致所有音区对应的唤醒线程无法从各自音区对应的录音管道中读取缓存的语音数据,致使车载终端的语音引擎无法工作。
考虑到上述问题,本发明提供了一种数据处理方法,用以解决因车载终端的录音管道的写入阻塞,导致车载终端的语音引擎无法工作的技术问题。
可以理解,本发明提供的数据处理方法可以适用于任一可以为多个音区的用户提供语音服务的电子设备。例如,车载终端、智能家居等。示例性的,当电子设备为车载终端时,上述所说的一个音区可以覆盖车辆上的一个位置。当电子设备为智能家居时,上述所说的一个音区可以对应智能家居所在空间的一个区域等。
下面结合具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图3为本发明提供的一种数据处理方法的流程示意图。本发明的执行主体可以是数据处理装置,还可以是集成了数据处理装置的电子设备,下述以集成了数据处理装置的电子设备(简称:电子设备)为例,对本发明提供的数据处理方法进行说明和介绍。在本实施例中,电子设备包括设置在每个音区的音频输入设备。这里所说的音频输入设备可以为任一具有音频采集功能的设备,例如,麦克风阵列。
如图3所示,该方法可以包括:
S101、获取至少两个音区的音频输入设备采集的语音数据。
上述所说的至少两个音区可以包括所有音区,也可以是指部分音区,具体可以根据各音区的音频输入设备的采集情况确定。
可选的,当电子设备的至少两个音区的音频输入设备采集到语音数据后,电子设备可以调用音频输入设备的接口,获取语音数据包,所述语音数据包可以包括该至少两个音区的音频输入设备采集的语音数据。然后,电子设备可以从语音数据包中分离出每个音区的音频输入设备采集的语音数据。
例如,语音数据包中的语音数据携带有音频输入设备的标识,则电子设备可以根据每个音区的音频输入设备的标识(例如索引编号、id等),从语音数据包中分离出每个音区的音频输入设备采集的语音数据。或者,语音数据包中的语音数据携带有音区的标识(例如索引编号、id等),则电子设备可以根据每个音区的标识,从语音数据包中分离出每个音区的音频输入设备采集的语音数据。或者,语音数据包中各音区的音频输入设备所采集的语音数据排列顺序固定,则电子设备可以根据排列顺序,从语音数据包中分离出每个音区的音频输入设备采集的语音数据。
可选的,当电子设备的至少两个音区的音频输入设备采集到语音数据后,电子设备也可以调用该至少两个音区中各音区的音频输入设备的接口,获取每个音区的音频输入设备采集的语音数据。
可以理解,上述所说的至少两个音区的音频输入设备采集的语音数据:可以是来自同一用户的,也可以是来自不同音区的用户。以音区A的音频输入设备和音区B的音频输入设备为例,音区A的音频输入设备采集的语音数据和音区B的音频输入设备采集的语音数据可以是来自同一用户的,或者,音区A的音频输入设备采集的语音数据是来自音区A的用户、音区B的音频输入设备采集的语音数据是来自音区B的用户。
S102、判断每个音区对应的数据缓存容器中是否存在可用空间。
其中,上述所说的数据缓存容器可以为任一具有缓存功能的容器,例如,前述所说的录音管道。
在本实施例中,上述电子设备在调用第一线程将所获取到的每个音区的音频输入设备所采集的语音数据写入对应的数据缓存容器时,可以判断每个音区对应的数据缓存容器中是否存在可用空间。由于数据读取的速度快于数据写入的速度,若数据缓存容器存在可用空间,说明可以向该数据缓存容器写入新的数据。若数据缓存容器不存在可用空间,说明无法向该数据缓存容器写入新的数据。
可选的,电子设备可以根据预设的语音数据大小,判断每个音区对应的数据缓存容器是否存在可用空间。若某一音区对应的数据缓存容器的剩余空间可以容纳预设的语音数据大小,则确定该音区对应的数据缓存容器存在可用空间。若某一音区对应的数据缓存容器的剩余空间无法容纳预设的语音数据大小的空间,则确定该音区对应的数据缓存容器不存在可用空间。其中,上述所说的预设的语音数据大小具体可以根据所有音区的音频输入设备所能采集到的语音数据的大小确定。例如,该预设的语音数据大小可以为所有音区的音频输入设备所能采集到的最大语音数据对应的大小。
可选的,电子设备可以根据各音区的音频输入设备采集的语音数据的大小,判断每个音区对应的数据缓存容器是否存在可用空间。例如,电子设备可以判断每个音区对应的数据缓存容器的剩余空间是否大于或等于该音区的音频输入设备采集的语音数据的大小。若某一音区对应的数据缓存容器的剩余空间大于或等于该音区的音频输入设备采集的语音数据的大小,则确定该音区对应的数据缓存容器存在可用空间。若某一音区对应的数据缓存容器的剩余空间小于该音区的音频输入设备采集的语音数据的大小,则确定该音区对应的数据缓存容器不存在可用空间。
对于存在可用空间的数据缓存容器,电子设备可以执行S103,对于不存在可用空间的数据缓存容器,电子设备可以执行S104。
S103、调用第一线程依次向每个存在可用空间的数据缓存容器写入对应的语音数据。
S104、丢弃不存在可用空间的数据缓存容器对应的语音数据。
上述第一线程可以为任一具有执行写入操作功能的线程。
具体的,上述电子设备在判断每个音区对应的数据缓存容器中是否存在可用空间后,可以调用第一线程采用串行的方式,依次向每个存在可用空间的数据缓存容器,写入该数据缓存容器对应的音区的音频数据输入设备采集的语音数据。而对于不存在空间的数据缓存容器,上述电子设备可以丢弃准备写入这些数据缓存容器中的数据,不再调用第一线程向这些数据缓存容器执行写入操作。
通过这种方式,可以避免电子设备因调用第一线程向无可用空间的数据缓存容器执行写入操作,导致出现写入阻塞的情况,从而可以避免因无法跳过出现写入阻塞的数据缓存容器,向其他音区的数据缓存容器写入数据,而导致所有音区对应的唤醒线程无法从该音区对应的数据缓存容器读取到缓存的语音数据,致使车载终端的语音引擎无法工作的问题。这样,在某一数据缓存容器出现写入阻塞时,电子设备仍然可以调用第一线程向其他数据缓存容器写入语音数据,从而可以使语音引擎正常工作。
继续参照图2,以图2所示的车载四音区方案为例,假定录音管道2缓存已满为例,则车载终端通过本实施例所示的方法,可以在向每个音区的录音管道写入该录音管道对应的音区的麦克风阵列所采集的语音数据时,可以先判断该录音管道的缓存是否已满,若是,则丢弃要写入该录音管道的数据,不再对该录音管道执行写入。
在本示例中,则车载终端通过本实施例所示的方法,通过判断录音管道2是否存在可用空间,识别出录音管道2的缓存已满时,则直接丢弃要写入该录音管道2的数据,不再对该录音管道2执行写入操作。即跳过录音管道2,向录音管道3执行写入操作。通过这种方式,可以避免车载终端调用用于执行写入操作的线程执行写入操作时,因无法跳过该出现写入阻塞的录音管道,向其他音区的录音管道写入数据,导致所有音区对应的唤醒线程无法从各自音区对应的录音管道中读取缓存的语音数据,致使车载终端的语音引擎无法工作的问题。
可选的,上述步骤S101和步骤S102可以由电子设备调用第一线程来实现,即,上述第一线程不仅具有写入功能,还可以具有语音数据分离功能、处理功能等,对此不再赘述。可以理解,上述电子设备还可以调用第一线程实现电子设备的其他功能,对此不进行限定。
本发明提供的数据处理方法,电子设备可以在调用第一线程依次向各音区对应的数据缓存容器执行数据写入操作之前,先判断各音区对应的数据缓存容器是否存在可用空间,进而仅向具有可用空间的数据缓存容器执行写入操作。通过这种方式,可以避免电子设备因调用第一线程向无可用空间的数据缓存容器执行写入操作,导致出现写入阻塞的情况,从而可以避免因无法跳过出现写入阻塞的数据缓存容器,向其他音区的数据缓存容器写入数据,而导致所有音区对应的唤醒线程无法从该音区对应的数据缓存容器读取到缓存的语音数据,致使车载终端的语音引擎无法工作的问题。这样,在某一数据缓存容器出现写入阻塞时,电子设备仍然可以调用第一线程向其他数据缓存容器写入语音数据,从而可以使语音引擎正常工作。
前述实施例描述的是电子设备如何处理数据缓存容器写入阻塞的过程,下面实施例涉及的是电子设备如何处理数据缓存容器读取阻塞的过程。这里所说的读取阻塞是指因数据缓存容器为空,即数据缓存容器中无数据,导致语音引擎中对应该数据缓存容器的第二线程无法从该数据缓存容器中读取到数据。具体地:
电子设备可以调用数据缓存容器对应的第二线程,从数据缓存容器中读取缓存的语音数据,并对读取到的语音数据进行语音识别,以确定数据缓存容器对应的音区是否被唤醒。其中,上述所说的第二线程可以为任一具有读取功能的线程。例如,现有技术中所涉及的语音引擎中的唤醒线程。
例如,电子设备可以识别所读取的语音数据是否包括预设的唤醒词,来确定缓存该语音数据的数据缓存容器对应的音区是否被唤醒。或者,电子设备也可以采用现有的其他方式,对读取到的语音数据进行识别,来判断对应的音区是否被唤醒,对此不再赘述。
可选的,电子设备可以同步调用每个数据缓存容器对应的第二线程,从该第二线程对应的数据缓存容器中读取缓存的语音数据。通过该方式,当电子设备处于因多个音区因声音隔离度不足,导致多个音区的音频输入设备会采集到来自相同声源的语音数据时,可以使电子设备同步识别哪个音区被唤醒。
以第一数据缓存容器中未缓存有数据为例,则在该场景下,电子设备在调用第一数据缓存容器对应的第二线程,从第一数据缓存容器中读取缓存的语音数据时,会出现读取阻塞的情况。
在该场景下,电子设备若调用第一数据缓存容器对应的第二线程,从第一数据缓存容器中未读取到缓存的语音数据,则电子设备可以将第一数据缓存容器对应的第二线程挂起。通过这种方式,可以避免电子设备持续调用无法读取到数据的第二线程,执行读取操作。
进一步地,在将第一数据缓存容器对应的第二线程挂起的时长大于预设时长时,电子设备可以自动恢复第一数据缓存容器对应的第二线程,以继续调用该第一数据缓存容器对应的第二线程,执行从第一数据缓存容器中读取数据的操作。其中,该预设时长可以根据需求调整。
本发明提供的数据处理方法,电子设备可以在数据缓存容器出现读取阻塞时,可以将该数据缓存容器对应的第二线程挂起,避免电子设备持续调用无法读取到数据的第二线程执行读取操作。
可以理解,虽然上述实施例均以电子设备为执行主体对本发明提供的数据处理方法进行了说明和介绍。但是,本领域技术人员可以理解的是,具体实现时,上述电子设备也可以通过电子设备上所安装的语音交互系统或者应用程序等,实现上述方法实施例,对此不再赘述。另外,本发明对上述导致电子设备的数据缓存容器出现写入阻塞和读取阻塞的原因不做限定。
图4为本发明提供的一种数据处理装置的结构示意图,该数据处理装置可以应用于前述所说的电子设备。例如,该数据处理装置可以为应用于上述电子设备中的芯片,也可以为上述电子设备。如图4所示,该装置包括:获取模块11、第一处理模块12和写模块13。其中,
获取模块11,用于获取至少两个音区的音频输入设备采集的语音数据;
第一处理模块12,用于判断每个所述音区对应的数据缓存容器中是否存在可用空间;
写模块13,用于调用第一线程依次向每个存在可用空间的数据缓存容器写入对应的语音数据,并丢弃不存在可用空间的数据缓存容器对应的语音数据。
可选的,所述第一处理模块12,具体用于判断所述音区对应的数据缓存容器的剩余空间,是否大于或等于所述音区的音频输入设备采集的语音数据的大小;若是,则确定所述音区对应的数据缓存容器存在可用空间;若否,则确定所述音区对应的数据缓存容器不存在可用空间。
可选的,所述获取模块11,具体用于调用音频输入设备的接口,获取语音数据包,并从所述语音数据包中分离出每个所述音区的音频输入设备采集的语音数据;所述语音数据包包括所述至少两个音区的音频输入设备采集的语音数据。
可选的,所述电子设备为车载终端。
图5为本发明提供的另一种数据处理装置的结构示意图,如图5所示,在上述图4所示的框图的基础上,上述装置还可以包括:
读取模块14,用于调用所述数据缓存容器对应的第二线程,从所述数据缓存容器中读取缓存的语音数据,所述第一数据缓存容器为未缓存有语音数据的数据缓存容器;
第二处理模块15,用于在所述读取模块14调用第一数据缓存容器对应的第二线程,从所述第一数据缓存容器中未读取到缓存的语音数据时,将所述第一数据缓存容器对应的第二线程挂起。
可选的,所述第二处理模块15,还用于在将所述第一数据缓存容器对应的第二线程挂起的时长大于预设时长时,恢复所述第一数据缓存容器对应的第二线程。
本发明提供的数据处理装置,可以执行上述方法实施例中电子设备的动作,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上模块可以以软件通过处理元件调用的形式实现;也可以以硬件的形式实现。例如,获取模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
图6为本发明提供的又一种数据处理装置的结构示意图,该数据处理装置例如可以是电子设备,比如车载终端、智能家居等。如图6所示,该数据处理装置600包括:存储器601和至少一个处理器602。
存储器601,用于存储程序指令。
处理器602,用于在程序指令被执行时实现本实施例中的数据处理方法,具体实现原理可参见上述实施例,本实施例此处不再赘述。
该数据处理装置600还可以包括及输入/输出接口603。
输入/输出接口603可以包括独立的输出接口和输入接口,也可以为集成输入和输出的集成接口。其中,输出接口用于输出数据,输入接口用于获取输入的数据。
本发明还提供一种可读存储介质,可读存储介质中存储有执行指令,当数据处理装置的至少一个处理器执行该执行指令时,当计算机执行指令被处理器执行时,实现上述实施例中的数据处理方法。
本发明还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。数据处理装置的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得数据处理装置实施上述的各种实施方式提供的数据处理方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本发明各个实施例中的各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (19)

1.一种数据处理方法,所述方法应用于电子设备,所述电子设备包括设置在每个音区的音频输入设备,所述方法包括:
获取至少两个音区的音频输入设备采集的语音数据;
向每个所述音区对应的数据缓存容器写入对应的语音数据;
若调用第一数据缓存容器对应的第二线程,从所述第一数据缓存容器中未读取到缓存的语音数据,则将所述第一数据缓存容器对应的第二线程挂起,所述第一数据缓存容器为未缓存有语音数据的数据缓存容器,其中,所述第一数据缓存容器与每个所述音区对应设置,所述第一数据缓存容器与每个所述音区均对应一个第二线程。
2.根据权利要求1所述的方法,其中,所述获取至少两个音区的音频输入设备采集的语音数据,包括:
调用音频输入设备的接口,获取语音数据包,所述语音数据包包括所述至少两个音区的音频输入设备采集的语音数据;
从所述语音数据包中分离出每个所述音区的音频输入设备采集的语音数据。
3.根据权利要求2所述的方法,其中,所述语音数据包中的语音数据携带有音频输入设备的标识,所述从所述语音数据包中分离出每个所述音区的音频输入设备采集的语音数据,包括:
根据每个所述音区的音频输入设备的标识,从所述语音数据包中分离出每个所述音区的音频输入设备采集的语音数据。
4.根据权利要求1所述的方法,其中,所述获取至少两个音区的音频输入设备采集的语音数据,包括:
调用所述至少两个音区中各所述音区的音频输入设备的接口,获取每个所述音区的音频输入设备采集的语音数据。
5.根据权利要求1-4任一项所述的方法,所述方法还包括:
在将所述第一数据缓存容器对应的第二线程挂起的时长大于预设时长时,恢复所述第一数据缓存容器对应的第二线程。
6.根据权利要求5所述的方法,所述方法还包括:
若调用第二数据缓存容器对应的第二线程,从所述第二数据缓存容器中读取到缓存的语音数据,则调用所述第二数据缓存容器对应的第二线程,对读取到的语音数据进行语音识别;所述第二数据缓存容器为所述至少两个音区对应的数据缓存容器中缓存有语音数据的数据缓存容器;
根据所述语音识别结果,确定所述第二数据缓存容器对应的音区是否被唤醒。
7.根据权利要求6所述的方法,其中,所述根据所述语音识别结果,确定所述第二数据缓存容器对应的音区是否被唤醒,包括:
若所述语音识别结果表征所读取的语音数据包括预设的唤醒词,则确定所述第二数据缓存容器对应的音区被唤醒;或者,
若所述语音识别结果表征所读取的语音数据未包括所述预设的唤醒词,则确定所述第二数据缓存容器对应的音区未被唤醒。
8.根据权利要求1-4、6-7任一项所述的方法,其中,所述向每个所述音区对应的数据缓存容器写入对应的语音数据,包括:
调用第一线程采用串行处理方式依次向每个所述音区对应的数据缓存容器写入对应的语音数据。
9.一种数据处理装置,所述装置应用于电子设备,所述电子设备包括设置在每个音区的音频输入设备,所述装置包括:
获取模块,用于获取至少两个音区的音频输入设备采集的语音数据;
写模块,用于向每个所述音区对应的数据缓存容器写入对应的语音数据;
读取模块,用于调用第一数据缓存容器对应的第二线程,从所述第一数据缓存容器中读取缓存的语音数据;
第二处理模块,用于在所述读取模块调用第一数据缓存容器对应的第二线程,从所述第一数据缓存容器中未读取到缓存的语音数据时,将所述第一数据缓存容器对应的第二线程挂起,所述第一数据缓存容器为未缓存有语音数据的数据缓存容器,其中,所述第一数据缓存容器与每个所述音区对应设置,所述第一数据缓存容器与每个所述音区均对应一个第二线程。
10.根据权利要求9所述的装置,其中,所述获取模块,具体用于调用音频输入设备的接口,获取语音数据包;从所述语音数据包中分离出每个所述音区的音频输入设备采集的语音数据;其中,所述语音数据包包括所述至少两个音区的音频输入设备采集的语音数据。
11.根据权利要求10所述的装置,其中,所述语音数据包中的语音数据携带有音频输入设备的标识,所述获取模块,具体用于根据每个所述音区的音频输入设备的标识,从所述语音数据包中分离出每个所述音区的音频输入设备采集的语音数据。
12.根据权利要求9所述的装置,其中,所述获取模块,具体用于调用所述至少两个音区中各所述音区的音频输入设备的接口,获取每个所述音区的音频输入设备采集的语音数据。
13.根据权利要求9-12任一项所述的装置,其中,所述第二处理模块,还用于在将所述第一数据缓存容器对应的第二线程挂起的时长大于预设时长时,恢复所述第一数据缓存容器对应的第二线程。
14.根据权利要求13所述的装置,其中,
所述读取模块,还用于调用第二数据缓存容器对应的第二线程,从所述第二数据缓存容器中读取到缓存的语音数据;所述第二数据缓存容器为所述至少两个音区对应的数据缓存容器中缓存有语音数据的数据缓存容器;
所述第二处理模块,还用于在所述读取模块调用第二数据缓存容器对应的第二线程,从所述第二数据缓存容器中读取到缓存的语音数据时,调用所述第二数据缓存容器对应的第二线程,对读取到的语音数据进行语音识别;根据所述语音识别结果,确定所述第二数据缓存容器对应的音区是否被唤醒。
15.根据权利要求14所述的装置,其中,所述第二处理模块,具体用于在所述语音识别结果表征所读取的语音数据包括预设的唤醒词时,确定所述第二数据缓存容器对应的音区被唤醒;或者,在所述语音识别结果表征所读取的语音数据未包括所述预设的唤醒词时,确定所述第二数据缓存容器对应的音区未被唤醒。
16.根据权利要求9-12、14-15任一项所述的装置,其中,所述写模块,具体用于调用第一线程采用串行处理方式依次向每个所述音区对应的数据缓存容器写入对应的语音数据。
17.一种数据处理装置,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述数据处理装置执行权利要求1-8任一项所述的方法。
18.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现权利要求1-8任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
CN202110673871.XA 2018-12-29 2018-12-29 数据处理方法、装置和存储介质 Active CN113380280B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110673871.XA CN113380280B (zh) 2018-12-29 2018-12-29 数据处理方法、装置和存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811632710.0A CN109830249B (zh) 2018-12-29 2018-12-29 数据处理方法、装置和存储介质
CN202110673871.XA CN113380280B (zh) 2018-12-29 2018-12-29 数据处理方法、装置和存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811632710.0A Division CN109830249B (zh) 2018-12-29 2018-12-29 数据处理方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN113380280A CN113380280A (zh) 2021-09-10
CN113380280B true CN113380280B (zh) 2022-11-22

Family

ID=66860010

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811632710.0A Active CN109830249B (zh) 2018-12-29 2018-12-29 数据处理方法、装置和存储介质
CN202110673871.XA Active CN113380280B (zh) 2018-12-29 2018-12-29 数据处理方法、装置和存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811632710.0A Active CN109830249B (zh) 2018-12-29 2018-12-29 数据处理方法、装置和存储介质

Country Status (1)

Country Link
CN (2) CN109830249B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111080817B (zh) * 2019-11-27 2021-12-24 天地融科技股份有限公司 一种车载单元数据写入方法、装置及系统、车载单元
CN112698872A (zh) * 2020-12-21 2021-04-23 北京百度网讯科技有限公司 语音数据处理的方法、装置、设备及存储介质
CN113380247A (zh) * 2021-06-08 2021-09-10 阿波罗智联(北京)科技有限公司 多音区语音唤醒、识别方法和装置、设备、存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640147B1 (en) * 1997-09-24 2003-10-28 Sony Corporation Method and apparatus for late buffer processing
US6741963B1 (en) * 2000-06-21 2004-05-25 International Business Machines Corporation Method of managing a speech cache
CA2453137A1 (en) * 2001-07-06 2003-01-16 E-Genie Australia Pty Limited Method and system for computer software application execution
WO2003042811A1 (en) * 2001-11-13 2003-05-22 Koninklijke Philips Electronics N.V. Efficient fifo communication using semaphores
JP2004102647A (ja) * 2002-09-10 2004-04-02 Sony Corp 記録装置および方法、再生装置および方法、記録媒体、並びにプログラム
US7809252B2 (en) * 2003-04-09 2010-10-05 Corel Inc. Systems and methods for caching multimedia data
CN1540954A (zh) * 2003-10-30 2004-10-27 清华大学深圳研究生院 一种ip视频会议系统中音视频流传输的流量控制方法
JP2005317115A (ja) * 2004-04-28 2005-11-10 Sony Corp 情報処理装置および情報処理方法、並びに、プログラム
CN100578470C (zh) * 2007-01-31 2010-01-06 浙江大学 基于裸设备的音视频数据存取方法和装置
CN101957800A (zh) * 2010-06-12 2011-01-26 福建星网锐捷网络有限公司 多通道缓存分配方法及装置
CN103002384B (zh) * 2011-09-08 2015-03-25 比亚迪股份有限公司 四扬声器虚拟环绕声的信号处理系统及方法
CN103391415B (zh) * 2012-05-11 2016-12-07 安凯(广州)微电子技术有限公司 一种录像数据丢帧处理方法及系统
EP2806663B1 (en) * 2013-05-24 2020-04-15 Harman Becker Automotive Systems GmbH Generation of individual sound zones within a listening room
CN103400496A (zh) * 2013-07-27 2013-11-20 杭州九树网络科技有限公司 出租车与乘客之间的信息提醒系统和方法
JP2015114854A (ja) * 2013-12-12 2015-06-22 三菱電機株式会社 音声転送装置および音声転送方法
CN203721182U (zh) * 2013-12-25 2014-07-16 安徽科大讯飞信息科技股份有限公司 一种车载语音处理系统
CN104090858A (zh) * 2014-06-10 2014-10-08 中兴通讯股份有限公司 数据传输方法及装置
CN104113777B (zh) * 2014-08-01 2018-06-05 广州猎豹网络科技有限公司 一种音频流解码方法及装置
CN104184817A (zh) * 2014-08-28 2014-12-03 广州金山网络科技有限公司 一种下载优化方法及装置、终端
CN104240739B (zh) * 2014-09-04 2017-05-24 广东欧珀移动通信有限公司 一种移动终端的音乐播放方法及装置
CN105117351B (zh) * 2015-09-08 2018-07-03 华为技术有限公司 向缓存写入数据的方法及装置
CN205176826U (zh) * 2015-10-30 2016-04-20 广西师范大学 一种基于usb高速接口的音频采集装置
CN108984312B (zh) * 2017-06-02 2022-03-25 伊姆西Ip控股有限责任公司 数据读写的方法和设备
CN108897701B (zh) * 2018-06-20 2020-07-14 珠海市杰理科技股份有限公司 cache存储装置
CN109087660A (zh) * 2018-09-29 2018-12-25 百度在线网络技术(北京)有限公司 用于回声消除的方法、装置、设备以及计算机可读存储介质

Also Published As

Publication number Publication date
CN109830249A (zh) 2019-05-31
CN113380280A (zh) 2021-09-10
CN109830249B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN113380280B (zh) 数据处理方法、装置和存储介质
JP6914236B2 (ja) 音声認識方法、装置、デバイス、コンピュータ可読記憶媒体及びプログラム
JP7324313B2 (ja) 音声対話方法及び装置、端末、並びに記憶媒体
CN109841214B (zh) 语音唤醒处理方法、装置和存储介质
US11587560B2 (en) Voice interaction method, device, apparatus and server
JP2019128939A (ja) ジェスチャーによる音声ウェイクアップ方法、装置、設備及びコンピュータ可読媒体
US20200219503A1 (en) Method and apparatus for filtering out voice instruction
JP2019128938A (ja) 読話による音声ウェイクアップ方法、装置、設備及びコンピュータ可読媒体
CN109669663B (zh) 音区幅值获取方法、装置、电子设备及存储介质
CN110310633A (zh) 多音区语音识别方法、终端设备和存储介质
US11200899B2 (en) Voice processing method, apparatus and device
JP7166294B2 (ja) オーディオ処理方法、装置及び記憶媒体
CN111104448A (zh) 大数据量Excel文件导出方法、装置、计算机设备及存储介质
CN108039175B (zh) 语音识别方法、装置及服务器
US20170064084A1 (en) Method and Apparatus for Implementing Voice Mailbox
CN112562654B (zh) 一种音频分类方法及计算设备
CN113468097B (zh) 基于片上系统的数据交换方法
CN113571053A (zh) 语音唤醒方法和设备
CN111988478A (zh) 一种呼入管理方法、装置、服务器及存储介质
CN114627854A (zh) 语音识别方法、语音识别系统及存储介质
WO2021164560A1 (zh) 一种多核芯片及其调度方法
CN111739515B (zh) 语音识别方法、设备、电子设备和服务器、相关系统
CN115576518A (zh) 音频数据的获取方法、装置、终端及存储介质
CN110120899B (zh) 一种数据流的检测方法、装置、电子设备及存储介质
CN110874201B (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