(57)【特許請求の範囲】
【請求項１】
所定の標本化周期及び量子化ビット長を有するディジタル信号を処理する方法に関するプログラムを記録したコンピュータ読み取り可能な記録媒体であって、コンピュータに、
前記ディジタル信号に対して、同一の量子化レベルが複数個連続する信号区間を、逐次検出する区間検出ステップと、
前記区間検出ステップにおいて検出された区間に対し、互いに隣接する２つの該同一レベル連続区間の不連続部分を含む所定の信号区間を補間対象区間として決定する区間決定ステップと、
前記区間決定ステップにより決定された補間対象区間内の前後にわたる区間の信号を解析することによって周期性の度合いを検出する度合い検出ステップと、
前記度合い検出ステップにより検出された周期性の度合いに基づいて、所定の単調に変化する関数曲線の変化特性を適応的に変化させながら、該関数曲線に従って該補間対象区間内の信号レベルを補間処理する補間処理ステップであって、該信号の周期性の度合いが大きいときに、該関数曲線が緩やかに変化し、又その度合いが小さいときに急峻に変化するように該関数曲線の特性を変化させる補間処理ステップと、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２】
請求項１に記載のコンピュータ読み取り可能な記録媒体において、
該補間処理するステップが、該信号の周期性の度合いを周波数分析を用いて検出するステップを含むコンピュータ読み取り可能な記録媒体。
【請求項３】
請求項１に記載のコンピュータ読み取り可能な記録媒体において、
該補間処理するステップが、該信号の周期性の度合いを自己相関関数分析を用いて検出するステップを含むコンピュータ読み取り可能な記録媒体。
【請求項４】
請求項２に記載のコンピュータ読み取り可能な記録媒体において、
該同一レベルが複数個連続する区間の各々を補間対象区間とし、および該周波数分析が、該補間対象区間の時間長をＴとして周波数ｆ＝１／２Ｔにおける周波数成分のレベルを測定することからなるコンピュータ読み取り可能な記録媒体。
【請求項５】
所定の標本化周期および量子化ビット長を有するディジタル信号を処理するための演算手段を含む装置であって、
前記ディジタル信号に対して、同一の量子化レベルが複数個連続する信号区間を、逐次検出する区間検出手段と、
前記区間検出手段により検出された区間に対し、互いに隣接する２つの該同一レベル連続区間の不連続部分を含む所定の信号区間を補間対象区間として決定する区間検出手段と、
前記区間決定手段により決定された補間対象区間内の前後にわたる区間の信号を解析することによって周期性の度合いを検出する度合い検出手段と、
前記度合い検出手段により検出された周期性の度合いに基づいて、所定の単調に変化する関数曲線の変化特性を適応的に変化させながら、該関数曲線に従って該補間対象区間内の信号レベルを補間処理する補間処理手段であって、該信号の周期性の度合いが大きいときに、該関数曲線が緩やかに変化し、又その度合いが小さいときに急峻に変化するように該関数曲線の特性を変化させる補間処理手段と、を備える装置。
【請求項６】
請求項５に記載の装置において、
該補間処理する手段が、該信号の周期性の度合いを周波数分析を用いて検出するよう動作する装置。
【請求項７】
請求項５に記載の装置において、
該補間処理する手段が、該信号の周期性の度合いを自己相関関数分析を用いて検出するよう動作する装置。
【請求項８】
請求項６に記載の装置において、
該同一のレベルが連続する信号区間の各々を補間対象区間とし、及び該周波数分析が、該補間対象区間の時間長をＴとして周波数ｆ＝１／２Ｔにおける周波数成分のレベルを測定することからなる装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル信号の補間方法、補間装置に係り、とくに、圧縮データを伸長した場合の如く、量子化ノイズの大きなディジタル信号でも効果的に量子化ノイズを低減できる補間方法、及び補間装置に関する。
【０００２】
【従来の技術】
例えば、音声、映像等のディジタル記録／再生では、音声、映像等のアナログ信号をＡ／Ｄ変換してディジタル信号（標本化・量子化レベル系列を半導体メモリ、光ディスク等の所定の記憶媒体に記憶しておき、再生時に記録媒体から読み出したあと、Ｄ／Ａ変換して元の音声、映像等を再現するようにしている。記憶媒体の容量を節約したい場合は、アナログ信号をＡ／Ｄ変換する際の量子化ビット長を短くすれば良いが、記憶媒体から読み出したディジタル信号に量子化ノイズが発生する。このため、従来は記憶媒体から読み出したディジタル信号の量子化ビット長を下位側に所定ビット長だけ拡張するとともに、図２２の如く、入力波形に応じて周波数特性（カットオフ周波数）が動的に変化する可変ローパスフィルタに入力し、補間処理を行うようにしている。
【０００３】
例えば、原信号が図２３（１）の如く正弦波のアナログ信号の場合、Ａ／Ｄ変換後のディジタル信号は図２３（２）の如くなるが、ビット拡張後、可変ローパスフィルタに入力して補間処理を行ったディジタル信号は図２３（３）の如くなり、元の正弦波に近く、量子化ノイズがかなり改善されることが判る。
【０００４】
発明の要旨
半導体メモリ等の比較的高価な記憶媒体を使用する場合、より記憶容量を有効利用するため、ディジタル信号を圧縮したあと記憶させるようにしている。圧縮率は高いが完全には元の波形に戻せない非可逆的圧縮方式の場合、例えば、図２３（１）に示す如く原信号が正弦波の場合、Ａ／Ｄ変換後の原ディジタル信号は図２３（２）の如くなり、まだ量子化ノイズはそれほど大きくないが、圧縮・伸長後の復元ディジタル信号は図２４（１）の如くなり、大きな量子化ノイズが残っている。この復元ディジタル信号に対し、量子化ビット長を下位側に所定ビット長だけ拡張したあと、可変ローパスフィルタに入力すると、図２４（２）の如くなり、まだ大きな量子化ノイズが残っている。量子化ノイズ低減効果を上げるため可変ローパスフィルタのカットオフ特性を急峻にしようとすると、群遅延特性が悪化してしまうので実現できないという問題があった。
【０００５】
本発明は上記した従来技術の問題に鑑み、群遅延特性を悪化させずに量子化ノイズを低減できる補間方法及び補間装置を提供することを、その目的とする。
【０００６】
本発明は、所定の標本化周期及び量子化ビット長を有するディジタルオーディオ信号又はディジタル画像信号を処理する方法もしくは装置において、同一レベルが連続する信号区間と、これに隣接する、異なる同一レベルが連続する信号区間の間の不連続部分を含む所定の信号区間を補間対象区間として、単調に変化する所定の関数曲線に従って補間対象区間内の信号レベルを補間処理するようにしたことを特徴とする。
【０００７】
補間処理の対象となるディジタル信号は、ディジタルオーディオ信号の場合はオーディオ信号の量子化振幅値の系列であり、ディジタル画像信号の場合は画像信号の量子化階調値の系列又は量子化された２次元周波数変換係数値の系列である。
【０００８】
本発明の補間処理は、補間対象区間の前後にわたる区間の信号の周期性の度合いに応じて関数曲線の変化特性を適応的に変化させるようにしてなされる。そして、信号の周期性の度合いが大きいときに、該関数曲線が緩やかに変化し、またその度合いが小さいときに急峻に変化するように該関数曲線の特性を変化させるようになっている。また、信号の周期性の度合いは、周波数分析又は自己相関分析を用いて検出するようにしている。
【０００９】
好適には、補間対象区間内の時間長をＴとして、周波数ｆ＝１／２Ｔにおける周波数成分のレベルに応じて関数曲線を適応的に変化させるようにしている。
【００１０】
また、補間対象区間としては、３種類の区間、即ち（ｉ）先行する同一レベル連続区間の先頭を始期とし、後続する同一レベル連続区間の先頭を終期として定められる区間、（ｉｉ）先行する同一レベル連続区間の最後尾を始期とし、後続する同一レベル連続区間の最後尾を終期として定められる区間、又は（ｉｉｉ）先行する同一レベル連続区間の中央付近を始期とし、後続する同一レベル連続区間の中央付近を終期として定められる区間のうちのいずれか１種類の区間が選択される。
【００１１】
さらに、本発明においてディジタル画像信号を処理する場合においては、フレーム画面の水平方向において、同一階調レベルが連続する信号区間と、これに隣接する、異なる同一階調レベルが連続する信号区間の間の不連続部分を含む所定の信号区間を所定の関数曲線に従って補間処理して、階調レベルを水平方向にそってなめらかに変化させるようにするとともに、フレーム画面の垂直方向において、同一階調レベルが連続する信号区間と、これに隣接する、異なる階調レベルが連続する信号区間の間の不連続部分を含む所定の信号区間を、所定の関数曲線に従って補間処理して、階調レベルを垂直方向にそってなめらかに変化させるようにする。これは静止画像の信号を処理する場合に相当する。
【００１２】
動画像の信号を処理する場合はこれに加えてさらに、フレーム間方向において、同一階調レベルが連続する信号区間と、これに隣接する異なる階調レベルが連続する信号区間の間の不連続部分を含む所定の信号の信号区間を、所定の関数曲線に従って補間処理して、階調レベルをフレーム間方向にそってなめらかに変化させるようにする。
【００１３】
また、上述のディジタル画像信号処理法においては、水平方向における補間処理のステップの後で、水平方向の階調レベル系列を垂直方向の階調レベル系列に変換するプロセス、垂直方向における補間処理のステップの後で、該垂直方向の階調レベル系列をフレーム間方向の階調レベル系列に変換するプロセス、及び該フレーム間方向における補間処理のステップの後で、該フレーム間方向の階調レベル系列を水平方向の階調レベル系列に変換するプロセスを含む。
【００１４】
そして、階調レベルの系列の変換は、フレームメモリの読み出し／書き込み操作により行われ、好適には、Ｎを自然数として各々Ｎフレーム容量を持つ２つの画像メモリを設け、交互に書き込み及び読み出し操作を繰り返すことにより階調レベル系列が変換される。
【００１５】
基本的考え方
まず、本発明のディジタル信号の補間処理アルゴリズムの基本的考え方について説明する。
【００１６】
音楽等、多くのソース信号は周期性を有しており、或る時間窓でＦＦＴにより周波数成分の分析をし、周波数スペクトラムを見ると幾つかの周波数で線スペクトルが観察される。また、ディジタル音楽信号等で量子化ノイズの大きなディジタル信号では、同一の量子化レベルが連続する区間（以降、同一値連続区間という）が周期的に出現することが多い。
【００１７】
一般に、差分ＰｃＭ（ＤＰｃＭ）、適応差分ＰｃＭ（ＡＤＰｃＭ）、あるいはサブバンドＡＤＰｃＭなどによりオーデオ又は画像信号のディジタル情報圧縮が図られ、直線ＰｃＭ方式に比較して少ないビット長で、アナログ原信号を符号化し通信又は記録できることが知られている。しかしながら、少ないビット長で表わされるディジタル信号は量子化ステップサイズが大きいため相異なる同一値連続区間が隣接すると階段状に変化する部分が出現する（図９（２）を参照）。このような区間でもともと原波形が滑らかに変化していた場合には、この階段がそのまま復号されると量子化ノイズを生ずる。そこで、本発明では量子化ノイズを有効に低減せしめるために、原波形が本来なめらかに変化していたと推定される場合には、ディジタル信号の同一値連続区間により形成される階段部分をレベル補間してなめらかに変化するように処理する。一方、本来的に原波形が急峻に変化する波形（例えば、パルシブな楽音波形）である場合には、補間処理はあえて行なわないようにする。通常の信号波形は、これら波形特性の間の特性を有していると考えられるので推定される波形特性に応じて適応的に補間処理するようにする。原波形の特性を推定するにあたっては、周波数分析や自己相関分析を利用して、（隣接する同一値連続区間の階段状変化部分を含む、）補間対象区間の前後を含むやや広い時間区間（図８参照）を分析して原波形の周期性、雑音性、およびインパルス性などの度合を検出するようにする。
【００１８】
発明の実施の形態
本発明においては、ディジタルデータ列中に互いに値の異なる同一値連続区間が２つ続けて現れた部分を検出し、第１同一値連続区間の内、第２同一値連続区間の直前に先行する全部または一部の区間を補間対象区間として、補間対象区間の先頭から第２同一値連続区間の先頭までほぼ単調に変化する補間関数に従い補間を行うことで、元のディジタルデータ列だ第１同一値連続区間の前後で有している周波数成分から見て、或る周波数成分がとくに目立って強調されるのを回避しながら、量子化ノイズの低減を図ることができる。つまり、ディジタルデータ列が第１同一値連続区間の前後に渡る或る所定期間で有する周波数成分を分析し、周波数成分の分析結果に応じて適応的に補間関数を適応的に変化させることで、量子化ノイズの大幅な低減をしても、元のディジタルデータ列が第１同一値連続区間の前後で有している周波数成分から見て、或る周波数成分がとくに目立って強調されるおそれが少ないときは、量子化ノイズの低減を優先して行い、量子化ノイズの大幅な低減をしようとすると或る周波数成分がとくに目立って強調されてしまうおそれが強いときは、当該或る周波数成分を強調し過ぎない範囲で量子化ノイズの低減をするという高度な補間が可能となる。
【００１９】
補間対象区間の時間長さをＴとすると補間波形により周波数ｆ＝１／２Ｔの成分が強調され易くなる。そこで、補間前のディジタルデータ列が第１同一値連続区間の前後に渡る或る所定期間で有する周波数ｆ＝１／２Ｔの成分の大きさに応じて適応的に補間関数を変化させることで、量子化ノイズの大幅な低減をしても周波数ｆ＝１／２Ｔの成分がとくに目立って強調されるおそれが少ないときは量子化ノイズの低減を優先して行い、量子化ノイズの大幅な低減をしようとすると周波数ｆ＝１／２Ｔの成分がとくに目立って強調される恐れが強いときは、当該周波数成分を強調し過ぎない範囲で量子化ノイズの低減をすることが可能となる。
【００２０】
補間対象区間の補間波形を、補間前のディジタルデータ列の信号波形が第１同一値連続区間の前後に渡る或る所定期間で有している周波数成分に適合させるようにすると、元のディジタルデータ列の有する周波数成分から見て、或る周波数成分がとくに強調され過ぎるのを回避しながら、量子化ノイズを低減可能となる。ここで、「補間対象区間の補間波形を、補間前のディジタルデータ列の信号波形が第１同一値連続区間の前後に渡る或る所定期間で有している周波数成分に適合させる」とは、補間波形により追加される周波数成分の各スペクトル周波数が、補間前のディジタルデータ列の信号波形が第１同一値連続区間の前後に渡る或る所定期間で有している周波数成分による各スペクトル周波数の全部または一部となるべく重なるようにし、余計な周波数成分をなるべく追加しないすることを意味し、より好ましくは、更に、補間波形により追加される周波数成分が、補間前のディジタルデータ列の信号波形が第１同一値連続区間の前後に渡る或る所定期間で有している周波数成分の内、或る周波数成分を強調し過ぎないようにすることを意味する。
【００２１】
本発明の補間処理では、補間前のディジタルデータ列に対する第１同一値連続区間の前後に渡る或る所定期間でのＦＦＴによる周波数成分の分析の結果に応じて、適応的に補間波形を定める補間関数を変化させるが、補間対象区間の時間長さをＴとして、１／２Ｔ＝ｆs ／２Ｌ2 の周波数の振幅値をｑa 、スペクトルの相対長さをｒa 、振幅値が最大となっている周波数ｆmax の振幅値をｑmax 、スペクトルの相対長さをｒmax とする。ここでは一例として、ｒa のＲM に対する相対的な大きさの大小に応じて適応的に補間関数を変化させる。
【００２２】
具体的には、正規化した第１の関数Ｆ1 （ｘ）として、
Ｆ1 （ｘ）＝（１／２）−（１／２）・ｃｏｓ（ｘπ／２）
但し、ｘの定義域０〜２
を定めておく。Ｆ1 （ｘ）を図示すると、図１１（１）の如くなり、ｘ＝０〜２の範囲でＦ1 （ｘ）は０から１まで正弦波状に単調に増大変化する。
更に、正規化した第２の関数Ｆ2 （ｘ）として、
ｒa ≠ＲM のとき
Ｆ2 （ｘ）＝１−｛１−（ｒa ／ＲM ）｝・｛１−（ｘ−１）2 ｝1/2
ｒa ＝ＲM のとき
Ｆ2 （ｘ）＝１
但し、ｘの定義域０〜２
を定めておく。Ｆ2 （ｘ）を図示すると、図１１（２）の如くなり、ｘ＝０〜２の範囲でＦ2 （ｘ）は最小値＝１−｛１−（ｒa ／ＲM ）｝、最大値＝１の範囲で楕円曲線に沿って変化するか（ｒa ≠ＲM のとき）、またはｘ＝０〜２の範囲で一定値１をとる（ｒa ＝ＲM のとき）。
Ｇ（ｘ）を、
Ｇ（ｘ）＝Ｆ1 （ｘ）・Ｆ2 （ｘ）
但し、ｘの定義域０〜２
により定め、ｒa のＲM に対する相対的な大きさの大小に応じて適応的に変化する補間関数Ｙ（Ｓ1 ＋ｊ）を、次式で定義する（ｊは離散変数。Ｓ1 ＋ｊは第１メモリ２Ａのアドレスを指す）。
Ｙ（Ｓ1 ＋ｊ）＝Ｙ1 ＋（Ｙ2 −Ｙ1 ）・Ｇ（２ｊ／Ｌ2 ）
但し、ｊ＝１、２、・・、（Ｌ2 −１）
【００２３】
例えばｒa ＝ＲM であったとき、Ｆ2 （ｘ）＝１なので、Ｇ（ｘ）＝Ｆ1 （ｘ）となる。すると、補間対象区間は周波数がｆs ／２Ｌ2 の正弦波波形で、補間対象区間の先頭から第２同一値連続区間の先頭まで単調に増加するように補間される（図１０（１）の補間曲線Ａと補間データＤ3,1 、Ｄ4,1 、Ｄ5,1 参照）。このとき、量子化ノイズは大きく低減される。ｒa ＝ＲM であれば、元のディジタルデータ列の内、第１同一値連続区間を含む前後或る所定期間で見たとき、ｆs ／２Ｌ2 の周波数成分が元々大きな値で存在しているので、補間対象区間を周波数がｆs ／２Ｌ2 の正弦波波形で補間しても、耳障りな音が出ることはない。
【００２４】
また、ｒa ＝ＲM ／２であったとき、補間対象区間は周波数がｆs ／２Ｌ2 の正弦波波形を、元の第１同一値連続区間、第２同一値連続区間の形状に近づける方向に少し押し潰したような波形曲線に沿って補間される（図１０（１）の補間曲線Ｂと補間データＤ3,2 、Ｄ4,2 、Ｄ5,2 参照）。このとき、量子化ノイズの低減は少し小さくなるが、入力ディジタルデータ列の内、第１同一値連続区間を含む前後或る所定期間で見たとき、ｆs ／２Ｌ2 の周波数成分は大きくなかったので、補間波形により耳障りな音が強調されるのを避けることができる。
【００２５】
一方、例えばｒa ＝ＲM であったとき、Ｆ2 （ｘ）＝１なので、Ｇ（ｘ）＝Ｆ1 （ｘ）となる。すると、補間対象区間は周波数がｆs ／２Ｌ1 の正弦波波形で、補間対象区間の先頭から第２同一値連続区間の先頭まで単調に増加するように補間される（図１０（２）の補間曲線Ｃと補間データＤ7,1 、Ｄ8,1 、Ｄ9,1 参照）。このとき、量子化ノイズは大きく低減される。ｒa ＝ＲM であれば、入力ディジタルデータ列の内、第１同一値連続区間を含む前後或る所定期間で見たとき、ｆs ／２Ｌ1 の周波数成分が元々大きな値で存在しているので、補間対象区間を周波数がｆs ／２Ｌ1 の正弦波波形で補間しても、耳障りな音が出ることはない。
【００２６】
また、ｒa ＝ＲM ／２であったとき、補間対象区間は周波数がｆs ／２Ｌ1 の正弦波波形を少し押し潰したような波形曲線に沿って補間される（図１０（２）の補間曲線Ｄと補間データＤ7,2 、Ｄ8,2 、Ｄ9,2 参照）。このとき量子化ノイズの低減は少し小さくなるが、入力ディジタルデータ列の内、第１同一値連続区間を含む前後或る所定期間で見たとき、ｆs ／２Ｌ1 の周波数成分は大きくなかったので、補間波形により耳障りな音が強調されるのを避けることができる。
【００２７】
上記実施例においては、補間関数として、正弦波状曲線の半波長を表わす関数を選択したが、これに限定されるものではなく、例えば、正弦波状曲線の１／４波長を表わす関数を選択しても良い。この場合は、ＦＦＴ分析結果においてｆ＝１／４Ｔの成分に着目して同様の処理が行なわれる。さらに、補間関数としては、他の単調増加もしくは減少関数も利用可能である。
【００２８】
本発明においては、上述したように、補間前のディジタルデータ列が第１同一値連続区間の前後に渡る或る所定期間で有する周波数成分を分析し、周波数成分の分析結果に応じて適応的に補間関数を変化させることで、量子化ノイズの大幅な低減をしても、補間前のディジタルデータ列が第１同一値連続区間の前後で有していた周波数成分から見て、或る周波数成分を強調し過ぎるおそれが少ないときは、量子化ノイズの低減を優先して行い、量子化ノイズの大幅な低減をしようとすると或る周波数成分を強調し過ぎる恐れが強いときは、当該或る周波数成分を強調し過ぎない範囲で量子化ノイズの低減をする。
【００２９】
具体的には、補間対象区間の時間長さをＴとすると、補間波形により周波数ｆ＝１／２Ｔの成分が強調され易い。そこで、補間前のディジタルデータ列が第１同一値連続区間の前後に渡る或る所定期間で有する周波数ｆ＝１／２Ｔの成分の大きさに応じて適応的に補間関数を変化させることで、量子化ノイズの大幅な低減をしても周波数ｆ＝１／２Ｔの成分を強調し過ぎる恐れが少ないときは、量子化ノイズの低減を優先して行い、量子化ノイズの大幅な低減をしようとすると周波数ｆ＝１／２Ｔの成分を強調し過ぎる恐れが強く、聴感上の違和感が生じるときは、周波数ｆ＝１／２Ｔを強調し過ぎない範囲で量子化ノイズの低減をすることができる。
【００３０】
この結果、例えば、入力ディジタルデータ列が図１２（１）の如きであったとき、本実施の形態の補間装置の出力は図１２（２）の如くなり、量子化ノイズが大幅に低減されていることが判る。また、入力ディジタルデータ列が図２０（１）の如きであった場合、本実施の形態の補間装置の出力は図１３の如くなり、従来の可変ローパスフィルタを用いた場合と比べて（図２４（２）参照）、量子化ノイズを抑えられることが判る。
【００３１】
なお、上記実施例においては、補間対象区間の前後にわたる信号区間を周波数分析（即ち、ＦＦＴ分析）してその結果に基づいて、補間関数を適応的に変化させるようにしたが、ＦＦＴ分析の代わりに下記式にて定義される短時間自己相関数による分析を利用してもよい。
Φ（τ）＝∫M1M2Ｗ（ｔ）×Ｓ（ｔ−τ）ｄｔ
Ｗ（ｎ）：窓関数
Ｓ（ｎ）：サンプル信号
この場合は、τ＝２Ｔのときの正規化自己相関係数値Φ（２Ｔ）／Φ（ο）に着目して補間関数を変化させるようにする。
【００３２】
さらに、上記した実施の形態では第１同一値連続区間と第２同一値連続区間の内、第１同一値連続区間に、第２同一値連続区間と同じ長さの補間対象区間を設定するようにしたが、反対に、第２同一値連続区間に、第１同一値連続区間と同じ長さの補間対象区間を設定するようにしても良い。
【００３３】
即ち、上述の実施形態では、互いに隣接する２つの同一値連続区間が存在する場合に、先行する同一値連続区間の先頭を始期とし、後続する同一値連続区間の先頭を終期として定まる区間を補間対象区間とした。これに対して、先行する同一値連続区間の最後尾を始期とし、後続する同一値連続区間の最後尾を終期として定まる区間を補間対象区間とすることも無論可能であり、この場合も所期の目的が達成される。この場合の補間操作の前後で信号レベルが変化する様子を図１６に示す。
【００３４】
ＤＳＰによる補間処理の実現例
本発明の補間方法は、信号処理専用のマイクロコンピュータであるディジタル信号プロセッサ（ＤＳＰ）を用いてプログラムを実行することにより実時間処理が可能である。
【００３５】
図１は本発明に係る補間方法を具現した補間装置の構成を示すブロック図である。
【００３６】
１は圧縮音声データを伸長後のディジタルデータの入力端子であり、ここでは、サンプリング周波数ｆs 、量子化ビット長ｎで２の補数表現によるディジタルデータ列ｄ0 、ｄ1 、ｄ2 、・・が入力されるものとする。２Ａは第１メモリであり、アドレス０からＮまで、量子化ビット長ｎ′＝（ｎ＋ｍ）ビットのディジタルデータを（Ｎ＋１）個格納できる容量を有している。２Ｂは第１から第ＭまでＭ個の記憶領域を有する第２メモリであり、各記憶領域には、後述するＤＳＰ（ディジタルシグナルプロセッサ）により、第１メモリ中の連続する５１２個のディジタルデータ列ｄi 、ｄi+1 、ｄi+2 、・・、ｄi+511 に対してＦＦＴによる周波数成分の分析（周波数スペクトラムの測定）の結果得られた周波数別の大きさ（図２に示す如く、０〜−１２０（ｄＢ）の範囲での振幅値（なお、振幅値０ｄＢをＱM とする）と、−１２０（ｄＢ）を原点とし、１０ｄＢずつ０ｄＢまで等間隔に区切ったスケール上での振幅値０ｄＢのスペクトルの長さをＲM ＝１００としたときのスペクトルの相対長さ）が、第１メモリ中でＦＦＴでの分析結果を利用可能なデータのアドレス範囲Ｃ1 〜Ｃ2 と対応付けて記憶される。１回目のＦＦＴ処理に使用されるデータの格納されたアドレス範囲は０〜５１１であり、Ｃ1 ＝０、Ｃ2 ＝３８３とされる。２回目のＦＦＴ処理に使用されるデータの格納されたアドレス範囲は２５６〜７６７であり、Ｃ1 ＝３８４、Ｃ2 ＝６３９とされる。３回目のＦＦＴ処理に使用されるデータの格納されたアドレス範囲は５１２〜１０２３であり、Ｃ1 ＝６４０、Ｃ2 ＝８９５とされる（図８参照）。以下、同様にして、ｊ（ｊ≧４）回目のＦＦＴ処理に使用されるデータの格納されたアドレス範囲は（ｊ−１）×２５６〜（ｊ−１）×２５６＋５１１であり、Ｃ1 ＝（ｊ−２）×２５６＋３８４、Ｃ1 ＝（ｊ−２）×２５６＋６３９とされる。なお、ここでは説明の便宜上、Ｎ、Ｍは十分大きいものとする。
【００３７】
３はＤＳＰであり、入力端子１からディジタルデータ列ｄ0 、ｄ1 、ｄ2 、・・を入力し、下位側にｍビットだけ拡張しながら第１メモリ２Ａに入力順に書き込んでいく（具体的には、２の補数表現の場合、ｄi の符号ビットであるＭＳＢが０のときはｄi の下位側にｍ個の「０」を付加し、ｄi のＭＳＢが１のときはｄi の下位側にｍ個の「１」を付加する）。量子化ビット長がｎ′＝（ｎ＋ｍ）ビットに拡張されたディジタルデータ列の成す波形は階段状に変化し、量子化ノイズを有することになるが、ＤＳＰ３は第１メモリ２Ａに記憶されたデータを対象に所定の補間処理を行い、量子化ノイズを低減させる。ＤＳＰ３は、これら第１メモリ２Ａへの書き込み及び補間処理と平行して、第１メモリ２Ａから補間後のデータを順に読み出し、サンプリング周波数ｆs 、量子化ビット長ｎ′＝（ｎ＋ｍ）ビットのディジタルデータ列Ｇ0 、Ｇ1 、Ｇ2 、・・・として出力端子４から出力する。
【００３８】
Ａ．曲線補間
図３と図４はＤＳＰ３のメイン処理を示すフローチャート、図５はＤＳＰ３のマルチタスク処理により、メイン処理と平行して実行されるＦＦＴ処理を示すフローチャート、図６はＤＳＰ３によるデータ入力割り込み処理を示すフローチャート、図７はＤＳＰ３によるデータ出力割り込み処理を示すフローチャートである。図８はＤＳＰによるＦＦＴ動作の説明図、図９と図１０は第１メモリ２Ａに格納されるデータ列の一例を示す説明図であり、以下、これらの図を参照して補間動作を説明する。ここではｎ＝８、ｍ＝４として説明する。なお、第１メモリ２Ａのアドレスｉに記憶されたデータはＤi 、Ｄi ′、Ｄ（ｉ）、Ｄi,d （ｄは任意の整数）、Ｄi,d で表すものとする。また、ＦＦＴで周波数分析した周波数別の振幅値が取りうる最大値をＱM ＝０ｄＢ、振幅値０ｄＢのスペクトルの長さをＲM ＝１００と見做すものとする（図２参照）。
【００３９】
まず、ＤＳＰ３は初期化処理により、第１メモリ２Ａと第２メモリ２Ｂの全領域をクリアするとともに、第１メモリ２Ａに対する書込ポインタＲＰと読出ポインタＷＰを０とする（図３のステップＳ１０）。以降、ＤＳＰ３は入力端子１に新たなｎ＝８ビット長のディジタルデータｄi （ｉ＝０、１、２、・・）が入力される度に、図６のデータ入力割り込み処理を実行し、下位側にｍ＝４ビットだけ拡張しながら第１メモリ２Ａの内、ＲＰの示すアドレスに書き込むとともにＲＰをインクリメントする処理を行う（ステップＳ５０、Ｓ５１。図９参照）。また、入力データ数が１０２４個を越えたあと、周期Ｔ0 ＝（１／ｆs ）で図７のデータ出力割り込み処理を実行し、第１メモリ２Ａの内、ＷＰの示すアドレスからデータＤ（ＷＰ）を読み出し、ＧWPとして出力し、ＷＰをインクリメントする（ステップＳ６０、Ｓ６１）。
【００４０】
ＤＳＰ３は初期化処理のあと、第１メモリ２Ａを先頭アドレスの側から参照して入力データ列中に同一値のデータが複数個連続した区間が存在するか探索する（図３のステップＳ１１、Ｓ１２）。最初の同一値連続区間が見つかれば（ステップＳ１２でＹＥＳ）、続いて該同一値連続区間の最後尾が確定しているかチェックする（ステップＳ１３）。最新の入力データが今回探索した同一値連続区間の最後に当たる場合はまだ確定していないと判断し（図９（１）のＤ4 参照）、この場合、その後のデータ入力で確定するのを待つ。これと異なり、今回探索した同一値連続区間の直後に、該同一値連続区間とは異なる値のデータが格納されているときは（図９（２）のＤ5 参照）、当該同一値連続区間の最後尾が確定していると判断する。
【００４１】
ステップＳ１３でＹＥＳになれば、今回探索した同一値連続区間を第１同一値連続区間とし、先頭アドレスをＳ1 、最後尾アドレスをＥ1 、データ値をＹ1 、データ数をＬ1 として記憶する（ステップＳ１４）。図９（２）の場合、Ｓ1 ＝１、Ｅ1 ＝５、Ｌ1 ＝５となる。次に、ＤＳＰ３は第１メモリ２Ａを参照して第１同一値連続区間の直後に、第１同一値連続区間とは異なる値での同一値連続区間が存在するかチェックする（ステップＳ１５）。存在しなければ第１メモリ２Ａを参照して入力データ列中の次の同一値連続区間を探索し（ステップＳ１６、Ｓ１７）、見つかればステップＳ１３に進んで、前述と同様の処理をする。
【００４２】
ここでは図９（２）に示す如く、第１同一値連続区間の直後に、第１同一値連続区間とは異なる値での同一値連続区間が存在していたとすると、続いて該同一値連続区間の最後尾が確定しているかチェックする（ステップＳ１８）。最新の入力データが当該同一値連続区間の最後に当たる場合はまだ確定していないと判断し、その後のデータ入力で確定するのを待つが、当該同一値連続区間の直後に、該同一値連続区間とは異なる値のデータが格納されているときは（図９（２）のＤ10参照）、当該同一値連続区間の最後尾が確定していると判断し、当該同一値連続区間を第２同一値連続区間とし、先頭アドレスをＳ2 、最後尾アドレスをＥ2 、データ値をＹ2 、データ数をＬ2 として記憶する（ステップＳ１９）。図９（２）の場合、Ｓ2 ＝６、Ｅ2 ＝９、Ｌ2 ＝４となる。
【００４３】
次に、後で詳しく説明する様に、ＤＳＰ３は第１同一値連続区間の全部または第２同一値連続区間の直前の一部を補間対象区間として決定するので、第２メモリ２Ｂを参照して第１同一値連続区間の最後尾アドレスＥ1 を、ＦＦＴ結果の利用可能対象アドレス範囲Ｃ1 〜Ｃ2 に含むようなＦＦＴが完了しているかチェックし、まだであれば完了するのを待つ（ステップＳ２０）。
【００４４】
ＤＳＰ３はマルチタスク処理により、図３、図４のメイン処理と平行して図５のＦＦＴ処理を実行している。図５において、最初、第１メモリ２ＡでＦＦＴ処理に用いるデータ範囲を定めるｋを０、第２メモリ２ＢでＦＦＴ処理結果を格納する記憶領域を定めるＰを１とし（ステップＳ３１）、入力端子１から１番目〜５１２番目までのデータｄ0 、ｄ1 、・・ｄ511 が入力されて第１メモリ２Ａに格納されるのを待つ（ステップＳ３２）。ステップＳ３２でＹＥＳになれば、これら１番目〜５１２番目までのデータを用いてＦＦＴ処理を実行し、周波数別の成分の大きさ（振幅値とスペクトルの相対長さ。図２参照）を求め、第２メモリ２Ｂの第１記憶領域に格納するとともに、該第１記憶領域には、第１メモリ２Ａの内、今回のＦＦＴ処理結果の利用可能アドレス範囲Ｃ1 〜Ｃ2 も合わせて記憶させる（ステップＳ３３）。図８（１）に示す如く、１回目のＦＦＴの場合、Ｃ1 ＝０、Ｃ2 ＝３８３とされる。なお、１回分のＦＦＴ処理は、２５６個のデータｄ1 の入力に要する時間（＝２５６×（１／ｆs ））内に完了するものとする。
【００４５】
ステップＳ３３のあと、ＤＳＰ３はＰをインクリメントして２とし（ステップＳ３４）、入力端子１から２５５番目〜７６７番目までのデータが入力されて第１メモリ２Ａに格納されるのを待つ（ステップＳ３５）。ステップＳ３５でＹＥＳになれば、これら２５５番目〜７６７番目までのデータを用いてＦＦＴ処理を実行し、周波数別の振幅値とスペクトルの相対長さを求め、第２メモリ２Ｂの第２記憶領域に格納するとともに、該第２記憶領域には、第１メモリ２Ａの内、今回のＦＦＴ処理結果の利用可能アドレス範囲Ｃ1 〜Ｃ2 も合わせて記憶させる（ステップＳ３６）。図８（２）に示す如く、２回目のＦＦＴの場合、Ｃ1 ＝３８４、Ｃ2 ＝６３９とされる。
【００４６】
ステップＳ３６のあと、ＤＳＰ３はｋをインクリメントして１とし、Ｐをインクリメントして３とする（ステップＳ３７）、そして、入力端子１から５１３番目〜１０２４番目までのデータが入力されて第１メモリ２Ａに格納されるのを待つ（ステップＳ３２）。ステップＳ３２でＹＥＳになれば、これら５１３番目〜１０２４番目までのデータを用いてＦＦＴ処理を実行し、周波数別の振幅値とスペクトルの相対長さを求め、第２メモリ２Ｂの第３記憶領域に格納するとともに、該第３記憶領域には、第１メモリ２Ａの内、今回のＦＦＴ処理結果の利用可能アドレス範囲Ｃ1 〜Ｃ2 も合わせて記憶させる（ステップＳ３３）。図８（３）に示す如く、３回目のＦＦＴの場合、Ｃ1 ＝６４０、Ｃ2 ＝８９５とされる。
【００４７】
以下、ＤＳＰ３は同様の処理を繰り返し、入力データ列の内、一定期間分のデータを用いてＦＦＴ処理による周波数成分の分析を行い、周波数別の振幅値とスペクトルの相対長さを求める。
【００４８】
上記したＦＦＴ処理の進行で図３、図４のメイン処理中、ステップＳ２０でＹＥＳとなったとき、ＤＳＰ３はＬ1 とＬ2 を比較し（図４のステップＳ２１）、Ｌ1 ≧Ｌ2 であれば、第１同一値連続区間の内、第２同一値連続区間の直前のＬ2 個のデータの在る範囲を補間対象区間として決定する（ステップＳ２２）。Ｌ1 ＜Ｌ2 であれば第１同一値連続区間全体を補間対象区間として決定する（ステップＳ２７）。
【００４９】
図９（２）の場合、ステップＳ２１でＹＥＳとなるので、ＤＳＰ３はステップＳ２２の処理をしたあと、第２メモリ２Ｂの内、アドレスＥ1 をＦＦＴによる周波数成分の分析結果の利用対象アドレス範囲Ｃ1 〜Ｃ2 に含む記憶領域（ここでは第１記憶領域）に記憶された周波数別の振幅値、スペクトルの相対長さを参照して、補間対象区間の時間長さをＴとして、１／２Ｔ＝ｆs ／２Ｌ2 の周波数の振幅値をｑa 、スペクトルの相対長さをｒa 、振幅値が最大となっている周波数ｆmax の振幅値をｑmax 、スペクトルの相対長さをｒmax とする（ステップＳ２３。図２参照）。そして、ｒa ／ｒmax が所定の基準値Ｃ0 以上の大きさが有るかチェックする（ステップＳ２４）。ｒa ／ｒmax ≧Ｃ0 でないときはノイズによる誤差の影響が大きくなり、正確な補間ができないので、今回の補間対象区間について補間処理はしないようにする。ステップＳ２４でＹＥＳとなったときは、今回の補間対象区間について、補間対象区間の先頭から第２同一値連続区間の先頭まで単調に値が変化するような補間関数に従い、第１メモリ２Ａの上で補間対象区間のディジタルデータの値を置き換えることで補間処理する（ステップＳ２５）。
【００５０】
ＤＳＰ３はステップＳ２１でＹＥＳ、ステップＳ２４でＹＥＳとなると、第１メモリ２Ａのアドレス（Ｓ1 ＋ｊ）のデータＤ（Ｓ1 ＋ｊ）を、Ｙ（Ｓ1 ＋ｊ）で置き換えることで、今回の補間対象区間の補間をする（ステップＳ２５）。図１０（１）では、Ｄ（３）、Ｄ（４）、Ｄ（５）が置き換えられる。
【００５１】
ステップＳ２５のあと、ＤＳＰ３はＳ1 ←Ｓ2 、Ｅ1 ←Ｅ2 、Ｙ1 ←Ｙ2 、Ｌ1 ←Ｌ2 として今回の第２同一値連続区間を新たな第１同一値連続区間とし（ステップＳ２６）、図３のステップＳ１５に戻る。ステップＳ１５では、ＤＳＰ３は第１メモリ２Ａを参照して第１同一値連続区間の直後に、第１同一値連続区間とは異なる値での同一値連続区間が存在するかチェックする存在しなければ第１メモリ２Ａを参照して入力ディジタルデータ列中の次の同一値連続区間を探索し（ステップＳ１６、Ｓ１７）、見つかればステップＳ１３に進んで、前述と同様の処理をする。
【００５２】
ここでは図１０（２）に示す如く、アドレスＳ1 ＝６からＥ1 ＝９までの第１同一値連続区間の直後に、第１同一値連続区間とは異なる値での他の同一値連続区間が存在していたとすると、続いて該他の同一値連続区間の最後尾が確定しているかチェックする（ステップＳ１８）。最新の入力データが当該他の同一値連続区間の最後に当たる場合はまだ確定していないと判断し、その後のデータ入力で確定するのを待つが、当該他の同一値連続区間の直後に、等該他の同一値連続区間とは異なる値のデータが格納されているときは、当該他の同一値連続区間の最後尾が確定していると判断し（図１０（２）参照）、当該他の同一値連続区間を第２同一値連続区間とし、先頭アドレスをＳ2 、最後尾アドレスをＥ2 、データ値をＹ2 、データ数をＬ2 として記憶する（ステップＳ１９）。図１０（２）の場合、Ｓ2 ＝１０、Ｅ2 ＝１４、Ｌ2 ＝５となる。
【００５３】
次に、ＤＳＰ３は第１同一値連続区間の最後尾アドレスＥ1 ＝９を、ＦＦＴ処理による周波数成分の分析結果の利用対象アドレス範囲Ｃ1 〜Ｃ2 に含むＦＦＴが完了しているかチェックし、ここではＹＥＳであるとすると、図４のステップＳ２１に進む。ステップＳ２１ではＤＳＰ３はＬ1 とＬ2 を比較し、今度はＬ1 ＜Ｌ2 なので、第１同一値連続区間全てを補間対象区間として決定する（ステップＳ２７）。入力ディジタルデータ列中では、第１同一値連続区間と同様の同一値連続区間も周期的に出現することが多く、Ｌ1 ＜Ｌ2 の場合に、補間対象区間を第１同一値連続区間と同じ時間長さとすることで、補間対象区間の補間波形のｓｉｎ波成分を、補間前のディジタルデータ列の信号波形が第１同一値連続区間の前後に渡る或る所定期間で有している周波数成分に適合させるようにしている。これにより、補間前のディジタルデータ列が第１同一値連続区間の前後で有している周波数成分から見て、或る周波数成分が強調され過ぎるのを回避して、違和感なく量子化ノイズを低減可能となる。しかも、ローパスフィルタを用いないので、群遅延特性が悪化することもない。
【００５４】
第２メモリ２Ｂの内、アドレスＥ1 をＦＦＴ処理による周波数成分の分析結果の利用対象アドレス範囲Ｃ1 〜Ｃ2 に含む第１記憶領域に記憶された周波数別の振幅値を参照して、ｆs ／２Ｌ1 の周波数成分の振幅値をｑa 、スペクトルの相対長さをｒa 、振幅値が最大となっている周波数ｆmax の成分の振幅値をｑmax 、スペクトルの相対長さをｒa とする（ステップＳ２８）。
【００５５】
そして、ｒa ／ｒmax が所定の基準値Ｃ0 以上の大きさが在るかチェックする（ステップＳ２９）。ｒa ／ｒmax ≧Ｃ0 でないときは、ノイズによる誤差の影響が大きくなるので、今回の補間対象区間について補間処理はしないようにする。ステップＳ２９でＹＥＳとなったときは、今回の補間対象区間について、補間前のディジタルデータ列に対する補間対象区間近傍でのＦＦＴによる周波数成分の分析の結果に応じて、適応的に変化させた補間関数に従い、補間対象区間の先頭から第２同一値連続区間の先頭まで単調に変化するように、第１メモリ２Ａの上で補間対象区間の途中のディジタルデータの値を置き換えて補間処理する（ステップＳ３０）。
【００５６】
具体的には、ＤＳＰ３はステップＳ２１でＮＯ、Ｓ２９でＹＥＳとなると、補間関数Ｙ（Ｓ1 ＋ｊ）を（ｊは離散変数）、
Ｙ（Ｓ1 ＋ｊ）＝Ｙ1 ＋（Ｙ2 −Ｙ1 ）・Ｇ（２ｊ／Ｌ1 ）
但し、ｊ＝１、２、・・、（Ｌ1 −１）
として、第１メモリ２Ａのアドレス（Ｓ1 ＋ｊ）のデータＤ（Ｓ1 ＋ｊ）を、Ｙ（Ｓ1 ＋ｊ）で置き換えることで、今回の補間対象区間の補間をする（ステップＳ３０）。図１０（２）では、Ｄ（７）、Ｄ（８）、Ｄ（９）が置き換えられる。
【００５７】
例えばｒa ＝ＲM であったとき、Ｆ2 （ｘ）＝１なので、Ｇ（ｘ）＝Ｆ1 （ｘ）となる。
【００５８】
ステップＳ３０のあと、ＤＳＰ３はＳ1 ←Ｓ2 、Ｅ1 ←Ｅ2 、Ｙ1 ←Ｙ2 、Ｌ1 ←Ｌ2 として今回の第２同一値連続区間を新たな第１同一値連続区間とし（ステップＳ２６）、図３のステップＳ１５に戻り、以下、同様の処理を繰り返す。
【００５９】
第１メモリ２Ａに記憶された補間後の量子化ビット長＝ｎ′ビットのディジタルデータ列Ｄ0 、Ｄ1 、Ｄ2 、・・は、図７のデータ出力割り込み処理により、１／ｆs の周期で逐次読み出され、ディジタルデータ列Ｇ0 、Ｄ1 、Ｄ2 、・・として出力される。
【００６０】
なお、上記した実施の形態では第１同一値連続区間と第２同一値連続区間の内、第１同一値連続区間に、第２同一値連続区間と同じ長さの補間対象区間を設定するようにしたが変形例として、第２同一値連続区間に、第１同一値連続区間と同じ長さの補間対象区間を設定するようにしても良い。具体的には、ＤＳＰ３は図３〜図７のフローチャートの内、図３と図４のメイン処理をそれぞれ図１４と図１５に代えて行うようにすれば良い。
【００６１】
Ｂ．直線補間
また、上記した実施の形態と変形例では、第１同一値連続区間または第２同一値連続区間中の補間対象区間を曲線補間するようにしたが、直接補間するようにしてもよい。
【００６２】
具体的には、第１同一値連続区間中に補間対象区間を取って直接補間する場合、ＤＳＰ３は図３〜図７のフローチャートの内、図３と図４のメイン処理をそれぞれ図１７と図１８に代えて行うようにすれば良い。
【００６３】
図１７と図１８の処理について、簡単に説明する。但し、入力ディジタルデータ列ｄ0 、ｄ1 、・・は図９、図１０の場合と同一とする。図３のステップＳ１０〜Ｓ１９と全く同様にして、第１メモリ１２Ａのアドレス１〜５のデータＤ1 〜Ｄ5 を第１同一値連続区間、アドレス６〜９を第２同一値連続区間とする（図１７のステップＳ１０〜Ｓ１９。図１９（１）参照）。
【００６４】
次に、ＤＳＰ３はＬ1 とＬ2 を比較し（図１８のステップＳ２１）、Ｌ1 ≧Ｌ2 であれば、第１同一値連続区間の内、第２同一値連続区間の直前のＬ2 個のデータ範囲を補間対象区間として決定する（ステップＳ２２）。Ｌ1 ＜Ｌ2 であれば、第１同一値連続区間全体を補間対象区間として決定する（ステップＳ２７）。
【００６５】
図１９（１）ではステップＳ２１でＹＥＳとなるので、ＤＳＰ３はステップＳ２２の処理をしたあと、今回の補間対象区間について、補間対象区間の先頭から第２同一値連続区間の先頭まで単調に直線的に変化するような補間関数に従い、第１メモリ２Ａの上で補間対象区間のディジタルデータの値を置き換えることで補間処理する（ステップＳ６０）。
【００６６】
具体的には、第１メモリ２Ａの内、補間対象区間の各データのアドレス（Ｓ1 ＋ｊ）と補間後の各データの値Ｙとの関係を示す補間関数Ｙ（Ｓ1 ＋ｊ）を（ｊは離散変数。Ｓ1 ＋ｊは第１メモリ２Ａのアドレスを指す）、
Ｙ（Ｓ1 ＋ｊ）＝Ｙ1 ＋｛（Ｙ2 −Ｙ1 ）／Ｌ2 ｝・ｊ
但し、ｊ＝１、２、・・、（Ｌ2 −１）
とし、第１メモリ２Ａの内、アドレス３、４、５のデータＤ3 、Ｄ4 、Ｄ5 について、
Ｄ（Ｓ1 ＋ｊ）←Ｙ（Ｓ1 ＋ｊ）
の計算式に従い置き換えて補間処理を行う（図１９（１）の補間直線ＥとＤ3 、Ｄ4 ′、Ｄ5 ′参照）。
【００６７】
ステップＳ６０のあと、ＤＳＰ３はＳ1 ←Ｓ2 、Ｅ1 ←Ｅ2 、Ｙ1 ←Ｙ2 、Ｌ1 ←Ｌ2 として今回の第２同一値連続区間を新たな第１同一値連続区間とし（ステップＳ２６）、図１７のステップＳ１５に戻る。ステップＳ１５では、ＤＳＰ３は第１メモリ２Ａを参照して第１同一値連続区間の直後に、第１同一値連続区間とは異なる値での同一値連続区間が存在するかチェックする。存在しなければ第１メモリ２Ａを参照して入力ディジタルデータ列中の次の同一値連続区間を探索し（ステップＳ１６、Ｓ１７）、見つかればステップＳ１３に進んで、前述と同様の処理をする。
【００６８】
ここでは図１９（２）に示す如く、アドレスＳ1 ＝６からＥ1 ＝９までの第１同一値連続区間の直後に、第１同一値連続区間とは異なる値での他の同一値連続区間が存在していたとすると、続いて該他の同一値連続区間の最後尾が確定しているかチェックする（ステップＳ１８）。ＹＥＳであれば、当該他の同一値連続区間を第２同一値連続区間とし、先頭アドレスをＳ2 、最後尾アドレスをＥ2 、データ値をＹ2 、データ数をＬ2 として記憶する（ステップＳ１９）。図１９（２）の場合、Ｓ2 ＝１０、Ｅ2 ＝１４、Ｌ2 ＝５となる。
【００６９】
次に、図１８のステップＳ２１に進む。ステップＳ２１ではＬ1 とＬ2 を比較し、Ｌ1 ＜Ｌ2 なので、第１同一値連続区間全体を補間対象区間として決定する（ステップＳ２７）。音楽信号等で量子化ノイズの大きなディジタルデータ列中には第１同一値連続区間の前後で第１同一値連続区間と同様の同一値連続区間が周期的に出現していることも多く、補間対象区間を、第１同一値連続区間と同一の範囲とすることで、補間対象区間の補間波形のｓｉｎ波成分を、元のディジタルデータ列の信号波形が第１同一値連続区間の前後に渡る或る所定期間で有している周波数成分に適合させることができ、元のディジタルデータ列が第１同一値連続区間の前後で有する周波数成分から見て、或る周波数成分を強調し過ぎないようにして、量子化ノイズを効果的に低減可能となる。しかも、ローパスフィルタを用いないので、群遅延特性が悪化することもない。
【００７０】
ＤＳＰ３はステップＳ２７に続いて、今回の補間対象区間について、補間対象区間の先頭から第２同一値連続区間の先頭まで単調に直線的に変化するような補間関数に従い、第１メモリ２Ａの上で補間対象区間のディジタルデータの値を置き換えることで補間処理する（ステップＳ６１）。
【００７１】
具体的には、第１メモリ２Ａの内、補間対象区間の各データのアドレス（Ｓ1 ＋ｊ）と補間後の各データの値Ｙとの関係を示す補間関数Ｙ（Ｓ1 ＋ｊ）を（ｊは離散変数。Ｓ1 ＋ｊは第１メモリ２Ａのアドレスを指す）、
Ｙ（Ｓ1 ＋ｊ）＝Ｙ1 ＋｛（Ｙ2 −Ｙ1 ）／Ｌ1 ｝・ｊ
但し、ｊ＝１、２・・、（Ｌ1 −１）
とし、第１メモリ２Ａの内、アドレス７、８、９のデータＤ7 、Ｄ8 、Ｄ9 について、
Ｄ（Ｓ1 ＋１）←Ｙ（Ｓ1 ＋ｊ）
の計算式に従い置き換えて補間処理を行う（図１９（２）の補間直線ＦとＤ7 ′、Ｄ8 ′、Ｄ9 ′参照）。
【００７２】
ステップＳ６１のあと、ＤＳＰ３はＳ1 ←Ｓ2 、Ｅ1 ←Ｅ2 、Ｙ1 ←Ｙ2 、Ｌ1 ←Ｌ2 として今回の第２同一値連続区間を新たな第１同一値連続区間とし（ステップＳ２６）、図１７のステップＳ１５に戻り、以下、同様の処理を繰り返す。
【００７３】
第１メモリ２Ａに記憶された補間後の量子化ビット長＝ｎ′ビットのディジタルデータ列Ｄ0 、Ｄ1 、Ｄ2 、・・は、図７のデータ出力割り込み処理により、１／ｆs の周期で逐次読み出され、ディジタルデータ列Ｇ0 、Ｄ1 、Ｄ2 、・・として出力される。
【００７４】
期間で有している周波数成分に適合させるようにしている。これにより、元のディジタルデータ列が第１同一値連続区間の前後で有している周波数成分から見て、或る周波数成分が強調され過ぎるのを回避して、違和感なく量子化ノイズを低減可能となる。しかも、ローパスフィルタを用いないので、群遅延特性が悪化することもない。
【００７５】
なお、図１７、図１８の例では第１同一値連続区間中に補間対象区間を設定して直接補間するようにしたが、曲線補間の場合と同様、第２同一値連続区間中の補間対象区間を設定して直線補間するようにしてもよい。
【００７６】
具体的には、ＤＳＰ３は図３〜図７のフローチャートの内、図３と図４のメイン処理をそれぞれ図１７と図２０に代えて行うようにすれば良い。
また、上記した曲線補間および直線補間処理の実施の形態や各変形例ではｎ＝８、ｍ＝４を例に挙げて説明したが、本発明は何らこれに限定されるものでなく、ｎ＝１６、ｍ＝４としたり、ｎ＝２０、ｍ＝６とするなど、他の値であっても同様に適用できるものである。また、入力端子には、ｄ0 、ｄ1 、ｄ2 、・・を下位側にｍビット拡張済のデータ列ｄ0 ′、ｄ1 ′、ｄ2 ′、・・を入力させるようにし、ＤＳＰはこれらのデータをそのまま第１メモリに書き込むようにした場合にも同様に適用することができる。
【００７７】
ディジタル画像信号の処理
上述した本発明の補間処理方法の説明は、ディジタル信号として楽音や音声を標本化／量子化して得られるディジタルオーディオ信号を想定してなされたが、本発明の補間方法は、ディジタル画像信号に対しても適用可能である。以下、本発明によるディジタル画像信号の補間処理について説明する。
【００７８】
本発明の補間処理方法は、基本的にディジタル画像信号にもそのまま適用可能であるが、オーディオ信号が単に音圧瞬時値の時間的変動を表わすものであるのに対して、画像信号は２次元視覚空間性を伴うものであるという特殊性を有している。
【００７９】
例えば、テレビジョン信号は基本的に輝度レベルの時系列（カラーの場合は、Ｒ、Ｇ、Ｂ各階調の時系列）であり、この信号は、画面の各水平ラインを左から右へと走査され最上ラインからはじめて下に隣接するラインへと次々と垂直に走査される。一フレームを終了すると、次のフレームに移行し、同様の水平／垂直走査が繰り返されて動画像が表示されるようになっている。したがって、ディジタル画像信号をとり扱う場合には、フレーム内の水平方向および垂直方向における階調レベルの変動、ならびにフレーム間方向における階調レベルの変動に着目する必要がある。図２５は、このような画像信号に伴う特質としてのフレーム概念を示す図であり１０は現在のフレーム、１１は直後のフレーム及び１ＮはＮフレーム時間経過後のフレームを表わす。また、現在のフレーム中の多数の小さな区画は画素を表わし、例えば２０は、第１０ラインの左から３番目の画素である。ここで、便宜上、フレーム内の水平方向（ライン方向）をｘ方向、フレーム内の垂直方向をｙ方向およびフレーム間方向をｚ方向を呼ぶこととする。
【００８０】
本発明の画像信号補間処理の対象は、圧縮されたディジタル画像信号、例えば、フレーム間差分信号又はフレーム内離散化コサイン関数変換（ＤＣＴ）信号である。前者の場合は、各画素の階調レベルのフレーム間における差が、また後者はフレーム内をブロック化してブロック内でＤＣＴ変換して得たＤＣＴ係数が補間処理の対象となる。以下、これらは単に階調レベルおよびＤＣＴ係数と呼ぶものとする。
【００８１】
図２６は、画像信号の補間処理についての基本ブロックを示す図である。画素信号は、Ｒ、Ｇ、Ｂ３色の階調レベルを含むので、まずこれを分離して各色について補間処理を行い、補間処理後に再度これらＲ、Ｇ、Ｂを合成して被補間信号出力を得るものとする（図２６（１））。
【００８２】
なお、画素信号が、Ｒ、Ｇ、Ｂではなくこれらを変換した輝度（Ｙ）および色差（Ｉ、Ｑ）から成る場合には、画素信号をＹ、Ｉ、Ｑに分離してＹ、Ｉ、Ｑの各々の階調レベルについて補間処理を行うこととする。Ｒ、Ｇ、Ｂの各々についての補間処理は、図２６（２）のブロック構成にて実施される。所与のディジタル画像信号（階調レベル又はＤＣＴ係数の系列）は、まずｘ方向補間部３０に入力されｘ方向（フレーム内水平方向）についての補間処理がなされる。ついで、ｘ方向のレベル系列がｘ／ｙ変換部３１にてｙ方向のレベル系列に変換されｙ方向（フレーム内垂直方向）についての補間処理がなされる。その後、ｙ／ｚ変換部３３によりｚ方向（フレーム間方向）におけるレベル系列を得てｚ方向（フレーム間方向）について補間処理がなされ最後にｚ／ｘ変換されてｘ、ｙおよびｚ方向すべてについて補間処理が完了したディジタル画像信号が出力として得られ、ディスプレイ装置などの応用機器に供される。
【００８３】
上述したレベル系列変換部３１、３３および３５における変換処理は、フレームメモリを設けてこれに（書き込みアドレスと読み出しアドレスを切換えながら）書き込みおよび読み出し操作を行うことにより遂行される。図２７は、この書き込み／読み出し操作によるレベル系列変換を概念的に図示したものである。
【００８４】
図２８は、レベル系列変換部の一実施例としての具体的回路構成を示す図である。この図において、４１および４４は所定容量の画像メモリ、４０および４３は３−ステートバッファ、４２、４５および４６は入力Ｘ0 又はＸ1 の一方を選択してＹ出力とするセレクタ、ならびに４９は書き込みアドレスおよび読み出しアドレスから成るアドレス発生器である。また、４７はサンプリング周波数のクロックを発生する信号発生器および４８は分周器である。
【００８５】
ｘ／ｙ変換処理を例にとって、変換動作を説明する。分周器４８は、サンプリング周波数Ｓf を、一フレーム分の画素数（ｍ×ｎ）の２倍の比率にて分周するものとする。即ち、分周器の出力Ｆの周波数Ｆf は
Ｆf ＝Ｓf ／２×ｍ×ｎ
となる。このとき分周器の出力Ｆは、サンプリング周期のｍ×ｎ倍毎に“Ｌ”と“Ｈ”が交互に切り換わる信号となる（図２９（ｄ））。画像メモリ４１および４４は、一フレーム分の容量、即ち下記のｍ行ｎ列のマトリックスにてアドレスが表わされるｍ×ｎ個のロケーションを含むものとする。
【表１】
0004249414.tif 000002
【００８６】
分周器の出力Ｆが“Ｈ”のとき、画像メモリ４１のＲ／Ｗ端子には“Ｌ”が印加され、画像メモリ４４のＲ／Ｗ端子には“Ｈ”が印加されるから、この期間では、画像メモリ４１が書き込み用メモリとなるとともに、画像メモリ４４が読み出し用メモリとなる。画像メモリ４１および４４は双方向性入出力端子Ｄを備えているが、このとき入力信号は３−ステートバッファ４０を介してメモリ４１のＤ端子にのみ印加され、３−ステートバッファ４３の出力はハイインピーダンスとなっているのでメモリ４４からの出力はメモリ４４には印加されず、メモリ４４の出力を妨げることもない。この時、セレクタ４５および４６に対するＳ入力はそれぞれ“Ｈ”および“Ｌ”であるから、セレクタ４５のＹ出力からＸ1 、即ちＷアドレスが、セレクタ４６のＹ出力からＸ0 、即ちＲアドレスが出力されて、それぞれメモリ４１およびメモリ４４のＡ端子（アドレス端子）に印加される。より具体的にいうと、メモリ４１には、Ｗアドレス（１、１）、（１、２）、（１、３）、（１、４）、・・・・・、（１、ｎ）、（２、１）、（２、２）・・・・・（２、ｎ）・・・・・（ｍ、ｎ）がこの順で印加されるから、画像信号は通常の走査形式（図２７（ａ）の左側）にて書き込まれる。一方、メモリ４４には、Ｒアドレス（１、１）、（２、１）、（３、１）、（４、１）・・・・・（ｍ、１）、（１、２）、（２、２）・・・・・（１、ｎ）、（２、ｎ）・・・・・（ｍ、ｎ）がこの順で印加されるから、画像信号は垂直方向（図２７の（ａ）の右側）にて読み出される。一フレーム分の書き込み及び読み出しが終了した時点で、分周器４８の出力Ｆは“Ｌ”に変化するからこの時点でメモリ４１および４４の書き込み／読み出し機能は全く逆転し、メモリ４４に書き込むと同時にメモリ４１から（前に格納された）データを読み出すよう動作するようになる。このようにして、分周器の出力Ｆに基づいて画像信号の水平書き込みおよび垂直読み出しが制御され、所期の目的であるｘ／ｙレベル系列変換が達成されることになる。ｙ／ｚ変換およびｚ／ｘ変換についても同様の仕方で動作させることが可能であるが、この場合は、補間を行うべきフレーム間方向区間に応じたメモリ容量を設ける必要がある。例えば、Ｋ個のフレームにまたがったフレーム間方向処理を対象とする場合にはＫフレーム容量分の画像メモリを設ける必要がある。
【００８７】
なお、上記画像信号処理についての実施例においては、フレーム内の水平方向と垂直方向とで別個独立に補間処理をするものであるが、フレーム内補間処理を一括して行うことも可能である。例えば、図３０（ｃ）に示すような、サンプリング周期分の遅延器Ｓ及びライン周期分の遅延器Ｌを複数個と、入力ａl+1 および各遅延器の出力ａl 〜ａ-l-1に所定の係数Ｗl+1 〜Ｗ-l-1を掛算する乗算器５１〜５９と、乗算結果の総和をとる加算器６０とから成るトランスバーサルフィルタを用いることが考えられる。この例では、３×３の画素のブロック（図３０（ａ））を処理の単位とし、ａ0 を着目する画素の階調レベルであるとして、その周辺の画素の階調レベルａ-l-1、ａ-l、ａ-l+1・・・・・ａl 、ａl+1 に所定の重みづけ、即ちＷ-l-1、Ｗ-l、Ｗ-l+1・・・・・Ｗl 、Ｗl+1 を掛算してその和をａ0 の対応する出力とし、ついでａ+1の画素レベルについても同じ演算をしこれをフレーム内のすべての画素について行うものである。なお、図３０を参照しての上述の説明では簡単化のため３×３の画素でロックを例としてとりあげたが補間処理の対象を考慮して必要な数のブロックサイズを用いて演算することも無論可能である。
【図面の簡単な説明】
【図１】  本発明一つの実施の形態に係る補間装置の構成を示すブロック図である。
【図２】  図１中のＤＳＰ（ディジタルシグナルプロセッサ）が行うＦＦＴ処理結果を示す周波数スペクトラムの線図である。
【図３】  図１中のＤＳＰ（ディジタルシグナルプロセッサ）のメイン処理を示すフローチャートである。
【図４】  図１中のＤＳＰのメイン処理を示すフローチャートである。
【図５】  図１中のＤＳＰのＦＦＴ処理を示すフローチャートである。
【図６】  図１中のＤＳＰのデータ入力処理を示すフローチャートである。
【図７】  図１中のＤＳＰのデータ出力処理を示すフローチャートである。
【図８】  図１中のＤＳＰのＦＦＴ動作の説明図である。
【図９】  曲線による補間操作の一実施例を示す図である。
【図１０】  図１中のＤＳＰの補間動作の説明図である。
【図１１】  補間関数を説明するための線図である。
【図１２】  補間装置による補間動作を示す線図である。
【図１３】  図１の補間装置による補間動作を示す線図である。
【図１４】  図１の変形例に係るＤＳＰのメイン処理を示すフローチャートである。
【図１５】  図１の変形例に係るＤＳＰのメイン処理を示すフローチャートである。
【図１６】  曲線による補間操作の別の実施例を示す図である。
【図１７】  図１の他の変形例に係るＤＳＰのメイン処理を示すフローチャートである。
【図１８】  図１の他の変形例に係るＤＳＰのメイン処理を示すフローチャートである。
【図１９】  直線による補間操作の一実施例を示す図である。
【図２０】  図１の更に他の変形例に係るＤＳＰのメイン処理を示すフローチャートである。
【図２１】  直線による補間操作の別の実施例を示す図である。
【図２２】  従来の可変ローパスフィルタの周波数特性を示す線図である。
【図２３】  従来の可変ローパスフィルタ式の補間動作を説明する線図である。
【図２４】  従来の可変ローパスフィルタ式の補間動作を説明する線図である。
【図２５】  画像フレームの構成を示す図である。
【図２６】  ディジタル画像信号の前処理および補間処理を示す基本ブロック図である。
【図２７】  図２６における画素系列の変換の概念図である。
【図２８】  図２６における画素系列変換部の一実施例としての具体的回路図である。
【図２９】  図２８の回路の動作を示すタイミングチャートである。
【図３０】  画像信号の２次元補間処理を実行するトランスバーサルフィルタを示す図である。
【図１】
0004249414.tif 000003
【図２】
0004249414.tif 000004
【図３】
0004249414.tif 000005
【図４】
0004249414.tif 000006
【図５】
0004249414.tif 000007
【図６】
0004249414.tif 000008
【図７】
0004249414.tif 000009
【図８】
0004249414.tif 000010
【図９】
0004249414.tif 000011
【図１０】
0004249414.tif 000012
【図１１】
0004249414.tif 000013
【図１２】
0004249414.tif 000014
【図１３】
0004249414.tif 000015
【図１４】
0004249414.tif 000016
【図１５】
0004249414.tif 000017
【図１６】
0004249414.tif 000018
【図１７】
0004249414.tif 000019
【図１８】
0004249414.tif 000020
【図１９】
0004249414.tif 000021
【図２０】
0004249414.tif 000022
【図２１】
0004249414.tif 000023
【図２２】
0004249414.tif 000024
【図２３】
0004249414.tif 000025
【図２４】
0004249414.tif 000026
【図２５】
0004249414.tif 000027
【図２６】
0004249414.tif 000028
【図２７】
0004249414.tif 000029
【図２８】
0004249414.tif 000030
【図２９】
0004249414.tif 000031
【図３０】
0004249414.tif 000032