CN111131917B - 音频频谱实时同步方法、播放装置 - Google Patents
音频频谱实时同步方法、播放装置 Download PDFInfo
- Publication number
- CN111131917B CN111131917B CN201911368264.1A CN201911368264A CN111131917B CN 111131917 B CN111131917 B CN 111131917B CN 201911368264 A CN201911368264 A CN 201911368264A CN 111131917 B CN111131917 B CN 111131917B
- Authority
- CN
- China
- Prior art keywords
- time
- real
- audio
- frame
- data
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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
Abstract
本发明公开了一种音频频谱实时同步方法、播放装置,其中音频频谱实时同步方法包括步骤:提取实时音频的PCM数据;对所述PCM数据进行分析,计算每一帧所述PCM数据所占用的时间差;判断当前帧是否为第一帧;若是,则取基准时间作为第一帧PCM数据的频谱图时间戳;若否,则当前帧PCM数据的频谱图时间戳为上一帧PCM数据的频谱图时间戳与时间差之和;将生成的带时间戳的PCM频谱图根据先进先出机制与接收的所述实时音频存入缓存;输出所述实时音频及其同步的PCM频谱图。本发明可实现音频播放与其对应的频谱图实时精准同步显示。
Description
技术领域
本发明涉及音频频谱的同步技术,特别是涉及一种音频频谱实时同步的方法以及对应的播放装置。
背景技术
随着时代的进步,人们也越来越重视视觉、音质的享受。音频信号频谱显示器因其自身的众多优点,目前在很多领域都有着广泛的涉及,传统技术下,可以基于Directshow框架在获取到PCM数据后通过简单算法处理绘制频谱图像,但是现有技术的频谱图设置不同的采样频率和采样点数会分析出同一份音频数据的不同结果,无论在时域分析或频域分析上都有影响,如对频率、相位的判断等,经常会出现频谱显示和A/V显示不一致情况,根据现有节目需求,当用户切换到某个音频节目上,或者音乐节目上,往往需要播放器能够绘出频谱给用户更好体验,或者播放器需要提供实时音量检测等功能,对音频频谱绘制准确性、实时性也有了较高的要求。
因此,如何提供一种可以生成与音频数据实时同步的频谱图是业界亟待解决的技术问题。
发明内容
本发明为了解决上述现有技术中音频与其频谱图无法实时同步显示的技术问题,提出一种音频频谱实时同步方法、播放装置,
本发明的音频频谱实时同步方法包括步骤:
步骤1,提取实时音频的PCM数据;
步骤2,对所述PCM数据进行分析,计算每一帧所述PCM数据所占用的时间差;
步骤3,判断当前帧是否为第一帧;
步骤4,若是,则取基准时间作为第一帧PCM数据的频谱图时间戳;若否,则当前帧PCM数据的频谱图时间戳为上一帧PCM数据的频谱图时间戳与时间差之和;
步骤5,将生成的带时间戳的PCM频谱图根据先进先出机制与接收的所述实时音频存入缓存;
步骤6,输出所述实时音频及其同步的PCM频谱图。
进一步,还包括步骤:对缓存的实时音频数据的状态进行监控;判断所述缓存的实时音频数据是否中断,若是,重复所述步骤1至步骤6并在重复的过程中重新定义第一帧及其PCM数据的频谱图时间戳。例如,当用户对输出的所述实时音频执行向前或向后拖动,或者更换至另一实时音频将导致所述缓存数据出现中断。
进一步,将缓存中的实时音频数据与所述PCM频谱图根据时间相同和相近的原则进行对应同步后,输出所述实时音频及其同步的PCM频谱图。
上述步骤2具体包括:通过对PCM数据的数据帧流量进行统计,分析出PCM数据的帧采样频率、采样位数以及每一帧的帧大小,根据帧采样频率*采样位数*通道数/8得到比特率,再根据每一帧的帧大小/比特率得到每一帧所述PCM数据所占用的时间差。
进一步,所述步骤1在所述实时音频被编解码处理后存入缓存之前执行。
具体的,所述实时音频为USB Dongle通过USB接口提供的MPEG2-TS流数据。
本发明提出的播放装置,包括音频解码器和缓存器,以及与所述音频解码器和缓存器连接的抓取过滤器,所述抓取过滤器从所述音频解码器获取实时音频的PCM数据并配合所述缓存器执行上述技术方案所述的音频频谱实时同步方法。
本发明的同步方法在播放器的音频渲染器(Sound Render)之前插入一个音频PCM数据帧分析Filter,即抓取过滤器,来提取实时音频的数据帧采样频率、采样数等,然后将对应的频谱实时绘制出来,通过插入的Filter进行数据帧流量统计,获取准确的ReferenceTime(第一帧的基准时间),并以该基准时间精确计算出每一帧数据帧对应的频谱显示时间,用于匹配当前A/V (audio音频/video视频)播放的时间,从而实现频谱图与A/V同步输出。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的结构框图。
图2为本发明的同步处理流程图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图以及实施例对本发明的原理及结构进行详细说明。
图1给出了本发明的一个具体应用场景,在该应用场景中,本发明提供音频数据的为USB dongle(软件保护器或适配器),USB dongle主要负责接收实时广播数据,从广播信号获取的实时节目流,本实施例具体为MPEG2-TS流。本发明播放装置包括播放软件以及配合的硬件,播放装置是微软公司提供的基于Direct Show框架的播放器,DirectShow是微软公司在ActiveMovie和Video for Windows的基础上推出的新一代基于COM(ComponentObject Model)的流媒体处理的开发包。播放软件的构成部分包括资源过滤器、解扰解复用过滤器、视频解码器和音频解码器、视频渲染器和音频渲染器、频谱图渲染器,硬件包括声卡、显卡以及缓存器等。其中,资源过滤器(Source Filter)主要负责通过usb接口从usbdongle设备读取MPEG-2节目流数据,接收到节目流后进行解密处理后,将节目流数据推向下一级的解扰解复用过滤器(Demux Filter)。解扰解复用过滤器(Demux Filter)是因为由于传输流中是多节目复用流,因此需要解扰解复用过滤器传输流进行分离处理,得到当前播放节目的音视频ES流。音频解码器(Audio Decoder)主要负责音频流的编解码处理,并输出PCM数据到音频渲染器(Sound Render)。音频渲染器(Sound Render)主要负责PCM数据分析、渲染,最终输出音频。视频解码器(Video Decoder)主要对压缩的视频图像数据进行解码处理,得到原始图像数据。视频渲染器(Video Render)主要负责图像原始数据分析、渲染出图像并输出到屏幕。频谱图渲染器(Spectrum Render)主要用于渲染音频频谱及实现音频频谱与A/V精准同步,以准确的Reference Time为时间基准,通过与音频振幅图的时间戳(TS)做同步计算,从FIFO中取出正确的音频频谱图进行渲染显示。
本发明在播放装置中增加了一个抓取过滤器,该抓取过滤器与音频解码器和缓存器连接,抓取过滤器从音频解码器获取实时音频的PCM数据并配合缓存器来实现音频频谱实时同步。具体的抓取过滤器主要用于提取PCM数据,并分析PCM数据帧提取数据帧采样频率、采样数等,首先通过FFT算法为每一帧PCM数据计算出音频振幅图,同时通过相关数据计算出每一帧PCM数据在Sound Render里面需要消耗的时间(△Time),再结合获取准确的Reference Time(Time0)精准地为每一帧音频振幅图标记上时间戳timestamp(TS),最后将每一帧图像数据存入一个FIFO缓存队列用于最后的同步显示。
图2给出的是本发明的同步处理流程图。
抓取过滤器在音频解码器输出实时音频的PCM数据至缓存器时抓取实时音频的PCM数据。抓取过滤器对PCM数据进行分析,计算每一帧所述PCM数据所占用的时间差,具体的,抓取过滤器不仅抓取PCM数据还对音频解码器输出至缓存器的PCM数据帧的流量进行统计,从而提取数据帧采样频率、采样数等,能够和音视频数据精确同步,以此来达到实现基于Directshow音频实时频谱动态显示的目的。抓取过滤器对数据帧流量进行统计后,分析得到PCM数据的帧采样频率、采样位数以及每一帧的帧大小,根据帧采样频率*采样位数*通道数/8得到比特率,再根据每一帧的帧大小/比特率得到每一帧PCM数据所占用的时间差,也可以称之为是推算出数据帧的缓冲延时。抓取过滤器对抓取的每一帧数据帧进行判断,若当前帧为第一帧,则取基准时间作为第一帧PCM数据的频谱图时间戳,本实施例中,是通过Directshow的QueryInterface接口取出IReferenceClock对象,用IreferenceClock的成员函数GetTime获取准确的Reference Time(Time0)作为第一帧的基准时间,并记录第一帧的时间戳TS0=Time0。若当前帧不是第一帧,则当前帧PCM数据的频谱图时间戳为上一帧PCM数据的频谱图时间戳与时间差之和,即TSn = TSn-1 + △Time,n>1。
然后,根据先入先出机制将带时间戳的PCM频谱图也存入至缓存器中,频谱图渲染器根据缓存器中的实时音频数据与PCM频谱图根据时间相同和相近的原则进行对应同步后,根据实时音频的输出,同步输出与其对应的同步的PCM频谱图,实现频谱图的精准展示。
在缓存PCM频谱图的过程中,本发明还会对缓存的实时音频数据的状态进行监控,在正常情况下音频数据是连续不中断的数据,当用户对输出的实时音频执行向前或向后拖动,或者更换至另一实时音频将导致缓存的音频数据出现中断,即缓存器的缓存数据中断,此时,需要重复上述步骤并在重复的过程中重新定义第一帧并计算频谱图时间戳,以确保同步的准确性和长期稳定性。
本发明基于播放器(播放装置)的缓存机制提供上述的精准同步处理方法,能够实时获取和A/V播放同步的PCM采样数据,解决传统播放器频谱绘制与A/V不同步等问题,通过本发明能够准确计算出每帧数据Play Time(播放时间),根据实时数据帧流量情况匹配A/V同步绘制频谱,提高了频谱显示的准确性、实时性,增强了用户体验。本发明除了上述应用在图1的应用场景中以外,还可以应用在其他提供音频数据的设备中以及应用在其他的播放器中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种音频频谱实时同步方法,其特征在于,包括步骤:
步骤1,提取实时音频的PCM数据;
步骤2,对所述PCM数据进行分析,计算每一帧所述PCM数据所占用的时间差,包括:通过对PCM数据的数据帧流量进行统计,分析出PCM数据的帧采样频率、采样位数以及每一帧的帧大小,根据帧采样频率*采样位数*通道数/8得到比特率,再根据每一帧的帧大小/比特率得到每一帧所述PCM数据所占用的时间差;
步骤3,判断当前帧是否为第一帧;
步骤4,若是,则取基准时间作为第一帧PCM数据的频谱图时间戳;若否,则当前帧PCM数据的频谱图时间戳为上一帧PCM数据的频谱图时间戳与时间差之和;
步骤5,将生成的带时间戳的PCM频谱图根据先进先出机制与接收的所述实时音频存入缓存;
步骤6,输出所述实时音频及其同步的PCM频谱图。
2.如权利要求1所述的音频频谱实时同步方法,其特征在于,还包括步骤:
对缓存的实时音频数据的状态进行监控;
判断所述缓存的实时音频数据是否中断,若是,重复所述步骤1至步骤6并在重复的过程中重新定义第一帧及其PCM数据的频谱图时间戳。
3.如权利要求1所述的音频频谱实时同步方法,其特征在于,将缓存中的实时音频数据与所述PCM频谱图根据时间相同和相近的原则进行对应同步后,输出所述实时音频及其同步的PCM频谱图。
4.如权利要求3所述的音频频谱实时同步方法,其特征在于,当用户对输出的所述实时音频执行向前或向后拖动,或者更换至另一实时音频将导致缓存数据出现中断。
5.如权利要求1所述的音频频谱实时同步方法,其特征在于,所述步骤1在所述实时音频被编解码处理后存入缓存之前执行。
6.如权利要求1所述的音频频谱实时同步方法,其特征在于,所述实时音频为USBDongle通过USB接口提供的MPEG2-TS流数据。
7.一种播放装置,包括音频解码器和缓存器,其特征在于,还包括与所述音频解码器和缓存器连接的抓取过滤器,所述抓取过滤器从所述音频解码器获取实时音频的PCM数据并配合所述缓存器执行如权利要求1至6任意一项所述的音频频谱实时同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911368264.1A CN111131917B (zh) | 2019-12-26 | 2019-12-26 | 音频频谱实时同步方法、播放装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911368264.1A CN111131917B (zh) | 2019-12-26 | 2019-12-26 | 音频频谱实时同步方法、播放装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131917A CN111131917A (zh) | 2020-05-08 |
CN111131917B true CN111131917B (zh) | 2021-12-28 |
Family
ID=70503227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911368264.1A Active CN111131917B (zh) | 2019-12-26 | 2019-12-26 | 音频频谱实时同步方法、播放装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131917B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738606A (zh) * | 2020-12-29 | 2021-04-30 | 广州酷狗计算机科技有限公司 | 音频文件的处理方法、装置、终端及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1742492A (zh) * | 2003-02-14 | 2006-03-01 | 汤姆森特许公司 | 媒体内容的基于音频和视频的媒体服务的自动同步 |
CN1969562A (zh) * | 2004-05-13 | 2007-05-23 | 高通股份有限公司 | 在无线通信系统中的音频和视频数据的同步 |
CN101873505A (zh) * | 2010-05-17 | 2010-10-27 | 深圳市同洲电子股份有限公司 | 音视频信号同步传输的方法和系统 |
CN103686315A (zh) * | 2012-09-13 | 2014-03-26 | 深圳市快播科技有限公司 | 一种音视频同步播放方法及装置 |
WO2014128360A1 (en) * | 2013-02-21 | 2014-08-28 | Linkotec Oy | Synchronization of audio and video content |
CN107124641A (zh) * | 2017-06-02 | 2017-09-01 | 广东暨通信息发展有限公司 | 一种音视频同步播放的控制方法 |
CN107292940A (zh) * | 2017-03-05 | 2017-10-24 | 杭州趣维科技有限公司 | 一种实时音乐频谱矢量图形的绘制方法 |
CN107509100A (zh) * | 2017-09-15 | 2017-12-22 | 深圳国微技术有限公司 | 音视频同步方法、系统、计算机装置及计算机可读存储介质 |
CN107566890A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 处理音频流播放异常的方法、装置、计算机装置及计算机可读存储介质 |
CN107566889A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 音频流流速误差处理方法、装置、计算机装置及计算机可读存储介质 |
CN107682107A (zh) * | 2017-09-26 | 2018-02-09 | 深圳市亿联智能有限公司 | 一种中频段声波通信数据传输的同步算法 |
CN108885879A (zh) * | 2016-01-22 | 2018-11-23 | 弗劳恩霍夫应用研究促进协会 | 使用帧控制同步来编码或解码多声道音频信号的装置和方法 |
CN109635133A (zh) * | 2018-12-18 | 2019-04-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 可视化音频播放方法、装置、电子设备及存储介质 |
CN109814718A (zh) * | 2019-01-30 | 2019-05-28 | 天津大学 | 一种基于Kinect V2的多模态信息采集系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2581032B (en) * | 2015-06-22 | 2020-11-04 | Time Machine Capital Ltd | System and method for onset detection in a digital signal |
-
2019
- 2019-12-26 CN CN201911368264.1A patent/CN111131917B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1742492A (zh) * | 2003-02-14 | 2006-03-01 | 汤姆森特许公司 | 媒体内容的基于音频和视频的媒体服务的自动同步 |
CN1969562A (zh) * | 2004-05-13 | 2007-05-23 | 高通股份有限公司 | 在无线通信系统中的音频和视频数据的同步 |
CN101873505A (zh) * | 2010-05-17 | 2010-10-27 | 深圳市同洲电子股份有限公司 | 音视频信号同步传输的方法和系统 |
CN103686315A (zh) * | 2012-09-13 | 2014-03-26 | 深圳市快播科技有限公司 | 一种音视频同步播放方法及装置 |
WO2014128360A1 (en) * | 2013-02-21 | 2014-08-28 | Linkotec Oy | Synchronization of audio and video content |
CN108885879A (zh) * | 2016-01-22 | 2018-11-23 | 弗劳恩霍夫应用研究促进协会 | 使用帧控制同步来编码或解码多声道音频信号的装置和方法 |
CN107292940A (zh) * | 2017-03-05 | 2017-10-24 | 杭州趣维科技有限公司 | 一种实时音乐频谱矢量图形的绘制方法 |
CN107124641A (zh) * | 2017-06-02 | 2017-09-01 | 广东暨通信息发展有限公司 | 一种音视频同步播放的控制方法 |
CN107509100A (zh) * | 2017-09-15 | 2017-12-22 | 深圳国微技术有限公司 | 音视频同步方法、系统、计算机装置及计算机可读存储介质 |
CN107566890A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 处理音频流播放异常的方法、装置、计算机装置及计算机可读存储介质 |
CN107566889A (zh) * | 2017-09-15 | 2018-01-09 | 深圳国微技术有限公司 | 音频流流速误差处理方法、装置、计算机装置及计算机可读存储介质 |
CN107682107A (zh) * | 2017-09-26 | 2018-02-09 | 深圳市亿联智能有限公司 | 一种中频段声波通信数据传输的同步算法 |
CN109635133A (zh) * | 2018-12-18 | 2019-04-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 可视化音频播放方法、装置、电子设备及存储介质 |
CN109814718A (zh) * | 2019-01-30 | 2019-05-28 | 天津大学 | 一种基于Kinect V2的多模态信息采集系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111131917A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2022200777B2 (en) | Methods and apparatus for an embedded appliance | |
US20150062353A1 (en) | Audio video playback synchronization for encoded media | |
US8379735B2 (en) | Automatic video glitch detection and audio-video synchronization assessment | |
CN106993239B (zh) | 直播过程中的信息显示方法 | |
CN105049917B (zh) | 录制音视频同步时间戳的方法和装置 | |
CN102026017B (zh) | 一种视频解码高效测试方法 | |
CN104092920A (zh) | 一种音视频同步方法 | |
CN111131917B (zh) | 音频频谱实时同步方法、播放装置 | |
CN107371053B (zh) | 音频视频流对比分析方法及装置 | |
WO2011150826A1 (zh) | 媒体播放同步的方法及装置 | |
CN109040818A (zh) | 直播时的音视频同步方法、存储介质、电子设备及系统 | |
CN100496133C (zh) | 一种测试音视频编解码系统音视频失步的方法 | |
CN102932640B (zh) | 一种视频流帧率的控制方法 | |
CN109218849B (zh) | 一种直播数据的处理方法、装置、设备和存储介质 | |
CN113055711B (zh) | 一种音视频同步检测方法及其检测系统 | |
CN111131868B (zh) | 基于播放器的视频录制方法及装置 | |
CN114786065A (zh) | 一种基于FFmpeg的HLS视频播放进度精准切换方法 | |
JP2011205439A (ja) | 再生装置および再生方法 | |
CN116489342B (zh) | 确定编码延时的方法、装置、及电子设备、存储介质 | |
CN105141830A (zh) | 一种实时同步融入气压、海拔信息到视频中的录像方法 | |
Zhang et al. | Research on Audio and Video Synchronization Algorithm Based on AVI Format | |
CN115914708A (zh) | 媒体的音视频同步方法及系统、电子设备 | |
Liu et al. | An embedded multimedia player on S3C6410 platform | |
JP2007306110A (ja) | 映像音声同期検出装置、および検証機能付き映像音声再生システム | |
CN115883859A (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 |