(57)【要約】  仮想場面における映像再生方法およびデータ提供方法、およびこれらの方法を実装するためクライアントおよびサーバが開示される。仮想場面における映像再生方法であって、サーバから送信された現在の映像セグメントデータを受信する段階であって、上記現在の映像セグメントデータは映像セグメントを表し、上記現在の映像セグメントデータは少なくとも１つの指定視野角、および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、段階と、上記現在の映像セグメントデータにより表される上記映像セグメントを再生し、再生中にユーザの現在の視野角を取得する段階と、上記少なくとも１つの指定視野角から上記現在の視野角と合致する目標指定視野角を決定する段階であって、上記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、上記現在の映像セグメントデータにより表される上記映像セグメントの上記再生の最後に再生される、段階とを備える、映像再生方法。本開示において提供される技術的解決方法により、ユーザは外部機器の使用を避けながらも仮想場面で移動することができる。
2020520190.tif 000002
【特許請求の範囲】
【請求項１】
仮想場面における映像再生方法であって、
サーバから送信された現在の映像セグメントデータを受信する段階であって、前記現在の映像セグメントデータは映像セグメントを表し、前記現在の映像セグメントデータは少なくとも１つの指定視野角、および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、段階と、
前記現在の映像セグメントデータにより表される前記映像セグメントを再生し、再生中にユーザの現在の視野角を取得する段階と、
前記少なくとも１つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定する段階であって、前記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生される、段階と
を備える、映像再生方法。
【請求項２】
前記現在の映像セグメントデータはヘッダデータフィールドおよび本体データフィールドを含み、前記少なくとも１つの指定視野角、および前記指定視野角が対象とする前記映像セグメントデータを表す前記データ識別子が前記ヘッダデータフィールドに格納される、請求項１に記載の映像再生方法。
【請求項３】
前記少なくとも１つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定する前記段階の後に、前記映像再生方法はさらに、
前記目標指定視野角が対象とする前記映像セグメントデータを示すデータ識別子を前記サーバに送信し、前記目標指定視野角が対象とする前記映像セグメントデータを前記サーバから取得する段階を備える、請求項１または２に記載の映像再生方法。
【請求項４】
サーバから送信された現在の映像セグメントデータを受信する前記段階の後に、前記映像再生方法はさらに、
前記現在の映像セグメントデータに含まれる個々の映像セグメントデータのデータ識別子が対象とする映像セグメントデータを前記サーバから取得する段階を備え、
それに応じて、前記少なくとも１つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定する前記段階の後に、前記映像再生方法はさらに、
取得した前記個々の映像セグメントデータから、前記目標指定視野角が対象とする目標映像セグメントデータを決定し、前記目標映像セグメントデータにより表される映像セグメントを、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生する段階を備える、請求項１から３のいずれか一項に記載の映像再生方法。
【請求項５】
前記サーバの映像セグメントデータはそれぞれ、さらに方向情報を含み、それに応じて、サーバから送信された現在の映像セグメントデータを受信する前記段階の後に、前記映像再生方法はさらに、
前記現在の映像セグメントデータに含まれる個々のデータ識別子から、前記現在の映像セグメントデータの方向情報と一致する方向情報を有する映像セグメントデータのデータ識別子を決定し、決定された前記データ識別子が対象とする前記映像セグメントデータを前記サーバから取得する段階を備える、請求項１から４のいずれか一項に記載の映像再生方法。
【請求項６】
各指定視野角は視野角範囲に対応し、
それに応じて、前記少なくとも１つの指定視野角から前記現在の視野角に合致する目標指定視野角を決定する前記段階は、
前記現在の視野角の視野角範囲を決定し、決定された前記視野角範囲に対応する指定視野角を前記目標指定視野角として使用する段階を含む、請求項１から５のいずれか一項に記載の映像再生方法。
【請求項７】
前記現在の視野角に合致する前記目標指定視野角が、前記少なくとも１つの指定視野角に存在しない場合、前記映像再生方法はさらに、
前記現在の映像セグメントデータにより表される前記映像セグメントのフレームを、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に表示する段階を備える、請求項１から６のいずれか一項に記載の映像再生方法。
【請求項８】
前記仮想場面は少なくとも１つの経路を含み、前記経路はそれぞれ、前記経路の指定方向において撮られたパノラマ映像に関連付けられ、前記パノラマ映像は、指定時間間隔で少なくとも１つの映像セグメントに分割される、請求項１から７のいずれか一項に記載の映像再生方法。
【請求項９】
前記映像再生方法はさらに
前記パノラマ映像を分割することにより取得された映像セグメントに従って、前記映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階を備え、前記逆方向映像セグメントの再生順序は、対応する前記映像セグメントの再生順序の逆である、請求項８に記載の映像再生方法。
【請求項１０】
クライアントであって、
前記クライアントは、ネットワーク通信ポート、ディスプレイ、およびプロセッサを備え、
前記ネットワーク通信ポートは、サーバから送信された現在の映像セグメントデータを受信するように構成され、
前記ディスプレイは、映像セグメントを再生するように構成され、
前記プロセッサは、
前記ネットワーク通信ポートを介して、前記サーバから送信された前記現在の映像セグメントデータを受信することであって、前記現在の映像セグメントデータは映像セグメントを表し、前記現在の映像セグメントデータは少なくとも１つの指定視野角および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、受信することと、
前記現在の映像セグメントデータにより表される前記映像セグメントを、前記ディスプレイを介して再生し、再生中にユーザの現在の視野角を取得することと、
前記少なくとも１つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定することであって、前記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生される、決定することと
を行うように構成される、クライアント。
【請求項１１】
仮想場面におけるデータ提供方法であって、
映像セグメントデータセットが提供され、前記映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、前記映像セグメントデータは映像セグメントを表し、各映像セグメントデータは少なくとも１つの指定視野角および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、
前記データ提供方法は、
クライアントから送信された映像セグメントデータロードリクエストを受信する段階であって、前記映像セグメントデータロードリクエストは前記仮想場面においてユーザの現在位置を表すために使用される、受信する段階と、
前記ユーザの前記現在位置に対応する現在の映像セグメントデータを前記クライアントにフィードバックして、前記クライアントが前記現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中に前記ユーザの現在の視野角を取得する段階と、
前記クライアントから送信された目標映像セグメントデータのデータ識別子を受信する段階であって、前記目標映像セグメントデータを対象とする目標指定視野角が前記現在の視野角と合致する、受信する段階と
を備える、データ提供方法。
【請求項１２】
前記映像セグメントデータセットの映像セグメントデータはそれぞれ、ヘッダデータフィールドおよび本体データフィールドを含み、前記少なくとも１つの指定視野角、および前記指定視野角が対象とする前記映像セグメントデータを表す前記データ識別子が前記ヘッダデータフィールドに格納される、請求項１１に記載のデータ提供方法。
【請求項１３】
各指定視野角は視野角範囲に対応し、
それに応じて、前記現在の視野角に合致する前記目標映像セグメントデータを対象とする前記目標指定視野角は、
前記目標指定視野角の視野角範囲内にある前記現在の視野角を含む、請求項１１または１２に記載のデータ提供方法。
【請求項１４】
前記仮想場面は少なくとも１つの経路を含み、前記経路はそれぞれ、前記経路の指定方向において撮られたパノラマ映像に関連付けられ、前記パノラマ映像は、指定時間間隔で少なくとも１つの映像セグメントに分割される、請求項１１から１３のいずれか一項に記載のデータ提供方法。
【請求項１５】
前記データ提供方法はさらに、
前記パノラマ映像を分割することにより取得された映像セグメントに従って、前記映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階であって、前記逆方向映像セグメントの再生順序は、対応する前記映像セグメントの再生順序の逆である、生成する段階を備える、請求項１４に記載のデータ提供方法。
【請求項１６】
サーバであって、前記サーバは、ネットワーク通信ポート、メモリ、およびプロセッサを備え、
前記ネットワーク通信ポートは、クライアントとネットワークデータ通信を行うように構成され、
前記メモリは映像セグメントデータセットを格納するように構成され、前記映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、前記映像セグメントデータは映像セグメントを表し、映像セグメントデータはそれぞれ、少なくとも１つの指定視野角、および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、
前記プロセッサは、
前記ネットワーク通信ポートを介して、前記クライアントから送信された映像セグメントデータロードリクエストを受信することであって、前記映像セグメントデータロードリクエストは仮想場面においてユーザの現在位置を表すために使用される、受信することと、
前記ユーザの前記現在位置に対応する現在の映像セグメントデータを前記クライアントにフィードバックするように前記ネットワーク通信ポートを制御して、前記クライアントが前記現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中に前記ユーザの現在の視野角を取得することと、
前記クライアントから送信された目標映像セグメントデータのデータ識別子を、前記ネットワーク通信ポートを介して受信することであって、前記目標映像セグメントデータを対象とする目標指定視野角が前記現在の視野角と合致する、受信することと
を行うように構成される、サーバ。
【請求項１７】
仮想場面における映像再生方法であって、
映像セグメントデータセットが提供され、前記映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、前記映像セグメントデータは映像セグメントを表し、各映像セグメントデータは少なくとも１つの指定視野角、および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、
前記映像再生方法は、
前記映像セグメントデータセットから、前記仮想場面においてユーザの現在位置に対応する現在の映像セグメントデータを決定する段階と、
前記現在の映像セグメントデータにより表される映像セグメントを再生し、再生中に前記ユーザの現在の視野角を取得する段階と、
前記現在の映像セグメントデータの少なくとも１つの指定視野角から、前記現在の視野角に合致する目標指定視野角を決定する段階であって、前記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生される、決定する段階と
を備える、映像再生方法。
【請求項１８】
前記映像セグメントデータセットの映像セグメントデータはそれぞれ、ヘッダデータフィールドおよび本体データフィールドを含み、前記少なくとも１つの指定視野角、および前記指定視野角が対象とする前記映像セグメントデータを表す前記データ識別子が前記ヘッダデータフィールドに格納される、請求項１７に記載の映像再生方法。
【請求項１９】
前記現在の映像セグメントデータの少なくとも１つの指定視野角から前記現在の視野角と合致する目標指定視野角を決定する前記段階の後に、
前記映像再生方法はさらに、
前記目標指定視野角が対象とする前記映像セグメントデータのデータ識別子に従って、前記映像セグメントデータセットから前記データ識別子に対応する目標映像セグメントデータを決定し、前記目標映像セグメントデータにより表される映像セグメントを、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生する段階を備える、請求項１７または１８に記載の映像再生方法。
【請求項２０】
各指定視野角は視野角範囲に対応し、
それに応じて、前記現在の映像セグメントデータの少なくとも１つの指定視野角から前記現在の視野角に合致する目標指定視野角を決定する前記段階は、
前記現在の視野角の視野角範囲を決定し、決定された前記視野角範囲に対応する指定視野角を前記目標指定視野角として使用する段階を含む、請求項１７から１９のいずれか一項に記載の映像再生方法。
【請求項２１】
前記現在の視野角に合致する前記目標指定視野角が、前記現在の映像セグメントデータの前記少なくとも１つの指定視野角に存在しない場合、前記映像再生方法はさらに
前記現在の映像セグメントデータにより表される前記映像セグメントのフレームを、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に表示する段階を備える、請求項１７から２０のいずれか一項に記載の映像再生方法。
【請求項２２】
前記仮想場面は少なくとも１つの経路を含み、前記経路はそれぞれ、前記経路の指定方向において撮られたパノラマ映像に関連付けられ、前記パノラマ映像は、指定時間間隔で少なくとも１つの映像セグメントに分割される、請求項１７から２１のいずれか一項に記載の映像再生方法。
【請求項２３】
前記映像再生方法はさらに、
前記パノラマ映像を分割することにより取得された映像セグメントに従って、前記映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階であって、前記逆方向映像セグメントの再生順序は、対応する前記映像セグメントの再生順序の逆である、生成する段階を備える、請求項２２に記載の映像再生方法。
【請求項２４】
クライアントであって、前記クライアントは、メモリ、ディスプレイ、およびプロセッサを備え、
前記メモリは映像セグメントデータセットを格納するように構成され、前記映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、前記映像セグメントデータは映像セグメントを表し、映像セグメントデータはそれぞれ、少なくとも１つの指定視野角、および前記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、
前記ディスプレイは映像セグメントを表示するように構成され、
前記プロセッサは、
前記メモリの前記映像セグメントデータセットから仮想場面におけるユーザの現在位置に対応する現在の映像セグメントデータを決定することと、
前記ディスプレイを介して、前記現在の映像セグメントデータにより表される映像セグメントを再生し、再生中に前記ユーザの現在の視野角を取得することと、
前記現在の映像セグメントデータの少なくとも１つの指定視野角から、前記現在の視野角と合致する目標指定視野角を決定することであって、前記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、前記現在の映像セグメントデータにより表される前記映像セグメントの前記再生の最後に再生される、決定することと
を行うように構成される、クライアント。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１７年５月９日に出願された中国特許出願番号２０１７１０３２１５５９．８号、発明の名称「仮想場面における映像再生およびデータ提供方法、クライアントおよびサーバ」に基づく優先権を主張する、２０１８年１月５日に出願された国際出願番号ＰＣＴ／ＣＮ２０１８／０７１５５６、発明の名称「仮想場面における映像再生およびデータ提供方法、クライアントおよびサーバ」の国内移行段階であり、その中国特許出願および国際出願の全内容は本出願において援用される。
【０００２】
本開示はインターネット技術分野に関し、特に映像再生方法およびデータ提供方法、および仮想場面を提供するための装置に関する。
【背景技術】
【０００３】
仮想現実（ＶＲ）技術の継続的な進歩により、没入型映像体験が注目を集めている。近年、没入型映像体験を作り出すために、現実場面の情報（例えば、３次元座標、反射率、測定物体表面の多数の高密度ドットのテクスチャ）は、通常、レーザー測距の原則に基づいた３次元レーザー走査法を使用して取得することができる。このように、現実場面に沿った仮想場面は、走査により取得された情報を介してレンダリング可能である。ユーザは、仮想場面を歩きながら見て回り、没入型映像体験を楽しむことができる。例えば、スーパーマーケットやモールなどの現実場面を基に仮想場面を作り出すことができるため、ユーザは、家から出ることなく仮想場面のスーパーマーケットやモールでショッピング活動に参加することができる。
【０００４】
しかし、上記技術により没入型体験を作り出すことは、コストが高く、多くのコンピューティング資源を消費する。３次元レーザー走査法は、通常、高額な３次元レーザースキャナを必要とし、走査時に大量の情報が取得される（そして処理される）。
【０００５】
現在、製造コストを削減する方法として、空間インデックス立体パノラマ映像を使用することで没入型映像体験を作り出すことができる。具体的には、空間インデックス立体パノラマ映像を処理システムに入力することができ、３次元グラフィックスカードによりサポートされる圧縮方法を使用してパノラマ映像データを圧縮し、描画速度を向上することができる。この技術により、仮想場面を構築する際に必要なデータ量を削減し、仮想場面のレンダリング速度が向上する。そして、ユーザは外部機器（例えば、ゲームパッド、マウス、キーボード等）を使用して、容易かつフレキシブルにシステムと対話し、当該システムにより作り出された仮想場面において没入型の体験ができる。
【０００６】
しかし、上記の方法により空間インデックス立体パノラマ映像を使用すると、仮想場面でユーザが移動した際に、外部機器により前後移動や回転移動のなどの操作を制御する必要がある。このインタラクション方法は、ユーザフレンドリーではなく、真の没入型体験を提供していない。
【発明の概要】
【０００７】
本開示の実施形態は、仮想場面における映像再生およびデータを提供し、ユーザが外部機器の使用を避けて仮想場面を移動することを可能にし、これにより真の没入型体験を実現する。
【０００８】
上記の目的を達成するため、本開示の実施形態は、仮想場面における映像再生方法であって、本方法は、サーバから送信された現在の映像セグメントデータを受信する段階であって、上記現在の映像セグメントデータは映像セグメントを表し、上記現在の映像セグメントデータは少なくとも１つの指定視野角、および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、段階と、上記現在の映像セグメントデータにより表される上記映像セグメントを再生し、再生中にユーザの現在の視野角を取得する段階と、上記少なくとも１つの指定視野角から上記現在の視野角と合致する目標指定視野角を決定する段階であって、上記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、上記現在の映像セグメントデータにより表される上記映像セグメントの上記再生の最後に再生される、段階とを備える、映像再生方法を提供する。
【０００９】
上記の目的を達成するため、本開示の実施形態はさらにクライアントを提供し、上記クライアントは、ネットワーク通信ポート、ディスプレイ、およびプロセッサを備え、上記ネットワーク通信ポートは、サーバから送信された現在の映像セグメントデータを受信するように構成され、上記ディスプレイは、映像セグメントを再生するように構成され、上記プロセッサは、上記ネットワーク通信ポートを介して、上記サーバから送信された上記現在の映像セグメントデータを受信することであって、上記現在の映像セグメントデータは映像セグメントを表し、上記現在の映像セグメントデータは少なくとも１つの指定視野角および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、受信することと、上記現在の映像セグメントデータにより表される上記映像セグメントを、上記ディスプレイを介して再生し、再生中にユーザの現在の視野角を取得することと、上記少なくとも１つの指定視野角から上記現在の視野角と合致する目標指定視野角を決定することであって、上記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、上記現在の映像セグメントデータにより表される上記映像セグメントの上記再生の最後に再生される、決定することとを行うように構成される。
【００１０】
上記の目的を達成するため、本開示の実施形態はさらに、仮想場面におけるデータ提供方法を提供し、映像セグメントデータセットが提供され、上記映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、上記映像セグメントデータは映像セグメントを表し、各映像セグメントデータは少なくとも１つの指定視野角および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、上記方法は、クライアントから送信された映像セグメントデータロードリクエストを受信する段階であって、上記映像セグメントデータロードリクエストは上記仮想場面においてユーザの現在位置を表すために使用される、受信する段階と、上記ユーザの上記現在位置に対応する現在の映像セグメントデータを上記クライアントにフィードバックして、上記クライアントが上記現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中に上記ユーザの現在の視野角を取得する段階と、上記クライアントから送信された目標映像セグメントデータのデータ識別子を受信する段階であって、上記目標映像セグメントデータを対象とする目標指定視野角が上記現在の視野角と合致する、受信する段階とを備える。
【００１１】
上記の目的を達成するため、本開示の実施形態はさらにサーバを提供し、上記サーバは、ネットワーク通信ポート、メモリ、およびプロセッサを備え、上記ネットワーク通信ポートは、クライアントとネットワークデータ通信を行うように構成され、上記メモリは映像セグメントデータセットを格納するように構成され、上記映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、上記映像セグメントデータは映像セグメントを表し、映像セグメントデータはそれぞれ、少なくとも１つの指定視野角、および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、上記プロセッサは、上記ネットワーク通信ポートを介して、上記クライアントから送信された映像セグメントデータロードリクエストを受信することであって、上記映像セグメントデータロードリクエストは仮想場面においてユーザの現在位置を表すために使用される、受信することと、上記ユーザの上記現在位置に対応する現在の映像セグメントデータを上記クライアントにフィードバックするように上記ネットワーク通信ポートを制御して、上記クライアントが上記現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中に上記ユーザの現在の視野角を取得することと、上記クライアントから送信された目標映像セグメントデータのデータ識別子を、上記ネットワーク通信ポートを介して受信することであって、上記目標映像セグメントデータを対象とする目標指定視野角が上記現在の視野角と合致する、受信することとを行うように構成される。
【００１２】
上記の目的を達成するため、本開示の実施形態はさらに、仮想場面における映像再生方法を提供し、映像セグメントデータセットが提供され、上記映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、上記映像セグメントデータは映像セグメントを表し、各映像セグメントデータは少なくとも１つの指定視野角、および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、上記方法は、上記映像セグメントデータセットから、上記仮想場面においてユーザの現在位置に対応する現在の映像セグメントデータを決定する段階と、上記現在の映像セグメントデータにより表される映像セグメントを再生し、再生中に上記ユーザの現在の視野角を取得する段階と、上記現在の映像セグメントデータの少なくとも１つの指定視野角から、上記現在の視野角に合致する目標指定視野角を決定する段階であって、上記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、上記現在の映像セグメントデータにより表される上記映像セグメントの上記再生の最後に再生される、決定する段階とを備える。
【００１３】
上記の目的を達成するため、本開示の実施形態はさらにクライアントを提供し、上記クライアントは、メモリ、ディスプレイ、およびプロセッサを備え、上記メモリは映像セグメントデータセットを格納するように構成され、上記映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、上記映像セグメントデータは映像セグメントを表し、映像セグメントデータはそれぞれ、少なくとも１つの指定視野角、および上記指定視野角が対象とする映像セグメントデータを表すデータ識別子を含み、上記ディスプレイは映像セグメントを表示するように構成され、上記プロセッサは、上記メモリの上記映像セグメントデータセットから仮想場面におけるユーザの現在位置に対応する現在の映像セグメントデータを決定することと、上記ディスプレイを介して、上記現在の映像セグメントデータにより表される映像セグメントを再生し、再生中に上記ユーザの現在の視野角を取得することと、上記現在の映像セグメントデータの少なくとも１つの指定視野角から、上記現在の視野角と合致する目標指定視野角を決定することであって、上記目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、上記現在の映像セグメントデータにより表される上記映像セグメントの上記再生の最後に再生される、決定することとを行うように構成される。
【００１４】
上記を考慮して、本開示の実施形態はユーザに対して継続的に映像セグメントを再生することができ、これによりユーザは仮想場面でオブジェクトを閲覧することができる。具体的には、現在の映像セグメントデータがユーザに対して再生されているとき、ユーザの現在の視野角が決定可能であり、次に再生される映像セグメントがユーザの現在の視野角に従って決定可能である。このように、現在の映像セグメントの再生が完了すると、次の映像セグメントが再生可能となる。ユーザの視野角が変化するにつれて、ユーザの前に提示される映像コンテンツも変化してよい。このように、ユーザは、視野角を介して、前進、後進、停止などの動作を行うことができ、外部機器の使用を避けて真の没入型の体験をすることができる。
【図面の簡単な説明】
【００１５】
本開示の実施形態における技術的解決方法を説明するために、本実施形態の説明に使用される図面について以下簡潔に説明する。以下の記載において、図面は本実施形態の一部を示すに過ぎない。当業者は、本図面を基に過度の負担なく他の図面についても取得することができる。
【００１６】
【図１】本開示のいくつかの実施形態に係るサーバとクライアントと間のインタラクションを示すインタラクション図である。
【００１７】
【図２】本開示のいくつかの実施形態に係る現実場面を示す図である。
【００１８】
【図３】本開示のいくつかの実施形態に係る映像セグメントを示す図である。
【００１９】
【図４】本開示のいくつかの実施形態に係るトランスポートストリーム（ＴＳ）形式のデータを示す図である。
【００２０】
【図５】本開示のいくつかの実施形態に係る順方向映像セグメントおよび逆方向映像セグメントを示す図である。
【００２１】
【図６】本開示のいくつかの実施形態に係るクライアントのブロック図である。
【００２２】
【図７】、本開示のいくつかの実施形態に係るサーバのブロック図である。
【００２３】
【図８】本開示のいくつかの実施形態に係るクライアントにより実行される映像再生方法のフローチャートである。
【００２４】
【図９】本開示のいくつかの実施形態に係るクライアントを示すブロック図である。
【発明を実施するための形態】
【００２５】
本開示の技術的解決方法について当業者の理解を助けるために、本開示の実施形態の技術的解決方法について、以下図面を参照しつつ明確かつ十分に説明する。下記の実施形態は、実施形態のすべてではなく一部に過ぎない。本開示の実施形態に基づき、当業者が創意工夫を要することなく取得する他のすべての実施形態も本開示の範囲内とする。
【００２６】
本開示の実施形態は、仮想場面における映像再生方法およびデータ提供方法を提供する。映像再生方法はクライアントに適用することができ、データ提供方法はサーバに適用することができる。サーバは、パノラマ映像データを格納することができるデバイスであってよい。具体的には、サーバは映像サービスを提供することができるウェブサイトのバックグラウンド処理サーバであってよい。現在のウェブサイトの例には、ｉＱＩＹＩ、Ｓｏｈｕ  Ｖｉｄｅｏ、またはＡｃｆｕｎが含まれるが、これらに限定されない。１つの実施形態において、サーバは、データ演算機能および記憶機能、ならびにネットワークインタラクション機能を有する電子機器であってよい。代替的に、または前述と組み合わせて、サーバは、電子機器で動作し、データ処理、記憶、およびネットワークインタラクションをサポートするソフトウェアを備えてよい。本開示において、サーバの数は特に限定されない。１つまたは複数のサーバが存在してもよい。あるいは複数のサーバによりサーバクラスタが形成されてもよい。
【００２７】
１つの実施形態において、クライアントはパノラマ映像データをレンダリングし、ユーザの視野角を取得可能な電子機器であってよい。クライアントは、例えば、ユーザ視野角の取得機能を有するデスクトップ型コンピュータ、タブレット型コンピュータ、ノートブック型コンピュータ、スマートフォン、デジタルアシスタント、スマートウェアラブルデバイス、ショッピングガイド端末、またはテレビなどであってよい。代替方法として、あるいは前述と組み合わせて、クライアントは上記の電子機器で動作できるソフトウェアでもよい。具体的には、クライアントは、映像ウェブサイトプラットフォームにより提供されるアクセスポータルにロード可能な電子機器上のウェブブラウザであってよい。映像ウェブサイトプラットフォームは、例えば、ｉＱＩＹＩ、Ｓｏｈｕ  Ｖｉｄｅｏ、またはＡｃｆｕｎであってよく、アクセスポータルは、これらのウェブサイトプラットフォームのホームページであってよい。クライアントは、映像ウェブサイトプラットフォームにより提供され、インテリジェント端末で動作するアプリケーションであってもよい。
【００２８】
図１は、本開示のいくつかの実施形態に係るサーバとクライアント間のインタラクションを示すインタラクション図である。
【００２９】
ステップＳ１：サーバから送信された現在の映像セグメントデータを受信する。このとき、現在の映像セグメントデータは映像セグメントを表し、現在の映像セグメントデータは少なくとも１つの指定視野角、および指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。
【００３０】
１つの実施形態において、現実場面のパノラマ映像が前もって撮られてよく、当該パノラマ映像を基に現実場面に対応する仮想場面が構築されてよい。１つの実施形態において、現実場面は通常、人々が歩く経路を少なくとも１つ含む。人々はその経路を歩きながら経路沿いの光景を見ることができる。１つの実施形態において、パノラマ映像は、現実場面の各経路で取得されてよい。例えば、図２を参照すると、現実場面は８つの経路（１〜８）を含んでもよく、その８つの経路（１〜８）のそれぞれに対応するパノラマ映像が、実際の適用において別々に撮られてよい。具体的には、１つの経路は通常２つの歩行方向を含み得るため、人々は、経路に沿って異なる方向に歩くと、異なる順序で光景を見る。これに基づいて、本実施形態では、２方向のパノラマ映像が経路ごとに別々に撮られてよい。このように、各経路は２つの映像に対応可能である。例えば、図２に示す８とラベルが付いた経路において、左から右の歩行方向でパノラマ映像が撮られてよく、さらに右から左の歩行方向でパノラマ映像が撮られてよい。このように、８の番号が付いた経路は２つのパノラマ映像に対応可能である。
【００３１】
１つの実施形態において、各経路に対応するパノラマ映像が撮られた後、各映像は指定時間間隔で少なくとも１つの映像セグメントに分割されてよい。例えば、経路のパノラマ映像は合計２５秒であってよく、毎秒２５個のフレームを有する。この例において、パノラマ映像が１秒の時間間隔で２５個の映像セグメントに分割されてよく、各映像セグメントは２５個のフレームを含む。例えば、図３を参照すると、パノラマ映像は合計ｎ個の映像セグメント（Ｓ１、Ｓ２、Ｓ３…Ｓｎ）に分割されてよく、各映像セグメント（Ｓ１、Ｓ２、Ｓ３…Ｓｎ）は２５個のフレームを含んでよい。このように、Ｓ２の番号が付いた映像セグメントはフレーム２６からフレーム５０を含んでよい。
【００３２】
１つの実施形態において、各パノラマ映像が複数の映像セグメントに分割された後、各少なくとも１つの指定視野角が映像セグメントごとに設定されてよい。具体的には、指定視野角はアジマス角およびピッチ角の組み合わせであってよい。１つの実施形態において、指定視野角は仮想場面において進行方向を表してよい。例えば、指定視野角（０、０）が前方右の進行方向を表してよく、指定視野角（π、０）が後方右の進行方向を表してよく、指定視野角（π／４、０）が前方左の進行方向を表してよい。例えば、図２を参照すると、８の番号が付いた経路において、指定視野角（０、０）が左から右の進行方向を表してよく、指定視野角（π、０）が右から左の進行方向を表してよい。８の番号が付いた経路と５の番号が付いた経路との交差点に進むとき、指定視野角（−３π／８、０）は５の番号が付いた経路へと進路変更する進行方向を表してよい。
【００３３】
１つの実施形態において、各映像セグメントに対応する指定視野角は、経路の映像セグメントに示されるコンテンツの位置に従って決定されてよい。例えば、図２の経路８について、映像セグメントに示されるコンテンツが経路８の開始地点である場合、映像セグメントは通常、前方への歩行を表す１つの指定視野角みに対応してよい。映像セグメントに示されるコンテンツが経路８の中間にある場合、映像セグメントは通常、前方への歩行および後方への歩行についての２つの指定視野角に対応してよい。映像セグメントに示されるコンテンツが経路８の終端にあり、終端が経路５、経路６、および経路７とそれぞれ交差している場合、当該映像セグメントは通常、複数の指定視野角に対応してよい。複数の指定視野角とは、経路５に方向転換する指定視野角、経路６に歩行を進める指定視野角、経路７に方向転換する指定視野角、および後方へと歩行する指定視野角である。
【００３４】
１つの実施形態において、ある映像セグメントのために設定される各指定視野角は、別の映像セグメントを別々に対象としてよい。映像セグメントを対象としている指定視野角が、現在の映像セグメントの再生が完了した後、再生される次の映像セグメントが現在の映像セグメントのために設定された指定視野角に従って決定可能であることを表してよい。
【００３５】
１つの実施形態において、各映像セグメントは通常、データ形式でサーバに格納され、サーバは映像セグメントデータセットを有することができる。映像セグメントデータセットは、特定のデータ形式としてサーバに格納されてよい。データ形式は、例えば、ＭｙＳＱＬ、Ｏｒａｃｌｅ、ＤＢ２、およびＳｙｂａｓｅを含むデータベースにより格納されるデータ形式であってよいが、これらに限定されない。映像セグメントデータセットは、個々の映像セグメントデータを含んでよい。このとき、各映像セグメントデータは対応する映像セグメントを表してよい。映像セグメントを表す映像セグメントデータは、対応する映像セグメントが当該映像セグメントデータに従ってレンダリングすることにより取得可能であるということを意味してよい。１つの実施形態において、映像セグメントごとに設定された指定角は、映像セグメントデータにも含まれてよい。このように、各映像セグメントデータは少なくとも１つの指定角を含むことができる。
【００３６】
１つの実施形態において、サーバに格納された個々の映像セグメントデータはデータ識別子を有してよい。データ識別子および対応する映像セグメントデータは、キー／バリューのペア形式で格納されてよい。データ識別子はキーであってよく、対応する映像セグメントデータはバリューであってよい。このように、対応する映像セグメントデータはデータ識別子を介して探し出すことができる。これに基づいて、映像セグメントデータは、少なくとも１つの指定視野角を含むだけでなく、指定視野角が対象とする映像セグメントデータを表すデータ識別子を含んでもよい。例えば、１つの映像セグメントデータは２つの指定視野角（０、０）および（π、０）を含む。このとき、指定視野角（０、０）が対象とする映像セグメントデータのデータ識別子がＳ２であってよく、指定視野角（π、０）が対象とする映像セグメントデータのデータ識別子がＳ１０であってよい。
【００３７】
１つの実施形態において、指定視野角および対応するデータ識別子が映像セグメントデータに固定フォーマットで書き込まれてよい。例えば、指定視野角および指定視野角の対応するデータ識別子が映像セグメントデータの指定フィールドに書き込まれてよい。指定視野角およびデータ識別子を書き込む順序は指定フィールドに予め定義されてよい。例えば、対応する指定視野角とデータ識別子のペアについて、指定フィールド内のデータ識別子の前に指定視野角が書き込まれてよい。このように、サーバまたはクライアントが映像セグメントデータを読み込むときに、指定フィールドのコンテンツについては、指定視野角およびデータ識別子が順番に読み込まれてよい。継続的に読み込まれた指定視野角およびデータ識別子は、対応する指定視野角とデータ識別子とのペアとして使用される。例えば、映像セグメントデータは、２つの指定視野角（０、０）および（π、０）を含んでもよく、（０、０）に対応する映像セグメントデータのデータ識別子がＳ２であってよく、（π、０）に対応する映像セグメントデータのデータ識別子がＳ１０であってよい。次に、「（０、０）、Ｓ２、（π、０）、Ｓ１０」のような文字列が、映像セグメントデータの指定フィールドに書き込まれてよい。もちろん、実際の適用のシナリオにおいて、指定視野角およびデータ識別子は両方とも、映像セグメントデータの形式に従ってバイナリ形式で書き込まれてよい。前述の文字列は、説明しやすいように与えられた単なる一例であり、本開示の技術的解決方法の実装にいかなる制限も設けるものではない。サーバまたはクライアントが映像セグメントデータを読み込むと、前述の文字列のコンテンツが順番に読み込まれてよい。これにより、対応する指定視野角およびデータ識別子が識別され得る。
【００３８】
１つの実施形態において、個々の映像セグメントデータはサーバに格納されてよい。具体的には、複数の場面における映像セグメントデータがサーバに格納されてよく、異なる場面を区別するために、同じ場面の識別子が同じ場面の映像セグメントデータに割り当てられてよい。
【００３９】
１つの実施形態において、個々の場面を表すリンクがクライアントに表示されてよい。リンクはテキストリンクであっても、イメージリンクであってもよい。場面へのリンクは対応する場面識別子に結合されてよい。ユーザがある場面へのリンクをトリガーすると、場面識別子を含む映像ロードリクエストがサーバに送信され得る。
【００４０】
１つの実施形態において、サーバは、映像ロードリクエストを受信すると、場面識別子を映像ロードリクエストから取り出し、映像セグメントデータベースにおいて場面識別子に対応する映像セグメントデータを探し出してよい。１つの実施形態において、ある場面に対応する映像セグメントデータが１つの初期映像セグメントデータを含んでもよく、初期映像セグメントデータにより表される映像セグメントが、ユーザに対して再生される最初の映像セグメントデータとして使用されてよい。このように、サーバは、映像ロードリクエストを受信すると、初期映像セグメントデータをサーバにフィードバックすることができる。例えば、ユーザが図２に示す場面へのリンクをトリガーした場合、サーバは経路８の開始位置で映像セグメントデータをクライアントにフィードバックしてよい。経路８の開始位置における映像セグメントデータは、当該場面に対応する初期映像セグメントデータになり得る。このように、映像再生が開始されたとき、ユーザの視覚体験としては、ユーザが経路８の開始位置にいるということになる。
【００４１】
１つの実施形態において、ユーザがある場面のリンクをクライアント上でトリガーした場合、サーバはさらに、当該場面の平面図をクライアントにフィードバックしてよく、当該平面図には少なくとも１つの選択可能な位置が設けられてよい。例えば、図２に示す場面において、経路８および経路５の開始位置はともに選択可能である。このように、ユーザは平面図のある位置を選択してよく、当該位置の情報がサーバに送信されてよい。このように、サーバは位置情報に対応する映像セグメントデータをクライアントにフィードバックすることができ、映像セグメントの再生が開始されたとき、ユーザの視覚体験としては、ユーザが前回選択した位置にいるということになる。
【００４２】
１つの実施形態において、クライアントが現在受信した映像セグメントデータは、現在の映像セグメントデータとして使用されてよい。現在の映像セグメントデータは、映像セグメントを表してよい。映像セグメントを表す現在の映像セグメントデータは、映像セグメントが現在の映像セグメントデータをレンダリングすることにより取得可能であるということを意味してよい。１つの実施形態において、上記によると、現在の映像セグメントデータは少なくとも１つの指定視野角および指定視野角が対象とする映像セグメントデータを表すデータ識別子を含んでよい。
【００４３】
ステップＳ２：現在の映像セグメントデータにより表される映像セグメントを再生し、再生中にユーザの現在の視野角を取得する。
【００４４】
１つの実施形態において、サーバから送信された現在の映像セグメントデータを受信したとき、クライアントはＯｐｅｎ  ＧＬまたはＷｅｂＧＬなどの描画規格を使用して現在の映像セグメントデータを対応する映像セグメントにレンダリングし、レンダリングによって取得された映像セグメントを再生してよい。レンダリングにより取得された映像セグメントは現実場面において前もって撮られているため、映像セグメントが再生されているとき、ユーザの視覚体験としては、ユーザは仮想場面において映像セグメントが撮られた方向に移動するということになる。
【００４５】
１つの実施形態において、レンダリングにより取得されたパノラマ映像セグメントを見ているとき、ユーザは、クライアントと対話することによって、クライアントが再生する現在の視野角を変更してよい。クライアントが再生する現在の視野角が変化するにつれて、ユーザの前に表現されている光景も異なってよい。このように、クライアントが再生する現在の視野角は、ユーザの現在の視野角として使用されてよい。１つの実施形態において、仮想現実（ＶＲ）眼鏡に頼らずに、ユーザは、クライアントの画面をスワイプすることで、クライアントが再生する現在の視野角を変更することができる。例えば、ユーザが指でクライアントの画面を右にスワイプした場合、クライアントが再生する現在の視野角を左にそらすことができる。これは、ユーザの現在の視野角が左にそれたことと同等であり、これにより経路の左側の光景を見ることができる。さらに、ＶＲ眼鏡を利用して、ユーザは頭部を動かすことで現在の視野角を変更することができる。ユーザが頭部を動かすと、それに応じて、ＶＲ眼鏡のジャイロスコープの効果により、ユーザの前に提示される映像コンテンツも変化する。例えば、ユーザが頭部を左に動かすと、ＶＲ眼鏡が再生する現在の視野角を左にそらすことができ、ユーザは経路の左側の光景を見ることができる。
【００４６】
１つの実施形態において、現在の映像セグメントデータにより表される映像セグメントを再生するプロセスにおいて、ユーザの現在の視野角は特定の時点において取得されてよい。ユーザの現在の視野角は、ユーザが現在見ている方向を示してよい。１つの実施形態において、再生される次の映像セグメントが、ユーザが現在見ている方向に従って決定されてよい。具体的には、クライアントは通常、ユーザに映像セグメントを表示するときに、再生用の初期視野角を有している。例えば、図２の経路８の開始位置での映像セグメントがユーザに示されているとき、再生用の初期視野角は経路８に沿った左から右の順方向であってよい。次に、クライアントが再生する視野角を変更するようユーザがクライアントと対話するとき、変更された再生用の視野角と再生用の初期視野角との間の角度がユーザの現在の視野角として使用されてよい。例えば、再生用の初期視野角は（０、０）であってよい。このとき、最初の０はアジマス角が０°であることを示し、２番目の０はピッチ角が０°であることを示している。そして、ユーザがクライアントの画面をスワイプする、またはユーザが頭部の向きを変えると、クライアントが再生する視野角が変更され、変更された再生用の視野角と再生用の初期視野角との間の角度は（２０、６０）であってよい。このとき、２０はアジマス角間の角度が２０°であることを示し、６０はピッチ角間の角度が６０°であることを示している。このように、（２０、６０）はユーザの現在の視野角として使用することができる。もちろん、上述の例では、現在の視野角はアジマス角とピッチ角とで表される。実際の適用においては、現在の視野角はさらに、極座標または緯度および経度で表されてよいが、本開示において限定されない。
【００４７】
１つの実施形態において、ユーザの現在の視野角を取得する時点は、現在の映像セグメントデータにより表される映像セグメントの再生がもうすぐ終わる時点であってよい。再生がもうすぐ終わる時点は、定量的に決定されてよい。具体的には、ユーザの現在の視野角を取得する時点は、映像セグメント内のフレーム総数に対する、残りの未再生フレーム数または再生済みフレーム数の比率に従って決定されてよい。例えば、ユーザの現在の視野角取得の命令は、フレーム総数に対する残りの未再生フレーム数の比率が１０％まで減少したときにトリガーされてよい。例えば、ユーザの現在の視野角取得の命令は、フレーム総数に対する再生済みフレーム数の比率が８０％まで増加したときにトリガーされてよい。もちろん、実際の適用において、ユーザの現在の視野角を取得する時点はさらに、総時間に対する、再生済み映像セグメントの時間または残りの未再生映像セグメントの時間の比率に従って決定されてよい。
【００４８】
ステップＳ３：少なくとも１つの指定視野角から現在の視野角に合致する目標指定視野角を決定する。このとき、当該目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生される。
【００４９】
１つの実施形態において、ユーザの現在の視野角が決定された後、現在の映像セグメントデータの少なくとも１つの指定視野角から現在の視野角に合致する目標指定視野角が決定されてよい。具体的には、目標指定視野角に合致する現在の視野角は、現在の視野角が目標指定視野角と同じであること、または現在の視野角と目標指定視野角との間の角度が指定範囲内にあることを意味してよい。指定範囲は、予め定められた角度値であってよい。アジマス角およびピッチ角については、異なる角度値が設定されてもよいし、同じ角度値が設定されてもよい。例えば、アジマス角およびピッチ角に対応する角度値は、ともに４５°に設定されてよい。そして、現在の視野角におけるアジマス角間およびピッチ角間の角度、および少なくとも１つの指定視野角のうちの特定の角度がともに４５°以内である限り、指定視野角を現在の視野角の目標指定視野角として使用することができる。例えば、少なくとも１つの指定視野角のうちのある指定視野角が（０、０）であり、現在の視野角は（３０、−２０）である。そして、現在の視野角におけるアジマス角間およびピッチ角間の角度、および指定視野角のアジマス角およびピッチ角がともに４５°以内であるため、（０、０）を目標指定視野角（３０、−２０）として使用することができる。
【００５０】
１つの実施形態において、目標指定視野角が決定された後、目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントを再生される次の映像セグメントにすることができる。したがって、ユーザは、現在の視野角を変更することにより、どの映像セグメントが次に再生されるかを決定することができる。例えば、クライアント上で現在再生中の映像セグメントは、図２の経路８の右端の終了位置のコンテンツを示している。映像セグメントの再生がもうすぐ終わるとき、クライアントにより取得されるユーザの現在の視野角は（３π／４、０）である。つまり、ユーザの現在の視線は、経路７の方向にそれる。現在再生中の映像セグメントに対応する映像セグメントデータは４つの指定角を含み、それぞれ、（０、０）、（π／２、０）、（−π／２、０）、（π、０）である。各指定角は±π／４の角度範囲に対応してよい。そして、現在の視野角と指定視野角との間の角度を計算することにより、現在の視野角と（π／２、０）との間の角度がπ／４の角度範囲内にあるので、（π／２、０）が現在の視野角の目標指定視野角として使用可能であることが分かる。目標指定視野角（π／２、０）が対象とする映像セグメントは経路７の最上端の開始位置の映像セグメントである。そして、経路７の最上端の初期位置の映像セグメントを、経路８の終了位置の映像セグメントの再生が完了した後に再生することができる。ユーザの視覚効果としては、経路の終端で右を見たとき、ユーザは自動的に後方経路に方向転換して進む。これにより、ユーザの視野角を介して仮想場面におけるユーザの位置を変更する機能が実装される。
【００５１】
上記を考慮して、目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントを、現在の映像セグメントデータにより表される映像セグメントの再生終了後に再生して、ユーザに対して位置移動の視覚効果を生み出すことができる。これにより、実装の複雑性が低減される（現在の視野角のみ変更すればよい）とともに、ゲームパッド、マウス、およびキーボードなどの外部機器の使用を避けることができるので、コストが削減され、ユーザ体験が向上する。
【００５２】
特定の適用シナリオにおいて、ユーザはＶＲ眼鏡を着用して仮想場面の光景を閲覧してよい。ＶＲ眼鏡は、個々の映像ウェブサイトのサーバと通信可能に接続されるネットワーク通信ポートを備えてよい。ユーザはＶＲ眼鏡を介して映像ウェブサイトのホームページを訪問し、視線を通してホームページ上の興味のあるパノラマ映像を選択してよい。例えば、ユーザは現在、図２に示す場面のパノラマ映像を選択している。この場合、映像ウェブサイトのサーバは、経路８の開始位置の映像セグメントデータをユーザのＶＲ眼鏡にフィードバックしてよい。このように、ＶＲ眼鏡が映像セグメントデータをレンダリングし、レンダリングにより取得された映像セグメントをユーザに対して再生する場合、視覚効果としては、ユーザは経路８の開始位置にいる。映像セグメントの再生がもうすぐ終わるとき、ＶＲ眼鏡はユーザの現在の視野角を取得してよい。現在の視野角が（０、０）のとき、ユーザは現在、前方右側の光景を見ていることを示す。この場合、ＶＲ眼鏡は、開始位置を表す映像セグメントデータ内のヘッダデータフィールドから、指定視野角（０、０）に対応する映像セグメントデータのデータ識別子を読み込んでよく、また映像ウェブサイトのサーバに当該データ識別子をフィードバックしてよい。このように、映像ウェブサイトのサーバは、データ識別子が対象とする映像セグメントデータをＶＲ眼鏡にフィードバックすることができる。現在の映像セグメントの再生終了後、ＶＲ眼鏡は、映像ウェブサイトのサーバから再び取得した映像セグメントデータにより表される映像セグメントを引き続き再生してよい。このように、ユーザの視覚体験としては、視線が経路の前方に固定されている場合、ユーザは仮想場面において直進することができ、ユーザが経路の反対方向を向いた場合、ユーザは経路の反対方向に進むことができる。このように、ユーザは現在の視野角を変更することにより仮想場面での歩行方向を決定することができる。これにより、実装の複雑性が低減されるとともに、ゲームパッド、マウス、およびキーボードなどの外部機器の使用を避けることができるので、コストが削減され、ユーザ体験が向上する。
【００５３】
１つの実施形態において、現在の映像セグメントデータはヘッダデータフィールドおよび本体データフィールドを含んでよい。ヘッダデータフィールドは、ネットワーク内で映像セグメントデータを伝送するために必要な情報で占められてよい。ヘッダデータフィールドの構成要素は通常固定されている。本体データフィールドのデータは、クライアント上に示される映像セグメントを取得するために、クライアントによりレンダリングされてよい。１つの実施形態において、少なくとも１つの指定視野角および指定視野角が対象とする映像セグメントデータを表すデータ識別子は、ヘッダデータフィールドに格納されてよい。このように、現在の映像セグメントデータを受信したとき、クライアントは当該データのヘッダデータフィールドを読み込み、そこに含まれる指定視野角およびデータ識別子を取得することができる。例えば、図４を参照すると、現在の映像セグメントデータはトランスポートストリーム（ＴＳ）形式で書き込まれてよく、ＴＳ形式のデータがヘッダデータフィールドおよびペイロードフィールドを含んでよい。ペイロードフィールドは上述した本体データフィールドであってよく、ペイロードフィールドは、現在の映像セグメントを取得するためにレンダリング用のデータで占められてよい。ヘッダデータフィールドは、同期バイトフィールド、伝送エラーフラグフィールド、ペイロード開始フラグフィールド、伝送優先度フラグフィールド、データ型フィールド、スクランブリング優先度フラグフィールド、アダプテーションフィールド制御フラグフィールド、連続性カウンタフィールド、アダプティブフィールドフィールドを含んでよい。上記のフィールドはＴＳ形式で定義されてよい。アダプティブフィールドフィールドはさらに、複数のフィールドを含んでよい。具体的には、図４に示すように、アダプティブフィールドフィールドは、アダプティブフィールド長フィールド、不連続性フラグフィールド、ランダムアクセスフラグフィールド、エレメンタリストリーム優先度フラグフィールド、フラグフィールド、任意フィールドフィールド、パディングバイトフィールドを含んでよい。アダプティブフィールドフィールドの上記のフィールドも、ＴＳ形式で定義されてもよい。１つの実施形態において、任意フィールドフィールドはさらに、プログラムクロックリファレンス（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ、ＰＣＲ）フィールド、カレントプログラムクロックリファレンス（Ｃｕｒｒｅｎｔ  Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ、ＣＰＣＲ）フィールド、スプライスカウントダウンフィールド、トランスポートプライベートデータ長フィールド、プライベートデータフィールド、アダプティブフィールド拡張長フィールド、フラグフィールド、および任意フィールドフィールドを含んでよい。ＴＳ形式の上記フィールドはすべて、ＴＳ形式で予め定義されてよい。１つの実施形態において、少なくとも１つの指定視野角および指定視野角が対象とする映像セグメントデータを表すデータ識別子は、ヘッダデータフィールドのプライベートデータフィールドに格納されてよい。プライベートデータフィールドにおいて、指定視野角およびデータ識別子はＴＳ形式��要件に従って書き込まれてよい。具体的には、プライベートデータフィールド長は８ビットで示されてよい。すなわち、最大２５５バイトを保持できる。１つの実施形態において、指定視野角とデータ識別子の各セットは、単位構造として使用されてよい。このとき、各単位構造は１２バイトを占めてよい。各単位構造は、２つの浮動小数点型で表される指定視野角、および整数型で表されるデータ識別子を含んでよい。２つの浮動小数点型は、それぞれ、指定視野角のアジマス角およびピッチ角を表すために使用される。例えば、現在の映像セグメントデータが２組の指定視野角とデータ識別子を含み、指定視野角とデータ識別子の各組が１２バイトで表される場合を仮定する。この場合、当該２組の指定視野角およびデータ識別子は、現在の映像セグメントデータにおいて２４バイトで表されてよい。なお、ＴＳ形式の上記データは本開示の１つの実施形態の技術的解決方法を説明するための一例に過ぎず、本実施形態がＴＳ形式のデータのみに適用されるということが示されているわけではない。実際は、カスタムフィールドが存在する限り、指定視野角およびデータ識別子はともに、他のデータ形式のカスタムフィールドを介して書き込み可能である。
【００５４】
１つの実施形態において、少なくとも１つの指定視野角から現在の視野角と合致する目標指定視野角が決定された後、クライアントはさらに、当該目標指定視野角が対象とする映像セグメントデータのデータ識別子をサーバに送信し、サーバから目標指定視野角が対象とする映像セグメントデータをサーバから取得してよい。
【００５５】
１つの実施形態において、データ識別子および映像セグメントデータは、関連した方式でサーバに格納されてよい。具体的には、データ識別子および対応する映像セグメントデータは、キー／バリューのペア形式で格納されてよい。データ識別子はキーであってよく、対応する映像セグメントデータはバリューであってよい。このように、対応する映像セグメントデータはデータ識別子を介して探し出すことができる。このように、クライアントから目標指定視野角が対象とする映像セグメントデータのデータ識別子を受信すると、サーバは映像セグメントデータベースから受信したデータ識別子に対応する映像セグメントデータを取得し、クライアントに映像セグメントデータをフィードバックすることができる。これにより、現在の映像セグメントの再生の後で、クライアントは映像セグメントデータが表す映像セグメントを再生する。目標指定視野角はデータ識別子に対応し、当該データ識別子はさらに映像セグメントデータに関連付けられてよい。これにより、映像セグメントデータを目標指定視野角が対象とする映像セグメントデータとして見なすことができる。
【００５６】
１つの実施形態において、映像再生の滑らかさを向上させるために、現在の映像セグメントが再生されるとき、現在の映像セグメントに関連する他の映像セグメントがクライアントに予めロードされてよい。これにより、次に再生される映像セグメントが、現在の映像セグメントの再生が完了した後、ローカルで直接呼び出し可能となる。具体的には、本実施形態において、サーバから送信された現在の映像セグメントデータが受信された後、現在の映像セグメントデータに含まれる個々の映像セグメントデータのデータ識別子が対象とする映像セグメントデータがサーバよりさらに取得されてよい。例えば、現在の映像セグメントデータは合計４組の指定視野角とデータ識別子を含む。そして、現在の映像セグメントデータを受信するとき、クライアントは当該データに含まれる４つのデータ識別子を特定し、当該４つのデータ識別子を含むデータ取得リクエストをサーバに送信してよい。これにより、４つのデータ識別子が対象とする映像セグメントデータはサーバからローカルで予めロード可能となる。このように、少なくとも１つの指定視野角から現在の視野角と合致する目標指定視野角が決定された後、取得された個々の映像セグメントデータから目標指定視野角が対象とする目標映像セグメントデータを決定することができ、現在の映像セグメントデータにより表される映像セグメントの再生の最後に、目標映像セグメントデータにより表される映像セグメントが再生可能となる。映像セグメントデータを予めロードするこのような方法により、映像再生の滑らかさを向上させることができる。
【００５７】
１つの実施形態において、仮想場面の経路はそれぞれ、順方向および逆方向を含んでよい。これによると、サーバの映像セグメントデータはそれぞれ方向情報をさらに含み、当該方向情報は、映像セグメントが経路の順方向で再生されるか経路の逆方向で再生されるかを示すために使用されてよい。例えば、図２の経路８において左から右の再生順序を有する映像セグメントに対応する方向情報が順方向であり、右から左の再生順序を有する映像セグメントに対応する方向情報が逆方向である。ユーザが仮想場面において移動する場合を考えると、動作軌道は通常、所定の慣性を有する。この慣性は、ユーザに対して再生される現在の映像セグメントが順方向映像セグメントの場合、再生される次の映像セグメントは順方向映像セグメントである可能性が高いことにも反映される。これによると、サーバから送信された現在の映像セグメントデータが受信された後、現在の映像セグメントデータの方向情報と一致する方向情報を有する映像セグメントデータのデータ識別子が、現在の映像セグメントデータに含まれる個々のデータ識別子から決定されてよく、決定されたデータ識別子が対象とする映像セグメントデータがサーバから取得されてよい。このように、現在の映像セグメントデータを取得した後に、クライアントは、現在の映像セグメントデータの方向情報と一致する方向情報を有する映像セグメントデータをサーバから直ちに取得してよい。このように、現在の映像セグメントの再生が完了した後、一貫した方向情報を有し、サーバから取得された映像セグメントが再生される可能性が高いため、予めロードされることにより映像再生の滑らかさが向上する。
【００５８】
１つの実施形態において、映像セグメントデータの各指定視野角は視野角範囲に対応してよい。視野角範囲は指定視野角を含んでよい。例えば、指定視野角（０、０）に対応する視野角範囲は（−π／４、０）から（π／４、０）であってよい。このように、少なくとも１つの指定視野角から現在の視野角に合致する目標指定視野角を決定する場合、現在の視野角の視野角範囲が決定され、決定された視野角範囲に対応する指定視野角が目標指定視野角として使用されてよい。例えば、現在の視野角は（π／８、０）である。現在の視野角が視野角範囲（−π／４、０）から（π／４、０）内にあると、当該視野角範囲に対応する指定視野角（０、０）を現在の視野角の目標指定視野角として使用することができる。
【００５９】
１つの実施形態において、現在の視野角に合致する目標指定視野角が少なくとも１つの指定視野角に存在しない場合、次に再生される映像スライスはユーザの現在の視野角に従って決定不可能であることを示す。この場合は仮想場面においてユーザが止まった状態に対応してよい。例えば、ユーザの現在の視野角が指定視野角に対応する視野角範囲外にある場合、現在の視野角に対応する目標指定視野角は存在しない。この場合、現在の映像セグメントデータにより表される映像セグメントのフレームは、現在の映像セグメントデータにより表される映像セグメントの再生の最後に表示されてよく、これにより、映像の一時停止効果が達成される。フレームの一貫性を保つために、一時停止されたフレームは通常、現在の映像セグメントの最後のフレームである。
【００６０】
１つの実施形態において、パノラマ映像を撮るコストを削減するために、指定方向のパノラマ映像のみが現実場面の経路ごとに撮られてよい。これによると、各経路は、当該経路の指定方向で撮られたパノラマ映像に関連付けられる。１つの実施形態において、指定方向のパノラマ映像は順方向パノラマ映像として使用されてもよく、指定方向と逆のパノラマ映像は逆方向パノラマ映像として使用されてよい。１つの実施形態において、パノラマ映像は、指定時間間隔で少なくとも１つの映像セグメントに分割されてよい。例えば、ある経路のパノラマ映像が毎秒合計２５フレーム、２５秒間である場合、当該パノラマ映像は、１秒の時間間隔で２５個の映像セグメントに分割されてよい。この場合、各映像セグメントは２５個のフレームを含む。
【００６１】
１つの実施形態において、パノラマ映像を分割することにより取得される映像セグメントに従って、当該映像セグメントにそれぞれ対応する逆方向映像セグメントが生成されてよい。このとき、逆方向映像セグメントの再生順序は対応する映像セグメントの再生順序の逆である。具体的には、パノラマ映像は３６０°の情報を含むため、順方向のパノラマ映像が逆順序で再生されるときに逆方向パノラマ映像が取得可能となる。具体的には、順方向パノラマ映像の各映像セグメントが逆に再生されて、逆方向パノラマ映像の各映像セグメントが取得される。このように、逆方向パノラマ映像および順方向パノラマ映像は同数の映像セグメントを含むことができ、逆方向パノラマ映像の映像セグメントの再生順序は、順方向パノラマ映像の対応する映像セグメントの再生順序の逆である。例えば、図５を参照すると、順方向パノラマ映像を分割することにより取得されるＳｎ個の映像セグメントは左側に表示され、各映像セグメントは２５フレームを含んでよい。このように、Ｓ２の番号が付いた映像セグメントはフレーム２６からフレーム５０を含んでよい。映像セグメントＳ２の再生はフレーム２６から開始し、フレーム５０まで各フレームを順に進むことができる。順方向パノラマ映像に従って逆方向パノラマ映像を生成する場合、順方向パノラマ映像の各映像セグメントが逆に再生されて、逆方向パノラマ映像の各映像セグメントを取得してよい。例えば、順方向パノラマ映像の映像セグメントＳ２について、フレーム５０が最初に再生されるフレームとして使用されてよく、フレーム２６が最後に再生されるフレームとして使用されてよい。このような順序で映像セグメントを再生することで、逆方向パノラマ映像において映像セグメントＳｎ＋１個を取得することができる。
【００６２】
図６を参照すると、本開示の実施形態は、ネットワーク通信ポート１００、ディスプレイ２００、プロセッサ３００、および内部通信バス４００を含むクライアントをさらに提供する。
【００６３】
ネットワーク通信ポート１００はサーバから送信された現在の映像セグメントデータを受信するように構成される。
【００６４】
ディスプレイ２００は映像セグメントを再生するように構成される。
【００６５】
プロセッサ３００は、ネットワーク通信ポートを介して、サーバから送信された現在の映像セグメントデータを受信することであって、現在の映像セグメントデータは映像セグメントを表し、現在の映像セグメントデータは少なくとも１つの指定視野角および指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む、受信することと、現在の映像セグメントデータにより表される映像セグメントを、ディスプレイを介して再生し、再生中にユーザの現在の視野角を取得することと、少なくとも１つの指定視野角から現在の視野角と合致する目標指定視野角を決定することであって、目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生される、決定することとを行うように構成される。
【００６６】
１つの実施形態において、ネットワーク通信ポート１００は、異なる通信プロトコルに従い、異なるデータを送受信する仮想ポートであってよい。例えば、ネットワーク通信ポートは、ポート８０（ウェブデータ通信を担当）であってもよく、ポート２１（ＦＴＰデータ通信を担当）であってもよく、ポート２５（メールデータ通信を担当）であってもよい。さらに、ネットワーク通信ポートは、物理的な通信インターフェースであっても通信チップであってもよい。例えば、ネットワーク通信ポートは、例えばＧＳＭ（登録商標）またはＣＤＭＡのようなワイヤレスモバイルネットワーク通信チップであってよい。ネットワーク通信ポートはさらに、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）チップであってよい。ネットワーク通信ポートはさらに、Ｂｌｕｅｔｏｏｔｈ（登録商標）チップであってよい。
【００６７】
１つの実施形態において、ディスプレイ２００は、特定の伝送装置を介して特定の電子ファイルを画面に表示し、当該電子ファイルを人間の目に映し出す表示ツールであってよい。ディスプレイは、液晶（ＬＣＤ）表示画面、ブラウン管（ＣＲＴ）表示画面、または発光ダイオード（ＬＥＤ）表示画面などを含んでよい。
【００６８】
プロセッサ３００は、任意の適切な方法で実装されてよい。例えば、プロセッサは、マイクロプロセッサまたはプロセッサおよび（マイクロ）プロセッサにより実行可能であるコンピュータ可読プログラムコード（例えば、ソフトウェアまたはファームウェア）を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能型論理制御器、ならびに内蔵マイクロ制御器の形式を利用してよい。本開示においてプロセッサの種類は限定されない。
【００６９】
上述の実施形態に開示されるクライアントのネットワーク通信ポート１００、ディスプレイ２００、プロセッサ３００、およびバス４００により実装される特定の機能は、本開示の実施形態の仮想場面における映像再生方法の実施形態を参照して説明されてもよく、本開示の実施形態の仮想場面における映像再生方法の実施形態を実装し、本方法の実施形態の技術効果を実現することができる。
【００７０】
本開示は、仮想場面におけるデータ提供方法をさらに提供し、本方法はサーバに適用可能である。１つの実施形態において、サーバは映像セグメントデータセットを備えてよい。映像セグメントデータセットは、少なくとも１つの映像セグメントデータを含み、当該映像セグメントデータは映像セグメントを表す。映像セグメントデータはそれぞれ、少なくとも１つの指定視野角および当該指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。図１を参照すると、本方法は次のステップを含んでよい。
【００７１】
ステップＳ１０：クライアントから送信された映像セグメントデータロードリクエストを受信する。このとき、映像セグメントデータロードリクエストは、仮想場面におけるユーザの現在位置を表すために使用される。
【００７２】
ステップＳ２０：ユーザの現在位置に対応する現在の映像セグメントデータをクライアントにフィードバックする。これにより、クライアントは現在の映像セグメントデータにより表される映像セグメントを再生し、再生中にユーザの現在の視野角を取得する。
【００７３】
ステップＳ３０：クライアントから送信された（Ｓ４０）目標映像セグメントデータのデータ識別子を受信する。このとき、目標映像セグメントデータが対象とする目標指定視野角は現在の視野角と合致する。
【００７４】
１つの実施形態において、個々の場面を表すリンクがクライアントに表示されてよい。リンクは、テキストリンクであっても、イメージリンクであってもよい。場面へのリンクは対応する場面識別子に結合されてよい。ユーザがある場面へのリンクをトリガーすると、場面識別子を含む映像ロードリクエストがサーバに送信可能となる。
【００７５】
１つの実施形態において、サーバは、映像ロードリクエストを受信すると、場面識別子を映像ロードリクエストから取り出し、映像セグメントデータベースにおいて場面識別子に対応する映像セグメントデータを探し出してよい。１つの実施形態において、ある場面に対応する映像セグメントデータは１つの初期映像セグメントデータを含んでもよく、初期映像セグメントデータにより表される映像セグメントは、ユーザに対して再生される最初の映像セグメントデータとして使用されてよい。このように、サーバは、映像ロードリクエストを受信すると、初期映像セグメントデータをサーバにフィードバックすることができる。例えば、ユーザが図２に示す場面へのリンクをトリガーした場合、サーバは経路８の開始位置における映像セグメントデータをクライアントにフィードバックしてよい。このとき、経路８の開始位置における映像セグメントデータを当該場面に対応する初期映像セグメントデータとすることができる。このように、映像再生が開始されたとき、ユーザの視覚体験としては、ユーザは経路８の開始位置にいるということになる。したがって、クライアントからサーバに送信された映像セグメントデータロードリクエストを仮想場面におけるユーザの現在位置を表すために使用することができる。このシナリオにおいて、仮想場面におけるユーザの現在位置を初期映像セグメントデータにより表される初期位置とすることができる。
【００７６】
１つの実施形態において、ユーザがクライアント上のある場面のリンクをトリガーした場合、サーバは当該場面の平面図をクライアントにさらにフィードバックしてもよく、当該平面図には少なくとも１つの選択可能な位置が設けられてよい。例えば、図２に示す場面において、経路８および経路５の開始位置はともに選択可能である。このように、ユーザは平面図においてある位置を選択してもよく、当該位置の情報は映像ロードリクエストとしてサーバに送信可能である。このように、サーバは位置情報に対応する映像セグメントデータをクライアントにフィードバックすることができ、ユーザの視覚体験としては、映像セグメントの再生が開始されたとき、ユーザは前回選択した位置にいるということになる。したがって、このシナリオにおいて、仮想場面におけるユーザの現在位置をユーザにより選択される位置とすることができる。
【００７７】
１つの実施形態において、ユーザの現在位置に対応する現在の映像セグメントデータを取得した後、サーバは、現在の映像セグメントデータをクライアントにフィードバックしてよい。１つの実施形態において、サーバから送信された現在の映像セグメントデータを受信したとき、クライアントはＯｐｅｎＧＬまたはＷｅｂＧＬなどの描画規格を使用して現在の映像セグメントデータを対応する映像セグメントにレンダリングし、レンダリングによって取得された映像セグメントを再生してよい。レンダリングにより取得された映像セグメントは現実場面において前もって撮られているため、映像セグメントが再生されているとき、ユーザの視覚体験としては、ユーザは仮想場面において映像セグメントが撮られた方向に移動するということになる。
【００７８】
１つの実施形態において、レンダリングにより取得されたパノラマ映像セグメントを見ているとき、ユーザは、クライアントと対話することによって、クライアントが再生する現在の視野角を変更してよい。クライアントが再生する現在の視野角が変化するにつれて、ユーザの前に表現されている光景も異なってもよい。このように、クライアントが再生する現在の視野角は、ユーザの現在の視野角として使用されてよい。１つの実施形態において、仮想現実（ＶＲ）眼鏡に頼らずに、ユーザはクライアントの画面をスワイプすることでクライアントが再生する現在の視野角を変更することができる。例えば、ユーザが指でクライアントの画面を右にスワイプした場合、クライアントが再生する現在の視野角を左にそらすことができる。これは、ユーザの現在の視野角が左にそれたことと同等であり、これにより経路の左側の光景を見ることができる。さらに、ＶＲ眼鏡を利用して、ユーザは頭部を動かすことで現在の視野角を変更することができる。ユーザが頭部を動かすと、それに応じて、ＶＲ眼鏡のジャイロスコープの効果により、ユーザの前に提示される映像コンテンツも変化する。例えば、ユーザが頭部を左側に動かすと、ＶＲ眼鏡が再生する現在の視野角を左にそらすことができ、ユーザは経路の左側の光景を見ることができる。
【００７９】
１つの実施形態において、現在の映像セグメントデータにより表される映像セグメントを再生するプロセスにおいて、ユーザの現在の視野角は特定の時点において取得されてよい。ユーザの現在の視野角は、ユーザが現在見ている方向を示してよい。１つの実施形態において、再生される次の映像セグメントが、ユーザが現在見ている方向に従って決定されてよい。具体的には、クライアントは通常、ユーザに映像セグメントを表示するときに、再生用の初期視野角を有している。例えば、図２の経路８の開始位置での映像セグメントがユーザに示されているとき、再生用の初期視野角は経路８に沿った左から右の順方向であってよい。次に、クライアントが再生する視野角を変更するようユーザがクライアントと対話するとき、再生のために変更された視野角と再生用の初期視野角との間の角度がユーザの現在の視野角として使用されてよい。例えば、再生用の初期視野角は（０、０）であってよい。このとき、最初の０はアジマス角が０°であることを示し、２番目の０はピッチ角が０°であることを示している。そして、ユーザがクライアントの画面をスワイプする、またはユーザが頭部の向きを変えると、クライアントが再生する視野角が変更され、変更された再生用の視野角と再生用の初期視野角との間の角度は（２０、６０）であってよい。このとき、２０はアジマス角間の角度が２０°であることを示し、６０はピッチ角間の角度が６０°であることを示している。このように、（２０、６０）はユーザの現在の視野角として使用することができる。もちろん、上述の例では、現在の視野角はアジマス角とピッチ角とで表される。実際の適用においては、現在の視野角はさらに、極座標または緯度および経度で表されてよいが、本開示において限定されない。
【００８０】
１つの実施形態において、ユーザの現在の視野角を決定した後、クライアントは、現在の映像セグメントデータの少なくとも１つの指定視野角から現在の視野角に合致する目標指定視野角を決定してよい。具体的には、目標指定視野角に合致する現在の視野角は、現在の視野角が目標指定視野角と同じであること、または現在の視野角と目標指定視野角との間の角度が指定範囲内にあることを意味してよい。
【００８１】
１つの実施形態において、目標指定視野角を決定した後、クライアントは、現在の映像セグメントデータから、目標指定視野角が対象とする目標映像セグメントデータのデータ識別子を取得してよい。目標映像セグメントデータのデータ識別子を取得した後、クライアントは、当該データ識別子をサーバに送信してよい。このように、サーバは、クライアントから送信された目標映像セグメントデータのデータ識別子を受信することができる。データ識別子を取得した後、サーバは映像セグメントデータセットから当該データ識別子に対応する映像セグメントデータを取得し、当該映像セグメントデータをクライアントにフィードバックしてよい。これにより、現在の映像セグメントを再生した後に、クライアントは当該映像セグメントデータにより表され、サーバによりフィードバックされた映像セグメントを引き続き再生する。
【００８２】
１つの実施形態において、映像セグメントデータセットの映像セグメントデータはそれぞれ、ヘッダデータフィールドおよび本体データフィールドを含む。このとき、少なくとも１つの指定視野角、および指定視野角が対象とする映像セグメントデータを表すデータ識別子はヘッダデータフィールドに格納される。
【００８３】
１つの実施形態において、各指定視野角は視野角範囲に対応し、それに応じて、現在の視野角に合致する目標映像セグメントデータを対象とする目標指定視野角は、目標指定視野角の視野角範囲内にある現在の視野角を含む。
【００８４】
１つの実施形態において、仮想場面は少なくとも１つの経路を含み、経路はそれぞれ当該経路の指定方向で撮られたパノラマ映像に関連付けられ、当該パノラマ映像は指定時間間隔で少なくとも１つの映像セグメントに分割される。
【００８５】
１つの実施形態において、本方法はさらに、パノラマ映像を分割することにより取得された映像セグメントに従って、当該映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階を含み、逆方向映像セグメントの再生順序は、対応する映像セグメントの再生順序の逆である。
【００８６】
上述の実施形態の特定の実装については、仮想場面における映像再生方法の実施形態において記載したので、以下では記載を省略する。
【００８７】
図７を参照すると、本開示は、ネットワーク通信ポート１１０、メモリ２１０、プロセッサ３１０、および内部通信バス４１０を含むサーバをさらに提供する。
【００８８】
ネットワーク通信ポート１１０はクライアントとネットワークデータ通信を行うように構成される。
【００８９】
メモリ２１０は映像セグメントデータセットを格納するように構成される。映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、当該映像セグメントデータは映像セグメントを表す。映像セグメントデータはそれぞれ、少なくとも１つの指定視野角および当該指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。
【００９０】
プロセッサ３１０は、ネットワーク通信ポートを介して、クライアントから送信された映像セグメントデータロードリクエストを受信することであって、映像セグメントデータロードリクエストは仮想場面においてユーザの現在位置を表すために使用される、受信することと、ユーザの現在位置に対応する現在の映像セグメントデータをクライアントにフィードバックするようにネットワーク通信ポートを制御して、クライアントが現在の映像セグメントデータにより表される映像セグメントを再生できるようにし、再生中にユーザの現在の視野角を取得するようにすることと、クライアントから送信された目標映像セグメントデータのデータ識別子を、ネットワーク通信ポートを介して受信することであって、目標映像セグメントデータを対象とする目標指定視野角が現在の視野角と合致する、受信することとを行うように構成される。
【００９１】
１つの実施形態において、ネットワーク通信ポート１１０は、異なる通信プロトコルに従い、異なるデータを送受信する仮想ポートであってよい。例えば、ネットワーク通信ポートは、ポート８０（ウェブデータ通信を担当）であってもよく、ポート２１（ＦＴＰデータ通信を担当）であってもよく、ポート２５（メールデータ通信を担当）であってもよい。さらに、ネットワーク通信ポートは、物理的な通信インターフェースであっても通信チップであってもよい。例えば、ネットワーク通信ポートは、例えばＧＳＭ（登録商標）またはＣＤＭＡのようなワイヤレスモバイルネットワーク通信チップであってよい。ネットワーク通信ポートはさらに、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）チップであってよい。ネットワーク通信ポートはさらに、Ｂｌｕｅｔｏｏｔｈ（登録商標）チップであってよい。
【００９２】
１つの実施形態において、メモリ２１０は情報を格納するためのメモリデバイスであってよい。デジタルシステムにおいて、バイナリデータを格納可能な装置はメモリであってよい。集積回路において、物理的形状を有しない記憶機能を有する回路はＲＡＭまたはＦＩＦＯなどのメモリであってもよい。システムにおいて、物理的形状の記憶装置は、メモリバーまたはＴＦカードなどのメモリとも呼ばれることがある。
【００９３】
プロセッサ３１０は、任意の適切な方法で実装されてよい。例えば、プロセッサは、マイクロプロセッサまたはプロセッサおよび（マイクロ）プロセッサにより実行可能であるコンピュータ可読プログラムコード（例えば、ソフトウェアまたはファームウェア）を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能型論理制御器、ならびに内蔵マイクロ制御器の形式を利用してよい。本開示は限定するものではない。
【００９４】
上述の実施形態で開示されるサーバのネットワーク通信ポート１１０、メモリ２１０、プロセッサ３１０、およびバス４１０により実装される特定の機能は、本開示の仮想場面におけるデータ提供方法の実施形態を参照して説明されてもよく、本開示の仮想場面におけるデータ提供方法の実施形態を実装し、本方法の実施形態の技術効果を実現することができる。
【００９５】
上記で紹介された実施形態はすべてクライアント・サーバアーキテクチャに基づいている。映像セグメントの再生中に、クライアントとサーバとの間で特定のデータのやり取りが行われる。本開示において、記録されたパノラマ映像および分割された映像セグメントデータは、さらに、クライアントにローカルで予めフルロードされてよい。これにより、映像セグメントの再生中に、クライアントはサーバと対話する必要なく完全にオフラインで動作することができる。具体的には、本開示は、仮想場面における映像再生方法をさらに提供する。この方法は、クライアントに適用可能である。クライアントは映像セグメントデータセットを備えてよい。映像セグメントデータセットは、少なくとも１つの映像セグメントデータを含み、当該映像セグメントデータは映像セグメントを表す。映像セグメントデータはそれぞれ、少なくとも１つの指定視野角および当該指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。映像セグメントデータセットは、サーバからローカルで予めロードされても、ローカルで直接インポートされてもよい。図８を参照すると、本方法は次のステップを含んでよい。
【００９６】
Ｓ１１０：映像セグメントデータセットから、仮想場面におけるユーザの現在位置に対応する現在の映像セグメントデータを決定する。
【００９７】
ステップＳ２１０：現在の映像セグメントデータにより表される映像セグメントを再生し、再生中にユーザの現在の視野角を取得する。
【００９８】
ステップＳ３１０：現在の映像セグメントデータの少なくとも１つの指定視野角から現在の視野角に合致する目標指定視野角を決定する。このとき、当該目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生される。
【００９９】
１つの実施形態において、個々の場面を表すリンクがクライアントに表示されてよい。唯一の相違点としては、ユーザがある場面へのリンクをトリガーした場合、当該場面へのリンクに対応する映像セグメントデータを探して、クライアントのローカル映像セグメントデータセットを直接検索可能である。具体的には、場面に対応する映像セグメントデータは１つの初期映像セグメントデータを含んでよく、当該初期映像セグメントデータにより表される映像セグメントは、クライアントでユーザに対して再生される最初の映像セグメントデータとして使用されてよい。例えば、ユーザが図２に示す場面へのリンクをトリガーした場合、クライアントは、映像セグメントデータセットから経路８の開始位置の映像セグメントデータを取得してよい。このとき、経路８の開始位置における映像セグメントデータを当該場面に対応する初期映像セグメントデータとすることができる。このように、クライアントは、取得された初期映像セグメントデータを直接レンダリングして、レンダリングにより取得された映像セグメントをユーザに対して再生できる。このように、ユーザの視覚体験としては、映像再生が開始されたとき、ユーザは経路８の開始位置にいるということになる。このシナリオにおいて、仮想場面におけるユーザの現在位置を初期映像セグメントデータにより表される初期位置とすることができる。
【０１００】
もちろん、本実施形態において、ユーザがクライアント上のある場面のリンクをトリガーした場合、クライアントは当該場面の平面図をユーザにさらに表示してもよく、当該平面図には少なくとも１つの選択可能な位置が設けられてよい。例えば、図２に示す場面において、経路８および経路５の開始位置はともに選択可能である。ユーザは平面図においてある位置を選択してもよく、当該位置の情報はクライアントにより受信可能である。このように、クライアントは、位置情報に対応する映像セグメントデータを探してローカル映像セグメントデータセットを検索し、探し出された映像セグメントデータをレンダリングして、レンダリングにより取得された映像セグメントをユーザに対して再生することができる。ユーザの視覚体験としては、映像セグメントの再生が開始されたとき、ユーザは前回選択された位置にいるということになる。このシナリオにおいて、仮想場面におけるユーザの現在位置をユーザにより選択された位置とすることができる。
【０１０１】
次のステップＳ２１０でユーザの現在の視野角を取得し、Ｓ３１０で当該現在の視野角と合致する目標指定視野角を決定する処理はともに上述の実施形態と一致しているため、記載を省略する。相違点としては、現在の視野角と合致する目標指定視野角が取得された後、クライアントのローカル映像セグメントデータセットから目標指定視野角が対象とする映像セグメントデータが取得されてよく、取得された映像セグメントデータがレンダリングされ、現在の映像セグメントデータに表される映像セグメントを再生した後に再生されてよい。
【０１０２】
１つの実施形態において、映像セグメントデータセットの映像セグメントデータはそれぞれ、ヘッダデータフィールドおよび本体データフィールドを含む。このとき、少なくとも１つの指定視野角、および指定視野角が対象とする映像セグメントデータを表すデータ識別子はヘッダデータフィールドに格納される。
【０１０３】
１つの実施形態において、現在の映像セグメントデータの少なくとも１つの指定視野角から現在の視野角と合致する目標指定視野角を決定する段階の後に、本方法はさらに、目標指定視野角が対象とする映像セグメントデータのデータ識別子に従って、映像セグメントデータセットからデータ識別子に対応する目標映像セグメントデータを決定し、目標映像セグメントデータにより表される映像セグメントを、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生する段階を含む。
【０１０４】
１つの実施形態において、各指定視野角は視野角範囲に対応し、それに応じて、現在の映像セグメントデータの少なくとも１つの指定視野角から現在の視野角に合致する目標指定視野角を決定する段階は、現在の視野角の視野角範囲を決定し、決定された視野角範囲に対応する指定視野角を目標指定視野角として使用する段階を含む。
【０１０５】
１つの実施形態において、現在の視野角に合致する目標指定視野角が、現在の映像セグメントデータの少なくとも１つの指定視野角に存在しない場合、本方法はさらに、現在の映像セグメントデータにより表される映像セグメントのフレームを、現在の映像セグメントデータにより表される映像セグメントの再生の最後に表示する段階を含む。
【０１０６】
１つの実施形態において、仮想場面は少なくとも１つの経路を含み、経路はそれぞれ、経路の指定方向において撮られたパノラマ映像に関連付けられ、パノラマ映像は、指定時間間隔で少なくとも１つの映像セグメントに分割される。
【０１０７】
１つの実施形態において、本方法はさらに、パノラマ映像を分割することにより取得された映像セグメントに従って、映像セグメントにそれぞれ対応する逆方向映像セグメントを生成する段階を含み、逆方向映像セグメントの再生順序は、対応する映像セグメントの再生順序の逆である。
【０１０８】
上述の実施形態の特定の実装については、仮想場面における映像再生方法の実施形態において記載したので、以下では記載を省略する。仮想場面における映像再生方法の実施形態との相違点は、本実施形態において、映像セグメントデータはすべてクライアントにローカルで格納されることである。したがって、映像セグメントデータの検索および取得はともにオフラインで実装することができる。通常、ローカルでの映像セグメントデータのロードはサーバから映像セグメントデータをダウンロードするよりも速いため、映像セグメントの再生の滑らかさが向上する。
【０１０９】
図９を参照すると、本開示はさらに、メモリ１２０、ディスプレイ２２０、プロセッサ３２０、内部バス４２０を含むクライアントを提供する。
【０１１０】
メモリ１２０は映像セグメントデータセットを格納するように構成される。映像セグメントデータセットは少なくとも１つの映像セグメントデータを含み、当該映像セグメントデータは映像セグメントを表す。映像セグメントデータはそれぞれ、少なくとも１つの指定視野角および当該指定視野角が対象とする映像セグメントデータを表すデータ識別子を含む。
【０１１１】
ディスプレイ２２０は映像セグメントを表示するように構成される。
【０１１２】
プロセッサ３２０は、メモリの映像セグメントデータセットから仮想場面におけるユーザの現在位置に対応する現在の映像セグメントデータを決定することと、ディスプレイを介して、現在の映像セグメントデータにより表される映像セグメントを再生し、再生中にユーザの現在の視野角を取得することと、現在の映像セグメントデータの少なくとも１つの指定視野角から、現在の視野角と合致する目標指定視野角を決定することであって、目標指定視野角が対象とする映像セグメントデータにより表される映像セグメントが、現在の映像セグメントデータにより表される映像セグメントの再生の最後に再生される、決定することとを行うように構成される。
【０１１３】
１つの実施形態において、メモリ１２０は情報を格納するためのメモリデバイスであってよい。デジタルシステムにおいて、バイナリデータを格納可能な装置はメモリであってよい。集積回路において、物理的形状を有しない記憶機能を有する回路はＲＡＭまたはＦＩＦＯなどのメモリであってよい。システムにおいて、物理的形状の記憶装置は、メモリバーまたはＴＦカードなどのメモリとも呼ばれることがある。
【０１１４】
１つの実施形態において、ディスプレイ２２０は、特定の伝送装置を介して特定の電子ファイルを画面に表示し、当該電子ファイルを人間の目に映し出す表示ツールであってよい。ディスプレイは、液晶（ＬＣＤ）表示画面、ブラウン管（ＣＲＴ）表示画面、または発光ダイオード（ＬＥＤ）表示画面などを含んでよい。
【０１１５】
プロセッサ３２０は、任意の適切な方法で実装されてよい。例えば、プロセッサは、マイクロプロセッサまたはプロセッサおよび（マイクロ）プロセッサにより実行可能であるコンピュータ可読プログラムコード（例えば、ソフトウェアまたはファームウェア）を格納するコンピュータ可読媒体、論理ゲート、スイッチ、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能型論理制御器、ならびに内蔵マイクロ制御器の形式を利用してよい。本開示は限定するものではない。
【０１１６】
上述の実施形態に開示されるクライアントのメモリ１２０、ディスプレイ２２０、プロセッサ３２０、およびバス４２０により実装される特定の機能は、本開示のクライアント側の仮想場面における映像再生方法の実施形態を参照して説明されてもよく、本開示の仮想場面における映像再生方法の実施形態を実装し、本方法の実施形態の技術効果を実現することができる。
【０１１７】
上記を考慮して、本開示はユーザに対して継続的に映像セグメントを再生することができ、これによりユーザは仮想場面でオブジェクトを閲覧することができる。具体的には、現在の映像セグメントデータがユーザに対して再生されているとき、ユーザの現在の視野角が決定可能であり、次に再生される映像セグメントがユーザの現在の視野角に従って決定可能である。このように、現在の映像セグメントの再生が完了すると、次の映像セグメントが再生可能となる。ユーザの視野角が変化するにつれて、ユーザの前に提示される映像コンテンツも変化してよい。このように、ユーザは、視野角を介して、前進、後進、停止などの動作を行うことができ、外部機器の使用を避けて真の没入型の体験をすることができる。
【０１１８】
１９９０年代において、技術改良がハードウェアの改良（例えば、ダイオード、トランジスタ、スイッチなどの回路構造の改良）であるか、ソフトウェアの改良（方法の手順の改良）であるかは、明確に区別することができる。しかし、技術の発達と共に、近年の方法の手順の改良の多くは、ハードウェア回路構造の直接的な改良とみなすことができる。ほとんどのすべての設計者は、ハードウェア回路に改良した方法の手順をプログラミングして、対応するハードウェア回路構造を取得している。したがって、方法の手順の改良は、ハードウェアエンティティモジュールにより実装可能であるとは言えない。例えば、プログラム可能型論理デバイス（ＰＬＤ）（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ））は、論理機能がユーザのデバイスプログラミングにより決定される集積回路である。設計者は、デジタルシステムをＰＬＤに「統合」するために自らプログラミングしてよく、特定用途向け集積回路チップの設計及び製造をチップ製造業者に依頼する必要はない。さらに、集積回路チップを手動で製造する代わりに、このようなプログラミングは「論理コンパイラ」ソフトウェアにより実装される。これは、プログラムの開発及びコーディングに使用するソフトウェアコンパイラと類似しており、コンパイル前のオリジナルコードも特定のプログラミング言語で書かれてよい。この言語はハードウェア記述言語（ＨＤＬ）と呼ばれる。ＨＤＬの形式は１つだけではなく複数の形式のＨＤＬが存在する。例えば、ＡＢＥＬ（Ａｄｖａｎｃｅｄ  Ｂｏｏｌｅａｎ  Ｅｘｐｒｅｓｓｉｏｎ  Ｌａｎｇｕａｇｅ）、ＡＨＤＬ（Ａｌｔｅｒａ  Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）、Ｃｏｎｆｌｕｅｎｃｅ、ＣＵＰＬ（Ｃｏｒｎｅｌｌ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅ）、ＨＤＣａｌ、ＪＨＤＬ（Ｊａｖａ（登録商標）Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）、Ｌａｖａ、Ｌｏｌａ、ＭｙＨＤＬ、ＰＡＬＡＳＭ、ＲＨＤＬ（Ｒｕｂｙ  Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）が挙げられる。近年は、ＶＨＤＬ（Ｖｅｒｙ−Ｈｉｇｈ−Ｓｐｅｅｄ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）とＶｅｒｉｌｏｇ２が最も一般に使用されている。本方法の手順が上述のハードウェア記述言語を使用して論理的にプログラミングされ、集積回路に組み込まれれば、論理方法の手順を実装するためのハードウェア回路を容易に取得できることについても当業者は理解するはずである。
【０１１９】
クライアントおよびサーバを純粋なコンピュータ可読プログラミングで実装することに加えて、論理プログラミングを方法の各ステップで実行することができ、これによりクライアントおよびサーバが、論理ゲート、スイッチ、特定用途向け集積回路、プログラム可能型論理制御器、または内蔵マイクロ制御器などの形式で同じ機能を実装可能であることも当業者は理解する。そのため、クライアントまたはサーバをハードウェアコンポーネントとみなしてもよく、クライアントまたはサーバに含まれる個々の機能を実装するための装置をハードウェアコンポーネント内の構造とみなしてよい。あるいは、個々の機能を実装するための装置を、方法を実装するためのソフトウェアモジュールおよびハードウェアコンポーネントにおける構造の両方とみなすことも可能である。
【０１２０】
上記の実施形態の説明を通じて、当業者は、本開示を必要な汎用ハードウェアプラットフォームに加えてソフトウェアとして実装できることを明確に理解できる。このような理解に基づくと、本開示の技術的解決方法の本質、または先行技術に貢献する部分は、ソフトウェア製品の形式で具現化されてよい。コンピュータソフトウェア製品は、ＲＯＭ／ＲＡＭ、磁気ディスク、光学ディスクなどの記憶媒体に格納されてよく、さらに、本開示の実施形態又は実施形態の一部に記載された方法を実行するようにコンピュータ装置（パーソナルコンピュータ、サーバ、またはネットワーク装置などであってよい）に命令するための命令を含む。
【０１２１】
本明細書における実施形態は全て順を追って説明されている。異なる実施形態において同一又は類似する部分については互いに参照してよく、各実施形態では他の実施形態との違いに焦点を置いている。特に、サーバ及びクライアントの実施形態はともに、上述の方法の実施形態を参照して説明することができる。
【０１２２】
本開示は、プログラムモジュールなどの、コンピュータにより実行される、コンピュータで実行可能な命令の一般的な文脈で説明されてよい。一般に、プログラムモジュールは、特定のタスクを実行する、又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本開示は、分散コンピューティング環境にも実装されてよい。これらの分散コンピューティング環境において、通信ネットワークにより接続されたリモート処理装置によりタスクが実行される。分散コンピューティング環境において、プログラムモジュールは、記憶装置を含むローカルおよびリモートのコンピュータ記憶媒体に配置されてよい。
【０１２３】
本開示は実施形態を用いて説明されているが、当業者は、本開示の主旨から逸脱しない多くの変形及び変更を本開示が含むことを理解する。添付の特許請求の範囲は、本開示の主旨から逸脱しないこれらの変形及び変更を含むことが意図されている。
【図１】
2020520190.tif 000003
【図２】
2020520190.tif 000004
【図３】
2020520190.tif 000005
【図４】
2020520190.tif 000006
【図５】
2020520190.tif 000007
【図６】
2020520190.tif 000008
【図７】
2020520190.tif 000009
【図８】
2020520190.tif 000010
【図９】
2020520190.tif 000011
【国際調査報告】
2020520190.tif 000012
2020520190.tif 000013
2020520190.tif 000014
2020520190.tif 000015