无损音频播放器的制作方法

文档序号:6769624阅读:334来源:国知局
专利名称:无损音频播放器的制作方法
技术领域
本发明涉及音频播放领域,尤其涉及一种音频播放方法以及音频播放器。
背景技术
音乐人们生活中一项重要的听觉享受。目前播放机主要通过以下顺接连接的解码 器、数字音频输出接口、立体声DAC构成,在音频文件相同的基础上,音频播放决定于解码 器、数字音频输出接口的硬件性能。目前的解码器、数字音频输出接口一般仅支持播放采样 频率为48千赫兹,采样位宽为16位的音频文件,比较高端的解码器、数字音频输出接口可 以支持播放采样频率为96千赫兹,采样位宽为16位的音频文件。现有播放器播放的音频 采样率低、数据比特位数较低,导致播放的音频损失较大、音频失真度较高,不能满足对追 求高音乐品质的人群的需求。在现有技术中,音频播放器的音频播放质量受到硬件成本的制约较大,单纯通过 硬件性能提高而播放更高采样、更高数据位的音频,会导致企业的生产成本过大,不适合实 际推广实施。
发明内容本发明第一目的在于提供一种音频播放器,利用该播放器可以在较低硬件成本 的基础上,播放更高采样率、更高数据位的音频。本实施例提供的一种音频播放器,包括解码模块,用于解码无损压缩音频文件,获得解码数据。缓存队列,与所述解码模块连接,所述缓存队列的每地址的空间为W/2位,其中W 为本播放器支持的音频文件每个采样点数据的最高宽度;处理器,分别与所述解码模块、缓存队列连接,用于对各个宽为W位的解码数据, 从解码数据的高位到低位将各W/2位数据依次存入所述缓存队列;读取模块,与所述缓存队列连接,用于读取所述缓冲队列中的解码数据;移位寄存器,与所述读取模块、分频器连接,用于根据所述位时钟的触发脉冲从高 位到低位依次移出各位数据,向音频模数转换器输出音频数据序列,直到读取数据完毕,所 述移位寄存器的每地址空间为W/2位;基准时钟源生成模块,用于根据设定的频率生成基准时钟源;时钟源频率设定模块,与基准时钟源生成模块连接,用于将所述基准时钟源的频 率由设定值修改为W*2*n*F赫兹,其中,F为本播放器支持的音频文件的最高采样频率,所 述η为自然数;分频器,与所述基准时钟源生成模块连接,用于对所述基准时钟源分频,分别输 出频率为F赫兹的目的声道时钟、频率为W*2F赫兹的位时钟;所述音频模数转换器,用于根据所述目的声道时钟,播放所述音频数据。可选地,所述分频器包括[0016]第一分频模块,与所述基准时钟源生成模块连接,用于对所述基准时钟源分频,分 别输出频率为2F赫兹的第一声道时钟、频率为W*2F赫兹的位时钟;第二分频模块,与所述第一分频模块、音频模数转换器连接,用于对所述第一道时 钟分频,输出频率为F赫兹的目的声道时钟。可选地,所述音频文件的采样频率为192千赫兹,每采样点数据的宽度为32位;所述缓存队列的每地址的空间为16位,所述处理器,具体用于对所述位宽为32位的解码数据,将所述解码数据中的高16 位数据存入所述解码器的缓存队列,然后将所述解码数据的低16位数据存入所述缓冲队 列。可选地,还包括:USB接口,用于外接USB存储设备。可选地,还包括SD接口,用于外接SD卡。由上可见,应用本发明实施例的技术方案,通过对在解码器解码后,将解码数据的 高位、低位分拆存储,从而保证在支持位数较低的硬件上无损存储音频解码数据,有利于保 证音频输出的完整输出;另外,本发明通过修改基准时钟源的频率,使得该基准时钟源可以 分频得到频率为F的目的声道时钟,频率为W*2F的位时钟,这样,根据位时钟的脉冲向音频 数模转换器输出解码数据的每位数据,形成解码数据序列。在音频数模转换器端可以根据 频率为F的目的声道时钟播放数据,保证每个目的声道时钟的左声道、右声道分别对应32 位数据,可以实现利用性能较低的硬件实现频率在硬件默认频率之上、数据宽度为硬件支 持宽度2倍的音频文件的数据音频文件播放。比如可以利用支持96千赫兹、16位的硬件而实现对采样频率为F= 192千赫兹赫 兹,每个采样点数据的宽度W = 32位的音频文件的无损播放。可见,利用本实施例方法可 以在较低硬件成本的基础上,播放更高采样率、更高数据位的音频。而提高音频数字接口输出的声道时钟、位时钟频率,而为了使得输入到音频模数 转换器中输入的声道时钟的左声道、右声道时钟分别与输入的音频文件的左声道数据、右 声道数据相对应,以使在播放端无损播放无损压缩音频文件,在音频数字接口输出声道时 钟(第一声道时钟)、位时钟后,再对其输出的第一声道时钟进行分频,分频出频率与音频 文件的采样频率一致的目的声道时钟,此时输入到音频数模转换器目的声道时钟频率为F, 位时钟频率为W*2F,可见,

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不 构成对本发明的不当限定,在附图中图1为本发明实施例1提供的一种音频播放的方法流程示意图;图2为本发明实施例1中提供的音频模数转换器接收到的目的声道时钟、位时钟、 数据序列的对应示意图;图3为本发明实施例3提供的另一种音频播放的方法流程示意图;图4为本发明实施例3提供的一种音频播放器的结构示意图;图5为本发明实施例4提供的一种音频播放器的结构示意图。
具体实施方式
下面将结合附图以及具体实施例来详细说明本发明,在此本发明的示意性实施例 以及说明用来解释本发明,但并不作为对本发明的限定。实施例1 图1为本实施例提供的一种音频播放方法流程示意图。参见图1所示,该方法主 要包括以下步骤步骤101 获取无损压缩音频文件。音频压缩领域,有两种压缩方式,分别是有损压缩和无损压缩。我们常见到的MP3、 WMA.0GG被为有损压缩,有损压缩顾名思义就是降低音频采样频率与比特率,输出的音频文 件会比原文件小。无损压缩,也就是毫无损失地将声音信号进行压缩的音频格式。无损压 缩能够在100%保存原文件的所有数据的前提下,将音频文件的体积压缩的更小,而将压缩 后的音频文件还原后,能够实现与源文件相同的大小、相同的码率。该音频文件既可以预存在播放器中,也可以通过USB接口或者SD卡接口存储在外 接的U盘或者SD卡等外接存储设备中。该无损压缩音频文件为高采样率、更高数据位的音频文件,设该无损压缩的音频 文件的采样频率为F赫兹,每个采样点数据的宽度为W位。步骤102 对无损压缩音频文件进行解码,获得解码数据。此处所使用的解码可以根据音频文件的格式进行,可以采用现有技术中的各种解 码方法进行,经解压缩编码后得到与源音频文件相同的大小、相同的码率的解码数据。比如对于采样频率为F = 192千赫兹赫兹,每个采样点数据的宽度W = 32位的音 频文件,得到的解码数据的格式如下表一所示表一 32位的音频文件解码后的数据格式示意
32位左声道数据32位右声道数据32位左声道数据32位左声道数据其中一个32位数据如下(32位左声道数据、或者32位右声道据)b31b29b28b27......b19b18b17b16......b4b3b2b1b0 (下用 X 代替)步骤103 缓存音频解码数据。由于音频文件的每个采样点数据的宽度为W位,而解码器仅支持W/2位(其中的 缓存的每地址的空间大小也是仅仅W/2位)的音频编码,而如果按照现有技术的直接缓存, 则会导致音频编码的高W/2位数据的损失,导致播放失真。为了保证音频解码数据的无损失,在本步骤的缓存过程中作以下的处理对于每个宽为W位的解码数据将该解码数据拆成高W/2位、低W/2位,分别将高 W/2位、低W/2存入解码器的缓存队列,以使在仅支持W/2位的解码其中对W位的音频解码 数据进行完无损缓存。比如设音频解码数据如表一所示为32位解码数据1、对左声道解码数据X = AB进行与运算,获取低16位解码数据,记为数据A,即A = X&0x0000FFFF,得到数据X 的低 16 位 A = b16......b4b3b2b1b0O[0055]2、对左声道解码数据X右移16位,获取高16位解码数据,记为数据B,即B = X >> 16,得到左声道数解码数据X的高16位B = b31b29b28b27......b19b18b17。然后,将左声道数解码数据X的高16位、低16位的数据A、B分别放入解码器的缓 存队列,以此类推,将数据全部存入解码器的缓存队列。解码器缓存队列的数据存储结构具体如下表二所示表二 解码器缓存队列的数据存储结构
—16位左(A) —16位右(B) —16位左(C) 16位右(D)其中C、D分别为右声道数解码数据的高16位、低16位的数据。步骤104:将音频数据接口内基准时钟源的频率值由默认值修改为W*2F赫兹的倍 数。在现有的音频数据接口中设置有一预设了时钟频率的基准时钟源。在本实施例中使用支持时钟频率较低的音频数据接口播放高品质的音频,实现无 损音频输出,将预设的基准时钟源的频率由默认值修改为W*2F赫兹的倍数(即W*2*n*F赫 兹,η为自然数),其中F为无损压缩音频文件的采样频率。比如,如该音频数据接口中的默认的基准时钟源的频率为96kHZ,而输入的无损压 缩音频文件的采样频率为192kHZ,则可以但不限于将该音频数据接口中的基准时钟源的默 认频率修改为 192*2*32 = 12288kHZ、或者 12288kHZkHZ 的倍数,比如=49. 152MHZ。步骤105 对基准时钟源分频,分别输出频率为F赫兹的目的声道时钟、频率为 W*2F赫兹的位时钟。对基准时钟源进行分频,分别得到并且输出第一声道时钟(频率为2F赫兹)、位时 钟(频率为W*2F赫兹)。对于步骤104、105的实施具体举例如下设音频文件的采样频率为F = 192千赫兹赫兹、每个采样点数据的宽度为W位,数 字音频接口默认的频率为96千赫兹,则执行步骤105将基准时钟源的频率由96千赫兹修 改为4*96千赫兹,即384千赫兹。然后,执行步骤106对该频率为12288kHZ的基准时钟源进行分频,得到并输出频 率为192千赫兹目的声道时钟、以及频率为32*384千赫兹(即12. 288兆赫兹)的位时钟。由于目的声道时钟、位时钟共同来源于一相同的基准时钟源,则输出的目的声道 时钟、位时钟时刻保持同步。步骤106 音频数据接口从解码器的缓存队列读取解码数据,将读取的解码数据 存入移位寄存器,移位寄存器按照位时钟的触发脉冲,从高位到低位依次移出移位,向音频 模数转换器输出各位数据,直到解码数据读取完毕。音频数据接口按照先进先处理的方式读取解码器的缓存队列中的解码数据,每读取单元的W/2位的数据,则将其存入移位寄存器,由移位寄存器按照位时钟的触发脉冲,从 高位到低位依次移出各位数据,形成输出到音频模数转换器的音频数据序列,直到解码数 据读取完毕。其中,该移位寄存器可以在位时钟的每个上升沿到来时移出一位数据,实现 按照位时钟输出,也可以在位时钟的每个下降沿到来时移出一位数据,实现按照位时钟输
出ο移位寄存器的每位数据的移位具体可以但不限于如下音频数据接口按照缓冲队列先进先出的原则,读取解码器缓存队列的数 据,假设解码器缓存队列的数据存储结构如表二所示,则移位寄存器对于数据B:
b31b29b28b27......b19b18b17,从b31开始移出,直到b17 ;接着,音频数据接口读取缓冲队列中的
下一对数据A b16......b4b3b2b1b0,移位寄存器对该数据从b16开始移出,直到Iv这样,得
至IJ数据序列:b31b29b28b27......b19b18b17b16......b4b3b2b1b0O音频数据接口继续读取解码器
的缓冲队列中的下一地址数据,继续利用移位寄存器对读取的数据进行移位,将数据一位 一位的移出。步骤107 音频模数转换器根据目的声道时钟,播放音频数据。此时,音频模数转换器接收到的目的声道时钟、位时钟、数据序列信号如图2所 示,其中目的声道时钟的信号的频率为F,位时钟的频率为32*2F,每位时钟的下降边缘均 对应一位音频数据。由上可见,应用本发明实施例的技术方案,通过对在解码器解码后,将解码数据的 高位、低位分拆存储,从而保证在支持位数较低的硬件上无损存储音频解码数据,有利于保 证音频输出的完整输出;另外,本发明通过修改基准时钟源的频率,使得该基准时钟源可以 分频得到频率为F的目的声道时钟,频率为W*2F的位时钟,这样,根据位时钟的脉冲向音频 数模转换器输出解码数据的每位数据,形成解码数据序列。在音频数模转换器端可以根据 频率为F的目的声道时钟播放数据,保证每个目的声道时钟的左声道、右声道分别对应32 位数据,可以实现利用性能较低的硬件实现频率在硬件默认频率之上、数据宽度为硬件支 持宽度2倍的音频文件的数据音频文件播放。比如可以利用支持96千赫兹、16位的硬件而实现对采样频率为F = 192千赫兹 赫兹,每个采样点数据的宽度W = 32位的音频文件的无损播放。可见,利用本实施例方法 可以在较低硬件成本的基础上,播放更高采样率、更高数据位的音频。实施例2:图3为本发明实施例提供的另一种音频播放的方法流程示意图,其相对于实施例 1所不同之处仅在于实施例中的步骤105可以通过以下子步骤实现一般地,基准源时钟在音频数据接口中预设而成,其分频规则被预设固定,为了解 决其问题,可以采用本实施例的二次分频获得目的声道时钟。子步骤1051 对基准时钟源分频,分别输出频率值为F的倍数的第一声道时钟、 频率为W*2F赫兹的位时钟。比如可以先分频获取、并且输出频率值为2F的第一声道时钟、频率为W*2F赫兹的 位时钟。子步骤1052 对第一声道时钟分频,向音频数模转换模块输出目的频率为F的目
7的声道时钟。在数字输出接口与音频模数转换器之间设置以分频器,该分频器对第一声道时钟 继续进行分频,生成并输出目的声道时钟,使得目的声道时钟的频率为F赫兹。由于第一声道时钟、位时钟均来源于同一基准时钟源而同步,而目的声道时钟来 源于第一声道时钟,故目的声道时钟、位时钟同步。需要说明的是,在一次分频无法得到频率为W*2F的位时钟时,同样可以利用本实 施例的思路进行多次分频获得频率为W*2F的位时钟。在此不作赘述。实施例3:图4为本实施例提供的一种音频播放器的结构示意图,参见图4所示,本实施例提 供的音频播放器主要包括以下部件解码模块4011、缓存队列4012、处理器402、读取模块 4032、分频器404、移位寄存器4032、基准时钟源生成模块4033、时钟源频率设定模块406、 音频模数转换器405。其中各部分的结构、以及连接关系如下解码模块4011用于解码无损压缩音频文件(设其采样频率为F赫兹,每个采样点 数据的宽度为W位),获得音频解码数据。缓存队列4012与解码模块4011连接用于在处理 器402的控制下存储解码数据,该缓存队列4012的每地址的空间为W/2位。本发明就缓存 队列的每地址空间仅为W/2的情况进行分析。其中,该解码模块4011、缓存队列4012可以 继承在一解码器401中。处理器402分别与解码模块4011、缓存队列4012连接,在解码获得解码数据后,对 解码数据中的各数据单元(各个宽为W位的解码数据),从解码数据的高位到低位将各W/2 位数据依次存入所述缓存队列4012,该处理器402对音频数据的控制可以参见实施例1中 步骤103中的描述。读取模块4031与缓冲队列4012连接,用于读取缓冲队列4012中的解码数据。移位寄存器4032分别与读取模块4031、分频器404连接的,对于读取模块4031每 次读取的数据,移位寄存器4032根据分频器404输出的位时钟的触发脉冲分别从高位到低 位依次移出各位数据向音频模数转换器405输出音频数据序列,直到读取完毕,从而形成 输出输出至音频模数转换器405的音频数据序列。本实施例就移位寄存器4032的每地址 空间为W/2位为例进行说明。读取模块4031、移位寄存器4032的工作原理详细可以参见实施例1中步骤106中 的描述。基准时钟源生成模块4033,用于根据预定的频率生成基准时钟源。在本实施例中为了使得该默认频率较低的数据接口能够支持较高采样频率的音 频文件的播放,在本播放器中还设定一个时钟源频率设定模块406与频率生成基准时钟源 生成模块4033连接,用于修改将预设的基准时钟源的频率修改为W*2*n*F赫兹,其中F为 本播放器支持的音频文件的最高采样频率。具体原理可以参见实施例步骤104的描述基准时钟源生成模块4033与分频器404连接,用于对生成的基准时钟源进行分 频,成目的声道时钟、位时钟。分别得到频率为F赫兹的目的声道时钟、频率为W*2F赫兹 的位时钟,F为本播放器支持的音频文件的最高采样频率,W为本播放器最高支持的音频文 件每个采样点数据的宽度。具体原理可以参见实施例步骤105的描述。一般的,读取模块4031、基准时钟源生成模块4033、分频器404、移位寄存器4032可以但不限于集成设置在一音频数据接口 403中。音频模数转换器405,用于根据目的声道时钟,播放所述音频数据。具体原理可以 参见实施例步骤107中的描述。此时,音频模数转换器405接收到的信号如图2所示,其中目的声道时钟的信号的 频率为F,位时钟的频率为32*2F,每位时钟的上升边缘均对应一位音频数据。由上可见,应用本发明实施例的技术方案,通过对在解码器解码后,将解码数据的 高位、低位分拆存储,从而保证在支持位数较低的硬件上无损存储音频解码数据,有利于保 证音频输出的完整输出;另外,本发明通过修改基准时钟源的频率,使得该基准时钟源可以 分频得到频率为F的目的声道时钟,频率为W*2F的位时钟,这样,根据位时钟的脉冲向音频 数模转换器输出解码数据的每位数据,形成解码数据序列。在音频数模转换器端可以根据 频率为F的目的声道时钟播放数据,保证每个目的声道时钟的左声道、右声道分别对应32 位数据,可以实现利用性能较低的硬件实现频率在硬件默认频率之上、数据宽度为硬件支 持宽度2倍的音频文件的数据音频文件播放。比如可以利用支持96千赫兹、16位的硬件而实现对采样频率为F= 192千赫兹赫 兹,每个采样点数据的宽度W = 32位的音频文件的无损播放。可见,利用本实施例方法可 以在较低硬件成本的基础上,播放更高采样率、更高数据位的音频。另外,为了使得本音频播放器使用更加方便,还可以在该音频播放器上设置USB 接口、和/或SD卡接口等扩展接口。这样用户可以用过这些扩展接口介入USB或者SD等 存储设备,从而对存储设备上的无损压缩音频文件进行播放,得到高品质的无损音频输出。实施例4:一般地,基准源时钟源生成单元4033在音频数据接口 503中预设而成,在音频数 据接口 503也预设有一分频模块(在本实施例中记为第一分频模块4034)该第一分频模块 的分频规则被预设固定,为了解决其问题,可以采用本实施例的二次分频获得目的声道时 钟。具体可以参见图5所示,本实施例相对于实施例3所不同之处在于实施例3中的分频器404可以采用设置在音频数据接口 503中的第一分频模块 502、以及设置在第一分频器与音频模数转换器405之间的第二分频模块501连接,第一分频模块502,与基准时钟源生成模块4033连接,用于对基准时钟源分频分 别输出频率为2F赫兹的第一声道时钟、频率为W*2F赫兹的位时钟。第二分频模块501,与第一分频模块502、音频模数转换器405连接,用于对第一道 时钟分频,输出频率为F赫兹的目的声道时钟。由于第一声道时钟、位时钟均来源于同一基准时钟源而再步,而目的声道时钟来 源于第一声道时钟,故目的声道时钟、位时钟同步。需要说明的是,在一次分频无法得到频率为W*2F的位时钟时,同样可以利用本 实施例的思路进行多次分频获得频率为W*2F的位时钟。在此不作赘述。详细原理可以参见实施例2中的原理描述。以上对本发明实施例所提供的技术方案进行了详细介绍,本文中应用了具体个例 对本发明实施例的原理以及实施方式进行了阐述,以上实施例的说明只适用于帮助理解本 发明实施例的原理;同时,对于本领域的一般技术人员,依据本发明实施例,在具体实施方 式以及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求一种音频播放器,其特征是,包括解码模块,用于解码无损压缩音频文件,获得解码数据。缓存队列,与所述解码模块连接,所述缓存队列的每地址的空间为W/2位,其中W为本播放器支持的音频文件每个采样点数据的最高宽度;处理器,分别与所述解码模块、缓存队列连接,用于对各个宽为W位的解码数据,从解码数据的高位到低位将各W/2位数据依次存入所述缓存队列;读取模块,与所述缓存队列连接,用于读取所述缓冲队列中的解码数据;移位寄存器,与所述读取模块、分频器连接,用于根据所述位时钟的触发脉冲从高位到低位依次移出各位数据,向音频模数转换器输出音频数据序列,直到读取数据完毕,所述移位寄存器的每地址空间为W/2位;基准时钟源生成模块,用于根据设定的频率生成基准时钟源;时钟源频率设定模块,与基准时钟源生成模块连接,用于将所述基准时钟源的频率由设定值修改为W*2*n*F赫兹,其中,F为本播放器支持的音频文件的最高采样频率,所述n为自然数;分频器,与所述基准时钟源生成模块连接,用于对所述基准时钟源分频,分别输出频率为F赫兹的目的声道时钟、频率为W*2F赫兹的位时钟;所述音频模数转换器,用于根据所述目的声道时钟,播放所述音频数据。
2.根据权利要求1所述的一种音频播放器,其特征是, 所述分频器包括第一分频模块,与所述基准时钟源生成模块连接,用于对所述基准时钟源分频,分别输 出频率为2F赫兹的第一声道时钟、频率为W*2F赫兹的位时钟;第二分频模块,与所述第一分频模块、音频模数转换器连接,用于对所述第一道时钟分 频,输出频率为F赫兹的目的声道时钟。
3.根据权利要求1或2所述的一种音频播放器,其特征是,所述音频文件的采样频率为192千赫兹,每采样点数据的宽度为32位; 所述缓存队列的每地址的空间为16位,所述处理器,具体用于对所述位宽为32位的解码数据,将所述解码数据中的高16位数 据存入所述解码器的缓存队列,然后将所述解码数据的低16位数据存入所述缓冲队列。
4.根据权利要求1或2所述的一种音频播放器,其特征是, 还包括USB接口,用于外接USB存储设备。
5.根据权利要求1或2所述的一种音频播放器,其特征是, 还包括SD接口,用于外接SD卡。
专利摘要本实用新型涉及音频播放领域,公开了一种无损音频播放器。方法包括获取无损压缩音频文件;解码无损压缩音频文件获得解码数据;对各个宽为W位的解码数据,依次从解码数据的高位到低位将各W/2数据存入解码器的缓存队列;从解码器的缓存队列读取解码数据,移位寄存器按照位时钟从高位到低位依次移出各位数据向音频模数转换器405输出音频数据序列,直到读取完毕,形成音频数据序列,将音频数据接口内基准时钟源的频率由默认修改为W*2*n*F赫兹,对基准时钟源分频输出频率为F、W*2F赫兹的目的声道、位时钟时钟,根据目的声道时钟,播放音频数据序列。利用其可在低硬件成本的基础上,播放高采样率数据位的音频。
文档编号G11C7/16GK201707924SQ20102016174
公开日2011年1月12日 申请日期2010年4月12日 优先权日2010年4月12日
发明者赖庆华 申请人:佛山市智邦电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1