[1]実施例
図1は実施例に係る仮想旅行システム1の全体構成を表す。仮想旅行システム1は、観光地等の旅行先に行かなくても仮想的に旅行を楽しむ仮想旅行サービスを提供するためのシステムである。仮想旅行システム1は、旅行先の映像を撮影する代理人と、仮想旅行に参加する参加人という2種類のユーザによって主に利用される。
仮想旅行システム1は、ネットワーク2と、代理人端末10と、参加人端末20と、配信サーバ装置30とを備える。ネットワーク2は、移動体通信網及びインターネット等を含む通信システムであり、自システムにアクセスする装置同士のデータのやり取りを中継する。ネットワーク2には、配信サーバ装置30が有線通信でアクセスしており、代理人端末10及び参加人端末20が無線通信でアクセスしている。なお、ネットワーク2とのアクセスは有線通信及び無線通信のどちらでもよい。
代理人端末10は、旅行先にいる代理人によって持ち運ばれ、旅行先の映像を撮影する撮影装置である。本実施例では、代理人端末10は、例えば代理人の頭上に装着され、代理人の前後左右と上下を含んだ動画像であるいわゆる360度映像(全方位画像、全天球画像ともいう)を撮影する。代理人端末10は、自機が備えるマイクロフォンで音も録音し、撮影した360度映像とともに配信サーバ装置30に送信する。
配信サーバ装置30は、代理人端末10によって撮影された旅行先の映像及び録音された音等を含む仮想旅行のコンテンツを参加人端末20に配信する配信装置である。なお、コンテンツには映像だけが含まれていてもよい。配信サーバ装置30は、360度映像のうち参加人端末20から指定された範囲の映像を切り出し(つまり360度映像は1画面に収まらない大きさの映像である)、画質を変更してから配信する。
本実施例の360度映像は、指定範囲を切り出した状態で8K映像(横方向のピクセル数が8000程度の映像)となる解像度の映像であるものとする。8K映像の動画像をそのまま配信するとデータ量が多すぎて通信に遅延が生じ、参加人端末20の表示処理も遅くなり易い。そこで、配信サーバ装置30は、切り出された映像のデータ量を減少させて(例えば2K映像に画質を変更して)から配信する。
この360度映像は、実際に配信される映像の元になる映像であり、本発明の「元映像」の一例である。配信サーバ装置30は、この元映像である360度映像自体は配信しない。参加人端末20は、配信サーバ装置30によって配信されたコンテンツを出力する出力装置であり、例えば、コンテンツに含まれる映像を表示し、コンテンツに含まれる音を放音する。
本実施例では、参加人端末20は、参加人の頭に装着するHMD(Head Mounted Display:ヘッドマウントディスプレイ)である。参加人端末20は、自端末の正面が向いている方向(方位及び仰俯角)を測定し、測定した方向に対応する映像の範囲を配信サーバ装置30に対して指定する。これにより、例えば参加人が東を向けば代理人端末10の位置から東を向いた映像が配信され、参加人が上を向けば代理人端末10の鉛直上方の映像が配信される。
図2は代理人端末10のハードウェア構成を表す。代理人端末10は、プロセッサ11と、メモリ12と、ストレージ13と、通信装置14と、入力装置15と、出力装置16と、360度カメラ17と、センサ装置18と、バス19という各装置を備えるコンピュータである。なお、ここでいう「装置」という文言は、回路、デバイス及びユニット等に読み替えることができる。また、各装置は、1つ又は複数含まれていてもよいし、一部の装置が含まれていなくてもよい。
プロセッサ11は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ11は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。また、プロセッサ11は、プログラム(プログラムコード)、ソフトウェアモジュール及びデータ等を、ストレージ13及び/又は通信装置14からメモリ12に読み出し、これらに従って各種の処理を実行する。
各種処理を実行するプロセッサ11は1つでもよいし、2以上であってもよく、2以上のプロセッサ11は、同時又は逐次に各種処理を実行してもよい。また、プロセッサ11は、1以上のチップで実装されてもよい。プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ12は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)及びRAM(Random Access Memory)等の少なくとも1つで構成されてもよい。メモリ12は、レジスタ、キャッシュ及びメインメモリ(主記憶装置)等と呼ばれてもよい。メモリ12は、前述したプログラム(プログラムコード)、ソフトウェアモジュール及びデータ等を保存することができる。
ストレージ13は、コンピュータが読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。
ストレージ13は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ12及び/又はストレージ13を含むデータベース、サーバその他の適切な媒体であってもよい。通信装置14は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
入力装置15は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、スイッチ、ボタン、センサなど)である。また、入力装置15は、自端末の周辺で発生して自端末に到達する音(周辺音)を収集するマイクロフォンを入力デバイスとして備えている。出力装置16は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカ、LEDランプなど)である。
360度カメラ17は、上述した360度映像を撮影する撮影デバイスである。360度カメラ17は、例えば2以上の広角カメラを備え、それらの広角カメラを異なる方向に向けて全ての方向を撮影範囲に収めることで360度映像を撮影する(なお、完全に全ての方向を撮影するものである必要はなく、例えば足元などに死角があってもよい)。センサ装置18は、360度カメラ17の向きを測定するセンサ(磁気センサ等)を備える。
360度カメラ17には正面が定められており、センサ装置18は、その正面が向いている方向(カメラの正面方向)の方位及び仰俯角を測定する。代理人が移動したり向きを変えたりするとカメラの正面方向の向きが変化するので、センサ装置18がその向きを表す測定値を出力する。この測定値により、撮影された360度映像のうち、例えばどの部分が自端末から見て東向きの映像で、どの部分が自端末から見て鉛直上方向きの映像であるかといったことが分かるようになっている。
なお、センサ装置18は360度カメラ17に内蔵されていてもよい。また、入力装置15が備えるマイクロフォンも360度カメラ17に内蔵されていてもよい。プロセッサ11及びメモリ12等の各装置は、情報を通信するためのバス19を介して互いにアクセス可能となっている。バス19は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、代理人端末10等は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、及び、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ11は、これらのハードウェアの少なくとも1つで実装されてもよい。
図3は参加人端末20のハードウェア構成を表す。参加人端末20は、プロセッサ21と、メモリ22と、ストレージ23と、通信装置24と、入力装置25と、出力装置26と、センサ装置27と、バス28という各装置を備えるコンピュータである。これらの装置は、図2に表す同名の装置と性能又は仕様等の違いはあるが同種の装置である。ただし、全てが同じではないので、図2の各装置と特に重要な相違点について説明する。
センサ装置27は、自端末の正面方向の向きを測定するセンサ(磁気センサ等)を備え、その正面方向が向く方位及び仰俯角を測定する。また、本実施例の参加人端末20はHMDであるため、参加人が自分の手元を見なくても操作可能な入力装置25を備える。入力装置25は、例えば、筐体の外部に備えられたタッチパッドを備える。
また、入力装置25は、参加人の目の辺りを撮影する撮像装置を備え、撮影した画像から参加人の視線を検知する検知機能を有している。この視線検知には周知の技術が用いられればよい。出力装置26が操作子を表す操作子画像をディスプレイに表示している状態で表示された操作子画像に移動する視線を検知すると、入力装置25は、その操作子画像が表す操作子に対する操作を受け付ける。
図4は配信サーバ装置30のハードウェア構成を表す。配信サーバ装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信装置34と、バス35という各装置を備えるコンピュータである。これらの装置は、図2に表す同名の装置と性能又は仕様等の違いはあるが同種の装置である。
仮想旅行システム1が備える代理人端末10、参加人端末20及び配信サーバ装置30には、本システムで提供されるプログラムが記憶されており、各装置のプロセッサがプログラムを実行して各部を制御することで以下に述べる機能群が実現される。
図5は仮想旅行システム1が実現する機能構成を表す。代理人端末10は、映像撮影部101と、周辺音録音部102と、カメラ向き測定部103と、撮影データ送信部104とを備える。
参加人端末20は、端末向き測定部201と、指定範囲決定部202と、コンテンツ出力部203と、撮影指示部211と、撮影映像表示部212とを備える。配信サーバ装置30は、元データ取得部301と、映像切出部302と、指定範囲取得部303と、画質変更部304と、コンテンツ生成部305と、コンテンツデータ送信部306と、撮影映像抽出部311と、撮影映像保存部312とを備える。
仮想旅行システム1においては、配信サーバ装置30が、参加人端末20を識別する端末ID(Identification)と、その参加人端末20に映像を配信する際の宛先情報(IP(Internet Protocol)アドレス等)を対応付けて記憶している。また、代理人端末10及び参加人端末20は、配信サーバ装置30の宛先情報を記憶しており、必要に応じて配信サーバ装置30とデータのやり取りを行えるようになっている。
代理人端末10の映像撮影部101は、代理人の周囲の映像を撮影する。映像撮影部101は、本実施例では、図2に表す360度カメラ17を制御して、360度映像(詳細には360度映像を連続させた動画像)を撮影する。映像撮影部101は、仮想旅行サービスの提供期間(定められたサービス開始時刻からサービス終了時刻までの期間)の間、360度映像を連続して撮影しながら、並行して、撮影した360度映像を撮影データ送信部104に供給する。
周辺音録音部102は、図2に表す入力装置15が備えるマイクロフォンを制御して、上述した周辺音(自端末の周辺で発生して自端末に到達する音)を録音する。周辺音録音部102は、仮想旅行サービスの提供期間の間、周辺音を録音しながら、並行して、録音した周辺音を撮影データ送信部104に供給する。
カメラ向き測定部103は、図2に表すセンサ装置18を制御して、360度カメラ17について定められた正面が向いている方位及び仰俯角を測定する。これらの方位及び仰俯角は、360度カメラ17の正面の向きを示す情報であり、以下では「カメラ向き情報」という。カメラ向き測定部103は、仮想旅行サービスの提供期間の間、このカメラ向き情報(方位及び仰俯角)の測定を繰り返し行い、並行して、測定したカメラ向き情報を撮影データ送信部104に繰り返し供給する。
撮影データ送信部104は、自端末が撮影した映像に関するデータである撮影データを配信サーバ装置30に送信する。具体的には、撮影データ送信部104は、映像撮影部101から供給された360度映像と、周辺音録音部102から供給された周辺音と、カメラ向き測定部103から供給されたカメラ向き情報と、360度映像に含まれる各フレーム(1枚1枚は静止画像であり、連続再生されることで動画像を表す映像)の撮影時刻とを示すデータを撮影データとして生成し、配信サーバ装置30に送信する。
配信サーバ装置30の元データ取得部301は、自装置が配信するコンテンツ(仮想旅行のコンテンツ)の元になるデータ(元データ)を取得する。元データとは、代理人端末10から送信されてくる撮影データである。元データ取得部301は、代理人端末10から送信されてくる撮影データをコンテンツの元データとして取得することで、その撮影データに含まれる映像データ、すなわち代理人端末10により撮影されて自装置により配信される映像(本実施例では360度映像)を示す映像データを取得する。
また、元データ取得部301は、撮影データを取得することで、その撮影データに含まれる音データ、すなわち代理人端末10に到達する音(周辺音)を示す音データを取得する。元データ取得部301は、撮影データをコンテンツの元データとして取得する度に、取得した元データを映像切出部302に供給する。映像切出部302は、供給された元データが示す360度映像から、参加人端末20によって指定された範囲の映像を切り出す切出処理を行う。切出処理は、本発明の元映像(本実施例では360度映像)のデータ量を減少させる処理の一例である。
範囲の指定は次のように行われる。参加人端末20の端末向き測定部201は、自端末の向きを示す情報(以下「端末向き情報」という)として、自端末について定められた正面が向く方位及び仰俯角を測定する。端末向き測定部201は、端末向き情報を一定時間の間隔で繰り返し測定し、測定した端末向き情報を指定範囲決定部202に繰り返し供給する。
指定範囲決定部202は、端末向き測定部201により測定された端末向き情報に基づいて、自端末に表示させる映像の範囲として指定する指定範囲を決定する。指定範囲決定部202は、例えば、供給された端末向き情報が示す向きを所定の画角(例えば縦25度、横45度など)を有するカメラで撮影した場合の映像の範囲を指定範囲として決定する。
図6は指定範囲の例を表す。図6では、映像撮影部101により撮影された360度映像A1が表されている。360度映像A1は、360度カメラ17が真北を向いて傾きが0度の状態(カメラの正面方向を水平に向けた状態)で撮影した映像である。そのため、360度映像A1では、水平線が映像の縦方向の中央(0度)に位置し、真北の方位が映像の横方向の中央に位置している。映像の上辺は360度カメラ17から見て鉛直上方(90度)の映像を表し、映像の下辺は360度カメラ17から見て鉛直下方(-90度)の映像を表している。
例えば指定範囲決定部202が、北向き且つ仰角20度を撮影した映像の範囲を指定範囲として決定した場合、360度映像A1における北向き且つ仰角20度の位置を示す撮影方向B1を中心とした指定範囲C1が決定されたことになる。また、指定範囲決定部202が、南東向き且つ俯角45度を撮影した映像の範囲を指定範囲として決定した場合、360度映像A1における南東向き且つ俯角45度の位置を示す撮影方向B2を中心とした指定範囲C2が決定されたことになる。
指定範囲決定部202は、決定した指定範囲を示す範囲情報として、撮影方向を示す方位及び仰俯角と、画角と、自端末の端末IDとを示す情報を生成して配信サーバ装置30に送信する。配信サーバ装置30の指定範囲取得部303は、送信されてきた範囲情報を受け取ることで、その範囲情報が示す端末IDにより識別される参加人端末20によって指定された映像の範囲、すなわち指定範囲を取得する。指定範囲取得部303は、取得した指定範囲を示す範囲情報を端末IDと共に映像切出部302に供給する。
映像切出部302は、元データ取得部301からコンテンツの元データが供給されると、供給された元データが示す360度映像から、指定範囲取得部303から供給された範囲情報が示す指定範囲の映像(図6の例では指定範囲C1の映像又は指定範囲C2の映像)を切り出す。なお、360度カメラ17の正面が水平方向に対して傾いていると、図6に表す360度映像A1が縦方向にずれた映像になる(水平線が縦方向にずれる)。
映像切出部302は、例えば、元データに含まれるカメラ向き情報が示す正面の向きに基づいてこの傾きを補正して360度映像A1のような映像にしてから指定範囲の映像を切り出す。この補正には、VR(Virtual Reality)又はAR(Augmented Reality)等で用いられている周知の技術が用いられればよい。なお、映像切出部302は、360度映像を補正するのではなく、傾いた360度映像における方位及び仰俯角に対応した位置を算出して指定範囲の映像を切り出してもよい。
映像切出部302は、こうして切り出した映像を元の映像(360度映像)の撮影時刻と共に示す映像データを、範囲情報及び元データと共に画質変更部304に供給する。また、映像切出部302は、本実施例では、画質変更部304に供給した映像を、配信先の参加人端末20(範囲情報を送信してきた参加人端末20)の端末IDに対応付けて一定時間(例えば1分間程度)記憶しているものとする。この映像は、配信された映像を撮影する処理(詳しくは後述する)において用いられる。
画質変更部304は、映像切出部302により切り出された映像の画質を変更する画質変更処理を行う。画質変更部304は、本実施例では映像のピクセル数を減少させて(例えば8K映像から2K映像に減少させて)画質を落とすように変更する画質変更処理を行う。画質変更処理は、本発明の元映像(本実施例では360度映像)のデータ量を減少させる処理の一例である。
画質変更部304は、こうして画質を変更した映像を元の映像(360度映像)の撮影時刻と共に示す映像データを、範囲情報及び元データと共にコンテンツ生成部305に供給する。コンテンツ生成部305は、自装置が参加人端末20に対して配信するコンテンツを生成する機能である。コンテンツ生成部305は、例えば、画質変更部304から供給された映像、すなわち参加人端末20から指定された範囲で切り出されて画質が変更された映像と、元データが示す周辺音とを示すコンテンツを生成する。
コンテンツ生成部305は、生成したコンテンツと、コンテンツに含まれる映像の元の映像(360度映像)の撮影時刻と、供給された範囲情報が示す端末IDとを示すコンテンツデータを生成する。コンテンツ生成部305は、生成したコンテンツデータをコンテンツデータ送信部306に供給する。コンテンツデータ送信部306は、コンテンツ生成部305から供給されたコンテンツデータを、そのコンテンツデータが示す端末IDにより識別される参加人端末20に送信する。
映像切出部302、指定範囲取得部303、画質変更部304、コンテンツ生成部305及びコンテンツデータ送信部306は、以上のとおり、元映像(360度映像)のデータ量を減少させる処理(切出処理及び画質変更処理)を行い、それらの処理と並行してそれらの処理で得られた映像を配信する映像配信部307として機能する。映像配信部307は本発明の「配信部」の一例である。
ここでいう「並行」は、先に行われる処理(データ量を減少させる処理)とその処理の結果を受けて後から行われる処理(映像の配信処理)との間に時間的な隔たりがあっても構わない。例えば撮影された映像をリアルタイムで配信する場合、この隔たりは小さいほど望ましいが、完全に0にする必要もない。どちらの処理も開始から終了までに時間を要する処理であるから、少なくとも、先に行われる処理が実行されている間に、後から行われる処理が開始されていれば、並行して行われているものとする。
参加人端末20のコンテンツ出力部203は、配信サーバ装置30から送信されてきたコンテンツデータが示すコンテンツを出力する。具体的には、コンテンツ出力部203は、コンテンツデータが示す映像を出力装置26のディスプレイに出力して表示させ、コンテンツデータが示す周辺音を出力装置26のスピーカに出力して放音させる。参加人端末20を装着した参加人は、こうして出力されたコンテンツを視聴する。
コンテンツの視聴とは、表示されたコンテンツの映像を見て、放音されたコンテンツの音を聞くことである。なお、音が含まれていない映像だけのコンテンツを見る場合でも「コンテンツの視聴」と言うものとする。
図7は表示された映像の一例を表す。図7の例では、コンテンツ出力部203は、コンテンツデータが示す映像D1を表示させると共に、撮影ボタンE1を表示させている。
この映像D1は、実際には動画像の映像である。撮影ボタンE1は、操作されたときに表示されている映像を静止画像として保存させることで、その映像を写真のように撮影するための操作子である。この撮影ボタンE1に対する撮影操作は、配信される映像(多数のフレームからなる動画像)の一部(1枚のフレームからなる静止画像)を指定する操作とも言える。
このように配信される映像から指定された一部のことを以下では「指定部分」という。コンテンツ出力部203は、撮影ボタンE1を押す撮影操作が行われると、この撮影操作が行われたときに表示していた映像のフレームに対応する元の映像(前述した切出処理及び画質変更処理が行われる前の映像である360度映像)のフレームの撮影時刻を撮影指示部211に通知する。
撮影指示部211は、コンテンツ出力部203からの通知を受け取ると、すなわち表示されている映像を撮影する撮影操作がユーザによって行われると、表示された映像を撮影するための処理を行うよう配信サーバ装置30に指示する。撮影指示部211は、具体的には、撮影を指示する指示データとして、自端末の端末ID及び通知された360度映像の撮影時刻を示すデータを配信サーバ装置30に送信することで撮影の指示を行う。これらの情報(端末ID及び撮影時刻)は指定部分を特定するための情報である。
送信された指示データは配信サーバ装置30の撮影映像抽出部311に供給される。撮影映像抽出部311は、この指示データが供給された場合、すなわち、映像配信部307により配信された映像の一部が指定された場合に、配信された映像の元映像(本実施例では360度映像)のうちのその一部に対応する部分を撮影映像(上記の撮影操作により撮影される映像)として抽出する。撮影映像抽出部311は本発明の「抽出部」の一例である。
撮影映像抽出部311は、映像切出部302に対して、供給された指示データが示す端末IDに対応付けて記憶している映像(多数のフレームからなる動画像)のうちからその指示データが示す撮影時刻の映像(1枚のフレームからなる静止画像)を要求する。映像切出部302が要求された映像を供給することで、撮影映像抽出部311は、360度映像のうち指定部分に対応する部分を撮影映像として抽出する。
この場合の指定部分に対応する部分は、元の映像である360度映像の撮影時刻が同じ映像であるだけでなく、その360度映像から切り出されるときの範囲も同じ映像である。撮影映像抽出部311は、こうして抽出した撮影映像を、撮影操作が行われた参加人端末20の端末IDに対応付けて撮影映像保存部312に供給する。撮影映像保存部312は、供給された撮影映像、すなわち、撮影映像抽出部311により抽出された撮影映像を、共に供給された端末IDに対応付けて保存する。
参加人端末20の撮影映像表示部212は、撮影映像保存部312に保存された撮影映像、すなわち上記の撮影操作により撮影された映像(撮影映像抽出部311により抽出された映像)を表示する。撮影映像表示部212は、例えば、配信サーバ装置30に対して、自端末の端末IDと、自端末で行われた撮影操作により撮影された映像の一覧を要求することを示す要求データを送信する。
撮影映像保存部312は、要求データが示す要求元の参加人端末20の端末IDに対応付けて保存している映像のサムネイル画像の一覧を生成して参加人端末20に送信する。撮影映像表示部212がこの一覧を表示して、ユーザがいずれかのサムネイル画像を選択すると、撮影映像表示部212が選択されたサムネイル画像の元の撮影映像を要求する。
撮影映像保存部312が要求された撮影映像を送信することで、撮影映像表示部212は撮影された映像を表示する。撮影映像保存部312が行う上記保存処理及び送信処理は、撮影映像抽出部311により抽出された映像をユーザに提供するための処理である。撮影映像保存部312は本発明の「処理部」の一例である。
仮想旅行システム1が備える各装置は、上記の構成に基づいて、配信された映像の一部を撮影する撮影処理を行う。
図8は撮影処理における各装置の動作手順の一例を表す。この動作手順は、例えば、仮想旅行サービスの開始時刻になることを契機に開始される。まず、代理人端末10(映像撮影部101、周辺音録音部102、カメラ向き測定部103)は、代理人の周囲の360度映像(ライブ映像)の撮影と、周辺音の録音と、カメラ向き情報の測定とを行う(ステップS11)。
次に、代理人端末10(撮影データ送信部104)は、ステップS11の各動作で得られる撮影データを配信サーバ装置30に送信する(ステップS12)。配信サーバ装置30(元データ取得部301)は、送信されてくる撮影データを、自装置が配信するコンテンツの元データとして取得する(ステップS13)。次に、参加人端末20(端末向き測定部201)は、自端末の向きを示す情報(端末向き情報)を測定する(ステップS21)。
続いて、参加人端末20(指定範囲決定部202)は、測定された端末向き情報に基づいて、自端末に表示させる映像の指定範囲を決定し(ステップS22)、決定した指定範囲を示す範囲情報を配信サーバ装置30に送信する(ステップS23)。配信サーバ装置30(指定範囲取得部303)は、送信されてきた範囲情報を受け取ることで指定範囲を取得する(ステップS24)。
次に、配信サーバ装置30(映像切出部302)は、ステップS13で取得された元データが示す360度映像から、取得された指定範囲の映像を切り出す(ステップS25)。続いて、配信サーバ装置30(コンテンツ生成部305)は、切り出された映像を含むコンテンツを生成する(ステップS26)。次に、配信サーバ装置30(コンテンツデータ送信部306)は、生成されたコンテンツを示すコンテンツデータを参加人端末20に送信する(ステップS27)。
参加人端末20(コンテンツ出力部203)は、ステップS27で送信されてきたコンテンツデータが示すコンテンツを出力する(ステップS28)。このとき、参加人端末20(コンテンツ出力部203)は、図7に表すような撮影ボタンを共に表示して、この撮影ボタンを選択する操作をユーザが行うと、その操作を撮影操作(配信される映像の一部を指定する操作)として受け付ける(ステップS31)。
次に、参加人端末20(撮影指示部211)は、指定部分を示す指示データを生成し(ステップS32)、生成した指示データを配信サーバ装置30に送信する(ステップS33)。配信サーバ装置30(撮影映像抽出部311)は、元映像のうちステップS33で送信されてきた指示データが示す指定部分に対応する部分を撮影映像として抽出する(ステップS34)。次に、配信サーバ装置30(撮影映像保存部312)は、ステップS34で抽出された撮影映像を保存する(ステップS35)。
この後、参加人端末20に対して撮影映像を表示させる表示操作が行われると、参加人端末20(撮影映像表示部212)は、この表示操作を受け付け(ステップS41)、撮影映像を要求する要求データを配信サーバ装置30に送信する(ステップS42)。配信サーバ装置30(撮影映像保存部312)は、ステップS42で送信されてきた要求データが示す撮影映像を読み出して参加人端末20に送信する(ステップS43)。参加人端末20(撮影映像表示部212)は、送信されてきた撮影映像を表示する(ステップS44)。
本実施例では、撮影された元映像(360度映像)に対してデータ量を減少させる処理(切出処理及び画質変更処理)が行われてから配信される。これにより、元映像をそのまま配信する場合に比べて、映像配信における遅延が生じにくいようにしている。一方で、データ量を減少させることで、参加人端末20に表示される映像(配信された映像)は、元映像よりも画質が低い映像になる。
しかし、上記の撮影操作が行われた場合には、配信された映像(配信映像)の一部が抽出されるのではなく、元映像のうちその一部に対応する部分が抽出される。これにより、本実施例では、映像を配信するサービスにおいて、配信映像(データ量が減少されて元映像よりも画質が低下した映像)から映像が抽出される場合に比べて、配信映像の一部をより高い画質で提供することができる。
[2]変形例
上述した実施例は本発明の実施の一例に過ぎず、以下のように変形させてもよい。
[2-1]過去の元映像
実施例では現在撮影されている映像(リアルタイム映像)の一部が撮影されたが、過去に撮影された映像の一部が撮影されてもよい。
図9は本変形例で実現される全体構成を表す。図9では、図5に表す各部に加えて元データ蓄積部313を備える配信サーバ装置30aが表されている。
元データ蓄積部313には、元データ取得部301から取得された元データが供給される。元データ蓄積部313は、供給された元データを記憶することで、代理人端末10により過去に撮影された映像を示す映像データを蓄積する。元データ蓄積部313は本発明の「蓄積部」の一例である。元データ蓄積部313には、蓄積した元データに基づき生成されたコンテンツを識別するコンテンツIDがコンテンツ生成部305から供給される。元データ蓄積部313は、コンテンツIDを対応付けて元データを蓄積する。
コンテンツ生成部305は、元データ蓄積部313に蓄積されている元データが示す映像を用いて、過去映像の一覧を示すメニューコンテンツを生成する。生成されたメニューコンテンツは参加人端末20で出力される。
図10は表示されたメニューコンテンツの一例を表す。図10の例では、「ローマ旅行」、「パリ旅行」及び「北京旅行」等のコンテンツの一覧と、視聴ボタンE2とを含む映像D2が表示されている。
ユーザがコンテンツを選んで視聴ボタンE2を押す操作を行うと、参加人端末20の指定範囲決定部202が、選択されたコンテンツを示すコンテンツIDと共に範囲情報を配信サーバ装置30aに送信する。配信サーバ装置30aの指定範囲取得部303は、範囲情報を端末ID及びコンテンツIDと共に映像切出部302に供給する。映像切出部302は、供給されたコンテンツIDに対応付けて元データ蓄積部313に蓄積されている元データを読み出し、読み出した元データから指定範囲の映像を切り出す。
映像配信部307は、こうして切り出した映像を配信することで、過去に撮影された映像を元映像として配信を行う。この場合も、映像配信部307は、実施例で述べたとおり、元映像のデータ量を減少させる処理で得られた映像であり、且つ、選択された範囲の映像を配信する。その結果、元映像が撮影されたときの配信(リアルタイム配信)と過去に撮影された映像を元映像とする配信とで異なる範囲が選択された場合は、映像配信部307は、それらの異なる範囲の映像をそれぞれ配信する。
これにより、ユーザは、リアルタイム配信では見ることができなかった映像(リアルタイム配信時とは異なる方向の映像)を見ることができる。撮影映像抽出部311は、配信された過去の映像に対して実施例と同様に撮影操作が行われた場合、すなわち、過去に撮影された映像を元映像とした配信がされてその一部が指定された場合に、元映像のうち指定部分に対応する部分を抽出する。
これにより、ユーザは、例えばリアルタイム配信時には撮影することができなかった映像を撮影することができる。また、そもそもリアルタイム配信の映像を見ていなかったとしても、その映像において気に入った映像を撮影することができる。さらに、気に入った映像があっても撮影操作を上手く行えずに撮影をし損ねた場合でも、再度映像を見直してその映像を撮影することができる。
また、映像配信部307は、過去に撮影された映像を元映像として配信を行う際に、映像の一時停止、早送り及び早戻し等が可能な配信を行ってもよい。
図11は本変形例で表示された操作子画像の一例を表す。図11の例では、参加人端末20のコンテンツ出力部203が、映像D1と共に、撮影ボタンE1及び再生操作ボタンE3を操作子画像として表示させている。再生操作ボタンE3には、再生ボタン、一時停止ボタン、早送りボタン及び早戻しボタンが含まれている。
映像配信部307は、これらのボタンを押す操作が行われると、それぞれ対応する方法で表示される映像を配信する。なお、再生操作ボタンには、スロー再生ボタン及びスロー戻しボタン(時間を遡ってゆっくり映像を再生するための操作子画像)が含まれていてもよい。これにより、ユーザは、気に入った映像を撮影し損ねても、早戻し操作を行って再度撮影を行うことができるし、早送り操作を行って気に入った映像が早く表示されるようにすることもできる。
なお、上記の例では過去に撮影された映像の配信も、撮影映像の抽出も、元データ蓄積部313に蓄積されている映像データを用いて行われた。配信処理及び抽出処理では映像データを更新するわけではないので、このように同時に参照可能としてもよい。ただし、それでは特に配信処理の速度が低下するおそれがあるので、映像データの参照先を分けてもよい。
図12は本変形例で実現される全体構成の別の例を表す。図12では、図9に表す各部に加えて第2元データ蓄積部314を備える配信サーバ装置30bが表されている。第2元データ蓄積部314は、元データ蓄積部313に蓄積されている元データと同じデータを蓄積する。このように元データを2重に蓄積するようにしておいて、例えば、映像配信部307が、過去に撮影された映像の配信では、元データ蓄積部313に蓄積された映像データを用いる。
また、撮影映像抽出部311は、第2元データ蓄積部314に蓄積された映像データを用いて撮影映像を抽出する。これにより、配信処理及び抽出処理で映像データを共有する場合に比べて、それらの処理の速度(特に配信処理の速度)が遅くなることを防ぐことができる。
[2-2]蓄積対象の選別
上記の例で元データを全て蓄積するとデータ量が膨大になる。そこで、蓄積する元データが選別されてもよい。本変形例では、元データ蓄積部313が、過去に撮影された映像のうち、上記の撮影操作により指定された一部に対応する部分が代理人端末10により撮影されたときを含む所定の期間の映像を示す元データを蓄積する。
元データ蓄積部313は、まずは、元データ取得部301から供給された元データをそのまま記憶する。本変形例では、撮影映像抽出部311が、映像を抽出すると、その映像の撮影時刻を元データ蓄積部313に通知する。元データ蓄積部313は、通知された撮影時刻の前後の所定の期間(例えば1分間又は5分間等)の映像を示す部分を残して、それ以前の元データを削除する。元データの削除は、配信と並行して行われてもよいし、配信が終了してからまとめて行われてもよい。
映像配信部307は、こうして蓄積された元映像(削除されずに残された元映像)だけを過去に撮影された映像を元映像として配信を行う。本変形例では、上記のとおり元映像を蓄積することで、元映像を全て蓄積する場合に比べて、元映像を蓄積するための記憶容量を少なくすることができる。一方で、蓄積された元映像は、ユーザにより撮影された映像の前後の期間の映像が含まれている。ユーザが撮影する映像は、他の映像に比べて見る価値が高い映像であることが多いので、撮影タイミングと関係なく蓄積する映像を選択する場合に比べて、見る価値が高い映像を再び配信することができる。
[2-3]選択範囲の拡縮
ユーザが選択する範囲の拡大(ズームアウト)及び縮小(ズームイン)が可能であってもよい。この場合、指定範囲決定部202は、ユーザによるズームアウト操作を受け付けると拡大した範囲を選択範囲として決定し、ズームイン操作を受け付けると縮小した範囲を選択範囲として決定する。これにより、ユーザは、広い範囲の映像を視聴したり、よく見たい範囲を拡大した映像を視聴することができる。
[2-4]視野の固定
映像配信部307は、1画面に収まらない大きさの映像である360度映像から、ユーザによって選択された範囲の映像を配信する。実施例では、参加人端末20の向きに応じて映像の表示範囲が選択されたが、表示範囲の選択方法はこれに限らない。
実施例で述べた参加人端末20の向きに応じた映像は、その参加人端末20を利用するユーザ(参加人)の目が向いている方向の映像、すなわち、そのユーザの視野を示す範囲の映像である。映像配信部307は、通常はこのユーザの視野を示す範囲を選択された範囲として映像を配信し、所定の操作が行われると、その視野が固定された映像を配信してもよい。
図13は本変形例で表示された操作子画像の例を表す。図13(a)の例では、参加人端末20のコンテンツ出力部203が、映像D1と共に、撮影ボタンE1及び視野固定ボタンE4を操作子画像として表示させている。映像配信部307は、視野固定ボタンE4を押す操作が行われると、参加人端末20から送信されてくる範囲情報(指定範囲を示す情報)を受け取っても、その範囲情報を破棄し、最後に受け取った範囲情報が示す範囲の映像を配信する。
視野の固定方法には2通りある。1つ目は、範囲情報が示す方位(東西南北)を固定する方法である。この場合、例えば北向きの映像を選択する状態で視野が固定されると、北向きの映像が配信され続ける。2つ目は、代理人端末10の正面に対する向きを固定する方法である。この場合、例えば代理人端末10の正面に対して90度右向きの映像を選択する状態で視野が固定されると、代理人端末10の正面に対して90度右向きの映像が配信され続ける。
例えば代理人の現在地から見てどちらかの方位に見たい景色が広がっている場合に、1つ目の方法で視野を固定することで、代理人端末10の向き(代理人の向き)にかかわらずその景色を視聴し続けることができる。また、例えば代理人の進行方向の右手でパレード等のイベントが行われている場合に、2つ目の方法で視野を固定することで、そのイベントを視聴し続けることができる。
なお、視野を固定したまま、上述した選択範囲の拡大(ズームアウト)及び縮小(ズームイン)が行われてもよい。また、視野の固定を解除したい場合は、図13(b)に表すように固定解除ボタンE5を押す操作を行えばよい。この操作が行われると、映像配信部307は、参加人端末20から送信されてくる範囲情報(指定範囲を示す情報)が示す範囲の映像の配信を再開する。
[2-5]別ユーザの視野
表示範囲の選択方法は上記のものに限らない。例えば、別ユーザが見ている視野が選択されてもよい。本変形例では、映像配信部307が、元映像のうち配信先のユーザとは異なるユーザが選択した範囲の映像を配信する。この場合、参加人端末20のコンテンツ出力部203が、視野の切り替え用の操作子画像を表示する。
図14は本変形例で表示された操作子画像の例を表す。図14(a)の例では、コンテンツ出力部203が、或る代理人端末10が撮影した映像D3と共に、撮影ボタンE1及び視野切替ボタンE6を操作子画像として表示させている。視野切替ボタンE6には、「ユーザα」という切替先の視野を選択しているユーザ名が表されている。この切替先の視野を選択しているユーザはランダムで選ばれてもよいし、自動的に又はユーザの操作により順次切り替えられるようになっていてもよい。
映像配信部307は、視野切替ボタンE6を押す操作が行われると、切替先のユーザの参加人端末20から送信されてくる範囲情報(指定範囲を示す情報)が示す範囲の映像を、切替操作が行われた参加人端末20に配信する。図14(b)は、こうして配信された切替後の映像D4が表されている。映像D4は、映像D3とは異なる代理人端末10で撮影された映像である。
この例では切替元及び切替先の参加人端末20で視聴されている映像を撮影する代理人端末10が異なっているが、同じであってもよい。同じ代理人端末10が撮影した映像であっても、ユーザによって視聴する範囲が異なっていれば、配信される映像が変化することになる。コンテンツ出力部203は、切替後の映像に切替を解除する解除ボタンE7を表示させている。
解除ボタンE7を押す操作が行われると、映像配信部307は、切替元の参加人端末20から送信されてくる範囲情報が示す範囲の映像の配信を再開する。本変形例では、切替操作により別のユーザが選択した範囲の映像が配信されるので、同じ視野の映像を視聴する体験を別のユーザと共有することができる。また、別のユーザが過去に視聴した映像をそのまま視聴して追体験をすることができる。
また、別のユーザの視聴内容を見ることで、そのユーザが興味を持った点を把握するのに役立てることができる。例えば子供を仮想旅行サービスに参加させた親が、後から子供が視聴した内容を確認して、現在の興味及び趣向を把握するのに役立てることができる。
なお、本変形例でいう別ユーザには、自分とは別人であるユーザに加えて、過去の自分(配信サーバ装置が視聴単位でユーザを把握すれば、過去の自分は、現在映像を視聴しているユーザとは別のユーザとして把握される)も含まれるものとする。この場合、映像配信部307は、元映像のうち現在の配信先のユーザとは異なるユーザ(別ユーザ又は過去の自分)が選択した範囲の映像を配信する。これにより、ユーザは、過去に自分が視聴した映像を視聴して過去の体験を思い出すことができる。
[2-6]過去の視聴対象
表示範囲の選択方法は上記のものに限らない。例えば、ユーザが過去に視聴してきた対象と同じ属性の対象が映っている表示範囲が選択されてもよい。ここでいう対象の属性とは、例えば、遺跡、美術館及び公園等の建造物としての属性の他、電車、車及び自転車等の乗り物としての属性などである。また、対象を店舗にした場合、その店舗で販売している商品及びサービスの種類(服、酒及び土産物等)が属性として用いられてもよい。
図15は本変形例で実現される全体構成を表す。図15では、図9に表す各部に加えて属性検出部315を備える配信サーバ装置30cが表されている。属性検出部315は、ユーザによって過去に選択された範囲の映像に映っている対象の属性を検出する。属性検出部315は本発明の「検出部」の一例である。映像切出部302は、映像を切り出す度に、切り出した映像の配信先の参加人端末20の端末ID及び切り出した映像を示す映像データを属性検出部315に供給する。
属性検出部315は、例えば予め映像に映る可能性がある対象候補のパターン画像をその対象候補の属性に対応付けて記憶しておく。属性検出部315は、周知のパターン認識技術を用いて、供給された映像データが示す映像に含まれる対象を認識する認識処理を行い、対象候補のパターン画像と合致する部分が映像内で認識された場合、その対象候補に対応付けて記憶している属性を映像に映っている対象の属性として検出する。属性検出部315は、検出した属性を配信先の参加人端末20の端末IDに対応付けた配信先属性情報を指定範囲取得部303に供給する。
また、映像切出部302は、元データ取得部301又は元データ蓄積部313から元データが供給されると、その元データを属性検出部315に供給する。属性検出部315は、供給された元データが示す元映像(360度映像)に映っている対象の属性を上記同様に検出する。属性検出部315は、検出した対象の属性をその対象の表示位置に対応付けた属性位置情報を指定範囲取得部303に供給する。
指定範囲取得部303は、供給された配信先属性情報が示す属性の対象が映っている範囲を供給された属性位置情報に基づいて特定し、特定したその範囲を指定範囲として取得する。例えば配信先属性情報が「遺跡」という属性を示している場合、指定範囲取得部303は、元映像において「遺跡」という属性の対象が映っている範囲を特定してその範囲を指定範囲として取得する。
映像配信部307は、こうして取得された指定範囲の映像を、属性に対応付けられた端末IDの参加人端末20に配信することで、元映像のうち、属性検出部315により検出された属性を有する対象が映っている範囲の映像を配信する。この配信は、例えば過去の視聴対象と属性が共通する対象を追尾して表示する追尾モードをユーザが選択した場合に行われる。
これにより、ユーザは、自分がよく視聴する映像に映っている対象と属性が共通する対象を360度映像の中から自分で探さなくても、その対象が映った映像を視聴することができる。なお、対象の属性の検出方法は上記方法に限らない。例えば、代理人端末10がGPS等の測位センサを備えていて撮影位置を示す撮影データを配信サーバ装置30に送信する。
属性検出部315は、撮影場所の周辺に存在する対象の位置と各対象の属性を表す属性情報を記憶しておき、取得された撮影データが示す撮影位置との距離が閾値未満の対象の属性を検出する。また、属性検出部315は、撮影位置に加えて撮影方向を参照し、撮影位置の撮影方向側に存在する対象の属性を検出してもよい。この方法によれば、映像に映っていない対象でも属性を検出することができる。
また、指定範囲取得部303は、配信先属性情報が示す属性の対象が360度映像に含まれなくなると、追尾を解除し(ユーザによる指定範囲の取得に戻し)、その対象が360度映像に再び含まれるようになると、追尾を再開する(配信先属性情報が示す属性の対象が映っている範囲を特定する)。なお、追尾の再開は自動的に行われてもよいし、ユーザに再開の可否を選択させて再開を指示する操作が行われた場合に追尾を再開させてもよい。
また、属性検出部315による複数の属性が検出される場合は、それらの属性に優先順位が付与されてもよい(例えば検出された回数が多い属性ほど優先順位を高くする)。その場合、指定範囲取得部303は、配信先属性情報が示す属性のうち、360度映像に対象が映っていて且つ優先順位が最も高い属性の対象が映っている範囲を特定して指定範囲として取得する。これにより、優先順位が高い属性の対象ほどよく映る映像を配信させることができる。
[2-7]特定の視聴対象
上記追尾モードでは、過去の視聴対象と属性が共通する対象を映す映像が配信されたが、例えばユーザが選択した特定の視聴対象と属性が共通する対象を映す映像が配信されてもよい。本変形例では、ユーザが追尾モードを選択する際に、追尾したい対象の属性を選択する。
指定範囲取得部303は、選択された属性を、選択したユーザの参加人端末20(配信先の参加人端末20)の端末IDに対応付けた情報を上記変形例における配信先属性情報として取得する。後は上記変形例同様の動作が行われることで、映像配信部307は、特定の対象の属性が選択された場合に、元映像のうち、選択された属性を有する対象が映っている範囲の映像を配信する。これにより、ユーザは、自分が選択した属性を有する対象を360度映像の中から自分で探さなくても、その対象が映った映像を視聴することができる。
なお、ユーザが選択する属性として、映像配信部307により配信された映像に映る対象のうちユーザ操作により選択された対象であること、という属性が用いられてもよい。例えばパリで撮影されている映像にエッフェル塔が映ったときにユーザがエッフェル塔を選択する操作を行えば、属性検出部315は、選択されたエッフェル塔という属性を検出する。
この場合に追尾モードが選択されると、映像配信部307は、360度映像にエッフェル塔が映っている限り、常時エッフェル塔が映った映像を配信する。追尾対象としては、他にも、例えば大道芸人、騎馬警官及び広場のオブジェ等が選択され得る。また、映像配信部307は、追尾対象が360度影像に映らなくなると、上述した追尾の解除を行い、再び映るようになると上述した追尾の再開を行う。
また、ユーザ操作により追尾モードが解除されてもよい。また、追尾対象が複数選択されてもよい。その場合、映像配信部307は、前述した複数の属性が検出される場合のように各対象に優先順位を付与し(例えばユーザが先に選択したものほど優先順位を高くし)、優先順位が最も高い属性を有する対象を含む映像を配信する。これにより、ユーザは自分が見たい対象ほどよく映る映像を配信させることができる。
[2-8]ガイド画像
他のユーザが撮影した映像を簡単に視聴させるための動作が行われてもよい。例えば、映像配信部307は、配信先のユーザとは別のユーザにより指定された指定部分を特定するためのガイド画像を重畳した映像をその配信先のユーザに配信してもよい。
図16は本変形例で表示されたガイド画像の一例を表す。図16の例では、ユーザβの参加人端末20に配信されたコンテンツが表されている。図16(a)では、コンテンツ出力部203が、図14(a)に表された映像D3のうち図14(a)とは異なる範囲を表示させると共に、撮影ボタンE1及びガイドボタンE8を操作子画像として表示させている。
ガイドボタンE8は、左向きの矢印の形をしていると共に、「60度左でユーザαが撮影中」という文字列が表されている。このガイドボタンE8は、配信先のユーザβとは別のユーザであるユーザαにより指定された指定部分が左側に60度向きを変えた方向であることを表しており、その指定部分を特定するためのガイド画像として機能している。
映像配信部307は、ユーザαによる撮影操作が行われた場合に、そのときのユーザα及びβの指定範囲の差異(ユーザαの指定範囲がユーザβの指定範囲の左側60度に位置している)に基づいてガイドボタンE8を映像D3に重畳させる。配信されるコンテンツが過去に撮影された映像である場合、映像配信部307は、過去に撮影操作が行われた撮影時刻の映像において、その撮影範囲(指定部分)を特定するためのガイド画像を重畳した映像を配信してもよい。
映像配信部307は、ガイドボタンE8を押す操作が行われると、ガイド画像により特定される指定部分を表す映像を配信する。この例では、映像配信部307は、図16(b)に表すように被写体が表示面の中央に来る映像D3を配信する。映像配信部307は、例えば一定時間この映像を静止画像として配信する。ユーザβは、この映像が気に入ったら、一定時間の間に撮影ボタンE1を操作することで、同じ映像を撮影することができる。
なお、映像配信部307は、静止画像ではなく動画像として(つまり現在撮影されている映像のまま)映像D3を配信してもよい。また、映像配信部307は、一定時間だけ遡ったところから映像D3を配信してもよい。そうすることで、ユーザβは、ユーザαが撮影したタイミングではなく、自分が気に入ったタイミングで撮影をすることができる。
なお、本変形例では、図11に表す再生操作ボタンE3が表示されてもよい。その場合、映像配信部307が、再生操作ボタンE3への操作に応じて配信する映像を早送り、早戻り及び一時停止させる(さらにスロー再生及びスロー戻しの操作子画像が含まれていればそれらも行わせる)。これにより、ユーザは、再生操作ボタンE3を利用できない場合に比べて、自分の気に入ったタイミングでの撮影をより簡単に行うことができるようになる。
また、ガイド画像として、映像配信部307は、別のユーザにより指定された指定部分の撮影時刻と現在表示されている映像の撮影時刻との差分を表す画像をガイド画像として重畳させてもよい。例えば指定部分の撮影時刻が今から10秒後であれば、「ユーザαが撮影した時刻まであと10秒」という文字列(この時間をそのままカウントダウンさせてもよい)を表すガイド画像を重畳させる。これにより、別のユーザが撮影したタイミングを把握し易くすることができる。
[2-9]提供処理
抽出された映像をユーザに提供するための提供処理は実施例で述べた方法に限らない。撮影映像保存部312は、例えば、上述したサムネイル画像の一覧を、参加人の電子メールアドレス又はSNS(Social Networking Service)のアカウントに送信することで映像を提供してもよい。また、撮影映像保存部312は、ユーザ毎に作成したフォルダに撮影映像を保存するフォルダ保存処理を提供処理として行ってもよい(ユーザは自分のフォルダを参照することで撮影映像を見ることができる)。
また、撮影映像保存部312は、撮影映像を添付した電子メールをユーザの電子メールアドレスに送信するメール送信処理を提供処理として行ってもよい。また、撮影映像保存部312は、ウェブページに撮影映像を添付して、そのウェブページのURL(Uniform Resource Locator)を参加人端末20に送信するURL送信処理を提供処理として行ってもよい。
また、撮影映像保存部312は、ユーザが指定した印刷装置(例えば近所のコンビニエンスストアに設置されたネットワークに接続された印刷装置)に撮影映像を送信する印刷処理を提供処理として行ってもよい。この場合は映像が写真として印刷されてユーザに提供される。要するに、抽出された映像が最終的にユーザに提供されるのであれば、どのような方法で提供が行われてもよい。
[2-10]グループ共有
仮想旅行サービスは、何人かのグループで参加する場合がある。その場合に、撮影された映像をグループ内で簡単に共有できるようにしてもよい。本変形例では、撮影映像保存部312が、予め登録されるユーザ同士のグループを識別するグループIDと、そのグループに属するユーザの参加人端末20の端末IDとを対応付けたグループテーブルを記憶しておく。
撮影映像保存部312は、撮影映像抽出部311により抽出された撮影映像を保存する際に、端末IDに加えてグループIDを対応付けておく。撮影映像保存部312は、参加人端末20から撮影映像の一覧を要求する要求データを受け取ると、その要求データが示す端末IDと同じグループIDに対応付けて保存している映像のサムネイル画像の一覧を生成して参加人端末20に送信する。
本変形例の撮影映像保存部312は、以上のとおり、所定のグループに属するユーザが指定して撮影映像抽出部311により抽出された映像を、そのグループに属する他のユーザにも提供するための共有処理(グループ内で撮影された映像を共有するための処理)を行う。なお、共有処理は上記の処理に限らない。撮影映像保存部312は、例えば、上記のフォルダ保存処理を提供処理として行う場合、同じグループの他のユーザのフォルダにも撮影映像を保存する処理を共有処理として行ってもよい。
また、メール送信処理であれば他のユーザの撮影映像を電子メールに添付し、URL送信処理であれば他のユーザの撮影映像をウェブページに添付すればよい。また、印刷処理であれば他のユーザが指定した印刷装置に撮影映像を送信すればよい。いずれの場合も、共有処理が行われない場合に比べて、グループ内での撮影された映像の共有を容易に行うことができる。
[2-11]代理人端末
実施例では代理人端末が360度映像を撮影したが、これに限らず、例えばパノラマ映像を撮影してもよいし、1画面に収まる通常の映像を撮影してもよい。なお、1画面に収まる通常の映像が撮影された場合でも、映像配信部307は、画質変更部304による画質変更処理を元映像のデータ量を減少させる処理として行い、その処理と並行してその処理で得られた映像を配信する。
[2-12]元映像
実施例では代理人端末10により撮影された360度映像が元映像として用いられたが、これに限らない。前述したパノラマ映像又は1画面に収まる通常の映像が元映像として用いられてもよい。また、撮影された映像ではなく、CG等の作成された映像が元映像として用いられてもよい。いずれの場合も、配信時にはデータ量を減少させる処理が行われ、撮影時には元映像の一部が抽出されることで、配信映像から映像が抽出される場合に比べて、配信映像の一部をより高い画質で提供することができる。
[2-13]映像の指定部分
実施例では、映像の指定部分として、1フレームの映像が指定されたが、これに限らず、2以上のフレーム(つまり動画像)が指定されてもよい。この場合、図7に表す撮影ボタンE1でもよいが、より分かり易いように録画ボタンが表示されてもよい。
撮影映像抽出部311は、録画ボタンが操作されたから録画が停止されるまでの録画期間に配信された映像の各フレームに対応するフレームを映像切出部302が記憶している切り出された映像から抽出する。また、1フレーム全体ではなく、そのうちの一部(例えば映像に映っている対象を囲んだ範囲の映像)が指定されてもよい。
その場合、参加人端末20は、表示している映像のうち表示面よりも小さい一部の範囲を指定する操作を受け付ける。その場合、撮影映像抽出部311は、そうして指定された範囲を元映像から切り出して抽出する。なお、この切り出しの処理は映像切出部302に行わせてもよい。いずれの場合も、撮影映像抽出部311は、配信された映像の元映像のうちの指定部分に対応する部分を撮影映像として抽出する。
[2-14]データ量を減少させる処理
データ量を減少させる減少処理は、実施例で述べたものに限らない。例えば、画質変更部304は、実施例では映像のピクセル数を減少させる処理を減少処理として行ったが、これ以外にも、映像を圧縮する処理(ビットマップ画像をJPEG(Joint Photographic Experts Group)画像に変換する処理など)が減少処理として行われてもよい。
また、映像の色数を減らす処理が減少処理として行われてもよい。また、代理人端末により1画面に収まる映像が撮影された場合に、その映像のサイズを小さくする処理(ピクセル数を減少させる処理と似ているが、映像全体を対象とする点が異なる)が減少処理として行われてもよい。要するに、代理人端末により撮影された元映像よりもデータ量が減少していれば、どのような処理が減少処理として行われてもよい。
[2-15]配信方法
実施例では、元映像(360度映像)のデータ量を減少させる処理(切出処理及び画質変更処理)と並行してそれらの処理で得られた映像が配信された。これを言い換えると、映像の配信の際には、元映像に対して常にデータ量を減少させる処理が行われていた。しかし、本発明は、データ量を減少させる処理を常時行うものに限定されるわけではない。
映像配信部307は、例えば、データ量を減少させる処理で得られた影像の配信と、その処理を行わない配信(元映像のままの配信)とを必要に応じて切り替えながら配信を行ってもよい。この場合、360度映像をそのまま配信して参加人端末20側で切り出しを行ってもよいが、無駄が多いので、例えば1画面に収まる通常の映像を元映像とする配信が想定される。
本変形例の映像配信部307は、例えば、代理人又は参加人が映像の配信中に指定した期間(特に高画質で配信させたい映像が映っている期間等)だけ元映像をそのまま配信する。また、映像配信部307は、通信回線が混雑している期間(通信速度が閾値未満の期間)はデータ量を減少させる処理で得られた影像の配信を行い、それ以外の期間は元映像をそのまま配信するようにしてもよい。
いずれの場合も、映像配信部307は、元映像に対してデータ量を減少させる処理を適宜行いながらその処理で得られた映像を配信する。本変形例でも、元映像を常にそのまま配信する場合に比べれば、映像配信における遅延が生じにくくなっている。もちろん、実施例のようにデータ量を減少させる処理を常に行った方が遅延は生じにくいが、その処理を行わない元映像のままの配信を混在させたとしても、本発明の効果を奏するということである。
[2-16]参加人端末
実施例ではヘッドマウントディスプレイが参加人端末として用いられたが、これに限らない。例えばスマートフォン、タブレット端末又はパソコン等が参加人端末として用いられてもよい。要するに、配信された映像を表示可能であり、上述した各操作(撮影操作等)を受け付け可能な装置であれば、どのような表示装置が参加人端末として用いられてもよい。
[2-17]各部を実現する装置
図5等に表す各機能を実現する装置は、それらの図に表された装置に限らない。例えば参加人端末20が備える指定範囲決定部202を配信サーバ装置30が実現してもよい。また、1台の装置(代理人端末、参加人端末及び配信サーバ装置)が備える各機能を2台以上の装置がそれぞれ分担して実現してもよい。要するに、仮想旅行システム全体としてこれらの機能が実現されていれば、仮想旅行システムが何台の装置を備えていてもよい。
[2-18]システム
上記の各例では、仮想旅行サービスを提供するためのシステム(仮想旅行システム)について説明したが、本発明は、他のシステムにも適用可能である。例えば、演奏、スポーツの試合、美術館等の観覧を仮想的に行うためのシステムに適用してもよい。また、ロボット又はドローンが撮影した映像を配信するシステムに適用してもよい。また、ライブ映像に限らず、上記変形例で述べたような蓄積された映像を配信するシステムに適用してもよい。要するに、商取引の対象が映る映像を配信するものであれば、本発明をどのようなシステムに適用してもよい。
[2-19]発明のカテゴリ
本発明は、代理人端末、参加人端末及び配信サーバ装置等の各情報処理装置の他、それらの装置を備える仮想旅行システム等の情報処理システムとしても捉えられる。また、本発明は、各装置が実施する処理を実現するための情報処理方法としても捉えられるし、各装置を制御するコンピュータを機能させるためのプログラムとしても捉えられる。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されてもよいし、インターネット等のネットワークを介してコンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態で提供されてもよい。
[2-20]処理手順等
本明細書で説明した各実施例の処理手順、シーケンス、フローチャートなどは、矛盾がない限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
[2-21]入出力された情報等の扱い
入出力された情報等は特定の場所(例えばメモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
[2-22]ソフトウェア
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
[2-23]情報、信号
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
[2-24]システム、ネットワーク
本明細書で使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
[2-25]「に基づいて」の意味
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
[2-26]「及び」、「又は」
本明細書において、「A及びB」でも「A又はB」でも実施可能な構成については、一方の表現で記載された構成を、他方の表現で記載された構成として用いてもよい。例えば「A及びB」と記載されている場合、他の記載との不整合が生じず実施可能であれば、「A又はB」として用いてもよい。
[2-27]態様のバリエーション等
本明細書で説明した各実施例は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本発明について詳細に説明したが、当業者にとっては、本発明が本明細書中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本明細書の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。