特開2020-46983(P2020-46983A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社コロプラの特許一覧
特開2020-46983プログラム、情報処理装置、および方法
<>
  • 特開2020046983-プログラム、情報処理装置、および方法 図000003
  • 特開2020046983-プログラム、情報処理装置、および方法 図000004
  • 特開2020046983-プログラム、情報処理装置、および方法 図000005
  • 特開2020046983-プログラム、情報処理装置、および方法 図000006
  • 特開2020046983-プログラム、情報処理装置、および方法 図000007
  • 特開2020046983-プログラム、情報処理装置、および方法 図000008
  • 特開2020046983-プログラム、情報処理装置、および方法 図000009
  • 特開2020046983-プログラム、情報処理装置、および方法 図000010
  • 特開2020046983-プログラム、情報処理装置、および方法 図000011
  • 特開2020046983-プログラム、情報処理装置、および方法 図000012
  • 特開2020046983-プログラム、情報処理装置、および方法 図000013
  • 特開2020046983-プログラム、情報処理装置、および方法 図000014
  • 特開2020046983-プログラム、情報処理装置、および方法 図000015
  • 特開2020046983-プログラム、情報処理装置、および方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-46983(P2020-46983A)
(43)【公開日】2020年3月26日
(54)【発明の名称】プログラム、情報処理装置、および方法
(51)【国際特許分類】
   G06F 3/0484 20130101AFI20200303BHJP
   G06F 3/0488 20130101ALI20200303BHJP
   G09G 5/00 20060101ALI20200303BHJP
   G09G 5/36 20060101ALI20200303BHJP
   G09G 5/38 20060101ALI20200303BHJP
   H04N 5/232 20060101ALI20200303BHJP
   H04N 21/472 20110101ALI20200303BHJP
   H04M 1/00 20060101ALI20200303BHJP
【FI】
   G06F3/0484 150
   G06F3/0488
   G09G5/00 550C
   G09G5/00 510H
   G09G5/36 530Y
   G09G5/38 A
   G09G5/00 530T
   G09G5/00 550B
   G09G5/00 530D
   G09G5/36 520P
   G09G5/00 530M
   H04N5/232 290
   H04N21/472
   H04M1/00 R
【審査請求】有
【請求項の数】9
【出願形態】OL
【全頁数】25
(21)【出願番号】特願2018-175334(P2018-175334)
(22)【出願日】2018年9月19日
(71)【出願人】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】110000338
【氏名又は名称】特許業務法人HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】澤木 一晃
【テーマコード(参考)】
5C122
5C164
5C182
5E555
5K127
【Fターム(参考)】
5C122EA42
5C122FA02
5C122FA18
5C122FB06
5C122FH06
5C122FK23
5C122FK24
5C122FK41
5C122FL03
5C122GC14
5C122GC53
5C122HB01
5C122HB05
5C164FA06
5C164GA05
5C164UA04S
5C164UA43S
5C164UB41S
5C164UB92S
5C164UD41P
5C164YA11
5C182AA02
5C182AA03
5C182AB08
5C182AB22
5C182AC43
5C182BA06
5C182BA14
5C182BA65
5C182BA66
5C182BC22
5C182BC25
5C182BC26
5C182CB42
5C182CB44
5C182CB47
5C182CB54
5C182CC11
5C182CC21
5C182DA65
5E555AA12
5E555AA76
5E555BA06
5E555BA46
5E555BA87
5E555BB06
5E555BC04
5E555BC08
5E555CA12
5E555CB07
5E555CB16
5E555CB47
5E555CB55
5E555CB56
5E555CC22
5E555CC26
5E555DB57
5E555DB60
5E555DC05
5E555DC11
5E555DC13
5E555DC19
5E555FA00
5K127AA11
5K127BA03
5K127BB22
5K127BB35
5K127CA08
5K127CA10
5K127CA15
5K127CB13
5K127HA08
5K127JA04
5K127JA06
5K127KA05
(57)【要約】      (修正有)
【課題】映像の閲覧に関する操作の操作性を向上するプログラム、情報処理装置及び方法を提供する。
【解決手段】プログラムは、プロセッサに、ユーザに全天球映像を閲覧させるステップS1003と、タッチスクリーンに対して、初期操作を含む移動操作である第1操作が行われた場合、映像に関する第1処理を実行するステップS1005と、タッチスクリーンに対して、初期操作を含まない移動操作である第2操作が行われた場合、第1処理と異なる、映像に関する第2処理を実行するステップS1008と、を実行させる。
【選択図】図10
【特許請求の範囲】
【請求項1】
プロセッサ、メモリ、およびタッチスクリーンを備えたコンピュータによって実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
ユーザに映像を閲覧させるステップと、
前記タッチスクリーンに対して、初期操作を含む移動操作である第1操作が行われた場合、前記映像に関する第1処理を実行するステップと、
前記タッチスクリーンに対して、前記初期操作を含まない移動操作である第2操作が行われた場合、前記第1処理と異なる、前記映像に関する第2処理を実行するステップと、を実行させる、プログラム。
【請求項2】
前記閲覧させるステップでは、閲覧可能な複数の全天球映像のうちの第1全天球映像について、該第1全天球映像の一部の領域を前記タッチスクリーンに表示させ、
前記第1処理を実行するステップでは、前記第1処理として、前記第1全天球映像における、前記タッチスクリーンに表示させる領域を変更する処理を実行し、
前記第2処理を実行するステップでは、前記第2処理として、前記第1全天球映像を、前記複数の全天球映像のうちの第2全天球映像に変更する処理を実行する、請求項1に記載のプログラム。
【請求項3】
前記第2操作は、第1方向の移動操作であり、
前記プログラムは、前記プロセッサに、前記タッチスクリーンに対して、前記初期操作を含まない、前記第1方向と異なる第2方向の移動操作である第3操作が行われた場合、前記第1処理および前記第2処理と異なる、前記映像に関する第3処理を実行するステップをさらに実行させる、請求項1または2に記載のプログラム。
【請求項4】
前記閲覧させるステップでは、前記映像とともに、ユーザの操作を受け付けるユーザインターフェース部品を前記タッチスクリーンに表示させ、
前記第3処理を実行するステップでは、前記第3処理として、前記ユーザインターフェース部品を非表示とする、請求項3に記載のプログラム。
【請求項5】
前記初期操作は、前記タッチスクリーンへ指示体を接触させた後、接触を維持したまま、第1時間移動させない操作である、請求項1から4のいずれか1項に記載のプログラム。
【請求項6】
前記プログラムは、前記プロセッサに、前記タッチスクリーンへの前記指示体のタッチの開始から、該指示体の移動の開始までの待機時間が、第1時間以上であるか否かを判定するステップをさらに実行させ、
前記第1処理を実行するステップでは、前記判定するステップにおいて前記待機時間が前記第1時間以上であると判定された場合、前記第1処理を実行し、
前記第2処理を実行するステップでは、前記判定するステップにおいて前記待機時間が前記第1時間未満であると判定された場合、前記第2処理を実行する、請求項5に記載のプログラム。
【請求項7】
前記プログラムは、前記プロセッサに、前記指示体が前記タッチスクリーン上を移動した場合において、前記タッチスクリーンへの前記指示体のタッチの開始から前記第1時間が経過するまでに前記指示体が移動したか否かを判定するステップをさらに実行させ、
前記第1処理を実行するステップでは、前記判定するステップにおいて前記指示体が移動していないと判定された場合、前記第1処理を実行し、
前記第2処理を実行するステップでは、前記判定するステップにおいて前記指示体が移動したと判定された場合、前記第2処理を実行する、請求項5に記載のプログラム。
【請求項8】
情報処理装置であって、
前記情報処理装置は、
前記情報処理装置によって実行されるプログラムを記憶する記憶部と、
前記プログラムを実行することにより、前記情報処理装置の動作を制御する制御部と、
タッチスクリーンと、を備え、
前記制御部は、
ユーザに映像を閲覧させ、
前記タッチスクリーンに対して、初期操作を含む移動操作である第1操作が行われた場合、前記映像に関する第1処理を実行し、
前記タッチスクリーンに対して、前記初期操作を含まない移動操作である第2操作が行われた場合、前記第1処理と異なる、前記映像に関する第2処理を実行する、情報処理装置。
【請求項9】
プロセッサ、メモリ、およびタッチスクリーンを備えたコンピュータがプログラムを実行する方法であって、
前記方法は、前記プロセッサが、
ユーザに映像を閲覧させるステップと、
前記タッチスクリーンに対して、初期操作を含む移動操作である第1操作が行われた場合、前記映像に関する第1処理を実行するステップと、
前記タッチスクリーンに対して、前記初期操作を含まない移動操作である第2操作が行われた場合、前記第1処理と異なる、前記映像に関する第2処理を実行するステップと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はプログラム、情報処理装置、および方法に関する。
【背景技術】
【0002】
特許文献1には、全方位画像やパノラマ画像を表示した状態で、タッチパネルに接触させた指示体を、接触を維持したまま移動させる移動操作を入力することにより、全方位画像やパノラマ画像に対する種々の処理を実行する画像表示装置が開示されている。
【0003】
また、動画(映像)を再生し、視聴者に該動画を閲覧させるアプリケーションであって、移動操作を受け付けることにより、該動画に関する処理を実行するアプリケーションが知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2015−46949号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
このような技術には、操作性を向上することができる余地がある。
【0006】
本発明の一態様は、映像の閲覧に関する操作の操作性を向上させることを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様によれば、プロセッサ、メモリ、およびタッチスクリーンを備えたコンピュータによって実行されるプログラムが提供される。プログラムは、プロセッサに、ユーザに映像を閲覧させるステップと、タッチスクリーンに対して、初期操作を含む移動操作である第1操作が行われた場合、映像に関する第1処理を実行するステップと、タッチスクリーンに対して、初期操作を含まない移動操作である第2操作が行われた場合、第1処理と異なる、映像に関する第2処理を実行するステップと、を実行させる。
【発明の効果】
【0008】
本発明の一態様によれば、映像の閲覧に関する操作の操作性を向上させる効果を奏する。
【図面の簡単な説明】
【0009】
図1】ある実施の形態に従う動画配信システムの構成の概略を表す図である。
図2】ある実施の形態に従うスマートフォンのハードウェア構成の一例を示すブロック図である。
図3】ある実施の形態に従う全天球カメラの視野を説明するための図である。
図4】ある実施の形態に従う全天球カメラのハードウェア構成の一例を表すブロック図である。
図5】動画撮影システムを用いた被写体の撮影の一例を示す図である。
図6】ある実施の形態に従うサーバのハードウェア構成の一例を表すブロック図である。
図7】ある実施の形態に従うスマートフォンをモジュール構成として表すブロック図である。
図8】ある実施の形態に従うスマートフォンのモジュールの詳細構成を表すブロック図である。
図9】ある実施の形態に従う全天球映像、および、該全天球映像のスマートフォンへの表示例を示す図である。
図10】ある実施の形態に従うスマートフォンにおいて実行される処理、および、サーバにおいて実行される処理の一部を示すシーケンス図である。
図11】ある実施の形態に従うスマートフォンにおいて実行される移動操作判別処理を示すフローチャートである。
図12】ある実施の形態に従う、スマートフォンにおける全天球映像の表示例を示す図である。
図13】ある実施の形態に従う、スマートフォンにおける全天球映像の表示例を示す図である。
図14】ある実施の形態に従う、スマートフォンにおける全天球映像の表示例を示す図である。
【発明を実施するための形態】
【0010】
以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。本開示において示される1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
【0011】
[動画配信システムの構成]
図1を参照して、動画配信システム100の構成について説明する。図1は、本実施の形態に従う動画配信システム100の構成の概略を表す図である。
【0012】
動画配信システム100は、一例として、動画撮影システム110A、110B、110C、110Dと、スマートフォン160A、160B、160C、160D(コンピュータ、情報処理装置)と、サーバ170と、ネットワーク2とを含む。動画配信システム100は、動画撮影システム110A、110B、110C、110Dの各々が撮影した動画を、ネットワーク2およびサーバ170を介して、スマートフォン160A、160B、160C、160Dの各々に配信するシステムである。以下、スマートフォン160A、160B、160C、160Dを総称して、スマートフォン160とも言う。
【0013】
[スマートフォン160]
スマートフォン160は、配信された動画を、スマートフォン160のユーザに閲覧させる。つまり、スマートフォン160のユーザは、配信された動画の視聴者であるとも言える。スマートフォン160は、ネットワーク2を介してサーバ170と通信可能に構成される。動画配信システム100を構成するスマートフォン160の数は、4つに限られず、3つ以下でも、5つ以上でもよい。
【0014】
図2を参照して、スマートフォン160について、さらに詳細に説明する。図2は、本実施の形態に従うスマートフォン160のハードウェア構成の一例を示すブロック図である。スマートフォン160は、主たる構成要素として、プロセッサ210と、メモリ220と、ストレージ230と、タッチスクリーン240と、通信インターフェイス250とを備える。各構成要素は、それぞれ、バス260に接続されている。
【0015】
プロセッサ210は、スマートフォン160に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ220またはストレージ230に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ210は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)その他のデバイスとして実現される。
【0016】
メモリ220は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ230からロードされる。データは、スマートフォン160に入力されたデータと、プロセッサ210によって生成されたデータとを含む。ある局面において、メモリ220は、RAM(Random Access Memory)その他の揮発メモリとして実現される。
【0017】
ストレージ230は、プログラムおよびデータを永続的に保持する。ストレージ230は、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ230に格納されるプログラムは、動画をユーザに閲覧させるためのアプリケーションプログラム、シミュレーションプログラム、ユーザ認証プログラムを含んでもよい。ストレージ230に格納されるデータは、各プログラムのためのデータおよびオブジェクト等を含む。別の局面において、ストレージ230は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、スマートフォン160に内蔵されたストレージ230の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成の場合、スマートフォン160は、ネットワーク2を介した通信、あるいは、WiFi(登録商標)(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)等の近距離無線通信により、該外部の記憶装置に保存されているプログラムおよびデータを使用してもよい。
【0018】
タッチスクリーン240は、タッチパネル241とディスプレイ242とを備えた電子部品である。タッチパネル241は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。タッチパネル241は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。ディスプレイ242は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
【0019】
通信インターフェイス250は、ネットワーク2に接続されて、ネットワーク2に接続されている他のコンピュータ(例えば、サーバ170)と通信する。ある局面において、通信インターフェイス250は、例えば、LAN(Local Area Network)等の有線通信インターフェイス、あるいは、WiFi、Bluetooth、NFC等の無線通信インターフェイスとして実現される。通信インターフェイス250は上述のものに限られない。
【0020】
ある局面において、プロセッサ210は、ストレージ230にアクセスし、ストレージ230に格納されている1つ以上のプログラムをメモリ220にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200のオペレーティングシステム、動画をユーザに閲覧させるためのアプリケーションプログラム等を含み得る。プロセッサ210は、ネットワーク2、サーバ170、および通信インターフェイス250を介して受信した動画をタッチスクリーン240(ディスプレイ242)に表示する。
【0021】
[動画撮影システム110A]
図1に戻り、動画撮影システム110Aの詳細について説明する。動画撮影システム110Aは、被写体150の動画(映像)を撮影するシステムである。本実施の形態に従う動画撮影システム110Aは、各フレームが全天球画像である全天球映像を撮影する。動画撮影システム110Aは、一例として、全天球カメラ120、全天球映像生成装置130、表示装置140と、を含む。本実施の形態では、動画撮影システム110B、110C、110Dについても、動画撮影システム110Aと同様に、全天球カメラ120、全天球映像生成装置130、表示装置140と、を含むものとして説明する。以下、動画撮影システム110A、110B、110C、110Dを総称して、動画撮影システム110とも言う。動画配信システム100を構成する動画撮影システム110の数は、4つに限られず、3つ以下でも、5つ以上でもよい。
【0022】
(全天球カメラ120)
全天球カメラ120は、複数の撮像部を備え、被写体150を撮影する。一例として、全天球カメラ120は、2つの撮像部を備える。具体的には、全天球カメラ120は、第1撮像部121および第2撮像部122を備える。
【0023】
第1撮像部121および第2撮像部122は、動画像を撮像するように構成されており、CCD(Charge-Coupled Device)やCMOS(complementary metal-oxide semiconductor)などの撮像素子、および、レンズによって構成されている。以降、第1撮像部121および第2撮像部122が撮像する動画像を「撮影映像」と称する場合がある。
【0024】
図3は、ある実施の形態に従う全天球カメラ120の視野を説明するための図である。第1撮像部121および第2撮像部122は、一例として、互いに反対方向を撮像するように全天球カメラ120に配置されている。第1撮像部121は、一例として、図3に示す視野311を有する。また、第2撮像部122は、一例として、図3に示す視野312を有する。視野311および視野312は、それぞれ、第1撮像部121および第2撮像部122の撮像領域と表現することもできる。
【0025】
図3は、全天球カメラ120の上面図であるため、視野311および視野312を、一部が欠けた円形(扇形)で示している。しかしながら、第1撮像部121および第2撮像部122は、垂直方向(紙面に垂直な方向)にも視野を有している。つまり、視野311および視野312は、実際は、一部が欠けた球形である。よって、全天球カメラ120の視野は、互いに反対方向であり、かつ、一部が欠けた球形の2つの視野である。これにより、全天球カメラ120は、全天球カメラ120の全周囲(360度)の領域を撮影することができる。
【0026】
図4は、ある実施の形態に従う全天球カメラ120のハードウェア構成の一例を表すブロック図である。図4に示すように、全天球カメラ120は、主たる構成要素として、プロセッサ411と、メモリ412と、ストレージ413と、第1撮像部121と、第2撮像部122と、入出力インターフェイス414と、通信インターフェイス415とを備える。各構成要素は、それぞれ、バス416に接続される。
【0027】
プロセッサ411は、全天球カメラ120に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ412またはストレージ413に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ411は、CPU、GPU、MPU、FPGAその他のデバイスとして実現される。
【0028】
メモリ412は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ413からロードされる。データは、全天球カメラ120に入力されたデータと、プロセッサ411によって生成されたデータとを含む。ある局面において、メモリ412は、RAMその他の揮発メモリとして実現される。
【0029】
ストレージ413は、プログラムおよびデータを永続的に保持する。ストレージ413は、例えば、ROM、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ413に格納されるプログラムは、撮影映像の撮像を実現するためのプログラム、その他の装置との通信を実現するためのプログラムなどを含んでもよい。ストレージ413に格納されるデータは、撮影映像(撮影映像データ)を含んでもよい。
【0030】
別の局面において、ストレージ413は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、全天球カメラ120に内蔵されたストレージ413の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成の場合、全天球カメラ120は、ネットワーク2を介した通信、あるいは、WiFi、Bluetooth、NFC等の近距離無線通信により、該外部の記憶装置に保存されているプログラムおよびデータを使用してもよい。
【0031】
第1撮像部121および第2撮像部122は、上述したように、撮影映像を撮像する。入出力インターフェイス414は、入出力機器との間で信号を通信する。ある局面において、入出力インターフェイス414は、USB、DVI、HDMI(登録商標)その他の端子を用いて実現される。入出力インターフェイス414は上述のものに限られない。通信インターフェイス1775は、ネットワーク2に接続されて、ネットワーク2に接続されている装置と通信する。ある局面において、通信インターフェイス415は、例えば、LAN等の有線通信インターフェイス、あるいは、WiFi,Bluetooth、NFC等の無線通信インターフェイスとして実現される。通信インターフェイス415は上述のものに限られない。なお、プロセッサ411は、通信インターフェイス415を用いて、撮影映像をリアルタイムに全天球映像生成装置130へ送信する。
【0032】
(全天球映像生成装置130)
全天球映像生成装置130は、全天球カメラ120から取得した撮影映像を用いて、全天球映像を生成する。ある局面において、全天球映像生成装置130は、ネットワーク2を介して全天球カメラ120から撮影映像を取得する。
【0033】
全天球映像生成装置130は、全天球カメラ120の第1撮像部121が撮像した撮影映像と、第2撮像部122が撮像した撮影映像とを取得する。図3に示すように、第1撮像部121の視野131と、第2撮像部122の視野132とは、一部が互いに重複している。このため、全天球カメラ120の第1撮像部121が撮像した撮影映像と、第2撮像部122が撮像した撮影映像とは、一部が互いに重複している。全天球映像生成装置130は、これら2つの撮影映像に含まれる、対応する2つのフレームを歪ませて、当該歪んだ2つのフレームをスティッチング処理する。「対応する2つのフレーム」とは、撮影時刻が一致する2つのフレームである。全天球映像生成装置130は、対応する2つのフレーム全てに対し、スティッチング処理を行うことにより、全天球映像を生成する。全天球映像生成装置130は、生成した全天球映像を、ネットワーク2を介して、サーバ170へ送信する。
【0034】
全天球カメラ120が、全天球映像を生成し、サーバ170へ送信する機能を備えていてもよい。この例の場合、動画撮影システム110は、全天球映像生成装置130を含まなくてもよい。
【0035】
(表示装置140)
表示装置140は、全天球映像生成装置130が生成した全天球映像を、ネットワーク2およびサーバ170を介して取得し、表示する。これにより、被写体150は、自身が撮影された全天球映像を確認しながら、撮影を行うことができる。表示装置140は、一例として、スマートフォン160のストレージ230に記憶されている、動画(全天球映像)をユーザに閲覧させるためのアプリケーションプログラムと同一のアプリケーションプログラムを記憶していてもよい。つまり、表示装置140は、該アプリケーションプログラムを用いて、全天球映像を表示してもよい。
【0036】
[サーバ170]
サーバ170は、動画撮影システム110の各々から受信した全天球映像をスマートフォン160へ配信する。ある局面において、サーバ170は、スマートフォン160に対するユーザの入力に基づく第1指示を受信した場合、第1指示が示す全天球映像をスマートフォン160へ送信する。つまり、第1指示は、特定の全天球映像の送信指示である。
【0037】
[被写体の撮影]
図5は、動画撮影システム110Aを用いた被写体150の撮影の一例を示す図である。本実施の形態では、被写体150が女性である例を説明する。この例のように、被写体150が人間である場合、被写体150は映像の配信者と表現することもできる。
【0038】
一例として、被写体150は、撮影中において、視聴者(スマートフォン160のユーザ)に向けて喋ったり、演技、演奏、歌唱などを行なったり、ゲームをプレイしたり、日常の行動をしたりする。つまり、視聴者は、全天球映像を視聴することで、一例として、被写体150のこれらの動作、行動を視聴する。なお、被写体150の撮影中の動作、行動はこの例に限定されない。
【0039】
全天球カメラ120は、被写体150を第1位置から撮影する。図5の例では、被写体150は、第1撮像部121の視野の正面に位置し、全天球カメラ120の方向を向いている。換言すれば、図5の例では、被写体150は第1撮像部121によって撮影される。なお、図5では、第1撮像部121は、表示装置140によって隠れているため、図示していない。
【0040】
一例として、表示装置140は、図5に示すように、全天球カメラ120の上部に、表示領域が被写体150側となるように配置される。これにより、被写体150は、全天球カメラ120の撮像部(図5の例では第1撮像部121)に目線を向けながら、自身が撮影された全天球映像を確認することができる。換言すれば、被写体150は、カメラ目線を維持しながら、自身が撮影された全天球映像を確認することができる。
【0041】
一例として、全天球映像をユーザに閲覧させるためのアプリケーションプログラムは、視聴者が全天球映像を視聴しながらコメント等を入力する機能、および、該コメント等を表示する機能を備えていてもよい。これにより、被写体150は、自身が撮影された全天球映像を視聴している視聴者が入力したコメントを視認することができ、該コメントに対して応答することができる。なお、アプリケーションプログラムは、視聴者の入力に基づく処理の実行を、通知として表示する機能を備えていてもよい。一例として、視聴者に対する課金に関する処理が実行され、ギフトオブジェクトが被写体150に贈呈されたことを示す通知が、該機能によって表示されてもよい。
【0042】
[サーバ170のハードウェア構成]
図6を参照して、本実施の形態に係るサーバ170について、さらに詳細に説明する。図6は、ある実施の形態に従うサーバ170のハードウェア構成の一例を表すブロック図である。サーバ170は、主たる構成要素として、プロセッサ611と、メモリ612と、ストレージ613と、入出力インターフェイス614と、通信インターフェイス615とを備える。各構成要素は、それぞれ、バス616に接続されている。
【0043】
プロセッサ611は、サーバ170に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ612またはストレージ613に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ611は、CPU、GPU、MPU、FPGAその他のデバイスとして実現される。
【0044】
メモリ612は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ613からロードされる。データは、サーバ170に入力されたデータと、プロセッサ611によって生成されたデータとを含む。ある局面において、メモリ612は、RAMその他の揮発メモリとして実現される。
【0045】
ストレージ613は、プログラムおよびデータを永続的に保持する。ストレージ613は、例えば、ROM、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。
【0046】
別の局面において、ストレージ613は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、サーバ170に内蔵されたストレージ613の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成の場合、サーバ170は、ネットワーク2を介した通信、あるいは、WiFi、Bluetooth(登録商標)、NFC等の近距離無線通信により、該外部の記憶装置に保存されているプログラムおよびデータを使用してもよい。
【0047】
入出力インターフェイス614は、入出力機器との間で信号を通信する。ある局面において、入出力インターフェイス614は、USB、DVI、HDMIその他の端子を用いて実現される。入出力インターフェイス614は上述のものに限られない。
【0048】
通信インターフェイス615は、ネットワーク2に接続されて、ネットワーク2に接続されている全天球映像生成装置130、表示装置140、および、スマートフォン160と通信する。ある局面において、通信インターフェイス615は、例えば、LANその他の有線通信インターフェイス、あるいは、WiFi、Bluetooth、NFCその他の無線通信インターフェイスとして実現される。通信インターフェイス615は上述のものに限られない。
【0049】
ある局面において、プロセッサ611は、ストレージ613にアクセスし、ストレージ613に格納されている1つ以上のプログラムをメモリ612にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、サーバ170のオペレーティングシステム、スマートフォン160および表示装置140に全天球映像を配信するためのアプリケーションプログラム等を含み得る。プロセッサ611は、通信インターフェイス615、または、入出力インターフェイス614を介して、全天球映像をスマートフォン160および表示装置140に配信してもよい。
【0050】
ここで、図示してはいないが、サーバ170のモジュール構成の詳細について説明する。サーバ170は、コントロールモジュールと、メモリモジュールと、通信制御モジュールとを備える。ある局面において、コントロールモジュールは、プロセッサ611によって実現される。メモリモジュールは、メモリ612またはストレージ613によって実現される。通信制御モジュールは、通信インターフェイス615によって実現される。
【0051】
コントロールモジュールは、スマートフォン160から第1指示を受信すると、スマートフォン160に全天球映像を送信する。コントロールモジュールは、一例として、ライブ方式で全天球映像のストリーミング(ライブストリーミング)を行う。ライブストリーミングとは、データをダウンロードしつつ同時に再生する方式であるストリーミングの一種で、映像や音声をリアルタイムで配信し、リアルタイムでデータの変換(エンコード)を行い、そのままストリーミング再生することである。つまり、コントロールモジュールは、全天球映像生成装置130から受信した全天球映像のストリーミングをリアルタイムに行う。換言すれば、該全天球映像は、ライブストリーミング映像であると表現することもできる。
【0052】
つまり、動画配信システム100では、(1)全天球カメラ120から全天球映像生成装置130への撮影映像の送信、(2)全天球映像生成装置130による全天球映像の生成、および、該全天球映像のサーバ170への送信、(3)サーバ170から、第1指示を送信したスマートフォン160への全天球映像の送信がリアルタイムに行われる。これにより、視聴者は、現在撮影されている被写体150の全天球映像を視聴することができる。なお、第1指示は、表示装置140から送信されてもよい。
【0053】
[スマートフォン160のモジュール構成]
図7および図8を参照して、スマートフォン160のモジュール構成について説明する。図7は、ある実施の形態に従うスマートフォン160をモジュール構成として表すブロック図である。図8は、ある実施の形態に従うスマートフォン160のモジュールの詳細構成を表すブロック図である。
【0054】
図7に示すように、スマートフォン160は、コントロールモジュール710と、メモリモジュール720と、通信制御モジュール730とを備える。ある局面において、コントロールモジュール710は、プロセッサ210によって実現される。別の局面において、複数のプロセッサ210が、コントロールモジュール710として作動してもよい。メモリモジュール720は、メモリ220またはストレージ230によって実現される。通信制御モジュール730は、通信インターフェイス250によって実現される。
【0055】
図8に示すように、コントロールモジュール710は、動画制御モジュール811、操作判別モジュール812、動画切換モジュール813、および、UI制御モジュール814を備えている。
【0056】
動画制御モジュール811は、ユーザが閲覧する全天球映像を制御する。動画制御モジュール811は、例えば、ユーザがタッチスクリーン240に対して入力した操作に基づいて、サーバ170に第1指示を送信し、第1指示が示す全天球映像を再生する。ここで、「全天球映像を再生する」とは、全天球映像を受信し、タッチスクリーン240(ディスプレイ242)に表示することを指す。
【0057】
全天球映像の再生について、図9を参照して説明する。図9は、ある実施の形態に従う全天球映像、および、該全天球映像のスマートフォン160への表示例を示す図である。
【0058】
上述したように、全天球カメラ120は、全天球カメラ120の全周囲(360度)の領域を撮影する。このため、全天球映像は、球で表現することが可能である。換言すれば、球の外縁に全天球映像が貼り付いていると表現することもできる。図9(A)の例では、説明を複雑にしないために、全天球映像910の上半分(半球)を例示している。
【0059】
一方、動画の興趣性、ユーザによる動画の視認のしやすさなどを考慮すれば、スマートフォン16は、全天球映像の一部の領域をディスプレイ242に表示することが好ましい。つまり、本実施の形態において、全天球映像を再生するとは、ディスプレイ242に全天球映像の一部の領域を表示することである。以降、該一部の領域を「表示領域」と称する。
【0060】
該表示領域の設定について説明する。全天球映像910の中心911は、撮影現場における全天球カメラ120の位置に対応する。動画制御モジュール811は、一例として、中心911を、表示領域の決定のための基準点912として設定する。動画制御モジュール811は、一例として、基準点912から球(半球)の外縁に向かう方向に延びる基準線913と、スマートフォン16のディスプレイ242のサイズに基づいて、全天球映像910の再生開始時の表示領域914を設定する。具体的には、動画制御モジュール811は、基準線913が全天球映像910(すなわち球の外縁)と交わる点を中心とする、ディスプレイ242のサイズと略同一の表示領域914を設定する。
【0061】
基準線913が延びる方向(全天球映像の基準方向)は、一例として、撮影現場における、全天球カメラ120から被写体150へ向かう方向に対応する。基準線913が延びる方向は、全天球映像の正面方向と表現することもできる。動画制御モジュール811は、設定された表示領域914を、図9(B)に示すように、ディスプレイ242に表示する。これにより、全天球映像の再生が開始された時点で、被写体150を含む映像がディスプレイ242に表示される。
【0062】
また、動画制御モジュール811は、例えば、ユーザがタッチスクリーン240に対して入力した操作に基づいて、表示領域を変更する。動画制御モジュール811は、一例として、該操作に応じた、基準線913とは異なる方向に延びる直線を特定する。そして、該直線が全天球映像910と交わる点を中心とする、ディスプレイ242のサイズと略同一の表示領域を特定し、該表示領域をディスプレイ242に表示する。この処理は、換言すれば、基準点から伸びる直線と、全天球映像910との交点の位置を、ユーザがタッチスクリーン240に対して入力した操作に基づいて移動させる処理とも言える。あるいは、この処理は、表示領域914を、ユーザがタッチスクリーン240に対して入力した操作に基づいて移動させる処理とも言える。
【0063】
操作判別モジュール812は、タッチスクリーン240(タッチパネル241)の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、操作判別モジュール812は、ユーザの指などがタッチスクリーン240に接近したことを、タッチスクリーン240を構成する面の横軸及び縦軸からなる座標系の座標として検出する。例えば、操作判別モジュール812は、タッチパネル241に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作判別モジュール812は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作判別モジュール812は、連続して検知されていた入力が途切れると、タッチスクリーン240から接触入力が解除されたことを検知する。
【0064】
操作判別モジュール812は、タッチスクリーン240に対するユーザの操作を判別する。操作判別モジュール812は、例えば、(1)「接近操作」、(2)「リリース操作」、(3)「タップ操作」、(4)「ダブルタップ操作」、(5)「長押し操作(ロングタッチ操作)」、(6)「ドラッグ操作(スワイプ操作)」、(7)「ムーブ操作」、(8)「フリック操作」、その他のユーザの操作を判別する。操作判別モジュール812が判別するユーザの操作は、上記に限られない。例えば、タッチスクリーン240が、ユーザがタッチスクリーン240に対して押下する圧力の大きさを検出可能な機構を有する場合、操作判別モジュール812は、ユーザにより押下された圧力の大きさを判別する。
【0065】
(1)「接近操作」とは、ユーザが指などをタッチスクリーン240に接近させる操作である。タッチスクリーン240は、ユーザの指などが接近したこと(ユーザの指などがタッチスクリーン240に接触したことを含む)をタッチスクリーン240により検出し、検出したタッチスクリーン240の座標に応じた信号をコントロールモジュール710へ出力する。コントロールモジュール710は、タッチスクリーン240へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
【0066】
(2)「リリース操作」とは、ユーザがタッチスクリーン240を接近操作している状態を止める操作である。操作判別モジュール812は、例えば、ユーザが指などをタッチスクリーン240に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。コントロールモジュール710は、タッチスクリーン240へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
【0067】
(3)「タップ操作」とは、ユーザがタッチスクリーン240に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。操作判別モジュール812は、接近操作が検出されない状態(ユーザの指などがタッチスクリーン240から離れており、タッチスクリーン240がユーザの指などの接近を検出していない状態)から、タッチスクリーン240の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。操作判別モジュール812は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合(接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合)に、ユーザの操作を「タップ操作」と判別する。
【0068】
(4)「ダブルタップ操作」とは、ユーザがタップ操作を一定時間内に2回行う操作である。操作判別モジュール812は、例えば、ユーザの操作をタップ操作と判別してから一定時間内に、タップ操作にかかる座標で再びタップ操作を判別した場合に、ユーザの操作を「ダブルタップ操作」と判別する。
【0069】
(5)「長押し操作」とは、ユーザがタッチスクリーン240を押し続ける操作である。タッチスクリーン240は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」(「長押し操作」を、「ロングタッチ操作」と称することもある)と判別する。
【0070】
(6)「ドラッグ操作」とは、ユーザがタッチスクリーン240に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
【0071】
(7)「ムーブ操作」とは、ユーザがタッチスクリーン240において、接近操作を維持しつつ、タッチスクリーン240に指などを接近させている位置を移動させてリリース操作を行う一連の操作をいう。
【0072】
(8)「フリック操作」は、ユーザがムーブ操作を予め定められた時間よりも短い時間で行う操作をいう。フリック操作は、ユーザがタッチスクリーン240で指を弾くような操作である。
【0073】
操作判別モジュール812は、タッチスクリーン240に接触した指示体(ユーザの指など)を、タッチスクリーン240への接触を維持したまま移動させる移動操作について、第1移動操作(第1操作)、第2移動操作(第2操作)、第3移動操作(第3操作)のいずれであるかを判別する。移動操作は、例えば、上記の各種操作のうちのドラッグ操作およびフリック操作に相当するが、これらに限定されるものではない。第1移動操作、第2移動操作、第3移動操作の詳細は後述する。
【0074】
動画切換モジュール813は、ユーザがタッチスクリーン240に対して入力した操作に基づいて、再生する全天球映像、すなわち、ディスプレイ242に表示する全天球映像を変更する。具体的には、動画切換モジュール813は、第1全天球映像を再生している場合において、ユーザがタッチスクリーン240に対して入力した操作に基づいて、第1全天球映像の再生を停止し、第1全天球映像と異なる第2全天球映像を再生する。
【0075】
UI制御モジュール814は、全天球映像に重畳してディスプレイ242に表示されているユーザインターフェース(以下、「UI」と記載する)を制御する。UI制御モジュール814は、例えば、ユーザがタッチスクリーン240に対して入力した操作に基づいて、UIを非表示とする。
【0076】
[処理フロー]
図10は、ある実施の形態に従うスマートフォン160において実行される処理、および、サーバ170において実行される処理の一部を示すシーケンス図である。本実施形態では、視聴者側の一連の処理が、スマートフォン160Aにより実行されるものとして説明する。ただし、当該処理は、他のスマートフォン160B、160C、160Dにより実行されてもよいし、当該処理の一部または全部がサーバ170によって実行されてもよい。
【0077】
ステップS1011において、サーバ170のプロセッサ611は、全天球映像生成装置130から全天球映像を受信する。具体的には、プロセッサ611は、現在撮影を行っている動画撮影システム110に含まれる全天球映像生成装置130の各々から、全天球映像を受信する。つまり、複数の動画撮影システム110において同時に撮影が行なわれている場合、プロセッサ611は、複数の全天球映像を受信する。
【0078】
ステップS1001において、スマートフォン160Aのタッチパネル241は、第1全天球映像の再生操作を受け付ける。該操作は、例えば、ユーザが閲覧可能な複数の全天球映像それぞれを示す複数のUIを表示したタッチスクリーン240における、第1全天球映像を示すUIへのタップ操作であってもよい。該画面は、例えば、動画をユーザに閲覧させるためのアプリケーション(以下、単に「アプリケーション」と記載)を起動した直後に表示されてもよい。また、該複数のUIは、閲覧可能な複数の全天球映像それぞれのサムネイル画像であってもよい。ステップS1002において、スマートフォン160Aのプロセッサ210は、第1全天球映像の再生操作に基づく、第1全天球映像の再生指示をサーバ170へ送信する。
【0079】
ステップS1012において、プロセッサ611は、第1全天球映像の再生指示を受信したことに伴い、第1全天球映像をスマートフォン160Aへ送信する。
【0080】
ステップS1003において、プロセッサ210は、動画制御モジュール811として、受信した第1全天球映像を再生する。
【0081】
図10に示してはいないが、プロセッサ210は、操作判別モジュール812として、タッチパネル241に移動操作が入力された場合に、該移動操作が、第1移動操作、第2移動操作、第3移動操作の何いずれであるかを判別する。この処理の詳細については、図11を参照して後述する。図11は、ある実施の形態に従うスマートフォン160において実行される移動操作判別処理を示すフローチャートである。
【0082】
図12は、ある実施の形態に従う、スマートフォン160Aにおける全天球映像の表示例を示す図である。プロセッサ210は、一例として、図12(A)に示すように、全天球映像910の一部である表示領域1214A、および、UI1221A、1221B、1221Cをディスプレイ242に表示している。以下、UI1221A、1221B、1221Cを総称して、UI1221とも言う。また、図12(A)に示す表示領域1214Aは、基準線913に応じた表示領域、すなわち、全天球映像の正面であるとする。
【0083】
ステップS1004において、タッチパネル241は第1移動操作を受け付ける。ステップS1004は、すなわち、プロセッサ210が、移動操作を第1移動操作と判別した場合に相当する。第1移動操作は、一例として、図12(A)に示すように、タッチスクリーン240へ指1230を接触させ、所定の閾値(以下、単に「閾値」と記載する)秒以上待機した後、指1230を移動させる操作である。換言すれば、第1移動操作は、タッチスクリーン240へ指1230を接触させた後、接触を維持したまま移動させない時間である待機時間が、閾値秒以上の移動操作であるとも表現することができる。また、第1移動操作は、タッチスクリーン240へ指1230を接触させた後、接触を維持したまま、閾値秒以上移動させないという初期操作を含む移動操作であるとも表現することができる。図12(A)の例では、第1移動操作により、指1230を第1方向1240へ移動させている。第1方向1240は、図12(A)の右方向である。
【0084】
「所定の閾値秒」の具体的な値(秒数)は、タッチパネル241の性能(レスポンス)に応じて適宜設定される。一例としては、該値は、0.01秒〜0.1秒の範囲で好適な値を設定可能である。
【0085】
なお、第1移動操作は、具体的には、閾値秒待機してから行われるドラッグ操作を想定しているが、上記の条件を満たした移動操作であれば、ドラッグ操作に限定されない。例えば、第1移動操作は、上記の条件を満たしたフリック操作であってもよい。
【0086】
ステップS1005において、プロセッサ210は、動画制御モジュール811として、第1移動操作に基づき、表示領域を変更する。具体的には、プロセッサ210は、第1移動操作の移動方向と移動距離とに応じて、第1全天球映像内で表示領域を移動させる。図12(A)の例では、指1230を右方向に移動させているので、プロセッサ210は、例えば、表示領域を右方向に、指1230の移動距離に応じた距離だけ移動させる。つまり、第1移動操作に基づく、全天球映像の表示領域を変更する処理は、第1移動操作の移動方向および移動距離に応じた処理であると言える。これにより、表示領域1214Aは表示領域1214Bに変更され、ディスプレイ242では、図12(B)に示すように、第1移動操作の前には視聴者が視認できなかった、被写体150の右側が表示される。なお、被写体150の右側とは、ユーザ(視聴者)から見た被写体150の右側である。
【0087】
このように、本実施の形態に従うスマートフォン160Aは、第1移動操作により、全天球映像における、タッチスクリーン240に表示させる領域を変更することができる。スマートフォン160Aのユーザは、全天球映像の再生開始時にタッチスクリーン240に表示されていなかった領域を、第1移動操作の実行により視認することができる。
【0088】
図13は、ある実施の形態に従う、スマートフォン160Aにおける全天球映像の表示例を示す図である。ステップS1006において、タッチパネル241は第2移動操作を受け付ける。ステップS1006は、すなわち、プロセッサ210が、移動操作を第2移動操作と判別した場合に相当する。第2移動操作は、一例として、図13(A)に示すように、タッチスクリーン240へ指1230を接触させ、閾値秒が経過する前に、指1230を移動させる操作である。換言すれば、第2移動操作は、上述した待機時間が、閾値秒未満の移動操作であるとも表現することができる。また、第2移動操作は、上述した初期操作を含まない移動操作であるとも表現することができる。図13(A)の例では、指1230を第1方向1240へ移動させている。第1方向1240は、図13(A)の右方向である。本実施の形態では、第2移動操作と判別する条件として、「図13(A)の左右方向へ指1230等の指示体を移動させる操作であること」が含まれる。つまり、第2移動操作は、待機時間が閾値秒未満の、左右方向へ指示体を移動させる操作である。
【0089】
なお、第2移動操作は、具体的には、閾値秒待機せずに行われる左右方向へのフリック操作(左右方向への通常のフリック操作)を想定しているが、上記の条件を満たした移動操作であれば、フリック操作に限定されない。例えば、第2移動操作は、上記の条件を満たしたドラッグ操作であってもよい。
【0090】
プロセッサ210は、動画切換モジュール813として、第2移動操作に基づき、第1全天球映像を第2全天球映像に切り換える。具体的には、プロセッサ210は、ステップS1007において、第2全天球映像の再生指示をサーバ170へ送信する。ステップS1013において、プロセッサ611は、第2全天球映像の再生指示を受信したことに伴い、第1全天球映像の送信を中止し、第2全天球映像をスマートフォン160Aへ送信する。
【0091】
ステップS1008において、プロセッサ210は、動画制御モジュール811として、受信した第2全天球映像を再生する。具体的には、図13(B)に示すように、第2全天球映像の一部である表示領域1314をディスプレイ242に表示する。第2全天球映像は、第1全天球映像とは異なる全天球映像であり、一例として、被写体150と異なる被写体1350を含む。
【0092】
このように、本実施の形態に従うスマートフォン160Aは、第2移動操作により、第1全天球映像を、第1全天球映像と異なる第2全天球映像に変更することができる。スマートフォン160Aのユーザは、第2移動操作により、複数の全天球映像のザッピングを行うことができる。
【0093】
第2移動操作に基づく、全天球映像を切り換える処理は、第2移動操作の移動方向に応じた処理であると言える。一例として、第2移動操作の方向が第1方向1240、すなわち、図13(A)の右方向である場合、上述したように、プロセッサ210は、第1全天球映像を第2全天球映像に切り換える。一方、第2移動操作の方向が第1方向1240と異なる方向、すなわち、図13(A)の左方向である場合、プロセッサ210は、第1全天球映像を、第2全天球映像と異なる第3全天球映像に切り換える。
【0094】
図14は、ある実施の形態に従う、スマートフォン160Aにおける全天球映像の表示例を示す図である。ステップS1009において、タッチパネル241は第3移動操作を受け付ける。ステップS1009は、すなわち、プロセッサ210が、移動操作を第3移動操作と判別した場合に相当する。第3移動操作は、一例として、図14(A)に示すように、タッチスクリーン240へ指1230を接触させ、閾値秒が経過する前に、指1230を移動させる操作である。換言すれば、第3移動操作は、上述した待機時間が、閾値秒未満の移動操作であるとも表現することができる。また、第3移動操作は、上述した初期操作を含まない移動操作であるとも表現することができる。図14(A)の例では、指1230を第2方向1440へ移動させている。第2方向1440は、図14(A)の上方向である。本実施の形態では、第3移動操作と判別する条件として、「図14(A)の上方向へ指1230等の指示体を移動させる操作であること」が含まれる。つまり、第3移動操作は、待機時間が閾値秒未満の、上方向へ指示体を移動させる操作である。
【0095】
なお、第3移動操作は、具体的には、閾値秒待機せずに行われる上下方向へのフリック操作(上下方向への通常のフリック操作)を想定しているが、上記の条件を満たした移動操作であれば、フリック操作に限定されない。例えば、第3移動操作は、上記の条件を満たしたドラッグ操作であってもよい。
ステップS1010において、プロセッサ210は、UI制御モジュール814として、第3移動操作に基づき、画面からUI1221を消去する。具体的には、図14(B)に示すように、ディスプレイ242において、UI1221を非表示とし、表示領域1214Aのみが表示された状態とする。
【0096】
ユーザに、動画を閲覧させるアプリケーションにおいては、アプリケーションの操作性を向上させるために、UIを用いることが好ましい。一方で、UIをディスプレイに表示した場合、UIによって動画の視認性が低下する。これに対し、本実施の形態に従うスマートフォン160Aは、第3移動操作により、UI1221を非表示とすることができるので、UIによる全天球映像の視認性の低下を防ぐことができる。換言すれば、スマートフォン160Aは、UI1221が全天球映像に重畳することにより、全天球映像に視認できない部分が発生することを防ぐことができる。
【0097】
なお、非表示となったUI1221は、ユーザの操作に基づいて再表示可能であることが望ましい。一例として、プロセッサ210は、UI制御モジュール814として、第1移動操作、第2移動操作、第3移動操作と異なる第4移動操作に基づき、非表示となったUI1221を再表示する。第4移動操作は、例えば、待機時間が閾値秒未満の、下方向へ指示体を移動させる操作であってもよい。換言すれば、第4移動操作は、待機時間が閾値秒未満の、第3移動操作と反対方向の移動操作であってもよい。
【0098】
(移動操作判別処理)
図11を参照して、移動操作判別処理の詳細について説明する。図11に示すフローの前提として、タッチパネル241は移動操作を受け付ける。換言すれば、タッチパネル241は、指1230が接触している位置の移動(位置座標の変更)を検出する。また、ディスプレイ242には、全天球映像およびUI1221が表示されているものとする。ステップS1101において、プロセッサ210は、操作判別モジュール812として、移動操作について、待機時間が第1時間、すなわち閾値秒以上であったか否かを判定する。
【0099】
待機時間が第1時間以上であったと判定した場合(ステップS1101でYES)、ステップS1102において、プロセッサ210は、操作判別モジュール812として、タッチパネル241が受け付けた移動操作を第1移動操作と判別する。
【0100】
一方、待機時間が第1時間未満であったと判定した場合(ステップS1101でNO)、ステップS1103において、プロセッサ210は、操作判別モジュール812として、移動操作の移動方向が第1方向であるか、または第2方向であるかを判定する。一例として、プロセッサ210は、移動方向が左右方向のいずれかであるか、または、上方向であるかを判定する。
【0101】
移動方向が第1方向、例えば、左右方向のいずれかであると判定した場合(ステップS1103のA)、ステップS1104において、プロセッサ210は、操作判別モジュール812として、タッチパネル241が受け付けた移動操作を第2移動操作と判別する。一方、移動方向が第2方向、例えば、上方向であると判定した場合(ステップS1103のB)、ステップS1105において、プロセッサ210は、操作判別モジュール812として、タッチパネル241が受け付けた移動操作を第3移動操作と判別する。
【0102】
なお、移動方向が第1方向および第2方向の何れでもないと判定した場合、例えば、UI1221が表示された状態での、下方向の移動操作であると判定した場合、プロセッサ210は、タッチパネル241が受け付けた移動操作を無効な移動操作と判定し、いずれの処理も実行しない。
【0103】
[作用効果]
以上のように、スマートフォン160のプロセッサ210は、初期操作を含む移動操作である第1移動操作に応じて、表示領域の変更処理を実行する。また、初期操作を含まない移動操作である第2移動操作に応じて、全天球映像の切り換え処理を実行する。このように、移動操作について、初期操作の有無に応じて異なる処理を対応付けることにより、移動操作という簡易な操作で、スマートフォン160に異なる2つの処理を実行させることができる。結果として、映像の閲覧に関する操作の操作性が向上する。
【0104】
スマートフォンなどに表示された全天球映像において、移動操作で表示領域を変更することは一般的に行われている。一方で、閲覧する動画を切り換えることを移動操作によって実現することも行われている。このため、複数の全天球映像を閲覧可能な場合においては、表示領域の変更のための操作と、全天球映像の切り換えのための操作とが移動操作として重複してしまう。一方の処理のための操作を移動操作と異なる操作とすることも考えられるが、いずれの処理も移動操作で行われることが一般的であるため、このような変更はユーザが戸惑うおそれがある。
【0105】
そこで、本実施の形態のスマートフォン160は、上述したように、移動操作における初期操作の有無で、2つの移動操作を別の操作であると判別する。そして、初期操作を含む移動操作により表示領域の変更処理を実行し、初期操作を含まない移動操作により全天球映像の切り換え処理を実行する。これにより、表示領域の変更処理と、動画の切り替え処理とを、いずれも移動操作で行うことができる。よって、ユーザは直感的な(慣れ親しんだ)操作を入力することで、いずれの処理についてもスマートフォン160に実行させることができる。
【0106】
また、ユーザは、スマートフォン160に、全天球映像を再生したまま、表示領域の変更処理も全天球映像の切り換え処理も実行させることができる。よって、映像の閲覧に関する操作について、操作性の良いアプリケーションを実現することができる。
【0107】
また、スマートフォン160のプロセッサ210は、初期操作を含まない移動操作について、第1方向の移動操作を第2移動操作と判別し、第2方向の移動操作を第3移動操作と判別する。そして、プロセッサ210は、第3移動操作に基づいて、UI1221を非表示とする。このように、移動操作について、初期操作の有無と方向とに応じて異なる処理を対応付けることにより、移動操作という簡易な操作で、スマートフォン160に様々な処理を実行させることができる。結果として、映像の閲覧に関する操作の操作性がさらに向上する。
【0108】
[変形例]
プロセッサ210は、動画制御モジュール811として、アプリケーションを起動した直後に、第1全天球映像の受信を自動的に開始し、第1全天球映像を再生してもよい。換言すれば、プロセッサ210は、閲覧可能な複数の全天球映像のうちの1つを自動的に選択し、再生してもよい。この場合、第1全天球映像の再生操作は、アプリケーションを起動するための操作に相当する。
【0109】
プロセッサ210が、第3移動操作に基づき実行する処理は、UIの消去に限定されない。例えば、プロセッサ210は、第3移動操作に基づき、ユーザが閲覧可能な複数の全天球映像それぞれを示す複数のUI(サムネイル画像)を表示してもよい。プロセッサ210は、一例として、該複数のUIの何れかへのタップ操作を受け付けた場合、タップ操作を受け付けたUIが示す全天球映像を再生してもよい。つまり、この例において、ユーザは第3移動操作をスマートフォン160Aに入力することにより、第1全天球映像の再生を停止し、別の全天球映像を再生することができる。この例は、特に、ユーザが視聴したい全天球映像の視聴のために、複数回の第2移動操作を必要とする場合に有効である。
【0110】
移動操作の判別処理は、図11の例に限定されない。一例として、プロセッサ210は、ステップS1101の処理に代えて、指1230がタッチスクリーン240上を移動した場合において、第1時間、すなわち閾値秒が経過するまでに移動したか否かを判定してもよい。換言すれば、プロセッサ210は、待機時間が所定の閾値以上であったか否かではなく、所定の時間が経過するまでに指1230が移動したか否かを判定することにより、移動操作を判別してもよい。
【0111】
この例の場合、第1時間が経過するまでに移動していないと判定した場合、プロセッサ210は、タッチパネル241が受け付けた移動操作を第1移動操作と判別する。一方、第1時間が経過するまでに移動したと判定した場合、プロセッサ210は、移動操作が第2移動操作であるか、または第3移動操作であるか判別するために、ステップS1103の判定処理を実行する。
【0112】
第3移動操作によりUI1221を非表示とした状態で第2移動操作を受け付けた場合、プロセッサ210は、別の全天球映像を再生するとともに、UI1221を表示させてもよい。あるいは、プロセッサ210は、別の全天球映像を再生するとともに、UI1221を非表示のままとしてもよい。
【0113】
第2移動操作により、再生していた全天球映像を別の全天球映像に切り換えた場合、切り換え後の全天球映像はユーザの所定の操作を受け付けるまで再生しない構成としてもよい。
【0114】
ユーザが閲覧する動画は、全天球映像に限定されない。例えば、ユーザが閲覧する動画は、平面映像、換言すれば、ディスプレイ242にそのすべてが表示される映像であってもよい。この場合、表示領域の変更処理は発生しないため、第1移動操作には、表示領域の変更処理とは異なる処理が対応付けられればよい。一例として、プロセッサ210は、第1移動操作と判別した場合、ユーザが閲覧可能な複数の全天球映像それぞれを示す複数のUI(サムネイル画像)を表示してもよい。
【0115】
スマートフォン160は、一例として、第1移動操作により全天球映像の切り換え処理を実行し、第2移動操作により表示領域の変更処理を実行してもよい。別の例では、第2移動操作によりUI1221を非表示とし、第3移動操作により全天球映像の切り換え処理を実行してもよい。
【0116】
ユーザが動画を閲覧するために使用する端末装置は、タッチパネルを搭載した端末装置であればよく、スマートフォン160に限定されない。例えば、ユーザが動画を閲覧するために使用する端末装置は、タブレット端末、タッチパネルを搭載したゲーム機(ゲーム端末)などであってもよい。
【0117】
以上、本開示の実施形態について説明したが、本発明の技術的範囲は、本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は、特許請求の範囲に記載された発明の範囲およびその均等の範囲に基づいて定められるべきである。
【0118】
〔付記事項〕
本発明の一側面に係る内容を列記すると以下の通りである。
【0119】
(項目1) プログラムを説明した。本開示のある局面によると、プログラムは、プロセッサ(210)、メモリ(220)、およびタッチスクリーン(240)を備えたコンピュータ(スマートフォン160)によって実行される。プログラムは、プロセッサに、ユーザに映像(全天球映像910)を閲覧させるステップ(S1003)と、タッチスクリーンに対して、初期操作を含む移動操作である第1操作が行われた場合、映像に関する第1処理を実行するステップ(S1005)と、タッチスクリーンに対して、初期操作を含まない移動操作である第2操作が行われた場合、第1処理と異なる、映像に関する第2処理を実行するステップ(S1008)と、を実行させる。
【0120】
(項目2) (項目1)において、閲覧させるステップでは、閲覧可能な複数の全天球映像のうちの第1全天球映像について、該第1全天球映像の一部の領域をタッチスクリーンに表示させる。第1処理を実行するステップでは、第1処理として、第1全天球映像における、タッチスクリーンに表示させる領域を変更する処理を実行する。第2処理を実行するステップでは、第2処理として、第1全天球映像を、複数の全天球映像のうちの第2全天球映像に変更する処理を実行する。
【0121】
(項目3) (項目1)または(項目2)において、第2操作は、第1方向(1240)の移動操作である。プログラムは、プロセッサに、タッチスクリーンに対して、初期操作を含まない、第1方向と異なる第2方向(1440)の移動操作である第3操作が行われた場合、第1処理および第2処理と異なる、映像に関する第3処理を実行するステップ(S1010)をさらに実行させる。
【0122】
(項目4) (項目3)において、閲覧させるステップでは、映像とともに、ユーザの操作を受け付けるユーザインターフェース部品(UI1221)をタッチスクリーンに表示させる。第3処理を実行するステップでは、第3処理として、ユーザインターフェース部品を非表示とする。
【0123】
(項目5) (項目1)から(項目4)において、初期操作は、タッチスクリーンへ指示体(指1230)を接触させた後、接触を維持したまま、第1時間移動させない操作である。
【0124】
(項目6) (項目5)において、プログラムは、プロセッサに、タッチスクリーンへの指示体のタッチの開始から、該指示体の移動の開始までの待機時間が、第1時間以上であるか否かを判定するステップ(S1101)をさらに実行させる。第1処理を実行するステップでは、判定するステップにおいて待機時間が第1時間以上であると判定された場合、第1処理を実行する。第2処理を実行するステップでは、判定するステップにおいて待機時間が第1時間未満であると判定された場合、第2処理を実行する。
【0125】
(項目7) (項目5)において、プログラムは、プロセッサに、指示体がタッチスクリーン上を移動した場合において、タッチスクリーンへの指示体のタッチの開始から第1時間が経過するまでに指示体が移動したか否かを判定するステップをさらに実行させる。第1処理を実行するステップでは、判定するステップにおいて指示体が移動していないと判定された場合、第1処理を実行する。第2処理を実行するステップでは、判定するステップにおいて指示体が移動したと判定された場合、第2処理を実行する。
【0126】
(項目8) 情報処理装置を説明した。本開示のある局面によると、情報処理装置(スマートフォン160)は、情報処理装置によって実行されるプログラムを記憶する記憶部(メモリ220)と、プログラムを実行することにより、情報処理装置の動作を制御する制御部(プロセッサ210)と、タッチスクリーン(240)と、を備える。制御部は、ユーザに映像(全天球映像910)を閲覧させ、タッチスクリーンに対して、初期操作を含む移動操作である第1操作が行われた場合、映像に関する第1処理を実行し、タッチスクリーンに対して、初期操作を含まない移動操作である第2操作が行われた場合、第1処理と異なる、映像に関する第2処理を実行する。
【0127】
(項目9) プログラムを実行する方法を説明した。本開示のある局面によると、プログラムは、プロセッサ(210)、メモリ(220)、およびタッチスクリーン(240)を備えたコンピュータ(スマートフォン160)によって実行される。方法は、プロセッサが、ユーザに映像(全天球映像910)を閲覧させるステップ(S1003)と、タッチスクリーンに対して、初期操作を含む移動操作である第1操作が行われた場合、映像に関する第1処理を実行するステップ(S1005)と、タッチスクリーンに対して、初期操作を含まない移動操作である第2操作が行われた場合、第1処理と異なる、映像に関する第2処理を実行するステップ(S1008)と、を含む。
【符号の説明】
【0128】
2 ネットワーク、100 動画配信システム、110,110A,110B,110C,110D 動画撮影システム、120 全天球カメラ、121 第1撮像部、122 第2撮像部、130 全天球映像生成装置、140 表示装置、150 被写体、160,160A,160B,160C,160D スマートフォン(コンピュータ、情報処理装置)、170 サーバ、210,411,611 プロセッサ(制御部)、220,412,612 メモリ(記憶部)、230,413,613 ストレージ、240 タッチスクリーン、241 タッチパネル、242 ディスプレイ、250,415,615 通信インターフェイス、260,416,616 バス、311,312 視野、414 入出力インターフェイス、710 コントロールモジュール、720 メモリモジュール、730 通信制御モジュール、811 動画制御モジュール、812 操作判別モジュール、813 動画切換モジュール、814 UI制御モジュール、910 全天球映像、911 中心、912 基準点、913基準線、914,1214A,1214B,1314 表示領域、1221,1221A,1221B,1221C UI、1230 指(指示体)、1240 第1方向、1440 第2方向
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14