JP2010179546A - 画像形成装置及び画像形成方法 - Google Patents

画像形成装置及び画像形成方法 Download PDF

Info

Publication number
JP2010179546A
JP2010179546A JP2009024441A JP2009024441A JP2010179546A JP 2010179546 A JP2010179546 A JP 2010179546A JP 2009024441 A JP2009024441 A JP 2009024441A JP 2009024441 A JP2009024441 A JP 2009024441A JP 2010179546 A JP2010179546 A JP 2010179546A
Authority
JP
Japan
Prior art keywords
band
data
processing
time
storage area
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.)
Granted
Application number
JP2009024441A
Other languages
English (en)
Other versions
JP5210913B2 (ja
Inventor
Yosuke Kashimoto
陽介 樫本
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2009024441A priority Critical patent/JP5210913B2/ja
Priority to US12/689,612 priority patent/US8446628B2/en
Publication of JP2010179546A publication Critical patent/JP2010179546A/ja
Application granted granted Critical
Publication of JP5210913B2 publication Critical patent/JP5210913B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/1801Input data handling means
    • G06K15/1822Analysing the received data before processing
    • G06K15/1823Analysing the received data before processing for evaluating the resources needed, e.g. rasterizing time, ink, paper stock
    • 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/1835Transforming generic data
    • G06K15/1836Rasterization

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

【課題】 メモリの有効利用を図ることにより、バンディング処理に伴うオーバーランの問題を解消するとともに出力時間の短縮化を図る。
【解決手段】 各バンドにおける中間データの描画時間を算出する描画時間計測部102と、描画時間に応じ事前描画処理とするか、リアルタイム描画処理とするかを判定し、その実行を命令する制御部103と、事前描画処理により得られる各描画データを圧縮し圧縮メモリ107に書き込む圧縮部106と、圧縮メモリ107に書き込まれた描画データの伸張処理を行う伸張部108と、描画処理又は伸張処理を介して得られる描画データを、所定の規則にもとづき描画メモリ105a〜105cを替えながら書き込む記憶部105と、描画メモリ105a〜105cに書き込まれた各描画データを所定バンド順に読み出して出力する出力部109と、からなる構成としてある。
【選択図】 図1

Description

本発明は、バンディング処理を行う画像形成装置および画像形成方法に関し、より詳しくは、描画データを保持する記憶媒体の割当を制御することによって出力スループットの向上を図る画像形成装置及び画像形成方法に関する。
近年、ホストコンピュータ等から印刷データを受信しページ毎に画像出力を行うページプリンタなどの画像形成技術の分野においては、所謂バンディング処理が一般的に行われている。
バンディング処理とは、1ページ分の描画領域を複数の矩形領域(バンド)で区切り、1バンド分の描画処理を行った後にその出力と次のバンドの描画処理とを同時に行い、この処理をバンド数分繰り返すことによって1ページ分の出力を得るものである。
このバンディング処理によれば、1バンド分の描画データを保持しうるメモリが少なくとも2つ(描画用メモリ、出力用メモリ)あれば足り、また、ファーストプリントまでの時間を短縮できることから、いまやページプリンタには欠かせない処理となっている。
しかしながら、このような画像形成装置は、その機構上、出力をページの途中で止めることが出来ないため、描画に時間がかかるバンドがある場合等、その前のバンドの出力が終わっても次のバンドの描画処理が終わらないためにその出力が開始できない状況になり、不具合を起こすことがある。
このような不具合の現象は、一般にオーバーランと呼称され、このようなオーバーランに対処すべく特許文献1や特許文献2にはその技術が開示されている。
これらの文献に開示されているプリンタ描画方式等によれば、共に事前描画処理(プリレンダリング)を採用することによって上述の問題解決を図っている。
事前描画処理では、まず、バンド毎の描画時間を算出した上で、出力時間との対比を行い、オーバーランの発生が予測できるバンドを抽出する。
そして、このようなバンドの描画に関しては、出力に先立って描画処理を行うことでオーバーランを未然に回避するようにしている。
特許第3349997号公報 特許第3957859号公報
しかしながら、特許文献1のプリンタ描画方式等によると、リアルタイム描画用のバンドメモリと事前描画用のバンドメモリとを別々に設けているため、機構的に無駄が多く、また、装置コストも余計に発生することとなる。
また、事前描画を行うか、リアルタイム描画を行うかの判断に際し、出力開始までの空き時間をバンド毎にクリアして判断するようにしているため、事前描画対象となるバンドのオブジェクトが多く発生してしまう。
このため、ファーストプリントの時間が長く、結果、良好な出力スループットを得ることができなかった。
また、特許文献2の印刷制御装置等によれば、事前描画は行うものの、そもそも描画処理を一定間隔で実施するようにしているため、無駄な時間が多く、いわゆるレンダリング待ち時間が多く発生する結果となっている。
さらに、圧縮/伸張を組み合わせて事前描画を行う例も開示されているが、圧縮用のメモリと伸張用のメモリとが個別に必要な構成となっているため、やはり機構面、コスト面で無駄が多い構成となっている。
本発明は、以上のような従来の技術が有する問題を解決するために提案されたものであり、バンディング処理に伴うオーバーランの問題を事前描画処理によって解消しつつ、さらにその事前描画処理を実行するうえで弊害となるリソースの無駄や空き時間を省き、円滑で効率のよい出力を実現する画像形成装置及び画像形成方法の提供を目的とする。
上記目的を達成するため、本発明の画像形成装置は、対象の画像データを所定のバンド領域に分割しバンド毎に中間データを生成する中間データ生成部と、前記中間データに対し所定バンド順に描画処理を行う描画部と、前記描画処理によって得られる描画データを保持する記憶部と、前記記憶部から読み出される描画データに対し一定間隔で出力を行う出力部と、を有する画像形成装置であって、前記中間データ生成部が生成した各中間データの描画時間を算出する描画時間算出手段と、前記描画時間に応じ、前記各中間データについて、中間データの出力前に描画を行う事前描画処理とするか、他の中間データの出力と並行して描画を行うリアルタイム描画処理とするか、を判定し、そのいずれかを前記描画部に実行させる描画制御手段と、前記事前描画処理により得られる各描画データを圧縮し所定の圧縮記憶領域に書き込む事前書込手段と、前記圧縮記憶領域に書き込まれた描画データの伸張処理を行う伸張手段と、描画処理又は伸張処理の実行により得られる各描画データを、所定の規則にもとづき、前記記憶部の記憶領域を替えながら書き込む描画書込手段と、前記記憶領域に書き込まれた各描画データを前記所定バンド順に読み出す読出手段と、を備えた構成としてある。
また、本発明の画像形成方法は、対象の画像データを所定のバンド領域に分割しバンド毎に中間データを生成する中間データ生成部と、前記中間データに対し所定バンド順に描画処理を行う描画部と、前記描画処理によって得られる描画データを保持する記憶部と、前記記憶部から読み出される描画データに対し一定間隔で出力を行う出力部と、を有する画像形成装置による画像形成方法であって、前記中間データ生成部が生成した各中間データの描画時間を算出する描画時間算出ステップと、前記描画時間に応じ、前記各中間データについて、中間データの出力前に描画を行う事前描画処理とするか、他の中間データの出力と並行して描画を行うリアルタイム描画処理とするか、を判定し、そのいずれかを前記描画部に実行させる描画制御ステップと、前記事前描画処理により得られる各描画データを圧縮し所定の圧縮記憶領域に書き込む事前書込ステップと、前記圧縮記憶領域に書き込まれた描画データの伸張処理を行う伸張ステップと、描画処理又は伸張処理の実行により得られる各描画データを、所定の規則にもとづき、前記記憶部の記憶領域を替えながら書き込む描画書込ステップと、前記記憶領域に書き込まれた各描画データを、前記所定バンド順に読み出す読出ステップと、を有する方法としてある。
本発明の画像形成装置及び画像形成方法によれば、バンディング処理において生ずるオーバーラン未然に回避することが可能となるだけでなく、効果的に出力スループットの向上を図ることができる。
本発明の一実施形態にかかる画像形成装置の構成を示すブロック図である。 本実施形態の画像形成装置が行う描画種類の判定プロセスを示したフローチャートである。 本実施形態において使用するサンプル印刷データの分析結果をバンド毎に示した表図である。 本実施形態の画像形成装置が図3に示すサンプル印刷データを描画する場合の描画メモリの書き込み方法を示したフローチャートである。 本実施形態の画像形成装置が図3に示すサンプル印刷データを出力する場合の描画メモリの読み出し方法を示したフローチャートである。 本実施形態の画像形成装置が図3に示すサンプル印刷データを描画・出力する場合のメモリ番号の推移とバンド番号の対応を示した表図である。 本実施形態の画像形成装置が図3に示すサンプル印刷データを描画・出力した結果を時系列に示したタイムチャートである。 メモリを3つ搭載したとする従来の画像形成装置が、図3に示すサンプル印刷データを描画・出力した結果を時系列に示したタイムチャートである。
以下、本発明に係る画像形成装置の好ましい実施形態について図1〜図8を参照して説明する。
図1は、本発明の一実施形態にかかる画像形成装置の構成を示すブロック図である。
なお、本実施形態に係る画像形成装置10は、ページ単位に描画及び出力を行うページプリンタ等を想定しており、図示しないホストコンピュータから出力される印刷データを受け、画像形成に必要な各種処理を経て、紙媒体等に印刷出力する動作を通常行うものである。
中間データ生成部101は、ホストコンピュータから受信したPDL(プリンタ記述言語)等の印刷データを解釈して、プリンタが処理しやすい形式である中間データに変換するものである。
また、中間データ生成部101は、その中間データの生成の際に、1ページごとにその画像データを所定領域(以下、バンドと呼称する。)に分割して複数のバンド領域を生成し、バンドごとに中間データを生成するようにしている。
描画時間計測部(描画時間算出手段)102は、中間データ生成部101が生成した各バンドの中間データのそれぞれについて、描画時間を算出するものである。
具体的には、各バンド領域に含まれる各オブジェクトの幅や高さなどから論理的に描画時間を算出してオーバーランの予測に利用するものである。
制御部(描画制御手段)103は、算出した描画時間に応じ、各中間データの描画処理を、事前描画処理とするか、リアルタイム描画処理とするか、を判定するものである。
また、このような描画種類判定をバンド毎に行い、その判定にもとづく描画処理を描画部104に実行させるものである。
なお、「事前描画処理」とは、すべての中間データの出力に先だって描画を実行しておく処理であり、オーバーランの発生を未然に防ぐものである。
また、「リアルタイム描画処理」とは、他の中間データの出力と並行して描画を実行するものであり、バンディング処理において一般的に行われる描画処理である。
さらに、制御部103は、最初のバンドの中間データに対しては、前記事前描画処理の後で、かつ、前記リアルタイム描画処理の前に描画を行う「特殊描画処理」を前記描画部に実行させるようにしている。
この特殊描画処理は、最初のバンドの出力に対応しその出力前に描画処理が実行されるものであり、他の描画処理と異なり、その描画時間の長短に拘わらず、固定的に実行されることから描画処理の基準をなすものである。
そこで、上述した描画種類判定の具体的なプロセスについて以下詳細に説明を行う。
図2は、本実施形態の画像形成装置が行う描画種類の判定プロセスを示したフローチャートであり、中間データ生成部101、描画時間計測部102及び制御部103で行われる一連の動作手順を示したものである。
また、図3は、本実施形態において使用するサンプル印刷データの分析結果をバンド毎に示した表図である。
なお、本実施形態に係る画像形成装置は、後述する各動作ステップに先立ち、図示しないホストコンピュータから受信するなどして、既に、図3に示すサンプルの印刷データを取得しているものとする。
図2に示すように、本実施形態の画像形成装置10は、まず、中間データ生成部101が、印刷データ(PDL)を解釈し、所定数のバンドに分割された中間データを生成する(A1)。
次いで、描画時間計測部102が、バンド毎の描画時間を計算によって求める(A2)。
そして、ステップA1〜A2の処理を、1ページを形成するすべてのバンドに対し繰り返し行う(A3)。
この結果、サンプル画像データを形成するバンド1〜14の各々について描画時間を取得する(図3参照)。
ステップA1〜A3の前処理を経て、後述するステップA4〜A14では、具体的な描画種類の判定を行う。
ここでは、まず、制御部103が、バンド1(初期バンド)の中間データに対し、いわゆる特殊描画処理を実行するものとして定める(A4)。
「特殊描画処理」とは、バンド1の出力を必ず最初に行う必要があるため、その前に行う描画処理であり、事前描画処理の実行後であって、リアルタイム描画処理の実行前に実行する描画処理として定義することができる。
次に、制御部103は、描画種類の判定に用いるマージンT及びマージンtを初期化し(A5)、バンド1に関するマージンT及びマージンtを0に設定する。
そして、制御部103は、2バンド目以降の各バンドにおけるマージンTを次式(1)によって算出する(A6)。
T=t+S−R ・・・・・・・・・・・(1)
(ただし、tを直前のバンドに関するマージン、Sをバンドごとの出力時間、Rをそのバンドの描画時間とする。)
ここで、制御部103は、ステップA6で求めたマージンTが0より小さいか否かによって、事前描画処理とするか、リアルタイム描画処理とするか、を判定する(A7)。
すなわち、ステップA7の結果、T<0であれば(A7:Y)、制御部103は、そのバンドの描画は事前描画処理を行うものと判定する(A8)。
なお、ステップA8に続き、制御部103は、次のバンドのマージンT計算のためのマージンtを次式(2)によって求めておく(A9)。
t=T+R ・・・・・・・・・・・(2)
一方、ステップA7において、T≧0であれば(A7:N)、制御部103は、そのバンドの描画はリアルタイム描画処理を行うものと判定する(A10)。
ステップA10に続き、制御部103は、マージンTが、出力時間(S)より大きいか否かを判定することによって、マージンtの値を調整する(A11)。
具体的には、T>Sであれば(A11:Y)、制御部103は、マージンtを次式によって求める(A12)。
t=S ・・・・・・・・・・・(3)
また、T≦Sであれば(A11:N)、制御部103は、マージンtを次式によって求める(A13)。
t=T ・・・・・・・・・・・(4)
そして、ステップA6〜A13の処理を1ページに属するすべてのバンド、すなわちバンド1〜バンド14に対して行う(A14)。
これにより、図3の表図の最下段に示すように、各バンドごとの描画種類が判定されることとなる。
また、同時に、バンド毎の描画処理の順序も以下のように決定する。
「バンド6」→「バンド8」→「バンド9」(以上、事前描画処理)→「バンド1」(特殊描画処理)→「バンド2」→「バンド3」→「バンド4」→「バンド5」→「バンド7」→「バンド10」→「バンド11」→「バンド12」→「バンド13」→「バンド14」(以上、リアルタイム描画処理)
ここで、図3のうち、バンド1、バンド2及びバンド8を例に挙げて以下詳細に説明を行う。なお、本例において、1バンド当たりの出力時間Sは、一定であり100msとする。
(バンド1)
バンド1は、前述のステップA4で説明したとおり固定的に特殊描画処理と判定される。
なお、ここでのマージンtは、前述のステップA5で説明したとおり0が設定される。
(バンド2)
バンド2におけるマージンTは、上記式(1)にもとづいて求める。
ここでは、図3の表図から、t=0、S=100ms、R=40msが読み取れるため、T=0+100−40=60となる。
したがって、ステップA7の判定によると、T≧0となるため(A7:N)、バンド2はリアルタイム描画処理と判定される(A10)。
なお、ステップA11により、T≦出力時間Sとなるため(A11:N)、t=T、つまりt=60に調整され(A13)、バンド3のマージンTの計算に用いられることとなる。
(バンド8)
バンド8におけるマージンTも、上記式(1)にもとづいて求める。
ここでは、図3の表図から、t=20、S=100ms、R=160が読み取れるため、T=20+100−160=−40となる。
したがって、ステップA7の判定によると、T<0となるため(A7:Y)、バンド8は事前描画処理と判定される。
なお、ステップA9により、T≦出力時間Sとなるため、t=T+R=(−40)+160=120に調整され、バンド9のマージンTの計算に用いられることとなる。
描画部104は、図1に示すとおり、制御部103の制御のもと、各中間データの描画処理を行うことでバンド毎に描画データを生成するものである。
そして、生成された描画データは、記憶部105の描画メモリ105a〜105cのいずれかに書き込まれる(本発明の描画書込手段、事前書込手段)。
なお、描画メモリ105a〜105cに書き込まれた描画データは、その出力が終了するまで保持される。
記憶部105は、3つの描画メモリ105a〜105cを有し、描画部104によって生成された各バンドの描画データ又は伸張部108によって伸張された描画データを、描画メモリ105a〜105cを順に切り替えながら書き込みを行う。
本実施形態の場合、描画メモリ105aを基準として105a→105b→105cの順が正の順(+)で、その逆が負の順(−)としており、初期値として正の順(+)が設定されている。
したがって、基本動作として、バンド1→105a、バンド2→105b、バンド3→105c、バンド4→105a、バンド5→105b、・・・といったサイクルで、バンド順に3つの描画メモリが対応するように繰り返しながら描画データの書き込みを行う。
ただし、事前描画処理に係る圧縮描画データについては、前記サイクルに関わらず、その2つ前のバンドの描画データが保持されていた描画メモリに書き込みを行い、また、この場合、前述した書き込みのサイクルを変更することによって効率よく描画処理が実行できる構成としている。
圧縮部106は、圧縮対象の描画データを圧縮データ形式に変換することによってそのデータサイズを縮小させるものである。
具体的には、事前描画処理対象の描画データを描画メモリから抽出して圧縮処理を行う。
圧縮メモリ107は、圧縮部106によって圧縮された描画データの圧縮データを一時的に保持しておくものである。
伸張部108は、所定のタイミングで圧縮メモリ107にある圧縮データを伸張し、もとの描画データを復元するものであり、伸張された描画データは描画メモリ105a〜105cに書き込まれる。
特に、本実施形態の画像形成装置は、係る伸張データが出力時間より短いことを利用するものであり、伸張処理をその出力の直前のバンドの出力開始(又は、その2つ前のバンドの描画終了)と同時に行うことによって、伸張データのメモリ保持時間を短縮できる作用効果を備えている。
出力部109は、描画メモリ105a〜105cに保持されてある描画データをバンド順に読み出し、出力するものである。
(書き込みメモリと読み出しメモリの設定方法)
ここで、本実施形態に係る画像形成装置の特徴である3つのメモリの書き込みと読み出しのプロセスについて説明する。
図4は、本実施形態の画像形成装置が図3に示すサンプル印刷データを描画する場合の描画メモリの書き込み方法を示したフローチャートである。
また、図5は、本実施形態の画像形成装置が図3に示すサンプル印刷データを出力する場合の描画メモリの読み出し方法を示したフローチャートである。
なお、以下の説明において行われる描画処理や出力処理は実際の処理ではなく、書き込みメモリや読み出しメモリを予め設定するためにCPU等で仮想的に行われる演算処理のことを示す。
図4に示すとおり、描画処理に先立って、まず、所定の初期化処理を行う(B1)。
具体的には、書込メモリ番号を「1」に設定し、読出メモリ番号を「3」に設定し、メモリカウンタを「2」に設定する。なお、メモリ番号1は描画メモリ105a、メモリ番号2は描画メモリ105b、メモリ番号3は描画メモリ105cにそれぞれ対応しており、例えば、書込順「+」のもとインクリメントされるたびに、「1」→「2」→「3」→「1」→「2」のように1〜3のサイクルで書き込みが繰り返され、読出順「+」のもとインクリメントされるたびに、同様のサイクルで読み出しが繰り返される。
なお、書込順と読出順の初期値をそれぞれ「+」とし、フラグの初期値を「flag=0」とする。
そして、図4に示す、ステップB2以下の各ステップは、既に決定している描画処理の順にしたがって各バンドについて制御部103の制御のもと処理が行われるものとする。
(事前描画処理:バンド6の描画)
ここで、制御部103は、最初のバンドに該当するバンド6に対する描画命令を行われ、描画データが生成される(B2)。
そして、書込メモリ番号は、初期値「1」であるため、バンド6の描画データはメモリ1に対応する描画メモリ105aに書き込まれることとなる。
なお、描画処理の終了を待ち(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む(B4)。
(事前描画処理:バンド8の描画)
ここで、制御部103は、次の描画処理対象であるバンド8の諸情報を取得する(B5)。
具体的には、そのバンドの描画種類やその描画の順番等のデータを取得し、ステップB6の判断に利用する。
そして、制御部103は、バンド8の描画種類を判定する(B6)。
ステップB6の判定の結果、バンド8は、「事前描画処理」と判定されるため(B6:a)、書込メモリ番号を1インクリメントして書込メモリ番号「2」を指定するとともに、読出メモリ番号を1インクリメントして読出メモリ番号「1」を指定する(B7)。
次いで、ステップB7で行ったメモリ指定に対応し、読出メモリ番号「1」に対応する描画メモリ105aからバンド6の描画データを読み出して圧縮処理を行い、その圧縮データを圧縮メモリ107に保持させるとともに(B8)、バンド8の描画処理を行い書込メモリ番号「2」に対応する描画メモリ105bに描画データを書き込む(B9)。
そして、バンド8の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む(B4)。
(事前描画処理:バンド9の描画)
ここで、制御部103は、次の描画処理対象であるバンド9の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド9は、「事前描画処理」と判定されるため(B6:a)、書込メモリ番号を1インクリメントして書込メモリ番号「3」を指定するとともに、読出メモリ番号を1インクリメントして読出メモリ番号「2」を指定する(B7)。
次いで、ステップB7で行ったメモリ指定に対応し、読出メモリ番号「2」に対応する描画メモリ105bからバンド8の描画データを読み出して圧縮処理を行い、その圧縮データを圧縮メモリ107に保持させるとともに(B8)、バンド9の描画処理を行い書込メモリ番号「3」に対応する描画メモリ105cに描画データを書き込む(B9)。
そして、バンド9の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む。
(特殊描画処理:バンド1の描画・書込)
ここで、制御部103は、次の描画処理対象であるバンド1の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド1は、「特殊描画処理」と判定されるため(B6:a)、書込メモリ番号を1インクリメントして書込メモリ番号「1」を指定するとともに、読出メモリ番号を1インクリメントして読出メモリ番号「3」を指定する(B7)。
次いで、ステップB7で行ったメモリ指定に応じ、読出メモリ番号「3」に対応する描画メモリ105cからバンド9の描画データを読み出して圧縮処理を行い、その圧縮データを圧縮メモリ107に保持させるとともに(B8)、バンド1の描画データを、書込メモリ番号「1」に対応する描画メモリ105aに書き込む(B9)。
そして、バンド1の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き、次のステップに進む。
(リアルタイム描画処理:バンド2の描画・書込)
ここで、制御部103は、次の描画処理対象であるバンド2の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド2は、「最初のリアルタイム描画処理」と判定されるため(B6:b)、書込メモリ番号を1インクリメントして書込メモリ番号「2」を指定するとともに、メモリカウンタを1インクリメントして「3」とする(B10)。
また、ステップB10の処理に応じて出力命令が発せられ(B11)、このタイミングで書込メモリに係るプログラムと読出メモリに係るプログラムとが連動しながら並列に実行される。
次いで、ステップB10で行ったメモリ指定に応じ、バンド2の描画データを、書込メモリ番号「2」に対応する描画メモリ105bに書き込む(B12)。
そして、バンド2の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む。
ここで、制御部103は、次の描画処理対象であるバンド3の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド3は、「2番目以降のリアルタイム描画処理」と判定されるため(B6:c)、次に、メモリカウンタがフル(3)か否かを判定する(B13)。
ここでは、メモリカウンタがフルであるため(B13:N)、メモリカウンタがデクリメントされるまで次の処理には進むことができない。
つまり、3つある描画メモリ105a〜105cはすべて描画データが保持されている状態であるため、出力処理によっていずれかのメモリが解放される(図5のステップC3参照)までは次の描画データの書き込みを制限する趣旨である。
したがって、次に、図5に示す出力処理に移行する。
図5に示す出力処理に関しては、一連の処理をバンド1〜バンド14まで順にしたがって行う。
(バンド1の読出・出力)
したがって、最初の処理としては、バンド1についてのバンド情報(描画種類等)を取得するところから始まる(C1)。
ここで、バンド1の次のバンドが事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド2は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「3」であるため読出メモリ番号は「1」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号「1」に対応する描画メモリ105aからバンド1の描画データを読み出し、出力処理を行う(C4)。
次に、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
そして、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(リアルタイム描画処理:バンド3の描画・書込)
図4に戻り、ステップC3の処理によりメモリカウンタがフルではなくなったため(B13:N)、書込メモリ番号を1インクリメントして書込メモリ番号「3」を指定するとともに、メモリカウンタを1インクリメントして「3」とする(B14)。
次いで、ステップB14で行ったメモリ指定に応じ、バンド3の描画データを、書込メモリ番号「3」に対応する描画メモリ105cに書き込む(B15)。
ここで、フラグ判定を行い(B16)、「flag=0」なので、そのまま次のステップ(B3)にすすむ。
そして、バンド3の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む。
ここで、制御部103は、次の描画処理対象であるバンド4の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド4は、「2番目以降のリアルタイム描画処理」と判定されるため(B6:c)、次に、メモリカウンタがフル(3)か否かを判定する(B13)。
また、ステップB13の判定の結果、メモリカウンタはフルであるため図5に示す出力処理に移行する。
(バンド2の読出・出力)
図5に示すように、ここでは、まず、バンド2に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド2の次のバンドであるバンド3が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド3は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「1」であるため読出メモリ番号は「2」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号2に対応する描画メモリ105bからバンド2の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(リアルタイム描画処理:バンド4の描画・書込)
図4に戻り、ステップC3の処理によりメモリカウンタがフルではなくなったため(B13:N)、書込メモリ番号を1インクリメントして書込メモリ番号「1」を指定するとともに、メモリカウンタを1インクリメントして「3」とする(B14)。
次いで、ステップB14で行ったメモリ指定に応じ、バンド4の描画データを、書込メモリ番号「1」に対応する描画メモリ105aに書き込む(B15)。
ここで、フラグ判定を行い(B16)、「flag=0」なので、そのまま次のステップ(B3)にすすむ。
そして、バンド4の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む。
ここで、制御部103は、次の描画処理対象であるバンド5の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド5は、「2番目以降のリアルタイム描画処理」と判定されるため(B6:c)、次に、メモリカウンタがフル(3)か否かを判定する(B13)。
また、ステップB13の判定の結果、メモリカウンタはフルであるため図5に示す出力処理に移行する。
(バンド3の読出・出力)
図5に示すように、ここでは、まず、バンド3に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド3の次のバンドであるバンド4が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド4は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「2」であるため読出メモリ番号は「3」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号3に対応する描画メモリ105cからバンド3の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(リアルタイム描画処理:バンド5の描画・書込)
図4に戻り、ステップC3の処理によりメモリカウンタがフルではなくなったため(B13:N)、書込メモリ番号を1インクリメントして書込メモリ番号「2」を指定するとともに、メモリカウンタを1インクリメントして「3」とする(B14)。
次いで、ステップB14で行ったメモリ指定に応じ、バンド5の描画データを、書込メモリ番号「2」に対応する描画メモリ105bに書き込む(B15)。
ここで、フラグ判定を行い(B16)、「flag=0」なので、そのまま次のステップ(B3)にすすむ。
そして、バンド5の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む。
ここで、制御部103は、次の描画処理対象であるバンド7の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド7は、「2番目以降のリアルタイム描画処理」と判定されるため(B6:c)、メモリカウンタがフル(3)か否かを判定する(B13)。
ステップB13の判定の結果、メモリカウンタはフルであるため図5に示す出力処理に移行する。
(バンド4の読出・出力)
図5に示すように、ここでは、まず、バンド4に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド4の次のバンドであるバンド5が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド5は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「3」であるため読出メモリ番号は「1」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号1に対応する描画メモリ105aからバンド4の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(リアルタイム描画処理:バンド7の描画・書込)
図4に戻り、ステップC3の処理によりメモリカウンタがフルではなくなったため(B13:N)、書込メモリ番号を1インクリメントして書込メモリ番号「3」を指定するとともに、メモリカウンタを1インクリメントして「3」とする(B14)。
次いで、ステップB14で行ったメモリ指定に応じ、バンド7の描画データを、書込メモリ番号「3」に対応する描画メモリ105cに書き込む(B15)。
ここで、フラグ判定を行い(B16)、「flag=0」なので、そのまま次のステップ(B3)にすすむ。
そして、バンド7の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む。
ここで、制御部103は、次の描画処理対象であるバンド10の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド10は、「2番目以降のリアルタイム描画処理」と判定されるため(B6:c)、次に、メモリカウンタがフル(3)か否かを判定する(B13)。
また、ステップB13の判定の結果、メモリカウンタはフルであるため図5に示す出力処理に移行する。
(バンド5の読出・出力)
図5に示すように、ここでは、まず、バンド5に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド5の次のバンドであるバンド6が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド6は事前描画処理に該当するので(C2:Y)、バンド6の伸張先を指定するため、書込メモリ番号を1インクリメントして書込メモリ番号「1」を指定する(C5)。
また、バンド6について伸張処理を行い、その描画データを書込メモリ番号「1」に対応する描画メモリ105aに書き込む(C6)。
ここで、フラグ判定を行い(C7)、「flag=0」なので、読出メモリ番号を1インクリメントして読出メモリ番号「2」を指定するとともに、「flag=1」とする(C9)。
次いで、読出メモリ番号「2」に相当する描画メモリ105bからバンド5の描画データを読み出し、出力処理を行う(C10)。
また、読出順を反転して「−」とする。
次に、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
そして、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(バンド6の読出・出力)
続いて、バンド6の出力処理を行うため、バンド6に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド6の次のバンドであるバンド7が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド7は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「2」であり、読出順が「−」であるため、読出メモリ番号は「1」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号1に対応する描画メモリ105aからバンド6の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(リアルタイム描画処理:バンド10の描画・書込)
図4に戻り、ステップC3の処理によりメモリカウンタがフルではなくなったため(B13:N)、書込メモリ番号を1インクリメントして書込メモリ番号「2」を指定するとともに、メモリカウンタを1インクリメントして「3」とする(B14)。
次いで、ステップB14で行ったメモリ指定に応じ、バンド10の描画データを、書込メモリ番号「2」に相当する描画メモリ105bに書き込む(B15)。
ここで、フラグ判定を行い(B16)、「flag=1」なので、書込順を反転して「−」とするとともに、「flag=0」にして次のステップ(B3)にすすむ(B17)。
そして、バンド10の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに移行する。
次に、制御部103は、次の描画処理対象であるバンド11の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド11は、「2番目以降のリアルタイム描画処理」と判定されるため(B6:c)、メモリカウンタがフル(3)か否かを判定する(B13)。
また、ステップB13の判定の結果、メモリカウンタはフルであるため図5に示す出力処理に移行する。
(バンド7の読出・出力)
続いて、バンド7の出力処理を行うため、バンド7に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド7の次のバンドであるバンド8が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド8は事前描画処理に該当するので(C2:Y)、バンド8の伸張先を指定するため書込メモリ番号を1インクリメントする。
現在、書込メモリ番号は「2」であり、書込順は「−」であるため、書込メモリ番号「1」を指定する(C5)。
これに伴い、バンド8について伸張処理を行い、その描画データを書込メモリ番号「1」に対応する描画メモリ105aに書き込む(C6)。
次に、フラグ判定を行い(C7)、「flag=0」なので、読出メモリ番号を1インクリメントして読出メモリ番号「3」を指定するとともに、「flag=1」とする。
そして、読出メモリ番号「3」に相当する描画メモリ105cからバンド7の描画データを読み出し、出力処理を行う(C10)。
また、読出順を反転して「+」とする。
次に、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
そして、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(バンド8の読出・出力)
続いて、バンド8の出力処理を行うため、まず、バンド8に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド8の次のバンドであるバンド9が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド9は事前描画処理に該当するので(C2:Y)、バンド9の伸張先を指定するため書込メモリ番号を1インクリメントする。
現在、書込メモリ番号は「1」であり、書込順は「−」であるため、書込メモリ番号「3」を指定する(C5)。
これに伴い、バンド9について伸張処理を行い、その描画データを書込メモリ番号「3」に対応する描画メモリ105cに書き込む(C6)。
次に、フラグ判定を行い(C7)、「flag=1」なので、書込順を反転して「+」とする(C8)。
また、読出メモリ番号を1インクリメントするとともに「flag=1」とする(C9)。
現在、読出メモリ番号は「3」であり、読出順は「+」であるため、読出メモリ番号「1」を指定する。
そして、読出メモリ番号「1」に相当する描画メモリ105aからバンド8の描画データを読み出し、出力処理を行う(C10)。
次いで、読出順を反転して「−」とする(C11)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(バンド9の読出・出力)
続いて、バンド9の出力処理を行うため、バンド9に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド9の次のバンドであるバンド10が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド10は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「1」であり、読出順が「−」であるため、読出メモリ番号は「3」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号「3」に対応する描画メモリ105cからバンド9の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(リアルタイム描画処理:バンド11の描画・書込)
図4に戻り、ステップC3の処理によりメモリカウンタがフルではなくなったため(B13:N)、書込メモリ番号を1インクリメントするとともに、メモリカウンタを1インクリメントして「3」とする(B14)。
現在、書込メモリ番号は「3」であり、書込順は「+」であるため、書込メモリ番号「1」を指定する。
次いで、ステップB14で行ったメモリ指定に応じ、バンド11の描画データを、書込メモリ番号「1」に対応する描画メモリ105aに書き込む(B15)。
ここで、フラグ判定を行い(B16)、「flag=1」なので、書込順を反転して「−」とするとともに、「flag=0」にして次のステップ(B3)に進む(B17)。
そして、バンド11の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む。
ここで、制御部103は、次の描画処理対象であるバンド12の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド12は、「2番目以降のリアルタイム描画処理」と判定されるため(B6:c)、メモリカウンタがフル(3)か否かを判定する(B13)。
ステップB13の判定の結果、メモリカウンタはフルであるため図5に示す出力処理に移行する。
(バンド10の読出・出力)
続いて、バンド10の出力処理を行うため、バンド10に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド10の次のバンドであるバンド11が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド11は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「3」であり、読出順が「−」であるため、読出メモリ番号は「2」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号「2」に対応する描画メモリ105bからバンド10の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(リアルタイム描画処理:バンド12の描画・書込)
図4に戻り、ステップC3の処理によりメモリカウンタがフルではなくなったため(B13:N)、書込メモリ番号を1インクリメントするとともに、メモリカウンタを1インクリメントして「3」とする(B14)。
現在、書込メモリ番号は「1」であり、書込順は「−」であるため、書込メモリ番号「3」を指定する。
次いで、ステップB14で行ったメモリ指定に応じ、バンド12の描画データを、書込メモリ番号「3」に対応する描画メモリ105cに書き込む(B15)。
ここで、フラグ判定を行い(B16)、「flag=0」なので、そのまま次のステップ(B3)に進む(B17)。
そして、バンド12の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む。
ここで、制御部103は、次の描画処理対象であるバンド13の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド13は、「2番目以降のリアルタイム描画処理」と判定されるため(B6:c)、メモリカウンタがフル(3)か否かを判定する(B13)。
また、ステップB13の判定の結果、メモリカウンタはフルであるため図5に示す出力処理に移行する。
(バンド11の読出・出力)
続いて、バンド11の出力処理を行うため、バンド11に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド11の次のバンドであるバンド12が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド12は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「2」であり、読出順が「−」であるため、読出メモリ番号は「1」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号「1」に対応する描画メモリ105aからバンド11の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(リアルタイム描画処理:バンド13の描画・書込)
図4に戻り、ステップC3の処理によりメモリカウンタがフルではなくなったため(B13:N)、書込メモリ番号を1インクリメントするとともに、メモリカウンタを1インクリメントして「3」とする(B14)。
現在、書込メモリ番号は「3」であり、書込順は「−」であるため、書込メモリ番号「2」を指定する。
次いで、ステップB14で行ったメモリ指定に応じ、バンド13の描画データを、書込メモリ番号「2」に対応する描画メモリ105bに書き込む(B15)。
ここで、フラグ判定を行い(B16)、「flag=0」なので、そのまま次のステップ(B3)に進む(B17)。
そして、バンド13の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了した場合を除き次のステップに進む。
ここで、制御部103は、次の描画処理対象であるバンド14の諸情報を取得し(B5)、その描画種類を判定する(B6)。
ステップB6の判定の結果、バンド14は、「2番目以降のリアルタイム描画処理」と判定されるため(B6:c)、メモリカウンタがフル(3)か否かを判定する(B13)。
ステップB13の判定の結果、メモリカウンタはフルであるため図5に示す出力処理に移行する。
(バンド12の読出・出力)
続いて、バンド12の出力処理を行うため、バンド12に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド12の次のバンドであるバンド13が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド13は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「1」であり、読出順が「−」であるため、読出メモリ番号は「3」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号「3」に対応する描画メモリ105cからバンド12の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(リアルタイム描画処理:バンド14の描画・書込)
図4に戻り、ステップC3の処理によりメモリカウンタがフルではなくなったため(B13:N)、書込メモリ番号を1インクリメントするとともに、メモリカウンタを1インクリメントして「3」とする(B14)。
現在、書込メモリ番号は「2」であり、書込順は「−」であるため、書込メモリ番号「1」を指定する。
次いで、ステップB14で行ったメモリ指定に応じ、バンド14の描画データを、書込メモリ番号「1」に対応する描画メモリ105aに書き込む(B15)。
ここで、フラグ判定を行い(B16)、「flag=0」なので、そのまま次のステップ(B3)に進む(B17)。
そして、描画部104は、バンド14の描画処理が終了すると(B3:YES)、全バンドの描画処理が終了するため(B4:YES)、描画処理に係る書き込みメモリの設定プロセスは終了する。
(バンド13の読出・出力)
続いて、バンド13の出力処理を行うため、バンド13に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド13の次のバンドであるバンド14が事前描画処理の対象か否かを判定する(C2)。
ステップC2の判定の結果、バンド14は事前描画処理ではないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「3」であり、読出順が「−」であるため、読出メモリ番号は「2」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号「2」に対応する描画メモリ105bからバンド13の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了した場合を除き次のステップに進む(C13)。
(バンド14の読出・出力)
続いて、バンド14の出力処理を行うため、バンド14に関するバンド情報(描画種類等)を取得する(C1)。
ここで、バンド14の次のバンドが事前描画処理の対象か否かを判定する(C2)。
なお、バンド14の次のバンドは存在しないが、理論上、事前描画処理には該当しないので(C2:N)、読出メモリ番号を1インクリメントするとともにメモリカウンタを1デクリメントする(C3)。
現在、読出メモリ番号は「2」であり、読出順が「−」であるため、読出メモリ番号は「1」に指定され、また、メモリカウンタは「3」から「2」になる。
次いで、ステップC3で行ったメモリ指定に応じ、読出メモリ番号「1」に対応する描画メモリ105aからバンド14の描画データを読み出し、出力処理を行う(C4)。
そして、1バンド分の処理が終了するまで次の処理を待機させる(C12)。
また、全バンドの処理が終了するため(C13:YES)、出力処理に係る読み出しメモリのプロセスは終了する。
図6は、本実施形態の画像形成装置が図3に示すサンプル印刷データを描画・出力する場合のメモリ番号の推移とバンド番号の対応を示した表図である。
すなわち、図3に示すサンプル印刷データについて図4及び図5に示すフローにもとづく上述の各処理を行うことにより、書込メモリ番号の推移とバンド番号の対応は図6(a)に示すようになり、また、読出メモリ番号の推移とバンド番号の対応は図6(b)に示すようになる。
同図に示すように、書き込み及び読み出しのサイクルを反転させたり、また、正転に戻すことによって、描画メモリの割当を工夫し、メモリが使用になり次第描画処理が行えるようにしている。
そして、これを、時系列に表すと、図7のタイムチャートとして表すことができる。
図7は、本実施形態の画像形成装置が、図3に示すサンプル印刷データを描画・出力した結果を時系列に示したタイムチャートである。
同図を参照すると、従来に比べ、ファーストプリントまでの時間が短縮されるとともに、リアルタイム描画処理時におけるレンダリング待ち時間の縮小化が図られ、全体として出力のスループットが向上したことを理解することができる。
なお、図8は、メモリを3つ搭載したとする従来の画像形成装置が、図3に示すサンプル印刷データを描画・出力した結果を時系列に示したタイムチャートである。
つまり、図8に係る画像形成装置では、特段のメモリ制御は行わず、バンド順にメモリへの書き込み及び読み出しを通常のバンディング処理の手順にもとづいて行った例である。
同図と図7を比較するとわかるように、本実施形態に係る画像形成装置は、(1)事前描画処理の対象バンド数が少なくその分ファーストプリントまでの時間を短縮できている。(2)リアルタイム描画処理におけるレンダリング待ち時間が少なく効率よく描画処理及び出力処理が行われている。(3)出力開始から出力終了までのページ出力時間を短縮できる。(4)事前処理開始から出力終了までの総合処理時間を短縮できる。
以上説明したように、本実施形態の画像形成装置10によれば、オーバーランを回避できることは勿論のこと、3つの描画メモリ105a〜105cを搭載し、所定のサイクルで交互に描画データの書込・読み出しを行うことによって出力スループットを飛躍的に向上させている。
特に、すべてのバンドの描画処理をバンド順に行うのではなく、本発明に特有の演算式を用いて3つ以上のメモリを効果的に利用することで、空き時間を有効に利用でき、また、事前描画処理の対象を効果的に減らすようにしている。
つまり、従来のように2つのメモリを使用する方法では、描画時間が出力時間を超過したものはすべて事前描画処理の対象となり、印刷開始までの時間を無用に長くしていたが、本実施形態の画像形成装置によれば、そのような無駄を排除することができる。
そして、圧縮処理時間や伸張処理時間が出力時間よりも短い特性を利用し、伸張処理をそのバンドの前のバンドの出力開始と同時(つまり、そのバンドの2つ前のバンドの描画処理の終了と同時)に行うようにしており、さらに、伸張データを3つの描画メモリ105a〜105cに他の描画データとともに共有して保持させるようにしている。
このため、伸張データが出力されるまでのメモリ保持時間を縮小することができ、全体として無駄が少なく効率よいメモリの使用が可能となる。
また、前述したように、事前描画処理の対象を減らすことができるので、ファーストプリントまでの時間を短縮化するとともに、事前描画に係るメモリ(圧縮メモリ)の縮小を図ることができる。
そして、レンダリング待ち時間を削減し、結果、総合的な処理時間を短縮し、高速出力を可能としている。
さらに、描画メモリの有効利用を実現しているため、例え、メモリの個数が複数となっても個々の記憶領域を抑えることができるため、メモリに係るトータルコストを抑えることができる。
ここで、上述した本実施形態の画像形成装置10は、プログラム(ソフトウェア)の命令によりコンピュータで実行される処理,手段,機能によって実現される。プログラムは、コンピュータの各構成要素に指令を送り、以下に示すような所定の処理・機能を行わせる。すなわち、本実施形態の画像形成装置10における各処理・手段は、プログラムとコンピュータとが協働した具体的手段によって実現される。
なお、プログラムの全部又は一部は、例えば、磁気ディスク,光ディスク,半導体メモリ,その他任意のコンピュータで読取り可能な記録媒体により提供され、記録媒体から読み出されたプログラムがコンピュータにインストールされて実行される。また、プログラムは、記録媒体を介さず、通信回線を通じて直接にコンピュータにロードし実行することもできる。
以上、本発明の画像形成装置について、好ましい実施形態を示して説明したが、本発明にかかる画像形成装置は、上述した実施形態に限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、本発明の画像形成装置10は、3つの物理的な描画メモリを搭載しているが、このような形態に限らず、3つの記憶領域を有する記憶媒体が少なくとも1つ搭載されていれば良い。
本発明は、ページプリンタ装置などの画像形成装置に好適に利用することができる。
10 画像形成装置
101 中間データ生成部
102 描画時間計測部
103 制御部
104 描画部
105 記憶部
105a〜105c 描画メモリ
106 圧縮部
107 圧縮メモリ
108 伸張部
109 出力部

Claims (12)

  1. 対象の画像データを所定のバンド領域に分割しバンド毎に中間データを生成する中間データ生成部と、前記中間データに対し所定バンド順に描画処理を行う描画部と、前記描画処理によって得られる描画データを保持する記憶部と、前記記憶部から読み出される描画データに対し一定間隔で出力を行う出力部と、を有する画像形成装置であって、
    前記中間データ生成部が生成した各中間データの描画時間を算出する描画時間算出手段と、
    前記描画時間に応じ、前記各中間データについて、中間データの出力前に描画を行う事前描画処理とするか、他の中間データの出力と並行して描画を行うリアルタイム描画処理とするか、を判定し、そのいずれかを前記描画部に実行させる描画制御手段と、
    前記事前描画処理により得られる各描画データを圧縮し所定の圧縮記憶領域に書き込む事前書込手段と、
    前記圧縮記憶領域に書き込まれた描画データの伸張処理を行う伸張手段と、
    描画処理又は伸張処理の実行により得られる各描画データを、所定の規則にもとづき、前記記憶部の記憶領域を替えながら書き込む描画書込手段と、
    前記記憶領域に書き込まれた各描画データを、前記所定バンド順に読み出す読出手段と、を備えることを特徴とする画像形成装置。
  2. 前記記憶部は、少なくとも3つの記憶領域を有し、
    描画処理の実行により得られる描画データを、その実行の順に応じ一定のサイクルで前記記憶領域を替えながら書き込む前記描画書込手段と、
    前記記憶領域に書き込まれた各描画データを、前記サイクルに応じて前記記憶領域から順に読み出す前記読出手段と、を備え、
    前記描画書込手段は、前記描画データに前記事前描画処理に係る描画データが含まれる場合には、前記描画データを、所定の規則にもとづき前記サイクルを反転して前記記憶領域に書き込むとともに
    前記読み出し手段は、前記記憶領域に書き込まれた前記各描画データを、所定の規則にもとづき前記サイクルを反転して前記記憶領域から読み出す請求項1記載の画像形成装置。
  3. 前記描画制御手段は、前記サイクルに応じた順序で前記伸張処理及び前記リアルタイム描画処理を実行させる請求項2記載の画像形成装置。
  4. 前記描画制御手段は、最初のバンドの中間データに対し、前記事前描画処理の後で、かつ、前記リアルタイム描画処理の前に描画を行う特殊描画処理を前記描画部に実行させ、
    前記描画書込手段は、前記特殊描画処理の実行により得られる描画データを前記記憶領域のいずれかに書き込み、
    前記読出手段が、前記記憶領域に書き込まれた前記特殊描画処理に係る描画データをその特殊描画処理の終了に応じて読み出す請求項2又は3記載の画像形成装置。
  5. 前記描画制御手段が、前記特殊描画処理の終了に応じ、前記リアルタイム描画処理の対象となる中間データの描画処理を開始させるとともに、
    前記描画書込手段が、前記リアルタイム描画処理の実行により得られる描画データを、前記特殊描画処理に係る描画データが書き込まれた前記記憶領域を基準とする基準サイクルで他の記憶領域から順に書き込みを行い、
    前記読出手段が、前記リアルタイム描画処理に係る描画データを、前記基準サイクルにもとづき前記他の記憶領域から順に読み出しを行う請求項4記載の画像形成装置。
  6. 前記伸張手段は、前記圧縮記憶領域に書き込まれた描画データについて、そのバンドの2つ前のバンドに係る中間データの描画終了又はそのバンドの直前のバンドに係る描画データの出力開始に応じて伸張処理を行うとともに、
    前記描画書込手段は、その伸張処理により得られる描画データを、当該描画データのバンドの2つ前のバンドの描画データが書き込まれていた記憶領域に書きこむ請求項1乃至5のいずれか一項記載の画像形成装置。
  7. 前記描画制御手段は、伸張処理に係る描画データのバンドの次のバンドに係る中間データのリアルタイム描画処理をその伸張処理の直前に実行させる請求項6記載の画像形成装置。
  8. 前記描画書込手段は、前記伸張処理に係る描画データが書き込まれた記憶領域の2つ後以降の書き込みのサイクルについては、元のサイクルと逆のサイクルで記憶領域に書き込みを行う請求項5乃至7のいずれか一項記載の画像形成装置。
  9. 前記読出手段は、前記伸張処理に係る描画データが書き込まれた記憶領域以降の読み出しのサイクルについては、元のサイクルと逆のサイクルで記憶領域から読み出しを行う請求項5乃至8のいずれか一項記載の画像形成装置。
  10. 最初のバンドを除く各バンドに関するマージンTを次式(1)によって算出し、
    前記描画制御手段は、
    前記マージンTが0より小さい場合には、そのバンドの描画について前記事前描画処理を判定し、前記マージンTが0以上である場合には、そのバンドの描画について前記リアルタイム描画処理を判定する請求項1乃至9のいずれか一項記載の画像形成装置。
    T=t+S−R ・・・・・・・・・・・(1)
    (ただし、tを直前のバンドに関するマージン、Sをバンドごとの出力時間、Rをそのバンドの描画時間とし、最初のバンドに関するマージンT及びマージンtを0とする。)
  11. 前記描画制御手段が、任意のバンドの描画処理について前記事前描画処理を判定した場合には、そのバンドの次のバンドに関する前記マージンtを次式(2)によって求め、
    前記描画制御手段が、任意のバンドの描画処理について前記リアルタイム描画処理を判定した場合には、そのバンドの次のバンドに関する前記マージンtを、次式(3)、(4)によって求める請求項10記載の画像形成装置。
    t=T+R ・・・・・・・・・・・(2)
    t=S(T>Sの場合) ・・・・・・・・・・・(3)
    t=T(T≦Sの場合) ・・・・・・・・・・・(4)
  12. 対象の画像データを所定のバンド領域に分割しバンド毎に中間データを生成する中間データ生成部と、前記中間データに対し所定バンド順に描画処理を行う描画部と、前記描画処理によって得られる描画データを保持する記憶部と、前記記憶部から読み出される描画データに対し一定間隔で出力を行う出力部と、を有する画像形成装置による画像形成方法であって、
    前記中間データ生成部が生成した各中間データの描画時間を算出する描画時間算出ステップと、
    前記描画時間に応じ、前記各中間データについて、中間データの出力前に描画を行う事前描画処理とするか、他の中間データの出力と並行して描画を行うリアルタイム描画処理とするか、を判定し、そのいずれかを前記描画部に実行させる描画制御ステップと、
    前記事前描画処理により得られる各描画データを圧縮し所定の圧縮記憶領域に書き込む事前書込ステップと、
    前記圧縮記憶領域に書き込まれた描画データの伸張処理を行う伸張ステップと、
    描画処理又は伸張処理の実行により得られる各描画データを、所定の規則にもとづき、前記記憶部の記憶領域を替えながら書き込む描画書込ステップと、
    前記記憶領域に書き込まれた各描画データを、前記所定バンド順に読み出す読出ステップと、を有することを特徴とする画像形成方法。
JP2009024441A 2009-02-05 2009-02-05 画像形成装置及び画像形成方法 Expired - Fee Related JP5210913B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009024441A JP5210913B2 (ja) 2009-02-05 2009-02-05 画像形成装置及び画像形成方法
US12/689,612 US8446628B2 (en) 2009-02-05 2010-01-19 Image forming apparatus and image forming method having improved rendering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009024441A JP5210913B2 (ja) 2009-02-05 2009-02-05 画像形成装置及び画像形成方法

Publications (2)

Publication Number Publication Date
JP2010179546A true JP2010179546A (ja) 2010-08-19
JP5210913B2 JP5210913B2 (ja) 2013-06-12

Family

ID=42397472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009024441A Expired - Fee Related JP5210913B2 (ja) 2009-02-05 2009-02-05 画像形成装置及び画像形成方法

Country Status (2)

Country Link
US (1) US8446628B2 (ja)
JP (1) JP5210913B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5256001B2 (ja) * 2008-11-20 2013-08-07 京セラドキュメントソリューションズ株式会社 色調整装置、方法及びプログラム
JP2012236344A (ja) * 2011-05-12 2012-12-06 Canon Inc 印刷装置、印刷装置のデータ処理方法及びプログラム
JP6460627B2 (ja) * 2013-03-27 2019-01-30 キヤノン株式会社 原稿を読み取ることで得られた画像データに基づく印刷を行うことが可能な画像処理装置、画像処理装置の制御方法、およびプログラム
JP6585874B2 (ja) * 2013-08-26 2019-10-02 ローム株式会社 電力供給装置、acアダプタ、および電子機器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10147017A (ja) * 1996-11-18 1998-06-02 Canon Inc 印刷装置及びデータ制御方法
JP2000165634A (ja) * 1994-10-28 2000-06-16 Seiko Epson Corp 画像デ―タをメモリに蓄積する装置及び方法
JP3957859B2 (ja) * 1998-03-04 2007-08-15 キヤノン株式会社 印刷制御装置及び印刷制御方法及びプログラム記憶媒体
JP2008049664A (ja) * 2006-08-28 2008-03-06 Seiko Epson Corp 画像形成装置のコントローラ及び画像形成装置のドライバ

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471563A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for automatic resolution reduction
US5337258A (en) * 1992-07-10 1994-08-09 Microsoft Corporation Cost metrics
US5471564A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for dynamic printer timeout
JPH10147018A (ja) * 1996-11-18 1998-06-02 Canon Inc 印刷装置及びメモリ管理方式
JP3486517B2 (ja) * 1997-01-31 2004-01-13 キヤノン株式会社 印刷システム及び印刷制御方法
JP3862396B2 (ja) * 1998-01-08 2006-12-27 キヤノン株式会社 印刷装置及び画像処理方法
JP3349997B2 (ja) 1999-09-02 2002-11-25 北陸日本電気ソフトウェア株式会社 プリンタ描画方式、プリンタ描画方法およびプリンタ描画用プログラムを記録した記録媒体
AU2002951651A0 (en) * 2002-09-25 2002-10-10 Canon Kabushiki Kaisha Apparatus for printing using non-overlapping graphic objects
US20040257371A1 (en) * 2003-06-17 2004-12-23 Payne Ralph E. Pipelined architecture for high speed raster image processor
JP2005047264A (ja) * 2003-07-14 2005-02-24 Ricoh Co Ltd 画像形成装置、画像形成方法、及び画像形成システム
US7236268B2 (en) * 2003-07-30 2007-06-26 Texas Instruments Incorporated Adaptive screening in raster image processing of complex pages
US8619310B2 (en) * 2007-05-25 2013-12-31 Kyocera Document Solutions, Inc. Image forming apparatus
CN100351857C (zh) * 2005-01-07 2007-11-28 北京北大方正电子有限公司 一种能够减少打印内存需求的打印控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000165634A (ja) * 1994-10-28 2000-06-16 Seiko Epson Corp 画像デ―タをメモリに蓄積する装置及び方法
JPH10147017A (ja) * 1996-11-18 1998-06-02 Canon Inc 印刷装置及びデータ制御方法
JP3957859B2 (ja) * 1998-03-04 2007-08-15 キヤノン株式会社 印刷制御装置及び印刷制御方法及びプログラム記憶媒体
JP2008049664A (ja) * 2006-08-28 2008-03-06 Seiko Epson Corp 画像形成装置のコントローラ及び画像形成装置のドライバ

Also Published As

Publication number Publication date
JP5210913B2 (ja) 2013-06-12
US8446628B2 (en) 2013-05-21
US20100195149A1 (en) 2010-08-05

Similar Documents

Publication Publication Date Title
US10762401B2 (en) Image processing apparatus controlling the order of storing decompressed data, and method thereof
JP2011059819A (ja) 情報処理方法及び装置
JP2008140046A (ja) 画像処理装置、画像処理プログラム
JP5210913B2 (ja) 画像形成装置及び画像形成方法
US9600747B2 (en) Image forming apparatus and control method that execute a plurality of rendering processing units in parallel
US8554003B2 (en) Image data processing apparatus, image data processing method, and computer readable medium
JP2009269355A (ja) 画像処理装置及びその制御方法
US10089561B2 (en) Generating a raster image region by rendering in parallel plural regions of smaller height and segmenting the generated raster image region into plural regions of smaller width
US10049487B2 (en) Identifying duplicate indices in an input index stream
JPWO2014167609A1 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
US9083912B2 (en) Method and apparatus for enabling parallel processing of pixels in an image
US10552717B2 (en) Image processing apparatus, control method thereof, and storage medium
JP5097788B2 (ja) データ処理装置およびデータ処理プログラム
JP2006101014A (ja) 画像処理装置およびこれを備えるプリンタ、画像処理方法
JP5705143B2 (ja) 画像読取装置
US11394845B2 (en) Image forming apparatus, method of controlling the same, and storage medium
JP2001218044A5 (ja)
JP2008071054A (ja) データ転送制御方法、データ処理装置及び画像処理装置
US20240005602A1 (en) Pipeline delay reduction for coarse visibility compression
JP7249504B2 (ja) 画像処理装置
JP2011139165A (ja) 画像処理装置及びその処理方法
JP5222803B2 (ja) 画像処理装置
JP6377222B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP2006352451A (ja) 画像処理装置
JP2006217007A (ja) 圧縮伸長モジュールのインターフェース装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130225

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

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5210913

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees