JP2011227565A - 描画装置、および描画方法、およびプログラム - Google Patents

描画装置、および描画方法、およびプログラム Download PDF

Info

Publication number
JP2011227565A
JP2011227565A JP2010094081A JP2010094081A JP2011227565A JP 2011227565 A JP2011227565 A JP 2011227565A JP 2010094081 A JP2010094081 A JP 2010094081A JP 2010094081 A JP2010094081 A JP 2010094081A JP 2011227565 A JP2011227565 A JP 2011227565A
Authority
JP
Japan
Prior art keywords
clip
edge
page
scan line
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010094081A
Other languages
English (en)
Inventor
Morikazu Ito
盛一 伊藤
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 JP2010094081A priority Critical patent/JP2011227565A/ja
Priority to US13/082,802 priority patent/US8675244B2/en
Publication of JP2011227565A publication Critical patent/JP2011227565A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/409Edge or detail enhancement; Noise or error suppression
    • H04N1/4092Edge or detail enhancement

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Generation (AREA)

Abstract

【課題】 オブジェクトセントリックな描画方法において、描画オブジェクトにクリップ指定がされていない場合はデフォルト値として印刷ページ全体をクリップするページクリップが設定される。クリップ指定がないオブジェクトを大量に描画する場合、大量のページクリップが設定されたディスプレイリストが生成されレンダリング処理に時間がかかってしまう。
【解決手段】 所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける別のページクリップエッジのエッジ情報は読み込まず(S614)、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にする(S618)。
【選択図】 図6

Description

本発明は、ディスプレイリストのクリップ処理制御方法を有する描画装置、および描画方法、およびプログラムに関するものである。
印刷データの描画方法には、ステートセントリックとオブジェクトセントリックの2種類が存在する。
特許文献1には、ステートセントリックな描画方法が開示されている。ステートセントリックは、オブジェクトを描画する前に、描画に関するステータスをページに対して設定し、その後オブジェクトを描画していく。なお、ステートセントリックにおいて、一度設定されたステータスは、オブジェクトが全て描画されるまで有効となる。
オブジェクトセントリックな描画方法では、オブジェクトにステータスが設定されていない状態でオブジェクトを描画しようとすると、デフォルト値がオブジェクトに設定される。例えば、クリップの場合について説明する。オブジェクトのクリップ指定がNULLの場合、ディスプレイリストのページ全体にクリップが設定されることになる。なお、オブジェクトセントリックにおいて、オブジェクトに設定されたステータスは、スキャンライン毎に解除される。なお、ページ全体に設定されたクリップをページクリップと呼ぶ。
特開2005−275668
しかしながら、オブジェクトセントリックな描画方法には次のような課題がある。この課題について詳細に説明する。
描画装置は、外部装置から入力されたPDL(Page Description Lagunage)をディスプレイリストに変換する処理を行う。通常、PDLには複数のオブジェクトが定義されている。仮に、複数のオブジェクトにクリップが設定されなかった場合、ディスプレイリストに複数のページクリップが存在することになる。
複数のオブジェクトのレベルが同じである場合は、ディスプレイリスト生成時に複数のオブジェクトを一つのオブジェクトとする処理を複数のオブジェクトに施すことができるので、ページクリップを削減することが可能である。しかしながら、複数のオブジェクトのレベルが異なる場合は、複数のオブジェクトを一つのオブジェクトとする処理を複数のオブジェクトに施すことが出来ないため、複数のオブジェクトに対応する複数のページクリップの削除は不可能である。
その結果、クリップが指定されておらず、かつレベルが異なる複数のオブジェクトが大量に含まれるPDLをディスプレイリストに変換すると、大量のページクリップが含まれるディスプレイリストが生成される。
これらのページクリップは描画処理を行う上で不要なものであるが、オブジェクトを描画する際にこれらのページクリップが考慮されてしまい、描画処理に時間がかかってしまう。この問題は、全てのPDLで発生する可能性がある。
本発明の目的は、1つのクリップエッジのみを考慮して複数のオブジェクトの描画を行うことができる描画装置を提供することを目的の1つとする。
本発明の目的を達成する一実施形態に係る描画装置は、第1のオブジェクトと第2のオブジェクトにクリップが設定されていなかった場合は、両方のオブジェクトが定義されているページに対して、前記第1のオブジェクトのクリップと前記第2のオブジェクトのクリップが設定され、前記第1のオブジェクトのクリップに対応する第1のページクリップエッジのエッジ情報と、前記第2のオブジェクトのクリップに対応する第2のページクリップエッジのエッジ情報と、前記第1のオブジェクトのエッジのエッジ情報と、前記第2のオブジェクトのエッジのエッジ情報とをスキャンライン毎にエッジ処理し、エッジ情報がエッジ処理されたスキャンラインにおいて、前記第1のページクリップエッジのエッジ情報を読み込み、前記第2のページクリップエッジのエッジ情報を読み込み、該第1のページクリップエッジに対応するクリップカウントを有効にし、該第2のページクリップエッジに対応するクリップカウントを有効にし、前記第1のページクリップエッジに対応するクリップカウントが有効とされた後に前記第1のオブジェクトを描画し、前記第2のページクリップエッジに対応するクリップカウントが有効とされた後に前記第2のオブジェクトを描画する描画装置であって、クリップが設定されていない複数のオブジェクトが定義された印刷データを基に描画を行う場合であり、かつ前記スキャンラインより後のスキャンラインである所定のスキャンラインにおけるオブジェクトを描画する場合は、該所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける前記ページクリップエッジとは異なる別のページクリップエッジのエッジ情報は読み込まず、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にする更新手段と、前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画することを特徴とする。
従来、ディスプレイリスト生成処理部は、レベルが異なるオブジェクトが複数定義されたPDLを基にディスプレイリストを生成する場合、複数のオブジェクトを一つのオブジェクトとする処理を複数のオブジェクトに施すことが出来ない。そのため、複数のページクリップを考慮して描画を行っていた。しかし、本願発明により、1つのクリップエッジのみを考慮して複数のオブジェクトの描画を行うことができるようになった。
その結果、これまで描画処理に時間がかかって問題になっていたページクリップが、データに大量に含まれていても描画処理処理にかかる時間を従来と比較して短縮することが可能になった。
実施形態における各機器のコントロールユニットの構成例を示すブロック図 実施形態におけるシステム構成を示す図 実施形態におけるコントローラソフトウェアの構成を示すブロック図 実施形態におけるPDL印刷処理方式を示す図 実施形態におけるページクリップ、エッジ、レベル処理を示す図 実施形態におけるページクリップ処理を示すフロー図 実施形態におけるページクリップエッジを判定する処理を示すフロー図 実施形態におけるページクリップが現れたラインの処理を示す図 実施形態におけるページクリップが現れた次のラインの処理を示す図 実施形態におけるページクリップが現れた2ライン以降の処理を示す図 実施形態におけるグループクリップを示す図 実施形態におけるページ、グループクリップ処理を示すフロー図
以下、本発明を実施するための最良の形態について図面を用いて説明する。
<画像処理装置の構成>
本実施例を適用するに好適な描画装置である、1Dカラー系MFP(Multi Function Peripheral:マルチファンクション周辺機器)の構成について説明する。
1Dカラー系MFPは、スキャナ部、レーザ露光部、感光ドラム、作像部、定着部、給紙/搬送部及び、これらを制御する不図示のプリンタ制御部から構成される。スキャナ部は、原稿台に置かれた原稿に対して、照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する工程である。レーザ露光部は、前記画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡(ポリゴンミラー)に入射させ、反射走査光として感光ドラムに照射する。
作像部は、感光ドラムを回転駆動し、帯電器によって帯電させ、前記レーザ露光部によって感光ドラム上に形成された潜像をトナーによって現像化し、そのトナー像をシートに転写する。その際に転写されずに感光ドラム上に残った微小トナーを回収するといった一連の電子写真プロセスを実行して作像する。その際、シートが転写ベルトの所定位置に巻きつき、4回転する間に、マゼンタ(M)、シアン(C)、イエロー(Y)、ブラック(K)のトナーを持つそれぞれの現像ユニット(現像ステーション)が入れ替わりで順次前述の電子写真プロセスを繰り返し実行する。4回転の後、4色のフルカラートナー像を転写されたシートは、転写ドラムを離れ、定着部へ搬送される。
定着部は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、前記作像部によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶解、定着させる。
給紙/搬送部は、シートカセットやペーパーデッキに代表されるシート収納庫を一つ以上持っており、前記プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から一枚分離し、作像部・定着部へ搬送する。シートは作像部の転写ドラムに巻きつけられ、4回転した後に定着部へ搬送される。4回転する間に前述のYMCK各色のトナー像がシートに転写される。また、シートの両面に画像形成する場合は、定着部を通過したシートを再度作像部へ搬送する搬送経路を通るように制御する。
プリンタ制御部は、MFP全体を制御するMFP制御部と通信して、その指示に応じて制御を実行すると共に、前述のスキャナ、レーザ露光、作像、定着、給紙/搬送の各部の状態を管理しながら、全体が調和を保って円滑に動作できるよう指示を行う。
<コントローラユニットの構成>
図1は、本実施形態におけるMFPのコントロールユニット(コントローラ)の一構成例を示すブロック図である。図1において、コントロールユニット200は、画像入力デバイスであるスキャナ201や画像出力デバイスであるプリンタエンジン202と接続し、画像データの読み取りやプリント出力のための制御を行う。また、コントロールユニット200は、LAN N1や公衆回線204と接続することで、画像情報やデバイス情報をLAN N1経由で入出力するための制御を行う。202は217のデバイスI/Fと結合されるプリンタエンジンで、200で生成された描画データを紙に出力する処理を行う。
CPU205はMFP全体を制御するための中央処理装置である。RAM206は、CPU205が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ROM207はブートROMであり、システムのブートプログラムが格納されている。HDD208はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データを等格納する。操作部I/F209は、画像データ等を表示可能な表示画面を有する操作部210に対するインタフェース部であり、操作部210に対して操作画面データを出力する。また、操作部I/F209は、操作部210から操作者が入力した情報をCPU205に伝える役割をする。ネットワークインタフェース211は、例えばLANカード等で実現され、LAN N1に接続して外部装置との間で情報の入出力を行う。さらにまた、モデム212は公衆回線204に接続し、外部装置との間で情報の入出力を行う。以上のユニットがシステムバス213上に配置されている。
イメージバスI/F214は、システムバス213と画像データを高速で転送する画像バス215とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス215上には、ラスタイメージプロセッサ216、デバイスI/F217、スキャナ画像処理部218、プリンタ画像処理部219、画像編集用画像処理部220、カラーマネージメントモジュール230が接続される。
ラスタイメージプロセッサ(RIP)216は、ページ記述言語(PDLデータ)コードや後述するベクトルデータをイメージに展開する。デバイスI/F部217は、スキャナ201やプリンタエンジン202とコントロール200とを接続し、画像データの同期系/非同期系の変換を行う。
また、スキャナ画像処理部218は、スキャナ201から入力した画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部219は、プリント出力する画像データに対して、プリンタエンジンに応じた補正、解像度変換等の処理を行う。画像編集用画像処理220は、画像データの回転や、画像データの圧縮伸長処理等の各種画像処理を行う。CMM230は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理(色空間変換処理ともいう)を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間(例えばLabなど)に変換するための関数のような情報である。キャリブレーションデータとは、カラー複合機3におけるスキャナ部201やプリンタエンジン202の色再現特性を修正するためのデータである。
<システム構成>
図2は、本実施形態に係る画像処理システムの全体構成を示すブロック図である。図2において、画像処理システムは、互いにLAN(Local Area Network)N1等を介して接続された、MFP1、MFP2、MFP3で構成されている。
各MFPはそれぞれHDD(Hard Disk Drive:二次記憶装置)H1、H2、H3を具備している。MFPに搭載されているプリンタエンジン(以降、エンジン)の解像度はMFP毎に異なっており、MFP1とMFP3は600dpi、MFP2は1200dpiである。また、MFPに搭載されているレンダラ(ラスタライザ)の種類もMFP毎に異なっており、MFP1とMFP2のレンダラは同種(図中には「Ra」と図示)、MFP3だけ異なる種類(「Rb」と図示)である。一般にレンダラはASICなどのハードウェアで構成されるため、異なる種類のレンダラは異なる種類の描画命令群を処理することができない。この描画命令群を一般にディスプレイリストと呼ぶ。ディスプレイリストはハードウェアで処理可能なインストラクションであり、複雑な描画記述を持つベクタデータからソフトウェアで生成され、解像度依存である。
MFP1、MFP2、MFP3はネットワークプロトコルを使用して互いに通信することができる。なお、LAN N1上に接続されるこれらのMFPは上記のような物理的な配置に限定されなくても良い。また、LAN N1上にはMFP以外の機器(例えばPC、各種サーバ、プリンタなど)が接続されていても良い。
<コントローラソフトウェア構成>
図3は、MFPの動作を制御するコントローラソフトウェアの構成を示すブロック図である。
プリンタインターフェイス400は、外部との入出力のための手段である。プロトコル制御部401は、ネットワークプロトコルを解析・送信することによって外部との通信を行う手段である。
PDLデータ解析部402は、PDLデータを解析し、より処理しやすい形式のディスプレイリストに変換する手段である。PDLデータ解析部402において生成されたディスプレイリストはデータ描画部403に渡されて処理される。データ描画部403は上記ディスプレイリストをビットマップデータに展開するものであり、展開されたビットマップデータはページメモリ404に逐次描画されて行く。PDLデータ解析部402、およびデータ描画部403は、夫々のプログラムがメモリにロードされ、CPUが実行することで実現される。
ページメモリ404はレンダラが展開するビットマップデータを一次的に保持する揮発性のメモリである。パネル入出力制御部は操作パネルからの入出力を制御するものである。ドキュメント記憶部406はデータファイルを記憶する手段であり、ハードディスク等の二次記憶装置によって実現される。
スキャン制御部407はスキャナから入力した画像データに対して、補正、加工、編集などの各種処理を行う。印刷制御部408は、ページメモリ404の内容をビデオ信号に変換処理し、プリンタエンジン部409へ画像転送を行なう。プリンタエンジン部1400は受け取ったビデオ信号を記録紙に可視画像形成するための印刷機構部である。
<本特許が有効なPDL処理方法とその他のPDL処理方法>
図4は、ステートセントリック描画方法と、本特許が有効になるオブジェクトセントリック描画方法の違いを説明した図である。
ステートセントリックは、図4(a)で示すように、オブジェクトを描画する前に描画に関するステータスを設定し、その後オブジェクトを描画していく。一度設定したステータスは解除されるまで有効となる。その結果ページクリップは1つしか生成されない。
一方、オブジェクトセントリックは、図4(b)で示すようにステータス付きのオブジェクトが描画されていく。仮に、オブジェクトに対してクリップ設定を行わなかった場合、ページクリップは、少なくともオブジェクトの数と同じ数だけ存在する可能性がある。
ステートセントリックは主に低性能CPU/小容量メモリなどのシステムに採用されることが多いのに対し、オブジェクトセントリックは高性能CPU/大容量メモリなどのシステムに採用されることが多い。ステートセントリックのメリットとして、背景技術でも示したようにステータスを一度設定してしまうと解除されるまで有効となるため、無駄なページクリップが生成されないという点がある。一方、オブジェクトセントリックのメリットは、ステータスをオブジェクト毎に設定するため仕様のメンテナンスが容易である、デバッグし易い、マルチCPU動作時に扱いやすいといったメリットがある。
<レンダリングにおけるページクリップ、エッジ、レベル処理とは>
ここでレンダリングにおける、ページクリップエッジ、エッジ、レベル処理について図5を用いて説明する。なお、これらの処理はデータ描画部403により実行される。
まずエッジとは、ページ内に描画するオブジェクトとオブジェクト、またはオブジェクトと背景の境目を指す。ページクリップもエッジの1つとして扱われる。
エッジ処理とは、メモリ上へのエッジ情報のロード、処理中のスキャンラインにおけるX座標の算出、X座標を元にエッジが現れる順番を保持するリンクの更新、処理中のエッジと隣のエッジ間の距離の算出、エッジ情報の削除の5つが大きな処理となる。また、エッジ情報には、図5の下の四角内にかかれるような項目が含まれる。
次にレベルとは、ページ内に描画するオブジェクト同士の上下関係を示すもので、必ず各オブジェクトにレベル番号が割り振られている。レベル処理とは、描画オブジェクトのエッジが現れた場合、エッジの向きに応じて塗るか塗らないかを決めるフィルカウントを更新する。例えば、初期値0、アップエッジの場合マイナス1、ダウンエッジの場合プラス1でフィルカウントが0以外の場合描画対象となる。クリップエッジが現れた場合、描画するオブジェクトがクリップにかかっているか否かを決めるクリップカウントを更新する。例えば、初期値1、アップエッジの場合マイナス1、ダウンエッジの場合プラス1でクリップカウントが0の場合描画対象となる。クリップカウント、フィルカウントから描画対象のオブジェクトであるか否かの判定、描画対象のオブジェクトのレベル番号を元に順番を並び替えるソートの4つが大きな処理となる。
図5には、円形、三角形、四角形のオブジェクトが描かれており、エッジ処理はページの上から下に向ってスキャンライン毎に処理を行っていく。なお、円形のオブジェクトは第1のオブジェクトであり、三角形のオブジェクトは第2のオブジェクトである。図5の場合、第1のオブジェクトと第2のオブジェクトにはクリップが設定されていないので、両方のオブジェクトが定義されているページに対して、両方のオブジェクトのクリップが設定されている。このように、ページに対してかかるクリップのエッジをページクリップエッジと呼ぶ。第1のオブジェクトのクリップに対応するページクリップエッジを第1のページクリップエッジ、第2のオブジェクトのクリップに対応するページクリップエッジを第2のページクリップエッジと呼ぶ。これらのページクリップエッジは、第1のオブジェクトのエッジや、第2のオブジェクトのエッジと同様にエッジとして扱われる。
始めに、図5で示すページのディスプレイリストがメモリ上にロードされる。次に、ページの先頭には、ページの左上にページクリップエッジのアップエッジ(1)−0、(2)−0、(3)−0、ページの右上にページクリップのダウンエッジ(1)−1、(2)−1、(3)−1が表れるので、それぞれのエッジ情報をメモリの別領域にロードする。図5は、左右に3本ずつページクリップエッジが存在することを示している。図5における3本のページクリップエッジは、重ならないように描かれているが、実際は、同じX,Y座標からエッジがスタートしている。
ページクリップエッジも通常のエッジと同様に扱われるので、(1)−0→(2)−0→(3)−0→(1)−1→(2)−1→(3)−1の順にリンクされる。クリップエッジ(1)は三角形のオブジェクト、クリップエッジ(2)は四角形のオブジェクト、クリップエッジ(3)は円形のオブジェクトに対してかかるクリップである。なお、クリップエッジ(1)は、第1のページクリップエッジ、クリップエッジ(2)は、第2のページクリップエッジである。
夫々のエッジのエッジ情報は、レベル処理部に送られる。そして、(1)−0、(1)−1は三角形のオブジェクトのクリップカウントを更新、(2)−0、(2)−1は四角形のオブジェクトのクリップカウントを更新、(3)−0、(3)−1は円形のオブジェクトのクリップカウントの更新を行う。例えば、レベル処理部は、第1のページクリップエッジのエッジ情報(アップエッジ)を読み込み、第1のページクリップエッジに対応するクリップカウントを有効にする。また、レベル処理部は、第2のページクリップエッジのエッジ情報(アップエッジ)を読み込み、第2のページクリップエッジに対応するクリップカウントを有効にする。逆に、第1のページクリップエッジ、または第2のページクリップのダウンエッジを読み込んだ場合は、夫々のクリップカウントを無効にする。
図5における、ページクリップエッジのエッジ情報がロードされたスキャンラインでは、各オブジェクトのエッジのエッジ情報はロードされていないのでフィルカウントは0である。よって、ページクリップエッジのエッジ情報がロードされたスキャンラインには、描画対象のオブジェクトは存在しない。なお、第1のオブジェクトと第2のオブジェクトが存在する場合は、第1のページクリップエッジのクリップカウントと、第2のページクリップエッジのクリップカウントとが有効とされた後に、第1のオブジェクトと第2のオブジェクトは描画される。
ページの先頭ラインから1とかかれたラインまでは上記処理が行われ、1のラインでは、アップエッジ(1)−2、ダウンエッジ(1)−3が表れ、それぞれのエッジ情報がメモリ上にロードされX座標が算出される。この時点でのリンクは(1)−0→(2)−0→(3)−0→(1)−2→(1)−3→(1)−1→(2)−1→(3)−1となる。
それぞれのエッジはレベル処理部に送られて、(1)−0、(1)−1は三角形のオブジェクトのクリップカウントを更新、(2)−0、(2)−1は四角形のオブジェクトのクリップカウントを更新、(3)−0、(3)−1は円形のオブジェクトのクリップカウントの更新を行う。また(1)−2、(1)−3は三角形のオブジェクトのフィルカウントの更新を行う。(1)−2、(1)−3に挟まれた部分では三角形のオブジェクトのフィルカウントが−1となり、クリップカウントは0になるのでこのオブジェクトは描画対象となる。この場合、描画対象のオブジェクトは一つだけなのでソートは行われない。
ライン1からライン2は上記処理が繰り返され、ライン2では、アップエッジ(2)−2、ダウンエッジ(2)−3が表れ、それぞれのエッジ情報がメモリ上にロードされX座標が算出される。この時点でのリンクは(1)−0→(2)−0→(3)−0→(2)−2→(1)−2→(2)−3→(1)−3→(1)−1→(2)−1→(3)−1となる。
それぞれのエッジはレベル処理部に送られ、(1)−0、(1)−1は三角形のオブジェクトのクリップカウントを更新、(2)−0、(2)−1は四角形のオブジェクトのクリップカウントを更新、(3)−0、(3)−1は円形のオブジェクトのクリップカウントの更新を行う。また(2)−2、(2)−3は四角形のオブジェクト、(1)−2、(1)−3は三角形のオブジェクトのフィルカウントの更新を行う。(1)−2、(1)−2に挟まれた部分では四角形のオブジェクトのフィルカウントが−1となり、クリップカウントは0(有効)になるので描画対象となる。この場合、描画対象のエッジは一つだけなのでソートは行われない。(1)−2、(2)−3に挟まれた部分では三角形、四角形のオブジェクト共にフィルカウントが−1となり、クリップカウントは0になるので描画対象となる。この場合、それぞれのオブジェクトが持っているレベル番号を比較したところ、四角形のオブジェクトが持つレベル番号の方が大きいので、四角形のオブジェクトが描画対象となる。次に、(2)−3、(1)−3に挟まれた部分では三角形のオブジェクトのフィルカウントが−1となり、クリップカウントは0になるので描画対象となる。この場合、描画対象のオブジェクトは一つだけなのでソートは行われない。
ライン2からライン3は上記処理が繰り返され、ライン3では、(1)−2、(2)−3が削除されるので、リンクは(1)−0→(2)−0→(3)−0→(2)−2→(2)−3→(1)−1→(2)−1→(3)−1となる。以降のスキャンラインにおいても上記と同様の処理が繰り返され、ページの最終ラインまで行われる。以上がレンダリングにおける基本的なページクリップ、エッジ、レベル処理の流れになる。
<データ処理フロー>
次に、図6を使って本実施例におけるレンダリング処理のフローについて説明する。この処理は、データ描画部403により実行される。
S601は本処理の開始を示す。S602は印刷処理を行う対応のディスプレイリストを表す。S602において、ディスプレイリストはメモリにロードされる。S603において、ディスプレイリストに含まれるレベル情報はメモリ上にロードされる。S604はスキャンラインのループ端になり、1スキャンライン処理する毎にS622からこのループ端に戻り、処理するスキャンラインがページの最終スキャンラインまでこのループが繰り返される。
S605において、処理するエッジが新しくメモリにロードされるエッジ情報か否かを判断する。なお、新しくメモリにロードされるエッジ情報は、同じくメモリにより保持される。S605がYESだった場合、S606において、ロードされたエッジ情報がページクリップエッジか否かを判断する。この処理の詳細については、<ページクリップエッジ判断処理フロー>で記載する。S606がYESだった場合、S607において、S605でロードされたエッジがページクリップであることを示すフラグを付ける。
S606がNOだった場合、S611へ処理が移る。S605がNOだった場合、S608において、ロードされているエッジがページクリップエッジか否かを判断し、NOだった場合S611へ処理を移す。S608がYESだった場合、S609において、描画処理を行うスキャンラインが、ページクリップエッジがロードされたスキャンラインに対して、次のスキャンラインであるか否かを判断する。この判断の結果、YESだった場合は、S610において1つのページクリップエッジのエッジ情報を残し、それ以外のページクリップエッジのエッジ情報をメモリから削除しS611へ処理を移す。
S609がNOだった場合もS611へ処理を移す。S611において、各エッジの処理中のラインにおけるX座標の算出やエッジのソート処理を行う。次に、S612において、処理中のラインに次のエッジが存在するか否かを判断し、YESだった場合、S605へ戻り上記処理を繰り返す。S612においてNOだった場合、処理中のラインの先頭エッジに戻り、S613において、処理するエッジを読み込み、読み込んだエッジがページクリップエッジであるか否かを判断する。S613においてYESだった場合、S614において、メモリに保持されており、かつS613において読み込まれたページクリップエッジが、ページクリップエッジをロードしたスキャンラインであるか否かを判断する。
S614においてYESだった場合、S615において、ページクリップエッジが持っているIDをレベルIDに変換し、クリップ対象のオブジェクトを特定する。S616において、ページクリップエッジ対象のオブジェクトのクリップカウントを更新する。S617において、S616で更新したカウントを管理しているクリップカウントを、次のスキャンライン以降で使用する為に保持しS620へ処理を移す。S614がNOだった場合、S618において、読み込んだページクリップエッジに対応するクリップカウントと、それ以外の全てのクリップカウントを更新しS620へ処理を移す。即ち、データ描画部403は、S617において保持した全てのクリップカウントを有効にする。
S620において、描画処理を行うスキャンラインにおいて、次のエッジが存在すか否かを判断し、YESだった場合、S613へ戻り上記処理を繰り返す。S620がNOだった場合、S621において、フィル、コンポジット処理を行い、次のラインに移動する。フィル処理とは、処理するオブジェクトがイメージだった場合、指定されている拡縮回転処理を行い、同じ色が続くブラシの場合、ピクセル分のデータを生成することをいう。また、コンポジット処理とは、ピクセル同士のラスターオペレーションであって、透過などの描画の際に行われる処理である。S622は、S604に対応するスキャンラインに関するループ端になる。全スキャンラインに対する処理が終了したらS623でレンダリング処理を終了する。
<ページクリップエッジ判断処理フロー>
次に、図7を使って本実施例におけるページクリップエッジ判断処理のフローについて説明する。この処理は、データ描画部403によって行われる。
S701は本処理の開始を示す。S702において、メモリ上にディスプレイリストをロードし、S703において、ディスプレイリストからエッジ情報を抽出しメモリ上にロードする。S704において、メモリ上にロードして読み込んだエッジ情報に対応するエッジがクリップエッジであるか否かを判断する。S704がNOだった場合、S705においてロードされたエッジはオブジェクトのエッジであると判断され、S718の処理へ移り処理が終了する。
S704がYESだった場合、S706において、読み込んだエッジ情報に対応するエッジが1本目のクリップエッジであるか否かを判断する。YESだった場合、S707において、未決定エッジとして仮クリップフラグを付加しS718へ処理を移す。S706がNOだった場合、S708において、読み込んだエッジのスタートのX座標が、メモリに保持されているクリップエッジのスタートのX座標と同じであるか否かを判断し、NOだった場合はS712へ処理を移す。
S708がYESだった場合、S709において、読み込んだエッジの傾きが、メモリに保持されているクリップエッジと同じ傾きであるか否かを判断し、NOだった場合はS710へ処理を移す。S709がYESだった場合、S710において、読み込んだエッジの長さが、メモリに保持されているクリップエッジの長さと同じであるか否かを判断し、NOだった場合S712に処理を移す。S710がYESだった場合、S711において、読み込んだエッジの向きが、メモリに保持されているクリップエッジの向きと同じであるか否かを判断し、NOだった場合S712へ処理を移す。
S711がYESだった場合、S715において未決定エッジがあるか否かを判断し、NOだった場合S717へ処理を移し、S715がYESだった場合、S716においてメモリに保持されている未決定エッジをページクリップエッジと決定する。そして、S717において、読み込んだクリップエッジをページクリップエッジと判定しS718で終了する。また、S712において、未決定エッジがあるか否かを判断し、NOだった場合S714へ処理を移し、S712がYESだった場合、S713において未決定エッジを通常クリップエッジと決定する。S714において、読み込んだエッジを通常クリップエッジと判定しS718で終了する。このようにしてデータ描画部403は、ページ左右のページクリップを検出する。
<ページクリップエッジが現れたラインの処理>
ここで図8を用いてS607〜S611のページクリップエッジが初めてロードされたスキャンラインの処理について説明する。なお、このスキャンラインは第3スキャンラインに相当する。
D801は、ページクリップエッジが初めてロードされるスキャンラインを示している。図8は、左右それぞれ3本のページクリップが存在する例を示しており、実際は同じX,Y座標からエッジがスタートしているが、図の上では3本あることが分かりやすいようにずらして記載している。D802に示すページ左側のエッジがアップエッジ、D803に示すページ右側のエッジがダウンエッジである。
まず、印刷処理開始時にD806に示すようにレベル情報がメモリ上にロードされる。ページクリップエッジがロードされる第3スキャンラインにおいて、D805に示すようにメモリ上にエッジ情報がロードされる。メモリは、ロードされたエッジ情報を保持する。
次に、エッジ処理が行われ、レベル処理部にクリップエッジ情報(ページクリップエッジというフラグ、エッジID、エッジの向き等)が送信される。レベル処理部では、エッジIDをレベルIDに変換し、クリップがかかるレベルが特定され、エッジの向きに応じてクリップカウントが更新される。D804は、3本のページクリップエッジと、そのクリップがかかるオブジェクト、オブジェクトが保持しているクリップカウント(CC)の初期値を示す。また、図8は、ページクリップエッジ(PC)左側時点でのクリップカウント、左右のページクリップに挟まれている間のクリップカウント、ページクリップエッジ右側時点でのクリップカウントを示した図となる。このクリップカウントはD806のレベル情報に関するメモリ上で保持、更新される。図8においては、円形のページクリップエッジが有効になるだけではなく、円形のページクリップエッジと異なる別のページクリップエッジも有効になる。別のページクリップエッジとは、例えば、三角形のページクリップエッジである。
従来の処理は、第3スキャンラインのみならず、全てのスキャンラインにおいて上記の処理を繰り返し行われていた。本実施例では、D807に示すようにページクリップエッジにかかる全てのオブジェクトのクリップカウンタへのポインタをキャッシュとしてキャッシュを生成し保持する。なお、上述の円形のページクリップエッジと、三角形のページクリップエッジである別のページクリップエッジが有効とされた後に、円形と三角形は描画される。
<ページクリップエッジが現われた次のラインの処理>
ここで図9を用いてS615〜S618のページクリップエッジがロードされた次のスキャンラインの処理について説明する。なお、このスキャンラインは、第2スキャンラインに相当する。
D901は、ページクリップエッジがロードされた次のスキャンラインを示している。D902は、第3スキャンラインにおいて保持されたページクリップエッジのエッジ情報が保持されているメモリ領域をさす。D902のページクリップエッジ(二点鎖線エッジ)の処理が行われ、ページクリップエッジであるというフラグが送られた際、レベル処理部はD904にアクセスし、D903にロードされている各オブジェクトのクリップカウントをエッジの向きに応じて更新する。
D902の別のページクリップエッジ(点線エッジ)に対応するクリップカウントは、1つ目のページクリップエッジにおいてクリップカウントを更新した際に有効にされている。データ描画部403は、上述のページクリップエッジ(二点鎖線エッジ)のエッジ情報を残し、2つ目のエッジ(点線エッジ)をD902のメモリ上から削除する。なお、上述の通り、3つ目のエッジ(左側実線エッジ)のエッジ情報はメモリから削除される。なお、ページクリップエッジと別のページクリップエッジのクリップカウントが有効になった後に、円形オブジェクトと三角形オブジェクトが描画される。
<ページクリップエッジが現われた2ライン以降の処理>
ここで図10を用いてページクリップエッジがロードされた2ライン以降のスキャンラインの処理について説明する。なお、このスキャンラインは、第1スキャンラインに相当する。
D1001は、ページクリップエッジがロードされた第3スキャンラインから2スキャンライン後のスキャンラインを示している。D1002は、左/右点線エッジ情報と左/右実線エッジ情報がメモリから削除されたので、左/右二点鎖線エッジ情報のみが残っている。データ描画部403は、点線エッジのページクリップエッジ情報は読み込み、実線エッジのページクリップエッジのエッジ情報は読み込まず、点線エッジのクリップカウントを有効にし、実線エッジのクリップカウントを有効にしている。両方のクリップカウントを有効にした後に、円形オブジェクトと三角形オブジェクトが描画される。
なお、図8、図9、図10で示したページを含む印刷データは、レベルが異なるオブジェクトが複数定義された印刷データである。よって、それらの複数のオブジェクトを1つのオブジェクトとみなす処理を施すことができない。
〔変化形〕
<グループクリップエッジ処理>
ここで図11を用いてグループクリップエッジについて説明する。オブジェクトセントリックな描画方法には、ある複数の描画オブジェクトをひとまとめにするグループという考え方がある。図11に示すように、円形オブジェクト、三角形オブジェクト、四角形オブジェクトの3つが一つのグループとして扱われている。その際、各オブジェクトにクリップが設定されていない場合、デフォルト値としてそれらのオブジェクトを包含するグループクリップが設定される。図では三つのグループクリップエッジがずれているように記載されているが実際には同じ軌跡のクリップエッジである。
この場合、ページクリップと同様に1つのグループクリップエッジと各オブジェクトのクリップカウントへのポインタを残すことにより、他のグループクリップエッジは除去することが出来る。即ち、オブジェクトに対してクリップを設定しなかった場合、デフォルト値としてページに対してクリップが設定されない場合であっても、本実施例を適用することが可能である。
ここで図12の(a)〜(d)を元に、ページクリップエッジ処理に関する説明を行う。
図12(a)は、クリップにかかるオブジェクトのクリップカウントの更新について説明したもので、S1201で処理を開始し、S1202において図6で説明した処理を行う。S1203において、クリップにかかるオブジェクトが既にロードされているか否かを判断する。S1203でYESだった場合、通常通りクリップカウントを更新し、S1205で処理を終了するが、S1203でNOだった場合、描画対象外なのでクリップカウントの更新を行わずにS1205で処理を終了する。即ち、ロードしたページクリップエッジに対応したオブジェクトがメモリにロードされるまで図6の処理を行わない。これにより、描画装置における描画処理の高速化を図ることが可能になる。
図12(b)は、ページクリップが表れるラインが分かっている場合の処理について示した図である。S1206で処理を開始し、S1207において、処理中のラインはページクリップが表れることが想定されているラインか否かを判断する。S1207でYESだった場合、S1208において図7のページクリップ開始であるか否かの判断を行う。S1208でYESだった場合、S1209において対象エッジはページクリップとして処理する。S1207やS1208でNOだった場合、S1210において対象エッジは通常レベルとして処理する。
図12(c)は、処理するPDLのタイプに応じた処理を説明したもので、S1212で処理を開始する。S1213において、処理を行うPDLの種別を判断し、PDLがPSまたはPDFだった場合、S1214においてeven oddの塗りルールでページクリップ処理を行いS1216へ処理が移る。その他のPDLの場合、non zero winddingルールにてページクリップ処理を行い、S1216へ処理が移る。
図12(d)は、グループクリップ処理においてエッジの長さによってグループクリップ処理を行うか否かを決める処理を説明したもので、S1217で処理を開始する。S1218において、読み込まれたエッジがグループクリップか否かを判断し、YESだった場合、S1219において、そのエッジの副走査方向の長さが規定値以上か否かを判断する。S1219においてYESだった場合、S1220において読み込まれたエッジをグループクリップエッジとして処理しS1222の処理へ移る。S1218やS1219がNOだった場合、S1221において通常クリップとして処理しS1222の処理へ移る。
その他の実施系として、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、PC、複写機、複合機及びファクシミリ装置の如くである。
本発明は、上述した実施形態の各機能を実現するソフトウェアプログラムを、システム、若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
従って、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット/イントラネットのウェブサイトからダウンロードしてもよい。すなわち、該ウェブサイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明の構成要件となる場合がある。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネット/イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
200 コントロールユニット
201 スキャナ
202 プリンタエンジン
210 操作部
301 ジョブコントロール処理
400 プロトコル制御部
401 ベクタデータ生成部
402 PDLデータ解析部
403 データ描画部
404 ページメモリ
405 パネル入出力制御部
406 ドキュメント記憶部
407 スキャン制御部
408 出力制御部
409 プリンタエンジン部

Claims (7)

  1. 第1のオブジェクトと第2のオブジェクトにクリップが設定されていなかった場合は、両方のオブジェクトが定義されているページに対して、前記第1のオブジェクトのクリップと前記第2のオブジェクトのクリップが設定され、
    前記第1のオブジェクトのクリップに対応する第1のページクリップエッジのエッジ情報と、前記第2のオブジェクトのクリップに対応する第2のページクリップエッジのエッジ情報と、前記第1のオブジェクトのエッジのエッジ情報と、前記第2のオブジェクトのエッジのエッジ情報とをスキャンライン毎にエッジ処理し、
    エッジ情報がエッジ処理されたスキャンラインにおいて、前記第1のページクリップエッジのエッジ情報を読み込み、該第1のページクリップエッジに対応するクリップカウントを有効にし、前記第2のページクリップエッジのエッジ情報を読み込み、該第2のページクリップエッジに対応するクリップカウントを有効にし、
    前記第1のページクリップエッジに対応するクリップカウントが有効とされた後に前記第1のオブジェクトを描画し、前記第2のページクリップエッジに対応するクリップカウントが有効とされた後に前記第2のオブジェクトを描画する描画装置であって、
    クリップが設定されていない複数のオブジェクトが定義された印刷データを基に描画を行う場合であり、かつ前記スキャンラインより後のスキャンラインである所定のスキャンラインにおけるオブジェクトを描画する場合は、
    該所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける前記ページクリップエッジとは異なる別のページクリップエッジのエッジ情報は読み込まず、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にする更新手段と、
    前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画する描画手段とを有する描画装置。
  2. 前記所定のスキャンラインとは、第1スキャンラインであり、
    前記描画装置は、該第1スキャンラインの1つ前のスキャンラインである第2スキャンラインにおけるオブジェクトを描画する場合であって、
    前記ページクリップエッジのエッジ情報と前記別のページクリップエッジのエッジ情報とを保持する保持手段と、
    前記保持手段により保持されたページクリップエッジのエッジ情報が、前記第2スキャンラインの1つ前のスキャンラインである第3スキャンラインにおいて保持されたエッジ情報である場合は、前記保持手段により保持されている前記ページクリップエッジのエッジ情報と前記別のページクリップエッジのエッジ情報の内、前記ページクリップエッジのエッジ情報を残し、前記別のページクリップエッジのエッジ情報を削除する削除手段とを有し、
    前記更新手段は、前記削除手段により削除されず、かつ前記保持手段により保持されているページクリップエッジのエッジ情報は読み込み、前記削除手段により削除され、かつ前記保持手段により保持されていない別のページクリップエッジのエッジ情報は読み込まず、
    前記ページクリップエッジに対応するクリップカウントを有効にし、該別のページクリップエッジに対応するクリップカウントを有効にし、
    前記描画手段は、前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画することを特徴とする請求項1に記載の描画装置。
  3. 前記描画装置は、第3スキャンラインにおけるオブジェクトを描画する場合であって、
    前記ページクリップエッジのエッジ情報と前記別のページクリップエッジのエッジ情報とをメモリにロードするロード手段を有し
    前記保持手段は、前記ロード手段によりロードされたエッジ情報を保持し、
    前記更新手段は、前記保持手段により保持されているページクリップエッジのエッジ情報を読み込み、前記保持手段により保持されている別のページクリップエッジのエッジ情報を読み込み、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にし、
    前記描画手段は、前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画することを特徴とする請求項2に記載の描画装置。
  4. 前記更新手段は、前記第1スキャンラインより後のスキャンラインにおいて、前記別のページクリップエッジの情報は読み込まず、該別のページクリップエッジに対応するクリップカウントを有効にすることを特徴とする請求項2または3に記載の描画装置。
  5. 前記保持手段により保持されているクリップエッジと、前記ロード手段によりロードされたクリップエッジの両方のクリップエッジのX座標が同じであるか否か、および該両方のクリップエッジの傾きが同じであるか否か、および該両方のクリップエッジの長さが同じであるか否か、および該両方のクリップエッジの向きが同じであるか否かを判断する判断手段と、
    前記判断手段により両方のクリップエッジのX座標が同じであると判断され、かつ該両方のクリップエッジの傾きが同じであると判断され、かつ該両方のクリップエッジの長さが同じであると判断され、かつ該両方のクリップエッジの向きが同じであると判断された場合は、該両方のクリップエッジはページクリップエッジであると判定する判定手段とを有する請求項3または4に記載の描画装置。
  6. 第1のオブジェクトと第2のオブジェクトにクリップが設定されていなかった場合は、両方のオブジェクトが定義されているページに対して、前記第1のオブジェクトのクリップと前記第2のオブジェクトのクリップが設定され、
    前記第1のオブジェクトのクリップに対応する第1のページクリップエッジのエッジ情報と、前記第2のオブジェクトのクリップに対応する第2のページクリップエッジのエッジ情報と、前記第1のオブジェクトのエッジのエッジ情報と、前記第2のオブジェクトのエッジのエッジ情報とをスキャンライン毎にエッジ処理し、
    エッジ情報がエッジ処理されたスキャンラインにおいて、前記第1のページクリップエッジのエッジ情報を読み込み、該第1のページクリップエッジに対応するクリップカウントを有効にし、前記第2のページクリップエッジのエッジ情報を読み込み、該第2のページクリップエッジに対応するクリップカウントを有効にし、
    前記第1のページクリップエッジに対応するクリップカウントが有効とされた後に前記第1のオブジェクトを描画し、前記第2のページクリップエッジに対応するクリップカウントが有効とされた後に前記第2のオブジェクトを描画する描画方法であって、
    更新手段は、クリップが設定されていない複数のオブジェクトが定義された印刷データを基に描画を行う場合であり、かつ前記スキャンラインより後のスキャンラインである所定のスキャンラインにおけるオブジェクトを描画する場合は、
    該所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける前記ページクリップエッジとは異なる別のページクリップエッジのエッジ情報は読み込まず、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にし、
    描画手段は、前記更新手段により前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画する描画方法。
  7. 第1のオブジェクトと第2のオブジェクトにクリップが設定されていなかった場合は、両方のオブジェクトが定義されているページに対して、前記第1のオブジェクトのクリップと前記第2のオブジェクトのクリップが設定され、
    前記第1のオブジェクトのクリップに対応する第1のページクリップエッジのエッジ情報と、前記第2のオブジェクトのクリップに対応する第2のページクリップエッジのエッジ情報と、前記第1のオブジェクトのエッジのエッジ情報と、前記第2のオブジェクトのエッジのエッジ情報とをスキャンライン毎にエッジ処理し、
    エッジ情報がエッジ処理されたスキャンラインにおいて、前記第1のページクリップエッジのエッジ情報を読み込み、該第1のページクリップエッジに対応するクリップカウントを有効にし、前記第2のページクリップエッジのエッジ情報を読み込み、該第2のページクリップエッジに対応するクリップカウントを有効にし、
    前記第1のページクリップエッジに対応するクリップカウントが有効とされた後に前記第1のオブジェクトを描画し、前記第2のページクリップエッジに対応するクリップカウントが有効とされた後に前記第2のオブジェクトを描画する描画装置が実行するプログラムであって、
    クリップが設定されていない複数のオブジェクトが定義された印刷データを基に描画を行う場合であり、かつ前記スキャンラインより後のスキャンラインである所定のスキャンラインにおけるオブジェクトを描画する場合は、
    該所定のスキャンラインにおけるページクリップエッジのエッジ情報は読み込み、該所定のスキャンラインにおける前記ページクリップエッジとは異なる別のページクリップエッジのエッジ情報は読み込まず、前記ページクリップエッジに対応するクリップカウントを有効にし、前記別のページクリップエッジに対応するクリップカウントを有効にする更新ステップと、
    前記更新ステップにより前記ページクリップエッジに対応するクリップカウントと前記別のページクリップエッジに対応するクリップカウントとが有効とされた後に、両方のページクリップエッジに対応するオブジェクトを描画する描画ステップとを有する描画装置が実行するプログラム。
JP2010094081A 2010-04-15 2010-04-15 描画装置、および描画方法、およびプログラム Pending JP2011227565A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010094081A JP2011227565A (ja) 2010-04-15 2010-04-15 描画装置、および描画方法、およびプログラム
US13/082,802 US8675244B2 (en) 2010-04-15 2011-04-08 Rendering apparatus having a display list clip processing control method, rendering method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010094081A JP2011227565A (ja) 2010-04-15 2010-04-15 描画装置、および描画方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2011227565A true JP2011227565A (ja) 2011-11-10

Family

ID=44787983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010094081A Pending JP2011227565A (ja) 2010-04-15 2010-04-15 描画装置、および描画方法、およびプログラム

Country Status (2)

Country Link
US (1) US8675244B2 (ja)
JP (1) JP2011227565A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710736B2 (en) * 2014-03-03 2017-07-18 Canon Kabushiki Kaisha Rendering apparatus and rendering method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8767009B1 (en) * 2012-06-26 2014-07-01 Google Inc. Method and system for record-time clipping optimization in display list structure

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4343344B2 (ja) * 1998-09-11 2009-10-14 キヤノン株式会社 ラスタ形式のグラフィックオブジェクトを用いたイメージの高速レンダリング方法
AU2003900772A0 (en) * 2003-02-21 2003-03-13 Canon Kabushiki Kaisha Reducing the number of compositing operations performed in a pixel sequential rendering system
JP2005275668A (ja) 2004-03-24 2005-10-06 Casio Electronics Co Ltd 印刷装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710736B2 (en) * 2014-03-03 2017-07-18 Canon Kabushiki Kaisha Rendering apparatus and rendering method

Also Published As

Publication number Publication date
US20110255098A1 (en) 2011-10-20
US8675244B2 (en) 2014-03-18

Similar Documents

Publication Publication Date Title
US8472065B2 (en) Image processing apparatus, image processing method and computer readable medium
US8564796B2 (en) Image processing method and apparatus for performing notification of the presence of a file whose metadata is not generated when performing retrieval processing
JP5366513B2 (ja) 画像形成装置及びその制御方法
JP5043715B2 (ja) 画像処理装置
JP2009271780A (ja) 電子文書変換装置および電子文書変換方法
JP4125302B2 (ja) 印刷システム、情報処理装置、印刷方法およびプログラム
US20080180707A1 (en) Image processing apparatus, image processing system, and image processing method
US7362465B2 (en) Information processing apparatus and control method therefor
JP5188201B2 (ja) 画像処理装置及びその制御方法、プログラム、記憶媒体
JP5089416B2 (ja) 画像処理装置およびその制御方法並びにプログラム
JP5288879B2 (ja) 印刷装置及びその制御方法、プログラム、並びに、コンピュータ読み取り可能な記憶媒体
JP5258313B2 (ja) 画像処理システム、画像処理方法、及びプログラム
US8264744B2 (en) Image processing apparatus, image processing method, and program to execute image processing method
JP2012083921A (ja) 画像形成装置及びその処理方法
JP2011227565A (ja) 描画装置、および描画方法、およびプログラム
JP5036636B2 (ja) 画像処理装置、方法、及び、プログラム
JP2011000794A (ja) 画像形成装置及び画像形成方法ならびに画像形成方法を実行するプログラム
JP2011095893A (ja) 印刷装置
JP5110945B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP4497000B2 (ja) 複写システム、複写制御方法及びプログラム
JP2008219398A (ja) 画像形成装置、画像処理方法、ならびに画像処理プログラムおよびそれを記憶するコンピュータ読取可能な記憶媒体
JP2010262374A (ja) 画像形成装置及び画像形成方法ならびに画像形成方法を実行するプログラム
JP2006331073A (ja) 画像形成装置、画像形成方法、コンピュータが読み取り可能な記憶媒体及びコンピュータに実行させるためのプログラム
JP2010081549A (ja) 画像処理装置
JP2000293349A (ja) 画像処理装置、画像処理システム、画像処理方法及び記憶媒体