(57)【要約】【課題】ＳＢＲのような帯域拡張符号化方式を採用し、バースト的に処理負荷の高いフレームを受信する場合でも、音途切れによる聴感上の違和感を軽減する。【解決手段】デコーダ２０は、入力バッファ１０から読み出したオーディオデータを、制御部１００からの指示に応じて、間欠的もしくは連続的に復号処理を実行する。出力バッファ３０は、デコーダ２０から出力されるＰＣＭデータを一時的に蓄積し、蓄積したＰＣＭデータを所定の平均転送速度でディジタルアンプ４０に出力する。制御部１００は、当該復号装置の各部を統括して制御するものであって、出力バッファ３０に蓄積されるＰＣＭデータの残量を検出し、この検出結果に応じて、デコーダ２０におけるデコード処理を制御して、出力バッファ３０に記憶されるＰＣＭデータが枯渇しないようにしたものである。【選択図】      図１
2006133698.tif 000002
【特許請求の範囲】
【請求項１】
符号化された音声データが入力される入力手段と、
この入力手段を通じて入力された音声データを復号する復号手段と、
この復号手段によって復号されたデータを一時的に記憶する出力バッファ手段と、
この出力バッファ手段が記憶しているデータの量を検出する検出手段と、
この検出手段が検出したデータ量に応じて、前記復号手段による復号動作を制御する制御手段とを具備したことを特徴とする復号装置。
【請求項２】
さらに、前記入力手段を通じて入力された音声データを一時的に記憶する入力バッファ手段を備え、
前記復号手段は、前記入力バッファに記憶される音声データを読み出して復号するもので、
前記制御手段は、前記検出手段が検出したデータ量に応じて、前記復号手段による復号動作の開始タイミングを制御することを特徴とする請求項１に記載の復号装置。
【請求項３】
前記制御手段は、前記検出手段が検出したデータ量が予め設定した閾値以上の場合には、所定の時間だけ経過した後に前記復号手段に復号動作させ、一方、前記検出手段が検出したデータ量が予め設定した閾値未満の場合には、所定の時間が経過する前に前記復号手段に復号動作させることを特徴とする請求項２に記載の復号装置。
【請求項４】
前記制御手段は、前記検出手段が検出したデータ量に応じて、前記復号手段による復号処理の負荷レベルを制御することを特徴とする請求項１に記載の復号装置。
【請求項５】
さらに、前記入力手段を通じて入力された音声データを一時的に記憶する入力バッファ手段を備え、
前記復号手段は、前記入力バッファに記憶される音声データを読み出して復号するもので、
前記制御手段は、前記検出手段が検出したデータ量が予め設定した閾値未満の場合には、過去に音声データを復号した際に用いた情報を用いた復号を前記復号手段に行わせることを特徴とする請求項４に記載の復号装置。
【請求項６】
前記制御手段は、前記検出手段が検出したデータ量が予め設定した閾値以上の場合には、前記復号手段に帯域拡張処理を含む復号処理を実行させ、一方、前記検出手段が検出したデータ量が予め設定した閾値未満の場合には、前記復号手段に帯域拡張処理を除く復号処理を実行させることを特徴とする請求項４に記載の復号装置。
【請求項７】
前記復号手段は、音声データにコアデータの復号処理と帯域拡張処理を施すものであって、
前記制御手段は、前記検出手段が検出したデータ量に応じて、前記復号手段で行われる帯域拡張処理の拡張帯域幅を可変することを特徴とする請求項４に記載の復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばＡＡＣ（Advanced Audio Coding）方式やＭＰ３（MPEG Audio Layer-3）方式などのオーディオデータの復号に用いられる復号装置に関する。
【背景技術】
【０００２】
周知のように、ＡＡＣやＭＰ３などのコアデコーダと組み合わせ可能な帯域拡張符号化方式の１つとしてＳＢＲ（Spectral Band Replication）がある（例えば、特許文献１参照）。このＳＢＲは、復号処理負荷が比較的大きいことが知られている。
【０００３】
ＳＢＲのような帯域拡張符号化方式を採用した場合に、復号装置のプロセッサによっては処理能力を超えるフレームデータが入力されると、復号時に音途切れ等の現象が発生する可能性がある。
【０００４】
これに対して従来は、プロセッサに対する突発的な処理負荷による影響を緩和するために、復号データの出力段でバッファリング処理を行うことで音途切れを回避している。しかしながら、このような従来の手法では、処理負荷による影響をある程度緩和することは可能であるが、バッファリング処理した復号データのアンダーフローが発生し、音途切れが発生する可能性があるという問題があった。この問題は、バースト的に処理負荷の高いフレームを受信する際に、顕著な問題となっていた。
【特許文献１】特開２００４−０５３９４０公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の復号装置では、ＳＢＲのような帯域拡張符号化方式を採用する場合に、バッファリング処理した復号データのアンダーフローが発生し、音途切れが発生して聴感上の違和感が生じるという問題があった。
【０００６】
この発明は上記の問題を解決すべくなされたもので、ＳＢＲのような帯域拡張符号化方式を採用する場合でも、音途切れによる聴感上の違和感を軽減することが可能な復号装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、この発明は、符号化された音声データが入力される入力手段と、この入力手段を通じて入力された音声データを復号する復号手段と、この復号手段によって復号されたデータを一時的に記憶する出力バッファ手段と、この出力バッファ手段が記憶しているデータの量を検出する検出手段と、この検出手段が検出したデータ量に応じて、復号手段による復号動作を制御する制御手段とを具備して構成するようにした。
【発明の効果】
【０００８】
以上述べたように、この発明では、復号手段によって復号されたデータを一時的に記憶する出力バッファ手段が記憶しているデータ量に応じて、復号手段による復号動作を制御するようにしている。
【０００９】
したがって、この発明によれば、出力バッファ手段が記憶する復号後のデータが枯渇しないように復号処理することができるので、音途切れを防止して聴感上の違和感を軽減することが可能な復号装置を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、この発明の一実施形態について説明する。  
図１は、この発明の一実施形態に係わる復号装置の構成を示すものである。この復号装置は、入力バッファ１０、デコーダ２０、出力バッファ３０、ディジタルアンプ４０、スピーカ５０および制御部１００を備えている。
【００１１】
入力バッファ１０は、ＡＡＣ方式やＭＰ３方式などのコアデータを含むオーディオデータが前段の受信部（図示しない）から入力され、この入力されたオーディオデータを一時的に記憶し、デコーダ２０に出力する。
【００１２】
上記オーディオデータは、図２に示すようなフレーム内に挿入されてた状態で通信相手より送信され、上記受信部で受信されるものである。このため、上記受信部から入力バッファ１０へは、バースト的に入力されることになる。
【００１３】
なお、上記受信部に代わって、例えば外部機器から上記オーディオデータが入力されるインターフェースや、ＤＶＤやＣＤなどの光学メディアや、ハードウェアディスクや半導体メモリなどのストレージデバイスから上記オーディオデータを読み出すインターフェースであってもよい。
【００１４】
デコーダ２０は、入力バッファ１０に蓄積されたオーディオデータを読み出してこれに復号処理を施すものであって、後述する制御部１００からの指示に応じて、上記復号処理を間欠的もしくは連続的に実行する。この復号処理では、上記オーディオデータに復号処理を施したのち、この処理結果にＳＢＲによる帯域拡張符号化処理を施して、ＰＣＭデータを得る。
【００１５】
出力バッファ３０は、デコーダ２０から出力されるＰＣＭデータを一時的に蓄積し、蓄積したＰＣＭデータを所定の平均転送速度でディジタルアンプ４０に出力する。ディジタルアンプ４０は、出力バッファ３０から与えられるＰＣＭデータに基づいてアナログ信号を生成し、これを増幅する。この増幅されたアナログ信号は、スピーカ５０より拡声出力される。
【００１６】
制御部１００は、当該復号装置の各部を統括して制御するものであって、出力バッファ３０に蓄積されるＰＣＭデータの残量を検出し、この検出結果に応じて、デコーダ２０におけるデコード処理を制御する。
【００１７】
次に、上記構成の復号装置の動作について、制御部１００の制御動作を通じて説明する。図３は、制御部１００の制御動作を説明するフローチャートである。このフローチャートの基になる制御プログラムは制御部１００内に記憶され、制御部１００は上記制御プログラムに従って動作する。
【００１８】
また図４に、出力バッファ３０に蓄積されるＰＣＭデータの残量の一例を示す。なお、この実施例では、説明を簡明にするために、出力バッファ３０での初期遅延を１フレームとした場合について述べることにするが、この遅延フレーム数は、システムが許容する出力遅延に応じて１フレーム以上を設定してもよい。
【００１９】
なお、以下の説明では、制御部１００は、安定したデコード処理がなされる状況において、基準閾値２＋αフレーム分以上のＰＣＭデータが出力バッファ３０に蓄積されるように各部を制御するものとする。
【００２０】
上記基準閾値は、デコーダ２０のデコード処理負荷がプロセッサ処理能力を超えているかどうか判断する際のマージン値である。α=0の場合にはマージンはなく、ＰＣＭデータが基準閾値以下であればデコード処理負荷がプロセッサ処理能力を超えていることを意味する。またα>0の場合に、ＰＣＭデータが２以上基準値以下であればデコード処理負荷がプロセッサ処理能力以内であるが、次フレーム以降でプロセッサ処理能力を超える可能性が高いことを意味する。
【００２１】
まず、ステップ３ａにおいて制御部１００は、デコーダ２０を制御して、無音データを出力させるとともに、次フレームのデコード方法を制御するデコードフラグの初期設定として「通常デコード」を示す値にセットし、ステップ３ｂに移行する。
【００２２】
無音データの出力により出力バッファ３０には、無音データが蓄積される。これは、処理負荷時のバッファアンダーフローによる音途切れを回避するのものである。また、デコードフラグとして「通常デコード」が設定されることで、デコーダ２０はオーディオデータに対応する復号処理と、ＳＢＲ処理を実行する。
【００２３】
ステップ３ｂにおいて制御部１００は、デコーダ２０にデコード処理を開始させ、ステップ３ｃに移行する。これによりデコーダ２０では、プロセッサが、入力バッファ１０からオーディオデータを１フレーム分読み出し、これに現在設定されるデコードフラグに従ったデコード処理を施し、これによって得たＰＣＭデータを出力バッファ３０に出力する。
【００２４】
ステップ３ｃにおいて制御部１００は、出力バッファ３０に蓄積されるＰＣＭデータの残量を検出し、この残量が２＋αフレーム分以上か否かを判定する。ここで、上記残量が２＋αフレーム分以上の場合には、ステップ３ｄに移行し、２＋αフレーム分未満の場合には、ステップ３ｅに移行する。
【００２５】
ここで、上記残量が２＋αフレーム分以上と判断された場合は、図４（ａ）に示すような状態であり、この時点でのデコーダ２０に対する処理負荷が、プロセッサの処理能力以下の状況にあると考えられる。
【００２６】
ステップ３ｄにおいて制御部１００は、上述したように、処理負荷がプロセッサの処理能力以下の状況と考えられるため、デコーダ２０にデコードフラグとして「通常デコード」を設定し、そしてデコーダ２０を次のフレーム周期までスリープ（sleep）させるために待機し、次のフレーム周期の到来に合わせて、ステップ３ｂに移行する。
【００２７】
このスリープ後のステップ３ｂ移行時にあっては、出力バッファ３０に蓄積されるＰＣＭデータの残量は、上記スリープ中にＰＣＭデータを消費（出力）しているため、図４（ｂ）に示すような状態となっている。
【００２８】
ステップ３ｅにおいて制御部１００は、出力バッファ３０に蓄積されるＰＣＭデータの残量を検出し、この残量が２−βフレーム分以上か否かを判定する。ここで、上記残量が２−βフレーム分以上の場合には、ステップ３ｆに移行し、２−βフレーム分未満の場合には、ステップ３ｇに移行する。
【００２９】
ここで、上記残量が２−βフレーム分以上と判断された場合は、図４（ｃ）に示すような状態であり、この時点でのデコーダ２０の処理能力とデコード処理負荷が同程度であり、次フレーム以降で処理負荷がプロセッサ処理能力を超える可能性が高い状況にあると考えられる。
【００３０】
ステップ３ｆにおいて制御部１００は、上述したように、デコーダ２０の処理能力とデコード処理負荷が同程度であると考えられるため、デコーダ２０にデコードフラグとして「通常デコード」を設定し、デコーダ２０をスリープさせることなく、ステップ３ｂに移行して次フレームのデコード処理を実行させる。
【００３１】
ステップ３ｇにおいて制御部１００は、出力バッファ３０に蓄積されるＰＣＭデータの残量を検出し、この残量が２−γフレーム分以上か否かを判定する（β＜γ）。ここで、上記残量が２−γフレーム分以上の場合には、ステップ３ｈに移行し、２−γフレーム分未満の場合には、ステップ３ｊに移行する。
【００３２】
ここで、上記残量が２−γフレーム分以上と判断された場合は、図４（ｄ）に示すような状態であり、この時点でのデコーダ２０に対する処理負荷が、プロセッサの処理能力に比して比較的高い状況にあり、処理が遅れだしていると考えられる。
【００３３】
ステップ３ｈにおいて制御部１００は、上述したように、処理負荷が遅れだしていると考えられるため、デコーダ２０にデコードフラグとして「ＳＢＲ処理簡略」を設定し、デコーダ２０をスリープさせることなく、ステップ３ｂに移行して、次フレームに対してＳＢＲ処理が簡略化されたデコード処理を実行させる。
【００３４】
なお、デコードフラグとして「ＳＢＲ処理簡略」が設定される場合には、デコーダ２０は、前フレームのデコード処理時に用いたエンベロープ補正のパワー情報などを流用してデコード処理を実行し、ＳＢＲデコード処理を簡略化して、処理の遅れを取り戻す。
【００３５】
なお、ＳＢＲ処理簡略化は、上述したような情報流用によるもののほかに、拡張帯域を制限することで処理負荷を軽減するようにしたり、あるいはこの拡張帯域制限と上記情報流用と併せて行うようにしてもよい。
【００３６】
一方、ステップ３ｇにて、上記残量が２−γフレーム分未満と判断された場合は、図４（ｅ）に示すような状態であり、この時点でのデコーダ２０に対する処理負荷が、プロセッサの処理能力に比してかなり高い状況にあり、過度に処理が遅れていると考えられる。  このため、ステップ３ｊにおいて制御部１００は、上述したように、過度に処理負荷が遅れていると考えられるため、デコーダ２０にデコードフラグとして「ＳＢＲ処理省略」を設定し、デコーダ２０をスリープさせることなく、ステップ３ｂに移行する。
【００３７】
これにより、ステップ３ｂにおける次フレームのデコード処理では、デコードフラグとして「ＳＢＲ処理省略」が設定されるため、ＳＢＲ処理を省略して、コアデコードの処理とアップサンプリング処理のみを実行させる。
【００３８】
以上のように、上記構成の復号装置では、出力バッファ３０に蓄積されるＰＣＭデータの残量が基準閾値（２＋αフレーム分）以上の場合には、デコーダ２０に対する処理負荷が、プロセッサの処理能力以下の状況にあるものと判断して、デコーダ２０を次のフレーム周期までスリープさせた後、次のフレーム周期に通常のデコード処理として、オーディオデータに対応する復号処理と、ＳＢＲ処理を実行させる。
【００３９】
そして、出力バッファ３０に蓄積されるＰＣＭデータの残量が基準閾値未満２−βフレーム分以上の場合には、デコーダ２０の処理能力とデコード処理負荷が同程度であると判断して、次フレーム以降のデコード時のプロセッサ処理能力マージンを増やすため、デコーダ２０をスリープさせることなく、通常のデコード処理を実行させる。
【００４０】
そしてまた、出力バッファ３０に蓄積されるＰＣＭデータの残量が２−βフレーム分未満２−γフレーム分以上の場合には、デコーダ２０に対する処理負荷が、プロセッサの処理能力に比して比較的高い状況にあるものと判断して、デコーダ２０をスリープさせることなく、ＳＢＲ処理が簡略化されたデコード処理を実行させる。
【００４１】
さらに、出力バッファ３０に蓄積されるＰＣＭデータの残量が２−γフレーム分未満の場合には、デコーダ２０に対する処理負荷が、プロセッサの処理能力に比して過度に高い状況にあるものと判断して、デコーダ２０をスリープさせることなく、ＳＢＲ処理を省略したデコード処理を実行させる。
【００４２】
すなわち、上記構成の復号装置では、出力バッファ３０に蓄積されるＰＣＭデータの残量に応じて、スリープ時間を制御したり、あるいはデコード処理の負荷レベルを制御するようにしている。
【００４３】
したがって、上記構成の復号装置によれば、出力バッファ３０に蓄積されるＰＣＭデータが枯渇してしまう状況を回避でき、音途切れを防止して聴感上の違和感を軽減することができる。
【００４４】
特に、オーディオデータがバースト受信される場合にあっては、デコーダ２０に対する処理負荷が大きくなると、出力バッファ３０に蓄積されるＰＣＭデータが枯渇してしまう虞が高いため、バースト受信を行う機器や、バースト受信のように、オーディオデータが断続的に入力される機器に大きな効果をもたらす。
【００４５】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【００４６】
その一例として例えば、上記実施の形態では、出力バッファ３０に蓄積されるＰＣＭデータの残量に応じて、スリープ時間を制御したり、あるいはデコード処理の負荷レベルを制御するように構成したが、これに代わって、あるいはこれに加えて例えば、出力バッファ３０に蓄積されるＰＣＭデータの残量に応じて、ＳＢＲ処理による帯域拡張の周波数範囲を増減するようにしてもよい。  
その他、この発明の要旨を逸脱しない範囲で種々の変形を施しても同様に実施可能であることはいうまでもない。
【図面の簡単な説明】
【００４７】
【図１】この発明に係わる復号装置の一実施形態の構成を示す回路ブロック図。
【図２】図１に示した復号装置の入力バッファに入力されるオーディオデータを説明するための図。
【図３】図１に示した復号装置の動作を説明するためのフローチャート。
【図４】図１に示した復号装置の出力バッファに記憶されているデータ量を示す図。
【符号の説明】
【００４８】
１０…入力バッファ、２０…デコーダ、３０…出力バッファ、４０…ディジタルアンプ、１００…制御部。
【図１】
2006133698.tif 000003
【図２】
2006133698.tif 000004
【図３】
2006133698.tif 000005
【図４】
2006133698.tif 000006