(57)【要約】【課題】パルス系列のようなデータのインデックス付けにおいて、冗長を廃し、かつ計算量及びメモリ使用量を削減する。【解決手段】デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値（例えば、零）でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する位置振幅計算部１０１と、入力ベクトルの要素数から位置ベクトルの要素数を抜き出す全ての組合せにおける、位置ベクトルの順位を符号化する位置ベクトル符号化部１０２と、振幅ベクトルを符号化する振幅ベクトル符号化部１０３と、位置振幅計算部１０１による符号化結果と位置ベクトル符号化部１０２による符号化結果とを用いて入力ベクトルの符号を生成する符号生成部１０４とを備えた。【選択図】　図１
2004120623.tif 000002
【特許請求の範囲】
【請求項１】
デジタルデータをベクトルとして符号化する符号化装置において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化手段と、
前記振幅ベクトルを符号化する第２の符号化手段と、
前記第１の符号化手段による符号化結果と前記第２の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第３の符号化手段と、
を具備することを特徴とする符号化装置。
【請求項２】
デジタルデータをベクトルとして符号化する符号化装置において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化手段と、
前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、
前記代表ベクトルを符号化する第２の符号化手段と、
前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第３の符号化手段と、
前記第１の符号化手段による符号化結果と前記第２の符号化手段による符号化結果と前記第３の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第４の符号化手段と、
を具備することを特徴とする符号化装置。
【請求項３】
デジタルデータをベクトルとして符号化する符号化装置において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化手段と、
前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成手段と、
修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、
前記代表ベクトルを符号化する第２の符号化手段と、
前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第３の符号化手段と、
前記第１の符号化手段による符号化結果と前記第２の符号化手段による符号化結果と前記第３の符号化手段による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第４の符号化手段と、
を具備することを特徴とする符号化装置。
【請求項４】
前記第２の符号化手段は、
候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、
前記代表ベクトルと前記候補代表ベクトルとを比較する手段と、
前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段と、
を具備することを特徴とする請求項２又は３に記載の符号化装置。
【請求項５】
前記第２の符号化手段は、
候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、
前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算手段と、
前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第１の比較手段と、
前記第１の比較手段において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第１の組合せ数算出手段と、
前記第１の比較手段において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第２の比較手段と、
前記第２の比較手段において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第２の組合せ数算出手段と、
前記第１の組合せ数と前記第２の組合せ数との和を計算する手段と、
を具備することを特徴とする請求項２又は３に記載の符号化装置。
【請求項６】
前記表では、
前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする請求項４又は５に記載の符号化装置。
【請求項７】
前記第４の符号化手段は、
前記第２の符号化手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする請求項４〜６の何れか１項に記載の符号化装置。
【請求項８】
入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算手段と、
前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第１の復号手段と、
前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第２の復号手段と、
前記第１の復号手段で再生された振幅ベクトルと前記第２の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段と、
を具備することを特徴とする復号装置。
【請求項９】
入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算手段と、
前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第１の復号手段と、
前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第２の復号手段と、
前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第３の復号手段と、
前記第２の復号手段で再生された振幅ベクトルと前記第３の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段と、
を具備することを特徴とする復号装置。
【請求項１０】
入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算手段と、
前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第１の復号手段と、
前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第２の復号手段と、
前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第３の復号手段と、
前記第２の復号手段で再生された振幅ベクトルと前記第３の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段と、
を具備することを特徴とする復号装置。
【請求項１１】
前記第１の復号手段は、
候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、
前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段と、
を具備することを特徴とする請求項９又は１０に記載の復号装置。
【請求項１２】
前記第１の復号手段は、
候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、
すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第１の組合せ数算出手段と、
前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第２の組合せ数算出手段と、
を具備することを特徴とする請求項９又は１０に記載の復号装置。
【請求項１３】
前記表では、
前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする請求項１１又は１２に記載の復号装置。
【請求項１４】
前記計算手段は、
前記第１の復号手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする請求項１１〜１３の何れか１項に記載の復号装置。
【請求項１５】
デジタルデータをベクトルとして符号化する符号化方法において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化工程と、
前記振幅ベクトルを符号化する第２の符号化工程と、
前記第１の符号化工程による符号化結果と前記第２の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第３の符号化工程と、
を具備することを特徴とする符号化方法。
【請求項１６】
デジタルデータをベクトルとして符号化する符号化方法において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化工程と、
前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、
前記代表ベクトルを符号化する第２の符号化工程と、
前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第３の符号化工程と、
前記第１の符号化工程による符号化結果と前記第２の符号化工程による符号化結果と前記第３の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第４の符号化工程と、
を具備することを特徴とする符号化方法。
【請求項１７】
デジタルデータをベクトルとして符号化する符号化方法において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化工程と、
前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成工程と、
修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、
前記代表ベクトルを符号化する第２の符号化工程と、
前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第３の符号化工程と、
前記第１の符号化工程による符号化結果と前記第２の符号化工程による符号化結果と前記第３の符号化工程による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第４の符号化工程と、
を具備することを特徴とする符号化方法。
【請求項１８】
前記第２の符号化工程は、
前記代表ベクトルと前記候補代表ベクトルとを比較する工程と、
前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程と、
を含むことを特徴とする請求項１６又は１７に記載の符号化方法。
【請求項１９】
前記第２の符号化工程は、
前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算工程と、
前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第１の比較工程と、
前記第１の比較工程において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第１の組合せ数算出工程と、
前記第１の比較工程において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第２の比較工程と、
前記第２の比較工程において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第２の組合せ数算出工程と、
前記第１の組合せ数と前記第２の組合せ数との和を計算する工程と、
を含むことを特徴とする請求項１６又は１７に記載の符号化方法。
【請求項２０】
前記表では、
前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする請求項１８又は１９に記載の符号化方法。
【請求項２１】
前記第４の符号化工程では、
前記第２の符号化工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする請求項１８〜２０の何れか１項に記載の符号化方法。
【請求項２２】
入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算工程と、
前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第１の復号工程と、
前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第２の復号工程と、
前記第１の復号工程で再生された振幅ベクトルと前記第２の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程と、
を具備することを特徴とする復号方法。
【請求項２３】
入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算工程と、
前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第１の復号工程と、
前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第２の復号工程と、
前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第３の復号工程と、
前記第２の復号工程で再生された振幅ベクトルと前記第３の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程と、
を具備することを特徴とする復号方法。
【請求項２４】
入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算工程と、
前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第１の復号工程と、
前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第２の復号工程と、
前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第３の復号工程と、
前記第２の復号工程で再生された振幅ベクトルと前記第３の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程と、
を具備することを特徴とする復号方法。
【請求項２５】
前記第１の復号工程は、
前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程
を含むことを特徴とする請求項２３又は２４に記載の復号方法。
【請求項２６】
前記第１の復号工程は、
すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第１の組合せ数算出工程と、
前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第２の組合せ数算出工程と、
を含むことを特徴とする請求項２３又は２４に記載の復号方法。
【請求項２７】
前記表では、
前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする請求項２５又は２６に記載の復号方法。
【請求項２８】
前記計算工程では、
前記第１の復号工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする請求項２５〜２７の何れか１項に記載の復号方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力データをベクトル単位で符号化する符号化装置及び符号化方法、並びに、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置及び復号方法に関する。
【０００２】
【従来の技術】
近年のＣＥＬＰ（Ｃｏｄｅ　Ｅｘｃｉｔｅｄ　Ｌｉｎｅａｒ　Ｐｒｅｄｉｃｔｉｏｎ）アルゴリズムを基礎とした低ビットレート音声符号化では、雑音符号帳として数本のパルスを用いるＡＣＥＬＰ符号帳を採用している。ＩＴＵ−Ｔ勧告Ｇ．７２２．２（下記の非特許文献１参照）として採用された、広帯域音声符号化アルゴリズムも、ＡＣＥＬＰ符号帳を採用している。Ｇ．７２２．２で開示されているように、ＡＣＥＬＰの符号化はパルスの位置と符号をパルス毎にインデックスを付ける方法が一般的であり、符号化に必要な演算量の低減に貢献している。ところが、各パルスのパルス位置と符号をインデックス付けする方法では、結果的に生成される符号帳ベクトルに対して複数のインデックスの割り当てが可能であり冗長である。これは、各パルスの位置が取り得る値が本来２のべき乗個ではないことに起因する。例えば、生成される符号帳ベクトルの長さが８で、２本のパルスが存在し、かつ１本目のパルスの位置が２本目のパルス位置より小さいという条件の元では一本目のパルス位置が８であることがありえない。
しかも、この冗長は符号帳当りのパルスの本数が増えていくに従い増加する。
【０００３】
これを解決する手段として、各パルスではなく、結果的に生成される符号帳ベクトルに対してインデックスを割り当てる方法が考えられる。一般的なベクトル量子化では、生成される雑音符号帳ベクトルと対応するインデックスを辞書に格納するという方法が用いられるが、例えばＧ．７２２．２では、最大２の２２乗（１００万以上）もの候補の辞書を用意しなければならず、非効率である。
【０００４】
ＡＣＥＬＰの符号帳ベクトルは一種の多次元格子点であり、格子ベクトル量子化ともいえる。一般的な格子ベクトル量子化における効率的なインデックス付けの方法については、下記の非特許文献２に開示されている。この方法では、格子点を表すベクトルの要素を大きいものから順に並べたリーダを格納した辞書と、リーダの並べ替えの順を符号化する。ただし、この方法をＡＣＥＬＰの符号帳ベクトルに適用した場合、特にリーダの並べ替えの順を計算する際に必要な以下の式（１）に基づく組合せ数の計算が多くなるという問題がある。
【０００５】
【数１】
2004120623.tif 000003
【０００６】
さらには、１６次元のリーダの符号化を行うための符号帳が大きく、メモリ量が多いという問題もある。これらは、ＡＣＥＬＰの符号帳ベクトルに多く含まれる値が零である要素も一つの要素として計算することに起因する。このような方法で符号化された情報を復号する場合にも、符号化と同様の手順が必要なため、計算量とメモリ量の問題が同様に存在する。
【０００７】
このようなＧ．７２２．２で使われているパルスの符号化と類似の方法として、画像符号化のＤＣＴ係数の符号化で用いられているＲｕｎとＬｅｖｅｌに分け、それぞれを可変長符号化する方法がある。ここで、上記符号帳ベクトルのようにＲｕｎの値をいくつかまとめて可変長符号化する場合は、ベクトルの次元に応じてその符号化テーブルが爆発的に大きくなる。大規模なテーブルを効率的に参照し、目的の符号を求めるためには、上述のベクトル量子化と同様にＲｕｎベクトルのインデックス付けする方がよい。
【０００８】
【非特許文献１】
ＩＴＵ−Ｔ　Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ　Ｇ．７２２．２、　“Ｗｉｄｅｂａｎｄ　ｃｏｄｉｎｇ　ｏｆ　ｓｐｅｅｃｈ　ａｔ　ａｒｏｕｎｄ　１６　ｋｂｉｔ／ｓ　ｕｓｉｎｇ　ａｄａｐｔｉｖｅ　ｍｕｌｔｉ−ｒａｔｅ　ｗｉｄｅｂａｎｄ　（ＡＭＲ−ＷＢ）．”
【０００９】
【非特許文献２】
Ｐ．　Ｒａｕｌｔ　ａｎｄ　Ｃ．　Ｇｕｉｌｌｅｍｏｔ、　“Ｉｎｄｅｘｉｎｇ　Ａｌｇｏｒｉｔｈｍ　ｆｏｒ　Ｚｎ、　Ａｎ、Ｄｎ　ａｎｄ　Ｄｎ＋＋　Ｌａｔｔｉｃｅ　Ｖｅｃｔｏｒ　Ｑｕａｎｔｉｚｅｒｓ”、　ＩＥＥＥ　Ｔｒａｎｓ．　Ｍｕｌｔｉｍｅｄｉａ、ｖｏｌ．３、ｎｏ．４、　第３９５〜４０４ページ、Ｄｅｃｅｍｂｅｒ　２００１．
【００１０】
【発明が解決しようとする課題】
本発明は、上記問題点を解消するために成されたものであり、このようなパルス系列のようなデータのインデックス付けにおいて、冗長を廃し、かつ計算量及びメモリ使用量を削減することができる符号化装置、符号化方法、復号装置及び復号方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明によれば、上記目的は前記特許請求の範囲に記載した手段により達成される。
【００１２】
上記目的を達成するために、本発明に係る符号化装置は、請求項１に記載したように、デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化手段と、前記振幅ベクトルを符号化する第２の符号化手段と、前記第１の符号化手段による符号化結果と前記第２の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第３の符号化手段とを具備することを特徴とする。
【００１３】
また、本発明に係る符号化装置は、請求項２に記載したように、デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化手段と、前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、前記代表ベクトルを符号化する第２の符号化手段と、前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第３の符号化手段と、前記第１の符号化手段による符号化結果と前記第２の符号化手段による符号化結果と前記第３の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第４の符号化手段とを具備することを特徴とする。
【００１４】
また、本発明に係る符号化装置は、請求項３に記載したように、デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化手段と、前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成手段と、修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、前記代表ベクトルを符号化する第２の符号化手段と、前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第３の符号化手段と、前記第１の符号化手段による符号化結果と前記第２の符号化手段による符号化結果と前記第３の符号化手段による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第４の符号化手段とを具備することを特徴とする。
【００１５】
また、本発明に係る符号化装置では、請求項４に記載したように、前記第２の符号化手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、前記代表ベクトルと前記候補代表ベクトルとを比較する手段と、前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段とを具備することを特徴とする。
【００１６】
また、本発明に係る符号化装置では、請求項５に記載したように、前記第２の符号化手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算手段と、前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第１の比較手段と、前記第１の比較手段において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第１の組合せ数算出手段と、前記第１の比較手段において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第２の比較手段と、前記第２の比較手段において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第２の組合せ数算出手段と、前記第１の組合せ数と前記第２の組合せ数との和を計算する手段とを具備することを特徴とする。
【００１７】
また、本発明に係る符号化装置では、請求項６に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【００１８】
また、本発明に係る符号化装置では、請求項７に記載したように、前記第４の符号化手段が、前記第２の符号化手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする。
【００１９】
上記目的を達成するために、本発明に係る復号装置は、請求項８に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算手段と、前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第１の復号手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第２の復号手段と、前記第１の復号手段で再生された振幅ベクトルと前記第２の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段とを具備することを特徴とする。
【００２０】
また、本発明に係る復号装置は、請求項９に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算手段と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第１の復号手段と、前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第２の復号手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第３の復号手段と、前記第２の復号手段で再生された振幅ベクトルと前記第３の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段とを具備することを特徴とする。
【００２１】
また、本発明に係る復号装置は、請求項１０に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算手段と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第１の復号手段と、前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第２の復号手段と、前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第３の復号手段と、前記第２の復号手段で再生された振幅ベクトルと前記第３の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段とを具備することを特徴とする。
【００２２】
また、本発明に係る復号装置では、請求項１１に記載したように、前記第１の復号手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段とを具備することを特徴とする。
【００２３】
また、本発明に係る復号装置では、請求項１２に記載したように、前記第１の復号手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第１の組合せ数算出手段と、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第２の組合せ数算出手段とを具備することを特徴とする。
【００２４】
また、本発明に係る復号装置では、請求項１３に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【００２５】
また、本発明に係る復号装置では、請求項１４に記載したように、前記計算手段は、前記第１の復号手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする。
【００２６】
上記目的を達成するために、本発明に係る符号化方法は、請求項１５に記載したように、デジタルデータをベクトルとして符号化する符号化方法において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化工程と、前記振幅ベクトルを符号化する第２の符号化工程と、前記第１の符号化工程による符号化結果と前記第２の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第３の符号化工程とを具備することを特徴とする。
【００２７】
また、本発明に係る符号化方法は、請求項１６に記載したように、デジタルデータをベクトルとして符号化する符号化方法において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化工程と、前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、前記代表ベクトルを符号化する第２の符号化工程と、前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第３の符号化工程と、前記第１の符号化工程による符号化結果と前記第２の符号化工程による符号化結果と前記第３の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第４の符号化工程とを具備することを特徴とする。
【００２８】
また、本発明に係る符号化方法は、請求項１７に記載したように、デジタルデータをベクトルとして符号化する符号化方法において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第１の符号化工程と、前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成工程と、修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、前記代表ベクトルを符号化する第２の符号化工程と、前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第３の符号化工程と、前記第１の符号化工程による符号化結果と前記第２の符号化工程による符号化結果と前記第３の符号化工程による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第４の符号化工程とを具備することを特徴とする。
【００２９】
また、本発明に係る符号化方法では、請求項１８に記載したように、前記第２の符号化工程が、前記代表ベクトルと前記候補代表ベクトルとを比較する工程と、前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程とを含むことを特徴とする。
【００３０】
また、本発明に係る符号化方法では、請求項１９に記載したように、前記第２の符号化工程が、前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算工程と、前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第１の比較工程と、前記第１の比較工程において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第１の組合せ数算出工程と、前記第１の比較工程において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第２の比較工程と、前記第２の比較工程において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第２の組合せ数算出工程と、前記第１の組合せ数と前記第２の組合せ数との和を計算する工程とを含むことを特徴とする。
【００３１】
また、本発明に係る符号化方法では、請求項２０に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【００３２】
また、本発明に係る符号化方法では、請求項２１に記載したように、前記第４の符号化工程において、前記第２の符号化工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする。
【００３３】
上記目的を達成するために、本発明に係る復号方法は、請求項２２に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算工程と、前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第１の復号工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第２の復号工程と、前記第１の復号工程で再生された振幅ベクトルと前記第２の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程とを具備することを特徴とする。
【００３４】
また、本発明に係る復号方法は、請求項２３に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算工程と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第１の復号工程と、前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第２の復号工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第３の復号工程と、前記第２の復号工程で再生された振幅ベクトルと前記第３の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程とを具備することを特徴とする。
【００３５】
また、本発明に係る復号方法は、請求項２４に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算工程と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第１の復号工程と、前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第２の復号工程と、前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第３の復号工程と、前記第２の復号工程で再生された振幅ベクトルと前記第３の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程とを具備することを特徴とする。
【００３６】
また、本発明に係る復号方法では、請求項２５に記載したように、前記第１の復号工程が、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程を含むことを特徴とする。
【００３７】
また、本発明に係る復号方法では、請求項２６に記載したように、前記第１の復号工程が、すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第１の組合せ数算出工程と、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第２の組合せ数算出工程とを含むことを特徴とする。
【００３８】
また、本発明に係る復号方法では、請求項２７に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【００３９】
また、本発明に係る復号方法では、請求項２８に記載したように、前記計算工程において、前記第１の復号工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする。
【００４０】
【発明の実施の形態】
以下、図面を用いて本発明に係る各種の実施形態を説明する。
【００４１】
［第１の実施形態］
図１は、本発明の第１の実施形態を示したものである。まず位置振幅計算部１０１により、入力ベクトルｘから零でない係数（以下「非零係数」という）のみを抽出し、非零係数の振幅ベクトルｙ（ｘ）とその入力ベクトルにおける位置ベクトルｐ（ｘ）とを計算する。なお、ここでは、「特定の数値」でない係数の抽出における、「特定の数値」として「零」の場合を説明するが、「零以外」の数値を採用してもよい。さらに必須ではないが、この例では位置振幅計算部１０１で振幅ベクトルｙ（ｘ）の長さも求めることとしている。例えば、入力ベクトルｘが（０、−２、０、０、０、１、０、０）であった場合、入力ベクトル算出部１０１の出力はそれぞれ振幅ベクトルｙ（ｘ）が（−２、１）、位置ベクトルｐ（ｘ）が（１、５）となり、また振幅ベクトルｙ（ｘ）の長さＬ（ｙ（ｘ））は２となる。なお、ここでは入力ベクトルｘの長さＬ（ｘ）は固定としているが、別途Ｌ（ｘ）を伝送することにより可変とすることも可能である。
【００４２】
次に、第１の実施形態における位置ベクトル符号化部１０２の処理の例を図２に示すフローチャートで説明する。まず、初期化処理２０１を実行する。処理２０２はループのための初期化処理で、処理２０３を処理２０４においてｊが（ｐ（０）−１）と等しくなると判定されるまで、処理２０５においてｊを１つずつ増やしながら繰り返す。処理２０４においてｊがｐ（０）−１と等しいと判定された場合、処理２０６において、ｉ、ｍ、及び位置ベクトルｐの更新を行う。処理２０７では、処理２０６において更新されたｉが１と等しいかを判定する。ｉが１より大きい場合は、再び処理２０２に戻り、一連の処理を繰り返す。ｉが１と等しい場合には、処理２０８を実行して、処理が完了となる（２０９）。この時のＩ（ｐ（ｘ））が入力ベクトルｘの位置ベクトルｐ（ｘ）の符号として出力される。例のように、ｐ（ｘ）が（１、５）の場合は、ｉ　＝　Ｌ（ｐ（ｘ））　＝　２、ｍ　＝　Ｌ（ｘ）　＝　８、Ｉ（ｐ（ｘ））　＝　０から始め、ｉ＝２の時、Ｉ（ｐ（ｘ））＝　０　＋　７Ｃ１　＝　７。それぞれｐ（ｘ）　＝　（３）、ｍ　＝　６、ｉ　＝　１と更新される。ｉ　＝　１なので、Ｉ（ｐ（ｘ））　＝　Ｉ（ｐ（ｘ））　＋　ｐ（０）　＝　７　＋　３＝１０となる。
【００４３】
また、位置ベクトルｐ（ｘ）を非零係数の位置ではなく、画像符号化におけるＲｕｎ相当する非零係数間の零の個数として表現することも可能である。このとき、図２と同様の処理は、図３で示すフローチャートにより実現可能である。なお、処理は図２の場合と同様なので省略するが、図２と等しい結果が得られる。
【００４４】
振幅ベクトル符号化部１０３及び符号生成部１０４については、スカラー量子化、ベクトル量子化、及びエントロピー符号化など一般的に公知となっている様々な方法を適用することができる。なお、符号生成部１０４の例については、以下の第２の実施形態において説明する。
【００４５】
［第２の実施形態］
図４は本発明の第２の実施形態を示している。位置振幅計算部４０１及び位置ベクトル符号化部４０２の処理は第１の実施形態と同等なので、省略する。位置振幅計算部４０１で生成された振幅ベクトルｙ（ｘ）は、まず並べ替え部４０３に入力される。並べ替え部４０３は、振幅ベクトルｙ（ｘ）の要素を所定の規則に基づいて（ここでは一例として、大きい順に）並べ替えたリーダｌ（ｙ（ｘ））を生成する。なお、並べ替えは、大きい順に限定されるものではなく、小さい順でもよいし、その他の所定の並べ替え規則を採用してもよい。
【００４６】
次に、振幅ベクトルｙ（ｘ）とリーダｌ（ｙ（ｘ））がクラス内順位符号化部４０４に入力される。クラス内順位符号化部４０４は、振幅ベクトルｙ（ｘ）の要素の並び方のリーダｌ（ｙ（ｘ））の要素を並べ替えることにより生成されるベクトル中の順位である符号Ｉ（ｙ（ｘ））を求める。例えば、非特許文献２に開示される方法を使うことができる。例のようにｙ（ｘ）が（−２、１）の場合は、ｌ（ｙ（ｘ））は（１、−２）となり、その並べ替えは［（１、−２）、　（−２、１）］の２通りがある。したがって、Ｉ（ｙ（ｘ））は１となる。
【００４７】
リーダｌ（ｙ（ｘ））の符号Ｉ（ｌ（ｙ（ｘ）））をテーブル部４０５を探索することにより求める。テーブル部４０５は、符号生成部４０６の処理に応じてその構成が決まる。
【００４８】
符号生成部４０６は、位置ベクトル符号化部４０２の出力Ｉ（ｐ（ｘ））、クラス内順位符号化部４０４の出力Ｉ（ｙ（ｘ））及び符号帳の出力Ｉ（ｌ（ｙ（ｘ）））より、入力ベクトルｘを表す符号Ｉ（ｘ）を生成する。符号Ｉ（ｘ）を生成する方法は、様々に考えられる。例えば、入力された符号を算術符号やハフマン符号といったエントロピー符号化を適用する方法や、単純に一つの固定長符号にする方法があるが、ここでは、固定長符号とする方法について説明をする。
【００４９】
図５は、固定長符号を生成する符号生成部４０６を示したものである。零並べ替え合計算出部４０７は、入力ベクトル中の非零要素数Ｌ（ｙ（ｘ））から、以下の式（２）で表される零の並び方の合計を求める。
【００５０】
【数２】
2004120623.tif 000004
【００５１】
例では、Ｌ（ｘ）＝８、Ｌ（ｙ（ｘ））＝２なので、零並べ替え合計算出部４０７の出力は２８となる。符号化の処理は、この零並べ替え合計算出部４０７の出力とＩ（ｙ（ｘ））との積を取り、その結果とＩ（ｐ（ｘ））とＩ（ｌ（ｙ（ｘ））との和を求めることで達成できる。ただし、Ｉ（ｌ（ｙ（ｘ）））がこの符号化形式に沿った形で符号化されていなければならない。
【００５２】
図１１は、図５で示す符号化処理に沿ったＩ（ｌ（ｙ（ｘ）））のテーブル部４０５の例を示している。第２列Ｋ（Ｃ（ｌ（ｙ（ｘ））））は、第１列のリーダｌ（ｙ（ｘ））の可能な並べ替え数である。第３列Ｋ（Ｃ（ｌ（ｘ）））は、Ｌ（ｘ）が８の場合にリーダｌ（ｘ）の可能な並べ替え数を参考までに示している。ここで、Ｋ（Ｃ（ｌ（ｙ（ｘ））））とＫ（Ｃ（ｌ（ｘ）））には、次のような関係がある。
【００５３】
【数３】
2004120623.tif 000005
【００５４】
したがって、常にＫ（Ｃ（ｌ（ｙ（ｘ））））　＜　Ｋ（Ｃ（ｌ（ｘ）））であり、Ｋ（Ｃ（ｌ（ｘ）））の代わりにＫ（Ｃ（ｌ（ｙ（ｘ））））の値を格納することによって、必要なテーブルのメモリ量を少なくすることができる。さらに、Ｋ（Ｃ（ｌ（ｘ）））は、入力ベクトルｘの長さＬ（ｘ）に依存せず、かつＬ（ｘ）が決まれば上式により、Ｋ（Ｃ（ｌ（ｘ）））を計算できることから、Ｌ（ｘ）が可変の場合においても共通の表を使用することができる。また、右辺第２項は、並べ替え合計算出部４０７での計算と等しい。そのため、零並べ替え合計算出部４０７とテーブル部４０５のどちらか１回の計算でよい。もしくは、この値を表に格納すれば、零並べ替え合計算出部４０７とテーブル部４０５で共通の表を参照でき、メモリ量を削減できる。
【００５５】
符号Ｉ（ｌ（ｙ（ｘ）））の計算は、図１１の上から順に、入力されたリーダｌ（ｙ（ｘ））が第１列のｌ（ｙ（ｘ））と一致するまで式（３）を計算し、Ｉ（ｌ（ｙ（ｘ）））に加えていく。
【００５６】
ここで、図１１のようにｌ（ｙ（ｘ））を上からＬ１−ｎｏｒｍ順に記述すると、非特許文献１で用いられるＡＣＥＬＰ符号帳のように、パルスの振幅が決まっていてその本数が符号化レートにより異なっている場合にも、共通の表が使用できるため、テーブルに必要なメモリ量を削減できる。
【００５７】
例のようにｌ（ｙ（ｘ））が（１、−２）の時、図１１の表を使えば、Ｉ（ｌ（ｙ（ｘ）））は２１６となる。したがって、入力ベクトルｘに対する符号は、Ｉ（ｘ）＝Ｉ（ｙ（ｘ））・２８＋Ｉ（ｐ（ｘ））＋Ｉ（ｌ（ｙ（ｘ）））＝１・２８＋１０＋２１６＝２５４と求められる。
【００５８】
図６は、テーブル部４０５の第２の実施形態を示している。絶対値リーダ生成部４０８は、リーダｌ（ｙ（ｘ））の各要素の絶対値を計算し、その結果を値が大きい順に並べ替えて、絶対値リーダ｜ｌ（ｙ（ｘ））｜を生成する。例のようにｌ（ｙ（ｘ））が（１、　−２）の場合、絶対値リーダ｜ｌ（ｙ（ｘ））｜は（２、　１）となる。リーダｌ（ｙ（ｘ））と絶対値リーダ｜ｌ（ｙ（ｘ））｜により、テーブル部４０９の探索を行う。テーブル部４０９にも、例えば図１１に示すものが利用できる。
【００５９】
ここでは、例として図１１のテーブルを探索する方法を説明する。まず、図１１の上から順に、入力された絶対値リーダ｜ｌ（ｙ（ｘ））｜とすべての要素が正であるｌ（ｙ（ｘ））との比較を行う。ここで、式（３）に相当する、絶対値リーダ｜ｌ（ｘ）｜で表されるすべての組合せは、次式で表現できる。
【００６０】
【数４】
2004120623.tif 000006
【００６１】
比較で、一致しなかった場合には、式（４）を計算し結果をＩ（ｌ（ｙ（ｘ）））に加算し、次のすべての要素が正であるｌ（ｙ（ｘ））との比較を行う。ここで、非特許文献２に示されているように、絶対値リーダ｜ｌ（ｙ（ｘ））｜で表現されるｌ（ｙ（ｘ））の数Ｎ（｜ｌ（ｙ（ｘ））｜）は、次式で求められる。
【００６２】
【数５】
2004120623.tif 000007
【００６３】
ここで、ｎは絶対値リーダ｜ｌ（ｙ（ｘ））｜の要素の内、異なる要素の個数であり、ｗｉは異なる要素それぞれが絶対値リーダ｜ｌ（ｙ（ｘ））｜中に現れる数である。例えば、｜ｌ（ｙ（ｘ））｜が（３、３、３、２、１、１）であった場合、ｗｉは（３、１、２）であり、ｎは３である。この時、Ｎ（｜ｌ（ｙ（ｘ））｜）は、４×２×３＝２４となる。したがって、次の比較は、式（５）の計算結果分先の行のｌ（ｙ（ｘ））について行えばよく、絶対値リーダ｜ｌ（ｙ（ｘ））｜が表中のｌ（ｙ（ｘ））と一致するまで、処理を続ける。一致した場合は、一致した行から前述のようにリーダｌ（ｙ（ｘ））が表中のｌ（ｙ（ｘ））と一致するまで式（３）の値を計算し、Ｉ（ｌ（ｙ（ｘ）））に加算すればよい。
【００６４】
［第３の実施形態］
図７は、本発明の第３の実施形態を示している。これは、図４に示す、第２の実施形態に振幅ベクトル修正部５０３を追加したものである。ここでは、振幅ベクトル修正部５０３とその追加により変更が必要なテーブル部５０６及び符号生成部５０７について説明する。その他は、第２の実施形態と同様である。
【００６５】
振幅ベクトル修正部５０３は、振幅ベクトルｙ（ｘ）を入力とし、修正情報ｓを出力するとともに、修正情報を元に修正された修正振幅ベクトルを生成する。振幅ベクトルを修正する方法は様々な方法が考えられるが、例えば式（６）のように振幅ベクトルの符号を反転させることが考えられる。
【００６６】
【数６】
2004120623.tif 000008
【００６７】
ただし、ｌ（ｙ（ｘ））が（２、　１、　−１、　−２）となる場合にはｌ（ｙ（ｘ））＝ｌ（−ｙ（ｘ））となるため、式（６）ではなく、例えば振幅ベクトルｙ（ｘ）の要素を逆順に並べ替えたものを修正振幅ベクトルｙ’（ｘ）とするような例外処理が必要である。
【００６８】
図１２は、図１１と同等のテーブルを、この修正振幅ベクトルｙ’（ｘ）のリーダｌ（ｙ’（ｘ））を基に探索する場合のテーブル部５０６を示したものである。修正振幅を用いることにより、図１１と比較してサイズが半分程度に削減できる。
【００６９】
図８は修正情報ｓを用いた符号生成部５０７の実施形態である。図２との違いは、オフセット出力部５０９が追加されている点である。オフセット出力部５０９は、例えばｓ＝０の時の組合せ数の合計を出力する。ｓ＝１の場合は、このオフセット出力部５０９の出力が有効となり、Ｉ（ｘ）に加算される。
【００７０】
復号は、上記で説明した逆の手順をたどることにより一意に入力ベクトルを再生することができる。図９は、前述の第３の実施形態により生成された符号を復号する実施形態を示す。まず符号計算部６０１によりリーダｌ（ｙ’（ｘ））に対する符号Ｉ（ｌ（ｙ’（ｘ）））と修正情報ｓを出力する。符号Ｉ（ｌ（ｙ’（ｘ）））は、テーブル部６０２において図１２及び式（３）により復号され、リーダｌ（ｙ’（ｘ））が求められる。このとき同時にリーダの要素数Ｌ（ｌ（ｙ’（ｘ）））が計算できる。符号計算部６０１では、リーダの要素数Ｌ（ｌ（ｙ’（ｘ）））から図８と逆の手順によって修正振幅ベクトルの順位を表す符号Ｉ（ｙ’（ｘ））と位置ベクトルの符号Ｉ（ｐ（ｘ））を求める。修正振幅ベクトル生成部６０３では、テーブル部で生成されたリーダｌ（ｙ’（ｘ））の要素を修正振幅ベクトルの順位を表す符号Ｉ（ｙ’（ｘ））に基づき並べ替えることにより、修正振幅ベクトルｙ’（ｘ）を生成する。振幅ベクトル生成部６０４では、修正情報ｓに基づき、式（６）にしたがって修正振幅ベクトルｙ’（ｘ）より振幅ベクトルｙ（ｘ）を生成する。
【００７１】
位置ベクトル復号部６０５は、位置ベクトルの符号Ｉ（ｐ（ｘ））から位置ベクトルｐ（ｘ）を復号する。図１０は位置ベクトル復号部６０５の処理の例をフローチャートとして示したものであり、図２に示したフローチャートと対応する。まず、処理７０１において初期化が行われる。処理７０２は処理７０３、処理７０４及び処理７０５を実行するループのための初期化処理であり、処理７０４において、符号を示すＩが１つ前のループにおいて処理７０３で求められた値以上かつ処理７０３で求められた値未満であることを満たすまで、処理７０５によりｊを増加させてループを繰り返す。処理７０４において真と判定された場合は、処理７０６を実行する。この一連の処理を処理７０７が真となるまで繰り返す。最後に処理７０８において位置ベクトルの最後の要素が求められる。
【００７２】
以上のように求めた振幅ベクトル及び位置ベクトルより、出力ベクトル生成部６０６は出力ベクトルを生成する。
【００７３】
第１及び第２の実施形態についても、同様の方法により復号できる。
【００７４】
さらに、ここでは簡単のため、入力ベクトルを零の要素と非零の要素に分けることとして説明したが、入力ベクトル中一番出現頻度が高いものを零とみなせば、同様の方法を適用できることは明白である。
【００７５】
【発明の効果】
以上説明したように、本発明によれば、冗長を廃し、かつ計算量及びメモリ使用量を削減することができる。
【図面の簡単な説明】
【図１】第１の実施形態の符号化装置及び方法を示すブロック図である。
【図２】位置ベクトル符号化部における処理の第１の例を示すフローチャートである。
【図３】位置ベクトル符号化部における処理の第２の例を示すフローチャートである。
【図４】第２の実施形態の符号化装置及び方法を示すブロック図である。
【図５】第２の実施形態における符号生成部の例を示すブロック図である。
【図６】第２の実施形態におけるテーブル部の例を示すブロック図である。
【図７】第３の実施形態の符号化装置及び方法を示すブロック図である。
【図８】第３の実施形態における符号生成部の例を示すブロック図である。
【図９】第４の実施形態の復号装置及び方法を示すブロック図である。
【図１０】第４の実施形態における位置ベクトル復号部の処理の例を示すフローチャートである。
【図１１】第２の実施形態におけるテーブル部の表である。
【図１２】第３の実施形態におけるテーブル部の表である。
【符号の説明】
１０１・・・位置振幅計算部、１０２・・・位置ベクトル符号化部、１０３・・・振幅ベクトル符号化部、１０４・・・符号生成部、４０１・・・位置振幅計算部、４０２・・・位置ベクトル符号化部、４０３・・・振幅ベクトル並べ替え部、４０４・・・クラス内順位符号化部、４０５・・・テーブル部、４０６・・・符号生成部、４０７・・・零並び合計計算部、４０８・・・絶対値リーダ生成部、４０９・・・テーブル部、５０１・・・位置振幅計算部、５０２・・・位置ベクトル符号化部、５０３・・・符号反転部、５０４・・・修正振幅ベクトル並べ替え部、５０５・・・クラス内順位符号化部、５０６・・・テーブル部、５０７・・・符号生成部、５０８・・・零並び合計計算部、５０９・・・オフセット出力部、６０１・・・符号計算部、６０２・・・テーブル部、６０３・・・修正振幅ベクトル生成部、６０４・・・振幅ベクトル生成部、６０５・・・位置ベクトル復号部、６０６・・・出力ベクトル復号部。
【図１】
2004120623.tif 000009
【図２】
2004120623.tif 000010
【図３】
2004120623.tif 000011
【図４】
2004120623.tif 000012
【図５】
2004120623.tif 000013
【図６】
2004120623.tif 000014
【図７】
2004120623.tif 000015
【図８】
2004120623.tif 000016
【図９】
2004120623.tif 000017
【図１０】
2004120623.tif 000018
【図１１】
2004120623.tif 000019
【図１２】
2004120623.tif 000020