(57)【要約】【課題】  複数の部分領域を合成した合成画像において、ユーザが指定した拡大領域が、複数の部分領域を含む場合に、部分領域を選択的に拡大することを特徴とする映像表示装置を提供すること。【解決手段】  撮像装置で撮像された撮像画像から複数の領域を複数切り出して得られる複数の部分領域を合成した合成画像を受け取る通信部と、ユーザが指定した拡大領域の情報を受け取る入力部と、ユーザが指定した拡大領域が合成画像における複数の部分領域を含む場合に、複数の部分領域の数より少ない数の１以上の部分領域に含まれ、拡大領域に含まれる部分を拡大表示する表示部とを備える。【選択図】  図１
2019191509.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置で撮像された撮像画像から複数の領域を複数切り出して得られる複数の部分領域を合成した合成画像を受け取る通信部と、
ユーザが指定した拡大領域の情報を受け取る入力部と、
ユーザが指定した前記拡大領域が前記合成画像における前記複数の部分領域を含む場合に、前記複数の部分領域の数より少ない数の１以上の部分領域に含まれ、前記拡大領域に含まれる部分を拡大表示する表示部と、
を備えることを特徴とする映像表示装置。
【請求項２】
前記複数の部分領域の数より少ない数の１以上の部分領域は、ユーザが指定した点に対応する領域を含むことを特徴とする請求項１記載の映像表示装置。
【請求項３】
前記表示部は、ユーザが指定する方法によって、前記拡大領域の画像を移動させ、変倍させ、あるいは、その両方を行って拡大表示すること
を特徴とする請求項１記載の映像表示装置。
【請求項４】
前記表示部は、ユーザの指定に応じて前記拡大領域の画像を移動して、拡大表示することを特徴とする請求項１に記載の映像表示装置。
【請求項５】
前記表示部は、ユーザの指定に応じて前記拡大領域の画像を平行移動して、当該領域を拡大表示することを特徴とする請求項１記載の映像表示装置。
【請求項６】
前記表示部は、ユーザの指定に応じて前記拡大領域の画像についてアスペクト比を変えずに変倍させ、平行移動させ、当該領域を拡大表示することを特徴とする請求項１記載の映像表示装置。
【請求項７】
前記表示部は、ユーザの指定する始点位置が、ユーザが指定する前における拡大領域の外である時に、ユーザの指定する前記始点位置とユーザの指定する終点位置とを含み、ユーザが指定する前における拡大領域とアスペクト比の等しい新たな拡大領域を拡大表示することを特徴とする請求項１記載の映像表示装置。
【請求項８】
撮像装置と、
前記撮像装置で撮像された撮像画像から複数の領域を複数切り出して得られる複数の部分領域を受け取り、ユーザが指定した拡大領域を示す領域情報を前記撮像装置に送るクライアント装置と、
からなる映像表示システムにおいて、
前記撮像装置は前記領域情報に基づいて前記撮像画像から前記複数の部分領域を切り出す位置か、大きさか、または位置と大きさの両方を変更して前記クライアント装置に送ることを特徴とする映像表示システム。
【請求項９】
撮像装置で撮像された撮像画像から一部領域を複数回切り出して得られる複数の部分領域を合成した合成画像を受け取る通信工程と、
ユーザが指定した拡大領域の情報を受け取る入力工程と、
ユーザが指定した前記拡大領域が前記合成画像における前記複数の部分領域を含む場合に、前記複数の部分領域の数より少ない数の１以上の部分領域に含まれ、前記拡大領域に含まれる部分を拡大表示する表示工程と、
を備えることを特徴とする映像表示方法。
【請求項１０】
前記複数の部分領域の数より少ない数の１以上の部分領域は、ユーザが指定した点を含むことを特徴とする請求項９記載の映像表示方法。
【請求項１１】
前記表示工程では、ユーザが指定する方法によって、前記拡大領域の画像を移動させ、変倍させ、あるいは、その両方を行って拡大表示すること
を特徴とする請求項９記載の映像表示方法。
【請求項１２】
前記表示工程では、ユーザの指定に応じて前記拡大領域の画像を移動して、拡大表示することを特徴とする請求項９に記載の映像表示方法。
【請求項１３】
前記表示工程では、ユーザの指定に応じて前記拡大領域の画像を平行移動して、当該領域を拡大表示することを特徴とする請求項９記載の映像表示方法。
【請求項１４】
前記表示工程では、ユーザの指定に応じて前記拡大領域の画像についてアスペクト比を変えずに変倍させ、平行移動させ、当該領域を拡大表示することを特徴とする請求項９記載の映像表示方法。
【請求項１５】
前記表示工程では、ユーザの指定する始点位置が、ユーザが指定する前における拡大領域の外である時に、ユーザの指定する前記始点位置とユーザの指定する終点位置とを含み、ユーザが指定する前における拡大領域とアスペクト比の等しい新たな拡大領域を拡大表示することを特徴とする請求項９記載の映像表示方法。
【請求項１６】
撮像装置で撮像された撮像画像から複数の領域を複数切り出して得られる複数の部分領域をクライアント装置が受け取る工程と、
ユーザが指定した拡大領域が前記複数の部分領域にまたがる場合に、複数の部分領域の拡大する部分を示す領域情報をクライアント装置が前記撮像装置に送る工程と、
前記撮像装置が前記領域情報に基づいて前記撮像装置が前記拡大領域に相当する部分について複数の部分領域を切り出してクライアント装置に送る工程を有することを特徴とする映像表示方法。
【請求項１７】
コンピュータを、請求項１〜８のいずれか１項に記載の各手段として機能させるコンピュータプログラム。
【請求項１８】
請求項１７に記載のプログラムを記憶する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像表示装置の制御技術に関する。
【背景技術】
【０００２】
撮像装置等で撮影した画像の全体から切り出した複数の特定領域を並べて表示する方法として、２つの方法が知られている。１つは撮像装置側で複数の特定領域を並べて合成しクライアント装置側に送って表示する方法である。もう１つは撮像装置が複数の特定領域の画像をクライアント装置に送り、クライアント装置側で並べて表示する方法である。
【０００３】
特許文献１では、サーバから複数の画像をクライアント装置に配信し、クライアント装置側で画像を拡大して表示する方法について、開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００８−５０２２３０
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、クライアント装置で画像を受信して拡大する場合、並んでいる複数の特定領域をまたいで拡大表示してしまう場合がある。そのため、ユーザが拡大表示したかった部分が適切に拡大表示できないという課題がある。
【課題を解決するための手段】
【０００６】
撮像装置で撮像された撮像画像から一部領域を複数回切り出して得られる複数の部分領域を合成した合成画像を受け取る通信部と、
ユーザが指定した拡大領域の情報を受け取る入力部と、
ユーザが指定した前記拡大領域が前記合成画像における前記複数の部分領域を含む場合に、前記複数の部分領域の数より少ない数の１以上の部分領域に含まれ、前記拡大領域に含まれる部分を拡大表示する表示部と、
を備える。
【発明の効果】
【０００７】
ユーザが注目し、拡大表示したいと思っているだろうという部分のみを拡大表示をすることができる。また、余計な部分を拡大することなく、見やすくユーザに拡大画像を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るシステムの構成例
【図２】本発明の実施形態のハードウエア構成例
【図３】本発明の実施形態のクライアント装置のソフトウエア構成図
【図４】本発明の実施形態の撮像装置によって撮像した全体画像の表示例
【図５】本発明の実施形態の複数の切り出し画像の合成画像の表示例
【図６】本発明の適用前の撮像装置による合成画像の拡大表示例
【図７】本発明の適用前のクライアント装置による合成画像の拡大表示例
【図８】本発明の実施形態の拡大領域の移動処理のフローチャート
【図９】本発明の実施形態の拡大領域の移動処理の表示動作例
【図１０−１】本発明の実施形態のユーザ指定方法に応じて処理を切り換えるフローチャート
【図１０−２】本発明の実施形態のクリック時のフローチャート
【図１０−３】本発明の実施形態のムーブ時のフローチャート
【図１０−４】本発明の実携帯のドロップ時のフローチャート
【図１１】本発明の実施形態の「移動操作２」のフローチャート
【図１２】本発明の実施形態の「変倍」のフローチャート
【図１３】本発明の実施形態の「移動・変倍」のフローチャート
【図１４】本発明の実施形態の「移動操作２」のＵＩの例
【図１５】本発明の実施形態の「変倍」のＵＩの例
【図１６】本発明の実施形態の「移動・変倍」のＵＩの例
【図１７】本実施例の撮像装置のソフトウエア構成図
【図１８】撮像装置側で拡大処理を行う場合のクライアント装置の入力部のフローチャート
【図１９】撮像装置側で拡大処理を行う場合の撮像装置側の撮像装置制御部のフローチャート
【図２０】撮像装置側で拡大処理を行う場合のＵＩの例
【図２１】撮像装置側で拡大処理を行う場合のクライアント装置の入力部のフローチャート
【図２２】撮像装置側で拡大処理を行う場合の撮像装置側の撮像装置制御部のフローチャート
【図２３】撮像装置側で拡大処理を行う場合のＵＩの例
【発明を実施するための形態】
【０００９】
以下に、図面を参照しながら、本発明の実施形態を説明する。
【００１０】
尚、以下の実施形態で示す構成は一例であって、説明する構成に必ずしも限定されるものではない。
【００１１】
本発明の第一の実施形態に係る映像表示装置のシステムの構成例について図１を用いて説明する。
【００１２】
図１に示すように、本実施形態に係るシステムは、撮像装置１０００、クライアント装置２０００、入力装置２００８、表示装置２００９を有する。
【００１３】
先ず、撮像装置１０００について説明する。撮像装置１０００は撮像装置などの撮像装置であり、クライアント装置２０００において設定された姿勢や画角などの撮像パラメータに従って、実空間の動画像もしくは静止画像を撮像する。撮像装置１０００によって撮像された動画像もしくは静止画像は、ネットワーク３０００を介してクライアント装置２０００に対して送信される。
【００１４】
次に、ネットワーク３０００について説明する。ネットワーク３０００は、例えばＥｔｈｅｒｎｅｔ（登録商標）等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。本実施形態では、ネットワーク３０００は、撮像装置１０００とクライアント装置２０００との間の通信を行うことができるものであればよく、その通信規格、規模、構成を問わない。例えば、ネットワーク３０００は、インターネットや有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等により構成されてもよい。
【００１５】
次にクライアント装置２０００について説明する。クライアント装置２０００は、パーソナルコンピュータ、サーバ装置、タブレット装置等の画像ＣＰＵとして機能する装置である。クライアント装置２０００は、撮像装置１０００からネットワーク３０００を介して動画像もしくは静止画像を撮像画像として受信する。
【００１６】
次に入力装置２００８について説明する。入力装置２００８は、キーボードやマウス、タッチパネルなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をクライアント装置２０００に対して入力することができる。
【００１７】
次に表示装置２００９について説明する。表示装置２００９は、液晶画面などにより構成されており、クライアント装置２０００による処理結果を画像や文字などでもって表示することができる。
【００１８】
なお、図２では、クライアント装置２０００、入力装置２００８、表示装置２００９はそれぞれ別個の装置としているが、このような構成に限らない。例えば、これらの装置を一体化させて１つの装置としても良いし、クライアント装置２０００と表示装置２００９とを一体化させてもよいし、入力装置２００８と表示装置２００９とを一体化させてもよい。また、クライアント装置２０００と撮像装置１０００とを一体化させてもよい。
【００１９】
次に、撮像装置１０００のハードウエア構成例について、図２（ａ）のブロック図を用いて説明する。尚、図２（ａ）に示した構成は撮像装置１０００に適用可能な構成の一例に過ぎず、適宜変形変更が可能である。
【００２０】
ＣＰＵ１１０１は、主記憶装置１１０２に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ１１０１は、撮像装置１０００全体の動作制御を行うと共に、後述する機能を実現する。
【００２１】
主記憶装置１１０２は、Ｒａｎｄｏｍ  Ａｃｃｅｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等の記憶装置である。主記憶装置１１０２は、補助記憶装置１１０３からロードされたコンピュータプログラムやデータ、撮像部１１０６による撮像画像、ネットワークＩ／Ｆ１１０８を介してクライアント装置２０００から受信した各種のデータを格納するためのエリアを有する。さらに主記憶装置１１０２はＣＰＵ１１０１が各種の処理を実行する際に用いるワークエリアを有する。このように主記憶装置１１０２は、各種のエリアを適宜提供することができる。
【００２２】
補助記憶装置１１０３は、ハードディスクドライブ（ＨＤＤ）、Ｒｅａｄ  ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、ソリッドステートドライブ（ＳＳＤ）等の大容量情報記憶装置である。
【００２３】
補助記憶装置１１０３には、ＯＳ（オペレーティングシステム）や、撮像装置１０００が行うものとして後述する各処理をＣＰＵ１１０１に実行もしくは制御させるためのコンピュータプログラムやデータが保存されている。
【００２４】
また補助記憶装置１１０３には、ネットワークＩ／Ｆ１１０８を介してクライアント装置２０００から受信したデータも保存される。補助記憶装置１１０３に保存されているコンピュータプログラムやデータは、ＣＰＵ１１０１による制御に従って適宜主記憶装置１１０２にロードされ、ＣＰＵ１１０１による処理対象となる。
【００２５】
駆動部１１０７は、クライアント装置２０００から受信した撮像パラメータに基づいて撮像部１１０６を駆動して、該撮像部１１０６の姿勢（撮像方向）や画角等を制御する。
【００２６】
駆動部１１０７による制御対象は特定の対象に限らず、撮像部１１０６の姿勢及び画角であっても良いし、何れか一方のみであっても良いし、その他の対象（例えば撮像部１１０６の位置）であっても良い。
【００２７】
また、撮像部１１０６の位置や姿勢、画角などは固定しても良く、その場合は駆動部１１０７は設けなくても良い。例えば魚眼レンズを具備して周囲を撮影する全方位撮像装置１０００の場合は、パン・チルト・ズーム動作を撮像画像の一部を切り出しデジタル処理することができるので、必ずしも駆動部１１０７は設けなくても良い。
【００２８】
撮像部１１０６は、撮像素子と光学系とを有し、光学系の光軸と撮像素子との交点を撮像中心として被写体の像を撮像素子上に結像する。撮像素子には、ＣＭＯＳ（ＣｏｍｐｌｅｍｅｎｔａｒｙＭｅｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）、ＣＣＤ（Ｃｈａｒｇｅｄ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）等がある。
【００２９】
ネットワークＩ／Ｆ１１０８は、撮像装置１０００がネットワーク３０００を介してクライアント装置２０００との間のデータ通信を行うために利用するインターフェースである。
【００３０】
次に、クライアント装置２０００のハードウエア構成例について、図２（ｂ）のブロック図を用いて説明する。なお、図２（ｂ）に示した構成は、クライアント装置２０００に適用可能な構成の一例に過ぎず、適宜変形／変更が可能である。
【００３１】
ＣＰＵ２００１は、主記憶装置２００２に格納されているコンピュータプログラムやデータを用いて処理を実行する。これにより、クライアント装置２０００全体の動作制御を行うと共に、クライアント装置２０００が行うものとして後述する各処理を実行若しくは制御する処理装置である。例えばＣＰＵ２００１は、主記憶装置２００２に格納されているコンピュータプログラムやデータを用いて処理を実行することで、後述する機能を実現する。
【００３２】
主記憶装置２００２は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等の記憶装置である。主記憶装置２００２は、補助記憶装置２００３からロードされたコンピュータプログラムやデータ、ネットワークＩ／Ｆ２００７を介して撮像装置１０００から受信した各種のデータ（例えば、撮像画像）、を格納するためのエリアを有する。さらに主記憶装置２００２は、ＣＰＵ２００１が各種の処理を実行する際に用いるワークエリアを有する。このように主記憶装置２００２は、各種のエリアを適宜提供することができる。
【００３３】
補助記憶装置２００３は、ハードディスクドライブ（ＨＤＤ）、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、ソリッドステートドライブ（ＳＳＤ）等の大容量情報記憶装置である。補助記憶装置２００３には、ＯＳ（オペレーティングシステム）や、クライアント装置２０００が行うものとして後述する各処理をＣＰＵ２００１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。
【００３４】
また補助記憶装置２００３には、ネットワークＩ／Ｆ２００７を介して撮像装置１０００から受信した各種のデータ（例えば、撮像画像）も保存される。補助記憶装置２００３に保存されているコンピュータプログラムやデータは、ＣＰＵ２００１による制御に従って適宜主記憶装置２００２にロードされ、ＣＰＵ２００１による処理対象となる。
【００３５】
入力Ｉ／Ｆ２００５は、入力装置２００８をクライアント装置２０００に接続するためのインターフェースである。出力Ｉ／Ｆ２００６は、表示装置２００９をクライアント装置２０００に接続するためのインターフェースである。ネットワークＩ／Ｆ２００７は、クライアント装置１２０がネットワーク３０００を介して撮像装置１０００との間のデータ通信を行うために利用するインターフェースである。
【００３６】
図３は、クライアント装置２０００のソフトウエア構成図である。入力部２１０３、表示部２１０２、通信部２１０５、及び記憶部２１０１を主記憶装置２００２へロードする。
【００３７】
入力部２１０３は、ユーザによる入力装置２００８の操作を受け付けるためのプログラムである。ユーザによる入力装置２００８の操作に応じて、画像データのリクエストや、全体画像中の位置指定を受け付け、記憶部２１０１を介し、通信部２１０５や表示部２１０２へ入力を渡すプログラムである。
【００３８】
画像中の位置の指定は、画像の幅、高さを上限とする画像領域内の直交座標とするとよい。加えて入力部は画像内の直交座標を、必要に応じて球面座標系に変換する。そして、魚眼レンズを介して得られる円形の全体画像中の指定した領域を切り出す。そして、拡大・縮小を行うズーム要求、現在の表示位置を変更するパン・チルト要求に変換し通信部２１０５へ送る。
【００３９】
通信部２１０５は入力部２１０３から入力された各種命令要求を撮像装置１０００へ送信制御するとともに、撮像装置１０００から画像データや、現在のズーム・パン・チルトなどの撮像装置１０００情報などを受信するためのプログラムである。通信部２１０５により受信された画像データは記憶部２１０１に記憶される。
【００４０】
表示部２１０２は、記憶部２１０１に記憶された画像データに応じて画像をディスプレイに表示するプログラムである。加えて、記憶部２１０１に保存されている座標・大きさに応じて、画像データ中の切出した領域の変倍・移動を行う。
【００４１】
各プログラムは、ＯＳの機能により連携する。
【００４２】
なお、本形態の入力部２１０３は、入力装置２００８の操作を受け付けることに限らず、ネットワークを経由したクライアントの操作や、クライアントの自動実行プログラムなどの入力を受け付けるように構成することも可能である。
【００４３】
図４は撮像装置１０００が撮像した全体画像をクライアント装置２０００で表示した例である。本実施形態では、建物の屋内の天井に撮像装置１０００は鉛直下方向を向いて取り付けられている。撮像装置１０００には魚眼レンズを具備しており、イメージサークル４０００の径よりも撮像素子のサイズの方が大きいため鉛直下の光軸方向を中心に対し前後左右のレンジで１８０°得られる画像は図のような円形となる。この全体画像は魚眼レンズの特性により画像の中心から外に向かうにしたがって歪んだ映像となる。
【００４４】
図４の破線部４００１、４００２、４００３、４００４は、ユーザが指定した一部領域である部分領域を示す。歪んだ画像を歪補正すれば矩形となるが、全体画像においては歪んだ形状である。
【００４５】
図５は図４において破線で示した４つの部分領域について、複数回切り出して、歪を補正して並べて１つに合成した画像を示す。４００１、４００２、４００３、４００４のそれぞれについて歪を補正した５００１、５００２、５００３、５００４を並べて合成した合成画像が５０００である。尚、部分領域を４つとして説明するが、４つ以外の場合でも同様であることは言うまでもない。
【００４６】
図６を説明する。撮像装置１０００が画像を合成し、クライアント装置２０００に合成画像を送る。クライアント装置２０００側は合成画像を受信して表示する。クライアント装置が合成画像の一部６００２を拡大してディスプレイに表示する。
【００４７】
クライアント装置２０００はディスプレイ画面上にウインドウ６０００を開く。そしてクライアント装置２０００はそのウインドウ内の下図に、撮像装置１０００側で４つの部分領域を合成した合成画像６００１を配置して表示する。合成画像６００１には４つの部分領域６００５、６００６、６００７、６００８が並べて配置されている。ユーザが合成画像６００１の中の拡大領域６００２を指定し、クライアント装置２０００は拡大領域６００２を拡大した拡大画像６００３を上図に表示する。
【００４８】
拡大画像は撮像装置１０００側で合成した画像の拡大領域６００２をそのまま拡大しているので、２つの部分領域６００５と６００７の境界に相当する境界部６００４が拡大画像６００３の中に含まれている。
【００４９】
図７を説明する。撮像装置１０００が４つの部分領域７００２、７００５、７００６、７００７をクライアント装置２０００に送る。クライアント装置２０００は４つの部分領域を並べて表示する。
【００５０】
図７下図でユーザが拡大領域７００３を指定すると、クライアント装置２０００は拡大領域７００３に係る情報を撮像装置１０００に送り、撮像装置１０００が拡大領域７００３を拡大してクライアント装置２０００に送信する。ここで部分領域７００２、７００５、７００６、７００７は撮像装置１０００から別々に送られてきている。そのため、ユーザの指定は拡大領域７００３だけになり、隣接する部分領域７００７には影響が及ばない。
【００５１】
これにより図７下図の合成画像７０００は図７上図の合成画像７００１の状態に変化する。上図の左上の部分領域７００４は、下図の左上の部分領域７００３を拡大して表示した部分である。撮像装置１０００が撮像している全体画像では部分領域７００２と部分領域７００７は隣接していないので、拡大領域７００３に相当する拡大画像は図７上図の左上の部分領域７００４のようになる。
【００５２】
次に本発明を適用した最良の第一の実施形態を説明する。
【００５３】
システムの動作として、図１において撮像装置１０００が画像の部分領域を切り出して合成した後、クライアント装置２０００に合成画像を送信する。ユーザは、クライアント装置２０００に送信され表示装置２００９で表示された合成画像９０００を見る。ユーザが入力装置２００８を操作すると、操作により発生する入力信号は入力装置２００８からクライアント装置２０００に送られる。
【００５４】
次にクライアント装置２０００の動作として、図２においてクライアント装置２０００は入力Ｉ／Ｆ２００５から入力装置２００８からの入力信号を受け取る。クライアント装置２０００は、補助記憶装置２００３から主記憶装置２００２に呼び出したコンピュータプログラムとデータに基づいて、後述するフローに沿って、ＣＰＵ２００１が処理を行う。ＣＰＵ２００１は、撮像装置１０００から送信されネットワーク３０００を介しネットワークＩ／Ｆ２００７で受信した画像に対して、処理を行う。処理を行った結果は出力Ｉ／Ｆ２００６から表示装置２００９に出力する。
【００５５】
次に表示装置２００９における動作について図９を用いて説明する。
【００５６】
図９は表示装置２００９に表示されるウインドウを示す。
【００５７】
図９（ａ）は表示装置２００９で表示される画像の一部を示す。撮像装置１０００が撮像し、その撮像した全体画像から４つの部分領域を切り出し、それらを並べて１枚の合成画像に合成し、クライアント装置２０００に送る。そして、クライアント装置２０００は受け取った合成画像を表示装置２００９に送って表示する。
【００５８】
そしてその合成画像が図９（ａ）のウインドウ９０００上に表示される。合成画像は４つの部分領域９００２、９００３、９００４、９００５からなり、図９（ａ）ではその合成画像の一部を矩形の拡大領域９００６でユーザが指定している初期状態であり、その拡大領域９００６は拡大され拡大画像９００１として表示されている。
【００５９】
次に図９（ｂ）の状態を説明する。ユーザはカーソル９１０８で示す位置を拡大表示したいと考え、カーソル９１０８で示す位置をクリック操作により指定したとする。すると拡大領域９００６はカーソル９１０８の位置を中心とした位置９１０７に移動する。ここで元の位置の９００６と移動した後の位置９１０７で拡大領域の大きさは変化していない。この状態では拡大領域は９１０７の位置にあり、部分領域９００２、９００３、９００４、９００５の４つにまたがっている。
【００６０】
次に図９（ｃ）の状態を説明する。拡大領域はユーザがカーソルで示した９１０８を中心とした９１０７の位置に相当するが、これを部分領域９００３、９００４、９００５にはまたがらないように移動する。ユーザがカーソルで指定した位置９１０８は部分領域９００２の内部にあり、部分領域９００２の中では右下側に位置する。
【００６１】
そこで、拡大領域は９１０７の位置から、拡大領域の右辺と下辺が部分領域９００２と一致するように９２１０の位置に移動する。拡大領域の中心位置は９１０８から９２０９の位置に移動する。ここで拡大領域の大きさは部分領域９００２よりも小さい。拡大領域の位置９２１０の位置に応じた拡大画像が９００１として表示される。
【００６２】
次に図９（ｄ）の状態を説明する。最終的に拡大領域は右辺と下辺が部分領域９００２と一致する９２１０の位置となり、その拡大画像が９００１として表示される。
【００６３】
図９（ａ）、（ｂ）、（ｃ）、（ｄ）において、（ｂ）、（ｃ）は説明のために図示したが、実際の処理は（ａ）の状態から（ｄ）の状態に（ｂ）、（ｃ）を経ないで変化する。
【００６４】
次に図８のフローチャートを用いて拡大領域の移動処理の流れを説明する。
【００６５】
Ｓ８０００では、クライアント装置２０００の入力部２１０３にユーザから画像上の位置を指定する操作を受け付けた際に移動の処理が起動する。入力部２１０３で受け付けた情報は、入力部２１０３が記憶部２１０１に送る。
【００６６】
Ｓ８００１では、記憶部２１０１に保存されているユーザが指定した座標と、事前に設定され現在表示されている拡大領域の中心座標と高さと幅からなる大きさと、から、ユーザが指定した座標を中心とする領域への移動の計算を表示部２０１２が行う。
【００６７】
Ｓ８００２では、表示部２１０２が、計算した領域が複数の部分領域にまたがるかどうかの判断を行う。
【００６８】
複数の部分領域にまたがると判断した場合、Ｓ８００３へと分岐する。Ｓ８００３ではユーザがカーソルで指定した部分領域内に収まる範囲で拡大範囲の移動を行う。すなわち、拡大領域が複数の領域にまたがっている場合には縦横またがっている分だけ平行に移動する。
【００６９】
その後Ｓ８００５で処理を終了する。
【００７０】
もしＳ８００２において複数の領域にまたがらないと判断した場合、Ｓ８００４へ分岐する。Ｓ８００４では指定領域へ拡大範囲が移動しＳ８００５において処理は終了する。
【００７１】
図９では拡大領域が複数の部分領域にまたがる場合を説明したが、Ｓ８００４で示すような、複数の部分領域にまたがらない場合の処理は通常の処理であるので説明は省略する。
【００７２】
このように指定された領域が複数の部分領域にまたがる場合であっても、ユーザが指定した部分領域に拡大範囲を収めるので、拡大画像に部分領域の境界は含まれない。
【００７３】
ユーザがクリック操作以外を行った場合の動作について、以下で説明する。
【００７４】
システムの動作として、図１において撮像装置１０００が画像の部分領域を切り出して合成した後、クライアント装置２０００に合成画像を送信する。ユーザは、クライアント装置２０００に送信され表示装置２００９で表示された合成画像９０００を視認する。そして、ユーザが入力装置２００８を操作すると、操作により発生する入力信号は入力装置２００８からクライアント装置２０００に送られる。
【００７５】
次にクライアント装置２０００の動作として、図２においてクライアント装置２０００は入力Ｉ／Ｆ２００５から入力装置２００８からの入力信号を受け取る。クライアント装置２０００は、補助記憶装置２００３から主記憶装置２００２に呼び出したコンピュータプログラムとデータに基づいて、後述するフローに沿って、ＣＰＵ２００１が処理を行う。ＣＰＵ２００１は、撮像装置１０００から送信されネットワーク３０００を介しネットワークＩ／Ｆ２００７で受信した画像に対して、処理を行う。処理を行った結果は出力Ｉ／Ｆ２００６から表示装置２００９に出力する。
【００７６】
ソフトウエアの構成も図３に示すものと同様である。
【００７７】
図１０−１（ａ）は、ユーザの指定操作に応じて処理を切り換える場合にＣＰＵ２００１がプログラムを実行する処理のフローチャートを示し、図３のソフトウエア構成の表示部２１０２動作処理のフローチャートに相当する。
【００７８】
Ｓ１００００の処理は「ユーザからのクリック、ムーブ、ドロップ操作や、ムーブ中に一定期間で処理が起動」することを示す。
【００７９】
図１０−１（ｂ）を用いて説明する。ユーザは表示装置２００９に表示されている合成画像中の部分領域１０１０４において、入力装置２００８として例えばマウスを用いて操作する。
【００８０】
ここで位置１０１０１でマウスの左ボタンを押す、いわゆるクリック動作をした場合は「クリック時」である。
【００８１】
また、位置１０１０１でマウスの左ボタンをクリックして、その後に、押したまま位置１０１０３までカーソルを動かす時、位置１０１０１と位置１０１０３の間を移動する期間が「ムーブ時」である。
【００８２】
また、位置１０１０１でマウスの左ボタンをクリックして、押したまま位置１０１０３までカーソルを動かし、位置１０１０３でマウスの左ボタンを離す時が「ドロップ時」である。
【００８３】
つまり「クリック時」の位置が始点位置であり、「ドロップ時」の位置が終点位置である。
【００８４】
ここでＳ１００００の処理ｓｔａｒｔは、図１０−１（ｂ）の「クリック時」と「ドロップ時」、そして、「ムーブ時」には一定の期間間隔で、Ｓ１００００の処理が始まることを指す。
【００８５】
図１０−１（ａ）の説明に戻る。Ｓ１０００１では、ユーザ操作がクリックイベントかどうかの判断を行う。「クリック時」である場合、Ｓ１００５０へ分岐する。Ｓ１００５０ではクリッククリック時の処理を行う。
【００８６】
図１０−２はクリッククリック時の処理であり、Ｓ１００５１にて開始する。
【００８７】
次にＳ１０００４ではユーザがクリックした位置が、現在の拡大領域の中かどうかの判断をＣＰＵ２００１が行う。Ｓ１０００４において拡大領域の中と判断された場合、Ｓ１０００６へ分岐する。
【００８８】
Ｓ１０００６では操作変数として「移動」と保存し、ユーザの所望する操作を保存する。
【００８９】
もしＳ１０００４において、ユーザがクリックした位置が現在の拡大領域の中でないと判断された場合、Ｓ１０００５へ分岐する。
【００９０】
Ｓ１０００５ではクリックされた位置が現在表示されている拡大領域の枠の上かどうかの判断を行う。Ｓ１０００５において拡大領域の枠の上であると判断された場合、Ｓ１０００７へ分岐する。
【００９１】
Ｓ１０００７では操作変数として「変倍」と保存し、ユーザの所望する操作を保存する。
【００９２】
もしＳ１０００５においてクリックされた位置が拡大領域の枠の上でない場合、Ｓ１０００８へと分岐する。
【００９３】
Ｓ１０００８では操作変数として「移動・変倍」と保存し、ユーザの所望する操作を保存する。
【００９４】
Ｓ１０００６、Ｓ１０００７、Ｓ１０００８の後はＳ１０００９において、変数「開始部分領域」にユーザが指定した位置が含まれる現在の部分領域を示す情報を保存する。
【００９５】
ここでは「開始部分領域」の定義はここではユーザが指定した位置が含まれる現在の部分領域としている。しかし、後述するムーブ、ドロップを伴う操作の場合には、ユーザがクリックで指定した開始点が、拡大領域に含まれる主たる部分領域の外になる場合もある。
【００９６】
このような場合を踏まえ、主たる部分領域、すなわち例えば拡大領域に含まれるもっとも大きな面積を有する部分領域を開始部分領域と設定してもよい。もちろん、前述したようにユーザがクリックで指定した開始点を含む部分領域を開始部分領域としてもよい。
【００９７】
次に、Ｓ１００１０において、変数「開始拡大領域の大きさ」に現在の拡大領域の大きさを保存する。
【００９８】
次に、Ｓ１００１１において、変数「開始拡大領域の中心座標」に現在の拡大領域の中心座標を保存する。
【００９９】
次に、Ｓ１００１２において、ユーザに指定された位置を変数「開始指定座標」として保存する。
【０１００】
次に、Ｓ１００１３において現在の操作状態を表すＳｔａｔｅ変数に「クリック」を代入する。
【０１０１】
最後にＳ１００５２にて処理を終了する。
【０１０２】
図１０−１（ａ）のＳ１０００１において、クリックイベントでない場合、Ｓ１０００２へ分岐する。Ｓ１０００２ではムーブイベントかどうかの判断を行う。ムーブイベントである場合、Ｓ１００６０へ分岐する。Ｓ１００６０ではムーブ時の処理を行う。
【０１０３】
図１０−３はムーブ時の処理であり、Ｓ１００６１にて開始する。
【０１０４】
「ムーブ時」はユーザがマウスの左ボタンを押しながら動かしている間なので、図１０−２の「クリック時」の処理を経過した後である。
【０１０５】
そのため、Ｓ１００２０では「クリック時」の処理のＳ１０００６，Ｓ１０００７、Ｓ１０００８において保存された操作変数に従って分岐を行う。
【０１０６】
操作変数が「移動」である場合はＳ１００２２において「移動操作２」の処理を行う。「移動操作２」時の処理については後述する。Ｓ１００２０において、操作変数が移動でないとなった場合、Ｓ１００２１において操作変数が「変倍」かどうかの判断を行う。
【０１０７】
Ｓ１００２１において操作変数が「変倍」である場合、Ｓ１００２３において「変倍操作」時の処理を行う。「変倍操作」時の処理についても後述する。Ｓ１００２１において操作変数が「変倍」でない場合、Ｓ１００２４において行うべき処理は「移動・変倍」操作時の処理と判断し処理を行う。「移動・変倍」操作時の処理についても後述する。
【０１０８】
Ｓ１００２２，Ｓ１００２３、Ｓ１００２４の処理の後としては、Ｓ１００２５において、現在の操作状態を表すＳｔａｔｅ変数に「ムーブ」を代入し、Ｓ１００６２において終了する。
ムーブ
次に図１０−１（ａ）のＳ１０００２において、現在のイベントがムーブイベントでないと判断した場合は、Ｓ１０００３においてドロップイベントかどうかの判断を行う。Ｓ１０００３において発生したイベントがドロップイベントである場合、Ｓ１００７０へ分岐する。Ｓ１００７０ではドロップ時の処理を行う。
【０１０９】
図１０−４はドロップ時の処理であり、Ｓ１００７１にて開始する。
【０１１０】
Ｓ１００３０では現在の操作状態を表すＳｔａｔｅ変数がムーブかどうかの判断を行う。Ｓｔａｔｅ変数がムーブである場合、Ｓ１００３１へ分岐する。
【０１１１】
Ｓ１００３１ではＳ１０００６，Ｓ１０００７、Ｓ１０００８において代入した操作変数を参照し、「移動」かどうかの判断を行う。Ｓ１００３１において操作変数が「移動」である場合、Ｓ１００２２と同じように、Ｓ１００３４において「移動操作２」時の処理を行う。
【０１１２】
Ｓ１００３１において操作変数が「移動」でないとなった場合、Ｓ１００３２において操作変数が「変倍」かどうかの判断を行う。操作変数が「変倍」である場合、Ｓ１００３５に分岐する。
【０１１３】
Ｓ１００３５ではＳ１００２３と同じように、変倍操作時の処理を行う。Ｓ１００３２において操作変数が「変倍」でないとなった場合、Ｓ１００３６において、Ｓ１００２４時と同じように「移動・変倍」操作時の処理を行う。
【０１１４】
Ｓ１００３０において、Ｓｔａｔｅ変数がムーブでないとなった場合、Ｓ１００３３において操作変数は「移動」であると判断し、操作変数に「移動」を代入する。
【０１１５】
その後Ｓ１００３７において「移動操作１」時の処理を行う。「移動操作１」時の処理は図８の「移動操作１」時の処理にて説明したため説明を省略する。
【０１１６】
Ｓ１００３４，Ｓ１００３５、Ｓ１００３６、Ｓ１００３７の後は、Ｓ１００３８においてＳｔａｔｅ変数に「ドロップ」を代入する。その後Ｓ１００７２において終了する。
【０１１７】
図１０−１（ａ）において、Ｓ１００５０、Ｓ１００６０、Ｓ１００７０それぞれの処理後の場合、そして、Ｓ１０００３において、ドロップイベントでないとなった場合は、Ｓ１００４０において処理を終了する。
【０１１８】
ここからは図１０−１〜４の説明において述べた処理のうち、説明済の「移動操作１」を除いた、「移動操作２」、「変倍」、「移動・変倍」時の各処理について説明する。
【０１１９】
「移動操作２」の動作について説明する。
【０１２０】
図１１は「移動操作２」時の表示部２１０２のフローチャートであり、拡大領域の中心座標に対する指定座標の相対位置を維持しながら移動する場合を示す。
【０１２１】
Ｓ１１０００は、前述のように図１０−３のＳ１００２２，Ｓ１０−４のＳ１００３４時に起動することを示す。
【０１２２】
Ｓ１１００１では、「クリック時」にユーザが指定した位置である開始指定座標と、開始拡大領域の中心座標を用いて、ユーザが処理の開始時点でユーザが指定した位置が拡大領域の中心からオフセットしている量を計算する。
【０１２３】
次に、Ｓ１１００２において、「ドロップ時」に設定すべき拡大領域を計算する。
【０１２４】
「ドロップ時」にユーザが指定した位置である終了指定座標と、「クリック時」に算出したオフセット、「クリック時」に取得した「クリック時」の拡大領域の大きさである開始拡大領域の大きさを用いる。
【０１２５】
すなわち、「ドロップ時」に指定した位置である終了指定座標から「クリック時」に算出したオフセットを差し引くことにより、「ドロップ時」に設定すべき拡大領域の中心座標を求める。この拡大領域の中心座標を中心に、「クリック時」に取得した開始拡大領域の大きさに等しい拡大領域の大きさを設定することで、「ドロップ時」にユーザが「ドロップ」操作で指定した位置に拡大領域が大きさを保ったまま移動する。
【０１２６】
次にＳ１１００３において、計算した拡大領域が複数の部分領域にまたがるかどうかの判定を行う。
【０１２７】
「ドロップ時」にユーザが「ドロップ」操作で指定した位置に拡大領域が大きさを保ったまま移動した時には、拡大領域の矩形の座標は既知であるので、各部分領域の座標と比較を行って、計算した拡大領域が複数の部分領域にまたがるかどうかを判定する。
【０１２８】
Ｓ１１００３において、複数の部分領域にまたがるとなった場合、Ｓ１１１００４へ分岐する。Ｓ１１００４では、部分領域内に収まる範囲で移動を行う。Ｓ１１００３において計算した領域が複数の部分領域にまたがらないとなった場合、Ｓ１１００５へ分岐する。Ｓ１１００５では計算した拡大領域に移動を行う。
【０１２９】
Ｓ１１００４、Ｓ１１００５において移動処理を行ったのちＳ１１００６において処理を終了する。
【０１３０】
図１４は図１１の「移動操作２」時のＵＩの例である。ユーザは１４００２の位置をマウスでクリックして１４００３の位置までカーソルをドラッグし、ドロップする。すなわち、１４００２の位置で「クリック時」の処理に入り、その後「ムーブ時」の処理を行い、「ドロップ時」の処理を行う。
【０１３１】
ユーザが最初に「クリック」で指定した位置は指定した時点の拡大領域１４００１の中なので操作変数は「移動」である。
【０１３２】
「クリック時」にユーザが指定した位置１４００２は部分領域１４００７の中にあるので、開始部分領域は部分領域１４００７である。「移動操作２」の一連のユーザの動作における開始時点でユーザが指定した部分領域なので開始時の部分領域、すなわち開始部分領域である。
【０１３３】
開始拡大領域の大きさは「クリック時」の拡大領域１４００１の高さと幅である。開始拡大領域の中心座標は、「クリック時」の拡大領域１４００１の中心座標である。開始指定座標はユーザの指定した位置１４００２である。その後、「ムーブ」の処理になり、「ドロップ」の処理になる。終了指定座標は「ドロップ時」にユーザが指定した位置で１４００３の位置を指す。
【０１３４】
これらを元に「ドロップ」処理の後の拡大領域がＣＰＵ２００１によって計算され、拡大領域は１４００４になる。そして拡大領域１４００４に応じた画像がウインドウ１４００６の上図の１４００５に表示される。
【０１３５】
「クリック時」にユーザが拡大領域１４００１に対して指定した位置１４００２の相対位置関係と、「ドロップ時」にユーザが指定した位置とＣＰＵ２００１によって計算され設定される拡大領域１４００４の相対位置関係は、変化していない。
【０１３６】
次に「変倍」の動作について説明する。
【０１３７】
図１２は変倍操作時の表示部のフローチャートである。「変倍」の動作ではアスペクト比を維持する。Ｓ１２００１は図１０−３のＳ１００２３、図１０−４のＳ１００３５時に起動する。
【０１３８】
Ｓ１２００２では「クリック時」の拡大領域である開始拡大領域の大きさすなわち高さと幅から初期のアスペクト比を求める。
【０１３９】
そして「クリック時」にユーザが指定した位置である開始指定座標と「ドロップ時」に指定した位置である終了指定座標から、拡大領域の大きさをＣＰＵ２００１は計算する。
【０１４０】
ここで拡大領域は「クリック時」にカーソルが乗っている枠の位置が「ドロップ時」に指定した位置である終了指定座標まで変化した時にアスペクトを維持したままの大きさとなる。
【０１４１】
この拡大領域の大きさを設定することで、「ドロップ時」にユーザが「ドロップ」操作で指定した位置に拡大領域の枠が乗った状態で拡大領域が変倍される。
【０１４２】
次にＳ１２００３では計算した拡大領域が複数の領域にまたがるかどうかの判断を行う。「ドロップ時」にユーザが「ドロップ」操作で指定した位置に拡大領域が大きさを保ったまま移動した時には、拡大領域の矩形の座標は既知であるので、各部分領域の座標と比較を行って、計算した拡大領域が複数の部分領域にまたがるかどうかを判定する。
【０１４３】
Ｓ１２００３において、複数の領域にまたがる場合、Ｓ１２００４へ分岐する。Ｓ１２００４では開始拡大領域の座標と、指定された位置をもとに、アスペクト比を維持しながら部分領域に収まる範囲の大きさに変更する。Ｓ１２００３において複数の領域にまたがらない場合、Ｓ１２００５へ分岐する。Ｓ１２００５では計算した領域の大きさに変更する。Ｓ１２００４、Ｓ１２００５において変倍を行ったのち、Ｓ１２００６にて処理を終了する。
【０１４４】
図１５は図１２の「変倍」時のＵＩの例である。ユーザは１５００１の位置をマウスでクリックして１５００２の位置までカーソルをドラッグし、ドロップする。すなわち、１５００１の位置で「クリック時」の処理に入り、その後「ムーブ時」の処理を行い、１５００２の位置で「ドロップ時」の処理を行う。
【０１４５】
ユーザが最初に「クリック」で指定した位置１５００１はカーソルの先端が拡大領域１５００３の枠の上なので操作変数は「変倍」である。
【０１４６】
「クリック時」にユーザが指定した位置１５００１は部分領域１５００７の中にあるので、開始拡大領域は部分領域１５００７である。
【０１４７】
開始拡大領域の大きさは「クリック時」の拡大領域１５００３の高さと幅である。開始拡大領域の中心座標は、「クリック時」の拡大領域１５００３の中心座標である。開始指定座標はユーザの指定した位置１５００１である。
【０１４８】
その後、「ムーブ」の処理になり、「ドロップ」の処理になる。終了指定座標は「ドロップ時」にユーザが指定した位置で１５００２の位置を指す。
【０１４９】
これらを元に「ドロップ」処理の後の拡大領域がＣＰＵ２００１によって計算され、拡大領域は１５００４になる。そして拡大領域１５００４に応じた画像がウインドウ１５００６の上図の１５００５に表示される。
【０１５０】
ここで「クリック時」にユーザが指定した位置１５００１から「ドロップ時」にユーザが指定した位置１５００２まで拡大領域の左側の枠の位置が変化する。しかし、拡大領域のアスペクト比は「クリック時」の１５００３から「ドロップ時」の１５００４まで変化はしない。
【０１５１】
次に「移動・変倍」の動作について説明する。
【０１５２】
図１３は変倍操作時の表示部のフローチャートである。Ｓ１３０００は図１０−３のＳ１００２４、図１０−４のＳ１００３６時に起動する。
【０１５３】
Ｓ１３００１では、「クリック時」にユーザが指定した位置である開始指定座標と「ドロップ時」に指定した位置である終了指定座標から、アスペクト比を維持しつつ、ＣＰＵ２００１は拡大領域の大きさを計算する。すなわち、ＣＰＵ２００１は、「クリック時」にユーザが指定した位置である開始指定座標と「ドロップ時」に指定した位置である終了指定座標とを通り、「クリック」時と同じアスペクト比を維持する拡大領域を計算して求める。
【０１５４】
Ｓ１３００２では計算した拡大領域が複数の領域にまたがるかどうかの判断を行う。「ドロップ時」にユーザが「ドロップ」操作で指定した位置に拡大領域が大きさを保ったまま移動した時には、拡大領域の矩形の座標は既知であるので、各部分領域の座標と比較を行って、計算した拡大領域が複数の部分領域にまたがるかどうかを判定する。
【０１５５】
Ｓ１３００２において、複数の領域にまたがる場合、Ｓ１３００３へ分岐する。Ｓ１３００３では、ユーザの指定する部分領域内に収まる範囲の大きさに、アスペクトを維持しながら拡大領域の大きさの変更を行う。
【０１５６】
Ｓ１３００２において計算した領域が複数の部分領域にまたがらないとなった場合、Ｓ１３００４へ分岐する。Ｓ１３００４では計算して求めた通りの拡大領域に変更する。このようにＳ１３００３、Ｓ１３００４において移動・変倍を行ったのちＳ１３００５において処理を終了する。
【０１５７】
図１６は「移動・変倍」操作時のＵＩの例である。
【０１５８】
ユーザは１６００２の位置をマウスでクリックして１６００４の位置までカーソルをドラッグし、ドロップする。すなわち、１６００２の位置で「クリック時」の処理に入り、その後「ムーブ時」の処理を行い、１６００４の位置で「ドロップ時」の処理を行う。
【０１５９】
ユーザが最初に「クリック」で指定した位置１６００２は「クリック時」の拡大領域１６００１の枠の外なので操作変数は「移動・変倍」である。
【０１６０】
「クリック時」にユーザが指定した位置１６００２は右下の部分領域１６００８の中にあるので、開始部分領域は部分領域１６００８である。
【０１６１】
開始拡大領域の大きさは「クリック時」の拡大領域１６００１の高さと幅である。開始拡大領域の中心座標は、「クリック時」の拡大領域１６００１の中心座標である。開始指定座標は「クリック時」にユーザの指定した位置１６００２である。その後、「ムーブ」の処理になり、「ドロップ」の処理になる。終了指定座標は「ドロップ時」にユーザが指定した位置で１６００４の位置を指す。
【０１６２】
これらを元に「ドロップ」処理の後の拡大領域がＣＰＵ２００１によって計算され、拡大領域は１６００３になる。そして拡大領域１６００３に応じた画像がウインドウ１６００６の上図の１６００５に表示される。
【０１６３】
設定された拡大領域は、「クリック時」にユーザが指定した位置１６００２と「ドロップ時」にユーザが指定した位置１６００４両方を通る。この時の拡大領域のアスペクト比は「クリック時」の拡大領域１６００１から変化されていない。
これまで説明したようにクリック・ムーブ・ドロップというユーザの操作に応じて、拡大領域をユーザ指定の部分領域に適切に収めることができる。
【０１６４】
次に、本発明の第２の実施形態を説明する。
【０１６５】
撮像装置１０００側で拡大処理を行う撮像装置について説明する。
【０１６６】
図１７は、本実施例における撮像装置１０００のソフトウエア構成を示すブロック図である。図１７において、１００１は映像制御部、１００２は通信部、１００３は記憶部、１００４は撮像装置制御部である。通信部１００２はクライアント装置２０００からのリクエストを受付け、レスポンスをクライアント装置２０００へ返す。
【０１６７】
リクエストには、画像データ取得、全体画像中の指定した領域の拡大・縮小を行うズーム制御、現在の表示位置を変更するパン・チルト制御が含まれる。受け付けたリクエストは記憶部１００３に保存され、ズーム・パン・チルト制御は撮像装置制御部１００４へ、画像の取得は映像制御部へ送られる。撮像装置制御部１００４は、通信部１００２からの撮像装置１０００の制御を受け付け、球面座標系であるズーム・パン・チルト制御を画像内における２次元空間の極座標系へ変換を行い、記憶部１００３へ保存し、映像制御部１００１へ送る。
【０１６８】
映像制御部１００１は、画像の取得やズーム・パン・チルト制御を受け付け、要求された位置・大きさの画像を生成し、圧縮符号化を行い、記憶部１００３に保存する。クライアント装置２０００から画像取得要求をされた場合、通信部１００２が要求を受け付け、記憶部１００３に保存されている画像を、クライアント装置２０００へ配信を行う。各プログラムは、ＯＳの機能により連携する。
【０１６９】
図１８は撮像装置１０００側で拡大処理を行う場合のクライアント装置２０００の入力部２１０３のフローチャートである。Ｓ１９０００はユーザから入力があった場合に起動する。Ｓ１９００１では指定された直交座標から球面座標系のズーム・パン・チルトへ変換を行う。その後ズーム・パン・チルト要求を通信部２１０５に送る。そしてＳ１９００３において終了する。要求を受け取った通信部は、撮像装置１０００へ要求を送信する。
【０１７０】
図１９は撮像装置１０００側で拡大処理を行う場合の撮像装置１０００側の撮像装置制御部１００２のフローチャートである。Ｓ２００００は通信部１００２から位置変更要求を受けた際に起動する。Ｓ２０００１では３次元の極座標系である球面座標系から２次元の極座標系である円座標系に変換を行う。その後Ｓ２０００２において、位置変更要求を映像制御部１００１へ送信する。その後Ｓ２０００３にて終了する。映像制御部は、指定された位置・大きさで画像を生成し、記憶部１００３を介し、通信部１００２からクライアント装置２０００に画像が送られる。
【０１７１】
図２０（ａ）と図２０（ｂ）は撮像装置１０００側で拡大処理を行う場合のＵＩの例である。
【０１７２】
図２０（ａ）では、クライアント装置２０００に接続された表示装置２００９が画像２１０００を表示している。ユーザが入力装置２００８で範囲２１００２を指定する。ユーザが指定した拡大領域２１００２は、合成画像の複数の部分領域にまたがっている。
【０１７３】
その後、撮像装置１０００で移動・変倍処理を行った結果が図２０（ｂ）の画像２１００１である。部分領域２１００３は図２０（ａ）の拡大領域２１００２の範囲の拡大画像となる。
【０１７４】
本実施例では、クライアント装置２０００と撮像装置１０００の両方に、合成画像における複数の部分領域の境界において制限を設けていない。そのため、図２０（ａ）での部分領域の境界２１００４は表示されるが、拡大後の図２０（ｂ）の画像では境界が無い。
【０１７５】
このように当初の部分領域を超えた部分も拡大して部分領域の画像を変化させ、拡大処理を行う。
【０１７６】
次に、本発明の第３の実施形態を説明する。
【０１７７】
本実施形態では、ユーザが指定した領域に応じて、撮像装置１０００の複数の画像の切り出し、それらを合成してあたかも一つの部分領域として提示する。これにより複数の部分領域にまたがった領域をあたかもそのまま拡大したような感覚が得られる。
【０１７８】
撮像装置１０００側で拡大処理を行う撮像装置である点は第２の実施形態と同様である。
【０１７９】
図２１は撮像装置１０００側で拡大処理を行う場合のクライアント装置２０００の入力部２１０３のフローチャートである。
【０１８０】
Ｓ２２０００はユーザから入力を受けた場合にプログラムが起動する。
【０１８１】
Ｓ２２００１ではユーザが指定した位置を中心とする拡大領域の計算を行ってユーザへの表示画面上で、ユーザが拡大したい領域を求める。
【０１８２】
Ｓ２２００２では計算した拡大領域が複数の部分領域にまたがるかどうかの判断を行う。ユーザが表示画面を見ながらマウス操作によってドラッグ、ムーブ、ドロップすることは前述した説明と同じである。これにより定まる拡大領域の矩形の座標はユーザへの表示画面上での座標は既知であるので、各部分領域の座標と比較を行って、計算した拡大領域が複数の部分領域にまたがるかどうかを判定する。
【０１８３】
Ｓ２２００２において複数の部分領域にまたがる場合、Ｓ２２００３に分岐する。
【０１８４】
Ｓ２２００３ではまたがっている部分領域が残っているかどうかの判断を行う。残っている場合Ｓ２２００４に分岐をする。
【０１８５】
プログラム上、判断はループ処理の前で行う場合と後で行う場合とがあるが、前で行うものとして説明する。そのため詳細は後述するが、ここでは「残っているかどうか」の判断となる。一回目の判断なのでここでは「残っている」となる。
【０１８６】
Ｓ２２００４では処理領域として、次のまたがる領域を代入する。
【０１８７】
ここで代入する、ということについて説明する。
【０１８８】
ここでは図２３を用いて説明する。拡大領域２４００２は部分領域２４００４と部分領域２４００５にまたがっている。この２つの部分領域は撮像装置２０００の異なる切り出し位置から得られる画像である。部分領域２４００２に含まれる上側の領域２４００６と、部分領域２４００５に含まれる下側の領域２４００７のうち、片方ずつ処理を行う。この時２回分の処理が行われ、例えば１回目に処理を行う時に上側の領域２４００６のパラメータを代入し、次に下側を代入する。このように拡大領域に含まれる部分領域ごとに処理を行うことを指す。
【０１８９】
次にＳ２２００５において、指定された直交座標系から球面座標系に変換する。
【０１９０】
これは切り出してユーザに表示している映像は直交座標系で表現できるが、切り出す前の撮像装置１０００が魚眼レンズによってとらえている風景は球面座標による表現が好ましいためである。
【０１９１】
次にＳ２２００３においてまたがっている領域が残っているかどうかの判断を再度行う。
【０１９２】
これは例えば図２３でいうところの拡大領域２４００２のうち、上側の領域２４００６、下側の領域２４００７を順次処理して、その他にもまたがっている領域があるかどうかを指す。つまり他の部分領域にもまたがる指定であれば、まだ残っている、となる。図２３の例であれば２箇所を処理すれば、残っていない、となる。
【０１９３】
Ｓ２２００３においてまたがっている領域が残っていない場合、変換した全領域を含む合成画像のリクエストを通信部２１０５へ送り、Ｓ２２００９において終了する。Ｓ２２００２において計算した拡大領域が複数の領域にまたがらないとなった場合、Ｓ２２００７において、指定した直交座標系から、球面座標系へ変換する。その後Ｓ２２００８において変換した変換した画像リクエストを通信部２１０５へ送り、Ｓ２２００９において終了する。リクエストを受けた通信部２１０５は、ネットワーク３０００を介し撮像装置１０００へ送信する。
【０１９４】
ここまでがクライアント装置２０００側の処理である。クライアント装置２０００で行うのは、拡大領域が複数の部分領域にまたがるか判断し、またがっている領域を分割して、分割した領域ごとにその領域情報に相当するリクエストを撮像装置１０００に送信する。
【０１９５】
次に撮像装置１０００側で同様に分割されたリクエストに応じてそれぞれの画像を撮像画像から切り出してクライアント装置２０００に送る。
【０１９６】
以下でその処理の流れを説明する。
【０１９７】
図２２は撮像装置１０００側で拡大処理を行う場合の撮像装置１０００側の撮像装置制御部１００４のフローチャートである。クライアント装置２０００から画像リクエストを受信した撮像装置１０００のソフトウエアの通信部１００２は、撮像装置制御部１００４が位置変更要求を受け取り、合成画像要求を映像制御部へ要求する。位置変更要求をうけた際にＳ２３０００が起動する。
【０１９８】
次にＳ２３００１において、複数位置の変更要求かどうかの判断を行う。
【０１９９】
Ｓ２３００１において複数位置の変更要求であるとなった場合、Ｓ２３００２において変更位置が複数残っているかどうかの判断を行う。
【０２００】
Ｓ２３００２において複数残っている場合、Ｓ２３００３へ分岐する。Ｓ２３００３では処理領域を次の変更位置とする。
【０２０１】
次にＳ２３００４において、３次元の極座標系である球面座標系から平面の極座標系へ変換を行う。
【０２０２】
その後Ｓ２３００２へ戻り、変更位置が残っているかどうかの判断を行う。
【０２０３】
変更位置が残っている、とはクライアント装置２０００からの分割されたリクエストが残っているかどうかである。このように分割されたリクエストに応じて画像を切り出す。
【０２０４】
Ｓ２３００２において変更位置が残っていないと判断された場合、Ｓ２３００５へ分岐する。
【０２０５】
変更位置が残っていないとは、クライアント装置２０００からの分割されたリクエストが全部処理して残っていないことを指す。
【０２０６】
Ｓ２３００５では合成画像の変更を映像制御部１００１へ送信する。その後Ｓ２３００７において終了する。
【０２０７】
Ｓ２３００１において複数変更位置要求でないと判断された場合、Ｓ２３００６に分岐する。
【０２０８】
Ｓ２３００６では３次元の極座標系である球面座標系から平面の極座標系へ変換を行う。
【０２０９】
次にＳ２３００８において、位置変更要求を映像制御部１００１へ送信する。
【０２１０】
そしてＳ２３００７において処理を終了する。
【０２１１】
その後で位置変更要求および複数位置変更要求を受け取った映像制御部１００１は対象となる画像の位置を変更する。映像制御部は位置を変更した画像を生成した後、通信部１００２へ画像生成応答を返す。
【０２１２】
図２３は図２２のフローチャートに沿って処理を行った第３の実施形態のＵＩの例である。
【０２１３】
合成画像２４０００の拡大領域２４００２をユーザが指定した場合、拡大領域２４００２は左上の部分領域２４００４と左下の部分領域２４００５にまたがっているため、図２２のフローチャートでいうところの複数位置の変更に相当する。
【０２１４】
クライアント装置２０００での指定が撮像装置１０００上での複数の部分領域に渡る指定の場合、それらをすべて含む合成画像を撮像装置１０００に要求し、撮像装置１０００はすべてに応答した後に合成画像を返す。これにより、撮像装置１０００側で拡大した場合でも、ユーザが見て、指定した通りの領域を拡大して表示できるという効果がある。
【０２１５】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【０２１６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０２１７】
２１０１  記憶部
２１０２  表示部
２１０３  入力部
２１０５  通信部
【図１】
2019191509.tif 000003
【図２】
2019191509.tif 000004
【図３】
2019191509.tif 000005
【図４】
2019191509.tif 000006
【図５】
2019191509.tif 000007
【図６】
2019191509.tif 000008
【図７】
2019191509.tif 000009
【図８】
2019191509.tif 000010
【図９】
2019191509.tif 000011
【図１０−１】
2019191509.tif 000012
【図１０−２】
2019191509.tif 000013
【図１０−３】
2019191509.tif 000014
【図１０−４】
2019191509.tif 000015
【図１１】
2019191509.tif 000016
【図１２】
2019191509.tif 000017
【図１３】
2019191509.tif 000018
【図１４】
2019191509.tif 000019
【図１５】
2019191509.tif 000020
【図１６】
2019191509.tif 000021
【図１７】
2019191509.tif 000022
【図１８】
2019191509.tif 000023
【図１９】
2019191509.tif 000024
【図２０】
2019191509.tif 000025
【図２１】
2019191509.tif 000026
【図２２】
2019191509.tif 000027
【図２３】
2019191509.tif 000028