(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-13
(45)【発行日】2022-01-13
(54)【発明の名称】仮想場面に関連付けられた映像再生およびデータの提供
(51)【国際特許分類】
H04N 21/434 20110101AFI20220105BHJP
H04N 21/2362 20110101ALI20220105BHJP
H04N 5/765 20060101ALI20220105BHJP
H04N 5/92 20060101ALI20220105BHJP
【FI】
H04N21/434
H04N21/2362
H04N5/765
H04N5/92 010
(21)【出願番号】P 2019562566
(86)(22)【出願日】2018-01-05
(86)【国際出願番号】 CN2018071556
(87)【国際公開番号】W WO2018205663
(87)【国際公開日】2018-11-15
【審査請求日】2020-11-04
(31)【優先権主張番号】201710321559.8
(32)【優先日】2017-05-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】519397530
【氏名又は名称】ヨウク インフォメーション テクノロジー (ベイジン) カンパニー リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ウ、ユーシン
(72)【発明者】
【氏名】シェン、シャオジエ
(72)【発明者】
【氏名】ドゥ、ウピン
(72)【発明者】
【氏名】リ、ウェイ
(72)【発明者】
【氏名】ワン、ジ
【審査官】鈴木 隆夫
(56)【参考文献】
【文献】特開2001-008232(JP,A)
【文献】特開2003-208635(JP,A)
【文献】特許第6025280(JP,B1)
【文献】特表2017-535985(JP,A)
【文献】特開2009-181587(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/434
H04N 21/2362
H04N 5/765
H04N 5/92
(57)【特許請求の範囲】
【請求項1】
仮想場面における映像再生方法であって、
サーバから送信された現在の映像セグメントデータを受信する段階であって、前記現在の映像セグメントデータは映像セグメントを表し、前記現在の映像セグメントデータは少なくとも1つの指定視野角、および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、段階と、
前記現在の映像セグメントデータにより表される前記映像セグメントを再生し、再生中にユーザの現在の視野角を取得する段階と、
前記少なくとも1つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定する段階であって、前記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生される、段階と
を備える、映像再生方法。
【請求項2】
前記現在の映像セグメントデータはヘッダデータフィールドおよび本体データフィールドを含み、前記少なくとも1つの指定視野角、および前記指定視野角が対象とする前記映像セグメントデータを表す前記データ識別子が前記ヘッダデータフィールドに格納される、請求項1に記載の映像再生方法。
【請求項3】
前記少なくとも1つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定する前記段階の後に、前記映像再生方法はさらに、
前記目標指定視野角が対象とする前記映像セグメントデータを示すデータ識別子を前記サーバに送信し、前記目標指定視野角が対象とする前記映像セグメントデータを前記サーバから取得する段階を備える、請求項1または2に記載の映像再生方法。
【請求項4】
サーバから送信された現在の映像セグメントデータを受信する前記段階の後に、前記映像再生方法はさらに、
前記現在の映像セグメントデータに含まれる個々の映像セグメントデータのデータ識別子が対象とする映像セグメントデータを前記サーバから取得する段階を備え、
それに応じて、前記少なくとも1つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定する前記段階の後に、前記映像再生方法はさらに、
取得した前記個々の映像セグメントデータから、前記目標指定視野角が対象とする目標映像セグメントデータを決定し、前記目標映像セグメントデータにより表される映像セグメントを、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生する段階を備える、請求項1から3のいずれか一項に記載の映像再生方法。
【請求項5】
前記サーバの映像セグメントデータはそれぞれ、さらに方向情報を含み、それに応じて、サーバから送信された現在の映像セグメントデータを受信する前記段階の後に、前記映像再生方法はさらに、
前記現在の映像セグメントデータに含まれる個々のデータ識別子から、前記現在の映像セグメントデータの方向情報と一致する方向情報を有する映像セグメントデータのデータ識別子を決定し、決定された前記データ識別子が対象とする前記映像セグメントデータを前記サーバから取得する段階を備える、請求項1から4のいずれか一項に記載の映像再生方法。
【請求項6】
各指定視野角は視野角範囲に対応し、
それに応じて、前記少なくとも1つの指定視野角から前記現在の視野角に合致する目標指定視野角を決定する前記段階は、
前記現在の視野角の視野角範囲を決定し、決定された前記視野角範囲に対応する指定視野角を前記目標指定視野角として使用する段階を含む、請求項1から5のいずれか一項に記載の映像再生方法。
【請求項7】
前記現在の視野角に合致する前記目標指定視野角が、前記少なくとも1つの指定視野角に存在しない場合、前記映像再生方法はさらに、
前記現在の映像セグメントデータにより表される前記映像セグメントのフレームを、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に表示する段階を備える、請求項1から6のいずれか一項に記載の映像再生方法。
【請求項8】
前記仮想場面は少なくとも1つの経路を含み、前記経路はそれぞれ、前記経路の指定方向において撮られたパノラマ映像に関連付けられ、前記パノラマ映像は、指定時間間隔で少なくとも1つの映像セグメントに分割される、請求項1から7のいずれか一項に記載の映像再生方法。
【請求項9】
前記映像再生方法はさらに
前記パノラマ映像を分割することにより取得された映像セグメントに従って、前記映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階を備え、前記逆方向映像セグメントの再生順序は、対応する前記映像セグメントの再生順序の逆である、請求項8に記載の映像再生方法。
【請求項10】
クライアントであって、
前記クライアントは、ネットワーク通信ポート、ディスプレイ、およびプロセッサを備え、
前記ネットワーク通信ポートは、サーバから送信された現在の映像セグメントデータを受信するように構成され、
前記ディスプレイは、映像セグメントを再生するように構成され、
前記プロセッサは、
前記ネットワーク通信ポートを介して、前記サーバから送信された前記現在の映像セグメントデータを受信することであって、前記現在の映像セグメントデータは映像セグメントを表し、前記現在の映像セグメントデータは少なくとも1つの指定視野角および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、受信することと、
前記現在の映像セグメントデータにより表される前記映像セグメントを、前記ディスプレイを介して再生し、再生中にユーザの現在の視野角を取得することと、
前記少なくとも1つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定することであって、前記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生される、決定することと
を行うように構成される、クライアント。
【請求項11】
仮想場面におけるデータ提供方法であって、
映像セグメントデータセットが提供され、前記映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、前記映像セグメントデータは映像セグメントを表し、各映像セグメントデータは少なくとも1つの指定視野角および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、
前記データ提供方法は、
クライアントから送信された映像セグメントデータロードリクエストを受信する段階であって、前記映像セグメントデータロードリクエストは前記仮想場面においてユーザの現在位置を表すために使用される、受信する段階と、
前記ユーザの前記現在位置に対応する現在の映像セグメントデータを前記クライアントにフィードバックして、前記クライアントが前記現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中に前記ユーザの現在の視野角を取得する段階と、
前記クライアントから送信された目標映像セグメントデータのデータ識別子を受信する段階であって、前記目標映像セグメントデータを対象とする目標指定視野角が前記現在の視野角と合致する、受信する段階と
を備える、データ提供方法。
【請求項12】
前記映像セグメントデータセットの映像セグメントデータはそれぞれ、ヘッダデータフィールドおよび本体データフィールドを含み、前記少なくとも1つの指定視野角、および前記指定視野角が対象とする前記映像セグメントデータを表す前記データ識別子が前記ヘッダデータフィールドに格納される、請求項11に記載のデータ提供方法。
【請求項13】
各指定視野角は視野角範囲に対応し、
それに応じて、前記現在の視野角に合致する前記目標映像セグメントデータを対象とする前記目標指定視野角は、
前記目標指定視野角の視野角範囲内にある前記現在の視野角を含む、請求項11または12に記載のデータ提供方法。
【請求項14】
前記仮想場面は少なくとも1つの経路を含み、前記経路はそれぞれ、前記経路の指定方向において撮られたパノラマ映像に関連付けられ、前記パノラマ映像は、指定時間間隔で少なくとも1つの映像セグメントに分割される、請求項11から13のいずれか一項に記載のデータ提供方法。
【請求項15】
前記データ提供方法はさらに、
前記パノラマ映像を分割することにより取得された映像セグメントに従って、前記映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階であって、前記逆方向映像セグメントの再生順序は、対応する前記映像セグメントの再生順序の逆である、生成する段階を備える、請求項14に記載のデータ提供方法。
【請求項16】
サーバであって、前記サーバは、ネットワーク通信ポート、メモリ、およびプロセッサを備え、
前記ネットワーク通信ポートは、クライアントとネットワークデータ通信を行うように構成され、
前記メモリは映像セグメントデータセットを格納するように構成され、前記映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、前記映像セグメントデータは映像セグメントを表し、映像セグメントデータはそれぞれ、少なくとも1つの指定視野角、および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、
前記プロセッサは、
前記ネットワーク通信ポートを介して、前記クライアントから送信された映像セグメントデータロードリクエストを受信することであって、前記映像セグメントデータロードリクエストは仮想場面においてユーザの現在位置を表すために使用される、受信することと、
前記ユーザの前記現在位置に対応する現在の映像セグメントデータを前記クライアントにフィードバックするように前記ネットワーク通信ポートを制御して、前記クライアントが前記現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中に前記ユーザの現在の視野角を取得することと、
前記クライアントから送信された目標映像セグメントデータのデータ識別子を、前記ネットワーク通信ポートを介して受信することであって、前記目標映像セグメントデータを対象とする目標指定視野角が前記現在の視野角と合致する、受信することと
を行うように構成される、サーバ。
【請求項17】
仮想場面における映像再生方法であって、
映像セグメントデータセットが提供され、前記映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、前記映像セグメントデータは映像セグメントを表し、各映像セグメントデータは少なくとも1つの指定視野角、および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、
前記映像再生方法は、
前記映像セグメントデータセットから、前記仮想場面においてユーザの現在位置に対応する現在の映像セグメントデータを決定する段階と、
前記現在の映像セグメントデータにより表される映像セグメントを再生し、再生中に前記ユーザの現在の視野角を取得する段階と、
前記現在の映像セグメントデータの少なくとも1つの指定視野角から、前記現在の視野角に合致する目標指定視野角を決定する段階であって、前記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生される、決定する段階と
を備える、映像再生方法。
【請求項18】
前記映像セグメントデータセットの映像セグメントデータはそれぞれ、ヘッダデータフィールドおよび本体データフィールドを含み、前記少なくとも1つの指定視野角、および前記指定視野角が対象とする前記映像セグメントデータを表す前記データ識別子が前記ヘッダデータフィールドに格納される、請求項17に記載の映像再生方法。
【請求項19】
前記現在の映像セグメントデータの少なくとも1つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定する前記段階の後に、
前記映像再生方法はさらに、
前記目標指定視野角が対象とする前記映像セグメントデータのデータ識別子に従って、前記映像セグメントデータセットから前記データ識別子に対応する目標映像セグメントデータを決定し、前記目標映像セグメントデータにより表される映像セグメントを、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生する段階を備える、請求項17または18に記載の映像再生方法。
【請求項20】
各指定視野角は視野角範囲に対応し、
それに応じて、前記現在の映像セグメントデータの少なくとも1つの指定視野角から前記現在の視野角に合致する目標指定視野角を決定する前記段階は、
前記現在の視野角の視野角範囲を決定し、決定された前記視野角範囲に対応する指定視野角を前記目標指定視野角として使用する段階を含む、請求項17から19のいずれか一項に記載の映像再生方法。
【請求項21】
前記現在の視野角に合致する前記目標指定視野角が、前記現在の映像セグメントデータの前記少なくとも1つの指定視野角に存在しない場合、前記映像再生方法はさらに
前記現在の映像セグメントデータにより表される前記映像セグメントのフレームを、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に表示する段階を備える、請求項17から20のいずれか一項に記載の映像再生方法。
【請求項22】
前記仮想場面は少なくとも1つの経路を含み、前記経路はそれぞれ、前記経路の指定方向において撮られたパノラマ映像に関連付けられ、前記パノラマ映像は、指定時間間隔で少なくとも1つの映像セグメントに分割される、請求項17から21のいずれか一項に記載の映像再生方法。
【請求項23】
前記映像再生方法はさらに、
前記パノラマ映像を分割することにより取得された映像セグメントに従って、前記映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階であって、前記逆方向映像セグメントの再生順序は、対応する前記映像セグメントの再生順序の逆である、生成する段階を備える、請求項22に記載の映像再生方法。
【請求項24】
クライアントであって、前記クライアントは、メモリ、ディスプレイ、およびプロセッサを備え、
前記メモリは映像セグメントデータセットを格納するように構成され、前記映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、前記映像セグメントデータは映像セグメントを表し、映像セグメントデータはそれぞれ、少なくとも1つの指定視野角、および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、
前記ディスプレイは映像セグメントを表示するように構成され、
前記プロセッサは、
前記メモリの前記映像セグメントデータセットから仮想場面におけるユーザの現在位置に対応する現在の映像セグメントデータを決定することと、
前記ディスプレイを介して、前記現在の映像セグメントデータにより表される映像セグメントを再生し、再生中に前記ユーザの現在の視野角を取得することと、
前記現在の映像セグメントデータの少なくとも1つの指定視野角から、前記現在の視野角と合致する目標指定視野角を決定することであって、前記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生される、決定することと
を行うように構成される、クライアント。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2017年5月9日に出願された中国特許出願番号201710321559.8号、発明の名称「仮想場面における映像再生およびデータ提供方法、クライアントおよびサーバ」に基づく優先権を主張する、2018年1月5日に出願された国際出願番号PCT/CN2018/071556、発明の名称「仮想場面における映像再生およびデータ提供方法、クライアントおよびサーバ」の国内移行段階であり、その中国特許出願および国際出願の全内容は本出願において援用される。
【0002】
本開示はインターネット技術分野に関し、特に映像再生方法およびデータ提供方法、および仮想場面を提供するための装置に関する。
【背景技術】
【0003】
仮想現実(VR)技術の継続的な進歩により、没入型映像体験が注目を集めている。近年、没入型映像体験を作り出すために、現実場面の情報(例えば、3次元座標、反射率、測定物体表面の多数の高密度ドットのテクスチャ)は、通常、レーザー測距の原則に基づいた3次元レーザー走査法を使用して取得することができる。このように、現実場面に沿った仮想場面は、走査により取得された情報を介してレンダリング可能である。ユーザは、仮想場面を歩きながら見て回り、没入型映像体験を楽しむことができる。例えば、スーパーマーケットやモールなどの現実場面を基に仮想場面を作り出すことができるため、ユーザは、家から出ることなく仮想場面のスーパーマーケットやモールでショッピング活動に参加することができる。
【0004】
しかし、上記技術により没入型体験を作り出すことは、コストが高く、多くのコンピューティング資源を消費する。3次元レーザー走査法は、通常、高額な3次元レーザースキャナを必要とし、走査時に大量の情報が取得される(そして処理される)。
【0005】
現在、製造コストを削減する方法として、空間インデックス立体パノラマ映像を使用することで没入型映像体験を作り出すことができる。具体的には、空間インデックス立体パノラマ映像を処理システムに入力することができ、3次元グラフィックスカードによりサポートされる圧縮方法を使用してパノラマ映像データを圧縮し、描画速度を向上することができる。この技術により、仮想場面を構築する際に必要なデータ量を削減し、仮想場面のレンダリング速度が向上する。そして、ユーザは外部機器(例えば、ゲームパッド、マウス、キーボード等)を使用して、容易かつフレキシブルにシステムと対話し、当該システムにより作り出された仮想場面において没入型の体験ができる。
【0006】
しかし、上記の方法により空間インデックス立体パノラマ映像を使用すると、仮想場面でユーザが移動した際に、外部機器により前後移動や回転移動のなどの操作を制御する必要がある。このインタラクション方法は、ユーザフレンドリーではなく、真の没入型体験を提供していない。
【発明の概要】
【0007】
本開示の実施形態は、仮想場面における映像再生およびデータを提供し、ユーザが外部機器の使用を避けて仮想場面を移動することを可能にし、これにより真の没入型体験を実現する。
【0008】
上記の目的を達成するため、本開示の実施形態は、仮想場面における映像再生方法であって、本方法は、サーバから送信された現在の映像セグメントデータを受信する段階であって、上記現在の映像セグメントデータは映像セグメントを表し、上記現在の映像セグメントデータは少なくとも1つの指定視野角、および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、段階と、上記現在の映像セグメントデータにより表される上記映像セグメントを再生し、再生中にユーザの現在の視野角を取得する段階と、上記少なくとも1つの指定視野角から上記現在の視野角と合致する目標指定視野角を決定する段階であって、上記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、上記現在の映像セグメントデータにより表される上記映像セグメントの上記再生の最後に再生される、段階とを備える、映像再生方法を提供する。
【0009】
上記の目的を達成するため、本開示の実施形態はさらにクライアントを提供し、上記クライアントは、ネットワーク通信ポート、ディスプレイ、およびプロセッサを備え、上記ネットワーク通信ポートは、サーバから送信された現在の映像セグメントデータを受信するように構成され、上記ディスプレイは、映像セグメントを再生するように構成され、上記プロセッサは、上記ネットワーク通信ポートを介して、上記サーバから送信された上記現在の映像セグメントデータを受信することであって、上記現在の映像セグメントデータは映像セグメントを表し、上記現在の映像セグメントデータは少なくとも1つの指定視野角および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、受信することと、上記現在の映像セグメントデータにより表される上記映像セグメントを、上記ディスプレイを介して再生し、再生中にユーザの現在の視野角を取得することと、上記少なくとも1つの指定視野角から上記現在の視野角と合致する目標指定視野角を決定することであって、上記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、上記現在の映像セグメントデータにより表される上記映像セグメントの上記再生の最後に再生される、決定することとを行うように構成される。
【0010】
上記の目的を達成するため、本開示の実施形態はさらに、仮想場面におけるデータ提供方法を提供し、映像セグメントデータセットが提供され、上記映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、上記映像セグメントデータは映像セグメントを表し、各映像セグメントデータは少なくとも1つの指定視野角および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、上記方法は、クライアントから送信された映像セグメントデータロードリクエストを受信する段階であって、上記映像セグメントデータロードリクエストは上記仮想場面においてユーザの現在位置を表すために使用される、受信する段階と、上記ユーザの上記現在位置に対応する現在の映像セグメントデータを上記クライアントにフィードバックして、上記クライアントが上記現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中に上記ユーザの現在の視野角を取得する段階と、上記クライアントから送信された目標映像セグメントデータのデータ識別子を受信する段階であって、上記目標映像セグメントデータを対象とする目標指定視野角が上記現在の視野角と合致する、受信する段階とを備える。
【0011】
上記の目的を達成するため、本開示の実施形態はさらにサーバを提供し、上記サーバは、ネットワーク通信ポート、メモリ、およびプロセッサを備え、上記ネットワーク通信ポートは、クライアントとネットワークデータ通信を行うように構成され、上記メモリは映像セグメントデータセットを格納するように構成され、上記映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、上記映像セグメントデータは映像セグメントを表し、映像セグメントデータはそれぞれ、少なくとも1つの指定視野角、および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、上記プロセッサは、上記ネットワーク通信ポートを介して、上記クライアントから送信された映像セグメントデータロードリクエストを受信することであって、上記映像セグメントデータロードリクエストは仮想場面においてユーザの現在位置を表すために使用される、受信することと、上記ユーザの上記現在位置に対応する現在の映像セグメントデータを上記クライアントにフィードバックするように上記ネットワーク通信ポートを制御して、上記クライアントが上記現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中に上記ユーザの現在の視野角を取得することと、上記クライアントから送信された目標映像セグメントデータのデータ識別子を、上記ネットワーク通信ポートを介して受信することであって、上記目標映像セグメントデータを対象とする目標指定視野角が上記現在の視野角と合致する、受信することとを行うように構成される。
【0012】
上記の目的を達成するため、本開示の実施形態はさらに、仮想場面における映像再生方法を提供し、映像セグメントデータセットが提供され、上記映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、上記映像セグメントデータは映像セグメントを表し、各映像セグメントデータは少なくとも1つの指定視野角、および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、上記方法は、上記映像セグメントデータセットから、上記仮想場面においてユーザの現在位置に対応する現在の映像セグメントデータを決定する段階と、上記現在の映像セグメントデータにより表される映像セグメントを再生し、再生中に上記ユーザの現在の視野角を取得する段階と、上記現在の映像セグメントデータの少なくとも1つの指定視野角から、上記現在の視野角に合致する目標指定視野角を決定する段階であって、上記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、上記現在の映像セグメントデータにより表される上記映像セグメントの上記再生の最後に再生される、決定する段階とを備える。
【0013】
上記の目的を達成するため、本開示の実施形態はさらにクライアントを提供し、上記クライアントは、メモリ、ディスプレイ、およびプロセッサを備え、上記メモリは映像セグメントデータセットを格納するように構成され、上記映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、上記映像セグメントデータは映像セグメントを表し、映像セグメントデータはそれぞれ、少なくとも1つの指定視野角、および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、上記ディスプレイは映像セグメントを表示するように構成され、上記プロセッサは、上記メモリの上記映像セグメントデータセットから仮想場面におけるユーザの現在位置に対応する現在の映像セグメントデータを決定することと、上記ディスプレイを介して、上記現在の映像セグメントデータにより表される映像セグメントを再生し、再生中に上記ユーザの現在の視野角を取得することと、上記現在の映像セグメントデータの少なくとも1つの指定視野角から、上記現在の視野角と合致する目標指定視野角を決定することであって、上記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、上記現在の映像セグメントデータにより表される上記映像セグメントの上記再生の最後に再生される、決定することとを行うように構成される。
【0014】
上記を考慮して、本開示の実施形態はユーザに対して継続的に映像セグメントを再生することができ、これによりユーザは仮想場面でオブジェクトを閲覧することができる。具体的には、現在の映像セグメントデータがユーザに対して再生されているとき、ユーザの現在の視野角が決定可能であり、次に再生される映像セグメントがユーザの現在の視野角に従って決定可能である。このように、現在の映像セグメントの再生が完了すると、次の映像セグメントが再生可能となる。ユーザの視野角が変化するにつれて、ユーザの前に提示される映像コンテンツも変化してよい。このように、ユーザは、視野角を介して、前進、後進、停止などの動作を行うことができ、外部機器の使用を避けて真の没入型の体験をすることができる。
【図面の簡単な説明】
【0015】
本開示の実施形態における技術的解決方法を説明するために、本実施形態の説明に使用される図面について以下簡潔に説明する。以下の記載において、図面は本実施形態の一部を示すに過ぎない。当業者は、本図面を基に過度の負担なく他の図面についても取得することができる。
【0016】
【
図1】本開示のいくつかの実施形態に係るサーバとクライアントと間のインタラクションを示すインタラクション図である。
【0017】
【
図2】本開示のいくつかの実施形態に係る現実場面を示す図である。
【0018】
【
図3】本開示のいくつかの実施形態に係る映像セグメントを示す図である。
【0019】
【
図4】本開示のいくつかの実施形態に係るトランスポートストリーム(TS)形式のデータを示す図である。
【0020】
【
図5】本開示のいくつかの実施形態に係る順方向映像セグメントおよび逆方向映像セグメントを示す図である。
【0021】
【
図6】本開示のいくつかの実施形態に係るクライアントのブロック図である。
【0022】
【
図7】、本開示のいくつかの実施形態に係るサーバのブロック図である。
【0023】
【
図8】本開示のいくつかの実施形態に係るクライアントにより実行される映像再生方法のフローチャートである。
【0024】
【
図9】本開示のいくつかの実施形態に係るクライアントを示すブロック図である。
【発明を実施するための形態】
【0025】
本開示の技術的解決方法について当業者の理解を助けるために、本開示の実施形態の技術的解決方法について、以下図面を参照しつつ明確かつ十分に説明する。下記の実施形態は、実施形態のすべてではなく一部に過ぎない。本開示の実施形態に基づき、当業者が創意工夫を要することなく取得する他のすべての実施形態も本開示の範囲内とする。
【0026】
本開示の実施形態は、仮想場面における映像再生方法およびデータ提供方法を提供する。映像再生方法はクライアントに適用することができ、データ提供方法はサーバに適用することができる。サーバは、パノラマ映像データを格納することができるデバイスであってよい。具体的には、サーバは映像サービスを提供することができるウェブサイトのバックグラウンド処理サーバであってよい。現在のウェブサイトの例には、iQIYI、Sohu Video、またはAcfunが含まれるが、これらに限定されない。1つの実施形態において、サーバは、データ演算機能および記憶機能、ならびにネットワークインタラクション機能を有する電子機器であってよい。代替的に、または前述と組み合わせて、サーバは、電子機器で動作し、データ処理、記憶、およびネットワークインタラクションをサポートするソフトウェアを備えてよい。本開示において、サーバの数は特に限定されない。1つまたは複数のサーバが存在してもよい。あるいは複数のサーバによりサーバクラスタが形成されてもよい。
【0027】
1つの実施形態において、クライアントはパノラマ映像データをレンダリングし、ユーザの視野角を取得可能な電子機器であってよい。クライアントは、例えば、ユーザ視野角の取得機能を有するデスクトップ型コンピュータ、タブレット型コンピュータ、ノートブック型コンピュータ、スマートフォン、デジタルアシスタント、スマートウェアラブルデバイス、ショッピングガイド端末、またはテレビなどであってよい。代替方法として、あるいは前述と組み合わせて、クライアントは上記の電子機器で動作できるソフトウェアでもよい。具体的には、クライアントは、映像ウェブサイトプラットフォームにより提供されるアクセスポータルにロード可能な電子機器上のウェブブラウザであってよい。映像ウェブサイトプラットフォームは、例えば、iQIYI、Sohu Video、またはAcfunであってよく、アクセスポータルは、これらのウェブサイトプラットフォームのホームページであってよい。クライアントは、映像ウェブサイトプラットフォームにより提供され、インテリジェント端末で動作するアプリケーションであってもよい。
【0028】
図1は、本開示のいくつかの実施形態に係るサーバとクライアント間のインタラクションを示すインタラクション図である。
【0029】
ステップS1:サーバから送信された現在の映像セグメントデータを受信する。このとき、現在の映像セグメントデータは映像セグメントを表し、現在の映像セグメントデータは少なくとも1つの指定視野角、および指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。
【0030】
1つの実施形態において、現実場面のパノラマ映像が前もって撮られてよく、当該パノラマ映像を基に現実場面に対応する仮想場面が構築されてよい。1つの実施形態において、現実場面は通常、人々が歩く経路を少なくとも1つ含む。人々はその経路を歩きながら経路沿いの光景を見ることができる。1つの実施形態において、パノラマ映像は、現実場面の各経路で取得されてよい。例えば、
図2を参照すると、現実場面は8つの経路(1~8)を含んでもよく、その8つの経路(1~8)のそれぞれに対応するパノラマ映像が、実際の適用において別々に撮られてよい。具体的には、1つの経路は通常2つの歩行方向を含み得るため、人々は、経路に沿って異なる方向に歩くと、異なる順序で光景を見る。これに基づいて、本実施形態では、2方向のパノラマ映像が経路ごとに別々に撮られてよい。このように、各経路は2つの映像に対応可能である。例えば、
図2に示す8とラベルが付いた経路において、左から右の歩行方向でパノラマ映像が撮られてよく、さらに右から左の歩行方向でパノラマ映像が撮られてよい。このように、8の番号が付いた経路は2つのパノラマ映像に対応可能である。
【0031】
1つの実施形態において、各経路に対応するパノラマ映像が撮られた後、各映像は指定時間間隔で少なくとも1つの映像セグメントに分割されてよい。例えば、経路のパノラマ映像は合計25秒であってよく、毎秒25個のフレームを有する。この例において、パノラマ映像が1秒の時間間隔で25個の映像セグメントに分割されてよく、各映像セグメントは25個のフレームを含む。例えば、
図3を参照すると、パノラマ映像は合計n個の映像セグメント(S1、S2、S3…Sn)に分割されてよく、各映像セグメント(S1、S2、S3…Sn)は25個のフレームを含んでよい。このように、S2の番号が付いた映像セグメントはフレーム26からフレーム50を含んでよい。
【0032】
1つの実施形態において、各パノラマ映像が複数の映像セグメントに分割された後、各少なくとも1つの指定視野角が映像セグメントごとに設定されてよい。具体的には、指定視野角はアジマス角およびピッチ角の組み合わせであってよい。1つの実施形態において、指定視野角は仮想場面において進行方向を表してよい。例えば、指定視野角(0、0)が前方右の進行方向を表してよく、指定視野角(π、0)が後方右の進行方向を表してよく、指定視野角(π/4、0)が前方左の進行方向を表してよい。例えば、
図2を参照すると、8の番号が付いた経路において、指定視野角(0、0)が左から右の進行方向を表してよく、指定視野角(π、0)が右から左の進行方向を表してよい。8の番号が付いた経路と5の番号が付いた経路との交差点に進むとき、指定視野角(-3π/8、0)は5の番号が付いた経路へと進路変更する進行方向を表してよい。
【0033】
1つの実施形態において、各映像セグメントに対応する指定視野角は、経路の映像セグメントに示されるコンテンツの位置に従って決定されてよい。例えば、
図2の経路8について、映像セグメントに示されるコンテンツが経路8の開始地点である場合、映像セグメントは通常、前方への歩行を表す1つの指定視野角みに対応してよい。映像セグメントに示されるコンテンツが経路8の中間にある場合、映像セグメントは通常、前方への歩行および後方への歩行についての2つの指定視野角に対応してよい。映像セグメントに示されるコンテンツが経路8の終端にあり、終端が経路5、経路6、および経路7とそれぞれ交差している場合、当該映像セグメントは通常、複数の指定視野角に対応してよい。複数の指定視野角とは、経路5に方向転換する指定視野角、経路6に歩行を進める指定視野角、経路7に方向転換する指定視野角、および後方へと歩行する指定視野角である。
【0034】
1つの実施形態において、ある映像セグメントのために設定される各指定視野角は、別の映像セグメントを別々に対象としてよい。映像セグメントを対象としている指定視野角が、現在の映像セグメントの再生が完了した後、再生される次の映像セグメントが現在の映像セグメントのために設定された指定視野角に従って決定可能であることを表してよい。
【0035】
1つの実施形態において、各映像セグメントは通常、データ形式でサーバに格納され、サーバは映像セグメントデータセットを有することができる。映像セグメントデータセットは、特定のデータ形式としてサーバに格納されてよい。データ形式は、例えば、MySQL、Oracle、DB2、およびSybaseを含むデータベースにより格納されるデータ形式であってよいが、これらに限定されない。映像セグメントデータセットは、個々の映像セグメントデータを含んでよい。このとき、各映像セグメントデータは対応する映像セグメントを表してよい。映像セグメントを表す映像セグメントデータは、対応する映像セグメントが当該映像セグメントデータに従ってレンダリングすることにより取得可能であるということを意味してよい。1つの実施形態において、映像セグメントごとに設定された指定角は、映像セグメントデータにも含まれてよい。このように、各映像セグメントデータは少なくとも1つの指定角を含むことができる。
【0036】
1つの実施形態において、サーバに格納された個々の映像セグメントデータはデータ識別子を有してよい。データ識別子および対応する映像セグメントデータは、キー/バリューのペア形式で格納されてよい。データ識別子はキーであってよく、対応する映像セグメントデータはバリューであってよい。このように、対応する映像セグメントデータはデータ識別子を介して探し出すことができる。これに基づいて、映像セグメントデータは、少なくとも1つの指定視野角を含むだけでなく、指定視野角が対象とする映像セグメントデータを表すデータ識別子を含んでもよい。例えば、1つの映像セグメントデータは2つの指定視野角(0、0)および(π、0)を含む。このとき、指定視野角(0、0)が対象とする映像セグメントデータのデータ識別子がS2であってよく、指定視野角(π、0)が対象とする映像セグメントデータのデータ識別子がS10であってよい。
【0037】
1つの実施形態において、指定視野角および対応するデータ識別子が映像セグメントデータに固定フォーマットで書き込まれてよい。例えば、指定視野角および指定視野角の対応するデータ識別子が映像セグメントデータの指定フィールドに書き込まれてよい。指定視野角およびデータ識別子を書き込む順序は指定フィールドに予め定義されてよい。例えば、対応する指定視野角とデータ識別子のペアについて、指定フィールド内のデータ識別子の前に指定視野角が書き込まれてよい。このように、サーバまたはクライアントが映像セグメントデータを読み込むときに、指定フィールドのコンテンツについては、指定視野角およびデータ識別子が順番に読み込まれてよい。継続的に読み込まれた指定視野角およびデータ識別子は、対応する指定視野角とデータ識別子とのペアとして使用される。例えば、映像セグメントデータは、2つの指定視野角(0、0)および(π、0)を含んでもよく、(0、0)に対応する映像セグメントデータのデータ識別子がS2であってよく、(π、0)に対応する映像セグメントデータのデータ識別子がS10であってよい。次に、「(0、0)、S2、(π、0)、S10」のような文字列が、映像セグメントデータの指定フィールドに書き込まれてよい。もちろん、実際の適用のシナリオにおいて、指定視野角およびデータ識別子は両方とも、映像セグメントデータの形式に従ってバイナリ形式で書き込まれてよい。前述の文字列は、説明しやすいように与えられた単なる一例であり、本開示の技術的解決方法の実装にいかなる制限も設けるものではない。サーバまたはクライアントが映像セグメントデータを読み込むと、前述の文字列のコンテンツが順番に読み込まれてよい。これにより、対応する指定視野角およびデータ識別子が識別され得る。
【0038】
1つの実施形態において、個々の映像セグメントデータはサーバに格納されてよい。具体的には、複数の場面における映像セグメントデータがサーバに格納されてよく、異なる場面を区別するために、同じ場面の識別子が同じ場面の映像セグメントデータに割り当てられてよい。
【0039】
1つの実施形態において、個々の場面を表すリンクがクライアントに表示されてよい。リンクはテキストリンクであっても、イメージリンクであってもよい。場面へのリンクは対応する場面識別子に結合されてよい。ユーザがある場面へのリンクをトリガーすると、場面識別子を含む映像ロードリクエストがサーバに送信され得る。
【0040】
1つの実施形態において、サーバは、映像ロードリクエストを受信すると、場面識別子を映像ロードリクエストから取り出し、映像セグメントデータベースにおいて場面識別子に対応する映像セグメントデータを探し出してよい。1つの実施形態において、ある場面に対応する映像セグメントデータが1つの初期映像セグメントデータを含んでもよく、初期映像セグメントデータにより表される映像セグメントが、ユーザに対して再生される最初の映像セグメントデータとして使用されてよい。このように、サーバは、映像ロードリクエストを受信すると、初期映像セグメントデータをサーバにフィードバックすることができる。例えば、ユーザが
図2に示す場面へのリンクをトリガーした場合、サーバは経路8の開始位置で映像セグメントデータをクライアントにフィードバックしてよい。経路8の開始位置における映像セグメントデータは、当該場面に対応する初期映像セグメントデータになり得る。このように、映像再生が開始されたとき、ユーザの視覚体験としては、ユーザが経路8の開始位置にいるということになる。
【0041】
1つの実施形態において、ユーザがある場面のリンクをクライアント上でトリガーした場合、サーバはさらに、当該場面の平面図をクライアントにフィードバックしてよく、当該平面図には少なくとも1つの選択可能な位置が設けられてよい。例えば、
図2に示す場面において、経路8および経路5の開始位置はともに選択可能である。このように、ユーザは平面図のある位置を選択してよく、当該位置の情報がサーバに送信されてよい。このように、サーバは位置情報に対応する映像セグメントデータをクライアントにフィードバックすることができ、映像セグメントの再生が開始されたとき、ユーザの視覚体験としては、ユーザが前回選択した位置にいるということになる。
【0042】
1つの実施形態において、クライアントが現在受信した映像セグメントデータは、現在の映像セグメントデータとして使用されてよい。現在の映像セグメントデータは、映像セグメントを表してよい。映像セグメントを表す現在の映像セグメントデータは、映像セグメントが現在の映像セグメントデータをレンダリングすることにより取得可能であるということを意味してよい。1つの実施形態において、上記によると、現在の映像セグメントデータは少なくとも1つの指定視野角および指定視野角が対象とする映像セグメントデータを表すデータ識別子を含んでよい。
【0043】
ステップS2:現在の映像セグメントデータにより表される映像セグメントを再生し、再生中にユーザの現在の視野角を取得する。
【0044】
1つの実施形態において、サーバから送信された現在の映像セグメントデータを受信したとき、クライアントはOpen GLまたはWebGLなどの描画規格を使用して現在の映像セグメントデータを対応する映像セグメントにレンダリングし、レンダリングによって取得された映像セグメントを再生してよい。レンダリングにより取得された映像セグメントは現実場面において前もって撮られているため、映像セグメントが再生されているとき、ユーザの視覚体験としては、ユーザは仮想場面において映像セグメントが撮られた方向に移動するということになる。
【0045】
1つの実施形態において、レンダリングにより取得されたパノラマ映像セグメントを見ているとき、ユーザは、クライアントと対話することによって、クライアントが再生する現在の視野角を変更してよい。クライアントが再生する現在の視野角が変化するにつれて、ユーザの前に表現されている光景も異なってよい。このように、クライアントが再生する現在の視野角は、ユーザの現在の視野角として使用されてよい。1つの実施形態において、仮想現実(VR)眼鏡に頼らずに、ユーザは、クライアントの画面をスワイプすることで、クライアントが再生する現在の視野角を変更することができる。例えば、ユーザが指でクライアントの画面を右にスワイプした場合、クライアントが再生する現在の視野角を左にそらすことができる。これは、ユーザの現在の視野角が左にそれたことと同等であり、これにより経路の左側の光景を見ることができる。さらに、VR眼鏡を利用して、ユーザは頭部を動かすことで現在の視野角を変更することができる。ユーザが頭部を動かすと、それに応じて、VR眼鏡のジャイロスコープの効果により、ユーザの前に提示される映像コンテンツも変化する。例えば、ユーザが頭部を左に動かすと、VR眼鏡が再生する現在の視野角を左にそらすことができ、ユーザは経路の左側の光景を見ることができる。
【0046】
1つの実施形態において、現在の映像セグメントデータにより表される映像セグメントを再生するプロセスにおいて、ユーザの現在の視野角は特定の時点において取得されてよい。ユーザの現在の視野角は、ユーザが現在見ている方向を示してよい。1つの実施形態において、再生される次の映像セグメントが、ユーザが現在見ている方向に従って決定されてよい。具体的には、クライアントは通常、ユーザに映像セグメントを表示するときに、再生用の初期視野角を有している。例えば、
図2の経路8の開始位置での映像セグメントがユーザに示されているとき、再生用の初期視野角は経路8に沿った左から右の順方向であってよい。次に、クライアントが再生する視野角を変更するようユーザがクライアントと対話するとき、変更された再生用の視野角と再生用の初期視野角との間の角度がユーザの現在の視野角として使用されてよい。例えば、再生用の初期視野角は(0、0)であってよい。このとき、最初の0はアジマス角が0°であることを示し、2番目の0はピッチ角が0°であることを示している。そして、ユーザがクライアントの画面をスワイプする、またはユーザが頭部の向きを変えると、クライアントが再生する視野角が変更され、変更された再生用の視野角と再生用の初期視野角との間の角度は(20、60)であってよい。このとき、20はアジマス角間の角度が20°であることを示し、60はピッチ角間の角度が60°であることを示している。このように、(20、60)はユーザの現在の視野角として使用することができる。もちろん、上述の例では、現在の視野角はアジマス角とピッチ角とで表される。実際の適用においては、現在の視野角はさらに、極座標または緯度および経度で表されてよいが、本開示において限定されない。
【0047】
1つの実施形態において、ユーザの現在の視野角を取得する時点は、現在の映像セグメントデータにより表される映像セグメントの再生がもうすぐ終わる時点であってよい。再生がもうすぐ終わる時点は、定量的に決定されてよい。具体的には、ユーザの現在の視野角を取得する時点は、映像セグメント内のフレーム総数に対する、残りの未再生フレーム数または再生済みフレーム数の比率に従って決定されてよい。例えば、ユーザの現在の視野角取得の命令は、フレーム総数に対する残りの未再生フレーム数の比率が10%まで減少したときにトリガーされてよい。例えば、ユーザの現在の視野角取得の命令は、フレーム総数に対する再生済みフレーム数の比率が80%まで増加したときにトリガーされてよい。もちろん、実際の適用において、ユーザの現在の視野角を取得する時点はさらに、総時間に対する、再生済み映像セグメントの時間または残りの未再生映像セグメントの時間の比率に従って決定されてよい。
【0048】
ステップS3:少なくとも1つの指定視野角から現在の視野角に合致する目標指定視野角を決定する。このとき、当該目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生される。
【0049】
1つの実施形態において、ユーザの現在の視野角が決定された後、現在の映像セグメントデータの少なくとも1つの指定視野角から現在の視野角に合致する目標指定視野角が決定されてよい。具体的には、目標指定視野角に合致する現在の視野角は、現在の視野角が目標指定視野角と同じであること、または現在の視野角と目標指定視野角との間の角度が指定範囲内にあることを意味してよい。指定範囲は、予め定められた角度値であってよい。アジマス角およびピッチ角については、異なる角度値が設定されてもよいし、同じ角度値が設定されてもよい。例えば、アジマス角およびピッチ角に対応する角度値は、ともに45°に設定されてよい。そして、現在の視野角におけるアジマス角間およびピッチ角間の角度、および少なくとも1つの指定視野角のうちの特定の角度がともに45°以内である限り、指定視野角を現在の視野角の目標指定視野角として使用することができる。例えば、少なくとも1つの指定視野角のうちのある指定視野角が(0、0)であり、現在の視野角は(30、-20)である。そして、現在の視野角におけるアジマス角間およびピッチ角間の角度、および指定視野角のアジマス角およびピッチ角がともに45°以内であるため、(0、0)を目標指定視野角(30、-20)として使用することができる。
【0050】
1つの実施形態において、目標指定視野角が決定された後、目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントを再生される次の映像セグメントにすることができる。したがって、ユーザは、現在の視野角を変更することにより、どの映像セグメントが次に再生されるかを決定することができる。例えば、クライアント上で現在再生中の映像セグメントは、
図2の経路8の右端の終了位置のコンテンツを示している。映像セグメントの再生がもうすぐ終わるとき、クライアントにより取得されるユーザの現在の視野角は(3π/4、0)である。つまり、ユーザの現在の視線は、経路7の方向にそれる。現在再生中の映像セグメントに対応する映像セグメントデータは4つの指定角を含み、それぞれ、(0、0)、(π/2、0)、(-π/2、0)、(π、0)である。各指定角は±π/4の角度範囲に対応してよい。そして、現在の視野角と指定視野角との間の角度を計算することにより、現在の視野角と(π/2、0)との間の角度がπ/4の角度範囲内にあるので、(π/2、0)が現在の視野角の目標指定視野角として使用可能であることが分かる。目標指定視野角(π/2、0)が対象とする映像セグメントは経路7の最上端の開始位置の映像セグメントである。そして、経路7の最上端の初期位置の映像セグメントを、経路8の終了位置の映像セグメントの再生が完了した後に再生することができる。ユーザの視覚効果としては、経路の終端で右を見たとき、ユーザは自動的に後方経路に方向転換して進む。これにより、ユーザの視野角を介して仮想場面におけるユーザの位置を変更する機能が実装される。
【0051】
上記を考慮して、目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントを、現在の映像セグメントデータにより表される映像セグメントの再生終了後に再生して、ユーザに対して位置移動の視覚効果を生み出すことができる。これにより、実装の複雑性が低減される(現在の視野角のみ変更すればよい)とともに、ゲームパッド、マウス、およびキーボードなどの外部機器の使用を避けることができるので、コストが削減され、ユーザ体験が向上する。
【0052】
特定の適用シナリオにおいて、ユーザはVR眼鏡を着用して仮想場面の光景を閲覧してよい。VR眼鏡は、個々の映像ウェブサイトのサーバと通信可能に接続されるネットワーク通信ポートを備えてよい。ユーザはVR眼鏡を介して映像ウェブサイトのホームページを訪問し、視線を通してホームページ上の興味のあるパノラマ映像を選択してよい。例えば、ユーザは現在、
図2に示す場面のパノラマ映像を選択している。この場合、映像ウェブサイトのサーバは、経路8の開始位置の映像セグメントデータをユーザのVR眼鏡にフィードバックしてよい。このように、VR眼鏡が映像セグメントデータをレンダリングし、レンダリングにより取得された映像セグメントをユーザに対して再生する場合、視覚効果としては、ユーザは経路8の開始位置にいる。映像セグメントの再生がもうすぐ終わるとき、VR眼鏡はユーザの現在の視野角を取得してよい。現在の視野角が(0、0)のとき、ユーザは現在、前方右側の光景を見ていることを示す。この場合、VR眼鏡は、開始位置を表す映像セグメントデータ内のヘッダデータフィールドから、指定視野角(0、0)に対応する映像セグメントデータのデータ識別子を読み込んでよく、また映像ウェブサイトのサーバに当該データ識別子をフィードバックしてよい。このように、映像ウェブサイトのサーバは、データ識別子が対象とする映像セグメントデータをVR眼鏡にフィードバックすることができる。現在の映像セグメントの再生終了後、VR眼鏡は、映像ウェブサイトのサーバから再び取得した映像セグメントデータにより表される映像セグメントを引き続き再生してよい。このように、ユーザの視覚体験としては、視線が経路の前方に固定されている場合、ユーザは仮想場面において直進することができ、ユーザが経路の反対方向を向いた場合、ユーザは経路の反対方向に進むことができる。このように、ユーザは現在の視野角を変更することにより仮想場面での歩行方向を決定することができる。これにより、実装の複雑性が低減されるとともに、ゲームパッド、マウス、およびキーボードなどの外部機器の使用を避けることができるので、コストが削減され、ユーザ体験が向上する。
【0053】
1つの実施形態において、現在の映像セグメントデータはヘッダデータフィールドおよび本体データフィールドを含んでよい。ヘッダデータフィールドは、ネットワーク内で映像セグメントデータを伝送するために必要な情報で占められてよい。ヘッダデータフィールドの構成要素は通常固定されている。本体データフィールドのデータは、クライアント上に示される映像セグメントを取得するために、クライアントによりレンダリングされてよい。1つの実施形態において、少なくとも1つの指定視野角および指定視野角が対象とする映像セグメントデータを表すデータ識別子は、ヘッダデータフィールドに格納されてよい。このように、現在の映像セグメントデータを受信したとき、クライアントは当該データのヘッダデータフィールドを読み込み、そこに含まれる指定視野角およびデータ識別子を取得することができる。例えば、
図4を参照すると、現在の映像セグメントデータはトランスポートストリーム(TS)形式で書き込まれてよく、TS形式のデータがヘッダデータフィールドおよびペイロードフィールドを含んでよい。ペイロードフィールドは上述した本体データフィールドであってよく、ペイロードフィールドは、現在の映像セグメントを取得するためにレンダリング用のデータで占められてよい。ヘッダデータフィールドは、同期バイトフィールド、伝送エラーフラグフィールド、ペイロード開始フラグフィールド、伝送優先度フラグフィールド、データ型フィールド、スクランブリング優先度フラグフィールド、アダプテーションフィールド制御フラグフィールド、連続性カウンタフィールド、アダプティブフィールドフィールドを含んでよい。上記のフィールドはTS形式で定義されてよい。アダプティブフィールドフィールドはさらに、複数のフィールドを含んでよい。具体的には、
図4に示すように、アダプティブフィールドフィールドは、アダプティブフィールド長フィールド、不連続性フラグフィールド、ランダムアクセスフラグフィールド、エレメンタリストリーム優先度フラグフィールド、フラグフィールド、任意フィールドフィールド、パディングバイトフィールドを含んでよい。アダプティブフィールドフィールドの上記のフィールドも、TS形式で定義されてもよい。1つの実施形態において、任意フィールドフィールドはさらに、プログラムクロックリファレンス(Program Clock Reference、PCR)フィールド、カレントプログラムクロックリファレンス(Current Program Clock Reference、CPCR)フィールド、スプライスカウントダウンフィールド、トランスポートプライベートデータ長フィールド、プライベートデータフィールド、アダプティブフィールド拡張長フィールド、フラグフィールド、および任意フィールドフィールドを含んでよい。TS形式の上記フィールドはすべて、TS形式で予め定義されてよい。1つの実施形態において、少なくとも1つの指定視野角および指定視野角が対象とする映像セグメントデータを表すデータ識別子は、ヘッダデータフィールドのプライベートデータフィールドに格納されてよい。プライベートデータフィールドにおいて、指定視野角およびデータ識別子はTS形式の要件に従って書き込まれてよい。具体的には、プライベートデータフィールド長は8ビットで示されてよい。すなわち、最大255バイトを保持できる。1つの実施形態において、指定視野角とデータ識別子の各セットは、単位構造として使用されてよい。このとき、各単位構造は12バイトを占めてよい。各単位構造は、2つの浮動小数点型で表される指定視野角、および整数型で表されるデータ識別子を含んでよい。2つの浮動小数点型は、それぞれ、指定視野角のアジマス角およびピッチ角を表すために使用される。例えば、現在の映像セグメントデータが2組の指定視野角とデータ識別子を含み、指定視野角とデータ識別子の各組が12バイトで表される場合を仮定する。この場合、当該2組の指定視野角およびデータ識別子は、現在の映像セグメントデータにおいて24バイトで表されてよい。なお、TS形式の上記データは本開示の1つの実施形態の技術的解決方法を説明するための一例に過ぎず、本実施形態がTS形式のデータのみに適用されるということが示されているわけではない。実際は、カスタムフィールドが存在する限り、指定視野角およびデータ識別子はともに、他のデータ形式のカスタムフィールドを介して書き込み可能である。
【0054】
1つの実施形態において、少なくとも1つの指定視野角から現在の視野角と合致する目標指定視野角が決定された後、クライアントはさらに、当該目標指定視野角が対象とする映像セグメントデータのデータ識別子をサーバに送信し、サーバから目標指定視野角が対象とする映像セグメントデータをサーバから取得してよい。
【0055】
1つの実施形態において、データ識別子および映像セグメントデータは、関連した方式でサーバに格納されてよい。具体的には、データ識別子および対応する映像セグメントデータは、キー/バリューのペア形式で格納されてよい。データ識別子はキーであってよく、対応する映像セグメントデータはバリューであってよい。このように、対応する映像セグメントデータはデータ識別子を介して探し出すことができる。このように、クライアントから目標指定視野角が対象とする映像セグメントデータのデータ識別子を受信すると、サーバは映像セグメントデータベースから受信したデータ識別子に対応する映像セグメントデータを取得し、クライアントに映像セグメントデータをフィードバックすることができる。これにより、現在の映像セグメントの再生の後で、クライアントは映像セグメントデータが表す映像セグメントを再生する。目標指定視野角はデータ識別子に対応し、当該データ識別子はさらに映像セグメントデータに関連付けられてよい。これにより、映像セグメントデータを目標指定視野角が対象とする映像セグメントデータとして見なすことができる。
【0056】
1つの実施形態において、映像再生の滑らかさを向上させるために、現在の映像セグメントが再生されるとき、現在の映像セグメントに関連する他の映像セグメントがクライアントに予めロードされてよい。これにより、次に再生される映像セグメントが、現在の映像セグメントの再生が完了した後、ローカルで直接呼び出し可能となる。具体的には、本実施形態において、サーバから送信された現在の映像セグメントデータが受信された後、現在の映像セグメントデータに含まれる個々の映像セグメントデータのデータ識別子が対象とする映像セグメントデータがサーバよりさらに取得されてよい。例えば、現在の映像セグメントデータは合計4組の指定視野角とデータ識別子を含む。そして、現在の映像セグメントデータを受信するとき、クライアントは当該データに含まれる4つのデータ識別子を特定し、当該4つのデータ識別子を含むデータ取得リクエストをサーバに送信してよい。これにより、4つのデータ識別子が対象とする映像セグメントデータはサーバからローカルで予めロード可能となる。このように、少なくとも1つの指定視野角から現在の視野角と合致する目標指定視野角が決定された後、取得された個々の映像セグメントデータから目標指定視野角が対象とする目標映像セグメントデータを決定することができ、現在の映像セグメントデータにより表される映像セグメントの再生の最後に、目標映像セグメントデータにより表される映像セグメントが再生可能となる。映像セグメントデータを予めロードするこのような方法により、映像再生の滑らかさを向上させることができる。
【0057】
1つの実施形態において、仮想場面の経路はそれぞれ、順方向および逆方向を含んでよい。これによると、サーバの映像セグメントデータはそれぞれ方向情報をさらに含み、当該方向情報は、映像セグメントが経路の順方向で再生されるか経路の逆方向で再生されるかを示すために使用されてよい。例えば、
図2の経路8において左から右の再生順序を有する映像セグメントに対応する方向情報が順方向であり、右から左の再生順序を有する映像セグメントに対応する方向情報が逆方向である。ユーザが仮想場面において移動する場合を考えると、動作軌道は通常、所定の慣性を有する。この慣性は、ユーザに対して再生される現在の映像セグメントが順方向映像セグメントの場合、再生される次の映像セグメントは順方向映像セグメントである可能性が高いことにも反映される。これによると、サーバから送信された現在の映像セグメントデータが受信された後、現在の映像セグメントデータの方向情報と一致する方向情報を有する映像セグメントデータのデータ識別子が、現在の映像セグメントデータに含まれる個々のデータ識別子から決定されてよく、決定されたデータ識別子が対象とする映像セグメントデータがサーバから取得されてよい。このように、現在の映像セグメントデータを取得した後に、クライアントは、現在の映像セグメントデータの方向情報と一致する方向情報を有する映像セグメントデータをサーバから直ちに取得してよい。このように、現在の映像セグメントの再生が完了した後、一貫した方向情報を有し、サーバから取得された映像セグメントが再生される可能性が高いため、予めロードされることにより映像再生の滑らかさが向上する。
【0058】
1つの実施形態において、映像セグメントデータの各指定視野角は視野角範囲に対応してよい。視野角範囲は指定視野角を含んでよい。例えば、指定視野角(0、0)に対応する視野角範囲は(-π/4、0)から(π/4、0)であってよい。このように、少なくとも1つの指定視野角から現在の視野角に合致する目標指定視野角を決定する場合、現在の視野角の視野角範囲が決定され、決定された視野角範囲に対応する指定視野角が目標指定視野角として使用されてよい。例えば、現在の視野角は(π/8、0)である。現在の視野角が視野角範囲(-π/4、0)から(π/4、0)内にあると、当該視野角範囲に対応する指定視野角(0、0)を現在の視野角の目標指定視野角として使用することができる。
【0059】
1つの実施形態において、現在の視野角に合致する目標指定視野角が少なくとも1つの指定視野角に存在しない場合、次に再生される映像スライスはユーザの現在の視野角に従って決定不可能であることを示す。この場合は仮想場面においてユーザが止まった状態に対応してよい。例えば、ユーザの現在の視野角が指定視野角に対応する視野角範囲外にある場合、現在の視野角に対応する目標指定視野角は存在しない。この場合、現在の映像セグメントデータにより表される映像セグメントのフレームは、現在の映像セグメントデータにより表される映像セグメントの再生の最後に表示されてよく、これにより、映像の一時停止効果が達成される。フレームの一貫性を保つために、一時停止されたフレームは通常、現在の映像セグメントの最後のフレームである。
【0060】
1つの実施形態において、パノラマ映像を撮るコストを削減するために、指定方向のパノラマ映像のみが現実場面の経路ごとに撮られてよい。これによると、各経路は、当該経路の指定方向で撮られたパノラマ映像に関連付けられる。1つの実施形態において、指定方向のパノラマ映像は順方向パノラマ映像として使用されてもよく、指定方向と逆のパノラマ映像は逆方向パノラマ映像として使用されてよい。1つの実施形態において、パノラマ映像は、指定時間間隔で少なくとも1つの映像セグメントに分割されてよい。例えば、ある経路のパノラマ映像が毎秒合計25フレーム、25秒間である場合、当該パノラマ映像は、1秒の時間間隔で25個の映像セグメントに分割されてよい。この場合、各映像セグメントは25個のフレームを含む。
【0061】
1つの実施形態において、パノラマ映像を分割することにより取得される映像セグメントに従って、当該映像セグメントにそれぞれ対応する逆方向映像セグメントが生成されてよい。このとき、逆方向映像セグメントの再生順序は対応する映像セグメントの再生順序の逆である。具体的には、パノラマ映像は360°の情報を含むため、順方向のパノラマ映像が逆順序で再生されるときに逆方向パノラマ映像が取得可能となる。具体的には、順方向パノラマ映像の各映像セグメントが逆に再生されて、逆方向パノラマ映像の各映像セグメントが取得される。このように、逆方向パノラマ映像および順方向パノラマ映像は同数の映像セグメントを含むことができ、逆方向パノラマ映像の映像セグメントの再生順序は、順方向パノラマ映像の対応する映像セグメントの再生順序の逆である。例えば、
図5を参照すると、順方向パノラマ映像を分割することにより取得されるSn個の映像セグメントは左側に表示され、各映像セグメントは25フレームを含んでよい。このように、S2の番号が付いた映像セグメントはフレーム26からフレーム50を含んでよい。映像セグメントS2の再生はフレーム26から開始し、フレーム50まで各フレームを順に進むことができる。順方向パノラマ映像に従って逆方向パノラマ映像を生成する場合、順方向パノラマ映像の各映像セグメントが逆に再生されて、逆方向パノラマ映像の各映像セグメントを取得してよい。例えば、順方向パノラマ映像の映像セグメントS2について、フレーム50が最初に再生されるフレームとして使用されてよく、フレーム26が最後に再生されるフレームとして使用されてよい。このような順序で映像セグメントを再生することで、逆方向パノラマ映像において映像セグメントSn+1個を取得することができる。
【0062】
図6を参照すると、本開示の実施形態は、ネットワーク通信ポート100、ディスプレイ200、プロセッサ300、および内部通信バス400を含むクライアントをさらに提供する。
【0063】
ネットワーク通信ポート100はサーバから送信された現在の映像セグメントデータを受信するように構成される。
【0064】
ディスプレイ200は映像セグメントを再生するように構成される。
【0065】
プロセッサ300は、ネットワーク通信ポートを介して、サーバから送信された現在の映像セグメントデータを受信することであって、現在の映像セグメントデータは映像セグメントを表し、現在の映像セグメントデータは少なくとも1つの指定視野角および指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、受信することと、現在の映像セグメントデータにより表される映像セグメントを、ディスプレイを介して再生し、再生中にユーザの現在の視野角を取得することと、少なくとも1つの指定視野角から現在の視野角と合致する目標指定視野角を決定することであって、目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生される、決定することとを行うように構成される。
【0066】
1つの実施形態において、ネットワーク通信ポート100は、異なる通信プロトコルに従い、異なるデータを送受信する仮想ポートであってよい。例えば、ネットワーク通信ポートは、ポート80(ウェブデータ通信を担当)であってもよく、ポート21(FTPデータ通信を担当)であってもよく、ポート25(メールデータ通信を担当)であってもよい。さらに、ネットワーク通信ポートは、物理的な通信インターフェースであっても通信チップであってもよい。例えば、ネットワーク通信ポートは、例えばGSM(登録商標)またはCDMAのようなワイヤレスモバイルネットワーク通信チップであってよい。ネットワーク通信ポートはさらに、Wi-Fi(Wireless Fidelity)チップであってよい。ネットワーク通信ポートはさらに、Bluetooth(登録商標)チップであってよい。
【0067】
1つの実施形態において、ディスプレイ200は、特定の伝送装置を介して特定の電子ファイルを画面に表示し、当該電子ファイルを人間の目に映し出す表示ツールであってよい。ディスプレイは、液晶(LCD)表示画面、ブラウン管(CRT)表示画面、または発光ダイオード(LED)表示画面などを含んでよい。
【0068】
プロセッサ300は、任意の適切な方法で実装されてよい。例えば、プロセッサは、マイクロプロセッサまたはプロセッサおよび(マイクロ)プロセッサにより実行可能であるコンピュータ可読プログラムコード(例えば、ソフトウェアまたはファームウェア)を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラム可能型論理制御器、ならびに内蔵マイクロ制御器の形式を利用してよい。本開示においてプロセッサの種類は限定されない。
【0069】
上述の実施形態に開示されるクライアントのネットワーク通信ポート100、ディスプレイ200、プロセッサ300、およびバス400により実装される特定の機能は、本開示の実施形態の仮想場面における映像再生方法の実施形態を参照して説明されてもよく、本開示の実施形態の仮想場面における映像再生方法の実施形態を実装し、本方法の実施形態の技術効果を実現することができる。
【0070】
本開示は、仮想場面におけるデータ提供方法をさらに提供し、本方法はサーバに適用可能である。1つの実施形態において、サーバは映像セグメントデータセットを備えてよい。映像セグメントデータセットは、少なくとも1つの映像セグメントデータを含み、当該映像セグメントデータは映像セグメントを表す。映像セグメントデータはそれぞれ、少なくとも1つの指定視野角および当該指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。
図1を参照すると、本方法は次のステップを含んでよい。
【0071】
ステップS10:クライアントから送信された映像セグメントデータロードリクエストを受信する。このとき、映像セグメントデータロードリクエストは、仮想場面におけるユーザの現在位置を表すために使用される。
【0072】
ステップS20:ユーザの現在位置に対応する現在の映像セグメントデータをクライアントにフィードバックする。これにより、クライアントは現在の映像セグメントデータにより表される映像セグメントを再生し、再生中にユーザの現在の視野角を取得する。
【0073】
ステップS30:クライアントから送信された(S40)目標映像セグメントデータのデータ識別子を受信する。このとき、目標映像セグメントデータが対象とする目標指定視野角は現在の視野角と合致する。
【0074】
1つの実施形態において、個々の場面を表すリンクがクライアントに表示されてよい。リンクは、テキストリンクであっても、イメージリンクであってもよい。場面へのリンクは対応する場面識別子に結合されてよい。ユーザがある場面へのリンクをトリガーすると、場面識別子を含む映像ロードリクエストがサーバに送信可能となる。
【0075】
1つの実施形態において、サーバは、映像ロードリクエストを受信すると、場面識別子を映像ロードリクエストから取り出し、映像セグメントデータベースにおいて場面識別子に対応する映像セグメントデータを探し出してよい。1つの実施形態において、ある場面に対応する映像セグメントデータは1つの初期映像セグメントデータを含んでもよく、初期映像セグメントデータにより表される映像セグメントは、ユーザに対して再生される最初の映像セグメントデータとして使用されてよい。このように、サーバは、映像ロードリクエストを受信すると、初期映像セグメントデータをサーバにフィードバックすることができる。例えば、ユーザが
図2に示す場面へのリンクをトリガーした場合、サーバは経路8の開始位置における映像セグメントデータをクライアントにフィードバックしてよい。このとき、経路8の開始位置における映像セグメントデータを当該場面に対応する初期映像セグメントデータとすることができる。このように、映像再生が開始されたとき、ユーザの視覚体験としては、ユーザは経路8の開始位置にいるということになる。したがって、クライアントからサーバに送信された映像セグメントデータロードリクエストを仮想場面におけるユーザの現在位置を表すために使用することができる。このシナリオにおいて、仮想場面におけるユーザの現在位置を初期映像セグメントデータにより表される初期位置とすることができる。
【0076】
1つの実施形態において、ユーザがクライアント上のある場面のリンクをトリガーした場合、サーバは当該場面の平面図をクライアントにさらにフィードバックしてもよく、当該平面図には少なくとも1つの選択可能な位置が設けられてよい。例えば、
図2に示す場面において、経路8および経路5の開始位置はともに選択可能である。このように、ユーザは平面図においてある位置を選択してもよく、当該位置の情報は映像ロードリクエストとしてサーバに送信可能である。このように、サーバは位置情報に対応する映像セグメントデータをクライアントにフィードバックすることができ、ユーザの視覚体験としては、映像セグメントの再生が開始されたとき、ユーザは前回選択した位置にいるということになる。したがって、このシナリオにおいて、仮想場面におけるユーザの現在位置をユーザにより選択される位置とすることができる。
【0077】
1つの実施形態において、ユーザの現在位置に対応する現在の映像セグメントデータを取得した後、サーバは、現在の映像セグメントデータをクライアントにフィードバックしてよい。1つの実施形態において、サーバから送信された現在の映像セグメントデータを受信したとき、クライアントはOpenGLまたはWebGLなどの描画規格を使用して現在の映像セグメントデータを対応する映像セグメントにレンダリングし、レンダリングによって取得された映像セグメントを再生してよい。レンダリングにより取得された映像セグメントは現実場面において前もって撮られているため、映像セグメントが再生されているとき、ユーザの視覚体験としては、ユーザは仮想場面において映像セグメントが撮られた方向に移動するということになる。
【0078】
1つの実施形態において、レンダリングにより取得されたパノラマ映像セグメントを見ているとき、ユーザは、クライアントと対話することによって、クライアントが再生する現在の視野角を変更してよい。クライアントが再生する現在の視野角が変化するにつれて、ユーザの前に表現されている光景も異なってもよい。このように、クライアントが再生する現在の視野角は、ユーザの現在の視野角として使用されてよい。1つの実施形態において、仮想現実(VR)眼鏡に頼らずに、ユーザはクライアントの画面をスワイプすることでクライアントが再生する現在の視野角を変更することができる。例えば、ユーザが指でクライアントの画面を右にスワイプした場合、クライアントが再生する現在の視野角を左にそらすことができる。これは、ユーザの現在の視野角が左にそれたことと同等であり、これにより経路の左側の光景を見ることができる。さらに、VR眼鏡を利用して、ユーザは頭部を動かすことで現在の視野角を変更することができる。ユーザが頭部を動かすと、それに応じて、VR眼鏡のジャイロスコープの効果により、ユーザの前に提示される映像コンテンツも変化する。例えば、ユーザが頭部を左側に動かすと、VR眼鏡が再生する現在の視野角を左にそらすことができ、ユーザは経路の左側の光景を見ることができる。
【0079】
1つの実施形態において、現在の映像セグメントデータにより表される映像セグメントを再生するプロセスにおいて、ユーザの現在の視野角は特定の時点において取得されてよい。ユーザの現在の視野角は、ユーザが現在見ている方向を示してよい。1つの実施形態において、再生される次の映像セグメントが、ユーザが現在見ている方向に従って決定されてよい。具体的には、クライアントは通常、ユーザに映像セグメントを表示するときに、再生用の初期視野角を有している。例えば、
図2の経路8の開始位置での映像セグメントがユーザに示されているとき、再生用の初期視野角は経路8に沿った左から右の順方向であってよい。次に、クライアントが再生する視野角を変更するようユーザがクライアントと対話するとき、再生のために変更された視野角と再生用の初期視野角との間の角度がユーザの現在の視野角として使用されてよい。例えば、再生用の初期視野角は(0、0)であってよい。このとき、最初の0はアジマス角が0°であることを示し、2番目の0はピッチ角が0°であることを示している。そして、ユーザがクライアントの画面をスワイプする、またはユーザが頭部の向きを変えると、クライアントが再生する視野角が変更され、変更された再生用の視野角と再生用の初期視野角との間の角度は(20、60)であってよい。このとき、20はアジマス角間の角度が20°であることを示し、60はピッチ角間の角度が60°であることを示している。このように、(20、60)はユーザの現在の視野角として使用することができる。もちろん、上述の例では、現在の視野角はアジマス角とピッチ角とで表される。実際の適用においては、現在の視野角はさらに、極座標または緯度および経度で表されてよいが、本開示において限定されない。
【0080】
1つの実施形態において、ユーザの現在の視野角を決定した後、クライアントは、現在の映像セグメントデータの少なくとも1つの指定視野角から現在の視野角に合致する目標指定視野角を決定してよい。具体的には、目標指定視野角に合致する現在の視野角は、現在の視野角が目標指定視野角と同じであること、または現在の視野角と目標指定視野角との間の角度が指定範囲内にあることを意味してよい。
【0081】
1つの実施形態において、目標指定視野角を決定した後、クライアントは、現在の映像セグメントデータから、目標指定視野角が対象とする目標映像セグメントデータのデータ識別子を取得してよい。目標映像セグメントデータのデータ識別子を取得した後、クライアントは、当該データ識別子をサーバに送信してよい。このように、サーバは、クライアントから送信された目標映像セグメントデータのデータ識別子を受信することができる。データ識別子を取得した後、サーバは映像セグメントデータセットから当該データ識別子に対応する映像セグメントデータを取得し、当該映像セグメントデータをクライアントにフィードバックしてよい。これにより、現在の映像セグメントを再生した後に、クライアントは当該映像セグメントデータにより表され、サーバによりフィードバックされた映像セグメントを引き続き再生する。
【0082】
1つの実施形態において、映像セグメントデータセットの映像セグメントデータはそれぞれ、ヘッダデータフィールドおよび本体データフィールドを含む。このとき、少なくとも1つの指定視野角、および指定視野角が対象とする映像セグメントデータを表すデータ識別子はヘッダデータフィールドに格納される。
【0083】
1つの実施形態において、各指定視野角は視野角範囲に対応し、それに応じて、現在の視野角に合致する目標映像セグメントデータを対象とする目標指定視野角は、目標指定視野角の視野角範囲内にある現在の視野角を含む。
【0084】
1つの実施形態において、仮想場面は少なくとも1つの経路を含み、経路はそれぞれ当該経路の指定方向で撮られたパノラマ映像に関連付けられ、当該パノラマ映像は指定時間間隔で少なくとも1つの映像セグメントに分割される。
【0085】
1つの実施形態において、本方法はさらに、パノラマ映像を分割することにより取得された映像セグメントに従って、当該映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階を含み、逆方向映像セグメントの再生順序は、対応する映像セグメントの再生順序の逆である。
【0086】
上述の実施形態の特定の実装については、仮想場面における映像再生方法の実施形態において記載したので、以下では記載を省略する。
【0087】
図7を参照すると、本開示は、ネットワーク通信ポート110、メモリ210、プロセッサ310、および内部通信バス410を含むサーバをさらに提供する。
【0088】
ネットワーク通信ポート110はクライアントとネットワークデータ通信を行うように構成される。
【0089】
メモリ210は映像セグメントデータセットを格納するように構成される。映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、当該映像セグメントデータは映像セグメントを表す。映像セグメントデータはそれぞれ、少なくとも1つの指定視野角および当該指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。
【0090】
プロセッサ310は、ネットワーク通信ポートを介して、クライアントから送信された映像セグメントデータロードリクエストを受信することであって、映像セグメントデータロードリクエストは仮想場面においてユーザの現在位置を表すために使用される、受信することと、ユーザの現在位置に対応する現在の映像セグメントデータをクライアントにフィードバックするようにネットワーク通信ポートを制御して、クライアントが現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中にユーザの現在の視野角を取得するようにすることと、クライアントから送信された目標映像セグメントデータのデータ識別子を、ネットワーク通信ポートを介して受信することであって、目標映像セグメントデータを対象とする目標指定視野角が現在の視野角と合致する、受信することとを行うように構成される。
【0091】
1つの実施形態において、ネットワーク通信ポート110は、異なる通信プロトコルに従い、異なるデータを送受信する仮想ポートであってよい。例えば、ネットワーク通信ポートは、ポート80(ウェブデータ通信を担当)であってもよく、ポート21(FTPデータ通信を担当)であってもよく、ポート25(メールデータ通信を担当)であってもよい。さらに、ネットワーク通信ポートは、物理的な通信インターフェースであっても通信チップであってもよい。例えば、ネットワーク通信ポートは、例えばGSM(登録商標)またはCDMAのようなワイヤレスモバイルネットワーク通信チップであってよい。ネットワーク通信ポートはさらに、Wi-Fi(Wireless Fidelity)チップであってよい。ネットワーク通信ポートはさらに、Bluetooth(登録商標)チップであってよい。
【0092】
1つの実施形態において、メモリ210は情報を格納するためのメモリデバイスであってよい。デジタルシステムにおいて、バイナリデータを格納可能な装置はメモリであってよい。集積回路において、物理的形状を有しない記憶機能を有する回路はRAMまたはFIFOなどのメモリであってもよい。システムにおいて、物理的形状の記憶装置は、メモリバーまたはTFカードなどのメモリとも呼ばれることがある。
【0093】
プロセッサ310は、任意の適切な方法で実装されてよい。例えば、プロセッサは、マイクロプロセッサまたはプロセッサおよび(マイクロ)プロセッサにより実行可能であるコンピュータ可読プログラムコード(例えば、ソフトウェアまたはファームウェア)を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラム可能型論理制御器、ならびに内蔵マイクロ制御器の形式を利用してよい。本開示は限定するものではない。
【0094】
上述の実施形態で開示されるサーバのネットワーク通信ポート110、メモリ210、プロセッサ310、およびバス410により実装される特定の機能は、本開示の仮想場面におけるデータ提供方法の実施形態を参照して説明されてもよく、本開示の仮想場面におけるデータ提供方法の実施形態を実装し、本方法の実施形態の技術効果を実現することができる。
【0095】
上記で紹介された実施形態はすべてクライアント・サーバアーキテクチャに基づいている。映像セグメントの再生中に、クライアントとサーバとの間で特定のデータのやり取りが行われる。本開示において、記録されたパノラマ映像および分割された映像セグメントデータは、さらに、クライアントにローカルで予めフルロードされてよい。これにより、映像セグメントの再生中に、クライアントはサーバと対話する必要なく完全にオフラインで動作することができる。具体的には、本開示は、仮想場面における映像再生方法をさらに提供する。この方法は、クライアントに適用可能である。クライアントは映像セグメントデータセットを備えてよい。映像セグメントデータセットは、少なくとも1つの映像セグメントデータを含み、当該映像セグメントデータは映像セグメントを表す。映像セグメントデータはそれぞれ、少なくとも1つの指定視野角および当該指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。映像セグメントデータセットは、サーバからローカルで予めロードされても、ローカルで直接インポートされてもよい。
図8を参照すると、本方法は次のステップを含んでよい。
【0096】
S110:映像セグメントデータセットから、仮想場面におけるユーザの現在位置に対応する現在の映像セグメントデータを決定する。
【0097】
ステップS210:現在の映像セグメントデータにより表される映像セグメントを再生し、再生中にユーザの現在の視野角を取得する。
【0098】
ステップS310:現在の映像セグメントデータの少なくとも1つの指定視野角から現在の視野角に合致する目標指定視野角を決定する。このとき、当該目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生される。
【0099】
1つの実施形態において、個々の場面を表すリンクがクライアントに表示されてよい。唯一の相違点としては、ユーザがある場面へのリンクをトリガーした場合、当該場面へのリンクに対応する映像セグメントデータを探して、クライアントのローカル映像セグメントデータセットを直接検索可能である。具体的には、場面に対応する映像セグメントデータは1つの初期映像セグメントデータを含んでよく、当該初期映像セグメントデータにより表される映像セグメントは、クライアントでユーザに対して再生される最初の映像セグメントデータとして使用されてよい。例えば、ユーザが
図2に示す場面へのリンクをトリガーした場合、クライアントは、映像セグメントデータセットから経路8の開始位置の映像セグメントデータを取得してよい。このとき、経路8の開始位置における映像セグメントデータを当該場面に対応する初期映像セグメントデータとすることができる。このように、クライアントは、取得された初期映像セグメントデータを直接レンダリングして、レンダリングにより取得された映像セグメントをユーザに対して再生できる。このように、ユーザの視覚体験としては、映像再生が開始されたとき、ユーザは経路8の開始位置にいるということになる。このシナリオにおいて、仮想場面におけるユーザの現在位置を初期映像セグメントデータにより表される初期位置とすることができる。
【0100】
もちろん、本実施形態において、ユーザがクライアント上のある場面のリンクをトリガーした場合、クライアントは当該場面の平面図をユーザにさらに表示してもよく、当該平面図には少なくとも1つの選択可能な位置が設けられてよい。例えば、
図2に示す場面において、経路8および経路5の開始位置はともに選択可能である。ユーザは平面図においてある位置を選択してもよく、当該位置の情報はクライアントにより受信可能である。このように、クライアントは、位置情報に対応する映像セグメントデータを探してローカル映像セグメントデータセットを検索し、探し出された映像セグメントデータをレンダリングして、レンダリングにより取得された映像セグメントをユーザに対して再生することができる。ユーザの視覚体験としては、映像セグメントの再生が開始されたとき、ユーザは前回選択された位置にいるということになる。このシナリオにおいて、仮想場面におけるユーザの現在位置をユーザにより選択された位置とすることができる。
【0101】
次のステップS210でユーザの現在の視野角を取得し、S310で当該現在の視野角と合致する目標指定視野角を決定する処理はともに上述の実施形態と一致しているため、記載を省略する。相違点としては、現在の視野角と合致する目標指定視野角が取得された後、クライアントのローカル映像セグメントデータセットから目標指定視野角が対象とする映像セグメントデータが取得されてよく、取得された映像セグメントデータがレンダリングされ、現在の映像セグメントデータに表される映像セグメントを再生した後に再生されてよい。
【0102】
1つの実施形態において、映像セグメントデータセットの映像セグメントデータはそれぞれ、ヘッダデータフィールドおよび本体データフィールドを含む。このとき、少なくとも1つの指定視野角、および指定視野角が対象とする映像セグメントデータを表すデータ識別子はヘッダデータフィールドに格納される。
【0103】
1つの実施形態において、現在の映像セグメントデータの少なくとも1つの指定視野角から現在の視野角と合致する目標指定視野角を決定する段階の後に、本方法はさらに、目標指定視野角が対象とする映像セグメントデータのデータ識別子に従って、映像セグメントデータセットからデータ識別子に対応する目標映像セグメントデータを決定し、目標映像セグメントデータにより表される映像セグメントを、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生する段階を含む。
【0104】
1つの実施形態において、各指定視野角は視野角範囲に対応し、それに応じて、現在の映像セグメントデータの少なくとも1つの指定視野角から現在の視野角に合致する目標指定視野角を決定する段階は、現在の視野角の視野角範囲を決定し、決定された視野角範囲に対応する指定視野角を目標指定視野角として使用する段階を含む。
【0105】
1つの実施形態において、現在の視野角に合致する目標指定視野角が、現在の映像セグメントデータの少なくとも1つの指定視野角に存在しない場合、本方法はさらに、現在の映像セグメントデータにより表される映像セグメントのフレームを、現在の映像セグメントデータにより表される映像セグメントの再生の最後に表示する段階を含む。
【0106】
1つの実施形態において、仮想場面は少なくとも1つの経路を含み、経路はそれぞれ、経路の指定方向において撮られたパノラマ映像に関連付けられ、パノラマ映像は、指定時間間隔で少なくとも1つの映像セグメントに分割される。
【0107】
1つの実施形態において、本方法はさらに、パノラマ映像を分割することにより取得された映像セグメントに従って、映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階を含み、逆方向映像セグメントの再生順序は、対応する映像セグメントの再生順序の逆である。
【0108】
上述の実施形態の特定の実装については、仮想場面における映像再生方法の実施形態において記載したので、以下では記載を省略する。仮想場面における映像再生方法の実施形態との相違点は、本実施形態において、映像セグメントデータはすべてクライアントにローカルで格納されることである。したがって、映像セグメントデータの検索および取得はともにオフラインで実装することができる。通常、ローカルでの映像セグメントデータのロードはサーバから映像セグメントデータをダウンロードするよりも速いため、映像セグメントの再生の滑らかさが向上する。
【0109】
図9を参照すると、本開示はさらに、メモリ120、ディスプレイ220、プロセッサ320、内部バス420を含むクライアントを提供する。
【0110】
メモリ120は映像セグメントデータセットを格納するように構成される。映像セグメントデータセットは少なくとも1つの映像セグメントデータを含み、当該映像セグメントデータは映像セグメントを表す。映像セグメントデータはそれぞれ、少なくとも1つの指定視野角および当該指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。
【0111】
ディスプレイ220は映像セグメントを表示するように構成される。
【0112】
プロセッサ320は、メモリの映像セグメントデータセットから仮想場面におけるユーザの現在位置に対応する現在の映像セグメントデータを決定することと、ディスプレイを介して、現在の映像セグメントデータにより表される映像セグメントを再生し、再生中にユーザの現在の視野角を取得することと、現在の映像セグメントデータの少なくとも1つの指定視野角から、現在の視野角と合致する目標指定視野角を決定することであって、目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生される、決定することとを行うように構成される。
【0113】
1つの実施形態において、メモリ120は情報を格納するためのメモリデバイスであってよい。デジタルシステムにおいて、バイナリデータを格納可能な装置はメモリであってよい。集積回路において、物理的形状を有しない記憶機能を有する回路はRAMまたはFIFOなどのメモリであってよい。システムにおいて、物理的形状の記憶装置は、メモリバーまたはTFカードなどのメモリとも呼ばれることがある。
【0114】
1つの実施形態において、ディスプレイ220は、特定の伝送装置を介して特定の電子ファイルを画面に表示し、当該電子ファイルを人間の目に映し出す表示ツールであってよい。ディスプレイは、液晶(LCD)表示画面、ブラウン管(CRT)表示画面、または発光ダイオード(LED)表示画面などを含んでよい。
【0115】
プロセッサ320は、任意の適切な方法で実装されてよい。例えば、プロセッサは、マイクロプロセッサまたはプロセッサおよび(マイクロ)プロセッサにより実行可能であるコンピュータ可読プログラムコード(例えば、ソフトウェアまたはファームウェア)を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラム可能型論理制御器、ならびに内蔵マイクロ制御器の形式を利用してよい。本開示は限定するものではない。
【0116】
上述の実施形態に開示されるクライアントのメモリ120、ディスプレイ220、プロセッサ320、およびバス420により実装される特定の機能は、本開示のクライアント側の仮想場面における映像再生方法の実施形態を参照して説明されてもよく、本開示の仮想場面における映像再生方法の実施形態を実装し、本方法の実施形態の技術効果を実現することができる。
【0117】
上記を考慮して、本開示はユーザに対して継続的に映像セグメントを再生することができ、これによりユーザは仮想場面でオブジェクトを閲覧することができる。具体的には、現在の映像セグメントデータがユーザに対して再生されているとき、ユーザの現在の視野角が決定可能であり、次に再生される映像セグメントがユーザの現在の視野角に従って決定可能である。このように、現在の映像セグメントの再生が完了すると、次の映像セグメントが再生可能となる。ユーザの視野角が変化するにつれて、ユーザの前に提示される映像コンテンツも変化してよい。このように、ユーザは、視野角を介して、前進、後進、停止などの動作を行うことができ、外部機器の使用を避けて真の没入型の体験をすることができる。
【0118】
1990年代において、技術改良がハードウェアの改良(例えば、ダイオード、トランジスタ、スイッチなどの回路構造の改良)であるか、ソフトウェアの改良(方法の手順の改良)であるかは、明確に区別することができる。しかし、技術の発達と共に、近年の方法の手順の改良の多くは、ハードウェア回路構造の直接的な改良とみなすことができる。ほとんどのすべての設計者は、ハードウェア回路に改良した方法の手順をプログラミングして、対応するハードウェア回路構造を取得している。したがって、方法の手順の改良は、ハードウェアエンティティモジュールにより実装可能であるとは言えない。例えば、プログラム可能型論理デバイス(PLD)(例えば、フィールドプログラマブルゲートアレイ(FPGA))は、論理機能がユーザのデバイスプログラミングにより決定される集積回路である。設計者は、デジタルシステムをPLDに「統合」するために自らプログラミングしてよく、特定用途向け集積回路チップの設計及び製造をチップ製造業者に依頼する必要はない。さらに、集積回路チップを手動で製造する代わりに、このようなプログラミングは「論理コンパイラ」ソフトウェアにより実装される。これは、プログラムの開発及びコーディングに使用するソフトウェアコンパイラと類似しており、コンパイル前のオリジナルコードも特定のプログラミング言語で書かれてよい。この言語はハードウェア記述言語(HDL)と呼ばれる。HDLの形式は1つだけではなく複数の形式のHDLが存在する。例えば、ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java(登録商標)Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)が挙げられる。近年は、VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)とVerilog2が最も一般に使用されている。本方法の手順が上述のハードウェア記述言語を使用して論理的にプログラミングされ、集積回路に組み込まれれば、論理方法の手順を実装するためのハードウェア回路を容易に取得できることについても当業者は理解するはずである。
【0119】
クライアントおよびサーバを純粋なコンピュータ可読プログラミングで実装することに加えて、論理プログラミングを方法の各ステップで実行することができ、これによりクライアントおよびサーバが、論理ゲート、スイッチ、特定用途向け集積回路、プログラム可能型論理制御器、または内蔵マイクロ制御器などの形式で同じ機能を実装可能であることも当業者は理解する。そのため、クライアントまたはサーバをハードウェアコンポーネントとみなしてもよく、クライアントまたはサーバに含まれる個々の機能を実装するための装置をハードウェアコンポーネント内の構造とみなしてよい。あるいは、個々の機能を実装するための装置を、方法を実装するためのソフトウェアモジュールおよびハードウェアコンポーネントにおける構造の両方とみなすことも可能である。
【0120】
上記の実施形態の説明を通じて、当業者は、本開示を必要な汎用ハードウェアプラットフォームに加えてソフトウェアとして実装できることを明確に理解できる。このような理解に基づくと、本開示の技術的解決方法の本質、または先行技術に貢献する部分は、ソフトウェア製品の形式で具現化されてよい。コンピュータソフトウェア製品は、ROM/RAM、磁気ディスク、光学ディスクなどの記憶媒体に格納されてよく、さらに、本開示の実施形態又は実施形態の一部に記載された方法を実行するようにコンピュータ装置(パーソナルコンピュータ、サーバ、またはネットワーク装置などであってよい)に命令するための命令を含む。
【0121】
本明細書における実施形態は全て順を追って説明されている。異なる実施形態において同一又は類似する部分については互いに参照してよく、各実施形態では他の実施形態との違いに焦点を置いている。特に、サーバ及びクライアントの実施形態はともに、上述の方法の実施形態を参照して説明することができる。
【0122】
本開示は、プログラムモジュールなどの、コンピュータにより実行される、コンピュータで実行可能な命令の一般的な文脈で説明されてよい。一般に、プログラムモジュールは、特定のタスクを実行する、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本開示は、分散コンピューティング環境にも実装されてよい。これらの分散コンピューティング環境において、通信ネットワークにより接続されたリモート処理装置によりタスクが実行される。分散コンピューティング環境において、プログラムモジュールは、記憶装置を含むローカルおよびリモートのコンピュータ記憶媒体に配置されてよい。
【0123】
本開示は実施形態を用いて説明されているが、当業者は、本開示の主旨から逸脱しない多くの変形及び変更を本開示が含むことを理解する。添付の特許請求の範囲は、本開示の主旨から逸脱しないこれらの変形及び変更を含むことが意図されている。