(57)【特許請求の範囲】
【請求項１】
音声信号の低域成分と高域成分に基づいて、前記高域成分を得るための高域符号列の符号量である高域符号量を算出する第一高域符号化部と、
前記音声信号の前記低域成分を符号化し、低域符号列を生成する低域符号化部と、
前記低域符号列を復号する低域復号部と、
前記高域符号列の符号量が前記高域符号量以下の符号量となるように、前記低域符号列の復号で得られた復号低域成分と、前記高域成分とに基づいて、前記高域符号列を生成する第二高域符号化部と、
前記低域符号列と前記高域符号列とを多重化して出力符号列を生成する多重化部と
を備える符号化装置。
【請求項２】
前記第一高域符号化部は、前記低域成分を構成する複数のサブバンドの低域サブバンド信号と、前記高域成分を構成する複数のサブバンドの高域サブバンド信号とに基づいて、前記高域符号量を算出し、
前記第二高域符号化部は、前記復号低域成分を構成する複数のサブバンドの復号低域サブバンド信号と、前記高域サブバンド信号とに基づいて前記高域符号列を生成する
請求項１に記載の符号化装置。
【請求項３】
前記第二高域符号化部に入力される前記高域符号量、前記復号低域成分、および前記高域成分を遅延させる遅延部をさらに備える
請求項１に記載の符号化装置。
【請求項４】
前記第二高域符号化部で得られた前記高域符号列の符号量が、前記高域符号量より少ない場合、前記高域符号列の符号量と前記高域符号量の差分を、次回以降の処理において使用可能な剰余符号量として前記剰余符号量の蓄積を制御する符号量調整部をさらに備える
請求項１に記載の符号化装置。
【請求項５】
前記剰余符号量は、前記高域符号列または前記低域符号列の少なくとも何れかの符号量の調整に用いられる
請求項４に記載の符号化装置。
【請求項６】
音声信号の低域成分と高域成分に基づいて、前記高域成分を得るための高域符号列の符号量である高域符号量を算出する第一高域符号化部と、
前記音声信号の前記低域成分を符号化し、低域符号列を生成する低域符号化部と、
前記低域符号列を復号する低域復号部と、
前記高域符号列の符号量が前記高域符号量以下の符号量となるように、前記低域符号列の復号で得られた復号低域成分と、前記高域成分とに基づいて、前記高域符号列を生成する第二高域符号化部と、
前記低域符号列と前記高域符号列とを多重化して出力符号列を生成する多重化部と
を備える符号化装置の符号化方法であって、
前記第一高域符号化部が前記高域符号量を算出し、
前記低域符号化部が前記低域成分を符号化し、
前記低域復号部が前記低域符号列を復号し、
前記第二高域符号化部が前記高域符号列を生成し、
前記多重化部が前記出力符号列を生成する
ステップを含む符号化方法。
【請求項７】
音声信号の低域成分と高域成分に基づいて、前記高域成分を得るための高域符号列の符号量である高域符号量を算出し、
前記音声信号の前記低域成分を符号化し、低域符号列を生成し、
前記低域符号列を復号し、
前記高域符号列の符号量が前記高域符号量以下の符号量となるように、前記低域符号列の復号で得られた復号低域成分と、前記高域成分とに基づいて、前記高域符号列を生成し、
前記低域符号列と前記高域符号列とを多重化して出力符号列を生成する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は符号化装置および方法、並びにプログラムに関し、特に、音質を向上させるとともに、より効率的に音声の符号化を行なうことができるようにした符号化装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、音声信号の符号化手法として、HE-AAC（High Efficiency MPEG（Moving Picture Experts Group）4 AAC（Advanced Audio Coding））（国際標準規格ISO／IEC14496-3）が知られている。
【０００３】
この符号化手法では、高域の信号成分から特徴的な情報が抽出され、低域の信号成分と併せて符号化される（例えば、特許文献１参照）。また、復号の際には低域の信号成分が高域へ写像され、符号列に含まれる高域の情報をもとに周波数包絡の調整が行なわれる。このような符号化手法では、高域の信号成分の特徴的な情報だけを高域の信号成分に関する情報として符号化するので、音質の劣化を抑えつつ、符号化効率を向上させることができる。
【０００４】
一般的に、高域成分に関する情報として、高域の特徴的な情報だけを符号化する符号化方式を採用する符号化装置では、低域に比べて高域の符号量が極端に小さく、かつ高域の符号量の調整の自由度が小さい場合が多い。そのため、まず高域の信号成分に関する情報を符号化し、次に、余った符号量で低域の信号成分を符号化する方法がとられている。また、こうした構成をとることで、符号化装置の構成の複雑化を避けるだけでなく、計算量の肥大化を防ぐこともできる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１３９８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した技術では、音質を向上させつつ、充分効率的に音声の符号化を行なうことができなかった。具体的には、例えば符号化時において、低域の信号成分の符号列の符号量と、高域の特徴的な情報の符号量とを適切に制御することができなかった。
【０００７】
本技術は、このような状況に鑑みてなされたものであり、音質を向上させるとともに、より効率的に音声の符号化を行なうことができるようにするものである。
【課題を解決するための手段】
【０００８】
本技術の一側面の符号化装置は、音声信号の低域成分と高域成分に基づいて、前記高域成分を得るための高域符号列の符号量である高域符号量を算出する第一高域符号化部と、前記音声信号の前記低域成分を符号化し、低域符号列を生成する低域符号化部と、前記低域符号列を復号する低域復号部と、前記高域符号列の符号量が前記高域符号量以下の符号量となるように、前記低域符号列の復号で得られた復号低域成分と、前記高域成分とに基づいて、前記高域符号列を生成する第二高域符号化部と、前記低域符号列と前記高域符号列とを多重化して出力符号列を生成する多重化部とを備える。
【０００９】
前記第一高域符号化部には、前記低域成分を構成する複数のサブバンドの低域サブバンド信号と、前記高域成分を構成する複数のサブバンドの高域サブバンド信号とに基づいて、前記高域符号量を算出させ、前記第二高域符号化部には、前記復号低域成分を構成する複数のサブバンドの復号低域サブバンド信号と、前記高域サブバンド信号とに基づいて前記高域符号列を生成させることができる。
【００１０】
符号化装置には、前記第二高域符号化部に入力される前記高域符号量、前記復号低域成分、および前記高域成分を遅延させる遅延部をさらに設けることができる。
【００１１】
符号化装置には、前記第二高域符号化部で得られた前記高域符号列の符号量が、前記高域符号量より少ない場合、前記高域符号列の符号量と前記高域符号量の差分を、次回以降の処理において使用可能な剰余符号量として前記剰余符号量の蓄積を制御する符号量調整部をさらに設けることができる。
【００１２】
前記剰余符号量は、前記高域符号列または前記低域符号列の少なくとも何れかの符号量の調整に用いることができる。
【００１３】
本技術の一側面の符号化方法またはプログラムは、音声信号の低域成分と高域成分に基づいて、前記高域成分を得るための高域符号列の符号量である高域符号量を算出し、前記音声信号の前記低域成分を符号化し、低域符号列を生成し、前記低域符号列を復号し、前記高域符号列の符号量が前記高域符号量以下の符号量となるように、前記低域符号列の復号で得られた復号低域成分と、前記高域成分とに基づいて、前記高域符号列を生成し、前記低域符号列と前記高域符号列とを多重化して出力符号列を生成するステップを含む。
【００１４】
本技術の一側面においては、音声信号の低域成分と高域成分に基づいて、前記高域成分を得るための高域符号列の符号量である高域符号量が算出され、前記音声信号の前記低域成分が符号化されて低域符号列が生成され、前記低域符号列が復号され、前記高域符号列の符号量が前記高域符号量以下の符号量となるように、前記低域符号列の復号で得られた復号低域成分と、前記高域成分とに基づいて、前記高域符号列が生成され、前記低域符号列と前記高域符号列とが多重化されて出力符号列が生成される。
【発明の効果】
【００１５】
本技術の一側面によれば、音質を向上させるとともに、より効率的に音声の符号化を行なうことができる。
【図面の簡単な説明】
【００１６】
【図１】符号化装置の一実施の形態の構成例を示す図である。
【図２】入力信号の各サブバンドのパワーを示す図である。
【図３】入力信号と復号低域信号の各サブバンドのパワーを示す図である。
【図４】符号化処理を説明するフローチャートである。
【図５】復号装置の構成例を示す図である。
【図６】復号処理を説明するフローチャートである。
【図７】符号化装置の他の構成例を示す図である。
【図８】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【００１８】
〈第１の実施の形態〉
［符号化装置の構成例］
図１は、本技術を適用した符号化装置の一実施の形態の構成例を示す図である。
【００１９】
この符号化装置１１は、音声信号である入力信号を符号化し、その結果得られた出力符号列を出力する。
【００２０】
符号化装置１１は、サブバンド分割回路２１、第一高域符号化回路２２、低域通過フィルタ２３、低域符号化回路２４、低域復号回路２５、サブバンド分割回路２６、遅延回路２７、遅延回路２８、遅延回路２９、第二高域符号化回路３０、符号量調整回路３１、符号量一時蓄積回路３２、遅延回路３３、および多重化回路３４から構成される。
【００２１】
サブバンド分割回路２１は、入力信号を複数のサブバンド信号に分割し、得られた低域サブバンド信号を第一高域符号化回路２２へ供給するとともに、高域サブバンド信号を第一高域符号化回路２２、および遅延回路２９へ供給する。
【００２２】
例えば、入力信号全体の周波数帯域が、帯域幅の等しい複数の周波数帯域（以下、サブバンドと称する）に分割されて、入力信号が各サブバンドの信号（以下、サブバンド信号と称する）に分割される。そして、サブバンド信号のうち、高域側の所定のサブバンドのサブバンド信号が高域サブバンド信号とされ、高域側よりも周波数の低い低域側の所定のサブバンドのサブバンド信号が低域サブバンド信号とされる。
【００２３】
第一高域符号化回路２２は、サブバンド分割回路２１から供給された低域サブバンド信号から得られる特徴量に基づき、高域サブバンド信号のパワーを推定するために用いられる推定係数を符号化し、その符号量（以下、高域符号量と称する）を低域符号化回路２４、および遅延回路２８へ供給する。
【００２４】
低域通過フィルタ２３は、供給された入力信号をフィルタリングして、その結果得られた、入力信号の低域成分である低域信号を低域符号化回路２４へ供給する。この低域信号は、低域側の各低域サブバンド信号からなる信号である。
【００２５】
低域符号化回路２４は、入力信号の処理フレームで使用可能な符号量から、第一高域符号化回路２２から供給された高域符号量を減じた符号量で、低域通過フィルタ２３からの低域信号を符号化する。低域符号化回路２４は、低域信号の符号化により得られた低域符号列を低域復号回路２５、および遅延回路３３へ供給する。
【００２６】
低域復号回路２５は、低域符号化回路２４から供給された低域符号列の復号を行い、その結果得られた復号低域信号をサブバンド分割回路２６へ供給する。サブバンド分割回路２６は、低域復号回路２５から供給された復号低域信号を、低域側の複数のサブバンドのサブバンド信号（以下、復号低域サブバンド信号と称する）に分割し、遅延回路２７へ供給する。ここで、復号低域サブバンド信号のサブバンドのそれぞれは、低域サブバンド信号のサブバンドのそれぞれと同じ周波数帯域とされる。
【００２７】
遅延回路２７は、サブバンド分割回路２６からの復号低域サブバンド信号を遅延させ、第二高域符号化回路３０へ供給する。遅延回路２８は、第一高域符号化回路２２からの高域符号量を一定の処理フレームだけ遅延させ、第二高域符号化回路３０へ供給する。遅延回路２９は、サブバンド分割回路２１からの高域サブバンド信号を遅延させ、第二高域符号化回路３０へ供給する。
【００２８】
第二高域符号化回路３０は、遅延回路２７から出力される復号低域サブバンド信号から得られる特徴量に基づき、遅延回路２８で得られた高域符号量により定まる符号量以下になるように、遅延回路２９からの高域サブバンド信号のパワーの推定係数を符号化する。第二高域符号化回路３０は、推定係数を符号化して得られた高域符号列を多重化回路３４へ供給するとともに、高域符号列の高域符号量を、符号量調整回路３１へ供給する。
【００２９】
符号量調整回路３１は、第二高域符号化回路３０で得られた高域符号量が、遅延回路２８を通して得られる第一高域符号化回路２２の高域符号量未満であった場合、その剰余符号量を符号量一時蓄積回路３２へ供給する。符号量一時蓄積回路３２は、剰余符号量の蓄積を行なう。この剰余符号量は、次回以降の処理フレームで適宜使用される。
【００３０】
遅延回路３３は、低域符号化回路２４で得られた低域符号列を一定の処理フレームだけ遅延させ、多重化回路３４へ供給する。多重化回路３４は、遅延回路３３からの低域符号列と、第二高域符号化回路３０からの高域符号列を多重化し、その結果得られた出力符号列を出力する。
【００３１】
［音質の向上について］
ところで、符号化装置１１における符号化方式や、HE-AACといった符号化方式では、音声信号の高域成分の特徴的な情報が極めて少ない符号量で符号化され、人間の聴覚上歪が知覚されやすい周波数帯域である低域に、多くの符号量が割り当てられる。また、符号化装置１１は、高域成分の信号の状態に応じて積極的に符号量を調整するため、高域符号量は処理フレームによって大きく変動することが多い。
【００３２】
このような理由から、上述の符号化方式では、まず高域信号の符号化を行い、余った符号量で低域信号の符号化を行うのが一般的な構成とされている。
【００３３】
また一方で、低域成分を用いて高域成分の符号化を行う符号化手法では、符号化装置１１で扱う低域信号と、復号装置で扱う低域信号とが異なるという点が、高域信号の音質劣化の原因の一つになる。
【００３４】
すなわち、入力信号に対するサブバンド分割により、例えば図２に示すように、入力信号が低域と高域の各サブバンドに分割されたとする。なお、図２では、入力信号の各サブバンドのパワーが示されている。また、図中、横軸は周波数を示し、縦軸は各サブバンドのサブバンド信号のパワーを示している。
【００３５】
図２の例では、入力信号の低域成分はサブバンドsb-3乃至サブバンドsbの４つのサブバンドに分割され、入力信号の高域成分は、サブバンドsb+1乃至サブバンドsb+12の１２のサブバンドに分割されている。また、低域側の最も周波数の高いサブバンドsbの高域側に隣接するサブバンドが、高域側の最も周波数の低いサブバンドsb+1とされている。
【００３６】
ここで、各サブバンドにおける図中、横方向の実線が、それらのサブバンドのサブバンド信号（低域サブバンド信号または高域サブバンド信号）のパワーを示している。
【００３７】
このような入力信号の低域成分が符号化されて、符号化により得られる低域符号列が復号装置で復号されたとする。この場合、低域符号列を復号して得られる復号低域信号に対してサブバンド分割を行なうと、復号低域信号は、例えば図３に示すように、サブバンドsb-3乃至サブバンドsbの４つのサブバンドに分割される。
【００３８】
なお、図３において、横軸は周波数を示し、縦軸は各サブバンドのサブバンド信号のパワーを示している。また、各サブバンドの横方向の実線は、入力信号の符号化前の各サブバンド信号のパワーを示しており、各サブバンドの横方向の一点鎖線は、復号装置で得られた復号低域信号を構成する復号低域サブバンド信号のパワーを示している。
【００３９】
図３に示されるように、復号装置において得られる復号低域信号は、符号化誤差を含んだものであるため、結果として、復号低域サブバンド信号のパワーは、符号化装置１１における低域サブバンド信号のパワーと異なるものとなる。
【００４０】
そのため、例えば低域サブバンド信号のパワーを特徴量として、複数の推定係数のうち、特徴量と高域サブバンド信号とから、最も高精度に高域サブバンド信号のパワーを推定できる推定係数を選択し、復号装置に出力すると音質の劣化が生じる恐れがある。
【００４１】
すなわち、符号化側では、復号装置で得られる復号低域サブバンド信号とは異なる低域サブバンド信号と、高域サブバンド信号および推定係数とが用いられて高域サブバンド信号のパワーが推定され、その推定結果から、最も適切な推定係数が選択される。したがって、このように選択された推定係数を用いても、符号化側と復号側とで高域サブバンド信号のパワーの推定に用いられる低域成分が異なれば、高精度に高域サブバンド信号のパワーを推定できるとは限らない。
【００４２】
そこで、より正確な推定を行うことによって音質を向上させるためには、符号化装置にも低域符号列を復号する復号装置を内蔵し、そこで得られる復号低域信号を用いて高域の符号化を行うことが必要である。
【００４３】
符号化装置１１では、低域復号回路２５が設けられており、この低域復号回路２５により低域符号列が復号され、これにより得られた復号低域サブバンド信号が用いられて高域の符号化が行なわれるため、復号により得られる音声の音質を向上させることができる。
【００４４】
［符号化処理の説明］
次に、符号化装置１１の動作について説明する。符号化装置１１に入力信号が供給され、入力信号の符号化が指示されると、符号化装置１１は符号化処理を行って、入力信号を符号化する。以下、図４のフローチャートを参照して、符号化装置１１による符号化処理について説明する。
【００４５】
ステップＳ１１において、サブバンド分割回路２１は、供給された入力信号を、所定の帯域幅を持つ複数のサブバンド信号に等分割する。ここで得られたサブバンド信号のうちの低域側の特定の範囲のサブバンド信号が低域サブバンド信号とされ、高域側の特定の範囲のサブバンド信号が高域サブバンド信号とされる。
【００４６】
サブバンド分割回路２１は、サブバンド分割により得られた低域サブバンド信号を第一高域符号化回路２２に供給し、高域サブバンド信号を第一高域符号化回路２２および遅延回路２９に供給する。
【００４７】
例えば、高域サブバンド信号のサブバンドの範囲は、入力信号の性質やビットレートなどに応じて符号化装置１１側で設定される。また、低域サブバンド信号のサブバンドの範囲は、高域サブバンド信号の最低域のサブバンドより一つ低域側のサブバンドを、低域サブバンド信号の最高域のサブバンドとした、一定サブバンド数からなる周波数帯域とされる。このように、低域サブバンド信号と高域サブバンド信号がカバーするサブバンドの範囲は、符号化装置１１と復号装置で同一である。
【００４８】
ステップＳ１２において、第一高域符号化回路２２は、サブバンド分割回路２１から供給された低域サブバンド信号からの推定に基づき高域の符号化を行なって、高域符号量を算出し、高域符号量を低域符号化回路２４および遅延回路２８に供給する。
【００４９】
例えば、第一高域符号化回路２２は、サブバンド分割回路２１から供給された各サブバンドの低域サブバンド信号のパワー（以下、低域サブバンドパワーと称する）を特徴量として算出する。また、第一高域符号化回路２２は、複数の推定係数ごとに、低域サブバンドパワーと推定係数とから高域の各サブバンドの高域サブバンド信号のパワーの推定値（以下、擬似高域サブバンドパワーと称する）を算出する。具体的には、サブバンドごとの推定係数が用いられて各サブバンドの低域サブバンドパワーが線形結合されて、所定のサブバンドの擬似高域サブバンドパワーとされる。
【００５０】
そして、第一高域符号化回路２２は、擬似高域サブバンドパワーと、実際の高域サブバンド信号のパワー（以下、高域サブバンドパワーと称する）とを比較して、複数の推定係数のうち、最も精度よく入力信号の高域を推定できる推定係数を選択する。第一高域符号化回路２２は、選択された推定係数を特定する係数インデックスの符号量を、符号化された高域成分の符号量、つまり高域符号量とする。
【００５１】
なお、低域信号を用いて高域の符号化を行う符号化手法であれば、符号化手法は様々な手法をとることが可能である。また、ステップＳ１２における高域符号化処理では、高域符号量の算出ができれば、実際の符号化は行わなくともよい。さらに、計算処理量を低減させたい場合は、処理の一部を省略して高域符号量の見積もり値を取得するような構成もとることができる。
【００５２】
ステップＳ１３において、低域通過フィルタ２３は、供給された入力信号に対するフィルタ処理を行うことで、入力信号の低域周波数成分を通過させて低域信号を生成し、低域符号化回路２４に出力する。このフィルタ処理に用いるフィルタの遮断周波数としては、任意の周波数を設定することが可能であるが、本実施の形態では、上述の低域サブバンド信号の上端の周波数に対応して遮断周波数が設定される。
【００５３】
ステップＳ１４において、低域符号化回路２４は、予め定められた処理フレーム全体で使用可能な符号量から、第一高域符号化回路２２から供給された高域符号量を減じた符号量で、低域通過フィルタ２３からの低域信号を符号化する。低域符号化回路２４は、低域信号の符号化により得られた低域符号列を、低域復号回路２５および遅延回路３３に出力する。
【００５４】
ステップＳ１５において、低域復号回路２５は、低域符号化回路２４から供給された低域符号列の復号を行い、これにより得られた復号低域信号をサブバンド分割回路２６に出力する。なお、符号化装置１１では、低域信号の符号化及び復号を行う符号化方式は様々な方式をとることができ、例えば、ACELP（Algebraic Code Excited Linear Prediction）や、AAC（Advanced Audio Coding）などを採用することができる。
【００５５】
ステップＳ１６において、サブバンド分割回路２６は、低域復号回路２５から供給された復号低域信号を複数のサブバンドの復号低域サブバンド信号に分割し、遅延回路２７に出力する。このサブバンド分割における、各サブバンドの下端及び上端の周波数は、ステップＳ１１においてサブバンド分割回路２１が行うサブバンド分割と同一とされる。つまり、復号低域サブバンド信号の各サブバンドは、低域サブバンド信号の各サブバンドと同じ周波数帯域とされる。
【００５６】
ステップＳ１７において、遅延回路２７は、サブバンド分割回路２６から供給された復号低域サブバンド信号を特定の時間サンプルだけ遅延させ、第二高域符号化回路３０に供給する。
【００５７】
遅延回路２７での遅延量は、低域信号、高域信号、高域符号量、低域符号列の同期をとるためのものであり、低域、高域それぞれの符号化方式によって、適切な値を設定する必要がある。当然、符号化方式の構成によっては、各遅延回路の遅延量が０である場合もあり得る。他の遅延回路２８，遅延回路２９、および遅延回路３３の説明は、遅延回路２７が果たす機能と同等であるので、ここでは説明を省略する。
【００５８】
ステップＳ１８において、第二高域符号化回路３０は、遅延回路２７から出力される復号低域サブバンド信号から得られる特徴量に基づき、遅延回路２８から供給された高域符号量以下の符号量になるように、遅延回路２９から供給された高域サブバンド信号のパワーの推定係数を符号化する。
【００５９】
例えば、第二高域符号化回路３０は、遅延回路２８から供給された高域符号量に、符号量一時蓄積回路３２に蓄積されている剰余符号量を加算して、補正された高域符号量（以下、補正高域符号量と称する）を算出する。このとき、余剰符号量が、高域符号量の予め定められた上限補正量以上である場合には、高域符号量に上限補正量が加算されて得られる符号量が、補正高域符号量とされる。
【００６０】
高域符号量の補正時において、符号量調整回路３１は、符号量一時蓄積回路３２に蓄積されている剰余符号量に基づいて、その剰余符号量または上限補正量を示す情報を、第二高域符号化回路３０に供給する。また、符号量調整回路３１は、符号量一時蓄積回路３２の剰余符号量の更新を行なう。例えば、上限補正量を示す情報が第二高域符号化回路３０に供給された場合、符号量調整回路３１は、剰余符号量から上限補正量を減算して得られる符号量を、更新後の剰余符号量とする。
【００６１】
さらに、第二高域符号化回路３０は、高域サブバンド信号と復号低域サブバンド信号とに基づいて、高域符号列の符号量が補正高域符号量以下となるように、処理対象のフレームの音声信号の高域成分を符号化する。
【００６２】
例えば、第二高域符号化回路３０は、処理対象のフレームをいくつかの区間に分割し、ステップＳ１２の処理と同様の処理を行って、各区間の推定係数を選択する。
【００６３】
すなわち、第二高域符号化回路３０は、復号低域サブバンド信号から復号低域サブバンドパワーを求め、推定係数ごとに、復号低域サブバンドパワーと推定係数とから擬似高域サブバンドパワーを算出する。そして、第二高域符号化回路３０は、擬似高域サブバンドパワーと、高域サブバンド信号の高域サブバンドパワーとを比較して、最も精度よく入力信号の高域を推定できる推定係数を選択する。第二高域符号化回路３０は、処理対象のフレームを構成する各区間の推定係数を示す係数インデックスからなる符号列を、高域符号列とする。
【００６４】
ここで、高域符号列の符号量は、例えば処理対象のフレームを構成する区間の数を変化させることで調整が行なわれる。また、連続する区間で同じ推定係数が選択された場合には、それらの区間を特定する情報と、選択された１つの推定係数の係数インデックスとからなる情報が高域符号列を構成する符号列とされるようにして、高域符号列の符号量の調整が行なわれるようにしてもよい。
【００６５】
なお、高域符号量の補正が行なわれないようにしてもよい。そのような場合には、高域符号列が遅延回路２８から出力される高域符号量以下の符号量となるように、高域の符号化が行なわれる。
【００６６】
また、ステップＳ１８での符号化方式は、ステップＳ１２における処理の符号化方式と同様に、低域信号を用いて高域の符号化を行う符号化手法であれば、符号化手法は様々な手法をとることができるが、少なくとも、ステップＳ１２における符号化方式と同一の符号化規格に基づくものである必要がある。但し、ステップＳ１８における符号化処理がステップＳ１２における符号化処理と明確に異なるのは、第一に、ステップＳ１２において算出された高域符号量以下になるように符号化する必要がある点、第二に、高域の符号化を行うために必要な低域の信号は、復号後の低域信号（復号低域サブバンド信号）である点である。
【００６７】
このように、第一高域符号化回路２２で高域の仮の符号化を行なって、高域符号量を定めておき、高域符号列が高域符号量により定まる符号量以下となるように、実際の高域の符号化を行なうことで、高域の符号化を行なう前に、高域符号列の符号量を確定させることができる。これにより、低域符号列に割り当てられる符号量を求めることができるので、直ちに低域信号の符号化を行なうことができ、より効率的に入力信号の符号化を行なうことが可能となる。
【００６８】
ステップＳ１９において、第二高域符号化回路３０は、符号化により得られた高域符号列の符号量が補正高域符号量未満であるか否かを判定する。
【００６９】
ステップＳ１９において、補正高域符号量未満でないと判定された場合、つまり高域符号列の符号量が補正高域符号量と一致する場合、符号の剰余は発生しないので、処理はステップＳ２３に進む。このとき、第二高域符号化回路３０は、高域の符号化により得られた高域符号列を多重化回路３４に供給する。
【００７０】
これに対して、ステップＳ１９において、補正高域符号量未満であると判定された場合、ステップＳ２０において、符号量調整回路３１は、高域符号列の符号量と、補正高域符号量との差分の符号量一時蓄積回路３２への蓄積を行なう。すなわち、高域符号列の符号量と補正高域符号量の差の分の符号量が、符号量一時蓄積回路３２に蓄積されている剰余符号量に加算されていき、剰余符号量が更新される。
【００７１】
このような符号量一時蓄積回路３２は、AACにおいてもビットリゾルバという名称で使われており、処理フレーム間での符号量の調整が行なわれる。なお、符号化装置１１は、余剰符号量は、高域符号化のために用いられる構成になっているが、低域信号の符号化方式において、同様な機能を有する回路が存在する場合は、共通に使うことも可能である。すなわち、剰余符号量が高域符号列または低域符号列の何れか一方の符号量の調整にのみ用いられてもよいし、それらの両方の符号量の調整に用いられてもよい。
【００７２】
ステップＳ２１において、符号量調整回路３１は、符号量一時蓄積回路３２に蓄積している剰余符号量が予め定められた上限に達したか否かを判定する。
【００７３】
例えば、符号量一時蓄積回路３２では、剰余符号量とすることの可能な符号量の上限（以下、上限符号量と称する）が予め定められている。符号量調整回路３１は、ステップＳ２０で開始した、高域符号列の符号量と補正高域符号量の差分の符号量一時蓄積回路３２への蓄積時に、剰余符号量が上限符号量に達した場合、ステップＳ２１において剰余符号量が上限に達したと判定する。
【００７４】
ステップＳ２１において、剰余符号量が上限に達していないと判定された場合、高域符号列の符号量と、補正高域符号量の差分が、全て剰余符号量に加算され、剰余符号量が更新される。そして、その後、第二高域符号化回路３０は、高域の符号化により得られた高域符号列を多重化回路３４に供給し、処理はステップＳ２３に進む。
【００７５】
一方、ステップＳ２１において、剰余符号量が上限に達したと判定された場合、ステップＳ２２において、第二高域符号化回路３０は、高域符号列に対するゼロ詰めを行なう。
【００７６】
高域符号列の符号量と、補正高域符号量との差分を剰余符号量に加算していくときに、剰余符号量が上限符号量に達した場合、高域符号列の符号量と、補正高域符号量との差分のうち、まだ剰余符号量への加算が行なわれていない未処理の符号量が余ることになる。この未処理の符号量は、剰余符号量に加算することはできないので、第二高域符号化回路３０は、この未処理の符号量の分だけ、高域符号列の最後尾に符号「０」を付加し、未処理の符号量を見かけ上、高域符号列の生成に用いたこととする。なお、復号時においては、高域符号列の最後尾に付加された符号「０」は、入力信号の復号には用いられない。
【００７７】
第二高域符号化回路３０は、高域符号列の最後尾に符号「０」を付加するゼロ詰めを行なうと、ゼロ詰め後の高域符号列を多重化回路３４に供給し、処理はステップＳ２３に進む。
【００７８】
ステップＳ１９において補正高域符号量未満でないと判定されたか、ステップＳ２１において剰余符号量が上限に達していないと判定されたか、またはステップＳ２２においてゼロ詰めが行なわれると、ステップＳ２３の処理が行われる。
【００７９】
すなわち、ステップＳ２３において、多重化回路３４は、遅延回路３３からの低域符号列と、第二高域符号化回路３０からの高域符号列とを多重化して出力符号列を生成し、出力符号列を出力する。このとき、多重化回路３４は、低域符号列や高域符号列とともに、入力信号の低域側の上端と下端のサブバンドを示すインデックスも多重化する。このようにして出力符号列が出力されると、符号化処理は終了する。
【００８０】
以上のように、符号化装置１１は、高域符号量を求め、この高域符号量から定まる符号量で低域信号を符号化するとともに、低域符号列を復号して得られた復号低域信号や高域符号量に基づいて、高域成分の符号化を行なう。
【００８１】
このように、高域の仮の符号化を行なって高域符号量を定めておき、高域符号列が高域符号量により定まる符号量以下となるように、実際の高域の符号化を行なうことで、高域の符号化を行なう前に、高域符号列の符号量を確定させることができる。これにより、低域符号列に割り当てられる符号量を求めることができ、直ちに低域信号の符号化を行なうことができる。したがって、符号化装置１１の構成の複雑化を避け、かつ計算量の増大を避ける効率的な符号化を行なうことができる。しかも、復号後の低域の信号を用いて高域の符号化を行なうことにより、より適切な推定係数を選択することができ、音声の音質を向上させることができる。
【００８２】
［復号装置の構成例］
次に、符号化装置１１から出力される出力符号列を入力符号列として入力し、入力符号列の復号を行なう復号装置について説明する。復号装置は、例えば図５に示すように構成される。
【００８３】
復号装置６１は、非多重化回路７１、低域復号回路７２、サブバンド分割回路７３、特徴量算出回路７４、高域復号回路７５、復号高域サブバンドパワー算出回路７６、復号高域信号生成回路７７、および合成回路７８から構成される。
【００８４】
非多重化回路７１は、入力符号列を高域符号列と低域符号列に非多重化し、低域符号列を低域復号回路７２に供給し、高域符号列を高域復号回路７５に供給する。
【００８５】
低域復号回路７２は、非多重化回路７１からの低域符号列の復号を行い、その結果得られた復号低域信号を、サブバンド分割回路７３、および合成回路７８に供給する。
【００８６】
サブバンド分割回路７３は、低域復号回路７２からの復号低域信号を、所定の帯域幅を持つ複数のサブバンド信号に等分割し、得られたサブバンド信号（復号低域サブバンド信号）を、特徴量算出回路７４および復号高域信号生成回路７７に供給する。
【００８７】
特徴量算出回路７４は、サブバンド分割回路７３からの復号低域サブバンド信号を用いて特徴量を算出し、復号高域サブバンドパワー算出回路７６に供給する。
【００８８】
高域復号回路７５は、係数インデックスと推定係数とを対応付けて記録しており、非多重化回路７１からの高域符号列の復号を行い、その結果得られた係数インデックスにより特定される推定係数を復号高域サブバンドパワー算出回路７６に供給する。
【００８９】
復号高域サブバンドパワー算出回路７６は、特徴量算出回路７４からの特徴量と、高域復号回路７５からの推定係数とに基づいて、入力信号の高域側の各サブバンドの高域サブバンドパワーの推定値である復号高域サブバンドパワーを算出し、復号高域信号生成回路７７に供給する。
【００９０】
復号高域信号生成回路７７は、サブバンド分割回路７３からの復号低域サブバンド信号と、復号高域サブバンドパワー算出回路７６からの復号高域サブバンドパワーとに基づいて、復号高域信号を生成し、合成回路７８に供給する。合成回路７８は、低域復号回路７２からの復号低域信号と、復号高域信号生成回路７７からの復号高域信号とを合成し、出力信号として出力する。
【００９１】
［復号処理の説明］
次に、復号装置６１の動作について説明する。復号装置６１は、符号化装置１１から出力符号列が供給されてくると、その出力符号列を入力符号列として復号処理を行い、出力信号を出力する。以下、図６のフローチャートを参照して、復号装置６１による復号処理について説明する。
【００９２】
ステップＳ５１において、非多重化回路７１は、入力符号列を高域符号列と低域符号列に非多重化し、低域符号列を低域復号回路７２に供給するとともに、高域符号列を高域復号回路７５に供給する。このとき、非多重化回路７１は、必要に応じて非多重化により得られた、入力信号の低域側の上端と下端のサブバンドを示すインデックスを、低域復号回路７２を介してサブバンド分割回路７３に供給する。これにより、サブバンド分割回路７３では、低域の各サブバンドをどのような周波数帯域とすればよいかを特定できる。
【００９３】
ステップＳ５２において、低域復号回路７２は、非多重化回路７１からの低域符号列の復号を行い、その結果得られた復号低域信号を、サブバンド分割回路７３、および合成回路７８に供給する。
【００９４】
ステップＳ５３において、サブバンド分割回路７３は、必要に応じて非多重化回路７１からのインデックスを用いて、低域復号回路７２からの復号低域信号を複数の復号低域サブバンド信号に分割し、特徴量算出回路７４および復号高域信号生成回路７７に供給する。
【００９５】
ステップＳ５４において、特徴量算出回路７４は、サブバンド分割回路７３からの復号低域サブバンド信号を用いて特徴量を算出し、復号高域サブバンドパワー算出回路７６に供給する。例えば、特徴量として、各サブバンドの復号低域サブバンド信号のパワーである復号低域サブバンドパワーが算出される。
【００９６】
ステップＳ５５において、高域復号回路７５は、非多重化回路７１からの高域符号列の復号を行い、その結果得られた係数インデックスにより特定される推定係数を復号高域サブバンドパワー算出回路７６に出力する。
【００９７】
ステップＳ５６において、復号高域サブバンドパワー算出回路７６は、特徴量算出回路７４からの特徴量と、高域復号回路７５からの推定係数とに基づいて、高域の各サブバンドの復号高域サブバンドパワーを算出し、復号高域信号生成回路７７に供給する。
【００９８】
例えば、サブバンドごとの推定係数が用いられて、特徴量としての各サブバンドの復号低域サブバンドパワーが線形結合されて、所定のサブバンドの復号高域サブバンドパワーとされる。
【００９９】
ステップＳ５７において、復号高域信号生成回路７７は、サブバンド分割回路７３からの復号低域サブバンド信号と、復号高域サブバンドパワー算出回路７６からの復号高域サブバンドパワーとに基づいて、復号高域信号を生成し、合成回路７８に供給する。
【０１００】
ステップＳ５８において、合成回路７８は、低域復号回路７２からの復号低域信号と、復号高域信号生成回路７７からの復号高域信号とを合成し、出力信号として出力する。この出力信号は、推定係数を用いて予測された高域成分と、復号により得られた低域成分とからなる音声信号である。
【０１０１】
出力信号が生成されて出力されると、復号処理は終了する。このようにして復号装置６１は入力符号列を非多重化し、高域符号列から得られる推定係数を用いて高域成分を推定し、出力信号を生成する。このように推定係数を用いて高域成分を推定することで、より効率よく復号を行なうことができ、復号で得られる音声の音質も向上させることができる。
【０１０２】
〈変形例〉
［符号化装置の構成例］
なお、以上においては、符号化装置１１で、高域符号量や高域サブバンド信号等の各種の信号や情報が、必要に応じて遅延される場合について説明したが、特に遅延させる必要がない場合には、符号化装置に遅延回路が設けられないようにしてもよい。
【０１０３】
そのような場合、符号化装置は例えば図７に示すように構成される。なお、図７において、図１における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【０１０４】
図７の符号化装置１１１は、高域通過フィルタ１２１、第一高域符号化回路２２、低域通過フィルタ２３、低域符号化回路２４、低域復号回路２５、第二高域符号化回路３０、および多重化回路３４から構成される。
【０１０５】
高域通過フィルタ１２１は、供給された入力信号に対してフィルタ処理を行って、入力信号から高域成分である高域信号を抽出し、第一高域符号化回路２２および第二高域符号化回路３０に供給する。低域通過フィルタ２３は、供給された入力信号に対してフィルタ処理を行って、入力信号から低域成分である低域信号を抽出し、第一高域符号化回路２２および低域符号化回路２４に供給する。
【０１０６】
第一高域符号化回路２２は、高域通過フィルタ１２１からの高域信号と、低域通過フィルタ２３からの低域信号とに基づいて、入力信号の高域の符号化を行い、これにより得られた高域符号量を低域符号化回路２４および第二高域符号化回路３０に供給する。
【０１０７】
低域符号化回路２４は、処理フレーム全体で使用可能な符号量から、第一高域符号化回路２２からの高域符号量を減じた符号量で、低域通過フィルタ２３からの低域信号を符号化し、これにより得られた低域符号列を低域復号回路２５および多重化回路３４に供給する。低域復号回路２５は、低域符号化回路２４からの低域符号列を復号し、その結果得られた復号低域信号を第二高域符号化回路３０に供給する。
【０１０８】
第二高域符号化回路３０は、高域通過フィルタ１２１からの高域信号と、低域復号回路２５からの復号低域信号とに基づき、第一高域符号化回路２２からの高域符号量により定まる符号量以下になるように、入力信号の高域成分の符号化を行なう。第二高域符号化回路３０は、高域の符号化により得られた高域符号列を多重化回路３４に供給する。多重化回路３４は、低域符号化回路２４からの低域符号列と、第二高域符号化回路３０からの高域符号列とを多重化し、得られた出力符号列を出力する。
【０１０９】
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１１０】
図８は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１１１】
コンピュータにおいて、CPU（Central Processing Unit）５０１，ROM（Read Only Memory）５０２，RAM（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０１１２】
バス５０４には、さらに、入出力インターフェース５０５が接続されている。入出力インターフェース５０５には、キーボード、マウス、マイクロホンなどよりなる入力部５０６、ディスプレイ、スピーカなどよりなる出力部５０７、ハードディスクや不揮発性のメモリなどよりなる記録部５０８、ネットワークインターフェースなどよりなる通信部５０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５１１を駆動するドライブ５１０が接続されている。
【０１１３】
以上のように構成されるコンピュータでは、CPU５０１が、例えば、記録部５０８に記録されているプログラムを、入出力インターフェース５０５及びバス５０４を介して、RAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０１１４】
コンピュータ（CPU５０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア５１１に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１１５】
そして、プログラムは、リムーバブルメディア５１１をドライブ５１０に装着することにより、入出力インターフェース５０５を介して、記録部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記録部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０１１６】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１１７】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１１８】
１１  符号化装置，  ２２  第一高域符号化回路，  ２４  低域符号化回路，  ２５  低域復号回路，  ３０  第二高域符号化回路，  ３１  符号量調整回路，  ３２  符号量一時蓄積回路，  ３４  多重化回路
【図１】
0005704397.tif 000002
【図２】
0005704397.tif 000003
【図３】
0005704397.tif 000004
【図４】
0005704397.tif 000005
【図５】
0005704397.tif 000006
【図６】
0005704397.tif 000007
【図７】
0005704397.tif 000008
【図８】
0005704397.tif 000009