JPWO2012005210A1 - 符号化方法、復号方法、装置、プログラムおよび記録媒体 - Google Patents

符号化方法、復号方法、装置、プログラムおよび記録媒体

Info

Publication number
JPWO2012005210A1
JPWO2012005210A1 JP2012523857A JP2012523857A JPWO2012005210A1 JP WO2012005210 A1 JPWO2012005210 A1 JP WO2012005210A1 JP 2012523857 A JP2012523857 A JP 2012523857A JP 2012523857 A JP2012523857 A JP 2012523857A JP WO2012005210 A1 JPWO2012005210 A1 JP WO2012005210A1
Authority
JP
Japan
Prior art keywords
value
normalized
decoded
encoding
samples
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
JP2012523857A
Other languages
English (en)
Other versions
JP5331249B2 (ja
Inventor
勝宏 福井
勝宏 福井
茂明 佐々木
茂明 佐々木
祐介 日和▲崎▼
祐介 日和▲崎▼
翔一 小山
翔一 小山
公孝 堤
公孝 堤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012523857A priority Critical patent/JP5331249B2/ja
Publication of JPWO2012005210A1 publication Critical patent/JPWO2012005210A1/ja
Application granted granted Critical
Publication of JP5331249B2 publication Critical patent/JP5331249B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

第1基準値よりも小さなサンプルの個数が第2基準値よりも小さい又は第2基準値以下である場合に、各サンプルの値の大きさに対応する値から量子化正規化値に対応する値を減算した減算値が正であり各サンプルの値が正の場合にはその減算値を各サンプルに対応する量子化対象値とし、減算値が正であり各サンプルの値が負の場合にはその減算値の正負を反転させた値を各サンプルに対応する量子化対象値とし、量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第2符号化方式を選択し、第2符号化方式を選択しない場合に別の第1符号化方式を選択する。

Description

本発明は、例えば音声や音楽などの音響、映像等の信号系列をベクトル量子化により符号化または復号する技術に関する。
特許文献1に記載された符号化装置では、入力信号はまず正規化値で割算され正規化される。正規化値は量子化され、量子化インデックスが生成される。正規化された入力信号はベクトル量子化され、量子化代表ベクトルのインデックスが生成される。生成された量子化インデックスおよび量子化代表ベクトルは、復号装置に出力される。
復号装置では、量子化インデックスが復号され正規化値が生成される。また、量子化代表ベクトルのインデックスが復号されてサンプル列が生成される。生成されたサンプル列のそれぞれのサンプルに正規化値を乗算した値の列が復号信号サンプル列となる。
ベクトル量子化には、例えば、所定個数のサンプルの正規化された値に対して、非特許文献1に記載されたAVQ法(Algebraic Vector Quantization)等の予め設定された量子化ビット数の範囲内でパルスを立ててったものを量子化代表ベクトルとするベクトル量子化方法、すなわち、所定個数のサンプルのうち一部のサンプルに対してのみサンプルの値を表わすためのビットが割り当てられ0以外の量子化値が得られ、残りのサンプルに対してはサンプルの値を表わすためのビットが割り当てられず0が量子化値となる量子化代表ベクトルを得るベクトル量子化方法、が用いられる。
特開平7−261800号公報
Recommendation ITU-T G.718, SERIES G: TRANSMISSION SYSTEMS AND MEDIA, DIGITAL SYSTEMS AND NETWORKS, Digital terminal equipments - Coding of voice and audio signals, Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s.
上述のベクトル量子化を採用した符号化装置とこれに対応する復号装置では、量子化に必要なビット数に対して、予め定められた量子化ビット数が不足すると、入力信号に存在するはずの周波数成分が復号信号には存在しない(復号信号から周波数成分が欠損する)という頻度が高くなる。入力信号に存在する周波数成分のうち復号信号で欠損した周波数成分をスペクトルホールと呼ぶ。スペクトルホールが発生した場合、復号信号の或る周波数成分の有無が時間的に不連続に変化する頻度が高くなる。人間は、このような周波数成分の有無の時間的に不連続な変化に敏感であり、入力信号が例えば音響信号である場合、このような変化はミュージカルノイズと呼ばれるノイズとして知覚される場合がある。また、入力信号が映像信号である場合には、音響信号でいうところのミュージカルノイズに相当するような、ブロックノイズが発生する場合がある。
一方、量子化に必要なビット数は入力信号の種類に応じて異なり、入力信号の種類によっては、上述の符号化装置と復号装置との構成でもミュージカルノイズやブロックノイズ(以下、ミュージカルノイズ及びブロックノイズを総称して「ミュージカルノイズ等」と呼ぶ)がさほど問題とならず、符号化精度の面からは、むしろ上述の符号化装置と復号装置との構成が好ましい場合もある。
このように、入力信号の種類に応じて最適な符号化方式および復号方式は異なる。このような問題は入力信号が周波数領域の信号である場合だけではなく、入力信号が時間領域の信号である場合にも生じ得るものである。
本発明は、このような課題に鑑みてなされたものであり、十分な符号ビット長を確保できず、AVQ法等のベクトル量子化では入力信号のうちの値の大きなサンプル全てを量子化対象としきれない場合に、入力信号の種類に応じてミュージカルノイズ等を適切に軽減できる技術を提供することを目的とする。
符号化においては、入力された所定個数のサンプルが含む当該サンプルに対応する値の大きさが第1基準値よりも小さなサンプルの個数に対応する評価値が第2基準値よりも小さい又は第2基準値以下である場合に、所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、各サンプルの値の大きさに対応する値から量子化正規化値に対応する値を減算した減算値が正であり各サンプルの値が正の場合にはその減算値を各サンプルに対応する量子化対象値とし、減算値が正であり各サンプルの値が負の場合にはその減算値の正負を反転させた値を各サンプルに対応する量子化対象値とし、量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第2符号化方式を選択し、第2符号化方式を選択しない場合に別の第1符号化方式を選択し、選択した符号化方式を表すモード情報を生成し、選択した第1符号化方式又は第2符号化方式で所定個数のサンプルを符号化する。
復号においては、入力されたモード情報が第2値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各復号値が0の場合には所定個数の復号値の絶対値の和が大きいほど小さい値を取る正規化再計算値を用い、各復号値が正の場合には各復号値と復号正規化値との線形和を復号信号に対応する大きさを持つ値を復号信号とし、各復号値が負の場合には各復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする第2復号方式を選択し、モード情報が第1値である場合に別の第1復号方式を選択し、選択した第1復号方式又は第2復号方式で復号処理を行う。
値の大きなサンプルが多い場合にはスペクトルホールが生じ、ミュージカルノイズ等が発生しやすい。本発明の符号化では、評価値の大きさによってミュージカルノイズ等の発生しやすさを推定し、ミュージカルノイズ等が発生しやすい場合には、AVQ法等のベクトル量子化では量子化の対象とならないサンプルを含む主要サンプルについて積極的に量子化する符号化方式を選択し、選択した符号化方式を表すモード情報を生成する。これにより、十分な符号ビット長を確保できず、AVQ法等のベクトル量子化では入力信号のうちの値の大きなサンプル全てを量子化対象としきれない場合に、入力信号の種類に応じてミュージカルノイズ等を適切に軽減可能な符号化が可能となる。本発明の復号では、モード情報に応じた復号方法で復号処理を行うため、十分な符号ビット長を確保できず、AVQ法等のベクトル量子化では入力信号のうちの値の大きなサンプル全てを量子化対象としきれない場合に、入力信号の種類に応じてミュージカルノイズ等を適切に軽減できる。
図1は符号化装置および復号装置の例の機能ブロック図である。 図2は第2符号化部の例の機能ブロック図である。 図3は第2復号部の機能ブロック図である。 図4は符号化方法の例の流れ図である。 図5はステップE3の例の流れ図である。 図6はステップE3の例の流れ図である。 図7はステップE3の例の流れ図である。 図8はステップE3の例の流れ図である。 図9はステップE3の例の流れ図である。 図10はステップE3の例の流れ図である。 図11はステップE6の例の流れ図である。 図12はステップE62の例の流れ図である。 図13はステップE65の例の流れ図である。 図14は復号方法の例の流れ図である。 図15はステップD4の例の流れ図である。 図16はステップD43の例の流れ図である。 図17はステップD44,D44’の例の流れ図である。 図18はステップD44,D44’の例の流れ図である。 図19はステップD44’の例の流れ図である。 図20はステップD43,D44,D44’の例の流れ図である。 図21はステップD43,D44,D44’の例の流れ図である。
以下、この発明の一実施形態を詳細に説明する。
<原理>
符号化処理では、入力信号からなる所定個数のサンプルがスパースであるか否かが判定され、スパースでないと判定された場合には、ミュージカルノイズ等を軽減する処理を含む符号化方式によって当該サンプルが符号化される。一方、スパースであると判定された場合には、例えば、ミュージカルノイズ等を軽減する処理を含まない符号化方式によって当該サンプルが符号化される。復号処理では、符号化方式を特定するためのモード情報とを入力とし、モード情報を用いて復号方式が特定され、特定された復号方式によって符号が復号される。なお、所定個数のサンプルがスパースであるとは、当該所定個数のサンプルのうち振幅が小さなものが多いことを意味する。例えば、一部のサンプルの振幅値のみが大きく、他の多くのサンプルの振幅値がほぼ0の場合を指す。
所定個数のサンプルがスパースでない場合、当該所定個数のサンプルの量子化に必要なビット数が多くなる傾向がある。この場合、量子化に必要なビット数に対して予め定められた量子化ビット数が不足する頻度が高くなり、ミュージカルノイズ等の問題が顕著になる場合が多い。よって、スパースでない場合にはミュージカルノイズ等を軽減させることが可能な符号化方式および復号方式が用いられることが望ましい。
一方、所定個数のサンプルがスパースである場合、当該所定個数のサンプルの量子化に必要なビット数が少なくなる傾向がある。この場合には、量子化に必要なビット数に対して、予め定められた量子化ビット数が不足する頻度が低くなり、ミュージカルノイズ等はさほど問題にならない場合が多い。よって、スパースである場合にはミュージカルノイズ等を軽減するための処理を行う必要性は低く、ミュージカルノイズ等を軽減する処理を含まない符号化方式によって入力信号が符号化されてもよい。
このことを具体例によって説明する。まず、スパースであるか否かによって選択される符号化方式および復号方式を例示する。以下では、スパースである場合の符号化方式および復号方式を第1符号化方式および第1復号方式と表し、これらをまとめて第1方式と表す。スパースでない場合の符号化方式および復号方式を第2符号化方式および第2復号方式と表し、これらをまとめて第2方式と表す。第1方式に対応するモード情報sを0とし、第2方式に対応するモード情報sを1とする。
<第1方式(s=0)>
第1方式の例は、所定個数のサンプルそれぞれを量子化正規化値で正規化したサンプル列に対して、非特許文献1のAVQ法等の予め設定された量子化ビット数の範囲内でパルスを立てていくベクトル量子化方式である。
この例の第1符号化方式では、入力された所定個数のサンプルを代表する値である正規化値を計算する。正規化値を量子化した量子化正規化値およびその量子化正規化値に対応する正規化値量子化インデックスを求める。入力された所定個数のサンプルを量子化正規化値で割り算(正規化)されたサンプル列は、所定個数のサンプルのうち一部のサンプルに対してのみ0以外の量子化値が得られ、残りのサンプルに対しては0が量子化値となるベクトル量子化方式でベクトル量子化され、ベクトル量子化インデックスが生成される。
なお、入力された所定個数のサンプルによるサンプル列に対して、所定個数のサンプルのうち一部のサンプルに対してのみ0以外の量子化値であり、残りのサンプルに対しては0が量子化値である、複数のサンプル列のうち相関が高いサンプル列を量子化代表ベクトルとしてそのインデックスを生成し、入力された所定個数のサンプルによるサンプル列と量子化代表ベクトルに量子化正規化値を乗算したサンプル列との誤差が最小となるように量子化正規化値を表わす正規化値量子化インデックスを求めてもよい。
この例の第1復号方式では、正規化値量子化インデックスが復号され正規化値が生成される。また、ベクトル量子化インデックスが復号されてサンプル列が生成される。生成されたサンプル列のそれぞれのサンプルに正規化値を乗算した値の列が復号信号サンプル列となる。
<第2方式(s=1)の例1>
第2符号化方式の例1では、入力された所定個数のサンプルを代表する値である正規化値を計算する。正規化値を量子化した量子化正規化値およびその量子化正規化値に対応する正規化値量子化インデックスを求める。各サンプルごとに、当該サンプルの値の大きさに対応する値から量子化正規化値に対応する値を減算した減算値が正であり当該サンプルの値が正の場合にはその減算値を当該サンプルに対応する量子化対象値とし、減算値が正であり当該サンプルの値が負の場合にはその減算値の正負を反転させた値を当該サンプルに対応する量子化対象値とする。上記減算値が正でない場合には各サンプルに対応する量子化対象値が0とされる。そして、量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める。ベクトル量子化には、例えば、所定個の量子化対象値に対して、非特許文献1に記載されたAVQ法等の予め設定された量子化ビット数の範囲内でパルスを立ててったものを量子化代表ベクトルとするベクトル量子化方法、すなわち、所定個の量子化対象値のうち一部の量子化対象値に対してのみその値を表わすためのビットが割り当てられて0以外の量子化値が得られ、残りの量子化対象値に対してはその値を表わすためのビットが割り当てられず0が量子化値となる量子化代表ベクトルに対応するベクトル量子化インデックスを得るベクトル量子化方法、が用いられる。なお、AVQ法の場合には量子化対象値0に対応する量子化値が必ず0となる。
第2復号方式の例1では、入力された正規化値量子化インデックスに対応する復号正規化値を求める。入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とする。所定個数の復号値の絶対値の和が大きいほど小さな値を取る正規化再計算値を計算する。各復号値について、当該復号値が正の場合には当該復号値と復号正規化値との線形和を復号信号とする。当該復号値が負の場合には当該復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする。当該復号値が0である場合には正規化値再計算値と第一定数との積の正負をランダムに反転させた値(正規化値再計算値に対応する大きさを持つ値)を復号信号とした復号信号の列を復号信号サンプル列とする。
第2符号化方式の例1では、全ての周波数の中からAVQ法等のベクトル量子化では実質的に量子化の対象とならないサンプルを含む主要成分を選択して積極的に量子化することにより、復号信号の主要成分におけるスペクトルホールの発生を防止することができ、ミュージカルノイズ等を低減することができる。
第2復号方式の例1では、復号値が0の場合には、正規化値再計算値を用いて0ではない値を適宜割り当てるため、入力信号が例えば周波数領域信号である場合に生じ得るスペクトルホールをなくすことができる。これにより、ミュージカルノイズ等を軽減することができる。
<第2方式(s=1)の例2>
以下のような第2方式が用いられてもよい。
第2符号化方式の例2では、入力された所定個数のサンプルを代表する値である正規化値を計算する。正規化値を量子化した量子化正規化値およびその量子化正規化値に対応する正規化値量子化インデックスを求める。各サンプルごとに、当該サンプルの値の大きさに対応する値から量子化正規化値に対応する値を減算した減算値が正であり当該サンプルの値が正の場合にはその減算値を当該サンプルに対応する量子化対象値とし、減算値が正であり当該サンプルの値が負の場合にはその減算値の正負を反転させた値を当該サンプルに対応する量子化対象値とする。そして量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める。さらに、ベクトル量子化インデックスに対応する符号用に割り当てられたビット数のうち実際にベクトル量子化インデックスに対応する符号に用いられなかったビット数だけ、減算値を正にしない各サンプルの正負を表す正負符号情報を出力する。なお、ベクトル量子化方法は第2方式の例1と同じであり、上記の減算値が正でない場合には各サンプルに対応する量子化対象値が0とされる。
第2復号方式の例2では、入力された正規化値量子化インデックスに対応する復号正規化値を求める。入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とする。所定個数の復号値の絶対値の和が大きいほど小さな値を取る正規化再計算値を計算する。各復号値について、当該復号値が正の場合には当該復号値と復号正規化値との線形和を復号信号とする。当該復号値が負の場合には当該復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする。当該復号値が0であって当該復号値に対応する正負符号情報が入力された場合には、正規化値再計算値と第一定数との積に正負符号情報が表す正負を付した値(正規化値再計算値に対応する大きさを持つ値)を復号信号とする。各復号値が0であって当該復号値に対応する正負符号情報が入力されない場合には、正規化値再計算値と第一定数との積の正負をランダムに反転させた値(正規化値再計算値に対応する大きさを持つ値)を復号信号とした復号信号の列を復号信号サンプル列とする。
第2符号化方式の例2でもスペクトルホールの発生を防止することができ、ミュージカルノイズ等を低減することができる。さらに第2符号化方式の例2では、未使用ビット領域を利用して正負符号情報を伝送できるため、復号信号の品質を向上できる。
第2復号方式の例2でもスペクトルホールをなくすことができ、ミュージカルノイズ等を軽減することができる。さらに第2復号方式の例2では、入力された正負符号情報を用いることで復号信号の品質を向上できる。
<サンプルの性質と最適な方式との関係>
第1方式はミュージカルノイズ等を軽減する対策が施されていないのに対し、第2方式はミュージカルノイズ等を軽減する対策が施されている。
しかしながら、入力された所定個数のサンプルがスパースである場合、ミュージカルノイズ等はほとんど問題とならない。また、第2方式では、復号値が0の場合には正規化値再計算値を用いて0ではない値を適宜割り当てるため、入力された所定個数のサンプルがスパースである場合に第1方式よりも符号化精度が悪くなる。
以上のように各方式は得手不得手があり、入力された所定個数のサンプルがスパースであるか否かによって方式を使い分けることが望ましい。具体的には、入力された所定個数のサンプルがスパース(例えばグロッケンシュピールの周波数領域信号)である場合には、ミュージカルノイズ等はほとんど問題とならないため、第2方式よりも第1方式を用いる方が、高い精度で符号化できる。一方、入力された所定個数のサンプルがスパースでない場合(例えば、音声や多重音源の楽音、環境雑音など)には、ミュージカルノイズ等が問題となるため、第1方式よりも第2方式を用いる方が望ましい。
このように入力されたサンプルの性質に応じて方式を選択することにより、十分な符号ビット長を確保できず、AVQ法等のベクトル量子化では入力信号のうち値の大きなサンプル全てを量子化対象としきれない場合であっても、入力信号の種類に応じてミュージカルノイズ等を適切に軽減できる。
<構成>
図1に例示するように、実施形態の符号化装置11は、正規化値計算部112、正規化値量子化部113、符号化方式選択部114、切り替え部115,116、第1符号化部117および第2符号化部118を例えば含む。図1に例示すように、実施形態の復号装置12は、正規化値復号部123、切り替え部125,126、第1復号部127および第2復号部128を例えば含む。必要に応じて、符号化装置11は、周波数領域変換部111を例えば含んでいてもよい。復号装置12は、時間領域変換部121を例えば含んでいてもよい。
第1符号化部117は、第1符号化方式(例えば前述の第1方式)によって符号化を行う処理部である。第2符号化部118は、図2に例示するように、量子化対象計算部1181およびベクトル量子化部1182を含む。必要に応じて、第2符号化部118は、量子化対象正規化値計算部1183、正負符号情報出力部1184を含んでもよい。また、ベクトル量子化部1182の代わりにベクトル量子化部1182’を含んでもよい。
第1復号部127は、第1復号方式(例えば前述の第1方式)によって復号を行う処理部である。第2復号部128は、図3に例示するように、正規化値再計算部1281、ベクトル復号部1282および合成部1283を例えば含む。必要に応じて、第2復号部128は、復号対象正規化値計算部1284、平滑化部1285を含んでもよい。また、正規化値再計算部1281の代わりに正規化値再計算部1287を含んでもよく、ベクトル復号部1282の代わりにベクトル復号部1282’を含んでもよく、合成部1283の代わりに合成部1283’を含んでもよい。また、第2復号部128は、合成部1283,1283’および正規化値再計算部1281,1287の代わりに合成部1286を含んでもよい。
<符号化処理>
符号化装置11(図1)は図4に例示する符号化方法の各ステップを実行する。
入力信号X(k)は、正規化値計算部112、符号化方式選択部114および切り替え部115に入力される。この例の入力信号X(k)は、音声信号や音響信号や画像信号などの時系列信号である時間領域信号x(n)を周波数領域に変換して得られる周波数領域信号である。周波数領域の入力信号X(k)が符号化装置11に直接入力されてもよいし、周波数領域変換部111が入力された時間領域信号x(n)を周波数領域に変換して周波数領域の入力信号X(k)を生成してもよい。周波数領域変換部111が周波数領域の入力信号X(k)を生成する場合、周波数領域変換部111は、入力された時間領域信号x(n)を、例えばMDCT(Modified Discrete Cosine Transform)により周波数領域の入力信号X(k)に変換して出力する。nは時間領域での信号の番号(離散時間番号)であり、kは周波数領域での信号(サンプル)の番号(離散周波数番号)である。kの値が大きいほど高い周波数に対応する。1フレームがL個のサンプルで構成されているとして、時間領域信号x(n)はフレームごとに周波数領域に変換され、L個の周波数成分を構成する周波数領域の入力信号X(k)(k=0,1,…,L−1)が生成される。Lは所定の正の整数、例えば64や80である。
正規化値計算部112は、フレームごとに、入力された入力信号X(k)のL個のサンプルのうちの所定個数Cのサンプルを代表する値である正規化値τ を計算する(ステップE1)。τ は、τの上付きバーを意味する。
は、L、または、1およびL以外のLの公約数である。なお、CをLとすることは、L個のサンプルごとに正規化値を求めることを意味する。CをLの公約数にすることは、L個のサンプルをサブバンドに分割して、各サブバンドを構成するC個のサンプルごとに正規化値を求めることを意味する。例えば、L=64であり、8個の周波数成分でサブバンドを構成するとした場合には、8個のサブバンドが構成され、各サブバンドの正規化値が計算されることになる。また、CがLである場合τ=0であり、正規化値τ はL個のサンプルを代表する値である。すなわち、CがLである場合、フレームごとに1つの正規化値τ が計算される。一方、Cが1及びL以外のLの公約数である場合、τは1フレーム中の各サブバンドに対応する整数τ=0,…,(L/C)-1であり、正規化値τ はτに対応するサブフレームに属するC個のサンプルを代表する値である。すなわち、Cが1及びL以外のLの公約数である場合、フレームごとに(L/C)個の正規化値τ (τ=0,…,(L/C)-1)が計算される。また、Cの値にかかわらずk=τ・C,・・・,(τ+1)・C−1である。正規化値計算部112で計算されたτ は、正規化値量子化部113に送られる。
[正規化値τ の具体例]
正規化値τ は、C個のサンプルを代表する値である。言い換えると、正規化値τ は、C個のサンプルに対応する値である。正規化値τ の例は、以下のようなC個のサンプルのパワー平均値に対する平方根である。
Figure 2012005210
正規化値τ の他の例は、以下のようなC個のサンプルのパワー合計値に対する平方根をCで除した値である。
Figure 2012005210
正規化値τ のさらに他の例は、以下のようなC個のサンプルの平均振幅値である。
Figure 2012005210

その他の正規化値τ が用いられてもよい([正規化値τ の具体例]の説明終わり)。
正規化値量子化部113は、正規化値τ を量子化した量子化正規化値τおよびその量子化正規化値τに対応する正規化値量子化インデックス(nqi)を求める(ステップE2)。τは、τXの上付きバーを意味する。量子化正規化値τは、符号化方式選択部114、第1符号化部117および第2符号化部118に送られ、正規化値量子化インデックスに対応する符号(ビットストリーム)が復号装置12に送られる。
符号化方式選択部114は、入力信号からなる所定個数のサンプルがスパースであるか否かを判定し、スパースであれば第1符号化方式を表す第1モード情報(s=0)を出力し、スパースでなければ第2符号化方式を表す第2モード情報(s=1)を出力する。本形態の場合、符号化方式選択部114は、所定個数の正規化された入力信号サンプルのうち、大きさが閾値よりも小さなサンプルの個数、または、大きさが閾値以下のサンプルの個数に基づき、当該所定個数の正規化された入力信号サンプルに対応する符号化方式を選択し、選択した符号化方式を特定するためのモード情報sを出力する(ステップE3)。
[ステップE3の具体例1]
ステップE3の具体例1では、図5に例示する処理をフレームごとに行ってフレームごとに符号化方式を選択する。
符号化方式選択部114は、k=0,m=0とすることでkおよびmの値を初期化する(ステップE31)。
符号化方式選択部114は、kとLとを比較し(ステップE32)、k<LであればステップE33に進み、k<LでなければステップE37に進む。なお、「δとηとを比較する」場合の比較方法に限定はなく、δとηとの大小関係を判定できるのであればどのような比較方法を用いてもよい。例えば、δ<ηを満たすか否かを知るためにδとηとを比較する処理は、δ<ηを満たすか否かを判定する処理でも、0<η−δを満たすか否かを判定する処理でも、δ≧ηを満たすか否かを判定する処理でも、0≧η−δを満たすか否かを判定する処理でもよい。
ステップE33では、符号化方式選択部114は、τを用いてX(k)を正規化して正規化値X(k)を生成する(ステップE33)。なお、XはXの上付きチルダを意味する。例えば、符号化方式選択部114は、以下の式のようにX(k)をτで割った値を正規化値X(k)とする。
Figure 2012005210
符号化方式選択部114は、X(k)の絶対値|X(k)|(サンプルに対応する値の大きさ)を計算し、|X(k)|と所定の閾値Th(第1基準値)とを比較し(ステップE34)、|X(k)|<Thであれば符号化方式選択部114は、mを1だけインクリメントし(m+1を新たなmの値とすることでmの値を更新して)(ステップE35)、kを1だけインクリメントして(ステップE36)、ステップE32に進む。|X(k)|<Thでなければ符号化方式選択部114は、mをインクリメントすることなくkを1だけインクリメントして(ステップE36)ステップE32に進む。なお、閾値Thの正定数であり、例えばTh=0.5である。
ステップE32でk<Lでないとされると、符号化方式選択部114は、カウント値mと前回計算されたカウント値m’(前回計算された評価値)との重み付き加算値を平滑化カウント値m(評価値)とする(ステップE37)。なお、mはmの上付きダブルバーを意味する。例えば、符号化方式選択部114は、以下の式によって平滑化カウント値mを求める。εとσは調整定数であり、求める性能および仕様に応じて適宜決定される。例えば、εとσはε+σ=1を満たす正定数である。例えば、ε=0.3、σ=0.7である。
Figure 2012005210
この平滑化により、スパースであるか否かの判定結果がフレーム間で異なる頻度を減らすことができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。なお、前回計算されたカウント値m’は、1フレーム過去に符号化方式選択部114で計算された平滑化前のカウント値または平滑化カウント値である。また、前回計算された平滑化カウント値m’が0の場合、符号化方式選択部114がカウント値mの平滑化を行わず、m=mとしてもよい。さらに、前回計算された平滑化カウント値m’が0であるか否かにかかわらずカウント値mの平滑化を行わず、m=mとしてもよい。
符号化方式選択部114は、第2基準値tが閾値TMINであるか否かを判定し(ステップE38)、tがTMINである場合mとtとを比較し(ステップE39)、m>tであれば、s=0としてモード情報s=0を出力し(ステップE310)、ステップE3の処理を終える。なお、TMINは所定の正の定数である。tの初期値は例えばTMINである。また、「δが0であるか否かを判定する」場合の判定方法に限定はなく、δが0であるか否かに対応する判定がなされればよい。例えば、δ=0であるかを判定してδが0であるか否かを判定してもよいし、δ=γ(γ≠0)であるかを判定してδが0であるか否かを判定してもよいし、δ>0およびδ<0を満たすか否かを判定することでδが0であるか否かを判定してもよい。ステップE39でm>tでなければ、符号化方式選択部114はs=1、t=TMAXとして、モード情報s=1を出力し(ステップE311)、ステップE3の処理を終える。なお、TMAXは閾値であり、TMINより大きな所定の正の定数である。
ステップE38でtがTMINでないとされた場合、符号化方式選択部114はmとtとを比較し(ステップE312)、m<tであれば、s=1としてモード情報s=1を出力し(ステップE313)、ステップE3の処理を終える。m<tでなければ、符号化方式選択部114はs=0、t=TMINとして、モード情報s=0を出力し(ステップE314)、ステップE3の処理を終える。
ステップE38以降の処理により、1フレーム過去と元フレームとでスパースか否かの判定結果(s=0であるか1であるか)が異なる頻度を下げることができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。言い換えると、ステップE38以降の処理により、前回の所定個数のサンプルが第1符号化方式で符号化(s=0)された場合の第2基準値tの大きさが、前回の所定個数のサンプルが第2符号化方式(s=1)で符号化された場合の第2基準値tの大きさよりも小さくなる。これにより、前回と今回とで符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。なお、C=Lである場合における「前回の所定個数のサンプル」は、1フレーム過去のフレームに属する各サンプルである。Cが1およびL以外のLの約数である場合における「前回の所定個数のサンプル」は、同じサブバンドに属する1フレーム前のサンプルであってもよいし、同じフレームの連続する前または後のサブバンドのサンプルであってもよい。
[ステップE3の具体例2]
ステップE3の具体例2では、図5に例示するように、最初にs=0に設定され(ステップE314’)、その後のステップE31〜E38はステップE3の具体例1と同じである。
ステップE38でtがTMINであるとされた場合、符号化方式選択部114はモード情報をs=1に更新し(ステップE311’)、mとtとを比較し(ステップE39)、m>tであればs=0としてモード情報s=0を出力し(ステップE310)、ステップE3の処理を終える。m>tでなければ、符号化方式選択部114はt=TMAXとしてモード情報s=1を出力し(ステップE311’’)、ステップE3の処理を終える。
ステップE38でtがTMINでないと判定された場合、符号化方式選択部114はmとtとを比較し(ステップE312)、m<tであれば、s=1としてモード情報s=1を出力し(ステップE313)、ステップE3の処理を終える。m<tでなければ、符号化方式選択部114はt=TMINとしてモード情報s=0を出力し(ステップE314’’)、ステップE3の処理を終える。
[ステップE3の具体例3]
ステップE3の具体例3では、図6に例示するように、ステップE3の具体例1と同じステップE31〜E37の処理が実行される。なお、ステップE3の具体例1で説明したとおり、ステップE37が実行されずにm=mとしてもよい。
次に、符号化方式選択部114は、mとtとを比較し(ステップE321)、m>tであれば、s=0、t=TMINとしてモード情報s=0を出力し(ステップE322)、ステップE3の処理を終える。m>tでなければ、符号化方式選択部114はs=1、t=TMAXとしてモード情報s=1を出力し(ステップE323)、ステップE3の処理を終える。
ステップE321以降の処理により、1フレーム過去と元フレームとでスパースか否かの判定結果(s=0であるか1であるか)が異なる頻度を下げることができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。
[ステップE3の具体例4]
ステップE3の具体例4では、図7に例示する処理をフレームごとに行ってフレームごとに符号化方式を選択する。
符号化方式選択部114は、i=0,m=0とすることでiおよびmの値を初期化する(ステップE330)。
符号化方式選択部114は、iとG(G=L/C)とを比較し(ステップE331)、i<GであればステップE332に進み、i<GでなければステップE37に進む。なお、Cがサブバンドのサンプル数を表わす場合、Gは1フレーム中のサブバンドの総数を表す。Cが1フレーム中のサンプル数Lを表わす場合、G=1となる。ただし、この具体例が意義をなすのはCがサブバンドのサンプル数を表わす場合である。
ステップE332では、符号化方式選択部114は、ord(i)と聴覚重要度閾値P(聴覚特性に基づいた基準)とを比較し(ステップE332)、ord(i)<Pでなければiを1だけインクリメントし(ステップE334)、ステップE331に進む。ord(i)<Pであれば、符号化方式選択部114は、h=0とすることでhの値を初期化して(ステップE333)ステップE335に進む。
なお、Cがサブバンドのサンプル数を表わす場合、ord(i)は、1フレーム中の各サブバンドに対応する0以上の整数のインデックスi=0,...,(L/C)−1を入力とし、インデックスiに対応するサブバンドの優先順位を出力する関数である。優先順位は0以上(L/C)−1以下の整数であり、値が小さいほど優先順位が高い。例えば、1フレーム中のサブバンドの総数L/Cが8であり、インデックスi=0,1,2,3,4,5,6,7にそれぞれ対応する各サブバンドの優先順位が2,1,0,3,5,4,6,7である場合、ord(0)=2,ord(1)=1,ord(2)=0,ord(3)=3,ord(4)=5,ord(5)=4,ord(6)=6,ord(7)=7となる。なお、1フレーム中の各サブバンドの優先順位は、入力信号X(k)に応じて動的に定められてもよいし、固定的に定められてもよい。動的に優先順位を定める方法の一例は、量子化正規化値τが大きいサブバンドほど優先順位を高くする方法である。固定的に優先順位を定める方法の一例は、人間の聴覚特性を考慮して各サブバンドの優先順位を定めておく方法(例えば低い周波数に対応するサブバンドほど優先順位を高くするなど)である。Cが1フレーム中のサンプル数Lを表わす場合、ord(i)=0である。聴覚重要度閾値Pは1以上L/C以下の整数定数であり、ステップE3の具体例3が意味をなすのは1<P<L/Cの場合である。例えば、L/C=8の場合にP=4とする。
ステップE335では、符号化方式選択部114は、hとCとを比較し(ステップE335)、h<Cでなければ、iを1だけインクリメントし(ステップE334)、ステップE331に進む。h<Cであれば、符号化方式選択部114は、iを用いてX(i・C+h)を正規化して正規化値X(i・C+h)を生成する(ステップE336)。例えば、符号化方式選択部114は、以下の式のようにX(i・C+h)をiで割った値を正規化値X(i・C+h)とする。
Figure 2012005210
符号化方式選択部114は、X(i・C+h)の絶対値|X(i・C+h)|を計算し、|X(i・C+h)|と所定の閾値Thとを比較し(ステップE337)、|X(i・C+h)|<Thであればmを1だけインクリメントし(ステップE338)、hを1だけインクリメントして(ステップE339)、ステップE335に進む。|X(i・C+h)|<Thでなければ符号化方式選択部114は、mをインクリメントすることなくhを1だけインクリメントして(ステップE339)ステップE335に進む。
ステップE37以降の処理は、ステップE3の具体例1と同じである。なお、この例の平滑化カウント値m(評価値)は、所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが第1基準値よりも小さなサンプルの個数に対応する値に相当する。
また、ステップE3の具体例2のように最初にs=0に設定されているものとし(ステップE314’)、ステップE3の具体例2と同じようにステップE37以降の処理を実行してもよい。
[ステップE3の具体例5]
ステップE3の具体例5では、図8に例示するように、ステップE3の具体例4と同じステップE330〜E37の処理が実行される。次に、ステップE3の具体例3と同じステップE321〜E323の処理が実行される。なお、ステップE3の具体例1で説明したとおり、ステップE37が実行されずにm=mとしてもよい。
[ステップE3の具体例6]
ステップE3の具体例6では、図9に例示する処理をフレームごとに行ってフレームごとに符号化方式を選択する。
符号化方式選択部114は、i=0,m=0とすることでiおよびmの値を初期化する(ステップE330)。
符号化方式選択部114は、iと聴覚重要度閾値Pとを比較し(ステップE341)、i<PであればステップE342に進み、i<PでなければステップE37に進む。
ステップE342では、符号化方式選択部114は、b=o(i)とする(ステップE342)。o(i)は、1フレーム中の各サブバンドをそれぞれ識別する0以上の整数のインデックスが優先順位の高い順に配列された集合SETのi番目(i=0,...,(L/C)−1)の要素(インデックス)を表す。例えば、1フレーム中のサブバンドの総数L/Cが8であり、各サブバンドが0,…,7で識別され、集合SET={1,0,3,2,5,4,6,7}である場合、o(i)は集合SET={1,0,3,2,5,4,6,7}の先頭からi番目の要素を表す。なお、先頭の要素を0番目の要素と表現する。この例では、1で識別されるサブバンドの優先順位が一番高く、7で識別されるサブバンドの優先順位が一番低い。1フレーム中の各サブバンドの優先順位は、入力信号X(k)に応じて動的に定められてもよいし、固定的に定められてもよい。動的に優先順位を定める方法の一例は、量子化正規化値τが大きいサブバンドほど優先順位を高くする方法である。固定的に優先順位を定める方法の一例は、人間の聴覚特性を考慮して各サブバンドの優先順位を定めておく方法(例えば低い周波数に対応するサブバンドほど優先順位を高くするなど)である。Cが1フレーム中のサンプル数Lを表わす場合、o(i)=0である。ただし、この具体例が意義をなすのはCがサブバンドのサンプル数を表わす場合である。
符号化方式選択部114は、h=0とすることでhの値を初期化して(ステップE333)ステップE335に進む。
ステップE335では、符号化方式選択部114は、hとCとを比較し(ステップE335)、h<Cでなければ、iを1だけインクリメントし(ステップE334)、ステップE341に進む。h<Cであれば、符号化方式選択部114は、bを用いてX(b・C+h)を正規化して正規化値X(b・C+h)を生成する(ステップE346)。例えば、符号化方式選択部114は、以下の式のようにX(b・C+h)をbで割った値を正規化値X(b・C+h)とする。
Figure 2012005210
符号化方式選択部114は、X(b・C+h)の絶対値|X(b・C+h)|を計算し、|X(b・C+h)|と所定の閾値Thとを比較し(ステップE347)、|X(b・C+h)|<Thであればmを1だけインクリメントし(ステップE338)、hを1だけインクリメントして(ステップE339)、ステップE335に進む。|X(b・C+h)|<Thでなければ符号化方式選択部114は、mをインクリメントすることなくhを1だけインクリメントして(ステップE339)ステップE335に進む。
ステップE37以降の処理は、ステップE3の具体例1と同じである。
また、ステップE3の具体例2のように最初にs=0に設定されているものとし(ステップE314’)、ステップE3の具体例2と同じようにステップE37以降の処理を実行してもよい。
[ステップE3の具体例7]
ステップE3の具体例7では、図10に例示するように、ステップE3の具体例6と同じステップE330〜E37の処理が実行される。次に、ステップE3の具体例3と同じステップE321〜E323の処理が実行される。なお、ステップE3の具体例1で説明したとおり、ステップE37が実行されずにm=mとしてもよい。
[ステップE3の具体例8]
ステップE3の具体例1〜3の変形として、図5および図6に例示したステップE32の代わりに、符号化方式選択部114がkとQとを比較し、k<QであればステップE33に進み、k<QでなければステップE37に進むことにしてもよい。なお、Qは0<Q<Lの定数である。これにより、人間が知覚しやすい低い周波数に対応するサンプルのみについてステップE34の判定が行われるため、人間の聴覚特性を考慮した判定が可能となる。
[ステップE3の具体例9]
ステップE3の具体例4および5の変形として、ord(i)の代わりにi=0,...,(L/C)−1を入力とし、任意な0以上(L/C)−1以下の整数を出力する関数を用いてもよい。また、上述のステップE3の具体例においてord(i)をo(i)に置換した構成でもよいし、o(i)をord(i)に置換した構成でもよい。
[ステップE3の具体例10]
その他、入力された所定個数のサンプルが含む当該サンプルに対応する値の大きさが第1基準値よりも小さなサンプルの個数に対応する評価値が第2基準値よりも小さいか否かの判定方法は上述したものに限定されない。例えば、ステップE3の具体例1〜9の変形として、Th+θやTh−θを第1基準値としたり、t+Δやt−Δを第2基準値としたりし(θやΔは正定数)、「<」の代わりに「≦」を用いたり、「>」の代わりに「≧」を用いたりして同様な判定を行ってもよい。また、サンプルに対応する値の大きさが第3基準値よりも大きなサンプルの個数をカウントし、そのカウント値を第4基準値と比較することで、実質的に同様な判定を行ってもよい([ステップE3の具体例]の説明終わり)。
符号化方式選択部114から出力されたモード情報sは切り替え部115,116に送られ、モード情報sに対応する符号(ビットストリーム)は復号装置12に送られる。
s=0の場合(スパースである場合)、切り替え部115,116は、入力信号X(k)を第1符号化部117に送る(ステップE4)。第1符号化部117は、X(k)とτとを入力とし、前述の第1方式などの予め定められた第1符号化方式によってX(k)を符号化し、ベクトル量子化インデックス(vqi)等を含む符号(ビットストリーム)を出力する(ステップE5)。この符号は復号装置12に送られる。
s=1の場合(スパースでない場合)、切り替え部115,116は、入力信号X(k)を第2符号化部118に送る(ステップE4)。第2符号化部118は、X(k)とτとを入力とし、予め定められた第2符号化方式によってX(k)を符号化し、ベクトル量子化インデックス等を含む符号(ビットストリーム)を出力する(ステップE6)。この符号は復号装置12に送られる。
[ステップE6の具体例1]
第2符号化部118は、X(k)とτとを入力とし、例えば、図11に例示する処理を行って入力信号X(k)を符号化する。
第2符号化部118(図2)の量子化対象計算部1181は、入力信号の各サンプルの値X(k)の大きさに対応する値から量子化正規化値に対応する値を減算した減算値E(k)’を計算し、減算値E(k)’が正であり各サンプルの値X(k)が正の場合にはその減算値E(k)’をその各サンプルに対応する量子化対象値E(k)とし、減算値E(k)’が正であり各サンプルの値X(k)が負の場合にはその減算値の正負を反転させた値を各サンプルに対応する量子化対象値E(k)とし、減算値E(k)’が正でない場合には0を各サンプルに対応する量子化対象値E(k)とする。サンプルの値X(k)の大きさに対応する値の例は、サンプルの値X(k)の絶対値、サンプルの値X(k)の絶対値に比例する値、サンプルの値X(k)の絶対値に定数または変数θを乗じて得られる値、サンプルの値X(k)に定数および/または変数を乗じて得られる値の絶対値などである。量子化正規化値に対応する値の例は、量子化正規化値、量子化正規化値に比例する値、量子化正規化値に定数および/または変数を乗じて得られる値などである(ステップE62)。量子化対象値E(k)は、ベクトル量子化部1182に送られる。
[ステップE62の具体例1]
例えば、量子化対象計算部1181は、図12に記載された各処理を行い、入力信号の各サンプルの値X(k)に対応する量子化対象値E(k)を決定する。
量子化対象計算部1181は、k=0とすることでkの値を初期化する(ステップE621)。
量子化対象計算部1181は、kとCとを比較し(ステップE622)、k<CでなければステップE62の処理を終える。k<Cであれば、量子化対象計算部1181は、入力信号の各サンプルの値X(k)の絶対値と量子化正規化値とから得られる減算値E(k)’を計算する(ステップE623)。例えば、量子化対象計算部1181は、下式(1)により定義されるE(k)’の値を計算する。Cは正規化値の調整定数であり、例えば1.0である。
Figure 2012005210
量子化対象計算部1181は、減算値E(k)’と0とを比較し(ステップE624)、E(k)’≧0でなければ、E(k)’を0に更新して(ステップE625)ステップE626に進み、E(k)’≧0であれば、E(k)’を更新せずにステップE626に進む。
ステップE626では、量子化対象計算部1181が、X(k)と0とを比較し(ステップE626)、X(k)<0でなければ、減算値E(k)’を量子化対象値E(k)とし(ステップE627)、X(k)<0であれば、減算値E(k)’の正負を反転させた−E(k)’を量子化対象値E(k)とする(ステップE628)。
量子化対象計算部1181は、kを1だけインクリメントして(k+1を新たなkの値とすることでkの値を更新して)、ステップE622に進む(ステップE629)。
[ステップE62の具体例2]
量子化対象計算部1181は、例えば、以下のように入力信号の各サンプルの値X(k)に対応する量子化対象値E(k)を決定してもよい。
量子化対象計算部1181は、図12に示すように、ステップE621〜E624の処理を実行する。
ステップE624で減算値E(k)’≧0でないと判定された場合、量子化対象計算部1181は、E(k)を0にし(ステップE625’)、kを1だけインクリメントして(ステップE629)、ステップE622に進む。ステップE624で減算値E(k)’≧0であると判定された場合、量子化対象計算部1181は、ステップE62の具体例1におけるステップE626以降の処理を行う。
[ステップE62の具体例3]
ステップE62の具体例1,2のステップE624でE(k)’≧0であるか否かによって処理が分岐される代わりに、ステップE624でE(k)’>0であるか否かによって処理が分岐されてもよい([ステップE62の具体例]の説明終わり)。
ベクトル量子化部1182は、複数のサンプルそれぞれに対応する量子化対象値E(k)を複数個まとめてベクトル量子化してベクトル量子化インデックスを生成する(ステップE63)。
ベクトル量子化インデックスは、量子化代表ベクトルを表わすインデックスである。ベクトル量子化部1182は、例えば、図示していないベクトルコードブック記憶部に記憶された複数の量子化代表ベクトルの中から、複数のサンプルに対応する複数の量子化対象値(k)を成分とするベクトルに最も近い量子化代表ベクトルを選択し、選択された量子化代表ベクトルを表わすベクトル量子化インデックスを出力することにより、ベクトル量子化を行う。ベクトル量子化部1182は、例えばC個のサンプルに対応する量子化対象値E(k)をまとめてベクトル量子化を行う。ベクトル量子化部1182は、量子化対象値E(k)が0の場合には量子化値E(k)’が必ず0となるような量子化方法、例えばAVQ法(Algebraic Vector Quantization,G.718参照)等のベクトル量子化方法を用いてベクトル量子化を行う。このように、入力信号が例えば周波数領域信号である場合に、全ての周波数の中からAVQ法等のベクトル量子化では実質的に量子化の対象とならないサンプルを含む主要成分を選択して積極的に量子化することにより、復号信号の主要成分におけるスペクトルホールの発生を防止することができ、これによりミュージカルノイズ等を低減することができる。
ベクトル量子化インデックスに対応する符号(ビットストリーム)は、復号装置12に送られる([ステップE6の具体例1]の説明終わり)。
[ステップE6の具体例2]
ベクトル量子化によって得られる符号のビット数は、入力信号に応じて様々である。入力信号によっては、ベクトル量子化によって得られる符号(ベクトル量子化インデックスなど)のビット数が、ベクトル量子化用に割り当てられたビット数未満となり、ベクトル量子化用に割り当てられたビットの一部が余る場合がある。ステップE6の具体例2では、この余ったビットの領域を用い、さらに0の量子化対象値E(k)に対応する正負情報を生成する。
ステップE6の具体例2では、図11に例示するように、量子化対象計算部1181がステップE62の処理を実行し、ベクトル量子化部1182’がステップE63の処理を実行する。
次に、ベクトル量子化部1182’は、ベクトル量子化用に割り当てられたビットのうち、実際のベクトル量子化で使用されなかったビットのビット数を未使用ビット数Uとして計算する。「ベクトル量子化用に割り当てられたビット」とは、符号化装置11から復号装置12に送られる符号のうちで、ベクトル量子化によって得られる符号(ベクトル量子化インデックスに対応する符号)のために割り当てられたビットを意味する。「ベクトル量子化用に割り当てられたビット数」は、ベクトル量子化用に割り当てられたビットのビット数を表す。「ベクトル量子化用に割り当てられたビット数」は、フレームごとに定められたものであってもよいし、サブバンドごとに定められたものであってもよい。また、「ベクトル量子化用に割り当てられたビット数」は、入力信号に応じて変動するものであってもよいし、入力信号にかかわらず固定されたものであってもよい。
本形態の例では、1フレームごと(L個のサンプルごと)に未使用ビット数Uを計算する。例えば、ベクトル量子化部1182’は、処理対象のフレームでのベクトル量子化用に割り当てられたビット数から、実際にそのフレームに属するL個のサンプルのベクトル量子化によって得られたベクトル量子化インデックスのビット数の総数を減じた値を未使用ビット数Uとする。
さらに、ベクトル量子化部1182’は、ベクトル量子化インデックスをローカルデコードした値である複数の量子化値E(k)’を出力する。例えば、ベクトル量子化部1182’は、ベクトル量子化インデックスによって表される量子化代表ベクトルの各成分を量子化値E(k)’として出力する。この例の量子化値E(k)’は復号装置12で得られる復号値E(k)と等しい。ただし、必ずしも量子化値E(k)’と復号値E(k)とが同一である必要はなく、量子化値E(k)’が0である場合に復号値E(k)が0となり、量子化値E(k)’が0でない場合に復号値E(k)が0とならなければよい。なお、Eは、Eの上付きハットを意味する。
ベクトル量子化部1182’は、ベクトル量子化インデックス、未使用ビット数Uおよび量子化値E(k)’を正負符号情報出力部1184に送る(ステップE64)。
正負符号情報出力部1184は、量子化値E(k)’が0となる周波数領域の入力信号のサンプルの値X(k)の正負符号情報を、ベクトル量子化用に割り当てられたビットのうちで使用されなかったビットの領域(「未使用ビット領域」と呼ぶ)に書き込む。言い換えると、正負符号情報出力部1184は、ベクトル量子化インデックスに対応する符号(ビットストリーム)の未使用ビット領域に、減算値E(k)’を正にしない(減算値E(k)’を0以下にする)各サンプルの値X(k)の正負を表す正負符号情報を配置する(ステップE65)。なお、未使用ビット領域は、例えば、定められた未使用ビット領域の基準位置(例えば先頭アドレス)と入力された未使用ビット数Uとによって特定できる。
これにより、未使用ビット領域を有効利用して復号信号の品質を向上させることができる。ただし、未使用ビット領域に書き込まれる正負符号情報のビット数の上限は未使用ビット数Uである。よって、必ずしもすべての正負符号情報が未使用ビット領域に書き込まれるとは限らない。そこで好ましくは、正負符号情報出力部1184は、人間の聴覚特性を考慮した基準(聴覚特性に基づいた基準)に従って正負符号情報を抽出し、抽出した正負符号情報を未使用ビット領域に書き込む。例えば、正負符号情報出力部1184は、人間が知覚しやすい周波数での周波数領域の入力信号X(k)の正負符号情報を優先的に抽出して未使用ビット領域に書き込む。
[ステップE65の具体例]
処理を簡略化するための簡単な例として人間の聴覚特性が高域ほど低下することとし、周波数が低い順に未使用ビット数U分の正負符号情報が未使用ビット領域に上書きされる例を示す。この例では、正負符号情報出力部1184は、図13に記載された各処理を行い、量子化値E(k)’が0となる周波数領域の入力信号X(k)の正負符号情報を未使用ビット領域に書き込む。なお、図13ではC個のサンプルに対する処理を表す。CがLである場合には、フレームごとに図13のステップE65の処理が実行され、Cが1およびL以外のLの公約数である場合には、1フレーム中の各サブバンドについて図13のステップE65の処理が繰り返し実行される。
正負符号情報出力部1184は、k=0,m=0とすることでkおよびnの値を初期化し、ステップE652に進む(ステップE651)。
正負符号情報出力部1184は、kとCとを比較し(ステップE652)、k<CであればステップE653に進み、k<Cでなければ未使用ビット領域から各ビットb(m)が配置された領域を除いた領域を新たな未使用ビット領域とし、U−mを新たなUとし(ステップE6510)、ステップE65の処理を終える。なお、CがLである場合には、ステップE6510を実行しなくてもよい。
正負符号情報出力部1184は、mとUとを比較し(ステップE653)、m<UであればステップE654に進み、m<Uでなければ、kを1だけインクリメントして(ステップE655)、ステップE652に進む。
ステップE654では、正負符号情報出力部1184は、E(k)’が0であるか否かを判定し(ステップE654)、E(k)’=0でなければkを1だけインクリメントして(ステップE655)、ステップE652に進む。E(k)’=0であれば、量子化対象計算部1181は、X(k)と0とを比較し(ステップE656)、X(k)<0であれば、未使用ビット領域のm番目のビットb(m)に0を書き込み(ステップE657)、ステップE659に進む。X(k)<0でなければ、量子化対象計算部1181は、未使用ビット領域のm番目のビットb(m)に1を書き込み(ステップE658)、ステップE659に進む。
ステップE659では、量子化対象計算部1181がmを1だけインクリメントし(ステップE659)、kを1だけインクリメントし(ステップE655)、ステップS652に進む([ステップE65の具体例]の説明終わり)。
ベクトル量子化インデックスと未使用ビット領域に書き込まれた正負符号情報とを含む修正後ベクトル量子化インデックス(vqi’)に対応する符号(ビットストリーム)は復号装置12に送られる([ステップE6の具体例2]の説明終わり)。
なお、ステップE6の具体例1又は2において、ベクトル量子化部1182で量子化対象値E(k)が0の場合であっても量子化値E(k)’が0とならない可能性がある量子化方法を採用する場合は、ベクトル量子化部1182は値が0でない量子化対象値E(k)のみのベクトル量子化を行い、正負符号情報出力部1184は、周波数領域の入力信号X(k)のうち量子化対象値E(k)が0となるサンプルの正負符号情報を出力するようにすればよい。ただし、この場合は、量子化対象値E(k)が0となるサンプルのサンプル番号k、または、量子化対象値E(k)が0とならないサンプルのサンプル番号k、を出力して復号装置に伝える必要がある。このため、ベクトル量子化部1182では量子化対象値E(k)が0の場合は必ず量子化値E(k)’が0となるベクトル量子化方法を採用するのが好ましい。
<復号処理>
復号装置12(図1)は図14に例示する復号方法の各ステップを実行する。
正規化値復号部121は、復号装置12に入力された正規化値量子化インデックスに対応する復号正規化値τを求める(ステップD1)。
例えば、図示していないコードブック記憶部に複数の正規化値量子化インデックスのそれぞれに対応する正規化値が記憶されているとする。正規化値復号部121は、入力された正規化量子化インデックスをキーとしてそのコードブック記憶部を参照して、その正規化量子化インデックスに対応する正規化値を取得して、復号正規化値τとする。復号正規化値τは、第1復号部127と第2復号部128に送られる。
切り替え部125,126は、入力されたモード情報sに従って復号方式を判定する(ステップD2)。
s=0の場合(スパースである場合)、切り替え部125,126は、復号装置12に入力されたベクトル量子化インデックスを第1復号部127に送る。第1復号部127は、さらにτを用い、前述の第1方式などの予め定められた第1復号方式によってベクトル量子化インデックスから復号信号の値X(k)を求め、X(k)を出力する(ステップD3)。
s=1の場合(スパースでない場合)、切り替え部125,126は、復号装置12に入力されたベクトル量子化インデックスを第2復号部128に送る。第2復号部128は、さらにτを用い、予め定められた第2復号方式によってベクトル量子化インデックスから復号信号の値X(k)(またはX POST(k))を求め、X(k)を出力する(ステップD4)。
時間領域での復号信号が必要な場合、第1復号部127や第2復号部128から出力されたX(k)(またはX POST(k))は時間領域変換部121に入力され、これを例えば逆フーリエ変換により時間領域信号z(n)に変換して出力する。
[ステップD4の具体例1]
ステップD4の具体例1は、第2符号化部118が前述の[ステップE6の具体例1]での符号化を行う場合の例である。ステップD4の具体例1では、第2符号化部118が復号正規化値τとベクトル量子化インデックスとを入力とし、図15に例示する各ステップを実行する。
ベクトル復号部1282(図3)は、ベクトル量子化インデックスに対応する複数の値を求めて複数の復号値E(k)とする(ステップD42)。復号値E(k)は、合成部1283に送られる。
例えば、図示していないベクトルコードブック記憶部に複数のベクトル量子化インデックスのそれぞれに対応する量子化代表ベクトルが記憶されているとする。ベクトル復号部1282は、入力されたベクトル量子化インデックスに対応する量子化代表ベクトルをキーとしてそのベクトルコードブック記憶部を参照して、そのベクトル量子化インデックスに対応する量子化代表ベクトルを取得する。量子化代表ベクトルの成分が、入力されたベクトル量子化インデックスに対応する複数の値となる。
正規化値再計算部1281は、所定個数の復号値E(k)の絶対値の和が大きいほど小さい値を取る正規化再計算値τを計算する(ステップD43)。計算された正規化再計算値τは、合成部1283に送られる。正規化値再計算値τは、Xの上付きダブルバーを意味する。
[ステップD43の具体例]
例えば、正規化値再計算部1281は、図16に記載された各処理を行うことにより、正規化再計算値τの値を求める。正規化再計算値τは、符号化において量子化対象値E(k)が0とされたサンプルを代表する値である。この例では、下式(2)に示すように、C個のサンプルのパワーの合計Cτ−2から、符号化において量子化対象値E(k)が0とされなかったサンプルのパワーの合計tmpを減算した値を、量子化対象値E(k)が0とされたサンプルの数mで割り、その平方根を取ることにより、正規化再計算値τを計算する。
正規化値再計算部1281は、k=0、m=0、tmp=0とすることで、k、m、tmpの値を初期化する(ステップD431)。
正規化値再計算部1281は、kとCとを比較し(ステップD432)、k≧Cであれば、次式により定義されるτの値を計算し(ステップD437)、ステップD43の処理を終える。
Figure 2012005210
k<Cであれば正規化値再計算部1281は、復号値E(k)が0であるか否かを判定し(ステップD433)、E(k)が0であれば、mを1だけインクリメントして(ステップD435)、ステップD436に進み、復号値E(k)が0でなければ、ステップD434に進む。
正規化値再計算部1281は、番号kのサンプルのパワーを計算して、tmpに足しこむ(ステップD434)。その後、ステップD436に進む。すなわち、計算されたパワーとtmpの値とを加算した値を、新たなtmpの値とする。例えば、正規化値再計算部1281は、次式によりパワーを計算する。
Figure 2012005210

正規化値再計算部1281は、kを1だけインクリメントして(ステップD436)、ステップD432に進む([ステップD43の具体例]の説明終わり)。
合成部1283は、各復号値E(k)が正の場合にはその各復号値E(k)と復号正規化値τとの線形和を計算し、各復号値E(k)が負の場合にはその各復号値E(k)の絶対値と復号正規化値τとの線形和の正負反転値を計算し、各復号値E(k)が0の場合には正規化値再計算値τと第一定数Cとの乗算値の正負をランダムに反転させた値を計算し、復号信号の値X(k)を求める(ステップD44)。
[ステップD44の具体例]
合成部1283は、例えば、図17に記載された各処理を行うことにより、復号信号を求める。なお、CがLである場合には、フレームごとに図17のステップE44の処理が実行され、Cが1およびL以外のLの公約数である場合には、1フレーム中の各サブバンドについて図17のステップE44の処理が繰り返し実行される。
合成部1283は、k=0とすることでkの値を初期化する(ステップD441)。
合成部1283は、kとCとを比較し(ステップD442)、k<CでなければステップD44の処理を終え、k<Cであれば復号値E(k)が0であるか否かを判定し(ステップD443)、復号値E(k)が0であれば、正規化値再計算値τと第一定数Cとの乗算値の正負をランダムに反転させた値(正規化値再計算値τに対応する大きさを持つ値)を復号信号の値X(k)とする(ステップD444)。すなわち合成部1283は、次式により定義される値を計算してX(k)とする。Cは、周波数成分の大きさを調整する定数である。この例のCは正定数であり、例えば0.9である。rand(k)は、1または−1を出力する関数であり、例えば乱数に基づいてランダムに1または−1を出力する。
Figure 2012005210
ステップD443において復号値E(k)が0でないとされた場合には、合成部1283は、復号値E(k)と0とを比較し(ステップD445)、復号値E(k)<0であれば復号値E(k)の絶対値|E(k)|と、定数Cと復号正規化値τとの乗算値Cτと、を加算して正負を反転した値(復号値の絶対値|E(k)|と復号正規化値τとの線形和の正負反転値)を計算して復号信号の値X(k)とする(ステップD446)。すなわち、合成部1283は、次式により定義される値を計算して、X(k)とする。
Figure 2012005210
復号値E(k)<0でない場合は、合成部1283は、復号値E(k)と、定数Cと復号正規化値τとの乗算値Cτと、を加算した値(復号値の絶対値|E(k)|と復号正規化値τとの線形和)をX(k)とする(ステップD447)。すなわち、合成部1283は、次式により定義される値を計算してX(k)とする。
Figure 2012005210
合成部1283は、X(k)を決定した後に、kを1だけインクリメントして(ステップD448)、ステップD442に進む([ステップD44の具体例]の説明終わり)。
時間領域での復号信号が必要な場合、合成部1283から出力されたX(k)は時間領域変換部121に入力され、時間領域変換部121はX(k)を例えば逆フーリエ変換により時間領域信号z(n)に変換して出力する([ステップD4の具体例1]の説明終わり)。
[ステップD4の具体例2]
ステップD4の具体例1は、第2符号化部118が前述の[ステップE6の具体例2]での符号化を行う場合の例である。ステップD4の具体例2では、第2符号化部118が復号正規化値τと修正後ベクトル量子化インデックスとを入力とし、図15に例示する各ステップを実行する。
ベクトル復号部1282’(図3)は、修正後ベクトル量子化インデックスが含むベクトル量子化インデックスに対応する複数の値を求めて複数の復号値E(k)とする(ステップD42)。また、ベクトル復号部1282’は、ベクトル量子化インデックスを用いて未使用ビット数Uを計算する(ステップD42’)。例えば、ベクトル復号部1282’は、ベクトル量子化用に割り当てられたビットのうち、実際のベクトル量子化で使用されなかったビットのビット数を未使用ビット数Uとして計算する。本形態の例では、1フレームごと(L個のサンプルごと)に未使用ビット数Uを計算する。例えば、ベクトル復号部1282’は、処理対象のフレームでのベクトル量子化用に割り当てられたビット数から、そのフレームに対応するベクトル量子化インデックスのビット数の総数を減じた値を未使用ビット数Uとする。復号値E(k)および未使用ビット数Uは、合成部1283’に送られる。
正規化値再計算部1281は、所定個数の復号値E(k)の絶対値の和が大きいほど小さい値を取る正規化再計算値τを計算する(ステップD43)。計算された正規化再計算値τは、合成部1283’に送られる。
合成部1283’は、各復号値E(k)が正の場合にはその各復号値E(k)と復号正規化値τとの線形和を計算し、各復号値E(k)が負の場合にはその各復号値E(k)の絶対値と復号正規化値τとの線形和の正負反転値を計算し、各復号値E(k)が0の場合には正規化値再計算値τと第一定数Cとの乗算値またはその乗算値の正負反転値(正規化値再計算値τに対応する大きさを持つ値)を計算することにより、復号信号の値X(k)を求める。
ここで、復号値E(k)が0であって修正後ベクトル量子化インデックスが含む正負符号情報によって正負が表されたサンプルについては対応する正負符号情報によってX(k)の正負が特定される。すなわち、復号値E(k)が0であって正負符号情報によって正であると表されたサンプルについては正規化値再計算値τと第一定数Cとの乗算値がX(k)となり、復号値E(k)が0であって正負符号情報によって負であると表されたサンプルについては正規化値再計算値τと第一定数Cとの乗算値の正負反転値がX(k)となる。一方、復号値E(k)が0であって正負符号情報によって正負が特定されないサンプルについてはランダムにX(k)の正負が定められる。すなわち、正規化値再計算値τと第一定数Cとの乗算値の正負をランダムに反転させた値がX(k)となる(ステップD44’)。この例では、未使用ビット領域を用いて伝送された正負符号情報を用いてX(k)の正負を特定できるため、X(k)の品質を向上させることができる。
[ステップD44’の具体例1]
合成部1283’は、例えば、図17および図18に記載された各処理を行うことにより、復号信号を求める。なお、CがLである場合には、フレームごとに図17および図18のステップD44’の処理が実行され、Cが1およびL以外のLの公約数である場合には、1フレーム中の各サブバンドについて図17および図18のステップD44’の処理が繰り返し実行される。
ステップD441〜D448の処理は前述した通りである。ただし、ステップD44’の具体例1では、ステップD442でk<Cでないと判定された場合にステップD4411に進む。
ステップD4411では、合成部1283’がk=0、m=0とすることでkおよびmの値を初期化する(ステップD4411)。次に、合成部1283’は、kとCとを比較し(ステップD4412)、k<Cでなければ未使用ビット領域から各ビットb(m)が配置された領域を除いた領域を新たな未使用ビット領域とし、U−mを新たなUとし(ステップD4420)、ステップD44’の処理を終える。なお、CがLである場合には、ステップD4420を実行しなくてもよい。k<Cであれば、合成部1283’は、mと未使用ビット数Uとを比較し(ステップD4413)、m<Uでなければkを1だけインクリメントして(ステップD4419)、ステップD4412に進む。m<Uであれば、合成部1283’は、復号値E(k)が0であるか否かを判定し(ステップD4414)、E(k)が0でなければ、kを1だけインクリメントして(ステップD4419)、ステップD4412に進む。E(k)が0であれば、合成部1283’は、入力された未使用ビット領域のm番目のビットb(m)が0であるか否かを判定し(ステップD4415)、b(m)が0である場合正規化値再計算値τと定数C’との乗算値の正負を反転させた値(正規化値再計算値τに対応する大きさを持つ値)を復号信号の値X(k)とする(ステップD4416)。C’は、周波数成分の大きさを調整する定数であり、例えば、C’=CやC’=ε・Cである。εは定数や他の処理に応じて定まる変数である。すなわち、合成部1283’は、次式により定義される値をX(k)とする。
Figure 2012005210
なお、ステップD4416の処理は、既に得られたX(k)(この例ではステップD444で得られた)の正負のみを修正するものであってもよいし、既に得られたX(k)の振幅が変更された値の正負のみを修正するものであってもよいし、新たに式(3)の計算を行うものであってもよい。ステップD4416の後、合成部1283’は、m、kをそれぞれ1だけインクリメントして(ステップD4418、D4419)、ステップD4412に進む。
ステップD4415でb(m)が0でないと判定された場合、合成部1283’は、正規化値再計算値τと定数C’との乗算値(正規化値再計算値τに対応する大きさを持つ値)を復号信号の値X(k)とする(ステップD4417)。すなわち、合成部1283’は、次式により定義される値をX(k)とする。
Figure 2012005210
なお、ステップD4417の処理は、既に得られたX(k)の正負のみを修正するものであってもよいし、既に得られたX(k)の振幅が変更された値の正負のみを修正するものであってもよいし、新たに式(4)の計算を行うものであってもよい。ステップD4417の後、合成部1283’は、m、kをそれぞれ1だけインクリメントして(ステップD4418、D4419)、ステップD4412に進む([ステップD44’の具体例1]の説明終わり)。
[ステップD44’の具体例2]
合成部1283’は、図19に記載された各処理を行うことにより、復号信号を求めてもよい。なお、CがLである場合には、フレームごとに図19のステップD44’の処理が実行され、Cが1およびL以外のLの公約数である場合には、1フレーム中の各サブバンドについて図19のステップD44’の処理が繰り返し実行される。
合成部1283’は、k=0、m=0とすることでkおよびmの値を初期化する(ステップD4431)。
合成部1283’は、kとCとを比較し(ステップD442)、k<Cでなければ未使用ビット領域から各ビットb(m)が配置された領域を除いた領域を新たな未使用ビット領域とし、U−mを新たなUとし(ステップD4443)、ステップD44’の処理を終える。なお、CがLである場合には、ステップD4443を実行しなくてもよい。k<Cであれば、合成部1283’は、復号値E(k)が0であるか否かを判定し(ステップD443)、復号値E(k)が0であればmと未使用ビット数Uとを比較し(ステップD4438)、m<Uでなければ正規化値再計算値τと第一定数Cとの乗算値の正負をランダムに反転させた値を復号信号の値X(k)とする(ステップD444)。すなわち、合成部1283’は、次式により定義される値を計算してX(k)とする。
Figure 2012005210
ステップD444の後、合成部1283’は、kを1だけインクリメントして(ステップD448)、ステップD442に進む。
ステップD4438においてm<Uであると判定された場合、合成部1283’は、入力された修正後ベクトル量子化インデックスの未使用ビット領域のm番目のビットb(m)が0であるか否かを判定し(ステップD4439)、b(m)が0である場合正規化値再計算値τと第一定数Cとの乗算値の正負を反転させた値(正規化値再計算値τに対応する大きさを持つ値)を復号信号の値X(k)とする(ステップD4440)。すなわち、合成部1283’は、次式により定義される値を計算してX(k)とする。
Figure 2012005210
なお、修正後ベクトル量子化インデックスが含む未使用ビット領域のm番目のビットb(m)の位置は、未使用ビット領域の開始ビット位置とビットb(m)の配置順序とが定められ、未使用ビット数Uが得られれば容易に特定できる。ステップD4440の後、合成部1283’は、m、kをそれぞれ1だけインクリメントして(ステップD4442、D448)ステップD442に進む。
ステップD4439でb(m)が0でないと判定された場合、合成部1283’は、正規化値再計算値τと第一定数Cとの乗算値(正規化値再計算値τに対応する大きさを持つ値)を復号信号の値X(k)とする(ステップD4441)。すなわち、合成部1283’は、次式により定義される値を計算してX(k)とする。
Figure 2012005210
ステップD4441の後、合成部1283’は、m、kをそれぞれ1だけインクリメントして(ステップD4442、D448)ステップD442に進む。
一方、ステップD443において復号値E(k)が0でないと判定された場合には、合成部1283’は、前述したステップD445〜D447の処理を行い、kを1だけインクリメントして(ステップD448)、ステップD442に進む([ステップD44’の具体例2]の説明終わり)。
時間領域での復号信号が必要な場合、合成部1283’から出力されたX(k)は時間領域変換部121に入力され、時間領域変換部121はX(k)を例えば逆フーリエ変換により時間領域信号z(n)に変換して出力する([ステップD4の具体例2]の説明終わり)。
<本形態の特徴>
以上のように、本形態では、入力信号がスパースであるか否かによって符号化方式および復号方式を切り替えることとした。そのため、ミュージカルノイズ等の抑制が必要か否かに応じて、適切な符号化方式および復号方式が選択できる。
また、本形態では、復号値E(k)が0の場合に正規化値再計算値τを用いて0ではない値をX(k)に割り当てるため、入力信号が例えば周波数領域の入力信号である場合に生じ得るスペクトルホールをなくすことができる。これにより、ミュージカルノイズ等を軽減することができる。
さらに、符号化装置11でのベクトル量子化で使用されなかった未使用ビット領域を用いて正負符号情報を復号装置12に伝送する場合、復号装置12は、未使用ビット領域で伝送された正負符号情報を用いてX(k)の正負を特定できるため、X(k)の品質を向上することができる。
ただし、未使用ビット領域に書き込まれる正負符号情報のビット数の上限は未使用ビット数Uであり、必ずしもすべての周波数に対する正負符号情報が未使用ビット領域に書き込まれるとは限らない。この場合、人間の聴覚特性を考慮した基準に従って正負符号情報を抽出し、抽出した正負符号情報を未使用ビット領域に書き込むことで、復号装置12は、例えば、人間の聴覚特性上重要な周波数でのX(k)の正負を正しく特定できる。その結果、人間の聴覚特性上重要な周波数でのX(k)の品質を優先的に向上させることができる。
また、正負符号情報を伝送できなかった周波数でのX(k)の正負は関数rand(k)を用いてランダムに定められ、一定ではない。そのため、正負符号情報を伝送できなかった周波数に対しても自然な復号信号を作り出すことができる。
〔その他変形例〕
本発明は上述の実施の形態に限定されるものではない。以下に上述で述べた以外の変形例を示す。
図2に破線で示すように、第2符号化部118に量子化対象値E(k)を代表する値である量子化対象正規化値τを計算する量子化対象正規化値計算部1183を設けて、ベクトル量子化部1182や1282’が複数のサンプルそれぞれに対応する量子化対象値E(k)を量子化対象正規化値τで正規化した値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求めてもよい。量子化対象値E(k)を量子化対象正規化値τで正規化した値の例は、E(k)をτで除算した値E(k)/τである。量子化対象値E(k)を正規化してからベクトル量子化することにより、ベクトル量子化の対象のダイナミックレンジを狭くすることができ、少ないビット数で符号化および復号することが可能となる。
量子化対象正規化値計算部1183は、例えば量子化正規化値τを用いて次式により定義される値を計算して量子化対象値E(k)とする(図11/ステップE61)。Cは正の調整係数(第二定数と呼ぶこともある。)であり、例えば0.3である。
Figure 2012005210
このように、量子化正規化値τから量子化対象正規化値τを計算することにより、量子化対象正規化値τについての情報を送らなくても、復号側では量子化正規化値τから量子化対象正規化値τを計算することができる。このため、量子化対象正規化値τについての情報を送る必要がなくなり、通信量を低減することができる。
この場合、図3に破線で示すように、第2復号部128に復号対象正規化値計算部1284が設けられる。復号対象正規化値計算部1284は、復号正規化値τと第二定数Cとをかけて復号対象正規化値τとする(図15/ステップD41)。復号対象正規化値τは、ベクトル復号部1282や1282’に送られる。そして、ベクトル復号部1282や1282’は、τを用いてベクトル量子化インデックスに対応する複数の値を逆正規化して複数の復号値E(k)とする。例えば、ベクトル復号部1282や1282’は、ベクトル量子化インデックスに対応する複数の値のそれぞれと復号対象正規化値τとをかけて複数の復号値E(k)とする。なお、この変形例の復号値E(k)はベクトル量子化インデックスに対応する複数の値を逆正規化された値であるが、量子化値E(k)’は逆正規化する前の値であってもよい。
また、第2復号部128の正規化値再計算部1281の代わりに正規化値再計算部1281’が設けられてもよい。
正規化値再計算部1281’は、ステップD43’(図15)において、正規化再計算値τX’が0でない場合には正規化再計算値τと前回計算された正規化再計算値τX’とを重み付き加算した値を上記正規化再計算値τとする。正規化再計算値τX’が0の場合、正規化値再計算部1281’は、正規化再計算値の重み付き加算、すなわち正規化再計算値の平滑化を行わない。
=Lでありフレームごとに正規化再計算値τを計算している場合には、前回計算された正規化再計算値τX’は、1フレーム過去に正規化値再計算部1281’により計算された正規化再計算値である。Cが1およびL以外のLの約数であり、周波数成分をL/C個のサブバンドに分けてサブバンドごとに正規化再計算値を計算する場合には、前回計算された正規化再計算値τX’は、同じサブバンドの1フレーム前に計算された正規化再計算値であってもよいし、既に計算された同じフレームの連続する前または後のサブバンドの正規化再計算値であってもよい。
前回計算された正規化再計算値τX’を考慮して今回新たに計算される正規化再計算値をτpost とすると、τpost は次式のように表わされる。αとβは調整係数であり、求める性能および仕様に応じて適宜決定される。例えば、α=β=0.5である。
Figure 2012005210
このように、前回計算された正規化再計算値τX’を考慮して正規化再計算値を計算することにより、前回計算された正規化再計算値τX’と今回計算される正規化再計算値の値が近くなり、これらの連続性が上がるため、入力信号が例えば周波数領域の入力信号である場合に生じ得るミュージカルノイズ等を更に軽減することができる。
また、図3の破線で示すように、第2復号部128が平滑化部1285を備えてもよい。
平滑化部1285は、ステップD44やD44’(図15)で得られた復号信号の値X(k)を入力とし、復号信号の値X(k)よりも過去の復号信号の値X(k)’が0でない場合、過去の復号信号の値X(k)’と復号信号の値X(k)とを重み付き加算した値を平滑化値X POST(k)として出力する。X(k)’が0の場合、平滑化部1285は、復号信号の値の重み付き加算、すなわち復号信号の値の平滑化を行わず、X(k)をX POST(k)として出力する(図15/ステップD45)。過去の復号信号の値X(k)’の例は、復号信号の値X(k)に対応するフレームの1フレーム過去のステップD4で得られた復号信号の値や、復号信号の値X(k)に対応するフレームの1フレーム過去のステップD4’で得られた平滑化値などである。
POST(k)は次式のように表わされる。αとβは調整係数であり、求める性能および仕様に応じて適宜決定される。例えば、α=0.85、β=0.15である。φ(・)は・の正負符号を表す。
Figure 2012005210
これにより、X(k)の振幅特性の時間軸方向の不連続性によって生じるミュージカルノイズ等を軽減することができる。時間領域での復号信号が必要な場合、平滑化部1285から出力されたX POST(k)は時間領域変換部121に入力され、時間領域変換部121はX POST(k)を例えば逆フーリエ変換により時間領域信号z(n)に変換して出力する。
また、第2復号部128が合成部1283,1283’および正規化値再計算部1281,1287の代わりに合成部1286を含む場合、合成部424は、例えば、τ,E^(k)を入力とし、前述したステップD43,D44の具体例の代わりに図20および図21に記載された以下の処理を行ってもよい。なお、CがLである場合には、フレームごとに以下の処理が実行され、Cが1およびL以外のLの公約数である場合には、1フレーム中の各サブバンドについて以下の処理が繰り返し実行される。
合成部1286は、k=0、m=0、tmp=0とすることでk、m、tmpの値を初期化する(ステップD4311)。
合成部1286は、kとCとを比較し(ステップD4312)、k<Cであれば復号値E(k)が0であるか否かを判定し(ステップD4313)、復号値E(k)が0であれば、kを1だけインクリメントして(ステップD4317)、ステップD4312に進む。復号値E(k)が0でなければ、合成部1286は、番号kのサンプルのパワーを計算して、tmpに足しこむ(ステップD4314)。すなわち、計算されたパワーとtmpの値とを加算した値を、新たなtmpの値とする。例えば、合成部1286は、次式によりパワーを計算する。
Figure 2012005210
さらに、合成部1286は、mを1だけインクリメントして(ステップD4315)、以下のX^(k)の値を計算する(ステップD4316)。
Figure 2012005210

なお、SIGN(E^(k))は、E^(k)が正であるとき1となり、E^(k)が負であるとき−1となる関数である。その後、合成部1286は、mを1だけインクリメントして(ステップD4317)、ステップD4312に進む。
ステップD4312でk<Cでないと判定された場合、合成部1286は、次式により定義されるτの値を計算する(ステップD4318)。
Figure 2012005210
さらに合成部1286は、k=0とすることでkの値を初期化する(ステップD4321)。
合成部1286は、kとCとを比較し(ステップD4322)、k<Cでなければ、ステップD43,D44の処理を終える。k<Cであれば、合成部1286は、復号値E(k)が0であるか否かを判定し(ステップD4323)、復号値E(k)が0であれば、正規化値再計算値τと第一定数Cとの乗算値の正負をランダムに反転させた値を復号信号の値X(k)とする(ステップD4324)。すなわち、次式により定義される値を計算してX(k)とする。
Figure 2012005210

その後、合成部1286は、kを1だけインクリメントして(ステップD4328)、ステップD4322に進む。
一方、ステップD4323において復号値E(k)が0でないと判定された場合には、合成部1286は、X(k)を更新することなくkを1だけインクリメントして(ステップD4328)、ステップD4322に進む。
また、合成部424は、例えば、τ,E^(k),U,b(m)を入力とし、前述したステップD43,D44’の具体例の代わりに図18,図20および図21に記載された以下の処理を行ってもよい。図20および図21を用いて説明した上述の処理との違いは、ステップD4322でk<Cでないと判断されたときにステップD43,D44の処理を終える代わりに、合成部1286が図18のステップD4411の処理に進む点である。その他はこれまで説明したとおりである。
また、C、C、C、C、α、β、α、βは、求める性能および仕様に応じて適宜変更してもよい。
また、入力信号X(k)は、周波数領域信号である必要はなく、時間領域信号等の任意の信号であってもよい。すなわち、この発明は、周波数領域信号以外の任意の信号に対する符号化、復号に用いることができる。
また、フレームごとに入力信号X(k)に対する正規化値FGAINが定められ、量子化対象計算部1181が入力信号の各サンプルの値X(k)の代わりにX(k)を正規化値FGAINで正規化した値を用い、量子化正規化値τの代わりにτを正規化値FGAINで正規化した値を用い、ステップE6の処理が実行されてもよい。例えば、X(k)がX(k)/FGAINに置換され、ττ/FGAINに置換されて、ステップE6の処理が実行されてもよい。
このように正規化値FGAINで正規化される場合、ステップE33(図5および図6)、ステップE336(図7および図8)、ステップE346(図9および図10)が実行されず、X(k)=X(k)、X(i・C+h)=X(i・C+h)、X(b・C+h)=X(b・C+h)としてその後の処理が実行されてもよい。
また、このように正規化値FGAINで正規化される場合、正規化値計算部112を設けず、正規化値量子化部113に量子化正規化値τの代わりにX(k)を正規化値FGAINで正規化した値が入力されてもよい。この場合、第1符号化部117および第2符号化部118が、量子化正規化値τの代わりにX(k)を正規化値FGAINで正規化した値の量子化値を用いて符号化処理を行ってもよい。正規化値量子化インデックスが正規化値FGAINで正規化した値の量子化値に対応するものであってもよい。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
〔ハードウェア、プログラムおよび記録媒体〕
上述した符号化装置11や復号装置12は、例えば、CPU(central processing unit)やRAM(random-access memory)などからなる公知または専用のコンピュータと上述の処理内容が記述された特別なプログラムとから構成される。この場合、特別なプログラムはCPUに読み込まれ、CPUが特別なプログラムを実行することによって各機能が実現される。また、特別なプログラムは、単一のプログラム列によって構成されてもよいし、他のプログラムやライブラリを読み出して目的の機能を達成するものであってもよい。
このようなプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。プログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、プログラムを流通させてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。
また、符号化装置11や復号装置12の処理部の少なくとも一部が特別な集積回路によって構成されてもよい。
11 符号化装置
111 周波数領域変換部
112 正規化値計算部
113 正規化値量子化部
114 符号化方式選択部
115,116 切り替え部
117 第1符号化部
118 第2符号化部
12 復号装置
123 正規化値復号部
125,126 切り替え部
127 第1符号化部
128 第2符号化部
121 時間領域変換部
復号においては、入力されたモード情報が第2値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各復号値が0の場合には所定個数の復号値の絶対値の和が大きいほど小さい値を取る正規化再計算値に対応する大きさを持つ値を復号信号とし、各復号値が正の場合には各復号値と復号正規化値との線形和を復号信号とし、各復号値が負の場合には各復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする第2復号方式を選択し、モード情報が第1値である場合に別の第1復号方式を選択し、選択した第1復号方式又は第2復号方式で復号処理を行う。
第2復号方式の例1では、入力された正規化値量子化インデックスに対応する復号正規化値を求める。入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とする。所定個数の復号値の絶対値の和が大きいほど小さな値を取る正規化再計算値を計算する。各復号値について、当該復号値が正の場合には当該復号値と復号正規化値との線形和を復号信号とする。当該復号値が負の場合には当該復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする。当該復号値が0である場合には正規化値再計算値と第一定数との積の正負をランダムに反転させた値(正規化値再計算値に対応する大きさを持つ値)を復号信号とした復号信号の列を復号信号サンプル列とする。
第2復号方式の例2では、入力された正規化値量子化インデックスに対応する復号正規化値を求める。入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とする。所定個数の復号値の絶対値の和が大きいほど小さな値を取る正規化再計算値を計算する。各復号値について、当該復号値が正の場合には当該復号値と復号正規化値との線形和を復号信号とする。当該復号値が負の場合には当該復号値の絶対値と復号正規化値との線形和の正負反転値を復号信号とする。当該復号値が0であって当該復号値に対応する正負符号情報が入力された場合には、正規化値再計算値と第一定数との積に正負符号情報が表す正負を付した値(正規化値再計算値に対応する大きさを持つ値)を復号信号とする。各復号値が0であって当該復号値に対応する正負符号情報が入力されない場合には、正規化値再計算値と第一定数との積の正負をランダムに反転させた値(正規化値再計算値に対応する大きさを持つ値)を復号信号とした復号信号の列を復号信号サンプル列とする。
正規化値計算部112は、フレームごとに、入力された入力信号X(k)のL個のサンプルのうちの所定個数Cのサンプルを代表する値である正規化値τ を計算する(ステップE1)。τ は、τの上付きバーを意味する。
は、L、または、1およびL以外のLの公約数である。なお、CをLとすることは、L個のサンプルごとに正規化値を求めることを意味する。CをLの公約数にすることは、L個のサンプルをサブバンドに分割して、各サブバンドを構成するC個のサンプルごとに正規化値を求めることを意味する。例えば、L=64であり、8個の周波数成分でサブバンドを構成するとした場合には、8個のサブバンドが構成され、各サブバンドの正規化値が計算されることになる。また、CがLである場合τ=0であり、正規化値τ はL個のサンプルを代表する値である。すなわち、CがLである場合、フレームごとに1つの正規化値τ が計算される。一方、Cが1及びL以外のLの公約数である場合、τは1フレーム中の各サブバンドに対応する整数τ=0,…,(L/C)-1であり、正規化値τ はτに対応するサブバンドに属するC個のサンプルを代表する値である。すなわち、Cが1及びL以外のLの公約数である場合、フレームごとに(L/C)個の正規化値τ (τ=0,…,(L/C)-1)が計算される。また、Cの値にかかわらずk=τ・C,・・・,(τ+1)・C−1である。正規化値計算部112で計算されたτ は、正規化値量子化部113に送られる。
符号化方式選択部114は、X(k)の絶対値|X(k)|(サンプルに対応する値の大きさ)を計算し、|X(k)|と所定の閾値Th(第1基準値)とを比較し(ステップE34)、|X(k)|<Thであれば符号化方式選択部114は、mを1だけインクリメントし(m+1を新たなmの値とすることでmの値を更新して)(ステップE35)、kを1だけインクリメントして(ステップE36)、ステップE32に進む。|X(k)|<Thでなければ符号化方式選択部114は、mをインクリメントすることなくkを1だけインクリメントして(ステップE36)ステップE32に進む。なお、閾値Th正定数であり、例えばTh=0.5である。
ステップE38でtがTMINでないとされた場合、符号化方式選択部114はmとtとを比較し(ステップE312)、m<tであれば、s=1としてモード情報s=1を出力し(ステップE313)、ステップE3の処理を終える。m<tでなければ、符号化方式選択部114はs=0、t=TMINとして、モード情報s=0を出力し(ステップE314)、ステップE3の処理を終える。
ステップE38以降の処理により、1フレーム過去とフレームとでスパースか否かの判定結果(s=0であるか1であるか)が異なる頻度を下げることができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。言い換えると、ステップE38以降の処理により、前回の所定個数のサンプルが第1符号化方式で符号化(s=0)された場合の第2基準値tの大きさが、前回の所定個数のサンプルが第2符号化方式(s=1)で符号化された場合の第2基準値tの大きさよりも小さくなる。これにより、前回と今回とで符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。なお、C=Lである場合における「前回の所定個数のサンプル」は、1フレーム過去のフレームに属する各サンプルである。Cが1およびL以外のLの約数である場合における「前回の所定個数のサンプル」は、同じサブバンドに属する1フレーム前のサンプルであってもよいし、同じフレームの連続する前または後のサブバンドのサンプルであってもよい。
ステップE321以降の処理により、1フレーム過去とフレームとでスパースか否かの判定結果(s=0であるか1であるか)が異なる頻度を下げることができる。その結果、フレーム間で符号化方式が異なる頻度を減らし、符号化方式の変更に伴うミュージカルノイズ等の発生を抑制できる。
ベクトル量子化インデックスは、量子化代表ベクトルを表わすインデックスである。ベクトル量子化部1182は、例えば、図示していないベクトルコードブック記憶部に記憶された複数の量子化代表ベクトルの中から、複数のサンプルに対応する複数の量子化対象値(k)を成分とするベクトルに最も近い量子化代表ベクトルを選択し、選択された量子化代表ベクトルを表わすベクトル量子化インデックスを出力することにより、ベクトル量子化を行う。ベクトル量子化部1182は、例えばC個のサンプルに対応する量子化対象値E(k)をまとめてベクトル量子化を行う。ベクトル量子化部1182は、量子化対象値E(k)が0の場合には量子化値E(k)’が必ず0となるような量子化方法、例えばAVQ法(Algebraic Vector Quantization,G.718参照)等のベクトル量子化方法を用いてベクトル量子化を行う。このように、入力信号が例えば周波数領域信号である場合に、全ての周波数の中からAVQ法等のベクトル量子化では実質的に量子化の対象とならないサンプルを含む主要成分を選択して積極的に量子化することにより、復号信号の主要成分におけるスペクトルホールの発生を防止することができ、これによりミュージカルノイズ等を低減することができる。
ベクトル量子化インデックスに対応する符号(ビットストリーム)は、復号装置12に送られる([ステップE6の具体例1]の説明終わり)。
正負符号情報出力部1184は、量子化値E(k)’が0となる周波数領域の入力信号のサンプルの値X(k)の正負符号情報を、ベクトル量子化用に割り当てられたビットのうちで使用されなかったビットの領域(「未使用ビット領域」と呼ぶ)に書き込む。言い換えると、正負符号情報出力部1184は、ベクトル量子化インデックスに対応する符号(ビットストリーム)の未使用ビット領域にE(k)’を正にしないE(k)’を0以下にする)各サンプルの値X(k)の正負を表す正負符号情報を配置する(ステップE65)。なお、未使用ビット領域は、例えば、定められた未使用ビット領域の基準位置(例えば先頭アドレス)と入力された未使用ビット数Uとによって特定できる。
<復号処理>
復号装置12(図1)は図14に例示する復号方法の各ステップを実行する。
正規化値復号部12は、復号装置12に入力された正規化値量子化インデックスに対応する復号正規化値τを求める(ステップD1)。
例えば、図示していないコードブック記憶部に複数の正規化値量子化インデックスのそれぞれに対応する正規化値が記憶されているとする。正規化値復号部121は、入力された正規化量子化インデックスをキーとしてそのコードブック記憶部を参照して、その正規化量子化インデックスに対応する正規化値を取得して、復号正規化値τとする。復号正規化値τは、第1復号部127と第2復号部128に送られる。
正規化値再計算部1281は、所定個数の復号値E(k)の絶対値の和が大きいほど小さい値を取る正規化再計算値τを計算する(ステップD43)。計算された正規化再計算値τは、合成部1283に送られる。正規化値再計算値τは、 τ Xの上付きダブルバーを意味する。
[ステップD43の具体例]
例えば、正規化値再計算部1281は、図16に記載された各処理を行うことにより、正規化再計算値τの値を求める。正規化再計算値τは、符号化において量子化対象値E(k)が0とされたサンプルを代表する値である。この例では、下式(2)に示すように、C個のサンプルのパワーの合計Cτ−2から、符号化において量子化対象値E(k)が0とされなかったサンプルのパワーの合計tmpを減算した値を、量子化対象値E(k)が0とされたサンプルの数mで割り、その平方根を取ることにより、正規化再計算値τを計算する。
[ステップD44の具体例]
合成部1283は、例えば、図17に記載された各処理を行うことにより、復号信号を求める。なお、CがLである場合には、フレームごとに図17のステップE44の処理が実行され、Cが1およびL以外のLの公約数である場合には、1フレーム中の各サブバンドについて図17のステップ44の処理が繰り返し実行される。
正規化値再計算部1281は、所定個数の復号値E(k)の絶対値の和が大きいほど小さい値を取る正規化再計算値τを計算する(ステップD43)。計算された正規化再計算値τは、合成部1283’に送られる。
また、第2復号部128の正規化値再計算部1281の代わりに正規化値再計算部1281’が設けられてもよい。
正規化値再計算部1281’は、ステップD43’(図15)において、正規化再計算値τX’が0でない場合には正規化再計算値τと前回計算された正規化再計算値τX’とを重み付き加算した値を上記正規化再計算値τとする。正規化再計算値τX’が0の場合、正規化値再計算部1281’は、正規化再計算値の重み付き加算、すなわち正規化再計算値の平滑化を行わない。
=Lでありフレームごとに正規化再計算値τを計算している場合には、前回計算された正規化再計算値τX’は、1フレーム過去に正規化値再計算部1281’により計算された正規化再計算値である。Cが1およびL以外のLの約数であり、周波数成分をL/C個のサブバンドに分けてサブバンドごとに正規化再計算値を計算する場合には、前回計算された正規化再計算値τX’は、同じサブバンドの1フレーム前に計算された正規化再計算値であってもよいし、既に計算された同じフレームの連続する前または後のサブバンドの正規化再計算値であってもよい。
前回計算された正規化再計算値τX’を考慮して今回新たに計算される正規化再計算値をτpost とすると、τpost は次式のように表わされる。αとβは調整係数であり、求める性能および仕様に応じて適宜決定される。例えば、α=β=0.5である。
Figure 2012005210
このように、前回計算された正規化再計算値τX’を考慮して正規化再計算値を計算することにより、前回計算された正規化再計算値τX’と今回計算される正規化再計算値の値が近くなり、これらの連続性が上がるため、入力信号が例えば周波数領域の入力信号である場合に生じ得るミュージカルノイズ等を更に軽減することができる。

Claims (22)

  1. 入力された所定個数のサンプルが含む当該サンプルに対応する値の大きさが第1基準値よりも小さなサンプルの個数に対応する評価値が第2基準値よりも小さい又は前記第2基準値以下である場合に、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、各前記サンプルの値の大きさに対応する値から前記量子化正規化値に対応する値を減算した減算値が正であり前記各サンプルの値が正の場合にはその減算値を前記各サンプルに対応する量子化対象値とし、前記減算値が正であり前記各サンプルの値が負の場合にはその減算値の正負を反転させた値を前記各サンプルに対応する量子化対象値とし、前記量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第2符号化方式を選択し、前記第2符号化方式を選択しない場合に別の第1符号化方式を選択し、選択した符号化方式を表すモード情報を生成する符号化方式選択ステップと、
    前記符号化方式選択ステップで選択された前記第1符号化方式又は前記第2符号化方式で前記所定個数のサンプルを符号化する符号化ステップと、
    を有する符号化方法。
  2. 請求項1の符号化方法であって、
    前記評価値の少なくとも一部は、前記サンプルに対応する値の大きさが前記第1基準値よりも小さなサンプルの個数と、前回計算された評価値と、の重み付き加算値である、
    ことを特徴とする符号化方法。
  3. 請求項1又は2の符号化方法であって、
    前回の所定個数のサンプルが前記第1符号化方式で符号化された場合の前記第2基準値の大きさは、前回の所定個数のサンプルが前記第2符号化方式で符号化された場合の前記第2基準値の大きさよりも小さい、
    ことを特徴とする符号化方法。
  4. 請求項3の符号化方法であって、
    前記評価値は、前記所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが前記第1基準値よりも小さなサンプルの個数に対応する値である、
    ことを特徴とする符号化方法。
  5. 請求項1又は2の符号化方法であって、
    前記評価値は、前記所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが前記第1基準値よりも小さなサンプルの個数に対応する値である、
    ことを特徴とする符号化方法。
  6. 請求項1の符号化方法であって、
    前記第1符号化方式は、前記所定個数のサンプルのうち一部のサンプルに対応する量子化値が0以外となり、残りのサンプルに対応する量子化値が0となるベクトル量子化方式でベクトル量子化してベクトル量子化インデックスを求める方式である、
    ことを特徴とする符号化方法。
  7. 請求項1の符号化方法であって、
    前記第1符号化方式は、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、前記所定個数のサンプルを前記量子化正規化値で正規化して得られる所定個数の正規化サンプルを、前記所定個数の正規化サンプルのうち一部の正規化サンプルに対応する量子化値が0以外となり、残りの正規化サンプルに対応する量子化値が0となるベクトル量子化方式でベクトル量子化してベクトル量子化インデックスを求める方式である、
    ことを特徴とする符号化方法。
  8. 請求項1の符号化方法であって、
    前記第2符号化方式は、前記減算値が正でない場合に0を前記各サンプルに対応する量子化対象値とする処理を含む方式である、
    ことを特徴とする符号化方法。
  9. 入力されたモード情報が第2値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各前記復号値が0の場合には所定個数の前記復号値の絶対値の和が大きいほど小さい値を取る正規化再計算値に対応する大きさを持つ値を復号信号とし、各前記復号値が正の場合には前記各復号値と前記復号正規化値との線形和を復号信号とし、各前記復号値が負の場合には前記各復号値の絶対値と前記復号正規化値との線形和の正負反転値を復号信号とする第2復号方式を選択し、前記モード情報が第1値である場合に別の第1復号方式を選択する切り替えステップと、
    前記切り替えステップで選択された前記第1復号方式又は前記第2復号方式で復号処理を行う復号ステップと、
    を有する復号方法。
  10. 入力された所定個数のサンプルが含む当該サンプルに対応する値の大きさが第1基準値よりも小さなサンプルの個数に対応する評価値が第2基準値よりも小さい又は前記第2基準値以下である場合に、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、各前記サンプルの値の大きさに対応する値から前記量子化正規化値に対応する値を減算した減算値が正であり前記各サンプルの値が正の場合にはその減算値を前記各サンプルに対応する量子化対象値とし、前記減算値が正であり前記各サンプルの値が負の場合にはその減算値の正負を反転させた値を前記各サンプルに対応する量子化対象値とし、前記量子化対象値を複数個まとめてベクトル量子化してベクトル量子化インデックスを求める第2符号化方式を選択し、前記第2符号化方式を選択しない場合に別の第1符号化方式を選択し、選択した符号化方式を表すモード情報を生成する符号化方式選択部と、
    前記符号化方式選択部で選択された前記第1符号化方式又は前記第2符号化方式で前記所定個数のサンプルを符号化する符号化部と、
    を有する符号化装置。
  11. 請求項10の符号化装置であって、
    前記評価値の少なくとも一部は、前記サンプルに対応する値の大きさが前記第1基準値よりも小さなサンプルの個数と、前回計算された評価値と、の重み付き加算値である、
    ことを特徴とする符号化装置。
  12. 請求項10又は11の符号化装置であって、
    前回の所定個数のサンプルが前記第1符号化方式で符号化された場合の前記第2基準値の大きさは、前回の所定個数のサンプルが前記第2符号化方式で符号化された場合の前記第2基準値の大きさよりも小さい、
    ことを特徴とする符号化装置。
  13. 請求項12の符号化装置であって、
    前記評価値は、前記所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが前記第1基準値よりも小さなサンプルの個数に対応する値である、
    ことを特徴とする符号化装置。
  14. 請求項10又は11の符号化装置であって、
    前記評価値は、前記所定個数のサンプルのうち、聴覚特性に基づいた基準を満たすサンプルを含むサンプルであって、なおかつ、当該サンプルに対応する値の大きさが前記第1基準値よりも小さなサンプルの個数に対応する値である、
    ことを特徴とする符号化装置。
  15. 請求項10の符号化装置であって、
    前記第1符号化方式は、前記所定個数のサンプルのうち一部のサンプルに対応する量子化値が0以外となり、残りのサンプルに対応する量子化値が0となるベクトル量子化方式でベクトル量子化してベクトル量子化インデックスを求める方式である、
    ことを特徴とする符号化装置。
  16. 請求項10の符号化装置であって、
    前記第1符号化方式は、前記所定個数のサンプルを代表する値である正規化値を量子化した量子化正規化値及びその量子化正規化値に対応する正規化値量子化インデックスを求め、前記所定個数のサンプルを前記量子化正規化値で正規化して得られる所定個数の正規化サンプルを、前記所定個数の正規化サンプルのうち一部の正規化サンプルに対応する量子化値が0以外となり、残りの正規化サンプルに対応する量子化値が0となるベクトル量子化方式でベクトル量子化してベクトル量子化インデックスを求める方式である、
    ことを特徴とする符号化装置。
  17. 請求項10の符号化装置であって、
    前記第2符号化方式は、前記減算値が正でない場合に0を前記各サンプルに対応する量子化対象値とする処理を含む方式である、
    ことを特徴とする符号化装置。
  18. 入力されたモード情報が第2値である場合に、入力された正規化値量子化インデックスに対応する復号正規化値を求め、入力されたベクトル量子化インデックスに対応する複数の値を求めて複数の復号値とし、各上記復号値が0の場合には所定個数の前記復号値の絶対値の和が大きいほど小さい値を取る正規化再計算値に対応する大きさを持つ値を復号信号とし、各前記復号値が正の場合には前記各復号値と前記復号正規化値との線形和を復号信号とし、各前記復号値が負の場合には前記各復号値の絶対値と前記復号正規化値との線形和の正負反転値を復号信号とする第2復号方式を選択し、前記モード情報が第1値である場合に別の第1復号方式を選択する切り替え部と、
    前記切り替え部で選択された前記第1復号方式又は前記第2復号方式で復号処理を行う復号部と、
    を有する復号装置。
  19. 請求項1の符号化方法の各ステップをコンピュータに実行させるためのプログラム。
  20. 請求項9の復号方法の各ステップをコンピュータに実行させるためのプログラム。
  21. 請求項1の符号化方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
  22. 請求項9の復号方法の各ステップをコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
JP2012523857A 2010-07-05 2011-07-04 符号化方法、復号方法、装置、プログラムおよび記録媒体 Active JP5331249B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012523857A JP5331249B2 (ja) 2010-07-05 2011-07-04 符号化方法、復号方法、装置、プログラムおよび記録媒体

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010152951 2010-07-05
JP2010152951 2010-07-05
JP2012523857A JP5331249B2 (ja) 2010-07-05 2011-07-04 符号化方法、復号方法、装置、プログラムおよび記録媒体
PCT/JP2011/065274 WO2012005210A1 (ja) 2010-07-05 2011-07-04 符号化方法、復号方法、装置、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JPWO2012005210A1 true JPWO2012005210A1 (ja) 2013-09-02
JP5331249B2 JP5331249B2 (ja) 2013-10-30

Family

ID=45441189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012523857A Active JP5331249B2 (ja) 2010-07-05 2011-07-04 符号化方法、復号方法、装置、プログラムおよび記録媒体

Country Status (7)

Country Link
US (1) US20130114733A1 (ja)
EP (1) EP2573942B1 (ja)
JP (1) JP5331249B2 (ja)
CN (1) CN102959873A (ja)
CA (1) CA2803272A1 (ja)
ES (1) ES2559981T3 (ja)
WO (1) WO2012005210A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010036159A1 (en) * 2008-09-24 2010-04-01 Telefonaktiebolaget L M Ericsson (Publ) Mu-comp channel state normalization measure quantization and transmission
US9224398B2 (en) * 2010-07-01 2015-12-29 Nokia Technologies Oy Compressed sampling audio apparatus
PT3058567T (pt) * 2013-10-18 2017-07-27 ERICSSON TELEFON AB L M (publ) Codificação de posições de picos espectrais
JP6389525B2 (ja) * 2014-02-27 2018-09-12 テレフオンアクチーボラゲット エルエム エリクソン(パブル) オーディオ/ビデオサンプルベクトルのピラミッドベクトル量子化インデクシング及びデインデクシングの方法及び装置
CN107424621B (zh) * 2014-06-24 2021-10-26 华为技术有限公司 音频编码方法和装置
WO2016162283A1 (en) * 2015-04-07 2016-10-13 Dolby International Ab Audio coding with range extension
US10091506B2 (en) * 2015-06-11 2018-10-02 Sony Corporation Data-charge phase data compression architecture
US10027968B2 (en) * 2015-06-12 2018-07-17 Sony Corporation Data-charge phase data compression tool
CN108932944B (zh) * 2017-10-23 2021-07-30 北京猎户星空科技有限公司 解码方法及装置
JP7176418B2 (ja) * 2019-01-17 2022-11-22 日本電信電話株式会社 多地点制御方法、装置及びプログラム
CN117373465B (zh) * 2023-12-08 2024-04-09 富迪科技(南京)有限公司 一种语音频信号切换系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3087814B2 (ja) * 1994-03-17 2000-09-11 日本電信電話株式会社 音響信号変換符号化装置および復号化装置
US7460990B2 (en) * 2004-01-23 2008-12-02 Microsoft Corporation Efficient coding of digital media spectral data using wide-sense perceptual similarity
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
CN101548316B (zh) * 2006-12-13 2012-05-23 松下电器产业株式会社 编码装置、解码装置以及其方法
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US7761290B2 (en) * 2007-06-15 2010-07-20 Microsoft Corporation Flexible frequency and time partitioning in perceptual transform coding of audio
US8527265B2 (en) * 2007-10-22 2013-09-03 Qualcomm Incorporated Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs
US8515767B2 (en) * 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
US8724734B2 (en) * 2008-01-24 2014-05-13 Nippon Telegraph And Telephone Corporation Coding method, decoding method, apparatuses thereof, programs thereof, and recording medium
JP5355244B2 (ja) * 2009-06-23 2013-11-27 日本電信電話株式会社 符号化方法、復号方法、符号化器、復号器およびプログラム
JP5336943B2 (ja) * 2009-06-23 2013-11-06 日本電信電話株式会社 符号化方法、復号方法、符号化器、復号器、プログラム
JP5361565B2 (ja) * 2009-06-23 2013-12-04 日本電信電話株式会社 符号化方法、復号方法、符号化器、復号器およびプログラム
JP5336942B2 (ja) * 2009-06-23 2013-11-06 日本電信電話株式会社 符号化方法、復号方法、符号化器、復号器、プログラム
EP2525354B1 (en) * 2010-01-13 2015-04-22 Panasonic Intellectual Property Corporation of America Encoding device and encoding method
WO2011111453A1 (ja) * 2010-03-09 2011-09-15 日本電信電話株式会社 符号化方法、復号方法、装置、プログラム及び記録媒体
WO2011155144A1 (ja) * 2010-06-11 2011-12-15 パナソニック株式会社 復号装置、符号化装置及びこれらの方法
US8831933B2 (en) * 2010-07-30 2014-09-09 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for multi-stage shape vector quantization

Also Published As

Publication number Publication date
WO2012005210A1 (ja) 2012-01-12
EP2573942B1 (en) 2015-12-16
JP5331249B2 (ja) 2013-10-30
CA2803272A1 (en) 2012-01-12
ES2559981T3 (es) 2016-02-17
US20130114733A1 (en) 2013-05-09
EP2573942A4 (en) 2014-08-13
CN102959873A (zh) 2013-03-06
EP2573942A1 (en) 2013-03-27

Similar Documents

Publication Publication Date Title
JP5331249B2 (ja) 符号化方法、復号方法、装置、プログラムおよび記録媒体
JP6951536B2 (ja) 音声符号化装置および方法
TW201729181A (zh) 產生高頻雜訊的方法
TW201324500A (zh) 無損編碼方法、音訊編碼方法、無損解碼方法以及音訊解碼方法
JP5256375B2 (ja) 符号化方法、復号方法、装置、プログラム及び記録媒体
JP5331248B2 (ja) 符号化方法、復号方法、装置、プログラム及び記録媒体
EP3128513A1 (en) Encoder, decoder, encoding method, decoding method, and program
US9838700B2 (en) Encoding apparatus, decoding apparatus, and method and program for the same
JP5544370B2 (ja) 符号化装置、復号装置およびこれらの方法
JP5337305B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体
JP5325340B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、プログラム、及び記録媒体
JP6289627B2 (ja) 信号の符号化および復号化の方法および装置
WO2015146224A1 (ja) 符号化方法、符号化装置、プログラム、および記録媒体
US10224049B2 (en) Apparatuses and methods for encoding and decoding a time-series sound signal by obtaining a plurality of codes and encoding and decoding distortions corresponding to the codes
JP5361565B2 (ja) 符号化方法、復号方法、符号化器、復号器およびプログラム
WO2011045927A1 (ja) 符号化装置、復号装置およびこれらの方法
WO2018073486A1 (en) Low-delay audio coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130619

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: 20130716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130726

R150 Certificate of patent or registration of utility model

Ref document number: 5331249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350