(57)【要約】【課題】符号化効率を向上させるように情報の重複を避けてデータを符号化し、符号化されたこのデータを復号化する。【解決手段】ＣＰＵ１５の符号化部１５−１は、各周波数帯域の重要度の高い順に、量子化したデータのエントロピー符号化を行い、その符号化データの合計符号量が目標符号量を超えたとき、そのときの周波数帯域のＭＤＣＴ係数をすべて削除する。符号化部１５−１は、この周波数帯域のＭＤＣＴ係数を符号化対象から除外するため、存在フラグを１にセットする。この周波数帯域の包絡値は０となるため、符号化部１５−１は、この存在フラグを符号化せずに、再計算した包絡値のみを符号化して情報の重複を避ける。復号化部１５−２は、包絡値０となった周波数帯域のＭＤＣＴ係数に０をセットして符号化データを復号化する。【選択図】図１
2009193015.tif 000002
【特許請求の範囲】
【請求項１】
デジタル信号を周波数変換して得られた周波数変換係数の全周波数帯域を複数の分割周波数帯域に分割する周波数帯域分割部と、
前記周波数帯域分割部が分割した前記分割周波数毎に、各周波数変換係数を量子化する量子化部と、
前記量子化部が量子化した前記周波数変換係数を符号化対象とするか、前記符号化対象から除外するかを示す識別情報を生成する識別情報生成部と、
前記分割周波数帯域毎に、前記量子化部によって量子化された前記周波数変換係数の最大値を、包絡値として取得する包絡値取得部と、
前記分割周波数帯域毎に重要度を取得し、前記識別情報生成部が生成した識別情報に基づいて前記符号化対象の前記周波数変換係数を判別し、判別した前記周波数変換係数を、前記分割周波数帯域毎に取得した重要度の順に符号化するとともに、前記識別情報生成部が生成した識別情報と前記包絡値取得部が前記分割周波数帯域毎に取得した前記包絡値とを符号化する符号化部と、を備え、
前記符号化部は、符号化したデータの合計符号量が予め設定された目標符号量を超えて前記分割周波数帯域の周波数変換係数が符号化対象から除外されたとき、当該符号化対象から除外された分割周波数帯域について前記包絡値取得部が取得した前記包絡値、または前記分割周波数帯域の周波数変換係数を符号化対象から除外する旨の識別情報のいずれか一方を符号化する、
ことを特徴とする符号化装置。
【請求項２】
前記符号化部が符号化したデータの合計符号量と予め設定された目標符号量とを比較する符号量比較部と、
前記符号量比較部の比較結果に基づいて前記合計符号量が前記目標符号量を超えたと判別したときに、前記符号化部が符号化した前記分割周波数帯域の周波数変換係数を削除する帯域データ削除部と、を備え、
前記識別情報生成部は、前記帯域データ削除部が削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報を生成し、
前記包絡値取得部は、前記帯域データ削除部により削除された分割周波数帯域の包絡値を再取得し、
前記符号化部は、前記包絡値取得部が再取得した前記包絡値、または前記帯域データ削除部が削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報のいずれか一方を符号化する、
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記請求項１又は前記請求項２に記載の符号化装置によって符号化されたデータを復号化する復号化部と、
前記復号化部が復号化したデータのうち、前記符号化対象から除外された周波数変換係数を、前記復号化部が復号化した前記包絡値及び前記識別情報に基づいて判別し、判別した前記周波数変換係数に、予め設定された値を挿入する周波数変換係数設定部と、
前記復号化部が復元した前記周波数変換係数及び前記周波数変換係数設定部が予め設定された値を挿入した前記周波数変換係数の逆量子化を行う逆量子化部と、
前記逆量子化部が逆量子化を行った前記周波数変換係数の逆周波数変換を行い、前記デジタル信号を復元する逆周波数変換部と、を備えた、
ことを特徴とする復号化装置。
【請求項４】
デジタル信号を周波数変換して得られた周波数変換係数の全周波数帯域を複数の分割周波数帯域に分割するステップと、
前記分割周波数毎に、各周波数変換係数を量子化するステップと、
量子化した前記周波数変換係数を符号化対象とするか、前記符号化対象から除外するかを示す識別情報を生成するステップと、
前記分割周波数帯域毎に量子化された前記周波数変換係数の最大値を、包絡値として取得するステップと、
前記分割周波数帯域毎に重要度を取得し、前記識別情報に基づいて前記符号化対象の前記周波数変換係数を判別し、判別した前記周波数変換係数を、前記分割周波数帯域毎に取得した重要度の順に符号化するとともに、前記識別情報と前記分割周波数帯域毎に取得した前記包絡値とを符号化するステップと、
符号化したデータの合計符号量が予め設定された目標符号量を超えたとき、前記合計符号量が前記目標符号量を超えた分割周波数帯域の周波数変換係数を削除するステップと、
削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報を生成するステップと、
前記削除ステップにより削除された分割周波数帯域の包絡値を再取得するステップと、
再取得した前記包絡値、または削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報のいずれか一方を符号化するステップと、を備えた、
ことを特徴とする符号化方法。
【請求項５】
前記請求項４に記載の符号化方法によって符号化されたデータを復号化するステップと、
復号化したデータのうち、前記符号化対象から除外された周波数変換係数を、復号化した前記包絡値及び前記識別情報に基づいて判別し、判別した前記周波数変換係数に、予め設定された値を挿入するステップと、
前記周波数変換係数の逆量子化を行うステップと、
逆量子化を行った前記周波数変換係数の逆周波数変換を行い、前記デジタル信号を復元するステップと、を備えた、
ことを特徴とする復号化方法。
【請求項６】
コンピュータに、
デジタル信号を周波数変換して得られた周波数変換係数の全周波数帯域を複数の分割周波数帯域に分割する手順、
前記分割周波数毎に、各周波数変換係数を量子化する手順、
量子化した前記周波数変換係数を符号化対象とするか、前記符号化対象から除外するかを示す識別情報を生成する手順、
前記分割周波数帯域毎に量子化された前記周波数変換係数の最大値を、包絡値として取得する手順、
前記分割周波数帯域毎に重要度を取得し、前記識別情報に基づいて前記符号化対象の前記周波数変換係数を判別し、判別した前記周波数変換係数を、前記分割周波数帯域毎に取得した重要度の順に符号化するとともに、前記識別情報と前記分割周波数帯域毎に取得した前記包絡値とを符号化する手順、
符号化したデータの合計符号量が予め設定された目標符号量を超えたとき、前記合計符号量が前記目標符号量を超えた分割周波数帯域の周波数変換係数を削除する手順、
削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報を生成する手順、
前記削除手順により削除された分割周波数帯域の包絡値を再取得する手順、
再取得した前記包絡値、または削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報のいずれか一方を符号化する手順、
を実行させるためのプログラム。
【請求項７】
コンピュータに、
請求項６に記載のプログラムに従って符号化されたデータを復号化する手順、
復号化したデータのうち、前記符号化対象から除外された周波数変換係数を、復号化した前記包絡値及び前記識別情報に基づいて判別し、判別した前記周波数変換係数に、予め設定された値を挿入する手順、
前記周波数変換係数の逆量子化を行う手順、
逆量子化を行った前記周波数変換係数の逆周波数変換を行い、前記デジタル信号を復元する手順、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置、復号化装置、符号化方法、復号化方法及びプログラムに関するものである。
【背景技術】
【０００２】
従来、人間の聴覚の特性に基づいて音声符号化を行い、この符号化データを復号化する音声処理装置がある（例えば、特許文献１参照）。
【０００３】
音声処理装置は、録音時にデジタル音声信号を符号化し、再生時に符号化されて生成された符号列を復号化する。
【０００４】
このような音声処理装置は、電子辞書装置のような語学辞書において発音される単語の音声用としても利用される。語学辞書用の音声処理装置では、十分な音質を確保しつつ、16kbps程度のデータレートを確保しなければならない。
【特許文献１】特開２００５−１２８４０４号公報（第４−１０頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このため、符号化に際し、データ量をできるだけ低減させてデジタル音声信号を符号化する必要がある。また、このように符号化された符号化データを復号化して、できるだけ忠実にデジタル音声信号を復元する必要がある。
【０００６】
本発明は、このような従来の問題点に鑑みてなされたもので、符号化効率を向上させることが可能な符号化装置、符号化方法及びプログラムを提供することを目的とする。
【０００７】
また、本発明は、符号化されたデータからデジタル信号を復元することが可能な復号化装置、復号化方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この目的を達成するため、本発明の第１の観点に係る符号化装置は、
デジタル信号を周波数変換して得られた周波数変換係数の全周波数帯域を複数の分割周波数帯域に分割する周波数帯域分割部と、
前記周波数帯域分割部が分割した前記分割周波数毎に、各周波数変換係数を量子化する量子化部と、
前記量子化部が量子化した前記周波数変換係数を符号化対象とするか、前記符号化対象から除外するかを示す識別情報を生成する識別情報生成部と、
前記分割周波数帯域毎に、前記量子化部によって量子化された前記周波数変換係数の最大値を、包絡値として取得する包絡値取得部と、
前記分割周波数帯域毎に重要度を取得し、前記識別情報生成部が生成した識別情報に基づいて前記符号化対象の前記周波数変換係数を判別し、判別した前記周波数変換係数を、前記分割周波数帯域毎に取得した重要度の順に符号化するとともに、前記識別情報生成部が生成した識別情報と前記包絡値取得部が前記分割周波数帯域毎に取得した前記包絡値とを符号化する符号化部と、を備え、
前記符号化部は、符号化したデータの合計符号量が予め設定された目標符号量を超えて前記分割周波数帯域の周波数変換係数が符号化対象から除外されたとき、当該符号化対象から除外された分割周波数帯域について前記包絡値取得部が取得した前記包絡値、または前記分割周波数帯域の周波数変換係数を符号化対象から除外する旨の識別情報のいずれか一方を符号化することを特徴とする。
【０００９】
前記符号化部が符号化したデータの合計符号量と予め設定された目標符号量とを比較する符号量比較部と、
前記符号量比較部の比較結果に基づいて前記合計符号量が前記目標符号量を超えたと判別したときに、前記符号化部が符号化した前記分割周波数帯域の周波数変換係数を削除する帯域データ削除部と、を備え、
前記識別情報生成部は、前記帯域データ削除部が削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報を生成し、
前記包絡値取得部は、前記帯域データ削除部により削除された分割周波数帯域の包絡値を再取得し、
前記符号化部は、前記包絡値取得部が再取得した前記包絡値、または前記帯域データ削除部が削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報のいずれか一方を符号化するようにしてもよい。
【００１０】
本発明の第２の観点に係る復号化装置は、
上述の符号化装置によって符号化されたデータを復号化する復号化部と、
前記復号化部が復号化したデータのうち、前記符号化対象から除外された周波数変換係数を、前記復号化部が復号化した前記包絡値及び前記識別情報に基づいて判別し、判別した前記周波数変換係数に、予め設定された値を挿入する周波数変換係数設定部と、
前記復号化部が復元した前記周波数変換係数及び前記周波数変換係数設定部が予め設定された値を挿入した前記周波数変換係数の逆量子化を行う逆量子化部と、
前記逆量子化部が逆量子化を行った前記周波数変換係数の逆周波数変換を行い、前記デジタル信号を復元する逆周波数変換部と、を備えたことを特徴とする。
【００１１】
本発明の第３の観点に係る符号化方法は、
デジタル信号を周波数変換して得られた周波数変換係数の全周波数帯域を複数の分割周波数帯域に分割するステップと、
前記分割周波数毎に、各周波数変換係数を量子化するステップと、
量子化した前記周波数変換係数を符号化対象とするか、前記符号化対象から除外するかを示す識別情報を生成するステップと、
前記分割周波数帯域毎に量子化された前記周波数変換係数の最大値を、包絡値として取得するステップと、
前記分割周波数帯域毎に重要度を取得し、前記識別情報に基づいて前記符号化対象の前記周波数変換係数を判別し、判別した前記周波数変換係数を、前記分割周波数帯域毎に取得した重要度の順に符号化するとともに、前記識別情報と前記分割周波数帯域毎に取得した前記包絡値とを符号化するステップと、
符号化したデータの合計符号量が予め設定された目標符号量を超えたとき、前記合計符号量が前記目標符号量を超えた分割周波数帯域の周波数変換係数を削除するステップと、
削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報を生成するステップと、
前記削除ステップにより削除された分割周波数帯域の包絡値を再取得するステップと、
再取得した前記包絡値、または削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報のいずれか一方を符号化するステップと、を備えたことを特徴とする。
【００１２】
本発明の第４の観点に係る復号化方法は、
上述の符号化方法によって符号化されたデータを復号化するステップと、
復号化したデータのうち、前記符号化対象から除外された周波数変換係数を、復号化した前記包絡値及び前記識別情報に基づいて判別し、判別した前記周波数変換係数に、予め設定された値を挿入するステップと、
前記周波数変換係数の逆量子化を行うステップと、
逆量子化を行った前記周波数変換係数の逆周波数変換を行い、前記デジタル信号を復元するステップと、を備えたことを特徴とする。
【００１３】
本発明の第５の観点に係るプログラムは、
コンピュータに、
デジタル信号を周波数変換して得られた周波数変換係数の全周波数帯域を複数の分割周波数帯域に分割する手順、
前記分割周波数毎に、各周波数変換係数を量子化する手順、
量子化した前記周波数変換係数を符号化対象とするか、前記符号化対象から除外するかを示す識別情報を生成する手順、
前記分割周波数帯域毎に量子化された前記周波数変換係数の最大値を、包絡値として取得する手順、
前記分割周波数帯域毎に重要度を取得し、前記識別情報に基づいて前記符号化対象の前記周波数変換係数を判別し、判別した前記周波数変換係数を、前記分割周波数帯域毎に取得した重要度の順に符号化するとともに、前記識別情報と前記分割周波数帯域毎に取得した前記包絡値とを符号化する手順、
符号化したデータの合計符号量が予め設定された目標符号量を超えたとき、前記合計符号量が前記目標符号量を超えた分割周波数帯域の周波数変換係数を削除する手順、
削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報を生成する手順、
前記削除手順により削除された分割周波数帯域の包絡値を再取得する手順、
再取得した前記包絡値、または削除した前記分割周波数帯域の周波数変換係数を前記符号化対象から除外する旨の識別情報のいずれか一方を符号化する手順、
を実行させるためのものである。
【００１４】
本発明の第６の観点に係るプログラムは、
コンピュータに、
上述のプログラムに従って符号化されたデータを復号化する手順、
復号化したデータのうち、前記符号化対象から除外された周波数変換係数を、復号化した前記包絡値及び前記識別情報に基づいて判別し、判別した前記周波数変換係数に、予め設定された値を挿入する手順、
前記周波数変換係数の逆量子化を行う手順、
逆量子化を行った前記周波数変換係数の逆周波数変換を行い、前記デジタル信号を復元する手順、
を実行させるためのものである。
【発明の効果】
【００１５】
本発明によれば、符号化効率を向上させることができる。また、符号化されたデータからデジタル信号を復元することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態に係る符号化・復号化装置を図面を参照して説明する。尚、本実施形態では、符号化・復号化装置を音声処理装置に適用した場合について説明する。
【００１７】
本実施形態に係る音声処理装置の構成を図１に示す。
本実施形態に係る音声処理装置１は、音声入出力装置１１と、記憶装置１２と、ＲＯＭ１３と、ＲＡＭ１４と、ＣＰＵ１５と、を備える。これらのものは、バスを介して接続される。
【００１８】
この音声処理装置１は、例えば、電子辞書装置のような語学辞書用のものであり、十分な音質を確保しつつ、16kbps程度のデータレートを確保するようにしている。
【００１９】
このため、この音声処理装置１は、符号化前の周波数変換係数の最大値としての包絡値の情報と、デジタル音声信号から変換された周波数変換係数を符号化対象とするか否かを示す存在フラグの情報との重複を避けて符号化効率を向上させるように構成されている。
【００２０】
音声入出力装置１１は、入力された音声をデジタル音声信号に変換し、また、デジタル音声信号が供給されると、このデジタル音声信号に基づいて音声を出力するものである。音声入出力装置１１は、例えば、入力された音声をサンプリング周波数１６ｋＨｚでサンプリングし、１６ビットで量子化してデジタル音声信号Sound0を生成する。
【００２１】
記憶装置１２は、音声入出力装置１１が生成したデジタル音声信号Sound0を記憶するとともに、このデジタル音声信号Sound0の符号化処理に必要なデータを記憶するものである。
【００２２】
ＲＯＭ１３は、ＣＰＵ１５が音声処理に必要なプログラムのデータ等を記憶するものである。ＲＡＭ１４は、ＣＰＵ１５が処理に必要なデータを記憶するものである。
【００２３】
ＣＰＵ１５は、ＲＯＭ１３に記憶されたプログラムデータに従って、各処理を実行するものであり、符号化部１５−１と復号化部１５−２とを備える。
【００２４】
符号化部１５−１は、音声入出力装置１１が変換したデジタル音声信号の符号化をフレーム単位で行うものであり、図２に示すように、ＤＣ削除部２１と、ＭＤＣＴ（Modified Descrete Cosine Transform, 修正離散コサイン変換）部２２と、正規化部２３と、帯域分割部２４と、包絡生成部２５と、包絡除算部２６と、量子化部２７と、存在フラグ生成部２８と、包絡再計算部２９と、エントロピー符号化部３０と、符号量比較部３１と、帯域データ削除部３２と、によって構成される。
【００２５】
ＤＣ削除部２１は、音声入出力装置１１が生成したデジタル音声信号Sound0から、直流成分Ｘdcを削除するものである。直流成分Ｘdcを削除するのは、直流成分Ｘdcが音質に関係しないためである。ＤＣ削除部２１は、例えば、次の式（１）によって表される高域通過フィルタによって構成される。
【数１】
2009193015.tif 000003
・・・（１）
ＤＣ削除部２１は、この高域通過フィルタを介して直流成分Ｘdcを削除したデジタル音声信号Sound1を取得し、取得したデジタル音声信号Sound1をＭＤＣＴ部２２に供給する。また、ＤＣ削除部２１は、直流成分Ｘdcのデータを記憶装置１２に記憶する。
【００２６】
ＭＤＣＴ部２２は、ＤＣ削除部２１から供給されたデジタル音声信号Sound1に対して、１フレームを複数のブロックに分割し、ブロック毎に周波数変換を行い、周波数変換係数としてＭＤＣＴ係数Ｘk（ｋ；変換した周波数を示す符号）を算出するものである。ＭＤＣＴ部２２は、次の式（２）に従い、ＭＤＣＴ係数Ｘkを算出する。
【数２】
2009193015.tif 000004
・・・（２）
尚、ＭＤＣＴ係数Ｘkのタップ長Ｍは５１２タップが理想的である。
【００２７】
正規化部２３は、ＭＤＣＴ部２２が算出したＭＤＣＴ係数Ｘkを正規化（量子化）するものである。正規化部２３は、ＭＤＣＴ係数Ｘkの最大値gainを取得して分離し、各ＭＤＣＴ係数Ｘkをこの最大値gainで除算することにより、正規化を行う。
【００２８】
即ち、正規化部２３は、次の式（３）に従い、フレーム毎に、ＭＤＣＴ係数Ｘkの最大値gainを取得する。
gain＝ＭＡＸ｛ｘk|ｋ＝１，・・・，Ｎ｝
但し、ＭＡＸ；最大値gainを取得する関数
ｘk；１フレームにおけるサンプル（ＭＤＣＴ係数）
Ｎ；１フレームにおけるサンプル数
・・・（３）
【００２９】
正規化部２３は、次の式（４）に従って正規化を行う。
【数３】
2009193015.tif 000005
・・・（４）
正規化部２３は、このような正規化を行うことにより、ＭＤＣＴ係数Ｘkを８ビット程度に量子化し、ＭＤＣＴ係数Ｘk_regを取得する。正規化部２３は、取得したＭＤＣＴ係数Ｘk_regを帯域分割部２４に供給する。また、正規化部２３は、最大値gainを記憶装置１２に記憶する。
【００３０】
帯域分割部２４は、正規化部２３から供給されたＭＤＣＴ係数Ｘk_regの全周波数帯域を複数の（分割）周波数帯域b_i（ｉ；分割した周波数帯域の数）に分割する（区分けする）ものである。帯域分割部２４は、人間の聴覚の特性に合わせて、低域（低周波数帯域）ほど狭く、高域（高周波数帯域）ほど広くなるように、全周波数帯域を分割する。周波数分割部２４は、周波数帯域b_iの情報を記憶装置１２に記憶する。
【００３１】
包絡生成部２５は、包絡値env_iを取得するものである。包絡生成部２５は、各周波数帯域b_i中でＭＤＣＴ係数Ｘk_regの絶対値の最大値を検索し、各周波数帯域b_iの最大値を包絡値env_iとして取得する。
【００３２】
包絡除算部２６は、包絡生成部２５が取得したenv_iで各ＭＤＣＴ係数Ｘk_regを除算して、除算した結果のＭＤＣＴ係数Ｘk_eを取得するものである。
【００３３】
量子化部２７は、包絡除算部２６が取得したＭＤＣＴ係数Ｘk_eを、各周波数帯域b_i毎に予め設定された精度で量子化するものであり、量子化した結果のＭＤＣＴ係数Ｘk_qを取得する。量子化部２７は、取得したＭＤＣＴ係数Ｘk_qを存在フラグ生成部２８に供給する。
【００３４】
存在フラグ生成部２８は、存在フラグFl_kを生成するものである。この存在フラグFl_kは、量子化されたＭＤＣＴ係数Ｘk_qを符号化対象とするか符号化対象から除外するかを示す識別情報であり、各ＭＤＣＴ係数Ｘk_qに対応している。
【００３５】
符号化部１５−１は、量子化部２７の量子化によってＭＤＣＴ係数Ｘk_qが０となったとき、符号量低減のため、このＭＤＣＴ係数Ｘk_qを符号化対象とはしない。この場合、存在フラグ生成部２８は、このＭＤＣＴ係数Ｘk_qを符号化対象から除外することを示すため、この存在フラグFl_kに１をセットする。
【００３６】
また、存在フラグ生成部２８は、帯域データ削除部３２から、重要度の低い周波数帯域b_iのＭＤＣＴ係数Ｘk_qを削除した旨の通知を受けると、この周波数帯域b_i内の各ＭＤＣＴ係数Ｘk_qに対応する存在フラグFl_kに１をセットする。
【００３７】
一方、存在フラグ生成部２８は、それ以外のＭＤＣＴ係数Ｘk_qを符号化対象とするため、存在フラグFl_kに０をセットする。
【００３８】
包絡再計算部２９は、包絡値env_iの再計算を行うものである。量子化部２７がＭＤＣＴ係数Ｘk_regを量子化した場合、あるいは、帯域データ削除部３２のデータが、ある周波数帯域b_iのＭＤＣＴ係数Ｘk_qを削除した場合、包絡値env_iは変化する。包絡再計算部２９は、このような場合のために包絡値env_iを再計算する。
【００３９】
包絡再計算部２９は、符号化対象のＭＤＣＴ係数Ｘk_qと、存在フラグ生成部２８が生成した存在フラグFl_kと、をエントロピー符号化３０に供給する。
【００４０】
但し、帯域データ削除部３２が、ある周波数帯域b_iのＭＤＣＴ係数Ｘkを削除すると、この周波数帯域b_iの包絡値env_iが０となり、包絡値env_kと、削除されたＭＤＣＴ係数Ｘkの存在フラグFl_kとが重複する。このため、包絡再計算部２９は、再計算した包絡値env_iのみをエントロピー符号化３０に供給し、この周波数帯域b_iのＭＤＣＴ係数Ｘk_qと存在フラグFl_kとの供給を停止する。包絡再計算部２９は、このようにして、情報の重複を避ける。
【００４１】
エントロピー符号化部３０は、包絡再計算部２９から供給された符号化対象のＭＤＣＴ係数Ｘk_qを符号化し、符号化データＸk_codeを生成するものである。
【００４２】
エントロピー符号化部３０は、符号化の処理量を低減するため、存在フラグFl_kと包絡値env_iとに基づいて符号化対象のＭＤＣＴ係数Ｘk_qを判別する。
【００４３】
エントロピー符号化部３０は、符号化データの符号量を目標符号量以下とするため、周波数帯域b_i毎に重要度を算出し、この重要度に基づいて、符号化対象の周波数帯域b_iを選択する。
【００４４】
重要度を算出する最も単純な方法として、エントロピー符号化部３０は、各周波数帯域毎の合計エネルギーを用いる。周波数帯域ｉの合計エネルギーｇiは、次の式（５）によって表される。
【数４】
2009193015.tif 000006
・・・（５）
【００４５】
エントロピー符号化部３０は、この式（５）に従ってエネルギーｇiを算出し、このエネルギーｇiが高いほどこの周波数帯域b_iの重要度が高いと判定する。そして、エントロピー符号化部３０は、重要度の高い順に周波数帯域b_iを選択し、選択した周波数帯域b_iのＭＤＣＴ係数Ｘk_qのエントロピー符号化を行う。
【００４６】
尚、エントロピー符号化部３０は、場合に応じ、エネルギーｇiに、周波数に依存した重み係数を乗算しても良い。その場合、例えば、エントロピー符号化部３０は、５００Ｈｚ未満の周波数帯の周波数係数には、１．３を乗算し、５００以上３５００Ｈｚ未満の周波数帯の周波数係数には、１．１を乗算し、３５００Ｈｚ以上の周波数帯の周波数係数には、１．０を乗算する。
【００４７】
エントロピー符号化部３０は、RangeCoder、ハフマンコード等のエントロピー符号化に従い、コード表を用いてＭＤＣＴ係数Ｘk_qを符号化し、符号化データＸk_codeを生成する。
【００４８】
また、エントロピー符号化部３０は、ＭＤＣＴ係数Ｘk_qとともに、各部のデータも符号化する。
【００４９】
エントロピー符号化部３０は、各部のデータとして、最大値gainと、周波数帯域b_1〜b_7を示すデータと、包絡再計算部２９が再計算した包絡値env_iと、存在フラグFl_kと、を符号化する。
【００５０】
存在フラグFl_kについては、エントロピー符号化部３０は、復号化部１−２が量子化により０となったＭＤＣＴ係数Ｘk_qが符号化対象から除外されたことを判別できるようにするため、このＭＤＣＴ係数Ｘk_qを示す存在フラグFl_kを符号化対象とする。
【００５１】
一方、帯域データ削除部３２によって削除された周波数帯域b_iの包絡値env_iの情報があれば、復号化部１−２は、存在フラグFl_kの情報がなくても周波数帯域b_i内のＭＤＣＴ係数Ｘk_qが符号化対象から除外されたことを判別できる。即ち、帯域データ削除部３２によって削除された周波数帯域b_iについては、包絡値env_iの情報と存在フラグFl_kとの情報が重複していることになる。
【００５２】
このため、エントロピー符号化部３０は、この重複を避けるため、帯域データ削除部３２によって削除された周波数帯域b_iの存在フラグFl_kを符号化対象から除外する。
【００５３】
エントロピー符号化部３０は、生成した符号化データＸk_codeと、符号化に用いたコード表と、符号化した各部のデータと、を記憶装置１２に記憶する。そして、エントロピー符号化部３０は、符号化したデータを符号量比較部３１に供給する。
【００５４】
符号量比較部３１は、エントロピー符号化部３０からデータが供給される毎に、供給されたデータの符号量を合計し、この合計符号量と目標符号量とを比較するものである。この目標符号量は、十分な音質を確保しつつ、16kbps程度のデータレートを確保するために予め設定されたものである。
【００５５】
符号量比較部３１は、合計符号量と目標符号量とを比較した比較結果を帯域データ削除部３２に供給する。
【００５６】
帯域データ削除部３２は、符号量比較部３１の比較結果に基づいて、合計符号量が目標符号量を超えたか否かを判別し、超えた場合、その周波数帯域b_iのＭＤＣＴ係数Ｘk_qを削除するものである。
【００５７】
帯域データ削除部３２は、周波数帯域b_iのＭＤＣＴ係数Ｘk_qを削除した場合、この旨を存在フラグ生成部２８に通知する。
【００５８】
図１に示す復号化部１５−２は、記憶装置１２からデータを読み出して符号化データＸk_codeを復号化し、デジタル音声信号を復元するものであり、図３に示すように、エントロピー復号化部４１と、包絡値処理部４２と、逆量子化部４３と、包絡乗算部４４と、ゲイン合成部４５と、ＩＭＤＣＴ部４６と、を備える。
【００５９】
エントロピー復号化部４１は、供給された符号化データＸk_code及び各部のデータのエントロピー復号を行い、ＭＤＣＴ係数Ｘk_qと各部のデータとを取得するものである。
【００６０】
包絡値処理部４２は、符号化対象から除外されたＭＤＣＴ係数Ｘk_qに、予め設定された値として０をセットするものである。包絡値処理部４２は、このようなＭＤＣＴ係数Ｘk_qとして、包絡値env_iが０である周波数帯域b_iのＭＤＣＴ係数Ｘk_q、存在フラグFl_kに１がセットされたＭＤＣＴ係数Ｘk_qに０をセットする。
【００６１】
逆量子化部４３は、各ＭＤＣＴ係数Ｘk_qに対し、各周波数帯域b_i毎に予め設定された精度で逆量子化を行い、ＭＤＣＴ係数Ｘkを取得するものである。逆量子化部４３は、取得したＭＤＣＴ係数Ｘkを包絡乗算部４４に供給する。
【００６２】
包絡乗算部４４は、逆量子化部４３から供給されたＭＤＣＴ係数Ｘkと包絡値env_iとを乗算するものであり、乗算することにより、正規化部２３が正規化したＭＤＣＴ係数Ｘk_regを取得する。包絡乗算部４４は、取得したＭＤＣＴ係数Ｘk_regをゲイン合成部４５に供給する。
【００６３】
ゲイン合成部４５は、包絡乗算部４４から供給されたＭＤＣＴ係数Ｘk_regに最大値gainを乗算し、正規化前のＭＤＣＴ係数Ｘkを取得するものである。ゲイン合成部４５は、取得したＭＤＣＴ係数ＸkをＩＭＤＣＴ部４６に供給する。
【００６４】
ＩＭＤＣＴ部４６は、ゲイン合成部４５から供給されたＭＤＣＴ係数Ｘkに対して、逆ＭＤＣＴを行うものである。ＩＭＤＣＴ部４６は、逆ＭＤＣＴを行ってデジタル音声信号Sound1を取得してデジタル音声信号を復元する。
【００６５】
次に本実施形態に係る音声処理装置１の動作を説明する。
録音時、音声が入力されると、音声入出力装置１１は、図４（ａ）に示すように、サンプリング間隔Ｔs毎に、入力された音声をデジタル音声信号Sound0に変換する。
【００６６】
ＣＰＵ１５の符号化部１５−１は、音声入出力装置１１が変換したデジタル音声信号Sound0を取得し、ＤＣ削除部２１は、このデジタル音声信号Sound0に対し、式（１）に従って演算を行うことにより、図４（ａ）に示す直流成分Ｘdcを削除し、デジタル音声信号Sound1を取得する。
【００６７】
ＭＤＣＴ部２２は、デジタル音声信号Sound1に対し、式（２）に従って、ブロック毎に周波数変換を行い、図４（ｂ）に示すようなＭＤＣＴ係数Ｘｋを算出する。
【００６８】
図４（ｂ）に示すように、この全体のＭＤＣＴ係数Ｘkのうち、周波数ｆ３のＭＤＣＴ係数Ｘ3が最大とすると、正規化部２３は、式（３）に従ってこのＭＤＣＴ係数Ｘ3を最大値gainとして取得し、式（４）に従い、取得した最大値gainで各ＭＤＣＴ係数Ｘkを除算する。正規化部２３は、このような演算により正規化を行い、ＭＤＣＴ係数Ｘk_regを取得する。
【００６９】
帯域分割部２４は、全周波数帯域を複数の周波数帯域b_iに分割する。ここでは、図４（ｃ）に示すように、帯域分割部２４は、ｉ＝７として、全周波数帯域を７つの周波数帯域b_1〜b_7に分割するものとする。
【００７０】
包絡生成部２５は、図５（ａ）に示すように、帯域分割部２４が分割した各周波数帯域b_1〜b_7毎に、各ＭＤＣＴ係数Ｘk_regの包絡値env_1〜env_7を取得する。
【００７１】
包絡除算部２６は、包絡生成部２５が取得した包絡値env_1〜env_7で各周波数帯域b_1〜b_7のＭＤＣＴ係数Ｘk_regを除算し、図５（ｂ）に示すようなＭＤＣＴ係数Ｘk_eを取得する。
【００７２】
量子化部２７は、例えば、図６（ａ）に示すように、周波数帯域b_1を低域、周波数帯域b_2〜b_5を中域、周波数帯域b_6，b_7を高域として、低域、中域、高域毎に量子化の精度を設定する。
【００７３】
そして、量子化部２７は、ＭＤＣＴ係数Ｘk_eに対して、周波数帯域b_1〜b_7毎に予め設定された精度で量子化を行い、図６（ｂ）に示すような量子化したＭＤＣＴ係数Ｘk_qを取得する。
【００７４】
図６（ｃ）に示すように、周波数帯域b_2の周波数f7のＭＤＣＴ係数Ｘ7_qが量子化により０となったものとすると、存在フラグ生成部２８は、このＭＤＣＴ係数Ｘ7_qを符号化対象から除外することを示すため、このＭＤＣＴ係数Ｘ7_qの存在フラグFl_7に１をセットする。
【００７５】
ＭＤＣＴ係数Ｘ7_q以外のＭＤＣＴ係数Ｘk_qは、０ではないため、存在フラグ生成部２８は、これらの存在フラグFl_kに０をセットする。包絡再計算部２９は、再度、包絡値env_1〜env_7を計算する。
【００７６】
エントロピー符号化部３０は、式（５）に従って、合計エネルギーｇiを算出し、図７（ａ）に示すように、この合計エネルギーｇiが高い順に重要度１〜７を決定するものとする。
【００７７】
エントロピー符号化部３０は、決定した重要度に従い、コード表を用いて、周波数帯域b_1，b_5，b_7，b_6，b_2，b_4，b_3の順に、量子化部２７が量子化したＭＤＣＴ係数Ｘk_qを符号化し、各ＭＤＣＴ係数Ｘkの符号化データＸk_codeを生成する。
【００７８】
尚、エントロピー符号化部３０は、存在フラグFl_7に１がセットされているため、ＭＤＣＴ係数Ｘ7_qを符号化対象から除外し、このＭＤＣＴ係数Ｘ7_qの符号化を行わない。
【００７９】
エントロピー符号化部３０が、重要度７の周波数帯域b_3のＭＤＣＴ係数Ｘk_qを符号化したときに、符号量比較部３１が求めた合計符号量が目標符号量を超えたものとする。
【００８０】
帯域データ削除部３２は、図７（ｂ）及び図７（ｃ）に示すように、符号量比較部３１から供給された比較結果に基づいて、重要度の低い周波数帯域b_3のＭＤＣＴ係数Ｘ12_q〜Ｘ17_qをすべて削除する（０とする）。
【００８１】
存在フラグ生成部２８は、帯域データ削除部３２から、周波数帯域b_3のＭＤＣＴ係数Ｘ12_q〜Ｘ17_qをすべて削除した旨の通知を受けると、図７（ｃ）に示すように、ＭＤＣＴ係数Ｘ12_q〜Ｘ17_q（周波数f12〜f17）の存在フラグFl_12〜Fl_17に１をセットする。存在フラグ生成部２８は、このようにしてＭＤＣＴ係数Ｘ12_q〜Ｘ17_qを符号化対象から除外すことを示す。
【００８２】
包絡再計算部２９は、図８に示すように、データを削除した周波数帯域b_3の包絡値env_3を０とする。
【００８３】
エントロピー符号化部３０は、最終的に、存在フラグFl_12〜Fl_17のフラグ値が１となったＭＤＣＴ係数Ｘ7_q，Ｘ12_q〜Ｘ17_qを符号化せず、これらを除くＭＤＣＴ係数Ｘk_qを符号化する。そして、エントロピー符号化部３０は、符号化データＸk_codeを生成する。
【００８４】
また、エントロピー符号化部３０は、各部のデータとして、存在フラグFl_k、包絡値env_iも符号化する。この存在フラグFl_kは、ＭＤＣＴ係数Ｘ7_qが符号化対象から除外されたか否かを復号化部１５−２が判別できるように生成されたものであるため、エントロピー符号化部３０は、基本的には、この存在フラグFl_kも符号化する。従って、エントロピー符号化部３０は、存在フラグFl_7を符号化する。
【００８５】
しかし、周波数帯域b_3の包絡値env_3が０であれば、復号化部１５−２は、存在フラグFl_12〜Fl_17がなくても、ＭＤＣＴ係数Ｘ12_q〜Ｘ17_qが符号化対象から除外されたことを判別できる。このため、エントロピー符号化部３０は、包絡値env_3のみを符号化し、存在フラグFl_12〜Fl_17を符号化しない。
【００８６】
最終的に、エントロピー符号化部３０は、各部のデータとして、周波数帯域b_1〜b_7を示すデータと、包絡再計算部２９が再計算した包絡値env_3を含むenv_1〜env_7と、存在フラグFl_12〜Fl_17を除く存在フラグFl_kと、ＭＤＣＴ係数Ｘｋ_qと、最大値gainと、を符号化する。
【００８７】
エントロピー符号化部３０は、符号化データＸk_codeと、コード表と、符号化した各部のデータと、を記憶装置１２に記憶する。
【００８８】
音声を再生する場合、ＣＰＵ１５の復号化部１５−２は、記憶装置１２から、これらのデータを読み出し、読み出したデータに基づいてデジタル音声信号を復元する。
【００８９】
即ち、復号化部１５−２のエントロピー復号化部４１は、記憶装置１２から読み出したコード表を用いて、符号化データＸk_codeと各部のデータとを復号化し、図８に示すＭＤＣＴ係数Ｘk_qを取得する。
【００９０】
復号化された包絡値env_3が０であるため、包絡値処理部４２は、包絡値env_3の周波数帯域b_3のデータに基づいて、この周波数帯域b_3の周波数f12〜f17を判別する。
【００９１】
また、包絡値処理部４２は、包絡値env_3が０であることから、周波数帯域b_3の存在フラグFl_12〜Fl_17が符号化されていないことを判別する。そして、包絡値処理部４２は、各周波数f12〜f17のＭＤＣＴ係数Ｘ12_q〜Ｘ17_qに０をセットする。
【００９２】
また、包絡値処理部４２は、存在フラグFl_7に１がセットされているため、ＭＤＣＴ係数Ｘ7_qに０をセットする。
【００９３】
逆量子化部４３は、ＭＤＣＴ係数Ｘk_qに対し、各周波数帯域b_1〜b_7毎に、予め設定された精度で逆量子化を行い、図６（ａ）に示すようなＭＤＣＴ係数Ｘk_eを取得する。
【００９４】
包絡乗算部４４は、復号化された各包絡値env_1〜env_7とＭＤＣＴ係数Ｘk_eとを乗算し、図４（ｃ）及び図５（ａ）に示すようなＭＤＣＴ係数Ｘk_regを取得する。
【００９５】
ゲイン合成部４５は、復号化された最大値gainと包絡乗算部が取得したとＭＤＣＴ係数Ｘk_regとを乗算し、図４（ｂ）に示すような正規化部２３が正規化する前のＭＤＣＴ係数Ｘkを取得する。
【００９６】
ＩＭＤＣＴ部４６は、逆ＭＤＣＴを行ってデジタル音声信号Sound1を復元する。
【００９７】
復号化部１５−２は、このようにして復元したデジタル音声信号Sound1を音声入出力装置１１に供給し、音声入出力装置１１は、供給されたデジタル音声信号Sound1に基づいて音声を再生する。
【００９８】
以上説明したように、本実施形態１によれば、符号化部１５−１は、量子化によって０となったＭＤＣＴ係数Ｘk_q、合計符号量が目標符号量を超えたために削除したＭＤＣＴ係数Ｘk_qを符号化対象から除外するようにした。
【００９９】
また、符号化部１５−１は、合計符号量が目標符号量を超えたために削除したＭＤＣＴ係数Ｘk_qの存在フラグFl_kを符号化対象から除外するようにして、包絡値env_iの情報と存在フラグFl_kの情報との重複を避けるようにした。
【０１００】
従って、符号化効率を向上させることができ、十分な音質を確保しつつ、16kbps程度のデータレートを確保することができる。
【０１０１】
尚、本発明を実施するにあたっては、種々の形態が考えられ、上記実施形態に限られるものではない。
例えば、上記実施形態では、エントロピー符号化部３０は、ＭＤＣＴ係数Ｘk_qを削除した周波数帯域b_iの包絡値env_iのみを符号化し、このＭＤＣＴ係数Ｘk_qの存在フラグFl_kを符号化対象から除外するようにした。
【０１０２】
しかし、この反対に、エントロピー符号化部３０は、ＭＤＣＴ係数Ｘk_qを削除した周波数帯域b_iの存在フラグFl_kのみを符号化し、この包絡値env_iを符号化対象から除外するようにしてもよい。このようにしても、ＭＤＣＴ係数Ｘk_qを削除した周波数帯域b_iの包絡値env_iの情報と存在フラグFl_kの情報との重複を避けて、符号化効率を向上させることができる。
【０１０３】
上記実施形態では、周波数変換としてＭＤＣＴを用いて説明した。しかし、周波数変換は、ＭＤＣＴに限られるものではなく、ＤＣＴであってもよい。
【０１０４】
上記実施形態では、符号化装置、復号化装置を音声処理装置に適用した場合について説明した。しかし、符号化装置、復号化装置は、音声処理装置に限られるものではなく、例えば、携帯電話、携帯端末のような送受信装置等に適用することができる。
【０１０５】
また、上記実施形態では、プログラムが、それぞれメモリ等に予め記憶されているものとして説明した。しかし、符号化装置、復号化装置を、装置の全部又は一部として動作させ、あるいは、上述の処理を実行させるためのプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１０６】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施形態に係る音声処理装置の構成を示すブロック図である。
【図２】図１に示す符号化部の構成を示すブロック図である。
【図３】図１に示す復号化部の構成を示すブロック図である。
【図４】図１に示す符号化部の動作（その１）を示す図であり、（ａ）は、音声入出力装置が入力したデジタル音声信号を示し、（ｂ）は、図２に示すＭＤＣＴ部が生成したＭＤＣＴ係数を示し、（ｃ）は、帯域分割部が分割した周波数帯域を示す。
【図５】図１に示す符号化部の動作（その２）を示す図であり、（ａ）は、図２に示す包絡生成部が生成した包絡値を示し、（ｂ）は、包絡除算部の除算結果を示す。
【図６】図１に示す符号化部の動作（その３）を示す図であり、（ａ）は、図２に示す量子化部が予め設定した量子化の精度を示し、（ｂ）は、量子化部が量子化した結果を示し、（ｃ）は、（ｂ）の詳細を示す。
【図７】図１に示す符号化部の動作（その４）を示す図であり、（ａ）は、図２に示すエントロピー符号化部が取得した重要度を示し、（ｂ）は、帯域データ削除部が帯域データを削除した結果を示し、（ｃ）は、（ｂ）の詳細を示す。
【図８】図２に示す包絡再計算部が計算した包絡値の再計算結果を示す図である。
【符号の説明】
【０１０８】
１・・・音声処理装置、１５・・・ＣＰＵ、１５−１・・・符号化部、１５−２・・・復号化部、２２・・・ＭＤＣＴ部、２４・・・帯域分割部、２５・・・包絡生成部、２７・・・量子化部、２８・・・存在フラグ生成部、２９・・・包絡再計算部、３０・・・エントロピー符号化部、３２・・・帯域データ削除部、４１・・・エントロピー復号化部、４２・・・包絡値処理部、４３・・・逆量子化部、４４・・・包絡乗算部、４６・・・ＩＭＤＣＴ部
【図１】
2009193015.tif 000007
【図２】
2009193015.tif 000008
【図３】
2009193015.tif 000009
【図４】
2009193015.tif 000010
【図５】
2009193015.tif 000011
【図６】
2009193015.tif 000012
【図７】
2009193015.tif 000013
【図８】
2009193015.tif 000014