CN101634588B - 一种音频波形绘制的方法和装置 - Google Patents

一种音频波形绘制的方法和装置 Download PDF

Info

Publication number
CN101634588B
CN101634588B CN2008101172334A CN200810117233A CN101634588B CN 101634588 B CN101634588 B CN 101634588B CN 2008101172334 A CN2008101172334 A CN 2008101172334A CN 200810117233 A CN200810117233 A CN 200810117233A CN 101634588 B CN101634588 B CN 101634588B
Authority
CN
China
Prior art keywords
audio
buffer unit
volume control
viewing area
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.)
Expired - Fee Related
Application number
CN2008101172334A
Other languages
English (en)
Other versions
CN101634588A (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.)
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics 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 Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN2008101172334A priority Critical patent/CN101634588B/zh
Publication of CN101634588A publication Critical patent/CN101634588A/zh
Application granted granted Critical
Publication of CN101634588B publication Critical patent/CN101634588B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

本发明涉及音频数据处理领域,特别涉及一种音频波形绘制的方法和装置,用以解决现有技术中存在的波形绘制的方法,处理对于大容量的音频文件的速度慢,从而增加了操作的时间,降低了工作效率的问题。本发明实施例的方法包括:确定显示音频数据的颗粒象素的数量;根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段;将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中;根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。采用本发明实施例的方法能够加快了处理音频数据的速度,提高了工作效率。

Description

一种音频波形绘制的方法和装置
技术领域
本发明涉及音频数据处理领域,特别涉及一种音频波形绘制的方法和装置。
背景技术
音频编辑在电台、电视台以及其他数字化建设中起着重要的作用,是媒体管理***的重要组成部分。比如电台和电视台,编辑在对采集的原始素材入库之前,都要进行快速的编辑操作,以达到提取用户感兴趣的内容等目的。如果在编辑原始媒体素材时,***能够准确、快速显示对应的音频数据的波形,则可以对音频数据的特征区进行快速定位(如静音区等),从而加快了编辑操作的时间,提高了工作效率。
目前有两种比较常用的波形绘制方法:
第一种、无缓冲方法。
该方法读取磁盘中显示区域对应的数据,将读取的数据绘制成波形进行显示,在用户对显示区域的数据进行操作(或调整显示区域)时,需要继续读取磁盘中的数据,将操作后的数据绘制成波形进行显示。
由于该方法将对音频数据的所有操作都放到磁盘中进行,这样会导致用户在进行操作时,就必须反复读取磁盘上的数据,由于读取磁盘的速度相对较慢,所以严重影响了绘制波形的时间。
第二种、全缓冲方法。
该方法先将所有音频数据存储到内存中,读取内存中显示区域对应的数据,将读取的数据绘制成波形进行显示,在用户对显示区域的数据进行操作(或调整显示区域)时,需要继续读取内存中的数据,将操作后的数据绘制成波形进行显示。
由于该方法将所有音频数据存储到内存中,相比于第一种方法加快了绘制波形的速度,但是由于内存容量相对磁盘容量要小许多,对于大容量的音频数据,无法将整个音频数据全部存储到内存中,所以第二种方法无法适用大容量的音频数据。
综上所述,目前波形绘制的方法,处理对于大容量的音频文件的速度慢,从而增加了操作的时间,降低了工作效率。
发明内容
本发明实施例提供一种音频波形绘制的方法和装置,用以解决现有技术中存在的波形绘制的方法,处理对于大容量的音频文件的速度慢,从而增加了操作的时间,降低了工作效率的问题。
本发明实施例提供的一种音频波形绘制的方法包括:
确定显示音频数据的颗粒象素的数量,所述颗粒象素用于显示音频数据的音频波形;
根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段;
将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中;
根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
本发明实施例提供的一种音频波形绘制装置包括:
确定模块,用于确定显示音频数据的颗粒象素的数量,所述颗粒象素用于显示音频数据的音频波形;
第一划分模块,用于根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段;
第一处理模块,用于将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中;
绘制模块,用于根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
本发明实施例确定显示音频数据的颗粒象素的数量,所述颗粒象素用于显示音频数据的音频波形;根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段;将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中;根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形,由于不论文件大小,都可以将音频波形显示区域的音频数据存储在内存中,从而加快了处理音频数据的速度,提高了工作效率。
附图说明
图1为本发明实施例音频波形绘制装置结构示意图;
图2为本发明实施例音频波形绘制的方法示意图;
图3A为本发明实施例缓存模块示意图;
图3B为本发明实施例第一种音频波形显示区域移动后缓存模块变化示意图;
图3C为本发明实施例第二种音频波形显示区域移动后缓存模块变化示意图;
图4为本发明实施例音频波形显示区域移动后的方法流程示意图;
图5为本发明实施例显示粒度调整后的方法流程示意图。
具体实施方式
本发明实施例根据音频数据容量和显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段,并将音频子数据段存储到显示缓存单元中,实现了不论文件大小,都可以将音频波形显示区域的音频数据存储在内存中,从而加快了处理音频数据的速度,提高了工作效率。
其中,显示音频数据的颗粒象素的数量为音频波形显示区域中显示该音频数据波形的颗粒象素的数量;进一步的,
音频波形显示区域的颗粒象素的数量为音频波形显示区域中能够显示音频数据波形的颗粒象素的数量。
显示音频数据的颗粒象素的数量和音频波形显示区域的颗粒象素的数量可以相同,也可以不同。
具体的,相同时说明音频波形显示区域的所有颗粒象素都显示音频数据的波形,比如:音频波形显示区域的时间等于或小于视频文件的时间。
不同时说明音频波形显示区域的部分颗粒象素显示音频数据的波形,比如:音频波形显示区域的时间大于视频文件的时间。
在具体实施过程中,音频波形显示区域的时间可以进行调整(即调整显示粒度),使得音频波形显示区域的每个颗粒象素的时间长度都会发生变化,从而可以改变显示音频数据的颗粒象素的数量。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图1所示,本发明实施例音频波形绘制装置包括:确定模块100、第一划分模块101、第一处理模块102和绘制模块103。
确定模块100,用于确定显示音频数据的颗粒象素的数量。
其中,可以根据下列公式确定显示音频数据的颗粒象素的数量:
N pix = min ( N , N × T 1 T 2 )
Npix为显示音频数据的颗粒象素的数量,N为音频波形显示区域的颗粒象素的数量,T1为音频数据的时间长度,T2为颗粒象素的时间长度。
第一划分模块101,用于根据音频数据容量和确定模块100确定的显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段。
其中,在显示音频数据的颗粒象素的数量不小于音频波形显示区域的颗粒象素的数量时,根据下列公式将音频波形显示区域对应的音频数据划分为多个音频子数据段:
在显示音频数据的颗粒象素的数量小于音频波形显示区域的颗粒象素的数量时,根据下列公式将音频波形显示区域对应的音频数据划分为多个音频子数据段:
Figure S2008101172334D00052
具体的,根据下列公式计算开始的音频数据位置:
offset=Tstart×BytesPerSecond
其中,Tstart为显示的开始时间(秒),BytesPerSecond为文件的每秒字节数。
由于音频波形显示区域的开始位置有可能不是音频数据的开始位置,所以要确定具体从音频数据的哪个位置开始显示。
然后从确定的位置开始根据Step(音频子数据段容量)划分音频子数据段,直到将音频波形显示区域对应的音频数据都划分完成。
这样音频波形显示区域的一个颗粒象素显示划分后的一份音频子数据的波形。
第一处理模块102,用于将第一划分模块101划分后的不同的音频子数据,根据音频数据播放时间分别存储到对应的显示缓存单元中。
其中,显示缓存单元的数量等于音频波形显示区域的颗粒象素的数量,这样可以保证每个音频子数据都对应一个显示缓存单元。
根据音频数据播放时间分别存储到对应的显示缓存单元中,可以根据需要进行设定,比如将第一个音频子数据段存储到第一个显示缓存单元中,第二个音频子数据段存储到第二个显示缓存单元中,依次类推。
在具体实施过程中,如果一个音频子数据段的容量大于一个显示缓存单元,即每个显示缓存单元不能存储音频子数据段的所有数据,则第一处理模块102从每个音频子数据段中提取出等于每个显示缓存单元容量的数据,并根据音频数据播放时间分别存储到对应的缓存单元中。
如果没有预先设定显示缓存单元的容量,则需要根据下列公式确定显示缓存单元的容量:
缓存单元总容量=(显示缓存单元数量+待显示缓存单元数量)×缓存单元容量
第一处理模块102可以按顺序提取,也可以随机提取。
比如:每个显示缓存单元容量为10k,每个音频子数据段为1M,则可以从音频子数据段开始位置往后提取10k的数据,也可以从音频子数据段中间某一位置往后提取10k的数据,还可以从音频子数据段中随即提取10k的数据。
绘制模块103,用于根据音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
绘制模块103可以采用取平均的策略绘制音频数据波形,即计算每个显示缓存单元中的音频子数据段的平均值,根据平均值绘制波形。
需要说明的是,本实施例并不局限于取平均的策略,任何绘制音频数据波形的策略都适用本实施例。
其中,本发明实施例音频波形绘制装置还可以进一步包括:第二划分模块104和第二处理模块105。
第二划分模块104,用于在音频波形待显示区域有对应的音频数据时,根据音频数据容量和确定模块100确定的显示音频数据的颗粒象素的数量,将音频波形待显示区域对应的音频数据划分为多个音频子数据段。
其中,音频波形待显示区域可以在音频波形显示区域之后和/或之前,音频波形待显示区域的大小可以根据需要进行设定,比如内存比较大,则可以将音频波形待显示区域设置得比较大,相应的待显示缓存单元的数量会增加。
第二划分模块104划分的方式与第一划分模块101划分的方式类似,不再赘述。
第二处理模块105,用于将第二划分模块104划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的待显示缓存单元中。
第二处理模块105的处理方式与第一处理模块102的处理方式类似,不再赘述。
由于用户在处理音频时,需要来回拖动音频波形显示区域,并且拖动的浮动都不是很大,这样有可能在用户移动后的音频波形显示区域对应的音频数据会存储在缓存单元中,比如移动后的音频波形显示区域对应的音频数据全部都在缓存单元中,即一部分在显示缓存单元中,一部分在待显示缓存单元中,还有可能全部都在待显示缓存单元中;或者移动后的音频波形显示区域对应的音频数据一部分在缓存单元中。
这样可以保证在显示窗口移动后,可以不需要从磁盘中读取或仅从磁盘中读取一部分数据,进一步减少了与磁盘的交互,加快了绘制波形的速度,并且由于转换后的音频波形待显示缓存单元的音频数据有部分是在显示缓存单元的音频数据之前,这样在用户往前移动音频波形显示区域时,可以减少与磁盘的交互,实现实时显示音频波形。
其中,对于移动后的音频波形显示区域对应的音频数据全部都在缓存单元中的情况,本发明实施例音频波形绘制装置还可以进一步包括:第一转换模块106。
第一转换模块106,用于当移动后的音频波形显示区域对应的音频数据全部存储在缓存单元中,将移动后的音频波形显示区域的缓存单元作为显示缓存单元,将其他的缓存单元作为待显示缓存单元,通知绘制模块103绘制音频波形。
这样绘制模块103就会绘制移动后的音频波形显示区域对应的音频数据的波形。
其中,对于移动后的音频波形显示区域对应的音频数据一部分在缓存单元中的情况,本发明实施例音频波形绘制装置还可以进一步包括:第三划分模块107、删除模块108、第三处理模块109和第二转换模块110。
第三划分模块107,用于当移动后的音频波形显示区域对应的音频数据部份存储在缓存单元中,根据音频数据容量和确定模块100确定的显示音频数据的颗粒象素的数量,对移动后的音频波形显示区域对应的未存储在缓存单元中的音频数据,划分为多个音频子数据段。
由于移动后的音频波形显示区域对应的部分音频数据没有缓存到缓存单元中,所以第三划分模块107需要对这部分数据进行划分。
第三划分模块107划分的方式与第一划分模块101划分的方式类似,不再赘述。
删除模块108,用于从缓存单元中删除,不需要在移动后的音频波形显示区域内显示的音频波形,对应的音频子数据段。
其中,音频波形显示区域移动后,音频波形显示区域的缓存单元肯定要发生变化,可能有一部分是移动前的显示缓存单元,另一部分是移动前的待显示缓存单元;或者全部都是待显示缓存单元。不管哪种情况,都会有一部分缓存单元没有存储移动后的音频波形显示区域对应的音频数据,这就需要将这部分缓存单元中的音频数据删除,才能将划分的音频数据存储到这些缓存单元中。
第三处理模块109,用于将第三划分模块107划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的删除音频子数据段的缓存单元中。
第三处理模块109的处理方式与第一处理模块102的处理方式类似,不再赘述。
第二转换模块110,用于将移动后的音频波形显示区域中的缓存单元作为显示缓存单元,将其他的缓存单元作为待显示缓存单元,通知绘制模块103绘制音频波形。
这样绘制模块103就会绘制移动后的音频波形显示区域对应的音频数据的波形。
其中,本发明实施例音频波形绘制装置还可以进一步包括:通知模块111。
通知模块111,用于在音频波形显示区域的显示粒度发生变化后,通知确定模块100根据变化后的显示粒度,确定显示音频数据的颗粒象素的数量。
由于显示粒度发生变化,使得显示音频数据的颗粒象素的数量也相应发生变化,从而需要重新确定显示音频数据的颗粒象素的数量。
如图2所示,本发明实施例音频波形绘制的方法包括下列步骤:
步骤200、确定显示音频数据的颗粒象素的数量。
其中,可以根据下列公式确定显示音频数据的颗粒象素的数量:
N pix = min ( N , N × T 1 T 2 )
Npix为显示音频数据的颗粒象素的数量,N为音频波形显示区域的颗粒象素的数量,T1为音频数据的时间长度,T2为颗粒象素的时间长度。
步骤201、根据音频数据容量和步骤200确定的显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段。
其中,在显示音频数据的颗粒象素的数量不小于音频波形显示区域的颗粒象素的数量时,根据下列公式将音频波形显示区域对应的音频数据划分为多个音频子数据段:
Figure S2008101172334D00092
在显示音频数据的颗粒象素的数量小于音频波形显示区域的颗粒象素的数量时,根据下列公式将音频波形显示区域对应的音频数据划分为多个音频子数据段:
具体的,根据下列公式计算开始的音频数据位置:
offset=Tstart×BytesPerSecond
其中,Tstart为显示的开始时间(秒),BytesPerSecond为文件的每秒字节数。
由于音频波形显示区域的开始位置有可能不是音频数据的开始位置,所以要确定具体从音频数据的哪个位置开始显示。
然后从确定的位置开始根据Step(音频子数据段容量)划分音频子数据段,直到将音频波形显示区域对应的音频数据都划分完成。
这样音频波形显示区域的一个颗粒象素显示划分后的一份音频子数据的波形。
步骤202、将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中。
其中,显示缓存单元的数量等于音频波形显示区域的颗粒象素的数量,这样可以保证每个音频子数据都对应一个显示缓存单元。
根据音频数据播放时间分别存储到对应的显示缓存单元中,可以根据需要进行设定,比如第一个音频子数据段存储到第一个显示缓存单元中,第二个音频子数据段存储到第二个显示缓存单元中,依次类推。
在具体实施过程中,如果一个音频子数据段的容量大于一个显示缓存单元,即每个显示缓存单元不能存储音频子数据段的所有数据,则从每个音频子数据段中提取出等于每个显示缓存单元容量的数据,并根据音频数据播放时间分别存储到对应的显示缓存单元中。
如果没有预先设定显示缓存单元的容量,则需要根据下列公式确定显示缓存单元的容量:
缓存单元总容量=(显示缓存单元数量+待显示缓存单元数量)×缓存单元容量
步骤202中可以按顺序提取,也可以随机提取。
比如:每个显示缓存单元容量为10k,每个音频子数据段为1M,则可以从音频子数据段开始位置往后提取10k的数据,也可以从音频子数据段中间某一位置往后提取10k的数据,还可以从音频子数据段中随即提取10k的数据。
步骤203、根据音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
步骤203中,可以采用取平均的策略绘制音频数据波形,即计算每个显示缓存单元中的音频子数据段的平均值,根据平均值绘制波形。
需要说明的是,本实施例并不局限于取平均的策略,任何绘制音频数据波形的策略都适用本实施例。
其中,在音频波形待显示区域有对应的音频数据时,步骤200之后还可以进一步包括:
步骤S1、根据音频数据容量和步骤200确定的显示音频数据的颗粒象素的数量,将音频波形待显示区域对应的音频数据划分为多个音频子数据段。
其中,音频波形待显示区域可以在音频波形显示区域之后和/或之前,音频波形待显示区域的大小可以根据需要进行设定,比如内存比较大,则可以将音频波形待显示区域设置得比较大,相应的待显示缓存单元的数量会增加。
步骤S1划分的方式与步骤201划分的方式类似,不再赘述。
步骤S2、将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的待显示缓存单元中。
步骤S1的处理方式与步骤201的处理方式类似,不再赘述。
由于用户在处理音频时,需要来回拖动音频波形显示区域,并且拖动的浮动都不是很大,这样有可能在用户移动后的音频波形显示区域对应的音频数据会存储在缓存单元中,比如移动后的音频波形显示区域对应的音频数据全部都在缓存单元中,即一部分在显示缓存单元中,一部分在待显示缓存单元中,还有可能全部都在待显示缓存单元中;或者移动后的音频波形显示区域对应的音频数据一部分在缓存单元中。
这样可以保证在显示窗口移动后,可以不需要从磁盘中读取或仅从磁盘中读取一部分数据,进一步减少了与磁盘的交互,加快了绘制波形的速度,并且由于转换后的音频波形待显示缓存单元的音频数据有部分是在显示缓存单元的音频数据之前,这样在用户往前移动音频波形显示区域时,可以减少与磁盘的交互,实现实时显示音频波形。
其中,对于移动后的音频波形显示区域对应的音频数据全部都在缓存单元中的情况,本发明实施例音频波形绘制的方法还可以进一步包括:
步骤a204、将移动后的音频波形显示区域的缓存单元作为显示缓存单元,将其他的缓存单元作为待显示缓存单元。
步骤a205、根据音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
这样就实现了绘制移动后的音频波形显示区域对应的音频数据的波形。
其中,对于移动后的音频波形显示区域对应的音频数据一部分在缓存单元中的情况,本发明实施例音频波形绘制的方法还可以进一步包括:
步骤b204、根据音频数据容量和步骤200确定的显示音频数据的颗粒象素的数量,对音频波形显示区域对应的未存储在缓存单元中的音频数据,划分为多个音频子数据段。
由于移动后的音频波形显示区域对应的部分音频数据没有缓存到缓存单元中,所以需要对这部分数据进行划分。
步骤b204划分的方式与步骤201的划分的方式类似,不再赘述。
步骤b205、从缓存单元中删除,不需要在移动后的音频波形显示区域内显示的音频波形,对应的音频子数据段。
其中,音频波形显示区域移动后,音频波形显示区域的缓存单元肯定要发生变化,可能有一部分是移动前的显示缓存单元,另一部分是移动前的待显示缓存单元;或者全部都是待显示缓存单元。不管哪种情况,都会有一部分缓存单元没有存储移动后的音频波形显示区域对应的音频数据,这就需要将这部分缓存单元中的音频数据删除,才能将划分的音频数据存储到这些缓存单元中。
步骤b206、将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的删除音频子数据段的缓存单元中。
步骤b207、将移动后的音频波形显示区域中的缓存单元作为显示缓存单元,将其他的缓存单元作为待显示缓存单元。
步骤b208、根据音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
这样就实现了绘制移动后的音频波形显示区域对应的音频数据的波形。
其中,如果音频波形显示区域的显示粒度发生变化,则重新执行步骤200。
由于显示粒度发生变化,使得显示音频数据的颗粒象素的数量也相应发生变化,从而需要重新确定显示音频数据的颗粒象素的数量。
如图3A所示,本发明实施例缓存模块示意图中,假设音频波形显示区域需要三个显示缓存单元(编号为1、2、3),设定的音频波形预显示缓存单元有两个(编号为4、5)。需要说明的是实际操作中缓存单元的数量非常多,这里只是举例说明。
其中,每个缓存单元的容量和结构都相同,整个缓存单元存储的音频数据在时间上是连续的。
其中,站岗指针标记了绘制波形的起始位置,这样从站岗指针位置开始,将之后的三个缓存单元(即第1、2和3缓存单元)的音频数据绘制成波形。
假设用户在图3A的基础上将音频波形显示区域向后拖动了1个象素,如图3B所示,整个音频波形显示区域的缓存单元发生了变化(即变为第2、3和4缓存单元),这时站岗指针向右移动到第1缓存单元,由于移动后的音频波形显示区域对应的音频数据全部存储在缓存单元(即第2、3和4缓存单元)中,所以从站岗指针位置开始,将之后的三个缓存单元(即第2、3和4缓存单元)的音频数据绘制成波形,这时第1和5缓存单元为待显示缓存单元。
假设用户在图3A的基础上将音频波形显示区域向后拖动了3个象素,如图3C所示,整个音频波形显示区域的缓存单元发生了变化(即变为第4、5和1缓存单元,因为缓存单元数量的限制,所以要循环使用缓存单元),这时站岗指针向右移动到第4缓存单元。
由于移动后的音频波形显示区域对应的音频数据部分存储在缓存单元(即第4和5缓存单元)中,所以从磁盘中读取第5缓存单元缓存的音频子数据段之后的一个音频子数据段,并将该音频子数据段存储到第1缓存单元中,断开第1和第2缓存单元的双向指针,同时连接第1和第5缓存单元的双向指针,这时第1缓存单元到了尾部。
这时从站岗指针位置开始,将之后的三个缓存单元(即第4、5和1缓存单元)的音频数据绘制成波形,这时第2和3缓存单元为待显示缓存单元。
需要说明的是,音频波形显示区域向左移动的方法与上面介绍的向右移动的方法类似,不再赘述。
如图4所示,本发明实施例音频波形显示区域移动后的方法包括下列步骤:
步骤400、用户移动音频波形显示区域,即向左或向右移动音频波形显示区域或随即定位音频波形显示区域。
步骤401、查看音频波形显示区域对应的音频数据是否全部存储在缓存单元中,如果是,则执行步骤407;否则,执行步骤402。
步骤402、查看音频波形显示区域对应的音频数据是否部分存储在缓存单元中,如果是,则执行步骤403;否则,执行步骤405。
步骤403、将音频波形显示区域没有的音频子数据段存储到对应的缓存单元中。
步骤404、将移动后的音频波形显示区域中的缓存单元作为显示缓存单元,将其他的缓存单元作为待显示缓存单元,执行步骤407。
步骤405、根据音频数据容量和显示音频数据的颗粒象素的数量,将音频波形显示区域和音频波形待显示区域对应的音频数据划分为多个音频子数据段。
步骤406、将划分后的音频波形显示区域对应的不同的音频子数据段根据音频数据播放时间分别存储到对应的显示缓存单元中;将划分后的音频波形待显示区域对应的不同的音频子数据段,根据音频数据播放时间分别存储到对应的待显示缓存单元中。
步骤407、将站岗指针移动到音频波形显示区域第一个显示缓存单元上。
步骤408、根据音频波形显示区域的显示缓存单元中的音频子数据段,绘制成音频波形。
如图5所示,本发明实施例显示粒度调整后的方法包括下列步骤:
步骤500、用户调整显示粒度。
步骤501、根据调整后的显示粒度,确定显示音频数据的颗粒象素的数量。其中,根据 N pix = min ( N , N × T 1 T 2 ) 确定显示音频数据的颗粒象素的数量。
步骤502、根据确定的显示音频数据的颗粒象素的数量,确定显示缓存单元的容量。
其中,根据下列公式确定显示缓存单元的容量:
缓存单元总容量=(显示缓存单元数量+待显示缓存单元数量)×缓存单元容量。
步骤503、根据音频数据容量和调整后的显示音频数据的颗粒象素的数量,将音频波形显示区域和音频波形待显示区域对应的音频数据划分为多个音频子数据段。
步骤504、将划分后的音频波形显示区域对应的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中;将划分后的音频波形待显示区域对应的不同的音频子数据段,根据音频数据播放时间分别存储到对应的待显示缓存单元中。
步骤505、将每个显示缓存单元中的音频子数据段,绘制成音频波形。
本发明不限于上述方法实施例中提供的步骤顺序,本领域技术人员很容易通过本发明实施例提供的方案,想到其他的步骤顺序,从而可以实现与本发明相同的目的。
从上述实施例中可以看出:本发明实施例确定显示音频数据的颗粒象素的数量,所述颗粒象素用于显示音频数据的音频波形;根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段;将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中;根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形,由于不论文件大小,都可以将音频波形显示区域的音频数据存储在内存中,从而加快了处理音频数据的速度,提高了工作效率,并且如果用户移动的音频波形显示区域的数据全部或一部分在显示缓存单元和待显示缓存单元中,从而不需要从磁盘中读取或仅从磁盘中读取一部分数据,从而减少了与磁盘交互的数据量以及用户操作所需的时间,并且实现了实时显示用户处理后的音频波形。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (15)

1.一种音频波形绘制的方法,其特征在于,该方法包括:
确定显示音频数据的颗粒象素的数量,所述颗粒象素用于显示音频数据的音频波形;
根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段;
将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中;
根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
2.如权利要求1所述的方法,其特征在于,该方法还包括:
在音频波形待显示区域有对应的音频数据时,根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形待显示区域对应的音频数据划分为多个音频子数据段;
将在音频波形待显示区域有对应的音频数据时划分的不同的音频子数据段,根据音频数据播放时间分别存储到对应的待显示缓存单元中。
3.如权利要求1或2所述的方法,其特征在于,如果每个缓存单元的容量小于每个音频子数据段的容量,则从每个音频子数据段中提取出等于每个缓存单元容量的数据,并根据音频数据播放时间分别存储到对应的缓存单元中。
4.如权利要求2所述的方法,其特征在于,该方法还包括:
当移动后的音频波形显示区域对应的音频数据全部存储在缓存单元中,将移动后的音频波形显示区域的缓存单元作为显示缓存单元,将其他的缓存单元作为待显示缓存单元;
根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
5.如权利要求2或4所述的方法,其特征在于,该方法还包括:
当移动后的音频波形显示区域对应的音频数据部份存储在缓存单元中,根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形显示区域对应的未存储在缓存单元中的音频数据,划分为多个音频子数据段;
从缓存单元中删除,不需要在移动后的音频波形显示区域内显示的音频波形,对应的音频子数据段;
将音频波形显示区域对应的未存储在缓存单元中的音频数据划分后得到的不同的音频子数据段,根据音频数据播放时间分别存储到对应的删除音频子数据段的缓存单元中;
将移动后的音频波形显示区域中的缓存单元作为显示缓存单元,将其他的缓存单元作为待显示缓存单元;
根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
6.如权利要求1所述的方法,其特征在于,该方法还包括:
在音频波形显示区域的显示粒度发生变化后,根据变化后的显示粒度,确定显示音频数据的颗粒象素的数量;
根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段;
将在音频波形显示区域的显示粒度发生变化后划分的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中;
根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
7.如权利要求1或6所述的方法,其特征在于,在显示音频数据的颗粒象素的数量不小于音频波形显示区域的颗粒象素的数量时,根据下列公式根据下列公式将音频波形显示区域对应的音频数据划分为多个音频子数据段:
Figure FSB00000320979900021
在显示音频数据的颗粒象素的数量小于音频波形显示区域的颗粒象素的数量时,根据下列公式将音频波形显示区域对应的音频数据划分为多个音频子数据段:
8.一种音频波形绘制装置,其特征在于,该装置包括:
确定模块,用于确定显示音频数据的颗粒象素的数量,所述颗粒象素用于显示音频数据的音频波形;
第一划分模块,用于根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形显示区域对应的音频数据划分为多个音频子数据段;
第一处理模块,用于将划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的显示缓存单元中;
绘制模块,用于根据所述音频数据播放时间,将对应的显示缓存单元中的音频子数据段,绘制成音频波形。
9.如权利要求8所述的装置,其特征在于,该装置还包括:
第二划分模块,用于在音频波形待显示区域有对应的音频数据时,根据音频数据容量和所述显示音频数据的颗粒象素的数量,将音频波形待显示区域对应的音频数据划分为多个音频子数据段;
第二处理模块,用于将所述第二划分模块划分后的不同的音频子数据段,根据音频数据播放时间分别存储到对应的待显示缓存单元中。
10.如权利要求8所述的装置,其特征在于,所述第一处理模块还用于:
在每个显示缓存单元的容量小于每个音频子数据段的容量,从每个音频子数据段中提取出等于每个显示缓存单元容量的数据,并根据音频数据播放时间分别存储到对应的显示缓存单元中。
11.如权利要求9所述的装置,其特征在于,所述第二处理模块还用于:
在每个待显示缓存单元的容量小于每个音频子数据段的容量,从每个音频子数据段中提取出等于每个待显示缓存单元容量的数据,并根据音频数据播放时间分别存储到对应的待显示缓存单元中。
12.如权利要求9所述的装置,其特征在于,该装置还包括:
第一转换模块,用于当移动后的音频波形显示区域对应的音频数据全部存储在缓存单元中,将移动后的音频波形显示区域的缓存单元作为显示缓存单元,将其他的缓存单元作为待显示缓存单元,通知所述绘制模块绘制音频波形。
13.如权利要求9或12所述的装置,其特征在于,该装置还包括:
第三划分模块,用于当移动后的音频波形显示区域对应的音频数据部份存储在缓存单元中,根据音频数据容量和所述显示音频数据的颗粒象素的数量,将移动后的音频波形显示区域对应的未存储在缓存单元中的音频数据,划分为多个音频子数据段;
删除模块,用于从缓存单元中删除,不需要在移动后的音频波形显示区域内显示的音频波形,对应的音频子数据段;
第三处理模块,用于将音频波形显示区域对应的未存储在缓存单元中的音频数据划分后得到的不同的音频子数据段,根据音频数据播放时间分别存储到对应的删除音频子数据段的缓存单元中;
第二转换模块,用于将移动后的音频波形显示区域中的缓存单元作为显示缓存单元,将其他的缓存单元作为待显示缓存单元,通知所述绘制模块绘制音频波形。
14.如权利要求8所述的装置,其特征在于,该装置还包括:
通知模块,用于在音频波形显示区域的显示粒度发生变化后,通知所述确定模块根据变化后的显示粒度,确定显示音频数据的颗粒象素的数量。
15.如权利要求8所述的装置,其特征在于,在显示音频数据的颗粒象素的数量不小于音频波形显示区域的颗粒象素的数量时,根据下列公式将音频波形显示区域对应的音频数据划分为多个音频子数据段:
Figure FSB00000320979900041
在显示音频数据的颗粒象素的数量小于音频波形显示区域的颗粒象素的数量时,根据下列公式将音频波形显示区域对应的音频数据划分为多个音频子数据段:
Figure FSB00000320979900051
CN2008101172334A 2008-07-25 2008-07-25 一种音频波形绘制的方法和装置 Expired - Fee Related CN101634588B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101172334A CN101634588B (zh) 2008-07-25 2008-07-25 一种音频波形绘制的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101172334A CN101634588B (zh) 2008-07-25 2008-07-25 一种音频波形绘制的方法和装置

Publications (2)

Publication Number Publication Date
CN101634588A CN101634588A (zh) 2010-01-27
CN101634588B true CN101634588B (zh) 2011-02-09

Family

ID=41593847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101172334A Expired - Fee Related CN101634588B (zh) 2008-07-25 2008-07-25 一种音频波形绘制的方法和装置

Country Status (1)

Country Link
CN (1) CN101634588B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375811B (zh) * 2013-08-13 2019-04-26 腾讯科技(深圳)有限公司 一种音效处理方法和装置
CN105100806A (zh) * 2015-07-23 2015-11-25 柳州龙辉科技有限公司 一种超大规模音、视频数据的压缩及发布方法
CN107172483A (zh) * 2017-05-05 2017-09-15 广州华多网络科技有限公司 一种直播场景下的音质识别的方法、装置及终端设备
CN109712220A (zh) * 2018-11-15 2019-05-03 贵阳语玩科技有限公司 一种iOS端音频波形绘制方法和装置及计算机可读存储介质
CN114003456A (zh) * 2021-09-26 2022-02-01 芯华章科技股份有限公司 波形数据的显示方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675778A (en) * 1993-10-04 1997-10-07 Fostex Corporation Of America Method and apparatus for audio editing incorporating visual comparison
CN1321964A (zh) * 2000-05-02 2001-11-14 莫绍祥 声音及节拍的图象显示方法和设备
CN1779777A (zh) * 2005-08-16 2006-05-31 深圳市彩秀科技有限公司 一种通过截取音频波形进行音频编辑和转化的方法
KR20070120359A (ko) * 2006-06-19 2007-12-24 엘지전자 주식회사 음파 크기 디스플레이 장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675778A (en) * 1993-10-04 1997-10-07 Fostex Corporation Of America Method and apparatus for audio editing incorporating visual comparison
CN1321964A (zh) * 2000-05-02 2001-11-14 莫绍祥 声音及节拍的图象显示方法和设备
CN1779777A (zh) * 2005-08-16 2006-05-31 深圳市彩秀科技有限公司 一种通过截取音频波形进行音频编辑和转化的方法
KR20070120359A (ko) * 2006-06-19 2007-12-24 엘지전자 주식회사 음파 크기 디스플레이 장치 및 그 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
鲍永刚,等.Wave文件波形编辑方法.《小型微型计算机***》.1997,第18卷(第1期),
鲍永刚等.Wave文件波形编辑方法.《小型微型计算机***》.1997,第18卷(第1期), *

Also Published As

Publication number Publication date
CN101634588A (zh) 2010-01-27

Similar Documents

Publication Publication Date Title
CN101634588B (zh) 一种音频波形绘制的方法和装置
US10782869B2 (en) Information processing device, information processing method, and information processing program for selectively changing a value or a change speed of the value by a user operation
US9443342B2 (en) Information processing apparatus, data division method, and data division program
KR101725887B1 (ko) 터치 스크린 디바이스의 컨텐츠 검색 방법 및 장치
CN101867719B (zh) 操作控制装置、操作控制方法
US7720349B2 (en) Image processing apparatus, method, and program, and program storage medium
CN109936763B (zh) 视频的处理及发布方法
CN107181976A (zh) 一种弹幕显示方法及电子设备
WO2002015162A3 (en) System and method for displaying large images with reduced capacity buffer, file format conversion, user interface with zooming and panning, and broadcast of different images
RU2009148314A (ru) Указатель на основе графических мозаичных элементов с расширением ячеек
CN103530052A (zh) 一种界面内容的显示方法和用户设备
CN104505109B (zh) 多媒体播放器的音轨切换方法、***及对应播放器和设备
CN104219584A (zh) 基于增强现实的全景视频交互方法和***
CN104394422A (zh) 一种视频分割点获取方法及装置
CN108334486A (zh) 表格控制方法、装置、设备及存储介质
CN105898523A (zh) 一种视频播放方法及装置
CN105142004B (zh) 多媒体文件读取方法及装置
CN104284057A (zh) 一种视频处理方法及装置
CN105094620A (zh) 一种信息浏览方法及移动终端
CN102741793B (zh) 目标图像显示装置、目标图像显示方法、目标图像显示程序
CN104350455A (zh) 使元素被显示
CN104301699A (zh) 一种图像处理方法及装置
CN103098003A (zh) 用于显示数据对象的方法、软件和设备
CN104219578A (zh) 一种视频处理方法和装置
CN103428213A (zh) 一种多媒体文件生成的方法及多媒体设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110209

Termination date: 20190725