(57)【特許請求の範囲】
【請求項１】
オーディオ信号を周波数スペクトルに変換し、当該周波数スペクトルを量子化して符号化する符号化装置において、
前記周波数スペクトルからトーン性のある周波数スペクトルを検出された場合、前記オーディオ信号の周波数を所定の幅で分割した帯域のうち、トーン性のある周波数スペクトルにおいてトーン性のある前記帯域に近傍する帯域について前記オーディオ信号に応じて前記帯域ごとに算出される許容誤差電力が、当該近傍する帯域についての前記周波数スペクトルの電力より小さくなるように補正する電力補正部と、
前記電力補正部によって補正された許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、を有することを特徴とする符号化装置。
【請求項２】
オーディオ信号を符号化する符号化装置において、
前記オーディオ信号を周波数スペクトルに変換する周波数変換部と、
前記オーディオ信号に応じて、前記オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて許容誤差電力を算出する電力算出部と、
前記周波数変換部によって変換された前記周波数スペクトルから、トーン性のある周波数スペクトルを検出するとともに、トーン性のある周波数スペクトルにおいてトーン性のある前記帯域を検出する検出部と、
前記検出部での検出結果と前記電力算出部によって算出された前記許容誤差電力とを用いて、前記検出部によって検出された前記帯域に近傍する帯域について前記電力算出部によって算出された前記許容誤差電力が、当該近傍する帯域についての前記周波数スペクトルの電力より小さくなるように補正する電力補正部と、
前記電力補正部によって補正された前記許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、
を有することを特徴とする符号化装置。
【請求項３】
前記量子化部は、前記周波数スペクトルのダイナミックレンジを、スケール値によって一意に特定されるダイナミックレンジに縮小し、縮小したダイナミックレンジにおける当該周波数スペクトル各々を量子化するものであって、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について前記電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第１のスケール値算出部と、
前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域に近傍する帯域について、当該近傍する帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該近傍する帯域について前記電力補正部によって当該近傍する帯域について算出された前記許容誤差電力未満となるようなスケール値を、当該近傍する帯域についての当該スケール値として算出する第２のスケール値算出部と、
をさらに備え、
前記量子化部は、前記第２のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第２のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第２のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第１のスケール値算出部によって算出されたスケール値を用いて量子化することを特徴とする請求項２に記載の符号化装置。
【請求項４】
前記周波数スペクトルを前記量子化部が量子化して得られる値には、当該値として得ることが可能である最大の値が設定されているものであって、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について前記電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第１のスケール値算出部と、
前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる値が前記最大の値となるような前記スケール値を、当該帯域についての当該スケール値として算出する第３のスケール値算出部と、
をさらに備え、
前記量子化部は、前記第３のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第３のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第３のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第１のスケール値算出部によって算出されたスケール値を用いて量子化することを特徴とする請求項２又は３に記載の符号化装置。
【請求項５】
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について前記電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第１のスケール値算出部と、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する前記量子化誤差電力を、当該帯域について前記第１のスケール値算出部によって算出された前記スケール値を用いて算出し、かつ、当該第１のスケール値算出部によって算出された前記スケール値を所定の値に変更したスケール値である変更スケール値を用いて算出する誤差算出部と、
をさらに備え、
前記量子化部は、前記誤差算出部によって算出された前記量子化誤差電力の内、最も小さい当該量子化誤差電力が算出された際に用いられた前記スケール値または変更スケール値を用いて、前記帯域に含まれる当該周波数スペクトルを量子化することを特徴とする請求項２又は３に記載の符号化装置。
【請求項６】
前記量子化部は、前記第３のスケール値算出部によって算出されたスケール値を用いて、すべての前記帯域に含まれる前記周波数スペクトル各々を量子化することを特徴とする請求項４に記載の符号化装置。
【請求項７】
所定の帯域数を記憶する帯域数記憶部をさらに備え、
前記電力補正部は、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を中心として、前記帯域数記憶部によって記憶された前記所定の帯域数の範囲に位置する帯域各々を、前記近傍の帯域として前記許容誤差電力を補正す
ることを特徴とする請求項２〜６のいずれか一つに記載の符号化装置。
【請求項８】
オーディオ信号を周波数スペクトルに変換し、符号化する符号化方法において、
前記周波数スペクトルからトーン性のある周波数スペクトルを検出し、前記オーディオ信号の周波数を所定の幅で分割した帯域のうち、トーン性のある周波数スペクトルにおいてトーン性のある前記帯域に近傍する帯域について前記オーディオ信号に応じて前記帯域ごとに算出される許容誤差電力が、当該近傍する帯域についての前記周波数スペクトルの電力より小さくなるように補正するステップと、
補正された許容誤差電力を用いて、前記周波数スペクトルを量子化するステップと、
を含むことを特徴とする符号化方法。
【請求項９】
オーディオ信号を周波数スペクトルに変換し、符号化する処理をコンピュータに実行させる符号化プログラムであって、
前記周波数スペクトルからトーン性のある周波数スペクトルを検出し、前記オーディオ信号の周波数を所定の幅で分割した帯域のうち、トーン性のある周波数スペクトルにおいてトーン性のある前記帯域に近傍する帯域について前記オーディオ信号に応じて前記帯域ごとに算出される許容誤差電力が、当該近傍する帯域についての前記周波数スペクトルの電力より小さくなるように補正する手順と、
補正された許容誤差電力を用いて、前記周波数スペクトルを量子化する手順と、
をコンピュータに実行させることを特徴とする符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、符号化装置、符号化方法および符号化プログラムに関する。
【背景技術】
【０００２】
従来より、オーディオ信号（音声・音楽などの音源）を圧縮・伸張するオーディオ符号化技術に関して、様々な研究が行われている。例えば、オーディオ信号を周波数領域に変換して符号化する手法について、様々な研究が行われている。
【０００３】
例えば、このようなオーディオ符号化技術としては、ＡＡＣ（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）方式や、ＨＥ−ＡＡＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ−Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）方式などがある。ＡＡＣ方式やＨＥ−ＡＡＣ方式は、ＩＳＯ／ＩＥＣのＭＰＥＧ−２／４  Ａｕｄｉｏ規格の一つであり、日本のデジタル放送（地上波、ＢＳ、ＣＳ、ワンセグ）などに広く用いられている。
【０００４】
このようなオーディオ符号化技術では、オーディオ符号化技術を実行する従来の符号化装置が、ＭＤＣＴ（Ｍｏｄｉｆｉｅｄ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）変換により周波数スペクトルにオーディオ信号を変換し、この周波数スペクトルを量子化し、その後、符号化する。
【０００５】
上記したオーディオ符号化技術では、従来の符号化装置が、聴覚のマスキング特性を利用して、周波数スペクトルを量子化する。具体的には、従来の符号化装置は、ある音にマスクされて、聴覚的に聞こえない音の成分を決定する閾値（聞こえるか、聞こえないかの閾値）であるマスキング閾値を用いて、人の聴覚に聞こえる音だけを量子化する。
【０００６】
例えば、従来の符号化装置は、オーディオ信号（符号化する音源）について、心理聴覚分析（聴覚によって、聞こえるか、聞こえないかを分析する手法）を行い、マスキング閾値を周波数ごとに求める。その後、従来の符号化装置は、求めたマスキング閾値から、量子化する際に許容できる誤差の限界（許容誤差電力）を、帯域（所定の周波数の幅）ごとに決定する。そして、従来の符号化装置は、許容誤差電力を用いて、聴覚的に聞こえる音源（周波数のスペクトル）のみを量子化する。
【０００７】
なお、特許文献１（特開２００６−１８０２３号公報）には、マスキング閾値を調節する手法が開示されており、特許文献２（２００１−７７０４号公報）には、符号化する際の効率（符号化する際に使用するビットの使用量を少なくする）手法が開示されており、特許文献３（特開平７−２０２８２３号公報）や特許文献４（特開平７−２９５５９４号公報）には、ビットの配分量を指定する手法が開示されている。
【０００８】
【特許文献１】特開２００６−１８０２３号公報（第５−１１頁、第１図）
【特許文献２】特開２００１−７７０４号公報（第５−９頁、第１図）
【特許文献３】特開平７−２０２８２３号公報（第３−５頁、第１図）
【特許文献４】特開平７−２９５５９４号公報（第２−３頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、上記した従来の技術は、トーン性のある（高い）オーディオ信号を符号化する際に、音質が劣化していたという課題があった。
【００１０】
具体的には、トーン性のあるオーディオ信号（例えば、正弦波やスイープ波など）を符号化する場合、図２３の（１）に示すように、特定の帯域に強度（電力［ｄＢ］、パワー）が集中し、他の帯域と比較して相対的に大きなピークを示す（強度が強い周波数スペクトルとなる）。なお、ここで、図２３は、従来技術を説明するための図であり、図２３の（１）は、トーン性のあるオーディオ信号をＭＤＣＴ変換して得られる周波数スペクトルの一例を示したものである。
【００１１】
また、従来の符号化装置では、図２３の（２）に示すように、ピークが含まれる帯域について算出される許容誤差電力だけでなく、ピークが含まれる帯域の近傍の帯域について算出される許容誤差電力も大きくなっていた。具体的には、ピークが含まれる帯域の周波数スペクトルは、他の周波数スペクトルと比較して電力が大きいため、従来の符号化装置では、ピークが含まれる帯域だけでなく、近傍の帯域について算出されるマスキング閾値も大きくなり、その結果、許容誤差電力も大きくなっていた。この結果、図２３の（３）に示すように、ピーク近傍の帯域に存在する周波数スペクトルが許容誤差電力以下の周波数スペクトルとなり、従来の符号化装置は、これらの周波数スペクトルを、量子化対象外として量子化しなかった。
【００１２】
ここで、ＭＤＣＴ変換して得られる周波数スペクトルであるＭＤＣＴ係数各々は、オーディオ信号の振幅と位相の情報を含んでいる。例えば、ピーク近傍の周波数スペクトルを量子化対象外として量子化しない場合、量子化対象外とした周波数スペクトルに含まれる情報が消失し、ピークに関する音源の位相や振幅に影響し、ふるえ感などの音質劣化が生じる。特にトーン性のあるオーディオ信号では、特定の周波数（ピークのある帯域）付近の音源が主な音源であるため、ピーク近傍の周波数スペクトルに含まれる情報が消失したことによる影響が、トーン性の低いオーディオ信号と比較して、符号化した音源の音質に強く生じていた。
【００１３】
このように、従来の符号化装置では、トーン性のあるオーディオ信号を符号化する際に、ピーク近傍の周波数スペクトルを確実に量子化することができず、十分な音質を維持したまま符号化することができなかった。
【００１４】
なお、上記した特許文献１〜４には、ピーク近傍の周波数スペクトルを確実に量子化する手法は開示されておらず、トーン性のあるオーディオ信号を符号化する際の音質を十分に改善することができなかった。
【００１５】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、トーン性のあるオーディオ信号の符号化音質を改善することが可能である符号化装置、符号化方法および符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決し、目的を達成するため、この符号化装置は、オーディオ信号を周波数スペクトルに変換し、当該周波数スペクトルを量子化して符号化する符号化装置において、前記周波数スペクトルからトーン性のある周波数スペクトルを検出された場合、前記オーディオ信号に応じて算出された許容誤差電力を補正する電力補正部と、前記電力補正部によって補正された許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、を有することを要件とする。
【００１７】
また、この符号化装置は、オーディオ信号を符号化する符号化装置において、前記オーディオ信号を周波数スペクトルに変換する周波数変換部と、前記オーディオ信号に応じて、許容誤差電力を算出する電力算出部と、前記周波数変換部によって変換された前記周波数スペクトルから、トーン性のある周波数スペクトルを検出する検出部と、前記検出部での検出結果と前記電力算出部によって算出された前記許容誤差電力とを用いて、前記許容誤差電力を補正する電力補正部と、前記電力補正部によって補正された前記許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、を有することを要件とする。
【００１８】
また、この符号化装置は、さらに、前記電力算出部は、前記オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて、前記許容誤差電力を算出し、前記検出部は、前記トーン性のある周波数スペクトルを検出するとともに当該周波数スペクトルが含まれる前記帯域を検出し、前記電力補正部は、前記検出部によって検出された前記帯域に近傍する帯域について前記電力算出部によって算出された前記許容誤差電力が、当該近傍する帯域についての前記周波数スペクトルの電力より小さくなるように補正することを要件とする。
【００１９】
また、この符号化装置は、さらに、前記量子化部は、前記周波数スペクトルのダイナミックレンジを、スケール値によって一意に特定されるダイナミックレンジに縮小し、縮小したダイナミックレンジにおける当該周波数スペクトル各々を量子化するものであって、前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第１のスケール値算出部と、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域に近傍する帯域について、当該近傍する帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該近傍する帯域について前記電力補正部によって当該近傍する帯域について算出された前記許容誤差電力未満となるようなスケール値を、当該近傍する帯域についての当該スケール値として算出する第２のスケール値算出部と、をさらに備え、前記量子化部は、前記第２のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第２のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第２のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第１のスケール値算出部によって算出されたスケール値を用いて量子化することを要件とする。
【００２０】
また、この符号化装置は、さらに、前記周波数スペクトルを前記量子化部が量子化して得られる値には、当該値として得ることが可能である最大の値が設定されているものであって、前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第１のスケール値算出部と、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる値が前記最大の値となるような前記スケール値を、当該帯域についての当該スケール値として算出する第３のスケール値算出部と、をさらに備え、前記量子化部は、前記第３のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第３のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第３のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第１のスケール値算出部によって算出されたスケール値を用いて量子化することを要件とする。
【００２１】
また、この符号化装置は、さらに、前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第１のスケール値算出部と、前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する前記量子化誤差電力を、当該帯域について前記第１のスケール値算出部によって算出された前記スケール値を用いて算出し、かつ、当該第１のスケール値算出部によって算出された前記スケール値を所定の値に変更したスケール値である変更スケール値を用いて算出する誤差算出部と、をさらに備え、前記量子化部は、前記誤差算出部によって算出された前記量子化誤差電力の内、最も小さい当該量子化誤差電力が算出された際に用いられた前記スケール値または変更スケール値を用いて、前記帯域に含まれる当該周波数スペクトルを量子化することを要件とする。
【００２２】
また、この符号化装置は、さらに、前記量子化部は、前記第３のスケール値算出部によって算出されたスケール値を用いて、すべての前記帯域に含まれる前記周波数スペクトル各々を量子化することを要件とする。
【００２３】
また、この符号化装置は、さらに、所定の帯域数を記憶する帯域数記憶部をさらに備え、前記電力補正部は、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を中心として、前記帯域数記憶部によって記憶された前記所定の帯域数の範囲に位置する帯域各々を、前記近傍の帯域として前記許容誤差電力を補正することを要件とする。
【発明の効果】
【００２４】
開示の符号化装置によれば、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【００２５】
また、開示の符号化装置によれば、量子化誤差を最低限に抑えることが可能である。
【００２６】
また、開示の符号化装置によれば、使用するビット数を、抑えることが可能である。
【発明を実施するための最良の形態】
【００２７】
以下に添付図面を参照して、この発明に係る符号化装置、符号化方法および符号化プログラムの実施例を詳細に説明する。なお、以下では、実施例１に係る符号化装置を説明する上での前提技術、実施例１に係る符号化装置の概要および特徴、実施例１に係る符号化装置の構成および処理の流れを順に説明し、その後、その他の実施例について説明する。
【実施例１】
【００２８】
［前提技術］
まず最初に、図１〜図４を用いて、実施例１に係る符号化装置を説明する上での前提技術を説明する、なお、図１〜図４は、実施例１に係る符号化装置の前提技術を説明するための図である。
【００２９】
「周波数スペクトル」とは、オーディオ信号（音源）を周波数領域に変換（例えば、ＭＤＣＴ変換）した場合に得られる周波数ごとの係数（例えば、ＭＤＣＴ係数）である。「周波数スペクトル電力」とは、周波数スペクトルを二乗した値である。また、「トーン性のある周波数スペクトル」とは、周波数スペクトルの内、ある周波数に周波数スペクトル電力のピークが集中した場合の当該周波数の係数のことである。例えば、全ての周波数スペクトル電力の平均より大きい電力を持つ周波数スペクトルが該当する。なお、「トーン性のある周波数スペクトル」の変換元のオーディオ信号を、「トーン性のある音源」という。
【００３０】
また、「量子化」とは、有効数字のうち、小数点以下の数値を切り捨てる処理である（例えば、「１．８」や「２．１」を「１」や「２」などの整数にする）。「量子化値」とは、周波数スペクトルを量子化することによって得られる値を示す。
【００３１】
「量子化誤差」とは、周波数スペクトルを量子化することによって周波数スペクトル各々について発生する誤差であって、具体的には、図１に示すように、量子化前の周波数スペクトルと、逆量子化後のスペクトル（これを、「逆量子化スペクトル」とする）との差分がこれに該当する。
【００３２】
ここで、「逆量子化スペクトル」とは、量子化値から得られる周波数スペクトルである。周波数スペクトルと量子化値と逆量子化スペクトルの関係を説明する。符号化装置は、以下に示す一連の処理によって、周波数スペクトルを量子化して、量子化値を得て、そして、量子化値から逆量子化スペクトルを得る。まず、符号化装置は、図１の（１）に示すように、周波数スペクトルのダイナミックレンジが大きいため、所定の「スケール値」を用いてスケーリングし、レンジを小さくする。その後、符号化装置は、図１の（２）に示すように、量子化を行い、量子化値を得る。そして、符号化装置は、図１の（３）に示すように、得られた量子化値を所定のスケール値を用いてリスケーリング（図１の（１）で行ったスケーリングの逆の処理）し、逆量子化スペクトルを得る。
【００３３】
なお、ここで、逆量子化スペクトルは、図２の（１）に示す式によって示され、量子化値は、図２の（２）に示す式によって示される。なお、これらの式は、周波数スペクトルと量子化値とスケール値との関係を示す式である（式１）を変形したものである。なお、「２＾（スケール値）」とは、「２の（スケール値）乗を示す。」
（式１）  周波数スペクトル  ＝  量子化値×２＾（スケール値）
【００３４】
「スケール値」とは、帯域ごとに一つずつ与えられるものであり、例えば、図１に示す例では、図１の（４）に示す周波数スペクトルと、図１の（５）に示す周波数スペクトルとを含む帯域「ｂ」に対して、一つのスケール値が与えられる。なお、スケール値としては、符号化装置によって、量子化誤差電力が許容誤差電力未満になるような値が用いられる。なお、帯域とは、周波数を所定の幅で分割した領域それぞれを示す。
【００３５】
周波数スペクトルの「帯域電力」とは、帯域に含まれる周波数スペクトル電力各々の和を示す。
【００３６】
周波数スペクトルの「量子化誤差電力」とは、量子化誤差の二乗の値を示す。また、ある帯域についての量子化誤差電力とは、当該帯域に含まれる周波数スペクトル各々を量子化する際に発生する量子化誤差から算出される量子化誤差電力各々の和を示す。具体的には、ある帯域の量子化誤差電力と量子化誤差との関係は、（式２）によって示される。なお、「＾２」とは、「２乗」を示す。
（式２）ある帯域の量子化誤差電力  ＝Σ｛（当該帯域に含まれる周波数スペクトル各々の量子化誤差）＾２｝
【００３７】
また、「許容誤差電力」とは、量子化する際に許容できる最大の量子化誤差電力であり、オーディオ信号について算出される聴覚的に聞こえるか否かを示す閾値であるマスキング閾値が変換されて、オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて算出される。なお、マスキング閾値から許容誤差電力を算出する手法については、例えば、ＩＳＯ／ＩＥＣ  １３８１８−７に記載された手法を用いてもよく、それ以外の手法を用いてもよい。
【００３８】
具体的には、許容誤差電力は、「許容できる量子化誤差電力の限界」である。例えば、ある帯域の許容誤差電力とは、ある帯域について算出される量子化誤差電力であって、当該帯域の周波数スペクトルを量子化する際に発生する誤差として許容できる最大の値を示す。言い換えると、開示の符号化装置は、ある帯域における量子化前の周波数スペクトルの電力と、逆量子化スペクトルの電力との差が、許容誤差電力未満となるように、周波数スペクトルを量子化する。
【００３９】
また、許容誤差電力は、マスキング閾値から変換されて帯域ごとに算出され、帯域ごとの周波数スペクトルの電力と比較して、どの帯域の周波数スペクトルを量子化するかを決定する際にも用いられる。なお、量子化する周波数スペクトルを決定する際に、許容誤差電力と比較するのは、比較対象となる帯域電力である。
【００４０】
また、「符号化」とは、量子化値やスケール値を、例えばハフマン符号化を用いて別の値（符号）に変換する処理である。
【００４１】
スケール値と、量子化誤差電力との関係について、簡単に説明する。上記したように、スケール値は、帯域に１つずつ割り当てられ、１つの帯域に含まれる周波数スペクトル各々は、割り当てられたスケール値を用いて量子化される。
【００４２】
帯域内の、ある１つの周波数スペクトルに着目すると、量子化値とスケール値との関係は図３の（１）に示すようになり、以下の（式３）と（式４）とに示す関係が成立する。
（式３）  スケール値大  ⇔  量子化値小
（式４）  スケール値小  ⇔  量子化値大
【００４３】
ここで、帯域に含まれる周波数スペクトルに着目すると、図３の（２）に示すように、スケール値を大きく設定すると、帯域内の電力の小さい周波数スペクトルから、量子化値が「０」となり、量子化誤差が増えることとなる。
【００４４】
すなわち、スケール値と、量子化誤差電力とでは、図３の（３）に示すように、以下の（式５）と（式６）との関係が成立することになる。
（式５）  スケール値大  ⇔  量子化値小  →  量子化誤差  増
（式６）  スケール値小  ⇔  量子化値大  →  量子化誤差  減
なお、帯域に含まれるすべての周波数スペクトルを量子化値「０」で量子化する（つまり、量子化しない）場合には、量子化誤差電力が最大の値となり、以下の（式７）の関係が成立することになる。
（式７）  量子化誤差電力＝帯域電力
【００４５】
また、ここで、スケール値と、量子化誤差電力と、許容誤差電力との関係について簡単に説明する。まず、符号化装置は、帯域電力が、許容誤差電力よりも大きい場合に、量子化する対象の帯域とする。また、符号化装置は、図４に示すように、量子化誤差電力が許容誤差電力未満になるようなスケール値を用いて、周波数スペクトルを量子化する。このため、符号化装置は、図４に示すように、「許容誤差電力＞量子化誤差電力」を満たすスケール値を用いて、量子化を行う。
【００４６】
ここで、量子化電力と許容誤差電力と帯域電力との関係について、再度整理する。すなわち、
（１）量子化誤差電力の最大値は、帯域電力である。（式７）
（２）（式７）の関係は、すべての周波数スペクトルを量子化値「０」で量子化するとき（つまり、量子化しないとき）である。
（３）許容誤差電力＞量子化誤差電力（これを（式Ａ）とする）の場合を満たすスケール値を用いて量子化値を行う。
となる。いま、（式７）の関係が成り立っているとき、（量子化誤差電力＝帯域電力）（式Ａ）は、以下の（式Ｂ）によって示される。
（式Ｂ）  許容誤差電力＞（量子化誤差電力＝帯域電力）
帯域電力と量子化誤差電力とが等しいときは、上記したように、周波数スペクトルの量化値が「０」（つまり、量子化しない）の場合となる。言い換えると、許容誤差電力は、帯域の周波数スペクトルすべてを量子化するかしないかを決定する閾値となる。
【００４７】
［符号化装置の概要および特徴］
次に、図５を用いて、実施例１に係る符号化装置の概要および特徴を説明する。図５は、実施例１に係る符号化装置の概要および特徴を説明するための図である。
【００４８】
同図に示すように、実施例１に係る符号化装置は、オーディオ信号を符号化する符号化装置である。例えば、図５に示すように、符号化される音源（オーディオ信号）が入力されると、当該オーディオ信号を符号化するものである。この実施例１に係る符号化装置は、以下で説明するように、トーン性のあるオーディオ信号の符号化音質を改善することが可能である点に主たる特徴がある。
【００４９】
すなわち、符号化される音源が入力されると、実施例１に係る符号化装置は、周波数変換部が、オーディオ信号を、図５の（１）に示すような周波数スペクトルに変換する。また、周波数変換部は、図５の（２）に示すように、周波数を所定の幅で分割した領域それぞれを示す帯域ごとに、周波数スペクトルの電力を算出する。例えば、周波数変換部は、帯域に含まれる周波数スペクトル各々の電力の合計（帯域電力）を算出する。なお、図５の（２）に示す例では、塗りつぶしされていない棒それぞれが、帯域各々における周波数スペクトルを示している。
【００５０】
また、実施例１に係る符号化装置は、図５の（３）に示すように、電力算出部が、オーディオ信号に応じて、許容誤差電力を帯域ごとに算出する（上記した［前提技術］参照）。なお、図５の（３）に示す例では、灰色で塗りつぶした棒それぞれが、帯域各々（帯域単位での）における許容誤差電力を示している。
【００５１】
そして、実施例１に係る符号化装置は、図５の（４）に示すように、検出部が、周波数変換部によって変換された周波数スペクトルから、トーン性のある周波数スペクトルを検出するとともに、当該周波数スペクトルが含まれる帯域を検出する。例えば、検出部は、図５の（４）に示す例では、図５の（４）における帯域「５」を、トーン性のある周波数スペクトルが含まれる帯域として検出する。
【００５２】
そして、実施例１に係る符号化装置は、図５の（５）と（６）に示すように、電力補正部が、検出部での検出結果と電力算出部によって算出された許容誤差電力とを用いて、許容誤差電力を補正する。具体的には、電力補正部は、検出部によって検出された帯域に近傍する帯域について電力算出部によって算出された許容誤差電力が、当該近傍する帯域についての周波数スペクトルの電力より小さくなるように補正する。
【００５３】
例えば、実施例１に係る符号化装置は、図５の（５）に示す例では、検出部によって検出された帯域「５」に隣接する二つの帯域（近傍する帯域）「４」と「６」とについて、図５の（６）に示すように、当該隣接する二つの帯域「４」と「６」とにおける周波数スペクトルの電力（図５に示す例では、塗りつぶしされていない棒）よりも、当該隣接する二つの帯域「４」と「６」とにおける許容誤差電力（図５に示す例では、灰色で塗りつぶした棒）が小さくなるように、許容誤差電力を補正する。
【００５４】
そして、実施例１に係る符号化装置は、図５の（７）に示すように、量子化部が、電力補正部によって補正された許容誤差電力より大きな電力の周波数スペクトル各々を量子化する。例えば、量子化部は、図５の（７）に示す例では、トーン性のある周波数スペクトルが含まれる帯域「５」に含まれる周波数スペクトル各々と、電力補正部によって許容誤差電力が補正された帯域「４」と「６」とに含まれる周波数スペクトル各々とを、量子化する。
【００５５】
このようなことから、実施例１に係る符号化装置は、上記した主たる特徴の如く、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【００５６】
具体的には、ピーク電力近傍に存在する周波数スペクトル各々が量子化されるように、許容誤差電力を補正するので、ピーク電力近傍に存在する周波数スペクトル各々を確実に量子化することができ、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【００５７】
［符号化装置の構成］
次に、図６〜図１１を用いて、図５に示した符号化装置の構成を説明する。ここで、図６は、実施例１に係る符号化装置の構成を示すためのブロック図である。図７は、実施例１におけるトーン検出部を説明するための図である。図８は、実施例１における心理聴覚分析部を説明するための図である。図９は、実施例１における許容誤差電力補正部を説明するための図である。図１０は、実施例１における許容誤差電力補正部を説明するための図である。図１１は、実施例１におけるスケール値補正部を説明するための図である。
【００５８】
図６に示すように、開示の符号化装置は、特に本発明に密接に関連するものとして、入力部１０１と、ＭＤＣＴ部１０２と、トーン検出部１０３と、心理聴覚分析部１０４と、許容誤差電力補正部１０５と、量子化帯域検出部１０６と、スケール値算出部１０７と、スケール値補正部１０８と、量子化部１０９と、符号化部１１０と、出力部１１１とを備える。
【００５９】
なお、ＭＤＣＴ部１０２は、特許請求の範囲に記載の「周波数変換部」に対応する。心理聴覚分析部１０４は、特許請求の範囲に記載の「電力算出部」に対応する。トーン検出部１０３は、特許請求の範囲に記載の「検出部」に対応する。許容誤差電力補正部１０５は、特許請求の範囲に記載の「電力補正部」に対応する。量子化部１０９は、特許請求の範囲に記載の「量子化部」に対応する。スケール値算出部１０７は、特許請求の範囲に記載の「第１のスケール値算出部」と「第２のスケール値算出部」とに対応する。スケール値補正部１０８は、特許請求の範囲に記載の「第３のスケール値算出部」に対応する。
【００６０】
入力部１０１は、オーディオ信号（符号化される音源）の入力を受付ける。なお、入力部１０１は、受付けたオーディオ信号を、後述するＭＤＣＴ部１０２と後述する心理聴覚分析部１０４とに伝達する。
【００６１】
ＭＤＣＴ部１０２は、入力部１０１から伝達されたオーディオ信号を周波数スペクトルに変換する。具体的には、ＭＤＣＴ部１０２は、入力部１０１から伝達されたオーディオ信号に、ＭＤＣＴ変換によって時間−周波数変換を行い、周波数スペクトルに変換する。ここで、時間−周波数変換とは、例えば、時間をパラメータとして表されている（例えば、横軸が「時間」で表される）オーディオ信号を、周波数をパラメータとして表される情報である（例えば、横軸が「周波数」で表される）周波数スペクトルに変換することを示す。
【００６２】
また、ＭＤＣＴ部１０２は、変換した周波数スペクトルを、所定の周波数幅で分割した帯域ごとに、周波数スペクトルの電力を算出する。例えば、図７の（１）に示す例では、７つの帯域に分割し（帯域「０」から「６」）、帯域電力として、当該帯域に含まれる周波数スペクトル各々の電力の和を算出する。
【００６３】
また、ＭＤＣＴ部１０２は、変換した周波数スペクトルと帯域電力とを、後述するトーン検出部１０３と、後述する量子化帯域検出部１０６に伝達する。
【００６４】
トーン検出部１０３は、ＭＤＣＴ部１０２によって変換された周波数スペクトルをＭＤＣＴ部１０２から受付けると、当該周波数スペクトルについてトーン性を分析し、トーン性のある周波数スペクトルを検出し、当該周波数スペクトルが含まれる帯域を検出する。
【００６５】
また、例えば、トーン検出部１０３は、図７の（２）に示すように、算出した帯域それぞれの電力から、全帯域における電力の平均値（言い換えると、周波数スペクトル全体の電力の平均値）を算出する。具体的に例をあげて説明すると、帯域の数（帯域分割数）がｂａｎｄ個（例えば、図７の（２）に示す図では、帯域の数は７個である）であり、各帯域電力が「Ｅｂａｎｄ」である場合に、トーン検出部１０３は、全帯域の周波数スペクトルの平均電力「Ｅａｖｅ」を、図７の（３）に示す式によって算出する。
【００６６】
また、例えば、トーン検出部１０３は、図７の（４）に示すように、算出した全帯域における周波数スペクトルの平均電力を閾値として、閾値より大きい周波数スペクトルの平均電力を持つ帯域がある場合に、当該帯域をトーン性のある帯域であるとして検出する。具体的に例をあげて説明すると、トーン検出部１０３は、図７の（４）に示す例では、算出した周波数スペクトルの平均電力より大きな周波数スペクトルの平均電力を有する帯域である帯域「３」を、トーン性のある周波数スペクトルが含まれる帯域として検出する。
【００６７】
また、トーン検出部１０３は、検出したトーン性のある周波数スペクトルが含まれる帯域を、後述する許容誤差電力補正部１０５と、後述するスケール値補正部１０８とに伝達する。例えば、トーン検出部１０３は、トーン性を検出したことを示すフラグ（ｔｏｎｅ＿ｆｌａｇ）と、検出した帯域を識別する情報（ｔｏｎｅ＿ｂａｎｄ、例えば、図７の（２）に示す例では、帯域「３」）を、後述する許容誤差電力補正部１０５と、後述するスケール値補正部１０８とに伝達する。なお、トーン検出部１０３は、トーン性のある周波数スペクトルが含まれる帯域を検出しなかった場合には、トーン性を検出したことを示すフラグ（ｔｏｎｅ＿ｆｌａｇ）と、検出した帯域を識別する情報とを伝達しない。
【００６８】
また、トーン検出部１０３は、ＭＤＣＴ部１０２から受付けた周波数スペクトルと帯域電力とを、後述する許容誤差電力補正部１０５に伝達する。
【００６９】
心理聴覚分析部１０４は、入力部１０１からオーディオ信号が伝達されると、当該オーディオ信号に応じて、許容誤差電力を算出する（前提技術参照）。具体的には、入力部１０１からオーディオ信号が伝達されると、心理聴覚分析部１０４は、オーディオ信号に含まれる周波数を所定の幅の帯域に分割し、分割した帯域それぞれについて、許容誤差電力を算出する。
【００７０】
心理聴覚分析部１０４は、図８の（１）に示すように、入力部１０１から伝達されたオーディオ信号について、マスキング閾値を算出する。また、心理聴覚分析部１０４は、図８の（２）に示すように、算出したマスキング閾値を変換して、許容誤差電力を算出する。
【００７１】
なお、ここで、心理聴覚分析部１０４は、許容誤差電力を、帯域ごとに算出する。ここでいう「帯域」とは、ＭＤＣＴ部１０２によって用いられた帯域に対応するものである。言い換えると、心理聴覚分析部１０４は、ＭＤＣＴ部１０２によって帯域電力算出された帯域各々について、許容誤差電力を算出する。また、図８の（１）と（２）では、説明の便宜上、マスキング閾値と許容誤差電力とを、ＭＤＣＴ部１０２によって変換される周波数スペクトルに併せて（横軸が「周波数」である図を用いて）示している。
【００７２】
また、心理聴覚分析部１０４は、算出した許容誤差電力を、後述する許容誤差電力補正部１０５に伝達する。
【００７３】
許容誤差電力補正部１０５は、所定の帯域数を記憶する帯域数記憶部（図６には図示していない）を備え、図９に示すように、トーン検出部１０３から検出結果（「ｔｏｎｅ＿ｂａｎｄ」と「ｔｏｎｅ＿ｆｌａｇ」と）が伝達され（図９に示す例では、「検出結果」が該当する）、かつ、心理聴覚分析部１０４から許容誤差電力が伝達され、トーン検出部１０３から周波数スペクトル電力が伝達されると（図９に示す例では、「許容誤差電力」と「帯域電力」とが該当する）、当該検出結果と当該許容誤差電力とを用いて、許容誤差電力を補正する。なお、帯域数記憶部は、特許請求の範囲に記載の「帯域数記憶部」に対応する。
【００７４】
具体的には、トーン検出部１０３によって検出された帯域に近傍する帯域について心理聴覚分析部１０４によって算出された許容誤差電力が、当該近傍する帯域についての帯域電力より小さくなるように補正する。
【００７５】
例えば、許容誤差電力補正部１０５は、トーン検出部１０３によって検出されたトーン性のある周波数スペクトルが含まれる帯域を中心として、帯域数記憶部によって記憶された所定の帯域数の範囲に位置する帯域各々を、近傍の帯域として検出する。
【００７６】
例として、トーン検出部１０３によって「ｂ」番目の帯域が検出され、帯域数記憶部に記憶する所定の帯域幅が補正帯域幅「Ｂ」である場合を例に、具体的に説明する。例えば、許容誤差電力補正部１０５は、図１０の（１）に示すように、「ｂ」番目の帯域を中心として、「ｂ」帯域に隣接する「Ｂ」個の帯域を補正対象とする近傍の帯域として検出する。言い換えると、許容誤差電力補正部１０５は、「ｂ−Ｂ」番目から「ｂ＋Ｂ」番目までの帯域を、補正対象とする近傍の帯域として検出する。例えば、図１０の（１）に示す例では、「ｂ＝１６」「Ｂ＝４」であるので、許容誤差電力補正部１０５は、帯域「１２」から「２０」までの帯域を、補正対象とする近傍の帯域として検出する。
【００７７】
また、例えば、許容誤差電力補正部１０５は、図１０の（２）に示すように、検出した近傍の帯域について、許容誤差電力を補正する。具体的に例をあげて説明すると、図１０の（１）に示す例では、検出した近傍する帯域である帯域「１２」から「２０」までの（帯域「１６」を除く）補正前の許容誤差電力が、検出した近傍する帯域の帯域電力よりも大きい。このため、許容誤差電力補正部１０５は、図１０の（２）に示すように、検出した近傍する帯域である帯域「１２」から「２０」までの（帯域「１６」を除く）許容誤差電力が、周波数スペクトルの電力未満となるように一律に減衰させて補正する。その方法は、例えば、図１０の（３）に示すように、「ｂ−１」番目の帯域における補正後の許容誤差電力を「Ｍ´ｂ−１」、「ｂ−１」番目の帯域における補正前の許容誤差電力を「Ｍｂ−１」とした場合に、「Ｍ´ｂ−１＝ｇ×Ｍｂ−１」（減衰量「ｇ」＜１．０）を計算して求める。
【００７８】
また、許容誤差電力補正部１０５は、心理聴覚分析部１０４によって算出された許容誤差電力と、補正した許容誤差電力とを、後述する量子化帯域検出部１０６に伝達する。なお、許容誤差電力補正部１０５は、トーン検出部１０３から、トーン性を検出したことを示すフラグ（ｔｏｎｅ＿ｆｌａｇ）と、検出した帯域を識別する情報とが伝達されなかった場合には、許容誤差電力を補正する処理を行わず、心理聴覚分析部１０４によって算出された許容誤差電力を、後述する量子化帯域検出部１０６に伝達する。
【００７９】
量子化帯域検出部１０６は、ＭＤＣＴ部１０２から周波数スペクトルが伝達され、許容誤差電力補正部１０５から許容誤差電力（許容誤差電力補正部１０５が補正した許容誤差電力を含む）が伝達されると、周波数スペクトルの帯域の内、量子化する帯域を検出する。
【００８０】
具体的には、量子化帯域検出部１０６は、ＭＤＣＴ部１０２から伝達された帯域電力と、許容誤差電力補正部１０５から伝達された許容誤差電力とを帯域ごとに比較し、量子化対象とする帯域を決定する。さらに詳細には、量子化帯域検出部１０６は、許容誤差電力補正部１０５によって補正された許容誤差電力がある帯域については、当該補正された許容誤差電力と当該帯域の帯域電力とを比較する。また、量子化帯域検出部１０６は、許容誤差電力補正部１０５によって補正された許容誤差電力がない帯域については、心理聴覚分析部１０４によって算出された許容誤差電力と当該帯域の帯域電力とを比較する。また、量子化帯域検出部１０６は、許容誤差電力より大きな帯域電力を示す帯域各々を、量子化する対象の帯域として検出する。また、量子化帯域検出部１０６は、検出した帯域を識別する情報を検出する。
【００８１】
また、量子化帯域検出部１０６は、検出した量子化する帯域を識別する情報と、許容誤差電力補正部１０５から伝達された許容誤差電力と、ＭＤＣＴ部１０２から伝達された周波数スペクトルとを、後述するスケール値算出部１０７に伝達する。
【００８２】
スケール値算出部１０７は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルとが量子化帯域検出部１０６から伝達されると、量子化誤差電力が許容誤差電力未満になるようなスケール値を、帯域ごとに算出する。
【００８３】
なお、スケール値算出部１０７は、トーン検出部１０３によって検出されたトーン性のある周波数スペクトルが含まれる帯域に近傍する帯域について、許容誤差電力補正部１０５によって許容誤差電力が補正された場合には、当該近傍する帯域について、当該補正された許容誤差電力未満となるようなスケール値を算出する。
【００８４】
また、スケール値算出部１０７は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとに算出したスケール値とを、後述するスケール値補正部１０８に伝達する。
【００８５】
スケール値補正部１０８は、図１１の（１）に示すように、トーン性のある周波数スペクトルが含まれる帯域がトーン検出部１０３から伝達され（図１１に示す例では、「トーン性検出結果」が該当する）、かつ、量子化する帯域を識別する情報と、許容誤差電力と、周波数スペクトルと、帯域ごとのスケール値とがスケール値算出部１０７から伝達されると（図１１に示す例では、「周波数スペクトル」が該当する）、トーン性のある周波数スペクトルが含まれる帯域のスケール値を補正する。例えば、スケール値補正部１０８は、トーン検出部１０３によって検出されたトーン性のある周波数スペクトルが含まれる帯域を構成する周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる量子化値が量子化値の最大の値となるようなスケール値に、当該帯域についての当該スケール値を補正する。
【００８６】
ここで、トーン性のある周波数スペクトルが含まれる帯域が帯域「ｂ」であり、当該帯域「ｂ」についてスケール値算出部１０７によって算出されたスケール値を「Ｓｂ」である場合を例に、具体的に説明する。スケール値補正部１０８は、帯域「ｂ」に含まれる最大周波数スペクトルである「ｍａｘ＿ｐｏｗ＿ｓｐｅｃ」を探索して検出する（図９に示す例では、「最大周波数スペクトル探索」が該当する）。なお、ここでいう「最大周波数スペクトル」とは、トーン性のある周波数スペクトルが含まれる帯域を構成する周波数スペクトル各々の内、電力が最も大きい周波数スペクトルを示す。
【００８７】
また、例えば、スケール値補正部１０８は、最大周波数スペクトルを検出すると、当該最大周波数スペクトルを量子化することによって得られる量子化値が、量子化値の最大値である「ＭＡＸ＿ＱＵＡＮＴ」となるようなスケール値「Ｓ‘ｂ」を算出し（図９に示す例では、「補正スケール値算出」が該当する）、トーン検出部１０３によって検出されたトーン性のある周波数スペクトルが含まれる帯域のスケール値とする。例えば、図１１の（２）に示す式に従って、スケール値「Ｓｂ」を、算出したスケール値「Ｓ‘ｂ」に置き換える（スケール値「Ｓｂ」をスケール値「Ｓ‘ｂ」に補正する）。なお、量子化値の最大値とは、符号化技術の規格で定められている値であり、ＡＡＣ方式では、ＭＡＸ＿ＱＵＡＮＴ＝８１９１である。
【００８８】
また、スケール値補正部１０８は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値（スケール値補正部１０８が算出したトーン性のある周波数スペクトルが含まれる帯域のスケール値を含む）とを、後述する量子化部１０９に伝達する。
【００８９】
量子化部１０９は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値とがスケール値補正部１０８から伝達されると、許容誤差電力より大きな電力の周波数スペクトル各々を量子化する。具体的には、量子化部１０９は、量子化帯域検出部１０６によって検出された帯域（量子化する帯域を識別する情報によって識別される帯域）各々について、周波数スペクトルのダイナミックレンジをスケール値によって一意に特定されるダイナミックレンジに縮小し、縮小したダイナミックレンジにおける帯域各々を構成する周波数スペクトルそれぞれを量子化する。
【００９０】
さらに詳細には、量子化部１０９は、スケール値補正部１０８によってスケール値が算出された帯域に含まれる周波数スペクトル各々を、スケール値補正部１０８によって算出されたスケール値を用いて量子化し、スケール値補正部１０８によってスケール値が算出されていない帯域に含まれる周波数スペクトル各々を、スケール値算出部１０８によって算出されたスケール値を用いて量子化する。
【００９１】
なお、ここで、量子化部１０９は、スケール値算出部１０７やスケール値補正部１０８によって算出されたスケール値を用いて、帯域単位に（帯域ごとに）ダイナミックレンジを変更するが、その後、量子化を実行する際には、帯域単位に行うのではなく、当該帯域各々を構成する周波数スペクトル単位ごと（周波数スペクトルごとに）に量子化を行う。つまり、量子化部１０９は、周波数スペクトル一つ一つに対して、量子化値を一つずつ得る。
【００９２】
また、量子化部１０９は、量子化して得られた量子化値とスケール値とを、後述する符号化部１１０に伝達する。
【００９３】
符号化部１１０は、量子化値とスケール値とが量子化部１０９から伝達されると、量子化値とスケール値とを符号化する。例えば、符号化部１１０は、ハフマン符号化を用いて量子化値とスケール値とをそれぞれ符号化する。また、符号化部１１０は、符号化した情報を、後述する出力部１１１に伝達する。
【００９４】
出力部１１１は、符号化部１１０から符号化した情報が伝達されると、入力部１０１によって入力されたオーディオ信号を符号化した情報として、符号化部１１０から伝達された情報を出力する。
【００９５】
なお、この符号化装置は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、ＰＨＳ端末、移動体通信端末またはＰＤＡなどの情報処理装置に、上記したＭＤＣＴ部１０２、トーン検出部１０３、心理聴覚分析部１０４、許容誤差電力補正部１０５、量子化帯域検出部１０６、スケール値算出部１０７、スケール値補正部１０８、量子化部１０９の各機能を搭載することによって実現することもできる。
【００９６】
［符号化装置による処理］
次に、図１２と図１３とを用いて、符号化装置による処理を説明する。ここでは、まず、図１２を用いて符号化装置による全体処理の流れを説明し、その後、図１３を用いて、スケール値補正部１０８による処理の流れを説明する。なお、図１２は、実施例１に係る符号化装置の処理全体の流れを示すフローチャートであり、図１３は、実施例１に係るスケール値補正部の処理の流れを示すフローチャートである。
【００９７】
［符号化装置による全体処理］
図１２に示すように、開示の符号化装置では、オーディオ信号があると（ステップＳ１０１肯定）、つまり、入力部１０１によってオーディオ信号が受付けられると、ＭＤＣＴ部１０２は、ＭＤＣＴ変換を行う（ステップＳ１０２）。つまり、ＭＤＣＴ部１０２は、入力部１０１から伝達されたオーディオ信号を周波数スペクトルに変換する。そして、ＭＤＣＴ編幹部１０２は、帯域を分割し（ステップＳ１０３）、帯域電力を算出する（ステップＳ１０４）。つまり、ＭＤＣＴ部１０２は、周波数スペクトル電力を算出し、さらに所定の幅で分割した帯域ごとに、周波数スペクトル電力の和を算出する。
【００９８】
そして、トーン検出部１０３は、トーン性のある周波数スペクトルが含まれる帯域を検出する（ステップＳ１０５）。つまり、トーン検出部１０３は、全帯域における周波数スペクトルの平均電力を閾値として、閾値より大きい周波数スペクトルの電力を持つ帯域がある場合に、当該帯域をトーン性が高い帯域であるとして検出する。
【００９９】
そして、心理聴覚分析部１０４は、許容誤差電力を算出する（ステップＳ１０６）。つまり、入力部１０１からオーディオ信号が伝達されると、当該オーディオ信号に応じて、許容誤差電力を算出する。
【０１００】
ここで、トーンがある場合には（ステップＳ１０７肯定）、言い換えると、上記したステップＳ１０５において、トーン検出部１０３によってトーン性のある帯域が検出された場合には、許容誤差電力補正部１０５は、許容誤差電力を補正する（ステップＳ１０８）。つまり、許容誤差電力補正部１０５は、トーン検出部１０３から検出結果が伝達された場合には、近傍する帯域についての許容誤差電力を補正する。例えば、許容誤差電力補正部１０５は、近傍する帯域についての許容誤差電力を、近傍の帯域についての帯域電力よりも小さい許容誤差電力に補正する。
【０１０１】
そして、許容誤差電力補正部１０５によって許容誤差電力が補正され（ステップＳ１０８）、または、トーンがない場合には（ステップＳ１０７否定）、量子化帯域検出部１０６は、量子化帯域を検出する（ステップＳ１０９）。つまり、量子化帯域検出部１０６は、ＭＤＣＴ部１０２から周波数スペクトルが伝達され、許容誤差電力補正部１０５から許容誤差電力が伝達されると、周波数スペクトルの帯域の内、量子化する帯域を検出する。
【０１０２】
そして、スケール値算出部１０７は、スケール値を算出する（ステップＳ１１０）。つまり、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルとが量子化帯域検出部１０６から伝達されると、量子化誤差電力が許容誤差電力未満になるようなスケール値を、帯域ごとに算出する。
【０１０３】
ここで、トーンがある場合には（ステップＳ１１１肯定）、スケール値補正部１０８は、スケール値を補正する（ステップＳ１１２）。つまり、トーン性のある周波数スペクトルが含まれる帯域がトーン検出部１０３から伝達され、かつ、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値とがスケール値算出部１０７から伝達されると、スケール値補正部１０８は、トーン性のある周波数スペクトルが含まれる帯域のスケール値を補正する。
【０１０４】
そして、スケール値補正部１０８によってスケール値が補正され（ステップＳ１１２）、または、トーンがない場合には（ステップＳ１１１否定）、量子化部１０９は、周波数スペクトルを量子化する（ステップＳ１１３）。つまり、量子化部１０９は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値とがスケール値補正部１０８から伝達されると、量子化帯域検出部１０６によって検出された帯域各々の周波数スペクトル各々を量子化する。
【０１０５】
そして、符号化部１１０は、符号化する（ステップＳ１１４）。つまり、符号化部１１０は、量子化して得られた量子化値が量子化部１０９から伝達されると、量子化値を符号化する。
【０１０６】
［スケール値補正部による処理］
図１３に示すように、開示の符号化装置では、スケール値が補正される場合には（ステップＳ２０１肯定）、つまり、トーン性のある周波数スペクトルが含まれる帯域がトーン検出部１０３から伝達され、かつ、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値とがスケール値算出部１０７から伝達されると、スケール値補正部１０８は、最大周波数スペクトルを検出する（ステップＳ２０２）。
【０１０７】
そして、例えば、スケール値補正部１０８は、量子化値が最大になる場合のスケール値を算出する（ステップＳ２０３）。つまり、スケール値補正部１０８は、トーン検出部１０３によって検出されたトーン性のある周波数スペクトルが含まれる帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる値が最大の値となるようなスケール値を算出する。
【０１０８】
そして、スケール値補正部１０８は、スケール値を補正する（ステップＳ２０４）。つまり、トーン性がある周波数スペクトルが検出された帯域について算出したスケール値に、スケール値算出部１０７によって算出されたスケール値を補正する。
【０１０９】
［実施例１の効果］
上記したように、実施例１によれば、開示の符号化装置は、オーディオ信号を周波数スペクトルに変換し、オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて、許容誤差電力を算出し、周波数スペクトルから、トーン性のある周波数スペクトルを検出するとともに当該周波数スペクトルが含まれる帯域を検出し、検出結果と許容誤差電力とを用いて、検出部によって検出された帯域に近傍する帯域について算出された許容誤差電力が、当該近傍する帯域についての周波数スペクトルの電力より小さくなるように補正し、補正された許容誤差電力より大きな電力の周波数スペクトル各々を量子化するので、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【０１１０】
具体的には、ピーク電力近傍に存在する周波数スペクトル各々が量子化されるように、許容誤差電力を補正するので、ピーク電力近傍に存在する周波数スペクトル各々を確実に量子化することができ、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【０１１１】
つまり、従来の手法では、トーン性のあるオーディオ信号を符号化する際に、トーン性のある周波数スペクトル近傍の周波数スペクトルを確実に量子化することができず、近傍の周波数スペクトルが失われ、その結果、図１４の（１−１）に示すような原音が、図１４の（１−２）に示すように、符号化音の位相特性が歪むことによって、振幅が変動し、音が震えることがあった。
【０１１２】
また、例えば、従来の手法では、振幅が変化して、オーバーフローすることによって（例えば、ＰＣＭの最大値である（１６ｂｉｔ）を超えることによって）、クリップが発生してしまった。これにより、図１４の（２）に示すように、異音（チリチリ）が発生していた。また、図１４の（１−２）に示すように、振幅が変化することにより、ふるえ感が発生していた。
【０１１３】
このような従来の手法と比較して、開示の符号化装置によれば、図１５に示すように、トーン性のある周波数スペクトル近傍の周波数スペクトルを確実に量子化することができるので、図１６の（１）に示す原音を符号化する際に、図１６の（２）に示すように、従来の手法による量子化では発生していた異音（チリチリ）の発生やふるえ感が、図１６の（３）に示すように、改善され、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【０１１４】
また、実施例１によれば、開示の符号化装置は、スケール値補正部１０８が、検出されたトーン性のある周波数スペクトルが含まれる帯域に近傍する帯域について、当該近傍する帯域に含まれる周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該近傍する帯域について許容誤差電力補正部１０５によって当該近傍する帯域について算出された許容誤差電力未満となるようなスケール値を、当該近傍する帯域についての当該スケール値として算出し、量子化部１０９が、スケール値補正部１０８によってスケール値が算出された帯域に含まれる周波数スペクトル各々を、スケール値補正部１０８によって算出されたスケール値を用いて量子化するので、許容誤差電力を補正した場合にも、適切なスケール値を用いて量子化を行うことが可能である。
【０１１５】
また、実施例１によれば、開示の符号化装置は、トーン検出部１０３によって検出されたトーン性のある周波数スペクトルが含まれる帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる値が最大の値となるようなスケール値を、当該帯域についての当該スケール値として算出するので、量子化誤差を最低限に抑えることが可能である。具体的には、トーン性のあるピークから得られる量子化値が、規格上設定されている最大値をとることにより、量子化誤差を最小限に最低限に抑えることができる。
【０１１６】
また、実施例１によれば、開示の符号化装置は、所定の帯域数を記憶し、検出されたトーン性のある周波数スペクトルが含まれる帯域を中心として、記憶する所定の帯域数の範囲に位置する帯域各々を、近傍の帯域として許容誤差電力を補正するので、簡単に許容誤差電力を補正する帯域を検出することが可能である。
【実施例２】
【０１１７】
ところで、実施例１では、開示の符号化装置は、スケール値補正部１０８が、トーン検出部１０３によって検出された帯域のスケール値を、当該帯域を構成する周波数スペクトル各々の内、最も大きな周波数スペクトルを量子化して得られる値が規格上の最大値となるようなスケール値にする手法について説明したが、本発明はこれに限定されるものではない。例えば、実施例２に係る符号化装置は、発生する量子化誤差電力の少ないスケール値を探索し、探索により得られたスケール値を用いてもよい。
【０１１８】
そこで、実施例２では、トーン検出部１０３によって検出された帯域のスケール値として、量子化誤差電力の少ないスケール値を探索し、探索により得られたスケール値を用いる符号化装置について説明する。すなわち、実施例２における符号化装置は、スケール値として、スケール値算出部１０７によって算出されたスケール値と、スケール値を所定の値変更した当該スケール値である変更スケール値の内、量子化する際に発生する量子化誤差（または、量子化誤差電力）を少なくするスケール値を用いるものである。なお、以下では、実施例１に係る符号化装置と同様の点については、簡単に説明し、または、説明を省略する。
【０１１９】
実施例２に係る符号化装置では、スケール値補正部１０８（特許請求の範囲に記載の「誤差算出部」に対応する）は、帯域に含まれる当該周波数スペクトルを量子化する際に発生する量子化誤差電力を、当該帯域についてスケール値算出部１０７によって算出されたスケール値を用いて算出し、かつ、スケール値算出部１０７によって算出されたスケール値を所定の値変更した当該スケール値である変更スケール値を用いて算出する。
【０１２０】
このため、実施例２におけるスケール値補正部１０８は、図１７に示すように、実施例１におけるスケール値補正部１０８とは異なり（図１１の（１）参照）、許容誤差電力（実施例２では、許容誤差電力補正部１０５によって補正された許容誤差電力と、補正される前の許容誤差電力と）を用いるものである。
【０１２１】
具体的には、実施例２に係る符号化装置では、トーン検出部１０３によって検出された帯域について、スケール値補正部１０８が、当該帯域を構成する周波数スペクトル各々を、スケール値算出部１０７によって算出されたスケール値を用いて量子化し、その際に発生する量子化誤差電力を算出する（前提技術参照）。
【０１２２】
ここで、トーン検出部１０３によって帯域「ｂ」が検出され、帯域「ｂ」についてのスケール値「Ｓｂ」がスケール値算出部１０７によって算出され、帯域「ｂ」を構成する周波数スペクトルの本数が「Ｎｂ」である場合を例に、具体的に説明する。
【０１２３】
まず、実施例２に係る符号化装置では、スケール値補正部１０８が、帯域「ｂ」を構成する周波数スペクトル各々をスケール値「Ｓｂ」を用いて量子化して量子化値を算出し、算出した量子化値とスケール値「Ｓｂ」とを用いて逆量子化を行い、逆量子化スペクトルを算出する。例えば、ＡＡＣ符号化方式においては、帯域「ｂ」に含まれるｉ番目のスペクトル「ｓｐｅｃｉ」から得られる量子化値「ｑｕａｎｔｉ」と、逆量子化スペクトル「ｉｓｐｅｃｉ」とを、スケール値補正部１０８は、図１８の（１）と（２）に示す式によって算出する。
【０１２４】
そして、実施例２に係る符号化装置では、スケール値補正部１０８が、量子化前の周波数スペクトルと逆量子化スペクトルとから、当該帯域の量子化誤差電力を算出する。例えば、実施例２に係る符号化装置では、スケール値補正部１０８が、帯域「ｂ」の量子化誤差電力「ｅｒｒｏｒ＿ｅｂ」を、図１８の（３）に示す式によって算出する。なお、図１８の（３）に示す式中の「Ｎｂ」は、帯域「ｂ」に含まれる周波数スペクトルの数を示す。
【０１２５】
また、具体的には、実施例２に係る符号化装置では、スケール値補正部１０８が、スケール値算出部１０７によって算出されたスケール値を所定の値に変更し、トーン検出部１０３によって検出された帯域について、変更したスケール値（変更スケール値）を用いて量子化した際に発生する量子化誤差電力を算出する。
【０１２６】
例えば、スケール値補正部１０８は、スケール値「Ｓｂ」を所定の値「Ａ」に変更し、得られた変更スケール値「Ｓ‘ｂ（例えば、「Ｓ‘ｂ」＝「Ｓｂ」＋「Ａ」）」を用いて、帯域「ｂ」を量子化した際に発生する量子化誤差電力を算出する。
【０１２７】
また、具体的には、実施例２に係る符号化装置では、スケール値補正部１０８が、スケール値算出部１０７によって算出されたスケール値を用いた際に発生する量子化誤差電力（量子化誤差電力「甲」とする）と、変更スケール値を用いた際に発生する量子化誤差電力（量子化誤差電力「乙」とする）とを比較し、量子化誤差電力「乙」の方が小さいかを判別する。ここで、スケール値補正部１０８は、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さい場合には、トーン検出部１０３によって検出された帯域のスケール値（例えば、「Ｓｂ」）を、変更スケール値（例えば、「Ｓ‘ｂ」）に補正する。一方、スケール値補正部１０８は、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さくない場合には、スケール値を補正しない。
【０１２８】
また、実施例２に係る符号化装置では、スケール値補正部１０８が、様々な「Ａ」を用いることによって複数のスケール値について量子化誤差電力を算出し、その中で、発生した量子化誤差電力が最も小さいスケール値に補正する。なお、例えば、スケール値補正部１０８は、変更スケール値として、一回目に「Ｓｂ１」、二回目に「Ｓｂ２」を用いた場合であって、一回目の変更スケール値「Ｓｂ１」を用いてスケール値算出部１０７によって算出されたスケール値「Ｓｂ」を補正した場合には、その後、スケール値補正部１０８は、「Ｓｂ１」を用いた際に発生する量子化誤差電力と、「Ｓｂ２」を用いた際に発生する量子化誤差電力とを比較する。
【０１２９】
また、例えば、スケール値補正部１０８は、所定の変更スケール値すべてについて（例えば、所定の「Ａ」から算出される変更スケール値各々（変更スケール値候補）について）、比較したかを判別する。そして、スケール値補正部１０８は、すべての変更スケール値について比較を行うまで、スケール値補正処理を継続する。
【０１３０】
なお、実施例２に係る符号化装置では、スケール値補正部１０８が、量子化誤差電力を、一対一で比較する手法について説明したが、本発明はこれに限定されるものではなく、複数のスケール値について、それぞれ量子化誤差電力を算出し、算出した複数（例えば、三つ以上）の量子化誤差電力について同時に比較し、発生した量子化誤差電力が最も小さい一つのスケール値を用いてもよい。
【０１３１】
また、「Ａ」の値は任意であり、「Ａ」として「０」より大きな値を用いるだけでなく、「Ａ」として「０」より小さな値を用いてもよい。また、スケール値補正部１０８は、変更スケール値として用いる値の個数（量子化誤差電力を算出して比較する回数）に関する設定を予め保持し、当該設定に基づいてスケール値補正処理を実行してもよい。
【０１３２】
なお、本発明は、様々な「Ａ」を用いる（複数の変更スケール値を用いる）手法に限定されるものではなく、例えば、スケール値算出部１０７によって算出されたスケール値を、一つの変更スケール値のみと比較してもよい。例えば、変更スケール値として予め量子化誤差が少なくなると予測される値を一つ選択して用いてもよい。これにより、スケール値補正処理を迅速に実行することが可能である。
【０１３３】
なお、実施例２に係る符号化装置におけるスケール値補正部１０８による詳細な処理の流れの一例については、ここでは説明せず、後述する。
【０１３４】
実施例２に係る符号化装置では、量子化部１０９は、スケール値補正部１０８によって算出された量子化誤差電力の内、最も少ない当該量子化誤差電力が算出された際に用いられたスケール値（または変更スケール値）を用いて、帯域に含まれる当該周波数スペクトル各々を量子化する。例えば、スケール値補正部１０８によって、スケール値算出部１０７によって算出されたスケール値「Ｓｂ」と、当該スケール値を「Ａ」に変更した値「Ｓ‘ｂ」とについて量子化誤差電力が算出され、「Ｓ‘ｂ」を用いた際に発生した量子化誤差電力が最も少なかった場合に、スケール値「Ｓ‘ｂ」を用いて、トーン検出部１０３によって検出された帯域を構成する周波数スペクトル各々を量子化する。
【０１３５】
［実施例２におけるスケール値補正部による処理］
次に、図１９を用いて、実施例２におけるスケール値補正部による処理を説明する。なお、図１９は、実施例２に係る符号化装置のスケール値補正処理の流れを示すフローチャートである。
【０１３６】
なお、以下では、特に言及しない場合には、トーン検出部１０３によって帯域「ｂ」が検出され、帯域「ｂ」についてのスケール値「Ｓｂ」がスケール値算出部１０７によって算出され、帯域「ｂ」を構成する周波数スペクトルの本数が「Ｎｂ」である場合を例として用いて説明する。
【０１３７】
図１９に示すように、開示の符号化装置では、スケール値補正部１０８は、スケール値を補正する場合には（ステップＳ３０１肯定）、量子化誤差電力を算出する（ステップＳ３０２）。つまり、スケール値補正部１０８は、スケール値算出部１０７によって算出されたスケール値「Ｓｂ」を用いて量子化し、帯域「ｂ」を量子化した際に発生する量子化誤差電力を算出する。
【０１３８】
そして、スケール値補正部１０８は、スケール値を変更する（ステップＳ３０３）。つまり、例えば、スケール値補正部１０８は、スケール値「Ｓｂ」を所定の値「Ａ」に変更する。そして、スケール値補正部１０８は、変更したスケール値を用いて、量子化誤差電力を算出する（ステップＳ３０４）。つまり、例えば、スケール値補正部１０８は、得られた変更スケール値「Ｓ‘ｂ」を用いて、帯域「ｂ」を量子化した際に発生する量子化誤差電力を算出する。
【０１３９】
そして、スケール値補正部１０８は、量子化誤差電力を比較する（ステップＳ３０５）。つまり、例えば、スケール値補正部１０８は、帯域「ｂ」を量子化した際に発生する量子化誤差電力について、スケール値算出部１０７によって算出されたスケール値「Ｓｂ」を用いた際の量子化誤差電力（量子化誤差電力「甲」）と、変更スケール値「Ｓ‘ｂ」を用いた際の量子化誤差電力（量子化誤差電力「乙」）とを、比較する。
【０１４０】
そして、スケール値補正部１０８は、スケール値算出部１０７によって算出されたスケール値を用いた際の量子化誤差電力と比較して、変更スケール値を用いた際の量子化誤差電力が小さいかを判別する（ステップＳ３０６）。つまり、例えば、スケール値補正部１０８は、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さいかを判別する。ここで、スケール値補正部１０８は、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さい場合には（ステップＳ３０６肯定）、スケール値を補正する（ステップＳ３０７）。つまり、例えば、スケール値補正部１０８は、スケール値「Ｓｂ」を変更スケール値「Ｓ‘ｂ」に補正する。
【０１４１】
そして、スケール値補正部１０８は、スケール値を補正すると（ステップＳ３０７）、または、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さくなかった場合には（ステップＳ３０６否定）、変更スケール値の候補について、すべて比較したかを判別する（ステップＳ３０８）。ここで、すべての変更スケール値の候補について比較した場合には（ステップＳ３０８肯定）、処理を終了する。一方、すべての変更スケール値の候補について比較していない場合には（ステップＳ３０８否定）、すべての変更スケール値の候補について比較するまで、上記したステップＳ３０３からＳ３０７までの処理を繰り返す。
【０１４２】
［実施例２の効果］
上記したように、実施例２によれば、開示の符号化装置は、スケール値補正部１０８が、量子化誤差電力を、スケール値算出部１０７によって算出されたスケール値を用いて算出し、かつ、変更スケール値を用いて算出し、算出した量子化誤差電力の内、最も少ない量子化誤差電力が算出された際に用いられたスケール値（または変更スケール値）を用いて量子化するので、量子化誤差を最低限に抑えることが可能である。
【実施例３】
【０１４３】
さて、これまで本発明の実施例１と実施例２とについて説明したが、本発明は上述した実施例１と実施例２と以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、その他の実施例について説明する。
【０１４４】
［スケール値］
例えば、上記した実施例１と実施例２とでは、スケール値補正部１０８は、トーン検出部１０３によって検出された帯域についてのみ、スケール値を補正する手法について説明したが、本発明はこれに限定されるものではなく、すべての帯域についてスケール値を補正してもよい。これにより、実施例３に係る符号化装置では、他の帯域についても、量子化誤差を少なくすることが可能である。
【０１４５】
また、例えば、量子化部１０９は、スケール値補正部１０８によって算出されたスケール値を用いて、すべての帯域に含まれる周波数スペクトル各々を量子化してもよい。具体的な一例をあげて説明すると、スケール値補正部１０８は、トーン検出部１０３によって検出された帯域についてのみ、スケール値を算出して補正し、さらに、トーン検出部１０３によって検出された帯域について算出したスケール値に、他の帯域についてのスケール値を補正する。そして、量子化部１０９は、トーン検出部１０３によって検出された帯域についてトーン検出部１０３によって算出したスケール値を用いて、すべての帯域の周波数スペクトル各々を量子化する。
【０１４６】
これにより、実施例３に係る符号化装置では、スケール値を符号化する際に使用するビット数を、抑えることが可能である。具体的には、符号化する際には、スケール値は、隣接するスケール値との差で表される。ここで、すべてのスケール値を同一のスケール値にすることによって、帯域各々に異なるスケール値が設定されている手法と比較して、帯域各々に設定されるスケール値を符号化する際に必要なビット数を抑えることが可能である。
【０１４７】
［近傍の帯域］
上記した実施例１では、近傍の帯域として、トーン検出部１０３によって検出された帯域を中心として所定の帯域幅にある帯域を用いる手法について説明したが、本発明はこれに限定されるものではなく、ピークの電力から所定の電力幅にある帯域を用いてもよい。
【０１４８】
言い換えると、図２０に示すように、まず、トーン検出部１０３からの検出結果と帯域電力とから、予め設定されている電力幅を用いて、許容誤差電力を補正する帯域幅を決定し、その後、許容誤差電力を補正する。
【０１４９】
具体的には、実施例３に係る符号化装置では、許容誤差電力補正部１０５が、電力幅記憶部に、所定の電力幅を記憶する電力幅記憶部を備える。許容誤差電力補正部１０５は、電力幅記憶部に、例えば、「Ｇ」を記憶する。
【０１５０】
そして、実施例３に係る符号化装置では、図２１に示すように、許容誤差電力補正部１０５は、トーン検出部１０３によって検出されたトーン性のある周波数スペクトルが含まれる帯域を含む一つまたは複数の連続している当該帯域であって、トーン検出部１０３によって検出された帯域の電力値から、電力幅記憶部に記憶されている所定の電力幅に減衰した電力値以上の電力値を有する帯域各々を、近傍の帯域として、許容誤差電力を補正する。
【０１５１】
例えば、図２１に示す例を用いて、具体的に説明する。なお、ここでは、トーン性のある帯域の周波数スペクトルの電力が「Ｅｐｅａｋ」であり、電力幅記憶部が「Ｇ」を記憶し、７つの帯域があるものとして説明する。実施例３に係る符号化装置では、許容誤差電力補正部１０５が、「Ｅｐｅａｋ」から「Ｇ」を減衰させた電力である「Ｅｔｈｒ」を算出し、許容誤差電力を補正する帯域を決定するための電力閾値とする。
【０１５２】
また、例えば、実施例３に係る符号化装置では、許容誤差電力補正部１０５が、トーン帯域に隣接する帯域において、電力閾値より大きい電力を持つ帯域を調べる。例えば、図２１に示す例では、許容誤差電力補正部１０５は、帯域「２」と「４」とが電力閾値よりも大きい電力を示しているため、許容誤差電力を補正する帯域幅は、「Ｂ１（トーン帯域に隣接する帯域より低周波数側にある帯域の数）＝１」、「Ｂ２（トーン帯域に隣接する帯域より高周波数側にある帯域の数）＝１」とする。
【０１５３】
このように、実施例３に係る符号化装置は、簡単に許容誤差電力を補正する帯域を検出することが可能である。
【０１５４】
［システム構成］
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、図５〜図１３図１７〜図２１）については、特記する場合を除いて任意に変更することができる。
【０１５５】
［実施例の組み合わせ］
また、上記した実施例１においては、例えば、許容誤差電力を補正する際に、（１）スケール値を補正する手法と、（２）量子化値が最大値になるようなスケール値を用いる手法と、（３）近傍の帯域を検出する際に、所定の帯域幅を用いる手法と、を併せて実施する場合について説明した。しかし、本発明の実施はこれに限定されるものではなく、許容誤差電力を補正する際に、（１）〜（３）を併せて実施しなくてもよく、また、（１）〜（３）の内いずれか一つまたは複数のみを実施してもよい。
【０１５６】
また、同様に、実施例２と、上記した実施例３において説明した手法についても、同様に、これらの手法の内、いずれか一つを実施する場合に本発明が限定されるものではなく、複数の手法を併せて実施してもよい。
【０１５７】
［プログラム］
ところで、上記実施例１では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、予め用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図２２を用いて、上記の実施例１に示した符号化装置と同様の機能を有する符号化プログラムを実行するコンピュータの一例を説明する。なお、図２２は、実施例１に係る符号化装置のプログラムを説明するための図である。
【０１５８】
同図に示すように、実施例１における符号化装置３０００は、操作部３００１、マイク３００２、スピーカ３００３、ディスプレイ３００５、通信部３００６、ＣＰＵ３０１０、ＲＯＭ３０１１、ＨＤＤ３０１２、ＲＡＭ３０１３をバス３００９などで接続して構成されている。
【０１５９】
ＲＯＭ３０１１には、上記の実施例１で示した入力部１０１と、ＭＤＣＴ部１０２と、トーン検出部１０３と、心理聴覚分析部１０４と、許容誤差電力補正部１０５と、量子化帯域検出部１０６と、スケール値算出部１０７と、スケール値補正部１０８と、量子化部１０９と、符号化部１１０と、出力部１１１と同様の機能を発揮する制御プログラム、つまり、同図に示すように、入力プログラム３０１１ａと、ＭＤＣＴプログラム３０１１ｂと、トーン検出プログラム３０１１ｃと、心理聴覚分析プログラム３０１１ｄと、許容誤差電力補正プログラム３０１１ｅと、量子化帯域検出プログラム３０１１ｆと、スケール値算出プログラム３０１１ｇと、スケール値補正プログラム３０１１ｈと、量子化プログラム３０１１ｉと、符号化プログラム３０１１ｊと、出力プログラム３０１１ｋとが予め記憶されている。なお、これらのプログラム３０１１ａ〜３０１１ｋについては、図６に示した符号化装置の各構成要素と同様、適宜統合または分離してもよい。
【０１６０】
そして、ＣＰＵ３０１０が、これらのプログラム３０１１ａ〜３０１１ｋをＲＯＭ３０１１から読み出して実行することにより、図２２に示すように、各プログラム３０１１ａ〜３０１１ｋについては、入力プロセス３０１０ａと、ＭＤＣＴプロセス３０１０ｂと、トーン検出プロセス３０１０ｃと、心理聴覚分析プロセス３０１０ｄと、許容誤差電力補正プロセス３０１０ｅと、量子化帯域検出プロセス３０１０ｆと、スケール値算出プロセス３０１０ｇと、スケール値補正プロセス３０１０ｈと、量子化プロセス３０１０ｉと、符号化プロセス３０１０ｊと、出力プロセス３０１０ｋとして機能するようになる。なお、各プロセス３０１０ａ〜３０１０ｋは、図６に示した、入力部１０１と、ＭＤＣＴ部１０２と、トーン検出部１０３と、心理聴覚分析部１０４と、許容誤差電力補正部１０５と、量子化帯域検出部１０６と、スケール値算出部１０７と、スケール値補正部１０８と、量子化部１０９と、符号化部１１０と、出力部１１１とにそれぞれ対応する。
【０１６１】
［その他］
なお、本実施例で説明した符号化装置は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【０１６２】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６３】
（付記１）オーディオ信号を周波数スペクトルに変換し、当該周波数スペクトルを量子化して符号化する符号化装置において、前記周波数スペクトルからトーン性のある周波数スペクトルを検出された場合、前記オーディオ信号に応じて算出された許容誤差電力を補正する電力補正部と、
前記電力補正部によって補正された許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、を有することを特徴とする符号化装置。
【０１６４】
（付記２）オーディオ信号を符号化する符号化装置において、
前記オーディオ信号を周波数スペクトルに変換する周波数変換部と、
前記オーディオ信号に応じて、許容誤差電力を算出する電力算出部と、
前記周波数変換部によって変換された前記周波数スペクトルから、トーン性のある周波数スペクトルを検出する検出部と、
前記検出部での検出結果と前記電力算出部によって算出された前記許容誤差電力とを用いて、前記許容誤差電力を補正する電力補正部と、
前記電力補正部によって補正された前記許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、
を有することを特徴とする符号化装置。
【０１６５】
（付記３）前記電力算出部は、前記オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて、前記許容誤差電力を算出し、
前記検出部は、前記トーン性のある周波数スペクトルを検出するとともに当該周波数スペクトルが含まれる前記帯域を検出し、
前記電力補正部は、前記検出部によって検出された前記帯域に近傍する帯域について前記電力算出部によって算出された前記許容誤差電力が、当該近傍する帯域についての前記周波数スペクトルの電力より小さくなるように補正することを特徴とする付記２に記載の符号化装置。
【０１６６】
（付記４）前記量子化部は、前記周波数スペクトルのダイナミックレンジを、スケール値によって一意に特定されるダイナミックレンジに縮小し、縮小したダイナミックレンジにおける当該周波数スペクトル各々を量子化するものであって、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第１のスケール値算出部と、
前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域に近傍する帯域について、当該近傍する帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該近傍する帯域について前記電力補正部によって当該近傍する帯域について算出された前記許容誤差電力未満となるようなスケール値を、当該近傍する帯域についての当該スケール値として算出する第２のスケール値算出部と、
をさらに備え、
前記量子化部は、前記第２のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第２のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第２のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第１のスケール値算出部によって算出されたスケール値を用いて量子化することを特徴とする付記２または３に記載の符号化装置。
【０１６７】
（付記５）前記周波数スペクトルを前記量子化部が量子化して得られる値には、当該値として得ることが可能である最大の値が設定されているものであって、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第１のスケール値算出部と、
前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる値が前記最大の値となるような前記スケール値を、当該帯域についての当該スケール値として算出する第３のスケール値算出部と、
をさらに備え、
前記量子化部は、前記第３のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第３のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第３のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第１のスケール値算出部によって算出されたスケール値を用いて量子化することを特徴とする付記２〜４のいずれか一つに記載の符号化装置。
【０１６８】
（付記６）前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第１のスケール値算出部と、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する前記量子化誤差電力を、当該帯域について前記第１のスケール値算出部によって算出された前記スケール値を用いて算出し、かつ、当該第１のスケール値算出部によって算出された前記スケール値を所定の値に変更したスケール値である変更スケール値を用いて算出する誤差算出部と、
をさらに備え、
前記量子化部は、前記誤差算出部によって算出された前記量子化誤差電力の内、最も小さい当該量子化誤差電力が算出された際に用いられた前記スケール値または変更スケール値を用いて、前記帯域に含まれる当該周波数スペクトルを量子化することを特徴とする付記２〜４のいずれか一つに記載の符号化装置。
【０１６９】
（付記７）前記量子化部は、前記第３のスケール値算出部によって算出されたスケール値を用いて、すべての前記帯域に含まれる前記周波数スペクトル各々を量子化することを特徴とする付記４〜６のいずれか一つに記載の符号化装置。
【０１７０】
（付記８）所定の帯域数を記憶する帯域数記憶部をさらに備え、
前記電力補正部は、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を中心として、前記帯域数記憶部によって記憶された前記所定の帯域数の範囲に位置する帯域各々を、前記近傍の帯域として前記許容誤差電力を補正することを特徴とする付記２〜７のいずれか一つに記載の符号化装置。
【０１７１】
（付記９）所定の電力幅を記憶する電力幅記憶部をさらに備え、
前記電力補正部は、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を含む一つまたは複数の連続している当該帯域であって、前記検出部によって検出された前記帯域の電力値から、電力幅記憶部に記憶されている前記所定の電力幅減衰した電力値以上の電力値を有する当該帯域各々を、前記近傍の帯域として前記許容誤差電力を補正することを特徴とする付記２〜８のいずれか一つに記載の符号化装置。
【０１７２】
（付記１０）オーディオ信号を周波数スペクトルに変換し、符号化する符号化方法において、
前記周波数スペクトルからトーン性のある周波数スペクトルを検出し、前記オーディオ信号に応じた許容誤差電力を補正するステップと、
補正された許容誤差電力を用いて、前記周波数スペクトルを量子化するステップと、
を含むことを特徴とする符号化方法。
【０１７３】
（付記１１）オーディオ信号を周波数スペクトルに変換し、符号化する処理をコンピュータに実行させる符号化プログラムであって、
前記周波数スペクトルからトーン性のある周波数スペクトルを検出し、前記オーディオ信号に応じた許容誤差電力を補正する手順と、
補正された許容誤差電力を用いて、前記周波数スペクトルを量子化する手順と、
をコンピュータに実行させることを特徴とする符号化プログラム。
【図面の簡単な説明】
【０１７４】
【図１】実施例１に係る符号化装置の前提技術を説明するための図である。
【図２】実施例１に係る符号化装置の前提技術を説明するための図である。
【図３】実施例１に係る符号化装置の前提技術を説明するための図である。
【図４】実施例１に係る符号化装置の前提技術を説明するための図である。
【図５】実施例１に係る符号化装置の概要および特徴を示すための図である。
【図６】実施例１に係る符号化装置の構成を示すためのブロック図である。
【図７】実施例１におけるトーン検出部を説明するための図である。
【図８】実施例１における心理聴覚分析部を説明するための図である。
【図９】実施例１における許容誤差電力補正部を説明するための図である。
【図１０】実施例１における許容誤差電力補正部を説明するための図である。
【図１１】実施例１におけるスケール値補正部を説明するための図である。
【図１２】実施例１に係る符号化装置の処理全体の流れを示すフローチャートである。
【図１３】実施例１に係るスケール値補正部の処理の流れを示すフローチャートである。
【図１４】実施例１に係る符号化装置の効果を説明するための図である。
【図１５】実施例１に係る符号化装置の効果を説明するための図である。
【図１６】実施例１に係る符号化装置の効果を説明するための図である。
【図１７】実施例２に係る符号化装置を説明するための図である。
【図１８】実施例２に係る符号化装置を説明するための図である。
【図１９】実施例２に係る符号化装置のスケール値補正処理の流れを示すフローチャートである。
【図２０】実施例３に係る符号化装置を説明するための図である。
【図２１】実施例３に係る符号化装置を説明するための図である。
【図２２】実施例１に係る符号化装置のプログラムを説明するための図である。
【図２３】従来技術を説明するための図である。
【符号の説明】
【０１７５】
１０１  入力部
１０２  ＭＤＣＴ部
１０３  トーン検出部
１０４  心理聴覚分析部
１０５  許容誤差電力補正部
１０６  量子化帯域検出部
１０７  スケール値算出部
１０８  スケール値補正部
１０９  量子化部
１１０  符号化部
１１１  出力部
【図１】
0005262171.tif 000002
【図２】
0005262171.tif 000003
【図３】
0005262171.tif 000004
【図４】
0005262171.tif 000005
【図５】
0005262171.tif 000006
【図６】
0005262171.tif 000007
【図７】
0005262171.tif 000008
【図８】
0005262171.tif 000009
【図９】
0005262171.tif 000010
【図１０】
0005262171.tif 000011
【図１１】
0005262171.tif 000012
【図１２】
0005262171.tif 000013
【図１３】
0005262171.tif 000014
【図１４】
0005262171.tif 000015
【図１５】
0005262171.tif 000016
【図１７】
0005262171.tif 000017
【図１８】
0005262171.tif 000018
【図１９】
0005262171.tif 000019
【図２０】
0005262171.tif 000020
【図２１】
0005262171.tif 000021
【図２２】
0005262171.tif 000022
【図２３】
0005262171.tif 000023
【図１６】
0005262171.tif 000024