JPH10291342A - 印刷すべきデータを圧縮する方法及び印刷システム - Google Patents

印刷すべきデータを圧縮する方法及び印刷システム

Info

Publication number
JPH10291342A
JPH10291342A JP10078413A JP7841398A JPH10291342A JP H10291342 A JPH10291342 A JP H10291342A JP 10078413 A JP10078413 A JP 10078413A JP 7841398 A JP7841398 A JP 7841398A JP H10291342 A JPH10291342 A JP H10291342A
Authority
JP
Japan
Prior art keywords
data
word
slice
compressed
slices
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.)
Withdrawn
Application number
JP10078413A
Other languages
English (en)
Inventor
Timothy John Rademacher
ティモシー・ジョン・レイドマッチャー
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.)
Lexmark International Inc
Original Assignee
Lexmark International Inc
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 Lexmark International Inc filed Critical Lexmark International Inc
Publication of JPH10291342A publication Critical patent/JPH10291342A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/10Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by matrix printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0014Transforming the printer input data into internal codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Record Information Processing For Printing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 プリンタ中の画像メモリ・スペースを節約す
る印刷システムを提供する 【解決手段】 各データ・ワードについての制御ビット
は論理1又は論理0の何れかにセットされることになる
が、これは、システムが選択した所定のデータ・ワード
値(000016など)と比較したデータ・ワード値
(即ちスライス内の印刷データを表現する画素)によっ
て決まる。両タイプのデータ圧縮技術によって各スライ
スが分析された後で、そのスライスを圧縮データとして
表現するための7個未満のデータ・ワードを残して、ス
ライス中のデータ・ワードの幾らかは一時的に廃棄する
ことができる。個別の各スライスについてのこの圧縮デ
ータは、個別の制御ビットからなる「制御ワード」と一
致し、それにより同じ印刷データについての未圧縮スラ
イスを記憶するために必要なメモリ量より少ないメモリ
のスペースに記憶することができる比較的小さいデータ
・セットを作成することになる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に画像形成及び
印刷機器に関し、詳細には、複数のインク噴射ノズルか
ら成るアレイを有する印刷ヘッドを使用するタイプのプ
リンタを対象とする。本発明は特に、印刷データの複数
のスワスを印刷するインクジェット・プリンタとして開
示されており、それらスワスは多数のスライスから構成
されている。プリンタ又はホスト・コンピュータは、元
のビットマップの印刷データの各スライスを少なくとも
2つの異なる圧縮技術に従って圧縮して、個別のスライ
スそれぞれについてどちらの方が高い圧縮比を有するか
を調べ、その後この圧縮したデータを印刷準備が整うま
で一時的にメモリに記憶し、印刷準備が整った時点で適
当な圧縮解除技術に従って各スライスを圧縮解除し、そ
れにより元の印刷データに従って画像を印刷する。
【0002】
【従来の技術】複数のノズルから成るアレイを使用する
インクジェット・プリンタは、熱素子等の複数の印刷デ
バイスから成るアレイを使用するその他のタイプのプリ
ンタと同様に、この数年の間に入手可能になっている。
このようなプリンタでは、これらのノズルは通常は印刷
ヘッド上に一まとめにされており、該印刷ヘッドは、一
般には、ペーパ・シートに対して水平方向に左右を移動
する可動担体又は可動キャリッジに固定されており、そ
の際、該ペーパ・シートの方は直交する垂直方向に移動
或いは割り出されている。複数のノズルは通常、1つの
垂直列(又は複数のこのような垂直列)に一まとめにさ
れ、印刷ヘッドがキャリアを介して1度通過すれば、複
数のドット又は画素(すなわち印刷要素)の水平方向の
「列」を、紙又はその他の印刷媒体上にインクの「スワ
ス(swath)」として同時に付着させることができるよう
になっている。
【0003】印刷ヘッドは、水平方向に移動するにつれ
て、プリンタが、通常はホスト・コンピュータから受信
した「印刷データ」に従ってスワスに沿って小さいドッ
トを生成する。スワスの「幅」(すなわちこの配向では
「高さ」)は、1/300インチ解像度である印刷ヘッ
ドのノズルの解像度(300dpi(ドット/インチ)
等)と、印刷ヘッド上の垂直列アレイ中のノズル数とに
よって決まる。例えば印刷ヘッドが104個のノズルか
らなるアレイを有し、その解像度が300dpiである
場合には、スワスの幅は約1/3インチになることにな
る。従来の典型的なプリンタでは、各ノズルがデジタル
(すなわち「オン」又は「オフ」いずれかの)データ・
ビットの情報をほぼ同時に受信するように印刷データを
フォーマットする。つまり、上記の例で言えば、オン
(例えば論理1)になってドットを印刷するか、又はノ
ズルのオフ状態(例えば論理0)になってドットを印刷
しないか、いずれかの準備ができている104個のノズ
ルを制御するために、少なくとも104ビットのデータ
セットを印刷ヘッドに送らなければならない。104個
のノズルからなる垂直列アレイ全体を制御するこの特定
の瞬間のデータセットを、「スライス」という言葉で表
す。したがって、印刷データのスワスを作成するために
は、印刷データをスライスごとに印刷ヘッドに送り、印
刷ヘッドの各ノズルを適当な時間に順次オン又はオフに
して、プリンタが以前にそのホスト・コンピュータから
受信した印刷データ・パターンの表現を再現するように
しなければならない。上記の例では、各スライスは10
4ビットの印刷データを含まなければならず、水平方向
の解像度がやはり300dpiであると想定すると、印
刷ヘッドがそのキャリアを介して水平方向に1インチ移
動するごとに300個のスライスがあり、それにより1
04×300画素、又は1/3インチ×1インチの長方
形を作成しなければならないことになる。
【0004】従来のインクジェット・プリンタでは、ホ
ストPCから印刷データをインポートし、印刷データの
「ワード」又は「バイト」を受信することによって印刷
データを記憶するのが一般的であり、データが「ビット
マップ」の形態になった後は、ワード又はバイトの各ビ
ットは単一の画素を表す。ビットマップ情報は通常、完
全なスライスが画定されるまでそれぞれ16ビットであ
る一連のワードとして到着する。スワスの最初のスライ
スが受信され、プリンタのメモリ・システムに記憶され
た後、次の連続するスライスを画定するために追加のワ
ードが受信され、この手続きはスワスに関する全てのス
ライスが受信され、次いでプリンタのメモリ・システム
に記憶されるまで続く。最初のスワスが完了した後、そ
の後に受信された印刷データを再度ワードにグループ化
し、通常は完了直後のスワスに隣接するスワスとなる次
のスワスの最初のスライスを画定することになる。
【0005】このプロセスは、全てのスワスに関する全
てのスライスが、印刷すべきページ全体について受信さ
れるまで続く。データ圧縮又はデータ短縮技術を使用し
ない場合には、プリンタが受信し、その後プリンタのメ
モリ・システムに記憶したビットマップは、互いに隣接
してスワスを形成する一連の垂直スライスと、互いに隣
接して印刷すべきページの垂直方向の構造を画定する一
連の水平スワスとを表すことになる。これらのスライス
及びスワスは全て、印刷すべきものであるかブランクに
すべきものであるかの個別の画素から構成され、それに
よりビットマップの印刷データの長方形ページ全体を形
成する。この手法は、全ての「ブランク」領域が、印刷
する画素がないにも関わらず印刷ヘッドで印刷する様々
な画素を有する領域と同量のメモリ・スペースを必要と
するので、非常にメモり集約的である。任意タイプのデ
ータ圧縮又はデータ短縮技術を使用しない場合には、印
刷データを1ページ記憶するために必要なメモリ領域の
量は、常に各スワスの全てのスライスを形成するのに必
要な画素数にそのページのスワス数をかけた量になるこ
とになる。例えば、全体で8.5(インチ)×11(イ
ンチ)の印刷データのページをメモリに記憶する場合、
300dpiでは、(8.5×300)×(11×30
0)=8,415,000個の画素が必要になることに
なる。この約800万ビットのデータは、余分のビット
を任意の(通常の)誤り検査ルーチンに使用していない
ものと想定すると、プリンタのメモリ・システムで必要
とされる100万バイトのメモリ・スペースをちょうど
越える程度に相当する。このような印刷システムで印刷
データを保持するために必要なメモリ・スペースの量を
削減すると有利であることは容易に分かる。
【0006】Baumanによる特許(米国特許第5,
272,768号)に、文字フォント・データを圧縮
し、次いで圧縮したフォント文字を記憶し、その後印刷
ヘッドによって印刷する直前にこのフォント文字を圧縮
解除するデータ圧縮技術が開示されている。このBau
manデータ圧縮技術は、通常はインクジェット・プリ
ンタ、又は場合によっては印刷すべき行が水平方向のス
ワスにグループ化されるLEDのアレイを使用するプリ
ンタで使用される。Baumanで提供される1つの例
では、各文字は「ストライプ」で表される3つのデータ
のスワスを含む。これらのストライプのそれぞれは16
ビット又は画素の印刷データからなり、各文字フォント
を分析して、少なくとも1画素の「黒である」又は印刷
済みデータを含むものと定義するために、3つのストラ
イプを全て必要とするかどうかを調べる。必要とする場
合、その特定の文字フォントは圧縮されない。一方、こ
れらのストライプの1つ又は複数が特定の文字フォント
について完全に黒である場合、その文字を印刷するため
に不要であるこの1つ又は複数のストライプを削除する
ことによって、その文字は圧縮される。プリンタのフォ
ントROM(すなわち読取り専用メモリ)は、これらの
文字フォントを圧縮した状態で記憶し、それによりフォ
ントROM内のメモリスペースをいくらか節約する。
【0007】Baumanに開示されているように、印
刷ジョブ・データはホスト・コンピュータから受信さ
れ、入力バッファに一時的に記憶される。この時点でこ
のデータは通常はASCIIデータであり、ビットマッ
プ・データではない。この状況で、ASCIIデータは
解釈されるか或いは「RIP」され(即ち、ラスタ画像
処理を受け)、各文字が、フォントROMがそれについ
て作成したビットマップを有するようにしなければなら
ない。プリンタ内のどこかで、文字は印刷エンジンに送
られる前にビットマップ画像にならなければならない。
Baumanでは、ASCII文字がプリンタに到着す
るにつれて、プリンタのフォントROM中で利用可能な
各フォントごとに、このようなASCII文字をフォン
トROM内に記憶した圧縮画像を使用してビットマップ
に変換することになり、次いでこれを印刷エンジンに送
る前にプリンタによって圧縮解除しなければならない。
これは、そのASCII文字について圧縮フォントを作
成するために、特定の文字それぞれに対する3つのスト
ライプのどれが削除されているかということについての
トラックを保持することによって達成される。データ・
テーブルを使用してこの情報を記憶し、その特定の文字
フォントについてビットマップが作成されたときに、印
刷エンジンに送る前にその完全な文字のビットマップに
「削除された」ストライプを追加する。Baumanの
発明は、ASCIIデータ又はその他の何らかの高級言
語のデータのフォーマットとしてプリンタにインポート
される、様々なタイプのフォント及びポイント・サイズ
の英数文字などの所定の文字データに関してのみ働く。
【0008】Nagataによるもう1つの米国特許
(米国特許第5,237,645号)には、発光ダイオ
ード(LED)アレイやレーザ・ヘッド、又はその他の
同様の装置を使用するプリンタが開示されている。従来
の典型的なレーザ・プリンタでは、データをスワスで印
刷するのではなく、その代わりに単一画素群を個別の行
ごとに印刷する。LEDのアレイを使用する場合には、
印刷プロセスをスワスで行うことができる。どちらの場
合にも、Nagataは、ビットマップ・データを画像
メモリに記憶する前に圧縮する方法を教示している。印
刷データは既にビットマップされたデータとして受信さ
れるか、或いはPostScript(米国商標)など
何らかのタイプの高級ページ記述言語でホスト・コンピ
ュータから到着する。データが高級言語で到着する場
合、データをRIPすることによってビットマップを先
ず作成しなければならない。データがビットマップのフ
ォーマットになった後、Nagataではデータのペー
ジ全体を未圧縮状態で受信してメモリの仮想ページに入
れる。この時点で、データのページ全体は「仮想ブロッ
ク」に分割されるが、これは基本的にはブロック・サイ
ズを選択することによって実行される。仮想ブロックの
サイズを選択した後、Nagataのシステムでは、ブ
ロックの高さ全体(ここではビットマップの1部分から
なる)を十分に満たすまで、十分な「ラスタ」(すなわ
ち高さが1ピクセル又は画素であるライン)をRIPし
なければならない。これらのブロックが決定された後、
Nagataのプリンタは仮想ブロックのそれぞれを分
析し、任意のブロックが完全にブランクである(すなわ
ちその特定の領域内に印刷すべきデータを含まない)か
否かを決定する。このようなブランク・ブロックは「空
の」ブロックと指定される。空でない全てのブロックは
「有効な」ブロックと指定される。有効なブロックしか
画像メモリには記憶されないが、空のブロックのそれぞ
れについての位置は異なるメモリ・レジスタのセットに
記憶される。このようにして、印刷すべきデータの各ペ
ージについて大量の画像メモリを節約することができる
可能性がある。
【0009】Nagataの発明に従ってデータを圧縮
することにより、印刷データの複数のページは通常、画
像メモリ中で利用可能な限定されたスペースの範囲内に
適合することができる。勿論、後にこの圧縮データは、
印刷エンジンに送られる前に圧縮解除しなければならな
い。Nagataによれば、有効なブロックは、必要に
応じて必要とされる各ラスタ・セクションごとに、完全
なビットマップ・フォーマットで画像メモリから取り出
される。プリンタが空のブロックに到着したとき、この
ようなラスタ・セクションにはゼロしかロードされず印
刷データをブロックに提供し、次いでそのデータが印刷
エンジンに転送される。このようにして、印刷エンジン
は常に印刷すべきページ全体についての完全なビットマ
ップのデータを受信する。したがって印刷エンジンは、
その位置で画素を印刷すべきであるか否かに関わらず、
印刷すべきページのあらゆる物理画素の位置を横切らな
ければならない。印刷エンジンが大領域のブランク・デ
ータを「印刷」する場合には、その印刷エンジンがその
ページの同じ領域上の様々な位置に黒い画素を付着させ
る場合とちょうど同程度の時間がかかることになる。
【0010】米国特許第3827357号(Mahon
eyによる)に、文字全体を各ライン/列位置で記憶す
るプリンタが開示されている。文字がブランクである、
又は印刷不可能な文字(例えば何らかのタイプの無効コ
ードの場合)である場合には、その文字は印刷されない
ことになる。データの各ラインが記憶されるにつれて、
カウンタは印刷可能な各バイト(すなわち文字)につい
て減分される。印刷中に、カウンタは、それがこのライ
ンについての印刷可能な全ての文字が印刷されたと決定
するまで、再度減分される。決定した時点で、残りのラ
インは放棄され、プリンタは直ちに印刷ヘッドを次のラ
インにシフトさせる。Mahoneyは、主としてドッ
ト・マトリックス・プリンタ又は文字形成型プリンタを
形成し対象とした古い特許である。Mahoneyは基
本的に、各ラインの最も右の文字を決定し、印刷ヘッド
がその文字に到達したときに、ライン送りが起こるよう
に直ちに命令することができる1つの方法を開示してい
る。
【0011】従来のインクジェット・プリンタのもう1
つの例が、Bohrer(米国特許第4,481,60
2号)に開示されている。Bohrerは基本的に、フ
ォント・データをメモリに記憶する前に圧縮し、後に印
刷する前にそのデータを圧縮解除する方法を開示してい
る。Bohrerは、ポインタ・テーブルのサイズを最
小限に抑える方法を使用して、全体で3倍の記憶圧縮を
実現すると公言している。上記に関係して、1ページの
みの(未圧縮の)印刷データをビットマップ形態で保持
し得るようになっている画像バッファに複数ページの印
刷データを記憶し、それによりさらに効率的に印刷デー
タを処理することによって全体的な印刷速度を増すこと
ができるので、相当な記憶圧縮はどんなものでも重要で
ある。もちろん、Bohrerのプリンタは、上述の目
的を達成するためには大量のデータ操作を実行しなけれ
ばならない。Bohrerの方法によれば、各文字がそ
の特定のフォントと突き合わされ、これらの各文字ごと
にポインタ及び訂正ファクタのずれが生じる。この情報
は圧縮データの「スクロール・アレイ」に記憶され、
「ポインタ・テーブル」にも記憶される。データを圧縮
解除するときには、文字のサイズをスクロール・アレイ
で見つけ、「全文字ボックス」中の文字の位置を決定し
なければならず、次いでポインタ及び訂正ファクタのず
れも含めた全ての記憶データを利用して、その文字を複
製してビットマップにする。Bohrerでは画像テー
ブルのメモリ・スペースを節約することはできるが、や
はり全体的な印刷手続きの速度を低下させる可能性があ
る大量の処理を必要とする。
【0012】米国特許第4,870,498号(Sch
oonによる)に、ASCII又はその他のデータを圧
縮解除してランレングス・コード化データにするプリン
タが開示されている。これはビットマップとは異なり、
走査線中の2進0から2進1に、又は2進1から0に変
化する点ごとに1片の情報を提供するだけである。
【0013】米国特許第4,553,171号(Hol
lidayによる)に、デジタル情報をブロックに分割
するコピー機/プリンタが開示されている。異なるタイ
プのブロック・データにはそれぞれ独自の識別コードが
割り当てられ、スクラッチ・パッド・メモリに入れられ
る。同一データを有するブロックには、後で使用するた
めに同じ識別コードが割り当てられる。
【0014】米国特許第5,479,587号(Cam
pbellによる)に、複数のデータ圧縮技術を使用す
るプリンタが開示されている。最初のデータ圧縮動作に
より許容レベルの圧縮が達成されない場合には、その他
の技術を使用して十分な圧縮を達成する。「M圧縮」及
び「LZW圧縮」を含む様々なタイプの圧縮技術が開示
されている。
【0015】Zimmerman(米国特許第5,48
3,622号)に、複数の圧縮技術を有するプリンタが
開示されている。入力データの一部分を記憶するのにラ
ンダム・アクセス・メモリ(RAM)が不十分な場合
に、これはフォント圧縮又は異なる方法による圧縮を試
み、「メモリ・ロー/アウト」信号を除去しようと試み
る。Zimmermanに開示される圧縮技術のいくつ
かには、「M圧縮」及び「ビット・ランレングス」圧縮
が含まれる。
【0016】米国特許第5,465,322号(Hsu
による)に、圧縮ビットマップ画像データ中のブレーク
・エントリにおいてビットマップを多数の画像データ・
セグメントに分割するプリンタが開示されている。ブレ
ーク・エントリはビットマップのテーブルにリストさ
れ、複数の画像チャネルを使用して選択したビットマッ
プのセグメントを平行して圧縮解除する。
【0017】米国特許第5,500,928号(Coo
kによる)に、印刷画像がセグメントに分割されるデジ
タル印刷システムが開示されている。「表示リスト」が
各セグメントごとに画定され、メモリ容量の限度を超え
たときに表示リストはこの中に圧縮される。表示リスト
のエントリが純ピクセル表現を超えるサイズに成長した
場合には、この表示リストは適応する圧縮技術を使用し
てピクセルに再変換される。
【0018】
【発明が解決しようとする課題】上記に記載したデータ
圧縮技術は望ましい特徴を有するが、印刷データをスラ
イスごとに圧縮することも望ましいであろう。これは後
にスライスごとに圧縮解除して、プリンタの印刷ヘッド
で必要とされるビットマップ印刷データのスワスを作成
することができる。実時間で、複数のデータ圧縮技術の
中からスライスごとに選択することができればさらに有
利であろう。このような手続きは、所定の文字(すなわ
ちフォント)データだけでなく図形データに使用するこ
ともできる。
【0019】したがって、本発明の主な目的は、ビット
マップ印刷データを圧縮して、文書全体のビットマップ
・サイズを大幅に減少させ、それにより個別のページの
それぞれを記憶するのに必要なメモリ容量を減少させる
ことによって、プリンタ中の画像メモリ・スペースを節
約する印刷システムを提供することである。
【0020】本発明の別の目的は、ビットマップ印刷デ
ータをスライスごとに圧縮し、この圧縮データを後に
(やはりスライスごとに)圧縮解除して、各印刷ページ
の一部分を形成する個別のスワスを作成することができ
るような、印刷システムを提供することである。
【0021】本発明のさらに別の目的は、ビットマップ
印刷データをスライスごとに圧縮する印刷システムを提
供することであり、この場合、圧縮される個別のスライ
スごとに複数のデータ圧縮技術が実時間で実行され、同
様に、圧縮されたスライスはそれぞれ、後に適当な圧縮
/圧縮解除技術に従ってやはり個別のスライスごとに圧
縮解除される。
【0022】本発明のさらに別の目的は、印刷すべき各
スワスの個別のスライスを分析して、異なる2つのデー
タ圧縮技術のうちどちらの方が、個別の各スライスを圧
縮し、その後にこれらの個別のスライスのそれぞれを適
当な圧縮/圧縮解除技術に従って圧縮解除し、印刷ヘッ
ドに与えられる最終的な画像テーブル・ビットマップが
元の印刷データと全く同一になるようにするためにより
効率的であるかを決定することによってビットマップ印
刷データを圧縮する方法を提供することである。
【0023】本発明の追加の目的、利点、並びにその他
の新しい特徴について、一部分は以下の記述に記載する
が、一部分は以下の考察から当業者には明らかである
か、又は本発明を実施することにより知られるであろ
う。
【0024】
【課題を解決するための手段】前述その他の目的を達成
するために、本発明の1つの態様によれば、異なる2つ
のデータ圧縮技術のうちどちらの方が、個別の各スライ
スを圧縮し、その後この圧縮データを印刷ヘッドが最終
的な出力を印刷媒体の形態で実際に印刷するために必要
とするまで一時的にメモリ回路に記憶するのにより効率
的であるかを印刷ページのスワスの各スライスごとに決
定することによってビットマップ印刷データを圧縮す
る、改良した印刷システムが提供される。好ましい実施
形態では、インクジェット・プリンタは、スワス中の印
刷ヘッドを印刷媒体を横切って移動させるキャリッジの
「水平」移動に対して垂直方向に異なる位置に位置決め
された、104個のノズルを有する印刷ヘッドを利用す
る。白黒プリンタの場合、命令を発火させる各ノズル
は、2進信号(すなわち論理1又は論理0のいずれか)
の1ビットで表すことができ、命令を発火させる104
個のノズルの1セットを画定するスライスは異なる7個
の16ビット・ワードで表すことができる。
【0025】スライスごとに異なる7個のワードを含む
スライスを使用する場合、本発明では、「制御ワード」
の単一の「制御ビット」を利用してスライスの各データ
・ワードを表す。どちらのタイプの圧縮技術を使用する
かによって、各データ・ワードについての制御ビットは
論理1又は論理0のいずれかにセットされることになる
が、これは、どちらのタイプのデータ圧縮技術でも使用
できる、システムが選択した所定のデータ・ワード値
(000016など)と比較したデータ・ワード値(す
なわちスライス内の印刷データの画素を表す)によって
決まる。両タイプのデータ圧縮技術によって各スライス
が分析された後で、そのスライスを圧縮データとして表
現するための7個未満のデータ・ワードを残して、スラ
イス中のデータ・ワードのいくらかは一時的に廃棄する
ことができる。個々の各スライスに対するこの圧縮デー
タは、上記の個々の制御ビットからなる「制御ワード」
と一致し、それにより同じ印刷データについての未圧縮
スライスを記憶するために必要なメモリ量より少ないメ
モリのスペースに記憶することができる比較的小さいデ
ータ・セットが作成されることになる。後に、これらの
(圧縮)データ・セット(個々のスライスごとに1つ)
は、適当な圧縮解除技術に従って圧縮解除することがで
き、その後印刷ヘッドが印刷する直前に完全な印刷デー
タが復元される。制御ワードの一部分として「モード・
ビット」が論理1又は論理0の2進のいずれかにセット
され、それにより2つのデータ圧縮技術のどちらが最初
にそのスライスに対して使用されたかを示すことができ
る。
【0026】好ましい実施形態では、圧縮手続きは、元
の印刷ジョブ・データ・ファイルが生じるホスト・コン
ピュータで行われる。印刷ジョブのために未圧縮ビット
マップ全体を直列又は並列にプリンタに伝送するのでは
なく、このホスト・コンピュータは、圧縮データを送信
することができる。圧縮データにより、この印刷ジョブ
を受信するホスト・コンピュータ及びプリンタのメモリ
に一時的に記憶するためのスペースが少なくなるだけで
なく、ネットワークなどのデータ・リンクを介した伝送
にかかる時間も短くなる。この圧縮データ・ファイルは
プリンタで受信された後、最終的に出力した印刷媒体を
プリンタが作成できるようになり、印刷ヘッドがこれを
必要とするまで、一時的に記憶されることになる。画像
テーブル・ビットマップを作成する時間になり、印刷ヘ
ッドに必要なデータを供給することができるようになる
と、各スライスは適当な圧縮/圧縮解除技術に従って圧
縮解除され、元のビットマップ・データが生成されて個
別のスワスを形成し、個別のスワスが組み合わされて印
刷ヘッドが必要とする全体的な印刷ページになることに
なる。
【0027】好ましい実施形態では、使用される2つの
データ圧縮技術は、「USE−XMODE」及び「RE
PEAT MODE」と呼ばれる。どちらのモードで
も、変数名「X」を与えられる「ターゲット・ワード」
についての初期値を選択しなければならない。ほとんど
の印刷ページは印刷領域よりブランク領域の方をはるか
に多く有するので、このデータ値は通常はゼロ(000
016)になることになる。もちろん、印刷ページが何
らかのタイプの写真やその他の芸術作品などの、とりわ
けグレイ・スケール画像のコントーン(すなわち連続色
調)を使用するグレイ・スケール画像であることが判明
している場合には、そのようにならない。
【0028】ターゲット・ワード値がゼロ(00001
6)に等しいものと想定すると、USE−Xモードで
は、やはりゼロ(000016)の値を有するスライス
の任意のデータ・ワードについて、制御ビットは論理1
にセットされることになり、そのワードは圧縮データと
して記憶された情報の中から除去することができる。後
に、圧縮解除が行われたときに、論理1にセットされた
制御ワードの各ビットについて、論理0(すなわち00
0016)にセットされた16ビットのデータ・ワード
全体が、印刷ヘッド用に生成される個別のスライス内の
適切な位置に挿入されることになる。
【0029】REPEATモードの圧縮技術では、変数
Xについての値は、個別のスライスの最初のワードの試
験のためにのみ重要である。一般に、REPEATモー
ドを使用するスライスの各データ・ワードについての制
御ビット値は、このデータ・ワードの16進値が以前の
データ・ワードの16進値に等しい場合にのみ、論理1
にセットされることになる。しかし、各スライスの最初
のワードには比較すべき以前のワードがないので、これ
は変数Xと等しい16進値を有するターゲット・ワード
と比較される。例えばターゲット・ワードがゼロ(00
0016)の値にセットされる場合には、各スライスの
最初のデータ・ワードについての制御ビットは、そのス
ライスの最初のワードのデータ値もまた16進のゼロ
(000016)に等しい場合にのみ、論理1にセット
されることになる。
【0030】当然、全体的な圧縮/圧縮解除技術は、ホ
スト・コンピュータ内のみ、又はプリンタ内のみで実施
することができるが、好ましい動作モードは、圧縮をホ
スト・コンピュータで行いながら、圧縮解除をプリンタ
内で行うというものである。
【0031】本発明のさらに別の目的は、本発明を実行
するように企図された最良の方式の1つにおいて本発明
の好ましい実施形態について説明及び図示する、以下の
説明及び図面から当業者には明らかになるであろう。理
解されるように、本発明は、その他の様々な実施形態を
含むことができ、そのいくつかの詳細は、その全てが本
発明から逸脱することなく、多様かつ明白な態様で修正
形態を含むことができる。したがって、図面及び説明
は、本質的に例示的なものであり、限定的なものではな
いと見なされることになる。
【0032】本明細書に組み込まれ、その一部を形成す
る添付の図面は、本発明のいくつかの態様を図示し、説
明及び請求の範囲とともに、本発明の原理を説明する働
きをする。
【0033】
【実施例】次に、本発明の好ましい実施形態を詳細に参
照する。その1例を、各図面を通じて同様の番号が同じ
要素を指示する添付の図面に示す。
【0034】次に図面を参照すると、図1は通信ケーブ
ル24を介してインクジェット・プリンタ30に接続さ
れたホスト・コンピュータすなわちホストPC10を含
む印刷システムを示す図である。ホスト・コンピュータ
10は、通常はマイクロプロセッサ12、読取り専用メ
モリ(ROM)14、ランダム・アクセス・メモリ(R
AM)16、並びに何らかのタイプの入出力ポート18
を含むことになる。これらの様々な基本的な構造エレメ
ントは、アドレス・バス20及びデータ・バス22によ
って互いに接続される。多くの適用分野で、ホスト・コ
ンピュータは印刷すべきデータ・ファイルを作成する何
らかのタイプのワード・プロセッシング・プログラムを
含むことになる。これらのデータ・ファイルは、Pos
tScriptフォーマットなどの高級言語(HLL)
フォーマット又はPCLなどの異なる高級言語のいずれ
かでプリンタに転送することができる、あるいはこのデ
ータは、プリンタ30が直接作用することができる「ビ
ットマップ」フォーマットで転送することもできる。別
法として、ホスト・コンピュータ10は、ネットワーク
・システム(ローカル・エリア・ネットワーク(LA
N)など)中のその他のコンピュータからデータ・ファ
イルを受け入れることができる、又はそれ自体がデータ
・ファイルを(例えばワード・プロセッサ・プログラム
を使用して)作成し、一時的に記憶し、次いでこのよう
なデータ・ファイルを必要に応じてプリンタ30に転送
することができるハード・ディスク・ドライブ(図示せ
ず)などの大規模不揮発性データ記憶装置を含む、ネッ
トワーク・サーバにすることもできる。
【0035】インクジェット・プリンタ30もまた、マ
イクロプロセッサ32、ROM34、RAM36、並び
にアドレス・バス40及びデータ・バス42を含む。プ
リンタ30はまた、ホスト・コンピュータから受信した
印刷データを印刷するまで処理するのに不可欠な特殊機
能ASIC(特定用途向け集積回路)38も含む。通信
リンク24は入出力ポート44に接続される。これは、
両方向受信能力を有する並列通信ポートを含むことが好
ましい。I/Oポート44は入力バッファ46に接続さ
れ、これはさらに入力バッファ46からの着信印刷デー
タをASIC38に通信するデータ・バス48に接続さ
れる。
【0036】ASIC38による印刷データの処理は、
根本的にはマイクロプロセッサ32上で動作するコンピ
ュータ・プログラムによって制御される。いくつかのプ
リンタでは、着信印刷ジョブ・データが高級言語(PC
Lなど)のそれであり、印刷エンジンにさらに転送され
る前にラスタ画像処理(RIP)段階を受けなければな
らない。このような状況では、マイクロプロセッサ32
はRIPを制御することになり、高級言語の印刷ジョブ
・データを一時的にRAM36の一部分に記憶しなが
ら、RIPによってビットマップ・フォーマットで作成
された副産物もやはりRAM36の別の一部分に記憶す
ることになる。このビットマップ・データは最終的にA
SIC38を介して印刷エンジンに転送されることにな
る。印刷ジョブ・データがビットマップ・フォーマット
でホスト・コンピュータ10から到着する場合には、そ
のデータ転送が所与の時間に起こるようにプリンタ30
の全ての構成部品が備えているものと想定して、印刷デ
ータをASIC38を介して入力バッファ46から直接
印刷エンジン70に転送することができることもある。
通常の環境では、印刷エンジンはI/Oポート44に着
信する転送データについていくことができず、したがっ
てこのデータは、ASIC38を介してRAM36に送
り、印刷エンジンがさらにデータを受け入れる準備が整
うまで一時的に記憶しなければならない。
【0037】図1では、印刷エンジンは指標番号70で
概略的に示し、印刷ヘッド72、用紙モータ・ドライブ
回路80、並びにキャリア・モータ・ドライブ回路82
を含む。印刷エンジン70のこれらの主な構成部品は、
印刷ヘッド72に関しては制御バス74、データ・バス
76、並びにアドレス・バス78によって転送される様
々な電気信号を介して、ASIC38によって制御され
る。好ましいインクジェット・プリンタ30では、印刷
ヘッド72は実際には、2列の別々のインク噴射ノズル
の列を含み(したがって共通のキャリア上に取り付けら
れた2つの別々の印刷ヘッドと本質的には同等であ
る)、したがって制御バス74は2セットのヒータ・ラ
イン及び2つの別々のイネーブル・ライン、ならびに共
通の電源ラインのセットを含むことになる。用紙モータ
・ドライブ80はステッパ・モータ・ドライブであり、
キャリア・モータ・ドライバ82はDCモータ・ドライ
ブであることが好ましい。ドライバ80及び82は、A
SIC38から得られるさらに別の信号である、それぞ
れ対応する信号線84及び86によって制御される。
【0038】プリンタ30はまた、指標番号60で示す
「制御パネル」も含むことが好ましい。制御パネル60
は一般に、プリンタ30の前面でユーザがアクセスする
ことができる様々なスイッチ及びランプを表す。これら
のスイッチ及びランプはI/Oライン62のセットによ
ってASIC38と通信する。
【0039】プリンタ30の印刷ヘッドを水平方向に移
動させるキャリア(図示せず)の物理的位置は、指標番
号52で概略的に図1に示すエンコーダによって検出さ
れる。エンコーダ52は、ワイヤ54によってエンコー
ダ回路50に伝送される直角信号を作成する。このエン
コーダ回路はこれらの直角信号を決定し、さらに導体5
6に沿ってASIC38にこれらを伝送する。これらの
信号を介して、印刷ヘッドの精密な位置が、プリンタ3
0の水平方向の解像度によって300分の1インチ又は
600分の1インチの範囲内で常に分かる。この情報は
キャリア・モータ・ドライブ82の制御だけでなく、印
刷ヘッド72中のインク・ノズルのオン及びオフ始動の
制御にも使用される。
【0040】米国ケンタッキー、レキシントンにおけ
る、レックスマーク・インターナショナル・インコーポ
レーテッド製のLexmarkTM7000 Colo
r JetprinterTMなどの好ましいプリンタ
では、ホスト・コンピュータから到着する印刷ジョブ情
報は既にビットマップ・フォーマットであることにな
る。元のデータ・ファイルは、それがワード・プロセッ
シング文字ファイルであってもPostScript又
はPCL中の何らかのタイプの図形データ・ファイルで
あっても、ホスト・コンピュータ中で特定タイプのプリ
ンタで使用される特殊「ドライバ」プログラムによって
RIPされ、その結果生じたビットマップはI/Oポー
ト18から出力され、次いで通信チャネル24を介して
プリンタ30上の対応するI/Oポート44に通信され
ることになる。上記に関係して、従来のプリンタでは、
このビットマップ情報は、印刷ジョブの表現を分与する
紙のシート全体と基本的に同じ大きさである大きな長方
形アレイの画素を含むことができるので都合がよい。概
して、印刷ジョブ・データは入力バッファ46からAS
IC38を介してRAM36に転送され、一時的に記憶
される。印刷ヘッド72が適当な位置にあるときには、
ASIC38の「発火論理」がオンになり、インク・ド
ットが印刷ヘッド72のノズルから、画像表現をその上
に配置する紙又はその他の印刷媒体上に放出されること
になる。ASIC38はオンになると、印刷データ、及
び印刷ヘッド72が印刷しようとする現在のスワスにつ
いての「印刷開始位置」(すなわちスライス位置)が入
っているRAM36中の先頭のアドレスのメモリ・アド
レスをASIC38に提供するRAM36の別のテーブ
ルに記憶した情報を使用して、RAM36からのDMA
(直接メモリ・アクセス)によって印刷データを把持す
る。ASIC38は、印刷開始位置と、エンコーダ回路
50によって提供される印刷ヘッド72の実際の現在位
置である現在のキャリア位置とを比較する。この比較が
真になった後(以下にさらに詳細に参照)、印刷エンジ
ン70は印刷ヘッド72の印刷ノズルを通して紙又はそ
の他の印刷媒体上にインクを流すプロセスを開始するこ
とになる。
【0041】印刷ヘッド72がオフになる、すなわち画
素が印刷媒体上に配置されないときには、ASIC38
中の発火論理は次の印刷動作によって必要とされるまで
遮断されることが好ましい。このことについて以下にさ
らに詳細に記載する。
【0042】図2で、指標番号100はホスト・コンピ
ュータ10のRAM16又はプリンタ30のRAM36
のいずれかに見られるメモリ・エレメントの図形表現を
示す。「ブロック」100中の各長方形はデータ・ワー
ドを表し、これらは16ビットの2進情報を表す。図2
の概略ブロック102に見られるように、「W1」で明
示される最初のワードは「b1」乃至「b16」で明示
される16ビットを表す。
【0043】メモリ位置及びメモリ位置に記憶される2
進情報は、図2の一部分の番号100及び102に示す
方法と同様の方法で表すのが普通である。換言すれば、
一連の2進データがそれ自体を通信ポート、又はRAM
チップ、ハード・ディスク・ドライブ、アドレス・バス
や、データ・バスなどの何らかのタイプのメモリ装置に
与える場合には、この情報は通常はバイト又はワードに
グループ化される一連の2進又は16進数字のいずれか
で表すのが普通である。これらのバイト又はワードは、
次いで通常は2進又は16進数字がそのページのライン
の末端に到達するまで印刷ページを水平方向に横切って
(このような情報をプリントアウト又はモニタ画面上で
見た場合)グループ化され、その後任意の後続の2進又
は16進データが次のラインに進み、左側のボーダに沿
って開始して右側のボーダに向かって続行する。しか
し、インクジェット・プリンタ、あるいは最終的に何ら
かのタイプの印刷媒体にドットを作成することになる何
らかのタイプの発光ダイオード又はその他の変換装置の
アレイを使用するその他のプリンタで、このような2進
又は16進データを使用する場合には、通常は印刷ジョ
ブ情報を90°回転させ(「デルタ回転」と呼ばれ
る)、メモリに記憶すべき連続的なデータ流が、印刷す
べき画像の何らかのタイプの水平方向表現ではなく垂直
方向の情報を表すようにする。換言すれば、指標番号1
00に示す2進データの最上行に見られる連続的な2進
情報は、回転されて図2の下側に図示するスワス105
の「スライス1」となる。
【0044】1/300インチだけ間隔をあけた(した
がって300dpiの解像度を提供する)104個の垂
直方向ノズルを含む印刷ヘッドを使用する例示的な例で
は、データのスワスは、そのスワスについての単一のス
ライス全体の全ての画素を画定するために少なくとも1
04個の2進ビット・データを必要とすることになる。
それぞれ16ビットのサイズであるデータ・ワードを使
用する場合、各スライスはこのようなデータ・ワードを
6.5個必要とし、これが16×6.5=104個のデ
ータ・ビットを生成してその特定のスライスについての
同じ104個の画素を表すことになる。スライス1につ
いて、これらのワードは記号W1,W2,W3,W4,
W5,W6,W7で表される。
【0045】最新のマイクロプロセッサは少なくとも1
6ビット幅のレジスタを有するので、ワードの一部分だ
けでなく16ビット幅のデータ・ワード全体を使用する
コンピュータ・プログラムを書き込むことが容易にな
り、したがって、7番目のワードW7の最後の8ビット
をその他の何らかの記憶のために「節約」するよりも、
7個のワードの全体を使用してスライス1を表現するこ
とが好ましい。したがって、指標番号108で明示する
7番目のデータ・ワードは、スライス1の一部分を表現
するために完全に使用されることになり、指標番号10
6で明示されるその最後の8ビットは、任意タイプのビ
ットマップ印刷データを表現する範囲では、基本的にメ
モリ中の浪費スペースとなることになる。もちろん、コ
ンピュータのプログラマは、各スライスについての7番
目のデータ・ワードの最後の8ビットを誤り検査などそ
の他の何らかの目的のために使用するようにすることも
あるが、その場合にはコンピュータ・プログラムが複雑
になり、プリンタ30の処理速度が遅くなる。これは主
に、印刷ヘッド72が活動化されている間にマイクロプ
ロセッサ32及びASIC38がさらに良好に使用され
て迅速かつ効率的にデータを印刷エンジン70に転送す
る時に、これらの構成部品が、これらの8データ・ビッ
トを使用してその他の動作を実行することが必要となる
ためである。
【0046】図2から分かるように、スライス2はW8
乃至W14で明示される7個の追加データ・ワードを含
み、W14の最後の8データ・ビットは、この印刷ジョ
ブの最終的な印刷表現に使用する任意の画素2進データ
を含むために使用されない。追加スライスのそれぞれも
また同じタイプのフォーマットの7個のデータ・ワード
を含む。スワス105は8インチ幅の表現(水平方向に
300dpiで)を表し、したがって2400個のスラ
イスを含む。図2から分かるように、スライス2400
はW16794乃至W16800で明示される7個のデ
ータ・ワードを含む。前記と同様に、これらのデータ・
ワードのそれぞれは、この場合では印刷ヘッド上の16
個の垂直方向ノズル位置を表す16ビットを含み、最後
のワードW16800だけが、その最初の8ビットの情
報を使用し(すなわち最後の8個のノズルを制御するた
めに)、このスワス105の印刷表現を作成する助けと
なる。
【0047】図3で、印刷ページの一部分を指標番号1
20で明示する。本発明の重要な態様を図示するため
に、単一画素幅のラインをページ120に印刷するもの
と想定し、指標番号130で明示するこの単一画素幅の
ラインは、垂直方向セグメント132、水平方向セグメ
ント134、並びにもう1つの垂直方向セグメント13
6の3つの別々のセグメントを含むものとする。この図
示の目的のために、セグメント134の長さは8インチ
であり、図3に示す寸法「B」と等価であると想定す
る。ページ120の幅は8.5インチであるとし、した
がって寸法「A」は0.25インチに等しく、寸法
「C」も同様に0.25インチに等しい。ページ120
の最も左の縁部は指標番号122で、最も右の縁部は指
標番号126で、最も上の縁部は指標番号124で、遮
断縁部は指標番号128で明示される。
【0048】指標番号140で明示される2つの平行な
水平方向のラインの間の水平方向の間隔は、ページ12
0に分与された印刷データのスワスを明示する。上記の
例では、300dpiの解像度で104個のノズルのア
レイを有する印刷ヘッドを使用すると、スワス140の
幅(又は高さ)は約1/3インチになることになる。図
3から分かるように、スワス140のみが2つのスライ
ス位置、すなわちスライス位置142及びスライス位置
144で印刷することを必要とする。円150における
左側のスライス142の詳細を、図4に見られる拡大図
に与える。図4では、ライン・セグメント132が、ペ
ージ120を横切って垂直方向に走る印刷画素の単一ス
ライス幅のラインを表すことが分かる。ライン・セグメ
ント142は、スライス140内に含まれる画素のスラ
イスを表し、このライン・セグメント142はライン・
セグメント132のサブセットである。この図示を分か
りやすくするために、図4ではこのスライスの104個
の全ての画素を個別に描写しているわけではないことが
理解されるであろう。
【0049】従来の多くのインクジェット・プリンタで
は、スワス140全体が8.5インチ幅のスライスのセ
ットにRIPされ、図3に見られる画像を形成すること
はない。その代わりに、最も左のスライス(すなわちス
ライス142)及び最も右のスライス(すなわちスライ
ス144)を決定し、そのページのスワス140の範囲
内の最も左のスライス142より左側の全ての領域を無
視し、そのページのスワス140の範囲内の最も右のス
ライス144より右側の全ての領域も無視することにな
る。
【0050】通常の印刷ヘッドは少なくとも2列のほぼ
垂直に配列されたノズルを含み、両方の列からのノズル
は、スライス142を含むスワス140を印刷する一助
となる。ほぼ垂直な画素の行をスライス142に印刷す
るためには、印刷ヘッド72が水平方向に短い距離だけ
物理的に移動し、その各ノズルが紙上のスライス142
に表された水平方向の位置にわたって移動する機会を有
するようにする必要がある。そのために、印刷ヘッド7
2の移動をそれが必要とする全ての水平方向の位置にわ
たって制御し、各ノズルがスライス142に沿った垂直
方向の適当な位置で印刷することができるように、スラ
イス142の左側及び右側の両方に「パディング(詰め
込み)」を追加する。
【0051】現在の技術を使用すると、このパディング
は20個のスライスという最小限のサイズを有すること
が好ましく、これらはスライス142の左側のスライス
群152及びスライス142の右側のスライス群154
で表される。図4に見られるように、最も左のパディン
グ・スライスは指標番号156で明示され、最も右のス
ライスは指標番号158で明示される。もちろん、印刷
画素がパディング・スライス152又は154のいずれ
の範囲内にも付着しないこと、及び解像度の高いノズル
・アレイが水平方向にわずかに移行して必要なノズルの
それぞれがページ120上にインクを噴射する時に適当
な位置に到達することができるようにしながら、必要な
全てのドットをうまく印刷して印刷スライス142を作
成することができるようにするためにのみ、これらのス
ライスが画定されることは理解されるであろう。
【0052】以下に記載する圧縮方法を使用すれば、非
常に多数の「ブランク」スライスをスワス146につい
ての圧縮データ・セットから除去することができる。す
なわち、最も左のスライス142と最も右のスライス1
44の間の全てのスライスは完全に印刷されないブラン
クとなるので、論理0の値を有する画素の形態のこれら
全ての「ブランク」データを、印刷ヘッドがこの特定の
スワスを印刷する準備が整うまでプリンタのメモリ中に
構築された一時画像テーブルの一部分にする理由はな
い。本明細書に開示の圧縮技術は両方とも、下記から分
かるように、これらのブランク・スライスのそれぞれの
範囲内の非常に多数のデータ・ワードを除去することが
できる。
【0053】図5は、104個のノズルを備えた印刷ヘ
ッドを有するインクジェット・プリンタの場合の単一ス
ライスの2進画素を表す参照番号200のデータのセッ
トから開始する、「USE−Xモード」圧縮と明示され
る圧縮技術の一例を提供する図である。このスライスは
「W1」乃至「W7」と明示される7個のデータ・ワー
ドからなる。データ・セット200は、7個のデータ・
ワードを2進値及び16進値の両方で示す。もちろん、
104個の画素を記述するためには実際には6と2分の
1個の16ビット・ワードしか必要としないので、ワー
ドW7の最後の8ビットは使用されない。図5の例で
は、16進値でのデータ・ワード値は以下のようにな
る。 0020 0000 2000 0000 07FD
0000 0000 これは参照番号202で参照される。本発明では、「制
御」ワードはデータ・ワードW1乃至W7のそれぞれを
分析し、これらのデータ・ワードのそれぞれに対して
「制御ビット」を割り当てることによって形成される。
さらに、インクジェット・プリンタでは通常は16進値
000016で表される白いスペースである可変名
「X」で明示される、最も頻繁に出現するワードを見つ
けることが望ましい。
【0054】USE−Xモードでは、制御ワードの各ビ
ット「i」は、スライスの同じ位置iのワードがXに対
して選択した値と等しい場合に論理1にセットされる
か、又は論理0にクリアされてワードiがXに対する値
と等しくないことを示すが、この場合には、この次のワ
ードiの値は圧縮データ中に配置されなければならな
い。この例の制御ワードの個別のビットは、参照番号2
04で描写され、Xの値が000016と等しいので、
ワードW2,W4,W6,W7についての制御ビットは
論理1にセットされ、ワードW1,W3,W5について
の制御ビットは論理0にクリアされる。制御ワードの8
番目のビットは「モード・ビット」であり、このデータ
・スライスに対してどちらの圧縮モードが使用されたか
を明示するために使用される。好ましい実施形態では、
図5のモード・ビットは論理1にセットされて、USE
−Xモードの圧縮技術がこのスライスに対して使用され
たことを示す。したがって、参照番号204の制御ワー
ド表現において、モード・ビットは論理1にセットされ
る。
【0055】図5から分かるように、ワードW1を表す
制御ビットは制御ワード中の最下位ビット(LSB)と
なり、データ・ワードW7を表すビットは制御ワードに
ついての最上位ビット(MSB)となる(モード・ビッ
トは除く)。したがって、この例の制御ワードは、参照
番号206,208,210に見られるように値00E
A16を有する。制御ワードの最初の2つの16進値の
数字は参照番号206で描写され、ワードW1乃至W7
を含むデータ・スライスによって画定される8ビットの
制御ワード(モード・ビットも含む)しか存在しないの
で、制御ワード210の最初の2つの数字は0016に
セットされる。スライスが112個を越える画素を含む
場合には、制御ワードの2つの最上位の数字は常にゼロ
にセットされるのではなく、実際のデータを含むことに
なる。制御ワードの2つの最下位の数字は参照番号20
8で示す値にセットされ、これは制御ワード204と同
じデータ(2進値形態で見られる)であるが、参照番号
208のビットの順序は参照番号204のデータと比較
して逆になっている。206の2つの最上位の数字と、
208の2つの最下位の16進値数字を組み合わせる
と、番号210で最終的な制御ワードが生じる。
【0056】この例のスライスについての圧縮データ
は、参照番号212で描写される。これは値00EA1
6を有する制御ワードから開始し、その後にXについて
の値と等しくないデータ値を有するデータ・ワードW
1,W3,W5が続く。この圧縮技術を使用すれば、元
の7個のデータ・ワードが、そのうちの1つが制御ワー
ドである4個のワードに圧縮されることがことが分か
る。
【0057】図6に、「REPEATモード」と呼ばれ
る異なる圧縮技術を使用するもう1つの例を提供する。
単一のスライスについての2進及び16進の両方の値で
あるデータ・ワードは、データ・ワードW1乃至W7に
ついて参照番号220で描写される。このスライスにつ
いてのデータもまた、参照番号222で16進値でリス
トされ、以下の値を含む。 0000 0000 0000 000F FFFF
FFFF 0000
【0058】図6で、スライスのワードW1乃至W7の
それぞれを表す制御ワードを形成する対応する制御ビッ
トは、参照番号224で描写される。REPEATモー
ドでは、制御ワードの各ビット「i」が論理1にセット
されると、スライスのこの位置iにあるワードが以前の
位置(i−1)にあるワードと同じであることを示す。
さらに、最初のワードW1のデータ値が「X」の値と等
しい場合には、最下位の制御ビットは論理1にセットさ
れる。図6に描写する例では、Xについてはどのような
値でも選択することができるが、Xは000016と等
しくなるようにセットされる。
【0059】224の制御ワード・ビットは、ワードW
1,W2,W3,W6については論理1にセットされ
る。ワードW1の場合、その値000016はXについ
ての値と等しく、そのためその制御ビット(最下位ビッ
トである)は論理1にセットされる。W2についての値
はW1のそれと等しいので、その制御ビットは論理1に
セットされる。同様に、ワードW3についての制御ビッ
トも、その値がワードW2のそれと等しいので論理1に
セットされる。最後に、W6についての値FFFF16
はワードW5の値と等しく、そのためワードW6につい
ての制御ビットもまた論理1にセットされる。
【0060】ワードW4についての値はワードW3と等
しくないので、その制御ビットは論理0にクリアされ、
同様の理由により、ワードW5及びW7についての制御
ビットもまた論理0にクリアされる。好ましい実施形態
では、REPEATモードの圧縮を使用する場合にはモ
ード・ビットは論理0にクリアされ、これは図6では制
御ビット224で描写される。
【0061】その結果、参照番号230で示す値002
716を有する制御ワードが生じる。この制御ワードは
参照番号226で見られるように0016にセットされ
た2つの最上位の数字を含み、この場合これらは、印刷
データの元のスライス中に7個しかデータ・ワードが存
在しなかったことを示す。もちろん、データ・スライス
が112個の画素を越える情報を含んでいた場合には、
制御ワードの2つの最上位の数字がゼロでない値を有す
る可能性もあることになる。制御ワードの16進値の2
つの最上位の数字を、参照番号228に2進フォーマッ
トで示す。図6から分かるように、2を基数とするこれ
らの数字は、参照番号224で描写される制御ビットの
順序とは逆になっている。その結果、16進値の値00
27を有する参照番号230の制御ワードが生じる。ワ
ードW1についてのデータ値がXについての値と等しく
ない場合には、参照番号224の制御ワードについての
最下位ビット(LSB)は論理0にクリアされることに
なる。
【0062】最終的に参照番号232で示す圧縮データ
が生じる。図6の下側に示すように、圧縮データは制御
ワード002716から開始し、その後にワードW4,
W5,W7のデータ値が続く。この例では、スライス2
20についての最初の7個のデータ・ワードは、制御ワ
ードを含む4個のワードに圧縮されている。
【0063】図7で、図5の例で使用したデータを、R
EPEATモードの圧縮技術を使用して圧縮する。ワー
ドW1乃至W7についての元のスライス・データは参照
番号242で示す。関連する制御ビットは参照番号24
4で示し、REPEATモードを使用するのでモード・
ビットは論理0にクリアする。この例から分かるよう
に、繰返しはほとんどなく、ワードW7中の値がワード
W6の値と等しいので、最上位ビット(MSB)だけが
論理1にセットされる。
【0064】生じた制御ワードは、参照番号246のゼ
ロにクリアされた2つの最上位の数字と制御ビット24
8との組合せであり、参照番号250の最終的な制御ワ
ード値004016を与える。参照番号252の圧縮デ
ータは、7ワードの長さ(制御ワード含む)であり、そ
のためREPEATモードの圧縮技術は、その元のビッ
トマップの全画素フォーマットでのスライスの元の未処
理データと比較して、メモリに記憶するワード数を減少
させる点で有効でないことが分かる。
【0065】図8で、図6の例で使用したデータをUS
E−Xモードの圧縮技術を使用して圧縮する。16進値
の元の画素データは参照番号262で示し、それに対応
する制御ビットを参照番号264で示す。USE−Xモ
ードを使用するので、モード・ビットは論理1にセット
される。制御ワードは、制御ビットを含むワード268
に加えて、参照番号266のゼロ値である最初の2つの
最上位の数字から形成される。その結果、16進値の値
00C7を有する参照番号270の制御ワードが生じ
る。参照番号272の圧縮データは、制御ワードも含め
て4ワードのみの長さである。これは相当な圧縮であ
り、このデータは実際に図6に描写した元のREPEA
Tモードの圧縮技術を使用したときと同数のワードに圧
縮される。画素データのこの特定のスライスについて
は、生じる圧縮比を等しくして両方の技術を使用するこ
とができる。
【0066】本発明の原理による圧縮及び圧縮解除技術
を実行する際に必要とされる論理段階を示すフローチャ
ートを、図9及び図10に提供する。実際のビットマッ
プ・スライス・データを圧縮する場合には、両方の技術
によって各スライスを圧縮し、比較して、どちらの技術
の方が圧縮を行った後でメモリに記憶する必要があるワ
ード数が少なくなるかを調べることになる。本発明の原
理を逸脱することなく、本発明でその他のタイプの圧縮
技術を使用できることは理解されるであろう。各データ
・スライスについて3つ以上の圧縮技術を使用すること
も可能であるが、3つ以上の圧縮技術を使用してデータ
の各スライスについて最良の技術を決定する場合には、
モード・ビットを複数ビットに拡張しなければならない
ことになる。
【0067】図9は、ビットマップ印刷データの単一ス
ライスのデータを圧縮するために必要とされる重要な論
理セットを描写する、上記の両方のデータ圧縮技術を含
む図である。参照番号300で明示される「開始」ブロ
ックから開始して、論理流れは圧縮手続き中に使用され
るいくつかの変数を初期化する機能ブロック302に移
る。スライスごとのワード数を制御するために使用する
ループ・カウンタは0にセットされ、これには可変名
「cnt」が与えられる。使用する2つのモード(すな
わち異なる2つのデータ圧縮技術)についての圧縮デー
タのサイズのトラックを保持する2つの変数はゼロにセ
ットされる。USE−Xモードについては可変名は「s
ize1」となり、REPEATモードについては可変
名は「size2」となる。「prev」と呼ばれるも
う1つの変数は「X」の値と等しくなるようにセットさ
れ、理想的には、Xは以前に印刷データに見られた最も
一般的なデータ・ワードを表す。概して、ほとんどの文
書について印刷すべき最も一般的なスライスは「ブラン
ク」スライスであるので、最も一般的なデータ・ワード
はゼロ(000016)に等しい。
【0068】次に論理流れは決定ブロック304に移
り、ここで「data[cnt]」と呼ばれる変数を使
用して、分析すべき次のデータ・ワードと変数Xの値と
を比較する。この変数「data[cnt]」はこの特
定のスライスについての未圧縮のデータ・ワードを表
し、変数cntが現在0にセットされているので、これ
は分析するスライス中の最初のワードの位置へのポイン
タとして動作する。
【0069】決定ブロック304での答えがNOである
場合には、論理流れは変数size1についての値を増
分する機能ブロック306に移り、これによりUSE−
Xモードの場合の圧縮データ中で必要とされるワード数
が増加する。次に論理流れは、それが決定ブロック30
4の結果YESからの流れであるか、又は機能ブロック
306の出力からの流れであるかに関わらず、もう1つ
の決定ブロック308に移る。
【0070】決定ブロック308で、スライス中の現在
のデータ・ワードを分析して、それが変数prevの値
と等しいかどうかを調べる。これは基本的に、「新規
の」又は現在のデータ・ワードのデータが以前のデータ
・ワードのデータと同じであるかどうかを質問するもの
である。決定ブロック304と同様に、cntの値が現
在0にセットされているので、変数data[cnt]
は分析するスライスの最初のデータ・ワードを表す。決
定ブロック308の答えがNOである場合には、論理流
れは変数size2の値を増分する機能ブロック310
に移る。機能ブロック306の場合と同様に、機能ブロ
ック310はREPEATモードを使用する場合に圧縮
データ中で必要とされることになるワード数を増加させ
る。
【0071】次に論理流れは、それが決定ブロック30
8の結果YESからのものであるか、又は機能ブロック
310の出力からのものであるかに関わらず、機能ブロ
ック312に移る。機能ブロック312で、変数pre
vは、変数prevをこのスライスについての現在の未
圧縮のワード値にセットする変数data[cnt]の
値と等しくなるようにセットされる。論理流れのこの時
点で、変数cntの値が現在0にセットされているの
で、変数prevはスライス中の最初のワードの値にセ
ットされることになる。これが起こった後、機能ブロッ
ク312は変数cntの値を増分することになる。これ
は、決定及び機能ブロック304,308,312,3
14を含むループ中での次の動作セットの間に、このス
ライスの次のデータ・ワードが分析されることになるこ
とを意味する。
【0072】次に論理流れは決定ブロック314に到達
し、ここで変数cntがスライスの高さ未満であるかど
うかが決定される。この高さは特定のスライス中のワー
ド数を表し、図9のフローチャートを説明するために、
スライス中にはそれぞれ16ビットのワードが13個存
在するものと仮定する。これは精密には各スライスごと
に208ビット又は画素を提供することになり、垂直方
向に沿って208個の個別のノズル位置を有する高密度
インクジェット印刷ヘッドにおいて有効である。
【0073】決定ブロック314の答えがYESである
場合には、論理流れは決定ブロック304に戻り、そこ
で「新規」データ・ワードを分析してそれが変数Xの値
と等しいかどうかを調べる。したがって、論理流れはそ
の後決定ブロック308に移り、新規データ・ワードが
prevと呼ばれる変数に見られる以前のデータ・ワー
ド値と等しいかどうかを調べることになる。前記と同様
に、その答えに応じてsize1及びsize2と呼ば
れる変数は増分されることもあり、これは、スライス中
の現在のデータ・ワード値によって、圧縮データのワー
ドのサイズが増大していることもあることを意味する。
【0074】決定ブロック314の答えがNOである場
合には、論理流れは機能ブロック316に移り、この特
定のスライスの分析は終了する。換言すれば、図9のフ
ローチャートは、ただ1つのスライスの分析を説明する
ものであり、次のデータのスライスを分析するために
は、上記と同様に段階300乃至314を実行しなけれ
ばならない。
【0075】機能ブロック316で、変数cntは0に
セットされ、これはここでは制御ワード中のビット位
置、及びこのスライスについての未圧縮データ中のワー
ド位置を表す。「size」と呼ばれる変数は1に等し
くなるようにセットされ、これはワード中の圧縮データ
の現在のサイズと等しい。個別のスライスの圧縮データ
については全ての場合において、少なくとも1つの制御
ワードが常に存在することになるので、これは基本的に
は圧縮データに関する最小限のサイズを表す。out
[0]と呼ばれるもう1つの変数は、圧縮データを記憶
する一時アレイを表す。この時点で、機能ブロック31
6は変数out[0]を値0にセットし、これはこのス
ライス中の制御ワードの位置を表す。
【0076】次に論理流れは、変数size2の値が変
数size1の値未満であるか否かを決定する決定ブロ
ック320に移る。この答えがYESである場合には、
論理流れは機能ブロック340に移り、REPEATモ
ードの場合の圧縮データのデータ・ワードの方がUSE
−Xモードの場合よりも少ないので、この特定のスライ
スについてはREPEATモードの方がより効率的な圧
縮技術である。決定ブロック320の答えがNOである
場合には、論理流れは、このスライスについてはUSE
−Xモードの方がより効率的な圧縮技術であることを示
す機能ブロック322に移る。両変数size2及びs
ize1についての値が等しいことが判明した場合に
は、論理流れは機能ブロック322に移ることになり、
USE−Xモードを使用して圧縮データを作成すること
になる。
【0077】USE−Xモードを使用する場合には、機
能ブロック322は変数out[0]についてのビット
高さを論理1にセットする。この動作により、制御ワー
ドで使用される最上位ビット(MSB)は論理1にセッ
トされる。これが「モード」ビットである。機能ブロッ
ク322で、最上位ビット(MSB)は論理1にセット
され、この特定のスライスがUSE−Xモードで圧縮さ
れたことを示す。図9のフローチャートでは、変数ou
t[0]の「高さ」と呼ばれるビットをセットすること
によりこのことが示される。
【0078】次に論理流れは、未圧縮スライス中の次の
データ・ワード値が変数Xと等しいか否かを決定する決
定ブロック324に向かう。これは図9のフローチャー
ト上では、変数名data[cnt]がXと等しいかど
うかを質問する形で示される。この答えがYESである
場合には、論理流れは機能ブロック326に向かい、そ
こで変数名out[0]内のcntと呼ばれる変数の現
在の値に対応するビット「i」が論理1にセットされ
る。これが起こった後、論理流れは機能ブロック330
に向かう。これが起こったとき、このスライス内の対応
するデータ・ワード「i」の値は、その値が変数Xの値
と等しいので圧縮データ中でセーブされないことにな
る。
【0079】決定ブロック324の結果がNOである場
合には、論理流れは、新規データ・ワードを圧縮データ
中に複製する機能ブロック328に向かう。図9のフロ
ーチャートでは、これはdata[cnt]と呼ばれる
変数をout[size]と呼ばれる変数中に複製する
ことによって実施される。これが起こった後、「siz
e」と呼ばれる変数は増分される。次に論理流れは機能
ブロック330に向かう。
【0080】機能ブロック330で「cnt」と呼ばれ
る変数は増分される。これは制御ワード中の次のビット
「i」が、論理ブロック324乃至330の次のループ
中に分析されることになることを意味する。次に論理流
れは、変数「cnt」が「高さ」の値未満であるか否か
を決定する決定ブロック332に到達する。上記と関係
して、この例のスライスは13個のデータ・ワードのサ
イズであり、そのため変数cntが0から12にうまく
増分される間、この決定ブロックでは結果YESを生じ
ることになり、それにより論理流れは決定ブロック32
4に戻ることになる。変数「cnt」が値13に到達し
た後は、決定ブロック332の結果はNOとなることに
なり、論理流れは機能ブロック360に向かうことにな
る。
【0081】特定のスライスについてREPEATモー
ドが選択されている場合には、機能ブロック340は変
数prevに変数Xの値をロードすることになる。上記
と関係して、制御ワード中の現在のビットがこのとき
「i」と等しいと想定すると、変数prevは最も以前
のワードのデータ・ワード値を位置(i−1)に含むこ
とになる。これが特定のスライスの最初のワードである
場合には、変数prevの値(Xによる)は、ゼロ(0
00016)などの所定のデータ値にセットされる。
【0082】次に論理流れは決定ブロック342に移
り、ここで現在のデータ・ワード値が以前のデータ・ワ
ード値と等しいか否かを決定する。図9のフローチャー
トでは、これを、data[cnt]と呼ばれる変数を
変数prevと比較する形で示す。答えがYESである
場合には、論理流れは、現在のビット「i」(変数ou
t[0]のcntと呼ばれる変数による)を論理1にセ
ットする機能ブロック344に向かう。これが起こった
とき、現在のワードのデータ値は、以前のデータ・ワー
ドと等しい値を有するので圧縮データ中でセーブされな
い(このスライスがREPEATモードに従って圧縮さ
れていることに留意されたい)。次に論理流れは機能ブ
ロック348に移る。
【0083】決定ブロック342の結果がNOである場
合には、論理流れは、新規データ・ワードを圧縮データ
中に複製する機能ブロック346に向かう。図9のフロ
ーチャートに示す変数に関しては、機能ブロック346
は上記に関係する機能ブロック328と同一の段階を実
行する。次に論理流れは機能ブロック348に向かう。
【0084】機能ブロック348で、現在のワード(す
なわち「data[cnt]」)の値がprevと呼ば
れる変数にロードされ、次いで変数cntが増分され
る。これにより変数prevの値が更新され、分析すべ
きスライス中の次のデータ・ワードをこの「現在の」ワ
ード(これは直ちに「以前の」ワードとなることにな
る)と比較したときに、この現在の値を変数prev中
で使用する準備ができているようにする。
【0085】次に論理流れは決定ブロック350に向か
い、ここで特定のスライス中の全てのデータ・ワードが
ブロック342乃至350を含む論理ループによって分
析されているか否かを決定する。この決定ブロック35
0は前述の決定ブロック332と全く同様に動作する。
その結果がYESである場合には、論理流れは決定ブロ
ック342に戻り、スライス中の次のデータ・ワードに
ついて動作する。その結果がNOである場合には、論理
流れは機能ブロック360に移る。
【0086】機能ブロック360は、メモリ(データ・
ファイルとして)、又はプリンタに直接接続されたホス
ト・コンピュータの並列ポートなどの通信ポートのいず
れかに圧縮データを書き込む。図9のフローチャートで
は、これは変数「out」中に存在するワード数(これ
は変数「size」のデータ値と等価である)を書き込
む形で記述され、これはこのスライスについての圧縮デ
ータ中のワード数である。もちろん、元の未圧縮スライ
スのデータが、ビットマップ・データの208ビットに
対応する13個のワードを含んでいた場合には、この段
階での変数out中のデータ・ワード数は13よりはる
かに小さいことが望ましい。通常の図形データ又はテキ
スト・データでは、これはほぼ常に実施されることにな
る。グレイ・スケール画像で使用するcontone
(連続色調)データの場合には、常にこのようになるわ
けではない。
【0087】これが実施された後、論理流れはこのフロ
ーチャートの「終了」ブロック362に向かう。上記と
関係して、図9のフローチャートは、このビットマップ
情報を含む印刷データ・ファイルも発生させるホスト・
コンピュータ上で起こる手続きであることが好ましい。
インクジェット・プリンタの最近の傾向としては、ホス
ト・コンピュータ内でラスタ画像処理(RIP)段階を
実行し、次いで並列ポート又は直列ポートのいずれかを
介して(ネットワークを介して行うこともできる)ビッ
トマップ全体をスライスごとにインクジェット・プリン
タに伝送するようになっている。ホスト・コンピュータ
とプリンタの間の通信速度は十分に速くして、プリンタ
の印刷ヘッド又は印刷エンジンの速度についていくため
にどのようなデータ圧縮もする必要がないようにするこ
ともできるが、それでも、タイミング問題のためだけで
なく、具体的に言えばホスト・コンピュータ及びプリン
タ両方のメモリの記憶スペースのためには、ホスト・コ
ンピュータとプリンタの間で伝送するデータ流のサイズ
を圧縮することが望ましい。ほとんどのプリンタでは、
受信した印刷ジョブ・データは、プリンタがこの印刷ジ
ョブの特定のページを印刷する準備ができるまで、一時
的にランダム・アクセス・メモリ(RAM)に記憶され
る。このデータを保持するために必要とされるRAMの
スペースが小さくなれば、より多くのページ又は印刷ジ
ョブ全体を1つ又は複数のホスト・コンピュータからプ
リンタにダウンロードすることができるようになり、そ
れによりホスト・コンピュータが解放されてその他のタ
スクを実行し、場合によっては普通なら印刷データのデ
ータ・パケットを通信する試みに束縛されるネットワー
クも解放される。
【0088】図10は、図9のフローチャートで作成さ
れた圧縮スライス・データを圧縮解除するために必要と
される重要な論理段階を示すフローチャートである。上
記と関係して、これらの論理段階は、紙などの印刷媒体
上に印刷出力を作成して終了することになるプリンタ内
で起こることが好ましい。ただし、本発明の原理を逸脱
することなく、図9及び図10両方のフローチャートの
論理段階を、ホスト・コンピュータ又はプリンタのいず
れかで実施することができることは理解されるであろ
う。
【0089】フローチャートは「開始」ブロック400
から開始し、論理流れは、各スライスについての制御ワ
ード中の「モード」ビットが論理1にセットされている
か、又は論理0にクリアされているかを決定する決定ブ
ロック402に向かう。図10のフローチャートでは、
data[0]と呼ばれる変数は単一のスライス全体に
ついての制御ワードを表す。決定ブロック402の結果
がYESである場合には、USE−Xモードが指示さ
れ、論理流れは機能ブロック404に移る。決定ブロッ
ク402の結果がNOである場合には、REPEATモ
ードが指示され、論理流れは機能ブロック420に向か
う。
【0090】機能ブロック404で、「cnt」と呼ば
れる変数は0にセットされ、制御ワードのビット位置
「i」を指示する。さらに、変数iは1に等しくなるよ
うにセットされ、圧縮データのワード位置を表す。変数
cnt及びiの値が異なるのは、圧縮データの最初のワ
ードが制御ワードであり、実際の印刷データを表さない
ためである。次に論理流れは決定ブロック406に向か
う。
【0091】決定ブロック406では、変数データ
[0]の値「cnt」を有するビットが論理1にセット
されるか否かを決定する。この答えがYESである場合
には、論理流れは、変数Xの値を検索して、これをこの
スライスについての未圧縮データ中に配置する機能ブロ
ック408に向かう。これが起こった後で、論理流れは
機能ブロック412に向かう。
【0092】決定ブロック406の結果がNOである場
合には、論理流れは、このスライスについての圧縮デー
タからデータ・ワードを検索して、変数名out[cn
t]を有するその値をこのスライスについての未圧縮デ
ータ中にロードする機能ブロック410に向かう。これ
が起こった後で変数iは増分され、圧縮データ中の次の
ワード位置が、適当であれば使用されるようにする。論
理流れは機能ブロック412に移る。
【0093】機能ブロック412で、変数cntは増分
され、論理ブロック406乃至412の次のループの間
に、制御ワードの次のビット位置が検査されるようにす
る。次に論理流れは決定ブロック414に移る。決定ブ
ロック414では、変数cntの値とスライスの高さと
を比較することにより、スライスの末端に到達したか否
かを決定する。cntが高さ(例えば13ワード)未満
である場合には、論理流れは決定ブロック406に戻
る。この比較の結果がNOである場合には、論理流れは
「終了」ブロック432に向かう。
【0094】ブロック420で、2つの変数は定数にセ
ットされる。すなわち変数cntは0にセットされ、変
数iは1にセットされる。さらに、変数prevは、変
数Xの所定値にセットされ、これを使用して、REPE
ATモードでのこのスライスについての圧縮データの最
初のワードだけは検査することになる。次に論理流れは
決定ブロック422に移る。
【0095】決定ブロック422では、変数data
[0]についての「cnt」位置のビットが論理1にセ
ットされるか否かを決定する。この答えがYESである
場合には、論理流れは機能ブロック424に向かい、以
前のワード(位置[i−1]にある)の値を検索する。
これを行うことにより、この現在のワード位置について
の未圧縮データには、(i−1)にある以前のワード位
置と同じデータがロードされることになり、次いで論理
流れは機能ブロック428に向かう。
【0096】決定ブロック422の結果がNOである場
合には、機能ブロック426が、現在のワードについて
のデータを位置iにある圧縮データから検索することに
なる。これが起こった後で、変数iについての値が増分
される。次に論理流れは機能ブロック428に向かい、
そこで変数out[cnt]と呼ばれる現在のデータ・
ワードのコンテンツが変数prevにロードされる。次
いで変数cntが増分される。次に論理流れは決定ブロ
ック430に移る。
【0097】決定ブロック430では、変数cntがス
ライス(例えば13個のワードを有するスライスなど)
の高さ未満であるか否かを質問することによって、スラ
イスの末端に到達したかどうかを決定する。この答えが
YESである場合には、論理流れは決定ブロック422
に戻り、このスライスについての次のデータ・ワードに
ついて動作する。結果がNOである場合には、論理流れ
は「終了」ブロック432に向かう。
【0098】図10のフローチャートが終了した後は、
必要な全てのデータ・ワードを含むスライスが、最初に
変数data[0]から得られた圧縮データから作成さ
れていることになる。USE−Xモードを使用して特定
のスライスを圧縮する場合には、圧縮データは変数Xに
等しくないワードしか含まず、そのためスライス全体を
形成するためには、図10のフローチャートに描写した
圧縮解除段階の間に、Xに等しい値を有する追加のデー
タ・ワードを圧縮データに挿入して適当な未圧縮データ
にしなければならない。
【0099】特定のスライスでREPEATモードを使
用する場合には、圧縮データを直接使用して、全く同じ
データを有する以前のワードの直後に挿入する追加のワ
ードを作成し、これが少なくとも1度繰り返される。
【0100】本発明の原理を逸脱することなく、様々な
データ圧縮技術を図9及び図10に関して使用すること
ができることは理解されるであろう。さらに、印刷デー
タの各スライスごとに3つ以上のデータ圧縮/圧縮解除
技術を使用して、どのデータ技術が最も効率的であるか
を決定できることも理解されるであろう。もちろん、3
つ以上の圧縮/圧縮解除技術を各スライスごとに分析す
る場合には、複数の2進ビットの情報が、圧縮段階でど
の「モード」が選択されたかを示すように機能すること
が必要とされる。
【0101】本発明の好ましい実施形態についての前記
の記述は、例示及び説明を目的として与えたものであ
る。これは、本発明を網羅する、又は開示した通りの形
態に限定するように意図するものではない。上記の教示
に照らして、明白な修正又は変形を施すことも可能であ
る。この実施形態は、本発明の原理及びその実際の適用
を最も良く例示し、様々な実施形態、及び企図した特定
の使用に適した様々な修正形態で、当業者が本発明を最
も良く利用することができるようにするために、選択し
記載したものである。本発明の範囲は、添付の特許請求
の範囲によって規定されるものとする。
【図面の簡単な説明】
【図1】図1は、本発明のビットマップ印刷データを短
縮する方法の原理に従って使用されるように構成された
ホスト・コンピュータ及びインクジェット・プリンタを
含む印刷システムを示すブロック・ダイアグラムであ
る。
【図2】図2は、メモリに記憶される印刷データ、及び
本発明の原理に従って構築されたインクジェット・プリ
ンタ中のノズル・アレイで印刷するビットマップ・デー
タのスワスを作成するように回転される印刷データを示
す概略図である。
【図3】図3は、印刷ページ上の印刷データのスワスを
示す、本発明の原理を使用して描写されるその印刷ペー
ジの一部分の前面図である
【図4】図4は、図3の印刷ページの一部分を拡大した
前面図である。
【図5】図5は、未圧縮データ、及び本発明の圧縮方法
によって操作した圧縮データを両方とも示しながら、制
御ワード・データも示す、USE−Xモードの1例を描
写する図である。
【図6】図6は、未圧縮データ、及び本発明の圧縮方法
によって操作した圧縮データを両方とも示しながら、制
御ワード・データも示す、REPEATモードの1例を
描写する図である。
【図7】図7は、図5に描写したスライス(USE−X
モードの圧縮/圧縮解除方法を経ている)を元のデータ
として使用する、REPEATモードのもう1つの例を
示す図である。
【図8】図8は、図6に描写したスライス(REPEA
Tモードの圧縮/圧縮解除方法を経ている)を元のデー
タとして使用する、USE−Xモードのもう1つの例を
示す図である。
【図9】図9は、本発明の原理による圧縮段階を実行す
るために必要な、ホスト・コンピュータ中で実行される
機能を例示的な実施形態で示すフローチャートである。
【図10】図10は、本発明の原理による圧縮解除段階
を実行するために必要な、プリンタ自体で実行される機
能を例示的な実施形態で示すフローチャートである。
【符号の説明】
10 ホスト・コンピュータ 12 マイクロプロセッサ 14 読取り専用メモリ 16 ランダム・アクセス・メモリ 18 I/Oポート 24 通信リンク 30 インクジェット・プリンタ 32 マイクロプロセッサ 34 読取り専用メモリ 36 ランダム・アクセス・メモリ 38 ASIC 44 入出力ポート 46 入力バッファ 50 エンコーダ回路 70 印刷エンジン 72 印刷ヘッド

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 (a)初期印刷データを、印刷すべき画
    素を表す複数のビットをそれぞれに有する複数のスライ
    スをそれぞれに含む複数のスワスの印刷情報に分割する
    段階と、 (b)処理回路が制御する少なくとも1つのデータ圧縮
    技術を使用して、前記複数のスライスのそれぞれを圧縮
    し、その結果生じる圧縮データを複数の圧縮スライスと
    してメモリ回路に一時的に記憶する段階と、 (c)前記の少なくとも1つのデータ圧縮技術と互換性
    のある対応するデータ圧縮解除技術を使用して、前記複
    数の圧縮スライスのそれぞれを圧縮解除し、それにより
    前記初期印刷データと等価な前記スワスのそれぞれにつ
    いての印刷情報の未圧縮スライスを生成し、前記の等価
    な印刷データを印刷装置に与える段階とを含む、印刷す
    べきデータを圧縮する方法。
  2. 【請求項2】 前記複数のスライスのそれぞれを圧縮す
    る前記段階中に、異なる2つのデータ圧縮技術を前記複
    数のスライスのそれぞれに使用し、その後個別の各スラ
    イスを試験して、異なる2つのデータ圧縮技術のうちど
    ちらの方が、その特定のスライスについてのデータを圧
    縮する際により効率的であるかを調べ、次いで前記複数
    のスライスのぞれぞれについて、異なる2つのデータ圧
    縮技術のより効率的な方を使用して圧縮スライスを作成
    して記憶して、前記複数の圧縮スライスのそれぞれを圧
    縮解除する前記段階中に、前記の異なる2つのデータ圧
    縮技術に対応する異なる2つのデータ圧縮解除技術のう
    ち適当な1つを前記の個別の圧縮スライスのそれぞれに
    ついて使用し、それにより圧縮以前の初期スライスと等
    価な複数の未圧縮スライスを生成する、請求項1に記載
    の印刷すべきデータを圧縮する方法。
  3. 【請求項3】 前記異なる2つのデータ圧縮技術の両方
    による圧縮効率が、前記スライスの任意の個別の1つに
    対して同等の結果を提供すれば、前記の異なる2つのデ
    ータ圧縮技術の何れの一方でもそうしたスライスを圧縮
    すべく使用可能である、請求項2に記載の印刷すべきデ
    ータを圧縮する方法。
  4. 【請求項4】 前記異なる2つのデータ圧縮技術の内、
    第1の圧縮技術がUSE−Xモードを含み、第2の圧縮
    技術がREPEATモードを含む、請求項2に記載の印
    刷すべきデータを圧縮する方法。
  5. 【請求項5】 前記USE−Xモードの圧縮技術が、前
    記複数のスライスのそれぞれについて制御ワードを作成
    する段階を含み、この制御ワードが、当該制御ワード内
    に位置「i」を有する複数の制御ビットを含み、前記制
    御ビット「i」が前記の個別の未圧縮スライスの1つの
    データ・ワードを表すこと、各制御ビット「i」が、そ
    れが対応するデータ・ワードについてのデータ値が所定
    変数「X」のデータ値と等しい場合には2進1にセット
    され、それが対応するデータ・ワードについてのデータ
    値が前記の所定変数「X」に等しくない場合には2進0
    にクリアされること、ならびに前記圧縮スライスが、前
    記制御ワード、及び前記の所定の変数「X」のデータ値
    に等しくない各データ・ワードを含む、請求項4に記載
    の印刷すべきデータを圧縮する方法。
  6. 【請求項6】 前記REPEATモードの圧縮技術が前
    記複数のスライスのそれぞれについて制御ワードを作成
    する段階を含み、この制御ワードが前記制御ワード内に
    位置「i」を有する複数の制御ビットを含み、前記制御
    ビット「i」が前記の個別の未圧縮スライスの1つのデ
    ータ・ワードを表すこと、各制御ビット「i」が、それ
    が対応するデータ・ワードについてのデータ値が位置
    (i−1)にある直前のデータ・ワードのデータ値と等
    しい場合には2進1にセットされ、それが対応するデー
    タ・ワードについてのデータ値が位置(i−1)にある
    直前のデータ・ワードに等しくない場合には2進0にク
    リアされ、ただし前記の個別の未圧縮スライスの最初の
    データ・ワードについては、最初の制御ビット「i」
    が、それが対応するデータ・ワードについてのデータ値
    が所定変数「X」のデータ値に等しい場合には2進1に
    セットされ、それが対応するデータ・ワードのデータ値
    が前記の所定変数「X」のデータ値に等しくない場合に
    は2進0にクリアされること、ならびに前記圧縮スライ
    スが、前記制御ワード、位置(i−1)にある直前のデ
    ータ・ワードのデータ値に等しくない各データ・ワー
    ド、及びそのデータ値が前記の所定変数「X」のデータ
    値に等しくない場合には前記の個別の未圧縮スライスの
    最初のデータ・ワードを含む、請求項4に記載の印刷す
    べきデータを圧縮する方法。
  7. 【請求項7】 前記USE−Xモードについての前記圧
    縮解除段階が、(a)前記複数の圧縮スライスのそれぞ
    れについての前記制御ワードを検査する段階と、(b)
    各圧縮スライスの制御ワードの、2進1にセットされた
    前記制御ビット「i」のそれぞれについて、前記の所定
    変数「X」のデータ値を前記圧縮スライス内の適当なワ
    ード位置「i」に挿入する段階と、(c)各圧縮スライ
    スの制御ワードの、2進0にクリアされた前記制御ビッ
    ト「i」のそれぞれについて、前記圧縮スライス中に存
    在するデータ値を適当なワード位置「i」に挿入する段
    階と、(d)前記圧縮スライスから前記制御ワードを削
    除し、それにより前記圧縮/圧縮解除段階以前の初期状
    態と等価なビット・データを有する未圧縮スライスを生
    成する段階とを含むことを特徴とする、請求項5に記載
    の印刷すべきデータを圧縮する方法。
  8. 【請求項8】 前記REPEATモードについての前記
    圧縮解除段階が、(a)前記複数の圧縮スライスのそれ
    ぞれについての前記制御ワードを検査する段階と、
    (b)各圧縮スライスの制御ワードの、2進1にセット
    された前記制御ビット「i」のそれぞれについて、前記
    の位置(i−1)にある直前のデータ・ワードのデータ
    値を前記圧縮スライス内の適当なワード位置「i」に挿
    入する段階と、(c)各圧縮スライスの制御ワードの、
    2進0にクリアされた前記制御ビット「i」のそれぞれ
    について、前記圧縮スライス中に存在するデータ値を適
    当なワード位置「i」に挿入する段階と、(d)各圧縮
    スライスの制御ワードの最初の制御ビット「i」につい
    て、2進1にセットされている場合には前記の所定変数
    「X」のデータ値を挿入し、2進0にクリアされている
    場合には前記圧縮スライス中に存在するデータ値を適当
    なワード位置「0」に挿入する段階と、(e)前記圧縮
    スライスから前記制御ワードを削除し、それにより前記
    圧縮/圧縮解除段階以前の初期状態と等価なビット・デ
    ータを有する未圧縮スライスを生成する段階とを含む、
    請求項6に記載の印刷すべきデータを圧縮する方法。
  9. 【請求項9】 ホスト・コンピュータ、プリンタ、並び
    にそれらの間の通信リンクを有する印刷システムであっ
    て、(a)ホスト・コンピュータが、第1処理回路、第
    1メモリ回路、並びに第1通信ポートを有し、前記第1
    処理回路が、 (i)初期印刷データを、印刷すべき画素を表す複数の
    ビットをそれぞれに有する複数のスライスをそれぞれに
    含む複数のスワスの印刷情報に分割する段階、並びに (ii)処理回路が制御する少なくとも1つのデータ圧
    縮技術を使用して、前記複数のスライスのそれぞれを圧
    縮し、その結果生じる圧縮データを複数の圧縮スライス
    として第1メモリ回路に一時的に記憶し、それにより圧
    縮印刷データを含む第2データ・セットを作成する段階
    によって、前記第1メモリ回路に記憶されたビットマッ
    プ印刷データの第1データ・セットを圧縮するように構
    成され、前記第1処理回路がさらに、前記第2データ・
    セットを前記第1通信ポートに送るように構成され、
    (b)通信リンクが、前記第1通信ポートに動作可能に
    接続されて前記第1通信ポートからデータを受信し、
    (c)プリンタが、第2処理回路、第2メモリ回路、第
    2通信ポート、並びに印刷エンジンを有し、前記第2通
    信ポートが前記通信リンクに動作可能に接続されて前記
    通信リンクからデータを受信し、前記第2処理回路が、 (i)前記第2データ・セットを前記第2メモリ回路に
    一時的に記憶する段階、 (ii)前記の少なくとも1つのデータ圧縮技術と互換
    性のある対応するデータ圧縮解除技術を使用して、前記
    第2データ・セットの前記複数の圧縮スライスのそれぞ
    れを圧縮解除し、それにより前記初期印刷データと等価
    な前記スワスのそれぞれについての印刷情報の未圧縮ス
    ライスを生成し、それにより未圧縮印刷データを含む第
    3データ・セットを作成する段階、並びに (iii)前記の未圧縮印刷データの第3データ・セッ
    トをスワスごとに前記印刷エンジンに伝送し、それによ
    り前記のビットマップ印刷データの第1データ・セット
    と同一の外観を有するページ全体を印刷する段階によっ
    て前記第2データ・セットを圧縮解除するように構成さ
    れる印刷システム。
  10. 【請求項10】 前記第1処理回路が前記個別のスライ
    スのそれぞれについて異なる2つのデータ圧縮技術を使
    用するように構成され、その後個別の各スライスを試験
    して、異なる2つのデータ圧縮技術のうちどちらの方
    が、その特定のスライスについてのデータを圧縮する際
    により効率的であるかを調べ、次いで前記複数のスライ
    スのぞれぞれについて、異なる2つのデータ圧縮技術の
    より効率的な方を使用して圧縮スライスを作成して記憶
    すること、及び前記複数の圧縮スライスのそれぞれを圧
    縮解除する前記段階中に、前記の異なる2つのデータ圧
    縮技術に対応する異なる2つのデータ圧縮解除技術のう
    ち適当な1つを前記の個別の圧縮スライスのそれぞれに
    ついて使用し、それにより圧縮以前の初期スライスと等
    価な複数の未圧縮スライスを生成する、請求項9に記載
    の印刷システム。
  11. 【請求項11】 異なる2つのデータ圧縮技術のうち、
    第1の圧縮技術がUSE−Xモードを含み、第2の圧縮
    技術がREPEATモードを含む、請求項10に記載の
    印刷システム。
  12. 【請求項12】 前記第1処理回路が、前記複数のスラ
    イスのそれぞれについて制御ワードを作成することによ
    って前記USE−Xモードの圧縮技術を実行するように
    構成され、この制御ワードが前記制御ワード内の位置
    「i」を有する複数の制御ビットを含み、前記制御ビッ
    ト「i」が前記の個別の未圧縮スライスの1つのデータ
    ・ワードを表すこと、各制御ビット「i」が、それが対
    応するデータ・ワードについてのデータ値が所定変数
    「X」のデータ値と等しい場合には2進1にセットさ
    れ、それが対応するデータ・ワードについてのデータ値
    が前記の所定変数「X」に等しくない場合には2進0に
    クリアされること、ならびに前記圧縮スライスが、前記
    制御ワード、及び前記の所定の変数「X」のデータ値に
    等しくない各データ・ワードを含むことを特徴とする、
    請求項11に記載の印刷システム。
  13. 【請求項13】 前記第1処理回路が、前記複数のスラ
    イスのそれぞれについて制御ワードを作成することによ
    って前記REPEATモードの圧縮技術を実行するよう
    に構成され、この制御ワードが前記制御ワード内の位置
    「i」を有する複数の制御ビットを含み、前記制御ビッ
    ト「i」が前記の個別の未圧縮スライスの1つのデータ
    ・ワードを表すこと、各制御ビット「i」が、それが対
    応するデータ・ワードについてのデータ値が位置(i−
    1)にある直前のデータ・ワードのデータ値と等しい場
    合には2進1にセットされ、それが対応するデータ・ワ
    ードについてのデータ値が位置(i−1)にある直前の
    データ・ワードに等しくない場合には2進0にクリアさ
    れ、ただし前記の個別の未圧縮スライスの最初のデータ
    ・ワードについては、最初の制御ビット「i」が、それ
    が対応するデータ・ワードについてのデータ値が所定変
    数「X」のデータ値に等しい場合には2進1にセットさ
    れ、それが対応するデータ・ワードのデータ値が前記の
    所定変数「X」のデータ値に等しくない場合には2進0
    にクリアされること、ならびに前記圧縮スライスが、前
    記制御ワード、位置(i−1)にある直前のデータ・ワ
    ードのデータ値に等しくない各データ・ワード、及びそ
    のデータ値が前記の所定変数「X」のデータ値に等しく
    ない場合には前記の個別の未圧縮スライスの最初のデー
    タ・ワードを含む、請求項11に記載の印刷システム。
  14. 【請求項14】 前記第2処理回路がさらに、(a)前
    記複数の圧縮スライスのそれぞれについての前記制御ワ
    ードを検査する段階と、(b)各圧縮スライスの制御ワ
    ードの、2進1にセットされた前記制御ビット「i」の
    それぞれについて、前記の所定変数「X」のデータ値を
    前記圧縮スライス内の適当なワード位置「i」に挿入す
    る段階と、(c)各圧縮スライスの制御ワードの、2進
    0にクリアされた前記制御ビット「i」のそれぞれにつ
    いて、前記圧縮スライス中に存在するデータ値を適当な
    ワード位置「i」に挿入する段階と、(d)前記圧縮ス
    ライスから前記制御ワードを削除し、それにより前記圧
    縮/圧縮解除段階以前の初期状態と等価なビット・デー
    タを有する未圧縮スライスを生成する段階とによって、
    前記USE−Xモードの圧縮解除技術を実行するように
    構成されている、請求項12に記載の印刷システム。
  15. 【請求項15】 前記第2処理回路がさらに、(a)前
    記複数の圧縮スライスのそれぞれについての前記制御ワ
    ードを検査する段階と、(b)各圧縮スライスの制御ワ
    ードの、2進1にセットされた前記制御ビット「i」の
    それぞれについて、前記の位置(i−1)にある直前の
    データ・ワードのデータ値を前記圧縮スライス内の適当
    なワード位置「i」に挿入する段階と、(c)各圧縮ス
    ライスの制御ワードの、2進0にクリアされた前記制御
    ビット「i」のそれぞれについて、前記圧縮スライス中
    に存在するデータ値を適当なワード位置「i」に挿入す
    る段階と、(d)各圧縮スライスの制御ワードの最初の
    制御ビット「i」について、2進1にセットされている
    場合には前記の所定変数「X」のデータ値を挿入し、2
    進0にクリアされている場合には前記圧縮スライス中に
    存在するデータ値を適当なワード位置「0」に挿入する
    段階と、(e)前記圧縮スライスから前記制御ワードを
    削除し、それにより前記圧縮/圧縮解除段階以前の初期
    状態と等価なビット・データを有する未圧縮スライスを
    生成する段階とによって、前記REPEATモードの圧
    縮解除技術を実行するように構成されている、請求項1
    3に記載の印刷システム。
JP10078413A 1997-03-11 1998-03-11 印刷すべきデータを圧縮する方法及び印刷システム Withdrawn JPH10291342A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/814,850 US5930466A (en) 1997-03-11 1997-03-11 Method and apparatus for data compression of bitmaps using rows and columns of bit-mapped printer data divided into vertical slices
US08/814,850 1997-03-11

Publications (1)

Publication Number Publication Date
JPH10291342A true JPH10291342A (ja) 1998-11-04

Family

ID=25216160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10078413A Withdrawn JPH10291342A (ja) 1997-03-11 1998-03-11 印刷すべきデータを圧縮する方法及び印刷システム

Country Status (7)

Country Link
US (1) US5930466A (ja)
EP (1) EP0864995B1 (ja)
JP (1) JPH10291342A (ja)
KR (1) KR19980080379A (ja)
CN (1) CN1147781C (ja)
DE (1) DE69832223T2 (ja)
TW (1) TW399179B (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6204933B1 (en) * 1997-06-20 2001-03-20 Hitachi, Ltd. Information print system and image processing apparatus
US6350004B1 (en) * 1998-07-29 2002-02-26 Lexmark International, Inc. Method and system for compensating for skew in an ink jet printer
JP2001209981A (ja) * 1999-02-09 2001-08-03 Ricoh Co Ltd 光ディスク基板成膜装置、光ディスク基板成膜方法、基板ホルダーの製造方法、基板ホルダー、光ディスクおよび相変化記録型光ディスク
US6154233A (en) * 1999-04-19 2000-11-28 Lexmark International, Inc. System and method for separating raster data for printing
US7155062B1 (en) 1999-11-17 2006-12-26 Genicom Corp. System and method for performing pattern matching image compression
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
AU2002243279A1 (en) 2000-11-01 2002-06-18 Flexiworld Technologies, Inc. Controller and manager for device-to-device pervasive digital output
US9836257B2 (en) 2001-01-19 2017-12-05 Flexiworld Technologies, Inc. Mobile information apparatus that includes intelligent wireless display, wireless direct display, or transfer of digital content for playing over air the digital content at smart televisions, television controllers, or audio output devices
US10915296B2 (en) 2000-11-01 2021-02-09 Flexiworld Technologies, Inc. Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails
US10860290B2 (en) 2000-11-01 2020-12-08 Flexiworld Technologies, Inc. Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11
US6947995B2 (en) 2000-11-20 2005-09-20 Flexiworld Technologies, Inc. Mobile and pervasive output server
US6950213B1 (en) * 2000-12-20 2005-09-27 Cisco Systems, Inc. Fast method for fax encoded data conversion
US6549225B2 (en) 2001-02-28 2003-04-15 Lexmark International, Inc. Method of margin alignment and plane-to-plane registration in a tandem color electrophotographic machine
US20020191225A1 (en) * 2001-06-04 2002-12-19 Stringham Gary G. Methods and arrangements for compressing raster data
JP2003087547A (ja) * 2001-09-12 2003-03-20 Ricoh Co Ltd 画像処理装置
US7289243B2 (en) * 2002-08-07 2007-10-30 Lexmark International, Inc. Apparatus and method for data compression optimized by print head architecture
US20050024402A1 (en) * 2003-07-31 2005-02-03 Quintana Jason M. Transfer of data from a controller to an output device
TWI239719B (en) * 2004-05-18 2005-09-11 Sunplus Technology Co Ltd Compressing method for printed data
CN1331088C (zh) * 2004-05-28 2007-08-08 凌阳科技股份有限公司 压缩打印资料的方法
US7684076B2 (en) 2004-07-23 2010-03-23 Kabushiki Kaisha Toshiba Method and apparatus for raster image processing
JP2006270441A (ja) * 2005-03-23 2006-10-05 Fuji Xerox Co Ltd ログデータ記録装置、ログデータ記録方法及びログデータ記録プログラム
JP4405419B2 (ja) * 2005-03-31 2010-01-27 株式会社東芝 画面送信装置
US9411431B2 (en) * 2006-12-29 2016-08-09 Marvell World Trade Ltd. Tracking a position in relation to a surface
US8226194B1 (en) 2007-01-02 2012-07-24 Marvell International Ltd. Printing on planar or non-planar print surface with handheld printing device
US7949370B1 (en) 2007-01-03 2011-05-24 Marvell International Ltd. Scanner for a mobile device
US8632266B1 (en) 2007-01-03 2014-01-21 Marvell International Ltd. Printer for a mobile device
US8077343B1 (en) 2007-01-03 2011-12-13 Marvell International Ltd. Determining end of print job in handheld image translation device
US8342627B1 (en) 2007-01-11 2013-01-01 Marvell International Ltd. Adaptive filtering scheme in handheld positioning device
US8472066B1 (en) 2007-01-11 2013-06-25 Marvell International Ltd. Usage maps in image deposition devices
US8396654B1 (en) 2007-01-18 2013-03-12 Marvell International Ltd. Sensor positioning in handheld image translation device
US8223384B1 (en) * 2007-02-23 2012-07-17 Marvell International Ltd. Defining a print image in memory for handheld image translation devices
JP2010522650A (ja) * 2007-02-23 2010-07-08 マーベル ワールド トレード リミテッド ハンドヘルド画像並進デバイスの位置把握法
US8351062B2 (en) 2007-02-26 2013-01-08 Marvell World Trade Ltd. Bit selection from print image in memory of handheld image translation device
US8096713B1 (en) 2007-03-02 2012-01-17 Marvell International Ltd. Managing project information with a hand-propelled device
EP2123017A1 (en) * 2007-03-02 2009-11-25 Marvell World Trade Ltd Dynamic image dithering
WO2008109550A1 (en) * 2007-03-02 2008-09-12 Marvell World Trade Ltd. Position correction for handheld printer
US9180686B1 (en) 2007-04-05 2015-11-10 Marvell International Ltd. Image translation device providing navigational data feedback to communication device
US8805799B2 (en) 2007-08-07 2014-08-12 International Business Machines Corporation Dynamic partial uncompression of a database table
US7747585B2 (en) * 2007-08-07 2010-06-29 International Business Machines Corporation Parallel uncompression of a partially compressed database table determines a count of uncompression tasks that satisfies the query
US9555645B1 (en) 2007-08-07 2017-01-31 Marvell International Ltd. Controlling a plurality of nozzles of a handheld printer
JP5038229B2 (ja) 2008-05-09 2012-10-03 キヤノン株式会社 画像処理装置、画像処理方法並びに画像処理プログラム及びそれを記録する記録媒体
CN101908910A (zh) * 2010-07-16 2010-12-08 珠海中慧微电子有限公司 用于低压电力线载波通信的地址数据压缩算法
US8645338B2 (en) 2010-10-28 2014-02-04 International Business Machines Corporation Active memory expansion and RDBMS meta data and tooling
GB2567427B (en) * 2017-10-06 2020-10-07 Imagination Tech Ltd Data compression
CN108616280B (zh) * 2018-04-09 2021-10-26 重庆大学 非稳态数据实时采集数据压缩方法
CN113746484B (zh) * 2020-05-29 2023-10-24 上海三思电子工程有限公司 数据压缩与解压缩方法、装置、设备和介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520455A (en) * 1982-05-10 1985-05-28 Xerox Corporation Printing system
US4476542A (en) * 1982-05-10 1984-10-09 Xerox Corporation Printing system
US4622545A (en) * 1982-09-30 1986-11-11 Apple Computer, Inc. Method and apparatus for image compression and manipulation
US4527251A (en) * 1982-12-17 1985-07-02 Honeywell Information Systems Inc. Remap method and apparatus for a memory system which uses partially good memory devices
US4553171A (en) * 1984-01-27 1985-11-12 Xerox Corporation Tile encoding in image printing
US4703515A (en) * 1985-08-26 1987-10-27 Xerox Corporation Image rotation
DE3578470D1 (de) * 1985-09-10 1990-08-02 Ibm Graphik-anzeigegeraet mit kombiniertem bitpuffer und zeichengraphikspeicherung.
US4870498A (en) * 1987-09-15 1989-09-26 Printware, Inc. Decompressing run-length-encoded to transition-encoded font image information in an image generator
US4779105A (en) * 1987-10-06 1988-10-18 Delphax Systems Printer interface
US5081700A (en) * 1989-02-15 1992-01-14 Unisys Corporation Apparatus for high speed image rotation
US5272768A (en) * 1989-02-21 1993-12-21 Hewlett-Packard Company Blank strip font compression method and device, and resulting stored, decompressible font
US5150427A (en) * 1989-09-29 1992-09-22 General Electric Company Three dimensional disarticulation
JP2647226B2 (ja) * 1990-03-23 1997-08-27 沖電気工業株式会社 ドットパターン圧縮方法及び伸長方法
JPH0412874A (ja) * 1990-05-01 1992-01-17 Minolta Camera Co Ltd プリンタ制御装置
JP2978208B2 (ja) * 1990-05-18 1999-11-15 シチズン時計株式会社 キャラクタージェネレータにおけるフォントデータ圧縮方式
EP0470782B1 (en) * 1990-08-08 1996-02-14 The Peerless Group Image rendering process and apparatus
US5020121A (en) * 1990-08-16 1991-05-28 Hewlett-Packard Company Neighborhood block prediction bit compression
US5321807A (en) * 1991-11-27 1994-06-14 Mumford Christopher J Accelerated graphics display method
US5315701A (en) * 1992-08-07 1994-05-24 International Business Machines Corporation Method and system for processing graphics data streams utilizing scalable processing nodes
US5479587A (en) * 1992-09-03 1995-12-26 Hewlett-Packard Company Page printer having adaptive data compression for memory minimization
US5483622A (en) * 1992-09-03 1996-01-09 Hewlett-Packard Company Page printer having automatic font compression
US5465322A (en) * 1993-01-04 1995-11-07 Xerox Corporation Apparatus and method for parsing a stream of data including a bitmap and creating a table of break entries corresponding with the bitmap
US5491758A (en) * 1993-01-27 1996-02-13 International Business Machines Corporation Automatic handwriting recognition using both static and dynamic parameters
US5500928A (en) * 1993-03-01 1996-03-19 Xionics Document Technologies, Inc. Digital printing system and process using adaptive compression
US5471320A (en) * 1994-05-11 1995-11-28 Xerox Corporation Stack filters for 1-to-N bit image processing in electronic printers
US5687303A (en) * 1994-05-18 1997-11-11 Xerox Corporation Printer controller for object optimized printing
US5619622A (en) * 1994-12-16 1997-04-08 Xerox Corporation Raster output interface for a printbar
US5732202A (en) * 1995-02-13 1998-03-24 Canon Kabushiki Kaisha Data processing apparatus, data processing method, memory medium storing data processing program, output device, output control method and memory medium storing control program therefor
US5596423A (en) * 1995-03-02 1997-01-21 Hewlett-Packard Company Method and apparatus for compression and decompression of data used by a serial printer
US5655138A (en) * 1995-04-11 1997-08-05 Elonex I. P. Holdings Apparatus and method for peripheral device control with integrated data compression

Also Published As

Publication number Publication date
CN1147781C (zh) 2004-04-28
EP0864995A3 (en) 2000-12-06
EP0864995A2 (en) 1998-09-16
EP0864995B1 (en) 2005-11-09
DE69832223T2 (de) 2006-07-27
TW399179B (en) 2000-07-21
US5930466A (en) 1999-07-27
CN1193152A (zh) 1998-09-16
KR19980080379A (ko) 1998-11-25
DE69832223D1 (de) 2005-12-15

Similar Documents

Publication Publication Date Title
JPH10291342A (ja) 印刷すべきデータを圧縮する方法及び印刷システム
US5923820A (en) Method and apparatus for compacting swath data for printers
JPH0417459B2 (ja)
US7859688B2 (en) Command interpretation using rewritable command registers
JPH1115966A (ja) ハーフトーン方法
JP3936016B2 (ja) ドキュメント画像を印刷する方法
US5382968A (en) Raster image serial printer having variable buffer memory and method for operating same
US5900003A (en) Page-makeup system
US6860203B2 (en) Method and apparatus for printing computer generated images
US7144167B2 (en) Color printing which renders multi tone color input codes to image data with reference to font data
EP0870277B1 (en) Image rendering for page printers
US7301668B2 (en) Printing apparatus with generating means for generating a mask pattern comprising a plurality of planes, control method therefor, and program
GB2329993A (en) Printer with reduced memory
EP1729501B1 (en) Information processing apparatus, method and program
EP1355263B1 (en) Printing apparatus and buffer management method
US20070008554A1 (en) Information processing apparatus and printer driver
US20030095268A1 (en) System for storing digital data on sheets using a color printer
JP2000025279A (ja) バンドスキャン型ラスタプロッタ
JP3244745B2 (ja) 画像処理装置
JPH11179979A (ja) 画像記録装置
JP2689886B2 (ja) ドットプリンタ装置
JPH09234911A (ja) ページプリンタにおけるデータ圧縮・伸長方法
JPH04161363A (ja) プリンタ装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050607