説明

符号化装置、符号化方法および符号化プログラム

【課題】トーン性のあるオーディオ信号の符号化音質を改善することを課題とする。
【解決手段】開示の符号化装置は、オーディオ信号を周波数スペクトルに変換し、オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて、許容誤差電力を算出し、周波数スペクトルから、トーン性のある周波数スペクトルを検出するとともに当該周波数スペクトルが含まれる帯域を検出し、検出結果と許容誤差電力とを用いて、検出部によって検出された帯域に近傍する帯域について電力算出部によって算出された許容誤差電力が、当該近傍する帯域についての周波数スペクトルの電力より小さくなるように補正し、補正された許容誤差電力より大きな電力の周波数スペクトル各々を量子化する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、符号化装置、符号化方法および符号化プログラムに関する。
【背景技術】
【0002】
従来より、オーディオ信号(音声・音楽などの音源)を圧縮・伸張するオーディオ符号化技術に関して、様々な研究が行われている。例えば、オーディオ信号を周波数領域に変換して符号化する手法について、様々な研究が行われている。
【0003】
例えば、このようなオーディオ符号化技術としては、AAC(Advanced Audio Coding)方式や、HE−AAC(High Efficiency−Advanced Audio Coding)方式などがある。AAC方式やHE−AAC方式は、ISO/IECのMPEG−2/4 Audio規格の一つであり、日本のデジタル放送(地上波、BS、CS、ワンセグ)などに広く用いられている。
【0004】
このようなオーディオ符号化技術では、オーディオ符号化技術を実行する従来の符号化装置が、MDCT(Modified Discrete Cosine Transform)変換により周波数スペクトルにオーディオ信号を変換し、この周波数スペクトルを量子化し、その後、符号化する。
【0005】
上記したオーディオ符号化技術では、従来の符号化装置が、聴覚のマスキング特性を利用して、周波数スペクトルを量子化する。具体的には、従来の符号化装置は、ある音にマスクされて、聴覚的に聞こえない音の成分を決定する閾値(聞こえるか、聞こえないかの閾値)であるマスキング閾値を用いて、人の聴覚に聞こえる音だけを量子化する。
【0006】
例えば、従来の符号化装置は、オーディオ信号(符号化する音源)について、心理聴覚分析(聴覚によって、聞こえるか、聞こえないかを分析する手法)を行い、マスキング閾値を周波数ごとに求める。その後、従来の符号化装置は、求めたマスキング閾値から、量子化する際に許容できる誤差の限界(許容誤差電力)を、帯域(所定の周波数の幅)ごとに決定する。そして、従来の符号化装置は、許容誤差電力を用いて、聴覚的に聞こえる音源(周波数のスペクトル)のみを量子化する。
【0007】
なお、特許文献1(特開2006−18023号公報)には、マスキング閾値を調節する手法が開示されており、特許文献2(2001−7704号公報)には、符号化する際の効率(符号化する際に使用するビットの使用量を少なくする)手法が開示されており、特許文献3(特開平7−202823号公報)や特許文献4(特開平7−295594号公報)には、ビットの配分量を指定する手法が開示されている。
【0008】
【特許文献1】特開2006−18023号公報(第5−11頁、第1図)
【特許文献2】特開2001−7704号公報(第5−9頁、第1図)
【特許文献3】特開平7−202823号公報(第3−5頁、第1図)
【特許文献4】特開平7−295594号公報(第2−3頁、第1図)
【発明の開示】
【発明が解決しようとする課題】
【0009】
ところで、上記した従来の技術は、トーン性のある(高い)オーディオ信号を符号化する際に、音質が劣化していたという課題があった。
【0010】
具体的には、トーン性のあるオーディオ信号(例えば、正弦波やスイープ波など)を符号化する場合、図23の(1)に示すように、特定の帯域に強度(電力[dB]、パワー)が集中し、他の帯域と比較して相対的に大きなピークを示す(強度が強い周波数スペクトルとなる)。なお、ここで、図23は、従来技術を説明するための図であり、図23の(1)は、トーン性のあるオーディオ信号をMDCT変換して得られる周波数スペクトルの一例を示したものである。
【0011】
また、従来の符号化装置では、図23の(2)に示すように、ピークが含まれる帯域について算出される許容誤差電力だけでなく、ピークが含まれる帯域の近傍の帯域について算出される許容誤差電力も大きくなっていた。具体的には、ピークが含まれる帯域の周波数スペクトルは、他の周波数スペクトルと比較して電力が大きいため、従来の符号化装置では、ピークが含まれる帯域だけでなく、近傍の帯域について算出されるマスキング閾値も大きくなり、その結果、許容誤差電力も大きくなっていた。この結果、図23の(3)に示すように、ピーク近傍の帯域に存在する周波数スペクトルが許容誤差電力以下の周波数スペクトルとなり、従来の符号化装置は、これらの周波数スペクトルを、量子化対象外として量子化しなかった。
【0012】
ここで、MDCT変換して得られる周波数スペクトルであるMDCT係数各々は、オーディオ信号の振幅と位相の情報を含んでいる。例えば、ピーク近傍の周波数スペクトルを量子化対象外として量子化しない場合、量子化対象外とした周波数スペクトルに含まれる情報が消失し、ピークに関する音源の位相や振幅に影響し、ふるえ感などの音質劣化が生じる。特にトーン性のあるオーディオ信号では、特定の周波数(ピークのある帯域)付近の音源が主な音源であるため、ピーク近傍の周波数スペクトルに含まれる情報が消失したことによる影響が、トーン性の低いオーディオ信号と比較して、符号化した音源の音質に強く生じていた。
【0013】
このように、従来の符号化装置では、トーン性のあるオーディオ信号を符号化する際に、ピーク近傍の周波数スペクトルを確実に量子化することができず、十分な音質を維持したまま符号化することができなかった。
【0014】
なお、上記した特許文献1〜4には、ピーク近傍の周波数スペクトルを確実に量子化する手法は開示されておらず、トーン性のあるオーディオ信号を符号化する際の音質を十分に改善することができなかった。
【0015】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、トーン性のあるオーディオ信号の符号化音質を改善することが可能である符号化装置、符号化方法および符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【0016】
上述した課題を解決し、目的を達成するため、この符号化装置は、オーディオ信号を周波数スペクトルに変換し、当該周波数スペクトルを量子化して符号化する符号化装置において、前記周波数スペクトルからトーン性のある周波数スペクトルを検出された場合、前記オーディオ信号に応じて算出された許容誤差電力を補正する電力補正部と、前記電力補正部によって補正された許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、を有することを要件とする。
【0017】
また、この符号化装置は、オーディオ信号を符号化する符号化装置において、前記オーディオ信号を周波数スペクトルに変換する周波数変換部と、前記オーディオ信号に応じて、許容誤差電力を算出する電力算出部と、前記周波数変換部によって変換された前記周波数スペクトルから、トーン性のある周波数スペクトルを検出する検出部と、前記検出部での検出結果と前記電力算出部によって算出された前記許容誤差電力とを用いて、前記許容誤差電力を補正する電力補正部と、前記電力補正部によって補正された前記許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、を有することを要件とする。
【0018】
また、この符号化装置は、さらに、前記電力算出部は、前記オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて、前記許容誤差電力を算出し、前記検出部は、前記トーン性のある周波数スペクトルを検出するとともに当該周波数スペクトルが含まれる前記帯域を検出し、前記電力補正部は、前記検出部によって検出された前記帯域に近傍する帯域について前記電力算出部によって算出された前記許容誤差電力が、当該近傍する帯域についての前記周波数スペクトルの電力より小さくなるように補正することを要件とする。
【0019】
また、この符号化装置は、さらに、前記量子化部は、前記周波数スペクトルのダイナミックレンジを、スケール値によって一意に特定されるダイナミックレンジに縮小し、縮小したダイナミックレンジにおける当該周波数スペクトル各々を量子化するものであって、前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第1のスケール値算出部と、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域に近傍する帯域について、当該近傍する帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該近傍する帯域について前記電力補正部によって当該近傍する帯域について算出された前記許容誤差電力未満となるようなスケール値を、当該近傍する帯域についての当該スケール値として算出する第2のスケール値算出部と、をさらに備え、前記量子化部は、前記第2のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第2のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第2のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第1のスケール値算出部によって算出されたスケール値を用いて量子化することを要件とする。
【0020】
また、この符号化装置は、さらに、前記周波数スペクトルを前記量子化部が量子化して得られる値には、当該値として得ることが可能である最大の値が設定されているものであって、前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第1のスケール値算出部と、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる値が前記最大の値となるような前記スケール値を、当該帯域についての当該スケール値として算出する第3のスケール値算出部と、をさらに備え、前記量子化部は、前記第3のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第3のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第3のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第1のスケール値算出部によって算出されたスケール値を用いて量子化することを要件とする。
【0021】
また、この符号化装置は、さらに、前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第1のスケール値算出部と、前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する前記量子化誤差電力を、当該帯域について前記第1のスケール値算出部によって算出された前記スケール値を用いて算出し、かつ、当該第1のスケール値算出部によって算出された前記スケール値を所定の値に変更したスケール値である変更スケール値を用いて算出する誤差算出部と、をさらに備え、前記量子化部は、前記誤差算出部によって算出された前記量子化誤差電力の内、最も小さい当該量子化誤差電力が算出された際に用いられた前記スケール値または変更スケール値を用いて、前記帯域に含まれる当該周波数スペクトルを量子化することを要件とする。
【0022】
また、この符号化装置は、さらに、前記量子化部は、前記第3のスケール値算出部によって算出されたスケール値を用いて、すべての前記帯域に含まれる前記周波数スペクトル各々を量子化することを要件とする。
【0023】
また、この符号化装置は、さらに、所定の帯域数を記憶する帯域数記憶部をさらに備え、前記電力補正部は、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を中心として、前記帯域数記憶部によって記憶された前記所定の帯域数の範囲に位置する帯域各々を、前記近傍の帯域として前記許容誤差電力を補正することを要件とする。
【発明の効果】
【0024】
開示の符号化装置によれば、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【0025】
また、開示の符号化装置によれば、量子化誤差を最低限に抑えることが可能である。
【0026】
また、開示の符号化装置によれば、使用するビット数を、抑えることが可能である。
【発明を実施するための最良の形態】
【0027】
以下に添付図面を参照して、この発明に係る符号化装置、符号化方法および符号化プログラムの実施例を詳細に説明する。なお、以下では、実施例1に係る符号化装置を説明する上での前提技術、実施例1に係る符号化装置の概要および特徴、実施例1に係る符号化装置の構成および処理の流れを順に説明し、その後、その他の実施例について説明する。
【実施例1】
【0028】
[前提技術]
まず最初に、図1〜図4を用いて、実施例1に係る符号化装置を説明する上での前提技術を説明する、なお、図1〜図4は、実施例1に係る符号化装置の前提技術を説明するための図である。
【0029】
「周波数スペクトル」とは、オーディオ信号(音源)を周波数領域に変換(例えば、MDCT変換)した場合に得られる周波数ごとの係数(例えば、MDCT係数)である。「周波数スペクトル電力」とは、周波数スペクトルを二乗した値である。また、「トーン性のある周波数スペクトル」とは、周波数スペクトルの内、ある周波数に周波数スペクトル電力のピークが集中した場合の当該周波数の係数のことである。例えば、全ての周波数スペクトル電力の平均より大きい電力を持つ周波数スペクトルが該当する。なお、「トーン性のある周波数スペクトル」の変換元のオーディオ信号を、「トーン性のある音源」という。
【0030】
また、「量子化」とは、有効数字のうち、小数点以下の数値を切り捨てる処理である(例えば、「1.8」や「2.1」を「1」や「2」などの整数にする)。「量子化値」とは、周波数スペクトルを量子化することによって得られる値を示す。
【0031】
「量子化誤差」とは、周波数スペクトルを量子化することによって周波数スペクトル各々について発生する誤差であって、具体的には、図1に示すように、量子化前の周波数スペクトルと、逆量子化後のスペクトル(これを、「逆量子化スペクトル」とする)との差分がこれに該当する。
【0032】
ここで、「逆量子化スペクトル」とは、量子化値から得られる周波数スペクトルである。周波数スペクトルと量子化値と逆量子化スペクトルの関係を説明する。符号化装置は、以下に示す一連の処理によって、周波数スペクトルを量子化して、量子化値を得て、そして、量子化値から逆量子化スペクトルを得る。まず、符号化装置は、図1の(1)に示すように、周波数スペクトルのダイナミックレンジが大きいため、所定の「スケール値」を用いてスケーリングし、レンジを小さくする。その後、符号化装置は、図1の(2)に示すように、量子化を行い、量子化値を得る。そして、符号化装置は、図1の(3)に示すように、得られた量子化値を所定のスケール値を用いてリスケーリング(図1の(1)で行ったスケーリングの逆の処理)し、逆量子化スペクトルを得る。
【0033】
なお、ここで、逆量子化スペクトルは、図2の(1)に示す式によって示され、量子化値は、図2の(2)に示す式によって示される。なお、これらの式は、周波数スペクトルと量子化値とスケール値との関係を示す式である(式1)を変形したものである。なお、「2^(スケール値)」とは、「2の(スケール値)乗を示す。」
(式1) 周波数スペクトル = 量子化値×2^(スケール値)
【0034】
「スケール値」とは、帯域ごとに一つずつ与えられるものであり、例えば、図1に示す例では、図1の(4)に示す周波数スペクトルと、図1の(5)に示す周波数スペクトルとを含む帯域「b」に対して、一つのスケール値が与えられる。なお、スケール値としては、符号化装置によって、量子化誤差電力が許容誤差電力未満になるような値が用いられる。なお、帯域とは、周波数を所定の幅で分割した領域それぞれを示す。
【0035】
周波数スペクトルの「帯域電力」とは、帯域に含まれる周波数スペクトル電力各々の和を示す。
【0036】
周波数スペクトルの「量子化誤差電力」とは、量子化誤差の二乗の値を示す。また、ある帯域についての量子化誤差電力とは、当該帯域に含まれる周波数スペクトル各々を量子化する際に発生する量子化誤差から算出される量子化誤差電力各々の和を示す。具体的には、ある帯域の量子化誤差電力と量子化誤差との関係は、(式2)によって示される。なお、「^2」とは、「2乗」を示す。
(式2)ある帯域の量子化誤差電力 =Σ{(当該帯域に含まれる周波数スペクトル各々の量子化誤差)^2}
【0037】
また、「許容誤差電力」とは、量子化する際に許容できる最大の量子化誤差電力であり、オーディオ信号について算出される聴覚的に聞こえるか否かを示す閾値であるマスキング閾値が変換されて、オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて算出される。なお、マスキング閾値から許容誤差電力を算出する手法については、例えば、ISO/IEC 13818−7に記載された手法を用いてもよく、それ以外の手法を用いてもよい。
【0038】
具体的には、許容誤差電力は、「許容できる量子化誤差電力の限界」である。例えば、ある帯域の許容誤差電力とは、ある帯域について算出される量子化誤差電力であって、当該帯域の周波数スペクトルを量子化する際に発生する誤差として許容できる最大の値を示す。言い換えると、開示の符号化装置は、ある帯域における量子化前の周波数スペクトルの電力と、逆量子化スペクトルの電力との差が、許容誤差電力未満となるように、周波数スペクトルを量子化する。
【0039】
また、許容誤差電力は、マスキング閾値から変換されて帯域ごとに算出され、帯域ごとの周波数スペクトルの電力と比較して、どの帯域の周波数スペクトルを量子化するかを決定する際にも用いられる。なお、量子化する周波数スペクトルを決定する際に、許容誤差電力と比較するのは、比較対象となる帯域電力である。
【0040】
また、「符号化」とは、量子化値やスケール値を、例えばハフマン符号化を用いて別の値(符号)に変換する処理である。
【0041】
スケール値と、量子化誤差電力との関係について、簡単に説明する。上記したように、スケール値は、帯域に1つずつ割り当てられ、1つの帯域に含まれる周波数スペクトル各々は、割り当てられたスケール値を用いて量子化される。
【0042】
帯域内の、ある1つの周波数スペクトルに着目すると、量子化値とスケール値との関係は図3の(1)に示すようになり、以下の(式3)と(式4)とに示す関係が成立する。
(式3) スケール値大 ⇔ 量子化値小
(式4) スケール値小 ⇔ 量子化値大
【0043】
ここで、帯域に含まれる周波数スペクトルに着目すると、図3の(2)に示すように、スケール値を大きく設定すると、帯域内の電力の小さい周波数スペクトルから、量子化値が「0」となり、量子化誤差が増えることとなる。
【0044】
すなわち、スケール値と、量子化誤差電力とでは、図3の(3)に示すように、以下の(式5)と(式6)との関係が成立することになる。
(式5) スケール値大 ⇔ 量子化値小 → 量子化誤差 増
(式6) スケール値小 ⇔ 量子化値大 → 量子化誤差 減
なお、帯域に含まれるすべての周波数スペクトルを量子化値「0」で量子化する(つまり、量子化しない)場合には、量子化誤差電力が最大の値となり、以下の(式7)の関係が成立することになる。
(式7) 量子化誤差電力=帯域電力
【0045】
また、ここで、スケール値と、量子化誤差電力と、許容誤差電力との関係について簡単に説明する。まず、符号化装置は、帯域電力が、許容誤差電力よりも大きい場合に、量子化する対象の帯域とする。また、符号化装置は、図4に示すように、量子化誤差電力が許容誤差電力未満になるようなスケール値を用いて、周波数スペクトルを量子化する。このため、符号化装置は、図4に示すように、「許容誤差電力>量子化誤差電力」を満たすスケール値を用いて、量子化を行う。
【0046】
ここで、量子化電力と許容誤差電力と帯域電力との関係について、再度整理する。すなわち、
(1)量子化誤差電力の最大値は、帯域電力である。(式7)
(2)(式7)の関係は、すべての周波数スペクトルを量子化値「0」で量子化するとき(つまり、量子化しないとき)である。
(3)許容誤差電力>量子化誤差電力(これを(式A)とする)の場合を満たすスケール値を用いて量子化値を行う。
となる。いま、(式7)の関係が成り立っているとき、(量子化誤差電力=帯域電力)(式A)は、以下の(式B)によって示される。
(式B) 許容誤差電力>(量子化誤差電力=帯域電力)
帯域電力と量子化誤差電力とが等しいときは、上記したように、周波数スペクトルの量化値が「0」(つまり、量子化しない)の場合となる。言い換えると、許容誤差電力は、帯域の周波数スペクトルすべてを量子化するかしないかを決定する閾値となる。
【0047】
[符号化装置の概要および特徴]
次に、図5を用いて、実施例1に係る符号化装置の概要および特徴を説明する。図5は、実施例1に係る符号化装置の概要および特徴を説明するための図である。
【0048】
同図に示すように、実施例1に係る符号化装置は、オーディオ信号を符号化する符号化装置である。例えば、図5に示すように、符号化される音源(オーディオ信号)が入力されると、当該オーディオ信号を符号化するものである。この実施例1に係る符号化装置は、以下で説明するように、トーン性のあるオーディオ信号の符号化音質を改善することが可能である点に主たる特徴がある。
【0049】
すなわち、符号化される音源が入力されると、実施例1に係る符号化装置は、周波数変換部が、オーディオ信号を、図5の(1)に示すような周波数スペクトルに変換する。また、周波数変換部は、図5の(2)に示すように、周波数を所定の幅で分割した領域それぞれを示す帯域ごとに、周波数スペクトルの電力を算出する。例えば、周波数変換部は、帯域に含まれる周波数スペクトル各々の電力の合計(帯域電力)を算出する。なお、図5の(2)に示す例では、塗りつぶしされていない棒それぞれが、帯域各々における周波数スペクトルを示している。
【0050】
また、実施例1に係る符号化装置は、図5の(3)に示すように、電力算出部が、オーディオ信号に応じて、許容誤差電力を帯域ごとに算出する(上記した[前提技術]参照)。なお、図5の(3)に示す例では、灰色で塗りつぶした棒それぞれが、帯域各々(帯域単位での)における許容誤差電力を示している。
【0051】
そして、実施例1に係る符号化装置は、図5の(4)に示すように、検出部が、周波数変換部によって変換された周波数スペクトルから、トーン性のある周波数スペクトルを検出するとともに、当該周波数スペクトルが含まれる帯域を検出する。例えば、検出部は、図5の(4)に示す例では、図5の(4)における帯域「5」を、トーン性のある周波数スペクトルが含まれる帯域として検出する。
【0052】
そして、実施例1に係る符号化装置は、図5の(5)と(6)に示すように、電力補正部が、検出部での検出結果と電力算出部によって算出された許容誤差電力とを用いて、許容誤差電力を補正する。具体的には、電力補正部は、検出部によって検出された帯域に近傍する帯域について電力算出部によって算出された許容誤差電力が、当該近傍する帯域についての周波数スペクトルの電力より小さくなるように補正する。
【0053】
例えば、実施例1に係る符号化装置は、図5の(5)に示す例では、検出部によって検出された帯域「5」に隣接する二つの帯域(近傍する帯域)「4」と「6」とについて、図5の(6)に示すように、当該隣接する二つの帯域「4」と「6」とにおける周波数スペクトルの電力(図5に示す例では、塗りつぶしされていない棒)よりも、当該隣接する二つの帯域「4」と「6」とにおける許容誤差電力(図5に示す例では、灰色で塗りつぶした棒)が小さくなるように、許容誤差電力を補正する。
【0054】
そして、実施例1に係る符号化装置は、図5の(7)に示すように、量子化部が、電力補正部によって補正された許容誤差電力より大きな電力の周波数スペクトル各々を量子化する。例えば、量子化部は、図5の(7)に示す例では、トーン性のある周波数スペクトルが含まれる帯域「5」に含まれる周波数スペクトル各々と、電力補正部によって許容誤差電力が補正された帯域「4」と「6」とに含まれる周波数スペクトル各々とを、量子化する。
【0055】
このようなことから、実施例1に係る符号化装置は、上記した主たる特徴の如く、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【0056】
具体的には、ピーク電力近傍に存在する周波数スペクトル各々が量子化されるように、許容誤差電力を補正するので、ピーク電力近傍に存在する周波数スペクトル各々を確実に量子化することができ、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【0057】
[符号化装置の構成]
次に、図6〜図11を用いて、図5に示した符号化装置の構成を説明する。ここで、図6は、実施例1に係る符号化装置の構成を示すためのブロック図である。図7は、実施例1におけるトーン検出部を説明するための図である。図8は、実施例1における心理聴覚分析部を説明するための図である。図9は、実施例1における許容誤差電力補正部を説明するための図である。図10は、実施例1における許容誤差電力補正部を説明するための図である。図11は、実施例1におけるスケール値補正部を説明するための図である。
【0058】
図6に示すように、開示の符号化装置は、特に本発明に密接に関連するものとして、入力部101と、MDCT部102と、トーン検出部103と、心理聴覚分析部104と、許容誤差電力補正部105と、量子化帯域検出部106と、スケール値算出部107と、スケール値補正部108と、量子化部109と、符号化部110と、出力部111とを備える。
【0059】
なお、MDCT部102は、特許請求の範囲に記載の「周波数変換部」に対応する。心理聴覚分析部104は、特許請求の範囲に記載の「電力算出部」に対応する。トーン検出部103は、特許請求の範囲に記載の「検出部」に対応する。許容誤差電力補正部105は、特許請求の範囲に記載の「電力補正部」に対応する。量子化部109は、特許請求の範囲に記載の「量子化部」に対応する。スケール値算出部107は、特許請求の範囲に記載の「第1のスケール値算出部」と「第2のスケール値算出部」とに対応する。スケール値補正部108は、特許請求の範囲に記載の「第3のスケール値算出部」に対応する。
【0060】
入力部101は、オーディオ信号(符号化される音源)の入力を受付ける。なお、入力部101は、受付けたオーディオ信号を、後述するMDCT部102と後述する心理聴覚分析部104とに伝達する。
【0061】
MDCT部102は、入力部101から伝達されたオーディオ信号を周波数スペクトルに変換する。具体的には、MDCT部102は、入力部101から伝達されたオーディオ信号に、MDCT変換によって時間−周波数変換を行い、周波数スペクトルに変換する。ここで、時間−周波数変換とは、例えば、時間をパラメータとして表されている(例えば、横軸が「時間」で表される)オーディオ信号を、周波数をパラメータとして表される情報である(例えば、横軸が「周波数」で表される)周波数スペクトルに変換することを示す。
【0062】
また、MDCT部102は、変換した周波数スペクトルを、所定の周波数幅で分割した帯域ごとに、周波数スペクトルの電力を算出する。例えば、図7の(1)に示す例では、7つの帯域に分割し(帯域「0」から「6」)、帯域電力として、当該帯域に含まれる周波数スペクトル各々の電力の和を算出する。
【0063】
また、MDCT部102は、変換した周波数スペクトルと帯域電力とを、後述するトーン検出部103と、後述する量子化帯域検出部106に伝達する。
【0064】
トーン検出部103は、MDCT部102によって変換された周波数スペクトルをMDCT部102から受付けると、当該周波数スペクトルについてトーン性を分析し、トーン性のある周波数スペクトルを検出し、当該周波数スペクトルが含まれる帯域を検出する。
【0065】
また、例えば、トーン検出部103は、図7の(2)に示すように、算出した帯域それぞれの電力から、全帯域における電力の平均値(言い換えると、周波数スペクトル全体の電力の平均値)を算出する。具体的に例をあげて説明すると、帯域の数(帯域分割数)がband個(例えば、図7の(2)に示す図では、帯域の数は7個である)であり、各帯域電力が「Eband」である場合に、トーン検出部103は、全帯域の周波数スペクトルの平均電力「Eave」を、図7の(3)に示す式によって算出する。
【0066】
また、例えば、トーン検出部103は、図7の(4)に示すように、算出した全帯域における周波数スペクトルの平均電力を閾値として、閾値より大きい周波数スペクトルの平均電力を持つ帯域がある場合に、当該帯域をトーン性のある帯域であるとして検出する。具体的に例をあげて説明すると、トーン検出部103は、図7の(4)に示す例では、算出した周波数スペクトルの平均電力より大きな周波数スペクトルの平均電力を有する帯域である帯域「3」を、トーン性のある周波数スペクトルが含まれる帯域として検出する。
【0067】
また、トーン検出部103は、検出したトーン性のある周波数スペクトルが含まれる帯域を、後述する許容誤差電力補正部105と、後述するスケール値補正部108とに伝達する。例えば、トーン検出部103は、トーン性を検出したことを示すフラグ(tone_flag)と、検出した帯域を識別する情報(tone_band、例えば、図7の(2)に示す例では、帯域「3」)を、後述する許容誤差電力補正部105と、後述するスケール値補正部108とに伝達する。なお、トーン検出部103は、トーン性のある周波数スペクトルが含まれる帯域を検出しなかった場合には、トーン性を検出したことを示すフラグ(tone_flag)と、検出した帯域を識別する情報とを伝達しない。
【0068】
また、トーン検出部103は、MDCT部102から受付けた周波数スペクトルと帯域電力とを、後述する許容誤差電力補正部105に伝達する。
【0069】
心理聴覚分析部104は、入力部101からオーディオ信号が伝達されると、当該オーディオ信号に応じて、許容誤差電力を算出する(前提技術参照)。具体的には、入力部101からオーディオ信号が伝達されると、心理聴覚分析部104は、オーディオ信号に含まれる周波数を所定の幅の帯域に分割し、分割した帯域それぞれについて、許容誤差電力を算出する。
【0070】
心理聴覚分析部104は、図8の(1)に示すように、入力部101から伝達されたオーディオ信号について、マスキング閾値を算出する。また、心理聴覚分析部104は、図8の(2)に示すように、算出したマスキング閾値を変換して、許容誤差電力を算出する。
【0071】
なお、ここで、心理聴覚分析部104は、許容誤差電力を、帯域ごとに算出する。ここでいう「帯域」とは、MDCT部102によって用いられた帯域に対応するものである。言い換えると、心理聴覚分析部104は、MDCT部102によって帯域電力算出された帯域各々について、許容誤差電力を算出する。また、図8の(1)と(2)では、説明の便宜上、マスキング閾値と許容誤差電力とを、MDCT部102によって変換される周波数スペクトルに併せて(横軸が「周波数」である図を用いて)示している。
【0072】
また、心理聴覚分析部104は、算出した許容誤差電力を、後述する許容誤差電力補正部105に伝達する。
【0073】
許容誤差電力補正部105は、所定の帯域数を記憶する帯域数記憶部(図6には図示していない)を備え、図9に示すように、トーン検出部103から検出結果(「tone_band」と「tone_flag」と)が伝達され(図9に示す例では、「検出結果」が該当する)、かつ、心理聴覚分析部104から許容誤差電力が伝達され、トーン検出部103から周波数スペクトル電力が伝達されると(図9に示す例では、「許容誤差電力」と「帯域電力」とが該当する)、当該検出結果と当該許容誤差電力とを用いて、許容誤差電力を補正する。なお、帯域数記憶部は、特許請求の範囲に記載の「帯域数記憶部」に対応する。
【0074】
具体的には、トーン検出部103によって検出された帯域に近傍する帯域について心理聴覚分析部104によって算出された許容誤差電力が、当該近傍する帯域についての帯域電力より小さくなるように補正する。
【0075】
例えば、許容誤差電力補正部105は、トーン検出部103によって検出されたトーン性のある周波数スペクトルが含まれる帯域を中心として、帯域数記憶部によって記憶された所定の帯域数の範囲に位置する帯域各々を、近傍の帯域として検出する。
【0076】
例として、トーン検出部103によって「b」番目の帯域が検出され、帯域数記憶部に記憶する所定の帯域幅が補正帯域幅「B」である場合を例に、具体的に説明する。例えば、許容誤差電力補正部105は、図10の(1)に示すように、「b」番目の帯域を中心として、「b」帯域に隣接する「B」個の帯域を補正対象とする近傍の帯域として検出する。言い換えると、許容誤差電力補正部105は、「b−B」番目から「b+B」番目までの帯域を、補正対象とする近傍の帯域として検出する。例えば、図10の(1)に示す例では、「b=16」「B=4」であるので、許容誤差電力補正部105は、帯域「12」から「20」までの帯域を、補正対象とする近傍の帯域として検出する。
【0077】
また、例えば、許容誤差電力補正部105は、図10の(2)に示すように、検出した近傍の帯域について、許容誤差電力を補正する。具体的に例をあげて説明すると、図10の(1)に示す例では、検出した近傍する帯域である帯域「12」から「20」までの(帯域「16」を除く)補正前の許容誤差電力が、検出した近傍する帯域の帯域電力よりも大きい。このため、許容誤差電力補正部105は、図10の(2)に示すように、検出した近傍する帯域である帯域「12」から「20」までの(帯域「16」を除く)許容誤差電力が、周波数スペクトルの電力未満となるように一律に減衰させて補正する。その方法は、例えば、図10の(3)に示すように、「b−1」番目の帯域における補正後の許容誤差電力を「M´b−1」、「b−1」番目の帯域における補正前の許容誤差電力を「Mb−1」とした場合に、「M´b−1=g×Mb−1」(減衰量「g」<1.0)を計算して求める。
【0078】
また、許容誤差電力補正部105は、心理聴覚分析部104によって算出された許容誤差電力と、補正した許容誤差電力とを、後述する量子化帯域検出部106に伝達する。なお、許容誤差電力補正部105は、トーン検出部103から、トーン性を検出したことを示すフラグ(tone_flag)と、検出した帯域を識別する情報とが伝達されなかった場合には、許容誤差電力を補正する処理を行わず、心理聴覚分析部104によって算出された許容誤差電力を、後述する量子化帯域検出部106に伝達する。
【0079】
量子化帯域検出部106は、MDCT部102から周波数スペクトルが伝達され、許容誤差電力補正部105から許容誤差電力(許容誤差電力補正部105が補正した許容誤差電力を含む)が伝達されると、周波数スペクトルの帯域の内、量子化する帯域を検出する。
【0080】
具体的には、量子化帯域検出部106は、MDCT部102から伝達された帯域電力と、許容誤差電力補正部105から伝達された許容誤差電力とを帯域ごとに比較し、量子化対象とする帯域を決定する。さらに詳細には、量子化帯域検出部106は、許容誤差電力補正部105によって補正された許容誤差電力がある帯域については、当該補正された許容誤差電力と当該帯域の帯域電力とを比較する。また、量子化帯域検出部106は、許容誤差電力補正部105によって補正された許容誤差電力がない帯域については、心理聴覚分析部104によって算出された許容誤差電力と当該帯域の帯域電力とを比較する。また、量子化帯域検出部106は、許容誤差電力より大きな帯域電力を示す帯域各々を、量子化する対象の帯域として検出する。また、量子化帯域検出部106は、検出した帯域を識別する情報を検出する。
【0081】
また、量子化帯域検出部106は、検出した量子化する帯域を識別する情報と、許容誤差電力補正部105から伝達された許容誤差電力と、MDCT部102から伝達された周波数スペクトルとを、後述するスケール値算出部107に伝達する。
【0082】
スケール値算出部107は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルとが量子化帯域検出部106から伝達されると、量子化誤差電力が許容誤差電力未満になるようなスケール値を、帯域ごとに算出する。
【0083】
なお、スケール値算出部107は、トーン検出部103によって検出されたトーン性のある周波数スペクトルが含まれる帯域に近傍する帯域について、許容誤差電力補正部105によって許容誤差電力が補正された場合には、当該近傍する帯域について、当該補正された許容誤差電力未満となるようなスケール値を算出する。
【0084】
また、スケール値算出部107は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとに算出したスケール値とを、後述するスケール値補正部108に伝達する。
【0085】
スケール値補正部108は、図11の(1)に示すように、トーン性のある周波数スペクトルが含まれる帯域がトーン検出部103から伝達され(図11に示す例では、「トーン性検出結果」が該当する)、かつ、量子化する帯域を識別する情報と、許容誤差電力と、周波数スペクトルと、帯域ごとのスケール値とがスケール値算出部107から伝達されると(図11に示す例では、「周波数スペクトル」が該当する)、トーン性のある周波数スペクトルが含まれる帯域のスケール値を補正する。例えば、スケール値補正部108は、トーン検出部103によって検出されたトーン性のある周波数スペクトルが含まれる帯域を構成する周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる量子化値が量子化値の最大の値となるようなスケール値に、当該帯域についての当該スケール値を補正する。
【0086】
ここで、トーン性のある周波数スペクトルが含まれる帯域が帯域「b」であり、当該帯域「b」についてスケール値算出部107によって算出されたスケール値を「Sb」である場合を例に、具体的に説明する。スケール値補正部108は、帯域「b」に含まれる最大周波数スペクトルである「max_pow_spec」を探索して検出する(図9に示す例では、「最大周波数スペクトル探索」が該当する)。なお、ここでいう「最大周波数スペクトル」とは、トーン性のある周波数スペクトルが含まれる帯域を構成する周波数スペクトル各々の内、電力が最も大きい周波数スペクトルを示す。
【0087】
また、例えば、スケール値補正部108は、最大周波数スペクトルを検出すると、当該最大周波数スペクトルを量子化することによって得られる量子化値が、量子化値の最大値である「MAX_QUANT」となるようなスケール値「S‘b」を算出し(図9に示す例では、「補正スケール値算出」が該当する)、トーン検出部103によって検出されたトーン性のある周波数スペクトルが含まれる帯域のスケール値とする。例えば、図11の(2)に示す式に従って、スケール値「Sb」を、算出したスケール値「S‘b」に置き換える(スケール値「Sb」をスケール値「S‘b」に補正する)。なお、量子化値の最大値とは、符号化技術の規格で定められている値であり、AAC方式では、MAX_QUANT=8191である。
【0088】
また、スケール値補正部108は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値(スケール値補正部108が算出したトーン性のある周波数スペクトルが含まれる帯域のスケール値を含む)とを、後述する量子化部109に伝達する。
【0089】
量子化部109は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値とがスケール値補正部108から伝達されると、許容誤差電力より大きな電力の周波数スペクトル各々を量子化する。具体的には、量子化部109は、量子化帯域検出部106によって検出された帯域(量子化する帯域を識別する情報によって識別される帯域)各々について、周波数スペクトルのダイナミックレンジをスケール値によって一意に特定されるダイナミックレンジに縮小し、縮小したダイナミックレンジにおける帯域各々を構成する周波数スペクトルそれぞれを量子化する。
【0090】
さらに詳細には、量子化部109は、スケール値補正部108によってスケール値が算出された帯域に含まれる周波数スペクトル各々を、スケール値補正部108によって算出されたスケール値を用いて量子化し、スケール値補正部108によってスケール値が算出されていない帯域に含まれる周波数スペクトル各々を、スケール値算出部108によって算出されたスケール値を用いて量子化する。
【0091】
なお、ここで、量子化部109は、スケール値算出部107やスケール値補正部108によって算出されたスケール値を用いて、帯域単位に(帯域ごとに)ダイナミックレンジを変更するが、その後、量子化を実行する際には、帯域単位に行うのではなく、当該帯域各々を構成する周波数スペクトル単位ごと(周波数スペクトルごとに)に量子化を行う。つまり、量子化部109は、周波数スペクトル一つ一つに対して、量子化値を一つずつ得る。
【0092】
また、量子化部109は、量子化して得られた量子化値とスケール値とを、後述する符号化部110に伝達する。
【0093】
符号化部110は、量子化値とスケール値とが量子化部109から伝達されると、量子化値とスケール値とを符号化する。例えば、符号化部110は、ハフマン符号化を用いて量子化値とスケール値とをそれぞれ符号化する。また、符号化部110は、符号化した情報を、後述する出力部111に伝達する。
【0094】
出力部111は、符号化部110から符号化した情報が伝達されると、入力部101によって入力されたオーディオ信号を符号化した情報として、符号化部110から伝達された情報を出力する。
【0095】
なお、この符号化装置は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS端末、移動体通信端末またはPDAなどの情報処理装置に、上記したMDCT部102、トーン検出部103、心理聴覚分析部104、許容誤差電力補正部105、量子化帯域検出部106、スケール値算出部107、スケール値補正部108、量子化部109の各機能を搭載することによって実現することもできる。
【0096】
[符号化装置による処理]
次に、図12と図13とを用いて、符号化装置による処理を説明する。ここでは、まず、図12を用いて符号化装置による全体処理の流れを説明し、その後、図13を用いて、スケール値補正部108による処理の流れを説明する。なお、図12は、実施例1に係る符号化装置の処理全体の流れを示すフローチャートであり、図13は、実施例1に係るスケール値補正部の処理の流れを示すフローチャートである。
【0097】
[符号化装置による全体処理]
図12に示すように、開示の符号化装置では、オーディオ信号があると(ステップS101肯定)、つまり、入力部101によってオーディオ信号が受付けられると、MDCT部102は、MDCT変換を行う(ステップS102)。つまり、MDCT部102は、入力部101から伝達されたオーディオ信号を周波数スペクトルに変換する。そして、MDCT編幹部102は、帯域を分割し(ステップS103)、帯域電力を算出する(ステップS104)。つまり、MDCT部102は、周波数スペクトル電力を算出し、さらに所定の幅で分割した帯域ごとに、周波数スペクトル電力の和を算出する。
【0098】
そして、トーン検出部103は、トーン性のある周波数スペクトルが含まれる帯域を検出する(ステップS105)。つまり、トーン検出部103は、全帯域における周波数スペクトルの平均電力を閾値として、閾値より大きい周波数スペクトルの電力を持つ帯域がある場合に、当該帯域をトーン性が高い帯域であるとして検出する。
【0099】
そして、心理聴覚分析部104は、許容誤差電力を算出する(ステップS106)。つまり、入力部101からオーディオ信号が伝達されると、当該オーディオ信号に応じて、許容誤差電力を算出する。
【0100】
ここで、トーンがある場合には(ステップS107肯定)、言い換えると、上記したステップS105において、トーン検出部103によってトーン性のある帯域が検出された場合には、許容誤差電力補正部105は、許容誤差電力を補正する(ステップS108)。つまり、許容誤差電力補正部105は、トーン検出部103から検出結果が伝達された場合には、近傍する帯域についての許容誤差電力を補正する。例えば、許容誤差電力補正部105は、近傍する帯域についての許容誤差電力を、近傍の帯域についての帯域電力よりも小さい許容誤差電力に補正する。
【0101】
そして、許容誤差電力補正部105によって許容誤差電力が補正され(ステップS108)、または、トーンがない場合には(ステップS107否定)、量子化帯域検出部106は、量子化帯域を検出する(ステップS109)。つまり、量子化帯域検出部106は、MDCT部102から周波数スペクトルが伝達され、許容誤差電力補正部105から許容誤差電力が伝達されると、周波数スペクトルの帯域の内、量子化する帯域を検出する。
【0102】
そして、スケール値算出部107は、スケール値を算出する(ステップS110)。つまり、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルとが量子化帯域検出部106から伝達されると、量子化誤差電力が許容誤差電力未満になるようなスケール値を、帯域ごとに算出する。
【0103】
ここで、トーンがある場合には(ステップS111肯定)、スケール値補正部108は、スケール値を補正する(ステップS112)。つまり、トーン性のある周波数スペクトルが含まれる帯域がトーン検出部103から伝達され、かつ、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値とがスケール値算出部107から伝達されると、スケール値補正部108は、トーン性のある周波数スペクトルが含まれる帯域のスケール値を補正する。
【0104】
そして、スケール値補正部108によってスケール値が補正され(ステップS112)、または、トーンがない場合には(ステップS111否定)、量子化部109は、周波数スペクトルを量子化する(ステップS113)。つまり、量子化部109は、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値とがスケール値補正部108から伝達されると、量子化帯域検出部106によって検出された帯域各々の周波数スペクトル各々を量子化する。
【0105】
そして、符号化部110は、符号化する(ステップS114)。つまり、符号化部110は、量子化して得られた量子化値が量子化部109から伝達されると、量子化値を符号化する。
【0106】
[スケール値補正部による処理]
図13に示すように、開示の符号化装置では、スケール値が補正される場合には(ステップS201肯定)、つまり、トーン性のある周波数スペクトルが含まれる帯域がトーン検出部103から伝達され、かつ、量子化する帯域を識別する情報と許容誤差電力と周波数スペクトルと帯域ごとのスケール値とがスケール値算出部107から伝達されると、スケール値補正部108は、最大周波数スペクトルを検出する(ステップS202)。
【0107】
そして、例えば、スケール値補正部108は、量子化値が最大になる場合のスケール値を算出する(ステップS203)。つまり、スケール値補正部108は、トーン検出部103によって検出されたトーン性のある周波数スペクトルが含まれる帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる値が最大の値となるようなスケール値を算出する。
【0108】
そして、スケール値補正部108は、スケール値を補正する(ステップS204)。つまり、トーン性がある周波数スペクトルが検出された帯域について算出したスケール値に、スケール値算出部107によって算出されたスケール値を補正する。
【0109】
[実施例1の効果]
上記したように、実施例1によれば、開示の符号化装置は、オーディオ信号を周波数スペクトルに変換し、オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて、許容誤差電力を算出し、周波数スペクトルから、トーン性のある周波数スペクトルを検出するとともに当該周波数スペクトルが含まれる帯域を検出し、検出結果と許容誤差電力とを用いて、検出部によって検出された帯域に近傍する帯域について算出された許容誤差電力が、当該近傍する帯域についての周波数スペクトルの電力より小さくなるように補正し、補正された許容誤差電力より大きな電力の周波数スペクトル各々を量子化するので、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【0110】
具体的には、ピーク電力近傍に存在する周波数スペクトル各々が量子化されるように、許容誤差電力を補正するので、ピーク電力近傍に存在する周波数スペクトル各々を確実に量子化することができ、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【0111】
つまり、従来の手法では、トーン性のあるオーディオ信号を符号化する際に、トーン性のある周波数スペクトル近傍の周波数スペクトルを確実に量子化することができず、近傍の周波数スペクトルが失われ、その結果、図14の(1−1)に示すような原音が、図14の(1−2)に示すように、符号化音の位相特性が歪むことによって、振幅が変動し、音が震えることがあった。
【0112】
また、例えば、従来の手法では、振幅が変化して、オーバーフローすることによって(例えば、PCMの最大値である(16bit)を超えることによって)、クリップが発生してしまった。これにより、図14の(2)に示すように、異音(チリチリ)が発生していた。また、図14の(1−2)に示すように、振幅が変化することにより、ふるえ感が発生していた。
【0113】
このような従来の手法と比較して、開示の符号化装置によれば、図15に示すように、トーン性のある周波数スペクトル近傍の周波数スペクトルを確実に量子化することができるので、図16の(1)に示す原音を符号化する際に、図16の(2)に示すように、従来の手法による量子化では発生していた異音(チリチリ)の発生やふるえ感が、図16の(3)に示すように、改善され、トーン性のあるオーディオ信号の符号化音質を改善することが可能である。
【0114】
また、実施例1によれば、開示の符号化装置は、スケール値補正部108が、検出されたトーン性のある周波数スペクトルが含まれる帯域に近傍する帯域について、当該近傍する帯域に含まれる周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該近傍する帯域について許容誤差電力補正部105によって当該近傍する帯域について算出された許容誤差電力未満となるようなスケール値を、当該近傍する帯域についての当該スケール値として算出し、量子化部109が、スケール値補正部108によってスケール値が算出された帯域に含まれる周波数スペクトル各々を、スケール値補正部108によって算出されたスケール値を用いて量子化するので、許容誤差電力を補正した場合にも、適切なスケール値を用いて量子化を行うことが可能である。
【0115】
また、実施例1によれば、開示の符号化装置は、トーン検出部103によって検出されたトーン性のある周波数スペクトルが含まれる帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる値が最大の値となるようなスケール値を、当該帯域についての当該スケール値として算出するので、量子化誤差を最低限に抑えることが可能である。具体的には、トーン性のあるピークから得られる量子化値が、規格上設定されている最大値をとることにより、量子化誤差を最小限に最低限に抑えることができる。
【0116】
また、実施例1によれば、開示の符号化装置は、所定の帯域数を記憶し、検出されたトーン性のある周波数スペクトルが含まれる帯域を中心として、記憶する所定の帯域数の範囲に位置する帯域各々を、近傍の帯域として許容誤差電力を補正するので、簡単に許容誤差電力を補正する帯域を検出することが可能である。
【実施例2】
【0117】
ところで、実施例1では、開示の符号化装置は、スケール値補正部108が、トーン検出部103によって検出された帯域のスケール値を、当該帯域を構成する周波数スペクトル各々の内、最も大きな周波数スペクトルを量子化して得られる値が規格上の最大値となるようなスケール値にする手法について説明したが、本発明はこれに限定されるものではない。例えば、実施例2に係る符号化装置は、発生する量子化誤差電力の少ないスケール値を探索し、探索により得られたスケール値を用いてもよい。
【0118】
そこで、実施例2では、トーン検出部103によって検出された帯域のスケール値として、量子化誤差電力の少ないスケール値を探索し、探索により得られたスケール値を用いる符号化装置について説明する。すなわち、実施例2における符号化装置は、スケール値として、スケール値算出部107によって算出されたスケール値と、スケール値を所定の値変更した当該スケール値である変更スケール値の内、量子化する際に発生する量子化誤差(または、量子化誤差電力)を少なくするスケール値を用いるものである。なお、以下では、実施例1に係る符号化装置と同様の点については、簡単に説明し、または、説明を省略する。
【0119】
実施例2に係る符号化装置では、スケール値補正部108(特許請求の範囲に記載の「誤差算出部」に対応する)は、帯域に含まれる当該周波数スペクトルを量子化する際に発生する量子化誤差電力を、当該帯域についてスケール値算出部107によって算出されたスケール値を用いて算出し、かつ、スケール値算出部107によって算出されたスケール値を所定の値変更した当該スケール値である変更スケール値を用いて算出する。
【0120】
このため、実施例2におけるスケール値補正部108は、図17に示すように、実施例1におけるスケール値補正部108とは異なり(図11の(1)参照)、許容誤差電力(実施例2では、許容誤差電力補正部105によって補正された許容誤差電力と、補正される前の許容誤差電力と)を用いるものである。
【0121】
具体的には、実施例2に係る符号化装置では、トーン検出部103によって検出された帯域について、スケール値補正部108が、当該帯域を構成する周波数スペクトル各々を、スケール値算出部107によって算出されたスケール値を用いて量子化し、その際に発生する量子化誤差電力を算出する(前提技術参照)。
【0122】
ここで、トーン検出部103によって帯域「b」が検出され、帯域「b」についてのスケール値「Sb」がスケール値算出部107によって算出され、帯域「b」を構成する周波数スペクトルの本数が「Nb」である場合を例に、具体的に説明する。
【0123】
まず、実施例2に係る符号化装置では、スケール値補正部108が、帯域「b」を構成する周波数スペクトル各々をスケール値「Sb」を用いて量子化して量子化値を算出し、算出した量子化値とスケール値「Sb」とを用いて逆量子化を行い、逆量子化スペクトルを算出する。例えば、AAC符号化方式においては、帯域「b」に含まれるi番目のスペクトル「speci」から得られる量子化値「quanti」と、逆量子化スペクトル「ispeci」とを、スケール値補正部108は、図18の(1)と(2)に示す式によって算出する。
【0124】
そして、実施例2に係る符号化装置では、スケール値補正部108が、量子化前の周波数スペクトルと逆量子化スペクトルとから、当該帯域の量子化誤差電力を算出する。例えば、実施例2に係る符号化装置では、スケール値補正部108が、帯域「b」の量子化誤差電力「error_eb」を、図18の(3)に示す式によって算出する。なお、図18の(3)に示す式中の「Nb」は、帯域「b」に含まれる周波数スペクトルの数を示す。
【0125】
また、具体的には、実施例2に係る符号化装置では、スケール値補正部108が、スケール値算出部107によって算出されたスケール値を所定の値に変更し、トーン検出部103によって検出された帯域について、変更したスケール値(変更スケール値)を用いて量子化した際に発生する量子化誤差電力を算出する。
【0126】
例えば、スケール値補正部108は、スケール値「Sb」を所定の値「A」に変更し、得られた変更スケール値「S‘b(例えば、「S‘b」=「Sb」+「A」)」を用いて、帯域「b」を量子化した際に発生する量子化誤差電力を算出する。
【0127】
また、具体的には、実施例2に係る符号化装置では、スケール値補正部108が、スケール値算出部107によって算出されたスケール値を用いた際に発生する量子化誤差電力(量子化誤差電力「甲」とする)と、変更スケール値を用いた際に発生する量子化誤差電力(量子化誤差電力「乙」とする)とを比較し、量子化誤差電力「乙」の方が小さいかを判別する。ここで、スケール値補正部108は、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さい場合には、トーン検出部103によって検出された帯域のスケール値(例えば、「Sb」)を、変更スケール値(例えば、「S‘b」)に補正する。一方、スケール値補正部108は、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さくない場合には、スケール値を補正しない。
【0128】
また、実施例2に係る符号化装置では、スケール値補正部108が、様々な「A」を用いることによって複数のスケール値について量子化誤差電力を算出し、その中で、発生した量子化誤差電力が最も小さいスケール値に補正する。なお、例えば、スケール値補正部108は、変更スケール値として、一回目に「Sb1」、二回目に「Sb2」を用いた場合であって、一回目の変更スケール値「Sb1」を用いてスケール値算出部107によって算出されたスケール値「Sb」を補正した場合には、その後、スケール値補正部108は、「Sb1」を用いた際に発生する量子化誤差電力と、「Sb2」を用いた際に発生する量子化誤差電力とを比較する。
【0129】
また、例えば、スケール値補正部108は、所定の変更スケール値すべてについて(例えば、所定の「A」から算出される変更スケール値各々(変更スケール値候補)について)、比較したかを判別する。そして、スケール値補正部108は、すべての変更スケール値について比較を行うまで、スケール値補正処理を継続する。
【0130】
なお、実施例2に係る符号化装置では、スケール値補正部108が、量子化誤差電力を、一対一で比較する手法について説明したが、本発明はこれに限定されるものではなく、複数のスケール値について、それぞれ量子化誤差電力を算出し、算出した複数(例えば、三つ以上)の量子化誤差電力について同時に比較し、発生した量子化誤差電力が最も小さい一つのスケール値を用いてもよい。
【0131】
また、「A」の値は任意であり、「A」として「0」より大きな値を用いるだけでなく、「A」として「0」より小さな値を用いてもよい。また、スケール値補正部108は、変更スケール値として用いる値の個数(量子化誤差電力を算出して比較する回数)に関する設定を予め保持し、当該設定に基づいてスケール値補正処理を実行してもよい。
【0132】
なお、本発明は、様々な「A」を用いる(複数の変更スケール値を用いる)手法に限定されるものではなく、例えば、スケール値算出部107によって算出されたスケール値を、一つの変更スケール値のみと比較してもよい。例えば、変更スケール値として予め量子化誤差が少なくなると予測される値を一つ選択して用いてもよい。これにより、スケール値補正処理を迅速に実行することが可能である。
【0133】
なお、実施例2に係る符号化装置におけるスケール値補正部108による詳細な処理の流れの一例については、ここでは説明せず、後述する。
【0134】
実施例2に係る符号化装置では、量子化部109は、スケール値補正部108によって算出された量子化誤差電力の内、最も少ない当該量子化誤差電力が算出された際に用いられたスケール値(または変更スケール値)を用いて、帯域に含まれる当該周波数スペクトル各々を量子化する。例えば、スケール値補正部108によって、スケール値算出部107によって算出されたスケール値「Sb」と、当該スケール値を「A」に変更した値「S‘b」とについて量子化誤差電力が算出され、「S‘b」を用いた際に発生した量子化誤差電力が最も少なかった場合に、スケール値「S‘b」を用いて、トーン検出部103によって検出された帯域を構成する周波数スペクトル各々を量子化する。
【0135】
[実施例2におけるスケール値補正部による処理]
次に、図19を用いて、実施例2におけるスケール値補正部による処理を説明する。なお、図19は、実施例2に係る符号化装置のスケール値補正処理の流れを示すフローチャートである。
【0136】
なお、以下では、特に言及しない場合には、トーン検出部103によって帯域「b」が検出され、帯域「b」についてのスケール値「Sb」がスケール値算出部107によって算出され、帯域「b」を構成する周波数スペクトルの本数が「Nb」である場合を例として用いて説明する。
【0137】
図19に示すように、開示の符号化装置では、スケール値補正部108は、スケール値を補正する場合には(ステップS301肯定)、量子化誤差電力を算出する(ステップS302)。つまり、スケール値補正部108は、スケール値算出部107によって算出されたスケール値「Sb」を用いて量子化し、帯域「b」を量子化した際に発生する量子化誤差電力を算出する。
【0138】
そして、スケール値補正部108は、スケール値を変更する(ステップS303)。つまり、例えば、スケール値補正部108は、スケール値「Sb」を所定の値「A」に変更する。そして、スケール値補正部108は、変更したスケール値を用いて、量子化誤差電力を算出する(ステップS304)。つまり、例えば、スケール値補正部108は、得られた変更スケール値「S‘b」を用いて、帯域「b」を量子化した際に発生する量子化誤差電力を算出する。
【0139】
そして、スケール値補正部108は、量子化誤差電力を比較する(ステップS305)。つまり、例えば、スケール値補正部108は、帯域「b」を量子化した際に発生する量子化誤差電力について、スケール値算出部107によって算出されたスケール値「Sb」を用いた際の量子化誤差電力(量子化誤差電力「甲」)と、変更スケール値「S‘b」を用いた際の量子化誤差電力(量子化誤差電力「乙」)とを、比較する。
【0140】
そして、スケール値補正部108は、スケール値算出部107によって算出されたスケール値を用いた際の量子化誤差電力と比較して、変更スケール値を用いた際の量子化誤差電力が小さいかを判別する(ステップS306)。つまり、例えば、スケール値補正部108は、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さいかを判別する。ここで、スケール値補正部108は、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さい場合には(ステップS306肯定)、スケール値を補正する(ステップS307)。つまり、例えば、スケール値補正部108は、スケール値「Sb」を変更スケール値「S‘b」に補正する。
【0141】
そして、スケール値補正部108は、スケール値を補正すると(ステップS307)、または、量子化誤差電力「乙」が量子化誤差電力「甲」よりも小さくなかった場合には(ステップS306否定)、変更スケール値の候補について、すべて比較したかを判別する(ステップS308)。ここで、すべての変更スケール値の候補について比較した場合には(ステップS308肯定)、処理を終了する。一方、すべての変更スケール値の候補について比較していない場合には(ステップS308否定)、すべての変更スケール値の候補について比較するまで、上記したステップS303からS307までの処理を繰り返す。
【0142】
[実施例2の効果]
上記したように、実施例2によれば、開示の符号化装置は、スケール値補正部108が、量子化誤差電力を、スケール値算出部107によって算出されたスケール値を用いて算出し、かつ、変更スケール値を用いて算出し、算出した量子化誤差電力の内、最も少ない量子化誤差電力が算出された際に用いられたスケール値(または変更スケール値)を用いて量子化するので、量子化誤差を最低限に抑えることが可能である。
【実施例3】
【0143】
さて、これまで本発明の実施例1と実施例2とについて説明したが、本発明は上述した実施例1と実施例2と以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、その他の実施例について説明する。
【0144】
[スケール値]
例えば、上記した実施例1と実施例2とでは、スケール値補正部108は、トーン検出部103によって検出された帯域についてのみ、スケール値を補正する手法について説明したが、本発明はこれに限定されるものではなく、すべての帯域についてスケール値を補正してもよい。これにより、実施例3に係る符号化装置では、他の帯域についても、量子化誤差を少なくすることが可能である。
【0145】
また、例えば、量子化部109は、スケール値補正部108によって算出されたスケール値を用いて、すべての帯域に含まれる周波数スペクトル各々を量子化してもよい。具体的な一例をあげて説明すると、スケール値補正部108は、トーン検出部103によって検出された帯域についてのみ、スケール値を算出して補正し、さらに、トーン検出部103によって検出された帯域について算出したスケール値に、他の帯域についてのスケール値を補正する。そして、量子化部109は、トーン検出部103によって検出された帯域についてトーン検出部103によって算出したスケール値を用いて、すべての帯域の周波数スペクトル各々を量子化する。
【0146】
これにより、実施例3に係る符号化装置では、スケール値を符号化する際に使用するビット数を、抑えることが可能である。具体的には、符号化する際には、スケール値は、隣接するスケール値との差で表される。ここで、すべてのスケール値を同一のスケール値にすることによって、帯域各々に異なるスケール値が設定されている手法と比較して、帯域各々に設定されるスケール値を符号化する際に必要なビット数を抑えることが可能である。
【0147】
[近傍の帯域]
上記した実施例1では、近傍の帯域として、トーン検出部103によって検出された帯域を中心として所定の帯域幅にある帯域を用いる手法について説明したが、本発明はこれに限定されるものではなく、ピークの電力から所定の電力幅にある帯域を用いてもよい。
【0148】
言い換えると、図20に示すように、まず、トーン検出部103からの検出結果と帯域電力とから、予め設定されている電力幅を用いて、許容誤差電力を補正する帯域幅を決定し、その後、許容誤差電力を補正する。
【0149】
具体的には、実施例3に係る符号化装置では、許容誤差電力補正部105が、電力幅記憶部に、所定の電力幅を記憶する電力幅記憶部を備える。許容誤差電力補正部105は、電力幅記憶部に、例えば、「G」を記憶する。
【0150】
そして、実施例3に係る符号化装置では、図21に示すように、許容誤差電力補正部105は、トーン検出部103によって検出されたトーン性のある周波数スペクトルが含まれる帯域を含む一つまたは複数の連続している当該帯域であって、トーン検出部103によって検出された帯域の電力値から、電力幅記憶部に記憶されている所定の電力幅に減衰した電力値以上の電力値を有する帯域各々を、近傍の帯域として、許容誤差電力を補正する。
【0151】
例えば、図21に示す例を用いて、具体的に説明する。なお、ここでは、トーン性のある帯域の周波数スペクトルの電力が「Epeak」であり、電力幅記憶部が「G」を記憶し、7つの帯域があるものとして説明する。実施例3に係る符号化装置では、許容誤差電力補正部105が、「Epeak」から「G」を減衰させた電力である「Ethr」を算出し、許容誤差電力を補正する帯域を決定するための電力閾値とする。
【0152】
また、例えば、実施例3に係る符号化装置では、許容誤差電力補正部105が、トーン帯域に隣接する帯域において、電力閾値より大きい電力を持つ帯域を調べる。例えば、図21に示す例では、許容誤差電力補正部105は、帯域「2」と「4」とが電力閾値よりも大きい電力を示しているため、許容誤差電力を補正する帯域幅は、「B1(トーン帯域に隣接する帯域より低周波数側にある帯域の数)=1」、「B2(トーン帯域に隣接する帯域より高周波数側にある帯域の数)=1」とする。
【0153】
このように、実施例3に係る符号化装置は、簡単に許容誤差電力を補正する帯域を検出することが可能である。
【0154】
[システム構成]
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(例えば、図5〜図13図17〜図21)については、特記する場合を除いて任意に変更することができる。
【0155】
[実施例の組み合わせ]
また、上記した実施例1においては、例えば、許容誤差電力を補正する際に、(1)スケール値を補正する手法と、(2)量子化値が最大値になるようなスケール値を用いる手法と、(3)近傍の帯域を検出する際に、所定の帯域幅を用いる手法と、を併せて実施する場合について説明した。しかし、本発明の実施はこれに限定されるものではなく、許容誤差電力を補正する際に、(1)〜(3)を併せて実施しなくてもよく、また、(1)〜(3)の内いずれか一つまたは複数のみを実施してもよい。
【0156】
また、同様に、実施例2と、上記した実施例3において説明した手法についても、同様に、これらの手法の内、いずれか一つを実施する場合に本発明が限定されるものではなく、複数の手法を併せて実施してもよい。
【0157】
[プログラム]
ところで、上記実施例1では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、予め用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図22を用いて、上記の実施例1に示した符号化装置と同様の機能を有する符号化プログラムを実行するコンピュータの一例を説明する。なお、図22は、実施例1に係る符号化装置のプログラムを説明するための図である。
【0158】
同図に示すように、実施例1における符号化装置3000は、操作部3001、マイク3002、スピーカ3003、ディスプレイ3005、通信部3006、CPU3010、ROM3011、HDD3012、RAM3013をバス3009などで接続して構成されている。
【0159】
ROM3011には、上記の実施例1で示した入力部101と、MDCT部102と、トーン検出部103と、心理聴覚分析部104と、許容誤差電力補正部105と、量子化帯域検出部106と、スケール値算出部107と、スケール値補正部108と、量子化部109と、符号化部110と、出力部111と同様の機能を発揮する制御プログラム、つまり、同図に示すように、入力プログラム3011aと、MDCTプログラム3011bと、トーン検出プログラム3011cと、心理聴覚分析プログラム3011dと、許容誤差電力補正プログラム3011eと、量子化帯域検出プログラム3011fと、スケール値算出プログラム3011gと、スケール値補正プログラム3011hと、量子化プログラム3011iと、符号化プログラム3011jと、出力プログラム3011kとが予め記憶されている。なお、これらのプログラム3011a〜3011kについては、図6に示した符号化装置の各構成要素と同様、適宜統合または分離してもよい。
【0160】
そして、CPU3010が、これらのプログラム3011a〜3011kをROM3011から読み出して実行することにより、図22に示すように、各プログラム3011a〜3011kについては、入力プロセス3010aと、MDCTプロセス3010bと、トーン検出プロセス3010cと、心理聴覚分析プロセス3010dと、許容誤差電力補正プロセス3010eと、量子化帯域検出プロセス3010fと、スケール値算出プロセス3010gと、スケール値補正プロセス3010hと、量子化プロセス3010iと、符号化プロセス3010jと、出力プロセス3010kとして機能するようになる。なお、各プロセス3010a〜3010kは、図6に示した、入力部101と、MDCT部102と、トーン検出部103と、心理聴覚分析部104と、許容誤差電力補正部105と、量子化帯域検出部106と、スケール値算出部107と、スケール値補正部108と、量子化部109と、符号化部110と、出力部111とにそれぞれ対応する。
【0161】
[その他]
なお、本実施例で説明した符号化装置は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【0162】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0163】
(付記1)オーディオ信号を周波数スペクトルに変換し、当該周波数スペクトルを量子化して符号化する符号化装置において、前記周波数スペクトルからトーン性のある周波数スペクトルを検出された場合、前記オーディオ信号に応じて算出された許容誤差電力を補正する電力補正部と、
前記電力補正部によって補正された許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、を有することを特徴とする符号化装置。
【0164】
(付記2)オーディオ信号を符号化する符号化装置において、
前記オーディオ信号を周波数スペクトルに変換する周波数変換部と、
前記オーディオ信号に応じて、許容誤差電力を算出する電力算出部と、
前記周波数変換部によって変換された前記周波数スペクトルから、トーン性のある周波数スペクトルを検出する検出部と、
前記検出部での検出結果と前記電力算出部によって算出された前記許容誤差電力とを用いて、前記許容誤差電力を補正する電力補正部と、
前記電力補正部によって補正された前記許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、
を有することを特徴とする符号化装置。
【0165】
(付記3)前記電力算出部は、前記オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて、前記許容誤差電力を算出し、
前記検出部は、前記トーン性のある周波数スペクトルを検出するとともに当該周波数スペクトルが含まれる前記帯域を検出し、
前記電力補正部は、前記検出部によって検出された前記帯域に近傍する帯域について前記電力算出部によって算出された前記許容誤差電力が、当該近傍する帯域についての前記周波数スペクトルの電力より小さくなるように補正することを特徴とする付記2に記載の符号化装置。
【0166】
(付記4)前記量子化部は、前記周波数スペクトルのダイナミックレンジを、スケール値によって一意に特定されるダイナミックレンジに縮小し、縮小したダイナミックレンジにおける当該周波数スペクトル各々を量子化するものであって、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第1のスケール値算出部と、
前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域に近傍する帯域について、当該近傍する帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該近傍する帯域について前記電力補正部によって当該近傍する帯域について算出された前記許容誤差電力未満となるようなスケール値を、当該近傍する帯域についての当該スケール値として算出する第2のスケール値算出部と、
をさらに備え、
前記量子化部は、前記第2のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第2のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第2のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第1のスケール値算出部によって算出されたスケール値を用いて量子化することを特徴とする付記2または3に記載の符号化装置。
【0167】
(付記5)前記周波数スペクトルを前記量子化部が量子化して得られる値には、当該値として得ることが可能である最大の値が設定されているものであって、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第1のスケール値算出部と、
前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから得られる値が前記最大の値となるような前記スケール値を、当該帯域についての当該スケール値として算出する第3のスケール値算出部と、
をさらに備え、
前記量子化部は、前記第3のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第3のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第3のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第1のスケール値算出部によって算出されたスケール値を用いて量子化することを特徴とする付記2〜4のいずれか一つに記載の符号化装置。
【0168】
(付記6)前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第1のスケール値算出部と、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する前記量子化誤差電力を、当該帯域について前記第1のスケール値算出部によって算出された前記スケール値を用いて算出し、かつ、当該第1のスケール値算出部によって算出された前記スケール値を所定の値に変更したスケール値である変更スケール値を用いて算出する誤差算出部と、
をさらに備え、
前記量子化部は、前記誤差算出部によって算出された前記量子化誤差電力の内、最も小さい当該量子化誤差電力が算出された際に用いられた前記スケール値または変更スケール値を用いて、前記帯域に含まれる当該周波数スペクトルを量子化することを特徴とする付記2〜4のいずれか一つに記載の符号化装置。
【0169】
(付記7)前記量子化部は、前記第3のスケール値算出部によって算出されたスケール値を用いて、すべての前記帯域に含まれる前記周波数スペクトル各々を量子化することを特徴とする付記4〜6のいずれか一つに記載の符号化装置。
【0170】
(付記8)所定の帯域数を記憶する帯域数記憶部をさらに備え、
前記電力補正部は、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を中心として、前記帯域数記憶部によって記憶された前記所定の帯域数の範囲に位置する帯域各々を、前記近傍の帯域として前記許容誤差電力を補正することを特徴とする付記2〜7のいずれか一つに記載の符号化装置。
【0171】
(付記9)所定の電力幅を記憶する電力幅記憶部をさらに備え、
前記電力補正部は、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を含む一つまたは複数の連続している当該帯域であって、前記検出部によって検出された前記帯域の電力値から、電力幅記憶部に記憶されている前記所定の電力幅減衰した電力値以上の電力値を有する当該帯域各々を、前記近傍の帯域として前記許容誤差電力を補正することを特徴とする付記2〜8のいずれか一つに記載の符号化装置。
【0172】
(付記10)オーディオ信号を周波数スペクトルに変換し、符号化する符号化方法において、
前記周波数スペクトルからトーン性のある周波数スペクトルを検出し、前記オーディオ信号に応じた許容誤差電力を補正するステップと、
補正された許容誤差電力を用いて、前記周波数スペクトルを量子化するステップと、
を含むことを特徴とする符号化方法。
【0173】
(付記11)オーディオ信号を周波数スペクトルに変換し、符号化する処理をコンピュータに実行させる符号化プログラムであって、
前記周波数スペクトルからトーン性のある周波数スペクトルを検出し、前記オーディオ信号に応じた許容誤差電力を補正する手順と、
補正された許容誤差電力を用いて、前記周波数スペクトルを量子化する手順と、
をコンピュータに実行させることを特徴とする符号化プログラム。
【図面の簡単な説明】
【0174】
【図1】実施例1に係る符号化装置の前提技術を説明するための図である。
【図2】実施例1に係る符号化装置の前提技術を説明するための図である。
【図3】実施例1に係る符号化装置の前提技術を説明するための図である。
【図4】実施例1に係る符号化装置の前提技術を説明するための図である。
【図5】実施例1に係る符号化装置の概要および特徴を示すための図である。
【図6】実施例1に係る符号化装置の構成を示すためのブロック図である。
【図7】実施例1におけるトーン検出部を説明するための図である。
【図8】実施例1における心理聴覚分析部を説明するための図である。
【図9】実施例1における許容誤差電力補正部を説明するための図である。
【図10】実施例1における許容誤差電力補正部を説明するための図である。
【図11】実施例1におけるスケール値補正部を説明するための図である。
【図12】実施例1に係る符号化装置の処理全体の流れを示すフローチャートである。
【図13】実施例1に係るスケール値補正部の処理の流れを示すフローチャートである。
【図14】実施例1に係る符号化装置の効果を説明するための図である。
【図15】実施例1に係る符号化装置の効果を説明するための図である。
【図16】実施例1に係る符号化装置の効果を説明するための図である。
【図17】実施例2に係る符号化装置を説明するための図である。
【図18】実施例2に係る符号化装置を説明するための図である。
【図19】実施例2に係る符号化装置のスケール値補正処理の流れを示すフローチャートである。
【図20】実施例3に係る符号化装置を説明するための図である。
【図21】実施例3に係る符号化装置を説明するための図である。
【図22】実施例1に係る符号化装置のプログラムを説明するための図である。
【図23】従来技術を説明するための図である。
【符号の説明】
【0175】
101 入力部
102 MDCT部
103 トーン検出部
104 心理聴覚分析部
105 許容誤差電力補正部
106 量子化帯域検出部
107 スケール値算出部
108 スケール値補正部
109 量子化部
110 符号化部
111 出力部

【特許請求の範囲】
【請求項1】
オーディオ信号を周波数スペクトルに変換し、当該周波数スペクトルを量子化して符号化する符号化装置において、
前記周波数スペクトルからトーン性のある周波数スペクトルを検出された場合、前記オーディオ信号に応じて算出された許容誤差電力を補正する電力補正部と、
前記電力補正部によって補正された許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、を有することを特徴とする符号化装置。
【請求項2】
オーディオ信号を符号化する符号化装置において、
前記オーディオ信号を周波数スペクトルに変換する周波数変換部と、
前記オーディオ信号に応じて、許容誤差電力を算出する電力算出部と、
前記周波数変換部によって変換された前記周波数スペクトルから、トーン性のある周波数スペクトルを検出する検出部と、
前記検出部での検出結果と前記電力算出部によって算出された前記許容誤差電力とを用いて、前記許容誤差電力を補正する電力補正部と、
前記電力補正部によって補正された前記許容誤差電力より大きな電力の前記周波数スペクトル各々を量子化する量子化部と、
を有することを特徴とする符号化装置。
【請求項3】
前記電力算出部は、前記オーディオ信号の周波数を所定の幅で分割した帯域それぞれについて、前記許容誤差電力を算出し、
前記検出部は、前記トーン性のある周波数スペクトルを検出するとともに当該周波数スペクトルが含まれる前記帯域を検出し、
前記電力補正部は、前記検出部によって検出された前記帯域に近傍する帯域について前記電力算出部によって算出された前記許容誤差電力が、当該近傍する帯域についての前記周波数スペクトルの電力より小さくなるように補正することを特徴とする請求項2に記載の符号化装置。
【請求項4】
前記量子化部は、前記周波数スペクトルのダイナミックレンジを、スケール値によって一意に特定されるダイナミックレンジに縮小し、縮小したダイナミックレンジにおける当該周波数スペクトル各々を量子化するものであって、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第1のスケール値算出部と、
前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域に近傍する帯域について、当該近傍する帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該近傍する帯域について前記電力補正部によって当該近傍する帯域について算出された前記許容誤差電力未満となるようなスケール値を、当該近傍する帯域についての当該スケール値として算出する第2のスケール値算出部と、
をさらに備え、
前記量子化部は、前記第2のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第2のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第2のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第1のスケール値算出部によって算出されたスケール値を用いて量子化することを特徴とする請求項2または3に記載の符号化装置。
【請求項5】
前記周波数スペクトルを前記量子化部が量子化して得られる値には、当該値として得ることが可能である最大の値が設定されているものであって、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第1のスケール値算出部と、
前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を構成する当該周波数スペクトル各々の内、最も大きな当該周波数スペクトルから 得られる値が前記最大の値となるような前記スケール値を、当該帯域についての当該スケール値として算出する第3のスケール値算出部と、
をさらに備え、
前記量子化部は、前記第3のスケール値算出部によって前記スケール値が算出された前記帯域に含まれる前記周波数スペクトル各々を、当該第3のスケール値算出部によって算出された前記スケール値を用いて量子化し、当該第3のスケール値算出部によって当該スケール値が算出されていない当該帯域に含まれる前記周波数スペクトル各々を、前記第1のスケール値算出部によって算出されたスケール値を用いて量子化することを特徴とする請求項2〜4のいずれか一つに記載の符号化装置。
【請求項6】
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する誤差である量子化誤差から算出される量子化誤差電力が、当該帯域について電力算出部によって算出された前記許容誤差電力未満になるようなスケール値を、前記帯域ごとに算出する第1のスケール値算出部と、
前記帯域に含まれる前記周波数スペクトルを量子化する際に発生する前記量子化誤差電力を、当該帯域について前記第1のスケール値算出部によって算出された前記スケール値を用いて算出し、かつ、当該第1のスケール値算出部によって算出された前記スケール値を所定の値に変更 したスケール値である変更スケール値を用いて算出する誤差算出部と、
をさらに備え、
前記量子化部は、前記誤差算出部によって算出された前記量子化誤差電力の内、最も小さい当該量子化誤差電力が算出された際に用いられた前記スケール値または変更スケール値を用いて、前記帯域に含まれる当該周波数スペクトルを量子化することを特徴とする請求項2〜4のいずれか一つに記載の符号化装置。
【請求項7】
前記量子化部は、前記第3のスケール値算出部によって算出されたスケール値を用いて、すべての前記帯域に含まれる前記周波数スペクトル各々を量子化することを特徴とする請求項4〜6のいずれか一つに記載の符号化装置。
【請求項8】
所定の帯域数を記憶する帯域数記憶部をさらに備え、
前記電力補正部は、前記検出部によって検出された前記トーン性のある前記周波数スペクトルが含まれる前記帯域を中心として、前記帯域数記憶部によって記憶された前記所定の帯域数の範囲に位置する帯域各々を、前記近傍の帯域として前記許容誤差電力を補正することを特徴とする請求項2〜7のいずれか一つに記載の符号化装置。
【請求項9】
オーディオ信号を周波数スペクトルに変換し、符号化する符号化方法において、
前記周波数スペクトルからトーン性のある周波数スペクトル を検出し、前記オーディオ信号に応じた許容誤差電力を補正するステップと、
補正された許容誤差電力を用いて、前記周波数スペクトルを量子化するステップと、
を含むことを特徴とする符号化方法。
【請求項10】
オーディオ信号を周波数スペクトルに変換し、符号化する処理をコンピュータに実行させる符号化プログラムであって、
前記周波数スペクトルからトーン性のある周波数スペクトル を検出し、前記オーディオ信号に応じた許容誤差電力を補正する手順と、
補正された許容誤差電力を用いて、前記周波数スペクトルを量子化する手順と、
をコンピュータに実行させることを特徴とする符号化プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図16】
image rotate


【公開番号】特開2009−198612(P2009−198612A)
【公開日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願番号】特願2008−37991(P2008−37991)
【出願日】平成20年2月19日(2008.2.19)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】