(57)【要約】      （修正有）【課題】印刷処理とプレビュー処理とでリソースが競合する場合でも、ユーザの求める即時性に応えるプレビューシステムを提供する。【解決手段】プレビュー画像を生成する複数のプレビュー方法を、共有リソース１１１〜１１４の競合状況それぞれにおいて実行可能なプレビュー方法として対応付けたプレビュー情報を保持し、共有リソースの競合状況を識別して競合情報を生成する競合状況識別手段と、競合情報に応じて前記プレビュー方法保持手段にて保持する前記プレビュー情報に示された前記複数のプレビュー方法の中からいずれかのプレビュー方法を選択するプレビュー方法選択手段と、プレビュー方法選択手段が選択したプレビュー方法によってプレビュー画像を生成するプレビュー画像生成手段とを有する。【選択図】図１
2011008632.tif 000002
【特許請求の範囲】
【請求項１】
共有リソースを用いてプレビュー画像を生成する印刷処理装置であって、
前記プレビュー画像を生成する複数のプレビュー方法を、前記共有リソースの競合状況それぞれにおいて実行可能なプレビュー方法として対応付けたプレビュー情報を保持するプレビュー方法保持手段と、
前記共有リソースの競合状況を識別し、競合情報を生成する競合状況識別手段と、
前記競合情報に応じて、前記プレビュー方法保持手段にて保持する前記プレビュー情報に示された前記複数のプレビュー方法の中からいずれかのプレビュー方法を選択するプレビュー方法選択手段と、
前記プレビュー方法選択手段が選択した前記プレビュー方法によって、前記プレビュー画像を生成するために必要な中間データを生成する中間データ生成手段と、
前記中間データ生成手段によって生成した前記中間データを用いて、前記プレビュー画像を生成するプレビュー画像生成手段と、
を有することを特徴とする印刷処理装置。
【請求項２】
前記プレビュー方法保持手段が保持するプレビュー方法は、
前記プレビュー画像に含まれる描画オブジェクトの輪郭を表示するプレビュー方法、または、
前記プレビュー画像に含まれ描画オブジェクトを属性情報ごとに異なる色で表示するプレビュー方法、または、
印刷データにおいて指定された順に前記描画オブジェクトを重ね合わせて表示するプレビュー方法、または、
色情報、及びイメージデータを含むサムネイル表示を、前記プレビュー画像として表示するプレビュー方法、または、
出力する印刷データに対して施される画像処理と同一の処理を施したプレビュー画像を表示するプレビュー方法のうち、少なくとも一つを含むことを特徴とする請求項１に記載の印刷処理装置。
【請求項３】
前記競合情報は、前記共有リソースそれぞれについて利用可能な状態か否かの情報を有し、
前記プレビュー方法選択手段は、前記競合情報に応じて前記プレビュー方法保持手段が保持する前記複数のプレビュー方法の中からプレビュー方法を選択することを特徴とする請求項１または２に記載の印刷処理装置。
【請求項４】
前記共有リソースの競合情報から、前記プレビュー方法を実行するために利用可能な前記共有リソースの数を判定する共有リソース数判定手段を更に有し、
前記プレビュー方法選択手段は、前記共有リソース数判定手段により判定した前記利用可能なリソースの数に応じて、前記プレビュー方法保持手段が保持する前記複数のプレビュー方法の中からプレビュー方法を選択することを特徴とする請求項１または２に記載の印刷処理装置。
【請求項５】
前記競合状況識別手段は、前記共有リソースの競合状況の変化を検知し、
前記プレビュー方法選択手段は、前記競合状況識別手段によって検知した前記競合状況の変化に応じて前記プレビュー方法を再選択し、
前記中間データ生成手段は、すでに生成した中間データを再利用して、前記プレビュー方法選択手段が再選択した前記プレビュー方法で、前記プレビュー画像を生成するために必要な新たな中間データを生成し、
前記プレビュー画像生成手段は、前記中間データ生成手段によって生成した前記新たな中間データを用いて、前記プレビュー画像を生成することを特徴とする請求項１乃至４のいずれか一項に記載の印刷処理装置。
【請求項６】
生成した前記中間データが前記プレビュー画像を生成するために再利用可能か否かを識別する中間データ再利用識別手段を更に有し、
前記中間データ生成手段は、前記中間データ再利用識別手段にて再利用可能と識別された前記中間データを用いて、前記新たな中間データを生成することを特徴とする請求項５に記載の印刷処理装置。
【請求項７】
共有リソースを用いてプレビュー画像を生成する印刷処理装置の制御方法であって、
前記プレビュー画像を生成する複数のプレビュー方法を、前記共有リソースの競合状況それぞれにおいて実行可能なプレビュー方法として対応付けたプレビュー情報を保持するプレビュー方法保持工程と、
前記共有リソースの競合状況を識別し、競合情報を生成する競合状況識別工程と、
前記競合情報に応じて、前記プレビュー方法保持工程にて保持する前記プレビュー情報に示された前記複数のプレビュー方法の中からいずれかのプレビュー方法を選択するプレビュー方法選択工程と、
前記プレビュー方法選択工程が選択した前記プレビュー方法によって、前記プレビュー画像を生成するために必要な中間データを生成する中間データ生成工程と、
前記中間データ生成工程によって生成した前記中間データを用いて、前記プレビュー画像を生成するプレビュー画像生成工程と、
を有することを特徴とする制御方法。
【請求項８】
コンピュータを、
プレビュー画像を生成する複数のプレビュー方法を、共有リソースの競合状況それぞれにおいて実行可能なプレビュー方法として対応付けたプレビュー情報を保持するプレビュー方法保持手段と、
前記共有リソースの競合状況を識別し、競合情報を生成する競合状況識別手段と、
前記競合情報に応じて、前記プレビュー方法保持手段にて保持する前記プレビュー情報に示された前記複数のプレビュー方法の中からいずれかのプレビュー方法を選択するプレビュー方法選択手段と、
前記プレビュー方法選択手段が選択した前記プレビュー方法によって、前記プレビュー画像を生成するために必要な中間データを生成する中間データ生成手段と、
前記中間データ生成手段によって生成した前記中間データを用いて、前記プレビュー画像を生成するプレビュー画像生成手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷処理装置、印刷処理方法、及びプログラムに関する。詳しくは、印刷データの出力結果を印刷に先立って確認する、いわゆるプレビュー処理に関する。
【背景技術】
【０００２】
従来、文書あるいは画像といったデータをプリンタなどの印刷装置で印刷する際には、実際に用紙上に印刷する前に、印刷されるイメージを画面上に表示して利用者に提示する印刷プレビュー機能を用いることが知られている。ユーザは、この印刷プレビュー機能を利用して印刷される画像をチェックすることで、望ましいレイアウトになっているかなどの出力結果の妥当性を確認することができる。また、印刷プレビュー機能は、実際に印刷を行う時だけでなく、印刷装置内のＨＤＤ等の記録媒体に記録された印刷データから所望の印刷データを検索する際にも用いることができる。
【０００３】
プレビュー処理の方法として、印刷データに対応したサムネイル画像を表示させる方法や、印刷指定時に印刷データからプレビュー用の画像を生成して表示する方法などが用いられている。また、印刷処理とプレビュー処理の競合時の処理を最適に行う方法として、特許文献１のようなジョブのプレビュー設定に基づき、印刷処理とプレビュー処理の競合処理を制御する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−０３９９４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記のような従来技術では、印刷処理とプレビュー処理とで同一のリソースを利用する場合、同時に実行することが出来ない。例えば印刷処理が実行されている場合、プレビュー処理は完全に行うことが出来ず、ユーザが求める即時性を実現することが出来ない。
【０００６】
本発明は、以上説明した印刷処理とプレビュー処理とのリソース競合時の問題について鑑みてなされたものであり、利用可能なリソースを有効に用いることにより、競合時もユーザの求める即時性に応えるプレビュー機能を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明の印刷処理装置は次に示す構成を備える。共有リソースを用いてプレビュー画像を生成する印刷処理装置であって、前記プレビュー画像を生成する複数のプレビュー方法を、前記共有リソースの競合状況それぞれにおいて実行可能なプレビュー方法として対応付けたプレビュー情報を保持するプレビュー方法保持手段と、前記共有リソースの競合状況を識別する競合状況識別手段と、前記競合状況に応じて、前記プレビュー方法保持手段にて保持する前記プレビュー情報に示された前記複数のプレビュー方法の中からいずれかのプレビュー方法を選択するプレビュー方法選択手段と、前記プレビュー方法選択手段が選択した前記プレビュー方法によって、前記プレビュー画像を生成するために必要な中間データを生成する中間データ生成手段と、前記中間データ生成手段によって生成した前記中間データを用いて、前記プレビュー画像を生成するプレビュー画像生成手段とを有する。
【発明の効果】
【０００８】
本発明によれば、リソースの競合時において限られたリソース状況においても、利用可能なリソースを有効に利用して、ユーザの求める即時性の高いプレビューの実現を行うことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る印刷処理システムの構成例を示すブロック図。
【図２】本実施形態に係る印刷処理装置のプレビュー処理の手順を示すフローチャート図。
【図３】本実施形態に係る競合情報のデータフォーマットを示す図。
【図４】本実施形態に係るプレビュー方法選択処理の詳細を示すフロー図。
【図５】本実施形態に係るプレビュー方法選択処理で用いるプレビューテーブルの例を示す図。
【図６】本実施形態に係るプレビューデータ生成処理の流れを示すフロー図。
【図７】本実施形態に係る複数のプレビュー方法において生成される各プレビュー画像の概要を示す図。
【図８】本実施形態に係るＮｏｒｍａｌプレビュー画像生成処理を示すフロー図。
【図９】本実施形態に係るＥｄｇｅプレビュー画像生成処理を示すフロー図。
【図１０】本実施形態に係るＡｔｔｒｉｂｕｔｅプレビュー画像生成処理を示すフロー図。
【図１１】本実施形態に係るＴｏｐ  Ｌｅｖｅｌプレビュー画像生成処理を示すフロー図。
【図１２】本実施形態に係るＴｈｕｍｂｎａｉｌプレビュー方法選択処理を示すフロー図。
【図１３】本実施形態に係るＲＡＭ内部の構成例を示す図。
【図１４】第二の実施形態に係るプレビュー方法選択処理を示すフロー図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を、図面を参照して説明する。本実施形態では、印刷処理装置として画像入出力装置１００のようなＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）を例として用いた。もちろん、これに限定されず、ＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）やＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）、その他のプリント方式のプリンタでもよいことは言うまでもない。
【００１１】
＜第一の実施形態＞
図１は、本発明に関係する電子部品としてのコントローラが搭載された画像入出力装置の一実施形態を示すブロック図である。画像入出力装置１００はイーサネット(登録商標)等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１９０にて、ホストコンピュータ（本実施形態では第一のホストコンピュータ１９１、第二のホストコンピュータ１９２）に接続されている。
【００１２】
画像入出力装置１００は、リーダー装置（リーダー部）１７０、プリンタ装置（プリンタ部）１８０、操作部１５０、画像記憶部１６０、さらに、これら各構成要素を制御する制御装置（コントローラ部）１１０によって構成されている。制御装置１１０は、ＣＰＵ１、ＣＰＵ２、ＣＰＵ３、ＣＰＵ４、ＲＯＭ、ＲＡＭ等を有し、ＣＰＵ１〜４がＲＯＭまたは他の記憶媒体に格納されたプログラムに基づいて、画像入出力装置１００全体を統括制御する。例えば、本実施形態ではＣＰＵ１、ＣＰＵ２、ＣＰＵ３、ＣＰＵ４に、それぞれ画像生成処理を行うためのあらかじめ決められたプログラムをロードする構成をとる。画像生成処理は、ページデータ１２０に含まれるオブジェクトの輪郭画像１２１を生成するＥｄｇｅ処理１３０、オブジェクト１２２の重なりや種別を判断するＬｅｖｅｌ処理１３１、オブジェクト１２３を所定の塗り情報で描画するＦｉｌｌ処理１３２、オブジェクト１２４を所定の重ね合わせ処理で重ね合わせるＣｏｍｐｏｓｉｔｅ処理１３３を順に行うことで実現する。
【００１３】
従って本構成では、ＣＰＵ１にＥｄｇｅ処理１３０を行うプログラムをロードする。またＣＰＵ２にＬｅｖｅｌ処理１３１を行うプログラムをロードする。さらにＣＰＵ３にＦｉｌｌ処理１３２を行うプログラムをロードする。最後にＣＰＵ４にＣｏｍｐｏｓｉｔｅ処理１３３を行うプログラムをロードし、ＣＰＵ１、ＣＰＵ２，ＣＰＵ３，ＣＰＵ４の順に処理を行うことで画像生成を実現する。なお、ＲＡＭは、ＣＰＵの作業領域として用いられる。リーダー装置１７０では、画像データの読み取りを行う。プリンタ装置１８０では、画像データの出力を行う。操作部１５０は、画像データの入出力操作を行うキーボード、及び画像データや各種機能の表示／設定などを行う液晶パネルを備える。画像記憶部１６０では、画像データや印刷装置制御言語（例えば、ＥＳＣコード、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ））などの印刷データの格納／保存ができる。例えば、リーダー装置１７０を制御して読み込んだ画像データや、ＬＡＮ１９０を介してホストコンピュータ１９１、１９２より受信したＰＤＬ、そのＰＤＬから生成される画像データなどの格納／保存ができる。以上のような構成の印刷システムを例に挙げ、本発明の具体的な実施形態を以下に述べる。
【００１４】
＜プレビュー処理フロー＞
図２は、本実施形態における画像入出力装置１００のプレビュー処理のフローを示す図である。図３は、本実施形態で用いる競合情報のデータフォーマットを示す図である。以下、処理を示す番号にはＳ（ステップ）を付して記載する。
【００１５】
Ｓ２０１で、画像入出力装置１００は、まず各リソースの競合状況がどのような状況かを識別する競合状況識別を行う。例えば、ＯＳの機能などにより、本実施形態ではＣＰＵ１，２，３，４がそれぞれ他の処理に使用されているかを識別する。そして識別した競合状況を元に、競合情報（３００）の生成処理を行う。競合情報（３００）は、例えば本実施形態では１バイトサイズのフラグ情報の集合を示す変数として用意し、ＣＰＵ１（１１１）が使用されている場合、ＣＰＵ１＿ｕｓｅｄ＿ｆｌａｇ（３０１）の値に１を代入する。また使用されていない場合、０を代入する。同様に、ＣＰＵ２（１１２）が使用されている場合、ＣＰＵ２＿ｕｓｅｄ＿ｆｌａｇ（３０２）の値に１を代入する。また使用されていない場合、０を代入する。ＣＰＵ３（１１３）が使用されている場合、ＣＰＵ３＿ｕｓｅｄ＿ｆｌａｇ（３０３）の値に１を代入する。また使用されていない場合、０を代入する。ＣＰＵ４（１１４）が使用されている場合、ＣＰＵ４＿ｕｓｅｄ＿ｆｌａｇ（３０４）の値に１を代入する。また使用されていない場合、０を代入する。なお、予約領域（３０５）は、ここでは未定義である。この競合情報（３００）により、共有リソースであるＣＰＵそれぞれの競合状況を把握することができる。
【００１６】
次に、Ｓ２０２ではＳ２０１で生成した競合情報（３００）の値を元に、処理可能なプレビュー処理の選択処理を行う。選択処理についての詳細は、後述する図４のフロー図、及び図５のプレビューテーブルを用いて行う。Ｓ２０３では、Ｓ２０２で選択したプレビュー処理に応じたプレビュー画像の生成処理を行う。生成処理の詳細は、後述する図６のフロー図を用いて行う。Ｓ２０４では、Ｓ２０３で生成したプレビュー画像の表示処理を示し、操作部１５０の液晶パネルなどの表示媒体に表示させる。Ｓ２０５では、プレビュー画像の生成及び表示処理が完了したか否かを判定する処理である。完了の判定基準としては、Ｎｏｒｍａｌプレビュー処理で表示すべき画像が忠実に表示したか否かにて判定する。すなわち、Ｎｏｒｍａｌプレビューにて表示する画像が生成されるまで、本フローを繰り返すこととなる。また、処理が繰り返す中で、Ｓ２０１において共有リソースの競合状況が変化した際には、その旨を検知し、Ｓ２０２にてプレビュー方法を再選択することとなる。
【００１７】
なお、１度目のＳ２０１からＳ２０４までのプレビュー処理が実行され、その時点で生成可能なプレビュー画面が表示される。そして、Ｓ２０５にてプレビュー画像生成処理が未完了と判定された場合、競合状況識別Ｓ２０１へ処理が戻り、再度プレビュー処理が繰り返される。ここで本実施形態において、２度目のプレビュー方法選択Ｓ２０２では、競合状況識別Ｓ２０１において、いずれの競合情報の値が得られたとしても、Ｎｏｒｍａｌプレビューを再選択するものとする。そして、図８にて示したフローにより、すでに生成した中間データを利用して未生成の中間データを生成し、Ｎｏｒｍａｌプレビューを生成することとなる。
【００１８】
＜プレビュー方法選択処理＞
図４は、本実施形態における図２で示した、Ｓ２０２のプレビュー方法選択処理の詳細を示すフロー図である。また図５は、Ｓ２０２のプレビュー方法選択処理で用いるプレビューテーブル（５００）の詳細を示す図である。なお、プレビューテーブル（５００）にて、プレビュー方法保持手段を実現する。
【００１９】
Ｓ４０１は、Ｓ２０１で生成した競合状況を示す競合情報（３００）の値を取得する。競合情報（３００）は、ＣＰＵそれぞれに対応する情報を有しており、本実施形態においては、４つのＣＰＵに対するそれぞれのフラグによって、４ｂｉｔの２進数表現をする。なお、図３にて示した競合情報のデータフォーマットでは、最大８ビット（８ＣＰＵ）のフラグを保持することができる。
【００２０】
Ｓ４０２は、取得した競合情報（３００）の値を元に、プレビューテーブル（５００）からプレビュー方法を選択する処理を行う。実際には、図５でも示すように、プレビューテーブル（５００）は、競合情報（３００）の各値に応じて行うべきプレビュー処理が定義される形式をとる。つまり、プレビューテーブル（５００）は、競合情報が示す共有リソースの競合状況とその競合状況において実行可能なプレビュー方法とを対応付けてプレビュー情報として保持している。また、本実施形態において競合情報は４ｂｉｔで０〜１５までの値を示すことになる。従って、競合情報（３００）の値をキーにプレビュー処理を選択する。
【００２１】
選択処理の一例を示す。例えば、競合情報（３００）が０の際、ＣＰＵ１＿ｕｓｅｄ＿ｆｌａｇ（３０１）が０、ＣＰＵ２＿ｕｓｅｄ＿ｆｌａｇ（３０２）が０、ＣＰＵ３＿ｕｓｅｄ＿ｆｌａｇ（３０３）が０、ＣＰＵ４＿ｕｓｅｄ＿ｆｌａｇ（３０４）が０となる。従って、全てのＣＰＵが使用可能な状態を示す。従って、後述する通常通りのＮｏｒｍａｌプレビューを選択する。また競合情報（３００）が１の際、ＣＰＵ１＿ｕｓｅｄ＿ｆｌａｇ（３０１）が１、ＣＰＵ２＿ｕｓｅｄ＿ｆｌａｇ（３０２）が０、ＣＰＵ３＿ｕｓｅｄ＿ｆｌａｇ（３０３）が０、ＣＰＵ４＿ｕｓｅｄ＿ｆｌａｇ（３０４）が０となる。従って、ＣＰＵ１が使用不可と判定できる。この際、画像生成の最初の処理であるＥｄｇｅ処理が使用不可となる。しかし、競合情報（３００）からＣＰＵ２、ＣＰＵ３、ＣＰＵ４は利用可能であることが分かるため、ＣＰＵ１以外を利用して可能な限りプレビュー処理を進めておくことが望ましい。従って、この際ＣＰＵ２にＥｄｇｅ処理１３０のプログラムをロードする。またＣＰＵ３にＬｅｖｅｌ処理１３１のプログラムをロードする。
【００２２】
最後にＣＰＵ４にＦｉｌｌ処理１３２のプログラムをロードし、後述するＴｏｐＬｅｖｅｌプレビュー画像をプレビューするよう選択処理を行う。また競合情報（３００）が２，４，８の際も競合するＣＰＵの数は同様であるため、同様の選択処理を行う。すなわち、これら値の場合、それぞれＣＰＵ２、ＣＰＵ３、ＣＰＵ４が使用中であることを示している。また競合情報（３００）が３の際、ＣＰＵ１＿ｕｓｅｄ＿ｆｌａｇ（３０１）が１、ＣＰＵ２＿ｕｓｅｄ＿ｆｌａｇ（３０２）が１、ＣＰＵ３＿ｕｓｅｄ＿ｆｌａｇ（３０３）が０、ＣＰＵ４＿ｕｓｅｄ＿ｆｌａｇ（３０４）が０となる。従って、ＣＰＵ１、ＣＰＵ２が異なる処理にて使用中であるため、使用不可と判定できる。この際、画像生成の最初の処理であるＥｄｇｅ処理と二番目の処理であるＬｅｖｖｅｌ処理とが使用不可となる。しかし、ＣＰＵ３、ＣＰＵ４は利用可能であり、可能な限りプレビュー処理を進めておくことが望ましい。従って、この際ＣＰＵ３にＥｄｇｅ処理１３０のプログラムをロードする。またＣＰＵ４にＬｅｖｅｌ処理１３１のプログラムをロードし、後述するＡｔｔｒｉｂｕｔｅプレビュー画像をプレビューするよう選択処理を行う。
【００２３】
また、競合情報（３００）が５，６，９，１０，１２の際も競合するＣＰＵの数は同様であるため、同様の選択処理を行う。また競合情報（３００）が７の際、ＣＰＵ１＿ｕｓｅｄ＿ｆｌａｇ（３０１）が１、ＣＰＵ２＿ｕｓｅｄ＿ｆｌａｇ（３０２）が１、ＣＰＵ３＿ｕｓｅｄ＿ｆｌａｇ（３０３）が１、ＣＰＵ４＿ｕｓｅｄ＿ｆｌａｇ（３０４）が０となる。従って、ＣＰＵ１、ＣＰＵ２、ＣＰＵ３が使用不可と判断できる。この際、画像生成の最初の処理であるＥｄｇｅ処理と二番目の処理であるＬｅｖｖｅｌ処理と三番目の処理であるＦｉｌｌ処理とが使用不可となる。しかし、ＣＰＵ４は利用可能であり、可能な限りプレビュー処理を進めておくことが望ましい。従って、この際ＣＰＵ４にＥｄｇｅ処理１３０のプログラムをロードし、後述するＥｄｇｅプレビュー画像をプレビューするよう選択処理を行う。また競合情報（３００）が１３，１４の際も競合するＣＰＵの数は同様であるため、同様の選択処理を行う。また競合情報（３００）が１１の際、ＣＰＵ１＿ｕｓｅｄ＿ｆｌａｇ（３０１）が１、ＣＰＵ２＿ｕｓｅｄ＿ｆｌａｇ（３０２）が１、ＣＰＵ３＿ｕｓｅｄ＿ｆｌａｇ（３０３）が０、ＣＰＵ４＿ｕｓｅｄ＿ｆｌａｇ（３０４）が１となる。従って、ＣＰＵ１、ＣＰＵ２、ＣＰＵ４が使用不可と判断できる。この際、画像生成の最初の処理であるＥｄｇｅ処理と二番目の処理であるＬｅｖｅｌ処理と四番目の処理であるＣｏｍｐｏｓｉｔｅ処理が使用不可となる。しかし、ＣＰＵ３は利用可能であり、可能な限りプレビュー処理を進めておくことが望ましい。
【００２４】
また、この際ＣＰＵ３にＥｄｇｅ処理１３０のプログラムをロードし、前述したＥｄｇｅプレビュー画像をプレビューすることも可能である。ここでＣＰＵ３がＦｉｌｌ処理を高速に行うための例えば専用回路を有する構成である場合、Ｆｉｌｌ処理を高速に行い、Ｅｄｇｅプレビュー画像によるプレビューよりも、より即時性の高いプレビューを行うことが好ましい。従って、この場合にはＣＰＵ３にＦｉｌｌ処理１３２のプログラムをロードし、前述したプレビュー画像生成処理とは異なるシーケンスで実現する特別なＴｈｕｍｂｎａｉｌプレビュー画像をプレビューするよう選択処理を行う。Ｔｈｕｍｂｎａｉｌプレビュー画像のプレビューの詳細は後述する。最後に競合情報（３００）が１５の際、ＣＰＵ１＿ｕｓｅｄ＿ｆｌａｇ（３０１）が１、ＣＰＵ２＿ｕｓｅｄ＿ｆｌａｇ（３０２）が１、ＣＰＵ３＿ｕｓｅｄ＿ｆｌａｇ（３０３）が１、ＣＰＵ４＿ｕｓｅｄ＿ｆｌａｇ（３０４）が１となる。従って、ＣＰＵ１、ＣＰＵ２、ＣＰＵ３、ＣＰＵ４の全てが使用不可と判断できる。この際、全ての処理が使用不可となるため、競合情報（３００）が変更されるまで処理を待つ構成をとる。
【００２５】
＜プレビューデータ生成処理＞
図６は、本実施形態における図２で示したＳ２０３のプレビューデータ生成処理の詳細を示すフロー図である。図７は、本実施形態における複数のプレビュー方法と各プレビュー方法の際に生成されるプレビュー画像の概要を示した図である。
【００２６】
Ｓ６０１は、Ｓ２０２のプレビュー方法選択処理で、何れのプレビュー方法が選択されたかを識別する処理を示す。選択されたプレビュー方法が、Ｎｏｒｍａｌプレビューの場合、Ｓ６０２に進む。また、選択されたプレビュー方法が、Ｅｄｇｅプレビューの場合、Ｓ６０３に進む。また、選択されたプレビュー方法が、Ａｔｔｒｉｂｕｔｅプレビューの場合、Ｓ６０４に進む。また、選択されたプレビュー方法が、Ｔｏｐ  Ｌｅｖｅｌプレビューの場合、Ｓ６０５に進む。また、選択されたプレビュー方法が、Ｔｈｕｍｂｎａｉｌプレビューの場合、Ｓ６０６に進む。Ｓ６０２は、Ｎｏｒｍａｌプレビュー用の画像の生成処理を行う。図７（ｆ）のＮｏｒｍａｌプレビュー画像７６０は図７（ｂ）の印刷結果７５０と比較しても内容の遜色はなく、どのような印刷結果となるかを詳細まで確認することが可能なプレビュー画像である。図７（ｂ）の印刷結果を忠実に表現するためのプレビュー画像である。また、図１にて示した各ＣＰＵにおける処理が全て実行された際に生成されるプレビュー画像である。印刷データに対して同一の画像処理を行った場合の出力が、プレビュー画像に表示されることとなる。
【００２７】
Ｓ６０３は、Ｅｄｇｅプレビュー用の画像の生成処理を行う。Ｅｄｇｅプレビュー画像は、図７（ｃ）における７０１，７１１，７２１，７３１，７４１で示すように、描画オブジェクトそれぞれの輪郭のみを描画したプレビュー画像である。Ｅｄｇｅプレビュー画像７０１は、輪郭のみで示される文字７１１、輪郭のみで示されるイメージ７３１、輪郭のみで示されるグラフィック７２１、７４１で表されている。図７（ｃ）のＥｄｇｅプレビュー画像７０１と図７（ｂ）の印刷結果７５０とを比較すると、透過処理・色・イメージの内容は異なる。しかしながら、どの位置に何が描画されるかなど、描画オブジェクトの輪郭を示すことによる印刷結果７５０の概要をユーザは知ることが可能となる。
【００２８】
Ｓ６０４は、Ａｔｔｒｉｂｕｔｅプレビュー用の画像の生成処理を行う。Ａｔｔｒｉｂｕｔｅプレビュー画像は、図７（ｄ）における７０２，７１２，７２２，７３２，７４２で示すように、描画オブジェクトそれぞれの輪郭と描画オブジェクトの属性情報（種別等）に応じた塗りつぶしがされたプレビュー画像である。この時点では、ＲＯＰや透過による合成処理は無視され、全て印刷データでの指定順に上書きで描画される。ここで、属性情報が異なる領域をどの色でフィルするかが設定されている。例えば「文字：黒、イメージ：緑、グラフィック：赤」というように予め設定されている。Ａｔｔｒｉｂｕｔｅプレビュー画像７０２は、文字７１２、グラフィック７２２、７４２、緑でフィルされたイメージ７３２で表されている。Ａｔｔｒｉｂｕｔｅプレビュー画像７０２と印刷結果７５０とを比較すると、透過処理・イメージの内容は異なる。しかしながら、文字やグラフィックの色は印刷データで指定された色でフィルされるため、Ｅｄｇｅプレビュー画像７０１よりは印刷結果７５０に近いものとなる。Ｓ６０５は、Ｔｏｐ  Ｌｅｖｅｌプレビュー用の画像の生成処理を行う。Ｔｏｐ  Ｌｅｖｅｌプレビュー画像は、図７（ｅ）における７０３，７１３，７２３，７３３，７４３で示すように、印刷データでの指定に従ったフィルを行ったプレビュー画像である。この時点でも、ＲＯＰや透過による合成処理は無視され、全て印刷データにおいて指定された順に、各領域を上書きした画像となる。
【００２９】
図７（ｅ）におけるＴｏｐ  Ｌｅｖｅｌプレビュー画像７０３は、文字７１３、グラフィック７２３、７４３、イメージ７３３で表されている。グラフィック７４３によって表示されない領域が存在する。しかしながら、文字やグラフィックの色・イメージの内容を確認することができ、Ｅｄｇｅプレビュー画像７０１やＡｔｔｒｉｂｕｔｅプレビュー画像７０２よりも図７（ｂ）の印刷結果７５０に近いものとなる。Ｓ６０６は、Ｔｈｕｍｂｎａｉｌプレビュー用の画像の生成処理を行う。Ｔｈｕｍｂｎａｉｌプレビュー画像は、図７（ｆ）における７０４，７１４，７３４で示すように、印刷データでの指定に従った色情報、及びイメージデータのサムネイル表示を行った画像である。Ｔｈｕｍｂｎａｉｌプレビュー画像７０４は、文字や、グラフィックの色情報７１４、イメージ７３４で表されている。これによりユーザは、文字やグラフィックの使用される色情報やイメージの内容を確認することができ、イメージにおいては、図７（ｂ）の印刷結果７５０に近い外観を伝えることが可能となる。
【００３０】
なお、本実施形態においては、５つのプレビュー画像（Ｅｄｇｅプレビュー、Ａｔｔｒｉｂｕｔｅプレビュー、Ｔｏｐ  Ｌｅｖｅｌプレビュー、Ｔｈｕｍｎａｉｌプレビュー、Ｎｏｒｍａｌプレビュー）を例として挙げているが、これに限定されるわけではなく、他のプレビュー画像を追加しても良い。また、装置の機能に合わせて、上記のプレビューのうち、いずれかを削除しても良い。
【００３１】
＜Ｎｏｒｍａｌプレビュー画像生成処理＞
図８は、本実施形態における図６のＳ６０２で示したＮｏｒｍａｌプレビュー画像生成処理の詳細を示すフロー図である。図１３は、図１で示したＲＡＭ１１６の詳細を示す図である。ここでの中間言語とは、例えば、プレビュー画像を生成するために必要となる中間データを指す。なお、以降の処理にて述べる中間データの生成手段、及び、プレビュー画像の生成手段については、周知の方法を用いるため、本実施形態において、詳細な説明は省略する。
【００３２】
また、以下に述べるフローにおいて、中間データがこれまでのプレビュー処理によりすでに生成されているか否かを判定する処理が含まれる。これらはすでに行ったプレビュー処理によって生成された中間データが再利用できるか否かを判定する中間データ再利用識別手段である。これはプレビュー処理の進行状況に伴って、再利用できる中間データが異なるため、中間データ生成の段階毎の判定を行うこととなる。
【００３３】
Ｓ８０１は、すでにＥｄｇｅプレビュー中間言語が生成されているかを判定する処理である。すでにＥｄｇｅプレビュー、Ａｔｔｒｉｂｕｔｅプレビュー、Ｔｏｐ  Ｌｅｖｅｌプレビューのいずれかが処理されていた場合、Ｅｄｇｅプレビュー中間言語は既に生成済みであるため再利用が可能である。例えば、再利用可能なＥｄｇｅプレビュー中間言語は、ＲＡＭ１１６における中間言語格納領域１３０１の中のＥｄｇｅプレビュー中間言語領域１３０２に格納される構成をとる。そしてＥｄｇｅプレビュー中間言語領域１３０２にデータが格納されているか否かを判定し、再利用可能かどうかを判定する。もし再利用可能なＥｄｇｅプレビュー中間言語が存在した場合、Ｓ８０３に進む。また、もし再利用可能なＥｄｇｅプレビュー中間言語が存在しない場合、新たにＥｄｇｅプレビュー中間言語の生成処理が必用なため、Ｓ８０２に進む。Ｓ８０２は、Ｅｄｇｅプレビュー画像７０１の生成のための中間言語の生成処理を行う。生成したＥｄｇｅプレビュー中間言語は、ＲＡＭ１１６における中間言語格納領域１３０１の中のＥｄｇｅプレビュー中間言語領域１３０２に格納する構成をとる。
【００３４】
Ｓ８０３は、すでにＡｔｔｒｉｂｕｔｅプレビュー中間言語が生成されているかを判定する処理である。すでにＡｔｔｒｉｂｕｔｅプレビュー・Ｔｏｐ  Ｌｅｖｅｌプレビューのいずれかが処理されていた場合、Ａｔｔｒｉｂｕｔｅプレビュー中間言語は既に生成済みであるため再利用が可能である。例えば、再利用可能なＡｔｔｒｉｂｕｔｅプレビュー中間言語は、ＲＡＭ１１６における中間言語格納領域１３０１の中のＡｔｔｒｉｂｕｔｅプレビュー中間言語領域１３０３に格納される構成をとる。そしてＡｔｔｒｉｂｕｔｅプレビュー中間言語領域１３０３にデータが格納されているか否かを判定し、再利用可能かどうかを判定する。もし再利用可能なＡｔｔｒｉｂｕｔｅプレビュー中間言語が存在した場合、Ｓ８０５に進む。またもし再利用可能なＡｔｔｒｉｂｕｔｅプレビュー中間言語が存在しない場合、新たにＡｔｔｒｉｂｕｔｅプレビュー中間言語の生成処理が必用なため、Ｓ８０４に進む。Ｓ８０４は、Ａｔｔｒｉｂｕｔｅプレビュー画像７０２の生成のための中間言語の生成処理を行う。生成したＡｔｔｒｉｂｕｔｅプレビュー中間言語は、ＲＡＭ１１６における中間言語格納領域１３０１の中のＡｔｔｒｉｂｕｔｅプレビュー中間言語領域１３０３に格納する構成をとる。
【００３５】
Ｓ８０５は、すでにＴｏｐ  Ｌｅｖｅｌプレビュー中間言語が生成されているかを判定する処理である。すでにＴｏｐ  Ｌｅｖｅｌプレビューが処理されていた場合、Ｔｏｐ  Ｌｅｖｅｌプレビュー中間言語は既に生成済みであるため再利用が可能である。例えば、再利用可能なＴｏｐ  Ｌｅｖｅｌプレビュー中間言語は、ＲＡＭ１１６における中間言語格納領域１３０１の中のＴｏｐ  Ｌｅｖｅｌプレビュー中間言語領域１３０４に格納される構成をとる。そしてＴｏｐ  Ｌｅｖｅｌプレビュー中間言語領域１３０４にデータが格納されているか否かを判定し、再利用可能かどうかを判定する。もし再利用可能なＴｏｐ  Ｌｅｖｅｌプレビュー中間言語が存在した場合、Ｓ８０９に進む。またもし前述したプレビュー処理が行われていない場合、Ｓ８０６に進む。
【００３６】
Ｓ８０６は、すでにＴｈｕｍｂｎａｉｌプレビュー中間言語が生成されているかを判定する処理である。ただし、Ｔｈｕｍｂｎａｉｌプレビュー処理は前述したように、出力する画像が他のプレビュー画像とは異なることなどから、本来の画像生成処理とは全く異なる処理手順で行われているため、従来であれば生成済みのデータを再利用できない構成であった。しかし、Ｆｉｌｌ処理を行うための事前処理については、Ｔｈｕｍｂｎａｉｌプレビュー処理であっても、それ以外のプレビュー処理であっても同一の処理を行う。そのため、Ｔｈｕｍｂｎａｉｌプレビュー以外のプレビュー処理ではＣＰＵ間で受け渡す各中間データを再利用する構成によって高速化を図るのに対し、Ｔｈｕｍｂｎａｉｌプレビューの処理は事前処理にて生成する内部情報を再利用することで高速化を図ることができる。Ｔｈｕｍｂｎａｉｌプレビューにおける具体的な事前処理の一例としては、Ｆｉｌｌ処理を行う際にＦｉｌｌのＩＤ情報からＦｉｌｌの詳細情報が格納されるアドレス情報を算出する処理がある。例えば、アドレス情報（及び、そのアドレス情報が示す先の詳細情報）は再利用が可能なため、内部情報として、アドレス情報を再利用する構成をとる。
【００３７】
さらに事前処理の一例としては、拡縮マトリクスの変換処理を行うことで算出する内部マトリクス情報を内部情報として再利用する構成をとる。例えば、ＣＰＵ内で扱う内部マトリクス情報は固定小数点形式をとする。しかし、ページ画像で扱われるマトリクス情報が浮動小数点等のように形式が異なる場合、変換処理が必用となる。その際、変換後の前記内部マトリクス情報をＣＰＵ内部で保持しておくことにより、再利用が可能となり、重複する変換処理が不要となる。このように、Ｔｈｕｍｂｎａｉｌプレビュー用の中間言語は一連のプレビュー処理とは異なるため、従来は再利用出来ない構成であった。しかし、その前段の共通処理で算出される内部情報を特別にＴｈｕｍｂｎａｉｌプレビュー中間言語として扱い、再利用する仕組みを組み込むことにより効率的な処理の実現が可能となる。そして、再利用可能なＴｈｕｍｂｎａｉｌプレビュー中間言語は、ＲＡＭ１１６における中間言語格納領域１３０１の中のＴｈｕｍｂｎａｉｌプレビュー中間言語領域１３０５に格納される構成をとる。そしてＴｈｕｍｂｎａｉｌプレビュー中間言語領域１３０５にデータが格納されているか否かを判定し、再利用可能かどうかを判定する。もし再利用可能なＴｈｕｍｂｎａｉｌプレビュー中間言語が存在した場合、Ｓ８０７に進み、再利用可能なＴｈｕｍｂｎａｉｌプレビュー中間言語を取得する。その後、Ｓ８０８に進む。また、Ｓ８０６にてもし再利用可能なＴｈｕｍｂｎａｉｌプレビュー中間言語が存在しない場合、Ｓ８０８に進む。
【００３８】
Ｓ８０８は、Ｔｏｐ  Ｌｅｖｅｌプレビュー画像７０３の生成のための中間言語の生成処理を行う。またＳ８０７で、Ｔｈｕｍｂｎａｉｌプレビュー中間言語を取得していた場合、そのデータを利用してＴｏｐ  Ｌｅｖｅｌプレビュー画像７０３の生成のための中間言語の生成処理を行う。その後、Ｓ８０９へ進む。Ｓ８０９では、重ね合わせ中間言語の生成処理を行う。重ね合わせ中間言語は、全てのオブジェクトの重ね合わせ処理を考慮した中間言語を指し、Ｎｏｒｍａｌプレビュー画像７６０を生成するための中間言語を示す。その後、Ｓ８１０へ進む。Ｓ８１０では、前記Ｓ８０７で生成した重ね合わせ中間言語を用いて、Ｎｏｒｍａｌプレビュー画像７６０を生成する。
【００３９】
以上により、Ｎｏｒｍａｌプレビュー画像生成処理を行う。ここで実施したＮｏｒｍａｌプレビューの生成において、すでに生成された中間言語が再利用できるかをプレビューの方法毎に確認する。そして、再利用が可能で次のプレビュー処理に必要な中間言語か未生成であれば、その中間言語を用いて新たな中間言語を生成するというものである。なお、ここでの次のプレビュー処理が示す処理は、図１に示した各ＣＰＵにおける処理の流れに従っているものとする。
【００４０】
＜Ｅｄｇｅプレビュー画像生成処理＞
図９は、本実施形態における図６のＳ６０３で示したＥｄｇｅプレビュー画像生成処理の詳細を示すフロー図である。  Ｓ８０１，８０２は図８にて前述した処理と同様である。Ｓ９０１は、前記Ｓ８０２で生成したＥｄｇｅ中間言語を用いて、Ｅｄｇｅプレビュー画像７０１を生成する処理を示す。
【００４１】
＜Ａｔｔｉｂｕｔｅプレビュー画像生成処理＞
図１０は、本実施形態における図６のＳ６０４で示したＡｔｔｒｉｂｕｔｅプレビュー画像生成処理の詳細を示すフロー図である。Ｓ８０１，８０２，８０３，８０４は図８にて前述した処理と同様である。Ｓ１００１は、前記Ｓ８０４で生成したＡｔｔｒｉｂｕｔｅ中間言語を用いて、Ａｔｔｒｉｂｕｔｅプレビュー画像７０２を生成する処理を示す。
【００４２】
＜Ｔｏｐ  Ｌｅｖｅｌプレビュー画像生成処理＞
図１１は、本実施形態における図６のＳ６０５で示したＴｏｐ  Ｌｅｖｅｌプレビュー画像生成処理の詳細を示すフロー図である。Ｓ８０１，８０２，８０３，８０４，８０５，８０６，８０７，８０８は図８にて前述した処理と同様である。Ｓ１１０１は、前記Ｓ８０８で生成したＴｏｐ  Ｌｅｖｅｌ中間言語を用いて、Ｔｏｐ  Ｌｅｖｅｌプレビュー画像７０３を生成する処理を示す。
【００４３】
＜Ｔｈｕｍｂｎａｉｌプレビュー画像生成処理＞
図１２は、本実施形態における図６のＳ６０６で示したＴｈｕｍｂｎａｉｌプレビュー画像生成処理の詳細を示すフロー図である。Ｓ１２０１は、処理対象であるページデータの色情報の取得処理を行う。例えばここで取得する色情報とは、図７で示した７１０，７２０，７４０で示される文字もしくはグラフィックに係る色情報を示す。Ｓ１２０２は、ページデータのイメージ情報の取得処理を行う。例えばここで取得するイメージ情報とは、図７で示した７３０のイメージ情報を示す。Ｓ１２０３は、Ｓ１２０１，１２０２で取得した色情報及びイメージ情報を元に、Ｔｈｕｍｂｎａｉｌプレビュー画像７０４の生成処理を行う。Ｓ１２０４は、Ｓ１２０１，１２０２で取得した色情報及びイメージ情報をＴｈｕｍｂｎａｉｌプレビュー中間言語とし、Ｔｈｕｍｂｎａｉｌプレビュー中間言語領域１３０５に格納する処理を示す。
【００４４】
なお、上述したように本実施形態においては、５つのプレビュー画像（Ｅｄｇｅプレビュー、Ａｔｔｒｉｂｕｔｅプレビュー、Ｔｏｐ  Ｌｅｖｅｌプレビュー、Ｔｈｕｍｎａｉｌプレビュー、Ｎｏｅｍａｌプレビュー）を例として挙げているが、これに限定されるわけではない。そのため、図８から図１２のフローにおいても必要に応じて組み合わせてよいし、また、いずれかを削除しても良い。
【００４５】
＜第二の実施形態＞
図１４は、第一の実施形態として図２で示したＳ２０２のプレビュー方法選択処理における別の実施形態を示すフロー図である。第一の実施形態においては、共有リソースそれぞれの利用可能状況を判定し、プレビュー処理を選択していた。第二の実施形態では、プレビュー方法の選択における競合情報として、プレビュー処理に利用可能なＣＰＵの数に応じてプレビュー方法を選択するものである。
【００４６】
Ｓ１４０１は、競合情報（３００）から利用可能なＣＰＵがいくつ存在するかを算出する処理である。算出した利用可能なＣＰＵの数を元に適切なプレビュー処理を選択する共有リソース数判定に係る処理をここで行う。利用可能なＣＰＵが４つの場合、Ｅｄｇｅ中間言語の生成処理、Ａｔｔｒｉｂｕｔｅ中間言語生成処理、Ｔｏｐ  Ｌｅｖｅｌ中間言語生成処理、重なり中間言語生成処理がそれぞれ並列で行える構成となる。そのため、Ｓ１４０２に進み、Ｎｏｒｍａｌプレビュー処理を選択する。また、利用可能なＣＰＵが１つの場合、Ｅｄｇｅ中間言語の生成処理のみしか並列で行えない構成となるため、Ｓ１４０３に進み、Ｅｄｇｅプレビュー処理を選択する。また、利用可能なＣＰＵが２つの場合、Ｅｄｇｅ中間言語の生成処理、Ａｔｔｒｉｂｕｔｅ中間言語生成処理がそれぞれ並列で行える構成となるため、Ｓ１４０４に進み、Ａｔｔｒｉｂｕｔｅプレビュー処理を選択する。また、利用可能なＣＰＵが３つの場合、Ｅｄｇｅ中間言語の生成処理、Ａｔｔｒｉｂｕｔｅ中間言語生成処理、Ｔｏｐ  Ｌｅｖｅｌ中間言語生成処理がそれぞれ並列で行える構成となるため、Ｓ１４０５に進み、Ｔｏｐ  Ｌｅｖｅｌプレビュー処理を選択する。以上により、使用可能なＣＰＵの数によって、プレビュー方法を選択する。
【００４７】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011008632.tif 000003
【図２】
2011008632.tif 000004
【図３】
2011008632.tif 000005
【図４】
2011008632.tif 000006
【図５】
2011008632.tif 000007
【図６】
2011008632.tif 000008
【図７】
2011008632.tif 000009
【図８】
2011008632.tif 000010
【図９】
2011008632.tif 000011
【図１０】
2011008632.tif 000012
【図１１】
2011008632.tif 000013
【図１２】
2011008632.tif 000014
【図１３】
2011008632.tif 000015
【図１４】
2011008632.tif 000016