(57)【特許請求の範囲】
【請求項１】
ディジタル化された信号を所定区間毎に区切るステップと、
上記所定区間に閾値以上の最大値となるサンプリング点が存在する場合には、当該サンプリング点をそのサンプリング点が存在する区間内での最大値点として選択する選択ステップと、
選択された最大値点間を補間することにより、上記ディジタル化された信号の包絡線を算出するステップと
を具え、
上記選択ステップでは、
選択対象の区間と、該区間に対して直前の区間に対する閾値が、ｔをサンプリング時間位置としたとき、ｆ（ｔ）＝ｐ（ｔ２  −ｔ１  ）で算出される値に上記直前の区間内での上記最大値点ｘ１を乗算したｆ（ｔ）・ｘ１とされる
ことを特徴とするディジタル信号処理方法。
【請求項２】
上記選択するステップでは、
上記選択対象の区間内の最大値が、上記選択対象の区間と上記直前の区間に対する閾値よりも小さいとき、該選択対象の区間以降の第ｎの区間が順次選択対象とされ、
上記直前の区間から上記第ｎの区間までに対する閾値が、ｔをサンプリング時間位置としたとき、ｆ（ｔ）＝ｐ（ｔｎ  −ｔ１  ）で算出される値に上記直前の区間内での上記最大値点ｘ１を乗算したｆ（ｔ）・ｘ１とされ、
上記第ｎの区間内の最大値が、上記直前の区間から上記第ｎの区間までに対する閾値よりも大きい値が得られるまで上記第ｎの区間の選択が続けられる
ことを特徴とする請求項１に記載のディジタル信号処理方法。
【請求項３】
上記選択するステップでは、
上記ディジタル化された信号のレベルがゼロレベルとなる時間位置から、当該ゼロレベルとなる時間位置の次にゼロレベルとなる時間位置までの間ごとにおこなわれる
ことを特徴とする請求項１に記載のディジタル信号処理方法。
【請求項４】
上記包絡線を算出するステップでは、
多次関数を用いて補間がおこなわれる
ことを特徴とする請求項１に記載のディジタル信号処理方法。
【請求項５】
ディジタル化された信号を所定区間毎に区切る切り出し手段と、
上記所定区間に閾値以上の最大値となるサンプリング点が存在する場合には、当該サンプリング点をそのサンプリング点が存在する区間内での最大値点として選択する選択手段と、
選択された最大値点間を補間することにより、上記ディジタル化された信号の包絡線を算出する算出手段と
を具え、
上記選択手段では、
選択対象の区間と、該区間に対して直前の区間に対する閾値が、ｔをサンプリング時間位置としたとき、ｆ（ｔ）＝ｐ（ｔ２  −ｔ１  ）で算出される値に上記直前の区間内での上記最大値点ｘ１を乗算したｆ（ｔ）・ｘ１とされる
ことを特徴とするディジタル信号処理装置。
【請求項６】
上記選択手段では、
上記選択対象の区間内の最大値が、上記選択対象の区間と上記直前の区間に対する閾値よりも小さいとき、該選択対象の区間以降の第ｎの区間が順次選択対象とされ、
上記直前の区間から上記第ｎの区間までに対する閾値が、ｔをサンプリング時間位置としたとき、ｆ（ｔ）＝ｐ（ｔｎ  −ｔ１  ）で算出される値に上記直前の区間内での上記最大値点ｘ１を乗算したｆ（ｔ）・ｘ１とされ、
上記第ｎの区間内の最大値が、上記直前の区間から上記第ｎの区間までに対する閾値よりも大きい値が得られるまで上記第ｎの区間の選択が続けられる
ことを特徴とする請求項５に記載のディジタル信号処理装置。
【請求項７】
上記選択手段は、
上記ディジタル化された信号のレベルがゼロレベルとなる時間位置から、当該ゼロレベルとなる時間位置の次にゼロレベルとなる時間位置までの間ごとにおこなう
ことを特徴とする請求項５に記載のディジタル信号処理装置。
【請求項８】
上記算出手段は、
多次関数を用いて補間をおこなう
ことを特徴とする請求項５に記載のディジタル信号処理装置。
【請求項９】
ディジタル化された信号を所定区間毎に区切る区切ステップと、
上記所定区間に閾値以上の最大値となるサンプリング点が存在する場合には、当該サンプリング点をそのサンプリング点が存在する区間内での最大値点として選択する選択ステップと、
選択された最大値点間を補間することにより、上記ディジタル化された信号の包絡線を算出する算出ステップとを含み、
上記選択ステップでは、
選択対象の区間と、該区間に対して直前の区間に対する閾値が、ｔをサンプリング時間位置としたとき、ｆ（ｔ）＝ｐ（ｔ２  −ｔ１  ）で算出される値に上記直前の区間内での上記最大値点ｘ１を乗算したｆ（ｔ）・ｘ１とされる
プログラムをディジタル信号処理装置に実行させるプログラム格納媒体。
【請求項１０】
上記選択ステップでは、
上記選択対象の区間内の最大値が、上記選択対象の区間と上記直前の区間に対する閾値よりも小さいとき、該選択対象の区間以降の第ｎの区間が順次選択対象とされ、
上記直前の区間から上記第ｎの区間までに対する閾値が、ｔをサンプリング時間位置としたとき、ｆ（ｔ）＝ｐ（ｔｎ  −ｔ１  ）で算出される値に上記直前の区間内での上記最大値点ｘ１を乗算したｆ（ｔ）・ｘ１とされ、
上記第ｎの区間内の最大値が、上記直前の区間から上記第ｎの区間までに対する閾値よりも大きい値が得られるまで上記第ｎの区間の選択が続けられる
ことを特徴とする請求項９に記載のプログラム格納媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディジタル信号処理方法及びディジタル信号処理装置並びにプログラム格納媒体に関し、例えばディジタル音声信号の包絡線を算出するディジタル信号処理方法及びディジタル信号処理装置並びにプログラム格納媒体に適用して好適なものである。
【０００２】
【従来の技術】
従来、入力信号の包絡線検出方法においては、外部から入力される正負の極性があるディジタル信号それぞれの領域に対して当該振幅の各ピーク値を検出し、当該検出した各ピーク値間を補正することにより、包絡線を算出する方法が考えられている。
【０００３】
【発明が解決しようとする課題】
ところでかかる構成の包絡線検出装置において、外部から入力されるディジタル信号が例えばディジタル音声信号の場合、当該ディジタル音声信号は、ディジタル映像信号等と比べると振幅の起伏が激しいため、この場合のピーク値は多数存在することになる。
【０００４】
これにより包絡線検出装置は、本来所望とするピーク値以外をも検出してしまう。従って包絡線検出装置は、図１３に示すように、本来算出されるべき包絡線（図１３：正領域の包絡線ＥＮＶ１及び負領域の包絡線ＥＮＶ２）とは到底かけ離れた包絡線（図１３：正領域の包絡線ＥＮＶ３及び負領域の包絡線ＥＮＶ４）を算出してしまうという問題があった。
【０００５】
また、包絡線検出方法としては、外部から入力されるディジタル信号に対してロウパスフィルタによってフィルタリングすることも考えられるが、この場合の包絡線検出装置は、包絡線を算出する際の演算処理に一段と負担がかかるという問題、さらにはカットオフ周波数を変更し得ないため、ディレイが生じることにより、本来算出されるべき包絡線と比べると誤差が生じる包絡線を算出してしまうという問題があった。
【０００６】
本発明は以上の点を考慮してなされたもので、高精度の包絡線の算出を図り得るディジタル信号処理方法及びディジタル信号処理装置並びにプログラム格納媒体を提案しようとするものである。
【０００７】
【課題を解決するための手段】
かかる課題を解決するため本発明は、ディジタル化された信号を所定区間毎に区切り、これら区間に閾値以上の最大値となるサンプリング点が存在する場合には、当該サンプリング点をそのサンプリング点が存在する区間内での最大値点として選択し、選択された最大値点間を補間してディジタル化された信号の包絡線を算出する。
選択対象の区間と、該区間に対して直前の区間に対する閾値が、ｔをサンプリング時間位置としたとき、ｆ（ｔ）＝ｐ（ｔ２  −ｔ１  ）で算出される値に直前の区間内での最大値点ｘ１を乗算したｆ（ｔ）・ｘ１とされる。
【０００８】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【０００９】
図１においてオーディオ信号処理装置１０は、ディジタルオーディオ信号（以下これをオーディオデータと呼ぶ）のサンプリングレートを上げたり、オーディオデータを補間する際に、真値に近いオーディオデータをクラス分類適用処理によって生成するようになされている。
【００１０】
因みに、この実施の形態におけるオーディオデータとは、人間の声や楽器の音等を表す音楽データ、さらにはその他の種々の音を表すデータのことである。
【００１１】
すなわち、オーディオ信号処理装置１０において、包絡線算出部１１は入力端子ＴINから供給された図２（Ａ）に示す入力オーディオデータＤ１０を所定時間毎の領域（この実施の形態の場合、例えば６サンプル毎とする）に分割した後、当該分割された各時間領域の波形について、後述する包絡線算出方法によりその包絡線を算出する。
【００１２】
包絡線算出部１１は入力オーディオデータＤ１０のこのとき分割された時間領域の包絡線算出結果を入力オーディオデータＤ１０の包絡線波形データＤ１１（図２（Ｂ））としてクラス分類部１４に供給する。
【００１３】
また、クラス分類部抽出部１２は入力端子ＴINから供給された図２（Ａ）に示す入力オーディオデータＤ１０を、包絡線算出部１１の場合と同様の時間領域（この実施の形態の場合例えば６サンプル）に分割することによりクラス分類しようとするオーディオ波形データＤ１２を抽出し、これをクラス分類部１４に供給する。
【００１４】
クラス分類部１４は、クラス分類抽出部１２において切り出されたオーディオ波形データＤ１２に対応する包絡線波形データＤ１１について、当該包絡線波形データＤ１１を圧縮して圧縮データパターンを生成するＡＤＲＣ(Adaptive Dynamic Range Coding) 回路部と、包絡線波形データＤ１１の属するクラスコードを発生するクラスコード発生回路部とを有する。
【００１５】
ＡＤＲＣ回路部は包絡線波形データＤ１１に対して、例えば８ビットから２ビットに圧縮するような演算を行うことによりパターン圧縮データを形成する。このＡＤＲＣ回路部は、適応的量子化を行うものであり、ここでは、信号レベルの局所的なパターンを短い語長で効率的に表現することができるので、信号パターンのクラス分類のコード発生用に用いられる。
【００１６】
具体的には、包絡線波形上の６つの８ビットのデータ（包絡線波形データ）をクラス分類しようとする場合、２48という膨大な数のクラスに分類しなければならず、回路上の負担が多くなる。そこで、この実施の形態のクラス分類部１４ではその内部に設けられたＡＤＲＣ回路部で生成されるパターン圧縮データに基づいてクラス分類を行う。例えば６つの包絡線波形データに対して１ビットの量子化を実行すると、６つの包絡線波形データを６ビットで表すことができ、２6 ＝６４クラスに分類することができる。
【００１７】
ここで、ＡＤＲＣ回路部は、切り出された領域内の包絡線のダイナミックレンジをＤＲ、ビット割り当をｍ、各包絡線波形データのデータレベルをＬ、量子化コードをＱとすると、次式、
【００１８】
【数１】
0004538704.tif 000002
【００１９】
に従って、領域内の最大値ＭＡＸと最小値ＭＩＮとの間を指定されたビット長で均等に分割して量子化を行う。なお、（１）式において｛  ｝は小数点以下の切り捨て処理を意味する。かくして包絡線算出部１において算出された包絡線上の６つの波形データが、それぞれ例えば８ビット（ｍ＝８）で構成されているとすると、これらはＡＤＲＣ回路部においてそれぞれが２ビットに圧縮される。
【００２０】
このようにして圧縮された包絡線波形データをそれぞれｑn （ｎ＝１〜６）とすると、クラス分類部１４に設けられたクラスコード発生回路部は、圧縮された包絡線波形データｑn に基づいて、次式、
【００２１】
【数２】
0004538704.tif 000003
【００２２】
に示す演算を実行することにより、そのブロック（ｑ1 〜ｑ6 ）が属するクラスを示すクラスコードclass を算出し、当該算出されたクラスコードclass を表すクラスコードデータＤ１４を予測係数メモリ１５に供給する。このクラスコードclass は、予測係数メモリ１５から予測係数を読み出す際の読み出しアドレスを示す。因みに（２）式において、ｎは圧縮された包絡線波形データｑn の数を表し、この実施の形態の場合ｎ＝６であり、またＰはビット割り当てを表し、この実施の形態の場合Ｐ＝２である。
【００２３】
このようにして、クラス分類部１４はクラス分類部抽出部１２において入力オーディオデータＤ１０から切り出されたオーディオ波形データＤ１２に対応する包絡線波形データＤ１１のクラスコードデータＤ１４を生成し、これを予測係数メモリ１５に供給する。
【００２４】
予測係数メモリ１５には、各クラスコードに対応する予測係数のセットがクラスコードに対応するアドレスにそれぞれ記憶されており、クラス分類部１４から供給されるクラスコードデータＤ１４に基づいて、当該クラスコードに対応するアドレスに記憶されている予測係数のセットＷ1 〜Ｗn が読み出され、予測演算部１６に供給される。
【００２５】
予測演算部１６は、予測演算部抽出部１３において入力オーディオデータＤ１０から時間軸領域で切り出された予測演算しようとするオーディオ波形データ（予測タップ）Ｄ１３（Ｘ1 〜Ｘn ）と、予測係数Ｗ1 〜Ｗn に対して、次式
【００２６】
【数３】
0004538704.tif 000004
【００２７】
に示す積和演算を行うことにより、予測結果ｙ′を得る。この予測値ｙ′が、音質が改善されたオーディオデータＤ１６（図２（Ｃ））として予測演算部１６から出力される。
【００２８】
なお、オーディオ信号処理装置１０の構成として図１について上述した機能ブロックを示したが、この機能ブロックを構成する具体的構成として、この実施の形態においては図３に示すコンピュータ構成の装置を用いる。すなわち、図３において、オーディオ信号処理装置１０は、バスＢＵＳを介してＣＰＵ２１、ＲＯＭ(Read Only Memory)２２、予測係数メモリ１５を構成するＲＡＭ(Random Access Memory)１５、及び各回路部がそれぞれ接続された構成を有し、ＣＰＵ１１はＲＯＭ２２に格納されている種々のプログラムを実行することにより、図１について上述した各機能ブロック（包絡線算出部１１、クラフ分類部抽出部１２、予測演算部抽出部１３、クラス分類部１４及び予測演算部１６）として動作するようになされている。
【００２９】
また、オーディオ信号処理装置１０にはネットワークとの間で通信を行う通信インターフェース２４、フロッピィディスクや光磁気ディスク等の外部記憶媒体から情報を読み出すリムーバブルドライブ２８を有し、ネットワーク経由又は外部記憶媒体から図１について上述したクラス分類適用処理を行うための各プログラムをハードディスク装置２５のハードディスクに読み込み、当該読み込まれたプログラムに従ってクラス分類適応処理を行うこともできる。
【００３０】
ユーザは、キーボードやマウス等の入力手段２６を介して種々のコマンドを入力することにより、ＣＰＵ２１に対して図１について上述したクラス分類処理を実行させる。この場合、オーディオ信号処理装置１０は入出力部２７を介して音質を向上させようとするオーディオデータ（入力オーディオデータ）Ｄ１０を入力し、当該入力オーディオデータＤ１０に対してクラス分類適用処理を施した後、音質が向上したオーディオデータＤ１６を入出力部２７を介して外部に出力し得るようになされている。
【００３１】
因みに、図４はオーディオ信号処理装置１０におけるクラス分類適応処理の処理手順を示し、オーディオ信号処理装置１０はステップＳＰ１０１から当該処理手順に入ると、続くステップＳＰ１０２において入力オーディオデータＤ１０の包絡線を包絡線算出部１１において算出する。
【００３２】
この算出された包絡線は入力オーディオデータＤ１０の特徴を表すものであり、オーディオ信号処理装置１０は、ステップＳＰ１０３に移ってクラス分類部１４により包絡線に基づいてクラスを分類する。そしてオーディオ信号処理装置１０はクラス分類の結果得られたクラスコードを用いて予測係数メモリ１５から予測係数を読み出す。この予測係数は予め学習によりクラス毎に対応して格納されており、オーディオ信号処理装置１０はクラスコードに対応した予測係数を読み出すことにより、このときの包絡線の特徴に合致した予測係数を用いることができる。
【００３３】
予測係数メモリ１５から読み出された予測係数は、ステップＳＰ１０４において予測演算部１６の予測演算に用いられる。これにより、入力オーディオデータＤ１０はその包絡線の特徴に適応した予測演算により、所望とするオーディオデータＤ１６に変換される。かくして入力オーディオデータＤ１０はその音質が改善されたオーディオデータＤ１６に変換され、オーディオ信号処理装置１０はステップＳＰ１０５に移って当該処理手順を終了する。
【００３４】
次に、オーディオ信号処理装置１０の包絡線算出部１１における入力オーディオデータＤ１０の包絡線の算出方法について説明する。
【００３５】
すなわち、図５に示すように、包絡線算出部１１（図１）は包絡線算出処理手順ＲＴ１に入ると、ステップＳＰ１において外部から入力されてくる正負の極性がある入力オーディオデータＤ１０を通信インターフェイス２７を介して入力し、続くステップＳＰ２及びＳＰ１０に移る。
【００３６】
ステップＳＰ２において包絡線算出部１１は、図６に示すように、外部から入力されてくる正負の極性がある入力オーディオデータＤ１０のうち、正領域ＡＲ１の信号成分のみを検出及び保持し、負領域ＡＲ２の信号成分をゼロレベルとし、ステップＳＰ３に移る。
【００３７】
ここでゼロレベルとは、ディジタル化された信号（入力オーディオデータＤ１０）の音圧レベルがゼロレベル、つまり無音となっている部分を表している。
【００３８】
ステップＳＰ３において包絡線算出部１１は、図７に示すように、正領域ＡＲ１の入力オーディオデータＤ１０の振幅がゼロレベルと重なるサンプリング時間位置ＤＯ１からその次に振幅がゼロレベルと重なるサンプリング時間位置ＤＯ２までの間（以下、これをゼロクロス間と呼ぶ）ＣＲ１での振幅の最大値ｘ１を検出し、当該最大値ｘ１が予め包絡線検出プログラムにて設定されている閾値よりも高い値であるか否かを判断する。
【００３９】
因みに、包絡線検出プログラムで予め設定される閾値は、ゼロクロス間の振幅の最大値ｘ１を包絡線の候補値（サンプリング点）とするか否かを決定づける所定の値となっており、結果としてなめらかな包絡線を検出し得るような値に設定しておき、このときの判断対象であるゼロクロス間ＣＲ１の振幅の最大値ｘ１が当該閾値よりも高い値となる場合にはステップＳＰ４に移る。また、このときの判断対象であるゼロクロス間の振幅の最大値が閾値よりも低い値となる場合、包絡線算出部１１は、当該閾値よりも高い値となる最大値ｘ１（候補値（サンプリング点））が存在するゼロクロス間ＣＲ１を検出するまで続ける。
【００４０】
ステップＳＰ４において包絡線算出部１１は、候補値（サンプルリング点）とされた最大値ｘ１が存在するゼロクロス間ＣＲ１の次のゼロクロス間ＣＲ２の最大値ｘ２を検出（図７）し、ステップＳＰ５に移る。
【００４１】
ステップＳＰ５において包絡線算出部１１は、ステップＳＰ３及びＳＰ４において得られた各最大値ｘ１及びｘ２に対してｆ（ｔ)=ｐ( ｔ2 −ｔ1 ）で表される関数によって算出された値に最大値ｘ１を乗じた値が当該最大値ｘ２よりも高い値であるか否かを判断する。
【００４２】
因みに、関数ｆ（ｔ) において、「ｔ2 」及び「ｔ1 」は、各最大値ｘ１及びｘ２が検出されたサンプリング時間位置を表しており、例えばこのとき入力される信号（入力オーディオデータＤ１０）がサンプリング周波数８ｋＨｚ、量子化１６bit と想定した場合、ゼロクロス間のサンプル数は５〜２０サンプルとなる場合が多いため、「ｔ2 」及び「ｔ1 」においても５〜２０サンプルとなる。また、「ｐ」は任意に設定し得るパラメータであり、例えばこのとき入力される信号（入力オーディオデータＤ１０）がサンプリング周波数８ｋＨｚ、量子化１６bit と想定した場合、ｐ＝−９０などとされる。
【００４３】
さらに関数ｆ（ｔ)=ｐ( ｔ2 −ｔ1 ）で表される値に最大値ｘ１を乗じた値は、最大値ｘ１及びｘ２間の傾きを表すようになされており、当該関数ｆ（ｔ)=ｐ( ｔ2 −ｔ1 ）で表される値に最大値ｘ１を乗じた値よりも最大値ｘ２の値のほうが大きい場合には、最大値ｘ１と最大値ｘ２との振幅差が少ないことにより、結果としてなめらかな包絡線を検出し得る。従って、このときの判断対象である最大値ｘ２が当該関数によって表される値に最大値ｘ１を乗じた値よりも高い値となる場合にはステップＳＰ５において肯定結果を得、続くステップＳＰ６に移る。
【００４４】
これに対して最大値ｘ２が当該関数によって表される値に最大値ｘ１を乗じた値よりも低い値となる場合には、ステップＳＰ４において、関数によって表される値に最大値ｘ１を乗じた値よりも高い値である最大値ｘ２（図７）が検出されるまでゼロクロス間（ＣＲ３・・・ＣＲｎ）の振幅の最大値ｘ２（図７）を検出するようになされており、このとき再度検出して得られた最大値ｘ２と、ステップＳＰ３において得られた最大値ｘ１とに対して、ｆ（ｔ)=ｐ( ｔ2 −ｔ1 ）で表される関数によって算出された値に最大値ｘ１を乗じた値が再度検出して得られた最大値ｘ２よりも高い値であると判断されるまで最大値ｘ２の検出を繰り返す。
【００４５】
ステップＳＰ６において包絡線算出部１１は、包絡線の候補値（サンプリング点）とされた最大値ｘ１及び最大値ｘ２間のデータに対して線形一次補間方法を用いて補間処理を施し、続くステップＳＰ７及びＳＰ８に移る。
【００４６】
ステップＳＰ７において包絡線算出部１１は、補間処理を施した最大値ｘ１及び最大値ｘ２間のデータ及び候補値（サンプリング点）を包絡線データＤ１１（図１）として、クラス分類部１４（図１）に出力する。
【００４７】
また、ステップＳＰ８において包絡線算出部１１は、外部から入力されてくる入力オーディオデータＤ１０が全て入力されたか否かを判断する。ここで否定結果が得られると、このことは入力オーディオデータＤ１０が続いて入力されていることを表しており、このとき包絡線算出部１１は、ステップＳＰ３に戻って、入力オーディオデータＤ１０の正領域ＡＲ１からゼロクロス間ＣＲ１の振幅の最大値ｘ１を再び検出する。
【００４８】
これに対して、ステップＳＰ８において肯定結果が得られると、このことは入力オーディオデータＤ１０を全て入力し終わったことを表しており、このとき包絡線算出部１１は、ステップＳＰ２０に移って包絡線算出処理手順ＲＴ１を終了する。
【００４９】
一方、ステップＳＰ１０において包絡線算出部１１は、外部から入力される正負の極性がある入力オーディオデータＤ１０のうち、負領域ＡＲ２（図６）の信号成分のみを検出及び保持し、正領域ＡＲ１（図６）の信号成分をゼロレベルとし、ステップＳＰ１１に移る。
【００５０】
ステップＳＰ１１において包絡線算出部１１は、図８に示すように、負領域ＡＲ２のゼロクロス間ＣＲ１１の振幅の最大値ｘ１１を検出し、ステップＳＰ３と同様に最大値ｘ１１が予め包絡線検出プログラムにて設定されている閾値よりも負方向に高い値であるか否かを判断する。ここで肯定結果が得られた（すなわち、閾値よりも負方向に高い値である）場合には、ステップＳＰ１２に移り、否定結果が得られた（すなわち、閾値よりも負方向に低い値である）場合には、閾値よりも負方向に高い値となる最大値ｙ１１が検出されるまでステップＳＰ１１の検出処理を続ける。
【００５１】
ステップＳＰ１２において包絡線算出部１１は、候補値（サンプリング点）とされた最大値ｘ１１が含まれるゼロクロス間ＣＲ′１の次のゼロクロス間ＣＲ′２の振幅の最大値ｘ１２を検出（図８）し、ステップＳＰ１３に移る。
【００５２】
ステップＳＰ１３において包絡線算出部１１は、ステップＳＰ５と同様にステップＳＰ１１及びＳＰ１２において得られた各最大値ｘ１１及びｘ１２に対してｆ（ｔ)=ｐ( ｔ12−ｔ11）で表される関数によって算出された値に最大値ｘ１１を乗じた値が最大値ｘ１２よりも負の方向に高い値であるか否かを判断する。因みに、「ｐ」は任意に設定し得るパラメータであり、例えばこのとき入力される入力オーディオデータＤ１０がサンプリング周波数８ｋＨｚ、量子化１６bit と想定した場合、ｐ＝９０などとされる。
【００５３】
包絡線算出部１１は、ステップＳＰ１３において、肯定結果が得られた（すなわち、ｆ（ｔ)=ｐ( ｔ12−ｔ11）で表される関数によって算出された値に最大値ｘ１１を乗じた値が最大値ｘ１２よりも負の方向に高い値である）場合には、ステップＳＰ１４に移り、否定結果が得られた（すなわち、ｆ（ｔ)=ｐ( ｔ12−ｔ11）で表される関数によって算出された値に最大値ｘ１１を乗じた値が最大値ｘ１２よりも負の方向に低い値である）場合には、ステップＳＰ１２において、ｆ（ｔ)=ｐ( ｔ12−ｔ11）で表される関数によって算出された値に最大値ｘ１１を乗じた値よりも負の方向に高い値である最大値ｘ１２（図８）が検出されるまでゼロクロス間（ＣＲ′３・・・ＣＲ′ｎ）の振幅の最大値ｘ１２（図８）を検出する。
【００５４】
ステップＳＰ１４において包絡線算出部１１は、包絡線の候補値（サンプリング点）とされた最大値ｘ１１及び最大値ｘ１２間のデータに対して線形一次補間方法を用いて補間処理を施し、続くステップＳＰ７及びＳＰ１５に移る。
【００５５】
ステップＳＰ７において包絡線算出部１１は、補間処理を施した最大値ｘ１１及び最大値ｘ１２間のデータ及び候補値（サンプリング点）を包絡線データＤ１１（図１）として、クラス分類部１４（図１）に出力する。
【００５６】
また、ステップＳＰ１５において包絡線算出部１１は、外部から入力されてくる入力オーディオデータＤ１０が全て入力されたか否かを判断する。ここで否定結果が得られると、このことは入力オーディオデータＤ１０が続いて入力されていることを表しており、このとき包絡線算出部１１は、ステップＳＰ１１に戻って、入力オーディオデータＤ１０の負領域ＡＲ２からゼロクロス間の振幅の最大値ｘ１１を再び検出する。
【００５７】
これに対して、ステップＳＰ１５において肯定結果が得られると、このことは入力オーディオデータＤ１０を全て入力し終わったことを表しており、このとき包絡線算出部１１は、ステップＳＰ２０に移って包絡線算出処理手順ＲＴ１を終了する。
【００５８】
このように、包絡線算出部１１は簡単な包絡線算出アルゴリズムによって、結果として正領域ＡＲ１では図９に示すような、なめらかな包絡線ＥＮＶ５、及び負領域ＡＲ２では図１０に示すような、なめらかな包絡線ＥＮＶ６を生成させ得る包絡線データ（候補値（サンプリング点）と、補間処理を行った候補値間のデータ）をリアルタイムに算出することができる。
【００５９】
次に、図１について上述した予測係数メモリ１５に記憶するクラス毎の予測係数のセットを予め学習によって得るための学習回路について説明する。
【００６０】
図１１において、学習回路３０は、高音質の教師オーディオデータＤ３０を生徒信号生成フィルタ３７に受ける。生徒信号生成フィルタ３７は、間引き率設定信号Ｄ３９により設定された間引き率で教師オーディオデータＤ３０を所定時間ごとに所定サンプル間引くようになされている。
【００６１】
この場合、生徒信号生成フィルタ３７における間引き率によって、生成される予測係数が異なり、これに応じて上述のオーディオ信号処理装置１０で再現されるオーディオデータも異なる。例えば、上述のオーディオ信号処理装置１０においてサンプリング周波数を高くすることでオーディオデータの音質を向上しようとする場合、生徒信号生成フィルタ３７ではサンプリング周波数を減らす間引き処理を行う。また、これに対して上述のオーディオ信号処理装置１０において入力オーディオデータＤ１０の欠落したデータサンプルを補うことで音質の向上を図る場合には、これに応じて、生徒信号生成フィルタ３７ではデータサンプルを欠落させる間引き処理を行うようになされている。
【００６２】
かくして、生徒信号生成フィルタ３７は教師オーディオデータ３０から所定の間引き処理により生徒オーディオデータＤ３７を生成し、これを包絡線算出部３１、クラス分類部抽出部３２及び予測演算部抽出部３３にそれぞれ供給する。
【００６３】
包絡線算出部３１は生徒信号生成フィルタ３７から供給された生徒オーディオデータＤ３７を所定時間毎の領域（この実施の形態の場合、例えば６サンプル毎とする）に分割した後、当該分割された各時間領域の波形について、図５について上述した包絡線算出方法によりその包絡線を算出する。
【００６４】
包絡線算出部３１は生徒オーディオデータＤ３７のこのとき分割された時間領域の包絡線算出結果を生徒オーディオデータＤ３７の包絡線波形データＤ３１としてクラス分類部３４に供給する。
【００６５】
また、クラス分類部抽出部３２は生徒信号生成フィルタ３７から供給された生徒オーディオデータＤ３７を、包絡線算出部３１の場合と同様の時間領域（この実施の形態の場合例えば６サンプル）に分割することによりクラス分類しようとするオーディオ波形データＤ３２を抽出し、これをクラス分類部３４に供給する。
【００６６】
クラス分類部３４は、クラス分類抽出部３２において切り出されたオーディオ波形データＤ３２に対応する包絡線波形データＤ３１について、当該包絡線波形データＤ３１を圧縮して圧縮データパターンを生成するＡＤＲＣ(Adaptive Dynamic Range Coding) 回路部と、包絡線波形データＤ３１の属するクラスコードを発生するクラスコード発生回路部とを有する。
【００６７】
ＡＤＲＣ回路部は包絡線波形データＤ３１に対して、例えば８ビットから２ビットに圧縮するような演算を行うことによりパターン圧縮データを形成する。このＡＤＲＣ回路部は、適応的量子化を行うものであり、ここでは、信号レベルの局所的なパターンを短い語長で効率的に表現することができるので、信号パターンのクラス分類のコード発生用に用いられる。
【００６８】
具体的には、包絡線波形上の６つの８ビットのデータ（包絡線波形データ）をクラス分類しようとする場合、２48という膨大な数のクラスに分類しなければならず、回路上の負担が多くなる。そこで、この実施の形態のクラス分類部３４ではその内部に設けられたＡＤＲＣ回路部で生成されるパターン圧縮データに基づいてクラス分類を行う。例えば６つの包絡線波形データに対して１ビットの量子化を実行すると、６つの包絡線波形データを６ビットで表すことができ、２6 ＝６４クラスに分類することができる。
【００６９】
ここで、ＡＤＲＣ回路部は、切り出された領域内の包絡線のダイナミックレンジをＤＲ、ビット割り当をｍ、各包絡線波形データのデータレベルをＬ、量子化コードをＱとして、上述の（１）式と同様の演算により、領域内の最大値ＭＡＸと最小値ＭＩＮとの間を指定されたビット長で均等に分割して量子化を行う。かくして包絡線算出部１において算出された包絡線上の６つの波形データが、それぞれ例えば８ビット（ｍ＝８）で構成されているとすると、これらはＡＤＲＣ回路部においてそれぞれが２ビットに圧縮される。
【００７０】
このようにして圧縮された包絡線波形データをそれぞれｑn （ｎ＝１〜６）とすると、クラス分類部３４に設けられたクラスコード発生回路部は、圧縮された包絡線波形データｑn に基づいて、上述の（２）式と同様の演算を実行することにより、そのブロック（ｑ1 〜ｑ6 ）が属するクラスを示すクラスコードclass を算出し、当該算出されたクラスコードclass を表すクラスコードデータＤ３４を予測係数算出部３６に供給する。因みに（２）式において、ｎは圧縮された包絡線波形データｑn の数を表し、この実施の形態の場合ｎ＝６であり、またＰはビット割り当てを表し、この実施の形態の場合Ｐ＝２である。
【００７１】
このようにして、クラス分類部３４はクラス分類部抽出部３２において切り出されたオーディオ波形データＤ３２に対応する包絡線波形データＤ３１のクラスコードデータＤ３４を生成し、これを予測係数算出部３６に供給する。また、予測係数算出部３６には、クラスコードデータＤ３４に対応した時間軸領域のオーディオ波形データＤ３３（ｘ1 、ｘ2 、……、ｘn ）が予測演算部抽出部３３において切り出されて供給される。
【００７２】
予測係数算出部３６は、クラス分類部３４から供給されたクラスコードclass と、各クラスコードclass 毎に切り出されたオーディオ波形データＤ３３と、入力端ＴINから供給された高音質の教師オーディオデータＤ３０とを用いて、正規方程式を立てる。
【００７３】
すなわち、生徒オーディオデータＤ３７のｎサンプルのレベルをそれぞれｘ1 、ｘ2 、……、ｘn として、それぞれにｐビットのＡＤＲＣを行った結果の量子化データをｑ1 、……、ｑn とする。このとき、この領域のクラスコードclass を上述の（２）式のように定義する。そして、上述のように生徒オーディオデータＤ３７のレベルをそれぞれ、ｘ1 、ｘ2 、……、ｘn とし、高音質の教師オーディオデータＤ３０のレベルをｙとしたとき、クラスコード毎に、予測係数ｗ1 、ｗ2 、……、ｗn によるｎタップの線形推定式を設定する。これを次式、
【００７４】
【数４】
0004538704.tif 000005
【００７５】
とする。学習前は、Ｗn が未定係数である。
【００７６】
学習回路３０では、クラスコード毎に、複数のオーディオデータに対して学習を行う。データサンプル数がＭの場合、上述の（４）式に従って、次式、
【００７７】
【数５】
0004538704.tif 000006
【００７８】
が設定される。但しｋ＝１、２、……Ｍである。
【００７９】
Ｍ＞ｎの場合、予測係数ｗ1 、……ｗn は一意的に決まらないので、誤差ベクトルｅの要素を次式、
【００８０】
【数６】
0004538704.tif 000007
【００８１】
によって定義し（但し、ｋ＝１、２、……、Ｍ）、次式、
【００８２】
【数７】
0004538704.tif 000008
【００８３】
を最小にする予測係数を求める。いわゆる、最小自乗法による解法である。
【００８４】
ここで、（７）式によるｗn の偏微分係数を求める。この場合、次式、
【００８５】
【数８】
0004538704.tif 000009
【００８６】
を「０」にするように、各Ｗn （ｎ＝１〜６）を求めれば良い。
【００８７】
そして、次式、
【００８８】
【数９】
0004538704.tif 000010
【００８９】
【数１０】
0004538704.tif 000011
【００９０】
のように、Ｘij、Ｙi を定義すると、（８）式は行列を用いて次式、
【００９１】
【数１１】
0004538704.tif 000012
【００９２】
として表される。
【００９３】
この方程式は、一般に正規方程式と呼ばれている。なお、ここではｎ＝６である。
【００９４】
全ての学習用データ（教師オーディオデータＤ３０、クラスコードclass 、オーディオ波形データＤ３３）の入力が完了した後、予測係数算出部３６は各クラスコードclass に上述の（１１）式に示した正規方程式を立てて、この正規方程式を掃き出し法等の一般的な行列解法を用いて、各Ｗn について解き、各クラスコード毎に、予測係数を算出する。予測係数算出部３６は、算出された各予測係数（Ｄ３６）を予測係数メモリ１５に書き込む。
【００９５】
このような学習を行った結果、予測係数メモリ１５には、量子化データｑ1 、……、ｑ6 で規定されるパターン毎に、高音質のオーディオデータｙを推定するための予測係数が、各クラスコード毎に格納される。この予測係数メモリ１５は、図１について上述したオーディオ信号処理装置１０において用いられる。かかる処理により、線形推定式に従って通常のオーディオデータから高音質のオーディオデータを作成するための予測係数の学習が終了する。
【００９６】
このように、学習回路３０は、オーディオ信号処理装置１０において補間処理を行う程度を考慮して、生徒信号生成フィルタ３７で高音質の教師オーディオデータの間引き処理を行うことにより、オーディオ信号処理装置１０における補間処理のための予測係数を生成することができる。
【００９７】
以上の構成において、包絡線算出部１１は、入力ディジタル信号（入力オーディオデータＤ１０）を所定間隔（ゼロクロス間）毎に区切り、当該所定間隔（ゼロクロス間）毎に区切った入力ディジタル信号（入力オーディオデータＤ１０）における振幅の最大値のうち、閾値よりも高い値となる最大値（サンプリング点：ｘ１、ｘ１１）を検出する。
【００９８】
また、包絡線算出部１１は、検出した最大値ｘ１（ｘ１１）が含まれるゼロクロス間以降のゼロクロス間から最大値ｘ２（ｘ１２）を検出するようになされており、このとき検出した最大値ｘ２（ｘ１２）は、ｆ（ｔ)=ｐ( ｔ2 −ｔ1 ）（ｆ（ｔ)=ｐ( ｔ12−ｔ11））で表される関数によって算出された値に最大値ｘ１（ｘ１１）を乗じた値よりも高い値となっている。
【００９９】
このように、包絡線算出部１１は、閾値よりも高い値となる最大値ｘ１（ｘ１１）をサンプリング点とすると共に、ｆ（ｔ)=ｐ( ｔ2 −ｔ1 ）（ｆ（ｔ)=ｐ( ｔ12−ｔ11））で表される関数によって算出された値に最大値ｘ１（ｘ１１）を乗じた値よりも高い値となる最大値ｘ２（ｘ１２）をサンプリング点とすることにより、なめらかな包絡線を生成するうえで必要としないゼロクロス間の最大値（すなわち、振幅の小さい最大値）を除外して検出することとなり、これを包絡線データとして外部（クラス分類部１４）に出力する。
【０１００】
さらに包絡線算出部１１は、このとき検出されたなめらかな包絡線を生成するうえで必要とされたサンプリング点ｘ１（ｘ１１）及びｘ２（ｘ１２）間のデータに対して補間処理を行うようになされており、当該補間処理を行うことにより生成されたサンプリング点ｘ１（ｘ１１）及びｘ２（ｘ１２）間のデータを包絡線データとして外部（クラス分類部１４）に出力する。
【０１０１】
このように包絡線算出部１１は簡単な包絡線算出アルゴリズムによって、入力されるディジタル信号が振幅の変化の激しい信号であった場合においても、高精度の包絡線を生成させ得る各データ（候補値（サンプリング点）と、補間処理を行った候補値間のデータ）とを包絡線データとしてリアルタイムに出力することができ、かくして、高精度の包絡線の算出を図ることができる。
【０１０２】
以上の構成によれば、なめらかな包絡線を生成するうえで必要としないゼロクロス間の最大値（すなわち、振幅の小さい最大値）を除外して検出すると共に、当該検出した最大値間のデータに対して補間処理を行うようにしたことにより、高精度の包絡線の算出を図ることができる。
【０１０３】
なお上述の実施の形態においては、検出したゼロクロス間ＣＲ１の最大値ｘ１とゼロクロス間ＣＲ１以降のゼロクロス間ＣＲ２の最大値ｘ２とを検出したとき（すなわち、サンプリング点を２つ検出したとき）、最大値ｘ１及びｘ２巻のデータに対して線形一次補間方法を用いて補間処理を施す場合について述べたが、本発明はこれに限らず、入力されたディジタル信号全ての各ゼロクロス間の各最大値（サンプリング点）を検出した後、当該検出した各サンプリング点間のデータに対して補間処理を施すようにしても良い。
【０１０４】
この場合、入力されたディジタル信号全ての各候補値（サンプリング点）を記憶させる所定の保持メモリを包絡線算出部内に設ける、又はオーディオ信号処理装置内のハードディスクドライブに保持メモリ領域を設ける。これにより包絡線算出部は、入力されたディジタル信号全ての各候補値（サンプリング点）を検出した後、当該保持メモリ（ハードディスクドライブ）に記憶された各候補値（サンプリング点）を読み出すことにより、線形一次補間方法のみでなく、例えばラグランジュ補間方法やスプライン補間方法等の多次元関数を用いた方法を用いて補間処理を施すことができる。
【０１０５】
すなわち、図５との対応部分に同一符号を付して示す図１２において、包絡線算出部は、ステップＳＰ３及びＳＰ５で正領域ＡＲ１（図３）の信号成分から検出された各候補値（サンプリング点：ｘ１，ｘ２）をステップＳＰ２１にて所定の保持メモリに記憶し、ステップＳＰ２２に移る。
【０１０６】
ステップＳＰ２２において包絡線算出部は、入力されたディジタル信号が終わりか否かを判断し、ここで否定結果が得られると、包絡線算出部１１は再度ステップＳＰ３に戻って、入力されてくるディジタル信号の各候補値（サンプリング点）を検出し、これをステップＳＰ２１にて所定の保持メモリに記憶させる処理を繰り返す。
【０１０７】
ステップＳＰ２２において肯定結果が得られると、包絡線算出部はステップＳＰ２３において、保持メモリに記憶した（ステップＳＰ２１）各候補値（サンプリング点）を読み出すことにより、線形一次補間方法、又は多次元関数を用いた方法を用いて補間処理を施すことにより包絡線を検出し、続くステップＳＰ２７に移る。
【０１０８】
一方、包絡線算出部は、ステップＳＰ１１及びＳＰ１２で負領域ＡＲ２（図３）の信号成分から検出された各候補値（サンプリング点：ｘ１１，ｘ１２）をステップＳＰ２４にて所定の保持メモリに記憶し、ステップＳＰ２５に移る。
【０１０９】
ステップＳＰ２５において包絡線算出部は、入力されたディジタル信号が終わりか否かを判断し、ここで否定結果が得られると、包絡線算出部は再度ステップＳＰ１１に戻って、入力されてくる信号（ディジタル音声信号）の各候補値（サンプリング点）を検出し、これをステップＳＰ２４にて所定の保持メモリに記憶させる処理を繰り返す。
【０１１０】
ステップＳＰ２５において肯定結果が得られると、包絡線算出部はステップＳＰ２６において、保持メモリに記憶した（ステップＳＰ２４）各候補値（サンプリング点）を読み出すことにより、線形一次補間方法、又は多次元関数を用いた方法を用いて補間処理を施すことにより包絡線を検出し、続くステップＳＰ２７に移る。
【０１１１】
ステップＳＰ２７において包絡線算出部は、正負それぞれ検出したなめらかな包絡線を外部に出力し、続くステップＳＰ２８に移って包絡線検出処理手順ＲＴ１を終了する。
【０１１２】
このように、各候補値（サンプリング点）を記憶させる所定の保持メモリを包絡線算出部内に設ける（又はオーディオ信号処理装置内のハードディスクドライブに保持メモリ領域を設ける）ようにし、入力されたディジタル信号全ての各ゼロクロス間の各最大値からサンプルリング点とする各最大値を検出した後、検出した各最大値（サンプリング点）間のデータに対して補間処理を施すようにすれば、線形一次補間方法のみでなく、例えばラグランジュ補間方法やスプライン補間方法等の多次元関数を用いた方法を用いて補間処理を施すことができ、かくして一段と精度の高い補間処理を施すことができる。
【０１１３】
また上述の実施の形態においては、線形一次補間方法を用いて補間処理を施す場合について述べたが、本発明はこれに限らず、予め種々の候補値（サンプリング点）をサンプルデータとして、所定の保持メモリに記憶させておき、当該記憶させたサンプルデータに基づいて、例えばラグランジュの補間方法やスプライン補間方法等、多次元関数を用いた方法によって補間処理を施すようにしても良い。
【０１１４】
この場合、予め種々の候補値（サンプリング点）をサンプルデータとして記憶された所定の保持メモリを包絡線算出部内に設ける、又はオーディオ信号処理装置内のハードディスクドライブに保持メモリ領域を設ける。これにより包絡線算出部は、図５で上述したステップＳＰ６又はステップＳＰ１４において、保持メモリに記憶された各種サンプルデータを読み出し、当該読み出した各種サンプルデータと、このときの候補値（サンプリング点）である最大値ｘ１及びｘ２とによって、多次元関数を用いた方法を用いて補間処理を施すことができる。
【０１１５】
このように、予め種々の候補値（サンプリング点）をサンプルデータとして記憶された所定の保持メモリを包絡線算出部内に設ける（又はオーディオ信号処理装置内のハードディスクドライブに保持メモリ領域を設ける）ようにすれば、多次元関数を用いた方法で補間処理を施すことができ、かくして一段と精度の高い補間処理を施すことができる。
【０１１６】
さらに上述の実施の形態においては、入力オーディオデータ（ディジタル音声信号）から包絡線を検出する場合について述べたが、本発明はこれに限らず、例えばディジタル映像信号や、スペクトラム拡散にて検出されるスペクトラムから包絡線を検出する等、他の種々のディジタル信号から包絡線を検出する際に本発明を適用することができる。
【０１１７】
さらに上述の実施の形態においては、包絡線算出部１１をオーディオ信号処理装置１０内に設ける場合について述べたが、本発明はこれに限らず、例えば、パーソナルコンピュータ等の装置内に包絡線検出部を設けるようにしても良い。要は、大局的な変化を算出する（すなわち、包絡線を算出する）過程を利用する種々のディジタル信号処理装置に適用し得る。
【０１１８】
さらに上述の実施の形態においては、プログラムによって包絡線算出部１１が包絡線算出処理手順を実行する場合について述べたが、本発明はこれに限らず、ハードウェア構成によってこれらの機能を実現して種々のディジタル信号処理装置内に設けたり、又は各機能を実現するプログラムを格納したプログラム格納媒体（フロッピーディスク、光ディスク等）からこれらのプログラムを種々のディジタル信号装置にロードして各機能部を実現するようにしても良い。
【０１１９】
【発明の効果】
上述のように本発明によれば、選択対象の区間と、該区間に対して直前の区間に対する閾値が、ｔをサンプリング時間位置としたとき、ｆ（ｔ）＝ｐ（ｔ２  −ｔ１  ）で算出される値に直前の区間内での最大値点ｘ１を乗算したｆ（ｔ）・ｘ１とし、その閾値以上の最大値となるサンプリング点を補間することにより、高精度の包絡線の算出を図り得る。
【図面の簡単な説明】
【図１】オーディオ信号処理装置の構成を示すブロック図である。
【図２】包絡線を用いたクラス分類適応処理の説明に供する信号波形図である。
【図３】オーディオ信号処理装置の構成を示すブロック図である。
【図４】クラス分類適応処理手順を示すフローチャートである。
【図５】本発明による包絡線算出処理手順を示すフローチャートである。
【図６】入力データ例を示す略線図である。
【図７】正領域における候補値検出の説明に供する略線図である。
【図８】負領域における候補値検出の説明に供する略線図である。
【図９】正領域において結果として生成される包絡線例を示す略線図である。
【図１０】負領域において結果として検出される包絡線例を示す略線図である。
【図１１】学習回路の構成を示すブロック図である。
【図１２】他の実施の形態による包絡線算出処理手順を示すフローチャートである。
【図１３】従来の包絡線算出装置による包絡線算出例を示す略線図である。
【符号の説明】
１０……オーディオ信号処理装置、１５……ＲＡＭ、２１……ＣＰＵ、２２……ＲＯＭ、２４……通信インターフェイス、２５……ハードディスクドライブ、２６……入力手段、２７……データ入出力部、２８……リムーバブルドライブ。
【図１】
0004538704.tif 000013
【図２】
0004538704.tif 000014
【図３】
0004538704.tif 000015
【図４】
0004538704.tif 000016
【図５】
0004538704.tif 000017
【図６】
0004538704.tif 000018
【図７】
0004538704.tif 000019
【図８】
0004538704.tif 000020
【図９】
0004538704.tif 000021
【図１０】
0004538704.tif 000022
【図１１】
0004538704.tif 000023
【図１２】
0004538704.tif 000024
【図１３】
0004538704.tif 000025