以下、本発明による画像出力装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による画像出力装置について、図面を参照しながら説明する。本実施の形態による画像出力装置は、一の画像に対して操作を行うことによって、2個の画像に対して同様の操作が行われるものである。
図1は、本実施の形態による画像出力装置1の構成を示すブロック図である。本実施の形態による画像出力装置1は、画像記憶部11と、指示受付部12と、連動状態情報記憶部13と、画像操作部14と、画像出力部15とを備える。
画像記憶部11では、地図の画像である第一画像と、地図の画像である第二画像とが記憶される。第一画像と第二画像とは、通常、対比して閲覧される画像である。第一画像及び第二画像は、例えば、同様の地域の地図の画像であってもよい。ただし、第一画像と第二画像とは異なる種類の地図の画像であることが好適である。同様の地域の異なる種類の地図の画像とは、例えば、同様の地域の航空写真の画像と住宅地図の画像であってもよく、同様の地域の住宅地図の画像と地形図の画像であってもよく、同様の地域の異なる時代の地図の画像(例えば、江戸時代の地図の画像と現代の地図の画像)であってもよい。また、第一画像と第二画像とは、ステレオ画像を構成する各画像(左画像及び右画像)であってもよい。また、第一画像及び第二画像は、それぞれ複数の画像を有する画像群であってもよい。例えば、第一画像は江戸時代の京都の地図の画像であり、縮尺が異なる複数の画像群であってもよい。また、例えば、第二画像は現代の京都の地図の画像であり、縮尺が異なる複数の画像群であってもよい。また、第一画像及び第二画像は、ラスタデータであってもよく、ベクタデータであってもよい。なお、第一画像及び第二画像がベクタデータであったとしても、表示される際にはラスタライズ化されて表示されることになる。また、第一画像及び第二画像には、画像に付随する情報が含まれていてもよい。画像に付随する情報は、例えば、画像に含まれる1以上の点の位置を示す情報(例えば、経度・緯度の情報や、住所の情報、基準点からの距離や方向を示す情報等)であってもよく、その画像の時代を示す情報(例えば、「1900年」などの西暦の年数や、「江戸時代」「明治時代」「現代」などの時代の名称など)であってもよく、その他の情報であってもよい。
画像記憶部11に第一画像及び第二画像が記憶される過程は問わない。例えば、記録媒体を介して第一画像及び第二画像が画像記憶部11で記憶されるようになってもよく、通信回線等を介して送信された第一画像及び第二画像が画像記憶部11で記憶されるようになってもよく、あるいは、カメラなどのデバイスを介して入力された第一画像及び第二画像が画像記憶部11で記憶されるようになってもよい。画像記憶部11での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。画像記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
指示受付部12は、第一画像と第二画像の一方に対する操作の指示である操作指示を受け付ける。操作指示は、第一画像及び第二画像のどちらかに対する指示である。操作指示は、例えば、画像の移動の指示、画像のズームインの指示、画像のズームアウトの指示、画像の回転の指示のいずれかの指示、あるいは、それらの任意の2以上の指示の組合せであってもよい。また、操作指示は、その他の指示、例えば、画像をウィンドウ上にセンタリングする指示などであってもよい。操作指示は、例えば、第一画像が表示されているウィンドウと、第二画像が表示されているウィンドウの少なくともいずれかが受け付けてもよい。
また、指示受付部12は、一方の画像の表示の属性を他方の画像の表示の属性に一致させる旨の指示である属性一致指示をも受け付けてもよい。表示の属性は、例えば、表示の位置、表示の縮尺、表示の角度のいずれかであってもよく、あるいは、それらの任意の2以上の組合せであってもよい。属性一致指示は、どちらの画像の表示の属性を、他方の画像の表示の属性に一致させるのかを示す情報を含んでいてもよく、あるいは、そのような情報を含んでおらず、単に両画像の表示の属性を一致させる旨の情報であってもよい。また、指示受付部12は、第一画像及び第二画像を出力する旨の指示である出力指示をも受け付けてもよい。本実施の形態では、指示受付部12が、属性一致指示と出力指示をも受け付ける場合について説明する。
指示受付部12は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された指示を受け付けてもよく、有線もしくは無線の通信回線を介して送信された指示を受信してもよい。なお、指示受付部12は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、指示受付部12は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
連動状態情報記憶部13では、第一画像及び第二画像が連動するかどうかを示す情報である連動状態情報が記憶される。連動状態情報は、第一画像及び第二画像が連動するかどうかを示すフラグであってもよい。例えば、両画像が連動する場合には連動状態情報が「1」であり、両画像が連動しない場合には連動状態情報が「0」であってもよい。
連動状態情報記憶部13に連動状態情報が記憶される過程は問わない。例えば、記録媒体を介して連動状態情報が連動状態情報記憶部13で記憶されるようになってもよく、通信回線等を介して送信された連動状態情報が連動状態情報記憶部13で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された連動状態情報が連動状態情報記憶部13で記憶されるようになってもよい。連動状態情報記憶部13での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。連動状態情報記憶部13は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
また、連動状態情報記憶部13で記憶されている連動状態情報を変更可能なように、指示受付部12は、連動状態情報の変更指示をも受け付けるものであり、画像出力装置1は、その受け付けられた変更指示に応じて連動状態情報を変更する連動状態情報変更部(図示せず)を備えてもよい。連動状態情報の変更は、例えば、画面上のチェックボックスへのチェックの設定・解除や、ボタンの押下等によってなされてもよい。
画像操作部14は、指示受付部12が受け付けた操作指示に対応する同じ操作を、第一画像及び第二画像の両方に対して行う。ただし、画像操作部14は、連動状態情報記憶部13で記憶されている連動状態情報が、第一画像及び第二画像が連動することを示す場合にのみ、操作指示に対応する同じ操作を、第一画像及び第二画像の両方に対して行い、連動状態情報が、第一画像及び第二画像が連動しないことを示す場合には、操作指示に対応する操作を、その操作指示によって操作することが指示される画像に対してのみ行うものとする。例えば、連動状態情報が、両画像が連動することを示す場合であって、指示受付部12が第一画像に対する操作指示(X)を受け付けた場合には、画像操作部14は、第一画像のウィンドウに対して操作指示(X)のイベントを発行し、同様に第二画像のウィンドウに対して操作指示(X)のイベントを発行してもよい。その場合には、後述する画像出力部15は、ウィンドウが受け付けたイベントに対応して画像を出力する。また、例えば、連動状態情報が、両画像が連動することを示す場合であって、指示受付部12が第一画像に対する操作指示(X)を受け付けた場合には、画像操作部14は、その操作指示(X)に応じた画像に対する処理(例えば、移動や拡大・縮小、回転など)を行い、その処理後の画像を後述する画像出力部15に渡してもよい。
また、画像操作部14は、指示受付部12が属性一致指示を受け付けた場合に、一方の画像の表示の属性を、他方の画像の表示の属性に一致させる操作を行う。属性一致指示が、どちらの画像の表示の属性を、他方の画像の表示の属性に一致させるのかを示す情報を含んでいる場合には、画像操作部14は、その情報に応じて、一方の画像の表示の属性を、他方の画像の表示の属性に一致させる操作を行う。また、属性一致指示が、そのような情報を含んでおらず、単に両画像の表示の属性を一致させる旨の情報である場合には、画像操作部14は、その情報に応じて、あらかじめ決められている画像の表示の属性を、他方の画像の属性に一致させる操作を行う。この場合には、どちらの画像の表示の属性を、他方の画像の属性に一致させるのかを示す情報が、あらかじめ画像操作部14のアクセス可能な図示しない記録媒体において保持されているものとする。
画像出力部15は、第一画像及び第二画像を画像記憶部11から読み出して、それぞれ異なるウィンドウに出力する。画像出力部15は、例えば、指示受付部12が出力指示を受け付けたタイミングで、第一画像及び第二画像を読み出して出力してもよい。なお、異なるウィンドウとは、通常、別のウィンドウである。ただし、このウィンドウは、ウィンドウ・システムにおけるウィンドウであってもよく、あるいは、そのようなウィンドウではなく、画像が表示される領域程度の意味であってもよい。したがって、ウィンドウは、ディスプレイ上における単に区分された領域でもよい。また、異なる2以上のウィンドウの一部に重なりがあってもよい。ただし、完全に重なっている場合は含まないものとする。両ウィンドウを対比して見ることができないからである。異なる2以上のウィンドウは近接して表示されることが好適であるが、そうでなくてもよい。また、画像出力部15が出力する第一画像や第二画像と、画像記憶部11で記憶されている第一画像や第二画像は、厳密には同じものでなくてもよい。例えば、画像記憶部11で記憶されている第一画像等は、広範囲の地図の画像であり、画像出力部15が出力する第一画像等は、その記憶されている広範囲の第一画像等から切り出された画像、すなわち、広範囲の第一画像等の一部の画像であってもよい。また、画像出力部15が出力する第一画像等は、画像記憶部11で記憶されている第一画像等が拡大・縮小された画像や、回転された画像であってもよい。このような場合であっても、画像出力部15が出力する画像も、画像記憶部11で記憶されている画像も第一画像や第二画像と呼ぶことにする。
また、画像出力部15は、画像操作部14によって操作された第一画像及び第二画像をも、それぞれ異なるウィンドウに出力する。例えば、画像操作部14がウィンドウに対して発行したイベントに対応して画像を出力してもよい。また、例えば、画像操作部14が処理を行った後の画像を、それぞれ対応するウィンドウに出力してもよい。
ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力が送信や蓄積、他の構成要素への引き渡しである場合であっても、最終的には、その出力された画像が表示デバイスに表示されることによって、ユーザが画像を見ることができるようになるものとする。本実施の形態では、表示デバイスに表示される場合について説明する。また、画像出力部15は、出力を行うデバイス(例えば、表示デバイスなど)を含んでもよく、あるいは含まなくてもよい。また、画像出力部15は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、画像記憶部11と、連動状態情報記憶部13とは、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、第一画像及び第二画像を記憶している領域が画像記憶部11となり、連動状態情報を記憶している領域が連動状態情報記憶部13となる。
次に、本実施の形態による画像出力装置1の動作について、図2のフローチャートを用いて説明する。
(ステップS101)指示受付部12は、出力指示を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS102に進み、そうでない場合には、受け付けるまでステップS101の処理を繰り返す。この出力指示には、第一画像や第二画像を特定する情報が含まれていてもよい。
(ステップS102)画像出力部15は、画像記憶部11から第一画像を読み出して第一ウィンドウに出力する。その結果、ディスプレイ上の第一ウィンドウに第一画像が表示されることになる。なお、画像出力部15は、第一ウィンドウを生成してから、第一画像をその第一ウィンドウに出力してもよい。ウィンドウを生成する処理は公知であり、その説明を省略する。
(ステップS103)画像出力部15は、画像記憶部11から第二画像を読み出して第二ウィンドウに出力する。その結果、ディスプレイ上の第二ウィンドウに第二画像が表示されることになる。なお、画像出力部15は、第二ウィンドウを生成してから、第二画像をその第二ウィンドウに出力してもよい。第一ウィンドウと第二ウィンドウとは左右や上下などに隣接して並べられていることが好適である。また、その2個のウィンドウは同じ大きさであることが好適である。
(ステップS104)指示受付部12は、操作指示を受け付けたかどうか判断する。そして、操作指示を受け付けた場合には、ステップS105に進み、そうでない場合には、ステップS106に進む。
(ステップS105)画像操作部14等によって、操作指示に対する処理が行われる。そして、ステップS104に戻る。この処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS106)指示受付部12は、属性一致指示を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS107に進み、そうでない場合には、ステップS110に進む。
(ステップS107)画像操作部14は、表示の属性を合わせる基となる画像の表示の属性を取得する。
(ステップS108)画像操作部14は、表示の属性を合わせる対象となる画像の表示の属性を、ステップS107で取得した表示の属性に一致させる操作を行う。
(ステップS109)画像出力部15は、操作後の画像を対応するウィンドウに出力する。そして、ステップS104に戻る。
(ステップS110)画像出力部15は、画像の出力を終了するかどうか判断する。そして、終了する場合には、ステップS101に戻り、そうでない場合には、ステップS104に戻る。なお、画像の出力を終了する場合には、例えば、第一画像及び第二画像が表示されている第一及び第二ウィンドウを閉じるなどの処理を行ってもよい。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図3は、図2のフローチャートにおける操作指示に対する処理(ステップS105)の詳細な処理を示すフローチャートである。
(ステップS201)画像操作部14は、受け付けられた操作指示が「移動」であるかどうか判断する。「移動」とは、ウィンドウ上に表示されている画像の領域を移動することである。「移動」の操作指示は、例えば、マウスで画像をドラッグする処理や、移動後の画像の中心の位置をマウスでクリックする処理、画像上や画像の近傍に表示されている移動方向を示す矢印をマウスでクリックする処理などによってなされる。操作指示が「移動」であれば、ステップS202に進み、そうでなければ、ステップS205に進む。
(ステップS202)画像操作部14は、連動状態情報記憶部13で記憶されている連動状態情報を参照し、両画像が連動するかどうか判断する。そして、連動する場合には、ステップS203に進み、そうでない場合には、ステップS204に進む。
(ステップS203)画像操作部14は、第一及び第二画像に対して操作指示で指示された「移動」の同じ操作を行う。この場合には、第一画像及び第二画像の両方に対して同じ操作が行われる。そして、ステップS217に進む。
(ステップS204)画像操作部14は、操作指示で「移動」の操作が指示された画像に対して、操作指示で指示された「移動」の操作を行う。この場合には、一方の画像に対してのみ操作が行われる。そして、ステップS217に進む。
なお、移動の操作は、例えば、移動後の画像をウィンドウのサイズに合うように切り出す操作であってもよい。この移動の操作は公知であり、その詳細な説明を省略する。
(ステップS205)画像操作部14は、受け付けられた操作指示が「ズームイン」であるかどうか判断する。「ズームイン」とは、ウィンドウ上に表示されている画像を拡大することである。「ズームイン」の操作指示は、例えば、左マウスボタンをダブルクリックする処理や、画像上や画像の近傍に表示されているズームインボタンをマウスでクリックする処理、画像上や画像の近傍に表示されている縮尺のスライダをズームインの方向にマウスでドラッグする処理などによってなされる。操作指示が「ズームイン」であれば、ステップS206に進み、そうでなければ、ステップS209に進む。
(ステップS206)画像操作部14は、連動状態情報記憶部13で記憶されている連動状態情報を参照し、両画像が連動するかどうか判断する。そして、連動する場合には、ステップS207に進み、そうでない場合には、ステップS208に進む。
(ステップS207)画像操作部14は、第一及び第二画像に対して操作指示で指示された「ズームイン」の同じ操作を行う。この場合には、第一画像及び第二画像の両方に対して同じ操作が行われる。そして、ステップS217に進む。
(ステップS208)画像操作部14は、操作指示で「ズームイン」の操作が指示された画像に対して、操作指示で指示された「ズームイン」の操作を行う。この場合には、一方の画像に対してのみ操作が行われる。そして、ステップS217に進む。
なお、ズームインの操作は、例えば、画像を拡大し、その拡大後の画像をウィンドウのサイズに合うように切り出す操作であってもよく、あるいは、画像記憶部11で記憶されている画像群から拡大後の縮尺に対応する画像を読み出して、ウィンドウのサイズに合うように切り出す操作であってもよい。このズームインの操作は公知であり、その詳細な説明を省略する。
(ステップS209)画像操作部14は、受け付けられた操作指示が「ズームアウト」であるかどうか判断する。「ズームアウト」とは、ウィンドウ上に表示されている画像を縮小することである。「ズームアウト」の操作指示は、例えば、右マウスボタンをダブルクリックする処理や、画像上や画像の近傍に表示されているズームアウトボタンをマウスでクリックする処理、画像上や画像の近傍に表示されている縮尺のスライダをズームアウトの方向にマウスでドラッグする処理などによってなされる。操作指示が「ズームアウト」であれば、ステップS210に進み、そうでなければ、ステップS213に進む。
(ステップS210)画像操作部14は、連動状態情報記憶部13で記憶されている連動状態情報を参照し、両画像が連動するかどうか判断する。そして、連動する場合には、ステップS211に進み、そうでない場合には、ステップS212に進む。
(ステップS211)画像操作部14は、第一及び第二画像に対して操作指示で指示された「ズームアウト」の同じ操作を行う。この場合には、第一画像及び第二画像の両方に対して同じ操作が行われる。そして、ステップS217に進む。
(ステップS212)画像操作部14は、操作指示で「ズームアウト」の操作が指示された画像に対して、操作指示で指示された「ズームアウト」の操作を行う。この場合には、一方の画像に対してのみ操作が行われる。そして、ステップS217に進む。
なお、ズームアウトの操作は、例えば、画像を縮小し、その縮小後の画像をウィンドウのサイズに合うように切り出す操作であってもよく、あるいは、画像記憶部11で記憶されている画像群から縮小後の縮尺に対応する画像を読み出して、ウィンドウのサイズに合うように切り出す操作であってもよい。このズームアウトの操作は公知であり、その詳細な説明を省略する。
(ステップS213)画像操作部14は、受け付けられた操作指示が「回転」であるかどうか判断する。「回転」とは、ウィンドウ上に表示されている画像を回転することである。「回転」の操作指示は、例えば、回転方向に画像をマウスでドラッグする処理や、画像上や画像の近傍に表示されている回転ボタンをマウスでクリックする処理などによってなされる。操作指示が「回転」であれば、ステップS214に進み、そうでなければ、規定以外の操作指示であるため、操作を行うことなく図2のフローチャートに戻る。
(ステップS214)画像操作部14は、連動状態情報記憶部13で記憶されている連動状態情報を参照し、両画像が連動するかどうか判断する。そして、連動する場合には、ステップS215に進み、そうでない場合には、ステップS216に進む。
(ステップS215)画像操作部14は、第一及び第二画像に対して操作指示で指示された「回転」の同じ操作を行う。この場合には、第一画像及び第二画像の両方に対して同じ操作が行われる。そして、ステップS217に進む。
(ステップS216)画像操作部14は、操作指示で「回転」の操作が指示された画像に対して、操作指示で指示された「回転」の操作を行う。この場合には、一方の画像に対してのみ操作が行われる。そして、ステップS217に進む。
なお、回転の操作は、例えば、画像を回転し、その回転後の画像をウィンドウのサイズに合うように切り出す操作であってもよい。この回転の操作は公知であり、その詳細な説明を省略する。
(ステップS217)画像出力部15は、操作後の画像を対応するウィンドウに出力する。一方の画像にのみ操作が行われた場合には、その画像のみを対応するウィンドウに出力してもよい。また、第一及び第二画像の両方に対して操作が行われた場合には、両画像をそれぞれ対応する第一及び第二ウィンドウに出力する。そして、図2のフローチャートに戻る。
なお、図3のフローチャートにおいて、移動、ズームイン、ズームアウト、回転の任意の2以上の操作が結合した操作を指示する操作指示が受け付けられた場合には、その結合した各処理をそれぞれ実行するようにしてもよい。例えば、移動とズームインとの操作を指示する操作指示が受け付けられた場合には、移動に関するステップS202〜S204の処理と、ズームインに関するステップS206〜S208の処理とが行われた後に、操作後の画像が対応するウィンドウに出力されてもよい。
次に、本実施の形態による画像出力装置1の動作について、具体例を用いて説明する。
この具体例において、画像記憶部11では、現代の地図の1以上の画像である第一画像が記憶されているものとする。また、画像記憶部11では、江戸時代の地図の1以上の画像である第二画像が記憶されているものとする。また、連動状態情報記憶部13では、両画像を連動する旨の連動状態情報「1」が記憶されているものとする。
まず、ユーザがキーボードやマウスなどを操作することによって、画像出力装置1に現代の地図と、江戸時代の地図とを出力する旨の指示である出力指示を入力したとする。すると、その出力指示は、指示受付部12で受け付けられ(ステップS101)、画像出力部15に渡される。画像出力部15は、その出力指示に応じて、2個のウィンドウを生成し、画像記憶部11から第一画像と第二画像とを読み出して、それぞれを第一ウィンドウと第二ウィンドウとに出力する(ステップS102,S103)。なお、画像出力部15は、第一及び第二画像を読み出す際に、同様の地域の地図の画像を読み出すものとする。その結果、図4で示されるように、左側の第一ウィンドウ51に現代の地図が表示され、右側の第二ウィンドウ52に江戸時代の地図が表示されることになる。ユーザは、図4の表示を見ることによって、現代の地図と、江戸時代の地図とを対比することができる。
次に、ユーザがマウス等を操作することによって、第一ウィンドウ51に表示されている第一画像に対して、右斜め下への移動の操作指示を入力したとする。この入力は、例えば、マウスで第一画像を左斜め上へドラッグすることによってなされてもよい。すると、指示受付部12は、第一画像(第一ウィンドウ51)に対して「移動」の操作指示を受け付け、その操作指示を画像操作部14に渡す(ステップS104)。その操作指示は、「move(x1,y1,x2,y2)」であってもよい。そして、画像操作部14等によって、操作指示に対する処理が行われる(ステップS105)。
具体的には、画像操作部14は、「移動」の操作指示であると判断する(ステップS201)。また、画像操作部14は、連動状態情報記憶部13を参照し、両画像が連動すると判断する(ステップS202)。そして、画像操作部14は、第一ウィンドウ51及び第二ウィンドウ52に対して、同じ移動イベント「move(x1,y1,x2,y2)」を発行する(ステップS203)。ここで、move(x1,y1,x2,y2)は、点(x1,y1)を、点(x2,y2)に移動させるように、画像を移動させる処理を示している。この場合には、点(x1,y1)は、点(x2,y2)の右下の点である。
その後、画像出力部15は、第一ウィンドウ51及び第二ウィンドウ52に対して発行された同じ移動イベント「move(x1,y1,x2,y2)」に対応して、第一画像を右斜め下へ移動させて第一ウィンドウ51に出力する。また、同様に、画像出力部15は、第二画像を右斜め下へ移動させて第二ウィンドウ52に出力する(ステップS217)。その結果、図5で示される表示となる。
次に、ユーザがマウス等を操作することによって、「ズームアウト」の操作指示を入力したとする。その操作指示は、指示受付部12で受け付けられ、画像操作部14に渡される(ステップS104)。その操作指示は、「zoom_out」であってもよい。そして、画像操作部14等によって、操作指示に対する処理が行われる(ステップS105)。なお、ズームアウトの操作指示が受け付けられた場合には、画像の縮尺が0.8倍されるとあらかじめ決められているものとする。
具体的には、画像操作部14は、「ズームアウト」の操作指示であると判断する(ステップS209)。また、画像操作部14は、連動状態情報記憶部13を参照し、両画像が連動すると判断する(ステップS210)。そして、画像操作部14は、第一ウィンドウ51及び第二ウィンドウ52に対して、同じ移動イベント「zoom_out(0.8)」を発行する(ステップS211)。ここで、zoom_out(0.8)は、縮尺を0.8倍する処理を示している。
その後、画像出力部15は、第一ウィンドウ51及び第二ウィンドウ52に対して発行された同じ移動イベント「zoom_out(0.8)」に対応して、第一画像の縮尺を0.8倍した第一画像、すなわち、ズームアウトした第一画像を第一ウィンドウ51に出力する。また、同様に、画像出力部15は、第二画像の縮尺を0.8倍した第二画像、すなわち、ズームアウトした第二画像を第二ウィンドウ52に出力する(ステップS217)。その結果、図6で示される表示となる。
次に、ユーザがマウス等を操作することによって、連動状態情報を変更する指示である変更指示を入力したとする。その変更指示は、指示受付部12で受け付けられ、図示しない連動状態情報変更部によって連動状態情報が、両画像が連動しないことを示すように変更されたとする。変更後の連動状態情報は「0」であるとする。
その後に、ユーザがマウス等を操作することによって、第一画像に対して「ズームイン」の操作指示を入力したとする。この操作指示は、指示受付部12で受け付けられ、画像操作部14に渡される(ステップS104)。その操作指示は、「zoom_in」であってもよい。そして、画像操作部14等によって、操作指示に対する処理が行われる(ステップS105)。なお、ズームインの操作指示が受け付けられた場合には、画像の縮尺が1.25倍されるとあらかじめ決められているものとする。
具体的には、画像操作部14は、「ズームイン」の操作指示であると判断する(ステップS205)。また、画像操作部14は、連動状態情報記憶部13を参照し、両画像が連動しないと判断する(ステップS206)。そして、画像操作部14は、第一ウィンドウ51に対して、ズームインイベント「zoom_in(1.25)」を発行する(ステップS208)。ここで、zoom_in(1.25)は、縮尺を1.25倍する処理を示している。
その後、画像出力部15は、第一ウィンドウ51に対して発行されたズームインイベント「zoom_in(1.25)」に対応して、第一画像の縮尺を1.25倍した第一画像、すなわち、ズームインした第一画像を第一ウィンドウ51に出力する(ステップS217)。その結果、図7で示される表示となる。
次に、ユーザがマウス等を操作することによって、属性一致指示を入力したとする。その属性一致指示は、指示受付部12で受け付けられ、画像操作部14に渡される(ステップS106)。なお、この具体例では、属性一致指示は、両画像の属性を一致させることのみを示す情報であるとする。また、その属性一致指示が受け付けられた場合には、第二画像の表示の属性を、第一画像の表示の属性に合わせることが設定されているものとする。
すると、画像操作部14は、第一ウィンドウ51に表示されている第一画像の表示の属性、すなわち、表示の位置、表示の縮尺、表示の角度を取得する(ステップS107)。取得された表示の位置は、基準点に対する画像の中央の位置を示す(X1,Y1)であり、表示の縮尺は「1/3300」であり、表示の角度は「0度」であったとする。そして、画像操作部14は、第二画像の表示の属性も取得する。その第二画像の表示の位置は(X1,Y1)であり、表示の縮尺は「1/4125」であり、表示の角度は「0度」であったとする。すると、画像操作部23は、第二画像の表示の属性が第一画像の表示の属性と一致するように、第二ウィンドウ52に対して発行するイベントを生成する。ここでは、第二画像の表示の属性と、第一画像の表示の属性は縮尺が違うだけであるため、画像操作部14は、ズームインイベント「zoom_in(1.25)」を生成して、第二ウィンドウ52に対して発行する(ステップS108)。
その後、画像出力部15は、第二ウィンドウ52に対して発行されたズームインイベント「zoom_in(1.25)」に対応して、第二画像の縮尺を1.25倍した第二画像を第二ウィンドウ52に出力する(ステップS109)。その結果、図5で示される表示となり、第一画像と第二画像との表示の属性が一致することになる。
なお、この具体例では、画像操作部14が各ウィンドウに対してイベントを発行し、その発行されたイベントに応じた画像を画像出力部15が出力することによって、画像の操作が行われる場合について説明したが、前述のように、そうでなくてもよい。例えば、画像操作部14が画像の移動や拡大・縮小、回転等の処理を行い、その処理の行われた画像を画像出力部15が出力するようにしてもよい。
以上のように、本実施の形態による画像出力装置1によれば、一の画像に対して操作を行うことによって、第一画像及び第二画像の両方に対して自動的に同じ操作が行われることになり、両画像に対して同じ操作を行う場合に、それぞれの画像に対して同じ操作を行う必要がなく、操作性が向上されている。また、マウスのドラッグで画像の移動を行った場合には、2個の画像のそれぞれに対して同様のドラッグを行ったとしても、厳密には同じ操作にならないことも多いが、本実施の形態の画像操作部14のように、一の画像に対して受け付けられた操作を、第一画像及び第二画像の両方に対して行うことにより、厳密に同じ操作を2個の画像に対して行うことができるようになる。その結果、2個の画像を対比して閲覧する場合に、その閲覧が容易になるメリットがある。
また、連動状態情報によって、一の画像に対して行われた操作を、他方の画像に対しても行うかどうかを切り換えることができる。その結果、次のような効果が得られる。例えば、歴史的な地図は正確でない場合が多い。例えば、江戸時代の地図のA地点と、現在の地図のA地点を比較するために、江戸時代の地図のA地点と、現在の地図のA地点を、各ウィンドウの中央に配置し、2個のウィンドウ(第一画像及び第二画像)の連動を開始したとする。しかし、A地点が中心の状態から、B地点(例えば、A地点から近い地点である)が中心の状態に地図を移動させた場合、江戸時代の地図のB地点と、現在の地図のB地点がかなりずれているということがあり得る。例えば、江戸時代の地図のB地点が画面の中央だが、現在の地図のB地点は端の方であるということが起こりうる。その場合には、ユーザは、マウス等の入力手段により、連動状態情報を変更し、第一画像及び第二画像が連動しない状態にした後に、手作業で、江戸時代の地図のB地点と、現在の地図のB地点を同様の位置(例えば、各ウィンドウの中央)に合わせる。そして、再度、ユーザは、マウス等の入力手段により、連動状態情報を変更し、第一画像及び第二画像が連動する状態にする。そして、ユーザは、マウス等の入力手段により、一の地図画像(例えば、現在の地図画像)に対して操作指示を入力する。そして、江戸時代の地図のB地点付近と、現在の地図のB地点付近を比べて観察することができる。以上のように、連動状態情報により、対応が不正確であったり、不十分であったりする第一画像及び第二画像の観察が、容易になりうる。
また、属性一致指示を入力することにより、例えば、表示の属性がずれてしまった第一画像及び第二画像の表示の属性を容易に一致させることができ、ユーザの利便性が向上されている。
なお、本実施の形態では、指示受付部12による出力指示の受け付けに応じて第一画像及び第二画像が出力される場合について説明したが、そうでなくてもよい。例えば、この画像出力装置1が起動されるタイミングや、その他のタイミングで、第一画像及び第二画像が出力されるようにしてもよい。
また、本実施の形態では、指示受付部12が属性一致指示をも受け付け、その属性一致指示の受け付けに応じて第一画像及び第二画像の表示の属性を一致させる場合について説明したが、そうでなくてもよい。すなわち、属性一致指示の受け付けや、属性一致指示の受け付けに応じて第一画像及び第二画像の表示の属性を一致させる処理が行われなくてもよい。
また、本実施の形態では、連動状態情報が、両画像が連動することを示す場合にのみ、操作指示に対応する同じ操作を、第一画像及び第二画像の両方に対して行う場合について説明したが、連動状態情報に関わらず、操作指示に対応する同じ操作を、第一画像及び第二画像の両方に対して行うようにしてもよい。この場合には、画像出力装置1は連動状態情報記憶部13を備えていなくてもよい。
また、本実施の形態では、画像出力装置1がスタンドアロンである場合について説明したが、画像出力装置1は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置やクライアント装置であってもよい。画像出力装置1がサーバ装置である場合には、指示受付部12や画像出力部15は、通信回線を介して入力を受け付けたり、情報を出力したりしてもよい。また、画像出力装置1がクライアント装置である場合には、画像記憶部11で記憶されている第一画像及び第二画像は、サーバ装置から受信したものであってもよい。
また、通常、第一画像及び第二画像は表示の属性が同じ状態で、両画像に対する同じ操作が行われるが、そうでなくてもよい。例えば、両画像の表示の属性が異なっているままで、両画像に対して同じ操作が行われるようにしてもよい。具体的には、第一画像が京都の地図であり、第二画像が東京の地図であってもよい。この場合には、本実施の形態による画像出力装置1を用いることによって、京都で一定の距離を移動した場合に、東京ではどれぐらいの距離を移動したことになるのかなどを知ることができるようになる。
(実施の形態2)
本発明の実施の形態2による画像出力システムについて、図面を参照しながら説明する。本実施の形態による画像出力システムは、実施の形態1による画像出力装置1と同様の処理を、サーバ・クライアントシステムにおいて実現するものである。
図8は、本実施の形態による画像出力システムを示す図である。図8において、本実施の形態による画像出力システムは、サーバ装置2と、画像出力装置3とを備える。サーバ装置2と、画像出力装置3とは、有線または無線の通信回線500で接続されている。通信回線500は、例えば、インターネットやイントラネット、公衆電話回線網などである。
図9は、本実施の形態によるサーバ装置2の構成を示すブロック図である。図9において、本実施の形態によるサーバ装置2は、画像記憶部21と、指示受信部22と、画像操作部23と、画像送信部24とを備える。サーバ装置2は、例えば、ウェブサーバであってもよい。
画像記憶部21では、地図の画像である第一画像と、地図の画像である第二画像とが記憶される。画像記憶部21は、実施の形態1の画像記憶部11と同様のものであり、その詳細な説明を省略する。
指示受信部22は、第一画像と第二画像の少なくともいずれかに対する操作の指示である操作指示を受信する。操作指示は、例えば、第一画像及び第二画像に対する操作の指示であってもよく、第一画像に対する操作の指示であってもよく、第二画像に対する操作の指示であってもよい。操作指示は、例えば、画像の移動の指示、画像のズームインの指示、画像のズームアウトの指示、画像の回転の指示のいずれかの指示、あるいは、それらの任意の2以上の指示の組合せであってもよい。また、操作指示は、その他の指示、例えば、画像をウィンドウ上にセンタリングする指示などであってもよい。
また、指示受信部22は、属性一致指示をも受け付けてもよい。属性一致指示は、実施の形態1で説明したものと同様である。また、指示受信部22は、第一画像及び第二画像を送信する旨の指示である送信指示をも受信してもよい。本実施の形態では、指示受信部22が属性一致指示と送信指示をも受信する場合について説明する。
なお、指示受信部22は、受信を行うための有線または無線の受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、指示受信部22は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
画像操作部23は、指示受信部22が受信した操作指示に対応する操作を、第一画像と第二画像の少なくともいずれかに対して行う。例えば、操作指示が第一画像及び第二画像に対する操作の指示である場合には、画像操作部23は、第一画像及び第二画像に対して操作指示に対応する操作を行う。また、例えば、操作指示が第一画像に対する操作の指示である場合には、画像操作部23は、第一画像に対して操作指示に対応する操作を行う。また、例えば、操作指示が第二画像に対する操作の指示である場合には、画像操作部23は、第二画像に対して操作指示に対応する操作を行う。例えば、指示受信部22が第一画像及び第二画像に対する操作指示(X)を受信した場合には、画像操作部23は、第一画像及び第二画像に対応する操作指示(X)のイベントを発行してもよい。その場合には、後述する画像送信部24は、第一画像及び第二画像に対応して発行されたイベントに対応して画像を送信する。また、例えば、指示受信部22が第一画像及び第二画像に対する操作指示(X)を受信した場合には、画像操作部23は、その操作指示(X)に応じた画像に対する処理(例えば、移動や拡大・縮小、回転など)を行い、その処理後の画像を後述する画像送信部24に渡してもよい。
また、画像操作部23は、指示受信部22が属性一致指示を受け付けた場合に、一方の画像の表示の属性を、他方の画像の表示の属性に一致させる操作を行う。属性一致指示が、どちらの画像の表示の属性を、他方の画像の表示の属性に一致させるのかを示す情報を含んでいる場合には、画像操作部23は、その情報に応じて、一方の画像の表示の属性を、他方の画像の表示の属性に一致させる操作を行う。また、属性一致指示が、そのような情報を含んでおらず、単に両画像の表示の属性を一致させる旨の情報である場合には、画像操作部23は、その情報に応じて、あらかじめ決められている画像の表示の属性を、他方の画像の属性に一致させる操作を行う。この場合には、どちらの画像の表示の属性を、他方の画像の属性に一致させるのかを示す情報が、あらかじめ画像操作部23のアクセス可能な図示しない記録媒体において保持されているものとする。
画像送信部24は、第一画像及び第二画像を画像記憶部21から読み出して送信する。画像送信部24は、例えば、指示受信部22が送信指示を受信したタイミングで、第一画像及び第二画像を読み出して送信してもよい。第一画像及び第二画像の送信先アドレスは、例えば、送信指示の送信元アドレスであってもよく、送信指示によって指示されたアドレスであってもよく、その他の方法で指示されたアドレスであってもよい。
画像送信部24は、画像操作部23によって操作された第一画像と第二画像の少なくともいずれかをも送信する。例えば、画像操作部23が、第一画像及び第二画像に対して操作指示に対応する操作を行った場合には、その操作後の第一画像及び第二画像を送信する。また、例えば、画像操作部23が、第一画像に対して操作指示に対応する操作を行った場合には、その操作後の第一画像を送信する。また、例えば、画像操作部23が、第二画像に対して操作指示に対応する操作を行った場合には、その操作後の第二画像を送信する。
なお、画像送信部24は、画像出力装置3に直接送信してもよく、あるいは、他のサーバ等を介して間接的に送信してもよい。また、画像送信部24は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、画像送信部24は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
図10は、本実施の形態による画像出力装置3の構成を示すブロック図である。図10において、本実施の形態による画像出力装置3は、画像受信部31と、画像出力部32と、指示受付部33と、連動状態情報記憶部34と、指示送信部35とを備える。
画像受信部31は、サーバ装置2から送信された第一画像及び第二画像を受信する。なお、サーバ装置2から第一画像及び第二画像のいずれか一方のみが送信された場合には、その送信された画像のみを受信することになる。また、画像受信部31が第一画像及び第二画像を受信する場合であっても、一度に受信するのは一方の画像のみであり、その処理を繰り返すことによって、両画像を受信してもよい。
なお、画像受信部31は、受信を行うための有線または無線の受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、画像受信部31は、放送を受信するものであってもよい。また、画像受信部31は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
画像出力部32は、画像受信部31が受信した第一画像及び第二画像を、それぞれ異なるウィンドウに出力する。また、画像受信部31が第一画像及び第二画像のいずれか一方のみを受信した場合には、その受信した画像のみを対応するウィンドウに出力する。ウィンドウについての説明は、実施の形態1と同様であり、その説明を省略する。
ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、出力が送信や蓄積、他の構成要素への引き渡しである場合であっても、最終的には、その出力された画像が表示デバイスに表示されることによって、ユーザが画像を見ることができるようになるものとする。本実施の形態では、表示デバイスに表示される場合について説明する。また、画像出力部32は、出力を行うデバイス(例えば、表示デバイスなど)を含んでもよく、あるいは含まなくてもよい。また、画像出力部32は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
指示受付部33は、第一画像と第二画像の一方に対する操作の指示である操作指示を受け付ける。操作指示については、前述の通りである。また、指示受付部33は、属性一致指示をも受け付けてもよい。属性一致指示については、前述の通りである。また、指示受付部33は、第一画像及び第二画像を出力する旨の指示である出力指示をも受け付けてもよい。本実施の形態では、指示受付部33が、属性一致指示と出力指示をも受け付ける場合について説明する。
指示受付部33は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された指示を受け付けてもよく、有線もしくは無線の通信回線を介して送信された指示を受信してもよい。なお、指示受付部33は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、指示受付部33は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
連動状態情報記憶部34では、第一画像及び第二画像が連動するかどうかを示す情報である連動状態情報が記憶される。連動状態情報記憶部34は、実施の形態1の連動状態情報記憶部13と同様のものであり、その詳細な説明を省略する。
指示送信部35は、指示受付部33が操作指示を受け付けた場合に、第一画像及び第二画像の両方に対する同じ操作指示をサーバ装置2に送信する。すなわち、指示受付部33が一方の画像に対する操作指示を受け付けた場合に、指示送信部35は、両方の画像に対する操作指示としてサーバ装置2に送信する。ただし、指示送信部35は、連動状態情報記憶部34で記憶されている連動状態情報が、第一画像及び第二画像が連動することを示す場合にのみ、第一画像及び第二画像の両方に対する同じ操作指示をサーバ装置2に送信し、連動状態情報が、第一画像及び第二画像が連動しないことを示す場合には、指示受付部33が受け付けた操作指示をそのままサーバ装置2に送信する(すなわち、一方の画像に対する操作指示がサーバ装置2に送信されることになる)。
また、指示送信部35は、指示受付部33が受け付けた属性一致指示をもサーバ装置2に送信する。また、指示送信部35は、指示受付部33が出力指示を受け付けた場合に、送信指示をサーバ装置2に送信する。
なお、指示送信部35は、操作指示等をサーバ装置2に直接送信してもよく、あるいは、他のサーバ等を介して間接的に送信してもよい。また、指示送信部35は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、指示送信部35は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。また、指示送信部35は、サーバ装置2のアドレスを、あらかじめ図示しない記録媒体で保持していてもよく、あるいは、操作指示等の送信の前に、他の構成要素等から受け取ってもよい。
次に、本実施の形態による画像出力システムの動作について、フローチャートを用いて説明する。図11は、本実施の形態によるサーバ装置2の動作を示すフローチャートである。
(ステップS301)指示受信部22は、送信指示を受信したかどうか判断する。そして、送信指示を受信した場合には、ステップS302に進み、そうでない場合には、ステップS303に進む。この送信指示には、第一画像や第二画像を特定する情報が含まれていてもよい。
(ステップS302)画像送信部24は、画像記憶部21から第一画像及び第二画像を読み出して画像出力装置3に送信する。そして、ステップS301に戻る。
(ステップS303)指示受信部22は、操作指示を受信したかどうか判断する。そして操作指示を受信した場合には、ステップS304に進み、そうでない場合には、ステップS305に進む。
(ステップS304)画像操作部23等によって、操作指示に対する処理が行われる。そして、ステップS301に戻る。この処理の詳細については、図12のフローチャートを用いて後述する。
(ステップS305)指示受信部22は、属性一致指示を受信したかどうか判断する。そして、属性一致指示を受信した場合には、ステップS306に進み、そうでない場合には、ステップS301に戻る。
(ステップS306)画像操作部23は、表示の属性を合わせる基となる画像の表示の属性を取得する。
(ステップS307)画像操作部23は、表示の属性を合わせる対象となる画像の表示の属性を、ステップS306で取得した表示の属性に一致させる操作を行う。
(ステップS308)画像送信部24は、操作後の画像を画像出力装置3に送信する。そして、ステップS301に戻る。
なお、図11のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、図11のフローチャートのステップS306において属性を取得することができるように、画像送信部24等は、すでに送信した第一画像や第二画像そのもの、あるいは、すでに送信した第一画像や第二画像の表示の属性を図示しない記録媒体において一時的に記憶しておいてもよい。
図12は、図11のフローチャートにおける操作指示に対する処理(ステップS304)の詳細な処理を示すフローチャートである。
(ステップS401)画像送信部24は、受信された操作指示が「移動」であるかどうか判断する。操作指示が「移動」であれば、ステップS402に進み、そうでなければ、ステップS403に進む。
(ステップS402)画像操作部23は、操作指示によって指示される画像(第一画像及び第二画像、第一画像のみ、あるいは、第二画像のみ)に対して操作指示で指示された「移動」の操作を行う。そして、ステップS409に進む。
(ステップS403)画像送信部24は、受信された操作指示が「ズームイン」であるかどうか判断する。操作指示が「ズームイン」であれば、ステップS404に進み、そうでなければ、ステップS405に進む。
(ステップS404)画像操作部23は、操作指示によって指示される画像(第一画像及び第二画像、第一画像のみ、あるいは、第二画像のみ)に対して操作指示で指示された「ズームイン」の操作を行う。そして、ステップS409に進む。
(ステップS405)画像送信部24は、受信された操作指示が「ズームアウト」であるかどうか判断する。操作指示が「ズームアウト」であれば、ステップS406に進み、そうでなければ、ステップS407に進む。
(ステップS406)画像操作部23は、操作指示によって指示される画像(第一画像及び第二画像、第一画像のみ、あるいは、第二画像のみ)に対して操作指示で指示された「ズームアウト」の操作を行う。そして、ステップS409に進む。
(ステップS407)画像送信部24は、受信された操作指示が「回転」であるかどうか判断する。操作指示が「回転」であれば、ステップS408に進み、そうでなければ、規定以外の操作指示であるため、操作を行うことなく図11のフローチャートに戻る。
(ステップS408)画像操作部23は、操作指示によって指示される画像(第一画像及び第二画像、第一画像のみ、あるいは、第二画像のみ)に対して操作指示で指示された「回転」の操作を行う。そして、ステップS409に進む。
(ステップS409)画像送信部24は、操作後の画像(第一画像及び第二画像、第一画像のみ、あるいは、第二画像のみ)を画像出力装置3に送信する。そして、図11のフローチャートに戻る。
なお、図12のフローチャートにおいて、移動、ズームイン、ズームアウト、回転の任意の2以上の操作が結合した操作を指示する操作指示が受信された場合には、その結合した各処理をそれぞれ実行するようにしてもよい。例えば、移動とズームインとの操作を指示する操作指示が受け付けられた場合には、移動に関するステップS402の処理と、ズームインに関するステップS404の処理とが行われた後に、操作後の画像が画像出力装置3に送信されてもよい。
図13は、本実施の形態による画像出力装置3の動作を示すフローチャートである。
(ステップS501)指示受付部33は、出力指示を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS502に進み、そうでない場合には、受け付けるまでステップS501の処理を繰り返す。この出力指示には、第一画像や第二画像を特定する情報が含まれていてもよい。
(ステップS502)指示送信部35は、送信指示をサーバ装置2に送信する。この送信指示には、第一画像や第二画像を特定する情報が含まれていてもよい。
(ステップS503)画像受信部31は、第一及び第二画像を受信したかどうか判断する。そして、受信した場合には、ステップS504に進み、そうでない場合には、受信するまでステップS503の処理を繰り返す。
(ステップS504)画像出力部32は、画像受信部31が受信した第一画像を第一ウィンドウに出力する。その結果、ディスプレイ上の第一ウィンドウに第一画像が表示されることになる。なお、画像出力部32は、第一ウィンドウを生成してから、第一画像をその第一ウィンドウに出力してもよい。ウィンドウを生成する処理は公知であり、その説明を省略する。
(ステップS505)画像出力部32は、画像受信部31が受信した第二画像を第二ウィンドウに出力する。その結果、ディスプレイ上の第二ウィンドウに第二画像が表示されることになる。なお、画像出力部32は、第二ウィンドウを生成してから、第二画像をその第二ウィンドウに出力してもよい。第一ウィンドウと第二ウィンドウとは左右や上下などに隣接して並べられていることが好適である。また、その2個のウィンドウは同じ大きさであることが好適である。
(ステップS506)指示受付部33は、操作指示を受け付けたかどうか判断する。そして、操作指示を受け付けた場合には、ステップS507に進み、そうでない場合には、ステップS508に進む。
(ステップS507)指示送信部35等によって、操作指示に対する処理が行われる。そして、ステップS506に戻る。この処理の詳細については、図14のフローチャートを用いて後述する。
(ステップS508)指示受付部33は、属性一致指示を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS509に進み、そうでない場合には、ステップS512に進む。
(ステップS509)指示送信部35は、指示受付部33が受け付けた属性一致指示をサーバ装置2に送信する。
(ステップS510)画像受信部31は、サーバ装置2から送信された画像を受信したかどうか判断する。そして、受信した場合には、ステップS511に進み、そうでない場合には、受信するまでステップS510の処理を繰り返す。
(ステップS511)画像出力部32は、画像受信部31が受信した画像を、対応するウィンドウに出力する。そして、ステップS506に戻る。
(ステップS512)画像出力部32は、画像の出力を終了するかどうか判断する。そして、終了する場合には、ステップS501に戻り、そうでない場合には、ステップS506に戻る。なお、画像の出力を終了する場合には、例えば、第一画像及び第二画像が表示されている第一及び第二ウィンドウを閉じるなどの処理を行ってもよい。
なお、図13のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図14は、図13のフローチャートにおける操作指示に対する処理(ステップS507)の詳細な処理を示すフローチャートである。
(ステップS601)指示送信部35は、連動状態情報記憶部34で記憶されている連動状態情報を参照し、両画像が連動するかどうか判断する。そして、連動する場合には、ステップS602に進み、そうでない場合には、ステップS605に進む。
(ステップS602)指示送信部35は、第一画像及び第二画像の両方に対して、指示受付部33が受け付けた操作指示をサーバ装置2に送信する。この操作指示は、第一画像及び第二画像のそれぞれに対応する2個の操作指示であってもよく、あるいは、両画像に対応する1個の操作指示であってもよい。
(ステップS603)画像受信部31は、第一及び第二画像を受信したかどうか判断する。そして、受信した場合には、ステップS604に進み、そうでない場合には、受信するまでステップS603の処理を繰り返す。
(ステップS604)画像出力部32は、画像受信部31が受信した第一画像及び第二画像を、それぞれ第一ウィンドウ及び第二ウィンドウに出力する。そして、図13のフローチャートに戻る。
(ステップS605)指示送信部35は、指示受付部33が受け付けた操作指示をそのままサーバ装置2に送信する。なお、指示送信部35は、その操作指示のデータ等の形式を変更してサーバ装置2に送信してもよい。
(ステップS606)画像受信部31は、サーバ装置2から送信された画像を受信したかどうか判断する。そして、受信した場合には、ステップS607に進み、そうでない場合には、受信するまでステップS606の処理を繰り返す。
(ステップS607)画像出力部32は、画像受信部31が受信した画像を、対応するウィンドウに出力する。そして、図13のフローチャートに戻る。
次に、本実施の形態による画像出力システムの動作について、具体例を用いて説明する。
この具体例でも、実施の形態1の具体例と同様に、画像記憶部21では、現代の地図の1以上の画像である第一画像が記憶されているものとする。また、画像記憶部21では、江戸時代の地図の1以上の画像である第二画像が記憶されているものとする。また、連動状態情報記憶部34では、両画像を連動する旨の連動状態情報が記憶されているものとする。
まず、ユーザがキーボードやマウスなどを操作することによって、画像出力装置3に現代の地図と、江戸時代の地図とを出力する旨の指示である出力指示を入力したとする。すると、その出力指示は、指示受付部33で受け付けられ(ステップS501)、指示送信部35に渡される。そして、指示送信部35は、送信指示をサーバ装置2に送信する(ステップS502)。
サーバ装置2の指示受信部22は、画像出力装置3から送信された送信指示を受信すると、その送信指示を画像送信部24に渡す(ステップS301)。画像送信部24は、その送信指示に応じて、画像記憶部21から第一画像と第二画像とを読み出して、送信指示の送信元のアドレスに送信する(ステップS302)。なお、画像送信部24は、第一及び第二画像を読み出す際に、同様の地域の地図の画像を読み出すものとする。また、画像送信部24は、送信した第一画像及び第二画像を一時的に図示しない記録媒体において記憶しておくものとする。両画像の表示の属性を一致させる際に用いるためである。なお、最後に送信した第一画像及び第二画像のみを一時的に記憶しておけばよい。
サーバ装置2から送信された第一画像及び第二画像は、画像出力装置3の画像受信部31で受信され、画像出力部32に渡される(ステップS503)。画像出力部32は、2個のウィンドウを生成し、受け取った第一画像と第二画像とを第一ウィンドウと第二ウィンドウとに出力する(ステップS504,S505)。その結果、図4で示されるように、左側の第一ウィンドウ51に現代の地図が表示され、右側の第二ウィンドウ52に江戸時代の地図が表示されることになる。ユーザは、図4の表示を見ることによって、現代の地図と、江戸時代の地図とを対比することができる。
次に、ユーザがマウス等を操作することによって、第一ウィンドウ51に表示されている第一画像に対して、右斜め下への移動の操作指示を入力したとする。すると、指示受付部33は、第一画像(第一ウィンドウ51)に対して「移動」の操作指示を受け付け、その操作指示を指示送信部35に渡す(ステップS506)。この操作指示は、「move(x1,y1,x2,y2)」であってもよい。そして、指示送信部35等によって、操作指示に対する処理が行われる(ステップS507)。
具体的には、指示送信部35は、連動状態情報記憶部34を参照し、両画像が連動すると判断する(ステップS601)。したがって、指示送信部35は、第一画像及び第二画像に対する、指示受付部33から受け取った「移動」の操作指示(例えば、「move(x1,y1,x2,y2)」)をサーバ装置2に送信する(ステップS602)。
画像出力装置3から送信された第一画像及び第二画像に対する操作指示は、サーバ装置2の指示受信部22で受信され、画像操作部23に渡される(ステップS303)。そして、画像操作部23等によって、操作指示に対する処理が行われる(ステップS304)。
具体的には、画像操作部23は、「移動」の操作指示であると判断する(ステップS401)。そして、画像操作部23は、その操作指示に応じて移動された第一画像及び第二画像を画像記憶部21から読み出して画像送信部24に渡す(ステップS402)。画像送信部24は、受け取った第一画像及び第二画像を操作指示の送信元のアドレスに送信する(ステップS409)。なお、この送信された第一画像及び第二画像で、一時的に記憶している第一画像及び第二画像が上書きされるものとする。
サーバ装置2から送信された第一画像及び第二画像は、画像出力装置3の画像受信部31で受信され、画像出力部32に渡される(ステップS603)。そして、画像出力部32は、受信された第一画像及び第二画像を、それぞれ第一ウィンドウ及び第二ウィンドウに出力する(ステップS604)。その結果、図5で示される表示となる。
次に、ユーザがマウス等を操作することによって、「ズームアウト」の操作指示を入力したとする。その操作指示は、指示受付部33で受け付けられ、指示送信部35に渡される(ステップS501)。この操作指示は、「zoom_out(0.8)」であってもよい。そして、指示送信部35等によって、操作指示に対する処理が行われる(ステップS507)。
具体的には、指示送信部35は、連動状態情報記憶部34を参照し、両画像が連動すると判断する(ステップS601)。したがって、指示送信部35は、第一画像及び第二画像に対する、指示受付部33から受け取った「ズームアウト」の操作指示(例えば、「zoom_out(0.8)」)をサーバ装置2に送信する(ステップS602)。
画像出力装置3から送信された第一画像及び第二画像に対する操作指示は、サーバ装置2の指示受信部22で受信され、画像操作部23に渡される(ステップS303)。そして、画像操作部23等によって、操作指示に対する処理が行われる(ステップS304)。
具体的には、画像操作部23は、「ズームアウト」の操作指示であると判断する(ステップS405)。そして、画像操作部23は、その操作指示に応じてズームアウトされた第一画像及び第二画像を画像記憶部21から読み出して画像送信部24に渡す(ステップS406)。画像送信部24は、受け取った第一画像及び第二画像を操作指示の送信元のアドレスに送信する(ステップS409)。なお、この送信された第一画像及び第二画像で、一時的に記憶している第一画像及び第二画像が上書きされるものとする。
サーバ装置2から送信された第一画像及び第二画像は、画像出力装置3の画像受信部31で受信され、画像出力部32に渡される(ステップS603)。そして、画像出力部32は、受信された第一画像及び第二画像を、それぞれ第一ウィンドウ及び第二ウィンドウに出力する(ステップS604)。その結果、図6で示される表示となる。
次に、ユーザがマウス等を操作することによって、連動状態情報を変更する指示である変更指示を入力したとする。その変更指示は、指示受付部33で受け付けられ、図示しない連動状態情報変更部によって連動状態情報が、両画像が連動しないことを示すように変更されたとする。
その後に、ユーザがマウス等を操作することによって、第一画像に対して「ズームイン」の操作指示を入力したとする。この操作指示は、指示受付部33で受け付けられ、指示送信部35に渡される(ステップS506)。この操作指示は、「zoom_in(1.25)」であってもよい。そして、指示送信部35等によって、操作指示に対する処理が行われる(ステップS507)。
具体的には、指示送信部35は、連動状態情報記憶部34を参照し、両画像が連動しないと判断する(ステップS601)。したがって、指示送信部35は、第一画像に対する、指示受付部33から受け取った「ズームイン」の操作指示(例えば、「zoom_in(1.25)」)をサーバ装置2に送信する(ステップS605)。
画像出力装置3から送信された第一画像に対する操作指示は、サーバ装置2の指示受信部22で受信され、画像操作部23に渡される(ステップS303)。そして、画像操作部23等によって、操作指示に対する処理が行われる(ステップS304)。
具体的には、画像操作部23は、「ズームイン」の操作指示であると判断する(ステップS403)。そして、画像操作部23は、その操作指示に応じて拡大された第一画像を画像記憶部21から読み出して画像送信部24に渡す(ステップS404)。画像送信部24は、受け取った第一画像を操作指示の送信元のアドレスに送信する(ステップS409)。なお、この送信された第一画像で、一時的に記憶している第一画像が上書きされるものとする。
サーバ装置2から送信された第一画像は、画像出力装置3の画像受信部31で受信され、画像出力部32に渡される(ステップS606)。そして、画像出力部32は、受信された第一画像を第一ウィンドウに出力する(ステップS607)。その結果、図7で示される表示となる。
次に、ユーザがマウス等を操作することによって、属性一致指示を入力したとする。その属性一致指示は、指示受付部33で受け付けられ、指示送信部35に渡される(ステップS508)。指示送信部35は、指示受付部33から受け取った属性一致指示をサーバ装置2に送信する(ステップS509)。なお、この具体例では、属性一致指示は、両画像の属性を一致させることのみを示す情報であるとする。また、その属性一致指示が受け付けられた場合には、第二画像の表示の属性を、第一画像の表示の属性に合わせることが設定されているものとする。
画像出力装置3から送信された属性一致指示は、サーバ装置2の指示受信部22で受信され、画像操作部23に渡される(ステップS305)。すると、画像操作部23は、画像送信部24が送信した第一画像の表示の属性、すなわち、表示の位置、表示の縮尺、表示の角度を、画像送信部24が送信した画像を一時的に記憶している図示しない記録媒体から取得する(ステップS306)。そして、画像操作部23は、第二画像の表示の属性が、その取得した属性と一致するように、画像記憶部21から第二画像を読み出して画像送信部24に渡す。ここでは、第二画像の表示の属性と、第一画像の表示の属性は縮尺が違うだけであるため、画像操作部23は、ズームインの操作指示「zoom_in(1.25)」が受け付けられた場合と同様にして、第二画像を生成して、画像送信部24に渡す(ステップS307)。画像送信部24は、受け取った第二画像を属性一致指示の送信元のアドレスに送信する(ステップS308)。
サーバ装置2から送信された第二画像は、画像出力装置3の画像受信部31で受信され、画像出力部32に渡される(ステップS510)。そして、画像出力部32は、受信された第二画像を第二ウィンドウに出力する(ステップS511)。その結果、図5で示される表示となり、第一画像と第二画像との表示の属性が一致することになる。
なお、この具体例では、画像操作部23が画像の移動や拡大・縮小、回転等の処理を行い、その処理の行われた画像を画像送信部24が送信する場合について説明したが、そうでなくてもよい。例えば、画像操作部23が画像に対してイベントを発行し、その発行されたイベントに応じた画像を画像送信部24が送信することによって、画像の操作が行われるようにしてもよい。
以上のように、本実施の形態による画像出力システムによれば、一の画像に対して操作を行うことによって、第一画像及び第二画像の両方に対して自動的に同じ操作が行われることになり、両画像に対して同じ操作を行う場合に、それぞれの画像に対して同じ操作を行う必要がなく、操作性が向上されている。また、マウスのドラッグで画像の移動を行った場合には、2個の画像のそれぞれに対して同様のドラッグを行ったとしても、厳密には同じ操作にならないことも多いが、本実施の形態の指示送信部35のように、一の画像に対して受け付けられた操作指示を、第一画像及び第二画像の両方に対する操作指示として送信することにより、厳密に同じ操作を2個の画像に対して行うことができるようになる。その結果、2個の画像を対比して閲覧する場合に、その閲覧が容易になるメリットがある。
なお、本実施の形態では、指示受信部22による送信指示の受信に応じて第一画像及び第二画像が送信される場合について説明したが、そうでなくてもよい。例えば、画像出力装置3が起動されるタイミングや、その他のタイミングで、第一画像及び第二画像が送信されるようにしてもよい。
また、本実施の形態では、サーバ装置2が1個である場合について説明したが、サーバ装置2が2個以上存在してもよい。サーバ装置2が2個以上存在する場合には、例えば、画像出力装置3は、第一画像を一方のサーバ装置2から受信し、第二画像を他方のサーバ装置2から受信してもよい。また、画像出力装置3は、第一画像に対する操作指示を一方のサーバ装置2に送信し、第二画像に対する操作指示を他方のサーバ装置2に送信してもよい。
また、本実施の形態では、指示受付部33が属性一致指示をも受け付け、その属性一致指示の受け付けに応じて第一画像及び第二画像の表示の属性を一致させる場合について説明したが、そうでなくてもよい。すなわち、属性一致指示の受け付けや、属性一致指示の受け付けに応じて第一画像及び第二画像の表示の属性を一致させる処理が行われなくてもよい。この場合には、サーバ装置2において、送信した画像やその画像の表示の属性を一時的に記憶していなくてもよい。
また、本実施の形態では、連動状態情報が、両画像が連動することを示す場合にのみ、第一画像及び第二画像の両方に対する同じ操作指示をサーバ装置2に送信する場合について説明したが、連動状態情報に関わらず、第一画像及び第二画像の両方に対する同じ操作指示をサーバ装置2に送信してもよい。この場合には、画像出力装置3は連動状態情報記憶部34を備えていなくてもよい。
また、本実施の形態において、指示受付部33が操作指示等を受け付けた場合に、画像出力装置3が保持している第一画像や第二画像を用いてその操作指示等に対応する操作などを行うことができる場合には、その操作指示等をサーバ装置2に送信せず、画像出力装置3において操作等の処理を行うようにしてもよい。
また、本実施の形態において、画像出力装置3から送信された送信指示や操作指示に応じて、サーバ装置2が第一画像や第二画像を送信する際に、送信指示や操作指示の送信と、第一画像や第二画像の送信は、画像ごとに行われてもよい。例えば、第一画像に対する操作指示が送信され、その操作指示に応じた操作後の第一画像が画像出力装置3に送信された後に、第二画像に対する操作指示が送信され、その操作指示に応じた操作後の第二画像が画像出力装置3に送信されてもよい。
また、上記各実施の形態では、対比する画像が2個である場合、すなわち、対比する画像が第一画像及び第二画像である場合について説明したが、対比する画像は3個以上であってもよい。そして、一の画像に対して操作を行うことによって、その3個以上の全ての画像に対して自動的に同じ操作が行われるようにしてもよい。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記各実施の形態において、画像出力装置1,3やサーバ装置2に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における画像出力装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、地図の画像である第一画像と、地図の画像である第二画像とが記憶される画像記憶部から前記第一画像及び前記第二画像を読み出して、それぞれ異なるウィンドウに出力する画像出力部と、前記第一画像と前記第二画像の一方に対する操作の指示である操作指示を受け付ける指示受付部と、前記指示受付部が受け付けた操作指示に対応する同じ操作を、前記第一画像及び前記第二画像の両方に対して行う画像操作部として機能させ、前記画像出力部は、前記画像操作部によって操作された前記第一画像及び前記第二画像をも、それぞれ異なるウィンドウに出力する、プログラムである。
また、上記実施の形態における画像出力装置3を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、サーバ装置と、画像出力装置とを備えた画像出力システムを構成する前記画像出力装置として機能させるためのプログラムであって、前記サーバ装置から送信された地図の画像である第一画像及び地図の画像である第二画像を受信する画像受信部と、前記画像受信部が受信した前記第一画像及び前記第二画像を、それぞれ異なるウィンドウに出力する画像出力部と、前記第一画像と前記第二画像の一方に対する操作の指示である操作指示を受け付ける指示受付部と、前記指示受付部が操作指示を受け付けた場合に、前記第一画像及び前記第二画像の両方に対する同じ操作指示を前記サーバ装置に送信する指示送信部として機能させ、前記画像受信部は、前記指示送信部が送信した操作指示に応じて操作された前記第一画像と前記第二画像をも受信する、プログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、指示を受け付ける受付部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図15は、上記プログラムを実行して、上記実施の形態による画像出力装置1,3、サーバ装置2を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図15において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図16は、コンピュータシステム900の内部構成を示す図である。図16において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による画像出力装置1,3、サーバ装置2の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による画像出力装置1,3、サーバ装置2の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。