(57)【要約】【課題】本発明は、高性能な音声符号化パラメータ処理を実現する方法を開示して、概して音声復号化処理を改善する。【解決手段】本発明は、必要なテーブルを生成するステップと、音声符号化パラメータを解析する方法を提示する。ＡＭＲ  ＩＦ２毎秒１２．２キロビットモードは、その方法を説明する例として用いられる。本発明は、ビットストリーム内の関連するビットを処理することによりパラメータを解析する必要のある音声関連の用途であれば、いずれにも適している。本発明はまた、音声ビットストリームを再生する能力を持つモバイルハンドセットおよびＰＤＡにおいて使用することができる。例えば、ＰＣベースのＡＭＲ検証器およびＡＭＲ音声再生装置である。【選択図】  図２
2004165893.tif 000002
【特許請求の範囲】
【請求項１】
バイト配置を持つ１つのフレームにおいて、前記パラメータと、関連するビット割り当てとの関係を示す関係テーブルを生成するステップと、
解析処理を高速化するために、ビットフィールドを逆に並べ替える複数のテーブルを生成するステップと、
前記関係テーブルを参照し、１フレーム内に配置された関連するすべてのビットを処理することにより、一度に前記パラメータの各々を解析し、復号化するステップと
を含む、ビットストリーム内の音声符号化パラメータの解析および復号化方法。
【請求項２】
バイト配置を持つ１つのフレームにおいて、前記パラメータと、関連するビット割り当てとの関係を示す関係テーブルを生成する前記ステップは、
バイト配置を持つ符号化出力ビットのビット割り当てを示すことにより、第１のテーブルを生成するステップと、
前記パラメータに番号を付けることにより他のテーブルを生成し、前記符号化出力ビットの位置にリンク付けするステップと、
前記パラメータと前記ビット割り当ての位置との関係を示すことにより、前記関係テーブルを生成するステップと
を備えた、請求項１に記載のビットストリーム内の音声符号化パラメータの解析および復号化方法。
【請求項３】
解析処理を高速化するために、ビットフィールドを逆に並べ替える複数のテーブルを生成する前記ステップは、
２ビットを反転するテーブルを生成するステップと、
３ビットを反転するテーブルを生成するステップと、
３ビットから２ビットへ反転するテーブルを生成するステップと、
４ビットを反転するテーブルを生成するステップと、
５ビットを反転するテーブルを生成するステップと
を備えた、請求項１に記載のビットストリーム内の音声符号化パラメータの解析および復号化方法。
【請求項４】
前記関係テーブルを参照し、１フレーム内に配置された関連するすべてのビットを処理することにより、一度に前記パラメータの各々を解析し、復号化する前記ステップは、
ビットストリームから前記ビットを解析するステップと、
前記パラメータに対して同一の番号を持つ、異なるオクテット指数からビットをグループ化するステップと、
異なる長さの前記グループ化されたビットを、１つの値に変換するステップと、
さらなる復号化処理に割り当てられた前記パラメータを取得するステップと
を備えた、請求項１に記載のビットストリーム内の音声符号化パラメータの解析および復号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＡＭＲ符号化システムのような音声符号化／復号化関連の用途、特に、より高速に音声ビットストリームを処理する必要がある用途、またはより低いＣＰＵ能力またはより少ないＣＰＵの使用において音声ビットストリームを処理する必要がある用途に非常に有用である。本発明により導入される方法は、音声符号化パラメータを解析するのに非常に効率的な方法を提示し、復号化処理を高速化する。
【０００２】
【従来の技術】
適応マルチレート（Ａｄａｐｔｉｖｅ  Ｍｕｌｔｉ  Ｒａｔｅ；  ＡＭＲ）音声コーデック（ｃｏｄｅｃ）は、ＧＳＭ２＋およびＷＣＤＭＡ第３世代無線システムのデフォルトの音声コーデックであり、そして第３世代パートナーシッププロジェクト（３ＧＰＰ）により、第３世代システムの必須の音声コーデックとして選択されている。広帯域符号分割多重アクセス方式（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ−Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ−Ａｃｃｅｓｓ；  ＷＣＤＭＡ）は、第３世代（ｔｈｉｒｄ−ｇｅｎｅｒａｔｉｏｎ；  ３Ｇ）セルラーシステムの実施に関する主要な技術の１つである。ＷＣＤＭＡはＩＭＴ−２０００ダイレクトスプレッドという名の下で、ＩＴＵにより規格として採用されている。ＧＳＭ−ＡＭＲは、４．７５ｋｂｐｓから１２．２ｋｂｐｓの範囲にわたる、８ビットレートで動作し、すべての特定されたビットレートに対して、代数的符号励振線形予測（Ａｌｇｅｂｒａｉｃ  Ｃｏｄｅ  Ｅｘｃｉｔｅｄ  Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｏｎ；  ＡＣＥＬＰ）の原理を利用する。ＡＣＥＬＰは、広域の伝送条件の下で高い音声品質を確保するために開発された。
【０００３】
ＡＭＲの仕様およびその参照ソフトウェアは、３ＧＰＰウェブサイトからダウンロード可能である。ＵＲＬは、ｈｔｔｐ：／／ｗｗｗ．３ｇｐｐ．ｏｒｇである。主要な参照となる仕様を以下列挙する。
［１］            ３ＧＰＰ  ＴＳ  ２６．０７１  Ｖ４．０．０  （２００１−０３）：  ”Ｇｅｎｅｒａｌ  Ｄｅｓｃｒｉｐｔｉｏｎ”（概説）．
［２］            ３ＧＰＰ  ＴＳ  ２６．１０１  Ｖ４．２．０  （２００２−０３）：  ”Ｆｒａｍｅ  Ｓｔｒｕｃｔｕｒｅ”（フレーム構造）．
［３］            ３ＧＰＰ  ＴＳ  ２６．０９０  Ｖ４．０．０  （２００１−０３）：  ”Ｔｒａｎｓｃｏｄｉｎｇ  ｆｕｎｃｔｉｏｎｓ”（トランスコーディング機能）．
［４］            ３ＧＰＰ  ＴＳ  ２６．１０４  Ｖ４．３．０  （２００２−０３）：  ＜＜    ＡＮＳＩ  Ｃ  ｃｏｄｅ  ｆｏｒ  ｔｈｅ  ｆｌｏａｔｉｎｇ−ｐｏｉｎｔ  ＡＭＲ  ｓｐｅｅｃｈ  ｃｏｄｅｃ  ＞＞（浮動小数点ＡＭＲ音声コーデックのためのＡＮＳＩ  Ｃ符号）．
【０００４】
ＡＭＲ音声復号処理は以下の主要なステップを含む。すなわち、ＡＭＲビットストリームからパラメータを解析するステップ、トランスコーディング機能を適用するステップ、および、圧縮されていない生のデータ（毎秒８０００サンプルの１３ビット等速（ｕｎｉｆｏｒｍ）ＰＣＭ）を出力するステップである。どのステップにおいてもなされた性能の改善により、復号処理を高速化できるであろう。本発明は、解析パラメータの実装を重点的に取り扱う。
【０００５】
３ＧＰＰ  ＴＳ  ２６．１０４の参照ソフトウェアで用いられている既存のパラメータの解析方法では、一度に１ビットずつ処理することによりパラメータを解析する。この方法は、コアフレームデータの各ビットの情報を含むテーブルを利用する。例えば、３ＧＰＰ  ＴＳ  ２６．１０４におけるファイルｉｎｔｅｒｆ＿ｒｏｍ．ｈ内のテーブルｏｒｄｅｒ＿ＭＲ１２２［  ］では、要素の各組は、１ビットの情報を表す。第１の組は第１ビットに、第２の組は第２ビットに、というように用いられる。各組の第１の要素は、そのビットが属するパラメータの数を示し、第２の要素は、そのパラメータのビットフィールドを示す。例えば、ｏｒｄｅｒ＿ＭＲ１２２［  ］テーブルでは、要素の第１の組は０および０ｘ４０であることを意味し、第１ビットは、番号０のパラメータに属し（第１要素＝０）、第１ビットはパラメータの第６ビット（ゼロベース）を表す（第２要素＝０１００００００（２進数））。
【０００６】
パラメータ（毎秒１２．２キロビットでは５７パラメータ）を解析するため、解析手順は、第５ビットから始まり第２４８ビットまでのループの各ビットを処理する必要がある（はじめの４ビットはフレームタイプ（Ｆｒａｍｅ  Ｔｙｐｅ）を表す）。各ループでは、２つの条件節がある。１つはビットテスト（＝１、計算を行う）のため、他方は１ビット右シフトまたは新たな１バイト読み込みのためである。このような条件のチェックはインテルのペンティアムプロセッサアーキテクチャでは処理速度を遅くするであろう。さらに、各パラメータの解析は、１回ごとに１ビットの処理を複数回行わなければならない。よって参照ソフトウェアにより提供されるパラメータ解析の実装は効率的ではない。
【０００７】
また、仮にパラメータのすべてのビットを一度に処理することによりパラメータを解析できるのであれば、パラメータの解析を実装する性能は、すべての復号化処理が高速化するように改善されるであろう。これは、デコーダ（または復号化器）が音声ビットストリームをより高速に処理できるか、または、デコーダが（リアルタイムで）より低いＣＰＵ性能またはより少ないＣＰＵの使用を必要とするか、のいずれかを意味する。
【０００８】
よって結論は、ＡＭＲ検証器（ＡＭＲ  Ｖｅｒｉｆｉｅｒ）、ＡＭＲ再生装置またはモバイルハンドセットおよびＰＤＡで用いられるプログラムのような、音声に関連する用途に対する音声復号化処理を改良する効率的な方法を提供することが必要とされている、といえる。
【０００９】
【発明が解決しようとする課題】
ＡＭＲビットストリームに格納されたビットは、本質的な重要度に応じた、並び替えられた符号化（エンコーダ）出力ビットである。音声符号化（音声エンコーダ）により生成されたビットは、｛ｓ（１），  ｓ（２），  ．．．，  ｓ（Ｋ）｝と表される。ここで毎秒１２．２キロビットモードではＫ  ＝２４４である。音声符号化の出力ビットは、それらの本質的な重要度に応じて並び替えられる。並び替えられたビットは、重要度が低くなる順序で｛ｄ（１），  ｄ（２），  ．．．，  ｄ（Ｋ−１）｝として表される。順序付けのアルゴリズムは、３ＧＰＰ  ＴＳ  ２６．１０１の「ビット順序付けセクション４．２．１」に記載されている。
【００１０】
一度に１つのビットを処理することによりパラメータを解析する方法は、非効率的である。１つのパラメータに対して一度にすべての関連のあるビットを処理するため、我々は、オクテット（ｏｃｔｅｔ）配置を持つフレームに割り当てられたビットがどこにあるかを理解する必要がある。したがって我々はパラメータとそのビット割り当ての関係を示すテーブルを用意する必要がある。フレーム内の第１ビットからはじめて、我々は８ビットのグループを作成する。そして各グループは実質的に１バイトを表す。我々はまた、容易にパラメータをそのビットとリンクできるようにパラメータに番号付けする。そのテーブルを参照して、我々は、デコーダをプログラムして効率的にパラメータを解析できるであろう。
【００１１】
さらに、１フレーム内の複数ビットは、それらをパラメータ内のビットフィールドにマッピングする際に、逆順で格納してもよい。解析処理を高速化するため、反転する必要があるビットについてテーブルを構築してもよい。
【００１２】
【課題を解決するための手段】
上述の課題を解決する本発明による方法は、パラメータとそのビット割り当ての関係を示すテーブルを生成し、反転する必要があるビットについてテーブルを生成して解析処理を高速化し、関連するすべてのビットを一度に処理することによりパラメータを解析する。
【００１３】
またパラメータとそのビット割り当ての関係を示すテーブルを生成する手段と、反転する必要があるビットについてテーブルを生成する手段と、関連するすべてのビットを一度に処理する手段を含む。
【００１４】
本発明の作用を説明すると、ＡＭＲ検証器プログラムでは、ファイルリーダモジュールはＡＭＲビットストリームを読み出し、ＡＭＲパーサモジュールはＡＭＲパラメータを解析し、ＡＭＲトランスコーディングモジュールはＡＭＲパラメータを用いて、圧縮されていない生データを出力し、プレゼンテーション部はＡＭＲパラメータを表示し、音楽を再生し、上述の圧縮されていない生データを格納する。
【００１５】
【発明の実施の形態】
ＡＭＲ検証器（ＡＭＲ  Ｖｅｒｉｆｉｅｒ）
音声関連の用途の１つに、ＰＣベースのＡＭＲ検証器がある。この検証器の目的は、ツールを提供してＡＭＲビットストリームを分析し、その正確さを検証することである。図１に示すように、ＡＭＲ検証器プログラムは４つのモジュールを含む。すなわちファイルリーダ（１００１）、ＡＭＲパーサ（１００２）、トランスコーディング処理部（１００３）およびプレゼンテーション部（１００４）である。ファイルリーダ１００１は、ローカルからシステムメモリ内にＡＭＲビットストリームを読み込む。検証器がリアルタイム受信および検証の際に利用されることが想定されている場合には、このモジュールは、ＡＭＲビットストリームを受信し、システム内に格納するリアルタイム受信モジュールに置き換えることもできる。ＡＭＲパーサ１００２は、システムメモリから１フレームデータを取得し（例えば、毎秒１２．２キロビットモードのＡＭＲインターフェースフォーマット２（ＩＦ２）の復号化に対しては、３１バイト（２４８ビット）を取得し）、ＡＭＲパラメータを解析し、そしてそれをトランスコーディング処理部１００３およびプレゼンテーション部１００４に送る。ＡＭＲパーサ１００２は、フレームを次々と繰り返して解析処理する。トランスコーディング処理部１００３は、トランスコーディング処理を行い、圧縮されていない生データをプレゼンテーション部１００４に送る。プレゼンテーション部１００４は、ＡＭＲパラメータを提示し、音楽を演奏し、上述の圧縮されていない生データを将来利用するために格納する。
【００１６】
パラメータとそのビット割り当ての関係を示すテーブル
ＧＳＭ−ＡＭＲ音声コーデックには８つのモードがあり、それらは毎秒４．７５キロビットから１２．２キロビットまでのビットレートに対応する。以下本明細書では、ＡＭＲ  ＩＦ２  毎秒１２．２キロビットモードを用いて、パラメータの解析方法を説明する。テーブルＡ「１フレームにオクテット配置を持つ音声符号化出力ビット割り当て」は、音声符号化の出力ビットがどのようにしてフレーム内にマッピングされるかを示す。このテーブルは（オクテット配置を持つ）Ａｎｎｅｘ  Ａ  ＡＭＲ  インターフェースフォーマット２と、３ＧＰＰ  ＴＳ  ２６．１０１でのＡＭＲコアフレームビット順序付け用Ａｎｎｅｘ  Ｂテーブルにおける、毎秒１２．２キロビットの音声の符号化ビットのテーブルＢ．８順序付けの仕様に適合する。
【００１７】
【表１】
2004165893.tif 000003
【００１８】
テーブルＢ「符号化出力パラメータの番号付け」は、パラメータの番号および符合か出力ビットへのリンクを示す。このテーブルは、３ＧＰＰ  ＴＳ  ２６．０９０における、２０ｍｓごとに２４４ビット／毎秒１２．２キロビットの音声フレーム内での出現およびビット割り当ての順序のテーブル９ａソース符号化出力パラメータに由来する。各パラメータの最上位ビットは、連番の低い方の番号が与えられることに留意されたい。例えば、パラメータ０（第１のＬＳＦサブマトリクスの指数）は、ｓ（１）〜ｓ（７）の音声符号化出力ビットをとり、ｓ（１）が最上位ビット、ｓ（７）が最下位ビットである。
【００１９】
【表２】
2004165893.tif 000004
【００２０】
テーブルＣは、上述のテーブルＡおよびテーブルＢの組み合わせ形であり、１フレーム内のパラメータとそのビット割り当ての関係を示す。テーブルＣを参照して、すべての関連するビットを処理することにより、各パラメータを一度に解析できる。例えば、パラメータ４（第５のＬＳＦサブマトリクスの指数）を解析したいとする。テーブルＣを参照すると、第１１バイト（ゼロベース）には４つのビットが割り当てられ、２つのビットが第１５バイトに割り当てられていることが理解される。
【００２１】
【表３】
2004165893.tif 000005
【００２２】
解析処理の高速化のためのビットフィールドの反転用テーブル
解析処理を高速化するため、ビットフィールドを逆に並び替える複数のテーブルが用いられる。これらのテーブルは、Ｃ言語で以下のように記載される。ここではワード１６（Ｗｏｒｄ１６）は「ショート」として定義される。
2004165893.tif 000006
2004165893.tif 000007
2004165893.tif 000008
2004165893.tif 000009
【００２３】
１フレームに割り当てられた関連するすべてのビットを処理することによる、一度で行う各パラメータの解析
パラメータ４を解析し、ポインタｐＳｔｒｅａｍがフレームの第１バイト（ｐＳｔｒｅａｍ［０］）をポイントしているとすると、パラメータ４を以下の擬似コードで得ることができる。
Ｐａｒａｍｅｔｅｒ［４］  ＝
（ｒｅｖｅｒｓｅ＿ＭＲ４ｂｉｔ［ｐＳｔｒｅａｍ［１１］  ＆＆  ０ｘ０Ｆ］  ＜＜  ２）｜ｒｅｖｅｒｓｅ＿ＭＲ２ｂｉｔ［（ｐＳｔｒｅａｍ［１５］  ＞＞  ４）  ＆＆  ０ｘ３］；
ここでは、
・「ｐＳｔｒｅａｍ［１１］  ＆＆  ０ｘ０Ｆ」は、上位４ビットをマスクすることを意味する（下位４ビットは有効）
・「ｒｅｖｅｒｓｅ＿ＭＲ４ｂｉｔ」は、下位４ビットを逆に並べ替えることを意味する。
・「＜＜  ２」は、２ビット左シフトを意味する。
・「ｐＳｔｒｅａｍ［１５］  ＞＞  ４」は、４ビット右シフトを意味する。
・「＆＆  ０ｘ３」は、上位６ビットをマスクすることを意味する（下位２ビットは有効）
・「ｒｅｖｅｒｓｅ＿ＭＲ２ｂｉｔ」は、下位２ビットを逆に並べ替えることを意味する。
・「｜」は、左バイトと右とを結合する（”ＯＲ”）を意味する。
【００２４】
図２は、パラメータ４（第５ＬＳＦサブマトリクスの指数）の解析がどのように行われるかを示す。
【００２５】
毎秒１２．２キロビットモードでは、５７個のパラメータが存在する。各パラメータは、上述のパラメータ４の解析と類似の方法で、一度に解析できる。主要なステップは、以下のように記載される。
【００２６】
・テーブルＣを参照することにより、すべてのパラメータの関連するビット割り当てを発見する
・バイトレベルでのビットマスク、左シフト、右シフトを利用する
・必要に応じてビットの順序を反転する
・バイトレベルでビットを結合することにより、パラメータを形成する
パラメータの解析方法はまた、他のモードにも適用できる。ＡＭＲパラメータの解析の例は上述されているが、音声符号化パラメータを解析する高性能な方法を導入する。発明者らの研究によれば、本発明の方法は非常に高速である。図３のＡＭＲ符号化性能比較では、性能の向上が示されている。図の第１のカラムは、従来技術と本発明との間でのすべての符号化所要時間の比較である。この所要時間は、入力ファイルの読み込み、出力ファイルの書き込みを含む。第２のカラムは、従来技術と本発明との間での解析機能（３ＧＰＰ  ＴＳ  ２６．１０４のファイルｉｎｔｅｒｆ＿ｄｅｃ．ｃでのｄｅｃｏｄｅｒ３ＧＰＰ機能）所要時間の比較である。データは、Ｗｉｎｄｏｗ  ２０００  Ｓｙｓｔｅｍ，  Ｐ３  ９３３Ｍｈｚ  ＣＰＵ  ａｎｄ  ２５６  ＭＢ  ＲＡＭの下で、３０秒のＡＭＲ  ＩＦ２毎秒１２．２キロビットモードビットストリームを復号化した場合に、Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｕａｌ  Ｃ  ＋＋  ６．０  Ｐｒｏｆｅｓｓｉｏｎａｌ  Ｅｄｉｔｉｏｎの下で”Ｆｕｎｃｔｉｏｎ  Ｔｉｍｅ”を描くことにより収集される。本発明において改善された解析機能は、従来技術よりもほぼ４倍高速である。
【００２７】
【発明の効果】
本発明により提示された方法は、音声関連の用途に非常に有用である。本発明の方法は、非常に高速なパラメータ解析処理を実現する。高性能パラメータ解析方法によると、音声デコーダはより高速な復号処理を実現できる。リアルタイムで音声ビットストリームを再生する場合には、ＣＰＵの使用を少なくできる。特に、ＣＰＵが高性能ＰＣほど高速でない、例えばモバイルハンドセットやＰＤＡなどには、非常に有用である。
【００２８】
本発明の方法を実装することは非常に実用的であり、音声関連の用途で用いる際には非常に容易である。例えばＡＭＲ検証器プログラムは、（ＡＭＲ  ＩＦ２毎秒１２．２キロビットモード用の）テーブルＣを参照することにより、関連するすべてのビットを処理することにより、各パラメータを解析できる。計算はビットマスク、左または右シフト、テーブルの検索、およびビットの結合が行われるに過ぎない。
【図面の簡単な説明】
【図１】ＡＭＲ検証器プログラムを示す図である。
【図２】パラメータ４（第５ＬＳＦサブマトリクスの指数）を解析する図である。
【図３】ＡＭＲ復号化性能比較を示す図である。
【図１】
2004165893.tif 000010
【図２】
2004165893.tif 000011
【図３】
2004165893.tif 000012
【外国語明細書】
2004165893.tif 000013
2004165893.tif 000014
2004165893.tif 000015
2004165893.tif 000016
2004165893.tif 000017
2004165893.tif 000018
2004165893.tif 000019
2004165893.tif 000020
2004165893.tif 000021
2004165893.tif 000022
2004165893.tif 000023
2004165893.tif 000024
2004165893.tif 000025
2004165893.tif 000026
2004165893.tif 000027
2004165893.tif 000028
2004165893.tif 000029
2004165893.tif 000030
2004165893.tif 000031
2004165893.tif 000032