[go: up one dir, main page]

JPH10147018A - 印刷装置及びメモリ管理方式 - Google Patents

印刷装置及びメモリ管理方式

Info

Publication number
JPH10147018A
JPH10147018A JP8306564A JP30656496A JPH10147018A JP H10147018 A JPH10147018 A JP H10147018A JP 8306564 A JP8306564 A JP 8306564A JP 30656496 A JP30656496 A JP 30656496A JP H10147018 A JPH10147018 A JP H10147018A
Authority
JP
Japan
Prior art keywords
band
data
memory
processing
print
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
JP8306564A
Other languages
English (en)
Inventor
Keisuke Mitani
圭介 三谷
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP8306564A priority Critical patent/JPH10147018A/ja
Priority to DE69736542T priority patent/DE69736542D1/de
Priority to EP97120103A priority patent/EP0843279B1/en
Priority to US08/972,433 priority patent/US6052200A/en
Publication of JPH10147018A publication Critical patent/JPH10147018A/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/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1894Outputting the image data to the printing elements
    • G06K15/1896Outputting the image data to the printing elements by means of alternately addressed storages
    • 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/12Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers
    • 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/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1857Generation of the printable image characterized by its workflow involving parallel processing in the same printing apparatus
    • 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/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1863Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by rasterizing in sub-page segments
    • 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/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 記憶装置の容量をある程度低く抑えると共に
プリントオーバーランを防ぎ、またメモリデッドロック
が起きない処理を行なうことにより、確実に全てのペー
ジの印刷ができることを保証された印刷装置を安価に実
現する。 【解決手段】 印刷データを中間データでバンド毎に管
理し(3.1)、バンディング出力する(3.7)。プ
リントオーバーランするバンドについては一時的なバン
ドラスタを確保して印刷出力実行前にレンダリングする
(3.2)。メモリ空き容量不足により一時的なバンド
ラスタが確保できない場合は通常バンドラスタにレンダ
リングして圧縮し、圧縮データとしてバンドを管理する
(3.3)。メモリデッドロック時には複数の圧縮方式
から適当な方式を選択して全バンドを圧縮する(3.4
〜3.6)。すべての状態で全バンド圧縮ができるかど
うかを判断し、処理不可能になる前に全バンド圧縮処理
を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、中間データから
ビットマップデータを生成して印刷するレーザビームプ
リンタ等の印刷装置及びそれら印刷装置におけるメモリ
管理方式に関するものである。
【0002】
【従来の技術】従来より、ホストコンピュータなどから
印刷内容や印刷形式に関するデータ(印刷データ)を受信
して、それを元に実際に出力するビットマップを形成
(以後レンダリングとする)し、そのビットマップを例え
ば紙面上に印刷出力(以後シッピング)するタイプの印刷
装置が広く使われている。
【0003】このようなタイプの印刷装置でレンダリン
グとシッピングを同時に行なった場合、複雑な印刷デー
タや、多量の印刷データを処理する場合、レンダリング
処理にかかる時間がシッピング処理に行なうビットマッ
プデータ転送時間より長くかかってしまい、正常に印刷
出力できないという欠点があった。(以後、この現象を
プリントオーバーランと称する)。
【0004】また、このプリントオーバーラン現象を回
避するために、1ページ分の出力ビットマップをレンダ
リングしてからシッピング処理を行なうタイプの印刷装
置もあったが、この場合必ず1ページ分のビットマップ
を保持する記憶装置が必要となり、出力解像度が高い印
刷装置などでは記憶装置の容量を大きくしなければなら
ないため、装置が非常に高価なものになってしまう欠点
がある。
【0005】また、1ページをそれより小さな単位(バン
ド)で区切り、1バンド分のレンダリングを終えてからシ
ッピングし、シッピング処理と並列に次のバンドのレン
ダリングを行なう(バンディング処理)タイプの印刷装置
もあるが、この場合、並列に行なっている次のバンドの
レンダリング時間が、前のバンドのシッピング時間より
大きくなってしまう場合、やはりプリントオーバーラン
現象が起きてしまうという欠点があった。
【0006】また、レンダリングされたビットマップを
確保する記憶装置以外に1ページ分の印刷データを確保
する記憶装置が必要であるため、記憶装置の記憶容量が
不足した場合、1ページ分の印刷データを処理できない
という現象(以後メモリデッドロックと称す)が起きてし
まうという欠点もあった。
【0007】
【発明が解決しようとする課題】本発明は以上のような
従来の欠点を除去するためになされたもので、記憶装置
の容量をある程度低く抑えると共にプリントオーバーラ
ンを防ぎ、またメモリデッドロックが起きない処理を行
なうことにより、確実に全てのページの印刷ができると
いう保証を安価に実現する印刷装置を提供することを目
的としている。
【0008】
【課題を解決するための手段】本発明の印刷装置及びメ
モリ管理方式は、レンダリング所要時間を計算するよう
な印刷処理において、 ・印刷データをバンド単位で管理するメモリ管理処理 ・印刷データのメモリ内でのサイズの計算する処理 ・複数のバンドラスタを管理するメモリ管理処理 ・メモリ内に管理するバンドラスタ数を可変させるメモ
リ管理処理 ・イメージをデータ変換して管理するメモリ管理処理 ・メモリ状況に応じてデータ変換するかどうかを判断す
る処理 ・データ変換後のメモリ内でのデータサイズを計算する
処理 を設けたものである。
【0009】また、本発明の印刷装置及びメモリ管理方
式は、レンダリングタイミングを変えるためにバンドラ
スタ数を可変させることを特徴とするものである。
【0010】また、本発明の印刷装置及びメモリ管理方
式は、データ変換が圧縮動作であることを特徴とするも
のである。
【0011】また、本発明の印刷装置及びメモリ管理方
式は、データ変換が解像度低下であることを特徴とする
ものである。
【0012】また、本発明の印刷装置及びメモリ管理方
式は、データ変換が階調低下であることを特徴とするも
のである。
【0013】また、本発明の印刷装置及びメモリ管理方
式は、バンド単位にデータ変換するかどうかを決定する
ことを特徴とするものである。
【0014】また、本発明の印刷装置及びメモリ管理方
式は、メモリ状況に応じて複数のデータ変換を選択する
ことを特徴とするものである。
【0015】また、本発明の印刷装置及びメモリ管理方
式は、データ変換後のデータサイズは、圧縮方式に基づ
いた圧縮後のメモリ内でのサイズを予想して計算するこ
とを特徴とするものである。
【0016】
【発明の実施の形態】
実施形態1 図1(装置の説明)の説明 本実施形態の構成を説明する前に、本実施形態を適用す
るのに好適なレーザビームプリンタ(ページプリンタ)の
構成について図1を参照しながら説明する。
【0017】なお、本実施形態を適用する印刷装置は、
レーザビームプリンタに限られるものではなく、インク
ジェットプリンタ等の他のプリント方式の印刷装置でも
良いことはいうまでもない。
【0018】図1は本発明を適用可能な第1の出力装置の
構成を示す断面図であり、例えばレーザビームプリンタ
(LBP)の場合を示す。
【0019】図において、1000はLBP本体であり、外部
に接続されているホストコンピュータから供給される印
刷データ(文字コード、制御コード等からなるページ記
述言語等のプリンタ言語)やフォーム情報あるいはマク
ロ命令等を入力して記憶するとともに、それらの情報に
したがって対応する文字パターンやフォームパターン等
のビットマップデータを作成し、記録媒体である記録紙
等に像を形成する。1012は操作のためのスイッチ及びLE
D表示器等が配されている操作パネル、1001はLBP本体10
00全体の制御及びホストコンピュータから供給される印
刷データ等を解析するプリンタ制御ユニットである。
【0020】このプリンタ制御ユニット1001は、主に文
字情報(文字コード)を対応する文字パターンのビデオ信
号に変換してレーザドライバ1002に出力する。
【0021】レーザドライバ1002は半導体レーザ1003を
駆動するための回路であり、入力されたビデオ信号に応
じて半導体レーザ1003から発射されるレーザ光1004をオ
ン・オフ切り換えする。
【0022】レーザ光1004は回転多面鏡1005で左右方向
に振られて静電ドラム1006上を操作露光する。
【0023】これにより、静電ドラム1006上には文字パ
ターンの静電潜像が形成されることになる。この潜像
は、静電ドラム1006周囲に配設された現像ユニット1007
により現像された後、記録紙に転写される。ここで静電
ドラム1006の回転速度は一定である。
【0024】この記録紙にはカットシートを用い、カッ
トシート記録紙はLBP1000に装着した用紙カセット1008
に収納され、給紙ローラ1009および搬送ローラ1010と搬
送ローラ1011とにより、装置内に取り込まれて、静電ド
ラム1006に供給される。
【0025】またLBP本体1000には、図示しないカード
スロットを備え、内蔵フォントに加えてオプションフォ
ントカード、プリンタ言語系の異なる制御カード(エミ
ュレーションカード)を接続できるように構成されてい
る。
【0026】図2(構成ブロック図)の説明 図2は本発明の一実施形態を示すプリンタ制御システム
の構成を説明するブロック図である。ここでは、レーザ
ビームプリンタ(図1)を例にして説明する。
【0027】なお、本発明の機能が実行されるのであれ
ば、単体の機器であっても、複数の機器からなるシステ
ムであっても、LAN等のネットワークを介して処理が行
なわれるシステムであっても本発明を適用できることは
言うまでもない。
【0028】図において、2.1はホストコンピュータ
で、所定のインターフェース(例えば双方向インターフ
ェース)を介して印刷装置2.2に接続されて通信処理を実
行する。
【0029】2.2は本実施例を説明する印刷装置であ
る。
【0030】2.3はホストコンピュータ2.1との間の通信
処理を行なう入力部である。入力部はホストコンピュー
タ2.1より印刷データを受信する処理を行なう。ここで
必要ならば印刷装置2.2の情報をホストコンピュータ2.1
へ送信する処理を行なってもよい。
【0031】2.4は印刷データを、印刷装置内部で扱い
やすい形である中間データに変換する処理を行なう中間
データ作成部である。
【0032】2.5は本発明で使用する記憶装置の一例と
してのRAMを示している。RAMでは入力部2.3で受信した
印刷データより導き出された中間データを保持したり、
中間データをレンダリングした結果のビットマップを保
持したり、その他処理に必要な一時的なバッファエリア
や、各種処理ステータスを保持したりする。
【0033】2.6は本実施形態で説明する処理や、その
他印刷装置2.2の行なう処理プログラムを保持するROMで
ある。
【0034】2.7はRAM2.5に格納された中間データの内
容に従って、実際に印刷出力する印刷イメージを作成す
るレンダリング部である。
【0035】2.8はビットマップイメージを圧縮した
り、圧縮されたビットマップイメージを伸長する処理を
行なう圧縮/伸長部である。
【0036】2.9はレンダリング部2.6で作成された印刷
イメージや、圧縮/伸長部2.7で伸長されたイメージを例
えば実際の紙面へ印刷出力する出力部である。
【0037】2.10は本発明の実施例である印刷装置2.2
の印刷処理や後述するデータ処理を実際に行なうCPUで
ある。
【0038】2.11は本印刷装置の各部を接続する内部バ
スである。
【0039】以後、ROM2.6に蓄えられたプログラムによ
ってCPU2.10が行なう処理について、まず図3〜図14を用
いて印刷装置2.2内のデータ処理方法について説明し、
その後図15以降の図を用いて処理の詳細をフローチャー
トで説明する。
【0040】図3(状態遷移図)の説明 図3は本発明の実施形態である印刷装置2.2の、処理手順
の移り変わりを説明した状態遷移図である。
【0041】本発明の実施形態は主に5つの状態からな
り、プリントオーバーラン、メモリデッドロックを完全
に回避して全ての印刷データを出力可能になることを保
証している。
【0042】状態3.1は、ホストコンピュータ2.1から入
力部2.2で受信された印刷データを中間データ形式でRAM
2.5へ貯める処理状態を示している。1ページ分の印刷デ
ータを受信し終った場合内部処理は状態3.7へと遷移
し、中間データに従って実際に紙面へ印刷出力する。状
態3.1の処理については図4〜図7で、また状態3.7の印刷
出力処理については図24で説明する。
【0043】状態3.1で中間データを格納するRAMが不足
(メモリデッドロック)した場合、内部処理は状態3.4〜
3.6へと遷移する。状態3.4〜3.6ではページ全体を圧縮
することによりメモリを空け、デッドロックを回避す
る。またそれぞれは圧縮方式が異なっており、状態3.1
でそれらの特徴を考慮してどの処理を行なうべきかを判
断する。この判断については図18で詳しく説明する。
【0044】一方状態3.1で中間データ1ページ分格納後
プリントオーバーランの可能性をチェックし、オーバー
ランする場合はその回避処理を行なうために状態3.2へ
と遷移し、回避処理後状態3.7で印刷出力する。オーバ
ーランのチェックや状態3.2の処理については図8以降で
説明する。
【0045】状態3.2では、オーバーラン回避処理のた
めにメモリデッドロックが起る可能性があり、その場合
状態3.3へと遷移してバンド圧縮処理によりデッドロッ
クを回避する。バンド圧縮処理が完了したら状態3.7で
印刷出力し、回避できなかった場合は状態3.4以降のペ
ージ圧縮処理へと遷移する。バンド圧縮処理時の動作な
どは図10以降で説明する。
【0046】図4(データ入力メモリ図)の説明 図4は本発明の実施形態である印刷装置2.2の印刷データ
受信時のメモリ処理について説明する図である。
【0047】図の4.4〜4.7は印刷装置2.2内のRAM2.5を
示している。
【0048】ホストコンピュータ4.1から受信部4.2へ印
刷データが通信転送されると、そのデータは中間データ
作成部4.3で中間データに変換されてRAM内の中間データ
格納領域4.6へと保管される。中間データの構造につい
ては、次の図5で詳細に説明する。
【0049】また、RAMには中間データ格納領域4.6の他
に2つの「バンドラスタ」と呼ばれる領域バンドラスタ1
(4.4)、バンドラスタ2(4.5)が用意されている。この領
域は通常の印刷処理で、中間データをレンダリングして
得られる、印刷出力するべき出力イメージを蓄えておく
領域である。この領域については図6で説明する。
【0050】RAMの残りの部分は空きメモリ4.7である。
印刷データを受信していな状態では、中間データ作成領
域4.6には1つも中間データが存在しないので、RAM内に
はバンドラスタ14.4、24.5以外は全て空きメモリ4.7と
なっている。
【0051】また1ページ分の中間データを中間データ
格納領域4.6へ格納してもまだ空きメモリ4.7がある場
合、格納し終ったページの印刷出力処理と平行して次の
ページの中間データを引き続き格納することにより、メ
モリ容量一杯まで連続した印刷データを受信することが
できる仕組みとなっている。
【0052】以下に中間データ格納領域4.6内での中間
データの管理構造を説明する。
【0053】図5(中間データ構造)の説明 図5は、本実施形態の印刷装置の中間データの構造及び
管理形式について説明した図である。
【0054】本発明に基づく実施形態である印刷装置
は、1枚の出力ページを幾つかの小領域(バンド)で区切
って、それぞれのバンドのレンダリングと印刷出力を並
列処理で同時に行なう。そのため本実施形態では印刷デ
ータをバンド単位で管理するために、印刷データを中間
データという管理しやすい形式で管理する。並列処理に
ついては、以後に図6などを用いて説明する。
【0055】まず5.1は出力用紙1ページ分をあらわし、
それぞれバンド1、バンド2と名付けられたバンドに区切
られている。バンドは図にあるように用紙搬送方向に垂
直になるように配置されている。また、それぞれのバン
ドは同面積を持つように区切られているため、用紙出力
時のバンドの静電潜像時間は一定である。
【0056】今印刷装置が、出力用紙5.1にあるように1
つの文字「あ」と斜めの直線1本が描かれるような印刷
データを受信したとすると、その中間データは以下のよ
うな構造になる。
【0057】まず中間データは5.2〜5.4で示される中間
データ管理テーブルにつながれる。中間データ管理テー
ブル5.2〜5.4はバンド数分だけあり、それぞれのバンド
内に描画されるべき中間データをリンク構造で保持す
る。
【0058】ここで文字「あ」はバンド2内に描かれる
べき文字なので、その中間データ5.5〜5.8はバンド2の
中間データ管理テーブル5.3につながれている。そして
その構造は、中間データの種類を示す領域、描画位置を
示す領域、その他描画に関する情報などを、それぞれの
中間データの種類によって必要なだけ保持する。文字
「あ」の中間データは、中間データの種類が文字である
ことを示す5.5、「あ」を描画する描画位置5.6、描画す
る文字が「あ」であることを示す文字コード5.7、例え
ば太文字や袋文字、文字色など文字の修飾方法に関する
情報5.8からなっている。
【0059】別の例として、用紙5.1に描かれる直線に
ついては、バンド2〜バンド3にまたがって描画されるた
め、中間データは2つ作成され、それぞれバンド2の中間
データ管理テーブル5.3とバンド3の中間データ管理テー
ブル5.4につながれる。
【0060】このように管理される中間データは、印刷
出力時にはそれぞれのバンド毎にレンダリングされ、印
刷出力される。
【0061】図6(バンディングメモリ図)の説明 図6は中間データ形式で格納された印刷データを実際に
印刷出力するときのバンドに関する処理を説明した図で
ある。
【0062】今まで述べたように中間データ格納領域6.
3にバンド別に管理されて格納された中間データは、各
バンド毎にレンダリング部6.4によってレンダリングさ
れる。レンダリングによって得られた印刷イメージはバ
ンドラスタ1(6.1)とバンドラスタ2(6.2)のどちらかに格
納され、印刷部6.5に送られて紙面上に印刷出力され
る。
【0063】これらの処理は後で図24で説明する。
【0064】図7(バンディングタイミング)の説明 印刷イメージを6.1と6.2のどちらのバンドラスタに格納
するかは、図7を用いて説明する。
【0065】図7は縦軸に時間経過をあらわし、レンダ
リング部、出力部のそれぞれの処理内容、及びバンドラ
スタ1、バンドラスタ2の保持している出力イメージにつ
いての時間的変化を示したタイムチャートである。
【0066】以下、図を時間軸に沿って説明する。
【0067】まず時間t0〜t1でレンダリング部は、用紙
の最初に印刷出力される最上部であるバンド1のレンダ
リングを行ない(7.1)、その結果得られた出力イメージ
をバンドラスタ1へと格納する(7.8)。
【0068】次にt1で静電ドラム1006の回転をスタート
させる(以後印刷出力開始と表現する)。
【0069】時間t1以降では、レンダリング処理と印刷
出力処理を並列に行なう。ここで各バンド面積が一定
で、かつ静電ドラム1006の回転速度も一定なことより、
各バンドの印刷出力時間(時間t2-t1、時間t3-t2、...)
は一定であり、それは静電ドラム1006の回転速度によっ
て決まる。
【0070】時間t1〜t2では、既にバンドラスタ1へ格
納されているバンド1の印刷イメージを印刷部が印刷出
力する処理(7.15)と、レンダリング部が中間データ格納
領域に格納されているバンド2の中間データをレンダリ
ングしバンドラスタ2へ印刷イメージを格納する処理(7.
12)を並列で行なう。
【0071】同様に時間t2〜t3ではバンド2が印刷出力
され(7.16)、バンド3がバンドラスタ1へ出力イメージ展
開される(7.9)。
【0072】以後それらを繰り返し、最終的に時間t7〜
t8でバンド7の印刷出力を行ない(7.21)、1ページ分の印
刷を完了する。
【0073】以上の方式によりバンドラスタが2バンド
あればよく、1ページ分の出力イメージを格納するのに
必要なメモリサイズよりはるかに少ないメモリで印刷出
力処理を行なうことができる。なおバンドラスタは2つ
に限るわけではなく、3つ以上であっても良いことは言
うまでもない。
【0074】ここで先に述べたように各バンドの印刷出
力時間は静電ドラム1006の回転速度に依存して一定だ
が、各バンドのレンダリングに要する時間はその中間デ
ータにより変化する。そのためあるバンドの中間データ
が非常にレンダリングに時間がかかるタイプのものであ
った場合、バンドのレンダリング時間が印刷出力時間よ
り大きくなってしまい、印刷出力処理が失敗してしまう
ことがる(プリントオーバーラン)。
【0075】そこで本実施形態では、次のようにその障
害を回避する。
【0076】図8(プレレンダリングメモリ図)の説明 図8はプリントオーバーランを回避するためのメモリ処
理について説明した図である。ここでは例としてバンド
4のレンダリング時間がバンド出力処理時間を越えてい
るケースを考える。
【0077】Aは中間データを1ページ分中間データ格納
領域に格納し終ったあとのメモリマップを示している。
【0078】この時点でプリントオーバーランするバン
ドを予測し、そのバンド数分だけ一時的なバンドラスタ
を確保する。今回の例ではバンド4だけがオーバーラン
することが予測されるので、空きメモリ8.5の一部に1つ
の一時的バンドラスタ8.4を確保する。オーバーランす
るバンドの予測方法については、後で図15と図19を用い
て詳細に説明する。
【0079】また、これらの処理手順については後で図
22でフローチャートを用いて詳細に説明する。
【0080】そして図のBのように、レンダリングをバ
ンドラスタ18.6、バンドラスタ28.7、一時的バンドラス
タ8.10に対して適切に行ない、印刷出力もそれら3つの
バンドラスタから行なうことによりプリントオーバーラ
ンを回避する。これらの処理は後で図24で説明する。
【0081】それぞれのバンドのレンダリング、印刷出
力タイミングとバンドラスタの使われ方については、次
図を用いて説明する。
【0082】図9(プレレンダリングタイミング)の説明 図9はプリントオーバーランを回避するための処理にお
ける、一時的なバンドラスタを用いたレンダリング、印
刷出力のタイミングについて説明したタイムチャートで
ある。
【0083】この処理では図7で説明したタイミングと
は異なり、印刷出力開始前に2つのバンドについてレン
ダリングを行なう。
【0084】まず時間t0〜t1をでプリントオーバーラン
すると予測されたバンド4の中間コードをレンダリング
し(9.1)、その結果得られる出力イメージを一時的バン
ドラスタへと格納する(9.14)。
【0085】次に通常と同じく時間t1〜t2で最初に印刷
出力されるバンドであるバンド1についてレンダリング
を行ない(9.2)、出力イメージをバンドラスタ1へ格納す
る(9.8)。
【0086】そして時間t2で印刷出力を開始する。
【0087】時間t2以降は先に図7で述べたタイミング
と同様に各バンドのレンダリングと印刷出力を並列に処
理していく。
【0088】そして図7ではバンド4をレンダリングして
いた時間t4〜t5ではレンダリングを行なわず、バンド4
を印刷出力する時間t5〜t6では、既に一時的バンドラス
タにレンダリングしてあるバンド4の出力イメージを印
刷出力する(9.18)。
【0089】このように一時的なバンドラスタを用意
し、レンダリングタイミングを変えることでプリントオ
ーバーランを回避することができる。
【0090】しかし、ここでプリントオーバーランする
バンド数が多かったり印刷装置のRAM容量が少ない低価
格機種などでは、メモリ容量不足により必要とするバン
ド数分の一時的なバンドラスタを確保することができな
くなってしまう場合がある。
【0091】このような場合を本実施形態では次に述べ
る方法で回避する。
【0092】図10(プレレンダリング圧縮メモリ図)の説
明 図10は、メモリ容量不足により一時的なバンドラスタを
確保できない場合のメモリ処理を示す図である。
【0093】図のAでは印刷出力を開始する前に行なう
処理について示してある。一時的なバンドラスタを確保
できない場合にはまず、プリントオーバーランすると予
測されたバンドをバンドラスタにレンダリングする(10.
3)。そして得られた出力イメージを圧縮/伸長部10.5の
圧縮機能を使ってイメージ圧縮し、圧縮データ10.6とし
て空きメモリ10.7へと格納する(以後バンド圧縮処理と
する)。
【0094】圧縮データ10.6の大きさは通常のバンドラ
スタより圧縮した分小さいので、空きメモリ10.7の容量
不足によりプリントオーバーランを回避できない可能性
は軽減される。これらのメモリ処理の手順は後で図23で
フローチャートを使って詳細に説明する。
【0095】そして印刷出力時には図のBのように、通
常のバンドは2つのバンドラスタ1、2(10.8、6.9)を使っ
てレンダリング(10.10)/印刷出力(10.14)し、圧縮デー
タ10.13として格納されたバンドについては圧縮伸長部1
0.12の伸長機能を使って伸長しながら印刷出力する。こ
れらの処理手順は後で図24で説明する。
【0096】図11(プレレンダリング圧縮タイミング)の
説明 図10で説明した処理方式に基づいてレンダリング、印刷
出力を行なうタイミングを、図11のタイムチャートを用
いて説明する。この図でも例としてバンド4がプリント
オーバーランすると予測されたとする。
【0097】まず印刷出力を開始する前に時間t0〜t2の
間にプリントオーバーランするバンド4をバンドラスタ1
へレンダリングし(11.8)、得られた出力イメージを圧縮
/伸長部の圧縮機能を用いて圧縮し(11.17)、圧縮データ
をとしてRAMへ格納する(11.16)。
【0098】以降図7で説明したタイミングと同様に、
時間t3〜t4で先頭のバンド1をレンダリングし(11.9)、
印刷出力を開始する。
【0099】プリントオーバーランすると予測されたバ
ンド以外のバンドはレンダリング、印刷出力を並列して
行なうが、オーバーランすると予測されたバンド4につ
いては圧縮データを伸長してバンドラスタ2へと格納す
る(11.18)。
【0100】以上の処理で、図8で説明した一時的なバ
ンドラスタを確保できないためにオーバーランを回避出
来ない可能性は軽減される。
【0101】しかしここでバンドの伸長処理時間(時間t
6〜t7)はバンドの印刷出力処理時間より短くなければ、
伸長処理によりプリントオーバーランしてしまう。ここ
で圧縮/伸長部は、その伸長処理時間によりプリントオ
ーバーランしないスピードを持った方式を選択しなけれ
ばならない。一般的には伸長スピードの速い圧縮方式を
使うか、伸長処理をハードウエアを使うなどして高速化
する必要がある。
【0102】また、以上の方法でも完全にプリントオー
バーランが防げるわけではなく、オーバーランするバン
ド数が多かったり圧縮データの圧縮率が悪かったりする
場合、圧縮データをRAM内に確保する容量が不足する場
合がある。
【0103】また、ここまでの説明ではRAM内に1ページ
分の中間コードを保管できる前提できたが、中間コード
が非常に大きい場合は、中間コードの保管が出来ないた
めに印刷処理ができなくなるケースもある。
【0104】本実施形態ではそれらのRAM容量不足にな
る状況を、以下の処理で回避する。
【0105】図12(ページ圧縮メモリ図)の説明 図12はRAM容量不足により、中間データを格納出来なか
ったり、プレレンダリング回避処理で一時的なバンドラ
スタや圧縮データを格納できなかったりする場合のメモ
リ処理を説明する図である。
【0106】図のAはRAM容量不足時の処理を示してい
る。
【0107】RAM容量不足時には、1つだけバンドラスタ
112.1を使い、まず全てのバンドの中間データについて
バンドラスタにレンダリングする(12.2)。次にバンドラ
スタ12.1を図の点線のように2分割してそれぞれを新た
なバンドとして圧縮/伸長部12.3の圧縮機能で圧縮デー
タに変換し、その後圧縮データ格納領域12.5へ格納する
(以後ページ圧縮とする)。ここで図にある通り、圧縮デ
ータ格納領域12.5と中間データ格納領域12.6は同じRAM
上にあり、圧縮したバンドをRAMに格納すると同時に中
間データを消去することにより領域を使い分ける。そし
て最終的に中間データ格納領域12.6のサイズは0にな
る。
【0108】一方中間データが大きすぎてRAM容量不足
になった場合はまだ1ページ分の中間データを格納し終
っていないので、圧縮処理により空いたRAM内に再度中
間データ格納領域12.6を作成して中間データを管理す
る。そして再びRAM容量が不足した時や1ページ分の印刷
データを受信し終った時には、それら中間データも先と
同様に分割圧縮し中間データ格納領域12.6のサイズは0
になる。この場合、中間データをバンドラスタ12.1にレ
ンダリングする前に圧縮伸長部12.4の伸長機能を使って
同じバンドに対応する2つの圧縮データを伸長しその上
にレンダリングを行なうことにより、同一バンドの印刷
イメージを作り上げていく。
【0109】また、全てのバンドを圧縮してもRAM容量
が不足するときは、更に圧縮率の高い圧縮方式で再度全
バンドを圧縮する。これらのメモリ処理の詳細は後で図
16で説明する。
【0110】印刷出力時には図のBのように圧縮データ
格納領域12.9に管理されている分割されたバンド毎の圧
縮出力イメージを、圧縮伸長部12.8の伸長機能でバンド
ラスタ12.7へ伸長し、印刷出力(12.10)する。この場合
も、バンドラスタ12.7は圧縮時と同様の大きさに分割し
て交互に使い回すことにより、通常のバンディングと同
様に印刷出力することができる。
【0111】これらの処理は後で図24で説明する。
【0112】今回はこのようにバンドラスタ12.7を2分
割して出力処理を行なう方式を説明したが、別の方法と
して例えばバンドラスタを分割せず、印刷出力時に全て
の中間データを圧縮することにより空いた領域(空きメ
モリ12.11)にバンドラスタ2を作成する方式でもよい。
【0113】このように本実施例は発明の実施形態とし
ての一例であり、ページ圧縮時の印刷出力方法が違って
いても基本的なメモリ管理方法としての発明の根幹には
違いはない。
【0114】図13(圧縮データ構造)の説明 上記処理により中間データは全て圧縮データに変換され
るが、その場合の圧縮データ格納領域の管理方法につい
て図13を用いて説明する。
【0115】全ての圧縮データはバンドに1つあり、そ
れらは中間データと同様に圧縮データ管理テーブル(14.
1〜14.3)によって管理される。
【0116】各バンドの圧縮データは、その複数の圧縮
方式のどのタイプで圧縮されたかを示す圧縮タイプ14.
4、14.6、実際の出力イメージの圧縮イメージ14.5、14.
7からなる。
【0117】図14(ページ圧縮タイミング)の説明 次に図14を用いてページ圧縮処理における印刷出力処理
のタイミングを説明する。
【0118】ページ圧縮処理を行なった場合は、図7で
説明したものとほぼ同じタイミングで印刷出力処理を行
なう。
【0119】まず時間t0〜t1で圧縮伸長部がバンド1の
圧縮データ14.1をバンドラスタ1へ伸長し(14.8)、その
後印刷出力をスタートする。以後は圧縮されたバンドの
伸長と印刷出力を並列に処理し、バンド7の印刷出力を
終えて1ページ分の処理を終える。
【0120】ここでバンドの伸長処理にかかる時間は、
既に図11を用いてで説明したようにバンドの印刷出力に
かかる時間より短い伸長方式または伸長回路を使用する
ことが前提である。
【0121】ここまでの処理によって、全ての印刷デー
タをメモリデッドロック、プリントオーバーランなしに
処理することができる。
【0122】図15(1ページの印刷手順)の説明 図15は本発明の一実施例を示すプリンタ制御システム
の、1ページ分の印刷データを受信してから印刷出力す
るまでの手順を示したフローチャートである。
【0123】ステップ15.1において、ホストコンピュー
タ2.1より転送され入力部2.3で受信された印刷データ
を、中間データ作成部2.4により中間データに変換す
る。
【0124】中間データの形式は、例えばレンダリング
部2.7で処理しやすい形式であったり、中間データのサ
イズが小さくなるような形式であったり、中間データの
処理が速くなるような形式であったりと、内部処理の都
合の良い形式であって良い。
【0125】(全バンド圧縮移行チェック)次にステップ
15.2において、RAM2.5に変換された中間データを格納す
るにあたってメモリ不足でないかどうかを判断する。メ
モリ不足かどうかは、実際の空きメモリサイズが足りて
いるかどうか以外にも、次に説明するページ圧縮処理を
実行できるかどうかという判断も行なう。この判断に
は、複数の圧縮処理のうちどの処理を行なうべきかとい
う判断も含まれる。
【0126】この判断方法については図18で詳細に説明
する。
【0127】(全バンド圧縮移行)ここでメモリ不足と判
定された場合ステップ15.3で、それまでに作成された全
ての中間データをレンダリングし、中間データを削除し
て、レンダリングしたビットマップイメージを指定の圧
縮方式で圧縮して圧縮データとしてRAM2.5に再格納する
ことにより、処理しようとしている中間データをRAM2.5
内に格納出来るだけの空きメモリを確保する。
【0128】この処理を行なうことによって、中間デー
タを作成する際のメモリデッドロックを起こさない保証
をすることができる。
【0129】この全ページの圧縮処理については図16で
説明する。
【0130】その後ステップ15.4で、処理中の中間デー
タを実際にRAM2.5内に格納する。
【0131】(プレレンダリングのための計算)次にステ
ップ15.5でプリントオーバーランを避ける処理のための
計算を行なう。
【0132】ステップ15.5ではステップ15.4で格納した
中間データのレンダリング処理にかかる時間を計算し、
それをバンド毎に集計することにより、バンド単位での
レンダリング時間を測定する。
【0133】もしメモリデッドロック回避のために1回
でもステップ15.3の全ページの圧縮処理を行なった場
合、圧縮データの伸長処理時間をバンド単位のレンダリ
ング時間として計算する。
【0134】また別の方法として既にステップ15.3のペ
ージ圧縮処理を行なった場合に、そのページが最終的に
中間オブジェクトを全てレンダリングし全てのバンドを
圧縮データの形式で保管するようにすると、ステップ1
5.3で求めるべきバンド単位の処理時間はバンド単位の
圧縮データの伸長時間であると言うことができる。
【0135】本実施例では後者の方式をとると共に、圧
縮/伸長処理に関して伸長処理を十分高速に処理できる
方式を採用する。こうすることにより、伸長処理により
プリントオーバーランになる可能性は決して有り得ない
と言える。またステップ15.5のレンダリング時間計
算においては、既にステップ15.3のページ圧縮処理
を行なったページについては、その計算を行う必要はな
くなる。
【0136】レンダリング時間計算については、図19で
詳細に説明する。次にステップ15.6で、印刷データを1
ページ分処理し終ったかどうかを判断し、まだページが
終了していない場合は次の印刷データについてステップ
15.1から処理を繰り返す。
【0137】(全バンド圧縮後処理)印刷データを1ペー
ジ分処理し終ったら、ステップ15.7において、そのペー
ジが1回でもページ圧縮処理(ステップ15.3)を行なった
どうかを調べ、先に述べたように全ての印刷データを圧
縮データとして保管するためにステップ15.11へと進
む。
【0138】ステップ15.11では、最後にページ圧縮処
理(ステップ15.3)を実行した後に作成された中間データ
について、レンダリング及び圧縮処理を行なう。この処
理はステップ15.3で行なうページ圧縮処理と同様の処理
で、図16で説明する。
【0139】そうして最終的に全てのバンドについて印
刷データが圧縮データの形式でRAM2.5に保管し、ステッ
プ15.14の印刷出力処理へと処理を移す。
【0140】(プレレンダリング処理)一方ステップ15.7
で一度もページ圧縮処理を行なわないと判断された場
合、ステップ15.8でプリントオーバーラン回避処理を行
なう。
【0141】プリントオーバーラン回避処理は、ステッ
プ15.5で計算したバンド毎のレンダリング時間がしきい
値を越えた場合、そのバンドを印刷出力前にレンダリン
グすることにより行なう。
【0142】ここでしきい値は、印刷処理における紙搬
送速度とバンドのサイズより、以下の式から求める。 しきい値=用紙搬送時間×バンド高さ÷用紙紙高さ−オ
ーバーヘッド ここで、 用紙搬送時間…印刷エンジンの特性により決まる1ペー
ジの用紙の搬送にかかる時間 用紙高さ…印刷用紙の用紙搬送方向の長さ バンド高さ…バンドの用紙搬送方向の長さ オーバーヘッド…1つのバンドのレンダリング処理にか
かる、レンダリング時間以外の要素 である。
【0143】本実施例ではこのような計算でしきい値を
求めるが、例えばしきい値は しきい値=用紙搬送時間×バンド高さ÷用紙紙高さ−オ
ーバーヘッド+(前のバンドのしきい値−前のバンドの
レンダリング時間) としてもよい。ここで前のバンドがプリントオーバーラ
ン対策している場合は、前のバンドのレンダリング時間
は0であるということができる。
【0144】またしきい値を求める別の方法として、し
きい値を直前のレンダリング終了時点からそのバンドの
レンダリングを開始しなければならない時点までの時
間、としてもよい。この場合も直前のレンダリング終了
時点とは、処理しているバンド以前の、最後にプリント
オーバーラン処理していないバンドのレンダリングが終
った時点のことである。
【0145】ステップ15.8ではバンド毎のレンダリング
時間がしきい値を越えた場合、そのバンドをレンダリン
グして得られるビットマップを保管するための一時的な
ラスタメモリを確保する。
【0146】これらのラスタメモリが確保できた場合、
印刷出力前にプリントオーバーランする全てのバンドの
中間データをそれぞれの一時的なラスタメモリに格納す
ることによって、全てのページにおいてプリントオーバ
ーランせずに印刷出力を行なうことができるようにな
る。このプリントオーバーラン対策処理は、図22で詳細
に説明する。
【0147】そしてステップ15.8の処理においてRAM2.5
内に全てのプリントオーバーラン対策のためのラスタメ
モリを確保するだけ容量の空き領域があるとステップ1
5.9で判断された場合、ステップ15.14でプリントオーバ
ーランする全てのバンドについてレンダリングした後、
実際に紙面に印刷出力する。この印刷出力処理は図24で
説明する。
【0148】(プレレンダリング圧縮処理)ステップ15.9
でプリントオーバーラン対策のラスタメモリが確保でき
ないと判断された場合、ステップ15.10において、プリ
ントオーバーランするバンドのレンダリングを行ない、
得られたビットマップイメージを圧縮し、圧縮データ形
式でRAM2.5内に保管する。
【0149】既に述べたように圧縮データの伸長時間は
本実施例では紙搬送速度より十分に高速であるため、圧
縮されたバンドがプリントオーバーランを起こすことは
ない。
【0150】そしてステップ15.12で、全てのプリント
オーバーランするバンドがRAM2.5内に収まったかどうか
を判断し、もしメモリ不足でないならステップ15.14の
印刷出力処理を行なう。
【0151】もし圧縮してもプリントオーバーランバン
ドがRAM2.5内に収まらなかった場合、ステップ15.13に
おいて、プリントオーバーランしないバンドも含めた全
てのバンドについて、ステップ15.3やステップ15.11と
同様のページ圧縮処理を行なう。この処理は図16で説明
する。
【0152】そして1ページの印刷データが中間デー
タ、または圧縮データの形式で、プリントオーバーラン
しない保証の元にRAM2.5内に収まった後、ステップ15.1
4で実際に紙面上に印刷出力する。この処理は図24で説
明する。
【0153】図16(全バンド圧縮)の説明 図16は、図15のステップ15.3、ステップ15.11、ステッ
プ15.13で説明した、RAM2.5の空き容量不足時に、全て
のバンドをレンダリングして更に圧縮して、印刷データ
を中間データの代りに圧縮データで保持するための処理
を説明したフローチャートである。
【0154】処理は全てのバンドについて行なっていく
が、各バンドは既にページ圧縮処理が行なわれている場
合はその結果得られる圧縮データと、最後にページ圧縮
処理を行なってから受信した印刷データに対する中間デ
ータの2つのデータ要素から成り立っている。もしペー
ジが一度も圧縮処理が行なわれていない場合、中間デー
タのみのである。
【0155】まずステップ16.1でこの後行なう圧縮処理
の圧縮形式を、以前と同様の形式にしておく。そしてス
テップ16.3〜ステップ16.10までをページの先頭のバン
ドから順に全てのバンドについて繰り返し処理を行な
う。
【0156】繰り返し行なう処理はまず、ステップ16.4
で処理しようとしているバンドが圧縮データを保持して
いるかどうかをチェックする。
【0157】保持していた場合ステップ16.5において、
その圧縮データが圧縮されている形式に合わせて圧縮/
伸長部2.8で伸長する。その後元あった圧縮データを削
除してRAM2.5の空き領域を少しでも増やす。得られるビ
ットマップデータは、通常の印刷出力時に使われるバン
ドラスタ領域を用いる。
【0158】そしてステップ16.6において、そのバンド
の中間データを上記ビットマップデータに追加してレン
ダリングする。その後それら中間データを削除して、更
にRAM2.5の空き領域を増やす。
【0159】最後にステップ16.7において、得られたビ
ットマップデータを指定された圧縮方式で圧縮/伸長部
2.8で圧縮し、RAM2.5へと再格納する。
【0160】図15のステップ15.2のメモリ不足判定によ
り、ここでRAM2.5の空き容量が不足することはないと予
想されているが、データによっては圧縮率が悪くメモリ
不足になってしまう。ステップ16.8でメモリ不足である
と判断された場合、ステップ16.9で圧縮形式を更に圧縮
率の良いものに変更して処理をステップ16.3からやり直
す。圧縮形式の変更については、後で図17にて説明す
る。
【0161】以上の処理をページ内の全てのバンドにつ
いて行なうように、ステップ16.10で全バンドを処理し
たかを判断する。
【0162】図17(複数の圧縮形式)の説明 図17は複数の圧縮形式を選択する方法の例について説明
した図である。
【0163】図のAは横軸は平均圧縮率を示し右に行く
ほど圧縮後のサイズが小さくなる。縦軸は圧縮処理にお
ける画質の劣化度を示していて、上に行くほど画質の劣
化が少なく、劣化なしの線以上は元の画質と変わらない
(LossLess圧縮)。
【0164】今、最初の圧縮方式を17.1としてページ圧
縮を行なっていてメモリ不足状態になった場合、次に圧
縮率の高い17.2の方式で再度ページ圧縮を試みる。それ
でもメモリ不足状態の場合、今度は17.3の方式、それで
もダメなら17.4方式、と変更していく。
【0165】最後にどうしてもメモリ不足になってしま
う場合、相当の画像劣化になるが例えば間引き処理など
確実にデータ変換後のサイズの計算できる方法でメモリ
不足を解決する。この図の場合確実にデータ変換後のサ
イズが1/4になる17.5の方式を採用する。
【0166】もちろんこの方式は、圧縮率が1/4の圧縮
方式でページ圧縮した場合は全てのバンドがメモリ内に
保管できるだけのメモリがあることが前提とすること
で、全ての印刷データをメモリデッドロックすることな
しに印刷処理ができることとなる。
【0167】また別の方法として図のBは、圧縮率を上
げるために例えばバンドパスフィルタなどの画像処理を
使う方式である。この方式では、メモリ不足にならない
状態までフィルタリングを繰り返すことによって、事実
上メモリ不足状態にはならない。
【0168】図18(全バンド圧縮移行判断)の説明 図18は図15のステップ15.2で行なう、ページ圧縮処理に
必要なメモリの空き領域が不足しているかどうかの判
断、及び実行すべき圧縮処理方法の選択方法について説
明した図である。この図は、ページ圧縮処理を行なう際
の、1バンド分の処理を示している。
【0169】図のAは、ページ圧縮処理行程におけるバ
ンドの圧縮データの伸長(図16のステップ16.2)、及び中
間データのレンダリング(同図ステップ16.3)処理の際の
RAM2.5の領域を模式的にあらわしている。
【0170】18.1はRAM2.5の空き領域を示し、18.2は処
理するバンドの圧縮データ、18.3は同バンドの中間デー
タ、そして18.4は他のバンドに関する印刷データを意味
する。ただしそのページに対してページ圧縮処理が初め
て行なわれる場合には、圧縮データ18.2は存在しない。
【0171】ページ圧縮処理行程では、まず処理するバ
ンドの圧縮データ18.2を伸長し、次に中間データ18.3を
レンダリングする。それぞれの処理以後は、圧縮データ
18.2、中間データ18.3は不必要となるので、Bのように
領域を解放することが可能である。そしてその後そのバ
ンドのビットマップデータを再度圧縮し、空き領域18.5
へと格納する。格納後の状態はCが示しており、18.8は
再格納した圧縮データをあらわす。
【0172】ページ圧縮処理はこれら一連の処理を全て
のバンドについて行なうが、ページ圧縮処理に必要なメ
モリサイズが不足しているかどうかは、それぞれのバン
ドについて、空き領域18.1及び18.7のサイズを調べれば
わかる。
【0173】ここで圧縮処理は、圧縮後のサイズが圧縮
するビットマップイメージのドット分布などの要素によ
り圧縮前には計算することが現実的に不可能であり、ま
た圧縮効率が圧縮方法によって異なるので、圧縮後のサ
イズ計算は圧縮方法により想定した予想の圧縮比で計算
する。
【0174】本実施例では、想定する圧縮比をその圧縮
方式の平均的な圧縮効率とする。もちろん他の方法で圧
縮後のサイズを想定することもできることは言うまでも
ない。
【0175】次に空き領域の測定方法を同図をつかって
述べる。
【0176】バンドkにおける空き領域のサイズ18.7を
Sk、そのバンドの圧縮データ18.2のサイズをBk、中間
データ18.3のサイズをPk、再圧縮後の予想圧縮データ
サイズ18.8をAk、とすると、バンド処理前の空き領域1
8.1のサイズS(k-1)と処理後の空き領域18.7のサイズS
kとの関係は図18より Sk=S(k-1)+Bk+Pk−Ak となる。また全てのバンドを処理する前の空き領域サイ
ズS0については、処理に使用できる全メモリサイズを
M、バンド数をn、とすることより S0=M−(B1+B2+...+Bn)−(P1+...+Pn) となる。ここで全てのバンドのBk、Pkは全て分ってお
り、Akは予想値を使うことにより、全てのSkが計算で
き、その最小値MIN(Sk)がページ圧縮処理のメモリ空き
容量の最小値となる。
【0177】図15のステップ15.2におけるページ圧縮処
理可能かどうかの判断は、このMIN(Sk)の値が0以上で
あるかどうかということよりわかる。
【0178】ここで、もしMIN(Sk)が0未満であった場
合ページ圧縮処理が不可能であるので、圧縮方法を別の
方式に切り換えて再計算する。
【0179】一般的に知られる圧縮処理の特徴として、
圧縮効率の良いものは処理スピードも遅く画像が劣化す
る度合いも大きい。その反面、効率の悪いものは処理ス
ピードが速く、画像劣化が少なく圧縮することができる
特徴を持っている(画像劣化のない圧縮方法もある)。
【0180】本実施例は、例えばMIN(Sk)が0以上とな
る圧縮方法のうち最も画像劣化の少ない圧縮方式を使用
することにより、画像劣化や速度劣化を最も少なく抑え
た上で、事実上確実にデッドロック状態を起こさずにペ
ージの印刷データを保持することを可能にしている。
【0181】図19(レンダリング時間計算)の説明 図19は、図15のステップ15.5で行なう、バンド単位のレ
ンダリング時間を計算する方法について述べたフローチ
ャートである。ここで求めるレンダリング時間は、図15
のステップ15.8のオーバーラン対策処理でしきい値と比
べるのに使われる。
【0182】まずステップ19.1において、印刷データを
メモリ内に格納する際に空きメモリ容量が不足と判断さ
れたため、図15のステップ15.3でページ圧縮処理を行な
ったかどうかを調べる。そのページがページ圧縮処理を
行なった場合、既に述べたようにステップ15.8のオーバ
ーラン対策処理は行なわれない。この場合、すぐに処理
を終了する。
【0183】次にステップ19.2において、中間データの
種類によってレンダリング時間計算方法を選択する。
【0184】例えば中間データの種類が、固定的にレン
ダリング時間が決まっているようなタイプのものである
場合は、例えば既にテーブルに保管しておいた中間デー
タに対するレンダリング時間の対応テーブルからレンダ
リング時間を求めるなどの処理を行なうステップ19.3に
分岐する。このようなタイプの処理については図20で説
明する。
【0185】他の例として、例えばイメージビットマッ
プのように、そのレンダリング処理は単純にメモリ内容
のコピーであるようなタイプの中間データの場合、計算
するレンダリング時間は中間データのサイズより求める
処理であるステップ19.4へと分岐する。
【0186】その他例えば、実際にレンダリングしてみ
ないとレンダリング時間の分らないようなタイプの中間
データの場合、時間測定のために実際にレンダリング処
理を実行するような処理であるステップ19.5に分岐す
る。このようなタイプの処理については図21で説明す
る。
【0187】これらの分岐、及び処理は、ここに示した
以外の他のタイプの時間算出アルゴリズムを用いても良
いことは言うまでもない。
【0188】それら各種中間データのタイプに応じたレ
ンダリング時間算出処理を行なった後、ステップ19.6に
おいて算出した時間をバンド全体のレンダリング時間に
加算し、処理を終える。
【0189】図20(レンダリング時間計算-固定テーブル
方式)の説明 図20は図19の19.3の固定的なレンダリング時間を求める
処理の例を説明した図である。
【0190】事前にレンダリングが固定的に分っている
中間データについては、図のように中間データの種類と
それに対応するレンダリング時間の対応表からレンダリ
ング時間を検索する。
【0191】図21(レンダリング時間計算-実測方式)の
説明 図21は図19の19.5のレンダリング時間の実測処理の例に
ついて説明したフローチャートである。
【0192】ステップ21.1で印刷装置内部タイマーをス
タートし、ステップ21.2で実際のレンダリングと同様に
測定したい中間データをレンダリングする。そしてレン
ダリングが終り次第ステップ21.3でタイマーをストップ
し、その間かかった時間をレンダリング時間とする。
【0193】図22(オーバーラン対策)の説明 図22は、図15のステップ15.8で行なうオーバーラン対策
処理を説明したフローチャートである。
【0194】処理は既に説明したように、まずステップ
22.1でバンド全体のレンダリング時間と図15.8で説明し
たしきい値を比較し、もしレンダリング時間がしきい値
を越えるような場合、ステップ22.2でプリントオーバー
ランするバンドのカウントアップを行なう。
【0195】そしてステップ22.3でページの全バンドに
ついて処理を行なうまで、ステップ22.1からの手順を繰
り返す。
【0196】1ページ分のカウントアップ処理を終えた
らステップ22.4において、現在のRAM2.5の空き領域にプ
リントオーバーランするバンド数分の一時的なバンドラ
スタを確保できるかどうかを調べ、その結果を処理結果
としてステップ22.5またはステップ22.6で処理を終る。
【0197】本処理がメモリ不足と判断された場合、次
に説明するバンド圧縮処理を行なう。
【0198】図23(バンド圧縮処理)の説明 図23は、図15のステップ15.10で説明した、プリントオ
ーバーランバンド用の一時的なバンドラスタ領域がRAM
2.5の空き領域不足により確保できなかった場合の、バ
ンドの中間データを圧縮データに変換するバンド圧縮処
理を説明したフローチャートである。
【0199】まずステップ23.1においてオーバーランす
るバンドの1つをレンダリングする。そしてステップ23.
2で得られたビットマップイメージを圧縮/伸長部2.8の
圧縮機能を使って圧縮データに変換する。
【0200】次にステップ23.3で圧縮データがRAM2.5の
空き領域に格納出来るかどうかを調べる。もし空き領域
が不足している場合は、ステップ23.6でメモリ不足とし
てバンド圧縮処理を終える。
【0201】圧縮データがメモリに格納出来た場合、ス
テップ23.4で全てのオーバーランするバンドについて同
様の処理を行なうまで、ステップ23.1から処理を繰り返
す。
【0202】本処理がメモリ不足として処理を終えた場
合、既に説明した通りページ全体を圧縮する処理(図15
のステップ15.13)を行なう。
【0203】図24(印刷出力処理)の説明 図24は、図15のステップ15.14で示された印刷出力処理
を説明したフローチャートである。
【0204】まず図22で説明したプリントオーバーラン
対策によって確保された、プリントオーバーランバンド
用の一時的なバンドラスタに対して処理を行なう。
【0205】ステップ24.1で、プリントオーバーランバ
ンド用の一時的バンドラスタがあるかどうかを調べ、確
保されている場合は、ステップ24.2で対応するバンドの
中間データを一時的バンドラスタへとレンダリングす
る。
【0206】この時点ではまだ印刷エンジンはスタート
されていないため、これらのレンダリング処理に時間が
かかっても、プリントオーバーラン現象は起きない。
【0207】次にステップ24.3で実際に紙面に印刷出力
するために印刷エンジンをスタートさせる。
【0208】その後ステップ24.4において、そのバンド
の印刷データの保持形態を調べる。
【0209】印刷データが中間データであった場合はス
テップ24.5へと分岐し、通常のバンドラスタ領域に中間
データをレンダリングする。
【0210】このレンダリングでは、既に説明したよう
に事前にプリントオーバーランするバンドをはじいてい
るので、プリントオーバーラン現象は決して発生しな
い。
【0211】その後、ステップ24.6で得られた印刷イメ
ージを紙面へと印刷出力する。
【0212】ステップ24.4で、もしバンドの印刷データ
がステップ24.2で一時的なバンドラスタへ中間データが
既にレンダリングされていると判断された場合、それら
はすぐに印刷出力できる印刷イメージなので、ステップ
24.6で印刷出力する。
【0213】もしバンドの印刷データがバンド圧縮処理
やページ圧縮処理によって作成された圧縮データである
場合、ステップ24.7で圧縮データを伸長しながら印刷出
力を行なう。この場合既に述べたように、本実施例では
伸長処理にかかる時間はエンジンの出力スピードより十
分速いとしてあるので、プリントオーバーランが起きる
ことは決してない。
【0214】最後にステップ24.8において、全バンドを
印刷出力処理したかどうかを判断し、まだの場合はステ
ップ24.4より処理を繰り返す。
【0215】以上のように本実施形態においては、記憶
装置の容量をある程度低く抑えると共にプリントオーバ
ーラン現象及びメモリデッドロック現象が発生すること
なく、確実に全てのページの印刷ができるという保証を
安価に実現することができるという効果がある。
【0216】イメージのデータ変換方式が圧縮処理であ
ることを特徴とすることにより、少ない記憶装置容量で
高解像度な印刷をすることができるという効果がある。
【0217】実施形態2 図25(実施形態2のブロック図)の説明 図25は本発明の他の実施形態を示すプリンタ制御システ
ムの構成を説明するブロック図である。ここでも、レー
ザビームプリンタ(図1)を例にして説明する。
【0218】実施形態2に基づく印刷装置では、レンダ
リングした印刷イメージの容量を減らすために、解像度
/階調変換部でデータ変換を行なう特徴を持っている。
【0219】25.8はレンダリングしたイメージの解像度
や階調を、例えばイメージのドットを間引くなどの方式
で解像度を落したり、一般的に知られるディザリング処
理などを使って階調を落したりする、解像度/階調変換
部である。
【0220】25.5は図2の2.5と同様のRAMである。RAM2
5.5の使われ方は実施例1のそれと同様であるが、解像度
/階調変換部25.8で1ページ分の印刷イメージがデータ変
換された後のサイズ以上の大きさはあるという特徴を持
つ。
【0221】例えば600DPIでYMCKの4プレーン各8ビット
の印刷能力を持つのカラープリンタでA4用紙サイズの印
刷を行なう場合、その印刷出力イメージサイズは約128M
バイトになるが、解像度変換で印刷イメージを300DPIに
落し、また階調変換で出力ビット数を1ビットへと変換
した場合の印刷イメージは4Mバイトとなる。
【0222】ここでRAM25.5は、最低でもこの4Mバイト
+作業領域のサイズを持つという特徴がある。
【0223】図25のその他のセクションは、実施形態1
の図2の対応する番号と同様の働きをする。
【0224】図26(1ページ印刷手順)の説明 実施形態2の1ページの印刷手順は、図15で説明した実施
形態1のそれと流れは似ているが、データ変換方式が解
像度変換/階調変換であるという特徴がある。以下にそ
の手順を説明する。
【0225】図26は本発明の実施形態2を示すプリンタ
制御システムの、1ページ分の印刷データを受信してか
ら印刷出力するまでの手順を示したフローチャートであ
る。
【0226】ステップ26.1では図15のステップ15.1と同
様に、ホストコンピュータ25.1より転送され入力部25.3
で受信された印刷データを、中間データ作成部25.4によ
り中間データに変換する。
【0227】(デグレード移行チェック)次にステップ2
6.2において、RAM25.5に変換された中間データを格納す
るにあたってメモリ不足でないかどうかを判断する。メ
モリ不足かどうかは、実際の空きメモリサイズが足りて
いるかどうか以外にも、次に説明するデータ変換処理を
実行できるかどうかという判断も行なう。
【0228】この判断方法については図27で詳細に説明
する。
【0229】(デグレード移行)ここでメモリ不足と判定
された場合ステップ26.3で、それまでに作成された全て
の中間データをレンダリングし、それをデータ変換(解
像度変換/階調変換)しRAM25.5に再格納する。その際中
間データは削除し、処理しようとしている中間データを
RAM25.5内に格納出来るだけの空きメモリを確保する。
【0230】既に説明した通り、RAM25.5はデータ変換
した後の印刷イメージを1ページ分確保するのに十分な
容量であるので、この処理を行なうことによって中間デ
ータを作成する際のメモリデッドロックを起こさない保
証をすることができる。
【0231】このデータ変換処理については図28で説明
する。
【0232】その後ステップ26.4で、処理中の中間デー
タを実際にRAM25.5内に格納する。
【0233】(プレレンダリングのための計算-実施形態
1と同様)次にステップ26.5でプリントオーバーラ
ンを避ける処理のための計算を行なう。これは実施形態
1の図15で述べた処理と同様である。
【0234】そしてステップ26.6で、印刷データを1ペ
ージ分処理し終ったかどうかを判断し、まだページが終
了していない場合は次の印刷データについてステップ2
6.1から処理を繰り返す。
【0235】(デグレード後処理)印刷データを1ページ
分処理し終ったら、ステップ26.7において、そのページ
が1回でもデータ変換処理(ステップ26.3)を行なったど
うかを調べ、全ての印刷データをデータ変換するために
ステップ26.11へと進む。
【0236】ステップ26.11では、最後にデータ変換処
理(ステップ26.3)を実行した後に作成された中間データ
について、レンダリング及びデータ変換処理を行なう。
この処理はステップ26.3で行なうページ圧縮処理と同様
の処理で、図28で説明する。
【0237】そうして最終的に全てのバンドについて印
刷データがデータ変換された形式でRAM25.5に保管し、
ステップ26.14の印刷出力処理へと処理を移す。
【0238】(プレレンダリング処理)一方ステップ26.7
で一度もページ圧縮処理を行なわないと判断された場
合、ステップ26.8でプリントオーバーラン回避処理を行
なう。これは実施例1と同様にプリントオーバーランす
るバンドを判断し、それぞれに一時的なバンドラスタを
割り振る。
【0239】ステップ26.8の処理においてRAM25.5の容
量不足が起きなかった場合、ステップ26.14でプリント
オーバーランする全てのバンドについてレンダリングし
た後、実際に紙面に印刷出力する。この印刷出力処理は
図29で説明する。
【0240】もしRAM25.5の容量が不足であった場合、
ステップ26.13において、プリントオーバーランしない
バンドも含めた全てのバンドについて、ステップ26.3や
ステップ26.11と同様のデータ変換処理を行なう。この
処理は図28で説明する。
【0241】そして1ページの印刷データが中間デー
タ、またはデータ変換済みの出力イメージの形式で、プ
リントオーバーランしない保証の元にRAM25.5内に収ま
った後、ステップ26.14で実際に紙面上に印刷出力す
る。この処理は図29で説明する。
【0242】図27(デグレード移行判定)の説明 図27は図26のステップ26.2で行なう、データ変換処理に
必要なメモリの空き領域が不足しているかどうかの判断
について説明した図である。この図は、データ変換処理
を行なう際の、1バンド分の処理を示している。
【0243】図のAは、データ変換処理の際のRAM25.5の
領域を模式的にあらわしている。
【0244】27.1はRAM25.5の空き領域を示し、27.2は
処理するバンドの中間データ、そして27.3は他のバンド
に関する印刷データを意味する。
【0245】初めてデータ変換処理を行なう場合には、
図のBに示されるように空き領域に変換後のデータ領域2
7.5を確保し、中間データ27.2をレンダリングし、デー
タ変換して再格納する。
【0246】本実施形態ではデータ変換方法は解像度変
換、階調変換なので、変換済みデータ領域27.5のサイズ
は実際にデータ変換処理を行なわなくても求めることが
できる。
【0247】例えば解像度変換処理により解像度が600D
PIから300DPIになる場合、変換処理によりデータは1/4
になる。同様に例えば階調変換処理により階調が8ビッ
トから1ビットになる場合、変換処理によりデータは1/8
になる。もし両方の変換方式を行なう場合、変換後のデ
ータサイズは1/32になる。
【0248】ここで本実施例はデータ変換処理として解
像度変換、階調変換を行なう例を示したが、この2つの
方式に限定するわけではなく同様の他の変換処理でもよ
いことは言うまでもない。
【0249】もし既にデータ変換処理が行なわれている
場合には、新たに領域を確保しなくても、変換済みデー
タ領域27.5が存在するので、その領域を利用してレンダ
リング及びデータ変換を行なう。
【0250】そしてそれ以降は中間データ27.6が不要と
なるので、図のCのように空き領域27.10としてデータを
解放する。もし必要ならば変換済みデータ27.9を移動す
ることにより、空き領域27.8と27.10を連続領域にして
も良い。
【0251】データ変換処理はこれら一連の処理を全て
のバンドについて行なうが、一度でもデータ変換処理を
行なえば、2回目以降のデータ変換処理には既に変換済
みデータ領域があるので、変換処理時に空き領域不足に
なることは決してない。
【0252】一方初めてのデータ変換処理について、デ
ータ変換処理に必要なメモリサイズが不足しているかど
うかは、それぞれのバンドについて、空き領域27.4のサ
イズを調べればわかる。
【0253】バンドkにおける空き領域のサイズ27.4を
Sk、変換済みデータ27.5のサイズをB、中間データ27.
2のサイズをPk、RAM25.5に格納したい中間データのサ
イズをPC、とすると、データ変換処理前の空き領域2
7.1のサイズS(k-1)と処理後の空き領域27.8のサイズS
kとの関係は図27より Sk=S(k-1)+Pk−B−PC となる。また全てのバンドを処理する前の空き領域サイ
ズS0については、処理に使用できる全メモリサイズを
M、バンド数をn、とすることより、 S0=M−(P1+...+Pn)−B となる。但しRAM25.5に格納したい中間データが最初の
バンドのものであった場合、 S0=M−(P1+...+Pn)−B−PC となる。ここでM、B、PC及び全てのバンドのPkは
分っていることより、全てのSkが計算でき、その最小
値MIN(Sk)がデータ変換処理のメモリ空き容量の最小値
となる。
【0254】ここでもしMIN(Sk)が0未満であった場
合、格納使用としている中間データを格納するとデータ
変換処理が不可能になってしまうと判断できる。
【0255】以上のように、図26のステップ26.2で格納
するとメモリ不足によりデータ変換処理を実行不可能に
なるかどうかを判断してから、不足しない場合は中間デ
ータを格納し(26.4)、不足する場合はデータ変換処理(2
6.3)を行なってから格納処理をすることによって、全て
のデータ変換処理を必ず成功させることができ、ページ
をメモリデッドロックさせずに印刷データを受信するこ
とができる。
【0256】図28(データ変換処理)の説明 図28において、メモリ不足と判断された場合のデータ変
換処理について説明する。
【0257】まずステップ28.1において処理するバンド
が既にデータ変換されているかどうかを判断し、もしデ
ータ変換されていない場合はステップ28.2で既に分って
いるサイズの変換データ格納領域を確保する。この領域
は既に述べたメモリ不足判断処理内で確保可能であるこ
とが保証されているので、メモリデッドロック現象は決
して起きない。
【0258】そしてその後ステップ28.3において中間デ
ータをレンダリングし、解像度/階調変換部25.8でデー
タ変換処理を行ない、バンドの印刷データを変換済みデ
ータとして管理する。
【0259】最後にステップ28.4で、一連のデータ処理
が全てのバンドについて行なうまで、ステップ28.1へと
ループバックする。
【0260】これらの処理により、全ての印刷データが
メモリデッドロック現象にならずに印刷処理を行なうこ
とができる。
【0261】図29(印刷出力処理)の説明 最後に図26のステップ26.14で行なう印刷出力処理の詳
細を、図29で説明する。
【0262】まずステップ29.1〜29.2でオーバーラン対
策のために一時的なバンドラスタへのレンダリングを行
なう。これは実施例1と同様である。
【0263】次にステップ29.3で実際に印刷エンジンを
スタートさせる。
【0264】シッピングが始まったら、ステップ29.4で
変換済みの印刷イメージデータをそのままエンジンに印
刷出力し、ステップ29.5で全バンド印刷出力されるまで
処理を29.4より繰り返す。
【0265】以上のように本発明の実施形態2において
は、記憶装置の容量をある程度低く抑えると共にプリン
トオーバーラン現象及びメモリデッドロック現象が発生
することなく、確実に全てのページの印刷ができるとい
う保証を安価に実現することができるという効果があ
る。
【0266】また一般に知られるように、解像度変換処
理や階調変換処理は圧縮処理に比べて処理方法が簡単な
ことより、処理速度は速く、特別なハードウエアは不要
である。
【0267】このことより、イメージのデータ変換方式
が解像度変換、階調変換処理で、処理後のメモリには必
ず1ページ分の変換データが格納できる保証があること
特徴とすることにより、画質は劣化するが、圧縮方式に
比べて処理速度も速く、特別なハードウエアも不要なこ
とよりコストも下げることができるという本実施例固有
の効果がある。
【0268】
【発明の効果】以上の説明から明らかなように本発明に
よる印刷装置及びメモリ管理方式は、レンダリング所要
時間を計算するような印刷処理において、 ・印刷データをバンド単位で管理するメモリ管理処理 ・印刷データのメモリ内でのサイズの計算する処理 ・複数のバンドラスタを管理するメモリ管理処理 ・メモリ内に管理するバンドラスタ数を可変させるメモ
リ管理処理 ・イメージをデータ変換して管理するメモリ管理処理 ・メモリ状況に応じてデータ変換するかどうかを判断す
る処理 ・データ変換後のメモリ内でのデータサイズを計算する
処理 を設けたことにより、記憶装置の容量をある程度低く抑
えると共にプリントオーバーラン現象及びメモリデッド
ロック現象が発生することなく、確実に全てのページの
印刷ができるという保証を安価に実現することができる
という効果がある。
【0269】また、本発明の印刷装置及びメモリ管理方
式は、イメージのデータ変換方式が圧縮処理であること
を特徴とすることにより、少ない記憶装置容量で高解像
度な印刷をすることができるという効果がある。
【0270】また、本発明の印刷装置及びメモリ管理方
式は、イメージのデータ変換方式が解像度低下処理や階
調低下処理であることにより、高速で印刷処理を行なえ
るという効果がある。
【図面の簡単な説明】
【図1】本発明を適応可能な出力装置の構成を示す断面
図である。
【図2】本発明の実施例におけるプリンタ制御システム
の構成を説明するブロック図である。
【図3】本発明の実施例におけるプリンタ制御システム
の、内部処理の状態遷移を説明する状態遷移図である。
【図4】本発明の実施例における印刷データ受信時のメ
モリ処理を説明する図である。
【図5】本発明の実施例における中間データの構造及び
管理形式について説明した図である。
【図6】本発明の実施例における中間データ形式で格納
された印刷データを実際に印刷出力するときのメモリ処
理を説明した図である。
【図7】本発明の実施例における印刷出力処理の処理タ
イミングを説明したタイムチャートである。
【図8】本発明の実施例におけるプリントオーバーラン
を回避するためのメモリ処理について説明した図であ
る。
【図9】本発明の実施例におけるプリントオーバーラン
を回避するための処理における、一時的なバンドラスタ
を用いたレンダリング、印刷出力のタイミングについて
説明したタイムチャートである。
【図10】本発明の実施例におけるバンド圧縮時のメモ
リ処理を説明する図である。
【図11】本発明の実施例におけるバンド圧縮処理に基
づいてレンダリング、印刷出力を行なうタイミングを説
明するタイムチャートである。
【図12】本発明の実施例におけるページ圧縮時のメモ
リ処理を説明する図である。
【図13】本発明の実施例におけるページ圧縮時の圧縮
データ管理構造を説明する図である。
【図14】本発明の実施例におけるページ圧縮処理にお
ける印刷出力処理のタイミングを説明するタイミングチ
ャートである。
【図15】本発明の実施例における1ページ印刷手順を
示したフローチャートである。
【図16】本発明の実施例におけるページ圧縮処理の手
順を示したフローチャートである。
【図17】本発明の実施例における複数の圧縮形式を選
択する方法の例について説明した図である。
【図18】本発明の実施例におけるメモリ不足判定方法
を説明する図である。
【図19】本発明の実施例におけるレンダリング時間計
算処理手順を示したフローチャートである。
【図20】本発明の実施例におけるレンダリング時間計
算の固定テーブル方式を説明する図である。
【図21】本発明の実施例におけるレンダリング時間計
算の実測方式の処理手順を示したフローチャートであ
る。
【図22】本発明の実施例におけるプリントオーバーラ
ン対策処理手順を示したフローチャートである。
【図23】本発明の実施例におけるバンド圧縮処理手順
を示したフローチャートである。
【図24】本発明の実施例における印刷出力手順を示し
たフローチャートである。
【図25】本発明の実施例2におけるプリンタ制御シス
テムの構成を説明するブロック図である。
【図26】本発明の実施例2における1ページ印刷手順
を示したフローチャートである。
【図27】本発明の実施例2におけるメモリ不足判定方
法を説明する図である。
【図28】本発明の実施例2におけるデータ変換処理手
順を示したフローチャートである。
【図29】本発明の実施例2における印刷出力手順を示
したフローチャートである。
【符号の説明】
1000,2.2,25.2 印刷装置(レーザビーム
プリンタ) 2.1,4.1,25.1 ホストコンピュータ 2.4,4.3,8.8,25.4 中間データ作成部 2.5,25.5 RAM 2.7,10.3,10.10,12.2,25.7
レンダリング部 2.8,10.5,10.12,12.3,12.4,
12.8 圧縮/伸長部 25.8 解像度/階調変換部 2.9,8.12,10.14,12.10,25.9
印刷部 2.10,25.10 CPU 4.4,4.5,8.1,8.2,8.6,8.7,1
0.1,10.2,10.8,10.9,12.1,1
2.7 バンドラスタ 8.4,8.10,一時的バンドラスタ 10.6,10.13,12.5,12.9, 圧縮デ
ータ格納領域

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 レンダリング所要時間を計算するような
    印刷処理において、 印刷データをバンド単位で管理するメモリ管理処理ステ
    ップと、 印刷データのメモリ内でのサイズの計算する処理ステッ
    プと、 複数のバンドラスタを管理するメモリ管理処理ステップ
    と、 メモリ内に管理するバンドラスタ数を可変させるメモリ
    管理処理ステップと、 イメージをデータ変換して管理するメモリ管理処理ステ
    ップと、 メモリ状況に応じてデータ変換するかどうかを判断する
    処理ステップと、 データ変換後のメモリ内でのデータサイズを計算する処
    理ステップと、を有することを特徴とするメモリ管理方
    式。
  2. 【請求項2】 レンダリングタイミングを変えるために
    バンドラスタ数を可変させることを特徴とする請求項1
    記載のメモリ管理方式。
  3. 【請求項3】 データ変換が圧縮動作であることを特徴
    とする請求項1記載のメモリ管理方式。
  4. 【請求項4】 データ変換が解像度低下であることを特
    徴とする請求項1記載のメモリ管理方式。
  5. 【請求項5】 データ変換が階調低下であることを特徴
    とする請求項1記載のメモリ管理方式。
  6. 【請求項6】 バンド単位にデータ変換するかどうかを
    決定することを特徴とする請求項1記載のメモリ管理方
    式。
  7. 【請求項7】 メモリ状況に応じて複数のデータ変換を
    選択することを特徴とする請求項1記載のメモリ管理方
    式。
  8. 【請求項8】 データ変換後のデータサイズは、圧縮方
    式に基づいた圧縮後のメモリ内でのサイズを予想して計
    算することを特徴とする請求項1記載のメモリ管理方
    式。
  9. 【請求項9】 バンド毎の、印刷データをデータ変換し
    得る印刷制御装置において、 バンド毎のデータ変換前のデータサイズを認識する手段
    と、 バンド毎のデータをデータ変換する手段と、 データ変換後のデータサイズを予測する手段と、 前記認識手段と前記予測手段とに基づいて、バンド毎の
    ビットマップデータをデータ変換するか否かを判断する
    判断手段とを有することを特徴とする印刷制御装置。
  10. 【請求項10】 前記データ変換手段によるデータ変換
    はビットマップデータを圧縮、階調度低下、又は解像度
    低下する処理を含むことを特徴とする請求項9記載の印
    刷制御装置。
  11. 【請求項11】 レンダリング所要時間を計算する手段
    を有する印刷装置において、 印刷データをバンド単位で管理する手段と、 印刷データのメモリ内でのサイズの計算する手段と、 複数のバンドラスタを管理する手段と、 メモリ内に管理するバンドラスタ数を可変させる手段
    と、 イメージをデータ変換して管理する手段と、 メモリ状況に応じてデータ変換するかどうかを判断する
    手段と、 データ変換後のメモリ内でのデータサイズを計算する手
    段と、を有することを特徴とする印刷装置。
  12. 【請求項12】 レンダリングタイミングを変えるため
    にバンドラスタ数を可変させることを特徴とする請求項
    11記載の印刷装置。
  13. 【請求項13】 データ変換が圧縮動作であることを特
    徴とする請求項11記載の印刷装置。
  14. 【請求項14】 データ変換が解像度低下であることを
    特徴とする請求項11記載の印刷装置。
  15. 【請求項15】 データ変換が階調低下であることを特
    徴とする請求項11記載の印刷装置。
  16. 【請求項16】 バンド単位にデータ変換するかどうか
    を決定することを特徴とする請求項11記載の印刷装
    置。
  17. 【請求項17】 メモリ状況に応じて複数のデータ変換
    を選択することを特徴とする請求項11記載の印刷装
    置。
  18. 【請求項18】 データ変換後のデータサイズは、圧縮
    方式に基づいた圧縮後のメモリ内でのサイズを予想して
    計算することを特徴とする請求項11記載の印刷装置。
JP8306564A 1996-11-18 1996-11-18 印刷装置及びメモリ管理方式 Withdrawn JPH10147018A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP8306564A JPH10147018A (ja) 1996-11-18 1996-11-18 印刷装置及びメモリ管理方式
DE69736542T DE69736542D1 (de) 1996-11-18 1997-11-17 Speicherverwaltungsverfahren und Druckvorrichtung
EP97120103A EP0843279B1 (en) 1996-11-18 1997-11-17 Memory management method and printing apparatus
US08/972,433 US6052200A (en) 1996-11-18 1997-11-18 Memory management method, printing control device and printing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8306564A JPH10147018A (ja) 1996-11-18 1996-11-18 印刷装置及びメモリ管理方式

Publications (1)

Publication Number Publication Date
JPH10147018A true JPH10147018A (ja) 1998-06-02

Family

ID=17958581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8306564A Withdrawn JPH10147018A (ja) 1996-11-18 1996-11-18 印刷装置及びメモリ管理方式

Country Status (4)

Country Link
US (1) US6052200A (ja)
EP (1) EP0843279B1 (ja)
JP (1) JPH10147018A (ja)
DE (1) DE69736542D1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006130776A (ja) * 2004-11-05 2006-05-25 Fuji Xerox Co Ltd 画像処理装置および方法
JP2016182788A (ja) * 2015-03-26 2016-10-20 富士ゼロックス株式会社 印刷制御装置、印刷装置及びプログラム

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020063894A1 (en) * 1998-08-28 2002-05-30 Russell Campbell Conservation of printer memory on the composition page
US6556309B1 (en) 1998-08-28 2003-04-29 Hewlett-Packard Company Conservation of printer memory on the composition page in response to page pipe feedback
JP4174140B2 (ja) * 1998-09-21 2008-10-29 キヤノン株式会社 画像形成装置、画像形成方法及び記憶媒体
JP2000295479A (ja) 1999-04-01 2000-10-20 Casio Electronics Co Ltd 画像形成装置
US6832187B1 (en) * 1999-05-10 2004-12-14 Hewlett-Packard Development Company, L.P. Methods of providing page protection in a digital printing system having multiple output devices
JP3438710B2 (ja) * 2000-09-05 2003-08-18 セイコーエプソン株式会社 プリンタ及びそれを制御するプログラムを記録した記録媒体
DE10110158B4 (de) * 2001-03-02 2006-01-12 Heidelberger Druckmaschinen Ag Verfahren zur Komprimierung von Druckdaten
US7113302B2 (en) * 2001-10-16 2006-09-26 Texas Instruments Incorporated Printer with unified display list and banded display lists
JP4340120B2 (ja) * 2002-10-29 2009-10-07 株式会社リコー 画像形成装置、記憶領域取得方法
US20040125385A1 (en) * 2002-12-30 2004-07-01 Mellor Douglas J. Estimating a guarantee time
KR100636788B1 (ko) * 2005-06-27 2006-10-20 삼성전자주식회사 인쇄방법
US8665482B2 (en) * 2007-03-01 2014-03-04 Konica Minolta Laboratory U.S.A., Inc. Raster image processor using a self-tuning banding mode
JP2009232097A (ja) * 2008-03-21 2009-10-08 Brother Ind Ltd 多機能周辺装置、およびネットワークシステム
CN101662597B (zh) * 2008-08-28 2012-09-05 新奥特(北京)视频技术有限公司 一种基于模板的字幕渲染效率的统计系统
CN101394488B (zh) * 2008-08-28 2010-06-23 新奥特(北京)视频技术有限公司 一种基于模板的字幕渲染效率的统计方法
JP5210913B2 (ja) * 2009-02-05 2013-06-12 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成方法
JP5333259B2 (ja) * 2010-01-25 2013-11-06 コニカミノルタ株式会社 画像形成装置、プログラム及び画像形成方法
JP4968398B1 (ja) * 2011-05-26 2012-07-04 富士ゼロックス株式会社 画像処理装置、画像処理制御プログラム、非一時的記録媒体
KR101811755B1 (ko) * 2011-07-15 2018-01-26 엘지전자 주식회사 이동 단말기
JP6821926B2 (ja) * 2016-03-10 2021-01-27 富士ゼロックス株式会社 描画データ作成装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2859450B2 (ja) * 1991-01-31 1999-02-17 富士写真フイルム株式会社 画像記録装置及び画像記録方法
US5471563A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for automatic resolution reduction
US5479587A (en) * 1992-09-03 1995-12-26 Hewlett-Packard Company Page printer having adaptive data compression for memory minimization
KR970010375B1 (ko) * 1994-10-31 1997-06-25 삼성전자 주식회사 밴드 오버런 에러를 방지하는 페이지 프린터의 밴드 프린팅방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006130776A (ja) * 2004-11-05 2006-05-25 Fuji Xerox Co Ltd 画像処理装置および方法
JP2016182788A (ja) * 2015-03-26 2016-10-20 富士ゼロックス株式会社 印刷制御装置、印刷装置及びプログラム

Also Published As

Publication number Publication date
EP0843279A2 (en) 1998-05-20
EP0843279A3 (en) 2002-06-19
US6052200A (en) 2000-04-18
DE69736542D1 (de) 2006-10-05
EP0843279B1 (en) 2006-08-23

Similar Documents

Publication Publication Date Title
JPH10147018A (ja) 印刷装置及びメモリ管理方式
US5850504A (en) Method and apparatus for saving printer memory
US8422046B2 (en) Print setting based reprinting
US6678072B1 (en) Printer control apparatus and method
EP0753826B1 (en) Printer control unit and method
JPH10147017A (ja) 印刷装置及びデータ制御方法
US6369910B1 (en) Printing apparatus and image processing method
JP2000313145A (ja) 印刷制御装置、印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
EP0870277B1 (en) Image rendering for page printers
JPH09234910A (ja) 画像処理装置及び方法
JP3655457B2 (ja) プリンタ制御装置
JP2000335021A (ja) 画像処理装置及び画像処理方法
JP3663853B2 (ja) 画像処理装置
JP3727962B2 (ja) 印刷装置及び印刷方法
JPH10171612A (ja) 画像処理装置及び圧縮処理方法
JPH11198489A (ja) 印刷処理装置
JPH10147016A (ja) 画像処理装置及び方法
JPH07137355A (ja) 画像処理装置
JPH11265438A (ja) 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH11188932A (ja) 印刷制御装置および印刷制御装置のバンド処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
HK1015913B (en) Image rendering for page printers
JPH07314795A (ja) 印刷装置および印刷装置の描画処理方法
JP2002211052A (ja) 印刷制御装置、印刷制御方法及び該方法を実行するためのプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP2001146047A (ja) 印刷制御装置並びに印刷制御装置の印刷データ処理方法および記憶媒体
JP2003039744A (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: 20040203