(57)【要約】【課題】異常終了を誘発する設定値を起動時に読み込まないようにして、起動時の異常終了を回避することができる画像処理装置を提供する。【解決手段】この画像処理装置は、予め記憶領域に保存された、画像データに対する処理が異常終了したか否かのフラグを取得し、該取得したフラグから、前回の画像データの処理の終了時に該処理が正常に終了したか異常に終了したかを判定する。そして、起動する際に、前記判定結果が異常終了である場合に、予め記憶領域に保存された、画像データに対する処理の設定パラメータを変更する。【選択図】図６
2008199280.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対する処理のパラメータを設定するパラメータ設定手段と、
該パラメータ設定手段により設定されたパラメータを保存するパラメータ保存手段と、
前記パラメータ保存手段により保存されたパラメータに基づいて行われた画像データに対する処理が異常終了したか否かのフラグを保存するフラグ保存手段と、
該フラグ保存手段により保存されたフラグを取得するフラグ取得手段と、
該フラグ取得手段により取得したフラグから、前回の画像データの処理の終了時に該処理が正常に終了したか異常に終了したかを判定する異常終了判定手段と、
起動する際に、前記異常終了判定手段による判定結果が異常終了と判定された場合に、前記パラメータ保存手段により保存したパラメータを変更する起動時パラメータ変更手段と、備えることを特徴とする画像処理装置。
【請求項２】
前記起動時パラメータ変更手段は、パラメータを予め定められた値に変更する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記起動時パラメータ変更手段は、パラメータをユーザが設定した値に変更する、ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記フラグ保存手段は、起動する際に、「異常終了した」としてフラグを保存する、ことを特徴とする請求項１〜３のいずれか一項に記載の画像処理装置。
【請求項５】
前記起動時パラメータ変更手段がパラメータを変更する前に警告を表示する、ことを特徴とする請求項１〜４のいずれか一項に記載の画像処理装置。
【請求項６】
異常終了する原因となるパラメータの組み合わせとして保存される異常終了パラメータ情報リストを有し、
前記パラメータ設定手段で設定されたパラメータのうち、前記異常終了パラメータリストの情報と一致するものがある場合に、警告を表示する、ことを特徴とする請求項１〜４のいずれか一項に記載の画像処理装置。
【請求項７】
画像データに対する処理のパラメータを設定するパラメータ設定ステップと、
該パラメータ設定ステップにより設定されたパラメータを保存するパラメータ保存ステップと、
前記パラメータ保存手段により保存されたパラメータに基づいて行われた画像データに対する処理が異常終了したか否かのフラグを保存するフラグ保存ステップと、
該フラグ保存ステップにより保存されたフラグを取得するフラグ取得ステップと、
該フラグ取得ステップにより取得したフラグから、前回の画像データの処理の終了時に該処理が正常に終了したか異常に終了したかを判定する異常終了判定ステップと、
起動する際に、前記異常終了判定ステップによる判定結果が異常終了と判定された場合に、前記パラメータ保存ステップにより保存したパラメータを変更する起動時パラメータ変更ステップと、備えることを特徴とする画像処理方法。
【請求項８】
画像データに対する処理のパラメータを設定するパラメータ設定モジュールと、
該パラメータ設定モジュールにより設定されたパラメータを保存するパラメータ保存モジュールと、
前記パラメータ保存手段により保存されたパラメータに基づいて行われた画像データに対する処理が異常終了したか否かのフラグを保存するフラグ保存モジュールと、
該フラグ保存モジュールにより保存されたフラグを取得するフラグ取得モジュールと、
該フラグ取得モジュールにより取得したフラグから、前回の画像データの処理の終了時に該処理が正常に終了したか異常に終了したかを判定する異常終了判定モジュールと、
起動する際に、前記異常終了判定モジュールによる判定結果が異常終了と判定された場合に、前記パラメータ保存モジュールにより保存したパラメータを変更する起動時パラメータ変更モジュールと、をコンピュータに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像処理プログラムに関し、特にデジタルカメラにより撮影して得られたデジタル画像データを処理する画像処理装置、画像処理方法、およびプ画像処理ログラムに関する。
【背景技術】
【０００２】
デジタルカメラで撮影した画像は、パーソナルコンピュータ等に搭載される画像処理アプリケーションを使用して閲覧・編集することができる。一般に、画像の画素数が多いと、画像処理や表示に多くの時間を要し、そのためにアプリケーションの使い勝手が悪くなることがある。アプリケーションはこれを防ぐために、様々な工夫をしている。
【０００３】
画像処理アプリケーションには、表示方法や画像処理に関わる複数の設定項目が用意されているものも多い。各設定値は随時保存され、アプリケーションを次に起動する際、前回終了時の設定を自動的に反映する。
【０００４】
図２は、設定値が変更された際のアプリケーションの動作例を示したものである。
【０００５】
図２（ａ）に示す動作では、ユーザにより設定値が変更されると、まず、変更された設定値を用いて画像処理を行う。画像処理が終了した後、変更された設定値を保存し、処理後の画像をＧＵＩで表示する。図２（ａ）に示す動作では、ユーザはアプリケーションが画像処理を終えるまで操作が出来なくなる。特に画像の画素数が多い場合、ユーザを長時間待たせることになり、ユーザレスポンスが低下してしまう。
【０００６】
これを防ぐために、複数の処理を並列で処理する方法が知られている。図２（ｂ）に示す動作では、アプリケーションがメインスレッドとサブスレッドの２つのスレッドを使用する。メインスレッドでは、ＧＵＩへの画像表示や、ユーザの操作に対するレスポンス処理を行う。サブスレッドでは、画像処理を行う。
【０００７】
メインスレッドにおいて、ユーザにより設定値が変更されると、まず、変更された設定値を保存する。次に、サブスレッドにおいて、保存された設定値を参照し、設定値を用いて画像に処理を施す。その間、メインスレッドでは、ＧＵＩへ処理前の画像を表示し、ユーザによる操作を受け付ける。
【０００８】
サブスレッドにおいて、画像処理が終了すると、処理後の画像をＧＵＩへ表示する。このような動作にすることで、画像処理を行っている間にもユーザは操作が可能となり、ユーザレスポンスが向上する。
【０００９】
上記のような画像処理アプリケーションにおいて、設定値を用いて画像に処理を施す際、アプリケーションが予期しない動作を起こし、不正に終了してしまう場合がある。これは、プロファイルを読み込む場合など、外部で自由に作成され得るファイルを読み込んで使用する場合に、特に起こりうる。
【００１０】
アプリケーションが不正終了してしまうと、ユーザがこれまでに設定した値は失われてしまう。そのため、次に起動した際、前回と同様の画像を得るために、ユーザは設定値を最初から入力し直さなければならず、大変な手間となる。これを改善するためには、ユーザにより設定値が変更される度に、変更された設定値を保存し、その後で画像処理を行うようにすれば良い。
【００１１】
しかし、前述したように、一般に画像処理アプリケーションでは、起動する際、保存された設定値を読み込み、前回終了時の状態を再現しようとする。また、アプリケーションの動作を高速化するために、起動時には必要の無い情報であっても、ＩＣＣプロファイル等、アプリケーションが使う可能性のある情報を起動時に取得しておくこともある。
【００１２】
画像処理が終わる前に設定値が保存されると、アプリケーションが不正終了した場合、不正終了する原因となった設定値が保存されることになる。次回起動時には、その設定値を使用し、起動中にアプリケーションが不正終了してしまう。
【００１３】
この状態を回避するためには、ユーザが自らアプリケーションを再インストールしたり、保存されている設定項目を書き換えたりしなければならず、ユーザに大変な手間がかかる。また、設定値がＷｉｎｄｏｗｓ（登録商標）のレジストリに保存されている場合など、ユーザが誤った項目を削除してしまう可能性がある。
【００１４】
一方、デジタルカメラ等のレンズユニットが異常終了したかどうかをフラグで管理し、異常終了していれば、次回起動時にレンズを初期位置に戻すようにした技術が提案されている（特許文献１）。
【特許文献１】特開２００６−０５８８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかし、上記特許文献１では、起動時に状態を必ず初期状態に戻すことになるため、ユーザが前回設定した値を失いたくない場合や、自ら異常状態を回避する対策をとった場合等にも、設定値が初期化されることになる。
【００１６】
そこで、本発明は、異常終了を誘発する設定値を起動時に読み込まないようにして、起動時の異常終了を回避することができる画像処理装置、画像処理方法、および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明の画像処理装置は、画像データに対する処理のパラメータを設定するパラメータ設定手段と、該パラメータ設定手段により設定されたパラメータを保存するパラメータ保存手段と、前記パラメータ保存手段により保存されたパラメータに基づいて行われた画像データに対する処理が異常終了したか否かのフラグを保存するフラグ保存手段と、該フラグ保存手段により保存されたフラグを取得するフラグ取得手段と、該フラグ取得手段により取得したフラグから、前回の画像データの処理の終了時に該処理が正常に終了したか異常に終了したかを判定する異常終了判定手段と、起動する際に、前記異常終了判定手段による判定結果が異常終了と判定された場合に、前記パラメータ保存手段により保存したパラメータを変更する起動時パラメータ変更手段と、備えることを特徴とする。
【００１８】
本発明の画像処理方法は、画像データに対する処理のパラメータを設定するパラメータ設定ステップと、該パラメータ設定ステップにより設定されたパラメータを保存するパラメータ保存ステップと、前記パラメータ保存手段により保存されたパラメータに基づいて行われた画像データに対する処理が異常終了したか否かのフラグを保存するフラグ保存ステップと、該フラグ保存ステップにより保存されたフラグを取得するフラグ取得ステップと、該フラグ取得ステップにより取得したフラグから、前回の画像データの処理の終了時に該処理が正常に終了したか異常に終了したかを判定する異常終了判定ステップと、起動する際に、前記異常終了判定ステップによる判定結果が異常終了と判定された場合に、前記パラメータ保存ステップにより保存したパラメータを変更する起動時パラメータ変更ステップと、備えることを特徴とする。
【００１９】
本発明の画像処理プログラムは、画像データに対する処理のパラメータを設定するパラメータ設定モジュールと、該パラメータ設定モジュールにより設定されたパラメータを保存するパラメータ保存モジュールと、前記パラメータ保存手段により保存されたパラメータに基づいて行われた画像データに対する処理が異常終了したか否かのフラグを保存するフラグ保存モジュールと、該フラグ保存モジュールにより保存されたフラグを取得するフラグ取得モジュールと、該フラグ取得モジュールにより取得したフラグから、前回の画像データの処理の終了時に該処理が正常に終了したか異常に終了したかを判定する異常終了判定モジュールと、起動する際に、前記異常終了判定モジュールによる判定結果が異常終了と判定された場合に、前記パラメータ保存モジュールにより保存したパラメータを変更する起動時パラメータ変更モジュールと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、装置が前回に、保存されている設定値に基づいて行われたデータ処理を異常終了したかどうかを、起動時に知ることができ、前回に異常終了していれば、保存されている設定値を変更する。これにより、装置は異常終了を誘発する設定値を起動時に読み込まないようにすることができ、起動時の異常終了を回避することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図を参照して説明する。
【００２２】
（第１の実施形態）
図１は、本発明の第１の実施形態である画像処理装置の装置構成を説明するためのブロック図である。
【００２３】
図１に示すように、画像処理装置は、ＣＰＵ１０１を備える。ＣＰＵ１０１は、装置全体の動作をコントロールし、一次記憶装置１０２に格納されたプログラムの実行などを行う。
【００２４】
一次記憶装置１０２は、主にメモリであり、二次記憶装置１０３に記憶されたプログラムなどを読み込んで格納する。二次記憶装置１０３は、例えばハードディスクなどであり、一般に一次記憶装置１０２の容量より大きく、一次記憶装置１０２に格納しきれないプログラムやデータなどが格納される。また、長時間記憶しなくてはならないデータなども二次記憶装置１０３に格納される。
【００２５】
本実施形態では、処理手順を実現するプログラムを二次記憶装置１０３に格納し、プログラム実行時に一次記憶装置１０２に読み込んで、ＣＰＵ１０１が実行する。
【００２６】
入力デバイス１０４は、例えば、マウスやキーボードなどであり、プログラムなどに割り込み信号を送ったりするために用いられる。出力デバイス１０５は、例えば、モニタやプリンタなどである。読込デバイス１０６は、デジタルカメラ等に撮像装置で撮像された画像を直接又は間接的に一次記憶装置１０２や二次記憶装置１０３へ読み込むデバイスである。
【００２７】
図３は、本実施形態の画像処理装置で使用されるアプリケーションのＧＵＩの概要を示す図である。
【００２８】
図３において、画像表示部３０１には、処理対象の画像を表示する。画像は、オペレーティングシステムのファイル管理システム上から、画像表示部３０１にファイルをドラッグアンドドロップすることによって指定される。
【００２９】
パラメータ設定部３０２では、画像処理の種類とパラメータを設定する。本実施形態におけるアプリケーションでは、色変換プロファイルの選択と、画像処理Ａ、画像処理Ｂ、画像処理Ｃを適用するかどうかを設定することができる。色変換プロファイルは、予め保存されているファイルの中からプルダウンメニューにより選択する。
【００３０】
適用ボタン３０３を押下すると、パラメータ設定部３０２で設定されたパラメータに従い、画像に処理を施し、処理後の画像を画像表示部３０１に表示する。終了ボタン３０５を押下すると、アプリケーションの動作を終了する。
【００３１】
本実施形態では、アプリケーションで用いるパラメータの種類と値の対応表（以下、設定値リスト）が二次記憶装置１０３に保存される。
【００３２】
保存される値は、例えば、アプリケーションウィンドウの位置や大きさ、アプリケーション起動時に表示する画像、各種画像処理パラメータである。
【００３３】
画像表示部３０１に画像ファイルがドロップされる度に、設定値リストに画像ファイルのパスを保存する。パラメータ設定部３０２でパラメータが変更される度に、設定値リストの内容を変更する。図５に、設定値リストの一例を示す。
【００３４】
図４は、本実施形態の画像処理装置におけるアプリケーションの動作例を説明するためのフローチャート図である。ここで、図４での各処理は、二次記憶装置１０３に格納された処理プログラムを一次記憶装置１０２に読み込んで、ＣＰＵ１０１が実行する。
【００３５】
まず、ステップＳ４０１では、画像処理装置におけるアプリケーションの起動時の処理を行う。起動時の処理の詳細については、図６を用いて後述する。
【００３６】
ステップＳ４０２では、不正終了フラグｂＣＲＡＳＨＥＤをＴＲＵＥにし、設定値リストに保存する。
【００３７】
ステップＳ４０３では、図３に示すＧＵＩを介してユーザが操作を行い、この操作に応じてアプリケーションが処理を行う。アプリケーション処理の詳細については、図７を用いて後述する。
【００３８】
ステップＳ４０４では、ステップＳ４０３でのアプリケーション処理が正常に終了したので、不正終了フラグｂＣＲＡＳＨＥＤをＦＡＬＳＥにし、設定値リストに保存する。
【００３９】
図６は、図４のステップＳ４０１のアプリケーション起動時処理を説明するためのフローチャート図である。
【００４０】
まず、ステップＳ６０１では、設定値リストから、不正終了フラグｂＣＲＡＳＨＥＤを取得する。
【００４１】
ステップＳ６０２では、ｂＣＲＡＳＨＥＤの値を調べ、アプリケーションが前回正常に終了したかどうかを判定する。ｂＣＲＡＳＨＥＤ＝ＴＲＵＥであれば、アプリケーションは前回異常に終了したものと判定し、ステップＳ６０３へ進む。ｂＣＲＡＳＨＥＤ＝ＦＡＬＳＥであれば、アプリケーションは前回正常に終了したものと判定し、ステップＳ６０７へ進む。
【００４２】
ステップＳ６０３では、ユーザに対して保存されている設定値を初期化する旨を通知するダイアログボックス（図８）を画像表示部３０１に表示し、ステップＳ６０４で、図８に示すダイアログボックスにおいて、ユーザが操作を行う。
【００４３】
ステップＳ６０５では、ステップＳ６０４において、ユーザが設定値リストの値の初期化を指示したかどうかを判定する。図８のＯＫボタン８０１が押下されていれば、ステップＳ６０６へ進み、図８の無視ボタン８０２が押下されていれば、ステップＳ６０７へ進む。
【００４４】
ステップＳ６０６では、設定値リストの値を初期化する。なお、本実施形態では、設定値リスト内の全ての項目の値を初期化するが、特定の項目のみ初期化を行うようにしてもよい。
【００４５】
次に、ステップＳ６０７では、設定値リストの値を取得し、ステップＳ６０８で、ステップＳ６０７で取得した設定値を用いて、アプリケーションに反映する。また、同様に取得した画像処理パラメータを用いて、画像に対して処理を行い、画像表示部３０１に表示する。
【００４６】
本実施形態の画像処理装置では、起動時に画像表示部３０１に画像が表示されるため、色変換プロファイル情報等、画像処理に必要な情報を起動時に取得する。起動時に画像が表示されない画像処理装置の場合は、処理の高速化のために、画像処理に必要な情報を起動時に取得する。
【００４７】
図７は、図４のステップＳ４０３のアプリケーション処理を説明するためのフローチャート図である。
【００４８】
まず、ステップＳ７０１では、図３に示すＧＵＩを介してユーザが操作を行い、ステップＳ７０２で、ステップＳ７０１において、図３の終了ボタン３０５が押下されたかどうかを判定する。
【００４９】
ステップＳ３０５で、終了ボタン３０５が押下されていれば、アプリケーション処理は正常終了し、終了ボタン３０５が押下されていなければ、ステップＳ７０３へ進む。
【００５０】
ステップＳ７０３では、ステップＳ７０１において、図３のパラメータ設定部３０２の設定値が変更されたかどうかを判定する。変更されていると判定した場合は、ステップＳ７０４へ進み、変更されていないと判定した場合は、ステップＳ７０５へ進む。
【００５１】
ステップＳ７０４では、変更されたパラメータの値を、設定値リストへ保存する。その後、ステップＳ７０１へ戻り、ユーザ操作を待つ。
【００５２】
ステップＳ７０５では、ステップＳ７０１において、適用ボタン３０３が押下されたかどうかを判定する。
【００５３】
ステップＳ７０５で、適用ボタン３０３が押下されたと判定した場合は、ステップＳ７０６へ進み、それ以外であれば、ステップＳ７０１へ戻り、ユーザ操作を待つ。
【００５４】
ステップＳ７０６では、サブスレッドにおいて、画像処理を開始する。サブスレッドでは、ステップＳ７０７〜ステップＳ７０９の処理が実行される。その後、ステップＳ７０１へ戻り、ユーザ操作を待つ。
【００５５】
ステップＳ７０７では、設定値リストに保存されている画像処理パラメータを取得する。ステップＳ７０８では、ステップＳ７０７で取得した画像処理パラメータに基づき、画像に処理を施す。
【００５６】
例えば、色変換プロファイルについては、パラメータが示すパスのファイルを開き、中に書かれている色変換マトリクスを取得し、画像に適用する。色変換マトリクスを画像に適用する手順に付いては、図１３を用いて後述する。
【００５７】
このステップにおいて、メモリエラーやバスエラー等が起こり、アプリケーション処理を続行することができなくなる場合がある。このような状態に陥り、アプリケーションが強制終了することを、「異常終了」と呼ぶ。
【００５８】
ステップＳ７０９では、処理後の画像を画像表示部３０１へ表示する。その後、処理を終了し、サブスレッドの動作を止める。
【００５９】
次に、図１３を参照して、Ｗピクセル×Ｈピクセルの大きさの画像に対して、色変換マトリクスＭを適用する際の手順について説明する。ここで、色変換マトリクスとは、３×３のマトリクスであり、任意の画素のＲ，Ｇ，Ｂ値で構成される色配列Ｃ（ｒ，ｇ，ｂ）に対して掛け合わせることで、色配列Ｃ′（ｒ′，ｇ′，ｂ′）に変換することができる。なお、本実施形態においては、ｒ，ｇ，ｂはいずれも０〜２５５の間の値とする。
【００６０】
色変換マトリクスＭが次式（１）であるとすると、色配列ＣからＣ′への変換は次式（２）で表される。
【００６１】
【数１】
2008199280.tif 000003
【００６２】
【数２】
2008199280.tif 000004
【００６３】
上記式（２）は次式（３）となり、ｒ′，ｇ′，ｂ′はそれぞれ、次式（４）〜（６）で算出される。
【００６４】
【数３】
2008199280.tif 000005
【００６５】
【数４】
2008199280.tif 000006
【００６６】
【数５】
2008199280.tif 000007
【００６７】
【数６】
2008199280.tif 000008
【００６８】
まず、Ｗピクセル×Ｈピクセルの領域を、一次記憶装置１０２に確保し、画像データをコピーする。この領域は画素の２次元配列としてアクセスでき、左上を起点として水平方向にｉ番目、垂直方向にｊ番目の画素をｐ(i,j)とする。また、画素ｐ(i,j)の元の色配列をＣ(i,j)｛ｒ(i,j)，ｇ(i,j)，ｂ(i,j)｝、変換後の色配列をＣ′(i,j)｛ｒ′(i,j)，ｇ′(i,j)，ｂ′(i,j)｝とする。
【００６９】
そして、図１３において、ステップＳ１３０１で変数ｊに１を代入し、ステップＳ１３０２で変数ｉに１を代入する。
【００７０】
ステップＳ１３０３で、色変換マトリクスＭを用いて、画素ｐ(i,j)の色配列Ｃ(i,j)｛ｒ(i,j)，ｇ(i,j)，ｂ(i,j)｝をＣ′(i,j)｛ｒ′(i,j)，ｇ′(i,j)，ｂ′(i,j)｝に変換する。変換は、上記式（１）〜式（６）を用いて前述した方法で行う。
【００７１】
ステップＳ１３０４で、ｒ′(i,j)が０〜２５５の間の値であるかどうかを判断する。０≦ｒ′(i,j)≦２５５である場合は、ステップＳ１３０６へ進む。０＞ｒ′(i,j)またはｒ′(i,j)＞２５５である場合は、ステップＳ１３０５へ進む。
【００７２】
ステップＳ１３０５では、ｒ′(i,j)を０〜２５５にクリッピングする。０＞ｒ′(i,j)である場合はｒ′(i,j)＝０とし、ｒ′(i,j)＞２５５である場合はｒ′(i,j)＝２５５とする。
【００７３】
ステップＳ１３０６では、ｇ′(i,j)が０〜２５５の間の値であるかどうかを判断する。０≦ｇ′(i,j)≦２５５である場合は、ステップＳ１３０８へ進む。０＞ｇ′(i,j)またはｇ′(i,j)＞２５５である場合は、ステップＳ１３０７へ進む。
【００７４】
ステップＳ１３０７では、ｇ′(i,j)を０〜２５５にクリッピングする。０＞ｇ′(i,j)である場合はｇ′(i,j)＝０とし、ｇ′(i,j)＞２５５である場合はｇ′(i,j)＝２５５とする。
【００７５】
ステップＳ１３０８では、ｂ′(i,j)が０〜２５５の間の値であるかどうかを判断する。０≦ｂ′(i,j)≦２５５である場合は、ステップＳ１３１０へ進む。０＞ｂ′(i,j)またはｂ′(i,j)＞２５５である場合は、ステップＳ１３０９へ進む。
【００７６】
ステップＳ１３０９では、ｂ′(i,j)を０〜２５５にクリッピングする。０＞ｂ′(i,j)である場合はｂ′(i,j)＝０とし、ｂ′(i,j)＞２５５である場合はｂ′(i,j)＝２５５とする。
【００７７】
ステップＳ１３１０では、変数ｉを値１だけインクリメントし、ステップＳ１３１１でｉとＷの比較を行う。ステップＳ１３１１で、ｉ＞ＷならステップＳ１３１２へ進み、そうでなければステップＳ１３０３へ進む。
【００７８】
ステップＳ１３１２では、変数ｊを値１だけインクリメントし、ステップＳ１３１３でｊとＨの比較を行う。ステップＳ１３１３でｊ＞Ｈなら処理を終了し、そうでなければ、ステップＳ１３０２へ戻る。以降、色変換マトリクスの適用をする場合には、上記の手順に従う。
【００７９】
以上説明したように、本実施形態では、画像処理装置のアプリケーションが前回の画像処理時に異常終了したかどうかを、起動時に知ることができ、前回にアプリケーションが異常終了していれば、保存されている設定値をユーザの判断により初期値に更新する。
【００８０】
これにより、画像処理装置のアプリケーションの異常終了を誘発する設定値をアプリケーションの起動時に読み込まないようにすることができ、起動時のアプリケーションの異常終了を回避することができる。
【００８１】
（第２の実施形態）
次に、本発明の第２の実施形態である画像処理装置について説明する。なお、本実施形態では、上記第１の実施形態と異なる部分を主に説明し、上記第１の実施形態に対して重複又は相当する部分については図および符号を流用する。
【００８２】
上記第１の実施形態では、アプリケーションが異常終了した場合、次回起動時に設定値リストの値を初期化することで、起動時にアプリケーションが異常終了することを回避している。
【００８３】
しかし、必ずしも設定値リストの値を初期化しなくてもよく、例えば、起動時にユーザに対して異常終了の原因となる設定値の組み合わせを提示し、変更を促すようにしてもよい。
【００８４】
本実施形態では、図１０に示す異常終了条件リストを作成し、アプリケーションが異常終了する度に、異常終了の原因となる設定値の組み合わせを、リストに追加していく。
【００８５】
異常終了条件リストと設定値リストとを比較することで、現在の設定でアプリケーションが異常終了するかどうかを、事前に知ることが可能となる。
【００８６】
また、蓄積される情報が十分多くなれば、アプリケーションが異常終了する原因となる設定値を特定することができるようになる。なお、異常終了条件リストは、一次記憶装置１０２に保存されるものとする。
【００８７】
図９を参照して、本実施形態における図４のステップ４０１の起動時処理の手順につい説明する。ここで、設定値リストＢＫは、前回起動時の設定値リストの値が格納されているリストであり、一次記憶装置１０２に保存されるものとする。
【００８８】
まず、ステップＳ９０１では、設定値リストから、不正終了フラグｂＣＲＡＳＨＥＤを取得する。
【００８９】
ステップＳ９０２では、ｂＣＲＡＳＨＥＤの値を調べ、アプリケーションが前回正常に終了したかどうかを判定する。ｂＣＲＡＳＨＥＤ＝ＴＲＵＥであれば、アプリケーションは前回異常に終了したものと判定し、ステップＳ９０３へ進む。ｂＣＲＡＳＨＥＤ＝ＦＡＬＳＥであれば、アプリケーションは前回正常に終了したものと判定し、ステップＳ９０４へ進む。
【００９０】
ステップＳ９０３では、設定値リストと設定値リストＢＫとの差分を取り、この差分を異常終了条件リストに追加する。これにより、前回、異常終了した際に変更された設定値の組み合わせが、異常終了条件リストに保存されることになる。
【００９１】
ステップＳ９０４では、設定値リストと異常終了条件リストとを比較する。設定値リストに異常終了条件リストに登録されている設定値の組み合わせがあれば、それらの設定値をアプリケーションに反映すると、アプリケーションが異常終了する可能性がある。
【００９２】
ステップＳ９０５では、ステップＳ９０４での比較結果から、設定値リストにアプリケーションの異常終了を誘発する値の組み合わせが存在するかどうかを判定する。異常終了を誘発する設定値の組み合わせがあれば、ステップＳ９０６へ進み、異常終了を誘発する設定値の組み合わせがなければ、ステップＳ９０９へ進む。
【００９３】
ステップＳ９０６では、図１１に示すダイアログボックスを画像表示部３０１に表示する。図１１では、例として、色変更プロファイルと、画像処理Ａ、画像処理Ｃの設定値の組み合わせにより、異常終了を誘発する恐れがある場合について示す。
【００９４】
ステップＳ９０７では、図１１に示すダイアログボックスにおいて、ユーザが操作を行う。ユーザは、異常終了を誘発する値が設定された設定項目について、値を変更し、変更が終了すれば、ＯＫボタンを押下する。
【００９５】
ステップＳ９０８では、ステップＳ９０７において、ユーザが変更した設定値を、設定値リストへ保存する。ステップＳ９０９では、設定値リストの値を取得し、ステップＳ９１０では、ステップＳ６０７で取得した設定値を用いて、アプリケーションに反映する。また、同様に取得した画像処理パラメータを用いて、画像に対して処理を行い、画像表示部３０１に表示する。ステップＳ９１１では、設定値リストＢＫに設定値リストの値をコピーする。
【００９６】
（第３の実施形態）
次に、本発明の第３の実施形態である画像処理装置について説明する。なお、本実施形態では、上記第１および第２の実施形態と異なる部分を主に説明し、上記第１および第２の実施形態に対して重複又は相当する部分については図および符号を流用する。
【００９７】
本実施形態では、上記第２の実施形態の動作に加えて、アプリケーション実行中、ユーザが設定した値が異常終了を誘発するものであれば、リアルタイムに警告を出すような画像処理装置について説明する。
【００９８】
図１２を参照して、本実施形態における図４のステップ４０３のアプリケーション処理について説明する。
【００９９】
まず、ステップＳ１２０１では、図３に示すＧＵＩを介してユーザが操作を行う。ステップＳ１２０２では、ステップＳ１２０１において、終了ボタン３０５が押下されたかどうかを判定する。
【０１００】
ステップＳ１２０２で、終了ボタン３０５が押下されていれば、アプリケーション処理は正常終了し、それ以外であれば、ステップＳ１２０３へ進む。
【０１０１】
ステップＳ１２０３では、ステップＳ１２０１において、パラメータ設定部３０２の設定値が変更されたかどうかを判定する。変更されていれば、ステップＳ１２０４へ進み、変更されていなければ、ステップＳ１２０５へ進む。
【０１０２】
ステップＳ１２０４では、変更されたパラメータの値を、設定値リストへ保存する。ステップＳ１２０５では、設定値リストと異常終了条件リストとを比較する。設定値リストに、異常終了条件リストに登録されている設定値の組み合わせがあれば、それらの設定値をアプリケーションに反映すると、アプリケーションが異常終了する可能性がある。
【０１０３】
ステップＳ１２０６では、ステップＳ１２０５での比較結果から、設定値リストにアプリケーションの異常終了を誘発する値の組み合わせが存在するかどうかを判定する。
【０１０４】
ステップＳ１２０６で、異常終了を誘発する設定値の組み合わせがあれば、ステップＳ１２０７へ進み、異常終了を誘発する設定値の組み合わせがなければ、ステップＳ１２０１へ戻り、ユーザ操作を待つ。
【０１０５】
ステップＳ１２０７では、図１１に示すダイアログボックスを画像表示部３０１に表示する。図１１では、例として、色変更プロファイルと、画像処理Ａ、画像処理Ｃの設定値の組み合わせにより、異常終了を誘発する恐れがある場合について示す。
【０１０６】
ステップＳ１２０８では、図１１に示すダイアログボックスにおいて、ユーザが操作を行う。ユーザは、異常終了を誘発する値が設定された設定項目について、値を変更し、変更が終了すれば、ＯＫボタンを押下する。
【０１０７】
ステップＳ１２０９では、ステップＳ１２０８において、ユーザが変更した設定値を、設定値リストへ保存する。
【０１０８】
ステップＳ１２１０〜Ｓ１２１４では、図７のステップＳ７０５〜Ｓ７０９で説明したものと同様の動作を行う。
【０１０９】
なお、本発明は、上記実施の形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【０１１０】
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
【０１１１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１２】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１１３】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１１４】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【０１１５】
【図１】本発明の第１の実施形態である画像処理装置の装置構成を説明するためのブロック図である。
【図２】設定値が変更された際のアプリケーションの従来の動作例を説明するためのブロック図である。
【図３】本実施形態の画像処理装置で使用されるアプリケーションのＧＵＩの概要を示す図である。
【図４】本実施形態の画像処理装置におけるアプリケーションの動作例を説明するためのフローチャート図である。
【図５】設定値リストの一例を示す図である。
【図６】図４のステップＳ４０１のアプリケーション起動時処理を説明するためのフローチャート図である。
【図７】図４のステップＳ４０３のアプリケーション処理を説明するためのフローチャート図である。
【図８】ユーザに対して保存されている設定値を初期化する旨を通知するダイアログボックスの表示例を示す図である。
【図９】本発明の第２の実施形態における図４のステップ４０１の起動時処理の手順につい説明するためのフローチャート図である。
【図１０】異常終了条件リストの一例を示す図である。
【図１１】設定値の変更を促すためのダイアログボックスの一例を示す図である。
【図１２】本発明の第３の実施形態における図４のステップ４０３のアプリケーション処理について説明するためのフローチャート図である。
【図１３】画像に色変換マトリクスを適用する際の処理を説明するためのフローチャート図である。
【符号の説明】
【０１１６】
１０１  ＣＰＵ
１０２  一次記憶装置
１０３  二次記憶装置
１０４  入力デバイス
１０５  出力デバイス
１０６  読込デバイス
３０１  画像表示部
３０２  パラメータ設定部
３０３  適用ボタン
３０５  終了ボタン
８０１  ＯＫボタン
８０２  無視ボタン
【図１】
2008199280.tif 000009
【図２】
2008199280.tif 000010
【図３】
2008199280.tif 000011
【図４】
2008199280.tif 000012
【図５】
2008199280.tif 000013
【図６】
2008199280.tif 000014
【図７】
2008199280.tif 000015
【図８】
2008199280.tif 000016
【図９】
2008199280.tif 000017
【図１０】
2008199280.tif 000018
【図１１】
2008199280.tif 000019
【図１２】
2008199280.tif 000020
【図１３】
2008199280.tif 000021