CN105139859A - 音频数据的解码方法和装置以及应用其的片上系统 - Google Patents
音频数据的解码方法和装置以及应用其的片上系统 Download PDFInfo
- Publication number
- CN105139859A CN105139859A CN201510508862.XA CN201510508862A CN105139859A CN 105139859 A CN105139859 A CN 105139859A CN 201510508862 A CN201510508862 A CN 201510508862A CN 105139859 A CN105139859 A CN 105139859A
- Authority
- CN
- China
- Prior art keywords
- data
- decoding
- section
- wma
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
本发明提供一种音频数据的解码方法,通过将第一数据格式转换成第二数据格式的音频数据,在不修改硬解码器的条件下,控制硬解码器对具有第一数据格式的音频数据的解码,更具体地,通过WMA单负载(WMA?Single?Payload)的硬解码器实现WMA多负载(WMA?Multiple?Payload)的音频数据的解码。本发明同时提供应用上述解码方法的解码装置和片上系统。本发明提供的方法适用于解决SOC电路在解码格式上存在的兼容性问题,通过将WMA多负载(WMA?Multiple?Payload)格式转换成SOC电路能够支持的WMA单负载(WMA?Single?Payload)格式,提高了SOC电路的适应性,节约了产品研发成本。
Description
技术领域
本发明涉及计算机领域,具体涉及一种音频数据的解码方法和装置以及应用其的片上系统。
背景技术
在SOC(SystemonChip,芯片级系统)电路中,解码器可以有软解码和硬解码两种,硬解码也就是使用硬件来解码,当集成电路设计完成之后,解码能力也就确定了,无法修改,所以硬解码器一般都会存在某些格式的兼容问题,比如存在硬解码器无法播放WMA多负载(WMAMultiplePayload)音频文件的问题,但能够播放WMA单负载(WMASinglePayload)歌曲,当遇到这样的问题时,软件上传统的做法是跳过不能播放的歌曲,不去解码,这样就会降低解码能力。
如果能够在不修改硬解码器的情况下,也有办法播放WMA多负载音频文件,就能够提高SOC的解码能力,也可以不用修改硬解码核,节省成本,降低损失。
发明内容
有鉴于此,本发明提供一种音频数据的解码方法和装置以及应用其的片上系统,在音频数据经过硬解码器之前增加格式转换单元,以解决上述问题。
在本发明的一方面,本发明提供一种音频数据的解码方法,包括:获取第一音频数据;判断所述第一音频数据是否具有第一数据格式;将有第一数据格式的第一音频数据转换为第二音频数据,所述第二音频数据具有第二数据格式;控制硬解码器解码所述第二音频数据。
优选地,还包括:在所述第一音频数据具有第二数据格式时,控制硬解码器解码具有所述第二数据格式的所述第一音频数据。
优选地,所述第一数据格式为WMA多负载WMAMultiplePayload格式,所述第二数据格式为WMA单负载WMASinglePayload格式。
优选地,根据所述第一音频数据的数据包的信息解析段的第一字段判断所述第一音频数据是否是WMA多负载WMAMultiplePayload格式。
优选地,所述将所述具有第一数据格式的第一音频数据转换为第二音频数据包括:根据WMA多负载WMAMultiplePayload格式解析所述第一音频数据,提取文件头和数据包的误差校正数据段,信息解析段,有效数据段和补位段;从有效数据段中提取第一个到第n个子包包头和子包数据,其中n为大于等于1的整数;修改所述文件头、信息解析段和每个子包包头,并将修改后的文件头、误差校正数据段、修改后的信息解析段、补位段以及修改后的n个子包包头和子包数据组织起来生成具有n个包数据的第二音频数据。
优选地,所述解码方法应用于音频解码片上系统(SOC),所述音频解码片上系统包括微控制器、所述硬解码器和解码器缓存;所述控制解码器解码所述第二音频数据包括:所述微控制器获取所述第二音频数据并保存在所述解码器缓存中,所述硬解码器从所述解码器缓存中获取所述第二音频数据进行解码。
优选地,所述将所述具有第一数据格式的第一音频数据转换为第二音频数据包括:根据WMA多负载WMAMultiplePayload格式解析所述第一音频数据,提取文件头、误差校正数据段、信息解析段、有效数据段、补位段以及一个子包包头;将所述第一音频数据在解码器缓存的存储位置作为解码器缓存的第二位置,获取第一个以及n个子包数据在第二位置的起始地址和长度;将误差校正数据段、修改后的信息解析段、修改后的子包包头顺序存储到所述解码器缓存的第一位置,以及将补位段存储到解码器缓存的第三位置。
优选地,所述解码方法应用于音频解码片上系统(SOC),所述音频解码片上系统包括微控制器和所述硬解码器;所述控制硬解码器解码所述第二音频数据包括:先控制硬解码器解码第一位置的公共数据,再控制硬解码器解码第二位置的第n个子包数据,最后解码第三位置的补位段,其中n是大于等于1的整数;按上述步骤顺序解码第二位置的每个子包数据。
在本发明的另一方面,本发明提供一种音频解码装置,包括:获取单元,用于获取第一音频数据;判断单元,用于判断所述第一音频数据是否具有第一数据格式;格式转换单元,用于将所述具有第一数据格式的第一音频数据转换为第二音频数据,所述第二音频数据具有第二数据格式;解码单元,用于控制硬解码器解码所述第二音频数据。
优选地,所述解码单元还用于解码具有所述第二数据格式的第一音频数据。
优选地,所述第一数据格式为WMA多负载WMAMultiplePayload,所述第二数据格式为WMA单负载WMASinglePayload。
优选地,根据所述第一音频数据的数据包的信息解析段的第一字段判断所述第一音频数据是否是WMA多负载WMAMultiplePayload格式。
优选地,所述格式转换单元包括:解析模块,用于根据WMA多负载WMAMultiplePayload格式解析所述第一音频数据,提取文件头和数据包的误差校正数据段,信息解析段,有效数据段和补位段,从有效数据段中提取第一个到第n个子包包头和子包数据,其中n为大于等于1的整数,根据WMA单负载WMASinglePayload格式修改所述文件头、信息解析段和每个子包包头;创建模块,用于将修改后的文件头、误差校正数据段、修改后的信息解析段、补位段以及修改后的n个子包包头和子包数据组织起来生成具有n个包数据的第二音频数据。
优选地,所述解码单元应用于音频解码片上系统(SOC),所述音频解码片上系统包括微控制器、所述硬解码器和解码器缓存;所述解码单元用于控制所述微控制器获取所述第二音频数据并保存在所述解码器缓存中,并控制所述硬解码器从所述解码器缓存中获取所述第二音频数据进行解码。
优选地,所述格式转换单元包括:提取模块,用于根据WMA多负载WMAMultiplePayload格式解析所述第一音频数据,提取文件头、误差校正数据段,信息解析段,有效数据段和补位段以及一个子包包头;寻址模块,用于将所述第一音频数据在解码器缓存的存储位置作为解码器缓存的第二位置,获取第一个以及n个子包数据在第二位置的起始地址和长度;存储模块,用于将误差校正数据段、修改后的信息解析段、修改后的子包包头顺序存储到所述解码器缓存的第一位置,以及将补位段存储到解码器缓存的第三位置。
优选地,所述解码单元控制所述硬解码器先解码第一位置的公共数据,再控制硬解码器解码第二位置的第n个子包数据,最后解码第三位置的补位段,其中n是大于等于1的整数;以及按上述步骤顺序解码第二位置的每个子包数据。
第三方面,本发明还提供一种片上系统,包括微处理器、硬解码器和解码缓存,所述微处理器被配置为适于执行如上所述的方法。
本发明提供一种音频数据的解码方法,通过将第一音频数据转换成第二音频数据,在不修改硬解码器的条件下,实现硬解码器对具有第一数据格式的音频数据的解码,更具体地,通过WMA单负载的硬解码器实现WMA多负载的音频数据的解码。本发明同时提供应用上述解码方法的音频解码装置。本发明提供的方法适用于解决SOC电路在解码格式上存在的兼容性问题,通过将WMA多负载格式转换成SOC电路能够支持的WMA单负载格式,提高了SOC电路的适应性,节约了产品研发成本。
附图说明
通过参照以下附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例的音频数据的解码方法的流程图;
图2a-2b是WMA多负载格式转成WMA单负载格式的两个实施例的流程图;
图3a-3d是WMA多负载格式转成WMA单负载格式各个步骤的数据结构图;
图4是本发明实施例的解码装置的结构图;
图5是硬解码器解码音频数据的一个实施方式的示意图;
图6是用于计算缓存区起始地址和长度的一个示例。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
本文中提到的SOC系统,又名芯片级系统,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。系统级芯片的构成可以是系统级芯片控制逻辑模块、微处理器/微控制器内核模块、数字信号处理器DSP模块、嵌入的存储器模块、和外部进行通讯的接口模块、含有ADC/DAC的模拟前端模块、电源提供和功耗管理模块。音频解码片上系统即是一种用于音频解码的片上系统,在本文中为了描述方便,只提及音频解码片上系统的微处理器/微控制器、硬解码器、解码器缓存部件,不涉及其他部件。
图1是本发明实施例的音频数据的解码方法的流程图。所述解码方法包括:
步骤110、获取音频数据。
其中,数据源的音频数据可以是音频数据文件或音频数据缓存。音频数据文件是指按照指定的音频编码规则将音频信息编码生成的二进制文件。常用的音频数据文件有WAV(WindowsWave,波形音频格式)、MP3/MP4(MovingPictureExpertsGroupAudioLayerIII/IV,动态影像专家压缩标准音频层面3/4)、CD格式音频文件。音频数据缓存指被读取到内存中的数据段,其格式和音频数据文件一致。在本步骤中,将音频数据文件或音频数据缓存读取到解码器缓存里,用于硬解码器解码。
步骤120、判断音频数据是否具有第一数据格式。如前所述,音频数据是按照指定的编码规则生成的二进制文件。可以通过预编码在音频数据段里一些标识符号来判断该音频数据的格式。以WMA数据为例子。WMA数据包括WMA单负载和WMA多负载两种格式,两种格式的WMA数据都包括文件头和数据包两部分,通过数据包的信息解析段的第一字段判别所述第一音频数据是WMA多负载格式或WMA单负载格式。
步骤130、将第一数据格式的音频数据的格式转换成第二数据格式。
图2a-2b分别给出了将WMA多负载格式的音频数据转换成WMA单负载格式的音频数据的两个实施例。如图2a所示,在一个实施方式中,步骤130可以包括以下步骤1301到步骤1303。
在步骤1301中,解析音频数据,提取文件头和数据包的误差校正数据段,信息解析段,有效数据段和补位段。
如图3a所示,图3a是原始的WMA多负载格式的音频数据文件,包括文件头和数据包。由于WMA多负载格式的音频数据和WMA单负载音频数据的文件头结构相同,在转换过程中,不需要对文件头的结构进行转换,但需要修改文件头结构中的包长度的数值,由原来的WMA多负载的包长度修改为WMA单负载的包长度。文件头位于整个文件的头部位置,因此只有一个文件头,只解析一次,不是每个数据包前面都要解析文件头。如图3b所示,对音频数据文件的数据包进行解析,提取数据包的误差校正数据段,信息解析段,有效数据段和补位段,其中误差校正数据段表示数据的校正信息,为可选项;信息解析段表示数据的注释信息,为固定项;有效数据段为音频信息段,为固定项。其中,误差校正数据段的结构如下表所示:
其中,误差校正数据段包括ErrorCorrectionFlags和ErrorCorrectionData两个字段,ErrorCorrectionFlags字段由ErrorCorrectionDataLength、OpaqueDataPresent、ErrorCorrectionLengthType和ErrorCorrectionPresent组成,相关字段的长度由上表所示。ErrorCorrectionData是一个变长的字段,它的长度由ErrorCorrectionDataLength字段的数值确定。
信息解析段结构如下表所示:
信息解析段包括LengthtypeFlags、Propertyflags、Packetlength、Sequence、Paddinglength、Sendtime和Duration。lengthtypeFlags字段由MultiplePayloadpresent、Sequencetype、Paddinglengthtype、PacketLengthType和ErrorCorrectionPresent组成,相关字段的长度由上表所示。MultiplePayloadpresent是WMA格式标识,等于0时表示WMA单负载格式,等于1代表WMA多负载。
在步骤1302中,从所述有效数据段中提取第一个到第n个子包包头和子包数据,其中n为大于等于1的整数。如图3b所示,有效数据段包含包标识段、子包1的子包包头,子包1的子包数据,子包2的子包包头,子包2的子包数据,直到子包n的子包包头,子包n的子包数据,n是大于等于1的整数,每个子包包含一段音频信息,一般地,在对音频数据进行编码压缩时候,将一段长音频信息拆分成若干个小段的音频信息,例如在录制CD的时候,将每个歌曲的音频信息对应一个子包。在对有效数据段进行解析时,顺序提取上述的各个子包的数据。WMA多负载的包标识段数据结构如下表所示:
包标识段包括PayloadFlags字段,PayloadFlags字段由Numberofpayloads和PayloadLengthType组成,相关字段的长度由上表所示。Numberofpayloads表示子包个数,PayloadLengthType表示子包长度的数据类型。本段是WMA多负载的特有字段,WMA单负载没有与之对应的项,所以在转换时不需要引用本段数据。
WMA多负载的子包的包头数据结构如下表所示:
字段 | 字段类型 | 长度 |
Stream Number | Byte | 8 |
Media Object Number | Byte,word,Dword | 0,8,16,32 |
Offset into Media Object | Byte,word,Dword | 0,8,16,32 |
Replicated Data Length | Byte,word,Dword | 0,8,16,32 |
Replicated Data | Byte | Varies |
Payload Length | Byte,word,Dword | 8,16,32 |
WMA单负载的包头的数据结构如下表所示:
字段 | 字段类型 | 长度 |
Stream Number | Byte | 8 |
Media Object Number | Byte,word,Dword | 0,8,16,32 |
Offset into Media Object | Byte,word,Dword | 0,8,16,32 |
Replicated Data Length | Byte,word,Dword | 0,8,16,32 |
Replicated Data | Byte | Varies |
WMA多负载的子包数据的数据结构如下表所示:
字段 | 字段类型 | 长度 |
Payload Data | Byte | Varies |
WMA单负载的包数据的数据结构如下表所示:
字段 | 字段类型 | 长度 |
Payload Data | Byte | Varies |
通过上表比较WMA多负载的子包数据结构和WMA单负载的包数据结构可知,WMA多负载格式比WMA单负载格式的数据结构多出一个字段PayloadLength,其他字段一致。
在步骤1303中,修改文件头、信息解析段和子包包头,并将修改后的文件头、误差校正数据段、修改后的信息解析段、补位段以及修改后的n个子包包头和子包数据组织起来生成第二音频数据。依据前述,WMA格式标识即MultiplePayloadpresent改为数值0,将每个子包的包头的PayloadLength字段删除,并使用修改后的文件头、误差校正数据段、修改后的信息解析段、补位段以及修改后的n个子包包头和子包数据组织起来生成WMA单负载格式的音频数据,图3d是组合后的WMA单负载格式的音频数据的结构图,其中包n’是对图3c的子包n修改得到的。以上列举的是wma歌曲文件带有文件头的第一个数据包的转换情况,当转换第二个包的时候,文件头部分就可以省去。
在图2b所示,在另一个实施方式中,步骤130可以包括以下的步骤1301’到步骤1303’。
在步骤1301’中,根据WMA多负载格式解析所述第一音频数据,提取文件头、误差校正数据段,信息解析段,有效数据段和补位段以及一个子包包头。子包包头为第一音频数据中的任意一个子包的包头。
在步骤1302’中,读入解码缓存的wma数据作为第二位置,解析第二位置的数据,获得第一个以及n个子包数据在第二位置的起始地址和长度。可以建立一个列表,列表里保存每个子包数据的起始地址和长度。
在步骤1303’中,将误差校正数据段、修改后的信息解析段、修改后的子包包头顺序存储到所述解码器缓存的第一位置,以及将补位段存储到解码器缓存的第三位置。即,将步骤1301’提取的误差校正数据段、修改MultiplePayloadpresent为0后的信息解析段、去掉Payloadlength的子包包头存储到所述解码器缓存的第一位置。第一位置上存储的数据作为公用的数据结构,配合第二位置的数据以及第三位置的补充字节形成一个数据包。第一位置和第三位置都是在解码器缓存中的固定地址和长度。第三位置的补充位可以是固定长度的固定数据。
与图2a的实施方式强调音频数据的结构转换不一样的是,本实施方式强调的是一种数据的存储顺序。
上述两种格式转换的实施例,通过将WMA多负载格式的音频数据处理后生成WMA单负载格式的音频数据,满足硬解码器对解码数据格式的要求,以使硬解码器解码成功。
步骤140、控制硬解码器解码第二音频数据。所述的硬解码器预设计是能够解码WMA单负载格式的音频数据。所述的硬解码器是音频解码片上系统(SOC)的解码部件,在使用硬解码器解码所述第二音频数据时,片上系统(SOC)的微控制器将控制指令发送给硬解码器,硬解码器从解码器缓存中获取第二音频数据,并进行解码。
具体地,在与图2a对应的实施方式中,步骤140包括控制SOC的所述微控制器获取所述第二音频数据并保存在所述解码器缓存中,并控制所述硬解码器从所述解码器缓存中获取所述第二音频数据进行解码。
在与图2b对应的实施方式中,步骤140包括先控制硬解码器解码第一位置的公共数据,再控制硬解码器解码存储在所述解码器缓存第二位置的第n个子包数据,最后播放存储在所述解码器缓存第三位置的补位段,其中n是大于等于1的整数。按上述过程顺序解码第二位置的每个子包数据,从第一个子包数据到最后一个子包数据,直到第二位置的子包数据全部解码完毕。
本发明实施例提供一种音频数据的解码方法,通过将第一音频数据转换成第二音频数据,在不修改硬解码器的条件下,实现硬解码器对具有第一数据格式的音频数据的解码,更具体地,通过WMA单负载的硬解码器实现WMA多负载的音频数据的解码。在WMA多负载转换成WMA单负载格式的音频数据实施方式中,通过分析两种数据结构的结构差异,提供两种转换的实施例。本发明提供的解码方法应用于音频解码片上系统(SOC)中,提高的SOC系统的适应性。
作为对本发明方法的实现,图4示出了实现本发明方法的一个对应装置实施例的结构图。
如图4所示,音频解码装置41包括获取单元401、判断单元402、格式转换单元403和解码单元404。其中,箭头指向表示数据流向。
其中,获取单元401获取WMA数据,传输给判断单元402,经由402确认是WMA多负载或WMA单负载格式。WMA多负载数据发送给格式转换单元403。WMA单负载存储于音频片上系统的解码器缓存里。格式转换单元403将WMA多负载转换成WMA单负载也存储到解码器缓存里。解码单元404向音频片上系统的微控制器发送解码控制信号,由微控制器调用硬解码器进行解码,硬解码器顺序解码获得的WMA单负载音频数据。
在一个实施方式里,格式转换单元403包括:
解析模块,用于根据WMA多负载格式解析所述第一音频数据,提取文件头和数据包的误差校正数据段,信息解析段,有效数据段和补位段,从有效数据段中提取第一个到第n个子包包头和子包数据,其中n为大于等于1的整数,并根据WMA单负载格式修改所述信息解析段和每个子包包头;
创建模块,用于将所述文件头、误差校正数据段、修改后的信息解析段、补位段以及修改后的n个子包包头和子包数据组织起来生成具有n个包数据的第二音频数据。
在另一个实施方式里,格式转换单元403包括:
提取模块,用于根据WMA多负载格式解析所述第一音频数据,提取文件头、误差校正数据段,信息解析段,有效数据段和补位段以及一个子包包头;
寻址模块,用于将所述第一音频数据在解码器缓存的存储位置作为解码器缓存的第二位置,获取第一个以及n个子包数据在第二位置的起始地址和长度;
存储模块,用于将误差校正数据段、修改后的信息解析段、修改后的子包包头顺序存储到所述解码器缓存的第一位置,以及将补位段存储到解码器缓存的第三位置。
如图5所示,在音频片上系统的解码器缓存500里,解码器缓存区E中存储误差校正数据段、信息解析段、WMA单负载数据头,在解码器缓存区F中存储固定长度的补位段,解码器缓存区D存储WMA多负载音频数据。在使用硬解码器解码音频数据时,顺序读取缓存区E和D的一个子包数据和F,从而完成对一个子包的解码。重复上述步骤,顺序读取D中的每个子包数据,完成对所有子包的解码。
这种实施方式的前提是解码装置能够获取WMA多负载的每个子包数据的起始地址和长度。下面是一种计算WMA多负载的每个子包数据的起始地址和长度的方法,因为WMA多负载文件是由文件头和数据包构成,他们的长度都是固定的,而且SOC系统的读取解码器缓存长度也是固定的,根据此特性就可以通过预计算得到当前解码器缓存内的数据结构。
如图6所示,假如文件头长度为H,数据包长度为P,解码器缓存长度为B。
计算方法分步进行,第一步先计算出解码器缓存内的第一个P的起始地址;第二步,计算出P之前的数据结构;第三步,计算出P之后的数据结构,D1、D2、D3的起始地址。加入当前读取指针为Bp。
第一步计算出解码器缓存内地一个P的起始地址PH,PH=P-((Bp-H)%P),PH也表示落在解码器缓存内的长度,也表示起始地址。再计算还有多少个P地址落在解码器缓存内。
第二步,计算出PH之前的数据结构,D3起始地址=PH-补位段长度-D3;D2起始地址=D3起始地址-D2,D1起始地址=D2起始地址-D1。如果这些地址是正数,则都记录下地址和长度。
第三部,计算出PH之后的数据结构,D1起始地址=PH+P1;D2起始地址=D1起始地址+D1;D3起始地址=D2起始地址+D2;如果这些地址都落在解码器缓存之内,则记录下地址和长度。如果解码器缓存内还有P存在,则继续计算出下一个P的D1、D2、D3,直到结束。
经过上述三步,我们就得到了一个地址和长度的列表,根据这个列表的数据,可以对音频数据进行组合解码。
因为数据结构在解码器缓存内的情况比较多,上述方法只是其中的一个示例,还有其他方式可以计算缓存地址和长度,这里就不再详述。
本发明实施例提供一种音频数据的解码方法,通过将第一音频数据转换成第二音频数据,在不修改硬解码器的条件下,实现硬解码器对具有第一数据格式的音频数据的解码,更具体地,通过WMA单负载的硬解码器实现WMA多负载的音频数据的解码。本发明同时提供应用上述解码方法的解码装置。本发明提供解码装置应用SOC系统,和微处理器、解码器缓存和硬解码器结合,扩展了硬解码器的解码范围,节约了研发成本。
显然,本领域技术人员应该理解,上述的本发明的各单元或各步骤可以通过软件、硬件或软硬件结合实现,但针对已经设计好的硬解码器,通过软件方式增加SOC系统的解码范围,有助于节约研发成本。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种音频数据的解码方法,包括:
获取第一音频数据;
判断所述第一音频数据是否具有第一数据格式;
将具有第一数据格式的第一音频数据转换为第二音频数据,所述第二音频数据具有第二数据格式;
控制硬解码器解码所述第二音频数据。
2.根据权利要求1所述的解码方法,其中,还包括:
在所述第一音频数据具有第二数据格式时,控制硬解码器解码具有所述第二数据格式的所述第一音频数据。
3.根据权利要求1所述的解码方法,其中,所述第一数据格式为WMA多负载WMAMultiplePayload格式,所述第二数据格式为WMA单负载WMASinglePayload格式。
4.根据权利要求3所述的解码方法,其中,根据所述第一音频数据的数据包的信息解析段的第一字段判断所述第一音频数据是否是WMA多负载WMAMultiplePayload格式。
5.根据权利要求3所述的解码方法,其中,所述将所述具有第一数据格式的第一音频数据转换为第二音频数据包括:
根据WMA多负载WMAMultiplePayload格式解析所述第一音频数据,提取文件头和数据包的误差校正数据段,信息解析段,有效数据段和补位段;
从有效数据段中提取第一个到第n个子包包头和子包数据,其中n为大于等于1的整数;
修改所述文件头、信息解析段和每个子包包头,并将修改后的文件头、误差校正数据段、修改后的信息解析段、补位段以及修改后的n个子包包头和子包数据组织起来生成具有第二数据格式的n个数据包的第二音频数据。
6.根据权利要求5所述的解码方法,其中,所述解码方法应用于音频解码片上系统(SOC),所述音频解码片上系统包括微控制器、所述硬解码器和解码器缓存;
所述控制解码器解码所述第二音频数据包括:
所述微控制器获取所述第二音频数据并保存在所述解码器缓存中,所述硬解码器从所述解码器缓存中获取所述第二音频数据进行解码。
7.根据权利要求3所述的解码方法,其中,所述将所述具有第一数据格式的第一音频数据转换为第二音频数据包括:
根据WMA多负载WMAMultiplePayload格式解析所述第一音频数据,提取文件头、误差校正数据段、信息解析段、有效数据段、补位段以及一个子包包头;
将所述第一音频数据在解码器缓存的存储位置作为所述解码器缓存的第二位置,获取第一个以及n个子包数据在第二位置的起始地址和长度;
将误差校正数据段、修改后的信息解析段、修改后的子包包头顺序存储到所述解码器缓存的第一位置,以及将补位段存储到所述解码器缓存的第三位置。
8.根据权利要求7所述的解码方法,其中,所述解码方法应用于音频解码片上系统(SOC),所述音频解码片上系统包括微控制器和所述硬解码器;所述控制硬解码器解码所述第二音频数据包括:
先控制硬解码器解码第一位置的公共数据,再控制硬解码器解码第二位置的第n个子包数据,最后解码第三位置的补位段,其中n是大于等于1的整数;
按上述步骤顺序解码第二位置的每个子包数据。
9.一种音频解码装置,包括:
获取单元,用于获取第一音频数据;
判断单元,用于判断所述第一音频数据是否具有第一数据格式;
格式转换单元,用于将所述具有第一数据格式的第一音频数据转换为第二音频数据,所述第二音频数据具有第二数据格式;
解码单元,用于控制硬解码器解码所述第二音频数据。
10.根据权利要求9所述的解码装置,所述解码单元还用于解码具有所述第二数据格式的第一音频数据。
11.根据权利要求9所述的解码装置,所述第一数据格式为WMA多负载WMAMultiplePayload,所述第二数据格式为WMA单负载WMASinglePayload。
12.根据权利要求11所述的解码装置,其中,根据所述第一音频数据的数据包的信息解析段的第一字段判断所述第一音频数据是否是WMA多负载WMAMultiplePayload格式。
13.根据权利要求11所述的解码装置,格式转换单元包括:
解析模块,用于根据WMA多负载WMAMultiplePayload格式解析所述第一音频数据,提取文件头和数据包的误差校正数据段,信息解析段,有效数据段和补位段,从有效数据段中提取第一个到第n个子包包头和子包数据,其中n为大于等于1的整数,根据WMA单负载WMASinglePayload格式修改所述文件头、信息解析段和每个子包包头;
创建模块,用于将修改后的文件头、误差校正数据段、修改后的信息解析段、补位段以及修改后的n个子包包头和子包数据组织起来生成具有n个包数据的第二音频数据。
14.根据权利要求13所述的解码装置,其中,所述解码单元应用于音频解码片上系统(SOC),所述音频解码片上系统包括微控制器、所述硬解码器和解码器缓存;
所述解码单元用于控制所述微控制器获取所述第二音频数据并保存在所述解码器缓存中,并控制所述硬解码器从所述解码器缓存中获取所述第二音频数据进行解码。
15.根据权利要求11所述的解码装置,格式转换单元包括:
提取模块,用于根据WMA多负载WMAMultiplePayload格式解析所述第一音频数据,提取文件头、误差校正数据段,信息解析段,有效数据段和补位段以及一个子包包头;
寻址模块,用于将所述第一音频数据在解码器缓存的存储位置作为解码器缓存的第二位置,获取第一个以及n个子包数据在第二位置的起始地址和长度;
存储模块,用于将误差校正数据段、修改后的信息解析段、修改后的子包包头顺序存储到所述解码器缓存的第一位置,以及将补位段存储到解码器缓存的第三位置。
16.根据权利要求15所述的解码装置,所述解码单元控制所述硬解码器先解码第一位置的公共数据,再控制硬解码器解码第二位置的第n个子包数据,最后解码第三位置的补位段,其中n是大于等于1的整数;以及
按上述步骤顺序解码第二位置的每个子包数据。
17.一种片上系统,包括微处理器、硬解码器和解码缓存,所述微处理器被配置为适于执行权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510508862.XA CN105139859B (zh) | 2015-08-18 | 2015-08-18 | 音频数据的解码方法和装置以及应用其的片上系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510508862.XA CN105139859B (zh) | 2015-08-18 | 2015-08-18 | 音频数据的解码方法和装置以及应用其的片上系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105139859A true CN105139859A (zh) | 2015-12-09 |
CN105139859B CN105139859B (zh) | 2019-03-01 |
Family
ID=54725181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510508862.XA Active CN105139859B (zh) | 2015-08-18 | 2015-08-18 | 音频数据的解码方法和装置以及应用其的片上系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105139859B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322818A (zh) * | 2018-02-28 | 2018-07-24 | 北京酷我科技有限公司 | 一种音频播放中的音频格式处理策略 |
CN109584889A (zh) * | 2018-12-28 | 2019-04-05 | 秒针信息技术有限公司 | 音频传输方法和装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1472959A (zh) * | 2002-07-30 | 2004-02-04 | 华为技术有限公司 | 实现多种视音频流格式转换的装置和方法 |
CN1862970A (zh) * | 2005-05-11 | 2006-11-15 | 松下电器产业株式会社 | 音频解码装置 |
CN1892820A (zh) * | 2005-07-04 | 2007-01-10 | 乐金电子(惠州)有限公司 | 音频解码系统及音频格式检测方法 |
WO2010019750A1 (en) * | 2008-08-14 | 2010-02-18 | Dolby Laboratories Licensing Corporation | Audio signal transformatting |
JP2010281918A (ja) * | 2009-06-03 | 2010-12-16 | Onkyo Corp | コンテンツ再生装置及びそのプログラム |
CN103905834A (zh) * | 2014-03-13 | 2014-07-02 | 深圳创维-Rgb电子有限公司 | 音频数据编码格式转换的方法及装置 |
-
2015
- 2015-08-18 CN CN201510508862.XA patent/CN105139859B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1472959A (zh) * | 2002-07-30 | 2004-02-04 | 华为技术有限公司 | 实现多种视音频流格式转换的装置和方法 |
CN1862970A (zh) * | 2005-05-11 | 2006-11-15 | 松下电器产业株式会社 | 音频解码装置 |
CN1892820A (zh) * | 2005-07-04 | 2007-01-10 | 乐金电子(惠州)有限公司 | 音频解码系统及音频格式检测方法 |
WO2010019750A1 (en) * | 2008-08-14 | 2010-02-18 | Dolby Laboratories Licensing Corporation | Audio signal transformatting |
JP2010281918A (ja) * | 2009-06-03 | 2010-12-16 | Onkyo Corp | コンテンツ再生装置及びそのプログラム |
CN103905834A (zh) * | 2014-03-13 | 2014-07-02 | 深圳创维-Rgb电子有限公司 | 音频数据编码格式转换的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322818A (zh) * | 2018-02-28 | 2018-07-24 | 北京酷我科技有限公司 | 一种音频播放中的音频格式处理策略 |
CN108322818B (zh) * | 2018-02-28 | 2020-10-09 | 北京酷我科技有限公司 | 一种音频播放中的音频格式处理方法 |
CN109584889A (zh) * | 2018-12-28 | 2019-04-05 | 秒针信息技术有限公司 | 音频传输方法和装置及存储介质 |
CN109584889B (zh) * | 2018-12-28 | 2021-07-20 | 秒针信息技术有限公司 | 音频传输方法和装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105139859B (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102004744B (zh) | 从一个源表到至少一个目标库的表的数据抽取系统及方法 | |
US20100088464A1 (en) | Compression Based Wear Leveling for Non-Volatile Memory | |
CA2578190C (en) | Device and method for generating a coded multi-channel signal and device and method for decoding a coded multi-channel signal | |
CN107168695B (zh) | 一种excel数据解析方法及系统 | |
US7739585B2 (en) | Multimedia playing apparatus and method | |
CN102567514B (zh) | 一种数据处理方法及系统 | |
US9552163B1 (en) | Systems and methods for providing non-power-of-two flash cell mapping | |
US10055284B2 (en) | Systems and methods for providing error code detection using non-power-of-two flash cell mapping | |
KR20070012808A (ko) | 트리 계층 데이터 구조의 순서적 횡단에 의해 비트스트림이기술되는 오디오 비트스트림 포맷 | |
CN105573967A (zh) | 一种多格式文件在线浏览方法及系统 | |
CN101634942A (zh) | 一种动态创建数据表的方法和系统 | |
US9391636B2 (en) | Method and system | |
CN105139859A (zh) | 音频数据的解码方法和装置以及应用其的片上系统 | |
US20140258247A1 (en) | Electronic apparatus for data access and data access method therefor | |
CN102857833A (zh) | 一种适配android stagefright 多媒体框架的音频解码系统及方法 | |
CN105677805A (zh) | 一种利用protobuf的数据存储、读取方法及装置 | |
US20110093656A1 (en) | Systems, methods, and computer readable media for configuring a rewriteable non-volatile memory for presentation of media by a selected media presentation device model | |
US20170300542A1 (en) | Encoding processing device, encoding processing method, decoding processing device, decoding processing method, and recording medium | |
CN102013265A (zh) | 一种解析歌词并使其与歌曲同步播放的装置及方法 | |
CN106127838B (zh) | 基于Powerpoint的多媒体资源存储方法及其系统 | |
CN102122300A (zh) | 一种视频格式转换的方法 | |
CN103092859B (zh) | 一种获取音乐文件信息的方法及装置 | |
CN100485692C (zh) | Xml数据存储系统和方法 | |
CN101887364B (zh) | 帮助文档的生成方法和装置 | |
CN104090898A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |