(57)【特許請求の範囲】
【請求項１】
印刷指示された文書データに応じて印刷装置で印刷される印刷データを生成するプリンタドライバを備える情報処理装置であって、
異なる解像度毎のイメージデータを複数記憶保持する記憶保持手段と、
前記プリンタドライバの印刷設定画面を介して入力される指示に応じて印刷品位を指定する指定手段と、
アプリケーションから印刷指示された文書データを前記プリンタドライバが受け取り、該文書データ中にあるイメージデータに関する情報から当該イメージデータの画像ファイルの格納場所を特定する特定手段と、
前記特定手段により特定された前記画像ファイルの格納場所である記憶保持手段から、前記指定手段で指定された印刷品位に応じた解像度のイメージデータを選択する選択手段と、
該選択手段で選択したイメージデータを前記プリンタドライバを用いて前記印刷装置に所定のフォーマットで出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記記憶保持手段は、各解像度毎のイメージデータを階層構造として記憶することを特徴とする請求項第１項に記載の情報処理装置。
【請求項３】
前記出力手段で出力する印刷データは、前記印刷装置が解釈できるページ記述言語で記述されたフォーマットにして出力することを特徴とする請求項第１項に記載の情報処理装置。
【請求項４】
前記選択手段は、前記指定手段で指定された印刷品位が高いほど、高い解像度のイメージデータを選択することを特徴とする請求項第１項に記載の情報処理装置。
【請求項５】
前記アプリケーションからＨＴＭＬデータの印刷指示を受けた場合に、該ＨＴＭＬデータ内に使用されているイメージが複数レイヤーのイメージを取得可能なイメージファイルであるかを判断する判断手段を更に備え、
前記選択手段は、前記判断手段で当該イメージが複数レイヤーのイメージを取得可能なイメージファイルであると判断された場合に、前記指定手段で指定された印刷目的に応じて、当該イメージファイルから適するレイヤーのイメージを選択することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記判断手段は、前記ＨＴＭＬデータ内に使用されているイメージのリンク先を示す情報からイメージファイルの種別を特定することにより、当該イメージが複数のレイヤーのイメージを取得可能なイメージファイルであるかを判断することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
印刷指示された文書データに応じて印刷装置で印刷される印刷データを生成するプリンタドライバを備える情報処理装置の制御方法であって、
前記プリンタドライバの印刷設定画面を介して入力される指示に応じて印刷品位を指定する指定工程と、
アプリケーションから印刷指示された文書データを前記プリンタドライバが受け取り、該文書データ中にあるイメージデータに関する情報から当該イメージデータの画像ファイルの格納場所を特定する特定工程と、
前記特定工程により特定された前記画像ファイルの格納場所である、異なる解像度毎のイメージデータを複数記憶保持する記憶保持手段から、前記指定工程で指定された印刷品位に応じた解像度のイメージデータを選択する選択工程と、
該選択工程で選択したイメージデータを前記プリンタドライバを用いて前記印刷装置に所定のフォーマットで出力する出力工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項８】
前記選択工程は、各解像度毎のイメージデータを階層構造として記憶する記憶保持手段から、前記指定された印刷品位に応じた解像度のイメージデータを選択することを特徴とする請求項第７項に記載の情報処理装置の制御方法。
【請求項９】
前記出力工程で出力する印刷データは、前記印刷装置が解釈できるページ記述言語で記述されたフォーマットにして出力することを特徴とする請求項第７項に記載の情報処理装置の制御方法。
【請求項１０】
前記選択工程は、前記指定工程で指定された印刷品位が高いほど、高い解像度のイメージデータを選択することを特徴とする請求項第７項に記載の情報処理装置の制御方法。
【請求項１１】
前記アプリケーションからＨＴＭＬデータの印刷指示を受けた場合に、該ＨＴＭＬデータ内に使用されているイメージが複数レイヤーのイメージを取得可能なイメージファイルであるかを判断する判断工程を更に備え、
前記選択工程は、前記判断工程で当該イメージが複数レイヤーのイメージを取得可能なイメージファイルであると判断された場合に、前記指定工程で指定された印刷目的に応じて、当該イメージファイルから適するレイヤーのイメージを選択することを特徴とする請求項７乃至１０のいずれか１項に記載の情報処理装置の制御方法。
【請求項１２】
前記判断工程は、前記ＨＴＭＬデータ内に使用されているイメージのリンク先を示す情報からイメージファイルの種別を特定することにより、当該イメージが複数のレイヤーのイメージを取得可能なイメージファイルであるかを判断することを特徴とする請求項１１に記載の情報処理装置の制御方法。
【請求項１３】
コンピュータが読み込み実行することで、印刷指示された文書データに応じて印刷装置で印刷される印刷データを生成するプリンタドライバを備える情報処理装置として機能するコンピュータプログラムを格納した記憶媒体であって、
前記プリンタドライバの印刷設定画面を介して入力される指示に応じて印刷品位を指定する指定手段と、
アプリケーションから印刷指示された文書データを前記プリンタドライバが受け取り、該文書データ中にあるイメージデータに関する情報から当該イメージデータの画像ファイルの格納場所を特定する特定手段と、
前記特定手段により特定された前記画像ファイルの格納場所である、異なる解像度毎のイメージデータを複数記憶保持する記憶保持手段から、前記指定手段で指定された印刷品位に応じた解像度のイメージデータを選択する選択手段と、
該選択手段で選択したイメージデータを前記プリンタドライバを用いて前記印刷装置に所定のフォーマットで出力する出力手段
として機能するコンピュータプログラムを格納したことを特徴とする記憶媒体。
【請求項１４】
前記選択手段は、各解像度毎のイメージデータを階層構造として記憶する記憶保持手段から前記指定された印刷品位に応じた解像度のイメージデータを選択することを特徴とする請求項第１３項に記載の記憶媒体。
【請求項１５】
前記出力手段で出力する印刷データは、前記印刷装置が解釈できるページ記述言語で記述されたフォーマットにして出力することを特徴とする請求項第１３項に記載の記憶媒体。
【請求項１６】
前記選択手段は、前記指定手段で指定された印刷品位が高いほど、高い解像度のイメージデータを選択することを特徴とする請求項第１３項に記載の記憶媒体。
【請求項１７】
前記アプリケーションからＨＴＭＬデータの印刷指示を受けた場合に、該ＨＴＭＬデータ内に使用されているイメージが複数レイヤーのイメージを取得可能なイメージファイルであるかを判断する判断手段を更に備え、
前記選択手段は、前記判断手段で当該イメージが複数レイヤーのイメージを取得可能なイメージファイルであると判断された場合に、前記指定手段で指定された印刷目的に応じて、当該イメージファイルから適するレイヤーのイメージを選択することを特徴とする請求項１３乃至１６のいずれか１項に記載の記憶媒体。
【請求項１８】
前記判断手段は、前記ＨＴＭＬデータ内に使用されているイメージのリンク先を示す情報からイメージファイルの種別を特定することにより、当該イメージが複数のレイヤーのイメージを取得可能なイメージファイルであるかを判断することを特徴とする請求項１７に記載の記憶媒体。
【請求項１９】
１枚の記録媒体上に、縮小した複数頁の印刷を行うための印刷データを生成するプリンタドライバを備える情報処理装置であって、
異なる解像度毎のイメージデータを複数記憶保持する記憶保持手段と、
１枚の記録媒体に印刷する印刷ページ数を設定する設定手段と、
アプリケーションから印刷指示された文書データを前記プリンタドライバが受け取り、該文書データ中にあるイメージデータに関する情報から当該イメージデータの画像ファイルの格納場所を特定する特定手段と、
前記特定手段により特定された前記画像ファイルの格納場所である記憶保持手段から、前記設定手段により設定される１記録媒体に対する印刷ページ数に基づいて、対応する解像度のイメージデータを選択する選択手段と、
該選択手段で選択されたイメージデータを、前記プリンタドライバを用いて所定のフォーマットにし、印刷装置に出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項２０】
１枚の記録媒体上に、縮小した複数頁の印刷を行うための印刷データを生成するプリンタドライバを備える情報処理装置の制御方法であって、
１枚の記録媒体に印刷する印刷ページ数を設定する設定工程と、
アプリケーションから印刷指示された文書データを前記プリンタドライバが受け取り、該文書データ中にあるイメージデータに関する情報から当該イメージデータの画像ファイルの格納場所を特定する特定工程と、
前記特定工程により特定された前記画像ファイルの格納場所である、異なる解像度毎のイメージデータを複数記憶保持する記憶保持手段から、前記設定工程により設定される１記録媒体に対する印刷ページ数に基づいて、対応する解像度のイメージデータを選択する選択工程と、
該選択工程で選択されたイメージデータを、前記プリンタドライバを用いて所定のフォーマットにし、印刷装置に出力する出力工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項２１】
コンピュータが読み込み実行することで、１枚の記録媒体上に、縮小した複数頁の印刷を行うための印刷データを生成するプリンタドライバを備える情報処理装置として機能するコンピュータプログラムを格納した記憶媒体であって、
１枚の記録媒体に印刷する印刷ページ数を設定する設定手段と、
アプリケーションから印刷指示された文書データを前記プリンタドライバが受け取り、該文書データ中にあるイメージデータに関する情報から当該イメージデータの画像ファイルの格納場所を特定する特定手段と、
前記特定手段により特定された前記画像ファイルの格納場所である、異なる解像度毎のイメージデータを複数記憶保持する記憶保持手段から、前記設定手段により設定される１記録媒体に対する印刷ページ数に基づいて、対応する解像度のイメージデータを選択する選択手段と、
該選択手段で選択されたイメージデータを、前記プリンタドライバを用いて所定のフォーマットにし、印刷装置に出力する出力手段
として機能するコンピュータプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置及びその制御方法及び記憶媒体に関するものである。
【０００２】
【従来の技術】
先ず、従来の印刷システムの機能モジュールの構成と印刷処理の手順、データの性質とデータの流れについて図４を参照して説明する。
【０００３】
図４において、４００は印刷システムを構成する計算機装置（たとえばパーソナルコンピュータ等）、４１０は印刷装置である。計算機装置４００と印刷装置４１０は通信路４０９で結ばれている。
【０００４】
４０１はワープロ、表計算などの機能を提供するアプリケーションプログラムである。４０２はアプリケーションプログラム４０１と計算機装置４００が備える図示しないハードウェアとの仲立ちを行うと共に、アプリケーションに対して各種処理をサービスするオペレーティングシステム（ＯＳ）で、たとえば米国マイクロソフト社のWindows９５(Windowsは同社の登録商標、以下省略）などがよく知られている。アプリケーションプログラム４０１はオペレーティングシステム４０２が提供するアプリケーションプログラミングインタフェース（ＡＰＩ）を利用して、そのアプリケーションプログラムが提供しようとする機能を構築する（４１１の矢印）。４０３はオペレーティングシステムの要求に従って印刷コマンドを生成するプリンタドライバである。オペレーティングシステム４０２はプリンタドライバ４０３に対してアプリケーションプログラム４０１が印刷させようとする文字や図形やイメージなどの情報を与え（４１２の矢印）、プリンタドライバ４０３はこれらの情報から印刷装置に送るべき印刷コマンドを生成してオペレーティングシステム４０２に返す（４１３の矢印）。プリンタドライバ４０３が生成する印刷コマンドは印刷装置４１０が備えるページ記述言語（ＰＤＬ）の文法に従っている。
【０００５】
ＰＤＬの種類としてはキヤノン株式会社のＬＩＰＳ  ＩＶ（ＬＩＰＳはキヤノンの商標）やアドビ社のPostScriptTM(PostScriptは米国アドビ社の登録商標）などが知られている。
【０００６】
オペレーティングシステム４０２はプリンタドライバ４０３から受け取った印刷コマンドを含む印刷データを通信路４０９を介して印刷装置４１０へ送る。以上の機能モジュールは印刷システムを構成する計算機装置４００内に置かれる。
【０００７】
４０４は計算機装置から送られてくる印刷データを処理するトランスレータで、ＰＤＬの文法に従っている各種印刷コマンドを解析する。４０５は描画コマンド生成部で、トランスレータ４０４から印刷コマンドの解析結果を与えられ（４１４の矢印）、これを描画コマンド化して描画コマンドメモリ４０６へ格納する（４１５の矢印）。また、１ページの印刷コマンドをすべて描画コマンド化し終えると描画コマンドメモリ４０６から描画コマンドを読み出して（４１６の矢印）描画部４０７へ送る（４１７の矢印）。４０６は描画コマンドメモリで描画コマンドを記憶する。４０７は描画部で描画コマンド生成部４０５から与えられた描画コマンドに従って描画処理を行い、図示しないビットマップ画像生成メモリ上にビットマップ画像を生成する。４２０はエンジンインタフェース部で、描画部４０７が生成したビットマップ画像を読み出し（４１８の矢印）、プリントエンジン４０８へビデオ信号として転送するとともにプリントエンジンの動作を制御する（４１９の矢印）。４０８はプリントエンジンでエンジンインタフェース部４２０から与えられる制御信号やビデオ信号に基づいて用紙上に永久可視画像を形成する。以上の機能モジュールは印刷装置４１０内に置かれる。なお、ページプリンタのエンジンとしては、実施形態では、レーザビームプリンタエンジンとするが、勿論、これ以外のＬＥＤアレイ等で感光ドラム上に静電潜像を形成するタイプでも良いし、インク液滴を吐出するタイプでもかまわない。
【０００８】
続いて印刷システムにおいて印刷品位を指定する処理について説明する。
【０００９】
従来の印刷システムでは印刷操作を行う際に、印刷目的を指定することで、印刷しようとするドキュメントの仕上がり品位を指定する機能を備えている。
【００１０】
たとえば、図１は従来の印刷システムにおいて印刷品位を指定する際に操作する画面の一例を示すもので、キヤノン製レーザビームプリンタ用のプリンタドライバの一部をなすユーティリティープログラムの起動画面である（多くの場合には、アプリケーション上で印刷する際に表示される印刷用ダイアログボックスにおいて、プリンタのプロパティーの表示を指示した場合に表示される）。
【００１１】
さて、同図において、１０１は印刷装置に対して設定する各種の設定事項を入力するための指定画面全体である。この指定画面１０１は必要に応じて図示しない計算機装置のディスプレイ画面上にウインドウとして表示されるものである。１０２は指定画面１０１のタイトル部である。１０３から１１０は指定項目の大分類をシンボリックに図示するタブで、図１では印刷目的を指定する「メイン」タブが選択されている。１１１は印刷目的を指定するアイコンを表示するアイコン表示領域である。１１２から１１６は印刷目的を表わすアイコンである。図示では、「文書・表」アイコンが選択されていることを示している。
【００１２】
アイコン表示領域１１１には図示されている文書・表アイコン１１２、DTPアイコン１１３、クイック文書アイコン１１４、クイックDTPアイコン１１５、トナー節約アイコン１１６以外にも、横方向にスクロールして他の印刷目的を表示させ、さらに選択することが可能であるが、ここでは説明を省略する。
【００１３】
１１７はアイコン１１２を選択したことにより設定されるパラメータの一覧をスクロールしながら表示するスクロールリスト領域である。スクロールリスト領域１１７においては「グラフィックモード」が「ＬＩＰＳ」に設定されている。ＬＩＰＳはキヤノン製ＰＤＬ（プリンタ用ページ記述言語）である。プリンタはページ記述言語ＬＩＰＳで記述された印刷コマンドをホストコンピュータから受信し、印刷する。他の設定としては「イメージ」があり、このモードに設定された場合、プリンタはイメージデータをホストコンピュータから受信し、印刷する。
【００１４】
また「解像度」が「ファイン」に設定されている。この場合、プリンタは６００dpiで印刷を行う。他の設定としては「クイック」があり、このモードに設定された場合には３００ｄｐｉで印刷を行う。
【００１５】
また「カラーモード」が「自動」に設定されている。この場合、プリンタは色やガンマ特性を自動調整して印刷を行う。他の設定としては「マニュアル」があり、このモードに設定された場合、色変換処理やガンマ特性を手動で細かく設定できるようになる。
【００１６】
また「モノクロ中間調」が「パネル優先」に設定されている。この場合、プリンタ内に複数設けられているハーフトーンスクリーンのどれを使うかという設定項目に対し、図示しないプリンタの操作パネル部によって設定したハーフトーンスクリーンを優先して使うようになる。他の設定としては「パターン１」「パターン２」があり、それぞれ仕様のことなるハーフトーンスクリーンによってモノクロ中間調処理が行われるようになる。
【００１７】
スクロールリスト領域１１７には以上説明した４項目だけが表示されているが、他にも多数の設定項目がある。ここではすべては説明しないで、印刷目的を前記の５種類（「文書・表」「ＤＴＰ］「クイック文書」「クイックＤＴＰ」「トナー節約」）の間で変更したことによって設定の変わる２項目についてのみ説明する。
【００１８】
設定項目「フォント置換」は、印刷目的「文書・表」または「クイック文書」またはトナー節約選択時は「あり」となり、印刷目的「DTP」または「クイックDTP」選択時は「なし」となる。「フォント置換」とは、プリンタはホストコンピュータで使用される文字の書体部分の字形データを使用したものを使わず、プリンタが具備するもので代用することを言う。フォント置換を実施することでホストコンピュータからプリンタへは文字コードのデータで良いので、転送データ量を減らし、印刷処理の高速化が図られる。逆にフォント置換を行わない場合、ホストコンピュータ側は、使用した字形データ（文字のドットパターン）をプリンタへ転送することになるので、転送データ量は多くなるが、ホストコンピュータ側で意図した字形が印刷結果に正確に反映させることができるようになる。
【００１９】
設定項目「トナー節約」は印刷目的「トナー節約」の時に「使う」となり、これ以外の時は「パネル優先」となる。トナー節約とは黒く印刷すべきドットを一定のルールに従って間引くことでトナー消費量を抑えることを指す。
【００２０】
一方従来の印刷システムにおいて印刷しようとするドキュメントにイメージ（写真画像等）を印刷しようとする場合、ホストコンピュータは印刷装置に対してイメージデータを描画する座標、幅、高さ、解像度、縦横の倍率、画素あたりのビット数などを指定し、続いてイメージデータを指定するが、イメージを印刷しようとする場合にはただ一つのパラメータ群を指定するようになっており、つまり印刷コマンドを生成する段階でイメージ部分の解像度を決定している。
【００２１】
一方、一般には、ページ内に描こうとする文字、図形、イメージなどのグラフィックオブジェクトを、ホストコンピュータから印刷データ（印刷コマンド）が送信されたタイミングでビットマップ画像化する。しかし、これでは１ページ分のビットマップイメージ展開用のメモリを必要とする。
【００２２】
そこで、最近の高解像度印刷処理が可能なプリンタの多くは、印刷処理可能な最高解像度で１ページ分のビットマップ画像をすべて収容可能なメモリを備えていなくても、その最高解像度で印刷処理ができるように設計されている。
【００２３】
原理としては、描画コマンドという中間状態で描画コマンドメモリ４０６に蓄積しておき、描画部４０７が描画コマンドメモリ４０６内の描画コマンドにもとづきビットマップ画像を形成するとき、１ページ分のビットマップ画像を一気には生成せず、その代わりページを主走査方向にスライスした、概ね等しい大きさの帯状領域（以下バンドと称する）単位でビットマップ画像を生成するのである。具体的には、前記バンドのビットマップ画像を収容可能なメモリ領域（以下バンドメモリと称する）を少なくとも２個用意し、描画部４０７が片方のバンドメモリ（これをバンドメモリＡとする）に最上バンドのビットマップ画像を生成し、続いて描画部４０７がもう片方のバンドメモリ（バンドメモリＢとする）に次のバンドのビットマップ画像を生成する。描画部４０７がバンドメモリBにビットマップ画像を生成するタイミングでエンジンインタフェース部４２０がバンドメモリＡに生成された最上バンドのビットマップ画像をプリントエンジンにビデオ転送して用紙上に永久可視画像を形成し、その間にバンドメモリBに次のバンド（２番目のバンド）のビットマップ画像を生成する。そして、バンドメモリAの出力が終了したら、３番目のビットマップ画像をそのバンドメモリAに生成し、バンドメモリBに生成された２番目のバンドのイメージの出力を行なう。以下、これを互い違いに行なう。つまり、ビットマップ画像生成処理とプリントエンジンへのビデオ転送・および印刷処理をマルチタスク技術で同時に並行して行うことで実現している。
【００２４】
しかしページ内に描こうとする文字や図形やイメージの量が多すぎる場合には、前記印刷コマンドから変換した中間データである描画コマンドを記憶する描画コマンドメモリ４０６の領域サイズが不足する。そのような場合には前記最高解像度で印刷処理することを諦め、例えば前記最高解像度の半分の解像度で１ページ分のビットマップ画像を収容できるメモリ領域を用意（アロケート）し、描画部４０７は描画コマンドメモリ４０６内の描画コマンドにもとづき、この領域に対して半分の解像度でビットマップ画像を生成する。ビットマップ画像化した描画コマンドは消去し、空いたメモリ領域には後続の印刷コマンドを描画コマンド化して蓄積し、この領域が一杯になったら半分の解像度でのビットマップ画像化と描画コマンド消去を繰り返す。１ページ分の印刷コマンドを受信し終えて描画コマンド化し、描画コマンドメモリ４０６へ格納すると、描画部４０７はこれらをビットマップ画像化し、続いてエンジンインタフェース部４２０が半分の解像度のビットマップ画像をプリントエンジンへビデオ転送して低解像度の印刷を行う。
【００２５】
この解像度低下処理をイメージ部に対して行う場合、基本的には間引き処理となるので多くの場合画質が劣化する。
【００２６】
解像度低下処理前にビットマップ画像や描画コマンドを冗長度圧縮して疑似的にメモリ領域を広げる技術を導入する例もあるが、冗長度圧縮は万能ではなく、印刷しようとするページサイズの最高解像度ビットマップ画像を収容可能なメモリ領域を備えずに印刷処理を行うプリンタでは解像度低下を避けることは不可能である。
【００２７】
解像度低下が必要とならないよう、最高解像度ビットマップ画像を収容可能なメモリ領域を印刷装置内に備える方法も考えられるが、コスト高となるという問題点がある。
【００２８】
一方、近年複数の品位(たとえば解像度)の画データを構造化して扱うデータフォーマットが普及しつつある。FlashPixTMがそのよく知られている一例である。以下にFlashPixTMのファイルフォーマットと従来の画像フォーマットを対比しながら説明する。
【００２９】
［従来の画像フォーマットの説明］
従来の画像フォーマットの一例を図２に示す。図２に示すように、画像ファイルはヘッダ部と画像データ部に分けられる。一般的にヘッダ部には、その画像ファイルからデータを読み取るときに必要な情報や、画像の内容を説明する付帯的な情報が格納される。図２の例ではその画像フォーマットを示す画像フォーマット識別子、ファイルサイズ、画像の幅・高さ・深さ、圧縮の有無、カラーパレットの情報、解像度、画像データの格納位置へのオフセットなどの情報が格納されている。画像データ部は画像データを順次格納している部分である。このような画像フォーマットの代表的な例としては、Microsoft社のBMPフォーマットやCompuserve社のGIFフォーマットなどが広く普及している。
【００３０】
[FlashPixTMファイルフォーマットの説明］
以後説明するFlashPixTM(FlashPixは米国Eastman Kodak社の登録商標)ファイルフォーマットでは、上記画像ヘッダ部に格納されていた画像属性情報および画像データをさらに構造化してファイル内に格納する。この構造化した画像ファイルを図８、図９に示す。ファイル内の各プロパティやデータには、MS-DOS（米国Microsoft社の登録商標）のディレクトリとファイルに相当する、ストレージとストリームによってアクセスする。
【００３１】
図８、図９において、影付き部分がストレージで、影なし部分がストリームである。画像データや画像属性情報はストリーム部分に格納される。画像データは異なる解像度で階層化されておりそれぞれの解像度の画像をSubimageと呼び、Resolution 0,１,..,nで示してある。各解像度画像に対して、その画像を読み出すために必要な情報がSubimage headerに、また画像データがSbuimage dataに格納される。プロパティセットとは属性情報をその使用目的、内容に応じて分類して定義したもので、Summary Info. Property Set, Image Info. Property Set, Image Content Property Set,Extension list property Setがある。
【００３２】
［各プロパティセットの説明］
Summary Info. Property SetはFlashPix特有のものではなく、Microsoft社のストラクチャードストレージでは必須のプロパティセットで、そのファイルのタイトル・題名・著者・サムネール画像等を格納する。 Image Contents Property Setは画像データの格納方法を記述する属性である(図１２)。この属性には画像データの階層数、最大解像度の画像の幅、高さや、それぞれの解像度の画像についての幅、高さ、色の構成、あるいはJPEG圧縮を用いる際の量子化テーブル・ハフマンテーブルの定義を記述する。Image Info. Property Setは画像を使用する際に利用できるさまざまな情報、例えば、その画像がどのようにして取り込まれ、どのように利用可能であるかの情報を格納する。
・デジタルデータの取り込み方法／あるいは生成方法に関する情報（ File Source）
・著作権に関する情報（ Intellectual property ）
・画像の内容（画像中の人物、場所など）に関する情報（ Content description）
・撮影に使われたカメラに関する情報（Camera information）
・撮影時のカメラのセッティング（露出、シャッタースピード、焦点距離、フラッシュ使用の有無など）の情報（ Per Picture camera settings ）
・デジタルカメラ特有解像度やモザイクフィルタに関する情報（ Digital camera  characterization ）
・フィルムのメーカ名、製品名、種類（ネガ／ポジ、カラー／白黒）などの情報（ Film description ）
・オリジナルが書物や印刷物である場合の種類やサイズに関する情報（ Original document scan description ）
・スキャン画像の場合、使用したスキャナやソフト、操作した人に関する情報（ Scan device ）Extension list property Setは上記FlashPixの基本仕様に含まれない情報を追加するさいに使用する領域である。
【００３３】
図９のFlashPix Image View Objectは画像を表示する際に用いるビューイングパラメータと画像データをあわせて格納する、画像ファイルである。ビューイングパラメータとは画像の回転、拡大／縮小、移動、色変換、フィルタリングの処理を画像表示の際に適応するために記憶しておく処理係数のセットである。
【００３４】
Source/Result FlashPix Image ObjectはFlashPix画像データの実体であり、Source FlashPix Image Objectは必須、Result FlashPix Image Objectはオプションである。Source FlashPix Image Objectはオリジナルの画像データを、Result FlashPix Image Objectはビューイングパラメータ使ってを画像処理した結果の画像を格納する。
【００３５】
Source/Result desc. Property setは上記、画像データの識別のためのプロパティセットであり、画像ＩＤ、変更禁止のプロパティセット、最終更新日時等を格納する。
【００３６】
Transform property setは回転、拡大／縮小、移動のためのAffine変換係数、色変換マトリクス、コントラスト調整値、フィルタリング係数を格納している。
【００３７】
次に画像データの取り扱いについて説明する。
【００３８】
FlashPixの画像フォーマットはタイルに分割された複数の解像度の画像を含む。図１０に解像度の異なる複数の画像から構成される画像ファイルの例を示す。
【００３９】
図示で最大解像度の画像は列×行がＣ×Ｒで構成されており、その次に大きい画像はＣ／２×Ｒ／２であり、それ以降順次、列・行ともに１／２づつ縮小し、列・行ともに６４画素以下あるいは等しくなるまで繰り返す。このように階層化した結果、画像の属性情報として「１つの画像ファイル中の階層数」やそれぞれの階層の画像に対して、従来の画像フォーマットの項で説明したヘッダ情報と画像データが必要となる。１つの画像ファイル中の階層の数や最大解像度の画像の幅、高さ、あるいはそれぞれの解像度の画像の幅、高さ、色構成、圧縮方式等に関する情報は前記Image Contents Property Set（図１２）中に記述される。
【００４０】
さらに各解像度のレイヤの画像は図１１に示すように６４×６４画素のタイルに分割されている。画像の左上部から順次６４×６４画素のタイルに分割をすると、画像によっては右端および下端のタイルの一部に空白が生ずる場合がある。この場合はそれぞれ最右端画像または最下端画像を繰り返し挿入することで、６４×６４画素を構築する。FlashPixTMではそれぞれのタイル中の画像をJPEG圧縮、シングルカラー、非圧縮のいずれかの方法で格納する。JPEG圧縮はISO/IEC JTC１/SC２９により国際標準化された画像圧縮方式であり、方式自体の説明はここでは割愛する。
【００４１】
このようにタイル分割された画像データはSubimage dataストリーム中に格納され、タイルの総数、個々のタイルのサイズ、データの開始位置、圧縮方法はすべてSubimage header(図１３)に格納されている。シングルカラーとは、前記１つのタイルがすべて同じ色で構成されている場合にのみ、個々の画素の値を記録することなく、そのタイルの色を１色で表現する方式である。この方法は特に、コンピュータグラフィックスにより生成された画像で有効である。
【００４２】
【発明が解決しようとする課題】
このように、複数の解像度のイメージデータを構造化して扱えるファイルフォーマットが普及してきているにもかかわらず、従来の印刷システムでは複数解像度を備える形式のデータを印刷目的などに応じて効果的に扱い、印刷しようとするドキュメントの仕上がり品位に反映させることができなかった。例えば前記印刷目的設定画面に関する説明において述べたように、印刷目的を指定したことで設定される「解像度」項目は印刷しようとするドキュメント全体の印刷解像度を指定するものの、複数解像度の画データを構造化して扱うデータフォーマットを備えるファイルに格納されるイメージ部分について、どの解像度で印刷するべきかを指定するような機能は持っていない。
【００４３】
そのため、例えばイメージと文字と図形が混在するドキュメントを印刷出力しようとする時に、図形を高品位（高解像度）で印刷したいがイメージ（写真画像等の階調画像）部分の印刷品位は問わないといった要求に対しても「解像度」項目に「最高解像度」を指定する以外になかった。このようなドキュメントを印刷しようとする時、あるページに高解像度で出力したい図形等が描かれており、かつ同じページにメモリ資源を著しく消費する比較的解像度の高いイメージが含まれていると、印刷システムの使用者が意図しないイメージの高解像度出力のためにメモリ不足による解像度低下が発生し、印刷しようとするページ全体の印刷品位が低下するという問題点があった。
【００４４】
また、試し刷り時に、トナーの消費量を抑える目的で、印刷目的として「トナー節約」を選択した場合、前述の通り黒ドットの間引きにより印刷の仕上がり品位が下がることは自明なので、その分短時間で印刷出力されれば印刷システムの利便性が高まるにも関わらず、指定された解像度よりもさらに低い品位(解像度)のイメージデータを選択して印刷データサイズを抑え、試し刷りにかかる時間を節約するといったことが行えない。
【００４５】
また、１ページ内に複数ページ分の画像を並べて印刷するサムネール印刷を行う場合、本来１ページに印刷されるべき画像を縮小してページ上に配置して印刷する。そのため、縮小されるページの画像は本来指定される解像度よりも低い解像度で処理することが可能だが、指定された解像度よりもさらに低い品位(解像度)のイメージデータを選択して印刷データサイズを抑え、印刷にかかる時間を節約するといったことが行えなかった。
【００４６】
【課題を解決するための手段】
本発明は以上のような問題点を解決するためになされたもので、印刷対象の文書データ中にイメージ（階調画像）が存在する場合に、そのイメージに対応する印刷データとして印刷装置に出力するデータの品位を指定できる情報処理装置及び方法及び記憶媒体を提供しようとするものである。
【００４７】
また、他の発明は、１枚の記録媒体に複数ページで印刷する場合に、印刷されるサムネイルイメージを、ページ数に応じて指定できる情報処理装置及び方法及び記憶媒体を提供しようとするものである。
【００４８】
かかる課題を解決するため、たとえば第１の発明の情報処理装置は以下の構成を備える。すなわち、
印刷指示された文書データに応じて印刷装置で印刷される印刷データを生成するプリンタドライバを備える情報処理装置であって、
異なる解像度毎のイメージデータを複数記憶保持する記憶保持手段と、
前記プリンタドライバの印刷設定画面を介して入力される指示に応じて印刷品位を指定する指定手段と、
アプリケーションから印刷指示された文書データを前記プリンタドライバが受け取り、該文書データ中にあるイメージデータに関する情報から当該イメージデータの画像ファイルの格納場所を特定する特定手段と、
前記特定手段により特定された前記画像ファイルの格納場所である記憶保持手段から、前記指定手段で指定された印刷品位に応じた解像度のイメージデータを選択する選択手段と、
該選択手段で選択したイメージデータを前記プリンタドライバを用いて前記印刷装置に所定のフォーマットで出力する出力手段とを備える。
【００４９】
本実施形態で説明する印刷システムは図４で説明した従来の印刷システムと同様のブロック構成で実現可能なため、以下図４を使って説明する。
【００５０】
以下の実施形態においては、複数品位の画データを構造化して扱うデータフォーマットに準じるイメージをＦＰＸイメージと称し、品位は解像度を意味するものとする。
【００５１】
図１６に本実施形態におけるＦＰＸイメージの論理構造の図を示す。同図において１６０１はＦＰＸイメージ全体である。１６０２はＦＰＸイメージ１６０１全体に含まれるサブイメージの数を格納した領域である。１６０３はＦＰＸイメージ１６０１に含まれるサブイメージ１の解像度を格納した領域である。１６０４はＦＰＸイメージ１６０１に含まれるサブイメージ２の解像度を格納した領域である。１６０５はＦＰＸイメージ１６０１に含まれるサブイメージｎの解像度を格納した領域である。以上はＦＰＸイメージ１６０１全体に関わる情報である。
【００５２】
１６１１はＦＰＸイメージ１６０１に含まれるサブイメージ１の幅と高さを格納した領域である。１６１２はＦＰＸイメージ１６０１に含まれるサブイメージ１の画素あたりのビット数を格納した領域である。１６１３はＦＰＸイメージ１６０１に含まれるサブイメージ１のデータサイズを格納した領域である。１６１４はＦＰＸイメージ１６０１に含まれるサブイメージ１のデータを格納した領域である。以上はサブイメージ１に関わる情報である。
【００５３】
１６２１はＦＰＸイメージ１６０１に含まれるサブイメージ２の幅と高さを格納した領域である。１６２２はＦＰＸイメージ１６０１に含まれるサブイメージ２の画素あたりのビット数を格納した領域である。１６２３はＦＰＸイメージ１６０１に含まれるサブイメージ２のデータサイズを格納した領域である。１６２４はＦＰＸイメージ１６０１に含まれるサブイメージ２のデータを格納した領域である。以上はサブイメージ２に関わる情報である。
【００５４】
１６３１はＦＰＸイメージ１６０１に含まれるサブイメージｎの幅と高さを格納した領域である。１６３２はＦＰＸイメージ１６０１に含まれるサブイメージｎの画素あたりのビット数を格納した領域である。１６３３はＦＰＸイメージ１６０１に含まれるサブイメージｎのデータサイズを格納した領域である。１６３４はＦＰＸイメージ１６０１に含まれるサブイメージｎのデータを格納した領域である。以上はサブイメージｎに関わる情報である。
【００５５】
図１６にはｎ個のサブイメージを含むＦＰＸイメージの論理構造を説明したが、本実施の形態においては３個のサブイメージを含むＦＰＸイメージを例にとって以下説明する。その際、図１６の例で、サブイメージの数であるｎを３に読み替えて説明する。
【００５６】
また、本実施の形態においてはサブイメージ１の解像度を３００dpiとし、サブイメージ２の解像度はサブイメージ１の５０％減の解像度の１５０dpiとし、サブイメージ３の解像度はサブイメージ１の７５％減の解像度の７５dpiであるとする。
【００５７】
また説明を簡単なものとするため、本実施形態において選択しうる印刷目的は「文書・表」「クイック文書」「トナー節約」の三種類とし、それぞれの印刷解像度はファイン、クイック、クイックとする。解像度のファインとクイックは具体的にはそれぞれ６００dpi, ３００dpi の印刷解像度（プリンタの解像度）とする。またそれぞれの印刷目的におけるＦＰＸイメージの品位は「最高解像度」「最高解像度の５０％減」「最高解像度の７５％減」とする。
【００５８】
印刷する文書は、たとえば文書処理ソフト（所謂、ワープロソフト）で作成されたものであり、１ページ中に文字とイメージとが混在したものを例にして説明する。ただし、印刷する文書が如何なるものであっても良いのは勿論である。
【００５９】
はじめに印刷目的に応じて印刷解像度とＦＰＸイメージの品位を決定する処理について図３のフローチャートを使って説明する。始めに印刷システムの利用者によって印刷目的が入力されるが、これには図示しないホストコンピュータ４００のマウスやキーボードなどの入力装置を使って行われるものとする。印刷目的が入力されるとその印刷目的が「文書・表」かどうかを調べ（Ｓ３０１）「文書・表」であったら印刷解像度を「ファイン」に指定する（Ｓ３０２）。続いてＦＰＸイメージの解像度を「最高解像度」と指定する（Ｓ３０３）。
【００６０】
ステップＳ３０１において印刷目的が「文書・表」でなく「クイック文書」であったら（Ｓ３０４）印刷解像度を「クイック」に指定する（ステップＳ３０５）。続いてＦＰＸイメージの解像度を「最高解像度の５０％減」と指定する（Ｓ３０６）。
【００６１】
なお、ここで言うＦＰＸイメージの解像度とは、その印刷しようとするＦＰＸイメージのどの解像度にするかを示しているのであって、印刷装置の記録解像度とは別である。また、１ページ中に存在するイメージ以外の情報、たとえば文字等は、そのサイズ（ポイント数）や書体を指定することで印刷装置が自身の記録解像度に対応するパターンを発生させ、印刷するだけである。
【００６２】
ステップＳ３０４において印刷目的が「クイック文書」でなかったら印刷目的は「トナー節約」とみなし、印刷解像度を「クイック」に指定する（Ｓ３０７）。続いてＦＰＸイメージの解像度を「最高解像度の７５％減」と指定する（Ｓ３０８）。以上の処理によって印刷目的ごとにＦＰＸイメージの品位が規定できるようになる。
【００６３】
続いてホストコンピュータ４００側において、印刷目的が「文書・表」あるいは「クイック文書」あるいは「トナー節約」のいずれに設定されているかに応じて、ＦＰＸイメージ部分の印刷コマンドを生成する処理についてフローチャート図５と印刷コマンドの論理構造である図６を用いて説明する。なお、本実施形態において描画しようとするＦＰＸイメージは３００dpi,１５０dpi,７５ dpi のサブイメージを構造化してたとえはハードディスク装置に記憶しているものとする。
【００６４】
はじめに印刷コマンドの論理構造について説明する。図６は印刷コマンドの論理構造の一例を示しており、図示において、６００は印刷ジョブ中のイメージにおける印刷コマンドをあらわす。印刷コマンド６００は複数のフィールドに別れており、６０１は印刷コマンドが「ＦＰＸイメージ描画」であることを識別するための情報が格納されるフィールドである。６０２は描画しようとするＦＰＸイメージが用紙上に描かれる際の位置のX座標値を格納するフィールドである。６０３は描画しようとするＦＰＸイメージが用紙上に描かれる際の位置のY座標値を格納するフィールドである。６０４は描画しようとするＦＰＸイメージが用紙上に描かれる際の幅方向の寸法値を格納するフィールドである。６０５は描画しようとするＦＰＸイメージが用紙上に描かれる際の高さ方向の寸法値を格納するフィールドである。６０６はＦＰＸイメージの幅方向のピクセル数を格納するフィールドである。６０７はＦＰＸイメージの高さ方向のピクセル数を格納するフィールドである。６０８はＦＰＸイメージのピクセル当りのビット数を格納するフィールドである。６０９はＦＰＸイメージのデータサイズを格納するフィールドである。６１０は第２の実施形態で説明する、イメージを回転するかしないかを指示する情報を格納するフィールドである。
【００６５】
フィールド６０２からフィールド６０５に格納されるX、Y座標と幅、高さは、描画したイメージが用紙上で占める領域のX、Y座標、幅、高さであって、フィールド６０６、フィールド６０７に格納されるＦＰＸイメージデータが備える幅、高さ方向の画素数とは異なる。
上記各フィールドはそのデータを構築されるまでは、ホストコンピュータ４００が有する不図示のＲＡＭに一時的に確保され、それらの構築を待ってプリンタに出力される。従って、以下の処理手順の説明での各フィールドは、ＲＡＭに確保された領域を意味するものとして説明する。
【００６６】
アプリケーションプログラム４０１は、ユーザにより印刷要求がなされた場合に、印刷対象のドキュメントを出力する際に、該ドキュメント内に複数レイヤーを有する画像イメージ、例えばＦＰＸイメージがある場合は、ＦＰＸイメージのファイル名と用紙上の描画位置座標、用紙上の幅、高さを入力し、オペレーティングシステム４０２に対して、ＦＰＸイメージに関する情報を該ドキュメント内の他の描画データ（文字や図形等）と同様に描画関数（ＧＤＩ関数）として出力する（ステップＳ５０１）。オペレーティングシステム４０２はステップＳ５０１で入力されたすべての情報をＤＤＩ関数に変換し、プリンタドライバ４０３へ伝達する（ステップＳ５０２）。
【００６７】
プリンタドライバ４０３は、送られてきた描画位置座標、用紙上の幅、高さ情報を図６で説明した論理構造に従って、フィールド６０２、６０３、６０４、６０５にそれぞれ格納する(ステップＳ５０３)。
【００６８】
続いてプリンタドライバ４０３はステップＳ５０２でオペレーティングシステム４０２から伝達されたＦＰＸイメージのファイル名を元にＦＰＸファイルの格納場所を特定し、ＦＰＸファイルを開き、ＦＰＸファイル内のサブイメージの数とそれぞれのサブイメージの解像度を調べる(ステップＳ５３０)。プリンタドライバ４０３はオペレーティングシステム４０２から渡されたＦＰＸイメージのファイル名称から、当該ファイルがＦＰＸイメージを格納したファイルであることを、例えばファイルの拡張子から識別することが可能である。そしてプリンタドライバ４０３はホストコンピュータ４００内のハードディスク等の記憶手段（図示省略）を検索して、該当するＦＰＸファイルを取得する。ここで、プリンタドライバ４０３は、該当するＦＰＸファイルを特定することができなかった場合は、以降のステップＳ５０４〜Ｓ５２２の処理をすることなく、アプリケーションから取得するＦＰＸイメージをそのまま使用して印刷コマンドを生成する。またプリンタドライバ４０３は図１６に示したようなＦＰＸイメージファイルの論理構造に沿って、当該ファイル内のデータを処理する事が可能であるとする。
【００６９】
プリンタドライバ４０３は図１６に示したＦＰＸイメージ１６０１全体に含まれるサブイメージの数を格納した領域１６０２からまずサブイメージの数を読み出し、続いてサブイメージの数だけ続くサブイメージの解像度を順次読み取ることで実現する。本実施形態ではサブイメージ１の解像度を格納した領域１６０３、サブイメージ２の解像度を格納した領域１６０４、サブイメージ３の解像度を格納した領域１６０５から各サブイメージの解像度を読む。
【００７０】
続いてプリンタドライバ４０３は設定されている印刷目的を調べ(ステップＳ５０４)、印刷目的が「文書・表」であったら図３のステップＳ３０３で設定したようにＦＰＸイメージの最高解像度のサブイメージを処理対象として選択するが、本実施形態ではステップＳ５３０で調べた各サブイメージの解像度情報を元に、３００dpiのサブイメージ１を選択することになる(ステップＳ５０５)。
【００７１】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの３００ｄｐｉのサブイメージ１の幅と高さの画素数をＦＰＸファイルから読み出し、図６で説明した論理構造に従って、フィールド６０６、６０７へそれぞれ格納する（ステップＳ５０６）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ１の幅と高さを格納した領域１６１１から所望の情報を読み出せば良い。
【００７２】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの３００ｄｐｉのサブイメージ１の画素あたりのビット数を求め、図６で説明した論理構造に従ってフィールド６０８へ格納する（ステップＳ５０７）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ１の画素あたりのビット数を格納した領域１６１２から所望の情報を読み出せば良い。
【００７３】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの３００ｄｐｉのサブイメージ１の全体のサイズを求め、図６で説明した論理構造に従ってフィールド６０９へ格納する（ステップＳ５０８）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ１のデータサイズを格納した領域１６１３から所望の情報を読み出せば良い。
【００７４】
以上のパラメータを印刷コマンド種別（この場合はフィールド６０１に格納されている「ＦＰＸイメージ描画」）とともに、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ５０９）。続いてプリンタドライバはＦＰＸイメージファイルから３００ｄｐiのサブイメージ１のデータを読み出し、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ５１０）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ１のデータを格納した領域１６１４から所望の情報を読み出せば良い。
【００７５】
一方、ステップＳ５０４において、設定されている印刷目的が「クイック文書」であったら図３のステップＳ３０６で設定したようにＦＰＸイメージの最高解像度の５０％減の解像度であるサブイメージを処理対象として選択する。本実施形態ではステップＳ５３０で調べた各サブイメージの解像度情報を元に、１５０dpiのサブイメージ２を選択することになる(ステップＳ５１１)。
【００７６】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの１５０ｄｐｉのサブイメージ２の幅と高さの画素数をＦＰＸファイルから読み出し、図６で説明した論理構造に従ってフィールド６０６、６０７へそれぞれ格納する（ステップＳ５１２）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２の幅と高さを格納した領域１６２１から所望の情報を読み出せば良い。
【００７７】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの１５０ｄｐｉのサブイメージ２の画素あたりのビット数を求め、図６で説明した論理構造に従ってフィールド６０８へ格納する（ステップＳ５１３）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２の画素あたりのビット数を格納した領域１６２２から所望の情報を読み出せば良い。
【００７８】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの１５０ｄｐｉのサブイメージ２の全体のサイズを求め、図６で説明した論理構造に従って、フィールド６０９へ格納する（ステップＳ５１４）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２のデータサイズを格納した領域１６２３から所望の情報を読み出せば良い。
【００７９】
以上のパラメータを印刷コマンド種別（この場合はフィールド６０１に格納されている「ＦＰＸイメージ描画」）とともに、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ５１５）。続いてプリンタドライバはＦＰＸイメージファイルから１５０ｄｐiのサブイメージ２のデータを読み出し、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ５１６）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２のデータを格納した領域１６２４から所望の情報を読み出せば良い。
【００８０】
一方、ステップＳ５０４において、設定されている印刷目的が「トナー節約」であったら図３のステップＳ３０８で設定したようにＦＰＸイメージの最高解像度の７５％減の解像度であるサブイメージを処理対象として選択するが、本実施形態ではステップＳ５３０で調べた各サブイメージの解像度情報を元に、７５dpiのサブイメージ３を選択することになる(ステップＳ５１７)。
【００８１】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの７５ｄｐｉのサブイメージ３の幅と高さの画素数をＦＰＸファイルから読み出し、図６で説明した論理構造に従って、フィールド６０６、６０７へそれぞれ格納する（ステップＳ５１８）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ３の幅と高さを格納した領域１６３１から所望の情報を読み出せば良い。また、プリンタドライバ４０３は描画しようとするＦＰＸイメージの７５ｄｐｉのサブイメージ３の画素あたりのビット数を求め、図６で説明した論理構造に従ってフィールド６０８へ格納する（ステップＳ５１９）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ３の画素あたりのビット数を格納した領域１６３２から所望の情報を読み出せば良い。また、続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの７５ｄｐｉのサブイメージ３の全体のサイズを求め、図６で説明した論理構造に従って、フィールド６０９へ格納する（ステップＳ５２０）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ３のデータサイズを格納した領域１６３３から所望の情報を読み出せば良い。
【００８２】
以上のパラメータを印刷コマンド種別（この場合はフィールド６０１に格納されている「ＦＰＸイメージ描画」）とともに、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ５２１）。続いてプリンタドライバはＦＰＸイメージファイルから７５ｄｐiのサブイメージ３のデータを読み出し、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ５２２）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ３のデータを格納した領域１６３４から所望の情報を読み出せば良い。
【００８３】
次に、印刷装置側４１０で印刷コマンドを受信して描画コマンド化して描画コマンドメモリ４０６へ記憶する処理について、図７のフローチャートを用いて説明する。
【００８４】
印刷装置４１０が通信路４０９を介して送られてくる印刷コマンドを受信すると、トランスレータ４０４は印刷コマンドの種別を調べる（ステップＳ７０１）。印刷コマンドにイメージ描画コマンドがある場合は、そのイメージ描画コマンドが描画指定しているイメージが複数のレイヤーを有することの可能なイメージかを判断する。そのイメージ描画コマンドが複数のレイヤーを有することの可能なイメージの場合、例えば、イメージ描画コマンドがＦＰＸイメージ描画コマンドであったら、その情報と用紙上の描画位置のｘ、ｙ座標を取り出し描画コマンド生成部４０５へ渡す（ステップＳ７０２）が、この時処理するＦＰＸイメージ描画処理コマンドは図６で説明した論理構造に従っており、印刷装置４１０側でもこの論理構造に従って各フィールドのデータを読み出せるものとする。
【００８５】
続いてトランスレータ４０４は用紙上の幅、高さを取り出し描画コマンド生成部４０５へ渡し（ステップＳ７０３）、トランスレータ４０４はサブイメージの幅、高さの画素数を取り出して描画コマンド生成部４０５へ渡す（ステップＳ７０４）。次いでトランスレータ４０４はｘ方向、ｙ方向の繰り返し数を演算して描画コマンド生成部４０５へ渡す（ステップＳ７０５）。この繰り返し数とは即ち描画するイメージの各画素をｘ方向、ｙ方向にそれぞれ何回繰り返して描画するかという数で、イメージデータが２値イメージで描画出力する印刷装置も２値プリンタ（一般的にはモノクロ）であれば
ｘ方向繰り返し数＝用紙上のイメージの幅×印刷装置の解像度／サブイメージの幅画素数
ｙ方向繰り返し数＝用紙上のイメージの高さ×印刷装置の解像度／サブイメージの高さ画素数
の式で求めればよい。
【００８６】
入力データが多値で印刷装置が２値プリンタである場合には多値→２値変換処理のための微小領域のサイズ情報を加味する必要があることは自明である。ここで求める繰り返し数は前記のような入力データと印刷装置の特性を加味した上で、単純に画素の出力を繰り返す回数として決定されるものとする。
【００８７】
続いてトランスレータ４０４はイメージデータのデータサイズを取り出し描画コマンド生成部４０５へ渡す（ステップＳ７０６）。描画コマンド生成部４０５はステップＳ７０２，Ｓ７０３、Ｓ７０４，Ｓ７０５，Ｓ７０６で取り出したあるいは演算した各パラメータをＦＰＸイメージ描画コマンドとして構造化し描画コマンドメモリ４０６内に記憶する(ステップＳ７０７)。
【００８８】
描画コマンド生成部はステップＳ７０６で求めたサイズだけのイメージデータをトランスレータ４０４を介して読み込み、先に描画コマンドメモリに記憶した描画コマンドのパラメータ情報と関連づけながら記憶する（ステップＳ７０８）。
【００８９】
一方ステップＳ７０１で印刷コマンドがＦＰＸイメージ描画コマンドでない場合、たとえば、文字や図形の描画コマンド、もしくは複数レイヤーを有することのできないイメージを描画するためのイメージ描画コマンドであったら、そのコマンドに対応する処理を実行する（ステップＳ７０９）。
【００９０】
続いて描画部４０７が描画コマンドメモリから描画コマンドを読み込んで描画を行う処理を図１４のフローチャートに基づいて説明する。このフローチャートは、ＦＰＸイメージを描画するコマンドを弁別してＦＰＸイメージを描画する処理を示している。
【００９１】
この処理は、基本的には１ページ分の印刷コマンドを描画コマンドに変換して描画コマンドメモリに蓄積し終え、「ページ終了」を意味する印刷コマンドを受信すると開始されるものであるが、ページ内に描こうとする文字や図形やイメージの量が多すぎてすべての描画コマンドを描画コマンドメモリ内に同時に蓄積できない場合にも１ページ分のメモリ領域（冗長度圧縮処理や解像度低下処理を伴う場合あり）を割り当てて「ページ終了」印刷コマンド受信前に行われる場合もある。
【００９２】
さて、印刷装置４１０が「ページ終了」印刷コマンドを受信するなどして描画部４０７が起動されると（ステップＳ９０１）、描画部４０７は描画コマンドメモリ４０６から描画コマンドと付随するパラメータを読み込む（ステップＳ９０２）。
【００９３】
この描画コマンドがＦＰＸイメージ描画コマンドでなかったら（ステップＳ９０３）別の処理を実行する（ステップＳ９１２）。ステップＳ９０３においてＦＰＸイメージ描画コマンドであったら描画コマンドメモリから読み出したパラメータの用紙上の描画位置座標からビットマップ画像を出力するメモリ上の位置を決定する（ステップＳ９０４）。続いて出力するサブイメージの高さにわたって画素データを出力するようカウンタをセットする（ステップＳ９０５）。続いて出力するサブイメージの幅にわたって画素データを出力するようカウンタをセットする（ステップＳ９０６）。この幅方向の画素数をカウントするカウンタは出力するラインを更新するたびに適宜初期化されるものとする。
【００９４】
続いて１画素のイメージデータを描画コマンドメモリ４０６から読み出し（ステップＳ９０７）出力する(ステップＳ９０８)。この出力処理時に必要に応じて多値データを２値データに変換する処理なども実施する。また次の画素データ出力のために出力先描画位置を更新する。続いて図７のフローチャートのステップＳ７０５で求めたｘ方向繰り返し数だけ同じ画素データの出力を繰り返し(ステップＳ９０９)、出力が済んだら次画素データを処理するためにステップＳ９０６へ行く。
【００９５】
ステップＳ９０６においてサブイメージの幅だけの画素データの出力処理が済んでいなかったらステップＳ９０６、Ｓ９０７，Ｓ９０８，Ｓ９０９の処理を繰り返し、済んでいたら図７のフローチャートのステップＳ７０５で求めたｙ方向繰り返し数だけ、直前の１行の出力結果を繰り返す（ステップＳ９１０，Ｓ９１１）。続いてＦＰＸイメージの次行を処理するためにステップＳ９０５へ行き、ＦＰＸイメージの全高さに渡って処理を終えるまで、以上説明した各工程を繰り返す。
【００９６】
以上の結果、如何なるソース画像であっても、記録紙（記録媒体）上に記録された画像のサイズは同じにさせることができる。なお、実施形態のＦＰＸイメージは、３００dpi、１５０dpi、７５dpiの階層画像を有しているものとしたが、勿論、これ以外であってもかまわない。また、ここでいうイメージデータの解像度と印刷装置のエンジン部の記録解像度は無関係である。つまり、１ページが文字等の文章と上記実施形態で説明したＦＰＸイメージの混在した場合における、そのＦＰＸイメージについての説明である。イメージ以外の文字コードや線等を描画するコマンドによって生成されるパターン（文字の場合にはそのサイズを含めた文字パターン）は、プリンタエンジンの記録解像度に依存して生成するものである。また、トナー節約は、たとえば、千鳥上のマスクパターンで描画されたパターンと論理積したり、エッジの内側をそのパターンで論理積する等して印刷すればよいし、もしくは、感光ドラムのバイアス電圧を換えたりしても良い。かかるトナー節約モードは本願発明とは直接には関係しないので、その説明は省略する。
【００９７】
＜第２の実施形態＞
次に本発明の第２の実施形態として、サムネール印刷が指定された時に行われるＦＰＸイメージの描画処理について説明する。本実施形態にて説明する印刷システムも図４で説明した従来の印刷システムと同様のハードウェア（勿論、その処理に係るソフトウェアは異なる）と同様のブロック構成で実現可能なため、以下図４を使って説明する。
【００９８】
本実施形態においても、複数品位の画データを構造化して扱うデータフォーマットに準じるイメージをＦＰＸイメージと称し、品位は解像度を意味するものとする。また、その論理構造は第１の実施の形態において、図１６をもって説明した論理構造をとるものとし、本実施の形態においても図１６を参照しながら説明する。
【００９９】
図１６にはｎ個のサブイメージを含むＦＰＸイメージの論理構造を説明したが、本実施の形態においても３個のサブイメージを含むＦＰＸイメージを例にとって以下説明する。その際、図１６の例で、サブイメージの数であるｎを３に読み替えて説明する。
【０１００】
また、本実施の形態においてもサブイメージ１の解像度を３００dpiとし、サブイメージ２の解像度はサブイメージ１の５０％減の解像度の１５０dpiとし、サブイメージ３の解像度はサブイメージ１の７５％減の解像度の７５dpiであるとする。
【０１０１】
本第２の実施形態においてサムネール印刷がホストコンピュータ４００のキーボードやマウス装置（不図示）を使って指定されると、指定されたページレイアウトに従ってプリンタドライバ４０３が一用紙面内に配置されるページの縮小処理や回転処理や配置処理を必要に応じて行うものとする。例えば１枚の記録紙内に２ページを印刷するよう指定されると、プリンタドライバ４０３は各々のページの回転、座標の移動、縮小処理を行った上で印刷コマンドを生成し、オペレーティングシステム４０２、通信路４０９を介して印刷装置４１０へ送信するものとする。
【０１０２】
本第２の実施形態においても図６で説明した論理構造に従った印刷コマンドを使用するものとする。また本第２の実施形態において印刷解像度はファインすなわち６００dpiで、サムネール印刷が指定されない場合にはＦＰＸイメージは３００dpiで印刷され、サムネール印刷が指定された場合には、そのレイアウト状況に従って、１用紙面内に印刷されるページ数が２または４の場合、ＦＰＸイメージの品位を１５０dpiとし、一用紙面内に印刷されるページ数が８の場合、ＦＰＸイメージの品位を７５dpiに低下させるものとする。サムネール印刷が指定されない場合の処理に関する説明は省略する。
【０１０３】
以下に本第２の実施形態の特徴的な、サムネール印刷が指定された場合に、ホストコンピュータ内で行われる処理を図１５のフローチャートを用いて説明する。
【０１０４】
アプリケーションプログラム４０１はオペレーティングシステム４０２に対してＦＰＸイメージのファイル名と用紙上の描画位置座標、用紙上の幅、高さを入力する（ステップＳ１００１）。本実施形態においてアプリケーションプログラム４０１はサムネール印刷処理に関与しないため、ここでアプリケーションプログラム４０１が入力する描画位置座標、幅、高さは一用紙面に一ページが印刷されることを前提とした数値である。オペレーティングシステム４０２はステップＳ１００１で入力されたすべての情報をプリンタドライバ４０３へ伝達する（ステップＳ１００２）。
【０１０５】
続いてプリンタドライバはステップＳ１００２でオペレーティングシステムから伝達されたＦＰＸイメージのファイル名を元にＦＰＸファイルを開き、ＦＰＸファイル内のサブイメージの数とそれぞれのサブイメージの解像度を調べる(S１０４０)が、本実施の形態においてもプリンタドライバ４０３はオペレーティングシステム４０２から渡されたＦＰＸイメージのファイル名称から、当該ファイルがＦＰＸイメージを格納したファイルであることを、例えばファイルの拡張子から識別することが可能であるとする。またプリンタドライバ４０３は図１６に示したようなＦＰＸイメージファイルの論理構造に沿って、当該ファイル内のデータを処理する事が可能であるとする。
【０１０６】
プリンタドライバ４０３は図１６に示したＦＰＸイメージ１６０１全体に含まれるサブイメージの数を格納した領域１６０２からまずサブイメージの数を読み出し、続いてサブイメージの数だけ続くサブイメージの解像度を順次読み取ることで実現する。本実施形態ではサブイメージ１の解像度を格納した領域１６０３、サブイメージ２の解像度を格納した領域１６０４、サブイメージ３の解像度を格納した領域１６０５から各サブイメージの解像度を読む。
【０１０７】
プリンタドライバ４０３は図示しない行程によってあらかじめ指定されていた、１記録媒体内に配置されるページ数を調べる(ステップＳ１００３)。ステップＳ１００３において一用紙面内に印刷されるページ数が２であったら、当該ページが用紙面内に配置される何番目のページであるかによって適宜配置位置と寸法を再計算するが、２ページ印刷時には回転を伴うため、このことも考慮した上で再計算を行う(Ｓ１００４)。なお、２ページの場合に回転処理が行われるのは、たとえば記録媒体のサイズがＡ４であるとき、各々のページはＡ５の記録媒体に記録するかの如く動作させれば良く、この場合のＡ５の長手辺は、Ａ４の短手、つまり、９０度回転したものとなるからである。なお、１枚の記録媒体に４ページ（３ページも含む）の場合には、回転処理は発生しない。Ａ４を縦横それぞれ２等分すれなば良いからである。
【０１０８】
続いて計算した配置位置、寸法、および回転を伴うことを図６で説明した論理構造に従って、フィールド６０２、６０３、６０４、６０５，６１０にそれぞれ格納する(ステップＳ１００５)。１記録媒体内に配置されるページ数が２なので、ステップＳ１０４０で調べた各サブイメージの解像度情報を元に、ＦＰＸイメージファイル内の１５０dpiサブイメージ２を選択する(ステップＳ１００６)。
【０１０９】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの１５０ｄｐｉのサブイメージ２の幅と高さの画素数をＦＰＸファイルから読み出し、図６で説明した論理構造に従って、フィールド６０６、６０７へそれぞれ格納する（ステップＳ１００７）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２の幅と高さを格納した領域１６２１から所望の情報を読み出せば良い。
【０１１０】
プリンタドライバ４０３は描画しようとするＦＰＸイメージの１５０ｄｐｉのサブイメージ２の画素あたりのビット数を求め、図６で説明した論理構造に従って、フィールド６０８へ格納する（ステップＳ１００８）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２の画素あたりのビット数を格納した領域１６２２から所望の情報を読み出せば良い。次いで、プリンタドライバ４０３は描画しようとするＦＰＸイメージの１５０ｄｐｉのサブイメージ２の全体のサイズを求め、図６で説明した論理構造に従って、フィールド６０９へ格納する（ステップＳ１００９）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２のデータサイズを格納した領域１６２３から所望の情報を読み出せば良い。
【０１１１】
以上のパラメータを印刷コマンド種別（この場合はフィールド６０１に格納されている「ＦＰＸイメージ描画」）とともに、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（Ｓ１０１０）。続いてプリンタドライバはＦＰＸイメージファイルから１５０ｄｐiのサブイメージ２のデータを読み出し、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ１０１１）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２のデータを格納した領域１６２４から所望の情報を読み出せば良い。
【０１１２】
一方ステップＳ１００３において１記録媒体内に印刷されるページ数が４であったら、当該ページが用紙面内に配置される何番目のページであるかによって適宜配置位置と寸法を再計算するが、先に説明したように４ページ印刷時には回転を伴わないため、このことも考慮した上で再計算を行う(ステップＳ１０１４)。
【０１１３】
続いて計算した配置位置、寸法、および回転を伴わないことを図６で説明した論理構造に従って、フィールド６０２、６０３、６０４、６０５，６１０にそれぞれ格納する(ステップＳ１０１５)。そして、一用紙面内に配置されるページ数が４なので、ステップＳ１０４０で調べた各サブイメージの解像度情報を元に、ＦＰＸイメージファイル内の１５０dpiサブイメージ２を選択する(ステップＳ１０１６)。
【０１１４】
プリンタドライバ４０３は描画しようとするＦＰＸイメージの１５０ｄｐｉのサブイメージ２の幅と高さの画素数をＦＰＸファイルから読み出し、図６で説明した論理構造に従って、フィールド６０６、６０７へそれぞれ格納する（ステップＳ１０１７）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２の幅と高さを格納した領域１６２１から所望の情報を読み出せば良い。次いで、プリンタドライバ４０３は描画しようとするＦＰＸイメージの１５０ｄｐｉのサブイメージ２の画素あたりのビット数を求め、図６で説明した論理構造に従って、フィールド６０８へ格納する（ステップＳ１０１８）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２の画素あたりのビット数を格納した領域１６２２から所望の情報を読み出せば良い。
【０１１５】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの１５０ｄｐｉのサブイメージの全体のサイズを求め、図６で説明した論理構造に従って、フィールド６０９へ格納する（ステップＳ１０１９）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２のデータサイズを格納した領域１６２３から所望の情報を読み出せば良い。次いで、以上のパラメータを印刷コマンド種別（この場合はフィールド６０１に格納されている「ＦＰＸイメージ描画」）とともに、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ１０２０）。続いてプリンタドライバはＦＰＸイメージファイルから１５０ｄｐiのサブイメージ２のデータを読み出し、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ１０２１）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ２のデータを格納した領域１６２４から所望の情報を読み出せば良い。
【０１１６】
一方ステップＳ１００３において１記録媒体内に印刷されるページ数が８であったら、当該ページが用紙面内に配置される何番目のページであるかによって適宜配置位置と寸法を再計算するが、８ページ印刷時には回転を伴うため、このことも考慮した上で再計算を行う(ステップＳ１０２４)。
【０１１７】
続いて計算した配置位置、寸法、および回転を伴うことを図６で説明した論理構造に従って、フィールド６０２、６０３、６０４、６０５，６１０にそれぞれ格納する(ステップＳ１０２５)。１記録媒体内に配置されるページ数が８なので、ステップＳ１０４０で調べた各サブイメージの解像度情報を元に、ＦＰＸイメージファイル内の７５dpiサブイメージ３を選択する(ステップＳ１０２６)。
【０１１８】
続いて、プリンタドライバ４０３は描画しようとするＦＰＸイメージの７５ｄｐｉのサブイメージ３の幅と高さの画素数をＦＰＸファイルから読み出し、図６で説明した論理構造に従って、フィールド６０６、６０７へそれぞれ格納する（ステップＳ１０２７）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ３の幅と高さを格納した領域１６３１から所望の情報を読み出せば良い。
【０１１９】
続いてプリンタドライバ４０３は描画しようとするＦＰＸイメージの７５ｄｐｉのサブイメージ３の画素あたりのビット数を求め、図６で説明した論理構造に従って、フィールド６０８へ格納する（ステップＳ１０２８）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ３の画素あたりのビット数を格納した領域１６３２から所望の情報を読み出せば良い。そして、プリンタドライバ４０３は描画しようとするＦＰＸイメージの７５ｄｐｉのサブイメージ３の全体のサイズを求め、図６で説明した論理構造に従って、フィールド６０９へ格納する（ステップＳ１０２９）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ３のデータサイズを格納した領域１６２３から所望の情報を読み出せば良い。以上のパラメータを印刷コマンド種別（この場合はフィールド６０１に格納されている「ＦＰＸイメージ描画」）とともに、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ１０３０）。続いてプリンタドライバはＦＰＸイメージファイルから７５ｄｐiのサブイメージ３のデータを読み出し、オペレーティングシステム４０２を介して印刷装置４１０へ送信する（ステップＳ１０３１）。この処理には図１６のＦＰＸイメージの論理構造に従って順次情報を処理しながらサブイメージ３のデータを格納した領域１６３４から所望の情報を読み出せば良い。
【０１２０】
続いて印刷装置側４１０で印刷コマンドを受信して描画コマンド化して記憶する処理について説明する。
【０１２１】
この部分の処理は第１実施形態に記載した処理とおおむね同様で、イメージによっては回転を伴う場合がある点だけが異なる。より具体的には、本第２の実施形態においては１記録媒体内に印刷されるページ数が２または８の場合に回転が伴う。ホストコンピュータ４００から送られてくる印刷コマンドには回転する、しないの識別情報が帯同されてくるので、印刷装置側４１０では、この情報を元に回転処理の有無をステップＳ７０７に相当する処理において、併せて記憶しておけばよい。ここでは詳しい説明は省略する。
【０１２２】
続いて描画部４０７が描画コマンドメモリ４０６から描画コマンドを読み込んで描画を行う処理について説明する。この部分の処理は第１実施形態に記載した処理とおおむね同様で、イメージによっては回転を伴う場合がある点だけが異なる。イメージが回転を伴うか否かは、前記のように本実施形態における、第１の実施形態のステップＳ７０７に相当する処理において指定されているので、この情報を元に判断が可能である。また、イメージを回転する処理は幅と高さ方向の寸法が入れ替わることと、これに伴い適宜データを読み出して処理すれば実現できることは自明である。ここでは詳しい説明を省略する。
【０１２３】
＜第３の実施形態＞
次に本発明の第３の実施形態として、ブラウザからＨＴＭＬ印刷が指定された時に行われるＦＰＸイメージの描画処理について説明する。本実施形態にて説明する印刷システムも図４で説明した従来の印刷システムと同様のハードウェア（勿論、その処理に係るソフトウェアは異なる）と同様のブロック構成で実現可能なため、以下図４を使って説明する。
【０１２４】
ここで、ブラウザのアプリケーションの１つであるので、本第３の実施形態では、アプリケーション４０１をブラウザ４０１とする。
【０１２５】
ブラウザ４０１からＨＴＭＬドキュメントを印刷する場合は、オペレーティングシステムには、ＨＴＭＬ内で使用されているイメージとともにイメージファイルが格納されている記憶手段のパスがリンクとして指定されている。このようなイメージのリンクやタグはＴＨＭＬ内のデータとして存在するが実際に表示や印刷出力する際には可視化されることはない。プリンタドライバ４０３は印刷指示が発行された（４１２）場合に、ＨＴＭＬ内を解析し、ドキュメント内にイメージを見つけると、そのイメージに対応するイメージファイルが格納されているパスを取得する。そしてプリンタドライバ４０３は、そのパスを解析することにより、そのイメージの元のイメージファイルの種別を判断する。例えば、パスが“c:\windows\Temporary Internet Files\cache1\001.fpx”となっている場合は、イメージファイルがＦＰＸフォーマットであり、複数のレイヤーを有するものだと判断できる。複数のレイヤーを有するものだと判断した場合に、そのイメージファイルのパスに基づいてホストコンピュータ４００内に格納されているイメージファイルを取得し、ファイルをオープンする。そして第１の実施形態で説明したように、印刷目的に応じて、適するレイヤーのイメージを取得し必要な情報を追加した印刷コマンドを生成することになる。
【０１２６】
また本実施形態では、複数のレイヤーを有するイメージデータの画像の大きさを、解像度で表したが、イメージデータの画像の大きさをそのままの画素数で判断してもよい。つまり、印刷目的により印刷解像度が決定されるので、プリンタドライバ４０３は、アプリケーション４０１から指定されたイメージの用紙上のＸ，Ｙ座標、幅、高さに基づいて必要な画素数を求める。そして、プリンタドライバ４０３は、印刷目的が「文書・表」の場合は印刷解像度を６００ｄｐｉとし、ＦＰＸイメージは算出した必要な画素数に一番近いものを選択する。また印刷目的が「ＤＴＰ」の場合は印刷解像度を６００ｄｐｉとし、ＦＰＸイメージは算出した必要な画素数の半分に一番近いものを選択する。また、印刷目的が「クイック文書」の場合は印刷解像度を３００ｄｐｉとし、ＦＰＸイメージは３００ｄｐｉで算出した必要な画素数に一番近いものを選択する。また、印刷目的が「クイックＤＴＰ」である場合は印刷解像度を３００ｄｐｉとし、ＦＰＸイメージは３００ｄｐｉで算出した必要な画素数の半分に一番近いものを選択する。また、印刷目的が「トナー節約」である場合は印刷解像度を３００ｄｐｉとし、ＦＰＸイメージは３００ｄｐｉで算出した必要な画素数の１／４に一番近いものを選択する。
【０１２７】
ブラウザ４０１は一般的に、印刷時にはドキュメント内に使用されているイメージをそのままオペレーティングシステムに出力してくるため、プリンタドライバで受け取ったイメージを使用した印刷データを生成すると、印刷データのデータ量が大きくなり、印刷装置の描画コマンドメモリ４０６等、ワークメモリが不足し、印刷解像度が落ちてしまったり、印刷処理できなくなってしまう可能性がある。
【０１２８】
そこで、上記のようにブラウザのような、イメージファイルのイメージをそのまま送ってくるようなアプリケーション４０１に対しても、プリンタドライバ４０３は、適するサイズのイメージデータを使用して印刷データを生成するので、印刷装置においてワークメモリが不足するという事態が激減し、印刷解像度がユーザの所望とする値よりも低くなることがなくなるという効果が得られる。
【０１２９】
なお、本第１〜３の実施形態では、複数レイヤーを有するイメージファイルとして、FlashPixフォーマットを使用して説明したが、ファイルの種別はこれに限るものではなく、JBIGフォーマットやJpeg2000フォーマットのような複数の異なる解像度のイメージを生成可能なイメージファイルであってもよい。
【０１３０】
以上説明したように、本第１の実施形態のように印刷システムを構成することで、印刷目的に応じて、複数解像度の画データを構造化して扱うデータフォーマットに準じるイメージの解像度をあらかじめ定めた解像度に設定できるようになるので、品位を要求しない印刷出力時には、複数解像度の画データを構造化して扱うデータフォーマットに準じるイメージの印刷のために，より低解像度のサブイメージを選択できるようになり、その結果描画コマンドメモリとして必要となるメモリ領域サイズが節約でき、処理の高速化が期待できる。また、複数解像度の画データを構造化して扱うデータフォーマットに準じるイメージ以外の部分の解像度を低下させなければならない状態の発生を抑止できるようになる。
【０１３１】
また、第２の実施形態のように印刷システムを構成することで、サムネール印刷時に、複数解像度の画データを構造化して扱うデータフォーマットに準じるイメージの解像度をあらかじめ定めた解像度に設定できるようになるので、サムネール印刷時には、複数解像度の画データを構造化して扱うデータフォーマットに準じるイメージの印刷のために，より低解像度のサブイメージを選択できるようになり、その結果描画コマンドメモリとして必要となるメモリ領域サイズが節約でき、処理の高速化が期待できる。また、複数解像度の画データを構造化して扱うデータフォーマットに準じるイメージ以外の部分の解像度を低下させなければならない状態の発生を抑止できるようになる。
【０１３２】
しかも選択的に利用する、複数解像度の画データを構造化して扱うデータフォーマットに準じるイメージの、より低解像度のイメージは、サブイメージとして備えている解像度のデータなので、解像度変換処理などは必要ない。そのため計算機資源的に比較的軽い処理となり処理時間が短いという利点もある。
【０１３３】
なお、実施形態における電子計算機は、一般のパーソナルコンピュータ等の汎用情報処理装置で構成できる。本発明の目的は、前述した各実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１３４】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３５】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１３６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３７】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３８】
【発明の効果】
以上説明したように本発明の構成によれば、印刷対象の文書データ中にイメージが存在する場合に、そのイメージに対応する印刷データとして印刷装置に出力するデータの品位を指定できるようになる。
【０１３９】
また、他の発明によれば、１枚の記録媒体に複数ページで印刷する場合に、印刷されるサムネイルイメージを、ページ数に応じて指定できるようになる。
【図面の簡単な説明】
【図１】印刷品位を指定するために用いられる印刷システムの画面表示の一例を示す図である。
【図２】画像データのフォーマットの一例を示す図である。
【図３】印刷目的に従って印刷解像度とＦＰＸイメージの品位を指定する処理のフローチャートである。
【図４】印刷システムのブロック構成図である。
【図５】第１の実施形態の印刷システムのホストコンピュータでＦＰＸイメージ部分の印刷コマンドを生成する処理のフローチャートである。
【図６】第１，第２の実施形態の印刷システムのホストコンピュータで生成するＦＰＸイメージを描画する印刷コマンドの論理構造を示す図である。
【図７】ＦＰＸイメージ描画コマンドを生成する処理のフローチャートである。
【図８】  FlashPixTM画像ファイルの論理構造を示す図である。
【図９】  FlashPixTM画像ファイルの論理構造を示す図である。
【図１０】  FlashPixTM画像ファイルを構成する、解像度の異なる複数の画像の例を示す図である。
【図１１】  FlashPixTM画像ファイルのサブイメージのタイル分割の様子を説明する図である。
【図１２】  FlashPixTM画像ファイルのImage Contents Property Setの論理構造を示す図である。
【図１３】  FlashPixTM画像ファイルのSubimage Headerの論理構造を示す図である。
【図１４】ＦＰＸイメージ描画コマンド実行処理内容を示すフローチャートである。
【図１５】第２の実施形態の印刷システムのホストコンピュータでＦＰＸイメージ部分の印刷コマンドを生成する処理内容を示すフローチャートである。
【図１６】本実施形態におけるＦＰＸイメージの論理構造を示す図である。
【図１】
0003745179.tif 000002
【図２】
0003745179.tif 000003
【図３】
0003745179.tif 000004
【図４】
0003745179.tif 000005
【図５】
0003745179.tif 000006
【図６】
0003745179.tif 000007
【図７】
0003745179.tif 000008
【図８】
0003745179.tif 000009
【図９】
0003745179.tif 000010
【図１０】
0003745179.tif 000011
【図１１】
0003745179.tif 000012
【図１２】
0003745179.tif 000013
【図１３】
0003745179.tif 000014
【図１４】
0003745179.tif 000015
【図１５】
0003745179.tif 000016
【図１６】
0003745179.tif 000017