JP2004120623A - 符号化装置、符号化方法、復号装置及び復号方法 - Google Patents
符号化装置、符号化方法、復号装置及び復号方法 Download PDFInfo
- Publication number
- JP2004120623A JP2004120623A JP2002284119A JP2002284119A JP2004120623A JP 2004120623 A JP2004120623 A JP 2004120623A JP 2002284119 A JP2002284119 A JP 2002284119A JP 2002284119 A JP2002284119 A JP 2002284119A JP 2004120623 A JP2004120623 A JP 2004120623A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- elements
- encoding
- amplitude
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】パルス系列のようなデータのインデックス付けにおいて、冗長を廃し、かつ計算量及びメモリ使用量を削減する。
【解決手段】デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値(例えば、零)でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する位置振幅計算部101と、入力ベクトルの要素数から位置ベクトルの要素数を抜き出す全ての組合せにおける、位置ベクトルの順位を符号化する位置ベクトル符号化部102と、振幅ベクトルを符号化する振幅ベクトル符号化部103と、位置振幅計算部101による符号化結果と位置ベクトル符号化部102による符号化結果とを用いて入力ベクトルの符号を生成する符号生成部104とを備えた。
【選択図】 図1
【解決手段】デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値(例えば、零)でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する位置振幅計算部101と、入力ベクトルの要素数から位置ベクトルの要素数を抜き出す全ての組合せにおける、位置ベクトルの順位を符号化する位置ベクトル符号化部102と、振幅ベクトルを符号化する振幅ベクトル符号化部103と、位置振幅計算部101による符号化結果と位置ベクトル符号化部102による符号化結果とを用いて入力ベクトルの符号を生成する符号生成部104とを備えた。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、入力データをベクトル単位で符号化する符号化装置及び符号化方法、並びに、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置及び復号方法に関する。
【0002】
【従来の技術】
近年のCELP(Code Excited Linear Prediction)アルゴリズムを基礎とした低ビットレート音声符号化では、雑音符号帳として数本のパルスを用いるACELP符号帳を採用している。ITU−T勧告G.722.2(下記の非特許文献1参照)として採用された、広帯域音声符号化アルゴリズムも、ACELP符号帳を採用している。G.722.2で開示されているように、ACELPの符号化はパルスの位置と符号をパルス毎にインデックスを付ける方法が一般的であり、符号化に必要な演算量の低減に貢献している。ところが、各パルスのパルス位置と符号をインデックス付けする方法では、結果的に生成される符号帳ベクトルに対して複数のインデックスの割り当てが可能であり冗長である。これは、各パルスの位置が取り得る値が本来2のべき乗個ではないことに起因する。例えば、生成される符号帳ベクトルの長さが8で、2本のパルスが存在し、かつ1本目のパルスの位置が2本目のパルス位置より小さいという条件の元では一本目のパルス位置が8であることがありえない。
しかも、この冗長は符号帳当りのパルスの本数が増えていくに従い増加する。
【0003】
これを解決する手段として、各パルスではなく、結果的に生成される符号帳ベクトルに対してインデックスを割り当てる方法が考えられる。一般的なベクトル量子化では、生成される雑音符号帳ベクトルと対応するインデックスを辞書に格納するという方法が用いられるが、例えばG.722.2では、最大2の22乗(100万以上)もの候補の辞書を用意しなければならず、非効率である。
【0004】
ACELPの符号帳ベクトルは一種の多次元格子点であり、格子ベクトル量子化ともいえる。一般的な格子ベクトル量子化における効率的なインデックス付けの方法については、下記の非特許文献2に開示されている。この方法では、格子点を表すベクトルの要素を大きいものから順に並べたリーダを格納した辞書と、リーダの並べ替えの順を符号化する。ただし、この方法をACELPの符号帳ベクトルに適用した場合、特にリーダの並べ替えの順を計算する際に必要な以下の式(1)に基づく組合せ数の計算が多くなるという問題がある。
【0005】
【数1】
【0006】
さらには、16次元のリーダの符号化を行うための符号帳が大きく、メモリ量が多いという問題もある。これらは、ACELPの符号帳ベクトルに多く含まれる値が零である要素も一つの要素として計算することに起因する。このような方法で符号化された情報を復号する場合にも、符号化と同様の手順が必要なため、計算量とメモリ量の問題が同様に存在する。
【0007】
このようなG.722.2で使われているパルスの符号化と類似の方法として、画像符号化のDCT係数の符号化で用いられているRunとLevelに分け、それぞれを可変長符号化する方法がある。ここで、上記符号帳ベクトルのようにRunの値をいくつかまとめて可変長符号化する場合は、ベクトルの次元に応じてその符号化テーブルが爆発的に大きくなる。大規模なテーブルを効率的に参照し、目的の符号を求めるためには、上述のベクトル量子化と同様にRunベクトルのインデックス付けする方がよい。
【0008】
【非特許文献1】
ITU−T Recommendation G.722.2、 “Wideband coding of speech at around 16 kbit/s using adaptive multi−rate wideband (AMR−WB).”
【0009】
【非特許文献2】
P. Rault and C. Guillemot、 “Indexing Algorithm for Zn、 An、Dn and Dn++ Lattice Vector Quantizers”、 IEEE Trans. Multimedia、vol.3、no.4、 第395〜404ページ、December 2001.
【0010】
【発明が解決しようとする課題】
本発明は、上記問題点を解消するために成されたものであり、このようなパルス系列のようなデータのインデックス付けにおいて、冗長を廃し、かつ計算量及びメモリ使用量を削減することができる符号化装置、符号化方法、復号装置及び復号方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明によれば、上記目的は前記特許請求の範囲に記載した手段により達成される。
【0012】
上記目的を達成するために、本発明に係る符号化装置は、請求項1に記載したように、デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化手段と、前記振幅ベクトルを符号化する第2の符号化手段と、前記第1の符号化手段による符号化結果と前記第2の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第3の符号化手段とを具備することを特徴とする。
【0013】
また、本発明に係る符号化装置は、請求項2に記載したように、デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化手段と、前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、前記代表ベクトルを符号化する第2の符号化手段と、前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化手段と、前記第1の符号化手段による符号化結果と前記第2の符号化手段による符号化結果と前記第3の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第4の符号化手段とを具備することを特徴とする。
【0014】
また、本発明に係る符号化装置は、請求項3に記載したように、デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化手段と、前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成手段と、修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、前記代表ベクトルを符号化する第2の符号化手段と、前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化手段と、前記第1の符号化手段による符号化結果と前記第2の符号化手段による符号化結果と前記第3の符号化手段による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第4の符号化手段とを具備することを特徴とする。
【0015】
また、本発明に係る符号化装置では、請求項4に記載したように、前記第2の符号化手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、前記代表ベクトルと前記候補代表ベクトルとを比較する手段と、前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段とを具備することを特徴とする。
【0016】
また、本発明に係る符号化装置では、請求項5に記載したように、前記第2の符号化手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算手段と、前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第1の比較手段と、前記第1の比較手段において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出手段と、前記第1の比較手段において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第2の比較手段と、前記第2の比較手段において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出手段と、前記第1の組合せ数と前記第2の組合せ数との和を計算する手段とを具備することを特徴とする。
【0017】
また、本発明に係る符号化装置では、請求項6に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【0018】
また、本発明に係る符号化装置では、請求項7に記載したように、前記第4の符号化手段が、前記第2の符号化手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする。
【0019】
上記目的を達成するために、本発明に係る復号装置は、請求項8に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算手段と、前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第1の復号手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第2の復号手段と、前記第1の復号手段で再生された振幅ベクトルと前記第2の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段とを具備することを特徴とする。
【0020】
また、本発明に係る復号装置は、請求項9に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算手段と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号手段と、前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第2の復号手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号手段と、前記第2の復号手段で再生された振幅ベクトルと前記第3の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段とを具備することを特徴とする。
【0021】
また、本発明に係る復号装置は、請求項10に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算手段と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号手段と、前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第2の復号手段と、前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号手段と、前記第2の復号手段で再生された振幅ベクトルと前記第3の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段とを具備することを特徴とする。
【0022】
また、本発明に係る復号装置では、請求項11に記載したように、前記第1の復号手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段とを具備することを特徴とする。
【0023】
また、本発明に係る復号装置では、請求項12に記載したように、前記第1の復号手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出手段と、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出手段とを具備することを特徴とする。
【0024】
また、本発明に係る復号装置では、請求項13に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【0025】
また、本発明に係る復号装置では、請求項14に記載したように、前記計算手段は、前記第1の復号手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする。
【0026】
上記目的を達成するために、本発明に係る符号化方法は、請求項15に記載したように、デジタルデータをベクトルとして符号化する符号化方法において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化工程と、前記振幅ベクトルを符号化する第2の符号化工程と、前記第1の符号化工程による符号化結果と前記第2の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第3の符号化工程とを具備することを特徴とする。
【0027】
また、本発明に係る符号化方法は、請求項16に記載したように、デジタルデータをベクトルとして符号化する符号化方法において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化工程と、前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、前記代表ベクトルを符号化する第2の符号化工程と、前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化工程と、前記第1の符号化工程による符号化結果と前記第2の符号化工程による符号化結果と前記第3の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第4の符号化工程とを具備することを特徴とする。
【0028】
また、本発明に係る符号化方法は、請求項17に記載したように、デジタルデータをベクトルとして符号化する符号化方法において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化工程と、前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成工程と、修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、前記代表ベクトルを符号化する第2の符号化工程と、前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化工程と、前記第1の符号化工程による符号化結果と前記第2の符号化工程による符号化結果と前記第3の符号化工程による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第4の符号化工程とを具備することを特徴とする。
【0029】
また、本発明に係る符号化方法では、請求項18に記載したように、前記第2の符号化工程が、前記代表ベクトルと前記候補代表ベクトルとを比較する工程と、前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程とを含むことを特徴とする。
【0030】
また、本発明に係る符号化方法では、請求項19に記載したように、前記第2の符号化工程が、前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算工程と、前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第1の比較工程と、前記第1の比較工程において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出工程と、前記第1の比較工程において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第2の比較工程と、前記第2の比較工程において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出工程と、前記第1の組合せ数と前記第2の組合せ数との和を計算する工程とを含むことを特徴とする。
【0031】
また、本発明に係る符号化方法では、請求項20に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【0032】
また、本発明に係る符号化方法では、請求項21に記載したように、前記第4の符号化工程において、前記第2の符号化工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする。
【0033】
上記目的を達成するために、本発明に係る復号方法は、請求項22に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算工程と、前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第1の復号工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第2の復号工程と、前記第1の復号工程で再生された振幅ベクトルと前記第2の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程とを具備することを特徴とする。
【0034】
また、本発明に係る復号方法は、請求項23に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算工程と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号工程と、前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第2の復号工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号工程と、前記第2の復号工程で再生された振幅ベクトルと前記第3の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程とを具備することを特徴とする。
【0035】
また、本発明に係る復号方法は、請求項24に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算工程と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号工程と、前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第2の復号工程と、前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号工程と、前記第2の復号工程で再生された振幅ベクトルと前記第3の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程とを具備することを特徴とする。
【0036】
また、本発明に係る復号方法では、請求項25に記載したように、前記第1の復号工程が、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程を含むことを特徴とする。
【0037】
また、本発明に係る復号方法では、請求項26に記載したように、前記第1の復号工程が、すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出工程と、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出工程とを含むことを特徴とする。
【0038】
また、本発明に係る復号方法では、請求項27に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【0039】
また、本発明に係る復号方法では、請求項28に記載したように、前記計算工程において、前記第1の復号工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする。
【0040】
【発明の実施の形態】
以下、図面を用いて本発明に係る各種の実施形態を説明する。
【0041】
[第1の実施形態]
図1は、本発明の第1の実施形態を示したものである。まず位置振幅計算部101により、入力ベクトルxから零でない係数(以下「非零係数」という)のみを抽出し、非零係数の振幅ベクトルy(x)とその入力ベクトルにおける位置ベクトルp(x)とを計算する。なお、ここでは、「特定の数値」でない係数の抽出における、「特定の数値」として「零」の場合を説明するが、「零以外」の数値を採用してもよい。さらに必須ではないが、この例では位置振幅計算部101で振幅ベクトルy(x)の長さも求めることとしている。例えば、入力ベクトルxが(0、−2、0、0、0、1、0、0)であった場合、入力ベクトル算出部101の出力はそれぞれ振幅ベクトルy(x)が(−2、1)、位置ベクトルp(x)が(1、5)となり、また振幅ベクトルy(x)の長さL(y(x))は2となる。なお、ここでは入力ベクトルxの長さL(x)は固定としているが、別途L(x)を伝送することにより可変とすることも可能である。
【0042】
次に、第1の実施形態における位置ベクトル符号化部102の処理の例を図2に示すフローチャートで説明する。まず、初期化処理201を実行する。処理202はループのための初期化処理で、処理203を処理204においてjが(p(0)−1)と等しくなると判定されるまで、処理205においてjを1つずつ増やしながら繰り返す。処理204においてjがp(0)−1と等しいと判定された場合、処理206において、i、m、及び位置ベクトルpの更新を行う。処理207では、処理206において更新されたiが1と等しいかを判定する。iが1より大きい場合は、再び処理202に戻り、一連の処理を繰り返す。iが1と等しい場合には、処理208を実行して、処理が完了となる(209)。この時のI(p(x))が入力ベクトルxの位置ベクトルp(x)の符号として出力される。例のように、p(x)が(1、5)の場合は、i = L(p(x)) = 2、m = L(x) = 8、I(p(x)) = 0から始め、i=2の時、I(p(x))= 0 + 7C1 = 7。それぞれp(x) = (3)、m = 6、i = 1と更新される。i = 1なので、I(p(x)) = I(p(x)) + p(0) = 7 + 3=10となる。
【0043】
また、位置ベクトルp(x)を非零係数の位置ではなく、画像符号化におけるRun相当する非零係数間の零の個数として表現することも可能である。このとき、図2と同様の処理は、図3で示すフローチャートにより実現可能である。なお、処理は図2の場合と同様なので省略するが、図2と等しい結果が得られる。
【0044】
振幅ベクトル符号化部103及び符号生成部104については、スカラー量子化、ベクトル量子化、及びエントロピー符号化など一般的に公知となっている様々な方法を適用することができる。なお、符号生成部104の例については、以下の第2の実施形態において説明する。
【0045】
[第2の実施形態]
図4は本発明の第2の実施形態を示している。位置振幅計算部401及び位置ベクトル符号化部402の処理は第1の実施形態と同等なので、省略する。位置振幅計算部401で生成された振幅ベクトルy(x)は、まず並べ替え部403に入力される。並べ替え部403は、振幅ベクトルy(x)の要素を所定の規則に基づいて(ここでは一例として、大きい順に)並べ替えたリーダl(y(x))を生成する。なお、並べ替えは、大きい順に限定されるものではなく、小さい順でもよいし、その他の所定の並べ替え規則を採用してもよい。
【0046】
次に、振幅ベクトルy(x)とリーダl(y(x))がクラス内順位符号化部404に入力される。クラス内順位符号化部404は、振幅ベクトルy(x)の要素の並び方のリーダl(y(x))の要素を並べ替えることにより生成されるベクトル中の順位である符号I(y(x))を求める。例えば、非特許文献2に開示される方法を使うことができる。例のようにy(x)が(−2、1)の場合は、l(y(x))は(1、−2)となり、その並べ替えは[(1、−2)、 (−2、1)]の2通りがある。したがって、I(y(x))は1となる。
【0047】
リーダl(y(x))の符号I(l(y(x)))をテーブル部405を探索することにより求める。テーブル部405は、符号生成部406の処理に応じてその構成が決まる。
【0048】
符号生成部406は、位置ベクトル符号化部402の出力I(p(x))、クラス内順位符号化部404の出力I(y(x))及び符号帳の出力I(l(y(x)))より、入力ベクトルxを表す符号I(x)を生成する。符号I(x)を生成する方法は、様々に考えられる。例えば、入力された符号を算術符号やハフマン符号といったエントロピー符号化を適用する方法や、単純に一つの固定長符号にする方法があるが、ここでは、固定長符号とする方法について説明をする。
【0049】
図5は、固定長符号を生成する符号生成部406を示したものである。零並べ替え合計算出部407は、入力ベクトル中の非零要素数L(y(x))から、以下の式(2)で表される零の並び方の合計を求める。
【0050】
【数2】
【0051】
例では、L(x)=8、L(y(x))=2なので、零並べ替え合計算出部407の出力は28となる。符号化の処理は、この零並べ替え合計算出部407の出力とI(y(x))との積を取り、その結果とI(p(x))とI(l(y(x))との和を求めることで達成できる。ただし、I(l(y(x)))がこの符号化形式に沿った形で符号化されていなければならない。
【0052】
図11は、図5で示す符号化処理に沿ったI(l(y(x)))のテーブル部405の例を示している。第2列K(C(l(y(x))))は、第1列のリーダl(y(x))の可能な並べ替え数である。第3列K(C(l(x)))は、L(x)が8の場合にリーダl(x)の可能な並べ替え数を参考までに示している。ここで、K(C(l(y(x))))とK(C(l(x)))には、次のような関係がある。
【0053】
【数3】
【0054】
したがって、常にK(C(l(y(x)))) < K(C(l(x)))であり、K(C(l(x)))の代わりにK(C(l(y(x))))の値を格納することによって、必要なテーブルのメモリ量を少なくすることができる。さらに、K(C(l(x)))は、入力ベクトルxの長さL(x)に依存せず、かつL(x)が決まれば上式により、K(C(l(x)))を計算できることから、L(x)が可変の場合においても共通の表を使用することができる。また、右辺第2項は、並べ替え合計算出部407での計算と等しい。そのため、零並べ替え合計算出部407とテーブル部405のどちらか1回の計算でよい。もしくは、この値を表に格納すれば、零並べ替え合計算出部407とテーブル部405で共通の表を参照でき、メモリ量を削減できる。
【0055】
符号I(l(y(x)))の計算は、図11の上から順に、入力されたリーダl(y(x))が第1列のl(y(x))と一致するまで式(3)を計算し、I(l(y(x)))に加えていく。
【0056】
ここで、図11のようにl(y(x))を上からL1−norm順に記述すると、非特許文献1で用いられるACELP符号帳のように、パルスの振幅が決まっていてその本数が符号化レートにより異なっている場合にも、共通の表が使用できるため、テーブルに必要なメモリ量を削減できる。
【0057】
例のようにl(y(x))が(1、−2)の時、図11の表を使えば、I(l(y(x)))は216となる。したがって、入力ベクトルxに対する符号は、I(x)=I(y(x))・28+I(p(x))+I(l(y(x)))=1・28+10+216=254と求められる。
【0058】
図6は、テーブル部405の第2の実施形態を示している。絶対値リーダ生成部408は、リーダl(y(x))の各要素の絶対値を計算し、その結果を値が大きい順に並べ替えて、絶対値リーダ|l(y(x))|を生成する。例のようにl(y(x))が(1、 −2)の場合、絶対値リーダ|l(y(x))|は(2、 1)となる。リーダl(y(x))と絶対値リーダ|l(y(x))|により、テーブル部409の探索を行う。テーブル部409にも、例えば図11に示すものが利用できる。
【0059】
ここでは、例として図11のテーブルを探索する方法を説明する。まず、図11の上から順に、入力された絶対値リーダ|l(y(x))|とすべての要素が正であるl(y(x))との比較を行う。ここで、式(3)に相当する、絶対値リーダ|l(x)|で表されるすべての組合せは、次式で表現できる。
【0060】
【数4】
【0061】
比較で、一致しなかった場合には、式(4)を計算し結果をI(l(y(x)))に加算し、次のすべての要素が正であるl(y(x))との比較を行う。ここで、非特許文献2に示されているように、絶対値リーダ|l(y(x))|で表現されるl(y(x))の数N(|l(y(x))|)は、次式で求められる。
【0062】
【数5】
【0063】
ここで、nは絶対値リーダ|l(y(x))|の要素の内、異なる要素の個数であり、wiは異なる要素それぞれが絶対値リーダ|l(y(x))|中に現れる数である。例えば、|l(y(x))|が(3、3、3、2、1、1)であった場合、wiは(3、1、2)であり、nは3である。この時、N(|l(y(x))|)は、4×2×3=24となる。したがって、次の比較は、式(5)の計算結果分先の行のl(y(x))について行えばよく、絶対値リーダ|l(y(x))|が表中のl(y(x))と一致するまで、処理を続ける。一致した場合は、一致した行から前述のようにリーダl(y(x))が表中のl(y(x))と一致するまで式(3)の値を計算し、I(l(y(x)))に加算すればよい。
【0064】
[第3の実施形態]
図7は、本発明の第3の実施形態を示している。これは、図4に示す、第2の実施形態に振幅ベクトル修正部503を追加したものである。ここでは、振幅ベクトル修正部503とその追加により変更が必要なテーブル部506及び符号生成部507について説明する。その他は、第2の実施形態と同様である。
【0065】
振幅ベクトル修正部503は、振幅ベクトルy(x)を入力とし、修正情報sを出力するとともに、修正情報を元に修正された修正振幅ベクトルを生成する。振幅ベクトルを修正する方法は様々な方法が考えられるが、例えば式(6)のように振幅ベクトルの符号を反転させることが考えられる。
【0066】
【数6】
【0067】
ただし、l(y(x))が(2、 1、 −1、 −2)となる場合にはl(y(x))=l(−y(x))となるため、式(6)ではなく、例えば振幅ベクトルy(x)の要素を逆順に並べ替えたものを修正振幅ベクトルy’(x)とするような例外処理が必要である。
【0068】
図12は、図11と同等のテーブルを、この修正振幅ベクトルy’(x)のリーダl(y’(x))を基に探索する場合のテーブル部506を示したものである。修正振幅を用いることにより、図11と比較してサイズが半分程度に削減できる。
【0069】
図8は修正情報sを用いた符号生成部507の実施形態である。図2との違いは、オフセット出力部509が追加されている点である。オフセット出力部509は、例えばs=0の時の組合せ数の合計を出力する。s=1の場合は、このオフセット出力部509の出力が有効となり、I(x)に加算される。
【0070】
復号は、上記で説明した逆の手順をたどることにより一意に入力ベクトルを再生することができる。図9は、前述の第3の実施形態により生成された符号を復号する実施形態を示す。まず符号計算部601によりリーダl(y’(x))に対する符号I(l(y’(x)))と修正情報sを出力する。符号I(l(y’(x)))は、テーブル部602において図12及び式(3)により復号され、リーダl(y’(x))が求められる。このとき同時にリーダの要素数L(l(y’(x)))が計算できる。符号計算部601では、リーダの要素数L(l(y’(x)))から図8と逆の手順によって修正振幅ベクトルの順位を表す符号I(y’(x))と位置ベクトルの符号I(p(x))を求める。修正振幅ベクトル生成部603では、テーブル部で生成されたリーダl(y’(x))の要素を修正振幅ベクトルの順位を表す符号I(y’(x))に基づき並べ替えることにより、修正振幅ベクトルy’(x)を生成する。振幅ベクトル生成部604では、修正情報sに基づき、式(6)にしたがって修正振幅ベクトルy’(x)より振幅ベクトルy(x)を生成する。
【0071】
位置ベクトル復号部605は、位置ベクトルの符号I(p(x))から位置ベクトルp(x)を復号する。図10は位置ベクトル復号部605の処理の例をフローチャートとして示したものであり、図2に示したフローチャートと対応する。まず、処理701において初期化が行われる。処理702は処理703、処理704及び処理705を実行するループのための初期化処理であり、処理704において、符号を示すIが1つ前のループにおいて処理703で求められた値以上かつ処理703で求められた値未満であることを満たすまで、処理705によりjを増加させてループを繰り返す。処理704において真と判定された場合は、処理706を実行する。この一連の処理を処理707が真となるまで繰り返す。最後に処理708において位置ベクトルの最後の要素が求められる。
【0072】
以上のように求めた振幅ベクトル及び位置ベクトルより、出力ベクトル生成部606は出力ベクトルを生成する。
【0073】
第1及び第2の実施形態についても、同様の方法により復号できる。
【0074】
さらに、ここでは簡単のため、入力ベクトルを零の要素と非零の要素に分けることとして説明したが、入力ベクトル中一番出現頻度が高いものを零とみなせば、同様の方法を適用できることは明白である。
【0075】
【発明の効果】
以上説明したように、本発明によれば、冗長を廃し、かつ計算量及びメモリ使用量を削減することができる。
【図面の簡単な説明】
【図1】第1の実施形態の符号化装置及び方法を示すブロック図である。
【図2】位置ベクトル符号化部における処理の第1の例を示すフローチャートである。
【図3】位置ベクトル符号化部における処理の第2の例を示すフローチャートである。
【図4】第2の実施形態の符号化装置及び方法を示すブロック図である。
【図5】第2の実施形態における符号生成部の例を示すブロック図である。
【図6】第2の実施形態におけるテーブル部の例を示すブロック図である。
【図7】第3の実施形態の符号化装置及び方法を示すブロック図である。
【図8】第3の実施形態における符号生成部の例を示すブロック図である。
【図9】第4の実施形態の復号装置及び方法を示すブロック図である。
【図10】第4の実施形態における位置ベクトル復号部の処理の例を示すフローチャートである。
【図11】第2の実施形態におけるテーブル部の表である。
【図12】第3の実施形態におけるテーブル部の表である。
【符号の説明】
101・・・位置振幅計算部、102・・・位置ベクトル符号化部、103・・・振幅ベクトル符号化部、104・・・符号生成部、401・・・位置振幅計算部、402・・・位置ベクトル符号化部、403・・・振幅ベクトル並べ替え部、404・・・クラス内順位符号化部、405・・・テーブル部、406・・・符号生成部、407・・・零並び合計計算部、408・・・絶対値リーダ生成部、409・・・テーブル部、501・・・位置振幅計算部、502・・・位置ベクトル符号化部、503・・・符号反転部、504・・・修正振幅ベクトル並べ替え部、505・・・クラス内順位符号化部、506・・・テーブル部、507・・・符号生成部、508・・・零並び合計計算部、509・・・オフセット出力部、601・・・符号計算部、602・・・テーブル部、603・・・修正振幅ベクトル生成部、604・・・振幅ベクトル生成部、605・・・位置ベクトル復号部、606・・・出力ベクトル復号部。
【発明の属する技術分野】
本発明は、入力データをベクトル単位で符号化する符号化装置及び符号化方法、並びに、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置及び復号方法に関する。
【0002】
【従来の技術】
近年のCELP(Code Excited Linear Prediction)アルゴリズムを基礎とした低ビットレート音声符号化では、雑音符号帳として数本のパルスを用いるACELP符号帳を採用している。ITU−T勧告G.722.2(下記の非特許文献1参照)として採用された、広帯域音声符号化アルゴリズムも、ACELP符号帳を採用している。G.722.2で開示されているように、ACELPの符号化はパルスの位置と符号をパルス毎にインデックスを付ける方法が一般的であり、符号化に必要な演算量の低減に貢献している。ところが、各パルスのパルス位置と符号をインデックス付けする方法では、結果的に生成される符号帳ベクトルに対して複数のインデックスの割り当てが可能であり冗長である。これは、各パルスの位置が取り得る値が本来2のべき乗個ではないことに起因する。例えば、生成される符号帳ベクトルの長さが8で、2本のパルスが存在し、かつ1本目のパルスの位置が2本目のパルス位置より小さいという条件の元では一本目のパルス位置が8であることがありえない。
しかも、この冗長は符号帳当りのパルスの本数が増えていくに従い増加する。
【0003】
これを解決する手段として、各パルスではなく、結果的に生成される符号帳ベクトルに対してインデックスを割り当てる方法が考えられる。一般的なベクトル量子化では、生成される雑音符号帳ベクトルと対応するインデックスを辞書に格納するという方法が用いられるが、例えばG.722.2では、最大2の22乗(100万以上)もの候補の辞書を用意しなければならず、非効率である。
【0004】
ACELPの符号帳ベクトルは一種の多次元格子点であり、格子ベクトル量子化ともいえる。一般的な格子ベクトル量子化における効率的なインデックス付けの方法については、下記の非特許文献2に開示されている。この方法では、格子点を表すベクトルの要素を大きいものから順に並べたリーダを格納した辞書と、リーダの並べ替えの順を符号化する。ただし、この方法をACELPの符号帳ベクトルに適用した場合、特にリーダの並べ替えの順を計算する際に必要な以下の式(1)に基づく組合せ数の計算が多くなるという問題がある。
【0005】
【数1】
【0006】
さらには、16次元のリーダの符号化を行うための符号帳が大きく、メモリ量が多いという問題もある。これらは、ACELPの符号帳ベクトルに多く含まれる値が零である要素も一つの要素として計算することに起因する。このような方法で符号化された情報を復号する場合にも、符号化と同様の手順が必要なため、計算量とメモリ量の問題が同様に存在する。
【0007】
このようなG.722.2で使われているパルスの符号化と類似の方法として、画像符号化のDCT係数の符号化で用いられているRunとLevelに分け、それぞれを可変長符号化する方法がある。ここで、上記符号帳ベクトルのようにRunの値をいくつかまとめて可変長符号化する場合は、ベクトルの次元に応じてその符号化テーブルが爆発的に大きくなる。大規模なテーブルを効率的に参照し、目的の符号を求めるためには、上述のベクトル量子化と同様にRunベクトルのインデックス付けする方がよい。
【0008】
【非特許文献1】
ITU−T Recommendation G.722.2、 “Wideband coding of speech at around 16 kbit/s using adaptive multi−rate wideband (AMR−WB).”
【0009】
【非特許文献2】
P. Rault and C. Guillemot、 “Indexing Algorithm for Zn、 An、Dn and Dn++ Lattice Vector Quantizers”、 IEEE Trans. Multimedia、vol.3、no.4、 第395〜404ページ、December 2001.
【0010】
【発明が解決しようとする課題】
本発明は、上記問題点を解消するために成されたものであり、このようなパルス系列のようなデータのインデックス付けにおいて、冗長を廃し、かつ計算量及びメモリ使用量を削減することができる符号化装置、符号化方法、復号装置及び復号方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明によれば、上記目的は前記特許請求の範囲に記載した手段により達成される。
【0012】
上記目的を達成するために、本発明に係る符号化装置は、請求項1に記載したように、デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化手段と、前記振幅ベクトルを符号化する第2の符号化手段と、前記第1の符号化手段による符号化結果と前記第2の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第3の符号化手段とを具備することを特徴とする。
【0013】
また、本発明に係る符号化装置は、請求項2に記載したように、デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化手段と、前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、前記代表ベクトルを符号化する第2の符号化手段と、前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化手段と、前記第1の符号化手段による符号化結果と前記第2の符号化手段による符号化結果と前記第3の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第4の符号化手段とを具備することを特徴とする。
【0014】
また、本発明に係る符号化装置は、請求項3に記載したように、デジタルデータをベクトルとして符号化する符号化装置において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化手段と、前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成手段と、修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、前記代表ベクトルを符号化する第2の符号化手段と、前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化手段と、前記第1の符号化手段による符号化結果と前記第2の符号化手段による符号化結果と前記第3の符号化手段による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第4の符号化手段とを具備することを特徴とする。
【0015】
また、本発明に係る符号化装置では、請求項4に記載したように、前記第2の符号化手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、前記代表ベクトルと前記候補代表ベクトルとを比較する手段と、前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段とを具備することを特徴とする。
【0016】
また、本発明に係る符号化装置では、請求項5に記載したように、前記第2の符号化手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算手段と、前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第1の比較手段と、前記第1の比較手段において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出手段と、前記第1の比較手段において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第2の比較手段と、前記第2の比較手段において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出手段と、前記第1の組合せ数と前記第2の組合せ数との和を計算する手段とを具備することを特徴とする。
【0017】
また、本発明に係る符号化装置では、請求項6に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【0018】
また、本発明に係る符号化装置では、請求項7に記載したように、前記第4の符号化手段が、前記第2の符号化手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする。
【0019】
上記目的を達成するために、本発明に係る復号装置は、請求項8に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算手段と、前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第1の復号手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第2の復号手段と、前記第1の復号手段で再生された振幅ベクトルと前記第2の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段とを具備することを特徴とする。
【0020】
また、本発明に係る復号装置は、請求項9に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算手段と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号手段と、前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第2の復号手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号手段と、前記第2の復号手段で再生された振幅ベクトルと前記第3の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段とを具備することを特徴とする。
【0021】
また、本発明に係る復号装置は、請求項10に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算手段と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号手段と、前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第2の復号手段と、前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号手段と、前記第2の復号手段で再生された振幅ベクトルと前記第3の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段とを具備することを特徴とする。
【0022】
また、本発明に係る復号装置では、請求項11に記載したように、前記第1の復号手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段とを具備することを特徴とする。
【0023】
また、本発明に係る復号装置では、請求項12に記載したように、前記第1の復号手段が、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出手段と、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出手段とを具備することを特徴とする。
【0024】
また、本発明に係る復号装置では、請求項13に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【0025】
また、本発明に係る復号装置では、請求項14に記載したように、前記計算手段は、前記第1の復号手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする。
【0026】
上記目的を達成するために、本発明に係る符号化方法は、請求項15に記載したように、デジタルデータをベクトルとして符号化する符号化方法において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化工程と、前記振幅ベクトルを符号化する第2の符号化工程と、前記第1の符号化工程による符号化結果と前記第2の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第3の符号化工程とを具備することを特徴とする。
【0027】
また、本発明に係る符号化方法は、請求項16に記載したように、デジタルデータをベクトルとして符号化する符号化方法において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化工程と、前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、前記代表ベクトルを符号化する第2の符号化工程と、前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化工程と、前記第1の符号化工程による符号化結果と前記第2の符号化工程による符号化結果と前記第3の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第4の符号化工程とを具備することを特徴とする。
【0028】
また、本発明に係る符号化方法は、請求項17に記載したように、デジタルデータをベクトルとして符号化する符号化方法において、入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化工程と、前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成工程と、修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、前記代表ベクトルを符号化する第2の符号化工程と、前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化工程と、前記第1の符号化工程による符号化結果と前記第2の符号化工程による符号化結果と前記第3の符号化工程による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第4の符号化工程とを具備することを特徴とする。
【0029】
また、本発明に係る符号化方法では、請求項18に記載したように、前記第2の符号化工程が、前記代表ベクトルと前記候補代表ベクトルとを比較する工程と、前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程とを含むことを特徴とする。
【0030】
また、本発明に係る符号化方法では、請求項19に記載したように、前記第2の符号化工程が、前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算工程と、前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第1の比較工程と、前記第1の比較工程において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出工程と、前記第1の比較工程において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第2の比較工程と、前記第2の比較工程において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出工程と、前記第1の組合せ数と前記第2の組合せ数との和を計算する工程とを含むことを特徴とする。
【0031】
また、本発明に係る符号化方法では、請求項20に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【0032】
また、本発明に係る符号化方法では、請求項21に記載したように、前記第4の符号化工程において、前記第2の符号化工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする。
【0033】
上記目的を達成するために、本発明に係る復号方法は、請求項22に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算工程と、前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第1の復号工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第2の復号工程と、前記第1の復号工程で再生された振幅ベクトルと前記第2の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程とを具備することを特徴とする。
【0034】
また、本発明に係る復号方法は、請求項23に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算工程と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号工程と、前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第2の復号工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号工程と、前記第2の復号工程で再生された振幅ベクトルと前記第3の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程とを具備することを特徴とする。
【0035】
また、本発明に係る復号方法は、請求項24に記載したように、入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算工程と、前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号工程と、前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第2の復号工程と、前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号工程と、前記第2の復号工程で再生された振幅ベクトルと前記第3の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程とを具備することを特徴とする。
【0036】
また、本発明に係る復号方法では、請求項25に記載したように、前記第1の復号工程が、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程を含むことを特徴とする。
【0037】
また、本発明に係る復号方法では、請求項26に記載したように、前記第1の復号工程が、すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出工程と、前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出工程とを含むことを特徴とする。
【0038】
また、本発明に係る復号方法では、請求項27に記載したように、前記表において、前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする。
【0039】
また、本発明に係る復号方法では、請求項28に記載したように、前記計算工程において、前記第1の復号工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする。
【0040】
【発明の実施の形態】
以下、図面を用いて本発明に係る各種の実施形態を説明する。
【0041】
[第1の実施形態]
図1は、本発明の第1の実施形態を示したものである。まず位置振幅計算部101により、入力ベクトルxから零でない係数(以下「非零係数」という)のみを抽出し、非零係数の振幅ベクトルy(x)とその入力ベクトルにおける位置ベクトルp(x)とを計算する。なお、ここでは、「特定の数値」でない係数の抽出における、「特定の数値」として「零」の場合を説明するが、「零以外」の数値を採用してもよい。さらに必須ではないが、この例では位置振幅計算部101で振幅ベクトルy(x)の長さも求めることとしている。例えば、入力ベクトルxが(0、−2、0、0、0、1、0、0)であった場合、入力ベクトル算出部101の出力はそれぞれ振幅ベクトルy(x)が(−2、1)、位置ベクトルp(x)が(1、5)となり、また振幅ベクトルy(x)の長さL(y(x))は2となる。なお、ここでは入力ベクトルxの長さL(x)は固定としているが、別途L(x)を伝送することにより可変とすることも可能である。
【0042】
次に、第1の実施形態における位置ベクトル符号化部102の処理の例を図2に示すフローチャートで説明する。まず、初期化処理201を実行する。処理202はループのための初期化処理で、処理203を処理204においてjが(p(0)−1)と等しくなると判定されるまで、処理205においてjを1つずつ増やしながら繰り返す。処理204においてjがp(0)−1と等しいと判定された場合、処理206において、i、m、及び位置ベクトルpの更新を行う。処理207では、処理206において更新されたiが1と等しいかを判定する。iが1より大きい場合は、再び処理202に戻り、一連の処理を繰り返す。iが1と等しい場合には、処理208を実行して、処理が完了となる(209)。この時のI(p(x))が入力ベクトルxの位置ベクトルp(x)の符号として出力される。例のように、p(x)が(1、5)の場合は、i = L(p(x)) = 2、m = L(x) = 8、I(p(x)) = 0から始め、i=2の時、I(p(x))= 0 + 7C1 = 7。それぞれp(x) = (3)、m = 6、i = 1と更新される。i = 1なので、I(p(x)) = I(p(x)) + p(0) = 7 + 3=10となる。
【0043】
また、位置ベクトルp(x)を非零係数の位置ではなく、画像符号化におけるRun相当する非零係数間の零の個数として表現することも可能である。このとき、図2と同様の処理は、図3で示すフローチャートにより実現可能である。なお、処理は図2の場合と同様なので省略するが、図2と等しい結果が得られる。
【0044】
振幅ベクトル符号化部103及び符号生成部104については、スカラー量子化、ベクトル量子化、及びエントロピー符号化など一般的に公知となっている様々な方法を適用することができる。なお、符号生成部104の例については、以下の第2の実施形態において説明する。
【0045】
[第2の実施形態]
図4は本発明の第2の実施形態を示している。位置振幅計算部401及び位置ベクトル符号化部402の処理は第1の実施形態と同等なので、省略する。位置振幅計算部401で生成された振幅ベクトルy(x)は、まず並べ替え部403に入力される。並べ替え部403は、振幅ベクトルy(x)の要素を所定の規則に基づいて(ここでは一例として、大きい順に)並べ替えたリーダl(y(x))を生成する。なお、並べ替えは、大きい順に限定されるものではなく、小さい順でもよいし、その他の所定の並べ替え規則を採用してもよい。
【0046】
次に、振幅ベクトルy(x)とリーダl(y(x))がクラス内順位符号化部404に入力される。クラス内順位符号化部404は、振幅ベクトルy(x)の要素の並び方のリーダl(y(x))の要素を並べ替えることにより生成されるベクトル中の順位である符号I(y(x))を求める。例えば、非特許文献2に開示される方法を使うことができる。例のようにy(x)が(−2、1)の場合は、l(y(x))は(1、−2)となり、その並べ替えは[(1、−2)、 (−2、1)]の2通りがある。したがって、I(y(x))は1となる。
【0047】
リーダl(y(x))の符号I(l(y(x)))をテーブル部405を探索することにより求める。テーブル部405は、符号生成部406の処理に応じてその構成が決まる。
【0048】
符号生成部406は、位置ベクトル符号化部402の出力I(p(x))、クラス内順位符号化部404の出力I(y(x))及び符号帳の出力I(l(y(x)))より、入力ベクトルxを表す符号I(x)を生成する。符号I(x)を生成する方法は、様々に考えられる。例えば、入力された符号を算術符号やハフマン符号といったエントロピー符号化を適用する方法や、単純に一つの固定長符号にする方法があるが、ここでは、固定長符号とする方法について説明をする。
【0049】
図5は、固定長符号を生成する符号生成部406を示したものである。零並べ替え合計算出部407は、入力ベクトル中の非零要素数L(y(x))から、以下の式(2)で表される零の並び方の合計を求める。
【0050】
【数2】
【0051】
例では、L(x)=8、L(y(x))=2なので、零並べ替え合計算出部407の出力は28となる。符号化の処理は、この零並べ替え合計算出部407の出力とI(y(x))との積を取り、その結果とI(p(x))とI(l(y(x))との和を求めることで達成できる。ただし、I(l(y(x)))がこの符号化形式に沿った形で符号化されていなければならない。
【0052】
図11は、図5で示す符号化処理に沿ったI(l(y(x)))のテーブル部405の例を示している。第2列K(C(l(y(x))))は、第1列のリーダl(y(x))の可能な並べ替え数である。第3列K(C(l(x)))は、L(x)が8の場合にリーダl(x)の可能な並べ替え数を参考までに示している。ここで、K(C(l(y(x))))とK(C(l(x)))には、次のような関係がある。
【0053】
【数3】
【0054】
したがって、常にK(C(l(y(x)))) < K(C(l(x)))であり、K(C(l(x)))の代わりにK(C(l(y(x))))の値を格納することによって、必要なテーブルのメモリ量を少なくすることができる。さらに、K(C(l(x)))は、入力ベクトルxの長さL(x)に依存せず、かつL(x)が決まれば上式により、K(C(l(x)))を計算できることから、L(x)が可変の場合においても共通の表を使用することができる。また、右辺第2項は、並べ替え合計算出部407での計算と等しい。そのため、零並べ替え合計算出部407とテーブル部405のどちらか1回の計算でよい。もしくは、この値を表に格納すれば、零並べ替え合計算出部407とテーブル部405で共通の表を参照でき、メモリ量を削減できる。
【0055】
符号I(l(y(x)))の計算は、図11の上から順に、入力されたリーダl(y(x))が第1列のl(y(x))と一致するまで式(3)を計算し、I(l(y(x)))に加えていく。
【0056】
ここで、図11のようにl(y(x))を上からL1−norm順に記述すると、非特許文献1で用いられるACELP符号帳のように、パルスの振幅が決まっていてその本数が符号化レートにより異なっている場合にも、共通の表が使用できるため、テーブルに必要なメモリ量を削減できる。
【0057】
例のようにl(y(x))が(1、−2)の時、図11の表を使えば、I(l(y(x)))は216となる。したがって、入力ベクトルxに対する符号は、I(x)=I(y(x))・28+I(p(x))+I(l(y(x)))=1・28+10+216=254と求められる。
【0058】
図6は、テーブル部405の第2の実施形態を示している。絶対値リーダ生成部408は、リーダl(y(x))の各要素の絶対値を計算し、その結果を値が大きい順に並べ替えて、絶対値リーダ|l(y(x))|を生成する。例のようにl(y(x))が(1、 −2)の場合、絶対値リーダ|l(y(x))|は(2、 1)となる。リーダl(y(x))と絶対値リーダ|l(y(x))|により、テーブル部409の探索を行う。テーブル部409にも、例えば図11に示すものが利用できる。
【0059】
ここでは、例として図11のテーブルを探索する方法を説明する。まず、図11の上から順に、入力された絶対値リーダ|l(y(x))|とすべての要素が正であるl(y(x))との比較を行う。ここで、式(3)に相当する、絶対値リーダ|l(x)|で表されるすべての組合せは、次式で表現できる。
【0060】
【数4】
【0061】
比較で、一致しなかった場合には、式(4)を計算し結果をI(l(y(x)))に加算し、次のすべての要素が正であるl(y(x))との比較を行う。ここで、非特許文献2に示されているように、絶対値リーダ|l(y(x))|で表現されるl(y(x))の数N(|l(y(x))|)は、次式で求められる。
【0062】
【数5】
【0063】
ここで、nは絶対値リーダ|l(y(x))|の要素の内、異なる要素の個数であり、wiは異なる要素それぞれが絶対値リーダ|l(y(x))|中に現れる数である。例えば、|l(y(x))|が(3、3、3、2、1、1)であった場合、wiは(3、1、2)であり、nは3である。この時、N(|l(y(x))|)は、4×2×3=24となる。したがって、次の比較は、式(5)の計算結果分先の行のl(y(x))について行えばよく、絶対値リーダ|l(y(x))|が表中のl(y(x))と一致するまで、処理を続ける。一致した場合は、一致した行から前述のようにリーダl(y(x))が表中のl(y(x))と一致するまで式(3)の値を計算し、I(l(y(x)))に加算すればよい。
【0064】
[第3の実施形態]
図7は、本発明の第3の実施形態を示している。これは、図4に示す、第2の実施形態に振幅ベクトル修正部503を追加したものである。ここでは、振幅ベクトル修正部503とその追加により変更が必要なテーブル部506及び符号生成部507について説明する。その他は、第2の実施形態と同様である。
【0065】
振幅ベクトル修正部503は、振幅ベクトルy(x)を入力とし、修正情報sを出力するとともに、修正情報を元に修正された修正振幅ベクトルを生成する。振幅ベクトルを修正する方法は様々な方法が考えられるが、例えば式(6)のように振幅ベクトルの符号を反転させることが考えられる。
【0066】
【数6】
【0067】
ただし、l(y(x))が(2、 1、 −1、 −2)となる場合にはl(y(x))=l(−y(x))となるため、式(6)ではなく、例えば振幅ベクトルy(x)の要素を逆順に並べ替えたものを修正振幅ベクトルy’(x)とするような例外処理が必要である。
【0068】
図12は、図11と同等のテーブルを、この修正振幅ベクトルy’(x)のリーダl(y’(x))を基に探索する場合のテーブル部506を示したものである。修正振幅を用いることにより、図11と比較してサイズが半分程度に削減できる。
【0069】
図8は修正情報sを用いた符号生成部507の実施形態である。図2との違いは、オフセット出力部509が追加されている点である。オフセット出力部509は、例えばs=0の時の組合せ数の合計を出力する。s=1の場合は、このオフセット出力部509の出力が有効となり、I(x)に加算される。
【0070】
復号は、上記で説明した逆の手順をたどることにより一意に入力ベクトルを再生することができる。図9は、前述の第3の実施形態により生成された符号を復号する実施形態を示す。まず符号計算部601によりリーダl(y’(x))に対する符号I(l(y’(x)))と修正情報sを出力する。符号I(l(y’(x)))は、テーブル部602において図12及び式(3)により復号され、リーダl(y’(x))が求められる。このとき同時にリーダの要素数L(l(y’(x)))が計算できる。符号計算部601では、リーダの要素数L(l(y’(x)))から図8と逆の手順によって修正振幅ベクトルの順位を表す符号I(y’(x))と位置ベクトルの符号I(p(x))を求める。修正振幅ベクトル生成部603では、テーブル部で生成されたリーダl(y’(x))の要素を修正振幅ベクトルの順位を表す符号I(y’(x))に基づき並べ替えることにより、修正振幅ベクトルy’(x)を生成する。振幅ベクトル生成部604では、修正情報sに基づき、式(6)にしたがって修正振幅ベクトルy’(x)より振幅ベクトルy(x)を生成する。
【0071】
位置ベクトル復号部605は、位置ベクトルの符号I(p(x))から位置ベクトルp(x)を復号する。図10は位置ベクトル復号部605の処理の例をフローチャートとして示したものであり、図2に示したフローチャートと対応する。まず、処理701において初期化が行われる。処理702は処理703、処理704及び処理705を実行するループのための初期化処理であり、処理704において、符号を示すIが1つ前のループにおいて処理703で求められた値以上かつ処理703で求められた値未満であることを満たすまで、処理705によりjを増加させてループを繰り返す。処理704において真と判定された場合は、処理706を実行する。この一連の処理を処理707が真となるまで繰り返す。最後に処理708において位置ベクトルの最後の要素が求められる。
【0072】
以上のように求めた振幅ベクトル及び位置ベクトルより、出力ベクトル生成部606は出力ベクトルを生成する。
【0073】
第1及び第2の実施形態についても、同様の方法により復号できる。
【0074】
さらに、ここでは簡単のため、入力ベクトルを零の要素と非零の要素に分けることとして説明したが、入力ベクトル中一番出現頻度が高いものを零とみなせば、同様の方法を適用できることは明白である。
【0075】
【発明の効果】
以上説明したように、本発明によれば、冗長を廃し、かつ計算量及びメモリ使用量を削減することができる。
【図面の簡単な説明】
【図1】第1の実施形態の符号化装置及び方法を示すブロック図である。
【図2】位置ベクトル符号化部における処理の第1の例を示すフローチャートである。
【図3】位置ベクトル符号化部における処理の第2の例を示すフローチャートである。
【図4】第2の実施形態の符号化装置及び方法を示すブロック図である。
【図5】第2の実施形態における符号生成部の例を示すブロック図である。
【図6】第2の実施形態におけるテーブル部の例を示すブロック図である。
【図7】第3の実施形態の符号化装置及び方法を示すブロック図である。
【図8】第3の実施形態における符号生成部の例を示すブロック図である。
【図9】第4の実施形態の復号装置及び方法を示すブロック図である。
【図10】第4の実施形態における位置ベクトル復号部の処理の例を示すフローチャートである。
【図11】第2の実施形態におけるテーブル部の表である。
【図12】第3の実施形態におけるテーブル部の表である。
【符号の説明】
101・・・位置振幅計算部、102・・・位置ベクトル符号化部、103・・・振幅ベクトル符号化部、104・・・符号生成部、401・・・位置振幅計算部、402・・・位置ベクトル符号化部、403・・・振幅ベクトル並べ替え部、404・・・クラス内順位符号化部、405・・・テーブル部、406・・・符号生成部、407・・・零並び合計計算部、408・・・絶対値リーダ生成部、409・・・テーブル部、501・・・位置振幅計算部、502・・・位置ベクトル符号化部、503・・・符号反転部、504・・・修正振幅ベクトル並べ替え部、505・・・クラス内順位符号化部、506・・・テーブル部、507・・・符号生成部、508・・・零並び合計計算部、509・・・オフセット出力部、601・・・符号計算部、602・・・テーブル部、603・・・修正振幅ベクトル生成部、604・・・振幅ベクトル生成部、605・・・位置ベクトル復号部、606・・・出力ベクトル復号部。
Claims (28)
- デジタルデータをベクトルとして符号化する符号化装置において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化手段と、
前記振幅ベクトルを符号化する第2の符号化手段と、
前記第1の符号化手段による符号化結果と前記第2の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第3の符号化手段と、
を具備することを特徴とする符号化装置。 - デジタルデータをベクトルとして符号化する符号化装置において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化手段と、
前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、
前記代表ベクトルを符号化する第2の符号化手段と、
前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化手段と、
前記第1の符号化手段による符号化結果と前記第2の符号化手段による符号化結果と前記第3の符号化手段による符号化結果とを用いて、前記入力ベクトルの符号を生成する第4の符号化手段と、
を具備することを特徴とする符号化装置。 - デジタルデータをベクトルとして符号化する符号化装置において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算手段と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化手段と、
前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成手段と、
修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出手段と、
前記代表ベクトルを符号化する第2の符号化手段と、
前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化手段と、
前記第1の符号化手段による符号化結果と前記第2の符号化手段による符号化結果と前記第3の符号化手段による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第4の符号化手段と、
を具備することを特徴とする符号化装置。 - 前記第2の符号化手段は、
候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、
前記代表ベクトルと前記候補代表ベクトルとを比較する手段と、
前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段と、
を具備することを特徴とする請求項2又は3に記載の符号化装置。 - 前記第2の符号化手段は、
候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、
前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算手段と、
前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第1の比較手段と、
前記第1の比較手段において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出手段と、
前記第1の比較手段において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第2の比較手段と、
前記第2の比較手段において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出手段と、
前記第1の組合せ数と前記第2の組合せ数との和を計算する手段と、
を具備することを特徴とする請求項2又は3に記載の符号化装置。 - 前記表では、
前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする請求項4又は5に記載の符号化装置。 - 前記第4の符号化手段は、
前記第2の符号化手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする請求項4〜6の何れか1項に記載の符号化装置。 - 入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算手段と、
前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第1の復号手段と、
前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第2の復号手段と、
前記第1の復号手段で再生された振幅ベクトルと前記第2の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段と、
を具備することを特徴とする復号装置。 - 入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算手段と、
前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号手段と、
前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第2の復号手段と、
前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号手段と、
前記第2の復号手段で再生された振幅ベクトルと前記第3の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段と、
を具備することを特徴とする復号装置。 - 入力された符号からデジタルデータを出力ベクトルとして復号する復号装置において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算手段と、
前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号手段と、
前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第2の復号手段と、
前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する手段と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号手段と、
前記第2の復号手段で再生された振幅ベクトルと前記第3の復号手段で再生された位置ベクトルから、出力ベクトルを再生する再生手段と、
を具備することを特徴とする復号装置。 - 前記第1の復号手段は、
候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、
前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出手段と、
を具備することを特徴とする請求項9又は10に記載の復号装置。 - 前記第1の復号手段は、
候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表と、
すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、前記表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出手段と、
前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出手段と、
を具備することを特徴とする請求項9又は10に記載の復号装置。 - 前記表では、
前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする請求項11又は12に記載の復号装置。 - 前記計算手段は、
前記第1の復号手段における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする請求項11〜13の何れか1項に記載の復号装置。 - デジタルデータをベクトルとして符号化する符号化方法において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化工程と、
前記振幅ベクトルを符号化する第2の符号化工程と、
前記第1の符号化工程による符号化結果と前記第2の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第3の符号化工程と、
を具備することを特徴とする符号化方法。 - デジタルデータをベクトルとして符号化する符号化方法において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化工程と、
前記振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、
前記代表ベクトルを符号化する第2の符号化工程と、
前記振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化工程と、
前記第1の符号化工程による符号化結果と前記第2の符号化工程による符号化結果と前記第3の符号化工程による符号化結果とを用いて、前記入力ベクトルの符号を生成する第4の符号化工程と、
を具備することを特徴とする符号化方法。 - デジタルデータをベクトルとして符号化する符号化方法において、
入力された入力ベクトルのうち特定の数値でない要素のみを抽出し、抽出された要素の位置情報を示す位置ベクトルと前記要素の振幅情報を示す振幅ベクトルとを計算する計算工程と、
前記入力ベクトルの要素数から前記位置ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位を符号化する第1の符号化工程と、
前記振幅ベクトルの符号を算出するとともに、前記振幅ベクトルを所定の規則に基づいて修正する符号生成工程と、
修正後の修正振幅ベクトルの要素を所定の規則に基づいて並べ替えることで得られる代表ベクトルを算出する代表ベクトル算出工程と、
前記代表ベクトルを符号化する第2の符号化工程と、
前記修正振幅ベクトルを、前記代表ベクトルの要素を並べ替える順位として符号化する第3の符号化工程と、
前記第1の符号化工程による符号化結果と前記第2の符号化工程による符号化結果と前記第3の符号化工程による符号化結果と前記振幅ベクトルの符号とを用いて、前記入力ベクトルの符号を生成する第4の符号化工程と、
を具備することを特徴とする符号化方法。 - 前記第2の符号化工程は、
前記代表ベクトルと前記候補代表ベクトルとを比較する工程と、
前記比較において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程と、
を含むことを特徴とする請求項16又は17に記載の符号化方法。 - 前記第2の符号化工程は、
前記代表ベクトルの要素の絶対値を値の大きいものから並べた絶対値代表ベクトルを計算する計算工程と、
前記絶対値代表ベクトルとすべての要素が正である前記候補代表ベクトルとを比較する第1の比較工程と、
前記第1の比較工程において不一致と判定された場合に、前記すべての要素が正である候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出工程と、
前記第1の比較工程において一致と判定された場合に、前記代表ベクトルと前記候補代表ベクトルとを比較する第2の比較工程と、
前記第2の比較工程において不一致と判定された場合に、前記候補代表ベクトルに特定要素を付加して前記入力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出工程と、
前記第1の組合せ数と前記第2の組合せ数との和を計算する工程と、
を含むことを特徴とする請求項16又は17に記載の符号化方法。 - 前記表では、
前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする請求項18又は19に記載の符号化方法。 - 前記第4の符号化工程では、
前記第2の符号化工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いることを特徴とする請求項18〜20の何れか1項に記載の符号化方法。 - 入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルを表す符号とを計算する計算工程と、
前記振幅ベクトルを表す符号を復号し、振幅ベクトルを再生する第1の復号工程と、
前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第2の復号工程と、
前記第1の復号工程で再生された振幅ベクトルと前記第2の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程と、
を具備することを特徴とする復号方法。 - 入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記振幅ベクトルの順位を表す符号とを計算する計算工程と、
前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号工程と、
前記振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから振幅ベクトルを再生する第2の復号工程と、
前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号工程と、
前記第2の復号工程で再生された振幅ベクトルと前記第3の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程と、
を具備することを特徴とする復号方法。 - 入力された符号からデジタルデータを出力ベクトルとして復号する復号方法において、
前記入力された符号から、前記出力ベクトルの特定の数値でない要素の位置情報を示す位置ベクトルを表す符号と、前記特定の数値でない要素の振幅情報を示す振幅ベクトルの修正情報を示す符号と、前記振幅べクトルを修正情報に基づき修正した修正振幅ベクトルの要素を所定の規則に基づいて並べた代表ベクトルを表す符号と、前記代表ベクトルの要素を並べ替えた組における前記修正振幅ベクトルの順位を表す符号とを計算する計算工程と、
前記代表ベクトルを表す符号を復号し、代表ベクトルを再生する第1の復号工程と、
前記修正振幅ベクトルの順位を表す符号を復号し、前記代表ベクトルから修正振幅ベクトルを再生する第2の復号工程と、
前記修正振幅ベクトルと前記修正情報から、振幅ベクトルを再生する工程と、前記位置ベクトルを表す符号を、前記出力ベクトルの要素数から前記振幅ベクトルの要素数を抜き出す全ての組合せにおける、前記位置ベクトルの順位として復号し、位置ベクトルを再生する第3の復号工程と、
前記第2の復号工程で再生された振幅ベクトルと前記第3の復号工程で再生された位置ベクトルから、出力ベクトルを再生する再生工程と、
を具備することを特徴とする復号方法。 - 前記第1の復号工程は、
前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表、に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める組合せ数算出工程
を含むことを特徴とする請求項23又は24に記載の復号方法。 - 前記第1の復号工程は、
すべての要素が正である候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が正負の符号を含めて取り得る組合せの数を、前記すべての要素が正である候補代表ベクトルの要素数との和が前記出力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうる組合せの数と、候補代表ベクトルに対応付けて、前記候補代表ベクトルの要素の並べ替えが取りうる数を記述した表に記載されている前記すべての要素が正である候補代表ベクトルの要素の並べ替え数とにより求める第1の組合せ数算出工程と、
前記候補代表ベクトルに特定要素を付加して前記出力ベクトルと同じ要素数としたベクトルの各要素が取り得る組合せの数を、前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記出力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数と、前記表に記載されている前記候補代表ベクトルの要素の並べ替え数とにより求める第2の組合せ数算出工程と、
を含むことを特徴とする請求項23又は24に記載の復号方法。 - 前記表では、
前記候補代表ベクトルの各要素の絶対値を合計した結果が小さい順に並べられていることを特徴とする請求項25又は26に記載の復号方法。 - 前記計算工程では、
前記第1の復号工程における前記候補代表ベクトルの要素数との和が前記入力ベクトルの要素数となる個数の特定要素が前記入力ベクトルの要素数と等しい要素数のベクトルにおいて取りうるすべての組合せの数を用いて符号の計算を行うことを特徴とする請求項25〜27の何れか1項に記載の復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002284119A JP2004120623A (ja) | 2002-09-27 | 2002-09-27 | 符号化装置、符号化方法、復号装置及び復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002284119A JP2004120623A (ja) | 2002-09-27 | 2002-09-27 | 符号化装置、符号化方法、復号装置及び復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004120623A true JP2004120623A (ja) | 2004-04-15 |
Family
ID=32277785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002284119A Pending JP2004120623A (ja) | 2002-09-27 | 2002-09-27 | 符号化装置、符号化方法、復号装置及び復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004120623A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008134974A1 (fr) * | 2007-04-29 | 2008-11-13 | Huawei Technologies Co., Ltd. | Procédé de codage et de décodage, codeur et décodeur |
WO2010051733A1 (zh) * | 2008-11-10 | 2010-05-14 | 华为技术有限公司 | 一种编码、解码、编解码方法、编解码系统以及相关装置 |
JP2010517467A (ja) * | 2007-01-31 | 2010-05-20 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | バイナリデータブロックのデジタル圧縮 |
JP2010279496A (ja) * | 2009-06-03 | 2010-12-16 | Fujifilm Corp | データ転送システム、送信装置、受信装置、放射線画像転送システム、および放射線画像診断システム |
WO2012004998A1 (ja) * | 2010-07-06 | 2012-01-12 | パナソニック株式会社 | スペクトル係数コーディングの量子化パラメータを効率的に符号化する装置及び方法 |
US10446164B2 (en) | 2010-06-24 | 2019-10-15 | Huawei Technologies Co., Ltd. | Pulse encoding and decoding method and pulse codec |
-
2002
- 2002-09-27 JP JP2002284119A patent/JP2004120623A/ja active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010517467A (ja) * | 2007-01-31 | 2010-05-20 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | バイナリデータブロックのデジタル圧縮 |
US8988256B2 (en) | 2007-04-29 | 2015-03-24 | Huawei Technologies Co., Ltd. | Coding method, decoding method, coder, and decoder |
US10666287B2 (en) | 2007-04-29 | 2020-05-26 | Huawei Technologies Co., Ltd. | Coding method, decoding method, coder, and decoder |
JP2010526325A (ja) * | 2007-04-29 | 2010-07-29 | 華為技術有限公司 | 符号化法、復号化法、符号器、および復号器 |
US10425102B2 (en) | 2007-04-29 | 2019-09-24 | Huawei Technologies Co., Ltd. | Coding method, decoding method, coder, and decoder |
WO2008134974A1 (fr) * | 2007-04-29 | 2008-11-13 | Huawei Technologies Co., Ltd. | Procédé de codage et de décodage, codeur et décodeur |
US10153780B2 (en) | 2007-04-29 | 2018-12-11 | Huawei Technologies Co.,Ltd. | Coding method, decoding method, coder, and decoder |
US9912350B2 (en) | 2007-04-29 | 2018-03-06 | Huawei Technologies Co., Ltd. | Coding method, decoding method, coder, and decoder |
US8294602B2 (en) | 2007-04-29 | 2012-10-23 | Huawei Technologies Co., Ltd. | Coding method, decoding method, coder and decoder |
US9444491B2 (en) | 2007-04-29 | 2016-09-13 | Huawei Technologies Co., Ltd. | Coding method, decoding method, coder, and decoder |
US9225354B2 (en) | 2007-04-29 | 2015-12-29 | Huawei Technologies Co., Ltd. | Coding method, decoding method, coder, and decoder |
EP2295947A1 (en) * | 2008-11-10 | 2011-03-16 | Huawei Technologies Co., Ltd. | Coding, decoding, coding-decoding method, coding-decoding system and relevant device |
US8731947B2 (en) | 2008-11-10 | 2014-05-20 | Huawei Technologies Co., Ltd. | Coding method, decoding method, codec method, codec system and relevant apparatuses |
EP2295947A4 (en) * | 2008-11-10 | 2011-07-06 | Huawei Tech Co Ltd | METHOD OF ENCODING, DECODING AND ENCODING-DECODING, ENCODING-DECODING SYSTEM, AND DEVICE THEREOF |
WO2010051733A1 (zh) * | 2008-11-10 | 2010-05-14 | 华为技术有限公司 | 一种编码、解码、编解码方法、编解码系统以及相关装置 |
JP2010279496A (ja) * | 2009-06-03 | 2010-12-16 | Fujifilm Corp | データ転送システム、送信装置、受信装置、放射線画像転送システム、および放射線画像診断システム |
US10446164B2 (en) | 2010-06-24 | 2019-10-15 | Huawei Technologies Co., Ltd. | Pulse encoding and decoding method and pulse codec |
JP5629319B2 (ja) * | 2010-07-06 | 2014-11-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | スペクトル係数コーディングの量子化パラメータを効率的に符号化する装置及び方法 |
US9240192B2 (en) | 2010-07-06 | 2016-01-19 | Panasonic Intellectual Property Corporation Of America | Device and method for efficiently encoding quantization parameters of spectral coefficient coding |
WO2012004998A1 (ja) * | 2010-07-06 | 2012-01-12 | パナソニック株式会社 | スペクトル係数コーディングの量子化パラメータを効率的に符号化する装置及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2295947B1 (en) | Coding method, decoding method,and coding apparatus | |
KR101190875B1 (ko) | 차원 벡터 및 가변 분해능 양자화 | |
US10666287B2 (en) | Coding method, decoding method, coder, and decoder | |
EP1514355B1 (en) | Method and system for multi-rate lattice vector quantization of a signal | |
JP4801160B2 (ja) | 逐次改善可能な格子ベクトル量子化 | |
CN103067022B (zh) | 一种整型数据无损压缩方法、解压缩方法及装置 | |
JP4695706B2 (ja) | エントロピー符号化及び復号のための方法及び装置 | |
JP2006054877A (ja) | 適応算術復号化方法及び適応算術復号化装置 | |
KR100984234B1 (ko) | 벡터 코딩/디코딩 방법 및 장치 그리고 스트림 미디어플레이어 | |
RU2313174C2 (ru) | Адаптивный способ и система для отображения значений параметров в индексы кодовых слов | |
US20130082850A1 (en) | Data encoding apparatus, data decoding apparatus and methods thereof | |
BR112020000415A2 (pt) | método para compactar; método para descompactar; conjunto de dados compactados correspondente a um conjunto de dados não compactados; dispositivo para compactar e dispositivo para descompactar | |
KR101456495B1 (ko) | 무손실 부호화/복호화 장치 및 방법 | |
JP2004120623A (ja) | 符号化装置、符号化方法、復号装置及び復号方法 | |
Yokoo | Asymptotic optimal lossless compression via the CSE technique | |
CN114429200A (zh) | 规范化哈夫曼编解码方法及神经网络计算芯片 | |
KR20110033154A (ko) | 규칙적인 지점의 네트워크에서 벡터를 카운팅하는 방법 | |
Rebollo-Neira | Trigonometric dictionary based codec for music compression with high quality recovery | |
CN111971902B (zh) | 编码装置、解码装置、编码方法、解码方法、程序及记录介质 | |
US6847317B2 (en) | System and method for a dyadic-monotonic (DM) codec | |
JP2006270821A (ja) | 符号化装置及び符号化方法 | |
KR100686354B1 (ko) | 가변 트리를 이용한 허프만 복호화 방법 및 장치 | |
KR20160105848A (ko) | 데이터 심볼들에 대해 산술 코딩을 수행하는 방법 및 장치 | |
Arif et al. | Effect of noise on speech compression in Run Length Encoding scheme | |
Facts | CSE 490 G |