(57)【要約】  複数の信号値をエンコードする方法であって、前記信号値を第１サブグループと第２サブグループにグループ化し、前記第１サブグループの信号値を前記第２サブグループの信号値と比較し、前記比較の結果に基づいて、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきかを判定するエンコード方法が記載される。【選択図】図１
2010506207.tif 000002
【特許請求の範囲】
【請求項１】
複数の信号値をエンコードする方法であって、
前記信号値を第１サブグループと第２サブグループにグループ化し、
前記第１サブグループの信号値を前記第２サブグループの信号値と比較し、
前記比較の結果に基づいて、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきかを判定し、
前記第１サブグループの信号値と前記第２サブグループの信号値をビットプレーン符号化し、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきであると判定された場合に、前記第１サブグループの信号値を優先してビットプレーン符号化する
ことを特徴とするエンコード方法。
【請求項２】
各信号値は周波数に対応することを特徴とする請求項１に記載のエンコード方法。
【請求項３】
前記第１サブグループは第１周波数域の周波数に対応する全信号値から構成され、前記第２サブグループは第２周波数域の周波数に対応する全信号値から構成されることを特徴とする請求項２に記載のエンコード方法。
【請求項４】
前記第１周波数域の周波数は、前記第２周波数域の周波数よりも低いことを特徴とする請求項３に記載のエンコード方法。
【請求項５】
各信号値は、該信号値が対応する周波数に対する第１周波数係数と第２周波数係数との間のエラーを特定するエラー信号値であることを特徴とする請求項２から４のいずれか一項に記載のエンコード方法。
【請求項６】
前記第１周波数係数は、データ信号のロッシー周波数ドメイン表現に対応し、前記第２周波数係数は、前記データ信号のロスレス周波数ドメイン表現に対応することを特徴とする請求項５に記載のエンコード方法。
【請求項７】
前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきであると判定された場合には、前記第２サブグループの信号値がビットプレーン符号化される前に、前記第１サブグループの信号値は少なくとも部分的にビットプレーン符号化されることを特徴とする請求項１から６のいずれか一項に記載のエンコード方法。
【請求項８】
前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきでないと判定された場合には、前記第１サブグループの信号値と前記第２サブグループの信号値が同じ優先度でビットプレーン符号化されることを特徴とする請求項１から７のいずれか一項に記載のエンコード方法。
【請求項９】
前記第１サブグループの信号値の前記第２サブグループの信号値に対する比較に基づいて比較値が決定され、該比較値の大きさに基づいて、前記第１サブグループの信号値をエンコードすべき優先度が決定されることを特徴とする請求項１から８のいずれか一項に記載のエンコード方法。
【請求項１０】
複数の値域が予め決定されており、各値域はある優先度に対応づけられ、前記第１サブグループの信号値をエンコードすべき優先度は、前記比較値が位置する値域に対応づけられた優先度として決定されることを特徴とする請求項９に記載のエンコード方法。
【請求項１１】
前記比較値は、前記第１サブグループ及び前記第２サブグループの信号値のエネルギー測定に基づいて算出されることを特徴とする請求項９又は１０に記載のエンコード方法。
【請求項１２】
前記第１サブグループは第１周波数域の周波数に対応する全信号値から構成され、前記第２サブグループは第２周波数域及び第３周波数域の周波数に対応する全信号値から構成され、前記第１周波数域の周波数は、前記第２周波数域の周波数よりも低く、前記第２周波数域の周波数は、前記第３周波数域の周波数よりも低く、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきであると判定された場合には、前記第２周波数域の周波数に対応する信号値も、前記第３周波数域の周波数に対応する信号値よりも高い優先度でエンコードされることを特徴とする請求項１から１１のいずれか一項に記載のエンコード方法。
【請求項１３】
複数の信号値をエンコードするエンコーダであって、
前記信号値を第１サブグループと第２サブグループにグループ化するグループ化手段と、
前記第１サブグループの信号値を前記第２サブグループの信号値と比較する比較手段と、
前記比較の結果に基づいて、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきかを判定する判定手段と、
前記第１サブグループの信号値と前記第２サブグループの信号値をビットプレーン符号化し、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきであると判定された場合に、前記第１サブグループの信号値を優先してビットプレーン符号化するビットプレーン符号化手段と、
を備えることを特徴とするエンコーダ。
【請求項１４】
コンピュータによって実行されると、該コンピュータに、
複数の信号値をエンコードする方法であって、
前記信号値を第１サブグループと第２サブグループにグループ化し、
前記第１サブグループの信号値を前記第２サブグループの信号値と比較し、
前記比較の結果に基づいて、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきかを判定し、
前記第１サブグループの信号値と前記第２サブグループの信号値をビットプレーン符号化し、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきであると判定された場合に、前記第１サブグループの信号値を優先してビットプレーン符号化するエンコード方法を
実行させるコンピュータプログラム製品。
【請求項１５】
複数のエンコードされた信号値をデコードする方法であって、
第１サブグループと第２サブグループにグループ化された複数の信号値からビットプレーン符号化されている前記エンコードされた信号値を受信する工程と、
前記信号値がエンコードされた場合に、前記第１サブグループの信号値が優先してビットプレーン符号化されたかを判定する工程と、
前記信号値がエンコードされた場合に、前記第１サブグループの信号値が優先してビットプレーン符号化されたかを考慮して、前記エンコードされた信号値をビットプレーン復号化する工程と、
を備えることを特徴とするデコード方法。
【請求項１６】
複数のエンコードされた信号値をデコードする方法であって、
第１サブグループと第２サブグループにグループ化された複数の信号値からビットプレーン符号化された、前記エンコードされた信号値を受信し、
前記信号値がエンコードされた際に、前記第１サブグループの信号値が優先的にエンコードされたかを判定し、
前記信号値がエンコードされた際に、前記第１サブグループの信号値が優先的にエンコードされたかどうかを考慮して、前記エンコードされた信号値をビットプレーン復号化することを特徴とするデコード方法。
【請求項１７】
コンピュータによって実行されると、該コンピュータに、
複数のエンコードされた信号値をデコードする方法であって、
第１サブグループと第２サブグループにグループ化された複数の信号値からビットプレーン符号化された、前記エンコードされた信号値を受信し、
前記信号値がエンコードされた際に、前記第１サブグループの信号値が優先的にエンコードされたかを判定し、
前記信号値がエンコードされた際に、前記第１サブグループの信号値が優先的にエンコードされたかどうかを考慮して、前記エンコードされた信号値をビットプレーン復号化するデコード方法を
実行させるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の信号値をエンコードする方法、複数のエンコードされた信号値をデコードする方法、エンコーダ、デコーダ、及びコンピュータプログラム製品の技術分野に関する。
【背景技術】
【０００２】
コンピュータ、ネットワーキング及び通信の進歩によって、インターネット、無線ＬＡＮ、ホームネットワーク、及び民間携帯電話システム等のネットワーク上における音声コンテンツのストリーミングが、音声サービス配信手段の主流になってきている。ｘＤＳＬ、光ファイバー、及びブロードバンド無線アクセスを含むブロードバンドネットワークインフラの進展に従って、これらのチャネルに対するビットレートは、高サンプリングレート、高振幅分解能（例えば、９６ｋＨｚ、２４ビット／サンプル）ロスレス音声信号に対するビットレートに急速に近づいていると考えられている。
【０００３】
他方、ＭＰＥＧ−４  ＡＡＣ（Moving Pictures Expert Group ; Advanced Audio Coding）等の高圧縮デジタル音声フォーマットを必要とする応用分野が依然として複数存在する。その結果、現在のチャネルと、急激に現れてきているブロードバンドチャネルとの橋渡しとなる相互運用可能な解決策が大いに要求される。加えて、ブロードチャネルが広く利用可能であって、帯域幅の制約が最終的に取り除かれる場合でも、送信中にビットレートを動的に変化できる階層ビットストリームを生成可能であるビットレートスケーラブルコーディングシステムは、依然として非常に好都合である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
音声データ、映像データ、又は画像データの（ビットレート）スケーラブルコーディングには、ビットプレーン符号化方法が通常用いられる。ビットプレーン符号化では、複数のビットプレーンを有する入力データベクトルが、ビットプレーン表現のデータベクトルに従ってエンコードされる。一のビットプレーンは、成分の２進表現における一桁（one digit）に対応する成分の全てのビットから構成される。例えば、第１ビットプレーンは、成分の２進表現における最上位ビット（Ｍ位: Mth digit）である成分の全てのビットから構成され、第２ビットプレーンは、成分の２進表現におけるＭ−１位である成分の全てのビットから構成される。以下同様である。
【０００５】
ビットプレーン符号化では、ビットプレーン表現は、成分の最上位ビットから最下位ビットへの順に、入力データベクトルの成分のビットから構成されるビットストリームを生成するように走査される。更にビットストリームは、成分の符号ビットも含み、通常、成分の最上位ビットに先行する。
【０００６】
このように生成されたビットストリームは、例えば適切に割り当てられた統計モデルに基づいてエントロピー符号化され、次に受信器に送信されてよい。エントロピー符号化されたビットストリームは、受信器に備えられたデコーダによって、元の入力ベクトルを復元するように成分のビット及び符号を復元することでデコードされてよい。
【０００７】
ビットコーディングの利点は、全ビットストリームの送信に利用可能なデータ速度が低い場合にビットストリームは切断されて（truncated）よいことである。切断されたビットストリームは、元のビットプレーンから構成される。これは部分的だが依然デコーダにおいてデコード可能であって、元のデータベクトルの粗復元体、即ち、元のデータベクトルのロッシー復元体を生成できる。このようにして、ビットプレーン符号化は、粒度の高いスケーラブルなコードを生成するのに便利な方法を提供する。
【０００８】
ビットプレーンを走査する順序は、通常所定のコーディングスキームに固定されている。例えば、ビットプレーンは、最上位ビットプレーンから（即ち、最上位ビットからなるビットプレーンから）最下位ビットプレーンまで（即ち、最下位ビットからなるビットプレーンまで）走査される。
【課題を解決するための手段】
【０００９】
複数の信号値をエンコードする方法であって、前記信号値を第１サブグループと第２サブグループにグループ化し、前記第１サブグループの信号値を前記第２サブグループの信号値と比較し、前記比較の結果に基づいて、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきかを判定し、前記第１サブグループの信号値と前記第２サブグループの信号値をビットプレーン符号化し、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきであると判定された場合に、前記第１サブグループの信号値を優先してビットプレーン符号化することを特徴とするエンコード方法が提供される。
【００１０】
更に、上述の如く複数の信号値をエンコードする方法に応じたエンコーダ及びコンピュータプログラム製品が提供される。
【００１１】
本発明の他の実施形態によれば、複数のエンコードされた信号値をデコードする方法であって、第１サブグループと第２サブグループにグループ化された複数の信号値からビットプレーン符号化されている前記エンコードされた信号値を受信する工程と、前記信号値がエンコードされた場合に、前記第１サブグループの信号値が優先してビットプレーン符号化されたかを判定する工程と、前記信号値がエンコードされた場合に、前記第１サブグループの信号値が優先してビットプレーン符号化されたかを考慮して、前記エンコードされた信号値をビットプレーン復号化する工程と、を備えることを特徴とするデコード方法が提供される。
【００１２】
更に、上述の如く複数のエンコードされた信号値をデコードする方法に応じたエンコーダ及びコンピュータプログラム製品が提供される。
【００１３】
具体的に、信号値は符号化の前に分析される。例えば、信号値におけるエネルギー分布が分析され、この結果に基づき、符号化が行われる。例えば、効率の良い符号化順序は、ビットプレーン符号化の最中に選択される。
【００１４】
例えば、各信号値は周波数に対応し、第１サブグループの信号値は低周波数域に対応し、第２サブグループの信号値は高周波数域に対応する。また、信号値に対応する信号のエネルギーが第１サブグループの信号値に集中しているかが判定される。
【００１５】
本発明の一の実施形態が基づくアイデアは、音声信号又は映像信号によくあるように、信号のエネルギーが低周波数域に集中する場合には、ビットプレーン符号化の際、低周波数域に高優先度を割り当てること、例えば先ず低周波数係数に対応するビットプレーンの部分を走査することが妥当であると認識されているという点に見られる。
【００１６】
一の実施形態では、比較の結果に基づき、第１ビットプレーン符号化スキームと第２ビットプレーン符号化スキームとの間で選択される。例えば、第１ビットプレーン符号化スキームによれば、第１サブグループの信号値が優先してビットプレーン符号化され、第２ビットプレーン符号化スキームによれば、第１サブグループの信号値と第２サブグループの信号値が同じ優先度でビットプレーン符号化される。
【００１７】
これら２つのビットプレーン符号化スキームを切り替えることによって、例えばエンコードされるべきデータ信号の各フレームに対して、また例えば周波数スペクトルにおけるデータ信号のエネルギー分布に基づき、より効率よくビットプレーン符号化を行うことができる。
【００１８】
周波数ドメインにおけるエネルギー分布が不安定である大部分の音声シークエンス向けの本来のＳＬＳ（Scalable Lossless coding）と比較して、中間のビットレートにおける音声の知覚品質が、本発明を用いたＯＤＧ（Objective Difference Grade）測定においてかなり改善できることは、シミュレーションによって検証できる。
【００１９】
本発明の実施形態は、従属項から発生する。エンコード方法の文脈に記載された実施形態は、エンコーダ、デコード方法、デコーダ、及びコンピュータプログラム製品にも同じように有効である。
【００２０】
一の実施形態では、各信号値は周波数に対応する。例えば、前記第１サブグループは第１周波数域の周波数に対応する全信号値から構成され、前記第２サブグループは第２周波数域の周波数に対応する全信号値から構成される。前記第１周波数域の周波数は、例えば前記第２周波数域の周波数よりも低い。これは例えば周波数が低周波数域と高周波数域に分割されるという意味である。
【００２１】
信号値も２つより多いサブグループにグループ化されてよく、該サブグループのうちの一又は複数のサブグループが優先的にビットプレーン符号化されるべきであることに留意されたい。例えば、前記サブグループの信号値の比較に基づき、各サブグループはある符号化の優先度に対応づけられ、該優先度を考慮してサブグループがビットプレーン符号化されてよい。
【００２２】
各信号値は、例えば該信号値が対応する周波数に対する第１周波数係数と第２周波数係数との間のエラー（例えば、差）を特定するエラー信号値である。
【００２３】
一の実施形態は、前記第１周波数係数は、データ信号のロッシー周波数ドメイン表現に対応し、前記第２周波数係数は、前記データ信号のロスレス周波数ドメイン表現に対応する。
【００２４】
データ信号は、音声データ信号、映像データ信号、又は静止画データ信号であってよい。
【００２５】
前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきであると判定された場合には、前記第２サブグループの信号値がビットプレーン符号化される前に、前記第１サブグループの信号値は少なくとも部分的にビットプレーン符号化される。例えば、第１サブグループの信号値の複数のビットプレーンは、前記第１サブグループの信号値のいずれかのビットプレーンが走査される前に走査される。これは、第１サブグループの信号値の複数のビットプレーンのビットが、得られるビットストリームにおける第２サブグループの信号値のビットプレーンのビットに先行するという意味である。
【００２６】
前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきでないと判定された場合には、前記第１サブグループの信号値と前記第２サブグループの信号値は、同じ優先度でビットプレーン符号化される。これは、例えばＭＰＥＧ−４オーディオスケーラブルロスレス符号化（ＳＬＳ）である「通常の」ビットプレーン符号化に応じて用いられるビットプレーン符号化スキームは、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきでないと判定された場合に用いられるという意味である。
【００２７】
一の実施形態は、前記第１サブグループの信号値の前記第２サブグループの信号値に対する比較に基ついて比較値が決定され、該比較値の大きさに基づいて、前記第１サブグループの信号値をエンコードすべき優先度が決定される。
【００２８】
例えば、複数の値域が予め決定されており、各値域はある優先度に対応づけられ、前記第１サブグループの信号値をエンコードすべき優先度は、前記比較値が位置する値域に対応づけられた優先度として決定される。
【００２９】
これは、低複雑度で実行できる簡単な優先度決定方法を提供する。
【００３０】
前記比較値は、前記第１サブグループ及び前記第２サブグループの信号値のエネルギー測定に基づいて算出される。
【００３１】
一の実施形態は、前記第１サブグループは第１周波数域の周波数に対応する全信号値から構成され、前記第２サブグループは第２周波数域及び第３周波数域の周波数に対応する全信号値から構成され、前記第１周波数域の周波数は、前記第２周波数域の周波数よりも低く、前記第２周波数域の周波数は、前記第３周波数域の周波数よりも低く、前記第１サブグループの信号値を前記第２サブグループの信号値よりも高い優先度でエンコードすべきであると判定された場合には、前記第２周波数域の周波数に対応する信号値も、前記第３周波数域の周波数に対応する信号値よりも高い優先度でエンコードされる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施例に係るエンコーダを示す図である。
【図２】本発明の実施例に係るエラー信号値の表現を示す図である。
【図３】本発明の実施例に係るエラー信号値の表現を示す図である。
【図４】本発明の実施例に係るデコーダを示す図である。
【図５】本発明の実施例に係る（ビットプレーン）エンコーダ部を示す図である。
【図６】本発明の実施例に係るエラー信号値の表現を示す図である。
【図７】本発明の実施例に係るエラー信号値の表現を示す図である。
【図８】本発明の実施例に係るエラー信号値の表現を示す図である。
【図９】本発明の実施例に係るエラー信号値の表現を示す図である。
【図１０】本発明の実施例に係るデコーダ部を示す図である。
【発明を実施するための形態】
【００３３】
本発明の具体的な実施例を、図面を参照して以下に説明する。
【００３４】
図１は、本発明の実施例に係るエンコーダ１００を示す。
【００３５】
エンコーダには、音声データが、例えばＰＣＭ（Pulse Coded Modulation）に応じて生成された複数の音声サンプル１０１の形態で供給される。
【００３６】
音声サンプルは、例えばＭＰＥＧ−４ＡＡＣ（Moving Pictures Expert Group 4 Advanced Audio Coding）音声コーダである音声符号ユニット１０２によってエンコードされ、音声サンプルの周波数ドメインへのドメイン変換を行うＩｎｔＭＤＣＴ（Integer Modified Discrete Cosine Transform）ユニット１０３に供給される。ＩｎｔＭＤＣＴユニット１０３は、音声サンプルの周波数ドメインへのロスレス変換を行う。
【００３７】
ＡＡＣ符号ユニット１０２は、（ロッシー）ＡＡＣコア層に対応する周波数係数を生成する。ＡＡＣ符号ユニット１０２は、ＩｎｔＭＤＣＴユニット１０３の出力を用いてこれらの周波数係数を生成する。例えば、ＡＡＣ符号ユニット１０２は、ＩｎｔＭＤＣＴユニット１０３による周波数係数出力を量子化する。一の実施例では、ＡＡＣ符号ユニット１０２は、ＭＰＥＧ−４アドバンストオーディオコーディング（AAC）コーデックに応じてコア層を生成する。
【００３８】
ＩｎｔＭＤＣＴユニット１０３の出力が音声サンプル１０１のロスレス表現である一方、ＡＡＣ符号ユニット１０２の出力は音声サンプル１０１のロッシー表現に対応するため、ＡＡＣ符号ユニット１０２によって生成された周波数係数とＩｎｔＭＤＣＴユニット１０３によって生成された周波数係数とは異なる。ＩｎｔＭＤＣＴユニット１０３によって生成された周波数係数に対するＡＡＣ符号ユニット１０２によって生成された周波数係数のエラーは、これらのエラーに応じてエラー信号を生成するエラーマッピングユニット１０４によって算出される。このようにして、エラー信号は残留するスペクトル情報を含む。
【００３９】
本実施例では、エラー信号は複数のエラー信号値を含む。但し、各エラー信号値は、ＡＡＣ符号ユニット１０２によって生成された周波数係数とＩｎｔＭＤＣＴユニット１０３によって生成された周波数係数との差である。
【００４０】
複数のエラー信号値の例を図２に示す。
【００４１】
図２は、本発明の実施例に係るエラー信号値の表現２００を示す。
【００４２】
エラー信号値は、二次元アレイ２０１の形態で示す。二次元アレイ２０１の各フィールド２０２は、エラー信号値のビット、即ち２進数に対応する。二次元アレイ２０１の各列は、一のエラー信号値に対応する。これは、一列のフィールドは、エラー信号値の２進数に対応するという意味である。但し、最下位ビットは底部のフィールドに対応し、ビットの重要性はｙ軸２０４の方向に増加する。
【００４３】
本実施例では、４つの周波数係数毎に、またそれに応じて４つのエラー信号値毎にスケールファクタバンドにグループ化される。一のスケールファクタバンドにおける周波数係数の数は、４に限定されず（４よりも多い又は少なくてよい）、周波数係数の数は、スケールファクタバンドが多くなるにつれて増えてよい。スケールファクタバンドは、それらの番号付けに応じて左から右に示される。即ち、スケールファクタバンド番号はｘ軸２０５の方向に増加する。また、表されたエラー信号値が対応する周波数は、ｘ軸の方向に左から右へ増加する。例えば、最右部に示される列によって表されたエラー信号値は、ＡＡＣ符号ユニット１０２によって生成された周波数係数の、考慮される最大周波数に対応するＩｎｔＭＤＣＴユニット１０３によって生成された周波数係数に対するエラーである。
【００４４】
ＡＡＣ符号ユニット１０２及びＩｎｔＭＤＣＴユニット１０３は、音声サンプル１０１のブロックから周波数係数を生成する。これは、音声サンプル１０１は複数のブロック（フレーム）にグループ化され、各ブロックから、ＡＡＣ符号ユニット１０２及びＩｎｔＭＤＣＴユニット１０３が複数の周波数係数を生成するという意味である。
【００４５】
本実施例では、ＡＡＣ符号ユニット１０２及びＩｎｔＭＤＣＴユニット１０３は夫々、０ないし４８まで番号付けされた４９のスケールファクタバンドに対応する周波数係数を生成すると仮定する。番号４８は、一例として選択されただけであり、他の実施例においては異なってよい（より高い、より低い）。これらの周波数係数は、各ブロック（フレーム）に対して生成される。よって、以下に説明する工程は、各フレームに対して実行される。
【００４６】
エンコーダ１００は、エラー信号値はバランスが取られているかを判定する判定ユニット１０５を更に備える。具体的には、低周波数に対応するエラー信号値が、高周波数に対応するエラー信号値よりも（平均して）かなり低い又は高いかを判定する。
【００４７】
このために、（一のフレームの）スペクトルは低周波数域と高周波数域に分割される。例えば、０ないし２４までのスケールファクタバンドは低周波数域に属し、２５ないし４８までのスケールファクタバンドは高周波数域に属する。従って、各エラー信号値は、どのスケールファクタバンドに属するかに応じて、夫々低周波数域又は高周波数域に対応付けられる。
【００４８】
低周波数域に含まれるエネルギーＥＬは、判定ユニット１０５によって算出される。これは、例えば低周波数域に対応付けられた全エラー信号値の二乗を加算して行われる。ＥＬは、例えば低周波数域に対応付けられた全エラー信号値の二乗を加算して、それを低周波数域に対応付けられたエラー信号値の数で除算することで、平均エネルギーとしても算出される。ＥＬは、例えば低周波数域に対応付けられた全エラー信号値を加算することでも、即ち二乗することなく算出される。コア層のない他の実施例では、ＥＬはエラー信号値から算出されず、ＩＩｎｔＭＤＣＴユニット１０３によって生成された周波数係数から算出される。
【００４９】
同様に、高周波数域に含まれるエネルギーＥＨは、判定ユニット１０５によって算出される。
【００５０】
次に、判定ユニット１０５によって、
【００５１】
【数１】
2010506207.tif 000003
【００５２】
の場合に、（現在処理されているフレームに対応する）エラー信号値がバランスを失っているかが判定される。他の場合には、エラー信号値はバランスが取られているかが判定される。
【００５３】
ＴＢは閾値である。一の実施例では、ＴＢは、（エンコードされた）音声サンプルの送信に利用できるビットレートの非増加関数の値である。即ち、
【００５４】
【数２】
2010506207.tif 000004
【００５５】
関数ｆは、例えばコードブックの形態で実施される。
【００５６】
エラー信号値はバランスが取られていると判定されると、それらはビットプレーン符号ユニット１０６によってエンコードされる。エラー信号値はバランスが取られていないと判定されると、それらは優先ビットプレーン符号ユニット１０７によってエンコードされる。
【００５７】
エラー信号値がビットプレーン符号ユニット１０６によってエンコードされるべきであると判定されると、エラー信号値のビットは、図２に示すようにエンコードされる。
【００５８】
上述の如く、図２に示すアレイ２０１の列は、エラー信号値の２進表現に対応する。
【００５９】
例えば、エラー信号値ｘは、下記の２進表現を有する。
【００６０】
【数３】
2010506207.tif 000005
【００６１】
ｂｊは、エラー信号値ｘに対応する列に上から下に最上位ビットから最下位ビットの順に記載される。
【００６２】
（番号ｋを有する）各スケールファクタバンドに対して、ビットプレーン符号ユニット１０６は、このスケールファクタバンドの最大ビットプレーンＭｋを決定する。最大ビットプレーンＭｋの数は、以下の数式が成り立つ整数である。
【００６３】
【数４】
2010506207.tif 000006
【００６４】
但し、スケールファクタバンドｋに対応付けられた全エラー信号値ｘｉにわたって最大値がとられる。
【００６５】
スケールバンドファクタｋに対応付けられたエラー信号値のＭｋ位（Mk-th digit）に対応するビットは、スケールファクタバンドｋのＭｋ位ビットプレーンを形成する。
【００６６】
ビットプレーン符号ユニット１０６は、以下のようにエラー信号値からビットストリームを生成する。先ず、０位スケールファクタバンドの最大ビットプレーン、即ち番号０のスケールファクタバンドのＭ０位ビットプレーンが走査される。これは、生成されたビットストリームが、左から右へ、第１スケールファクタバンドの最大ビットプレーンのビットから始まる。即ち、最低周波数に対応するエラー信号値から始まり、周波数の大きくなる方向に進むという意味である。次に、１位ファクタバンドのＭ１位ビットプレーンが走査され、４８位スケールファクタバンドのＭ４８位ビットプレーンまで続けられる。これらのビットは、図２に「１」と表示される。
【００６７】
この工程は、同様に図２に「３」と表示したビット等で継続される。図２において、４以降の番号付けがＬ１、Ｌ２等と続くことに留意されたい。Ｌ１、Ｌ２と表示したスケールファクタバンドのビットプレーン、及びそれに続くビットプレーンも、上述の如く走査されるが、一の実施例では、このように生成されたビットストリーム１０８は、各種ビットプレーンにおけるビットの確率モデルを用いて、等差級数的に符号化される。算術符号化は、１、２、３、又は４と表示したフィールドに対応するビットプレーンに対して実行されるのみである。他のビットに対しては、レイジー（lazy）モードが入力され、ビットは算術符号化されずそのままにされる。即ち、出力に直接マップされる。
【００６８】
上述の如くビットプレーンを走査して生成されたビットストリーム１０８は、エラー信号値の符号に関する情報と、最大ビットプレーンに関する情報、即ち、どのビットプレーンがスケールファクタバンドの最大ビットプレーンであるか、を含んでよいことに留意されたい。
【００６９】
図２に例示した順序でエラー信号値をエンコードする際、低周波数域に対応付けられたエラー信号値は、高周波数域に対応付けられたエラー信号値と異なる処理を受けない。エラー信号値はバランスが取られていないと判定されると、エラー信号値は優先ビットプレーン符号ユニット１０７によって処理される。これは、ビットプレーン符号化工程において、低周波数域に対応付けられたエラー信号値が優先的に処理されるという意味である。優先ビットプレーン符号ユニット１０７は、図３に例示した異なる走査順序を用いる。
【００７０】
図３は、本発明の実施例に係るエラー信号値の表現３００を示す
図２と同様に、エラー信号値は、二次元アレイ３０１の形態で示す。但し、二次元アレイ３０１の各列３０３は、一のエラー信号値に対応する。
【００７１】
エラー信号値は、スケールファクタバンド０ないし２４を含む低周波数域３０４と、スケールファクタバンド２５ないし４８を含む高周波数域３０５とにグループ化される。
【００７２】
ビットプレーン符号ユニット１０６と同様に、優先ビットプレーン符号ユニット１０７は、（番号ｋを有する）各スケールファクタバンドに対して、このスケールファクタバンドの最大ビットプレーンＭｋを決定する。
【００７３】
次に、ビットストリームがエラー信号値から以下のように生成される。先ず、０位スケールファクタバンドの最大ビットプレーン、即ち番号０のスケールファクタバンドのＭ０位ビットプレーンが走査される。次に、１位ファクタバンドのＭ１位ビットプレーン等が走査される。図２を参照した上述の走査順序と対照的に、これは４８位スケールファクタバンドのＭ４８位ビットプレーンまで続けられず、２４位スケールファクタバンドのＭ２４位ビットプレーンまでのみ続けられる。即ち、低周波数域に対応付けられた全エラー信号値に対してのみ行われる。それまで走査されたビットは、図２において「１」と表示される。
【００７４】
次に、この工程は、スケールファクタバンド０のＭ０−１位ビットプレーン、スケールファクタバンド１のＭ１−１位ビットプレーン等、スケールファクタバンド２４のＭ２４−１位ビットプレーンまでのビットで継続される。これらのビットは、図２において「２」と表示される。
【００７５】
この工程は、同様に図３において「３」と表示したビット及び図３において「４」と表示したビットで継続される。即ち、スケールファクタバンド２４のＭ２４−３位ビットプレーンが走査されるまで続く。
【００７６】
次に、番号２５のスケールファクタバンドのＭ２５位ビットプレーンが走査される。そして、２６位ファクタバンドのＭ２６位ビットプレーン等が走査される。このようにして、高周波数域のエラー信号値が、４８位ファクタバンドのＭ４８−４位ビットプレーンまで、低周波数域エラー信号値と同様に走査される。
【００７７】
次には、（図３においてＬ１及びＬ２と表示した）レイジープレーンが、図２を参照して説明した順序と同じ順序で走査される。これは、レイジープレーンの走査に対して、低周波数域が、もはや高周波数域よりも高い優先度で処理を受けることはないという意味である。しかしながら、本発明の他の実施例では、レイジープレーンを走査する際に、高周波数域よりも高い優先度で低周波数域が処理される。例えば、低周波数域のレイジープレーンが最初に走査されてよく、次に高周波数域のレイジープレーンが走査される。
【００７８】
上述の如く、レイジープレーンは、レイジープレーンからのビットを含んで生成されたビットストリーム１０８部分が等差階級的に符号化されないのに対し、「通常の」ビットプレーンからのビットを含んで生成されたビットストリーム１０８部分は等差階級的に符号化されるという点で、「通常の」ビットプレーンと異なる。一の実施例では、ビットプレーン符号ユニット１０６及び優先ビットプレーン符号ユニット１０７は、ＢＰＧＣ（Bit-plane Golomb Code）等のエントロピー符号化を実施する。
【００７９】
生成されたビットストリーム１０８をエントロピー符号化した後、例えば、通常の」ビットプレーンからのビットを含んで生成されたビットストリーム１０８部分を等差階級的にエンコードした後、ビットストリーム１０８は例えば受信器に送信される。各フレームに対して、受信器は、当該フレームを符号化するために、ビットプレーン符号ユニット１０６に応じたビットプレーン符号化を適用したか、又は優先ビットプレーン符号ユニット１０７に応じた優先ビットプレーン符号化を適用したかに関する情報も取得する。本実施例では、この情報はビットストリーム１０８に盛り込まれる。
【００８０】
ビットストリーム１０８に加えて、コア層ビットストリーム、即ち、ＡＡＣ符号ユニット１０２の出力が受信器に送信される。これは、ビットストリーム１０８及びＡＡＣ符号ユニット１０２の出力が一緒に受信器に送信されるという意味である。一の実施例では、ビットストリーム１０８は、スケーラブルＬＬＥ（Lossless Enhancement）層を形成する。
【００８１】
受信器においては、コア層ビットストリームとエントロピー符号化されたビットストリーム１０８とが分離される。エントロピー符号化されたビットストリーム１０８は、エントロピー復号化され、次に、図４を参照して後述するデコーダに供給される。
【００８２】
図４は、本発明の実施例に係るデコーダ４００を示す。
【００８３】
デコーダ４００は、図１に示すビットストリーム１０８に対応する、デコードされるべきビットストリーム４０１を備える。
【００８４】
上述の如く、ビットストリーム１０８は、優先ビットプレーン符号化を用いて生成されたか、又は「通常の」ビットプレーン符号化を用いて生成されたかに関する情報を含む。例えば、優先ビットプレーン符号化が用いられた場合には値１を有し、図２を参照して説明したように、例えば「通常の」ビットプレーン符号化が用いられた場合には値０を有する一のビットの形態の情報である。このようにして、フレーム当たり１ビットのみがオーバーヘッド（overhead）として導入される。
【００８５】
判定部４０３は、この情報を評価し、ビットストリーム４０３を、優先ビットプレーン符号化が用いられた場合には優先ビットプレーン復号ユニット４０４に、また「通常の」ビットプレーン符号化が用いられた場合にはビットプレーン復号ユニット４０５に供給する。
【００８６】
優先ビットプレーン復号ユニット４０４は、優先ビットプレーン符号ユニット１０７によって用いられた走査順序に対応するエラー信号値を復元する。これは、優先ビットプレーン復号ユニット４０４は優先ビットプレーン符号ユニット１０７の逆演算を行うという意味である。
【００８７】
同様に、ビットプレーン復号ユニット４０５は、ビットプレーン符号ユニット１０６によって用いられた走査順序に対応するエラー信号値を復元する。これは、ビットプレーン復号ユニット４０５はビットプレーン符号ユニット１０６の逆演算を行うという意味である。
【００８８】
ビットストリーム４０１も、ビットストリーム１０８の切断ストリーム（truncated version）であることに留意されたい。これは、送信に利用できる帯域が低いために行われる可能性がある。この場合、優先ビットプレーン復号ユニット４０４及びビットプレーン復号ユニット４０５によって生成されたエラー信号値は、エラーマッピング部１０４によって生成されたエラー信号値の近似値である。
【００８９】
デコーダ４００は、ＡＡＣ符号化器１０２の出力に対応する入力として、コア層ビットストリーム４０２を更に受信する。コア層ビットストリーム４０２から、ＡＡＣ復号ユニット４０６は複数の周波数係数を生成する。例えば、ＡＡＣ復号ユニット４０６は逆量子化器を備える。ＡＡＣ復号ユニット４０６によって生成された周波数係数は、音声サンプル１０１のロッシー周波数ドメイン表現のみである。即ち、ＩｎｔＭＤＣＴ部１０３によって生成された周波数係数を正確に復元したものではない。ＡＡＣ復号ユニット４０６によって生成された周波数係数の精度は、逆エラーマッピング部４０７が、優先ビットプレーン復号ユニット４０４又はビットプレーン復号ユニット４０３によって夫々生成されたエラー信号値を用いることにより向上する。これは、ＡＡＣ復号ユニット４０６によって生成された周波数係数の夫々に、対応するエラー信号値が付加されるという意味である。
【００９０】
逆エラーマッピング部４０７の出力は逆ＩｎｔＭＤＣＴ部４０８に供給され、逆整数修正離散コサイン変換を行って受信音声サンプル４０９を生成する。ビットストリーム４０１がビットストリーム１０８の切断ストリーム（truncated version）であるか否かに応じて、受信音声サンプル４０９は、音声サンプル１０１のロッシー復元体又はロスレス復元体となる。
【００９１】
一の実施例では、切替可能ビットプレーン符号化（ＳＢＰＣ）、即ち、上述の如くエネルギー分布に応じた優先ビットプレーン符号化又は「通常の」ビットプレーン符号化の利用は、ＭＰＥＧ−４オーディオスケーラブルロスレス符号化（ＳＬＳ）の実施に用いられる。ＳＢＰＣ併用ＳＬＳを用いて達成された知覚品質を、標準ＭＰＥＧ―４オーディオテストシークエンス向けの本来のＳＬＳを用いて達成された知覚品質と比較した。この比較は、ＮＭＲ（Noise to Mask Ratio）及びＯＤＧ（Objective Difference Grade）測定を用いて各種中間速度で行った。１６及び３２ｋｂｐｓにおけるＡＡＣコアビットレート及び１９２ｋｐｂｓにおけるロスレスエンハンスドビットレートとの４つのビットレートの組み合わせを用いてテストを行った。結果を表１に示す。
【００９２】
【表１】
2010506207.tif 000007
これらの結果から、全てのビットレートの組み合わせに対して、ＳＢＰＣ併用ＳＬＳは、本来のＳＬＳの結果と比べて、両ＮＭＲ及びＯＤＧ値の改善を実現することが分かる。この改善は、mfv. wav等のアンバランス音声シークエンスにとって非常に重要である。更に、ＳＢＰＣ併用ＳＬＳによって符号化された異なる種類の音声の品質は、同じビットレートでより安定である。また非常に価値があることには、dcymbals.wav及びhaffner.wavという名称のシークエンスは、改善が僅かである。この理由は、dcymbals.wavは非常にバランスのよい音声シークエンスであり、ＰＢＰＣがほとんど切り替わらないにためである。その結果、このようなシークエンスの符号化は、ビットプレーン符号ユニット１０６によって実行される本来のＰＢＣを用いた符号化とほぼ同じとなる。一方、haffner.wavは、このシークエンスに対する量子化ノイズが、通常のシークエンスと比べてすでに非常に小さいため、品質が満たされているので改善は僅かである。
【００９３】
以下、エラー信号値が上述の如く２つの領域（低周波数域及び高周波数域）に分割されず、３つの領域、即ち、エネルギーＥＬを含む低周波数域、エネルギーＥＭを含む中周波数域、及びエネルギーＥＨを含む高周波数域に分割される実施例について説明する。
【００９４】
例えば、４９のスケールファクタバンドは、スケールファクタバンド０ないし２０が低周波数域に属し、スケールファクタバンド２１ないし４４は中周波数域に属し、スケールファクタバンド４５ないし４９は高周波数域に属するようにグループ化される。また、スケールファクタバンドと周波数域との他の対応付けも可能である。
【００９５】
本実施例では、図１に示したエンコーダとは異なるエンコーダを用いる。その差は図５に示す。
【００９６】
図５は、本発明の実施例に係る（ビットプレーン）エンコーダ部５００を示す
（ビットプレーン）エンコーダ部５００は、本実施例において判定ユニット１０５、ビットプレーン符号ユニット１０６、及び優先ビットプレーン符号ユニット１０７の代わりに用いられる。従って、エンコーダ部５００は、エラーマッピングユニット１０４によって生成されたエラー信号を入力として受信すると仮定する。エンコーダ部５００を備えるエンコーダも、（ＳＬＳ非コアモードに対応する）ＡＡＣコア無しで実施できる。
【００９７】
エンコーダ部５００は、エラー信号値が供給される判定ユニット５０１を備える。判定ユニット５０１は、エラー信号値はバランスが取られているかを判定する。
【００９８】
本実施例は、
【００９９】
【数５】
2010506207.tif 000008
【０１００】
の場合に、エラー信号値はバランスが取られているとみなされる。
【０１０１】
エラー信号値はバランスが取られていないとみなされる場合には、走査レベルＳＬは以下に従って選択される。
【０１０２】
【数６】
2010506207.tif 000009
【０１０３】
走査レベルは、エラー信号値はバランスが取られている場合には、０に設定される。
【０１０４】
これに対応して、エラー信号値はバランスが取られていないとみなされる場合には、第１調査ユニット５０２は、第１条件が満たされるかを調べる。第１条件は、以下の場合に満たされる。
【０１０５】
【数７】
2010506207.tif 000010
【０１０６】
第１条件が満たされない場合、第２調査ユニット５０３は、第２条件が満たされるかを調べる。第２条件は、以下の場合に満たされる。
【０１０７】
【数８】
2010506207.tif 000011
【０１０８】
エラー信号値はバランスが取られているとみなされる場合には、ビットストリーム５０８は、第１ビットプレーン符号ユニット５０４によってエラー信号値から生成される。
【０１０９】
エラー信号値はバランスが取られていないとみなされ、第１条件が満たされる場合には、ビットストリーム５０８は、第２ビットプレーン符号ユニット５０５によってエラー信号値から生成される（これを走査レベル１で表す）。
【０１１０】
エラー信号値はバランスが取られていないとみなされ、第１条件が満たされず、第２条件が満たされる場合には、ビットストリーム５０８は、第３ビットプレーン符号ユニット５０６によってエラー信号値から生成される（これを走査レベル２で表す）。
【０１１１】
エラー信号値はバランスが取られていないとみなされ、第１条件が満たされず、第２条件が満たされない場合には、ビットストリーム５０８は、第４ビットプレーン符号ユニット５０７によってエラー信号値から生成される（これを走査レベル３で表す）。
【０１１２】
具体的に、ビットプレーン符号ユニット５０４ないし５０７は、低周波数域のエラー信号値のうち、異なるレベルの優先度のエラー信号値を符号化する。第１ビットプレーン符号ユニット５０４によって実行された符号化は、「通常の」ビットプレーン走査に応じた符号化であるとみなすことができる。第２ビットプレーン符号ユニット５０５、第３ビットプレーン符号ユニット５０６、及び第４ビットプレーン符号ユニット５０７によって実行された符号化は、「優先」ビットプレーン走査に応じた符号化であるとみなすことができる。これにより、第４ビットプレーン符号ユニット５０７は、最高の優先度で低周波数域のエラー信号値を符号化するとみなすことができる。第３ビットプレーン符号ユニット５０６は、２番目に高い優先度で低周波数域のエラー信号値を符号化するとみなすことができる。
【０１１３】
ビットプレーン符号ユニット５０４ないし５０７は、異なるビットプレーン走査順序を用いてビットストリーム５０８を生成する。異なるビットプレーン走査順序について、図６ないし図９に示すエラー信号値の表現６００、７００、８００、及び９００を参照して以下に説明する。
【０１１４】
表現６００、７００、８００、及び９００において、図２及び図３と同様に、対応するビットプレーン走査順序に応じて最初に走査されたビットは、「１」と表示され、対応するビットプレーン走査順序に応じて２番目に走査されたビットは、「２」と表示され、対応するビットプレーン走査順序に応じて３番目に走査されたビットは、「３」と表示され、対応するビットプレーン走査順序に応じて４番目に走査されたビットは、「４」と表示される。「Ｌ１」と表示したビット及び「Ｌ２」と表示したビットは、レイジーモードを用いて符号化される。但し、「Ｌ１」と表示したビットは、「Ｌ２」と表示したビットが走査される前に走査される。
【０１１５】
図６は、本発明の実施例に係るエラー信号値の表現６００を示す。
【０１１６】
図２と同様に、エラー信号値は、二次元アレイ６０１の形態で示す。但し、二次元アレイ６０１の各列６０３は、一のエラー信号値に対応する。
【０１１７】
表現６００は、第１ビットプレーン符号ユニット５０４によって用いられたビットプレーン符号化順序を示す。
【０１１８】
ビットプレーン符号化順序は、図２を参照して説明した順序と類似する。
【０１１９】
先ず、０位スケールファクタバンドの最大ビットプレーン、即ち番号０のスケールファクタバンドのＭ０位ビットプレーンが走査される。これは、生成されたビットストリーム５０８が、左から右へ、第１スケールファクタバンドの最大ビットプレーンのビットから始まる。即ち、最低周波数に対応するエラー信号値から始まり、周波数の大きくなる方向に進むという意味である。次に、１位ファクタバンドのＭ１位ビットプレーンが走査され、４８位スケールファクタバンドのＭ４８位ビットプレーンまで続けられる。
【０１２０】
次に、これらのビットの後に、スケールファクタバンド０のＭ０−１位ビットプレーン、スケールファクタバンド１のＭ１−１位ビットプレーン等からスケールファクタバンド４８のＭ４８−１位ビットプレーンが続く。これらのビットは「２」と表示される。
【０１２１】
この工程は、図２において「３」と表示したビット等と同様に継続する。但し、４以降では、走査工程はビットＬ１、Ｌ２等で継続される。
【０１２２】
このように、このビットプレーン走査順序は「通常の」走査順序とみなすことができる。
【０１２３】
図７は、本発明の実施例に係るエラー信号値の表現７００を示す。
【０１２４】
図２と同様に、エラー信号値は、二次元アレイ７０１の形態で示す。但し、二次元アレイ７０１の各列７０３は、一のエラー信号値に対応する。
【０１２５】
以上説明したように、エラー信号値は、低周波数域７０４と中周波数域７０５と高周波数域７０６とにグループ化される。
【０１２６】
表現７００は、第２ビットプレーン符号ユニット５０５によって用いられたビットプレーン符号化順序を示す。
【０１２７】
ビットストリーム５０８は、以下のようにエラー信号値から生成される。先ず、０位スケールファクタバンドの最大ビットプレーン、即ち番号０のスケールファクタバンドのＭ０位ビットプレーンが走査される。次に、１位ファクタバンドのＭ１位ビットプレーン等が走査される。図６を参照して説明した走査順序と対照的に、これは４８位スケールファクタバンドのＭ４８位ビットプレーンまで続けられず、２０位スケールファクタバンドのＭ２０位ビットプレーンまでのみ続けられる。即ち、（番号２０のスケールファクタバンドは、低周波数域に対応付けられた最大番号のスケールファクタバンドであると仮定すると）、低周波数域に対応付けられた全エラー信号値に対してのみ行われる。それまで走査されたビットは、図２において「１」と表示される。
【０１２８】
次に、この工程は、スケールファクタバンド０のＭ０−１位ビットプレーン、スケールファクタバンド１のＭ１−１位ビットプレーン等、スケールファクタバンド２０のＭ２０−１位ビットプレーンまでのビットで継続される。これらのビットは、図７において「２」と表示される。
【０１２９】
次に、２１位スケールファクタバンドの最大ビットプレーン、即ち、番号２１のスケールファクタバンドのＭ２１位ビットプレーンが走査される。そして、２２位ファクタバンドのＭ２２位ビットプレーン等が走査される。これは２０位スケールファクタバンドのＭ４４位ビットプレーンまで続けられる。即ち、（番号４４のスケールファクタバンドは、中周波数域に対応付けられた最大番号のスケールファクタバンドであり、番号２１のスケールファクタバンドは、中周波数域に対応付けられた最小番号のスケールファクタバンドであると仮定すると）、中周波数域に対応付けられた全エラー信号値に対してのみ行われる。それまで走査されたビットは、図７において「３」と表示される。
【０１３０】
次に、スケールファクタバンド２１のＭ２１−１位ビットプレーン、スケールファクタバンド２２のＭ２２−１位ビットプレーン等、スケールファクタバンド４４のＭ４４−１位ビットプレーンまでのビットで継続される。これらのビットは、図７において「４」と表示される。
【０１３１】
次に、この走査は、「１」及び「２」と表示したビットと同様に走査される、低周波数域の第３上位ビット及び低周波数域の第４上位ビットで継続される（「５」及び「６」と表示される）。
【０１３２】
次に、この走査は、「３」及び「４」と表示したビットと同様に走査される、低周波数域の第３上位ビット及び中周波数域の第４上位ビットで継続される（「７」及び「８」と表示される）。
【０１３３】
その後、高周波数域の第４上位ビットは、左から右へ走査される。即ち、「９」ないし「１２」と表示したビットである。
【０１３４】
最後に、「Ｌ１」、「Ｌ２」等と表示したビットが走査される。これは、「通常の」順序で起こる。即ち、「Ｌ１」と表示した全ビットに対してスケールファクタバンド１から開始してスケールファクタバンド４８まで行われ、スケールファクタバンド０の「Ｌ２」と表示したビットで、スケールファクタバンド４８の「Ｌ２」と表示したビット等まで継続される。
【０１３５】
具体的に、図７に示すビットプレーン走査順序に従って、先ず、低周波数域の最上位ビット及び第２上位ビットが走査され、次に、中周波数域の最上位ビット及び第２上位ビットが走査され、次に、低周波数域の第３上位ビット及び第４上位ビットが走査され、次に、中周波数域の第３上位ビット及び第４上位ビットが走査され、次に、高周波数域の最上位ビット、第２上位ビット、第３上位ビット及び第４上位ビットが走査され、そして最後に、残りのビットが「通常」の順序に応じて走査される。
【０１３６】
図８は、本発明の実施例に係るエラー信号値の表現８００を示す。
【０１３７】
図７と同様に、エラー信号値は、二次元アレイ８０１の形態で示す。但し、二次元アレイ８０１の各列８０３は、一のエラー信号値に対応する。
【０１３８】
以上説明したように、エラー信号値は、低周波数域８０４と中周波数域８０５と高周波数域８０６とにグループ化される。
【０１３９】
表現８００は、第３ビットプレーン符号ユニット５０６によって用いられたビットプレーン符号化順序を示す。
【０１４０】
ビットプレーン走査順序は、低周波数域の第３上位ビット（「３」と表示）が中周波数域の最上位ビット（「４」と表示）の前に走査されるという点で図７を参照して説明した走査順序と異なる。
【０１４１】
これは、図７を参照して説明した、（又は）ビットプレーン走査と比較して、中周波数域のエラー信号値に対して低周波数域のエラー信号値を更に優先させるとして見られる。
【０１４２】
図９は、本発明の実施例に係るエラー信号値の表現９００を示す。
【０１４３】
図７と同様に、エラー信号値は、二次元アレイ９０１の形態で示す。但し、二次元アレイ９０１の各列９０３は、一のエラー信号値に対応する。
【０１４４】
以上説明したように、エラー信号値は、低周波数域９０４と中周波数域９０５と高周波数域９０６とにグループ化される。
【０１４５】
表現９００は、第４ビットプレーン符号ユニット５０７によって用いられたビットプレーン符号化順序を示す。
【０１４６】
ビットプレーン走査順序は、低周波数域の第４上位ビット（「４」と表示）でさえも中周波数域の最上位ビット（「５」と表示）の前に走査されるという点で図８を参照して説明した走査順序と異なる。
【０１４７】
これは、図８を参照して説明した、（又は）ビットプレーン走査と比較して、中周波数域のエラー信号値に対して低周波数域のエラー信号値を更に優先させるとして見られる。
【０１４８】
ビットストリーム５０８は、例えば算術符号化スキームに従って、エントロピー符号ユニット５０９によってエントロピー符号化され、エントロピー符号化ビットストリーム５１０を生成する。
【０１４９】
エントロピー符号化ビットストリーム５１０には、どのビットプレーン走査順序が用いられたかに関する情報が含まれる。即ち、どのビットプレーン符号ユニット５０４ないし５０７がビットストリーム５０８を生成したかに関する情報である。これは音声信号１０１の各ブロック（フレーム）で実行される。従って、フレーム当たり２つのビットがフレーム当たりで送信されなければならない。一の実施例では、エンコーダはＳＬＳに基づいて実施される。この場合、フレーム当たり一のリザーブドビット（reserved bit）を使用でき、フレーム当たり一のエキストラビットを使用すべきである。複雑度は、フレーム当たり値τの一の計算結果だけ増加するのみである。
【０１５０】
エンコーダ部５００に対応するデコーダ部について以下に説明する。
【０１５１】
図１０は、本発明の実施例に係るデコーダ部１０００を示す。
【０１５２】
デコーダ部１０００は、図５に示すエンコーダ部５００に対応する。図４に示すデコーダ４００と同様なデコーダ内で、判定ユニット４０３、優先ビットプレーン復号ユニット４０４、及びビットプレーン復号ユニット４０５の代わりに用いられる。
【０１５３】
デコーダ部１０００には、図５に示すビットストリーム５０８に対応する、デコードされるべきビットストリーム１００１が供給される。デコーダ部１０００には、更に（上述の如くエントロピー符号化ビットストリーム５１０に含まれる）どのビットプレーン走査順序がビットストリーム１００１の生成に用いられたかに関する情報、即ち、どのビットプレーン符号ユニット５０４ないし５０７がビットストリーム５０８を生成したかに関する情報が供給される。
【０１５４】
例えば、ビットプレーン走査レベル／走査順序を特定するために、フレーム当たり２つの情報ビットが、デコーダ部１０００を備えるデコーダに送信されなければならない。例えば、走査レベル０はビット００で示され、走査レベル１はビット０１で示され、走査レベル２はビット１０で示され、走査レベル３はビット１１で示される。一のフレームに対する対応走査レベルは、そのフレームに対する送信された２つのビットに基づいて選択される。
【０１５５】
この情報は、第１調査ユニット１００２、第２調査ユニット１００３、及び第３調査ユニット１００４によって評価される。
【０１５６】
第１調査ユニット１００２は、ビットストリーム１００１が第１ビットプレーン符号ユニット５０４によって生成されたかを判定する。そのような場合、ビットストリーム１００１は、第１ビットプレーン符号ユニット５０４に対応する第１ビットプレーン復号ユニット１００５によってデコードされる。
【０１５７】
第１調査ユニット１００２が、ビットストリーム１００１は第１ビットプレーン符号ユニット５０４によって生成されなかったと判定した場合、第２調査ユニット１００３は、ビットストリーム１００１が第２ビットプレーン符号ユニット５０５によって生成されたかを判定する。そのような場合、ビットストリーム１００１は、第２ビットプレーン符号ユニット５０５に対応する第２ビットプレーン復号ユニット１００６によってデコードされる。
【０１５８】
第２調査ユニット１００３が、ビットストリーム１００１は第２ビットプレーン符号ユニット５０５によって生成されなかったと判定した場合、第３調査ユニット１００４は、ビットストリーム１００１が第３ビットプレーン符号ユニット５０６によって生成されたかを判定する。そのような場合、ビットストリーム１００１は、第３ビットプレーン符号ユニット５０６に対応する第３ビットプレーン復号ユニット１００７によってデコードされる。
【０１５９】
第３調査ユニット１００４が、ビットストリーム１００１は第３ビットプレーン符号ユニット５０６によって生成されなかったと判定した場合、ビットストリーム１００１は、第４ビットプレーン符号ユニット５０７に対応する第４ビットプレーン復号ユニット１００８によってデコードされる。
【０１６０】
ビットプレーン復号ユニット１００５ないし１００８は、夫々、対応するビットプレーン符号ユニット５０４ないし５０７によって用いられた走査順序に対応するエラー信号値を復元する。これは、ビットプレーン復号ユニット１００５ないし１００８は、対応するビットプレーン符号ユニット５０４ないし５０７の逆演算を行うという意味である。
【０１６１】
ビットストリーム１００１も、ビットストリーム５０８の切断ストリーム（truncated version）であることに留意されたい。これは、送信に利用できる帯域が低いために行われる可能性がある。この場合、ビットプレーン復号ユニット１００５ないし１００８によって生成された復元エラー信号値１００９は、エラーマッピング部１０４によって生成されたエラー信号値の近似値である。
【０１６２】
ビットストリーム１００１は、例えばエントロピー符号ユニット５０９に対応する（即ち、その逆演算を行う）エントロピー復号ユニット（図示せず）によって、（場合により切断されている）エントロピー符号化ビットストリーム５１０から生成される。一の実施例では、エントロピー復号化は、ビット復号ユニット１００５ないし１００８によるエントロピー符号化ビットストリームの処理後に実行される。
【０１６３】
図５ないし図１０を参照して説明した実施例に応じた符号化スキームは、例えばＱＢＰＣ（Quad-level Bit-Plane Coding）で示される。例えば、ＭＰＥＧ−４ＳＬＳ参照モデルソースコードである非コアモードで実施されてよい。図１及び図４に示すように、対応するエンコーダ及びデコーダは、ＩｎｔＭＤＣＴフィルタバンクとビットプレーン符号ブロックとを備えてよい。例えば、ＩｎｔＭＤＣＴスペクトルは、ＢＰＧＣ（Bit-Plane Golomb Code）を用いて符号化され、スケーラブルビットストリームを生成する。ＳＬＳに対して、ＳＬＳのビットプレーン符号化は、以上説明したようにエンコーダ及びデコーダ内でＱＢＰＣブロックに置換される。
【０１６４】
ＱＢＰＣ併用非コアＳＬＳの知覚品質を、ＯＤＧ（Objective Difference Grade）測定を用いて各種中間速度において本来のＳＬＳの知覚品質と比較した。この評価では、標準ＭＰＥＧ−４オーディオテストシークエンスを用いた。これは４８ｋＨｚ、サンプル当たり１６ビットでサンプリングした１５のステレオ音楽ファイルを含む。この結果を以下の表に示す。ここで、テストには、９６、１２８、１６０、１９２、２２４、及び２５６ｋｂｐｓを含む６つの中間ビットレートを用いた。
【０１６５】
【表２】
2010506207.tif 000012
【０１６６】
【表３】
2010506207.tif 000013
これらの結果から、これらの全ビットレートに対して、ＱＢＰＣ併用非コアＳＬＳは、本来の非コアＳＬＳの結果と比べて、ＯＤＧ値の改善を実現することが分かる。この改善は、シークエンスの大部分にとって非常に重要である。加えて、ＱＢＰＣ併用非コアＳＬＳによって符号化された異なる種類の音声の品質は、同じビットレートでより安定である。また非常に価値があることには、dcymbals.wavという名称のシークエンスは、改善が僅かである。理由は、このシークエンスはエネルギー分布のおいて非常にバランスがよく、その結果ＱＢＰＣが常にレベル０のビットプレーン走査にあるためである（即ち、ビットストリーム５０８は、大抵のフレームについては、第１ビットプレーン符号ユニット５０４によって生成される）。その結果、このようなシークエンスの符号化は、ＳＬＳビットプレーン符号化を用いた符号化とほぼ同じとなる。
【０１６７】
高ビットレートにおける改善は、相対的に少ないことも分かる。これは、ビットプレーンの優先度は、ビットレートが符号化すべき全ての非レイジービットプレーンに対して十分な場合には何の影響も及ぼさないので適切である。
【０１６８】
これらの結果から、周波数スペクトルにおける音声信号のエネルギー分布に応じてビットプレーン走査順序を切り替えることによって、ビットプレーン符号化をより効率よく実行できることが分かる。
【０１６９】
シミュレーションの結果により、中間ビットレートにおける音声の知覚品質が、音声シークエンスの大部分に対し、本来の非コアＳＬＳと比較して、本発明を用いたＯＤＧ測定の観点からはかなり改善されたことが検証された。一方、これは、計算上の複雑度、又はロスレス符号化効率という観点からは、オーバーヘッドが無視できる程度で達成される。
【符号の説明】
【０１７０】
１００  エンコーダ
１０１  音声サンプル
１０２  音声符号ユニット
１０３  ＩｎｔＭＤＣＴ（Integer Modified Discrete Cosine Transform）ユニット
１０４  エラーマッピングユニット
１０５  判定ユニット
１０６  ビットプレーン符号ユニット
１０７  優先ビットプレーン符号ユニット
１０８  ビットプレーン符号ユニット
【図１】
2010506207.tif 000014
【図２】
2010506207.tif 000015
【図３】
2010506207.tif 000016
【図４】
2010506207.tif 000017
【図５】
2010506207.tif 000018
【図６】
2010506207.tif 000019
【図７】
2010506207.tif 000020
【図８】
2010506207.tif 000021
【図９】
2010506207.tif 000022
【図１０】
2010506207.tif 000023
【国際調査報告】
2010506207.tif 000024
2010506207.tif 000025