JP4259401B2 - Speech processing apparatus and speech coding method - Google Patents
Speech processing apparatus and speech coding method Download PDFInfo
- Publication number
- JP4259401B2 JP4259401B2 JP2004164511A JP2004164511A JP4259401B2 JP 4259401 B2 JP4259401 B2 JP 4259401B2 JP 2004164511 A JP2004164511 A JP 2004164511A JP 2004164511 A JP2004164511 A JP 2004164511A JP 4259401 B2 JP4259401 B2 JP 4259401B2
- Authority
- JP
- Japan
- Prior art keywords
- audio signal
- frequency
- unit
- frequency component
- data amount
- 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.)
- Active
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本発明は、音声処理装置及び音声符号化方法に関する。 The present invention relates to a speech processing apparatus and speech coding method.
音声信号に、周波数変換、ベクトル量子化及びエントロピー符号化を施して、特定の周波数成分を削除することにより、音声信号は効率良く圧縮される。特定の周波数成分を削除する処理では、エントロピー符号化後のデータ量を目標データ量以下に抑えるために、エネルギーが最も小さい周波数成分から音声信号が削除される(例えば、特許文献1参照。)。
しかしながら、エネルギーの小さい周波数成分から音声信号を削除することによって音声信号のデータ量を小さくする方法では、目標データ量がある程度低く設定されていると、雑音が残ってしまうことがあった。 However, in the method of reducing the data amount of the audio signal by deleting the audio signal from the frequency component with low energy, noise may remain if the target data amount is set to be somewhat low.
本発明の課題は、音声信号の符号化(圧縮)処理において、他の周波数成分から孤立して存在する周波数成分を削除することにより、雑音を軽減させることである。 An object of the present invention is to reduce noise by deleting a frequency component that exists in isolation from other frequency components in an audio signal encoding (compression) process.
本発明に係る音声処理装置は、入力された音声信号をフレームに分割するフレーム化部と、前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、前記周波数変換により得られた音声信号に対し、ベクトル量子化を施すベクトル量子化部と、前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施すエントロピー符号化部と、前記エントロピー符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、前記判定部により、前記エントロピー符号化部により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、前記ベクトル量子化された音声信号の中から、エネルギーが最小の帯域の周波数成分を削除する第1の削除処理と、周波数軸上で隣り合う周波数成分が0で、かつ振幅値の絶対値が所定値より大きい周波数成分を削除する第2の削除処理を行うデータ削除部と、前記データ削除部でデータ削除された音声信号について再度エントロピー符号化し、符号化された音声信号のデータ量が前記目標データ量に収まるまで前記削除処理と符号化処理を行わせるコントロール部と、を備えることを特徴としている。 An audio processing device according to the present invention is based on a framing unit that divides an input audio signal into frames, and for each frame obtained by the framing unit, based on the maximum value of the amplitude of the audio signal included in the frame. A level adjusting unit for adjusting a level of the audio signal, a frequency converting unit for performing frequency conversion on the audio signal whose level is adjusted by the level adjusting unit, and a vector quantum for the audio signal obtained by the frequency conversion. A vector quantization unit that performs encoding, an entropy coding unit that performs entropy coding on the speech signal obtained by the vector quantization, and a data amount of the speech signal obtained by the entropy coding unit in advance A determination unit that determines whether the amount of data is larger than a set target data amount, and a sound obtained by the entropy encoding unit by the determination unit; If the data amount of the signal is determined to be greater than the target amount of data, from among said vector quantized audio signal, and a first deletion processing energy to remove the frequency components of the lowest band, on the frequency axis And a data deletion unit that performs a second deletion process that deletes frequency components that have zero adjacent frequency components and an absolute value of an amplitude value greater than a predetermined value, and the audio signal that has been data-deleted by the data deletion unit again. A controller that performs entropy encoding and performs the deletion process and the encoding process until the data amount of the encoded audio signal falls within the target data amount .
また、前記データ削除部の第2の削除処理において、前記所定値は全周波数成分の振幅値の最大値から算出される値であることが好ましい。 In the second deletion process of the data deletion unit, it is preferable that the predetermined value is a value calculated from a maximum value of amplitude values of all frequency components.
また、前記データ削除部は、前記周波数変換部により得られた音声信号の高周波成分の値が低周波成分の値より大きいか否かを判定し、当該音声信号の高周波成分の値が低周波成分の値以下であると判定された場合に、周波数軸上で予め設定された周波数間隔以上離れて存在する高周波成分を削除するとともに、前記第2の削除処理を実行することが好ましい。 Further, the data deletion unit determines whether or not the value of the high frequency component of the audio signal obtained by the frequency conversion unit is greater than the value of the low frequency component, and the value of the high frequency component of the audio signal is the low frequency component When it is determined that the frequency is equal to or less than the value, it is preferable to delete the high-frequency component that exists more than a preset frequency interval on the frequency axis and execute the second deletion process.
本発明に係る音声処理装置は、入力された音声信号をフレームに分割するフレーム化部と、前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、前記周波数変換により得られた音声信号に対し、ベクトル量子化を施すベクトル量子化部と、前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施すエントロピー符号化部と、前記エントロピー符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、前記判定部により、前記エントロピー符号化部により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、前記ベクトル量子化された音声信号の中から、エネルギーが最小の帯域の周波数成分を削除する第1の削除処理と、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する第2の削除処理を行うデータ削除部と、前記データ削除部でデータ削除された音声信号について再度エントロピー符号化し、符号化された音声信号のデータ量が前記目標データ量に収まるまで前記削除処理と符号化処理を行わせるコントロール部と、を備えることを特徴としている。 An audio processing device according to the present invention is based on a framing unit that divides an input audio signal into frames, and for each frame obtained by the framing unit, based on the maximum value of the amplitude of the audio signal included in the frame. A level adjusting unit for adjusting a level of the audio signal, a frequency converting unit for performing frequency conversion on the audio signal whose level is adjusted by the level adjusting unit, and a vector quantum for the audio signal obtained by the frequency conversion. A vector quantization unit that performs encoding, an entropy coding unit that performs entropy coding on the speech signal obtained by the vector quantization, and a data amount of the speech signal obtained by the entropy coding unit in advance A determination unit that determines whether the amount of data is larger than a set target data amount, and a sound obtained by the entropy encoding unit by the determination unit; If the data amount of the signal is determined to be greater than the target amount of data, from among said vector quantized audio signal, and a first deletion processing energy to remove the frequency components of the lowest band, on the frequency axis A data deletion unit that performs a second deletion process that deletes frequency components that are separated by a predetermined frequency interval or more, and an audio signal that has been data-deleted by the data deletion unit is re-entropy-encoded and encoded. And a controller that performs the deletion process and the encoding process until the data amount of the audio signal falls within the target data amount .
また、前記データ削除部は、前記周波数変換部により得られた音声信号の高周波成分の値が低周波成分の値より大きいか否かを判定し、当該音声信号の高周波成分の値が低周波成分の値以下であると判定された場合に、当該高周波成分の中から、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除することが好ましい。 Further, the data deletion unit determines whether or not the value of the high frequency component of the audio signal obtained by the frequency conversion unit is greater than the value of the low frequency component, and the value of the high frequency component of the audio signal is the low frequency component When it is determined that the frequency component is equal to or less than the value, it is preferable to delete, from the high-frequency component, a frequency component that exists at a predetermined frequency interval or more on the frequency axis.
更に、前記データ削除部は、前記周波数変換部により得られた音声信号における各周波数成分の対数を演算し、高周波成分における対数の和と、低周波成分における対数の和を比較することによって、当該音声信号の高周波成分の値が低周波成分の値より大きいか否かを判定することが好ましい。 Further, the data deletion unit calculates the logarithm of each frequency component in the audio signal obtained by the frequency conversion unit, and compares the sum of the logarithm of the high frequency component with the sum of the logarithm of the low frequency component, thereby It is preferable to determine whether the value of the high frequency component of the audio signal is greater than the value of the low frequency component.
また、前記データ削除部は、前記レベル調整部によりレベルが調整された音声信号を、高域通過フィルタと低域通過フィルタにより高周波成分と低周波成分に分離し、当該高域通過フィルタと低域通過フィルタにより得られた高周波成分の値が低周波成分の値より大きいか否かを判定することが好ましい。 The data deletion unit separates the audio signal whose level is adjusted by the level adjustment unit into a high frequency component and a low frequency component by a high pass filter and a low pass filter, It is preferable to determine whether or not the value of the high frequency component obtained by the pass filter is larger than the value of the low frequency component.
本発明に係る音声符号化方法は、入力された音声信号をフレームに分割し、フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、レベルが調整された音声信号に対し、周波数変換を施し、前記周波数変換により得られた音声信号に対し、ベクトル量子化を施し、前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施し、前記エントロピー符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、前記エントロピー符号化により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、前記ベクトル量子化された音声信号の中から、エネルギーが最小の帯域の周波数成分を削除し、周波数軸上で隣り合う周波数成分が0で、かつ振幅値の絶対値が所定値より大きい周波数成分を削除し、前記データ削除された音声信号について再度エントロピー符号化し、符号化された音声信号のデータ量が前記目標データ量に収まるまで前記削除処理と符号化処理を行わせることを特徴としている。 The speech coding method according to the present invention divides an input speech signal into frames, and adjusts the level of the speech signal for each frame based on the maximum value of the amplitude of the speech signal included in the frame. The speech signal is subjected to frequency transformation, the speech signal obtained by the frequency transformation is subjected to vector quantization, the speech signal obtained by the vector quantization is subjected to entropy coding, It is determined whether the data amount of the audio signal obtained by entropy encoding is larger than a preset target data amount, and the data amount of the audio signal obtained by entropy encoding is larger than the target data amount. If it is determined that, from among the vector quantized speech signals, energy removes the frequency components of the lowest band, adjacent on the frequency axis In wavenumber component is 0 and the absolute value of the amplitude value removes the larger frequency component than a predetermined value, the re-entropy coding for the data deleted voice signal, the data amount is the target data amount of the encoded speech signal The deletion process and the encoding process are performed until they fall within the range .
本発明に係る音声符号化方法は、入力された音声信号をフレームに分割し、フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、レベルが調整された音声信号に対し、周波数変換を施し、前記周波数変換により得られた音声信号に対し、ベクトル量子化を施し、前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施し、前記エントロピー符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、前記エントロピー符号化により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、前記ベクトル量子化された音声信号の中から、エネルギーが最小の帯域の周波数成分を削除し、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除し、前記データ削除された音声信号について再度エントロピー符号化し、符号化された音声信号のデータ量が前記目標データ量に収まるまで前記削除処理と符号化処理を行わせることを特徴としている。 The speech coding method according to the present invention divides an input speech signal into frames, and adjusts the level of the speech signal for each frame based on the maximum value of the amplitude of the speech signal included in the frame. The speech signal is subjected to frequency transformation, the speech signal obtained by the frequency transformation is subjected to vector quantization, the speech signal obtained by the vector quantization is subjected to entropy coding, It is determined whether the data amount of the audio signal obtained by entropy encoding is larger than a preset target data amount, and the data amount of the audio signal obtained by entropy encoding is larger than the target data amount. If it is determined that, from among the vector quantized speech signals, energy removes the frequency components of the lowest band, preset on the frequency axis Remove the frequency components present apart over the frequency interval that the re entropy coding for the data deleted voice signal, the deletion process and the code until the data amount of the encoded audio signal falls within the target data quantity It is characterized in that the processing is performed .
本発明によれば、エントロピー符号化後のデータ量を目標データ量以下に抑えるために、エネルギーの小さい周波数成分を音声信号から削除するようにした音声符号化を行う場合に、周波数軸上で隣り合う周波数成分が0でかつ振幅値の絶対値が所定値より大きい周波数成分を削除することで、雑音を軽減させることができる。 According to the present invention, in order to suppress the data amount after entropy encoding to be equal to or less than the target data amount, when performing audio encoding in which a frequency component with low energy is deleted from the audio signal, the adjacent data on the frequency axis is used. Noise can be reduced by deleting frequency components whose matching frequency components are 0 and whose absolute value of the amplitude value is larger than a predetermined value .
また、本発明によれば、エントロピー符号化後のデータ量を目標データ量以下に抑えるために、エネルギーの小さい周波数成分を音声信号から削除するようにした音声符号化を行う場合に、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除することにより、雑音を軽減させることができる。 In addition, according to the present invention, in order to suppress the amount of data after entropy encoding to be equal to or less than the target data amount, when performing speech encoding in which a frequency component with low energy is deleted from the speech signal, The noise can be reduced by deleting frequency components that are separated by a predetermined frequency interval or more .
以下、図面を参照して、本発明の実施形態について詳細に説明する。
まず、本実施形態における構成について説明する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
First, the configuration in the present embodiment will be described.
図1は、本発明の実施形態の音声処理装置100の構成を示すブロック図である。音声処理装置100は、図1に示すように、A/D変換部1、DC(Direct Current)除去部2、フレーム化部3、レベル調整部4、周波数変換部5、周波数並べ替え部6、ベクトル量子化部7、エントロピー符号化部8、レートコントローラ9、データ削除部10により構成される。
FIG. 1 is a block diagram showing a configuration of a
A/D変換部1は、入力された音声アナログ信号をデジタル信号に変換し、DC除去部2に出力する。サンプリング周波数は、16kHz程度が望ましいが、11.025kHz、22.05kHz等でもかまわない。
The A /
DC除去部2は、A/D変換部1から入力された音声信号の直流成分を除去し、フレーム化部3に出力する。音声信号の直流成分を除去するのは、直流成分が音質にほとんど無関係であることによる。直流成分の除去は、例えば、高域通過フィルタによって実現することができる。高域通過フィルタには、例えば、式(1)で表されるものがある。
フレーム化部3は、DC除去部2から入力された信号を、圧縮の処理単位であるフレームに分割し、レベル調整部4に出力する。ここで、1つのフレームには、1つ以上、好ましくは4つ以上のブロックが含まれる長さにする。1ブロックは、1回のMDCT(Modified Discrete Cosine Transform:変形離散コサイン変換)を行う単位であり、MDCTの次数分の長さを有する。以下、1フレームを構成する各ブロックをMDCTブロックと呼ぶことにする。図2に、入力信号と各フレームとの関係を示し、図3に、1フレームと各MDCTブロックとの関係を示す。図3に示すように、各MDCTブロックは直前のMDCTブロックと、MDCTブロックの半分の長さの重複部分を有する。また、図2に示すように、各フレームは、直前のフレームと、MDCTブロックの半分の長さの重複部分を有する。
The
レベル調整部4は、フレーム毎に、入力された音声信号のレベル調整を行い、レベル調整された信号を周波数変換部5に出力する。レベル調整とは、1フレーム中に含まれる信号の振幅の最大値を、指定されたビット(以下、制圧目標ビット)数に収まるようにすることである。レベル調整は、例えば、1フレーム中の信号の最大振幅をnbit、制圧目標ビット数をNとすると、フレーム中の信号を全て、式(2)を満たすshift_bit数分LSB(Least Significant Bit:最下位ビット)側にシフトすることによって実現できる。
周波数変換部5は、レベル調整部4から入力された信号に対し周波数変換を施し、周波数並べ替え部6に出力する。本実施形態では、周波数変換としてMDCT(Modified Discrete Cosine Transform:変形離散コサイン変換)を用いる場合を示す。MDCTブロックの長さをM、入力信号を{xn|n=0,…,M-1}とすると、MDCT係数{Xk|n=0,…,M-1}は式(3)で表される。
周波数並べ替え部6は、周波数変換部5から入力されたMDCT係数を周波数毎に並べ替え、同一周波数帯域の係数をまとめてベクトル化し、ベクトル量子化部7に出力する。このように、同一周波数帯域の信号をまとめてベクトル化すると、例えば、定常信号を多く含む場合、後のベクトル量子化の精度が向上する。1フレームにMDCTブロックがm個あり、各MDCTでMDCT係数がM/2個算出された場合、i番目のMDCTブロックのj番目のMDCT係数をXijとすると、j番目の周波数帯域をまとめたベクトルFjは、Fj={Xij|i=0,…,m-1},j=0,…,M/2-1となる。
The
ベクトル量子化部7は、複数の音声パターンを示す代表ベクトルを格納したVQ(Vector Quantization)テーブルを有し、周波数並べ替え部6で作成されたベクトルFjと、VQテーブルに格納された各代表ベクトルを比較し、最も類似した代表ベクトルが示すインデックスを符号としてエントロピー符号化部8に出力する。
The
例えば、ベクトル長Nの符号化対象のベクトルを{sj|j=1,…,N}、VQテーブルに格納されたk個の代表ベクトルを{Vi|i=1,…,k}、Vi={vij|j=1,…,N}とすると、符号化対象のベクトルと、VQテーブルに格納されたi番目の代表ベクトルの各要素vijの誤差eiが最小となるようなi(インデックス)を、出力する符号とする。誤差eiの算出式を式(5)に示す。
音声は、高域周波数部分と低域周波数部分で異なる特性がある場合が多いため、本実施形態では、高域と低域で異なるVQテーブルを用いることにする。高域用の代表ベクトルが格納されたVQテーブルを高域用VQテーブル7a、低域用の代表ベクトルが格納されたVQテーブルを低域用VQテーブル7bとする。周波数並べ替え部6で作成されたベクトルFj={Xij|i=0,…,m-1},j=0,…,M/2-1において、高域と低域の境界は、周波数帯域を示すjを単純に半分に分ければよい。即ち、F0,F1,…,FM/4-1を低域、FM/4,FM/4+1,…,FM/2-1を高域とすればよい。従って、低域のベクトルF0,F1,…,FM/4-1は、低域用VQテーブル7bに格納された各代表ベクトルと比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される。同様に、高域のベクトルFM/4,FM/4+1,…,FM/2-1は、高域用VQテーブル7aに格納された各代表ベクトルと比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される。
Since audio often has different characteristics in the high frequency part and the low frequency part, in this embodiment, different VQ tables are used in the high frequency and the low frequency. The VQ table in which the high-frequency representative vector is stored is referred to as a high-frequency VQ table 7a, and the VQ table in which the low-frequency representative vector is stored is referred to as a low-frequency VQ table 7b. In the vector F j = {X ij | i = 0,..., M−1}, j = 0,..., M / 2-1 created by the
エントロピー符号化部8は、ベクトル量子化部7から入力された符号に対してエントロピー符号化を施し、レートコントローラ9に出力する。エントロピー符号化とは、信号の統計的性質を利用して、符号をより短い符号へと変換する符号化方式であり、ハフマン(Huffman)符号化、算術符号化、レンジコーダ(Range Coder)による符号化等がある。エントロピー符号化の詳細については、後に図4〜図8を参照して説明する。
The
レートコントローラ9は、エントロピー符号化で得られた符号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、エントロピー符号化で得られた符号のデータ量が目標データ量より大きいと判定した場合、データ削除部10に対し、符号のデータ量の抑制を要求する。エントロピー符号化で得られた符号のデータ量が目標データ量以下であると判定した場合は、レートコントローラ9は、エントロピー符号化で得られた符号を音声圧縮信号として出力する。レートコントローラ9から出力された音声圧縮信号は、記録媒体に記録されたり、通信ネットワークを介して外部装置に伝送されたりする。
The
データ削除部10は、レートコントローラ9により、エントロピー符号化で得られた符号のデータ量が目標データ量より大きいと判定された場合、エネルギー|Fj|2が最小の帯域を削除するとともに、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除し、また、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する帯域データ削除処理を実行する(図10〜図12参照)。周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分とは、周波数成分の振幅値の絶対値が所定値以上であり、かつ周波数軸上で隣り合う周波数成分の値が0である帯域の周波数成分を示す。そして、データ削除部10は、帯域データ削除処理後の音声信号をエントロピー符号化部8に出力し、再度、エントロピー符号化を要求する。帯域データ削除処理については、後に図10〜図12を参照して詳細に説明する。
〈エントロピー符号化〉
以下では、本実施形態で適用されるエントロピー符号化の例として、ハフマン符号化、レンジコーダによる符号化について説明する。
<Entropy coding>
Hereinafter, Huffman coding and coding by a range coder will be described as examples of entropy coding applied in the present embodiment.
(ハフマン符号化)
ハフマン符号化とは、出現頻度の高い記号には短い符号を割り当て、出現頻度の低い記号には長い符号を割り当てることで、全体のデータ量を圧縮する方式である。例えば、4つの記号{a、b、c、d}からなる100文字のデータがあったとする。全ての記号に同じ長さの2進数の符号(固定長符号)を割り当てる場合、4つの記号を表すには2ビットが必要であるため、100文字のデータ量は、2[bit]×100=200[bit]となる。
(Huffman coding)
Huffman coding is a method of compressing the entire data amount by assigning short codes to symbols with high appearance frequency and assigning long codes to symbols with low appearance frequency. For example, assume that there is 100 characters of data consisting of four symbols {a, b, c, d}. When a binary code (fixed length code) having the same length is assigned to all symbols, 2 bits are required to represent the four symbols, so the data amount of 100 characters is 2 [bit] × 100 = 200 [bit].
ハフマン符号化では、各記号の出現頻度に応じて2進数の符号が割り当てられる。図4に、100文字のデータ中の各記号a、b、c、dの出現頻度が、それぞれ、10、70、1、19である場合に各記号に割り当てられた2進数の符号の例を示す。図4に示すように、記号a、b、c、dに、それぞれ、符号100、0、101、11が割り当てられた場合、100文字のデータ量は、3[bit]×10+1[bit]×70+3[bit]×1+2[bit]×19=141[bit]となり、データ量は、固定長符号のデータ量の70%に圧縮される。
In Huffman coding, a binary code is assigned according to the appearance frequency of each symbol. FIG. 4 shows an example of a binary code assigned to each symbol when the appearance frequency of each symbol a, b, c, d in 100-character data is 10, 70, 1, 19 respectively. Show. As shown in FIG. 4, when
(レンジコーダによる符号化)
符号化前の元信号に含まれる記号の集合をS={si|i=1,…,n}とし、各記号siの出現確率をpiとする。また、元信号に含まれる各記号siを予め決められた順番に並べ替えた記号列{s1、s2、…、sn}において、記号sk(k≧2)より前に並んでいる各記号の出現確率の合計をGkとする。即ち、Gkは、式(6)のように表される。
Assume that a set of symbols included in the original signal before encoding is S = {s i | i = 1,..., N}, and the appearance probability of each symbol s i is p i . Furthermore, symbol strings sorted in a predetermined order each symbol s i in the original signal {s 1, s 2, ... , s n} in, lined before the symbol s k (k ≧ 2) Let G k be the total appearance probability of each symbol. That is, G k is expressed as in Expression (6).
レンジコーダによる符号化では、記号毎に出現確率piとGiを対応付けて格納したテーブル(以下、生起確率テーブルという。)に基づいて、入力済みの信号が示す記号列に、数値で示す範囲(下限、幅)を設定する処理を行う。入力済みの信号に設定される範囲(下限、幅)は、直前に入力された信号に設定された範囲と生起確率テーブルに基づいて決定される。 In the encoding by the range coder, a symbol string indicated by an input signal is indicated by a numerical value based on a table (hereinafter referred to as an occurrence probability table) in which appearance probabilities p i and G i are stored in association with each symbol. Process to set the range (lower limit, width). The range (lower limit, width) set for the input signal is determined based on the range set for the signal input immediately before and the occurrence probability table.
符号化対象の信号skが入力されたときに設定される幅をrange'、下限をlow'とし、その信号skの1つ前の信号が入力されたときに設定された幅をrange、下限をlowとすると、幅range'、下限low'は、それぞれ、式(7)、式(8)のように表される。
range'=range×pk (7)
low'=low+range×Gk (8)
式(7)及び式(8)で算出されたrange'、low'が、次の信号が入力されたときのrange、lowとなる。
The range set when the signal s k to be encoded is input is range ', the lower limit is low', and the range set when the signal before the signal s k is input is range, Assuming that the lower limit is low, the width range ′ and the lower limit low ′ are expressed as in Expression (7) and Expression (8), respectively.
range '= range × pk (7)
low '= low + range × G k (8)
The range ′ and low ′ calculated by the equations (7) and (8) are the range and low when the next signal is input.
式(7)及び式(8)で示す算出処理は、入力信号がなくなるまで行われ、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low+rangeの間の値が符号値として出力される。 The calculation processing shown in Expression (7) and Expression (8) is performed until there is no input signal, and the range calculated when the last signal is input, the range determined based on low, between low to low + range Is output as a code value.
図5に、レンジコーダ符号化の例を示す。図5(a)に、元信号に含まれる記号の集合がS={s1=a、s2=b、s3=c、s4=d}であるときの生起確率テーブルの一例を示す。また、図5(b)に、記号列{baca}に対する符号化の一例を示す。図5(b)では、記号列を示す符号を10進数とし、lowの初期値を0、rangeの初期値を106とした場合を示している。図5(b)において、「入力信号」項目は、入力された記号を示し、「記号列」項目は、これまでに入力された記号列を示し、「low」項目は、式(8)により算出されるlow'を示し、「range」項目は、式(7)により算出されるrange'を示す。また、「範囲」項目は、low及びrangeから決定される符号値の範囲を示す。図5(b)において、[x、y)という表記は、符号値Zがx≦Z<yを満たすことを意味する。図5(b)によると、593750≦Z<603125を満たす符号値Zのうちの1つ(例えば、600000)が、記号列{baca}を符号化した結果として出力されることになる。 FIG. 5 shows an example of range coder encoding. FIG. 5A shows an example of the occurrence probability table when the set of symbols included in the original signal is S = {s 1 = a, s 2 = b, s 3 = c, s 4 = d}. . FIG. 5B shows an example of encoding for the symbol string {baca}. FIG. 5B shows a case where the code indicating the symbol string is a decimal number, the initial value of low is 0, and the initial value of range is 10 6 . In FIG. 5B, the “input signal” item indicates the input symbol, the “symbol string” item indicates the symbol string input so far, and the “low” item is expressed by the equation (8). “Low ′” is calculated, and the “range” item indicates “range ′” calculated by Expression (7). The “range” item indicates a range of code values determined from low and range. In FIG. 5B, the notation [x, y) means that the code value Z satisfies x ≦ Z <y. According to FIG. 5B, one of the code values Z satisfying 593750 ≦ Z <603125 (for example, 600000) is output as a result of encoding the symbol string {baca}.
このように、レンジコーダによる符号化では、予め決められた出現確率を利用して入力される各記号を符号化しているため、元信号に含まれる各記号の出現確率が固定された情報源からの発生であれば非常に有効である。しかしながら、符号化対象となる信号が、出現確率が一定の情報源から発生されていることは極めてまれである。よって、上述のレンジコーダによる符号化では、各記号の出現確率が符号化対象となる信号に適応していない。そこで、本実施形態では、レンジコーダ符号化において、信号が入力される度に出現確率を更新させるようにすることによって、実際の信号に適応可能にした。以下、本実施形態のレンジコーダによる符号化について説明する。 As described above, in encoding by the range coder, each symbol input is encoded using a predetermined appearance probability, and therefore, from an information source in which the appearance probability of each symbol included in the original signal is fixed. This is very effective. However, it is extremely rare that a signal to be encoded is generated from an information source having a constant appearance probability. Therefore, in the encoding by the above range coder, the appearance probability of each symbol is not adapted to the signal to be encoded. Therefore, in the present embodiment, in the range coder encoding, the appearance probability is updated every time a signal is input, so that it can be adapted to an actual signal. Hereinafter, encoding by the range coder of this embodiment will be described.
上述と同様に、符号化前の元信号に含まれる記号の集合をS={si|i=1,…,n}とする。元信号に含まれる記号siの出現頻度をgi、出現頻度giの合計をcum、各記号siの出現確率をpiとすると、cum、piは、それぞれ、式(9)、式(10)のように表される。
エントロピー符号化部8は、入力された信号に幅range及び下限lowを設定するためのテーブルとして、図6に示すような生起確率テーブル81を有する。生起確率テーブル81は、図6に示すように、各記号毎に、出現頻度gi、出現確率pi、Giの各項目を対応付けて格納している。Giの定義は、式(6)で示したとおりである。
The
エントロピー符号化部8に符号化対象の信号skが入力されたときに設定される幅をrange'、下限をlow'とし、その信号skの1つ前の信号が入力されたときに設定された幅をrange、下限をlowとすると、幅range'、下限low'は、それぞれ、式(11)、式(12)のように表される。
信号skの入力によりrange、lowが算出されると、エントロピー符号化部8は、式(12−1)に示すように、出現確率gkに1を加算し、算出された出現確率gk'を新たなgkとする。
gk'=gk+1 (12−1)
エントロピー符号化部8は、出現確率gkの加算に伴い、cum、出現確率pi、Giを再計算し、生起確率テーブル81を更新する。エントロピー符号化部8は、これらの処理を、入力信号がなくなるまで行い、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low+rangeの間の値を符号値として出力する。
When range and low are calculated by inputting the signal s k , the
g k '= g k +1 (12-1)
The
図7及び図8に、本実施形態のレンジコーダ符号化の例を示す。図7(a)に、元信号に含まれる記号の集合がS={s1=a、s2=b、s3=c、s4=d}であるときのデフォルトの生起確率テーブル81の一例を示す。図7(a)に示すデフォルトの生起確率テーブル81のpi及びGiは、図5(a)に示す生起確率テーブルと同一であるものとする。また、図7(b)には、図5(b)に示した記号列と同一の記号列{baca}に対する符号化の一例を示す。図7(b)においても、記号列を示す符号を10進数とし、lowの初期値を0、rangeの初期値を106とする。図7(b)において、「入力信号」項目は、入力された記号を示し、「記号列」項目は、これまでに入力された記号列を示し、「low」項目は、式(12)により算出されるlow'を示し、「range」項目は、式(11)により算出されるrange'を示す。また、「範囲」項目は、low及びrangeから決定される符号値の範囲を示す。また、「生起確率テーブル」項目は、記号の入力毎に更新された生起確率テーブルを示す。図8に、記号の入力毎に更新された生起確率テーブルを示す。図7(b)によると、記号の入力毎に生起確率テーブルを更新することで、記号列{baca}が示す「範囲」は、図5(b)に示した生起確率テーブルが固定された場合と異なり、591992≦Z<599757を満たす符号値Zのうちの1つが、記号列{baca}を符号化した結果として出力されることになる。 7 and 8 show examples of range coder encoding according to this embodiment. FIG. 7A shows a default occurrence probability table 81 when the set of symbols included in the original signal is S = {s 1 = a, s 2 = b, s 3 = c, s 4 = d}. An example is shown. It is assumed that p i and G i of the default occurrence probability table 81 shown in FIG. 7A are the same as the occurrence probability table shown in FIG. FIG. 7B shows an example of encoding for the same symbol string {baca} as the symbol string shown in FIG. Also in FIG. 7B, the symbol indicating the symbol string is a decimal number, the initial value of low is 0, and the initial value of range is 10 6 . In FIG. 7B, the “input signal” item indicates the input symbol, the “symbol string” item indicates the symbol string input so far, and the “low” item is expressed by the equation (12). “Low” is calculated, and the “range” item indicates “range ′” calculated by the equation (11). The “range” item indicates a range of code values determined from low and range. The “occurrence probability table” item indicates an occurrence probability table updated every time a symbol is input. FIG. 8 shows an occurrence probability table updated every time a symbol is input. According to FIG. 7B, by updating the occurrence probability table for each input of the symbol, the “range” indicated by the symbol string {baca} is the case where the occurrence probability table shown in FIG. 5B is fixed. Unlike the above, one of the code values Z satisfying 591992 ≦ Z <599757 is output as a result of encoding the symbol string {baca}.
次に、本実施形態における動作について説明する。
まず、図9のフローチャートを参照して、音声処理装置100において実行される音声圧縮処理について説明する。
Next, the operation in this embodiment will be described.
First, an audio compression process executed in the
まず、音声アナログ信号が入力されると、A/D変換部1において、入力された音声アナログ信号が音声デジタル信号に変換される(ステップS1)。以下、符号化対象の音声デジタル信号を単に音声信号を呼ぶことにする。次いで、DC除去部2において、音声信号の直流成分が削除され(ステップS2)、フレーム化部3において、直流成分削除後の音声信号がフレームに分割される(ステップS3)。
First, when an audio analog signal is input, the input audio analog signal is converted into an audio digital signal in the A / D converter 1 (step S1). Hereinafter, the audio digital signal to be encoded is simply referred to as an audio signal. Next, the
次いで、レベル調整部4において、フレーム毎に、入力された音声信号のレベルが調整され(ステップS4)、周波数変換部5において、レベル調整後の音声信号に対し、MDCTが施される(ステップS5)。次いで、周波数並べ替え部6において、MDCT係数が周波数毎に並べ替えられ(ステップS6)、同一周波数帯域の係数がまとめてベクトル化される。
Next, the
次いで、ベクトル量子化部7において、高域のMDCT係数のベクトルと高域用VQテーブル7aに格納された代表ベクトルが比較されるとともに、低域のMDCT係数のベクトルと低域用VQテーブル7bに格納された代表ベクトルが比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される(ステップS7)。
Next, the
次いで、ベクトル量子化後の音声信号に対し、フレーム毎にエントロピー符号化が施され(ステップS8)、エントロピー符号化後の信号が音声圧縮信号としてレートコントローラ9に出力される。次いで、レートコントローラ9において、エントロピー符号化部8から入力された1フレーム分の音声圧縮信号が予め設定された目標データ量以下であるか否かが判定される(ステップS9)。
Next, entropy encoding is performed for each frame on the speech signal after vector quantization (step S8), and the entropy encoded signal is output to the
ステップS9において、入力された音声圧縮信号が目標データ量より大きいと判定された場合(ステップS9;NO)、データ削除部10において、帯域データ削除処理が行われ(ステップS11)、再度、該当するフレームに対するエントロピー符号化が行われる(ステップS8)。ステップS11の帯域データ削除処理については、後に図10を参照して詳細に説明する。
If it is determined in step S9 that the input audio compression signal is larger than the target data amount (step S9; NO), the
ステップS9において、入力された音声圧縮信号が目標データ量以下であると判定された場合(ステップS9;YES)、エントロピー符号化部8に次のフレームの音声信号が入力されたか否かが判定される(ステップS10)。ステップS10において、エントロピー符号化部8に次のフレームの音声信号が入力されたと判定された場合(ステップS10;YES)、再度、そのフレームに対するエントロピー符号化が行われる(ステップS8)。ステップS10において、エントロピー符号化部8に入力された全てのフレームに対するエントロピー符号化が終了したと判定された場合(ステップS10;NO)、本音声圧縮処理が終了する。
If it is determined in step S9 that the input audio compression signal is equal to or less than the target data amount (step S9; YES), it is determined whether or not the audio signal of the next frame has been input to the
次に、図10のフローチャートを参照して、図9のステップS11に示した帯域データ削除処理について説明する。 Next, the band data deletion process shown in step S11 of FIG. 9 will be described with reference to the flowchart of FIG.
まず、ステップS7のベクトル量子化により得られた音声信号の中から、エネルギー|Fj|2が最小の周波数帯域(周波数成分)が削除される(ステップS20)。次いで、ステップS6で算出された周波数信号の高周波成分の値と低周波成分の値が比較され、処理対象の音声信号が、高周波成分の多い信号(波形)であるか否かが判定される(ステップS21)。 First, the frequency band (frequency component) with the minimum energy | F j | 2 is deleted from the audio signal obtained by the vector quantization in step S7 (step S20). Next, the value of the high frequency component and the value of the low frequency component of the frequency signal calculated in step S6 are compared, and it is determined whether or not the audio signal to be processed is a signal (waveform) with a lot of high frequency components ( Step S21).
ステップS21における低周波成分と高周波成分との比較は、以下のように、処理対象の音声信号を低周波成分と高周波成分に分け、各々の合計を比較すればよい。処理対象の音声信号がN個の周波数成分[Fi|i=0,…,N-1]に分離されているとすると、低周波成分の合計FL、高周波成分の合計FHは、それぞれ、下記の式(13)、式(14)のように定義される。
ステップS21において、処理対象の音声信号が高周波成分の多い信号(波形)であると判定された場合(ステップS21;YES)、孤立周波数成分削除処理が行われ(ステップS23)、本帯域データ削除処理が終了する。ステップS23の孤立周波数成分削除処理については、後に図12を参照して詳細に説明する。 In step S21, when it is determined that the audio signal to be processed is a signal (waveform) with many high frequency components (step S21; YES), an isolated frequency component deletion process is performed (step S23), and this band data deletion process is performed. Ends. The isolated frequency component deletion processing in step S23 will be described in detail later with reference to FIG.
ステップS21において、処理対象の音声信号が高周波成分の少ない信号(波形)であると判定された場合(ステップS21;NO)、高周波成分の信号のうち、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する高域雑音削除処理が行われる(ステップS22)。ステップS22の高域雑音削除処理については、後に図11を参照して詳細に説明する。高域雑音削除処理が終了すると、高周波成分以外でもクリップ音が入るのを防ぐために、高域雑音削除処理後の音声信号に対し、孤立周波数成分削除処理が行われ(ステップS23)、本帯域データ削除処理が終了する。 In step S21, when it is determined that the audio signal to be processed is a signal (waveform) with a small number of high frequency components (step S21; NO), the frequency interval of the high frequency component signals that is set in advance on the frequency axis is greater than or equal to A high-frequency noise deletion process is performed to delete frequency components that are present apart (step S22). The high-frequency noise elimination process in step S22 will be described in detail later with reference to FIG. When the high-frequency noise removal processing is completed, in order to prevent a clip sound from entering other than the high-frequency components, the isolated frequency component deletion processing is performed on the audio signal after the high-frequency noise removal processing (step S23), and this band data The deletion process ends.
なお、式(13)及び式(14)で示した低周波成分と高周波成分との分離は、HPF(High Pass Filter:高域通過フィルタ)及びLPF(Low Pass Filter:低域通過フィルタ)を用いて行うこともできる。この場合、レベル調整部4においてレベル調整された音声信号がデータ削除部10に出力され、データ削除部10において、LPF及びHPFを用いて、音声信号が以下のように低周波成分及び高周波成分に分離される。レベル調整部4から出力された音声信号を{xn|n=0,…,M-1}とすると、低周波成分の合計XL、高周波成分の合計XHは、それぞれ、下記の式(15)、式(16)のように定義される。
次に、図11のフローチャートを参照して、図10のステップS22に示した高域雑音削除処理について詳細に説明する。以下では、音声信号がN個の周波数成分[Fi|i=0,…,N-1]に分離されているものとし、音声信号のサンプリング周波数をfs(Hz)とし、処理対象となる高周数成分の帯域をS(Hz)以上とし、予め設定された周波数間隔をTとする。 Next, with reference to the flowchart of FIG. 11, the high-frequency noise deletion process shown in step S22 of FIG. 10 will be described in detail. In the following, it is assumed that the audio signal is separated into N frequency components [F i | i = 0,..., N−1], and the sampling frequency of the audio signal is f s (Hz), which is a processing target. The band of the high frequency component is set to S (Hz) or more, and T is a preset frequency interval.
まず、周波数成分を指定するためのカウンタ値jがj=S×2N/fsに設定される(ステップS30)。本高域雑音削除処理の対象となる高周波成分は、j番目の周波数成分よりも高域となる。次いで、現在のカウンタ値jがN未満であるか否かが判定される(ステップS31)。ステップS31において、カウンタ値jがN以上であると判定された場合(ステップS31;NO)、本高域雑音削除処理が終了する。 First, the counter value j for specifying a frequency component is set to j = S × 2N / f s ( step S30). The high-frequency component that is the target of the high-frequency noise elimination processing is higher than the j-th frequency component. Next, it is determined whether or not the current counter value j is less than N (step S31). If it is determined in step S31 that the counter value j is greater than or equal to N (step S31; NO), the high frequency noise elimination process ends.
ステップS31において、カウンタ値jがN未満であると判定された場合(ステップS31;YES)、j番目の周波数成分Fjが0であるか否かが判定される(ステップS32)。ステップS32において、j番目の周波数成分Fjが0でないと判定された場合(ステップS32;NO)、カウンタ値jがインクリメントされ(ステップS33)、ステップS31に戻る。 If it is determined in step S31 that the counter value j is less than N (step S31; YES), it is determined whether or not the j-th frequency component F j is 0 (step S32). If it is determined in step S32 that the j-th frequency component F j is not 0 (step S32; NO), the counter value j is incremented (step S33), and the process returns to step S31.
ステップS32において、j番目の周波数成分Fjが0であると判定された場合(ステップS32;YES)、j+1が新たなカウンタ値iとして設定され(ステップS34)、このカウンタ値iがN未満であるか否かが判定される(ステップS35)。 If it is determined in step S32 that the j-th frequency component F j is 0 (step S32; YES), j + 1 is set as a new counter value i (step S34), and this counter value i is less than N. It is determined whether or not there is (step S35).
ステップS35において、カウンタ値iがN未満であると判定された場合(ステップS35;YES)、i番目の周波数成分Fiが0であるか否かが判定される(ステップS36)。ステップS36において、i番目の周波数成分Fiが0であると判定された場合(ステップS36;YES)、カウンタ値iがインクリメントされ(ステップS37)、ステップS35に戻り、現在のカウンタ値iがN未満であるか否かが判定される(ステップS35)。 When it is determined in step S35 that the counter value i is less than N (step S35; YES), it is determined whether or not the i-th frequency component F i is 0 (step S36). If it is determined in step S36 that the i-th frequency component F i is 0 (step S36; YES), the counter value i is incremented (step S37), the process returns to step S35, and the current counter value i is N. It is determined whether it is less than (step S35).
ステップS36において、i番目の周波数成分Fiが0でないと判定された場合(ステップS36;NO)、j+Tがi未満であるか否かが判定される(ステップS38)。ステップS35において、カウンタ値iがN以上であると判定された場合も(ステップS35;NO)、ステップS38に移行し、j+Tがi未満であるか否かが判定される(ステップS38)。 If it is determined in step S36 that the i-th frequency component F i is not 0 (step S36; NO), it is determined whether j + T is less than i (step S38). If it is determined in step S35 that the counter value i is greater than or equal to N (step S35; NO), the process proceeds to step S38, and it is determined whether j + T is less than i (step S38).
ステップS38において、j+Tがi以上であると判定された場合(ステップS38;NO)、カウンタ値iがカウンタ値jとして設定され(ステップS39)、このカウンタ値jがインクリメントされ(ステップS33)、ステップS31に戻る。ステップS38において、j+Tがi未満であると判定された場合(ステップS38;YES)、j番目からN−1番目の周波数成分が削除され(Fj〜FN-1=0)(ステップS40)、本高域雑音削除処理が終了する。これにより高周波成分の信号のうち、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分が削除されることになる。 If it is determined in step S38 that j + T is equal to or greater than i (step S38; NO), the counter value i is set as the counter value j (step S39), and the counter value j is incremented (step S33). Return to S31. In step S38, the case of j + T is determined to be less than i (step S38; YES), N-1 th frequency component from the j-th are removed (F j ~F N-1 = 0) ( step S40) This high-frequency noise removal process ends. As a result, of the high-frequency component signals, frequency components that are separated by a predetermined frequency interval or more on the frequency axis are deleted.
次に、図12のフローチャートを参照して、図10のステップS23に示した孤立周波数成分削除処理について詳細に説明する。以下の孤立周波数成分削除処理においても、音声信号の周波数成分の数をNとする。 Next, the isolated frequency component deletion process shown in step S23 of FIG. 10 will be described in detail with reference to the flowchart of FIG. Also in the following isolated frequency component deletion processing, the number of frequency components of the audio signal is N.
まず、周波数成分を指定するためのカウンタ値iが1に設定される(ステップS50)。次いで、現在のカウンタ値iがN−1未満であるか否かが判定される(ステップS51)。ステップS51において、カウンタiがN−1以上であると判定された場合(ステップS51;NO)、本孤立周波数成分削除処理が終了する。 First, a counter value i for designating a frequency component is set to 1 (step S50). Next, it is determined whether or not the current counter value i is less than N−1 (step S51). In step S51, when it is determined that the counter i is equal to or greater than N−1 (step S51; NO), the isolated frequency component deletion process ends.
ステップS51において、カウンタ値iがN−1未満であると判定された場合(ステップS51;YES)、i番目の周波数成分Fiの前後の周波数成分Fi-1及びFi+1が0で、且つ、i番目の周波数成分Fiの絶対値|Fi|が予め設定された値Pより大きいか否かが判定される(ステップS52)。ここで、予め設定された値Pは、全周波数成分の振幅値の最大値から算出されることが好ましい。全周波数成分の絶対値の最大値maxは、式(17)のように表される。
max=MAX(|Fi|) i=0,…,N-1 (17)
ここで、MAXは最大値をとる関数である。式(17)に示す最大値maxに、予め設定された倍率rを乗算した値をP(P=r・max)として設定することができる。この倍率rは、例えば、0.1の値をとる。
If it is determined in step S51 that the counter value i is less than N−1 (step S51; YES), the frequency components F i−1 and F i + 1 before and after the i-th frequency component F i are 0. Further, it is determined whether or not the absolute value | F i | of the i-th frequency component F i is larger than a preset value P (step S52). Here, the preset value P is preferably calculated from the maximum value of the amplitude values of all frequency components. The maximum absolute value max of all frequency components is expressed as shown in Equation (17).
max = MAX (| F i |) i = 0,…, N-1 (17)
Here, MAX is a function that takes the maximum value. A value obtained by multiplying the maximum value max shown in Expression (17) by a preset magnification r can be set as P (P = r · max). This magnification r takes, for example, a value of 0.1.
ステップS52において、Fi-1=0、Fi+1=0、|Fi|>Pを満たさない場合(ステップS52;NO)、カウンタ値iがインクリメントされ(ステップS54)、ステップS51に戻る。ステップS52において、Fi-1=0、Fi+1=0、|Fi|>Pを満たす場合(ステップS52;YES)、i番目の周波数成分Fiが0に設定され(ステップS53)、カウンタ値iがインクリメントされ(ステップS54)、ステップS51に戻る。Fi-1=0、Fi+1=0、|Fi|>Pを満たす周波数成分を削除することは、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が予め設定された値Pより大きい周波数成分を削除することに対応する。 In step S52, if F i-1 = 0, F i + 1 = 0, and | F i |> P are not satisfied (step S52; NO), the counter value i is incremented (step S54), and the process returns to step S51. . In step S52, when F i-1 = 0, F i + 1 = 0, and | F i |> P are satisfied (step S52; YES), the i-th frequency component F i is set to 0 (step S53). The counter value i is incremented (step S54), and the process returns to step S51. To delete frequency components satisfying F i-1 = 0, F i + 1 = 0, | F i |> P, the absolute value of the difference in amplitude value between adjacent frequency components on the frequency axis is set in advance. This corresponds to deleting a frequency component larger than the value P.
以上のように、本実施形態の音声処理装置100によれば、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除することで、音声信号に含まれる雑音を軽減させることができる。
As described above, according to the
また、処理対象の音声信号の高周波成分の値が低周波成分の値より少ない場合、高周波成分のうち、予め設定された周波数間隔以上離れて存在する周波数成分を削除することにより、音声信号に含まれる雑音を軽減させることができる。 Also, if the value of the high frequency component of the audio signal to be processed is less than the value of the low frequency component, the high frequency component is included in the audio signal by deleting the frequency component that exists more than the preset frequency interval. Noise can be reduced.
なお、本実施形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。 Note that the description in the present embodiment can be changed as appropriate without departing from the spirit of the present invention.
例えば、上述の実施形態における各計算は、下記のように、複数組のMDCT係数をまとめて処理することが可能である。即ち、K個のMDCTブロックがあり、p番目のMDCTブロックのi番目のMDCT係数をXpiとすると、i番目の周波数成分biは、式(18)のように定義される。
1 A/D変換部
2 DC除去部
3 フレーム化部
4 レベル調整部
5 周波数変化部
6 周波数並べ替え部
7 ベクトル量子化部
7a 高域用VQテーブル
7b 低域用VQテーブル
8 エントロピー符号化部
81 生起確率テーブル
9 レートコントローラ(判定部)
10 データ削除部
100 音声処理装置
DESCRIPTION OF SYMBOLS 1 A /
10
Claims (9)
前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、
前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、
前記周波数変換により得られた音声信号に対し、ベクトル量子化を施すベクトル量子化部と、
前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施すエントロピー符号化部と、
前記エントロピー符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、
前記判定部により、前記エントロピー符号化部により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、前記ベクトル量子化された音声信号の中から、エネルギーが最小の帯域の周波数成分を削除する第1の削除処理と、周波数軸上で隣り合う周波数成分が0で、かつ振幅値の絶対値が所定値より大きい周波数成分を削除する第2の削除処理を行うデータ削除部と、
前記データ削除部でデータ削除された音声信号について再度エントロピー符号化し、符号化された音声信号のデータ量が前記目標データ量に収まるまで前記削除処理と符号化処理を行わせるコントロール部と、
を備えることを特徴とする音声処理装置。 A framing unit that divides the input audio signal into frames;
For each frame obtained by the framing unit, a level adjusting unit that adjusts the level of the audio signal based on the maximum value of the amplitude of the audio signal included in the frame;
A frequency conversion unit that performs frequency conversion on the audio signal whose level is adjusted by the level adjustment unit;
A vector quantization unit that performs vector quantization on the audio signal obtained by the frequency conversion;
An entropy encoding unit that performs entropy encoding on the speech signal obtained by the vector quantization;
A determination unit that determines whether or not the data amount of the audio signal obtained by the entropy encoding unit is larger than a preset target data amount;
When the determination unit determines that the data amount of the audio signal obtained by the entropy encoding unit is larger than the target data amount, the vector quantization-encoded audio signal has a minimum energy band. A data deleting unit that performs a first deleting process that deletes a frequency component and a second deleting process that deletes a frequency component whose frequency component adjacent to the frequency axis is 0 and whose amplitude value is larger than a predetermined value. When,
A control unit that performs entropy encoding again on the audio signal whose data has been deleted by the data deletion unit, and performs the deletion process and the encoding process until the data amount of the encoded audio signal falls within the target data amount,
An audio processing apparatus comprising:
前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、
前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、
前記周波数変換により得られた音声信号に対し、ベクトル量子化を施すベクトル量子化部と、
前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施すエントロピー符号化部と、
前記エントロピー符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、
前記判定部により、前記エントロピー符号化部により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、前記ベクトル量子化された音声信号の中から、エネルギーが最小の帯域の周波数成分を削除する第1の削除処理と、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する第2の削除処理を行うデータ削除部と、
前記データ削除部でデータ削除された音声信号について再度エントロピー符号化し、符号化された音声信号のデータ量が前記目標データ量に収まるまで前記削除処理と符号化処理を行わせるコントロール部と、
を備えることを特徴とする音声処理装置。 A framing unit that divides the input audio signal into frames;
For each frame obtained by the framing unit, a level adjusting unit that adjusts the level of the audio signal based on the maximum value of the amplitude of the audio signal included in the frame;
A frequency conversion unit that performs frequency conversion on the audio signal whose level is adjusted by the level adjustment unit;
A vector quantization unit that performs vector quantization on the audio signal obtained by the frequency conversion;
An entropy encoding unit that performs entropy encoding on the speech signal obtained by the vector quantization;
A determination unit that determines whether or not the data amount of the audio signal obtained by the entropy encoding unit is larger than a preset target data amount;
When the determination unit determines that the data amount of the audio signal obtained by the entropy encoding unit is larger than the target data amount, the vector quantization-encoded audio signal has a minimum energy band. A data deletion unit that performs a first deletion process of deleting a frequency component, and a second deletion process of deleting a frequency component that exists at a predetermined frequency interval or more apart on the frequency axis;
A control unit that performs entropy encoding again on the audio signal from which data has been deleted by the data deletion unit, and performs the deletion process and the encoding process until the data amount of the encoded audio signal falls within the target data amount;
An audio processing apparatus comprising:
フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、
レベルが調整された音声信号に対し、周波数変換を施し、
前記周波数変換により得られた音声信号に対し、ベクトル量子化を施し、
前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施し、
前記エントロピー符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、
前記エントロピー符号化により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、前記ベクトル量子化された音声信号の中から、エネルギーが最小の帯域の周波数成分を削除し、周波数軸上で隣り合う周波数成分が0で、かつ振幅値の絶対値が所定値より大きい周波数成分を削除し、
前記データ削除された音声信号について再度エントロピー符号化し、符号化された音声信号のデータ量が前記目標データ量に収まるまで前記削除処理と符号化処理を行わせることを特徴とする音声符号化方法。 Divide the input audio signal into frames,
For each frame, adjust the level of the audio signal based on the maximum amplitude of the audio signal included in the frame,
Frequency conversion is applied to the audio signal whose level is adjusted,
Apply vector quantization to the audio signal obtained by the frequency conversion,
Entropy coding is performed on the speech signal obtained by the vector quantization,
It is determined whether the data amount of the audio signal obtained by the entropy encoding is larger than a preset target data amount,
If it is determined that the data amount of the audio signal obtained by the entropy encoding is larger than the target data amount , the frequency component of the band with the minimum energy is deleted from the vector quantized audio signal , Delete frequency components whose frequency components adjacent to each other on the frequency axis are 0 and whose absolute value of the amplitude value is larger than a predetermined value ,
A speech encoding method, wherein the speech signal from which data has been deleted is entropy-encoded again, and the deletion process and the encoding process are performed until the data amount of the encoded speech signal falls within the target data amount .
フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、
レベルが調整された音声信号に対し、周波数変換を施し、
前記周波数変換により得られた音声信号に対し、ベクトル量子化を施し、
前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施し、
前記エントロピー符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、
前記エントロピー符号化により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、前記ベクトル量子化された音声信号の中から、エネルギーが最小の帯域の周波数成分を削除し、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除し、
前記データ削除された音声信号について再度エントロピー符号化し、符号化された音声信号のデータ量が前記目標データ量に収まるまで前記削除処理と符号化処理を行わせることを特徴とする音声符号化方法。 Divide the input audio signal into frames,
For each frame, adjust the level of the audio signal based on the maximum amplitude of the audio signal included in the frame,
Frequency conversion is applied to the audio signal whose level is adjusted,
Apply vector quantization to the audio signal obtained by the frequency conversion,
Entropy coding is performed on the speech signal obtained by the vector quantization,
It is determined whether the data amount of the audio signal obtained by the entropy encoding is larger than a preset target data amount,
If it is determined that the data amount of the audio signal obtained by the entropy encoding is larger than the target data amount , the frequency component of the band with the minimum energy is deleted from the vector quantized audio signal , Deletes frequency components that are separated by more than a preset frequency interval on the frequency axis ,
A speech encoding method, wherein the speech signal from which data has been deleted is entropy-encoded again, and the deletion process and the encoding process are performed until the data amount of the encoded speech signal falls within the target data amount .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004164511A JP4259401B2 (en) | 2004-06-02 | 2004-06-02 | Speech processing apparatus and speech coding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004164511A JP4259401B2 (en) | 2004-06-02 | 2004-06-02 | Speech processing apparatus and speech coding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005345707A JP2005345707A (en) | 2005-12-15 |
JP4259401B2 true JP4259401B2 (en) | 2009-04-30 |
Family
ID=35498161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004164511A Active JP4259401B2 (en) | 2004-06-02 | 2004-06-02 | Speech processing apparatus and speech coding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4259401B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006107838A1 (en) | 2005-04-01 | 2006-10-12 | Qualcomm Incorporated | Systems, methods, and apparatus for highband time warping |
PT1875463T (en) | 2005-04-22 | 2019-01-24 | Qualcomm Inc | Systems, methods, and apparatus for gain factor smoothing |
JP4548348B2 (en) * | 2006-01-18 | 2010-09-22 | カシオ計算機株式会社 | Speech coding apparatus and speech coding method |
JP4918841B2 (en) | 2006-10-23 | 2012-04-18 | 富士通株式会社 | Encoding system |
JP4978539B2 (en) * | 2008-04-07 | 2012-07-18 | カシオ計算機株式会社 | Encoding apparatus, encoding method, and program. |
CN112185390B (en) * | 2020-09-27 | 2023-10-03 | 中国商用飞机有限责任公司北京民用飞机技术研究中心 | On-board information auxiliary method and device |
CN115171721B (en) * | 2022-07-03 | 2023-10-17 | 北京星汉博纳医药科技有限公司 | Audio data slice identification processing method |
-
2004
- 2004-06-02 JP JP2004164511A patent/JP4259401B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2005345707A (en) | 2005-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10979071B2 (en) | Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation | |
US5206884A (en) | Transform domain quantization technique for adaptive predictive coding | |
JP4548348B2 (en) | Speech coding apparatus and speech coding method | |
JP4800645B2 (en) | Speech coding apparatus and speech coding method | |
JP3636094B2 (en) | Signal encoding apparatus and method, and signal decoding apparatus and method | |
JP4978539B2 (en) | Encoding apparatus, encoding method, and program. | |
JP4259401B2 (en) | Speech processing apparatus and speech coding method | |
JP3434260B2 (en) | Audio signal encoding method and decoding method, these devices and program recording medium | |
JP3255022B2 (en) | Adaptive transform coding and adaptive transform decoding | |
JP2914549B2 (en) | Image coding method | |
JP4734859B2 (en) | Signal encoding apparatus and method, and signal decoding apparatus and method | |
JP4009781B2 (en) | Speech processing apparatus and speech coding method | |
JP5539992B2 (en) | RATE CONTROL DEVICE, RATE CONTROL METHOD, AND RATE CONTROL PROGRAM | |
JP3150475B2 (en) | Quantization method | |
JP4054919B2 (en) | Speech processing apparatus and speech coding method | |
JP2523286B2 (en) | Speech encoding and decoding method | |
JP4626261B2 (en) | Speech coding apparatus and speech coding method | |
JP2002091497A (en) | Audio signal encoding method and decoding methods, and storage medium stored with program to execute these methods | |
JP4024185B2 (en) | Digital data encoding device | |
JP3453116B2 (en) | Audio encoding method and apparatus | |
JP2005128401A (en) | Speech processor and speech encoding method | |
JP2006126592A (en) | Voice coding device and method, and voice decoding device and method | |
JP3747357B2 (en) | Music signal encoding apparatus and decoding apparatus | |
JP2001148632A (en) | Encoding device, encoding method and recording medium | |
JP6712643B2 (en) | Sample sequence transformation device, signal coding device, signal decoding device, sample sequence transformation method, signal coding method, signal decoding method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080117 |
|
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: 20090120 |
|
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: 20090202 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4259401 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140220 Year of fee payment: 5 |