JPH0774985B2 - データ圧縮システム - Google Patents
データ圧縮システムInfo
- Publication number
- JPH0774985B2 JPH0774985B2 JP2299985A JP29998590A JPH0774985B2 JP H0774985 B2 JPH0774985 B2 JP H0774985B2 JP 2299985 A JP2299985 A JP 2299985A JP 29998590 A JP29998590 A JP 29998590A JP H0774985 B2 JPH0774985 B2 JP H0774985B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- statistics
- block
- encoder
- 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 - Fee Related
Links
- 238000013144 data compression Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims description 113
- 230000008569 process Effects 0.000 claims description 102
- 238000007906 compression Methods 0.000 claims description 34
- 230000006835 compression Effects 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 7
- 230000002776 aggregation Effects 0.000 claims 2
- 238000004220 aggregation Methods 0.000 claims 2
- 230000004044 response Effects 0.000 claims 1
- 238000004904 shortening Methods 0.000 description 80
- 239000013256 coordination polymer Substances 0.000 description 22
- 238000012545 processing Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000005056 compaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000003252 repetitive effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical compound [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
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/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は一般に条件付き2進ソースの算術圧縮コーディ
ング、特にスループットを増すための算術圧縮システム
のフォーマット互換性に関する。
ング、特にスループットを増すための算術圧縮システム
のフォーマット互換性に関する。
B.従来の技術 所要のスループット・データ速度を維持するために、多
くの場合、複数の並列短縮システムを必要とする。短縮
装置の符号器及び複号器の各々はそれに向けられたデー
タを既知の最大時間内に処理せねばならない。短縮は複
数の並列装置により実行されるから、スループット・デ
ータ速度は最も遅い装置により制限される。
くの場合、複数の並列短縮システムを必要とする。短縮
装置の符号器及び複号器の各々はそれに向けられたデー
タを既知の最大時間内に処理せねばならない。短縮は複
数の並列装置により実行されるから、スループット・デ
ータ速度は最も遅い装置により制限される。
それゆえ、本発明の目的は既知の最大時間内にデータを
コード化し複号することができるデータ短縮システムを
提供することである。
コード化し複号することができるデータ短縮システムを
提供することである。
各短縮装置は複数のデータ・セットを処理し、各符号器
から得られた修飾子情報はデータ・セットの全域で保持
されねばならない。データ・セットの順序も該処理を通
じて同じに維持されねばならない。修飾子データは算術
コーディング・システムの統計的な表から得られる。複
号の場合、各複号器から得られた修飾子情報もデータ・
セットの全域で保持されねばならない。標準的な方法
は、特定のフォーマットが所与のデータ速度で得られる
ように1つの短縮装置に1つの統計表を包含させること
により、修飾子保持問題を解決することである。そし
て、並列に設置されている圧縮装置の数によりスループ
ット・データ速度が決定される。各圧縮装置はデータの
一部を処理するから、圧縮装置の数が大きければ大きい
ほどデータ速度は早くなる。それゆえ、所要のスループ
ットにより並列短縮装置の数が決まる。各符号器の統計
的な表の学習曲線は後にデータを処理する、即ち圧縮す
るから、短縮装置の数は圧縮されたデータのフォーマッ
トを決定する。以前は、より多くの短縮装置が統計表に
加えられ、その結果、データ・フォーマットが変更され
た。以前にコード化された媒体はもはや確実には複号で
きなかった。もし、後で、より高速のデータ速度が要求
されれば、より多くの短縮装置を用いる新しいフォーマ
ットが設定される。より多くの並列接続短縮装置が供給
する新しいフォーマットは前のフォーマットでコード化
されたデータの複号を妨げる。その逆も成立つ。従っ
て、本発明前は、データ速度の増加により、前のシステ
ムと改良されたシステムの間の上方及び下方の互換性が
なかった。
から得られた修飾子情報はデータ・セットの全域で保持
されねばならない。データ・セットの順序も該処理を通
じて同じに維持されねばならない。修飾子データは算術
コーディング・システムの統計的な表から得られる。複
号の場合、各複号器から得られた修飾子情報もデータ・
セットの全域で保持されねばならない。標準的な方法
は、特定のフォーマットが所与のデータ速度で得られる
ように1つの短縮装置に1つの統計表を包含させること
により、修飾子保持問題を解決することである。そし
て、並列に設置されている圧縮装置の数によりスループ
ット・データ速度が決定される。各圧縮装置はデータの
一部を処理するから、圧縮装置の数が大きければ大きい
ほどデータ速度は早くなる。それゆえ、所要のスループ
ットにより並列短縮装置の数が決まる。各符号器の統計
的な表の学習曲線は後にデータを処理する、即ち圧縮す
るから、短縮装置の数は圧縮されたデータのフォーマッ
トを決定する。以前は、より多くの短縮装置が統計表に
加えられ、その結果、データ・フォーマットが変更され
た。以前にコード化された媒体はもはや確実には複号で
きなかった。もし、後で、より高速のデータ速度が要求
されれば、より多くの短縮装置を用いる新しいフォーマ
ットが設定される。より多くの並列接続短縮装置が供給
する新しいフォーマットは前のフォーマットでコード化
されたデータの複号を妨げる。その逆も成立つ。従っ
て、本発明前は、データ速度の増加により、前のシステ
ムと改良されたシステムの間の上方及び下方の互換性が
なかった。
ゆえに、本発明のもう1つの目的は全システムについて
同じフォーマットを保持しつつ更に高速のデータ速度を
取得できるデータ短縮システムを提供することである。
同じフォーマットを保持しつつ更に高速のデータ速度を
取得できるデータ短縮システムを提供することである。
関連技術の説明 下記の参照文献は異なる状況の2進算術コーディング・
プロセスを示す。
プロセスを示す。
Arithmetic Coding,G.G.Langdon,Jr.,et al.IBM Journa
l Research and Development,Volume 23,Number 2,Marc
h,1979,Page 149−162. Method for Carry−Over Contol in a FIFO Arithmetic
Code String,IBM Technical Disclosure Bulletin,Vol
ume 23,Number 1,June,1980,Pages 310−312. Delocking Method for Use with an Adaptive Arithmet
ic Encoder/Decoder,IBM Technical Disclosure Bullet
in,Volume 23,Number 6,1980,Pages 2528−2529. Unversal Modeling and Coding,J.J.Rissanen,IEEE Tra
nsaction on Information Theory,Volume IT−27,Numbe
r 1,January,1981,Pages 12−23. Statistics Collection for Compression Coding with
Randomizing feature,IBM Technical Disclosure Bulle
tin,Volume 24,Number 10,March,1982,Page 4917. A Simple General Binary Source Code,G.G.Langdon,J
r.,et al.,IEEE Transaction on Information Theory,V
olume IT−28,Number 5,September,1982,Pages 800−80
3. Control Character Insertion into Arithmetcally Enc
oded Strings,IBM Technical Disclosure Bulletin,Vol
ume 25,Number 4,September,1982,Pages 2051−2052. A Double−Adaptive File Compression Algorithm,G.G.
Langdon,Jr.,et al.,IEEE Transactions on Communicat
ions,Volume COM−31,Number 11,November,1983,Pages
1253−5. An Introduction to Arithmetic Coding,G.G.Langdon,J
r.,IBM Journal Research and Development,Volume 28,
Number 2,March,1984,Pages 135−149. Overlapped Statistics Memory Access for Decompress
ion,IBM Technical Disclosure Bulletin,Volume 27,Nu
mber 1B,June,1984,Pages 871−872. United states Patent 4,467,317,High Speed Arithmet
ic Compression Coding,Using Concurrent Value Updat
ing,G.G.Langdon,Jr.,et al. C.発明が解決しようとする課題 異なるスループット速度を持つシステムの間の短縮プロ
セスのフォーマット互換性に関する本発明は前記参照文
献のどれにも開示されていない。
l Research and Development,Volume 23,Number 2,Marc
h,1979,Page 149−162. Method for Carry−Over Contol in a FIFO Arithmetic
Code String,IBM Technical Disclosure Bulletin,Vol
ume 23,Number 1,June,1980,Pages 310−312. Delocking Method for Use with an Adaptive Arithmet
ic Encoder/Decoder,IBM Technical Disclosure Bullet
in,Volume 23,Number 6,1980,Pages 2528−2529. Unversal Modeling and Coding,J.J.Rissanen,IEEE Tra
nsaction on Information Theory,Volume IT−27,Numbe
r 1,January,1981,Pages 12−23. Statistics Collection for Compression Coding with
Randomizing feature,IBM Technical Disclosure Bulle
tin,Volume 24,Number 10,March,1982,Page 4917. A Simple General Binary Source Code,G.G.Langdon,J
r.,et al.,IEEE Transaction on Information Theory,V
olume IT−28,Number 5,September,1982,Pages 800−80
3. Control Character Insertion into Arithmetcally Enc
oded Strings,IBM Technical Disclosure Bulletin,Vol
ume 25,Number 4,September,1982,Pages 2051−2052. A Double−Adaptive File Compression Algorithm,G.G.
Langdon,Jr.,et al.,IEEE Transactions on Communicat
ions,Volume COM−31,Number 11,November,1983,Pages
1253−5. An Introduction to Arithmetic Coding,G.G.Langdon,J
r.,IBM Journal Research and Development,Volume 28,
Number 2,March,1984,Pages 135−149. Overlapped Statistics Memory Access for Decompress
ion,IBM Technical Disclosure Bulletin,Volume 27,Nu
mber 1B,June,1984,Pages 871−872. United states Patent 4,467,317,High Speed Arithmet
ic Compression Coding,Using Concurrent Value Updat
ing,G.G.Langdon,Jr.,et al. C.発明が解決しようとする課題 異なるスループット速度を持つシステムの間の短縮プロ
セスのフォーマット互換性に関する本発明は前記参照文
献のどれにも開示されていない。
本発明の目的は既知の最大時間内にデータをコード化し
複号することができるデータ短縮システムを提供するこ
とである。
複号することができるデータ短縮システムを提供するこ
とである。
本発明のもう1つの目的は全システムについて同じフォ
ーマットを保持しつつ更に高速のデータ速度を取得でき
るデータ短縮システムを提供することである。
ーマットを保持しつつ更に高速のデータ速度を取得でき
るデータ短縮システムを提供することである。
本発明のもう1つの目的は異なるスループット速度を用
いる短縮プロセスでフォーマット互換性が維持される高
機能の2進算術コード化プロセスを提供することであ
る。
いる短縮プロセスでフォーマット互換性が維持される高
機能の2進算術コード化プロセスを提供することであ
る。
本発明のもう1つの目的はコード化及び複号プロセスの
上方及び下方フォーマット互換性を可能にする改良され
た短縮方式を提供することである。
上方及び下方フォーマット互換性を可能にする改良され
た短縮方式を提供することである。
本発明のもう1つの目的は増大したスループット速度及
び標準的なスループット速度のどちらかでコード化され
た媒体も複号できる上方及び下方フォーマット互換性を
提供すると同時に今日のレコード処理システムが要求す
るより高い速度でデータを圧縮し処理するためにデータ
に固有のスループット速度に適応できる短縮プロセッサ
を提供することである。
び標準的なスループット速度のどちらかでコード化され
た媒体も複号できる上方及び下方フォーマット互換性を
提供すると同時に今日のレコード処理システムが要求す
るより高い速度でデータを圧縮し処理するためにデータ
に固有のスループット速度に適応できる短縮プロセッサ
を提供することである。
本発明のもう1つの目的は並列短縮装置の付加により増
大したスループット速度を持つ短縮システムに予測可能
スループット速度及びフォーマット互換性を提供すると
同時に複数の並列短縮システムを利用し且つデータ・ス
トリームに適応可能な圧縮方式を提供することである。
大したスループット速度を持つ短縮システムに予測可能
スループット速度及びフォーマット互換性を提供すると
同時に複数の並列短縮システムを利用し且つデータ・ス
トリームに適応可能な圧縮方式を提供することである。
D.課題を解決するための手段 本発明のデータ短縮システムは最初にデータ・ストリー
ムを等しいサイズの管理可能なエンティティ、即ちデー
タ・セットに分割する。次に、これらのデータ・セット
の各々は圧縮するためにデマルチプレクサを介して複数
の符号器に分配される。符号器の各々は複数の統計表を
含み、所要のハードウェアを減らし且つより高いスルー
プット構成に拡張すると同時に、装置の付加によりスル
ープットが増大した2進算術符号器とのフォーマット互
換性を可能にする。短縮されたデータ・セットは再びマ
ルチプレクサで順序付けられる。
ムを等しいサイズの管理可能なエンティティ、即ちデー
タ・セットに分割する。次に、これらのデータ・セット
の各々は圧縮するためにデマルチプレクサを介して複数
の符号器に分配される。符号器の各々は複数の統計表を
含み、所要のハードウェアを減らし且つより高いスルー
プット構成に拡張すると同時に、装置の付加によりスル
ープットが増大した2進算術符号器とのフォーマット互
換性を可能にする。短縮されたデータ・セットは再びマ
ルチプレクサで順序付けられる。
該データを複号するため該短縮されたセットはデマルチ
プレクサに送られ、短縮されたデータ・セットの各々を
複数の複号器の1つに分配する。複号器の各々は複数の
統計表も含み、複数の複号器の増大したスループットと
のフォーマット互換性を可能にしつつ、同様に所要のハ
ードウェアを減らし、より高いスループット構成に拡張
するとともに、低いスループット構成に対する下方互換
性を与える。短縮解除されたデータ・セットはマルチプ
レクサにより再び順序付けられ、最初のフォーマットに
なるようにアセンブルし直される。
プレクサに送られ、短縮されたデータ・セットの各々を
複数の複号器の1つに分配する。複号器の各々は複数の
統計表も含み、複数の複号器の増大したスループットと
のフォーマット互換性を可能にしつつ、同様に所要のハ
ードウェアを減らし、より高いスループット構成に拡張
するとともに、低いスループット構成に対する下方互換
性を与える。短縮解除されたデータ・セットはマルチプ
レクサにより再び順序付けられ、最初のフォーマットに
なるようにアセンブルし直される。
このように、本発明に従って多重短縮プロセッサを用い
てフォーマット互換性を維持しつつ所望のデータ速度を
保持することができる。各短縮プロセッサにより並列処
理するためにデータは先ず等しいサイズのデータ・セッ
トに分割される。n個の短縮プロセッサの各短縮プロセ
ッサはm統計表(ST)を含む。データ・セットの数はq
であり、iはセットの番号、即ち0,1,2....q−1であ
る。セットiは統計表ST j kを用いて短縮プロセッサCP
jにより処理される。j及びkは下式により決定され
る: j=iモジューロn k=(i/n)モジューロm 但し(i/n)はi/nの整数部分である。
てフォーマット互換性を維持しつつ所望のデータ速度を
保持することができる。各短縮プロセッサにより並列処
理するためにデータは先ず等しいサイズのデータ・セッ
トに分割される。n個の短縮プロセッサの各短縮プロセ
ッサはm統計表(ST)を含む。データ・セットの数はq
であり、iはセットの番号、即ち0,1,2....q−1であ
る。セットiは統計表ST j kを用いて短縮プロセッサCP
jにより処理される。j及びkは下式により決定され
る: j=iモジューロn k=(i/n)モジューロm 但し(i/n)はi/nの整数部分である。
各CPにM個のSTを持つN個のCPシステムの場合、Nより
も小さい数のCPシステムの可能な構成は: m≦M n≦N により規定される。M,N,m及びnは全て0よりも大きい
整数である。nはN CPシステムで最大の中から使用され
るCPの数であり、mは各CPで最大Mの中から使用される
STの数である。
も小さい数のCPシステムの可能な構成は: m≦M n≦N により規定される。M,N,m及びnは全て0よりも大きい
整数である。nはN CPシステムで最大の中から使用され
るCPの数であり、mは各CPで最大Mの中から使用される
STの数である。
本発明のもう1つの目的はコード化及び複号プロセスの
上方及び下方フォーマット互換性を可能にする改良され
た短縮方式を提供することである。
上方及び下方フォーマット互換性を可能にする改良され
た短縮方式を提供することである。
本発明はレコードを管理可能なエンティティ即ちセット
に分割し、拡張又は短縮することができる短縮システム
により該データを処理し、該データ・ストリームを所望
の最大可変データ速度で処理する。連続するデータ転送
で用いる符号器及び複号器の数は転送されるデータの速
度によって決まり、連続する符号器及び複号器の各々は
それぞれ短縮及び短縮解除を並列に処理する。使用され
る符号器及び複号器の数は所要の最大データ速度により
増減できる。符号器と複号器の数及びそれぞれが含む統
計表の数を適切に選択することにより、データ・フォー
マットの互換性が維持される。
に分割し、拡張又は短縮することができる短縮システム
により該データを処理し、該データ・ストリームを所望
の最大可変データ速度で処理する。連続するデータ転送
で用いる符号器及び複号器の数は転送されるデータの速
度によって決まり、連続する符号器及び複号器の各々は
それぞれ短縮及び短縮解除を並列に処理する。使用され
る符号器及び複号器の数は所要の最大データ速度により
増減できる。符号器と複号器の数及びそれぞれが含む統
計表の数を適切に選択することにより、データ・フォー
マットの互換性が維持される。
本発明のもう1つの目的は増大したスループット速度及
び標準的なスループット速度のどちらでコード化された
媒体も複号できる上方及び下方フォーマット互換性を提
供すると同時に今日のレコード処理システムが要求する
より高い速度でデータを圧縮し処理するためにデータに
固有のスループット速度に適応できる短縮プロセッサを
提供することである。
び標準的なスループット速度のどちらでコード化された
媒体も複号できる上方及び下方フォーマット互換性を提
供すると同時に今日のレコード処理システムが要求する
より高い速度でデータを圧縮し処理するためにデータに
固有のスループット速度に適応できる短縮プロセッサを
提供することである。
適応圧縮は相互に排他的な2つのモード:少なくとも2
つの同じバイトが現われると必ず同じ文字のランを除去
するラン・モード、及びそれ自身の統計によりデータ・
バイトを直列化し各バイトをコード化するバイト・モー
ドのうちの1つで実行される。両モードの結果は統計表
で統計を集めるために使用される。統計はバイト内のビ
ットのパターンを確立するために集められ、前の経験に
基づいて次のビットを予測する確率として記憶される。
適応圧縮プロセスは、適応データ統計を用いて、コード
・ストリングから最初のデータが回復されるようにデー
タ・ビットのストリングをコード・ストリングに写像す
る。圧縮の量は正確なビット予測に正比例する。
つの同じバイトが現われると必ず同じ文字のランを除去
するラン・モード、及びそれ自身の統計によりデータ・
バイトを直列化し各バイトをコード化するバイト・モー
ドのうちの1つで実行される。両モードの結果は統計表
で統計を集めるために使用される。統計はバイト内のビ
ットのパターンを確立するために集められ、前の経験に
基づいて次のビットを予測する確率として記憶される。
適応圧縮プロセスは、適応データ統計を用いて、コード
・ストリングから最初のデータが回復されるようにデー
タ・ビットのストリングをコード・ストリングに写像す
る。圧縮の量は正確なビット予測に正比例する。
本発明のもう1つの目的は並列短縮装置の付加により増
大したスループット速度を持つ短縮システムに予測可能
スループット速度及びフォーマット互換性を提供すると
同時に複数の並列短縮システムを利用し且つデータ・ス
トリームに適応可能な圧縮方式を提供することである。
大したスループット速度を持つ短縮システムに予測可能
スループット速度及びフォーマット互換性を提供すると
同時に複数の並列短縮システムを利用し且つデータ・ス
トリームに適応可能な圧縮方式を提供することである。
本発明のもう1つのアプリケーションは可変長ストリン
グの入力記号を固定長コードに変換するレンペル・ジブ
(Lempel−Ziv)プロセスに関する。このプロセスは圧
縮及び圧縮解除プロセスの間に空の記号ストリングの
表、即ち辞書で開始し、該表を構築する適応圧縮プロセ
スである。このようなシステムのスループットは複数の
符号器及び複号器を用いて高めることができる。レンペ
ル・ジブ・プロセスのより完全な説明は下記の論文を参
照されたい: “A Universal Algorithm for Sequential Data Compre
ssion",J.Ziv,et al.,IEEE Transactions on Informati
on Theory,Vol.IT−3,May 1977,pages 337−343. “Compression of Individual Sequences via Variable
−Rate Coding",J.Ziv,et al.,IEEE Transactions on I
nformation Theory,Vol.IT−24,No.5,September 1978,p
age 5306. 開示の概要 磁気テープ駆動機構で用いる算術2進圧縮コーディング
装置間のフォーマット互換性は、たとえ異なる数の圧縮
装置/圧縮解除装置がシステム・スループットを高める
ために必要とされても保持することができる。装置の各
々はそれに送られるデータを既知の最大時間で処理せね
ばならない。短縮装置の各々は短縮装置毎に選択された
数の統計表を含む。各々が2つの統計表を持つことがで
きる8つの短縮プロセッサが選択される。従って、フォ
ーマット互換性はそれぞれに2つの統計表を持つ4つの
短縮プロセッサを用いて保持することができ、又は符号
器/複号器の各々に1つの統計表を持つ8つの短縮プロ
セッサを用いてスループットを2倍にすることができ
る。各々の速度短縮を用いて磁気テープ上に短縮された
データは各々のテープ駆動機構を用いて複号することが
でき、互換性は保証される。
グの入力記号を固定長コードに変換するレンペル・ジブ
(Lempel−Ziv)プロセスに関する。このプロセスは圧
縮及び圧縮解除プロセスの間に空の記号ストリングの
表、即ち辞書で開始し、該表を構築する適応圧縮プロセ
スである。このようなシステムのスループットは複数の
符号器及び複号器を用いて高めることができる。レンペ
ル・ジブ・プロセスのより完全な説明は下記の論文を参
照されたい: “A Universal Algorithm for Sequential Data Compre
ssion",J.Ziv,et al.,IEEE Transactions on Informati
on Theory,Vol.IT−3,May 1977,pages 337−343. “Compression of Individual Sequences via Variable
−Rate Coding",J.Ziv,et al.,IEEE Transactions on I
nformation Theory,Vol.IT−24,No.5,September 1978,p
age 5306. 開示の概要 磁気テープ駆動機構で用いる算術2進圧縮コーディング
装置間のフォーマット互換性は、たとえ異なる数の圧縮
装置/圧縮解除装置がシステム・スループットを高める
ために必要とされても保持することができる。装置の各
々はそれに送られるデータを既知の最大時間で処理せね
ばならない。短縮装置の各々は短縮装置毎に選択された
数の統計表を含む。各々が2つの統計表を持つことがで
きる8つの短縮プロセッサが選択される。従って、フォ
ーマット互換性はそれぞれに2つの統計表を持つ4つの
短縮プロセッサを用いて保持することができ、又は符号
器/複号器の各々に1つの統計表を持つ8つの短縮プロ
セッサを用いてスループットを2倍にすることができ
る。各々の速度短縮を用いて磁気テープ上に短縮された
データは各々のテープ駆動機構を用いて複号することが
でき、互換性は保証される。
E.実施例 本発明は磁気テープ・システム、特にIBM 3490磁気テー
プ装置における使用が望ましい。ゆえに、本明細書に記
載された最良のモードは磁気テープ・システムに関する
ものであるが、本発明はどんな記憶装置、通信、即ち伝
送システムにも適応できる、即ちデータ処理システムの
どの部分にも利用される。該データ処理システムにより
データのストリームは例えば記憶のために短縮され、後
にその利用のために検索され短縮解除される。
プ装置における使用が望ましい。ゆえに、本明細書に記
載された最良のモードは磁気テープ・システムに関する
ものであるが、本発明はどんな記憶装置、通信、即ち伝
送システムにも適応できる、即ちデータ処理システムの
どの部分にも利用される。該データ処理システムにより
データのストリームは例えば記憶のために短縮され、後
にその利用のために検索され短縮解除される。
本発明は情報処理された大抵のタイプのデータを短縮し
て十分に小さいデータ・ブロックにする効率的な方法を
カバーする。本発明により提供される手順はIBM 3480磁
気テープ装置の最新のハードウェアに付加できる。その
結果、システムは本発明による利点を提供すると同時に
必要なときにホスト・データ処理システムのユーザとデ
ータを交換し続けながら本発明による利点を提供する。
て十分に小さいデータ・ブロックにする効率的な方法を
カバーする。本発明により提供される手順はIBM 3480磁
気テープ装置の最新のハードウェアに付加できる。その
結果、システムは本発明による利点を提供すると同時に
必要なときにホスト・データ処理システムのユーザとデ
ータを交換し続けながら本発明による利点を提供する。
第1図の複数の並列に接続された短縮プロセッサ(CP)
1〜4(参照番号17)で示す短縮装置は、拡張フォーマ
ットが選択されている時、チャネル書込み動作中にデー
タを短縮し、チャネル読取り動作中にデータを短縮解除
する。データ短縮は2進算術短縮(BAC)プログラムの
変更版を用いて実行される。該プログラムは論文:An In
troduction to Arithmetic Coding,by Glenn G.Langdo
n,Jr.,IBM Journal of Research and Development,Volu
me 28,Number 2,March 1984に説明されている。各短縮
プロセッサによりデータは1.25Mb/sの速度でコード化さ
れる。並列に付加された各短縮プロセッサは追加の1.25
Mb/sコード化速度を可能にする、従ってデータ処理速度
は増大する。追加の各短縮プロセッサは短縮システム全
体の統計フォーマットに影響する。本発明により、短縮
プロセスのスループットが短縮プロセッサの付加によっ
て増大できると同時に現在の設計が当該増大を受入れる
方法が示される。短縮プロセッサの増加は、例えば本実
施例とのフォーマット互換性を保持しつつ、後で詳細に
説明するように統計的な表を本実施例に付加することに
より適応させることができる。
1〜4(参照番号17)で示す短縮装置は、拡張フォーマ
ットが選択されている時、チャネル書込み動作中にデー
タを短縮し、チャネル読取り動作中にデータを短縮解除
する。データ短縮は2進算術短縮(BAC)プログラムの
変更版を用いて実行される。該プログラムは論文:An In
troduction to Arithmetic Coding,by Glenn G.Langdo
n,Jr.,IBM Journal of Research and Development,Volu
me 28,Number 2,March 1984に説明されている。各短縮
プロセッサによりデータは1.25Mb/sの速度でコード化さ
れる。並列に付加された各短縮プロセッサは追加の1.25
Mb/sコード化速度を可能にする、従ってデータ処理速度
は増大する。追加の各短縮プロセッサは短縮システム全
体の統計フォーマットに影響する。本発明により、短縮
プロセスのスループットが短縮プロセッサの付加によっ
て増大できると同時に現在の設計が当該増大を受入れる
方法が示される。短縮プロセッサの増加は、例えば本実
施例とのフォーマット互換性を保持しつつ、後で詳細に
説明するように統計的な表を本実施例に付加することに
より適応させることができる。
第1図に示すように、複数のチャネル・アダプタ(CA)
12は、短縮装置16に配置された複数の短縮プロセッサ17
を介して利用装置、例えばテープ記録媒体に接続され
る。短縮プロセッサ17の各々はフォーマット化されてい
ないデータをAバス20を介してチャネル・アダプタ12か
ら受取る。その詳細は後で説明する。短縮プロセッサ17
は送られたデータのストリームを同一サイズのブロッ
ク、即ちデータのセットに分割する。そして個々のデー
タ・セットは短縮プロセッサ17の各々にある個々の符号
器に送られ、個々のセットは異なる符号器で順次に圧縮
される。そして短縮されたデータ・セットは再びアセン
ブルされフォーマット化されてテープ媒体、即ち第1図
に示す利用装置に書込まれる。
12は、短縮装置16に配置された複数の短縮プロセッサ17
を介して利用装置、例えばテープ記録媒体に接続され
る。短縮プロセッサ17の各々はフォーマット化されてい
ないデータをAバス20を介してチャネル・アダプタ12か
ら受取る。その詳細は後で説明する。短縮プロセッサ17
は送られたデータのストリームを同一サイズのブロッ
ク、即ちデータのセットに分割する。そして個々のデー
タ・セットは短縮プロセッサ17の各々にある個々の符号
器に送られ、個々のセットは異なる符号器で順次に圧縮
される。そして短縮されたデータ・セットは再びアセン
ブルされフォーマット化されてテープ媒体、即ち第1図
に示す利用装置に書込まれる。
第1図では、複数のチャネル・アダプタ12を相互接続し
て利用装置とインタフェースさせる標準的な読取り及び
書込み、この場合、記録テープ媒体から及び該媒体への
読取り及び書込みフォーマット制御の流れに複数の短縮
プロセッサ17が挿入される。並列接続された短縮プロセ
ッサ17とインタフェースさせるために、ホスト処理装置
からのデータ・ストリームが複数のチャネル・アダプタ
12のなかの1つに送付される。チャネル・アダプタ・コ
マンド・セット、拡張フォーマットはデータ・ストリー
ムをCA 12のインタフェースを介してAバス20及びライ
ン21に沿って複数の短縮プロセッサ17に転送するように
指図する。Aバス20からのデータ・ストリームは短縮プ
ロセッサ17の全てに送られ、短縮プロセッサへのデータ
の受取り及び短縮プロセッサからのデータの分配を制御
するのはA−mout信号である。その手順は第2図及び第
3図で詳細に説明する。短縮プロセッサ17はフォーマッ
ト化されていないデータを活動状態のCA 12から受取
る。短縮装置16として示されたタンデム装置のような短
縮プロセッサ17はフォーマット化されていないデータを
データ・ストリームから分離して同一サイズのブロック
即ちデータ・セットにする。次に個々のデータ・セット
は各短縮プロセッサ17に送られ、各々のセットは順次に
コード化され短縮される。処理されたデータ・セットは
テープ媒体、利用装置に書込む前にフォーマット化する
ために、それらの最初のシーケンスになるように再アセ
ンブルされ、Bバスに送られる。第2図は2つの処理装
置の概要図及びそれらの相互接続を示す。
て利用装置とインタフェースさせる標準的な読取り及び
書込み、この場合、記録テープ媒体から及び該媒体への
読取り及び書込みフォーマット制御の流れに複数の短縮
プロセッサ17が挿入される。並列接続された短縮プロセ
ッサ17とインタフェースさせるために、ホスト処理装置
からのデータ・ストリームが複数のチャネル・アダプタ
12のなかの1つに送付される。チャネル・アダプタ・コ
マンド・セット、拡張フォーマットはデータ・ストリー
ムをCA 12のインタフェースを介してAバス20及びライ
ン21に沿って複数の短縮プロセッサ17に転送するように
指図する。Aバス20からのデータ・ストリームは短縮プ
ロセッサ17の全てに送られ、短縮プロセッサへのデータ
の受取り及び短縮プロセッサからのデータの分配を制御
するのはA−mout信号である。その手順は第2図及び第
3図で詳細に説明する。短縮プロセッサ17はフォーマッ
ト化されていないデータを活動状態のCA 12から受取
る。短縮装置16として示されたタンデム装置のような短
縮プロセッサ17はフォーマット化されていないデータを
データ・ストリームから分離して同一サイズのブロック
即ちデータ・セットにする。次に個々のデータ・セット
は各短縮プロセッサ17に送られ、各々のセットは順次に
コード化され短縮される。処理されたデータ・セットは
テープ媒体、利用装置に書込む前にフォーマット化する
ために、それらの最初のシーケンスになるように再アセ
ンブルされ、Bバスに送られる。第2図は2つの処理装
置の概要図及びそれらの相互接続を示す。
第2図で、短縮プロセッサ毎にデータストリームがAバ
ス20から入出力制御部に送られる。第2図には短縮プロ
セッサCP1及びCP2だけが示されている。第2図で、デー
タ・ストリームはI/O制御部A−1及びI/O制御部A−2
に送られる。例えば、I/O制御部A−1はCP1に送られる
データ・セットを決定する。A−mout信号は、ある特定
の期間にどのI/O制御部が活動状態であるかを判定す
る。各処理装置、例えばCP1は回転式デマルチプレクサ
/マルチプレクサ装置25(DMX/MX A−1)のセクション
も含む。回転式デマルチプレクサ/マルチプレクサ装置
25及び処理装置CP2の回転式デマルチプレクサ/マルチ
プレクサ装置処理装置29(DMX/MX A−2)を接続する破
線及び斜線の部分27は、短縮プロセッサの各々への1つ
のデータ・セットの転送を効率的に制御する1つの回転
式デマルチプレクサ及びマルチプレクサ装置を形成する
ために、全ての処理装置のハードウェアが相互接続され
ることを示す。CP1は符号器36及び複号器38も含む。符
号器36の出力及び複号器38の入力はもう1つの回転式マ
ルチプレクサ/デマルチプレクサ37(MX/DMX B−1)、
即ち符号器36の再順序化ハードウェア、及び複号器38の
分離ハードウェアに接続される。CP1の回転式マルチプ
レクサ/デマルチプレクサ37のような、回転式MX/DMX装
置の全ての相互接続は、破線及び斜線部分39で示すよう
に、そのマルチプレクサ/デマルチプレクサ機能を実行
するように作用する。よって、第1図に示すように並列
に動作する短縮プロセッサ17は各処理装置の上部即ちA
セクションの入出力制御部、回転式デマルチプレクサ及
びマルチプレクサ、並びに各短縮プロセッサ17の下部即
ちBセクションの入出力制御部、回転式デマルチプレク
サ及びマルチプレクサを含む。
ス20から入出力制御部に送られる。第2図には短縮プロ
セッサCP1及びCP2だけが示されている。第2図で、デー
タ・ストリームはI/O制御部A−1及びI/O制御部A−2
に送られる。例えば、I/O制御部A−1はCP1に送られる
データ・セットを決定する。A−mout信号は、ある特定
の期間にどのI/O制御部が活動状態であるかを判定す
る。各処理装置、例えばCP1は回転式デマルチプレクサ
/マルチプレクサ装置25(DMX/MX A−1)のセクション
も含む。回転式デマルチプレクサ/マルチプレクサ装置
25及び処理装置CP2の回転式デマルチプレクサ/マルチ
プレクサ装置処理装置29(DMX/MX A−2)を接続する破
線及び斜線の部分27は、短縮プロセッサの各々への1つ
のデータ・セットの転送を効率的に制御する1つの回転
式デマルチプレクサ及びマルチプレクサ装置を形成する
ために、全ての処理装置のハードウェアが相互接続され
ることを示す。CP1は符号器36及び複号器38も含む。符
号器36の出力及び複号器38の入力はもう1つの回転式マ
ルチプレクサ/デマルチプレクサ37(MX/DMX B−1)、
即ち符号器36の再順序化ハードウェア、及び複号器38の
分離ハードウェアに接続される。CP1の回転式マルチプ
レクサ/デマルチプレクサ37のような、回転式MX/DMX装
置の全ての相互接続は、破線及び斜線部分39で示すよう
に、そのマルチプレクサ/デマルチプレクサ機能を実行
するように作用する。よって、第1図に示すように並列
に動作する短縮プロセッサ17は各処理装置の上部即ちA
セクションの入出力制御部、回転式デマルチプレクサ及
びマルチプレクサ、並びに各短縮プロセッサ17の下部即
ちBセクションの入出力制御部、回転式デマルチプレク
サ及びマルチプレクサを含む。
Aバスからのデータ・ストリームは各短縮プロセッサ17
の各I/O制御部に送られる。A−mout信号はどの短縮プ
ロセッサがデータ・ストリームからそのデータ・セット
を取得すべきかを指示する。回転式デマルチプレクサ及
びマルチプレクサはその短縮プロセッサ内の符号器及び
複号器に該データ・セットを分配する。例えば、初期設
定では、CP1は第1のデータ・セット(良好な実施例で
は512バイト)を取得し、そしてA−mout信号が活動化
されCP2は第2のデータ・セットを取得する。CP3は次の
データ・セットを取得し、次いでCP4はそのデータ・セ
ットを取得する。そして、次のデータ・セットはCP1に
転送されシーケンスを続行する。第1図及び第2図の短
縮プロセッサに含まれた実際のハードウェアは第3図に
示す。
の各I/O制御部に送られる。A−mout信号はどの短縮プ
ロセッサがデータ・ストリームからそのデータ・セット
を取得すべきかを指示する。回転式デマルチプレクサ及
びマルチプレクサはその短縮プロセッサ内の符号器及び
複号器に該データ・セットを分配する。例えば、初期設
定では、CP1は第1のデータ・セット(良好な実施例で
は512バイト)を取得し、そしてA−mout信号が活動化
されCP2は第2のデータ・セットを取得する。CP3は次の
データ・セットを取得し、次いでCP4はそのデータ・セ
ットを取得する。そして、次のデータ・セットはCP1に
転送されシーケンスを続行する。第1図及び第2図の短
縮プロセッサに含まれた実際のハードウェアは第3図に
示す。
第3図に示すように、各々の短縮プロセッサ17特にCP1
は事象カウンタ132、インタフェース制御部134及び記憶
装置136を含む。これらの装置はCP1の上部即ちAセクシ
ョンに特有のものである。CP1の下部即ちBセクション
も事象カウンタ138、記憶装置140及びインタフェース制
御部142を含む。CP1は符号器114、複号器124及び速度整
合バッファ144も含む。事象カウンタ、例えば132および
138は上部及び下部のインタフェースのため処理装置の
各々で使用され、それぞれのデータ・セットの、処理装
置への分割及び処理装置からの合併を制御し検査する。
符号器114は2つの統計表113及び115を含み、複号器124
も2つの統計表123及び125を含む。
は事象カウンタ132、インタフェース制御部134及び記憶
装置136を含む。これらの装置はCP1の上部即ちAセクシ
ョンに特有のものである。CP1の下部即ちBセクション
も事象カウンタ138、記憶装置140及びインタフェース制
御部142を含む。CP1は符号器114、複号器124及び速度整
合バッファ144も含む。事象カウンタ、例えば132および
138は上部及び下部のインタフェースのため処理装置の
各々で使用され、それぞれのデータ・セットの、処理装
置への分割及び処理装置からの合併を制御し検査する。
符号器114は2つの統計表113及び115を含み、複号器124
も2つの統計表123及び125を含む。
第3図では、CP1は初期化プロセス又は前の処理装置、
即ちCP4からの制御の移動により活動化されると仮定す
る。前述のように、A−muut信号は1つのCP装置から次
のCP装置に制御を移動する。書込みサイクルでは、即ち
ホストからのデータ・ストリームが短縮されてテープ媒
体に書込まれるときは、データ・ストリームは短縮プロ
セッサのAセクションにある全ての記憶装置に送られ
る。記憶装置136は1つのデータ・セット即ち512バイト
を受取ったことを事象カウンタ132に知らせる。そして
事象カウンタ132はCP1がそのデータのセクション即ち1
データ・セットを受取ったので次のデータ・セットはCP
2が受取るべきことをインタフェース制御部134に知らせ
る。書込みサイクルでは、データ・セットは第3図に示
す実線を通じて送られる。第3図に示す種々のラインの
コードには、異なる短縮プロセッサのハードウェアを制
御する制御ラインを示す単線の実線146、書込みデータ
の流れ(WDF)を表わす複線の実線148がある。破線の複
線コード150による信号転送はCP1による読取りデータの
流れ(RDF)を示す。
即ちCP4からの制御の移動により活動化されると仮定す
る。前述のように、A−muut信号は1つのCP装置から次
のCP装置に制御を移動する。書込みサイクルでは、即ち
ホストからのデータ・ストリームが短縮されてテープ媒
体に書込まれるときは、データ・ストリームは短縮プロ
セッサのAセクションにある全ての記憶装置に送られ
る。記憶装置136は1つのデータ・セット即ち512バイト
を受取ったことを事象カウンタ132に知らせる。そして
事象カウンタ132はCP1がそのデータのセクション即ち1
データ・セットを受取ったので次のデータ・セットはCP
2が受取るべきことをインタフェース制御部134に知らせ
る。書込みサイクルでは、データ・セットは第3図に示
す実線を通じて送られる。第3図に示す種々のラインの
コードには、異なる短縮プロセッサのハードウェアを制
御する制御ラインを示す単線の実線146、書込みデータ
の流れ(WDF)を表わす複線の実線148がある。破線の複
線コード150による信号転送はCP1による読取りデータの
流れ(RDF)を示す。
データ・セットはそれを短縮するために記憶装置136か
ら符号器114に送付される。符号器114は統計表113及び1
15を用いてデータ・セットを短縮する。短縮プロセスの
終了後、符号器114は短縮されたデータ・セットを速度
整合バッファ144及び記憶装置140に送付する。速度整合
バッファ144に送付された、短縮されたデータは符号器1
14の出力と複号器124の出力を整合させるように記憶さ
れる。短縮されたばかりのデータは短縮解除のため速度
整合バッファ144から複号器124に送付される。複号器12
4は短縮解除されたデータを検査のため記憶装置136に返
送する。短縮されたデータは記憶装置140に転送され、
事象カウンタ138及びインタフェース制御部142による制
御を待ち、短縮されたデータ・セットがテープ媒体への
転送のためにBバスに乗せることができることを知らせ
る。
ら符号器114に送付される。符号器114は統計表113及び1
15を用いてデータ・セットを短縮する。短縮プロセスの
終了後、符号器114は短縮されたデータ・セットを速度
整合バッファ144及び記憶装置140に送付する。速度整合
バッファ144に送付された、短縮されたデータは符号器1
14の出力と複号器124の出力を整合させるように記憶さ
れる。短縮されたばかりのデータは短縮解除のため速度
整合バッファ144から複号器124に送付される。複号器12
4は短縮解除されたデータを検査のため記憶装置136に返
送する。短縮されたデータは記憶装置140に転送され、
事象カウンタ138及びインタフェース制御部142による制
御を待ち、短縮されたデータ・セットがテープ媒体への
転送のためにBバスに乗せることができることを知らせ
る。
読取りサイクル、即ちテープ媒体からデータを検索する
データ検索サイクルでは、短縮されたデータ・セットは
テープ媒体から受取り記憶装置140に送付する。短縮さ
れたデータ情報のビットは短縮されたデータ・セット全
体を受取るまで記憶装置140内に記憶される。短縮され
たデータ・セット全体を受取った時点で、短縮されたデ
ータ・セットを分離する区切信号は事象カウンタ138を
活動化し、事象カウンタ138はインタフェース制御部142
を活動化してB−mout信号ラインで制御を次の処理装
置、CP2に移動する。CP2はその短縮プロセス内で使用す
るためにそのデータ・セットを受取る。RDF信号経路に
従って、記憶された短縮データ・セットは複号器124に
転送され、複号器124で該データ・セットは短縮解除さ
れ、記憶装置136が512バイトのデータ・セットを受取っ
たことを合図するまでライン141で記憶装置136に送付さ
れ、記憶される。そして制御はインタフェース制御部13
4に移され、記憶装置136が該データ・セットをAバス20
でチャネル・アダプタ12に転送できるようにする。短縮
解除されたデータが転送された後、事象カウンタ132は
A−mout信号ラインを介して制御をCP2に移すようにイ
ンタフェース制御部134に合図する。この動作により、
次のデータ・セットはCP2の記憶装置AからAバスに、
そして最終的にはチャネル・アダプタに転送できる。短
縮プロセッサ1〜4の制御及びシーケンス動作のより完
全な説明は米国特許出願第441127号(1989年11月22日出
願)明細書を参照されたい。
データ検索サイクルでは、短縮されたデータ・セットは
テープ媒体から受取り記憶装置140に送付する。短縮さ
れたデータ情報のビットは短縮されたデータ・セット全
体を受取るまで記憶装置140内に記憶される。短縮され
たデータ・セット全体を受取った時点で、短縮されたデ
ータ・セットを分離する区切信号は事象カウンタ138を
活動化し、事象カウンタ138はインタフェース制御部142
を活動化してB−mout信号ラインで制御を次の処理装
置、CP2に移動する。CP2はその短縮プロセス内で使用す
るためにそのデータ・セットを受取る。RDF信号経路に
従って、記憶された短縮データ・セットは複号器124に
転送され、複号器124で該データ・セットは短縮解除さ
れ、記憶装置136が512バイトのデータ・セットを受取っ
たことを合図するまでライン141で記憶装置136に送付さ
れ、記憶される。そして制御はインタフェース制御部13
4に移され、記憶装置136が該データ・セットをAバス20
でチャネル・アダプタ12に転送できるようにする。短縮
解除されたデータが転送された後、事象カウンタ132は
A−mout信号ラインを介して制御をCP2に移すようにイ
ンタフェース制御部134に合図する。この動作により、
次のデータ・セットはCP2の記憶装置AからAバスに、
そして最終的にはチャネル・アダプタに転送できる。短
縮プロセッサ1〜4の制御及びシーケンス動作のより完
全な説明は米国特許出願第441127号(1989年11月22日出
願)明細書を参照されたい。
テープ媒体システムにおけるデータの処理の詳細な説明
は米国特許第4435762号に記載されている。
は米国特許第4435762号に記載されている。
単一の短縮プロセッサは、データ・ストリームを短縮し
且つ圧縮されていないデータの所与のデータ速度を維持
するには、速さが十分ではない。本発明による速度の増
加はデータ圧縮装置の数の増加とおおよそ比例する。媒
体に書込まれたデータも、圧縮に用いたのと同じ装置数
を用いて同じように高速で短縮解除される。512バイト
・ブロックのデータ・セットの各々は別々の短縮プロセ
ッサで個々に圧縮される。このように、第1のデータ・
セットは短縮プロセッサ1に、第2のデータ・セットは
短縮プロセッサ2に送られ、以下同様に、第4のデータ
・セットが短縮プロセッサ4で圧縮されるまで続く。第
5のデータ・セットはCP1に戻る。
且つ圧縮されていないデータの所与のデータ速度を維持
するには、速さが十分ではない。本発明による速度の増
加はデータ圧縮装置の数の増加とおおよそ比例する。媒
体に書込まれたデータも、圧縮に用いたのと同じ装置数
を用いて同じように高速で短縮解除される。512バイト
・ブロックのデータ・セットの各々は別々の短縮プロセ
ッサで個々に圧縮される。このように、第1のデータ・
セットは短縮プロセッサ1に、第2のデータ・セットは
短縮プロセッサ2に送られ、以下同様に、第4のデータ
・セットが短縮プロセッサ4で圧縮されるまで続く。第
5のデータ・セットはCP1に戻る。
第3図には、2進算術コードにより2進情報を複号する
際に次のビットに関して最後のビット値に基づいた統計
表のアクセスを必要とするタイム・クリティカル帰還経
路がある。もし回避されなければ、この問題は各ビット
の複号に必要なサイクル・タイムを減速させる。隣接す
る位置から1よりも多くの統計を読出し且つ正しい統計
表を選択する先読み手法は、連続するビット毎に異なる
レベルのトリーのアクセス及び同時に2つのレベルの可
能な統計の読出しと組合わされる。後で説明するコード
化方式のプロセス流れ図は第4図に示す。
際に次のビットに関して最後のビット値に基づいた統計
表のアクセスを必要とするタイム・クリティカル帰還経
路がある。もし回避されなければ、この問題は各ビット
の複号に必要なサイクル・タイムを減速させる。隣接す
る位置から1よりも多くの統計を読出し且つ正しい統計
表を選択する先読み手法は、連続するビット毎に異なる
レベルのトリーのアクセス及び同時に2つのレベルの可
能な統計の読出しと組合わされる。後で説明するコード
化方式のプロセス流れ図は第4図に示す。
データを短縮するための2進算術コード・プログラムは
圧縮を成し遂げるために2進統計を必要とする。これは
コード化又は複号されたビット毎に統計を取出すことを
必要とする。統計は線形化されたトリーに記憶される。
ビットのコード化はコード化される8ビット毎に一度だ
け各トリー・レベルのアクセスを必要とする。8ビット
・サイクルでは統計は一度使用されると再び使用される
ことはないから、ビットのコード化又は複号のためのア
クセスをオーバラップさせるための事前取出し即ち先読
みが用いられる。統計表(E1)113は圧縮装置に送られ
たモジューロ8のパケットのうちの第1即ちモジューロ
0のデータ・セットを処理し、他方、統計表(E2)115
はモジューロ4のデータのパケットを処理する。
圧縮を成し遂げるために2進統計を必要とする。これは
コード化又は複号されたビット毎に統計を取出すことを
必要とする。統計は線形化されたトリーに記憶される。
ビットのコード化はコード化される8ビット毎に一度だ
け各トリー・レベルのアクセスを必要とする。8ビット
・サイクルでは統計は一度使用されると再び使用される
ことはないから、ビットのコード化又は複号のためのア
クセスをオーバラップさせるための事前取出し即ち先読
みが用いられる。統計表(E1)113は圧縮装置に送られ
たモジューロ8のパケットのうちの第1即ちモジューロ
0のデータ・セットを処理し、他方、統計表(E2)115
はモジューロ4のデータのパケットを処理する。
第3図は複号器124の2つの統計表123及び125も示す。
統計表123及び125は、符号器114に統計表113及び115が
接続されるのと同じように、複号器124に接続される。
符号器及び複号器の全ての統計表のランダム・アクセス
・メモリは、本発明の良好な実施例に符号器及び複号器
が実際に4つずつあるとき、8つの符号器及び複号器が
オンラインであるように見える。符号器及び複号器毎の
統計表の二重化は、各々が1つの統計表を持つ8つの符
号器及び複号器によるフォーマット互換性を成し遂げ
る。8つの符号器及び複号器は、第1図に示す4つの符
号器及び復号器のスループットを2倍にし、他方、符号
器及び復号器毎に1つの統計表の使用は、本発明の実施
例の4つの符号器及び復号器並びにその各々の2つの統
計表を持つシステムとのフォーマット互換性を可能にす
る。
統計表123及び125は、符号器114に統計表113及び115が
接続されるのと同じように、複号器124に接続される。
符号器及び複号器の全ての統計表のランダム・アクセス
・メモリは、本発明の良好な実施例に符号器及び複号器
が実際に4つずつあるとき、8つの符号器及び複号器が
オンラインであるように見える。符号器及び複号器毎の
統計表の二重化は、各々が1つの統計表を持つ8つの符
号器及び複号器によるフォーマット互換性を成し遂げ
る。8つの符号器及び複号器は、第1図に示す4つの符
号器及び復号器のスループットを2倍にし、他方、符号
器及び復号器毎に1つの統計表の使用は、本発明の実施
例の4つの符号器及び復号器並びにその各々の2つの統
計表を持つシステムとのフォーマット互換性を可能にす
る。
このように、本発明に従って、複数の短縮プロセッサを
用いて所望のデータ速度を保持し、しかもフォーマット
互換性も維持することができる。データは最初、各短縮
プロセッサにより並列処理するために等しいサイズのデ
ータ・セットに分割される。各短縮プロセッサはn短縮
プロセッサに対しm統計表(ST)を含む。データ・セッ
トの数はqに等しく、iはセット番号、即ち、0,1,
2,....q−1である。セットiは統計表ST j kを用いて
短縮プロセッサCP jにより処理される。この場合: j=iモジューロn k=(i/n)モジューロm である。
用いて所望のデータ速度を保持し、しかもフォーマット
互換性も維持することができる。データは最初、各短縮
プロセッサにより並列処理するために等しいサイズのデ
ータ・セットに分割される。各短縮プロセッサはn短縮
プロセッサに対しm統計表(ST)を含む。データ・セッ
トの数はqに等しく、iはセット番号、即ち、0,1,
2,....q−1である。セットiは統計表ST j kを用いて
短縮プロセッサCP jにより処理される。この場合: j=iモジューロn k=(i/n)モジューロm である。
各CPでM STを持つN CPについては、データ処理システム
における数Nよりも少ないCPの可能な構成は: m=M n=N により規定される。M,N,m及びnは全て0よりも大きい
整数である。nはN CPシステムにおける最大数の中から
使用されたCPの数であり、mは最大数CPの中から使用さ
れたSTの数である。
における数Nよりも少ないCPの可能な構成は: m=M n=N により規定される。M,N,m及びnは全て0よりも大きい
整数である。nはN CPシステムにおける最大数の中から
使用されたCPの数であり、mは最大数CPの中から使用さ
れたSTの数である。
図示の良好な実施例では、Nは8CPに等しく、MはCP毎
の2STに等しい。可能な構成はnが4に等しく、mが2
に等しい場合である。スループットの増加は8CPを使用
し、各CPが1STを用いる場合、即ちnが8に等しくmが
1に等しい場合に可能である。8CP、即ちNが8に等し
い場合のもう1つの可能性はMが8に等しく、可能な構
成は: n=8,m=1 n=4,m=2 n=2,m=4 n=1,m=8 である。
の2STに等しい。可能な構成はnが4に等しく、mが2
に等しい場合である。スループットの増加は8CPを使用
し、各CPが1STを用いる場合、即ちnが8に等しくmが
1に等しい場合に可能である。8CP、即ちNが8に等し
い場合のもう1つの可能性はMが8に等しく、可能な構
成は: n=8,m=1 n=4,m=2 n=2,m=4 n=1,m=8 である。
8CPの場合で、Mが4に等しい時の可能な構成は: n=8,m=1 n=4,m=2 n=2,m=4 である。
従って、全てのスループット速度の増加を通じてフォー
マット互換性を維持しつつ、現在要求されているスルー
プット速度及び後に所望されるスループット速度を選択
することによるデータ・スループットの増加を通じてフ
ォーマット互換性を維持することができる。より高いス
ループット速度、及びより低いスループット速度の短縮
の下方及び上方互換性は保証される。
マット互換性を維持しつつ、現在要求されているスルー
プット速度及び後に所望されるスループット速度を選択
することによるデータ・スループットの増加を通じてフ
ォーマット互換性を維持することができる。より高いス
ループット速度、及びより低いスループット速度の短縮
の下方及び上方互換性は保証される。
適応短縮は2つの相互に排他的なモードの1つで符号器
にあるバイト毎に実行される。第1のモードは1以上の
反復が検出されたとき同じ文字の順次反復を圧縮するラ
ン・モードである。これらはラン・モード・シーケンス
をセットすることにより識別される。
にあるバイト毎に実行される。第1のモードは1以上の
反復が検出されたとき同じ文字の順次反復を圧縮するラ
ン・モードである。これらはラン・モード・シーケンス
をセットすることにより識別される。
第2のモードは集積された統計により個々のバイトをコ
ード化するバイト・モードである。このバイト・モード
は前の2つのバイトが異なる時、即ちバイト・モードが
非反復を表わした後に用いられる。このモードはラン文
字が該文字に等しいときに識別される。両モードの結果
は、どの統計表が当該時点で活動化されるかにより該統
計表からの統計を集積するために使用される。コード化
プログラムはデータ・バイト毎の統計に適応する。ラン
・モード処理では、統計はバイト反復の見込みに基づい
ている。バイト・モード処理では、最初、各バイトの各
ビットは確率が等しいものと仮定する。統計はビット単
位で更新され、統計表の2進トリー構造に記憶される。
統計は入力データ・ストリングの各レコードを受取る前
にリセットされる。従って、各レコードは独立して処理
される。
ード化するバイト・モードである。このバイト・モード
は前の2つのバイトが異なる時、即ちバイト・モードが
非反復を表わした後に用いられる。このモードはラン文
字が該文字に等しいときに識別される。両モードの結果
は、どの統計表が当該時点で活動化されるかにより該統
計表からの統計を集積するために使用される。コード化
プログラムはデータ・バイト毎の統計に適応する。ラン
・モード処理では、統計はバイト反復の見込みに基づい
ている。バイト・モード処理では、最初、各バイトの各
ビットは確率が等しいものと仮定する。統計はビット単
位で更新され、統計表の2進トリー構造に記憶される。
統計は入力データ・ストリングの各レコードを受取る前
にリセットされる。従って、各レコードは独立して処理
される。
第4図に関連して後で説明するように、該プログラムは
データ圧縮を最大化するのにどのモードが有効かを動的
に決定する。正確な原データがコード・ストリングから
回復されるように、プログラムは適応データ統計を用い
てデータ・ビットのストリングをコード・ストリングに
写像する。圧縮される量は連続するバイト反復の数及び
或バイト値がどの程度優勢であるかに正比例する。符号
器及び複号器は、該システムの最大データ速度を満たす
のに必要な並列短縮プロセッサの最大数として選択でき
る、同数の統計表を用いる。第4図〜第15図による短縮
処理は前述の論文Arithmetic Coding及びAn Introducti
on to Arithmetic Coding並びに特公昭63−6172号公報
に詳細に記載されている。これらの出版物及び米国特許
明細書は符号器及び復号器毎に1つの統計表が使用され
る本発明によるコード化及び復号プロセスをずっと詳細
に説明している。
データ圧縮を最大化するのにどのモードが有効かを動的
に決定する。正確な原データがコード・ストリングから
回復されるように、プログラムは適応データ統計を用い
てデータ・ビットのストリングをコード・ストリングに
写像する。圧縮される量は連続するバイト反復の数及び
或バイト値がどの程度優勢であるかに正比例する。符号
器及び複号器は、該システムの最大データ速度を満たす
のに必要な並列短縮プロセッサの最大数として選択でき
る、同数の統計表を用いる。第4図〜第15図による短縮
処理は前述の論文Arithmetic Coding及びAn Introducti
on to Arithmetic Coding並びに特公昭63−6172号公報
に詳細に記載されている。これらの出版物及び米国特許
明細書は符号器及び復号器毎に1つの統計表が使用され
る本発明によるコード化及び復号プロセスをずっと詳細
に説明している。
第4図の短縮コード化プロセスの流れ図では、2つの前
のバイトが同じ時はラン・モード・シーケンスである。
バイト・モードはラン・モードが見つからない時に使わ
れるモードである。ラン・モードは1以上の反復が検出
されると同じ文字の順次反復を圧縮する。ラン・モード
が見つからない時、即ちバイト・モードが開始される
と、個々のバイトは集積された統計によりコード化さ
れ、前の2バイトが異なる、即ちラン・モードが見つか
らないとき、又はラン・モードが非反復を表示してから
使用される。モードの結果はどちらも統計を集積するた
めに使用される。コード化プロセスはバイト毎の統計に
適応する。ラン・モード処理の場合、統計はバイト反復
の見込みに基づいている。ビット・モード即ち非ラン・
モードの場合、最初に各バイトの各ビットは同じ確率で
あると仮定する。統計はビット単位で更新され且つ2進
トリー・データ構造で記憶される。統計は3ビット・フ
ィールドのフォーマットをとり、1ビットはどのビット
値がより見込みがあるかを表わし、他の2ビットは値1
〜4を持つ数である。前記値は最も見込みのあるビット
値を生じる相対的な確率を示し、値1は同じ見込みの値
を表わし、値4は最も見込みのある値を表わす。ホスト
から受取った各々の論理的なブロックの始まりで統計は
リセットされるので、論理的なブロックはそれぞれ独立
して処理される。該プロセスはデータ圧縮を最大化する
ためにどのモードが有効かを動的に決定する。該プロセ
スは、適応データ統計を用いて、データ・ビットのスト
リングをコード・ストリングに写像し、正確な原データ
がコード・ストリングから回復できるようにする。圧縮
される量は連続するバイト反復の数及び或バイト値がど
の程度優勢であるかに正比例する。
のバイトが同じ時はラン・モード・シーケンスである。
バイト・モードはラン・モードが見つからない時に使わ
れるモードである。ラン・モードは1以上の反復が検出
されると同じ文字の順次反復を圧縮する。ラン・モード
が見つからない時、即ちバイト・モードが開始される
と、個々のバイトは集積された統計によりコード化さ
れ、前の2バイトが異なる、即ちラン・モードが見つか
らないとき、又はラン・モードが非反復を表示してから
使用される。モードの結果はどちらも統計を集積するた
めに使用される。コード化プロセスはバイト毎の統計に
適応する。ラン・モード処理の場合、統計はバイト反復
の見込みに基づいている。ビット・モード即ち非ラン・
モードの場合、最初に各バイトの各ビットは同じ確率で
あると仮定する。統計はビット単位で更新され且つ2進
トリー・データ構造で記憶される。統計は3ビット・フ
ィールドのフォーマットをとり、1ビットはどのビット
値がより見込みがあるかを表わし、他の2ビットは値1
〜4を持つ数である。前記値は最も見込みのあるビット
値を生じる相対的な確率を示し、値1は同じ見込みの値
を表わし、値4は最も見込みのある値を表わす。ホスト
から受取った各々の論理的なブロックの始まりで統計は
リセットされるので、論理的なブロックはそれぞれ独立
して処理される。該プロセスはデータ圧縮を最大化する
ためにどのモードが有効かを動的に決定する。該プロセ
スは、適応データ統計を用いて、データ・ビットのスト
リングをコード・ストリングに写像し、正確な原データ
がコード・ストリングから回復できるようにする。圧縮
される量は連続するバイト反復の数及び或バイト値がど
の程度優勢であるかに正比例する。
第4図の流れ図はデータ・セットのコード化プロセス全
体を示す。前述のように、データ・セットは最後のセッ
ト(データ・ストリームからデータ・セットに分離され
た後の残りのバイト)以外は512バイトである。データ
・セット毎に、符号器は既知の状態に初期化される。統
計表はデータ・セット毎には初期化されず、むしろチャ
ネル・レコード毎に初期化されるだけである。ラン文字
レジスタは初期化される。ラン・モード・レジスタは各
データ・セットの始まりでリセットされる。該セットの
中から各々のバイトが取出され、文字レジスタにロード
される。もしラン・モードがセットされれば、ラン文字
レジスタと文字レジスタが比較される。もしそれらが等
しければ、第6図に示す反復事象コード化が実行され
る。さもなければ、第7図に示す非反復事象コード化が
実行され且つ第5図に示す文字コード化プロセスが実行
される。もしラン・モードがセットされなかったなら
ば、文字コード化プロセスは直ちに開始される。
体を示す。前述のように、データ・セットは最後のセッ
ト(データ・ストリームからデータ・セットに分離され
た後の残りのバイト)以外は512バイトである。データ
・セット毎に、符号器は既知の状態に初期化される。統
計表はデータ・セット毎には初期化されず、むしろチャ
ネル・レコード毎に初期化されるだけである。ラン文字
レジスタは初期化される。ラン・モード・レジスタは各
データ・セットの始まりでリセットされる。該セットの
中から各々のバイトが取出され、文字レジスタにロード
される。もしラン・モードがセットされれば、ラン文字
レジスタと文字レジスタが比較される。もしそれらが等
しければ、第6図に示す反復事象コード化が実行され
る。さもなければ、第7図に示す非反復事象コード化が
実行され且つ第5図に示す文字コード化プロセスが実行
される。もしラン・モードがセットされなかったなら
ば、文字コード化プロセスは直ちに開始される。
該セットのバイトはラン・モードでコード化されている
から、ラン・モードは決定されている。ラン文字レジス
タと文字レジスタが比較され、もしそれらが等しけれ
ば、ラン・モードがセットされる。さもなければ、ラン
・モードはリセットされ、ラン文字レジスタは次のラン
・モード事象の文字・レジスタ情報にセットされる。
から、ラン・モードは決定されている。ラン文字レジス
タと文字レジスタが比較され、もしそれらが等しけれ
ば、ラン・モードがセットされる。さもなければ、ラン
・モードはリセットされ、ラン文字レジスタは次のラン
・モード事象の文字・レジスタ情報にセットされる。
該データ・セットの全てのバイトが処理されるまで該プ
ロセスは反復される。非反復事象コード化はラン・モー
ドで処理しているデータ・セットを終了させるために実
行される。ラン・モードがセットされてもリセットされ
ても、符号器内の符号レジスタな内容は符号の一部とし
てシフトアウトされる。
ロセスは反復される。非反復事象コード化はラン・モー
ドで処理しているデータ・セットを終了させるために実
行される。ラン・モードがセットされてもリセットされ
ても、符号器内の符号レジスタな内容は符号の一部とし
てシフトアウトされる。
第4図の流れ図はブロック200で初期化、即ち関係する
レジスタをリセットしてプログラムを開始することによ
り始まる。次のブロック204では、データ・セットから
次のバイトを取得し、それを文字レジスタに入れる。判
定ブロック206はラン・モード・シーケンスがセットさ
れているかどうかを判定する。もしセットされていなけ
れば、“ノー”のライン208からブロック210に進み、こ
のバイトをコード化する。次にブロック212で、該文字
は前の文字と同じかどうかを検査する。もし同じでなけ
れば、ブロック214で、ラン・モードをリセットし、且
つラン文字レジスタを文字レジスタに等しくなるように
セットする。プロセスは続行し、次のバイトを取得する
ためにブロック204に戻る。判定ブロック206で、もしラ
ン・モードがセットされていれば、“イエス”のライン
から次の判定ブロック220に進み、ラン文字レジスタの
情報が文字レジスタの情報と同じかどうかを検査する。
もし同じならば、イエス・ライン222からブロック224に
進み、反復された事象をコード化する。そして、ブロッ
ク212に該文字が最後の文字に等しいかどうかを検査す
る。もし等しければ、ブロック218で、ラン・モードが
セットされ、次のデータを取得するためにシーケンスの
始めに戻る。ラン・モード・シーケンスは、前のバイト
が同じであり且つ符号器が2進算術コード化プロセスに
従ってこの類似のデータを短縮する場合に用いられる。
判定ブロック220で、もしこのバイトの文字が同じでな
いならば、ノー・ラインからブロック226に進み、非反
復事象がコード化され、ブロック210で文字がコード化
される。ラン文字レジスタは文字レジスタに等しくない
から、判定ブロック212からノー・ラインを経由してブ
ロック214に進み、ラン・モードをリセットする。ラン
・モード文字はセットされていないから、プロセスは同
じモードのままで各バイトを検査する。この時点では、
それはビット・モードであり、バイトの各ビットは、こ
のバイトの非類似ビットを短縮するように処理される。
プロセスはコード化されるデータ・セットにある全ての
バイトを検査し続ける。コード化されたばかりの情報を
復号する復号プロセスは第11図に示す。第4図の個々の
ブロックの幾つかのプロセスの流れは第5図〜第8図に
示す。
レジスタをリセットしてプログラムを開始することによ
り始まる。次のブロック204では、データ・セットから
次のバイトを取得し、それを文字レジスタに入れる。判
定ブロック206はラン・モード・シーケンスがセットさ
れているかどうかを判定する。もしセットされていなけ
れば、“ノー”のライン208からブロック210に進み、こ
のバイトをコード化する。次にブロック212で、該文字
は前の文字と同じかどうかを検査する。もし同じでなけ
れば、ブロック214で、ラン・モードをリセットし、且
つラン文字レジスタを文字レジスタに等しくなるように
セットする。プロセスは続行し、次のバイトを取得する
ためにブロック204に戻る。判定ブロック206で、もしラ
ン・モードがセットされていれば、“イエス”のライン
から次の判定ブロック220に進み、ラン文字レジスタの
情報が文字レジスタの情報と同じかどうかを検査する。
もし同じならば、イエス・ライン222からブロック224に
進み、反復された事象をコード化する。そして、ブロッ
ク212に該文字が最後の文字に等しいかどうかを検査す
る。もし等しければ、ブロック218で、ラン・モードが
セットされ、次のデータを取得するためにシーケンスの
始めに戻る。ラン・モード・シーケンスは、前のバイト
が同じであり且つ符号器が2進算術コード化プロセスに
従ってこの類似のデータを短縮する場合に用いられる。
判定ブロック220で、もしこのバイトの文字が同じでな
いならば、ノー・ラインからブロック226に進み、非反
復事象がコード化され、ブロック210で文字がコード化
される。ラン文字レジスタは文字レジスタに等しくない
から、判定ブロック212からノー・ラインを経由してブ
ロック214に進み、ラン・モードをリセットする。ラン
・モード文字はセットされていないから、プロセスは同
じモードのままで各バイトを検査する。この時点では、
それはビット・モードであり、バイトの各ビットは、こ
のバイトの非類似ビットを短縮するように処理される。
プロセスはコード化されるデータ・セットにある全ての
バイトを検査し続ける。コード化されたばかりの情報を
復号する復号プロセスは第11図に示す。第4図の個々の
ブロックの幾つかのプロセスの流れは第5図〜第8図に
示す。
第5図は第4図のブロック210の文字コード化手順を示
す。バイトが反復されない、非ラン・モードのとき、各
バイトは第4図に示すブロックのコード化文字によりコ
ード化される。文字バッファに記憶されているバイトの
8ビットの各々について、統計が取出されてから、第8
図に示すコード化手順によりコード化される。そして、
更新された統計は統計表に再び記憶される。バイトをコ
ード化するために、DBITレジスタは先ずバイトの最上位
ビットにセットされる。ブロック236に示すように、最
初のビットの統計が取出されるアドレス、ADDRが1にセ
ットされる。ブロック238で、ビットはアドレスADDR及
び第8図に示すビット・コード化プロセスを用いてコー
ド化される。最上位の次のビットをコード化するため
に、ブロック240に示すように、ADDRアドレスを1ビッ
ト左シフトしてDBITを書込むことにより新しい統計表ア
ドレスが生成される。ブロック242に示すように、DBIT
は文字レジスタの最上位の次のビットにセットされる。
ブロック244に示すように、前記プロセスは8回反復さ
れ、文字のビットの全てをコード化する。
す。バイトが反復されない、非ラン・モードのとき、各
バイトは第4図に示すブロックのコード化文字によりコ
ード化される。文字バッファに記憶されているバイトの
8ビットの各々について、統計が取出されてから、第8
図に示すコード化手順によりコード化される。そして、
更新された統計は統計表に再び記憶される。バイトをコ
ード化するために、DBITレジスタは先ずバイトの最上位
ビットにセットされる。ブロック236に示すように、最
初のビットの統計が取出されるアドレス、ADDRが1にセ
ットされる。ブロック238で、ビットはアドレスADDR及
び第8図に示すビット・コード化プロセスを用いてコー
ド化される。最上位の次のビットをコード化するため
に、ブロック240に示すように、ADDRアドレスを1ビッ
ト左シフトしてDBITを書込むことにより新しい統計表ア
ドレスが生成される。ブロック242に示すように、DBIT
は文字レジスタの最上位の次のビットにセットされる。
ブロック244に示すように、前記プロセスは8回反復さ
れ、文字のビットの全てをコード化する。
第6図は第4図に示すブロック224の反復事象コード化
プロセスを示す。統計表のアドレス0はラン・モードと
して使用される。ラン・モードがセットされると、ブロ
ック246に示すように、アドレスADDRは0に、DBITは1
にそれぞれセットされ、反復されたビットがコード化さ
れることを表わす。そして、第8図のビット・コード化
プロセスが実行され、ブロック248に示すように、反復
事象をコード化する。
プロセスを示す。統計表のアドレス0はラン・モードと
して使用される。ラン・モードがセットされると、ブロ
ック246に示すように、アドレスADDRは0に、DBITは1
にそれぞれセットされ、反復されたビットがコード化さ
れることを表わす。そして、第8図のビット・コード化
プロセスが実行され、ブロック248に示すように、反復
事象をコード化する。
第7図は第4図のブロック226の非反復事象コード化プ
ロセスを示す。ラン・モードがセットされると、ブロッ
ク250に示す最初のステップで、統計表のアドレスADDR
は0に、DBIT文字は0にそれぞれセットされ、ラン文字
に等しくないビットはコード化されることを表わす。統
計表のアドレス0はラン・モードについて使用される。
そして、ブロック252に示すように第8図のビット・コ
ード化プロセスが実行され、第4図に示すようにラン・
モードの中断が起き且つ文字コード化ブロック210で非
ラン文字がコード化されることを示す。
ロセスを示す。ラン・モードがセットされると、ブロッ
ク250に示す最初のステップで、統計表のアドレスADDR
は0に、DBIT文字は0にそれぞれセットされ、ラン文字
に等しくないビットはコード化されることを表わす。統
計表のアドレス0はラン・モードについて使用される。
そして、ブロック252に示すように第8図のビット・コ
ード化プロセスが実行され、第4図に示すようにラン・
モードの中断が起き且つ文字コード化ブロック210で非
ラン文字がコード化されることを示す。
第8図のビット・コード化プロセスは、第5図のビット
・コード化ブロック238、第6図のビット・コード化ブ
ロック248及び第7図のビット・コード化ブロック252で
使用される。該プロセスの最初のステップ254で、統計
MおよびKはアドレスADDRにより指定されたアドレスで
統計表から取出される。M統計は推測された値を示す1
ビット値であり、統計Kは2ビットの確率値である。K
は1から4までの数をとることができる。M、K及びDB
ITはコード計算ブロック256でのプロセスを使用して該
ビットをコード化するために用いられる。コード計算プ
ロセスは第9図に示す。次にブロック258で、統計を更
新してデータに適応させる。これは第10図に示す統計計
算プロセスで実行される。新しい統計がM及びKで計算
されてから、ブロック260に示すように、統計値はアド
レスADDRにより指定されたアドレスで統計表に記憶され
る。
・コード化ブロック238、第6図のビット・コード化ブ
ロック248及び第7図のビット・コード化ブロック252で
使用される。該プロセスの最初のステップ254で、統計
MおよびKはアドレスADDRにより指定されたアドレスで
統計表から取出される。M統計は推測された値を示す1
ビット値であり、統計Kは2ビットの確率値である。K
は1から4までの数をとることができる。M、K及びDB
ITはコード計算ブロック256でのプロセスを使用して該
ビットをコード化するために用いられる。コード計算プ
ロセスは第9図に示す。次にブロック258で、統計を更
新してデータに適応させる。これは第10図に示す統計計
算プロセスで実行される。新しい統計がM及びKで計算
されてから、ブロック260に示すように、統計値はアド
レスADDRにより指定されたアドレスで統計表に記憶され
る。
第9図のコード計算プロセスに示すように、コード化プ
ロセスは確率の合計を生成する。合計はコード、即ち符
号器の出力である。合計は合計レジスタCで加算及びシ
フト動作を行うことにより生成される。正規化レジスタ
として、レジスタAも使用される。本発明の良好な実施
例ではAレジスタ及びCレジスタはどちらも4ビットで
ある。第4図の初期化ステップで、Aレジスタ及びCレ
ジスタはどちらも0に初期化される。第9図のコード計
算プロセスの最初のステップは、ブロック600に示すよ
うに、確率最大の記号MPSをコード化するか、又は確率
最小の記号LPSをコード化するかを決定する。もしDBIT
が推測値Mに等しければMPSがコード化され、さもなけ
ればLPSがコード化される。LPSが選択されると、Aレジ
スタは0にリセットされ(ブロック612)、Cレジスタ
はK回左シフトされ、0が書込まれる(ブロック61
4)。シフト・プロセスによりCレジスタから出るビッ
トは連結されてビット・ストリングになる。短縮された
データはCレジスタから出るこのビット・ストリングで
あり、このストリングに追加の操作が実行される。
ロセスは確率の合計を生成する。合計はコード、即ち符
号器の出力である。合計は合計レジスタCで加算及びシ
フト動作を行うことにより生成される。正規化レジスタ
として、レジスタAも使用される。本発明の良好な実施
例ではAレジスタ及びCレジスタはどちらも4ビットで
ある。第4図の初期化ステップで、Aレジスタ及びCレ
ジスタはどちらも0に初期化される。第9図のコード計
算プロセスの最初のステップは、ブロック600に示すよ
うに、確率最大の記号MPSをコード化するか、又は確率
最小の記号LPSをコード化するかを決定する。もしDBIT
が推測値Mに等しければMPSがコード化され、さもなけ
ればLPSがコード化される。LPSが選択されると、Aレジ
スタは0にリセットされ(ブロック612)、Cレジスタ
はK回左シフトされ、0が書込まれる(ブロック61
4)。シフト・プロセスによりCレジスタから出るビッ
トは連結されてビット・ストリングになる。短縮された
データはCレジスタから出るこのビット・ストリングで
あり、このストリングに追加の操作が実行される。
最大確率記号(MPS)の場合は、PFと呼ばれる確率係数
がKから生成される。PFは4ビット値であり、Aレジス
タ及びCレジスタで算術演算を実行するために使用され
る。もしK=1ならPFは1000にセットされる。もしK=
2ならPFは0100にセットされる。もしK=3ならPFは00
10にセットされる。もしK=4ならPFの表は0001にセッ
トされる。PF値はCレジスタの内容に付加される。もし
Cレジスタからの桁上げがあれば、該桁上げは前に生成
されたコード・ビットを介して伝達される。新しい4ビ
ット合計は再びCレジスタに記憶される。更に、Aレジ
スタの内容からPFが差引かれ、新しい差は再びAレジス
タに記憶される。減算プロセスでAレジスタに借りが生
じたなら、Aレジスタ及びCレジスタはどちらも1ビッ
トずつ左シフトされ、0が書込まれる。Cレジスタから
シフトされたビットは前のコード・ビットと連結され、
短縮されたデータをつくる。
がKから生成される。PFは4ビット値であり、Aレジス
タ及びCレジスタで算術演算を実行するために使用され
る。もしK=1ならPFは1000にセットされる。もしK=
2ならPFは0100にセットされる。もしK=3ならPFは00
10にセットされる。もしK=4ならPFの表は0001にセッ
トされる。PF値はCレジスタの内容に付加される。もし
Cレジスタからの桁上げがあれば、該桁上げは前に生成
されたコード・ビットを介して伝達される。新しい4ビ
ット合計は再びCレジスタに記憶される。更に、Aレジ
スタの内容からPFが差引かれ、新しい差は再びAレジス
タに記憶される。減算プロセスでAレジスタに借りが生
じたなら、Aレジスタ及びCレジスタはどちらも1ビッ
トずつ左シフトされ、0が書込まれる。Cレジスタから
シフトされたビットは前のコード・ビットと連結され、
短縮されたデータをつくる。
Cレジスタからシフトアウトされたビットは確率の合計
であるから、Cレジスタからの桁上げは全合計に伝達さ
れねばならない。全合計を符号器に記憶することは実際
的ではないので、符号器から送付済みのコードの桁上げ
は出力を介して伝達しなくてもよいように、桁上げ伝達
が制御されねばならない。これは詰込みビットによって
行われる。Cレジスタから出る合計は8ビット・バイト
として連結され、符号器から送出される。8ビットの全
部1の値を持つコード・ビットが検出される毎に、4ビ
ットの0が全1バイトの後に挿入され、Cレジスタから
の桁上げが全部1のバイトに伝達されるのを阻止する。
もしCレジスタからの桁上げがあれば、詰込まれた4ビ
ットの0は1つだけ増加する、従って桁上げが全1コー
ド・バイトに伝達されるのを阻止する。バイト詰込みの
1つの利点は、コード・ストリームへの特別の文字コー
ドの挿入が可能なことである。次の4ビットの2つの組
合せ、即ち0000及び0001の一方だけが全1ビットに続く
ことができるから、コード化プロセスによりこれらの2
つの値以外の値が生成されていないので、2バイトの特
別文字を挿入できる。これらの特別文字は、異なる短縮
データ・セットを分離する、セット区切りの端である。
であるから、Cレジスタからの桁上げは全合計に伝達さ
れねばならない。全合計を符号器に記憶することは実際
的ではないので、符号器から送付済みのコードの桁上げ
は出力を介して伝達しなくてもよいように、桁上げ伝達
が制御されねばならない。これは詰込みビットによって
行われる。Cレジスタから出る合計は8ビット・バイト
として連結され、符号器から送出される。8ビットの全
部1の値を持つコード・ビットが検出される毎に、4ビ
ットの0が全1バイトの後に挿入され、Cレジスタから
の桁上げが全部1のバイトに伝達されるのを阻止する。
もしCレジスタからの桁上げがあれば、詰込まれた4ビ
ットの0は1つだけ増加する、従って桁上げが全1コー
ド・バイトに伝達されるのを阻止する。バイト詰込みの
1つの利点は、コード・ストリームへの特別の文字コー
ドの挿入が可能なことである。次の4ビットの2つの組
合せ、即ち0000及び0001の一方だけが全1ビットに続く
ことができるから、コード化プロセスによりこれらの2
つの値以外の値が生成されていないので、2バイトの特
別文字を挿入できる。これらの特別文字は、異なる短縮
データ・セットを分離する、セット区切りの端である。
第10図で、統計表に基づいた確率計算が短縮される(米
国特許第4463342号参照)。モンテカルロ・カウンタ、C
NTは統計表M及びKに何が行われるかを決定するために
使用される。モンテカルロ手法は、タスクを実行するか
又は実行しない決定が、決定論的なアプローチではなく
疑似ランダム数から決定された回答に基づく場合に用い
る。CNTカウンタは4ビット2進アップ(UP)・カウン
タである。CNTカウンタは第4図の初期化ステップで0
にリセットされる。第10図のブロック500に示すよう
に、最初のステップは、最大確率記号MPSが処理された
か最小確率記号LPSが処理されたかを判定することであ
る。DBITとM統計が等しいときはMPSである。さもなけ
ればLPSである。もしLPSが処理されたなら、間違った推
測であり、該推測値発生の確率値は直ちに減少すべきで
ある。判定ブロック528で、もしKが既に1ならば、ブ
ロック532で、統計Mは逆転され、推測値の反対の値が
保管される。もしMPSが処理されたならば、正しい推測
であり、この推測値発生の確率値は増加すべきである
が、増加は常にKの最大値に達するのが速すぎ誤り推測
のペナルティがずっと高くなるから、常にそうするとは
限らない。それゆえ、モンテカルロ・カウンタを用いて
Kをランダムに増加させる。もし判定ブロック510でK
が1に等しく、ブロック516でCNTカウンタの2つの下位
ビットが1であれば、ブロック518で、Kは増加され
る。もしK統計値が2に等しく(ブロック512)、カウ
ンタCNTの3つの下位ビットが1に等しければ(ブロッ
ク513)、ブロック518でKは増加される。もし統計Kが
3に等しく(ブロック514)、CNTカウンタの4ビット全
てが1に等しければ(ブロック524)、値Kは増加され
る。もしKが4に等しければ、Kは既に最大値であるか
ら、そのままである。Kの値にかかわらず、MPSの場
合、CNTカウンタはブロック504及び518で増加される。
国特許第4463342号参照)。モンテカルロ・カウンタ、C
NTは統計表M及びKに何が行われるかを決定するために
使用される。モンテカルロ手法は、タスクを実行するか
又は実行しない決定が、決定論的なアプローチではなく
疑似ランダム数から決定された回答に基づく場合に用い
る。CNTカウンタは4ビット2進アップ(UP)・カウン
タである。CNTカウンタは第4図の初期化ステップで0
にリセットされる。第10図のブロック500に示すよう
に、最初のステップは、最大確率記号MPSが処理された
か最小確率記号LPSが処理されたかを判定することであ
る。DBITとM統計が等しいときはMPSである。さもなけ
ればLPSである。もしLPSが処理されたなら、間違った推
測であり、該推測値発生の確率値は直ちに減少すべきで
ある。判定ブロック528で、もしKが既に1ならば、ブ
ロック532で、統計Mは逆転され、推測値の反対の値が
保管される。もしMPSが処理されたならば、正しい推測
であり、この推測値発生の確率値は増加すべきである
が、増加は常にKの最大値に達するのが速すぎ誤り推測
のペナルティがずっと高くなるから、常にそうするとは
限らない。それゆえ、モンテカルロ・カウンタを用いて
Kをランダムに増加させる。もし判定ブロック510でK
が1に等しく、ブロック516でCNTカウンタの2つの下位
ビットが1であれば、ブロック518で、Kは増加され
る。もしK統計値が2に等しく(ブロック512)、カウ
ンタCNTの3つの下位ビットが1に等しければ(ブロッ
ク513)、ブロック518でKは増加される。もし統計Kが
3に等しく(ブロック514)、CNTカウンタの4ビット全
てが1に等しければ(ブロック524)、値Kは増加され
る。もしKが4に等しければ、Kは既に最大値であるか
ら、そのままである。Kの値にかかわらず、MPSの場
合、CNTカウンタはブロック504及び518で増加される。
第11図〜第15図は復号プロセスの処理の流れを示す。第
11図はチャネル・アダプタに送られたデータ・セットの
復号プロセス全体の流れ図を表わす。本発明の良好な実
施例では、データ・セットは最後のセット即ち残りの部
分の外は512バイトである。各データ・セットについ
て、例えば、第3図の復号器124は最初、既知の状態に
なるように初期化される。統計表は各データ・セット毎
には初期化されず、チャネル・ストリームのレコード毎
に初期化されるだけである。各データ・セットの始まり
でラン文字レジスタは初期化され、ラン・モード表示は
リセットされる。復号器のCレジスタは短縮されたデー
タの最初のバイトの最上位ビットでロードされる。非ラ
ン・モードでは復号プロセスは一度に1ビット復号す
る。8ビット毎に1バイトにアセンブルされ、チャネル
・データのバイトとして送られる。ラン・モードの場
合、反復バイトはチャネル・データのバイトとして送出
され、当該データ・セットの全ての短縮されたデータが
使用され且つデータ・セットの全てのビットが複号され
るまでプロセスは継続する。ブロック308で、もしラン
・モードがセットされていれば、ラン事象を復号するブ
ロック322に進む。ラン事象復号は第13図に示すように
処理され、DBITレジスタに値が戻される。もしDBITが1
なら(ブロック324)、反復されたビットはラン・モー
ドでコード化されており、それゆえラン文字は文字レジ
スタに複写され(ブロック326)、ブロック314で送出さ
れる。もしDBITが0なら、文字復号ブロック310は第12
図に示すように処理される。データ・バイトは復号され
て文字レジスタに送り込まれ、該バイトは文字レジスタ
から送出される。ブロック316で、もしラン文字レジス
タが文字レジスタに等しければ、ブロック238に進み、
ラン・モードをセットする。もしラン文字が文字に等し
くなければ、ラン・モードはリセットされ(ブロック31
8)、文字レジスタはラン文字レジスタに複写される
(ブロック320)。全ての短縮されたデータが使用され
且つチャネル・データのセットの全てのバイトが短縮解
除されるまでプロセスは継続する。
11図はチャネル・アダプタに送られたデータ・セットの
復号プロセス全体の流れ図を表わす。本発明の良好な実
施例では、データ・セットは最後のセット即ち残りの部
分の外は512バイトである。各データ・セットについ
て、例えば、第3図の復号器124は最初、既知の状態に
なるように初期化される。統計表は各データ・セット毎
には初期化されず、チャネル・ストリームのレコード毎
に初期化されるだけである。各データ・セットの始まり
でラン文字レジスタは初期化され、ラン・モード表示は
リセットされる。復号器のCレジスタは短縮されたデー
タの最初のバイトの最上位ビットでロードされる。非ラ
ン・モードでは復号プロセスは一度に1ビット復号す
る。8ビット毎に1バイトにアセンブルされ、チャネル
・データのバイトとして送られる。ラン・モードの場
合、反復バイトはチャネル・データのバイトとして送出
され、当該データ・セットの全ての短縮されたデータが
使用され且つデータ・セットの全てのビットが複号され
るまでプロセスは継続する。ブロック308で、もしラン
・モードがセットされていれば、ラン事象を復号するブ
ロック322に進む。ラン事象復号は第13図に示すように
処理され、DBITレジスタに値が戻される。もしDBITが1
なら(ブロック324)、反復されたビットはラン・モー
ドでコード化されており、それゆえラン文字は文字レジ
スタに複写され(ブロック326)、ブロック314で送出さ
れる。もしDBITが0なら、文字復号ブロック310は第12
図に示すように処理される。データ・バイトは復号され
て文字レジスタに送り込まれ、該バイトは文字レジスタ
から送出される。ブロック316で、もしラン文字レジス
タが文字レジスタに等しければ、ブロック238に進み、
ラン・モードをセットする。もしラン文字が文字に等し
くなければ、ラン・モードはリセットされ(ブロック31
8)、文字レジスタはラン文字レジスタに複写される
(ブロック320)。全ての短縮されたデータが使用され
且つチャネル・データのセットの全てのバイトが短縮解
除されるまでプロセスは継続する。
第11図のブロック310の文字復号プロセスは第12図に示
す。例えば、第11図のブロック308で、バイトが反復さ
れないときはラン・モードは継続されないことを示し、
ノー・ラインを経由してブロック310に進む。即ち、第1
2図のブロック330で、最初のビットの統計が取出される
アドレスADDRは1にセットされる。非ラン・モードで
は、各ビットは第12図に示す文字復号プロセスにより複
号される。複号されるバイトの8ビットの各々について
統計が取出され、第14図に示す復号プロセスによりビッ
トが復号される。そして更新された統計は再び統計表に
記憶される。最初のビットの統計が取出されるアドレス
は、前述のようにブロック330で1にセットされる。ブ
ロック332で、復号ビットはDBITレジスタに入力され
る。DBITレジスタで復号された最初のビットは文字レジ
スタの最上位ビットに記憶される。次のビットの復号の
ため、ブロック334で、アドレスADDRを1ビット左シフ
トすることにより新しい統計表アドレスが生成すると同
時に当該ビットにDBITを書込む。復号された次のビット
は文字レジスタの最上位の次のビットに記憶される。こ
れは、ブロック336で、文字レジスタの文字を左シフト
し該レジスタにDBITを書込むことにより行われる。判定
ブロック338に示すように、前記プロセスは8回反復さ
れ、全てのビットを複号して文字レジスタに入れる。
す。例えば、第11図のブロック308で、バイトが反復さ
れないときはラン・モードは継続されないことを示し、
ノー・ラインを経由してブロック310に進む。即ち、第1
2図のブロック330で、最初のビットの統計が取出される
アドレスADDRは1にセットされる。非ラン・モードで
は、各ビットは第12図に示す文字復号プロセスにより複
号される。複号されるバイトの8ビットの各々について
統計が取出され、第14図に示す復号プロセスによりビッ
トが復号される。そして更新された統計は再び統計表に
記憶される。最初のビットの統計が取出されるアドレス
は、前述のようにブロック330で1にセットされる。ブ
ロック332で、復号ビットはDBITレジスタに入力され
る。DBITレジスタで復号された最初のビットは文字レジ
スタの最上位ビットに記憶される。次のビットの復号の
ため、ブロック334で、アドレスADDRを1ビット左シフ
トすることにより新しい統計表アドレスが生成すると同
時に当該ビットにDBITを書込む。復号された次のビット
は文字レジスタの最上位の次のビットに記憶される。こ
れは、ブロック336で、文字レジスタの文字を左シフト
し該レジスタにDBITを書込むことにより行われる。判定
ブロック338に示すように、前記プロセスは8回反復さ
れ、全てのビットを複号して文字レジスタに入れる。
第11図のブロック322のラン事象復号は第13図に示す。
統計表のアドレス0はラン・モードに使用される。それ
ゆえ、第13図のブロック340でアドレスADDRは0にセッ
トされる。そして復号されるビットはブロック342でDBI
Tレジスタに入力され、ラン事象を復号するためにビッ
ト復号が実行される。
統計表のアドレス0はラン・モードに使用される。それ
ゆえ、第13図のブロック340でアドレスADDRは0にセッ
トされる。そして復号されるビットはブロック342でDBI
Tレジスタに入力され、ラン事象を復号するためにビッ
ト復号が実行される。
第12図のブロック332のビット復号プロセスは第14図に
示す。ブロック350で、ADDR信号により指定されたアド
レスで統計M及びKが統計表から取出される。統計Mは
推測値を示す1ビット値であり、統計Kは2ビットの確
率値である。統計Kは1から4までの数を選択できる。
統計M及びKは第15図に示すデータ・ビット計算のプロ
セスを用いてビットを復号するのに使用される。ブロッ
ク352のデータ・ビット計算プロセスで、ビットが復号
されDBITレジスタに記憶される。そしてブロック354
で、複号されるデータに統計を適応させるように統計は
更新される。これは第10図に示す統計計算プロセスで行
われる。統計M及びKで新しい統計が計算された後、ブ
ロック356で、統計M及びKはADDR信号により指定され
たアドレスで再び統計表に記憶される。
示す。ブロック350で、ADDR信号により指定されたアド
レスで統計M及びKが統計表から取出される。統計Mは
推測値を示す1ビット値であり、統計Kは2ビットの確
率値である。統計Kは1から4までの数を選択できる。
統計M及びKは第15図に示すデータ・ビット計算のプロ
セスを用いてビットを復号するのに使用される。ブロッ
ク352のデータ・ビット計算プロセスで、ビットが復号
されDBITレジスタに記憶される。そしてブロック354
で、複号されるデータに統計を適応させるように統計は
更新される。これは第10図に示す統計計算プロセスで行
われる。統計M及びKで新しい統計が計算された後、ブ
ロック356で、統計M及びKはADDR信号により指定され
たアドレスで再び統計表に記憶される。
第15図は第14図のブロック352のデータ・ビット計算プ
ロセスを示す。復号プロセスはコード化プロセスと同じ
タイプのAレジスタ及びCレジスタを使用する。Aレジ
スタは正規化レジスタでありコード化プロセスと同じよ
うに使用される。本発明の良好な実施例では、Aレジス
タ及びCレジスタはどちらも4ビットを有する。復号サ
イクルのための第4図の初期化ステップでは、Aレジス
タ及びCレジスタはどちらも0になるように初期化され
る。そして短縮データの最初の4ビットはCレジスタに
シフトされる。第15図のブロック700の最初のステップ
はデータ・ビットを計算するため最大確率記号(MPS)
がコード化されたか最小確率記号(LPS)がコード化さ
れたかを判定する。Cレジスタで減算が試行され、MPS
がコード化されたかLPSがコード化されたかを判定す
る。確率係数PFは統計Kから生成される。PFはAレジス
タ及びCレジスタで算術演算を実行するために使用され
る4ビット値である。確率係数PFは第9図のコード計算
プロセスの場合と同様に統計Kから変換される。
ロセスを示す。復号プロセスはコード化プロセスと同じ
タイプのAレジスタ及びCレジスタを使用する。Aレジ
スタは正規化レジスタでありコード化プロセスと同じよ
うに使用される。本発明の良好な実施例では、Aレジス
タ及びCレジスタはどちらも4ビットを有する。復号サ
イクルのための第4図の初期化ステップでは、Aレジス
タ及びCレジスタはどちらも0になるように初期化され
る。そして短縮データの最初の4ビットはCレジスタに
シフトされる。第15図のブロック700の最初のステップ
はデータ・ビットを計算するため最大確率記号(MPS)
がコード化されたか最小確率記号(LPS)がコード化さ
れたかを判定する。Cレジスタで減算が試行され、MPS
がコード化されたかLPSがコード化されたかを判定す
る。確率係数PFは統計Kから生成される。PFはAレジス
タ及びCレジスタで算術演算を実行するために使用され
る4ビット値である。確率係数PFは第9図のコード計算
プロセスの場合と同様に統計Kから変換される。
Cレジスタの内容からPFを引き、もしCレジスタに借り
が要求されれば、LPSがコード化されているに相違な
く、さもなければ、MPSがコード化されている。判定ブ
ロック700の結果がLPSなら、ブロック710でAレジスタ
は0にリセットされ、ブロック712でCレジスタがK回
左シフトされる。Cレジスタから出るビットは破棄さ
れ、Cレジスタに短縮されたデータが書込まれる。LPS
があることは判定されているから、コード化プロセスで
間違った推測がなされたに相違なく、ブロック714でDBI
TはMの値の逆数にセットされる。MPSが決定されている
場合は、コード化プロセスで正しい推測がなされている
に相違ないから、ブロック701で、DBITレジスタは値M
にセットされる。ブロック702でCレジスタの内容から
確率係数PFを引く。新しい4ビット差は再びCレジスタ
に記憶される。PFもAレジスタの内容から引き、新しい
差は再びAレジスタに記憶される。判定ブロック704
で、もし引算のプロセスでAレジスタに借りがあれば、
ブロック706及び708で、Aレジスタ及びCレジスタはど
ちらも1ビットずつ左シフトされる。Aレジスタは0を
書込み、Cレジスタは短縮されたデータのビットが書込
まれる。Cレジスタからシフトされたビットは破棄され
る。
が要求されれば、LPSがコード化されているに相違な
く、さもなければ、MPSがコード化されている。判定ブ
ロック700の結果がLPSなら、ブロック710でAレジスタ
は0にリセットされ、ブロック712でCレジスタがK回
左シフトされる。Cレジスタから出るビットは破棄さ
れ、Cレジスタに短縮されたデータが書込まれる。LPS
があることは判定されているから、コード化プロセスで
間違った推測がなされたに相違なく、ブロック714でDBI
TはMの値の逆数にセットされる。MPSが決定されている
場合は、コード化プロセスで正しい推測がなされている
に相違ないから、ブロック701で、DBITレジスタは値M
にセットされる。ブロック702でCレジスタの内容から
確率係数PFを引く。新しい4ビット差は再びCレジスタ
に記憶される。PFもAレジスタの内容から引き、新しい
差は再びAレジスタに記憶される。判定ブロック704
で、もし引算のプロセスでAレジスタに借りがあれば、
ブロック706及び708で、Aレジスタ及びCレジスタはど
ちらも1ビットずつ左シフトされる。Aレジスタは0を
書込み、Cレジスタは短縮されたデータのビットが書込
まれる。Cレジスタからシフトされたビットは破棄され
る。
短縮データをCレジスタにシフトするとき、桁上げを防
ぐための詰込みビットは除去されねばならない(第6図
のコード計算プロセス参照)。詰込みビットは、次のコ
ード・バイトの最上位4ビット−全0又は0001−があと
に続く全1バイトにより識別される。もし全1バイトに
続く4ビットが全0であれば、動作は行われず、4個の
0ビットが破棄されるだけである、即ちCレジスタへの
シフトは行われない。もし全1バイトに続く4ビットが
0001であれば、Cレジスタの内容は1増加され、再びC
レジスタに記憶される。この場合、4ビット0001も破棄
され、Cレジスタにはシフトされない。もし全1バイト
に続く4ビットが全0でもなく0001でもなければ、全1
バイト及び後続のバイトはコード・ストリームに挿入さ
れた特別の文字である。これらの特別の文字は、セット
の間を区切るか又はレコードの終りを識別する、セット
文字の終り又はレコード文字の終りである。コード・ス
トリームでセット文字又はレコード文字の終りが現われ
ると、全てのデータ・ビットが復号され且つCレジスタ
の内容が全0になる、即ちコード化プロセスの開始条件
になるまで復号プロセスは継続される。
ぐための詰込みビットは除去されねばならない(第6図
のコード計算プロセス参照)。詰込みビットは、次のコ
ード・バイトの最上位4ビット−全0又は0001−があと
に続く全1バイトにより識別される。もし全1バイトに
続く4ビットが全0であれば、動作は行われず、4個の
0ビットが破棄されるだけである、即ちCレジスタへの
シフトは行われない。もし全1バイトに続く4ビットが
0001であれば、Cレジスタの内容は1増加され、再びC
レジスタに記憶される。この場合、4ビット0001も破棄
され、Cレジスタにはシフトされない。もし全1バイト
に続く4ビットが全0でもなく0001でもなければ、全1
バイト及び後続のバイトはコード・ストリームに挿入さ
れた特別の文字である。これらの特別の文字は、セット
の間を区切るか又はレコードの終りを識別する、セット
文字の終り又はレコード文字の終りである。コード・ス
トリームでセット文字又はレコード文字の終りが現われ
ると、全てのデータ・ビットが復号され且つCレジスタ
の内容が全0になる、即ちコード化プロセスの開始条件
になるまで復号プロセスは継続される。
短縮解除即ち復号シーケンスのチャネル速度は最もタイ
ム・クリティカルである。トリーのI番目のレベルのデ
ータ・ビットは、次に最も高いトリー・レベルのビット
を復号するのに必要なトリー・アドレスを計算するため
に復号しなければならない。統計表アクセス時間が復号
サイクル時間に等しい、単なるオーバラップの場合、2
つの隣接する統計位置がI番目のレベルのデータ・ビッ
トの可能な結果毎に1つ取出される。下位のアドレス・
ビットが既知であるとき、前記下位のビットは制御信号
になり、所要の統計を選択し短縮装置に送付する。同時
に、統計適応プロセスは該統計を操作し適切なデータ・
レジスタでそれを置換える。そしてデータ・レジスタは
統計表に再書込みされる。2つの独立したデータ・レジ
スタ・メモリ装置の要求は2重ポート・メモリの使用に
より解決することができる。2重ポート・メモリは2つ
の異なるメモリ・アドレスに対し読取り書込みを同時に
行う。1つのトリー・レベルで読取りもう1つのトリー
・レベルで書込むとき、レベルのアドレスは異なること
が保証される。それゆえ、統計表は読取り中は決して更
新されない。
ム・クリティカルである。トリーのI番目のレベルのデ
ータ・ビットは、次に最も高いトリー・レベルのビット
を復号するのに必要なトリー・アドレスを計算するため
に復号しなければならない。統計表アクセス時間が復号
サイクル時間に等しい、単なるオーバラップの場合、2
つの隣接する統計位置がI番目のレベルのデータ・ビッ
トの可能な結果毎に1つ取出される。下位のアドレス・
ビットが既知であるとき、前記下位のビットは制御信号
になり、所要の統計を選択し短縮装置に送付する。同時
に、統計適応プロセスは該統計を操作し適切なデータ・
レジスタでそれを置換える。そしてデータ・レジスタは
統計表に再書込みされる。2つの独立したデータ・レジ
スタ・メモリ装置の要求は2重ポート・メモリの使用に
より解決することができる。2重ポート・メモリは2つ
の異なるメモリ・アドレスに対し読取り書込みを同時に
行う。1つのトリー・レベルで読取りもう1つのトリー
・レベルで書込むとき、レベルのアドレスは異なること
が保証される。それゆえ、統計表は読取り中は決して更
新されない。
本発明による短縮装置で使用されるプロセスの流れの更
に詳細な説明は特公昭62−28895号公報、米国特許第446
3342号及び特公昭63−6172号公報を参照されたい。本発
明による短縮装置はこれらの3特許の改良である。主た
る改良点として、2つの統計表が符号器及び複号器の各
々に包含され、統計表の2重化は共有のハードウェア、
即ち1つの符号器又は復号器の使用を可能にするととも
に、システムに互換性のあるフォーマットを2倍のスル
ープット・データ速度で可能にする。ハードウェアの数
が少なければ少ないほど費用は安くなる。
に詳細な説明は特公昭62−28895号公報、米国特許第446
3342号及び特公昭63−6172号公報を参照されたい。本発
明による短縮装置はこれらの3特許の改良である。主た
る改良点として、2つの統計表が符号器及び複号器の各
々に包含され、統計表の2重化は共有のハードウェア、
即ち1つの符号器又は復号器の使用を可能にするととも
に、システムに互換性のあるフォーマットを2倍のスル
ープット・データ速度で可能にする。ハードウェアの数
が少なければ少ないほど費用は安くなる。
第4図のコード化プロセスはたぶん前述の米国特許第44
67317号明細書により最もよく理解される。該特許で使
用されているように、第1のレジスタはレジスタCであ
り、第2のレジスタはレジスタAである。良好な実施例
では、レジスタA及びCの各々は4ビットを有し、各々
がシフト・レジスタとして作用するようにプログラムさ
れている。レジスタCは、コード化サイクルでは圧縮さ
れたデータを含むが、複号サイクルでは圧縮されないデ
ータを含む。
67317号明細書により最もよく理解される。該特許で使
用されているように、第1のレジスタはレジスタCであ
り、第2のレジスタはレジスタAである。良好な実施例
では、レジスタA及びCの各々は4ビットを有し、各々
がシフト・レジスタとして作用するようにプログラムさ
れている。レジスタCは、コード化サイクルでは圧縮さ
れたデータを含むが、複号サイクルでは圧縮されないデ
ータを含む。
第15図において、ブロック700で最大確率記号(MPS)が
示され、ブロック702で圧縮中に計算された合計からの
差をとり、圧縮されないデータを生成する外は、復号プ
ロセスはコード化プロセスにきわめて類似している。A
レジスタ制御はコード化サイクルの場合と同じである。
Aレジスタで借りの発生は正規化を生じるが、借りの不
足は制御動作を起こさせない。復号中、判定ブロック70
0からLPSが決定されると、Aレジスタはブロックでリセ
ットされ、CレジスタはKビット左シフトされ、0より
もむしろ復号される圧縮データが書込まれる。
示され、ブロック702で圧縮中に計算された合計からの
差をとり、圧縮されないデータを生成する外は、復号プ
ロセスはコード化プロセスにきわめて類似している。A
レジスタ制御はコード化サイクルの場合と同じである。
Aレジスタで借りの発生は正規化を生じるが、借りの不
足は制御動作を起こさせない。復号中、判定ブロック70
0からLPSが決定されると、Aレジスタはブロックでリセ
ットされ、CレジスタはKビット左シフトされ、0より
もむしろ復号される圧縮データが書込まれる。
F.発明の効果 本発明によれば、既知の最大時間内にデータをコード化
し復号することができるデータ短縮システムが提供され
る。
し復号することができるデータ短縮システムが提供され
る。
本発明によれば、全システムについて同じフォーマット
を保持しつつ更に高速のデータ速度を取得できるデータ
短縮システムが提供される。
を保持しつつ更に高速のデータ速度を取得できるデータ
短縮システムが提供される。
更に本発明によれば、異なるスループット速度を用いる
短縮プロセスでフォーマット互換性を維持される高機能
の2進算術コード化プロセスが提供される。
短縮プロセスでフォーマット互換性を維持される高機能
の2進算術コード化プロセスが提供される。
更に本発明によれば、コード化及び復号プロセスの上方
及び下方フォーマット互換性を可能にする改良された短
縮方式が提供される。
及び下方フォーマット互換性を可能にする改良された短
縮方式が提供される。
更に本発明によれば、増大したスループット速度及び標
準的なスループット速度のどちらでコード化された媒体
も復号できる上方及び下方フォーマット互換性を提供す
ると同時に今日のレコード処理システムが要求するより
高い速度でデータを圧縮し処理するためにデータに固有
のスループット速度に適応できる短縮プロセッサが提供
される。
準的なスループット速度のどちらでコード化された媒体
も復号できる上方及び下方フォーマット互換性を提供す
ると同時に今日のレコード処理システムが要求するより
高い速度でデータを圧縮し処理するためにデータに固有
のスループット速度に適応できる短縮プロセッサが提供
される。
最後に本発明によれば、並列短縮装置の付加により増大
したスループット速度を持つ短縮システムに予測可能ス
ループット速度及びフォーマット互換性を提供すると同
時に複数の並列短縮システムを利用し且つデータ・スト
リームに適応可能な圧縮方式が提供される。
したスループット速度を持つ短縮システムに予測可能ス
ループット速度及びフォーマット互換性を提供すると同
時に複数の並列短縮システムを利用し且つデータ・スト
リームに適応可能な圧縮方式が提供される。
第1図は本発明に従って複数の並列接続された短縮プロ
セッサを有する周辺サブシステムの概要ブロック図であ
る。 第2図は第1図の2つの短縮プロセッサの相互接続の概
要図である。 第3図は第1図に示す1つの短縮プロセッサの詳細なブ
ロック図である。 第4図乃至第8図は第3図の符号器により実行される異
なる手順の流れ図である。 第9図は第3図に示す符号器の出力として確率の合計を
生成するコード化プロセスの流れ図である。 第10図は第3図の統計表に基づいた確率計算の流れ図で
ある。 第11図乃至第15図は第3図の符号器の処理の流れ図であ
る。 12……チャネル・アダプタ、16……短縮装置、17……短
縮プロセッサ、20……Aバス、25、29……デマルチプレ
クサ/マルチプレクサ、36……符号器、38……復号器、
113……統計表、114……符号器、115……統計表、123…
…統計表、124……復号器、125……統計表、132……事
象カウンタ、134……インタフェース制御部、136……記
憶装置、138……事象カウンタ、140……記憶装置、142
……インタフェース制御部、144……速度整合バッフ
ァ。
セッサを有する周辺サブシステムの概要ブロック図であ
る。 第2図は第1図の2つの短縮プロセッサの相互接続の概
要図である。 第3図は第1図に示す1つの短縮プロセッサの詳細なブ
ロック図である。 第4図乃至第8図は第3図の符号器により実行される異
なる手順の流れ図である。 第9図は第3図に示す符号器の出力として確率の合計を
生成するコード化プロセスの流れ図である。 第10図は第3図の統計表に基づいた確率計算の流れ図で
ある。 第11図乃至第15図は第3図の符号器の処理の流れ図であ
る。 12……チャネル・アダプタ、16……短縮装置、17……短
縮プロセッサ、20……Aバス、25、29……デマルチプレ
クサ/マルチプレクサ、36……符号器、38……復号器、
113……統計表、114……符号器、115……統計表、123…
…統計表、124……復号器、125……統計表、132……事
象カウンタ、134……インタフェース制御部、136……記
憶装置、138……事象カウンタ、140……記憶装置、142
……インタフェース制御部、144……速度整合バッフ
ァ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リチヤード・アンソニー・リバーガー アメリカ合衆国アリゾナ州ツーソン、ノー ス・オカード・プレイス3382番地 (56)参考文献 特開 平1−119119(JP,A) 特開 昭62−191914(JP,A) 特公 昭63−6172(JP,B2) 特公 昭62−28895(JP,B2)
Claims (1)
- 【請求項1】包含する圧縮プロセッサの数がNであり、
各圧縮プロセッサは1つの符号器と1つの複号器を有
し、前記符号器と複号器の各々が保有する統計表の数は
1より大なるMである算術2進圧縮システムにおいて、
n≦Nかつm≦Mとして、n個の圧縮プロセッサの各々
はm個の統計表を使用してコード化するために等しいサ
イズのデータ・セットを処理する、算術2進圧縮システ
ムであって、 q=コード化されるデータ・セットの数 i=データ・セット番号 j=iモジューロn k=(i/n)モジューロm ただし(i/n)はi/nの整数部分、 nとmとの積は一定 であるものとして、 順次のデータ・セットiを圧縮プロセッサjに供給する
よう該圧縮プロセッサjによるデータ・セットiの受領
に応答して次のデータ・セツトi+1を次の圧縮プロセ
ッサに供給するための各圧縮プロセッサに備えられた手
段と、 データ・セットiを処理する圧縮プロセッサjに統計表
kを使用させるため各圧縮プロセッサの符号器または複
号器に統計表を関連させるための手段と、 前記符号器または複号器が1つのデータ・セットを処理
するときの統計集計プロセスを表すステートメントを前
記符号器または複号器記憶に関連された統計表に記憶
し、かつ該符号器または複号器が後続のデータ・セット
を処理するにときに該データ・セットの統計を記憶する
ように前記符号器または複号器記憶に関連された統計表
を更新する手段と、 を含み、 これによりnの値に拘わらず各圧縮プロセッサの1複号
器に関連した1統計表が1符号器に関連した1統計表の
統計集計プロセスを通じて圧縮された1データ・セット
の複号に関する統計を記憶するようにしたことを特徴と
するデータ圧縮システム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US44168189A | 1989-11-22 | 1989-11-22 | |
| US441681 | 1989-11-22 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03186923A JPH03186923A (ja) | 1991-08-14 |
| JPH0774985B2 true JPH0774985B2 (ja) | 1995-08-09 |
Family
ID=23753862
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2299985A Expired - Fee Related JPH0774985B2 (ja) | 1989-11-22 | 1990-11-07 | データ圧縮システム |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP0429306B1 (ja) |
| JP (1) | JPH0774985B2 (ja) |
| DE (1) | DE69028601T2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
| CN108134805B (zh) * | 2014-08-08 | 2021-04-30 | 安科讯(福建)科技有限公司 | 一种数据同步压缩还原算法及装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6228895A (ja) * | 1985-07-31 | 1987-02-06 | 東芝テック株式会社 | 電子キヤツシユレジスタ |
| JPS62191914A (ja) * | 1986-02-18 | 1987-08-22 | Fuji Facom Corp | デ−タ蓄積装置 |
| JPS636172A (ja) * | 1986-06-26 | 1988-01-12 | 三菱レイヨン株式会社 | 樹脂補強用繊維 |
| JPH01119119A (ja) * | 1987-11-02 | 1989-05-11 | Oki Electric Ind Co Ltd | イメージデータの帯域圧縮装置 |
-
1990
- 1990-11-07 JP JP2299985A patent/JPH0774985B2/ja not_active Expired - Fee Related
- 1990-11-21 DE DE1990628601 patent/DE69028601T2/de not_active Expired - Lifetime
- 1990-11-21 EP EP19900312698 patent/EP0429306B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0429306A2 (en) | 1991-05-29 |
| DE69028601D1 (de) | 1996-10-24 |
| DE69028601T2 (de) | 1997-03-13 |
| EP0429306A3 (en) | 1992-09-23 |
| JPH03186923A (ja) | 1991-08-14 |
| EP0429306B1 (en) | 1996-09-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5109226A (en) | Parallel processors sequentially encoding/decoding compaction maintaining format compatibility | |
| US5608396A (en) | Efficient Ziv-Lempel LZI data compression system using variable code fields | |
| US5175543A (en) | Dictionary reset performance enhancement for data compression applications | |
| JP2915568B2 (ja) | テープドライブシステムのための適応データ圧縮装置 | |
| US5410671A (en) | Data compression/decompression processor | |
| EP0313191B1 (en) | Data compression system with expansion protection | |
| US6601104B1 (en) | System and methods for accelerated data storage and retrieval | |
| JP3025301B2 (ja) | データ予備圧縮装置及びデータ予備圧縮システム及びデータ圧縮比改善方法 | |
| US7965207B2 (en) | Variable length integer encoding system and method | |
| US8407378B2 (en) | High-speed inline data compression inline with an eight byte data path | |
| JP3141001B2 (ja) | 符号化方法及びデータ圧縮器、並びにコンピュータ・プログラムを記録した記録媒体 | |
| EP0443255A2 (en) | Method and apparatus for carrying-over control in arithmetic entropy coding | |
| JPH0568893B2 (ja) | ||
| US5640158A (en) | Reversible method of encoding data | |
| US5874908A (en) | Method and apparatus for encoding Lempel-Ziv 1 variants | |
| KR100536980B1 (ko) | 데이터 압축 방법, 데이터 압축해제 방법 및 데이터 압축 장치 | |
| JPH0879092A (ja) | データを圧縮及び圧縮解除するための方法及び装置 | |
| JP2007037115A (ja) | デジタルデータを符号化する方法、データセグメントのストリームを符号化する方法、エンコーダ、データのソースを符号化するためのパラレルエンコーダ、符号化データのソースを復号するためのパラレルデコーダ、コード化データを復号する方法、磁気テープドライブ、およびデータのストリームを符号化する方法 | |
| JP3611319B2 (ja) | データの圧縮に必要な時間を短縮するための方法および装置 | |
| JPH0774985B2 (ja) | データ圧縮システム | |
| KR19980081236A (ko) | 데이터 압축/복원 방법 및 압축 장치 | |
| US6615310B1 (en) | Lossless data compressor with all CAM words available | |
| US5745603A (en) | Two dimensional context model obtained without a line buffer for arithmetic coding | |
| JPH02218224A (ja) | データ転送方法 | |
| HK1012135B (en) | Dictionary reset performance enhancement for data compression applications |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080809 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080809 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090809 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090809 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100809 Year of fee payment: 15 |
|
| LAPS | Cancellation because of no payment of annual fees |