以下、図面を参照しつつ本発明の一実施の形態について説明する。なお、以下の説明に用いる図面では、同一の部品に同一の符号を付してある。それらの名称及び機能も同一である。従って、それらについての詳細な説明は繰り返さない。
(機能的構成)
図1には、本実施の形態に係るデータ変換装置100の機能的構成のブロック図を示す。
図1に示すように、データ変換装置100は、データ入力部101を備えている。さらに、データ変換装置100は、領域認識部102、拡大縮小決定部105、データ変換部106、データ出力処理部107、及びデータ表示処理部108を備えている。また、領域認識部102は第1領域認識部103及び第2領域認識部104を備えている。
なお、入力装置13はタッチパネル、電子ペン、またはマウスなどである。データ10は、例えば無線もしくは有線を介して配信される情報や記録メディア等に記録された情報だけでなく、これと同様にして提供される情報も含む。即ち、種々の形態及び種々の媒体によって提供されるマルチメディアの情報全般を指すものとする。
データ入力部101は、例えば無線もしくは有線を介して配信されるデータを受信するインタフェースであり、ネットワーク経由でデータ10を入力するためのものである。さらに、データ入力部101は、例えば記録媒体からデータを読み込むインタフェースであってもよく、この場合には記録媒体11に記録されたデータを入力するためのものでもある。
領域認識部102は、第1領域認識部103及び第2領域認識部104から構成される。
第1領域認識部103は、ユーザからの情報を入力するためのインタフェースであり、データ入力部101を介して入力されたデータに対してユーザが指定した第1の領域を示す情報が入力される。例えば、図2に示すように、表示装置15に表示された地図情報を示すデータ151に対して、ユーザが電子ペン152を使用して、領域153を指定した場合、第1領域認識部103は領域153を第1の領域として認識する。第1領域認識部103は、電子ペン152を使用して指定された領域153の座標情報に基づいて、第1の領域を認識する。これは、例えば表示装置15の表示面にはタッチパネル等のセンサが設けられており、ユーザが電子ペン152等で表示面部に触れると、センサが検知するものであっても構わない。
ここで、第1の領域は、拡大処理または縮小処理される領域を示す。すなわち、第1領域認識部103により指定された第1の領域に含まれるデータが拡大処理、または縮小処理される対象となる。
第2領域認識部104は、ユーザからの情報を入力するためのインタフェースであり、データ入力部101を介して入力されたデータに対してユーザが指定した第2の領域を示す情報が入力される。例えば、図2に示すように、表示装置15に表示された地図情報を示すデータ151に対して、ユーザが電子ペン152を使用して領域153を指定した場合、第2領域認識部104は領域153を第2の領域として認識する。第2領域認識部104は、電子ペン152を使用して指定された領域153の座標情報に基づいて、第2の領域を認識する。
ここで、第2の領域は、第1の領域に含まれるデータの拡大処理または縮小処理を行う場合の倍率と、拡大処理あるいは縮小処理された第1の領域に含まれるデータの表示位置を示す。すなわち、第1領域認識部103により指定された第1の領域に含まれるデータの拡大処理を行う場合、第1の領域は第2領域認識部104により指定された第2の領域(第1の領域よりも大きい領域)の大きさに合致するように拡大処理され、第2の領域で示される位置に表示される。一方、第1領域認識部103により指定された第1の領域に含まれるデータの縮小処理を行う場合、第1の領域は第2領域認識部104により指定された第2の領域(第1の領域よりも小さい領域)の大きさに合致するように縮小処理され、第2の領域で示される位置に表示される。
なお、第1の領域と第2の領域の区別は、ユーザにより入力された順番により行われ、最初に指定された領域が第1の領域であり、次に指定された領域が第2の領域である。
拡大縮小決定部105は、第1領域認識部103により認識された第1の領域、及び第2領域認識部104により認識された第2の領域に基づいて、第1の領域に含まれるデータを拡大処理するか、または第1の領域に含まれるデータを縮小処理するかを決定する。
なお、拡大縮小決定部105が第1の領域に含まれるデータを拡大処理するか、または縮小処理するかを決定する方法は、第1の領域の面積と第2の領域の面積に基づいて決定するものであっても構わない。すなわち、第2の領域の面積が第1の領域の面積よりも大きい場合、拡大縮小決定部105は、第1の領域に含まれるデータの拡大処理を行うことを決定する。一方、第2の領域の面積が第1の領域の面積よりも小さい場合、拡大縮小決定部105は、第1の領域に含まれるデータの縮小処理を行うことを決定する。ただし、拡大縮小決定部105が第1の領域に含まれるデータを拡大処理するか、または縮小処理するかを決定する方法は必ずしもこれに限定されない。例えば、第1の領域及び第2の領域がそれぞれ矩形である場合は、矩形の一辺の長さの比に基づいて決定するものであっても構わない。
データ変換部106は、拡大縮小決定部105による決定事項に基づいて、データ入力部101から入力されたデータ10の変換処理を行う。第1の領域に含まれるデータの拡大処理を行う場合、データ変換部106は、第1の領域に含まれるデータを拡大する倍率を算出し、算出された倍率に基づいて第1の領域に含まれるデータの拡大処理を行い、拡大処理された第1の領域に含まれるデータが第2の領域に位置するようにデータを変換する。一方、第1の領域の縮小表示を行う場合、データ変換部106は、第1の領域に含まれるデータを縮小する倍率を算出し、算出された倍率に基づいて第1の領域に含まれるデータの縮小処理を行い、縮小処理された第1の領域に含まれるデータが第2の領域に位置するようにデータを変換する。
ここで、拡大処理または縮小処理を行う場合の倍率の算出の仕方は、第1の領域の面積に対する第2の領域の面積の比で算出するものであっても構わない。ただし、拡大処理または縮小処理を行う場合の倍率の算出の仕方はこれに限定されない。例えば、第1の領域及び第2の領域がそれぞれ矩形である場合は、第1の領域である矩形の一辺の長さに対する、この辺に対応した第2の領域である矩形の一辺の長さの比で算出するものであっても構わない。すなわち、第1の領域と第2の領域をある指標に基づいて比較した場合の比の大きさを用いるものであれば構わない。
データ出力処理部107は、データ変換部106にて変換されたデータを外部機器14に出力する。外部機器14では、データ出力処理部107から出力されたデータを例えば保存する。
データ表示処理部108は、データ入力部101を介して入力されたデータ10及びデータ変換部106にて変換されたデータを表示装置15に表示する。この場合、ユーザ12は表示装置15に表示されたデータを見ることができ、また表示装置15に表示されたデータに対して第1の領域及び第2の領域を指定することができる。
(データ変換装置100を実現するコンピュータシステムの構成)
本実施の形態に係るデータ変換装置100は、実質的には、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図3に、このコンピュータシステム200の内部構成を示す。
図3を参照して、このコンピュータシステム200は、光ディスクドライブ201及び磁気ディスクドライブ202を有するコンピュータ220と、モニタ203と、マウス204と、電子ペン205とを含む。
コンピュータ220は、光ディスクドライブ201及び磁気ディスクドライブ202に加えて、マウス204及び電子ペン205からの信号を受信する入力インタフェース(I/F)206と、CPU(中央処理装置)207と、入力インタフェース206、CPU207、光ディスクドライブ201及び磁気ディスクドライブ202に接続されたバス208と、バス208に接続され、ブートアッププログラム等を記憶する読出専用メモリ(ROM)209と、同じくバス208に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ(RAM)210とを含む。
ここでは示さないが、コンピュータ220はさらにローカルエリアネットワーク(LAN)への接続を提供するネットワークアダプタボードを含んでいてもよい。
コンピュータシステム200にデータ変換装置100の機能を実現させるためのプログラム、及びデータ10(図1参照)はいずれも、光ディスクドライブ201又は磁気ディスクドライブ202に挿入される光ディスク211又は磁気ディスク212に記憶され、さらにハードディスク213に転送される。又は、プログラム、及びデータ10(図1参照)は図示しないネットワークを通じてコンピュータ220に送信されハードディスク213に記憶されてもよい。プログラムは実行の際にRAM210にロードされる。光ディスク211から、磁気ディスク212から、又はネットワークを介して、直接にRAM210にプログラムをロードしてもよい。
このプログラムは、コンピュータ220に本実施の形態に係るデータ変換装置100の機能を実現させる複数の命令を含む。これら機能を実現させるのに必要な基本的機能のいくつかはコンピュータ220上で動作するオペレーティングシステム(OS)又はサードパーティのプログラム、若しくはコンピュータ220にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態に係るデータ変換装置100の機能を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出すことにより、上記したデータ変換装置100の制御を実行する命令のみを含んでいればよい。コンピュータシステム200の動作は周知であるので、ここでは繰り返さない。
なお、データ変換装置100の機能を実現するためのプログラム、及びデータ10(図1参照)が記録される記録媒体は、CD−ROM(コンパクトディスク読取専用メモリ)、MO(Magneto−Optical disc)、MD(Mini Disc)、及びDVD(Digital Versatile Disc)等の光ディスク211、FD(フレキシブルディスク)及びハードディスク等の磁気ディスク212に限らない。磁気テープ及びカセットテープ等のテープ、IC(Integrated Circuit)カード及び光カード等のカード型記録媒体、並びにマスクROM、EPROM(Erasable Programable ROM)、EEPROM(Electrically Erasable Programable ROM)、及びフラッシュROM等の半導体メモリのいずれかでもよい。ただし、コンピュータシステム200は、これら記録媒体からの読出を行なうための読出装置を実装する必要がある。
(主要動作の概要)
図4は、データ変換装置100の主要動作の概要を示すフローチャートである。
図4を参照して、データ変換装置100の電源が入れられると、プログラム300が起動し、ステップS301へ進む。
ステップS301では、データ入力部101がデータの入力を行い、ステップS302へ進む。このとき、データ変換装置100に表示装置15が備えられている場合は、データ表示処理部108がデータ入力部101を介して入力されたデータを表示装置15に表示する。
ステップS302では、第1領域認識部103はユーザ12から表示手段に表示されたデータに対する第1の領域の指定が行われるのを待ち、ユーザ12からデータに対する第1の領域の指定が行われると、ステップS303へ進む。ここで、ユーザ12がデータに対する第1の領域を指定する方法としては、例えば図2に示すように、表示装置15に表示されたデータ151に対して、電子ペン152等を使用して第1の領域153を指定する。
ステップS303では、第1領域認識部103はユーザ12から指定された第1の領域を認識して、ステップS304へ進む。ここで、第1領域認識部103が第1の領域を認識する方法としては、例えば図2に示すように、ユーザが表示装置15に表示されたデータ151に対して、電子ペン152等を使用して第1の領域153を指定した場合、第1領域認識部103は第1の領域153を示す座標情報を得ることで第1の領域を認識することができる。図2に示すように第1の領域153が矩形である場合、例えば第1の領域153の左上の座標情報、及び第1の領域153の右下の座標情報を得ることができれば、第1領域認識部103は第1の領域153を認識することができる。
ステップS304では、第2領域認識部104はユーザ12から表示手段に表示されたデータに対する第2の領域の指定が行われるのを待ち、ユーザ12からデータに対する第2の領域の指定が行われると、ステップS305へ進む。ステップS304における処理はステップS302における処理と同様である。
ステップS305では、第2領域認識部104はユーザ12から指定された第2の領域を認識して、ステップS306へ進む。ステップS305における処理はステップS303における処理と同様である。
ステップS306では、拡大縮小決定部105はステップS303において第1領域認識部103により認識された第1の領域に含まれるデータの拡大処理を行うか、または縮小処理を行うかを決定する。拡大処理を行う場合はステップS307へ進み、縮小処理を行う場合はステップS308へ進む。ここで、拡大縮小決定部105が第1の領域に含まれるデータの拡大処理を行うか、または縮小処理を行うかを決定する方法は、例えばステップS303において認識された第1の領域の面積、及びステップS305において認識された第2の領域の面積に基づいて決定する。すなわち、第2の領域の面積が第1の領域の面積よりも大きい場合は拡大処理を行うものとし、第2の領域の面積が第1の領域の面積よりも小さい場合は縮小処理を行うものとする。
ステップS307では、データ変換部106は第1の領域に含まれるデータの拡大処理を行い、ステップS309へ進む。なお、拡大処理の詳細については後述する。
ステップS308では、データ変換部106は第1の領域に含まれるデータの縮小処理を行い、ステップS309へ進む。なお、縮小処理の詳細については後述する。
ステップS309では、データ出力処理部107はデータ変換部106において変換されたデータを外部機器14に出力し、処理を終了する。また、データ変換装置100に表示装置15が備えられている場合、データ表示処理部108はデータ変換部106において変換されたデータを表示装置15に表示し、処理を終了する。
(拡大処理)
図5は、図4に示すステップS307で実行される拡大処理を示すフローチャートである。図5を参照して、拡大処理350が開始されると、ステップS351では、データ変換部106は、第1領域認識部103により認識された第1の領域の一辺と、それに対応する第2領域認識部104により認識された第2の領域の一辺の比から第1の倍率を算出し、ステップS352へ進む。例えば、第1の領域の一辺の長さが1cmであり、それに対応する第2の領域の一辺の長さが2cmである場合、第1の倍率は2倍と算出される。
ステップS352では、データ変換部106は、第1領域認識部103により認識された第1の領域の他の一辺と、それに対応する第2領域認識部104により認識された第2の領域の他の一辺の比から第2の倍率を算出し、ステップS353へ進む。例えば、第1の領域の他の一辺の長さが2cmであり、それに対応する第2の領域の他の一辺の長さが3cmである場合、第2の倍率は1.5倍と算出される。
ステップS353では、データ変換部106は、ステップS351にて算出された第1の倍率と、ステップS352にて算出された第2の倍率は同じ値か否かを判定する。第1の倍率と第2の倍率が同じである場合はステップS354へ進み、異なる場合はステップS355へ進む。
ステップS354では、データ変換部106は、ステップS351にて算出された第1の倍率に基づいて、第1の領域に含まれるデータの拡大処理を行い、ステップS360へ進む。
ステップS355では、データ変換部106は、ステップS351にて算出された第1の倍率とステップS352にて算出された第2の倍率のどちらの倍率に基づいて、第1の領域に含まれるデータの拡大処理を行うかを決定する。大きい方の倍率に基づいて第1の領域に含まれるデータの拡大処理を行う場合はステップS356へ進み、小さい方の倍率に基づいて第1の領域に含まれるデータの拡大処理を行う場合はステップS358へ進む。なお、データ変換部106が第1の倍率または第2の倍率のどちらの倍率に基づいて拡大処理を行うのかを決定する方法としては、予めデータ変換装置100に設定されているものであっても構わないし、ユーザからの入力により決定するものであっても構わない。
ステップS356では、データ変換部106は、第2の領域の拡大処理を行い、ステップS357へ進む。これは、データ変換部106は大きい方の倍率に基づいて第1の領域に含まれるデータの拡大処理を行うため、拡大処理された第1の領域に含まれるデータを第2の領域に当てはめると、第2の領域に収まりきらないためである。そこで、ステップS356では、拡大処理される第1の領域に含まれるデータが第2の領域に収まるように、第2の領域を拡大させる。ここで、第2の領域の拡大の方法は、第2の領域を一方向に引き伸ばすことで拡大するものであっても構わないし、第2の領域を二方向に引き伸ばすことで拡大するものであっても構わない。
ステップS357では、データ変換部106は、ステップS351にて算出された第1の倍率とステップS352にて算出された第2の倍率のうち、大きい方の倍率に基づいて、第1の領域に含まれるデータの拡大処理を行い、ステップS360へ進む。
ステップS358では、データ変換部106は、第2の領域の縮小処理を行い、ステップS359へ進む。これは、データ変換部106は小さい方の倍率に基づいて第1の領域に含まれるデータの拡大処理を行うため、拡大処理後の第1の領域の大きさは第2の領域の大きさよりも小さくなるためである。そこで、ステップS358では、第1の領域に含まれるデータを拡大処理後に表示するのに必要な領域(最小領域)と同じ大きさになるように、第2の領域を縮小させる。ここで、第2の領域の縮小の方法は、第2の領域を一方向に縮めることで縮小するものであっても構わないし、第2の領域を二方向から縮めることで縮小するものであっても構わない。
ステップS359では、データ変換部106は、ステップS351にて算出された第1の倍率とステップS352にて算出された第2の倍率のうち、小さい方の倍率に基づいて、第1の領域に含まれるデータの拡大処理を行い、ステップS360へ進む。
ステップS360では、データ変換部106は、拡大処理された第1の領域に含まれるデータを第2の領域の位置に当てはめるように調整し、ステップS361へ進む。
ステップS361では、データ変換部106は、拡大処理された第1の領域に含まれるデータが当てはめられた第2の領域以外のデータも、ステップS354、ステップS356、またはステップS358のいずれかで用いた倍率に基づいて、データの拡大処理を行い、処理を終了する。
これにより、第1の領域に含まれるデータが第2の領域で示される大きさに拡大され、かつ拡大された第1の領域に含まれるデータが第2の領域に位置するようにデータを変換することができる。
(縮小処理)
図6は、図4に示すステップS308で実行される縮小処理を示すフローチャートである。図6を参照して、縮小処理400が開始されると、ステップS401では、データ変換部106は、第1領域認識部103により認識された第1の領域の一辺と、それに対応する第2領域認識部104により認識された第2の領域の一辺の比から第1の倍率を算出し、ステップS402へ進む。例えば、第1の領域の一辺の長さが2cmであり、それに対応する第2の領域の一辺の長さが1cmである場合、第1の倍率は0.5倍と算出される。
ステップS402では、データ変換部106は、第1領域認識部103により認識された第1の領域の他の一辺と、それに対応する第2領域認識部104により認識された第2の領域の他の一辺の比から第2の倍率を算出し、ステップS403へ進む。例えば、第1の領域の他の一辺の長さが3cmであり、それに対応する第2の領域の他の一辺の長さが2.1cmである場合、第2の倍率は0.7倍と算出される。
ステップS403では、データ変換部106は、ステップS401にて算出された第1の倍率と、ステップS402にて算出された第2の倍率は同じ値か否かを判定する。第1の倍率と第2の倍率が同じである場合はステップS404へ進み、異なる場合はステップS405へ進む。
ステップS404では、データ変換部106は、ステップS401にて算出された第1の倍率に基づいて、第1の領域に含まれるデータの縮小処理を行い、ステップS410へ進む。
ステップS405では、データ変換部106は、ステップS401にて算出された第1の倍率とステップS402にて算出された第2の倍率のどちらの倍率に基づいて、第1の領域に含まれるデータの縮小処理を行うかを決定する。大きい方の倍率に基づいて第1の領域に含まれるデータの縮小処理を行う場合はステップS406へ進み、小さい方の倍率に基づいて第1の領域に含まれるデータの縮小処理を行う場合はステップS408へ進む。なお、データ変換部106が第1の倍率または第2の倍率のどちらの倍率に基づいて縮小処理を行うのかを決定する方法としては、予めデータ変換装置100に設定されているものであっても構わないし、ユーザからの入力により決定するものであっても構わない。
ステップS406では、データ変換部106は、第2の領域の拡大処理を行い、ステップS407へ進む。これは、データ変換部106は大きい方の倍率に基づいて、第1の領域に含まれるデータの縮小処理を行うため、縮小処理される第1の領域に含まれるデータを第2の領域に当てはめると、第2の領域に収まりきらないためである。そこで、ステップS406では、縮小処理される第1の領域に含まれるデータが第2の領域に収まるように、第2の領域を拡大させる。ここで、第2の領域の拡大の方法は、第2の領域を一方向に引き伸ばすことで拡大するものであっても構わないし、第2の領域を二方向に引き伸ばすことで拡大するものであっても構わない。
ステップS407では、データ変換部106は、ステップS401にて算出された第1の倍率とステップS402にて算出された第2の倍率のうち、大きい方の倍率に基づいて、第1の領域に含まれるデータの縮小処理を行い、ステップS410へ進む。
ステップS408では、データ変換部106は、第2の領域の縮小処理を行い、ステップS409へ進む。これは、データ変換部106は小さい方の倍率に基づいて、第1の領域に含まれるデータの縮小処理を行うため、縮小処理後の第1の領域の大きさは第2の領域の大きさよりも小さくなるためである。そこで、ステップS408では、第1の領域に含まれるデータを縮小処理後に表示するのに必要な領域(最小領域)と同じ大きさになるように、第2の領域を縮小させる。ここで、第2の領域の縮小の方法は、第2の領域を一方向に縮めることで縮小するものであっても構わないし、第2の領域を二方向から縮めることで縮小するものであっても構わない。
ステップS409では、データ変換部106は、ステップS401にて算出された第1の倍率とステップS402にて算出された第2の倍率のうち、小さい方の倍率に基づいて、第1の領域に含まれるデータの縮小処理を行い、ステップS410へ進む。
ステップS410では、データ変換部106は、縮小処理された第1の領域に含まれるデータを第2の領域の位置に当てはめるように調整し、ステップS411へ進む。
ステップS411では、データ変換部106は、縮小処理された第1の領域に含まれるデータが当てはめられた第2の領域以外のデータも、ステップS404、ステップS406、またはステップS408のいずれかで用いた倍率に基づいて、データの縮小処理を行い、処理を終了する。
これにより、第1の領域に含まれるデータが第2の領域で示される大きさに縮小され、かつ縮小された第1の領域に含まれるデータが第2の領域に位置するようにデータを変換することができる。
以下、データ変換装置100の具体的な動作として、実施例1から実施例6を例示する。
(実施例1)
以下に示す実施例1では、表示装置に表示されているデータのある領域の拡大処理を行う場合のデータ変換装置100の動作を例示する。
図7(a)には、データ501が表示装置15に表示されている様子を示す。ここでは、図7(b)に示すように、ユーザが電子ペンやマウス等を使用して第1の領域502及び第2の領域503を指定したことにより拡大処理を行う場合について、図4に示すフローチャート300及び図5に示すフローチャート350に従って、データ501の拡大処理について説明する。ここでは、座標は表示装置15の左上を基準とし、水平右方向をX軸正方向とし、垂直下方向をY軸正方向とするものとする。この点は以下の他の例においても同様である。
ステップS301では、図7(a)に示すように、データ入力部101を介して入力されたデータは、データ表示処理部108にて表示装置15に表示される。
ステップS302及びステップS303では、第1領域認識部103は、図7(b)に示すように電子ペンやマウス等を使用して指定された第1の領域502を認識する。ここでは、第1の領域502は矩形であるため、第1領域認識部103は左上の座標(X_11,Y_11)と右下の座標(X_12,Y_12)を認識するだけで、第1の領域を認識することができる。
ステップS304及びステップS305では、第2領域認識部104は、図7(b)に示すように電子ペンやマウス等を使用して指定された第2の領域503を認識する。ここでは、第2の領域503は矩形であるため、第2領域認識部104は左上の座標(X_21,Y_21)と右下の座標(X_22,Y_22)を認識するだけで、第2の領域を認識することができる。
ステップS306では、拡大縮小決定部105は第1の領域に含まれるデータの拡大処理を行うか、または縮小処理を行うかを決定する。なお、この決定は例えば第1の領域及び第2の領域の面積に基づいて決定するものとし、第2の領域の面積が第1の領域の面積よりも大きい場合は拡大処理を行い、第2の領域の面積が第1の領域の面積よりも小さい場合は縮小処理を行う。すなわち、
(X_22−X_21)×(Y_22−Y_21)>(X_12−X_11)×(Y_12−Y_11)
で示される式を満たす場合は拡大処理を行い、
(X_22−X_21)×(Y_22−Y_21)<(X_12−X_11)×(Y_12−Y_11)
で示される式を満たす場合は縮小処理を行う。ただし、拡大縮小決定部105が拡大処理を行うか、あるいは縮小処理を行うかを決定する方法は必ずしもこれに限定されるものではない。
例えば、拡大縮小決定部105は、第1の領域502と第2の領域503のX軸方向の辺の比から第1の倍率を算出し、第1の領域502と第2の領域503のY軸方向の辺の比から第2の倍率を算出する。そして、拡大縮小決定部105は、第1の倍率と第2の倍率が共に1以上である場合は拡大処理を行い、第1の倍率と第2の倍率が共に1以下である場合は縮小処理を行うと決定するものであっても構わない。なお、図7(b)では、第1の倍率は、
(X_22−X_21)/(X_12−X_11)
で示される式で算出され、第2の倍率は
(Y_22−Y_21)/(Y_12−Y_11)
で示される式で算出される。
ここでは、拡大縮小決定部105は拡大処理を行うものとし、ステップS307へ進む。
次に図5に示すフローチャート350におけるステップS351及びステップS352では、データ変換部106は上記で示す式で第1の倍率と第2の倍率を算出する。ここでは、第1の倍率及び第2の倍率が共に2であったとする。
ステップS353では、第1の倍率及び第2の倍率が共に2であるため、ステップS354へ進み、ステップS354では第1の領域502に含まれるデータを2倍に拡大する。
ステップS360では、図7(c)に示すように、2倍に拡大処理された第1の領域に含まれるデータを第2の領域503に当てはめる。そして、ステップS361では、データ変換部106は第2の領域503以外の領域に含まれるデータも2倍に拡大する。
このようにして、第1の領域502に含まれるデータを第1の領域502と第2の領域503との大きさの比に基づいて2倍に拡大処理し、第2の領域503の位置に当てはめて表示を行った場合の様子は図7(c)に示すとおりである。この結果、ユーザは第1の領域と第2の領域を指定するだけで、第1の領域に含まれるデータを第2の領域の大きさに基づいて拡大処理し、さらにそれを第2の領域の位置で見ることができる。このように、ユーザは拡大したデータの表示位置まで指定できるため、図7(c)では右上の領域を効率よく使用することができる。
なお、図7(b)では、第1の倍率と第2の倍率が共に同じ場合であったが、次に第1の倍率と第2の倍率が異なる場合について、図8を用いて説明する。
図8(a)には、データ551が表示装置15に表示されている場合に、ユーザが電子ペンやマウス等を使用して第1の領域552及び第2の領域553を指定した様子を示す。
図5に示すフローチャート350におけるステップS351及びステップS352では、データ変換部106は第1の領域552と第2の領域553のX軸方向の辺の比から第1の倍率を算出し、第1の領域552と第2の領域553のY軸方向の辺の比から第2の倍率を算出する。ここでは、第1の倍率が1.5であり、第2の倍率が2であったとする。
ステップS353では、第1の倍率と第2の倍率は異なるため、ステップS355へ進み、ステップS355では、データ変換部106は第1の倍率に基づいて拡大処理を行うか、第2の倍率に基づいて拡大処理を行うかを決定する。なお、この決定はユーザが行うものであっても構わないし、機器側で設定された情報を基に行うものであっても構わない。
ここでは、大きい方の倍率である第2の倍率に基づいて拡大処理を行うものとする。この場合、データ変換部106は第1の領域に含まれるデータを大きい方の倍率に基づいて拡大処理するため、拡大処理後の第1の領域に含まれるデータは第2の領域に当てはめることができない。そこで、ステップS356では、データ変換部106は第2の領域553の拡大処理を行う。ここでは、拡大処理後の第1の領域に含まれるデータを第2の領域に当てはめるために、データ変換部106は第2の領域をX軸方向に拡大する必要がある。この場合の拡大率は、4/3である。なお、この場合の拡大率は
{(X_12−X_11)・(Y_22−Y_21)}/{(X_22−X_21)・(Y_12−Y_11)}
で示される式で算出される。
なお、第2の領域553をX軸方向に拡大する方法は、図8(b)に示すようにX軸負方向である左への一方向にのみ拡大するものであっても構わないし、X軸正方向である右への一方向にのみ拡大するものであっても構わないし、図8(d)に示すようにX軸正方向である右方向及びX軸負方向である左方向への二方向へ拡大するものであっても構わない。なお、この決定はユーザが行うものであっても構わないし、機器側で設定された情報を基に行うものであっても構わない。
ステップS357では、データ変換部106は第1の領域552に含まれるデータを2倍に拡大する。ステップS360では、ステップS357にて2倍に拡大処理された第1の領域に含まれるデータを、ステップS356にてX軸方向に拡大処理された第2の領域に当てはめる。ステップS361では、データ変換部106は拡大処理された第2の領域以外の領域に含まれるデータも2倍に拡大する。図8(c)では、図8(b)に示すように拡大処理が行われた第2の領域554に、拡大処理された第1の領域に含まれるデータを当てはめた場合の様子を示し、図8(e)では、図8(d)に示すように拡大処理が行われた第2の領域555に、拡大処理された第1の領域に含まれるデータを当てはめた場合の様子を示す。
このようにして、第1の倍率と第2の倍率が異なる場合、大きい方の倍率に基づいて第1の領域に含まれるデータの拡大処理を行っても、それに応じて第2の領域の拡大処理を行うことで、第2の領域の位置に第1の領域に含まれるデータを当てはめることができる。この結果、第1の倍率と第2の倍率の違いにより第1の領域に含まれるデータが歪んだ形に拡大処理されることなく、さらにユーザは、第1の領域に含まれるデータの拡大処理されたものを、指定した第2の領域の位置で見ることができる。このように、ユーザは拡大したデータの表示位置まで指定できるため、図8(c)及び図8(e)では右上の領域を効率よく使用することができる。
図8では、大きい方の倍率である第2の倍率に基づいて拡大処理を行う場合について説明したが、次に小さい方の倍率である第1の倍率に基づいて拡大処理を行う場合について、図9を用いて説明する。
図9(a)には、図8(a)と同様、データ551が表示装置15に表示されている場合に、ユーザが電子ペンやマウス等を使用して第1の領域552及び第2の領域553を指定した様子を示す。
図5に示すフローチャート350におけるステップS351及びステップS352では、データ変換部106は第1の領域552と第2の領域553のX軸方向の辺の比から第1の倍率を算出し、第1の領域552と第2の領域553のY軸方向の辺の比から第2の倍率を算出する。ここでは、第1の倍率が1.5であり、第2の倍率が2であったとする。
ステップS353では、第1の倍率と第2の倍率は異なるため、ステップS355へ進み、ステップS355では、データ変換部106は第1の倍率に基づいて拡大処理を行うか、第2の倍率に基づいて拡大処理を行うかを決定する。なお、この決定はユーザが行うものであっても構わないし、機器側で設定された情報を基に行うものであっても構わない。
ここでは、小さい方の倍率である第1の倍率に基づいて拡大処理を行うものとする。この場合、データ変換部106は第1の領域に含まれるデータを小さい方の倍率に基づいて拡大処理するため、拡大処理後の第1の領域の大きさは第2の領域の大きさよりも小さくなる。そこで、ステップS358では、データ変換部106は第2の領域553の縮小処理を行う。ここでは、第2の領域を拡大処理後の第1の領域と同じ大きさにするために、データ変換部106は第2の領域をY軸方向に縮小する必要がある。この場合の倍率は、0.75である。なお、この場合の倍率は
{(Y_12−Y_11)・(X_22−X_21)}/{(Y_22−Y_21)・(X_12−X_11)}
で示される式で算出される。
なお、第2の領域をY軸方向に縮小する方法は、図9(b)に示すようにY軸負方向である上への一方向へ縮小するものであっても構わないし、Y軸正方向である下への一方向へ縮小するものであっても構わないし、図9(d)に示すようにY軸正方向である下方向及びY軸負方向である上方向への二方向へ縮小するものであっても構わない。なお、この決定はユーザが行うものであっても構わないし、機器側で設定された情報を基に行うものであっても構わない。
ステップS359では、データ変換部106は第1の領域552に含まれるデータを1.5倍に拡大する。ステップS360では、ステップS359にて1.5倍に拡大処理された第1の領域に含まれるデータを、ステップS358にてY軸方向に縮小処理された第2の領域に当てはめる。ステップS361では、データ変換部106は縮小処理された第2の領域以外の領域に含まれるデータも1.5倍に拡大する。図9(c)では、図9(b)に示すように縮小処理が行われた第2の領域556に、拡大処理された第1の領域に含まれるデータを当てはめた場合の様子を示し、図9(e)では、図9(d)に示すように縮小処理が行われた第2の領域557に、拡大処理された第1の領域に含まれるデータを当てはめた場合の様子を示す。
このようにして、第1の倍率と第2の倍率が異なる場合、小さい方の倍率に基づいて第1の領域に含まれるデータの拡大処理を行っても、それに応じて第2の領域の縮小処理を行うことで、第2の領域の位置に第1の領域に含まれるデータを当てはめることができる。この結果、第1の倍率と第2の倍率の違いにより第1の領域に含まれるデータが歪んだ形に拡大処理されることなく、さらにユーザは、第1の領域に含まれるデータの拡大処理されたものを、指定した第2の領域の位置で見ることができる。このように、ユーザは拡大したデータの表示位置まで指定できるため、図9(c)及び図9(e)では右上の領域を効率よく使用することができる。
なお、データ変換部106は、第1の倍率と第2の倍率のどちらか一方の倍率を用いて拡大処理を行うものに限定されない。データ変換部106は、第1の倍率と第2の倍率の平均により算出される平均倍率に基づいて、拡大処理を行うものであっても構わない。例えば、第1の倍率が1.5であり、第2の倍率が2であったとすると、第1の倍率と第2の倍率の平均である1.75を平均倍率として、データ変換部106は第1の領域に含まれるデータの拡大処理を行う。
この場合、第1の倍率と第2の倍率の平均により算出された平均倍率に基づいて第1の領域に含まれるデータの拡大処理を行うと、拡大処理後の第1の領域に含まれるデータは第2の領域に当てはめることができないため、データ変換部106は第2の領域の拡大処理及び縮小処理を行う必要がある。ここでは、第2の領域を拡大処理後の第1の領域と同じ大きさにするために、データ変換部106は第2の領域をX軸方向に拡大し、さらにY軸方向に縮小する必要がある。なお、第2の領域をX軸方向に拡大する方法は、X軸正方向である右への一方向へ拡大するものであっても構わないし、X軸負方向である左への一方向へ拡大するものであっても構わないし、X軸正方向である右方向及びX軸負方向である左方向への二方向へ拡大するものであっても構わない。同様に、第2の領域をY軸方向に縮小する方法は、Y軸正方向である下への一方向へ縮小するものであっても構わないし、Y軸負方向である上への一方向へ縮小するものであっても構わないし、Y軸正方向である下方向及びY軸負方向である上方向への二方向へ縮小するものであっても構わない。これにより、データ変換部106は拡大処理された第1の領域に含まれるデータを、拡大処理及び縮小処理された第2の領域に当てはめることができる。
実施例1では、ユーザが表示装置に表示されているデータに対して、第1の領域及び第2の領域を指定するだけで、第1の領域に対する第2の領域の大きさに基づいて第1の領域に含まれるデータの拡大処理を行い、それを第2の領域に当てはめて表示することができる。また、第1の倍率と第2の倍率が異なる場合であっても、どちらか一方の値もしくは第1の倍率と第2の倍率の平均にて算出された値に基づいて拡大処理を行い、さらに第2の領域の大きさを調整することで、歪んだ形に拡大処理されることを防ぐことができる。また、拡大処理された第1の領域に含まれるデータの表示位置を第2の領域として指定することができるため、例えば第2の領域を表示装置の右側に指定すれば左側の領域に同じ倍率で拡大されたデータが表示され、ユーザは左側の領域を効率よく使用することができる。
(実施例2)
以下に示す実施例2では、表示装置に表示されているデータのある領域の縮小表示を行う場合のデータ変換装置100の動作を例示する。
図10(a)には、データ601が表示装置15に表示されている様子を示す。ここでは、図10(b)に示すように、ユーザが電子ペンやマウス等を使用して第1の領域602及び第2の領域603を指定したことにより縮小表示を行う場合について、図4に示すフローチャート300及び図6に示すフローチャート400に従って、データ601の縮小処理について説明する。
ステップS301では、図10(a)に示すように、データ入力部101を介して入力されたデータは、データ表示処理部108にて表示装置15に表示される。
ステップS302及びステップS303では、第1領域認識部103は、図10(b)に示すように電子ペンやマウス等を使用して指定された第1の領域602を認識する。ここでは、第1の領域602は矩形であるため、第1領域認識部103は左上の座標(X_11,Y_11)と右下の座標(X_12,Y_12)を認識するだけで、第1の領域を認識することができる。
ステップS304及びステップS305では、第2領域認識部104は、図10(b)に示すように電子ペンやマウス等を使用して指定された第2の領域603を認識する。ここでは、第2の領域603は矩形であるため、第2領域認識部104は左上の座標(X_21,Y_21)と右下の座標(X_22,Y_22)を認識するだけで、第2の領域を認識することができる。
ステップS306では、拡大縮小決定部105は実施例1で示した方法に従って、第1の領域に含まれるデータの拡大処理を行うか、または縮小処理を行うかを決定する。
ここでは、拡大縮小決定部105は縮小処理を行うものとし、ステップS308へ進む。
次に図6に示すフローチャート400におけるステップS401及びステップS402では、データ変換部106は第1の領域602と第2の領域603のX軸方向の辺の比から第1の倍率を算出し、第1の領域602と第2の領域603のY軸方向の辺の比から第2の倍率を算出する。すなわち、第1の倍率は
(X_22−X_21)/(X_12−X_11)
で示される式で算出され、第2の倍率は
(Y_22−Y_21)/(Y_12−Y_11)
で示される式で算出される。ここでは、第1の倍率及び第2の倍率が共に0.5であったとする。
ステップS403では、第1の倍率及び第2の倍率が共に0.5であるため、ステップS404へ進み、ステップS404では第1の領域602に含まれるデータを0.5倍に縮小する。
ステップS410では、図10(c)に示すように、0.5倍に縮小処理された第1の領域に含まれるデータを第2の領域603に当てはめる。そして、ステップS411では、データ変換部106は第2の領域603以外の領域に含まれるデータも0.5倍に縮小する。
このようにして、第1の領域602に含まれるデータを第1の領域602と第2の領域603との大きさの比に基づいて0.5倍に縮小処理し、第2の領域603の位置に当てはめて表示を行った場合の様子は図10(c)に示すとおりである。この結果、ユーザは第1の領域と第2の領域を指定するだけで、第1の領域に含まれるデータを第2の領域の大きさに基づいて縮小処理し、さらにそれを第2の領域の位置で見ることができる。このように、ユーザは縮小したデータの表示位置まで指定できるため、図10(c)では左下の領域を効率よく使用することができる。
なお、図10(b)では、第1の倍率と第2の倍率が共に同じ場合であったが、次に第1の倍率と第2の倍率が異なる場合について、図11を用いて説明する。
図11(a)には、データ651が表示装置15に表示されている場合に、ユーザが電子ペンやマウス等を使用して第1の領域652及び第2の領域653を指定した様子を示す。
図6に示すフローチャート400におけるステップS401及びステップS402では、データ変換部106は第1の領域652と第2の領域653のX軸方向の辺の比から第1の倍率を算出し、第1の領域652と第2の領域653のY軸方向の辺の比から第2の倍率を算出する。ここでは、第1の倍率が0.7であり、第2の倍率が0.5であったとする。
ステップS403では、第1の倍率と第2の倍率は異なるため、ステップS405へ進み、ステップS405では、データ変換部106は第1の倍率に基づいて縮小処理を行うか、第2の倍率に基づいて縮小処理を行うかを決定する。なお、この決定はユーザが行うものであっても構わないし、機器側で設定された情報を基に行うものであっても構わない。
ここでは、大きい方の倍率である第1の倍率に基づいて縮小処理を行うものとする。この場合、データ変換部106は第1の領域に含まれるデータを大きい方の倍率に基づいて縮小処理するため、縮小処理された第1の領域に含まれるデータは第2の領域に当てはめることができない。そこで、ステップS406では、データ変換部106は第2の領域653の拡大処理を行う。ここでは、縮小処理された第1の領域に含まれるデータを第2の領域に当てはめるために、データ変換部106は第2の領域をY軸方向に拡大する必要がある。この場合の拡大率は1.4である。なお、この場合の拡大率は
{(Y_12−Y_11)・(X_22−X_21)}/{(Y_22−Y_21)・(X_12−X_11)}
で示される式で算出される。
なお、第2の領域653をY軸方向に拡大する方法は、図11(b)に示すようにY軸負方向である上への一方向にのみ拡大するものであっても構わないし、Y軸正方向である下への一方向にのみ拡大するものであっても構わないし、図11(d)に示すようにY軸正方向である下方向及びY軸負方向である上方向への二方向へ拡大するものであっても構わない。なお、この決定はユーザが行うものであっても構わないし、機器側で設定された情報を基に行うものであっても構わない。
ステップS407では、データ変換部106は第1の領域652に含まれるデータを0.7倍に縮小する。ステップS410では、ステップS407にて0.7倍に縮小処理された第1の領域に含まれるデータを、ステップS406にてY軸方向に拡大処理された第2の領域に当てはめる。ステップS411では、データ変換部106は拡大処理された第2の領域以外の領域に含まれるデータも0.7倍に縮小する。図11(c)では、図11(b)に示すように拡大処理が行われた第2の領域654に、縮小処理された第1の領域に含まれるデータを当てはめた場合の様子を示し、図11(e)では、図11(d)に示すように拡大処理が行われた第2の領域655に、縮小処理された第1の領域に含まれるデータを当てはめた場合の様子を示す。
このようにして、第1の倍率と第2の倍率が異なる場合、大きい方の倍率に基づいて第1の領域に含まれるデータの縮小処理を行っても、それに応じて第2の領域の拡大処理を行うことで、第2の領域の位置に第1の領域に含まれるデータを当てはめることができる。この結果、第1の倍率と第2の倍率の違いにより第1の領域に含まれるデータが歪んだ形に縮小処理されることなく、さらにユーザは、第1の領域に含まれるデータの縮小処理されたものを、指定した第2の領域の位置で見ることができる。このように、ユーザは縮小したデータの表示位置まで指定できるため、図11(c)及び図11(e)では左下の領域を効率よく使用することができる。
図11では、大きい方の倍率である第1の倍率に基づいて縮小処理を行う場合について説明したが、次に小さい方の倍率である第2の倍率に基づいて縮小処理を行う場合について、図12を用いて説明する。
図12(a)には、図11(a)と同様、データ651が表示装置15に表示されている場合に、ユーザが電子ペンやマウス等を使用して第1の領域652及び第2の領域653を指定した様子を示す。
図6に示すフローチャート400におけるステップS401及びステップS402では、データ変換部106は第1の領域652と第2の領域653のX軸方向の辺の比から第1の倍率を算出し、第1の領域652と第2の領域653のY軸方向の辺の比から第2の倍率を算出する。ここでは、第1の倍率が0.7であり、第2の倍率が0.5であったとする。
ステップS403では、第1の倍率と第2の倍率は異なるため、ステップS405へ進み、ステップS405では、データ変換部106は第1の倍率に基づいて縮小処理を行うか、第2の倍率に基づいて縮小処理を行うかを決定する。なお、この決定はユーザが行うものであっても構わないし、機器側で設定された情報を基に行うものであっても構わない。
ここでは、小さい方の倍率である第2の倍率に基づいて縮小処理を行うものとする。この場合、データ変換部106は第1の領域に含まれるデータを小さい方の倍率に基づいて縮小処理するため、縮小処理後の第1の領域の大きさは第2の領域の大きさよりも小さくなる。そこで、ステップS408では、データ変換部106は第2の領域653の縮小処理を行う。ここでは、第2の領域を縮小処理後の第1の領域と同じ大きさにするために、データ変換部106は第2の領域をX軸方向に縮小する必要がある。この場合の倍率は、5/7である。なお、この場合の倍率は
{(X_12−X_11)・(Y_22−Y_21)}/{(X_22−X_21)・(Y_12−Y_11)}
で示される式で算出される。
なお、第2の領域をX軸方向に縮小する方法は、図12(b)に示すようにX軸負方向である左への一方向へ縮小するものであっても構わないし、X軸正方向である右への一方向へ縮小するものであっても構わないし、図12(d)に示すようにX軸正方向である右方向及びX軸負方向である左方向への二方向へ縮小するものであっても構わない。なお、この決定はユーザが行うものであっても構わないし、機器側で設定された情報を基に行うものであっても構わない。
ステップS409では、データ変換部106は第1の領域652に含まれるデータを0.5倍に縮小する。ステップS410では、ステップS409にて0.5倍に縮小処理された第1の領域に含まれるデータを、ステップS408にてX軸方向に縮小処理された第2の領域に当てはめる。ステップS411では、データ変換部106は縮小処理された第2の領域以外の領域に含まれるデータも0.5倍に縮小する。図12(c)では、図12(b)に示すように縮小処理が行われた第2の領域656に、縮小処理された第1の領域に含まれるデータを当てはめた場合の様子を示し、図12(e)では、図12(d)に示すように縮小処理が行われた第2の領域657に、縮小処理された第1の領域に含まれるデータを当てはめた場合の様子を示す。
このようにして、第1の倍率と第2の倍率が異なる場合、小さい方の倍率に基づいて第1の領域に含まれるデータの縮小処理を行っても、それに応じて第2の領域の縮小処理を行うことで、第2の領域の位置に第1の領域に含まれるデータを当てはめることができる。この結果、第1の倍率と第2の倍率の違いにより第1の領域に含まれるデータが歪んだ形に縮小処理されることなく、さらにユーザは、第1の領域に含まれるデータの縮小処理されたものを、指定した第2の領域の位置で見ることができる。このように、ユーザは縮小したデータの表示位置まで指定できるため、図12(c)及び図12(e)では左下の領域を効率よく使用することができる。
なお、データ変換部106は、第1の倍率と第2の倍率のどちらか一方の倍率を用いて縮小処理を行うものに限定されない。データ変換部106は、第1の倍率と第2の倍率の平均により算出される平均倍率に基づいて、縮小処理を行うものであっても構わない。例えば、第1の倍率が0.7であり、第2の倍率が0.5であったとすると、第1の倍率と第2の倍率の平均である0.6を平均倍率として、データ変換部106は第1の領域に含まれるデータの縮小処理を行う。
この場合、第1の倍率と第2の倍率の平均により算出された平均倍率に基づいて第1の領域に含まれるデータの縮小処理を行うと、縮小処理後の第1の領域に含まれるデータは第2の領域に当てはめることができないため、データ変換部106は第2の領域の拡大処理及び縮小処理を行う必要がある。ここでは、第2の領域を縮小処理後の第1の領域と同じ大きさにするために、データ変換部106は第2の領域をX軸方向に縮小し、さらにY軸方向に拡大する必要がある。なお、第2の領域をX軸方向に縮小する方法は、X軸正方向である右への一方向へ縮小するものであっても構わないし、X軸負方向である左への一方向へ縮小するものであっても構わないし、X軸正方向である右方向及びX軸負方向である左方向への二方向へ縮小するものであっても構わない。同様に、第2の領域をY軸方向に拡大する方法は、Y軸正方向である下への一方向へ拡大するものであっても構わないし、Y軸負方向である上への一方向へ拡大するものであっても構わないし、Y軸正方向である下方向及びY軸負方向である上方向への二方向へ拡大するものであっても構わない。これにより、データ変換部106は縮小処理された第1の領域に含まれるデータを、拡大処理及び縮小処理された第2の領域に当てはめることができる。
実施例2では、ユーザが表示装置に表示されているデータに対して、第1の領域及び第2の領域を指定するだけで、第1の領域に対する第2の領域の大きさに基づいて第1の領域に含まれるデータの縮小処理を行い、それを第2の領域に当てはめて表示することができる。また、第1の倍率と第2の倍率が異なる場合であっても、どちらか一方の値もしくは第1の倍率と第2の倍率の平均にて算出された値に基づいて縮小処理を行い、さらに第2の領域の大きさを調整することで、歪んだ形に縮小処理されることを防ぐことができる。また、縮小処理された第1の領域に含まれるデータの表示位置を第2の領域として指定することができるため、例えば第2の領域を表示装置の右側に指定すれば左側の領域に同じ倍率で縮小されたデータが表示され、ユーザは左側の領域を効率よく使用することができる。
(実施例3)
以下に示す実施例3では、ユーザにより指定された第1の領域、または第2の領域が矩形ではない場合のデータ変換装置100の動作を例示する。
図13(a)及び(b)には、データ701が表示装置15に表示されている様子を示す。ここでは、表示装置15に備えられた電子ペン702を使用して指定された第1の領域が、図13(a)に示すように、矩形ではなく楕円形であった場合について説明する。
この場合、データ変換装置100は、図13(b)に示すようにユーザにより指定された楕円形703に外接する矩形704を第1の領域とみなす。これにより、以後の動作は実施例1で説明した拡大処理または実施例2で説明した縮小処理と同様に行うことができる。
ただし、これは必ずしも第1の領域が楕円形である場合に限定されるものではない。第2の領域が楕円形である場合であっても構わない。さらに、ユーザにより指定された領域が楕円形である場合に限定されるものではない。図14(a)に示すような歪んだ図形であっても構わない。ユーザにより指定された領域が歪んだ図形705であっても、図14(b)に示すように図形705に外接する矩形706を第1の領域または第2の領域とみなすことができる。
実施例3では、ユーザにより指定された領域が矩形ではない図形であっても、当該図形に外接する矩形を第1の領域または第2の領域とみなすと、実施例1及び実施例2と同様の機能を実現することができ、同様の効果を奏することができる。
(実施例4)
以下に示す実施例4では、ユーザにより指定された第1の領域の各辺とそれら各辺に対応する第2の領域の各辺同士の4個の組み合わせのうち、少なくとも一つの組み合わせにおいて対応する辺同士が平行でない場合のデータ変換装置100の動作を例示する。
図15(a)には、データ751が表示装置15に表示されており、ユーザにより表示装置15に備えられた電子ペン752を使用して、第1の領域753及び第2の領域754を指定した様子を示す。
ここで、ユーザが電子ペン752を使用して第1の領域753を指定するとき、図15(a)に示すように頂点Aから頂点Bへ、続いて頂点Bから頂点Cへ、頂点Cから頂点Dへ、そして頂点Dから頂点Aへ、の順に軌跡を描くことで第1の領域753を指定したものとする。同様に、ユーザが電子ペン752を使用して第2の領域754を指定するとき、図15(a)に示すように頂点Eから頂点Fへ、続いて頂点Fから頂点Gへ、頂点Gから頂点Hへ、そして頂点Hから頂点Eへ、の順に軌跡を描くことで第2の領域754を指定したものとする。
このとき、データ変換部106が第1の領域に含まれるデータの拡大処理または縮小処理を行ったり、拡大処理または縮小処理された第1の領域に含まれるデータを第2の領域に当てはめたりするためには、第1の領域と第2の領域における互いの辺の対応関係を把握する必要がある。
そこで、第1の領域と第2の領域における互いの辺の対応関係は、それぞれの領域の中でユーザにより指定された辺の順番に依存するものとする。すなわち、第1の領域で最初に指定した辺と第2の領域で最初に指定した辺が対応関係にあり、第1の領域で2番目に指定した辺と第2の領域で2番目に指定した辺が対応関係にあり、以降同様にユーザにより指定された辺の順番で互いの辺の対応関係ができる。この場合、辺ABと辺EF、辺BCと辺FG、辺CDと辺GH、及び辺DAと辺HEがそれぞれ対応関係にある。
これにより、図5に示すフローチャート350におけるステップS351、または図6に示すフローチャート400におけるステップS401において、データ変換部106は辺ABの長さに対する辺EFの長さの比を第1の倍率とし、図5に示すフローチャート350におけるステップS352、または図6に示すフローチャート400におけるステップS402において、データ変換部106は辺BCの長さに対する辺FGの長さの比を第2の倍率とすることができる。以降の処理は、上述の実施例で説明した拡大処理または縮小処理と同様に行うことができる。
ただし、図5に示すフローチャート350におけるステップS360、または図6に示すフローチャート400におけるステップS410において、データ変換部106が拡大処理または縮小処理された第1の領域に含まれるデータを第2の領域に当てはめる場合、図15(b)に示すように、拡大処理または縮小処理された第1の領域に含まれるデータの回転処理を行った後に第2の領域に当てはめる必要がある。なお、データ変換部106は第1の領域と第2の領域の互いに対応関係にある辺が重なり合うように、拡大処理または縮小処理された第1の領域に含まれるデータの回転処理を行う。
実施例4では、ユーザにより指定された第1の領域の各辺とそれら各辺に対応する第2の領域の各辺同士の4個の組み合わせのうち、少なくとも一つの組み合わせにおいて対応する辺同士が平行でない場合であっても、第1の領域と第2の領域の互いに対応関係にある辺を認識し、互いに対応関係にある辺が重なり合うように、拡大処理または縮小処理された第1の領域に含まれるデータの回転処理を行うことで、実施例1及び実施例2と同様の機能を実現することができ、同様の効果を奏することができる。
(実施例5)
以下に示す実施例5では、ユーザにより指定された第1の領域及び第2の領域から算出される第1の倍率と第2の倍率とのどちらか一方が1以上であり、もう一方が1以下である場合のデータ変換装置100の動作を例示する。
まず、ユーザにより第1の領域と第2の領域が指定され、かつ第1の倍率が2であり、第2の倍率が0.5である場合のデータ変換装置100の動作について説明する。
第2の領域の面積が第1の領域の面積よりも大きい場合は、拡大縮小決定部105は第1の領域に含まれるデータの拡大処理を行うと決定する。なお、第1の領域に含まれるデータの拡大処理を行う場合の倍率は、第1の倍率または第2の倍率のうち、1以上である方の倍率を用いても構わないし、第1の倍率と第2の倍率の平均にて算出された平均倍率が1以上である場合は平均倍率を用いても構わない。ここでは、データ変換部106は第1の倍率を用いることで、2倍の拡大処理を行うものであっても構わないし、または第1の倍率と第2の倍率の平均である1.25倍の拡大処理を行うものであっても構わない。なお、第1の領域に含まれるデータを拡大処理する場合の処理は、実施例1で示したとおりである。
一方、第2の領域の面積が第1の領域の面積よりも小さい場合は、拡大縮小決定部105は第1の領域に含まれるデータの縮小処理を行うと決定する。なお、第1の領域に含まれるデータの縮小処理を行う場合の倍率は、第1の倍率または第2の倍率のうち、1以下である方の倍率を用いても構わないし、第1の倍率と第2の倍率の平均にて算出された平均倍率が1以下である場合は平均倍率を用いても構わない。ここでは、データ変換部106は第2の倍率を用いることで、0.5倍の縮小処理を行う。なお、第1の領域に含まれるデータを縮小処理する場合の処理は、実施例2で示したとおりである。
また、第1の領域の面積と第2の領域の面積が共に同じ場合、拡大縮小決定部105が第1の領域に含まれるデータの拡大処理を行うか、または縮小処理を行うかを決定する方法として、第1の倍率に基づいて決定するものであっても構わないし、第2の倍率に基づいて決定するものであっても構わないし、第1の倍率と第2の倍率の平均にて算出された値に基づいて決定するものであっても構わない。拡大縮小決定部105が第1の倍率に基づいて決定する場合、第1の倍率は2であるため、第1の領域に含まれるデータの拡大処理を行うと決定する。一方、拡大縮小決定部105が第2の倍率に基づいて決定する場合、第2の倍率は0.5であるため、第1の領域に含まれるデータの縮小処理を行うと決定する。さらに、拡大縮小決定部105が第1の倍率と第2の倍率の平均にて算出された平均倍率に基づいて決定する場合、第1の倍率と第2の倍率の平均は1.25であるため、第1の領域に含まれるデータの拡大処理を行うと決定する。なお、この決定はユーザが行うものであっても構わないし、機器側で設定された情報を基に行うものであっても構わない。
そして、データ変換部106は拡大縮小決定部105にて拡大処理を行うかまたは縮小処理を行うかを決定する際に用いた倍率に基づいて、第1の領域に含まれるデータの拡大処理、または縮小処理を行う。なお、第1の領域に含まれるデータを拡大処理する場合の処理は、実施例1で示したとおりであり、第1の領域に含まれるデータを縮小処理する場合の処理は、実施例2で示したとおりである。
実施例5では、第1の倍率と第2の倍率がどちらか一方が1以上であり、もう一方が1以下である場合であっても、どちらか一方の倍率もしくは第1の倍率と第2の倍率の平均にて算出された平均倍率に基づいて、第1の領域に含まれるデータの拡大処理または縮小処理を行うことができる。
(実施例6)
以下に示す実施例6では、表示装置に表示されている地図データのある領域の拡大表示あるいは縮小表示を行う場合の地図表示装置の動作を例示する。
図16には、地図表示装置の機能的構成のブロック図を示す。図16に示すように、地図表示装置800は、データ変換装置100、情報記憶部801、情報付加部802、及び情報除去部803を備えている。
情報記憶部801には、地図データ20に含まれる場所に関する種々の情報が記憶されている。例えば、当該場所が店舗であれば、営業時間、電話番号または店舗のURLなどの情報であり、当該場所が鉄道の駅であれば、時刻表、または電話番号などの情報である。
情報付加部802は、第1の領域に含まれる場所を認識し、当該場所に関する情報を情報記憶部801から抽出する。そして、情報付加部802は抽出した当該場所に関する情報を付加し、表示装置15に出力・表示する。
情報除去部803は、情報付加部802により付加された情報を除去し、表示装置15に出力・表示する。
地図データ20に対する第1の領域および第2の領域を指定し、拡大表示あるいは縮小表示を行う方法は、上記の実施例と同様に行うことができる。ここでは、地図データ20の縮尺に応じて、第1の領域に含まれる場所に関する情報を付加あるいは除去する場合の地図表示装置800の動作について説明する。なお、情報付加部802が当該場所に関する情報を付加する、あるいは情報除去部803が当該場所に関する情報を除去する判断の基となる縮尺の閾値は4000分の1であるものとする。
図17(a)には、縮尺5000分の1の地図データ851が表示装置15に表示されている様子を示す。ここで、ユーザにより第1の領域852および第2の領域853が指定され、拡大処理された地図データが表示装置15に表示されている様子を図17(b)に示す。第1の領域のデータを第2の領域に表示し、かつ第1の領域に表示されているデータを第2の領域の大きさに対応するように拡大するためのデータ変換処理の方法は上記の実施例で説明したとおりである。このときの図17(b)の地図データの縮尺は2000分の1であるとする。
図17(b)の地図データの縮尺が2000分の1であり、閾値である4000分の1以上であるため、情報付加部802は、第1の領域852に含まれる地図データ内の場所に関する情報を付加すると決定する。情報付加部852は、第1の領域802に含まれる「店舗A」854に関する情報を情報記憶部801から抽出する。なお、情報付加部802が第1の領域852内に含まれる場所を特定する方法は限定されないが、例えば緯度と経度で第1の領域を示し、当該場所の位置を示す緯度および経度が第1の領域内に含まれるか否かで判定するものであっても構わない。
情報付加部802は、抽出した「店舗A」854に関する情報を付加して表示装置15に表示する。その際の様子を図17(c)に示す。図17(c)では、付加する情報は第2の領域853以外の領域に付加している。
これは、ユーザにより指定された第1の領域852に含まれる地図データはユーザが注目している場所であると判断することができるため、拡大処理された地図データが表示されている第2の領域853はユーザにとって重要であるとみなし、その領域には情報の付加を行わないという判断からである。
次に、図17(c)の状態からユーザにより第1の領域および第2の領域が指定され、縮小処理されたものとし、縮小処理された地図データの縮尺は5000分の1であったとする。この場合、地図データの縮尺が5000分の1であり、閾値である4000分の1以下であるため、情報除去部803は、付加されていた場所に関する情報を除去すると決定し、当該情報を除去する。その際の様子を図17(d)に示す。
実施例6では、表示されている地図データに対して、第1の領域および第2の領域を指定するだけで、第1の領域に対する第2の領域の大きさに基づいて第1の領域に含まれる地図データの拡大処理あるいは縮小処理を行い、それを第2の領域に当てはめて表示することができる。また、表示されている地図データの縮尺に応じて、ユーザにより指定された第1の領域に含まれる場所に関する情報も付加することができ、ユーザは地図データと共に当該場所に関する情報も同時に得ることができるため、ユーザの利便性を向上させることができる。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。