JPS60154776A - コード化及び解号方式 - Google Patents
コード化及び解号方式Info
- Publication number
- JPS60154776A JPS60154776A JP26315884A JP26315884A JPS60154776A JP S60154776 A JPS60154776 A JP S60154776A JP 26315884 A JP26315884 A JP 26315884A JP 26315884 A JP26315884 A JP 26315884A JP S60154776 A JPS60154776 A JP S60154776A
- Authority
- JP
- Japan
- Prior art keywords
- line
- run
- code
- bits
- data
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
- H04N1/417—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
- H04N1/4175—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding involving the encoding of tone transitions with respect to tone transitions in a reference line
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
次の順序で本発明を説明する。
(ア) [産業上の利用分野]
(イ) [開示の概要]
(つ) [従来技術]
(1) [発明が解決しようとする問題点コ(オ) [
問題点を解決するための手段] (第1図、第3図) (力) [作用] (キ) [実施例] (キー1) コード化(第2.1図〜第2.5図)(キ
ー2) 毎号(デコード)(第4.1図〜第4.6図)
(り) [発明の効果] (ア) [産業上の利用分野コ 本発明は例えばファクシミリ等のように、文字像や画像
を走査して得たデータを伝送する際に用いるコード化及
び毎号(復号)方式に関する。
問題点を解決するための手段] (第1図、第3図) (力) [作用] (キ) [実施例] (キー1) コード化(第2.1図〜第2.5図)(キ
ー2) 毎号(デコード)(第4.1図〜第4.6図)
(り) [発明の効果] (ア) [産業上の利用分野コ 本発明は例えばファクシミリ等のように、文字像や画像
を走査して得たデータを伝送する際に用いるコード化及
び毎号(復号)方式に関する。
(イ) [開示の概要コ
修正READ方式によるファクシミリ・ビット信号の処
理に例にとり、データ処理のフローを説明する。ラン長
さコードの処理にテーブルを用いる。データのラインは
タテ関連コードとラン長さコードを用いてコード化され
る。
理に例にとり、データ処理のフローを説明する。ラン長
さコードの処理にテーブルを用いる。データのラインは
タテ関連コードとラン長さコードを用いてコード化され
る。
(つ) [従来技術]
CCI TT プロシーディンゲス オブ アイイーイ
ーイー、68巻7号、1980−7,854〜867頁
、R,ハンター他の論文。
ーイー、68巻7号、1980−7,854〜867頁
、R,ハンター他の論文。
プロシーディンゲス オブ アイアールイー、40巻、
1952−9.1097〜1101頁のり、ハフマンの
論文。
1952−9.1097〜1101頁のり、ハフマンの
論文。
米国特許、3883847号、4044347号、38
33900号。
33900号。
ハフマンは、最少の冗長度の可変長コードを作る方法を
示している。コード・ワードの長さは元のワードの出現
頻度に依り、頻出するワードは短かいコード・ワードに
なる。これはディジタル・イメージ処理に有用だが、パ
ターンがランダムな可変長コードについては欠点があり
、デコード(毎号)を複雑化する。
示している。コード・ワードの長さは元のワードの出現
頻度に依り、頻出するワードは短かいコード・ワードに
なる。これはディジタル・イメージ処理に有用だが、パ
ターンがランダムな可変長コードについては欠点があり
、デコード(毎号)を複雑化する。
国際電信電話諮問委員会(CCITT)は、標準の1次
元データ圧縮力式(改良ハフマン方式)及び黒白ファク
シミリ像用の2次元データ圧縮力式(修正READ方式
)を持っている。ホスト電算機に付けられたファクシミ
リを圧縮された像をホストに送ることができ、又ホスト
は像データの圧縮を高速で行なうことが望ましい。又像
の一部を抽出して、パディング等の処理をして再組立後
、ホストに送ったり、コード化してファクシミリに送っ
たりする必要がある。
元データ圧縮力式(改良ハフマン方式)及び黒白ファク
シミリ像用の2次元データ圧縮力式(修正READ方式
)を持っている。ホスト電算機に付けられたファクシミ
リを圧縮された像をホストに送ることができ、又ホスト
は像データの圧縮を高速で行なうことが望ましい。又像
の一部を抽出して、パディング等の処理をして再組立後
、ホストに送ったり、コード化してファクシミリに送っ
たりする必要がある。
高品質のディジタル・ファクシミリでは像のデータ圧縮
が必要である。標準的なファクシミリ文書はタテ方向に
3.85走査ライン/mのラインを持つ。又、細かい像
に対しては7.7本/Im+のラインも使える。標準の
ヨコ(水平)方向解像度は8.04画素/mu (21
5mnについて1728画素)に固定されており、斜線
で大きな段が出ないようになっている・ 215m+nX280画の一部の原稿からの像データを
貯えるのに約25万バイトが要る。分解能を高くすると
、約50万バイトにもなる。CCITT1次元方式等の
ラン長さコードは代表的な場合で、約5から15の係数
で、必要なメモリの容量を減らす。2次元方式は、相続
く走査ラインの間での関連をしらべて、更に良い圧縮を
しようとする。
が必要である。標準的なファクシミリ文書はタテ方向に
3.85走査ライン/mのラインを持つ。又、細かい像
に対しては7.7本/Im+のラインも使える。標準の
ヨコ(水平)方向解像度は8.04画素/mu (21
5mnについて1728画素)に固定されており、斜線
で大きな段が出ないようになっている・ 215m+nX280画の一部の原稿からの像データを
貯えるのに約25万バイトが要る。分解能を高くすると
、約50万バイトにもなる。CCITT1次元方式等の
ラン長さコードは代表的な場合で、約5から15の係数
で、必要なメモリの容量を減らす。2次元方式は、相続
く走査ラインの間での関連をしらべて、更に良い圧縮を
しようとする。
固定したコードは、統計平均が全書類に適用できること
を想定している。しかし平均値に合わない文書もある。
を想定している。しかし平均値に合わない文書もある。
想定が全然使えない時は、圧縮された像区域は逆に圧縮
しない像より更に多くのビットを要する。選択的に非圧
縮モードにするとこのケースを防げる。
しない像より更に多くのビットを要する。選択的に非圧
縮モードにするとこのケースを防げる。
一般に、ベル(画素)の白と黒はランダムに分布しては
いなく、互いに高い相関性を持っている。
いなく、互いに高い相関性を持っている。
成るスキャン・ライン上で1つの色(白とか黒とか)の
ベルは列(ランとも呼ぶ)をなしている。
ベルは列(ランとも呼ぶ)をなしている。
ラン長さコードはこれを利用し、各ベルの色でなく、成
る色の続く数をコードで示す。ラン長さは色毎に変る。
る色の続く数をコードで示す。ラン長さは色毎に変る。
最初の色は大低白だからこの色を示す特定のコードはな
くてもよい。長さゼロで黒が最初から来ることを示して
もよい。
くてもよい。長さゼロで黒が最初から来ることを示して
もよい。
CCI TT 1次元標準修正ハフマン・コードはラン
長さコード方式であって、白と黒のランが別々のテーブ
ルを持っている。63以上のランはコード・テーブルの
寸法を1桁小さくするため2部分にわけてコード化され
る。64の倍数が先ず「メイクアップ」コードとしてコ
ード化され、次に残りが終了コードにされる。短かいラ
ン(0〜63)は終了コードだけになる。
長さコード方式であって、白と黒のランが別々のテーブ
ルを持っている。63以上のランはコード・テーブルの
寸法を1桁小さくするため2部分にわけてコード化され
る。64の倍数が先ず「メイクアップ」コードとしてコ
ード化され、次に残りが終了コードにされる。短かいラ
ン(0〜63)は終了コードだけになる。
伝送エラーのあとの再同期のためにライン終り(EOL
)コードが標準に入っている。これはゼロ11個のあと
の1個の1という形である。
)コードが標準に入っている。これはゼロ11個のあと
の1個の1という形である。
ラン長さコードは水平方向における冗長度に関するもの
だが、普通の像ではタテ方向にも強い相関性がみられる
。垂直方向の関連コードは、歴史ライン(前のスキャン
・ライン)でのラン長さと同じ色変化からの距離として
コート化する。
だが、普通の像ではタテ方向にも強い相関性がみられる
。垂直方向の関連コードは、歴史ライン(前のスキャン
・ライン)でのラン長さと同じ色変化からの距離として
コート化する。
タテ方向では、ライン全体の約半分が同しであり、約2
5%が1ペル位の距離変化しか含んでいない。
5%が1ペル位の距離変化しか含んでいない。
CCITT2次元修正関連素子アドレス指定(修正RE
AD)コード方式はタテ方向関連コードとして+3又は
−8迄を用いる。成るランがタテ関連コードで終ってい
なければヨコ・モード(HM)コードが2つのラン長さ
コードに先行する。1対のランを1つの前置コードでコ
ード化するのは、ラン長さコードのあとに又ラン長さコ
ードが来る率が高いことを利用している。
AD)コード方式はタテ方向関連コードとして+3又は
−8迄を用いる。成るランがタテ関連コードで終ってい
なければヨコ・モード(HM)コードが2つのラン長さ
コードに先行する。1対のランを1つの前置コードでコ
ード化するのは、ラン長さコードのあとに又ラン長さコ
ードが来る率が高いことを利用している。
像が前のラインで終ることがある。パス(PASS)モ
ードは前のライン(参照ライン、歴史ラインともいう)
のラン信号値を下記のようにスキップする。
ードは前のライン(参照ライン、歴史ラインともいう)
のラン信号値を下記のようにスキップする。
歴史ライン111000110000011今ノライン
101000000000011パス・モードのコード
はそれに続くタテ関連コードが通常のように歴史ライン
の2番目でなく3番目の黒(1)のランに参照すること
を示す。
101000000000011パス・モードのコード
はそれに続くタテ関連コードが通常のように歴史ライン
の2番目でなく3番目の黒(1)のランに参照すること
を示す。
これは、若し最初のタテ関連変化の右(ランの終りの前
)に他の変化が見つかった場合に用いられる。この変化
の所で新しいランがスター1〜する。
)に他の変化が見つかった場合に用いられる。この変化
の所で新しいランがスター1〜する。
PASSモードは1本のランの中で何回もコード化でき
る。
る。
変化のエラーの波及を制限するため、少なくともにライ
ン毎に1木が1次元コード化される。Kは通常2で、高
解像度の場合4になる。
ン毎に1木が1次元コード化される。Kは通常2で、高
解像度の場合4になる。
修正READコード・テーブルを下記に示す。
修正READコード・テーブル。
RL前置コード 001
PASS 0001
VOI
VLI 010
VRI 011
VL2 000010
VR2000011
VL3 0000010
VL3 0000011
EOL 0OOOOOOOOOOIT
拡張
2次元 0000001xxx
1次元 000000001. x x xEOLのT
はタグ・ビットで1次のラインのコード化が1次元(T
=)か2次元(T=0)力1を示している。
はタグ・ビットで1次のラインのコード化が1次元(T
=)か2次元(T=0)力1を示している。
拡張部分は非圧縮モードとして識別される。このモード
ではXXXビットは’111’である。
ではXXXビットは’111’である。
このモードはハーフトーンの走査時や1ペル、2ペルの
ランが多い像で圧縮の改善をする。
ランが多い像で圧縮の改善をする。
非圧縮モード・コード・テーブル。
像パターン コード・ワード
1
01 、 0f
001 001
0001 0001
00001 00001
00000 000001
脱出
0000001T
0 00000001T
00 000000001T
000 000000000 、I Toooo 00
000000001T 脱出コードは5通常のコードに戻る時の信号である。T
はタグ・ビットであり、次のランの色(黒=1、白=O
)を示す。
000000001T 脱出コードは5通常のコードに戻る時の信号である。T
はタグ・ビットであり、次のランの色(黒=1、白=O
)を示す。
(1)[発明が解決しようとする問題点〕従来のファク
シミリ等におけるコード化、解帯に用いられていたデコ
ード・テーブルはメモリ内で大きな寸法をとり、それに
もかかわらず解帯の速さが遅かった。その原因はコート
化及び解帯時のデータ処理が能率的でなかったからであ
る。
シミリ等におけるコード化、解帯に用いられていたデコ
ード・テーブルはメモリ内で大きな寸法をとり、それに
もかかわらず解帯の速さが遅かった。その原因はコート
化及び解帯時のデータ処理が能率的でなかったからであ
る。
(オ)[問題点を解決するための手段]本発明は、ファ
クシミリ等に用いるような、互いにビット値の関連性あ
るデータ・ラインの間でのビット値の関連性を検査して
コート化し伝送し復元する際に、効率的なデータ判定及
び処理ステップを用いて、更に又、コード・テーブルを
適当な寸法に作製し、利用することによりメモリ占有寸
法を過大にせず、信号処理速度を向上させたものである
。
クシミリ等に用いるような、互いにビット値の関連性あ
るデータ・ラインの間でのビット値の関連性を検査して
コート化し伝送し復元する際に、効率的なデータ判定及
び処理ステップを用いて、更に又、コード・テーブルを
適当な寸法に作製し、利用することによりメモリ占有寸
法を過大にせず、信号処理速度を向上させたものである
。
(力)[作用コ
使用されるバッファやレジスタの数が最小限で済み、メ
モリ占有量が比較的小さく、又データ処理ステップ数も
少なくて済む。
モリ占有量が比較的小さく、又データ処理ステップ数も
少なくて済む。
(キ)[実施例]
本発明のコード方式は、修正READ及び修正ハフマン
CCITT標準コード、並びに各ラインの終りにEOL
コードを要しない上記コードの変形のコード化と解帯を
することができる。
CCITT標準コード、並びに各ラインの終りにEOL
コードを要しない上記コードの変形のコード化と解帯を
することができる。
先ず、ディジタル像を本発明によりコード化することを
説明する。コード化処理は2段階で働らく。第1段で、
入力値が入力バッファから色変化位置(変化、ランの終
り)を含むバッファに移される。各エンド・ポイント・
バッファの中の第1の半ワードは用いられるバイトの数
を含む。次の2つの半ワードはゼロにセットされる。ラ
ンの終り(エンド)が、その後の半ワードに貯えられ。
説明する。コード化処理は2段階で働らく。第1段で、
入力値が入力バッファから色変化位置(変化、ランの終
り)を含むバッファに移される。各エンド・ポイント・
バッファの中の第1の半ワードは用いられるバイトの数
を含む。次の2つの半ワードはゼロにセットされる。ラ
ンの終り(エンド)が、その後の半ワードに貯えられ。
これは白のラン・エンドで始まる(そのラインの最初の
ランが黒なら、これはゼロになる)。最後のラン・エン
ド(即ち、ライン長さ)は少なくとも2つの余分を複製
される。隣接する半ワードの間の相違が黒と白のランの
ラン長さくRL)である。
ランが黒なら、これはゼロになる)。最後のラン・エン
ド(即ち、ライン長さ)は少なくとも2つの余分を複製
される。隣接する半ワードの間の相違が黒と白のランの
ラン長さくRL)である。
コード化の第2段は、各ランがタテ関連コードであるか
RLコードであるかを符号化する。タテ関連コードはイ
ンライン・コードと共に発生される。RLコード・ワー
ドはテーブルを引くのに使わオする。
RLコードであるかを符号化する。タテ関連コードはイ
ンライン・コードと共に発生される。RLコード・ワー
ドはテーブルを引くのに使わオする。
RLコード・テーブルは下記の如く作られている。
コード・ワードの下位8ビツトがバイト・テーブル中に
右を揃えて貯えられる若し8ビット以上が有効値である
なら下位8ビツトのみがゼロでない)。有効なビットの
数は、コード・ビットからの固定オフセットを伴って、
他のハイドに貯えられている。コード化処理時、圧縮さ
れたデータは32ビツト・レジスタに集められる。この
レジスタに16ビツト以上有効なビットがあればその時
に、上位16ビツトが圧縮バッファに出力される。
右を揃えて貯えられる若し8ビット以上が有効値である
なら下位8ビツトのみがゼロでない)。有効なビットの
数は、コード・ビットからの固定オフセットを伴って、
他のハイドに貯えられている。コード化処理時、圧縮さ
れたデータは32ビツト・レジスタに集められる。この
レジスタに16ビツト以上有効なビットがあればその時
に、上位16ビツトが圧縮バッファに出力される。
13ビツトより長いコード・ワードはないので、この方
法で常に次のコード・ワードの入る空室ができるよう確
保できる。コード・ワードを圧縮されたデータに加える
には、今の圧縮されたデータを有効ビットの数を(右端
ビットにゼロを入れつつ)左にシフトする。次にコード
・ワードの右を揃えたビットがレジスタに加算乃至はオ
アされる(コード・ワードは非ゼロ・ビットのみ有し、
ゼロは前のシフトで入っていた)。
法で常に次のコード・ワードの入る空室ができるよう確
保できる。コード・ワードを圧縮されたデータに加える
には、今の圧縮されたデータを有効ビットの数を(右端
ビットにゼロを入れつつ)左にシフトする。次にコード
・ワードの右を揃えたビットがレジスタに加算乃至はオ
アされる(コード・ワードは非ゼロ・ビットのみ有し、
ゼロは前のシフトで入っていた)。
各ラインをコード化した後、エンド・ポイント・バッフ
ァは1次のラインに対する歴史(前の)ラインとするた
めとっておかれる。符号化処理を始動したプログラムは
、データを2つのバッファの間でやりとりしたり、既に
メモリ内にあるラン・エンド・バッファの序列のコード
化を行なわせることもできる。どちらの場合も、前の符
号化されたデータは、2次元コード化演算のため残して
おく必要がある。
ァは1次のラインに対する歴史(前の)ラインとするた
めとっておかれる。符号化処理を始動したプログラムは
、データを2つのバッファの間でやりとりしたり、既に
メモリ内にあるラン・エンド・バッファの序列のコード
化を行なわせることもできる。どちらの場合も、前の符
号化されたデータは、2次元コード化演算のため残して
おく必要がある。
本発明で用いる変数や略語の説明をする。
FLAGID・・・これが1ならそのラインは1次元で
コード化7M号する意味のフラグ。0なら2次元。
コード化7M号する意味のフラグ。0なら2次元。
MH・・・修正ハフマン・コード化/毎号を示すフラグ
(1)。修正ハフマン・コードではE○Lコードのあと
でタグ・ビットは予定されない。
(1)。修正ハフマン・コードではE○Lコードのあと
でタグ・ビットは予定されない。
RP・・・ラン・エンド・ポイントのバッファへのポイ
ンタ。処理中の(半ワード)ラン・エンドを示す。ラン
・エンドは最初がROで、後続するものはR2、R4、
R6とよばれる。
ンタ。処理中の(半ワード)ラン・エンドを示す。ラン
・エンドは最初がROで、後続するものはR2、R4、
R6とよばれる。
RI) S T・・・今のラン・エンド・ポインタのバ
ッファのアドレス。このアドレスは、次のラン・エンド
・ポイントのバッファを指示するようにセットされる前
に1次のラインの2次元処理のための歴史バッファのア
ドレスとして残される。
ッファのアドレス。このアドレスは、次のラン・エンド
・ポイントのバッファを指示するようにセットされる前
に1次のラインの2次元処理のための歴史バッファのア
ドレスとして残される。
HP・・・歴史ラインについてのラン・エンド。
ポイントのバッファへのポイントタ。HPは、今コード
化しているラン・エンドに関する歴史ポインとして用い
られる(半ワード)ラン・エンドを示す。歴史ラン・エ
ンドはHOと示され、これにつづくものはHPと呼ばれ
る。
化しているラン・エンドに関する歴史ポインとして用い
られる(半ワード)ラン・エンドを示す。歴史ラン・エ
ンドはHOと示され、これにつづくものはHPと呼ばれ
る。
HP S T・・・コード処理中のラインに先行するラ
インに関するラン・エンド・ポイントのノベツファのア
ドレス。この歴史バッファは2次元処理にのみ用いられ
、各ラインの終った後HPSTにはRPSTが残される
。
インに関するラン・エンド・ポイントのノベツファのア
ドレス。この歴史バッファは2次元処理にのみ用いられ
、各ラインの終った後HPSTにはRPSTが残される
。
RL・・・ラン長さ、寸法値。
ROLD・・・コード処理済のラインの位置。
殆んどの時、前のランの位置を含んである。
DIF・・・歴史ラインの(HO)端と今のライン(R
O)の端との間のベルの数。
O)の端との間のベルの数。
TP・・・テーブル・ポインタ。RLのコード化時、正
しいR,Lテーブルの上端を指示する。解帯時は、その
時のテーブル入力値を示す。
しいR,Lテーブルの上端を指示する。解帯時は、その
時のテーブル入力値を示す。
NXTTP・・・次のテーブル・ポインタで。
反対の色のRL子テーブルスタート点を貯えている。
TO・・・TPで示されたバイト値。
0FFSET・・・TPで示されたRL子テーブル始点
と反対色のRL子テーブル始点との間の相対距離。この
値はTPに基いて、RL子テーブル沿って貯えられる。
と反対色のRL子テーブル始点との間の相対距離。この
値はTPに基いて、RL子テーブル沿って貯えられる。
若し白のRL子テーブル最初にメモリにあれば、TPが
白のテーブルを示した時0FFSETが正で、黒のテー
ブルなら負である。
白のテーブルを示した時0FFSETが正で、黒のテー
ブルなら負である。
HICODE・・・64の倍数のRLのコード・テーブ
ル。各コード・ワードの低位8ビツトが貯えられる(他
の先行するビットは、若しあれ(よ、ゼロである)。コ
ード・ワードのビットの数ttコード・ワードからの固
定オフセットに貯えら1+、る。
ル。各コード・ワードの低位8ビツトが貯えられる(他
の先行するビットは、若しあれ(よ、ゼロである)。コ
ード・ワードのビットの数ttコード・ワードからの固
定オフセットに貯えら1+、る。
このテーブルはTPによりアドレスされ、黒と白で別の
テーブルがある。
テーブルがある。
L OCOD E・・・RLがO〜63のコード・テー
ブル。各コード・ワードの低位8ビツトカ1貯えられ、
これに先行するビットが若しあれifゼロであり、各コ
ート・ワードのビット数がそのコード・ワードの固定オ
フセットに入れられる。TPによりアドレスされる。テ
ーブルは白のRLと黒のRLで別にある。
ブル。各コード・ワードの低位8ビツトカ1貯えられ、
これに先行するビットが若しあれifゼロであり、各コ
ート・ワードのビット数がそのコード・ワードの固定オ
フセットに入れられる。TPによりアドレスされる。テ
ーブルは白のRLと黒のRLで別にある。
BITIM・・・次の入力されるラインが、RPSTに
より指示されてるノ(ツファに変化位置(ラン・エンド
)のリストとして、既(二乗てしすることを示すフラグ
。従って、デコーダの出力は、ラスター・スキャン・ビ
ット像を作らなし)で、(別のアルゴリズム、オプショ
ンのセット、又番マサブセクションにより)直接、再コ
ード化できる。
より指示されてるノ(ツファに変化位置(ラン・エンド
)のリストとして、既(二乗てしすることを示すフラグ
。従って、デコーダの出力は、ラスター・スキャン・ビ
ット像を作らなし)で、(別のアルゴリズム、オプショ
ンのセット、又番マサブセクションにより)直接、再コ
ード化できる。
ETOPPAD・・・入力ラインを圧縮する前に圧縮さ
れた像にパッドするブランク・ラインの数。
れた像にパッドするブランク・ラインの数。
EBOTPAD・・・像の下部で圧縮されるべきブラン
ク・ラインの数。
ク・ラインの数。
EYSKIP・・・コード化前にスキップする入力ライ
ンの数。
ンの数。
PADCLR・・・ブランク・ライン、及び左と右のパ
ッドで、白(0)でも黒は)でもよし)。
ッドで、白(0)でも黒は)でもよし)。
EVSCALE・・・タテ(垂直)倍率。コード化時、
ラインのスキップをしてタテ方向に解像度の太き(高)
いファクシミリ像を低い像に変換できる。
ラインのスキップをしてタテ方向に解像度の太き(高)
いファクシミリ像を低い像に変換できる。
LL・・・ライン長さ。圧縮すべきライン当りのベルの
数。
数。
CNUM・・・レジスタR内の有効ビットのコード化さ
れたビットの数6 R・・・圧縮ビットの組立に用いられるレジスタ。
れたビットの数6 R・・・圧縮ビットの組立に用いられるレジスタ。
RUN2・・・2次元処理時、ランの1番目がなされて
いるか、2番目がなされているかを示すフラグ。
いるか、2番目がなされているかを示すフラグ。
RLEN(ベースRP S T) ・・・T<、 P
S T中のアドレスからスタートするバッファで用いら
れるバイト数で、バッファの初めの2バイトに貯えられ
ている。
S T中のアドレスからスタートするバッファで用いら
れるバイト数で、バッファの初めの2バイトに貯えられ
ている。
圧縮データはビットの連続した流れと考えられる。しか
し、実施例のコード化/解帯方式では、この流れをいく
つかのバッファに分ける。例えば、ディスク内の圧縮フ
ァイルの記録、伝送線で送るべきデータのブロックであ
る。演算上の利便のため、実施例ではバッファを半ワー
ド(2バイト単位)に分割する。
し、実施例のコード化/解帯方式では、この流れをいく
つかのバッファに分ける。例えば、ディスク内の圧縮フ
ァイルの記録、伝送線で送るべきデータのブロックであ
る。演算上の利便のため、実施例ではバッファを半ワー
ド(2バイト単位)に分割する。
コード化処理はビットの流れにビットを追加する。ビッ
トの流れは次のように制御される6最も近い時にコード
化された0〜15ビツトが32ビツト・レジスタRに貯
えられる。カウンタCNUMが常にR中のコード・ビッ
トの数を与える。只の内容を左にシフトし、Rの下位ビ
ットに新しいビットを加え又は、ORL、て入れられる
ことにより、コードの流れにビットを加えることができ
る。
トの流れは次のように制御される6最も近い時にコード
化された0〜15ビツトが32ビツト・レジスタRに貯
えられる。カウンタCNUMが常にR中のコード・ビッ
トの数を与える。只の内容を左にシフトし、Rの下位ビ
ットに新しいビットを加え又は、ORL、て入れられる
ことにより、コードの流れにビットを加えることができ
る。
CNUMを加えたビットの数だけ増加させる。若し、こ
のあとで、R中に12ピツ1へ以上あれば、上位の16
コード・ビットがメモリ中のバッファに入れられ、R中
のビット数のカウンタが16減らされる。コード化方式
中では長さ]3ピッ1−をこえるコード・ワードはない
から、この方法で、貯蔵前にRからシフトして出るデー
タのないことが保証される。
のあとで、R中に12ピツ1へ以上あれば、上位の16
コード・ビットがメモリ中のバッファに入れられ、R中
のビット数のカウンタが16減らされる。コード化方式
中では長さ]3ピッ1−をこえるコード・ワードはない
から、この方法で、貯蔵前にRからシフトして出るデー
タのないことが保証される。
実施例では、コードの上位16ビツトがRからコード・
バッファに入れられる。これは、Rを左に32・CNU
MN0Mピッフトして、R中で上位ビットが最高位ビッ
ト(MSB)から始まるようにしてから、Rの32ビッ
ト全部をバッファに入れ、その後Rを32・CNUMビ
ット右に戻して行われる。貯蔵された下位16ビツトは
次のメモリ動作で書込みをうける。バッファに最後の半
ワードを貯える時、Rのコピーが作られ、CNUM16
でけ右にシフトされ、結果の下位半分が貯えられ、バッ
ファの終端をこえて書込みすることを防ぐ。カウンタが
書込むべきバッファ中の次の半ワードを覚えていて、バ
ッファの終りに来たら。
バッファに入れられる。これは、Rを左に32・CNU
MN0Mピッフトして、R中で上位ビットが最高位ビッ
ト(MSB)から始まるようにしてから、Rの32ビッ
ト全部をバッファに入れ、その後Rを32・CNUMビ
ット右に戻して行われる。貯蔵された下位16ビツトは
次のメモリ動作で書込みをうける。バッファに最後の半
ワードを貯える時、Rのコピーが作られ、CNUM16
でけ右にシフトされ、結果の下位半分が貯えられ、バッ
ファの終端をこえて書込みすることを防ぐ。カウンタが
書込むべきバッファ中の次の半ワードを覚えていて、バ
ッファの終りに来たら。
これを送り出しくディスクに書いたり、伝送線で送った
り)、新しいバッファ(同じものかもしれないが)を得
て、これに圧縮されたデータの追加すべき半ワードを書
込む。
り)、新しいバッファ(同じものかもしれないが)を得
て、これに圧縮されたデータの追加すべき半ワードを書
込む。
[コード化動作の始業」
始業は下記の如く行なわれ、これはコード化する各像に
ついて1回だけである。
ついて1回だけである。
擬似的に全部白のラインと全部黒のラインを作る。
白ブラング・ラインを示すラン・エンド・ポイント・バ
ッファ入力を作り貯える。これは下記の形をしている。
ッファ入力を作り貯える。これは下記の形をしている。
16 0 0 0 LL LL LL LLLLはライ
ン長さ。
ン長さ。
黒ブランク・ラインを示す同様入力を作り貯える。下記
の形をとる。
の形をとる。
16 0 0 0 0 LL LL LLETOPPA
DとEBOTPADが非ゼロの場合に、これらバッファ
がブランク・ライン・エンド・ポイントとして用いられ
る。
DとEBOTPADが非ゼロの場合に、これらバッファ
がブランク・ライン・エンド・ポイントとして用いられ
る。
最初のラインが2次元でコード化され、そのために白ブ
ラング・ラインを歴史ラインとして必要な際に、)(P
STが白ブラング・ライン・ラン・バッファの最初の白
ライン(第1のLL)を指示するよう始動される。
ラング・ラインを歴史ラインとして必要な際に、)(P
STが白ブラング・ライン・ラン・バッファの最初の白
ライン(第1のLL)を指示するよう始動される。
CNUMが始動のためゼロにされる。この時、圧縮デー
タを管理する他の始業手順も行われる。
タを管理する他の始業手順も行われる。
MH,FLAGID、BITIM、VSCALE等の他
の変数が所望のオプションを得るようオペレータにより
制御される。1次元及び2次元のCCITT標準の両方
が最初のラインを1次元でコード化することを要求して
おり、若しCCITT標準を選択していたら、FLAG
!Dを初めに1にしなければならない。
の変数が所望のオプションを得るようオペレータにより
制御される。1次元及び2次元のCCITT標準の両方
が最初のラインを1次元でコード化することを要求して
おり、若しCCITT標準を選択していたら、FLAG
!Dを初めに1にしなければならない。
「バド・ライン」
ETOPPADが正なら、像の上方で余分のブランク・
ラインをコード化する必要がある。先ずPADCLRに
従って、RPSTを黒か白のどちらかのブランク・ライ
ンにセットする。次にこの余分のラインの各々について
、ラン・エンドからラインをコード化するサブルーチン
をコールしなければならない。
ラインをコード化する必要がある。先ずPADCLRに
従って、RPSTを黒か白のどちらかのブランク・ライ
ンにセットする。次にこの余分のラインの各々について
、ラン・エンドからラインをコード化するサブルーチン
をコールしなければならない。
「スキップ・ライン」
若しEYSKIPが正なら入力像ラインのうち適当な本
数スキップする。
数スキップする。
[1ラインのコード化のループ」
主コード化手順ループは1本のラインを扱う。
先ず、コート化すべき他のラインがあるかどうかを調ら
べ、なければ、ループからの脱出が起る。
べ、なければ、ループからの脱出が起る。
他のラインの有無のラストは種々の方法でできる。
その1つは、所要の入力ラインの数をカウンタにプリセ
ットし、処理する毎に減算し、カウンタがゼロになった
時に入力ライン処理を終止するものである。
ットし、処理する毎に減算し、カウンタがゼロになった
時に入力ライン処理を終止するものである。
タテ方向の倍率パラメータEVSCALEは、これが1
より大であれば、入力ラインの一部をスキップし、タテ
方向で原画より解像度の落ちたココード化がなされる。
より大であれば、入力ラインの一部をスキップし、タテ
方向で原画より解像度の落ちたココード化がなされる。
ここではラインを当初からスキップするものとして示し
ているが、こうでなくてもよい。
ているが、こうでなくてもよい。
入力画像はラスター・スキャン像であることが多い。若
しそうであれば、1つのラインがラン・エン、ド表示に
変更される必要がある。ピッ1−・マツプ表示をラン表
示に変換する方法は既に知られている。他方、入力像は
既にラン・エンドポイント形式の多数のラインの形であ
ることもある。デコーダがその一例である。この場合、
]又は2次元の方式と他の方式との間の変換は容易であ
るが、それはラスター像への変換とその戻しが不要だが
らである。
しそうであれば、1つのラインがラン・エン、ド表示に
変更される必要がある。ピッ1−・マツプ表示をラン表
示に変換する方法は既に知られている。他方、入力像は
既にラン・エンドポイント形式の多数のラインの形であ
ることもある。デコーダがその一例である。この場合、
]又は2次元の方式と他の方式との間の変換は容易であ
るが、それはラスター像への変換とその戻しが不要だが
らである。
ラン・エンド信号は1ライン毎にそのランの終りにコー
ド化される。
ド化される。
(キー1) [コード化]
第2.1図から第2.5図迄にこの処理を記載する。
「パド・ライン」
EBOTPADがオンであれば、入力ラインの所定本数
の処理の後に、余分のラインがバドとして入れられる。
の処理の後に、余分のラインがバドとして入れられる。
ETOPPA、Dで用いられた所定の像のブランク・ラ
インを指示する同様の処理が像の終りで用いられる。E
BOTPADは、この点で、計算さオル、固定サイズの
像を維持する。
インを指示する同様の処理が像の終りで用いられる。E
BOTPADは、この点で、計算さオル、固定サイズの
像を維持する。
ライン全部が処理された後、このプロセスから出る前に
6EOLのRETURN To C0NTR0L順序が
コード化される。
6EOLのRETURN To C0NTR0L順序が
コード化される。
「1ライン・コード化の手順」
第20.1図から第2.5図は、ラン・エンド・ポイン
ト表示から1ラインをコード化する順序を示す。
ト表示から1ラインをコード化する順序を示す。
第2.1図はデータのコード化の前に要る始業手順を示
す。次のラインを1次元で処理するか、2次元で処理す
るかをきめる、いくつかの選択基準が用いられる。2次
元標準では、少なくともに本のライン毎に1次元のライ
ンを1本コード化する必要があり、このKは定数であり
、CCITT標準では2又は4である。
す。次のラインを1次元で処理するか、2次元で処理す
るかをきめる、いくつかの選択基準が用いられる。2次
元標準では、少なくともに本のライン毎に1次元のライ
ンを1本コード化する必要があり、このKは定数であり
、CCITT標準では2又は4である。
1次元の場合、EOLコードが先ずコード化される。修
正ハフマン方式なら、このビット・パターンはrooo
ooooooool」であり、他の方式ならroooo
ooooooollJである。コード化されるべき、第
1のラン・エンド(RE)を指示するRPがセットされ
る。TPがセットされ、白のランの対するRLコード・
テーブルを指示する。次にコード化するランのRLはラ
インの最初のラン・エンド(RE)の値をとる。
正ハフマン方式なら、このビット・パターンはrooo
ooooooool」であり、他の方式ならroooo
ooooooollJである。コード化されるべき、第
1のラン・エンド(RE)を指示するRPがセットされ
る。TPがセットされ、白のランの対するRLコード・
テーブルを指示する。次にコード化するランのRLはラ
インの最初のラン・エンド(RE)の値をとる。
FLAGIDは1にセットされ、今のラインは1次元で
コード化されるでいることを示す。制御はループに−移
り、ここでRLコード化手順によってランの中のコード
化がなされる。
コード化されるでいることを示す。制御はループに−移
り、ここでRLコード化手順によってランの中のコード
化がなされる。
ラインが2次元方式でコード化される際は、EOLコー
ドはオプションとなる。フラグがテストされ、コード化
すべきか否がを決める。エラーのない状況では、EOL
コードを省略するのが望ましい。しかし多くの場合(C
CITT標準でのコード化、1次元から2次元への変換
の時、圧縮ライン崩り最ホ限の数のビットが保持される
必要ある時等)EOLコードが2次元コード化されたう
インに先行する。EOLをコード化する際には。
ドはオプションとなる。フラグがテストされ、コード化
すべきか否がを決める。エラーのない状況では、EOL
コードを省略するのが望ましい。しかし多くの場合(C
CITT標準でのコード化、1次元から2次元への変換
の時、圧縮ライン崩り最ホ限の数のビットが保持される
必要ある時等)EOLコードが2次元コード化されたう
インに先行する。EOLをコード化する際には。
ビット・パターンはroooooooooooiOjで
ある。RPはコート化すべき最初のラン・エンド(RE
)を示すようセットされ、HPは歴史ラインを示すラン
・エンド・バンファ内の最初のラン・エンドを示すよう
セラ1〜される。ROLDは0にセットされ、FLAG
IDは0にセットされ、今のラインが2次元処理されて
いることを示す。制御は次に、タテ関連コードがRLコ
ードを用いてランをコード化するループに入る。
ある。RPはコート化すべき最初のラン・エンド(RE
)を示すようセットされ、HPは歴史ラインを示すラン
・エンド・バンファ内の最初のラン・エンドを示すよう
セラ1〜される。ROLDは0にセットされ、FLAG
IDは0にセットされ、今のラインが2次元処理されて
いることを示す。制御は次に、タテ関連コードがRLコ
ードを用いてランをコード化するループに入る。
第2.2図は2次元方式での内部ループを示す。
このループは、コード化中のラン・エンドと歴史バッフ
ァ中のラン・エンドとの差(D I F)を算出する。
ァ中のラン・エンドとの差(D I F)を算出する。
このDIFがゼロであればタテ関連0(VOに対し2進
コード1)がコード化され、歴史バッファ・ポインタは
増加され、歴史バッファ中の次のラン・エンドを示すよ
うになる。この点で、次のランをコード化するために使
われるHPで示されている歴史バッファ中のランは、こ
の時コード化されたランの終りの右に来ているように保
証される。今コード化したラン・エンドがコード化した
ラインの右端にあるか否かテストし、若しそうなら全ラ
インのコート化が済みライン・コード化手順からの脱出
が起る。
コード1)がコード化され、歴史バッファ・ポインタは
増加され、歴史バッファ中の次のラン・エンドを示すよ
うになる。この点で、次のランをコード化するために使
われるHPで示されている歴史バッファ中のランは、こ
の時コード化されたランの終りの右に来ているように保
証される。今コード化したラン・エンドがコード化した
ラインの右端にあるか否かテストし、若しそうなら全ラ
インのコート化が済みライン・コード化手順からの脱出
が起る。
他の場合は、今コート化したラン・エンドがROLDと
して残され、ラン・エンド・ポインタが更新され、次の
コード化するランを示し、処理の反覆をする。
して残され、ラン・エンド・ポインタが更新され、次の
コード化するランを示し、処理の反覆をする。
主ループには3ケ所から入れる。始業直後に点Aから、
2次元方式で一対のランをRLコード化した後、及びP
ASSモードのコード化をした後である。他の入り地点
は非ゼロ・タテ関連がコード化された後である。これら
の場合、REポインタは未だ最後のコード化されたラン
を指示している。DIFの計算の前に更新されねばなら
ない。
2次元方式で一対のランをRLコード化した後、及びP
ASSモードのコード化をした後である。他の入り地点
は非ゼロ・タテ関連がコード化された後である。これら
の場合、REポインタは未だ最後のコード化されたラン
を指示している。DIFの計算の前に更新されねばなら
ない。
コード化したランが歴史ランの右で終っていれば、右端
に達したかのテストの前に、点Cからループに入る。若
しコード化したランが歴史ランの左で終れば、右端に達
してないことはたしかで(コード化するラインは歴史ラ
インと同長だから)、右端かどうかのテストはスキップ
して、点Bでループに入る。
に達したかのテストの前に、点Cからループに入る。若
しコード化したランが歴史ランの左で終れば、右端に達
してないことはたしかで(コード化するラインは歴史ラ
インと同長だから)、右端かどうかのテストはスキップ
して、点Bでループに入る。
像の右端に達したら、制御がコード化手順(第1図)の
主ループに戻る直前に、今コード化したラインのREバ
ッファの始めを示しているポインタ(RP S T)が
HPSTにコピーされ、そのため、若し次のラインが2
次元でコード化される際には、歴史ラインとして使える
ようにする。ループから出る他の手順はすべてHPST
を更新する。
主ループに戻る直前に、今コード化したラインのREバ
ッファの始めを示しているポインタ(RP S T)が
HPSTにコピーされ、そのため、若し次のラインが2
次元でコード化される際には、歴史ラインとして使える
ようにする。ループから出る他の手順はすべてHPST
を更新する。
若し、主ループで計算されたDIFの値が非ゼロ値であ
れば、他のタテ関連又はPADSSコードが発生される
かをテストする。この手順が第2゜3図に示されている
。
れば、他のタテ関連又はPADSSコードが発生される
かをテストする。この手順が第2゜3図に示されている
。
又若し、DIFがゼロよりも小さい値だったら(即ち、
その時のREが歴史REの左にある)、タテ左関連をコ
ード化するかをテストする。若し今のランが歴史ライン
の1ベル左で終っていたら。
その時のREが歴史REの左にある)、タテ左関連をコ
ード化するかをテストする。若し今のランが歴史ライン
の1ベル左で終っていたら。
タテ左関連1(VLIについてビット・パターン010
)をコード化し、HPを加算し、歴史ライン中の次のラ
ンを指示させるが、これはこれが今コード化したREの
右にある、反対側の色の最初の歴史REの筈だからであ
る。最後のRE (ライン長)の全文のコピーが各ライ
ンにあることは、右端に達したあとでもHP内に使える
歴史データがあることを保証する。制御は主ループに戻
る。
)をコード化し、HPを加算し、歴史ライン中の次のラ
ンを指示させるが、これはこれが今コード化したREの
右にある、反対側の色の最初の歴史REの筈だからであ
る。最後のRE (ライン長)の全文のコピーが各ライ
ンにあることは、右端に達したあとでもHP内に使える
歴史データがあることを保証する。制御は主ループに戻
る。
今のREが歴史ラインの左側2又は3ペルの所で終った
ら、タテ左関連2又は3(VB2及びVB2について各
々000010及び0000010のビット・パターン
)をコード化する。前の歴史ランが今のランの終りより
右で終っている場合に備えて、歴史ポインタがバック・
アップされる。
ら、タテ左関連2又は3(VB2及びVB2について各
々000010及び0000010のビット・パターン
)をコード化する。前の歴史ランが今のランの終りより
右で終っている場合に備えて、歴史ポインタがバック・
アップされる。
今のランがこの場合に相当するかのテストがされ。
そうでなければ、HPが加算され同色の次のランを指示
する。制御は主ループに戻る。タテ関連コードが発生で
きなかったら、コードのRL部分を入れて1対のランを
コード化する。
する。制御は主ループに戻る。タテ関連コードが発生で
きなかったら、コードのRL部分を入れて1対のランを
コード化する。
若しDIFがゼロより大であれば、そのランはタテ右関
連又はP’ASSを用いてコード化できる。
連又はP’ASSを用いてコード化できる。
ランが歴史ランの1ベル右で終ったら、タテ右関連1
(VRIに0II)をコード化し、HPを加算し次の歴
史ランに合わせる。この歴史ランの終りは今のランの終
りより左にはない。たしかにREの右にあるかのテスト
をする必要がある。若し右でなかったら、HPが再び増
加される。制御は主ループに戻る。
(VRIに0II)をコード化し、HPを加算し次の歴
史ランに合わせる。この歴史ランの終りは今のランの終
りより左にはない。たしかにREの右にあるかのテスト
をする必要がある。若し右でなかったら、HPが再び増
加される。制御は主ループに戻る。
若し、VRIがコード化されていないと、今のREがH
2、の右か調べる。若し、そうなら、PASS (oo
ol)をコード化しエンド・ポイントH2をROLDと
して貯え、HPを今のランと同色の次の歴史ランのRE
に合わせ、制御を主ループに戻す。
2、の右か調べる。若し、そうなら、PASS (oo
ol)をコード化しエンド・ポイントH2をROLDと
して貯え、HPを今のランと同色の次の歴史ランのRE
に合わせ、制御を主ループに戻す。
若し、VRlかPASSのどちらもコード化できなかっ
たら、今のランが歴史ランの2か3ペル右で終るのかテ
ストする。若しそうなら、タテ右関連(VH2に000
011、又はVH2に0000011)をコード化する
と共に、HPを次の歴史ランを示すように進める。これ
が今コード化したREの右にあるかテストする。右でな
いと、HPが加算され、新しいHOをテストされる。若
し、まだ右でないと、又HPを加算する。制御は主ルー
プに戻る。
たら、今のランが歴史ランの2か3ペル右で終るのかテ
ストする。若しそうなら、タテ右関連(VH2に000
011、又はVH2に0000011)をコード化する
と共に、HPを次の歴史ランを示すように進める。これ
が今コード化したREの右にあるかテストする。右でな
いと、HPが加算され、新しいHOをテストされる。若
し、まだ右でないと、又HPを加算する。制御は主ルー
プに戻る。
若しタテ関連コードがコード化できないと、RLココ一
部分を用いて、1対のRLコード化をする。
部分を用いて、1対のRLコード化をする。
第2.4図はRLのコード化を示す。この手順には、2
つの入口から入れる。ラインの一次元コード化の始業直
後(点Y)、又は2次元処理の]部でそれがタテ関連コ
ード化を試みそのコード化が適当でない時(点X)であ
る。
つの入口から入れる。ラインの一次元コード化の始業直
後(点Y)、又は2次元処理の]部でそれがタテ関連コ
ード化を試みそのコード化が適当でない時(点X)であ
る。
若しRL方式コード化に、2次元処理から入るといくつ
かの始業が必要になる。RL方式を用いて1対のランを
コード化していることを示す前記号(RLプリフィクス
に2進コード001)がコード化される。次にTPを最
初にコード化するランの色のRL子テーブル示すように
セットする。
かの始業が必要になる。RL方式を用いて1対のランを
コード化していることを示す前記号(RLプリフィクス
に2進コード001)がコード化される。次にTPを最
初にコード化するランの色のRL子テーブル示すように
セットする。
この色はRPとRPSTとの差と、それが4の倍数であ
るかによって決められる。REデータ処理が始まる前に
はREバッファには4つの入力値があるから、そして各
入力は2バイトを要するから、白のREは8.12.1
6・・・のオフセットでREバッファに貯えられ、黒の
REは10.1418・・・のオフセットで貯えられる
。そこで、RP−RPSTが4の倍数であれば、TPが
白のテーブルを示すようセットされ、そうでなければ黒
のテーブルを示すようセットされる。TPのセットの後
、フラグ(RUN2)がOにセットされ、1対のランの
第1番目がコード化されていることを示ずようにされ、
このランのRLが、今のREとROLD(前のランの終
りか又はPASSモードを用いてコード化した位置が入
っている)の値との差から算出される。
るかによって決められる。REデータ処理が始まる前に
はREバッファには4つの入力値があるから、そして各
入力は2バイトを要するから、白のREは8.12.1
6・・・のオフセットでREバッファに貯えられ、黒の
REは10.1418・・・のオフセットで貯えられる
。そこで、RP−RPSTが4の倍数であれば、TPが
白のテーブルを示すようセットされ、そうでなければ黒
のテーブルを示すようセットされる。TPのセットの後
、フラグ(RUN2)がOにセットされ、1対のランの
第1番目がコード化されていることを示ずようにされ、
このランのRLが、今のREとROLD(前のランの終
りか又はPASSモードを用いてコード化した位置が入
っている)の値との差から算出される。
始業処理(若しあれば)の後、RLがコード化される。
第2.5図がこれを示す。RLコード化の後更新作業と
、更にRLコード化をするかについての判定が必要であ
る。
、更にRLコード化をするかについての判定が必要であ
る。
先ずF LAG I Dがテストされ、ラインを1次元
でコード化するか見る。そうであれば、コード化された
前のランのREをテストし像ラインの右端に達したか見
る6若しそうなら、全ライン・コード化済みであり、ラ
イン・コード化から脱出する。そうでなければ、TPを
反対色(次にコード化するランの)のRL子テーブルセ
ットし、今コード化したREを貯え、REポインタを増
加し、次のランのREを示すようにし、RLを新旧RE
の差として計算する。制御は、新しいRLをコード化す
るループの上端に行く。
でコード化するか見る。そうであれば、コード化された
前のランのREをテストし像ラインの右端に達したか見
る6若しそうなら、全ライン・コード化済みであり、ラ
イン・コード化から脱出する。そうでなければ、TPを
反対色(次にコード化するランの)のRL子テーブルセ
ットし、今コード化したREを貯え、REポインタを増
加し、次のランのREを示すようにし、RLを新旧RE
の差として計算する。制御は、新しいRLをコード化す
るループの上端に行く。
若し、今のラインが2次元コード化されているなら、フ
ラグRUN2がテストされ、今コード化したランが1番
目か2番目か見る。第1なら、Rしてコード化する別の
ランがある。第2のランの時にRUN2が1にセットさ
れており、1次元の時と同じセット・アップ手順が遂行
される。TPが反対色のRL子テーブル示すようセット
され、今コード化したREが残され、REポインタが加
算され次にコード化するランのREを示し、新旧REの
差から、コード化するRLが算出される。
ラグRUN2がテストされ、今コード化したランが1番
目か2番目か見る。第1なら、Rしてコード化する別の
ランがある。第2のランの時にRUN2が1にセットさ
れており、1次元の時と同じセット・アップ手順が遂行
される。TPが反対色のRL子テーブル示すようセット
され、今コード化したREが残され、REポインタが加
算され次にコード化するランのREを示し、新旧REの
差から、コード化するRLが算出される。
制御は新しいRLコード化ループの上端に行く。
若し、今のラインが2次元処理中であって、2番目のラ
ンをコード化したところであれば、ROをテストしライ
ンの右端に来たかをみる。来ていれば、ライン・コード
化手順から出る。そうでなければ、歴史ポインタを更新
する。これは既に正しい色のランを示しているので、こ
れを更新することは、HPが示す歴史ランのREが今コ
ード化したランの終りより右にあるかテストすることに
なる。若しそうでなけhば、HPが加算され同色の次の
歴史REを示し、そのREがテストされるこの処理が、
コード化済のREの右に歴史REが見付かる追及覆さj
bる。ツー1〜化されるランのREは右端よりは左だし
、結局は右端にある歴史REに出合う筈だから、上記の
ような歴史REが存在することは保証されている。次に
2次元コード化主ループに戻る。
ンをコード化したところであれば、ROをテストしライ
ンの右端に来たかをみる。来ていれば、ライン・コード
化手順から出る。そうでなければ、歴史ポインタを更新
する。これは既に正しい色のランを示しているので、こ
れを更新することは、HPが示す歴史ランのREが今コ
ード化したランの終りより右にあるかテストすることに
なる。若しそうでなけhば、HPが加算され同色の次の
歴史REを示し、そのREがテストされるこの処理が、
コード化済のREの右に歴史REが見付かる追及覆さj
bる。ツー1〜化されるランのREは右端よりは左だし
、結局は右端にある歴史REに出合う筈だから、上記の
ような歴史REが存在することは保証されている。次に
2次元コード化主ループに戻る。
第2.5図はREコードを示す。RLはゼロ又はそれ以
上の数の「メイク・アップ」コード(64の倍数、但し
2560以下をコード化)と1個の終了コード(残りビ
ットO〜63の数)からなっている。RLはコード・ワ
ードに対応する値の合計である。そこで、5150のラ
ンのRLは2560+2560+30にコード化され、
400OのRLは2560+1408+32で、200
0のRLは1984+16で、10のRLは10の終了
コードのみでコード化される。
上の数の「メイク・アップ」コード(64の倍数、但し
2560以下をコード化)と1個の終了コード(残りビ
ットO〜63の数)からなっている。RLはコード・ワ
ードに対応する値の合計である。そこで、5150のラ
ンのRLは2560+2560+30にコード化され、
400OのRLは2560+1408+32で、200
0のRLは1984+16で、10のRLは10の終了
コードのみでコード化される。
RLコード化ループは、先ずRLが64より小であるか
を見る。若しそうなら、適正な終了コードLOCODE
(RL)をコード化して終る。又、そうでなければ、
RLが2560より大であるかを見る。若しそうなら、
256oの「メイク・アップ」コード(0000000
11111)がコード化され、RL値から2560減算
し、ループの上端に戻る。又、RLが2560より大で
なければ、64で割り(これは右シフトで行なう)、「
メイク・アップ」コードのテーブル(HICODE)を
見るために使う値を得る。コード化した後、割算の残り
が前のRLの値と入れ替る。これはRLの値のうち「メ
イク・アップ」コードを指示するために使われた部分を
マスクすることにより行なわれる。制御はループの上端
に戻り、残余のコード化をする。
を見る。若しそうなら、適正な終了コードLOCODE
(RL)をコード化して終る。又、そうでなければ、
RLが2560より大であるかを見る。若しそうなら、
256oの「メイク・アップ」コード(0000000
11111)がコード化され、RL値から2560減算
し、ループの上端に戻る。又、RLが2560より大で
なければ、64で割り(これは右シフトで行なう)、「
メイク・アップ」コードのテーブル(HICODE)を
見るために使う値を得る。コード化した後、割算の残り
が前のRLの値と入れ替る。これはRLの値のうち「メ
イク・アップ」コードを指示するために使われた部分を
マスクすることにより行なわれる。制御はループの上端
に戻り、残余のコード化をする。
(キー2)「解読(デコード)」
本発明の方式でコード化された圧縮ディジタル像のデコ
ード手順が第3図、第4.1図から第4゜6図により説
明される。下記のリストが迅速なデコードをする本発明
の特徴を挙げている。
ード手順が第3図、第4.1図から第4゜6図により説
明される。下記のリストが迅速なデコードをする本発明
の特徴を挙げている。
(1)ハフマン可変長コード・ワードの急速直列デコー
ドに簡単なテーブルを用いている。中間節は圧縮データ
流での次の0(1)ビットに関する次の節迄の相対距離
を示している。他の色の感知は、テーブルの次の入口と
して次の節を持っている。負の入力は終了節にフラグし
、見付けたコード・ワードについての情報を有する。修
正ノ)フマン方式のテーブルでは若しOについてブラン
チが行われれば、テーブル中の次の節迄の相対距離は7
8をこえることはなく、221の入力が用いられてもバ
イト・テーブルで十分である。
ドに簡単なテーブルを用いている。中間節は圧縮データ
流での次の0(1)ビットに関する次の節迄の相対距離
を示している。他の色の感知は、テーブルの次の入口と
して次の節を持っている。負の入力は終了節にフラグし
、見付けたコード・ワードについての情報を有する。修
正ノ)フマン方式のテーブルでは若しOについてブラン
チが行われれば、テーブル中の次の節迄の相対距離は7
8をこえることはなく、221の入力が用いられてもバ
イト・テーブルで十分である。
(2) 同一のレジスタが圧縮されたビットを逐次見る
ことと、すべてのビットが検査された時点の追跡とに用
いられる。データが更に必要かのテストは、(1)の圧
縮ビットが発見された時にのみ必要で、それはこのビッ
トがデータの終りを示すマーカ・ビットでありうるから
である。特別の場合にだけレジスタの残余がゼロになる
。
ことと、すべてのビットが検査された時点の追跡とに用
いられる。データが更に必要かのテストは、(1)の圧
縮ビットが発見された時にのみ必要で、それはこのビッ
トがデータの終りを示すマーカ・ビットでありうるから
である。特別の場合にだけレジスタの残余がゼロになる
。
(3) タテ関連コードは、インライン・コードにより
デコードされ、そのためプログラムの位置が発見された
コード・ワードを示す。ポインタを歴史データ・バッフ
ァの更新は最小限のテストでなされる。REバッファは
右左の端で、3つ迄のランを前方又は後方に見る場合で
も正しい情報を与えるよう構成されている。
デコードされ、そのためプログラムの位置が発見された
コード・ワードを示す。ポインタを歴史データ・バッフ
ァの更新は最小限のテストでなされる。REバッファは
右左の端で、3つ迄のランを前方又は後方に見る場合で
も正しい情報を与えるよう構成されている。
(4)色変化の位置からビット・マツプを作るのに急速
コードが用いられる。
コードが用いられる。
(5)3つの算法処理をデコードするのに1つのサブル
ーチンが用いられ、余分の負担は殆んどない。これは、
オブジェクト・コードの寸法を小さくする。
ーチンが用いられ、余分の負担は殆んどない。これは、
オブジェクト・コードの寸法を小さくする。
(6)内部ループで必要な可変数の殆んどは、レジスタ
に保持できる。
に保持できる。
「デコードの全般」
像ラインをデコードする手順は基本的に2ステツプでな
される。
される。
第1に、サブルーチンで各ラインがRE位置のバッファ
内に引伸しされる。2次元デコード時に、歴史ラインを
与える必要があるため、REバッファは次のラインのデ
コード時迄保持される。REバッファはコード化器(手
順)の場合と同じ形式である。このため、3つ迄のラン
を前後に見る左右の4″Xでも正しい情報が得られる。
内に引伸しされる。2次元デコード時に、歴史ラインを
与える必要があるため、REバッファは次のラインのデ
コード時迄保持される。REバッファはコード化器(手
順)の場合と同じ形式である。このため、3つ迄のラン
を前後に見る左右の4″Xでも正しい情報が得られる。
これは最初及び最後のランを少なくとも2回余分に複製
することによりなされる。最終RE値の少なくとも3つ
のコピーがあると、ポインタを2ラン前に進めても有効
なデータをいつでも得られる利点がある。
することによりなされる。最終RE値の少なくとも3つ
のコピーがあると、ポインタを2ラン前に進めても有効
なデータをいつでも得られる利点がある。
こうして、デコード時には、相当に少ないテストしか必
要でない。
要でない。
圧縮データ流は、REについてデコードする際にのみ、
正しく解読される。そこで、若し像の上端でいくつかの
ラインがスキップされるとすると、これは必要な数のラ
インを無視し終るまでREにデコードするだけで除去で
きる。
正しく解読される。そこで、若し像の上端でいくつかの
ラインがスキップされるとすると、これは必要な数のラ
インを無視し終るまでREにデコードするだけで除去で
きる。
第2に、ビット像形式が望まれたら、RE位置をビット
・マツプに変換できる。
・マツプに変換できる。
1つのサブルーチンが3つの算法すべてをREバッファ
にデコードするので、オブジェクト・コードの寸法が小
さくなる。これら3つの算法はすべてE−OLとそれに
つづく1次元のラインから始まる。そこでデコーダは1
次元ラインを解読できねばならない。MR算法では、こ
れらラインは各2〜4本毎に起る。2次元コードの時、
001の水平モード前置コードの後に1次元算法でデコ
ードすべき1対のランが来る。ゼロに対するテストによ
って、1次元コード・ラインを常にRLデコード・ルー
プの中に保つように、小数のスイッチがセットされる。
にデコードするので、オブジェクト・コードの寸法が小
さくなる。これら3つの算法はすべてE−OLとそれに
つづく1次元のラインから始まる。そこでデコーダは1
次元ラインを解読できねばならない。MR算法では、こ
れらラインは各2〜4本毎に起る。2次元コードの時、
001の水平モード前置コードの後に1次元算法でデコ
ードすべき1対のランが来る。ゼロに対するテストによ
って、1次元コード・ラインを常にRLデコード・ルー
プの中に保つように、小数のスイッチがセットされる。
MRNコードMMRコードとの主な差異は、MRNコー
ドは各ラインにEOLがあることである。
ドは各ラインにEOLがあることである。
EOLは少なくとも11個のゼロとそのあとの1と、2
次元デコード時にそのあとにつづくタグ・ビットとより
なり、このタグは次のラインの次元を示す。これはグル
ープ■の機械でエラーの伝播を止めるため、各ラインの
終りに必要である。各ランの終りで圧縮像の右端をチェ
ックす九ば、ラインの終りをフラグするのにEOLを必
要とはしない。最初にEOLが検出された時は、同心コ
ードが両方の算法について、ラインのデコードのループ
の再開のため使える。フラグがセットされ、第2のEO
Lが次にデコードされる時は、RTC手順が認められる
。
次元デコード時にそのあとにつづくタグ・ビットとより
なり、このタグは次のラインの次元を示す。これはグル
ープ■の機械でエラーの伝播を止めるため、各ラインの
終りに必要である。各ランの終りで圧縮像の右端をチェ
ックす九ば、ラインの終りをフラグするのにEOLを必
要とはしない。最初にEOLが検出された時は、同心コ
ードが両方の算法について、ラインのデコードのループ
の再開のため使える。フラグがセットされ、第2のEO
Lが次にデコードされる時は、RTC手順が認められる
。
[ハフマン可変長コードのデコード・テーブル」ハフマ
ン可変長コード・ワードの直列的デコードのための簡単
なテーブルが容易に作れ、敏速にデコードできる。Nコ
ード・ワードについて、N−1人力が中間節であり、こ
れが0か1の圧縮ビットに関する次の節への相対距離を
示す。他の色の検出は、改めての入力を要しないが、そ
れはその次の節がテーブルへの次の入力だからである。
ン可変長コード・ワードの直列的デコードのための簡単
なテーブルが容易に作れ、敏速にデコードできる。Nコ
ード・ワードについて、N−1人力が中間節であり、こ
れが0か1の圧縮ビットに関する次の節への相対距離を
示す。他の色の検出は、改めての入力を要しないが、そ
れはその次の節がテーブルへの次の入力だからである。
N入力は終了節である。これらは、フラグ・ビットによ
り(この実施例では最高位ビット)、中間節と区別でき
る。終了筋入力の残余はコード・ワードに関する情報で
ある。中間節での入力は又、テーブルへの絶対指標にも
なる。
り(この実施例では最高位ビット)、中間節と区別でき
る。終了筋入力の残余はコード・ワードに関する情報で
ある。中間節での入力は又、テーブルへの絶対指標にも
なる。
修正ハフマン・テーブルで、若し0でブランチするなら
、221の入力があってもバイト・テーブルで十分であ
り、これは8ビツトのマイクロプロセサに適している。
、221の入力があってもバイト・テーブルで十分であ
り、これは8ビツトのマイクロプロセサに適している。
バイト・パターン・テーブル
中間節
oxxxxxxx 次がOなら今のポインタにQXXX
XXXXを加算し次の入力に到達せよ。次が1なら1を
加算し次の入力に到達せよ。
XXXXを加算し次の入力に到達せよ。次が1なら1を
加算し次の入力に到達せよ。
終了節
10XXXXXX RL O〜63
11XXX××× 若しXXXXXX(41なら、これ
は63より大なRLの高位6ビツトである。
は63より大なRLの高位6ビツトである。
11111100 1Pk日宿モード。
11111101 不正ビット・パターン111111
10 10個のゼロとこのあとの1じ分EOL)111
11111 EOL(7)11ゼロ11ゼロへの入力(
テーブルで221番目の入力)は次の節への相対比mが
ゼロの中間節に行なわれる。この時、11個のゼロのあ
とにゼロがいくつあってもこれは新しい入力への移動を
起さない。X ’FF’のEOL終了節が222番目の
パイ1〜に移される。不定長で10個以上のゼロのあと
の最初の1がEOLとして識別される。
10 10個のゼロとこのあとの1じ分EOL)111
11111 EOL(7)11ゼロ11ゼロへの入力(
テーブルで221番目の入力)は次の節への相対比mが
ゼロの中間節に行なわれる。この時、11個のゼロのあ
とにゼロがいくつあってもこれは新しい入力への移動を
起さない。X ’FF’のEOL終了節が222番目の
パイ1〜に移される。不定長で10個以上のゼロのあと
の最初の1がEOLとして識別される。
これらデコード・テーブルを作製する方法を以下に示す
。
。
(1)すへてのコード・ワードをこれら終了節に必要な
情報を含むフィールドと共にリストする。
情報を含むフィールドと共にリストする。
(2) ヌル(NULL)コードを含む、これらコード
のすべての前置コードをリストし、中間節であることを
表示する。
のすべての前置コードをリストし、中間節であることを
表示する。
(3)増加する2進値順序で揃え、重複を除く。
(4) 中間節テーブル入力を作るため、ブランチする
のに用いられるビットを付加し、長い方のビット・パタ
ーンに合ったものを見付ける。所望のユニットに相対距
離を入れる。
のに用いられるビットを付加し、長い方のビット・パタ
ーンに合ったものを見付ける。所望のユニットに相対距
離を入れる。
下記の簡単な例では、中間節には1で、終了節にはTで
フラグする。
フラグする。
元のコード・ワード 節の情報
Q T1
10 T2
111 T3
1100 T4
1101 T5
1でブランチするコードと前置コードとの増加する順で
のテーブル。
のテーブル。
コート
T2
0 Tl
」−12
10ゴ・ 2
11 14
110 工2
1100 T4
11.01 T5
11.1 T3
若しI/TビットがバイトのMSBに変換されたら、最
終のテーブルは2 129 2 1.30 4 213
2 133 131 となる。
終のテーブルは2 129 2 1.30 4 213
2 133 131 となる。
バイトは各々、次にデコードするビットが1なら進むへ
き相対距離を示すか、又はデコード結果を与える。MS
Bがデコード手順のかじをとる。
き相対距離を示すか、又はデコード結果を与える。MS
Bがデコード手順のかじをとる。
MSBがゼロなら、デコードをつづけ、次の圧縮ピッ1
〜がゼロの時には次のバイトをスキップし、1ならバイ
ト・テーブル入力に示された数のバイトをスキップする
。デコード完了のフラグはMSBの1へのセットである
。
〜がゼロの時には次のバイトをスキップし、1ならバイ
ト・テーブル入力に示された数のバイトをスキップする
。デコード完了のフラグはMSBの1へのセットである
。
像をデコードしてメモリに入れる処理を説明する。コー
ド化器での変数に加えて、デコーダは下記の変数を用い
る。
ド化器での変数に加えて、デコーダは下記の変数を用い
る。
DTOPPAD・・・入力ラインをデコードする前に、
出力像の上端にパドすべきブランク・ラインの数。
出力像の上端にパドすべきブランク・ラインの数。
DBOTPAD・・・デコード完了後、出力像にパドす
べきブランク・ラインの数。固定寸法の出力像作りに使
える。
べきブランク・ラインの数。固定寸法の出力像作りに使
える。
DYSKI P・・・出力バッファにラインを出力する
前にスキップすべき入力(圧縮された)ラインの数。
前にスキップすべき入力(圧縮された)ラインの数。
DVSCALE・・・タテ倍率。低い(タテ方向)解像
度のファクシミリ像を、デコード処理中に複製して高い
(タテ方向)解像度の像にできる。
度のファクシミリ像を、デコード処理中に複製して高い
(タテ方向)解像度の像にできる。
デコーダで、圧縮データ流について行われる基本動作は
、次のビットが1かゼロか調べることである。実施例で
は、32ビツトのレジスタRに0〜16ビツトの圧縮デ
ータが左側に合わせて入っているように制御している。
、次のビットが1かゼロか調べることである。実施例で
は、32ビツトのレジスタRに0〜16ビツトの圧縮デ
ータが左側に合わせて入っているように制御している。
これらデータのビットのすぐうしろに1が入っており、
R中の他のビットはすべてゼロである。次に、R中の高
位ビット(圧縮された次のビット)をテストする。Rを
それ自体と加算する。どれで、R中の全ビットが1ビツ
ト左にシフトする。
R中の他のビットはすべてゼロである。次に、R中の高
位ビット(圧縮された次のビット)をテストする。Rを
それ自体と加算する。どれで、R中の全ビットが1ビツ
ト左にシフトする。
IBM(商標)370シリーズでは、ADD命令により
、Rの高位ビット(テスト中のビット)からキャリー/
オーバフローが発生したか及び残りがゼロかを示すコン
ディション・コードがセツトされる。若し、キャリーが
起らなければ、テストされたビットはゼロで、この信号
がデコーダに戻される。オーバフローが発生すれば、圧
縮データの1ビツトか、圧縮データのあとにつけたフラ
グの1ビツトが出て来たことになる。Rを調らべれば、
このどちらであるか判る。Rが非ゼロであれば、フラグ
はまだRの中にあり、1は圧縮データだったわけで、こ
の情報がデコーダに戻される。
、Rの高位ビット(テスト中のビット)からキャリー/
オーバフローが発生したか及び残りがゼロかを示すコン
ディション・コードがセツトされる。若し、キャリーが
起らなければ、テストされたビットはゼロで、この信号
がデコーダに戻される。オーバフローが発生すれば、圧
縮データの1ビツトか、圧縮データのあとにつけたフラ
グの1ビツトが出て来たことになる。Rを調らべれば、
このどちらであるか判る。Rが非ゼロであれば、フラグ
はまだRの中にあり、1は圧縮データだったわけで、こ
の情報がデコーダに戻される。
若しRがゼロなら、出て来たのはフラグの1ビツトであ
る。この場合、圧縮データの他のバイト即ち半ワードを
更によむ必要がある。Rの中に左に寄せて入れる。下位
にはゼロをつめる。データのあとにフラグの1ビツトを
入れる。ビットのテストをして、結果をデコーダに戻す
。次によむべき半ワードについてカウンタが順序を制御
している。
る。この場合、圧縮データの他のバイト即ち半ワードを
更によむ必要がある。Rの中に左に寄せて入れる。下位
にはゼロをつめる。データのあとにフラグの1ビツトを
入れる。ビットのテストをして、結果をデコーダに戻す
。次によむべき半ワードについてカウンタが順序を制御
している。
バッファが空になったら、受信機等の信号源にデータを
要求する。
要求する。
IBM370シリーズ以外の機械では、レジスタRが負
であるかどうかを調らべ1次にRにそれ自体の内容を加
算することによりMSB(最高位ビット)をテストでき
る。Rが0であって、フラグの1ビツトだけの場合をテ
ストするには、負の信号路のみが必要とされる。
であるかどうかを調らべ1次にRにそれ自体の内容を加
算することによりMSB(最高位ビット)をテストでき
る。Rが0であって、フラグの1ビツトだけの場合をテ
ストするには、負の信号路のみが必要とされる。
修正ハフマンRLをデコードする場合に、新しく圧縮ビ
ット(全部ゼロではない)16個、圧縮データ・レジス
タに入れられると、そのコード・ワードの残りに関して
、有効データの終りのテストは必要がない。最も長いコ
ードは13ビツトで、但しEOLへのFILL動作でつ
められる余分のゼロは別である。そこで、新しいビット
が全部ゼロでない限り、このコードの終りがマーク・ビ
ットの来る前に来ることが保証される。
ット(全部ゼロではない)16個、圧縮データ・レジス
タに入れられると、そのコード・ワードの残りに関して
、有効データの終りのテストは必要がない。最も長いコ
ードは13ビツトで、但しEOLへのFILL動作でつ
められる余分のゼロは別である。そこで、新しいビット
が全部ゼロでない限り、このコードの終りがマーク・ビ
ットの来る前に来ることが保証される。
更にタテ関連コードをデコードする際、新しいデータが
レジスタに入るとそこに8個の有効ビットがあることが
保証されており、これはEOLの最初の8ゼロを含めて
すべてのタテ関連コードをデコードするのに必要な最大
数である。この場合には有効データのチェックをしない
別の経路を後続させることができる。
レジスタに入るとそこに8個の有効ビットがあることが
保証されており、これはEOLの最初の8ゼロを含めて
すべてのタテ関連コードをデコードするのに必要な最大
数である。この場合には有効データのチェックをしない
別の経路を後続させることができる。
第3図に本発明におけるデコード方式を示す。
「デコードの始業」
デコードすべき像毎に始業処理が1回行われる。
これはコード化器の場合の始業に似ている。
人工的に全部内と全部黒のラインを作る。実際のライン
の長さが判っていなければ、LLがX’FFFF’ に
セットされ、最初の一次元ラインがデコートさ」tた後
にブランク・ラインが再計算され、実際のライン長さを
決める。
の長さが判っていなければ、LLがX’FFFF’ に
セットされ、最初の一次元ラインがデコートさ」tた後
にブランク・ラインが再計算され、実際のライン長さを
決める。
白のブランク・ラインを表示するREポイント・バッフ
ァが決められ貯えられる。下記の順序を有する。
ァが決められ貯えられる。下記の順序を有する。
16 0 0 0 LL LL LL LLLLはライ
ン長さである。
ン長さである。
黒のブランク・ラインを示すREポイント・バッファが
作られ貯えられる。これは下記の順序を有する。
作られ貯えられる。これは下記の順序を有する。
16 0 0 0 0 LL LL LLこれらバッフ
ァが、DTOPPADとDBOTPADが非ゼロである
時に、ブランク・ライン・エンド・ポイントとして用い
られる。
ァが、DTOPPADとDBOTPADが非ゼロである
時に、ブランク・ライン・エンド・ポイントとして用い
られる。
像の最初のラインが2次元デコードされ、白のブランク
歴史ラインを利用する際には、白ブランク・ライン・ラ
ン・バッファの最初の白ラン(第1のLL)を指示する
ようにHPSTが始動する。
歴史ラインを利用する際には、白ブランク・ライン・ラ
ン・バッファの最初の白ラン(第1のLL)を指示する
ようにHPSTが始動する。
圧縮データを1ビツトづつ検査するために使うレジスタ
にX ’80000000’ を入れる。これにより、
最初に読まれる圧縮データについてビットのテストを起
させる。
にX ’80000000’ を入れる。これにより、
最初に読まれる圧縮データについてビットのテストを起
させる。
他のデータ、即ちMH,BITIM、VSCALE等が
オペレータにより、所望の値に選定される。F LAG
I Dは普通、圧縮データの先頭のEOLによってセ
ットされる。若しセットされていなければ、セットしな
ければならない。
オペレータにより、所望の値に選定される。F LAG
I Dは普通、圧縮データの先頭のEOLによってセ
ットされる。若しセットされていなければ、セットしな
ければならない。
「スキップ・ライン」
DYSKIPが正であれば、適当な数の圧縮ラインがR
Eにデコードされ、その後除去されねばならない。
Eにデコードされ、その後除去されねばならない。
「パド・ライン」
若しDTOPPADが正であれば、像の上方に余分のブ
ランク・ラインを発生する必要がある。
ランク・ラインを発生する必要がある。
最初のラインは常に1次元デコードされ、これにEOL
コードがつづくから、ライン当りのビット数は最初のラ
インのデコードの終りに判る。ラインのスキップがなく
、余分のラインのパドが必要なら、出力像の寸法を事前
にセットする必要がある(これは1ラインだけデコード
して元のライン寸法を知ってから、処理を再開すること
によってできる)。
コードがつづくから、ライン当りのビット数は最初のラ
インのデコードの終りに判る。ラインのスキップがなく
、余分のラインのパドが必要なら、出力像の寸法を事前
にセットする必要がある(これは1ラインだけデコード
して元のライン寸法を知ってから、処理を再開すること
によってできる)。
ブランク・ラインを発生させるため、RP S TがP
ADCLRに従って、黒か白のブランク・ラインにセッ
トされる。若し像のRE表示が望まれるなら、16バイ
トが必要な数コピーされ出力バッファに入れられる。そ
うでなければ、REからビットへの変換手順が、第1の
ブランク・ラインの変換に適用され、結果のビット像ラ
インが必要な数コピーされる。
ADCLRに従って、黒か白のブランク・ラインにセッ
トされる。若し像のRE表示が望まれるなら、16バイ
トが必要な数コピーされ出力バッファに入れられる。そ
うでなければ、REからビットへの変換手順が、第1の
ブランク・ラインの変換に適用され、結果のビット像ラ
インが必要な数コピーされる。
[1ライン・デコード・ループ」
主デコード・ループが1本のラインをデコードする。先
ず、デコードする追加のラインがあるかテストする。若
しなければ、ループから出る。これは、圧縮データ流が
処理されなくなった時、列(ROW)内でのいくつかの
EOLの制御順序の戻りがあった場合、又は要求された
数の出力ラインがデコード済の時に起る。
ず、デコードする追加のラインがあるかテストする。若
しなければ、ループから出る。これは、圧縮データ流が
処理されなくなった時、列(ROW)内でのいくつかの
EOLの制御順序の戻りがあった場合、又は要求された
数の出力ラインがデコード済の時に起る。
1本のラインをREにデコードする手順が第4゜1図か
ら第4.6図を用いて説明される。
ら第4.6図を用いて説明される。
ビット表示像が必要な時にはRE表示をビットのラスタ
ー・スキャン形式に変換する。この方法は既知である。
ー・スキャン形式に変換する。この方法は既知である。
又、出力像をREポイント形式での多数のラインの形の
ままにしておくこともある。
ままにしておくこともある。
この表示だと容易に再コード化ができる。又、これは1
次元と2次元の算法の間の変換や他のオプションを容易
にするが、それはラスター像形式との間の変換を必要と
しないからである。
次元と2次元の算法の間の変換や他のオプションを容易
にするが、それはラスター像形式との間の変換を必要と
しないからである。
rDBOTPADJ
所定数の圧縮ラインのデコード後、若しDBOTPAD
が正であれば、余白のラインをパドする。
が正であれば、余白のラインをパドする。
D T OP P A Dの時用いた所望の色のブラン
ク・ラインを指示するのと同じ処理が、像のあとで用い
られる。この時点で、一定の像寸法に保持するためにD
BOTPADの計算がなされる。
ク・ラインを指示するのと同じ処理が、像のあとで用い
られる。この時点で、一定の像寸法に保持するためにD
BOTPADの計算がなされる。
「ライン・デコード手順」
第4.1図がデコード時の始業を示す。RPSTはRE
バッファが作られる時の場所を示しているものと想定さ
れる。長さを入れる半ワードにつづく3つの半ワードは
ゼロにされる。RPはリセットされ、最初にデコードさ
れたREが貯えられる場所を示す、最後のランROLD
はゼロで始動する。
バッファが作られる時の場所を示しているものと想定さ
れる。長さを入れる半ワードにつづく3つの半ワードは
ゼロにされる。RPはリセットされ、最初にデコードさ
れたREが貯えられる場所を示す、最後のランROLD
はゼロで始動する。
FLAGIDがテストされ、次のラインが1次元と2次
元のどちらでコード化されていると予想されるかをみる
。(若し、圧縮コードが次にEOLコードを持っていれ
ば、同じ結果を得るどちらかの経路が選ばれる)若しF
LAGIDが(1)で1次元を示したら、TPが白ラン
のRLデコード・テーブルを指示するようセットされ、
NXTTPが黒ランのRLデコード・テーブルをセット
するようセットされる。制御はループに戻り、ここでR
Lデコード手順によってランのデコードがなされる。
元のどちらでコード化されていると予想されるかをみる
。(若し、圧縮コードが次にEOLコードを持っていれ
ば、同じ結果を得るどちらかの経路が選ばれる)若しF
LAGIDが(1)で1次元を示したら、TPが白ラン
のRLデコード・テーブルを指示するようセットされ、
NXTTPが黒ランのRLデコード・テーブルをセット
するようセットされる。制御はループに戻り、ここでR
Lデコード手順によってランのデコードがなされる。
ラインを2次元デコードする際は、HPが歴史ラインを
持つREバッファの中の最初のREを指示するようにセ
ットされる。次に2次元方式でランをデコードするルー
プに戻る。
持つREバッファの中の最初のREを指示するようにセ
ットされる。次に2次元方式でランをデコードするルー
プに戻る。
第4.2図は2次元方式の内部ループを示す。
このループで次の圧縮データ・ビットを調らべる。
若し、このビットが1なら、タテ関連0 (VO)がデ
コードされたことになる。歴史REがROLDに貯えら
れ、歴史バッファ・ポインタが増加され、歴史ライン中
の次のREを指示する。デコードしたREがラインの右
端にあったか否かテストされ、若しそうならライン全部
がデコード完了でこの手順からの脱出が起る。そうでな
ければROLDを今デコードしたREのまま残し、RE
ポインタを増加し次にデコードするランに合せ、処理を
反覆する。
コードされたことになる。歴史REがROLDに貯えら
れ、歴史バッファ・ポインタが増加され、歴史ライン中
の次のREを指示する。デコードしたREがラインの右
端にあったか否かテストされ、若しそうならライン全部
がデコード完了でこの手順からの脱出が起る。そうでな
ければROLDを今デコードしたREのまま残し、RE
ポインタを増加し次にデコードするランに合せ、処理を
反覆する。
主ループには3ケ所から入れる。点Aからは、始業直後
、2次元デコードで1対のランをRLデコードした後、
又はPASSモードのデコードの後に入る。他の入口は
、非ゼロのタテ関連がデコ−ドされた際に用いられる。
、2次元デコードで1対のランをRLデコードした後、
又はPASSモードのデコードの後に入る。他の入口は
、非ゼロのタテ関連がデコ−ドされた際に用いられる。
これらの場合、デコードされた最後のREがROLDに
入っている。
入っている。
これをROに貯えて、RPを次のビットのテスト前に更
新する必要がある。デコードされたランが歴史ランの右
で終っていたら、右端に達したかのテストの前に点Cか
らループに入る。デコードしたランが歴史ランの左で終
っていたら(デコード中のラインは歴史ラインと同じ長
さの筈だから)右端に達していないことは明らかで、右
端のテストはスキップしてB点からループに入る。
新する必要がある。デコードされたランが歴史ランの右
で終っていたら、右端に達したかのテストの前に点Cか
らループに入る。デコードしたランが歴史ランの左で終
っていたら(デコード中のラインは歴史ラインと同じ長
さの筈だから)右端に達していないことは明らかで、右
端のテストはスキップしてB点からループに入る。
像の右端に達したら、デコーダ(第3図)の主ループに
戻る直前に今デコードしたラインのREバッファの始め
を示すポインタ(RP S T)がHPSTにコピーさ
れ、このラインを若し次のラインが2次元デコードされ
る際に歴史ラインとして使えるようにする。ラインをデ
コードするための他のループ脱出もすべてHPSTを勇
断する。最t1 (右端)のREの別のコピーがこの時
点でREバッファに入れられる。REバッファ中の71
イト数は選択的にRLENに貯えられ、半ワードはRP
STによって指示される。
戻る直前に今デコードしたラインのREバッファの始め
を示すポインタ(RP S T)がHPSTにコピーさ
れ、このラインを若し次のラインが2次元デコードされ
る際に歴史ラインとして使えるようにする。ラインをデ
コードするための他のループ脱出もすべてHPSTを勇
断する。最t1 (右端)のREの別のコピーがこの時
点でREバッファに入れられる。REバッファ中の71
イト数は選択的にRLENに貯えられ、半ワードはRP
STによって指示される。
主ループにおけるビットのテストが非ゼロを示せば、コ
ード・ワードを識別するため他のビットがテストされる
。この手順がタテ関連コードに関して第4.3図、PA
SSコードに関して第4゜4図に示されている。コード
・ワード全体が見付かる迄ビットは連続して調入られる
。
ード・ワードを識別するため他のビットがテストされる
。この手順がタテ関連コードに関して第4.3図、PA
SSコードに関して第4゜4図に示されている。コード
・ワード全体が見付かる迄ビットは連続して調入られる
。
VLIがデコードされる時、ROLDが歴史REの1ビ
ツト左にセットされる。歴史ポインタが(VLIのコー
ド化の時のように)くり上げられ、制御は主ループに戻
る。
ツト左にセットされる。歴史ポインタが(VLIのコー
ド化の時のように)くり上げられ、制御は主ループに戻
る。
VRIがデコードされる時、ROLDは歴史REの1ピ
ツ1〜右にセットされる。歴史ポインタが次の歴史ラン
を示すようにくり上げられる。この歴史REは、今デコ
ードしたランの終りの左には来ない。これがREの右に
在るかのテストが必要である。若し右でなかったら、H
Pが再び増加される。制御は主ループに戻る。
ツ1〜右にセットされる。歴史ポインタが次の歴史ラン
を示すようにくり上げられる。この歴史REは、今デコ
ードしたランの終りの左には来ない。これがREの右に
在るかのテストが必要である。若し右でなかったら、H
Pが再び増加される。制御は主ループに戻る。
RL前置コードがデコードされる際は、コード化器で説
明したと同様の手順で、正しいカラー・デコード・テー
ブルを示すようにテーブル・ポインタがセットされる。
明したと同様の手順で、正しいカラー・デコード・テー
ブルを示すようにテーブル・ポインタがセットされる。
反対色のために、RLデコード・テーブルにNXTTP
がセットされる。フラグ(RUN’″)がゼロにセット
され、1対のランのうちの第1のランがデコードされて
し)ることを示す。制御はRLテコ−1手順でランをデ
コードするループに移す。
がセットされる。フラグ(RUN’″)がゼロにセット
され、1対のランのうちの第1のランがデコードされて
し)ることを示す。制御はRLテコ−1手順でランをデ
コードするループに移す。
PASS (’0001’ )をデコードする際には、
エンド・ポイントFl 2をROLDとして貯え、歴史
ポインタを今デコードしているランと同色の次の歴史エ
ンド・ポイントを示すようにセットし。
エンド・ポイントFl 2をROLDとして貯え、歴史
ポインタを今デコードしているランと同色の次の歴史エ
ンド・ポイントを示すようにセットし。
主ループに戻る。
第4.4図はタテ関連デコード手順のつづきを示す。
若し残っている4つのタテ関連コード(VL2、VL3
、VR2、VR3)+71うちの1つがデコードされる
際とは、ROLDはHOに対し正い1関係になるよう計
算され、HPはコード化の際と同じ方法で更新される。
、VR2、VR3)+71うちの1つがデコードされる
際とは、ROLDはHOに対し正い1関係になるよう計
算され、HPはコード化の際と同じ方法で更新される。
制御は主ループに戻る。
’0000001’のビット・パターンは2次元コード
拡張の前置コードである6−次元デコードの際の同じ拡
張のパターンは’oooooo。
拡張の前置コードである6−次元デコードの際の同じ拡
張のパターンは’oooooo。
01′である。’0000001’の経路のテーブル・
ポインタは、1次元デコーダが拡張前置コードを処理し
終って到達するであろう点にセラ1−され、制御はR′
Lデコード・ループに移る。
ポインタは、1次元デコーダが拡張前置コードを処理し
終って到達するであろう点にセラ1−され、制御はR′
Lデコード・ループに移る。
’o o o o o o o’のビット・パターンは
EOLコードを発生ずるものと予期される。000oo
oo’の経路のテーブル・ポインタは、1次元デコーダ
がこれら7つのゼロを処理したら到達したと考えられる
点にセットされ、制御はRLデコード・ループに行く。
EOLコードを発生ずるものと予期される。000oo
oo’の経路のテーブル・ポインタは、1次元デコーダ
がこれら7つのゼロを処理したら到達したと考えられる
点にセットされ、制御はRLデコード・ループに行く。
第4.5図はRLデコード手順を示す。この手順には、
ラインの1次元デコードの始業の直後。
ラインの1次元デコードの始業の直後。
RL前置コードのデコードの後、拡張への前置コードの
デコード後、又はEOLの最初の7個のゼロをデコード
した後に、点Yから入る。
デコード後、又はEOLの最初の7個のゼロをデコード
した後に、点Yから入る。
このループはRLをデコードすることで始まる。
第4.6図に詳細を示す。若しラインの始めにEOLが
デコードされると、始業手順(第4.1図)中に点Zに
制御が戻る。又若しラインの終りでEOLがデコードさ
れると、ライン・デコーダからの脱出が起る。そうでな
い場合には、RLがデコードされた後、ROLDがRL
によって加算されている筈である。何らかの更新が必要
で、別のRLをデコードするか否かの判定がされねばな
らない。
デコードされると、始業手順(第4.1図)中に点Zに
制御が戻る。又若しラインの終りでEOLがデコードさ
れると、ライン・デコーダからの脱出が起る。そうでな
い場合には、RLがデコードされた後、ROLDがRL
によって加算されている筈である。何らかの更新が必要
で、別のRLをデコードするか否かの判定がされねばな
らない。
このラインが1次元デコードされているかを知るために
、F LAG I Dがテストされる。若しそうなら、
デコートされた最後のランのREがテストされ像ライン
の右端に来たかをみて、若しそうなら、ラインのデコー
ドは完了で、ライン・デコードから脱出する。若しそう
でなかったら、TPを反対色(次のデコードするラン)
のRL子テーブルセットし、ROLD中のREをROに
貯え、REポインタを次の(不使用の)REバッファ位
置を示すよう加算する。制御は新しく、RLをデコード
すべくループの上端に行く。
、F LAG I Dがテストされる。若しそうなら、
デコートされた最後のランのREがテストされ像ライン
の右端に来たかをみて、若しそうなら、ラインのデコー
ドは完了で、ライン・デコードから脱出する。若しそう
でなかったら、TPを反対色(次のデコードするラン)
のRL子テーブルセットし、ROLD中のREをROに
貯え、REポインタを次の(不使用の)REバッファ位
置を示すよう加算する。制御は新しく、RLをデコード
すべくループの上端に行く。
若し今ラインのデコードが2次元でされていたら、Rt
JN2がテストされ、1本目か2本目かをみる。、1本
目だったのなら2本目のランがRLでデコードされねば
ならない。2本目であることを示すようRUN2が1に
セットされ、]次元コード化の時と同じ準備手順が用い
られる。TPが反対色のRLテーブルを示すようセット
され、ROLD中のRE′IJ′XROに貯えられ、R
Eバッファの次の(不使用の)空間を示すようREポイ
ンタがくり上げられる。新しいRLのデコードをするル
ープの上端に制御が移る。
JN2がテストされ、1本目か2本目かをみる。、1本
目だったのなら2本目のランがRLでデコードされねば
ならない。2本目であることを示すようRUN2が1に
セットされ、]次元コード化の時と同じ準備手順が用い
られる。TPが反対色のRLテーブルを示すようセット
され、ROLD中のRE′IJ′XROに貯えられ、R
Eバッファの次の(不使用の)空間を示すようREポイ
ンタがくり上げられる。新しいRLのデコードをするル
ープの上端に制御が移る。
若し今のラインが2次元デコード中で、今終ったランが
2本目だったら、ROLDをテストしラインの右端に来
たかをみる。来ていれば、ライン・デコーダから出る。
2本目だったら、ROLDをテストしラインの右端に来
たかをみる。来ていれば、ライン・デコーダから出る。
未だなら、歴史ポインタを更新する。これは既に正しい
色のランを示していたから、更新することはHPで示さ
れた歴史REが今デコードしたランの終りの右にあるか
テストすることになる。若し右でなければ、HPが増さ
れ同色で次の歴史REを示し、このREがテストされる
。デコードされたランの終りの右に歴史REが見付かる
までこれがくりかえされる。今デコードの終ったランは
右端の左にあったし、結局は右端にある歴史REにぶつ
かる筈だから、上記の歴史REは見(寸かる筈である。
色のランを示していたから、更新することはHPで示さ
れた歴史REが今デコードしたランの終りの右にあるか
テストすることになる。若し右でなければ、HPが増さ
れ同色で次の歴史REを示し、このREがテストされる
。デコードされたランの終りの右に歴史REが見付かる
までこれがくりかえされる。今デコードの終ったランは
右端の左にあったし、結局は右端にある歴史REにぶつ
かる筈だから、上記の歴史REは見(寸かる筈である。
次に、制御は2次元デコードの主ループに戻る。
第4,6図はRLデコードの手順を示す。ビットは1つ
毎にテストされる。次のビットが′1′であれば1次の
入力を示すようTPが加算される。
毎にテストされる。次のビットが′1′であれば1次の
入力を示すようTPが加算される。
次の入力(TO)がX ’80’ より小さければ、未
だコード全体が見付かってはいなく、制御はループの上
端に戻り、次のビットをテストする。テストしたビット
が10 Tであれば入力値(To)がTPに加えられ、
既にデコードされたビットから始まるコードのコード・
テーブルの枝に(サブトリー)移し、ループを反覆する
。
だコード全体が見付かってはいなく、制御はループの上
端に戻り、次のビットをテストする。テストしたビット
が10 Tであれば入力値(To)がTPに加えられ、
既にデコードされたビットから始まるコードのコード・
テーブルの枝に(サブトリー)移し、ループを反覆する
。
若しどちらかの経路で、入力がX ’80’ より小で
なければ、コード・ワード全体がデコード済である。若
し入力の最高位桁の次の桁のビットがゼロであれば、終
了コードがデコードされた。このコードで示される像ビ
ットの数が、テーブル入力の下位6ビツトから得られR
OLDに加えられる。この点で−RLのデコードが完了
する。ゼロでなければ、TOがX’E8’ より大きい
かテストされる。大きくなければ、「メイク・アップ」
コードがデコードさ九た。このコードで示される像ビッ
トの数がテーブル入力の下位6ビツトに64をかけて(
これは左シフトできる)得られ、ROLDに加算される
。TPは同色RL子テーブル上端を示すようにセットさ
れねばかrない。これはTPをNXTTPにセットし、
オフセットに加算し、元のテーブルに戻ることによって
なされる。
なければ、コード・ワード全体がデコード済である。若
し入力の最高位桁の次の桁のビットがゼロであれば、終
了コードがデコードされた。このコードで示される像ビ
ットの数が、テーブル入力の下位6ビツトから得られR
OLDに加えられる。この点で−RLのデコードが完了
する。ゼロでなければ、TOがX’E8’ より大きい
かテストされる。大きくなければ、「メイク・アップ」
コードがデコードさ九た。このコードで示される像ビッ
トの数がテーブル入力の下位6ビツトに64をかけて(
これは左シフトできる)得られ、ROLDに加算される
。TPは同色RL子テーブル上端を示すようにセットさ
れねばかrない。これはTPをNXTTPにセットし、
オフセットに加算し、元のテーブルに戻ることによって
なされる。
制御はループの上端に戻り、別の「メイク・アップ」又
は終了コード・ワードをデコードする。
は終了コード・ワードをデコードする。
若し、テーブル入力がX’E8’ より大きいとEOL
がデコードされたことになる。修正ハフマン方式が用い
られていないと、タグ・ビットをデコードしFLAGI
Dをセットし吹のラインが1次元、2次元のどちらでコ
ード化されているか示さなければならない。次にROL
Dがテストされ、ラインの始め又は終りにEOLが見付
かったか否かがみられる。終りにあれば、ライン・デコ
ード手順からの脱出が起る。始めなら、制御は第4゜1
図始業手順の点2に戻る。
がデコードされたことになる。修正ハフマン方式が用い
られていないと、タグ・ビットをデコードしFLAGI
Dをセットし吹のラインが1次元、2次元のどちらでコ
ード化されているか示さなければならない。次にROL
Dがテストされ、ラインの始め又は終りにEOLが見付
かったか否かがみられる。終りにあれば、ライン・デコ
ード手順からの脱出が起る。始めなら、制御は第4゜1
図始業手順の点2に戻る。
この説明においては圧縮データには無効なコード・ワー
ドはなく、コード化器では非圧縮モードは使オ〕なかっ
たものとした。X ’E8’ より大きいテーブル入力
をすべてEOLに解釈しないで、X’Ex’でフラグさ
れた無効コードの検出に適当なテスト及びエラー処理手
順を実行できる。又、若し、非圧縮モード拡張X’Fx
’ が発見されたら、非圧縮モートのコード・ワードの
デコードにこの手順を拡張できる。
ドはなく、コード化器では非圧縮モードは使オ〕なかっ
たものとした。X ’E8’ より大きいテーブル入力
をすべてEOLに解釈しないで、X’Ex’でフラグさ
れた無効コードの検出に適当なテスト及びエラー処理手
順を実行できる。又、若し、非圧縮モード拡張X’Fx
’ が発見されたら、非圧縮モートのコード・ワードの
デコードにこの手順を拡張できる。
[発明の効果コ
本発明の方式によりコード化及びデコード処理の速さが
高速化し、データ処理システムや回線の使用時間が減少
するとともにこれら装置の使用能率が向上する。
高速化し、データ処理システムや回線の使用時間が減少
するとともにこれら装置の使用能率が向上する。
第」1図は本発明のコード化方式のフロー図、第2.1
図はライン・コード化手順始業フロー図、第2.2図は
ライン・コード化内部ループ・フロー図、第2.3図は
タテ関連コード化フロー図、第2.4図はRLコート化
ラフロー図第2.5図は1本のRLコード化フロー図、
第3図はデコーダ・フロー図、第4.1図はライン・デ
コーダ始業フロー図、第4.2図はライン・デコーダ内
部ループ・フロー図、第4.3図はタテ関連デコード・
フロー(1)図、第4.4図はタテ関連デコード・フロ
ー(2)図、第4.5図はRLデコート・フロー図、第
4.6図は1本のRLデコード・フロー図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 弁理士 山 本 仁 朗 (外1名) RLフード化ラフロー1本) 第2.5図 デコーダ・フロー図 ライン・テパコーダ協業 第4.1図 第1頁の続き [相]発明者 ジエラルド・ゴーツエ アメル ノマロ リカ合衆国ニューヨーク州ホワイト・プレーンズ、スー
・サークル7番地
図はライン・コード化手順始業フロー図、第2.2図は
ライン・コード化内部ループ・フロー図、第2.3図は
タテ関連コード化フロー図、第2.4図はRLコート化
ラフロー図第2.5図は1本のRLコード化フロー図、
第3図はデコーダ・フロー図、第4.1図はライン・デ
コーダ始業フロー図、第4.2図はライン・デコーダ内
部ループ・フロー図、第4.3図はタテ関連デコード・
フロー(1)図、第4.4図はタテ関連デコード・フロ
ー(2)図、第4.5図はRLデコート・フロー図、第
4.6図は1本のRLデコード・フロー図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 弁理士 山 本 仁 朗 (外1名) RLフード化ラフロー1本) 第2.5図 デコーダ・フロー図 ライン・テパコーダ協業 第4.1図 第1頁の続き [相]発明者 ジエラルド・ゴーツエ アメル ノマロ リカ合衆国ニューヨーク州ホワイト・プレーンズ、スー
・サークル7番地
Claims (1)
- 【特許請求の範囲】 複数個の信号ディジタル・データ・ビットを含むデータ
・ラインを反覆的に多数含むデータ信号であって相続く
ラインの中のビット値の間に関連性のあるデータ信号を
コード化及び解号する方式相続く上記ラインに含まれて
いるビット値を比較し、 関連性を検出した際に関連コード・ワードを発生し、 関連性を検出しなかった際は共通のビット値をもつデー
タ・ビット列についてテーブル・ルックアップによって
ラン・コード・ワードを発生し、ラン・コード・ワード
中のデータ・ビットの数を示すデータを上記ラン・コー
ド・ワードに対応するテーブル入力値から予定の値オフ
セットした位置に貯え、 上記発生された関連コード・ワードとラン・コード・ワ
ードを合計してコード化データ流を作り、上記コード化
データ流を伝送し、 伝送されて来た上記関連コード・ワードについては上記
予定の関連性に従って解号し、上記ラン・コード・ワー
ドについては上記テーブル・ルックアップにより共通の
ビット値のビット列を解号し上記解号したデータ・ビッ
トを予定の関係で再配置してデータ信号を復元すること
、からなるコード化及び解帯方式。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US57123984A | 1984-01-16 | 1984-01-16 | |
| US571239 | 1984-01-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS60154776A true JPS60154776A (ja) | 1985-08-14 |
Family
ID=24282881
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26315884A Pending JPS60154776A (ja) | 1984-01-16 | 1984-12-14 | コード化及び解号方式 |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP0149124B1 (ja) |
| JP (1) | JPS60154776A (ja) |
| CA (1) | CA1335309C (ja) |
| DE (1) | DE3483521D1 (ja) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0179203B1 (en) * | 1984-10-24 | 1992-04-29 | International Business Machines Corporation | Method for enlarging an image stored in run representation form |
| US4885576A (en) * | 1986-04-02 | 1989-12-05 | International Business Machines Corporation | Soft copy display of facsimile images |
| US4760459A (en) * | 1986-07-30 | 1988-07-26 | Kabushiki Kaisha Toshiba | Binary data compression and expansion processing apparatus |
| GB2208059B (en) * | 1987-08-11 | 1991-09-25 | Apple Computer | Video compression algorithm |
| US5033105A (en) * | 1987-08-11 | 1991-07-16 | Apple Computer | Video compression algorithm |
| US4968135A (en) * | 1987-08-17 | 1990-11-06 | Digital Equipment Corporation | System for producing pixel image data from CCITT encoded pixel data |
| DE3884604T2 (de) * | 1987-08-17 | 1994-03-17 | Digital Equipment Corp | System zur produktion von pixelbilddaten aus ccitt-kodierten pixeldaten. |
| US6373583B1 (en) * | 1998-11-16 | 2002-04-16 | Hewlett-Packard Company | Compound document page data compression |
| US6972868B1 (en) | 2000-11-09 | 2005-12-06 | Hewlett-Packard Development Company, L.P. | Image data compression method |
| US7373008B2 (en) | 2002-03-28 | 2008-05-13 | Hewlett-Packard Development Company, L.P. | Grayscale and binary image data compression |
| CN118941437B (zh) * | 2024-09-30 | 2024-12-20 | 四川观想科技股份有限公司 | 一种基于数据纠错防丢失的离散式数据存储方法 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5570172A (en) * | 1978-11-22 | 1980-05-27 | Kokusai Denshin Denwa Co Ltd <Kdd> | Two-dimensional sequential coding system |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3646257A (en) * | 1969-03-13 | 1972-02-29 | Electronic Image Systems Corp | Communication system having plural coding vocabularies |
| JPS5826713B2 (ja) * | 1976-06-28 | 1983-06-04 | 日本電信電話株式会社 | 2値信号の逐次境界差分符号化伝送方式 |
| JPS5610774A (en) * | 1979-07-09 | 1981-02-03 | Ricoh Co Ltd | Facsimile device |
-
1984
- 1984-12-11 EP EP19840115016 patent/EP0149124B1/en not_active Expired
- 1984-12-11 DE DE8484115016T patent/DE3483521D1/de not_active Expired - Lifetime
- 1984-12-14 JP JP26315884A patent/JPS60154776A/ja active Pending
-
1985
- 1985-01-04 CA CA 471574 patent/CA1335309C/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5570172A (en) * | 1978-11-22 | 1980-05-27 | Kokusai Denshin Denwa Co Ltd <Kdd> | Two-dimensional sequential coding system |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0149124A3 (en) | 1987-08-19 |
| DE3483521D1 (de) | 1990-12-06 |
| EP0149124A2 (en) | 1985-07-24 |
| EP0149124B1 (en) | 1990-10-31 |
| CA1335309C (en) | 1995-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5297220A (en) | Image processing system for image compression and decompression | |
| US5162795A (en) | Coding and decoding apparatus of variable length data | |
| US4725815A (en) | Method for encoding and decoding a digital image | |
| EP0776569B1 (en) | Method and system for encoding and decoding image data | |
| US4602383A (en) | Image data compression system | |
| JPH0771185B2 (ja) | 画像データ変換方法 | |
| US4809081A (en) | Method and apparatus for decompressing encoded data | |
| JPS60154776A (ja) | コード化及び解号方式 | |
| JPS6338913B2 (ja) | ||
| JPS59178077A (ja) | 2値画像のデ−タ圧縮方法 | |
| AU2003289325B2 (en) | Image encoding device and method, and encoded image decoding device and method | |
| US4972497A (en) | Image coding system | |
| JPH04270564A (ja) | カラー情報を有するシリアル画像データ圧縮方式 | |
| JPS63190473A (ja) | 多階調画像デ−タの情報量圧縮方法及び装置 | |
| JP2755464B2 (ja) | 画像データ圧縮方式 | |
| JPH04270569A (ja) | 画像処理装置におけるデータ圧縮方式 | |
| JPH04216272A (ja) | Mr符号の復号化方法 | |
| KR900007566B1 (ko) | 화상데이터 변환장치 및 방법 | |
| JP2755463B2 (ja) | 画像データ圧縮方式 | |
| JP2506794B2 (ja) | 復号化処理方法 | |
| JPH01174173A (ja) | 2値画像データの圧縮符号化方法 | |
| US5847841A (en) | Mixed-mode symbol removal for facsimile data compression | |
| JPS6051370A (ja) | 画像情報符号化処理装置 | |
| JPS60182874A (ja) | 圧縮符号解読回路 | |
| JPH03236680A (ja) | 画像データ圧縮方式 |