(57)【要約】【課題】ピクセルデータ処理によって設定値に応じて表示内容を変換する場合、命令数制限や１つのピクセルデータ処理で扱うのに適切な命令数を超えるようなときでも、設定内容が表示されるピクセルデータに反映する。【解決手段】実施したい変換処理を、適切な命令数に納まる範囲で複数のピクセルデータ処理に分割する。また、処理対象の領域にピクセルデータ処理の分割数だけ表示コントロールを重ねて配置しておき、分割したピクセルデータ処理を処理が行われる順で、上位に存在する表示コントロールから割り当てていくことにより、複数のピクセルデータ処理を表示に反映する。【選択図】図５
2014013437.tif 000002
【特許請求の範囲】
【請求項１】
ピクセルデータを表示する複数の表示コントロールを重ねて実行することにより１つの画像を表示するレイヤー構造を受け取る受信工程と、
前記表示コントロールが表示するピクセルデータに対して画像処理を実行するよう割り当てられたピクセルデータ処理を複数に分割し、前記受信したレイヤー構造に含まれる表示コントロールに必要な数の表示コントロールを加え、各ピクセルデータ処理の対象となる領域を包含する大きさで、ピクセルデータ処理の分割数だけ重ねて配置された表示コントロールに対して、上位レイヤーに配置された表示コントロールから、予め定めた処理の実行順に分割された個々のピクセルデータ処理を割り当てる割り当て工程と、
前記予め定めた処理の実行順に、前記ピクセルデータ処理が割り当てられた表示コントロールが表示するピクセルデータに対し、該ピクセルデータ処理により画像処理を実行し、該画像処理が実行されたピクセルデータを重ね合わせて表示する処理工程と
を有することを特徴とする情報処理方法。
【請求項２】
前記１つの画像は、印刷データに基づくプレビュー表示であり、
前記受信工程は、前記プレビュー表示に影響を与える１以上の印刷設定項目の設定値を受け取り、
前記割り当て工程は、前記表示コントロールに対し、前記受け取った設定値とともに前記ピクセルデータ処理を割り当て、
前記処理工程は、前記割り当てられた設定値に基づき、前記画像処理を実行することを特徴とする請求項１の情報処理方法。
【請求項３】
前記割り当て工程は、表示コントロールに対してピクセルデータ処理を割り当てていく際に、前記ピクセルデータ処理に対応した印刷設定項目の設定値がピクセルデータ処理を行う必要がない規定値から変更されているかの判定を行い、変更されていないと判定された印刷設定項目に対応したピクセルデータ処理については割り当てを行わないことを特徴とする請求項２の情報処理方法。
【請求項４】
前記割り当て工程において、印刷設定項目にかかわらずに行う必要のある共通処理を、分割された全てのピクセルデータ処理に含めることを特徴とする請求項３の情報処理方法。
【請求項５】
前記割り当て工程において、全てのピクセルデータ処理に対応した設定項目が規定値から変更されていないと判定された場合、任意のピクセルデータ処理を割り当てることを特徴とする、請求項４の情報処理方法。
【請求項６】
ピクセルデータを表示する複数の表示コントロールを重ねて実行することにより１つの画像を表示するレイヤー構造を受け取る受信手段と、
前記表示コントロールが表示するピクセルデータに対して画像処理を実行するよう割り当てられたピクセルデータ処理を複数に分割し、前記受信したレイヤー構造に含まれる表示コントロールに必要な数の表示コントロールを加え、各ピクセルデータ処理の対象となる領域を包含する大きさで、ピクセルデータ処理の分割数だけ重ねて配置された表示コントロールに対して、上位レイヤーに配置された表示コントロールから、予め定めた処理の実行順に分割された個々のピクセルデータ処理を割り当てる割り当て手段と、
前記予め定めた処理の実行順に、前記ピクセルデータ処理が割り当てられた表示コントロールが表示するピクセルデータに対し、該ピクセルデータ処理により画像処理を実行し、該画像処理が実行されたピクセルデータを重ね合わせて表示する処理手段と
を有することを特徴とする情報処理装置。
【請求項７】
前記１つの画像は、印刷データに基づくプレビュー表示であり、
前記受信手段は、前記プレビュー表示に影響を与える１以上の印刷設定項目の設定値を受け取り、
前記割り当て手段は、前記表示コントロールに対し、前記受け取った設定値とともに前記ピクセルデータ処理を割り当て、
前記処理手段は、前記割り当てられた設定値に基づき、前記画像処理を実行することを特徴とする請求項６の情報処理装置。
【請求項８】
前記割り当て手段は、表示コントロールに対してピクセルデータ処理を割り当てていく際に、前記ピクセルデータ処理に対応した印刷設定項目の設定値がピクセルデータ処理を行う必要がない規定値から変更されているかの判定を行い、変更されていないと判定された印刷設定項目に対応したピクセルデータ処理については割り当てを行わないことを特徴とする、請求項７の情報処理装置。
【請求項９】
前記割り当て手段において、設定項目にかかわらずに行う必要のある共通処理が、分割された全てのピクセルデータ処理において実行することができることを特徴とする請求項８の情報処理装置。
【請求項１０】
前記割り当て手段は、全てのピクセルデータ処理に対応した設定項目が規定値から変更されていないと判定された場合、任意のピクセルデータ処理を割り当てることを特徴とする請求項９の情報処理装置。
【請求項１１】
コンピュータを、請求項６乃至１０のいずれか一項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その方法およびプログラムに関する。
【背景技術】
【０００２】
Ｗｉｎｄｏｗｓ（登録商標）のようなオペレーティングシステム（ＯＳ）を搭載したコンピュータを用いた印刷システムにおいて、アプリケーションプログラム（以下、アプリケーションという）等が実行される。このようなアプリケーションの実行により生成された印刷データは、通常ＯＳで標準的に使用されるデータ形式でスプールファイルに格納される。アプリケーションで印刷処理が実行され、スプールファイルに生成された印刷データが格納されると、印刷データを印刷するために通常ＯＳはプリンタドライバを呼び出す。呼び出されたプリンタドライバは、スプールファイルに格納された印刷データを読み取り、プリンタドライバの画像生成部によりイメージを作成し、さらにプリンタが解釈可能な印刷コマンドに変換する。変換により生成された印刷コマンドは、プリンタに送信され、プリンタにより解釈されて、例えば記録媒体に像を形成することで印刷処理が実行される。従来から、このような印刷システムにおいて実際の印刷態様をプレビュー表示するために、プリンタドライバは印刷処理を実行するとともに、印刷イメージを表示するプレビューアを起動する。このようなプレビュー表示は、一般的に画像生成部が印刷プレビューのための表示用画像データを作成し、作成された画像データをプレビューアに渡して表示することにより実現される。
【０００３】
また、近年ではスプールファイルに格納されるデータ形式として従来のＥＭＦ形式（Ｅｎｈａｎｃｅｄ  Ｍｅｔａ Ｆｉｌｅ）ではなく、ＸＰＳ形式（ＸＭＬ Ｐａｐｅｒ Ｓｐｅｃｉｆｉｃａｔｉｏｎ）が用いられるようになってきている。このような印刷システムでは、プリンタドライバもＸＰＳ形式のデータを扱うことができるＸＰＳプリンタドライバが用いられる。ＸＰＳ形式は、Ｍｉｃｒｏｓｏｆｔ社が開発したオープン規格の電子文書フォーマットであるため、ＯＳに印刷データをそのまま渡しても表示することができるよう表示機能が提供されている。このような印刷システムにおいて印刷プレビュー機能を提供する場合、ＯＳによる表示機能を利用することで、印刷データであるＸＰＳデータを表示用画像データに変換することなく表示することが可能となる（例えば、特許文献１参照）。
【０００４】
さらに、印刷プレビュー機能に、印刷結果を確認しながら印刷設定の変更ができるような印刷設定の変更機能を加えることもできる。印刷設定の変更機能の一例として、印刷結果の色合いを調整する色調整機能が含まれる。このような色調整機能の具体的な設定項目として、原稿をモノクロで印刷するモノクロ印刷を設定することができ、また濃度やコントラストなどの調整項目の変更による色合いの調整などを行うことができる。印刷プレビュー機能に色調整機能を設ける場合、ユーザーが設定した色調整の内容を印刷プレビュー表示で確認することから、設定された内容はすぐに反映されることが望ましい。印刷プレビュー用の表示用画像データを画像生成部が作成するのであれば、作成した表示用画像データに対して色調整を反映させて表示することが可能である。しかし、前述のＸＰＳ形式のデータをＯＳに渡して印刷プレビューを行うときは、ＯＳに渡すＸＰＳ形式のデータ自体に予め色調整を反映させておく必要がある。その場合、印刷プレビューを行うためには、ＸＰＳ形式のデータの解析を行い、ＸＰＳ形式のデータに含まれる画像や文字列などの色を全て変換しなければならないので、非常に複雑な処理が必要となる。このような処理を軽減するため、ＸＰＳ形式のデータに予め処理を施さず、画像表示用に生成されるピクセルデータに対して変換を行い、表示内容を変更するピクセルデータ処理を用いる方法が提案されている。ピクセルデータ処理は、例えばＭｉｃｒｏｓｏｆｔ社のＤｉｒｅｃｔＸで提供されているピクセルシェーダなどにより実行することができる。
【０００５】
実際の処理としては、例えばピクセルデータ処理を予め実装したモジュールを、画面表示が行われるコントロール（以降、表示コントロール）に対して割り当てることで、対応した表示コントロールに応じて表示されるピクセルデータが変換される。これにより、ユーザーが印刷プレビュー機能を用いて指定した色調整の結果を、予めＸＰＳ形式のデータを変換することなく、表示されるピクセルデータに反映させることが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２８２８４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、ピクセルデータ処理に使用できる命令数は制限されることがある。また、１つの表示コントロールに割り当てることができるピクセルデータ処理は１つである。そのため、変換処理が複雑な場合このような制限の範囲では、必要な処理を全て行えないという問題があった。具体的には、例えば、前述の色調整において、明るさ、濃度、コントラスト、色調といった、複数の設定項目が設定されることがあり、それら全てに対応した変換処理を１つのピクセルデータ処理で行うことは困難である。その結果、全ての設定項目の変更内容を反映したプレビュー表示が行えないという問題がある。
【０００８】
また、命令数制限が存在しなくても、多くの処理を一度に行うことで処理時間が長くなり、また計算精度が低下したりすることも考えられる。
【０００９】
そこで、本発明は、ピクセルデータ処理によって設定値に応じて表示内容を変換する場合、命令数制限や１つのピクセルデータ処理で扱うのに適切な命令数を超えるようなときでも、設定内容が表示されるピクセルデータに反映することを目的とする。
【課題を解決するための手段】
【００１０】
上述のような課題を解決するための本発明の情報処理方法は、ピクセルデータを表示する複数の表示コントロールを重ねて実行することにより１つの画像を表示するレイヤー構造を受け取る受信工程と、表示コントロールが表示するピクセルデータに対して画像処理を実行するよう割り当てられたピクセルデータ処理を複数に分割し、受信したレイヤー構造に含まれる表示コントロールに必要な数の表示コントロールを加え、各ピクセルデータ処理の対象となる領域を包含する大きさで、ピクセルデータ処理の分割数だけ重ねて配置された表示コントロールに対して、上位レイヤーに配置された表示コントロールから、予め定めた処理の実行順に分割された個々のピクセルデータ処理を割り当てる割り当て工程と、予め定めた処理の実行順に、ピクセルデータ処理が割り当てられた表示コントロールが表示するピクセルデータに対し、ピクセルデータ処理により画像処理を実行し、画像処理が実行されたピクセルデータを重ね合わせて表示する処理工程とを有することを特徴とする。
【発明の効果】
【００１１】
本発明により、１つのピクセルデータ処理で扱うのに適した命令数を超えるような場合でも、表示されるピクセルデータに、設定値を反映させるための変換処理を適用することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施例で使用するパーソナルコンピュータの構成を示すブロック図である。
【図２】本発明の一実施例に係るプリンタドライバの一例を示すブロック図である。
【図３】本発明の一実施例に係るプレビューウィンドウの一例を示す図である。
【図４】本発明の一実施例に係るプレビュー表示領域の構成を示す図である。
【図５】本発明の一実施例に係るプレビュー表示領域の構成を示す図である。
【図６】本発明の一実施例に係る表示更新時のピクセルデータ処理を示す図である。
【図７】本発明の一実施例に係るピクセルデータ処理の割り当て処理の一例を示す図である。
【図８】本発明の一実施例に係る設定項目に応じたピクセルデータ処理を示す図である。
【図９】本発明の一実施例に係る設定項目に応じたピクセルデータ処理を示す図である。
【図１０】本発明の一実施例に係る設定項目に応じたピクセルデータ処理の割り当て処理の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施の形態を説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１４】
＜実施例１＞
＜印刷システムの構成＞
＜情報処理装置のハードウェア構成図＞
図１は、パーソナルコンピュータ（以下ＰＣ）１０１の構成を示すブロック図である。ＰＣ１０１は、ＣＰＵ１０３と、ＲＡＭ１０５と、ＲＯＭ１０７と、ハードディスク１０９と、通信インタフェース１１１と、表示装置１１３と、マウス１１５と、キーボード１１７と、システムバス１１９とを備える。ＣＰＵ１０３は、ＲＡＭ１０５、ＲＯＭ１０７またはハードディスク１０９に格納されているプログラムに従って、データや命令を演算、判断及び制御を行なう。ＲＡＭ１０５は、ＣＰＵ１０３が各種処理を行なう場合における一時記憶領域として使用される。ハードディスク１０９は、オペレーティングシステム（ＯＳ）、ブラウザやその他のアプリケーションソフト等を格納している。つまり、ＣＰＵ１０３は、通常、ＲＯＭ１０７或いはハードディスク１０９に格納されたプログラムを読み出してＲＡＭ１０５にインストールし、ＲＡＭ１０５をワークメモリとしてプログラムを実行することで各種の制御を行う。通信インタフェース１１１は、たとえばＵＳＢ、ＳＣＳＩや無線等、プリンタとのデータ通信を行なうためのインタフェースや、インターネットを介して外部のＷＷＷサーバとの間でデータの送受信を行なうネットワークインタフェースである。表示装置１１３は、ＣＲＴや液晶ディスプレイと、グラフィックコントローラとを備え、グラフィックユーザーインタフェース（ＧＵＩ）における表示を行なう。マウス１１５およびキーボード１１７は、ユーザーがＰＣ１０１に各種指示を与えるための入力装置である。システムバス１１９は、ＣＰＵ１０３やＲＡＭ１０５、ＲＯＭ１０７、ハードディスク１０９等との間のデータのやり取りを行なう。
【００１５】
＜プリンタドライバの動作＞
図２は、本実施例においてＰＣ１０１上で実行される印刷システムを、ＯＳの印刷サポート機能およびプリンタドライバを中心に概念的に示すブロック図である。
【００１６】
図２に示す印刷システムでは、アプリケーション２０１が作成した印刷データは、ＯＳの印刷サポート機能２１３を通じてＸＰＳスプールファイル２１７に一時的に蓄えられる。蓄えられた印刷データは、プリンタドライバのフィルター群２１９が、印刷設定情報に基づき、プリンタが解釈可能な印刷コマンドに変換し、プリンタ２３１に供給して印刷が実行される。
【００１７】
ユーザーインタフェースモジュール２１５は、一般に印刷に使用する用紙サイズや印刷方向、その他の属性をユーザが設定する機能を提供する。同時に本発明におけるユーザーインタフェースモジュール２１５は、プリンタによる印刷動作を開始する前に印刷イメージを表示装置１１３に表示する印刷プレビュー機能を起動する機能を有する。ユーザーインタフェースモジュール２１５は、複数の印刷設定項目の設定値が格納された印刷設定情報をアプリケーション２０１に送る。
【００１８】
アプリケーション２０１は、作成した任意の文書を印刷する際、ＯＳの印刷サポート機能２１３に、印刷開始や印刷終了を指示し、印刷設定を行うためにユーザーインタフェースモジュール２１５から受け取った印刷設定情報を送信する。また、文書の各ページの描画開始や描画終了を指示する。ＯＳの印刷サポート機能２１３は、アプリケーションが作成した印刷データや印刷設定情報を、ＸＰＳスプールファイル２１７に格納（またはスプール）する。各フィルターは、スプールされた印刷データを読込む（またはデスプールする）際にＯＳの印刷サポート機能から呼び出される。
【００１９】
プリンタドライバのフィルター群２１９は一つ以上のフィルターで構成されており、印刷時にＸＰＳスプールファイル２１７から印刷データを読込み、プリンタが解釈可能な印刷コマンドに変換してプリンタ２３１に供給し、印刷を行う機能を有する。本実施例におけるフィルター群２１９は、レイアウト処理部であるレイアウトフィルター２２１、プレビュー文書作成部であるプレビューフィルター２２３および印刷コマンド変換部である印刷コマンドフィルター２２５を備える。ただし、レイアウト機能と印刷プレビュー機能とを一つのフィルターで実現したり、不要なフィルターは取り除いたりすることも可能であり、本実施例で用いられるフィルターは上記フィルター構成に限定されるものではない。
【００２０】
レイアウトフィルター２２１は、ＸＰＳスプールファイル２１７に格納されたＸＰＳ形式のデータを入力として受け取り、印刷設定情報に基づきページのレイアウト処理を行い、レイアウト済みのＸＰＳ形式のデータを出力する。本実施例におけるレイアウト処理とは、例えば複数のページを一つの用紙面に印刷するＮ−ｕｐ印刷や、一つのページを複数の用紙面に印刷するポスター印刷等を含むが、これに限られない。
【００２１】
プレビューフィルター２２３は、レイアウトフィルター２２１から出力されたレイアウト済みのＸＰＳ形式のデータを入力として受け取り、印刷設定に基づきユーザーにプレビュー制御モジュール２０３を用いて印刷プレビュー処理を実行する。プレビューフィルター２２３は、印刷データの印刷プレビュー設定がＯＮかどうかを判定し、ＯＮの場合はプレビュー制御モジュール２０３を起動し、印刷データであるＸＰＳ形式のデータをプレビュー制御モジュール２０３に渡す。プレビュー制御モジュール２０３では、ＸＰＳ形式のデータを表示することによって印刷結果を表示装置１１３に表示する。プレビュー制御モジュール２０３が提供する表示画面の構成については図３を用いて後述する。印刷プレビュー設定がＯＦＦの場合は印刷プレビューを行わないため、プレビューフィルター２２３は、次のフィルターに印刷データを送信する。
【００２２】
印刷コマンドフィルター２２５は、プレビューフィルター２２３から出力される印刷データを入力として受け取り、印刷設定情報に従い、ＸＰＳ形式のデータをプリンタが解釈可能な印刷コマンドに変換し出力する。印刷コマンドフィルター２２５は、入力されたＸＰＳ形式のデータをイメージデータに変換する場合、一般的にレンダーフィルターと呼ばれる。レンダーフィルターはインクジェットプリンタに代表される廉価なラスタープリンタ用のプリンタドライバに多く用いられている。印刷コマンドフィルター２２５がレンダーフィルターとして動作する場合は、入力されたＸＰＳ形式のデータは一度イメージデータに変換される。その後、色空間の変換や二値化等の画像処理の工程を経て、ラスタープリンタが解釈可能な印刷コマンドに変換される。ページプリンタに代表される高機能なプリンタがＸＰＳ形式のデータを解釈できる場合、印刷コマンドフィルター２２５は、入力されたＸＰＳ形式のデータを編集してＸＰＳ形式のデータを出力する。印刷コマンドフィルター２２５にて処理する必要がなければ、入力されたＸＰＳ形式のデータをそのまま出力するか、最初から印刷コマンドフィルター２２５をプリンタドライバに含めなくても良いことは言うまでもない。
【００２３】
出力デバイスであるプリンタ２３１は、印刷コマンドフィルター２２５で生成された印刷コマンドを解釈し、可視画像を印刷用紙に対して形成する。なお、図２に示す印刷結果の例の印刷用紙２４１は、レイアウトフィルター２２１が２−ｕｐの処理を行った場合の例を概念的に示している。
【００２４】
＜プレビュー制御モジュールのプレビューウィンドウ＞
図３に、本実施例におけるプレビュー制御モジュール２０３によって提供される表示画面（プレビューウィンドウ）の一例を示す。本実施例で印刷プレビューウィンドウ３０１は、タッチパネルを貼り付けられた液晶画面を用いる。これにより、印刷プレビューウィンドウ３０１は、プレビュー画像や印刷データの印刷設定等を表示するための表示エリアとしての機能と、ユーザーがプレビュー画像の表示方法等を変更するための入力部としての機能の両方を備えることができ。ただし、表示エリアと入力部とを別に有するようにすることもできる。
【００２５】
メニューバー３０３はメニュー形式になっており、表示切り替え等、ユーザーがプレビュー制御モジュール２０３へ行う指示を選択できるようになっている。ドキュメントリスト３０５には、現在プレビュー制御モジュール２０３が処理可能な印刷データの一覧が表示される。したがって、本実施例ではドキュメントリスト３０５で選択された印刷データが、表示や印刷の対象となる。また、ページ数欄には選択された印刷データのページ数が表示される。プレビュー表示領域３０７は、印刷プレビュー用ＸＰＳ形式のデータを利用し、実際に印刷用紙に形成されると考えられるレイアウトや色調などで印刷データが表示される。ツールバー３０９のユーザー操作部を用い、ユーザーは表示ページの切り替えや表示サイズの変更を行うことが可能である。表示領域３１１には、現在印刷プレビュー機能を表示されている印刷データの印刷設定に関わる代表的な設定項目の設定値が表示される。図３を参照すると、現在プレビュー表示しているページの番号は第１ページであり、印刷設定で設定された部数は１部である例を示していることが理解できる。
【００２６】
印刷設定変更領域３１３において、選択されている印刷データの印刷設定に関わる代表的な設定項目の設定値を表示するとともに、設定値の変更を行うこともできる。本実施例では、プレビュー制御モジュール２０３は、印刷データの色調整を行う機能を有しており、色調、明るさ、濃度、コントラストなどが変更可能である。設定内容の変更が印刷結果に影響を与える場合、変更された設定内容に応じてプレビュー表示領域３０７を更新する必要がある。この更新により、ユーザーは設定内容を変更するごとにその結果、印刷される内容がどのように変更されるかを確認することができる。ユーザーは、印刷結果の確認や、印刷設定の変更を行った後、印刷ボタン３１５を押下することで、ドキュメントリスト３０５で選択されている印刷データの印刷の開始を指示する。
【００２７】
＜プレビュー表示領域の構成＞
図４は、プレビュー表示領域３０７に表示される印刷結果表示の一般的な構成について示した図である。プレビュー表示領域３０７はドキュメント表示コントロール４０１と、ベース表示コントロール４０３とによって構成される。ドキュメント表示コントロール４０１に印刷対象のＸＰＳ形式のデータを指定することで、ＯＳは指定したＸＰＳ形式のデータを表示する。ベース表示コントロール４０３は、用紙を表すために設けられており、印刷設定の用紙サイズに応じたサイズで白色領域を設定すると、ＯＳは設定に従って紙サイズに応じたサイズで白色領域を描画する。ベース表示コントロール４０３によって実際の印刷結果になると考えられる用紙サイズや余白などを表示することが可能となり、出力結果を忠実に再現することができる。
【００２８】
ドキュメント表示コントロール４０１と、ベース表示コントロール４０３とはレイヤー構造になっており、ドキュメント表示コントロール４０１がベース表示コントロール４０３の上位レイヤーに位置している。プレビュー表示を実行すると、ＯＳはドキュメント表示コントロール４０１と、ベース表示コントロール４０３とが重ね合わせられたピクセルデータ４０５を表示する。下位レイヤーのコントロールを対象として行われる変更は、上位レイヤーを含めた重ね合わせ結果に対して行われる。そこで、印刷設定変更領域３１３の変更内容を反映する場合、プレビュー制御モジュール２０３は、ベース表示コントロール４０３に対して、ピクセルデータ処理を指定する。その結果、重ね合わせられたピクセルデータ４０５に対してピクセルデータ処理が反映され、変更した印刷設定をプレビュー表示領域３０７に反映させることが可能となる。
【００２９】
しかし、ピクセルデータ処理に使用できる命令数が制限されている場合がある。命令数制限の一例としては、加算や乗算のような算術演算に各々命令数が設定されており、ピクセルデータ処理で実行する処理の総命令数に上限が設けられていることがある。また、命令数制限が存在しない場合でも、１つのピクセルデータ処理で多くの処理を行うことで処理が遅くなり、あるいは計算精度が低下することも考えられる。
【００３０】
つまり、一般に１つのピクセルデータ処理に対しては、そのシステムまたは装置に応じた適切な命令数が存在する。しかし、色調調整の設定項目のように表示に影響を与える設定項目が多数存在し、各々対応した変換処理を行うと、１つのピクセルデータ処理で行うのに適した命令数を超えてしまうことがあるのである。１つの表示コントロールに対して指定できるピクセルデータ処理は１つであるため、ベース表示コントロール４０３に対して複数のピクセルデータ処理を指定することはできない。従って、複数のピクセルデータ処理を組み合わせて表示に反映させる必要がある。
【００３１】
図５は、上記問題点を鑑みて、複数のピクセルデータ処理をプレビュー表示に適用するための構成の一例を示す図である。従来のドキュメント表示コントロール４０１と、ベース表示コントロール４０３の下層に、ピクセルデータ処理用表示コントロール４０７を加える。ピクセルデータ処理用表示コントロール４０７は、ドキュメント表示コントロール４０１の全範囲を包含し、且つ、ベース表示コントロール４０３に包含される位置とサイズで、プレビュー表示領域３０７に配置される。ピクセルデータ処理用表示コントロール４０７は、ベース表示コントロール４０３より下層に存在し、ベース表示コントロール４０３に包含されるサイズであるため、重ね合わせても最終的な表示内容であるピクセルデータ４０９には影響を与えない。
【００３２】
＜ピクセルデータ処理の割り当て＞
図６は、表示更新時に複数のピクセルデータ処理が表示に適用される処理の流れを示す図である。前述のように、プレビュー表示領域３０７は、ドキュメント表示コントロール５０１、ベース表示コントロール５０３およびピクセルデータ処理用表示コントロール５０５によって構成される。プレビュー制御モジュール２０３は、ピクセルデータ処理を複数に分けて実行する。
【００３３】
本実施例ではピクセルデータ処理は、ピクセルデータ処理１およびピクセルデータ処理２の２つに分かける。ピクセルデータ処理１（５０９）では、モノクロ変換、明るさ、濃度、コントラストの変更に対応した変換処理を行い、ピクセルデータ処理２（５１３）では、色調の変更に対応した変換処理を行っている。ここで、２つのピクセルデータ処理は、変換処理を適用する実行順の順番を考慮して実行する必要がある。本実施例では、明るさ、濃度、コントラストに対応した変換を適用した結果に対して、色調に対応した変換を適用することで所望の色調整結果を得ることができる。そのため、プレビュー制御モジュール２０３は、ピクセルデータ処理を前述の構成で分割し、適切な順序でピクセルデータ処理を行う。また、ピクセルデータ処理１では複数の設定項目に対応した変換処理が行われるが、ピクセルデータ処理１の中で行われる各設定に基づく変換処理についても、実行すべき順番で処理が行われるように実装する必要がある。
【００３４】
また、ピクセルデータ処理の割り当ては、より先に行う処理をより上位のレイヤーに対応させる必要があるので、先に行われる変換処理から上位レイヤーの表示コントロールに割り当てていく必要がある。従って、プレビュー制御モジュール２０３は、ピクセルデータ処理１をベース表示コントロール５０３に割り当て、ピクセルデータ処理２をピクセルデータ処理用表示コントロール５０５に割り当てる。さらに、プレビュー制御モジュール２０３は、表示コントロールにピクセルデータ処理を割り当てる際には、各ピクセルデータ処理で用いる設定項目の現在の設定値をパラメータとして渡す。これにより、ピクセルデータ処理は設定値に応じた変換処理を行い、設定内容の変更が表示されるピクセルデータに反映される。
【００３５】
以上のように、各ピクセルデータ処理を表示コントロールに割り当てると、次にＯＳはプレビュー制御モジュール２０３によって割り当てられたピクセルデータ処理に応じて、ピクセルデータを生成する。表示されるピクセルデータが更新される場合を例に、ＯＳがプレビュー制御モジュール２０３によって割り当てられたピクセルデータ処理に応じてピクセルデータを生成する処理について説明する。まず、ＯＳは、ドキュメント表示コントロール５０１と、ベース表示コントロール５０３を重ね合わせたピクセルデータ５０７を生成する。次に、ＯＳは、ベース表示コントロール５０３に割り当てられたピクセルデータ処理１（５０９）に設定された変換処理をピクセルデータ５０７に適用し、モノクロ変換と明るさ、濃度、コントラストの設定値に対応した変換を行う。
【００３６】
ＯＳが、ピクセルデータ５０７に対してピクセルデータ処理１（５０９）を行った結果と、ピクセルデータ処理用表示コントロール５０５が重ね合わせられ、ピクセルデータ５１１を生成する。ＯＳは、ピクセルデータ処理用表示コントロール５０７に割り当てられたピクセルデータ処理２（５１３）を、ピクセルデータ５１１に対して適用し、ピクセルデータ５１５を生成する。このピクセルデータ５１５がプレビュー表示領域３０７に表示される。以上のような処理により、プレビュー制御モジュール２０３は、ピクセルデータ処理を適用したプレビュー表示を実現する。
【００３７】
尚、ピクセルデータ処理は任意数で分割することが可能であり、３つ以上のピクセルデータ処理を適用する場合はピクセルデータ処理用表示コントロールを分割数に応じて配置する必要がある。従って、ピクセルデータ処理の分割方法についても本実施例に限られるものではなく、１つの設定項目に対して１つのピクセルデータ処理を設けるなど、ピクセルデータ処理の処理順を維持できる範囲で自由に分割することが可能である。また、割り当て対象となる表示コントロールはドキュメント表示コントロールを先頭としてもよい。その場合、追加されるピクセルデータ処理用表示コントロールを減らすことも可能である。さらに、１つのピクセルデータ処理に対して１つ以上の設定項目を割り当てる必要はなく、２つ以上のピクセルデータ処理で１つの設定項目に対応した変換処理を行うことも可能である。
【００３８】
図７は、プレビュー制御モジュール２０３がピクセルデータ処理の割り当てを変更する処理を示すフローチャートの一例である。ピクセルデータ処理の割り当ての変更は、色調整といった印刷結果に影響のあるような設定が変更された時に実行することが考えられるが、それに限られるものではない。また、本実施例の図７に示す例ではモノクロ印刷設定がＯＮの場合のみ、印刷設定変更領域３１３における設定内容が反映されることを想定して、この場合のみ設定内容の変更をピクセルデータ処理の割り当てに反映させるようにしている。しかし、モノクロ印刷設定がＯＦＦの場合にも印刷結果に影響が出るものとして、それに応じた設定変更を行う構成とすることも可能である。
【００３９】
まず、Ｓ１０１で、プレビュー制御モジュール２０３は、モノクロ印刷設定がＯＮかどうかの判定を行い、ＯＮであればＳ１０３へ移り、ＯＦＦであればＳ１０７へ移る。Ｓ１０３では、プレビュー制御モジュール２０３は、ピクセルデータ処理１（５０９）をベース表示コントロール５０３に割り当て、Ｓ１０５へ移る。Ｓ１０５では、プレビュー制御モジュール２０３は、ピクセルデータ処理２（５１３）をピクセルデータ処理用表示コントロール５０５に割り当てる。
【００４０】
Ｓ１０７はモノクロ印刷設定がＯＦＦの場合の処理である。本実施例ではモノクロ印刷設定がＯＮの場合のみ印刷設定変更領域３１３の設定が可能であるとしている。すなわち、モノクロ印刷設定がＯＦＦの場合は印刷設定変更領域３１３の設定ができず、変更がない。このため、プレビュー制御モジュール２０３は、Ｓ１０７ではベース表示コントロール５０３、及びピクセルデータ処理用表示コントロール５０５にそれぞれ割り当てられたピクセルデータ処理を解除する。尚、本実施例ではモノクロ印刷設定がＯＦＦの場合は変換処理を行わないと仮定しているため、ピクセルデータ処理を解除しているが、モノクロ印刷設定がＯＦＦの場合に別の変換処理を行う場合は別のピクセルデータ処理を割り当てる。また、同じピクセルデータ処理で設定値を変更することによりモノクロ印刷設定がＯＦＦの場合の変換処理にも対応できる場合、割り当てを変更する必要がないことは言うまでもない。表示の更新時には、Ｓ１０１からＳ１０７において設定されたピクセルデータ処理を実行して、プレビュー表示領域３０７に表示される内容が変換される。
【００４１】
以上の構成により、命令数の多い変換処理を表示に反映することが可能となる。
【００４２】
＜実施例２＞
実施例１によって、命令数の多い変換処理を、複数のピクセルデータ処理を用いることにより処理時間、精度の問題なく実現することが可能となる。しかし、本手法を用いた場合、割り当てられたレイヤーが重ね合わせられる度にピクセルデータ処理が行われることとなり、処理に時間がかかるという問題がある。そこで本実施例では、変更された設定項目に応じて、表示コントロールに対するピクセルデータ処理の割り当てと解除を行うことで、処理時間の短縮を図る。
【００４３】
図８は、設定項目に応じてピクセルデータ処理の割り当てを切り替えた場合の、ピクセルデータ生成処理の一例を示す図である。ピクセルデータ処理はそれぞれ印刷設定領域３１３で設定可能な１つ以上の設定項目に対応した表示内容について変換処理を行う。従って、該当する設定項目に対して変更が発生していないピクセルデータ処理は実行する必要がない。そこで、プレビュー制御モジュール２０３は、ピクセルデータ処理が実行される前に、各設定項目の現在の値を確認し、各ピクセルデータ処理に対応した全ての項目について規定値であるデフォルト値から変更されているかを確認する。
【００４４】
プレビュー制御モジュール２０３は、対応した設定項目が１つも変更されていないピクセルデータ処理は、表示コントロールに対する割り当てを解除する。これにより、設定に応じて必要な、解除されていないピクセルデータ処理のみを行うことが可能となる。ただし、モノクロ印刷場合のモノクロ変換は、色調のみが変換されたときにも行う必要がある。このため、モノクロ変換をピクセルデータ処理１にのみ含めると、他の設定項目に変更がなされていないからといって、ピクセルデータ処理１を解除されてしまい、モノクロ変換が実行されなくなってしまう。これを避けるために、ピクセルデータ処理１を必ず割り当てたのでは、本実施例の意味がなくなる。そこで、共通処理であるモノクロ変換については、ピクセルデータ処理１、及びピクセルデータ処理２の双方に備える。つまり、ピクセルデータ処理１ではモノクロ変換と、明るさ、濃度、コントラストに対応した変換が可能であり、ピクセルデータ処理２ではモノクロ変換と色調に対応した変換が可能となる。これにより、色調のみが変更された場合において、ピクセルデータ処理２のみによって必要な変換処理が可能となる。
【００４５】
図８は印刷設定変更領域３１３において、明るさ、濃度、コントラストのいずれかが変更され、色調が変更されなかい場合の処理を示す図である。明るさ、濃度、コントラストの設定が変更されているので、プレビュー制御モジュール２０３は、ピクセルデータ処理１をベース表示コントロール５０３に割り当てる。また、色調の設定が変更されていないため、プレビュー制御モジュール２０３は、ピクセルデータ処理２をピクセルデータ処理用表示コントロール５０７から解除する。
【００４６】
表示更新時には、ＯＳは、まずドキュメント表示コントロール５０１と、ベース表示コントロール５０３とを重ね合わせたピクセルデータ５０７を生成する。ピクセルデータ処理１はベース表示コントロール５０３に割り当てられているので、上位レイヤーを含むピクセルデータ５０７に対して、モノクロ変換、及び明るさ、濃度、コントラスの設定値に応じた変換処理が行われる。次に、ＯＳは、ピクセルデータ５０７にピクセルデータ処理１を適用した結果と、ピクセルデータ処理用表示コントロール５０７とを重ね合わせてピクセルデータ５１１を生成する。ピクセルデータ処理用表示コントロールのピクセルデータ処理２は割り当てが解除されているので、ピクセルデータ５１１がそのまま実際の表示内容であるピクセルデータ５１５となり、プレビュー表示領域３０７に表示される。
【００４７】
図９は印刷設定変更領域３１３において、明るさ、濃度、コントラストがいずれも変更されておらず、色調が変更されている場合の処理を示す図である。明るさ、濃度、コントラストの設定が変更されていないので、プレビュー制御モジュール２０３は、ピクセルデータ処理１をベース表示コントロール５０３から解除する。また、色調の設定が変更されているため、プレビュー制御モジュール２０３は、ピクセルデータ処理２をピクセルデータ処理用表示コントロール５０７に割り当てる。
【００４８】
表示更新時には、ＯＳは、まずドキュメント表示コントロール５０１と、ベース表示コントロール５０３とを重ね合わせたピクセルデータ５０７を生成する。ベース表示コントロール５０３のピクセルデータ処理１は割り当てが解除されているので、ＯＳは、そのままピクセルデータ５０７とピクセルデータ処理用表示コントロール５０５とを重ね合わせてピクセルデータ５１１を生成する。ピクセルデータ５１１の内容はピクセルデータ５０７と同じである。ピクセルデータ処理用表示コントロールのピクセルデータ処理２が割り当てられているため、ＯＳは、ピクセルデータ５１１に対してモノクロ変換、及び色調の設定値に応じた処理を行い、ピクセルデータ５１５を生成してプレビュー表示領域３０７に表示する。
【００４９】
明るさ、濃度、コントラストのいずれかが変更され、色調も変更されている場合は図６に示すように、プレビュー制御モジュールは、ピクセルデータ処理１、及びピクセルデータ処理２を対応した表示コントロールに割り当てる。
【００５０】
図１０は、設定項目に応じてプレビュー制御モジュール２０３がピクセルデータ処理の割り当てを変更する処理を示すフローチャートの一例である。まず、Ｓ２０１で、プレビュー制御モジュール２０３は、モノクロ印刷設定がＯＮかどうかの判定を行い、ＯＮであればＳ２０３へ移り、ＯＦＦであればＳ２１７へ移る。Ｓ２０３からＳ２０９ではピクセルデータ処理１（５０９）の割り当て、もしくは解除が行われる。Ｓ２０３では、プレビュー制御モジュール２０３は、ピクセルデータ処理１（５０９）に対応した設定項目である、明るさ、濃度、コントラストのいずれかが変更されているかを判定する。どれか１つでも変更されている場合は、Ｓ２０９へ移り、１つも変更されていない場合はＳ２０５へ移る。
【００５１】
Ｓ２０５では、プレビュー制御モジュール２０３は、色調設定が変更されているかを判定し、変更されている場合はＳ２０７移り、変更されていない場合はＳ２０９へ移る。Ｓ２０７では明るさ、濃度、コントラストが変更されておらず、色調が変更されていることから、ピクセルデータ処理１（５０９）を実行する必要がない。このため、プレビュー制御モジュール２０３は、ベース表示コントロール５０３への割り当てを解除し、Ｓ２１１へ移る。Ｓ２０９では、明るさ、濃度、コントラストのいずれかが変更されているか、もしくは明るさ、濃度、コントラスト、色調が１つも変更されていない。このため、プレビュー制御モジュール２０３は、ベース表示コントロール５０３にピクセルデータ処理１（５０９）の割り当てを行い、Ｓ２１１へ移る。設定が１つも変更されていない場合にピクセルデータ処理１（５０９）の割り当てを行うのは、モノクロ変換を行うためであるが、これについてはピクセルデータ処理２（５１３）で行うことも可能である。
【００５２】
Ｓ２１１からＳ２１５ではピクセルデータ処理２（５１３）の割り当て、もしくは解除が行われる。Ｓ２１１では、プレビュー制御モジュール２０３は、色調設定が変更されているかを判定し、変更されている場合はＳ２１３に移り、変更されていない場合はＳ２１５へ移る。Ｓ２１３では、色調が変更されているので、プレビュー制御モジュール２０３は、ピクセルデータ処理用表示コントロール５０５にピクセルデータ処理２（５１３）を割り当てる。Ｓ２１５では、色調が変更されていないので、プレビュー制御モジュール２０３は、ピクセルデータ処理用表示コントロール５０５からピクセルデータ処理２（５１３）を解除する。
【００５３】
Ｓ２１７はモノクロ印刷設定がＯＦＦの場合の処理である。本実施例ではモノクロ印刷設定がＯＮの場合のみ印刷設定変更領域３１３の設定が可能であるとしている。このため、プレビュー制御モジュール２０３は、Ｓ２１７ではベース表示コントロール５０３、及びピクセルデータ処理用表示コントロール５０５にそれぞれ割り当てられたピクセルデータ処理を解除する。表示の更新時には、Ｓ２０１からＳ２１７において設定されたピクセルデータ処理を実行して、プレビュー表示領域３０７に表示される内容が変換される。以上の構成により、不要なピクセルデータ処理を実行することがなくなり、処理時間の短縮を図ることができる。
【００５４】
実施例１ではプリンタドライバの印刷プレビュー機能について説明したが、本実施例は設定に応じて動的に表示内容の変換が行われるアプリケーション全般に適用が可能であり、その範囲はプリンタドライバの印刷プレビュー機能に限定されるものではない。実施例２についても同様である。
【００５５】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014013437.tif 000003
【図２】
2014013437.tif 000004
【図７】
2014013437.tif 000005
【図１０】
2014013437.tif 000006
【図３】
2014013437.tif 000007
【図４】
2014013437.tif 000008
【図５】
2014013437.tif 000009
【図６】
2014013437.tif 000010
【図８】
2014013437.tif 000011
【図９】
2014013437.tif 000012