以下、本発明の実施の形態について図面を参照しながら説明する。
まず、本発明の実施の形態に係る画像表示装置を備える画像処理システムについて説明する。
図1は、本実施の形態に係る画像表示装置を備える画像処理システムの構成を示すブロック図である。
図1において、画像処理システムは、画像表示装置の一例であるMFP(Multi Functional Peripheral)10、MFP40、PC(Personal Computer)20から構成される。それらは、ネットワーク(LAN)50を介して接続されている。
MFP10は、コピー機能、プリント機能、データ送信機能等を備える。例えば、MFP10は、PC20から受信した画像データを印刷する。また、MFP10は、PC20から受信した画像データをメモリに格納する。そして、MFP10は、ユーザの指示に基づいて、メモリに格納された画像データを印刷する。あるいは、MFP10は、ユーザの指示に基づいて、メモリに格納された画像データをPC20等の外部の装置に送信する。
PC20は、例えば、マウス、タブレット、キーボード等を用いたユーザの操作を受付け、受付けた操作に基づいて画像データを生成する。そして、PC20は、生成した画像データを、JPEG形式やTIFF形式、あるいは本実施の形態における特定の形式等のファイルとして保存する。また、PC20は、MFP10に画像データを送信する。
MFP40は、MFP10と同様の構成を有する。
なお、本実施の形態では、画像表示装置の例としてMFP10を例にとって説明するが、これに限られるものではなく、SFP(Single Function Printer)や、PC等、画像データを表示できるものであればよい。
図2は、図1におけるMFP10の詳細な構成を説明するためのブロック図である。
MFP10は、コントローラ部201、スキャナ202、プリンタ203、操作部204から構成され、それらは電気的に接続されている。
コントローラ部201において、CPU210(表示制御手段)は、HDD212に格納されたプログラムに従って、MFP10を統括的に制御する。あるいは不図示のROMに格納されたプログラムに従って制御してもよい。
RAM211は、CPU210のワークメモリとして機能する。
HDD212は、CPU210によって読み出されるプログラムや、CPU210によって処理された画像データ等を格納する。
操作部I/F213は、操作部204に接続され、操作部204との間でデータの送受を行う。CPU210は、操作部I/F213を介して操作部204からの操作や指示を受付ける。
画像処理部214は、CPU210からの指示に基づいて、入力画像データに対し補正、加工、編集を行い、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像データの回転や、多値画像データに対してはJPEG、2値画像データに対してはJBIG、MMR、MH等の圧縮伸張処理を行う。
プリンタI/F215は、プリンタ203に接続され、プリンタ203との間でデータの送受を行う。CPU210は、ユーザから画像データに対して印刷指示を受付けた場合に、当該画像データをプリンタI/F215を介してプリンタ203に送信する。
スキャナI/F216は、スキャナ202に接続され、スキャナ202との間でデータの送受を行う。CPU210は、ユーザから原稿の読取指示を受付けた場合に、スキャナ202に対して原稿の読取を指示し、スキャナ202によって読み取られた原稿の画像データをスキャナI/F216を介して受信する。
LANI/F217は、LAN50に接続され、LAN50との間でデータの送受を行う。CPU210は、LANI/F217を介して、外部の装置に画像データの送信を行ったり、外部の装置から画像データを受信したりする。
USBI/F218は、USBメモリを接続可能なインタフェースである。USBI/F218に、USBメモリが接続され、ユーザの指示に基づいて、CPU210は、USBメモリ218に格納された画像データを読み出してHDD212に格納する。
これらCPU210、RAM211、HDD212、操作部I/F213、画像処理部214、プリンタI/F215、スキャナI/F216、LANI/F217、USBI/F218は、それぞれシステムバス205に接続されている。
操作部204は、ユーザの操作を受付けるためのキーや、画像データを表示するための表示部を備える。ユーザの操作を受付けるためのキーは、ハードキーであってもよく、タッチパネルを利用したソフトキーであってもよい。また、表示部は、液晶表示部であってもよく、CRTであってもよい。
プリンタ203は、不図示の給紙部、印刷部、排紙部等を備え、給紙部から給紙されたシートに対して、印刷部によって印刷を行い、印刷されたシートを排紙部に排紙する。なお、印刷部による印刷方法は、電子写真方式であってもよく、インクジェット方式であってもよい。
図3は、本実施の形態における、複数の画像データを1つのファイルとして記録するための画像フォーマット(以下、「PICフォーマット」と呼ぶ。)の構成例を示す図である。
図3において、ファイルヘッダ301は、ファイルのサイズ、ファイルの形式等の情報を記録する領域である。また、ファイルヘッダ301は、1ページ目のページヘッダである1ページヘッダ302のアドレス記録する領域でもある。同様に、ファイルヘッダ301は、2ページ目のページヘッダである2ページヘッダ304のアドレス、3ページ目のページヘッダである3ページヘッダ306のアドレス等を記録する領域でもある。また、ファイルの形式として、このファイルが、複数の画像データを同一のファイルとして記録するフォーマットであることを示す情報が記録されている。
1ページヘッダ302、2ページヘッダ304、3ページヘッダ306は、それぞれ、画像データが記録される1ページデータ303、2ページデータ305、3ページデータ307についての属性情報を記録する領域である。このように、各ページデータの属性情報が関連付けて記録される。ヘッダに記録される属性情報の詳細については、図4を用いて説明する。
1ページデータ303は1ページ目の画像データを記録し、2ページデータ305は2ページ目の画像データを記録し、3ページデータ307は3ページ目の画像データを記録する領域である。
なお、図3に示す例では、PICフォーマットに、3ページ分の画像データが記録される場合について説明したが、PICフォーマットは、これに限られるものではなく、n(nは自然数)ページ分の画像データを記録するものである。
次に、図4を用いて、ページヘッダに記録される各属性情報について説明する。図4は、図3における各ページヘッダ302,304,306の構成例を示す図である。
図4において、メイン画像フラグ401は、そのページがメイン画像か否かを示す領域である。ここでメイン画像とはファイルに含まれる複数の画像の中でメインとなる画像を指す。なお、PICフォーマット中に含まれるメイン画像は1つだけである。メイン画像は、ファイルの作成時にユーザにより指定された画像データである。なお、特に指定がない場合には、ファイルの先頭(ファイルヘッダに最も近い位置)に位置する先頭画像がメイン画像となる。
親画像フラグ402は、そのページの画像データが親画像であるか否かを示す情報が記録される領域である。親画像フラグ402がONになっている場合、そのページの画像が親画像であることを示す。
子画像フラグ403は、そのページの画像データが子画像であるか否かを示す情報が記録される領域である。子画像フラグ402がONになっている場合、そのページの画像が子画像であることを示す。親画像は、複数の子画像を持つことができる。例えば、デジタルカメラによって、連写モードで撮影した時に、連続する複数の画像データが生成される。それらの画像データを、PICフォーマットでは、親画像と子画像として関連付けて保存しておくことができる。例えば、1コマ目を親画像として生成し、2コマ目より後の画像を子画像として、従属関係を持つ形で生成することができる。
前後のページのアドレス404は、そのページの前後のページのページヘッダのアドレスが格納される。後のページがない場合には、そのページが最終ページであることを示す値として、前後のページのアドレス404に0が格納される。ここでいうアドレスとは、ファイルがメモリに記憶されたときの相対アドレスであり、あるページの先頭アドレスに対して、前後のページの先頭アドレスまでのビット数が記憶される。ビット数は、前のページの先頭アドレスまでのビット数と、次のページの先頭アドレスまでのビット数のそれぞれが分けて記憶される。CPU210は、あるページデータが表示部に表示されている状態で、前後のページデータの表示指示がなされた場合に、当該前後のページのアドレス404に格納されたアドレスに基づいて表示部の表示を切替える。
子画像のアドレス405は、そのページが親画像である場合にのみ持つ項目であり、そのページに従属する子画像のページヘッダのアドレスがそれぞれ格納される。このアドレスも、上述した前後のページのアドレス404に格納されるアドレスと同様、相対アドレスである。
カラーモード406は、そのページがカラー画像であるかモノクロ画像であるかを示す領域である。
解像度407は、そのページの解像度を示す領域である。
画像種別408は、そのページの画像の種別を示す領域である。例えば、そのページが、マルチビュー用の画像データである場合、画像種別408には、そのページがマルチビュー用の画像データであることを示す値が記録される。マルチビュー以外にも、画像の種別を示す情報として、連写された画像である連写画像、露出等の条件を変更して撮影されたブラケット画像が、そのページの種別を示す情報として記録される。また、複数の画像で1枚の画像を構成するパノラマ画像、同じ対象物を複数の視点から撮影した多視点画像等が、そのページの種別を示す情報として記録される。また、それ以外の画像の種別を示す情報を記録するようにしてもよい。
図5は、図2における操作部204の構成を示す図である。
図5において、操作部204は、表示部601、上下左右キー602、テンキー603、スタートキー604を備える。表示部601は、液晶表示部とタッチパネルから構成され、ユーザは、タッチパネルを介して操作を行うことができる。
上下左右キー602、テンキー603は、ユーザがファイルの選択や、表示させたい画像データの選択を行うために用いられる。スタートキー604は、ユーザが印刷指示等を行うために用いられる。
図6は、図5における表示部601に表示される画面の一例である。
図6に示すように、表示部601は、HDD212に格納された複数のファイルを表示可能である。
CPU210は、HDD212に格納されたファイルを参照するための指示を受付けた場合に、HDD212に格納されたファイルを一覧表示部508に表示させる。
ユーザは、一覧表示部508に表示された複数のファイルのうちの、いずれかのファイルを選択し、印刷ボタン509、または表示ボタン510を用いて、ファイルの印刷指示、または表示指示を行う。502〜507は、ファイルが選択された状態にあるか否かを示す領域である。図6の状態の場合には、「20080101_1.pic」が選択されている。ユーザは、選択された状態の「20080101_1.pic」を再度選択することによって、「20080101_1.pic」が選択された状態を解除することができる。なお、選択は操作部204が備えるタッチパネルによって行うようにすればよい。
印刷ボタン509は、選択されたファイルを印刷するために押下されるボタンである。表示ボタン510は、選択されたファイルを表示するために押下されるボタンである。
なお、ここでは、MFP10に格納されている画像ファイルを一覧表示部508に表示する例について説明したが、USBメモリや、PC等、他の場所に格納されている画像ファイルを一覧表示部508に表示する構成であってもよい。
キャンセルキーは、選択された状態のファイルの選択状態を解除するためのボタンであり、OKキーは、図6に示す画面の表示を止め、通常画面に表示を戻すためのボタンである。
図7は、図5における表示部601に表示する画像データを、上下左右キー602、テンキー603等の操作キーによって切り替える場合の、画像データの遷移と操作キーの対応とを説明するための図である。
図7において、ファイル1は、複数の画像データを含むファイルであり、画像1A〜6Aを含む。ファイル2は、複数の画像データを含むファイルであり、画像1B〜5Bを含む。ファイル3は、単一の画像データを含むファイルであり、画像1Cを含む。ファイル4は、複数の画像データを含むファイルであり、画像1D〜6Dを含む。また、各画像データの属性情報の一部を括弧書きで示してある。
なお、ファイル1〜4は、それぞれ、図6のファイル「20080101_1.pic」、「20080101_2.pic」、「20080101_3.img」、「20080101_4.pic」に対応する。
図6に示す画面で、「20080101_1.pic」が選択された状態で、表示ボタン510が押されると、CPU210は、ファイル1に含まれる画像データのうち、先頭画像である画像1Aを表示部601に表示させる。図8は、表示部601に画像データが表示された状態を示す図であり、ファイル名「20080101_1.pic」が上部に表示され、画像データが下部に表示されている。同様に、CPU210は、図6に示す画面で、「20080101_2.pic」が選択された状態で、表示ボタン510が押されると、ファイル2に含まれる画像データのうち、先頭画像である画像1Bを表示させる。図8に示す画面において、ファイル名「20080101_2.pic」が上部に表示され、画像データが下部に表示される。
次に、画像1Aが表示部601に表示された状態で、上下左右キー602における左右キーが押された場合に表示部601に表示される画像データについて説明する。
画像1Aが表示部601に表示された状態で、右キーが押されると、CPU210は、画像1Aに対応するページヘッダの情報のうち、前後のページのアドレス404を参照して、メモリ上のアドレスが画像1Aに隣接する画像2Aを表示部601に表示させる。同様に画像2Aが表示部601に表示された状態で、右キーが押されると、CPU210は、メモリ上のアドレスが画像2Aに隣接する画像3Aを表示部602に表示させる。以下、同様に、右キーが押されるたびに、CPU210は、画像3A、画像4A、画像5A、画像6Aを表示部601に表示させる。また、画像6Aが表示部601に表示された状態で、右キーが押された場合、CPU210は、画像1Aを表示部601に表示させる。
一方、画像6Aが表示部601に表示された状態で左キーが押されると、CPU210は、画像1Aに対応するページヘッダの情報のうち、前後のページのアドレス404を参照し、メモリ上のアドレスが画像6Aに隣接する画像5Aを表示部601に表示させる。以下、同様に、画像5Aが表示部601に表示された状態で、左キーが押されるたびに、画像4A、画像3A、画像2A、画像1Aを表示部601に表示させる。なお、画像1Aが表示部601に表示された状態で、左キーが押されると、CPU210は、画像6Aを表示部601に表示させる。このように、あるページが表示された状態で、左右キーが押された場合、CPU210は、同じファイルに含まれる別のページの画像を、ページヘッダに含まれる前後のページのアドレス404に記憶される情報に基づいて表示する。
次に、画像1Aが表示部601に表示された状態で、上下左右キー602における上下キーが押された場合に表示部601に表示される画像データについて説明する。
画像1Aが表示部601に表示された状態で、下キーが押されると、CPU210は、ファイル1の次のファイル2の先頭画像である画像1Bを表示部601に表示させる。以下、同様に、下キーが押されるたびに、ファイル3の画像1C、ファイル4の先頭画像である画像1Dが表示部601に表示される。
なお、画像1Aに限らず、ファイル1に含まれる画像データのうち、いずれの画像データが表示されている場合でも、下キーが押されると、CPU601は、ファイル2の画像1Bを表示部601に表示させる。上キーが押された場合は、下キーが押された場合の逆の遷移を行う。例えば、画像1Dが表示部601に表示されている状態で、上キーが押されるたびに、画像1C、画像1B、画像1Aという順番で、表示部601に表示される画像データが切り替わる。このように、あるページが表示された状態で、上下キーが押された場合、CPU210は、別のファイルに含まれる先頭画像を表示部610に表示させる。
次に、表示部601に画像データが表示された状態で、テンキー603が押下された場合に表示部601に表示される画像データについて説明する。
ある画像が表示部601に表示されている状態で、ユーザにより「1」キーが押された場合、CPU210は、次のように制御する。CPU210は、表示部601に表示されている画像データの親画像を、各ページのページヘッダ中の子画像のアドレス405に格納されたアドレスに基づいて検索して、表示部601に表示させる。具体的に、CPU210は、表示部601に表示されている画像データのアドレスを、子画像のアドレス405として格納しているページを、各ページデータのページヘッダを順次参照することによって検索する。例えば、子画像である画像3Aが表示部601に表示されている状態で、「1」キーが押された場合、CPU210は、画像3Aの親画像である画像1Aを表示部601に表示させる。また、画像1Aを親画像とする画像4A、画像5Aが表示されている状態で、「1」キーが押された場合も、CPU210は、画像1Aを同様に表示部601に表示させる。なお、親画像が表示されている場合に、「1」キーが押されたときは、CPU210は、表示中の画像データに親画像がないことを示すメッセージを表示部601に表示させる。
一方、ある画像が表示部601に表示されている状態で、ユーザにより「2」キーが押された場合、表示部601に表示されている画像のページヘッダ中の、子画像のアドレス405に格納されたアドレスに基づいて、子画像を検索し、表示部601に表示させる。例えば、画像1Aが表示部601に表示されている状態で、「2」キーが押された場合、CPU210は、画像3Aを表示部601に表示させる。なお、子画像が表示されている場合に、「2」キーが押されたときは、CPU210は、表示中の画像データに子画像がないことを示すメッセージを表示部601に表示させる。
このように、「1」、「2」キーが押された場合、CPU210は、ページヘッダに記憶された子画像のアドレス405に記憶されたアドレスに基づいて、親画像や、子画像を表示部601に表示させる。なお、本実施の形態では、子画像が表示されている状態で、「1」キーによる親画像を表示するための指示を受けた場合に、親画像のページヘッダに記憶された子画像のアドレスに基づいて、親画像を表示する例について説明した。しかし、これに限らず、子画像のページヘッダに親画像のアドレスを記憶しておき、CPU210は、「1」キーが押された場合に、子画像のページヘッダに記録される親画像のアドレスに基づいて、親画像を表示させるように制御してもよい。
また、ある画像が表示部601に表示されている状態で、ユーザにより「3」キーが押された場合、CPU210は、同じファイルに格納された同じ種別の画像データを、ページヘッダ中の画像種別408に基づいて検索し、表示部601に表示させる。例えば、画像1Aが表示部601に表示された状態で、「3」キーが押された場合に、CPU210は、画像1Aの種別を判定し、画像1Aと同じ種別の画像があるか否かをメモリ上のアドレス順に検索する。CPU210は、画像2Aの種別が、画像1Aの種別である「通常」と同じ種別の画像であると判定し、画像2Aを表示部601に表示させる。
画像2Aが表示部601に表示された状態で、「3」キーが押された場合に、CPU210は、同じファイルの中に画像2Aと同じ種別の画像があるか否かを、ページヘッダ中の画像種別408をメモリ上のアドレス順に参照することによって検索する。画像3A〜6Aには、画像2Aと同じ種別の画像はないので、CPU210は、画像1Aを表示部601に表示させる。
また、画像3Aが表示部601に表示された状態で、「3」キーが押された場合に、CPU210は、画像3Aの種別である「連写」と同じ種別の画像である画像4Aを表示部601に表示させる。同様に、画像4Aが表示部601に表示されている状態で、「3」キーが押された場合には、CPU210は、画像5Aを表示部601に表示させる。
なお、ある画像が表示された状態で、ユーザにより「4」キーが押された場合、CPU210は、同じファイル中のメモリ上のアドレスを逆順に検索し、ある画像と同じ種別の画像を検索して表示してもよい。例えば、画像5Aが表示部601に表示されている状態で、「4」キーが押された場合、CPU210は、画像4Aを表示部601に表示させる。このように、「3」、「4」キーが押された場合、CPU210は、ページヘッダに記憶された画像種別408に記憶された画像種別情報に基づいて、同じ種別の画像を表示部601に表示させる。
また、ある画像が表示部601に表示されている状態で、ユーザにより「5」キーが押された場合、CPU210は、同じファイルに格納された、異なる種別の画像データを表示部601に表示させる。例えば、画像1Aが表示部601に表示された状態で、「5」キーが押された場合に、CPU210は、画像1Aの種別を判定し、画像1Aと異なる種別の画像があるか否かをメモリ上のアドレス順に検索する。CPU210は、画像3Aの種別が、画像1Aの種別である「通常」と異なる種別の画像であると判定し、画像3Aを表示部601に表示させる。同様に、画像3Aが表示部601に表示された状態で、「5」キーが押されると、CPU210は、画像6Aを表示部601に表示させる。
なお、ある画像が表示された状態で、ユーザにより「6」キーが押された場合、CPU210は、メモリ上のアドレスを逆順に検索し、ある画像と異なる種別の画像を、ページヘッダ中の画像種別408に基づいて検索して表示してもよい。例えば、画像6Aが表示部601に表示されている状態で、「6」キーが押された場合、CPU210は、画像5Aを表示部601に表示させる。このように、「5」、「6」キーが押された場合、CPU210は、ページヘッダに記憶された画像種別408に記憶された画像種別情報に基づいて、異なる種別の画像を表示部601に表示させる。
また、ある画像が表示部601に表示されている状態で、ユーザにより「7」キーが押された場合、CPU210は、同じファイルに格納された画像のうち、同じ親画像を持つ子画像があるか否かをメモリ上のアドレス順に検索し、表示部601に表示させる。この場合、まず、CPU210は、表示部601に表示されている画像の親画像を検索する。これは、ページヘッダに記憶されている、子画像のアドレス405に、表示部601に表示されている画像のアドレスを記憶するページヘッダを持つページがあるか否かを検索する。そして、親画像を検索したら、当該親画像のページヘッダに記憶される、子画像のアドレス405を参照し、表示部601に表示されている画像とは異なる別の子画像を表示部601に表示させる。それによって、同じファイルに格納された画像のうち、同じ親画像を持つ別の子画像が表示部601に表示される。例えば、画像3Aが表示部601に表示された状態で、「7」キーが押された場合に、CPU210は、画像3Aの親画像である画像1Aを親画像として持つ画像4Aを表示部601に表示させる。なお、CPU210は、親画像が表示部601に表示されている状態で「7」キーが押された場合、親画像が表示されている旨を通知するメッセージを表示部601に表示させる。
また、ある画像が表示部601に表示されている状態で、ユーザにより「8」キーが押された場合、CPU210は、同じファイルに格納された画像のうち、同じ親画像を持つ子画像があるか否かをメモリ上のアドレスとは逆順に検索し、表示部601に表示させる。例えば、画像5Aが表示部601に表示された状態で、「8」キーが押された場合に、CPU210は、画像3Aの親画像である画像1Aを親画像として持つ画像4Aを表示部601に表示させる。なお、CPU210は、親画像が表示部601に表示されている状態で「8」キーが押された場合、親画像が表示されている旨を通知するメッセージを表示部601に表示させる。
また、ある画像が表示部601に表示されている状態で、ユーザにより「9」キーが押された場合、CPU210は、同じファイルに格納された画像のうち、メイン画像を、ページヘッダのメイン画像フラグ401に基づいて検索し、表示部601に表示させる。例えば、画像1Aがメイン画像であり、画像3Aが表示部601に表示された状態で、「9」キーが押された場合に、CPU210は、メイン画像である画像1Aを表示部601に表示させる。
なお、ある画像が表示部601に表示されている状態で、ユーザにより「#」キーが押された場合、CPU210は、表示処理を終了し、表示部601に通常の操作画面を表示させる。
以上のように、本実施の形態によれば、複数の画像データが含まれるファイルを表示部601に表示する場合であっても、CPU210は、ユーザの指示に基づいて、それら複数の画像データを順次表示部601に表示させることができる。また、CPU210は、ユーザから、表示されている画像を切替えるための表示切替指示を受けた場合に、受けた指示の内容に応じて、ページヘッダの情報(属性情報)を参照し、ページヘッダの情報に基づいて表示すべき画像データを検索する。そして、CPU210は、検索された画像を表示させるよう制御する。それによって、ユーザは、表示部601に表示される画像を柔軟に切替えることができる。
また、上述したような制御を行うことによって、次のような課題を解決することができる。例えば、MFPのように、小さな表示領域しか持たない表示部601に複数の画像データを表示させる場合に、それら複数の画像データを一度に表示できない場合がある。または、表示部601に一度に複数の画像データを表示させると、各画像データの表示サイズが小さくなり、画像データの内容をユーザが充分確認できなくなる場合がある。そこで、上述したような制御を行うことによって、MFPの表示部601のように、限られたスペースに画像データを表示する場合であっても、表示部601に表示される画像データを表示切替指示によって切替えながら表示する。それによって、表示される画像データの表示サイズを確保しつつ、柔軟な画像データの表示の切替えを行うことができる。
次に、図1におけるMFP10のCPU210が実行する表示処理について説明する。
図11は、図1におけるMFP10のCPU210が実行する表示処理を示すフローチャートである。このフローチャートに示す各ステップは、CPU210が、RAM211に格納されたプログラムを読み出して実行することにより行われる。
図11に示すフローチャートは、図5に示す表示部601で、ファイルが選択され、選択されたファイルに対して表示ボタン510により表示指示がなされた場合に開始される。
図11において、まず、CPU210は、選択されたファイルの先頭の画像を表示部601に表示させる(ステップS1201)。選択されたファイルが、1つのファイルに複数の画像データが含まれるファイルの場合には、複数の画像データのうち、メモリのアドレス上、先頭の画像データを表示部601に表示させる。一方、選択されたファイルが、1つのファイルに1つの画像データが含まれるファイルの場合には、CPU210は、表示部601に当該画像データを表示させる。
次いで、CPU210は、右キーが押されたか否かを判別する(ステップS1202)。
ステップS1202の判別の結果、右キーが押されたときは(ステップS1202でYES)、CPU210は、次のように制御する。CPU210は、メモリ上のアドレスが隣接する次の画像データがあれば、前後のページのアドレス404に格納されるアドレスに基づいて、その画像データを表示部601に表示させて(ステップS1203)、ステップS1228の処理へ進む。
ステップS1202の判別の結果、右キーが押されないときは(ステップS1202でNO)、CPU210は、左キーが押されたか否かを判別する(ステップS1204)。
ステップS1204の判別の結果、左キーが押されたときは(ステップS1204でYES)、CPU210は、次のように制御する。CPU210は、メモリ上のアドレスが隣接する前の画像データがあれば、前後のページのアドレス404に格納されるアドレスに基づいて、その画像データを表示部601に表示させて(ステップS1205)、ステップS1228の処理へ進む。
ステップS1204の判別の結果、左キーが押されないときは(ステップS1204でNO)、CPU210は、下キーが押されたか否かを判別する(ステップS1206)。
ステップS1206の判別の結果、下キーが押されたときは(ステップS1206でYES)、CPU210は、次のファイルがあれば、そのファイルの画像データを表示部601に表示させる(ステップS1207)。その際に、CPU210は、次の画像データの先頭の画像データを表示部601に表示させる。そして、ステップS1228の処理へ進む。
ステップS1206の判別の結果、下キーが押されないときは(ステップS1206でNO)、CPU210は、上キーが押されたか否かを判別する(ステップS1208)。
ステップS1208の判別の結果、上キーが押されたときは(ステップS1208でYES)、CPU210は、前のファイルがあれば、そのファイルの画像データを表示部601に表示させる(ステップS1209)。その際に、CPU210は、前の画像データの先頭の画像データを表示部601に表示させる。そして、ステップS1228の処理へ進む。
ステップS1208の判別の結果、上キーが押されないときは(ステップS1208でNO)、CPU210は、「1」キーが押されたか否かを判別する(ステップS1210)。
ステップS1210の判別の結果、「1」キーが押されたときは(ステップS1210でYES)、CPU210は、親画像があれば、その親画像の画像データを表示部601に表示させて(ステップS1211)、ステップS1228の処理に進む。
ステップS1210の判別の結果、「1」キーが押されないときは(ステップS1210でNO)、CPU210は、「2」キーが押されたか否かを判別する(ステップS1212)。
ステップS1212の判別の結果、「2」キーが押されたときは(ステップS1212でYES)、CPU210は、子画像があれば、その子画像の画像データを表示部601に表示させて(ステップS1213)、ステップS1228の処理に進む。
ステップS1212の判別の結果、「2」キーが押されないときは(ステップS1212でNO)、CPU210は、「3」キーが押されたか否かを判別する(ステップS1214)。
ステップS1214の判別の結果、「3」キーが押されたときは(ステップS1214でYES)、CPU210は、同じ種別の次の画像データがあれば、その画像データを表示部601に表示させて(ステップS1215)、ステップS1228の処理に進む。
ステップS1214の判別の結果、「3」キーが押されないときは(ステップS1214でNO)、CPU210は、「4」キーが押されたか否かを判別する(ステップS1216)。
ステップS1216の判別の結果、「4」キーが押されたときは(ステップS1216でYES)、CPU210は、同じ種別の前の画像データがあれば、その画像データを表示部601に表示させて(ステップS1217)、ステップS1228の処理に進む。
ステップS1216の判別の結果、「4」キーが押されないときは(ステップS1216でNO)、CPU210は、「5」キーが押されたか否かを判別する(ステップS1218)。
ステップS1218の判別の結果、「5」キーが押されたときは(ステップS1218でYES)、CPU210は、異なる種別の次の画像データがあれば、その画像データを表示部601に表示させて(ステップS1219)、ステップS1228の処理に進む。
ステップS1218の判別の結果、「5」キーが押されないときは(ステップS1218でNO)、CPU210は、「6」キーが押されたか否かを判別する(ステップS1220)。
ステップS1220の判別の結果、「6」キーが押されたときは(ステップS1220でYES)、CPU210は、異なる種別の前の画像データがあれば、その画像データを表示部601に表示させて(ステップS1221)、ステップS1228の処理に進む。
ステップS1220の判別の結果、「6」キーが押されないときは(ステップS1220でNO)、CPU210は、「7」キーが押されたか否かを判別する(ステップS1222)。
ステップS1222の判別の結果、「7」キーが押されたときは(ステップS1222でYES)、CPU210は、同じ親画像を持つ次の子画像があれば、その画像データを表示部601に表示させて(ステップS1223)、ステップS1228の処理に進む。
ステップS1222の判別の結果、「7」キーが押されないときは(ステップS1222でNO)、CPU210は、「8」キーが押されたか否かを判別する(ステップS1224)。
ステップS1224の判別の結果、「8」キーが押されたときは(ステップS1224でYES)、CPU210は、同じ親画像を持つ前の子画像があれば、その画像データを表示部601に表示させて(ステップS1225)、ステップS1228の処理に進む。
ステップS1224の判別の結果、「8」キーが押されないときは(ステップS1224でNO)、CPU210は、「9」キーが押されたか否かを判別する(ステップS1226)。
ステップS1226の判別の結果、「9」キーが押されたときは(ステップS1226でYES)、CPU210は、メイン画像があれば、その画像データを表示部601に表示させて(ステップS1227)、ステップS1228の処理に進む。
ステップS1226の判別の結果、「9」キーが押されないときは(ステップS1226でNO)、そのままステップS1228の処理に進む。
続くステップS1228では、CPU210は、表示処理を終了させる指示がなされたか否かを判別する。例えば、「#」キーを、表示処理を終了するためのキーとして、予め登録しておく。
ステップS1228の判別の結果、「#」キーが押されないとき、すなわち表示処理を終了する要求を受けていないときは(ステップS1228でNO)、ステップS1202の処理に戻る。
ステップS1228の判別の結果、「#」キーが押されたとき、すなわち表示処理を終了する要求を受けたときは(ステップS1228でYES)、本処理を終了する。
図11の表示処理によれば、1つのファイルに複数の画像データが含まれる場合であっても、操作部214からの指示(表示切替指示)に基づいて、それら複数の画像データが表示される。そのため、ユーザは、1つのファイルに複数の画像データが含まれる場合でも、当該ファイルに含まれる複数の画像データを容易に見ることができる。
また、ユーザから、表示する画像データを切替える指示を受けた場合に、画像データの属性情報に基づいて、次に表示すべき画像データが決定されるため、ユーザは、次に見たい画像データを、柔軟に選択することができる。
なお、表示部601に表示する形態は、図8に示すような形態だけでなく、図9や、図10のような形態であってもよい。
例えば、図9に示す表示形態の場合、表示部601には、画像3Aが表示(拡大表示)されている。また、画像3Aの近傍には、画像3Aから表示を遷移させることができる複数の縮小画像が同時に表示(縮小表示)されている。これらの縮小画像は、CPU210が、各画像データの属性情報と、各画像データのサムネイルに基づいて表示している。当該サムネイルは、ファイルに元々含まれるものであってもよいし、CPU210によってファイルに含まれる画像データに基づいて生成されるものであってもよい。
画像3Aは、子画像であり、親画像は有するが、子画像は有しない。そのため、子画像に表示を遷移させることはできない旨が表示部601に表示されている。また、各縮小画像の近傍には当該縮小画像を拡大表示させるために必要なテンキー603の番号(1〜9)が表示されている。
また、図10に示す表示形態の場合、表示部601には、画像3Dが表示されている。また、画像3Dの近傍には、画像3Dから表示を遷移させることができる複数の縮小画像が表示されている。これらの縮小画像は、CPU210が、各画像データのサムネイルに基づいて表示している。
画像3Dは、種別がパノラマであり、同じファイルに含まれる他のパノラマ画像と、接合されて、1つの画像データとなる。そこで、表示部601に表示させる際には、1101のように、現在表示されている画像が、パノラマ画像データのどの箇所に該当するかを、ユーザが識別できるような表示を行うのがよい。このような表示は、画像種別408に、種別がパノラマ画像であることを示す情報に加えて、当該ページの画像が、複数の画像データから構成されるパノラマ画像のうちのどの部分の画像データかを示す情報を格納しておくことによって実現できる。
なお、パノラマ画像を表示する場合に、CPU210は、同じファイルに含まれる複数のパノラマ画像のうち、接合すべきパノラマ画像を接合した状態で、表示部601に表示させてもよい。その場合、CPU210は、接合されたパノラマ画像を表示部601に表示可能なサイズに縮小して表示させるとよい。
なお、上述した実施の形態では、ファイルに含まれる複数のページ間の関係を、ページヘッダに含まれる相対アドレスの値で識別する例について説明した。例えば、あるページの次のページを表すために、ページヘッダに、前後のページのアドレスを示すための情報を格納しておき、そのアドレスによって次のページを示していた。しかし、次のページを示すための情報はこれに限られるものではない。例えば、各ページのページヘッダにページIDを格納しておき、あるページのページヘッダに次のページを示すページIDを格納しておく。子画像や、親画像を示す方法も、アドレスによって示す方法に限られるものではなく、ページIDを用いて示すようにしてもよい。このようにページIDを用いてページ間の関係が示される場合には、画像表示装置は、あるページの表示中に次のページを表示するように指示された場合に、ページヘッダに格納される、次のページを示すページIDを識別して、表示を切替えるように制御する。また、子画像や、親画像を表示するように指示された場合にも同様に、子画像や、親画像を示すページIDを識別して、そのページIDで示されるページを表示するように制御する。
次に、図12に示すメモリマップを参照して、本発明に係る画像表示装置で読み取り可能なデータ処理プログラムの構成について説明する。
図12は、本発明に係る画像表示装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報、作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施の形態における機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施の形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、次のようなものがある。例えば、外部のコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのものを、ハードディスク等の記録媒体にダウンロードすることによっても供給できる。もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等のコンピュータ読取可能な記憶媒体に格納してユーザに配布することもできる。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することもできる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現される場合に限らない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づいた制御を行うことも可能である。例えば、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施の形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施の形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。例えば、本実施の形態では、MFP10内部のCPU210が上記各種制御の主体となっていたが、MFP10とは別の筐体の外付けコントローラ等によって、上記各種制御の1部又は全部を実行してもよい。
以上、本発明の様々な例と実施の形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は本明細書内の特定の説明に限定されるのではない。