(57)【要約】【課題】エラー隠蔽処理によって発生する不快なノイズを少ない演算量で軽減する。【解決手段】符号化されたオーディオデータを復号する復号装置において、前記符号化されたオーディオデータの誤りを検出する誤り検出手段と、該誤り検出手段が検出した誤り情報からエラー隠蔽に使用するオーディオフレームと窓関数の重みを決定するエラー隠蔽方法決定手段と、周波数成分で表されたオーディオデータを時間領域オーディオフレームへ変換する周波数／時間変換手段と、該周波数／時間変換手段が出力する時間領域オーディオフレームを蓄積するオーディオフレームバッファと、前記周波数／時間変換手段が出力する時間領域オーディオフレーム及び／又は該オーディオフレームバッファに蓄積されたオーディオフレームに対して前記エラー隠蔽方法決定手段で決定した窓関数の重みに基づいて重み付け加算する窓掛け処理手段を備える。【選択図】        図１
2004361731.tif 000002
【特許請求の範囲】
【請求項１】
符号化されたオーディオデータを復号する復号装置において、前記符号化されたオーディオデータの誤りを検出する誤り検出手段と、該誤り検出手段が検出した誤り情報からエラー隠蔽に使用するオーディオフレームと窓関数の重みを決定するエラー隠蔽方法決定手段と、周波数成分で表されたオーディオデータを時間領域オーディオフレームへ変換する周波数／時間変換手段と、該周波数／時間変換手段が出力する時間領域オーディオフレームを蓄積するオーディオフレームバッファと、前記周波数／時間変換手段が出力する時間領域オーディオフレーム及び／又は該オーディオフレームバッファに蓄積されたオーディオフレームに対して前記エラー隠蔽方法決定手段で決定した窓関数の重みに基づいて重み付け加算する窓掛け処理手段を備えることを特徴とするオーディオ復号装置。
【請求項２】
前記窓掛け処理手段は、連続エラーが発生したならば、前記連続エラーが発生する前のオーディオフレームをその振幅を減衰させながら連続して出力することを特徴とする請求項１に記載のオーディオ復号装置。
【請求項３】
前記窓掛け処理手段は、連続エラーから回復したならば、回復後のオーディオフレームをその振幅を増大させながら出力することを特徴とする請求項１に記載のオーディオ復号装置。
【請求項４】
前記窓掛け処理手段は、短期エラーが発生したならば、前記短期エラーの前半部においては、前記短期エラーが発生する前のオーディオフレームを出力し、前記短期エラーの後半部においては、前記短期エラーが発生した後のオーディオフレームを出力することを特徴とする請求項１に記載のオーディオ復号装置。
【請求項５】
前記誤り検出手段が、伝送路符号化されたデータを復号する機能を有するチャネルデコーダに含まれることを特徴とする請求項１記載のオーディオ復号装置。
【請求項６】
前記誤り検出手段が、オーディオデータを多重化したデータストリームを分離する機能を有する多重化分離手段に含まれることを特徴とする請求項１記載のオーディオ復号装置。
【請求項７】
前記誤り検出手段が検出した誤り情報の履歴を保存する誤り履歴記憶手段を更に備え、前記エラー隠蔽方法決定手段は誤り検出手段が検出した誤り情報と該誤り履歴記憶手段の誤り情報の履歴からエラー隠蔽に使用するオーディオフレームおよび窓関数の重みを決定することを特徴とする請求項１記載のオーディオ復号装置。
【請求項８】
前記エラー隠蔽処理決定手段は、誤り履歴記憶手段に記憶された以前のエラー発生率と誤り検出手段が検出した誤り情報に基づいて処理手順を決定することを特徴とする請求項７記載のオーディオ復号装置。
【請求項９】
前記エラー隠蔽処理決定手段は、誤り履歴記憶手段に記憶された以前のデータ連続紛失数と誤り検出手段が検出した誤り情報に基づいて処理手順を決定することを特徴とする請求項７記載のオーディオ復号装置。
【請求項１０】
前記窓掛け処理手段は、エラーが発生したならば、エラー率が第１のエラー率である場合には、エラーが発生する前のオーディオフレームをその振幅を第１の減衰率で減衰させながら連続して出力し、エラー率が前記第１のエラー率より低い第２のエラー率である場合には、エラーが発生する前のオーディオフレームをその振幅を前記第１の減衰率よりも低い第２の減衰率で減衰させながら連続して出力することを特徴とする請求項７に記載のオーディオ復号装置。
【請求項１１】
前記窓掛け処理手段は、連続エラーから回復したならば、予測エラー率がしきい値以上である場合には、出力を無音とし、前記予測エラー率が前記しきい値以下である場合には、オーディオフレームをその振幅を増加させながら出力することを特徴とする請求項７に記載のオーディオ復号装置。
【請求項１２】
符号化されたオーディオデータを復号する復号方法において、前記符号化されたオーディオデータの誤りを検出する誤り検出ステップと、該誤り検出ステップが検出した誤り情報からエラー隠蔽に使用するオーディオフレームと窓関数の重みを決定するエラー隠蔽方法決定ステップと、周波数成分で表されたオーディオデータを時間領域オーディオフレームへ変換する周波数／時間変換ステップと、該周波数／時間変換ステップが出力する時間領域オーディオフレームを蓄積するオーディオフレームバッファと、前記周波数／時間変換ステップが出力する時間領域オーディオフレーム及び／又は該オーディオフレームバッファに蓄積されたオーディオフレームに対して前記エラー隠蔽方法決定ステップで決定した窓関数の重みに基づいて重み付け加算する窓掛け処理ステップを備えることを特徴とするオーディオ復号方法。
【請求項１３】
前記窓掛け処理ステップは、連続エラーが発生したならば、前記連続エラーが発生する前のオーディオフレームをその振幅を減衰させながら連続して出力することを特徴とする請求項１２に記載のオーディオ復号方法。
【請求項１４】
前記窓掛け処理ステップは、連続エラーから回復したならば、回復後のオーディオフレームをその振幅を増大させながら出力することを特徴とする請求項１２に記載のオーディオ復号方法。
【請求項１５】
前記窓掛け処理ステップは、短期エラーが発生したならば、前記短期エラーの前半部においては、前記短期エラーが発生する前のオーディオフレームを出力し、前記短期エラーの後半部においては、前記短期エラーが発生した後のオーディオフレームを出力することを特徴とする請求項１２に記載のオーディオ復号方法。
【請求項１６】
前記誤り検出ステップが検出した誤り情報の履歴を保存する誤り履歴記憶ステップを更に備え、前記エラー隠蔽方法決定ステップは誤り検出ステップが検出した誤り情報と該誤り履歴記憶ステップの誤り情報の履歴からエラー隠蔽に使用するオーディオフレームおよび窓関数の重みを決定することを特徴とする請求項１２記載のオーディオ復号方法。
【請求項１７】
前記エラー隠蔽処理決定ステップは、誤り履歴記憶ステップに記憶された以前のエラー発生率と誤り検出ステップが検出した誤り情報に基づいて処理手順を決定することを特徴とする請求項１６記載のオーディオ復号方法。
【請求項１８】
前記エラー隠蔽処理決定ステップは、誤り履歴記憶ステップに記憶された以前のデータ連続紛失数と誤り検出ステップが検出した誤り情報に基づいて処理手順を決定することを特徴とする請求項１６記載のオーディオ復号方法。
【請求項１９】
前記窓掛け処理ステップは、エラーが発生したならば、エラー率が第１のエラー率である場合には、エラーが発生する前のオーディオフレームをその振幅を第１の減衰率で減衰させながら連続して出力し、エラー率が前記第１のエラー率より低い第２のエラー率である場合には、エラーが発生する前のオーディオフレームをその振幅を前記第１の減衰率よりも低い第２の減衰率で減衰させながら連続して出力することを特徴とする請求項１６に記載のオーディオ復号方法。
【請求項２０】
前記窓掛け処理ステップは、連続エラーから回復したならば、予測エラー率がしきい値以上である場合には、出力を無音とし、前記予測エラー率が前記しきい値以下である場合には、オーディオフレームをその振幅を増加させながら出力することを特徴とする請求項１６に記載のオーディオ復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化されたオーディオデータを復号してオーディオデータを得るオーディオ復号装置及びオーディオ復号方法に関し、特に、符号化されたオーディオデータの復号処理において、復号時にエラーが発生した際に音質の向上を実現するオーディオ復号装置及びオーディオ復号方法に関する。
【０００２】
【従来の技術】
近年使われるようになった圧縮されたオーディオデータ（ＭＰ３、ＡＡＣ、Ｄｏｌｂｙ  Ｄｉｇｉｔａｌ、ＡＴＲＡＣ等）では、エントロピー符号化並びに窓関数及び直交変換の組合せを用いた圧縮を行い、リニアＰＣＭよりも高い符号化効率を実現している。このような圧縮されたオーディオデータは復号装置において復号されて再生されるが、記憶媒体や伝送路上でエラーが発生することがある。特に無線による伝送等ではエラー発生頻度が高く、エラーを知覚しにくくする対策が必要となる。通常、伝送されるオーディオデータにはＣＲＣ符号などの誤り検出符号が含まれており、伝送誤りの検出が可能となっている。
【０００３】
上記のような誤り検出符号により誤りが検出された場合は、従来は該当するオーディオフレームをミュートしたり、正しく復号できるオーディオフレームまでスキップしたりすることで誤りへの対策を行なっていた。また、窓関数の入力信号にゼロを挿入して音を滑らかに減衰させて、ノイズを減らすなどの方法をとることもできる（例えば、特許文献１参照）。
【０００４】
また別の手段としては、直前に正常に復号できたオーディオフレームをメモリに蓄積しておき、次の正常に復号できるデータを受け取るまでの間、そのデータを繰り返し出力しておくことでエラーを知覚しにくくする方法もよく用いられる。
【０００５】
【特許文献１】
特開２００２−０７３０９１号公報
【０００６】
【発明が解決しようとする課題】
しかし、上記した従来のエラー対策では、以下のような問題点があった。
【０００７】
第１の問題点は、エラーを起こしたオーディオデータのエラーを隠蔽するために復号済みの隣接するオーディオフレームを使って補間するとオーディオフレームの境目で音が不連続になりノイズの原因となる点である。
【０００８】
第２の問題点は、符号化されたオーディオデータ内のエラー情報だけを用いたエラー隠蔽処理を行なっているため、エラー隠蔽方法を決定する要素の選択肢が少なく、十分なエラー対策を行うことが出来ない点である。
【０００９】
第３の問題点は、現在復号しているオーディオデータと隣接オーディオデータのエラー情報だけを用いてエラー隠蔽処理を行なっているため、今後の状況を推定してエラー対策を行うことが出来ない点である。
【００１０】
そこで、本発明の第１の目的は、エラー隠蔽処理によって発生する不快なノイズを少ない演算量で軽減することにある。
【００１１】
本発明の第２の目的は、エラー対策を行なうための指標を増加させて、誤り発生時により良い音質を実現することにある。
【００１２】
本発明の第３の目的は、誤り発生時に今後のエラー発生状況を推定して、より適切なエラー隠蔽を行いより良い音質でのオーディオ再生を実現することにある。
【００１３】
【課題を解決するための手段】
本発明のオーディオ復号装置は、上記目標を達成するため、再生時の誤りを検出する誤り検出手段と、該誤り検出手段が検出した誤り情報からエラー隠蔽に用いるオーディオフレームと窓関数の重みを決定するエラー隠蔽方法決定手段と、周波数成分で表されたオーディオ信号を時間領域オーディオフレームへ変換する周波数／時間変換手段と、該周波数／時間変換手段が出力するオーディオフレームを蓄積するオーディオフレームバッファと、該周波数／時間変換手段が出力するオーディオフレームと該オーディオフレームバッファに蓄積されたオーディオフレームに対して該エラー隠蔽方法決定手段で決定した窓関数に基づいて重み付け加算する窓掛け処理手段を備えている。
【００１４】
この構成においては、誤り検出手段が符号化されたオーディオデータ内のエラーを検出し、エラー隠蔽方法決定手段に情報を通知する。周波数領域で表現されたオーディオデータは周波数／時間変換手段で時間領域オーディオフレームに変換され、オーディオフレームバッファに蓄積される。時間領域オーディオフレームとオーディオフレームバッファ内の古いオーディオフレームを、エラー隠蔽方法決定手段で決めた窓掛けの重みに従い窓掛け処理を行いノイズの少ない再生音声（オーディオフレーム）を得ることができる。
【００１５】
更に、本発明のオーディオ復号装置は、誤り検出の機会を増加させるために、前記誤り検出手段が伝送路符号化されたデータを復号する機能を有するチャネルデコーダに含まれる構成、オーディオ信号を多重化したデータストリームを分離する機能を有する多重化分離手段に含まれる構成を有する。
【００１６】
この構成によれば、符号化されたオーディオ信号に伝送路上で発生した誤りの検出とその隠蔽、多重化データストリーム内に発生した誤りの検出とその隠蔽が可能になる。
【００１７】
また、本発明のオーディオ復号装置は、過去の誤り率を用いてエラー隠蔽の効果を高めるために、前記誤り検出手段が検出した誤り情報の履歴を保存する誤り履歴記憶手段を備え、前記エラー隠蔽方法決定手段は誤り検出手段が検出した誤り情報と該誤り履歴記憶手段の誤り情報の履歴から窓関数の重みを決定する機能を備えている。
【００１８】
この構成においては、誤り検出手段で検出したエラー情報を誤り履歴記憶手段に古いものも含めて蓄積しておき、エラー隠蔽方法決定手段で古いエラー情報も考慮して今後のエラー発生状況を推定し、その推定値に基づいたエラー隠蔽処理を行うことでより音質の良い出力を得ることを可能にする。
【００１９】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２０】
［実施形態１］
図１は本発明の第１の実施の形態のブロック図である。本実施の形態は、符号化されたオーディオデータにエラーが検出された場合に音の不連続点が発生してノイズがでるのを防ぐものであり、誤り検出部１０１と、エラー隠蔽方法決定部１０２と、周波数／時間変換部１０３と、窓掛け処理部１０４と、オーディオフレームバッファ１０５とを備えている。
【００２１】
誤り検出部１０１は、符号化されたオーディオデータの誤り情報をエラー隠蔽方法決定部１０２に通知する機能を有する。ここで誤り検出部１０１が誤りを検出する方法は、ＣＲＣなどの誤り符号による誤り検査、オーディオデータの文法ミス検査、オーディオデータの入力バッファアンダフロー検査等のいずれであっても構わない。
【００２２】
エラー隠蔽方法決定部１０２は、誤り検出部１０１から出力されたオーディオデータの誤り情報に基づいて、窓掛け処理部１０４で行なう窓掛け演算に使用するオーディオフレームと重みを決定する機能を有する。窓掛け演算に使用するオーディオフレームと重みを決定する具体的な方法としては、例えば次の３つの方法を採用することができる。
【００２３】
第１の方法は、図２のように正常に復号できたオーディオフレームの後のフレームにエラーを連続して検出した場合に、正常に復号できた最後のオーディオフレームを反復して、時間と共に窓掛け処理の重みを減少させていく方法である。誤り検出部１０１でオーディオ復号時に連続したエラーを見つけると、最後に正常に復号できたオーディオフレームを破損部分にコピーしていき、フレーム間の窓掛け処理の重みを徐々に減衰させていくことで出力オーディオフレームの不連続点を無くしてエラーによるノイズを知覚することが出来ないようにする。
【００２４】
第２の方法は、図３のようにエラーを検出したオーディオデータの直後のオーディオデータが正常に復号できた場合にエラーから復帰したオーディオフレームから徐々に窓掛け処理の重みを増加させて通常の重みに戻す方法である。誤り検出部１０１でオーディオ復号時に発生していたエラーが回復して正常にデコードができるようになったことを検出した場合に、エラーから復帰した最初のオーディオフレームから徐々に窓掛け処理の重みを増加させて、最終的に通常の重みに戻すことで、出力オーディオフレームの不連続点を無くしてエラーによるノイズを知覚することが出来ないようにする。
【００２５】
第３の方法は、図４のように正常に復号できるオーディオデータの一部だけでエラーが発生した場合に、正常に復号できた直前のデータと、エラーを検出したオーディオフレームの次の正常に復号できたデータを重み付け加算して滑らかに遷移させる方法である。誤り検出部１０１で一部のオーディオデータにエラーを検出した場合に、正常に復号できた周りのオーディオフレームを破損したオーディオフレームにコピーしてしまい、窓掛け処理の重みは変化させずに窓掛けを行い、出力オーディオフレームの不連続点を無くしてエラーによるノイズを知覚することが出来ないようにする。
【００２６】
周波数／時間変換部１０３は、周波数領域で表現されたオーディオデータを時間領域のオーディオフレームに変換する機能を有する。ここで周波数／時間変換部１０３が変換する方法としては、多くのオーディオ符号化方式で採用されているＩＭＤＣＴ（Ｉｎｖｅｒｓｅ  Ｍｏｄｉｆｉｅｄ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）などの直交変換等を用いることで実現することができる。
【００２７】
オーディオフレームバッファ１０５は、時間領域に変換されたオーディオフレームを蓄積しておく機能を有する。このような機能を有するオーディオフレームバッファ１０５は、例えばメモリやハードディスク装置などを利用して実現することができる。
【００２８】
窓掛け処理部１０４は、エラー隠蔽方法決定部１０２で選択したオーディオフレームを周波数／時間変換部１０３及び／又はオーディオフレームバッファ１０５から取り出し、エラー隠蔽方法決定部１０２で決定した窓掛け重みに基づいて重み付け加算を行い、音声（オーディオフレーム）を出力する機能を有する。このような機能を有する窓掛け処理部１０４は、例えば図２、３、４に示すような処理を行う。換言すれば、窓掛け処理部１０４はエラー隠蔽処理手段決定部１０２で指示された現在のフレームと窓掛け処理相手フレームをオーディオフレームバッファ１０５及び／又は周波数／時間変換部１０３より取り出して、指示された窓掛け重みを用いて重み付け加算を行いオーディオフレームを出力する。
【００２９】
ここで重み付け加算について図１２説明する。ＩＭＤＣＴした結果、例えば、それぞれ２０４８サンプルより成るオーディオフレーム１、２、３、…が得られる。オーディオフレーム１とオーディオフレーム２は１０２４サンプルオーバーラップする。同様に、オーディオフレーム２とオーディオフレーム３は１０２４サンプルオーバーラップする。重み付け加算においては、オーディオフレーム１の後半の１０２４サンプルに対して重み付けを行った結果と、オーディオフレーム２の前半の１０２４サンプルに対して重み付けを行った結果をサンプル毎に加算して、１０２４サンプルより成るオーディオフレームＡを得る。同様に、オーディオフレーム２の後半の１０２４サンプルに対して重み付けを行った結果と、オーディオフレーム３の前半の１０２４サンプルに対して重み付けを行った結果をサンプル毎に加算して、１０２４サンプルより成るオーディオフレームＢを得る。図２、３、４においては、オーディオフレーム１、２、３、…は便宜上オーバーラップするように描かれていないが、実際には図１２に示すようにオーバーラップする。
【００３０】
図５、６はオーディオデータを復号しているときのエラー隠蔽方法決定部１０２の処理例を示す流れ図であり、以下各図を参照して本実施の形態の動作について説明する。
【００３１】
まず、入力された符号化オーディオデータの取り込み時の動作を説明する。誤り検出部１０１は入力された符号化オーディオデータの文法、誤り符号、バッファの枯渇などをチェックしてエラーがあったかどうかをエラー隠蔽方法決定部１０２へ通知する。同時に符号化オーディオデータは周波数／時間変換部１０３に入力され、時間領域のオーディオフレームに変換されて窓掛け処理部１０４へ出力される。また、オーディオフレームはオーディオフレームバッファ１０５に蓄積される。
【００３２】
次に、符号化オーディオデータにエラーが無い場合のエラー隠蔽方法の決定動作を説明する。エラー隠蔽方法決定部１０２は誤り検出部１０１から受け取ったエラー情報から現在のフレームの近辺にエラーが無いと判断したならば（ステップＳ１でＮＯ）、窓掛けの相手に直前のフレームを選択し、通常の窓掛け処理を行なうように窓掛け処理部１０４へ指示する（ステップＳ２）。なお、窓かけの相手とは、現在のオーディオフレームともう一つのオーディオフレームそれぞれに窓かけ重みを掛けてこれらを加算する場合の当該もう一つのオーディオフレームのことである。
【００３３】
次に、符号化オーディオデータに長期の連続エラーが発生した場合のエラー隠蔽方法の決定動作を説明する。エラー隠蔽方法決定部１０２は誤り検出部１０１から受け取ったエラー情報から現在のフレームの近辺にエラーがあると判断し（ステップＳ１でＹＥＳ）、現在のフレームの後のフレームに長期連続エラーがあると判断したならば（ステップＳ３でＹＥＳ）、現在出力しようとしているフレームにエラーがあるかどうかを判断する（ステップＳ８）。
【００３４】
例えば、現在出力しようとしているフレームが図２のオーディオフレーム３である場合のように、現在出力しようとしているフレームにエラーが無いと判断したならば（ステップＳ８でＮＯ）、窓掛け処理の相手として直前のフレームを選択し、通常の窓掛け処理を行なうように窓掛け処理部１０４へ指示する（ステップＳ９）。
【００３５】
例えば、現在出力しようとしているフレームが図２のオーディオフレーム４〜６である場合のように、現在出力しようとしているフレームにエラーがある場合には（ステップＳ８でＹＥＳ）、直近の過去に正常に復号できたフレームを現在のフレームとして用い（ステップＳ１０）、窓掛け処理の相手として直前フレームを選択し、徐々に減衰する窓掛け重みを用いた窓掛け処理を行なうように窓掛け処理部１０４へ指示する（ステップＳ１１）。なお、ステップＳ１０で現在のフレームとして用いられたフレームは次にステップＳ１から処理を開始するときには、ステップＳ１１で直前のフレームとして扱われる。また、エラーが連続する場合には１ずつ増加し、エラーが無くなればゼロにリセットするカウンタを用いることにより、長期連続エラーが続く場合には、ステップＳ１１を行うたびに窓掛け重みを徐々に減衰させることが可能となる。
【００３６】
次に、符号化オーディオデータが長期の連続エラーから回復した場合のエラー隠蔽方法決定部１０２の決定動作を説明する。エラー隠蔽方法決定部１０２は誤り検出部１０１から受け取ったエラー情報から現在のフレーム近辺にエラーが無いと判断し（ステップＳ１でＹＥＳ）。現在のフレームの後のフレームに長期連続エラーが無いと判断し（ステップＳ３でＮＯ）、長期連続エラーから復帰したと判断した場合（ステップＳ４でＹＥＳ）、現在出力しようとしているフレームにエラーがあるか否かを判断する（ステップＳ５）。
【００３７】
例えば、現在出力しようとしているフレームが図３のオーディオフレーム３〜６である場合のように、現在出力しようとしているフレームにエラーがない場合には（ステップＳ５でＮＯ）、窓掛け処理の相手として直前のフレームを選択し、徐々に増加して通常の重みに戻る窓掛け重みを用いた窓掛け処理を行なうように窓掛け処理部１０４へ指示する（ステップＳ６）。
【００３８】
例えば、現在出力しようとしているフレームが図３のオーディオフレーム２である場合のように、現在出力しようとしているフレームにエラーがある場合には（ステップＳ５でＹＥＳ）、現在のフレームを無音として窓掛け処理なしに無音データを出力するように窓掛け処理部１０４へ指示する（ステップＳ７）。なお、エラーが連続してない場合には１ずつ増加し、エラーがあればゼロにリセットするカウンタを用いることにより、長期連続エラーから回復した場合には、ステップＳ６を行うたびに窓掛け重みを徐々に増加させることが可能となる。
【００３９】
次に、上記のいずれの場合にも当てはまらない場合、つまり符号化オーディオデータに短期的なエラーが発生して直ぐに回復した場合のエラー隠蔽方法決定部１０２の決定動作を説明する。エラー隠蔽方法決定部１０２は誤り検出部１０１から受け取ったエラー情報から現在のフレーム近辺にエラーがあると判断し（ステップＳ１でＹＥＳ）、現在のフレームの後のフレームに長期連続エラーが無いと判断し（ステップＳ３でＮＯ）、長期連続エラーからの復帰でないと判断した場合（ステップＳ４でＮＯ）、現在のフレームにエラーがあるか否かを判断する（ステップＳ１２）。
【００４０】
例えば、現在出力しようとしているフレームが図４のオーディオフレーム２又は５である場合にように、現在出力しようとしているフレームにエラーが無い場合には（ステップＳ１２でＮＯ）、窓掛け処理の相手として直前のフレームを選択し、通常の窓掛け処理を行なうように窓掛け処理部１０４へ指示する（ステップＳ１３）。図４のオーディオフレーム５の場合には直前のフレームが無いように思われるかも知れないが、後述するように、オーディオフレーム４の処理をするときに、オーディオフレーム５が現在のフレームとして取り扱われ、前述した場合と同様に、オーディオフレーム４で現在のフレームとして取り扱われたフレームがオーディオフレーム５で直前のフレームとして扱われるので、図４に示すように、現在出力しようとしているフレームがオーディオフレーム５である時には、オーディオフレーム５は現在のフレーム及び直前のフレームとして扱われる。
【００４１】
例えば、現在出力しようとしているフレームが図４のオーディオフレーム３〜４である場合のように、現在出力しようとしているフレームにエラーがある場合には（ステップＳ１２でＹＥＳ）、現在出力しようとしているフレームと正常に復号できた直近の過去のフレームとの間の距離（過去距離）が現在出力しようとしているフレームと正常に復号できた直近の未来のフレームとの間の距離（未来距離）よりも短いか否かを判断する（ステップＳ１４）。
【００４２】
例えば、現在出力しようとしているフレームが図４のオーディオフレーム３である場合のように、過去距離が未来距離よりも短い場合には（ステップＳ１４でＹＥＳ）、正常に復号できた直近の過去のフレームを現在のフレームとして使用し（ステップＳ１５）、窓掛け処理の相手としては直前のフレームを選択し、通常の窓掛け処理を行なうように窓掛け処理部１０４へ指示する（ステップＳ１６）。
【００４３】
例えば、現在出力しようとしているフレームが図４のオーディオフレーム４である場合のように、未来距離が過去距離よりも短い場合又は未来距離が過去距離と等しい場合には（ステップＳ１４でＮＯ）、正常に復号できた直近の未来のフレームを現在のフレームとして使用し（ステップＳ１７）、窓掛け処理の相手としては直前のフレームを選択し、通常の窓掛け処理を行なうように窓掛け処理部１０４へ指示する（ステップＳ１８）。ここでいう直前のフレームとは、前フレームにおいて現在のフレームとして使用されたフレームであるので、現在出力しようとしているフレームが図４のオーディオフレーム４である場合には、直前のフレームはオーディオフレーム２である。
【００４４】
過去距離と未来距離が等しい場合には、ステップＳ１７に進む代わりに、ステップＳ１５に進んでもよい。
【００４５】
以上説明したように、本実施の形態によれば、符号化されたオーディオデータにエラーが発生した場合でも出力オーディオデータの不連続点を無くして不快なノイズの少ない音声の出力が可能となる。
【００４６】
［実施形態２］
次に本発明の第２の実施の形態について説明する。本実施の形態は、誤りのあるオーディオデータのノイズを軽減するだけでなく、エラー対策を行なうための指標を増加させて、誤り発生時により正確なエラー隠蔽を行いより良い音質を実現するようにしたものである。
【００４７】
図７は本発明の第２の実施の形態のブロック図である。本実施の形態と図１に示した第１の実施の形態の相違点は、チャネルデコーダ２０１が追加されている点と、誤り検出部１０１の代わりに誤り検出部２０１ａを備えている点である。尚、他の図１と同一符号は同一部分を表している。
【００４８】
チャネルデコーダ２０１は、符号化されたオーディオデータが伝送路上を伝送される際にチャネル符号化されているものを復号する機能を有する。具体的には例えばデジタルＴＶ放送の伝送に用いられているリードソロモン符号の復号器などを用いて実現することができる。
【００４９】
誤り検出部２０１ａは、チャネル符号化された伝送データを復号する際に、誤り訂正が出来ないほどデータが破損していた場合に誤りとして検出してエラー隠蔽方法決定部１０２にエラー情報を通知する機能を有する。
【００５０】
次に本実施の形態の動作について説明する。チャネルデコーダ２０１はチャネル符号化された伝送路データを受信し、チャネル符号の復号を行ない、符号化されたオーディオデータを取り出す。その際に誤り検出部２０１ａはチャネル符号の復号に失敗していないかどうかを確認し、エラー情報をエラー隠蔽方法決定部１０２へ通知する。エラー隠蔽方法決定部１０２、周波数／時間変換部１０３、窓掛け処理部１０４、オーディオフレームバッファ１０５については、本発明の第１の実施の形態で説明した動作と同じように動作する。
【００５１】
図８は本発明の第２の実施の形態のもう１つのブロック図である。本ブロック図と図１に示した第１の実施の形態の相違は、多重化分離部３０１が追加されている点と、誤り検出部１０１の代わりに誤り検出部３０１ａを備えている点である。尚、他の図１と同一符号は同一部分を表している。
【００５２】
多重化分離部３０１は、符号化されたオーディオデータが他のオーディオデータやビデオデータなどと多重化されて伝送される際に多重化された状態から目的のオーディオデータを分離する機能を有する。多重化分離部３０１の具体的な実現方法としては、ＭＰＥＧ２  ＳｙｓｔｅｍｓのＴｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍの多重化分離部などで実現することができる。
【００５３】
誤り検出部３０１ａは、各種データが多重化された多重化データを分離する際に、目的のオーディオデータが属するデータの伝送エラーインジケータやシーケンス番号を調べて、伝送エラーインジケータがエラーありを示していた場合やシーケンス番号が不連続な場合に誤りとして検出してエラー隠蔽方法決定部１０２にエラー情報を通知する機能を有する。
【００５４】
次に本実施の形態の動作について説明する。多重化分離部３０１は各種データが多重化された多重化データを受信し、多重化の分離を行い、符号化された目的のオーディオデータを取り出す。その際に誤り検出部３０１ａは多重化情報内の伝送エラーインジケータ、シリアル番号などを調べて、目的のオーディオデータに誤りが無いか確認し、データの誤りの有無をエラー隠蔽方法決定部１０２へ通知する。エラー隠蔽方法決定部１０２、周波数／時間変換部１０３、窓掛け処理部１０４、オーディオフレームバッファ１０５については、本発明の第１の実施の形態で説明した動作と同じように動作する。
【００５５】
以上説明したように、本実施の形態によれば、符号化されたオーディオデータに誤り訂正符号が無い場合や文法誤りが検出できない構造であっても、伝送路上で起きた誤りや多重化データの誤りを検出して、エラー隠蔽を施した出力を得ることができる。
【００５６】
図９は本発明の第３の実施の形態のブロック図である。本実施の形態と図１に示した第１の実施の形態の相違点は、誤り履歴記憶部４０６が追加されている点と、誤り検出部１０１の代わりに誤り検出部４０１を備えている点と、エラー隠蔽方法決定部１０２の代わりにエラー隠蔽方法決定部４０２を備えている点である。尚、他の図１と同一符号は同一部分を表している。
【００５７】
誤り検出部４０１は、符号化されたオーディオデータの誤り情報をエラー隠蔽方法決定部４０２と誤り履歴記憶部４０６に通知する機能を有する。ここで誤り検出部４０１が誤りを検出する方法は、ＣＲＣなどの誤り符号による誤り検査、オーディオデータの文法ミス検査、オーディオデータの入力バッファアンダフロー検査等のいずれであっても構わない。
【００５８】
エラー隠蔽方法決定部４０２は、誤り検出部４０１から出力されたオーディオデータの誤り情報と誤り履歴記憶部４０６に記録された過去一定期間の誤り情報に基づいて、窓掛け処理部１０４で行なう窓掛け演算に使用するオーディオフレームと重みを決定する機能を有する。窓掛け演算に使用するオーディオフレームと重みを決定する具体的な方法としては、例えば次の３つの方法を採用することができる。
【００５９】
第１の方法は、図１０のように正常に復号できたオーディオフレームの後のフレームにエラーを連続して検出した場合に、過去の一定期間の誤り情報に基づいて今後のデータエラー率を予測し、予測エラー率が高い場合には図２と同様な方法で即座に出力オーディオフレームを減衰させ、予測エラー率が低い場合には直ぐにデータがエラーから回復すると見込んでゆっくりと減衰を行う。そして途中でデータが回復したら回復したデータと窓掛け処理を行い音質の劣化を最小限に抑えるようにし、データが回復しない場合にはそのまま無音が出力されるようになるまで重みを減衰させる。
【００６０】
第２の方法は、第１の方法と同様に正常に復号できたオーディオフレームの後のフレームにエラーが連続して発生した場合に、過去の誤り情報に基づいて連続してデータがエラーをおこす長さの期待値を算出し、連続エラーの長さの期待値が大きい場合には早く出力オーディオフレームを減衰させ、連続エラーの長さの期待値が小さい場合には直ぐにデータがエラーから回復すると見込んでゆっくりと減衰を行う。そして途中でデータが回復したら回復したデータと窓掛け処理を行い音質の劣化を最小限に抑えるようにし、データが回復しない場合にはそのまま無音が出力されるようになるまで重みを減衰させる。
【００６１】
第３の方法は、オーディオデータが連続エラーから回復した場合に、過去の誤り情報に基づいて今後のデータエラー率を予測し、図１１のように予測エラー率が高い場合は無音データを出力しておき、予測エラー率がある程度（図１１では２０％）の値まで下がったときに初めて図３のように徐々に窓掛け処理の重みを増加させて通常の重みまで戻すことで、エラーが多い状況で途切れ途切れで音を出すことをなくし、不快と感じる音の出力を減らす。
【００６２】
誤り履歴記憶部４０６は、誤り検出部４０１から入力されたエラー情報を過去の一定期間の分だけ記憶しておき、エラー隠蔽方法決定部４０２から要求されたときにエラー情報の履歴を出力する機能を有する。このような機能を有する誤り履歴記憶部４０６は、例えばメモリやハードディスク装置などを利用して実現することができる。
【００６３】
次に本実施の形態の動作について説明する。まず、入力された符号化オーディオデータの取り込み時の動作を説明する。誤り検出部４０１は入力された符号化オーディオデータの文法、誤り符号、バッファの枯渇などをチェックしてエラーがあったかどうかをエラー隠蔽方法決定部４０２および誤り履歴記憶部４０６へ通知する。同時に符号化オーディオデータは周波数／時間変換部１０３に入力され、時間領域のオーディオフレームに変換されて窓掛け処理部１０４へ出力される。また、オーディオフレームはオーディオフレームバッファ１０５に蓄積される。
【００６４】
符号化オーディオデータに連続エラーが発生した場合のエラー隠蔽方法決定部４０２の決定動作を説明する。エラー隠蔽方法決定部４０２は誤り検出部４０１から受け取ったエラー情報および誤り履歴記憶部４０６に蓄積された過去のエラー情報から、今後のエラー率の予測値を算出する。算出方法の具体的な方法としては、例えば次式から得ることができる。
【００６５】
（予測エラー率）
＝（過去１秒間でエラーを起こしたオーディオフレーム数／過去１秒間に処理したオーディオフレーム数）
予測エラー率が高い場合には、今後も直ぐにはデータがエラーから回復しないと判断し図２で示した方法と同様な方法で、窓掛け重みを減少させて出力音声を即座に減衰させるように窓掛け処理部１０４へ指示する。一方、予測エラー率が低い場合には直ぐにデータのエラーが回復すると判断し、窓掛け重みの減少速度を遅くする。そして、データが回復した場合には図１０で示した方法で、後続の正常なオーディオフレームと窓掛け処理を行い音質低下を最小限に抑える。データが回復しない場合はそのままゆっくりと窓掛け重みを減少させて無音となるまで処理を続ける。
【００６６】
符号化オーディオデータに連続エラーが発生した場合の別のエラー隠蔽方法の決定動作を説明する。エラー隠蔽方法決定部４０２は誤り検出部４０１から受け取ったエラー情報および誤り履歴記憶部４０６に蓄積された過去のエラー情報から、今回発生した連続エラーの長さの期待値を算出する。算出方法の具体的な方法としては、例えば次式から得ることができる。
【００６７】
（連続エラーの長さの期待値）
＝（過去１０回のエラーの長さの平均値）
連続エラーの長さの期待値が大きい場合には、今後も直ぐにはデータがエラーから回復しないと判断し図２で示した方法と同様な方法で、窓掛け重みを減少させて出力音声を即座に減衰させるように窓掛け処理部１０４へ指示する。一方、連続エラーの長さの期待値が小さい場合には直ぐにデータのエラーが回復すると判断し、窓掛け重みの減少速度を遅くする。そして、データが回復した場合には図１０で示した方法で、後続の正常なオーディオフレームと窓掛け処理を行い音質低下を最小限に抑える。データが回復しない場合はそのままゆっくりと窓掛け重みを減少させて無音となるまで処理を続ける。
【００６８】
符号化オーディオデータが連続エラーから回復した場合のエラー隠蔽方法の決定動作を説明する。エラー隠蔽方法決定部４０２は誤り検出部４０１から受け取ったエラー情報および誤り履歴記憶部４０６に蓄積された過去のエラー情報から、今後のエラー率の予測値を算出する。算出方法の具体的な方法としては、例えば前述の式から得ることができる。予測エラー率が高い場合には、再びデータがエラー状態になると判断し窓掛け処理の重みをゼロのままにして無音出力を続けるように窓掛け処理部１０４へ指示する。一方、予測エラー率が低い場合には、データがエラーから回復すると判断して、図３で示すのと同様な方法でゆっくりと窓掛け重みを通常状態に戻していくように窓掛け処理部１０４へ指示する。
【００６９】
そして、窓掛け処理の動作を説明する。窓掛け処理部１０４はエラー隠蔽処理手段決定部４０２で指示された現在のフレームと窓掛け処理相手フレームをオーディオフレームバッファ１０５および周波数／時間変換部１０３より取り出して、指示された窓掛け重みを用いて重み付け加算を行いオーディオフレームを出力する。
【００７０】
以上説明したように、本実施の形態によれば、符号化されたオーディオデータにエラーが発生した場合でも未来のエラー状態を予測してエラー隠蔽を行なうことが可能となり、より不快な音声出力を減らすことができる。
【００７１】
【発明の効果】
以上説明したように、本発明のオーディオ復号装置は、オーディオフレームにエラーが発生した場合でもエラーが起きたフレームを他のフレームで代用して、窓掛け処理の重みを調整して不連続点を無くすことができるので、不快なノイズを少ない演算量で出力されにくくする効果がある。
【００７２】
また、本発明のオーディオ復号装置は、オーディオデータからエラーの発生の有無を検出できない場合でも、チャネル符号化や多重化レベルでのエラー情報を利用することができるので、より間違いの少ないエラー隠蔽処理が可能になるという効果がある。
【００７３】
更に、本発明のオーディオ復号装置は、エラー発生時に過去のエラー情報から未来のエラー発生状況を推測して、よりきめ細かいエラー隠蔽処理を行うことを可能とする効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態のブロック図である。
【図２】エラー隠蔽方法決定部１０２の第１の内容例を示す図である。
【図３】エラー隠蔽方法決定部１０２の第２の内容例を示す図である。
【図４】エラー隠蔽方法決定部１０２の第３の内容例を示す図である。
【図５】符号化されたオーディオデータを復号する際のエラー隠蔽方法決定部１０２の処理例を示す流れ図である。
【図６】符号化されたオーディオデータを復号する際のエラー隠蔽方法決定部１０２の処理例を示す流れ図である。
【図７】本発明の第２の実施の形態のブロック図である。
【図８】本発明の第２の実施の形態のもう１つのブロック図である。
【図９】本発明の第３の実施の形態のブロック図である。
【図１０】エラー隠蔽方法決定部４０２の第１の内容例を示す図である。
【図１１】エラー隠蔽方法決定部４０２の第３の内容例を示す図である。
【図１２】重み付け加算を説明するための図である。
【符号の説明】
１０１  誤り検出部
１０２  エラー隠蔽方法決定部
１０３  周波数／時間変換部
１０４  窓掛け処理部
１０５  オーディオフレームバッファ
２０１  チャネルデコーダ
２０１ａ  誤り検出部
３０１  多重化分離部
３０１ａ  誤り検出部
４０１  誤り検出部
４０２  エラー隠蔽方法決定部
４０６  誤り履歴記憶部
【図１】
2004361731.tif 000003
【図２】
2004361731.tif 000004
【図３】
2004361731.tif 000005
【図４】
2004361731.tif 000006
【図５】
2004361731.tif 000007
【図６】
2004361731.tif 000008
【図７】
2004361731.tif 000009
【図８】
2004361731.tif 000010
【図９】
2004361731.tif 000011
【図１０】
2004361731.tif 000012
【図１１】
2004361731.tif 000013
【図１２】
2004361731.tif 000014