(57)【要約】【課題】ＭＰ３データのデコード（復号）に要する演算量の削減、【解決手段】デコード処理では、サブバンド分析フィルタバンク（サブバンド合成処理）の窓関数処理において、出力データｄ［ｉ］の積和演算を間引き、間引いた出力データｄ［ｉ］については、これ以外の積和演算を行った出力データｄ［ｉ］で補間する。具体的には、３２個の出力データｄ［１］，ｄ［２］，・・・，ｄ［３１］について、１つおきに積和演算を間引く。すなわち、奇数番目の出力データｄ［１］，ｄ［３］，・・・，ｄ［３１］それぞれについては積和演算を行い、これ以外の偶数番目の出力データｄ［０］，ｄ［２］，・・・，ｄ［３０］それぞれについては、積和演算を行わず、その前後の出力データｄの平均値とする。【選択図】図３
2009063948.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＥＧ規格に従って圧縮された符号化音声データを復号処理する復号方法であって、
サブバンド合成処理を行う際に、
サブバンド合成処理の前段までの処理で得られた時系列のサブバンド毎のデータ群を所定の定数を係数として時系列に積和演算する処理を、所定の演算量低減率で積和演算の対象とする時間を間引いて実行することと、
前記積和演算の対象外となった時間の積和演算結果を、当該対象外の時間の前後所定数の積和演算結果を用いて補間して生成することと、
を行う復号方法。
【請求項２】
前記演算量低減率を可変することを更に含む請求項１に記載の復号方法。
【請求項３】
前記演算量低減率に従って、前記復号処理の対象とする周波数領域を可変することを更に含む請求項１又は２に記載の復号方法。
【請求項４】
前記演算量低減率が高くなるに従って、前記復号処理の対象とする周波数領域の上限値を低減させることを更に含む請求項３に記載の復号方法。
【請求項５】
前記演算量低減率の可変を、逆量子化処理の前に行うことを特徴とする請求項３又は４に記載の復号方法。
【請求項６】
請求項１〜５の何れか一項に記載の復号方法をプログラム実行可能なプロセッサに実行させるためのプログラム。
【請求項７】
請求項６に記載のプログラムを含む複数種類のプログラムを記憶したメモリと、
前記複数種類のプログラムを実行可能なプロセッサと、
を備え、前記プロセッサの演算実行状況に応じて前記プロセッサが前記演算量低減率を可変して請求項６に記載のプログラムを実行することを特徴とする電子回路。
【請求項８】
前記プロセッサが実行中のプログラム数に応じて前記プロセッサが前記演算量低減率を可変して請求項６に記載のプログラムを実行することを特徴とする請求項７に記載の電子回路。
【請求項９】
請求項７又は８に記載の電子回路を備えた電子機器。
【請求項１０】
ＭＰＥＧ規格に従って圧縮された符号化音声データを復号処理する復号回路であって、
サブバンド合成処理の前段までの処理で得られた時系列のサブバンド毎のデータ群を所定の定数を係数として時系列に積和演算する処理を、所定の演算量低減率で積和演算の対象とする時間を間引いて実行する積和演算部と、
前記積和演算の対象外となった時間の積和演算結果を、当該対象外の時間の前後所定数の積和演算結果を用いて補間して生成する補間部と、
を有するサブバンド合成処理部を備えた復号回路。
【請求項１１】
請求項１０に記載の復号回路を備えた電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰＥＧ規格に従って圧縮された符号化音声データを復号処理する復号方法等に関する。
【背景技術】
【０００２】
ＭＰ３（MPEG Audio Layer３）は、ＭＰＥＧ動画圧縮形式の音声部分の規格として定められているオーディオ圧縮形式であり、最小可聴限界とマスキング効果という人間の聴覚の特性を利用してデータを圧縮する非可逆圧縮形式であるが、殆ど音質の劣化を伴わずにデータサイズを１／１０程度にすることができる。
【０００３】
このＭＰ３では、高品質を保ちながら高率で圧縮する方法として、圧縮前に周波数を間引く技術が知られている。かかる技術では、対象のオーディオ信号のスペクトルを数等分して得られる帯域のうち、自己より低周波側の帯域との間でスペクトルの分布に所定以上の相関がない帯域以外の帯域を高調波バンドとして特定し、特定した高調波バンドに含まれるスペクトル成分の一部を除去する（すなわち、周波数を間引く）。そして、この周波数を間引きしたスペクトルの信号を、圧縮（エンコード）する（例えば、特許文献１参照）。
【特許文献１】特開２００２−４１０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一方、圧縮された音声データ（ＭＰ３データ）を復号するＭＰ３デコーダ（ＭＰ３復号回路）は、種々の電子機器に搭載され、製品化されている。また、１つの電子機器に音声再生機能を含む多種の機能が搭載される傾向にあり、電子機器全体として処理負荷が増加するという問題があった。このため、電子機器全体の処理負荷の削減を実現すべく、ＭＰ３デコーダ単体での処理負荷の削減が望まれていた。本発明は、上記事情に鑑みてなされたものであり、ＭＰ３に代表されるＭＰＥＧ規格に従った圧縮された音声データのデコード（復号）に要する演算量を削減することを目的としている、
【課題を解決するための手段】
【０００５】
上記課題を解決するための第１の発明は、ＭＰＥＧ規格に従って圧縮された符号化音声データを復号処理する復号方法であって、サブバンド合成処理を行う際に、サブバンド合成処理の前段までの処理で得られた時系列のサブバンド毎のデータ群を所定の定数を係数として時系列に積和演算する処理を、所定の演算量低減率で積和演算の対象とする時間を間引いて実行することと、前記積和演算の対象外となった時間の積和演算結果を、当該対象外の時間の前後所定数の積和演算結果を用いて補間して生成することとを行う復号方法である。
【０００６】
また、第１０の発明は、ＭＰＥＧ規格に従って圧縮された符号化音声データを復号処理する復号回路であって、サブバンド合成処理の前段までの処理で得られた時系列のサブバンド毎のデータ群を所定の定数を係数として時系列に積和演算する処理を、所定の演算量低減率で積和演算の対象とする時間を間引いて実行する積和演算部と、前記積和演算の対象外となった時間の積和演算結果を、当該対象外の時間の前後所定数の積和演算結果を用いて補間して生成する補間部とを有するサブバンド合成処理部を備えた復号回路である。
【０００７】
この第１又は第１０の発明によれば、ＭＰＥＧ規格に従って圧縮された符号化音声データの復号において、サブバンド合成処理を行う際に、サブバンド合成処理の前段までの処理で得られた時系列のサブバンド毎のデータ群を所定の定数を係数として時系列に積和演算する処理が、所定の演算量低減率で積和演算の対象とする時間を間引いて実行され、積和演算の対象外となった時間の積和演算結果については、当該対象外の時間の前後所定数の積和演算結果を用いて補間して生成される。このため、時系列の積和演算の一部を間引き、替わりに補間演算を行うことで、サブバンド合成処理に要する演算量の削減が実現される。なお、積和演算の一部を間引くことで、復号したデータが劣化してしまうが、音声データの場合、必ずしもデータが正確に復元されなくとも、人間が聴覚的に認知しない、或いは認知の程度が低い劣化ならば問題がない。
【０００８】
第２の発明は、第１の発明の復号方法であって、前記演算量低減率を可変することを更に含む復号方法である。
【０００９】
この第２の発明によれば、演算量低減率が可変される。演算量低減率を可変すると、積和演算の間引き量が可変され、その結果、サブバンド合成処理に要する演算量が可変される。具体的には、演算量低減率が大きいほど、演算量が大きく削減される。なお、積和演算の間引き量が大きいほど、復号したデータの劣化の程度が大きくなるため、復号したデータに望む正確さ（再生される音声に望む音質）に応じて演算量低減率を適切に設定する必要がある。
【００１０】
第３の発明は、第１又は第２の発明の復号方法であって、前記演算量低減率に従って、前記復号処理の対象とする周波数領域を可変することを更に含む復号方法である。
【００１１】
この第３の発明によれば、演算量低減率に従って復号処理の対象とする周波数領域が可変される。ところで、積和演算を間引くと、復号データに歪みが生じて高周波ノイズが発生するという問題が生じた。ローパスフィルタを設けることでこの問題を解決することができるが、フィルタ処理に要する演算量の増加が問題となる。しかし、本発明のように、演算量低減率に従って復号処理の対象とする周波数領域を可変することで、演算量を殆ど増加させること無く高周波ノイズを除去することが可能となる。
【００１２】
第４の発明は、第３の発明の復号方法であって、前記演算量低減率が高くなるに従って、前記復号処理の対象とする周波数領域の上限値を低減させることを更に含む復号方法である。
【００１３】
この第４の発明によれば、演算量低減率が高くなるに従って、復号処理の対象とする周波数領域の上限値が低減される。演算量低減率が高くなるほど、すなわち積和演算の間引きを行う時間が多くなるほど、復号したデータに生じる高周波ノイズが大きくなる。このため、本発明のように、演算量低減率が高くなるに従って復号処理の対象とする周波数領域の上限値を低減させるという簡易な処理によって、高周波ノイズを適切に除去することが可能となる。
【００１４】
第５の発明は、第３又は第４の発明の復号方法であって、前記演算量低減率の可変を、逆量子化処理の前に行う復号方法である。
【００１５】
この第５の発明によれば、演算量低減率の可変は逆量子化処理の前に行われる。これにより、演算量低減率の可変に伴う周波数領域の可変を逆量子化の前に行うことで、逆量子化以降の処理であってサブバンド合成処理以前の処理における演算量の削減をも可能となる。
【００１６】
第６の発明は、第１〜第５の何れかの発明の復号方法をプログラム実行可能なプロセッサに実行させるためのプログラムである。
【００１７】
この第６の発明によれば、このプログラムに従った演算処理をコンピュータに実行させることで、第１〜第５の何れかの発明の同様の効果を奏することができる。
【００１８】
第７の発明は、第６の発明のプログラムを含む複数種類のプログラムを記憶したメモリと、前記複数種類のプログラムを実行可能なプロセッサとを備え、前記プロセッサの演算実行状況に応じて前記プロセッサが前記演算量低減率を可変して第６の発明のプログラムを実行する電子回路である。
【００１９】
この第７の発明によれば、上述の復号処理を実行するためのプログラムを含む複数のプログラムを実行可能な電子回路において、プロセッサの演算実行状況に応じて、復号処理における演算量低減率が可変される。これにより、例えば、プロセッサの処理負荷が高いときには、演算量低減率を大きくし、復号処理に要する演算量をより削減させるといったように、電子回路全体としての演算負荷を考慮した、より適切な復号処理に要する演算量の調整が可能となる。
【００２０】
第８の発明は、第７の発明の電子機器であって、前記プロセッサが実行中のプログラム数に応じて前記プロセッサが前記演算量低減率を可変して第６の発明のプログラムを実行する電子回路である。
【００２１】
この第８の発明によれば、実行中のプログラム数に応じて、演算量低減率が可変される。この場合、実行中のプログラム数が多いほど、プロセッサの処理負荷が大きくなると考えられるため、演算量低減率を大きくして復号処理に要する演算量を削減するといったことにより、電子回路全体としての演算負荷を考慮した、より適切な復号処理に要する演算量の調整が可能となる。
【００２２】
第９の発明は、第７又は第８の発明の電子回路を備えた電子機器である。
【００２３】
この第９の発明によれば、第７又は第８の発明と同様の効果を奏する電子機器を実現できる。
【００２４】
第１１の発明は、第１０の発明の復号回路を備えた電子機器である。
【００２５】
この第１１の発明によれば、第１０の発明と同様の効果を奏する電子機器を実現できる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して、本発明の好適な実施形態を説明する。なお、以下では、電子機器の一種である音声再生機能を有する「電子辞書」に本発明を適用した場合を説明するが、本発明の適用可能な実施形態がこれに限定されるものではない。
【００２７】
［原理］
先ず、本実施形態の原理を説明する。ＭＰＥＧ規格に従って圧縮された音声データであるＭＰ３データのデコードプロセスは、次のように実現される。すなわち、ＭＰ３フォーマットのビットストリーム（ビット列）をフレームに分解し、メインデータやサイド情報等を抽出するビットストリーム解析が行われる。次いで、抽出されたメインデータがハフマン復号化され、抽出されたサイド情報をもとに逆量子化される。そして、逆量子化されたデータが、周波数領域から時間領域に変換されてＰＣＭデータを生成するハイブリットフィルタバンクが行われる。ハイブリットフィルタバンクでは、折返し歪みを削減するアンチエイリアシング、周波数領域から時間領域への変換を行うとともに、窓関数の解除を行う逆ＭＤＣＴ（Inverse Modified Discrete Cosine Transform：逆変形離散コサイン変換）、３２に分解されたサブバンドを合成し、ＰＣＭデータへの復元を行うサブバンド分析フィルタバンク（サブバンド合成）の各処理が順に行われる。
【００２８】
サブバンド分析フィルタバンク処理では、逆ＭＤＣＴ処理の結果である１グラニュールのデータ、つまり１データブロック当たり１８時間サンプルで構成される３２サブバンド分のデータブロックそれぞれから１サンプルずつ抽出された周波数領域の３２サンプルのデータｘ［ｋ］（ｋ＝０，１，・・・，３１）に対して、式（１）に従ったＦＤＣＴ演算が行われる。このＦＤＣＴ演算の結果、６４個のデータｖ［ｉ］（ｉ＝０，１，・・・，６３）から構成される１６組のデータブロックが生成される。
【数１】
2009063948.tif 000003
【００２９】
次いで、図１に示すように、ＦＤＣＴ演算の処理結果に対して窓関数を用いた重ね合わせ処理（窓関数処理）が行われる。すなわち、６４個のデータで構成される１６組のデータブロックそれぞれに窓関数を乗算し、３２データ（半分）ずらして重ね合わせることで、３２データで構成されるデータブロックが生成される。つまり、１６組のデータブロックそれぞれから抽出された１６個のデータｓ［ｊ］（ｊはデータブロックを示し、ｊ＝０，１，・・・，１５）に対する積和演算が行われる。この窓関数処理の結果、３２個の出力データｄ［ｉ］（ｉ＝０，１，・・・，３１）が生成される。この積和演算は、等価的に、式（２）に示す積和演算で表される。
【数２】
2009063948.tif 000004
式（２）において、Ｃｉ［ｊ］は、窓関数であり、この窓関数は、ビットストリームから抽出されたサイド情報に含まれている。
【００３０】
図２に、式（２）に従った、３２個の出力データｄ［１］，ｄ［２］，・・・，ｄ［３１］それぞれについての積和演算の詳細を示す。なお、これら出力データｄ［１］，ｄ［２］，・・・，ｄ［３１］は、時間領域で連続するデータである。同図に示すように、１つの出力データｄ［ｉ］の算出の際には、１６回の乗算と、１５回の加算とが行われる。つまり、３２個の出力データｄ［ｉ］の全てを算出するためには、１６×３２回の乗算と、１５×３２回の加算とが必要であった。従来のＭＰ３デコードでは、３２個のデータｄそれぞれについて、式（２）に従ったこのような積和演算を行っていた。
【００３１】
これに対して、本実施形態では、この窓関数処理において、出力データｄ［ｉ］の積和演算を間引き、積和演算を行った出力データｄ［ｉ］で補間する。具体的には、図３に示すように、３２個の出力データｄ［１］，ｄ［２］，・・・，ｄ［３１］について、１つおきに積和演算を間引く。すなわち、奇数番目の出力データｄ［１］，ｄ［３］，・・・，ｄ［３１］それぞれについては、式（２）に従った積和演算を行う。そして、偶数番目の出力データｄ［０］，ｄ［２］，・・・，ｄ［３０］それぞれについては、積和演算を行わず、その前後の出力データｄの平均値とする。この場合、３２個の出力データｄ［ｉ］の算出に必要な演算回数は、１６×１６＋１×１６回の乗算と、１５×１６＋１×１６回の加算となり、従来と比較して半分近くまで削減される。
【００３２】
このように、３２個の出力データｄ［ｉ］の半分（１／２）の１６個の出力データｄ［ｉ］についての積和演算を間引くことを「１／２間引き」といい、このときの間引き率Ｎは「１／２」であるとする。「間引き率Ｎ」は、３２個の出力データｄに対する、積和演算を行った出力データｄの個数の割合である。但し、０＜Ｎ≦１、であり、間引き率Ｎ＝１、は積和演算の間引きを行わない場合となる。これに対して、３２個の出力データｄに対する、積和演算を間引いた出力データｄの個数の割合を、「演算量低減率」という。つまり、演算量低減率＝１−間引き率Ｎ、である。
【００３３】
なお、「１／２間引き」に限らず、連続する４個の出力データｄ［ｉ］のうち、３個の出力データｄ［ｉ］の積和演算を間引く「１／４間引き」や、連続する８個の出力データｄ［ｉ］のうち、７個の出力データｄ［ｉ］の積和演算を間引く「１／８間引き」としても良い。
【００３４】
図４に、「１／４間引き」の場合を示す。この場合、３２個の出力データｄ［１］，ｄ［２］，・・・，ｄ［３１］に対して、４つに３つの積和演算を間引く。すなわち、３つおきの出力データｄ［３］，ｄ［７］，・・・，ｄ［３１］それぞれについては、式（２）に従った積和演算を行う。そして、これ以外の出力データｄ［０］，ｄ［１］，・・・，ｄ［３０］それぞれについては、積和演算を間引き、積和演算を行った出力データｄであってその前後のデータｄをもとに、次式（３）に従って補間する。
【数３】
2009063948.tif 000005
但し、ｎ＝０，１，・・・，７、である。
【００３５】
なお、間引く出力データｄの個数が多くなる（すなわち、間引き率が小さくなる）ほど、復号されるオーディオデータ（ＰＣＭデータ）の音質が劣化する。このため、必要とされる音質に応じて、間引き率を設定することが望ましい。
【００３６】
ところで、出力データｄの積和演算を間引くことによって、高周波ノイズが発生し、復号音声の品質（音質）が劣化してしまう可能性がある。この音質劣化を防止するために高周波成分をカットする方法として、ローパスフィルタを設けることが考えられるが、このフィルタ処理の演算量によって、出力データの積和演算の「間引き」による演算の削減量を相殺してしまう。そこで、本実施形態では、窓関数処理における積和演算の「間引き率」に応じてデコード処理の対象とするサブバンドの上限を変更することで、音質劣化の原因となる高周波成分をカットしている。
【００３７】
図５は、各サブバンドに割り当てる周波数帯域の一覧であり、複数のサンプリング周波数Ｆｓそれぞれについて示している。デコーダ処理において、逆量子化やステレオ分離、アンチエイリアシング、逆ＭＤＣＴの各処理はサブバンド単位で行われるが、３２のサブバンド全てについて行われるのではなく、上限として予め定められたサブバンドより高帯域のサブバンドについては、これらの処理は行われない。この上限のサブバンドは、人間の可聴周波数の上限である１６ｋＨｚを含むサブバンドとして定められている。なお、エンコード（符号化）時に、この可聴周波数領域外の成分はカットされている。
【００３８】
本実施形態では、この上限サブバンドが、間引き率Ｎに応じて引き下げるように変更される。すなわち、サンプリング周波数Ｆｓに間引き率Ｎを乗じて算出される上限周波数Ｆｍを含むサブバンドが、上限サブバンドとされる。例えば、同図では、サンプリング周波数Ｆｓが「１６ｋＨｚ」の場合、間引きが行われないとき（通常時）のサブバンド上限は、可聴上限周波数である「１６ｋＨｚ」を含む「２２」番目のサブバンドに定められている。しかし、「１／２間引き」での上限周波数Ｆｍは「８ｋＨｚ（＝１６（サンプリング周波数Ｆｓ）×１／２（間引き率Ｎ））」となり、これを含む「１８」番目のサブバンドが上限サブバンドとなる。また、「１／４間引き」での上限周波数Ｆｍは「４ｋＨｚ（＝１６（サンプリング周波数Ｆｓ）×１／４（間引き率Ｎ））」となり、これを含む「１４」番目のサブバンドが上限サブバンドとなる。
【００３９】
デコーダ処理において、逆量子化やステレオ分離、アンチエイリアシング、逆ＭＤＣＴの各処理はサブバンド単位で行われるが、定められた上限サブバンドより高帯域のサブバンドについては、これらの処理が行われない。このため、サブバンド上限を引き下げるように変更することで、これらの各処理の演算量が減少し、その結果、デコード処理全体としての演算量の削減が実現される。
【００４０】
［第１実施形態］
続いて、上述の原理を適用した第１実施形態を説明する。第１実施形態は、電子機器の一種である電子辞書の実施形態である。
【００４１】
図６は、第１実施形態における電子辞書１Ａの内部構成を示すブロック図である。この電子辞書１Ａは、記憶された音声データを再生して出力する音声出力機能を有し、ＣＰＵ１０Ａと、入力部２０と、表示部３０と、記憶部６０Ａと、ＭＰ３復号回路４０と、音出力部５０とを備えて構成される。
【００４２】
ＣＰＵ１０Ａは、記憶部６０Ａに記憶されるプログラムやデータ、入力部２０からの入力データ等に基づいて、電子辞書１Ａを構成する各部への指示やデータの転送等を行い、電子辞書１Ａの全体制御等を行う。具体的には、辞書プログラム６１に従って、辞書機能を実現するための辞書処理を行う。この辞書処理では、音声ＤＢ６６に格納されている音声データのうち、指定された語句に該当する音声データをＭＰ３復号回路４０にデコードさせ、音出力部５０に出力させる。
【００４３】
音声ＤＢ６６は、多数の音声データを格納したデータベースである。音声データは、英単語等の音声データが、ＭＰＥＧ規格に従ってエンコード（圧縮）されたＭＰ３データ（符号化音声データ）である。
【００４４】
また、ＣＰＵ１０Ａは、入力検出プログラム６２に従って入力部２０における操作入力を検出する処理や、表示制御プログラム６３に従って表示部３０への表示制御を行う処理、音出力制御プログラム６４に従ってＭＰ３復号回路４０によりデコード（復号）されたＰＣＭデータの音出力部５０からの出力制御を行う処理、処理負荷監視プログラム６５Ａに従ってＭＰ３復号回路４０におけるＣＰＵ４１０の処理負荷（例えば、ＣＰＵ使用率）を算出しＣＰＵ４１０に通知する処理といった複数の処理（アプリケーション）を並列に実行する。
【００４５】
入力部２０は、例えばキーボードやタッチパネル、各種スイッチ等で構成される入力装置であり、ユーザの操作入力に応じた入力信号をＣＰＵ１０Ａに出力する。表示部３０は、例えばＬＣＤで構成される表示装置であり、ＣＰＵ１０Ａから入力される表示信号に基づく画面を表示する。ＭＰ３復号回路４０は、音声ＤＢ６６に格納されている音声データ（ＭＰ３データ）のうち、指定された音声データを復号（デコード）し、ＰＣＭデータを生成して出力する。
【００４６】
図７に、ＭＰ３復号回路４０の回路構成を示す。同図によれば、ＭＰ３復号回路４０は、ＣＰＵ４１０と、ＲＯＭ４２０と、フラッシュＲＯＭ４３０とを備えて構成される。ＣＰＵ４１０は、ＭＰ３復号プログラム４２１に従ったデコード処理を行って、入力されたＭＰ３データをＰＣＭデータに変換して出力する。
【００４７】
図８に、ＣＰＵ４１０が行うデコード処理の流れを示す。同図によれば、ＣＰＵ４１０は、先ず、入力されたＭＰ３フォーマットのビットストリーム（ＭＰ３データ）を、所定のフレームに分解するビットストリーム分解を行う（ステップＡ１）。次いで、分解した各フレームからサイド情報を抽出し（ステップＡ３）、スケールファクタを復号するとともに（ステップＡ５）、サイド情報から窓関数に関するデータを抽出する（ステップＡ７）。ここで抽出された窓関数に関するデータは、窓関数データ４３３として記憶される。また、分解された各フレームのメインデータのハフマン復号を行う（ステップＡ９）。
【００４８】
続いて、サブバンド分析フィルタバンクにおける積和演算の間引き率Ｎを決定する。具体的には、間引き率設定テーブル４２２を参照して、ＣＰＵ１０Ａから通知される当該ＣＰＵ４１０の現在の処理負荷に対応する間引き率Ｎに決定する（ステップＡ１１）。
【００４９】
図９に、間引き率設定テーブル４２２のデータ構成の一例を示す。同図によれば、間引き率設定テーブル４２２は、処理負荷４２２ａと間引き率４２２ｂとを対応付けて格納している。この間引き率設定テーブル４２２では、処理負荷が大きいほど、間引き率Ｎが小さくなるように設定されている。これにより、処理負荷が大きいほど、間引き率Ｎが小さく決定され、デコード処理に要する演算量（処理負荷）が削減される。ここで決定された間引き率Ｎは、間引き率データ４３１として記憶される。
【００５０】
次いで、決定した間引き率Ｎをもとに、サブバンド上限を決定する（ステップＡ１３）。すなわち、サンプリング周波数Ｆｓに間引き率Ｎを乗じて上限周波数Ｆｍを算出し、サブバンド帯域割当テーブル４２３を参照して、算出した上限周波数Ｆｍを含むサブバンドを上限サブバンドとする。サブバンド帯域割当テーブル４２３は、例えば図５に示したように、サンプリング周波数毎に、サブバンドそれぞれへの周波数帯域の割り当てを定めたデータテーブルである。ここで決定されたサブバンド上限は、サブバンド上限データ４３２として記憶される。
【００５１】
サブバンド上限を決定すると、ＣＰＵ４１０は、サイド情報から抽出したスケールファクタに基づく逆量子化を行い（ステップＡ１５）、次いで、Ｒ／Ｌチャンネルに分離するステレオ分離を行う（ステップＡ１７）。この逆量子化及びステレオ分離は、サブバンドを単位として行うとともに、決定したサブバンド上限より高帯域のサブバンドについては行わない。
【００５２】
続いて、逆量子化したデータに対するハイブリッドフィルタバンク処理を行う。このハイブリットフィルタバンクでは、折返し歪みを削減するためのアンチエイリアシング処理を行い（ステップＡ１９）、次いで、周波数領域から時間領域への変換を行うとともに、窓関数の解除を行う逆ＭＤＣＴ処理を行う（ステップＡ２１）。そして、３２に分解されたサブバンドを合成し、ＰＣＭデータへの復元を行うサブバンド分析フィルタバンク処理を行う。
【００５３】
このサブバンド分析フィルタバンクでは先ず、逆ＭＤＣＴ処理の結果に対するＦＤＣＴ処理を行う（ステップＡ２３）。すなわち、３２個のデータブロックそれぞれから１サンプルずつ抽出した周波数領域の３２データに対して、式（１）に従ったＦＤＣＴ演算を行い、６４個のデータから構成される１６組のデータブロックを生成する。
【００５４】
次いで、ＦＤＣＴ処理の結果に対して、サイド情報から抽出した窓関数を用いた窓関数処理を行う（ステップＡ２５）。すなわち、６４個のデータで構成される１６組のデータブロックそれぞれに窓関数を乗算し、３２データ（半分）ずらして重ね合わせることで、３２個の出力データｄで構成されるデータブロックを生成する。このとき、決定した間引き率Ｎで、各出力データｄの積和演算を間引く。つまり、３２個の出力データｄのうち、「３２×間引き率Ｎ」個の出力データｄについては、式（２）の等価式で表される積和演算を行い、これ以外の出力データｄについては、積和演算を行った前後の出力データｄで補間する。デコード処理はこのように行われる。
【００５５】
図７に戻り、ＲＯＭ４２０は、ＣＰＵ４１０がＭＰ３復号回路４０を統括制御するための諸機能を実現するための各種プログラムやデータが記憶される。本実施形態では、プログラムとして、本実施形態のデコード処理を実現するためのＭＰ３復号プログラム４２１が記憶されるとともに、データとして、間引き率設定テーブル４２２と、サブバンド帯域割当テーブル４２３とが記憶される。
【００５６】
フラッシュＲＯＭ４３０は、ＣＰＵの作業領域として用いられ、ＣＰＵ４１０が各種プログラムに従って実行した演算結果等が一時的に格納される。本実施形態では、間引き率データ４３１と、サブバンド上限データ４３２と、窓関数データ４３３とが記憶される。
【００５７】
図６に戻り、音出力部５０は、例えばスピーカで構成される音出力装置であり、ＭＰ３復号回路４０によって生成されたＰＣＭデータをＤ／Ａ変換してアナログ信号に変換し、音声出力する。
【００５８】
記憶部６０Ａは、ＣＰＵ１０Ａが電子辞書１Ａを統括的に制御するための諸機能を実現するためのシステムプログラムやデータ等を記憶しているとともに、ＣＰＵ１０Ａの作業領域として用いられ、ＣＰＵ１０Ａが各種プログラムに従って実行した演算結果や、入力部２０からの入力信号等が一時的に格納される。本実施形態では、プログラムとして、辞書機能を実現するための辞書プログラム６１と、入力検出プログラム６２と、表示制御プログラム６３と、音出力制御プログラム６４と、処理負荷監視プログラム６５Ａとを記憶しているとともに、データとして、音声ＤＢ６６を記憶している。
【００５９】
［第２実施形態］
次に、第２実施形態を説明する。なお、第２実施形態において、上述の第１実施形態と同一の構成要素については同符号を付し、詳細な説明を簡略或いは省略する。
【００６０】
図１０に、第２実施形態における電子辞書１Ｂの内部構成の一例を示す。同図によれば、電子辞書１Ｂは、ＣＰＵ１０Ｂと、入力部２０と、表示部３０と、音出力部５０と、記憶部６０Ｂとを備えて構成される。この電子辞書１Ｂは、ＭＰ３復号回路４０を備えず、ＣＰＵ１０ＢがＭＰ３データを復号（デコード）するデコード処理を行い、当該ＣＰＵ１０Ｂの処理負荷（例えば、ＣＰＵ使用率）を自ら算出する点が、上述の第１実施形態における電子辞書１Ａと異なる。
【００６１】
ＣＰＵ１０Ｂは、記憶部６０Ｂに記憶されるプログラムやデータ、入力部２０からの入力データ等に基づいて、電子辞書１Ａを構成する各部への指示やデータの転送等を行い、電子辞書１Ｂの全体制御等を行う。具体的には、辞書プログラム６１に従って、辞書機能を実現するための辞書処理を行う。この辞書処理では、音声ＤＢ６６に格納されている音声データのうち、指定された単語に該当する音声データ（ＭＰ３データ）を対象としてＭＰ３復号プログラム４２１に従ったデコード処理（図８参照）を行い、当該音声データをデコード（復号）したＰＣＭデータを生成する。
【００６２】
また、ＣＰＵ１０Ｂは、入力検出プログラム６２に従って入力部２０における操作入力を検出する処理や、表示制御プログラム６３に従って表示部３０への表示制御を行う処理、音出力制御プログラム６４に従ってデコードされたＰＣＭデータを音出力部５０からの出力制御を行う処理、処理負荷監視プログラム６５Ｂに従って当該ＣＰＵ１０Ｂの現在の処理負荷を算出する処理といった複数の処理（アプリケーション）を並列に実行する。
【００６３】
図１１に、ＣＰＵ１０Ｂが行う辞書処理の流れを示す。同図によれば、ＣＰＵ１０Ｂは、先ず、入力検出プログラム６２に従った入力検出処理を開始するとともに（ステップＢ１）、表示制御プログラム６３に従った表示制御処理を開始する（ステップＢ３）。また、音出力制御プログラム６４に従った音出力制御処理を開始し（ステップＢ５）、更に、処理負荷監視プログラム６５Ｂに従った処理負荷監視処理を開始する（ステップＢ７）。
【００６４】
その後、表示部３０に、検索対象の辞書の選択や検索したい語句の入力等を行うためのメニュー画面を表示させる（ステップＢ９）。そして、入力部２０からの操作入力に従って、検索対象の辞書の選択や検索する語句の決定、この語句の検索、検索結果の表示制御といった辞書機能に関する各種処理を行う（ステップＢ１１）。
【００６５】
また、検索対象の語句等の音声再生を行うならば（ステップＢ１３：ＹＥＳ）、音声ＤＢ６６に格納されている当該語句に該当する音声データ（ＭＰ３データ）を対象として、ＭＰ３復号プログラム４２１に従ったデコード処理（図８参照）を行う（ステップＢ１５）。なお、このデコード処理において、間引き率の決定（図８のステップＡ１１）は、並列して実行している処理負荷監視処理において算出した、当該ＣＰＵ１０Ｂの現在の処理負荷をもとに行う。デコード処理を終了すると、生成したＰＣＭデータに基づく音声を音出力部５０から出力させる（ステップＢ１７）。
【００６６】
続いて、本辞書処理を終了するか否かを判断する。辞書処理を終了するか否かは、例えば電子辞書１Ｂの電源がＯＦＦされたか否かによって判断する。辞書処理を終了しないならば（ステップＢ１９：ＮＯ）、ステップＢ９に戻り、終了するならば（ステップＢ１９：ＹＥＳ）、辞書処理を終了する。
【００６７】
図１０に戻り、記憶部６０Ｂには、プログラムとして、辞書プログラム６１と、入力検出プログラム６２と、表示制御プログラム６３と、音出力制御プログラム６４と、ＭＰ３復号プログラム４２１と、処理負荷監視プログラム６５Ｂとが記憶されるとともに、データとして、音声ＤＢ６６と、間引き率設定テーブル４２２と、サブバンド帯域割当テーブル４２３と、間引き率データ４３１と、サブバンド上限データ４３２と、窓関数データ４３３とが記憶される。
【００６８】
［変形例］
なお、本発明の適用可能な実施形態は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【００６９】
例えば、上述の第１実施形態において、ＭＰ３復号回路４０におけるＣＰＵ４１０の処理負荷に応じて、当該ＣＰＵ４１０が行うデコード処理における間引き率を決定することにしたが、これを、予めＣＰＵ４１０の処理能力に応じて間引き率を決定しておくことにしても良い。
【００７０】
また、上述の第１及び第２実施形態では、それぞれ、ＭＰ３復号回路４０のＣＰＵ４１０及び電子辞書１ＢのＣＰＵ１０Ｂの処理負荷に応じて、デコード処理における間引き率を決定することにし、その処理負荷の例としてＣＰＵ使用率を例に挙げたが、これを、現在実行中の処理（アプリケーション）の数としても良い。すなわち、現在実行中の処理（アプリケーション）の数に応じてデコード処理における間引き率を決定することにしても良い。この場合、実行中の処理の数が多いほど、間引き率を小さくし、デコード処理に要する処理負荷を削減するようにする。
【図面の簡単な説明】
【００７１】
【図１】サブバンド分析フィルタバンクにおける窓関数処理の説明図。
【図２】通常時（間引きを行わない場合）の窓関数処理の詳細な説明図。
【図３】１／２間引き時の窓関数処理の詳細な説明図。
【図４】１／４間引き時の窓関数処理の詳細な説明図。
【図５】各サブバンドに割り当てる周波数帯域の一覧。
【図６】第１実施形態における電子辞書の内部構成図。
【図７】ＭＰ復号回路の回路構成図。
【図８】デコード処理のフローチャート。
【図９】間引き率設定テーブルのデータ構成例。
【図１０】第２実施形態における電子辞書の内部構成図。
【図１１】辞書処理のフローチャート。
【符号の説明】
【００７２】
１Ａ，１Ｂ  電子辞書、  １０Ａ，１０Ｂ  ＣＰＵ、  ４０  ＭＰ３復号回路、
４１０  ＣＰＵ、  ４２０  ＲＯＭ、  ４２１  ＭＰ３復号プログラム、
４２２  間引き率設定テーブル、  ４２３  サブバンド帯域割当テーブル、
４３０  フラッシュＲＯＭ、  ４３１  間引き率データ、  
４３２  サブバンド上限データ、  ４３３  窓関数データ、  ６０Ａ，６０Ｂ  記憶部、
６１  辞書プログラム、  ６２  入力検出プログラム、  ６３  表示制御プログラム、
６４  音出力制御プログラム、  ６５Ａ，６５Ｂ  処理負荷監視プログラム、
６６  音声ＤＢ
【図１】
2009063948.tif 000006
【図２】
2009063948.tif 000007
【図３】
2009063948.tif 000008
【図４】
2009063948.tif 000009
【図５】
2009063948.tif 000010
【図６】
2009063948.tif 000011
【図７】
2009063948.tif 000012
【図８】
2009063948.tif 000013
【図９】
2009063948.tif 000014
【図１０】
2009063948.tif 000015
【図１１】
2009063948.tif 000016