JP2007030353A - 画像形成装置 - Google Patents
画像形成装置 Download PDFInfo
- Publication number
- JP2007030353A JP2007030353A JP2005217335A JP2005217335A JP2007030353A JP 2007030353 A JP2007030353 A JP 2007030353A JP 2005217335 A JP2005217335 A JP 2005217335A JP 2005217335 A JP2005217335 A JP 2005217335A JP 2007030353 A JP2007030353 A JP 2007030353A
- Authority
- JP
- Japan
- Prior art keywords
- band
- display list
- data
- height
- image forming
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【課題】 少ないメモリしか実装していないプリンタにおいて、最適なバンド高さを簡便な処理によって算出する方法に係る画像形成装置の提供。
【解決手段】 ディスプレイリストの描画位置及び描画範囲とを対応させて格納するリストテーブルを保持するディスプレイリストテーブル保持手段と、前記リストテーブルに前記ディスプレイリストの描画位置及び描画範囲を格納するディスプレイリスト作成手段と、1頁分のディスプレイリストが作成された後に、1頁を分割した複数の領域ごとにその領域サイズを仮決定し前記リストテーブルを参照して、前記仮決定されたバンド領域と、その次に描画されるバンド領域とにまたがるディスプレイリストの描画要素の数が最小になるように前記領域サイズを決定する手段と、そのバンド領域に属するディスプレイリストを順次イメージ展開するイメージ展開手段とから構成される。
【選択図】 図1
【解決手段】 ディスプレイリストの描画位置及び描画範囲とを対応させて格納するリストテーブルを保持するディスプレイリストテーブル保持手段と、前記リストテーブルに前記ディスプレイリストの描画位置及び描画範囲を格納するディスプレイリスト作成手段と、1頁分のディスプレイリストが作成された後に、1頁を分割した複数の領域ごとにその領域サイズを仮決定し前記リストテーブルを参照して、前記仮決定されたバンド領域と、その次に描画されるバンド領域とにまたがるディスプレイリストの描画要素の数が最小になるように前記領域サイズを決定する手段と、そのバンド領域に属するディスプレイリストを順次イメージ展開するイメージ展開手段とから構成される。
【選択図】 図1
Description
本発明は、画像形成装置に関し、描画命令を複数のバンドに分割し、バンド毎に順次イメージ展開処理を行う画像形成装置及び方法に関する。
従来のこの種の画像形成装置、特にフルカラー印刷が行えるプリンタは、1ページ分の描画命令もしくはイメージデータをメモリに蓄えると大量のメモリが必要となり大きな問題となるため、1ページを複数の領域(以下、バンドという)に分割し、バンド毎に順次イメージ展開処理を行うことによって印刷に必要なメモリ容量を減らしている。
しかし、従来は、ページを複数のバンドに分割してイメージ展開処理を行うプリンタドライバないしはプリンタコントローラで設定するバンドバッファのラスタ数(以下、バンド高さという)は、バンドに含まれる描画データとは無関係に、プリンタのメモリ容量や階調数などからあらかじめ固定的に決められていたため、描画データの集中したバンドとそうでないバンドでは展開速度に大きな差ができてしまう。さらに全てのバンドが同じ高さであるため、カラー印刷が行えるプリンタを対象としたプリンタドライバの場合、モノクロデータしか存在しないバンドでは必要以上の無駄なメモリを用意しておくことになる。
これに対しバンドの高さを可変する手法の一例が、特許文献1と特許文献2に記載されている。特許文献1には、ホストコンピュータから転送されたコードデータから作成されたビット展開用のコマンドデータをバンドごとにビットマップ展開するとき、コマンドデータを解析して各バンドの展開時間を導出し、前回展開済みバンドデータのビデオ信号転送をバンド展開可能時間とし、その展開可能時間内に展開できるようにバンドサイズを可変設定する技術が開示されている。
また、特許文献2には、レイアウト情報を用いて、バンド内における描画面積が一定の閾値を超えないことを基準として、最適なバンド高さを求める技術が開示されている。
特開平7−195760号公報
特開2000−238349号公報
しかしながら、これらの従来の技術においては、コマンドデータを解析して各バンドの展開時間を導出し、前回展開済みバンドデータのビデオ信号転送時間であるバンド展開可能時間を求めてそれと比較して各バンドのバンドサイズを可変設定するものであり、バンドサイズ決定のために膨大な処理を行わなければならず、バンドサイズ設定のための負担が大きい。
また、レイアウト情報をもとにバンド内の描画面積が一定値以下になるようにスケジューリングする場合、バンドにまたがる画像をレンダリングする際に、再度その画像オブジェクトの描画処理を起動し、データをロードしなおすなど、描画そのものよりも描画のための準備処理に掛ける時間とメモリリソースの配分に大きな負荷がかかってしまい、結果的にピクセル描画処理における処理スループットは向上しても、バンド描画全体のスループットは反って低下してしまうという問題点があった。
特に最近では、画像処理に関する処理をハードウェア化したり特殊な画像処理プロセッサなどを搭載してピクセルオペレーションや描画処理を高速化することが一般的になりつつあり、こうした中では描画処理よりもデータロードなどの外部メモリやディスクデバイス、デジタルカメラなどの外部デバイスからのデータ読み込みにかかるインターフェースネックの方がより印刷効率を妨げる問題となっている。
特にフォトダイレクトプリントやネットワークダイレクトプリントを行うプリンタ内蔵型のプリンタドライバないしはプリンタコントローラでは、印刷する画像データやフォントデータなどをプリンタ内部に持たず、デジタルカメラやネットワーク上のサーバーから取得して印刷を行うため、外部デバイスとの通信におけるデータロード時間が無視できないものになってきているという現状がある。さらに、記憶デバイスとして近年おおいに普及しているメモリカードは、メモリカード上の内蔵コントローラによるデータ処理が行われるために一般にデータ読出し速度が遅く、典型的な例ではコンパクトフラッシュ(登録商標)メモリカードに於いては、1MBの読み出しに0.5秒から1秒程度かかるものも存在している。
その一方でデジタルカメラの普及やデジタルデータの利用機会の増大に伴い、デジタル画像やフォントデータ、ベクタグラフィックスなどのデータサイズは年々増加の傾向にあり、すでにデジタルカメラによるJPEG圧縮画像ファイルは、数MBから数10MBのサイズに到達している。
さらに、プリンタ内蔵型のプリンタコントローラに於いてはこうした画像やフォントなどのデータファイルを保持する内蔵メモリのサイズが小さいため、一度に複数のデータをロードして確保しておくことが困難であることから、もし画像の描画が複数バンドに分離されてしまった場合で、さらに複数の画像描画を行わなければならないようなケースでは、ひとつの画像を描画するのにその画像がまたがるバンドの数だけデータのロードをやり直さなければならないなどの問題が発生している。
こうした背景からもこれらの既に提案されている技術では、すでに内蔵メモリ上にデータがある状態からの描画処理効率を上げたり、バンドごとの描画処理負荷を均一化することはできるが、データの読み取りを含むトータル処理スループットを上げることはできず、インターフェースにおけるデータロード処理の時間によってその効率が支配的に低下されてしまうという問題点があった。
また、こうした問題点は、必ずしもプリンタ内蔵型のプリンタコントローラのみの問題ではなく、描画リソースをインターネットサーバーから取得して動作する場合のホストコンピュータ上のプリンタドライバに於いても、データロードにおけるデータ量の増大と通信ネックの問題は、将来顕在化してくると考えられる。
特に、HTMLやSVGなどのレイアウト記述データの標準化により、画像データがあらかじめ編集されたものではなく、背景・文字列・前景・ワンポイント画像やワンポイントグラフィックスなどに部品化された場合、1ページで使用するデータファイル数が爆発的に増大することも考えられる。このような場合にも、データロード時間によって、ホストコンピュータ情報プリンタドライバの処理速度が一定の基準以下に低下するという問題が将来起きると予想される。
本発明は、簡便な処理で、ページを分割する各バンドの高さを調節し、1ページの描画データをバンド単位に分割してイメージ展開及び送信を行うことができ、プリンタドライバとプリンタでの並列処理、ないしは、プリンタ上のプリンタコントローラにおけるバンド描画処理を効率よく行い、イメージ展開効率が向上し、メモリの無駄も省け、総合的な印刷スループットを向上させる画像形成装置を提供することを目的としている。
本発明の画像形成装置は、印刷画像の描画を行う描画処理部が認識可能なイメージデータを作成するための情報を持った中間オブジェクトであるディスプレイリストと、前記ディスプレイリストの描画位置及び描画範囲とを対応させて格納するリストテーブルを保持するディスプレイリストテーブル保持手段と、描画命令を順次受信して前記ディスプレイリストを作成するとともに前記リストテーブルに前記ディスプレイリストの描画位置及び描画範囲を格納するディスプレイリスト作成手段と、1頁分のディスプレイリストが作成された後に、1頁を分割した複数の領域ごとにその領域サイズを仮決定し前記リストテーブルを参照して、前記仮決定されたバンド領域と、その次に描画されるバンド領域とにまたがるディスプレイリストの描画要素の数が最小になるように前記領域サイズを決定する手段と、前記バンドにまたがるディスプレイリスト要素数最少基準によって求められた最適なバンド領域毎にその領域に属するディスプレイリストを順次イメージ展開してイメージデータを作成するイメージ展開手段とを有する。
また、特にイメージ展開に時間がかかる特定の描画要素がディスプレイリスト中に存在する場合には、これから処理するバンドと、次に処理するバンドとにまたがる描画要素をカウントする際にそれらの描画処理コストの逆数による重み付けをしてカウント処理を行うことにより、前記特定の描画要素が含まれている場合には前記特定描画要素のまたがりがより少なくなるところをバンドの境界として決定し、前記領域に属するディスプレイリストの情報を作成する。
また、圧縮画像やフォントデータなどの描画に必要なデータないしファイルを読み込む処理に時間がかかる特定の描画要素がディスプレイリスト中に存在する場合には、これから処理するバンドと、次に処理するバンドとにまたがる描画要素をカウントする際にそれらのデータ読み込み処理コストによる重み付けをしてカウント処理を行うことにより、前記特定の描画要素が含まれている場合には前記特定描画要素のバンドまたがりがより少なくなるところをバンドの境界として決定し、前記領域に属するディスプレイリストの情報を作成する。
また、圧縮画像やフォントデータなどの描画に必要なデータないしファイルを読み込む処理に時間がかかるが、直前の描画処理が同一内容のデータないしファイルを使用しており、その際に読み込まれたデータを利用することで読み込み処理を行わなくて済む場合には、これから処理するバンドと、次に処理するバンドとにまたがる描画要素をカウントする際にそれらのデータ読み込み処理コストによる重み付けを特に行わずにカウント処理を行うことにより、前記特定の描画要素が含まれている場合で、かつ、データないしファイルの読み込みを行わなくて良い場合にはこれを考慮しないで、描画要素のバンドまたがりがより少なくなるところをバンドの境界として決定し、前記領域に属するディスプレイリストの情報を作成する。
また、1ページないし複数ページのレイアウト情報をもとに、印刷・描画処理に先立ってこれから描画処理を行う全てのバンドについての前記最適バンド領域算出処理をあらかじめ行っておき、実際のバンド取得および描画処理時には前記最適バンド領域の算出処理を行わない。
また、バンドの取得を行うたびごとに、前記最適バンド領域の算出を行う。
また、メモリ使用状況に応じて、そのとき確保できる最大のバンド高さを最大値として、その範囲内で前記バンド領域の算出を行う。
また、最大のバンド高さからバンド高さ0に向かって順次バンド高さを減らしながら最適バンド高さを検索し、検索の過程でバンド境界にまたがる描画要素がひとつも無い場合には、最適バンド高さの検索処理を中断し、その時点のバンド高さを最適バンド高さとして出力する手順を有する。
本発明によれば、1頁を分割した複数の領域ごとにその領域サイズを仮決定しそのときの領域内に含まれるディスプレイリストについてイメージ展開を行うときのバンド境界にまたがる描画要素の数ないしはその重み付け計数の総和をリストテーブルを参照して算出し、その値が最小となるようにバンド領域サイズを決定するので、簡便な処理でページを分割する各バンドの高さをそれぞれ最適値に調節できる。
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
次に、本発明の第1の実施の形態について詳細に説明する。
図1は、本発明の画像形成装置の構成を示すブロック図である。
画像形成装置は、例えばXMLやPDLなどの形式で記述されたレイアウト情報を保持するレイアウト情報記憶手段1と、前記レイアウト情報記憶手段から特定のページレイアウト情報を読出し、これを解析するレイアウト情報解析手段2と、解析結果として得られる例えば図2に示すようなディスプレイリストのような描画要素データを保持するディスプレイリスト保持手段3と、前記ディスプレイリスト保持手段に保持された図2に例示するような描画要素情報から、最適なバンド高さを算出する最適バンド高さ算出手段6と、前記最適バンド高さ算出手段6によって算出された最適バンド高さに従って、メモリ管理手段5からバンドバッファを確保するバンドバッファ確保手段4と、前記バンドバッファ確保手段によって確保されたバンドバッファ7に対して、前記ディスプレイリスト保持手段から得られるここの描画要素のうちバンド領域に含まれる描画要素についての描画を行うバンド描画手段8と、描画要素が例えばJPEG画像や外部フォントデータなどの描画に必要なデータないしファイルを読み込む場合に、ストレージやデジタルカメラなどのそのファイルを保持している例えば外部に接続された描画要素データ保持デバイス9と、そこからのデータを読み込むインターフェースなどの描画要素データ読み込み手段10と、読み込まれたデータを記録する内部RAMなどの描画要素データ記憶手段11とから構成される。
図2に示すディスプレイリストは、例えばHTMLなどのドキュメント記述言語や、SVGあるいはポストスクリプトなどのPDL言語などを元に解析された中間オブジェクトであり、描画命令の種類、位置、描画する範囲を示す描画矩形、回転、クリップ、ラスターオペレーションなどの各種パラメータ、実データの参照情報などを有している。ディスプレイリストは作成される度に直前に作成されたディスプレイリストの後ろにリンクされ、図1に示したディスプレイリスト保持手段3に記憶される。
図3は、本発明におけるバンド境界に対する描画要素のまたがりと、その評価方法についての概念を図示したものである。
1〜5で示したそれぞれ異なるバンド高さの各候補に於いて、描画要素である矩形領域がどのようにまたがっているかを示している。
ところで、本実施例の説明に於いては、説明を簡便にするために矩形の描画領域を用いて説明しているが、実際の描画形状は、例えばベクトルグラフィックスのように必ずしも矩形である必要は無い。このような非矩形の領域を持つ描画要素であっても、バンド領域のパラメータが高さ方向のみであることを考えれば、その描画要素がページないしバンドの高さ方向にどのような範囲にまたがっているかが分かればよく、本発明に於いて描画要素の形状が矩形であるか否かは本質的な差異を生むものではない。
この図においてたとえば1〜2の高さのバンドを仮に確保するとした場合、2のラスタ位置がこれから処理するバンドと次回処理するバンドの境界となる。
この2の位置にまたがっている描画要素は図からも分かるように3つである。
この状況は1〜3のバンド高さを候補とした場合でも同じであるが、1〜4のバンド高さを候補とした場合は、図から分かるようにひとつも描画要素がまたがっていない。そしてふたたび1〜5のバンド高さを候補とすると、3つの描画要素がまたがっている状況になることがわかる。
この様子を、バンド境界にまたがる描画要素数の観点で評価関数としたものが図3の6に示すグラフである。
このように、バンドの境界にまたがる描画要素がある場合に、なぜ印刷処理の効率が悪くなるかを図4、図5を使って説明する。
図4は、バンド内の描画要素を描画する際の描画処理手順を示したものである。
処理が開始されると、ステップ1においてディスプレイリストから現在のバンド領域に含まれるもしくはかかる描画要素を読出す。次にステップ2においてその描画要素の描画に於いて必要なデータをロードしなければならないかどうかを判断し、必要があれば描画データをロードする(ステップ3)。
ここで読み込む描画データとは、例えばJPEG画像の描画に於いてはもととなるJPEG画像データファイルそのものであり、特定のフォントを指定した文字列描画であれば、フォントファイルデータなどがこれに相当する。
図5に示すように、特にプリンタ内蔵のプリントコントローラなどでは内蔵RAMの容量はそれほど多くないため、こうした外部に保持されているJPEG画像データやフォントデータをロードする際に使用できるデータバッファはたかだか数100KBから数MBのオーダーである。こうしたメモリリソース環境に於いては、1ページの描画に必要な全てのデータをメモリ上に保持することは困難であるばかりか、たかだか2つの異なるJPEGファイルを同時にメモリ上に保持することも困難であるケースがある。
特に最近のデジタルカメラによって撮影されたJPEG画像は、ファイルサイズにして数MB〜数10MBのものまで存在し、こうした画像ファイルをレイアウトして印刷する場合には、一度に1つ以上のJPEGをメモリ上に読み込んで描画することは事実上不可能である。
同時に、メモリカードや外部ストレージなどから数MBのデータを読み込む際には、インターフェースの通信レートや、メモリカードのアクセス速度などによって、十分な読み込みスピードが確保できない場合がある。さらにネットワークアクセスなどの場合には、読み込みスピードが変化することもあり、本発明の画像形成装置の外にあるデータ保持手段から画像データやフォントデータを読み出す場合には、例えばコンパクトフラッシュ(登録商標)メモリカードからの読み出しなどでは1MBに0.5秒から1秒以上の時間がかかるケースもある。
こうしたことから、もし、図3に示したようにバンド内に少なくとも2つ以上の大容量JPEG圧縮画像ファイルを参照して描画を行う描画要素が存在する場合、これらの画像がバンド境界にまたがると、1度目のバンドに於いて2つのJPEG画像データを読み込んで描画し、次のバンドで再度2つのJPEG画像データを読み込まなければならなくなり、都合JPEG画像データの読み込みを4度行わなければならなくなることが分かり、データ読出し速度が遅い場合には、印刷処理を滞りなく実行するために必要な描画速度を達成することが困難になることがありうる。
これに対し、2つのJPEG画像がひとつのバンド内に完全に含まれて、複数のバンドにまたがらない場合は、最低回数である2回の画像データ読み込み処理回数で済むことになり、通信速度が遅い場合でも、少なくとも最低の通信時間で描画を完了することができることになるのである。
このような理由により、バンド境界にまたがる描画要素が少ないという基準によってバンド高さを決定することで、印刷効率を上げることができるのである。
ただし、例えば、単純な場合としてはページ内に1つしか描画要素が無い場合などで、その描画要素の領域がページ全体であるばあいなどは、最終バンドを除く全てのバンドに於いて、バンド境界にまたがる描画要素は“1”となる。
この場合は特異点となる。この場合、描画要素がひとつしかないため、描画データバッファサイズが、必要な描画データサイズと等しいか、それよりも大きく確保できる場合には、最初のバンド描画時に読み込んだ描画データをそのまま利用することが可能となる。つまり、バンドごとに毎回描画データを読み込む必要はなく、最初のバンド描画時に内蔵RAMなどに読み込んだJPEGファイルデータなどの描画データを利用して描画処理を行えることになる。つまり、JPEGファイルデータをキャッシュしているのと同様の状況となるため、データ読み込みによる処理負荷はページに対して1回分だけでよいことになり、バンドまたがりによる違いがなくなるのである。
このような特別なケースに於いては、最適なバンド高さとして、確保できる最大のサイズとするか、あらかじめ定められた固定値とすることとなる。この場合、あらかじめ定められた固定値とは、バンドバッファとして確保されたメモリ領域全部を使用しても良いし、その中の一部を固定サイズとして使用しても良い。もちろん、確保したメモリ領域内に2つのバンドを確保できるサイズを固定値として用い、交互に使用することでメモリ使用効率を上げる技術(ダブルバッファ)や、さらに3以上の領域を確保できるサイズを固定値として用い、順次使用していく技術(リングバッファ)などを採用しても良い。
また、本発明の技術を用いて最適なバンド高さを算出する場合、最悪のケースでは、最適なバンド高さがページ高さと同じになることがありうる。このような場合には、例えば特許文献2に開示されているような他の基準を用いて再度最適なバンド高さを求めても良い。あるいは、バンドバッファとしてあらかじめ確保されているメモリ領域で確保可能な最大バンド高さを上限としてもよい。
図6は、本発明の最適バンド高さを決定する処理手順の一例である。
バンド高さ決定処理が開始されると、ステップ1においてまずバンド高さの初期値Hおよび、バンド高さの検索範囲の最大値LimHを設定する。次にステップ2においてディスプレイリスト内の全ての描画要素をスキャンするために、描画要素番号nを初期化する。ステップ3に於いて現在のバンド領域の開始ラスタ位置Sを読出し、ステップ4においてまたがり描画要素数の最小値を確保するための変数MinNを初期化する。
次に、ステップ5において、開始ラスタに現在の仮決定されているバンド高さを足して、バンド領域の終了ラスタ位置Eを求め、ステップ6においてまたがり要素数カウンタNを初期化し、ステップ7〜ステップ11の描画要素のまたがりチェック処理に進む。
ステップ7でn番目の描画要素を読出し、ステップ8でこの描画要素の描画範囲が、先にステップ5で求められたバンド領域の終了ラスタ位置にまたがっているかどうかを判別する。もし描画要素のまたがりが検出された場合はステップ9でまたがり要素数Nをカウントアップする。
ステップ10においてすべての描画要素をチェックしたかどうかを判別し、もしまだチェックを行っていない描画要素が残っている場合にはステップ11で描画要素番号nをインクリメントした後、ステップ7からの処理を繰り返す。
すでに全ての描画要素のまたがりチェックを行っていた場合には、ステップ12においてまたがり数Nと過去の最低のまたがり数MinNとを比較し、もし過去の最低またがり数よりも現在のバンド高さにおけるまたがり数が下回っていた場合には、ステップ13においてMinNをNに更新するとともに最適バンド高さBestHをHに更新する。
その後、ステップ14においてバンド高さHを更新し、ステップ15でHがLimHを越えていないかどうかを確認した上で、越えていない場合にはステップ5からの処理を繰り返す。
越えている場合には、最適バンド高さ決定処理を終了し、BestHの値を最適なバンド高さとして出力する。
ただし、全てのバンド境界において同じ結果であった場合には、実装の仕方によってはBestHが0となったり不正な値となる場合がある。このような場合には、例えばあらかじめ設定された標準的なバンド高さを採用するなどの処理を別途おこなうことで、実際に使用するバンド高さを最終決定しても良い。もちろん、その他の実施方法として、そのときに確保できる最大のバンド高さを使用する処理を行っても良い。
ここで、バンド高さの検索領域を1〜LimHとしたが、LimHのひとつの値としてはページ高さがある。特にページ記述言語によって与えられる描画要素の画像形成に於いては、ページ高さより大きなバンドを取ることはありえないからである。
しかし、LimH=ページ高さというのは、原理的に最小から最大までの幅を取った場合の処理実装における一例であり、実際にはページメモリが確保できないためにバンドバッファを使用しているケースが多いことから、多くの場合、この制限は、ページ高さよりも小さい値によって制限することが考えられる。
例えば、バンドバッファとして確保できるメモリサイズがあらかじめ与えられており、これを仮にMaxBバイトとするならば、1ラスタのピクセル数などのバンドバッファの幅をWピクセルとすると、Hの検査領域の制限値LimHは、
LimH=INT(MaxB/W/PB)
(ここで、PBは1ピクセルのバイト数であり、INT()は除算の結果を切り捨てによって整数化する関数である)
などによって表される値を用いて、1〜LimHまでの範囲で最適なバンド高さを求めても良い。
LimH=INT(MaxB/W/PB)
(ここで、PBは1ピクセルのバイト数であり、INT()は除算の結果を切り捨てによって整数化する関数である)
などによって表される値を用いて、1〜LimHまでの範囲で最適なバンド高さを求めても良い。
ところで、プリンタは、複数種類の用紙サイズに対応することが一般的である。この場合、例えばA3用紙まで対応しているプリンタに於いてL版や名刺カードなどの印刷を行う場合には、A3ではページメモリが取れなくても、名刺などの小さいサイズの用紙を印刷する場合にはページメモリが取れることが容易に想定される。
このような場合には図6に示すように、バンドバッファ高さの最大値をページ高さによって制限しても何ら問題は無い。
さらに、HTMLプリントなどを実現する際には、ページまたがりにおけるレイアウト整形を行わない仕様を取る場合にはページ境界というものがそもそも存在しないディスプレイリストが生成されるケースもある。このような場合は、一度に描画するメモリ領域が取れる限りにおいて、ページ高さを越える値によってバンド高さHの検索範囲を制限してもなんら本発明の技術の優位性を損なうものではない。
図7に、本発明の請求項2におけるバンド高さ決定の評価関数作成の概念図を示す。
例えば、本発明の請求項2または3において示している描画データの読み込み処理負荷におけるコストをカウントする場合について、この図7を用いて説明する。
図7の6に示すのは、描画データの読み込み処理負荷が7に示す描画要素の2倍あると推定されるものである。これは例えば、6に示す描画要素が参照するJPEG圧縮画像ファイルのサイズが7に示す描画要素が参照するJPEGファイルのサイズの2倍ある場合であったり、6に示す描画データを保持する記憶媒体の読み取り速度が、7に示す描画データを保持する記憶媒体の読み取り速度の半分(遅い)であるなどの場合に相当する。
このような場合、6に示す読み取り処理負荷が高い描画要素をバンドにまたがらせるよりも、7に示す描画要素がまたがる方が、処理効率に与える問題は小さいと考えられる。こうしたことから、バンドにまたがる描画要素の個数をカウントする際に、こうした読み取り処理負荷についての重み付けをした計数を足していくことで、より読み込み処理負荷の高い描画要素のあるところにバンド境界を置かないようにするような評価関数を得ることができるのである。このような評価関数を8に示す。
実際には、読み込み処理負荷は2倍、3倍などといった整数倍の関係ではなく、もっと連続的な値による重み付けが行われることが適切であると考えられる。従って、例えば通常の読み込み負荷の描画要素は10としてカウントし、その1.5倍の読み込み負荷の描画要素の場合には15とするなど、より細かな重み付けを行っても良い。
図8は、本発明の請求項7に記載の技術を用いたその他の実施例における画像形成装置の構成図である。
画像形成装置は、例えばXMLやPDLなどの形式で記述されたレイアウト情報を保持するレイアウト情報記憶手段1と、前記レイアウト情報記憶手段から特定のページレイアウト情報を読出し、これを解析するレイアウト情報解析手段2と、解析結果として得られる例えば図2に示すようなディスプレイリストのような描画要素データを保持するディスプレイリスト保持手段3と、前記ディスプレイリスト保持手段に保持された図2に例示するような描画要素情報と、バンドバッファなどのメモリを管理するバンドバッファ管理手段5から得られる確保可能な最大のバンド高さの情報から、最適なバンド高さを算出する最適バンド高さ算出手段6と、前記最適バンド高さ算出手段6によって算出された最適バンド高さに従って、メモリ管理手段5からバンドバッファを確保するバンドバッファ確保手段4と、前記バンドバッファ確保手段によって確保されたバンドバッファ7に対して、前記ディスプレイリスト保持手段から得られるここの描画要素のうちバンド領域に含まれる描画要素についての描画を行うバンド描画手段8と、描画要素が例えばJPEG画像や外部フォントデータなどの描画に必要なデータないしファイルを読み込む場合に、ストレージやデジタルカメラなどのそのファイルを保持している例えば外部に接続された描画要素データ保持デバイス9と、そこからのデータを読み込むインターフェースなどの描画要素データ読み込み手段10と、読み込まれたデータを記録する内部RAMなどの描画要素データ記憶手段11とから構成される。
図9は、本発明の請求項7に記載の技術を用いて最適バンド高さを決定する処理手順の一例である。
バンド高さ決定処理が開始されると、ステップ1においてまず現在確保可能な最大のバンド高さMaxHの情報を読み込む。次にステップ2においてバンド高さの初期値Hを設定する。次にステップ3においてディスプレイリスト内の全ての描画要素をスキャンするために、描画要素番号nを初期化する。ステップ4に於いて現在のバンド領域の開始ラスタ位置Sを読出し、ステップ5においてまたがり描画要素数の最小値を確保するための変数MinNを初期化する。
次に、ステップ6において、開始ラスタに現在の仮決定されているバンド高さを足して、バンド領域の終了ラスタ位置Eを求め、ステップ7においてまたがり要素数カウンタNを初期化し、ステップ7〜ステップ12の描画要素のまたがりチェック処理に進む。
ステップ8でn番目の描画要素を読出し、ステップ9でこの描画要素の描画範囲が、先にステップ6で求められたバンド領域の終了ラスタ位置にまたがっているかどうかを判別する。もし描画要素のまたがりが検出された場合はステップ10でまたがり要素数Nをカウントアップする。
ステップ11においてすべての描画要素をチェックしたかどうかを判別し、もしまだチェックを行っていない描画要素が残っている場合にはステップ12で画要素番号nをインクリメントした後、ステップ8からの処理を繰り返す。すでに全ての描画要素のまたがりチェックを行っていた場合には、ステップまたがり数Nと過去の最低のまたがり数MinNとを比較し(ステップ13)、もし過去の最低またがり数よりも現在のバンド高さにおけるまたがり数が下回っていた場合には、ステップ14においてMinNをNに更新するとともに最適バンド高さBestHをHに更新する。その後、ステップ15においてバンド高さHを更新し、ステップ16でHが0より大きいことを確認した上で、0より大きい場合にはステップ6からの処理を繰り返す。
それ以外の場合には、最適バンド高さ決定処理を終了し、BestHの値を最適なバンド高さとして出力する。
ただし、全てのバンド境界において同じ結果であった場合には、実装の仕方によってはBestHが0となったり不正な値となる場合がある。このような場合には、例えばあらかじめ設定された標準的なバンド高さを採用するなどの処理を別途おこなうことで、実際に使用するバンド高さを最終決定しても良い。もちろん、その他の実施方法として、そのときに確保できる最大のバンド高さを使用する処理を行っても良い。
図10は、本発明の請求項7に記載の技術を用いて最適バンド高さを決定する処理手順の一例である。
バンド高さ決定処理が開始されると、ステップ1においてまず現在確保可能な最大のバンド高さMaxHの情報を読み込む。次にステップ2においてバンド高さの初期値Hを設定する。次にステップ3においてディスプレイリスト内の全ての描画要素をスキャンするために、描画要素番号nを初期化する。ステップ4に於いて現在のバンド領域の開始ラスタ位置Sを読出し、ステップ5においてまたがり描画要素数の最小値を確保するための変数MinNを初期化する。
次に、ステップ6において、開始ラスタに現在の仮決定されているバンド高さを足して、バンド領域の終了ラスタ位置Eを求め、ステップ7においてまたがり要素数カウンタNを初期化し、ステップ7〜ステップ12の描画要素のまたがりチェック処理に進む。
ステップ8でn番目の描画要素を読出し、ステップ9でこの描画要素の描画範囲が、先にステップ6で求められたバンド領域の終了ラスタ位置にまたがっているかどうかを判別する。もし描画要素のまたがりが検出された場合はステップ10でまたがり要素数Nをカウントアップする。
ステップ11においてすべての描画要素をチェックしたかどうかを判別し、もしまだチェックを行っていない描画要素が残っている場合にはステップ12で画要素番号nをインクリメントした後、ステップ8からの処理を繰り返す。
すでに全ての描画要素のまたがりチェックを行っていた場合には、ステップまたがり数Nと過去の最低のまたがり数MinNとを比較し(ステップ13)、もし過去の最低またがり数よりも現在のバンド高さにおけるまたがり数が下回っていた場合には、ステップ14においてMinNをNに更新するとともに最適バンド高さBestHをHに更新する。
その後、ステップ15においてバンド高さHを更新し、ステップ16でHが0より大きく、かつNがゼロでないことを確認した上で、Hが0より大きくてかつNが0でない場合にはステップ6からの処理を繰り返す。
それ以外の場合には、最適バンド高さ決定処理を終了し、BestHの値を最適なバンド高さとして出力する。
ただし、全てのバンド境界において同じ結果であった場合には、実装の仕方によってはBestHが0となったり不正な値となる場合がある。このような場合には、例えばあらかじめ設定された標準的なバンド高さを採用するなどの処理を別途おこなうことで、実際に使用するバンド高さを最終決定しても良い。もちろん、その他の実施方法として、そのときに確保できる最大のバンド高さを使用する処理を行っても良い。
図11は、本発明の請求項5に記載の技術を用いたその他の実施例における画像形成装置の構成図である。
画像形成装置は、例えばXMLやPDLなどの形式で記述されたレイアウト情報を保持するレイアウト情報記憶手段1と、前記レイアウト情報記憶手段から特定のページレイアウト情報を読出し、これを解析するレイアウト情報解析手段2と、解析結果として得られる例えば図2に示すようなディスプレイリストのような描画要素データを保持するディスプレイリスト保持手段3と、前記ディスプレイリスト保持手段に保持された図2に例示するような描画要素情報と、バンドバッファなどのメモリを管理するバンドバッファ管理手段5から得られる確保可能な最大のバンド高さの情報から、最適なバンド高さを算出する最適バンド高さ算出手段6と、前記最適バンド高さ算出手段によって、ページの印刷動作に先立ってあらかじめ全てのバンドについて求められたバンド高さの情報から、これから処理を行うページ内で確保する最大のバンド高さの情報を元にメモリの再配置を行い、必要十分なメモリ領域を確保して、必要ないメモリを他のワークに分配するメモリ管理手段と、前記最適バンド高さ算出手段6によって算出された最適バンド高さに従って、前記メモリ管理手段5からバンドバッファを確保するバンドバッファ確保手段4と、前記バンドバッファ確保手段によって確保されたバンドバッファ7に対して、前記ディスプレイリスト保持手段から得られるここの描画要素のうちバンド領域に含まれる描画要素についての描画を行うバンド描画手段8と、描画要素が例えばJPEG画像や外部フォントデータなどの描画に必要なデータないしファイルを読み込む場合に、ストレージやデジタルカメラなどのそのファイルを保持している例えば外部に接続された描画要素データ保持デバイス9と、そこからのデータを読み込むインターフェースなどの描画要素データ読み込み手段10と、読み込まれたデータを記録する内部RAMなどの描画要素データ記憶手段11とから構成される。
1 レイアウト情報記憶手段
2 レイアウト情報解析手段
3 ディスプレイリスト保持手段
4 バンドバッファ確保手段
5 メモリ管理手段
6 最適バンド高さ算出手段
7 バンドバッファ
8 バンド描画手段
9 描画要素データ保持デバイス
10 描画要素データ読み込み手段
11 描画要素データ記憶手段
12 印刷手段
2 レイアウト情報解析手段
3 ディスプレイリスト保持手段
4 バンドバッファ確保手段
5 メモリ管理手段
6 最適バンド高さ算出手段
7 バンドバッファ
8 バンド描画手段
9 描画要素データ保持デバイス
10 描画要素データ読み込み手段
11 描画要素データ記憶手段
12 印刷手段
Claims (8)
- 印刷画像の描画を行う描画処理部が認識可能なイメージデータを作成するための情報を持った中間オブジェクトであるディスプレイリストと、前記ディスプレイリストの描画位置及び描画範囲とを対応させて格納するリストテーブルを保持するディスプレイリストテーブル保持手段と、
描画命令を順次受信して前記ディスプレイリストを作成するとともに前記リストテーブルに前記ディスプレイリストの描画位置及び描画範囲を格納するディスプレイリスト作成手段と、
1頁分のディスプレイリストが作成された後に、1頁を分割した複数の領域ごとにその領域サイズを仮決定し前記リストテーブルを参照して、前記仮決定されたバンド領域と、その次に描画されるバンド領域とにまたがるディスプレイリストの描画要素の数が最小になるように前記領域サイズを決定する手段と、
前記バンドにまたがるディスプレイリスト要素数最少基準によって求められた最適なバンド領域毎にその領域に属するディスプレイリストを順次イメージ展開してイメージデータを作成するイメージ展開手段とを有することを特徴とする画像形成装置。 - 特にイメージ展開に時間がかかる特定の描画要素がディスプレイリスト中に存在する場合には、これから処理するバンドと、次に処理するバンドとにまたがる描画要素をカウントする際にそれらの描画処理コストの逆数による重み付けをしてカウント処理を行うことにより、前記特定の描画要素が含まれている場合には前記特定描画要素のまたがりがより少なくなるところをバンドの境界として決定し、前記領域に属するディスプレイリストの情報を作成することを特徴とする請求項1記載の画像形成装置。
- 圧縮画像やフォントデータなどの描画に必要なデータないしファイルを読み込む処理に時間がかかる特定の描画要素がディスプレイリスト中に存在する場合には、これから処理するバンドと、次に処理するバンドとにまたがる描画要素をカウントする際にそれらのデータ読み込み処理コストによる重み付けをしてカウント処理を行うことにより、前記特定の描画要素が含まれている場合には前記特定描画要素のバンドまたがりがより少なくなるところをバンドの境界として決定し、前記領域に属するディスプレイリストの情報を作成することを特徴とする請求項1または2に記載の画像形成装置。
- 圧縮画像やフォントデータなどの描画に必要なデータないしファイルを読み込む処理に時間がかかるが、直前の描画処理が同一内容のデータないしファイルを使用しており、その際に読み込まれたデータを利用することで読み込み処理を行わなくて済む場合には、これから処理するバンドと、次に処理するバンドとにまたがる描画要素をカウントする際にそれらのデータ読み込み処理コストによる重み付けを特に行わずにカウント処理を行うことにより、前記特定の描画要素が含まれている場合で、かつ、データないしファイルの読み込みを行わなくて良い場合にはこれを考慮しないで、描画要素のバンドまたがりがより少なくなるところをバンドの境界として決定し、前記領域に属するディスプレイリストの情報を作成することを特徴とする請求項3に記載の画像形成装置。
- 1ページないし複数ページのレイアウト情報をもとに、印刷・描画処理に先立ってこれから描画処理を行う全てのバンドについての前記最適バンド領域算出処理をあらかじめ行っておき、実際のバンド取得および描画処理時には前記最適バンド領域の算出処理を行わないことを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。
- バンドの取得を行うたびごとに、前記最適バンド領域の算出を行うことを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。
- メモリ使用状況に応じて、そのとき確保できる最大のバンド高さを最大値として、その範囲内で前記バンド領域の算出を行うことを特徴とする請求項1乃至6のいずれか1項に記載の画像形成装置。
- 最大のバンド高さからバンド高さ0に向かって順次バンド高さを減らしながら最適バンド高さを検索し、検索の過程でバンド境界にまたがる描画要素がひとつも無い場合には、最適バンド高さの検索処理を中断し、その時点のバンド高さを最適バンド高さとして出力する手順を有することを特徴とする請求項7記載の画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005217335A JP2007030353A (ja) | 2005-07-27 | 2005-07-27 | 画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005217335A JP2007030353A (ja) | 2005-07-27 | 2005-07-27 | 画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007030353A true JP2007030353A (ja) | 2007-02-08 |
Family
ID=37790185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005217335A Withdrawn JP2007030353A (ja) | 2005-07-27 | 2005-07-27 | 画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007030353A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217789A (ja) * | 2007-03-01 | 2008-09-18 | Konica Minolta Systems Lab Inc | 自己同調型バンドモードを使用するラスタ画像プロセッサ |
JP2009282964A (ja) * | 2008-03-31 | 2009-12-03 | Konica Minolta Systems Lab Inc | 印刷データをレンダリングするシステム、方法及びコンピュータ可読媒体 |
US8368947B2 (en) | 2007-07-31 | 2013-02-05 | Brother Kogyo Kabushiki Kaisha | Technique for creating print data |
-
2005
- 2005-07-27 JP JP2005217335A patent/JP2007030353A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217789A (ja) * | 2007-03-01 | 2008-09-18 | Konica Minolta Systems Lab Inc | 自己同調型バンドモードを使用するラスタ画像プロセッサ |
US8665482B2 (en) | 2007-03-01 | 2014-03-04 | Konica Minolta Laboratory U.S.A., Inc. | Raster image processor using a self-tuning banding mode |
US8368947B2 (en) | 2007-07-31 | 2013-02-05 | Brother Kogyo Kabushiki Kaisha | Technique for creating print data |
JP2009282964A (ja) * | 2008-03-31 | 2009-12-03 | Konica Minolta Systems Lab Inc | 印刷データをレンダリングするシステム、方法及びコンピュータ可読媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8274667B2 (en) | Image processing apparatus, control method thereof, and storage medium storing a program for converting raster image data into block vector image format | |
US8169656B2 (en) | Image processing devices and methods for resizing an original image therefor | |
JP2002027256A (ja) | 多様な圧縮率制約を受ける画質制御によるデジタル・ドキュメントの圧縮方法 | |
JP4222401B2 (ja) | ラスタライズ装置とプログラムと方法 | |
US8045215B2 (en) | Printer object list resolutions | |
JP2005215954A (ja) | 画像形成システム、情報処理装置及び方法 | |
US20040150840A1 (en) | Methods and systems for structuring a raster image file for parallel streaming rendering by multiple processors | |
JP2007030353A (ja) | 画像形成装置 | |
JP5684466B2 (ja) | 複数のオブジェクト種別のオブジェクトに対応する、ラスタ画像バッファ中の少なくとも一つの画素を処理するための方法及びコンピュータで読み取り可能な媒体 | |
JPH11245453A (ja) | 画像形成装置 | |
JP4164257B2 (ja) | 画像処理装置、画像処理方法、プログラム、及び記憶媒体 | |
US20040120006A1 (en) | Efficient processing of images in printers | |
JP5244770B2 (ja) | 画像形成装置 | |
US7061649B2 (en) | Page data processor, page data processing method and program | |
US20110205591A1 (en) | Image processing device and image processing method | |
JP4320497B2 (ja) | 画像処理装置 | |
JP3396413B2 (ja) | イメージデータ転送方法 | |
JP2000207147A (ja) | 印刷デ―タ転送システム | |
JPH0863308A (ja) | 画像処理装置 | |
US8756491B2 (en) | PDL data processing device | |
JP5782388B2 (ja) | 画像形成装置 | |
JP5574242B2 (ja) | 印刷制御装置及び印刷制御プログラム並びに印刷制御方法 | |
JP4325339B2 (ja) | 印刷システム、ホストコンピュータ及びプリンタドライバ | |
JP2008077148A (ja) | 画像処理システムおよび画像処理装置 | |
EP1302845A2 (en) | Page data processor, page data processing method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081007 |