JP2009253706A - 符号化装置、復号装置、符号化方法、復号方法及びプログラム - Google Patents

符号化装置、復号装置、符号化方法、復号方法及びプログラム Download PDF

Info

Publication number
JP2009253706A
JP2009253706A JP2008099810A JP2008099810A JP2009253706A JP 2009253706 A JP2009253706 A JP 2009253706A JP 2008099810 A JP2008099810 A JP 2008099810A JP 2008099810 A JP2008099810 A JP 2008099810A JP 2009253706 A JP2009253706 A JP 2009253706A
Authority
JP
Japan
Prior art keywords
frequency
unit
transform coefficient
data
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008099810A
Other languages
English (en)
Other versions
JP4978539B2 (ja
Inventor
Hiroyasu Ide
博康 井手
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2008099810A priority Critical patent/JP4978539B2/ja
Publication of JP2009253706A publication Critical patent/JP2009253706A/ja
Application granted granted Critical
Publication of JP4978539B2 publication Critical patent/JP4978539B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】データの質を確保しつつ、そのデータの符号化効率を向上させる。
【解決手段】MDCT部23は、各ブロックのデジタル信号をそれぞれ周波数変換し、MDCT係数群を生成する。時間順並び替え部30は、MDCT係数を、同一周波数について、時系列に並び替える。係数VQ部31は、各周波数のMDCT変換係数群を、コードブック51を用いてベクトル量子化し、求められたインデックスを、周波数順に並べることにより、変換係数インデックスのデータ列を生成する。エントロピ符号化部32は、これらのデータ列と、フラグに関する情報とを符号化する。データ削除部34は、各周波数のMDCT係数群の重要度を算出する。データ削除部34は、この重要度に基づいて、変換係数インデックスのデータ列を圧縮し、フラグを変更することにより、符号化されるデータを圧縮する。
【選択図】図2

Description

本発明は、デジタル信号を符号化する符号化装置、符号化されたデジタル信号を復号する復号装置、デジタル信号を符号化する符号化方法、符号化されたデジタル信号を復号する復号方法及びデジタル信号処理を行うコンピュータにより実行させるプログラムに関する。
人間の聴覚の特性に基づいて音声符号化を行い、この符号化データを復号する音声処理装置が開示されている(例えば、特許文献1乃至4参照)。
特開2005−128404号公報 特開2006−119363号公報 特開2006−259517号公報 特開2006−262295号公報
この種の音声処理装置は、電子辞書装置のような語学辞書において発音される単語の音声用としても利用される。語学辞書用の音声処理装置では、十分な音質を確保しつつ、16kbps程度のデータレートを確保しなければならない。
本発明は、このような事情に鑑みてなされたもので、データの質を確保しつつ、そのデータの符号化効率を向上させることができる符号化装置、符号化方法、復号装置、復号方法及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明の第1の観点に係る符号化装置は、所定時間長のデジタル信号を、複数のブロックに分割する分割部と、前記各ブロックのデジタル信号をそれぞれ周波数変換し、第1の変換係数群をブロック毎に生成する周波数変換部と、前記各ブロックの第1の変換係数群にそれぞれ含まれる同一周波数周波数の変換係数を、時系列に並び替えることにより、第2の変換係数群を、周波数周波数毎に生成する時系列並び替え部と、前記各周波数周波数の第2の変換係数群を、変換係数コードブックを用いてベクトル量子化し、求められたインデックスを、周波数順に並べることにより、変換係数インデックスのデータ列を生成する変換係数ベクトル量子化部と、前記各周波数周波数の第2の変換係数群の重要度に基づいて、前記変換係数インデックスのデータ列を圧縮し、前記各周波数周波数の第2の変換係数群が符号化対象であるか否かを示すフラグに関する情報を生成するデータ圧縮部と、前記フラグに関する情報と、前記圧縮されたデータ列とを符号化する符号化部と、を備える。
この場合、周波数が高くなるにつれて帯域幅が広くなるように、周波数帯域を、複数の小周波数帯域に分割する帯域分割部と、前記小周波数帯域に属する前記変換係数の絶対値の最大値を、前記小周波数帯域毎に検索し、検索された最大値を周波数順に並べることにより、最大値列を、前記ブロック毎に生成する最大値検索部と、前記各ブロックの最大値列を、最大値列コードブックを用いてベクトル量子化し、求められたインデックスを、時系列順に並べることにより、最大値列インデックスのデータ列を生成する最大値列ベクトル量子化部と、前記各ブロックのそれぞれの小周波数帯域に属する変換係数を、当該ブロックに対応する最大値列インデックスに対応する前記最大値列コードブックの逆量子化値であって、当該小周波数帯域の逆量子化値を用いて除算する除算部と、をさらに備え、前記時系列並び替え部は、前記除算部によって除算された変換係数を用いて、前記各周波数周波数の第2の変換係数群を生成し、前記符号化部は、前記小周波数帯域に関する情報と、前記最大値列インデックスのデータ列とを、さらに符号化することとしてもよい。
また、前記符号化部により符号化されたデータの符号量が、目標符号量よりも小さいか否かの判定を、その判定が肯定されるまで繰り返す符号量判定部をさらに備え、前記データ圧縮部は、前記符号量判定部の判定が否定された場合に、前記重要度が小さい順に、第2の変換係数群を、符号化対象から削除することにより、前記変換係数インデックスのデータ列を圧縮して、前記フラグに関する情報を生成し、前記符号化部は、前記符号量判定部の判定が否定されるまで、前記データ圧縮部によって圧縮された前記データ列と、生成された前記フラグに関する情報とを符号化することとしてもよい。
また、前記データ圧縮部は、前記符号化されるデータの符号量が目標符号量より少なく、かつ、その目標符号量に近い値となるまで、前記重要度が高い順に、前記符号化部の符号化対象となる周波数周波数を選択し、選択された周波数周波数に対応する第2の変換係数群を符号化対象として、前記変換係数インデックスのデータ列を圧縮し、前記フラグに関する情報を生成することとしてもよい。
また、前記データ圧縮部は、前記生成されたフラグを、周波数順に並べることによりフラグ列を形成し、形成されたフラグ列に基づいて、そのフラグ列において同一の値が連続する連続数の数列を前記フラグに関する情報として生成することとしてもよい。
この場合、前記データ圧縮部は、前記フラグ列において、同一の値が連続する連続数がその上限値に等しい場合には、前記数列において、その連続数と、次の連続数との間に、0を挿入することとしてもよい。
また、前記データ圧縮部は、前記フラグ列が、1から開始される場合には、前記数列の先頭に0を挿入することとしてもよい。
また、一連の複数の前記所定時間長のデジタル信号に関して前記符号化部によってそれぞれ符号化された符号化データの符号量の和が、全体の目標符号量よりも小さいか否かの判定を、その判定が肯定されるまで繰り返す全体符号量判定部と、前記全体符号量判定部の判定が否定された場合に、前記重要度が全体で最小となる第2の変換係数群に対応する変換係数インデックスを、前記変換係数インデックスのデータ列から除外し、除外された第2の変換係数群に対応する前記フラグを符号化対象でないことを示す値に変更する調整部と、前記変換係数インデックスが除外され、前記フラグが変更された前記所定時間長のデジタル信号に関するデータを再符号化する再符号化部と、をさらに備えることとしてもよい。
また、本発明の第2の観点に係る復号装置は、本発明の符号化装置によって符号化されたデータを復号する。
また、本発明の第3の観点に係る符号化方法は、所定時間長のデジタル信号を、複数のブロックに分割する分割工程と、前記各ブロックのデジタル信号をそれぞれ周波数変換し、第1の変換係数群をブロック毎に生成する周波数変換工程と、前記各ブロックの第1の変換係数群にそれぞれ含まれる同一周波数の変換係数を、時系列に並び替えることにより、第2の変換係数群を、周波数毎に生成する時系列並び替え工程と、前記各周波数の第2の変換係数群を、変換係数コードブックを用いてベクトル量子化し、求められたインデックスを、周波数順に並べることにより、変換係数インデックスのデータ列を生成する変換係数ベクトル量子化工程と、前記各周波数の第2の変換係数群の重要度に基づいて、前記変換係数インデックスのデータ列を圧縮し、前記各周波数の第2の変換係数群が符号化対象であるか否かを示すフラグに関する情報を生成するデータ圧縮工程と、前記フラグに関する情報と、前記圧縮されたデータ列とを符号化する符号化工程と、を含む。
この場合、周波数が高くなるにつれて帯域幅が広くなるように、所定幅の周波数帯域を、複数の小周波数帯域に分割する帯域分割工程と、前記小周波数帯域に属する前記変換係数の絶対値の最大値を、前記小周波数帯域毎に検索し、検索された最大値を周波数順に並べることにより、最大値列を、前記ブロック毎に生成する最大値検索工程と、前記各ブロックの最大値列を、最大値列コードブックを用いてベクトル量子化し、求められたインデックスを、時系列順に並べることにより、最大値列インデックスのデータ列を生成する最大値列ベクトル量子化工程と、前記各ブロックのそれぞれの小周波数帯域に属する変換係数を、当該ブロックに対応する最大値列インデックスに対応する前記最大値列コードブックの逆量子化値であって、当該小周波数帯域の逆量子化値を用いて除算する除算工程と、をさらに含み、前記時系列並び替え工程では、前記除算工程において除算された変換係数を用いて、前記各周波数の第2の変換係数群を生成し、前記符号化工程では、
前記小周波数帯域に関する情報と、前記最大値列インデックスのデータ列とを、さらに符号化することとしてもよい。
また、本発明の第4の観点に係る復号方法は、本発明の符号化方法を用いて符号化されたデータを復号する。
また、本発明の第5の観点に係るプログラムは、所定時間長のデジタル信号を、複数のブロックに分割する分割手順と、前記各ブロックのデジタル信号をそれぞれ周波数変換し、第1の変換係数群をブロック毎に生成する周波数変換手順と、前記各ブロックの第1の変換係数群にそれぞれ含まれる同一周波数の変換係数を、時系列に並び替えることにより、第2の変換係数群を、周波数毎に生成する時系列並び替え手順と、前記各周波数の第2の変換係数群を、変換係数コードブックを用いてベクトル量子化し、求められたインデックスを、周波数順に並べることにより、変換係数インデックスのデータ列を生成する変換係数ベクトル量子化手順と、前記各周波数の第2の変換係数群の重要度に基づいて、前記変換係数インデックスのデータ列を圧縮し、前記各周波数の第2の変換係数群が符号化対象であるか否かを示すフラグに関する情報を生成するデータ圧縮手順と、前記フラグに関する情報と、前記圧縮されたデータ列とを符号化する符号化手順と、をコンピュータに実行させる。
この場合、周波数が高くなるにつれて帯域幅が広くなるように、所定幅の周波数帯域を、複数の小周波数帯域に分割する帯域分割手順と、前記小周波数帯域に属する前記変換係数の絶対値の最大値を、前記小周波数帯域毎に検索し、検索された最大値を周波数順に並べることにより、最大値列を、前記ブロック毎に生成する最大値検索手順と、前記各ブロックの最大値列を、最大値列コードブックを用いてベクトル量子化し、求められたインデックスを、時系列順に並べることにより、最大値列インデックスのデータ列を生成する最大値列ベクトル量子化手順と、前記各ブロックのそれぞれの小周波数帯域に属する変換係数を、当該ブロックに対応する最大値列インデックスに対応する前記最大値列コードブックの逆量子化値であって、当該小周波数帯域の逆量子化値を用いて除算する除算手順と、をさらにコンピュータに実行させ、前記時系列並び替え手順では、前記除算手順において除算された変換係数を用いて、前記各周波数の第2の変換係数群を生成し、前記符号化手順では、前記小周波数帯域に関する情報と、前記最大値列インデックスのデータ列とを、さらに符号化する手順をコンピュータに実行させる。
本発明によれば、データの質を確保しつつ、符号化効率を向上させることができる。
≪第1の実施形態≫
次に、本発明の第1の実施形態について図面を参照して詳細に説明する。
図1には、本実施形態に係る音声処理装置1の概略的な構成が示されている。このような音声処理装置1としては、例えば、携帯電話機や、電子辞書のような端末装置が想定される。
音声処理装置1は、音声入出力装置11と、記憶装置12と、ROM13と、RAM14と、CPU15と、を備える。これらは、内部バスを介して接続される。
音声入出力装置11は、入力された音声をデジタル信号に変換する。音声入出力装置11は、例えば、入力された音声をサンプリング周波数16kHzでサンプリングし、16ビットで量子化することにより、デジタル信号Sound0を生成する。また、音声入出力装置11は、デジタル信号が供給されると、このデジタル信号に対応する音声を出力する。
記憶装置12には、音声入出力装置11によって生成されたデジタル信号Sound0が符号化されたデータが格納される。記憶装置12には、その符号化データを復号するのに必要なデータも格納される。これらのデータについては後述する。
ROM13には、CPU15によって実行される処理に必要なプログラムコードなどの各種データが格納されている。RAM14には、CPU15によって実行される処理に必要なデータが格納される。
CPU15は、ROM13に格納されたプログラムコードに従って処理を実行する。CPU15による処理の実行により、符号化部16と復号部17とが実現されている。
符号化部16は、音声入出力装置11によって変換されたデジタル信号の符号化を行う。符号化部16は、図2に示されるように、DC除去部21と、フレーム化部22と、MDCT(Modified Discrete Cosine Transform, 修正離散コサイン変換)部23と、正規化部24と、帯域分割部25と、最大値検索部26と、最大値列ベクトル量子化(VQ)部27と、最大値除算部28と、量子化部29と、時間順並び替え部30と、係数ベクトル量子化(VQ)部31と、エントロピ符号化部32と、符号量比較部33と、データ削除部34と、コードブック50、51と、を備えている。
DC除去部21は、図3に示されるように、音声入力装置11が生成したサンプリング周期Tsのデジタル信号Sound0から、直流(DC)成分Xdcを削除する。直流成分Xdcを削除するのは、直流成分Xdcが、音質とは無関係であるためである。DC除去部21は、例えば、高域通過フィルタによって実現することができる。以下の式(1)には、高域通過フィルタの伝達関数H(z)の一例が示されている。
Figure 2009253706
DC除去部21は、直流成分Xdcが除去されたデジタル信号Sound1を記憶装置12に格納する。そして、DC除去部21は、フレーム化部22に処理開始を通知する。
この通知を受けて、フレーム化部22は、記憶装置12に格納されたデジタル信号Sound1を読み出してフレームに分割する。図4には、デジタル信号Sound1のフレーム分割により生成されたフレーム信号(所定時間長のデジタル信号)との関係が模式的に示されている。図4に示されるように、各フレーム信号は、直前のフレーム信号と、時間が一部重複している。この重複時間をTとする。図4には、後述するMDCTの処理単位であるMDCTブロック(1MDCT)も示されている。各MDCTブロックの時間長は2Tとなっている。すなわち、MDCTブロックの重複時間は、その時間長の半分である。また、フレーム間の重複時間も、MDCTブロックの時間長の半分である時間Tとなっている。このようにすれば、複数のフレーム(デジタル信号の全区間)に渡って、各MDCTブロックの時間間隔は、一定となる。
なお、図4では、1フレームにつきMDCTブロックが4つとなっているが、以下では、1フレームにつき、N個(Nは、2以上の整数)のブロックが生成されるものとして説明する。フレーム化部22は、フレーム分割により生成された複数のフレーム信号を、フレーム単位で、記憶装置12に格納する。そして、フレーム化部22は、MDCT部23に処理開始を通知する。
この通知を受けて、分割部及び周波数変換部としてのMDCT部23は、記憶装置12から読み出した各フレーム信号に対して、周波数変換を行う。より具体的には、MDCT部23は、記憶装置12から読み出したフレーム信号を、複数のMDCTブロックに分割し、そのブロック毎に周波数変換を行い、MDCT係数Xk(k;周波数を示す符号)をブロック毎に算出する。MDCT部23は、次の式(2)、式(3)を用いて、MDCT係数Xkを算出する。1回のMDCTで1つのMDCTブロックのMDCT係数Xkが算出される。なお、MDCT係数Xkのタップ長Mは、512タップが理想的である。
Figure 2009253706
MDCT部23で生成された、各MDCTブロックのMDCT係数Xk(すなわち第1の変換係数群)は、記憶装置12に格納される。MDCT部23は、正規化部24に処理開始を通知する。
この通知を受けて、正規化部24は、各MDCTブロックのMDCT係数Xkを、記憶装置12から読み出す。正規化部24は、各MDCTブロックのMDCT係数Xkを、フレーム単位で、正規化する。正規化部24は、MDCT係数Xkの最大値gainを取得して分離し、各MDCT係数Xkをこの最大値gainで除算することにより、正規化を行う。
より具体的には、正規化部24は、以下の式(4)を用いて、フレーム内における、MDCT係数Xkの最大値gainを取得する。
Figure 2009253706
図5(A)には、各ブロックにおける補正係数Xkの最大値Xmaxiが示されている。この最大値Xmaxiが、ブロック間で比較され、最も大きいXmaxiが、最終的な最大値gainとして求められる。
次に、正規化部24は、以下の式(5)を用いてMDCT係数の正規化を行う。
Figure 2009253706
図5(B)には、正規化されたMDCT係数Xnkの一例が示されている。この正規化により、MDCT係数は、例えば、16ビットから8ビット程度に量子化される。正規化部24は、MDCT係数Xnkを、ブロック毎にまとめて、フレーム単位で、記憶装置12に格納する。また、正規化部24は、最大値gainを記憶装置12に格納する。そして、正規化部24は、帯域分割部25に処理開始を通知する。
この通知を受けて、帯域分割部25は、図5(B)に示されるように、記憶装置12から読み出したMDCT係数Xnkの全周波数帯域を、ブロック毎に、P個(P:2以上の整数)の分割帯域b_p(p;分割帯域の番号)に対数的に分割する(区分けする)。帯域分割部25は、人間の聴覚の特性に合わせて、低域(低周波数帯域)ほど狭く、高域(高周波数帯域)ほど広くなるように、対数的に周波数帯域を分割する。これにより、その分割帯域b_pは、聴覚の特性に即したものとなる。分割帯域の分割数Pは、例えば、16程度であるのが望ましい。
周波数帯域を分割すると、帯域分割部25は、最大値検索部26に処理開始を通知する。
この通知を受けて、最大値検索部26は、図6(A)に示されるように、各周波数帯域b_pに属する、MDCT係数Xnkの絶対値の最大値を検索し、各周波数帯域b_pのその最大値env_pを、ブロック毎に取得する。そして、最大値検索部26は、図6(B)に示されるように、これらの最大値env_pの集合から成る最大値列env[p](p=1〜P)を、ブロック毎に生成する。最大値検索部26は、MDCT係数Xnk及び最大値列env[p](p=1〜P)を、ブロック毎にまとめて、フレーム単位で、記憶装置12に格納する。最大値検索部26は、最大値列ベクトル量子化部27に処理開始を通知する。
この通知を受けて、最大値列ベクトル量子化部27は、記憶装置12から読み出した最大値列env[p]を、ブロック毎にベクトル量子化する。このベクトル量子化には、ROM13に格納されているコードブック50が用いられる。図7(A)には、コードブック50が示されている。図7(A)に示されるように、コードブック50には、最大値列env[p]の次元Pと同じ次元PのべクトルVj(j=1〜q)が、q個登録されている。最大値列ベクトル量子化部27は、このコードブック50を参照して、以下の式(6)の値ejが最小となるインデックスjの値を、ブロック毎に求める。
Figure 2009253706
図7(B)では、各ブロックの最大値列env[p]が、env[p]1〜env[p]Nとして示されている。最大値列ベクトル量子化部27は、求められたenv[p]1〜env[p]Nにそれぞれ対応するインデックスjを、時系列順に並べることにより、図7(B)に示されるような最大値列インデックスのデータ列index1[i](i=1〜N)を生成する。データ列index1[i]は、記憶装置12に格納される。そして、最大値列ベクトル量子化部27は、最大値除算部28に処理開始を通知する。
この通知を受けて、最大値除算部28は、MDCT係数Xnkと、データ列index1[i]を、記憶装置12から読み出す。そして、最大値除算部28は、各ブロックのそれぞれの分割帯域に属するMDCT係数Xnkを、そのブロックのインデックスindex1[i]に対応するコードブック50の各要素の値(すなわち逆量子化値)であって、その分割帯域に対応する逆量子化値を用いて除算する。これにより、MDCT係数Xek(k=1〜M/2−1)が、ブロック毎に得られる。図8には、この除算により生成された、あるブロックのMDCT係数Xekの一例が示されている。最大値除算部28は、MDCT係数Xekを、ブロック毎にまとめて、フレーム単位で、記憶装置12に格納する。そして、最大値除算部28は、量子化部29に処理開始を通知する。
この通知を受けて、量子化部29は、記憶装置12から読み出したMDCT係数Xekを、分割帯域b_p毎に予め設定されている精度(ビット数)で量子化する。図9(A)、図9(B)には、量子化の様子が示されている。量子化部29は、図9(A)に示されるMDCT係数Xekを量子化した結果として、図9(B)に示されるMDCT係数Xqkを取得する。量子化部29は、取得されたMDCT係数Xqkを、記憶装置12に格納する。そして、量子化部29は、時間順並び替え部30に処理開始を通知する。
この通知を受けて、時系列並び替え部としての時間順並び替え部30は、1フレーム内の複数のMDCTブロック各々のMDCT係数群(すなわち第1の変換係数群)に含まれるMDCT係数Xqkを、記憶装置12から読み出す。そして、時間順並び替え部30は、MDCT係数Xqkを、同一周波数のグループに再グループ化し、再グループ化されたMDCT係数群(すなわち第2の変換係数群)について、MDCT係数Xqkを時間順に並び替える。図10(A)、図10(B)には、この並び替えの様子が示されている。図10(A)に示されるように、i(i=1〜N)番目のブロック目のMDCT係数Xqkを、補正係数Xqk,iとする。図10(B)に示されるように、補正係数Xqk,iは、同一周波数のMDCT係数群にグループ化され、時系列順に並び替えられている。ここで、同一周波数の変換係数群の各MDCT係数Xqk,iを各要素とするベクトルを、係数ベクトルFk(k=1〜M/2−1)とする。時間順並び替え部30は、この係数ベクトルFkを、記憶装置12に格納する。そして、時間順並び替え部30は、係数ベクトル量子化部31に処理開始を通知する。
この通知を受けて、係数ベクトル量子化部31は、記憶装置12から読み出した係数ベクトルFkを、ベクトル量子化する。このベクトル量子化には、ROM13に格納されたコードブック51が用いられる。図11(A)には、コードブック51が示されている。図11(A)に示されるように、コードブック51には、係数ベクトルFkの次元Nと同じ次元Nの代表ベクトルWjが、s個登録されている。係数ベクトル量子化部31は、このコードブック51を参照して、次の式(7)の値が最小となるインデックスjの値を、周波数(要するにk)毎に求める。
Figure 2009253706
これにより、図11(B)に示されるように、周波数毎に、係数ベクトルFkに最も近いベクトルのインデックス値index2[k](k=1〜M/2−1)が求められる。係数ベクトル量子化部31は、index2[k](k=1〜M/2−1)を、記憶装置12に格納する。そして、係数ベクトル量子化部31は、エントロピ符号化部32に処理開始を通知する。
この通知を受けて、エントロピ符号化部32は、最大値gainと、最大値列のインデックスのデータ列index1[1]〜index1[N]と、MDCT係数群のインデックスのデータ列index2[k]〜index2[K](初期段階では、K=M/2−1)と、後述する符号数列Ctとを、記憶装置12から読み出す。そして、エントロピ符号化部32は、レンジコーダ、ハフマンコード等のエントロピ符号化方法を用いて、図示しないコード表を用いて、読み込まれたデータをエントロピ符号化し、符号化データを生成する。
図12には、エントロピ符号化部32によって符号化されるデータが示されている。図12に示されるように、エントロピ符号化部32によって符号化されるデータとして、符号数列Ctがある。符号数列Ctは、存在フラグFLGkが符号化されたものである。存在フラグFLGkとは、図13に示されるように、各周波数のMDCT係数群が符号化対象であるか否かを示すフラグである。存在フラグFLGkが1であれば、対応する周波数のMDCT係数群は符号化対象であり、存在フラグFLGkが0であれば、その周波数のMDCT係数群は符号化対象ではない。初期段階では、すべての周波数のMDCT係数群が符号化の対象となっているため、図13に示されるように、存在フラグFLGkには、全周波数で1が設定されるようになる。すなわち、存在フラグFLGkの初期値は、すべて1である。
このように、符号化フラグFLGkのフラグ列(以下、適宜、フラグ列FLGkと略述する)は、0と1とからなる数列である。このフラグ列FLGkを、0と1の連続する数で表現することにより、符号化したものが符号数列Ctである。図14(A)、図14(B)には、符号数列Ctの一例が示されている。図14(A)に示されるように、存在フラグ列FLGkにおいて、0と1が連続する数が、順番に、2、2、1、3、3、1、1である場合、符号数列Ctは、{2、2、1、3、3、1、1}となる。
また、図14(B)に示されるように、フラグ列FLGkにおいて、同一の値が連続する連続数がその上限値に等しい場合には、符号数列Ctにおいて、その連続数と、次の連続数との間に、0が挿入される。
また、図14(B)に示されるように、フラグ列FLGkが、1から開始される場合には、符号数列Ctの先頭に0が挿入される。
前述のように、初期段階では、存在フラグFLGkは、全て1であるため、符号数列Ctの初期値も一意に決まっている。記憶装置12には、予め、存在フラグFLGkを全て1としたときの符号数列Ctの初期値が格納されている。エントロピ符号化部32は、初回の符号化では、符号数列Ctの初期値を読み出して、それをエントロピ符号化する。
エントロピ符号化部32は、符号化されたデータを、記憶装置12に記憶する。そして、エントロピ符号化部32は、符号量比較部33に対して、処理開始を通知する。
この通知を受けて、符号量比較部33は、記憶装置12に格納された符号データを読み出し、そのデータの符号量と目標符号量とを比較する。この目標符号量は、十分な音質を確保しつつ、16kbps程度のデータレートを確保するために予め設定されている。
符号量比較部33は、合計符号量と目標符号量とを比較し、合計符号量が目標符号量以下であるか否かを判定する。符号量比較部33は、その判定が否定された場合、その旨をデータ削除部34に通知する。
この通知を受けて、データ削除部34は、符号化されるデータの一部を削除する。まず、データ削除部34は、周波数毎に、MDCT係数群、すなわち各係数ベクトルFkに対応するMDCT係数群の重要度(音質に影響を及ぼす度合い)を算出する。
重要度を算出する最も単純な方法には、周波数毎に合計エネルギgkを算出する方法がある。周波数毎の合計エネルギgkは、次の式(8)によって表される。
Figure 2009253706
なお、データ削除部34は、エネルギgkに、周波数に依存した重み係数を乗算するようにしても良い。例えば、データ削除部34は、500Hz未満の周波数帯域に属するMDCT係数には、1.3を乗算し、500以上3500Hz未満の周波数帯域に属するMDCT係数には、1.1を乗算し、3500Hz以上の周波数帯の補正係数には、1.0を乗算することができる。すなわち、低域の重みを大きくすることができる。
次に、データ削除部34は、図15に示されるように、エネルギgkが最小である周波数に対応する要素を、index2[k]から、削除することにより、index2[k]を圧縮する。さらに、データ削除部34は、エネルギgkの値が0である周波数に対応する存在フラグFLGkを0に設定する。
さらに、データ削除部34は、変更された存在フラグFLGkに基づいて、上述した方法を用いて符号数列Ctを生成する。このデータ削除部34によるデータ削除により、値が0となる存在フラグFLGkが増えて、0の連続数が増加し、符号数列Ctの符号長は短くなる。データ削除部34は、圧縮されたindex2[k]と符号数列Ctとを記憶装置12に格納する。そして、データ削除部34は、エントロピ符号化部32に処理開始を通知する。
そして、エントロピ符号化部32は、図12に示されるデータを記憶装置12から読み出して、改めてエントロピ符号化を行い、符号化されたデータを、記憶装置12に記憶する。そして、エントロピ符号化部32は、符号量比較部33に処理開始を通知する。
符号量比較部33は、符号化データの符号量と目標符号量とを再び比較する。このようにして、符号量比較部33における判定が肯定されるまで、データ削除部34におけるデータ削除と、エントロピ符号化部32におけるエントロピ符号化が繰り返される。この繰り返しの過程で、図15に示されるように、エネルギgkの小さい順に、MDCT係数群が、符号化対象から除外され、index2[k]の要素数K(K<M/2−1)が減り、符号数列Ctが減っていくようになり、結果的に、符号化されるデータの符号量が小さくなっていく。
符号量が目標符号量以下となり、符号量比較部33における判定が肯定されると、そのときの符号化データが、符号列として記憶装置12に格納される。
次に、復号部17について説明する。復号部17は、記憶装置12から符号化データを読み出して符号化データを復号し、デジタル音声信号を生成する。復号部17は、図16に示されるように、エントロピ復号部41と、係数逆ベクトル量子化(VQ)部42と、周波数並び替え部43と、逆量子化部44と、最大値列逆ベクトル量子化(VQ)部45と、最大値乗算部46と、ゲイン合成部47と、IMDCT部48と、コードブック50、51とを備える。
エントロピ復号部41は、記憶装置12から読み出された符号化データのエントロピ復号を行い、図12に示される各種データを取得する。これらのデータは、記憶装置12に格納される。エントロピ復号部41は、係数逆ベクトル量子化(VQ)部42に、処理開始を通知する。
この通知を受けて、係数逆ベクトル量子化(VQ)部42は、符号数列Ctと、index2[k](k=1〜K)とに基づいて、コードブック51を参照して、逆ベクトル量子化を行い、MDCT係数Xqkを生成する。より具体的には、係数逆VQ部42は、まず、図17に示されるように、符号数列Ctに基づいて、存在フラグFLGkを復号する。復号では、存在フラグFLGkが1になっているところに、index2[k](k=1〜K)の各要素が対応する。したがって、係数逆ベクトル量子化(VQ)部42は、復号された存在フラグFLGkを参照し、存在フラグFLGkが0になっている周波数では、係数ベクトルFkを0ベクトルとし、存在フラグFLGkが1になっている周波数では、index2[k]に対応するコードブック51の係数ベクトルを、kの順に、係数ベクトルFkとして設定する。
このようにして、係数逆ベクトル量子化(VQ)部42は、すべての周波数におけるMDCT係数群Fkを生成する。図17には、このようにして生成されたMDCT係数群Fkの一例が模式的に示されている。MDCT係数群Fkは、すべての要素が0の係数群か、コードブック51内の係数ベクトルW1〜Wsに対応する係数群かのいずれかとなる。MDCT係数群Fkの1つ1つの要素が、MDCT係数Xqk,iである。係数逆ベクトル量子化(VQ)部42は、MDCT係数Xqk,iを、記憶装置12に格納する。そして、係数逆ベクトル量子化(VQ)部42は、周波数並び換え部43に処理開始を通知する。
この通知を受けて、周波数並び換え部43は、記憶装置12に格納されていたMDCT係数Xqk,iを、各ブロックのMDCT係数群、すなわち周波数方向に並び替え、記憶装置12に格納する。そして、周波数並び換え部43は、逆量子化部44に処理開始を通知する。
この通知を受けて、逆量子化部44は、記憶装置12から読み出された各ブロックのMDCT係数Xqkに対し、分割帯域b_p毎に予め設定された精度で逆量子化を行い、MDCT係数Xekをブロック毎に生成する。逆量子化部44は、取得されたMDCT係数Xekを、記憶装置12に格納し、最大値列逆ベクトル量子化(VQ)部45に処理開始を通知する。
この通知を受けて、最大値列逆ベクトル量子化(VQ)部45は、コードブック50を参照して、復号され記憶装置12に格納されている最大値列のデータ列index1[i]に基づいてベクトル逆量子化を行い、最大値列env[p]Nを取得する。最大値列env[p]Nは、記憶装置12に格納される。最大値列逆ベクトル量子化(VQ)部45は、最大値乗算部46に処理開始を通知する。
この通知を受けて、最大値乗算部46は、その分割帯域b_pに属するMDCT係数Xekを抽出し、抽出されたMDCT係数Xekと、env[p]に格納された最大値env_pとを乗算する。この乗算により、各ブロックのMDCT係数Xnkが取得される。最大値乗算部46は、取得された各ブロックのMDCT係数Xnkを記憶装置12に格納し、ゲイン合成部47に処理開始を通知する。
この通知を受けて、ゲイン合成部47は、記憶装置12から読み出された各ブロックのMDCT係数Xnkに、復号された最大値gainを乗算し、各ブロックのMDCT係数Xkを取得する。ゲイン合成部47は、取得されMDCT係数Xkを記憶装置12に格納するとともに、IMDCT部48に処理開始を通知する。
IMDCT部48は、記憶装置12から読み出されたMDCT係数Xkに対して、ブロック毎に逆MDCTを行う。IMDCT部48は、さらに、この逆MDCTにより得られた各ブロックのデジタル信号を合成して、デジタル音声信号Sound1を復元する。復元されたデジタル音声信号Sound1は、音声入出力装置11に送られ、再生される。
次に、本実施形態に係る音声処理装置1の動作について説明する。符号化部16における符号化動作では、まず、図18に示されるように、DC削除部21において直流成分Xdcが削除されたデジタル信号が、MDCT部23においてN個のブロック信号に分割される。1ブロック当たりのサンプル数はMである。
その後、MDCT部23においてブロック毎にMDCTが行われる。図19には、このときの符号量が、模式的に示されている。この時点で、1つの変換係数のビット長が16ビットであるとすると、フレーム単位の符号量は、16×N(ブロック数)×M/2−1(1ブロックあたりの変換係数の数)となっている。
その後、正規化部24において、MDCT係数の正規化が行われる。正規化が行われると、すべてのMDCT係数のデータ長は、例えば、16ビットから8ビットに短縮され、図20に示されるように、1フレームあたりの符号量は、1/2に短縮される。
次に、図21に示されるように、帯域分割部25において、周波数帯域がP個に分割され、それぞれの分割帯域における最大値env[1]〜env[P]が検索される。そして、図22に示されるように、最大値列VQ部27において、求められた最大値列にenv[1]〜env[P]に対するベクトル量子化が行われ、コードブック50を参照して、最大値列のデータ列index1[i](i=1〜N)が生成される。
次に、最大値除算部28において、最大値env[1]〜env[P]を用いて、MDCT係数の除算が行われる。図23では、index1[i]に対応するコードブック50のベクトルの各要素(逆量子化値)を用いて、各分割帯域に属するMDCT係数が除算される様子が模式的に示されている。この除算により、MDCT係数のビット数はさらに小さくなる。
次に、量子化部29におけるMDCT係数の量子化後、図24に示されるように、時間順並び替え部30におけるMDCT係数の並び替えが行われる。なお、量子化では、低域になればなるほど、MDCT変換係数のビット数は増加するようになるが、図24では、図面の錯綜を防止するために、周波数全域にわたって、MDCT変換係数のビット数が同じであるものとしている。そして、図25に示されるように、係数VQ部31において、コードブック51を参照して、MDCT係数のベクトル量子化が行われ、index2[k]が求められる。そして、図26に示されるように、データ削除部34においてエネルギgkが算出され、そのエネルギgkが小さい順にMDCT係数群が削除され、index2[k]が圧縮され、フラグFLGkが変更され、符号数列Ctが圧縮される。
そして、図27に示されるように、エントロピ符号化部32において、gain、index1[i]、index2[k]、Ctが符号化されるようになる。エネルギが小さい順に周波数に対応するMDCT係数群が削除されればされるほど、index2[k]、符号数列Ctのデータ長は短くなり、データ圧縮率が向上する。
次に、復号部17における復号の際には、図28に示されるように、符号数列CtからフラグFLGkが復号される。そして、フラグFLGkと、圧縮されたindex2[k]とに基づいて、index2[k]が復元される。そして、復元されたindex2[k]に基づいて、コードブック51を参照して、各周波数のMDCT係数群が復元される。一方、index1[i]に基づいて、最大値列env[p](env_p)が復元される。そして、分割帯域ごとに、復号されたMDCT係数群と、最大値env_pとが乗算されて、MDCT係数Xqkが復元される。そして、MDCT係数Xnkが、最大値gainと乗算されて、MDCT係数Xkが復元される。復元されたMDCT係数Xkを、逆MDCTすることにより、各ブロックの音声信号が復元され、これらの音声信号がフレーム単位の音声信号に合成される。
このように、上述のように符号化されたデータは、復号部17で復号されることにより、16ビットで量子化され、周波数16kHzでサンプリングされた元の音声信号に復元される。この結果、音声処理装置1によって再生される音声の音質は、学習用途に好適なものとなる。
以上述べたように、本実施形態によれば、エネルギの小さい順にMDCT係数群のデータを削除する。このようにすれば、音質に影響しないデータを優先的に削除することができるようになるので、音質を低下させることなく、符号化効率を高めることができるようになる。
≪第2の実施形態≫
次に、本発明の第2の実施形態について説明する。本実施形態では、符号化部16の構成が、上記第1の実施形態に係る符号化部16の構成と異なっている。
図29に示されるように、本実施形態に係る符号化部16は、データ削除部34の代わりに符号化周波数選択部35を備えている。また、本実施形態に係る符号化部16では、符号量比較部33が設けられておらず、この比較結果によるループも設けられていない。
符号化周波数選択部35は、エントロピ符号化部32における符号化対象となる周波数を選択する。符号化周波数選択部35は、周波数毎に重要度を算出し、この重要度に基づいて、符号化対象となる周波数を選択する。
より具体的には、符号化周波数選択部35は、上記式(8)に従ってエネルギgkを算出し、このエネルギgkが高いほど、この周波数の重要度が高いと判定する。そして、符号化周波数選択部35は、重要度の高い順に、符号化対象の周波数を選択する。
なお、符号化周波数選択部35は、エネルギgkに、周波数に依存した重み係数を乗算するようにしてもよい。例えば、符号化周波数選択部35は、500Hz未満の周波数帯域の周波数のMDCT係数には、1.3を乗算し、500以上3500Hz未満の周波数帯域の周波数のMDCT係数には、1.1を乗算し、3500Hz以上の周波数帯域の周波数のMDCT係数には、1.0を乗算するようにしてもよい。
符号化周波数選択部35は、符号化データの符号量が目標符号量に達したか否かを判別し、符号化データの符号量が目標符号量に達するまで、符号化する周波数を選択する。符号化周波数選択部35は、選択された周波数のMDCT係数群についてのベクトル量子化により得られるインデックスを、周波数順に並び替えることにより、index2[k]を生成する。また、符号化周波数選択部35は、選択された周波数のMDCT係数群に対応するフラグFLGkを1に設定し、残りのフラグFLGkを0に設定する。そして、符号化周波数選択部35は、生成されたフラグFLGkを符号数列Ctに符号化する。符号化周波数選択部35は、index2[k]及び符号数列Ctを記憶装置12に格納する。そして、符号化周波数選択部35は、エントロピ符号化部32に処理開始を通知する。
エントロピ符号化部32では、上記第1の実施形態と同様に、図12に示されるデータを符号化して、符号化データを生成する。
以上述べたように、本実施形態のように、重要度の低い方からデータを削除するのではなく、重要度の高い方から選択した方が、目標符号量に達するまでに符号化されるデータ量を、少なくすることができるので、符号化に要する時間を短縮することができるようになる。
≪第3の実施形態≫
次に、本発明の第3の実施形態について説明する。本実施形態に係る音声処理装置の構成は、上記各実施形態に係る音声処理装置の構成と同じであるので、詳細な説明を省略する。
本実施形態では、音声データの圧縮がフレーム単位で行われるだけでなく、複数のフレームにまたがって、音声データの圧縮が行われる。図30には、本実施形態に係る音声処理装置の符号化動作のフローチャートが示されている。まず、CPU15は、ステップ201に示されるように、符号化部16において、上記各実施形態で説明したように、フレーム毎にデジタル音声信号の符号化を行う。ここで、目標符号量は、フレーム毎に変更することができる。次のステップ203では、CPU15は、全フレームが符号化されたか否かを判定する。この判定が否定されれば、CPU15は、ステップ201に戻る。このようにして、全フレームの符号化が行われる。
ステップ203における判定が肯定されると、CPU15は、ステップ205に進む。ステップ205では、CPU15は、全フレームの符号量の和を算出する。次のステップ207では、CPU15は、符号量の和が、全体の目標符号量以下であるか否かを判定する。この判定が肯定されれば、CPU15は、符号化処理を終了する。一方、この判定が否定されれば、CPU15は、ステップ209に進む。
ステップ209では、CPU15は、重要度が最小であるMDCT係数群を、全フレームから検索する。例えば、図31に示されるように、フレーム1では、5つのMDCT係数群が符号化対象となっており、フレーム2では、4つのMDCT係数群が符号化対象となっており、フレーム3では、4つのMDCT係数群が符号化対象となっているものとする。また、i番目のフレームの周波数kのエネルギをgi,kとする。この場合、CPU15は、すべてのMDCT係数群を、エネルギgi,kの低い順に並べ替え、エネルギgi,kの最小の変換係数群を検索する。図31の例では、フレーム1のMDCT係数群F9のエネルギg1,9が最小となっている。
次のステップ211では、CPU15は、エネルギgi,kが最小のMDCT係数群を、符号化対象から除外する。図31の例では、フレーム1の変換係数群F9が、符号化対象から除外されるようになる。次のステップ213では、CPU15は、MDCT係数群が符号化対象から除外されたフレーム全体を再符号化する。図31の例では、フレーム1に関するデータが再符号化されるようになる。
ステップ213を行った後は、CPU15は、ステップ205に戻り、全フレームの符号量の和の算出(ステップ205)、全体の目標符号量との比較(ステップ207)を行う。このようにして、ステップ207における判定が肯定されるまで、ステップ205→207→209→211→213が繰り返される。このようにして、複数のフレームの符号化量が、全体の目標符号化量に抑えられる。
なお、上記ステップ211では、MDCT係数群を1つずつ除外したが、一度に複数除外するようにしてもよい。
本実施形態では、ステップ207が、全体符号量判定部に対応し、ステップ209、211が、調整部に対応し、ステップ213が、再符号化部に対応する。本実施形態によれば、複数のフレーム全体でのデータ圧縮が可能となる。このため、音質を維持するために、データ圧縮率を低くせざるをえないフレームは、データ圧縮率を低くしても、データ圧縮率を高めても音質にさほど影響のないフレームのデータ圧縮率を高めて、全体のデータ圧縮率を向上させることができる。
例えば、各フレームの目標符号量を、16〜20kbpsとし、全体の目標符号量を12kbpsとする。このようにすれば、フレームによっては、音質を低下させないために符号量を20kbps程度とし、データ圧縮率を高めても音質に影響しない他のフレームでのデータ圧縮を高め、全体として符号量を12kbps以下とすることができるようになる。この結果、音質を確保しつつ、そのデータの符号化効率を向上させることができる。
以上詳細に説明したように、上記各実施形態によれば、時間順並び替え部30により、MDCT係数を、周波数毎にグループ化し、エネルギの小さいグループを除去している。これにより、音質を損ねることなく符号化効率を高めることができる。さらに、周波数毎にまとめられたMDCT係数群をベクトル量子化しているので、それらをスカラ量子化するよりも、データ圧縮率を高めることができる。この結果、音質を損なうことなく、符号化効率を高めることができる。
また、上記各実施形態によれば、最大値列VQ部27において、最大値列インデックスのデータ列をベクトル量子化しているので、それらをスカラ量子化するよりも、データ圧縮率を高めることができる。この結果、音質を損なうことなく、符号化効率を高めることができる。
上記各実施形態に係る符号化動作を行うことにより、16KHzサンプリングの音声信号が、学習用途音質を維持したまま、12kbps程度に圧縮可能となる。
また、上記各実施形態によれば、データ削除部34又は符号化周波数選択部35において、フラグ列FLGkが、そのフラグ列FLGkにおいて同一の値が連続する連続数の数列Ctに変換される。これにより、可逆な状態を保ったまま、データ圧縮率をさらに高めることができる。この結果、音質を損なうことなく、符号化効率を高めることができる。
また、上記各実施形態によれば、データ削除部34又は符号化周波数選択部35では、フラグ列FLGkにおいて、同一の値が連続する連続数がその上限値に等しい場合には、符号数列Ctにおいて、その連続数と次の連続数との間に、0が挿入される。このように、連続数の上限値を設けるようにすれば、フラグ列FLGkの連続数の出現パターンが、どのようなものであっても、符号数列によるデータ長を、等しく短くすることができるようになる。
また、上記各実施形態によれば、データ削除部34又は符号化周波数選択部35では、フラグ列FLGkが、1から開始される場合には、符号数列Ctの先頭に0が挿入される。このようにすれば、フラグ列FLGkに対する可逆なデータ圧縮が可能となる。
なお、人間の聴覚の特性上、音声信号の音質を高めるためには、低音域に関わる符号化量をできるだけ多くし、高音域に関わる符号化量を相対的に少なくするのが望ましい。そこで、上記各実施形態では、量子化部におけるビット数や、エネルギgkに乗ずる重みなどを低音域で多くした。このような観点からすると、MDCT係数のベクトル量子化に用いるコードブックを、低音域のものと高音域のものと2つ用意し、低音域のコードブックは、ベクトルの数qを多くし、高音域のコードブックは、ベクトルの数qを相対的に少なくするようにしてもよい。
なお、上記各実施形態では、周波数変換としてMDCTを適用した。しかし、周波数変換方法としては、MDCTに限られるものではなく、DCTを採用することもできる。
また、上記各実施形態では、プログラムが、それぞれメモリ等に予め記憶されているものとして説明した。しかし、上述の処理を実行させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
なお、本発明は、上記実施形態に限定されず、種々の変形及び応用が可能である。上述のハードウェア構成やブロック構成、フローチャートは例示であって、限定されるものではない。例えば、上記各実施形態では、音声処理装置として、携帯電話や電子辞書を想定して説明した。しかしながら、PHS(Personal Handyphone System)や、PDA(Personal Digital Assistants)、あるいは一般的なパーソナルコンピュータにも、本発明を容易に適用することができる。すなわち、上記実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
本発明の第1の実施形態に係る音声処理装置1の概略的な構成を示すブロック図である。 図1の符号化部の構成を示すブロック図である。 デジタル信号の直流成分除去の一例を示す図である。 フレーム分割の一例を示す図である。 図5(A)は、各ブロックの変換係数の最大値の一例を示す図であり、図5(B)は、分割帯域を示す図である。 図6(A)は、最大値の一例を示す図であり、図6(B)は、最大値列の一例を示す図である。 図7(A)は、最大値列のコードブックの一例を示す図であり、図7(B)は、最大値列インデックスのデータ列の一例を示す図である。 最大値による除算の一例を示す図である。 図9(A)は、量子化前のMDCT係数の一例を示す図であり、図9(B)は、量子化後のMDCT係数の一例を示す図である。 図10(A)は、並べ替え前のMDCT係数群の一例を示す図であり、図10(B)は、並べ替え後のMDCT係数群の一例を示す図である。 図11(A)は、MDCT係数コードブックの一例を示す図であり、図11(B)は、ベクトル量子化により求められるMDCT係数インデックスのデータ列の一例を示す図である。 符号化対象のデータの一例を示す図である。 重要度により生成されるMDCT係数インデックスのデータ列及びフラグ列の一例を示す図である。 図14(A)及び図14(B)は、フラグ列に基づく符号数列の生成方法の一例を示す図である。 データ削除の一例を示す図である。 図1の復号部の構成を示すブロック図である。 MDCT係数の逆ベクトル量子化の一例を模式的に示す図である。 ブロック分割時のデータの変化を模式的に示す図である。 MDCT時のデータの変化を模式的に示す図である。 正規化時のデータの変化を模式的に示す図である。 帯域分割及び最大値検索時のデータの変化を模式的に示す図である。 最大値列ベクトル量子化時のデータの変化を模式的に示す図である。 最大値除算時のデータの変化を模式的に示す図である。 時間順並び替え時のデータの変化を模式的に示す図である。 MDCT係数のベクトル量子化時のデータの変化を模式的に示す図である。 データ圧縮時のデータの変化を模式的に示す図である。 符号化時のデータの変化を模式的に示す図である。 復号動作におけるデータの変化を模式的に示す図である。 本発明の第2の実施形態に係る符号化部の構成を示すブロック図である。 本発明の第3の実施形態に係る符号化動作のフローチャートである。 フレーム間のデータ圧縮の一例を示す図である。
符号の説明
1 音声処理装置
11 音声入出力装置
12 記憶装置
13 ROM
14 RAM
15 CPU
16 符号化部
17 復号部
21 DC除去部
22 フレーム化部
23 MDCT部
24 正規化部
25 帯域分割部
26 最大値検索部
27 最大値列ベクトル量子化部
28 最大値除算部
29 量子化部
30 時間順並び替え部
31 係数ベクトル量子化部
32 エントロピ符号化部
33 符号量比較部
34 データ削除部
35 符号化周波数選択部
41 エントロピ復号部
42 係数逆ベクトル量子化部
43 周波数並び替え部
44 逆量子化部
45 最大値列逆ベクトル量子化部
46 最大値乗算部
47 ゲイン合成部
48 IMDCT部
50、51 コードブック

Claims (14)

  1. 所定時間長のデジタル信号を、複数のブロックに分割する分割部と、
    前記各ブロックのデジタル信号をそれぞれ周波数変換し、第1の変換係数群をブロック毎に生成する周波数変換部と、
    前記各ブロックの第1の変換係数群にそれぞれ含まれる同一周波数の変換係数を、時系列に並び替えることにより、第2の変換係数群を、周波数毎に生成する時系列並び替え部と、
    前記各周波数の第2の変換係数群を、変換係数コードブックを用いてベクトル量子化し、求められたインデックスを、周波数順に並べることにより、変換係数インデックスのデータ列を生成する変換係数ベクトル量子化部と、
    前記各周波数の第2の変換係数群の重要度に基づいて、前記変換係数インデックスのデータ列を圧縮し、前記各周波数の第2の変換係数群が符号化対象であるか否かを示すフラグに関する情報を生成するデータ圧縮部と、
    前記フラグに関する情報と、前記圧縮されたデータ列とを符号化する符号化部と、
    を備える符号化装置。
  2. 周波数が高くなるにつれて帯域幅が広くなるように、周波数帯域を、複数の小周波数帯域に分割する帯域分割部と、
    前記小周波数帯域に属する前記変換係数の絶対値の最大値を、前記小周波数帯域毎に検索し、検索された最大値を周波数順に並べることにより、最大値列を、前記ブロック毎に生成する最大値検索部と、
    前記各ブロックの最大値列を、最大値列コードブックを用いてベクトル量子化し、求められたインデックスを、時系列順に並べることにより、最大値列インデックスのデータ列を生成する最大値列ベクトル量子化部と、
    前記各ブロックのそれぞれの小周波数帯域に属する変換係数を、当該ブロックに対応する最大値列インデックスに対応する前記最大値列コードブックの逆量子化値であって、当該小周波数帯域の逆量子化値を用いて除算する除算部と、をさらに備え、
    前記時系列並び替え部は、
    前記除算部によって除算された変換係数を用いて、前記各周波数の第2の変換係数群を生成し、
    前記符号化部は、
    前記小周波数帯域に関する情報と、前記最大値列インデックスのデータ列とを、さらに符号化することを特徴とする請求項1に記載の符号化装置。
  3. 前記符号化部により符号化されたデータの符号量が、目標符号量よりも小さいか否かの判定を、その判定が肯定されるまで繰り返す符号量判定部をさらに備え、
    前記データ圧縮部は、
    前記符号量判定部の判定が否定された場合に、前記重要度が小さい順に、第2の変換係数群を、符号化対象から削除することにより、前記変換係数インデックスのデータ列を圧縮して、前記フラグに関する情報を生成し、
    前記符号化部は、
    前記符号量判定部の判定が否定されるまで、前記データ圧縮部によって圧縮された前記データ列と、生成された前記フラグに関する情報とを符号化することを特徴とする請求項1に記載の符号化装置。
  4. 前記データ圧縮部は、
    前記符号化されるデータの符号量が目標符号量より少なく、かつ、その目標符号量に近い値となるまで、前記重要度が高い順に、前記符号化部の符号化対象となる周波数を選択し、
    選択された周波数に対応する第2の変換係数群を符号化対象として、前記変換係数インデックスのデータ列を圧縮し、前記フラグに関する情報を生成することを特徴とする請求項1に記載の符号化装置。
  5. 前記データ圧縮部は、
    前記生成されたフラグを、周波数順に並べることによりフラグ列を形成し、
    形成されたフラグ列に基づいて、そのフラグ列において同一の値が連続する連続数の数列を前記フラグに関する情報として生成することを特徴とする請求項1に記載の符号化装置。
  6. 前記データ圧縮部は、
    前記フラグ列において、同一の値が連続する連続数がその上限値に等しい場合には、前記数列において、その連続数と、次の連続数との間に、0を挿入することを特徴とする請求項5に記載の符号化装置。
  7. 前記データ圧縮部は、
    前記フラグ列が、1から開始される場合には、前記数列の先頭に0を挿入することを特徴とする請求項5又は6に記載の符号化装置。
  8. 一連の複数の前記所定時間長のデジタル信号に関して前記符号化部によってそれぞれ符号化された符号化データの符号量の和が、全体の目標符号量よりも小さいか否かの判定を、その判定が肯定されるまで繰り返す全体符号量判定部と、
    前記全体符号量判定部の判定が否定された場合に、前記重要度が全体で最小となる第2の変換係数群に対応する変換係数インデックスを、前記変換係数インデックスのデータ列から除外し、除外された第2の変換係数群に対応する前記フラグを符号化対象でないことを示す値に変更する調整部と、
    前記変換係数インデックスが除外され、前記フラグが変更された前記所定時間長のデジタル信号に関するデータを再符号化する再符号化部と、をさらに備えることを特徴とする請求項1乃至7のいずれか一項に記載の符号化装置。
  9. 請求項1乃至8のいずれか一項に記載の符号化装置によって符号化されたデータを復号する復号装置。
  10. 所定時間長のデジタル信号を、複数のブロックに分割する分割工程と、
    前記各ブロックのデジタル信号をそれぞれ周波数変換し、第1の変換係数群をブロック毎に生成する周波数変換工程と、
    前記各ブロックの第1の変換係数群にそれぞれ含まれる同一周波数の変換係数を、時系列に並び替えることにより、第2の変換係数群を、周波数毎に生成する時系列並び替え工程と、
    前記各周波数の第2の変換係数群を、変換係数コードブックを用いてベクトル量子化し、求められたインデックスを、周波数順に並べることにより、変換係数インデックスのデータ列を生成する変換係数ベクトル量子化工程と、
    前記各周波数の第2の変換係数群の重要度に基づいて、前記変換係数インデックスのデータ列を圧縮し、前記各周波数の第2の変換係数群が符号化対象であるか否かを示すフラグに関する情報を生成するデータ圧縮工程と、
    前記フラグに関する情報と、前記圧縮されたデータ列とを符号化する符号化工程と、
    を含む符号化方法。
  11. 周波数が高くなるにつれて帯域幅が広くなるように、所定幅の周波数帯域を、複数の小周波数帯域に分割する帯域分割工程と、
    前記小周波数帯域に属する前記変換係数の絶対値の最大値を、前記小周波数帯域毎に検索し、検索された最大値を周波数順に並べることにより、最大値列を、前記ブロック毎に生成する最大値検索工程と、
    前記各ブロックの最大値列を、最大値列コードブックを用いてベクトル量子化し、求められたインデックスを、時系列順に並べることにより、最大値列インデックスのデータ列を生成する最大値列ベクトル量子化工程と、
    前記各ブロックのそれぞれの小周波数帯域に属する変換係数を、当該ブロックに対応する最大値列インデックスに対応する前記最大値列コードブックの逆量子化値であって、当該小周波数帯域の逆量子化値を用いて除算する除算工程と、をさらに含み、
    前記時系列並び替え工程では、
    前記除算工程において除算された変換係数を用いて、前記各周波数の第2の変換係数群を生成し、
    前記符号化工程では、
    前記小周波数帯域に関する情報と、前記最大値列インデックスのデータ列とを、さらに符号化することを特徴とする請求項10に記載の符号化方法。
  12. 請求項10又は11のいずれか一項に記載の符号化方法を用いて符号化されたデータを復号する復号方法。
  13. 所定時間長のデジタル信号を、複数のブロックに分割する分割手順と、
    前記各ブロックのデジタル信号をそれぞれ周波数変換し、第1の変換係数群をブロック毎に生成する周波数変換手順と、
    前記各ブロックの第1の変換係数群にそれぞれ含まれる同一周波数の変換係数を、時系列に並び替えることにより、第2の変換係数群を、周波数毎に生成する時系列並び替え手順と、
    前記各周波数の第2の変換係数群を、変換係数コードブックを用いてベクトル量子化し、求められたインデックスを、周波数順に並べることにより、変換係数インデックスのデータ列を生成する変換係数ベクトル量子化手順と、
    前記各周波数の第2の変換係数群の重要度に基づいて、前記変換係数インデックスのデータ列を圧縮し、前記各周波数の第2の変換係数群が符号化対象であるか否かを示すフラグに関する情報を生成するデータ圧縮手順と、
    前記フラグに関する情報と、前記圧縮されたデータ列とを符号化する符号化手順と、
    をコンピュータに実行させるプログラム。
  14. 周波数が高くなるにつれて帯域幅が広くなるように、所定幅の周波数帯域を、複数の小周波数帯域に分割する帯域分割手順と、
    前記小周波数帯域に属する前記変換係数の絶対値の最大値を、前記小周波数帯域毎に検索し、検索された最大値を周波数順に並べることにより、最大値列を、前記ブロック毎に生成する最大値検索手順と、
    前記各ブロックの最大値列を、最大値列コードブックを用いてベクトル量子化し、求められたインデックスを、時系列順に並べることにより、最大値列インデックスのデータ列を生成する最大値列ベクトル量子化手順と、
    前記各ブロックのそれぞれの小周波数帯域に属する変換係数を、当該ブロックに対応する最大値列インデックスに対応する前記最大値列コードブックの逆量子化値であって、当該小周波数帯域の逆量子化値を用いて除算する除算手順と、をさらにコンピュータに実行させ、
    前記時系列並び替え手順では、
    前記除算手順において除算された変換係数を用いて、前記各周波数の第2の変換係数群を生成し、
    前記符号化手順では、
    前記小周波数帯域に関する情報と、前記最大値列インデックスのデータ列とを、さらに符号化する手順をコンピュータに実行させることを特徴とする請求項13に記載のプログラム。
JP2008099810A 2008-04-07 2008-04-07 符号化装置、符号化方法及びプログラム。 Active JP4978539B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008099810A JP4978539B2 (ja) 2008-04-07 2008-04-07 符号化装置、符号化方法及びプログラム。

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008099810A JP4978539B2 (ja) 2008-04-07 2008-04-07 符号化装置、符号化方法及びプログラム。

Publications (2)

Publication Number Publication Date
JP2009253706A true JP2009253706A (ja) 2009-10-29
JP4978539B2 JP4978539B2 (ja) 2012-07-18

Family

ID=41313932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008099810A Active JP4978539B2 (ja) 2008-04-07 2008-04-07 符号化装置、符号化方法及びプログラム。

Country Status (1)

Country Link
JP (1) JP4978539B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039583A (ja) * 2010-08-12 2012-02-23 Kyocera Mita Corp 画像圧縮装置及び方法並びに画像形成装置
WO2012102149A1 (ja) * 2011-01-25 2012-08-02 日本電信電話株式会社 符号化方法、符号化装置、周期性特徴量決定方法、周期性特徴量決定装置、プログラム、記録媒体
JP2012195869A (ja) * 2011-03-17 2012-10-11 Fujitsu Ltd データ保存プログラム、データ表示プログラム、データ保存方法及びデータ表示方法
JP2014529755A (ja) * 2011-08-19 2014-11-13 シルコフ,アレクサンダー 多重構造、多重レベルの情報形式化および構造化方法、ならびに関連する装置
CN112189136A (zh) * 2018-06-01 2021-01-05 株式会社岛津制作所 设备分析用数据处理方法以及装置
CN115955250A (zh) * 2023-03-14 2023-04-11 燕山大学 一种高校科研数据采集管理系统
CN116913057A (zh) * 2023-09-12 2023-10-20 西安中创博远网络科技有限公司 基于物联网的畜牧养殖异常预警系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005128404A (ja) * 2003-10-27 2005-05-19 Casio Comput Co Ltd 音声処理装置及び音声符号化方法
JP2005345707A (ja) * 2004-06-02 2005-12-15 Casio Comput Co Ltd 音声処理装置及び音声符号化方法
JP2007193043A (ja) * 2006-01-18 2007-08-02 Casio Comput Co Ltd 音声符号化装置、音声復号装置、音声符号化方法及び音声復号方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005128404A (ja) * 2003-10-27 2005-05-19 Casio Comput Co Ltd 音声処理装置及び音声符号化方法
JP2005345707A (ja) * 2004-06-02 2005-12-15 Casio Comput Co Ltd 音声処理装置及び音声符号化方法
JP2007193043A (ja) * 2006-01-18 2007-08-02 Casio Comput Co Ltd 音声符号化装置、音声復号装置、音声符号化方法及び音声復号方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039583A (ja) * 2010-08-12 2012-02-23 Kyocera Mita Corp 画像圧縮装置及び方法並びに画像形成装置
WO2012102149A1 (ja) * 2011-01-25 2012-08-02 日本電信電話株式会社 符号化方法、符号化装置、周期性特徴量決定方法、周期性特徴量決定装置、プログラム、記録媒体
JP5596800B2 (ja) * 2011-01-25 2014-09-24 日本電信電話株式会社 符号化方法、周期性特徴量決定方法、周期性特徴量決定装置、プログラム
JP2012195869A (ja) * 2011-03-17 2012-10-11 Fujitsu Ltd データ保存プログラム、データ表示プログラム、データ保存方法及びデータ表示方法
JP2014529755A (ja) * 2011-08-19 2014-11-13 シルコフ,アレクサンダー 多重構造、多重レベルの情報形式化および構造化方法、ならびに関連する装置
US10140305B2 (en) 2011-08-19 2018-11-27 General Harmonics International Inc. Multi-structural, multi-level information formalization and structuring method, and associated apparatus
CN112189136A (zh) * 2018-06-01 2021-01-05 株式会社岛津制作所 设备分析用数据处理方法以及装置
CN112189136B (zh) * 2018-06-01 2024-01-09 株式会社岛津制作所 设备分析用数据处理方法以及装置
CN115955250A (zh) * 2023-03-14 2023-04-11 燕山大学 一种高校科研数据采集管理系统
CN115955250B (zh) * 2023-03-14 2023-05-12 燕山大学 一种高校科研数据采集管理系统
CN116913057A (zh) * 2023-09-12 2023-10-20 西安中创博远网络科技有限公司 基于物联网的畜牧养殖异常预警系统
CN116913057B (zh) * 2023-09-12 2023-12-01 西安中创博远网络科技有限公司 基于物联网的畜牧养殖异常预警系统

Also Published As

Publication number Publication date
JP4978539B2 (ja) 2012-07-18

Similar Documents

Publication Publication Date Title
JP4800645B2 (ja) 音声符号化装置、及び音声符号化方法
US7599833B2 (en) Apparatus and method for coding residual signals of audio signals into a frequency domain and apparatus and method for decoding the same
US8010348B2 (en) Adaptive encoding and decoding with forward linear prediction
JP4548348B2 (ja) 音声符号化装置及び音声符号化方法
JP4978539B2 (ja) 符号化装置、符号化方法及びプログラム。
JP2012226375A (ja) 無損失オーディオ復号化方法及び無損失オーディオ復号化装置
WO2010098112A1 (ja) 符号化装置、復号装置およびこれらの方法
JP3344962B2 (ja) オーディオ信号符号化装置、及びオーディオ信号復号化装置
CN103843062A (zh) 用于产生带宽扩展信号的设备和方法
KR20060135699A (ko) 신호 복호화 장치 및 신호 복호화 방법
JP3344944B2 (ja) オーディオ信号符号化装置,オーディオ信号復号化装置,オーディオ信号符号化方法,及びオーディオ信号復号化方法
JP2003108197A (ja) オーディオ信号復号化装置およびオーディオ信号符号化装置
US20090210219A1 (en) Apparatus and method for coding and decoding residual signal
CN112970063A (zh) 用于利用生成模型的码率质量可分级编码的方法及设备
JP3237178B2 (ja) 符号化方法及び復号化方法
JP2004302259A (ja) 音響信号の階層符号化方法および階層復号化方法
JP4009781B2 (ja) 音声処理装置及び音声符号化方法
JP4578145B2 (ja) 音声符号化装置、音声復号化装置及びこれらの方法
JP2002091497A (ja) オーディオ信号符号化方法、復号化方法及びそれらの方法を実行するプログラム記憶媒体
JP4373693B2 (ja) 音響信号の階層符号化方法および階層復号化方法
JP2009193015A (ja) 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
JP5018557B2 (ja) 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
JP4327420B2 (ja) オーディオ信号符号化方法、及びオーディオ信号復号化方法
JP4626261B2 (ja) 音声符号化装置及び音声符号化方法
JP4054919B2 (ja) 音声処理装置及び音声符号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120302

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4978539

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150