JPH0952392A - 画像出力装置 - Google Patents

画像出力装置

Info

Publication number
JPH0952392A
JPH0952392A JP7205962A JP20596295A JPH0952392A JP H0952392 A JPH0952392 A JP H0952392A JP 7205962 A JP7205962 A JP 7205962A JP 20596295 A JP20596295 A JP 20596295A JP H0952392 A JPH0952392 A JP H0952392A
Authority
JP
Japan
Prior art keywords
data
variable
output
value
unit
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
JP7205962A
Other languages
English (en)
Inventor
Ikuo Enabe
郁夫 江辺
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP7205962A priority Critical patent/JPH0952392A/ja
Publication of JPH0952392A publication Critical patent/JPH0952392A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storing Facsimile Image Data (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)
  • Document Processing Apparatus (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

(57)【要約】 【課題】ページ分割出力方式で各分割ページを出力する
際、少ないメモリ容量で処理時間のかからない画像出力
装置を提供する。 【解決手段】ジョブ出力制御部1に入力された画像情報
がプリンタで出力可能なページサイズより大きいか否か
を判別する判別部5と、判別部5が大きなページサイズ
であると判断した場合に、該ページサイズの画像情報を
最終的に展開される展開データを基に、ラスタデータで
ある場合はそのままに、その他のデータの場合はランレ
ングスエンコーディングにより圧縮された中間形式の中
間データに変換する中間形式変換部8と、この中間デー
タを、プリンタで出力可能なページサイズ毎に分割する
分割部6と、分割部6で分割したデータを順次展開部1
0で展開してプリンタから出力させる分割出力制御部7
と有して、大きなページサイズの画像情報を分割して出
力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、出力部で出力可能
なサイズより大きなページサイズの画像情報を分割して
出力することができる画像出力装置に関し、特に、ネッ
トワーク上に複写・プリント処理および複写・プリント
指示の機能が分散配置された分散複写システムにおける
画像出力装置に関する。
【0002】
【従来の技術】従来、大きなページサイズの画像情報を
出力する際、出力装置がこの大きなページサイズで出力
することができない場合、この大きなページサイズの画
像情報を、大きな容量のメモリを用いてラスタデータに
展開し、この展開したラスタデータを出力装置が可能な
複数のページサイズに分割して出力していた(以下、
「ページ分割出力方式」という)。
【0003】従って、大きなページサイズの画像情報を
出力するためには、大きな容量、すなわち大きなページ
サイズの画像情報を展開したラスタデータを記憶するこ
とができる容量のメモリを必要としていたため、大きな
ページサイズの画像情報の出力を行うことが少なく、通
常のページサイズの画像情報の出力を行うことが多い出
力装置において、このような大きな容量のメモリを備え
ることは効率的でない。
【0004】一方、ページ分割出力方式に関しては次の
ような画像出力装置が考えられている。
【0005】まず、特公平4−79008号公報および
特公平4−79010号公報には、出力媒体のサイズよ
り大きい出力画像を複数に分割して記憶するときに、分
割された出力画像とともに、分割された出力画像のそれ
ぞれの出力領域を示す指標情報を出力部に供給し、ある
いは分割された出力画像のそれぞれが分割前の出力画像
のどの位置に対応するかを示す位置情報を出力部に供給
する画像出力装置が記載されており、これによれば、分
割して出力された画像を並べて、元の一枚の大きな画像
を再現する作業が簡単になる。
【0006】特に、メモリの効率的利用に関して、特公
平4−79009号公報には、出力媒体のサイズより大
きい出力画像を複数の出力媒体上に分割して出力される
ように出力画像を分割し、分割された複数の出力画像の
それぞれを特定するための座標情報を得るために、分割
された複数の出力画像のそれぞれの基準座標と分割前の
出力画像の基準座標の差に従って座標情報を変換し、こ
の変換された座標情報をドットパターンに変換する画像
出力装置が記載されており、これによれば、大容量のメ
モリを用いることなく、複数の出力媒体上の分割出力し
て、忠実に表現することができる。
【0007】このように、これらの画像出力装置は、出
力装置の出力可能サイズを越えた場合に、出力後の処理
が容易になるという利点を有している。
【0008】ここで、特開平4−79009号公報に記
載の画像出力装置では、分割により生じるクリッピング
処理等の展開処理をページ分割数と同じ回数繰り返さな
ければならず、メモリの有効利用が図れるものの、全体
の処理時間がかかる。
【0009】
【発明が解決しようとする課題】前述したように、従来
のページ分割出力方式では、各分割ページを中間形式の
座標情報としてメモリに保持し、この中間形式の座標情
報を各分割ページ毎に、ラスタデータに展開処理してい
た。
【0010】このため、少ない容量のメモリで分割され
た各分割ページを出力することができるが、このメモリ
に保持された中間形式の座標情報に対して、クリッピン
グ処理等の展開処理を各分割ページ毎に行わなければな
らず、全分割ページを出力するまでにかかる処理時間が
長くなるという問題点があった。
【0011】そこで、本発明は、かかる問題点を除去
し、ページ分割出力方式で各分割ページを出力する際、
少ないメモリ容量で処理時間のかからない画像出力装置
を提供することを目的とする。
【0012】
【課題を解決するための手段】第1の発明は、所定の記
憶容量を有した記憶部をもち、出力部で出力可能なサイ
ズより大きなページサイズの画像情報を分割して出力す
ることができる画像出力装置において、入力された画像
情報が前記出力部で出力可能なページサイズより大きい
か否かを判別する判別手段と、前記判別手段が前記出力
部で出力可能なページサイズより大きなページサイズで
あると判断した場合に、該ページサイズの画像情報を、
最終的に展開される展開データを基に所定の形式により
圧縮された中間形式のデータを含む中間データに変換す
る変換手段と、前記変換手段により変換された中間デー
タを、前記出力部で出力可能なページサイズ毎に分割す
る分割手段と、前記分割手段で分割した中間データを順
次展開して前記出力部から出力させる出力制御手段とを
具備したことを特徴とする。
【0013】第2の発明は、第1の発明において、前記
変換手段が、中間データの一部を更新する更新手段を具
備し、該更新手段により順次更新を行うことにより最終
的な中間データに変換することを特徴とする。
【0014】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。
【0015】図1は、本発明の実施の形態であるジョブ
出力装置の構成を示す図である。
【0016】図1において、ジョブ出力装置は、ネット
ワークNに接続されたジョブ出力制御部1、ジョブ出力
制御部1に接続された複数のデコンポーザ2a〜2c、
複数のプリンタ制御部3a〜3c、およびプリンタ制御
部3a〜3cにそれぞれ接続されたプリンタ4a〜4c
から構成される。
【0017】ジョブ出力制御部1は、ネットワークNか
ら入力されたジョブを解釈して、該ジョブをイメージデ
ータ、すなわちドットパターンに展開処理できる適切な
デコンポーザを、デコンポーザ2a〜2cの中から選択
し、展開処理を指示する。さらに、ジョブ出力制御部1
は、展開処理されたドットパターンを出力できる適切な
プリンタを、プリンタ4a〜4cの中から選択し、該選
択したプリンタを制御するプリンタ制御部3a〜3cに
該ドットパターンの出力を指示する。
【0018】ジョブ出力制御部1は、入力されたジョブ
の解釈結果をもとに、入力されたジョブのページサイズ
が、プリンタ4a〜4cのいづれにおいても出力可能な
ページサイズよりも大きなページサイズであるか否かを
判別する判別部5、判別部5が大きなページサイズのジ
ョブであると判別した場合、この大きなページサイズ
を、プリンタが出力可能なページサイズに分割する分割
部6、および分割部6で分割した領域毎に展開処理され
たドットパターンを分割単位で、選択されたプリンタ制
御部3a〜3cに出力指示する制御を行う分割出力制御
部7を有している。
【0019】デコンポーザ2a〜2cは、ジョブ出力制
御部1に入力されたジョブをドットパターンに展開処理
する。デコンポーザ2a〜2cによる展開処理は、異な
る展開処理を行うものの組合せであってもよいし、同じ
展開処理を行うものを含めてもよい。デコンポーザ2a
は、判別部5で大きなページサイズであると判別された
場合に、該ジョブをランレングスエンコーディングによ
る中間形式のデータ及びドットパターンとが混在する中
間データに変換する中間形式変換部8、中間形式変換部
8で変換された中間データを格納する中間データメモリ
9、中間データメモリ9に格納され、かつ分割部6で分
割された領域の中間データ、あるいは判別部5で大きな
ページサイズでない場合は、このジョブをそのままドッ
トパターンに展開する展開部10、および展開部10で
展開されたドットパターンを格納するメモリ11を有し
ている。また、その他のデコンポーザ2b,2cも図示
していないが同様な構成を有している。
【0020】さらに、中間形式変換部8は、更新部8a
を有し、更新部8aは、中間形式変換部8が中間データ
メモリ9を用いて中間データに変換処理する過程におい
て、最終的な中間データを生成するまでの中間的な中間
データのデータ更新を、入力されたジョブの解釈結果に
基づいて順次行う。
【0021】ここで、中間形式変換部8により変換され
る中間データにおける中間形式のデータは、座標情報等
のデータと異なり、より最終的なドットパターンに近い
形の中間データを基本とするものであり、展開処理に負
担がかからないようなデータである。具体的には、ラン
レングスエンコーディングされた中間形式のデータは、
同一のドットパターンのデータが連続する場合、該デー
タ数と該データ内容(色要素)とかなる。また、中間形
式のデータ間に混在するドットパターンの中間データ
は、該ドットパターン数と該ドットパターンの内容(色
要素)とからなる。
【0022】プリンタ制御部3a〜3cは、ジョブ出力
制御部1からの出力指示をもとに、それぞれのプリンタ
4a〜4cに対して、デコンポーザ2a〜2cによって
展開処理されたドットパターンであるイメージデータの
出力制御を行う。ここで、出力対象が大きなページサイ
ズである場合、分割出力制御部7の制御のもとに、分割
された領域毎に展開処理されたイメージデータが順次プ
リンタ制御部3a〜3cに入力され、対応するプリンタ
4a〜4cから分割されたイメージデータが出力され
る。
【0023】なお、デコンポーザ2a〜2c、プリンタ
制御部3a〜3cおよびそれぞれに対応するプリンタ4
a〜4cは、それぞれ3つの構成としたが、もちろん3
つに限定されるわけではなく、1つあるいは任意の数と
した構成とすることができる。
【0024】次に、ジョブ出力装置のページ分割出力手
順を図2のフローチャートに基づいて説明する。
【0025】図2において、まずジョブ出力制御部1
に、ネットワークNから例えばページ記述言語(PD
L)で記述された文書データのジョブが入力されると、
ジョブ出力制御部1の判別部5は、このジョブのページ
サイズ情報をチェックし、ジョブ出力制御部1に接続さ
れるプリンタにより出力可能なページサイズを越えるも
のであるか否かを判別する。その結果、出力可能なペー
ジサイズ内のジョブである場合は、通常の処理により、
適切なデコンポーザを選択して直接、イメージデータに
展開処理し、該展開処理したイメージデータを所定のプ
リンタ制御部を介してプリンタから出力させる。
【0026】ここで、プリンタにより出力可能なページ
サイズを越えるジョブである場合、このジョブの展開処
理が可能なデコンポーザ例えばデコンポーザ2aに対
し、このPDLで記述された1ページ分の文書データを
ランレングスエンコーディングによる中間形式のデータ
とドットパターンのデータとが混在する中間データに変
換するよう指示する。これに対し、デコンポーザ2aの
中間形式変換部8は、この1ページ分の文書データを中
間データにデコンポーズ(変換)し(ステップ10
0)、中間データメモリ9に格納する。この1ページ分
の中間データへの変換処理が終了すると、デコンポーザ
2aは、ジョブ出力制御部1に中間データへの変換処理
の終了を通知する。
【0027】これに対し、ジョブ出力制御部1の分割部
6は、中間データメモリ9に格納された1ページ分の中
間データをプリンタが出力可能なページサイズとした複
数の分割領域、すなわち複数の矩形領域に分割する(ス
テップ101)。
【0028】この後、分割出力制御部7は、分割領域の
中間データが、中間データメモリ9内に残っているか否
かを判断し(ステップ102)、分割領域が残っていな
い場合は、本ページ分割出力処理を終了する。
【0029】一方、ステップ102において、分割領域
が中間データメモリ9内に残っている場合は、所定の順
序に従って、この分割領域の1つ、すなわち分割された
中間データを展開部10によりイメージデータに展開す
るよう展開部10に指示する。展開部10は、分割され
た中間データ毎に、イメージデータに展開し(ステップ
103)、展開されたイメージデータをメモリ11に格
納する。この後、デコンポーザ2aは、展開部10によ
る展開処理が完了したことを分割出力制御部7に通知す
る。分割出力制御部7は、メモリ11に格納されたイメ
ージデータをプリンタ、例えばプリンタ4aから出力さ
せるため、所定のプリンタ制御部、例えばプリンタ出力
制御部3aに、この分割され展開されたイメージデータ
の出力を指示する。そして、プリンタ4aから分割され
たイメージデータが出力される(ステップ104)。そ
して、ステップ102に移行し、上述した処理を分割領
域がなくなるまで繰り返す。
【0030】次に、本ジョブ出力装置によるページ分割
出力処理の概要を図3を参照して説明する。
【0031】図3において、入力されたジョブD1は、
1ページのページサイズが「A1横」で、プリンタがこ
の大きさのページサイズを出力することができないた
め、中間形式変換部8は、この1ページ分のデータをラ
ンレングスエンコーディングによる中間形式のデータと
ドットパターンのデータとが混在する中間データD2に
変換する。中間データD2のデータ量は、ランレングス
エンコーディングされた中間形式のデータを含むため、
1ページ分全体をイメージデータに展開したデータ量D
3に比べて、少ないデータ量であり圧縮されたデータと
なっている。
【0032】そして、この1ページ分全体の中間データ
D2は、分割部6でプリンタが出力可能なページサイ
ズ、例えば「A4縦」8枚(D31〜D38)に分割さ
れて出力される。
【0033】従って、圧縮された中間データとして中間
データメモリ9内に1ページ分全体が格納され、分割さ
れた中間データごとに展開されるため、イメージデータ
格納用のメモリ11のメモリ容量を少なくすることがで
きる。さらに、この中間データは、最終的なイメージデ
ータを圧縮したデータを含むため、展開のための処理に
時間を要せず、全体的に処理時間のかからないページ分
割出力処理が可能となるとともに、中間データ内のドッ
トパターンのデータは、最初からイメージを示すドット
パターンのデータであることから、該ドットパターンの
データに対するランレングスエンコーディング及び展開
処理という無駄な2重処理を行わなくて済むため、中間
データへの変換処理及び展開処理にかかる時間が低減さ
れる。
【0034】次に、具体的な中間データの一例及びその
データ内容について図4を参照して説明する。
【0035】図4において示す中間データは、CMYK
方式、8ビット、点順次のデータを受け付けて出力する
ことができるプリンタを対象としている。なお、ここで
一例としてとりあげている1スキャンラインのデータ
は、説明の便宜上極端に短くしている。すなわち、1ス
キャンライン当たり20個の色データとしている。
【0036】この1スキャンライン上の色データは、例
えば、白のデータDD1は、16進数のデータ(以下、
H(X)とした場合のXは16進数とする)で、H(0
0000000)として表現されている。これは、C,
M,Y,Kの各色成分がそれぞれ{0,0,0,0}で
あることを意味している。
【0037】従って、この場合に色を表現するために
は、32ビット、すなわちC,M,Y,Kそれぞれ1バ
イトづつ、計4バイトのデータが必要となる。そして、
図4(b)に示すように、1スキャンラインで、白のデ
ータが7つ(D10)、サーモンのデータが3つ(D1
1)、空色のデータが6つ(D12)、さらに白のデー
タが4つ(D13)とするデータを出力する場合、この
1つのスキャンラインのデータは、各データが4バイト
で各色のデータが合計で20あるため、全部で80バイ
ト(20×4)のデータ量となる。
【0038】これに対し、各色のデータD10〜D13
をまとめることにより、データ圧縮を行うことができ
る。例えば、白のデータD10に対しては、白のデータ
の個数(長さ)を示す個数データ(4バイト)と、白の
色要素を示す要素データ(4バイト)とからなる8バイ
トのデータに変換する。具体的には、白のデータの個数
は、7つであるため、個数データはH(0000000
7)となり、要素データは、H(00000000)と
なる。同様にして、サーモンのデータD11、空色のデ
ータD12、および白のデータD13に対してもそれぞ
れ8バイトのデータとなる。このため、この1スキャン
ラインのデータは、32バイト(8×4)のデータ量と
なる。
【0039】このため、全て展開した1スキャンライン
のデータ、80バイトに比べて、このランレングスエン
コーディングされた中間データは、32バイトであり、
データ圧縮が実現されていることがわかる。実際、30
0dpi(300ドット/25.4mm)の場合、A4
縦は約2500ドットであり、同色の連続が長くなり、
圧縮率はかなりよい。
【0040】なお、図4(a)に示すように、中間デー
タの初期状態は、各スキャンライン毎、白データとして
設定されている。すなわち、各スキャンラインは、20
個の個数を示す個数データH(00000014)、白
の色要素を示す要素データH(00000000)が初
期設定されている。
【0041】ここで、図4(c)に示すように、最終的
な中間データへの変換までの変換処理過程において、ス
キャンライン上にラスタデータを上書きする処理過程が
存在すると、このラスタデータが配置されるスキャンラ
イン上の中間データを、ラスタデータのままの中間デー
タに変換する。このため、ランレングスエンコーディン
グされた圧縮データとドットパターンを示すラスタデー
タとが混在する中間データとなる。例えば、図4(c)
において、図4(b)に示すyスキャンライン上の
(6,y)〜(10,y)にラスタデータD14を置く
場合、白のデータD10の右端の1ドット(6,y)と
サーモンのデータD11((7,y)〜(9,y))と
空色のデータD10の左端の1ドット(10,y)とを
削除し、ラスタデータD14((6,y)〜(10,
y))に置き換える処理を行う。この結果、最終的に
は、連続する白のデータD10´,ラスタデータD1
4,連続するサーモンのデータD12´,及び連続する
白のデータD13で構成されるスキャンラインとなる。
【0042】この変更されたスキャンラインを示す中間
データは、次のようになる。すなわち、 白のデータ D10´:H(00000006),H(00000000) ラスタデータD14 :H(80000005),H(6051000F), H(6041011F),H(0066663A), H(0056763A),H(000000FF) 空色のデータD12´:H(00000005),H(664D001A) 白のデータ D13 :H(00000004),H(00000000) となる。
【0043】白のデータD10´,D13や空色のデー
タD12´のランレングスエンコーディングによって圧
縮された中間データであっても、ラスタデータD14の
中間データであっても、最初の4バイトには、長さ、す
なわち個数データが付加される。そして、中間データが
ランレングスエンコーディングによって圧縮されたデー
タかラスタデータかを識別するため、個数データの最初
のビットをフラグとして用い、ランレングスエンコーデ
ィングの中間データである場合は、このフラグが「0」
に設定され、ラスタデータである場合は、このフラグが
「1」に設定される。なお、このフラグが「1」である
ことは、H(8)となる。このように個数データの最初
のビットをもとにランレングスエンコーディングによる
中間データかラスタデータかが示される。
【0044】そして、ラスタデータの場合には、個数デ
ータが示す個数分の4バイト単位の要素データがドット
順に後続する。例えば、ラスタデータD14の場合、個
数データH(80000005)から、ドットが5個あ
ることがわかり、この個数データの後に5個の要素デー
タが付加される。すなわち、H(6051000F),
H(6041011F),H(0066663A),H
(0056763A),H(000000FF)とする
ドットの色要素を示す4バイト単位の5個の要素データ
が付加される。
【0045】従って、ランレングスエンコーディングさ
れた中間データとラスタデータとが混在する中間データ
である場合、中間データの全てがランレングスエンコー
ディングされた場合と同様な圧縮効果が維持されるとと
もに、最初からラスタデータで示されるデータ部分は、
ランレングスエンコーディングによる冗長化が防げると
ともに、該ランレングスエンコーディング処理とこれに
対応するデコード処理が不必要になり、全体的な処理時
間を短縮することができる。
【0046】次に、中間データの更新処理についてフロ
ーチャート及びこれに関連する説明図を参照して説明す
る。
【0047】まず、図5は、中間データメモリ9に格納
される中間データ構造を示しており、中間データメモリ
9内においては、メモリ管理用データと中間データとが
格納されている。これらのデータは、4バイト単位で構
成されている。中間データの前には、メモリ管理用デー
タが配置され、中間データが格納される領域の大きさと
中間データの実際の長さ(ドット個数数)とが管理され
る。その後、ランレングスエンコーディングされた中間
データとラスタデータとが混在して配置される。これら
も上述した4バイト単位で構成される。
【0048】図6は、スキャンラインy0の変更前後に
おける具体的なドット配置を示す図であり、図6(a)
は変更前におけるスキャンラインy0を示し、図6
(b)は変更後におけるスキャンラインy0を示してい
る。ここで、変更前におけるスキャンラインの(0,y
0)〜(7、y0)は、色aの同一色であり、スキャン
ラインの(8,y0)から(17,y0)は、色bの同
一色であり、ランレングスエンコーディングによって図
6(c)のような中間データ構成となる。変更後におけ
るスキャンラインの(0,y0)〜(4,y0)は、色
aの同一色であり、スキャンライン(5,y0)〜(1
0,y0)は、色cの同一色であり、スキャンライン
(11,y0)〜(17,y0)は、色bの同一色であ
り、図6(d)のような中間データ構造となる。このよ
うなフラグと長さを有する個数データ単位でまとめられ
る単位(EL1〜EL5)を以下、要素という。従っ
て、要素EL4がラスタデータである場合、図6(e)
に示すような中間データとなる。もちろん、他の要素も
ラスタデータである場合もある。なお、図6(a),
(b)に示すx0はスキャンラインy0における変更範
囲の先頭位置を示し、x1はスキャンラインy0におけ
る変更範囲の最後位置を示している。図6(a)におけ
るx0は5であり、x1は10である。
【0049】ここで、図7〜10に示すフローチャート
を参照してスキャンライン(x0,y0)〜(x1,y
0)を変更する処理手順について説明する。
【0050】まず図7において、変数addrをスキャンラ
インy0の先頭アドレスに、変数startを0に、変数sto
pを(要素の長さ−1)にそれぞれ初期設定する(ステ
ップ101)。ここで、変数start及び変数stopは、変
更処理前の各要素に検索対象を定義するものである。従
って、変数stopは、要素EL1の長さが8であるので、
7となる。次に、変更範囲の先頭位置x0が変数start
と変数stopとの範囲内に存在するか否かを判断する(ス
テップ102)。すなわち、検索対象の要素内に、先頭
位置x0が含まれるか否かを判断する。先頭位置x0が
変数startと変数stopとの範囲内に存在する場合、変数a
ddr0の値を変数addrの値に設定し、変数start0の値を変
数startの値に設定し、変数stop0の値を変数stopの値に
設定し(ステップ103)、先頭位置x0が変数start
と変数stopとの範囲内に存在しない場合はそのまま、ス
テップ104に移行する。ここで、図6(a)に示すス
キャンラインでは、先頭位置x0は「5」であるため、
変数startの値「0」と変数stopの値「7」との範囲内
に存在するため、スキャンラインの先頭アドレスaddrが
変数addr0の値に設定され、変数start0の値が「0」
に、変数stop0の値が「7」に設定される。
【0051】さらに、変更範囲の最後位置x1が変数st
artと変数stopとの範囲内に存在するか否かを判断する
(ステップ104)。すなわち、検索対象の要素内に、
最後位置x1が含まれるか否かを判断する。最後位置x
1が変数startと変数stopとの範囲内に存在する場合、
変数addr1の値と変数addrの値に設定し、変数start1の
値を変数startの値に設定し、変数stop1の値を変数stop
の値に設定し(ステップ105)、最後位置x1が変数
startと変数stopとの範囲内に存在しない場合はそのま
ま、ステップ106に移行する。図6(a)に示すスキ
ャンラインでは、最後位置x1は「10」であるため、
変数startの値「0」と変数stopの値「7」との範囲内
に存在しないため、そのままステップ106に移行す
る。
【0052】ステップ106では、変数addrが含まれる
要素がスキャンラインy0における最後の要素であるか
否かを判断し、最後の要素である場合は、ステップ10
8に移行し、最後の要素でない場合は、変数addrの値を
次の要素のアドレスの値に、変数startの値を変数stop
の値に1加算した値に、変数stopの値を変数stopの値に
次の要素の長さを加算した値に、それぞれ設定した(ス
テップ107)後、ステップ102に移行し、上述した
処理を繰り返す。すなわち、各要素と、先頭位置x0及
び最後位置x1との相対関係を決定する。ここで、図6
(a)に示すスキャンラインの場合、2回目の繰り返し
処理によって、ステップ105において変数addr1、変
数start1、変数stop1の値が決定され、変数addr1の値
は、要素EL2のアドレスの値に、変数start1の値は
「8」に、変数stop1の値は「17」に、それぞれ設定
されることになる。
【0053】その後、次のような変数の値を新たに設定
する。すなわち、変数length0の値を先頭位置x0の値
から変数start0の値を減算した値に、変数length1の値
を最後位置x1の値から先頭位置x0の値を減算し、さ
らに1加算した値に、変数length2の値を変数stop1の値
から最後位置x1の値を減算した値に、変数newaddrの
値変数addr0の値に、それぞれ設定する(ステップ10
8)。ここで、変数length0の値は、変更後のスキャン
ラインにおける要素EL3の長さであり、変数length1
の値は変更後のスキャンラインにおいて新たに配置され
た要素EL4の長さであり、変数length2の値は、変更
後のスキャンラインにおける要素EL5の長さである。
例えば、図6(b)において、変数length0の値は、長
さL0の値「5」に設定され、変数length1の値は、長
さL1の値「6」に設定され、変数length2の値は、長
さL2の値「7」に設定される。
【0054】次に、変数length0の値が「0」か否かを
判断する(ステップ109)。変数length0の値が
「0」であることは、変更前における先頭位置x0を含
む要素が変更後においては存在しないことを意味する。
従って、変数length0の値が「0」である場合、そのま
まステップ111に移行し、「0」でない場合は、変数
addr0から始まる要素の長さを変数length0の値に設定変
更し、さらに変数newaddrを設定し(ステップ11
0)、ステップ111に移行する。なお、ステップ11
0における処理は後述する。ここで、変数newaddrは、
図6(b)における要素EL4のように、新たに置き換
える要素のアドレスを意味する。
【0055】ステップ111では、変数length2の値が
「0」か否かを判断する。変数length2の値が「0」で
あることは、変更前における最後位置x1を含む要素が
変更後においては存在しないことを意味する。従って、
変数length2の値が「0」である場合、直接ステップ1
13に移行し、「0」でない場合は、変数addr1から始
まる要素の長さを変数length2の値に設定変更し、さら
に変数addr1の値を更新した(ステップ112)後、ス
テップ113に移行する。なお、ステップ112におけ
る処理は後述する。
【0056】その後、変更前における変数addr1を含む
要素の中間データを、変更後における更新された変数ad
dr1に移動する処理を行う(ステップ113)。この処
理についても後述する。
【0057】さらに、変数newaddrを含む要素の長さ
を、変数length1の値に設定し(ステップ114)、変
数newaddrが示すアドレスに4バイト加算したアドレス
に、ランレングスエンコーディングされた中間データで
ある場合は色要素を設定し、ラスタデータである場合は
このラスタデータをコピーし(ステップ115)、本処
理を終了する。
【0058】次に、図8に示すフローチャートを参照し
てステップ110における変数addr0で始まる要素の長
さの設定と変数newaddrの設定との処理手順について説
明する。
【0059】図8において、まず変数addr0で始まる要
素のデータはラスタデータか否かを判断する(ステップ
201)。ラスタデータでない場合、すなわちランレン
グスエンコーディングされるデータである場合は、変数
addr0で始まる要素の長さを変数length0の値に設定し
(ステップ202)、変数newaddrの値を、変数addr0の
値に8バイト加算したアドレスに設定し(ステップ20
3)、ステップ110にリターンする。
【0060】一方、ステップ201でラスタデータであ
ると判断された場合は、変数addr0で始まる要素の長さ
を変数length0の値に設定し(ステップ204)、変数n
ewaddrの値を、変数addr0の値に(変数length0の値+
1)×4(バイト)の値を加算したアドレスに設定し
(ステップ205)、ステップ110にリターンする。
【0061】次に、図9に示すフローチャートを参照し
てステップ112における変数addr1で始まる要素の長
さの設定と変数addr1の値の設定変更との処理手順につ
いて説明する。
【0062】図9において、まず変数addr0で始まる要
素のデータは、ラスタデータか否かを判断する(ステッ
プ301)。ラスタデータでない場合、すなわちランレ
ングスエンコーディングされるデータである場合は、変
数addr1で始まる要素の長さを変数length2の値に設定し
(ステップ302)、ステップ112にリターンする。
【0063】一方、ステップ301でラスタデータであ
ると判断された場合は、変数addr1の値を、変数addr1の
値に(変数addr1で始まる要素の長さ−変数length2の
値)×4(バイト)の値を加算したアドレスに設定し
(ステップ303)、その後変数addr1で始まる要素の
長さを変数length2の値に設定し(ステップ304)、
ステップ112にリターンする。
【0064】このようにして、ステップ110及び11
2の処理を行うことにより、変更前及び変更後の中間デ
ータがランレングスエンコーディングされたデータかラ
スタデータかによって、変更前に存在していた中間デー
タの値が、変更後の中間データの値に適切に変更され
る。
【0065】次に、図10に示すフローチャートを参照
してステップ113における中間データの変更に伴う中
間データの移動処理手順について説明する。
【0066】図10において、まず更新前における変数
addr1が示す値が更新後における変数addr1が示す値より
小さいか否かを判断し(ステップ401)、小さい場合
には、最後のアドレスから更新前における変数addr1の
値が示すアドレスまでのデータを、更新後における変数
addr1の値が示すアドレスの位置に順次コピーする(ス
テップ408)。すなわち、アドレスの後ろの方から順
次コピーし、変更前における変数addr1のデータがコピ
ー処理によって上書きされる前にコピーする。そして、
ステップ113にリターンする。
【0067】ステップ401で更新前における変数addr
1が示す値が更新後における変数addr1が示す値より小さ
くないと判断された場合は、さらに、更新前における変
数addr1が示す値が更新後における変数addr1が示す値と
等しいが否かを判断する(ステップ402)。この判断
結果が、等しくない、すなわち、更新前における変数ad
dr1が示す値が更新後における変数addr1が示す値より大
きい場合には、更新前における変数addr1が示すアドレ
スから最後までのデータを、更新後における変数addr1
の値が示すアドレスの位置に順次コピーする(ステップ
407)。すなわち、更新前における変数addr1が示す
データの前から順次更新後における変数addr1が示すア
ドレスに順次コピーし、これにより、変更前における変
数addr1のデータがコピー処理によって上書きされる前
にコピーして、データの正しい移動処理を行う。そし
て、ステップ113にリターンする。
【0068】一方、ステップ402で等しいと判断され
た場合は、新たなメモリ領域を確保し(ステップ40
3)、先頭アドレスから更新後における変数addr1まで
のデータを新たなメモリ領域にコピーする(ステップ4
04)。その後、変数addr1が示すアドレスから最後ま
でをコピーし(ステップ405)、古いメモリ領域を解
放し(ステップ406)、ステップ113にリターンす
る。
【0069】このようにして、ステップ113における
処理を行うことにより、正しい移動処理が行われること
になる。
【0070】次に、連結リストを用いて中間データを管
理する場合について説明する。これまでの説明におい
て、中間データの管理は、図5に示すような連続するメ
モリ領域に中間データを保持し、これをメモリ管理用デ
ータによって管理するようにしていたが、ここでは、連
結リスト形式、すなわちポインタを用いて、各中間デー
タを管理する場合について説明する。
【0071】図11は、連結リストを用いて中間データ
を保持する場合のデータ構造を示す図である。図11に
おいて、各要素は、その先頭に次の要素のデータが存在
するアドレスを示すポインタが格納されている。そし
て、各要素は、このポインタの次に実質的な中間デー
タ、すなわちランレングスエンコーディングされたデー
タである場合は、フラグと長さとを示す4バイトの個数
データと、色要素を示す4バイトの要素データとが格納
され、ラスタデータである場合は、フラグと長さとを示
す4バイトの個数データとこの長さに対応する長さ分の
色要素を示す4バイト単位の要素データとが格納され
る。
【0072】ここで、図12及び図13に示すフローチ
ャートを参照して、連結リストを用いた場合でのスキャ
ンライン(x0,y0)〜(x1,y0)を変更する処
理手順について説明する。
【0073】まず図12において、変数addrをスキャン
ラインy0の先頭アドレスに、変数startを0に、変数s
topを(要素の長さ−1)に、変数addrpを検索対象の要
素のポインタのアドレスにそれぞれ初期設定する(ステ
ップ501)。その後、変更範囲の先頭位置x0が変数
startと変数stopとの範囲内に存在するか否かを判断す
る(ステップ502)。すなわち、検索対象の要素内
に、先頭位置x0が含まれるか否かを判断する。先頭位
置x0が変数startと変数stopとの範囲内に存在する場
合、変数addr0の値を変数addrの値に設定し、変数start
0の値を変数startの値に設定し、変数stop0の値を変数s
topの値に、変数addr0pの値を変数addrpの値に設定し
(ステップ503)、先頭位置x0が変数startと変数s
topとの範囲内に存在しない場合はそのまま、ステップ
504に移行する。
【0074】さらに、変更範囲の最後位置x1が変数st
artと変数stopとの範囲内に存在するか否かを判断する
(ステップ504)。すなわち、検索対象の要素内に、
最後位置x1が含まれているか否かを判断する。最後位
置x1が変数startと変数stopとの範囲内に存在する場
合は、ステップ506に移行し、最後位置x1が変数st
artと変数stopとの範囲内に存在しない場合は、変数add
rpの値を変数addrの値に、変数addrの値を次の要素のア
ドレスの値に、変数startの値を変数stopの値に1加算
した値に、変数stopの値を変数stopの値に次の要素の長
さの値を加算した値に、それぞれ更新し(ステップ50
5)、ステップ502に移行し、上述した処理を繰り返
す。
【0075】ステップ504で、最後位置x1が変数st
artと変数stopとの範囲内に存在すると判断された場
合、変数addr1の値を変数addrの値に、変数start1の値
を変数startの値に、変数stop1の値を変数stopの値に、
変数addr1pの値を変数addrpの値にそれぞれ設定し(ス
テップ506)、さらに変数length0の値を先頭位置x
0の値から変数start0の値を減算した値に、変数length
1の値を最後位置x1の値から先頭位置x0の値を減算
し、さらに1加算した値に、変数length2の値を変数sto
p1の値から最後位置x1の値を減算した値に、それぞれ
新た変数として設定する(ステップ507)。
【0076】次に、変数addr0と変数addr1とが等しいか
否かを判断する(ステップ508)。ここで、変数addr
0と変数addr1とが等しい場合とは、検索対象の要素内
に、先頭位置x0と最後位置x1との双方が含まれてい
る場合を意味し、変数addr0と変数addr1とが等しくない
場合とは、先頭位置x0と最後位置x1とが異なる検索
対象の要素内に存在することを意味し、この場合少なく
とも2つの要素領域に変更範囲が跨ることになる。
【0077】さて、ステップ508で変数addr0と変数a
ddr1とが等しくないと判断された場合、さらに変数leng
th0の値が0か否かを判断し(ステップ509)、0で
ある場合は変数addr0を含む要素のデータを削除し(ス
テップ510)、0でない場合は変数addr0で始まる要
素の長さを変数length0の値に設定し(ステップ51
1)、それぞれステップ512に移行する。
【0078】ステップ512では、さらに変数length2
の値が0か否かを判断し、0である場合は変数addr1を
含む要素のデータを削除し(ステップ513)、0でな
い場合は変数addr1で始まる要素の長さを、変数length2
の値に設定し(ステップ514)、それぞれステップ5
15に移行する。なお、ステップ514で要素がラスタ
データである場合、ラスタデータの移動処理も行う。
【0079】次に、変数addr0から始まる要素の次の要
素から、変数addr1pまでを削除し、メモリ領域を解放し
(ステップ515)、新たに要素のメモリ領域を確保し
て、要素のデータを設定し、この設定したデータを変数
addr0の後に挿入し(ステップ516)、本処理を終了
する。
【0080】一方、ステップ508で変数addr0と変数a
ddr1とが等しい場合、さらに変数addr0から始まる要素
のデータがラスタデータか否かを判断する(ステップ5
17)。要素のデータがラスタデータでない場合、変数
addr0から始まる要素の長さを変数length0の値に設定し
(ステップ518)、新たなメモリ領域を確保して、こ
のメモリ領域に、要素の長さとして変数stop0から変数s
tart0の値を減算して1加算した値から、さらに変数len
gth0の値を減算した値を設定し、さらにこの要素の色要
素を設定して変数addr0の後に挿入し(ステップ51
9)、ステップ522に移行する。
【0081】また、ステップ517で変数addr0から始
まる要素のデータがラスタデータである場合、変数addr
0から始まる要素の長さを変数length0の値に設定し(ス
テップ520)、新たなメモリ領域を確保して、このメ
モリ領域に、変数addr0から始まる要素における、変数l
ength0に1加算した値から、変数stop0の値から変数sta
rt1の値を減算して1加算した値までのデータを設定し
て変数addr0の後に設定し(ステップ521)、ステッ
プ522に移行する。
【0082】ステップ522では、要素のメモリ領域を
確保し、要素のデータを設定して、変数addr0の後に挿
入し(ステップ522)、本処理を終了する。
【0083】このようにして、連結リストを用いたデー
タ構造であっても、メモリ管理用データを用いた場合と
同様にして変更処理を行うことができる。
【0084】従って、メモリ管理用データを用いたデー
タ構造あるいは、連結リストを用いたデータ構造であっ
ても、ランレングスエンコーディングにより圧縮された
データとラスタデータとが混在する中間データの生成過
程における変更処理を容易に行うことができ、中間デー
タ生成時、ラスタデータに対するランレングスエンコー
ディング及びデコード処理という無駄な処理を省くこと
ができるので、該中間データの展開処理時間が短縮さ
れ、全体的な処理時間を短くすることができる。
【0085】もちろん、ラスタデータであっても、同一
色が連続するような場合を判断する手段を持たせ、同一
色が連続する場合は、該ラスタデータをランレングスエ
ンコーディングするようにしてもよい。これにより、効
率よく圧縮された中間データを生成することができる。
【0086】
【発明の効果】以上説明したように、第1の発明は、所
定の記憶容量を有した記憶部をもち、出力部で出力可能
なサイズより大きなページサイズの画像情報を分割して
出力することができる画像出力装置において、入力され
た画像情報が前記出力部で出力可能なページサイズより
大きいか否かを判別する判別手段と、前記判別手段が前
記出力部で出力可能なページサイズより大きなページサ
イズであると判断した場合に、該ページサイズの画像情
報を、最終的に展開される展開データを基に所定の形式
により圧縮された中間形式のデータを含む中間データに
変換する変換手段と、前記変換手段により変換された中
間データを、前記出力部で出力可能なページサイズ毎に
分割する分割手段と、前記分割手段で分割した中間デー
タを順次展開して前記出力部から出力させる出力制御手
段とを具備したことを特徴とする。
【0087】従って、第1の発明では、出力要求単位の
ページの全体画像情報を中間データにした後に該中間デ
ータを分割し、展開出力するので、少ないメモリ容量で
大きなページサイズの画像情報を出力することができ、
かつ分割出力処理にかかる時間が短縮されるとともに、
出力要求が、ラスタデータ等の最終的に展開されるデー
タを含む場合、該中間データは、該最終的に展開される
データを中間形式に変換せず、該変換されないデータを
含む中間データであるため、無駄な中間形式への変換処
理及び該中間形式からの逆変換処理を行わないため、出
力全体にかかる処理時間が短縮されるという利点を有す
る。
【0088】第2の発明は、第1の発明において、前記
変換手段が、中間データの一部を更新する更新手段を具
備し、該更新手段により順次更新を行うことにより最終
的な中間データに変換することを特徴とする。
【0089】従って、中間形式によって圧縮されたデー
タと圧縮されないデータとが混在する中間データの生成
を実効的にスムースに行うことができるという利点を有
する。
【図面の簡単な説明】
【図1】本発明の実施の形態であるジョブ出力装置の構
成を示す図。
【図2】ジョブ出力装置のページ分割出力手順を示すフ
ローチャート。
【図3】本発明の実施の形態によるページ分割出力処理
の概要を示す図。
【図4】具体的な中間データの一例及びそのデータ内容
を示す図。
【図5】メモリ管理用データを用いた中間データ構造を
示す図。
【図6】スキャンラインy0の変更前後における具体的
なドット配置を示す図。
【図7】スキャンライン(x0,y0)〜(x1,y
0)を変更する処理手順を示す全体フローチャート。
【図8】ステップ110における変数addr0で始まる要
素の長さの設定と変数newaddrの設定との処理手順を示
すフローチャート。
【図9】ステップ112における変数addr1で始まる要
素の長さの設定と変数addr1の値の設定変更との処理手
順を示すフローチャート。
【図10】ステップ113における中間データの変更に
伴う中間データの移動処理手順を示す図。
【図11】連結リストを用いた中間データ構造を示す
図。
【図12】連結リストを用いた場合でのスキャンライン
(x0,y0)〜(x1,y0)を変更する処理手順を
示す図(その1)。
【図13】連結リストを用いた場合でのスキャンライン
(x0,y0)〜(x1,y0)を変更する処理手順を
示す図(その2)。
【符号の説明】
1…ジョブ出力制御部 2a〜2c…デコンポーザ 3a〜3c…プリンタ制御部 4a〜4c…プリンタ
5…判別部 6…分割部 7…分割出力制御部 8…中間形式変換部
8a…更新部 9…中間データメモリ 10…展開部 11…メモリ
N…ネットワーク
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 1/387 H04N 1/41 Z 1/41 9288−5L G06F 15/20 566Z

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 所定の記憶容量を有した記憶部をもち、
    出力部で出力可能なサイズより大きなページサイズの画
    像情報を分割して出力することができる画像出力装置に
    おいて、 入力された画像情報が前記出力部で出力可能なページサ
    イズより大きいか否かを判別する判別手段と、 前記判別手段が前記出力部で出力可能なページサイズよ
    り大きなページサイズであると判断した場合に、該ペー
    ジサイズの画像情報を、最終的に展開される展開データ
    を基に所定の形式により圧縮された中間形式のデータを
    含む中間データに変換する変換手段と、 前記変換手段により変換された中間データを、前記出力
    部で出力可能なページサイズ毎に分割する分割手段と、 前記分割手段で分割した中間データを順次展開して前記
    出力部から出力させる出力制御手段とを具備したことを
    特徴とする画像出力装置。
  2. 【請求項2】 前記変換手段は、中間データの一部を更
    新する更新手段を具備し、 該更新手段により順次更新を行うことにより最終的な中
    間データに変換することを特徴とする前記請求項1記載
    の画像出力装置。
JP7205962A 1995-08-11 1995-08-11 画像出力装置 Pending JPH0952392A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7205962A JPH0952392A (ja) 1995-08-11 1995-08-11 画像出力装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7205962A JPH0952392A (ja) 1995-08-11 1995-08-11 画像出力装置

Publications (1)

Publication Number Publication Date
JPH0952392A true JPH0952392A (ja) 1997-02-25

Family

ID=16515597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7205962A Pending JPH0952392A (ja) 1995-08-11 1995-08-11 画像出力装置

Country Status (1)

Country Link
JP (1) JPH0952392A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009000817A (ja) * 2007-06-19 2009-01-08 Casio Electronics Co Ltd 印刷装置
JP2009049978A (ja) * 2007-06-29 2009-03-05 Konica Minolta Systems Lab Inc 印刷装置におけるトラッピングのシステム及び方法
US20200134405A1 (en) * 2018-10-26 2020-04-30 Xerox Corporation Methods and systems for handling printing of large-size objects

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009000817A (ja) * 2007-06-19 2009-01-08 Casio Electronics Co Ltd 印刷装置
JP2009049978A (ja) * 2007-06-29 2009-03-05 Konica Minolta Systems Lab Inc 印刷装置におけるトラッピングのシステム及び方法
US20200134405A1 (en) * 2018-10-26 2020-04-30 Xerox Corporation Methods and systems for handling printing of large-size objects
CN111098612A (zh) * 2018-10-26 2020-05-05 施乐公司 用于处理大尺寸对象打印的方法和系统
US11042790B2 (en) * 2018-10-26 2021-06-22 Xerox Corporation Methods and systems for handling printing of large-size objects
CN111098612B (zh) * 2018-10-26 2022-08-09 施乐公司 用于处理大尺寸对象打印的方法和系统

Similar Documents

Publication Publication Date Title
US5970216A (en) Image processing system which synthesizes a generated first image signal with a second image signal selected from a plurality of input image signals
EP0469851B1 (en) Image processing apparatus
JP2003312068A (ja) 画像処理方法及びその装置
JP4681975B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、及び該プログラムが記録された記録媒体
JPH111029A (ja) カラープリントシステム,カラープリンタ,及びコンピュータが実行可能なプログラムを格納したコンピュータが読取可能な記録媒体
JPH0952392A (ja) 画像出力装置
JP2003084933A (ja) 画像処理装置およびプログラム
JP3772407B2 (ja) 画像処理装置
JP2885900B2 (ja) 印刷制御装置および印刷制御方法
JP4336470B2 (ja) 描画制御装置および描画制御方法およびプログラム
US6246795B1 (en) Image processing apparatus and method
JPH11203070A (ja) プリンタ制御装置
JP2001169120A (ja) 画像処理装置及びその方法、及び画像処理システム
JP6775558B2 (ja) 画像伸長装置及びその制御方法及びプログラム
JP2009194458A (ja) 画像処理装置及び画像処理方法
JP3211711B2 (ja) 描画装置、描画方法、プリンタおよび画像表示装置
JPH06208442A (ja) 画像処理システム
JP3236053B2 (ja) 画像処理システム及び画像処理方法
JPH11187261A (ja) 画像処理装置
JP3297448B2 (ja) 画像処理装置及び画像処理方法
JPH05266154A (ja) 画像処理方法
JP2000255116A (ja) 印刷処理装置および印刷処理方法
JP2002132466A (ja) 画像出力装置、画像出力システム、画像処理方法及び記憶媒体
JPH1158871A (ja) 画像形成システム及び該システムにおける情報処理装置、画像形成装置およびそれらの制御方法
JPH07117302A (ja) 画像出力装置