音频文件的压缩方法和装置与流程

文档序号:12464831阅读:440来源:国知局
音频文件的压缩方法和装置与流程
本发明涉及数据处理领域,具体而言,涉及一种音频文件的压缩方法和装置。
背景技术
:文件的大小影响文件的传输时间。为了减小文件的存储空间,减少文件的网络传输时间,便于文件的存放和下载,通常对文件执行压缩,比如,对音频文件执行压缩。目前,在线点播使用的有损音频编码为高级音频编码(AdvancedAudioCoding,简称为AAC)的音频格式、动态影像专家压缩标准音频层面3(MovingPictureExpertsGroupAudioLayerⅢ,简称为MP3)的音频格式、音频压缩格式(OGGVorbis,简称为OGG)、音频格式OPUS等。图1是根据相关技术中的音频格式各码率质量对比的示意图。音频中的码率,也即,音频的比特率,为音频的模拟信号转化为数字信号之后单位时间内的二进制数据量。如图1所示,横坐标表示音频文件的大小,单位为k,纵坐标表示不同大小的音频文件在不同音频格式下的码率,也即,在不同大小的音频文件下,四条曲线分别表示OPUS的码率曲线,ACC的码率曲线,MP3的码率曲线,OGG的码率曲线,OPUS的码率曲线和AAC的码率曲线在MP3的码率曲线和OGG的码率曲线之上。码率用于衡量音频文件的质量,音频格式的码率越高,音频格式对应的音频文件的音频质量 就越好,因此,OPUS音频格式和AAC音频格式分别对应的音频质量高于MP3音频格式和OGG音频格式分别对应的音频质量。表1不同音频格式的平台支持度表1是不同音频格式的平台支持度。如表1所示,对于Android系统平台,支持ACC音频格式、MP3音频格式、OGG音频格式,但是不支持OPUS音频格式;对于IOS系统平台,支持ACC音频格式、MP3音频格式,但是不支持OGG音频格式和OPUS音频格式;对于Chrome浏览器,支持AAC音频格式,MP3音频格式,OGG音频格式和OPUS音频格式;对于苹果计算机的最新操作系统中的Safari浏览器平台,支持ACC音频格式,MP3音频格式,但是不支持OGG音频格式和OPUS音频格式;对于网页浏览器(InternetExplorer,简称为IE)平台支持ACC音频格式,MP3音频格式,但是不支持OGG音频格式和OPUS音频格式,因此,ACC音频格式和MP3音频格式在各个平台上的兼容度比较好,ACC音频格式对音频文件进行编码的效果最佳。ACC音频格式的编码出现于1997年,是动态图像专家组(Moving PictureExpertsGroup,简称为MPEG)中的MPEG-2音频编码技术,由FraunhoferIIS、杜比实验室、AT&T、Sony等公司共同开发,以取代MP3格式。2000年,在MPEG-4标准出现之后,ACC重新集成了MPEG-4标准的特性,加入了音频编码增强算法SBR技术和为图图像处理软件PS技术,又称为MPEG-4AAC。目前,在互联网中采用AAC音频格式对音频文件编码,最终输出格式为M4A格式的音频文件。但是,通过MPEG4生成的音频文件的头部文件过大,比如,播放时间为20分钟的音频文件大概有100K的头部文件,播放时间为40分钟的音频文件有200K的头部文件,音频文件的头部文件随着音频文件的播放时间的增长而变大,这样直接增长了音频文件加载到播放器的加载时间。针对上述由于音频文件的头部文件过大而导致音频文件的加载时间长的问题,目前尚未提出有效的解决方案。技术实现要素:本发明实施例提供了一种音频文件的压缩方法和装置,以至少解决由于音频文件的头部文件过大而导致音频文件的加载时间长的技术问题。根据本发明实施例的一个方面,提供了一种音频文件的压缩方法,包括:获取原始音频文件;解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,其中,数据文件为压缩过的文件;通过预设压缩算法对头部文件执行压缩,得到压缩头部文件;通过压缩头部文件和数据文件生成压缩音频文件。根据本发明实施例的另一方面,还提供了音频文件的压缩装置,包括:获取单元,用于获取原始音频文件;解析单元,用于解析原始音频文件, 得到原始音频文件的头部文件和原始音频文件的数据文件,其中,数据文件为压缩过的文件;压缩单元,用于通过预设压缩算法对头部文件执行压缩,得到压缩头部文件;生成单元,通过压缩头部文件和数据文件生成压缩音频文件。在本发明实施例中,采用获取原始音频文件;解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件;通过预设压缩算法对头部文件执行压缩,得到压缩头部文件;通过压缩头部文件和数据文件生成压缩音频文件,达到了对原始音频文件的头部文件执行压缩的目的,减少了原始音频文件的存储空间,从而实现降低音频文件的加载时间的技术效果,进而解决了由于音频文件的头部文件过大而导致音频文件的加载时间长的技术问题。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据相关技术中的音频格式各码率质量对比的示意图;图2是根据本发明实施例的一种音频文件的压缩方法的计算机终端的硬件结构框图;图3是根据本发明实施例的音频文件的压缩方法的流程图;图4是根据本发明实施例的通过预设压缩算法对头部文件执行压缩的方法的流程图;图5是根据本发明实施例的通过压缩头部文件和数据文件生成压缩音频文件的方法的流程图;图6是根据本发明实施例的对音频文件执行压缩的示意图;图7是根据本发明实施例的音频文件的压缩装置的示意图;图8是根据本发明实施例的一种可选地音频文件的压缩装置的示意图;图9是根据本发明实施例的一种可选地音频文件的压缩装置的示意图;图10是根据本发明实施例的一种可选地音频文件的压缩装置的示意图;以及图11是根据本发明实施例的一种计算机终端的结构框图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1根据本发明实施例,提供了一种音频文件的压缩方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某 些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图2是根据本发明实施例的一种音频文件的压缩方法的计算机终端的硬件结构框图。如图2所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的音频文件的压缩方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的音频文件的压缩方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。在上述运行环境下,本申请提供了如图3所示的音频文件的压缩方法。图3是根据本发明实施例一的音频文件的压缩方法的流程图。图3是根据本发明实施例的音频文件的压缩方法的流程图。如图3所示,该音频文件的压缩方法的一种可选的方案包括如下步骤:步骤S32,获取原始音频文件。在本申请上述步骤S32提供的方案中,原始音频文件携带音频数据,通过终端的软件程序对音频数据进行处理,进而播放音频文件。可选地,从数据库中获取终端需要播放的原始音频文件。本发明实施例的原始音频文件可以在数据库中用多个字段来表示,通过容器box存储字段数据,比如,通过sizeboxes容器存储原始音频文件的字段数据。容器box包含了原始音频文件的样本数和每个样本中包含的对原始音频文件的采样点数的大小,通过样本数和每个样本中采样点数的大小使原始音频文件的音频数据分解出数据帧。原始音频文件的数据中总的样本数与容器box中的样本数一致。可选地,有两种不同大小的容器box,一种容器box是用固定32位字段表示原始音频文件中每个样本的大小,在音轨track上定义所有样本的大小相同,其中,在载体上记录音频信号的通路为音轨track;另一种容器box是在每个样本的尺寸变化都很小的情况下,可以使用小的字段。表2字段属性字段长度(字节)描述尺寸4容器box的字节数类型4“stsz”版本10标识30采样大小4采样的样本的大小采样数量4track中的样本的数量采样字节数4*采样数量每个采样的字节数表2是字段属性,如表2所示,字段为尺寸,长度为4个字节,其中,这4个字节为整个容器box的字节;字段为类型,长度为4个字节,其中,容器的名称为“stsz”;字段为版本,长度为1个字节,其中,版本为0;字段为标志,长度为3个字节,其中,标志为0;字段为采样大小,长度为4个字节,其中,通过采样大小可以得出原始音频文件的每个样本中包含的采样点数的大小;字段为采样数量,长度为4个字节,可以通过采样数量得出原始音频文件在音轨track上定义的样本的数量;字段为entry_size,长度为4*采样数量,可以得到每个样本的字节数。本发明实施例通过获取原始音频文件的字段,得到原始音频文件的尺寸、类型、版本、标识、采样大小、采样数量和每个样本的字节数,从而确定需要终端播放的音频文件。步骤S34,解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,其中,数据文件为压缩过的文件。在本申请上述步骤S34提供的方案中,在获取原始音频文件之后,解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,其中,原始音频文件的数据文件为压缩过的文件。原始音频文件包括原始音频文件的头部文件和原始音频文件的数据文件,在本申请上述步骤S32提供的方案中,获取原始音频文件,也即,获取包括头部文件和数据文件的音频文件。原始音频文件的头部文件是音频文件的一部分,承担音频文件一定任务的数据,决定音频文件在播放时音频数据加载的时间和音频数据缓冲的速度,也即,原始音频文件的头部文件决定在启动音频文件的播放程序时音频文件的载入时间,原始音频文件的头部文件越大,启动音频文件的播放程序时音频文件的载入时间越长,原始音频文件的头部文件越小,启动音频文件的播放程序时音频文件的载入时间越短。原始音频文件的头部文 件位于原始音频文件的开头,占用音频文件的前几个字节,可以用于描述原始音频文件的一些重要属性,比如,原始音频文件的文件标识、原始音频文件的头部文件的长度等重要属性,使与原始音频文件软件的格式相对应的软件程序根据音频文件的这些重要属性打开并处理音频文件。本发明实施例的原始音频文件的头部文件存在大量重复数据和无用数据。在原始音频文件的头部文件的多个字段中,采样的音频数据为采样点,采样的音频数据的数据量为采样点数。可选地,在原始音频文件的头部文件中,通过线性编码调制(PulseCodeModulation,简称为PCM)编码的采样点数在千万数量级,或者更大的采样数量,也即,音轨track中的样本的数量很大,在进行数据存储、数据传输和数据处理时存在较大的冗余。原始音频文件的头部文件中,每个采样点用四个字节表示,其中,四个字节中的部分字节是相同的。通过步骤S32获取原始音频文件,可以获取到原始音频文件的头部文件的文件标识、原始音频文件的头部文件的长度。可选地,解析原始音频文件是通过预分析原始音频文件的头部文件的文件标识和原始音频文件的头部文件的长度以确定原始音频文件的头部文件,再按照原始音频文件的头部文件的字节数将原始音频文件的头部文件和原始音频文件的数据文件分离开,从而得到原始音频文件的头部文件和原始音频文件的数据文件。上述解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件的方式仅为本发明的优选实施例,并不代表本发明实施例的音频文件的压缩方法仅包括上述解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件的方式。为了提高解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件的效率,本发明实施例还可以包括其他能够解析原始音频文件的方式,此处不再一一举例。本发明实施例中的原始音频文件的数据文件是压缩过的数据文件,原始音频文件采用PCM编码,通过对连续变化的模拟音频信号进行抽样、 量化以及编码产生数字音频信号,得到原始数字音频信号流。利用原始数字音频信号流中的某些不敏感成分的特性,通过去除音频数据信号中不能被人耳感知,或者大量重复的冗余信号对原始数字音频信号流执行压缩,得到压缩的数字音频信号流,压缩的数字音频信号流可以用mdat字段表示。虽然原始数字音频信号流在压缩过程中损失部分音频数据,压缩的数字音频信号流与原始数字音频信号流中的音频数据不同,不能完全恢复原始音频文件的数据,但是压缩的数字音频信号流与原始数字音频信号流中的音频数据非常接近。在原始数字音频信号流不损失有用音频数据,或者在损失的音频数据可以忽略的情况下,对原始数字音频信号流执行压缩编码,从而得到压缩的数字音频信号流,减少了原始音频文件占用的内存容量,保证了原始数字音频信号流在听觉方面不产生失真的情况下,对原始音频数据信号进行尽可能大的压缩。步骤S36,通过预设压缩算法对头部文件执行压缩,得到压缩头部文件。在本申请上述步骤S36提供的方案中,在解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件之后,对原始音频文件的头部文件执行压缩,去除原始音频文件的冗余数据。计算机处理的信息以二进制数据表示的,通过预设的压缩算法将二进制信息中相同的字符串以特殊字符进行标记,通过合理的数学计算公式,对原始音频文件的头部文件执行压缩,得到压缩头部文件。可选地,对原始音频文件的头部文件执行压缩包括对原始音频文件的头部文件执行有损压缩和无损压缩。对原始音频文件的头部文件执行有损压缩,也即,当头部文件的个别数据丢失对头部文件不会造成太大影响时,可以忽略对原始音频文件的头部文件影响不大的数据,对原始音频文件的头部文件执行压缩,从而得到原始音频文件的头部文件的压缩头部文件;对原始音频文件的头部文件进行无损压缩,也即,原始音频文件的头部文件在通过预设压缩算法执行压缩的过程中,压缩数据必须准确无误,从而 得到原始音频文件的头部文件的压缩头部文件,比如,得到zip、rar无损压缩格式的压缩头部文件。可选地,压缩头部文件的大小与原始音频文件的头部文件的文件类型、文件大小、压缩方案、获取的压缩参数有关,通过确定原始音频文件的头部文件的文件类型、文件大小、压缩方案、获取的压缩参数从而达到对原始音频文件的头部文件进行执行压缩的目的。本发明实施例通过预设压缩算法对头部文件执行压缩,得到压缩头部文件,减小了原始音频文件的头部文件的大小。在加载音频文件时,通过压缩的头部文件降低了音频文件加载的时间,提高了音频文件缓冲的速度。步骤S38,通过压缩头部文件和数据文件生成压缩音频文件。在本申请上述步骤S38提供的方案中,在通过预设压缩算法对头部文件执行压缩,得到压缩头部文件之后,通过原始音频文件的压缩头部文件和原始音频文件的数据文件生成压缩音频文件。可选地,合并原始音频文件的压缩头部文件和原始音频文件的数据文件,从而生成压缩音频文件。压缩音频数据文件包括压缩头部文件和原始音频文件的数据文件,原始音频文件的数据文件,也即,压缩音频文件的数据文件。通过压缩头部文件和数据文件生成压缩音频文件,可以提高音频文件的下载速度,降低音频文件在终端的缓冲时间。通过上述步骤S32至步骤S38,本发明提供的方案可以实现通过获取原始音频文件,然后对解析原始音频文件进行解析,得到原始音频文件的头部文件和原始音频文件的数据文件,对原始音频文件的头部文件通过预设压缩算法执行压缩,从而得到压缩头部文件,减小了原始音频文件的头部文件的大小,并且通过压缩头部文件和数据文件生成压缩音频文件,降低了播放压缩音频文件时音频文件加载的时间,提高了音频文件缓冲的速度,进而解决了由于音频文件的头部文件过大而导致音频文件的加载时间长的技术问题。作为一种可选的实施方式,本申请步骤S36通过预设压缩算法对头部 文件执行压缩。预设压缩算法为对原始音频文件的头部文件中的多个字段进行处理,可以通过压缩软件中的压缩程序对原始音频文件的头部文件执行压缩,比如,通过WinZip压缩软件,或者WinRar压缩软件对原始音频文件的头部文件执行压缩,其中,WinZip压缩软件,或者WinRar压缩软件将其支持的格式的音频文件的头部文件进行压缩。图4是根据本发明实施例的通过预设压缩算法对头部文件执行压缩的方法的流程图。如图4所示,该通过预设压缩算法对头部文件执行压缩的方法包括以下步骤:步骤S402,获取头部文件的多个字段,其中,多个字段中的部分字段相同。原始音频文件的头部文件包括多个字段。在本申请步骤S34解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件之后,获取原始音频文件的头部文件的多个字段。原始音频文件的多个字段中的部分字段是相同的。可选地,原始音频文件的多个字段中的部分字段通过字节表示的头部文件的内容相同。步骤S404,对多个字段中相同的字段执行压缩,得到压缩字段。在获取头部文件的多个字段之后,提取头部文件中多个字段中相同的字段,将多个字段中相同的字段执行压缩。可选地,在描述原始音频文件的头部文件的字段中,每个音频数据的采样点用四个字节表示,其中,四个字节中有两个字节为0x0000,为无效字节,可以将无效字节去掉,得到压缩头部文件,理论的头部文件的压缩率为50%。头部文件的压缩率为压缩后的文件的头部文件的大小与原始音频文件的头部文件的大小之比。可选地,对原始音频文件的头部文件中的相同的字段执行有损压缩,也即,当头部文件的个别相同的字段丢失对头部文件不会造成太大影响时,可以忽略头部文件的个别相同的字段,从而得到原始音频文件的头部文件的压缩头部文件。可选地,对头部文件的个别相同的字段进行无损压 缩,也即,头部文件的个别相同的字段在通过预设压缩算法执行压缩的过程中,头部文件的个别相同的字段必须准确无误,从而得到原始音频文件的头部文件的压缩头部文件。步骤S406,获取多个字段中的未压缩字段。原始音频文件的头部文件中不相同的字段为有效字段,未进行处理,也即,原始音频文件的头部文件中不相同的字段未执行压缩。在对原始音频文件中的多个字段中相同的字段执行压缩之后,获取多个字段中的未压缩字段。可选地,未压缩的字段所表示的尺寸,或者类型,或者版本,或者标识,或者采样大小,或者采样数量,或者每个采样的字节数不变。步骤S408,合并压缩字段和未压缩字段,得到压缩头部文件。在获取多个字段中的未压缩字段之后,合并压缩字段和未压缩字段,得到压缩头部文件。该压缩头部文件与原始音频文件的头部文件相比,允许损失一定的信息,压缩头部文件的音频数据与原始音频文件的头部文件的数据虽然不同,不能完全恢复原始音频文件的音频数据,但是经过压缩、解压的头部文件与原始音频文件的头部文件非常接近,所损失的头部文件的信息对原始音频文件的头部文件的影响小。该压缩头部文件也可以是准确无误保留原始音频文件的头部文件的信息,也即,压缩头部文件的字段所表示的尺寸,或者类型,或者版本,或者标识,或者采样大小,或者采样数量,或者每个采样的字节数不变。该实施例获取原始音频文件的头部文件的字段,头部文件的字段中包括多个相同的字段,对多个相同的字段执行压缩,得到压缩字段,然后获取原始音频文件头部文件的字段中的未压缩字段,最后合并压缩字段和未压缩字段,得到压缩头部文件,实现了对头部文件执行压缩的目的。作为一种可选的实施方式,本申请步骤S38通过压缩头部文件和数据文件生成压缩音频文件。该压缩头部文件是通过本申请步骤S36通过预设压缩算法对头部文件执行压缩,得到的压缩头部文件,该压缩音频文件的 格式与压缩原始音频文件的头部文件的方法和压缩原始音频文件的数据文件的方法有关,比如,压缩音频文件的格式为zip、rar格式的压缩音频文件。图5是根据本发明实施例的通过压缩头部文件和数据文件生成压缩音频文件的方法的流程图。如图5所示,该通过压缩头部文件和数据文件生成压缩音频文件的方法包括以下步骤:步骤S502,获取压缩头部文件的文件标识。获取原始音频文件的压缩头部文件的文件标识,该压缩头部文件的文件标识表示通过预设压缩算法对原始音频文件的头部文件所执行的压缩过程。在终端接收到音频数据文件时,通过该压缩头部文件的文件标识确定对压缩音频文件执行解压的后台算法,以及开始对压缩头部文件执行解压。步骤S504,获取压缩头部文件的长度。在本申请步骤S36通过预设压缩算法对头部文件执行压缩,得到压缩头部文件之后,压缩头部文件的长度也就确定,也即,压缩头部文件的字节数确定。通过压缩头部文件所占用的字节数获取压缩头部文件的长度。步骤S506,合并压缩头部文件的文件标识,压缩头部文件的长度,压缩头部文件和数据文件,得到压缩音频文件。在获取压缩头部文件的文件标识、获取压缩头部文件的长度之后,合并压缩头部文件的文件标识,压缩头部文件的长度,压缩头部文件和数据文件,得到压缩音频文件。该压缩音频文件降低了音频文件的存储空间。该实施例通过获取压缩头部文件的文件标识,然后获取压缩头部文件的长度,合并压缩头部文件的文件标识,压缩头部文件的长度,压缩头部文件和数据文件,得到压缩音频文件,从而通过压缩头部文件和数据文件生成压缩音频文件,达到了降低音频文件的加载时间的效果。作为一种可选的实施例,在本申请步骤S38通过压缩头部文件和数据文件生成压缩音频文件之后,该实施例的音频文件的压缩方法还包括:发送压缩音频文件至终端,其中,终端用于根据压缩头部文件的文件标识和压缩头部文件的长度对压缩头部文件执行解压,得到解压头部文件,并加载解压头部文件,根据解压头部文件播放数据文件。可选地,本申请步骤S32至步骤S38由服务器端执行,在本申请步骤S38通过压缩头部文件和数据文件生成压缩音频文件之后,发送压缩音频文件至终端,该压缩音频文件是通过压缩头部文件和数据文件生成的压缩音频文件,该压缩音频文件包括文件标识、压缩头部文件的长度、压缩头部文件和数据文件,终端查找到压缩头部文件的文件标识后,确定解压压缩头部文件的后台算法,并且通过压缩头部文件的长度对压缩头部文件执行解压,得到解压头部文件,并加载解压头部文件,终端根据解压头部文件播放数据文件。本发明实施例在通过压缩头部文件和数据文件生成压缩音频文件之后,将压缩音频文件发送至终端,终端在接收到该压缩音频文件之后,对该压缩音频文件按照后台算法执行解压,加载压缩头部文件。其中,终端对压缩音频文件执行解压的算法与对头部文件执行压缩的预设压缩算法相对应。终端在加载完压缩头部文件之后,播放压缩音频文件的数据文件。举例而言,对于播放时间为40分钟、头部文件为200K的原始音频文件,采集大量原始音频文件的样本,解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,然后通过预设压缩算法对头部文件执行压缩,得到压缩头部文件,再通过压缩头部文件和数据文件生成压缩音频文件,并且在无线保真(Wireless-Fidelity,简称为WI-FI)网络下将压缩音频文件发送至终端,终端下载该原始音频文件从耗时1s降低至200ms,在第三代(ThirdGeneration,简称为3G)移动通讯网络下,下载该音频文件从耗时4s降低至1s,从而提高了原始音频文件的下载效率。本发明实施例的终端可以为企鹅FM电台。企鹅FM电台在对压缩音频文件进行首次缓冲时,缓冲的速度大大提升。终端也可以是其它播放音频文件的播放器,比如,酷狗音乐播放器、QQ音乐播放器、多米播放器等,终端也可以为客户端浏览器。作为一种可选的实施例,该实施例的原始音频文件的格式为M4A格式。在MPEG-4标准中,普通的MPEG-4文件扩展名为“.mp4”。苹果公司在数字媒体播放程序iTunes以及便携式多功能数字多媒体播放器iPod中使用“.m4a”,从而区别MPEG-4的视频和音频文件,几乎所有支持MPEG-4音频的软件都可以支持文件扩展名为“.m4a”的音频文件。M4A格式的音频文件的“.m4a”扩展名是MPEG-4音频标准的文件的扩展名,可以利用很窄的带宽,通过数据帧重建、数据压缩,从而以最少的音频数据获得最佳的音频文件,可选地,M4A格式的音频文件通过ACC音频格式进行编码,可以将普通的“.mp4”音频文件修改为“.m4a”的音频文件。作为一种可选的实施例,该实施例的预设压缩算法为GZIP压缩算法。GZIP压缩算法是GNU自由软件的文件压缩程序。可选地,在通过网络传输文件音频文件时,将原始音频文件通过GZIP压缩算法对原始音频文件的头部文件执行压缩,减少了原始音频文件的存储空间,且减少了网络传输音频数据的数据量,提高了音频文件的传输速度,进而提高了终端加载音频文件的速度,提高了音频文件的播放速度。图6是根据本发明实施例的对音频文件执行压缩的示意图。如图6所示,该原始音频文件的文件扩展名为“.mp4”。该原始音频文件的字段的名称分别为“Ftypebox”,“Moovbox”,“Mdatbox”,其中,“Ftypebox”字段和“Moovbox”字段组成原始音频文件的头部文件,“Mdatbox”为原始音频文件的数据文件。原始音频文件包括原始音频文件的头部文件和原始音频文件的数据文件,通过预设算法对原始音频文件的头部文件执行压缩,得到压缩率为25%的压缩音频文件。该压缩音频文件的压缩头部文件的文件标识通过“QIERFM”表示,压缩头部文件的长度通过“LEN” 表示,压缩头部文件通过“Compress(head)”表示,压缩音频文件的数据文件通过“Mdat”表示,与原始音频文件的数据文件相同。该实施例中的数据文件为压缩过的文件,通过获取原始音频文件,解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,再通过预设压缩算法对头部文件执行压缩,得到压缩头部文件,最后通过压缩头部文件和数据文件生成压缩音频文件,该实施例通过预设压缩算法对头部文件执行压缩,有利于降低头部文件的存储空间,通过压缩头部文件和数据文件生成压缩音频文件避免了在播放音频文件时由于音频文件的头部文件过大而导致音频文件的加载时间长的问题,极大地提高了音频文件的加载速度。需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。实施例2根据本发明实施例,还提供了一种用于实施上述音频文件的压缩方法的装置。图7是根据本发明实施例的音频文件的压缩装置的示意图。如图 7所示,该音频文件的压缩装置包括:获取单元20,解析单元30,压缩单元40和生成单元50。其中,获取单元20用于获取原始音频文件。解析单元30用于解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,其中,数据文件为压缩过的文件。压缩单元40用于通过预设压缩算法对头部文件执行压缩,得到压缩头部文件。生成单元50通过压缩头部文件和数据文件生成压缩音频文件。在该实施例的音频文件的压缩装置中,获取单元20可以用于执行本发明实施例中的步骤S32,解析单元30可以用于执行本发明实施例中的步骤S34,压缩单元40可以用于执行本发明实施例中的步骤S36,生成单元50可以用于执行本发明实施例中的步骤S38。通过上述装置,获取单元20,解析单元30,压缩单元40和生成单元50,可以实现通过获取单元20获取原始音频文件,然后通过解析单元30解析原始音频文件进行解析,得到原始音频文件的头部文件和原始音频文件的数据文件,通过压缩单元40对原始音频文件的头部文件通过预设压缩算法执行压缩,从而得到压缩头部文件,减小了原始音频文件的头部文件的大小,并且通过生成单元50将压缩头部文件和数据文件生成压缩音频文件,降低了播放压缩音频文件时音频文件加载的时间,提高了音频文件缓冲的速度,进而解决了由于音频文件的头部文件过大而导致音频文件的加载时间长的技术问题。本申请上述获取单元20可以用于获取原始音频文件,其中,原始音频文件携带的音频数据,通过终端的软件程序对音频数据进行处理,进而播放音频。可选地,获取单元20从数据库中获取终端需要播放的原始音频文件。上述获取单元20获取的原始音频文件可以在数据库中用多个字段来表示,通过容器box存储字段数据。容器box包含了原始音频文件的样本数和每个样本中包含的对原始音频文件的采样点数的大小,通过样本数和 每个样本中采样点数的大小使原始音频文件的音频数据分解出数据帧。原始音频文件的数据中总的样本数与容器box中的样本数一致。可选地,上述获取单元20获取原始音频文件的字段,得到原始音频文件的尺寸、类型、版本、标识、采样大小、采样数量和每个样本的字节数,从而通过上述获取单元20确定需要终端播放的音频文件。在上述获取单元20获取原始音频文件之后,上述解析单元30解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,其中,原始音频文件的数据文件为压缩过的文件。原始音频文件包括原始音频文件的头部文件和原始音频文件的数据文件,上述获取单元20获取原始音频文件,也即,获取包括头部文件和数据文件的音频文件。通过上述获取单元20获取原始音频文件,可以获取到原始音频文件的头部文件的文件标识、原始音频文件的头部文件的长度。可选地,解析单元30解析原始音频文件是通过预分析原始音频文件的头部文件的文件标识和原始音频文件的头部文件的长度以确定原始音频文件的头部文件,再按照原始音频文件的头部文件的字节数将原始音频文件的头部文件和原始音频文件的数据文件分离开,从而得到原始音频文件的头部文件和原始音频文件的数据文件。上述解析单元30解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件的方式仅为本发明的优选实施例,并不代表上述解析单元30仅包括上述解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件的方式。为了提高解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件的效率,本发明实施例还可以包括其他能够解析原始音频文件的方式,此处不再一一举例。在上述解析单元30解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件之后,通过上述压缩单元40对原始音频文件的头部文件执行压缩,去除原始音频文件的冗余数据。计算机处理的信息以二进制数据表示的,压缩单元40通过预设的压缩算法将二进制信息 中相同的字符串以特殊字符进行标记,通过合理的数学计算公式,对原始音频文件的头部文件执行压缩,得到压缩头部文件。可选地,上述压缩单元40对原始音频文件的头部文件执行压缩包括对原始音频文件的头部文件执行有损压缩和无损压缩。上述压缩单元40对原始音频文件的头部文件执行有损压缩,可以忽略对原始音频文件的头部文件影响不大的数据,对原始音频文件的头部文件执行压缩;上述压缩单元40对原始音频文件的头部文件进行无损压缩,压缩数据必须准确无误,从而得到原始音频文件的头部文件的压缩头部文件。通过上述压缩单元40得到的压缩头部文件,减小了原始音频文件的头部文件的大小。在加载音频文件时,降低了音频文件加载的时间,提高了音频文件缓冲的速度。在上述压缩单元40通过预设压缩算法对头部文件执行压缩,得到压缩头部文件之后,上述生成单元50通过原始音频文件的压缩头部文件和原始音频文件的数据文件生成压缩音频文件。可选地,上述生成单元50合并原始音频文件的压缩头部文件和原始音频文件的数据文件,从而生成压缩音频文件。作为一种可选的实施方式,图8是根据本发明实施例的一种可选地音频文件的压缩装置的示意图。该音频文件的压缩装置包括:获取单元20,解析单元30,压缩单元40和生成单元50,其中,压缩单元40包括:第一获取模块41,压缩模块42,第二获取模块43和第一合并模块44。第一获取模块41,用于获取头部文件的字段,其中,头部文件的字段中包括多个相同的字段。原始音频文件的头部文件包括多个字段。在得到原始音频文件的头部文件和原始音频文件的数据文件之后,第一获取模块41获取原始音频文件的头部文件的多个字段。原始音频文件的多个字段中的部分字段是相同的。可选地,原始音频文件的多个字段中的部分字段通过字节表示的头部文件的内容相同。压缩模块42,用于对多个相同的字段执行压缩,得到压缩字段。在第一获取模块41获取头部文件的多个字段之后,压缩模块42提取头部文件中多个字段中相同的字段,将多个字段中相同的字段执行压缩。可选地,压缩模块42对原始音频文件的头部文件中的相同的字段执行有损压缩。压缩模块42也可以对头部文件的个别相同的字段进行无损压缩,从而得到原始音频文件的头部文件的压缩头部文件。第二获取模块43,用于获取头部文件的字段中的未压缩字段。在压缩模块42对原始音频文件中的多个字段中相同的字段执行压缩之后,通过第二获取模块43获取多个字段中的未压缩字段。可选地,通过第二获取模块43获取的未压缩的字段所表示的尺寸,或者类型,或者版本,或者标识,或者采样大小,或者采样数量,或者每个采样的字节数不变。第一合并模块44,用于合并压缩字段和未压缩字段,得到压缩头部文件。在第二获取模块43获取多个字段中的未压缩字段之后,通过合并模块44合并压缩字段和未压缩字段,得到压缩头部文件。该实施例通过第一获取模块41获取原始音频文件的头部文件的字段,头部文件的字段中包括多个相同的字段,通过压缩模块42对多个相同的字段执行压缩,得到压缩字段,然后通过第二获取模块43获取原始音频文件头部文件的字段中的未压缩字段,最后通过第一合并模块44合并压缩字段和未压缩字段,得到压缩头部文件,实现了对头部文件执行压缩的目的。作为一种可选的实施方式,图9是根据本发明实施例的一种可选地音频文件的压缩装置的示意图。该音频文件的压缩装置包括:获取单元20,解析单元30,压缩单元40和生成单元50,其中,压缩单元40包括:第一获取模块41,压缩模块42,第二获取模块43和第一合并模块44,生成 单元50包括:第三获取模块51,第四获取模块52和第二合并模块53。第三获取模51,用于获取压缩头部文件的预设文件标识。第三获取模51获取的压缩头部文件的文件标识表示通过预设压缩算法对原始音频文件的头部文件所执行的压缩过程。在终端接收到音频数据文件时,通过该压缩头部文件的文件标识确定对压缩音频文件执行解压的后台算法,以及开始对压缩头部文件执行解压。第四获取模块52,用于获取压缩头部文件的长度。在通过合并模块44得到压缩头部文件之后,压缩头部文件的长度也就确定。第二合并模块53,用于合并压缩头部文件的预设文件标识,压缩头部文件的长度,压缩头部文件和数据文件,得到压缩音频文件。在第三获取模51压缩头部文件的文件标识,在第四获取模块52获取压缩头部文件的长度之后,第二合并模块53通过合并压缩头部文件的文件标识,压缩头部文件的长度,压缩头部文件和数据文件,得到压缩音频文件。该压缩音频文件降低了音频文件的存储空间,从而通过压缩头部文件和数据文件生成压缩音频文件,达到了降低音频文件的加载时间的效果。作为一种可选的实施例,图10是根据本发明实施例的一种可选地音频文件的压缩装置的示意图。该音频文件的压缩装置包括:获取单元20,解析单元30,压缩单元40和生成单元50,其中,压缩单元40包括:第一获取模块41,压缩模块42,第二获取模块43和第一合并模块44,生成单元50包括:第三获取模块51,第四获取模块52和第二合并模块53,该音频文件的压缩装置还包括:发送单元60。发送单元60,发送压缩音频文件至终端,其中,终端用于根据压缩头部文件的文件标识和压缩头部文件的长度对压缩头部文件执行解压,得到解压头部文件,并加载解压头部文件,根据解压头部文件播放数据文件。可选地,发送单元60发送压缩音频文件至终端,该压缩音频文件是通过压缩头部文件和数据文件生成单元50生成的压缩音频文件,该压缩音频文件包括文件标识、压缩头部文件的长度、压缩头部文件和数据文件,在终端查找到压缩头部文件的文件标识后,确定解压压缩头部文件的后台算法,并且通过压缩头部文件的长度对压缩头部文件执行解压,得到解压头部文件,并加载解压头部文件,终端根据解压头部文件播放数据文件,该终端可以为客户端浏览器。作为一种可选的实施例,该实施例的原始音频文件的格式为M4A格式。作为一种可选的实施例,该实施例的预设压缩算法为GZIP压缩算法。该实施例中的数据文件为压缩过的文件,通过获取原始音频文件,解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,再通过预设压缩算法对头部文件执行压缩,得到压缩头部文件,最后通过压缩头部文件和数据文件生成压缩音频文件,该实施例通过预设压缩算法对头部文件执行压缩,有利于降低头部文件的存储空间,通过压缩头部文件和数据文件生成压缩音频文件避免了在播放音频文件时由于音频文件的头部文件过大而导致音频文件的加载时间长的问题,极大地提高了音频文件的加载速度。该实施例中的数据文件为压缩过的文件,通过获取单元20获取原始音频文件,通过解析单元30解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,再通过压缩单元40通过预设压缩算法对头部文件执行压缩,得到压缩头部文件,最后通过生产单元50压缩头部文件和数据文件生成压缩音频文件,该实施例通过预设压缩算法对头部文件执行压缩,有利于降低头部文件的存储空间,通过压缩头部文件和数据文件生成压缩音频文件避免了在播放音频文件时由于音频文件的头部文件过大而导致音频文件的加载时间长的问题,极大地提高了音频文件的加载速度。实施例3本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一种音频文件的压缩方法所执行的程序代码。可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:第一步,获取原始音频文件。第二步,解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,其中,数据文件为压缩过的文件;第三步,通过预设压缩算法对头部文件执行压缩,得到压缩头部文件;第四步,通过压缩头部文件和数据文件生成压缩音频文件。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取头部文件的字段,其中,头部文件的字段中包括多个相同的字段;对多个相同的字段执行压缩,得到压缩字段;获取头部文件的字段中的未压缩字段;合并压缩字段和未压缩字段,得到压缩头部文件。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取压缩头部文件的预设文件标识;获取压缩头部文件的长度;合并压缩头部文件的预设文件标识,压缩头部文件的长度,压缩头部文件和数据文件,得到压缩音频文件。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:发送压缩音频文件至终端,其中,终端用于根据压缩头部文件的文件标识和压缩头部文件的长度对压缩头部文件执行解压,得到解压头部文件,并加载解压头部文件,根据解压头部文件播放数据文件。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。实施例4本发明的实施例还提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。可选地,图11是根据本发明实施例的一种计算机终端的结构框图。如图11所示,该计算机终端10可以包括:一个或多个(图中仅示出一个)处理器102,存储器104和传输装置106。其中,存储器104可用于存储软件程序以及模块,如本发明实施例中的音频文件的压缩方法和装置对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述音频文件的压缩方法。存储器104可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。上述的传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置106包括一个网络适配器NIC,其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置106为射频RF 模块,其用于通过无线方式与互联网进行通讯。其中,具体地,存储器104用于存储预设动作条件和预设权限用户的信息、以及应用程序。处理器102可以通过传输装置106调用存储器104存储的信息及应用程序,以执行下述步骤:第一步,获取原始音频文件。第二步,解析原始音频文件,得到原始音频文件的头部文件和原始音频文件的数据文件,其中,数据文件为压缩过的文件。第三步,通过预设压缩算法对头部文件执行压缩,得到压缩头部文件。第四步,通过压缩头部文件和数据文件生成压缩音频文件。可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外 的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1