JP2945324B2 - 圧縮解除装置及びその方法 - Google Patents

圧縮解除装置及びその方法

Info

Publication number
JP2945324B2
JP2945324B2 JP8173601A JP17360196A JP2945324B2 JP 2945324 B2 JP2945324 B2 JP 2945324B2 JP 8173601 A JP8173601 A JP 8173601A JP 17360196 A JP17360196 A JP 17360196A JP 2945324 B2 JP2945324 B2 JP 2945324B2
Authority
JP
Japan
Prior art keywords
code
codes
bits
data
long horizontal
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
Application number
JP8173601A
Other languages
English (en)
Other versions
JPH0936751A (ja
Inventor
エス.カオ ジーン
メドラノ ルーベン
ロッドリゲス レイモンド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JPH0936751A publication Critical patent/JPH0936751A/ja
Application granted granted Critical
Publication of JP2945324B2 publication Critical patent/JP2945324B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子的に圧縮され
たドキュメント(原稿又は文書)の復元に係り、より詳
細には、CCITT、IBMMR及びTIFFコードを
復号すると共に、各クロックサイクルにおいて一般的に
少なくとも4ビットの圧縮解除されたデータを高速プリ
ントエンジンに供給するために用いられるデコンプレッ
サに関する。
【0002】
【従来の技術】より高速なプリントエンジンへのニーズ
が高まるにつれて、より高速なデコンプレッサへのニー
ズも高まっている。高速なプリントエンジンは、当該プ
リントエンジンによるデータの消耗速度と整合する速度
を有する圧縮解除データのフローを提供するデコンプレ
ッサを必要とする。デコンプレッサがプリントエンジン
より低速である場合、印刷されるドキュメントにギャッ
プが現れる。
【0003】通常、ドキュメント上に頻出するカラーの
変化を示すコードは、デコンプレッサを低速化する。C
CITTの2次元圧縮アルゴリズム、IBMMR及びT
IFFの全てのコードの中で、いくつかのコードは、潜
在的に1ビットのみのデータしか生成することができな
い。これらのコードのシーケンス(順序配列)が、最悪
状態でのパフォーマンス、即ち、カラーの最も頻繁な変
化を生じることになる。これによって、プリントエンジ
ンへのデータのフローが低速化される。
【0004】
【発明が解決しようとする課題】各クロックサイクルに
おいて2ビットの圧縮解除されたデータを生成すること
ができるデコンプレッサは提供されている。しかしなが
ら、デコンプレッサの速度を一層高める必要がある。
【0005】
【課題を解決するための手段】本発明の目的は、一般的
に4ビットの圧縮解除されたデータを各クロックサイク
ルにおいて提供することによって、CCITT、IBM
MR及びTIFFコードを圧縮解除する速度を高めるこ
とである。以下には、簡単化を目的とするために、CC
ITTコードについて説明されている。しかしながら、
本発明の開示されている実施の形態は、CCITTコー
ドだけでなく、IBMMR及びTIFFコードを圧縮解
除するためにも使用できることに注目されたい。
【0006】本発明によれば、コードを圧縮解除し、概
して、4ビット以上の圧縮解除されたデータを伝送でき
るデコンプレッサが開示されている。
【0007】本発明の一つの態様は、圧縮された画像デ
ータを圧縮解除する装置であって、(a)1クロックサ
イクルにおいて一連の所与の数のコードを受け取ると共
にそれらを長水平コード又は非長水平コードへ識別する
手段を備え、前記所与のコード数が、1クロックサイク
ルにおいて生成される圧縮解除データの所望される所与
の最小ビット数に等しく、(b)前記受け取り手段に接
続された並列復号手段を備え、(c)前記受け取り手段
に接続された長コード復号手段を備え、(d)識別され
た長水平コードを前記長コード復号手段へ送り、一つ以
上の非長水平コードから成る一連の非長水平コード内の
識別された非長水平コードを1クロックサイクルにおい
て前記並列復号手段へ送る手段を、前記受け取り手段が
有し、(e)前記並列復号手段が、1クロックサイクル
において受け取られた非長水平コードの各々を1クロッ
クサイクルにおいて並列で復号する複数の復号手段を有
し、(f)デコーダを有する前記複数の復号手段の内の
一つが、一連の非長水平コードの第1のコードを受け取
るように構成及び配列されていると共に、残りの前記複
数の復号手段が、一連の非長水平コード内の残りのコー
ドの全てを受け取るように構成及び配列されており、
(g)前記並列復号手段が、前記並列復号手段によって
受け取られた残りの非長水平コードの各々に対して、残
りのコードのそれぞれに先行する一連の非長水平コード
内のコードによって同一クロックサイクルで生成され得
るビット数の全ての可能な条件に対して、それぞれの残
りのコードを1クロックサイクルで復号し、前記可能な
条件が、1クロックサイクルで生成される圧縮解除され
たデータの所望される所与の最小ビット数より1ビット
少ないビット数までの残りのコードのそれぞれに先行す
る前記一連の非長水平コード内のコードによって生成さ
れ得る最小累積ビット数であり、(h)前記並列復号手
段が、一連の非長水平コードの残りのコードのそれぞれ
に対して指定された数だけのデコーダを有し、その数
は、残りのコードのそれぞれに先行する一連の非長水平
コード内のコードによって生成され得る所望の所与の最
小ビット数までの全ての可能な条件のビット数に等し
く、特定のコードを受け取るための前記指定されたデコ
ーダの数が1より多い時は、前記指定された数のデコー
ダのそれぞれが、可能な条件の内の1つの異なる特定の
条件に対して、同一クロックサイクルにおいてそれぞれ
のコードを復号し、(i)前記並列復号手段に接続され
た非長水平コード圧縮解除データ選択手段を備え、前記
データ選択手段は、i. 前記第1のコードが、少なくと
も所望される所与の最小ビット数の圧縮解除されたデー
タを生成する場合、又は前記第1のコードが一連の非長
水平コード内の唯一のコードである場合、一連の非長水
平コード内の第1のコードの圧縮解除されたデータを選
択し、ii. 前記第1のコードによって生成された圧縮解
除されたデータのビット数が所望された所与の最小ビッ
ト数より少ない場合、及び、第1の二つのコードが、少
なくとも所望された所与の最小ビット数である圧縮解除
されたデータの累積ビット数を生成するか又は第2のコ
ードが一連の非長水平コード内の最後のコードである場
合、一連の非長水平コード内の第1のコードの圧縮解除
されたデータ、及び前記第1のコードの圧縮解除された
データによって生成された実際のビット数に整合する可
能な圧縮解除されたデータの条件に対応する前記非長水
平コード内の第2のコードのための圧縮解除されたデー
タを選択し、iii.第1の二つのコード及び少なくとも所
望される所与の最小ビット数の累積総数を生成する一つ
以上のコードのいずれかによって、第1の二つのコード
によって生成された圧縮解除されたデータの累積ビット
数が、所望される所与の最小ビット数より少ないことが
決定される場合、及び圧縮解除されたデータが選択され
る最後のコードに先行する一連の非長水平コード内のコ
ードによって生成された圧縮解除されたデータの累積ビ
ット数が前記所望された所与の最小ビット数より少ない
か又は選択された最後のコードが一連の非長水平コード
内の最後のコードである場合、一連の非長水平コード内
の第1の二つのコードと、前記一連の非長水平コード内
の第1の二つのコードの圧縮解除されたデータの選択と
同様に第1の二つのコードに続く一連の非長水平コード
内の任意の一つ以上のコードを選択し、(j)前記長コ
ード復号手段へ送られた長コードの圧縮解除されたデー
タを選択するために前記長コード復号手段に接続された
長水平コード圧縮解除データ選択手段を備える圧縮解除
装置である。
【0008】本発明の他の態様は、圧縮された画像デー
タを圧縮解除する方法であって、(a)一連の所与の数
のコードを取り、1クロックサイクルにおいてこれらの
コードを長水平コード又は非長水平コードへ識別するス
テップを備え、(b)一つ以上の非長水平コードから成
る一連の非長水平コードを1クロックサイクルにおいて
並列で復号するステップを備え、一連の非長水平コード
の第1のコードを除いた各コードに対する復号が、一連
の非長コードのコードのそれぞれに先行する一連の非長
水平コード内のコードによって同一クロックサイクルに
おいて生成され得るビット数の全ての可能な条件に対し
て実行され、前記可能な条件が、1クロックサイクルに
おいて生成される圧縮解除されたデータの所望される所
与の最小ビット数より1ビット少ないビット数までの一
連の非長コードの第1のコードを除いた各コードに先行
する前記一連の非長水平コード内のコードによって生成
され得る最小累積ビット数であり、(c)前記第1のコ
ードが少なくとも所望される所与の最小ビット数の圧縮
解除されたデータを生成する場合、又は前記第1のコー
ドが一連の非長水平コード内の唯一のコードである場
合、非長水平コード内の第1のコードの圧縮解除された
データを選択するステップを備え、(d)前記第1のコ
ードによって生成された圧縮解除されたデータのビット
数が所望された所与の最小ビット数より少ない場合、及
び、第1の二つのコードが、少なくとも前記所望された
所与の最小ビット数である圧縮解除されたデータの累積
ビット数を生成するか又は前記第2のコードが一連の非
長水平コード内の最後のコードである場合、一連の非長
水平コード内の第1のコードの圧縮解除されたデータ、
及び前記第1のコードの圧縮解除されたデータによって
生成された実際のビット数に整合する可能な圧縮解除さ
れたデータの条件に対応する前記非長水平コード内の第
2のコードのための圧縮解除されたデータを選択するス
テップを備え、(e)第1の二つのコード及び少なくと
も前記所望される所与の最小ビット数の累積総数を生成
する一つ以上のコードのいずれかによって、第1の二つ
のコードによって生成された圧縮解除されたデータの累
積ビット数が、所望される所与の最小ビット数より少な
いことが決定される場合、及び圧縮解除されたデータが
選択される最後のコードに先行する一連の非長水平コー
ド内のコードによって生成された圧縮解除されたデータ
の累積ビット数が前記所望された所与の最小ビット数よ
り少ないか又は選択された最後のコードが一連の非長水
平コード内の最後コードである場合、一連の非長水平コ
ード内の第1の二つのコードと、一連の非長水平コード
内の第1の二つのコードの圧縮解除されたデータの選択
と同様に第1の二つのコードに続く一連の非長水平コー
ド内の任意の一つ以上のコードを選択するステップを備
える圧縮解除方法である。
【0009】
【発明の実施の形態】図1は、本発明のブロック図であ
る。本発明のデコンプレッサ10において、コード識別
及び変換ブロック12は、32ビットバス14の全体に
対してプロセッサインタフェースから可変長コード(圧
縮画像データ)を受け取る。このコード識別及び変換ブ
ロック12はライン14を介して各クロックサイクルに
おいて32ビットのデータを受け取ると共に、同一クロ
ックサイクルにおいて、一連の4つのコードを識別し、
これらを4つの固定長中間コードへ変換する。また、こ
のコード識別及び変換ブロック12は長水平コードを非
長水平コードから分離する。長水平コードは、4ビット
より多い圧縮解除されたデータを生成する水平コードと
して定義される。PVSHコードと呼ばれる非長水平コ
ードは、パスコード、垂直コード、及び短水平コードを
含む。短水平コードは、4ビット以下の圧縮解除データ
を生成するコードである。
【0010】コード識別及び変換ブロック12は、一連
のPVSH中間コードをライン18を介して並列デコー
ダ16へ送る。しかしながら、長水平コードがある場
合、当該コード識別及び変換ブロック12は、この長水
平コードより前にPVSHコードをライン18を介して
並列デコーダ16へ伝送し、この長水平コードとそれに
続くコードを次のクロックサイクルまで保持する。次の
クロックサイクルにおいて、コード識別及び変換ブロッ
ク12は、並列デコーダ16へ中間コードを伝送し、ラ
イン22を介して、LHカウント(長水平カウント)を
長コードデコーダ20へ伝送する。
【0011】同一クロックサイクルにおいて、並列デコ
ーダ16又は長コードデコーダ20のいずれかが、中間
データと、圧縮解除されたデータのビット数に対するカ
ウントと、を生成する。並列デコーダ16からの中間デ
ータはPiデータ(Pidata)(PVSH中間データ)と
呼ばれ、並列デコーダ16からの圧縮解除されたデータ
に対するカウントはPデルタ(Pdelta)(PVSHデル
タ)と呼ばれる。Piデータ及びPデルタは、ライン2
8及び30のそれぞれを介して、並列デコーダ16から
データ拡大ブロック26へ送られる。長コードデコーダ
20からの中間データはLHiデータ(LHidata )(長
水平中間データ)と呼ばれ、長コードデコーダ20から
圧縮解除されたデータのカウントは、LHデルタ(LHde
lta )(長水平デルタ)と呼ばれる。
【0012】LHiデータとLHデルタは、ライン32
及び24のそれぞれを介して、長コードデコーダ20か
らデータ拡大ブロック26へ送られる。同一クロックサ
イクルにおいて、データ拡大ブロック26は、並列デコ
ーダ16又は長コードデコーダ20のいずれかから中間
データを拡大して圧縮解除されたデータ36を生成す
る。データ拡大ブロック26は、各クロックサイクルか
ら圧縮解除されたデータを、事前クロックサイクルの圧
縮解除されたデータと連結し、32ビットの圧縮解除さ
れたデータが使用可能となるまでその結果(値)を格納
する。この場合、データ拡大ブロック26は32ビット
の圧縮解除されたデータを伝送する。この圧縮解除され
たデータはライン40を介して先行ラインプロセッサ3
8へ送られる。先行ラインプロセッサ38は、ライン4
2を介して、PVSHコードを圧縮解除するために必要
なデータを、先行ラインから並列デコーダ16へ提供す
る。先行ラインプロセッサ38は、1つの走査ラインの
全てのビットを保持する。
【0013】コード識別及び変換ブロック12は、入力
される非圧縮データとそのカウントをライン24及び2
5を介してデータ拡大ブロック26へ伝送する。いくつ
かのコード化システムにおいて、コード化されたデータ
が生データより大きくなった場合、コードは無視され、
生データは非圧縮データとして送られる。従って、デコ
ンプレッサは非圧縮データを認識すると共に、当該非圧
縮データを受け取り、それを変更せずに伝送しなければ
ならない。拡大ブロック26は非圧縮データを受け取
り、それを変更せずに伝送する。
【0014】コード識別及び変換ブロック12におい
て、その目標は、コード長が1から9ビットまで変化す
る四つのコードを認識することである。図2に関して
は、コードパターン及びそれらのコード長が示されてい
る。例えば、VR3のためのコード長は7ビット、H
(1Wの長さは9ビット、又はパスコードの長さは4ビ
ットである。しかしながら、示されているように、コー
ド長は9ビット以下である。コード表記法"(" は、リー
ディング水平コードを示し、")" は、終端水平コードを
表す。
【0015】四つのコードが並列で識別される場合、四
つのコードの可能性のある組合せは4000件以上もあ
る。この並列の方式によって、非常に大きな複雑なデザ
インが生じることになる。他の方式は、シーケンス(順
序配列)内で四つのコードを識別することである。この
方式において、一つのコードが識別されてシフトされた
後、第2のコードが識別されてシフトされ、次いで第3
のコードが識別されてシフトされ、最後に、第4のコー
ドが識別される。このシーケンシャルな方式によってシ
ーケンシャルな識別及びシフトを介して長いタイミング
遅延が生じることになる。
【0016】本発明においては、中間のグラウンド方式
が取られる。この方式において、二つのコードが同時に
識別され、データはシフトされ、次の二つのコードが同
時に識別される。全ての四つのコードの識別が1クロッ
クサイクル期間で実行される。第1及び第2のコードが
並列で識別され、これらが共にシフトされ、これによ
り、シフトされたデータが第3及び第4のコードを求め
て並列で探索され得る。コードが二つだけが並列で識別
されるにすぎないので、複雑さが軽減される。この方式
においては、シーケンシャルな方式の3つのシフトに比
較して1度のシフトで済む。従って、本発明の方式によ
ってそのタイミングが大きく向上する。
【0017】図3に関しては、コード識別及び変換ブロ
ック12の詳細なブロック図が示されている。コードバ
ッファ50は、各クロックサイクルでライン14を介し
て32ビットのデータを受け取る。受け取られたデータ
は、幅32ビット、奥行き4ビットのコードバッファ5
0内に格納される。コードバッファ50は、各クロック
サイクルで、ライン51、53、54及び55を介し
て、四つの32ビットデータを、位置合わせシフタブロ
ック52へ送る。位置合わせシフターブロック52は、
データを受け取り、ライン56を介して30ビットのデ
ータをPVSHコードコンバータ58、長コードコンバ
ータ60及び非圧縮バッファ62へ送る。位置合わせシ
フタ52は、幅が71ビット、奥行きが4ビットであ
る。この位置合わせシフタブロック52は、シフトせず
に、最初の30ビットを送る。30ビットのデータが送
られる理由は、四つのコードの最大使用可能ビット数が
30ビットだからである。例えば、7ビットを有するコ
ードが三つと9ビットを有するコードが一つで合計ビッ
トが30ビットとなる。従って、各コード上のビット数
によって、四つのコードが30ビットより少ないことも
ある。
【0018】各クロックサイクルにおいて、圧縮解除中
の4連続コードが30ビット以下を有してもよいので、
位置合わせ及びシフタブロック52は、非使用ビットを
追跡し、非使用ビットをシフトして入力データと位置合
わせしなければならない。図4に関しては、位置合わせ
シフタ52の一つのローが示されている。位置合わせシ
フタ52内の各レジスタは、71ビット、B0〜B70
を有している。各サイクルにおいて、n個のビットが使
用される場合、位置合わせ及びシフタブロック52は、
n+1ビットをB0へシフトし、n+1ビット以降の全
ての非使用ビットをB0の後に続くビットへシフトす
る。各クロックサイクルにおいて使用されるビット数に
よって、位置合わせ及びシフタブロック52は、コード
バッファ50から新しいビットのセットを取り込む。新
しいビットのセット内のビット数は、先行クロックサイ
クルで使用されたビット数に等しい。従って、ライン5
1、53、54及び55はそれぞれ32ビットバスであ
るので、各クロックサイクルにおいて、位置合わせシフ
タブロック52は、一つのバスか又は二つの連続バスの
いずれかから新しいビットのセットを取り込む。この連
続バスでは、一つのバスがもう一方のパスの後続32ビ
ットを搬送する。
【0019】図3に戻って参照すると、PVSHコード
コンバータ58は、PVSHコードを固定長PVSH中
間コードへ変換し、ライン18を介してこれらのコード
を並列デコーダ16(図1)へ送る。長コードコンバー
タ60は、長水平コードに対するLHカウントを生成
し、それをライン22を介して長コードデコータ20へ
送ると共に、ライン64を介してPVSHコードコンバ
ータへ信号を送って、長水平コードが存在するので、P
VSHコードコンバータが並列デコーダ16(図1)へ
無視中間コード(ignore intermediate code)を送らな
ければならないことをPVSHコードコンバータに知ら
せる。
【0020】図5に関しては、PVSHコードコンバー
タ58の詳細なブロック図が示される。PVSHコード
コンバータ58は各クロックサイクルで四つのコードを
識別しなければならない。本発明において、一つそして
次のコードから成る二つのコードのあらゆる異なる組合
せを有する2コード識別ルックアップテーブルが生成さ
れた。従って、入力コードからのビットをこれらの組合
せの内の一つと照合させることによって、一度に二つの
コードが識別される。
【0021】PVSHコードコンバータ58は、二つの
ブロック70及び72を有している。これらのブロック
70及び72のそれぞれは、2コード識別ルックアップ
テーブルである。これらの2コード識別ブロック70
は、第1の二つのコードを見つけてこれらの二つのコー
ドの総数をライン76を介してシフタ74へ送る。シフ
タ74は、位置合わせ及びシフタ52(図3)から受け
取った30ビットを、第1の二つのコードからのビット
の総数分、シフトする。次いで、シフトされたデータ
は、第3と第4のコードが識別される2コード識別ブロ
ック72へ送られる。2コード識別ブロック70からの
第1の二つのコードがライン80を介してコードコンバ
ータ78へ送られ、2コード識別ブロック72からの二
つのコードがライン84を介してコードコンバータ82
へ送られる。コードコンバータブロック78及び82
は、それぞれ、二つの識別されたコードを二つの固定長
中間コードへ変換する。これによって、二つの中間コー
ドiコードA及びiコードBは、ライン88を介してコ
ードコンバータ78からコードコンバイン86へ送ら
れ、これらの二つの中間コードiコードC及びiコード
Dは、ライン90を介してコードコンバータ82からコ
ードコンバイン86へ送られる。全部で四つの中間コー
ドiコードA、iコードB、iコードC及びiコードD
は、ライン18を介してコードコンバイナ86から送ら
れる。
【0022】図6に関しては、長コードコンバータ60
(図3)の詳細なブロック図が示されている。長コード
コンバータ60は、30ビットのデータを位置合わせ及
びシフタブロック52(図3)から受け取る。長コード
コンバータブロック60は二つのルックアップテーブル
100及び102を有し、一つはホワイトリーディング
コードを示し、他の一つはブラックリーディングコード
を示すと共に、二つのルックアップテーブル104及び
106を有し、この一つがホワイトリーディングコード
を示し、他の一つがブラックリーディングコードを示
す。
【0023】30ビットデータは、位置合わせ及びシフ
タブロック52からライン56を介してブロック10
0、102、104及び106へ送られる。ブロック1
00及び102は、それぞれ、リーディングコードを発
見し、当該リーディングコードのためのカウントを送
る。また、ブロック104及び105は、それぞれ、ト
レーリングコードを発見し、当該トレーリングコードの
ためのカウントを送る。ブロック100、102、10
4及び106は、ライン108、110、112及び1
14のそれぞれへカウントを送る。コードのカラーによ
って、マルチプレクサ(MUX)116は、リーディン
グコードに対してカウント108又は110の内の一つ
の選択し、マルチプレクサ(MUX)118は、トレー
リングコードに対してカウント112又は114の内の
一つを選択する。リーディングコードのためのカウント
はライン122を介してMUX120へ送られ、トレー
リングコードのためのカウントはライン124を介して
MUX120へ送られる。MUX120はライン22を
介してLHカウント(長水平カウント)を長コードデコ
ーダ20(図1)へ送る。
【0024】図3に戻って参照すると、非圧縮データバ
ッファ62がコード同士の間に非圧縮データを格納する
ために使用されている。非圧縮データバッファ62は、
非圧縮データUcデータ24とそのカウントUcデルタ
25を保持し、適時にそれらをデータ拡大ブロック26
へ送る。
【0025】本発明のエンコーダを理解するためには、
CCITTアルゴリズムにおいて使用される規約を理解
しなければならない。図7に関しては、先行ラインデー
タ130の一部と、現在ラインデータ132の対応して
いる部分が示されている。現在ラインデータ132にお
いて、a0はコード化の開始位置を示す。ラインのスタ
ートにおいて、現在ライン上の第1のエレメントの前に
配置された仮想ホワイト位置上にa0がセットされてい
る。現在ライン132のコード化の間、a0の位置は、
先行するコード化モードによって定義される。現在ライ
ン132において、a1は、a0の右に、次のカラー変
化、即ちa0と反対のカラーを示す。また、a2は、a
1の右に、次のカラー変化を示す。先行ライン130に
おいて、b1は、a0の右に、第1のカラー変化即ちa
0と反対のカラーを示すと共に、b2は、b1の右に、
次のカラー変化を示す。
【0026】更に、本発明において、ビット割当ては先
行ラインデータ上のビットへ付与される。先行ラインの
ビット割当ては、開始位置a0に基づく。図8に関して
は、P0は、a0と同じ位置(a0の真上)を有する先
行ライン上のビットであり、P1、P2、P3、P4、
P5、P6、P7及びP8は、ビットP0から始まって
P0の右へ連続するビットである。
【0027】並列デコーダ16(図1)は、四つのコー
ドを並列で復号しなければならない。各コードから圧縮
解除されたデータ長が知られていないため、並列の復号
は複雑になる。例えば、図8に関しては、3ビットの圧
縮解除されたデータを生成するコード例が示されてい
る。この例において、a0は3ビットの圧縮解除された
データを生成したコードの開始位置である。次のコード
a0’の開始位置は、a0から三つ目に位置する。しか
しながら、図9に関しては、第1のコードが2ビットの
データを生成する場合、後に続くコードの開始位置a
0’はa0から2ビット離れている。各コードからの圧
縮解除されたビットの数がわかっていない場合、後に続
くコードのための開始位置を選択するための問題が生じ
る。
【0028】本発明においては異なる可能性が考えられ
る。並列デコーダ16(図1)は、iコードA、iコー
ドB、iコードC及びiコードDを受け取る。iコード
Aは、4ビット以上、3ビット、2ビット又は1ビット
の圧縮解除されたデータのいずれかを生成する。iコー
ドAが4ビット以上を生成する場合、iコードAからの
圧縮解除されたデータが選択され、それに続く中間のコ
ード又は複数のコードからの圧縮解除データは現在クロ
ックサイクルでは無視される。無視された中間コード
は、それに続くクロックサイクル又は複数のクロックサ
イクル上で圧縮解除される。しかしながら、iコードA
が4ビット以下の圧縮解除されたデータを生成する場
合、三つの可能な条件が存在している。iコードAは、
後に続くコードに対する開始位置がa0から一つ目であ
る1ビットを生成する。iコードAは、iコードBの開
始位置がa0から二つ離れている2ビットのデータを生
成してもよい。最後には、iコードAは、iコードBの
開始位置がa0から三つ離れている3ビットのデータを
生成してもよい。これらの結果をあらゆる条件に当ては
めるため、iコードBは三つの異なる開始位置を想定し
ながら、復号される。
【0029】また、iコードA及びiコードBの両方か
ら組合わされた圧縮解除されたデータは、4ビットより
少なくともよい。この場合、iコードA及びiコードB
から圧縮解除されたデータは、その後に続くコード、i
コードC、から圧縮解除されたデータと組合わされなけ
ればならない。iコードAとiコードBの組合わせが4
ビットより少ないデータを生成する場合、二つの可能性
しか存在しない。それらの可能性は、2ビット又は3ビ
ットの圧縮解除されたデータが生成される可能性であ
る。従って、iコードCの開始位置は、a0から2ビッ
ト離れているか又はa0から3ビット離れているかのど
ちらかである。これらの結果をあらゆる条件にあてはめ
るため、iコードCは二つの異なる開始位置を想定して
復号される。
【0030】最後に、iコードA、iコードB及びiコ
ードCから組み合わされた圧縮解除されたデータが4ビ
ットより少ない圧縮解除されたデータを生成する場合、
これらのデータは3ビットのデータを生成したはずであ
る。この場合、iコードA、iコードB、及びiコード
Cから圧縮解除されたデータは、iコードDの圧縮解除
されたデータと組み合わされる。これによって、デコー
ダDはa0から3ビット離れた開始位置を有している。
【0031】図10に関しては、図1の並列デコーダ1
6の詳細なブロック図が示されている。並列デコーダ1
6は、7つのデコーダA、B1、B2、B3、C1、C
2及びDを有する。7つのデコーダのうち、iコードA
に対しては一つのデコーダAが提供される。iコードB
に対しては三つのデコーダB1、B2及びB3、iコー
ドCに対してはデコーダC1及びC2、並びにiコード
Dに対してはデコーダDが提供される。デコーダB1
は、iコードAが一つの圧縮解除されたデータのみを生
成したと想定し、デコーダB2はiコードAが2ビット
の圧縮解除されたデータを生成したと想定し、デコーダ
B3は、iコードAが3ビットの圧縮解除されたデータ
を生成したものと想定する。デコーダC1は、iコード
AとiコードBが共に2ビットだけの圧縮解除されたデ
ータを生成したものと想定し、デコーダC2は、iコー
ドAとiコードBが共に3ビットの圧縮解除されたデー
タを生成したものと想定する。最後に、デコーダDは、
iコードA、iコードB及びiコードCが共に3ビット
の圧縮解除されたデータを生成したと想定する。
【0032】以下は、用語「デコーダB」が、デコーダ
B1、B2及びB3の内の一つを意味すると共に、用語
「デコーダC」が、デコーダC1及びC2の内の一つを
意味することに注目されたい。
【0033】動作上、iコードAは他の中間コードとは
無関係に圧縮解除される。しかしながら、iコードB、
iコードC及びiコードDは、これらの四つの中間コー
ド同士の間のあらゆる可能な条件に対してiコードAと
並列に復号される。iコードAが復号されると、四つの
コード間のすべての可能な条件に対する結果が用意さ
れ、iコードAによって生成される圧縮解除されたデー
タ数によって、圧縮解除されたデータの適切な組合せに
より、最小4ビットの圧縮解除されたデータが、各クロ
ックサイクルにおいて、生成されるのを確実とするため
に選択される。
【0034】図11に関しては、四つのコード同士の間
で全ての可能な条件のテーブルが示されている。このテ
ーブルにおいて、各コラムが各デコーダの圧縮解除され
たデータ長を示している。例えば、条件23は、デコー
ダAが4ビット以上の圧縮解除されたデータを生成した
ことを示している。この条件において、デコーダB、C
及びDからの出力は無視され、デコーダAからの圧縮解
除されたデータが伝送される。デコーダB、C及びDか
らの無視された中間コードは、その後に続くクロックサ
イクル又は複数のクロックサイクル上で圧縮解除され
る。
【0035】他の例として、条件19は、デコーダAが
3ビットのデータを生成したことを示す。この条件にお
いて、デコーダB3の開始位置がデコーダAの開始位置
から3ビット離れているので、デコーダAの結果はデコ
ーダ3の結果と組み合わせられなければならない。図1
1において、+印は非圧縮データがテーブルに示された
数より多いビットを有していることを示す。条件19に
おいては、デコーダ3の結果が1ビット以上を有してい
ることもある。従って、この結果がデコータAの結果と
組み合わされた場合、この組み合わされた結果が4ビッ
ト以上の圧縮解除されたデータとなる。
【0036】他の例として、条件11は、デコーダAの
結果が2ビットであるため、その結果は、開始位置がデ
コーダAの開始位置から2ビット離れた開始位置を有す
るデコーダB2からの結果と組み合わされなければなら
ない。しかしながら、デコーダB2の結果が1ビットに
すぎないので、デコーダAとデコーダB2から組み合わ
された結果は3ビットである。従って、当該デコーダA
とデコーダB2から組み合わされた結果は、デコーダA
の開始位置から3ビット離れた開始位置を有するデコー
ダC2の結果と組み合わせられる。
【0037】図11のテーブルにおいて、Pはパスコー
ドを示し、Pデルタは各クロックサイクルにおいて組み
合わされた圧縮解除されたビットの総計を示す。このテ
ーブルにおけるP及びPデルタの関数は以下により詳細
に記述されている。
【0038】図10に戻って参照すると、並列デコーダ
はiコードを受け取り、これらは中間データ及び圧縮解
除されたデータ長に対するカウントを生成する。コード
を復号するため、デコーダは各コードに対してa0b1
及びa0b2を有さなくてはならない。各コード長はま
だ知られていないので、iコードB、iコードC及びi
コードDに対してa0b1及びa0b2を見つけること
は上記の想定によって以外は不可能である。従って、コ
ード毎のa0b1及びa0b2は、あらゆる異なる可能
性に対して決定され得る。
【0039】例えば、図12に関しては、開始位置a0
に対して、先行ラインから4ビットP0、P1、P2及
びP3の異なる可能性を示す簡単化されたテーブルが示
されている。図12の第1の部分において、a0は0で
あり、先行ラインからの4ビット、P0、P1、P2及
びP3は変更される。示されているように、P0、P
1、P2及びP3同士の間には16個の異なる可能性が
ある。a0は0なので、a0b1及びa0b2は条件毎
に知られている。第2の部分において、a0は1で、先
行ラインからの4ビットP0、P1、P2及びP3は変
化しつつある。このテーブルの二つの異なる部分によっ
て、a0、P0、P1、P2及びP3同士の間の全ての
可能性のある組合せを提供している。従って、a0、P
0、P1、P2及びP3を有すると共にそれらに対する
整合を見つけることによって、この条件のためのa0b
1及びa0b2が定義され得る。
【0040】簡素及び明瞭にするため、このテーブルが
先行ラインの四つのビットP0、P1、P2及びP3の
ために用意されていることに注目されたい。しかしなが
ら、開示されている本発明の実施の形態が各クロックサ
イクルにおいて9ビットの先行ラインデータを必要とす
るので、図12におけるテーブルは、P0、P1、P
2、P3、P4、P5、P6、P7及びP8同士の間で
のあらゆる可能性を提供するために周知の方法によって
拡大されなければならない。このテーブルを9ビットの
先行ラインデータへ拡大することによって、テーブルの
各部分は512通りの条件を有することになる。
【0041】図1に関しては、図11の拡大されたテー
ブルが先行ラインプロセッサ38内に格納される。全て
の可能性を使用可能とすることによって、異なるデコー
ダに対してa0b1及びa0b2が提供され得る。しか
しながら、異なるデコーダ毎に開始位置が異なり、先行
ラインデータのビット割当てが各デコーダの開始位置に
基づいていることに注目されたい。異なるデコーダ毎に
開始位置も異なるので、一般項AXB1がa0b1へ割
り当てられ、一般項AXB2がa0b2へ割り当てられ
る。
【0042】各復号ユニットは、iコードと、対応する
値(AXB1)及び(AXB2)又は値(AXB1)C
及び(AXB2)Cと、を受け取る。AXは現在ライン
における各デコーダの開始位置を示す。図13に関して
は、デコーダ毎のAXの位置は、以下のように示され
る。デコーダAに対してA0、デコーダB1に対してA
1、デコーダB2に対してA2、B3に対してA3、デ
コーダC2に対してA2、デコーダC3に対してA3、
デコーダDに対してA3。A1はA0の1ビット後ろで
あり、A2はA0の2ビット後ろであり、A3はA0の
3ビット後ろである。
【0043】エンコーダBの開始位置であるA1の表記
が、CCITTの標準表記のa1とは異なっていること
に注目されたい。この場合、CCITTの標準表記のa
1は現在ラインにおける次のカラーの変化である。しか
しながら、B1及びB2はCCITT標準のb1及びb
2と同じである。
【0044】AXB1は、先行ラインにおける開始位置
とカラーの第1の変化との間の距離として定義され、A
XB2は先行ラインにおける開始位置とカラーの第2の
変化との間の距離として定義される。(AXB1)C及
び(AXB2)Cは、カラーは例外として、AXB1及
びAXB2と同じである。(AXB1)C及び(AXB
2)Cに関しては、開始位置はAXB1及びAXB2の
開始位置と反対のカラーを有する。
【0045】図14〜図19に関しては、エンコーダ毎
の開始位置と先行ライン上のカラー変化との関係が示さ
れている。図14に関しては、A0はエンコーダAに対
する開始位置であると共に、そのビットのカラーがホワ
イト(0)であるか否かによって、先行ライン上のA0
の右への0から1へのカラー変化がB1を定義し、先行
ライン上のB1の右への1から0へのカラー変化がB2
を定義する。しかしながら、A0のカラーがブラック
(1)である場合、A0右への1から0へのカラー変化
は、先行ライン上のB1を定義し、先行ライン上のB1
右への0から1へのカラー変化はB2を定義する。図1
4の例において、A0のカラーはホワイト(0)であ
る。示されているように、デコーダAは9ビットの先行
ラインデータを使用する。
【0046】図15に関しては、A1がデコーダB1の
開始位置である。デコーダAが1ビットのデータを生成
するときのみ、デコーダB1からの結果が使用される。
従って、デコーダB1は開始位置がA0の1ビット後ろ
であると仮定して入力される中間コードを復号すると共
に、パスコードを除く全てのコードがカラー変化を生じ
るので、A0のカラーの反対にカラーを有することにな
る。パスコードの条件は以下に説明される。A1C、A
2C、A3Cが、(AXB1)C又は(AXB2)Cに
おけるAXと同じであることに注目されたい。
【0047】図15の例において、A1Cのカラーはブ
ラック(1)である。1が○で囲まれている理由は、A
1Cが仮定であることを区別するためである。デコーダ
Aが1ビットを生成する場合、この仮定は正確でなけれ
ばならない。観察されるように、デコーダB1は8ビッ
トの先行ラインデータを使用する。
【0048】デコーダA、B、C、及びDの関数が詳細
に記述された後に、パスコードはより詳細な別の説明を
必要とするので、図15〜図19の記述において当該パ
スコードに対する条件は説明されないことに注目された
い。
【0049】図15〜図19において、Xは、ビットの
値が未知であるのことを示すことに注目されたい。
【0050】図16に関しては、A2CがデコーダB2
の開始位置である。デコーダB2からの結果はデコーダ
Aが2ビットのデータを生成する時のみ使用される。従
って、デコーダB2は開始位置がA0の2ビット後ろで
あると仮定する入力中間コードを復号すると共に、パス
コードを除いた全てのコードがカラーの変化を生じるの
で、このA2CはA0のカラーの反対のカラーを有す
る。図16の例においては、A2Cのカラーはブラック
(1)である。1が○で囲まれている理由は、A2Cが
仮定であることを区別するためである。デコーダAが2
ビットを生成する場合、この仮定は正確でなければなら
ない。示されているように、デコーダB2は7ビットの
先行ラインデータを使用する。
【0051】図17に関しては、A3CがデコーダB3
の開始位置である。デコーダB3からの結果はデコーダ
Aが3ビットのデータを生成する時のみ使用される。従
って、デコーダB3は開始位置がA0の3ビット後ろで
あると仮定する入力中間コードを復号すると共に、パス
コードを除いた全てのコードがカラーの変化を生じるの
で、このA3Cは、A0のカラーと反対のカラーを有す
る。図17の例においては、A1Cのカラーはブラック
(1)である。1が○で囲まれている理由は、A3Cが
仮定であることを区別するためである。デコーダAが2
ビットを生成する場合、この仮定は正確でなければなら
ない。示されているように、デコーダB3は6ビットの
先行ラインデータを使用する。
【0052】図18に関しては、A2がデコーダC1の
開始位置である。デコーダC1からの結果はデコーダA
がデコーダBと共に2ビットのデータを生成する時のみ
使用される。従って、デコーダC1は開始位置がA0の
2ビット後ろであると仮定する入力される中間コードを
復号すると共に、パスコードを除いた全てのコードがカ
ラーの変化を生じ、デコーダA及びBが二つのコードを
復号したので、A2はA0と同じカラーを有する。図1
8の例においては、A2のカラーはホワイト(0)であ
る。0が○で囲まれている理由は、A2が仮定であるこ
とを区別するためである。デコーダA及びBが2ビット
を生成する場合、この仮定は正確でなければならない。
示されているように、デコーダC1は7ビットの先行ラ
インデータを使用する。
【0053】図19に関しては、A3がデコーダC2の
開始位置である。デコーダC2からの結果はデコーダA
がデコーダBと共に3ビットのデータを生成する時のみ
使用される。従って、デコーダC2は、開始位置がA0
の3ビット後にあると仮定する入力中間コードを復号す
ると共に、パスコードを除いた全てのコードがカラーの
変化を生じ、デコーダA及びBが二つのコードを復号し
たので、A3はA0と同じカラーを有する。図19の例
においては、A3のカラーはホワイト(0)である。0
が○で囲まれている理由は、A3が仮定であることを区
別するためである。デコーダA及びBが3ビットを生成
する場合、この仮定は正確でなければならない。示され
ているように、デコーダC1は、2ビットだけの現在ラ
インデータ及び6ビットだけの先行ラインデータを使用
する。
【0054】図17に戻って参照すると、デコーダDは
A3Cを使用する。デコーダDからの結果は、デコーダ
AがデコーダB及びCと一緒に、3ビットのデータを生
成する時のみ使用される。従って、デコーダDは、開始
位置がA0の3ビット後ろであると仮定する入力中間コ
ードを復号すると共に、パスコードを除いた全てのコー
ドがカラーの変化を生じ、デコーダA、B及びCが三つ
のコードを復号したので、A3はA0のカラーと反対の
カラーを有する。従って、デコーダDの開始位置は、図
17におけるようにブラック(1)である。デコーダD
は、2ビットだけの現在ラインデータ、及び5ビットだ
けの先行ラインデータを使用する。
【0055】AXB1、AXB2、(AXB1)C及び
(AXB2)Cが異なる可能性に対して定義されると、
各コード長が定義され得る。パスコードに対しては、圧
縮解除されたデータ長は、AXB2又は(AXB2)C
に等しい。垂直コードに対して、圧縮解除されたデータ
長は、AXB1プラス中間コードの下位2ビット又は
(AXB1)Cプラス中間コードの下位2ビットに等し
い。最後に、短水平リーディングコードに対して、圧縮
解除されたデータ長は中間短水平リーディングコードの
下位3ビットに等しく、短水平トレーリングコードに対
して、圧縮解除されたデータ長は中間短水平トレーリン
グコードの下位3ビットのに等しい。
【0056】従って、AXB1、AXB2、(AXB
1)C及び(AXB2)C、又は中間コードから下位3
ビットを有することによって、PVSHの各中間コード
に対して圧縮解除されたデータ長を提供することができ
る。
【0057】図10に戻って参照すると、各デコーダの
開始位置によっては、適切なAXB1、AXB2、(A
XB1)C及び(AXB2)Cが各デコーダへ送られ
る。デコーダAは、コード識別及び変換ブロック12
(図1)から中間コード、iコードA140を受け取
り、先行ラインプロセッサ38(図1)からA0B1、
142及びA0B2、144を受け取る。デコーダA
は、中間コードiコードAから圧縮解除されたデータ長
を生成し、それをデルタA上へ送る。
【0058】デコーダB1、B2及びB3は、コード識
別及び変換ブロック12(図1)からiコードB146
を受け取り、先行ラインプロセッサ38(図1)から
(AXB1)C及び(AXB2)Cを受け取る。デコー
ダBが反対のカラー(AXB1)及び(AXB2)を受
け取るのは、デコーダAが、カラー変化があったために
次のコードがiコードAと反対のカラーによって復号さ
れなければならないことを示すコードを復号すると、デ
コーダB1、B2及びB3が使われるからである。デコ
ーダB1は、(A1B1)C148及び(A1B2)C
150を受け取る。デコーダB1は、iコードBに対し
て圧縮解除されたデータ長を生成し、iコードBのデー
タ長に1を加算し、その結果をデルタB1へ送る。iコ
ードBからのデータ長に1を加算するのは、デコーダB
1から得られる結果がデコーダAが1ビットを生成した
時のみに使用されるためである。従って、1を加算する
ことによって、デコーダA及びB1によって圧縮解除さ
れたデータの総計がデルタB1へ送られる。
【0059】デコーダB2は、(A2B1)C152及
び(A2B2)C154を受け取る。デコーダB2は、
iコードBに対して圧縮解除されたデータ長を生成し、
iコードBに対して圧縮解除されたデータ長に2を加算
し、その結果をデルタB2へ送る。iコードBから圧縮
解除されたデータ長へ2を加算する理由は、デコーダB
2の結果がデコーダAが2ビットを生成した時のみ使用
されるためである。従って、2を加算することによっ
て、デコーダA及びB2によって生成される圧縮解除さ
れたデータの総数がデルタB2へ送られる。
【0060】デコーダB3は、(A3B1)C156及
び(A3B2)C158を受け取る。デコーダB3は、
iコードBに対して圧縮解除されたデータ長を生成し、
iコードBに対して圧縮解除されたデータ長に3を加算
し、その結果をデルタB3へ送る。iコードBから圧縮
解除されたデータ長へ3を加算する理由は、デコーダB
2からの結果がデコーダAが3ビットを生成した時のみ
使用されるためである。従って、3を加算することによ
って、デコーダA及びB2によって生成される圧縮解除
されたデータの総数がデルタB3へ送られる。
【0061】デコーダC1及びC2は、コード識別及び
変換ブロック12(図1)からiコードC160を受け
取り、先行ラインプロセッサ38(図1)からAXB1
及びAXB2を受け取る。デコーダC1及びC2がiコ
ードAのカラーに対してカラーを変更せずにAXB1及
びAXB2を受け取る理由は、デコータA及びBが、A
0からA0と反対のカラーへの変化及びA0の反対カラ
ーからA0へ戻る変化から成る二つのカラー変化を意味
する二つのコードを復号すると、デコーダC1及びC2
が使われるからである。従って、次のコードは、A0の
カラーと同じカラーによって復号されなければならな
い。デコーダC1はA2B1162及びA2B2164
を受け取る。デコーダC1は、iコードCのための圧縮
解除されたデータ長を生成し、当該iコードCのための
圧縮解除データ長に2を加算して、その結果をデルタC
1へ送る。iコードCからの圧縮解除データ長に2を加
算する理由は、デコーダC1からの結果がデコーダA及
びBが共に2ビットのデータを生成する時のみに使用さ
れるからである。従って、2を加算することによって、
デコーダA、B、及びC1によって生成される圧縮解除
されたデータの総数がデルタC1上へ送られる。
【0062】デコーダC2は、A3B1 166及びA
3B2 168を受け取る。デコーダC2は、iコード
Cに対して圧縮解除されたデータ長を生成し、iコード
Cに対して圧縮解除されたデータ長に3を加算し、その
結果をデルタC2へ送る。iコードCから圧縮解除され
たデータ長へ3を加算する理由は、デコーダB2の結果
がデコーダA及びBが共に2ビットのデータを生成した
時のみ使用されるためである。従って、2を加算して、
デコーダA、B及びC2によって生成される圧縮解除さ
れたデータの総数がデルタC2へ送られる。
【0063】デコーダDは、コード識別及び変換ブロッ
ク12(図1)からiコードD170を受け取り、先行
ラインプロセッサ38(図1)から(AXB1)C及び
(AXB2)Cを受け取る。デコーダDが反対カラー
(AXB1)及び(AXB2)を受け取る理由は、デコ
ータA、B及びCが、A0からA0と反対のカラーへ、
A0の反対カラーからA0へ、及びA0からA0と反対
のカラーへの変更から成る三つのカラー変化を意味する
三つのコードを復号すると、デコーダD3が使用される
からである。従って、iコードDは、A0のカラーと反
対のカラーによって復号されなければならない。デコー
ダDは、iコードDに対して圧縮解除されたデータ長を
生成し、iコードDに対して圧縮解除されたデータ長に
3を加算し、その結果をデルタDへ送る。iコードDか
ら圧縮解除されたデータ長へ3を加算する理由は、デコ
ーダDから得られる結果がデコーダA、B及びCが一緒
に3ビットの圧縮解除されたデータを生成した時のみ使
用されるためである。従って、1を加算することによっ
て、デコーダA、B及びCによって生成される圧縮解除
されたデータの総数がデルタDへ送られる。
【0064】図3に戻って参照すると、PVSHコード
コンバータ58がパスコードを受け取る時、このコンバ
ータはパスコードを中間コードへ変換し、このパスコー
ドの中間コードの後に続いて仮中間コードを伝送する。
パスコードの右のコードが中間コードへ変換され、この
コードは仮中間コードの後から送られる。従って、これ
らの中間コードが並列デコーダ16へ送られると、この
パスコードに対する中間コード及びこのパスコードへ続
くコードの中間コードは仮中間コードを常に間に置く。
【0065】図10に関しては、後に続く仮中間コード
とパスコードのための中間コードを伝送する理由は、パ
スコードがカラー変化を生じず、これによってパスコー
ドに続くコードが当該パスコードのカラーと同じカラー
を有しているからである。これによって、パスコードと
それに続くコードが二つの連続したデコーダによって復
号されてはならない。
【0066】例えば、iコードAがパスコードのための
中間コードである場合、当該パスコードに続くコードの
中間コードは、デコーダBがカラー変化を仮定するの
で、このデコーダBによって復号されるべきではない。
本発明において、無視される仮コードはパスコードの中
間コードとこのパスコードに続くコードの中間コードと
の間に挿入されるので、仮コードはデコーダBへ送ら
れ、パスコードに続くコードのための中間コードはデコ
ーダCへ送られる。仮コードを受け取ったデコーダBの
結果は無視され、デコーダAの結果は、パスコードに続
くコードのための中間コードを受け取ったデコーダCの
結果と組み合わせられる。デコーダCはデコーダAの開
始位置のカラーと同じカラー仮定を有しているので、デ
コーダAの結果をデコーダCと組み合わせることによっ
て、パスコードとそれに続くコードに対して正確な復号
が提供される。
【0067】パスコードが1ビットを生成することがで
きないことに注目されたい。パスコードから圧縮解除さ
れたデータの最小ビット数は2ビットである。従って、
デコーダBを使用しないことによって問題が生じなくな
る。
【0068】他の例として、iコードBがたまたまパス
コードのための中間コードであった場合、デコーダBが
iコードBを受け取り、デコーダCは仮中間コードを受
け取り、デコーダDはパスコードに続くコートのための
中間コードを受け取る。仮コードを受け取ったデコーダ
Cの結果は無視され、デコーダBからの結果が、当該パ
スコードに続くコードのための中間コードを受け取った
デコーダDから得られた結果と組み合わせられる。デコ
ーダDがデコーダBの開始位置のカラーと同じカラー仮
定を有しているので、デコーダBの結果をデコーダDと
組み合わせることによって、パスコードとそれに続くコ
ードのための正確な復号を提供する。ここでまた、パス
コードが1ビットの圧縮解除されたデータを生成するこ
とができないので、デコーダCを使用しないことによっ
て問題が生じなくなる。
【0069】図11に戻って参照すると、パスコードが
生じる度に、そのデコーダからの結果が、第2の後続の
デコーダからの結果と組み合わされる。例えば、条件1
7において、iコードAは、2ビットのデータを生成す
るパスコードの中間コードである。この条件において、
デコーダAからの結果はデコーダC1からの結果と組み
合わされる。しかしながら、条件7においては、iコー
ドAは1ビットの圧縮解除されたデータを生成し、従っ
て、この結果が、デコーダB1からの結果と組み合わせ
られなければならない。この条件では、iコードBは、
たまたま、2ビットの圧縮解除されたデータを生成する
パスコードのための中間コードであるにすぎない。従っ
て、デコーダDがその開始位置において、デコーダB3
の開始位置のカラーと同じカラーの想定(仮定)を有し
ているので、デコーダA及びデコーダB1の結果は、デ
コーダC2よりむしろ、デコーダDの結果と組み合わせ
られなければならない。
【0070】また、図11においては、Pデルタは、こ
のクロックサイクルで生成される圧縮解除されたデータ
のビットの総数である。示されているように、Pデルタ
は、その結果が事前のデコーダの結果と組み合わされる
最後のデコーダから得られる。例えば、条件5において
は、デコーダA及びデコーダB1の結果は、デコーダC
2からの結果と組み合わされる。従って、デルタはデコ
ーダC2から得られる。他の例としては、条件16にお
いて、デコーダA及びC1の結果は、デコーダDからの
結果と組み合わされ、これにより、デルタはデコーダD
から得られる。また、他の例としては、条件23におい
て、デコーダAからの結果が4ビット以上であるので、
このデコーダは、いずれのデコーダの結果と組み合わさ
れずに伝送される。
【0071】図10に戻って参照すると、デルタA 1
80、デルタB1 182、デルタB2 184、デル
タB3 186、デルタC1 188、デルタC2 1
90、及びデルタD 192は、全て、ルックアップテ
ーブル200へ送られる。各デルタと共に、そのコード
のカラーも送られることに注目されたい。しかしなが
ら、簡単にするために、各デコーダからのデルタのみが
示されている。ルックアップテーブル200は図11の
データを含む。異なるデコーダからのデルタ同士の間の
異なる条件に基づいて、ルックアップテーブル200
は、適切なPデルタと適切なPiデータを選択する。ル
ックアップテーブル200は、ライン30を介してPデ
ルタを、ライン28を介してPiデータを、データ拡大
ブロック26(図1)へ伝送する。
【0072】図1に戻って参照すると、並列デコーダ1
6からPデルタ30とPiデータ28を受け取ると共に
長コードデコーダ20からLHデルタ30及びLHiデ
ータ32を受け取るデルタ拡大ブロック26は、圧縮解
除されたデータを生成するために受け取られたデルタ
(圧縮解除されたデータのカウント)に基づいて中間デ
ータを拡大しなければならない。
【0073】中間データの拡大を理解するために、中間
データの生成について調べる必要がある。
【0074】図11に戻って参照すると、PVSHコー
ドに対する中間データは、異なる条件に基づいて生成さ
れた。中間データは固定長4ビット(ビット0、ビット
1、ビット2及びビット3)を有していると共に圧縮解
除されたデータを生成するために拡大されなければなら
ない。この中間データは各デコーダ及びカラー変化から
のビット数に基づいている。例えば、条件13において
は、デコーダAからの結果は2ビットであり、デコーダ
B2からの結果も2ビットである。この条件において、
中間データのビット3及びビット2はデコーダAからの
2ビットを示し、従って、ビット3は0を示し、ビット
2は第2のビット上の0から1までのカラー変化を示
す。ビット1は次のデータを介してシフトされた同一カ
ラー(1)を示すと共に、ビット0はカラー変化(0)
を示すデータの終了を示す。
【0075】図11において、Pはパスコードを示し、
+は「より多い」を示す。従って、条件13において、
デコーダB2が2ビットより多いデータを生成する場
合、中間データは条件13に対して示された中間データ
と同じである。しかしながら、そのデータが拡大される
と、より多いビットの非圧縮データを含む。条件13に
おいて、デコーダB2が2ビットのデータを生成する場
合、中間データが正確な圧縮解除されたデータを含むた
め、当該中間データは拡大されない。しかしながら、デ
コーダB2が2ビット以上のデータを生成する場合、中
間データは拡大されなければならない。この拡大は常に
ビット1で実行される。例えば、条件13において、デ
コーダB2が5ビットのデータを生成する場合、ビット
1は、非圧縮データを生成するために3回反復されなけ
ればならない。
【0076】中間データは、デコーダA、B、C及びD
の組合せに使用される最後のデコーダからの結果を除い
て使用される異なるデコーダからの結果に対して正確な
非圧縮データを含む。以下は、簡単化のために、デコー
ダA、B、C及びDの組合せにおける最後のデコーダの
ことを「最後デコーダ」と呼ぶ。最後のデコーダからの
結果は圧縮され、拡大される。最後のデコーダからの結
果を拡大するためには、ビット1ずつ反復するだけで充
分である(Pデルタ−4)。Pデルタはこのクロックサ
イクルに対して圧縮解除されたデータの総数であり、数
4は中間データが有しているビット数を示す。
【0077】従って、条件13において、デコーダB2
が5ビットを生成する場合、デルタB2からのPデルタ
は7である。因って、Pデルタ−4=7−4で3とな
る。ビット1が3回反復され、従って、拡大された後で
は、非圧縮データは0111110となる。ビット1が
反復され、これらのビットが、ビット1とビット0の間
に挿入されることに注目されたい(011−111−
0)。
【0078】他の例として、条件21においては、デコ
ーダAからの結果は、このコードがパスコードであり、
3ビットを生成したことを示す、3Pである。この結果
は1ビット以上を生成したデコーダC2からの結果と組
み合わせられなければならない。この条件に対する中間
データは0001である。ビット3、ビット2及びビッ
ト1は3ビットのデータを示し、このデータがパスコー
ドからのデータなので、ビット1上でのカラー変化はな
い。デコーダC1が1ビットを生成し、このことは0〜
1のカラー変化を示すビット0によって示される。この
中間データは拡大される必要はない。しかしながら、デ
コーダC2が1ビットより多いデータを生成するなら
ば、中間データは拡大される必要がある。例えば、条件
21において、デコーダC2は2ビットを生成し、中間
データは、Pデルタ−4=(5−4=1)で拡大されな
ければならない。圧縮解除されたデータは00001
(000−0−1となる。
【0079】図11のテーブルがa0がホワイト(0)
であることに基づいている。しかしながら、a0がブラ
ックである場合、中間データは反転する。
【0080】更に、各クロックサイクル上の中間データ
の終了カラーに応じて、中間コードのカラーが後に続く
クロックサイクルにおいて反転される。例えば、a0の
カラーがホワイト(0)であると仮定される第1のクロ
ックサイクル上に条件7が存在している場合、中間コー
ド上の終了カラーは0である。終了カラーがビット0の
カラーであることに注目されたい。第2のクロックサイ
クルにおいて、条件5のような条件が発生する場合、圧
縮解除されたデータが、事前のクロックサイクルからの
終了カラーと同じカラーによってスタートしなければな
らないので、当該中間データは反転される。これによっ
て、この例においては、第2のクロックサイクルにおい
て、条件5に対する中間データは1101から0010
へ反転されなければならない。最後に、第2のクロック
サイクルに対する中間データは0010となる。
【0081】他の例として、あるクロックサイクルにお
いて、条件14が存在すると共に中間データが0111
とされている場合、引き続くクロックサイクルにおい
て、条件19が発生する場合、条件19に対する中間デ
ータは0010から1101へ反転されなければならな
い。従って、この例において、ある特定のクロックサイ
クルに続くクロックサイクルに対する中間コードは11
01となる。
【0082】図1に戻って参照すると、長水平コードが
ある時、コード識別及び変換ブロック12はLHカウン
トを長コードデコーダ20へ伝送する。この長コードデ
コーダ20は、マルチプレクサ126から受け取ったL
Hカウントを8で除算し、当該LHカウントがカバーさ
れるまで、LHデルタとして一つのクロックサイクル上
のカウントの各ディビジョンをライン34を介して伝送
し、LHiデータとして適切な中間データをライン32
を介してデータ拡大ブロック26へ送る。LHカウント
をカバーする最後のクロックサイクル上のカウントは8
より少ない。例えば、LHカウントが19である場合、
長コードデコーダ20は第1及び第2のクロックサイク
ル上のカウント8と第3のクロックサイクル上のカウン
ト3を伝送する。これらのカウントはLHデルタ34に
よってデータ拡大ブロック26へ送られる。長コードデ
コーダ20はLHiデータも生成する。LHiデータ
は、長水平コードに対して圧縮解除されたデータを提供
するために拡大の必要がある2ビットの中間データであ
る。
【0083】図20に関しては、LHiデータと異なる
カウントに対して拡大されたLHiデータ(圧縮解除さ
れたデータ)が示されている。LHデルタが8であり、
カウントの残りが以下のクロックサイクルへ送られる場
合、8が伝送されたクロックサイクルに対して、データ
がホワイト又はブラックである場合によって、LHiデ
ータは00又は11である。この場合、LHiデータを
拡大するため、ビット1がカウントのビット数を生成す
るように反復されなければならない。例えば、図20に
おいて、8より少ないカウントは5であるように選択さ
れる。従って、ビット1は3回(LHデルタ−2=5−
2=3)反復され、5ビットの圧縮解除されたデータを
生成するためにビット1とビット0の間に挿入される。
【0084】最後に、LHデルタはそれ以上のカウント
が以下のクロックサイクルへ送られないことを示す8で
ある場合、そのデータがホワイト又はブラックであるか
によって、01又は10がビット1及びビット0へ送ら
れる。この条件において、LHiデータを拡大するため
に、ビット1は6回(LHデルタ−2=8−2=6)反
復され、8ビットの圧縮解除されたデータを生成する。
【0085】データ拡大ブロック26が並列デコーダか
ら中間データを拡大した後、又は長コードデコーダから
中間コードを拡大した後で、各クロックサイクルの圧縮
解除されたデータを事前のクロックサイクルからの圧縮
解除されたデータと連結し、それらを圧縮解除データが
32ビットになるまで格納し、次いで圧縮解除されたデ
ータとして32ビットを伝送する。
【0086】長水平コードが各クロックサイクルで受け
取られた四つのコードの中で識別される時、長水平コー
ドに先行する中間のPVSHコードが並列デコーダ16
(図1)へ送られ、長コードとその後に続くコードが次
のクロックサイクル迄、保持されることに注目された
い。この場合、並列デコーダ16が四つより少ないコー
ドを受け取るので、これらは4ビットより少ない圧縮解
除されたデータを生成する。従って、このクロックサイ
クルにおいては、4ビットより少ない圧縮解除されたデ
ータが伝送される。しかしながら、次のクロックサイク
ルにおいては、第1のコードが長水平コードであるの
で、4ビットより多い圧縮解除されたデータが提供され
る。
【0087】識別された長水平コードが各クロックサイ
クルでの四つのコードの中の第1のコードである時、又
は長水平コードが、現在クロックサイクルで受け取られ
た四つのコードの中の第1のコードとなる現在クロック
サイクル上で復号されるはずの事前のクロックサイクル
から保持される時、当該長水平コードは長コードデコー
ダ20(図1)へ伝送され、無視コードは並列デコーダ
16(図1)へ送られる。並列デコーダ16が無視コー
ドを受け取ると、これらは非起動とされ、長コードデコ
ーダ20だけが長水平コードの圧縮解除されたデータが
4ビットより多い圧縮解除されたデータであるので、一
つの長水平コードを復号する。長水平コードに続くコー
ドは次に復号されるクロックサイクルまで保持される。
【0088】並列デコーダ16がアクティブである時、
長コードデコーダ20はアクティブでないことが更に注
目されよう。
【0089】図1に戻って参照すると、データ拡大ブロ
ック26は、非圧縮データUcデータ24及びコード識
別及び変換ブロック12からのカウントUcデータ25
を受け取る。データ拡大ブロック26は非圧縮データU
cデータ24を受け取ると、並列デコーダ16及び長コ
ードデコーダ20を無視し、入力される非圧縮データを
そのまま伝送する。しかしながら、並列デコーダからの
中間データがある時、データ拡大ブロックは並列デコー
ダの中間データを選択し、長コードがある時、データ拡
大ブロックは長コードデコーダから中間データを選択
し、非圧縮データあがある時、非圧縮データを選択す
る。
【0090】しかしながら、所与のクロックサイクルに
おいては、並列デコーダ16はアクティブか又は長コー
ドデコーダ20がアクティブか又は非圧縮データがデー
タ拡大ブロック26へ送られるかのいずれかである。非
圧縮データがデータ拡大ブロック26へ送られる時、並
列デコーダ16と長コードデコーダ20はアクティブで
はなくなる。
【0091】更に、非圧縮データが1クロックサイクル
内で受け取られた四つのコードの中で識別される場合、
非圧縮データに先行するコードはPVSHコードである
場合、これらのコードは長水平コードへ一回で送られ
る、非圧縮データとそれに続くコードは次のクロックサ
イクル又は複数のクロックサイクルまで保持される。非
圧縮データに先行するコードが復号されると、引き続く
クロックサイクルでは、非圧縮データがデータ拡大ブロ
ックへ送られる。非圧縮データがデータ拡大ブロックへ
送られるクロックサイクル期間中、並列デコーダ16及
び長コードデコーダ20はアクティブでなくなる。
【0092】データ拡大ブロックが非圧縮データを受け
取り、この非圧縮データを先行のクロックサイクルから
の圧縮解除されたデータと連結し、32ビットの圧縮解
除されたデータが使用可能となるまでその結果を格納
し、次いで32ビットの圧縮解除されたデータを伝送す
ることに注目されたい。
【0093】非圧縮データは引き続くラインを圧縮解除
するために格納される先行ラインプロセッサへ送られ
る。
【0094】この発明の開示されている実施の形態は、
CCITT、IBMMR及びTIFFコードを1004
00メガビット/秒で圧縮解除することができる。
【0095】
【発明の効果】少なくとも4ビットの圧縮解除されたデ
ータを各クロックサイクルにおいて高速プリントエンジ
ンに供給するために使用されるデコンプレッサを提供す
る。
【図面の簡単な説明】
【図1】本発明のブロック図である。
【図2】コードパターンとそのコード長を示す図表であ
る。
【図3】コード識別及び変換ブロックを示す詳細なブロ
ック図である。
【図4】位置合わせシフタの一つのローを示す図であ
る。
【図5】PVSHコードコンバータを示す詳細なブロッ
ク図である。
【図6】図3の長コードコンバータを示す詳細なブロッ
ク図である。
【図7】先行ラインデータの一部と現在ラインデータの
対応部分を示す図である。
【図8】3ビットの圧縮解除されたデータを生成するコ
ードの例を示す図である。
【図9】2ビットの圧縮解除されたデータを生成するコ
ードの例を示す図である。
【図10】図1の並列デコーダを示す詳細なブロック図
である。
【図11】四つのコード間の全ての可能な条件を示す図
表である。
【図12】開始位置に対して先行ラインからの4ビット
の異なる可能性を簡単に示した図表である。
【図13】異なるデコーダの開始位置を示す図である。
【図14】先行ラインからのデータに対してのエンコー
ダAの開始位置を示す図である。
【図15】先行ラインからのデータに対してのエンコー
ダB1の開始位置を示す図である。
【図16】先行ラインからのデータに対してのエンコー
ダB2の開始位置を示す図である。
【図17】先行ラインからのデータに対してのエンコー
ダB3とエンコーダDの開始位置を示す図である。
【図18】先行ラインからのデータに対してのエンコー
ダC1の開始位置を示す図である。
【図19】先行ラインからのデータに対してのエンコー
ダC2の開始位置を示す図である。
【図20】中間データ、及び長水平コードの異なるカウ
ントに対しての拡大データ(非圧縮データ)を示す図で
ある。
【符号の説明】
10 デコンプレッサ 12 コード識別及び変換ブロック 16 並列デコーダ 20 長コードデコーダ 26 データ拡大ブロック 38 先行ラインプロセッサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 レイモンド ロッドリゲス アメリカ合衆国 91790 カリフォルニ ア州 ウェスト コビナ イースト ル イーザ アベニュー 1113 (58)調査した分野(Int.Cl.6,DB名) H04N 1/41 - 1/419

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 圧縮された画像データを圧縮解除する装
    置であって、 (a)1クロックサイクルにおいて一連の所与の数のコ
    ードを受け取ると共にそれらを長水平コード又は非長水
    平コードへ識別する手段を備え、前記所与のコード数
    が、1クロックサイクルにおいて生成される圧縮解除デ
    ータの所望される所与の最小ビット数に等しく、 (b)前記受け取り手段に接続された並列復号手段を備
    え、 (c)前記受け取り手段に接続された長コード復号手段
    を備え、 (d)識別された長水平コードを前記長コード復号手段
    へ送り、一つ以上の非長水平コードから成る一連の非長
    水平コード内の識別された非長水平コードを1クロック
    サイクルにおいて前記並列復号手段へ送る手段を、前記
    受け取り手段が有し、 (e)前記並列復号手段が、1クロックサイクルにおい
    て受け取られた非長水平コードの各々を1クロックサイ
    クルにおいて並列で復号する複数の復号手段を有し、 (f)デコーダを有する前記複数の復号手段の内の一つ
    が、一連の非長水平コードの第1のコードを受け取るよ
    うに構成及び配列されていると共に、残りの前記複数の
    復号手段が、一連の非長水平コード内の残りのコードの
    全てを受け取るように構成及び配列されており、 (g)前記並列復号手段が、前記並列復号手段によって
    受け取られた残りの非長水平コードの各々に対して、残
    りのコードのそれぞれに先行する一連の非長水平コード
    内のコードによって同一クロックサイクルで生成され得
    るビット数の全ての可能な条件に対して、それぞれの残
    りのコードを1クロックサイクルで復号し、前記可能な
    条件が、1クロックサイクルで生成される圧縮解除され
    たデータの所望される所与の最小ビット数より1ビット
    少ないビット数までの残りのコードのそれぞれに先行す
    る前記一連の非長水平コード内のコードによって生成さ
    れ得る最小累積ビット数であり、 (h)前記並列復号手段が、一連の非長水平コードの残
    りのコードのそれぞれに対して指定された数だけのデコ
    ーダを有し、その数は、残りのコードのそれぞれに先行
    する一連の非長水平コード内のコードによって生成され
    得る所望の所与の最小ビット数までの全ての可能な条件
    のビット数に等しく、特定のコードを受け取るための前
    記指定されたデコーダの数が1より多い時は、前記指定
    された数のデコーダのそれぞれが、可能な条件の内の1
    つの異なる特定の条件に対して、同一クロックサイクル
    においてそれぞれのコードを復号し、 (i)前記並列復号手段に接続された非長水平コード圧
    縮解除データ選択手段を備え、前記データ選択手段は、 i. 前記第1のコードが、少なくとも所望される所与の
    最小ビット数の圧縮解除されたデータを生成する場合、
    又は前記第1のコードが一連の非長水平コード内の唯一
    のコードである場合、一連の非長水平コード内の第1の
    コードの圧縮解除されたデータを選択し、 ii. 前記第1のコードによって生成された圧縮解除され
    たデータのビット数が所望された所与の最小ビット数よ
    り少ない場合、及び、第1の二つのコードが、少なくと
    も所望された所与の最小ビット数である圧縮解除された
    データの累積ビット数を生成するか又は第2のコードが
    一連の非長水平コード内の最後のコードである場合、一
    連の非長水平コード内の第1のコードの圧縮解除された
    データ、及び前記第1のコードの圧縮解除されたデータ
    によって生成された実際のビット数に整合する可能な圧
    縮解除されたデータの条件に対応する前記非長水平コー
    ド内の第2のコードのための圧縮解除されたデータを選
    択し、 iii. 第1の二つのコード及び少なくとも所望される所
    与の最小ビット数の累積総数を生成する一つ以上のコー
    ドのいずれかによって、第1の二つのコードによって生
    成された圧縮解除されたデータの累積ビット数が、所望
    される所与の最小ビット数より少ないことが決定される
    場合、及び圧縮解除されたデータが選択される最後のコ
    ードに先行する一連の非長水平コード内のコードによっ
    て生成された圧縮解除されたデータの累積ビット数が前
    記所望された所与の最小ビット数より少ないか又は選択
    された最後のコードが一連の非長水平コード内の最後の
    コードである場合、一連の非長水平コード内の第1の二
    つのコードと、前記一連の非長水平コード内の第1の二
    つのコードの圧縮解除されたデータの選択と同様に第1
    の二つのコードに続く一連の非長水平コード内の任意の
    一つ以上のコードを選択し、 (j)前記長コード復号手段へ送られた長コードの圧縮
    解除されたデータを選択するために前記長コード復号手
    段に接続された長水平コード圧縮解除データ選択手段を
    備える圧縮解除装置。
  2. 【請求項2】 圧縮された画像データを圧縮解除する方
    法であって、 (a)一連の所与の数のコードを取り、1クロックサイ
    クルにおいてこれらのコードを長水平コード又は非長水
    平コードへ識別するステップを備え、 (b)一つ以上の非長水平コードから成る一連の非長水
    平コードを1クロックサイクルにおいて並列で復号する
    ステップを備え、一連の非長水平コードの第1のコード
    を除いた各コードに対する復号が、一連の非長コードの
    コードのそれぞれに先行する一連の非長水平コード内の
    コードによって同一クロックサイクルにおいて生成され
    得るビット数の全ての可能な条件に対して実行され、前
    記可能な条件が、1クロックサイクルにおいて生成され
    る圧縮解除されたデータの所望される所与の最小ビット
    数より1ビット少ないビット数までの一連の非長コード
    の第1のコードを除いた各コードに先行する前記一連の
    非長水平コード内のコードによって生成され得る最小累
    積ビット数であり、 (c)前記第1のコードが少なくとも所望される所与の
    最小ビット数の圧縮解除されたデータを生成する場合、
    又は前記第1のコードが一連の非長水平コード内の唯一
    のコードである場合、非長水平コード内の第1のコード
    の圧縮解除されたデータを選択するステップを備え、 (d)前記第1のコードによって生成された圧縮解除さ
    れたデータのビット数が所望された所与の最小ビット数
    より少ない場合、及び、第1の二つのコードが、少なく
    とも前記所望された所与の最小ビット数である圧縮解除
    されたデータの累積ビット数を生成するか又は前記第2
    のコードが一連の非長水平コード内の最後のコードであ
    る場合、一連の非長水平コード内の第1のコードの圧縮
    解除されたデータ、及び前記第1のコードの圧縮解除さ
    れたデータによって生成された実際のビット数に整合す
    る可能な圧縮解除されたデータの条件に対応する前記非
    長水平コード内の第2のコードのための圧縮解除された
    データを選択するステップを備え、 (e)第1の二つのコード及び少なくとも前記所望され
    る所与の最小ビット数の累積総数を生成する一つ以上の
    コードのいずれかによって、第1の二つのコードによっ
    て生成された圧縮解除されたデータの累積ビット数が、
    所望される所与の最小ビット数より少ないことが決定さ
    れる場合、及び圧縮解除されたデータが選択される最後
    のコードに先行する一連の非長水平コード内のコードに
    よって生成された圧縮解除されたデータの累積ビット数
    が前記所望された所与の最小ビット数より少ないか又は
    選択された最後のコードが一連の非長水平コード内の最
    後コードである場合、一連の非長水平コード内の第1の
    二つのコードと、一連の非長水平コード内の第1の二つ
    のコードの圧縮解除されたデータの選択と同様に第1の
    二つのコードに続く一連の非長水平コード内の任意の一
    つ以上のコードを選択するステップを備える圧縮解除方
    法。
JP8173601A 1995-07-11 1996-07-03 圧縮解除装置及びその方法 Expired - Fee Related JP2945324B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US50284195A 1995-07-11 1995-07-11
US50283895A 1995-07-11 1995-07-11
US502841 1995-07-11
US502838 1995-07-11

Publications (2)

Publication Number Publication Date
JPH0936751A JPH0936751A (ja) 1997-02-07
JP2945324B2 true JP2945324B2 (ja) 1999-09-06

Family

ID=27054296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8173601A Expired - Fee Related JP2945324B2 (ja) 1995-07-11 1996-07-03 圧縮解除装置及びその方法

Country Status (3)

Country Link
EP (1) EP0753830B1 (ja)
JP (1) JP2945324B2 (ja)
DE (1) DE69620506T2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009060444A (ja) * 2007-08-31 2009-03-19 Canon Inc 画像復号装置、画像復号方法及び記録装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5826713B2 (ja) * 1976-06-28 1983-06-04 日本電信電話株式会社 2値信号の逐次境界差分符号化伝送方式
US4843632A (en) * 1986-05-09 1989-06-27 Prodigy Systems Corporation Compressed image expansion system
EP0493086B1 (en) * 1990-12-24 1997-05-21 Xerox Corporation Data decoding apparatus
JP2502882B2 (ja) * 1992-05-07 1996-05-29 村田機械株式会社 画像処理装置

Also Published As

Publication number Publication date
JPH0936751A (ja) 1997-02-07
DE69620506D1 (de) 2002-05-16
EP0753830B1 (en) 2002-04-10
DE69620506T2 (de) 2002-10-02
EP0753830A2 (en) 1997-01-15
EP0753830A3 (en) 1997-10-01

Similar Documents

Publication Publication Date Title
EP0457840B1 (en) Adaptive data compression apparatus for a tape drive system
JP3137270B2 (ja) 圧縮画像データ復号装置
EP0734126A1 (en) Two-stage compression with runlength encoding and lempel-ziv encoding
JP2986076B2 (ja) データを圧縮及び圧縮解除するための方法及び装置
JP2766302B2 (ja) 可変長符号並列解読方法および装置
JP3231855B2 (ja) データフォーマット変換装置及び方法
JP4094081B2 (ja) 2進データのダブル・ランレングス符号化の方法および装置
JP3688297B2 (ja) ビデオ画像カラーエンコーディング
JP2007037115A (ja) デジタルデータを符号化する方法、データセグメントのストリームを符号化する方法、エンコーダ、データのソースを符号化するためのパラレルエンコーダ、符号化データのソースを復号するためのパラレルデコーダ、コード化データを復号する方法、磁気テープドライブ、およびデータのストリームを符号化する方法
JP4057650B2 (ja) 大ギャップを有するスライド窓データ圧縮システム
US20020122599A1 (en) Image coder/decoder, image coding/decoding method, and storage medium
US5960115A (en) Method for decompressing multiple codes in a single clock cycle
US5949909A (en) Apparatus for decompressing multiple codes in a single clock cycle
JP2945324B2 (ja) 圧縮解除装置及びその方法
JP2001053620A (ja) 符号化方法及び符号化装置、復号化方法及び復号化装置、記憶媒体
JP3260862B2 (ja) パラレルデータ伝送装置
JPH0763151B2 (ja) 可変長符号複号化回路
JPS6341276B2 (ja)
JP3029863B2 (ja) 圧縮データの復号化装置
JP3212393B2 (ja) 符号化装置
KR20010058369A (ko) 코드길이에 따른 허프만 코드 복호장치 및 방법
KR0125126B1 (ko) 고속 가변길이부호 복호화 장치
JPH084316B2 (ja) 圧縮符号化データ伸長装置
JPH0380774A (ja) 復合化回路
JPH01206728A (ja) 可変長符号化コード復号装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990615

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 14

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees