JPH0537791A - 画像情報圧縮方式 - Google Patents

画像情報圧縮方式

Info

Publication number
JPH0537791A
JPH0537791A JP19000791A JP19000791A JPH0537791A JP H0537791 A JPH0537791 A JP H0537791A JP 19000791 A JP19000791 A JP 19000791A JP 19000791 A JP19000791 A JP 19000791A JP H0537791 A JPH0537791 A JP H0537791A
Authority
JP
Japan
Prior art keywords
data
image
pattern
run
compressed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP19000791A
Other languages
English (en)
Inventor
Yasuharu Tanaka
康晴 田中
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.)
Minolta Co Ltd
Original Assignee
Minolta Co Ltd
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 Minolta Co Ltd filed Critical Minolta Co Ltd
Priority to JP19000791A priority Critical patent/JPH0537791A/ja
Publication of JPH0537791A publication Critical patent/JPH0537791A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 表示すべき画像の情報とその画像を表示すべ
き位置の情報を入力し2値画像データを出力するデバイ
スにおいて、メモリを節約でき、かつ、編集処理の容易
な画像情報圧縮方式を提供する。 【構成】 複数の画素からなる1ブロック分の画像情報
が所定の連続部パターンと同一か否かを判断し、連続部
パターンと同一であると判断されるブロックが続くと
き、そのブロックのラン長を計算する。そして、その連
続部パターンを表すパターン情報と、ラン長の情報とを
1つのデータに変換し、画像情報を圧縮する。また、連
続部パターンでないと判断されたとき、そのブロックの
2値画像情報と、所定の連続部パターンでないことを表
す情報とを1つのデータに変換する。こうして作成され
たデータをメモリに記憶する。また、新しい画像情報が
入力されたとき、その画像情報を上記のように変換した
データと、既にメモリにその画像を表示すべき位置に記
憶されていた画像データとを画素ごとに論理演算して編
集できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、表示すべき画像の情報
とその画像を表示すべき位置の情報を入力し2値画像デ
ータを出力するデバイスにおいて、白と黒の2値からな
る画像情報のデータ圧縮方式に関する。
【0002】
【従来の技術】高精細な画像情報処理用デバイスにおい
て、画像情報をフルビットマップで管理するには、膨大
なメモリを必要とする。これを解決するために、様々な
データ圧縮方式が提供されている。
【0003】MH符号化は、基本的な1次元符号化であ
る。しかし、この方式では、点密度が高いと、原画2値
情報より圧縮データの方がデータ量が多くなる。一方、
本発明は、複数ラインについてブロック単位でデータ圧
縮を行なう方式であり、最悪でもデータ量は、原画2値
情報と同等である。
【0004】ブロック単位での符号化も従来から提案さ
れている。特開平1−157167号公報に開示された
方式においては、ブロック化の後で直交変換し、テーブ
ルに保存しておき、画像情報はアドレスでアクセスされ
る。また特開昭63−102476号公報においては、
ブロック化の後で直交変換し、その後で量子化する。こ
れらの方式は、いずれもブロック化をしているが、その
後に直交変換して圧縮している。この方式は、圧縮率は
高いが、速度や編集処理能力に問題が残る。なお、本発
明では、直交変換を行わない。
【0005】特開平1−103369号公報に開示され
た方式では、ブロック内において走査方向をできるだけ
ランが多くなるように設定し、ラン長(ランレングス)
で表現する。なお、本願発明では、後に説明するよう
に、ブロック単位のラン長とエッジで管理する。また、
特開昭63−185167号公報に開示された方式で
は、カラー画像データについてエッジとその他とを区別
して符号化している。すなわち、1つのブロックに対し
て直交変換と符号化をしている。なお、本願発明では、
後に説明するように、同一パターンが連続する複数ブロ
ックに対して圧縮を行う。
【0006】
【発明が解決しようとする課題】しかし、これらのデー
タ圧縮方式は、それぞれ、圧縮や伸長に時間がかかった
り、編集処理が複雑であったりした。本発明の目的は、
メモリを節約でき、かつ、編集処理の容易な2値画像情
報圧縮方式を提供することである。
【0007】
【課題を解決するための手段】本発明に係る画像情報圧
縮方式は、表示するべき画像情報と表示するべき位置情
報を入力し、2値画像を表示(印刷)するデバイスにお
いて、複数の画素からなる1ブロックの画像情報が所定
の連続部パターンと同一か否かを判断する判断手段と、
判断手段により連続部パターンと同一であると判断され
るブロックのラン長を計算するラン長計算手段と、その
連続部パターンを表すパターン情報と、ラン長計算手段
とによって得られたラン長の情報とを1つのデータに変
換する第1データ変換手段と、判断手段により連続部パ
ターンでないと判断されたとき、そのブロックの2値画
像情報と、所定の連続部パターンでないことを表す情報
とを1つのデータに変換する第2データ変換手段と、第
1データ変換手段と第2データ変換手段とによって作成
されたデータを記憶する記憶手段とを備える。さらに、
新しい画像情報が入力されたとき、その画像情報を第1
データ変換手段と第2データ変換手段とによって変換し
たデータと、記憶手段において、その画像を表示すべき
位置に記憶されていた画像データとを画素ごとに論理演
算する編集手段をさらに備える。
【0008】
【作用】画像情報を例えば4本の連続する主走査方向の
ラインに分け、さらに4×4画素ずつの画像ブロックに
分ける。1ブロック分の画像情報が所定の連続部パター
ンと同一か否かを判断し、所定の連続部パターンと同一
であると判断されるブロックが主走査方向に連続すると
き、そのブロックの長さ(ラン長)を求める。そして、
その連続部パターンを表すパターン情報と、ラン長の情
報とを第1のデータ形式のデータに変換し、メモリに記
憶する。これにより、所定の連続部パターンの画像情報
が圧縮される。それ以外の連続部パターンでないと判断
されたブロックについては、そのブロックの2値画像情
報と、所定の連続部パターンでないことを表す情報とを
第2のデータ形式のデータに変換して、メモリに記憶す
る。さらに、新しい画像情報が入力されたとき、その画
像情報を上記のように変換したデータと、メモリにおい
てその画像を表示すべき位置に記憶されていた画像デー
タとを画素ごとに論理演算して編集する。所定の連続部
パターンを表すパターン情報を論理演算可能なように設
定することにより、圧縮されたデータどうしの場合、デ
ータを圧縮したまま編集が可能になる。
【0009】
【実施例】以下、図面を参照して本発明による実施例に
ついて説明する。 (a)プリンタの構成 プリンタは、一般に図1に示すようなシステム構成を有
する。ホスト1と呼ばれる外部入力装置(コンピュー
タ、ワープロなど)から送信されたデータは、ホストイ
ンターフェース2を介して受け取られ、RAM5に記憶
される。ROM3には、データの変換方法や各種処理方
法、プリントエンジン7の駆動方法などのプログラムが
格納されている。CPU4は、ROM3に格納されてい
るプログラムに従って、プリンタ制御の処理を行う。R
AM5は、ダウンロードされたフォントや中間データ、
パケットおよび圧縮イメージデータで構成された1ペー
ジ分の圧縮イメージセルなどを記憶する。CPU4によ
り最終的に作られたデータは、エンジンインターフェー
ス6を介して、実際の駆動部分であるプリントエンジン
7に送り出される。
【0010】図2は、図1に示されたシステム構成の下
における全体の機能を、全体構成ブロック図として示
す。全体は、大きく5つの部分、すなわち、受信部1
0、編集部20、描画部30、印字部40、エンジン制
御部50に分かれる。受信部10において、ホストイン
ターフェース制御部12は、ホスト1からの受信データ
を受信バッファ14に転送する。編集部20において、
プロトコル解析部(図19参照)22は、受信データを
解析し、インターフェース制御コマンド、印字データ等
の識別を行なう。なお、エミュレーション部28は、他
のプリンタ用のデータを本プリンタのプロトコルに変換
する。編集制御部(図21参照)24は、印字データよ
りカーソル位置を計算し、中間データ(パケットデー
タ)を作成し、パケットバッファ26に送り込む。画像
情報圧縮に係る描画部30において、フォント制御部3
2は、フォントメモリ34のレジデントフォントおよび
ダウンロードフォントの管理を行なう。データ圧縮部
(図25〜27参照)36は、各画像情報を圧縮し、圧
縮イメージセル38に送り出す。また、下地情報との編
集を行なう。印字部40において、イメージ展開部42
は、圧縮イメージセル38中のデータを、実際に印字す
るイメージデータに変換する。エンジン制御部50にお
いて、エンジンイメージ制御部52は、イメージ展開部
42から送られるイメージデータについて、プロトコル
解析部22から送られるインターフェース制御コマンド
より、プリントシーケンスの制御および表示制御を行な
う。
【0011】(b)データ圧縮 (b−1)データ構造 本実施例のデータ圧縮方式においては、主走査方向の4
ラインについて、画像を4×4画素ずつの画像ブロック
に分け、主走査方向に連続する特定のパターンのブロッ
クをパターンコードをラン長とで、それ以外のパターン
をエッジ情報として4×4のビットマップ情報で管理す
る。これらの情報を組み合わせて、圧縮イメージセル3
8にデータを圧縮する。さらに入力画像と下地画像と
を、データを圧縮したまま編集する。
【0012】圧縮イメージセル38の中のデータ構造に
ついて次に説明する。2値画像情報は、図3のような4
×4の画素ブロックに分けられ、各ブロック毎にデータ
処理がなされる。ここで、図中の1から16までの数字
は、ブロック内の16個の画素の位置を表すために用い
られる。このブロックの画像情報は、図4と図5に示す
2バイトからなるデータ形式に変換される。図4に示す
データ形式は、ラン特定パターンのためのデータ形式で
あり、図5に示すデータ形式は、エッジパターン(すな
わち、ラン特定パターン以外のパターン)のためのデー
タ形式である。ここで、最上位ビットに表されるデータ
IDフラグは、ラン特定パターンのデータであるか、エ
ッジパターンのデータであるかを示す。ブロックのデー
タが、図6と図7に示す16個のラン特定パターンであ
る場合には、図4に示すデータ形式(データIDフラグ
=”1”)で符号化が行われる。ここで、図6と図7に
示す16個の特定パターンには、その下に記した4ビッ
トの数字のパターンコードが対応していて、図4のデー
タ形式は、このパターンコードとランの長さ(11ビッ
ト)とからなる。ランの長さは、このラン特定パターン
が何ブロック続くかを示す。ランの長さが11ビットで
表せないときには、再び同じパターンコードを持ったデ
ータ形式を続ける。
【0013】一方、図6と図7のラン特定パターン以外
のエッジパターンの場合には、ラン特定パターンの場合
とは異なった符号化の取り扱いをする。この4×4ブロ
ック内の各画素のデータ(ビットマップデータ)は、図
5中の数字に示すように図3中の各画素の番号と対応し
て記憶される。すなわち、このビットマップデータを図
5に示すデータ形式(データIDフラグ=”0”)の中
で表す。
【0014】図から明らかなように、1番下のラインの
データが黒ランであれば、パターンコードの1桁目は’
1’である。同様に、2番目、3番目、4番目のライン
のデータが黒ランであれば、パターンコードの2桁目、
3桁目、4桁目が’1’である。また、1ラインのデー
タが白ランであれば、そのラインに対応する桁のデータ
は’0’で表される。したがって、後で説明する編集に
おいて、下地データと入力データを重ねるとき、簡単な
論理和演算で処理できる。例えば、パターンコード’0
001’で表される画像にパターンコード’0010’
で表される画像を重ねると、パターンコード’001
1’で表される画像が得られるが、これに対応する演算
は、2つのパターンコードの論理和’0001’+’0
010’=’0011’であり、得られたパターンコー
ドは、上記の重ね合わせ画像に対応する。
【0015】ここで、1ブロック内の16個の画素のデ
ータをすべてビットマップデータとして記憶すると、全
部で17ビットのデータになる。CPU4の処理はバイ
ト単位で行った方が有利であるが、データIDフラグの
1ビットのために1バイトを用いるのは非効率的であ
り、また、たとえば1200dpiの画像における16
ドット中の1ドットの有無が実質上大きな問題になると
は考えられない。そこで、本実施例においては、第1ビ
ットをデータIDに用い、番号1の画素のデータは、図
5のデータ構造において省略する。そして、番号1の画
素のデータは、復号化時に、隣接する番号2,5,6の
画素のデータを参照して予測して復号化するものとす
る。“?”で示す番号1の画素の予測復号化の一例を図
8,図9に示す。詳細に述べると、番号2,5の画素が
共に白(0)あるいは黒(1)であったときは、番号1
の画素はこれらの画素の色と合わせて、白(0)あるい
は黒(1)にする。番号2の画素と、番号5の画素の色
が異なっていたとき、番号6の画素が黒(1)であった
ときには、番号1の画素は白(0)にする。こうするこ
とによって、メモリ効率を高めることができる。
【0016】また、長さ0のランは16種類あるが(図
6と図7)、これをフラグとして用いることができる。
たとえば、パターンコード’0000’のランはEOL
として用いる(ランの長さを0とする)。圧縮イメージ
セル38には、初期状態において、1ページ分のすべて
のラインにEOLのフラグのみが入っており、描画時に
おいて、このEOLの数を計数することにより位置検索
を行い、画像データを挿入していく。
【0017】(b−2)圧縮イメージデータ 本実施例では、画像を4×4画素ずつの画像ブロックに
分け、主走査方向に連続する同一パターンのブロックを
ランの長さで管理し、それ以外をエッジ情報として4×
4のビットマップ情報で管理する。たとえば、図10に
示すように大文字Aが1200dpiで入力されると、
この2値画像は、主走査方向に4ライン単位に展開され
る(図22S1104)。次に、この画像の圧縮イメー
ジデータは、後に説明する図23のフローによって作成
される。すなわち、このように展開されたキャラクタセ
ルについてブロック(4×4画素)単位に注目し、その
ブロックがラン特定パターンであるか否かを判断するこ
とにより、作成するデータ形式を分類する。図11は、
その分解結果を示す。すなわち、イメージデータは、文
字の周囲の白ラン、文字の内部の黒ランおよび文字画像
の境界に存在するその他のランとからなり、さらに、各
ラインの最後に、EOLデータが追加される。
【0018】こうして得られたデータは、圧縮されて、
図12に示すように、圧縮イメージセル38に記憶され
る。図10の画像の場合、最初のライン(このラインは
ブロックのラインを意味し、もとの画像の4ラインに相
当する)は、白ランだけなので、圧縮イメージセル38
の最初のデータは、図4のデータ形式を有するデータで
あり、ここに、パターンコードは’0000’であり、
ランの長さは、1ラインのブロックの数(図23のCT
RL)である。次に、ラインの最後を意味するEOLが
付加される(S2108)。第2ラインも白ランだけな
ので、第3と第4のデータとして、最初のラインの場合
と同じデータが続けられる。第3ラインは、白ラン、エ
ッジ、その他のラン、エッジ、白ランからなり、それぞ
れ、第5、第6、第7、第8、第9のデータに表され
る。さらに、第3のラインの最後を意味するEOLが第
10のデータとして追加される。第5の白ランのデータ
は、パターンコードは’0000’であるが、第1のデ
ータとは、ランの長さが異なる。第9のデータも同様で
ある。第6のデータで表されるエッジは、文字Aの境界
に当たり、図6と図7のラン特定パターンに含まれない
画像パターンなので、図5のデータ形式で表される(S
2114)。第8のデータも同様である。第7のデータ
は、白ランと黒ラン以外のラン特定パターン(例えば,
パターンコード’0011’)のデータであり、ランの
長さには、そのラン特定パターンのブロックのラン長が
入力される。第4ライン以降も、キャラクタセルの高さ
のラインまで、同様に処理されて(S2006)、圧縮
イメージセル38に記憶される。
【0019】(b−3)圧縮イメージデータの編集 本実施例では、入力圧縮データと下地圧縮データについ
てデータ圧縮された状態で画像の重ね合わせ(編集)が
可能である。ここに、下地圧縮データとは、いま編集し
ようとしている画像のデータが入力される前段階におけ
る圧縮データをいう。(圧縮イメージセル38には、初
期状態において、1ページ分のすべてのラインにEOL
のフラグのみが入っており、描画時において、このEO
Lの数を計数することにより位置検索を行い、画像デー
タを挿入していく。)入力圧縮データと下地圧縮データ
とがいずれもラン特定パターンであれば、前に説明した
ように、パターンコードの論理和演算により容易に画像
を重ね合わせることができる。ただし、一般には、ラン
の長さが入力圧縮データと下地圧縮データとで異なるの
で、単にパターンコードを変えるだけでなく、図25に
示すような圧縮イメージセル作成の処理が行われる。
【0020】入力圧縮データの編集部分がラン特定パタ
ーンのデータ形式で表され、かつ、入力圧縮データもラ
ン特定パターンのデータ形式で表される場合、下地圧縮
データのデータの種類によって編集手段が変えられる。
下地圧縮データが白ランであれば、入力圧縮データがそ
のまま圧縮イメージセル38に書き込まれる。下地圧縮
データが黒ランであれば、入力圧縮データは無視され、
黒ランが圧縮イメージセル38に書き込まれる。白ラン
と黒ランの場合、この編集により論理和がとられている
ことになる。下地圧縮データが白ランと黒ラン以外のラ
ン特定パターンである場合は、論理和演算が行われる。
いま、入力圧縮データが、図13のパターンコード’0
101’のランであり、下地圧縮データが、図14のパ
ターンコード’0011’のランであるとする。前者の
ランの長さは、PCNTであり、後者のランの長さは、
PPRLである。このとき、図15に示すように、両者
が重なり合うランの長さMR(=Min(PPRL,P
CNT))をランの長さとし、2つのパターンコードの
論理和’0101’+’0011’=’0111’をパ
ターンコードとする。次に、入力圧縮データのランの長
さPCNTの方が長い場合は、入力圧縮データのランの
残りのランについては、さらに次の下地圧縮データとの
編集処理を行う。なお、この場合、長さ0のランが圧縮
イメージセル38に残るので、これを削除する。逆に、
入力圧縮データのランの長さPCNTの方が短い場合に
は、次の入力圧縮データを入力して、編集処理を行う。
【0021】入力圧縮データがラン特定パターンのデー
タであり、下地圧縮データがエッジパターンである場合
の編集処理は次のように行われる。この場合、下地圧縮
データは、パターンコードに変換できないので、入力圧
縮データを図5のエッジパターン形式のデータに変換す
る。たとえば、図13のような入力圧縮データがある場
合、図16に示すように、その1ブロック分をエッジパ
ターン形式で表現し(この例では、’8f0f’)、残
ったランの長さを1つ減らす。そして、図17に示すよ
うに、このデータ(左側)を、同じくエッジパターン形
式で表現されている下地圧縮データ(この例では中央
の’b76c’)とビットマップデータについて論理和
演算する。その結果得られたエッジパターン形式のデー
タ(この例では’bf6c’)を圧縮イメージセル38
に入力する。そして、次のデータの処理に移る。
【0022】入力圧縮データがエッジパターン形式のデ
ータである場合、下地圧縮データがラン特定パターンの
データである場合は、上と同様にエッジパターン形式に
変換し、論理和演算を行なう。なお、下地圧縮データが
白ランである場合は、論理和演算を行わずに、そのまま
入力圧縮データを圧縮イメージセルに入力する。しか
し、実質的に論理和演算をおこなったのと同じである。
また、下地圧縮データが黒ランである場合は、論理和演
算を行なうとやはり黒ランになるので、そのまま黒ラン
のラン特定パターンのデータとして、圧縮イメージセル
に入力する。(ただし、前の圧縮イメージセルのデータ
も黒セルであれば、その黒セルのデータのランの長さを
1つ長くする。)入力圧縮データも下地圧縮データもと
もにエッジパターン形式のデータであれば、そのまま、
両者のビットマップデータの論理和演算を行なう。
【0023】この画像データの表現により、デバイスの
メモリが、フルビットマップを持つ場合に比べて節約で
きる。たとえば、1200dpiのデバイスにおいて、
A3の用紙(11.7インチ×17インチ)に標準的な
フォントでプリントする場合を考えると、たとえばTime
s Roman 10 ポイント、 1文字当たり40ライン、A3用
紙に100文字で100行、1ライン当たり白黒の変化
点が4つ(白または黒の連続部が3つ)ある場合、フル
ビットマップでメモリを持つ場合は、1200×11.
7×1200=約35MBのメモリ容量が必要である。
これに対し、本発明の圧縮方法を用いると、1データ当
たり2バイトであるので、必要なメモリ容量は、100
×100×(4+3)×40×2=約5.4MBとな
り、フルビットマップの場合の約15%に圧縮できる。
また、ライン単位でラン長圧縮を行う場合、原画2値画
像よりデータが大きくなる場合がある。たとえば、1ド
ットオン1ドットオフの連続パターンの最悪の場合、原
画2値データの倍のデータを必要とする。これに対し、
本発明の方法を用いると、この最悪のパターンの場合で
あっても、原画2値データと同等のデータ数ですむ。
【0024】なお、圧縮イメージデータ(図12参照)
の復元についての詳細な説明は省略するが、ランデータ
は、パターンコードとランの長さより4ラインのデータ
に復元し、エッジデータは、ビットマップデータより4
ラインのデータに復元する。
【0025】(c)プリンタ制御のフロー 図18は、CPU4によるプリンタ制御の一般的な概略
フローを示す。まず、電源が投入されると、内部の初期
化(S1601)を行った後、RAM5内の受信バッフ
ァ14、パケットバッファ26、圧縮イメージセル3
8、その他のテンポラリなメモリをクリアする(S16
02)。次に、各変数を初期化する(S1603)。次
に、受信データの処理をする(S1604)。次に、プ
リントエンジンからのデータ(インターフェース制御コ
マンド)を処理する(S1605)。引き続き、受信デ
ータ処理(S1604、図19参照)において作られた
パケットに応じた描画処理を、本発明に係る圧縮方式を
用いて行なう(S1606)。次に、排紙要求か否かを
判断する(S1607)。排紙要求は、1ページ分の編
集が終了したときか、ユーザがコマンドで命令するとき
に出される。排紙要求であれば、インターフェース制御
部52とのプリントシーケンスを処理しながら、圧縮デ
ータをビデオイメージに展開し(S1608)、受信デ
ータ処理(S1604)に戻る。なお、排紙要求でなけ
れば(S1607でNO)、このプリントシーケンスを
行わず、受信データ処理(S1604)に戻る。そし
て、次のデータの処理が始められる。
【0026】図19は、受信データ処理(図18S16
04)の概略フローを示す。ここでは、受信バッファ1
4により得た受信データを、データの種類によって分析
し、それぞれのパケットを作成し、パケットバッファ2
6に格納する。まず、受信データが印字データであるか
否かを判断し(S1701)、印字データであったなら
印字データ処理(S1702、図20参照)を行い、各
描画パケットを作成する。描画パケットとは、文字パケ
ット(フォントパケット)であるビットマップフォント
パケットおよびスケーラブルフォントと、グラフィック
パケットであるラスターグラフィックパケットおよびベ
クターグラフィックパケットのことである。受信データ
が印字データでなかったなら(S1701でNO)、次
に、その受信データが制御命令コマンド(インターフェ
ース制御、フォント制御、印字位置制御、サイズ制御な
ど)であるか否かが判断される(S1703)。制御命
令コマンドであった場合、次に、インターフェース制御
コマンドであったならば(S1704でYES)、イン
ターフェース制御パケットを作成し(S1708)、制
御可能になるまで待機する。書式制御コマンド(カーソ
ル制御など)であったなら(S1705でYES)、編
集用カーソルを更新し、カーソル更新パケットを作成す
る(S1706)。その他の制御コマンドであったなら
(S1705でNO)、それに対応した各制御パケット
を作成する(S1707)。印字データでも制御コマン
ドでもなかったら(S1703でNO)、受信データの
誤りと判断して、そのまま次に進み、受信データを無視
する。
【0027】図20は、受信データ処理における印字デ
ータ処理(図19S1702)のフローを示す。このフ
ローでは、印字データを種類によって分類し、それぞれ
のパケットを作成する。まず、印字データが文字データ
(フォントパケット)かグラフィックデータ(グラフィ
ックパケット)かを判断する(S1801)。文字デー
タであったとき、次に、その文字データのフォントがビ
ットマップフォントか、スケーラブルフォントかが判断
され(S1802)、次に、ビットマップフォントであ
ったとき、ビットマップフォントパケットを作成し(S
1803)、スケーラブルフォントであったとき、スケ
ーラブルフォントパケットを作成する(S1804)。
ここに、ビットマップフォントパケットとは、印字され
る文字の座標とキャラクタセルの大きさとビットマップ
データ格納エリアの先頭のアドレスとからなるパケット
である。また、スケーラブルフォントパケットとは、印
字される文字の座標とセルの大きさと輪郭データ格納エ
リアの格納アドレスとからなるパケットである。
【0028】グラフィックデータであったとき(S18
01でNO)、次に、そのグラフィックデータが、ベク
ターグラフィックデータか、ラスターグラフィックデー
タかが判断される(S1805)。そして、ベクターグ
ラフィックデータであったとき、ベクターグラフィック
パケットが作成され(S1806)、ラスターグラフィ
ックデータであったとき、ラスターグラフィックパケッ
トが作成される(S1807)。ここに、ベクターグラ
フィックパケットとは、基準となる座標と、そのイメー
ジの大きさと、輪郭データの格納アドレスとからなるパ
ケットであり、ラスターグラフィックパケットとは、印
字される図形の座標と、そのイメージの大きさと、ビッ
トマップデータ格納エリアの先頭のアドレスとからなる
パケットである。なお、各パケットにおける座標は、制
御パケットにより、あるいは、前の文字などとの相対位
置などで与えられる。
【0029】以下では、圧縮イメージデータの作成につ
いて説明する。図21は、パケット処理(図18S16
06)のフローを示す。ここで、受信データ処理(図1
8S1604)で作成されたパケットを実際に処理し、
最終的に1ページ分のデータを持っている圧縮イメージ
セルを作成する。まず、圧縮イメージデータへの変換が
行われる。はじめに、パケットバッファ26からデータ
を読みだし、出来上がったパケットが印字パケットか、
制御パケットかを判断する(S1901)。印字パケッ
トであったとき、次に、このパケットがフォントパケッ
トか、グラフィックパケットかを判断する(S190
2)。そして、フォントパケットであったとき、ビット
マップフォントパケットであるか、グラフィックパケッ
トであるかに応じて(S1903)、ビットマップフォ
ントデータ変換処理(S1904、詳細は図22参照)
またはスケーラブルフォントデータ変換処理(S190
5)を行なう。一方、S1902でグラフィックパケッ
トであると判断されたとき、次に、ベクターグラフィッ
クパケットであるか、ラスターグラフィックパケットで
あるかに対応して(S1906)、ベクターグラフィッ
クデータ変換(S1907、詳細は図24参照)または
ラスターグラフィックデータ変換(S1908)を行な
う。
【0030】次に、以上で作成された圧縮イメージデー
タが1ページのどこに描画されるべきなのかの検索を、
1ラインの終わりを示すEOLコードの数を計数して行
ない(S1909)、1ページ分のデータを持っている
圧縮イメージセル38に、作成された圧縮イメージデー
タを編集合成していく(S1910、詳細は図23参
照)。以上で、編集が終了したのでカーソル位置を更新
して(S1911)、リターンする。また、S1901
で制御パケットであると判断されたとき、それに対応し
た制御を行い(S1912)、リターンする。
【0031】図22は、パケット処理において、ビット
マップフォントのデータを圧縮イメージデータに変換す
るビットマップフォントデータ変換(図21S190
4)のフローを示す。ビットマップフォントパケット
は、印字される文字の座標とキャラクタセルの大きさ
(幅と高さ)とビットマップデータ格納エリアの先頭の
アドレスとからなるパケットである。まず、文字の印字
位置をパケットの中の情報どおりの位置に設定する(S
2001)。
【0032】次に、入力された文字のセル幅が印字エリ
アを超えるか否かを判断し(S2002)。セル幅が印
字エリアを超えるときのみ、カーソル位置の制御を行う
(S2003)。ここで、セルの高さはブロックの高さ
より高いので、各ブロックラインごとに圧縮イメージデ
ータを作成する。次に、印字すべき文字の1文字分のセ
ルをブロックライン単位に展開し(S2004)(図1
0参照)、4ラインごとの圧縮イメージデータをセル幅
分を作成する(S2005、詳細は図23参照)(図1
1参照)。この圧縮イメージデータの作成がキャラクタ
ーセル高さまでのブロックラインがすべて終了したか否
かを判断し(S2006)、もしキャラクターセル高さ
までのブロックラインの圧縮イメージデータの作成が終
了していなければ、圧縮イメージデータ作成処理(S2
005)に戻る。すべて終了していれば、次の文字の印
字位置にカーソルを更新して(S2007)、リターン
する。なお、スケーラブルフォントデータ変換(図21
S1905)のフローは、このフローとデータ展開部の
みが異なるので、詳細な説明は省略する。
【0033】図23は、ビットマップフォントデータ変
換における圧縮イメージデータ作成(図22S200
5)のフローを示す。カウンタCTRLは0に初期化さ
れている。ここに、カウンタCTRLは、圧縮イメージ
データ作成時に現在注目しているブロックまでに、同一
パターンがいくつ続いたかのランの長さを示す。まず4
×4の画素の1ブロックについて、そのブロックが図6
と図7に示すラン特定パターンか否かを判断し(S21
01)、ラン特定パターンであれば、次に、カウンタC
TRLが0であるか否かを判断する(S2102)。S
2101において、カウンタCTRLが0でなかったと
き、前のブロックがラン特定パターンであったことを意
味するので、次に、このブロックのラン特定パターンと
前のブロックのラン特定パターンが同一であるか否かを
判断する(S2103)。同一であれば、CTRLに1
を加算し(S2104)、同一でなければ、前のランを
図4のデータ形式に符号化し(S2111)、CTRL
を1とする(S2112)。そして、ランパターンを記
憶する(S2105)。なお、S2102でCTRLが
0であったとき、前のブロックがエッジパターンまたは
ブロックラインの主走査方向の最初のデータであり、前
のランパターンが記憶されていないことを意味する。こ
のため、S2103の判断を必要としないので、直ちに
S2104に進む。
【0034】次に、圧縮イメージデータ作成がキャラク
タセル幅分終了していなかったら(S2106でN
O)、S2101に戻って、次のブロックの処理を続け
る。圧縮イメージデータ作成がキャラクタセル幅分終了
していると(S2106でYES)、次に、ランで終わ
っているか否かをカウンタCTRLで判断する(S21
07)。CTRL=0であったときすなわちランで終わ
っているときは、このランを図4のデータ形式に符号化
し(S2108)、CTRLを0に戻す(S210
9)。
【0035】最後に、EOLデータを付加し(S211
0)、リターンする。なお、EOLデータは、他の圧縮
イメージデータを同じく2バイトで構成され、長さ0の
白のランの形態をしたものである。また、S2101に
おいてラン特定パターンでないと判断されたとき、すな
わち、エッジパターンであるとき、次に、カウンタCT
RLを判断する(S2113)。カウンタCTRLが0
でなかったとき、前のブロックがランであったというこ
とを意味するので、このCTRLが示すランを符号化し
(S2115)、CTRLを0に戻す(S2116)。
そして、このブロック(エッジ)を符号化する(S21
14)。また、CTRLが0であると、そのままこのブ
ロック(エッジ)を符号化する(S2114)。エッジ
符号化が終わると、次にS2106に進む。
【0036】図24は、パケット処理においてベクター
グラフィックデータを圧縮イメージデータ用データに変
換するベクターグラフィックデータ変換(図21S19
10)のフローを示す。ベクターグラフィックパケット
とは、基準となる座標と、そのイメージの大きさと、輪
郭データの格納アドレスとからなるパケットである。ま
ず、ベクターグラフィックパケットの中にある位置情報
から描画位置を設定する(S2201)。次に、S22
01で得られた描画エリアが印字可能エリアを越えるか
否かを判断し(S2202)、印字可能エリアを越えな
ければ、グラフィックデータをライン単位に展開し(S
2203)、印字可能エリアを越えていれば、印字可能
エリア内のみをライン単位に展開する(S2206)。
そして、圧縮イメージデータを作成する(S220
4)。この処理は、図23の圧縮イメージデータ作成の
処理に準じるので、詳細な説明は省略する。次に、圧縮
イメージデータの作成が、グラフィックパケットの中の
情報の1つであるグラフィックの高さまで終了したか否
かを判断し(S2205)、終了していなければ、S2
205に戻り、圧縮イメージデータ作成処理を続ける。
終了していれば、リターンする。なお、ラスターグラフ
ィックデータ変換(図21S1911)のフローは、こ
のフローとデータ展開部のみが異なるので、詳細な説明
は省略する。
【0037】図25〜図27は、パケット処理におい
て、1ページ分の圧縮イメージデータを格納した圧縮イ
メージセル(たとえば図12)を作成する圧縮イメージ
セル作成(図21S1907)のフローを示す。ここ
で、圧縮イメージデータ作成処理(図22S2005、
図23)などによりデータ変換されたデータを入力デー
タとし、この入力データを、これが印字されるべき位置
に元からある下地のイメージデータと合成し、1ページ
の圧縮イメージセル38に仕上げる。この下地イメージ
データとは、いま編集しようとしている画像のデータが
入力される前段階における圧縮イメージデータである。
【0038】まず入力データがEOLであるか否かを判
断する(S2301)。EOLであれば、圧縮イメージ
セル38の現在編集部分よりも後方にEOLが存在する
か否かを判断し(S2302)、存在したならば、この
入力データのEOLを無視し圧縮イメージセル38の下
地データのEOLまでをこのラインのデータとする。ま
た、EOLが存在しないならば、このラインはこの入力
データのEOLで終了するので、このEOLを圧縮イメ
ージセル38に挿入する(S2306)。次に、入力デ
ータがこのEOLで終了か否かを判断し(S230
4)、終了であれば、そのままリターンする。入力デー
タがここで終了していなければ、次のラインにカーソル
を移動し(S2305)、S2301に戻り、次の入力
データを処理する。
【0039】なお、圧縮イメージセル38には、初期状
態において、1ページ分のすべてのラインにEOLのフ
ラグのみが入っている。従って、このフローに入り、描
画する時に、このEOLの数を計数することにより位置
検索を行い、画像データをそのまま圧縮イメージセル3
8に挿入していく。
【0040】S2301において入力データがEOLで
ないと判断されれば、次に、入力データのCNTに対応
する描画位置のデータが何であるかを調べる(S230
7)。CNTとは、ラインの先頭から何画素目にこの画
像があるのかを示すカウンタである。そして、このデー
タによって分岐する。入力データが白のランであったと
き、この入力データの白ラン長(IWRL(=IPR
L))分、下地データである圧縮イメージセル38のデ
ータをそのままにし(S2308)、描画位置CNTを
ラン長(IWRL(=IPRL))だけ進め(S230
9)、S2301に戻り、次の入力データを処理する。
なお、カウンタIPRLは、ラン特定パターンのラン長
である。入力データが黒のランであったとき、この黒ラ
ンをそのまま圧縮イメージセル38に挿入した上で,こ
の入力データの黒ラン長(IBRL)分、圧縮イメージ
セル38のデータを抹消し(S2310)、描画位置C
NTをラン長(IBRL(=IPRL))だけ進め(S
2309)、S2301に戻り、次の入力データを処理
する。
【0041】入力データの描画位置CNTの部分が黒ラ
ンと白ランの外のラン特定パターンであったとき、この
ラン特定パターンがその後にいくつ続くかを示すカウン
タPCNTにこのラン特定パターンのラン長(IPR
L)を代入する(S2311)。この後、PCNTが0
でなければ、0になるまで(S2312でYES)、以
下の処理を続ける。まず、下地のデータである圧縮イメ
ージセル38の描画位置CNTの部分の形態を調べ(S
2313)、これがラン特定パターンであったなら、図
4のデータ形式において、下地圧縮イメージセルのデー
タのパターンコード(PPCD)と入力データのパター
ンコード(IPCD)との論理和演算の結果をパターン
コードとし、下地圧縮イメージセルのデータのラン長
(PPRL)と入力データのラン長(IPRL)との長
くない方(MRとする)をランの長さとして、圧縮イメ
ージセル38に挿入する(S2314)。そして、PP
RLおよびPCNTからMRを引き(PPRLとPCN
Tの小さい方を0とし)、描画位置CNTをMR進める
(S2315)。(図13から図15までに、編集の一
例を示す。)ここで、MR=PPRLすなわち下地デー
タのラン長PPRLが0となったときには、圧縮イメー
ジセル38にランの長さが0のデータが残ってしまう
が、長さ0のランは別の意味を表すので、この長さ0の
ランのデータを削除する。
【0042】一方、S2313において、下地圧縮イメ
ージセル38のデータの描画位置CNTの部分がエッジ
であったなら、入力データを1ブロック分開いてエッジ
パターンと同様のデータ形式にして論理和演算し、圧縮
イメージセル38に挿入する(S2316)。そして、
PCNTから1を引き、描画位置CNTに1を加える
(S2317)。(図16と図17に編集の一例を示
す。)
【0043】また、S2307において、入力データの
描画位置CNTの部分がエッジパターンであれば、下地
圧縮イメージセル38のデータの描画位置CNTの部分
の形態を調べる(S2318)。S2318において、
下地圧縮イメージセル38のデータが白のランであった
とき、入力エッジデータをそのまま挿入し(S231
9)、下地圧縮イメージセル38のデータの白ラン長
(PWRL)を1つ減らす(S2320)。そして、描
画位置CNTを1つ進め(S2321)、S2301に
戻って次の入力データの処理を続ける。
【0044】S2318において、下地圧縮イメージセ
ル38のデータが黒のランであったとき、すでに合成し
終わったところの描画位置(CNT−1)の部分の圧縮
イメージセル38のデータが黒ランであったかどうかを
判断し(S2322)、黒ランであったなら、その圧縮
イメージセル38のデータにおけるラン長(PBRL)
を1つ増加させ(S2323)、黒ランでなければ、ラ
ン長(PBRL)が1の黒ランデータを新規に作成し、
挿入する。そして、S2321に進み、次の描画位置の
データを処理する。
【0045】S2318において、下地圧縮イメージセ
ル38のデータがその他のラン特定パターンであったと
き、エッジ1つ分、このラン特定パターンを開き、エッ
ジ形式のデータに変換する(S2325)。1つのデー
タをエッジ形式データとして開いたので、下地圧縮イメ
ージセル38のその他のラン特定パターンのラン長(P
PRL)を1つ減らす(S2326)。そして、エッジ
データどうしをそのまま論理和演算し、ビットマップデ
ータとする(S2327)。そして、S2321に進
み、次の描画位置のデータを処理する。
【0046】S2318において、下地圧縮イメージセ
ルのデータがエッジであったとき(ラン特定パターンの
データ形式からエッジパターン形式のデータに開いたと
きを含む)、直ちにS2327に進み、下地圧縮イメー
ジセル38のエッジデータ(PEDG)と入力エッジデ
ータ(IEDG)とをそのまま論理和演算する。そし
て、S2321に進む。
【0047】(d)変形例 本実施例において、編集時の演算方法として、論理和演
算(OR)を用いているが、必要であれば論理積演算
(AND)や排他的論理和演算(XOR)を用いてもよ
いことは言うまでもない。これらの演算方法における、
図17と同じ入力データ及び下地圧縮データを用いた例
を図28,図29に示す。図28は、論理積演算の一例
を示す。ここで、エッジ形式で表現されたラン1ブロッ
クのデータ(’8f0f’)が、エッジパターン(’b
76c’)と論理積(AND)演算される。編集後のデ
ータ(’870e’)は、エッジ形式で表される。ま
た、図29は、排他論理和演算の一例を示す。ここで、
エッジ形式で表現されたラン1ブロックのデータ(’8
f0f’)が、エッジパターン(’b76c’)と排他
論理和(XOR)演算される。編集後のデータ(’b8
61’)は、エッジ形式で表現される。
【0048】
【発明の効果】ビットマップの場合にくらべて、メモリ
容量を小さくできる。圧縮データのまま編集が可能にな
るので、デバイスのメモリが節約でき、かつ、編集処理
の容易さが保てる。
【図面の簡単な説明】
【図1】 プリンタのシステム構成図である。
【図2】 プリンタの全体機能構成図である。
【図3】 画像データの1ブロックの図である。
【図4】 ラン特定パターンのデータ構造の図である。
【図5】 エッジパターンのデータ構造の図である。
【図6】 ラン特定パターンとそのパターンコードの図
である。
【図7】 ラン特定パターンとそのパターンコードの図
である。
【図8】 予測符号化の一例の図である。
【図9】 予測符号化の一例の図である。
【図10】 ライン単位に展開された画像のキャラクタ
セルの図である。
【図11】 圧縮イメージデータに分解された図8の画
像の図である。
【図12】 圧縮イメージデータの図である。
【図13】 ラン特定パターンの一例の図である。
【図14】 下地ランの一例の図である。
【図15】 図13と図14のパターンの編集の後の画
像の図である。
【図16】 入力圧縮データの一例の図である。
【図17】 ラン特定パターン形式のデータとエッジ形
式のデータとの編集の図である。
【図18】 プリンタ制御のフローチャートである。
【図19】 受信データ処理のフローチャートである。
【図20】 印字データ処理のフローチャートである。
【図21】 パケット処理のフローチャートである。
【図22】 ビットマップフォントデータ変換のフロー
チャートである。
【図23】 圧縮イメージデータ作成のフローチャート
である。
【図24】 ベクターグラフィックデータ変換のフロー
チャートである。
【図25】 圧縮イメージセル作成の処理の一部のフロ
ーチャートである。
【図26】 圧縮イメージセル作成の処理の一部のフロ
ーチャートである。
【図27】 圧縮イメージセル作成の処理の一部のフロ
ーチャートである。
【図28】 論理積演算による編集の一例の図である。
【図29】 排他論理和演算による編集の一例の図であ
る。
【符号の説明】
4…CPU、5…RAM、22…プロトコル解析部、2
4…編集制御部、 26…パケットバッファ、36…デ
ータ圧縮部、38…圧縮イメージセル。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 表示すべき画像の情報とその画像を表示
    すべき位置の情報を入力し2値画像データを出力するデ
    バイスにおいて、 複数の画素からなる1ブロックの画像情報が所定の連続
    部パターンと同一か否かを判断する判断手段と、 判断手段により連続部パターンと同一であると判断され
    るブロックのラン長を計算するラン長計算手段と、 その連続部パターンを表すパターン情報と、ラン長計算
    手段とによって得られたラン長の情報とを1つのデータ
    に変換する第1データ変換手段と、 判断手段により連続部パターンでないと判断されたと
    き、そのブロックの2値画像情報と、所定の連続部パタ
    ーンでないことを表す情報とを1つのデータに変換する
    第2データ変換手段と、 第1データ変換手段と第2データ変換手段とによって作
    成されたデータを記憶する記憶手段とを備えることを特
    徴とする画像情報圧縮方式。
  2. 【請求項2】 新しい画像情報が入力されたとき、その
    画像情報を第1データ変換手段と第2データ変換手段と
    によって変換したデータと、記憶手段においてその画像
    を表示すべき位置に記憶されていた画像データとを画素
    ごとに論理演算する編集手段をさらに備えることを特徴
    とする請求項1に記載された画像情報圧縮方式。
JP19000791A 1991-07-30 1991-07-30 画像情報圧縮方式 Pending JPH0537791A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19000791A JPH0537791A (ja) 1991-07-30 1991-07-30 画像情報圧縮方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19000791A JPH0537791A (ja) 1991-07-30 1991-07-30 画像情報圧縮方式

Publications (1)

Publication Number Publication Date
JPH0537791A true JPH0537791A (ja) 1993-02-12

Family

ID=16250830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19000791A Pending JPH0537791A (ja) 1991-07-30 1991-07-30 画像情報圧縮方式

Country Status (1)

Country Link
JP (1) JPH0537791A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07125330A (ja) * 1993-10-28 1995-05-16 Nec Corp プリンタ制御装置
KR100524502B1 (ko) * 2001-07-31 2005-10-31 가부시키가이샤 리코 고속으로 화상 형성 처리를 실현할 수 있는 화상 처리용 집적 회로 및 화상 형성 장치
JP2006203832A (ja) * 2004-12-22 2006-08-03 Mitsubishi Electric Corp 画像送受信システム、画像送受信方法、並びに画像送信手順と画像受信表示手順を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2009102562A3 (en) * 2008-02-14 2009-10-08 Microsoft Corporation Factoring repeated content within and among images

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07125330A (ja) * 1993-10-28 1995-05-16 Nec Corp プリンタ制御装置
KR100524502B1 (ko) * 2001-07-31 2005-10-31 가부시키가이샤 리코 고속으로 화상 형성 처리를 실현할 수 있는 화상 처리용 집적 회로 및 화상 형성 장치
JP2006203832A (ja) * 2004-12-22 2006-08-03 Mitsubishi Electric Corp 画像送受信システム、画像送受信方法、並びに画像送信手順と画像受信表示手順を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2009102562A3 (en) * 2008-02-14 2009-10-08 Microsoft Corporation Factoring repeated content within and among images
US8204338B2 (en) 2008-02-14 2012-06-19 Microsoft Corporation Factoring repeated content within and among images

Similar Documents

Publication Publication Date Title
AU2003203331B2 (en) Mixed raster content files
US4020462A (en) Method and apparatus for form removal from contour compressed image data
JP5404303B2 (ja) 画像処理装置、画像処理方法及びプログラム
US20020196467A1 (en) Page composition in an image reproduction system using segmented page elements
CN101102384B (zh) 多功能打印机
WO2006129577A1 (en) Image processing apparatus, control method thereof, and program
US20070109322A1 (en) Print control program product
US20020178950A1 (en) Page composing method using stored page elements and apparatus for using the same
JPH10243210A (ja) 画像処理装置及びその方法
JP3287387B2 (ja) スプリット・プリンタドライバを用いたコンピュータプリンタ装置の制御システム及び方法
EP0506482B1 (en) Image processing
AU720541B2 (en) Image rendering for page printers
JPH0537791A (ja) 画像情報圧縮方式
US6587222B2 (en) Image processing apparatus for converting image data in accordance with characteristics of an image obtained at the time of expansion
KR100477777B1 (ko) 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체
US8270722B2 (en) Image processing with preferential vectorization of character and graphic regions
CN101267490B (zh) 图像处理设备和图像处理方法
JP2007129557A (ja) 画像処理システム
JPH10278361A (ja) 印刷処理装置
JPH0457570A (ja) 画像処理装置
JP2002254709A (ja) プリンタ装置及び画像処理装置
JP3211417B2 (ja) ページ記述言語処理装置
JP5424785B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP4058157B2 (ja) 画像処理方法、画像形成装置および記録媒体
JP2812389B2 (ja) 文書通信装置