(57)【特許請求の範囲】
【請求項１】
復号されたオーディオ信号表現（１５４）を、符号化されたスペクトル表現（ａｃ＿ｓｐｅｃｔｒａｌ＿ｄａｔａ［］）と符号化されたタイムワープ情報とを含む符号化されたオーディオ信号表現（１５２）に基づいて提供するためのオーディオ信号復号器（１５０；２４０）であって、
１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部（ｍ）を示すコードワード（ａｃｏｄ＿ｍ）をコンテキスト状態に応じて復号して、復号されたスペクトル値（１６２，２９７，ｘ＿ａｃ＿ｄｅｃ［］）を取得するコンテキストベースのスペクトル値復号部（１６０）と、
１つ以上前に復号されたスペクトル値（１６２，２９７）に応じて現在のコンテキスト状態（１６４，ｃ）を決定するコンテキスト状態決定部（１７０；４００）と、
所与のオーディオフレームのタイムワープされた時間領域表現（１８２）を、該所与のオーディオフレームに対応付けられ、前記コンテキストベースのスペクトル値復号部によって提供された、復号されたスペクトル値（１６２，２９７）の集合に基づいてかつ前記タイムワープ情報に応じて提供するタイムワーピング周波数領域−時間領域変換部と、を備え、
前記コンテキスト状態決定部（１７０；４００）は、連続するオーディオフレーム間の基本周波数の変化に適合させるように、前記コンテキスト状態の決定するように構成されている、
オーディオ信号復号器（１５０；２４０）。
【請求項２】
前記タイムワープ情報は、ピッチの経時変動（ｐｒｅｌ）を示し、
前記コンテキスト状態決定部（１７０；４００）は、前記タイムワープ情報から周波数伸長情報（ｓ；ｍ＿ＣｏｎｔｅｘｔＵｐｄａｔｅＲａｔｉｏ）を導出するように構成され、
前記コンテキスト状態決定部は、以前のオーディオフレームに対応付けられた過去のコンテキスト（４３２，ｑ［０］［］，４５０）を、前記周波数伸長情報（ｓ，ｍ＿ＣｏｎｔｅｘｔＵｐｄａｔｅＲａｔｉｏ）に応じて周波数軸に沿って伸長または圧縮して、現在のオーディオフレームの１つ以上のスペクトル値のコンテキストベースの復号のための適合されたコンテキスト（４４０，ｑ［０］［］，４５２）を取得するように構成されている、
請求項１に記載のオーディオ信号復号器。
【請求項３】
前記コンテキスト状態決定部（１７０，４００）は、第１のオーディオフレームにわたる第１の平均周波数情報（ｆｒｅｌ，ｍｅａｎ，ｋ−１）を前記タイムワープ情報から導出し、前記第１のオーディオフレームに続く第２のオーディオフレームにわたる第２の平均周波数情報（ｆｒｅｌ，ｍｅａｎ，ｋ）を前記タイムワープ情報から導出するように構成され、
前記コンテキスト状態決定部は、前記周波数伸長情報（ｓ，ｍ＿ＣｏｎｔｅｘｔＵｐｄａｔｅＲａｔｉｏ）を決定するために、前記第２のオーディオフレームにわたる第２の平均周波数情報（ｆｒｅｌ，ｍｅａｎ，ｋ）と前記第１のオーディオフレームにわたる第１の平均周波数情報（ｆｒｅｌ，ｍｅａｎ，ｋ−１）との比を計算するように構成されている、
請求項２に記載のオーディオ信号復号器。
【請求項４】
前記コンテキスト状態決定部（１７０；４００）は、第１のオーディオフレームにわたる第１の平均タイムワープコンター（time warp contour）情報（ｐｒｅｌ，ｍｅａｎ，ｋ−１）を前記タイムワープ情報から決定するように構成され、
前記コンテキスト状態決定部は、前記第１のオーディオフレームに続く第２のオーディオフレームにわたる第２の平均タイムワープコンター情報（ｐｒｅｌ，ｍｅａｎ，ｋ）を前記タイムワープ情報から導出するように構成され、
前記コンテキスト状態決定部は、前記周波数伸長情報（ｓ，ｍ＿ＣｏｎｔｅｘｔＵｐｄａｔｅＲａｔｉｏ）を決定するために、前記第１のオーディオフレームにわたる第１の平均タイムワープコンター情報（ｐｒｅｌ，ｍｅａｎ，ｋ−１）と前記第２のオーディオフレームにわたる第２の平均タイムワープコンター情報（ｐｒｅｌ，ｍｅａｎ，ｋ）との比を計算するように構成されている、
請求項２に記載のオーディオ信号復号器。
【請求項５】
前記コンテキスト状態決定部（１７０，４００）は、前記第１および第２の平均周波数情報または前記第１および第２の平均タイムワープコンター情報を、複数の連続オーディオフレームにわたって伸びる共通のタイムワープコンター（ｗａｒｐ＿ｃｏｎｔｏｕｒ［］）から導出するように構成されている、
請求項３または４に記載のオーディオ信号復号器。
【請求項６】
前記オーディオ信号復号器は、複数の連続オーディオフレームにわたる相対ピッチの時間変遷（temporal evolution）を示すタイムワープコンター情報（ｐｒｅｌ［］，ｗａｒｐ＿ｃｏｎｔｏｕｒ［］，２５８）を前記タイムワープ情報に基づいて計算するように構成されたタイムワープ計算部（２５０）を備え、
前記コンテキスト状態決定部（１７０，４００）は、前記周波数伸長情報を導出するために前記タイムワープコンター情報を使用するように構成されている、
請求項３、４または５に記載のオーディオ信号復号器。
【請求項７】
前記オーディオ信号復号器は、再サンプリング位置計算部（１８０ｌ）を備え、
前記再サンプリング位置計算部（１８０ｌ）は、タイムワープ再サンプリング部（１８０ｉ）によって使用される再サンプリング位置を、該再サンプリング位置の時間変動が前記タイムワープコンター情報によって決定されるように、前記タイムワープコンター情報（ｐｒｅｌ［］，ｗａｒｐ＿ｃｏｎｔｏｕｒ［］，２５８）に基づいて計算するよう構成されている、
請求項６に記載のオーディオ信号復号器。
【請求項８】
前記コンテキスト状態決定部（１７０，４００）は、前記コンテキスト状態を示す現在の数値コンテキスト値（１６４，ｃ）を複数の以前に復号されたスペクトル値に応じて導出し、１つ以上のスペクトル値を表す記号コード（ｓｙｍｂｏｌ）または１つ以上のスペクトル値の数値表現の一部（ｍ）へのコード値（ａｃｏｄ＿ｍ）のマッピングを示すマッピング規則（ｃｕｍ＿ｆｒｅｑ［］）を前記現在の数値コンテキスト値に応じて選択するように構成され、
前記コンテキストベースのスペクトル値復号部（１６０）は、１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部（ｍ）を示す前記コード値（ａｃｏｄ＿ｍ）を、前記コンテキスト状態決定部によって選択された前記マッピング規則（ｃｕｍ＿ｆｒｅｑ［］）を使用して復号するように構成されている、
請求項１から７のいずれかに記載のオーディオ信号復号器。
【請求項９】
前記コンテキスト状態決定部（１７０，４００）は、予備コンテキストメモリ構造（４３２，ｍ＿ｑｂｕｆ）を、該予備コンテキストメモリ構造のエントリが第１のオーディオフレームの１つ以上のスペクトル値（１６２，２９７）を示すように設定および更新するよう構成され、前記予備コンテキストメモリ構造のエントリのエントリインデックスは、それぞれのエントリが対応付けられた、前記周波数領域−時間領域変換部の周波数ビンまたは隣接する周波数ビンの集合を示し、
前記コンテキスト状態決定部は、前記第１のオーディオフレームに続く第２のオーディオフレームの復号のための周波数スケーリングされたコンテキストメモリ構造（４４０；ｍ＿ｑｂｕｆ）を、第１の周波数インデックス（ｉ１＋１，ｉ２＋２，ｎＷａｒｐＴｕｐｌｅＩｄｘ）を有する前記予備コンテキストメモリ構造の所与のエントリ（４５０ａ，４５０ｃ，ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｎＷａｒｐＴｕｐｌｅＩｄｘ］）またはサブエントリ（ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｎＷａｒｐＴｕｐｌｅＩｄｘ］．ａ）が、第２の周波数インデックス（ｉ１，ｉ２−１，ｎＬｉｎＴｕｐｌｅＩｄｘ）を有する前記周波数スケーリングされたコンテキストメモリ構造（４４０，ｍ＿ｑｂｕｆ，４５２）の対応するエントリ（４５２ａ，４５２ｃ，ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｎＬｉｎＴｕｐｌｅＩｄｘ］）またはサブエントリ（ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｎＬｉｎＴｕｐｌｅＩｄｘ］．ａ）にマッピングされるように、前記予備コンテキストメモリ構造に基づいて取得するよう構成され、前記第２の周波数インデックスは、前記周波数領域−時間領域変換部の前記第１の周波数インデックスとは異なる周波数ビンまたは隣接する周波数ビンの集合に対応付けられている、
請求項８に記載のオーディオ信号復号器。
【請求項１０】
前記コンテキスト状態決定部（１７０，４００）は、第３の周波数インデックス（ｉ１）が対応付けられた前記第２のオーディオフレームの１つ以上のスペクトル値または第２のオーディオフレームの１つ以上のスペクトル値の数値表現の少なくとも一部（ｍ）を示すコードワード（ａｃｏｄ＿ｍ）の復号のための前記現在のコンテキスト状態を示すコンテキスト状態値（１６４，４２０）を、前記周波数スケーリングされたコンテキストメモリ構造（４４０，ｍ＿ｑｂｕｆ、４５２）の値を用いて導出するように構成され、前記周波数スケーリングされたコンテキストメモリ構造の値の周波数インデックス（ｉ１−１，ｉ１，ｉ１＋１）は、前記第３の周波数インデックス（ｉ１）と所定の関係にあり、
前記第３の周波数インデックス（ｉ１）は、前記現在のコンテキスト状態値を用いて復号される前記第２のオーディオフレームの１つ以上のスペクトル値が対応付けられた、前記周波数領域−時間領域変換部の周波数ビンまたは隣接する周波数ビンの集合を指定する、
請求項９に記載のオーディオ信号復号器。
【請求項１１】
前記コンテキスト状態決定部（１７０；４００）は、対応するターゲット周波数インデックス（ｉ１，ｉ２−１，ｎＬｉｎＴｕｐｌｅＩｄｘ）を有する前記周波数スケーリングされたコンテキストメモリ構造（４４０，４５２，ｍ＿ｑｂｕｆ）の複数のエントリ（４５２ａ，４５２ｃ，ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｎＬｉｎＴｕｐｌｅＩｄｘ］）のそれぞれを、対応するソース周波数インデックス（ｉ１＋１，ｉ２＋２，ｎＷａｒｐＴｕｐｌｅＩｄｘ）を有する前記予備コンテキストメモリ構造（４３２，４５０，ｍ＿ｑｂｕｆ）の対応するエントリ（４５０ａ，４５０ｃ，ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｓｑｂｕｆ［ｎＷａｒｐＴｕｐｌｅＩｄｘ］）の値に設定するように構成され、
前記コンテキスト状態決定部は、前記周波数スケーリングされたコンテキストメモリ構造のエントリおよび前記予備コンテキストメモリ構造の対応するエントリの対応する周波数インデックス（ｉ１，ｉ１＋１；ｉ２−１，ｉ２＋２；ｎＬｉｎＴｕｐｌｅＩｄｘ，ｎＷａｒｐＴｕｐｌｅＩｄｘ）を、該対応する周波数インデックス（ｎＬｉｎＴｕｐｌｅＩｄｘ，ｎＷａｒｐＴｕｐｌｅＩｄｘ）間の比が、前記予備コンテキストメモリ構造のエントリが対応付けられた現在のオーディオフレームと、前記周波数スケーリングされたコンテキストメモリ構造のエントリによって復号コンテキストが決定される次のオーディオフレームとの間の前記基本周波数の変化によって決まるように、決定するよう構成されている、
請求項９または１０に記載のオーディオ信号復号器。
【請求項１２】
前記コンテキスト状態決定部（１７０，４００）は、前記予備コンテキストメモリ構造の複数のエントリ（４５０ａ，４５０ｃ，ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｎＷａｒｐＴｕｐｌｅＩｄｘ］）のそれぞれが第１のオーディオフレームの複数のスペクトル値（ａ，ｂ，ｃ，ｄ）に基づくように前記予備コンテキストメモリ構造（４３２，ｍ＿ｑｂｕｆ，４５０）を設定するよう構成され、前記予備コンテキストメモリ構造（４３２，４５０，ｍ＿ｑｂｕｆ）のエントリのエントリインデックス（ｉ１＋１，ｉ２＋２，ｎＷａｒｐＴｕｐｌｅＩｄｘ）は、それぞれのエントリが対応付けられた、前記周波数領域−時間領域変換部の隣接する周波数ビンの集合を示し、
前記コンテキスト状態決定部は、個別の周波数ビンインデックスが対応付けられた予備周波数ビン個別コンテキスト値（ｌｉｎｅＲｅｏｒｄｅｒＢｕｆ［（ｃｕｒＴｕｐｌｅ−１）＊４＋０］，…，ｌｉｎｅＲｅｏｒｄｅｒＢｕｆ［（ｃｕｒＴｕｐｌｅ−１）＊４＋３］）を、前記予備コンテキストメモリ構造のエントリ（ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｃｕｒＴｕｐｌｅ［］［］）から抽出するように構成され、
前記コンテキスト状態決定部は、個別の周波数ビンインデックス（ｌｉｎＬｉｎｅＩｄｘ）が対応付けられた、周波数スケーリングされた周波数ビン個別コンテキスト値（ｌｉｎｅＴｍｐＢｕｆ［ｌｉｎＬｉｎｅＩｄｘ］）を、第１の周波数ビンインデックス（ｗａｒｐＬｉｎｅＩｄｘ）を有する所与の予備周波数ビン個別コンテキスト値（ｌｉｎｅＲｅｏｒｄｅｒＢｕｆ［ｗａｒｐＬｉｎｅＩｄｘ］）が第２の周波数ビンインデックス（ｌｉｎＬｉｎｅＩｄｘ）を有する対応する周波数スケーリングされた周波数ビン個別コンテキスト値（ｌｉｎｅＴｍｐＢｕｆ［ｌｉｎＬｉｎｅＩｄｘ］）にマッピングされ、その結果、前記予備周波数ビン個別コンテキスト値の周波数ビン個別マッピングが得られるように、取得するよう構成され、
前記コンテキスト状態決定部は、複数の周波数スケーリングされた周波数ビン個別コンテキスト値（ｌｉｎｅＴｍｐＢｕｆ［（ｃｕｒＴｕｐｌｅ−１）＊４＋０，…，ｌｉｎｅＴｍｐＢｕｆ［（ｃｕｒＴｕｐｌｅ−１）＊４＋３］を組み合わせて、前記周波数スケーリングされたコンテキストメモリ構造の１つの組み合わせエントリ（ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｃｕｒＴｕｐｌｅ］［］）にするように構成されている、
請求項９または１０に記載のオーディオ信号復号器。
【請求項１３】
符号化されたスペクトル表現（１３２）と符号化されたタイムワープ情報とを含む、入力オーディオ信号（１１０）の符号化された表現（１１２）を提供するためのオーディオ信号符号化器（１００；２００）であって、
タイムワープ情報に応じてタイムワープされた、前記入力オーディオ信号のタイムワープされたバージョンを表す周波数領域表現（１２４）を提供するように構成された周波数領域表現提供部（１２０）と、
前記周波数領域表現（１２４）の１つ以上のスペクトル値または前記周波数領域表現（１２４）の１つ以上のスペクトル値の数値表現の少なくとも一部（ｍ）を示すコードワード（ａｃｏｄ＿ｍ）をコンテキスト状態（１３４）に応じて提供して、前記符号化されたスペクトル表現（１３２）の符号化されたスペクトル値（ａｃｏｄ＿ｍ）を取得するように構成されたコンテキストベースのスペクトル値符号化部（１３０）と、
現在のコンテキスト状態（１３４）を１つ以上前に符号化されたスペクトル値に応じて決定するように構成されたコンテキスト状態決定部（１４０）であって、前記コンテキスト状態の決定を、連続するオーディオフレーム間の基本周波数の変化に適合させるコンテキスト状態決定部（１４０）と
を備えるオーディオ信号符号化器（１００；２００）。
【請求項１４】
前記コンテキスト状態決定部は、現在の数値コンテキスト値（１３４，ｃ）を複数の以前に符号化されたスペクトル値に応じて導出し、１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の一部（ｍ）のコード値（ａｃｏｄ＿ｍ）へのマッピングを示すマッピング規則を前記現在の数値コンテキスト値に応じて選択するように構成され、
前記コンテキストベースのスペクトル値符号化部は、１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部を示すコード値を、前記コンテキスト状態決定部によって選択された前記マッピング規則を使用して提供するように構成されている、
請求項１３に記載のオーディオ信号符号化器。
【請求項１５】
復号されたオーディオ信号表現（１５４）を、符号化されたスペクトル表現（ａｃ＿ｓｐｅｃｔｒａｌ＿ｄａｔａ［］）と符号化されたタイムワープ情報とを含む符号化されたオーディオ信号表現（１５２）に基づいて提供するための方法であって、
１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部（ｍ）を示すコードワード（ａｃｏｄ＿ｍ）をコンテキスト状態に応じて復号して、復号されたスペクトル値（１６２，２９７，ｘ＿ａｃ＿ｄｅｃ［］）を取得するステップと、
１つ以上前に復号されたスペクトル値（１６２，２９７）に応じて現在のコンテキスト状態（１６４，ｃ）を決定するステップと、
所与のオーディオフレームのタイムワープされた時間領域表現（１８２）を、該所与のオーディオフレームに対応付けられ、コンテキストベースのスペクトル値復号部によって提供された、復号されたスペクトル値（１６２，２９７）の集合に基づいて、かつ前記タイムワープ情報に応じて提供するステップと、
を含み、
前記現在のコンテキスト状態は、連続するオーディオフレーム間の基本周波数の変化に適合して決定される、
方法。
【請求項１６】
符号化されたスペクトル表現（１３２）と符号化されたタイムワープ情報とを含む、入力オーディオ信号（１１０）の符号化された表現（１１２）を提供するための方法であって、
タイムワープ情報に応じてタイムワープされた、前記入力オーディオ信号のタイムワープされたバージョンを表す周波数領域表現（１２４）を提供するステップと、
前記周波数領域表現（１２４）の１つ以上のスペクトル値または前記周波数領域表現（１２４）の１つ以上のスペクトル値の数値表現の少なくとも一部（ｍ）を示すコードワード（ａｃｏｄ＿ｍ）をコンテキスト状態（１３４）に応じて提供して、前記符号化されたスペクトル表現（１３２）の符号化されたスペクトル値（ａｃｏｄ＿ｍ）を取得するステップと、
現在のコンテキスト状態（１３４）を、１つ以上前に符号化されたスペクトル値に応じて決定するステップと、
を含み、
前記コンテキスト状態は、連続するオーディオフレーム間の基本周波数の変化に適合して決定される、
方法。
【請求項１７】
コンピュータ上で実行されたときに、請求項１５または１６に記載の方法を実行するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、符号化されたオーディオ信号表現に基づいて復号されたオーディオ信号表現を提供するためのオーディオ信号復号器に関する。
【０００２】
本発明によるさらなる実施形態は、入力オーディオ信号の符号化された表現を提供するためのオーディオ信号符号化器に関する。
【０００３】
本発明によるさらなる実施形態は、復号されたオーディオ信号表現を符号化されたオーディオ信号表現に基づいて提供するための方法に関する。
【０００４】
本発明によるさらなる実施形態は、入力オーディオ信号の符号化された表現を提供するための方法に関する。
【０００５】
本発明によるさらなる実施形態は、コンピュータプログラムに関する。
【０００６】
本発明によるいくつかの実施形態は、タイムワープ型修正離散コサイン変換（簡潔にＴＷ−ＭＤＣＴとして示す）と併用され得る、算術コーダのコンテキストをワープ情報を用いて適合させる概念に関する。
【背景技術】
【０００７】
以下に、タイムワープ型オーディオ符号化の分野について簡単に紹介する。タイムワープ型オーディオ符号化の概念は、本発明の実施形態のいくつかと共に適用することができる。
【０００８】
近年、オーディオ信号を周波数領域表現へ変換し、この周波数領域表現を、例えば知覚マスキング閾値を考慮して、効率的に符号化するための技術が開発されてきている。オーディオ信号符号化のこの概念は、符号化されたスペクトル係数の集合が送信されるブロックの長さが長い場合、およびグローバルなマスキング閾値を充分に上回るスペクトル係数の数が比較的少数であって、スペクトル係数のうちの多くがグローバルなマスキング閾値の付近又はそれ未満であり、ゆえに無視することが可能である（あるいは、最小限のコード長でコーディングすることが可能である）場合に、特に効率的である。前述の条件が成立するスペクトルは、スパーススペクトルと呼ばれる場合がある。
【０００９】
例えば、余弦ベース又は正弦ベースの変調重複変換が、それらのエネルギー圧縮特性ゆえに、ソースコーディングのための用途においてしばしば使用される。すなわち、一定の基本周波数（ピッチ）を有する倍音については、これら変調重複変換により、信号のエネルギーが少数のスペクトル成分（サブ帯域）に集中し、効率的な信号表現がもたらされる。
【００１０】
一般に、信号の（基本）ピッチは、当該信号のスペクトルから識別することができる最も低い優位周波数であると理解されるべきである。一般的なスピーチモデルにおいて、ピッチは人間の喉によって変調された励起信号の周波数である。ただ１つの基本周波数だけが存在すると考えられる場合、スペクトルはきわめて単純になり、基本周波数および倍音だけを含むと考えられる。このようなスペクトルは、きわめて効率的に符号化することが可能である。しかしながら、ピッチが変動する信号については、各ハーモニック成分に対応するエネルギーが、いくつかの変換係数にわたって広がり、コーディング効率が低下することになる。
【００１１】
このコーディング効率の低下を克服するために、符号化されるオーディオ信号は非一様な時間格子上で有効に再サンプリングされる。続く処理において、非一様な再サンプリングによって得られたサンプル位置があたかも一様な時間格子上の値を表わしているかのように処理される。この操作は、一般に、「タイムワーピング（time warping）」という用語で呼ばれている。サンプル時間は、オーディオ信号のタイムワープされたバージョンにおけるピッチ変動がオーディオ信号の（タイムワーピング前の）元のバージョンにおけるピッチ変動よりも小さくなるように、ピッチの時間変動に依存して有利に選択することができる。オーディオ信号のタイムワーピングの後で、オーディオ信号のタイムワープされたバージョンが周波数領域に変換される。ピッチ依存型タイムワーピングは、タイムワープされたオーディオ信号の周波数領域表現が、典型的には、元の信号（タイムワープされていないオーディオ信号）の周波数領域表現と比べて、はるかに少数のスペクトル成分へのエネルギー圧縮を呈するという効果を有する。
【００１２】
復号器側において、タイムワープされたオーディオ信号の周波数領域表現は、タイムワープされたオーディオ信号の時間領域表現を復号器側において利用できるように、時間領域へ変換される。しかしながら、復号器側で復元されたタイムワープされたオーディオ信号の時間領域表現には、符号器側での入力オーディオ信号の元のピッチ変動が含まれていない。したがって、復号器側で復元されたタイムワープされたオーディオ信号の時間領域表現の再サンプリングによる、さらに別のタイムワーピングが適用される。
【００１３】
復号器側において符号化器側での入力オーディオ信号の良好な復元を実現するために、復号器側でのタイムワーピングが、符号化器側でのタイムワーピングに対して少なくともほぼ逆の動作であることが望ましい。適切なタイムワーピングを実現するために、復号器側でのタイムワーピングの調整を可能にする情報が復号器において入手可能であることが望ましい。
【００１４】
一般的に、このような情報をオーディオ信号符号化器からオーディオ信号復号器へ伝達することが必要とされるため、この伝達に必要なビットレートを小さく抑えながらも、復号器側における必要なタイムワープ情報の確実な復元を可能にすることが望まれる。
【００１５】
また、スペクトル値を符号化または復号する際のコーディング効率は、コンテキスト依存型符号化器またはコンテキスト依存型復号器を使用することによって高くなる場合がある。
【００１６】
しかしながら、オーディオ符号化器またはオーディオ復号器のコーディング効率は、基本周波数またはピッチの変動がある場合には、タイムワープの概念が適用されたとしても比較的低いことが多いということが分かっている。
【００１７】
このような状況に鑑み、基本周波数の変動がある場合においても良好なコーディング効率を可能にする概念が所望される。
【発明の概要】
【００１８】
本発明の一実施形態は、復号されたオーディオ信号表現を、符号化されたスペクトル表現と符号化されたタイムワープ情報とを含む符号化されたオーディオ信号表現に基づいて提供するためのオーディオ信号復号器を実現する。オーディオ信号復号器は、１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部を示すコードワードをコンテキスト状態に応じて復号して、復号されたスペクトル値を取得するように構成されたコンテキストベースのスペクトル値復号部を備える。オーディオ信号復号器はまた、１つ以上前に復号されたスペクトル値に応じて現在のコンテキスト状態を決定するように構成されたコンテキスト状態決定部も備える。オーディオ信号復号器はまた、所与のオーディオフレームのタイムワープされた時間領域表現を、当該所与のオーディオフレームに対応付けられ、コンテキストベースのスペクトル値決定部によって提供された、復号されたスペクトル値の集合に基づいてかつタイムワープ情報に応じて提供するように構成されたタイムワーピング周波数領域−時間領域変換部も備える。コンテキスト状態決定部は、コンテキスト状態の決定を、連続するフレーム間の基本周波数の変化に適合させるように構成されている。
【００１９】
本発明のこの実施形態は、時変基本周波数を有するオーディオ信号の存在下でコンテキストベースのスペクトル値復号部によって達成されるコーディング効率は、連続する２つのフレーム間の基本周波数の変化にコンテキスト状態を適合させることによって向上するという知見に基づいている。なぜなら、基本周波数の経時変化（多くの場合、ピッチの変動と同等である）は、所与のオーディオフレームのスペクトルが、一般的に、以前のオーディオフレーム（所与のオーディオフレームに先行する）のスペクトルの周波数スケーリングされたバージョンに類似するという効果を有し、したがって、コンテキストの決定を基本周波数の変化に応じて適合させることにより、コーディング効率を向上させるためにこの類似性を利用することができるからである。
【００２０】
すなわち、コンテキストベースのスペクトル値コーディングのコーディング効率（または復号効率）は、２つの連続するフレーム間の基本周波数に著しい変化がある場合には比較的低いこと、および、そのような状況に合わせてコンテキスト状態を決定することによってコーディング効率を高めることができることが分かっている。適応的にコンテキスト状態を決定することにより、以前のオーディオフレームのスペクトルと現在のオーディオフレームのスペクトルとの間の類似性を利用しながら、同時に、以前のオーディオフレームのスペクトルと現在のオーディオフレームのスペクトルとの間の系統的差異、例えば、典型的には、基本周波数の経時変化（すなわち、２つのオーディオフレーム間での基本周波数の経時変化）が存在する場合に現れるスペクトルの周波数スケーリングを考慮することが可能となる。
【００２１】
要約すると、本発明のこの実施形態は、（連続するフレーム間の基本周波数の変化を示す情報がオーディオ信号符号化器または復号器のタイムワープの機能を用いたオーディオビットストリームにおいて何らかのやりかたで利用可能であると仮定した場合、）追加の副情報またはビットレートを必要とすることなく、コーディング効率を向上させるのに役立つ。
【００２２】
好ましい実施形態において、タイムワーピング周波数領域−時間領域変換部は、所与のオーディオフレームの時間領域表現を、当該所与のオーディオフレームに対応付けられた復号され、コンテキストベースのスペクトル値復号部によって提供されたスペクトル値の集合に基づいて提供するように構成された通常の（非タイムワープ型）周波数領域−時間領域変換部と、所与のオーディオフレームの時間領域表現またはその処理されたバージョンをタイムワープ情報に応じて再サンプリングして、所与のオーディオフレームの再サンプリングされた（タイムワープされた）時間領域表現を取得するように構成されたタイムワープ再サンプリング部と、を備える。タイムワーピング周波数領域−時間領域変換部のこのような実施例は、「標準的な」周波数領域−時間領域変換部によるものであり、またその機能が周波数領域−時間領域変換部の機能とは独立していてもよいタイムワープ再サンプリング部を拡張機能として含むため実施が容易である。したがって、周波数領域−時間領域変換部は、タームワーピング（またはタイムデワーピング）が非アクティブである動作モードおよびタームワーピング（またはタイムデワーピング）がアクティブである動作モードの両方において再使用することができる。
【００２３】
好ましい実施形態において、タイムワープ情報は、ピッチの経時変動を示している。この実施形態では、コンテキスト状態決定部は、タイムワープ情報から周波数伸長情報（すなわち、周波数スケーリング情報）を導出するように構成されている。さらに、コンテキスト状態決定部は、好ましくは、以前のオーディオフレームに対応付けられた過去のコンテキストを、周波数伸長情報に応じて周波数軸に沿って伸長または圧縮して、現在のオーディオフレームの１つ以上のスペクトル値のコンテキストベースの復号のための適合されたコンテキストを取得するように構成されている。ピッチの経時変動を示すタイムワープ情報は、周波数伸長情報の導出によく適していることが分かっている。さらに、以前のオーディオフレームに対応付けられた過去のコンテキストを周波数軸に沿って伸長または圧縮することにより、典型的には、伸長または圧縮されたコンテキストが得られ、これにより、現在のオーディオフレームのスペクトルに良好に適合され、ゆえに良好なコーディング効率をもたらす有意なコンテキスト状態情報を導出することが可能となることが分かっている。
【００２４】
好ましい実施形態において、コンテキスト状態決定部は、第１のオーディオフレームの第１の平均周波数情報をタイムワープ情報から導出し、前記第１のオーディオフレームに続く第２のオーディオフレームにわたる第２の平均周波数情報を前記タイムワープ情報から導出するように構成されている。この場合、コンテキスト状態決定部は、周波数伸長情報を決定するために、第２のオーディオフレームにわたる第２の平均周波数情報と第１のオーディオフレームにわたる第１の平均周波数情報との比を計算するように構成されている。タイムワープ情報から平均周波数情報を一般に容易に導出することができることが分かっており、また、第１および第２の平均周波数情報間の比により、周波数伸長情報を計算効率よく導出することが可能になることも分かっている。
【００２５】
別の好ましい実施形態において、コンテキスト状態決定部は、第１のオーディオフレームにわたる第１の平均タイムワープコンター情報をタイムワープ情報から導出し、第１のオーディオフレームに続く第２のオーディオフレームにわたる第２の平均タイムワープコンター情報をタイムワープ情報から導出するように構成されている。この場合、コンテキスト状態決定部は、周波数伸長情報を決定するために、第１のオーディオフレームにわたる第１の平均タイムワープコンター情報と第２のオーディオフレームにわたる第２の平均タイムワープコンター情報との比を計算するように構成されている。第１および第２のオーディオフレーム（これらは重複し得る）わたるタイムワープコンター情報の平均を計算することは特に計算的効率が高いこと、および上記第１の平均タイムワープコンター情報と上記第２の平均タイムワープコンター情報間の比により、十分に正確な周波数伸長情報が提供されることが分かっている。
【００２６】
好ましい実施形態において、コンテキスト状態決定部、第１および第２の平均周波数情報または第１および第２の平均タイムワープコンター情報を、複数の連続オーディオフレームにわたって伸びる共通のタイムワープコンターから導出するように構成されている。複数の連続オーディオフレームにわたって伸びる共通のタイムワープコンターを設定するという概念は、再サンプリング時間の正確でかつ歪みの無い計算を容易にするだけでなく、２つの連続するオーディオフレーム間の基本周波数の変化の推定に対する非常に優れた基礎を提供することが分かっている。したがって、共通のタイムワープコンターは、異なるオーディオフレーム間の相対周波数の経時変化を特定するための非常に優れた手段であると認識されている。
【００２７】
好ましい実施形態において、オーディオ信号復号器は、複数の連続オーディオフレームにわたる相対ピッチの時間変遷を示すタイムワープコンター情報をタイムワープ情報に基づいて計算するように構成されたタイムワープコンター計算部を備える。この場合、コンテキスト状態決定部は、周波数伸長情報を導出するためにタイムワープコンター情報を使用するように構成されている。例えば、オーディオフレームの各サンプルについて定義され得るタイムワープコンター情報は、コンテキスト状態の決定の適合の非常に優れた基礎を成すことが分かっている。
【００２８】
好ましい実施形態において、オーディオ信号復号器は、再サンプリング位置計算部を備える。再サンプリング位置計算部は、タイムワープ再サンプリング部によって使用される再サンプリング位置を、当該再サンプリング位置の時間変動が前記タイムワープコンター情報によって決定されるように、タイムワープコンター情報に基づいて計算するよう構成されている。周波数伸長情報の決定および再サンプリング位置の決定の両方に対して共通のタイムワープコンター情報を使用することは、周波数伸長情報を適用することによって得られる伸長されたコンテキストが現在のオーディオフレームのスペクトルの特性に良好に適合されるという効果を有し、現在のオーディオフレームのオーディオ信号は、少なくともほぼ、計算された再サンプリング位置を用いた再サンプリング動作によって復元される以前のオーディオ信号の延長であることが分かっている。
【００２９】
好ましい実施形態において、コンテキスト状態決定部は、コンテキスト状態を示す現在の数値コンテキスト値を複数の以前に復号されたスペクトル値（コンテキストメモリ構造によって示されるかあるいはこれに含まれ得る）に応じて導出し、１つ以上のスペクトル値を表す記号コードまたは１つ以上のスペクトル値の数値表現の一部へのコード値のマッピングを示すマッピング規則を現在の数値コンテキスト値に応じて選択するように構成されている。この場合、コンテキストベースのスペクトル値復号部は、１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部を示すコード値を、コンテキスト状態決定部によって選択されたマッピング規則を使用して復号するように構成されている。現在の数値コンテキスト値が複数の以前に復号されたスペクトル値から導出され、マッピング規則が当該（現在の）数値コンテキスト値から選択されるコンテキスト適合（コンテキスト適応化）において、コンテキスト状態を適応的に決定すること（例えば、適応的に（現在の）数値コンテキスト値の決定すること）が非常に有効であることが分かっている。なぜなら、このような概念を用いることにより、著しく不適切なマッピング規則を選択することを回避することができるからである。これに対し、コンテキスト状態、すなわち、現在の数値コンテキスト値の導出が連続するフレーム間の基本周波数の変化に応じて適合されなければ、基本周波数の変化がある場合にマッピング規則の選択ミスが頻繁に生じることになり、その結果、コーデイング利得が低下することになる。コーデイング利得のこのような低下は、本明細書に記載される機構によって回避される。
【００３０】
好ましい実施形態において、コンテキスト状態決定部は、予備コンテキストメモリ構造を、当該予備コンテキストメモリ構造のエントリが第１のオーディオフレームの１つ以上のスペクトル値を示すように設定および更新するよう構成され、予備コンテキストメモリ構造のエントリのエントリインデックスは、それぞれのエントリが対応付けられた（例えば、第１のオーディオフレームの時間領域表現を提供において対応付けられた）、前記周波数領域−時間領域変換部の周波数ビンまたは隣接する周波数ビンの集合を示している。コンテキスト状態決定部は、第１のオーディオフレームに続く第２のオーディオフレームの復号のための周波数スケーリングされたコンテキストメモリ構造を、第１の周波数インデックスを有する予備コンテキストメモリ構造の所与のエントリまたはサブエントリが、第２の周波数インデックスを有する周波数スケーリングされたコンテキストメモリ構造の対応するエントリまたはサブエントリにマッピングされるように、予備コンテキストメモリ構造に基づいて取得するよう構成されている。第２の周波数インデックスは、周波数領域−時間領域変換部の第１の周波数インデックスとは異なるビンまたは隣接する周波数ビンの異なる集合に対応付けられている。
【００３１】
換言すれば、周波数領域−時間領域変換部のｉ番目のスペクトルビン（または周波数領域−時間領域変換部のスペクトルビンのｉ番目の集合）に対応する１つ以上のスペクトル値に基づいて取得された予備コンテキストメモリ構造のエントリが、周波数領域−時間領域変換部のｊ番目の周波数ビン（または周波数ビンのｊ番目の集合）に対応付けられた周波数スケーリングされたコンテキストメモリ構造のエントリにマッピングされる（ここで、ｊは、ｉとは異なる）。コンテキストメモリ構造のエントリを周波数スケーリングされたコンテキストメモリ構造のエントリにマッピングするというこのような概念により、コンテキスト状態の決定を基本周波数の変化に適合させる特に計算効率の高い方法が提供されることが分かっている。この概念を用いて、コンテキストの周波数スケーリングを少ない労力で達成することができる。したがって、周波数スケーリングされたコンテキストメモリ構造からの現在の数値コンテキスト値の導出は、大きなピッチ変動が無い場合は、従来の（例えば、予備）コンテキストメモリ構造からの現在の数値コンテキスト値の導出と同一であり得る。よって、上述の概念により、既存のオーディオ復号器においてコンテキスト適合を最小限の労力で実現することが可能となる。
【００３２】
好ましい実施形態において、コンテキスト状態決定部は、第３の周波数インデックスが対応付けられた第２のオーディオフレームの１つ以上のスペクトル値または第２のオーディオフレームの１つ以上のスペクトル値の数値表現の少なくとも一部を示すコードワードの復号のための現在のコンテキスト状態を示すコンテキスト状態値を、周波数スケーリングされたコンテキストメモリ構造の値を用いて導出するように構成され、周波数スケーリングされたコンテキストメモリ構造の値の周波数インデックスは、第３の周波数インデックスと所定の関係にある。この場合、第３の周波数インデックスは、現在のコンテキスト状態を用いて復号される第２のオーディオフレームの１つ以上のスペクトル値が対応付けられた、周波数領域−時間領域復号部の周波数ビンまたは隣接する周波数ビンの集合を指定する。
【００３３】
コンテキスト状態値（例えば、現在の数値コンテキスト値）の導出のために復号される１つ以上のスペクトル値の所定の（かつ、好ましくは、固定の）相対的環境（周波数ビンに関する相対的環境）を使用することにより、当該コンテキスト状態値の計算を適度に単純にしておくことが可能となることが分かっている。周波数スケーリングされたコンテキストメモリ構造をコンテキスト状態値の導出の入力として用いることにより、基本周波数の変動を効率的に考慮することができる。
【００３４】
好ましい実施形態において、コンテキスト状態決定部は、対応するターゲット周波数インデックスを有する周波数スケーリングされたコンテキストメモリ構造の複数のエントリのそれぞれを、対応するソース周波数インデックスを有する予備コンテキストメモリ構造の対応するエントリの値に設定するように構成されている。コンテキスト状態決定部は、周波数スケーリングされたコンテキストメモリ構造のエントリおよび予備コンテキストメモリ構造の対応するエントリの対応する周波数インデックスを、当該対応する周波数インデックスの比が、予備コンテキストメモリ構造のエントリが対応付けられた現在のオーディオフレームと、周波数スケーリングされたコンテキストメモリ構造のエントリによって復号コンテキストが決定される次のオーディオフレームとの間の基本周波数の変化によって決まるように、決定するよう構成されている。このような概念を周波数スケーリングされたコンテキストメモリ構造のエントリの導出に利用することにより、複雑度を低く抑えながらも、周波数スケーリングされたコンテキストメモリ構造を基本周波数の変化に適合させることができる。
【００３５】
好ましい実施形態において、コンテキスト状態決定部は、予備コンテキストメモリ構造の複数のエントリのそれぞれが第１のオーディオフレームの複数のスペクトル値に基づくように予備コンテキストメモリ構造を設定するよう構成され、予備コンテキストメモリ構造のエントリのエントリインデックスは、それぞれのエントリが対応付けられた（第１のオーディオフレームに関して）、周波数領域−時間領域変換部の隣接する周波数ビンの集合を示している。コンテキスト状態決定部は、個別の周波数ビンインデックスが対応付けられた予備周波数ビン個別コンテキスト値を、予備コンテキストメモリ構造のエントリから抽出するように構成されている。加えて、コンテキスト状態決定部は、個別の周波数ビンインデックスが対応付けられた、周波数スケーリングされた周波数ビン個別コンテキスト値を、第１の周波数ビンインデックスを有する所与の予備周波数ビン個別コンテキスト値が第２の周波数ビンインデックスを有する対応する周波数スケーリングされた周波数ビン個別コンテキスト値にマッピングされ、その結果、予備周波数ビン個別コンテキスト値の周波数ビン個別マッピングが得られるように、取得するよう構成されている。コンテキスト状態決定部は、複数の周波数スケーリングされた周波数ビン個別コンテキスト値を組み合わせて、周波数スケーリングされたコンテキストメモリ構造の１つの組み合わせエントリにするようにさらに構成されている。したがって、複数の周波数ビンがコンテキストメモリ構造の単一のエントリにまとめられている場合であっても、周波数スケーリングされたコンテキストメモリ構造を基本周波数の変化に対して非常に高い粒度で適合させることができる。よって、基本周波数の変化へのコンテキストの特に正確な適合を実現することができる。
【００３６】
本発明による別の実施形態は、符号化されたスペクトル表現と符号化されたタイムワープ情報とを含む、入力オーディオ信号の符号化された表現を提供するためのオーディオ信号符号化器を実現する。オーディオ信号符号化器は、タイムワープ情報に応じてタイムワープされた、入力オーディオ信号のタイムワープされたバージョンを表す周波数領域表現を提供するように構成された周波数領域表現提供部を備える。オーディオ信号符号化器は、周波数領域表現の１つ以上のスペクトル値または周波数領域表現の１つ以上のスペクトル値の数値表現の少なくとも一部を示すコードワードをコンテキスト状態に応じて符号化して、符号化されたスペクトル表現の符号化されたスペクトル値を取得するように構成されたコンテキストベースのスペクトル値符号化部を更に備える。オーディオ信号復号器はまた、現在のコンテキスト状態を１つ以上前に符号化されたスペクトル値に応じて決定するように構成されたコンテキスト状態決定部であって、コンテキストの決定を、連続するオーディオフレーム間の基本周波数の変化に適合させるコンテキスト状態決定部も備える。
【００３７】
このオーディオ信号符号化器は、上述のオーディオ信号復号器と同様の考え方および知見に基づくものである。また、オーディオ信号符号化器は、コンテキスト状態計算において、以前に符号化されたスペクトル値が以前に復号されたスペクトル値の役割を果たすオーディオ信号復号器に関して記載された特徴および機能のいずれでも補足することができる。
【００３８】
好ましい実施形態において、コンテキスト状態決定部は、現在の数値コンテキスト値を複数の以前に符号化されたスペクトル値に応じて導出し、１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の一部のコード値へのマッピングを示すマッピング規則を現在の数値コンテキスト値に応じて選択するように構成されている。この場合、コンテキストベースのスペクトル値符号化部は、１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部を示すコード値を、コンテキスト状態決定部によって選択されたマッピング規則を使用して提供するように構成されている。
【００３９】
本発明による別の実施形態は、復号されたオーディオ信号表現を符号化されたオーディオ信号表現に基づいて提供するための方法を実現する。
【００４０】
本発明による別の実施形態は、入力オーディオ信号の符号化された表現を提供するための方法を実現する。
【００４１】
本発明による別の実施形態は、上記方法のうち１つを実行するためのコンピュータプログラムを実現する。
【００４２】
上記の方法およびコンピュータプログラムは、上述のオーディオ信号復号器およびオーディオ信号符号化器と同様の検討に基づくものである。
【００４３】
さらに、上記のオーディオ信号符号化器、方法およびコンピュータプログラムは、オーディオ信号復号器に関して上記に記載され、また後述される特徴及び機能のいずれでも補足することができる。
【図面の簡単な説明】
【００４４】
次に、本発明による実施形態を添付の図面を参照しながら説明する。
【図１Ａ】図１ａは、本発明の一実施形態によるオーディオ信号符号化器のブロック模式図を示す。
【図１Ｂ】図１ｂは、本発明の一実施形態によるオーディオ信号復号器のブロック模式図を示す。
【図２Ａ１】図２ａは、本発明の別の実施形態によるオーディオ信号符号化器のブロック模式図を示す。
【図２Ａ２】図２ａは、本発明の別の実施形態によるオーディオ信号符号化器のブロック模式図を示す。
【図２Ｂ１】図２ｂは、本発明の別の実施形態によるオーディオ信号復号器のブロック模式図を示す。
【図２Ｂ２】図２ｂは、本発明の別の実施形態によるオーディオ信号復号器のブロック模式図を示す。
【図２Ｃ】図２ｃは、本発明の実施形態によるオーディオ符号化器において使用される算術符号化部のブロック模式図を示す。
【図２Ｄ】図２ｄは、本発明の実施形態によるオーディオ信号復号器において使用される算術復号部のブロック模式図を示す。
【図３Ａ】図３ａは、コンテキスト適合型算術コーディング（符号化／復号）のグラフ表現を示す。
【図３Ｂ】図３ｂは、相対ピッチコンターのグラフ表現を示す。
【図３Ｃ】図３ｃは、タイムワープ型修正離散コサイン変換（ＴＷ−ＭＤＣＴ）の伸長効果のグラフ表現を示す。
【図４Ａ】図４ａは、本発明の実施形態によるオーディオ信号符号化器およびオーディオ信号復号器において使用されるコンテキスト状態決定部のブロック模式図を示す。
【図４Ｂ】図４ｂは、図４ａによるコンテキスト状態決定部によって実行され得るコンテキストの周波数圧縮のグラフ表現を示す。
【図４Ｃ】図４ｃは、本発明による実施形態において適用され得る、コンテキストを伸長または圧縮するためのアルゴリズムの疑似プログラムコード表現を示す。
【図４Ｄ】図４ｄ〜図４ｅは、本発明による実施形態において使用され得る、コンテキストを伸長または圧縮するためのアルゴリズムの疑似プログラムコード表現を示す。
【図４Ｅ】図４ｄ〜図４ｅは、本発明による実施形態において使用され得る、コンテキストを伸長または圧縮するためのアルゴリズムの疑似プログラムコード表現を示す。
【図５Ａ】図５ａ、図５ｂは、本発明の一実施形態による、オーディオ信号復号器のブロック模式図からの詳細な抜粋を示す。
【図５Ｂ】図５ａ、図５ｂは、本発明の一実施形態による、オーディオ信号復号器のブロック模式図からの詳細な抜粋を示す。
【図６Ａ】図６ａ、図６ｂは、本発明の一実施形態による、復号されたオーディオ信号表現を提供するためのマッピング部のフローチャートからの詳細な抜粋を示す。
【図６Ｂ】図６ａ、図６ｂは、本発明の一実施形態による、復号されたオーディオ信号表現を提供するためのマッピング部のフローチャートからの詳細な抜粋を示す。
【図７Ａ１】図７ａは、本発明の一実施形態によるオーディオ復号器において使用されるデータ要素およびヘルプ要素の定義の凡例を示す。
【図７Ａ２】図７ａは、本発明の一実施形態によるオーディオ復号器において使用されるデータ要素およびヘルプ要素の定義の凡例を示す。
【図７Ｂ】図７ｂは、本発明の一実施形態によるオーディオ復号器において使用される定数の定義の凡例を示す。
【図８】図８は、対応する復号されたタイムワープ値へのコードワードインデックスのマッピングのテーブル表現を示す。
【図９】図９は、等間隔ワープノード間を直線補間するためのアルゴリズムの疑似プログラムコード表現を示す。
【図１０Ａ】図１０ａは、ヘルパー関数「ｗａｒｐ＿ｔｉｍｅ＿ｉｎｖ」の疑似プログラムコード表現を示す。
【図１０Ｂ】図１０ｂは、ヘルパー関数「ｗａｒｐ＿ｉｎｖ＿ｖｅｃ」の疑似プログラムコード表現を示す。
【図１１Ａ】図１１は、サンプル位置ベクトルおよび遷移長を計算するためのアルゴリズムの疑似プログラムコード表現を示す。
【図１１Ｂ】図１１は、サンプル位置ベクトルおよび遷移長を計算するためのアルゴリズムの疑似プログラムコード表現を示す。
【図１２】図１２は、ウィンドウシーケンスおよびコアコーダフレーム長に依存する合成ウィンドウ長Ｎの値のテーブル表現を示す。
【図１３】図１３は、許可されたウィンドウシーケンスの行列表現を示す。
【図１４Ａ】図１４は、ウィンドウ処理および「ＥＩＧＨＴ＿ＳＨＯＲＴ＿ＳＥＱＵＥＮＣＥ」のタイプのウィンドウシーケンスの内部重複−加算のためのアルゴリズムの疑似プログラムコード表現を示す。
【図１４Ｂ】図１４は、ウィンドウ処理および「ＥＩＧＨＴ＿ＳＨＯＲＴ＿ＳＥＱＵＥＮＣＥ」のタイプのウィンドウシーケンスの内部重複−加算のためのアルゴリズムの疑似プログラムコード表現を示す。
【図１５】図１５は、「ＥＩＧＨＴ＿ＳＨＯＲＴ＿ＳＥＱＵＥＮＣＥ」ではないタイプの他のウィンドウシーケンスのウィンドウ処理および内部重複−加算のためのアルゴリズムの疑似プログラムコード表現を示す。
【図１６】図１６は、再サンプリングを行うためのアルゴリズムの疑似プログラムコード表現を示す。
【図１７】図１７は、本発明によるいくつかの実施形態において使用され得る、状態計算のためのコンテキストのグラフ表現を示す。
【図１８】図１８は、定義の凡例を示す。
【図１９】図１９は、アルゴリズム「ａｒｉｔｈ＿ｍａｐ＿ｃｏｎｔｅｘｔ（）”」の疑似プログラムコード表現を示す。
【図２０】図２０は、アルゴリズム「ａｒｉｔｈ＿ｇｅｔ＿ｃｏｎｔｅｘｔ（）」の疑似プログラムコード表現を示す。
【図２１】図２１は、アルゴリズム「ａｒｉｔｈ＿ｇｅｔ＿ｐｋ（）」の疑似プログラムコード表現を示す。
【図２２Ａ】図２２は、アルゴリズム「ａｒｉｔｈ＿ｄｅｃｏｄｅ（）”」の疑似プログラムコード表現を示す。
【図２２Ｂ】図２２は、アルゴリズム「ａｒｉｔｈ＿ｄｅｃｏｄｅ（）”」の疑似プログラムコード表現を示す。
【図２３】図２３は、１つ以上の下位ビットプレーンを復号するためのアルゴリズムの疑似プログラムコード表現を示す。
【図２４】図２４は、算術復号されたスペクトル値の配列のエントリを設定するためのアルゴリズムの疑似プログラムコード表現を示す。
【図２５】図２５は、関数「ａｒｉｔｈ＿ｕｐｄａｔｅ＿ｃｏｎｔｅｘｔ（）」の疑似プログラムコード表現を示す。
【図２６】図２６は、アルゴリズム「ａｒｉｔｈ＿ｆｉｎｉｓｈ（）”」の疑似プログラムコード表現を示す。
【図２７Ａ】図２７ａ〜図２７ｆは、本発明の一実施形態による、オーディオストリームの構文要素の表現を示す。
【図２７Ｂ】図２７ａ〜図２７ｆは、本発明の一実施形態による、オーディオストリームの構文要素の表現を示す。
【図２７Ｃ】図２７ａ〜図２７ｆは、本発明の一実施形態による、オーディオストリームの構文要素の表現を示す。
【図２７Ｄ】図２７ａ〜図２７ｆは、本発明の一実施形態による、オーディオストリームの構文要素の表現を示す。
【図２７Ｅ】図２７ａ〜図２７ｆは、本発明の一実施形態による、オーディオストリームの構文要素の表現を示す。
【図２７Ｆ】図２７ａ〜図２７ｆは、本発明の一実施形態による、オーディオストリームの構文要素の表現を示す。
【発明を実施するための形態】
【００４５】
１．図１ａによるオーディオ信号符号化器
図１ａは、本発明の一実施形態によるオーディオ信号符号化器１００のブロック模式図を示す。
【００４６】
オーディオ信号符号化器１００は、入力オーディオ信号１１０を受信し、この入力オーディオ信号の符号された表現１１２を提供するように構成されている。入力オーディオ信号の符号化された表現１１２は、符号化されたスペクトル表現および符号化されたタイムワープ情報を含む。
【００４７】
オーディオ信号符号化器１００は、入力オーディオ信号１１０およびタイムワープ情報１２２を受信するように構成された周波数領域表現提供部１２０を備える。周波数領域表現提供部１２０（タイムワーピング周波数領域表現提供部であると考えられ得る）は、タイムワープ情報１２２に従ってタイムワープされた、入力オーディオ信号１１０のタイムワープされたバージョンを表す周波数領域表現１２４を提供するように構成されている。オーディオ信号符号化器１００はまた、スペクトル値符号化部１３０を備えており、スペクトル値符号化部１３０は、符号化されたスペクトル表現の符号化されたスペクトル値を取得するために、周波数領域表現１２４の１つ以上のスペクトル値または周波数領域表現１２４の１つ以上のスペクトル値の数値表現の少なくとも一部を示すコードワード１３２をコンテキスト状態に応じて提供する。コンテキスト状態は、例えば、コンテキスト状態情報１３４によって示され得る。オーディオ信号符号化器１００はまた、現在のコンテキスト状態を１つ以上前に符号化されたスペクトル値１２４に応じて決定するように構成されたコンテキスト状態決定部１４０も備える。コンテキスト状態決定部１４０は、結果として、コンテキスト状態情報１３４をコンテキストベースのスペクトル値符号化部１３０に提供することができ、コンテキスト状態情報は、例えば、現在の数値コンテキスト値（マッピング規則またはマッピングテーブルの選択のための数値コンテキスト値）の形態または選択されたマッピング規則もしくはマッピングテーブルへの参照の形態をとり得る。コンテキスト状態決定部１４０は、コンテキスト状態の決定を、連続するフレーム間の基本周波数の変化に適合させるように構成されている。したがって、コンテキスト状態決定部は、連続するオーディオフレーム間の基本周波数の変化に関する情報を評価することができる。連続するフレーム間の基本周波数の変化に関するこの情報は、例えば、周波数領域表現提供部１２０によって使用されるタイムワープ情報１２２に基づくものであってもよい。
【００４８】
したがって、コンテキスト状態情報１３４の導出が２つのオーディオフレーム間の基本周波数の変動に適合されるため、オーディオ信号符号化器は、経時変化する基本周波数または経時変化するピッチを含むオーディオ信号部分が処理対象である場合、特に高いコーディング効率を実現することがきる。したがって、コンテキストベースのスペクトル値符号化部１３０によって使用されるコンテキストは、基本周波数が１つのオーディオフレームから次のオーディオフレームへ（すなわち、２つのオーディオフレーム間で）変化する場合に起こる周波数領域表現１２４の（周波数に関する）スペクトル圧縮または（周波数に関する）スペクトル拡張に良好に適合される。その結果、コンテキスト状態情報１３４は、基本周波数が変化した場合であっても周波数領域表現１２４に概して良好に適合され、コンテキストベースのスペクトル値符号化部のコーディング効率が良好となる。これに対し、コンテキスト状態が基本周波数の変化に適合されない場合、コンテキストは、基本周波数が変化する状況においては不適切なものとなり、したがってコーディング効率が大きく低下することが分かっている。
【００４９】
したがって、オーディオ信号符号化器１００は、典型的には、基本周波数が変化する状況において、コンテキストベースのスペクトル値符号化を用いた従来のオーディオ信号符号化器よりも性能面で優れているということができる。
【００５０】
ここで、連続するフレーム間の（すなわち、第１のフレームから第２の次のフレームへの）基本周波数の変化にコンテキスト状態の決定を適合させる方法には、多くの異なる実施例が存在するという点に留意されたい。例えば、エントリが周波数領域表現１２４のスペクトル値（または、より厳密にはその内容）から定義されるかあるいは導出されるコンテキストメモリ構造を、コンテキスト状態を示す現在の数値コンテキスト値が導出される前に、周波数において伸長または圧縮してもよい。このような概念については、後に詳述する。しかし、代わりに、エントリが周波数領域表現１２４に基づいているコンテキストメモリ構造のエントリからコンテキスト状態情報１３４を導出するために、アルゴリズムを変化させる（あるいは適合させる）ことも可能である。例えば、このような周波数スケーリングされていないコンテキストメモリ構造のどのエントリを考慮するかについて調整することができるが、その方法については本明細書では詳しく記載しない。
２．図１ｂによるオーディオ信号復号器
図１ｂは、オーディオ信号復号器１５０のブロック模式図を示す。
【００５１】
オーディオ信号復号器１５０は、符号化されたスペクトル表現および符号化されたタイムワープ情報を含み得る符号化されたオーディオ信号表現１５２を受信するように構成されている。オーディオ信号復号器１５０は、復号されたオーディオ信号表現１５４を符号化されたオーディオ信号表現１５２に基づいて提供するように構成されている。
【００５２】
オーディオ信号復号器１５０は、符号化されたスペクトル表現のコードワードを受信し、これに基づいて、復号されたスペクトル値１６２を提供するように構成されたコンテキストベースのスペクトル値復号部１６０を備える。さらに、コンテキストベースのスペクトル値復号部１６０は、例えば、選択されたマッピング規則の現在の数値コンテキスト値の形態または選択されたマッピング規則への参照の形態をとり得るコンテキスト状態情報１６４を受信するように構成されている。コンテキストベースのスペクトル値復号部１６０は、１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部を示すコードワードをコンテキスト状態（コンテキスト状態情報１６４によって示され得る）に応じて復号して、復号されたスペクトル値１６２を取得するように構成されている。オーディオ信号復号器１５０はまた、１つ以上前に復号されたスペクトル値１６２に応じて現在のコンテキスト状態を決定するように構成されたコンテキスト状態決定部１７０も備える。オーディオ信号復号器１５０はまた、所与のオーディオフレームに対応付けられ、コンテキストベースのスペクトル値復号部によって提供される復号されたスペクトル値１６２の集合に基づいて、タイムワープされた時間領域表現１８２を提供するように構成されたタイムワーピング周波数領域−時間領域変換部１８０も備える。タイムワーピング周波数領域−時間領域変換部１８０は、タイムワープされた時間領域表現１８２が復号されたオーディオ信号表現１５４を構成する（あるいは同等に、後処理部が使用される場合は、復号されたオーディオ信号表現のベースを形成する）ように、タイムワープされた時間領域表現１８２の提供を、符号化されたオーディオ信号表現１５２に含まれる符号化されたタイムワープ情報によって示される所望のタイムワープに適合させるために、タイムワープ情報１８４を受信するよう構成されている。
【００５３】
タイムワーピング周波数領域−時間領域変換部１８０は、例えば、所与のオーディオフレームに対応付けられ、コンテキストベースのスペクトル値復号部１６０によって提供される復号されたスペクトル値１６２の集合に基づいて、所与のオーディオフレームの時間領域表現を提供するように構成された周波数領域−時間領域変換部を備え得る。タイムワーピング周波数領域−時間領域変換部はまた、当該所与のオーディオフレームの時間領域表現またはその処理されたバージョンを、タイムワープ情報１８４に応じて再サンプリングして、当該所与のオーディオフレームの再サンプリングされた時間領域表現１８２を取得するように構成されたタイムワープ再サンプリング部も備え得る。
【００５４】
さらに、コンテキスト状態決定部１７０は、連続するオーディオフレーム間の（すなわち、第１のオーディオフレームから第２の次のオーディオフレームへの）基本周波数の変化にコンテキスト状態（コンテキスト状態情報１６４によって示される）の決定を適合させるように構成されている。
【００５５】
オーディオ信号復号器１５０は、オーディオ信号符号化器１００に関して既に述べた知見に基づいている。具体的には、オーディオ信号復号器は、コンテキスト状態（および、ひいては、異なるスペクトル値が出現する統計的確率に関してコンテキストベースのスペクトル値復号部１６０によって用いられる仮定）が当該コンテキスト情報を用いて復号される現在のオーディオフレームのスペクトルに、少なくとも概して良好に適合されるように、コンテキスト状態の決定を連続するオーディオフレーム間の基本周波数の変化に適合させるよう構成されている。したがって、当該現在のオーディオフレームのスペクトル値を符号化するコードワードは、特に短くなり得る。なぜなら、コンテキスト状態決定部１７０によって提供されたコンテキスト状態情報に応じて選択された選択済みのコンテキストと復号されるスペクトル値との間に良好な一致があれば、一般に、コードワードは比較的短くなり、これにより、ビットレート効率が良好となるからである。
【００５６】
さらに、コンテキスト状態決定部１７０は、効率的に実現することができる。なぜなら、タイムワーピング周波数領域−時間領域変換部により使用される、符号化されたオーディオ信号表現１５２に含まれるタイムワープ情報１８４を、連続するオーディオフレーム間の基本周波数の変化に関する情報として、あるいは、連続するオーディオフレーム間の基本周波数の変化に関する情報を導出するために、コンテキスト状態決定部１７０によって再使用することができるからである。
【００５７】
したがって、コンテキスト状態の決定を連続するフレーム間の基本周波数の変化に適合させるのに、追加の副情報すら必要とされない。したがって、オーディオ信号復号器１５０により、追加の副情報を一切必要とすることなく、コンテキストベースのスペクトル値復号のコーディング効率が向上し（そして、符号化器１００側での符号化効率の向上が可能となり）、これにより、ビットレート効率が著しく向上する。
【００５８】
さらに、連続するフレーム間の（すなわち、第１のオーディオフレームから第２の次のオーディオフレームへの）基本周波数の変化にコンテキスト状態の決定を適合させるために異なる概念を用いることができるという点に留意されたい。例えば、エントリが復号されたスペクトル値１６２に基づいているコンテキストメモリ構造を、コンテキスト状態決定部１７０によってコンテキスト状態情報１６４が周波数スケーリングされたコンテキストメモリ構造から導出される前に、例えば、周波数スケーリング（例えば、周波数伸長または周波数圧縮）を用いて適合させることができる。しかし、代わりに、コンテキスト状態情報１６４を導出するためにコンテキスト状態決定部１７０によって異なるアルゴリズムが使用され得る。例えば、所与のコードワード周波数インデックスを有するコードワードの復号のためのコンテキスト状態を決定するためにコンテキストメモリ構造のどのエントリを使用するかについて適合させることができる。後者の概念は、本明細書で詳しく記載されていないが、本発明によるいくつかの実施形態において適用され得ることは言うまでもない。また、基本周波数の変化を決定するために異なる概念が適用され得る。
３．図２ａによるオーディオ信号符号化器
図２ａは、本発明の一実施形態によるオーディオ信号符号化器２００のブロック模式図を示す。尚、図２によるオーディオ信号符号化器２００は、図１ａによるオーディオ信号符号化器１００と非常に類似し得るため、同一の手段および信号には同一の参照符号を付し、重複する詳細な説明は省略する。
【００５９】
オーディオ信号符号化器２００は、入力オーディオ信号１１０を受信し、これに基づいて、符号化されたオーディオ信号表現１１２を提供するように構成されている。任意には、オーディオ信号符号化器２００はまた、外部で生成されたタイムワープ情報２１４を受信するようにも構成されている。
【００６０】
オーディオ信号符号化器２００は、周波数領域表現提供部１２０を備え、周波数領域表現提供部１２０の機能は、オーディオ信号符号化器１００の周波数領域表現提供部１２０の機能と同一であってもよい。周波数領域表現提供部１２０は、入力オーディオ信号１１０のタイムワープされたバージョンを表す周波数領域表現を提供し、この周波数領域表現を１２４で示す。オーディオ信号符号化器２００はまた、コンテキストベースのスペクトル値符号化部１３０およびコンテキスト状態決定部１４０も備え、これらは、オーディオ信号符号化器１００に関して述べたように動作する。したがって、コンテキストベースのスペクトル値符号化部１３０は、コードワード（例えば、ａｃｏｄ＿ｍ）を提供し、各コードワードは、符号化されたスペクトル表現の１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部を表す。
【００６１】
オーディオ信号符号化器は、オーディオフレーム中の基本周波数の変化、および／または入力オーディオ信号１１０の基本周波数の時間変遷、および／または入力オーディオ信号１１０のピッチの時間変遷を補償するために、入力オーディオ信号１１０を受信し、これに基づいて、例えば、周波数領域表現提供部１２０によって入力オーディオ信号１１０に適用されるタイムワープを示すタイムワープコンター情報２２２を提供するように構成された、タイムワープ分析部または基本周波数分析部またはピッチ分析部２２０を任意に備える。オーディオ信号符号化器２００はまた、符号化されたタイムワープ情報２２６をタイムワープコンター情報２２２に基づいて提供するように構成されたタイムワープコンター符号化部２２４も備える。符号化されたタイムワープ情報２２６は、好ましくは、符号化されたオーディオ信号表現１１２に含められ、例えば、（符号化された）タイムワープ比値「ｔｗ＿ｒａｔｉｏ［ｉ］」の形態をとり得る。
【００６２】
さらに、タイムワープコンター情報２２２は、周波数領域表現提供部１２０およびコンテキスト状態決定部１４０に提供され得る点に留意されたい。
【００６３】
オーディオ信号符号化器２００は、入力オーディオ信号１１０またはその前処理されたバージョンを受信し、心理音響分析を実行して、例えば、時間マスキング効果および／または周波数マスキング効果を測定するように構成された心理音響モデル処理部２２８を更に備え得る。したがって、心理音響モデル処理部２２８は、例えば、周波数領域オーディオ符号化器に関して周知であるような、入力オーディオ信号の異なる周波数帯域の心理音響的な重要性を表す制御情報２３０を提供することができる。
【００６４】
以下に、周波数領域表現提供部１２０の信号経路について簡単に説明する。周波数領域表現提供部１２０は、任意の前処理部１２０ａを含み、前処理部１２０ａは、入力オーディオ信号１１０を任意には前処理して、入力オーディオ信号１１０の前処理されたバージョン１２０ｂを提供することができる。周波数領域表現提供部１２０はまた、入力オーディオ信号１１０またはその前処理されたバージョン１２０ｂをサンプリング位置計算部１２０ｅから受信されるサンプリング位置情報１２０ｄに応じてサンプリングまたは再サンプリングするように構成されたサンプリング部／再サンプリング部も備える。したがって、サンプリング部／再サンプリング部１２０ｃは、時変サンプリングまたは再サンプリングを入力オーディオ信号１１０（またはその前処理されたバージョン１２０ｂ）に適用することができる。このような時変サンプリング（有効サンプル点間の時間距離が時間的に変動する）を適用することにより、入力オーディオ信号１１０と比較してピッチまたは基本周波数の時間変動が低減した、サンプリングまたは再サンプリングされた時間領域表現１２０ｆが取得される。サンプリング位置は、タイムワープコンター情報２２２に応じてサンプリング位置計算部１２０ｅによって計算される。周波数領域表現提供部１２０はまた、ウィンドウ処理部１２０ｇも備え、ウィンドウ処理部１２０ｇは、サンプリング部または再サンプリング部１２０ｃによって提供されたサンプリングまたは再サンプリングされた時間領域表現１２０ｆのウィンドウ処理を行うように構成されている。ウィンドウ処理は、ブロッキングアーチファクト（ブロッキング副作用）を低減または除去し、これにより、オーディオ信号復号器において円滑な重複−加算演算を可能にするために行われる。周波数領域表現提供部１２０はまた、時間領域−周波数領域変換部１２０ｉも備え、時間領域−周波数領域変換部１２０ｉは、ウィンドウ処理され、サンプリングされた／再サンプリングされた時間領域表現１２０ｈを受信し、これに基づいて、例えば、入力オーディオ信号１１０の１つのオーディオフレームにつきスペクトル係数の１つの集合を含み得る（入力オーディオ信号のオーディオフレームは、例えば、重複していても重複していなくてもよく、重複オーディオフレームの場合のいくつかの実施形態においては、およそ５０％の重複が好ましい）周波数領域表現１２０ｊを提供するように構成されている。しかし、いくつかの実施形態では、１つのオーディオフレームに対してスペクトル係数の複数の集合が提供され得る点に留意されたい。
【００６５】
周波数領域表現提供部１２０は、時間領域雑音整形および／または長期予測および／またはその他の形態のスペクトル後処理を実行して、これにより、後処理された周波数領域表現１２０ｌを取得するように構成されたスペクトル処理部１２０ｋを任意には備える（備えてもよい）。
【００６６】
周波数領域表現提供部１２０は、スケーリング部／量子化部１２０ｍを任意には備え、スケーリング部／量子化部１２０ｍは、例えば、心理音響モデル処理部２２８によって提供された制御情報２３０に応じて、周波数領域表現１２０ｊまたはその後処理されたバージョン１２０ｌの異なる周波数ビン（または周波数帯域）をスケーリングするように構成され得る。したがって、周波数ビン（または複数の周波数ビンを含む周波数帯域）を、例えば、心理音響的な重要性が高い周波数ビン（または周波数帯域）が、実質上、コンテキストベースのスペクトル値符号化部によって高精度に符号化され、心理音響的な重要性が低い周波数ビン（または周波数帯域）が低精度で符号化されるように、心理音響的な重要性に応じてスケーリングすることができる。さらに、制御情報２３０は、任意には、ウィンドウ処理部、時間領域−周波数領域変換部および／またはスペクトル後処理部のパラメータを調整し得る点に留意されたい。また、制御情報２３０は、当業者に公知であるように、符号化されたオーディオ信号表現１１２に符号化された形態で含めることができる。
【００６７】
オーディオ信号符号化器２００の機能に関し、タイムワープ（不均一な時変サンプリングまたは再サンプリングという意味のタイムワープ）は、サンプリング部／再サンプリング部１２０ｃによってタイムワープコンター情報２２０に応じて適用されるということができる。したがって、時変サンプリング／再サンプリングを実行しなかったらスペクトルにスミアを生じさせることになる（スミアスペクトルを発生させることになる）ピッチの時間変動を有する入力オーディオ信号が存在する場合であっても、顕著なスペクトルのピークおよび谷を有する周波数領域表現１２０ｊを実現することができる。加えて、コンテキストベースのスペクトル値符号化部１３０による使用されるコンテキスト状態の導出は、連続するオーディオフレーム間の基本周波数の変化に応じて適合化され、これにより、上述したように、コーディング効率が特に高くなる。さらに、サンプリング部／再サンプリング部１２０ｃのためのサンプリング位置の計算およびコンテキスト状態の決定の適合の両方のベースとなるタイムワープコンター情報２２２は、タイムワープコンター情報２２２を示す符号化されたタイムワープ情報２２６が、符号化されたオーディオ信号表現１１２に含められるように、タイムワープコンター符号化部２２４を用いて符号化される。したがって、符号化されたオーディオ信号表現１１２により、符号化された入力オーディオ信号１１０を効率的に復号する場合に必要となる情報が、オーディオ信号復号器側で提供される。
【００６８】
さらに、オーディオ信号符号化器２００の各機能部は、オーディオ信号復号器２４０の各機能部と実質的に逆の機能を果たし得るという点に留意されたい。このことについては、図２ｂを参照して後述する。さらに、本明細書全体を通してオーディオ信号復号器の機能に関する詳細な記述を参照されたい。これにより、オーディオ信号復号器の理解が可能となる。
【００６９】
オーディオ信号復号器およびその個々の機能部については、大幅な変形が可能であるという点にも留意されたい。例えば、サンプリング／再サンプリング、ウィンドウ処理および時間領域−周波数領域変換といったいくつかの機能を組み合わせることができる。さらに、必要な場合には、追加の処理ステップを導入してもよい。
【００７０】
さらに、当然ながら、符号化されたオーディオ信号表現に、所望に応じてあるいは必要に応じて、追加の副情報を含ませるようにしてもよい。
４．図２ｂによるオーディオ信号復号器
図２ｂは、本発明の一実施形態によるオーディオ信号復号器２４０のブロック模式図を示す。オーディオ信号復号器２４０は、図１ｂによるオーディオ信号復号器１５０と非常に類似し得るため、同一の手段および信号には同一の参照符号を付し、重複する詳細な説明は省略する。
【００７１】
オーディオ信号復号器２４０は、符号化されたオーディオ信号表現１５２を、例えば、ビットストリームの形態で受信するように構成されている。符号化されたオーディオ信号表現１５２は、符号化されたスペクトル表現を、例えば、１つ以上のスペクトル値または１つ以上のスペクトル値の数値表現の少なくとも一部を表すコードワード（例えば、ａｃｏｄ＿ｍ）の形態で含む。符号化されたオーディオ信号表現１５２はまた、符号化されたタイムワープ情報も含む。さらに、オーディオ信号復号器２４０は、復号されたオーディオ信号表現１５４、例えば、オーディオコンテンツの時間領域表現を提供するように構成されている。
【００７２】
オーディオ信号復号器２４０は、符号化されたオーディオ信号表現１５２からスペクトル値を表すコードワードを受信し、これに基づいて、復号されたスペクトル値１６２を提供するように構成されたコンテキストベースのスペクトル値復号部１６０を備える。さらに、オーディオ信号復号器２４０はまた、コンテキスト状態情報１６４をコンテキストベースのスペクトル値復号部１６０に提供するように構成されたコンテキスト状態決定部１７０も備える。オーディオ信号復号器２４０はまた、復号されたスペクトル値１６２を受信し、復号されたオーディオ信号表現１５４を提供するタイムワーピング周波数領域−時間領域変換部１８０も備える。
【００７３】
オーディオ信号復号器２４０はまた、符号化されたオーディオ信号表現１５２に含まれる符号化されたタイムワープ情報を受信し、これに基づいて、復号されたタイムワープ情報２５４を提供するように構成されたタイムワープ計算部（またはタイムワープ復号部）２５０も備える。符号化されたタイムワープ情報は、例えば、基本周波数またはピッチの時間変動を示すコードワード「ｔｗ＿ｒａｔｉｏ［ｉ］」を含み得る。復号されたタイムワープ情報２５４は、例えば、ワープコンター情報の形態をとり得る。詳しく後述するように、例えば、復号されたタイムワープ情報２５４は、値「ｗａｒｐ＿ｖａｌｕｅ＿ｔｂｌ［ｔｗ＿ｒａｔｉｏ［ｉ］］」または値ｐｒｅｌ［ｎ］を含み得る。任意には、オーディオ信号復号器２４０はまた、復号されたタイムワープ情報２５４からタイムワープコンター情報２５８を導出するように構成されたタイムワープコンター計算部２５６も備える。タイムワープコンター情報２５８は、例えば、コンテキスト状態決定部１７０およびタイムワーピング周波数領域−時間領域変換部１８０のための入力情報として機能し得る。
【００７４】
以下に、タイムワーピング周波数領域−時間領域変換部に関する詳細の一部について説明する。同変換部１８０は、復号されたスペクトル値１６２をコンテキストベースのスペクトル値復号部１６０から受信し、復号されたスペクトル値１６２の逆量子化および／または再スケーリングされたバージョン１８０ｂを提供するように構成され得る逆量子化部／再スケーリング部１８０ａを任意には備え得る。例えば、逆量子化部／再スケーリング部１８０ａは、オーディオ信号符号化器２００の任意のスケーリング部／量子化部１２０ｍの演算と少なくともおよそ逆の動作を行うように構成され得る。したがって、任意の逆量子化部／再スケーリング部１８０ａは、制御情報２３０に対応し得る制御情報を受信することができる。
【００７５】
タイムワーピング周波数領域−時間領域変換部１８０は、復号されたスペクトル値１６２または逆量子化／再スケーリングされたスペクトル値１８０ｂを受信し、これに基づいて、スペクトル前処理されたスペクトル値１８０ｄを提供するように構成されたスペクトル前処理部１８０ｃを任意には備える（備えてもよい）。例えば、スペクトル前処理部１８０ｃは、オーディオ信号符号化器２００のスペクトル後処理部１２０ｋと比較して逆の動作を行うことができる。
【００７６】
タイムワーピング周波数領域−時間領域変換部１８０はまた、復号されたスペクトル値１６２、逆量子化／再スケーリングされたスペクトル値１８０ｂまたはスペクトル前処理されたスペクトル値１８０ｄを受信し、これに基づいて、時間領域表現１８０ｆを提供するように構成された周波数領域−時間領域変換部１８０ｅも備える。例えば、周波数領域−時間領域変換部は、逆スペクトル領域−時間領域変換、例えば、逆修正離散コサイン変換（ＩＭＤＣＴ）を実行するように構成され得る。周波数領域−時間領域変換部１８０ｅは、例えば、復号されたスペクトル値の１つの集合に基づいて、あるいは、復号されたスペクトル値の複数の集合に基づいて、符号化されたオーディオ信号のオーディオフレームの時間領域表現を提供し得る。ただし、符号化されたオーディオ信号のオーディオフレームは、例えば、ある場合においては、時間において重複していてもよい。しかしながら、他の場合においては、オーディオフレームは、時間において重複していなくてもよい。
【００７７】
タイムワーピング周波数領域−時間領域変換部１８０はまた、時間領域表現１８０ｆをウィンドウ処理し、周波数領域−時間領域変換部１８０ｅによって提供された時間領域表現１８０ｆに基づいて、ウィンドウ処理された時間領域表現１８０ｈを提供するように構成されたウィンドウ処理部１８０ｇも備える。
【００７８】
タイムワーピング周波数領域−時間領域変換部１８０はまた、ウィンドウ処理された時間領域表現１８０ｈを再サンプリングし、これに基づいて、ウィンドウ処理および再サンプリングされた時間領域表現１８０ｊを提供するように構成された再サンプリング部１８０ｉも備える。再サンプリング部１８０ｉは、サンプリング位置情報１８０ｋをサンプリング位置計算部１８０ｌから受信するように構成されている。したがって、再サンプリング部１８０ｉは、符号化されたオーディオ信号表現の各フレームのウィンドウ処理および再サンプリングされた時間領域表現１８０ｊを提供し、ここで、連続するフレームは重複していてもよい。
【００７９】
したがって、重複器／加算器１８０ｍは、符号化されたオーディオ信号表現１５２の連続するオーディオフレームのウィンドウ処理および再サンプリングされた時間領域表現１８０ｊを受信し、また、連続するオーディオフレーム間の平滑な移行を実現するために、当該ウィンドウ処理および再サンプリングされた時間領域表現１８０ｊを重複させて加算する（重複加算（オーバーラップ加算）する）。
【００８０】
タイムワーピング周波数領域−時間領域変換部は、重複器／加算器１８０ｍによって提供された合成オーディオ信号１８０ｎに基づいて後処理を実行するように構成された時間領域後処理部１８０ｏを任意には備える（備えてもよい）。
【００８１】
タイムワープコンター情報２５８は、コンテキスト状態情報１６４の導出をタイムワープコンター情報２５８に応じて適合させるように構成されたコンテキスト状態決定部１７０のための入力情報として機能する。さらに、タイムワーピング周波数領域−時間領域変換部１８０のサンプリング位置計算部１８０ｌはまた、タイムワープコンター情報を受信し、タイムワープコンター情報２５８に基づいてサンプリング位置情報１８０ｋを提供し、これにより、再サンプリング部１８０ｉによって実行される時変再サンプリングをタイムワープコンター情報によって示されるタイムワープコンターに応じて適合させる。したがって、タイムワープコンター情報２５８によって示されるタイムワープコンターに応じて、時間領域表現１８０ｆによって示される時間領域信号にピッチ変動が導入される。したがって、著しい経時ピッチ変動（または基本周波数の著しい経時変化）を有するオーディオ信号の時間領域表現１８０ｊを、顕著なピークおよび谷を有するスパーススペクトル１８０ｄに基づいて提供することができる。このようなスペクトルは、高いビットレート効率で符号化が可能であり、その結果、符号化されたオーディオ信号表現１５２に必要とされるビットレートが比較的低くなる。
【００８２】
さらに、コンテキスト（または、より一般には、コンテキスト状態情報１６４の導出）はまた、コンテキスト状態決定部１７０を用いてタイムワープコンター情報２５８に応じて適合される。したがって、符号化されたタイムワープ情報２５２は、２度再使用され、また、スパーススペクトルの符号化を可能にすること、および、タイムワープが存在する場合の、または、基本周波数が時間的に変動する場合の特定のスペクトル特性へのコンテキスト状態情報の適合を可能にすることにより、コーディング効率の向上に寄与する。
【００８３】
オーディオ信号符号化器２４０の各機能部の機能に関するさらなる詳細については後述する。
５．図２ｃによる算術符号化部
以下に、オーディオ信号符号化器１００またはオーディオ信号符号化器２００においてコンテキスト状態決定部１４０と組み合わせたコンテキストベースのスペクトル値符号化部１３０の代わりとなり得る算術符号化部２９０について説明する。算術符号化部２９０は、スペクトル値２９１（例えば、周波数領域表現１２４のスペクトル値）を受信し、これらのスペクトル値２９１に基づいてコードワード２９２ａ、２９２ｂを提供するように構成されている。
【００８４】
換言すれば、算術符号化部２９０は、例えば、周波数領域オーディオ表現１２４の後処理、スケーリング、および量子化された複数のスペクトル値２９１を受信するように構成され得る。算術符号化部は、スペクトル値から最上位ビットプレーンｍを抽出するように構成された最上位ビットプレーン抽出部２９０ａを備える。なお、ここで、最上位ビットプレーンは、スペクトル値の最上位ビットから１または複数のビット（例えば、最上位ビットから２または３ビット）を含むものであってもよい。
【００８５】
したがって、最上位ビットプレーン抽出部２９０ａは、スペクトル値の最上位ビットプレーン値２９０ｂを提供する。算術符号化部２９０はまた、最上位ビットプレーン値ｍを表す算術コードワードａｃｏｄ＿ｍ［ｐｋｉ］［ｍ］を決定するように構成された第１のコードワード決定部２９０ｃも備える。
【００８６】
任意には、第１のコードワード決定部２９０ｃはまた、例えば、利用可能な下位ビットプレーンの数を示す（ひいては最上位ビットプレーンの数値的重みを示す）１つ以上のエスケープコードワード（本明細書において「ＡＲＩＴＨ＿ＥＳＣＡＰＥ」によっても示される）も提供し得る。第１のコードワード決定部２９０ｃは、累積度数テーブルインデックスｐｋｉを有する（あるいは、これによって参照される）選択された累積度数テーブルを用いて、最上位ビットプレーン値ｍに対応付けられたコードワードを提供するように構成され得る。
【００８７】
どの累積度数テーブルが選択されるべきであるかを決定するために、算術符号化部は、コンテキスト状態決定部１４０の機能を有し得る状態追跡部２９０ｄを好ましくは備える。状態追跡部２９０ｄは、例えば、どのスペクトル値が以前に符号化されたかを観察することにより算術符号化部の状態を追跡するように構成されている。状態追跡部２９０ｄは、これにより、コンテキスト状態情報１３４と同等であり得る状態情報２９０ｅを、例えば、場合によっては「ｓ」または「ｔ」で示される状態値の形態で提供する（ここで、状態値ｓは、周波数伸長因子ｓと混同してはならない）。
【００８８】
算術符号化部２９０はまた、状態情報２９０ｅを受信し、選択された累積度数テーブルを示す情報２９０ｇをコードワード決定部２９０ｃに提供するように構成された累積度数テーブル選択部２９０ｆも備える。例えば、累積度数テーブル選択部２９０ｆは、６４個の累積度数テーブルからなる集合のうちどの累積度数テーブルがコードワード決定部２９０ｃによる使用のために選択されるかを示す累積度数テーブルインデックス「ｐｋｉ」を提供し得る。あるいは、累積度数テーブル選択部２９０ｆは、選択された累積度数テーブル全体をコードワード決定部２９０ｃに提供することができる。よって、コードワード決定部２９０ｃは、選択された累積度数テーブルを最上位ビットプレーン値ｍのコードワードａｃｏｄ＿ｍ［ｐｋｉ］［ｍ］を提供するために用いることができ、したがって、最上位ビットプレーン値ｍを符号化する実際のコードワードａｃｏｄ＿ｍ［ｐｋｉ］［ｍ］は、ｍの値および累積度数テーブルインデックスｐｋｉ、ひいては現在の状態情報２９０ｅに依存する。コーディング処理および取得されるコードワードのフォーマットのさらなる詳細については後述する。さらに、コンテキスト状態決定部１４０と同等である状態追跡部２９０ｄの動作に関する詳細については後述する。
【００８９】
算術符号化部２９０は、下位ビットプレーン抽出部２９０ｈをさらに備え、下位ビットプレーン抽出部２９０ｈは、符号化されるスペクトル値の１つ以上が、最上位ビットプレーンのみを用いて符号化可能な値の範囲を上回る場合、スケーリングおよび量子化された周波数領域オーディオ表現２９１から１つ以上の下位ビットプレーンを抽出するように構成されている。下位ビットプレーンは、所望に応じて１つ以上のビットを含み得る。したがって、下位ビットプレーン抽出部２９０ｈは、下位ビットプレーン情報２９０ｉを提供する。
【００９０】
算術符号化部２９０はまた、第２のコードワード決定部２９０ｊも備え、第２のコードワード決定部２９０ｊは、下位ビットプレーン情報２９０ｉを受信し、これに基づいて、０個、１個またはそれ以上の下位ビットプレーンの内容を表す０個、１個またはそれ以上のコードワード「ａｃｏｄ＿ｒ」を提供するように構成されている。第２のコードワード決定部２９０ｊは、下位ビットプレーン情報２９０ｉから下位ビットプレーンのコードワード「ａｃｏｄ＿ｒ」を導出するために、算術符号化アルゴリズムまたは他の符号化アルゴリズムを適用するように構成され得る。
【００９１】
ここで、下位ビットプレーンの数は、スケーリングおよび量子化されたスペクトル値２９１の値によって異なり得るため、符号化対象のスケーリングおよび量子化されたスペクトル値が比較的少数であれば下位ビットプレーンが全く存在しない場合があり、現在の符号化対象であるスケーリングおよび量子化されたスペクトル値が中間の範囲のものであれば１つの下位ビットプレーンが存在する場合があり、符号化対象のスケーリングおよび量子化されたスペクトル値が比較的大きい値を有していれば２つ以上の下位ビットプレーンが存在する場合がある点に留意されたい。
【００９２】
上記を要約すると、算術符号化部２９０は、階層型符号化処理を用いて、情報２９１によって示されるスケーリングおよび量子化されたスペクトル値を符号化するように構成されている。最上位ビットプレーン（例えば、１つのスペクトル値につき１つ、２つまたは３つのビットを含む）が符号化され、最上位ビットプレーン値の算術コードワード「ａｃｏｄ＿ｍ［ｐｋｉ］［ｍ］」が取得される。１つ以上の下位ビットプレーン（下位ビットプレーンのそれぞれが、例えば、１つ、２つまたは３つのビットを含む）が符号化され、１つ以上のコードワード「ａｃｏｄ＿ｒ」が取得される。最上位ビットプレーンを符号化する際、最上位ビットプレーンの値ｍは、コードワードａｃｏｄ＿ｍ［ｐｋｉ］［ｍ］にマッピングされる。算術符号化部１７０の状態に応じて、すなわち、以前に符号化されたスペクトル値に応じて、値ｍの符号化のために６４個の異なる累積度数テーブルが利用可能である。したがって、コードワード「ａｃｏｄ＿ｍ［ｐｋｉ］［ｍ］」が取得される。さらに、１つ以上の下位ビットプレーンが存在する場合、１つ以上のコードワード「ａｃｏｄ＿ｒ」が提供され、ビットストリームに含められる。
【００９３】
しかしながら、本発明によれば、コンテキスト状態情報１３４と同等である状態情報２９０ｅの導出は、第１のオーディオフレームから次の第２のオーディオフレームへの（すなわち、２つの連続するオーディオフレーム間の）基本周波数の変化に適合される。状態追跡部２９０ｄによって実行され得るこの適合に関する詳細については後述する。
６．図２ｄによる算術復号部
図２ｄは、図１ｄによるオーディオ信号復号器１５０および図２ｂによるオーディオ信号復号器２４０においてコンテキストベースのスペクトル値復号部１６０およびコンテキスト状態決定部１７０の代わりとなり得る算術復号部２９５のブロック模式図を示す。
【００９４】
算術復号部２９５は、算術コーディングされたスペクトルデータを例えばコードワード「ａｃｏｄ＿ｍ」および「ａｃｏｄ＿ｒ」の形態で含み得る符号化された周波数領域表現２９６を受信するように構成されている。符号化された周波数領域表現２９６は、コンテキストベースのスペクトル値復号器１６０に入力されたコードワードと同等であってもよい。さらに、算術復号部は、コンテキストベースのスペクトル値復号器１６０によって提供される復号されたスペクトル値１６２と同等であり得る復号された周波数領域オーディオ表現２９７を提供するように構成されている。
【００９５】
算術復号部２９５は、最上位ビットプレーン値ｍを示す算術コードワードａｃｏｄ＿ｍ［ｐｋｉ］［ｍ］を受信するように構成された最上位ビットプレーン決定部２９５ａを備える。最上位ビットプレーン決定部２９５ａは、算術コードワード「ａｃｏｄ＿ｍ［ｐｋｉ］［ｍ］」から最上位ビットプレーン値ｍを導出するための複数の、例えば６４個の累積度数テーブルからなる集合から１つの累積度数テーブルを使用するように構成され得る。
【００９６】
最上位ビットプレーン決定部２９５ａは、コードワード「ａｃｏｄ＿ｍ」に基づいてスペクトル値の最上位ビットプレーンの値２９５ｂを導出するように構成されている。算術復号部２９５は、スペクトル値の１つ以上の下位ビットプレーンを表す１つ以上のコードワード「ａｃｏｄ＿ｒ」を受信するように構成された下位ビットプレーン決定部２９５ｃをさらに備える。したがって、下位ビットプレーン決定部２９５ｃは、１つ以上の下位ビットプレーンの復号された値２９５ｄを提供するように構成されている。算術復号器２９５はまた、スペクトル値の最上位ビットプレーンの復号された値２９５ｂおよび当該スペクトル値の１つ以上の下位ビットプレーンの復号された値２９５ｂ（現在のスペクトル値に対してこのような下位ビットプレーンが利用可能である場合）を受信するように構成されたビットプレーン結合部２９５ｅも備える。したがって、ビットプレーン結合部２９５ｅは、復号された周波数領域オーディオ表現２９７の一部であるコーディングされたスペクトル値を提供する。必然的に、算術復号部２９５は、典型的には、オーディオコンテンツの現在のフレームに対応付けられた復号されたスペクトル値の完全な集合を取得するために複数のスペクトル値を提供するように構成されている。
【００９７】
算術復号部２９５は、算術復号部２９５の状態を示す状態インデックス２９５ｇに応じて、例えば６４個の累積度数テーブルのうちの１つを選択するように構成された累積度数テーブル選択部２９５ｆをさらに含む。算術復号部２９５は、以前に復号されたスペクトル値に応じて算術復号部の状態を追跡するように構成された状態追跡部２９５ｈをさらに備える。状態追跡部２９５ｈは、コンテキスト状態決定部１７０に対応し得る。状態追跡部２９５ｈに関する詳細については後述する。
【００９８】
したがって、累積度数テーブル選択部２９５ｆは、コードワード「ａｃｏｄ＿ｍ」に応じて、最上位ビットプレーン値ｍの復号における適用のために、選択された累積度数テーブルのインデックス（例えば、ｐｋｉ）または選択された累積度数テーブル自体を提供するように構成されている。
【００９９】
したがって、算術復号部２９５は、隣接するスペクトル値の最上位ビットプレーンの値の異なる組み合わせの異なる確率を利用する。コンテキストに応じて、異なる累積度数テーブルが選択され、適用される。換言すれば、以前に復号されたスペクトル値を観察することによって取得される状態インデックス２９５ｇ（コンテキスト状態情報１６４と同等であり得る）に応じて、例えば６４個の異なる累積度数テーブルを含む集合から異なる累積度数テーブルを選択することにより、スペクトル値間の統計的依存性が利用される。連続するオーディオフレーム間の基本周波数（またはピッチ）の変化に関する情報に応じて、状態インデックス２９５ｇ（またはコンテキスト状態情報１６４）の導出を適合させることにより、スペクトルスケーリングが考慮される。
７．コンテキストの適合の概念についての概要
以下に、タイムワープ情報を用いて算術コーダのコンテキストを適合させるという概念についての概要を説明する。
７．１  背景情報
以下に、本発明の理解を容易にするために、いくつかの背景情報を示す。参考文献［３］において、量子化されたスペクトルビンを可逆符号化するためにコンテキスト適合型算術コーダ（例えば、参考文献［５］を参照）が使用されている点に留意されたい。
【０１００】
使用されるコンテキストは、このようなコンテキスト適合型算術コーディングのグラフ表現を示す図３ａに示されている。図３ａにおいて、復号される周波数ビンのコンテキストを決定するために、前のフレームから既に復号されたビンが使用されていることが理解される。ここで、コンテキストおよびコーディングが４−タプルで編成されているか、ライン単位で編成されているか、あるいは他のｎ−タプル（ｎは可変）で編成されているかということは記載される発明にとって重要ではないという点に留意されたい。
【０１０１】
コンテキスト適合型算術コーディングまたは復号を示す図３ａを再び参照する。尚、横軸３１０は時間を示し、縦軸３１２は周波数を示す。ここで、スペクトル値の４−タプルが、図３ａに示すコンテキストに応じて共通のコンテキスト状態を使用して復号されるという点に留意されたい。例えば、時間インデックスｋおよび周波数インデックスｉを有するオーディオフレームに対応付けられたスペクトル値の４−タプル３２０の復号のためのコンテキストは、時間インデックスｋおよび周波数インデックスｉ−１を有する第１の４−タプル３２２、時間インデックスｋ−１および周波数インデックスｉ−１を有する第２の４−タプル３２４、時間インデックスｋ−１および周波数インデックスｉを有する第３の４−タプル３２６、ならびに時間インデックスｋ−１および周波数インデックスｉ＋１を有する第４の４−タプル３２８のスペクトル値に基づいている。周波数インデックスｉ−１、ｉ、ｉ＋１のそれぞれは、時間領域−周波数領域変換または周波数領域−時間領域変換の４つの周波数ビンを示す（あるいは、より厳密には、これらに対応付けられている）という点に留意されたい。したがって、４−タプル３２０の復号のためのコンテキストは、スペクトル値の４−タプル３２２、３２４、３２６、３２８のスペクトル値に基づいている。したがって、時間インデックスｋを有する現在のオーディオフレームのタプル周波数インデックスｉを有するスペクトル値（典型的には、時間インデックスｋを有する現在復号されているオーディオフレームのタプル周波数インデックスｉ−１を有するスペクトル値と組み合わせて）を復号するためのコンテキストを導出するために、時間インデックスｋ−１を有する、以前のオーディオフレームのタプル周波数インデックスｉ−１、ｉおよびｉ＋１を有するスペクトル値が使用される。
【０１０２】
タイムワープされた変換は、一般に、基本周波数において変動のある高調波信号のためのより優れたエネルギー圧縮をもたらし、これにより、タイムワーピングが適用されない場合に生じる多少スメアリングされた高い部分音（partials）ではなく、はっきりとした高調波構造を示すスペクトルが得られることが分かっている。タイムワーピングのもう１つの他の効果は、連続フレームの平均ローカルサンプリング周波数が異なる可能性によるものである。この効果により、その他の点では高調波構造が一定であるが基本周波数が変化する信号の連続スペクトルが周波数軸に沿って伸長されることが分かっている。
【０１０３】
図３ｃの下のグラフ３９０は、このような例を示している。同図は、２つの連続フレーム（例えば、基本周波数が変化する高調波信号がタイムワープ型修正離散コサイン変換コーダ（ＴＷ−ＭＤＣＴコーダ）によってコーディングされる場合、「最後のフレーム」および「このフレーム」として示されるフレーム）のグラフ（例えば、周波数ビンインデックスの関数としての大きさをｄＢ単位で示す）を含む。
【０１０４】
対応する相対ピッチ変遷は、高調波ラインの減少する相対ピッチおよび相対ピッチの減少に伴って増加する相対周波数を示す図３ｂのグラフ３７０で見られる。
【０１０５】
これにより、タイムワープアルゴリズム（例えば、タイムワーピングサンプリングまたは再サンプリング）の適用後に高調波ラインの周波数が増加する。現在のフレーム（「このフレーム」としても示す）のこのスペクトルは、最後のフレームのスペクトルのおおよそのコピーであるが、周波数軸３９２（修正離散コサイン変換の周波数ビンを単位として表示）に沿って伸長されていることがはっきりと分かる。これはまた、過去のフレーム（「最後のフレーム」としても示す）を算術コーダのための（例えば、現在のフレーム（「このフレーム」とも示す）のスペクトル値の復号のための）のコンテキストとして使用した場合、異なる周波数ビンにおいて一致する部分音が生じることになるため、当該コンテキストは準最適となるということも意味することになる。
【０１０６】
図３ｃの上のグラフ３８０は、これ（例えば、コンテキスト依存型算術コーディングを用いたスペクトル値の符号化のビット需要）を、算術コーディング方式よりも通常効果が低いと考えられているハフマン符号化方式と比較して示している。準最適な過去のコンテキスト（例えば、図３ｃのグラフ３９０に表される、「最後のフレーム」のスペクトル値によって定義され得る）により、算術コーディング方式は、現在のフレームの部分音が過去のフレームにおいてエネルギーの低い領域に位置している場合、より多くのビットを消費しており、またその逆の場合も同じである。一方、図３ｃのグラフ３８０は、コンテキストが良好である場合（これは少なくとも基本波の部分音（fundamental partial tone）については当てはまる）、ビット分布は、ハフマン符号化と比較して低い（例えば、コンテキスト依存型算術コーディングを用いた場合）ことを示している。
【０１０７】
上記を要約すると、図３ｂのグラフ３７０は、相対ピッチコンターの時間変遷の例を示している。横軸３７２は時間を示し、縦軸３７４は、相対ピッチｐｒｅｌおよび相対周波数ｆｒｅｌの両方を示す。第１の曲線３７６は相対ピッチの時間変遷を示し、第２の曲線３７７は相対周波数の時間変遷を示す。相対ピッチは時間と共に減少し、相対周波数は時間と共に増加することが分かる。さらに、以前のフレーム（「最後のフレーム」としても示す）の時間延長３７８ａおよび現在のフレーム（「このフレーム」としても示す）の時間延長３７８ｂは、図３ｂのグラフ３７０において重複していないという点に留意されたい。しかしながら、一般的には、連続するオーディオフレームの時間延長３７８ａ、３７８ｂは、重複していてもよい。例えば、重複は約５０％であってもよい。
【０１０８】
次に図３ｃを参照すると、グラフ３９０は、２つの連続するフレームのＭＤＣＴスペクトルを示す点に注目されたい。横軸３９２は、周波数を修正離散コサイン変換の周波数ビンを単位として示す。縦軸３９４は、個々のスペクトルビンの相対的大きさ（デシベル単位）を示す。現在のフレーム（「このフレーム」）のスペクトルのスペクトルピークは、以前のフレーム（「最後のフレーム」）のスペクトルの対応するスペクトルピークに対して、周波数において（周波数依存的に）シフトされることが理解される。したがって、現在のフレームのスペクトルのスペクトルピークは以前のオーディオフレームのスペクトルのスペクトルピークと一致しない（周波数に関して）ので、現在のフレームのスペクトル値のコンテキストベースの符号化のためのコンテキストは、当該コンテキストが以前のオーディオフレームのスペクトル値の元のバージョンに基づくものである場合は、良好に適合されないことが分かっている。よって、スペクトル値のコンテキストベースの符号化のビットレート需要（必要されるビットレート）は、比較的高く、コンテキストベースでないハフマン符号化の場合には、さらに高くなり得る。このことは、図３ｃのグラフ３８０で理解される。同グラフにおいて、横軸は周波数（修正離散コサイン変換のビンを単位として）を示し、縦軸３８４はスペクトル値の符号化に必要とされるビット数を示す。
７．２．  解決法の検討
しかしながら、本発明による実施形態は、上述の問題に対する解決法を提供するものである。ピッチ変動情報を用いて、タイムワープ型修正離散コサイン変換コーダの連続スペクトル間（例えば、連続オーディオフレームのスペクトル間）の周波数伸長因子の近似値を導出することができることが分かっている。この伸長因子を用いて、過去のコンテキスを周波数軸に沿って伸長して、より良好なコンテキストを導出し、したがって１つの周波数ラインをコーディングするために必要なビット数を低減し、コーディング利得を向上させることができることが分かっている。
【０１０９】
この伸長因子が最後のフレームの平均周波数と現在のフレームの平均周波数との比率に近似している場合、良好な結果が得られることが分かっている。さらに、これは、ライン単位で、あるいは、算術コーダがｎ−タプルのラインを１つの項目としてコーディングする場合は、タプル単位で行われ得ることが分かっている。
【０１１０】
換言すれば、コンテキストの伸長は、ライン単位で（すなわち、修正離散コサイン変換の１つの周波数ビンずつ個別に）またはタプル単位で（すなわち、修正離散コサイン変換のタプルずつまたは複数のスペクトルビンの集合ずつ）行われるものであっってもよい。
【０１１１】
さらに、伸長因子の計算の分解能もまた、実施形態の要件によって異なり得る。
７．３  伸長因子の導出のための例
以下に、伸長因子を導出するためのいくつかの概念について詳細に説明する。参考文献［３］に記載されるタイムワープ型修正離散コサイン変換方法、および、その代わりに、本明細書に記載されるタイムワープ型修正離散コサイン変換方法は、いわゆる平滑なピッチコンターを中間情報として提供する。このような平滑化されたピッチコンター（例えば、配列「ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」のエントリまたは配列「ｎｅｗ＿ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」および「ｐａｓｔ＿ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」のエントリによって示され得る）は、いくつかの連続フレームにわたる相対ピッチの変遷の情報を含んでいるため、１つのフレーム内の各サンプルについて、相対ピッチの推定値が分かる。このサンプルの相対周波数は、単純に、この相対ピッチの逆数となる。
【０１１２】
例えば、以下の関係が成り立ち得る。
【０１１３】
【数１】
0005625076.tif 000002
【０１１４】
上記式中、ｐｒｅｌ［ｎ］は、所与の時間インデックスｎについての相対ピッチを示し、この相対ピッチは、短期間の相対ピッチであり得る（時間インデックスｎは、例えば、個別のサンプルを示し得る）。さらに、ｆｒｅｌ［ｎ］は、時間インデックスｎについての相対周波数を示し得ると共に、短期間の相対周波数値であり得る。
７．３．１  第１の代替案
そして、１つのフレームｋ（ｋは、フレームインデックス）にわたる平均相対周波数は、このフレームｋ内の全ての相対周波数の算術平均として示され得る。
【０１１５】
【数２】
0005625076.tif 000003
【０１１６】
上記式中、ｆｒｅｌ，ｍｅａｎ，ｋは、時間フレームインデックスｋを有するオーディオフレームにわたる平均相対周波数を示す。Ｎは、フレームインデックスｋを有するオーディオフレームについての時間領域サンプル数を示す。ｎは、オーディオフレームインデックスｋを有する現在のオーディオフレームの時間領域サンプルの時間領域サンプルインデックスｎ＝０〜ｎ＝Ｎ−１にわたって実行される変数である。ｆｒｅｌ［ｎ］は、時間領域サンプル時間インデックスｎを有する時間領域サンプルに対応付けられたローカル相対周波数値を示す。
【０１１７】
これより（すなわち、現在のオーディオフレームについてのｆｒｅｌ，ｍｅａｎ，ｋの計算および以前のオーディオフレームについてのｆｒｅｌ，ｍｅａｎ，ｋ−１の計算から）、現在のオーディオフレームｋの伸長因子ｓは以下のように導出することができる。
【０１１８】
【数３】
0005625076.tif 000004
【０１１９】
７．３．２  第２の代替案
以下に、伸長因子ｓの計算に関する別の代替案について説明する。伸長因子ｓのより簡単かつより正確な近似（例えば、第１の代替案と比較して）は、概して、相対ピッチがほぼ１であり、したがって、相対ピッチと相対周波数との関係がほぼ直線的であり、また相対ピッチを反転させて相対周波数を取得するステップを省略することができることと、平均相対ピッチを使用することとを考慮すればば、得ることができる。
【０１２０】
【数４】
0005625076.tif 000005
【０１２１】
上記式中、ｐｒｅｌ，ｍｅａｎ，ｋは、時間オーディオフレームインデックスｋを有するオーディオフレームについての平均相対ピッチを示す。Ｎは、時間オーディオフレームインデックスｋを有するオーディオフレームの時間領域サンプル数を示す。実行中の変数ｎは、０〜Ｎ−１の値をとり、これにより、現在のオーディオフレームの時間インデックスｎを有する時間領域サンプルにわたって実行される。ｐｒｅｌ［ｎ］は、時間領域インデックスｎを有する時間領域サンプルについての（ローカル）相対ピッチ値を示す。例えば、相対ピッチ値ｐｒｅｌ［ｎ］は、ワープコンター配列「ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」のエントリｗａｒｐ＿ｃｏｎｔｏｕｒ［ｎ］に等しくてもよい。
【０１２２】
この場合、時間フレームｋを有するオーディオフレームの伸長因子ｓは、以下のように近似することができる。
【０１２３】
【数５】
0005625076.tif 000006
【０１２４】
上記式中、ｐｒｅｌ，ｍｅａｎ，ｋ−１は、時間オーディオフレームインデックスｋ−１を有するオーディオフレームの平均ピッチ値を示し、変数ｐｒｅｌ，ｍｅａｎ，ｋは、時間オーディオフレームｋを有するオーディオフレームの平均相対ピッチ値を示す。
７．３．３  さらなる代替案
ただし、伸長因子ｓの計算または推定のために著しく異なる概念が使用され得るという点に留意されたい（ここで、伸長因子ｓは、典型的には、第１のオーディオフレームと次の第２のオーディオフレームとの間の基本周波数の変化も示している）。例えば、第１のオーディオフレームのスペクトルと次の第２のオーディオフレームのスペクトルを、パターン比較概念によって比較し、これにより、伸長因子を導出してもよい。しかしながら、上述のようなワープコンター情報を用いた周波数伸長因子ｓの計算は、特に計算効率が高いため好ましい選択肢であると思われる。
８．コンテキスト状態の決定に関する詳細
８．１．図４ａおよび図４ｂによる例
以下に、コンテキスト状態の決定に関する詳細について説明する。この目的で、ブロック模式図を図４ａに示すコンテキスト状態決定部４００の機能について説明する。
【０１２５】
コンテキスト状態決定部４００は、例えば、コンテキスト状態決定部１４０またはコンテキスト状態決定部１７０の代わりとなり得る。コンテキスト状態決定部に関する詳細に関してオーディオ信号復号器の場合について以下で説明するが、コンテキスト状態決定部４００は、オーディオ信号符号化器との関連においても使用することができる。
【０１２６】
コンテキスト状態決定部４００は、以前に復号されたスペクトル値または以前に符号化されたスペクトル値に関する情報４１０を受信するように構成されている。加えて、コンテキスト状態決定部４００は、タイムワープ情報またはタイムワープコンター情報４１２を受信する。タイムワープ情報またはタイムワープコンター情報４１２は、例えば、タイムワープ情報１２２に等しくてもよく、したがって、連続するオーディオフレーム間の基本周波数の変化を示し得る（少なくとも暗黙的に）。あるいは、タイムワープ情報またはタイムワープコンター情報４１２は、タイムワープ情報１８４と同等であってもよく、したがって、連続するフレーム間の基本周波数の変化を示し得る。しかし、タイムワープ情報／タイムワープコンター情報４１２は、代わりに、タイムワープコンター情報２２２またはタイムワープコンター情報２５８と同等であってもよい。一般に、タイムワープ情報／タイムワープコンター情報４１２は、連続するオーディオフレーム間の周波数変動を直接的にあるいは間接的に示し得るということができる。例えば、タイムワープ情報／タイムワープコンター情報２１２は、ワープコンターを示すことができ、したがって、配列「ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」のエントリを含むことができるか、あるいは時間コンターを示すことができ、したがって配列「ｔｉｍｅ＿ｃｏｎｔｏｕｒ［］」のエントリを含むことができる。
【０１２７】
コンテキスト状態決定部４００はコンテキスト状態値４２０を提供し、コンテキスト状態値４２０は、現在のフレームのスペクトル値の符号化または復号に使用されるコンテキストを示すと共に、現在のオーディオフレームのスペクトル値の符号化または復号の適切なマッピング規則を選択するためにコンテキストベースのスペクトル値符号化器またはコンテキストベースのスペクトル復号器によって使用され得る。コンテキスト状態値４２０は、例えば、コンテキスト状態情報１３４またはコンテキスト状態情報１６４と同等であってもよい。
【０１２８】
コンテキスト状態決定部４００は、例えば、配列ｑ［１］［］といった予備コンテキストメモリ構造４３２を提供するように構成された予備コンテキストメモリ構造提供部４３０を備える。例えば、予備コンテキストメモリ構造提供部４３０は、図２５および図２６によるアルゴリズムの機能を実行し、これにより、例えば、配列ｑ［１］［］のＮ／４個のエントリｑ［１］［ｉ］（ｉ＝０からｉ＝Ｍ／４−１の場合）の集合を提供するように構成され得る。
【０１２９】
一般的に、予備コンテキストメモリ構造提供部４３０は、エントリ周波数インデックスｉを有するエントリが、周波数インデックスｉを有する（１つの）スペクトル値または共通の周波数インデックスｉを有するスペクトル値の集合に基づくように、予備コンテキストメモリ構造４３２のエントリを提供するように構成され得る。しかしながら、予備コンテキストメモリ構造提供部４３０は、予備コンテキストメモリ構造４３２のエントリの周波数インデックスと、当該予備コンテキストメモリ構造４３２のエントリが基づいている１つ以上の符号化されたスペクトル値または復号されたスペクトル値の周波数インデックスとの間に、一定の周波数インデックス関係が存在するように、予備コンテキストメモリ構造４３２を提供するように構成されているのが好ましい。例えば、上記所定のインデックス関係は、予備コンテキストメモリ構造のエントリｑ［１］［ｉ］が時間領域−周波数領域変換部または周波数領域−時間領域変換部の周波数ビンインデックスｉ（またはｉ−ｃｏｎｓｔ（ｃｏｎｓｔは定数））を有する周波数ビンのスペクトル値に基づくようなものであってもよい。あるいは、予備コンテキストメモリ構造４３２のエントリｑ［１］［ｉ］は、時間領域−周波数領域変換部または周波数領域−時間領域変換部の周波数ビンインデックス２ｉ−１および２ｉを有する周波数ビンのスペクトル値（または周波数ビンインデックスのシフトされた領域）に基づいていてもよい。しかし、その代わりに、予備コンテキストメモリ構造４３２のインデックスｑ［１］［ｉ］は、時間領域−周波数領域変換部または周波数領域−時間領域変換部の周波数ビンインデックス４ｉ−３、４ｉ−２、４ｉ−１および４ｉを有する周波数ビンのスペクトル値（または周波数ビンインデックスのシフトされた領域）に基づいていてもよい。したがって、予備コンテキストメモリ構造４３２の各エントリは、予備コンテキストメモリ構造４３２の設定の基礎となる、オーディオフレームの所定の周波数インデックスのスペクトル値または所定の周波数インデックスのスペクトル値の集合に対応付けることができる。
【０１３０】
コンテキスト状態決定部４００はまた、タイムワープ情報／タイムワープコンター情報４１２を受信し、これに基づいて、周波数伸長因子情報４３６を提供するように構成された周波数伸長因子計算部４３４も備える。例えば、周波数伸長因子計算部４３４は、配列ｗａｒｐ＿ｃｏｎｔｏｕｒ［］のエントリから相対ピッチ情報ｐｒｅｌ［ｎ］（相対ピッチ情報ｐｒｅｌ［ｎ］は、例えば、配列ｗａｒｐ＿ｃｏｎｔｏｕｒ［］の対応するエントリと等しくてもよい）を導出するように構成され得る。さらに、周波数伸長因子計算部４３４は、上記の式のうち１つを適用して、２つの連続するオーディオフレームの相対ピッチ情報ｐｒｅｌから周波数伸長因子情報ｓを導出するように構成され得る。一般的に、周波数伸長因子計算部４３４は、周波数伸長因子情報（例えば、値ｓ、あるいは、同等に、値ｍ＿ＣｏｎｔｅｘｔＵｐｄａｔｅＲａｔｉｏ）を、周波数伸長因子情報が、以前に符号化または復号されたオーディオフレームと、現在のコンテキスト状態値４２０を使用して符号化または復号される現在のオーディオフレームとの間の基本周波数の変化を示すように、提供するよう構成され得る。
【０１３１】
コンテキスト状態決定部４００はまた、予備コンテキストメモリ構造４３２を受信し、これに基づいて、周波数スケーリングされたコンテキストメモリ構造を提供するように構成された周波数スケーリング済みコンテキストメモリ構造提供部も備える。例えば、周波数スケーリングされたコンテキストメモリ構造は、予備コンテキストメモリ構造４３２を示す配列の更新されたバージョンであり得る、配列ｑ［１］［］の更新されたバージョンによって表すことができる。
【０１３２】
周波数スケーリング済みコンテキストメモリ構造提供部は、周波数スケーリングされたコンテキストメモリ構造を周波数スケーリングを用いて予備コンテキストメモリ構造４３２から導出するように構成され得る。この周波数スケーリングにおいて、予備コンテキストメモリ構造４３２のエントリインデックスｉを有するエントリの値を、周波数スケーリングされたコンテキストメモリ構造４４０のエントリインデックスｊを有するエントリにコピーするかあるいはシフトさせてもよい（ここで、周波数インデックスｉは、周波数インデックスｊと異なっていてもよい）。例えば、予備コンテキストメモリ構造４３２の内容の周波数伸長が行われる場合、周波数スケーリングされたコンテキストメモリ構造４４０のエントリインデックスｊ１を有するエントリを、予備コンテキストメモリ構造４３２のエントリインデックスｉ１を有するエントリの値に設定し、周波数スケーリングされたコンテキストメモリ構造４４０のエントリインデックスｊ２を有するエントリを、予備コンテキストメモリ構造４３２のエントリインデックスｉ２を有するエントリの値に設定してもよいい（ここで、ｊ２はｉ２よりも大きく、ｊ１はｉ１よりも大きい）。対応する周波数インデックス（例えば、ｊ１とｉ１、またはｊ２とｉ２）間の比は、所定の値をとり得る（丸め誤差の場合を除く）。同様に、予備コンテキストメモリ構造４３２によって示される内容の周波数圧縮が周波数スケーリング済みコンテキストメモリ構造提供部４３８によって実行される予定である場合、周波数スケーリングされたコンテキストメモリ構造４４０のエントリインデックスｊ３を有するエントリを、予備コンテキストメモリ構造４３２のエントリインデックスｉ３を有するエントリの値に設定し、周波数スケーリングされたコンテキストメモリ構造４４０のエントリインデックスｊ４を有するエントリを、予備コンテキストメモリ構造４３２のエントリインデックスｉ４を有するエントリの値に設定してもよい。この場合、エントリインデックスｊ３は、エントリインデックスｉ３よりも小さく、エントリインデックスｊ４は、エントリインデックスｉ４よりも小さくてもよい。さらに、対応するエントリインデックス間（例えば、エントリインデックスｊ３とｉ３との間、またはエントリインデックスｊ４とｉ４との間）の比は、一定であってもよく（丸め誤差の場合を除く）、また、周波数伸長因子情報４３６によって決定されてもよい。周波数スケーリング済みコンテキストメモリ構造提供部４４０の動作のさらなる詳細については後述する。
【０１３３】
コンテキスト状態決定部４００はまた、周波数スケーリングされたコンテキストメモリ構造４４０に基づいてコンテキスト状態値４２０を提供するように構成されたコンテキスト状態値提供部４４２も備える。例えば、コンテキスト状態値提供部４４２は、周波数インデックスｌ０を有するスペクトル値の復号のためのコンテキストを示すコンテキスト状態値４２０を、周波数スケーリングされたコンテキストメモリ構造４４０のエントリ（当該エントリの周波数インデックスは周波数インデックスｌ０と所定の関係にある）に基づいて提供するように構成され得る。例えば、コンテキスト状態値提供部４４２は、周波数インデックスｌ０を有するスペクトル値（またはスペクトル値のタプル）の復号のためのコンテキスト状態値４２０を、周波数スケーリングされたコンテキストメモリ構造４４０の周波数インデックスｌ０−１、ｌ０およびｌ０＋１を有するエントリに基づいて提供するように構成され得る。
【０１３４】
したがって、コンテキスト状態決定部４００は、周波数インデックスｌ０を有するスペクトル値（またはスペクトル値のタプル）の復号のためのコンテキスト状態値４２０を、周波数スケーリング済みコンテキストメモリ構造提供部４３８によって周波数伸長が行なわれる場合には、予備コンテキストメモリ構造４３２のｌ０−１よりも小さい周波数インデックス、ｌ０よりも小さい周波数インデックスおよびｌ０＋１よりも小さい周波数インデックスをそれぞれ有するエントリに基づいて、そして、周波数スケーリング済みコンテキストメモリ構造提供部４３８によって周波数圧縮が行われる場合には、予備コンテキストメモリ構造４３２のｌ０−１よりも大きい周波数インデックス、ｌ０よりも大きい周波数インデックスおよびｌ０＋１よりも大きい周波数インデックスをそれぞれ有するエントリに基づいて、有効に提供し得る。
【０１３５】
このように、コンテキスト状態決定部４００は、周波数伸長因子４３６に応じて周波数スケーリングされた（したがって基本周波数の経時変動を示す）、予備コンテキストメモリ構造４３２の周波数スケーリングされたバージョンである周波数スケーリングされたコンテキストメモリ構造に基づいてコンテキスト状態値４２０を提供することにより、連続するフレーム間の基本周波数の変化に適合させてコンテキストの決定を行うように構成されている。
【０１３６】
図４ｂは、本発明の一実施形態によるコンテキスト状態の決定のグラフ表現を示す。図４ｂは、予備コンテキストメモリ構造提供部４３０によって提供される予備コンテキストメモリ構造４３２のエントリの概略表現を参照符号４５０において示す。例えば、周波数インデックスｉ１＋１を有するエントリ４５０ａ、周波数インデックスｉ２＋２を有するエントリ４５０ｂおよびエントリ４５０ｃが表示されている。しかしながら、参照符号４５２において示す周波数スケーリングされたコンテキストメモリ構造４４０を提供する際、周波数インデックスｉ１を有するエントリ４５２ａは、周波数インデックスｉ１＋１を有するエントリ４５０ａの値をとるように設定され、周波数インデックスｉ２−１を有するエントリ４５２ｃは、周波数インデックスｉ２＋２を有するエントリ４５０ｃの値をとるように設定される。同様に、周波数スケーリングされたコンテキストメモリ構造４４０のその他のエントリは、予備コンテキストメモリ構造４３０のエントリに応じて設定することができ、一般的には、周波数圧縮の場合、予備コンテキストメモリ構造のエントリのいくつかは破棄され、また、一般的には、周波数伸長の場合、予備コンテキストメモリ構造４３２のエントリのいくつかは、周波数スケーリングされたコンテキストメモリ構造４４０の２つ以上のエントリにコピーされる。
【０１３７】
さらに、図４ｂは、時間インデックスｋを有するオーディオフレームのスペクトル値の復号のためのコンテキスト状態が周波数スケーリングされたコンテキストメモリ構造４４０のエントリ（参照符号４５２で示される）に基づいてどのように決定されるかを示している。例えば、時間インデックスｋを有するオーディオフレームの周波数インデックスｉ１を有するスペクトル値（またはスペクトル値のタプル）の復号のためのコンテキスト状態（例えば、コンテキスト状態値４２０によって表される）を決定する際、時間インデックスｋを有するオーディオフレームの周波数インデックスｉ１−１を有するコンテキスト値および時間インデックスｋ−１と周波数インデックスｉ１−１、ｉ１、ｉ１＋１とを有するオーディオフレームの周波数スケーリングされたコンテキストメモリ構造のエントリが評価される。したがって、時間インデックスｋ−１と周波数インデックスｉ１−１、ｉ１＋１、ｉ１＋２とを有するオーディオフレームの予備コンテキストメモリ構造のエントリが、時間インデックスｋと周波数インデックスｉ１とを有するオーディオフレームのスペクトル値（またはスペクトル値のタプル）の復号のためのコンテキストを決定するために有効に評価される。したがって、コンテキスト状態の決定に使用されるスペクトル値の環境が、予備コンテキストメモリ構造（またはその内容）の周波数伸長または周波数圧縮によって有効に変更される。
８．２．図４ｃによる実施例
以下に、タプル単位の処理を示す図４ｃを参照して、４−タプルを用いた算術コーダのコンテキストのマッピングの例について説明する。
【０１３８】
図４ｃは、周波数スケーリングされたコンテキストメモリ構造（例えば、周波数スケーリングされたコンテキストメモリ構造４４０）を予備コンテキストメモリ構造（例えば、予備コンテキストメモリ構造４３２）に基づいて取得するためのアルゴリズムの疑似プログラムコード表現を示す。
【０１３９】
図４ｃによるアルゴリズム４６０は、予備コンテキストメモリ構造４３２が配列「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ」に格納されると仮定する。さらに、アルゴリズム４６０は、周波数伸長因子情報４３６が変数「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ＣｏｎｔｅｘｔＵｐｄａｔｅＲａｔｉｏ」に格納されると仮定する。
【０１４０】
第１のステップ４６０ａにおいて、変数の数を初期化する。具体的には、ターゲットタプルインデックス変数「ｎＬｉｎＴｕｐｌｅＩｄｘ」およびソースタプルインデックス変数「ｎＷａｒｐＴｕｐｌｅＩｄｘ」を０に初期化する。さらに、リオーダバッファ配列「Ｔｑｉ４」を初期化する。
【０１４１】
ステップ４６０ｂにおいて、予備コンテキストメモリ構造「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ」のエントリをリオーダバッファ配列にコピーする。
【０１４２】
続いて、ターゲットタプルインデックス変数およびソースタプルインデックス変数の両方がタプルの最大数を示す変数ｎＴｕｐｌｅｓよりも小さければ、コピーアルゴリズム４６０ｃを繰り返す。
【０１４３】
ステップ４６０ｃａにおいて、（タプル）周波数インデックスがソースタプルインデックス変数（第１のインデックス定数「ｆｉｒｓｔＩｄｘ」との組み合わせた）の現在の値によって決定される、リオーダバッファの４つのエントリを、周波数インデックスがターゲットタプルインデックス変数（ｎＬｉｎＴｕｐｌｅＩｄｘ）（第１のインデックス定数「ｆｉｒｓｔＩｄｘ」と組み合わせた）によって決定される、コンテキストメモリ構造（ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［］［］）のエントリにコピーする。
【０１４４】
ステップ４６０ｃｂにおいて、ターゲットタプルインデックス変数を１だけインクリメントする。
【０１４５】
ステップ４６０ｃｃにおいて、ソースタプルインデックス変数を、ターゲットタプルインデックス変数（ｎＬｉｎＴｕｐｌｅＩｄｘ）の現在の値と、最も近い整数値に丸めた周波数伸長因子情報（ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ＣｏｎｔｅｘｔＵｐｄａｔｅＲａｔｉｏ）との積である値に設定する。したがって、ソースタプルインデックス変数の値は、周波数伸長因子の変数が１よりも大きい場合はターゲットタプルインデックス変数の値よりも大きくなり、周波数伸長因子の変数が１よりも小さい場合はターゲットタプルインデックス変数よりも小さくなり得る。
【０１４６】
したがって、ソースタプル変数の値は、（ターゲットタプルインデックス変数の値およびソースタプル変数の値の両方が定数ｎＴｕｐｌｅｓよりも小さければ、）ターゲットタプルインデックス変数の各値に対応付けられる。ステップ４６０ｃｂおよび４６０ｃｃの実行に続いて、ステップ４６０ｃａにおいて、ソースタプルとターゲットタプルとの更新された対応付けを用いて、リオーダバッファからコンテキストメモリ構造へのエントリのコピーを繰り返す。
【０１４７】
このように、図４ｃによるアルゴリズム４６０は、周波数スケーリング済みコンテキストメモリ構造提供部４３０ａの機能を果たし、予備コンテキストメモリ構造は、配列「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ」の初期のエントリによって表され、周波数スケーリングされたコンテキストメモリ構造４４０は、配列「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ」の更新されたエントリによって表される。
８．３．図４ｄおよび図４ｅによる実施例
以下に、ライン単位の処理を示す図４ｃを参照して、４−タプルを用いた算術コーダのコンテキストのマッピングの例について説明する。
【０１４８】
図４ｄおよび図４ｅは、コンテキストの周波数スケーリング（すなわち、周波数伸長または周波数圧縮）を行うためのアルゴリズムの疑似プログラムコード表現を示す。
【０１４９】
図４ｄおよび図４ｅによるアルゴリズム４７０は、配列「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［］［］」（または少なくとも当該配列への参照）および周波数伸長因子情報「ｓｅｌｆ  ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ＣｏｎｔｅｘｔＵｐｄａｔｅＲａｔｉｏ」を入力情報として受け取る。さらに、アルゴリズム４７０は、アクティブなラインの数を示す変数「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ＩｃｓＩｎｆｏ−＞ｍ＿ＳｃａｌｅＦａｃｔｏｒＢａｎｄｓＴｒａｎｓｍｉｔｔｅｄ」を入力情報として受け取る。さらに、アルゴリズム４７０は、配列ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［］［］を、当該配列のエントリが周波数スケーリングされたコンテキストメモリ構造を表すように修正する。
【０１５０】
アルゴリズム４７０は、ステップ４７０ａにおいて、複数の変数の初期化を含む。具体的には、ターゲットラインインデックス変数（ｌｉｎＬｉｎｅＩｄｘ）およびソースラインインデックス変数（ｗａｒｐＬｉｎｅＩｄｘ）を０に初期化する。
【０１５１】
ステップ４７０ｂにおいて、アクティブなタプルの数およびアクティブなラインの数を計算する。
【０１５２】
以下では、異なるコンテキストインデックス（変数「ｃｏｎｔｅｘｔＩｄｘ」によって示される）コンテキストの２つの集合が処理される。しかしながら、他の実施形態においては、１つのコンテキストを処理するだけで十分である。
【０１５３】
ステップ４７０ｃにおいて、ライン時間バッファ配列「ｌｉｎｅＴｍｐＢｕｆ」およびラインリオーダバッファ配列「ｌｉｎｅＲｅｏｒｄｅｒＢｕｆ」を０個のエントリに初期化する。
【０１５４】
ステップ４７０ｄにおいて、スペクトル値の複数のタプルの異なる周波数ビンに対応付けられた予備コンテキストメモリ構造のエントリをラインリオーダバッファ配列にコピーする。したがって、連続する周波数インデックスを有するラインリオーダバッファ配列のエントリを、異なる周波数ビンに対応付けられた予備コンテキストメモリ構造のエントリに設定する。換言すれば、予備コンテキストメモリ構造は、スペクトル値の１タプルにつき１つのエントリ「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ＣｕｒＴｕｐｌｅ］［ｃｏｎｔｅｘｔＩｄｘ］」を含み、スペクトル値のタプルに対応付けられたエントリは、個々のスペクトルライン（またはスペクトルビン）に対応付けられたサブエントリａ、ｂ、ｃ、ｄを含む。ステップ４７０ｄにおいて、サブエントリａ，ｂ，ｃ，ｄのそれぞれをラインリオーダバッファ配列「ｌｉｎｅＲｅｏｒｄｅｒＢｕｆ［］」の１つのエントリにコピーする。
【０１５５】
その結果、ステップ４７０ｅにおいて、ラインリオーダバッファ配列の内容は、ライン時間バッファ配列「ｌｉｎｅＴｍｐＢｕｆ［］」にコピーされる。
【０１５６】
続いて、ステップ４７０ｆにおいて、ターゲットラインインデックス変数およびソースラインインデックス変数を、０の値をとるように初期化する。
【０１５７】
続いて、ステップ４７０ｇにおいて、ラインリオーダバッファ配列のエントリ「ｌｉｎｅＲｅｏｒｄｅｒＢｕｆ［ｗａｒｐＬｉｎｅＩｄｘ］」を、ターゲットラインインデックス変数「ｌｉｎＬｉｎｅＩｄｘ」の複数の値についてのライン時間バッファ配列にコピーする。ステップ４７０ｇは、ターゲットラインインデックス変数およびソースラインインデックス変数の両方が、アクティブな（ゼロでない）スペクトルラインの合計数を示す変数「ａｃｔｉｖｅＬｉｎｅｓ」よりも小さければ繰り返される。ターゲットラインインデックス変数「ｌｉｎＬｉｎｅＩｄｘ」の現在の値によって示されるライン時間バッファ配列のエントリを、ソースラインインデックス変数の現在の値によって示されるラインリオーダバッファ配列の値に設定する。続いて、ターゲットラインインデックス変数を１だけインクリメントする。ソースラインインデックス変数「ｗａｒｐＬｉｎｅＩｄｘ」を、ターゲットラインインデックス変数の現在の値と周波数伸長因子情報（変数「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ＣｏｎｔｅｘｔＵｐｄａｔｅＲａｔｉｏ」によって表される）との積によって決定される値に設定する。
【０１５８】
ターゲットラインインデックス変数およびソースラインインデックス変数の更新の後、ターゲットラインインデックス変数およびソースラインインデックス変数の両方が変数「ａｃｔｉｖｅＬｉｎｅｓ」の値よりも小さければ、ステップ４７０ｇを繰り返す。
【０１５９】
したがって、予備コンテキストメモリ構造のコンテキストエントリは、タプル単位ではなく、ライン単位で周波数スケーリングされる。
【０１６０】
最後のステップ４７０ｈにおいて、ライン時間バッファ配列のライン単位のエントリに基づいてタプル表現を復元する。コンテキストのタプル表現「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｃｕｒＴｕｐｌｅ］［ｃｏｎｔｅｘｔＩｄｘ］」のエントリａ、ｂ、ｃ、ｄを、ライン時間バッファ配列の「ｌｉｎｅＴｍｐＢｕｆ［（ｃｕｒＴｕｐｌｅ−１）＊４＋０］」から「ｌｉｎｅＴｍｐＢｕｆ［（ｃｕｒＴｕｐｌｅ−１）＊４＋３］」までの（周波数において隣接している）４つのエントリに応じて設定する。加えて、タプルエネルギフィールド「ｅ」を、任意には、それぞれのタプルに対応付けられたスペクトル値のエネルギを表すように設定する。さらに、当該タプルに対応付けられたスペクトル値の大きさが比較的小さい場合は、任意には、タプル表現の追加のフィールド「ｖ」を設定する。
【０１６１】
ただし、ステップ４７０ｈにおいて行われる新たなタプルの計算に関する詳細は、コンテキストの実際の表現に強く依存し、したがって大きく変化し得るという点に留意されたい。しかしながら、タプルベースの表現は、ステップ４７０ｈにおいて周波数スケーリングされたコンテキストの個別ラインベースの表現に基づいて得られると概して言うことができる。
【０１６２】
要約すると、アルゴリズム４７０によれば、タプル単位のコンテキスト表現（配列「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｃｕｒＴｕｐｌｅ］［ｃｏｎｔｅｘｔＩｄｘ］」のエントリ）を、まず、周波数ライン単位のコンテキスト表現（または周波数ビン単位のコンテキスト表現）（ステップ４７０ｄ）に分割する。続いて、周波数スケーリングをライン単位で（ステップ４７０ｇ）に実行する。最後に、ライン単位で周波数スケーリングされた情報に基づいて、コンテキストのタプル単位の表現（配列「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［ｃｕｒＴｕｐｌｅ］［ｃｏｎｔｅｘｔＩｄｘ］」の更新されたエントリ）を復元する（ステップ４７０ｈ）。
９．周波数領域−時間領域復号アルゴリズムの詳細な説明
９．１．概要
以下に、本発明の一実施形態によるオーディオ復号器によって実行されるアルゴリズムのいくつかについて詳細に説明する。この目的で、図５ａ、図５ｂ、図６ａ、図６ｂ、図７ａ、図７ｂ、図８、図９、図１０ａ、図１０ｂ、図１１、図１２、図１３、図１４、図１５および図１６を参照されたい。
【０１６３】
まず、データ要素の定義の凡例およびヘルプ要素の定義の凡例を示す図７ａを参照されたい。さらに、定数の定義の凡例を示す図７ｂを参照されたい。
【０１６４】
一般的に、本明細書で記載される方法は、タイムワープ型修正離散コサイン変換に従って符号化されたオーディオストリームの復号に用いることができると言うことができる。したがって、ＴＷ−ＭＤＣＴをオーディオストリーム（例えば、特定の設定情報に含まれ得る「ｔｗＭＤＣＴ」フラグというフラグによって示され得る）に対して有効にする場合、オーディオ復号器において標準的なフィルタバンクおよびブロック切り替えをタイムワープ型フィルタバンクおよびブロック切り替えで置き換えることができる。逆修正離散コサイン変換（ＩＭＣＴ）に加えて、タイムワープ型フィルタバンクおよびブロック切り替えは、任意の間隔で配置された時間グリッドから通常の規則的な間隔または直線的間隔で配置された時間グリッドへの時間領域−時間領域マッピングし、それに合わせてウィンドウ形状を適合することで実行される。
【０１６５】
ここで、本明細書に記載される復号アルゴリズムは、例えば、スペクトルの符号化された表現に基づいて、また、符号化されたタイムワープ情報１８４、２５２に基づいてタイムワーピング周波数領域−時間領域変換部１８０によって実行され得るという点に留意されたい。
９．２．定義
データ要素、ヘルプ要素および定数の定義に関しては、図７ａおよび図７ｂを参照されたい。
９．３．復号処理−ワープコンター
ワープコンターノードのコードブックインデックスは、個々のノードの値をワーピングするために以下の様に復号される。
【０１６６】
【数６】
0005625076.tif 000007
【０１６７】
しかしながら、本明細書において「ｗａｒｐ＿ｖａｌｕｅ＿ｔｂｌ［ｔｗ＿ｒａｔｉｏ［ｋ］］」として示す復号されたタイムワープ値へのタイムワープコードワード「ｔｗ＿ｒａｔｉｏ［ｋ］」のマッピングは、任意には、本発明による実施形態におけるサンプリング周波数に依存し得る。したがって、本発明によるいくつかの実施形態においては単一のマッピングテーブルが存在するのではなく、異なるサンプリング周波数についての個別のマッピングテーブルが存在する。
【０１６８】
サンプル単位の（ｎ＿ｌｏｎｇ  ｓａｍｐｌｅｓ）新たなワープコンターデータ「ｎｅｗ＿ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」を取得するために、疑似プログラムコード表現を図９に示すアルゴリズムを用いて、ワープノード値「ｗａｒｐ＿ｎｏｄｅ＿ｖａｌｕｅｓ［］」を等間隔（ｉｎｔｅｒｐ＿ｄｉｓｔ  ａｐａｒｔ）ノード間で直線補間する。
【０１６９】
このフレームの（例えば、現在のフレームの）完全なワープコンターを取得する前に、過去のワープコンター「ｐａｓｔ＿ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」の最後のワープ値が１に等しくなるように、過去のバッファリングされた値を再スケーリングしてもよい。
【０１７０】
【数７】
0005625076.tif 000008
【０１７１】
過去のワープコンター「ｐａｓｔ＿ｗａｒｐ＿ｃｏｎｔｏｕｒ」と新たなワープコンター「ｎｅｗ＿ｗａｒｐ＿ｃｏｎｔｏｕｒ」とを連結することにより、完全なワープコンター「ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」を取得し、新たなワープ合計値「ｎｅｗ＿ｗａｒｐ＿ｓｕｍ」を新たなワープコンター値「ｎｅｗ＿ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」の全体の合計値として計算する。
【０１７２】
【数８】
0005625076.tif 000009
【０１７３】
９．４．復号処理−サンプル位置およびウィンドウ長調整
ワープコンター「ｗａｒｐ＿ｃｏｎｔｏｕｒ［］」から、線形時間スケールでのワープされたサンプルのサンプル位置のベクトルを計算する。このために、以下の式に従ってタイムワープコンターを生成する。
【０１７４】
【数９】
0005625076.tif 000010
【０１７５】
疑似プログラムコード表現をそれぞれ図１０ａおよび図１０ｂに示すヘルパー関数「ｗａｒｐ＿ｉｎｖ＿ｖｅｃ（）」および「ｗａｒｐ＿ｔｉｍｅ＿ｉｎｖ（）」を用い、疑似プログラムコード表現を図１１に示すアルゴリズムに従って、サンプル位置ベクトルおよび遷移長を計算する。
９．５．復号処理−逆修正離散コサイン変換（ＩＭＤＣＴ）
以下に、逆修正離散コサイン変換について簡単に説明する。
【０１７６】
逆修正離散コサイン変換の解析方程式は以下の通りである。
【０１７７】
【数１０】
0005625076.tif 000011
【０１７８】
逆変換のための合成ウィンドウ長は、構文要素「ｗｉｎｄｏｗ＿ｓｅｑｕｅｎｃｅ」（ビットストリームに含められ得る）およびアルゴリズムコンテキストの関数である。合成ウィンドウ長は、例えば、図１２のテーブルに従って定義することができる。
【０１７９】
図１３のテーブルにおいて、有意なブロック遷移を示す。所与のテーブルセルのチェックマークは、この特定の行に示されるウィンドウシーケンスの後に、この特定の列に示されるウィンドウシーケンスが続き得ることを示している。
【０１８０】
許可されたウィンドウシーケンスに関し、オーディオ復号器は、例えば、異なる長さのウィンドウ間で切り替えられ得るという点に留意されたい。しかしながら、ウィンドウ長の切り替えは、本発明にとって特に重要ではない。むしろ、本発明は、タイプ「ｏｎｌｙ＿ｌｏｎｇ＿ｓｅｑｕｅｎｃｅ」のウィンドウのシーケンスが存在し、コアコーダフレーム長は１０２４に等しいというという仮定に基づいて理解することができる。
【０１８１】
さらに、オーディオ信号復号器は、周波数領域コーディングモードと時間領域コーディングモードとの間で切り替えられ得るという点に留意されたい。しかしながら、この可能性は本発明にとって特に重要ではない。むしろ、本発明は、例えば、図１ｂおよび図２ｂを参照して述べたような、周波数領域コーディングモードのみを処理することができるオーディオ信号復号器において適用可能である。
９．６．復号処理−ウィンドウ処理およびブロック切り替え
以下に、タイムワーピング周波数領域−時間領域変換部１８０により、具体的には、そのウィンドウ処理部１８０ｇにより実行され得るウィンドウ処理およびブロック切り替えについて説明する。
【０１８２】
「ｗｉｎｄｏｗ＿ｓｈａｐｅ」要素（オーディオ信号を表すビットストリームに含められ得る）によっては、異なるオーバーサンプリングされた変換ウィンドウプロトタイプが使用され、オーバーサンプリングされたウィンドウの長さは、以下の通りである。
【０１８３】
【数１１】
0005625076.tif 000012
【０１８４】
ｗｉｎｄｏｗ＿ｓｈａｐｅ＝＝１の場合、ウィンドウ係数は、カイザー−ベッセル派生（ＫＢＤ）ウィンドウによって以下のように得られる。
【０１８５】
【数１２】
0005625076.tif 000013
【０１８６】
式中
W'，カイザー−ベッセル核関数は、以下のように定義される。
【０１８７】
【数１３】
0005625076.tif 000014
【０１８８】
一方、ｗｉｎｄｏｗ＿ｓｈａｐｅ＝＝０の場合、以下のように正弦ウィンドウを使用する。
【０１８９】
【数１４】
0005625076.tif 000015
【０１９０】
あらゆる種類のウィンドウシーケンスについて、左ウィンドウ部分の上記使用プロトタイプは、以前のブロックのウィンドウ形状によって決定される。以下の式がこのことを表している。
【０１９１】
【数１５】
0005625076.tif 000016
【０１９２】
同様に、右ウィンドウ形状のプロトタイプは、以下の式によって求められる。
【０１９３】
【数１６】
0005625076.tif 000017
【０１９４】
遷移長は既に求められているため、タイプ「ＥＩＧＨＴ＿ＳＨＯＲＴ＿ＳＥＱＵＥＮＣＥ」のウィンドウシーケンスと他の全てのウィンドウシーケンスとを区別するだけでよい。
【０１９５】
現在のフレームがタイプ「ＥＩＧＨＴ＿ＳＨＯＲＴ＿ＳＥＱＵＥＮＣＥ」である場合、ウィンドウ処理及び内部（フレーム内）重複加算を実行する。図１４のＣコードに似た部分は、ウィンドウタイプ「ＥＩＧＨＴ＿ＳＨＯＲＴ＿ＳＥＱＵＥＮＣＥ」を有するフレームのウィンドウ処理および内部重複加算を示している。
【０１９６】
その他のタイプのフレームについては、図１５に疑似プログラムコード表現を示すアルゴリズムが使用され得る。
９．７．復号処理−時変再サンプリング
以下に、タイムワーピング周波数領域−時間領域変換部１８０により、具体的には、その再サンプリング部１８０ｉにより実行され得る時変再サンプリングについて説明する。
【０１９７】
ウィンドウ処理されたブロックｚ［］を、サンプル位置（復号されたタイムワープコンター情報２５８に基づいてサンプリング位置計算部１８０ｌにより提供される）に応じて、以下のインパルス応答を用いて再サンプリングする。
【０１９８】
【数１７】
0005625076.tif 000018
【０１９９】
再サンプリングの前に、ウィンドウ処理されたブロックの両端を０でパディングする。
【０２００】
【数１８】
0005625076.tif 000019
【０２０１】
再サンプリング自体は、図１６の疑似プログラムコードのセクションに示されている。
９．８．復号処理−以前のウィンドウシーケンスによる重複加算
タイムワーピング周波数領域−時間領域変換部１８０の重複器／加算器１８０ｍによって実行される重複加算は、全てのシーケンスについて同様であり、以下のように数学的に記述することができる。
【０２０２】
【数１９】
0005625076.tif 000020
【０２０３】
９．９．復号処理−メモリ更新
以下に、メモリ更新について説明する。図２ｂでは特定の手段は示されていないが、メモリ更新はタイムワーピング周波数領域−時間領域変換部１８０によって実行され得るという点に留意されたい。
【０２０４】
次のフレームの復号に必要なメモリバッファは、以下のように更新する。
【０２０５】
【数２０】
0005625076.tif 000021
【０２０６】
最初のフレームを復号する前に、あるいは、最後のフレームが光学ＬＰＣ領域コーダによって符号化された場合、メモリ状態を以下のように設定する。
【０２０７】
【数２１】
0005625076.tif 000022
【０２０８】
９．１０．復号処理−結論
上記を要約すると、タイムワーピング周波数領域−時間領域変換部１８０によって実行され得る復号処理について説明した。例えば、２０４８個の時間領域サンプルからなるオーディオフレームについての時間領域表現が提供され、連続するオーディオフレームは、例えば、約５０％重複し得るため、連続するオーディオフレームの時間領域表現間の平滑な遷移が確実に実現されることが理解される。
【０２０９】
オーディオフレームの時間領域サンプルの実際のサンプリング周波数に関係なく、例えば、ＮＵＭ＿ＴＷ＿ＮＯＤＥＳ＝１６の復号されたタイムワープ値の集合をオーディオフレームのそれぞれに対応付けることができる（ただし、タイムワープが当該オーディオフレームにおいてアクティブである場合に限る）。
１０．スペクトル・ノイズレス・コーディング
以下に、コンテキスト状態決定部１７０と組み合わせたコンテキストベースのスペクトル値復号部１６０によって実行され得るスペクトル・ノイズレス・コーディングに関するいくつかの詳細について説明する。尚、対応する符号化は、コンテキスト状態決定部１４０と組み合わせたコンテキストスペクトル値符号化器によって実行することができ、当業者であれば、復号ステップの詳細な記述から各符号化ステップを理解するであろう。
１０．１．スペクトル・ノイズレス・コーディング−ツールの説明
スペクトル・ノイズレス・コーディングは、量子化されたスペクトルの冗長性をさらに低減するために用いられる。スペクトル・ノイズレス・コーディング方式は、動的に適合されたコンテキストと併用した算術コーディングに基づいている。後述するスペクトル・ノイズレス・コーディング方式は、２−タプルに基づいている。すなわち、２つの隣接スペクトル係数が組み合わされる。２−タプルは、それぞれ、符号、最上位２ビット単位プレーン、および残りの下位ビットプレーンに分割される。最上位２ビット単位プレーンｍのためのノイズレスコーディングは、４つの以前に復号された２−タプルから導出されるコンテキスト依存の累積度数テーブルを用いる。ノイズレスコーディングは、量子化されたスペクトル値によって供給され、また、４つの以前に復号された隣接２−タプルから導出される（例えば、これに応じて選択される）コンテキスト依存の累積度数テーブルを用いる。ここでは、状態計算のためのコンテキストのグラフ表現を示す図１６に示すように、時間および周波数の両方における隣接が考慮される。累積度数テーブルは、可変長２進コードを生成するために算術コーダ（符号化部または復号部）によって用いられる。
【０２１０】
ただし、コンテキストの異なるサイズが選択され得る点に留意されたい。例えば、復号すべきタプルの環境にある少数または多数のタプルをコンテキストの決定に使用することができる。また、タプルは、少数または多数のスペクトル値を含み得る。あるいは、タプルではなく、個々のスペクトル値を用いてコンテキストを取得してもよい。
【０２１１】
算術コーダは、記号の所与の集合およびそのそれぞれの確率について２進コードを生成する。２進コードは、記号の集合が位置する確率間隔をコードワードにマッピングすることによって生成される。
１０．２  スペクトル・ノイズレス・コーディング−定義
変数、定数等の定義については、定義の凡例を示す図１８を参照されたい。
１０．３  復号処理
量子化されたスペクトル係数「ｘ＿ａｃ＿ｄｅｃ［］」を、最も低い周波数係数から開始して、最も高い周波数係数へとノイズレス復号する。これらは、例えば、いわゆる２−タプル（ａ，ｂ）において集合する２つの連続する係数ａおよびｂのグループによって復号される。
【０２１２】
次いで、周波数領域モードの（上記のような）復号された係数ｘ＿ａｃ＿ｄｅｃ［］を、配列「ｘ＿ａｃ＿ｑｕａｎｔ［ｇ］［ｗｉｎ］［ｓｆｂ］［ｂｉｎ］」に格納する。ノイズレス・コーディング・コードワードの送信の順序は、これらが受信され、配列に格納された順に復号される場合、ｂｉｎが増加の最も早いインデックスであり、ｇが増加の最も遅いインデックスであるような順序である。１つのコードワード内では、復号の順序はａ、そしてｂの順である。
【０２１３】
任意には、変換符号化励起モードのための係数も評価することができる。上記の例は周波数領域オーディオ符号化および周波数領域オーディオ復号にのみ関連しているが、本明細書において開示される概念は、変換符号化励起領域で動作するオーディオ符号化器およびオーディオ復号器に実際に用いられ得る。変換符号化励起（transform coded excitation）（ＴＣＸ）のための復号された係数ｘ＿ａｃ＿ｄｅｃ［］は、例えば、配列ｘ＿ｔｃｘ＿ｉｎｖｑｕａｎｔ［ｗｉｎ］［ｂｉｎ］に直接格納され、ノイズレス・コーディング・コードワードの送信の順序は、これらが受信され、配列ｂｉｎに格納された順に復号される場合、ｂｉｎが増加の最も早いインデックスであり、ｗｉｎが増加の最も遅いインデックスであるような順序である。１つのコードワード内では、復号の順序はａ、そしてｂの順である。
【０２１４】
まず、（任意の）フラグ「ａｒｉｔｈ＿ｒｅｓｅｔ＿ｆｌａｇ」は、コンテキストをリセットしなければならない（したほうがよいか）か否かを判定する。フラグがＴＲＵＥである場合、初期化を実行する。
【０２１５】
復号処理は初期化段階から開始され、初期化段階では、配列（またはサブ配列）ｑ［１］［］に格納された以前のフレームのコンテキスト要素を「ｑ［０］［］」にコピーおよびマッピングすることによりコンテキスト要素ベクトルｑを更新する。ｑ内のコンテキスト要素は、例えば、１つの２−タプルにつき４ビット格納される。初期化に関する詳細については、図１９に疑似プログラムコード表現を示すアルゴリズムを参照されたい。
【０２１６】
図１９のアルゴリズムに従って実行され得る初期化に続き、上述したコンテキストの周波数スケーリングを実行してもよい。例えば、配列（またはサブ配列）ｑ［０］［］を予備コンテキストメモリ構造４３２として考慮してもよい（あるいは、次元ならびにエントリｅおよびｖに関する詳細を除き、配列ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［］［］と同等であってもよい）。さらに、周波数スケーリングされたコンテキストを配列ｑ［０］［］（または配列「ｓｅｌｆ−＞ｂａｓｅ．ｍ＿ｑｂｕｆ［］［］」）に再び格納してもよい。しかし、その代わりに、またはそれに加えて、配列（またはサブ配列）ｑ［１］［］の内容を装置４３８によって周波数スケーリングしてもよい。
【０２１７】
要約すると、ノイズレス復号部は、符号無しの量子化されたスペクトル係数の２−タプルを出力する。最初に（あるいは、典型的には、周波数スケーリングの後に）、復号すべき２−タプルの周囲にある以前に復号されたスペクトル係数に基づいてコンテキスト状態ｃが計算される。したがって、状態は、２つの新しい２−タプルのみを考慮して、最後に復号された２−タプルのコンテキスト状態を用いて増加的に更新される。状態は、例えば、１７ビットでコーディングされ、図２０に疑似プログラムコード表現を示す関数「ａｒｉｔｈ＿ｇｅｔ＿ｃｏｎｔｅｘｔ［］」によって戻される。
【０２１８】
関数「ａｒｉｔｈ＿ｇｅｔ＿ｃｏｎｔｅｘｔ［］」の戻り値として取得されるコンテキスト状態ｃは、最上位２ビット単位プレーンｍの復号に使用される累積度数テーブルを決定する。対応する累積度数テーブルインデックスｐｋｉへのｃからのマッピングは、図２１に疑似プログラムコード表現を示す関数「ａｒｉｔｈ＿ｇｅｔ＿ｐｋ［］」によって行われる。
【０２１９】
値ｍは、累積度数テーブル「ａｒｉｔｈ＿ｃｆ＿ｍ［ｐｋｉ］［］」によって呼び出される関数「ａｒｉｔｈ＿ｄｅｃｏｄｅ［］」を用いて復号される（ここで、ｐｋｉは関数「ａｒｉｔｈ＿ｇｅｔ＿ｐｋ［］」によって戻されるインデックスに対応している）。算術符号化部は、スケーリングによるタグ生成の方法を用いた整数インプリメンテーションである。図２２による疑似Ｃコードは、使用アルゴリズムを記述している。
【０２２０】
復号された値ｍがエスケープ記号「ＡＲＩＴＨ＿ＥＳＣＡＰＥ」である場合、変数「ｌｅｖ」および「ｅｓｃ＿ｎｂ」を１だけインクリメントし、別の値ｍを復号する。この場合、値ｃ＆ｅｓｃ＿ｎｂ＜＜１７（ｅｓｃ＿ｎｂは、同じ２−タプルによって以前に復号されかつ７までに限定されているエスケープ記号の数である）を用いて、関数「ｇｅｔ＿ｐｋ［］」を再び入力引数として呼び出す。
【０２２１】
値ｍがエスケープ記号「ＡＲＩＴＨ＿ＥＳＣＡＰＥ」でなくなると、復号器は、後続のｍが「ＡＲＩＴＨ＿ＳＴＯＰ」記号を形成しているか否かをチェックする。条件（ｅｓｃ＿ｎｂ＞０＆＆ｍ＝＝０）が真である場合、「ＡＲＩＴＨ＿ＳＴＯＰ」が検出され、復号処理は終了する。復号器は、後述する符号復号に直接ジャンプする。この条件は、フレームの残りが０値からなることを意味する。
【０２２２】
「ＡＲＩＴＨ＿ＳＴＯＰ」記号が満たされない場合、現在の２−タプルについて（存在する場合）、残りのビットプレーンが復号される。残りのビットプレーンは、関数「ａｒｉｔｈ＿ｄｅｃｏｄｅ（）」をｌｅｖ回呼び出すことによって、最上位レベルから最下位レベルまで復号される。復号されたビットプレーンｒにより、図２３に疑似プログラムコードを示すアルゴリズムに従って、以前に復号された値ａ、ｂを改良することが可能となる。
【０２２３】
この時点で、２−タプル（ａ，ｂ）の符号無し値が完全に復号される。当該値を、図２４の疑似プログラムコードに示すような、スペクトル係数を保持する配列「ｘ＿ａｃ＿ｄｅｃ［］」に保存する。
【０２２４】
コンテキストｑもまた、次の２−タプルについて更新する。このコンテキスト更新はまた、最後の２−タプルについても行う必要がある点に留意されたい。このコンテキスト更新は、図２５に疑似プログラムコード表現を示す関数「ａｒｉｔｈ＿ｕｐｄａｔｅ＿ｃｏｎｔｅｘｔ［］」によって行われる。
【０２２５】
次いで、ｉを１だけインクリメントし、上述と同様の処理を再実行することによって、フレームの次の２−タプルを復号する。具体的には、コンテキストの周波数スケーリングを実行してもよく、続いて、関数「ａｒｉｔｈ＿ｇｅｔ＿ｃｏｎｔｅｘｔ［］」から上述の処理を再開してもよい。ｌｇ／２個の２−タプルがフレーム内で復号される場合、あるいは、ストップ記号「ＡＲＩＴＨ＿ＳＴＯＰ」が出現した場合、スペクトルの振幅の復号処理を終了し、符号の復号を開始する。
【０２２６】
すべての符号無しの量子化されたスペクトル係数が復号されると、それに応じた符号を付加する。「ｘ＿ａｃ＿ｄｅｃ」のヌルでない量子化された値のそれぞれについて、１つのビットを読み出す。読み出されたビット値が１に等しい場合、量子化された値は正であり、何も行わず、符号付き値は、以前に復号された符号無し値に等しいものとなる。そうでない場合、復号された係数は負であり、符号無し値から２の補数を取る。符号ビットを、低い周波数からより高い周波数へと読み出す。
【０２２７】
図２６に疑似プログラムコードを示す関数「ａｒｉｔｈ＿ｆｉｎｉｓｈ［］」を呼び出すことにより、復号を終了する。残りのスペクトル係数を０に設定する。それに応じて、各コンテキスト状態を更新する。
【０２２８】
上記を要約すると、スペクトル値のコンテキストベースの（あるいはコンテキスト依存型）復号が実行され、個々のスペクトル値が復号され得るか、あるいはスペクトル値がタプル単位で（上記の通り）復号され得る。本明細書に記載されるように、コンテキストは、基本周波数（あるいは、同等に、ピッチ）の時間変動がある場合に良好な符号化／復号性能を実現するために、周波数スケーリングされてもよい。
１１．図２７ａ〜図２７ｆによるオーディオストリーム
以下に、１つ以上のオーディオ信号チャネルおよび１つ以上のタイムワープコンターの符号化された表現を含むオーディオストリームについて説明する。以下に説明するオーディオストリームは、例えば、符号化されたオーディオ信号表現１１２または符号化されたオーディオ信号表現１５２を運ぶことができる。
【０２２９】
図２７ａは、単一チャネル要素（ＳＣＥ）、チャネル対要素（ＣＰＥ）または１つ以上の単一チャネル要素および／もしく１つ以上のチャネル対要素の組み合わせを含み得る、いわゆる「ＵＳＡＣ＿ｒａｗ＿ｄａｔａ＿ｂｌｏｃｋ」データストリーム要素の表現を示す。
【０２３０】
「ＵＳＡＣ＿ｒａｗ＿ｄａｔａ＿ｂｌｏｃｋ」は、典型的には、符号化されたオーディオデータのブロックを含み得る一方で、追加のタイムワープコンター情報は、別個のデータストリーム要素において提供することができる。しかしながら、いくつかのタイムワープコンターデータを「ＵＳＡＣ＿ｒａｗ＿ｄａｔａ＿ｂｌｏｃｋ」に符号化することは当然可能である。
【０２３１】
図２７ｂから理解されるように、単一チャネル要素は、典型的には、図２７ｄを参照して詳細に説明される周波数領域チャネルストリーム（「ｆｄ＿ｃｈａｎｎｅｌ＿ｓｔｒｅａｍ」）を含む。
【０２３２】
図２７ｃから理解されるように、チャネル対要素（「ｃｈａｎｎｅｌ＿ｐａｉｒ＿ｅｌｅｍｅｎｔ」）は、典型的には、複数の周波数領域チャネルストリームを含む。また、チャネル対要素は、例えば、設定データストリーム要素または「ＵＳＡＣ＿ｒａｗ＿ｄａｔａ＿ｂｌｏｃｋ」において送信することができ、また、タイムワープ情報をチャネル対要素に含めるか否かを決定するタイムワープ起動フラグ（「ｔｗ＿ＭＤＣＴ」）といったタイムワープ情報を含み得る。例えば、「ｔｗ＿ＭＤＣＴ」フラグがタイムワープがアクティブであることを示す場合、チャネル対要素は、チャネル対要素のオーディオチャネルについて共通のタイムワープが存在するか否かを示すフラグ（「ｃｏｍｍｏｎ＿ｔｗ」）を含み得る。当該フラグ（「ｃｏｍｍｏｎ＿ｔｗ」）が多数のオーディオチャネルについて共通のタイムワープが存在することを示す場合、共通のタイムワープ情報（「ｔｗ＿ｄａｔａ」）を、例えば、周波数領域チャネルストリームとは別に、チャネル対要素に含める。
【０２３３】
ここで図２７ｄを参照すると、周波数領域チャネルストリームが示されている。図２７ｄから理解されるように、周波数領域チャネルストリームは、例えば、グローバルゲイン情報を含む。また、周波数領域チャネルストリームは、タイムワーピングがアクティブであり（フラグ「ｔｗ＿ＭＤＣＴ」がアクティブであり）、多数のオーディ信号オチャネルについて共通のタイムワープ情報が存在しない（フラグ「「ｃｏｍｍｏｎ＿ｔｗ」が非アクティブである）場合、タイムワープデータを含む。
【０２３４】
さらに、周波数領域チャネルストリームはまた、スケーリング因子データ（「ｓｃａｌｅ＿ｆａｃｔｏｒ＿ｄａｔａ」）および符号化されたスペクトルデータ（例えば、算術符号化されたスペクトルデータ「ａｃ＿ｓｐｅｃｔｒａｌ＿ｄａｔａ」）も含む。
【０２３５】
ここで図２７ｅを参照し、タイムワープデータの構文について簡単に述べる。タイムワープデータは、例えば、タイムワープデータが存在しているか否かを示すフラグ（例えば、「ｔｗ＿ｄａｔａ＿ｐｒｅｓｅｎｔ」または「ａｃｔｉｖｅ＿ｐｉｔｃｈ＿ｄａｔａ」）を任意には含み得る。タイムワープデータが存在している（すなわち、タイムワープコンターが平坦でない）場合、タイムワープデータは、例えば、上述のようにサンプリングレート依存型コードブックテーブルに従って符号化され得る複数の符号化されたタイムワープ比の値（例えば、「ｔｗ＿ｒａｔｉｏ［ｉ］」または「ｐｉｔｃｈ  Ｉｄｘ［ｉ］」）のシーケンスを含み得る。
【０２３６】
したがって、タイムワープデータは、タイムワープコンターが一定である（タイムワープ比が１．０００にほぼ等しい）場合、利用可能なタイムワープデータが存在しないことを示すフラグ（オーディオ信号符号化器によって設定され得る）を含み得る。これに対し、タイムワープコンターが変化している場合、連続するタイムワープコンターノード間の比は、「ｔｗ＿ｒａｔｉｏ」情報を構成するコードブックインデックスを用いて符号化され得る。
【０２３７】
図２７ｆは、算術コーディングされたスペクトルデータ「ａｃ＿ｓｐｅｃｔｒａｌ＿ｄａｔａ（）」の構文の図式表現を示す。算術コーディングされたスペクトルデータは、独立性フラグ（ここでは「ｉｎｄｅｐＦｌａｇ」）の状態に応じて符号化され、このフラグは、アクティブである場合には、算術コーディングされたデータが以前のフレームの算術符号化されたデータから独立していることを示す。独立性フラグ「ｉｎｄｅｐＦｌａｇ」がアクティブである場合、算術リセットフラグ「ａｒｉｔｈ＿ｒｅｓｅｔ＿ｆｌａｇ」はアクティブとなるよう設定される。そうでない場合、算術リセットフラグの値は、算術コーディングされたスペクトルデータにおけるビンによって決定される。
【０２３８】
さらに、算術コーディングされたスペクトルデータブロック「ａｃ＿ｓｐｅｃｔｒａｌ＿ｄａｔａ（）」は、算術コーディングされたデータの１つ以上のユニットを含み、算術コーディングされたデータ「ａｒｉｔｈ＿ｄａｔａ（）」のユニットの数は、現在のフレームにおけるブロック（またはウィンドウ）の数に依存する。長ブロックモードでは、１つのオーディオフレームにつき１個のウィンドウしか存在しない。しかし、短ブロックモードでは、１つのオーディオフレームにつき例えば８個のウィンドウが存在し得る。算術コーディングされたスペクトルデータ「ａｒｉｔｈ＿ｄａｔａ」の各ユニットは、例えば、逆変換部１８０ｅによって実行され得る周波数領域−時間領域変換のための入力として機能し得るスペクトル係数の集合を含む。
【０２３９】
算術符号化されたデータ「ａｒｉｔｈ＿ｄａｔａ」の１つのユニット当たりのスペクトル係数の数は、例えば、サンプリング周波数と無関係であり得るが、ブロック長モード（短ブロックモード「ＥＩＧＨＴ＿ＳＨＯＲＴ＿ＳＥＱＵＥＮＣＥ」または長ブロックモード「ＯＮＬＹ＿ＬＯＮＧ＿ＳＥＱＵＥＮＣＥ」）に依存し得る。
１２．結論
上記を要約すると、タイムワープ型修正離散コサイン変換の関連での改良について述べた。本明細書に記載の発明は、タイムワープ型修正離散変換コーダ（例えば、参考文献［１］および［２］を参照）を背景としており、また、ワープ型ＭＤＣＴ変換コーダの性能を向上させるための方法を含む。このようなタイムワープ型修正離散コサイン変換コーダの１つの実施例は、進行中のＭＰＥＧ  ＵＳＡＣオーディオコーディング標準化作業（例えば、参考文献［３］を参照）において実現されている。使用されるＴＷ−ＭＤＣＴの実施例の詳細は、例えば、参考文献［４］において見られる。
【０２４０】
しかしながら、上記概念に対する改善案が本明細書において示される。
１３．代替実施例
いくつかの態様を装置との関連で説明したが、これらの態様は対応する方法も示していることは明らかであり、方法においては、ブロックまたはデバイスは、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップとの関連で説明した態様もまた、対応するブロックもしくは項目または対応する装置の特徴を示すものである。例えば、マイクロプロセッサ、プログラム可能なコンピュータ、または電子回路といったハードウェア装置によって（またはこれを用いて）、方法ステップの一部またはすべてを実行してもよい。いくつかの実施形態では、最も重要な方法ステップのうち任意の１つ以上をこのような装置によって実行してもよい。
【０２４１】
本発明の符号化されたオーディオ信号は、デジタル記憶媒体に格納することができ、あるいは、無線伝送媒体またはインターネットのような有線伝送媒体などの伝送媒体上に送信することができる。
【０２４２】
特定の実施要件によっては、本発明の実施形態は、ハードウェアにおいて、またはソフトウェアにおいて実施されることができる。実施は、電子的に読取可能な制御信号を格納したデジタル記憶媒体、例えば、フロッピーディスク、ＤＶＤ、ブルーレイ、ＣＤ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュメモリを用いて実行することができ、これらは、各方法が実行されるようにプログラム可能なコンピュータシステムと協働する（または協働することができる）。したがって、デジタル記憶媒体は、コンピュータ可読であってもよい。
【０２４３】
本発明によるいくつかの実施形態は、本明細書に記載される方法のうちの１つが実行されるように、プログラム可能なコンピュータシステムと協働することができる電子的に読取り可能な制御信号を有するデータキャリアを含む。
【０２４４】
通常、本発明の実施形態はプログラムコードを有するコンピュータプログラム製品として実現することができ、コンピュータプログラム製品がコンピュータで実行されたときに、プログラムコードが方法のうちの１つを実行するために動作する。プログラムコードは、例えば、機械可読キャリアに格納され得る。
【０２４５】
他の実施形態は、本明細書に記載される、機械可読キャリアに格納された方法のうちの１つを実行するためのコンピュータプログラムを含む。
【０２４６】
したがって、換言すれば、本発明の方法の一実施形態は、コンピュータ上で実行されたときに、本明細書に記載される方法のうちの１つを実行するためのプログラムコードを有するコンピュータプログラムである。
【０２４７】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載される方法のうちの１つを実行するためのコンピュータプログラムが記録されたデータキャリア（すなわちデジタル記憶媒体またはコンピュータ可読媒体）である。データキャリア、デジタル記憶媒体、または記録された媒体は、典型的には、有形および／または非過渡的である。
【０２４８】
したがって、本発明の方法のさらなる実施形態は、本明細書に記載される方法のうちの１つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えばインターネットなどのデータ通信接続を介して転送されるように構成することができる。
【０２４９】
さらなる実施形態は、本明細書に記載される方法の１つを実行するように構成されるかあるいは適合された、例えばコンピュータまたはプログラム可能論理デバイスといった処理手段を含む。
【０２５０】
さらなる実施形態は、本明細書に記載される方法のうちの１つを実行するためのコンピュータプログラムを搭載したコンピュータを含む。
【０２５１】
本発明によるさらなる実施形態は、本明細書で説明された方法のうちの１つを実行するためのコンピュータプログラムを受信機に転送する（例えば、電子的または光学的に）ように構成された装置またはシステムを含む。受信機は、例えば、コンピュータ、携帯機器、メモリデバイス等であってもよい。この装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを備えていてもよい。
【０２５２】
いくつかの実施形態において、プログラム可能論理デバイス（例えばフィールドプログラマブルゲートアレイ）を用いて、本明細書に記載される方法の機能のいくつかまたはすべてを実行してもよい。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書に記載される方法のうちの１つを実行するために、マイクロプロセッサと協働してもよい。通常、上記方法は、好ましくは、いかなるハードウェア装置によっても実行される。
【０２５３】
上述の実施形態は、本発明の原理のための単なる例示にすぎない。本明細書に記載される構成及び詳細事項の修正変更は、他の当業者にとって明らかであるものと理解される。したがって、本発明は、添付の特許クレームの範囲のみによって限定されるものであって、本明細書に記載の実施形態の記載および説明によって示される具体的な詳細事項によって限定されるものではない。
【０２５４】
参考文献
[1] Bernd Edler et.al., “Time Warped MDCT”, US 61/042,314, Provisional application for patent,
[2] L. Villemoes, “Time Warped Transform Coding of Audio Signals”,
PCT/EP2006/010246, International patent application, November 2005.
[3] “WD6 of USAC”, ISO/IEC JTC1/SC29/WG11 N11213, 2010
[4] Bernd Edler et. al., “A Time-Warped MDCT Approach to Speech Transform Coding”, 126th AES Convention, Munich, May 2009, preprint 7710
[5] Nikolaus Meine, “Vektorquantisierung und kontextabhaengige arithmetische Codierung fuer MPEG-4 AAC”, VDI, Hannover, 2007
【図１Ａ】
0005625076.tif 000023
【図１Ｂ】
0005625076.tif 000024
【図２Ａ１】
0005625076.tif 000025
【図２Ａ２】
0005625076.tif 000026
【図２Ｂ１】
0005625076.tif 000027
【図２Ｂ２】
0005625076.tif 000028
【図２Ｃ】
0005625076.tif 000029
【図２Ｄ】
0005625076.tif 000030
【図３Ａ】
0005625076.tif 000031
【図３Ｂ】
0005625076.tif 000032
【図３Ｃ】
0005625076.tif 000033
【図４Ａ】
0005625076.tif 000034
【図４Ｂ】
0005625076.tif 000035
【図４Ｃ】
0005625076.tif 000036
【図４Ｄ】
0005625076.tif 000037
【図４Ｅ】
0005625076.tif 000038
【図５Ａ】
0005625076.tif 000039
【図５Ｂ】
0005625076.tif 000040
【図６Ａ】
0005625076.tif 000041
【図６Ｂ】
0005625076.tif 000042
【図７Ａ１】
0005625076.tif 000043
【図７Ａ２】
0005625076.tif 000044
【図７Ｂ】
0005625076.tif 000045
【図８】
0005625076.tif 000046
【図９】
0005625076.tif 000047
【図１０Ａ】
0005625076.tif 000048
【図１０Ｂ】
0005625076.tif 000049
【図１１Ａ】
0005625076.tif 000050
【図１１Ｂ】
0005625076.tif 000051
【図１２】
0005625076.tif 000052
【図１３】
0005625076.tif 000053
【図１４Ａ】
0005625076.tif 000054
【図１４Ｂ】
0005625076.tif 000055
【図１５】
0005625076.tif 000056
【図１６】
0005625076.tif 000057
【図１７】
0005625076.tif 000058
【図１８】
0005625076.tif 000059
【図１９】
0005625076.tif 000060
【図２０】
0005625076.tif 000061
【図２１】
0005625076.tif 000062
【図２２Ａ】
0005625076.tif 000063
【図２２Ｂ】
0005625076.tif 000064
【図２３】
0005625076.tif 000065
【図２４】
0005625076.tif 000066
【図２５】
0005625076.tif 000067
【図２６】
0005625076.tif 000068
【図２７Ａ】
0005625076.tif 000069
【図２７Ｂ】
0005625076.tif 000070
【図２７Ｃ】
0005625076.tif 000071
【図２７Ｄ】
0005625076.tif 000072
【図２７Ｅ】
0005625076.tif 000073
【図２７Ｆ】
0005625076.tif 000074