(57)【特許請求の範囲】
【請求項１】
１つの全体像の表示領域内に画像処理後の第１の画像および画像処理前の第２の画像を同時に表示させる方法であって、
（ａ）前記１つの全体像の表示領域の外周を取り囲むのに十分な大きさを有する全体のマスク領域を表すための全体のマスク領域情報を取得するステップと、
（ｂ）前記全体のマスク領域における前記第１の画像のマスク領域と前記第２の画像のマスク領域の分割形状を表すための分割形状情報を取得するステップと、
（ｃ）前記全体のマスク領域に前記分割形状情報を適用することにより、前記全体のマスク領域を前記分割形状に応じて前記第１の画像のマスク領域と前記第２の画像のマスク領域に分割するステップと、
（ｄ）ポインティング・デバイスのカーソルが、前記全体のマスク領域の外にある場合には、前記第１の画像が選択された状態にあることを示すように選択状態情報がセットされていることに応答して、
（ｄ１）前記第１の画像のマスク領域内に前記第１の画像の選択枠を描画し、
（ｄ２）前記第１の画像のマスク領域内に、前記第１の画像の選択枠の表示領域が残るように前記第１の画像の一部分を出力し、
（ｄ３）前記第２の画像のマスク領域内に、前記第１の画像の非出力部分に対応する前記第２の画像の一部分を出力するステップと、
を含む表示方法。
【請求項２】
１つの全体像の表示領域内に画像処理後の第１の画像および画像処理前の第２の画像を同時に表示させる方法であって、
（ａ）前記１つの全体像の表示領域の外周を取り囲むのに十分な大きさを有する全体のマスク領域を表すための全体のマスク領域情報を取得するステップと、
（ｂ）前記全体のマスク領域における前記第１の画像のマスク領域と前記第２の画像のマスク領域の分割形状を表すための分割形状情報を取得するステップと、
（ｃ）前記全体のマスク領域に前記分割形状情報を適用することにより、前記全体のマスク領域を前記分割形状に応じて前記第１の画像のマスク領域と前記第２の画像のマスク領域に分割するステップと、
（ｄ）ポインティング・デバイスのカーソルが、前記全体のマスク領域の外にある場合には、前記第２の画像が選択された状態にあることを示すように選択状態情報がセットされていることに応答して、
（ｄ１）前記第２の画像のマスク領域内に前記第２の画像の選択枠を描画し、
（ｄ２）前記第２の画像のマスク領域内に、前記第２の画像の選択枠の表示領域が残るように前記第２の画像の一部分を出力し、
（ｄ３）前記第１の画像のマスク領域内に、前記第２の画像の非出力部分に対応する前記第１の画像の一部分を出力するステップと、
を含む表示方法。
【請求項３】
（ｅ）前記ステップ（ｄ）の後に、前記カーソルが、前記第１の画像のマスク領域内または前記第２の画像のマスク領域内に位置付けされたことに応答して、前記１つの全体像の表示領域内に前記第１の画像または前記第２の画像の全体像を表示するステップをさらに含む、請求項１または請求項２記載の表示方法。
【請求項４】
１つの全体像の表示領域内に画像処理後の第１の画像および画像処理前の第２の画像を同時に表示させるコンピュータ・システムであって、
（ａ）前記１つの全体像の表示領域の外周を取り囲むのに十分な大きさを有する全体のマスク領域を表すための全体のマスク領域情報を取得する手段と、
（ｂ）前記全体のマスク領域における前記第１の画像のマスク領域と前記第２の画像のマスク領域の分割形状を表すための分割形状情報を取得する手段と、
（ｃ）前記全体のマスク領域に前記分割形状情報を適用することにより、前記全体のマスク領域を前記分割形状に応じて前記第１の画像のマスク領域と前記第２の画像のマスク領域に分割する手段と、
（ｄ）ポインティング・デバイスのカーソルが、前記全体のマスク領域の外にある場合には、前記第１の画像が選択された状態にあることを示すように選択状態情報がセットされていることに応答して、
（ｄ１）前記第１の画像のマスク領域内に前記第１の画像の選択枠を描画し、
（ｄ２）前記第１の画像のマスク領域内に、前記第１の画像の選択枠の表示領域が残るように前記第１の画像の一部分を出力し、
（ｄ３）前記第２の画像のマスク領域内に、前記第１の画像の非出力部分に対応する前記第２の画像の一部分を出力する手段と、
を含む表示コンピュータ・システム。
【請求項５】
１つの全体像の表示領域内に画像処理後の第１の画像および画像処理前の第２の画像を同時に表示させるコンピュータ・システムであって、
（ａ）前記１つの全体像の表示領域の外周を取り囲むのに十分な大きさを有する全体のマスク領域を表すための全体のマスク領域情報を取得する手段と、
（ｂ）前記全体のマスク領域における前記第１の画像のマスク領域と前記第２の画像のマスク領域の分割形状を表すための分割形状情報を取得する手段と、
（ｃ）前記全体のマスク領域に前記分割形状情報を適用することにより、前記全体のマスク領域を前記分割形状に応じて前記第１の画像のマスク領域と前記第２の画像のマスク領域に分割する手段と、
（ｄ）ポインティング・デバイスのカーソルが、前記全体のマスク領域の外にある場合には、前記第１の画像が選択された状態にあることを示すように選択状態情報がセットされていることに応答して、
（ｄ１）前記第１の画像のマスク領域内に前記第１の画像の選択枠を描画し、
（ｄ２）前記第１の画像のマスク領域内に、前記第１の画像の選択枠の表示領域が残るように前記第１の画像の一部分を出力し、
（ｄ３）前記第２の画像のマスク領域内に、前記第１の画像の非出力部分に対応する前記第２の画像の一部分を出力する手段と、
を含む表示コンピュータ・システム。
【請求項６】
（ｅ）前記手段（ｄ）の動作後に、前記カーソルが、前記第１の画像のマスク領域内または前記第２の画像のマスク領域内に位置付けされたことに応答して、前記１つの全体像の表示領域内に前記第１の画像または前記第２の画像の全体像を表示する手段をさらに含む、請求項４または請求項５記載のコンピュータ・システム。
【請求項７】
１つの全体像の表示領域内に画像処理後の第１の画像および画像処理前の第２の画像を同時に表示させることができるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、該プログラムは、
（ａ）前記１つの全体像の表示領域の外周を取り囲むのに十分な大きさを有する全体のマスク領域を表すための全体のマスク領域情報を取得するステップと、
（ｂ）前記全体のマスク領域における前記第１の画像のマスク領域と前記第２の画像のマスク領域の分割形状を表すための分割形状情報を取得するステップと、
（ｃ）前記全体のマスク領域に前記分割形状情報を適用することにより、前記全体のマスク領域を前記分割形状に応じて前記第１の画像のマスク領域と前記第２の画像のマスク領域に分割するステップと、
（ｄ）ポインティング・デバイスのカーソルが、前記全体のマスク領域の外にある場合には、前記第１の画像が選択された状態にあることを示すように選択状態情報がセットされていることに応答して、
（ｄ１）前記第１の画像のマスク領域内に前記第１の画像の選択枠を描画し、
（ｄ２）前記第１の画像のマスク領域内に、前記第１の画像の選択枠の表示領域が残るように前記第１の画像の一部分を出力し、
（ｄ３）前記第２の画像のマスク領域内に、前記第１の画像の非出力部分に対応する前記第２の画像の一部分を出力するステップと、
を含む記録媒体。
【請求項８】
１つの全体像の表示領域内に画像処理後の第１の画像および画像処理前の第２の画像を同時に表示させることができるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、該プログラムは、
（ａ）前記１つの全体像の表示領域の外周を取り囲むのに十分な大きさを有する全体のマスク領域を表すための全体のマスク領域情報を取得するステップと、
（ｂ）前記全体のマスク領域における前記第１の画像のマスク領域と前記第２の画像のマスク領域の分割形状を表すための分割形状情報を取得するステップと、
（ｃ）前記全体のマスク領域に前記分割形状情報を適用することにより、前記全体のマスク領域を前記分割形状に応じて前記第１の画像のマスク領域と前記第２の画像のマスク領域に分割するステップと、
（ｄ）ポインティング・デバイスのカーソルが、前記全体のマスク領域の外にある場合には、前記第２の画像が選択された状態にあることを示すように選択状態情報がセットされていることに応答して、
（ｄ１）前記第２の画像のマスク領域内に前記第２の画像の選択枠を描画し、
（ｄ２）前記第２の画像のマスク領域内に、前記第２の画像の選択枠の表示領域が残るように前記第２の画像の一部分を出力し、
（ｄ３）前記第１の画像のマスク領域内に、前記第２の画像の非出力部分に対応する前記第１の画像の一部分を出力するステップと、
を含む記録媒体。
【請求項９】
（ｅ）前記ステップ（ｄ）の後に、前記カーソルが、前記第１の画像のマスク領域内または前記第２の画像のマスク領域内に位置付けされたことに応答して、前記１つの全体像の表示領域内に前記第１の画像または前記第２の画像の全体像を表示するステップをさらに含む、請求項７または請求項８記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願発明は、デジタル・カメラやスキャナ、またはフォルダから取り込んだ写真画像をコンピュータ・システムで処理する際に、処理前後の画像、または異なる処理結果の画像の違いをユーザが比較しやすい画像表示を行う方法および装置に関する。さらに、本願発明は、表示されている画像のうち、所望の画像を表示または選択する際に、ユーザが容易に表示を切り替え、また選択することができるユーザ・インターフェースを実現する発明である。
【０００２】
【従来の技術】
従来、写真画像に対して行った画像処理結果を表示させるアプリケーション・プログラムは、図１に示したように、処理前の画像と、処理後の画像が、別々の領域に表示されていた。
なお、本願発明の明細書における画像処理とは、「デジカメの達人 Version 1.0ユーザズガイド(SC88-3190),(日本アイ・ビー・エム株式会社)」に記載されている次のような処理を含む。
（１）特殊効果処理
画像に対して、ぼかし効果処理、エンボス効果処理、シャープ効果処理などさまざまな特殊効果を施す。
（２）自動補正処理
画像のトーンカーブを自動的に補正して、暗く写った写真を明るくしたり、色のバランスを整えたりする。
（３）彩度処理
カラーの写真を白黒やセピア色に変化させて、昔風の写真に変化させる。なお、白黒、セピア以外にも、自分の好きな色に変化させることができる。
（４）サイズ変換処理
画像の解像度（サイズ）を変換して、例えば、ウェブページに貼りつけるサムネイルを作成したり、画像の周囲の無駄な部分を切り取る（トリミングする）こともできる。
（５）画像フォーマット変換処理
フルカラーのフォーマットから例えば２５６色のフォーマットへ減色するというような画像フォーマット変換。
【０００３】
従って、上記のような画像処理前後の画像、または異なる処理結果の画像の微妙な違いを比較する際に、従来は、図１に示したように画像が別々の領域に表示されているので、たとえば微妙な色の違いなどを見分けるのが大変困難であった。
【０００４】
【発明が解決しようとする課題】
本願発明の第１の目的は、処理前後の画像、または異なる処理結果の画像の微妙な違いを比較しやすくするために、１つの画像を表示する表示領域を分割して、処理前画像と処置後画像、または異なる処理結果の画像同士を同時に表示させることができる方法およびシステムを実現することにある。
【０００５】
本願発明のもう１つの目的は、１つの画像を表示する表示領域内に処理前の画像の一部分と処理後の画像の一部分を同時に配置する表示、処理前の全体像の表示、処理後の全体像の表示、というように表示方法を容易に切り替えて表示させることができるユーザ・インターフェースを実現することにある。
【０００６】
本願発明のさらにもう１つの目的は、１つの画像を表示する表示領域内を分割して、処理前後の画像、または異なる処理結果の画像を同時に表示させ、かつ、所望の画像を容易に選択することができるユーザ・インターフェースを実現することにある。
【０００７】
【課題を解決するための手段】
本発明は、１つの全体像の表示領域を分割して、処理前画像と処理後画像、または異なる処理結果の処理後画像同士を同時に表示し、画像の微妙な違いを識別しやすいようにする。
なお、その際の表示領域の分割形状としては、さまざまな分割形状を選択することができる。
さらに、１つの全体像の表示領域内を分割して複数画像が表示されている際に、選択している画像の周囲に選択枠を表示させ、どの画像をユーザが選択しているのかが一目でわかるようにすることができる。
例えば、処理前画像を選択している時の選択枠と処理後画像を選択している時の選択枠の色を変えることにより、ユーザがすぐに処理前、あるいは処理後のいずれの画像を選択しているかがわかるようにする。
【０００８】
さらに、本発明は、処理前と処理後の画像、あるいは異なる処理結果の処理後画像が同時に１つの表示領域を分割して表示される際に、容易に画像の表示の切り替えが行えるユーザ・インターフェースを実現するために、システムがポインティング・デバイスのカーソル位置を検知し、カーソルが処理前画像のマスク領域上にある場合には、処理前画像の全体像を表示し、カーソルが処理後画像のマスク領域上にある場合には、処理後画像の全体像を表示し、カーソルが全体のマスク領域外にある場合には、１つの全体像の表示領域を分割して、処理前画像の１部分と処理後画像の１部分が表示されるようにする。
【０００９】
また、所望の画像の選択も容易に行えるように、所望の画像、またはその選択枠内をクリックするだけで所望の画像の選択が行える。
【００１０】
【発明の実施の形態】
本願発明を用いた画像処理プログラムの画面の例を図２に示した。
なお、本願発明の明細書においては、図２の一番上に示したように、斜線の網掛けのある「処理後画像の表示領域」と、点々の網掛けのある「処理後画像の選択枠の表示領域」を合わせた部分を「処理後画像のマスク領域内」と呼ぶ。
そして、処理前画像に関しても同様に、処理前画像の表示領域と処理前画像の選択枠の表示領域を合わせた部分を処理前画像のマスク領域と呼ぶ。
【００１１】
さらに、処理前画像の表示領域と処理後画像の表示領域を合わせた部分を全体像の表示領域と呼び、処理前画像のマスク領域と処理後画像のマスク領域を合わせた部分を全体のマスク領域と呼ぶ。
【００１２】
なお、本願発明の実施例では、１つの全体像の表示領域を分割して、処理前画像と処理後画像を同時に表示させる場合を例にして説明する。
図２に示した画像処理プログラムの画面内の左の２つの画像は、「処理する」のチェックボックスにチェックがされていることからわかるように、処理後画像を選択している場合の例である。従って、処理後画像の周囲に選択枠が表示されている。
また、右２つの画像は、処理前画像を選択している場合の例である。選択枠の色の違いは、本願明細書の図面では選択枠の網掛けの違いで表現している。
【００１３】
本願発明のハードウェア構成は、図３に示したように、コンピュータ本体は（１０１）は、マイクロプロセッサおよびその周辺回路等を含むＣＰＵ（１０２）、半導体メモリ等を含むメモリ（１０３）、ハードディスク等の主記憶装置（１０４）、フロッピーディスク、ＣＤ−ＲＯＭ等の外部記憶装置（１０５）を具備する。
【００１４】
アプリケーション・プログラムの出力は、外部の表示装置（１０６）に表示される。表示装置（１０６）は、ビットマップ画像を表示できることが必要とされる。また、カラー画像を表示できることが望ましい。
アプリケーション・プログラムへの指示は、マウス等のポインティング・デバイス（１０７）により行われる。
オペレーティング・システム、および本願を含むアプリケーション・プログラムは主記憶装置（１０４）内に格納され、実行時にメモリ（１０３）にロードされる。処理されるべき画像は主記憶装置（１０４）または外部記憶装置（１０５）に格納されており、使用時にメモリ（１０３）にロードされ、処理される。画像を記憶するために主記憶装置（１０４）のみを使用する場合は、外部記憶装置（１０５）は不要となる。
【００１５】
また、本願が適用されるソフトウェアの構成の一例を図４に示す。
本願はアプリケーション・プログラム（２０２）の一つとして動作し、主に画像処理アプリケーション・プログラムにおける適用が有効である。
まず、処理前画像（２０４）の取り込み方法としては、次のような方法がある。デジタルカメラやスキャナからパソコンのハードディスクに画像ファイルを取り込む方法、フォトＣＤ、ディスケット、光磁気ディスク（ＭＯ）などの記憶媒体に格納されている画像ファイルを取り込む方法、あるいは、インターネットからダウンロードしたり、普通のカメラで撮った写真をデジタルデータに変換して取り込む方法などである。
【００１６】
上記のような方法で取り込まれた処理前画像（２０４）はアプリケーション・プログラムによりロードされ、画像比較・選択モジュール（２０３）に入力される。そして、任意の画像処理を行った処理後画像（２０５）も画像比較・選択モジュール（２０３）に入力される。その他、出力デバイスのどの位置に画像を表示するかの全体のマスク領域情報（２０６）と、全体のマスク領域における処理前画像のマスク領域と、処理後画像のマスク領域の分割形状に関する分割形状情報（２０７）を画像比較・選択モジュール（２０３）に入力する。また、アプリケーション・プログラムの起動、ポインティング・デバイス情報（２０９）の入力、表示装置への情報の出力その他は、オペレーティング・システム（ＯＳ,２０１）を介して行われる。ポインティング・デバイスを操作すると、ＯＳ（２０１）からアプリケーション・プログラム（２０２）に対して情報が送信され、アプリケーション・プログラム（２０２）はカーソルの座標やボタンのクリックの情報を得ることができる。また、表示装置への出力は、ＯＳの画像描画ライブラリを用い、仮想の出力デバイス（２０８）に描画することによって行われる。出力デバイスに描画処理を行うと、ＯＳが実際の出力装置に、出力を転送する。画像比較・選択モジュール（２０３）からもポインティング・デバイスの情報、出力デバイスへのアクセスを行うことができる。
【００１７】
次に図５を用いて、本願の主題となる画像比較・選択モジュール（２０３）の構成を説明する。
比較および選択の対象となる処理前画像（３０１）と、処理後画像（３０２）はそれぞれメモリに保持される。
全体のマスク領域情報（３０３）は、アプリケーション・プログラムから与えられる情報で、この全体のマスク領域内に画像や選択枠が描画される。
領域検知部（３０８）は、ポインティング・デバイス（３１３）のカーソルが「全体のマスク領域の外」にあるか、「処理前画像のマスク領域内」にあるか、「処理後画像のマスク領域内」にあるかというようにカーソル位置を判断し、選択状態情報生成部（３０４）に対して、カーソル位置情報を出力する。
そして、選択状態情報生成部（３０４）は、ポインティング・デバイスのボタンがクリックされた際に起動され、カーソルの位置に応じて選択状態情報（３０５）を更新する。
選択状態情報（３０５）には、処理前画像のマスク領域が選択されているのか、処理後画像のマスク領域が選択されているのか、という情報が保持されているので、アプリケーション・プログラムから選択状態情報にアクセスすることによって、処理前画像、処理後画像のどちらが選択されているかを知ることができる。
【００１８】
フォーカス情報生成部（３０６）は、ポインティング・デバイスのカーソルが移動すると起動され、カーソルの位置に応じてフォーカス情報（３０７）を更新する。
フォーカス情報（３０７）には、ポインティング・デバイスのカーソルが、「全体のマスク領域の外」にあるか、「処理前画像のマスク領域内」にあるか、「処理後画像のマスク領域内」にあるかというカーソルの位置情報が保持される。描画部はこの情報を用いて、「処理前画像のマスク領域内」にカーソルが存在する場合は、全体像の表示領域に処理前画像の全体像を表示する。同様に「処理後画像のマスク領域内」にカーソルが存在する場合は、全体像の表示領域に処理後画像の全体像を表示する。さらにカーソルが「全体のマスク領域の外」にある場合は、１つの全体像の表示領域を分割して、処理前画像と処理後画像の両方の画像を同時に表示する。従って、ポインティング・デバイスのボタンをクリックしなくても、システムがマウスのカーソル位置を自動的に判断し、カーソルのある場所に応じて表示を切り替えてくれるため、ユーザにとって大変使いやすいユーザ・インターフェースを実現することができる。
領域検知部（３０８）は、ポインティング・デバイス（３１３）のカーソルが「全体のマスク領域の外」にあるか、「処理前画像のマスク領域内」にあるか、「処理後画像のマスク領域内」にあるか、というようにカーソル位置を判断し、フォーカス情報生成部（３０６）に対し、カーソル位置情報を出力する。
【００１９】
分割形状情報（３０９）には、全体のマスク領域の分割の形状が保持される。まず、どの形状を表示に使用するかは、アプリケーション・プログラムにより与えられる。この情報を元に、マスク生成部（３１０）は分割の形状に応じたマスクを作成する。また、領域検知部（３０８）において、カーソルが処理前画像のマスク領域内にあるか、処理後画像のマスク領域内にあるか等を判断する際にも分割形状情報（３０９）が利用される。
描画部（３１１）は、出力デバイス（３１２）に対して、全体のマスク領域情報（３０３）で与えられる領域中に、処理前画像（３０１）、処理後画像（３０２）、および選択状態情報（３０３）に応じた選択枠を描画する。つまり、処理前画像を選択している場合には、処理前画像の周囲に選択枠を描画し、処理後画像を選択している場合には、処理前画像の選択枠とは異なる態様（例えば異なる色）で処理後画像の周囲に選択枠を描画する。このようにすれば、一目でどちらの画像を選択しているのかがわかり、大変使いやすいシステムを実現することができる。
【００２０】
ここで、描画時に用いるマスクについて、図６を用いて説明する。
マスク（４０１）はＯＳの描画ライブラリが持つ機能であり、クリッピング領域、リージョンなどとも呼ばれる。出力デバイス上にマスクを適用する（４０２）と、以後の出力デバイスに対する描画操作に影響を及ぼす。具体的には、マスクの内部への描画操作は有効となり、通常どおり出力デバイスに描画されるが、マスクの外部への描画操作は無効となり、出力デバイスに反映されない（４０３）。マスクをクリアすることによって、通常どおりすべての描画操作が有効となる。
【００２１】
図７を用いて、画像比較・選択モジュール（２０３）を動作させる前の初期設定について述べる。
ステップ５０２において、アプリケーション・プログラムより全体のマスク領域情報を取得し、メモリ上に保持する。画像比較・選択モジュール（２０３）の描画はこの全体のマスク領域に対して行われる。ステップ５０４において、分割形状を取得し、メモリ上に保持する。
ステップ５０６、５０８において、処理前画像と処理後画像をそれぞれアプリケーション・プログラムから取得する。双方の画像を全体のマスク領域よりも幅、高さともに一定量小さくした大きさにリサイズし、メモリ中に保持する。全体のマスク領域よりも小さくするのは、画像の周囲に選択枠を描画するスペースを空けるためである。
そして、ステップ５１０において、選択状態情報を「処理前画像」「処理後画像」のいずれかが選択された状態にセットし、ステップ５１２において、フォーカス情報を「全体のマスク領域の外」にセットし、初期設定を終了する。
【００２２】
図８、９、１０を用いて、描画部の動作について説明する。
描画部は、選択状態情報に応じて、処理前画像のマスク領域の描画、または処理後画像のマスク領域の描画を行い、フォーカス情報に応じて全体像の表示領域への処理前画像または処理後画像の描画を行う。
まず、ステップ６０２において、全体のマスク領域を背景色で塗りつぶしてクリアする。この状態を図１１の９０１に示す。次にステップ６０４において、マスク生成部より処理前画像のマスク領域のマスクを取得する。そして、ステップ６０６において、出力デバイスにそのマスクを適用する。この操作により、以後の描画操作は処理前画像のマスク領域内にのみ行われることが保証される。この状態を、図１１の９０２に示す。
次に、ステップ６０８において、選択状態情報が「処理前画像」であれば、ステップ６１０の処理を行い、全体のマスク領域を処理前画像の選択枠の選択色で塗りつぶす。ただし、処理前画像のマスクが適用されているので、処理前画像のマスク領域のみが実際には塗りつぶされる。この状態を図１１の９０３に示す。その後、それよりも小さい領域に処理前画像が描画されるので、この選択色で塗りつぶした領域のうち、処理前画像が描画される部分以外は、処理前画像の選択枠となる。
【００２３】
次に、ステップ６１２において、フォーカス情報が「全体のマスク領域の外」であれば、ステップ６１４の処理を行い、処理前画像を描画する。画像の描画は、マスク領域の幅と高さを下回る幅と高さで行われる。これもやはり選択枠の表示領域を確保するためである。この状態を図１１の９０４に示す。従って、ステップ６１０の塗りつぶしを行った場合には、画像の周りに処理前画像の選択を示す選択枠が描画された状態が完成する。
そして、ステップ６１６において、出力デバイスに適用されたマスクをクリアする。以上で処理前画像のマスク領域の描画を終了した。
【００２４】
次に、図９のステップ７０２において、マスク生成部より、処理後画像のマスク領域のマスクを取得する。そして、ステップ７０４において、出力デバイスにそのマスクを適用する。この操作により、以後の描画操作は処理後画像のマスク領域内にのみ行われ、この前に描画した処理前画像のマスク領域に再描画されることはない。
【００２５】
次に、ステップ７０６において、選択状態情報が「処理後画像」であれば、ステップ７０８の処理を行い、全体のマスク領域を処理後画像の選択枠の選択色で塗りつぶす。ただし実際に塗りつぶされるのは処理後画像のマスク領域内のみである。
次に、ステップ７１０において、フォーカス情報が「全体のマスク領域の外」であれば、ステップ７１２の処理を行い、処理後画像を描画する。画像の描画は、マスク領域の幅と高さを下回る幅と高さで行われる。これもやはり、処理後画像を選択していることを示す選択枠の描画部分を残すためである。
そして、ステップ７１４において、出力デバイスに適用されたマスクをクリアする。以上で処理後画像のマスク領域の描画を終了する。
【００２６】
最後に、フォーカス情報が、「処理前画像のマスク領域内」または「処理後画像のマスク領域内」である場合、すなわち、ポインティング・デバイスのカーソルがいずれかのマスク領域の中にある場合の描画についての説明を行う。
図１０のステップ８０２において、フォーカス情報が「処理前画像のマスク領域内」である場合は、ステップ８０４の処理を行い、全体像の表示領域内に処理前画像の全体像を描画する。
同様に、ステップ８０６において、フォーカス情報が「処理後画像のマスク領域内」である場合は、ステップ８０８の処理を行い、全体像の表示領域内に処理後画像の全体像を描画する。
【００２７】
ステップ６１０、７０８において、処理前画像、処理後画像の選択枠の色は、それぞれ違う色を定数として画像比較・選択モジュール内（２０３）に保持している。これは、違う色を使って選択枠を描くことにより、どちらが選択されているかをより見分けやすくするためである。
【００２８】
図１２を用いて、マスク生成部の動作について説明する。
なお、処理前画像のマスク領域と処理後画像のマスク領域の分割方法は、（１）左右に分割、（２）上下に分割、（３）斜めに分割の３つの場合を例に挙げて説明するが、当然の事ながら、この他にもさまざまな分割方法が可能であることは、当業者なら容易に理解されるであろう。
【００２９】
マスク生成部は描画部より呼び出され、描画部の要求に応じて処理前画像のマスク領域、または処理後画像のマスク領域のマスクを返す。
図１２に示したように、座標系は左上を原点とし、マスク領域の矩形の左上の座標を（ｘ１,ｙ１）、右下の座標を（ｘ２,ｙ２）とすると、以下のようにあらわされる。
【００３０】
図１２の（１）に示した分割形状情報が「左右に分割」の場合、
処理前画像のマスク領域のマスクは、
左上（ｘ１,ｙ１）、右下（ｘ１ ＋ （ｘ２−ｘ１）／２, ｙ２）である矩形となり、
処理後画像のマスク領域のマスクは、
左上（（ｘ２−ｘ１）／２, ｙ１）、右下（ｘ２, ｙ２）である矩形となる。
【００３１】
図１２の（２）に示した分割形状情報が「上下に分割」の場合、
処理前画像のマスク領域のマスクは、
左上（ｘ１, ｙ１）、右下（ｘ２, ｙ１ ＋ （ｙ２−ｙ１）／２）である矩形となり、
処理後画像のマスク領域のマスクは、
左上（ｘ１, ｙ１ ＋ （ｙ２−ｙ１）／２）、右下（ｘ２, ｙ２）である矩形となる。
【００３２】
図１２の（３）に示した分割形状情報が「斜めに分割」の場合、
処理前画像のマスク領域のマスクは、
（ｘ１, ｙ１）、（ｘ２, ｙ１）、（ｘ１, ｙ２）の３点を結ぶ三角形となり、
処理後画像のマスク領域のマスクは、
（ｘ２, ｙ１）、（ｘ１, ｙ２）、（ｘ２, ｙ２）の３点を結ぶ三角形となる。
【００３３】
次に図１２、図１３を用いて、領域検知部の動作について説明する。
領域検知部は、選択状態情報生成部、またはフォーカス情報生成部より呼び出され、現在のカーソルが、「全体のマスク領域の外」にあるか、「処理前画像のマスク領域内」にあるか、「処理後画像のマスク領域内」にあるかというカーソルの存在する領域情報を返すことを目的とする。
【００３４】
まず、図１３のステップ１１０２において、ＯＳより現在のポインティング・デバイスのカーソル座標を取得し、ステップ１１０４で全体のマスク領域情報を取得する。ステップ１１０６において、カーソルが全体のマスク領域の中にあるか否かを判断する。カーソルが全体のマスク領域の中にない場合は、ステップ１１０８において、領域検知部は「全体のマスク領域の外」という情報を返し、終了する。
【００３５】
カーソルが全体のマスク領域の中にある場合は、ステップ１１１０において分割形状情報を取得し、処理前画像のマスク領域内にあるか処理後画像のマスク領域内にあるかを判断する。全体のマスク領域は、分割形状情報により２つに分割され、処理前画像のマスク領域と、処理後画像のマスク領域に分割される。カーソルが以上のどちらの領域に属するかは、以下の式によって判断される。
【００３６】
図１２に示したように、カーソルの位置を（ｘ, ｙ）、表示領域情報の左上の座標を（ｘ１, ｙ１）、右下の座標を（ｘ２, ｙ２）とする。以下の不等式を満たせばステップ１１１２において「処理前画像のマスク領域内」にあると判断され、満たさない場合は、「処理後画像のマスク領域内」にあると判断される。
【００３７】
図１２の（１）に示した分割形状情報が「左右に分割」の場合、
不等式 ｘ＜ｘ１＋（ｘ２−ｘ１）／２
を満たせば、カーソルは処理前画像のマスク領域内にあると判断される。
【００３８】
図１２の（２）に示した分割形状情報が「上下に分割」の場合、
不等式 ｙ＜ｙ１＋（ｙ２−ｙ１）／ ２
を満たせば、カーソルは処理前画像のマスク領域内にあると判断される。
【００３９】
図１２の（３）に示した分割形状情報が「斜めに分割」の場合、
不等式 ｙ＜（ｙ１−ｙ２）／（ｘ２−ｘ１）Ｘ（ｘ−ｘ１）＋ｙ２
を満たせば、カーソルは処理前画像のマスク領域内にあると判断される。
【００４０】
以上の判断により、ステップ１１１４において「処理前画像のマスク領域内」、またはステップ１１１６において「処理後画像のマスク領域内」のいずれかの情報を返し、領域検知部の処理を終了する。
【００４１】
図１４を用いて、選択状態情報生成部の動作について説明する。
選択状態情報生成部は、ポインティング・デバイスのボタンがクリックされた際に動作を開始し、クリックされたときのカーソルの座標に応じて選択状態情報を更新する。
最初に、ステップ１３０２において、領域検知部に対して現在カーソルがどの位置に存在するかを問い合わせ、領域情報を取得する。
ステップ１３０４において、領域検知部より、「全体のマスク領域の外」という情報を得た場合は、選択状態情報の内容を更新せずに処理を終了する。
ステップ１３０６において、領域検知部より、「処理前画像のマスク領域内」という情報を得た場合は、ステップ１３０８において、現在の選択状態情報を調べる。「処理前画像」が選択されていない場合は、ステップ１３１０で選択状態情報を「処理前画像」とした後、ステップ１３１６で描画部を呼び出して、表示を更新する。
領域検知部からの情報が、「全体のマスク領域の外」「処理前画像のマスク領域内」のどちらでもない、すなわち、「処理後画像のマスク領域内」である場合は、ステップ１３１２において、現在の選択状態情報を調べる。「処理後画像」が選択されていない場合は、ステップ１３１４において、選択状態情報を「処理後画像」に更新したのち、ステップ１３１６で描画部を呼び出して表示を更新する。
【００４２】
次に図１５を用いて、フォーカス情報生成部の動作について説明する。
フォーカス情報生成部は、ポインティング・デバイスのカーソルが動くたびに動作を開始し、カーソルの座標に応じてフォーカス情報を更新する。
最初に、ステップ１４０２において、現在のフォーカス情報を記憶する。
次に、カーソルが移動すると、フォーカス情報生成部が領域情報生成部を起動し、ステップ１４０４において、領域情報生成部より現在のカーソル位置の領域情報を取得する。
そして、ステップ１４０６において、フォーカス情報を更新し、取得した領域情報を新しいフォーカス情報とする。ステップ１４０８において、新しいフォーカス情報と、記憶したフォーカス情報を比較し、フォーカス情報が変化した場合は、ステップ１４１０において、描画部を呼び出して表示を更新する。
【００４３】
フォーカス情報は「全体のマスク領域の外」「処理前画像のマスク領域内」「処理後画像のマスク領域内」のいずれかである。それぞれの状態における表示例を図１６に示す。
図１６に示したように、分割形状情報が、「斜めに分割」の場合を例にして説明する。
まず、フォーカス情報が「全体のマスク領域の外」である場合には、表示領域は分割形状情報に応じて分割され、処理前画像と処理後画像が分割されて表示される（１５０１）。
【００４４】
次に、フォーカス情報が「処理前画像のマスク領域内」である場合、つまり、ポインティング・デバイスのカーソル位置が処理前画像の表示領域内、および、処理前画像の選択枠内である場合には、処理前画像の全体像が表示領域に表示される（１５０２）。
【００４５】
さらに、フォーカス情報が「処理後画像のマスク領域内」である場合、つまり、ポインティング・デバイスのカーソル位置が処理後画像の表示領域内、および、処理後画像の選択枠内である場合には、処理後画像の全体像が表示領域に表示される（１５０３）。
【００４６】
以上、本願発明について実施例を参照しながら説明したが、本技術分野における通常の知識を有する者であれば、本願発明の趣旨や範囲から逸脱することなく、その形式や詳細について応用や変更を加えられることは容易に理解されるだろう。
例えば、本願発明の応用例として、１つの画面上において、複数の全体像の表示領域を有し、異なる画像それぞれに対して、処理前画像と処理後画像が１つの全体像の表示領域を分割して同時に表示させることができる。これを実現するためには、処理前画像と処理後画像、分割形状情報、選択状態情報、全体のマスク領域情報を１セットにして、複数のセットをメモリ中に保持し、各セットに対して、順次、画像比較・選択モジュールを適用すればよい。
【００４７】
また、本発明は、必ず処理前の画像が表示されなければならないといった発明ではなく、複数種類の処理結果の処理後画像を比較するために本願を適用することもできる。
すなわち、本願の実施例では、１つの全体像の表示領域を処理前画像と処理後画像に２分割して表示させる例を挙げて説明したが、１つの全体像の表示領域を３分割以上に複数分割して、さまざまな処理結果の画像比較を行う際に本願を適用することもできる。
【００４８】
さらに、本願の実施例では、処理前画像と処理後画像とで１つの写真画像を構成しているが、これも１つの写真画像の同じ部分の処理前と処理後の画像を同時に表示させるようにしてもよい。
【００４９】
また、表示領域の分割方法も本願発明の実施例においては、表示領域を「上下」、「左右」、「斜め」という３種類に分割した場合を例にして説明したが、他のさまざまな分割方法にも本願を適用することができる。
【００５０】
また、処理前、処理後のどちらの画像を選択しているかわかりやすいようにそれぞれ色の異なる選択枠を表示させる例を説明したが、選択枠は必須のものではなく、表示させなくても良いし、または、表示させる場合にも、色を変えるだけでなく、模様を変える、片方の選択枠のみ点滅させるなどいろいろな変更を加えられることは当業者には明らかであろう。
【００５１】
【発明の効果】
画像の比較に関して、処理前画像と処理後画像の微妙な違いを比較するためには、比較する画像をなるべく近づけて見比べる必要がある。本願発明では、１つの画像の表示領域を分割し、処理前後の画像、または異なる処理結果の画像を同時に表示させることによって画像の比較を容易にした。また、複数の分割方法を選択することができるので、利用者の見やすい方法で画像を比較することができる。
【００５２】
画像の表示に関して、比較の際に１つの画像の表示領域を分割して表示するだけではなく、それぞれの画像の全体像を見たい場合がある。本願発明ではそのような場合に、ポインティング・デバイスをクリックする必要なく、システムがポインティング・デバイスのカーソル位置を検知し、カーソル位置の画像を全体像の表示領域に表示することができる。従って、ユーザがカーソル位置を変更するだけで、処理前画像と処理後画像を分割させた表示、処理前画像の全体像の表示、処理後画像の全体像の表示、というように所望の画像表示に容易に切り替えることができる。
【００５３】
画像の選択に関して、処理前画像のマスク領域にカーソルを移動し、すなわち全体像の表示領域に処理前画像の全体像が表示されているときに、クリックを行うと処理前画像を選択できる。逆に、処理後画像のマスク領域にカーソルを移動し、クリックを行うと処理後画像を選択することができる。このように、所望の画像選択も容易に行える。
また、処理前画像が選択されているときと処理後画像が選択されている時とで、態様の違う選択枠が画像の周囲に表示されることによって、どの画像を選択しているかがユーザに一目でわかるので、大変操作性の良いシステムを提供することができる。
【図面の簡単な説明】
【図１】従来技術を示す図。
【図２】本願発明を用いた画像処理プログラムの画面を示す図。
【図３】ハードウェア構成図。
【図４】ソフトウェア構成図。
【図５】画像比較・選択モジュールの構成図。
【図６】マスクの概念図。
【図７】初期設定のフローチャート。
【図８】描画部の動作のフローチャート（その１）。
【図９】描画部の動作のフローチャート（その２）。
【図１０】描画部の動作のフローチャート（その３）。
【図１１】描画部の動作による描画の経過を示す図。
【図１２】領域検知部による領域判断を示す図。
【図１３】領域検知部の動作のフローチャート。
【図１４】選択状態情報生成部の動作のフローチャート。
【図１５】フォーカス情報生成部の動作のフローチャート。
【図１６】フォーカス情報と表示状態を示す図。
【符号の説明】
１０２：ＣＰＵ
１０３：メモリ
１０４：主記憶装置
１０５：外部記憶装置
１０６：表示装置
１０７：ポインティング・デバイス
２０１：オペレーティング・システム
２０２：アプリケーション・プログラム
２０３：画像比較・選択モジュール
３０４：選択状態情報生成部
３０６：フォーカス情報生成部
３０８：領域検知部
３０９：分割形状情報
３１０：マスク生成部
３１１：描画部
３１２：出力デバイス
【図１】
0003725368.tif 000002
【図２】
0003725368.tif 000003
【図３】
0003725368.tif 000004
【図４】
0003725368.tif 000005
【図５】
0003725368.tif 000006
【図６】
0003725368.tif 000007
【図７】
0003725368.tif 000008
【図８】
0003725368.tif 000009
【図９】
0003725368.tif 000010
【図１０】
0003725368.tif 000011
【図１１】
0003725368.tif 000012
【図１２】
0003725368.tif 000013
【図１３】
0003725368.tif 000014
【図１４】
0003725368.tif 000015
【図１５】
0003725368.tif 000016
【図１６】
0003725368.tif 000017