JPH0427733B2 - - Google Patents
Info
- Publication number
- JPH0427733B2 JPH0427733B2 JP63505638A JP50563888A JPH0427733B2 JP H0427733 B2 JPH0427733 B2 JP H0427733B2 JP 63505638 A JP63505638 A JP 63505638A JP 50563888 A JP50563888 A JP 50563888A JP H0427733 B2 JPH0427733 B2 JP H0427733B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- bits
- block
- sample
- digital
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3053—Block-companding PCM systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
請求の範囲
1 所望のデジタルフオーマツトデータ・ストリ
ームを時間領域での推定分散サンプルに変換した
入力データ・ストリームを有するデジタル或はア
ナログデータのブロツクを実時間データ圧縮する
装置であつて、 前記デジタルデータ・ストリームに接続され、
個々の推定分散サンプルにデジタルビツトを割当
て、前記サンプルの限界回帰(マージナル・リタ
ーン)を計算する高速計算手段と、 前記各サンプルのマージナル・リターン及び前
記各サンプルの推定分散値同士を比較する比較手
段と、 前記高速計算手段と前記比較手段に接続された
高速記憶手段と、 前記高速計算手段に接続され、前記デジタルデ
ータサンプルの最大マージナル・リターンを計算
するのに使用される予め決定された最小自乗誤差
定数を記憶するルツクアツプテーブル手段と、 前記高速記憶手段と前記ルツクアツプテーブル
手段に接続されたアドレス生成手段と、そして 前記計算手段と前記比較手段及び前記アドレス
生成手段とに接続され、前記高速計算手段よりの
圧縮されたデータサンプル・ブロツクの実時間ス
トリームを提供するためのコマンド列を提供する
制御手段とを備え、 前記圧縮されたデータのブロツクのそれぞれは
圧縮されたデータの各ブロツクに割当てられるべ
き所定数のビツトと、最大マージナル・リターン
を有するサンプルに最適にビツトを割当て、圧縮
されたデータの各ブロツクが最小ビツトエラーレ
ートと最大の平均マージナル・リターンを有して
いることを特徴とする実時間データ圧縮装置。 2 前記高速計算手段は、入力データとしての前
記入力データ・ストリームのデジタルデータサン
プルのそれぞれの前記推定分散を前記高速記憶手
段に記憶するように、前記制御手段によりプログ
ラムされていることを特徴とする請求項第1項に
記載の実時間データ圧縮装置。 3 前記高速計算手段は、入力されるデータの1
ブロツクを表わす予め定められた数のデジタルデ
ータ・サンプルを検出して圧縮するように、前記
制御手段によりプログラムされていることを特徴
とする請求項第2項に記載の実時間データ圧縮装
置。 4 前記デジタルデータのサンプルは前記高速計
算手段により個々に検査され、種々のサンプルに
対して異なるビツト数を割当てることによつて、
前記圧縮されたデータブロツクに対して予め定め
られたデータ圧縮比を提供するように圧縮される
ことを特徴とする請求項第3項に記載の実時間デ
ータ圧縮装置。 5 前記高速計算手段は圧縮されるべきデータサ
ンプルの推定分散を計算し、データブロツクの推
定分散を大きさが減少する方向に並べるかえるよ
うにプログラムされていることを特徴とする請求
項第3項に記載の実時間データ圧縮装置。 6 前記高速計算手段は1つのブロツクデータの
各サンプルに対してマージナル・リターンを計算
し、前記ルツクアツプテーブル手段に記憶されて
いる定数を前記推定分散に乗算して、最大マージ
ナル・リターンを有するサンプルを決定するよう
にプログラムされていることを特徴とする請求項
第5項に記載の実時間データ圧縮装置。 7 前記高速計算手段は、最大マージナル・リタ
ーン値を有しているサンプルに、割当てられるべ
きビツトの1ビツトを割当てて、最大のマージナ
ル・リターンを有するサンプルのマージナル・リ
ターンを再計算するようにプログラムされている
ことを特徴とする請求項第6項に記載の実時間デ
ータ圧縮装置。 8 前記高速計算手段は、割当てられるべきビツ
トの全てが前記サンプルに割当てられて最大マー
ジナル・リターン値に最適にビツトが割当てられ
るまで、最大マージナル・リターン値を有するサ
ンプルに、割当てられるべきビツトの1ビツトを
一度で割当てるようにプログラムされていること
を特徴とする請求項第7項に記載の実時間データ
圧縮装置。 9 前記高速計算手段は、各サンプルに割当てら
れたビツト数により前記サンプルのそれぞれを符
号化するようにプログラムされており、これによ
り、同じブロツクのサンプルが異なる圧縮比で圧
縮されることを特徴とする請求項第8項に記載の
実時間データ圧縮装置。 10 乗算により高速に除算を実行するために前
記計算手段に接続され、推定逆数を記憶した複数
の除算用ルツクアツプテーブルをさらに有するこ
とを特徴とする請求項第1項に記載の実時間デー
タ圧縮装置。 11 前記アドレス生成手段と前記比較手段に接
続され、2分されたポインタ・アドレス計算を実
行できる2分レジスタをさらに有することを特徴
とする請求項第1項に記載の実時間データ圧縮装
置。 12 入力データストリームを実時間でデータ圧
縮する方法であつて、 デジタルデータのブロツクをデジタル要素のサ
ンプルに分割する工程と、 デジタル要素サンプルの推定分散を計算する工
程と、 前記デジタルデータのサンプルを推定分散の大
きさが小さくなる順に並べる工程と、 デジタルデータの各サンプルを調べ、最大マー
ジナル・リターンを有するサンプルを決定する工
程と、 前記デジタルデータのブロツクを規定するため
に割当てられる予め定められた数のビツトのうち
1ビツトを割当てることにより、最大マージナ
ル・リターンを有するサンプルのマージナル・リ
ターンを減少させる工程と、 割当てられるべきビツト数を表しているポイン
タを、最大マージナル・リターンを有している所
定のサンプルから次に最も低いサンプルに、サン
プルが配列されている順に移動する工程と、 最大マージナル・リターンを決定し、1ビツト
を割当てることによつて最大マージナル・リター
ンを有するサンプルのマージナル・リターンを減
少し、割当てられるべきビツトの全てが割当てら
れるまで、所定のサンプルに割当てられるビツト
数を表すポインタを移動する工程を繰返す工程
と、そして 実時間で個々のサンプルのそれぞれに割当てら
れるビツト数で前記サンプルのそれぞれを符号化
する工程と を有することを特徴とする実時間データ圧縮方
法。 13 前もつてデジタルデータのブロツクを定義
するために割当てられるビツト数を予め決定して
データ圧縮の圧縮比を定義する工程をさらに有す
ることを特徴とする請求項第12項に記載の実時
間データ圧縮方法。 14 デジタルデータ・ブロツクのスペクトル・
エネルギー特性を規定するサイド情報を決定する
工程と、前記サイド情報を用いて各サンプルを符
号化する符号化工程をさらに有することを特徴と
する請求項第13項に記載の実時間データ圧縮方
法。 15 入力データストリームを実時間でデータ圧
縮する方法であつて、 データの入力ストリームをデジタルデータのブ
ロツクに分割する工程と、 前記デジタルデータ・ブロツクをデジタル要素
のサンプルに分割する工程と、 デジタルデータの各サンプルを調べ、各サンプ
ルのエネルギー量を決定する工程と、 前記エネルギー量が小さくなる順に前記サンプ
ルを並べる工程と、 前記サンプルをデジタルで定義するために1つ
あるいはそれ以上のビツトで1つのサンプルを定
義するのに適用できる、エネルギー量に関連した
累積利得を決定する工程と、 1つのサンプルを定義するのに使用する最大ビ
ツト数を決定する工程と、 順番に並べられたサンプルに関連して固定比を
有する基準マーカと他のマーカを位置付ける工程
と、 マーカの間のサンプルに、それらサンプルが並
べられた順番にビツトを割当て、最適なビツト割
当てを行う工程と、 デジタルデータのブロツクを定義するために割
当てられる全ビツト数が割当てられたかどうかを
チエツクする工程と、 デジタルビツトを最適に割当ててデジタルデー
タの前記ブロツクの要素の各サンプルを符号化す
る工程と を有することを特徴とする実時間データ圧縮方
法。 発明の技術分野 この発明は、伝送される圧縮されたデジタルビ
ツトの最適な割当てを実現するために、適応変換
符号化(Adaptive Transform Cod−ing:
ATC)を使用して、標準的な商業用のデータリ
ンクにより伝送するためにアナログあるいはデジ
タルデータを圧縮するためのデジタル装置と方法
に関するものである。特に詳しくは、実時間での
データ圧縮と伝送を可能にする情報ブロツクを定
義するために、高速にビツトの割当てを行なうこ
とができるハードウエアに関するものである。 従来技術の説明 デジタルの通信フオーマツトは、多くの点で伝
統的なアナログフオーマツトよりも優れている。
その結果、アナログ電話回線を全てがデジタル信
号である回線に変更する傾向にある。高品質の音
声はアナログ形式で約3200Hzの帯域を有してい
る。このアナログ音声信号をデジタルフオーマツ
トに変換している現在の方法は、音声を1秒当り
8000サンプルからなるブロツクでサンプリング
し、サンプル当り8ビツトを用いて各サンプルに
デジタル値を割当ている。この一般的な変換は、
復号化時、電話の音質で音声波形を再生するため
に、64Kbpsで伝送できる帯域を必要としている。
これが、標準的なデジタルデータ電話回線が
64Kbpsのデータレートで標準化されている最も
重要な理由である。 1秒当り64000ビツトを伝送できる標準的なデ
ジタル音声電話回線は、一般に電話音声の伝送に
使用されている。デジタル電話回線が採用される
と、64Kbpsの伝送能力の全てがユーザにより所
望の方法で使用される。このような標準的な電話
データ回線を使用し、少し音声の質が低下するけ
れども、会話が理解できる程度に、デジタル的に
同じデータ回線上に最大8つの音声チヤネルを伝
送することが可能である。さらにまた、デジタル
データ表現を1/4に圧縮し、ほとんど音質を低
下させることなく、4つの音声チヤネルを1つの
デジタルデータ音声回線に伝送することができ
る。今までは、そのような音声データを圧縮する
遅延時間のために、実時間の伝送に使用するのが
見送られてきていた。 大陸横断のデジタル通話回線は、1月当り
40000ドル以上の賃貸あるいはリース量を必要と
する。もし伝送される音声が1/4の圧縮されれ
ば、ユーザは1月当り120000ドル以上を節約でき
ることになる。 25年以上の間、学者の論文は音声情報を圧縮す
る種々の方法を提案してきている。しかし、圧縮
された音声情報を伝送するとき、上述した節約を
実現できる利点を備えたいかなる装置も、現在市
販されていない。 HuangとSchulthiessは、その論文“相関のあ
るガウス分布のランダム変数のブロツク量子化”
(Block Quantization of Corre−lated
Gaussian Random Variables)(IEEE Tran.−
Comm.Sys.Vol.CSII.pp.286−296.1963年9月)
で、デジタル情報のブロツクは1つずつのサンプ
ルを基本に符号化され、さらにデータ圧縮を行う
情報ブロツクを定義するのに、デジタルビツト割
当てることを提案している。この論文で提案され
たビツト割当ては、次善の方法である。なぜな
ら、ビツトb(j)の最適な分布は、分散σ2(j)
の線形な関数でなく、実際のビツト配分において
滅多に生じない非整数のビツトが割当てられるよ
うに要求しているためである。 adrian Segalは彼の論文“ベクトルソースの
ビツト割当てと符号化”(Bit Allocation and
Encoding for Vector Sources)(IEEE Trans
Inform Theory Vol.IT−22,pp.162−169,
1976年3月)で、デジタル情報のブロツクのデー
タ圧縮を実現するためにデジタルビツトを割当て
る異なる方法を吟味している。さらに、この
Segalの論文は、デジタル情報のブロツクをデー
タ圧縮するために、個々のビツトを最適に割当て
るためのアルゴリズムを提案している。この論文
は最適なビツト割当てを提案する一方、それを実
施するのに約60000回のコンピユータの動作を必
要としている。本願発明において同様なビツト割
当てを実行するには、実時間での簡単な動作とし
て実行されうる約7560動作のみを必要とするだけ
である。 ベル研究所のRichard V.CoxとRonald
Crochiereらは、その論文“適応変換符号化
(ATC)の実時間シミユレーシヨン”(Real
Time Simulation of Adaptive Transform
Coding)(IEEE Trans.on Acoustic.Speech
and Signal Processing.Vol.ASSP 29,No.2,
1981年4月)で、低いビツトレート(9.6−
16Kbps)で64Kbpsの音声ラインに伝送する音声
のデジタル符号化の効果的な手段として、適応変
換符号化(ATC:Adaptive Transform
Coding)を提案している。 実際の電話における会話は、圧縮されたデータ
と符号化されて変換されたデータとからなつてい
た。符号化されたデータは伝送され、その変換さ
れたデータは受信側で、圧縮されたデータ形式か
ら復号される。このCoxその他の論文は更に、
ATC符号化と、実時間でのデータ圧縮伝送がで
きる高速のプロセツサを用いたデコーダ(復号
器)を教授している。
ームを時間領域での推定分散サンプルに変換した
入力データ・ストリームを有するデジタル或はア
ナログデータのブロツクを実時間データ圧縮する
装置であつて、 前記デジタルデータ・ストリームに接続され、
個々の推定分散サンプルにデジタルビツトを割当
て、前記サンプルの限界回帰(マージナル・リタ
ーン)を計算する高速計算手段と、 前記各サンプルのマージナル・リターン及び前
記各サンプルの推定分散値同士を比較する比較手
段と、 前記高速計算手段と前記比較手段に接続された
高速記憶手段と、 前記高速計算手段に接続され、前記デジタルデ
ータサンプルの最大マージナル・リターンを計算
するのに使用される予め決定された最小自乗誤差
定数を記憶するルツクアツプテーブル手段と、 前記高速記憶手段と前記ルツクアツプテーブル
手段に接続されたアドレス生成手段と、そして 前記計算手段と前記比較手段及び前記アドレス
生成手段とに接続され、前記高速計算手段よりの
圧縮されたデータサンプル・ブロツクの実時間ス
トリームを提供するためのコマンド列を提供する
制御手段とを備え、 前記圧縮されたデータのブロツクのそれぞれは
圧縮されたデータの各ブロツクに割当てられるべ
き所定数のビツトと、最大マージナル・リターン
を有するサンプルに最適にビツトを割当て、圧縮
されたデータの各ブロツクが最小ビツトエラーレ
ートと最大の平均マージナル・リターンを有して
いることを特徴とする実時間データ圧縮装置。 2 前記高速計算手段は、入力データとしての前
記入力データ・ストリームのデジタルデータサン
プルのそれぞれの前記推定分散を前記高速記憶手
段に記憶するように、前記制御手段によりプログ
ラムされていることを特徴とする請求項第1項に
記載の実時間データ圧縮装置。 3 前記高速計算手段は、入力されるデータの1
ブロツクを表わす予め定められた数のデジタルデ
ータ・サンプルを検出して圧縮するように、前記
制御手段によりプログラムされていることを特徴
とする請求項第2項に記載の実時間データ圧縮装
置。 4 前記デジタルデータのサンプルは前記高速計
算手段により個々に検査され、種々のサンプルに
対して異なるビツト数を割当てることによつて、
前記圧縮されたデータブロツクに対して予め定め
られたデータ圧縮比を提供するように圧縮される
ことを特徴とする請求項第3項に記載の実時間デ
ータ圧縮装置。 5 前記高速計算手段は圧縮されるべきデータサ
ンプルの推定分散を計算し、データブロツクの推
定分散を大きさが減少する方向に並べるかえるよ
うにプログラムされていることを特徴とする請求
項第3項に記載の実時間データ圧縮装置。 6 前記高速計算手段は1つのブロツクデータの
各サンプルに対してマージナル・リターンを計算
し、前記ルツクアツプテーブル手段に記憶されて
いる定数を前記推定分散に乗算して、最大マージ
ナル・リターンを有するサンプルを決定するよう
にプログラムされていることを特徴とする請求項
第5項に記載の実時間データ圧縮装置。 7 前記高速計算手段は、最大マージナル・リタ
ーン値を有しているサンプルに、割当てられるべ
きビツトの1ビツトを割当てて、最大のマージナ
ル・リターンを有するサンプルのマージナル・リ
ターンを再計算するようにプログラムされている
ことを特徴とする請求項第6項に記載の実時間デ
ータ圧縮装置。 8 前記高速計算手段は、割当てられるべきビツ
トの全てが前記サンプルに割当てられて最大マー
ジナル・リターン値に最適にビツトが割当てられ
るまで、最大マージナル・リターン値を有するサ
ンプルに、割当てられるべきビツトの1ビツトを
一度で割当てるようにプログラムされていること
を特徴とする請求項第7項に記載の実時間データ
圧縮装置。 9 前記高速計算手段は、各サンプルに割当てら
れたビツト数により前記サンプルのそれぞれを符
号化するようにプログラムされており、これによ
り、同じブロツクのサンプルが異なる圧縮比で圧
縮されることを特徴とする請求項第8項に記載の
実時間データ圧縮装置。 10 乗算により高速に除算を実行するために前
記計算手段に接続され、推定逆数を記憶した複数
の除算用ルツクアツプテーブルをさらに有するこ
とを特徴とする請求項第1項に記載の実時間デー
タ圧縮装置。 11 前記アドレス生成手段と前記比較手段に接
続され、2分されたポインタ・アドレス計算を実
行できる2分レジスタをさらに有することを特徴
とする請求項第1項に記載の実時間データ圧縮装
置。 12 入力データストリームを実時間でデータ圧
縮する方法であつて、 デジタルデータのブロツクをデジタル要素のサ
ンプルに分割する工程と、 デジタル要素サンプルの推定分散を計算する工
程と、 前記デジタルデータのサンプルを推定分散の大
きさが小さくなる順に並べる工程と、 デジタルデータの各サンプルを調べ、最大マー
ジナル・リターンを有するサンプルを決定する工
程と、 前記デジタルデータのブロツクを規定するため
に割当てられる予め定められた数のビツトのうち
1ビツトを割当てることにより、最大マージナ
ル・リターンを有するサンプルのマージナル・リ
ターンを減少させる工程と、 割当てられるべきビツト数を表しているポイン
タを、最大マージナル・リターンを有している所
定のサンプルから次に最も低いサンプルに、サン
プルが配列されている順に移動する工程と、 最大マージナル・リターンを決定し、1ビツト
を割当てることによつて最大マージナル・リター
ンを有するサンプルのマージナル・リターンを減
少し、割当てられるべきビツトの全てが割当てら
れるまで、所定のサンプルに割当てられるビツト
数を表すポインタを移動する工程を繰返す工程
と、そして 実時間で個々のサンプルのそれぞれに割当てら
れるビツト数で前記サンプルのそれぞれを符号化
する工程と を有することを特徴とする実時間データ圧縮方
法。 13 前もつてデジタルデータのブロツクを定義
するために割当てられるビツト数を予め決定して
データ圧縮の圧縮比を定義する工程をさらに有す
ることを特徴とする請求項第12項に記載の実時
間データ圧縮方法。 14 デジタルデータ・ブロツクのスペクトル・
エネルギー特性を規定するサイド情報を決定する
工程と、前記サイド情報を用いて各サンプルを符
号化する符号化工程をさらに有することを特徴と
する請求項第13項に記載の実時間データ圧縮方
法。 15 入力データストリームを実時間でデータ圧
縮する方法であつて、 データの入力ストリームをデジタルデータのブ
ロツクに分割する工程と、 前記デジタルデータ・ブロツクをデジタル要素
のサンプルに分割する工程と、 デジタルデータの各サンプルを調べ、各サンプ
ルのエネルギー量を決定する工程と、 前記エネルギー量が小さくなる順に前記サンプ
ルを並べる工程と、 前記サンプルをデジタルで定義するために1つ
あるいはそれ以上のビツトで1つのサンプルを定
義するのに適用できる、エネルギー量に関連した
累積利得を決定する工程と、 1つのサンプルを定義するのに使用する最大ビ
ツト数を決定する工程と、 順番に並べられたサンプルに関連して固定比を
有する基準マーカと他のマーカを位置付ける工程
と、 マーカの間のサンプルに、それらサンプルが並
べられた順番にビツトを割当て、最適なビツト割
当てを行う工程と、 デジタルデータのブロツクを定義するために割
当てられる全ビツト数が割当てられたかどうかを
チエツクする工程と、 デジタルビツトを最適に割当ててデジタルデー
タの前記ブロツクの要素の各サンプルを符号化す
る工程と を有することを特徴とする実時間データ圧縮方
法。 発明の技術分野 この発明は、伝送される圧縮されたデジタルビ
ツトの最適な割当てを実現するために、適応変換
符号化(Adaptive Transform Cod−ing:
ATC)を使用して、標準的な商業用のデータリ
ンクにより伝送するためにアナログあるいはデジ
タルデータを圧縮するためのデジタル装置と方法
に関するものである。特に詳しくは、実時間での
データ圧縮と伝送を可能にする情報ブロツクを定
義するために、高速にビツトの割当てを行なうこ
とができるハードウエアに関するものである。 従来技術の説明 デジタルの通信フオーマツトは、多くの点で伝
統的なアナログフオーマツトよりも優れている。
その結果、アナログ電話回線を全てがデジタル信
号である回線に変更する傾向にある。高品質の音
声はアナログ形式で約3200Hzの帯域を有してい
る。このアナログ音声信号をデジタルフオーマツ
トに変換している現在の方法は、音声を1秒当り
8000サンプルからなるブロツクでサンプリング
し、サンプル当り8ビツトを用いて各サンプルに
デジタル値を割当ている。この一般的な変換は、
復号化時、電話の音質で音声波形を再生するため
に、64Kbpsで伝送できる帯域を必要としている。
これが、標準的なデジタルデータ電話回線が
64Kbpsのデータレートで標準化されている最も
重要な理由である。 1秒当り64000ビツトを伝送できる標準的なデ
ジタル音声電話回線は、一般に電話音声の伝送に
使用されている。デジタル電話回線が採用される
と、64Kbpsの伝送能力の全てがユーザにより所
望の方法で使用される。このような標準的な電話
データ回線を使用し、少し音声の質が低下するけ
れども、会話が理解できる程度に、デジタル的に
同じデータ回線上に最大8つの音声チヤネルを伝
送することが可能である。さらにまた、デジタル
データ表現を1/4に圧縮し、ほとんど音質を低
下させることなく、4つの音声チヤネルを1つの
デジタルデータ音声回線に伝送することができ
る。今までは、そのような音声データを圧縮する
遅延時間のために、実時間の伝送に使用するのが
見送られてきていた。 大陸横断のデジタル通話回線は、1月当り
40000ドル以上の賃貸あるいはリース量を必要と
する。もし伝送される音声が1/4の圧縮されれ
ば、ユーザは1月当り120000ドル以上を節約でき
ることになる。 25年以上の間、学者の論文は音声情報を圧縮す
る種々の方法を提案してきている。しかし、圧縮
された音声情報を伝送するとき、上述した節約を
実現できる利点を備えたいかなる装置も、現在市
販されていない。 HuangとSchulthiessは、その論文“相関のあ
るガウス分布のランダム変数のブロツク量子化”
(Block Quantization of Corre−lated
Gaussian Random Variables)(IEEE Tran.−
Comm.Sys.Vol.CSII.pp.286−296.1963年9月)
で、デジタル情報のブロツクは1つずつのサンプ
ルを基本に符号化され、さらにデータ圧縮を行う
情報ブロツクを定義するのに、デジタルビツト割
当てることを提案している。この論文で提案され
たビツト割当ては、次善の方法である。なぜな
ら、ビツトb(j)の最適な分布は、分散σ2(j)
の線形な関数でなく、実際のビツト配分において
滅多に生じない非整数のビツトが割当てられるよ
うに要求しているためである。 adrian Segalは彼の論文“ベクトルソースの
ビツト割当てと符号化”(Bit Allocation and
Encoding for Vector Sources)(IEEE Trans
Inform Theory Vol.IT−22,pp.162−169,
1976年3月)で、デジタル情報のブロツクのデー
タ圧縮を実現するためにデジタルビツトを割当て
る異なる方法を吟味している。さらに、この
Segalの論文は、デジタル情報のブロツクをデー
タ圧縮するために、個々のビツトを最適に割当て
るためのアルゴリズムを提案している。この論文
は最適なビツト割当てを提案する一方、それを実
施するのに約60000回のコンピユータの動作を必
要としている。本願発明において同様なビツト割
当てを実行するには、実時間での簡単な動作とし
て実行されうる約7560動作のみを必要とするだけ
である。 ベル研究所のRichard V.CoxとRonald
Crochiereらは、その論文“適応変換符号化
(ATC)の実時間シミユレーシヨン”(Real
Time Simulation of Adaptive Transform
Coding)(IEEE Trans.on Acoustic.Speech
and Signal Processing.Vol.ASSP 29,No.2,
1981年4月)で、低いビツトレート(9.6−
16Kbps)で64Kbpsの音声ラインに伝送する音声
のデジタル符号化の効果的な手段として、適応変
換符号化(ATC:Adaptive Transform
Coding)を提案している。 実際の電話における会話は、圧縮されたデータ
と符号化されて変換されたデータとからなつてい
た。符号化されたデータは伝送され、その変換さ
れたデータは受信側で、圧縮されたデータ形式か
ら復号される。このCoxその他の論文は更に、
ATC符号化と、実時間でのデータ圧縮伝送がで
きる高速のプロセツサを用いたデコーダ(復号
器)を教授している。
第1図は一般的な従来の符号化技術を示すブロ
ツク図、第2図は適応変換符号化(ATC)の従
来技術を示す概略ブロツク図、第3図は最適な高
速データ圧縮を実現する、好適な実施例のビツト
割当てのポインタ方法を示すフローチヤート、第
4図は好適な実施例のポインタシステムが高速に
ビツトを割当てるために、どのように実行される
かを示す概略図、第5図は最適な高速のデータ圧
縮を実現するためのビツト割当てのマーカー方法
を用いて第3図の好適な実施例を修正して示した
図、第6図は限界回帰(マージナリ・リターン:
marginal return)データがどのように推定分散
データ(estimated variance data)に関連して
いるかを示す、変換されたデータブロツクの推定
分散データの大きさをグラフで表した図、第7図
は高速データ圧縮システムがデジタルやアナログ
データに対して、いかに使用されるかを示すブロ
ツク図、第8図は好適な実施例の高速データ圧縮
システムを例示した簡単なブロツク図、そして第
9A図と第9B図は、周波数領域変換(FDT)
を実行でき、線形予測符号化(LPC)モデルを
作成し、そのLPCモデルよりの推定分散値を計
算し、限界回帰計算に基いてビツトを割当てるシ
ステムを示している好適な実施例の第8図をより
詳細に示した図である。 好適な実施例の説明 図面を詳細に説明する前に、使用されるデータ
回線は電話会社によつて64Kbpsのレートでクロ
ツクされているため、伝送されるべきデータはこ
のクロツクレートに従わねばならない。 ここでは、この発明の説明を簡単にするため
に、圧縮されるべきデータブロツクは、256サン
プルに分割されているものとし、それらの各々は
データ圧縮器に入力される線上の12ビツトで定義
されているものとする。このことは、64Kbpsの
レートの出力データを提供するためには、
96Kbpsのビツトレートで処理されて出力される
ことを意味している。この発明のシステムはま
た、各チヤネル当りの出力は16Kbpsであるが、
ハードウエアデータ圧縮器で96Kbpsの入出力デ
ータレートを有することができる。 各サンプルのそれぞれが、12ビツトでなく6ビ
ツトで定義されているとすると、6ビツトで伝送
することにより、実際上1/2のデータ圧縮とな
る。音声データは非常に複雑なスペクトル(周波
数域)を有しているため、各サンプルを定義する
のに、サンプルに等しくビツトが割当てられるも
のでなく、音声周波数域の解析を必要とする。本
願発明は、入力されるデータブロツクの256サン
プルを定義するのに使用され、64Kbpsである音
声データリンク・ラインのデータレートに基づい
て1/4の圧縮比を得ることができるように、1
秒当り16Kbpsで再伝送される約400ビツトを最適
に割当てようとするものである。 まず、前述したAdrian、SegallのIEEEの論文
に開示された基本的な符号化の概要10を示して
いる第1図を参照する。この符号化処理は、スカ
ラソースに対する既知の符号化手法を利用して、
ベクタソースに適合して設計されている。著者
は、線11上の入力X(i)を、ガウス分布を有して
いる独立して一様に分布したm次元のランダムベ
クトル列で構成された離散したメモリのないベク
トルソースよりの出力として説明している。ベク
トルX(i)は“0”でない行列式S12によりY(i)ベ
クトルに変換され、相関のないYベクトル成分を
形成している。Yベクトルのm個の成分のそれぞ
れはソース符号化技術によりエンコーダ13,1
4,15で符号化され、個々のノイズのないチヤ
ネル16を通して、復号を行なう装置にデジタル
値を提供するために伝送される離散的な(個々
の)デジタル値Y^を提供している。受信された線
17上のデジタル値Y^は、“0”でない行列式R
18で逆変換され、線11上の元の信号X(i)に近
似しているX^ベクトルを線19上に出力される。 チヤネル16を通して伝送される線11上のソ
ース情報は、限定されたデジタルビツト数を有
し、ソースワードあるいはブロツクの各成分ある
いはサンプルは個々に処理されることを、Segal
は認識していた。この問題は、ソース情報X(i)と
再生された数列X^との間の、全体的な最小自乗誤
差を最小にするために、個々の成分あるいは要素
に対し最適なビツト割当てを見出すことであつ
た。 Segallは有効なビツトを最適に割当てるための
1つの手順を提案している。まず最初に、限界回
帰値(marginal return value)P(b,k)が
各サンプルに対して計算される。それから、それ
ら限界回帰値は降順に配分される。最も高い限界
回帰値を有しているサンプルには1ビツトが割当
てられ、それよりも少ない限界回帰値P(b,k)
は、そのビツトを受け取るサンプルのために再び
計算される。それから、サンプルは限界回帰値が
小さくなる順に再び並べられ、次のビツトは次に
最も高い限界回帰値を有するサンプルに割当てら
れる。その処理は有効ビツトの全てが割当てられ
るまで繰返し実行される。それから、割当てられ
たビツトは、そのサンプルを符号化するのに使用
され、そのサンプルはデジタルフオーマツトで1
つのブロツクで伝送され、受信側で復号される。
この手順は、ほぼ60000回のソーテイングやマー
ジング(併合)など、を必要とし、好適な変換処
理を使用し、256サンプルに亙り400ビツトを割当
てるのに、この手順では約60000回のソーテイン
グとマージング(併合)などの操作を必要として
いる。 次に、前述した従来技術のCoxとCrochiereの
IEEEの論文に開示された適応変換符号化21の
ブロツク図を示している第2図を参照する。線2
2上のデータ列X(i)はバツフア23にブロツク単
位に格納される。X(i)ベクトルは、ブロツク24
で周波数領域変換(FDT)され、ブロツク25
で量子化されて符号化され、ブロツク26で複合
された後、ノイズのないチヤネル27を介して伝
送される。 サイド(副)情報(side information)はブロ
ツク28で計算されて量子化される。バス29上
のサイド情報は、伝送のためにチヤネル27を介
してマルチプレクサ26に送られ、また、情報ブ
ロツクの特性のスペクトルを推定するのに使用さ
れる。個々の量子化されたサンプルに対するビツ
ト割当ては、ブロツク31で行なわれる。各サン
プルに割当てられたビツトはエンコーダ25で符
号化され、バス32を介してマルチプレクサ26
に送られる前に、ステツプサイズ値△kが符号化
されたビツトに付加される。 次に、好適な実施例のビツト割当てのポインタ
方法を例示している論理フローチヤートの第3図
を参照する。 入力されるデータは、ビツトを割当てるのに必
要な推定分散データ(estimate variance deta)
σ2(K)を提供するためにブロツク33で処理さ
れる。推定分散データはサンプルのそれぞれに対
して記憶され、メモリからシステムに供給され
る。これにより、より詳しく後述するように、シ
ステムはブロツク34で推定分散データをその値
の小さい順に並べ換える。ソートされた情報はま
たメモリに格納され、ブロツク35で示されるよ
うに、システムにより予め定められた数のポイン
タを推定分散データの最上位(先頭)にセツトす
るのに利用される。それからブロツク36で示す
ように、システムは推定された分散データを使用
して簡単な計算を実行し最大限界回帰値を決定す
る。この値はポインタによつて指示されたそれぞ
れの大きさや値に対してP(b,k)として定義
される。ブロツク37は、割当てられるべき400
ビツトのうちの1ビツトが、最も高い限界回帰値
を有しているポインタのみに対する大きさや値に
割当てられることを示している。ブロツク38
は、ポインタが推定された分散の最高(次の最小
の)大きさあるいは値の次に移動されることを示
している。ブロツク39では、割当てられるべき
400ビツトの全てが割当てられたかをシステムが
判断し、そうでなければ線41によりブロツク3
6へ戻り、最高あるいは最大の限界回帰値を再び
計算して求める。システムは再びブロツク37で
最高の限界回帰値に他のビツトを割当て、ブロツ
ク38でポインタを次の最小の推定分散値に移動
させる。システムはまた割当てられるべきビツト
の全てが割当てられたかどうかを判定し、割当て
られるべき全てのビツトが割当てられるまでルー
プ41を介して36に戻る。そして、システムは
ブロツク42でビツト割当てを終了する。ポイン
タシステムでは、最も大きい推定分散の大きさや
値に、より多くのビツトを割当てて、システムの
能力を効率よく最大限に利用し、伝送する情報ブ
ロツクを最適に定義できる。 第3図の論理フローチヤートの動作例として、
限界回帰あるいは限界誤差(marginal error)
が、下式より1あるいはそれ以上のビツトを増や
すために理論的に決定される。 P(b,k)=σ2(k)[φ(b−1)−φ(b)] ここで、bは割当てられるビツト数を示し、k
はインデツクスとしての係数である。σ2(k)は
k番目の係数に対する推定分散で、φ(b)は分散が
1のガウス分布したランダム変数をbビツトで量
子化したときに得られる最小自乗誤差(mean−
squared error)である。 項[φ(b−1)−φ(b)]は、各ビツト(b)に対す
る定数で、計算されてメモリあるいは高速のアク
セスのためにルツクアツプテーブルに記憶され
る。推定分散が正規化され、あるいは推定分散σ2
(k)によつて伝送係数y(i)を割ることにより単位
元(unity)になるとき、限界回帰値は推定分散
σ2に、各ビツト(b)に対して予め計算されている最
小自乗誤差を掛けることにより計算される。この
最小自乗誤差項は、1ビツトbを付加することに
より限界回帰値P(b,k)を向上させ、あるい
は大きくする利得量を表しているため、累積利得
(cumulative gain)と呼ばれる。ビツト数を0
から1に、1から2に、2から3にというように
増やすことによる利得の例を以下に示す。
ツク図、第2図は適応変換符号化(ATC)の従
来技術を示す概略ブロツク図、第3図は最適な高
速データ圧縮を実現する、好適な実施例のビツト
割当てのポインタ方法を示すフローチヤート、第
4図は好適な実施例のポインタシステムが高速に
ビツトを割当てるために、どのように実行される
かを示す概略図、第5図は最適な高速のデータ圧
縮を実現するためのビツト割当てのマーカー方法
を用いて第3図の好適な実施例を修正して示した
図、第6図は限界回帰(マージナリ・リターン:
marginal return)データがどのように推定分散
データ(estimated variance data)に関連して
いるかを示す、変換されたデータブロツクの推定
分散データの大きさをグラフで表した図、第7図
は高速データ圧縮システムがデジタルやアナログ
データに対して、いかに使用されるかを示すブロ
ツク図、第8図は好適な実施例の高速データ圧縮
システムを例示した簡単なブロツク図、そして第
9A図と第9B図は、周波数領域変換(FDT)
を実行でき、線形予測符号化(LPC)モデルを
作成し、そのLPCモデルよりの推定分散値を計
算し、限界回帰計算に基いてビツトを割当てるシ
ステムを示している好適な実施例の第8図をより
詳細に示した図である。 好適な実施例の説明 図面を詳細に説明する前に、使用されるデータ
回線は電話会社によつて64Kbpsのレートでクロ
ツクされているため、伝送されるべきデータはこ
のクロツクレートに従わねばならない。 ここでは、この発明の説明を簡単にするため
に、圧縮されるべきデータブロツクは、256サン
プルに分割されているものとし、それらの各々は
データ圧縮器に入力される線上の12ビツトで定義
されているものとする。このことは、64Kbpsの
レートの出力データを提供するためには、
96Kbpsのビツトレートで処理されて出力される
ことを意味している。この発明のシステムはま
た、各チヤネル当りの出力は16Kbpsであるが、
ハードウエアデータ圧縮器で96Kbpsの入出力デ
ータレートを有することができる。 各サンプルのそれぞれが、12ビツトでなく6ビ
ツトで定義されているとすると、6ビツトで伝送
することにより、実際上1/2のデータ圧縮とな
る。音声データは非常に複雑なスペクトル(周波
数域)を有しているため、各サンプルを定義する
のに、サンプルに等しくビツトが割当てられるも
のでなく、音声周波数域の解析を必要とする。本
願発明は、入力されるデータブロツクの256サン
プルを定義するのに使用され、64Kbpsである音
声データリンク・ラインのデータレートに基づい
て1/4の圧縮比を得ることができるように、1
秒当り16Kbpsで再伝送される約400ビツトを最適
に割当てようとするものである。 まず、前述したAdrian、SegallのIEEEの論文
に開示された基本的な符号化の概要10を示して
いる第1図を参照する。この符号化処理は、スカ
ラソースに対する既知の符号化手法を利用して、
ベクタソースに適合して設計されている。著者
は、線11上の入力X(i)を、ガウス分布を有して
いる独立して一様に分布したm次元のランダムベ
クトル列で構成された離散したメモリのないベク
トルソースよりの出力として説明している。ベク
トルX(i)は“0”でない行列式S12によりY(i)ベ
クトルに変換され、相関のないYベクトル成分を
形成している。Yベクトルのm個の成分のそれぞ
れはソース符号化技術によりエンコーダ13,1
4,15で符号化され、個々のノイズのないチヤ
ネル16を通して、復号を行なう装置にデジタル
値を提供するために伝送される離散的な(個々
の)デジタル値Y^を提供している。受信された線
17上のデジタル値Y^は、“0”でない行列式R
18で逆変換され、線11上の元の信号X(i)に近
似しているX^ベクトルを線19上に出力される。 チヤネル16を通して伝送される線11上のソ
ース情報は、限定されたデジタルビツト数を有
し、ソースワードあるいはブロツクの各成分ある
いはサンプルは個々に処理されることを、Segal
は認識していた。この問題は、ソース情報X(i)と
再生された数列X^との間の、全体的な最小自乗誤
差を最小にするために、個々の成分あるいは要素
に対し最適なビツト割当てを見出すことであつ
た。 Segallは有効なビツトを最適に割当てるための
1つの手順を提案している。まず最初に、限界回
帰値(marginal return value)P(b,k)が
各サンプルに対して計算される。それから、それ
ら限界回帰値は降順に配分される。最も高い限界
回帰値を有しているサンプルには1ビツトが割当
てられ、それよりも少ない限界回帰値P(b,k)
は、そのビツトを受け取るサンプルのために再び
計算される。それから、サンプルは限界回帰値が
小さくなる順に再び並べられ、次のビツトは次に
最も高い限界回帰値を有するサンプルに割当てら
れる。その処理は有効ビツトの全てが割当てられ
るまで繰返し実行される。それから、割当てられ
たビツトは、そのサンプルを符号化するのに使用
され、そのサンプルはデジタルフオーマツトで1
つのブロツクで伝送され、受信側で復号される。
この手順は、ほぼ60000回のソーテイングやマー
ジング(併合)など、を必要とし、好適な変換処
理を使用し、256サンプルに亙り400ビツトを割当
てるのに、この手順では約60000回のソーテイン
グとマージング(併合)などの操作を必要として
いる。 次に、前述した従来技術のCoxとCrochiereの
IEEEの論文に開示された適応変換符号化21の
ブロツク図を示している第2図を参照する。線2
2上のデータ列X(i)はバツフア23にブロツク単
位に格納される。X(i)ベクトルは、ブロツク24
で周波数領域変換(FDT)され、ブロツク25
で量子化されて符号化され、ブロツク26で複合
された後、ノイズのないチヤネル27を介して伝
送される。 サイド(副)情報(side information)はブロ
ツク28で計算されて量子化される。バス29上
のサイド情報は、伝送のためにチヤネル27を介
してマルチプレクサ26に送られ、また、情報ブ
ロツクの特性のスペクトルを推定するのに使用さ
れる。個々の量子化されたサンプルに対するビツ
ト割当ては、ブロツク31で行なわれる。各サン
プルに割当てられたビツトはエンコーダ25で符
号化され、バス32を介してマルチプレクサ26
に送られる前に、ステツプサイズ値△kが符号化
されたビツトに付加される。 次に、好適な実施例のビツト割当てのポインタ
方法を例示している論理フローチヤートの第3図
を参照する。 入力されるデータは、ビツトを割当てるのに必
要な推定分散データ(estimate variance deta)
σ2(K)を提供するためにブロツク33で処理さ
れる。推定分散データはサンプルのそれぞれに対
して記憶され、メモリからシステムに供給され
る。これにより、より詳しく後述するように、シ
ステムはブロツク34で推定分散データをその値
の小さい順に並べ換える。ソートされた情報はま
たメモリに格納され、ブロツク35で示されるよ
うに、システムにより予め定められた数のポイン
タを推定分散データの最上位(先頭)にセツトす
るのに利用される。それからブロツク36で示す
ように、システムは推定された分散データを使用
して簡単な計算を実行し最大限界回帰値を決定す
る。この値はポインタによつて指示されたそれぞ
れの大きさや値に対してP(b,k)として定義
される。ブロツク37は、割当てられるべき400
ビツトのうちの1ビツトが、最も高い限界回帰値
を有しているポインタのみに対する大きさや値に
割当てられることを示している。ブロツク38
は、ポインタが推定された分散の最高(次の最小
の)大きさあるいは値の次に移動されることを示
している。ブロツク39では、割当てられるべき
400ビツトの全てが割当てられたかをシステムが
判断し、そうでなければ線41によりブロツク3
6へ戻り、最高あるいは最大の限界回帰値を再び
計算して求める。システムは再びブロツク37で
最高の限界回帰値に他のビツトを割当て、ブロツ
ク38でポインタを次の最小の推定分散値に移動
させる。システムはまた割当てられるべきビツト
の全てが割当てられたかどうかを判定し、割当て
られるべき全てのビツトが割当てられるまでルー
プ41を介して36に戻る。そして、システムは
ブロツク42でビツト割当てを終了する。ポイン
タシステムでは、最も大きい推定分散の大きさや
値に、より多くのビツトを割当てて、システムの
能力を効率よく最大限に利用し、伝送する情報ブ
ロツクを最適に定義できる。 第3図の論理フローチヤートの動作例として、
限界回帰あるいは限界誤差(marginal error)
が、下式より1あるいはそれ以上のビツトを増や
すために理論的に決定される。 P(b,k)=σ2(k)[φ(b−1)−φ(b)] ここで、bは割当てられるビツト数を示し、k
はインデツクスとしての係数である。σ2(k)は
k番目の係数に対する推定分散で、φ(b)は分散が
1のガウス分布したランダム変数をbビツトで量
子化したときに得られる最小自乗誤差(mean−
squared error)である。 項[φ(b−1)−φ(b)]は、各ビツト(b)に対す
る定数で、計算されてメモリあるいは高速のアク
セスのためにルツクアツプテーブルに記憶され
る。推定分散が正規化され、あるいは推定分散σ2
(k)によつて伝送係数y(i)を割ることにより単位
元(unity)になるとき、限界回帰値は推定分散
σ2に、各ビツト(b)に対して予め計算されている最
小自乗誤差を掛けることにより計算される。この
最小自乗誤差項は、1ビツトbを付加することに
より限界回帰値P(b,k)を向上させ、あるい
は大きくする利得量を表しているため、累積利得
(cumulative gain)と呼ばれる。ビツト数を0
から1に、1から2に、2から3にというように
増やすことによる利得の例を以下に示す。
【表】
【表】
第3図におけるサンプルに対する限界回帰は、
最大あるいは最高位の限界回帰値に新たなビツト
を割当てるために、ブロツク37で計算されなけ
ればならない。ビツト(b)の数が0のときは、いか
なる係数kに対する限界回帰も分散に等しくな
り、P(o,k)=σ2(k)となる。時間領域のサ
ンプルが推定分散σ2(k)が小さくなる順に並ん
でいると、ソートされている推定分散値の順番を
並びかえたり、マージングすることなくビツトを
配置したり、割当てたりすることができる。 第4図は、メモリや第3図のブロツク34で発
生するであろう分散σ2の図43を示している。最
初、ポインタの全てはブロツク35(第3図)で
示されたように、最大の推定分散データの先頭に
セツトされている。10個のポインタは、矩形に1
から10の番号が付され、前述したサンプルを指示
するための矢印とともに示されている。矩形の中
の数字は個々のサンプルに割当てられるビツト数
を表している。各サンプルに1以上のビツトを割
当てて得られる利得量は、利得項G=X(BK-1−
BK)で表される。ここで、累積利得項は予め計
算されてメモリに記憶されている。全てのポイン
タは最初順番に並べられたサンプルリストの先頭
にあり、サンプルはビツト割当ての処理を通し
て、最初にソートされた順番を維持している。こ
うして、その順に並んでいる他の要素の前にその
最初のビツトを受け取るいかなるサンプルあるい
は要素はまた、その順に並んでいる同じ他の要素
の前にその第2のビツトを受け取る。 第4図は、推定分散(σ2)のリストの先頭の要
素(サンプル)が全て6ビツトよりも少なくない
ビツト受け取つたことを示している。これは、6
ビツトポインタが要素2の位置に下がつたとき
は、ポインタ6より上の要素の全てには6ビツト
が割当てられたことを示しているためである。要
素0がその7番目のビツトを受け取ると、ポイン
タ7は要素1に下降する。このように、ポインタ
7を要素1に移動することにより、要素0には7
ビツトが割当てられる。ポインタは、全ビツトが
割当てられるまで、一回に1つしか移動しない。
全ビツトが割当てられた後、ベクトルY(i)が量子
化され、第2図を参照して説明したように、符号
化に用いられるビツトとともに符号化される。 次に、ブロツク内のサンプルにビツトを割当て
る、好適な実施例のマーカ方法を示す第5図のフ
ローチヤートについて説明する。入力したデータ
はブロツク33で処理され、推定分散σ2(k)デ
ータを出力し、そして、ブロツク34で推定分散
データの大きさや値が減少する順に並べられる。
より詳しく後述するように必ずしもマーカ値であ
ることを必要としないビツトの割当てを実行する
ために、ブロツク44でシステムは推定分散によ
つて参照値を計算する。 第2の計算はブロツク45で実行され、ともに
1つの組あるいはグループにまとめられる1組あ
るいは1グループの推定分散に割当てられるいく
つかのビツトに関連した、新しいマーカの値を提
供している。第2の計算はブロツク45で行なわ
れる。マーカの比に関連して、そのマーカが何処
に位置するかを計算したのち、マーカはブロツク
46で位置決めされ、ブロツク47で、位置決ま
されるべき最大数のマーカが位置決めされたかが
判定される。全てのマーカが位置決めされていな
いと答えは“NO”となり、線48を通りフロー
はループに入り、ブロツク47で示されたよう
に、マーカの全てが位置付けされるまで、配置さ
れたあるいは既知の比に関連した新たなマーカの
計算が続けられる。全てのマーカが位置付けされ
ると、システムは現在その位置にあるマーカを計
算する。この計算が実行された後、ブロツク51
で、以前の計算が割当てられるべきビツトの全て
を割当てたかどうかを判定する必要がある。答え
が“NO”であれば、システムは線52のループ
に入り、ブロツク44で推定分散に対する新たな
参照値の計算に戻る。それからループを通り、ブ
ロツク53に進むまでそのループを実行する。ブ
ロツク53ではビツトの割当てが終了し、システ
ムはブロツク54で停止する。 マーカ方法の動作の一例を、第6図を参照して
説明する。この第6図は、縦軸に推定分散の大き
さや値を、横軸にブロツクデータを構成するデー
タのサンプルをとつたグラフ形式で示した図であ
る。縦線55〜67は大きさが小さくなる順に並
べられたサンプルの推定分散の順番に並べられた
値を示しており、このチヤートあるいはグラフで
表される256個のサンプル全てを示すために、そ
れらの新しいアドレスには0から255の番号が付
されている。 順番に並べられたアドレスの数値は、縦線57
〜67の下の新たな位置アドレスと、元の位置ア
ドレスで示されており、データのサンプルの元の
位置は並び替えられ、元のデータサンプルは依然
として、メモリにおけるそれらに関連する元の連
続したアドレスを保持していることを示してい
る。第2の軸あるいは縦座標軸の目盛は、Y軸6
8に限界回帰比を表している利得スケールに重ね
合わされて示されている。限界回帰比に示された
値は、第3図や第5図のフローチヤートに関連し
て使用されたのと同じ技術用語を使用したビツト
マーカやポインタによるものである。縦線55は
8ビツトマーカと7ビツトマーカとの間にあり、
7ビツトを受け取る推定分散の大きさを有してい
るように、8ビツトマーカの下にあることに注目
されたい。縦線56,57および58のそれぞれ
は、推定分散値が6ビツトを受取る範囲内にあ
る。縦線59と61はそれぞれ5ビツトと4ビツ
トの範囲内の最高の位置で示されており、割当て
られるビツトの値はそれよりも少なくなる。推定
分散の大きさの値は、入力するデータの種々の形
式に対して変えられることが理解されよう。限界
回帰比68の目盛は固定であるが、ビツトマーカ
あるいはビツトの間の比は統一されておらず、全
てのサンプルをカバーするために調整される。こ
うして、マーカ方法は効率よく限界回帰比の目盛
68を調整し、ポインタの分布に関して前述した
ように、個々のサンプルの推定分散の大きさを調
整する以外に、スケール68を調整することによ
り、全てのビツトが割当てられるようにしてい
る。 従来のアルゴリズムは、本願発明に使用された
推定分散と同様な、大きさに対してビツトを割当
てるために存在していたと認められる。しかしな
がら、方程式や方法は非常に複雑で長いものであ
るため、それらは実時間で実行されない。そのよ
うなビツトを割当てるシステムの1つが、前述し
たSegalの論文に表されている。さらに、最適な
状態に及ばない結果を生み出すHaughやShortill
の方法を採用した、前述したCoxなどの文献のよ
うに、ビツトを割当てるのに必要な時間の長さを
克服するために、次善のアルゴリズムあるいは技
術を用いてビツトを割当てる試みがなされてい
た。 本願発明は、第3図と第5図を参照して前述し
た最適な方法で、全てのビツトを割当てる簡単で
効率的な方法を提供しようとするものである。 本願発明の高速データ圧縮ハードウエアを用い
た環境を示す簡単なブロツク図である第7図を参
照して説明する。線69上の音声データを含むア
ナログデータは、A/Dコンバータ71によりデ
ジタル信号に変換され、96Kbpsで線72上にデ
ジタルデータを出力している。フアーストイン・
フアーストアウト(FIFO)バツフア73は、処
理のためにハードウエア・データ圧縮器73に線
74を通してデータのブロツクを出力している。
ハードウエア・データ圧縮器75に向かう線74
上のデータレートは、好ましくは96Kbpsである。
データがデータ圧縮器75で処理された後、デー
タ圧縮比が1/4が希望されているとき、
16Kbpsで線76のデータリンクに伝送される。
ビツトの割当て数が増加あるいは減少されて、処
理されるべきアナログデータの圧縮比が変更され
る。このシステムはアナログ情報と同様に、線7
7で示されたデジタル情報入力線からのデジタル
情報をも処理できる。データリンクを渡つて伝送
されたデータは、1秒当り16Kbpsで線78より
受信され、ハードウエアの伸長器79に入力され
る。伸長された出力は線82を介してフアースト
イン・フアーストアウト・バツフア(FIFO)8
1に格納される。バツフア81に記憶された情報
は96Kbpsで線83に出力され、D/Aコンバー
タ84でデジタル信号からアナログ信号に変換さ
れ、線85にアナログ信号で出力される。この信
号は線69上の元の入力情報が伸長された複製物
である。このデータ圧縮器75と伸長器79はデ
ジタルデータあるいはアナログデータを処理でき
るため、出力線86はデジタルデータの出力する
ために示されている。 第8図は第7図のデータ圧縮器75の簡単な構
成を示すブロツク図で、次はこの図を参照して説
明する。データ入力線74上のデジタルデータ
は、マルチプレクサ87に入力され、線88を介
してALU91のバツフア89に供給される。こ
の実施例のシステムは、4つの異なる電話線とし
て使用できる4つのデータ入力線74と、1本の
データリンクラインにより伝送される情報を処理
できることが、マルチプレクサ87により示され
ている。ALU91とバツフア89は、入力情報
のブロツクを受け取るようになつており、この入
力情報はバス92を介して伝送され、保持レジス
タ93からバス95を介してメモリ94に送られ
る。処理されるサンプルは処理される前に、まず
メモリ94にデジタル情報で記憶される。アドレ
スジエネレータ96はバス97を介してメモリ9
4の情報をアクセスしてデジタルデータのサンプ
ルの複製を引出す。このデジタルデータは保持レ
ジスタ93に伝送されて、ルツクアツプテーブル
98に記憶された一定の値の情報を用いて、前述
した推定分散及び限界回帰データを計算するため
に、ALU91で処理される。 こうして計算された推定分散は再び、その関連
するメモリアドレスとともに高速メモリ94に記
憶され、高速のアクセス及び情報の処理を可能に
している。その処理された情報はALU91、保
持レジスタ93及び比較器99を用いて並べ替え
られる。前述した計算の全ては制御ブロツク10
2のプログラムメモリ部101にプログラムされ
ている。処理順序やタイミング制御は、第8図に
示された全てのブロツクにバス103を介して制
御情報やタイミング情報を出力している制御部1
02の論理的な機能である。制御バス103上の
命令は136ビツトの制御ワードであり、このワー
ドによりデータ圧縮器75の全ての部分を同時に
制御できる。制御部102がそのプログラムや、
処理順序及び適切なタイミング制御を行なうのに
必要な情報は、線104上のALU86からの、
線105上の比較器99からの及び線106上の
アドレスジエネレータ96からのステータス情報
である。好適な実施例のデータ圧縮器75では、
2つの部分からなる(bisection)アドレスジエ
ネレータ107を備えている。このジエネレータ
は第3図を参照して説明された前述のポインタシ
ステムで使用されないが、第5図のブロツク47
で説明された好適な実施例のビツトマーカ割当て
システムで使用されている。 データ圧縮器75では、データは一回で1つの
ブロツクに圧縮されて出力線108に送られ、マ
ルチプレクサ109を介して、データリンク76
と同じデータ出力線111に伝送される。 次に、第7図と第8図に示された好適な実施例
のデータ圧縮器75を詳細に示した第9図を参照
して説明する。 バツフアに記憶されたサンプル値は、線88を
通りALU91に供給され、そこでサンプルは整
数表現からデジタルサンプルの浮動小数点表現に
変換される。線113上の浮動小数点表現のサン
プルは、保持レジスタ93Lの入力線112に供
給される。デジタル形式の浮動小数点表現は、線
95を介して保持レジスタ93から高速メモリ9
4に伝送され、連続したアドレスの順に格納され
る。全てのサンプルが高速メモリ94に格納され
ると、線95を介して高速メモリ94から保持レ
ジスタ93に伝送されるとき、比較器99で個々
のサンプル毎に比較されてソートされる。制御部
102でなされて決定に基づいて、前述したよう
に、推定分散が減少する順に個々のサンプルが高
速メモリ94に戻される。 ALU91が前述したポインタ方法で動作して
いるときは、アドレスジエネレータ96は線97
上にアドレスを出力し、保持レジスタ93を通し
てALU91に供給されるメモリ94からの推定
分散をアクセスすることができる。予め計算さ
れ、記憶されている累積利得因子は、線97を介
してアドレスジエネレータ96と、線115にル
ツクアツプテーブル98へのアドレスを供給して
いるパイプラインレジスタ114でアクセスされ
る。ルツクアツプテーブル98の定数は、線11
6を介してバス92Rに供給され、バス92Rを
エネーブルにして、ALU91の右側91Rある
いは左側91Lに供給される。ALU91の左側
に供給されるときは、バス92RはALUバツフ
ア117を通して、ALU91Lに接続されてい
る左側のバス92Lに接続される。累積利得Gが
乗算された分散の大きさは、前述した限界回帰値
となる。 比較される限界回帰は10個の値しかないので、
限界回帰の最高の順位はALUで計算されるが、
多くの数の比較が必要なときは比較器99を用い
て計算しても良い。所定のポインタに対して最大
限界回帰値が求められると、それに関連した、ま
たアドレスジエネレータ96に含まれたアドレス
が、前に説明したように次に最も低い推定分散値
のためにインクリメントされる。これにより、そ
のポインタの上のサンプルに1ビツトを効率よく
割当てることができる。ポインタを移動すること
による効果としては、ポインタアドレスによつて
規定された最高の限界回帰を有する要素あるいは
サンプルに1以上のビツトを割当てることができ
ることにある。システム75の処理は第3図のブ
ロツク37で行ない、周辺利得あるいは回帰は1
ビツトを受け取つたサンプルのために減少され
る。ポインタは次の最も低い推定分散に移動する
と、プログラムメモリ101の制御のもとに、プ
ロセツサ91が全てのビツトが割当てられたかど
うかを判定する。割当てられていなければプログ
ラムは再びサブリストにおけるポインタのために
限界回帰P(b,k)を計算する。そして再び、
最大限界回帰を有するポインタのサンプルには1
ビツトが割当てられる。そのポインタは次のより
低い推定分散へ移動し、そのポインタに関連した
限界回帰は、新たに推定分散を指示したものを用
いて計算される。それから、全てのビツトが割当
てられたかどうかが決定される。最後のビツトを
受け取るサンプルに対応する更新されたポインタ
のためにのみ、限界回帰の計算がなされる。これ
は、他のポインタは依然同じ限界回帰を有してい
るためである。その計算は全てのビツトが割当て
られて、ビツトの割当てが完了するまで続けられ
る。ビツトの割当てが完了すると、高速メモリ9
4のデータは高速メモリの情報を保持レジスタ9
3に取出して、ALU91で量子化動作を実行す
ることにより量子化される。量子化された情報は
サンプル毎或は要素毎に伝送され、伝送される情
報はALU91の左側から書込み線113上に出
力される。情報が線113を介して線111上に
伝送される前に、浮動小数点表現がALU91L
で整数表現に変換される。計算がALUの左側9
1Lで実行されるように説明してきたが、ALU
91Rもまた実時間で情報のブロツクを処理する
ために計算を実行していることが理解されるであ
ろう。2つのALU91Lと91Rの任務の割当
ては、基本的にプログラムメモリ101の作用に
よるもので、これ以上の説明は不要であろう。 量子化計算が実行されるときは、最後のビツト
割当てが高速メモリ94に記憶された後である。
入力データとビツト割当ては、線95を介して
ALU91に伝送される。ビツト割当てはルツク
アツプテーブル98の定数をアドレスするアドレ
スとして使用される。この動作中、ALUは、線
119上にアドレスを出力し、ルツクアツプテー
ブル98をアクセスするのに必要なアドレスを出
力するために使用されているバツフア117と1
18とをアドレスしている。線119は制御部1
02からのバス121に接続され、アドレスジエ
ネレータ96にアドレスを出力している。 ALU91で除算が実行されるときはいつも、
ALU91の外部にある1対のルツクアツプテー
ブル122と123が、その処理を高速に行うた
めに備えられている。よつて、テーブル122か
らのルツクアツプ・データは指数を、テーブル1
23からのルツクアツプ・データは仮数のために
使用される。ルツクアツプテーブル122と12
3には、ALUにおける長い循環する計算を避け
る逆数がロードされていることが理解されるであ
ろう。 アドレスジエネレータ96にはさらに、線97
を介して高速ROM94に供給されるアドレスの
アドレス動作をスピードアツプするためのパイプ
ラインレジスタ124やバツフアレジスタ125
への出力線97が備えられている。 次に、第5図と第9図及び2分(bisection)
アドレスジエネレータ107を参照して説明する
第5図のブロツク44で既に説明したように、参
照値を求めるための計算が行なわれる。マーカ値
は、その参照値と、マーカと参照値との間の予め
定められた比を基に計算される。マーカ値はビツ
トを割当てるために並べられたデータ内でそのマ
ーカを配置し、位置付けるために使用される。マ
ーカの配置はマーカ値を比較器99にロードし、
その値と、2分アドレスジエネレータ107に関
連したアドレスジエネレータ96によつて指示さ
れたアドレスの値と比較することにより行なわれ
る。全てのマーカが配置されると、予め定められ
たマーカ比と現在の参照値を用いて、全てのビツ
トが適正に割当てられたかを判定することが可能
になる。 ビツト割当てがあまりに高いと、制御プログラ
ムは新たな参照値を作成する。逆に、ビツト割当
てがあまりに低いと、より高い参照値が計算され
る。この処理は適正な数のビツトがマーカの位置
に割当てられてしまうまで繰返し実行される。
次々とより小さなステツプ、及び修正ループを繰
返して参照値を更新することにより、その処理に
よりマーカの最適なビツト配置に近付くことがで
き、こうして使用されるビツトが適正に割当てら
れる。 最適なビツト割当てが唯一なものでない場合、
唯一の解法が存在するビツトに対して最適なビツ
ト割当てが実行され、残りのビツトが同等に価値
のあるサンプルの間で任意に割当てられる。 ALU91からの制御線104、比較器99よ
りの制御線105及びアドレスジエネレータ96
からの制御線106は、制御部102の選択ステ
ータス・ブロツク126に接続されている。制御
アドレスジエネレータ・バツフア127は、前述
したプログラムメモリ101により、アドレスジ
エネレータ96に対してバス121上にアドレス
を出力する。プログラム制御バス103は好まし
くは136ビツトで、ほとんどのミニコンピユータ
や小規模のプロセツサにおいてみられるように、
ALU91から作用されるプログラム以外で制御
される第9図の各ユニツトに接続されている。 実時間でのデータ圧縮を行なう好適な実施例
を、ポインタシステム形式と第2の好適な実施例
のマーカあるいは参照値システム形式で説明して
きたが、最適なビツト割当てを実現するのに必要
な時間の差は、400ビツトの場合はほとんどなく、
いずれの場合も同じようにサンプルに対して最適
にビツトが割当てられる。この実施例で使用され
た装置と同様にこの実施例のビツト割当てる方法
は、デジタルやアナログデータ・ブロツクにも適
用でき、30ms以内でデータ圧縮を実現できると
ともに、データ圧縮のために最適にビツトが割当
てられている間、圧縮されたデータをデジタル形
式で伝送することができる。その圧縮されたデー
タを伸長する受信装置は、線113あるいは線7
6上のデータがさらに、伝送されているサンプル
を復号するのに必要な情報を含んでいるため、高
度に簡素化されている。そして、システムは第9
図に示された回路よりも、より簡単になつてい
る。 この実施例では、適応変換符号化を用いて説明
してきたが、実時間でデータ圧縮を行なうのに必
要な速度が得られる重要な要素である。データ圧
縮のために最適にビツトを割当てを行なうハード
ウエアや方法を変更することなく、他の変換符号
化を用いても良い。 前述した方法は、音声あるいは会話データを
1/4あるいは1/2の圧縮するようになつてい
たが、同一の装置や方法により、他の好適な圧縮
比でデータ圧縮を行つてもよい。例えば、音声の
質が重要な要素でなく、大量の音声データを伝送
することが重要であるときは、音声データを粉失
することなく、圧縮比を1/8まで上げることが
できる。より高い圧縮比は、伝送される音声デー
タの質を低下させることにより実現できる。実時
間での処理が重要でない場合は、データの損失な
く圧縮比を最大Y〜10まで実現できるような、他
の形式の損失のないデータ圧縮が利用できる。こ
のようにして、本願発明及びシステムより、より
速くより経済的に、より大きな容量の繰返しデジ
タルデータが伝送できる。しかしながら、本願発
明は、9.6Kbpsから32Kbpsの間のビツトレート
で商業的に利用できるデータリンクに実時間で伝
送できるように、音声およびモデム信号を圧縮で
きる既知のシステムに、最高の再生品位を提供す
るものである。
最大あるいは最高位の限界回帰値に新たなビツト
を割当てるために、ブロツク37で計算されなけ
ればならない。ビツト(b)の数が0のときは、いか
なる係数kに対する限界回帰も分散に等しくな
り、P(o,k)=σ2(k)となる。時間領域のサ
ンプルが推定分散σ2(k)が小さくなる順に並ん
でいると、ソートされている推定分散値の順番を
並びかえたり、マージングすることなくビツトを
配置したり、割当てたりすることができる。 第4図は、メモリや第3図のブロツク34で発
生するであろう分散σ2の図43を示している。最
初、ポインタの全てはブロツク35(第3図)で
示されたように、最大の推定分散データの先頭に
セツトされている。10個のポインタは、矩形に1
から10の番号が付され、前述したサンプルを指示
するための矢印とともに示されている。矩形の中
の数字は個々のサンプルに割当てられるビツト数
を表している。各サンプルに1以上のビツトを割
当てて得られる利得量は、利得項G=X(BK-1−
BK)で表される。ここで、累積利得項は予め計
算されてメモリに記憶されている。全てのポイン
タは最初順番に並べられたサンプルリストの先頭
にあり、サンプルはビツト割当ての処理を通し
て、最初にソートされた順番を維持している。こ
うして、その順に並んでいる他の要素の前にその
最初のビツトを受け取るいかなるサンプルあるい
は要素はまた、その順に並んでいる同じ他の要素
の前にその第2のビツトを受け取る。 第4図は、推定分散(σ2)のリストの先頭の要
素(サンプル)が全て6ビツトよりも少なくない
ビツト受け取つたことを示している。これは、6
ビツトポインタが要素2の位置に下がつたとき
は、ポインタ6より上の要素の全てには6ビツト
が割当てられたことを示しているためである。要
素0がその7番目のビツトを受け取ると、ポイン
タ7は要素1に下降する。このように、ポインタ
7を要素1に移動することにより、要素0には7
ビツトが割当てられる。ポインタは、全ビツトが
割当てられるまで、一回に1つしか移動しない。
全ビツトが割当てられた後、ベクトルY(i)が量子
化され、第2図を参照して説明したように、符号
化に用いられるビツトとともに符号化される。 次に、ブロツク内のサンプルにビツトを割当て
る、好適な実施例のマーカ方法を示す第5図のフ
ローチヤートについて説明する。入力したデータ
はブロツク33で処理され、推定分散σ2(k)デ
ータを出力し、そして、ブロツク34で推定分散
データの大きさや値が減少する順に並べられる。
より詳しく後述するように必ずしもマーカ値であ
ることを必要としないビツトの割当てを実行する
ために、ブロツク44でシステムは推定分散によ
つて参照値を計算する。 第2の計算はブロツク45で実行され、ともに
1つの組あるいはグループにまとめられる1組あ
るいは1グループの推定分散に割当てられるいく
つかのビツトに関連した、新しいマーカの値を提
供している。第2の計算はブロツク45で行なわ
れる。マーカの比に関連して、そのマーカが何処
に位置するかを計算したのち、マーカはブロツク
46で位置決めされ、ブロツク47で、位置決ま
されるべき最大数のマーカが位置決めされたかが
判定される。全てのマーカが位置決めされていな
いと答えは“NO”となり、線48を通りフロー
はループに入り、ブロツク47で示されたよう
に、マーカの全てが位置付けされるまで、配置さ
れたあるいは既知の比に関連した新たなマーカの
計算が続けられる。全てのマーカが位置付けされ
ると、システムは現在その位置にあるマーカを計
算する。この計算が実行された後、ブロツク51
で、以前の計算が割当てられるべきビツトの全て
を割当てたかどうかを判定する必要がある。答え
が“NO”であれば、システムは線52のループ
に入り、ブロツク44で推定分散に対する新たな
参照値の計算に戻る。それからループを通り、ブ
ロツク53に進むまでそのループを実行する。ブ
ロツク53ではビツトの割当てが終了し、システ
ムはブロツク54で停止する。 マーカ方法の動作の一例を、第6図を参照して
説明する。この第6図は、縦軸に推定分散の大き
さや値を、横軸にブロツクデータを構成するデー
タのサンプルをとつたグラフ形式で示した図であ
る。縦線55〜67は大きさが小さくなる順に並
べられたサンプルの推定分散の順番に並べられた
値を示しており、このチヤートあるいはグラフで
表される256個のサンプル全てを示すために、そ
れらの新しいアドレスには0から255の番号が付
されている。 順番に並べられたアドレスの数値は、縦線57
〜67の下の新たな位置アドレスと、元の位置ア
ドレスで示されており、データのサンプルの元の
位置は並び替えられ、元のデータサンプルは依然
として、メモリにおけるそれらに関連する元の連
続したアドレスを保持していることを示してい
る。第2の軸あるいは縦座標軸の目盛は、Y軸6
8に限界回帰比を表している利得スケールに重ね
合わされて示されている。限界回帰比に示された
値は、第3図や第5図のフローチヤートに関連し
て使用されたのと同じ技術用語を使用したビツト
マーカやポインタによるものである。縦線55は
8ビツトマーカと7ビツトマーカとの間にあり、
7ビツトを受け取る推定分散の大きさを有してい
るように、8ビツトマーカの下にあることに注目
されたい。縦線56,57および58のそれぞれ
は、推定分散値が6ビツトを受取る範囲内にあ
る。縦線59と61はそれぞれ5ビツトと4ビツ
トの範囲内の最高の位置で示されており、割当て
られるビツトの値はそれよりも少なくなる。推定
分散の大きさの値は、入力するデータの種々の形
式に対して変えられることが理解されよう。限界
回帰比68の目盛は固定であるが、ビツトマーカ
あるいはビツトの間の比は統一されておらず、全
てのサンプルをカバーするために調整される。こ
うして、マーカ方法は効率よく限界回帰比の目盛
68を調整し、ポインタの分布に関して前述した
ように、個々のサンプルの推定分散の大きさを調
整する以外に、スケール68を調整することによ
り、全てのビツトが割当てられるようにしてい
る。 従来のアルゴリズムは、本願発明に使用された
推定分散と同様な、大きさに対してビツトを割当
てるために存在していたと認められる。しかしな
がら、方程式や方法は非常に複雑で長いものであ
るため、それらは実時間で実行されない。そのよ
うなビツトを割当てるシステムの1つが、前述し
たSegalの論文に表されている。さらに、最適な
状態に及ばない結果を生み出すHaughやShortill
の方法を採用した、前述したCoxなどの文献のよ
うに、ビツトを割当てるのに必要な時間の長さを
克服するために、次善のアルゴリズムあるいは技
術を用いてビツトを割当てる試みがなされてい
た。 本願発明は、第3図と第5図を参照して前述し
た最適な方法で、全てのビツトを割当てる簡単で
効率的な方法を提供しようとするものである。 本願発明の高速データ圧縮ハードウエアを用い
た環境を示す簡単なブロツク図である第7図を参
照して説明する。線69上の音声データを含むア
ナログデータは、A/Dコンバータ71によりデ
ジタル信号に変換され、96Kbpsで線72上にデ
ジタルデータを出力している。フアーストイン・
フアーストアウト(FIFO)バツフア73は、処
理のためにハードウエア・データ圧縮器73に線
74を通してデータのブロツクを出力している。
ハードウエア・データ圧縮器75に向かう線74
上のデータレートは、好ましくは96Kbpsである。
データがデータ圧縮器75で処理された後、デー
タ圧縮比が1/4が希望されているとき、
16Kbpsで線76のデータリンクに伝送される。
ビツトの割当て数が増加あるいは減少されて、処
理されるべきアナログデータの圧縮比が変更され
る。このシステムはアナログ情報と同様に、線7
7で示されたデジタル情報入力線からのデジタル
情報をも処理できる。データリンクを渡つて伝送
されたデータは、1秒当り16Kbpsで線78より
受信され、ハードウエアの伸長器79に入力され
る。伸長された出力は線82を介してフアースト
イン・フアーストアウト・バツフア(FIFO)8
1に格納される。バツフア81に記憶された情報
は96Kbpsで線83に出力され、D/Aコンバー
タ84でデジタル信号からアナログ信号に変換さ
れ、線85にアナログ信号で出力される。この信
号は線69上の元の入力情報が伸長された複製物
である。このデータ圧縮器75と伸長器79はデ
ジタルデータあるいはアナログデータを処理でき
るため、出力線86はデジタルデータの出力する
ために示されている。 第8図は第7図のデータ圧縮器75の簡単な構
成を示すブロツク図で、次はこの図を参照して説
明する。データ入力線74上のデジタルデータ
は、マルチプレクサ87に入力され、線88を介
してALU91のバツフア89に供給される。こ
の実施例のシステムは、4つの異なる電話線とし
て使用できる4つのデータ入力線74と、1本の
データリンクラインにより伝送される情報を処理
できることが、マルチプレクサ87により示され
ている。ALU91とバツフア89は、入力情報
のブロツクを受け取るようになつており、この入
力情報はバス92を介して伝送され、保持レジス
タ93からバス95を介してメモリ94に送られ
る。処理されるサンプルは処理される前に、まず
メモリ94にデジタル情報で記憶される。アドレ
スジエネレータ96はバス97を介してメモリ9
4の情報をアクセスしてデジタルデータのサンプ
ルの複製を引出す。このデジタルデータは保持レ
ジスタ93に伝送されて、ルツクアツプテーブル
98に記憶された一定の値の情報を用いて、前述
した推定分散及び限界回帰データを計算するため
に、ALU91で処理される。 こうして計算された推定分散は再び、その関連
するメモリアドレスとともに高速メモリ94に記
憶され、高速のアクセス及び情報の処理を可能に
している。その処理された情報はALU91、保
持レジスタ93及び比較器99を用いて並べ替え
られる。前述した計算の全ては制御ブロツク10
2のプログラムメモリ部101にプログラムされ
ている。処理順序やタイミング制御は、第8図に
示された全てのブロツクにバス103を介して制
御情報やタイミング情報を出力している制御部1
02の論理的な機能である。制御バス103上の
命令は136ビツトの制御ワードであり、このワー
ドによりデータ圧縮器75の全ての部分を同時に
制御できる。制御部102がそのプログラムや、
処理順序及び適切なタイミング制御を行なうのに
必要な情報は、線104上のALU86からの、
線105上の比較器99からの及び線106上の
アドレスジエネレータ96からのステータス情報
である。好適な実施例のデータ圧縮器75では、
2つの部分からなる(bisection)アドレスジエ
ネレータ107を備えている。このジエネレータ
は第3図を参照して説明された前述のポインタシ
ステムで使用されないが、第5図のブロツク47
で説明された好適な実施例のビツトマーカ割当て
システムで使用されている。 データ圧縮器75では、データは一回で1つの
ブロツクに圧縮されて出力線108に送られ、マ
ルチプレクサ109を介して、データリンク76
と同じデータ出力線111に伝送される。 次に、第7図と第8図に示された好適な実施例
のデータ圧縮器75を詳細に示した第9図を参照
して説明する。 バツフアに記憶されたサンプル値は、線88を
通りALU91に供給され、そこでサンプルは整
数表現からデジタルサンプルの浮動小数点表現に
変換される。線113上の浮動小数点表現のサン
プルは、保持レジスタ93Lの入力線112に供
給される。デジタル形式の浮動小数点表現は、線
95を介して保持レジスタ93から高速メモリ9
4に伝送され、連続したアドレスの順に格納され
る。全てのサンプルが高速メモリ94に格納され
ると、線95を介して高速メモリ94から保持レ
ジスタ93に伝送されるとき、比較器99で個々
のサンプル毎に比較されてソートされる。制御部
102でなされて決定に基づいて、前述したよう
に、推定分散が減少する順に個々のサンプルが高
速メモリ94に戻される。 ALU91が前述したポインタ方法で動作して
いるときは、アドレスジエネレータ96は線97
上にアドレスを出力し、保持レジスタ93を通し
てALU91に供給されるメモリ94からの推定
分散をアクセスすることができる。予め計算さ
れ、記憶されている累積利得因子は、線97を介
してアドレスジエネレータ96と、線115にル
ツクアツプテーブル98へのアドレスを供給して
いるパイプラインレジスタ114でアクセスされ
る。ルツクアツプテーブル98の定数は、線11
6を介してバス92Rに供給され、バス92Rを
エネーブルにして、ALU91の右側91Rある
いは左側91Lに供給される。ALU91の左側
に供給されるときは、バス92RはALUバツフ
ア117を通して、ALU91Lに接続されてい
る左側のバス92Lに接続される。累積利得Gが
乗算された分散の大きさは、前述した限界回帰値
となる。 比較される限界回帰は10個の値しかないので、
限界回帰の最高の順位はALUで計算されるが、
多くの数の比較が必要なときは比較器99を用い
て計算しても良い。所定のポインタに対して最大
限界回帰値が求められると、それに関連した、ま
たアドレスジエネレータ96に含まれたアドレス
が、前に説明したように次に最も低い推定分散値
のためにインクリメントされる。これにより、そ
のポインタの上のサンプルに1ビツトを効率よく
割当てることができる。ポインタを移動すること
による効果としては、ポインタアドレスによつて
規定された最高の限界回帰を有する要素あるいは
サンプルに1以上のビツトを割当てることができ
ることにある。システム75の処理は第3図のブ
ロツク37で行ない、周辺利得あるいは回帰は1
ビツトを受け取つたサンプルのために減少され
る。ポインタは次の最も低い推定分散に移動する
と、プログラムメモリ101の制御のもとに、プ
ロセツサ91が全てのビツトが割当てられたかど
うかを判定する。割当てられていなければプログ
ラムは再びサブリストにおけるポインタのために
限界回帰P(b,k)を計算する。そして再び、
最大限界回帰を有するポインタのサンプルには1
ビツトが割当てられる。そのポインタは次のより
低い推定分散へ移動し、そのポインタに関連した
限界回帰は、新たに推定分散を指示したものを用
いて計算される。それから、全てのビツトが割当
てられたかどうかが決定される。最後のビツトを
受け取るサンプルに対応する更新されたポインタ
のためにのみ、限界回帰の計算がなされる。これ
は、他のポインタは依然同じ限界回帰を有してい
るためである。その計算は全てのビツトが割当て
られて、ビツトの割当てが完了するまで続けられ
る。ビツトの割当てが完了すると、高速メモリ9
4のデータは高速メモリの情報を保持レジスタ9
3に取出して、ALU91で量子化動作を実行す
ることにより量子化される。量子化された情報は
サンプル毎或は要素毎に伝送され、伝送される情
報はALU91の左側から書込み線113上に出
力される。情報が線113を介して線111上に
伝送される前に、浮動小数点表現がALU91L
で整数表現に変換される。計算がALUの左側9
1Lで実行されるように説明してきたが、ALU
91Rもまた実時間で情報のブロツクを処理する
ために計算を実行していることが理解されるであ
ろう。2つのALU91Lと91Rの任務の割当
ては、基本的にプログラムメモリ101の作用に
よるもので、これ以上の説明は不要であろう。 量子化計算が実行されるときは、最後のビツト
割当てが高速メモリ94に記憶された後である。
入力データとビツト割当ては、線95を介して
ALU91に伝送される。ビツト割当てはルツク
アツプテーブル98の定数をアドレスするアドレ
スとして使用される。この動作中、ALUは、線
119上にアドレスを出力し、ルツクアツプテー
ブル98をアクセスするのに必要なアドレスを出
力するために使用されているバツフア117と1
18とをアドレスしている。線119は制御部1
02からのバス121に接続され、アドレスジエ
ネレータ96にアドレスを出力している。 ALU91で除算が実行されるときはいつも、
ALU91の外部にある1対のルツクアツプテー
ブル122と123が、その処理を高速に行うた
めに備えられている。よつて、テーブル122か
らのルツクアツプ・データは指数を、テーブル1
23からのルツクアツプ・データは仮数のために
使用される。ルツクアツプテーブル122と12
3には、ALUにおける長い循環する計算を避け
る逆数がロードされていることが理解されるであ
ろう。 アドレスジエネレータ96にはさらに、線97
を介して高速ROM94に供給されるアドレスの
アドレス動作をスピードアツプするためのパイプ
ラインレジスタ124やバツフアレジスタ125
への出力線97が備えられている。 次に、第5図と第9図及び2分(bisection)
アドレスジエネレータ107を参照して説明する
第5図のブロツク44で既に説明したように、参
照値を求めるための計算が行なわれる。マーカ値
は、その参照値と、マーカと参照値との間の予め
定められた比を基に計算される。マーカ値はビツ
トを割当てるために並べられたデータ内でそのマ
ーカを配置し、位置付けるために使用される。マ
ーカの配置はマーカ値を比較器99にロードし、
その値と、2分アドレスジエネレータ107に関
連したアドレスジエネレータ96によつて指示さ
れたアドレスの値と比較することにより行なわれ
る。全てのマーカが配置されると、予め定められ
たマーカ比と現在の参照値を用いて、全てのビツ
トが適正に割当てられたかを判定することが可能
になる。 ビツト割当てがあまりに高いと、制御プログラ
ムは新たな参照値を作成する。逆に、ビツト割当
てがあまりに低いと、より高い参照値が計算され
る。この処理は適正な数のビツトがマーカの位置
に割当てられてしまうまで繰返し実行される。
次々とより小さなステツプ、及び修正ループを繰
返して参照値を更新することにより、その処理に
よりマーカの最適なビツト配置に近付くことがで
き、こうして使用されるビツトが適正に割当てら
れる。 最適なビツト割当てが唯一なものでない場合、
唯一の解法が存在するビツトに対して最適なビツ
ト割当てが実行され、残りのビツトが同等に価値
のあるサンプルの間で任意に割当てられる。 ALU91からの制御線104、比較器99よ
りの制御線105及びアドレスジエネレータ96
からの制御線106は、制御部102の選択ステ
ータス・ブロツク126に接続されている。制御
アドレスジエネレータ・バツフア127は、前述
したプログラムメモリ101により、アドレスジ
エネレータ96に対してバス121上にアドレス
を出力する。プログラム制御バス103は好まし
くは136ビツトで、ほとんどのミニコンピユータ
や小規模のプロセツサにおいてみられるように、
ALU91から作用されるプログラム以外で制御
される第9図の各ユニツトに接続されている。 実時間でのデータ圧縮を行なう好適な実施例
を、ポインタシステム形式と第2の好適な実施例
のマーカあるいは参照値システム形式で説明して
きたが、最適なビツト割当てを実現するのに必要
な時間の差は、400ビツトの場合はほとんどなく、
いずれの場合も同じようにサンプルに対して最適
にビツトが割当てられる。この実施例で使用され
た装置と同様にこの実施例のビツト割当てる方法
は、デジタルやアナログデータ・ブロツクにも適
用でき、30ms以内でデータ圧縮を実現できると
ともに、データ圧縮のために最適にビツトが割当
てられている間、圧縮されたデータをデジタル形
式で伝送することができる。その圧縮されたデー
タを伸長する受信装置は、線113あるいは線7
6上のデータがさらに、伝送されているサンプル
を復号するのに必要な情報を含んでいるため、高
度に簡素化されている。そして、システムは第9
図に示された回路よりも、より簡単になつてい
る。 この実施例では、適応変換符号化を用いて説明
してきたが、実時間でデータ圧縮を行なうのに必
要な速度が得られる重要な要素である。データ圧
縮のために最適にビツトを割当てを行なうハード
ウエアや方法を変更することなく、他の変換符号
化を用いても良い。 前述した方法は、音声あるいは会話データを
1/4あるいは1/2の圧縮するようになつてい
たが、同一の装置や方法により、他の好適な圧縮
比でデータ圧縮を行つてもよい。例えば、音声の
質が重要な要素でなく、大量の音声データを伝送
することが重要であるときは、音声データを粉失
することなく、圧縮比を1/8まで上げることが
できる。より高い圧縮比は、伝送される音声デー
タの質を低下させることにより実現できる。実時
間での処理が重要でない場合は、データの損失な
く圧縮比を最大Y〜10まで実現できるような、他
の形式の損失のないデータ圧縮が利用できる。こ
のようにして、本願発明及びシステムより、より
速くより経済的に、より大きな容量の繰返しデジ
タルデータが伝送できる。しかしながら、本願発
明は、9.6Kbpsから32Kbpsの間のビツトレート
で商業的に利用できるデータリンクに実時間で伝
送できるように、音声およびモデム信号を圧縮で
きる既知のシステムに、最高の再生品位を提供す
るものである。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US66587 | 1987-06-26 | ||
| US07/066,587 US4926482A (en) | 1987-06-26 | 1987-06-26 | Apparatus and method for real time data compressor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01501673A JPH01501673A (ja) | 1989-06-08 |
| JPH0427733B2 true JPH0427733B2 (ja) | 1992-05-12 |
Family
ID=22070450
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63505638A Granted JPH01501673A (ja) | 1987-06-26 | 1988-06-15 | 実時間データ圧縮のための方法と装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4926482A (ja) |
| EP (1) | EP0319569A1 (ja) |
| JP (1) | JPH01501673A (ja) |
| CA (1) | CA1312955C (ja) |
| WO (1) | WO1988010537A1 (ja) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1991004552A1 (fr) * | 1989-09-12 | 1991-04-04 | Institut Fiziologii Imeni A.I.Karaeva Akademii Nauk Azerbaidzhanskoi Ssr | Dispositif de compression d'informations |
| US5301274A (en) * | 1991-08-19 | 1994-04-05 | Multi-Tech Systems, Inc. | Method and apparatus for automatic balancing of modem resources |
| US7082106B2 (en) | 1993-01-08 | 2006-07-25 | Multi-Tech Systems, Inc. | Computer-based multi-media communications system and method |
| US5664057A (en) * | 1993-07-07 | 1997-09-02 | Picturetel Corporation | Fixed bit rate speech encoder/decoder |
| US5889818A (en) * | 1994-06-24 | 1999-03-30 | Norand Corporation | Adaptive display refresh and data compression in a radio frequency environment |
| US5680506A (en) * | 1994-12-29 | 1997-10-21 | Lucent Technologies Inc. | Apparatus and method for speech signal analysis |
| US5990810A (en) * | 1995-02-17 | 1999-11-23 | Williams; Ross Neil | Method for partitioning a block of data into subblocks and for storing and communcating such subblocks |
| US5864802A (en) * | 1995-09-22 | 1999-01-26 | Samsung Electronics Co., Ltd. | Digital audio encoding method utilizing look-up table and device thereof |
| US6593862B1 (en) * | 2002-03-28 | 2003-07-15 | Hewlett-Packard Development Company, Lp. | Method for lossily compressing time series data |
| JP7391774B2 (ja) * | 2020-06-11 | 2023-12-05 | 株式会社東芝 | 演算処理装置、情報処理装置及び演算処理方法 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2312884A1 (fr) * | 1975-05-27 | 1976-12-24 | Ibm France | Procede de quantification par blocs d'echantillons d'un signal electrique, et dispositif de mise en oeuvre dudit procede |
| US4184049A (en) * | 1978-08-25 | 1980-01-15 | Bell Telephone Laboratories, Incorporated | Transform speech signal coding with pitch controlled adaptive quantizing |
| US4587669A (en) * | 1979-04-30 | 1986-05-06 | Mcdonnell Douglas Corporation | Speech compression |
| US4386237A (en) * | 1980-12-22 | 1983-05-31 | Intelsat | NIC Processor using variable precision block quantization |
| AU555476B2 (en) * | 1981-10-15 | 1986-09-25 | Motorola, Inc. | Binary encoding |
| CA1208786A (en) * | 1981-10-15 | 1986-07-29 | Steven G. Finn | Data compression |
| US4516258A (en) * | 1982-06-30 | 1985-05-07 | At&T Bell Laboratories | Bit allocation generator for adaptive transform coder |
| JPS5939134A (ja) * | 1982-08-30 | 1984-03-03 | Hitachi Ltd | 折線伸張回路 |
| GB8421498D0 (en) * | 1984-08-24 | 1984-09-26 | British Telecomm | Frequency domain speech coding |
-
1987
- 1987-06-26 US US07/066,587 patent/US4926482A/en not_active Expired - Lifetime
-
1988
- 1988-06-15 WO PCT/US1988/002038 patent/WO1988010537A1/en not_active Ceased
- 1988-06-15 JP JP63505638A patent/JPH01501673A/ja active Granted
- 1988-06-15 EP EP88906400A patent/EP0319569A1/en not_active Withdrawn
- 1988-06-24 CA CA000570357A patent/CA1312955C/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CA1312955C (en) | 1993-01-19 |
| JPH01501673A (ja) | 1989-06-08 |
| WO1988010537A1 (en) | 1988-12-29 |
| US4926482A (en) | 1990-05-15 |
| EP0319569A1 (en) | 1989-06-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5845243A (en) | Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of audio information | |
| US4677671A (en) | Method and device for coding a voice signal | |
| US5537551A (en) | Data compression method for use in a computerized informational and transactional network | |
| US5235623A (en) | Adaptive transform coding by selecting optimum block lengths according to variatons between successive blocks | |
| EP0230001B1 (en) | Method of and device for speech signal coding and decoding by subband analysis and vector quantization with dynamic bit allocation | |
| CA1245780A (en) | Method of reconstructing lost data in a digital voice transmission system and transmission system using said method | |
| EP0403154A2 (en) | Vector quantizer search arrangement | |
| US7310597B2 (en) | System and method for enhancing bit error tolerance over a bandwidth limited channel | |
| EP0361443A2 (en) | Method and system for voice coding based on vector quantization | |
| JP3283200B2 (ja) | 符号化音声データの符号化レート変換方法および装置 | |
| JPH05122166A (ja) | 信号の符号化方法 | |
| JPH0427733B2 (ja) | ||
| US4839724A (en) | Process for the digital transmission of information | |
| US5142583A (en) | Low-delay low-bit-rate speech coder | |
| US6480550B1 (en) | Method of compressing an analogue signal | |
| US5781128A (en) | Data compression system and method | |
| KR950003557B1 (ko) | 음성 샘플 및 신호 샘플 엔코딩 방법 | |
| JP2552102B2 (ja) | ディジタルデータのフォーマッチング/ディフォーマッチング回路 | |
| JPH06118998A (ja) | ベクトル量子化装置 | |
| JP3092124B2 (ja) | 適応変換符号化の方法及び装置 | |
| US6253303B1 (en) | Audio signal processing circuit | |
| JP2569842B2 (ja) | 適応変換符号化の方法及び装置 | |
| JP2778128B2 (ja) | 適応変換符号化の方法及び装置 | |
| JP2890523B2 (ja) | 適応変換符号化の方法及び装置 | |
| JP2638208B2 (ja) | 適応変換符号化復号化の方法及び装置 |