控制MP3解码器的输入数据缓冲器的方法及装置制造方法及图纸

技术编号:3082213 阅读:187 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种管理存储器的方法。该存储器包含M个存储器单元并且用以暂时性地存储一音频位流中的至少一音频帧。该音频位流包含N个音频帧,并且其中的第i个音频帧包含大小等于S↓[i]个存储器单元的一第i主要数据块。该存储器中的第(L↓[(i-1)]个存储器单元用以存储该第(i-1)主要数据块的最后一个存储器单元。该方法在接收该第i主要数据块后,首先判断S↓[i]是否大于一第i参考值,接着根据该判断结果与M、S↓[i]、L↓[(i-1)],由该M个存储器单元中选择一第i组存储器单元用以存储该第i主要数据块。

【技术实现步骤摘要】

本专利技术关于一种控制数据缓冲器的方法及装置,并且特别关于管理MP3解码器的输入数据缓冲器的方法及装置。
技术介绍
MP3(MPEG Layer III)音频信号标准是一种目前被广泛使用的音频格式。请参阅图1。图1为一标准MP3音频帧(audio frame)10的内容示意图。首标块(header)12中包含了音频帧10的基本数据,例如MPEG的种类、错误检查码、取样频率及位率;侧边信息块(side information)14中记录的则是要将音频帧10解码时需要参考的相关信息,例如逆量化(re-quantization)信息和霍夫曼解码(Huffman decoding)信息。主要数据块(main data)16是用来存储真正的音频数据。此外,使用者可自行在补充数据块(ancillarydata)18中记录与音频帧10相关的信息,例如演唱者和歌曲名称。虽然每一个音频帧10的大小是固定的,每一个主要数据块16的大小也是固定的,但是每一个音频帧10所对应的音频数据的长度却未必相同;可能有些音频数据的长度会大于主要数据块16所能容纳的最大限制,也可能有些音频数据的长度小于主要数据块16所能容纳的最大限制。为了提升整体的存储效率,使用者在产生音频帧10时可采用位存储(bit reservoir)的机制,使得每一个音频帧10所对应的音频数据可选择性地被存储在其他音频帧10的主要数据块16中。在采用位存储机制之后,由于某一音频帧10所对应的音频数据未必会存储在该音频帧10本身的主要数据块16中,侧边信息块14中还必须进一步包含一起始指标(通常被标示为main_data_begin),用来指出该音频帧10所对应的音频数据实际存储的起始位置。请参阅图2。图2表示一个采用位存储机制的音频帧范例,并且包含了四个连续的音频帧第一音频帧21、第二音频帧22、第三音频帧23、第四音频帧24。每一个音频帧都各自包含一个首标及侧边信息块A和一个主要数据块B(补充数据块未显示于图中)。如图2所示,由于第一音频帧21所对应的音频数据的长度小于主要数据块21B的容量,有一部分的主要数据块21B用以存放第二音频帧22所对应的音频数据。同样的,第二音频帧22的主要数据块22B同时存储了第三音频帧23所对应的音频数据和第四音频帧24所对应的音频数据的一部分。请参阅图3。图3表示一MP3解码器30的结构图。MP3解码器30包含一音频帧分析器31、一侧边信息缓冲器32、一主要数据缓冲器33和一音频帧解码器34。MP3解码器30接收一音频帧后,音频帧分析器31负责搜寻该音频帧的开头、计算该音频帧的长度,并且将该音频帧中的侧边信息和主要数据分别传送给侧边信息缓冲器32和主要数据缓冲器33。接着,再由音频帧解码器34根据侧边信息缓冲器32和主要数据缓冲器33中的数据将该音频帧解码。在采用位存储机制的情况下,正在被解码的那个音频帧所对应的音频数据有可能全部或部分地被存放在其他先前的音频帧中。遇到这样的情况时,现有的MP3解码器大多是回头再次读取之前的音频帧,以取得该音频帧所对应的音频数据;然而,这种非正常的读取方式相当浪费处理时间。也有某些先前技术为了降低必须回头再次读取先前的音频帧的次数,大幅增加主要数据缓冲器33的容量,同时在主要数据缓冲器33中存放全部或大量的音频帧;这种方式的缺点在于会耗费大量的存储空间。
技术实现思路
为解决上述问题,本专利技术提供一种管理一音频解码器的主要数据缓冲器的方法及装置。该音频解码器用以将包含有N个音频帧的一音频位流(audiobit stream)解码。该主要数据缓冲器为一包含有M个存储器单元的存储器,并且用以暂时性地存储该音频位流中的至少一音频帧。该N个音频帧中的第i个音频帧包含一第i主要数据块,并且该第i主要数据块的大小等同于Si个存储器单元的大小,其中Si为一小于等于M的正整数,i为一范围在1至N之间的整数指标,N与M皆为正整数。假设已知该存储器中的第L(i-1)个存储器单元为用以存储该第(i-1)主要数据块的最后一个存储器单元。根据本专利技术的一较佳具体实施例为一管理该存储器的方法。该方法首先接收该第i个音频帧中的该第i主要数据块,并判断判断Si是否大于一第i参考值。接着,该方法根据该判断结果以及M、Si、L(i-1),由该M个存储器单元中选择一第i组存储器单元用以存储该第i主要数据块,再将该第i主要数据块存储至该第i组存储器单元中。根据本专利技术的另一较佳具体实施例为一管理该存储器的装置。该装置包含一接收模块、一判断模块、一选择模块和一存储模块。该接收模块用以接收该第i个音频帧中的该第i主要数据块。该判断模块连接至该接收模块并且用以判断Si是否大于一第i参考值。该选择模块根据M、Si、L(i-1)以及该判断模块的判断结果,由该M个存储器单元中选择一第i组存储器单元用以存储该第i主要数据块。该存储模块则是用以将该第i主要数据块存储至该第i组存储器单元中。关于本专利技术的优点与精神可以通过以下的详述及附图得到进一步了解。附图说明图1为一标准MP3音频帧的内容示意图。图2表示一采用位存储机制的音频帧范例。图3表示一MP3解码器的结构图。图4(A)、(B)、(C)为在根据本专利技术的存储器中存储音频帧的主要数据块的范例。图5表示根据本专利技术的第一较佳具体实施例的管理方法的流程图。图6表示将根据本专利技术的第二较佳具体实施例的管理装置60结合于MP3解码器30的方块图。主要元件符号说明10音频帧 12首标块14侧边信息块 16主要数据块18补充数据块21第一音频帧 22第二帧23第三音频帧 24第四音频帧21A、22A、23A、24A首标及侧边信息21B、22B、23B、24B主要数据块30MP3解码器 31音频帧分析器32侧边信息缓冲器 33主要数据缓冲器 34音频帧解码器40存储器42存储数据的方向 S51-S55步骤流程60管理装置60A接收模块60B判断模块 60C选择模块60D存储模块 62主要数据缓冲器具体实施方式本专利技术的一主要目的在于提供一种管理MP3解码器的输入数据缓冲器的方法及装置。根据本专利技术的方法及装置利用一循环式存储器(circular inputbuffer,CIB)的概念来管理MP3解码器的主要数据缓冲器。假设该MP3解码器用以将包含有N个音频帧的一音频位流解码。该主要数据缓冲器为一包含有M个存储器单元的存储器,并且用以暂时性地存储该音频位流中的至少一音频帧。该N个音频帧中的第i个音频帧包含一第i主要数据块,并且该第i主要数据块的大小等同于Si个存储器单元的大小,其中Si为一小于等于M的正整数,i为一范围在1至N之间的整数指标,N与M皆为正整数。此外,已知该存储器中的第L(i-1)个存储器单元为用以存储该第(i-1)主要数据块的最后一个存储器单元。图4为在根据本专利技术的存储器中存储音频帧的主要数据块的范例。存储器40于存储数据时沿着箭头42所示的方向依序将数据存入各存储器单元中。如图4(A)所示,在该第i主要数据块被存储至存储器40前,该第(i-1)个音频帧的第(i-1)主要数据块存储于存储器40的第(L(i-2)+1)个至第L(i-1)个存储器单元中。如专利技术背景中所述,在采用位存储机制的情况本文档来自技高网
...

【技术保护点】
一种管理一装置中的一存储器的方法,该装置用以将一音频位流解码,该音频位流包含N个音频帧,该存储器包含M个存储器单元并且用以暂时性地存储该音频位流中的至少一音频帧,N与M皆为正整数,该N个音频帧中的第i个音频帧包含一第i主要数据块,该第i主要数据块的大小等同于Si个存储器单元的大小,Si为一小于等于M的正整数,i为一范围在1至N之间的整数指标,该存储器中的第L(i-1)个存储器单元为用以存储该第(i-1)主要数据块的最后一个存储器单元,该方法包含下列步骤:(a)接收该第 i个音频帧中的该第i主要数据块;(b)判断Si是否大于一第i参考值;(c)根据M、Si、L(i-1)以及步骤(b)的判断结果,由该M个存储器单元中选择一第i组存储器单元用以存储该第i主要数据块;以及(d)将该第i主要 数据块存储至该第i组存储器单元中。

【技术特征摘要】
1.一种管理一装置中的一存储器的方法,该装置用以将一音频位流解码,该音频位流包含N个音频帧,该存储器包含M个存储器单元并且用以暂时性地存储该音频位流中的至少一音频帧,N与M皆为正整数,该N个音频帧中的第i个音频帧包含一第i主要数据块,该第i主要数据块的大小等同于Si个存储器单元的大小,Si为一小于等于M的正整数,i为一范围在1至N之间的整数指标,该存储器中的第L(i-1)个存储器单元为用以存储该第(i-1)主要数据块的最后一个存储器单元,该方法包含下列步骤(a)接收该第i个音频帧中的该第i主要数据块;(b)判断Si是否大于一第i参考值;(c)根据M、Si、L(i-1)以及步骤(b)的判断结果,由该M个存储器单元中选择一第i组存储器单元用以存储该第i主要数据块;以及(d)将该第i主要数据块存储至该第i组存储器单元中。2.如权利要求1所述的方法,其中该第i参考值等于L(i-1)与M之间的差。3.如权利要求2所述的方法,其中如果步骤(b)的判断结果为否,则该第i组存储器单元包含该存储器中的第(L(i-1)+1)个至第(L(i-1)+Si)个存储器单元。4.如权利要求2所述的方法,其中如果步骤(b)的判断结果为是,则该第i组存储器单元包含该存储器中的第(L(i-1)+1)个至第M个存储器单元以及第1个至第(Si-M+L(i-1))个存储器单元。5.如权利要求1所述的方法,其中该第i个音频帧对应于一第i音频数据,并且该第i主要数据块选择性地包含该第i音频数据至该第N个音频数据中的至少一批音频数据。6.如权利要求5所述的方法,其中对应于该第i音频数据的一第i起始指标Bi预先提供,并且用以代表该第i音频数据与该第i主要数据块之间的一相对关系。7.如权利要求6所述的方法,该方法进一步包含下列步骤(e)当该装置要求由该存储器中提取该第i音频数据时,根据该第i起始指标Bi和L(i-1)找出该第i音频数据在该存储器中的一起始位置。8.如权利要求7所述的方法,其中该第i音频数据的该起始位置为该存储器中的第(L(i-1)+Bi)个存储器单元。9.如权利要求1所述的方法,其中该装置为一MP3解码器。10.一种管理一音频解码器中的一存储器的装置,该音频解码器用以将一音频位流解码,该音频位流包...

【专利技术属性】
技术研发人员:何升峰谢瑞庭赵维民
申请(专利权)人:广达电脑股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利