(57)【特許請求の範囲】
【請求項１】
入力された音響信号を符号化する符号化装置であって、
入力音響信号を一定時間ごとに切り出して周波数スペクトルに変換することにより、１フレーム時間ごとに、複数のバンドからなるスペクトルデータを生成して出力する変換手段と、
前記変換手段によって得られた前記スペクトルデータを各バンドごとに量子化し、量子化結果を出力する第１量子化手段と、
前記第１量子化手段から出力された量子化結果を符号化して第１の符号化信号を出力する第１符号化手段と、
前記第１量子化手段から出力された量子化結果を監視し、前記第１量子化手段に入力された前記スペクトルデータのうち、前記第１量子化手段による量子化の結果、スペクトルのピークに近接したスペクトルデータであって量子化結果が「０」となったものを所定の正規化係数を用いて量子化し直し、量子化し直した量子化結果を出力する第２量子化手段と、
前記第２量子化手段から出力された量子化結果を符号化して第２の符号化信号を出力する第２符号化手段と
前記第１の符号化信号と前記第２の符号化信号とをビットストリームとして出力する出力手段と
を備えることを特徴とする符号化装置。
【請求項２】
音響信号を表した入力符号化データを復号化する復号化装置であって、
前記入力符号化データから第１の符号化信号と、前記第１の符号化信号とは異なる所定の正規化係数を用いて量子化された第２の符号化信号を取り出し、前記第１の符号化信号と前記第２の符号化信号とを別々に出力する分離手段と、
前記第１の符号化信号を復号化し、第１の復号化結果を出力する第１復号化手段と、
前記第１の復号化結果を逆量子化し、逆量子化結果として、１フレーム時間ごとのスペクトルデータを出力する第１逆量子化手段と、
前記第２の符号化信号を復号化し、第２の復号化結果を出力する第２復号化手段と、
前記第１逆量子化手段による逆量子化結果を監視し、ピークとなるスペクトルデータに基づいて前記逆量子化結果のうち連続して「０」となる部分を特定し、特定された部分に対応する前記第２復号化手段から出力された第２の復号化結果を、前記所定の正規化係数を用いて逆量子化し、前記特定された部分を置換すべきスペクトルデータを生成する第２逆量子化手段と、
前記第１逆量子化手段によって出力されたスペクトルデータのうち、前記特定された部分のスペクトルデータの値を、前記第２逆量子化手段によって生成されたスペクトルデータの値で置換することにより、合成されたスペクトルデータを出力する逆量子化データ合成手段と、
前記合成されたスペクトルデータを時間軸上の音響信号に逆変換し、前記音響信号を出力する音響信号出力手段と
を備えることを特徴とする復号化装置。
【請求項３】
入力された音響信号を符号化する符号化方法であって、
入力音響信号を一定時間ごとに切り出して周波数スペクトルに変換することにより、１フレーム時間ごとに、変換手段が複数のバンドからなるスペクトルデータを生成して出力する変換ステップと、
第１量子化手段が、前記変換ステップによって得られた前記スペクトルデータを各バンドごとに量子化し、量子化結果を出力する第１量子化ステップと、
第１符号化手段が、前記第１量子化ステップで前記第１量子化手段から出力された量子化結果を符号化して第１の符号化信号を出力する第１符号化ステップと、
第２量子化手段が、前記第１量子化ステップで前記第１量子化手段から出力された量子化結果を監視し、前記第１量子化手段に入力された前記スペクトルデータのうち、前記第１量子化ステップによる量子化の結果、スペクトルのピークに近接したスペクトルデータであって量子化結果が「０」となったものを所定の正規化係数を用いて量子化し直し、量子化し直した量子化結果を出力する第２量子化ステップと、
第２符号化手段が、前記第２量子化ステップで第２量子化手段から出力された量子化結果を符号化して第２の符号化信号を出力する第２符号化ステップと
出力手段が、前記第１の符号化信号と前記第２の符号化信号とをビットストリームとして出力する出力ステップと
を含むことを特徴とする符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル音響データの高音質符号化及び復号化技術に関する。
【０００２】
【従来の技術】
現在、音声データを圧縮符号化する様々な音声圧縮方式が開発されている。ＭＰＥＧ−２  Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ（以下、ＡＡＣと略称する）もその方式の一つである。ＡＡＣの詳細は、「ＩＳＯ／ＩＥＣ  １３８１８−７（ＭＰＥＧ−２  Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ、ＡＡＣ）」という規格書に記載されている。
【０００３】
先ず従来の符号化及び復号化手順を、図１７を用いて説明する。図１７は、従来のＭＰＥＧ−２  ＡＡＣ方式による符号化装置３００及び復号化装置４００の構成を示すブロック図である。符号化装置３００は、入力された音響信号をＭＰＥＧ−２  ＡＡＣ符号化方式に基づいて圧縮符号化する装置であって、音響信号入力部３１０、変換部３２０、量子化部３３１、符号化部３３２及びストリーム出力部３４０から構成される。
【０００４】
音響信号入力部３１０は、例えば、４４．１ｋＨｚのサンプリング周波数でサンプリングされたデジタル音響データを、連続した１０２４サンプルごとに切り出す。なお、この１０２４サンプルの符号化単位を「フレーム」という。
【０００５】
変換部３２０は、音響信号入力部３１０によって切り出された時間軸上のサンプルデータを、ＭＤＣＴ（Ｍｏｄｉｆｉｅｄ  Ｄｉｓｃｒｅｔｅ  ＣｏｓｉｎｅＴｒａｎｓｆｏｒｍ）によって周波数軸上のスペクトルデータに変換する。なお、この時点で変換された１０２４サンプルのスペクトルデータは、複数のグループに分類される。前記各グループは、複数のグループのそれぞれに、１サンプル以上のスペクトルデータが含まれるように設定される。また、この各グループは、人間の聴覚におけるクリティカルバンドを擬似している。各グループのそれぞれを「スケールファクターバンド」という。
【０００６】
量子化部３３１は、変換部３２０から得られたスペクトルデータを所定ビット数で量子化する。ＭＰＥＧ−２  ＡＡＣでは、スケールファクターバンドごとに１つの正規化係数を用いて、スケールファクターバンド内のスペクトルデータを量子化する。この正規化係数のことを「スケールファクター」という。また、各スペクトルデータを各スケールファクターで量子化した結果を「量子化値」という。符号化部３３２は、量子化部３３１で量子化されたデータ、すなわち、各スケールファクターと、それを用いて量子化されたスペクトルデータとをストリーム用のフォーマットにハフマン符号化する。この際に、符号化部３３２は、１フレームにおいて前後に隣接するスケールファクターバンドのスケールファクターの差分を求め、その差分と先頭スケールファクターバンドのスケールファクターとをハフマン符号化する。
【０００７】
ストリーム出力部３４０は、符号化部３３２から得られた符号化信号を、ＭＰＥＧ−２  ＡＡＣビットストリームに変換し、出力する。符号化装置３００から出力されたビットストリームは、伝送媒体を介して復号化装置４００に伝送されたり、ＣＤやＤＶＤ等の光ディスク、半導体、ハードディスク等の記録媒体に記録されたりする。
【０００８】
復号化装置４００は、符号化装置３００によって符号化されたビットストリームを復号化する装置であって、ストリーム入力部４１０、復号化部４２１、逆量子化部４２２、逆変換部４３０及び音響信号出力部４４０から構成される。
【０００９】
ストリーム入力部４１０は、符号化装置３００によって符号化されたビットストリームを伝送媒体を介して、あるいは、記録媒体から再生して入力し、入力したビットストリームから符号化信号を取り出す。復号化部４２１は、取り出された符号化信号をストリーム用のフォーマットから量子化データに復号化する。
【００１０】
逆量子化部４２２は、復号化部４２１で復号化された量子化データを逆量子化する。ＭＰＥＧ−２  ＡＡＣでは、ハフマン符号化されたデータを復号化する。逆変換部４３０は、逆量子化部４２２で得られた周波数軸上のスペクトルデータを、時間軸上のサンプルデータに変換する。ＭＰＥＧ−２  ＡＡＣでは、ＩＭＤＣＴ（Ｉｎｖｅｒｓｅ  Ｍｏｄｉｆｉｅｄ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）を用いて変換する。音響信号出力部４４０は、逆変換部４３０で得られた時間軸上のサンプルデータを順次組み合わせ、デジタル音響データとして出力する。
【００１１】
なお、ＭＰＥＧ−２  ＡＡＣでは入力の音響信号に応じて、ＭＤＣＴの変換長を変更することができる。変換長が２０４８サンプルのものをＬＯＮＧブロック、変換長が２５６サンプルのものをＳＨＯＲＴブロックといい、これらをまとめてブロックサイズという。ＳＨＯＲＴブロックでは、入力されるデジタル音響データのサンプリング周波数を４４．１ｋＨｚとすると、符号化装置において、デジタル音響データの連続する１２８サンプルごとに、その前後６４サンプルを重複して合計２５６サンプルの音響データが切り出される。切り出されたデジタル音響データはＭＤＣＴ変換され、変換結果の半分の１２８サンプルからなるスペクトルデータが量子化及び符号化の対象となる。ＳＨＯＲＴブロックでは、この各１２８サンプルのスペクトルデータからなる連続したウィンドウ８つをまとめて１０２４サンプルからなる１フレームとし、以降の量子化及び符号化などの処理を、このフレームを１つの処理単位として行う。
【００１２】
このように、１ウィンドウ１２８サンプルのＳＨＯＲＴブロックでは、１ブロック１０２４サンプルのＬＯＮＧブロックに比べると、同じ２２．０５ｋＨｚの再生帯域を少ないサンプル数で表すため、音質の点ではＬＯＮＧブロックに比べて不利であるが、早い周期の音響信号に対する追従性が高いという利点がある。すなわち、ＬＯＮＧブロックの場合、切り出しの周期が長いため、切り出された音響信号の中にアタック（振幅の大きいスパイク波）が含まれていたときには、１０２４サンプルの全スペクトルに渡ってアタックの周波数成分の影響を受けてしまうという問題がある。これに対しＳＨＯＲＴブロックでは、アタックが含まれていた場合でも、その影響が１つのウィンドウ内だけでおさまるので、他のウィンドウのスペクトルには影響を受けず、より忠実に原音を再生できるという利点がある。
【００１３】
符号化装置３００において上記な方式で符号化され、復号化装置４００に伝送される音響データの音質がどの程度保持されるかを表す１つの目安として、符号化後の再生帯域がある。例えば入力信号のサンプリング周波数が４４．１ｋＨｚの時、再生帯域は２２．０５ｋＨｚとなる。この２２．０５ｋＨｚ分、又は２２．０５ｋＨｚに近い広帯域な音響信号を劣化させることなく符号化し、その符号化データをすべて伝送することにより、高音質な音響信号の伝送を達成することができる。しかし、再生帯域の広さはスペクトルデータの数に影響し、スペクトルデータの数は伝送データ量に影響する。例えば、入力信号のサンプリング周波数が４４．１ｋＨｚの時、１０２４サンプルのスペクトルデータが２２．０５ｋＨｚ分のデータに対応し、２２．０５ｋＨｚの再生帯域を確保するためには、１０２４サンプルのスペクトルデータをすべて伝送することが必要である。このためには、音響信号を効率的に符号化し、かつ、そのデータ量を伝送路の転送レート範囲内に納めることが必要になってくる。
【００１４】
ところが、携帯電話等の低転送レートの伝送路を考慮すると、実際に１０２４サンプルのスペクトルデータすべてを伝送することは、データ量が大きすぎて現実的ではない。つまり、転送レートに合わせたデータ量で、この再生帯域の全スペクトルデータを転送しようとすると、各周波数帯域に割り当てることができる情報量がわずかとなり、その結果、量子化ノイズによる影響が大きくなり、符号化による音質劣化を招く。
【００１５】
このため、ＭＰＥＧ−２  ＡＡＣに限らず、多くの音響信号符号化方式において、スペクトルデータに聴覚的重み付けを行い、優先度の低いデータは伝送しないことにより、効率的な音響信号の伝送を実現している。これに従えば、再生帯域に関しては、聴覚的に優先度の高い低域部の符号化精度を向上させるため、低域部の符号化情報に十分なデータ量を割り当て、優先度の低い高域部は伝送対象外とされる確率が高い。
【００１６】
【発明が解決しようとする課題】
しかしながら、ＭＰＥＧ−２  ＡＡＣ方式においてはこのような工夫がなされているにもかかわらず、音響信号の符号化に対して、さらなる高品質化、圧縮効率の向上が求められている。つまり、低転送レートであっても、高域部の音響信号を伝送することの要望が高まってきている。
【００１７】
本発明の目的は、符号化後の情報量を大幅に増加させることなく音響信号の高音質な符号化及びその復号化を実現できる符号化装置及び復号化装置を提供することである。
【００１８】
【課題を解決するための手段】
上記課題に鑑みて、本発明の符号化装置は、入力された音響信号を符号化する符号化装置であって、入力音響信号を一定時間ごとに切り出して周波数スペクトルに変換することにより、１フレーム時間ごとに、周波数スペクトルの時間変化を示す複数のウィンドウからなるショートブロックスペクトルを生成する変換手段と、前記変換手段によって得られた前記ウィンドウ同士を比較し、それらウィンドウ同士のスペクトルが所定の判断基準を満たす範囲で相似するか否かを判定する共有判定手段と、前記ウィンドウ同士のスペクトルが前記範囲内で相似する場合、他のウィンドウの高域部スペクトルを共有する共有ウィンドウにつき、その共有ウィンドウの高域部スペクトルデータを所定値に置換する置換手段と、前記置換手段による置換処理の後、前記各ウィンドウのスペクトルデータを量子化する第１量子化手段と、前記第１量子化手段による量子化結果を符号化する第１符号化手段と、前記第１符号化手段によって符号化されたデータを出力する出力手段とを備えることを特徴とする。
【００１９】
これに対応して、本発明の復号化装置は、音響信号を表した入力符号化データを復号化する復号化装置であって、前記入力符号化データ中の第１の領域に記録されている第１符号化データを復号化する第１復号化手段と、前記第１復号化手段による復号化結果を逆量子化し、１フレーム時間ごとに、周波数スペクトルの時間変化を示す複数のショートブロックスペクトルを出力する第１逆量子化手段と、前記第１逆量子化手段による逆量子化結果を監視し、前記第１逆量子化手段によって出力された前記ウィンドウのうち、周波数高域部のスペクトルデータの値が所定値となっている場合、そのウィンドウを、ウィンドウ内の高域部スペクトルデータを他のウィンドウの高域部スペクトルデータを参照して生成する参照ウィンドウであると判定する判定手段と、前記判定手段の判定に基づいて、前記第１逆量子化手段による逆量子化結果から、前記参照ウィンドウに参照されるウィンドウである被参照ウィンドウの高域部スペクトルデータをコピーし、コピーしたスペクトルデータを前記参照ウィンドウに対応付けて出力する第２逆量子化手段と、前記第１逆量子化手段によって出力された前記所定値の高域部スペクトルデータであって、前記参照ウィンドウの高域部スペクトルデータの値を、前記第２逆量子化手段によって対応付けられ出力された前記被参照ウィンドウの高域部スペクトルデータの値で置換した後、逆変換し、時間軸上の音響信号として出力する音響信号出力手段とを備えることを特徴とする。
【００２０】
また、本発明の符号化装置によれば、前記共有判定手段は、前記ウィンドウ同士のスペクトルが所定の判断基準を満たす範囲で相似するか否かを判定し、前記置換手段は、前記ウィンドウ同士のスペクトルが前記範囲内で相似する場合、他のウィンドウの高域部スペクトルを共有する共有ウィンドウにつき、その共有ウィンドウのさらに低域部のスペクトルデータを所定値に置換する。
【００２１】
これに対応して、本発明の復号化装置において、前記判定手段は、前記第１逆量子化手段によって出力された前記各ウィンドウにおいて全スペクトルデータの値が所定値となっている場合、そのウィンドウを前記参照ウィンドウであると判定し、前記第２逆量子化手段は、前記判定手段による判定に基づいて、前記第１逆量子化手段の逆量子化結果から、所定の前記被参照ウィンドウのさらに低域部を含んだ全スペクトルデータをコピーし、コピーしたスペクトルデータを前記参照ウィンドウに対応付けて出力し、前記音響信号出力手段は、前記参照ウィンドウの全スペクトルデータの値を、前記第２逆量子化手段によって対応付けられ出力された前記被参照ウィンドウのスペクトルデータの値で置換した後、逆変換し、時間軸上の音響信号として出力する。
【００２２】
さらに、本発明の符号化装置は、さらに、前記第１量子化手段に入力されたスペクトルデータのうち、第１量子化手段による量子化の結果、スペクトルのピークに近接したスペクトルデータであって量子化結果が所定値となったものを所定の正規化係数を用いて量子化し直す第２量子化手段と、前記第２量子化手段の量子化結果を符号化する第２符号化手段とを備え、前記出力手段は、前記第１符号化手段によって符号化されたデータと、前記第２符号化手段によって符号化されたデータとを出力する。
【００２３】
これに対応して、本発明の復号化装置は、さらに、前記入力符号化データ中の第２の領域から、同じスペクトルデータについて前記第１符号化データとは異なる所定の正規化係数を用いて量子化された第２符号化データを分離する第２符号化データ分離手段と、前記第２符号化データを復号化する第２復号化手段と、前記第１復号化手段による復号化結果を監視して、前記復号化結果のうち連続して所定値となる部分を特定し、特定された部分に対応する前記第２復号化手段による復号化結果を、前記所定の正規化係数を用いて逆量子化し、複数のスペクトルデータを生成する第２逆量子化手段と、前記第１逆量子化手段によって出力されたスペクトルデータのうち、前記特定された部分のスペクトルデータの値を、前記第２逆量子化手段によって生成されたスペクトルデータの値で置換した後、逆変換し、時間軸上の音響信号として出力する音響信号出力手段とを備える。
【００２４】
【発明の実施の形態】
（実施の形態１）
以下、本実施の形態における符号化装置１００及び復号化装置２００について詳細に説明する。図１は、本発明の符号化装置１００及び復号化装置２００の構成を示すブロック図である。
【００２５】
＜符号化装置１００＞
符号化装置１００は、従来伝送されている音響信号のデータ量を低減して伝送し、伝送するデータ量が同じであれば、復号化装置２００において従来よりも高音質の音響信号を復元できる音響符号化ビットストリームを出力する。具体的には、ＳＨＯＲＴブロックの場合に、１２８サンプル単位のブロック（＝ウィンドウ）を８つまとめて伝送するが、２つ以上のウィンドウにおいて高域部のスペクトルデータが類似または相似ならば、高域部の量子化データを共有することによりデータ量を削減する。符号化装置１００は、音響信号入力部１１０、変換部１２０、第１の量子化部１３１、第１の符号化部１３２、第２の符号化部１３４、共有判定部１３７及びストリーム出力部１４０から構成される。
【００２６】
音響信号入力部１１０は、周波数４４．１ｋＨｚのサンプリング周波数でサンプリングされたＭＰＥＧ−２  ＡＡＣと同様の入力信号であるデジタル音響データを、約２．９ｍｓｅｃ（１２８サンプルごと）のサイクルで、その前後の６４サンプルをオーバーラップさせ、２５６サンプルずつ切り出す。
【００２７】
変換部１２０は、従来と同様、音響信号入力部１１０によって切り出された時間軸上のサンプルデータを、周波数軸上のスペクトルデータに変換する。ＭＰＥＧ−２  ＡＡＣでは、ＭＤＣＴを用いて、２５６サンプルの時間軸データを、ＳＨＯＲＴブロック２５６サンプルのスペクトルデータに変換する。しかし、ＭＤＣＴでは左右対称なスペクトルデータとなるので、片方の１２８サンプルのみを符号化の対象とする。以下では、ＳＨＯＲＴブロックにおける、この１２８サンプルからなる単位を「ウィンドウ」といい、１フレームは８ウィンドウ１０２４サンプルからなる。
【００２８】
変換部１２０は、さらに、変換された１ウィンドウのスペクトルデータを、それぞれ１サンプル以上（実用的には４の倍数）のスペクトルデータを含む複数のスケールファクターバンドに分類する。ＭＰＥＧ−２  ＡＡＣでは、１フレームに含まれるスケールファクターバンドの数が、ブロックサイズとサンプリング周波数に応じて定められており、各スケールファクターバンドに含まれるサンプル（スペクトルデータ）数も、周波数に応じて定められている。このスケールファクターバンドは、周波数低域部においては少数のサンプルごとに細かく区切られ、高域部になるほど多数のサンプルを含むよう大きく区切られている。ＳＨＯＲＴブロックにおいては、サンプリング周波数が４４．１ｋＨｚの場合は、１ウィンドウに含まれるスケールファクターバンドの数は１４個である。このような各ウィンドウの１２８サンプルのスペクトルデータは、入力音源のサンプリング周波数が４４．１ｋＨｚの場合、それぞれが２２．０５ｋＨｚの再生帯域を表している。
【００２９】
図２は、図１に示した符号化装置１００において処理される音響信号の変換過程を示す図である。図２（ａ）は、図１に示した音響信号入力部１１０によって各ＳＨＯＲＴブロックに切り出される時間軸上のサンプルデータを示す波形図である。図２（ｂ）は、図１に示した変換部１２０によってＭＤＣＴ変換された後の１フレーム分のＳＨＯＲＴブロックのスペクトルデータを示す波形図である。なお、図２（ｂ）に示すスペクトルデータは、縦軸にスペクトルの値、横軸に周波数を表している。また、図２（ａ）及び図２（ｂ）において、サンプルデータ及びスペクトルデータはアナログ波形で示されているが、実際には、いずれもデジタル信号である。以下の波形図においても同様である。なお、図２（ｂ）においては簡単に説明するため、正の値のみからなる波形を示しているが、実際にはＭＤＣＴ変換によるスペクトルデータは負の値をとりうる。
【００３０】
音響信号入力部１１０には、図２（ａ）のようなデジタル音響信号が入力される。音響信号入力部１１０は、この入力信号から毎１２８サンプルを切り出すタイミングで、その前後６４サンプルをオーバーラップさせて２５６サンプルを切り出し、変換部１２０に出力する。変換部１２０は、合計２５６サンプルのデータをＭＤＣＴするが、ＭＤＣＴによって得られるスペクトルが左右対称の波形となるため、その半分の１２８サンプルに対応するスペクトルデータを生成する。図２（ｂ）は、このように生成された８つのウィンドウからなるＳＨＯＲＴブロック、１フレームのスペクトルデータを示しており、各ウィンドウは変換部１２０によって約２．９ｍｓｅｃごとに生成される１２８点のスペクトルデータからなる。すなわち、各ウィンドウは、１２８サンプルの電圧値で表されていた音響信号に含まれる周波数成分の量（大きさ）を、前記サンプル数に対応する１２８点のスペクトルデータで表している。
【００３１】
共有判定部１３７は、変換部１２０の出力するスペクトルデータの８つのウィンドウに関して、他のウィンドウと高域部の量子化データを共有するか否かを判定し、かつ、高域部量子化データを他のウィンドウと共有する場合は、そのウィンドウの高域部スペクトルデータの値を「０」に置換する。例えば、具体的な判定の方法として、高域部データを共有しない直前のウィンドウとの間で、スペクトル間のエネルギー差を求め、そのエネルギー差がしきい値未満である場合に共有すると判定する。共有判定部１３７は、共有するか否かを示すフラグを各ウィンドウに対応して生成し、生成したフラグからなり、どのウィンドウが直前のウィンドウの高域部量子化データを共有するかを示す共有情報を出力する。
【００３２】
第１の量子化部１３１は、共有判定部１３７の出力するスペクトルデータを入力し、入力されたスペクトルデータの各スケールファクターバンドにつき、それぞれスケールファクターを決定する。さらに、決定したスケールファクターを用いてそのスケールファクターバンド内のスペクトルを量子化し、量子化結果である量子化値とスケールファクターとを第１の符号化部１３２に出力する。具体的には、第１の量子化部１３１は、各フレームの符号化後のビット数が伝送路の転送レートの範囲に収まるように各スケールファクターバンドのスケールファクターを計算し、そのスケールファクターを用いて当該スケールファクターバンド内の各スペクトルを正規化し、量子化する。
【００３３】
第１の符号化部１３２は、第１の量子化部１３１で量子化された１０２４サンプルのスペクトルデータの量子化値及びその量子化に用いられたスケールファクターなどを、第１の符号化信号としてハフマン符号化して所定のストリーム用のフォーマットに変換する。スケールファクターについては、それぞれの差分を順次求め、先頭のスケールファクターと差分とをハフマン符号化する。
【００３４】
第２の符号化部１３４は、各ウィンドウで直前のウィンドウの高域部量子化値を共有するか否かを示す共有情報を共有判定部１３７から受け取り、その共有情報を所定のストリーム用のフォーマットにハフマン符号化し、第２の符号化信号として出力する。
【００３５】
ストリーム出力部１４０は、第１の符号化部１３２から出力される第１の符号化信号にヘッダ情報及びその他必要に応じた副情報を付加してＭＰＥＧ−２  ＡＡＣの符号化ビットストリームに変換し、かつ、第２の符号化部１３４から出力された第２の符号化信号を、上記ビットストリーム中の従来の復号化装置では無視される又はその動作が規定されていない領域に格納する。
【００３６】
具体的には、ストリーム出力部１４０は、第２の符号化部１３４から出力される符号化信号を、ＭＰＥＧ−２  ＡＡＣの符号化ビットストリームにおけるＦｉｌｌ  ＥｌｅｍｅｎｔやＤａｔａ  Ｓｔｒｅａｍ  Ｅｌｅｍｅｎｔに格納する。
【００３７】
符号化装置１００から出力されたビットストリームは、携帯電話通信網、インターネットなどの通信回線網、ケーブルテレビ及びデジタルテレビの放送電波などの伝送媒体を介して復号化装置２００に伝送されたり、ＣＤやＤＶＤ等の光ディスク、半導体、ハードディスク等の記録媒体に記録されたりする。
【００３８】
なおまた実際のＭＰＥＧ−２  ＡＡＣの符号化処理では、Ｇａｉｎ  ＣｏｎｔｒｏｌやＴＮＳ（Ｔｅｍｐｏｒａｌ  Ｎｏｉｓｅ  Ｓｈａｐｉｎｇ）、聴覚心理モデル、Ｍ／Ｓ  Ｓｔｅｒｅｏ、Ｉｎｔｅｎｓｉｔｙ  Ｓｔｅｒｅｏ、Ｐｒｅｄｉｃｔｉｏｎ等のツール利用、及びブロックサイズの切り換え、ビットリザーバー等を使用する場合がある。
【００３９】
＜復号化装置２００＞
復号化装置２００は、入力された符号化ビットストリームから前記共有情報に基づいて高域部の付加された広帯域の音響データを復元する復号化装置であって、ストリーム入力部２１０、第１の復号化部２２１、第１の逆量子化部２２２、第２の復号化部２２３、第２の逆量子化部２２４、逆量子化データ合成部２２５、逆変換部２３０及び音響信号出力部２４０から構成される。
【００４０】
ストリーム入力部２１０は、携帯電話通信網、インターネットなどの通信回線網、ケーブルテレビの伝送路及び放送電波などの伝送媒体を介したり、記録媒体から再生したりして、符号化装置１００において生成されたビットストリームを入力し、従来の復号化装置４００が復号化するべき領域に格納されている第１の符号化信号と、従来の復号化装置４００が無視するかまたはその情報に対する動作が規定されていない領域に格納されている第２の符号化信号（共有情報）とを取り出して、それぞれ第１の復号化部２２１と第２の復号化部２２３とに出力する。
【００４１】
第１の復号化部２２１は、ストリーム入力部２１０の出力する第１の符号化信号を入力し、ハフマン符号化されたデータをストリーム用のフォーマットから量子化データに復号化する。
第２の復号化部２２３は、ストリーム入力部２１０の出力する第２の符号化信号を入力し、入力された第２の符号化信号を復号して共有情報を出力する。
第２の逆量子化部２２４では、第２の復号化部２２３から出力された共有情報を参照して、他のウィンドウに共有されている部分につき、第１の逆量子化部２２２より出力されたスペクトルデータをコピーして出力する。
【００４２】
逆量子化データ合成部２２５は、第１の逆量子化部２２２の出力するスペクトルデータと第２の逆量子化部２２４の出力するスペクトルデータとを合成する。具体的には、第１の逆量子化部２２２から入力されたスペクトルデータに対し、第２の逆量子化部２２４から周波数を指定して入力されたスペクトルデータがあれば、第１の逆量子化部２２２の出力であるその周波数のスペクトルデータの値を、第２の逆量子化部２２４の出力であるスペクトルデータの値で置換する。また、第２の逆量子化部２２４からウィンドウを指定して入力された高域部スペクトルデータがあれば、そのウィンドウの第１の逆量子化部２２２からの出力である高域部スペクトルデータを、第２の逆量子化部２２４から入力されたスペクトル値で置換する。
【００４３】
逆変換部２３０は、ＭＰＥＧ−２  ＡＡＣに従って、逆量子化データ合成部２２５から出力された周波数軸上のスペクトルデータを、ＩＭＤＣＴを用いて時間軸上の１０２４サンプルのサンプルデータに変換する。音響信号出力部２４０は、逆変換部２３０で得られた時間軸上のサンプルデータを順次組み合わせ、デジタル音響データとして出力する。
【００４４】
このように、８つウィンドウのうちいくつかの高域部量子化データを共有化することによって、スペクトルデータの再現性の低下を最小限に抑えながらも、共有された高域部情報の分だけデータの伝送量を削減することができるという効果がある。
【００４５】
図３は、図１に示した共有判定部１３７による高域部データの共有の一例を示す図である。図３は、図２（ｂ）と同様、ＭＤＣＴ変換によって得られる１フレーム分のＳＨＯＲＴブロックのスペクトルデータを示している。図３において各ウィンドウにつき、破線で区切った左側を、例えば０ｋＨｚから１１．０２５ｋＨｚまでの再生帯域を表す低域部とし、右側を１１．０２５ｋＨｚから２２．０５ｋＨｚまでの再生帯域である高域部とする。
【００４６】
また、隣接する２つのウィンドウのスペクトルは、ウィンドウを切り出すサイクルが短いため、図３のように相互に類似した波形となる可能性が高い。このような場合、共有判定部１３７は、相互に類似した波形となるウィンドウ間で高域部量子化データを共有すると判定する。例えば、第１ウィンドウと第２ウィンドウとのスペクトルの相似性が高く、第３ウィンドウから第８ウィンドウまでのスペクトルが相互に相似性が高い場合、共有判定部１３７は、第１ウィンドウと第２ウィンドウとが高域部量子化データを共有し、第３ウィンドウと第４以降のウィンドウとが高域部量子化データを共有すると判定する。この場合、図３に矢印で示す範囲のスペクトルデータが伝送（すなわち、量子化及び符号化）の対象となり、それ以外の第２ウィンドウと、第４〜第８ウィンドウとの高域部のスペクトルデータは伝送（すなわち、量子化及び符号化）の対象とならず、共有判定部１３７によって「０」に置換される。
【００４７】
図４は、図１に示したストリーム出力部１４０によって第２の符号化信号（共有情報）が格納されるビットストリームのデータ構造を示す図である。図４（ａ）は、ビットストリーム内に第２の符号化信号を格納した場合の各領域内部のデータ構造を示す図である。図４（ｂ）は、ＭＰＥＧ−２  ＡＡＣに準拠する音響符号化ビットストリームの一部データ構造の一例を示す図である。図４（ｃ）は、ＭＰＥＧ−２  ＡＡＣに準拠する音響符号化ビットストリームの一部データ構造の他の例を示す図である。図４（ｂ）において斜線で示す部分は、例えば、ビットストリームのデータ長を合わせるために「０」で埋められる領域（ＦｉｌｌＥｌｅｍｅｎｔ）である。また、図４（ｃ）において斜線で示す部分は、例えば、Ｄａｔａ  Ｓｔｒｅａｍ  Ｅｌｅｍｅｎｔ（ＤＳＥ）という領域であって、この領域は、将来の拡張のためＭＰＥＧ−２  ＡＡＣの規格によってビット長などの物理的構造だけが規定された領域である。前述の共有情報は、第２の符号化部１３４によって符号化された後、図４（ａ）のように識別情報を付され、ビットストリーム中の上記Ｆｉｌｌ  Ｅｌｅｍｅｎｔ又はＤＳＥなどの領域に格納される。
【００４８】
Ｆｉｌｌ  Ｅｌｅｍｅｎｔに第２の符号化信号を格納した場合、従来の復号化装置４００では復号化すべき符号化信号とは認識されず、無視される。ＤＳＥに第２の符号化信号を格納した場合、従来の復号化装置４００によって第２の符号化信号が読み取られたとしても、ＤＳＥ内で読み取られた第２の符号化信号に対する復号化装置４００の動作が規定されていないので、復号化装置４００はこれに対応する処理を何も行わない。従って、このような領域に第２の符号化信号を格納しておくことによって、本発明の符号化装置１００による符号化ビットストリームが従来の復号化装置４００に入力された場合でも、第２の符号化信号は音響符号化信号として復号化されないために、第２の符号化信号を正しく復号化することができないことに起因する雑音の発生等を防止することができる。これにより、従来の復号化装置４００であっても、第１の符号化信号のみに従って、音響信号を従来どおり支障なく再生することができるという効果がある。
【００４９】
このようなＦｉｌｌ  Ｅｌｅｍｅｎｔに第２の符号化信号を格納する場合、Ｆｉｌｌ  Ｅｌｅｍｅｎｔには当初から図４（ａ）のヘッダ情報が設けられている。このヘッダ情報には、Ｆｉｌｌ  Ｅｌｅｍｅｎｔであることを示すＦｉｌｌ  Ｅｌｅｍｅｎｔ識別子及びＦｉｌｌ  Ｅｌｅｍｅｎｔ全体のビット長を示すビット数データなどが含まれている。ＤＳＥに第２の符号化信号を格納する場合にも、Ｆｉｌｌ  Ｅｌｅｍｅｎｔと同様、図４（ａ）に示したヘッダ情報が設けられており、以下のデータがＤＳＥであることを示すＤＳＥ識別子及びＤＳＥ全体のビット長を示すビット数データなどが含まれている。ストリーム出力部１４０は、このヘッダ情報に続いて、識別情報と共有情報とからなる第２の符号化信号を格納する。
【００５０】
識別情報は、以下に格納されている符号化情報が、本発明の符号化装置１００による符号化情報であるか否かを示す情報である。例えば、識別情報が「０００１」であれば、以下の符号化情報が符号化装置１００によって符号化された共有情報であることを示している。また、例えば、識別情報が「１０００」であれば、以下の符号化情報が符号化装置１００によって符号化されたものでないことを示している。本発明の復号化装置２００は、上記の例では、識別情報が「０００１」であれば、以下の共有情報を第２の復号化部２２３で復号化し、復号化の結果得られた共有情報に基づいて各ウィンドウの高域部スペクトルデータを復元するが、識別情報が「１０００」であれば、以下の符号化データを無視する。このＦｉｌｌ  ＥｌｅｍｅｎｔやＤＳＥのように、内部に符号化データが格納されていても、従来の復号化装置４００には音響符号化信号として認識されない領域に第２の符号化信号を格納する場合、これらの領域には他の方式に基づく符号化情報も格納される可能性がある。このような場合、第２の符号化信号に識別情報を含めておくことによって、他の符号化情報と本発明の第２の符号化信号とを明確に区別することができ、それらの混同を容易に防止することができるという効果がある。
【００５１】
さらに、この識別情報を用いることによって、上記に例示した以外にも、前述の共有情報に本発明の以下の実施の形態に基づく他の情報（例えば、補助情報など）を組み合わせて第２の符号化信号に格納する場合などに、その旨を復号化装置２００に明示することができるという効果がある。なお、この識別情報は、必ずしも第２の符号化信号の先頭に付す必要はなく、符号化された共有情報の末尾あるいは一部に挿入してもよい。
【００５２】
図５は、図１に示したストリーム出力部１４０によって第２の符号化信号（共有情報）が格納されるビットストリームの他のデータ構造を示す図である。なお、この場合、音響符号化ビットストリームは、ＭＰＥＧ−２  ＡＡＣに準拠するものでなくてもよい。図５（ａ）は、第１の符号化信号のみがフレームごとに連続して格納されているストリーム１を示している。図５（ｂ）は、共有情報が符号化された第２の符号化信号のみが、ストリーム１に対応するフレームごとに連続して格納されているストリーム２を示している。図５（ｂ）に示すストリーム２には、図４（ａ）のようにヘッダ情報及び識別情報を付加された共有情報が、例えば、１フレーム分ずつ順次格納される。このように、ストリーム出力部１４０は、第１の符号化信号と第２の符号化信号とを、それぞれ全く別のストリーム１とストリーム２とに格納してもよい。例えば、ストリーム１とストリーム２とは、異なるチャンネルで伝送されるビットストリームであってもよい。
【００５３】
このように、第１の符号化信号と第２の符号化信号をまったく異なるビットストリームで伝送することにより、入力音響信号の基本的な情報を表す低域部分をあらかじめ伝送又は蓄積しておき、必要に応じて高域部に関する情報を後から付加することができるという効果がある。
【００５４】
また、第２の符号化信号を組み込んだ符号化ビットストリームを本発明の復号化装置２００のみを対象として出力する場合には、符号化装置１００及び復号化装置２００間であらかじめ定めた上記以外のヘッダ情報内の所定位置に組み込んでもよいし、第１の符号化信号中の所定の位置に第２の符号化信号を組み込んでもよいし、その両方にまたがって組み込んでもよい。また、ビットストリーム中に第２の符号化信号を格納するために、ヘッダにおいても第１の符号化信号においても、連続した領域を確保しなくてもよい。図５（ｃ）は、第２の符号化信号をビットストリームのヘッダ情報及び第１の符号化信号の中に飛び飛びに挿入した場合のビットストリームのデータ構造を示す図である。すなわち、図５（ｃ）のように、ヘッダ情報と第１の符号化信号との中に、非連続に第２の符号化信号を組み込んでもよい。この場合も、図４（ａ）のようにヘッダ情報及び識別情報を付加された共有情報が順次格納される。
【００５５】
以上のように構成された符号化装置１００及び復号化装置２００の動作について、以下、図６、図７及び図１０のフローチャートと図９の波形図とを用いて説明する。
図６は、図１に示した第１の量子化部１３１のスケールファクター決定処理における動作を示すフローチャートである。第１の量子化部１３１は、まず、スケールファクターの初期値として、各スケールファクターバンドに共通のスケールファクターを定め（Ｓ９１）、そのスケールファクターを用いて、１フレーム分の音響データとして共有判定部１３７から出力されたスペクトルデータをすべて量子化するとともに、求められたスケールファクターの前後の差分を求め、その差分と先頭のスケールファクターと各量子化値とをハフマン符号化する（Ｓ９２）。なお、ここでの量子化及び符号化は、ビット数のカウントのためだけに行うので、処理を簡略化するため、データのみについて行い、ヘッダなどの情報は付加しないものとする。次いで、第１の量子化部１３１は、ハフマン符号化後のデータのビット数が所定のビット数を超えたか否かを判断し（Ｓ９３）、超えていれば、スケールファクターの初期値を下げ（Ｓ１０１）、そのスケールファクターの値を用いて、同じスペクトルデータにつき、量子化とハフマン符号化とをやり直した上（Ｓ９２）、ハフマン符号化後の１フレーム分の符号化データのビット数が所定のビット数を超えたか否かを判断して（Ｓ９３）、所定ビット数以下になるまでこの処理を繰り返す。
【００５６】
第１の量子化部１３１は、符号化データのビット数が所定のビット数を超えていなければ、スケールファクターバンドごとに以下の処理を繰り返し、各スケールファクターバンドのスケールファクターを決定する（Ｓ９４）。まず、スケールファクターバンド内の各量子化値を逆量子化し（Ｓ９５）、それぞれの逆量子化値とそれに対応する元のスペクトルデータとの各絶対値の差分を求めて合計する（Ｓ９６）。さらに、求められた差分の合計が許容範囲内の値であるか否かを判断し（Ｓ９７）、許容範囲内であれば、次のスケールファクターバンドにつき、上記の処理を繰り返す（Ｓ９４〜Ｓ９８）。一方、許容範囲を超えていれば、スケールファクターの値を大きくして当該スケールファクターバンドのスペクトルデータを量子化するとともに（Ｓ１００）、その量子化値を逆量子化して（Ｓ９５）、逆量子化値と対応するスペクトルデータとの絶対値の差分を合計する（Ｓ９６）。さらに、差分の合計が許容範囲内かどうかを判断して（Ｓ９７）許容範囲を超えていれば、許容範囲内となるまでスケールファクターを順次大きくし（Ｓ１００）、上記の処理（Ｓ９５〜Ｓ９７及びＳ１００）を繰り返す。
【００５７】
第１の量子化部１３１は、すべてのスケールファクターバンドにつき、スケールファクターバンド内の量子化値を逆量子化した値と元のスペクトルデータとの絶対値の差分の合計が許容範囲となるようなスケールファクターを決定すると（Ｓ９８）、決定されたスケールファクターを用いて、再度、１フレーム分のスペクトルデータを量子化し、各スケールファクターの差分と先頭のスケールファクターと各量子化値とをハフマン符号化し、符号化データのビット数が所定のビット数を超えているか否かを判定する（Ｓ９９）。符号化データのビット数が所定のビット数を超えていれば、それが所定のビット数以下になるまでスケールファクターの初期値を下げた後（Ｓ１０１）、各スケールファクターバンド内のスケールファクターを決定する処理（Ｓ９４〜Ｓ９８）を繰り返す。符号化データのビット数が所定のビット数を超えていなければ（Ｓ９９）、そのときの各スケールファクターの値を、各スケールファクターバンドのスケールファクターに決定する。
【００５８】
なお、スケールファクターバンド内の量子化値を逆量子化した値と元のスペクトルデータとの絶対値の差分の合計が許容範囲となるかどうかの判断は、聴覚心理モデルなどのデータに基づいて行われる。
【００５９】
また、ここではスケールファクターの初期値を比較的大きな数値に設定し、ハフマン符号化後の符号化データのビット数が、所定のビット数を超えた場合には、順次、スケールファクターの初期値を下げていく方法でスケールファクターを決定しているが、必ずしもこのようにする必要はない。例えば、あらかじめスケールファクターの初期値を低い値に設定しておき、その初期値を徐々に増加していき、符号化データの全体のビット数が所定のビット数を最初に超えた段階で、直前に設定されていたスケールファクターの初期値を用いて各スケールファクターバンドのスケールファクターを決定するようにしてもよい。
【００６０】
さらに、ここでは１フレーム分の符号化データ全体のビット数が所定のビット数を超えないように各スケールファクターバンドのスケールファクターを決定したが、必ずしもこのようにしなくてよい。例えば、各スケールファクターバンドにおいて、スケールファクターバンド内の各量子化値が所定のビット数を超えないようスケールファクターを決定するようにしてもよい。
【００６１】
図７は、図１に示した共有判定部１３７の１フレームの共有判定処理における動作の一例を示すフローチャートである。ここで共有判定部１３７は、フレーム内の各ウィンドウの判定結果を、例えば８個のウィンドウに対応する８個のフラグからなる共有情報で表すとする。フラグはそれぞれ、値「０」が高域部の量子化データを伝送することを表し、値「１」が高域部の量子化データを他のウィンドウと共有することを表す。
【００６２】
共有判定部１３７は、変換部１２０から入力した第１ウィンドウの全スペクトルデータを第１の量子化部１３１に出力し、共有情報の第１ビットであるフラグを「０」にした後（Ｓ１）、残りの第２から第８までの各ウィンドウについて、以下の判定処理を繰り返す（Ｓ２〜Ｓ９）。
【００６３】
すなわち、注目しているウィンドウと、その直前のウィンドウであってフラグが「０」のウィンドウとの間でスペクトルのエネルギー差を求め（Ｓ３）、エネルギー差が所定のしきい値未満となるか否かを判断する（Ｓ４）。
【００６４】
判断の結果、エネルギー差がしきい値未満であれば、現在注目しているウィンドウと、前記直前のウィンドウとのスペクトルが相似であるとして、注目ウィンドウと前記直前のウィンドウとの間で高域部スペクトルデータを共有すると判定する。この場合、共有判定部１３７は、注目ウィンドウの高域部スペクトルを「０」に置換し（Ｓ５）、共有情報中の注目ウィンドウに対応するビットを「１」にする（Ｓ６）。一方、判断の結果、エネルギー差がしきい値以上であれば、注目ウィンドウと前記直前のウィンドウとの間で高域部スペクトルデータを共有しないと判定する。この場合、共有判定部１３７は、注目ウィンドウの全スペクトルデータをそのまま第１の量子化部１３１に出力し（Ｓ７）、共有情報中の注目ウィンドウに対応するビットを「０」にする（Ｓ８）。
【００６５】
例えば、まず、第２ウィンドウを注目ウィンドウとし、第２ウィンドウの１２８サンプルからなる各スペクトルデータと、第１ウィンドウの１２８サンプルからなる各スペクトルデータとについて、同じ周波数同士の差分を求め、求められた差分を合計することによって、第２ウィンドウと第１ウィンドウとのスペクトルのエネルギー差を求め（Ｓ３）、求められたエネルギー差が所定のしきい値未満であるか否かを判断する（Ｓ４）。
【００６６】
ここで、第１ウィンドウと第２ウィンドウとのエネルギー差がしきい値未満であったとすると、共有判定部１３７は、第２ウィンドウと第１ウィンドウとのスペクトルが相似であるので、第２ウィンドウにおいて、第１ウィンドウの高域部データを共有すると判定する。この判定に応じて、共有判定部１３７は第２ウィンドウの高域部スペクトルデータをすべて「０」に置換し（Ｓ５）、共有情報の第２ビットのフラグを「１」にする（Ｓ６）。
【００６７】
第２ウィンドウについての判定処理はこれで終了した（Ｓ９）ので、共有判定部１３７は、次の第３ウィンドウについて（Ｓ２）、第１ウィンドウとのスペクトルのエネルギー差を計算する（Ｓ３）。具体的には、第３ウィンドウの１２８サンプルからなる各スペクトルデータと、第１ウィンドウの１２８サンプルからなる各スペクトルデータとについて、同じ周波数同士の差分を求め、求められた差分を合計することによって、第２ウィンドウと第１ウィンドウとのスペクトルのエネルギー差を求める。さらに、求められたエネルギー差が所定のしきい値未満であるか否かを判断する（Ｓ４）。
【００６８】
判断の結果、エネルギー差がしきい値以上であったとすると、第３ウィンドウと第１ウィンドウとのスペクトルは相似でないとして、第３ウィンドウにおいて第１ウィンドウの高域部スペクトルデータを共有しないと判定する。これに応じて、共有判定部１３７は、第３ウィンドウの高域部スペクトルデータを「０」に置換しないで、そのまま全スペクトルデータを第１の量子化部１３１に出力するとともに（Ｓ７）、共有情報の第３ビットのフラグを「０」にする。
【００６９】
共有判定部１３７は、これで、第３ウィンドウについての判定処理を終了した（Ｓ９）ので、次の第４ウィンドウについて（Ｓ２）、直前のウィンドウであって高域部スペクトルデータを「０」にしないで出力したウィンドウとのエネルギー差を計算するが、この場合、前記直前のウィンドウとは、他のウィンドウと高域部量子化データを共有する連続したウィンドウの直前にある第３ウィンドウのことである。以下、共有判定部１３７は上記と同様にして第８ウィンドウまで共有判定処理を繰り返し、第８ウィンドウについての処理を終了すると、１フレームについての処理を終了する。この結果、当該１フレームのスペクトルデータが第１の量子化部１３１に出力され、そのフレームについての８ビットの共有情報、「０１０１１１１１」が生成される。この場合、第２ウィンドウが直前の第１ウィンドウと高域部量子化データを共有し、第４から第８までの連続するウィンドウが直前の第３ウィンドウと高域部量子化データを共有することを示している。また、同じ共有情報の別の表現方法として、第１ウィンドウは常に高域部量子化データを伝送すると決めておく場合、共有情報の先頭１ビットを省略して、共有情報を「１０１１１１１」と７ビットで表してもよい。なお、共有情報はこのような表現に限ったものでなくてもよい。共有判定部１３７は、生成された共有情報を第２の符号化部１３４に出力し、その後、次のフレームについて同様の処理を行う。
【００７０】
なお、ここでは、共有判定部１３７が注目しているウィンドウと、高域部スペクトル値を「０」に置換しないで出力した直前のウィンドウとのスペクトルのエネルギー差を、各ウィンドウの全域１２８サンプルについて求めたが、必ずしもこのようにする必要はなく、高域部６４サンプルについてのみウィンドウ間のエネルギー差を求め、そのエネルギー差がしきい値未満となるウィンドウについて、高域部データを共有すると判定してもよい。
【００７１】
また、ここでは、第１ウィンドウについては高域部スペクトルデータを置換しないで、常に全スペクトルデータをそのまま出力する場合を説明したが、必ずしもそうする必要はない。例えば、共有判定部１３７は、１フレーム内で、どのウィンドウに対してもスペクトルのエネルギー差が最小となるウィンドウをサーチし、その１つ、あるいは、エネルギー差が小さい順に所定の数のウィンドウだけ、ウィンドウ内の全スペクトルデータを（量子化及び符号化し、）伝送するとしてもよい。そうした場合、第１ウィンドウの高域部スペクトルデータを必ず伝送するとは限らない。
【００７２】
なお、本実施の形態の形態において、あるウィンドウが他のウィンドウと高域部を共有するか否かの判定は、高域部データを共有しない直前のウィンドウとの間でスペクトルのエネルギー差を求め、そのエネルギー差がしきい値未満であれば共有すると判定したが、ウィンドウ間で高域部量子化データを共有するか否かの判定基準は、エネルギー差でなくてもよい。例えば、各ウィンドウ内においてスペクトル値の絶対値が最大となるスペクトルデータの周波数軸上の位置（周波数）を求め、ウィンドウ間でのその位置のずれが所定のしきい値未満となる場合に、高域部量子化データを共有するとしてもよい。それ以外にも、高域部データを共有しない直前のウィンドウとの間でスペクトルのピークの数および／または位置が類似する場合に、共有すると判定してもよい。また、これらをスケールファクターバンドごとに比較して、類似の度合いに応じて点数評価し、１ウィンドウ全体について総合的に判断してもよい。また単に、高域部データを共有しない直前のウィンドウとの間で、ウィンドウ内において絶対値が最大となるスペクトルデータの位置が類似する場合に、共有すると判定してもよい。さらに、各ウィンドウのスペクトルに所定の関数をかけて比較し、その比較結果に基づいて共有するか否かを判定してもよい。なおまた、高域部データのみを共有する場合には、スペクトルの相似性を比較することなく、あらかじめ定めたウィンドウ間で高域部スペクトルデータを共有するとしてもよい。例えば、第２、第４、第６及び第８というように偶数番目のウィンドウにおいて奇数番目のウィンドウと高域部データを共有するように定めておいてもよく、その逆でもよい。また、それ以外の組み合わせであらかじめ高域部データを「０」に置換しないウィンドウを定めておいてもよい。例えば、特定の１つのウィンドウの高域部データを他の７つのウィンドウで共有するとしておいてもよい。
【００７３】
さらにまた、各ウィンドウの高域部、あるいはウィンドウの全域において、スペクトルのピークが複数ある場合には、各ピークの周波数がそれぞれしきい値の範囲内で近似するウィンドウ間で高域部量子化データを共有するとしてもよい。また、各ピークのウィンドウ間の周波数差の合計がしきい値の範囲内となるウィンドウ間で高域部量子化データを共有するとしてもよい。
【００７４】
上記のように生成された符号化装置１００からの符号化ビットストリームを入力した復号化装置２００では、第１の復号化部２２１において第１の符号化信号を従来の手順に従い復号化すると、１０２４サンプルのスペクトルデータが得られる。このとき、図７の例では、第２及び第４から第８ウィンドウに関して高域部スペクトルデータのスペクトル値はすべて「０」となっている。これに対し、第２の逆量子化部２２４は、少なくとも第１の逆量子化部２２２より出力される１ウィンドウ分の高域部スペクトルデータを保持しておくためのメモリを有し、フラグが「０」であるウィンドウにつき、第１の逆量子化部２２２の出力である高域部のスペクトルデータをメモリに保持しておき、保持しているスペクトルデータをそれ以降、フラグが「１」となっている各ウィンドウに対し、フラグが「０」のウィンドウが現れるまで繰り返しコピーして出力する。なお、上記メモリは、ＭＰＥＧ−２  ＡＡＣに準拠した従来の復号化装置４００において、１フレーム分のスペクトルデータを保持するために標準的に備えられているものを使用すればよく、新たにメモリを備える必要はない。また、本発明において新たにメモリを備えるとしたら、スペクトルデータのコピー元となるウィンドウの先頭及び高域部先頭を示すポインタを格納するための記憶領域を増設する場合が考えられる。この場合でも、目的とするスペクトルデータの周波数などに基づいて上記メモリ内を検索するように処理手順を設定しておけば、あえてこのような記憶領域を増設する必要はなく、例えば、目的とするスペクトルデータを検索する間の処理時間を削減したい場合などには、必要に応じてメモリを備えればよい。このメモリについては、以下のスペクトルデータのコピー処理においても同様である。以下に、図８のフローチャートを用いてこれにおける第２の逆量子化部２２４の具体的な動作を説明する。
【００７５】
図８は、図１に示した第２の逆量子化部２２４の高域部スペクトルデータのコピー処理における動作を示すフローチャートである。ここで、第２の逆量子化部２２４は、少なくとも、ここでは６４サンプルの高域部スペクトルデータを記憶するためのメモリを備えているものとし、１フレーム内のすべてのウィンドウについて（Ｓ７１）、フラグが「０」の場合（Ｓ７２）、メモリに第１の逆量子化部２２２の出力である高域部スペクトルデータを保持し（Ｓ７３）、フラグが「０」でない場合（Ｓ７２）、メモリ内の高域部スペクトルデータを逆量子化データ合成部２２５に出力する（Ｓ７４）という処理を繰り返す（Ｓ７５）。
【００７６】
すなわち、第２の逆量子化部２２４は、第２の復号化部２２３によって復号された共有情報のうちの注目ウィンドウに対応する１ビットを調べ、そのビットのフラグが「０」か否かを調べる（Ｓ７２）。調べた結果、フラグが「０」であれば、第１の逆量子化部２２２によって逆量子化された注目ウィンドウの高域部スペクトルデータは、「０」に置換されていないスペクトルである。第２の逆量子化部２２４は、この高域部スペクトルデータをメモリ内に保持し（Ｓ７３）、メモリ内にすでにデータがあれば、そのデータを更新する。調べた結果（Ｓ７２）、フラグが「１」であれば、注目ウィンドウに対して第１の逆量子化部２２２から出力される高域部スペクトルデータは、すべて値が「０」となっている。第２の逆量子化部２２４は、注目ウィンドウに対してメモリ内のスペクトルデータを読み出し、読み出したスペクトルデータを逆量子化データ合成部２２５に出力する（Ｓ７４）。この結果、注目ウィンドウの高域部スペクトルデータは、逆量子化データ合成部２２５において、第２の逆量子化部２２４によってメモリから読み出されたスペクトル値に置換される。
【００７７】
例えば、まず、第１ウィンドウに注目すると、共有情報の第１ビットのフラグが「０」であったとする。この場合、第２の逆量子化部２２４は、第１の逆量子化部２２２で得られた第１ウィンドウの高域部スペクトルデータをメモリに書き込み、メモリ内のデータを更新する（Ｓ７３）。第２の逆量子化部２２４は、第１ウィンドウに対してスペクトルデータを逆量子化データ合成部２２５に出力しないので、第１の逆量子化部２２２によって出力されたスペクトルデータが、そのまま第１ウィンドウのスペクトルデータとして逆量子化データ合成部２２５を介して逆変換部２３０に出力される。
【００７８】
次に、第２ウィンドウに注目すると、共有情報の第２ビットのフラグが「１」であったとする。この場合、第２の逆量子化部２２４は、メモリ内から第１ウィンドウの高域部スペクトルデータを読み出し、読み出したスペクトルデータを第２ウィンドウの高域部スペクトルデータとして逆量子化データ合成部２２５に出力する（Ｓ７４）。第１の逆量子化部２２２からは、第２ウィンドウのスペクトルデータが逆量子化データ合成部２２５に出力されており、第２ウィンドウの高域部スペクトルデータの値はすべて「０」となっている。この高域部スペクトルデータは、逆量子化データ合成部２２５において、第２の逆量子化部２２４によってメモリから読み出された第１ウィンドウのスペクトル値に置換される。
【００７９】
このようにして、復号化装置２００では、符号化装置１００からの共有情報に基づいて、フラグが「１」のウィンドウに対してフラグが「０」のウィンドウの高域部スペクトルデータがコピーされることになる。
【００８０】
なお、上記説明では、高域部データを共有するウィンドウは直前のウィンドウの「０」に置換されなかった高域部スペクトルデータをそのままコピーするだけであったが、必要に応じてコピーしたスペクトルデータの振幅を調整してもよい。振幅の調整は、各スペクトルにあらかじめ決められた係数、その値を例えば「０．５」として乗じることにより達成する。この係数は固定値でもよいし、帯域ごとに変更してもよいし、第１の逆量子化部２２２から出力されるスペクトルデータに応じて変更してもよい。
【００８１】
また、ここでは振幅の調整に復号化装置２００においてあらかじめ定めた係数を用いるとしたが、符号化装置１００においてこの係数を計算しておき、共有情報である第２の符号化信号に付加してもよい。または係数としてスケールファクター値を第２の符号化信号に付加してもよいし、係数として量子化値を第２の符号化信号に付加してもよい。また、振幅調整方法は上記の方法に限らず、それ以外の方法であってもよい。
【００８２】
なお上記実施の形態においては、共有される高域部データとして、フラグが「０」のウィンドウの高域部スペクトルデータを従来の方法で量子化及び符号化して伝送したが、これに限ったものでなくてよい。例えば、共有される高域部データとして、フラグが「０」のウィンドウの高域部スペクトルデータを従来のようには伝送せず、すなわち、どのウィンドウについても高域部スペクトルデータをすべて「０」に置換してしまう。その代わり、フラグが「０」のウィンドウの高域部の音響信号をその音響信号の代表値などにより簡略的に表した補助情報を生成して、前記共有情報とこの補助情報とを第２の符号化信号として符号化してもよい。補助情報は、例えば、（１）高域部の各スケールファクターバンド内で絶対最大スペクトルデータ（絶対値が最大となるスペクトルデータ）の量子化値を「１」にするような、スケールファクターバンドごとのスケールファクター、（２）高域部の全スケールファクターバンドに共通なスケールファクターを定め、そのスケールファクターを用いて、スケールファクターバンドごとに絶対最大スペクトルデータを量子化した場合の量子化値、（３）各スケールファクターバンドにおける絶対最大スペクトルデータの位置又は高域部全体における絶対最大スペクトルデータの位置、（４）高域部においてあらかじめ定めた位置のスペクトルの正負を示す符号及び（５）高域部のスペクトルに相似した低域部のスペクトルをコピーして高域部のスペクトルを表す場合のコピー方法などで表される。またこれらを２つ以上組み合わせてもよい。その際、復号化装置２００側では、この補助情報に基づいて、前記高域部スペクトルデータを復元する。
【００８３】
以下では、上記（１）のスケールファクターを補助情報とした場合について説明する。
図９は、図１に示した共有判定部１３７によってＳＨＯＲＴブロックの１ウィンドウにつき生成される補助情報（スケールファクター）の具体例を示すスペクトル波形図である。なお、図９において、低域部の周波数軸上に示す区切り及び高域部において周波数方向に破線で示す区切りは、スケールファクターバンドの区切りを示しているが、説明のため簡略的に示したものであって、その位置は実際とは異なる。
【００８４】
変換部１２０から出力されるスペクトルデータのうち、図９に実線の波形で示す再生帯域１１．０２５ｋＨｚ以下の低域部は、第１の量子化部１３１に出力され、従来どおり量子化される。一方、図９に破線の波形で示す再生帯域１１．０２５ｋＨｚを超える再生帯域２２．０５ｋＨｚまでの高域部は、共有判定部１３７によって計算される補助情報（スケールファクター）によって表される。以下、図９の具体例を用い、図１０のフローチャートに従って共有判定部１３７の補助情報（スケールファクター）の計算手順を説明する。
【００８５】
図１０は、図１に示した共有判定部１３７の補助情報（スケールファクター）計算処理における動作を示すフローチャートである。
共有判定部１３７は、再生帯域１１．０２５ｋＨｚを超える再生帯域２２．０５ｋＨｚまでの高域部のすべてのスケールファクターバンドにつき、各スケールファクターバンドにおける絶対最大スペクトルデータの量子化値を「１」にする最適なスケールファクターを、以下の手順に従って計算する（Ｓ１１）。
【００８６】
共有判定部１３７は、再生帯域１１．０２５ｋＨｚを超える高域部の最初のスケールファクターバンドにおける絶対最大スペクトルデータ（ピーク）を特定する（Ｓ１２）。図９の具体例において、最初のスケールファクターバンド内で特定されたピークの位置が▲１▼で、そのときのピークの値が「２５６」であったとする。
【００８７】
共有判定部１３７は、図７のフローチャートに示した手順と同様にして、量子化値を計算する公式にピークの値「２５６」と初期値のスケールファクター値とをあてはめ、公式から得られる量子化値が「１」となるスケールファクターｓｆの値を計算する（Ｓ１３）。例えば、この場合、ピーク値「２５６」の量子化値を「１」にするスケールファクターｓｆの値、例えばｓｆ＝２４が算出される。
【００８８】
最初のスケールファクターバンドについて、ピークの量子化値を「１」にするスケールファクターの値ｓｆ＝２４が求められると（Ｓ１４）、共有判定部１３７は、次のスケールファクターバンドについて、スペクトルデータのピークを特定し（Ｓ１２）、例えば、特定されたピークの位置が▲２▼で、その値が「３１２」であった場合、ピーク値「３１２」の量子化値が「１」となるスケールファクターｓｆの値、例えばｓｆ＝３２を計算する（Ｓ１３）。
【００８９】
同様にして、共有判定部１３７は、高域部における３番目のスケールファクターバンドについて、ピーク▲３▼の値「２８８」の量子化値を「１」にするスケールファクターｓｆの値、例えばｓｆ＝２６を計算し、４番目のスケールファクターバンドについて、ピーク▲４▼の値「２０３」の量子化値を「１」にするスケールファクターｓｆの値、例えばｓｆ＝１８を計算する。
【００９０】
このようにして、高域部のすべてのスケールファクターバンドについて、ピーク値の量子化値を「１」にするスケールファクターが計算されると（Ｓ１４）、共有判定部１３７は、計算によって得られた各スケールファクターバンドのスケールファクターを、高域部の補助情報として第２の符号化部１３４に出力し、処理を終了する。
【００９１】
以上のようにして共有判定部１３７によって補助情報（スケールファクター）が生成されるが、この補助情報（スケールファクター）によれば、高域部を、各スケールファクターバンドに１つのスケールファクターだけで表すことができるという効果がある。さらに、各スケールファクターの値を０〜２５５までの値で表せば、高域部における各スケールファクターバンド（ここでは４つ）につき、それぞれ８ビットで表すことができる。また、この各スケールファクターの差分をハフマン符号化するようにすれば、データ量をさらに低減できる可能性がある。従って、この補助情報は、高域部の各スケールファクターバンドにつき１つのスケールファクターを示しているに過ぎないが、従来の方法に従って高域部を量子化する場合に比べて、高域部スペクトルデータの数だけある量子化値を符号化しない分だけデータ量が大きく低減されていることがわかる。
【００９２】
また、このスケールファクターは、各スケールファクターバンドにおけるピーク値（絶対値）にほぼ比例した値を示しており、高域部におけるサンプル数だけ一定値をとるスペクトルデータを生成するか、あるいは低域部のスペクトルデータをコピーするかして、それにスケールファクターを乗算して得られるスペクトルデータは、入力音響信号に基づいて得られたスペクトルデータを大まかに復元しているといえる。また、これとは別の方法として、スケールファクターバンド毎に、バンド内に生成またはコピーされたスペクトルデータの絶対最大値と、そのバンドに対応するスケールファクター値を用いて量子化値「１」を逆量子化した値との比率を係数として、バンド内の各スペクトルデータに乗じることにより、より精度良くスペクトルデータを復元することができる。（２）スケールファクターバンドごとの絶対最大スペクトルデータの量子化値を補助情報とする場合も上記と同様にして高域部スペクトルデータを復元することができる。また、補助情報を（３）各スケールファクターバンドにおける絶対最大スペクトルデータの位置又は高域部全体における絶対最大スペクトルデータの位置又は（４）高域部においてあらかじめ定めた位置のスペクトルの正負を示す符号とする場合には、復号化装置２００において、あらかじめ定めた波形のスペクトルを生成するかあるいは低域部のスペクトルをコピーし、（３）又は（４）の補助情報で表される条件にスペクトルの波形が一致するよう、スペクトルを調整する。（５）高域部のスペクトルに相似した低域部のスペクトルをコピーして高域部のスペクトルを表す場合のコピー方法を補助情報とする場合には、共有判定部１３７は、ウィンドウ間のスペクトルの相似性を判定する場合と同様にして、高域部の各スケールファクターバンド内のスペクトルと互いに相似するスペクトルをもつ低域部のスケールファクターバンドを特定し、特定したスケールファクターバンド番号を補助情報とする。また、低域部のスペクトルをコピーする方向（低域部から高域部に向かってコピーする場合と、高域部から低域部に向かってコピーする場合との２通りがある）及び低域部のスペクトルと高域部のスペクトルとの符号の関係（スペクトルの正負の符号を反転してコピーするか、反転しないでコピーするか）も併せて補助情報とする。復号化装置２００においては、高域部のスケールファクターバンドごとに、この補助情報で示される低域部のスペクトルを高域部にコピーして高域部スペクトルを復元する。さらに、高域部の波形の相違は、低域部ほど聴覚的にはっきり識別されるものではないので、このようにして得られた補助情報は、高域部の波形を表す情報として十分であるといえる。
【００９３】
なお、ここでは、高域部の各スケールファクターバンド内のスペクトルデータの量子化値が「１」となるようスケールファクターを計算したが、必ずしも「１」である必要はなく、他の値に定めておいてもよい。
またここでは、補助情報としてスケールファクターのみを符号化したが、これに限ったものでなく、量子化値、特徴的なスペクトルの位置情報、スペクトルの正負の符号を表すサイン情報及びノイズ生成方法等を併せて符号化してもよい。またこれらを２つ以上組み合わせて符号化してもよい。この場合、補助情報内に、振幅の比率を表す係数や絶対最大スペクトルデータの位置などを前記スケールファクターと組み合わせて符号化すれば、特に有効である。
【００９４】
なお、上記実施の形態では、共有判定部１３７が共有情報を生成する場合について説明したが、本発明の符号化装置１００においては、必ずしも共有情報を生成しなくてもよい。この場合、第２の符号化部１３４は不要である。これに対し、復号化装置２００側で、高域部スペクトルデータを共有しているウィンドウを判定する必要がある。この場合、第２の逆量子化部２２４は、少なくとも１つのウィンドウの高域部スペクトルデータを保持しておくためのメモリを有し、例えば、第１の逆量子化部２２２が逆量子化によって各ウィンドウのスペクトルデータを復元した時点で、「０」以外の値のスペクトルデータを含む６４サンプル分の高域部スペクトルデータをメモリに保持するとともに、高域部のスペクトル値がすべて「０」になっているウィンドウを検出し、検出されたウィンドウに対応付けてメモリ内の高域部スペクトルデータを出力する。例えば、第２の逆量子化部２２４は、検出したウィンドウの番号を指定して、メモリ内の高域部スペクトルデータを逆量子化データ合成部２２５に出力する。これによって、指定されたウィンドウの高域部スペクトルデータが、逆量子化データ合成部２２５において、メモリからコピーしたスペクトル値に置換される。
【００９５】
これにおいて符号化装置１００は、必ずしも第１ウィンドウの高域部スペクトルデータを伝送しなくてよい。この場合には、符号化装置１００側では高域部データを伝送するウィンドウを少なくとも１フレームの前半に設けるようにする。第２の逆量子化部２２４は第１の逆量子化部２２２の逆量子化結果を常時監視し、第１の逆量子化部２２２の逆量子化結果において、第１ウィンドウの高域部のスペクトル値がすべて「０」であった場合、第２の逆量子化部２２４は、それ以降のウィンドウについて、高域部に「０」以外の値のスペクトルデータを含むウィンドウをサーチする。サーチの結果、高域部に「０」以外の値のスペクトルデータを含むウィンドウが得られると、第２の逆量子化部２２４は、そのウィンドウの高域部スペクトルデータを逆量子化データ合成部２２５に出力する。それと同時に、その高域部スペクトルデータをメモリにコピーして、以降に検出されるウィンドウに対応付けてその値で置換するよう逆量子化データ合成部２２５に出力する。
【００９６】
以上のように本実施の形態によれば、従来では、低転送レートの伝送路を用いる場合、カットされることが多い高域部スペクトルデータを、ＳＨＯＲＴブロックの１フレーム８ウィンドウにつき、少なくとも１ウィンドウ分を伝送するので、復号化装置において、従来よりも、高域の豊かな音質で音響信号を再生することができるという効果がある。また、本実施の形態の符号化装置１００では、相似したスペクトルをもつウィンドウ間において、高域部スペクトルデータを共有するので、高域部スペクトルデータを伝送されなかったウィンドウにおいても、原音の音質に相似した音響信号を再生することができるという効果がある。
【００９７】
なお、本実施の形態は、サンプリング周波数を４４．１ｋＨｚとして説明したが、サンプリング周波数は必ずしもこの値に限定されず、他の値であってもよい。また、ここでは高域部を周波数１１．０２５ｋＨｚ以上の周波数領域としたが、低域部と高域部との区切りは必ずしも周波数１１．０２５ｋＨｚでなくてもよく、もっと低域で区切ってもよいし、高域で区切ってもよい。
【００９８】
なお、上記実施の形態においては、第２の符号化部１３４による符号化結果（符号化された共有情報など）に識別情報を付し、これを第２の符号化信号としてビットストリーム中に格納する場合について説明したが、Ｆｉｌｌ  ＥｌｅｍｅｎｔやＤＳＥなどに他の方式に基づく符号化情報が格納される可能性がない場合や、本発明の復号化装置２００でのみ復号化が可能なビットストリームに第２の符号化信号を格納する場合などには、必ずしも識別情報を付す必要はない。この場合、復号化装置２００は、ビットストリーム中の符号化装置１００との間であらかじめ定めた格納位置（例えば、Ｆｉｌｌ  Ｅｌｅｍｅｎｔ）から無条件に第２の符号化信号を抽出し、共有情報を復号化する。
【００９９】
なお本実施の形態については、ブロックサイズがＳＨＯＲＴブロックの時のみ有効であるので、ブロックサイズがＬＯＮＧブロックである時には、内部の機能を従来の符号化装置３００及び復号化装置４００と同様に切り換えるようにしてもよい。すなわち、この場合、符号化装置１００においては、音響信号入力部１１０の切り出しの周期を１０２４サンプルとし、その前後５１２サンプルを重複して切り出すよう機能を切り換え、変換部１２０のＭＤＣＴ変換の単位を２０４８サンプルに切り換えるとともに、その変換結果のうちの片側１０２４サンプルを、所定の４９スケールファクターバンドに分類するよう切り換える。共有判定部１３７は、入力した変換部１２０からのスペクトルデータをそのまま第１の量子化部１３１に出力し、第２の符号化部１３４は機能を停止する。復号化装置２００においては、ストリーム入力部２１０は符号化音響ストリームから第２の符号化信号を抽出せず、第２の復号化部２２３と第２の逆量子化部２２４とは機能を停止し、逆量子化データ合成部２２５は、入力した第１の逆量子化部２２２からのスペクトルデータを、逆変換部２３０にそのまま出力する。このように符号化装置１００及び復号化装置２００を切り換え可能にすることによって、スローテンポの音楽などについては音質を重視したＬＯＮＧブロックによる音響データを伝送し、復号化することができるとともに、アタックが頻出するようなアップテンポの音楽については、追従性のよいＳＨＯＲＴブロックによる音響データを伝送し、復号化することができるという効果がある。
【０１００】
（実施の形態２）
以下では、図１１及び図１２を用いて本実施の形態における符号化装置１０１及び復号化装置２０１について、実施の形態１と異なる点についてのみ説明する。図１１は、符号化装置１０１及び復号化装置２０１の構成を示すブロック図である。
＜符号化装置１０１＞
符号化装置１０１は、ＳＨＯＲＴブロックで符号化する場合に、２つ以上のウィンドウにおいてスペクトルデータが類似または相似ならば、そのウィンドウ間で、ウィンドウ内の全量子化データを共有することにより、伝送される符号化音響ストリームのデータ量を削減する。符号化装置１０１は、音響信号入力部１１０、変換部１２０、第１の量子化部１３１、第１の符号化部１３２、第２の符号化部１３４、共有判定部１３８及びストリーム出力部１４０から構成される。
【０１０１】
共有判定部１３８は、ウィンドウ内の高域部スペクトルデータを共有するだけでなく、低域部スペクトルデータを含むウィンドウ内の全帯域のスペクトルデータを共有する点で、実施の形態１の共有判定部１３７と異なる。すなわち、高周波領域の音響信号と比較した場合、原音に対して聴覚的に、より厳密な忠実性が要求される低周波領域の音響信号についても、そのデータ量を削減する。共有判定部１３８は、変換手段１２０の出力するスペクトルデータの８つのウィンドウに関して、他のウィンドウと量子化データを共有するウィンドウを判定し、前述の共有情報を生成するとともに、そのウィンドウ内のスペクトル値をすべて「０」に置換する。
【０１０２】
例えば、共有判定部１３８が、第１ウィンドウと第２ウィンドウとで第１ウィンドウのスペクトルデータを共有し、かつ、第３ウィンドウ以降のウィンドウでも第３ウィンドウのスペクトルデータを共有すると判定した場合、第２ウィンドウ及び第４から第８ウィンドウのスペクトル値をすべて「０」にし、共有情報「０１０１１１１１」を生成する。この結果、第１の量子化部１３１において共有判定部１３８から出力されたスペクトルデータを量子化する場合に、第２ウィンドウ及び第４から第８ウィンドウのスペクトル値がすべて「０」であるため、従来と比べてさらに少ないデータ量で量子化することができる。
【０１０３】
＜復号化装置２０１＞
復号化装置２０１は、符号化装置１０１によって符号化された音響ビットストリームを復号化する装置であって、ストリーム入力部２１０、第１の復号化部２２１、第１の逆量子化部２２２、第２の復号化部２２３、第２の逆量子化部２２６、逆量子化データ合成部２２７、逆変換部２３０及び音響信号出力部２４０を備える。第２の逆量子化部２２６は、第２の復号化部２２３において復号化された共有情報に従って、フラグが「０」であらわされているウィンドウにつき、第１の逆量子化部２２２の逆量子化結果であるスペクトルデータをメモリにコピーし、コピーしたスペクトルデータを、フラグが「１」で表されている以下のウィンドウに対応付けて逆量子化データ合成部２２７に出力する。逆量子化データ合成部２２７は、第１の逆量子化部２２２の出力するスペクトルデータと第２の逆量子化部２２６の出力するスペクトルデータとをウィンドウ単位で合成する。
【０１０４】
図１２は、図１１に示した共有判定部１３８によるスペクトルデータの共有の一例を示す図である。図１２は、図２（ｂ）と同様、ＭＤＣＴ変換によって得られる１フレーム分のＳＨＯＲＴブロックのスペクトルデータを示している。このような各ウィンドウは、入力音響データのサンプリング周波数が例えば４４．１ｋＨｚの場合、０ｋＨｚから２２．０５ｋＨｚまでの再生帯域を表している。
【０１０５】
すでに説明したように、ＳＨＯＲＴブロックでは入力音響データの切り出しのサイクルが短いので、隣接する２つのウィンドウのスペクトルは、相互に類似した波形となる可能性が高い。図１２において、例えば、第１ウィンドウと第２ウィンドウとのスペクトルが相似であり、かつ、第３〜第８ウィンドウのスペクトルが相似であると判断した場合、共有判定部１３８は、相互に類似した波形となるウィンドウ間、すなわち、第１ウィンドウと第２ウィンドウとで第１ウィンドウの量子化データを共有し、第３〜第８ウィンドウにおいて第３ウィンドウの量子化データを共有すると判定する。この場合、図１２に矢印で示す範囲のスペクトルデータが伝送（すなわち、量子化及び符号化）の対象となり、それ以外の第２ウィンドウと、第４〜第８ウィンドウとのスペクトルデータは共有判定部１３８によってすべて「０」の値に置換される。このように、すべて「０」の値に置換されたウィンドウのスペクトルデータは、復号化装置２０１において、フラグが「０」の直前のウィンドウからコピーされたスペクトルデータによって近似的に復元される。
【０１０６】
上記のように共有判定部１３８は、スペクトルが相似するウィンドウ間で、低域部のスペクトルデータまでを共有することによって、符号化ビットストリームのデータ量を大幅に削減することができる。しかし、一般的に、低域部スペクトルは聴覚的に鋭敏な低周波領域の音響信号を表しているため、再生される音響信号の音質を重視する場合には、共有判定部１３８は、ウィンドウ間のスペクトルの相似性について、より厳密な判定を行う。具体的には、判定の基準は共有判定部１３７と同様の方法を用いるが、これらにおいて、例えば、しきい値の値を小さくしたり、複数の判定を併用したりすることによって、共有判定部１３７より厳しい判定を行う。さらにこの場合、同じ理由から、相似性の判定を省略することはできないので、あらかじめ定めたウィンドウのスペクトルデータのみ伝送することは行わない。
【０１０７】
なお、共有判定部１３８は、実施の形態１の共有判定部１３７と同様、必ずしも共有情報を生成しなくてよい。この場合、第２の符号化部１３４は不要である。例えば、共有判定部１３８がグルーピングを行う場合、各グループにつき、１つ又はそれ以上のウィンドウのスペクトルデータを従来どおり量子化及び符号化して伝送し、同じグループ内の他のウィンドウのスペクトルデータをすべて「０」に置換した後、量子化及び符号化し伝送する。この場合、共有判定部１３８は、グルーピングに関する情報を生成し、従来と同様、第１の量子化部１３１に出力する。なお、ウィンドウ内のスペクトルデータを「０」に置換しないで伝送するウィンドウは、必ずしもグループ内の先頭ウィンドウでなくてもよい。また、グループ内で１つのウィンドウのスペクトルデータを共有する必要はない。
【０１０８】
なお、グルーピングについては、従来、ＳＨＯＲＴブロックにおいて既存のツールを用いて行われている手法であるので簡単に説明するが、このグルーピングによって、互いにスペクトルが相似するウィンドウがグループ化され、各グループ内で各ウィンドウのスケールファクターが共有される。グルーピングを行う際のウィンドウ間のスペクトルの相似性の判定は、スペクトルデータを共有する際の判定基準と同様である。サンプリング周波数４４．１ｋＨｚのＳＨＯＲＴブロックでは、従来、各ウィンドウに１４のスケールファクターバンドが規定されているため、各ウィンドウに１４のスケールファクターが存在する。従って、１つのグループにグルーピングされるウィンドウの数が多ければ多いほど、伝送するスケールファクターのデータ量を低減することができる。
【０１０９】
さらに共有判定部１３８は、上記のようなグルーピングにおけるスペクトル相似性の判定において、ウィンドウ間で相似性の高いグループがある場合、グループ内で各ウィンドウの同一周波数のスペクトル値の平均値を求め、各周波数のスペクトル値の平均値１２８サンプルからなるウィンドウを新たに生成して当該グループの第１ウィンドウとし、グループ内の他のウィンドウのスペクトル値をすべて「０」にして第１の量子化部１３１に出力するとしてもよい。
【０１１０】
符号化装置１０１において共有情報を生成しない場合、あらかじめ符号化装置１０１と復号化装置２０１との間で、例えば、符号化装置１０１はグルーピングを行い、同じグループ内の先頭ウィンドウについてのみスペクトルデータを従来どおり量子化及び符号化して送信し、同一グループ内の他のウィンドウについてはスペクトルデータとして「０」を送信すると取り決めておく。これによって第２の逆量子化部２２６は、復号化されたグルーピングに関する情報に基づいて、各グループの先頭ウィンドウのスペクトルデータをコピーし、コピーしたスペクトルデータを、同一ウィンドウ内の２番目以降の各ウィンドウに対応付けて逆量子化データ合成部２２７に出力し、逆量子化データ合成部２２７に合成させる。
【０１１１】
また、符号化装置１０１において共有情報を生成せず、必ずしも先頭ウィンドウのスペクトルデータを送信しない場合には、第２の逆量子化部２２６は、復号化されたグルーピングに関する情報に基づいて、第１の逆量子化部２２２の逆量子化結果を監視し、第１の逆量子化部２２２が、あるウィンドウのスペクトルを復元しているとき、逆量子化の結果、値が「０」となったスペクトルデータを検出すると、第２の逆量子化部２２６は、同じグループ内の他のウィンドウの同じ周波数のスペクトルデータを参照して、その値が「０」でなければその値をコピーして逆量子化データ合成部２２７に出力し、逆量子化データ合成部２２７に合成させる。
【０１１２】
あるいは、第１の逆量子化部２２２が、あるウィンドウのスペクトルを復元しているとき、スペクトル値がすべて「０」となった場合、第２の逆量子化部２２６は、同じグループ内の他のウィンドウのスペクトルを参照して、「０」以外の値のスペクトルデータを含むウィンドウ内のスペクトルデータをコピーし、スペクトル値がすべて「０」となったウィンドウに対応付けて逆量子化データ合成部２２７に出力するとしてもよい。
【０１１３】
また、共有判定部１３８は、同一グループ内で複数のウィンドウのスペクトルデータを「０」に置換しないで第１の量子化部１３１に出力してもよい。この場合、復号化装置２０１において、第１の逆量子化部２２２があるウィンドウのスペクトルを復元しているとき、第２の逆量子化部２２６は、逆量子化の結果、値が「０」となったスペクトルデータを検出すると、同じグループ内の他のウィンドウの同じ周波数のスペクトルデータを参照して、（ａ）最初に見つけた「０」でないスペクトルデータをコピーする。または、（ｂ）スペクトル値が最大のスペクトルデータをコピーするとしてもよいし、（ｃ）最小のスペクトルデータをコピーするとしてもよい。
【０１１４】
さらにこの場合、復号化装置２０１において、第１の逆量子化部２２２が、あるウィンドウのスペクトルを復元しているとき、スペクトル値がすべて「０」となった場合、第２の逆量子化部２２６は、同じグループ内の他のウィンドウのスペクトルを参照して、「０」以外の値のスペクトルデータを含むウィンドウのうちで（ａ）スペクトルのピークの値が最大となるウィンドウのスペクトルデータをコピーするとしてもよいし、（ｂ）エネルギーが最大となるウィンドウのスペクトルデータをコピーするとしてもよい。
【０１１５】
以上のように、本実施の形態によれば、８つウィンドウのうちいくつかのスペクトルデータを、スペクトルが相似する他のウィンドウと共有することによって、スペクトルデータの再現性の低下を最小限に抑えながらも、伝送する符号化音響ビットストリームのデータ量を削減することができるという効果がある。
【０１１６】
なお、本実施の形態においても、復号化装置２０１において、第２の逆量子化部２２６がコピーしたスペクトルデータの振幅を必要に応じて調整してもよいことはいうまでもない。振幅の調整は各スペクトルデータに予め決められた係数、例えば０．５を乗じる。この係数は固定値でもよいし、帯域ごとに変更してもよいし、第１の逆量子化部２２２より出力されるスペクトルデータに応じて変更してもよい。なお今回の説明においては予め定めた係数を用いるが、補助情報として第２の符号化信号に付加してもよい。または係数としてスケールファクター値を第２の符号化信号に付加してもよいし、係数として量子化値を第２の符号化信号に付加してもよい。
【０１１７】
また、本実施の形態において、フラグが「０」のウィンドウについても、高域部のスペクトルデータを「０」に置換してしまい、代わりに高域部のデータとして実施の形態１で説明した補助情報を生成するとしてもよい。この場合、第２の符号化信号内に共有情報と、補助情報とを符号化する。すなわち、符号化装置１０２において、フラグが「０」のウィンドウについては低域部スペクトルデータのみを従来どおり量子化及び符号化し、高域部スペクトルデータとして「０」を量子化及び符号化する。フラグが「０」のウィンドウについて、実施の形態１で説明した高域部スペクトルを表す補助情報を生成し、共有情報と補助情報とを組み合わせて符号化するようにする。これに対応して、復号化装置２０１では、共有情報のフラグが「０」のウィンドウについては、低域部スペクトルデータを従来と同様、第１の符号化信号を逆量子化することによって復元し、高域部スペクトルデータを前記補助情報に基づいて復元する。共有情報のフラグが「１」のウィンドウについては、フラグが「０」のウィンドウにおいてこのように復元された全域のスペクトルデータをコピーして復元する。
【０１１８】
（実施の形態３）
以下では、図１３〜図１６を用いて本実施の形態における符号化装置１０２及び復号化装置２０２について、実施の形態１と異なる点についてのみ説明する。図１３は、本発明の符号化装置１０２及び復号化装置２０２の構成を示すブロック図である。
＜符号化装置１０２＞
符号化装置１０２は、ＬＯＮＧブロックにおいて量子化の結果、絶対最大スペクトルに隣接するため量子化値が「０」となったスペクトルデータを復元し、復元したスペクトルデータを少ないデータ量で復号化装置２０２に伝送する。符号化装置１０２は、音響信号入力部１１１、変換部１２１、第１の量子化部１５１、第１の符号化部１５２、第２の量子化部１５３、第２の符号化部１５４及びストリーム出力部１６０から構成される。
【０１１９】
音響信号入力部１１１は、周波数４４．１ｋＨｚのサンプリング周波数でサンプリングされたＭＰＥＧ−２  ＡＡＣと同様の入力信号であるデジタル音響データを、約２３．２ｍｓｅｃ（１０２４サンプルごと）のサイクルで、その前後の５１２サンプルをオーバーラップさせて切り出す。
【０１２０】
変換部１２１は、ＭＤＣＴを用いて、入力信号１０２４点を前後５１２サンプルのデータとオーバーラップさせて２０４８サンプルの時間軸データを、２０４８サンプルのスペクトルデータに変換する。さらに、変換部１２１は、ＭＤＣＴでは左右対称なスペクトルデータとなるため、片方の１０２４サンプルのスペクトルデータを、それぞれ１サンプル以上（実用的には４の倍数）のスペクトルデータを含む複数のスケールファクターバンドに分類する。ここでは、サンプリング周波数が４４．１ｋＨｚのデジタル音響データを入力するので、ＬＯＮＧブロック１フレームに含まれるスケールファクターバンドの数は４９個である。
【０１２１】
第１の量子化部１５１は、変換部１２１の出力するスペクトルデータを入力し、入力されたスペクトルデータの各スケールファクターバンドにつき、それぞれスケールファクターを決定するとともに、決定したスケールファクターでそのスケールファクターバンド内のスペクトルを量子化し、量子化結果である量子化値を第１の符号化部１５２に出力する。
【０１２２】
第１の符号化部１５２は、第１の量子化部１５１で量子化されたスペクトルデータ１０２４サンプルに対応する各スケールファクターバンド内の量子化値及びその量子化に用いられたスケールファクターの差分などを、第１の符号化信号としてハフマン符号化して所定のストリーム用のフォーマットに変換する。
【０１２３】
第２の量子化部１５３は、第１の量子化部１５１の量子化結果を監視し、各スケールファクターバンドにおいて、絶対最大スペクトルデータ（絶対値が最大となるスペクトルデータ）に隣接するために第１の量子化部１５１の量子化によって量子化値が「０」となった前後各５サンプル、合計１０サンプルのスペクトルデータを特定する。第２の量子化部１５３は、特定したスペクトルデータに対して変換部１２１から入力したスペクトル値を、符号化装置１０２と復号化装置２０２との間であらかじめ定めたスケールファクターを用いて量子化し、量子化値のみを、より少ないデータ量で表現して第２の符号化部１５４に出力する。
【０１２４】
第２の符号化部１５４は、第２の量子化部１５３が出力した量子化値のみを所定のストリーム用のフォーマットにハフマン符号化し、第２の符号化信号として出力する。第２の量子化部１５３で用いられたスケールファクターは、符号化しない。
【０１２５】
ストリーム出力部１６０は、第１の符号化部１５２から出力される第１の符号化信号にヘッダ情報及びその他必要に応じた副情報を付加してＭＰＥＧ−２  ＡＡＣの符号化ビットストリームに変換し、かつ第２の符号化部１５４から出力された第２の符号化信号を、上記ビットストリーム中の従来の復号化装置では無視される又はその動作が規定されていない領域に格納する。
【０１２６】
＜復号化装置２０２＞
復号化装置２０２は、ピークに隣接するため量子化によって量子化値が「０」となったスペクトルデータを、復号化された第２の符号化信号に従って復元する復号化装置であって、ストリーム入力部２６０、第１の復号化部２５１、第１の逆量子化部２５２、第２の復号化部２５３、第２の逆量子化部２５４、逆量子化データ合成部２５５、逆変換部２３１及び音響信号出力部２４１から構成される。
【０１２７】
ストリーム入力部２６０は、符号化装置１０２において生成された符号化ビットストリームを入力し、入力した符号化ビットストリームから第１の符号化信号と第２の符号化信号とを取り出して、それぞれ第１の復号化部２５１と第２の復号化部２５３とに出力する。
【０１２８】
第１の復号化部２５１は、ストリーム入力部２６０の出力する第１の符号化信号を入力し、ハフマン符号化されたデータをストリーム用のフォーマットから量子化データに復号化する。第１の逆量子化部２５２は、第１の復号化部２５１により復号化された量子化データを逆量子化し、再生帯域２２．０５ｋＨｚ、１０２４サンプルのスペクトルデータを出力する。
【０１２９】
第２の復号化部２５３は、ストリーム入力部２６０の出力する第２の符号化信号を入力し、入力された第２の符号化信号を復号して、各スケールファクターバンドにおける絶対最大スペクトルに隣接する前後各５サンプルの量子化値を出力する。
【０１３０】
第２の逆量子化部２５４は、第２の復号化部２５３の出力である量子化値を所定のスケールファクターを用いて逆量子化し、絶対最大スペクトルの前後に隣接する各１０サンプルのスペクトルデータを生成する。第２の逆量子化部２５４は、第１の逆量子化部２５２から出力されたスペクトルデータをもとに、絶対最大スペクトルの前後に隣接していたために量子化値が「０」となった１０サンプルのスペクトルデータの周波数を特定し、生成した１０サンプルのスペクトルデータを、特定された周波数に対応付けて逆量子化データ合成部２５５に出力する。
【０１３１】
逆量子化データ合成部２５５は、第１の逆量子化部２５２の出力であるスペクトルデータと、第２の逆量子化部２５４の出力であるスペクトルデータとを合成し、逆変換部２３１に出力する。具体的には、逆量子化データ合成部２５５は、第２の逆量子化部２５４から周波数に対応付けて出力されたスペクトルデータの値で、第１の逆量子化部２５２の出力であるその周波数のスペクトルデータを置換する。逆変換部２３１は、逆量子化データ合成部２５５で合成された周波数軸上の１０２４サンプルのスペクトルデータを、ＩＭＤＣＴを用いて時間軸上の音響信号に変換する。音響信号出力部２４１は、逆変換部２３１で得られた時間軸上のサンプルデータを順次組み合わせ、デジタル音響出力データとして出力する。
【０１３２】
以上のように、本発明の符号化装置１０２及び復号化装置２０２によれば、各スケールファクターバンドにおける絶対最大スペクトルデータの前後のスペクトルデータを第１の量子化部１５１とは異なるスケールファクターを用いて符号化することにより、量子化値が「０」となっていたスペクトルデータを復元するので再生帯域全域におけるピーク近辺の精度が向上し、より高い音質での符号化を行うことができるという効果がある。
【０１３３】
なお、ここでは、第２の逆量子化部２５４は、変換部１２１からの出力であるスペクトルデータを用いて量子化を行ったが、必ずしも変換部１２１からの出力を用いなくてもよく、例えば、第１の量子化部１５１の量子化値を逆量子化して用いてもよい。この場合の符号化装置１０２の構成を、以下の図１４に示す。
【０１３４】
図１４は、符号化装置１０２及び復号化装置２０２の他の構成を示すブロック図である。符号化装置１０２は、音響信号入力部１１１、変換部１２１、第１の量子化部１５１、第１の符号化部１５２、第２の量子化部１５６、第２の符号化部１５４、逆量子化部１５５及びストリーム出力部１６０から構成される。
【０１３５】
第２の量子化部１５６は、逆量子化部１５５を介して第１の量子化部１５１の量子化結果を監視し、第１の量子化部１５１において量子化されたスペクトルデータのうち、絶対最大スペクトルデータの前後に隣接するために量子化値が「０」となった１０サンプルのスペクトルデータを特定するとともに、特定されたスペクトルデータを逆量子化部１５５から入力し、所定のスケールファクターを用いて量子化する。
【０１３６】
逆量子化部１５５は、第１の量子化部１５１の量子化結果である量子化値を逆量子化し、その量子化値とそれに対応するスペクトル値とを第２の量子化部１５６に出力する。
上記のように構成された符号化装置１０２及び復号化装置２０２の動作について、以下に図１５及び図１６を用いて説明する。
【０１３７】
符号化装置１０２の第１の量子化部１５１において、従来と同様、伝送路の転送レートに符号化データ量を合わせるようスケールファクターを調整して量子化を行っていると、絶対最大スペクトルデータの前後のスペクトルデータが、連続的に「０」になってしまうことがしばしば起こる。このような量子化値を、そのまま復号化装置２０２において復元すると、絶対最大スペクトルデータのみが正しく復元され、その両側に隣接するスペクトルデータはいずれも「０」となってしまい、その分が量子化誤差となって、復号化装置２０２から出力される音響信号の音質が劣化してしまうという問題がある。
【０１３８】
このため、スケールファクターの値を調整することによって絶対最大スペクトルデータの前後のスペクトルデータを「０」にならないように量子化しようとすると、今度は絶対最大スペクトルデータを含む近隣のスペクトルデータの量子化値がいずれも大きな数値となってしまう。これらを符号化した符号化ビットストリームのデータ量は、量子化値の最大値に依存し、量子化値の最大値が大きくなるほど、符号化ビットストリームのデータ量が増大する傾向にある。このため、符号化ビットストリームを伝送路を介して伝送する点において、この方法は現実的でない。
【０１３９】
図１５は、従来の符号化装置３００と本発明の符号化装置１０２との量子化結果の違いを具体値を用いて示すテーブル５００である。まず、従来の符号化装置３００において、テーブル５００のように、例えば｛１０、４０、１００、３０｝というスペクトルデータ５０１が変換部３２０から出力された場合に、量子化部３３１において、符号化ビットストリームの１フレーム分のデータ量に応じてスケールファクターを調整し、量子化を行うと、量子化値５０２が例えば｛０、０、１、０｝のようになり、絶対最大スペクトルデータ「１００」に隣接するスペクトルデータの値が「０」になってしまう。従来の符号化装置３００では、この量子化値５０２を採用せざるを得ず、この量子化値５０２が符号化される。この結果、これを入力した復号化装置４００では、逆量子化部４２２によって復元されるスペクトルデータ５０５の値が｛０、０、１００、０｝となってしまう。
【０１４０】
これに対し、本発明の符号化装置１０２では、同じ｛１０、４０、１００、３０｝というスペクトルデータ５０１が変換部１２１から出力された場合、第１の量子化部１５１による量子化値５０２は、やはり、｛０、０、１、０｝となる。本発明の符号化装置１０２では、このような場合、第１の量子化部１５１においては、量子化値５０２をそのまま出力するようにしておく。符号化装置１０２では、これを補うため、さらに第２の量子化部１５３において、同じスペクトルデータに対して所定のスケールファクターを用いて量子化を行う。第２の量子化部１５３による量子化値５０３が｛１、４、１０、３｝であったとすると、量子化値の最小値が「１」となっているので、これ以上スケールファクターを小さくしていくとこの値が「０」になってしまう。従って、量子化値５０３が、前後のスペクトルデータが「０」にならない範囲で符号化データのデータ量を最も低減した量子化値であるが、それでも量子化値の最大値は「１０」となる。
【０１４１】
これに対し第２の量子化部１５３では、さらに量子化値のデータ量を低減するため、その量子化結果が量子化値５０３｛１、４、１０、３｝であれば、この量子化値を、例えば量子化値５０４｛１、２、０、２｝というように指数関数表示などを用いて表す。
【０１４２】
具体的には、先頭サンプルの「１」は、２の１乗として「２」を表し、第２サンプルの「２」は、２の２乗として「４」を表す。第３サンプルの「０」は、この位置のスペクトルデータが絶対最大スペクトルデータであることを示している。絶対最大スペクトルデータのスペクトル値は、第１の符号化信号から得られる（第１の量子化部１５１で求められた）スケールファクターとその量子化値「１」とから正しく求められる。このように各スケールファクターバンド内の絶対最大スペクトルデータのスペクトル値の符号化を省略することにより、第２の符号化信号のデータ量をさらに低減することができるという効果がある。第４サンプルの「２」は、２の２乗として「４」を表す。このような表現は、第２の量子化部１５３で得られた量子化値５０３｛１、４、１０、３｝とは正確に一致しないが、量子化値５０４｛１、２、０、２｝のように各サンプルの量子化値を高々２ビットで表すことができる。復号化装置２０２において、第１の符号化信号から得られる量子化値５０２と、第２の符号化信号から得られる量子化値５０４とに基づいてスペクトルデータを復元すると、スペクトルデータ５０５｛２０、４０、１００、４０｝のようになる。
【０１４３】
このように、符号化装置１０２によれば、第２の量子化部１５３の量子化結果を上記のように表すことによって、第２の符号化信号のデータ量を最小限に抑えつつ、従来の方法ではデータ量を低減しようとするとすべて「０」になってしまっていたピークの前後のスペクトルデータを、大まかではあるがおおよその値で復元することができ、原音に対してより忠実な音響信号を復元することができるという効果がある。
【０１４４】
なお、ここでは、第２の量子化部１５３の量子化結果を「２」のべき乗で表したが、底の値は「２」である必要はないし、また整数である必要もなく、どのような数値であってもよい。さらに、第２の量子化部１５３の量子化結果を表す関数は指数である必要はなく、他の関数であってもよい。
【０１４５】
図１６は、符号化装置１０２によるピーク周辺の量子化誤差の補正の一例を示す図である。図１６（ａ）は、図１３及び図１４に示した変換部１２１の出力であるスペクトルの一部を示す波形図である。同図において、一点鎖線で示す範囲は１つのスケールファクターバンド（ｓｆｂ）を示しており、破線は当該スケールファクターバンドの絶対最大スペクトルデータの周波数を示している。さらに、二点鎖線で示す範囲は絶対最大スペクトルの前後に隣接する合計１０サンプルのスペクトルデータを示している。図１６（ｂ）は、図１３及び図１４に示した第１の量子化部１５１による図１６（ａ）のスペクトル部分の量子化結果の一例を示す図である。図１６（ｃ）は、図１３及び図１４に示した第２の量子化部１５３、１５６による図１６（ａ）のスペクトル部分の量子化結果の一例を示す図である。図１６（ａ）、図１６（ｂ）及び図１６（ｃ）において横軸は周波数を表している。また、図１６（ａ）において縦軸はスペクトル値を表している。また、図１６（ｂ）及び図１６（ｃ）において縦軸は量子化値を表している。
【０１４６】
１つのスケールファクターバンドのスペクトルデータは、同一スケールファクターを用いて正規化され、量子化される。例えば、図１６（ａ）のように絶対最大スペクトルデータが比較的大きな値をとる場合、そのスケールファクターを１フレーム全体のビット量に基づいて調整すると、スケールファクターの値を小さくせざるを得ない。この結果、図１６（ｂ）のように、量子化結果として、絶対最大スペクトルデータのみが「０」以外の値をもち、それ以外のスペクトルデータの値はすべて「０」になる場合がしばしば生じる。第１の量子化部１５１は、このような量子化結果を、そのまま第１の符号化部１５２に出力する。符号化装置１０２においては、これに対してさらに、第２の量子化部１５３による図１６（ｃ）のような量子化結果を第２の符号化信号として伝送する。第２の量子化部１５３では、絶対最大スペクトルデータの量子化値として「０」を出力し、その前後１０サンプルについて量子化を行う。
【０１４７】
第２の量子化部１５３においては、あらかじめ定めたスケールファクターを用いて量子化を行うので、その値が第１の量子化部１５１が用いたスケールファクターとあまり変わらない場合には、第１の量子化部１５１において「０」になった量子化値が第２の量子化部１５３において「０」以外の値をとるとは必ずしもいえない。しかし、第２の量子化部１５３に対し、あらかじめスケールファクターバンドごとに適切なスケールファクターを定めておくことによって、より多くのスケールファクターバンドにおいて、「０」になった第１の量子化部１５１の量子化結果を図１６（ｃ）のように復元することができる。
【０１４８】
すなわち、第２の量子化部１５３は、第１の量子化部１５１の量子化結果が図１６（ｂ）のようになるスペクトルデータにつき、それらのスペクトル値を、図１３に示した変換部１２１又は図１４に示した逆量子化部１５５から取得し、符号化装置１０２と復号化装置２０２との間であらかじめ定めたスケールファクターを用いて量子化を行うとともに、その量子化結果を、より短いビット量で表し、第２の符号化部１５４に出力する。このように、第２の量子化部１５３では、▲１▼符号化装置１０２と復号化装置２０２との間であらかじめ定めたスケールファクター及び関数を用いることによって、これらのスケールファクター及び関数を符号化しない。▲２▼絶対最大スペクトルデータを量子化しない。▲３▼絶対最大スペクトルデータの前後に隣接する１０サンプルの量子化値をさらに関数表現する。これらのことにより、第２の符号化信号のデータ量を最低限に抑えることができる。
【０１４９】
なお、本実施の形態においては絶対最大スペクトルデータに隣接するために、第１の量子化部１５１による量子化結果が連続して「０」になったスペクトルデータの量子化を、第２の量子化部１５３においてやり直す場合について説明したが、量子化のやり直しの対象となるスペクトルデータは必ずしも連続していなくてもよく、絶対最大スペクトルデータの近隣で量子化値が「０」となっているものであれば、該当するスペクトルデータ同士は隣接していなくても上記と同様にして、復号化されたスペクトル値の補正を行うことができる。具体的には、第２の量子化部１５３は、第１の量子化部１５１の量子化結果から、絶対最大スペクトルデータの近隣で量子化値が「０」となったスペクトルデータを、絶対最大スペクトルデータの両側にそれぞれ５サンプル特定し、特定されたスペクトルデータを、すでに説明したようにあらかじめ定めたスケールファクターを用いて量子化を行うとともに、その量子化結果を、より短いビット量で表し、第２の符号化部１５４に出力する。復号化装置２０２では、第１の逆量子化部２５２の逆量子化結果から、絶対最大スペクトルデータの近隣で量子化値が「０」となったスペクトルデータを、絶対最大スペクトルデータの両側にそれぞれ５サンプル特定し、特定されたスペクトルデータに対応付けて、それぞれ第２の符号化信号から復号化及び逆量子化することによって得られたスペクトル値を逆量子化データ合成部２５５に出力する。また、上記実施の形態においては、第２の量子化部１５３は、絶対最大スペクトルデータに隣接する前後の合計１０サンプルについて量子化を行ったが、このサンプル数は必ずしも前後各５サンプルである必要はなく、５サンプルより多くても少なくてもよい。また、第２の量子化部１５３が各フレームの符号化ビットストリームのデータ量に応じてサンプル数を決めてもよい。この場合には、第２の符号化信号内に、各サンプルの量子化値とサンプル数とを組み合わせて符号化すればよい。
【０１５０】
また、本実施の形態においては、第２の符号化信号として伝送される量子化値に対応するスケールファクターを、予め定めた値にしたが、スケールファクターバンドごとに最適なスケールファクター値を計算し、第２の符号化信号に付加して伝送してもよい。例えば、量子化値の最大値が「７」となる様にスケールファクターを選択すれば、量子化値の伝送に必要なデータ量がより少なくて済むという効果がある。
【０１５１】
なお、本実施の形態においては、第２の符号化信号内に第２の量子化部１５３による量子化値のみ、または量子化値とスケールファクターのみを符号化したが、これに限ったものでなくてよい。すなわち、符号化装置１０２において、各スケールファクターバンドの絶対最大スペクトルデータの前後に隣接する１０サンプルの量子化値がすべて「０」になった場合、所定のスケールファクターを用いて量子化を行うとともに、この上さらに、実施の形態１で説明した高域部スペクトルを表す補助情報を生成し、第２の量子化部１５３の量子化結果と補助情報とを組み合わせて符号化するようにしてもよい。この場合、高域部の量子化値及びスケールファクターを伝送せず、復号化装置２０２において前記補助情報に基づき高域部スペクトルデータを復元する。なお、ＳＨＯＲＴブロックにおける補助情報については図９、図１０及び実施の形態１のなお書きにおいて説明したが、ＬＯＮＧブロックについても同様にして補助情報を生成することができる。ただし、ここではＬＯＮＧブロックであるので、高域部と低域部とをサンプル数が半分の位置で区切るとするとＳＨＯＲＴブロックでは高域部６４サンプルのところ、ＬＯＮＧブロックでは高域部５１２サンプルにつき補助情報を生成する。また、スケールファクターバンドもＬＯＮＧブロックのスケールファクターバンドに従う。このようにすれば、高域部の量子化値及びスケールファクターの分だけ、符号化ビットストリームのデータ量をさらに低減することができるという効果がある。
【０１５２】
なおこの補助情報としては、各スケールファクターバンドに１つの補助情報を生成しているが、２つ以上のスケールファクターバンド毎に１つの補助情報を生成してもよいし、１つのスケールファクターバンドに２つ以上の補助情報を生成してもよい。
なお本実施例における補助情報は、チャンネル毎に補助情報を符号化してもよいし、２つ以上のチャンネルに対して１つの補助情報を符号化してもよい。
【０１５３】
なおこの場合において、補助情報に基づいて高域部スペクトルを復元する際に、低域側のスペクトルデータを高域側のスペクトルデータとしてコピーしているが、これに限らず、高域側のスペクトルデータは第２の符号化信号のみから生成してもよい。
また本実施例における符号化装置及び復号化装置の構成は、従来の符号化装置に第２の量子化部及び第２の符号化部を追加し、かつ、復号化装置に第２の復号化部及び第２の逆量子化部を追加しただけのものであるため、既存の符号化装置及び復号化装置を大幅に変更することなく実現することができる。
【０１５４】
なお本実施例においては従来技術としてＭＰＥＧ−２  ＡＡＣを例に挙げて説明したが、他の音響符号化方式にも適用できるし、既存しない新しい音響符号化方式にも適用できることは明らかである。
なお本実施例においても、実施の形態１と同様、図４（ｂ）の様に第２の符号化信号を第１の符号化信号の後に付加してもよく、また、図４（ｃ）のようにヘッダ情報の直後に第２の符号化信号を付加してもよい。ただし、本実施の形態の場合、ＬＯＮＧブロックであるので、１フレーム分の第１の符号化信号は１０２４サンプルの音響信号に対応している。このようにしておくことによって、従来の復号化装置４００においてもこの符号化ビットストリームを支障なく再生することができる。また第１の符号化信号の中に第２の符号化信号を組み込んでもよいし、ヘッダ情報に組み込んでもよいし、それらの組み込みのために連続した領域を確保しなくてもよい。またこれらに限ったものでなくてもよい。図４（ａ）の様にヘッダ情報と符号化情報の中に非連続に第２の符号化信号を組み込んだ場合のデータ配置図を示す。また、図５のように第２の符号化信号を、第１の符号化信号を格納したビットストリームとは全く別のストリームに格納してもよい。このようにすることにより、入力音響信号の基本的な部分を予め伝送又は蓄積しておき、必要に応じて高域情報を後から付加することができるという効果がある。
【０１５５】
なお本実施例においては、量子化部及び符号化部は２つとしたが、これに限定されるものではなく、３つ以上の量子化部及び復号化部を備えてもよい。
なお本実施例においては、復号化部及び逆量子化部は２つとしたが、これに限定されるものではなく、３つ以上の復号化部及び逆量子化部を備えてもよい。
【０１５６】
以上の処理は、ハードウェアで実現することはもちろん、ソフトウェアでも実現でき、また、一部をハードウェアで実現し、残りをソフトウェアで実現するという構成でも実施できる。
【０１５７】
なお、本発明の符号化装置１００、１０１、１０２は、コンテンツを配信する配信システムの放送局側に備えられ、本発明の復号化装置２００、２０１、２０２を備える受信装置に、音響信号として本発明の音響符号化ビットストリームを出力するとしてもよい。
【０１５８】
【発明の効果】
以上のように本発明の符号化装置は、入力された音響信号を符号化する符号化装置であって、入力音響信号を一定時間ごとに切り出して周波数スペクトルに変換することにより、１フレーム時間ごとに、周波数スペクトルの時間変化を示す複数のウィンドウからなるショートブロックスペクトルを生成する変換手段と、前記変換手段によって得られた前記ウィンドウ同士を比較し、それらウィンドウ同士のスペクトルが所定の判断基準を満たす範囲で相似するか否かを判定する共有判定手段と、前記ウィンドウ同士のスペクトルが前記範囲内で相似する場合、他のウィンドウの高域部スペクトルを共有する共有ウィンドウにつき、その共有ウィンドウの高域部スペクトルデータを所定値に置換する置換手段と、前記置換手段による置換処理の後、前記各ウィンドウのスペクトルデータを量子化する第１量子化手段と、前記第１量子化手段による量子化結果を符号化する第１符号化手段と、前記第１符号化手段によって符号化されたデータを出力する出力手段とを備える。
【０１５９】
従って、変換手段が、１フレーム時間ごとに、周波数スペクトルの時間変化を示す複数のウィンドウからなるショートブロックスペクトルを生成する場合、本来的に、切り出しにおいて時間的に隣接するウィンドウ同士ではスペクトルが相似する可能性が高い。これに対し、本発明の符号化装置においては、共有判定手段による判定に基づいて、互いに相似する前記共有ウィンドウについては、高域部スペクトルデータを量子化及び符号化せず、前記他のウィンドウの高域部スペクトルデータを代用する。具体的には、前記共有ウィンドウにつき、そのウィンドウの高域部スペクトルデータを所定値に置換してしまう。この所定値を例えば「０」とすると、その部分の量子化及び符号化の処理を簡略化することができるとともに、高域部の符号化データの量を大幅に削減することができるという効果がある。
【０１６０】
これに対応する本発明の復号化装置は、音響信号を表した入力符号化データを復号化する復号化装置であって、前記入力符号化データ中の第１の領域に記録されている第１符号化データを復号化する第１復号化手段と、前記第１復号化手段による復号化結果を逆量子化し、１フレーム時間ごとに、周波数スペクトルの時間変化を示す複数のショートブロックスペクトルを出力する第１逆量子化手段と、前記第１逆量子化手段による逆量子化結果を監視し、前記第１逆量子化手段によって出力された前記ウィンドウのうち、周波数高域部のスペクトルデータの値が所定値となっている場合、そのウィンドウを、ウィンドウ内の高域部スペクトルデータを他のウィンドウの高域部スペクトルデータを参照して生成する参照ウィンドウであると判定する判定手段と、前記判定手段の判定に基づいて、前記第１逆量子化手段による逆量子化結果から、前記参照ウィンドウに参照されるウィンドウである被参照ウィンドウの高域部スペクトルデータをコピーし、コピーしたスペクトルデータを前記参照ウィンドウに対応付けて出力する第２逆量子化手段と、前記第１逆量子化手段によって出力された前記所定値の高域部スペクトルデータであって、前記参照ウィンドウの高域部スペクトルデータの値を、前記第２逆量子化手段によって対応付けられ出力された前記被参照ウィンドウの高域部スペクトルデータの値で置換した後、逆変換し、時間軸上の音響信号として出力する音響信号出力手段とを備える。
【０１６１】
これによって、本発明の復号化装置においては、１フレームに付き、少なくとも１つの被参照ウィンドウの高域部データを入力し、それを前記判定手段の判定に基づいて、前記参照ウィンドウにコピーすることによって生成することができるので、従来に比べて、より高域部の豊かな高音質な音響信号を再生することができるという効果がある。
【０１６２】
また、本発明の符号化装置によれば、前記共有判定手段は、前記ウィンドウ同士のスペクトルが所定の判断基準を満たす範囲で相似するか否かを判定し、前記置換手段は、前記ウィンドウ同士のスペクトルが前記範囲内で相似する場合、他のウィンドウの高域部スペクトルを共有する共有ウィンドウにつき、その共有ウィンドウのさらに低域部のスペクトルデータを所定値に置換する。
【０１６３】
従って、前記ウィンドウ同士のスペクトルが所定の判断基準を満たす範囲で相似する場合には、高域部に加えてさらに低域部のスペクトルデータを所定値に置換するので、この所定値を例えば「０」とすると、その部分の量子化及び符号化の処理を簡略化することができるとともに、音響信号の符号化データの量を、低域部の分まで、より大幅に削減することができるという効果がある。
【０１６４】
これに対応して、本発明の復号化装置において、前記判定手段は、前記第１逆量子化手段によって出力された前記各ウィンドウにおいて全スペクトルデータの値が所定値となっている場合、そのウィンドウを前記参照ウィンドウであると判定し、前記第２逆量子化手段は、前記判定手段による判定に基づいて、前記第１逆量子化手段の逆量子化結果から、所定の前記被参照ウィンドウのさらに低域部を含んだ全スペクトルデータをコピーし、コピーしたスペクトルデータを前記参照ウィンドウに対応付けて出力し、前記音響信号出力手段は、前記参照ウィンドウの全スペクトルデータの値を、前記第２逆量子化手段によって対応付けられ出力された前記被参照ウィンドウのスペクトルデータの値で置換した後、逆変換し、時間軸上の音響信号として出力する。
【０１６５】
従って、本発明の復号化装置によれば、１フレームに付き、少なくとも１つの被参照ウィンドウ分の全域データを入力し、それを前記判定手段の判定に基づいて、前記参照ウィンドウにコピーすることによって生成するので、従来に比べて、低域部は所定の判断基準の範囲によって多少の誤差を生じるが、１フレームに付き、少なくとも１つのウィンドウ分入力される高域部データに基づいて、より高域部の豊かな高音質な音響信号を再生することができるという効果がある。
【０１６６】
さらに、本発明の符号化装置は、さらに、前記第１量子化手段に入力されたスペクトルデータのうち、第１量子化手段による量子化の結果、スペクトルのピークに近接したスペクトルデータであって量子化結果が所定値となったものを所定の正規化係数を用いて量子化し直す第２量子化手段と、前記第２量子化手段の量子化結果を符号化する第２符号化手段とを備え、前記出力手段は、前記第１符号化手段によって符号化されたデータと、前記第２符号化手段によって符号化されたデータとを出力する。
【０１６７】
従って、本発明の符号化装置によれば、第２量子化手段が、第１量子化手段において、スペクトルのピークに近接したスペクトルデータの量子化結果が連続して所定値となったものを所定の正規化係数を用いて量子化し直すので、ピークに隣接したスペクトルデータの量子化結果を、所定値で連続しない値に量子化し直すことができる。すなわち、ピークに隣接するスペクトルデータの量子化誤差を、第２量子化手段の量子化によって補正することができるという効果がある。
【０１６８】
これに対応して、本発明の復号化装置は、さらに、前記入力符号化データ中の第２の領域から、同じスペクトルデータについて前記第１符号化データとは異なる所定の正規化係数を用いて量子化された第２符号化データを分離する第２符号化データ分離手段と、前記第２符号化データを復号化する第２復号化手段と、前記第１復号化手段による復号化結果を監視して、前記復号化結果のうち連続して所定値となる部分を特定し、特定された部分に対応する前記第２復号化手段による復号化結果を、前記所定の正規化係数を用いて逆量子化し、複数のスペクトルデータを生成する第２逆量子化手段と、前記第１逆量子化手段によって出力されたスペクトルデータのうち、前記特定された部分のスペクトルデータの値を、前記第２逆量子化手段によって生成されたスペクトルデータの値で置換した後、逆変換し、時間軸上の音響信号として出力する音響信号出力手段とを備える。
【０１６９】
従って、本発明の復号化装置によれば、第２逆量子化手段は、前記各バンドにおいてピークとなるスペクトルデータに近接したため、前記第１量子化手段による量子化結果が所定値となった連続するスペクトルデータを生成するので、ピークに近接するスペクトルデータの量子化誤差を、第２量子化手段の量子化によって補正することができる。この結果、音響信号の再生帯域の全域において、スペクトルのピーク周辺の音響信号を、より原音に忠実に再生することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の符号化装置及び復号化装置の構成を示すブロック図である。
【図２】図１に示した符号化装置において処理される音響信号の変換過程を示す図である。
【図３】図１に示した共有判定部による高域部データの共有の一例を示す図である。
【図４】図１に示したストリーム出力部によって第２の符号化信号（共有情報）が格納されるビットストリームのデータ構造を示す図である。
【図５】図１に示したストリーム出力部によって第２の符号化信号（共有情報）が格納されるビットストリームの他のデータ構造を示す図である。
【図６】図１に示した第１の量子化部のスケールファクター決定処理における動作を示すフローチャートである。
【図７】図１に示した共有判定部の１フレームの共有判定処理における動作の一例を示すフローチャートである。
【図８】図１に示した第２の逆量子化部の高域部スペクトルデータのコピー処理における動作を示すフローチャートである。
【図９】図１に示した共有判定部によってＳＨＯＲＴブロックの１ウィンドウにつき生成される補助情報（スケールファクター）の具体例を示すスペクトル波形図である。
【図１０】図１に示した共有判定部の補助情報（スケールファクター）計算処理における動作を示すフローチャートである。
【図１１】符号化装置及び復号化装置の構成を示すブロック図である。
【図１２】図１１に示した共有判定部によるスペクトルデータの共有の一例を示す図である。
【図１３】本発明の符号化装置及び復号化装置の構成を示すブロック図である。
【図１４】符号化装置及び復号化装置の他の構成を示すブロック図である。
【図１５】従来の符号化装置と本発明の符号化装置との量子化結果の違いを具体値を用いて示すテーブルである。
【図１６】符号化装置によるピーク周辺の量子化誤差の補正の一例を示す図である。
【図１７】従来のＭＰＥＧ−２  ＡＡＣ方式による符号化装置及び復号化装置の構成を示すブロック図である。
【符号の説明】
１００    符号化装置
１１０    音響信号入力部
１２０    変換部
１３１    第１の量子化部
１３２    第１の符号化部
１３４    第２の符号化部
１３７    共有判定部
１４０    ストリーム出力部
２００    復号化装置
２１０    ストリーム入力部
２２１    第１の復号化部
２２２    第１の逆量子化部
２２３    第２の復号化部
２２４    第２の逆量子化部
２２５    逆量子化データ合成部
２３０    逆変換部
２４０    音響信号出力部
【図１】
0003984468.tif 000002
【図２】
0003984468.tif 000003
【図３】
0003984468.tif 000004
【図４】
0003984468.tif 000005
【図５】
0003984468.tif 000006
【図６】
0003984468.tif 000007
【図７】
0003984468.tif 000008
【図８】
0003984468.tif 000009
【図９】
0003984468.tif 000010
【図１０】
0003984468.tif 000011
【図１１】
0003984468.tif 000012
【図１２】
0003984468.tif 000013
【図１３】
0003984468.tif 000014
【図１４】
0003984468.tif 000015
【図１５】
0003984468.tif 000016
【図１６】
0003984468.tif 000017
【図１７】
0003984468.tif 000018