以下に添付図面を参照して、配信システムおよび配信方法、配信装置および配信プログラム、ならびに、受信装置および受信プログラムの実施形態を詳細に説明する。
(第1の実施形態の概要)
図1は、第1の実施形態に係る配信システムの一例の構成を示す。図1において、配信システム1は、配信装置10と受信装置40とを含む。配信装置10は、ネットワーク2を介して受信装置40と接続可能とされている。例えば、受信装置40は、無線通信が可能であって、ネットワーク2に接続されるAP(アクセスポイント)3と無線通信を用いて通信して、ネットワーク2に接続される。
配信装置10は、第1の撮影装置としての全天球カメラ20と、第2の撮影装置としてのパンチルトカメラ30とが接続される。
全天球カメラ20は、例えばそれぞれ画角が180°以上である2枚の魚眼レンズと、ミラーあるいはプリズムを含む光学系とを組み合わせて、画角が4π[sr](ステラジアン)の撮影画像を取得することが可能とされている。以降、この全天球カメラ20で撮影された、画角が4π[sr](ステラジアン)の撮影画像を全天球画像と呼び、この4π[sr]の立体角の中心を画角中心と呼ぶ。また、全天球カメラ20は、動画として撮影された全天球画像を出力可能である。全天球カメラ20から出力された全天球画像は、第1の撮影画像として配信装置10に渡される。全天球カメラ20は、例えば三脚21により保持されて設置される。
パンチルトカメラ30は、直交する2軸にて所定の角度範囲内で撮影方向を変更可能とされる。例えば、パンチルトカメラ30は、配信装置10から供給される方向情報に従い、撮影方向が変更される。また、パンチルトカメラ30は、配信装置10の指示に従い撮影動作を行い、撮影された撮影画像を、第2の撮影画像として配信装置10に渡す。
受信装置40は、例えばタブレット型コンピュータや多機能型携帯端末装置を適用することができ、表示デバイスと、操作位置に応じた制御信号を出力する入力デバイスとが一体的に構成されたタッチパネル42を含み、例えばAP3から受信した受信信号に基づく画面をタッチパネル42に表示させることができる。また、タッチパネル42は、表示される画面に対する操作に応じた制御信号を出力することができる。
このような構成の第1の実施形態に係る配信システム1において、配信装置10は、全天球カメラ20から出力された全天球画像を、ネットワーク2を介して受信装置40に送信し、全天球画像を配信する。受信装置40は、配信装置10から配信された全天球画像を受信し、受信した全天球画像の一部である指定領域の画像を、タッチパネル42に表示させる。
ここで、受信装置40において、タッチパネル42に指定領域の画像が表示された状態で、タッチパネル42上の任意の位置にユーザの手指41が接触された場合について考える。タッチパネル42に手指41が接触された後、タッチパネル42に対する手指41の接触状態が保たれたまま手指41の位置が移動されたとする。受信装置40は、この手指41のタッチパネル42への接触状態を保った状態での移動を検知すると、移動方向および移動距離に応じて、全天球画像における指定領域の位置を移動させる。ここでは、タッチパネル42上での手指41の移動方向と、全天球画像における指定領域の移動方向とを一致させるものとする。これにより、ユーザは、タッチパネル42に表示される画面により、全天球画像の所望の領域を観察できる。
なお、手指41をタッチパネル42に接触させる行為を、「タップ」と呼ぶ。また、手指41をタッチパネル42に接触させた状態を保った状態でタッチパネル42上を移動させる行為を、「スワイプ」と呼ぶ。
次に、ユーザが、スワイプを行う手指41の動きを、手指41のタッチパネル42への接触を保った状態で所定時間(例えば1秒)停止させたものとする。この場合、受信装置40は、タッチパネル42に表示される指定領域における手指41の位置に対応する全天球画像の位置(座標)を取得し、取得した位置を示す位置情報を配信装置10に送信する。
配信装置10は、受信装置40から送信された位置情報を受信すると、受信した位置情報が示す全天球画像の位置の、全天球画像カメラ20の画角中心からの方向を示す方向情報を求める。配信装置10は、パンチルトカメラ30の撮影方向が位置情報に基づき求めたこの方向情報に示される方向に向くようにパンチルトカメラ30の方向制御を行う。配信装置10は、パンチルトカメラ30の方向制御が完了すると、パンチルトカメラ30に撮影動作を実行させる。パンチルトカメラ30で撮影された撮影画像は、配信装置10に送信される。
配信装置10は、パンチルトカメラ30から受信した撮影画像を、受信装置40に送信する。受信装置40は、配信装置10から渡された、パンチルトカメラ30により撮影された撮影画像を、タッチパネル42の画面に表示される指定領域の画像に対して合成して表示させる。パンチルトカメラ30により撮影された撮影画像は、指定領域内の画像に対して高解像度とすることが容易であり、ユーザは、タッチパネル42に表示される全天球画像に対して指定した位置の詳細な画像を観察することができる。
(第1の実施形態に適用可能な構成例)
図2は、第1の実施形態に適用可能な全天球カメラ20の外観の例を示す。図2(a)は、全天球カメラ20の上面、図2(b)は、正面をそれぞれ示している。図2(a)において、レンズ210aおよび210bは、それぞれ全天球カメラ20の前面側および後方側の光を、2π[sr]以上の画角で集光する。図2(b)において、全天球カメラ20の前面側には、レンズ210aの他に、シャッタボタン211、電源ランプ212およびモード表示部213が設けられる。モード表示部213は、例えば、全天球カメラ20の撮影モードが静止画撮影モードおよび動画撮影モードのうち何れであるかを示す。
図3は、第1の実施形態に適用可能な全天球カメラ20の一例の構成を示す。図3において、全天球カメラ20は、撮影系の構成として、撮影ユニット220と、映像処理部223と、撮影制御部224とを含む。また、制御系の構成として、CPU(Central Processing Unit)230と、ROM(Read Only Memory)231と、RAM(Random Access Memory)232と、操作I/F(インタフェース)233と、スイッチ234と、データI/F235と、無線I/F236と、これら各部を接続するバス237と、を含む。また、バス237には、映像処理部223および撮影制御部224も接続される。
制御系の構成において、CPU230は、ROM231に予め記憶されるプログラムに従い、RAM232をワークメモリとして用いて動作して、この全天球カメラ20の全体の動作を制御する。スイッチ234は、上述したシャッタボタン211など1以上の操作子を含み、操作に応じた制御信号を出力する。スイッチ234から出力された制御信号は、操作I/F233を介してバス237に送られ、CPU230に渡される。
データI/F235は、USB(Universal Serial Bus)などのデータ通信に対応するインタフェースであって、CPU230の制御に従い、外部の機器との間でデータ通信を行う。データI/F235による接続を行うためのコネクタは、例えば全天球カメラ20の底面側に設けられる。無線I/F236は、CPU230の制御に従い無線通信を行う。
撮影系の構成において、撮影ユニット220は、全天球カメラ20の前面側の撮影を行うための前面撮影素子221aと、後方側の撮影を行うための後方撮影素子221bとを含む。前面撮影素子221aおよび後方撮影素子221bは、それぞれ例えばCCD(Charge Coupled Device)を用いて構成され、レンズ210aおよび210bから入射された光を電気信号に変換して撮影信号として出力する。
撮像制御部224は、CPU230の制御に従い、前面撮影素子221aおよび後方撮影素子221bにおける撮影タイミングなど撮影処理の制御を行う。映像処理部223は、前面撮影素子221aおよび後方撮影素子221bから出力された各信号に、ノイズ除去、レベル補正などの所定の処理を施し、その後A/D変換してディジタル方式のデータによる撮影画像に変換する。さらに、映像処理部223は、前面撮影素子221aおよび後方撮影素子221bによる各撮影画像を合成して、XY座標系による2次元の画像(全天球画像と呼ぶ)を生成する。映像処理部223で生成された全天球画像は、例えばデータI/F235から外部に出力することができる。
図4および図5を用いて、全天球カメラ20において撮影される映像について説明する。
図4は、第1の実施形態に適用可能な、全天球カメラ20によって撮影された映像の例を示す。図4(a)は、全天球カメラ20の前面撮影素子221aによって撮影された映像の例、図4(b)は後方撮影素子221bによって撮影された映像の例をそれぞれ示している。なお、図4(a)と図4(b)とでは、映像の天地が逆になっている。これは、光学系を簡略化し、全天球カメラ20の筐体の前面および後方に配置されたレンズ210aおよび210bから入射した光線を1つのミラーの表裏で上下に反射し、反射光の光軸上に前面撮影素子221aと後方撮影素子221bとを配置したことによる。図4(a)および図4(b)の映像は、映像処理部223により1の映像に合成され、図4(c)に例示する、正距円筒図法による全天球画像となる。
図5は、第1の実施形態に適用可能な、全天球カメラ20の映像処理部223による全天球画像の生成の例を示す。図5において、上段は、前面撮影素子221aと後方撮影素子221bから得られる各映像の画素位置に対し、水平方向の角度θと垂直方向の角度φとの対応関係を示している。上段の左右では、一方の映像の天地が逆になっていることに対応し、角度φの正負が逆になっている。
映像処理部223は、上段に示す各映像に含まれる各画素に対し、角度θと角度φとを直交する座標に変換するルックアップテーブルに基づいて、中段に示す各映像への変換を行う。次いで、映像処理部223は、中段に示す2つの映像を合成し、下段に示す、角度θが0°〜360°である1の映像を生成する。そして、これを3角形状のポリゴンに分解し、角度θと角度φと対応付けて3次元データとする。これが全天球画像として、映像処理部223から出力される。
図6は、第1の実施形態に適用可能なパンチルトカメラ30の外観の例を示す。図6において、パンチルトカメラ30は、光学系300を含むカメラ本体301と、回転部302と、台座303とを備える。カメラ本体301は、回転部302により、水平軸Hの周りに所定角度範囲で回転可能に保持される。また、回転部302は、台座303により、垂直軸Vの周りに所定角度範囲(例えば360°)で回転可能に保持される。すなわち、パンチルトカメラ30は、水平軸Hおよび垂直軸Vの2軸により、撮影方向を所定の角度範囲内で自在に変更できる。パンチルトカメラ30の撮影方向は、所定の制御信号に従い制御できる。
図7は、第1の実施形態に適用可能なパンチルトカメラ30の一例の構成を示す。図7において、パンチルトカメラ30は、撮影系の構成として、光学系300と、光学系I/F313と、撮像素子311と、画像処理部312とを含む。また、上述した回転部302による2軸の回転を駆動する駆動系として、モータM314aおよび314bと、駆動部315と、駆動I/F316とを含む。さらに、制御系の構成として、CPU320と、ROM321と、RAM322と、操作部I/F323と、操作入力部324と、データI/F325と、これら各部を接続するバス326と、を含む。また、バス326には、画像処理部312、光学系I/F313および駆動I/F316も接続される。
制御系の構成において、CPU320は、ROM321に予め記憶されるプログラムに従い、RAM322をワークメモリとして用いて動作して、このパンチルトカメラ30の全体の動作を制御する。操作入力部324は、このパンチルトカメラ30を手動にて操作するための各種操作子を含み、操作に応じた制御信号を出力する。操作入力部324から出力された制御信号は、操作部I/F323を介してバス326に送られ、CPU320に渡される。
データI/F325は、USBなどのデータ通信に対応するインタフェースであって、CPU320の制御に従い、外部の機器との間でデータ通信を行う。データI/F325による接続を行うためのコネクタは、例えばパンチルトカメラ30の台座303に設けられる。
撮影系の構成において、光学系300は、レンズや絞り機構、オートフォーカス機構、ズーム機構などを含む。絞り機構、オートフォーカス機構、ズーム機構は、CPU320から光学系I/F313を介して供給される制御信号に従い制御される。外部から入射された光は、光学系300を介して撮影素子311に入射される。撮影素子311は、例えばCCDを用いて構成され、入射された光を電気信号に変換して撮影信号として出力する。
ここで、撮像素子311の解像度は、全天球カメラ20により撮影された全天球画像に対して指定された指定領域の画像の解像度よりも高解像度であるものとする。
撮影素子311から出力された撮影信号は、画像処理部312に入力される。画像処理部312は、撮影素子311から出力された撮影信号に、ノイズ除去、レベル補正などの所定の処理を施し、その後A/D変換してディジタル方式のデータである撮影画像に変換する。画像処理部312は、撮影信号を変換した撮影画像を、バス326に出力する。
駆動系の構成において、駆動部315は、CPU320から駆動I/F316を介して供給される制御信号に従い、モータM314aおよび314bをそれぞれ駆動する。モータM314aおよび314bは、それぞれ、回転部302における水平軸Hおよび垂直軸Vの回転を駆動する。
図8は、第1の実施形態に適用可能な配信装置10の一例の構成を示す。図8において、配信装置10は、CPU1000と、ROM1001と、RAM1002と、映像出力I/F1003と、操作部I/F1009と、を含み、これら各部がバス1011に接続される。配信装置10は、さらに、通信I/F1004と、データI/F1005と、映像入力I/F1006および1007と、オーディオI/F1008と、を含み、これら各部がバス1011に接続される。このように、配信装置10は、バス1011で接続されたCPU1000、ROM1001およびRAM1002を含むコンピュータが搭載されていると考えることができる。
CPU1000は、ROM1001に予め記憶されるプログラムに従い、RAM1002をワークメモリとして用いて動作して、この配信装置10の全体の動作を制御する。映像出力I/F1003は、この配信装置10にディスプレイを接続する際のインタフェースである。映像出力I/F1003は、例えば、CPU1000からバス1011を介して供給された画像(映像)を、ディスプレイが対応可能な形式に変換して出力する。
操作部I/F1009は、操作入力部1010が接続される。操作入力部1010は、この配信装置10を手動にて操作するための各種操作子を含み、操作に応じた制御信号を出力する。操作入力部1010から出力された制御信号は、操作部I/F1009を介してバス1011に送られ、CPU1000に渡される。
映像出力I/F1003は、この配信装置10にディスプレイを接続する際のインタフェースである。映像出力I/F1003は、例えば、CPU1000からバス1011を介して供給された画像(映像)を、ディスプレイが対応可能な形式に変換して出力する。
通信I/F1004は、CPU1000の制御に従い、ネットワーク2に対する通信を制御する。データI/F1005は、USBなどのデータ通信に対応するインタフェースであって、CPU1000の制御に従い、1以上の外部の機器との間でデータ通信を行う事が可能である。例えば、全天球カメラ20のデータI/F235、および、パンチルトカメラ30のデータI/F325と、データI/F1005とを接続し、配信装置10から全天球カメラ20およびパンチルトカメラ30の動作を、データI/F1005を介して制御することができる。
映像入力I/F1006および1007は、それぞれ、外部からの画像(映像)の入力を受け付け、入力された画像をバス1011に出力する。例えば、上述した全天球カメラ20から出力された全天球画像や、パンチルトカメラ30から出力された撮影画像は、それぞれ、これら映像入力I/F1006および1007に入力され、CPU1000に渡される。なお、通信I/F1004やデータI/F1005を、映像入力I/F1006および1007として用いることも可能である。
オーディオI/F1008は、バス1011を介して供給されたディジタル方式の音声信号をD/A変換によりアナログ方式の音声信号に変換し、さらに増幅等の処理を施して出力し、例えばスピーカに供給する。また、オーディオI/F1008は、マイクロホンから入力されたアナログ方式の音声信号をA/D変換によりディジタル方式の音声信号に変換して、バス1011に出力する。
図9は、第1の実施形態に係る配信装置10の機能を説明するための一例の機能ブロック図を示す。図9において、配信装置10は、制御部100と、通信部101と、生成部102と、取得部103と、を含む。これら制御部100、通信部101、生成部102および取得部103は、CPU1000上で動作する配信プログラムにより構成される。これに限らず、制御部100、通信部101、生成部102および取得部103の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
制御部100は、通信部101、生成部102および取得部103を含む配信装置10の全体の動作を制御する。通信部101は、通信I/F1004を制御して、ネットワーク2を介した通信を行う。
生成部102は、受信装置40から受信した位置情報に基づき、全天球カメラ20の画角中心から、当該位置情報に示される位置に向けた方向を示す方向情報を生成する。例えば制御部100は、生成部102により生成された方向情報を、パンチルトカメラ30に渡す。また、制御部100は、パンチルトカメラ30に対して撮影を指示する。
取得部103は、方向情報に従い撮影方向を制御されたパンチルトカメラ30により撮影されて得られた撮影画像から情報を取得する。第1の実施形態では、取得部103は、例えば当該撮影画像そのものを情報として取得する。取得部103により取得された情報は、制御部100による制御に従い、通信部101により受信装置40に送信される。
配信装置10における第1の実施形態に係る各機能を実現するための配信プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該配信プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該配信プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
当該配信プログラムは、制御部100、通信部101、生成部102および取得部103を含むモジュール構成となっている。実際のハードウェアとしては、CPU1000がROM1001などの記憶媒体から当該配信プログラムを読み出して実行することにより、上述した各部がRAM1002などの主記憶装置上にロードされ、制御部100、通信部101、生成部102および取得部103が主記憶装置上に生成されるようになっている。
図10は、第1の実施形態に適用可能な受信装置40の一例の構成を示す。図10において、受信装置40は、CPU4000と、ROM4001と、RAM4002と、オーディオI/F4003と、ストレージ4004と、通信I/F4005と、映像出力I/F4006と、入力I/F4007と、を含み、これら各部がバス4010により接続される。このように、受信装置40は、バス4010で接続されたCPU4000、ROM4001およびRAM4002を含むコンピュータが搭載されていると考えることができる。
ストレージ4004は、不揮発性メモリやハードディスクドライブといった不揮発性の記憶媒体であって、CPU4000が動作するためのプログラムや、各種データを記憶することができる。CPU4000は、ROM4001およびストレージ4004に予め記憶されるプログラムに従い、RAM4002をワークメモリとして用いて動作して、この受信装置40の全体の動作を制御する。
映像出力I/F4006は、ディスプレイ4008aが接続され、CPU4000からバス4010を介して供給された画像(映像)や表示制御信号を、ディスプレイ4008aが対応可能な形式に変換して出力する。例えば、映像出力I/F4006は、ディスプレイ4008aの各画素に対応して画像を記憶するフレームメモリを含み、フレームメモリに画素単位で記憶された画像をディスプレイ4008aに転送する。なお、ディスプレイ4008aは、例えばLCD(Liquid Crystal Display)による表示デバイスと、表示デバイスを駆動する駆動回路を含む。
入力I/F4007は、位置に応じた制御信号を出力する入力デバイス4008bが接続され、入力デバイス4008bから出力された制御信号をCPU4000が対応可能な形式に変換して、バス4010を介してCPU4000に渡す。これらディスプレイ4008aと、入力デバイス4008bとが一体的に形成されて、タッチパネル42(図1参照)が構成される。
通信I/F4005は、無線通信による送受信の機能を備え、CPU4000の制御に従い、AP3と通信を行い、ネットワーク2を介した通信を行う。オーディオI/F4003は、バス4010から供給されたディジタル方式の音声信号をD/A変換によりアナログ方式の音声信号に変換し、さらに、増幅などの処理を施してスピーカSP4020に出力する。
図11は、第1の実施形態に係る受信装置40の機能を説明するための一例の機能ブロック図を示す。図11において、受信装置40は、制御部400と、通信部401と、UI部402と、表示制御部403と、位置指定部406と、を含む。これら制御部400、通信部401、UI部402、表示制御部403および位置指定部406は、CPU4000上で動作する受信プログラムにより構成される。これに限らず、制御部400、通信部401、UI部402、表示制御部403および位置指定部406の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
制御部400は、通信部401、UI部402、表示制御部403および位置指定部406を含む受信装置40の全体の動作を制御する。通信部401は、通信I/F4005を制御して、ネットワーク2を介した通信を行う。
UI部402は、タッチパネル42における入力デバイス4008bに対する入力操作を受け付ける。例えばUI部402は、入力デバイス4008bに対する手指41の接触を検知し、手指41が接触された位置を検出する。また、UI部402は、入力デバイス4008bに対する手指41の接触の検知結果に基づき、入力デバイス4008bに対する入力操作がタップあるいはスワイプの何れであるかを判定する。
表示制御部403は、描画部404と合成部405とを含み、ディスプレイ4008aに対する静止画像および動画像の表示を制御する。描画部404は、フレームメモリに対して静止画像あるいは動画像を描画する。このフレームメモリに描画された画像がディスプレイ4008aに転送されることで、ディスプレイ4008aに静止画像あるいは動画像が表示される。
合成部405は、ディスプレイ4008aに表示されている画像に対して、他の画像を合成する。合成部405は、例えば、描画部404によりフレームメモリに描画された画像を、当該他の画像により上書きすることで、当該他の画像の合成を行う。
位置指定部406は、タッチパネル42において、ディスプレイ4008aに表示される、全天球画像の一部である指定領域に対して入力デバイス4008bにより入力された位置に対応する、当該全天球画像の位置を指定する。位置指定部406により指定された位置を示す位置情報は、通信部401により配信装置10に送信される。
受信装置40における第1の実施形態に係る各機能を実現するための受信プログラムは、インストール可能な形式または実行可能な形式のファイルでCD、フレキシブルディスク、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該受信プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該受信プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
当該受信プログラムは、制御部400、通信部401、UI部402、表示制御部403および位置指定部406を含むモジュール構成となっている。実際のハードウェアとしては、CPU4000がROM4001およびストレージ4004などの記憶媒体から当該受信プログラムを読み出して実行することにより、上述した各部がRAM4002などの主記憶装置上にロードされ、制御部400、通信部401、UI部402、表示制御部403および位置指定部406が主記憶装置上に生成されるようになっている。
(第1の実施形態に係る配信システムの動作の詳細)
次に、第1の実施形態に係る配信システム1による動作について、より詳細に説明する。図12は、第1の実施形態に係る配信装置10の処理を示す一例のフローチャートである。
図12において、ステップS100で、制御部100は、全天球カメラ20から全天球画像を取得し、取得した全天球画像を通信部101により受信装置40に送信する。この、制御部100による全天球画像の取得、および、取得した全天球画像の送信は、例えば配信装置10の動作が停止されるまで、全天球カメラ20の撮影制御部224による撮影タイミング(フレームタイミング)に応じて繰り返し実行される。すなわち、全天球カメラ20は、動画像として全天球画像を出力し、配信装置10は、この動画像としての全天球画像を受信装置40に送信する。
次のステップS101で、制御部100は、受信装置40から指定位置情報を受信したか否かを判定する。制御部100は、指定位置情報を受信していないと判定した場合(ステップS101、「No」)、処理をステップS101に戻す。一方、制御部100は、指定位置情報を受信したと判定した場合(ステップS101、「Yes」)、処理をステップS102に移行させる。
ステップS102で、生成部102は、ステップS101で受信装置40から受信した指定位置情報に基づき、指定位置情報が示す位置に対応する全天球画像における位置を求める。そして、生成部102は、全天球カメラ20の画角中心から、求めた位置に向けた方向を示す方向情報を生成する。
次のステップS103で、制御部100は、ステップS102で生成された方向情報をパンチルトカメラ30に送信し、パンチルトカメラ30に対して、方向情報に従い撮影方向を制御するよう指示する。次のステップS104で、制御部100は、パンチルトカメラ30に対して撮影指示を送信し、取得部103は、この撮影指示に応じてパンチルトカメラ30で撮影された撮影画像を取得する。
次のステップS105で、取得部103は、ステップS104でパンチルトカメラ30から取得された撮影画像に基づき、受信装置40において表示画像に合成させるための画像(パッチ画像と呼ぶ)を作成する。取得部103は、作成したパッチ画像を、通信部101により受信装置40に送信する。制御部100は、パッチ画像の送信を行うと、処理をステップS101に戻す。
図13は、第1の実施形態に係る受信装置40の処理を示す一例のフローチャートである。なお、図13のフローチャートによる処理に先立って、配信装置10では図12のステップS100の処理が実行され、全天球カメラ20により撮影された、動画としての全天球画像が配信装置10から受信装置40に送信される。
ステップS120で、受信装置40において、表示制御部403は、配信装置10から送信された全天球画像の一部を指定領域として取得し、取得した指定領域の画像を描画部404によりフレームメモリに描画する。フレームメモリに描画された指定領域の画像が、ディスプレイ4008aに表示される。以降、特に記載の無い限り、「画像をフレームメモリに描画し、フレームメモリに描画された画像をディスプレイ4008aに表示する」動作を、「画像をディスプレイ4008aに描画する」のように記載する。
次のステップS121で、UI部402は、入力デバイス4008bに対する手指41などの接触の有無を判定する。UI部402は、接触が検知されていないと判定した場合(ステップS121、「No」)、処理をステップS121に戻す。一方、UI部402は、接触が検知されたと判定した場合(ステップS121、「Yes」)、処理をステップS122に移行させる。
ステップS122で、表示制御部403は、UI部402から、接触が検知された位置(接触位置)を取得し、取得した接触位置に応じて指定領域の全天球画像内での位置を変更させる。描画部404は、全天球画像における、変更された指定領域の画像をディスプレイ4008aに描画する。次のステップS123で、UI部402は、所定時間(例えば1秒間)以上、同一の位置に対する接触が維持されているか否かを判定する。なお、同一の位置に対する接触の維持を判定する所定時間は、1秒に限られない。
UI部402は、同一位置に対する接触の維持が所定時間未満であると判定した場合(ステップS123、「No」)、処理をステップS121に戻す。ここで、接触位置が前回のステップS121の処理時に対して移動している場合、スワイプ操作がなされていると判定できる。
一方、UI部402は、所定時間以上、同一位置に対する接触が維持されていると判定した場合(ステップS123、「Yes」)、位置指定操作が行われたとして、処理をステップS124に移行させる。ステップS124で、位置指定部406は、位置指定操作が行われた接触位置を取得し、次のステップS125で、取得した接触位置を示す指定位置情報を、通信部401により配信装置10に送信する。
次のステップS126で、制御部400は、配信装置10から送信されたパッチ画像を受信したか否かを判定する。制御部400は、パッチ画像を受信していないと判定した場合(ステップS126、「No」)、処理をステップS126に戻す。一方、制御部400は、パッチ画像を受信したと判定した場合(ステップS126、「Yes」)、処理をステップS127に移行する。また、制御部400は、受信したパッチ画像を表示制御部403に渡す。
ステップS127で、表示制御部403は、合成部405により、ステップS126で受信したパッチ画像と、現在ディスプレイ4008aに表示されている全天球画像における指定領域の画像とを合成する。第1の実施形態では、合成部405は、パッチ画像を指定領域の画像と差し替えることで、パッチ画像の指定領域の画像に対する合成を行う。より具体的には、合成部405は、描画部404により指定領域の画像が描画されたフレームメモリを、当該パッチ画像により上書きすることで、当該パッチ画像の合成を行う。
次のステップS128で、UI部402は、パッチ画像の合成を解除するユーザ操作(解除指示)を受け付けたか否かを判定する。例えば、UI部402は、パッチ画像が指定領域の画像に合成された合成画像がディスプレイ4008aに表示されている状態で、さらにタップ操作が行われた場合に、解除指示を受け付けたと判定する。UI部402は、解除指示を受け付けていないと判定した場合(ステップS128、「No」)、処理をステップS128に戻す。この場合には、ディスプレイ4008aに対する合成画像の表示は維持される。
一方、UI部402は、解除指示を受け付けたと判定した場合(ステップS128、「Yes」)、処理をステップS129に移行させる。ステップS129で、表示制御部403は、パッチ画像の表示を消去する。例えば、表示制御部403は、上述したステップS120と同様にして、配信装置10から送信された全天球画像の一部を指定領域として取得し、取得した指定領域の画像を描画部404によりディスプレイ4008aに対して上書きで描画する。パッチ画像が消去されると、処理がステップS122に戻される。
図14〜図17を用いて、第1の実施形態に係る処理について、より具体的に説明する。
先ず、図14および図15を参照して、実施形態に適用可能な、全天球画像に対して指定される指定領域について概略的に説明する。図14は、第1の実施形態に適用可能な、指定領域の例を示す。図14(a)は、X軸、Y軸、Z軸の関係を示している。立体球CSは、上述した全天球画像が仮想的に貼り付けられている球面である。図14(b)は、指定領域の特定のための仮想カメラCAMの配置の例を示している。仮想カメラCAMは、立体球CSの内部に配置され、仮想カメラCAMで捉えられる所定領域Tが指定領域となる。図14(c)は、仮想カメラCAMの視野を示しており、所定領域Tの対角線の両端を挟む角度が視野角αとなる。距離fは、仮想カメラCAMと、所定領域Tの中心点CPとの距離である。
図15は、第1の実施形態に適用可能な、仮想カメラCAMの位置と立体球CSの原点との関係を示す。なお、図15において、立体球CSの半径は、1に正規化されている。このように、原点よりも距離dだけ後退した位置から立体球CSを眺めたものが、視野角αとなる。距離dの位置が立体球CSの内部にある場合は、原点からの画角ωで立体球CSと交わる位置と視野角αで立体球CSと交わる位置とが一致するものとする。一方、距離dの位置が立体球CSの外部にある場合は、視野角αは、立体球CSに外接するものとする。距離dが0の場合は、原点からの画角ωと視野角αとが一致する。全天球カメラ20は、立体球CSに対して距離d=0の位置に配置されるものと考えられ、このときの全天球カメラ20の位置が画角中心の位置とされる。
なお、画角ωと視野角αと距離dとを適当に制御することで、指定領域内の画像の拡大および縮小を行うことができる。拡大/縮小の倍率は、画角ω、視野角αおよび距離dにより決定される。縮小していくと、表示される映像の輪郭が円形になる。
図16は、第1の実施形態に係る処理の例をより具体的に示すシーケンス図である。なお、図16において、上述した図1、図9および図11と共通する部分には同一の符号を付して、詳細な説明を省略する。また、図16において、パンチルトカメラ30を「PTカメラ30」として省略して記載している。
また、図17(a)〜図17(d)は、図16のシーケンス図の各時点t1〜t4における指定領域、ディスプレイ4008aの表示、および、パンチルトカメラ30の撮影方向の関係を概略的に示す。なお、図17において、立体球500は、図15で説明した立体球CSに対応するもので、全天球カメラ20により撮影される全天球画像が仮想的に貼り付けられる。
ステップS500で、全天球カメラ20により撮影が行われ、撮影された全天球画像が全天球カメラ20から配信装置10に送られる(ステップS501)。配信装置10に送られた全天球画像は、通信部101により、ネットワーク2を介して受信装置40に送信される(ステップS502)。この全天球画像は、受信装置40において、通信部401に受信される。通信部401は、受信した全天球画像を、描画部404に渡す(ステップS503)。描画部404は、全天球画像において指定される指定領域の画像を、ディスプレイ4008aに表示させる(時点t1)。
図17(a)の上段に、時点t1における、指定領域501の全天球画像における初期位置を示す。図17(a)の中段に、時点t1において、受信装置40のタッチパネル42(ディスプレイ4008a)に、全天球画像の指定領域の画像が表示される様子を模式的に示している。なお、図17(a)〜図17(d)では、煩雑さを避けるために、タッチパネル42(ディスプレイ4008a)の表示内容の具体例については省略されている。また、図17(a)の下段に、時点t1におけるパンチルトカメラ30の撮影方向502の例を示す。この撮影方向502が、パンチルトカメラ30の初期状態での撮影方向であるものとする。
図16の説明に戻り、UI部402は、図17(b)の中段に示すように、タッチパネル42(入力デバイス4008b)に対するスワイプ操作を検知すると(ステップS504)、タッチパネル42上の手指41の位置を示す位置情報を表示制御部403に渡す(ステップS505)。表示制御部403は、UI部402から渡された位置情報に従い、時点t2にて、指定領域501の全天球画像内での位置を変更させる。図17(b)上段に、指定領域501の位置がスワイプ操作に応じて指定領域501’の位置に変更される様子を模式的に示す。描画部404は、全天球画像における変更された指定領域の画像をタッチパネル42(ディスプレイ4008a)に描画する(ステップS505)。なお、この時点t2においては、パンチルトカメラ30の撮影方向は、時点t1から変化しない。
UI部402により同一位置に対する接触が所定時間以上維持されたと判定された場合(ステップS506)、位置指定操作が行われたとして、位置指定部406は、当該位置指定操作により指定された位置を示す情報をUI部402から取得する(ステップS507)。位置指定部406は、UI部402から取得した位置情報に応じた指定位置情報を、通信部401により配信装置10に送信する(ステップS508、ステップS509)。
指定位置情報は、配信装置10において通信部101により受信され、通信部101から生成部102に渡される(ステップS510)。生成部102は、通信部101から渡された指定位置情報に基づき、指定位置情報が示す位置に対応する、全天球画像における位置を求め、求めた位置に基づき、パンチルトカメラ30の撮影方向を制御するための方向情報を生成する。生成部102は、生成した方向情報を、制御部100によりパンチルトカメラ30に送信する(ステップS511)。
パンチルトカメラ30は、配信装置10から送信された方向情報に従い撮影方向が制御される(時点t3)。例えば、図17(c)の下段に示されるように、パンチルトカメラ30の撮影方向は、初期の撮影方向502から、指定領域501’の画角中心(全天球カメラ20位置)からの方向(図17(c)上段参照)に応じた撮影方向502’に変更される(ステップS512)。パンチルトカメラ30は、配信装置10から撮影指示を受信すると(ステップS513)、撮影方向502’に向けて撮影を行い(ステップS514)、撮影画像を配信装置10に送信する(ステップS515)。
パンチルトカメラ30から送信された撮影画像は、配信装置10に受信され、取得部103に渡される。取得部103は、渡された撮影画像に基づきパッチ画像を作成する。取得部103は、作成したパッチ画像を、通信部101により受信装置40に送信する(ステップS516、ステップS517)。
受信装置40において、通信部401は、配信装置10から送信されたパッチ画像を受信し、受信したパッチ画像を合成部405に渡す(ステップS518)。合成部405は、通信部401から渡されたパッチ画像を、現在ディスプレイ4008aに表示されている指定領域の画像に合成する合成処理を行う(ステップS519)。合成部405は、パッチ画像を指定領域の画像に合成した合成画像を、描画部404に渡す(ステップS520)。
描画部404は、合成部405から渡された合成画像をディスプレイ4008aに表示させる(時点t4)。第1の実施形態では、図17(d)に模式的に示されるように、直前にディスプレイ4008aに表示される指定領域の画像をパッチ画像に差し替えることで生成された合成画像がディスプレイ4008aに表示される。
UI部402は、パッチ画像の合成を解除するユーザ操作(解除指示)を受け付けると(ステップS521)、パッチ画像の消去を描画部404に指示する(ステップS522)。描画部404は、この指示に従い、ディスプレイ4008aに表示されるパッチ画像を消去し、ディスプレイ4008aに指定領域の画像を描画する。
このように、第1の実施形態によれば、全天球カメラ20により撮影された全天球画像において指定された指定領域の画像を受信装置40に表示させ、当該指定領域の画像に対する、全天球カメラ20の画角中心からの方向に従いパンチルトカメラ30の撮影方向を制御する。そして、撮影方向が制御されたパンチルトカメラ30により撮影された撮影画像を、パッチ画像として指定領域の画像と合成して受信装置40に表示させている。そのため、受信装置40のユーザは、指定領域に対応する被写体範囲を高解像度化した画像を観察することができる。また、全天球画像そのものを高解像度化する必要が無いため、情報の転送を効率的に行うことが可能である。
(第1の実施形態に適用可能な撮影方向の初期化方法)
次に、第1の実施形態に適用可能な、パンチルトカメラ30の撮影方向の初期化の方法について説明する。第1の実施形態では、パンチルトカメラ30は、全天球画像に対して指定された位置に対応する方向に撮影方向が制御される。したがって、第1の実施形態に係る配信システム1を利用する場合、利用に先んじて、全天球カメラ20により撮影される全天球画像における方向と、パンチルトカメラ30の撮影方向との関連付けを行う必要がある。
第1の実施形態では、1つの所定のパターン画像を、全天球カメラ20とパンチルトカメラ30とにより同時に撮影し、全天球カメラ20により撮影された全天球画像と、パンチルトカメラ30により撮影された撮影画像とを重ね合わせて表示させる。ユーザは、この表示を確認しながら、全天球画像に含まれるパターン画像と、撮影画像に含まれる撮影画像とが一致するように、パンチルトカメラ30の台座303の方向、角度および位置を調整する。
図18〜図20を用いて、より具体的に説明する。図18は、第1の実施形態に適用可能な、初期化処理に用いるパターン画像の例を示す。図18に例示されるパターン画像51は、矩形の4隅のうち3つの角にマークを配置した画像となっている。このパターン画像51を、例えば印刷媒体50に形成する。
図19は、第1の実施形態に適用可能な、初期化処理を実行するための一例の構成を示す。配信装置10に対して、例えば映像出力I/F1003を利用してディスプレイ11を接続する。また、配信装置10に対して、全天球カメラ20およびパンチルトカメラ30が接続される。パンチルトカメラ30は、回転部302の水平軸Hおよび垂直軸Vの角度を予め初期値(例えばそれぞれ0°)に設定しておく。
また、配信装置10は、全天球カメラ20で撮影された全天球画像から、当該全天球画像に対して予め指定される指定領域の画像を抽出することができる。さらに、配信装置10は、この抽出された指定領域の画像と、パンチルトカメラ30から出力される撮影画像とを重ねてディスプレイ11に表示させることができる。このとき、配信装置10は、少なくともパンチルトカメラ30の撮影画像に対して透過属性を与えることができる。例えば、配信装置10は、当該撮影画像の透過率を50%に設定し、背面に重ねられる指定領域の画像が撮影画像を透過して表示されるようにする。
図19に示されるように、上述したパターン画像51を、全天球カメラ20とパンチルトカメラ30とで同時に、動画像として撮影する。図20(a)は、全天球カメラ20で撮影した全天球画像から抽出した指定領域の画像22と、パンチルトカメラ30で撮影した撮影画像31の例を示す。画像22および撮影画像31には、それぞれ、印刷媒体50上のパターン画像51が撮影されたパターン画像51aおよび51bが含まれている。
配信装置10は、図20(b)に例示されるように、これら画像22と撮影画像31とを重ね合わせた画像12を生成し、生成した画像12をディスプレイ11に表示させる。図20(b)の例では、画像22に含まれるパターン画像51aに対して、撮影画像31に含まれるパターン画像51bの位置がずれていることが分かる。ユーザは、ディスプレイ11の表示を見ながら、パターン画像51bの位置がパターン画像51aの位置と一致するように、パンチルトカメラ30の台座303の向き、水平面に対する角度および位置を調整する。例えば、ユーザは、パターン画像51bが方向aに移動するように、台座303の角度を調整する。また、パターン画像51bが方向bに移動するように、台座303の位置および向きを調整する。
このように、ディスプレイ11の表示を見ながらパンチルトカメラ30の台座303の角度、位置および向きを調整し、図20(c)に例示されるように、パターン画像51aとパターン画像51bとが一致し1つのパターン画像52のように見えると、パンチルトカメラ30の撮影方向の初期化が完了する。
なお、実際には、全天球カメラ20とパンチルトカメラ30とでは光学中心が一致しないため、パターン画像51aおよびパターン画像51bは、完全には一致しない。
なお、ここでは、パンチルトカメラ30の方向等の調整を、ユーザが実際に台座303を動かして行うものとしている。これに限らず、指定領域の画像22と、撮影画像31とに対してパターン画像51aおよび51bに関するマッチング処理を行い、マッチング処理結果に基づきパンチルトカメラ30の撮影方向を制御して、パンチルトカメラ30の方向等の調整を行うことも可能である。
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、受信装置40のタッチパネル42(ディスプレイ4008a)に表示される指定領域の画像に対して設定した領域を高解像度化する。
なお、第2の実施形態では、図1〜図11を用いて説明した第1の実施形態に係る配信システム1の構成をそのまま適用可能である。
図21を用いて、第2の実施形態における処理ついて概略的に説明する。図21(a)は、ユーザの手指41がタッチパネル42上の同一位置に所定時間以上接触し、これにより全天球画像に対して指定した指定領域の画像が受信装置40のタッチパネル42に表示されている様子を示している。
受信装置40は、図21(b)に示されるように、タッチパネル42に表示される指定領域の画像に対して、所定の方法を用いて対象領域43を設定する。受信装置40は、全天球画像における指定領域の位置を示す指定位置情報と、対象領域43を示す情報とを配信装置10に送信する。
配信装置10は、受信装置40から送信された指定位置情報に従いパンチルトカメラ30の撮影方向を制御して撮影を行う。配信装置10は、図21(c)に示されるように、パンチルトカメラ30による撮影で取得した撮影画像31における、対象領域43に対応する領域32を求め、この領域32に含まれる画像を受信装置40に送信する。
受信装置40は、配信装置10から送信された領域32の画像を、指定領域の画像と合成して合成画像を生成し、この合成画像をタッチパネル42(ディスプレイ4008a)に表示させる。このとき、受信装置40は、図21(d)に示されるように、対象領域43に位置および大きさが対応する領域44aに、領域32の画像を嵌め込んで合成画像を生成することができる。また、図21(e)に示されるように、タッチパネル42上に位置が予め定められた領域44bに、領域32の画像を合成して合成画像を生成してもよい。この場合、領域44bの大きさは、対象領域43の大きさと異なっていてもよい。
第2の実施形態では、図21(c)に示した領域32を、画像の特徴を示す特徴情報に基づき検出する。例えば、受信装置40は、対象領域43に含まれる画像に基づき、当該画像の特徴を示す第1の特徴情報(特徴点、特徴量)を求め、求めた第1の特徴情報を配信装置10に送信する。配信装置10は、全天球画像の全体、または、全天球画像における指定領域に対応する領域の画像の第2の特徴情報を求める。配信装置10は、第2の特徴情報と第1の特徴情報とのマッチング処理を行い、全天球画像における指定領域に対応する撮影画像31における、対象領域43に対応する領域32を特定する。
なお、上述した対象領域43は、例えば、予め定められたオブジェクトの種類に応じた特徴情報に基づき設定することができる。例えば、オブジェクトとして顔を予め設定し、指定領域の画像から求めた特徴情報に基づき、当該画像に含まれる顔らしき領域を検出し、対象領域43として設定することが考えられる。これに限らず、例えば、オブジェクトとしてポスターなど形状が固定的(矩形)で、文字情報を含む画像を設定しておくこともできる。
また、上述した図21(b)の例において、対象領域43の位置がタッチパネル42に表示中の指定領域の画像の中心から離れるに連れ、対象領域43の形状が歪む。一方、撮影画像31における領域32は、撮影画像31内の任意の位置において矩形であると考えられる。この場合、図21(d)に示す、領域44aに領域32の画像を嵌め込んで合成画像を生成する場合、領域32の画像の形状を、対象領域43の形状に合わせて変形させて、領域44aに嵌め込むと好ましい。なお、対象領域43の歪みの度合は、全天球画像の倍率、対象領域43の指定領域内での位置、対象領域43の大きさなどに基づき求めることができる。
(第2の実施形態に係る配信システムの動作の詳細)
次に、第2の実施形態に係る配信システム1による動作について、より詳細に説明する。図22は、第2の実施形態に係る配信装置10の処理を示す一例のフローチャートである。なお、図22において、上述した図12のフローチャートと共通する処理には同一の符号を付して、詳細な説明を省略する。
図22において、ステップS100で、制御部100は、全天球カメラ20から全天球画像を取得し、取得した全天球画像を通信部101により受信装置40に送信する。
次のステップS1010で、制御部100は、受信装置40から指定位置情報および第1の特徴情報を受信したか否かを判定する。制御部100は、受信していないと判定した場合(ステップS1010、「No」)、処理をステップS1010に戻す。一方、制御部100は、指定位置情報および第1の特徴情報を受信したと判定した場合(ステップS1010、「Yes」)、処理をステップS102に移行させる。
ステップS102で、生成部102は、ステップS1010で受信装置40から受信した指定位置情報に基づき、指定位置情報が示す位置に対応する全天球画像における位置を求め、全天球カメラ20の画角中心から、求めた位置に向けた方向を示す方向情報を生成する。次のステップS103で、制御部100は、ステップS102で生成された方向情報をパンチルトカメラ30に送信し、パンチルトカメラ30に対して、方向情報に従い撮影方向を制御するよう指示する。次のステップS104で、制御部100は、パンチルトカメラ30に対して撮影指示を送信し、取得部103は、この撮影指示に応じてパンチルトカメラ30で撮影された撮影画像31(図21(c)参照)を取得する。
次のステップS1040で、取得部103は、ステップS104で取得された撮影画像31から第2の特徴情報を求める。取得部103は、求めた第2の特徴情報と、ステップS1010で受信した第1の特徴情報とのマッチング処理を行い、撮影画像31における、第1の特徴情報に対応する領域32(図21(c)参照)を検出し、当該領域32の画像を取得する。
次のステップS105で、取得部103は、ステップS1040で取得した領域32の画像に基づき、パッチ画像を作成する。取得部103は、作成したパッチ画像を、通信部101により受信装置40に送信する。制御部100は、パッチ画像の送信を行うと、処理をステップS1010に戻す。
図23は、第2の実施形態に係る受信装置40の処理を示す一例のフローチャートである。なお、図23のフローチャートにおいて、上述した図13のフローチャートと対応する処理には同一の符号を付して、詳細な説明を省略する。
ステップS120で、表示制御部403は、配信装置10から送信された全天球画像の一部を指定領域として取得し、取得した指定領域の画像をディスプレイ4008aに表示する。次のステップS121で、UI部402は、入力デバイス4008bに対する手指41などの接触の有無を判定し、接触が検知されていないと判定した場合(ステップS121、「No」)、処理をステップS121に戻す。一方、UI部402は、接触が検知されたと判定した場合(ステップS121、「Yes」)、処理をステップS122に移行させる。
ステップS122で、表示制御部403は、UI部402から、接触が検知された位置(接触位置)を取得し、取得した接触位置に応じて指定領域の全天球画像内での位置を変更させ、変更された指定領域の画像をディスプレイ4008aに表示させる。次のステップS123で、UI部402は、所定時間以上、同一の位置に対する接触が維持されているか否かを判定し、同一位置に対する接触の維持が所定時間未満であると判定した場合(ステップS123、「No」)、処理をステップS121に戻す。
一方、UI部402は、所定時間以上、同一位置に対する接触が維持されていると判定した場合(ステップS123、「Yes」)、位置指定操作が行われたとして、処理をステップS124に移行させる。ステップS124で、位置指定部406は、位置指定操作が行われた接触位置を取得する。
次のステップS1250で、位置指定部406は、指定領域の画像から特徴情報を求め、求めた特徴情報に含まれる、予め定められた種類のオブジェクトに対応する特徴情報(第1の特徴情報)を取得する。この第1の特徴情報に対応する指定領域内の領域が、対象領域43となる。すなわち、位置指定部406は、指定領域に対して対象領域43を設定する領域指定部としても機能する。
次のステップS1251で、位置指定部406は、ステップS1250で取得された第1の特徴情報を、通信部401により配信装置10に送信する。
次のステップS126で、制御部400は、ステップS1251で送信した特徴情報に応じたパッチ画像が受信されたか否かを判定する。制御部400は、パッチ画像が受信されていないと判定した場合(ステップS126、「No」)、処理をステップS126に戻す。一方、制御部400は、パッチ画像を受信したと判定した場合(ステップS126、「Yes」)、処理をステップS1270に移行する。また、制御部400は、受信したパッチ画像を表示制御部403に渡す。
ステップS1270で、表示制御部403は、合成部405により、ステップS126で受信したパッチ画像と、現在ディスプレイ4008aに表示されている全天球画像における指定領域の画像とを合成する。第2の実施形態では、図21(e)に示したように、指定領域上に位置が予め定められた領域44bの画像をパッチ画像の画像で上書きして、パッチ画像の指定領域の画像に対する合成を行う。
次のステップS128で、UI部402は、パッチ画像の合成を解除するユーザ操作(解除指示)を受け付けたか否かを判定する。UI部402は、解除指示を受け付けていないと判定した場合(ステップS128、「No」)、処理をステップS128に戻す。この場合には、ディスプレイ4008aに対する合成画像の表示は維持される。
一方、UI部402は、解除指示を受け付けたと判定した場合(ステップS128、「Yes」)、処理をステップS129に移行させる。ステップS129で、表示制御部403は、パッチ画像の表示を消去する。例えば、表示制御部403は、上述したステップS120と同様にして、配信装置10から送信された全天球画像の一部を指定領域として取得し、取得した指定領域の画像を描画部404によりディスプレイ4008aに対して上書きで描画する。パッチ画像が消去されると、処理がステップS122に戻される。
図24は、第2の実施形態に係る処理の例をより具体的に示すシーケンス図である。なお、図24において、上述した図1、図9および図11と共通する部分、ならびに、上述した図16と共通する処理には同一の符号を付して、詳細な説明を省略する。
図24において、ステップS500〜ステップS507の処理は、図16のステップS500〜ステップS507の処理と同一であるので、ここでの説明を省略する。位置指定部406は、ステップS507において、位置指定操作により指定された位置を示す情報をUI部402から取得した後、ステップS530で、指定領域の画像に基づき特徴情報を求め、求めた特徴情報から、例えば予め定められた種類のオブジェクトに対応する第1の特徴情報を取得する。
位置指定部406は、ステップS507で取得した位置に応じた指定位置情報と、ステップS530で取得した第1の特徴情報とを、通信部401により配信装置10に送信する(ステップS531、ステップS532)。指定位置情報および第1の特徴情報は、配信装置10において通信部101に受信される。通信部101は、指定位置情報および第1の特徴情報のうち第1の特徴情報を取得部103に渡し(ステップS533)、指定位置情報を生成部102に渡す(ステップS534)。
生成部102は、通信部101から渡された指定位置情報に基づき、指定位置情報が示す位置に対応する、全天球画像における位置を求め、求めた位置に基づき、パンチルトカメラ30の撮影方向を制御するための方向情報を生成する。生成部102は、生成した方向情報を、制御部100によりパンチルトカメラ30に送信する(ステップS511)。パンチルトカメラ30は、配信装置10から送信された方向情報に従い撮影方向が制御され(ステップS512)、配信装置10から撮影指示を受信すると(ステップS513)、制御された撮影方向に向けて撮影を行い(ステップS514)、撮影画像を配信装置10に送信する(ステップS515)。
パンチルトカメラ30から送信された撮影画像は、配信装置10に受信され、取得部103に渡される。取得部103は、渡された撮影画像に基づき、当該撮影画像の特徴を示す第2の特徴情報を求める(ステップS534)。取得部103は、ステップS533で通信部101から渡された第1の特徴情報と、ステップS534で撮影画像から求められた第2の特徴情報とのマッチング処理を行い、撮影画像における、第1の特徴情報に対応する領域を検出し、当該領域の画像を取得する。
取得部103は、ステップS534で取得した画像に基づきパッチ画像を作成する。取得部103は、作成したパッチ画像を、通信部101により受信装置40に送信する(ステップS535、ステップS536)。
受信装置40において、通信部401は、配信装置10から送信されたパッチ画像を受信し、受信したパッチ画像を合成部405に渡す(ステップS537)。合成部405は、通信部401から渡されたパッチ画像を、現在ディスプレイ4008aに表示されている指定領域の画像に合成する合成処理を行う(ステップS538)。このとき、合成部405は、指定領域に対して予め設定される領域の画像を、パッチ画像により上書きすることで合成処理を行い、合成画像を作成する。
合成部405は、パッチ画像を指定領域の画像に合成した合成画像を、描画部406に渡す(ステップS539)。描画部404は、合成部405から渡された合成画像をディスプレイ4008aに表示させる。第2の実施形態では、図21(e)に例示したように、直前にディスプレイ4008aに表示される指定領域における領域44bの画像をパッチ画像により上書きすることで生成された合成画像がディスプレイ4008aに表示される。
UI部402は、パッチ画像の合成を解除するユーザ操作(解除指示)を受け付けると(ステップS521)、パッチ画像の消去を描画部404に指示する(ステップS522)。描画部404は、この指示に従い、ディスプレイ4008aに表示される合成画像を消去し、ディスプレイ4008aに指定領域の画像を描画する。
このように、第2の実施形態では、受信装置40のタッチパネル42に表示される、全天球画像に対して指定された指定領域の画像の一部の領域を、当該領域に対応するパンチルトカメラ30の撮影画像の領域の画像を用いて表示している。そのため、受信装置40のユーザは、指定領域に対応する被写体範囲を高解像度化した画像を観察することができる。また、高解像度化を、パンチルトカメラ30の撮影画像の一部の領域の画像を用いて行っているため、情報の転送をより効率的に実行することが可能である。
なお、上述では、対象領域43を特徴情報に基づき設定しているが、これはこの例に限定されない。例えば、タッチパネル42を2本の手指41により同時に接触し、2本の手指41の間隔を拡げるピンチアウト操作により、2本の手指41の接触位置を矩形の対角位置として指定した領域を、対象領域43として設定することができる。この場合、受信装置40は、当該対象領域43の指定領域の画像内での座標を配信装置10に送信する。配信装置10は、この座標に基づき、パンチルトカメラ30の撮影画像における対象領域43に対応する領域を特定することができる。配信装置10は、この特定された領域の画像をパッチ画像として用いる。
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態では、受信装置40のタッチパネル42(ディスプレイ4008a)に表示される指定領域の画像に含まれる文字情報を、配信装置10において、パンチルトカメラ30の撮影画像に基づき抽出するようにしている。配信装置10は、抽出した文字情報を受信装置40に送信する。受信装置40は、配信装置10から送信された文字情報を示す画像を、タッチパネル42の所定領域に表示させる。
なお、第3の実施形態では、図1〜図11を用いて説明した第1の実施形態に係る配信システム1の構成をそのまま適用可能である。
図25を用いて、第3の実施形態における処理について概略的に説明する。図25(a)は、受信装置40のタッチパネル42(ディスプレイ4008a)に表示される指定領域の画像に、文字情報を含むオブジェクト45a、45bおよび45cが含まれる例を示している。図25(b)は、この図25(a)の指定領域に対応する、パンチルトカメラ30による撮影画像31の例を示す。撮影画像31は、オブジェクト45a、45bおよび45cにそれぞれ対応するオブジェクト45a’、45b’および45c’を含んでいる。
配信装置10は、例えばOCR(Optical Character Recognition/Reader)に用いられる既知の文字認識技術を利用して、撮影画像31の各オブジェクト45a’、45b’および45c’から文字情報を抽出する。図25(c)は、各オブジェクト45a’、45b’および45c’からそれぞれ抽出された文字情報33a、33bおよび33cを示している。配信装置10は、これら文字情報33a、33bおよび33cを受信装置40に送信する。受信装置40は、例えば図25(d)に例示されるように、タッチパネル42(ディスプレイ4008a)の所定領域46に、文字情報33a、33bおよび33cを纏めて表示させる。
このようにすることで、ユーザは、受信装置40のタッチパネル42に表示される文字情報を、より明瞭に認識することができる。また、配信装置10から受信装置40に送信される情報が文字情報であるため、情報の転送を極めて効率的に行うことが可能である。
(第3の実施形態に係る配信システムの動作の詳細)
次に、第3の実施形態に係る配信システム1による動作について、より詳細に説明する。図26は、第3の実施形態に係る配信装置10の処理を示す一例のフローチャートである。なお、図26において、上述した図12のフローチャートと共通する処理には同一の符号を付して、詳細な説明を省略する。
図26において、ステップS100〜ステップS104の処理は、上述した図12のステップS100〜ステップS104の処理と同一であるので、ここでの説明を省略する。
取得部103は、ステップS104でパンチルトカメラ30により撮影された撮影画像を取得すると、次のステップS1041で、取得した撮影画像から、例えばOCRに用いられる既知の文字認識技術を用いて文字情報を抽出する。次のステップS1050で、取得部103は、抽出した文字情報を、通信部101により受信装置40に送信する。
制御部100は、ステップS1050の処理が終了すると、処理をステップS101に戻す。
図27は、第3の実施形態に係る受信装置40の処理を示す一例のフローチャートである。なお、図27のフローチャートにおいて、上述した図13のフローチャートと共通する処理には同一の符号を付して、詳細な説明を省略する。
図27において、ステップS120〜ステップS125の処理は、図13のステップS120〜ステップS125の処理と同一であるので、ここでの説明を省略する。ステップS125で、位置指定部406により、位置指定操作が行われた接触位置を示す指定位置情報が配信装置10に送信されると、処理がステップS1260に移行される。
ステップS1260で、制御部400は、配信装置10から文字情報を受信したか否かを判定する。制御部400は、文字情報を受信していないと判定した場合(ステップS1260、「No」)、処理をステップS1260に戻す。一方、制御部400は、ステップS1260で文字情報を受信したと判定した場合(ステップS1260、「Yes」)、処理をステップS1271に移行する。また、制御部400は、受信した文字情報を表示制御部403に渡す。
ステップS1271で、表示制御部403は、合成部405により、ステップS1260で受信した文字情報を示す画像をパッチ画像として、指定領域の画像における所定領域に重畳させ、指定領域の画像に文字情報を示す画像を合成し、合成画像を作成する。描画部404は、文字情報を示す画像を含んで作成された合成画像を、タッチパネル42(ディスプレイ4008a)に表示させる。
次のステップS128で、UI部402は、パッチ画像の合成を解除するユーザ操作(解除指示)を受け付けたか否かを判定する。UI部402は、解除指示を受け付けていないと判定した場合(ステップS128、「No」)、処理をステップS128に戻す。この場合には、ディスプレイ4008aに対する合成画像の表示は維持される。
一方、UI部402は、解除指示を受け付けたと判定した場合(ステップS128、「Yes」)、処理をステップS1290に移行させる。ステップS1290で、表示制御部403は、パッチ画像すなわち文字情報を示す画像の表示を消去する。ステップS1290の処理が終了すると、処理がステップS122に戻される。
図28は、第3の実施形態に係る処理の例をより具体的に示すシーケンス図である。なお、図28において、上述した図1、図9および図11と共通する部分、ならびに、上述した図16と共通する処理には同一の符号を付して、詳細な説明を省略する。
図28において、ステップS500〜ステップS515の処理は、図16のステップS500〜ステップS515の処理と同一であるので、ここでの説明を省略する。ステップS515で、取得部103は、パンチルトカメラ30で撮影された撮影画像を取得すると、取得した撮影画像から、例えばOCRに用いられる既知の文字認識技術を用いて文字情報を抽出する(ステップS550)。取得部103は、抽出した文字情報を、通信部101により受信装置40に送信する(ステップS551、ステップS552)。
受信装置40において、通信部401は、配信装置10から送信された文字情報を受信し、受信した文字情報を合成部405に渡す(ステップS553)。合成部405は、通信部401から渡された文字情報を示す画像を生成し、生成した文字情報を示す画像を、現在ディスプレイ4008aに表示されている指定領域の画像における所定領域に重畳させ、指定領域の画像に文字情報を示す画像を合成し、合成画像を作成する(ステップS554)。合成部405は、作成した合成画像を、描画部404に渡す(ステップS555)。描画部404は、文字情報を示す画像を含んで作成された合成画像を、タッチパネル42(ディスプレイ4008a)に表示させる。
UI部402は、文字情報を示す画像の合成を解除するユーザ操作(解除指示)を受け付けると(ステップS521)、文字情報を示す画像の消去を描画部404に指示する(ステップS522)。描画部404は、この指示に従い、ディスプレイ4008aに表示される文字情報を示す画像を消去し、ディスプレイ4008aに指定領域の画像を描画する。
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。