(57)【特許請求の範囲】
【請求項１】
周波数領域の複数のサンプルからなる入力ベクトルから複数のインタリーブサブベクトルを生成し、それぞれのインタリーブサブベクトルをベクトル量子化するベクトル量子化符号化装置において、
予め定められた個数のサンプルを前記入力ベクトルの高周波数側から取り出すことで、高周波数側ベクトルを生成する高域サンプル取り出し部と、
前記高周波数側ベクトル中の隣り合う２サンプルの重み付け平均値をサンプル値とする平均ベクトルを生成する平均ベクトル生成部と、
前記入力ベクトル中の隣り合うサンプルが同一のサブベクトルに割り振られないように予め定めた規則に従って、前記入力ベクトル中の前記高周波数側ベクトル以外の残余ベクトルのサンプルと、前記平均ベクトルのサンプルとを割り振ることにより全てが同じサンプル数のインタリーブサブベクトルを生成するインタリーブサブベクトル生成部と、
前記インタリーブサブベクトルをベクトル量子化することによりインデックスを生成する量子化部と、を備え、
前記予め定められた個数は、前記入力ベクトルのサンプルの個数をインタリーブサブベクトルの個数で除算した結果の余りの２倍の値であり、
前記サブベクトルのサンプル数は、前記除算の商である
ことを特徴とするベクトル量子化符号化装置。
【請求項２】
入力された複数のインデックスをベクトル逆量子化して、サブベクトルを生成するベクトル逆量子化部と、
前記それぞれのサブベクトル中の予め決められたサンプルを、同一のサブベクトル中のサンプルが出力ベクトル中で隣り合わないように予め定めた規則に従って、出力ベクトルの一端側に配置するとともに、隣接する２つのサンプルの値が前記予め決められたサンプル以外の各サンプルの値であり、前記予め決められたサンプル以外のサンプルの個数の２倍の個数のサンプルを出力ベクトルの他端側に配置させて、全サブベクトルのサンプル数の総和よりもサンプル数が多い出力ベクトルを生成する出力ベクトル生成部と、
を備えるベクトル量子化復号化装置。
【請求項３】
周波数領域の複数のサンプルからなる入力ベクトルから複数のインタリーブサブベクトルを生成し、それぞれのインタリーブサブベクトルをベクトル量子化するベクトル量子化符号化方法において、
前記入力ベクトルの一端にある予め定められた個数のサンプル中の隣り合う２サンプルの平均値または重み付け平均値をサンプル値とする前記予め定められた個数の半分の個数のサンプルを生成する過程と、
前記入力ベクトル中の隣り合うサンプルが同一のサブベクトルに割り振られないように予め定めた規則に従って、前記入力ベクトル中の前記一端にある予め定められた個数のサンプル以外のサンプルと、前記生成したサンプルとをインタリーブサブベクトルに割り振ることにより、全てが同じサンプル数のインタリーブサブベクトルを生成する過程と、
前記複数のインタリーブサブベクトルそれぞれをベクトル量子化することによりインデックスを生成する過程と、を有し、
前記予め定められた個数は、前記入力ベクトルのサンプルの個数をインタリーブサブベクトルの個数で除算た結果の余りの２倍の値であり、
前記サブベクトルサンプル数は、前記除算の商である
ことを特徴とするベクトル量子化符号化方法。
【請求項４】
入力された複数のインデックスそれぞれをベクトル逆量子化して、サブベクトルを生成する過程と、
前記それぞれのサブベクトル中の予め決められたサンプルを、同一のサブベクトル中のサンプルが出力ベクトル中で隣り合わないように予め定めた規則に従って、出力ベクトルの一端側に配置するとともに、隣接する２つのサンプルの値が前記予め決められたサンプル以外の各サンプルの値であり、前記予め決められたサンプル以外のサンプルの個数の２倍の個数のサンプルを出力ベクトルの他端側に配置させて、全サブベクトルのサンプル数の総和よりもサンプル数が多い出力ベクトルを生成する過程と、
を有するベクトル量子化復号化方法。
【請求項５】
周波数領域のＤ個のサンプルからなる入力ベクトル
Ａ＝（ａ（０）、ａ（１）、．．．、ａ（Ｄ−１））から、各ベクトルがＳ個のサンプルからなる複数個のインタリーブサブベクトル
Ｃｎ＝（ｃｎ（０）、ｃｎ（１）、．．．、ｃｎ（Ｓ−１））を生成し、
前記インタリーブサブベクトルＣｎをそれぞれベクトル量子化してインデックスを生成するベクトル量子化符号化方法であって、
Ｄ／Ｓの値の小数点以下を切り捨てた値をＮとし、Ｄ／Ｓの余りの２倍をＩとしたとき、
前記入力ベクトルＡ中のＩ個のサンプルａ（Ｄ−Ｉ）、ａ（Ｄ−Ｉ＋１）、．．．、ａ（Ｄ−１）から、Ｉ／２個のサンプル
ｙ（０）＝（ａ（Ｄ−Ｉ）＋ａ（Ｄ−Ｉ＋１））／２、
ｙ（１）＝（ａ（Ｄ−Ｉ＋２）＋ａ（Ｄ−Ｉ＋３））／２、
．．．、
ｙ（Ｉ／２−１）＝（ａ（Ｄ−２）＋ａ（Ｄ−１））／２
を生成する過程と、
前記入力ベクトル中のＤ−Ｉ個のサンプルａ（０）、ａ（１）、．．．、ａ（Ｄ−Ｉ−１）と前記生成したＩ／２個のサンプルｙ（０）、ｙ（１）、．．．、ｙ（Ｉ／２−１）とから、
０≦ｓ≦Ｓ−２の範囲、または、０≦ｎ≦Ｎ−（Ｉ／２）−１かつｓ＝Ｓ−１の範囲、のサンプルは
ｃｎ（ｓ）＝ａ（Ｎ×ｓ＋ｎ）であり、
Ｎ−（Ｉ／２）≦ｎ≦Ｎ−１かつｓ＝Ｓ−１の範囲のサンプルは
ｃｎ（ｓ）＝ｙ（ｎ−（Ｎ−Ｉ／２））である
インタリーブサブベクトルＣｎを生成する過程と、を有することを特徴とするベクトル量子化符号化方法。
【請求項６】
入力された複数のインデックスそれぞれをベクトル逆量子化して各ベクトルがＳ個のサンプルからなる複数個のサブベクトル
Ｃ’ｎ＝（ｃ’ｎ（０）、ｃ’ｎ（１）、．．．、ｃ’ｎ（Ｓ−１））（ｎは自然数）
を生成し、
前記サブベクトルＣ’ ｎから、周波数領域のＤ個のサンプルからなる出力ベクトル
Ａ’＝（ａ’（０）、ａ’（１）、．．．、ａ’（Ｄ−１））を生成するベクトル量子化復号化方法であって、
Ｄ／Ｓの値の小数点以下を切り捨てた値をＮとし、Ｄ／Ｓの余りの２倍をＩとし、ｍｏｄ（ｄ、Ｎ）はｄ／Ｎの余りとし、（ｉｎｔ）ｄ／Ｎはｄ／Ｎの小数点以下を切り捨てた値とし、ｙ’（０）＝ｃ’Ｎ−（Ｉ／２）（Ｓ−１）、ｙ’（１）＝ｃ’Ｎ−（Ｉ／２）＋１（Ｓ−１）、．．．、ｙ’（Ｉ／２−１）＝ｃ’Ｎ−１（Ｓ−１）としたとき、
前記サブベクトルＣ’ ｎから
０≦ｄ≦Ｄ−Ｉ−１の範囲のサンプルは
ａ’（ｄ）＝ｃ’ｍｏｄ（ｄ、Ｎ）（（ｉｎｔ）（ｄ／Ｎ））であり、
Ｄ−Ｉ≦ｄ≦Ｄ−１の範囲のサンプルは、
ａ’（ｄ）＝ｙ’（（ｉｎｔ）（（ｄ−Ｄ＋１）／２））である出力ベクトルＡ’を生成する過程と、を有することを特徴とするベクトル量子化復号化方法。
【請求項７】
周波数領域のＤ個のサンプルからなる入力ベクトル
Ａ＝（ａ（０）、ａ（１）、．．．、ａ（Ｄ−１））から、各ベクトルがＳ個のサンプルからなる複数個のインタリーブサブベクトル
Ｃｎ＝（ｃｎ（０）、ｃｎ（１）、．．．、ｃｎ（Ｓ−１））を生成し、
前記インタリーブサブベクトルＣｎをそれぞれベクトル量子化してインデックスを生成するベクトル量子化符号化方法であって、
Ｄ／Ｓの値の小数点以下を切り捨てた値をＮとし、Ｄ／Ｓの余りの２倍をＩとしたとき、
前記入力ベクトルＡ中のＩ個のサンプルａ（０）、ａ（１）、．．．、ａ（Ｉ−１）から、Ｉ／２個のサンプル
ｙ（０）＝（ａ（０）＋ａ（１））／２、
ｙ（１）＝（ａ（２）＋ａ（３））／２、
．．．、
ｙ（Ｉ／２−１）＝（ａ（Ｉ−２）＋ａ（Ｉ−１））／２
を生成する過程と、
前記入力ベクトル中のＤ−Ｉ個のサンプルａ（Ｉ）、ａ（Ｉ＋１）、．．．、ａ（Ｄ−１）と前記生成したＩ／２個のサンプルｙ（０）、ｙ（１）、．．．、ｙ（Ｉ／２−１）とから、
０≦ｓ≦Ｓ−２の範囲、または、０≦ｎ≦Ｎ−（Ｉ／２）−１かつｓ＝Ｓ−１の範囲、のサンプルは
ｃｎ（ｓ）＝ａ（Ｄ−１−（Ｎ×ｓ＋ｎ））であり、
Ｎ−（Ｉ／２）≦ｎ≦Ｎ−１かつｓ＝Ｓ−１の範囲のサンプルは
ｃｎ（ｓ）＝ｙ（Ｎ−１−ｎ）である
インタリーブサブベクトルＣｎを生成する過程と、を有することを特徴とするベクトル量子化符号化方法。
【請求項８】
入力された複数のインデックスそれぞれをベクトル逆量子化して各ベクトルがＳ個のサンプルからなる複数個のサブベクトル
Ｃ’ｎ＝（ｃ’ｎ（０）、c’ｎ（１）、．．．、ｃ’ｎ（Ｓ−１））（ｎは自然数）を
生成し、
前記サブベクトルＣ’ｎから、周波数領域のＤ個のサンプルからなる出力ベクトル
Ａ’＝（ａ’（０）、ａ’（１）、．．．、ａ’（Ｄ−１））を生成するベクトル量子化復号化方法であって、
Ｄ／Ｓの値の小数点以下を切り捨てた値をＮとし、Ｄ／Ｓの余りの２倍をＩとし、ｍｏｄ（ｄ、Ｎ）はｄ／Ｎの余りとし、（ｉｎｔ）ｄ／Ｎはｄ／Ｎの小数点以下を切り捨てた値とし、ｙ’（０）＝ｃ’Ｎ−（Ｉ／２）（Ｓ−１）、ｙ’（１）＝ｃ’Ｎ−（Ｉ／２）＋１（Ｓ−１）、．．．、ｙ’（Ｉ／２−１）＝ｃ’Ｎ−１（Ｓ−１）としたとき、
前記サブベクトルＣ’ｎから
０≦ｄ≦Ｉ−１の範囲のサンプルは
ａ’（ｄ）＝ｙ’（（ｉｎｔ）（Ｉ／２−（（ｄ＋１）／２））であり、
Ｉ≦ｄ≦Ｄ−１の範囲のサンプルは
ａ’（ｄ）＝ｃ’ｍｏｄ（Ｄ−１−ｄ、Ｎ）（（ｉｎｔ）（（Ｄ−１−ｄ）／Ｎ））である出力ベクトルＡ’を生成する過程と、を有することを特徴とするベクトル量子化復号化方法。
【請求項９】
請求項３、５、７何れかに記載のベクトル量子化符号化方法の各過程をコンピュータに実行させるためのベクトル量子化符号化プログラム。
【請求項１０】
請求項４、６、８何れかに記載のベクトル量子化復号化方法の各過程をコンピュータに実行させるためのベクトル量子化復号化プログラム。
【請求項１１】
請求項９記載のベクトル量子化符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
請求項１０記載のベクトル量子化復号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声信号や映像信号などの信号をＩＰネットワークなどによる通信や蓄積に利用するベクトル量子化符号化装置、ベクトル量子化復号化装置、それらの方法、それらのプログラム、及びそれらの記録媒体に関する。
【背景技術】
【０００２】
音声信号や映像信号などの信号を効率的に送信したり蓄積したりする様々な技術が提案されている。特許文献１記載の符号化方法では、まず、入力された信号を周波数領域に変換して周波数領域信号を生成する。そして、この周波数領域信号を一定の長さ毎に分割する。この分割された周波数領域信号を複数のサンプル（要素）からなるベクトルとみなす。以下の説明ではこのベクトルを入力ベクトルＡという。そして、入力ベクトルＡのｄ番目のサンプルを入力サンプルａ（ｄ）とする。ただし、ｄをサンプル番号という場合もあり、ｄ＝０、．．．、Ｄ−１とし、Ｄは１つの入力ベクトルが有するサンプル数であり、Ｄは予め定められた２以上の整数である。更に、この入力ベクトルＡはＮ個のサブベクトルＢに分割される。サブベクトルの個数Ｎは予め定められており、Ｎは２以上の整数である。また、１つのサブベクトルのサンプル数ＳはＤ／Ｎの値の小数点以下を切り上げて求められる。
【０００３】
図１に従来技術の入力ベクトルとサブベクトルを模式的に示す。図１の例では、入力ベクトルのサンプル数Ｄが「４０」であり、サブベクトルＢの個数Ｎは「６」である。また、サブベクトル番号をｎ（ｎ＝０、．．．、Ｎ−１）とし、１つのサブベクトル内のサンプル番号をｓ（ｓ＝０、．．．、Ｓ−１）とする。図１の例では、４０／６を計算し、サブベクトルが有するサンプル数Ｓは「７」になる。つまり、サブベクトルＢは７次元のベクトルになる。以下の説明では、ｎ＋１番目のサブベクトルのｓ＋１番目のサンプルの位置をＢｎ（ｓ）と表す。ただし、ｎ＝０、．．．、Ｎ−１とし、ｓ＝０、．．．、Ｓ−１とする。図１に示すように、例えば、２番目のサブベクトルの４番目のサンプルの位置はＢ１（３）である。
【０００４】
従来の符号化方法では、入力サンプルａ（ｄ）を割り振ってサブベクトルＢを生成する。入力サンプルａ（ｄ）をサブベクトルのサンプルの位置Ｂｎ（ｓ）に割り振ることをａ（ｄ）→Ｂｎ（ｓ）と表す。そうすると、振り分け方の一例として、図１に示すように、ａ（０）→Ｂ０（０）、ａ（１）→Ｂ１（０）、ａ（２）→Ｂ２（０）、ａ（３）→Ｂ３（０）、．．．、ａ（６）→Ｂ０（１）、ａ（７）→Ｂ１（１）、ａ（８）→Ｂ２（１）、．．．、ａ（３６）→Ｂ０（６）、ａ（３７）→Ｂ１（６）、ａ（３８）→Ｂ２（６）、ａ（３９）→Ｂ３（６）のように振り分けられる。しかし、入力サンプル４０個、生成される予定であるサブベクトルＢに要するサンプル数は６×７＝４２サンプルであることから２サンプル不足する。従って、図１に示すように、サンプル位置Ｂ４（６）、Ｂ５（６）に入力サンプルが割り振られなくなる。そこで、サンプル位置Ｂ４（６）、Ｂ５（６）に補充サンプルを割り振る（図１では、太線で記載）。補充サンプルはそうすることで、同次元のインタリーブサブベクトルＢを生成できる（特許文献１の段落［００２３］に記載）。
そして、生成されたインタリーブサブベクトルＢをベクトル量子化して、インデックスを生成する。
【特許文献１】特開平７−２６１８００号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来技術では、本来必要でない情報（補充サンプル）についてもベクトル量子化を行う。従って、符号量が増大するという問題があった。本発明は、符号量を増大させることなく、入力ベクトルを符号化、符号化された入力ベクトルを復号化するベクトル量子化符号化装置、ベクトル量子化復号化装置、それらの方法、それらのプログラム、及びそれらの記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明のベクトル量子化符号化装置は、周波数領域の複数のサンプルからなる入力ベクトルを、インタリーブサブベクトルに分割し、それぞれのインタリーブサブベクトルをベクトル量子化する。ベクトル量子化符号化装置は、高域サンプル取り出し部と、平均ベクトル生成部と、インタリーブサブベクトル生成部と、量子化部と、を有する。高域サンプル取り出し部は、予め定められた個数のサンプルを入力ベクトルの高周波数側から取り出すことで、高周波数側ベクトルを生成する。平均ベクトル生成部は、高周波数側ベクトル中の隣り合う２サンプルの重み付け平均値をサンプル値とする平均ベクトルを生成する。インタリーブサブベクトル生成部は、入力ベクトル中の高周波数側ベクトル以外の残余ベクトルのサンプルと、平均ベクトルのサンプルとを割り振って、全てが同じサンプル数のインタリーブサブベクトルを生成する。量子化部は、インタリーブサブベクトルをベクトル量子化して、インデックスを生成する。ただし、前記予め定められた個数は、前記入力ベクトルのサンプルの個数をインタリーブサブベクトルの個数で除算した結果の余りの２倍の値であり、前記サブベクトルのサンプル数は、前記除算の商である。
【０００７】
また、この発明のベクトル量子化復号化装置は、ベクトル逆量子化部と、出力ベクトル生成部と、を備える。ベクトル逆量子化部は、入力されたインデックスをベクトル逆量子化して、インタリーブサブベクトルを生成する。出力ベクトル生成部は、インタリーブサブベクトル中の平均サンプルを複製して複製サンプルを生成し、インタリーブサブベクトル中の平均サンプル以外のサンプルと、平均ベクトルと、複製サンプルと、を配置させて出力ベクトルを生成する。
【発明の効果】
【０００８】
上記の構成により、入力ベクトルの全サンプルＤをインタリーブサブベクトルの個数Ｎで割り切れない場合であっても、それぞれのインタリーブサブベクトルが有する同一のサンプル数を決定できる。具体的には、Ｄ／Ｎの商（小数点以下を切り捨てた値）をサブベクトルのサンプル数とする。そして、余ったサンプルをなくすために、高周波数側ベクトル中の隣り合う２サンプルの重み付け平均をとることで、平均ベクトルを生成する。また、入力ベクトルのうち高周波数側ベクトル以外のベクトルを残余ベクトルとすると、平均ベクトルのサンプルと残余ベクトルのサンプルとを割り振ってインタリーブサブベクトルを生成する。従って、必要でない情報を付加することなく、全てが同じサンプル数のインタリーブサブベクトルを生成できる。よって、効率的にベクトル量子化を行うことができる。
【発明を実施するための最良の形態】
【０００９】
以下に、発明を実施するための最良の形態を示す。
［ベクトル量子化符号化装置］
図２にこの発明のベクトル量子化符号化装置１の機能構成例を示し、図３に処理フローを示す。ベクトル量子化符号化装置１は、入力端子２、高域サンプル取り出し部４、平均ベクトル生成部６、インタリーブサブベクトル生成部８、ベクトル量子化部１０、出力端子１２により構成される。まず、入力端子２に、入力ベクトルＡが入力される（ステップＳ２）。入力ベクトルＡのｄ番目のサンプルを入力サンプルａ（ｄ）とする。以下では、「サンプル」を「要素」という場合もある。ｄ＝０、．．．、Ｄ−１とし、Ｄは１つの入力ベクトルが有するサンプル数であり、Ｄは２以上の整数である。また、入力ベクトルＡは、周波数領域の信号をベクトルとみなしたものであり、ここでは、ｄの値の大小は周波数の大小と対応する場合について説明する。つまり、この実施例では、ｄの値が小さいほど低周波数のサンプル、ｄの値が大きいほど高周波数のサンプルである。入力サンプルａ（ｄ）は、高域サンプル取り出し部４に入力される。
【００１０】
高域サンプル取り出し部４は、予め定められた個数Ｉのサンプルを入力ベクトルＡの高周波数側から取り出すことで、高周波数側ベクトルを生成する（ステップＳ４）。ただし、予め定められた個数Ｉは、入力ベクトルＡのサンプルの個数ＤをインタリーブサブベクトルＣの個数Ｎで除算した結果の余りの２倍の値である。つまり、Ｉ＝ｍｏｄ（Ｄ、Ｎ）×２であり、ｍｏｄ（Ｄ、Ｎ）はＤ／Ｎの余りを表す。予め定められた個数Ｉは、事前に計算しても良いし、高域サンプル取り出し部４が計算してもよい。［背景技術］で説明した通り、Ｄ、Ｎの値は予め定められている。また、ｎ＋１番目のインタリーブサブベクトルのｓ＋１番目のサンプルの位置をｃｎ（ｓ）と表す。また、ｎ番目のインタリーブサブベクトルをＣｎと表す。つまり、Ｃｎ＝（ｃｎ（０）、ｃｎ（１）、．．．、ｃｎ（Ｓ−１））である。Ｎ個のインタリーブサブベクトルをまとめてインタリーブサブベクトルＣと表す。ｎをインタリーブサブベクトル番号とし、ｎ＝０、１、．．．、Ｎ−１であり、ｓをインタリーブサブベクトルのサンプル番号とし、ｓ＝０、１、．．．、Ｓ−１である。
【００１１】
図４は、入力サンプルａ（ｄ）とインタリーブサブベクトルＣとを模式的に示した図である。この例では、Ｄ＝４０、Ｎ＝６とする。上述したように、図４の例では、入力ベクトルＡについて、上述したように、ｄの値が小さいほど低周波数のサンプルであり、ｄの値が大きいほど高周波数のサンプルである。またインタリーブサブベクトルＣについてｓの値が小さいほど低周波数のサンプルであり、ｓの値が大きいほど高周波数のサンプルである。高周波数側ベクトルのサンプルである高周波数側サンプルｘ（ｉ）は以下の式（１）により定められる。
【００１２】
ｘ（ｉ）＝ａ（Ｄ−Ｉ＋ｉ）    （１）
ただし、ｉは高周波数側サンプルのサンプル番号であり、ｉ＝０、．．．、Ｉ−１である。この例では、Ｄ＝４０、Ｎ＝６であるので、Ｉ＝ｍｏｄ（４０、６）×２＝８になる。従って、高周波数側サンプルｘ（ｉ）は式（１）より、以下の式になる。図４では、高周波数側サンプルｘ（ｉ）を太線で囲っている。
【００１３】
ｘ（ｉ）＝ａ（３２＋ｉ）  ただし、ｉ＝０、．．．、７
また、入力サンプルａ（ｄ）から高周波数側サンプルｘ［ｉ］を取りだした残りのベクトルを残余ベクトルＺとする。また残余ベクトルのサンプルを残余サンプルｚ（ｄ）（ｄ＝０、．．．、Ｄ−Ｉ−１、図４の例では、ｄ＝０、．．．、３１）とする。高周波数側ベクトルＸは、平均ベクトル生成部６に入力され、残余ベクトルＺは、インタリーブサブベクトル生成部８に入力される。
【００１４】
平均ベクトル生成部６は、高周波数側ベクトルＸ中の隣り合う２サンプルの重み付け平均値をサンプル値とする平均ベクトルＹを生成する（ステップＳ６）。また、平均ベクトルＹのサンプルをｙ（ｊ）とし、ｊは平均サンプルのサンプルを表す番号であり、ｊ＝（０、１、．．．、（Ｉ／２）−１）である。つまり、以下の式により平均サンプルｙ（ｊ）を表すことができる。
【００１５】
ｙ（ｊ）＝ｒ１×ｘ（２ｊ）＋ｒ２×ｘ（２ｊ＋１）    （２）
また、ｒ１、ｒ２は重み係数であり、０＜ｒ１＜１、０＜ｒ２＜１、であり、ｒ１＋ｒ２＝１である。
【００１６】
ここで、ｒ１＝ｒ２＝１／２とすると、平均ベクトル生成部６は、高周波数側ベクトルＸ中の隣り合う２サンプルの平均値をサンプル値とする平均ベクトルＹを生成できる。また、入力ベクトルＡが音声信号の場合、高周波数の音声信号は聴感上、知覚しにくい。従って、低周波数側の重み係数ｒ１を大きくすることが好ましい。つまり、平均ベクトル生成部６は、入力ベクトルＡ中のＩ個のサンプルａ（Ｄ−Ｉ）、ａ（Ｄ−Ｉ＋１）、．．．、ａ（Ｄ−１）から、Ｉ／２個のサンプル
ｙ（０）＝（ａ（Ｄ−Ｉ）＋ａ（Ｄ−Ｉ＋１））／２、
ｙ（１）＝（ａ（Ｄ−Ｉ＋２）＋ａ（Ｄ−Ｉ＋３））／２、
．．．、
ｙ（Ｉ／２−１）＝（ａ（Ｄ−２）＋ａ（Ｄ−１））／２を生成する。ただし、ｒ１＝ｒ２＝１／２とする。また、換言すると、平均ベクトル生成部６は、入力ベクトルＡの一端にある予め定められた個数Ｉのサンプル中の隣り合う２サンプルの平均値または重み付け平均値をサンプル値とする前記予め定められた個数の半分の個数のサンプルを生成する。
【００１７】
インタリーブサブベクトル生成部８は、入力ベクトルＡ中の隣り合うサンプルであるａ（ｄ）とａ（ｄ＋１）が同一のサブベクトルに割り振られないように予め定めた規則に従って、残余サンプルｚ（ｄ）と、平均サンプルｙ（ｊ）とを割り振って、全てが同じサンプル数ＳのインタリーブサブベクトルＣを生成する（ステップＳ８）。ただし、サブベクトルのサンプル数Ｓは、Ｄ／Ｎ（Ｄは入力ベクトルＡのサンプル数、ＮはインタリーブサブベクトルＣの数）の商である。Ｓの値は、予め計算してもよいし、インタリーブサブベクトル生成部８が計算しても良い。まず、サブベクトルのサンプル数の定め方について説明する。インタリーブベクトルのサブベクトルのサンプル数Ｓは、以下の式（３）により定まる。
【００１８】
Ｓ＝（ｉｎｔ）（Ｄ／Ｎ）    （３）
（ｉｎｔ）（Ｄ／Ｎ）はＤ／Ｎの値の小数点以下を切り捨てた値を示す。この例では、Ｓ＝６になる。
【００１９】
図５に、インタリーブサブベクトルＣの予め定められた規則による生成過程（ステップＳ８）の詳細の例を示し、図４を用いて説明する。この例では、残余サンプルｚ（ｄ）、平均サンプルｙ（ｊ）の順にサンプル番号の小さいサンプルから割り振っていく。図４の例では、ｚ（０）、ｚ（１）、．．．、ｚ（３０）、ｚ（３１）、ｙ（０）、ｙ（１）、ｙ（２）ｙ（３）の順に割り振っていく。
【００２０】
ステップＳ８はステップＳ１０００、ステップＳ１００２、ステップＳ１００４に分けることができる。ステップＳ１０００では、入力サンプルａ（ｄ）が、全て（Ｎ個）のインタリーブサブベクトルＢのＳ−１番目の位置以外の全てに割り振られる。図４の例では、入力サンプルａ（０）〜ａ（２９）が、ａ（０）から順に、ｃ０（０）〜ｃ０（４）、ｃ１（０）〜ｃ１（４）、ｃ２（０）〜ｃ２（４）、ｃ３（０）〜ｃ３（４）、ｃ４（０）〜ｃ４（４）、ｃ５（０）〜ｃ５（４）の位置に割り振られる。ステップＳ１００２では、残余サンプルｚ（ｄ）のうち、ステップＳ１０００で割り振られたサンプル以外のサンプルが割り振られる。図４の例ではａ（３０）、ａ（３１）が割り振られる。ステップＳ１００４では、全ての平均サンプルｙ（ｊ）が振り分けられる。以下、詳細に説明する。
【００２１】
ステップＳ１０００
まず、ｓ＝０とし（ステップＳ１０２）、次にｎ＝０とする（ステップＳ１０４）。そして、ｃｎ（ｓ）＝ａ（ｓ×Ｓ＋ｎ）になるように、「ｓ×Ｓ＋ｎ」番目の入力サンプルａ（ｄ）（残余サンプルｚ（ｄ））の１つが割り振られる（ステップＳ１０６）。そして、サブベクトル番号ｎを「１」インクリメントする（ステップＳ１０８）。そして、全てのサブベクトルの０番目のサンプル位置にサンプルが埋まるまでステップＳ１０６、ステップＳ１０８の処理を続ける（ステップＳ１１０）。ｎ＞Ｎ−１になるまで、つまり、全てのサブベクトルの０番目のサンプル位置にサンプルが埋まると、サンプル番号ｓを「１」インクリメントする（ステップＳ１１２）。今度は、全てのサブベクトルの１番目のサンプル位置にサンプルが埋まるまで、ステップＳ１０６、ステップＳ１０８の処理を続ける。そして、ｓ＞Ｓ−２になった場合、つまり、全てのサブベクトルのＮ−１番目のサンプル位置以外の全ての位置にサンプルが埋まった場合に、次のステップＳ１００２に進む。
【００２２】
ステップＳ１００２
まず、サブベクトル番号ｎを「０」に初期化する（ステップＳ１１６）。そして、ｃｎ（Ｓ−１）＝ａ（（Ｓ−１）×Ｓ＋ｎ）になるように、残りの残余サンプルｚ（ｄ）（図４の例では、ｚ（３０）、ｚ（３１））の１つをサンプル番号の小さい順に割り振る（ステップＳ１１８）。そして、ｎを「１」インクリメントする（ステップＳ１２０）。次に、ｎの値がｎ＝（Ｄ−Ｉ）―（Ｎ×（Ｓ−１）になるまで、つまり、全ての残余サンプルｚ（ｄ）が割り振られるまで、ステップＳ１１８、ステップＳ１２０の処理を繰り返す。図４の例では、ｎが「２」になる（ｃ０（５）とｃ１（５）の位置にサンプルが埋まる）まで繰り返す。
【００２３】
ステップＳ１００４
ｃｎ（Ｓ−１）＝ｙ（ｎ−（（Ｄ−Ｉ）―（Ｎ×（Ｓ−１））））になるように、平均サンプルｙ（ｊ）をサンプル番号の小さい順に割り振る。図４の例では、Ｄ、Ｎ、Ｓの値を代入すると、ｃｎ（５）＝ｙ（ｎ−２）になる。そして、ｎを「１」インクリメントする（ステップＳ５１４）。ｎがＮ−１（図４の例では「５」）より大きくなるまでステップＳ１２４、ステップＳ１２６の処理を繰り返す。図４の例では、ｙ（０）〜ｙ（３）をそれぞれｃ２（５）、ｃ３（５）、ｃ４（５）、ｃ２（５）、に割り振る。生成されたインタリーブサブベクトルＣはベクトル量子化部１０に入力される。
なお、換言すると、この例では、インタリーブサブベクトル生成部８は、入力ベクトル中のＤ−Ｉ個のサンプルａ（０）、ａ（１）、．．．、ａ（Ｄ−Ｉ−１）と平均ベクトル生成部６で生成したＩ／２個のサンプルｙ（０）、ｙ（１）、．．．、ｙ（Ｉ／２−１）とから、
０≦ｓ≦Ｓ−２の範囲、または、０≦ｎ≦Ｎ−（Ｉ／２）−１かつｓ＝Ｓ−１の範囲、のサンプルは
ｃｎ（ｓ）＝ａ（Ｎ×ｓ＋ｎ）であり、
Ｎ−（Ｉ／２）≦ｎ≦Ｎ−１かつｓ＝Ｓ−１の範囲のサンプルは
ｃｎ（ｓ）＝ｙ（ｎ−（Ｎ−Ｉ／２））であるインタリーブサブベクトルＣｎを生成する。
【００２４】
また、高域サンプル取り出し部４と平均ベクトル生成部６を統合させて、入力ベクトルＡの一端にある予め定められた個数（ｍｏｄ（Ｄ、Ｎ）×２）のサンプル中の隣り合う２サンプルの平均値または重み付け平均値をサンプル値とする予め定められた個数（ｍｏｄ（Ｄ、Ｎ）×２）の半分の個数のサンプルを生成するようにしてもよい。また、この場合、インタリーブサブベクトル生成部８は、入力ベクトルＡ中の隣り合うサンプルが同一のサブベクトルに割り振られないように予め定めた規則に従って、入力ベクトルＡ中の前記一端にある予め定められた個数のサンプル以外のサンプル（例えば、残余サンプルｚ（ｄ））と、前記生成したサンプル（例えば、平均サンプルｙ（ｊ））とをインタリーブサブベクトルに割り振ることにより、全てが同じサンプル数のインタリーブサブベクトルＣを生成するようにしても良い。この予め定められた規則の変形例を説明する。
【００２５】
＜変形例１＞
次に、高域サンプル取り出し部４、平均ベクトル生成部６、インタリーブサブベクトル生成部８によるインタリーブサブベクトルＣの異なる生成方法（予め定められた規則）を図６を用いて説明する。また、図６の例では、入力サンプルａ（ｄ）のサンプル番号ｄの値が小さければ高周波数のサンプルであり、ｄの値が大きければ低周波数のサンプルである。また、インタリーブサブベクトルＣのサンプル番号ｓの値が大きければ高周波数のサンプルであり、ｓの値が小さければ低周波数のサンプルである。
【００２６】
高域サンプル取出し部４は、入力ベクトルＡ中のＩ個のサンプルａ（０）、ａ（１）、．．．、ａ（Ｉ−１）を取り出す。図６の例では、ａ（０）、ａ（１）、．．．、ａ（７）である。そして、平均ベクトル生成部６は、当該取り出したＩ個（図６の例では８個）のサンプルから、Ｉ／２個のサンプル
ｙ（０）＝（ａ（０）＋ａ（１））／２、
ｙ（１）＝（ａ（２）＋ａ（３））／２、
．．．、
ｙ（Ｉ／２−１）＝（ａ（Ｉ−２）＋ａ（Ｉ−１））／２を生成する。ただし、ここでは、重み係数は、ｒ１＝ｒ２＝１／２とする。
【００２７】
そして、インタリーブサブベクトル生成部８は図６に示すように、インタリーブサブベクトルを生成する。つまり、入力ベクトル中のＤ−Ｉ個のサンプルａ（Ｉ）、ａ（Ｉ＋１）、．．．、ａ（Ｄ−１）と生成したＩ／２個のサンプルｙ（０）、ｙ（１）、．．．、ｙ（Ｉ／２−１）とから、
０≦ｓ≦Ｓ−２の範囲、または、０≦ｎ≦Ｎ−（Ｉ／２）−１かつｓ＝Ｓ−１の範囲、のサンプルはｃｎ（ｓ）＝ａ（Ｄ−１−（Ｎ×ｓ＋ｎ））であり、
Ｎ−（Ｉ／２）≦ｎ≦Ｎ−１かつｓ＝Ｓ−１の範囲のサンプルは
ｃｎ（ｓ）＝ｙ（Ｎ−１−ｎ）であるインタリーブサブベクトルＣｎをインタリーブサブベクトル生成部８は、生成する。
【００２８】
＜変形例２＞
次に、変形例２のインタリーブサブベクトルＣの生成方法を図７を用いて説明する。図７の例では、入力サンプルａ（ｄ）のサンプル番号ｄの値が小さければ高周波数であり、ｄの値が大きければ低周波数になる。また、インタリーブサブベクトルＣのサンプル番号ｓの値が小さければ高周波数であり、ｓの値が大きければ低周波数である。高域サンプル取出し部４で取り出すサンプル、平均ベクトル生成部６が生成する平均ベクトルは変形例１と同様である。
【００２９】
インタリーブサブベクトル生成部８は、図７に示すように、入力ベクトル中のＤ−Ｉ個のサンプルａ（Ｉ）、ａ（Ｉ＋１）、．．．、ａ（Ｄ−１）と生成したＩ／２個のサンプルｙ（０）、ｙ（１）、．．．、ｙ（Ｉ／２−１）とから、
１≦ｓ≦Ｓ−１の範囲、または、（Ｉ／２）＋１≦ｎ≦ｓ＝０の範囲、の要素はｃｎ（ｓ）＝ａ（Ｎ×ｓ＋ｎ＋（Ｉ／２））であり、
０≦ｎ≦Ｉ／２かつｓ＝０の範囲の要素はｃｎ（ｓ）＝ｙ（ｎ）であるインタリーブサブベクトルＣを生成する。
なお、残余サンプルｚ（ｄ）と平均サンプルｙ（ｊ）の割り振り方はこれらの例に限られない。
【００３０】
説明を図２に戻す。ベクトル量子化部１０は、インタリーブサブベクトルＣをベクトル量子化して、インデックスを生成する（ステップＳ１０）。ベクトル量子化処理（ステップＳ１０）の詳細の流れを図８に示す。この例のベクトル量子化では、サブベクトルのサンプル数（次元数）であるＳ次のコードブックを使用する。図４の例では６次のコードブックを使用する。以下では、コードブック中のベクトルをコードブックベクトルという。この例のベクトル量子化を端的にいうと、インタリーブサブベクトルとの距離が最も短いコードブックベクトルのインデックスをインデックスとして出力する。以下、詳細に説明する。そして、全てのサブベクトルについてのインデックスを求める。
【００３１】
コードブックベクトルに対応するインデックスをｖとし、インデックスｖのコードブックベクトルのｈ番目のサンプル値をＣｂｖ（ｈ）とする。インタリーブサブベクトルと、インデックスｖのコードブックベクトルとの距離をＬ（ｖ）とし、Ｌ（ｖ）の最小値をＬｍｉｎとし、ｖの最小値をｖｍｉｎとし、コードブックベクトルの総数をＮＣＢとする。
【００３２】
まず、初期化として、ｖとｖｍｉｎとを「０」とし、ＬｍｉｎをＭＡＸＶＡＬとする（ステップＳ３０２）。ＭＡＸＶＡＬとは例えば１０２０のように、後述するステップＳ３０４で演算される式による距離計算で通常計算されないほどの大きな値である。
【００３３】
そして、Ｌ（ｖ）＝ΣＳ−１ｈ＝０（ｃｎ（ｈ）−ｃｂｖ（ｈ））２を演算して、距離Ｌ（ｖ）を求める（ステップＳ３０４）。そして、Ｌ（ｖ）がＬｍｉｎより小さければ（ステップＳ３０６）、Ｌ（ｖ）をＬｍｉｎに置き換え、ｖｍｉｎをｖに置き換える（ステップＳ３０８）。そして、ｖを「１」インクリメントして（ステップＳ３１０）、つまり、次のインデックスのコードブックベクトルについて検証する。ｖ＝ＮＣＢになるまで、ステップＳ３０４、ステップＳ３０８、ステップＳ３１０、の処理を繰り返す。そして、全てのコードブックベクトルとインタリーブサブベクトルとの距離を算出し、距離が最も近いコードブックベクトルのインデックスをインデックスとして求める（ステップＳ３１４）。ベクトル量子化部１０は、Ｎ個全てのサブベクトルＣについてインデックスＩｎｄｅｘ（ｎ）（ｎ＝０、．．．、Ｎ−１）を求める。なお、ベクトル量子化の手法はこれに限られるものではない。生成されたインデックスＩｎｄｅｘ（ｎ）は出力端子１２により出力される。
【００３４】
従来技術では、４０サンプルからなる入力ベクトルＡを６分割してインタリーブサブベクトルＢを求める場合、必要でない情報である２サンプルを付加して、７サンプルからなるインタリーブサブベクトルＢを生成していた。しかし、本願の発明では、６分割した際に余る４サンプルと同数の４サンプルとからなる合計８サンプルの高周波数側ベクトルＸを生成する。そして、高周波数側ベクトルＸ中の隣接する２サンプル値の重み平均をサンプル値とする平均ベクトルＹを生成する。そして残余ベクトルＺ（サンプル数は３２個）と平均ベクトルＹ（サンプル数は４個）とのサンプル数は３６個になり、６分割できる。従って、必要でない情報を付加することなく、全てが同じサンプル数のインタリーブサブベクトルＣを生成できる。
【００３５】
［ベクトル量子化復号化装置］
次に、この発明のベクトル量子化復号化装置１００を説明する。図９は、ベクトル量子化復号化装置１００の機能構成例であり、図１０は主な処理の流れを示したフローチャート図である。また、図１１に以下で説明するサブベクトルや生成される出力ベクトルを模式的に示す。ベクトル量子化復号化装置１００は、ベクトル量子化符号化装置１で符号化された信号を復号化することを前提として、説明をする。以下の説明では、復号信号は、ベクトルを示す記号（例えば、入力ベクトルＡ）やサンプルを示す記号（例えば、入力サンプルａ（ｄ））に「’」を付して説明する。例えば、Ａ’やａ’（ｄ）である。ＡとＡ’、ａ（ｄ）とａ’（ｄ）は対応していることを意味している。また、ベクトル量子化復号化装置１００は、入力ベクトルＡのサンプル数Ｄとサブベクトルの数Ｎを予め認識している。従って、サブベクトルのサンプル数Ｓ（＝ｉｎｔ（Ｄ／Ｎ））も認識している。ベクトル量子化復号化装置１００は、ベクトル逆量子化部２２、出力ベクトル生成部２４により構成される。
【００３６】
ベクトル逆量子化部２２は、入力されたインデックスＩｎｄｅｘ（ｎ）（ｎ＝０、．．．、Ｎ−１）をベクトル逆量子化して、Ｎ個のサブベクトルＣ’を生成する（ステップＳ２２）。インデックスＩｎｄｅｘ（ｎ）は、ベクトル量子化符号化装置１で生成されたものである。ベクトル逆量子化部２２は、ベクトル量子化符号化装置１中のベクトル量子化部１０（図２参照）が使用したコードブックと同一のコードブックを使用する。そして、ベクトル逆量子化部２２は、インデックスＩｎｄｅｘ（ｎ）に対応するコードブックベクトルをサブベクトルＣ’として出力する。サブベクトルＣ’は、出力ベクトル生成部２４に入力される。ベクトル逆量子化部２２のベクトル逆量子化の手法はこれに限られない。
【００３７】
出力ベクトル生成部２４は、それぞれのサブベクトルＣ’中の予め決められたサンプル（図１１の例では残余サンプル）を、同一のサブベクトル中のサンプルが出力ベクトルＡ’中で隣り合わないように予め定めた規則に従って、出力ベクトルＡ’の一端側に配置する。そして、隣接する２つのサンプルの値が前記予め定められたサンプル以外（図１１の例では平均サンプル）の各サンプルの値であり、予め決められたサンプル以外のサンプルの個数の２倍の個数のサンプルを出力ベクトルの他端側に配置させて、全サブベクトルのサンプル数の総和よりもサンプル数が多い出力ベクトルＡ’を生成する。
【００３８】
以下に図１１を用いて予め定めた規則の一例を説明する。サブベクトルＣ’中の平均サンプルｙ’（ｊ）と同一のサンプルである複製サンプルｗ（ｊ）を生成する。複製サンプルｗ（ｊ）は平均サンプルｙ’（ｊ）を複製することで生成してもよく、同一ポインタを参照する等で得てもよい。つまり、ｙ’（ｊ）＝ｗ（ｊ）である。図１１の例では、平均サンプルｙ’（ｊ）は、太線で囲っているｃ’２（５）、ｃ’３（５）、ｃ’４（５）、ｃ’５（５）である。平均サンプルｙ’（ｊ）と複製サンプルｗ（ｊ）を合わせたサンプルを統合サンプルｘ’（ｉ）とする。統合サンプルｘ’（ｉ）の生成手法の一例として、平均サンプルｙ’（ｊ）の隣に対応する複製サンプルｗ（ｊ）を配置させて並べることで、統合サンプルｘ’（ｉ）を生成する。つまり、ｘ’（ｉ）＝｛ｙ’（０）、ｗ（０）、ｙ’（１）、ｗ（１）、ｙ’（２）、ｗ（２）、．．．，ｙ’（Ｊ−１）、ｗ（Ｊ−１）｝になる。この例では、ｘ（ｊ）＝｛ｃ’２（５）、ｃ’２（５）、ｃ’３（５）、ｃ’３（５）、ｃ’４（５）、ｃ’４（５）、ｃ’５（５）、ｃ’５（５）｝（ただし、ｊ＝０、．．．、７）である。また、サブベクトルＣ’中の平均サンプルｙ’（ｊ）以外のサンプルを残余サンプルｚ’（ｄ）とする。出力ベクトル生成部２４は、統合サンプルｘ’（ｉ）と、残余サンプルｚ’（ｄ）とを配置させて出力ベクトルＡ’を生成する（ステップＳ２４）。この例では、残余サンプルを全て、配置させた後で、統合サンプルｘ’（ｉ）を配置させる。
【００３９】
図１０は出力ベクトルＡ’の生成（配置）処理の主な流れを示したフローチャートである。出力ベクトルＡ’の生成処理はステップＳ３０００、Ｓ３００２に分けられる。ステップＳ３０００は、残余サンプルｚ’（ｄ）を配置させる過程である。ステップＳ３００２は、統合サンプルｘ’（ｉ）を配置させる過程である。以下の説明では、生成される出力ベクトルＡ’のｄ番目のサンプル位置をａ’（ｄ）と示す。ただし、ｄを出力サンプル番号という場合もあり、ｄ＝０、．．．、Ｄ−１とし、Ｄは出力ベクトルのサンプル数である。
【００４０】
ステップＳ３０００
まず、出力サンプル番号ｄを「０」に初期化する（ステップＳ３０２）。そして、ａ’（ｄ）＝ｃ’ｍｏｄ（ｄ、Ｎ）（（ｉｎｔ）（ｄ／Ｎ））になるように、残余サンプルを１つ配置させる。そしてｄを「１」インクリメントする（ステップＳ３０６）。そして、ｄ＞Ｄ−Ｍ−１になるまで、つまり、残余サンプルｚ’（ｄ）を全て配置させるまで、ステップＳ３０４、ステップＳ３０６の処理を繰り返す（ステップＳ３０８）。ｄ＞Ｄ−Ｍ−１になるとステップＳ３００２に進む。
【００４１】
ステップＳ３００２
今度は、ａ’（ｄ）＝ｃ’Ｎ−（Ｍ／２）＋（（ｉｎｔ）（ｄ／２）−（Ｄ−Ｍ）／２）（Ｓ−１）になるように、統合サンプルｘ’（ｉ）中の１つのサンプルを配置させる（ステップＳ３１０）。そして、ｄを「１」インクリメントする（ステップＳ３１２）。ｄ＞Ｄ−１になるまで、つまり、全ての平均サンプルと複製サンプルを配置させるまで、ステップＳ３１０、ステップＳ３１２の処理を繰り返す（ステップＳ３１４）。
なお、ＮやＳ等を用いて出力ベクトルＡ’（ｄ）の生成手法を説明すると、以下のようになる。平均サンプルは以下のようになる。
ｙ’（０）＝ｃ’Ｎ−（Ｉ／２）（Ｓ−１）、
ｙ’（１）＝ｃ’Ｎ−（Ｉ／２）＋１）（Ｓ−１）、
．．．、
ｙ’（Ｉ／２−１）＝ｃ’Ｎ−１（Ｓ−１）
そして、出力ベクトル生成部２４は、サブベクトルＣ’から
０≦ｄ≦Ｄ−Ｉ−１の範囲のサンプルは
ａ’（ｄ）＝ｃ'ｍｏｄ（ｄ、Ｎ）（（ｉｎｔ）（ｄ／Ｎ））であり、
Ｄ−Ｉ≦ｄ≦Ｄ−１の範囲のサンプルは、
ａ’（ｄ）＝ｙ’（（ｉｎｔ）（（ｄ−Ｄ＋１）／２））である出力ベクトルＡ’を生成する。
【００４２】
＜変形例３＞
以下に、出力ベクトルＡ’の生成（復号化）の変形例３を図１３を用いて説明する。この変形例３の復号化は、変形例１の符号化に対応している。変形例３の平均サンプルは以下のようになる。
ｙ’（０）＝ｃ’Ｎ−（Ｉ／２）（Ｓ−１）、
ｙ’（１）＝ｃ’Ｎ−（Ｉ／２）＋１（Ｓ−１）、
．．．、
ｙ’（Ｉ／２−１）＝ｃ’Ｎ−１（Ｓ−１）
サブベクトルＣ’から０≦ｄ≦Ｉ−１の範囲のサンプルは
ａ’（ｄ）＝ｙ’（（ｉｎｔ）（Ｉ／２−（（ｄ＋１）／２））であり、
Ｉ≦ｄ≦Ｄ−１の範囲のサンプルは
ａ’（ｄ）＝ｃ’ｍｏｄ（Ｄ−１−ｄ、Ｎ）（（ｉｎｔ）（（Ｄ−１−ｄ）／Ｎ））である出力ベクトルＡ’を出力ベクトル生成部２４は、生成する。
【００４３】
＜変形例４＞
以下に、出力ベクトルＡ’の生成の変形例３を図１４を用いて説明する。変形例４の復号化は変形例２の符号化に対応している。変形例４の平均サンプルは以下のようになる。
ｙ’（０）＝ｃ’０（０）、
ｙ’（１）＝ｃ’１（０）、
．．．、
ｙ’（Ｉ／２−１）＝ｃ’（Ｉ／２）−１（０）
サブベクトルＣ’から
０≦ｄ≦Ｉ−１の範囲の要素は、
ａ’（ｄ）＝ｙ’（（ｉｎｔ）（（Ｉ／２）−（（ｄ＋１）／２）））であり、
Ｉ≦ｄ≦Ｄ−１の範囲の要素は、
ａ’（ｄ）＝ｃ’ｍｏｄ（ｄ−Ｉ／２、Ｎ）（（ｉｎｔ）（Ｄ−１―ｄ）／Ｎ））である出力ベクトルＡ’を出力ベクトル生成部２４は、生成する。
なお、出力ベクトル生成処理はこれに限られず、ベクトル量子化符号化装置１中のインタリーブサブベクトル生成部８のサブベクトルの生成手法に対応していればよい。
生成された出力ベクトルＡ’は出力端子２６により出力される。
【００４４】
ベクトル量子化符号化装置１がインデックスを生成する段階で、例えば、高周波数側サンプルのｘ（０）（ａ（３２））の値が「２０」、ｘ（１）（ａ（３３））の値が「５０」であり（図４参照）、式（２）中の重み係数ｒ１＝ｒ２＝１／２の場合、平均ベクトルｙ（０）は３５になる。この平均サンプルｙ（０）は、ｃ’２（５）に対応する。一方、ベクトル量子化符号化装置１００が平均サンプルｃ’２（５）を複製して、統合サンプルｘ’（０）、ｘ’（１）を生成する際に、ｘ’（０）＝ｘ’（１）＝３５になる。従って、ｘ（０）（＝２０）とｘ’（０）（＝３５）、ｘ（１）（＝２０）とｘ’（１）（＝５０）は値が変わってしまう。しかし、統合サンプルｘ’（ｉ）は、出力ベクトルＡ’（ｄ）の高周波数側に配置されるため、統合サンプルｘ’（ｉ）のサンプル値が高周波数側サンプルｘ（ｉ）と変わっていたとしても、聴感上、問題はない。
【図面の簡単な説明】
【００４５】
【図１】従来技術の入力サンプルａ（ｄ）とインタリーブサブベクトルＢとを模式的に示した図。
【図２】ベクトル量子化符号化装置１の機能構成例を示したブロック図。
【図３】ベクトル量子化符号化装置１の主な処理の流れを示した図。
【図４】インタリーブサブベクトルＣの生成過程を模式的に示した図。
【図５】インタリーブサブベクトルＣの生成の主な処理の流れを示した図。
【図６】変形例１のインタリーブサブベクトルＣの生成過程を模式的に示した図。
【図７】変形例２のインタリーブサブベクトルＣの生成過程を模式的に示した図。
【図８】インデックス生成の主な処理の流れを示した図。
【図９】ベクトル量子化復号化装置１００の機能構成例を示したブロック図。
【図１０】ベクトル量子化復号化装置１００の主な処理の流れを示した図。
【図１１】出力ベクトルＡ’の生成過程を模式的に示した図。
【図１２】出力ベクトル生成部２４の主な処理の流れを示した図。
【図１３】変形例３の出力ベクトルＡ’の生成過程を模式的に示した図。
【図１４】変形例４の出力ベクトルＡ’の生成過程を模式的に示した図。
【図１】
0004960791.tif 000002
【図２】
0004960791.tif 000003
【図３】
0004960791.tif 000004
【図４】
0004960791.tif 000005
【図５】
0004960791.tif 000006
【図６】
0004960791.tif 000007
【図７】
0004960791.tif 000008
【図８】
0004960791.tif 000009
【図９】
0004960791.tif 000010
【図１０】
0004960791.tif 000011
【図１１】
0004960791.tif 000012
【図１２】
0004960791.tif 000013
【図１３】
0004960791.tif 000014
【図１４】
0004960791.tif 000015