(57)【特許請求の範囲】
【請求項１】
画面にサムネイル画像を表示する画像表示装置において、
画像データを入力する入力手段と、
前記入力手段で入力された画像データが所定のサイズより大きい場合に、該所定のサイズに収まるように該画像データを縮小することにより、サムネイル画像を生成する画像生成手段と、
前記画像生成手段で生成されたサムネイル画像を表示する画像表示領域と、当該サムネイル画像の色調整加工を指示する指示部を表示する指示領域とを有する画像編集メニュー画面を表示する表示手段と、
前記表示手段で前記画像編集メニューの指示領域に表示された指示部の選択を受け付ける受付手段と、
前記受付手段で受け付けた指示部の選択に応じて前記画像データを色調整加工する画像データ加工手段とを備え、
前記表示手段は、
当該サムネイル画像を左回転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の左側部に表示し、
当該サムネイル画像を右回転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の右側部に表示し、
当該サムネイル画像を左右反転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の垂直二等分線延長線上に表示し、
当該サムネイル画像を上下反転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の水平二等分線延長線上に表示し、
当該サムネイル画像の色調整加工を指示する指示部を前記画像編集メニューの指示領域に表示することを特徴とする画像表示装置。
【請求項２】
前記色調整加工を指示する指示部は表色系の種類に応じてグループ分けされており、該グループ毎に色調整を指示することを特徴とする請求項１記載の画像表示装置。
【請求項３】
前記色調整加工を指示する指示部は、当該色調整加工を連続的に行うために操作される操作部を含むことを特徴とする請求項１又は２に記載の画像表示装置。
【請求項４】
画面にサムネイル画像を表示する画像表示装置における画像表示方法であって、
前記画像表示装置の入力手段が、画像データを入力する入力工程と、
前記画像表示装置の画像生成手段が、前記入力工程で入力された画像データが所定のサイズより大きい場合に、該所定のサイズに収まるように該画像データを縮小することにより、サムネイル画像を生成する画像生成工程と、
前記画像表示装置の表示手段が、前記画像生成工程で生成されたサムネイル画像を表示する画像表示領域と、当該サムネイル画像の色調整加工を指示する指示部を表示する指示領域とを有する画像編集メニュー画面を表示する表示工程と、
前記画像表示装置の受付手段が、前記表示工程で前記画像編集メニューの指示領域に表示された指示部の選択を受け付ける受付工程と、
前記画像表示装置の画像データ加工手段が、前記受付工程で受け付けた指示部の選択に応じて前記画像データを色調整加工する画像データ加工工程とを備え、
前記表示工程は、
当該サムネイル画像を左回転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の左側部に表示し、
当該サムネイル画像を右回転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の右側部に表示し、
当該サムネイル画像を左右反転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の垂直二等分線延長線上に表示し、
当該サムネイル画像を上下反転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の水平二等分線延長線上に表示し、
当該サムネイル画像の色調整加工を指示する指示部を前記画像編集メニューの指示領域に表示することを特徴とする画像表示方法。
【請求項５】
コンピュータに、請求項４に記載の画像表示方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画面に表示された画像データの加工可能な画像表示装置、画像表示方法および記憶媒体に関する。
【０００２】
【従来の技術】
従来、写真などに代表される自然画像の画像データを加工する技術には、様々なものが知られている。画像の左右回転や上下反転は、画像を形成する１つ１つの細かい色の点（以下、画素という）の並び順を並び替える操作である。
【０００３】
色調整は、画素の１つ１つを特定な成分（以下、表色系という）毎に分解した後、これに対して一定の法則の演算を行い、画素の持つ色を変えていく操作である。
【０００４】
一例として、ＲＧＢ変換は、画素１つ１つを色の３原色であるＲＧＢ（赤、緑、青）に分けた後（以下、ＲＧＢ表色系という）、画像データ全体に対してある定数をＲ、Ｇ、Ｂの値（以下、色成分という）に積算する方法であり、画像全体を赤っぽくしたり、青っぽくしたり、その逆を行ったりすることができる。ナトリウム灯など、特殊な光源の下で撮影された写真などを、見やすくする場合などに用いられる。
【０００５】
他の一例として、明度（Brightness）変換がある。これは、画素を輝度・色距離の成分（以下、ｙｕｖ変換という）に分け、このうち輝度成分に対してある定数を積算する方法であり、画像全体が明るくなったり、暗くなったりする。この方法は画像の露出補正などに用いられる。
【０００６】
上記様々な画像加工技術は、目的に応じてプログラムの機能として採用されているが、その組み込まれ方は様々である。
【０００７】
例えば、画像認識判別だけを目的としたプログラムでは、これらの画像加工技術に関する処理は、入力画像に対して定型的に、また必ず行われるので、プログラムの使用者にこれを意識してもらう必要はなく、命令の入力操作方法に特段の工夫を行わないのが通常である。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記画像加工における入力操作方法には、以下に掲げる問題があり、その改善が要望されていた。すなわち、デジタルカメラ、紙スキャナ、フィルムスキャナなど画像入力の対象とする機器が多様であり、画像の種類も自然画、イラスト、設計図面、医学図など多彩なものを想定し、加えて印刷、電送、モニタ表示などに出力される画像にも芸術的あるいは出版上必要な効果を加える必要がある汎用画像編集を目的とするプログラムでは、実装される画像加工技術の質や数がそのプログラムの優秀性を評価する指針となる。
【０００９】
このため、プログラムの使用者に複雑かつ多種類の入力操作を強いることになり、このようなプログラムは操作に熟練を要するものとなりやすい。
【００１０】
そこで、本発明は、人間工学的な配慮を行い、なるべく簡単な入力操作で多彩な画像加工を行うことができる画像表示装置、画像表示方法および記憶媒体を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１に記載の画像表示装置は、画面にサムネイル画像を表示する画像表示装置において、画像データを入力する入力手段と、前記入力手段で入力された画像データが所定のサイズより大きい場合に、該所定のサイズに収まるように該画像データを縮小することにより、サムネイル画像を生成する画像生成手段と、前記画像生成手段で生成されたサムネイル画像を表示する画像表示領域と、当該サムネイル画像の色調整加工を指示する指示部を表示する指示領域とを有する画像編集メニュー画面を表示する表示手段と、前記表示手段で前記画像編集メニューの指示領域に表示された指示部の選択を受け付ける受付手段と、前記受付手段で受け付けた指示部の選択に応じて前記画像データを色調整加工する画像データ加工手段とを備え、前記表示手段は、当該サムネイル画像を左回転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の左側部に表示し、当該サムネイル画像を右回転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の右側部に表示し、当該サムネイル画像を左右反転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の垂直二等分線延長線上に表示し、当該サムネイル画像を上下反転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の水平二等分線延長線上に表示し、当該サムネイル画像の色調整加工を指示する指示部を前記画像編集メニューの指示領域に表示することを特徴とする。
また、本発明の請求項４に記載の画像表示方法は、画面にサムネイル画像を表示する画像表示装置における画像表示方法であって、前記画像表示装置の入力手段が、画像データを入力する入力工程と、前記画像表示装置の画像生成手段が、前記入力工程で入力された画像データが所定のサイズより大きい場合に、該所定のサイズに収まるように該画像データを縮小することにより、サムネイル画像を生成する画像生成工程と、前記画像表示装置の表示手段が、前記画像生成工程で生成されたサムネイル画像を表示する画像表示領域と、当該サムネイル画像の色調整加工を指示する指示部を表示する指示領域とを有する画像編集メニュー画面を表示する表示工程と、前記画像表示装置の受付手段が、前記表示工程で前記画像編集メニューの指示領域に表示された指示部の選択を受け付ける受付工程と、前記画像表示装置の画像データ加工手段が、前記受付工程で受け付けた指示部の選択に応じて前記画像データを色調整加工する画像データ加工工程とを備え、前記表示工程は、当該サムネイル画像を左回転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の左側部に表示し、当該サムネイル画像を右回転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の右側部に表示し、当該サムネイル画像を左右反転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の垂直二等分線延長線上に表示し、当該サムネイル画像を上下反転させる指示を行うボタンを前記画像編集メニューの画像表示領域のサムネイル画像の水平二等分線延長線上に表示し、当該サムネイル画像の色調整加工を指示する指示部を前記画像編集メニューの指示領域に表示することを特徴とする。
【００２５】
【発明の実施の形態】
本発明の画像表示装置、画像表示方法および記憶媒体の実施の形態について説明する。本実施の形態における画像表示装置は電子アルバムシステムに適用される。図１は実施の形態における電子アルバムシステムの構成を示すブロック図である。図２は電子アルバムシステムの外観を示す図である。
【００２６】
電子アルバムシステム本体５は、デジタルカメラインターフェイス１５、Ｔｗａｉｎ規格ＳＣＳＩインターフェイス１６、プリンタインターフェイス１７、ビデオＲＡＭ（以下、ＶＲＡＭという）１４、中央処理装置（以下、ＣＰＵという）１１、プログラムメモリ（以下、ＰＭＥＭという）１２およびバス１８を有する。
【００２７】
デジタルカメラインターフェイス１５は、デジタルカメラ２と電子アルバムシステム本体５とを接続する。Ｔｗａｉｎ規格ＳＣＳＩインターフェイス１６は、Ｔｗａｉｎ規格対応のスキャナーおよびデジタルカメラ３と電子アルバムシステム本体５とを接続する。その他、Ｔｗａｉｎ規格ＳＣＳＩインターフェイス１６にはフィルムスキャナ等が接続可能である。プリンタインターフェイス１７は、プリンタ４と電子アルバムシステム本体５とを接続する。
【００２８】
ＰＭＥＭ１２は、電子アルバムシステム本体５内の各ユニットを制御するためのＯＳプログラムやドライバプログラムのメモリエリア、アプリケーションプログラムのメモリエリア、および画像データのワークエリアを有する。
【００２９】
ＶＲＡＭ１４は、ＣＲＴ１によって表示される画像データを、ビットマップイメージで記憶する。
【００３０】
ポインティングデバイス７は、カーソルを使用してＣＲＴ１上の位置やコマンドを指定する。なお、この機能はキーボード６によって代用することができる。
【００３１】
外部記憶装置として、フロッピーディスク装置８およびハードディスク装置９が設けられている。フロッピーディスク装置８およびハードディスク装置９の取り外し可能な部分は、画像データのファイル出力先としても使用される。
【００３２】
また、ハードディスク装置９は、ＰＭＥＭ１２に設けられた画像データのワークエリアに容量不足が発生したときに限り、ＯＳプログラムの制御によって代行した機能を行う。
【００３３】
図３は電子アルバムシステムにおけるＣＰＵ１１を中心とした全体的動作を概念的に示す図である。メインルーチンＲ−１はメインメニューＤ−１を有し、この中の項目の選択によって入力ルーチンＲ−２、出力ルーチンＲ−３、一覧表示ルーチンＲ−４に分岐する。メインルーチンＲ−１の詳細は後述する図５のフローチャートに示されている。メインメニューＤ−１は後述する図２７に示されている。
【００３４】
入力ルーチンＲ−２は入力メニューＤ−２を有し、デジタルカメラインターフェイス１５やＴｗａｉｎ規格ＳＣＳＩインターフェイス１６、フロッピーディスク装置８およびハードディスク装置９から画像データを取り込むときの制御を担当する。また、入力ルーチンＲ−２は機器の故障を想定して、デジタルカメラインターフェイス１５の障害を想定した入力エラー１（Ｄ−１１）、Ｔｗａｉｎ規格ＳＣＳＩインターフェイス１６の障害を想定した入力エラー２（Ｄ−１２）、フロッピーディスク装置８ならびにハードディスク装置９の障害を想定した入力エラー３（Ｄ−１３）をエラーメッセージとして有する。
【００３５】
入力ルーチンＲ−２の詳細は後述する図６および図７のフローチャートに示されている。入力メニューＤ−２は後述する図２８に示されている。エラーメッセージとしての入力エラー１（Ｄ−１１）は後述する図３４に示されており、入力エラー２（Ｄ−１２）は後述する図３５に示されており、入力エラー３（Ｄ−１３）は後述する図３６に示されている。
【００３６】
出力ルーチンＲ−３は出力メニューＤ−３を有し、プリンタインターフェイス１７に画像データを印刷するとき、フロッピーディスク装置８ならびにハードディスク装置９に画像データをファイル出力するときの制御を担当する。また、出力ルーチンＲ−３は、入力ルーチンＲ−２と同様、機器の故障を想定して、プリンタインターフェイス１７の障害を想定した出力エラー１（Ｄ−１４）、フロッピーディスク装置８ならびにハードディスク装置９の障害あるいは容量不足を想定した出力エラー２（Ｄ−１５）をエラーメッセージとして有する。
【００３７】
出力Ｒ−３ルーチンの詳細は後述する図８および図９のフローチャートに示されている。出力メニューＤ−３は後述する図２９に示されている。また、エラーメッセージにおいて、出力エラー１（Ｄ−１４）は図３７に示されており、出力エラー２（Ｄ−１５）は図３８に示されている。
【００３８】
一覧表示ルーチンＲ−４は一覧表示メニューＤ−４を有し、編集・加工すべき画像を一覧表示する機能を有する。この中から適当な画像を選択してコマンドを指示することにより、画像編集ルーチンＲ−５に分岐する。さらに実際の加工を指示された場合、画像加工ルーチンＲ−９に分岐し、実画像ファイルに対して回転、反転、色調整の画像加工を行う。実際の加工が拒否された場合、分岐せず、実画像ファイルに対しては何も行われない。
【００３９】
一覧表示ルーチンＲ−４の詳細は後述する図１０および図１１のフローチャートに示されている。一覧表示メニューＤ−４は後述する図３０に示されている。
【００４０】
画像編集ルーチンＲ−５は画像編集メニューＤ−５を有し、画像編集・加工を行うための入力命令操作を行う。ただし、入力命令操作の一部であるＲＧＢ、ＳＩ、Ｂ＆Ｃの各種色調整のためのスライドバー、およびこれらのスライドバーを初期値に戻すためのボタン（以下、デフォルトボタンという）の機能は、ＲＧＢ色調整サブプロセスＲ−６、ＳＩ色調整サブプロセスＲ−７、Ｂ＆Ｃ色調整サブプロセスＲ−８に分担されている。
【００４１】
また、画像編集ルーチンＲ−５はサムネイル画像を表示し、これに操作の都度、画像加工結果を反映させ、より細かくかつ分かりやすく入力命令操作を行うことが可能である。このサムネイル画像の一時的な加工結果を作成するために、前述した一覧表示ルーチンＲ−４と同じく、画像加工Ｒ−９ルーチンに分岐する。
【００４２】
画像編集ルーチンＲ−５の詳細は、後述する図１２から図１７のフローチャートに示されている。画像編集メニューＤ−５は後述する図３１に示されている。
【００４３】
画像編集Ｄ−５メニューに表示されているサムネイル画像の左上には、左回転を行うためのボタンが配置されており、右上には右回転を行うためのボタンが配置されている。
【００４４】
同様に、画像編集メニューＤ−５に表示されているサムネイル画像の垂直二等分線延長線上でかつサムネイル画像直近に左右反転を行うためのボタンが配置されており、サムネイル画像の水平二等分線延長線上でかつサムネイル画像直近に上下反転を行うためのボタンが配置されている。
【００４５】
さらに、画像編集メニューＤ−５の下部には、ＲＧＢボタン、ＳＩボタン、Ｂ＆Ｃボタンが設けられており、使用される表色系の種類に伴い区分されている。これらのボタンは、各々スライドバーとデフォルトボタンの表示と制御だけを担当するＲＧＢ色調整サブプロセスＲ−６、ＳＩ色調整サブプロセスＲ−７およびＢ＆Ｃ色調整サブプロセスＲ−８の再開と給紙を制御する。
【００４６】
また、画像編集メニューＤ−５のＲＧＢボタンを押すことにより、今まで動作していたＳＩ色調整サブプロセスＲ−７またはＢ＆Ｃ色調整サブプロセスＲ−８が休止し、ＲＧＢ色調整サブプロセスＲ−６が動作を再開する。同様に、ＳＩボタンを押すことにより、他の色調整プロセスが休止し、ＳＩ色調整サブプロセスＲ−７が動作を再開する。さらに、Ｂ＆Ｃボタンを押すことにより、Ｂ＆Ｃ色調整サブプロセスＲ−８が動作を再開する。
【００４７】
これらのＲＧＢ色調整サブプロセスＲ−６、ＳＩ色調整サブプロセスＲ−７、Ｂ＆Ｃ色調整サブプロセスＲ−８は、それぞれＲＧＢ色調整スライドバー／ボタンＤ−６、ＳＩ色調整スライドバー／ボタンＤ−７、Ｂ＆Ｃ色調整スライドバー／ボタンＤ−８を有し、各々のサブプロセス毎に独立したデザイン、取り得る値の範囲、初期値や現在値を管理する。この中のスライドバーやデフォルトボタンが入力操作されることによって、現在値が変化すると、直ちに親となるプロセス、この場合、画像編集ルーチンＲ−５に現在値が通知（以下、メッセージという）される。
【００４８】
これらのサブプロセスからのメッセージや、画像編集ルーチンＲ−５内にある回転や反転入力操作を担当させられたボタンからのコマンドは、一旦、ＰＭＥＭ１２内の画像加工テーブルに画像編集ルーチンＲ−５によって蓄積される。これを基に画像加工ルーチンＲ−９が画像の変換を行い、表示されているサムネイル画像に加工結果が即座に反映される。尚、この画像加工テーブルは、一覧表示ルーチンＲ−４が実ファイルの変換を行う場合にも使用される。図４は画像加工テーブルの内容を示す図である。
【００４９】
ＲＧＢ色調整サブプロセスＲ−６の詳細は後述する図１８および図１９のフローチャートに示されており、ＳＩ色調整サブプロセスＲ−７の詳細は後述する図２０および図２１のフローチャートに示されており、Ｂ＆Ｃ色調整サブプロセスＲ−８の詳細は後述する図２２および図２３のフローチャートに示されている。
【００５０】
ＲＧＢ色調整スライドバー／ボタンＤ−６は後述する図３１の３本のスライドバーとデフォルトボタンである。同様に、ＳＩ色調整スライドバー／ボタンＤ−７は後述する図３２に示されており、Ｂ＆Ｃ色調整スライドバー／ボタンＤ−８は後述する図３３に示されている。
【００５１】
このように、本実施形態では、ＲＧＢボタン、ＳＩボタン、Ｂ＆Ｃボタンが画像加工を実現する表色系毎に区分（グループ分け）されて設けられ、各ボタンが押されると、独立したデザイン、取り得る値の範囲、初期値や現在値を有するＲＧＢ色調整サブプロセスＲ−６、ＳＩ色調整サブプロセスＲ−７、Ｂ＆Ｃ色調整サブプロセスＲ−８のいずれかの動作が再開されることにより、色調整項目分けボタンによって独立した入力命令方法が実現され、加工結果を即座にサムネイル表示によって確認できる。
【００５２】
表色系毎に色調整が区分（グループ分け）されているので、入力命令を行うときにサムネイル画像の変化が分かりやすい。また、表色系毎に入力命令方法が独立であるので、様々な画像加工技術をプログラムに実装しても、取扱いに混乱がおきにくいという利点がある。
【００５３】
画像加工ルーチンＲ−９はメニューを持たない機能だけのルーチンであり、指定されたメモリ上の画像データを、画像加工テーブルからの指示によって変換する。画像データの読込、書き出しおよび表示は、呼び出したルーチンによって行われる。画像加工ルーチンＲ−９の詳細は後述する図２４〜図２６のフローチャートに示されている。
【００５４】
つぎに、ＣＰＵ１１によって実行される各種処理プログラムの詳細なフローチャートを図５〜図２６に示す。図５〜図２６の各フローチャートに示す各種プログラムはプログラムメモリ（ＰＭＥＭ）１２に格納されており、前述したようにＣＰＵ１１によって実行される。なお、本実施形態では、英語版プログラムであるので、翻訳の過程で本文用語とは若干の違いがある場合、その都度説明する。
【００５５】
図５はメイン処理手順を示すフローチャートである。まず、メインメニュー表示を行う（ステップＳ１）。図２７はメインメニュー表示で表示されるメインメニュー画面を示す図である。つづいて、コマンド指定を行う（ステップＳ２）。コマンド指定は、メインメニューの中に描かれた図形や絵のそれぞれに、”Ｉｎｐｕｔ”、”Ｏｕｔｐｕｔ”、”Ｐｈｏｔｏ  Ｍａｎａｇｅｍｅｎｔ”、”Ｑｕｉｔ”などの文字が書かれている表示（以下、アイコンという）を、「ボタン押し」と同じように操作することによって可能である。
【００５６】
コマンドの判別を行う。「新規画像入力か？」の判別はアイコン”Ｉｎｐｕｔ”が押されたか否かで判別する（ステップＳ３）。アイコン”Ｉｎｐｕｔ”が押されたと判別された場合、入力ルーチン（ステップＳ４）に移行する。この入力ルーチンが終了すると、ステップＳ１の処理に戻る。
【００５７】
一方、ステップＳ３で新規画像入力でない場合、「画像出力か？」の判別、つまりアイコン”Ｏｕｔｐｕｔ”が押されたか否かを判別する（ステップＳ５）。アイコン”Ｏｕｔｐｕｔ”が押されたと判別された場合、「出力」ルーチン（ステップＳ６）に移行する。この出力ルーチンが終了すると、ステップＳ１の処理に戻る。
【００５８】
また一方、ステップＳ５で画像出力でない場合、「画像一覧表示か？」の判別、つまりアイコン”Ｐｈｏｔｏ  Ｍａｎａｇｅｍｅｎｔ”が押されたか否かを判別する。アイコン”Ｐｈｏｔｏ  Ｍａｎａｇｅｍｅｎｔ”が押されたと判別された場合、「一覧表示」ルーチン（ステップＳ８）に移行する。この一覧表示ルーチンが終了すると、ステップＳ１の処理に戻る。
【００５９】
また一方、ステップＳ７で画像一覧表示でない場合、「終了か？」の判別、つまりアイコン”Ｑｕｉｔ”が押されたか否かを判別する（ステップＳ９）。アイコン”Ｑｕｉｔ”が押された場合、プログラム終了となる。一方、終了でない場合、ステップＳ２の処理に戻る。
【００６０】
図６および図７はステップＳ４における入力ルーチンの処理手順を示すフローチャートである。まず、入力メニュー表示を行う（ステップＳ１１）。図２８はステップＳ１１の「入力メニュー表示」で表示される入力メニュー画面を示す図である。
【００６１】
コマンド入力およびドライバ等の名称指定を行う（ステップＳ１２）。コマンド入力およびドライバ等名称指定では、画像データ入力元のインターフェイスを選択し、更に個々のドライバ名やファイルパス名を指定してＯＫボタンを押すか、あるいは設定項目に関係なくＣａｎｃｅｌボタンを押すことにより指定される。
【００６２】
そして、「Ｃａｎｃｅｌボタンが押されたか？」の判別を行う（ステップＳ１３）。Ｃａｎｃｅｌボタンが押されている場合、呼び出しルーチンに戻る。一方、Ｃａｎｃｅｌボタンが押されていない場合、「デジタルカメラＩ／Ｆ経由入力か？」の判別を行う（ステップＳ１４）。図２８の一番上の入力項目、”ＣａｍｅｒａＩ／Ｆ”が選択された場合、画像データ入力を行う（ステップＳ１５）。「画像データ入力」では、デジタルカメラＩ／Ｆ中の指定されたドライバを用いて画像データが入力される。
【００６３】
画像データの入力が成功したか否かを判別する（ステップＳ１６）。画像データの入力が不成功だった場合、「入力エラー１表示」を行う（ステップＳ１７）。不成功の原因として、機器の故障の他にドライバ破壊などがある。図３４は入力エラー１の表示を示す図である。入力エラー１の表示を確認次第、呼び出しルーチンに戻る。
【００６４】
一方、ステップＳ１４でデジタルカメラＩ／Ｆ経由入力でない場合、「ＴｗａｉｎＳＣＳＩＩ／Ｆ経由入力か？」の判別、つまり図２８中の入力項目”ＴｗａｉｎＩ／Ｆ”が選択されたか否かを判別する（ステップＳ１８）。
【００６５】
入力項目”ＴｗａｉｎＩ／Ｆ”が選択された場合、画像データ入力を行う（ステップＳ１９）。この「画像データ入力」では、ＴｗａｉｎＳＣＳＩＩ／Ｆの中で指定されたドライバを用いて画像データが入力される。
【００６６】
「成功？」の判別、つまり画像データ入力が成功したか否かを判別する（ステップＳ２０）。画像データ入力が不成功だった場合、「入力エラー２表示」を行う（ステップＳ２１）。画像データ入力の不成功の原因として、機器の故障の他にドライバ破壊などがある。図３５は入力エラー２の表示を示す図である。入力エラー２の表示を確認次第、呼び出しルーチンに戻る。
【００６７】
一方、ステップＳ１８でＴｗａｉｎＳＣＳＩＩ／Ｆ経由入力でない場合、ファイル経由の画像データ入力となる（ステップＳ２２）。ステップＳ１１での「入力メニュー表示」は３種類の画像入力のうち１個だけを必ず指定するように作成されているからである。この「画像データ入力」では、指定されたファイルパス名を持つ画像ファイルから画像データが入力される。
【００６８】
「成功？」の判別を行い（ステップＳ２３）、不成功だった場合、「入力エラー３表示」の表示を行う（ステップＳ２４）。不成功の原因として、指定ファイルが画像でなかった場合などがある。図３６は入力エラー３の表示を示す図である。入力エラー３の表示を確認次第、呼び出しルーチンに戻る。
【００６９】
一方、ステップＳ１６、Ｓ２０、Ｓ２３で画像データ入力が成功した場合、ステップＳ２５の処理に移行する。ステップＳ２５以降の処理では、取り込んだ画像データをプログラム内部で規格化して使うための操作を行う。
【００７０】
ステップＳ２５の「１００×１００ｐｉｘｅｌより画像は大？」の判別、つまり、取り込んだ画像が縦１００ｐｉｘｅｌ、横１００ｐｉｘｅｌの範囲からはみ出さないか否かを判別する。取り込んだ画像が縦１００ｐｉｘｅｌ、横１００ｐｉｘｅｌの範囲からはみ出す場合、「画像データを縮小してサムネイル生成」で、取り込んだ画像データを１００×１００ｐｉｘｅｌの範囲に収め、かつ縦横比率が同一となるように縮小を行う（ステップＳ２６）。
【００７１】
一方、ステップＳ２５で取り込んだ画像が縦１００ｐｉｘｅｌ、横１００ｐｉｘｅｌの範囲からはみ出さない場合、「１００×１００ｐｉｘｅｌより画像は小？」判別、つまり縦横とも画像サイズが１００ｐｉｘｅｌより小さいか否かを判別する（ステップＳ２７）。縦横とも画像サイズが１００ｐｉｘｅｌより小さい場合、「画像データを拡大してサムネイル生成」で、取り込んだ画像データの縦あるいは横の大きい方が１００ｐｉｘｅｌで、かつ縦横比率が同一となるように拡大処理を行う（ステップＳ２８）。
【００７２】
一方、縦横とも画像サイズが１００ｐｉｘｅｌである場合、つまりサムネイルサイズと大きさが合致した画像データが取り込まれた場合、「そのままサムネイル生成」の処理を行う（ステップＳ２９）。
【００７３】
１００×１００ｐｉｘｅｌは、概してデジタルカメラやスキャナが読み取り可能な画像サイズ（但し、機種によって異なる）よりも十分小さいサイズである。したがって、一般的にはステップＳ２６に分岐してサムネイルは縮小して作成される。
【００７４】
上記ステップＳ２６、Ｓ２８、Ｓ２９の処理によってサムネイルが作成された後、「画像データを圧縮して画像ファイル生成」の処理を行う（ステップＳ３０）。ここでは、取り込まれた画像データに圧縮処理を加えて画像ファイルを作成する。ここでいう「圧縮」はステップＳ２６の縮小処理とは意味が違い、画像サイズをそのままに、データサイズを小さくして保存することである。本実施形態では、圧縮方法として、既に広く規格化されているＪＰＥＧ方式が採用されている。
【００７５】
「画像ファイルとサムネイルを管理フォルダに移動」の処理を行う（ステップＳ３１）。これは、後に述べる「一覧表示」ルーチン等で画像を扱い易いように行うものであり、作成された画像ファイルとサムネイルファイルを、ハードディスク装置９の特定の区分に移動させるだけの処理である。
【００７６】
「画像データを削除」の処理を行う（ステップＳ３２）。この処理は、画像ファイルとサムネイルファイルが既に作成されたので、必要でなくなった取り込んだままの画像データを削除する処理であり、無駄なファイルを削除してハードディスク装置９の蓄積効率を上げるための処理である。この後、呼び出しルーチンに戻る。
【００７７】
図８および図９はステップＳ６における出力ルーチンの処理手順を示すフローチャートである。まず、出力メニュー表示を行う（ステップＳ３１）。「管理フォルダ内の全サムネイル表示」の処理を行う（ステップＳ３２）。図２９はサムネイル画像が全て表示された後の出力メニュー画面を示す図である。
【００７８】
「サムネイル選択・コマンド選択」の処理を行う（ステップＳ３３）。この処理では、表示されているサムネイルを１つ選択した後、画面左上にあるボタン、”ＯＵＴＰＵＴ”、”ＰＲＩＮＴ”を押すことによって、あるいはアイコン”ＱＵＩＴ”を押すことによって入力操作が完了となる。
【００７９】
「戻り？」の判別、つまり、アイコン”ＱＵＩＴ”が押されたか否かを判別する（ステップＳ３４）。アイコン”ＱＵＩＴ”が押された場合、呼び出しルーチンに戻る。「サムネイルは選択済みか？」の判別、つまりコマンド判別に行く前にサムネイルが選択されたか否かを判別する（ステップＳ３５）。サムネイルが選択されていない場合、ステップＳ３３の処理に戻り、見かけ上何も動作されていないことになる。
【００８０】
一方、サムネイルが選択されている場合、「出力先はプリンタか？」の判別を行う（ステップＳ３６）。この判別処理では、選択されたコマンドの判別を行っている。プリンタ出力とファイル出力の２種類の出力先のうち、どちらが選択されているかの判別を行っている。
【００８１】
プリンタ出力が選択されている場合、「選択されたサムネイルに対応する画像ファイルを読込・解凍」の処理を行う（ステップＳ３７）。この処理では、選択されたサムネイルに対応する圧縮された画像ファイルを読み込み、解凍してプリンタ出力の準備をする。
【００８２】
「プリンタドライバ選択」の処理（ステップＳ３８）でプリンタドライバを選択した後、「プリンタ出力」で印刷を行う（ステップＳ３９）。「成功？」の判別、つまりプリンタ出力が成功したか否かを判別する（ステップＳ４０）。不成功だった場合、「出力エラー１表示」を行う（ステップＳ４１）。不成功の原因として、機器の故障の他にドライバ破壊などがある。図３７は出力エラー１の表示を示す図である。この後、、プリンタ出力の成功、不成功に拘わらず、ステップＳ３３の処理に戻る。
【００８３】
一方、ステップＳ３６でファイル出力である場合、「選択されたサムネイルに対応する画像ファイルを読込」の処理を行う（ステップＳ４２）。この処理では、選択されたサムネイルに対応する画像ファイルを読み込んでファイル出力の準備をする。
【００８４】
「出力先ファイルパス名指定」の処理を行い（ステップＳ４３）、ファイルパスを指定した後、「ファイル出力」で画像ファイルの複写を行う（ステップＳ４４）。「成功？」の判別でファイル出力が成功したか否かを判別する（ステップＳ４５）。不成功だった場合、「出力エラー２表示」を行う（ステップＳ４６）。不成功の原因として、存在できないパス名を指定してしまったり、ハードディスク装置９やフロッピーディスク装置８の容量不足などがある。図３８は出力エラー２の表示を示す図である。この後、ファイル出力の成功、不成功に拘わらず、ステップＳ３３の処理に戻る。
【００８５】
図１０および図１１は一覧表示ルーチンの処理手順を示すフローチャートである。まず、「一覧表示メニュー表示」を行う（ステップＳ５１）。「管理フォルダ内のサムネイル表示」でサムネイル画像を全て表示する（ステップＳ５２）。図３０は一覧表示メニュー画面を示す図である。
【００８６】
「画像加工テーブル初期化」の処理を行う（ステップＳ５３）。この処理では、図４に示されている画像加工テーブルを初期化する。この画像加工テーブルは、「画像編集」ルーチン、「画像加工」ルーチン内で使用され、色調整・回転・反転などの加工を行うための基となるものである。この詳細については後述する。
【００８７】
「サムネイル選択・コマンド選択」の処理を行う（ステップＳ５４）。この処理では、表示されているサムネイルを１つ選択した後、画面左上にあるボタン、”ＥＤＩＴ”、を押すことによって、あるいはアイコン”ＱＵＩＴ”を押すことによって入力操作が完了となる。
【００８８】
「戻り？」の判別、つまりアイコン”ＱＵＩＴ”が押されたか否かを判別する（ステップＳ５５）。アイコン”ＱＵＩＴ”が押された場合、呼び出しルーチンに戻る。一方、アイコン”ＱＵＩＴ”が押されていない場合、「サムネイルは選択済みか？」の判別、つまりコマンド判別に行く前にサムネイルが選択されたか否かを判別する（ステップＳ５６）。サムネイルが選択されていない場合、ステップＳ５４の処理に戻り、見かけ上何も動作されていないことになる。
【００８９】
一方、サムネイルが選択されている場合、「一覧表示」ルーチンではコマンドは画像編集しかないので、「画像編集」ルーチンを呼び出す（ステップＳ５７）。
【００９０】
「ＯＫボタンが押下されたか？」の判別、つまり「画像編集」ルーチンから戻ってきた際、ＯＫボタンで戻ってきたか、あるいはＣａｎｃｅｌボタンで戻ってきたかを判別する（ステップＳ５８）。Ｃａｎｃｅｌボタンで戻ってきた場合、ステップＳ５１の処理に戻り、この後の実ファイルの画像加工は行われない。
【００９１】
一方、ＯＫボタンで戻ってきた場合、「加工画像を、実ファイル画像とする」の処理を行う（ステップＳ５９）。この処理では、後で呼び出す「画像加工」ルーチンで、実ファイル画像内容を加工させるための宣言と準備を行う。
【００９２】
つづいて、「実ファイル画像を読込み・解凍」の処理を行う（ステップＳ６０）。この処理では、圧縮かつ保存されている実ファイル画像を読み込んで解凍する。この後、「画像加工」ルーチンを呼び出し、前の「画像編集」ルーチンで作成された画像加工テーブルを使って画像加工を行う（ステップＳ６１）。この詳細については後述する。
【００９３】
「実ファイル画像を圧縮」の処理を行い（ステップＳ６２）、加工された実ファイル用の画像データを圧縮する。そして、「実ファイルに画像を保存」の処理で再保存を行う（ステップＳ６３）。
【００９４】
「加工技術を、サムネイルファイル画像とする」の処理を行い（ステップＳ６４）、サムネイルファイル画像内容を加工させるための宣言と準備を行う。前の「画像編集」ルーチンでは、表示内容だけの加工を行っているので、あらためてサムネイルファイルの更新を行う必要があるためである。「サムネイルファイル画像を読込」の処理でサムネイルファイル画像を読み込む（ステップＳ６５）。そして、「画像加工」ルーチンを呼び出して画像加工を行う。さらに、「サムネイルファイルに画像を保存」の処理で再保存を行う（ステップＳ６７）。この後、ステップＳ５１の処理に戻る。
【００９５】
図１２、図１３、図１４、図１５、図１６および図１７は画像編集ルーチンの処理手順を示すフローチャートである。まず、「画像編集メニュー表示」で画像編集メニューを表示する（ステップＳ７１）。図３１は予め指定されたサムネイル画像が表示された状態の画像編集メニュー画面を示す図である。前述したように、画像編集メニュー画面に表示されているサムネイル画像の左上には、左回転を行うためのボタンが配置されており、右上には右回転を行うためのボタンが配置されている。
【００９６】
同様に、画像編集メニュー画面に表示されているサムネイル画像の垂直二等分線延長線上でかつサムネイル画像直近に左右反転を行うためのボタンが配置されており、サムネイル画像の水平二等分線延長線上でかつサムネイル画像直近に上下反転を行うためのボタンが配置されている。
【００９７】
さらに、画像編集メニュー画面の下部には、ＲＧＢボタン、ＳＩボタン、Ｂ＆Ｃボタンが設けられており、使用される表色系の種類に伴い区分されている。
【００９８】
つづいて、色調整のスライドバーとデフォルトボタンの表示および制御を行う３つのサブプロセスを立ち上げる。そして、そのうちの２つを休止させる。この３つのサブプロセスは、画面の同じ場所で表示や制御を行っているからである。以下、この３つのサブプロセスの内容を順に示す。
【００９９】
まず、「ＳＩ色調整ジョブ開始」の処理を行い（ステップＳ７２）、ＳＩ色調整サブプロセスを開始する。そして、すぐに「ＳＩ色調整ジョブ休止」処理を行ってこの処理を休止させる（ステップＳ７３）。
【０１００】
「Ｂ＆Ｃ色調整ジョブ開始」の処理を行い（ステップＳ７４）、Ｂ＆Ｃ色調整サブプロセスを開始する。そして、すぐに「Ｂ＆Ｃ色調整ジョブ休止」処理を行ってこの処理を休止させる（ステップＳ７５）。
【０１０１】
最後に、「ＲＧＢ色調整ジョブ開始」の処理を行い（ステップＳ７６）、ＲＧＢ色調整サブプロセスを開始する。
【０１０２】
つづいて、「加工画像を、サムネイル画像とする」の処理を行う（ステップＳ７７）。この処理では、サムネイル表示画像の内容を加工させるための宣言と準備を行う。そして、呼び出したルーチンで予め指定されたサムネイル画像について、「サムネイル画像ファイル読込」の処理でファイル読み込みを行い（ステップＳ７８）、「サムネイル画像表示」処理で表示する（ステップＳ７９）。
【０１０３】
「コマンド選択、およびＲＧＢ色調整ジョブ、ＳＩ色調整ジョブ、Ｂ＆Ｃ色調整ジョブからのメッセージ受信」では、コマンド並びにサブプロセスからのメッセージを受け付ける（ステップＳ８０）。なお、コマンド選択は、画像編集ルーチンで定義されている。ＯＫボタン、Ｃａｎｃｅｌボタン、ＲＧＢボタン、ＳＩボタン、Ｂ＆Ｃボタン、右回転ボタン、左回転ボタン、上下反転ボタンおよび左右反転ボタンが押されたとき、コマンド選択が行われたと定義する。
【０１０４】
メッセージ受信の内容は、ＲＧＢ色調整サブプロセスからスライドバーＲ、スライドバーＧ、スライドバーＢの現在値が変化したときに送られてくる動作量、ＳＩ色調整サブプロセスからスライドバーＳ、スライドバーＩの現在値が変化したときに送られてくる動作量、およびＢ＆Ｃ色調整サブプロセスからスライドバーＢ２、スライドバーＣの現在値が変化したときに送られてくる動作量である。
【０１０５】
「ＯＫまたはＣａｎｃｅｌボタンが押されたか？」の判別を行う（ステップＳ８１）。この判別は、ＯＫボタンあるいはＣａｎｃｅｌボタンが押されたか否かを判別する。ＯＫボタンあるいはＣａｎｃｅｌボタンが押された場合、「ＲＧＢ色調整ジョブ終了」を行い（ステップＳ８２）、「ＳＩ色調整ジョブ終了」を行い（ステップＳ８３）、そして「Ｂ＆Ｃ色調整ジョブ終了」を行う（ステップＳ８４）。すべての色調整サブプロセスを終了させてから呼び出しルーチンに戻る。尚、押されたボタンがＯＫかＣａｎｃｅｌかの処理の違いについては呼び出しルーチン（一覧表示ルーチン）に任される。
【０１０６】
一方、ステップＳ８１でＯＫボタンまたはＣａｎｃｅｌボタンが押されていない場合、「ＲＧＢボタンが押されたか？」の判別を行う（ステップＳ８５）。ＲＧＢボタンが押されている場合、「ＲＧＢ色調整表示中か？」の判別を行う（ステップＳ８６）。ＲＧＢ色調整表示中でない場合、「現在表示中色調整ジョブを休止」の処理で現在実行されている色調整サブプロセスを休止し（ステップＳ８７）、「ＲＧＢ色調整ジョブ再開」の処理でＲＧＢ色調整サブプロセスを起動する（ステップＳ８８）。そして、ステップＳ８０の処理に戻る。一方、ステップＳ８６でＲＧＢ色調整表示中である場合、そのままステップＳ８０の処理に戻り、見かけ上何も動作されていないことになる。
【０１０７】
一方、ステップＳ８５でＲＧＢボタンが押されていない場合、ＲＧＢボタンの場合と同様に、「ＳＩボタンが押されたか？」の判別を行う（ステップＳ８９）。
【０１０８】
ＳＩボタンが押された場合、「ＳＩ色調整表示中か？」の判別を行う（ステップＳ９０）。ＳＩ色調整表示中でない場合、「現在表示中色調整ジョブを休止」の処理を行い（ステップＳ９１）、「ＳＩ色調整ジョブ再開」でＳＩ色調整サブプロセスを起動し（ステップＳ９２）、ステップＳ８０の処理に戻る。一方、ステップＳ９０でＳＩ色調整表示中である場合、そのままステップＳ８０の処理に戻る。
【０１０９】
また一方、ステップＳ８９でＳＩボタンが押されていない場合、「Ｂ＆Ｃボタンが押されたか？」の判別を行う（ステップＳ９３）。Ｂ＆Ｃボタンが押された場合、「Ｂ＆Ｃ色調整表示中か？」の判別を行う（ステップＳ９４）。Ｂ＆Ｃ色調整表示中でない場合、「現在表示中色調整ジョブを休止」の処理を行い（ステップＳ９５）、「Ｂ＆Ｃ色調整ジョブ再開」の処理でＢ＆Ｃ色調整サブプロセスを起動し（ステップＳ９６）、ステップＳ８０の処理に戻る。また一方、ステップＳ９４でＢ＆Ｃ色調整表示中である場合、そのままステップＳ８０の処理に戻る。
【０１１０】
一方、ステップＳ９３でＢ＆Ｃボタンが押されていない場合、以下の画像加工に直接関与するコマンドの判別処理に移行する。すなわち、「右回転ボタンが押されたか？」の判別を行う（ステップＳ９７）。右回転ボタンが押された場合、「画像加工テーブル／回転に１を和算、３より大きくなったら０とする」の処理を行い（ステップＳ９８）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。ここで、画像加工テーブルとは図４に示されている表である。この画像編集ルーチンでは、値の記載だけを行い、画像加工ルーチンでこの内容が実際に画像データに反映される。補足すると、この後のステップＳ７９の処理がサムネイル表示であるので、一回一回の入力操作の度に、加工の行われた画像が表示されることになる。
【０１１１】
一方、ステップＳ９７で右回転ボタンが押されていない場合、「左回転ボタンが押されたか？」の判別を行う（ステップＳ９９）。左回転ボタンが押された場合、「画像加工テーブル／回転に１を減算、０より小さくなったら３とする」の処理を行い（ステップＳ１００）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１１２】
また一方、ステップＳ９９で左回転ボタンが押されていない場合、「上下反転ボタンが押されたか？」の判別を行う（ステップＳ１０１）。上下反転ボタンが押されている場合、「画像加工テーブル／上下に−１を積算」の処理を行い（ステップＳ１０２）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１１３】
また一方、ステップＳ１０１で上下反転ボタンが押されていない場合、「左右反転ボタンが押されたか？」の判別を行う（ステップＳ１０３）。左右反転ボタンが押されている場合、「画像加工テーブル／左右に−１を積算」の処理を行い（ステップＳ１０４）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１１４】
一方、ステップＳ１０３で左右反転ボタンが押されていない場合、「スライドバーＲメッセージ到着？」の判別を行う（ステップＳ１０５）。ＲＧＢ色調整サブプロセスよりスライドバーＲの値の現在値が到着している場合、「画像加工テーブル／ＲＧＢ−Ｒにスライドバーの現在値を入れる」の処理を行い（ステップＳ１０６）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１１５】
一方、スライドバーＲのメッセージが到着していない場合、「スライドバーＧメッセージ到着？」の判別を行う（ステップＳ１０７）。ＲＧＢ色調整サブプロセスよりスライドバーＧの値の現在値が到着している場合、「画像加工テーブル／ＲＧＢ−Ｇにスライドバーの現在値を入れる」の処理を行い（ステップＳ１０８）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１１６】
一方、スライドバーＧのメッセージが到着していない場合、「スライドバーＢメッセージ到着？」の判別を行い（ステップＳ１０９）、ＲＧＢ色調整サブプロセスよりスライドバーＢの値の現在値が到着している場合、「画像加工テーブル／ＲＧＢ−Ｂにスライドバーの現在値を入れる」の処理を行い（ステップＳ１１０）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１１７】
スライドバーＢのメッセージが到着していない場合、「スライドバーＳメッセージ到着？」の判別を行い（ステップＳ１１１）、ＳＩ色調整サブプロセスよりスライドバーＳの値の現在値が到着している場合、「画像加工テーブル／ＳＩ−Ｓにスライドバーの現在値を入れる」の処理を行い（ステップＳ１１２）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１１８】
スライドバーＳのメッセージが到着していない場合、「スライドバーＩメッセージ到着？」の判別を行う（ステップＳ１１３）。ＳＩ色調整サブプロセスよりスライドバーＩの値の現在値が到着している場合、「画像加工テーブル／ＳＩ−Ｉにスライドバーの現在値を入れる」の処理を行い（ステップＳ１１４）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１１９】
スライドバーＩのメッセージが到着していない場合、「スライドバーＢ２メッセージ到着？」の判別を行う（ステップＳ１１５）。Ｂ＆Ｃ色調整サブプロセスよりスライドバーＢ２の値の現在値が到着している場合、「画像加工テーブル／Ｂ＆Ｃ−Ｂにスライドバーの現在値を入れる」の処理を行い（ステップＳ１１６）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１２０】
スライドバーＢ２のメッセージが到着していない場合、「スライドバーＣメッセージ到着？」の判別を行う（ステップＳ１１７）。Ｂ＆Ｃ色調整サブプロセスよりスライドバーＣの値の現在値が到着している場合、「画像加工テーブル／Ｂ＆Ｃ−Ｃにスライドバーの現在値を入れる」の処理を行い（ステップＳ１１８）、「画像加工ルーチンへ」の処理で画像加工を行わせ（ステップＳ１１９）、ステップＳ７９の処理に戻る。
【０１２１】
図１８および図１９は「ＲＧＢ色調整」サブプロセスの処理手順を示すフローチャートである。起動すると、「スライドバー／デフォルトボタン表示」処理でＲＧＢ色調整サブプロセスのスライドバーおよびデフォルトボタンを画面下部に表示する（ステップＳ１２１）。図３１と同様の状態でＲＧＢ色調整サブプロセスのスライドバーおよびデフォルトボタンが画面下部に表示されている。尚、図中、３本のスライドバー（スライドバーＲ、スライドバーＧ、スライドバーＢ）と、左下に“Ｄｅｆａｕｌｔ”と記されているデフォルトボタンが、「ＲＧＢ色調整」サブプロセスによって表示されている部分である。
【０１２２】
「親プロセス命令受信  スライドバー／ボタン入力」の処理で親プロセスからのサブプロセス終了や再開に伴って送られる命令（以下、単に「親プロセス命令」という）を受信し、また、ボタン押しやスライドバーの動きを検知する（ステップＳ１２２）。
【０１２３】
「親プロセスより終了命令？」の判別、つまり親プロセスから終了命令が来たか否かを判別する（ステップＳ１２３）。親プロセスから終了命令が来た場合、終了し、終了命令が来ていない場合、「親プロセスより再開命令？」の判別、つまり、親プロセスから再開命令が来たか否かを判別する（ステップＳ１２４）。
【０１２４】
親プロセスから再開命令が来た場合、「スライドバー／デフォルトボタン表示」を行って再描画し（ステップＳ１２５）、再開命令が来ない場合、この処理を行わない。
【０１２５】
「デフォルトボタンが押されたか？」の判別を行う（ステップＳ１２６）。これは、デフォルトボタンが押され、すべてのＲＧＢ色調整加工を初期値にすることが入力操作によって要求されたか否かの判別である。デフォルトボタンが押された場合、「親プロセスに、スライドバーＲ：０スライドバーＧ：０、スライドバーＢ：０メッセージ送信」を行い、親プロセスに初期値を送信する（ステップＳ１２７）。この後、ステップＳ１２２の処理に戻る。
【０１２６】
デフォルトボタンが押されていない場合、「スライドバーＲ動作検知？」の判別を行う（ステップＳ１２８）。これはスライドバーＲが入力操作によって動かされ、画像加工を要求されたか否かの判別である。スライドバーＲが入力操作によって動かされた場合、「親プロセスに、スライドバーＲ：Ｒ現在値メッセージ送信」を行い（ステップＳ１２９）、親プロセスにスライドバーＲの現在値を送信する。この後、ステップＳ１２２の処理に戻る。
【０１２７】
一方、スライドバーＲが入力操作によって動かされなかった場合、「スライドバーＧ動作検知？」の判別を行う（ステップＳ１３０）。これは、スライドバーＧが入力操作によって動かされたか否かの判別である。スライドバーＧが入力操作によって動かされた場合、「親プロセスに、スライドバーＧ：Ｇ現在値メッセージ送信」の処理を行い（ステップＳ１３１）、ステップＳ１２２の処理に戻る。
【０１２８】
一方、スライドバーＧが入力操作によって動かされなかった場合、「スライドバーＢ動作検知？」の判別を行う（ステップＳ１３２）。これは、スライドバーＢが入力操作によって動かされたか否かの判別である。スライドバーＢが入力操作によって動かされた場合、「親プロセスに、スライドバーＢ：Ｂ現在値メッセージ送信」を行い（ステップＳ１３３）、ステップＳ１２２の処理に戻る。スライドバーＢが入力操作によって動かされなかった場合、そのままステップＳ１２２の処理に戻る。
【０１２９】
図２０および図２１は「ＳＩ色調整」サブプロセスの処理手順を示すフローチャートである。以下、「ＲＧＢ色調整」と同様に、起動すると、「スライドバー／デフォルトボタン表示」処理でＳＩ色調整サブプロセスのスライドバーおよびデフォルトボタンを表示する（ステップＳ１４１）。
【０１３０】
図３２はＳＩ色調整サブプロセスのスライドバーおよびデフォルトボタンが表示された状態の画像編集メニュー画面を示す図である。尚、図中、２本のスライドバー（スライドバーＳ、スライドバーＩ）と、左下に“Ｄｅｆａｕｌｔ”と記されているデフォルトボタンが、「ＳＩ色調整」サブプロセスによって表示されている部分である。
【０１３１】
「親プロセス命令受信  スライドバー／ボタン入力」で親プロセス命令を受信し、また、ボタン押しやスライドバーの動きを検知する（ステップＳ１４２）。「親プロセスより終了命令？」の判別、つまり親プロセスから終了命令が来たか否かを判別する（ステップＳ１４３）。親プロセスから終了命令が来た場合、終了し、終了命令が来ていない場合、「親プロセスより再開命令？」の判別、つまり、親プロセスから再開命令が来たか否かを判別する（ステップＳ１４４）。
【０１３２】
親プロセスから再開命令が来た場合、「スライドバー／デフォルトボタン表示」を行って再描画し（ステップＳ１４５）、再開命令が来ない場合、この処理を行わない。
【０１３３】
「デフォルトボタンが押されたか？」の判別を行う（ステップＳ１４６）。デフォルトボタンが押された場合、「親プロセスに  スライドバーＳ：０、スライドバーＩ：０、メッセージ送信」を行い、親プロセスに初期値を送信する（ステップＳ１４７）。この後、ステップＳ１４２の処理に戻る。
【０１３４】
一方、デフォルトボタンが押されていない場合、「スライドバーＳ動作検知？」の判別を行う（ステップＳ１４８）。スライドバーＳの動作が検知された場合、「親プロセスに  スライドバーＳ：Ｓ現在値メッセージ送信」の処理を行い（ステップＳ１４９）、この後、ステップＳ１４２の処理に戻る。
【０１３５】
スライドバーＳの動作が検知されていない場合、「スライドバーＩ動作検知？」の判別を行う（ステップＳ１５０）。スライドバーＩの動作が検知された場合、「親プロセスに  スライドバーＩ：Ｉ現在値メッセージ送信」の処理を行い（ステップＳ１５１）、この後、ステップＳ１４２の処理に戻る。一方、スライドバーＩの動作が検知されなかった場合、そのままステップＳ１４２の処理に戻る。
【０１３６】
図２２および図２３は「Ｂ＆Ｃ色調整」サブプロセスの処理手順を示すフローチャートである。以下、「ＲＧＢ色調整」、「ＳＩ色調整」と同様に、起動すると、「スライドバー／デフォルトボタン表示」処理で、Ｂ＆Ｃ色調整サブプロセスのスライドバーおよびデフォルトボタンを表示する（ステップＳ１６１）。図３３はＢ＆Ｃ色調整サブプロセスのスライドバーおよびデフォルトボタンが表示された状態の画像編集メニュー画面を示す図である。尚、図中、２本のスライドバー（スライドバーＢ２、スライドバーＣ）と、左下に“Ｄｅｆａｕｌｔ”と記されているデフォルトボタンが「Ｂ＆Ｃ色調整」サブプロセスによって表示されている部分である。
【０１３７】
「親プロセス命令受信  スライドバー／ボタン入力」で親プロセス命令を受信し、またボタン押しやスライドバーの動きを検知する（ステップＳ１６２）。「親プロセスより終了命令？」の判別、つまり親プロセスから終了命令が来たか否かを判別する（ステップＳ１６３）。親プロセスから終了命令が来た場合、終了し、終了命令が来ていない場合、「親プロセスより再開命令？」の判別、つまり、親プロセスから再開命令が来たか否かを判別する（ステップＳ１６４）。
【０１３８】
親プロセスから再開命令が来た場合、「スライドバー／デフォルトボタン表示」を行って再描画し（ステップＳ１６５）、再開命令が来ない場合、この処理を行わない。
【０１３９】
「デフォルトボタンが押されたか？」の判別を行う（ステップＳ１６６）。「親プロセスに  スライドバーＢ２：０、スライドバーＣ：０メッセージ送信」を行い、親プロセスに初期値を送信する（ステップＳ１６７）。この後、ステップＳ１６２の処理に戻る。
【０１４０】
一方、デフォルトボタンが押されていない場合、「スライドバーＢ２動作検知？」の判別を行う（ステップＳ１６８）。スライドバーＢ２の動作が検知された場合、「親プロセスに  スライドバーＢ２：Ｂ２現在値メッセージ送信」の処理を行い（ステップＳ１６９）、この後、ステップＳ１６２の処理に戻る。
【０１４１】
スライドバーＢ２の動作が検知されなかった場合、「スライドバーＣ動作検知？」の判別を行い（ステップＳ１７０）、スライドバーＣの動作が検知された場合、「親プロセスに  スライドバーＣ：Ｃ現在値メッセージ送信」の処理を行い（ステップＳ１７１）、この後、ステップＳ１６２の処理に戻る。一方、スライドバーＣの動作が検知されなかった場合、そのままステップＳ１６２の処理に戻る。
【０１４２】
図２４、図２５および図２６は画像加工ルーチンの処理手順を示すフローチャートである。このルーチンはメモリ内に存在する画像データの変換や移動だけを行うため、このルーチンには表示や入力の処理はない。
【０１４３】
このルーチンを呼ぶ際、予めメモリ内に画像データと画像加工テーブルが存在し、かつ画像データは予めＲＧＢ表色系を基準にして取り扱われていることが前提である。ここで、メモリとはＰＭＥＭ１２であり、これらの処理は画像加工ルーチンの親、または親の親ルーチンとなる一覧表示ルーチンのステップＳ５３、Ｓ６０およびＳ６５と、親ルーチンとなる画像編集ルーチンのステップＳ７８で行われている。
【０１４４】
まず、「画像加工テーブル／ＲＧＢ−Ｒの内容をＲＧＢ表色成分Ｒに反映」の処理を行う（ステップＳ１８３）。この処理は、１つ１つのＲＧＢ表色系の画素の中のＲ成分に、画像加工テーブル／ＲＧＢ−Ｒの、１００から−１００までの値を百分率（１００で除算）にして積算したものを、元データのＲ成分に加算する処理である。
【０１４５】
同様に、「画像加工テーブル／ＲＧＢ−Ｇの内容をＲＧＢ表色成分Ｇに反映」の処理を行い（ステップＳ１８４）、「画像加工テーブル／ＲＧＢ−Ｂの内容をＲＧＢ表色成分Ｂに反映」を行い（ステップＳ１８５）、ＲＧＢ表色系における色調整加工を加える。
【０１４６】
さらに、「画像データをＨＳＶ表色系に分解」の処理を行う（ステップＳ１８６）。この処理は、ＨＳＶ表色系を使うＳＩ色調整の加工のためにＲＧＢ表色系で示されている画像データをＨＳＶ表色系に直す処理である。
【０１４７】
ステップＳ１８３〜ステップＳ１８５と同様、「画像加工テーブル／ＳＩ−Ｓの内容をＨＳＶ表色成分Ｓに反映」の処理（ステップＳ１８７）、「画像加工テーブル／ＳＩ−Ｉの内容をＨＳＶ表色成分Ｖに反映」を行い（ステップＳ１８８）、ＳＩ表色系における色調整加工を加える。
【０１４８】
またさらに、「画像データをｙｕｖ表色系に分解」の処理を行う（ステップＳ１８９）。この処理は、ｙｕｖ表色系を使うＢ＆Ｃ色調整の加工のためにＨＳＶ表色系で示されている画像データをｙｕｖ表色系に直す処理である。
【０１４９】
ステップＳ１８３〜ステップＳ１８５、ステップＳ１８７〜ステップＳ１８８と同様、「画像加工テーブル／Ｂ＆Ｃ−Ｂの内容をｙｕｖ表色成分ｙに反映」の処理を行い（ステップＳ１９０）、Ｂ＆Ｃ表色系における色調整加工を加える。
【０１５０】
「画像加工テーブル／Ｂ＆Ｃ−Ｂと、Ｂ＆Ｃ−Ｃとの内容をｙｕｖ表色成分ｙに反映」の処理を行う（ステップＳ１９１）。この処理は、ステップＳ１８３〜ステップＳ１８５、ステップＳ１８７〜ステップＳ１８８およびステップＳ１９０とは違う計算式でｙｕｖ表色系における色調整加工を加えるものであり、具体的には、Ｂ＆Ｃ−ＢからＢ＆Ｃ−Ｃを減算した結果に１．２７５を積算し、その結果を元データのｙ成分に加算する処理である。
【０１５１】
「ｙｕｖ画像データを０〜２５５以内の整数値に四捨五入する」の処理を行い（ステップＳ１９２）、「画像データ表色系をＲＧＢ表色系に戻す」の処理で色調整加工を終了する（ステップＳ１９３）。
【０１５２】
この後、位置変換（回転、反転）の画像加工を行う。まず、「画像加工テーブル／回転＝０か？」の判別を行う（ステップＳ１９４）。この判別処理は、画像加工テーブル／回転の０〜３の範囲の整数値の判別である。画像加工テーブル／回転が値０でない場合、「画像データを右上から右下へ、１ライン毎左へ１ｐｉｘｅｌづつずれ、最後に左上から左下に来るように位置変換（並び替え）を行う」の処理を行う（ステップＳ１９５）。これは９０度の右回転である。
【０１５３】
「画像加工テーブル／回転より１を減算」の処理を行い（ステップＳ１９６）、ステップＳ１９４の処理に戻る。ステップＳ１９４からステップＳ１９６のループ操作は最大３回、最小０回行われ、回転なしから９０度、１８０度、２７０度の右回転に対応する。尚、左回転は右回転に置換えて処理される。
【０１５４】
画像加工テーブル／回転が値０である場合、「画像加工テーブル／回転の値を元に戻す」の処理を行う（ステップＳ１９７）。この処理は、次に画像加工ルーチンが呼び出されたときのため、ステップＳ１９６で変更された値を元に戻す処理である。
【０１５５】
つづいて、「画像加工テーブル／上下＝−１か？」の判別を行う（ステップＳ１９８）。この判別は、画像加工テーブル／上下の整数値（１か−１の値をとる）の判別である。画像加工テーブル／上下＝−１である場合、「画像データを左下から右下へ、１ライン毎上へ１ｐｉｘｅｌづつずれ、最後左上から右上に来るように位置変換（並び替え）を行う」の処理を行う（ステップＳ１９９）。これは、上下の反転である。一方、画像加工テーブル／上下＝−１でない場合、ステップＳ１９９の処理を行わない。
【０１５６】
「画像加工テーブル／左右＝−１か？」の判別を行う（ステップＳ２００）。この判別は、画像加工テーブル／左右の整数値（１か−１の値をとる）の判別である。画像加工テーブル／左右＝−１である場合、「画像データを右上から左上へ、１ライン毎下へ１ｐｉｘｅｌづつずれ、最後に右下から左下に来るように位置変換（並び替え）を行う」の処理を行う（ステップＳ２０１）。これは、左右の反転である。一方、画像加工テーブル／左右＝−１でない場合、ステップＳ２０１の処理を行わない。この後、親のルーチンに戻る。
【０１５７】
尚、本実施形態では、色調整の項目区分分けにＲＧＢ表色系、ＨＳＶ表色系、ｙｕｖ表色系を用いているが、他の表色系（例として、ＣＭＹＢｋ表色系、Ｌａｂ表色系等）や独自の表色系を用いてもよい。
【０１５８】
また、色調整項目の多い表色系では、ＣＭＹＢｋ（１）、ＣＭＹＢｋ（２）という例のように、同一表色系で複数の項目区分を用いてもよい。
【０１５９】
さらに、本実施形態では、項目区分分けされた色調整の入力命令操作を制御するプログラムを「ＲＧＢ色調整」サブプロセス、「ＳＩ色調整」サブプロセス、「Ｂ＆Ｃ色調整」サブプロセスと、３個の独立したサブプロセスによるマルチタスク処理としているが、機能そのものはシングルタスクでも可能なものであり、他のプログラム構造を採用してもよい。
【０１６０】
また、本実施形態では、色調整項目として、ＲＧＢ表色系で３個、ＨＳＶ表色系で２個、ｙｕｖ表色系で２個、合計７個採用しているが、項目数の加減は自由であり、独自の色調整項目を用いてもよい。
【０１６１】
さらに、本実施形態では、画像の上下反転を指示させるボタンを、サムネイルの水平２等分線延長線上で左側直近に設けてあるが、右側直近に設けてもよい。同じように、画像の左右反転を指示させるボタンを、サムネイルの垂直２等分線延長線上で上側直近に設けてあるが、下側直近でもよい。
【０１６２】
以上、説明したように本実施形態の電子アルバムシステムによれば、簡単な入力操作で多彩な画像加工を行うことができる。
【０１６３】
尚、本発明は複数の機器から構成されるシステムに適用してもよいし、１つの機器からなる装置に適用してもよい。また、本発明はシステムあるいは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体をシステムあるいは装置に読み出すことによってそのシステムあるいは装置が本発明の効果を享受することが可能となる。
【０１６４】
図３９は記憶媒体としてのプログラムメモリ（ＰＭＥＭ）１２のメモリマップを示す図である。ＰＭＥＭ１２には、図５に示すメインメニューモジュール、図６および図７に示す入力モジュール、図８および図９に示す出力モジュール、図１０および図１１に示す一覧表示モジュール、図１２〜図１７に示す画像編集モジュール、図２４に示す画像加工モジュール、図１８および図１９に示すＲＧＢ調整モジュール、図２０および図２１に示すＳＩ色調整モジュール、図２２および図２３に示すＢ＆Ｃ色調整モジュールの他、図４に示す画像加工テーブルが格納されている。
【０１６５】
記憶媒体としては、ＲＯＭに限らず、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、磁気テープ、不揮発性のメモリカードなどを用いることができる。
【０１６６】
【発明の効果】
本発明によれば、プログラムの使用者に複雑かつ多種類の入力操作を強いることになりがちな汎用画像編集を目的とするプログラムを画像表示装置に組み込む場合、簡単で分かりやすい入力操作方法を提供することができる。
【０１６７】
このように、人間工学的な配慮を行い、なるべく簡単な入力操作で多彩な画像加工を行うことが可能である。
【０１７６】
また、指示部は表色系の種類に応じてグループ分けされており、該グループ毎に色調整を指示するので、ＲＧＢ表色系、ｙｕｖ表色系などのグループ毎の色調整の入力操作を簡単に行うことができる。
【０１７７】
このように、表色系毎に色調整が区分（グループ分け）されているので、入力命令を行うときにサムネイル画像の変化が分かりやすい。また、表色系毎に入力操作が独立であるので、様々な画像加工技術をプログラムに実装しても、取扱いに混乱がおきにくい。
【０１７８】
また、指示部は前記色調整加工を連続的に行うために操作される操作部を含むので、ポインティングデバイスやキーボードによって、あたかも調整つまみやダイヤルのような疑似操作を行うことができる。
【図面の簡単な説明】
【図１】実施の形態における電子アルバムシステムの構成を示すブロック図である。
【図２】電子アルバムシステムの外観を示す図である。
【図３】電子アルバムシステムにおけるＣＰＵ１１を中心とした全体的動作を概念的に示す図である。
【図４】画像加工テーブルの内容を示す図である。
【図５】メイン処理手順を示すフローチャートである。
【図６】ステップＳ４における入力ルーチンの処理手順を示すフローチャートである。
【図７】図６につづくステップＳ４における入力ルーチンの処理手順を示すフローチャートである。
【図８】ステップＳ６における出力ルーチンの処理手順を示すフローチャートである。
【図９】図８につづくステップＳ６における出力ルーチンの処理手順を示すフローチャートである。
【図１０】一覧表示ルーチンの処理手順を示すフローチャートである。
【図１１】図１０につづく一覧表示ルーチンの処理手順を示すフローチャートである。
【図１２】画像編集ルーチンの処理手順を示すフローチャートである。
【図１３】図１２につづく画像編集ルーチンの処理手順を示すフローチャートである。
【図１４】図１２および図１３につづく画像編集ルーチンの処理手順を示すフローチャートである。
【図１５】図１２、図１３および図１４につづく画像編集ルーチンの処理手順を示すフローチャートである。
【図１６】図１２、図１３、図１４および図１５につづく画像編集ルーチンの処理手順を示すフローチャートである。
【図１７】図１２、図１３、図１４、図１５および図１６につづく画像編集ルーチンの処理手順を示すフローチャートである。
【図１８】「ＲＧＢ色調整」サブプロセスの処理手順を示すフローチャートである。
【図１９】図１８につづく「ＲＧＢ色調整」サブプロセスの処理手順を示すフローチャートである。
【図２０】「ＳＩ色調整」サブプロセスの処理手順を示すフローチャートである。
【図２１】図２０につづく「ＳＩ色調整」サブプロセスの処理手順を示すフローチャートである。
【図２２】「Ｂ＆Ｃ色調整」サブプロセスの処理手順を示すフローチャートである。
【図２３】図２２につづく「Ｂ＆Ｃ色調整」サブプロセスの処理手順を示すフローチャートである。
【図２４】画像加工ルーチンの処理手順を示すフローチャートである。
【図２５】図２４につづく画像加工ルーチンの処理手順を示すフローチャートである。
【図２６】図２４および図２５につづく画像加工ルーチンの処理手順を示すフローチャートである。
【図２７】メインメニュー表示で表示されるメインメニュー画面を示す図である。
【図２８】ステップＳ１１の「入力メニュー表示」で表示される入力メニュー画面を示す図である。
【図２９】サムネイル画像が全て表示された後の出力メニュー画面を示す図である。
【図３０】一覧表示メニュー画面を示す図である。
【図３１】予め指定されたサムネイル画像が表示された状態の画像編集メニュー画面を示す図である。
【図３２】ＳＩ色調整サブプロセスのスライドバーおよびデフォルトボタンが表示された状態の画像編集メニュー画面を示す図である。
【図３３】Ｂ＆Ｃ色調整サブプロセスのスライドバーおよびデフォルトボタンが表示された状態の画像編集メニュー画面を示す図である。
【図３４】入力エラー１の表示を示す図である。
【図３５】入力エラー２の表示を示す図である。
【図３６】入力エラー３の表示を示す図である。
【図３７】出力エラー１の表示を示す図である。
【図３８】出力エラー２の表示を示す図である。
【図３９】記憶媒体としてのプログラムメモリ（ＰＭＥＭ）１２のメモリマップを示す図である。
【符号の説明】
１  ＣＲＴ
２  デジタルカメラ
５  電子アルバムシステム本体
７  ポインティングデバイス
１１  ＣＰＵ
１２  プログラムメモリ（ＰＭＥＭ）
【図１】
0004208307.tif 000002
【図２】
0004208307.tif 000003
【図３】
0004208307.tif 000004
【図４】
0004208307.tif 000005
【図５】
0004208307.tif 000006
【図６】
0004208307.tif 000007
【図７】
0004208307.tif 000008
【図８】
0004208307.tif 000009
【図９】
0004208307.tif 000010
【図１０】
0004208307.tif 000011
【図１１】
0004208307.tif 000012
【図１２】
0004208307.tif 000013
【図１３】
0004208307.tif 000014
【図１４】
0004208307.tif 000015
【図１５】
0004208307.tif 000016
【図１６】
0004208307.tif 000017
【図１７】
0004208307.tif 000018
【図１８】
0004208307.tif 000019
【図１９】
0004208307.tif 000020
【図２０】
0004208307.tif 000021
【図２１】
0004208307.tif 000022
【図２２】
0004208307.tif 000023
【図２３】
0004208307.tif 000024
【図２４】
0004208307.tif 000025
【図２５】
0004208307.tif 000026
【図２６】
0004208307.tif 000027
【図２７】
0004208307.tif 000028
【図２８】
0004208307.tif 000029
【図２９】
0004208307.tif 000030
【図３０】
0004208307.tif 000031
【図３１】
0004208307.tif 000032
【図３２】
0004208307.tif 000033
【図３３】
0004208307.tif 000034
【図３４】
0004208307.tif 000035
【図３５】
0004208307.tif 000036
【図３６】
0004208307.tif 000037
【図３７】
0004208307.tif 000038
【図３８】
0004208307.tif 000039
【図３９】
0004208307.tif 000040