特許第5964897号(P5964897)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

5964897音符号化システム及び符号化装置、復号化装置
<>
  • 5964897-音符号化システム及び符号化装置、復号化装置 図000044
  • 5964897-音符号化システム及び符号化装置、復号化装置 図000045
  • 5964897-音符号化システム及び符号化装置、復号化装置 図000046
  • 5964897-音符号化システム及び符号化装置、復号化装置 図000047
  • 5964897-音符号化システム及び符号化装置、復号化装置 図000048
  • 5964897-音符号化システム及び符号化装置、復号化装置 図000049
  • 5964897-音符号化システム及び符号化装置、復号化装置 図000050
  • 5964897-音符号化システム及び符号化装置、復号化装置 図000051
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5964897
(24)【登録日】2016年7月8日
(45)【発行日】2016年8月3日
(54)【発明の名称】音符号化システム及び符号化装置、復号化装置
(51)【国際特許分類】
   G10L 19/16 20130101AFI20160721BHJP
   G06F 7/556 20060101ALN20160721BHJP
   G06F 17/17 20060101ALN20160721BHJP
【FI】
   G10L19/16 100Z
   !G06F7/556 A
   !G06F17/17
【請求項の数】11
【全頁数】33
(21)【出願番号】特願2014-151276(P2014-151276)
(22)【出願日】2014年7月24日
(65)【公開番号】特開2016-24450(P2016-24450A)
(43)【公開日】2016年2月8日
【審査請求日】2014年11月14日
(73)【特許権者】
【識別番号】390005223
【氏名又は名称】株式会社タムラ製作所
(74)【代理人】
【識別番号】100081961
【弁理士】
【氏名又は名称】木内 光春
(72)【発明者】
【氏名】蒔田 憲和
【審査官】 大野 弘
(56)【参考文献】
【文献】 特開2009−210644(JP,A)
【文献】 特開平09−159445(JP,A)
【文献】 特開2002−215608(JP,A)
【文献】 特開平06−274613(JP,A)
【文献】 特開2013−025467(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 19/16
G06F 7/556
G06F 17/17
(57)【特許請求の範囲】
【請求項1】
入力された音を符号化する符号化装置と、
入力された音符号を復号化する復号化装置と、
前記符号化装置が出力した音符号を前記復号化装置に伝送する伝送媒体と、
前記符号化装置及び前記復号化装置のそれぞれに備えられ、対数関数を含む関数を近似対象として、これに近似する関数を演算する演算部を備えた演算装置と、
を備え、
前記符号化装置及び前記復号化装置は、前記演算装置として、音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有し、
前記適応正規化部は、前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、近似対象となる関数を、当該関数上の複数の点を線分で結んだ前記近似対象となる関数値を上回らない折れ線関数により近似すること、
を特徴とする音符号化システム
【請求項2】
前記適応正規化部は、前記近似対象となる関数から、当該関数上の複数の点を線分で結んで得られる折れ線関数を引いたものの近似誤差が最小となる前記複数の点を求め、この複数の点を折れ線関数の各線分の端点として前記上回らない折れ線関数を求めること、
を特徴する請求項1に記載の音符号化システム
【請求項3】
入力された音を符号化する符号化装置と、
入力された音符号を復号化する復号化装置と、
前記符号化装置が出力した音符号を前記復号化装置に伝送する伝送媒体と、
前記符号化装置及び前記復号化装置のそれぞれに備えられ、対数関数を含む関数を近似対象として、これに近似する関数を演算する演算部を備えた演算装置と、
を備え、
前記符号化装置及び前記復号化装置は、前記演算装置として、音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有し、
前記適応正規化部は、前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、近似対象となる関数を、当該関数上の複数の点を線分で結んだ前記近似対象となる関数値を下回らない折れ線関数により近似すること、
を特徴とする音符号化システム
【請求項4】
前記下回らない折れ線関数は、各線分が、その定義域内で前記複数の点として前記近似対象となる関数との接点を有する接線であり、
前記適応正規化部は、前記接点を、その接点が乗る線分とこれに隣接する両線分による前記近似対象となる関数との近似誤差が最小となるように求めること、
を特徴とする請求項3に記載の音符号化システム
【請求項5】
入力された音を符号化する符号化装置と、
入力された音符号を復号化する復号化装置と、
前記符号化装置が出力した音符号を前記復号化装置に伝送する伝送媒体と、
前記符号化装置及び前記復号化装置のそれぞれに備えられ、対数関数を含む関数を近似対象として、これに近似する関数を演算する演算部を備えた演算装置と、
を備え、
前記符号化装置及び前記復号化装置は、前記演算装置として、音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有し、
前記適応正規化部は、前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、近似対象となる関数を、当該関数と交差する線分を含んでなる折れ線関数により近似し、
前記折れ線関数は、端点(x,y)と(xn+1,yn+1)を持つ線分Sを式(1)で表し、この線分Sによる区分誤差評価関数Eを式(2)で表した場合に、式(3)の誤差評価関数Eを最小化したときに得られるものであること、
を特徴とする音符号化システム
N:線分数、x:線分上のx座標、y:線分上のy座標
【数1】
【数2】
【数3】
【請求項6】
入力された音を符号化する符号化装置であって、
音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有し、
前記適応正規化部は、
対数関数を含む関数を近似対象として、これに近似する関数を演算し、
前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、
近似対象となる関数を、当該関数上の複数の点を線分で結んだ前記近似対象となる関数値を上回らない折れ線関数により近似すること、
を特徴とする符号化装置。
【請求項7】
入力された音符号を復号化する復号化装置であって、
音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有し、
前記適応正規化部は、
対数関数を含む関数を近似対象として、これに近似する関数を演算し、
前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、
近似対象となる関数を、当該関数上の複数の点を線分で結んだ前記近似対象となる関数値を上回らない折れ線関数により近似すること、
を特徴とする復号化装置。
【請求項8】
入力された音を符号化する符号化装置であって、
音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有し、
前記適応正規化部は、
対数関数を含む関数を近似対象として、これに近似する関数を演算し、
前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、
近似対象となる関数を、当該関数上の複数の点を線分で結んだ前記近似対象となる関数値を下回らない折れ線関数により近似すること、
を特徴とする符号化装置。
【請求項9】
入力された音符号を復号化する復号化装置であって、
音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有し、
前記適応正規化部は、
対数関数を含む関数を近似対象として、これに近似する関数を演算し、
前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、
近似対象となる関数を、当該関数上の複数の点を線分で結んだ前記近似対象となる関数値を下回らない折れ線関数により近似すること、
を特徴とする復号化装置。
【請求項10】
入力された音を符号化する符号化装置であって、
音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有し、
前記適応正規化部は、
対数関数を含む関数を近似対象として、これに近似する関数を演算し、
前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、
近似対象となる関数を、当該関数と交差する線分を含んでなる折れ線関数により近似し、
前記折れ線関数は、端点(x,y)と(xn+1,yn+1)を持つ線分Sを式(1)で表し、この線分Sによる区分誤差評価関数Eを式(2)で表した場合に、式(3)の誤差評価関数Eを最小化したときに得られるものであること、
を特徴とする符号化装置。
N:線分数、x:線分上のx座標、y:線分上のy座標
【数1】
【数2】
【数3】
【請求項11】
入力された音を符号化する復号化装置であって、
音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有し、
前記適応正規化部は、
対数関数を含む関数を近似対象として、これに近似する関数を演算し、
前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、
近似対象となる関数を、当該関数と交差する線分を含んでなる折れ線関数により近似し、
前記折れ線関数は、端点(x,y)と(xn+1,yn+1)を持つ線分Sを式(1)で表し、この線分Sによる区分誤差評価関数Eを式(2)で表した場合に、式(3)の誤差評価関数Eを最小化したときに得られるものであること、
を特徴とする復号化装置。
N:線分数、x:線分上のx座標、y:線分上のy座標
【数1】
【数2】
【数3】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対数関数を含む関数を近似して演算する演算装置、及び当該演算装置を適用した適応差分パルス符号変調(ADPCM:Adpative Differntial Pulse Code Modulation)を用いた音符号化システムに関する。
【背景技術】
【0002】
携帯電話やワイヤレスマイクなど、音声を伝送する際にはアナログである音をデジタル化し、デジタル音声信号に圧縮して伝送する方法が採られている。このデジタル音声信号の圧縮方式としては、デジタル音声が近接するサンプル間で高い相関を持つ性質を利用した方式が多く提案されており、DPCM(差分パルス符号変調:Differntial Pulse Code Modulation)方式やADPCM方式が知られている。
【0003】
何れの方式を用いる音声符号化システムの場合も、入力された音声を符号化する音声符号化装置と、符号化された音声を復号する音声復号化装置とを備える。何れの方式も、音声符号化装置において、サンプリングされた実際のデジタル音声とその予測値との差分によって予測誤差を求め、この予測誤差を量子化及び符号化して伝送路を介して音声復号化装置に伝送する。音声復号化装置ではこの符号化されたものを復号した音声と、サンプリングされた実際のデジタル音声の予測値とを加算して入力された音声を再生する。このように、何れの方式も差分情報のみを伝送し、伝送先で入力音声を復元する構成となっているので、伝送する情報量を少なくすることができる利点がある。
【0004】
一方、DPCM方式とADPCM方式には次のような違いがある。すなわち、DPCM方式では、上記の予測誤差は、サンプリングされた現在時刻の標本値と、その一つ前の標本値との差分としている。この差分値を一定の量子化単位で量子化している。音声復号化装置では、伝送され復号した予測誤差に現在時刻から1標本時間だけ遅延させたデジタル音声を加算することで音声を再生する。
【0005】
一方、ADPCM方式では、ITU−T G.726に代表されるように、音声信号のレベルが時間変動するため、量子化する際に一定の量子化単位で量子化するよりも、音声レベルの大小に応じてステップサイズを変えながら適応的に量子化する。すなわち、レベルの大きい音声信号は大きなステップサイズで大まかに量子化し、レベルの小さな音声信号は小さなステップサイズで細かく量子化する。このようにすることで、量子化する際に発生する量子化誤差を小さくすることができ、より正確な音声の再現が可能となる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−150480号公報
【特許文献2】国際公開第2004/112256号
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、ITU−T G.726に代表される従来のADPCM方式を用いた音声符号化システムでは、予測誤差を符号化する際に、予測誤差の絶対値xを対数化している。その際、その対数を整数部xと小数部xとに分解する。すなわち、logx=x+xとして、整数部xと小数部xとを求めている。ここで、整数部xは、xと2の大小をk=0から比較し、xを超えない最大の2による指数kとして求めている。一方、小数部xは、演算量を少なくする観点から、x=log(1+x)と近似して求めている。
【0008】
しかし、この近似は、演算量を少なくする観点からなされたものであるため、必ずしも精度の良いものではなかった。そのため、従来のADPCM方式を用いた音声符号化システムでは、再現できる音声の音質が劣化してしまう虞があった。
【0009】
さらに、このような精度の悪い近似は、上記の近似方法に限らず、演算過程で対数関数を近似する一般の演算装置に対しても、同様に行われうるものである。
【0010】
本発明は、上記のような課題を解決するためになされたものであり、演算過程に対数関数を近似する演算を含む場合に、精度良く近似することのできる演算装置及びこの演算装置を用いた音符号化システムを提供することにある。
【課題を解決するための手段】
【0011】
本発明の音符号化システムは、次の構成を備えることを特徴とする。
(1)入力された音を符号化する符号化装置。
(2)入力された音符号を復号化する復号化装置。
(3)前記符号化装置が出力した音符号を前記復号化装置に伝送する伝送媒体。
(4)前記符号化装置及び前記復号化装置のそれぞれに備えられ、対数関数を含む関数を近似対象として、これに近似する関数を演算する演算部を備えた演算装置
(5)前記符号化装置及び前記復号化装置は、前記演算装置として、音情報とこの音情報の予測値との差分である予測誤差と、この予測誤差の予測値とに基づいて予測誤差を正規化した正規化予測誤差を求める適応正規化部を有すること。
(6)前記適応正規化部は、前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、近似対象となる関数を、当該関数上の複数の点を線分で結んだ前記近似対象となる関数値を上回らない折れ線関数により近似すること。
【0012】
また、次の構成を備えるようにしても良い。
前記適応正規化部は、近似対象となる関数から、当該関数上の複数の点を線分で結んで得られる折れ線関数を引いたものの近似誤差が最小となる複数の点を求め、この複数の点を折れ線関数の各線分の端点として上回らない折れ線関数を求めること。
【0013】
また、本発明の音符号化システムは、上記(1)〜(5)の構成と、次の構成を備えることを特徴とする。
(6’)前記適応正規化部は、前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、近似対象となる関数を、当該関数上の複数の点を線分で結んだ前記近似対象となる関数値を下回らない折れ線関数により近似すること。
【0014】
また、次の構成を備えるようにしても良い。
7’)前記下回らない折れ線関数は、各線分が、その定義域内で前記複数の点として前記近似対象となる関数との接点を有する接線であり、前記適応正規化部は、前記接点を、その接点が乗る線分とこれに隣接する両線分による前記近似対象となる関数との近似誤差が最小となるように求めること。
【0015】
また、本発明の音符号化システムは、上記(1)〜(5)の構成と、次の構成を備えることを特徴とする。
(6’’)前記適応正規化部は、前記正規化予測誤差を求める関数に、前記予測誤差の絶対値の対数関数を含み、近似対象となる関数を、当該関数と交差する線分を含んでなる折れ線関数により近似し、折れ線関数は、端点(x,y)と(xn+1,yn+1)を持つ線分Sを式(31)で表し、この線分Sによる区分誤差評価関数Eを式(32)で表した場合に、式(33)の誤差評価関数Eを最小化したときに得られるものであること。
【発明の効果】
【0018】
本発明によれば、近似精度を向上させることのできる演算装置、及び当該演算装置を適用した音符号化システムを得ることができる。
【図面の簡単な説明】
【0019】
図1】第1の実施形態に係る音符号化システムの全体構成を示す図である。
図2】第1の実施形態に係るエンコーダ及びデコーダの概略構成を示す図である。
図3】第1の実施形態に係る適応正規化部を示す図である。
図4】上回らない折れ線近似を説明するためのグラフである。
図5】下回らない折れ線近似を説明するためのグラフである。
図6】線分数又は節点数に対する近似誤差の二乗平均値を両対数軸にプロットしたグラフである。
図7】符号化装置の動作フローチャートである。
図8】復号化装置の動作フローチャートである。
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明の実施形態の音符号化システムについて説明する。
【0021】
[1.第1の実施形態]
[1−1.概略構成]
図1は、本実施形態に係る音符号化システムの全体構成を示す図である。本音符号化システムは、符号化装置10、復号化装置20、及び符号された音情報を伝送する伝送媒体30を備えている。
【0022】
符号化装置10は、システム外部から入力されたアナログ信号である音やデジタル信号を符号化し、音符号を含む情報として出力する。符号化装置10と復号化装置20は伝送媒体30を介して接続されており、伝送媒体30は、符号化装置10から出力された音符号を含む情報を復号化装置20へ伝送する。復号化装置20は、符号化装置10から伝送された音符号を含む情報をアナログ信号に復号し、本システム外部へ出力する。本音符号化システムは、例えば、ワイヤレスマイクシステムに用いることができる。
【0023】
[1−2.各部構成]
(符号化装置)
符号化装置10は、ユーザインターフェイスUI11、外部接続I/F12、制御部13、記憶部14、音入力I/F15、エンコーダ16、及び符号出力I/F17を備えている。
【0024】
ユーザインターフェイスUI11は、図示しない操作入力部と状態出力部を有し、本システムとユーザとのインターフェイスを提供する。操作入力部は、スイッチやモーションセンサなどの検出器によりユーザが要求する操作を検出し、制御部13へ伝達する。状態出力部は、LEDやLCDなどの表示器や、バイブレータによる振動、スピーカによる音声出力などにより装置の内部状態を出力し、ユーザへのフィードバックを与える。
【0025】
内部状態の出力としては、例えば、表示器に後述するエンコーダ16の駆動に用いられているパラメータの表示を行うことができる。また、システムに入力される音源が変更される等の理由でユーザの要求により当該音源に適したパラメータに変更する場合は、操作入力部によりユーザ所望のパラメータを受け付けて制御信号として制御部13へ出力し、制御部13への当該信号の入力を契機として制御部13によりシステム各部のパラメータを変更する。なお、ユーザインターフェイスUI11は、操作入力部か状態出力部のいずれか一方のみを実装するようにしても良い。また、操作入力部がタッチパネル及び表示器を備え、記憶部14に記憶された複数のパラメータを表示し、ユーザによるパラメータの選択を受け付けるようにしても良いし、当該表示器にエンコーダ16の駆動に用いられるパラメータも表示しても良い。パラメータの表示は、パラメータに一意に対応した識別子を表示しても良いし、エンコーダ16内の各処理部に区分けして表示しても良い。
【0026】
外部接続I/F12は、外部接続装置とのインターフェイスを提供する。外部接続I/F12と外部接続装置との接続媒体は有線又は無線である。外部接続装置は、外部接続I/F12を介して本システムの内部状態を取得し、また動作制御を行うことができるものを用いる。外部接続装置としては、コンピュータやモバイル端末などが挙げられる。外部接続装置は、エンコーダ16内部の処理部で用いられるパラメータを有し、当該パラメータを外部接続I/F12を介して記憶部13に入力し記憶させるようにしても良い。なお、外部接続装置はそのパラメータを予め保持していても良いし、取得した本システムの内部状態から別途生成するようにしても良い。また、外部接続装置は、エンコーダ16内の処理部のパラメータを取得するようにしても良く、さらに当該パラメータを保持して記憶部13への入力のために用いても良い。
【0027】
制御部13は、ユーザインターフェイスUI11、外部接続I/F12、記憶部14、音入力I/F15、エンコーダ16、及び符号出力I/F17とそれぞれ接続されており、制御手段として機能する。すなわち、制御部13は、本システムの内部状態の管理、各部動作制御、並びに、外部接続I/F12、音入力I/F15、及び符号出力I/F17との通信を行う。
【0028】
制御部13は、起動時に本システム各部の内部状態をリセットする。また、各部からの要求若しくは特定の内部状態の検出により、予め指定された内部状態をリセットし、本システム全体若しくは所定の部位を再起動させても良い。また、各部からの要求若しくは特定の内部状態の検出により、所定のパラメータを記憶部14から参照し、後述する所定の動作制御I/Fのパラメータを動的に更新しても良い。なお、各部からの要求には、ユーザインターフェイスUI11を介したユーザからの要求と、外部接続装置からの要求と、処理部からの要求との少なくともいずれかを含む。さらに、外部から動的に入力されたパラメータを含め、パラメータが正当であるか、後述のエンコーダ16及びデコーダ26とで共通のパラメータが整合しているかの確認をし、各部へ確認結果を通知しても良い。
【0029】
制御部13は、音や音情報、音符号を各部が入出力するための周期的なタイミングを生成し、各部にそのタイミングを与える。或いは、周期的なタイミング以外にも、各部の動作に必要となる所定のタイミングを生成しても良い。また、制御部13は、音情報や音符号など情報全般の記憶部14への蓄積、及び記憶部14からその蓄積した情報の各部への転送を行う。
【0030】
記憶部14は、内部状態や各部の動作を決める複数種類のパラメータを記憶し、制御部13を介して又は直接それらの情報の参照と更新を行う。この複数種類のパラメータは、複数の音源に対応したものであり、これらのパラメータの中から少なくとも何れかのパラメータが、後述のエンコーダ16及びデコーダ26の処理部において、音情報や音符号などの処理に用いられる。記憶部14は、個別にパラメータを参照と更新を行えるようにしても良く、各パラメータを一意に識別する識別値を各パラメータに紐付けて記憶しても良い。また、状態変化の履歴や音情報、音符号を蓄積して記憶するようにしても良い。
【0031】
音入力I/F15は、本システム外部の音源の音を所定のタイミングで入力して時系列の音情報に変換し、出力する。音入力I/F15は、例えばマイクなどの音響的トランスデューサーを有し、到来した音を所定のパラメータに応じて電気信号化し、音情報として出力する。この音情報は、エンコーダ16及び/又は制御部13へ出力される。なお、音入力I/F15は、音情報をプリエンファシス処理などにより変換してもよいし、外部接続装置からの音情報を直接入出力するようにしても良い。
【0032】
エンコーダ16は、入力された音情報を変換して音符号として出力する。すなわち、音入力I/F15から入力された音情報を量子化及び符号化し、音符号として符号出力I/F17及び制御部13に出力する。このエンコーダ16の詳細な構成は後述する。
【0033】
符号出力I/F17は、エンコーダ16から入力された音符号を所定のタイミングで伝送媒体30へ出力する。なお、符号出力I/F17は、音符号の出力タイミングと同期させるための情報、例えば音符号をフレーミングして出力する場合のフレーム同期信号等を併せて制御部13に出力しても良い。また、符号出力I/F17は、音符号に関連する又は独立した情報を併せて出力しても良いし、制御部13経由で記憶部14に蓄積された音符号を、制御部13を介して所定のタイミングで出力するようにしても良い。
【0034】
(伝送媒体)
伝送媒体30は、符号化装置10の符号出力I/F17から出力される音符号を含む情報を、復号化装置20の後述する符号入力I/F25へ出力する。伝送媒体30は、有線であっても無線であっても良い。また、伝送媒体30の伝送は、逐次伝送する実時間伝送形式であっても、記憶装置などに蓄積し、蓄積したものを順次伝送する蓄積形式であっても良い。
【0035】
(復号化装置)
復号化装置20は、ユーザインターフェイスUI21、外部接続I/F22、制御部23、記憶部24、符号入力I/F25、デコーダ26、及び音出力I/F27を備えている。ユーザインターフェイスUI21、外部接続I/F22、制御部23、及び記憶部24については、符号化装置10のユーザインターフェイスUI11、外部接続I/F12、制御部13、及び記憶部14とそれぞれ同様の構成であるため、その説明は省略する。
【0036】
符号入力I/F25は、伝送媒体30から音符号を含む情報を所定のタイミングで入力し、デコーダ26及び/又は制御部23へ出力する。なお、符号入力I/F25は、入力情報に含まれる音符号とのタイミング同期信号を制御部23へ出力するようにしても良いし、入力情報に含まれる音符号に関連する又は独立した情報を制御部23へ出力するようにしても良い。また、符号入力I/F25は、伝送媒体30が蓄積形式である場合、所定のタイミングで順次伝送媒体30から音符号を含む情報を入力する。
【0037】
デコーダ26は、入力された音符号を変換して音情報として音出力I/F27に出力する。デコーダ26の詳細な構成は後述する。
【0038】
音出力I/F27は、デコーダ26から入力された時系列的な音情報を所定のタイミングで本システム外部へ音に変換して出力する。音出力I/F27は、例えば、スピーカなどの音響的トランスデューサーを有し、音情報を所定のパラメータに応じて音に変換して出力する。なお、音出力I/F27は、音情報をデエンファシス処理などにより変換しても良いし、入力された音情報を外部接続装置へ直接出力するようにしても良い。
【0039】
[1−3.エンコーダ及びデコーダの詳細構成]
(エンコーダ)
図2に示すように、エンコーダ16は、前処理部41、加算器42、適応正規化部43、最適量子化部44、最適逆量子化部45、適応予測部46、加算器47、及び後処理部48を有している。
【0040】
これらの各処理部は、動作制御I/F41p、43p〜46p、48pを有し、これらには、各処理部の処理に必要なパラメータが一時的に記憶及び/又は予め格納されている。動作制御I/F41p、43p〜46p、48pは、自身が設けられた処理部の処理に用いられるパラメータが一時的に記憶される。これらの各処理部は、制御部13からの要求に応じて当該パラメータに基づいて、各種の処理を行う。なお、動作制御I/F41p、43p〜46p、48pは、パラメータの記憶を行うので記憶手段と称することもできる。
【0041】
パラメータは、各種の人の音声(老若男女に限らず特定の人物など)や楽器等の音などの複数種の音源に対して、それぞれ最適に設計されている。この各パラメータは、制御部13からの要求に応じて記憶部14に記憶されたパラメータを動的に参照したものを用いても良い。より詳細には、動作制御I/F41p、43p〜46p、48pは、自身が設けられた処理部に入力された音情報又は音符号に応じて、当該処理部で用いるパラメータを更新するための制御信号を制御部13に出力する。そして、制御部13は、記憶部14に記憶されたパラメータの中から当該制御信号に対応するパラメータを参照し、そのパラメータに処理部で用いるパラメータを更新できるようになっている。
【0042】
更新後のパラメータとしては、動作制御I/F41p、43p〜46p、48pに予め格納されたものを用いても良い。さらに、ユーザインターフェイスUI11、12によりユーザからの入力を受け付けたものや、外部接続I/F12、22を介して外部接続装置から入力されたものを用いても良い。
【0043】
このように、エンコーダ16の各部は、パラメータが音源に応じて可変であり、音源に応じて動的にも静的にもできるので、量子化誤差を小さくすることができるとともに、音源に適したコーデックを構成して音質の良い音を得ることができるようになっている。
【0044】
前処理部41は、音入力I/F17若しくは制御部13から入力された音情報に対して所定の処理を行い、その処理された音情報を加算器42に出力する。この所定の処理としては、例えば、所定のパラメータに応じて処理を行っても良いし、入力された音情報をそのまま出力しても良い。また、入力された音情報の振幅をスケーリングして出力しても良いし、その振幅が過大である場合、クリッピングして出力しても良い。
【0045】
加算器42は、前処理部41、適応正規化部43及び適応予測部46と接続されている。前処理部41から入力された音情報と、適応予測部46から入力された音情報の予測値との差分を算出し、この差分を予測誤差として適応正規化部43に出力する。
【0046】
適応正規化部43は、入力された予測誤差とその予測値とに基づいて正規化した正規化予測誤差を算出する。具体的には、適応正規化部43は、最適量子化部44と接続されており、加算器42から入力された予測誤差を正規化関数により正規化予測誤差を求め、最適量子化部44、適応予測部46及び加算器47に出力する。
【0047】
正規化関数は、予測誤差とその予測値との関数である。正規化関数としては、詳しくは後述するが、例えば、後述の式(2)又は式(3)である。正規化関数は、動作制御I/F43pに格納される。なお、動作制御I/F43pに複数の正規化関数がパラメータとして格納されている場合には、制御部13からのパラメータ制御により所望の関数を選択することができる。
【0048】
適応正規化部43は、予測誤差の予測値(以下、正規化係数ともいう。)を後述する式(11)のように、過去を含めて入力された後述の量子正規化予測誤差に応じて予測誤差予測関数により更新する。正規化関数は、所定のパラメータ及び正規化係数に応じて予測誤差を正規化するものである。なお、前述の予測誤差予測関数を含め、本明細書において「過去を含め」とは、更新する次の時刻より前の時刻のことを指し、現在時刻及び現在より前の時刻を含むことをいう。
【0049】
一方、適応正規化部43は、最適逆量子化部45とも接続されており、最適逆量子化部45から入力される後述の量子正規化予測誤差と、その正規化に対応する逆正規化関数により正規化を解き、関数値を量子化予測誤差として適応予測部46及び加算器47に出力する。逆正規化関数は、正規化関数の逆関数であり、所定のパラメータ及び正規化係数に応じて入力値の正規化を解くものである。なお、正規化係数は正規化関数と逆正規化関数とで同一である。
【0050】
正規化係数は、同期収束構造を有する。すなわち、初期値の異なる正規化係数同士は同条件で逐次更新を進めると同一の値に収束する。同期収束構造については詳しくは後述する。
【0051】
適応正規化部43は、異常制御機能を有している。例えば、動作制御I/F43pに所定の閾値を予め格納しておき、正常時にはない予測誤差や量子正規化予測誤差の入力を検出した場合、異常値の伝播を速やかに解消させる機能であり、詳しくは後述する。
【0052】
最適量子化部44は、適応正規化部43から入力された正規化予測誤差を量子化し、対応する音符号を求める。最適量子化部44は、最適逆量子化部45及び後処理部48と接続されており、これらに求めた音符号を出力する。より詳細には、最適量子化部44は、動作制御I/F44pに格納され最適に設計されたパラメータにより量子化し、量子正規化予測誤差に対応する量子化レベルを音符号として出力する。この量子化範囲は、適応的に更新させず、コーデック駆動時で一定である。なお、音符号は、量子正規化予測誤差に対応する値以外に、異常を表すための値としても良い。
【0053】
最適逆量子化部45は、最適量子化部44から入力された音符号に対応する量子化値、すなわち量子正規化予測誤差を出力する。より詳細には、最適逆量子化部45は、動作制御I/F45pに格納され最適に設計されたパラメータにより逆量子化し、量子正規化予測誤差を適応正規化部43に出力する。
【0054】
加算器47は、適応正規化部43、及び適応予測部46と接続されている。加算器47は、適応正規化部43からの量子化予測誤差と、適応予測部46からの予測値とを加算し、得られた音情報を適応予測部46に出力する。なお、この加算して得た音情報は、最終的にデコーダ26が出力する音情報と同じになる。
【0055】
適応予測部46は、過去を含めて入力された量子化予測誤差と過去の復号音情報から、所定のパラメータで規定される後述の適応予測モデルを駆動し、次に入力される音情報の予測値を求め、加算器42、47に出力する。出力した予測値と直前の量子化予測誤差の和が復号音情報となる。適応予測モデルは、予測係数を逐次更新することで入力される音情報系列に適応化していく。予測係数は同期収束構造を有する。すなわち、初期値の異なる予測係数同士は同条件で逐次更新を進めると同一の値に収束する。
【0056】
適応予測部46は、異常制御機能を有している。例えば、動作制御I/F46pに所定の閾値を予め格納しておき、予測値が期待する音情報の振幅範囲を超えて求められた場合、同範囲にクリッピングする機能などであり、詳しくは後述する。
【0057】
後処理部48は、入力された音符号を、動作制御I/F48pに予め格納された所定のパラメータに応じて処理し、その処理された音符号を符号出力I/F17に出力する。当該処理としては、例えば、入力された音符号をそのまま出力する処理や、入力された音符号の正負を反転する処理などが挙げられる。
【0058】
(デコーダ)
図2に示すように、デコーダ26は、前処理部51、最適逆量子化部55、適応正規化部53、適応予測部56、加算器57、及び後処理部58を有している。なお、これらの各部は、動作制御I/F51p、53p、55p、56p、58pを有し、各種の処理とそれぞれ対応したパラメータが格納されている。動作制御I/F51p、53p、55p、56p、58pは、パラメータの記憶を行うので記憶手段と称することもできる。適応正規化部53、最適逆量子化部55及び適応予測部56は、エンコーダ16の適応正規化部43、最適逆量子化部45及び適応予測部46と同様の構成であるので、その説明は省略する。
【0059】
前処理部51は、符号入力I/F25若しくは制御部23から入力された音符号を、動作制御I/F51pに予め格納された所定のパラメータに応じて処理し、その処理された音符号を最適逆量子化部55に出力する。当該処理としては、例えば、入力された音符号をそのまま出力することが挙げられる。また、前処理部51は、例えば、入力された音符号が、動作制御I/F51pに予め格納した異常を示す値であった場合、その旨を制御部23へ通知し、動作制御I/F51pに予め格納したパラメータにより指定された正常な音符号に替えて出力しても良い。
【0060】
後処理部58は、加算器57から入力された復号音情報を、動作制御I/F58pに予め格納された所定のパラメータに応じて処理し、その処理された復号音情報を音出力I/F27に出力する。当該処理としては、例えば、入力された音符号をそのまま出力することが挙げられる。また、後処理部58は、例えば、動作制御I/F58pに所定の閾値を予め格納しておき、入力された復号音情報が期待する音情報の振幅範囲を超えて求められた場合、同範囲にクリッピングして出力するようにしても良い。
【0061】
[1−3.作用]
次に、上記の構成を有する本システムの音符号化及び復号化の作用について説明する。本システムは、エンコーダ16及びデコーダ26の各動作制御I/Fに格納された多様なパラメータにより、その振る舞いや特性が制御される。ここでは、以下の点を前提する。
・所望のシステム性能を満足するように全てのパラメータが最適に設計されているものとする。
・エンコーダ16及びデコーダ26は、予め設計されたサンプリング周波数と音情報の情報量に従って音情報の入出力を行うものとする。
・音情報を時系列に取り扱うため、サンプル番号をkで表し、ある瞬間kにサンプルされた時系列情報sの瞬時情報をs(k)と表現するものとする。
【0062】
[予測誤差]
エンコーダ16の前処理部41から出力された音情報s(k)に対する適応予測部46の予測値p(k)が与えられたとき、予測誤差d(k)は式(1)のように表せる。
【数1】
【0063】
適応予測部46の適応予測モデルが理想的に駆動されているならば、予測誤差は白色化されてそれ以上予測の余地がない。そのためこの場合は直ちに量子化の手続きを踏めば良い。しかし、現実には入力される音情報は非定常であるため予測しきれず、有色性が残存する。また、音情報の時系列によっては準周期性をも呈してしまう。
【0064】
[適応正規化]
そこで、本システムでは、予測誤差をも予測し、予測誤差の予測乖離度d(k)を求めて、より白色化された時系列情報を量子化する。ここで、適応的に予測された予測誤差d(k)の予測値をp(k)とし、予測乖離度d(k)を求める関数をf()で表すと、予測乖離度d(k)は、例えば、式(2)のように、予測誤差をその予測値で除したものとする。p(k)の予測方法は後述するが、理想的に予測誤差の変動を予測できたならば、予測乖離度の期待値E[f(d(k)、p(k))]は1となる。
【数2】
【0065】
或いは、予測乖離度d(k)は、対数ドメインでのd(k)を予測して、f()を比rと予測誤差の符号sを成分とするベクトルを出力する関数として式(3)の通り求めても良い。
【数3】
sgn(x)は、x≧0で1、x<0で−1を出力する符号関数である。なお、関数f()の構造そのものは、予め動作制御I/F43pに格納されたものを用いても良いし、関数f()の構造そのものをパラメータとして制御部13から適応正規化部43に入力し、適応正規化部43を動的に構築するようにしても良い。
【0066】
適応正規化部43は後段の最適量子化部44に予測乖離度を出力するが、量子化構造は適応的に更新させず、コーデック駆動時は一定である。すなわち、最適量子化部44における量子化閾値のリストは制御部13からパラメータとして与えられ、本システムの駆動時では一定である。そのため、予測誤差を正規化により、変動する予測誤差の値を規定の範囲に収まるように変換するわけであるから、この予測乖離度を求めることによる白色化を正規化と称する。すなわち、この予測乖離度d(k)が正規化予測誤差であり、予測値p(k)が正規化係数である。
【0067】
以上のように、適応正規化部43が予測誤差を正規化することにより、予測誤差の分散を小さくすることができる。これにより、正規化した予測誤差(正規化予測誤差=予測乖離度)を規定の範囲に収めることができるので、量子誤差を小さくすることができる。結果として音の質を向上させ、音の再現性を向上させることができる。
【0068】
[最適量子化]
次に、正規化予測誤差を量子化し、対応する音符号を求める。この量子化において量子化レベルLは予め設定されている。音符号は伝送媒体30を介して最終的にデコーダ26に入力されるため、情報量を最大化する目的からも量子化レベルL=2(mは自然数)と設計するのが望ましい。量子化閾値のリストはパラメータとして制御部13から与えられる。量子化閾値は昇順に整列されており、i番目の閾値をqth(i)で表すものとする。
【0069】
量子化区間が量子化範囲で連続であるとすれば、音符号c(x)は式(4)の通り求めることができる。
【数4】
【0070】
音符号c(x)への入力は正規化予測誤差であるため、量子化閾値のドメインも適応正規化部43のドメインと整合をとって設計する。
【0071】
適応正規化部43が対数ドメインで駆動され式(3)が音符号c(x)のxに入力される場合、音符号は式(5)の通り求めることができる。ここで、x.mはベクトルxのm成分を表す。
【数5】
【0072】
一方、量子化区間は不連続であっても良い。この場合、量子化閾値は対象区間の両端の値を指定する。なお、量子化区間の探索には二分探索を用いて探索時間を低減するようにしても良い。
【0073】
また、符号化装置10の各部や復号化装置20でも異常検出が行えるように、量子化とは独立した異常レベルを式(6)のように定義しても良い。式(6)ではc(x)=0が異常レベルに該当する。
【数6】
【0074】
以上のように、最適量子化部44で量子化及び符号化され生成された音符号は、最適逆量子化部45と後処理部48へ出力され、最終的にデコーダ26へ入力される。
【0075】
[最適逆量子化]
最適逆量子化部45は、最適量子化部44から入力された音符号に対応する量子化値、すなわち量子正規化予測誤差を求め、適応正規化部43に出力する。ここで、量子化値のリストは、最適な設計によりパラメータとして制御部13から与えられるが、量子化閾値と対応するものである。量子化値は昇順に整列されており、i番目量子化値をq(i)で表すものとする。
【0076】
量子正規化予測誤差をQ[d(k)]、量子化誤差をe(k)とすれば、量子正規化予測誤差Q[d(k)]と正規化予測誤差d(k)の関係は、式(7)となる。
【数7】
【0077】
量子化区間を最小化することで量子化誤差を最小化できることが分かる。量子化区間を小さくするには、量子化レベルを大きくするか、量子化範囲を小さくすれば良い。すなわち、最適量子化部44へ入力される正規化予測誤差d(k)の分散を小さくすれば良い。このため、量子正規化予測誤差Q[d(k)]は、適応正規化部43へフィードバックされる。
【0078】
[適応逆正規化]
適応正規化部43は、最適逆量子化部45から入力された量子正規化予測誤差Q[d(k)]と予測誤差d(k)の正規化に用いた正規化係数p(k)との関数により正規化を解き、その関数値を量子化予測誤差として適応予測部46に出力する。この関数は、正規化関数の正規化を解くものであるため、正規化関数f()の逆関数f−1()と考えることができる。
【0079】
ここで、正規化予測誤差を式(2)とした場合、量子化予測誤差Q[d(k)]は式(8)の通り表される。
【数8】
【0080】
一方、正規化予測誤差を式(3)の対数ドメインとした場合、量子化予測誤差Q[d(k)]は、音符号も用いて式(9)の通り表される。
【数9】
【0081】
ここで、量子化予測誤差と予測誤差との誤差を検証する。そのために、式(8)を次の式(10)の通り展開する。
【数10】
【0082】
この式(10)から明らかなように、予測誤差に対し、正規化、量子化、逆量子化、及び逆正規化のプロセスを経たことにより、予測誤差にe(k)p(k)だけノイズが付加されることが分かる。また、このノイズを最小化するためには量子化誤差e(k)及び正規化係数p(k)を最小化すれば良いことも分かる。
【0083】
前述の通り、量子化誤差e(k)を小さくするためには、量子化レベルが一定の条件下では正規化予測誤差d(k)の分散が小さいほど良い。正規化係数p(k)を最小化するためには、予測誤差を最小化することに加えて、理想的に予測誤差を予測できれば良い。
【0084】
これらの最適化を実現するため、適応正規化部43は入力される予測誤差d(k)を適応的に予測する必要がある。ここで、デコーダ26へは音符号が入力されるため、予測誤差d(k)の予測構造が同期収束制御されなければエンコーダ16とデコーダ26の内部状態が不一致のまま進行し、期待したとおりの音は復元されなくなる。
【0085】
そのため、予測誤差d(k)の予測構造としては、同期収束構造を備える必要がある。そこで、上記の通り、予測誤差d(k)の予測値は正規化係数p(k)であるから、正規化係数p(k)に同期収束構造を与える。
【0086】
すなわち、正規化係数p(k+1)は過去を含めた量子正規化予測誤差Q[d(k)]及び正規化係数p(k)から、式(11)の形式の予測誤差予測関数P()で更新される。
【数11】
【0087】
予測誤差予測関数P()は同期収束構造を備え、例えば、量子正規化予測誤差Q[d(k)]及び正規化係数p(k)の線形結合として表すことができる。この関数P()は、内部状態が異なる同構造の複数システムに同一の入力を時系列に与えていくと、システムの時定数に応じて全システムの内部状態が同期し、同一状態へ収束する制御構造を有する。なお、量子正規化予測誤差及び正規化係数の初期値は予め設定しておく。
【0088】
より詳細には、予測誤差予測関数P()は、次の特徴を有する。
(i) 利得項と減衰項を含み構成される。
(ii) 量子正規化予測誤差の正負で利得項が異なる。
(iii) 過去を含む量子正規化予測誤差で利得項が異なる。
(iv) 過去を含む量子正規化予測誤差に比例した利得率
(v) 過去を含む量子正規化予測誤差の変化量で利得項が異なる。
(vi) 過去を含む量子正規化予測誤差の変化量に比例した利得率
(vii) 過去を含む正規化係数に比例した減衰率
(viii) 量子正規化予測誤差に下限閾値を設ける。
(ix) 比例係数や閾値をパラメータとする。
【0089】
この関数P()をブロック図としたものを図3に示す。すなわち、適応正規化部43は、上記の関数P()として機能する正規化係数更新部を備える。この正規化係数更新部は、複数の利得項算出部431、利得項選択条件部432、切替部433、及び減衰項算出部434を有する。
【0090】
利得項選択条件部432は、直接又は遅延素子432aを介して入力された過去を含む量子正規化予測誤差に応じて、複数の利得項算出部431のうち正規化係数更新の算出にどの利得項算出部431を用いるかを選択し、その切り替え信号を切替部433に出力する。切替部433は、利得項選択条件部432からの信号を受けて正規化係数更新の算出に用いる利得項算出部431に切り換える。
【0091】
各利得項算出部431は、複数の係数制御条件部4310〜431nを有し、これらは直接又は遅延素子431aを介して入力された量子正規化予測誤差に応じて利得率である係数k(i=1,2,…n)を決定する。また、係数制御条件部4310〜431nは、直接又は遅延素子431aを介して入力された量子正規化予測誤差の変化量に応じて利得率である係数k(i=1,2,…n)を決定するようにしても良い。利得項算出部431は、加算器431bによってこの係数と量子正規化予測誤差とを線形結合し、利得項を算出する。減衰項算出部434は、遅延素子434a、減衰率である係数a(i=1,2,…l)及び加算器434bを複数含み構成され、過去分の正規化係数から、遅延素子434a及び係数aに基づいた線形結合により減衰項を算出する。このように、正規化係数更新部は、求めた利得項及び減衰項から次の正規化係数を求める。なお、利得項選択条件部432及び切替部433による利得項算出部431の切り替えは、利得項算出部431による利得項の算出と並行して行うようにしても良い。
【0092】
なお、上記(ix)のように予測誤差予測関数P()が用いる係数等をパラメータとするが、この関数自体をパラメータとしてもよい。例えば、動作制御I/F43pに予め格納しておいても良いし、記憶部14に予め記憶させておき制御部13経由で取得するようにしても良い。また、上記(viii)のように量子化正規化予測誤差に下限値を設けることにより、量子化誤差を小さくすることができる。
【0093】
以上のように、適応正規化部43は、過去を含めた量子正規化予測誤差Q[d(k)]及び正規化係数p(k)を駆動源として、これらを予測誤差予測関数P()に代入していくことにより、正規化係数を更新していく。このように、適応正規化部43は、予測誤差d(k)の予測値p(k)を更新させ予測誤差d(k)を予測するため、予測誤差の予測部としての機能を有しているということができる。更新した正規化係数は、次の正規化、逆量子化、及び正規化係数の次の更新に用いられる。
【0094】
[適応予測]
適応正規化部43の量子化予測誤差Q[d(k)]と適応予測部46の予測値p(k)から、入力された音情報s(k)は、式(1)を用いて式(12)の通りs(k)として復元される。デコーダ26は最終的にこの音情報s(k)を出力する。なお、式(12)を示すに当たり、式(8)、(10)について、量子化予測誤差Q[d(k)]と予測誤差d(k)との誤差をe(k)とし両者の関係を式(13)の通り一般化している。
【数12】
【数13】
【0095】
式(12)から正規化と量子化による誤差が出力音に含まれてしまうことが分かるが、この誤差の根源は予測誤差である。そのため、適応正規化部43で理想的に予測誤差を予測できたとしても、予測誤差自体の分散が大きければ量子化誤差も大きいものとなってしまう。
【0096】
そこで、適応予測部46では、過去を含む復元した音情報と適応正規化部43から入力された量子化予測誤差から、予測誤差の分散が最小となるように、次に入力される音情報を予測して出力する。この予測には、本システムに入力される時系列な音情報の空間を上手く記述できる予測モデルを用いる。
【0097】
前述のように、予測モデルは、予測係数を適応的に更新させ、この予測係数によりその振る舞いを制御する。予測係数の適応的な更新方法として、予測誤差を最小化させるように予測誤差を調整する方法を用いることができる。例えば、最小二乗法や最急降下法を採用することができる。なお、予測モデル自体をパラメータとしても良い。
【0098】
入力空間が音声である場合、予測モデルとして複数極モデルが適している。本システムでは、安定条件の問題から式(14)の通り3次以上の極を多数の零モデルで近似している点で実用的である。この場合、量子正規化予測誤差を駆動源とする。a、bは予測係数である。Mは2以上の整数である。
【数14】
【0099】
零モデルの次数は入力空間のスペクトル分布との関連があり、予測誤差に影響するため、予め入力空間に最適な次数の設計をしておく必要がある。なお、この次数をパラメータとして与えるようにしても良い。
【0100】
零モデル近似は多くの次数を必要としそれと同数の乗算を行うため計算規模が大きくなる。これを回避するために式(15)のように近似を行っても良い。これによれば、式(14)よりも精度良く予測が可能になる。
【数15】
【0101】
以上のように、適応予測部46において、予測誤差の分散が最小となるように音情報の予測値を求める。但し、適応予測部46、56は、適応正規化部43、53と同様にエンコーダ16とデコーダ26とで内部状態が非同期に駆動される可能性がある。このため、予測係数の更新式は同時に同期収束制御の構造を有していなければならない。
【0102】
[同期収束制御]
次に、同期収束制御について説明する。本システムでは、適応正規化部43、53や適応予測部46、56がそれぞれ過去の出力値を入力とするフィードバック適応形式である。この場合、エンコーダ16とデコーダ26との間で、適応パラメータ等の同一適応器(適応システム)の内部状態が同期しなければならない。非同期状態のままでは意図しない音情報がデコーダ26から出力されてしまうからである。
【0103】
しかし、エンコーダ16とデコーダ26は一般的に非同期に駆動を開始する。このため、速やかにこの非同期状態を解消し、同期のとれた状態へ収束させることが望ましい。そこで、本システムでは、適応正規化部43、53及び適応予測部46、56が、同期収束制御の構造を有する。
【0104】
非同期状態から同期状態へ収束させるためには、適応システム、すなわち適応正規化部43、53、適応予測部46、56が次の条件(1)〜(5)を満足する必要があり、条件(6)、(7)を満足するようにしても良い。換言すると、次の条件(1)〜(5)を満足することが同期収束構造を有するということであり、条件(1)〜(5)を満たすことを前提として、さらに条件(6)、(7)を満たすようにしても良い。なお、条件(1)〜(4)及び(6)において、システムとは、同期収束させる対象をいい、例えば、一対の適応正規化部43、53や、一対の適応予測部46、56である。また、制御式は、例えば、上記の式(11)、(14)、(15)である。
(1) システムの入力と出力に対する関係は制御式により表される。
(2) システムの入力は内部状態を有しない単純入力とシステム出力とからなる。
(3) 同期対象システム間(例えば、適応正規化部43と適応正規化部53)の単純入力及び制御式は同一とする。
(4) 制御式は入力と内部状態を含み、入力されたシステム出力は内部状態に含まれる。
(5) 制御式の内部状態を含む項は任意速度(時定数)でその絶対値が逓減するように更新するが、この速度は収束時定数で決まるものとする。
(6) 過去の自システム出力を入力しても良い。
(7) 制御式の内部状態を含む項は逓減率を十分下回る程度に量子化できる。
【0105】
なお、収束時定数をパラメータとしても良い。これにより収束速度制御が可能となる。また、同期収束速度は、入力空間のスペクトル分布との関連があり、予測誤差に影響するため、予め入力空間に最適な収束時定数の設計をしておく必要がある。
【0106】
以上のように、適応システムが同期収束構造を有することにより、エンコーダ16とデコーダ26の始動タイミングによらずに同期収束させ、音の再現性を向上させることができる。特に、適応正規化部43、53が同期収束構造を有することにより、予測誤差の予測がより正確にできるようになる。適応予測部46、56が同期収束構造を有することにより、音情報の予測がより正確にできるようになる。
【0107】
[異常制御]
本システムでは、外部からの入力や予測における内部状態のフィードバックによる閉ループ構造を有するため、異常発生によって復帰不可能な状態に陥る可能性がある。異常状態としては、例えば、システムの各部が非同期状態であること、システムの各部への入力が期待する範囲を超えていること等が挙げられる。この異常状態の要因としては、通信路としての伝送媒体30の故障等が挙げられる。本システムでは、このような異常発生によって復帰不可能な状態に陥ることを回避するため、以下の方法を採ることができる。なお、以下の方法は、何れか一つだけ行っても良いし、二以上を組み合わせて行っても良い。
【0108】
(1) エンコーダ16及び/又はデコーダ26の各処理部に期待する範囲外の値が入力された場合は、その範囲の境界値へクリッピングする。例えば、前処理部41の動作制御I/F41pに所定の閾値又は範囲を格納しておき、当該閾値又は範囲を基準に前処理部41に入力された音情報と比較し、異常かどうかを判定する。異常である場合は、クリッピングを行う。
【0109】
(2) デコーダ26の前処理部51が、入力された音符号と動作制御I/F51pに予め格納された所定の閾値とを比較し、入力音符号が当該閾値を超えて異常であると判定した場合、その旨を制御部53に通知する。この場合、例えば、制御部53の制御により、ユーザインターフェイスUI21を介して異常をユーザに通知したり、音出力I/F27からパラメータにより指定された音情報を出力させたりする。
【0110】
上記の方法によれば、異常な音情報若しくは音符号を正常な音情報若しくは音符号へ変換することができる。但し、同期収束するまでの期間、適応正規化部43、53への入力系列とその内部状態がエンコーダ16とデコーダ26との間で相違してしまう。さらに、エンコーダ16の適応正規化部43の出力をデコーダ26の入力とするため、同期収束するまではデコーダ26から過大なレベルで出力が発散するなど意図せぬ音情報が出力されてしまう可能性がある。そこで、本システムでは、同期の早期回復処置として以下の処置を行う。
【0111】
(同期の早期回復)
(a) 異常音符号入力期間にデコーダ26を停止させる。例えば、デコーダ26の前処理部51に入力された音符号の異常を検出する検出部を設ける。検出部には、入力された音符号が異常であるかを判定するための所定の閾値又は範囲が予め設定されており、入力された音符号と当該所定の閾値又は範囲とを比較することにより異常か否かを判定する。動作制御I/F51pにこの所定の閾値又は範囲を予め格納しておき、動作制御I/F51pを検出部として機能させるようにしても良い。このように、デコーダ26を停止させることで、異常入力検出時点の内部状態を保持できるので、非同期化の進行を最小限に抑制することができる。従って、エンコーダ16とデコーダ26の非同期問題を早期に解消することができる。
【0112】
(b) デコーダ26の内部状態を、異常と判定した時の内部状態よりも初期状態の方向へ遷移させる。すなわち、同期収束するまでの意図せぬ音情報の生成は、異常入力解消時点でデコーダ26に残留している異常な音符号の影響を要因とするものであることが分かった。つまり、異常検出時点から異常解消時点までに入力された異常な音符号によって、デコーダ26の内部状態を示す状態変数が変わっていくため、デコーダ26の内部状態が遷移していき、初期状態からの遷移度合いが大きくなる。このように異常入力解消時点のデコーダ26の内部状態には異常な音符号による影響が過去の積算情報として残存するため、予期せぬ作用を生じさせる可能性がある。よって、異常入力解消時にデコーダ26の内部状態を初期状態の方向へ遷移させることにより、異音生成を抑制でき、同期収束の高速化を図ることができる。内部状態の初期状態の方向への遷移は、異常入力解消時点の内部状態より遷移させれば良い。より好ましくは、異常入力検出の開始時点の内部状態より初期状態の方向へ遷移させる。デコーダ26の内部状態の遷移には、正規化係数を現在値に応じて調整すること、及び内部状態のリセットが含まれる。正規化係数の調整と内部状態のリセットの両方を行っても良い。
【0113】
(c) 上記(a)及び(b)の処理を組み合わせて行っても良い。例えば、異常入力期間にデコーダ26を停止させ、伝送媒体30等の異常が解消され、再びデコーダ26を起動する際に正規化係数の調整及び/又は内部状態のリセットを実行しても良い。
【0114】
(d) 同期収束に関連するパラメータのうち、時定数に関するパラメータの利得を、同期収束するまでの間一時的に引き上げる。これにより、例えば、異常入力が解消しデコーダ26の再起動の際に、同期収束を高速化させることができる。また、同期収束するまでの短期間に留め、その期間経過後に復元させることで、音質劣化を抑制することができる。
【0115】
一方、異常の発生により上記のような処置を施したとしても、異常が解消されない間は情報が欠落しているため、エンコーダ16が符号化した音情報を期待通りに復元できない場合が多い。この点、音情報の流れは非定常であるが、音情報は雑音でなければ短期定常な音情報セグメントが遷移するシーケンスとみなすことができる。このセグメントでは一定のピッチで音の振幅波形が繰り返すものと解釈できる。従って、情報欠落による音情報の正常な復元ができない場合は、以下の補間処理を行うことができる。
【0116】
すなわち、異常入力期間が音情報セグメントよりも短い期間という条件においては、欠落した音情報を直近に出力した音情報セグメントから抽出し、欠落部分を補間し再生させることでより確からしい音情報を出力することができる。この補間する音情報の抽出には、欠落部分と関連する音情報セグメントのピッチ推定が必要となる。
【0117】
ピッチ推定には、音情報の流れの短期間の自己相関関数を用いることができる。時刻nでサンプリングされた音情報の瞬時値をs[n]とすれば、ラグmにおける短期自己相関関数R(n,m)を式(16)の通りとすることができる。但し、kとkは音情報セグメントの定常期間に関連するパラメータとし、対象セグメント以前の影響の度合いを制御させても良い。
【数16】
【0118】
時系列音情報s[n]における任意の短期自己相関関数R(n,m)を用いて、式(17)の通り時刻nにおけるピッチp[n]を推定する。
【数17】
【0119】
異常入力検出時点nで推定された出力音情報のピッチp[n]より、デコーダ26の出力音情報系列s[n−p[n]+1]からs[n]までを、異常入力が解消するまで繰り返し再生して音情報と出力させても良い。
【0120】
このピッチ推定は常時行っても良いし、異常入力検出時にのみ行っても良い。また、再生音情報の振幅を徐々に低減させフェードアウトするようにしても良い。異常入力解消時点からデコードされた音情報と再生音情報を一定期間クロスフェードによりブレンドさせて出力しても良い。
【0121】
ところで、デコーダ26の適応予測部56においては、予測モデルが閉ループ構造を含む場合、安定領域境界近傍に予測係数が配置更新されるなどで、予測値が音情報の振幅範囲を超える可能性もある。この場合は、予測値を振幅範囲内にクリッピングしても良い。また予測係数をより安定的な領域へ再配置しても良い。
【0122】
[対数関数と指数関数の近似解法]
適応正規化部43、53では、予測誤差の正規化に対数関数を、逆正規化に指数関数を用いる場合がある。この場合、これらの両関数の実装は適用する問題の要求を満たしつつ、計算コストや精度の観点で効率的に行われるべきである。以下では、本システムにおける対数関数及び指数関数の近似解法について説明する。そのため、まず、近似解法の基礎的な部分と、従来のG.726での誤差解析、及び本システムが満たすべき条件について説明する。
【0123】
なお、当該近似解法は、適応正規化部43、53で実装されるが、これに限られない。すなわち、本システムの対数関数及び指数関数の近似解法は、対数関数や指数関数を用いるCPUを備えた一般の演算装置に対しても適用可能である。
【0124】
(近似解法の基礎)
任意の正数xについて、基数bを用いて表すことを考える。x’を1以上b未満の実数、xを整数とすれば、このxは式(18)の通り一意に表すことができる。
【数18】
【0125】
式(18)を用いれば、bを底とするxの対数は式(19)の通り求めることができる。ここで、x=logx’とした。
【数19】
は0以上1未満の実数であるため、式(19)は、式(18)の定義により、xの対数を整数部と小数部に分けて求めることができる。
【0126】
一方、y=x+xを指数とする基数bの指数関数bは、yを任意の実数としても、指数関数は対数関数の逆関数であるため、定義よりx’はbのx乗であるから、式(18)の通りxとして求めることができる。また、実用上、対数変換される値は有界と考えても問題ないため、対数の整数部xも有界であると考えてよい。しかし、小数部xは何らかの解法により近似的に求める必要がある。
【0127】
以降は式(18)、(19)の定義による対数関数と指数関数の近似解法について考えるが、一般的な2値演算を基礎とするCPUによる演算を容易にするため、基数bを2と固定しても問題ない。これは、式(20)、(21)のとおり定数logbに関する係数を乗ずることにより任意の基数へ変換可能であることによる。
【数20】
【数21】
【0128】
さらに、指数関数は対数関数の逆関数であるため、以降は対数関数の近似解法について説明する。
【0129】
(G.726の実装と誤差解析)
従来のADPCM方式を用いるITU−T G.726では、予測誤差の絶対値xを対数化するが、その対数の整数部xは、xと2の大小をk=0から比較し、xを超えない最大の2による指数kとして求めている。この手法による演算量はΟ(k)である。小数部xは式(18)のx’を1+xとおき、x=log(1+x)として、演算量を優先的に近似して求めている。この近似による誤差は平均で0.05をも上回ってしまう。
【0130】
(多項式近似)
G.726の実装も近似誤差を低減するべく、x’が[1,2)の区間でlogx’を多項式近似することも考えられる。そこで、このn次多項式を式(22)のfPL(x,n)とする。
【数22】
【0131】
logxをn次多項式fPL(x,n)で最適近似するには、fPL(x,n)−logxの平均二乗誤差を最小とすれば良い。そのためには、式(23)のn元連立方程式を解けば良い。
【数23】
【0132】
しかし、たとえ2次の多項式によって精度良く近似できたとしても、その逆関数である指数関数の近似式を解析的に求めると、xの平方根を含む関数となってしまい、指数関数を効率的に解くことができない。3次以上ではなおさらである。また、当然にlogxの逆関数である指数関数2を式(23)と同様のアプローチで多項式近似すれば、同程度の精度で近似することはできる。但し、このアプローチによるとそれぞれの近似多項式は相互に逆関数の関係とはならない。
【0133】
(適応正規化部の変換に対する要求)
上記のように対数関数の近似式とその逆関数となる指数関数の近似式が相互に逆関数とならない場合、双方の近似式を用いてある数を対数変換し、さらに指数変換したとしても元の数には復元できず、計算誤差以外の二重の近似誤差を含んでしまう。適応正規化部43、53における予測誤差の量子化誤差がエンコーダ16とデコーダ26の適応予測部46、56に伝播するが、これに加えてこの対数−指数変換における恒等変換誤差をも伝播することになり、予想誤差の増加、ひいてはデコーダ26の復号音情報の品質劣化を招く虞がある。
【0134】
また、近似対象とする定義域または値域の全域に亘り近似可能でなければならない。すなわち、G.726のように、0≦x≦1では0≦log(1+x)≒x≦1の全域を近似可能であるような条件をいう。しかし、最適な多項式近似ではたとえ2次の多項式であったとしても、この条件を満足することができず変換領域が制限されてしまい、性能劣化を招く虞がある。
【0135】
さらに近似精度については、多項式の次数を上げれば精度も向上するが、乗算を含む演算量も増加してしまい望ましくない。これらの多項式近似による問題を解決するために、両関数の最適な折れ線近似とその最適化法を提案する。
【0136】
[折れ線近似の基礎]
本システムの近似方法は、近似対象の関数を当該関数上の複数の点を線分で結んだ折れ線により近似する方法である。この折れ線近似で用いられる折れ線関数は、区分的な1次式で表される線分の連結である。そのため、その逆関数もまた1次式で表される線分の連結となり、解析的に容易に逆関数を求めることができる。このため、多項式近似のような恒等変換誤差を含むことはないという利点が得られる。
【0137】
また、折れ線近似による演算量は、その線分数の対数に比例する回数の比較と、乗算と加算が1回のみであり、線分数を増加させ近似精度を向上させたとしても、算術演算量は一定である優位性を有する。
【0138】
端点が(x,y)、(xn+1,yn+1)の線分を有するN線分による折れ線関数fBL(x,N)は式(24)の通り表すことができる。なお、対数関数の近似においてはxn+1=xとなることはない。
【数24】
以下では、後述の上回らない折れ線近似、下回らない折れ線近似、制約のない折れ線近似の3通りの方法を示すが、何れを用いてもよい。これらの折れ線近似は、例えば、適応正規化部43、53において、式(3)に示すように正規化予測誤差を求める関数に、予測誤差の絶対値の対数関数が含まれる場合に用いることができる。
【0139】
[上回らない折れ線近似]
まず、近似する関数値を上回らない条件が付される、負の誤差のみの場合の折れ線近似について考える。また、線分数は2の累乗とする。このようにしても一般性は失われない。
【0140】
はじめに、線分数2での近似を求める。定義域と値域の条件により端点(x(1),y(1))=(1,0)、(x(1),y(1))=(2,1)は決まっているため、(x(1),y(1))を求める問題となる。ここで、線分数2とした場合の端点nの位置を(x(m),y(m))と表す。
【0141】
近似誤差最小とするためには、折れ線関数が有するすべての端点を、近似する対数関数上に配置されなければならない。そうするとy(1)はy(1)=log(1)で表せるから、結果的に近似誤差最小となるx(1)を求める問題に帰着する。
【0142】
(1)を求めるために、ここで、図4に示すように、誤差曲線logx−(x−1)を考える。ただし、1≦x≦2である。この誤差曲線は線分数2での折れ線近似、すなわちG.726と同様の近似における誤差を表す。ここから線分数2とした場合の近似誤差は図3の網掛け領域となる。この領域を最小とするためには三角形(x(1),y(1))、(x(1),y(1))、(x(1),y(1))の面積を最大化すれば良いことがわかる。
【0143】
すなわち、(x(1),y(1))がこの誤差曲線の極大点に配置されればよい。これは式(25)を満足するx(1)を求めることになる。この場合x(0)<x(1)<x(0)の範囲で求める。
【数25】
式(25)では線分数2のときの任意の端点(x(m),y(m))を、線分数2m+1へと更新したときの端点(x2n(m+1),y2n(m+1))と対応付け、同一としている。
【0144】
このようにして求められた線分数2における近似最適化された端点群を、線分数2の折れ線関数へ継承する。同様に、継承により対応付けられていない端点群を、式(25)を用いて近似最適化する。同様にして線分2において近似最適化された端点群を、線分数2m+1の折れ線関数へ継承しさらに近似最適化していくことで、所望の近似精度をもつ負の誤差のみの折れ線関数を求めることができる。
【0145】
[下回らない折れ線近似]
次に、近似する関数値を下回らない条件が付される、正の誤差のみの場合の折れ線近似について考える。
【0146】
はじめに、線分数2での近似を求める。端点(x(1),y(1))、(x(1),y(1))は上回らない折れ線近似と同様であるが、近似する関数を下回らない条件により、各線分は定義域内で接点を有する近似対象関数の接線となることが近似誤差を最小とする条件の一つである。
【0147】
端点(x(1),y(1))、(x(1),y(1))は、近似対象関数上にあるため接点であり、両端点を有する2線分はそれを通る接線としてそれぞれ確定している。そのため(x(1),y(1))には自由度がなく、両線分の交点として一意に求めることができる。
【0148】
このように下回らない折れ線近似では、図5に示す線分数2の折れ線関数が近似の基本状態であるため、上回らない折れ線近似とは端点の表現を変更し、線分数は2+1で定まるものとする。この場合の端点nの位置を(x(m),y(m))と表す。0≦mは同様である。よって、端点(x(1),y(1))は、線分数2+1における端点(x(0),y(0))と表現し直す。残る2端点(x(1),y(1))、(x(1),y(1))についても同様に、(x(0),y(0))、(x(0),y(0))とする。
【0149】
続いて、線分数2+1での近似を求める。これは基本状態の線分数2+1から増加した1線分の、近似誤差最小となる両端点を求める問題となる。ここで、線分数2+1における、端点(x(m),y(m))と(xn+1(m),yn+1(m))を有する線分S(m)は式(26)の通り表すことができる。
【数26】
【0150】
また、近似対象関数の接線Tは、その接点を(x、y=log(x))とすれば式(27)の通り表すことができる。
【数27】
さらに、線分S(m)に属する接点を(u(m),v(m))と表すものとする。
【0151】
上記表記によれば、既に定まっている最左端点(x(1),y(1))と最右端点(x(1),y(1))は、(u(1),v(1))、(u(1),v(1))でもある。一方、(x(1),y(1))、(x(1),y(1))更には(u(1),v(1))は未定である。
【0152】
この(x(1),y(1))は接線T(x,u(1))とT(x,u(1))の交点であり、(x(1),y(1))は接線T(x,u(1))とT(x,u(1))の交点であることに注目すれば、T(x,u(1))とT(x,u(1))はすでに確定しているため(u(1),v(1))を定めれば(x(1),y(1))と(x(1),y(1))も定まることがわかる。
【0153】
この点、接点(u(1),v(1))は、自身が乗る線分S(1)と隣接する線分S(1)、S(1)による近似誤差が最小となるように求めればよい。それには式(28)の区分誤差評価関数E()を用いることができる。この関数は接線T(x,x)による区間[a,b]での近似誤差の二乗平均を求める。
【数28】
【0154】
一方、近似誤差の最小化には、接点(u(1),v(1))で定まる(x(1),y(1))、(x(1),y(1))とともに式(28)を用いて式(29)をE(1,1)として最小化することもできる。この場合、E(1,1)=E(u(1),1,x(1))+E(u(1),x(1),x(1))+E(u(1),x(1),2)となる。
【数29】
【0155】
式(29)のE(m,n)はu(m)の関数である。このため、その最小化には式(30)の通り、導関数を0とするu(m)を解析的に求めてもよいし、非線形最適化問題を解いてE(m,n)が最小となるu(m)を求めてもよい。前者の場合、解析的であるから誤差なく最小化することができる。
【数30】
【0156】
上記のような方法により、近似誤差を最小とする接点(u(1),v(1))を求める。求めた接点、端点は、線分数2+1での折れ線近似を最適化する際に継承して利用する。その際、接点(u(m),v(m))を(u2n(m+1),v2n(m+1))と対応付け、同一点とする。
【0157】
線分数2+1では近似誤差最小化のために、接線T(x,u(2))とT(x,u(2))から最適な接点(u(2),v(2))を求め、接線T(x,u(2))とT(x,u(2))から最適な接点(u(2),v(2))を求める。このように順次隣接する接線T(x,unー1(m)),T(x,un+1(m))から関与する近似誤差を最小とする接点(u(m),v(m))を求めていく。
【0158】
同様に線分2+1において、近似最適化され確定した接点群を、線分数2m+1+1の折れ線関数へ継承し、さらに近似最適化していくことで、所望の近似精度をもつ正の誤差のみの折れ線関数を求めることができる。
【0159】
[制約のない折れ線近似]
上回らない折れ線近似のごとき端点に関する制約や、下回らない折れ線近似のごとき線分に関する制約がない折れ線近似について考える。すなわち、(1,0)、(2,1)以外の端点については、同じx座標値において近似対象関数上の点を上回る端点、及び同じx座標値において近似対象関数上の点を下回る端点を含む。つまり、制約がない折れ線近似関数は、近似対象関数を交差する線分を含んでなる折れ線近似関数であり、近似対象関数を上回る線分、下回る線分、近似対象関数と接する線分、及び少なくとも一方の端点が近似対象関数上に乗る線分、の少なくともいずれかを含んでいても良い。これまでの折れ線近似のように順次折れ線数を増やして直前の最適化情報を継承しつつ近似誤差を改善する必要がないため、端点を(x,y)と表現する。また、端点(x,y)と(xn+1,yn+1)を持つ線分Sも式(31)の通り表せる。
【数31】
【0160】
このSによる区分誤差評価関数Eも式(32)を用いる。
【数32】
【0161】
線分数Nの場合の総合的な誤差評価関数EはEを用いて式(33)と表すことができる。
【数33】
【0162】
式(33)のすべての端点による偏導関数を0とする連立方程式を解析的に解ける場合は、それにより求まった端点群が近似誤差最小の最適近似を構成する。この連立方程式が解析的に解けない場合は、非線形最適化法などにより式(33)を最小化させればよいが、その際は端点数を上回らない折れ線近似や下回らない折れ線近似と同数とし、それぞれの近似での最適解である端点群を初期状態とすれば、良好な最適解が得られる。
【0163】
(比較)
これら3種の折れ線近似の、線分数又は節点数に対する近似誤差の二乗平均値を両対数軸にプロットしたグラフを図6に示す。下回らない折れ線近似のみ横軸を節点数としている。従来のG.726の平均二乗誤差が0.004程度であるのに対し、図6に示すように、本近似方法はいずれも一桁以上良好な近似結果が得られる。なお、対数化の際の整数部は、二分探索によればO(logk)の演算量であるから、従来のG.726の演算量O(k)よりも少ないので、従来よりも高速に求めることができる。
【0164】
[1−4.動作]
図7及び図8を参照し、本システムの動作について説明する。図7は、符号化装置10の動作フローチャートである。図8は、復号化装置20の動作フローチャートである。なお、これらは動作の一例であり、これらの順序に限定されない。
【0165】
本システムの運用の前提条件として、パラメータは所望のシステム特性を満足するように設計されているものとするが、パラメータとシステム特性との対応関係を運用時に測定又は調整する場合は、その測定又は調整したパラメータを用いる。
【0166】
[初期化]
図7及び図8に示すように、まず、運用開始時の初期設定として、符号化装置10と復号化装置20ともに各部のパラメータを設定する(ステップS01)。すなわち、各装置10、20の記憶部14、24に予め記憶されているパラメータか、ユーザインターフェイスUI11、21若しくは外部接続I/F12、22経由で入力されるパラメータを各装置10、20の各部に設定する。
【0167】
なお、制御部13、23は、パラメータ識別値を用いて設定されたパラメータの適用可否を判定し、適用不可の場合は、表示器に表示する等ユーザインターフェイスUI11、21若しくは外部接続I/F12、22経由で外部へ通知するとともに、本運用を保留しても良い。
【0168】
次に、各装置10、20は、状態変数などの内部状態をリセットして初期状態とする(ステップS02)。運用開始前の不定な状態変数により意図しない音が出力されるのを防止するためである。
【0169】
[情報入力及び出力]
符号化装置10は、設定されたパラメータに従って音又は音情報を音入力I/F15等により外部から入力するか、記憶部14に記憶している音情報をエンコーダ16に入力する(ステップS03)。エンコーダ16は設定されたパラメータに従って音符号へ符号化し(ステップS04)、設定されたパラメータに従って同期信号などエンコードされた音符号及びその再生に必要な情報や、記憶部14に蓄積された音符号を復号化装置20へ出力する(ステップS05)。エンコードされた音符号に再生に必要な情報には、パラメータ識別値を含む。
【0170】
復号化装置20には、設定されたパラメータに従って伝送媒体30から入力された音符号及びその再生に必要な情報が入力される(ステップS06)。ここで、エンコーダ16とデコーダ26に共通するパラメータは同一でなければならない。特に、本システムでは、パラメータ可変であるため、音符号のデコードに先立って、パラメータの整合性を確認する。
【0171】
すなわち、復号化装置20の制御部23は、入力情報に含まれるパラメータ識別値と復号化装置20に現在設定されているパラメータ識別値を照合する(ステップS07)。整合する場合は(ステップS07のYES)、入力された音符号のデコードを許可し、設定されたパラメータに従ってデコードして音情報に復号する(ステップS08)。さらに、復号された音情報を音出力I/F27を介して復号化装置20外部へ出力する(ステップS09)。
【0172】
一方、パラメータ識別値が整合しない場合は(ステップS07のNO)、不整合処理を行う(ステップS10)。すなわち、ユーザインターフェイスUI21や外部接続I/F22を介して不整合を外部に通知するとともに、デコードを許可しない。また、符号化装置10から入力されたパラメータ識別値と対応するパラメータを記憶部24や各部の動作制御I/Fに有していれば、そのパラメータに切り換えて整合させる。なお、デコーダ26のパラメータにエンコーダ16のパラメータを合わせるようにしても良い。
【0173】
ステップS05又はステップS09の後、制御部13、23が、ユーザや外部接続装置からのリセット要求、及び、エンコーダ16又はデコーダ26において異常を検出した部位からのリセット要求を確認する(ステップS11)。リセット要求がある場合は(ステップS11のYES)、ステップS02に戻る。一方、リセット要求がない場合は(ステップS11のNO)、ステップS12に進む。ユーザ等により、本システムの運用中にユーザインターフェイスUI11、12若しくは外部接続I/F12、22経由でパラメータ設定変更の要求がある場合(ステップS12のYES)、ステップS01に戻り要求されたパラメータを更新する。この場合、必要に応じて更新前に装置10、20を一時停止の上リセットし、更新後に再始動しても良い。パラメータ設定変更の要求がない場合(ステップS12のNO)、音入力のステップS03、符号入力のステップS06に戻るか(ステップS13のNO)、終了する(ステップS13のYES)。
【0174】
なお、ステップS01、S02、S11、S12は、符号化装置10と復号化装置20とで同時並行して行っても良いし、それぞれ独立に行っても良く、その前後も任意である。また、何れか一方だけ行うようにしても良い。
【0175】
[1−5.効果]
(1)本実施形態の音符号化システムでは、対数関数を含む関数を近似対象として、これに近似する関数を演算する演算部となる適応正規化部43、53を有し、適応正規化部43、53は、近似対象となる関数を、当該関数上の複数の点を線分で結んだ近似対象となる関数値を上回らない折れ線関数により近似するようにした。特に、適応正規化部43、53は、近似対象となる関数から、当該関数上の複数の点を線分で結んで得られる折れ線関数を引いたものの近似誤差が最小となる複数の点を求め、この複数の点を折れ線関数の各線分の端点として上回らない折れ線関数を求めるようにした。
【0176】
これにより、ITU−T G.726に代表される従来のADPCM方式を用いたものよりも、近似精度を向上させることができる。例えば、平均二乗誤差は、ITU−T G.726よりも一桁以上良好な近似結果を得ることができる。従って、音の質を向上させることができ、音の再現性を向上させることができる。
【0177】
(2)適応正規化部43、53は、近似対象となる関数を、当該関数上の複数の点を線分で結んだ近似対象となる関数値を下回らない折れ線関数により近似するようにした。特に、下回らない折れ線関数は、各線分が、その定義域内で複数の点として近似対象となる関数との接点を有する接線であり、適応正規化部43、53は、接点を、その接点が乗る線分とこれに隣接する両線分による近似対象となる関数との近似誤差が最小となるように求めるようにした。
【0178】
これにより、ITU−T G.726に代表される従来のADPCM方式を用いたものよりも、近似精度を向上させることができる。例えば、平均二乗誤差は、ITU−T G.726よりも一桁以上良好な近似結果を得ることができる。さらに、下回らない折れ線近似よりも近似精度を向上させることができる。従って、音の質をより向上させることができ、音の再現性を更に向上させることができる。
【0179】
(3)適応正規化部43、53は、近似対象となる関数を、当該関数と交差する線分を含んでなる折れ線関数により近似し、折れ線関数は、端点(x,y)と(xn+1,yn+1)を持つ線分Sを式(31)で表し、この線分Sによる区分誤差評価関数Eを式(32)で表した場合に、式(33)の誤差評価関数Eを最小化したときに得られるものとした。これにより、ITU−T G.726に代表される従来のADPCM方式を用いたものよりも、近似精度を向上させることができるだけでなく、上記の上回らない折れ線近似や下回らない折れ線近似よりも更に近似精度を向上させることができる。
【0180】
[2.他の実施形態]
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。以下は、その一例である。
【0181】
(1)第1の実施形態の音符号化システムでは、パラメータの設定は、ユーザの要求に基づくものとして説明したが、これに限られない。符号化装置10、復号化装置20で用いられる各パラメータは、音や音情報、音符号などの各装置10、20への入力を契機として、自動的に変更するように構成しても良い。例えば、符号化装置10の音入力I/F15への入力が、男性の音声から楽器の音に切り替わった場合、予測誤差の確率分布が変わってくるため、音の信号レベル、周波数特性等の変化を検知して、エンコーダ16及びデコーダ26の動作制御I/Fのパラメータを、当該楽器の音に適したパラメータに変更するようにしても良い。入力の変化を判定する方法としては、例えば、エンコーダ16及びデコーダ26各部の動作制御I/Fに入力変化を判別する閾値や範囲を設定する。
【0182】
(2)第1の実施形態の音符号化システムでは、エンコーダ16とデコーダ26とが別体として構成したが、これらを一体として構成したシステムとして構成しても良い。また、適応予測部56が復号した音情報を出力するエンコーダが実装された単一装置としてシステムを構成しても良い。この場合、設定パラメータとシステム特性との対応関係を求める場合に有用である。
【0183】
(3)第1の実施形態に係る音符号化システムでは、エンコーダ16及びデコーダ26の処理部に設けられた動作制御I/Fによって、当該処理部に入力された音情報又は音符号に応じてパラメータ更新のための制御信号を制御部13、23に出力し、制御部13、23によってパラメータを更新させたが、これに限られず、逆の関係であっても良い。すなわち、動作制御I/Fにより、当該動作制御I/Fが設けられた所定の内部状態の検知及び制御部13、23への通知を行い、制御部13、23が通知された各処理部の内部状態に応じてパラメータを更新させる制御信号を各処理部へ出力し、動作制御I/Fがその制御信号に基づいて処理部で用いるパラメータを更新するようにしても良い。
【符号の説明】
【0184】
10 符号化装置
11 ユーザインターフェイスUI
12 外部接続I/F
13 制御部
14 記憶部
15 音入力I/F
16 エンコーダ
17 符号出力I/F
20 復号化装置
21 ユーザインターフェイスUI
22 外部接続I/F
23 制御部
24 記憶部
25 符号入力I/F
26 デコーダ
27 音出力I/F
30 伝送媒体
41、51 前処理部
42 加算器
43、53 適応正規化部
44 最適量子化部
45、55 最適逆量子化部
46、56 適応予測部
47、57 加算器
48、58 後処理部
41p、43p〜46p、48p 動作制御I/F
51p、53p、55p、56p、58p 動作制御I/F
431 利得項算出部
431a 遅延素子
431b 加算器
4310〜431n 係数制御条件部
432 利得項選択条件部
432a 遅延素子
433 切替部
434 減衰項算出部
434a 遅延素子
434b 加算器
図1
図2
図3
図7
図8
図4
図5
図6