CN115604514A - 音频传输同步方法及装置 - Google Patents

音频传输同步方法及装置 Download PDF

Info

Publication number
CN115604514A
CN115604514A CN202110769958.7A CN202110769958A CN115604514A CN 115604514 A CN115604514 A CN 115604514A CN 202110769958 A CN202110769958 A CN 202110769958A CN 115604514 A CN115604514 A CN 115604514A
Authority
CN
China
Prior art keywords
data
rate
threshold
slave device
audio
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.)
Pending
Application number
CN202110769958.7A
Other languages
English (en)
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 CN202110769958.7A priority Critical patent/CN115604514A/zh
Publication of CN115604514A publication Critical patent/CN115604514A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Acoustics & Sound (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开提供了一种音频传输同步方法及装置。从设备缓存以第一速率采集到的音频数据,第一速率与主机从从设备获取音频数据的第二速率不匹配;从设备监测同步时机;从设备获取缓存数据的大小;从设备确定缓存数据的大小处于第一设定范围内,在同步时机内对缓存数据进行第一处理操作,其中,第一速率小于第二速率;或从设备确定缓存数据的大小处于第二设定范围内,在同步时机内对缓存数据进行第二处理操作,其中,第一速率大于第二速率;其中,第一处理操作或第二处理操作用于使第一速率与第二速率匹配。通过监测同步时机,在同步时机内在不对缓存的音频数据造成声音卡顿的情况下对缓存数据进行处理,从而实现了从设备与主机之间的音频数据同步。

Description

音频传输同步方法及装置
技术领域
本公开涉及媒体处理技术领域,尤其涉及一种音频传输同步方法及装置。
背景技术
通用串行总线(universal serial bus,USB)麦克风作为USB从设备(device)(又称USB声卡),将音频通过音频类别(USB audio class,UAC)1或UAC2协议传输到USB主机(host)。由于两者之间存在时钟差异,USB从设备产生音频的速率和USB主机取音频数据的速率不一致,从而需要进行同步。
采用UAC1或UAC2的USB声卡有三种音频同步模式:同步模式、异步模式和自适应模式。同步模式中,USB主机和USB从设备的时钟都与USB起始帧(start of frame,SOF)同步;异步模式中,USB从设备提供直接或间接的反馈给USB主机,USB主机来适应USB从设备的时钟;而自适应模式中,则是USB从设备来适应USB主机的时钟。
同步模式方案需要USB主机和USB从设备硬件上支持时钟与USB SOF同步,硬件要求高,而且SOF作为时钟源精度并不高。而异步模式方案,在不同系统上的支持不一致。自适应模式方案常见的是USB从设备通过锁相环(phase locked loop,PLL)调整时钟,或随机的丢或补数据,容易产生杂音。
发明内容
本公开实施例提供了一种音频传输同步方法及装置,以使从设备和主机之间的传输速率同步。
第一方面,提供了一种音频传输同步方法,所述方法包括:
从设备缓存所述从设备以第一速率采集到的音频数据,所述第一速率与主机从所述从设备获取所述音频数据的第二速率不匹配;
所述从设备监测同步时机;
所述从设备获取所述缓存数据的大小;
所述从设备确定所述缓存数据的大小处于第一设定范围内,在所述同步时机内对所述缓存数据进行第一处理操作,其中,所述第一速率小于所述第二速率;或
所述从设备确定所述缓存数据的大小处于第二设定范围内,在所述同步时机内对所述缓存数据进行第二处理操作,其中,所述第一速率大于所述第二速率;
其中,所述第一处理操作或所述第二处理操作用于使所述第一速率与所述第二速率匹配,所述第一设定范围小于所述第二设定范围。
在一种可能的实现中,所述从设备缓存所述从设备以第一速率采集到的音频数据之前,所述方法还包括:
所述从设备对所述采集到的音频数据进行消噪,其中,所述消噪后的音频数据中的非语音数据的声音幅度等于0,或者所述消噪后的音频数据中的非语音数据的声音幅度小于或等于所述设定阈值;
所述从设备缓存所述从设备以第一速率采集到的音频数据,包括:
所述从设备缓存消噪后的音频数据。
在又一种可能的实现中,所述从设备监测同步时机,包括:
所述从设备检测到所述缓存数据中包含非语音数据,其中,所述非语音数据的声音幅度等于0,或者所述非语音数据的声音幅度小于或等于设定阈值。
在又一种可能的实现中,所述从设备在所述同步时机内对所述缓存数据进行第一处理操作,包括:
所述从设备在所述同步时机内在所述非语音数据后增加第一设定数量的设定数值。
在又一种可能的实现中,所述第一设定范围为所述缓存数据小于第二阈值,所述从设备在所述非语音数据后增加第一设定数量的设定数值,包括:
所述缓存数据小于或等于第一阈值,则所述从设备在所述缓存数据后增加所述第一设定数量的所述设定数值,使所述缓存数据大于所述第一阈值,且小于第三阈值;或
所述缓存数据大于所述第一阈值,且小于所述第二阈值,则所述从设备在所述非语音数据后增加所述第一设定数量的所述设定数值,使所述缓存数据大于所述第二阈值,且小于第三阈值;
其中,所述第一阈值为所述缓存数据的最小保留数据长度,所述第一阈值与系统运行抖动状态关联,所述第二阈值为增加所述设定数值后的缓存数据的最小长度,所述第三阈值为增加所述设定数值后的缓存数据的最大长度,所述第三阈值与系统最大允许的延迟关联。
在又一种可能的实现中,所述从设备在所述同步时机内对所述缓存数据进行第二处理操作,包括:
所述从设备在所述同步时机内丢弃第二设定数量的所述非语音数据。
在又一种可能的实现中,所述第二设定范围为大于第三阈值,所述从设备丢弃第二设定数量的所述非语音数据,包括:
所述缓存数据大于所述第三阈值,且小于第四阈值,所述从设备丢弃所述缓存数据中所述第二设定数量的非语音数据;或
所述缓存数据大于所述第四阈值,所述从设备丢弃所述缓存数据中所述第二设定数量的非语音数据,使所述缓存数据大于所述第一阈值,且小于所述第三阈值;
其中,所述第四阈值为所述缓存数据的最大保留数据长度。
第二方面,提供了一种音频传输同步装置,所述装置包括:
缓存模块,用于缓存所述从设备以第一速率采集到的音频数据,所述第一速率与主机从所述从设备获取所述音频数据的第二速率不匹配;
处理模块,用于监测同步时机;
所述处理模块,还用于获取所述缓存数据的大小;
所述处理模块,还用于确定所述缓存数据的大小处于第一设定范围内,在所述同步时机内对所述缓存数据进行第一处理操作,其中,所述第一速率小于所述第二速率;或
所述处理模块,还用于确定所述缓存数据的大小处于第二设定范围内,在所述同步时机内对所述缓存数据进行第二处理操作,其中,所述第一速率大于所述第二速率;
其中,所述第一处理操作或所述第二处理操作用于使所述第一速率与所述第二速率匹配,所述第一设定范围小于所述第二设定范围。
在一种可能的实现中,所述装置还包括:
消噪模块,用于对所述采集到的音频数据进行消噪,其中,所述消噪后的音频数据中的非语音数据的声音幅度等于0,或者所述消噪后的音频数据中的非语音数据的声音幅度小于或等于所述设定阈值;
所述缓存模块,用于缓存消噪后的音频数据。
在又一种可能的实现中,所述处理模块,用于检测到所述缓存数据中包含非语音数据,其中,所述非语音数据的声音幅度等于0,或者所述非语音数据的声音幅度小于或等于设定阈值。
在又一种可能的实现中,所述处理模块,用于在所述同步时机内在所述非语音数据后增加第一设定数量的设定数值。
在又一种可能的实现中,所述第一设定范围为所述缓存数据小于第二阈值;
所述处理模块,用于所述缓存数据小于或等于第一阈值,在所述缓存数据后增加所述第一设定数量的所述设定数值,使所述缓存数据大于所述第一阈值,且小于第三阈值;或
所述处理模块,还用于所述缓存数据大于所述第一阈值,且小于所述第二阈值,在所述非语音数据后增加所述第一设定数量的所述设定数值,使所述缓存数据大于所述第二阈值,且小于第三阈值;
其中,所述第一阈值为所述缓存数据的最小保留数据长度,所述第一阈值与系统运行抖动状态关联,所述第二阈值为增加所述设定数值后的缓存数据的最小长度,所述第三阈值为增加所述设定数值后的缓存数据的最大长度,所述第三阈值与系统最大允许的延迟关联。
在又一种可能的实现中,所述处理模块,还用于在所述同步时机内丢弃第二设定数量的所述非语音数据。
在又一种可能的实现中,所述第二设定范围为大于第三阈值;
所述处理模块,还用于所述缓存数据大于所述第三阈值,且小于第四阈值,丢弃所述缓存数据中所述第二设定数量的非语音数据;或
所述处理模块,还用于所述缓存数据大于所述第四阈值,丢弃所述缓存数据中所述第二设定数量的非语音数据,使所述缓存数据大于所述第一阈值,且小于所述第三阈值;
其中,所述第四阈值为所述缓存数据的最大保留数据长度。
第三方面,提供了一种音频传输同步装置,包括输入设备和输出设备,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行第一方面或第一方面的任一实现所述的方法。
第四方面,提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行第一方面或第一方面的任一实现所述的方法。
采用本公开实施例提供的方案,具有如下有益效果:
通过监测同步时机,在同步时机内在不对缓存的音频数据造成声音卡顿的情况下对缓存数据进行处理,从而实现了从设备与主机之间的音频数据同步。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种USB设备的结构示意图;
图2是本公开实施例提供的一种音频传输同步装置的结构示意图;
图3是本公开实施例提供的一种音频传输同步方法的流程示意图;
图4是本公开实施例提供的又一种音频传输同步方法的流程示意图;
图5是本公开示例的经消噪后的音频数据;
图6是本公开实施例提供的一种音频传输同步方法的流程示意图;
图7是本公开实施例提供的另一种音频传输同步装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开可应用于上述USB从设备中。本公开中的音频传输同步装置可以是USB从设备,也可以是USB从设备中的一部分。
在一个实施例中,如图1所示的USB从设备的结构示意图,USB从设备包含一个用于逻辑运算的处理器(例如,系统级芯片(system on chip,SoC))以及一个或多个麦克风(microphone)。处理器通过集成电路内置音频总线(inter—IC sound,I2S)、脉冲密度调制(pulse density modulation,PDM)或模拟(analog)接口从麦克风中采集到音频数据。处理器中包含一个USB从设备外设,音频数据通过处理模块之后从USB外设发送给USB主机。
在录音时,USB主机和USB从设备以一个约定的采样率fs录音,由于两者之间时钟存在差异,USB主机从USB外设获取音频的速率与麦克风的采集速率有微小的差异。如果USB主机取数据更快,USB从设备需要补数据,而在采集的音频中插入数据容易造成声音卡顿;如果USB主机取数据更慢,USB从设备中积累的数据越来越多,这会导致音频延迟不断增大,增大到一定程度,需要丢掉一些数据,可能会丢失一些关键音频。
如图2所示,是本公开实施例提供的一种音频传输同步装置的结构示意图,该装置100包括处理模块11和缓存模块12,还可以包括消噪模块13。该音频传输同步装置可以是USB从设备的一部分,也可以是USB从设备。假设本实施例中音频传输同步装置是USB从设备,则处理模块11、缓存模块12和消噪模块13可以是处理器101的一部分,该装置100还包括麦克风102。该处理器101还可包括I2S或PDM或模拟接口14、USB外设16。麦克风106用于采集周围环境或外接设备中的音频数据,并通过I2S或PDM或模拟接口14传输给处理器101。缓存模块12用于缓存音频传输同步装置以第一速率采集到的音频数据,其中第一速率与主机从音频传输同步装置获取音频数据的第二速率不匹配。处理模块11用于监测同步时机,获取缓存数据的大小,在同步时机内确定缓存数据的大小处于第一设定范围内,对缓存数据进行第一处理操作,其中,第一速率小于第二速率;或确定缓存数据的大小处于第二设定范围内,在同步时机内对缓存数据进行第二处理操作,其中,第一速率大于第二速率,其中,第一处理操作或第二处理操作用于使第一速率与第二速率匹配。
可选地,消噪模块13用于对采集到的音频数据进行消噪,并传输给缓存模块12;其中,消噪后的音频数据中的非语音数据的声音幅度等于0,或者消噪后的音频数据中的非语音数据的声音幅度小于或等于设定阈值;
缓存模块12用于缓存消噪后的音频数据。
可选地,处理模块11用于检测到缓存数据中包含非语音数据,其中,非语音数据的声音幅度等于0,或者非语音数据的声音幅度小于或等于设定阈值。
可选地,处理模块11用于在同步时机内在非语音数据后增加第一设定数量的设定数值。
可选地,在又一种可能的实现中,第一设定范围为缓存数据小于第二阈值;
处理模块11,用于缓存数据小于或等于第一阈值,在缓存数据后增加第一设定数量的设定数值,使缓存数据大于第一阈值,且小于第三阈值;或
处理模块11,还用于缓存数据大于第一阈值,且小于第二阈值,在非语音数据后增加第一设定数量的设定数值,使缓存数据大于第二阈值,且小于第三阈值;
其中,第一阈值为缓存数据的最小保留数据长度,第一阈值与系统运行抖动状态关联,第二阈值为增加设定数值后的缓存数据的最小长度,第三阈值为增加设定数值后的缓存数据的最大长度,第三阈值与系统最大允许的延迟关联。
在又一种可能的实现中,处理模块11,还用于在同步时机内丢弃第二设定数量的非语音数据。
在又一种可能的实现中,第二设定范围为大于第三阈值;
处理模块11,还用于缓存数据大于第三阈值,且小于第四阈值,丢弃缓存数据中第二设定数量的非语音数据;或
处理模块11,还用于缓存数据大于第四阈值,丢弃缓存数据中第二设定数量的非语音数据,使缓存数据大于第一阈值,且小于第三阈值;
其中,第四阈值为缓存数据的最大保留数据长度。
基于上述音频传输同步装置,如图3所示,本公开实施例提供一种音频传输同步方法,该方法可以包括以下步骤:
S101、从设备缓存该从设备以第一速率采集到的音频数据。
麦克风102采集周围环境中或用户发出的音频数据。具体地,主机和从设备可以预先约定一个第一速率,该第一速率为麦克风102采集音频数据的速率。麦克风102以第一速率采集音频数据。
本实施例在从设备中设置一缓存模块12。该缓存模块12可以是任一的存储器或内存。该缓存模块12的大小可以根据实际经验、理论数值、或该从设备的用途等进行设置。麦克风102采集到音频数据后,通过I2S或PDM或模拟接口14将麦克风102采集到的音频数据传输至处理模块11,再由处理模块11将该采集到的音频数据传输至缓存模块12,由缓存模块缓存该音频数据。其中,在语音通话场景,用户发出的语音具有稀疏性,因此,该音频数据包括语音数据,还可以包括非语音数据。
示例性地,缓存模块12可以实时地缓存麦克风102采集到的音频数据,也可以是处理模块11获取到整数个数据块的音频数据后传输至缓存模块12存储。本公开对缓存模块12存储音频数据的方式不作限制。
S102、从设备监测同步时机。
主机和从设备约定麦克风以第一速率采集音频数据,而由于从设备与主机之间时钟存在差异,主机从从设备的USB外设获取数据的第二速率与上述第一速率不匹配,第一速率与第二速率之间有微小的差异,这会导致主机与从设备的音频传输不同步。
而例如在上述语音通话场景中,由于语音的稀疏性,从设备很难找准时机对音频传输进行同步。
本实施例中,可以由处理模块11监测同步时机,并且在该同步时机内对音频传输进行同步。
具体地,处理模块11可以周期性地或不定时地监测同步时机。可以是预先设置一个时间窗口,处理模块11在该时间窗口内扫描同步时机的到来。
S103、从设备获取缓存数据的大小。
可以理解的是,缓存模块12接收麦克风102采集到的音频数据,同时,主机从缓存模块12中获取数据,则缓存模块12中缓存的音频数据的大小一直在变化。处理模块11监测到同步时机时,获取缓存模块12中当前缓存的数据的大小。
具体地,缓存模块12可以是按照存储地址从大到小或从小到大的顺序依次存储音频数据,每一个存储地址对应的数据块的大小是固定的,将采集到的数据写入缓存模块12和主机获取缓存模块12中的数据都需要经过处理模块11,则处理模块11可以根据写入或读取的次数、每次写入或读取的数据块大小等获取当前缓存模块12中缓存数据的大小。
S104a、从设备确定缓存数据的大小处于第一设定范围内,在同步时机内对缓存数据进行第一处理操作,其中,第一速率小于第二速率。
当第一速率小于第二速率,即主机从外设获取数据更快,而麦克风采集音频数据相对慢一些,处理模块11确定缓存数据的大小处于第一设定范围内。处理模块11在不对缓存的音频数据造成声音卡顿的情况下,对缓存数据进行第一处理操作,该第一处理操作用于使第一速率与第二速率匹配。可以理解的是,这里的使得第一速率与第二速率匹配,不是指调整第一速率或第二速率,而是对缓存数据进行第一处理操作,在不对缓存的音频数据造成声音卡顿的情况下,增加缓存数据,使得主机获取的缓存数据和缓存模块12缓存的数据达到平衡。
S104b、从设备确定缓存数据的大小处于第二设定范围内,在同步时机内对缓存数据进行第二处理操作,其中,第一速率大于第二速率。
当第一速率大于第二速率,即麦克风采集音频数据更快,而主机从外设获取数据相对慢一些,处理模块11确定缓存数据的大小处于第二设定范围内。处理模块11在不对缓存的音频数据造成声音卡顿的情况下,对缓存数据进行第二处理操作,该第二处理操作用于使第一速率与第二速率匹配。可以理解的是,这里的使得第一速率与第二速率匹配,不是指调整第一速率或第二速率,而是对缓存数据进行第二处理操作,在不对缓存的音频数据造成声音卡顿的情况下,减少缓存数据,使得主机获取的缓存数据和缓存模块12缓存的数据达到平衡。
可以看出,相对于已有的自适应模式,从设备随机的丢或补数据,容易产生杂音。而本公开监测同步时机,在同步时机内在不对缓存的音频数据造成声音卡顿的情况下对缓存数据进行处理,可以很好地解决从设备和主机之间的音频数据同步问题。
根据本公开实施例提供的一种音频传输同步方法,通过监测同步时机,在同步时机内在不对缓存的音频数据造成声音卡顿的情况下对缓存数据进行处理,从而实现了从设备与主机之间的音频数据同步。
如图4所示,本公开实施例还提供一种音频传输同步方法,该方法可以包括以下步骤:
S201、从设备对从设备以第一速率采集到的音频数据进行消噪,其中,第一速率与主机从从设备获取音频数据的第二速率不匹配,消噪后的音频数据中的非语音数据的声音幅度等于0,或者消噪后的音频数据中的非语音数据的声音幅度小于或等于设定阈值。
如前所述,在语音通话场景,音频数据包括语音数据和非语音数据。消噪前的非语音数据的声音幅度大小不统一,后续对该非语音数据进行处理容易出现突变,且对该非语音数据进行数据拼接等容易产生杂音。因此,消噪模块13可以对麦克风采集到的音频数据进行消噪。可选地,对数据进行消噪,可以是使得消噪后的音频数据中的非语音数据的声音幅度等于0,或者消噪后的音频数据中的非语音数据的声音幅度小于或等于设定阈值。例如,可以使用噪声抑制器(noise suppressor,NS)对数据进行消噪。如图5所示,为示例的消噪后的音频数据的示意图,可以看出,消噪后的音频数据中的非语音数据的声音幅度等于0,而语音数据则保持不变。在另外的实现中,消噪后的音频数据中的非语音数据的声音幅度还可以小于或等于设定阈值,其它模块可以根据该设定阈值区分该音频数据是非语音数据或语音数据。该设定阈值可以根据经验或实验设置。
S202、从设备缓存消噪后的音频数据。
消噪模块13对非语音数据消噪后,可以通过处理模块11输出消噪后的音频数据给缓存模块12。缓存模块12缓存消噪后的音频数据。
S203、从设备检测到缓存数据中包含非语音数据,其中,非语音数据的声音幅度等于0,或者非语音数据的声音幅度小于或等于设定阈值。
主机和从设备约定麦克风以第一速率采集音频数据,而由于从设备与主机之间时钟存在差异,主机从从设备的USB外设获取数据的第二速率与上述第一速率不匹配,第一速率与第二速率之间有微小的差异,这会导致主机与从设备的音频传输不同步。
而例如在上述语音通话场景中,由于语音的稀疏性,从设备很难找准时机对音频传输进行同步。
本实施例中,可以由处理模块11监测同步时机,并且在该同步时机内对音频传输进行同步。
在同步时机内对音频传输进行同步,需要不对缓存的音频数据造成声音卡顿。而如果直接在缓存的音频数据中插入数据容易造成声音卡顿。因此,本实施例中该同步时机可以是用户没有说话时或者周围环境处于静音的状态时,此时,麦克风采集到一段非语音数据,缓存模块12缓存该段非语音数据。则缓存模块12存储的缓存数据中包含一段非语音数据。即在处理模块11检测到缓存数据中包含非语音数据时,对缓存数据进行处理,不会造成声音卡顿。
具体地,处理模块11检测到声音幅度等于0、或声音幅度小于或等于设定阈值的音频数据,则确定检测到缓存数据中包含非语音数据。
S204、从设备获取缓存数据的大小。
可以理解的是,缓存模块12接收麦克风102采集到的音频数据,同时,主机从缓存模块12中获取数据,则缓存模块12中缓存的音频数据的大小一直在变化。处理模块11检测到缓存数据中包含非语音数据时,获取缓存模块12中当前缓存的数据的大小。
S205a、从设备确定缓存数据的大小处于第一设定范围内,在同步时机内在非语音数据后增加第一设定数量的设定数值,其中,第一速率小于第二速率。
当第一速率小于第二速率,即主机从外设获取数据更快,而麦克风采集音频数据相对慢一些,处理模块11确定缓存数据的大小处于第一设定范围内。处理模块11在同步时机内在非语音数据后增加第一设定数量的设定数值,使第一速率与第二速率匹配。该第一设定数量可以根据第一速率、第二速率确定。该设定数值例如可以是0,还可以是其它值。例如,该设定数值可以是与消噪模块13消噪后的声音幅度小于或等于设定阈值的非语音数据相同。可以理解的是,这里的使得第一速率与第二速率匹配,不是指调整第一速率或第二速率,而是在非语音数据后增加第一设定数量的设定数值,在不对缓存的音频数据造成声音卡顿的情况下,使得主机获取的缓存数据和缓存模块12缓存的数据达到平衡。
该第一设定范围为缓存数据小于第二阈值L2。该第二阈值L2为增加设定数值后的缓存数据的最小长度。其中,缓存数据小于第二阈值L2又可以分为两个区间:第一区间为缓存数据小于或等于第一阈值L1,第二区间为缓存数据大于第一阈值L1,且小于第二阈值L2。其中,第一阈值L1为缓存数据的最小保留数据长度。
当缓存数据处于第一区间时,具体地,如图6所示,处理模块11判断该缓存数据是否小于或等于第一阈值L1。若缓存数据小于或等于第一阈值L1,则表明主机取数据过快,该从设备积累的数据太少,可以在缓存数据后增加第一设定数量的设定数值。具体地,处理模块11可以对非语音数据补0。可选地,可以在非语音数据后补0。对非语音数据补0,由于非语音数据本身的声音幅度等于0、或小于或等于设定阈值,不会造成声音出现突变,且对非语音数据拼接设定数量的0不会产生杂音。
当缓存数据处于第二区间时,即若该缓存数据大于第一阈值L1,处理模块11进一步判断该缓存数据是否小于第二阈值L2。若缓存数据大于第一阈值L1且小于第二阈值L2,则表明从设备积累的数据仍然太少。进一步判断该缓存数据是否是语音数据,若是语音数据,则不作处理;若该缓存数据包含非语音数据,则进一步对非语音数据增加第一设定数量的设定数值。具体地,可以在非语音数据后补0,使缓存数据大于第二阈值L1,且小于第三阈值L3,即使缓存数据保持在一个适当的大小。其中,第三阈值L3为补0后的缓存数据的最大长度。
可选地,可以根据系统运行抖动状态确定第一阈值L1。例如,假设系统运行抖动比较大,麦克风的采集周期不能保证,则可以将第一阈值L1设置得大一些;假设系统运行抖动比较小,则可以将第一阈值L1设置得小一些。
S205b、从设备确定缓存数据的大小处于第二设定范围内,在同步时机内丢弃第二设定数量的非语音数据,其中,第一速率大于第二速率。
当第一速率大于第二速率,即麦克风采集音频数据更快,而主机从外设获取数据相对慢一些,处理模块11确定缓存数据的大小处于第二设定范围内。处理模块11在不对缓存的音频数据造成声音卡顿的情况下,丢弃第二设定数量的非语音数据,该第二处理操作用于使第一速率与第二速率匹配。该第二设定数量可以根据第一速率和第二速率确定。可以理解的是,这里的使得第一速率与第二速率匹配,不是指调整第一速率或第二速率,而是丢弃第二设定数量的非语音数据,在不对缓存的音频数据造成声音卡顿的情况下,减少缓存数据,使得主机获取的缓存数据和缓存模块12缓存的数据达到平衡。
其中,第二设定范围为缓存数据大于第三阈值L3。缓存数据大于第三阈值L3又可以分为:第三区间和第四区间。第三区间为缓存数据大于第三阈值L3,且小于第四阈值L4;第四区间为大于第四阈值L4。其中,第四阈值为缓存数据的最大保留数据长度。
具体地,如图6所示,当处理模块11判断缓存数据处于第三区间时,即处理模块11判断该缓存数据大于第三阈值L3,且小于第四阈值L4,则表明从设备的缓存模块12积累的数据太多,则进一步判断该缓存数据中是否包含非语音数据。若包含非语音数据,则丢弃检测到的缓存数据中第二设定数量的非语音数据。
如图6所示,当处理模块11判断缓存数据处于第四区间时,即处理模块11判断该缓存数据大于第四阈值L4,则表明当前缓存模块12中的缓存数据过大,从设备积累的数据太多,则丢弃缓存数据中的第二设定数量的数据,使缓存数据大于第一阈值L1,且小于第三阈值L3。可选地,该第二设定数量的数据可以是最近缓存的一段音频数据。可选地,丢弃的数据可以是非语音数据,也可以是语音数据。
可选地,不能一味地增加缓存模块12中的缓存数据,这样会导致数据传输延迟。因此,可以根据系统最大允许的延迟确定第四阈值L4,根据系统允许音频数据缓存在缓存模块12中的最长时间确定第四阈值L4。
可以看出,相对于已有的自适应模式,从设备随机的丢或补数据,容易产生杂音。而本公开检测用户没有说话时或者周围环境处于静音的状态时,即缓存数据中包含非语音数据时,在不对缓存的音频数据造成声音卡顿的情况下对缓存数据进行处理,可以很好地解决从设备和主机之间的音频数据同步问题。
根据本公开实施例提供的一种音频传输同步方法,通过检测到缓存数据中包含非语音数据,获取所述缓存数据的大小,并根据所述缓存数据的大小,对所述缓存数据进行处理,以使缓存数据的大小处于设定范围内,从而实现了从设备与主机之间的音频数据同步。
该方法可以应用于从设备中,避免因为音频不同步导致杂音或导致延迟不断增大。特别是解决语音通话场景中从设备的音频同步问题,因为语音通话场景中语音的稀疏性,处理模块11能够很好的找准时机进行同步。
根据本公开的另一个实施例,图2所示的音频传输同步装置中的各个单元或模块可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本公开的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本公开的其它实施例中,基于媒体资源动态显示装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本公开的另一个实施例,可以通过在包括中央缓存数据大小处理模块(central processing unit,CPU)、随机存取存储介质(random access memory,RAM)、只读存储介质(read-only memory,ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行上述方法实施例中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图2中所示的音频传输同步装置,以及来实现本公开实施例的音频传输同步方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
基于上述方法实施例以及装置实施例的描述,本公开实施例还提供一种音频传输同步装置。请参见图7,该装置至少包括处理器301、输入设备302、输出设备303以及计算机存储介质304。其中,装置内的处理器301、输入设备302、输出设备303以及计算机存储介质304可通过总线或其他方式连接。
计算机存储介质304可以存储在装置的存储器中,所述计算机存储介质304用于存储计算机程序,所述计算机程序包括程序指令,所述处理器301用于执行所述计算机存储介质304存储的程序指令。处理器301(或称CPU)是装置的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
在一个实施例中,本公开实施例所述的处理器301可以用于加载并执行如图3或图4所示实施例中的方法步骤。
需要说明的是,以上单元或单元的一个或多个可以软件、硬件或二者结合来实现。当以上任一单元或单元以软件实现的时候,所述软件以计算机程序指令的方式存在,并被存储在存储器中,处理器可以用于执行所述程序指令并实现以上方法流程。该处理器可以内置于片上系统(system on chip,SoC)或ASIC,也可是一个独立的半导体芯片。该处理器内处理用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(field programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、或者实现专用逻辑运算的逻辑电路。
当以上单元或单元以硬件实现的时候,该硬件可以是CPU、微处理器、数字信号处理(digital signal processing,DSP)芯片、微控制单元(microcontroller unit,MCU)、人工智能处理器、ASIC、SoC、FPGA、PLD、专用数字电路、硬件加速器或非集成的分立器件中的任一个或任一组合,其可以运行必要的软件或不依赖于软件以执行以上方法流程。
可选的,本申请实施例还提供了一种芯片系统,包括:至少一个处理器和接口,该至少一个处理器通过接口与存储器耦合,当该至少一个处理器运行存储器中的计算机程序或指令时,使得该芯片系统执行上述任一方法实施例中的方法。可选的,该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定。
应理解,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;其中A,B可以是单数或者复数。并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
本公开实施例还提供了一种计算机存储介质(memory),所述计算机存储介质是装置中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括装置中的内置存储介质,当然也可以包括装置所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了装置的操作系统。并且,在该存储空间中还存放了适于被处理器301加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-onlymemory,ROM),或随机存取存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。

Claims (10)

1.一种音频传输同步方法,其特征在于,所述方法包括:
从设备缓存所述从设备以第一速率采集到的音频数据,所述第一速率与主机从所述从设备获取所述音频数据的第二速率不匹配;
所述从设备监测同步时机;
所述从设备获取所述缓存数据的大小;
所述从设备确定所述缓存数据的大小处于第一设定范围内,在所述同步时机内对所述缓存数据进行第一处理操作,其中,所述第一速率小于所述第二速率;或
所述从设备确定所述缓存数据的大小处于第二设定范围内,在所述同步时机内对所述缓存数据进行第二处理操作,其中,所述第一速率大于所述第二速率;
其中,所述第一处理操作或所述第二处理操作用于使所述第一速率与所述第二速率匹配,所述第一设定范围小于所述第二设定范围。
2.根据权利要求1所述的方法,其特征在于,所述从设备缓存所述从设备以第一速率采集到的音频数据之前,所述方法还包括:
所述从设备对所述采集到的音频数据进行消噪,其中,所述消噪后的音频数据中的非语音数据的声音幅度等于0,或者所述消噪后的音频数据中的非语音数据的声音幅度小于或等于所述设定阈值;
所述从设备缓存所述从设备以第一速率采集到的音频数据,包括:
所述从设备缓存消噪后的音频数据。
3.根据权利要求1所述的方法,其特征在于,所述从设备监测同步时机,包括:
所述从设备检测到所述缓存数据中包含非语音数据,其中,所述非语音数据的声音幅度等于0,或者所述非语音数据的声音幅度小于或等于设定阈值。
4.根据权利要求1-3任一所述的方法,其特征在于,所述从设备在所述同步时机内对所述缓存数据进行第一处理操作,包括:
所述从设备在所述同步时机内在所述非语音数据后增加第一设定数量的设定数值。
5.根据权利要求4所述的方法,其特征在于,所述第一设定范围为所述缓存数据小于第二阈值,所述从设备在所述同步时机内在所述非语音数据后增加第一设定数量的设定数值,包括:
所述缓存数据小于或等于第一阈值,则所述从设备在所述缓存数据后增加所述第一设定数量的所述设定数值,使所述缓存数据大于所述第一阈值,且小于第三阈值;或
所述缓存数据大于所述第一阈值,且小于所述第二阈值,则所述从设备在所述非语音数据后增加所述第一设定数量的所述设定数值,使所述缓存数据大于所述第二阈值,且小于第三阈值;
其中,所述第一阈值为所述缓存数据的最小保留数据长度,所述第一阈值与系统运行抖动状态关联,所述第二阈值为增加所述设定数值后的缓存数据的最小长度,所述第三阈值为增加所述设定数值后的缓存数据的最大长度,所述第三阈值与系统最大允许的延迟关联。
6.根据权利要求5所述的方法,其特征在于,所述从设备在所述同步时机内对所述缓存数据进行第二处理操作,包括:
所述从设备在所述同步时机内丢弃第二设定数量的所述非语音数据。
7.根据权利要求6所述的方法,其特征在于,所述第二设定范围为大于第三阈值,所述从设备丢弃第二设定数量的所述非语音数据,包括:
所述缓存数据大于所述第三阈值,且小于第四阈值,所述从设备丢弃所述缓存数据中所述第二设定数量的非语音数据;或
所述缓存数据大于所述第四阈值,所述从设备丢弃所述缓存数据中所述第二设定数量的非语音数据,使所述缓存数据大于所述第一阈值,且小于所述第三阈值;
其中,所述第四阈值为所述缓存数据的最大保留数据长度。
8.一种音频传输同步装置,其特征在于,所述装置包括:
缓存模块,用于缓存所述从设备以第一速率采集到的音频数据,所述第一速率与主机从所述从设备获取所述音频数据的第二速率不匹配;
处理模块,用于监测同步时机;
所述处理模块,还用于获取所述缓存数据的大小;
所述处理模块,还用于确定所述缓存数据的大小处于第一设定范围内,在所述同步时机内对所述缓存数据进行第一处理操作,其中,所述第一速率小于所述第二速率;或
所述处理模块,还用于确定所述缓存数据的大小处于第二设定范围内,在所述同步时机内对所述缓存数据进行第二处理操作,其中,所述第一速率大于所述第二速率;
其中,所述第一处理操作或所述第二处理操作用于使所述第一速率与所述第二速率匹配,所述第一设定范围小于所述第二设定范围。
9.一种音频传输同步装置,其特征在于,包括输入设备和输出设备,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-7任一所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如权利要求1-7任一所述的方法。
CN202110769958.7A 2021-07-07 2021-07-07 音频传输同步方法及装置 Pending CN115604514A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110769958.7A CN115604514A (zh) 2021-07-07 2021-07-07 音频传输同步方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110769958.7A CN115604514A (zh) 2021-07-07 2021-07-07 音频传输同步方法及装置

Publications (1)

Publication Number Publication Date
CN115604514A true CN115604514A (zh) 2023-01-13

Family

ID=84841708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110769958.7A Pending CN115604514A (zh) 2021-07-07 2021-07-07 音频传输同步方法及装置

Country Status (1)

Country Link
CN (1) CN115604514A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116260802A (zh) * 2023-05-15 2023-06-13 世优(北京)科技有限公司 数据传输方法、装置及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116260802A (zh) * 2023-05-15 2023-06-13 世优(北京)科技有限公司 数据传输方法、装置及系统
CN116260802B (zh) * 2023-05-15 2023-07-25 世优(北京)科技有限公司 数据传输方法、装置及系统

Similar Documents

Publication Publication Date Title
EP3504861B1 (en) Audio transmission with compensation for speech detection period duration
US20130304243A1 (en) Method for synchronizing disparate content files
US10225643B1 (en) Secure audio acquisition system with limited frequency range for privacy
EP3089471A1 (en) Video smoothing method and device
CN107592430B (zh) 一种回声消除的方法及终端设备
CN115604514A (zh) 音频传输同步方法及装置
WO2015176475A1 (zh) Fifo数据缓存器及其进行时延控制的方法、计算机存储介质
JP6746791B2 (ja) クロックゲーティングイネーブルの生成
US20070083685A1 (en) Data management for a USB device
CN110798458B (zh) 数据同步方法、装置、设备及计算机可读存储介质
US8996817B2 (en) Memory access system
CN109599133B (zh) 语言音轨的切换方法、装置、计算机设备及存储介质
US10290303B2 (en) Audio compensation techniques for network outages
CN103093778A (zh) 音频处理系统及音频信号暂存器的调整方法
CN112035066A (zh) 日志保留时长的计算方法及装置
CN111787268B (zh) 音频信号的处理方法、装置、电子设备及存储介质
CN111145770B (zh) 音频处理方法和装置
CN111145792B (zh) 音频处理方法和装置
CN113593619B (zh) 用于录制音频的方法、装置、设备和介质
CN114339345B (zh) 一种应用于音视频信号的源端同步装置及同步方法
CN111143022A (zh) Vdi音频优化方法、系统、服务器及存储介质
US11322162B2 (en) Method and apparatus for resampling audio signal
US10796709B1 (en) Acoustic echo cancellation bypass
CN109378019B (zh) 音频数据读取方法及处理系统
CN110441739B (zh) 一种提高雷达srio传输可靠性的方法

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: 40079467

Country of ref document: HK