(57)【要約】【課題】デジタル編集された高精細オーディオのワークデータを効率的に可逆圧縮することが可能な時系列信号の符号化装置および記録媒体を提供する。【解決手段】時系列のサンプル列を奇数番目と偶数番目に分けて、奇数番目のサンプルと隣接する両偶数番目のサンプルの平均との差分値、偶数番目のサンプルと隣接する両奇数番目のサンプルの平均との差分値を算出し、差分値が小さいものが続く方を主サンプル列、他方を副サンプル列として再配置する。再配置した主サンプル列、副サンプル列それぞれに対して線形予測誤差に基づく予測誤差値を求め、可変長符号化を行う。【選択図】  図２
2004266587.tif 000002
【特許請求の範囲】
【請求項１】
時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化装置であって、
前記サンプル列に対して、録音信号をサンプリングすることにより得られた主サンプル列と、主サンプル列を補間処理することにより得られた副サンプル列を分離すると共に、前記副サンプル列中の各副サンプルの値を、近傍の主サンプルの平均値と当該副サンプルの値との差分値に変換するサンプル列再配置手段と、
前記主サンプル列、前記変換された副サンプル列それぞれに対して、線形予測誤差を算出し、前記主サンプル列および前記副サンプル列の値をそれぞれ予測誤差値に変換する予測誤差変換手段と、
前記予測誤差値に変換された主サンプル列、副サンプル列を可変長で符号化する可変長符号化手段と、
を有することを特徴とする時系列信号の符号化装置。
【請求項２】
請求項１において、
前記サンプル列再配置手段は、前記サンプル列の偶数番目に位置するサンプルの値が前後の奇数番目に位置するサンプル列の平均値に近い場合に、奇数番目に位置するサンプルを主サンプル列、偶数番目に位置するサンプルを副サンプル列に分離するものであり、
前記サンプル列の奇数番目に位置するサンプルの値が前後の偶数番目に位置するサンプル列の平均値に近い場合に、偶数番目に位置するサンプルを主サンプル列、奇数番目に位置するサンプルを副サンプル列に分離するものであることを特徴とする時系列信号の符号化装置。
【請求項３】
請求項１において、
前記主サンプル列および前記副サンプル列変換手段による処理後の副サンプル列に対して、下位の所定数のビット成分を削除する下位固定ビット削除手段を有し、当該下位固定ビット削除手段による処理後のサンプル列に対して前記予測誤差変換手段が処理を行うものであることを特徴とする時系列信号の符号化装置。
【請求項４】
請求項１において、
前記サンプル列が同一時刻に複数の値をもつ複数のチャンネルで構成されている場合、チャンネル間の同一時刻におけるサンプル同士の差分を算出し、いずれかのチャンネルのサンプル列を前記算出された差分値で更新するようにしたチャンネル間演算手段をさらに有することを特徴とする時系列信号の符号化装置。
【請求項５】
請求項１において、
前記サンプル列の中で、サンプルの値が連続して同一値になっているサンプルを抽出し、前記サンプル列から削除すると共に、削除したサンプルの先頭時間位置と、サンプル個数と、サンプル値の３つの値を符号化する信号平坦部処理手段を、前記予測誤差変換手段の前段に有することを特徴とする時系列信号の符号化装置。
【請求項６】
請求項１において、
前記サンプル列の中から所定の個数のサンプル列で構成されるフレームと同一内容のフレームが時間的に過去に存在する場合に、未来に位置するフレームを削除し、両フレームの先頭時間位置と、フレームを構成するサンプル個数を符号化する相関フレーム検出手段を、前記予測誤差変換手段の前段に有することを特徴とする時系列信号の符号化装置。
【請求項７】
請求項１において、
前記予測誤差変換手段は、前記主サンプル列および副サンプル列に対して、時間的に過去のサンプル列から、複数の予測計算式に基づいて、複数の予測誤差値の候補を算出し、その中から符号化対象の予測誤差値を選別するものであることを特徴とする時系列信号の符号化装置。
【請求項８】
請求項７において、
前記複数の予測計算式の線形係数を、所定のサンプル数ごとに更新することを特徴とする時系列信号の符号化装置。
【請求項９】
請求項１において、
前記予測誤差に変換されたサンプル値の絶対値に対して、全体を１ビット上位にずらし、正負符号を最下位１ビットに挿入する極性処理手段を、前記可変長符号化手段の前段に有することを特徴とする時系列信号の符号化装置。
【請求項１０】
請求項１において、
前記可変長符号化手段は、前記予測誤差値に変換された各サンプルのビット成分のうち、下位のビット成分をそのままのビット成分で符号化し、残りの上位ビット成分に対してビット成分を変更して符号化を行うものであることを特徴とする時系列信号の符号化装置。
【請求項１１】
与えられた時系列信号に対して、請求項１から請求項１０のいずれかの時系列信号の符号化装置により出力された符号データを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、音楽制作、音響データの素材保管、ロケ素材の中継など音楽制作分野、ＣＤ・ＤＶＤ等のデジタル記録媒体を用いたオーディオ記録再生、遠隔医療における生体信号の解析・診断等の分野において好適なデータの圧縮符号化技術に関する。
【０００２】
【従来の技術】
従来より、音響信号の圧縮には様々な手法が用いられている。音響信号を圧縮して符号化する手法として、ＭＰ３（ＭＰＥＧ−１／Ｌａｙｅｒ３）、ＡＡＣ（ＭＰＥＧ−２／Ｌａｙｅｒ３）などが実用化されている。このような圧縮符号化方式により、音響信号を小さいデータとして扱うことが可能となり、データの記録・伝送の効率化に貢献している。
【０００３】
最近では、上述のようなＭＰ３、ＡＡＣ等のロッシー符号化方式だけでなく、完全に復元することが可能なロスレス符号化方式も開発されており、音響素材の管理に用いられている（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特表２０００−８２１１９９号公報
【０００５】
【発明が解決しようとする課題】
高精細オーディオを扱う場合は、通常のオーディオ（音楽ＣＤ品質：サンプリング周波数４４．１ｋＨｚ、量子化ビット数１６ビット）に比べ、サンプリング周波数または量子化ビット数を高く設定してサンプリングしている。音楽編集分野では、さまざまな音をミックスして編集する作業がしばしば行われるが、この際、部分的に通常のオーディオがミックスされる場合があり、この通常のオーディオについては、高精細オーディオに合わせるべく、サンプルの補間、量子化ビット数の引き伸ばし等が行われる。このような補間処理を施された音響信号は、原理的に原音がもつ情報量程度に圧縮を行うことが可能であるが、従来のロスレス符号化方式で符号化を行っても、その程度の圧縮効果が得られない。逆に、そのまま線形予測符号化を中心とした圧縮を行うと、補間された箇所の線形予測誤差が増大して圧縮率が劣化する場合もあり、冗長箇所を圧縮するのとは逆効果にもなり得る。例えば、サンプリング周波数を２倍に拡大したオーディオデータは、理論上は５０％以下に圧縮可能なはずであるが、現実には５０％を超える圧縮率になってしまう。
【０００６】
そこで、このような問題を解決するため、本発明は、デジタル編集途上の高精細オーディオのワークデータを効率的に可逆圧縮することが可能な時系列信号の符号化装置および記録媒体を提供することを課題とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するため、本発明では、時系列のサンプル列で構成される時系列信号に対して、前記全てのサンプル列を再現できるように情報量を圧縮する符号化装置として、前記サンプル列に対して、録音により作成された主サンプル列と、主サンプル列を補間処理することにより得られた副サンプル列を分離すると共に、前記副サンプル列中の各副サンプルの値を、近傍の主サンプルの平均値と当該副サンプルの値との差分値に変換するサンプル列再配置手段と、前記主サンプル列、前記変換された副サンプル列それぞれに対して、線形予測誤差を算出し、前記主サンプル列および前記副サンプル列の値をそれぞれ予測誤差値に変換する予測誤差変換手段と、前記予測誤差値に変換された主サンプル列、副サンプル列を可変長で符号化する可変長符号化手段を有する構成としたことを特徴とする。
【０００８】
本発明によれば、時系列信号を構成するサンプル列を、録音により得られた主サンプル列と、主サンプル列を補間することにより得られた副サンプル列に再配置し、主サンプル列と副サンプル列それぞれに対して予測符号化し、可変長符号化するようにしたので、デジタル編集途上の高精細オーディオのワークデータを効率的に可逆圧縮することが可能となる。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
（第１の実施形態）
図１は、本発明に係る時系列信号の符号化装置の第１の実施形態を示す構成図である。図１において、１０は時系列信号入力手段、２０はサンプル列再配置手段、３０は下位固定ビット削除手段、４０は予測誤差変換手段、５０はチャンネル間演算手段、６０は極性処理手段、７０は可変長符号化手段である。
【００１０】
図１において、時系列信号入力手段１０はデジタル音響信号等のデジタル化された音響信号を入力する機能を有している。サンプル列再配置手段２０は、入力された時系列信号であるサンプル列を録音を基に得られたサンプル列である主サンプル列と主サンプル列を補間することにより得られた副サンプル列とに分離する機能を有している。下位固定ビット削除手段３０は、量子化雑音成分である下位の所定数のビットを削除する機能を有している。予測誤差変換手段４０は、線形予測誤差の手法を用いて、各サンプルの値を予測誤差値に変換する機能を有する。チャンネル間演算手段５０は、複数のチャンネルからなるサンプル列の各チャンネル間の差分演算を行う機能を有する。極性処理手段６０は、正負の値を補数表現により表した各サンプルのビット列を、正負の極性を表す１ビットと他のビット列に分ける処理を行う機能を有する。可変長符号化手段７０は、各サンプルの値を可変ビット長で符号化する機能を有している。図１に示した装置は、実際には、コンピュータおよびコンピュータにインストールされた専用のソフトウェアプログラムにより実現される。
【００１１】
次に、図１に示した時系列信号の符号化装置の処理動作について説明する。本発明では、時系列信号として複数の音響信号をミックスしたワークデータを扱う場合を例にとって説明する。このような音響信号は、上述のように、サンプリング周波数４８ｋＨｚ、量子化ビット数１６ビットの通常の音響信号や、サンプリング周波数９６ｋＨｚ、量子化ビット数２４ビットの高精細の音響信号が混在している。このようにサンプリング周波数の異なる音響信号を混在させることにより得られる音響信号は、高精細の音響信号にサンプリング周波数を統一させて扱うことになる。この場合、サンプリング周波数４８ｋＨｚの音響信号は、サンプリング周波数９６ｋＨｚの音響信号にサンプル数を合わせるべく隣接するサンプルの平均値で間を補間していく。
【００１２】
このような音響信号を模式的に示すと図２（ａ）のようになる。図２（ａ）において括弧内の数字は、１から昇順に付されたサンプル番号であり、ｘは、そのサンプルの値を示している。このようなサンプル列である時系列信号が時系列信号入力手段１０から入力されると、サンプル列再配置手段２０は、奇数番目のサンプルについて、その両隣の偶数番目のサンプルの平均値との差分を演算すると共に、偶数番目のサンプルについて、その両隣の奇数番目のサンプルの平均値との差分を演算する。このときのサンプル列を模式的に示すと、それぞれ図２（ｂ）（ｃ）に示すようになる。なお、図２（ｂ）の例では、演算を行わない偶数番目のサンプルを、図２（ｃ）の例では、奇数番目のサンプルを、それぞれ時間的に過去に移動させた状態で示している。
【００１３】
この差分演算の結果、差分値が小さいものが多い方を副サンプル列とし、少ない方を主サンプル列とする。図２の例では、図２（ｂ）の配列の後半分の各値と、
図２（ｃ）の配列の後半分の各値とを比較することになる。例えば、奇数番目のサンプルが補間によって得られたものである場合、図２（ｂ）に示した配列の後半の値が０になる。一方、偶数番目のサンプルが補間によって得られたものである場合、図２（ｃ）に示した配列の後半の値が０に近くなる。例えば、図２（ｂ）に示す配列の後半に０近辺の値が多い場合、偶数番目のサンプルの集合を主サンプル列、奇数番目のサンプルの集合を副サンプル列として分離する。また、サンプル列再配置手段２０の処理においては、図２（ｂ）（ｃ）に示したように主サンプルを時間的に過去に移動し、副サンプルを時間的に未来に移動させるようにしても良いが、主サンプルと副サンプルを分離して扱うようにしても良い。例えば、奇数番目が副サンプルの場合には、図２（ｄ）に示すように主サンプルと副サンプルを分離する。本発明においては、本来のサンプルを利用して補間することにより得られたサンプルを含んだサンプル列に対して線形予測を行うことにより、逆にデータ量が増えてしまうことを防ぐために、主サンプル列と副サンプル列を区別している。そのため、主サンプル列と副サンプル列に対して、別々に線形予測を行うことができれば、図２（ｂ）（ｃ）に示したような１つのサンプル列であっても、図２（ｄ）に示したような２つのサンプル列であっても良い。
【００１４】
次に、下位固定ビット削除手段３０が、主サンプル列、副サンプル列の各サンプルの下位の所定数のビットを分離する。これは、量子化ビット数が１６ビットのデータを高精細の音響信号と合わせるために２４ビットに変換している場合に、冗長な下位ビット成分を削除するために行い、この処理を行わないと、符号化された情報量は３／２倍に増大することになる。一方、ミックスする基になった素材の音響信号が全て高精細の２４ビットで量子化されている場合は、下位固定ビット削除手段３０による処理を行う必要はないが、同様に削除を行い、削除された下位ビットデータ配列を出力符号データの一部として別途記録する手段もとれ、その方が後段の予測誤差変換手段以降の処理負荷が軽減する。下位固定ビット削除手段３０については、動作させるかどうかをあらかじめ設定しておくことができる。
【００１５】
続いて、主サンプル列、副サンプル列の各サンプルの値を、予測誤差変換手段４０が予測誤差値に変換する。あるサンプルにおける予測誤差値の算出は、時間的に過去に位置する直前の１つもしくは複数のサンプルの値を利用して行われる。本実施形態では、利用する直前のサンプル数を動的に変化させる手法を用いている。以下に、このような適応型線形予測符号化について説明する。予測誤差変換手段４０により行われる適応型線形予測符号化の処理概要を図３のフローチャートに示す。まず、あらかじめ準備された複数の予測計算式を用いて、各予測計算式に対応した線形予測誤差を算出する（ステップＳ１）。具体的には、サンプル番号ｔの予測誤差を算出する予測計算式として、以下の〔数式１〕〜〔数式６〕を用意している。
【００１６】
〔数式１〕
ｅ０（ｔ）＝ｘ（ｔ）−ｅ０（ｔ−１）／２
【００１７】
〔数式２〕
ｅ１（ｔ）＝ｘ（ｔ）−ａ１１・ｘ（ｔ−１）−ｅ１（ｔ−１）／２
【００１８】
〔数式３〕
ｅ２（ｔ）＝ｘ（ｔ）−ａ２１・ｘ（ｔ−１）−ａ２２・ｘ（ｔ−２）−ｅ２（ｔ−１）／２
【００１９】
〔数式４〕
ｅ３（ｔ）＝ｘ（ｔ）−ａ３１・ｘ（ｔ−１）−ａ３２・ｘ（ｔ−２）−ａ３３・ｘ（ｔ−３）−ｅ３（ｔ−１）／２
【００２０】
〔数式５〕
ｅ４（ｔ）＝ｘ（ｔ）−ａ４１・ｘ（ｔ−１）−ａ４２・ｘ（ｔ−２）−ａ４３・ｘ（ｔ−３）−ａ４４・ｘ（ｔ−４）−ｅ４（ｔ−１）／２
【００２１】
〔数式６〕
ｅ５（ｔ）＝ｘ（ｔ）−ａ５１・ｘ（ｔ−１）−ａ５２・ｘ（ｔ−２）−ａ５３・ｘ（ｔ−３）−ａ５４・ｘ（ｔ−４）−ａ５５・ｘ（ｔ−５）−ｅ５（ｔ−１）／２
【００２２】
上記〔数式１〕〜〔数式６〕において、ｅ０（ｔ）〜ｅ５（ｔ）は各予測計算式による時刻ｔのサンプルにおける予測誤差であり、ｘ（ｔ）〜ｘ（ｔ−５）は時刻ｔ〜ｔ−５におけるサンプル値である。
【００２３】
上記〔数式３〕における「ａ２１・ｘ（ｔ−１）＋ａ２２・ｘ（ｔ−２）」、上記〔数式４〕における「ａ３１・ｘ（ｔ−１）＋ａ３２・ｘ（ｔ−２）＋ａ３３・ｘ（ｔ−３）」、上記〔数式５〕における「ａ４１・ｘ（ｔ−１）＋ａ４２・ｘ（ｔ−２）＋ａ４３・ｘ（ｔ−３）＋ａ４４・ｘ（ｔ−４）」、上記〔数式６〕における「ａ５１・ｘ（ｔ−１）＋ａ５２・ｘ（ｔ−２）＋ａ５３・ｘ（ｔ−３）＋ａ５４・ｘ（ｔ−４）＋ａ５５・ｘ（ｔ−５）」は過去の２〜５個のサンプルに基づく線形予測成分である。この線形予測成分、および、直前のサンプルにおいて算出された予測誤差「ｅ１（ｔ−１）／２」〜「ｅ５（ｔ−１）／２」（誤差フィードバック成分）を用いて時刻ｔにおける予測誤差ｅ０（ｔ）〜ｅ５（ｔ）を算出する。
【００２４】
上記の係数ａ１１〜ａ５５には初期値として、ａ１１＝１、ａ２１＝２、ａ２２＝−１、ａ３１＝３、ａ３２＝−３、ａ３３＝１、ａ４１＝４、ａ４２＝−６、ａ４３＝４、ａ４４＝−１、ａ５１＝５、ａ５２＝−１０、ａ５３＝１０、ａ５４＝−５、ａ５５＝１なる値が各々設定されているが、本実施形態では、これらの係数を動的に変化させる。具体的には、Ｌｅｖｉｎｓｏｎ−Ｄｕｒｖｉｎのアルゴリズムを利用した以下の〔数式７〕を用いて係数ａ１１〜ａ５５を決定する。
【００２５】
〔数式７〕
φ（ｋ）＝１／（Ｎ−Ｋ）・Σｊ＝１，Ｎ−Ｋｘ（ｊ）・ｘ（ｊ＋ｋ）
ｋｉ＝−｛φ（ｉ）＋Σｊ＝１，ｉ−１ａｊ（ｉ−１）・φ（ｉ−ｊ）｝／Ｅ（ｉ−１）
ａｉ（ｉ）＝ｋｉ
ａｊ（ｉ）＝ａｊ（ｉ−１）＋ｋｉ・ａｉ−ｊ（ｉ−１）  ただし、１≦ｊ≦ｉ−１
Ｅ（ｉ）＝（１−ｋｉ２）Ｅ（ｉ−１）
【００２６】
上記〔数式７〕において、φ（ｋ）は、Ｎ個のサンプルｘ（ｊ）（ｊ＝１，…，Ｎ）において、最大値Ｋ（上記例では５）の範囲でｋサンプルシフトさせたサンプル列との自己相関値である。なお、ＮはＫに対して十分大きな数値をとっている（例えばＫ＝５の場合、Ｎ＝３２７６８）。〔数式７〕は、ｉ＝１からｉ＝Ｋまで再帰的に繰り返し、最終的に得られたａｊ（Ｋ）が過去Ｋ個のサンプルに対応する係数になるとともに、各フェーズにおいて得られた中間結果であるａｊ（ｉ）が係数ａｉｊとなる。ステップＳ１においては、上記〔数式７〕により決定した係数を用いて、〔数式１〕〜〔数式６〕の各計算式で計算を行うことになる。〔数式７〕による計算は、実際には後述するステップＳ７において行われるものである。また、係数を決定するには、過去の数サンプル分の値を必要とするので、初めのＮ−１サンプルについては、前述した初期係数で〔数式１〕〜〔数式６〕の計算を行うことになる。
【００２７】
続いて、上記各予測計算式別の予測誤差値の絶対値の累積である累積誤差が最小となる線形予測誤差をそのサンプルの予測誤差として選出する（ステップＳ２）。ここでは、累積誤差という考え方を用いている。具体的には、各予測計算式〔数式１〕〜〔数式６〕により算出された予測誤差の過去のサンプルについての累積値をＡ０〜Ａ５として設定する。そして、この累積誤差Ａ０〜Ａ５のうち、最小となるものに対応する予測誤差を選出する。例えば、Ａ０〜Ａ５のうち、Ａ２が最小であったとする。この場合、〔数式３〕で算出された予測誤差ｅ２（ｔ）を符号化対象とする予測誤差ｅ（ｔ）として選出することになる。選出された予測誤差ｅ（ｔ）はサンプルの元の値ｘ（ｔ）と置き換えられて以降処理が行われることになる。
【００２８】
続いて、累積誤差Ａ０〜Ａ５に各予測誤差ｅ０（ｔ）〜ｅ５（ｔ）の絶対値を加算する（ステップＳ３）。具体的には、以下の〔数式８〕に示すように、累積誤差値となる変数Ａ０〜Ａ５を更新していく。同時に、各サンプルの処理を行う度に、カウンタＣ１、Ｃ２を１つづつ加算していく処理を行う。
【００２９】
〔数式８〕
Ａ０←Ａ０＋｜ｅ０（ｔ）｜
Ａ１←Ａ１＋｜ｅ１（ｔ）｜
Ａ２←Ａ２＋｜ｅ２（ｔ）｜
Ａ３←Ａ３＋｜ｅ３（ｔ）｜
Ａ４←Ａ４＋｜ｅ４（ｔ）｜
Ａ５←Ａ５＋｜ｅ５（ｔ）｜
【００３０】
続いて、カウンタＣ１が所定回数を超えたかどうかの判定を行う（ステップＳ４）。本実施形態では、この所定回数を１００回として設定している。すなわち、カウンタＣ１が１００を超えたかどうかの判定を行う。
【００３１】
この結果、カウンタが１００を超えていたら、累積誤差を半分にする（ステップＳ５）。具体的には、以下の〔数式９〕に示すように、累積誤差となる変数Ａ０〜Ａ５を２で除算する。同時に、カウンタＣ１を０にリセットする。すなわち、ここでのＡ０〜Ａ５は純粋な意味での累積誤差ではなく、累積誤差の移動平均となっている。本実施形態では、直前の最大１００サンプルまでは累積されるが、それ以前のものは半分になるように処理する。これにより、時間的に離れたサンプルの影響が小さくなるようにしている。
【００３２】
〔数式９〕
Ａ０←（Ａ０）／２
Ａ１←（Ａ１）／２
Ａ２←（Ａ２）／２
Ａ３←（Ａ３）／２
Ａ４←（Ａ４）／２
Ａ５←（Ａ５）／２
【００３３】
続いて、カウンタＣ２が所定回数を超えたかどうかの判定を行う（ステップＳ６）。本実施形態では、この所定回数を３２７６８回として設定している。すなわち、カウンタＣ２が３２７６８を超えたかどうかの判定を行う。
【００３４】
この結果、カウンタＣ２が３２７６８を超えていたら、係数ａ１１〜ａ５５の再計算を行う（ステップＳ７）。具体的には、上記〔数式７〕を用いて、係数ａ１１〜ａ５５を計算し直すことになる。同時に、カウンタＣ２を０にリセットする。
【００３５】
上記ステップＳ１〜ステップＳ７の処理を主サンプル列および副サンプル列のサンプルに渡って実行することにより、全サンプルの値が元の振幅値ｘ（ｔ）から対象誤差ｅ（ｔ）に置き換えられることになる。本実施形態では、特に、複数の予測式の係数を動的に変化させることにより、より精度の高い予測誤差を算出することが可能になる。
【００３６】
次に、チャンネル間演算手段５０が、予測誤差値が記録された各チャンネルの主サンプル、副サンプルに対して、チャンネル間の差分演算を行う。このチャンネル間差分演算の処理概要を図４のフローチャートに示す。まず、主サンプルを読み込む（ステップＳ１１）。読み込んだ主サンプルがＬチャンネルのものであれば、主サンプルの値をメモリに格納すると共に、次の極性処理手段６０に出力する（ステップＳ１２）。一方、読み込んだ主サンプルがＲチャンネルのものであれば、ステップＳ１３以降の処理を行う。なお、主サンプルは、各チャンネルのものが交互に読み込まれるので、判断を行う必要はない。例えば、サンプル番号ｔ＝１のＬチャンネルのサンプルを読み込んだら、次はサンプル番号ｔ＝１のＲチャンネルのサンプル、その次は、サンプル番号ｔ＝２のＬチャンネルのサンプルというように順番が決まっているので、交互にステップＳ１２の処理とステップＳ１３以降の処理とを切替えるようにすれば良い。
【００３７】
Ｒチャンネルのサンプルの場合は、変数ＡｏとＡｄの比較を行う（ステップＳ１３）。ここで、ＡｏはＲチャンネルのサンプル値の絶対値の累積であり、ＡｄはＲチャンネルとＬチャンネルのサンプル値の差分の絶対値の累積である。変数Ａｏ、Ａｄ共に初期値は０である。ステップＳ１３において、Ａｄ≧Ａｏであれば、Ｒチャンネルのサンプルをそのままの値で、次の極性処理手段６０に出力する（ステップＳ１４）。さらに、累積値Ａｏを以下の〔数式１０〕の第１式に示すように更新する。具体的には、Ｒチャンネルのサンプル値ｅＲの絶対値を累積値Ａｏに加えることになる。
【００３８】
ステップＳ１３において、Ａｄ＜Ａｏであれば、上記ステップＳ１２においてメモリに格納したＬチャンネルのサンプルとの差分を算出し、差分値を次の極性処理手段６０に出力する（ステップＳ１５）。さらに、累積値Ａｄを以下の〔数式１０〕の第２式に示すように更新する。具体的には、ＲチャンネルとＬチャンネルのサンプルの差分値ｅＲ−ｅＬの絶対値を累積値Ａｄに加えることになる。
【００３９】
〔数式１０〕
Ａｏ←Ａｏ＋｜ｅＲ｜
Ａｄ←Ａｄ＋｜ｅＲ−ｅＬ｜
【００４０】
続いて、Ｌ、Ｒの１対のサンプルを処理したことを示すカウンタＣ３を１つ加算する（ステップＳ１６）。
【００４１】
続いて、カウンタが所定回数を超えたかどうかの判定を行う（ステップＳ１７）。本実施形態では、この所定回数を１００回として設定している。すなわち、カウンタＣ３が１００を超えたかどうかの判定を行う。
【００４２】
この結果、カウンタＣ３が１００を超えていたら、累積値Ａｏ、Ａｄを半分にする（ステップＳ１８）。具体的には、以下の〔数式１１〕に示すように、累積値となる変数Ａｏ、Ａｄを２で除算する。同時に、カウンタＣも半分にリセットする。すなわち、ここでの変数Ａｏ、Ａｄも上記〔数式８〕におけるＡ０〜Ａ５と同様、純粋な意味での累積値ではなく、累積値の移動平均となっている。本実施形態では、直前の最大１００サンプルまでは累積されるが、それ以前のものは半分になるように処理する。これにより、時間的に離れたサンプルの影響が小さくなるようにしている。
【００４３】
〔数式１１〕
Ａｏ←Ａｏ／２
Ａｄ←Ａｄ／２
Ｃ３←Ｃ３／２
【００４４】
上記ステップＳ１１〜ステップＳ１８の処理を主サンプル列中の全主サンプルに渡って実行することにより、Ｒチャンネルの全サンプルの値が、Ｌチャンネルとの差分値に置き換えられることになる。ただし、上述の処理から明らかなように、累積値Ａｏ、Ａｄの大小関係によっては、Ｒチャンネルのサンプル値がそのまま記録されるサンプルも存在する。なお、チャンネル間演算手段５０では、Ｌチャンネルのサンプルは、全てそのままの値で出力されることになる。主サンプル列中の各サンプルに対して処理を終えたら、副サンプルに対しても同様に処理を行う。なお、チャンネルが１つだけのモノラルの音響信号に対しては、チャンネル間演算手段５０による処理は省略される。
【００４５】
続いて、極性処理手段６０が、各サンプルの正負極性処理を行う。上記予測誤差変換手段４０およびチャンネル間演算手段５０の処理により各サンプルの値は、振幅値から予測誤差に置き換えられると共に、Ｒチャンネルの値は、Ｌチャンネルとの差分に置き換えられたが、各サンプルのビット形式は、当初のままである。通常、コンピュータ等の計算機で演算される場合は、各データは３２ビット単位で処理され、２の補数表現を用いて表現されている。これを、正負の符号付き絶対値表現に変換し、なおかつ、その絶対値部分を上位に１ビット移動させ、正負の符号ビットをＬＳＢ（最下位ビット）に移動させる。極性処理手段６０によるビット構成の変換の様子を模式的に示すと図５のようになる。図５（ａ）は処理前のビット構成であり、図５（ｂ）は処理後のビット構成である。このように正負の符号ビットをＬＳＢに移動させるのは、後の可変長符号化手段７０の処理で、各サンプルのビット長を検出し易くするためである。
【００４６】
次に、可変長符号化手段７０が、各サンプルを可変長に変換する処理を行っていく。本実施形態における可変長符号化は、一般にゴロム符号化と呼ばれる方式を採用している。具体的には、１サンプルを構成するビット成分を上位ビット成分と下位ビット成分に分け、下位ビット成分は変更を加えずそのままとし、上位ビット成分は、上位ビットだけを十進数変換した数値分のビット「０」を並べ、最後にセパレータビット「１」を加えた配列とする。例えば、８ビットのビット成分「００１０１０００」を考えてみる。このとき、下位ビット成分を４ビットとすると、下位ビット成分は「１０００」となる。上位ビットは「００１０」であるため、これを十進数変換した「２」個分の「０」を配列して最後に「１」を加えた「００１」に変換される。この結果、８ビットのビット列「００１０１０００」は、７ビットのビット列「００１１０００」に変換されることになる。本実施形態では、変換の前後でビット成分を不変とする下位ビット成分のビット長を各サンプルで可変とするようにしている。
【００４７】
以下、可変長符号化手段７０が行う処理を具体的に説明していく。図６は可変長符号化の概要を示すフローチャートである。まず、過去のサンプルのビット長の移動平均である平均ビット長Ｂｆを算出する（ステップＳ２１）。平均ビット長Ｂｆは、過去のビット長の累積値である累積ビット長ＲＢを、過去のサンプル数を基にしたカウンタＣ４で除算することにより求められる。すなわち、Ｂｆ＝ＲＢ／Ｃ４で算出される。累積ビット長ＲＢは、初期状態では０であるので、ｔ＝１のサンプルを処理する場合には、ｔ＝１のサンプルのビット長Ｂｄ（ｔ）を初期値として設定しておく。また、初期のカウンタＣ４＝１と設定する。
【００４８】
続いて、時刻ｔにおけるサンプルのビット長Ｂｄ（ｔ）を算出する（ステップＳ２２）。ｔ＝２以降のサンプルについては、平均ビット長Ｂｆの算出後、サンプルのビット長Ｂｄ（ｔ）を算出する。このビット長Ｂｄ（ｔ）は、上記極性処理手段６０によりビット構成の変換を行ったことにより算出し易くなっている。図５（ｂ）に示したようなビット構成に変換したことにより、各サンプルのビット構成において先頭にビット「１」が出現したところからがビット長となる。次に、変更部のビット長Ｂｖを算出する（ステップＳ２３）。これは、上記サンプルのビット長Ｂｄ（ｔ）から平均ビット長Ｂｆを減じることにより算出される。続いて、データの符号出力を行う（ステップＳ２４）。具体的には、上位Ｂｖビットを十進数変換した数値分だけ「０」を出力した後、セパレータビット「１」を出力し、下位Ｂｆビットを不変部として出力する。符号出力は、ハードディスク、ＣＤ−Ｒ等の外部記憶装置への記録として行われることになる。次に、累積ビット長ＲＢにビット長Ｂｄ（ｔ）を加算する（ステップＳ２５）。同時に、各サンプルの処理を行う度に、カウンタＣ４を１つずつ加算していく処理を行う。続いて、カウンタＣ４が所定の数を超えたかどうかを判定する（ステップＳ２６）。所定の数としては、ここでも１００程度を設定している。そのため、カウンタ４が１００を超えたかどうかを判断することになる。この結果、カウンタが１００を超えていたら、累積ビット長ＲＢを半分にする（ステップＳ２７）。具体的には、累積ビット長となる変数ＲＢを２で除算する。同時に、カウンタＣ４を１／２にする。
【００４９】
上記のようにして、各サンプルについて可変ビット長での符号化が行われて行く。符号化により得られた可変長サンプルは、符号データとして出力される。なお、可変長符号化手段７０には、上記のような処理を行うに先立ち量子化雑音成分を分離する機能を持たせておいても良い。具体的には、極性処理手段６０による処理後の各サンプルの下位の所定数のビットを量子化雑音成分とみなして分離する。例えば各サンプルが１６ビットで表現されている場合、本実施形態では、上位ビット１２ビットと、下位ビット４ビットに分離する。この分離は、基本的に、Ａ／Ｄ変換機等、音響信号をデジタル化する際に用いる回路の熱雑音を分離するために行う。そのため、熱雑音であると考えられる下位ビットを分離するのである。下位ビットとして、どの程度分離するかは、音源や利用した回路の特性によっても変化するが、通常量子化ビット数の１／４程度とすることが望ましい。したがって、ここでは、１６ビットの１／４にあたる４ビットを下位ビットとして分離しているのである。
【００５０】
ここで、上位ビットと下位ビットのデータ分離の様子を図７に模式的に示す。図７において、Ｈは上位ビットもしくは上位サンプルデータを示し、Ｌは下位ビットもしくは下位サンプルデータを示す。図７（ａ）は分離前のサンプルデータである。可変長符号化手段７０により、サンプルデータは、図７（ｂ）に示す上位サンプルデータと図７（ｃ）に示す下位サンプルデータに分離された後処理されることになる。なお、上位ビットに含まれる符号ビットは、そのまま上位サンプルデータに含まれて分離される。このように、量子化雑音成分の分離を行った場合には、残りの上位ビットに対して、上記図６に示したフローチャートに従った可変長符号化が行われ、下位ビットについては、そのまま固定長で符号化が行われる。
【００５１】
以上のようにして得られた符号データは、コンピュータに接続されたハードディスク等の記憶装置等に随時記憶され、その後、必要な記憶媒体に対応するフォーマットで記憶される。
【００５２】
（第２の実施形態）
続いて、本発明第２の実施形態に係る符号化装置について説明する。図８は、本発明第２の実施形態に係る符号化装置の機能ブロック図である。図８において、図１に示した構成と同様の機能を有するものについては、同一符号を付して説明を省略する。第１の実施形態と異なる点は、信号平坦部処理手段８０と相関フレーム検出手段９０が加わったことである。図２において、信号平坦部処理手段８０は、各チャンネルごとのサンプル列に対して、信号の値が一定である平坦部を検出し、効率的に符号化する機能を有する。相関フレーム検出手段９０は、各サンプル列に対して、所定の区間をフレームとして設定した後、フレーム間で対応する全てのサンプル値が同一になっている相関フレームを検出し、時間的に後方（未来）に位置する相関フレームを削除する機能を有する。図８に示した装置は、実際には、コンピュータおよびコンピュータにインストールされた専用のソフトウェアプログラムにより実現される。
【００５３】
続いて、図８に示した符号化装置の処理動作について説明する。まず、時系列信号入力手段１０より上記のようなミックスされた音響信号を入力する。すると、チャンネル間演算手段５０が上記図に示した手順に従って、チャンネル間の差分演算処理を行う。続いて、サンプル列再配置手段２０が、上記図２に示したような処理で主サンプル列と副サンプル列に再配置する。その後、下位固定ビット削除手段３０が各サンプルの下位ビットを削除する。
【００５４】
次に、信号平坦部処理手段８０が、信号平坦部の処理を行う。信号平坦部とは、同一の信号レベルが連続する部分のことをいう。特に信号レベルが「０」の無音部、および信号レベルの絶対値が最大の飽和部に現れることが多い。無音部は実際に無音であるか、音が非常に小さく記録されなかった場合に生じるが、飽和部は、信号の録音およびＡ／Ｄ変換の過程において生じる。無音部、飽和部またはそれ以外の同一信号レベルが連続する場合のいずれであっても、信号平坦部は、同一の信号レベルが所定の時間（所定のサンプル数）連続して記録される。このため、この部分は圧縮し易いデータになっている。具体的には、信号平坦部の先頭時刻位置と、同一信号レベルが続くサンプルの個数と、信号レベル（サンプル値）の３つの値を信号平坦部データとして各チャンネルのサンプル列と分離して記録する。各チャンネルのサンプル列からは、信号平坦部が削除される。これを模式的に示すと図９（ａ）（ｂ）に示すようになる。図９（ａ）は、信号平坦部処理前のサンプル列である。図９（ａ）において、網掛けで示した部分は信号平坦部を示す。信号平坦部処理手段８０の処理により、信号平坦部は元のサンプル列からは削除され、図９（ｂ）に示すようになる。ただし、復号時に元通りに復元するために、分離された信号平坦部は、信号平坦部データとして図９（ｃ）に示すような形式で記録しておく。
【００５５】
信号平坦部データは、上述のように、信号平坦部ごとに、その先頭時刻（サンプル番号）、サンプル数、サンプル値の３属性で記録する。ここで、先頭時刻とは、信号の開始位置からの時刻であり、図９（ｃ）の例では、先頭からのサンプル番号で記録している。このサンプル番号をサンプリング周波数で除算すれば、時刻に変換されることになる。サンプル数は、そのサンプル値がどの程度連続して続くかを示す情報である。なお、サンプル数の代わりに信号平坦部の終了時刻を記録するようにしても良い。サンプル値は、デジタル化された信号レベルを示している。符号付き１６ビットで表現した場合は、最大値は「３２７６７」、最小値は「−３２７６８」となる。すなわち、「０」は無音部、「３２７６７」および「−３２７６８」は飽和部を示している。ただし、信号平坦部処理手段８０は、信号平坦部を無条件には処理しない。本発明は、データの圧縮を目的としているため、サンプル列の削減分よりも信号平坦部データが大きくなると意味がないからである。したがって、信号平坦部となるサンプルが所定数以上連続する場合に限り信号平坦部データを作成して各チャンネルのサンプル列から分離するのである。
【００５６】
続いて、各チャンネルのサンプル列に対して、相関フレーム検出手段９０が、所定の区間長をもつフレームを設定して、設定されたフレーム間の比較を行う。本実施形態では、フレーム長をサンプル列の開始時刻から終了時刻までの全区間に渡って固定長としている。具体的には、１フレームを５１２サンプルとしている。相関フレーム検出手段９０は、各チャンネルのサンプル列の先頭から５１２サンプルずつを１フレームとして設定し、フレーム間で全サンプルが一致する相関フレームを求めていくことになる。具体的な手順を図１０のフローチャートに従って説明する。
【００５７】
まず、相関フレーム検出手段９０は、所定のサンプル数単位でフレーム化を行う（ステップＳ３１）。本実施形態では、上述のようにフレーム長をサンプル列の開始時刻から終了時刻までの全区間に渡って固定長５１２サンプルとしている。相関フレーム検出手段９０は、図１１（ａ）に示すように、サンプル列の先頭から５１２サンプルずつを１フレームとして設定していくことになる。
【００５８】
次に、各フレームに対して構成するサンプル値が全て一致するフレームを探索する。具体的には、図１１（ｂ）に示すように、まず、設定されたフレームのうち、時間的に最後尾のフレームを、相関フレームを探すための対象フレームとする。次に、所定の探索範囲内において、対象フレームの先頭サンプルの値と同一の値をもつサンプルを、時間的に遡りながら探索していく（ステップＳ３２）。例えば、図１２（ａ）に示すように、対象フレームがｍＴ〜ｍＴ＋５１１の５１２個のサンプルで構成されているとする。この場合、まず、対象フレームの先頭サンプルｍＴのサンプル値ｅ（ｍＴ）と同一となるサンプルを探索していく。サンプルｍＴ−１、サンプルｍＴ−２と順に探索していく。なお、図１２において、ｍは先頭からｍ番目のフレームであることを示し、Ｔはフレーム長（本実施形態では５１２サンプル）を示している。
【００５９】
一致するサンプルｔが見つかったら（ステップＳ３３）、次に、そのサンプルｔの次のサンプルｔ＋１と対象フレームの２番目のサンプルｍＴ＋１が一致するかどうかを比較する。このようにしてサンプルの値が一致する限り後続するサンプル同士の比較を行っていく（ステップＳ３４）。ステップＳ３４においては、ｅ（ｔ＋ｐ）とｅ（ｍＴ＋ｐ）の値が一致する限り、処理を繰り返していく。例えば、図１２（ｂ）に示す例では、ｅ（ｔ）〜ｅ（ｔ＋８）がｅ（ｍＴ）〜ｅ（ｍＴ＋８）と一致しているので、さらにｐ＝９として、ステップＳ３４の処理が続けられることになる。ｐ＝０〜ｐ＝５１１までの全てのｅ（ｔ＋ｐ）とｅ（ｍＴ＋ｐ）が一致した場合（ステップＳ３５）、そのサンプル列を対象フレームに対する相関フレームとし、相関フレームの先頭のサンプル番号と対象フレームの先頭のサンプル番号とを対応付けてフレーム相関データとして記録し、対象フレームを元のサンプル列から削除する（ステップＳ３６）。対象フレームの全サンプルと一致しなければ、さらに対象フレームの先頭サンプルと値が一致するサンプルが存在するかどうかを時間的に遡りながら探索していく。所定のサンプル数分遡っても一致する相関フレームが存在しない場合は、その対象フレームに関する相関フレームの探索を中止し、対象フレームの直前のフレームを新たな対象フレームとして相関フレームの探索を行う。１つの対象フレームに対しての処理が終わったら、ステップＳ３２に戻って、１つ直前のフレームを新たな対象フレームとして処理を続けていく（ステップＳ３７）。このようにして、時系列信号の先頭時刻近辺に位置するフレームを除く全フレームを対象フレームとして相関フレームの検出処理を行う。
【００６０】
サンプル列全体でみると、図１１（ｃ）に示すように対象フレームに対応する相関フレームが検出されたとすると、図１１（ｄ）に示すように対象フレームが削除されることになる。このとき、復号時に完全に復元できるように図１１（ｅ）に示すようなフレーム相関データが記録される。図１１（ｅ）に示すように、フレーム相関データには対象フレームの先頭のサンプル番号と相関フレームの先頭のサンプル番号が対応づけて記録される。
【００６１】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、主サンプルと副サンプルの出現比率が１対１のものについて説明したが、これ以外の比率のものでも良い。上記実施形態では、最初に４８ｋＨｚでサンプリングしたものを９６ｋＨｚに補間して作成した音響信号を扱ったので、主サンプルと副サンプルの出現比率が１対１となったが、例えば、最初に２４ｋＨｚでサンプリングしたものを９６ｋＨｚに補間すると、主サンプルと副サンプルの出現比率は１対３となる。このような音響信号を扱う場合には、サンプル列再配置手段２０が、各サンプルを順番に１つの主サンプル列と３つの副サンプル列に順に振り分けるようにすれば良い。
【００６２】
【発明の効果】
以上、説明したように本発明によれば、時系列信号を構成するサンプル列に対して、録音により作成された主サンプル列と、主サンプル列を補間処理することにより得られた副サンプル列を分離すると共に、前記副サンプル列中の各副サンプルの値を、近傍の主サンプルの平均値と当該副サンプルの値との差分値に変換するサンプル再配置を行い、主サンプル列、変換された副サンプル列それぞれに対して、線形予測誤差を算出し、主サンプル列および副サンプル列の値をそれぞれ予測誤差値に変換し、予測誤差値に変換された主サンプル列、副サンプル列を可変長で符号化するようにしたので、デジタル編集された高精細オーディオのワークデータを効率的に可逆圧縮することが可能となるという効果を奏する。
【図面の簡単な説明】
【図１】本発明第１の実施形態に係る時系列信号の符号化装置を示す機能ブロック図である。
【図２】サンプル列再配置手段２０によるサンプルの再配置の様子を示す図である。
【図３】予測誤差変換手段４０による処理を示すフローチャートである。
【図４】チャンネル間演算手段５０による処理を示すフローチャートである。
【図５】極性処理手段６０によるビット構成の変換の様子を示す図である。
【図６】可変長符号化手段７０による処理を示すフローチャートである。
【図７】上位ビットと下位ビットのデータ分離の様子を示す図である。
【図８】本発明第２の実施形態に係る時系列信号の符号化装置を示す機能ブロック図である。
【図９】信号平坦部処理手段８０による処理の様子を示す図である。
【図１０】相関フレーム検出手段９０による処理を示すフローチャートである。
【図１１】相関フレーム検出手段９０の処理による時系列信号全体の様子を示す図である。
【図１２】相関フレーム検出手段９０の処理により比較されるサンプルの様子を示す図である。
【符号の説明】
１０・・・時系列信号入力手段
２０・・・サンプル列再配置手段
３０・・・下位固定ビット削除手段
４０・・・予測誤差変換手段
５０・・・チャンネル間演算手段
６０・・・極性処理手段
７０・・・可変長符号化手段
８０・・・信号平坦部処理手段
９０・・・相関フレーム検出手段
【図１】
2004266587.tif 000003
【図２】
2004266587.tif 000004
【図３】
2004266587.tif 000005
【図４】
2004266587.tif 000006
【図５】
2004266587.tif 000007
【図６】
2004266587.tif 000008
【図７】
2004266587.tif 000009
【図８】
2004266587.tif 000010
【図９】
2004266587.tif 000011
【図１０】
2004266587.tif 000012
【図１１】
2004266587.tif 000013
【図１２】
2004266587.tif 000014