(57)【要約】  本出願は、画像処理方法、装置、記憶媒体及びコンピュータデバイスに関し、当該方法は、現実シーンから収集された画像フレームを取得するステップと、収集の時系列に従って、取得した画像フレームをフレームごとに再生するステップと、取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの前記ターゲットオブジェクトに対応する位置を決定するステップと、前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップと、前記仮想エントリに仮想コンテンツを表示するステップと、含む。本出願によって提供される方案は、画像処理効率を向上させる。
2021517309.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータデバイスが実行する画像処理方法であって、
現実シーンから収集された画像フレームを取得するステップと、
収集の時系列に従って、取得した画像フレームをフレームごとに再生するステップと、
取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの前記ターゲットオブジェクトに対応する位置を決定するステップと、
前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップと、
前記仮想エントリに仮想コンテンツを表示するステップと、
を含む方法。
【請求項２】
前記ターゲットオブジェクトは手であり、
前記方法は、
取得した画像フレームから手の画像をセグメント化するステップと、
前記手の画像に対応するジェスチャータイプを認識するステップと、
前記ジェスチャータイプがトリガータイプである場合、前記画像フレームにおいて動きの参照ポイントを決定するステップと、
前記動きの参照ポイントに従って、前記手の動きによって形成されるトラックを決定するステップと、
をさらに含む請求項１に記載の方法。
【請求項３】
前記取得した画像フレームから手の画像をセグメント化するステップは、
手認識モデルで、取得した画像フレームをセマンティックセグメンテーションフィーチャマトリックスにエンコードするステップと、
前記セマンティックセグメンテーションフィーチャマトリックスをデコードしてセマンティックセグメンテーション画像を取得するステップであって、前記セマンティックセグメンテーション画像におけるピクセルが、所属の分類カテゴリを示すピクセル値を有し、エンコードする前のオリジナル画像フレームにおけるピクセルに対応するステップと、
手カテゴリに属するピクセルに基づき、前記画像から手の画像をセグメント化するステップと、
を含む請求項２に記載の方法。
【請求項４】
前記方法は、
前記取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たさない場合、再生したビデオフレームにおいて、前記トラックが通過するピクセルのピクセル値を参照ピクセル値に置き換えるステップと、
前記トリガー条件を満たした場合、前記位置に応じて、現在再生中の画像フレームで参照アニメーションを再生するステップと、
をさらに含む請求項２に記載の方法。
【請求項５】
前記現実シーンでの前記ターゲットオブジェクトに対応する位置を決定する前記ステップは、
前記ターゲットオブジェクトの世界座標空間における世界座標位置を決定するステップを含み、
前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップは、
カメラ座標空間における前記世界座標位置に対応するカメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップを含む、請求項１に記載の方法。
【請求項６】
前記カメラ座標空間における前記世界座標位置に対応するカメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングする前記ステップは、
現在の端末の位置及び姿勢を取得するステップと、
前記現在の端末の位置及び姿勢に基づき、現在のカメラ座標空間と前記世界座標空間の間の変換マトリックスを決定するステップと、
前記変換マトリックスに従って、世界座標位置をカメラ座標空間におけるカメラ座標位置に変換するステップと、
前記カメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップと、
を含む請求項５に記載の方法。
【請求項７】
現在の端末の位置及び姿勢を取得する前記ステップは、
マップから、取得した画像フレームにマッチングするマップノードを選択するステップと、
前記マップノードに対応付けられて記憶される現実シーンでの位置を照会するステップと、
慣性センサによって収集されたセンサデータを取得するステップと、
前記センサデータに基づき、現在の端末の現実シーンにおける姿勢を決定するステップと、
を含む請求項６に記載の方法。
【請求項８】
時系列で収集した画像フレームから画像フレームを選択するステップと、
選択した画像フレームの画像特徴がノード画像の画像特徴に一致する場合、選択した画像フレームをノード画像として取得するステップと、
取得した前記ノード画像がマップにおいて対応するマップノードを決定するステップと、
取得した前記ノード画像の画像特徴、及び取得した前記ノード画像を収集するときの現実シーンにおける位置を、決定した前記マップノードに対応付けて記憶するステップと、
をさらに含む請求項７に記載の方法。
【請求項９】
前記カメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングする前記ステップは、
仮想エントリのモデルの頂点を画像座標空間において対応するピクセルとして投影するステップと、
各前記モデルの頂点間の接続関係に従って、モデル頂点に対応するピクセルをプリミティブに結合するステップと、
ラスタライズしたプリミティブを、プリミティブにおける各ピクセルのピクセル値に基づき、画像座標空間において前記カメラ座標位置に対応する画像座標位置でレンダリングして、仮想エントリを取得するステップと、
を含む請求項６に記載の方法。
【請求項１０】
前記仮想コンテンツはパノラマビデオであり、
前記方法は、
前記仮想エントリに対応する現実シーンでの空間領域を決定するステップと、
端末の現在位置が前記空間領域を通過した後、パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示するステップと、
をさらに含む請求項１に記載の方法。
【請求項１１】
前記方法は、
パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示する前記ステップの後、現在の端末の位置が前記空間領域を再び通過せず、かつ、現在の視野領域が移動により前記仮想エントリをカバーした場合、現在の視野領域において、前記仮想エントリ内に位置する視野領域を決定するステップと、
前記仮想エントリに、取得した画像フレームにおいて決定された前記視野領域における画面を表示するステップと、
をさらに含む請求項１０に記載の方法。
【請求項１２】
前記方法は、
端末の現在位置が前記空間領域の周りを移動する場合、現在の視野領域において、前記仮想エントリ内に位置する視野領域を決定するステップと、
パノラマビデオにおいて決定された前記視野領域におけるビデオ画面を前記仮想エントリに表示するステップと、
をさらに含む請求項１０に記載の方法。
【請求項１３】
前記仮想コンテンツはパノラマビデオであり、
前記方法は、
収集されたビデオフレームを第１の球体モデルの球面内側に描画し、パノラマビデオのパノラマビデオ画面を第２の球体モデルの球面内側に描画するステップと、
前記仮想エントリに対応する現実シーンでの空間領域を決定することと、
現在の端末の位置が前記空間領域を通過していない場合、又は現在の端末の位置が前記空間領域を偶数回通過した場合、レンダリング順序及びモデル深さの逆順で、現在の視野領域内の前記第１の球体モデル、前記第２の球体モデル及び完全に透明な第３のモデルに基づきレンダリングして、表示用の画面を得るステップと、
をさらに含み、
その中、前記第１の球体モデルの球半径は前記第２の球体モデルの球半径より大きく、前記第１の球体モデルのモデル深さは前記第２の球体モデルのモデル深さより大きく、前記第２の球体モデルのモデル深さは前記第３のモデルのモデル深さより大きく、前記第３のモデルは、現在の視野領域が前記仮想エントリをカバーしている場合、現在の視野領域において前記仮想エントリ外に位置する視野領域における第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられ、又は、視野領域が前記仮想エントリをカバーしていない場合、前記第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられる、
請求項１に記載の方法。
【請求項１４】
前記方法は、
現在の端末の位置が前記空間領域を奇数回通過した場合、レンダリング順序及びモデル深さの逆順で、現在の視野領域内の前記第１の球体モデル、前記第２の球体モデル及び完全に透明な第４のモデルに基づき、レンダリングして、表示用の画面を得るステップ、をさらに含み、
その中、前記第２の球体モデルのモデル深さは前記第４のモデルのモデル深さより大きく、前記第４のモデルは、現在の視野領域が前記仮想エントリをカバーしている場合、現在の視野領域において前記仮想エントリ外に位置する視野領域内の第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられ、又は、視野領域が前記仮想エントリをカバーしていない場合、前記第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられる、
請求項１３に記載の方法。
【請求項１５】
コンピュータデバイスに適用される画像処理装置であって、
現実シーンから収集された画像フレームを取得するための取得モジュールと、
収集の時系列に従って、取得した画像フレームをフレームごとに再生するための再生モジュールと、
取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの前記ターゲットオブジェクトに対応する位置を決定するための決定モジュールと、
前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングし、前記仮想エントリに仮想コンテンツを表示用のレンダリングモジュールと、
含む装置。
【請求項１６】
請求項１乃至１４のいずれか１項に記載の画像処理方法をコンピュータに実行させるコンピュータプログラム。
【請求項１７】
メモリとプロセッサを含むコンピュータデバイスであって、
前記メモリにコンピュータプログラムが格納されており、前記コンピュータプログラムが前記プロセッサによって実行されるときに、請求項１乃至１４のいずれか１項に記載の画像処理方法のステップを前記プロセッサに実行させるコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１８年０５月２２日に中国特許庁に提出された、出願番号が２０１８１０４９４１１７．８であって、発明の名称が「画像処理方法、装置、記憶媒体及びコンピュータデバイス」である中国特許出願に基づく優先権を主張するものであり、その全内容を本出願に参照により援用する。
【０００２】
本出願は、コンピュータ技術分野に関し、特に、画像処理方法、装置、記憶媒体及びコンピュータデバイスに関する。
【背景技術】
【０００３】
コンピュータ技術の発展に伴い、画像処理技術も絶え間なく進歩する。ユーザーは、プロの画像処理ソフトウェアによって画像を処理し、処理された画像の表示を向上させることができる。ユーザーは、画像処理ソフトウェアを介して、画像に、画像処理ソフトウェアによって提供される素材を追加することができ、これにより、処理された画像がより多くの情報を伝えることができる。
【０００４】
しかしながら、現在の画像処理方法では、ユーザーが画像処理ソフトウェアの素材ライブラリーを展開し、素材ライブラリーを閲覧し、素材ライブラリーから適切な素材を選択し、画像における素材の位置を調整することで、変更を確認し、画像処理を完了する必要がある。そのため、現在の画像処理方法は、多くの手動操作を必要とし、時間がかかり、その結果、画像処理プロセスの効率が低くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この事情に基づいて、本出願の実施例は、従来の画像処理プロセスにおける低効率の問題を解決するための画像処理方法、装置、記憶媒体及びコンピュータデバイスを提供する。
【課題を解決するための手段】
【０００６】
画像処理方法であって、
現実シーンから収集された画像フレームを取得するステップと、
収集の時系列に従って、取得した画像フレームをフレームごとに再生するステップと、
取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの前記ターゲットオブジェクトに対応する位置を決定するステップと、
前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップと、
前記仮想エントリに仮想コンテンツを表示するステップと、
を含む。
【０００７】
画像処理装置であって、
現実シーンから収集された画像フレームを取得するための取得モジュールと、
収集の時系列に従って、取得した画像フレームをフレームごとに再生するための再生モジュールと、
取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの前記ターゲットオブジェクトに対応する位置を決定するための決定モジュールと、
前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングし、前記仮想エントリに仮想コンテンツを表示するためのレンダリングモジュールと、
を含む。
【０００８】
コンピュータ可読記憶媒体であって、
前記コンピュータ可読記憶媒体はコンピュータプログラムを記憶し、前記コンピュータプログラムがプロセッサによって実行されるときに、前記プロセッサに、
現実シーンから収集された画像フレームを取得することと、
収集の時系列に従って、取得した画像フレームをフレームごとに再生することと、
取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの前記ターゲットオブジェクトに対応する位置を決定することと、
前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングすることと、
前記仮想エントリに仮想コンテンツを表示することと、
を実行させる。
【０００９】
メモリとプロセッサを含むコンピュータデバイスであって、
前記メモリにコンピュータプログラムが格納されており、前記コンピュータプログラムが前記プロセッサによって実行されるときに、前記プロセッサに、
現実シーンから収集された画像フレームを取得することと、
収集の時系列に従って、取得した画像フレームをフレームごとに再生することと、
取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの前記ターゲットオブジェクトに対応する位置を決定することと、
前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングすることと、
前記仮想エントリに仮想コンテンツを表示することと、
を実行させる。
【００１０】
上記画像処理方法、装置、記憶媒体及びコンピュータデバイスは、一方では、現実シーンを反映する画像フレームを再生するので、再生した画像フレームは現実シーンを反映することができ、他方では、現実シーンから収集された画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの当該ターゲットオブジェクトに対応する位置を自動的に決定し、決定された位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングし、仮想エントリに仮想コンテンツを表示する。このようにして、仮想エントリに仮想世界の仮想コンテンツを表示し、仮想エントリ外に現実世界の現実コンテンツを表示することが自動的に実現されることができ、手動操作の複雑なステップが回避され、画像処理効率を大幅に向上させる。
【図面の簡単な説明】
【００１１】
【図１】一実施例における画像処理方法の適用環境図である。
【図２】一実施例における画像処理方法の概略フローチャートである。
【図３】一実施例における、画像フレームを再生するためのインタフェースの概略図である。
【図４】一実施例における、現在再生中の画像フレームに仮想エントリをレンダリングするインタフェースの概略図である。
【図５】一実施例における、取得した画像フレームから手領域をセグメント化する概略図である。
【図６】一実施例における、画像フレームにおけるトラック変化の概略図である。
【図７】一実施例における座標空間の関係の概略図である。
【図８】一実施例における、空間領域を通過した後の現在の端末の位置のレンダリングの原理図である。
【図９】一実施例における、現在の端末の位置が空間領域を再び通過せず、かつ現在の視野領域が移動により仮想エントリをカバーした場合、端末インタフェースに表示されるインタフェースの概略図である。
【図１０】一実施例における、現在の端末の位置が空間領域の周りを移動する場合のレンダリングの原理図である。
【図１１】一実施例におけるモデルの概略断面図である。
【図１２】一実施例におけるレンダリングの原理の概略図である。
【図１３】一実施例における画像処理方法のフローチャートである。
【図１４】一実施例における画像処理装置のモジュールの構成図である。
【図１５】他の実施例における画像処理装置のモジュールの構成図である。
【図１６】一実施例におけるコンピュータデバイスの内部構成図である。
【発明を実施するための形態】
【００１２】
本出願の目的、技術案及び利点をより明らかになるために、以下に図面及び実施例を結合して、本出願をさらに詳しく説明する。ここで説明される具体的な実施例は、本出願を解釈するためにのみ用いられ、本出願を限定するものではないことを理解すべきである。
【００１３】
図１は、一実施例における画像処理方法の適用環境図である。図１を参照して、当該画像処理方法は、画像処理システムに適用される。当該画像処理システムは、端末１１０とサーバ１２０を含む。その中、端末１１０とサーバ１２０はネットワークを介して接続されている。端末１１０は画像処理方法を実行するために用いられる。例示的に、端末１１０は、デスクトップ端末又はモバイル端末であってもよく、モバイル端末は、携帯電話、タブレットコンピュータ、ノートパソコンなどのうちの少なくとも１つであってもよい。サーバ１２０は、独立したサーバであってもよく、複数の独立したサーバからなるサーバクラスタであってもよい。
【００１４】
端末１１０は、現実シーンから収集された画像フレームを取得し、取得した画像フレームを、収集の時系列に従って、フレームごとに再生することができる。当該画像フレームは、端末１１０によって、内蔵の画像収集装置又は外部接続の画像収集装置を介して現実世界から収集されてもよく、内蔵の画像収集装置は、端末１１０のフロントカメラ又はリアカメラなどであり、当該画像フレームは、別のデバイスによって現実シーンから収集した後に端末１１０に送信されてもよい。端末１１０は、取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たすとローカルに判定した場合、現実シーンでのターゲットオブジェクトに対応する位置を決定し、この位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングし、仮想エントリに仮想コンテンツを表示してもよい。端末１１０は、取得した画像フレームをサーバ１２０に送信し、サーバ１２０によって、取得した複数の画像におけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たすと判定した場合、トリガー条件が満たされたことを端末１１０に通知し、端末１１０は、現実シーンでのターゲットオブジェクトに対応する位置を決定し、この位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングし、仮想エントリに仮想コンテンツを表示してもよい。
【００１５】
図２は一実施例における画像処理方法の概略フローチャートである。本実施例では、主に、当該画像処理方法をコンピュータデバイスに適用することを例として説明する。当該コンピュータデバイスは図１における端末１１０であってもよい。図２を参照して、当該画像処理方法は、次のステップを含む。
ステップＳ２０２は、現実シーンから収集された画像フレームを取得する。
ここで、現実シーンとは、自然世界に存在するシーンである。画像フレームは、動的画面を形成することができる画像フレームのシーケンスにおけるユニットであり、ある時点での現実シーンにおける画面を記録するために用いられる。
【００１６】
一実施例では、端末は、固定又は動的フレームレートに従って、現実シーンから画像フレームを収集し、収集された画像フレームを取得する。その中、固定又は動的フレームレートは、画像フレームを当該固定或動的フレームレートで再生する際に、連続した動的画面を形成できるようにする。
【００１７】
一実施例では、端末は、カメラなどの内蔵又は外部接続の画像収集装置を介して、カメラの現在の視野の下で、現実シーンの画像フレームを収集し、収集された画像フレームを取得することができる。その中、カメラの視野は、端末の姿勢及び位置の変化によって変化することができる。
【００１８】
例示的な実施例では、端末は、本機で実行されているアプリケーションによって提供されるＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ、拡張現実）撮影モードによって、このＡＲ撮影モードを選択した後、現実シーンから画像フレームを収集し、収集された画像フレームを取得してもよい。その中、アプリケーションはソーシャルアプリケーションであってもよく、ソーシャルアプリケーションは、ソーシャルネットワークに基づいて、ネットワークソーシャルインタラクションを行うことができるアプリケーションである。ソーシャルアプリケーションには、インスタントメッセージングアプリケーション、ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ、ソーシャルネットワーキングサイト）アプリケーション、ライブブロードキャストアプリケーション又は撮影アプリケーションなどが含まれ、例えば、ＱＱ又はＷｅｂＣｈａｔなどである。
【００１９】
一実施例では、端末は、別の端末から送信された、現実シーンから収集された画像フレームを受信し、受信した画像フレームを取得してもよい。例えば、端末は、端末で実行されているソーシャルアプリケーションを介してビデオセッションを確立する際に、他のセッション相手に対応する端末から送信された、現実シーンから収集された画像フレームを受信する。
【００２０】
一実施例では、画像フレームを取得するフレームレートは、画像フレームを収集するフレームレートと同じであってもよく、画像フレームを収集するフレームレートより低くてもよい。
Ｓ２０４、収集の時系列に従って、取得した画像フレームをフレームごとに再生する。
ここで、収集の時系列とは、画像フレームを収集する際の時間順序であり、画像フレームを収集したときに記録されたタイムスタンプの大小関係によって表すことができる。フレームごとに再生することは、画像フレームを1つずつ再生することを意味する。
【００２１】
例示的に、端末は、画像フレームを取得するフレームレートに従って、タイムスタンプの昇順で、収集された画像フレームを１つずつ再生してもよい。端末は、取得した画像フレームを直接再生してもよく、収集の時系列に従って、取得した画像フレームをバッファ領域に格納し、収集の時系列に従って、バッファ領域から画像フレームを取り出して再生してもよい。
【００２２】
一実施例では、端末は、受信された別の端末から送信された、現実シーンから収集された画像フレームを、別の端末が画像フレームを収集するフレームレートに従って、タイムスタンプの昇順で、受信された画像フレームを再生してもよい。端末は、受信された画像フレームを直接再生してもよく、収集の時系列に従って、受信された画像フレームをバッファ領域に格納し、収集の時系列に従って、バッファ領域から画像フレームを取り出して再生してもよい。
【００２３】
図３は、一実施例における、画像フレームを再生するインタフェースの概略図を示している。図３を参照して、図３（ａ）は、画像フレームを再生するときの端末インタフェースの簡略化された概略図であり、図３（ｂ）は、画像フレームを再生するときの端末インタフェースのスクリーンショットである。端末のディスプレイに表示されているのは、現実シーンにおける画面であることが分かる。
【００２４】
Ｓ２０６、取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでのターゲットオブジェクトに対応する位置を決定する。
その中、ターゲットオブジェクトは、現実シーンでのターゲットとするエンティティである。ターゲットオブジェクトは、手、顔、又は長手形状のオブジェクトなどである。ターゲットオブジェクトの動きによって形成されるトラックは、ターゲットオブジェクトが動いているときに取得した画像フレームにおけるターゲットオブジェクトの参照ポイントの移動によって形成されるトラックである。例えば、ユーザーが手の動きを制御する場合、取得した画像フレームにおける手の人差し指の先端の撮像ポイントの移動によって形成されるトラックであり、また、ユーザーが長手形状のオブジェクト（例えば、ペン又は魔法棒など）を手に持って動いている場合、取得した画像フレームにおける長手形状のオブジェクトの頂部の撮像ポイントの移動によって形成されるトラックなどである。
【００２５】
トリガー条件は、特定のイベントをトリガーする制約条件である。本実施例では、特定のイベントは、再生した画像フレームに仮想エントリをレンダリングするイベントである。トリガー条件は、取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックが、三角形、四角形又は円などの規則的な閉じた形状であることであってもよい。
【００２６】
ユーザーは、ターゲットオブジェクトを選択して、ターゲットオブジェクトの現実シーンでの移動を制御することによって、当該ターゲットオブジェクトが収集される画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックが、特定の制約条件（例えば、トリガー条件）を満たし、特定のイベント（仮想エントリをレンダリングすること）がトリガーされることを理解できる。現実シーンでのターゲットオブジェクトに対応する位置は、ユーザーが、端末が、再生した画像フレームにおいて仮想エントリをレンダリングすることを意図している位置の現実シーンでのマッピングである。このように、ユーザーにとって、視覚的な知覚から、現実世界の実際のエントリのように、１つの仮想エントリが現実世界に現れるようにトリガーすることである。
【００２７】
例示的に、端末は、取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、当該画像フレームにおけるターゲットオブジェクトの座標位置を決定し、端末の画像収集装置に適合した投影マトリックスに基づき、現実シーンでの当該ターゲットオブジェクトの位置を算出する。その中、当該画像フレームにおけるターゲットオブジェクトの座標位置は、具体的には、当該画像フレームにおけるターゲットオブジェクトの参照ポイントの座標位置であってもよい。例えば、手の人差し指の先端の撮像ポイントの座標位置である。当該画像フレームにおけるターゲットオブジェクトの座標位置は、ターゲットオブジェクトの動きによって形成されるトラックの中心座標位置であってもよい。例えば、手の人差し指の先端で円を描く場合、当該円形のトラックの中心座標位置である。
【００２８】
例示的な適用シーンでは、ユーザーは端末を手に持ち、カメラを呼び出すための端末におけるアプリケーションプログラムを介して端末の内蔵カメラを開き、このように、端末は、カメラの現在の視野で、現実シーンにおける画像フレームを収集することができる。ユーザーは、端末のカメラに対してターゲットオブジェクトの動きを制御すると収集され、リアルタイムで収集された、ターゲットオブジェクトを含む画像フレームを取得する。ユーザーがフロントカメラを開くと、収集された画像フレームにはターゲットオブジェクト及びフロントカメラの現在の視野の下での背景が含まれ、ユーザーがリアカメラを開くと、収集された画像にはターゲットオブジェクト及びリアカメラの現在の視野の下での背景が含まれることを理解できる。
【００２９】
Ｓ２０８、位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングする。
その中、仮想エントリは、実際のエントリに対する概念である。実際のエントリは、現実シーンで実空間を区分するエンティティとして使用される。例えば、実際のエントリは、部屋のドアのようなものである場合、実空間を部屋の中の領域と部屋の外の領域に区分する。また、例えば、実際のエントリは、景勝地のエントリのようなものである場合、実空間を景勝地と非景勝地などに区分する。仮想エントリは、仮想シーンで領域を区分する仮想モデルとして使用される。仮想エントリは、例えば、仮想モデルドアなどである。
【００３０】
現実シーンでの位置は、実際空間における絶対位置であることを理解できる。端末に内蔵又は外部接続された画像収集装置の現在の視野が変化しても、その位置は変化しない。このことから分かるように、画像収集装置の現在の視野が変化すると、画像フレームにおける仮想エントリのレンダリング位置とサイズがいずれも異なる。こうして、画像収集装置の現在の視野が変化したとき、画像フレームにおける仮想エントリのレンダリング位置とサイズは、現実世界における物体イメージング原理に基づいて、遠ざかるにつれて小さくなる効果を示す。
【００３１】
例示的に、端末は、現実シーンでのターゲットオブジェクトの位置を決定した後、現実シーンと、現在の視野の下での端末の画像収集装置に適合した投影マトリックスに基づき、現在の視野の下で収集された画像フレームにおける当該仮想エントリのレンダリング位置を算出し、この位置に仮想エントリをレンダリングする。
【００３２】
図４は、一実施例における、現在再生中の画像フレームに仮想エントリをレンダリングするインタフェースの概略図を示している。図４を参照して、図４（ａ）は、現在再生中の画像フレームに仮想エントリをレンダリングするときの端末インタフェースの簡略化された概略図であり、図４（ｂ）は、現在再生中の画像フレームに仮想エントリをレンダリングするときの端末インタフェースのスクリーンショットである。図４（ａ）はレンダリング仮想エントリ４１０ａを含み、図４（ｂ）はレンダリング仮想エントリ４１０ｂを含む。
【００３３】
ステップＳ２１０は、仮想エントリに仮想コンテンツを表示する。
その中、ここでの仮想コンテンツは、取得した画像フレームが収集される現実シーンに存在しないコンテンツである。例えば、取得した画像フレームが現実シーンＡから収集された場合、仮想コンテンツはこの現実シーンＡに存在しないコンテンツである。ここでの仮想コンテンツは、絶対的な仮想コンテンツではなく、現在の現実シーンに対して仮想コンテンツであることが理解できる。つまり、ここでの仮想コンテンツは、コンピュータ技術によってシミュレートされた完全な仮想コンテンツであってもよく、現在の現実シーン以外のコンテンツであってもよい。現在の現実シーンは、端末によって取得された画像フレームが収集される現実シーンである。
【００３４】
一実施例では、仮想コンテンツは、動的コンテンツであってもよいし、静的コンテンツであってもよい。仮想コンテンツは、統合されたコンテンツであってもよく、画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックに対応するコンテンツであってもよく、ユーザーによって自主的に選択されたコンテンツであってもよい。例示的に、端末は、トラックと仮想コンテンツとの間の対応関係を設置することができ、それによって、端末は、トラックを認識した後、このトラックに対応する仮想コンテンツを照会して表示する。例えば、トラックが三角形である場合、表示される仮想コンテンツはサッカーの試合のビデオであり、トラックが四角形である場合、表示される仮想コンテンツは、デパートを撮影したビデオであり、トラックが円形である場合、表示される仮想コンテンツは、景勝地を撮影したビデオである。端末は、選択ダイアログボックスを表示し、選択ダイアログボックスに、選択のための仮想コンテンツを表示し、仮想エントリに、ユーザーの選択指令によって選択された仮想コンテンツを表示してもよい。
【００３５】
一実施例では、仮想コンテンツは、仮想ビデオであってもよいし、現実シーンから画像フレームを収集して生成されたビデオであってもよい。例えば、ユーザーが端末を手に持ちながらオフィスにあり、オフィス内の現実シーンを収集して画像フレームを再生する場合、仮想エントリ外に表示されるコンテンツはオフィスの現実シーンであり、仮想エントリ内に表示されるのはゲームのビデオであってもよく、他の画像収集装置によって収集された、現在のオフィスではない、例えば王府井通りの現実シーンであってもよい。
【００３６】
引き続き図４を参照し、仮想エントリ４１０ａ（ｂ）の内部に表示されるのは仮想コンテンツであり、仮想エントリ４１０ａ（ｂ）の外部に表示されるのは現実シーンの画面であることが分かる。このようにして、ユーザーにとって、視覚的な知覚から、仮想エントリ内が仮想世界であり、仮想エントリ外が現実世界である。ユーザーは、仮想エントリを通過するように移動することによって仮想エントリ内の仮想世界を見ることができ、又は、仮想エントリから出るように移動することによって仮想エントリ外の現実世界を見ることができ、仮想世界と現実世界の交差効果を体験することができる。
【００３７】
上記画像処理方法によれば、一方で、現実シーンを反映する画像フレームを再生することで、再生した画像フレームは現実シーンを反映することができ、他方では、現実シーンから収集された画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの当該ターゲットオブジェクトに対応する位置を自動的に決定することで、決定された位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングし、仮想エントリに仮想コンテンツを表示し、このようにして、仮想エントリ内に仮想世界の仮想コンテンツを表示し、仮想エントリ外に現実世界の現実コンテンツを表示することが自動的に実現されることができ、手動操作の複雑なステップが回避され、画像処理効率を大幅に向上させる。
【００３８】
一実施例では、ターゲットオブジェクトは手である。当該画像処理方法は、取得した画像フレームから手の画像をセグメント化するステップと、手の画像に対応するジェスチャータイプを認識し、ジェスチャータイプがトリガータイプである場合、画像フレームで動きの参照ポイントを決定するステップと、動きの参照ポイントに従って、手の動きによって形成されるトラックを決定するステップと、をさらに含む。
その中、手は、人や動物の肢体部分である。手の画像は、手が含まれ、且つ、手領域が画像領域に占める割合が高い画像である。ジェスチャーは、ユーザーが手によって行なわれる動作形態である。ジェスチャータイプは、取得した画像フレームにおけるジェスチャーが属するタイプである。トリガータイプは、特定のイベントをトリガーするジェスチャーが属するタイプである。
【００３９】
動きの参照ポイントは、ターゲットオブジェクトの動きの過程を判別するための参照標準として使用される。動きの参照ポイントの位置が異なる画像フレームにおいて変化した場合、ターゲットオブジェクトが動いていることを意味することを理解できる。例えば、人差し指の先端の撮像ポイントを動きの参照ポイントとして、複数の画像フレームにおける人差し指の先端の撮像ポイントの位置が変化した場合、手が動いたと判定する。
【００４０】
取得した元の画像フレームにおける手領域に対してジェスチャータイプ認識を直接実行する場合と比較して、取得した画像フレームから手の画像をセグメント化した後、セグメント化された手の画像に対してジェスチャータイプ認識を実行することで、画像フレーム全体における手の画像の割合が小さい場合に発生する不正確な認識の問題を回避でき、元の画像フレームにおける手領域の背景領域による手領域のジェスチャータイプ認識の干渉を低減でき、認識精度を向上させることができることを理解できる。
【００４１】
一実施例では、取得した画像フレームから手の画像をセグメント化することは、手認識モデルで、取得した画像フレームをセマンティックセグメンテーションフィーチャマトリックスにエンコードすることと、セマンティックセグメンテーションフィーチャマトリックスをデコードしてセマンティックセグメンテーション画像を取得すし、セマンティックセグメンテーション画像におけるピクセルが、それが属する分類カテゴリを示すピクセル値を有し、エンコードの元である画像フレームにおけるピクセルに対応することと、手カテゴリに属するピクセルに基づき、画像から手の画像をセグメント化することと、を含む。
その中、手認識モデルは、トレーニングされた後の手認識能力を備えた機械学習モデルである。機械学習の完全な英語名はＭａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇであり、ＭＬと略称する。機械学習モデルは、サンプル学習を通じて特定の能力を持つことができる。機械学習モデルには、ニューラルネットワークモデル、サポートベクターマシン又はロジスティックモデルなどを採用することができる。ニューラルネットワークモデルとは、例えば、畳み込みニューラルネットワークなどである。本実施例では、手認識モデルは、完全畳み込みネットワークモデル（Ｆｕｌｌｙ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ）であってもよい。
【００４２】
セマンティックセグメンテーションフィーチャマトリックスは、画像フレームにおける画像コンテンツのセマンティックフィーチャの低次元表現であり、この画像フレーム全体のセマンティックフィーチャ情報をカバーしている。セマンティックセグメンテーション画像は、重複しないいくつかの、一定のセマンティックを持つ領域にセグメント化された画像である。セマンティックセグメンテーション画像におけるピクセルのピクセル値は、対応するピクセルが属する分類カテゴリを反映するために用いられる。ピクセルの分類は、２分類であってもよいし、多分類であってもよい。ピクセルは、２分類の場合、例えば、マップ画像における道路に対応するピクセルと、他のピクセルに分類される。ピクセルは、多分類の場合、例えば、景観マップにおける、空に対応するピクセルと、大地に対応するピクセルと、人物に対応するピクセルなどに分類される。セマンティックセグメンテーション画像の画像サイズは、元の画像フレームの画像サイズと同じである。このように、モデル入力画像をピクセルごとに分類し、セマンティックセグメンテーション画像におけるピクセルのピクセル値に基づき、モデル入力画像における各ピクセルの属するカテゴリを取得できることを理解できる。
【００４３】
例示的に、端末は、各ジェスチャータイプに属する画像サンプルによって、手認識モデルが得られるようにトレーニングすることができる。このように、端末は、取得した画像フレームから手の画像をセグメント化した後、手の画像を手認識モデルの入力として使用し、取得した手認識モデルのコーディング構造によって、手の画像をセマンティックセグメンテーションフィーチャマトリックスにエンコードする。次に、手認識モデルのデコード構造によって、セマンティックセグメンテーションフィーチャマトリックスをデコードしてセマンティックセグメンテーション画像を取得する。
その中、端末によって設置されたトリガータイプのジェスチャータイプが一意である場合、手認識モデルは２分類モデルである。２分類モデルをトレーニングするための画像サンプルは、ターゲットジェスチャータイプに属するポジティブサンプルと、ターゲットジェスチャータイプに属さないネガティブサンプルを含む。端末によって設置されたトリガータイプのジェスチャータイプが多種類である場合、手認識モデルは多分類モデルである。多分類モデルをトレーニングするための画像サンプルは、各ターゲットジェスチャータイプに属するサンプルを含む。
【００４４】
図５は、一実施例における、取得した画像フレームから手領域をセグメント化する概略図を示している。図５を参照して、図５（ａ）は取得した手領域を含む元の画像フレームであり、図５（ｂ）はセマンティックセグメント化されたセマンティックセグメンテーション画像であり、図５（ｃ）は手領域をセグメント化した規則的な手の画像である。
【００４５】
本実施例では、画像フレームを取得した後、この画像フレームをトレーニング済みの機械学習モデルに自動的に入力し、画像フレームをセマンティックセグメンテーションフィーチャマトリックスにエンコードし、このセマンティックセグメンテーションフィーチャマトリックスをデコードしてセマンティックセグメンテーション画像を取得する。その中、セマンティックセグメンテーション画像におけるピクセルは、それが属する分類カテゴリを示すピクセル値を有し、元の画像フレームにおけるピクセルに対応する。このように、手カテゴリに属するピクセルに基づき、手領域を決定して手の画像をセグメント化することができ、画像セグメント化の確率を向上させる。
【００４６】
さらに、端末は、セグメント化された手の画像をトリガータイプの手の画像テンプレートと比較して、セグメント化された手の画像がトリガータイプの手の画像テンプレートにマッチングする場合、手の画像に対応するジェスチャータイプがトリガータイプであると判定し、その後、画像フレームで動きの参照ポイントを決定し、動きの参照ポイントに従って、手の動きによって形成されるトラックを決定してもよい。
【００４７】
端末は、セグメント化された手の画像をトレーニング済みのジェスチャー認識モデルに入力し、このジェスチャー認識モデルによって出力されたジェスチャー認識結果を取得し、このジェスチャー認識結果が、手の画像に対応するジェスチャータイプがトリガータイプであることを示している場合、画像フレームで動きの参照ポイントを決定し、動きの参照ポイントに従って、手の動きによって形成されるトラックを決定してもよい。
【００４８】
例示的なシーンでは、ユーザーは端末のカメラに向いてジェスチャーを行い、このジェスチャーに対応する操作タイプが描画タイプであると判定した場合、収集された連続する各フレーム画像におけるジェスチャーの動きの参照ポイントを決定する。画像を収集する頻度が高いため、連続する動きの参照ポイントを短い線で連結してトラックを形成することができる。
【００４９】
一実施例では、端末は、収集の時系列に従って、取得フレームレートよりも小さいフレームレートで、取得した画像フレームから画像フレームを選択して、手の画像のセグメント化及びジェスチャーの認識を実行してもよい。その中、取得した画像フレームから画像フレームを選択することについて、マルチスレッドを介して非同期に画像フレームを選択して、それぞれ手の画像のセグメント化及びジェスチャー認識を実行してもよい。このように、認識効率を向上させることができる。
【００５０】
上記の実施例では、手で特定のジェスチャーを行い、空中に特定のトラックを描くことによって、仮想エントリの表示効果を自動的にトリガーすることができる。描画プロセス全体において、ユーザーが入力装置を介して操作する必要はなく、ユーザーは示されるジェスチャーを使用してより広い空間範囲で描画できるため、仮想エントリをトリガーする便利性を向上させる。
【００５１】
一実施例では、当該画像処理方法は、トリガー条件を満たさない場合、再生したビデオフレームでは、トラックが通過するピクセルのピクセル値を参照ピクセル値に置き換えることと、トリガー条件を満たした場合、位置に応じて、現在再生中の画像フレームで参照アニメーションを再生することと、をさらに含む。
【００５２】
例示的に、トリガー条件を満たさない場合、トリガー条件を満たすかどうかをユーザーが直感的に感知するように、ターゲットオブジェクトの動きによって形成されたトラックを視覚的に強調表示するために、画像におけるピクセルとは異なるピクセル値でトラックを表示してもよい。トラックは、実質的に、連続する複数の画像フレームにおいて各動きの参照ポイントに対応するピクセル座標によって形成されるトラックであるので、端末は、各ピクセル座標に基づき、画像フレームでトラックの通過したピクセルを決定し、これらのピクセルのピクセル値を参照ピクセル値に更新してもよい。参照ピクセル値は、例えば、より鮮やかな緑又は赤に対応するピクセル値である。
【００５３】
一実施例では、端末は、これらのピクセルを中心として、一定の範囲でのピクセルのピクセル値を参照ピクセル値に更新してもよい。端末は、トラックの通過したピクセルでパーティクルアニメーションをレンダリングし、トラックの通過したピクセルのピクセル値をカバー又は置換することで、魔法のジェスチャーの動きの効果を実現することもできる。
【００５４】
一実施例では、端末は、ピクセル値を更新する場合又はパーティクルアニメーションをレンダリングする場合、リアルタイムで行うことができる。現在の画像フレームにおけるトラックの通過したピクセルを決定したら、このピクセルのピクセル値を更新するか、又はピクセルの位置でパーティクルアニメーションをレンダリングする。こうすれば、動きのトラックをリアルタイムで表示することができる。
【００５５】
図６に、一実施例における、画像フレームにおけるトラック変化の概略図を示している。図６を参照して、図６の（ａ）、（ｂ）及び（ｃ）は、画像フレームにおいてトラックが変化するときの端末インタフェースの簡略化された概略図であり、図６の（ｄ）、（ｅ）及び（ｆ）は、画像フレームにおいてトラックが変化するときの端末インタフェースの画面記録のスクリーンショットである。図６（ａ）又は（ｄ）から明らかに分かるように、トラックの通過したピクセルのピクセル値が元のピクセル値と異なるように更新される。図６の（ｂ）又は（ｅ）から明らかに分かるように、取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックが、円形であり、トリガー条件を満たす。図６の（ｃ）又は（ｆ）から分かるように、元のピクセル値と異なる値を持つピクセルは、トラックの中心位置に徐々に近づいて、アニメーション効果を実現できる。
【００５６】
さらに、トリガー条件を満たした場合、端末は、ターゲットオブジェクトに対応する位置に応じて、現在再生中の画像フレームに参照アニメーションを再生する。その中、参照アニメーションは、参照ピクセル値に更新されたピクセルを徐々に元のピクセル値に戻すことや、パーティクルアニメーションのレンダリングを徐々にキャンセルすることや、又はパーティクルアニメーションがトラックの中心位置に徐々に近づいた後にレンダリングをキャンセルすることなどである。
【００５７】
上記の実施例では、画像フレームにおけるトラックの通過するピクセルのピクセル値を更新することによって、ターゲットオブジェクトの動きのトラックを現在の画像フレームに直接表示することで、リアルタイムの描画効果を形成して、ユーザーの知覚度を向上させることができる。そして、トリガー条件を満たした後、参照アニメーションを再生して、興趣性を向上させる。
【００５８】
一実施例では、現実シーンでのターゲットオブジェクトに対応する位置を決定することは、ターゲットオブジェクトの世界座標空間における世界座標位置を決定することを含む。ターゲットオブジェクトに対応する位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングすることは、カメラ座標空間における当該世界座標位置に対応するカメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングすることを含む。その中、当該世界座標位置は、ターゲットオブジェクトの世界座標空間における座標位置である。
その中、世界座標空間は、現実シーンの座標空間であり、固定された絶対座標空間である。カメラ座標空間は、光軸と画像平面の交点を原点として形成される座標空間であり、画像収集装置（カメラ）の位置の変化に伴って変化する相対座標空間である。世界座標空間における世界座標位置は、剛体変化を通じて、カメラ座標系におけるカメラ座標位置にマッピングすることができる。
【００５９】
現実シーンにおけるターゲットオブジェクトについて、一般的に、当該ターゲットオブジェクトが動かない場合、世界座標空間における当該世界座標位置が固定されるが、画像収集装置の位置及び姿勢の変化に伴って、カメラ座標空間におけるそのカメラ座標位置が比較的変化しないことを理解できる。
【００６０】
本出願では、ターゲットオブジェクトの動きの世界座標位置に仮想エントリが現れることをユーザーに感知させるために、ターゲットオブジェクトの動きの世界座標位置が画像フレームにマッピングされた位置で、仮想エントリをレンダリングすることを意図し、そのため、ターゲットオブジェクトの動きの世界座標位置を取得し、次に、現在のカメラ座標空間におけるカメラ座標位置をリアルタイムで決定する必要がある。例えば、ユーザーが端末を手に持ってリアカメラの視野領域において手の人差し指の先端で円を描くことは、現実シーンにおいて指で円を描く位置に、仮想ドア、つまり仮想エントリが現れることを意図している。
【００６１】
例示的に、端末は、取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たすと判定した場合、現在の画像フレームにおけるターゲットオブジェクトの画像座標位置を取得し、画像座標空間とカメラ座標空間の投影変化に従ってターゲットオブジェクトのカメラ座標位置を取得し、カメラ座標空間と世界座標空間の剛体変化に従ってターゲットオブジェクトの世界座標空間における世界座標位置を取得してもよい。その中、画像座標空間は、画像の中心を原点とし、座標軸を画像の辺に平行することで構成される座標空間である。
【００６２】
カメラ座標空間と画像座標空間との間の投影変化関係が出荷時の設定に基づいて決定されたため、投影変化関係、及び画像座標空間における画像座標位置に基づき、ターゲットオブジェクトのカメラ座標空間における水平及び垂直座標を決定することができ、ターゲットオブジェクトの画像の深さに基づき、ターゲットオブジェクトのカメラ座標空間における垂直方向の座標を取得できることを理解できる。
【００６３】
本出願の実施例は複数の座標空間に関するので、本出願の解決策をより明確にするために、図７を例として各座標空間を区分して説明する。図７を参照して、Ｏｏ−ＸｏＹｏＺｏはモデル座標空間の座標系であり、Ｏｗ−ＸｗＹｗＺｗは世界座標空間の座標系であり、Ｏｃ−ＸｃＹｃＺｃはカメラ座標空間の座標系であり、Ｏ１−ｘｙは画像座標空間の座標系であり、Ｏ２−ｕｖはピクセル座標空間の座標系である。点Ｐ（Ｘｗ，Ｙｗ，Ｚｗ）は世界座標空間における点（即ち、現実世界における実点）で、点ｐは点Ｐ（Ｘｗ，Ｙｗ，Ｚｗ）にマッチングする画像フレームにおける像点である。点ｐの画像座標系空間における位置座標は（ｘ，ｙ）、ピクセル座標系空間における位置座標は（ｕ，ｖ）である。点ｐの画像座標空間における位置座標（ｘ，ｙ）及び点ｐの深さによって、点ｐのカメラ座標空間におけるカメラ座標位置を決定できる。ピクセル座標空間の原点は画面の頂点であることを理解できる。
【００６４】
一実施例では、カメラ座標空間における世界座標位置に対応するカメラ座標位置に従って、現在再生中の画像フレームに仮想エントリをレンダリングすることは、現在の端末の位置及び姿勢を取得することと、現在の端末の位置及び姿勢に基づき、現在のカメラ座標空間と世界座標空間の変換マトリックスを決定することと、変換マトリックスに従って、世界座標位置をカメラ座標空間におけるカメラ座標位置に変換することと、カメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングすることと、を含む。
その中、現在の端末の位置は、現在の端末の画像収集装置の現実シーンにおける位置である。現在の端末の姿勢は、現在の端末の画像収集装置の現実シーンにおけるロール（ｒｏｌｌ）、ピッチ（ｐｉｔｃｈ）、ヨー（ｙａｗ）の空間状態である。
【００６５】
端末は、画像処理を行う前に、マップを構築するステップをさらに実行することを理解できる。端末は、キーフレームを収集することによって、キーフレームを収集するときの現実シーンにおける位置を特定して記録する。このように、端末は、画像処理をリアルタイムで行うときに、現在取得した画像フレームをキーフレームにマッチングして、マッチングされたキーフレームの記録位置に対応する。端末は、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  Ａｎｄ  Ｍａｐｐｉｎｇ  位置決めとマップ構築）、ＶＯ（Ｖｉｓｕａｌ  Ｏｄｏｍｅｔｒｙ  視覚オドメーター）、又はＶＩＯ（Ｖｉｓｕａｌ  Ｉｎｅｒｔｉａｌ  Ｏｄｏｍｅｔｒｙ  視覚慣性オドメーター）に基づいて、現実シーンに対して対応するマップを構築することができる。
【００６６】
一実施例では、現在の端末の位置及び姿勢を取得することは、マップから、取得した画像フレームにマッチングするマップノードを選択することと、マップノードに対応付けられて記憶された現実シーンにおける位置を照会することと、慣性センサによって収集されたセンサデータを取得することと、センサデータに基づき、現在の端末の姿勢を決定することとを含む。
【００６７】
例示的に、端末は、取得した画像フレームをマップにおけるノード画像にマッチングして、マッチングに成功した場合、当該マッチングされたノード画像のマップノードを位置決めし、当該マップノードに対応付けられて記憶された現実シーンにおける位置である端末の現在の位置を照会してもよい。端末は、慣性センサ（ＩＭＵ，Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ）によって収集されたセンサデータを取得し、センサデータに基づき、現在の端末の姿勢を決定してもよい。このように、現在の端末の位置及び姿勢に基づき、現在のカメラ座標空間と世界座標空間の剛体変換マトリックスを算出することができる。
【００６８】
端末は、マップを構築するときに、参照マップノードでのカメラ座標空間と時間座標空間の剛体変換マトリックスを算出することができ、このように、他のマップノード位置のカメラ座標空間と時間座標空間の剛体変換マトリックスは、現在のマップノードと参照マップノードの位置及び姿勢に基づき変更して、現在のカメラ座標空間と世界座標空間の剛体変換マトリックスを取得できることを理解できる。端末は、物点の世界座標位置と像点の現在のカメラ座標空間におけるカメラ座標位置との間の変換関係に基づき、世界座標空間と現在のカメラ座標空間との間の現在の剛体変換マトリックスをリアルタイムで決定してもよい。
【００６９】
本実施例では、現在収集された画像フレームの画像特徴、及び慣性センサによって収集されたセンサデータを組み合わせ、現在の端末を位置決めして、位置決めの正確度を向上させる。
さらに、端末は、世界座標空間と現在のカメラ座標空間との間の現在の剛体変換マトリックスに基づき、この剛体変換マトリックに応じてス世界座標位置をカメラ座標空間におけるカメラ座標位置に変換してもよい。
【００７０】
一実施例では、カメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングすることは、仮想エントリのモデルの頂点を画像座標空間において対応するピクセルとして投影することと、各モデルの頂点間の接続関係に基づき、モデルの頂点に対応するピクセルをプリミティブに結合することと、ラスタライズされたプリミティブを、プリミティブにおける各ピクセルのピクセル値に従って、画像座標空間におけるカメラ座標位置に対応する画像座標位置でレンダリングして、仮想エントリを得ることと、を含む。
【００７１】
その中、仮想エントリのモデルは、設置されたモデルである。モデルパラメータも設置された。モデルパラメータは、モデルの頂点パラメータ及びモデルの頂点間の接続関係を含む。モデルの頂点パラメータは、モデルの頂点のモデル座標空間におけるモデル座標位置、モデルの頂点の色、及びモデルテクスチャ座標を含む。プリミティブは、点、線又は面などの基本的なグラフィックである。ラスタライズとは、プリミティブを一連の２次元画像に変換するプロセスであり、これらの２次元画像が画面に描画可能なピクセルを代表する。簡単に言えば、プリミティブアセンブリして得られたのは、頂点からなるグラフィックであり、ラスタライズとは、グラフィックの形状に基づき、そのグラフィック領域のピクセルを補間することである。
【００７２】
例示的に、端末は、モデル座標空間、世界座標空間、カメラ座標空間から画像座標空間への変換関係を介して、仮想エントリのモデルの頂点を画像座標空間において対応するピクセルとして投影することができる。そして、各モデルの頂点間の接続関係に基づき、モデルの頂点に対応するピクセルをプリミティブに結合し、プリミティブアセンブリを実現する。次に、プリミティブをラスタライズしてカラー化して、画像座標空間におけるカメラ座標位置に対応する画像座標位置でレンダリングして、仮想エントリを得る。端末は、ＯｐｅｎＧＬ（Ｏｐｅｎ  Ｇｒａｐｈｉｃｓ  Ｌｉｂｒａｒｙ  オープン型グラフィックライブラリー）に基づき、仮想モデルを描画することができる。
【００７３】
端末は、収集された画像フレームにおいて、画像座標空間におけるカメラ座標位置に対応する画像座標位置でレンダリングして仮想エントリを取得した後、得られた仮想エントリをレンダリングした画像フレームを、フレームバッファ領域に入れて表示を待ってもよく、端末画面に直接表示してもよい。
【００７４】
一実施例では、当該画像処理方法は、マップを構築するステップをさらに含み、当該マップを構築するステップは、時系列で収集された画像フレームから画像フレームを選択することと、選択された画像フレームの画像特徴がノード画像の画像特徴に一致する場合、選択された画像フレームをノード画像として取得することと、取得したノード画像がマップにおいて対応するマップノードを決定することと、取得したノード画像の画像特徴、及び取得したノード画像を収集するときの現実シーンにおける位置を、決定したマップノードに対応付けて記憶することと、を含む。
その中、選択された画像フレームは、収集された画像フレームのうちキーフレームであってもよい。
【００７５】
一実施例では、端末は、ユーザーの選択指示を受信し、当該ユーザーの選択指示に基づき、収集された画像フレームから画像フレームを選択してもよい。端末は、間隔フレーム数に従って、収集された画像フレームから画像フレームを選択してもよい。例えば、２０フレームごとに、画像フレームを選択する。
【００７６】
ノード画像の画像特徴は、ノード画像を選択するための画像特徴である。ノード画像の画像特徴に一致するとは、画像に含まれる特徴点のうち、既存のノード画像に含まれる特徴点にマッチングする特徴点の数が基準数を上回ることであってもよいし、既存のノード画像に含まれる特徴点に対する、画像に含まれる特徴点のうち既存のノード画像に含まれる特徴点にマッチングする特徴点の比率は基準比率を下回ることであってもよい。
【００７７】
例えば、最近追加されたノード画像に含まれる特徴点の数を１００とし、現在選択されている画像フレームに含まれる特徴点の数を１２０とする。基準数は５０、基準比率は９０％である。また、現在選択されている画像フレームに含まれる特徴点のうち、最近追加されたノード画像に含まれる特徴点にマッチングする特徴点の数を７０とすると、現在の画像フレームに含まれる特徴点のうち、既存のノード画像に含まれる特徴点にマッチングする特徴点の数は基準数を上回るため、現在選択されている画像フレームの特徴がノード画像の特徴に一致すると判定することができる。
【００７８】
一実施例では、端末は、マップを構築するコマンドを取得した後、固定又は動的なフレームレートで画像フレームを収集し、収集された画像フレームに含まれる特徴点の数が閾値よりも大きい画像フレームを初期のノード画像として選択し、マップ内の当該ノード画像に対応するマップノード、及びマップ内の当該ノード画像に含まれる特徴点に対応する位置を決定して、ローカルマップを構築する。端末は、時系列で収集された画像フレームから画像フレームを選択し、グローバルマップが得られるまで、ノード画像の特徴に一致する画像フレームを後続のノード画像として選択する。
【００７９】
例示的に、端末は、初期のノード画像を参照ノード画像として、参照ノード画像における特徴点を追跡してもよい。選択された画像フレームに含まれる特徴点のうち、参照ノード画像に含まれる特徴点とマッチングする特徴点の数が第１の数を下回り、第２の数を上回る場合、選択された画像フレームをノード画像とする。選択された画像フレームに含まれる特徴点のうち、参照ノード画像に含まれる特徴点とマッチングする特徴点の数が第２の数を下回る場合、最近取得したノード画像を参照ノード画像として、画像を引き続き追跡し、ノード画像を選択する。
【００８０】
さらには、端末は、当該取得したノード画像を自然空間で収集し、マップ空間に投影するマップノードを決定することができる。端末は、取得したノード画像よりタイミングが早いノード画像の特徴を抽出し、タイミングが早いノード画像の特徴と取得したノード画像の変化マトリックスを算出し、この変化マトリックスに基づき、タイミングが早いノード画像を収集するときの位置から取得したノード画像を収集するときの位置への変化量を取得し、この変化量に基づき、マップ内の取得したノード画像に対応するマップノードを決定することができる。
【００８１】
その中、変化マトリックスは、２次元画像の特徴から２次元画像の特徴への間の類似変化関係である。例示的に、端末は、取得したノード画像の画像特徴を抽出し、マップにおいて既存のノードに対応するノード画像の画像特徴とマッチングし、マッチングに成功した画像特徴の、取得したノード画像と既存のノード画像のそれぞれにおける位置を取得することができる。取得したノード画像は、後に収集される画像フレームであり、既存のノード画像は、前に収集される画像フレームである。端末は、取得したマッチングした画像特徴の、前後に収集された２つの画像フレームにおける位置に基づき、前後に収集された２つの画像フレームの間の変化マトリックスを決定することで、端末が当該２つの画像フレームを収集するときの位置変化及び姿勢変化を取得し、さらに、前に収集された画像の位置及び姿勢に基づき、後に収集された画像の位置及び姿勢を取得することができる。
【００８２】
一実施例では、マップにおいて既存のノードに対応するノード画像は１フレーム又は複数のフレームであってもよい。端末は、取得したノード画像の特徴を複数の既存のノードに対応するノード画像の特徴と比較して、後に収集された画像フレームと複数の前に収集された画像フレームの変化マトリックスを取得し、複数の変化マトリックスに基づき、後に収集された画像の位置及び姿勢を統合的に取得してもよい。例えば、算出された複数の位置変化及び姿勢変化に対して加重平均などを取る。
【００８３】
本実施例では、ノード画像の特徴間の変化マトリックスによって、現在取得したノード画像と以前の既存のノード画像との変換関係が得られることで、マップにおける前の画像フレームの位置からマップにおける現在の画像フレームの位置を推定することが実現され、リアルタイムの位置決めが実現される。
【００８４】
例示的に、端末は、ノード画像の画像特徴を抽出し、ノード画像の画像特徴をノード画像に対応するマップノードに対応付けて記憶することができ、画像特徴の比較が必要である場合、マップノードに基づき、対応付けられるノード画像の画像特徴を直接検索することができ、これにより、記憶空間が節約され、検索効率を向上させる。
端末は、取得したノード画像を収集するときの現実シーンにおける位置を記憶してもよく、これにより、端末を位置決めするときに、マップノードに基づき、対応するノード画像の記憶位置を直接検索して、検索効率を向上させることができる。
【００８５】
本実施例では、自身で画像フレームを収集し、収集された画像フレームを処理することで、マップを自動的に構築でき、これにより、専門的な描画機能を備える多数のスタッフが環境を手動でマッピングする必要になり、スタッフの能力に対する要求が高く、労働量が大きいという問題が回避され、マップ構築の効率を向上させることができる。
【００８６】
一実施例では、仮想コンテンツはパノラマビデオである。当該画像処理方法は、仮想エントリに対応する現実シーンでの空間領域を決定することと、現在の端末の位置が空間領域を通過した後、パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示することと、をさらに含む。
【００８７】
その中、パノラマビデオは、３Ｄカメラを利用して全方向の３６０度で撮影したビデオである。ユーザーは、パノラマビデオを見ているときに、３６０度のパノラマを見るように画角を自由に調整することができる。仮想エントリは、現実シーンにおける空間領域に対応し、仮想エントリがカメラ座標空間において占める空間の世界座標空間における投影である。当該空間領域は、厚みのない平面空間領域であってもよいし、厚みのある立体空間領域であってもよい。ユーザーにとって、現実シーンにおけるある固定の位置に仮想エントリ（仮想の部屋のドア）が現れることをユーザーに感知させ、ユーザーが端末を手に持って当該位置へ移動するときに、当該仮想エントリ（仮想の部屋のドア）に向かって歩いているように感知させる。
【００８８】
例示的に、現在の端末の位置が空間領域を通過した後に、ユーザーが部屋のドアを通過して別の部屋又は空間に入ったことが理解できる。端末は、端末の現在の位置を球心として３次元の球体モデルを確立し、パノラマビデオを球面内側にテクスチャ方式でレンダリングしてもよい。このように、端末は、パノラマビデオにおける端末の現在の視野領域内のビデオ画面を直接表示することができる。現在の視野領域は、端末の現在の姿勢と関係がある。
【００８９】
図８に、一実施例における、現在の端末の位置が空間領域を通過した後のレンダリング原理図を示す。図８を参照して、図８（ａ）は、現在の端末の位置が空間領域を通過する概略図を示しており、端末の位置が仮想エントリ８０１の位置する領域を通過して、仮想エントリの一方の側から仮想エントリの他方の側に動くことが明確に分かる。図８（ｂ）は、パノラマビデオをレンダリングするための３次元の球体モデルで、現在の視野領域におけるビデオ画面を決定する概略図を示しており、３次元の球体モデルの球心が端末位置であり、つまり、端末カメラを観測点の位置とし、現在の視野領域８１０と球面８２０の交差領域８３０のビデオ画面が端末画面に表示されるための画面であることが明確に分かる。図８（ｃ）は、交差領域８３０のビデオ画面が端末インタフェースに表示されるときの簡略化された概略図を示しており、図８（ｄ）は、交差領域８３０のビデオ画面が端末インタフェースに表示されたときのショットを示している。
【００９０】
一実施例では、現在の端末の位置が空間領域を通過した後に、端末の姿勢がユーザーの命令に基づき変化してもよい。端末の姿勢が変わると、端末の現在の視野領域がすぐに変化する。端末は、パノラマビデオにおける現在の視野領域内のビデオ画面をリアルタイムで表示することができる。
【００９１】
一実施例では、画像処理方法は、パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示した後、現在の端末の位置が再び空間領域を通過せず、かつ現在の視野領域が移動により仮想エントリをカバーした場合、現在の視野領域において仮想エントリ内に位置する視野領域を決定することと、仮想エントリに、取得した画像フレームにおいて決定された視野領域内の画面を表示することと、をさらに含む。
【００９２】
現在の端末の位置が再び空間領域を通過せず、かつ現在の視野領域が移動により仮想エントリをカバーすることは、現在の端末が仮想エントリを通過するように移動せず、仮想エントリが端末の現在の視野領域に再び入るように現在の端末の姿勢を調整することを理解できる。
【００９３】
例示的に、端末は、パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示した後、現在の端末の位置が再び空間領域を通過せず、かつ現在の視野領域が移動により仮想エントリをカバーすることを検出した場合、現在の視野領域において仮想エントリ内に位置する視野領域を決定し、仮想エントリに、取得した画像フレームにおいて決定された視野領域内の画面を表示する。このように、仮想エントリ内に現実世界を表示し、仮想エントリ外に仮想コンテンツを表示することが実現される。
【００９４】
ユーザーが部屋のドアを通過して部屋に入った後、部屋のドアはユーザーの後ろにあり、もうユーザーの視野に現れないことを理解できる。ユーザーは、部屋内で視野を調整して見て、部屋の各所のシーン画面、つまり、本実施例における現在の端末の位置が空間領域を通過した後に直接表示されたパノラマビデオにおける現在の視野領域内のビデオ画面を見て、言い換えると、ユーザーは仮想エントリ内のパノラマビデオを見た。ユーザーが体の向きを変えると、部屋のドアがユーザーの視野に再び現れ、ユーザーが部屋のドアを通じて見るのは、部屋の外にある現実画面であり、つまり、本実施例では、現在の端末の位置が再び空間領域を通過せず、かつ現在の視野領域が移動により仮想エントリをカバーした場合、現在の視野領域において仮想エントリ内に位置する視野領域を決定し、仮想エントリに、取得した画像フレームにおいて決定された視野領域内の画面を表示する。このように、ユーザーが見るのは、仮想エントリ内の現実シーンの画面である。
【００９５】
図９は、一実施例における、現在の端末の位置が空間領域を再び通過せず、かつ現在の視野領域が移動により仮想エントリをカバーする場合、端末インタフェースに表示されるインタフェースの概略図を示す。図９を参照して、仮想エントリ内は現実シーンの画面であり、仮想エントリ外は仮想コンテンツである。
【００９６】
一実施例では、画像処理方法は、現在の端末の位置が空間領域の周りを移動する場合、現在の視野領域において仮想エントリ内に位置する視野領域を決定することと、仮想エントリに、パノラマビデオにおいて決定した視野領域内のビデオ画面を表示することと、をさらに含む。
【００９７】
図１０は、一実施例における、現在の端末の位置が空間領域の周りを移動するときのレンダリングの原理図を示す。図１０を参照して、図１０の左側の図は、現在の端末の位置が空間領域の周りを移動するときの概略図を示し、端末の位置が仮想エントリ１００１の位置する領域を迂回し、仮想エントリの一方の側から仮想エントリの他方の側に動くことが明確に分かる。端末は、図１０の左側の図の移動方式で移動する場合、端末に表示されている画面では、仮想エントリ内は常に仮想コンテンツであり、仮想エントリ外は常に現実シーン画面であり、図１０の右図に示す。
【００９８】
例示的な適用シーンでは、ユーザーは、端末を手に持って、カメラを呼び出すための端末内のアプリケーションプログラムを介して端末の内蔵カメラを開き、このように、端末はカメラの現在の視野で、現実シーンにおける画像フレームを収集することができる。ユーザーが端末を手に持ってリアカメラの視野領域において手の人差し指の先端で円を描いて、現実シーンにおける指で円を描いた位置に、仮想ドア、つまり仮想エントリが現れることを意図する。このとき、端末は、当該位置に対応する端末画面における画像位置で仮想エントリをレンダリングする。仮想エントリ外に現実シーン画面を表示し、仮想エントリ内にパノラマビデオの局部ビデオ画面を表示する。
【００９９】
ユーザーが端末を手に持って現実シーンにおける仮想エントリのマッピング位置へ近寄っていると、端末画面における仮想エントリは、端末がこの位置を通過した後に端末画面に再び現れなくなるまで徐々に大きくなる。このとき、ユーザーが見えたのは、端末画面に現れたパノラマビデオの局部ビデオ画面である。ユーザーは、異なる領域のパノラマビデオ画面を見るように、リアカメラの視野領域を調整することができる。
【０１００】
ユーザーは、端末を手を持って、後ずさり、この位置を再び通過してもよい。このとき、仮想エントリが端末画面に現れて徐々に小さくなり、仮想エントリ外に現実シーン画面を表示し、仮想エントリ内にパノラマビデオの局部ビデオ画面を表示する。ユーザーは、端末を手に持って、向きを変えるが、再びこの位置を通過しない。このとき、仮想エントリが端末画面に現れて、仮想エントリ外にパノラマビデオの局部ビデオ画面を表示し、仮想エントリ内に現実シーン画面を表示する。
【０１０１】
ユーザーは、端末を手に持って、現実シーンにおける仮想エントリのマッピング位置の周りを移動する。このとき、仮想エントリが端末画面に常に現れ、仮想エントリ外に現実シーン画面を表示し、仮想エントリ内にパノラマビデオの局部ビデオ画面を表示する。
上記の実施例では、現在の端末の位置が仮想エントリを通過するか、又は仮想エントリの周りを移動する場合、仮想エントリの内部及び外部のレンダリングコンテンツの変化を提供する。これにより、ユーザーは、位置をエントリの外部からエントリの内部に移動して、エントリの内部の仮想世界を見ることができ、エントリの内部からエントリの外部に移動して外部の現実世界を見ることもでき、仮想と現実の交差効果を体験することができる。
【０１０２】
一実施例では、仮想コンテンツはパノラマビデオである。当該画像処理方法は、収集されたビデオフレームを第１の球体モデルの球面内側に描画し、パノラマビデオのパノラマビデオ画面を第２の球体モデルの球面内側に描画することと、仮想エントリに対応する現実シーンでの空間領域を決定することと、現在の端末の位置が空間領域を通過していない場合、又は現在の端末の位置が空間領域を偶数回通過した場合、レンダリング順序及びモデル深さの逆順で、現在の視野領域内の第１の球体モデル、第２の球体モデル及び完全に透明な第３のモデルに従って、レンダリングして、表示用の画面を得ることと、をさらに含み、その中、第１の球体モデルの球半径が第２の球体モデルの球半径より大きく、第１の球体モデルのモデル深さが第２の球体モデルのモデル深さより大きく、第２の球体モデルのモデル深さは第３のモデルのモデル深さより大きく、第３のモデルは、現在の視野領域が仮想エントリをカバーしている場合、現在の視野領域において仮想エントリ外に位置する視野領域内の第２の球体モデルのレンダリングのキャンセルをトリガーし、又は、視野領域が仮想エントリをカバーしていない場合、第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられる。
【０１０３】
その中、レンダリング順序は、モデルをレンダリングする順序である。モデル深さは、モデル境界の観測点からの距離である。モデル深さが深いほど、モデル境界の観測点からの距離は遠くなる。観測点はモデル内部でモデルを観測する位置であり、観測点視野領域にレンダリングされた画面は、端末画面に表示される画面である。通常、視野領域におけるモデルをレンダリングして表示用の画面を得る場合、通常、モデル深さの逆順でンダリングして、つまり、先に観測点に近いモデルをレンダリングする。レンダリング順序は、人為的に設定された、レンダリングするときに依拠する順序である。
【０１０４】
本実施例では、レンダリング順序及びモデル深さの逆順で、同時にレンダリングする。このように、あるモデルをレンダリングするときに、レンダリングされたモデル深さがこのモデルの他のモデルより小さい場合、当該モデルはレンダリングされなくなる。例示的に、端末は、モデリングするときに、各モデルの深さ情報（ｗｒｉｔｅｓＴｏＤｅｐｔｈＢｕｆｆｅｒ）を深さバッファー（ｄｅｐｔｈＢｕｆｆｅｒ）に記録し、深さ情報テストマーク（ｒｅａｄｓＴｏＤｅｐｔｈＢｕｆｆｅｒ）を追加する。深さ情報テストマークを追加すると、端末が、モデルを描画するときに、当該モデルのモデル深さを読み取り、このモデル深さに基づきレンダリングすることができるということを意味する。
【０１０５】
例示的に、端末は、モデル座標空間と世界座標空間の間の変化関係、仮想エントリの世界座標系における世界座標位置に基づき、仮想エントリのモデル座標空間におけるモデル座標位置を決定してもよい。そして、当該モデル座標位置を球心として第１の球体モデルと第２の球体モデルを確立する。端末はさらに、収集されたビデオフレームを第１の球体モデルの球面内側にテクスチャ方式で描画し、パノラマビデオのパノラマビデオ画面を第２の球体モデルの球面内側にテクスチャ方式で描画してもよい。
【０１０６】
一実施例では、端末は、観測点の前に、端末画面に投影できるモデル平面を作成してもよい。当該モデル平面は、観測点の移動及び回転するときに常に観測点の前に保持する。端末は、さらに、当該モデル平面に現実シーンから収集された画像フレームを描画する。これにより、収集の時系列に従って、取得した画像フレームをフレームごとに再生することを実現することができる。
【０１０７】
トリガー条件を満たした後、初めて仮想エントリをレンダリングするときに、仮想エントリ内は仮想コンテンツであり、仮想エントリ外は現実シーンであることを理解できる。すると、現在の端末の位置が空間領域を通過していない場合、又は現在の端末の位置が空間領域を偶数回通過した場合、仮想エントリの内部は依然として仮想コンテンツであり、仮想エントリの外部は依然として現実シーンである。
このように、仮想エントリの内部が依然として仮想コンテンツであり、仮想エントリの外部が依然として現実シーンであることを保証するために、端末は、観測点を囲む第３のモデルを作成し、レンダリング順序（ｒｅｎｄｅｒｉｎｇＯｒｄｅｒ）を第１の球体モデル→第３のモデル→第２の球体モデルに設置することができる。その中、仮想エントリは第３のモデルのインタフェースにあり、仮想エントリが位置する領域は、空である。
【０１０８】
図１１に、一実施例におけるモデルの断面概略図を示している。図１１（ａ）を参照して、第１の球体モデル１１０１、第２の球体モデル１１０２、第３のモデル１１０３及び仮想エントリ１１０４を含む。このとき、観測点１１０５は、仮想エントリ１１０４から遠い。
このように、観測点の視野領域の視線に第３のモデルが存在する場合、第３のモデルのレンダリング順序が第２の球体モデルより優先され、第３のモデルのモデル深さが第２の球体モデルより小さいため、この場合、端末は、第１の球体モデルと第３のモデルのみをレンダリングして、表示用の画面を得る。端末は、第３のモデルの透明度を完全透明に設置することもできる。このとき、表示用の画面は、実際には第１の球体モデルの球面内側に描画された現実シーンから収集されたビデオフレームである。つまり、仮想エントリ外に現実シーンを表示ことが保証される。
【０１０９】
引き続き図１１（ａ）を参照し、観測点１１０５から始まる、仮想エントリ１１０４を通過しない視線ＯＡは図１２（ａ）に示すように、第３のモデル、第２の球体モデル及び第１の球体モデルを順に通過する。このように、レンダリングするときに、レンダリング順序が第１の球体モデル→第３のモデル→第２の球体モデルであるため、第３のモデルの色がＣ３、透明度がＴ３、第２の球体モデルの色がＣ２、透明度がＴ２、第１の球体モデルの色がＣ１、透明度がＴ１であると仮定すると、レンダリングによって得られた画面上の色は、Ｃ３＊Ｔ３＋（１−Ｃ３）＊Ｔ１＊Ｃ１である。例示的に、Ｃ３を０、即ち、完全透明に設置し、Ｃ１を１、即ち、不透明に設置することができ、このようすれば、画面上の色は、第１の球体モデルの色、つまり、第１の球体モデルの球面内側に描画された、現実シーンから収集された画像フレームである。
【０１１０】
観測点の視野領域の視線に第３のモデルが存在しない場合、このとき、端末は第１の球体モデルと第２の球体モデルのみをレンダリングして、表示用の画面を得る。端末は、第２の球体モデルを不透明に設置することもできる。このとき、表示用の画面は、実際には第２の球体モデルの球面内側にパノラマビデオを描画しているビデオフレームである。つまり、仮想エントリに仮想コンテンツを表示することが保証される。
【０１１１】
引き続き図１１（ａ）を参照し、観測点１１０５から始まる、仮想エントリ１１０４を通過する視線ＯＢは図１２（ｂ）に示すように、第２の球体モデルと第１の球体モデルを順に通過する。このように、レンダリングするときに、レンダリング順序が第１の球体モデル→第２の球体モデルであるため、第２の球体モデルの色がＣ２、透明度がＴ２、第１の球体モデルの色がＣ１、透明度がＴ１であると仮定すると、レンダリングによって得られた画面上の色は、Ｃ２＊Ｔ２＋（１−Ｃ２）＊Ｔ１＊Ｃ１である。具体的には、Ｃ２を１、即ち、不透明に設置し、Ｃ１を１、即ち、不透明に設置することができ、このように、画面上の色は、第２の球体モデルの色、つまり、第２の球体モデルの球面内側に描画されたパノラマビデオのビデオフレームである。
【０１１２】
上記の実施例では、ユーザーが仮想エントリに入る場合、第３のモデルによって現在の視野領域において仮想エントリをカバーしている場合、現在の視野領域において仮想エントリ外にある視野領域内の第２の球体モデル上のパノラマビデオのレンダリングのキャンセルをトリガーし、視野領域が仮想エントリをカバーしていない場合、第２の球体モデル上のパノラマビデオのレンダリングのキャンセルをトリガーする。こうすれば、ユーザーが仮想エントリに入った後に、仮想エントリが見えない場合、見えたのは、全てパノラマビデオのコンテンツであり、仮想エントリが見えた場合、仮想エントリ内は現実シーンのコンテンツであり、仮想エントリ外はパノラマビデオのコンテンツであることが保証される。
【０１１３】
一実施例では、当該画像処理方法は、現在の端末の位置が空間領域を奇数回通過した場合、レンダリング順序及びモデル深さの逆順で、現在の視野領域における第１の球体モデル、第２の球体モデル及び完全に透明な第４のモデルに従って、レンダリングして、表示用の画面を得ることをさらに含み、その中、第２の球体モデルのモデル深さは第４のモデルのモデル深さより大きく、第４のモデルは、現在の視野領域が仮想エントリをカバーしている場合、現在の視野領域において仮想エントリ外に位置する視野領域内の第２の球体モデルのレンダリングのキャンセルをトリガーし、又は、視野領域が仮想エントリをカバーしていない場合、第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられる。
【０１１４】
トリガー条件を満たした後、初めて仮想エントリをレンダリングするときに、仮想エントリ内は仮想コンテンツであり、仮想エントリ外は現実シーンであることを理解できる。そして、現在の端末の位置が空間領域を奇数回通過した場合、仮想エントリ内は現実シーンに変化し、仮想エントリ外は、仮想コンテンツシーンに変化する。
このように、仮想エントリ内が現実シーンに変化し、仮想エントリ外が仮想コンテンツシーンに変化することを保証するために、端末は、観測点を囲む第４のモデルを作成し、レンダリング順序を、第１の球体モデル→第４のモデル→第２の球体モデルに設置してもよい。その中、第４のモデルのインタフェースは、仮想エントリである。
【０１１５】
図１１（ｂ）を参照して、第１の球体モデル１１０１、第２の球体モデル１１０２、第４のモデル１１０６及び仮想エントリ１１０４を含む。このとき、観測点１１０７は仮想エントリ１１０４から遠い。
このように、観測点の視野領域の視線に第４のモデルが存在する場合、第４のモデルのレンダリング順序は、第２の球体モデルより優先され、第４のモデルのモデル深さは第２の球体モデルより小さいため、この場合、端末は、第１の球体モデルと第４のモデルのみをレンダリングして、表示用の画面を得る。端末は、第４のモデルの透明度を完全透明に設置することもできる。このときに、表示用の画面は、実際には第１の球体モデルの球面内側に描画された現実シーンから収集されたビデオフレームである。つまり、仮想エントリ内に現実シーンを表示することが保証される。
【０１１６】
引き続き図１１（ｂ）を参照し、観測点１１０７から始まる、仮想エントリ１１０４を通過する視線ＯＣは、図１２（ｃ）に示すように、第４のモデル、第２の球体モデル及び第１の球体モデルを順に通過する。このようにして、レンダリングするときに、レンダリング順序が、第１の球体モデル→第４のモデル→第２の球体モデルであるため、第４のモデルの色がＣ４、透明度がＴ４、第２の球体モデルの色がＣ２、透明度がＴ２、第１の球体モデルの色がＣ１、透明度がＴ１であると仮定すると、レンダリングによって得られた画面上の色は、Ｃ４＊Ｔ４＋（１−Ｃ４）＊Ｔ１＊Ｃ１である。具体的には、Ｃ４を０、即ち、完全透明に設置し、Ｃ１を１、即ち、不透明に設置することができ、このように、画面上の色は、第１の球体モデルの色、つまり、第１の球体モデルの球面内側に描画された、現実シーンから収集された画像フレームである。
【０１１７】
観測点の視野領域の視線に第３のモデルが存在しない場合、端末は、第１の球体モデルと第２の球体モデルのみをレンダリングして、表示用の画面を得る。端末は、第２の球体モデルを不透明に設置することができる。このとき、表示用の画面は、実際には第２の球体モデルの球面内側にパノラマビデオを描画しているビデオフレームである。つまり、仮想エントリ外に仮想コンテンツを表示することが保証される。
【０１１８】
引き続き図１１（ｂ）を参照し、観測点１１０７から始まる、仮想エントリ１１０４を通過する視線ＯＤは図１２（ｄ）に示すように、第２の球体モデルと第１の球体モデルを順に通過する。このようにして、レンダリングするときに、レンダリング順序が第１の球体モデル→第２の球体モデルであるため、第２の球体モデルの色がＣ２、透明度がＴ２、第１の球体モデルの色がＣ１、透明度がＴ１であると仮定すると、レンダリングによって得られた画面上の色は、Ｃ２＊Ｔ２＋（１−Ｃ２）＊Ｔ１＊Ｃ１である。具体的には、Ｃ２を１、即ち、不透明に設置し、Ｃ１を１、即ち、不透明に設置することができ、このように、画面上の色は、第２の球体モデルの色、つまり、第２の球体モデルの球面内側に描画されたパノラマビデオのビデオフレームである。
【０１１９】
上記の実施例では、ユーザーが仮想エントリに入らない場合、第４のモデルによって現在の視野領域において仮想エントリをカバーするときに、現在の視野領域において仮想エントリ外にある視野領域内の第２の球体モデル上のパノラマビデオコンテンツのレンダリングのキャンセルをトリガーし、視野領域が仮想エントリをカバーしないときに、第２の球体モデル上のパノラマビデオコンテンツのレンダリングのキャンセルをトリガーする。こうすれば、ユーザーが仮想エントリに入らず、仮想エントリが見えない場合、見えたのは、現実シーンのコンテンツのみであり、仮想エントリが見えた場合、仮想エントリ内はパノラマビデオのコンテンツであり、仮想エントリ外は現実シーンのコンテンツであることが保証される。
【０１２０】
他の実施例では、観測点が仮想エントリから近い場合、観測点が仮想エントリを通過又は周りに移動するときのレンダリング中の乱れを回避するように、観測点の位置に第３のモデル又は第４のモデルの境界領域を追加することができる。図１２（ｃ）は、現在の端末の位置が空間領域を奇数回通過し、かつ現在の端末が仮想エントリに面し近づくときのモデル断面図である。図１２（ｄ）は、現在の端末の位置が空間領域を通過していないか、又は現在の端末の位置が空間領域を偶数回通過し、かつ現在の端末が仮想エントリに面し近づくときのモデル断面図である。図１２（ｅ）は、現在の端末の位置が空間領域を通過していないか、又は現在の端末の位置が空間領域を偶数回通過し、かつ現在の端末が仮想エントリの一方の側を迂回しているときのモデル断面図である。
【０１２１】
一実施例では、現在の端末の位置が空間領域を通過していないか、又は現在の端末の位置が空間領域を偶数回通過し、かつ現在の端末が仮想エントリの一方の側から仮想エントリの他方の側に迂回している場合、第３のモデルは、仮想エントリが位置する平面に従ってフリップする。こうすれば、仮想エントリに仮想コンテンツを依然として表示し、仮想エントリ外に現実世界から収集された画像フレームを依然として表示することが保証される。つまり、端末が仮想エントリを通過した後にのみ、仮想エントリの内部と外部に表示されるコンテンツが交換される。
【０１２２】
端末は、カメラに１つの３次元の球形空間をレンダリングし、パノラマビデオテクスチャ画像を球形空間に合致して再生し、球径が球体より大きい球面に現実シーンから収集された画像フレームを再生するか、又は観測点の前方のモデル平面に現実シーンから収集された画像フレームを再生することを理解できる。端末は次に、トリガー条件を満たした場合、任意ドアをシミュレートして、ドアの内側に仮想世界を表示し、ドアの外側に現実世界画像を表示することを実現する。ユーザーは、位置を移動することによって、ドアの外側からドアの開口部を通過し、ドアの内側の仮想世界を見ることができ、ドアの内側からドアの外側に移動して外面の現実世界を見ることもでき、仮想と現実の交差効果を体験する。
【０１２３】
人が任意ドアに入り、ドアから遠い場合、ドアを完全透明な第４のモデルとする。このように、人はドアを通って見るときに、ドアの内側が現実世界であり、ドアの外側が仮想世界であり、つまり、人は仮想世界にある。人が任意ドアに入り、ドアに近い場合、人がドアを通過するときにレンダリングのジッターが発生することを防ぐために、ドアの向こう側に、ドアにぴったり合う小さな部屋を一時的に置く。ドア自身は空であり、小さな部屋は完全透明であるため、人はドアを通って見ると、ドアの内側が現実世界であり、ドアの外側が仮想世界であり、つまり、人は仮想世界にある。
【０１２４】
人が任意ドアに入らず、ドアから遠い場合、ドアを局部境界として、観測点を囲む第３のモデルを作成し、第３のモデルにおけるドアが位置する領域は空であり、他の領域は完全透明である。このように、人はドアを通って見ると、ドアの内側が仮想世界であり、ドアの外側が現実世界であり、つまり、人は現実世界にある。人が任意ドアに入らず、ドアに近い場合、人がドアを通過するときにレンダリングのジッターが発生することを防ぐために、第３のモデルにおいてドアを境界として境界を拡張する。このように、人はドアを通って見ると、ドアの内側が仮想世界であり、ドアの外側が現実世界であり、つまり、人は現実世界にある。人が任意ドアに入らず、ドアの一方の側に近い場合、人がドアを通過するときにレンダリングのジッターが発生することを防ぐために、第３のモデルにおける観測点が位置する側の境界を拡張する。人がドアの位置する平面を通過する場合、第３のモデルは、ドアの位置する平面に従ってフリップする。このように、人はドアを通って見ると、ドアの内部は依然として仮想世界であり、ドアの外部は依然として現実世界であり、つまり、依然として現実世界にある。
上記実施例では、第３のモデル及び第３のモデルの境界は、平面であってもよく、曲面であってもよいことが理解される。
【０１２５】
図１３は、例示的な実施例における画像処理方法のフローチャートである。図１３を参照して、ユーザーは端末を手に持って、端末のカメラによって現実シーンから画像フレームを収集し、端末は、一方では、収集された画像フレームに基づきマップを作成し、他方では、画像フレームには手領域が含まれるかどうかを検出する。端末は、画像フレームに手領域が含まれることを検出していない場合、続いて収集された画像フレームを引き続き検出する。端末は、画像フレームに手領域が含まれることを検出した場合、この手領域に対応するジェスチャータイプがトリガータイプであるかどうかを判断し続ける。否定判定した場合、続いて収集された画像フレームを検出し続けて、肯定判定した場合、当該画像フレームにおける手領域の動きの参照ポイントを認識し、動きの参照ポイントでパーティクルアニメーションをレンダリングして、手部動きによって形成されるトラックを強調表示する。端末は、当該トラックがトリガー条件を満たすかどうかを判断し続けて、否定判定した場合、続いて収集された画像フレームを検出し続けて、肯定判定した場合、仮想エントリのレンダリングをトリガーする。
【０１２６】
次に、端末は、現実シーンでの手部に対応する位置を決定し、当該位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングし、仮想エントリ内にパノラマビデオを表示し、仮想エントリ外に現実シーンを表示する。ユーザーが端末を持って移動することができ、次いて、端末は、仮想エントリを通過するかどうかを判断する。仮想エントリを通過した場合、パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示する。仮想エントリを通過していない場合、依然として仮想エントリ内にパノラマビデオを表示し、仮想エントリ外に現実シーンを表示する。端末は、ユーザーのコマンドに基づき画面を記録し、画面を記録したビデオを共有することもできる。
【０１２７】
一実施例では、端末は、ガイド情報を表示してもよい。ガイド情報は、テキスト、音声又は写真などであり得る。ガイド情報は、トリガー条件を満たすためにターゲットオブジェクトの動きを操作するようにユーザーをガイドする情報を含む。例えば、「指を伸ばし、リアカメラの前に円を描いて、任意ドアを開くようにトリガーする」ように、図３（ｂ）を参照されたい。ガイド情報は、ユーザーが仮想エントリへ移動するようにガイドする情報を含んでもよい。例えば、仮想エントリを指す矢印などは、図４（ｂ）を参照されたい。
【０１２８】
上記の各実施例のフローチャートにおける各ステップは、矢印の指示に従って順次表示されているが、これらのステップは必ずしも矢印の順序で実行されるとは限らないことを理解すべきである。本明細書で明確に述べられていない限り、これらのステップの実行順序は厳密に制限されず、これらのステップは他の順序で実行してもよい。また、上記の各実施例における少なくとも一部のステップは、複数のサブステップ又は複数のステージを含んでもよい。これらのサブステップ又はステージは、必ずしも同時に実行される必要がなく、異なるタイミングで実行されてもよい。これらのサブステップ又はステージの実行順序は、必ずしも順次に実行する必要がなく、他のステップ又は他のステップのサブステップ又はステージの少なくともの一部と順番に又は交互に実行してもよい。
【０１２９】
図１４に示すように、一実施例では、画像処理装置１４００を提供する。図１４を参照して、この画像処理装置１４００は、取得モジュール１４０１、再生モジュール１４０２、決定モジュール１４０３及びレンダリングモジュール１４０４を含む。
取得モジュール１４０１は、現実シーンから収集された画像フレームを取得するために用いられる。
再生モジュール１４０２は、収集の時系列に従って、取得した画像フレームをフレームごとに再生するために用いられる。
決定モジュール１４０３は、取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでのターゲットオブジェクトに対応する位置を決定するために用いられる。
レンダリングモジュール１４０４は、位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングし、仮想エントリに仮想コンテンツを表示するために用いられる。
【０１３０】
一実施例では、ターゲットオブジェクトは手である。決定モジュール１４０３はさらに、取得した画像フレームから手の画像をセグメント化し、手の画像に対応するジェスチャータイプを認識し、ジェスチャータイプがトリガータイプである場合、画像フレームで動きの参照ポイントを決定し、動きの参照ポイントに従って、手の動きによって形成されるトラックを決定するために用いられる。
【０１３１】
一実施例では、決定モジュール１４０３はさらに、手認識モデルで、取得した画像フレームをセマンティックセグメンテーションフィーチャマトリックスにエンコードし、セマンティックセグメンテーションフィーチャマトリックスをデコードしてセマンティックセグメンテーション画像を取得し、セマンティックセグメンテーション画像におけるピクセルが、所属の分類カテゴリを示すピクセル値を有し、エンコードの元である画像フレームにおけるピクセルに対応し、手カテゴリに属するピクセルに基づき、画像から手の画像をセグメント化するために用いられる。
【０１３２】
一実施例では、レンダリングモジュール１４０４はさらに、トリガー条件を満たさない場合、再生したビデオフレームでは、トラックが通過したピクセルのピクセル値を参照ピクセル値に置き換え、トリガー条件を満たした場合、位置に応じて、現在再生中の画像フレームで参照アニメーションを再生するために用いられる。
【０１３３】
一実施例では、決定モジュール１４０３は、ターゲットオブジェクトの世界座標空間における世界座標位置を決定するために用いられる。レンダリングモジュール１４０４は、さらに、カメラ座標空間における世界座標位置に対応するカメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするために用いられる。
【０１３４】
一実施例では、レンダリングモジュール１４０４は、現在の端末の位置及び姿勢を取得し、現在の端末の位置及び姿勢に基づき、現在のカメラ座標空間と世界座標空間の間の変換マトリックスを決定し、変換マトリックスに基づき、世界座標位置をカメラ座標空間におけるカメラ座標位置に変換し、カメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするために用いられる。
【０１３５】
一実施例では、レンダリングモジュール１４０４はさらに、マップから、取得した画像フレームにマッチングするマップノードを選択し、マップノードに対応付けられて記憶される現実シーンでの位置を照会し、慣性センサによって収集されたセンサデータを取得し、センサデータに基づき、現在の端末の現実シーンにおける姿勢を決定するために用いられる。
【０１３６】
図１５に示すように、一実施例では、画像処理装置１４００は、マップ構築モジュール１４０５をさらに含む。このマップ構築モジュール１４０５は、時系列で収集された画像フレームから画像フレームを選択し、選択された画像フレームの画像特徴がノード画像の画像特徴に一致する場合、選択された画像フレームをノード画像として取得し、取得したノード画像がマップにおいて対応するマップノードを決定し、取得したノード画像の画像特徴、及び取得したノード画像を収集するときの現実シーンにおける位置を、決定したマップノードに対応付けて記憶するために用いられる。
【０１３７】
一実施例では、レンダリングモジュール１４０４は、仮想エントリのモデルの頂点を画像座標空間において対応するピクセルとして投影し、各モデルの頂点間の接続関係に従って、モデルの頂点に対応するピクセルをプリミティブに結合し、ラスタライズされたプリミティブを、プリミティブにおける各ピクセルのピクセル値に従って、画像座標空間におけるカメラ座標位置に対応する画像座標位置でレンダリングして、仮想エントリを得るために用いられる。
【０１３８】
一実施例では、仮想コンテンツはパノラマビデオである。レンダリングモジュール１４０４はさらに、仮想エントリに対応する現実シーンでの空間領域を決定し、現在の端末の位置が空間領域を通過した後、パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示するために用いられる。
【０１３９】
一実施例では、レンダリングモジュール１４０４はさらに、パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示した後、現在の端末の位置が再び空間領域を通過せず、かつ現在の視野領域が移動により仮想エントリをカバーした場合、現在の視野領域において仮想エントリ内に位置する視野領域を決定し、仮想エントリに、取得した画像フレームにおいて決定された視野領域内の画面を表示するために用いられる。
【０１４０】
一実施例では、レンダリングモジュール１４０４はさらに、現在の端末の位置が空間領域の周りを移動する場合、現在の視野領域において仮想エントリ内に位置する視野領域を決定し、仮想エントリに、パノラマビデオにおいて決定された視野領域におけるビデオ画面を表示するために用いられる。
【０１４１】
一実施例では、仮想コンテンツはパノラマビデオである。レンダリングモジュール１４０４はさらに、収集されたビデオフレームを第１の球体モデルの球面内側に描画し、パノラマビデオのパノラマビデオ画面を第２の球体モデルの球面内側に描画し、仮想エントリに対応する現実シーンでの空間領域を決定し、現在の端末の位置が空間領域を通過していない場合、又は現在の端末の位置が空間領域を偶数回通過した場合、レンダリング順序及びモデル深さの逆順で、現在の視野領域における第１の球体モデル、第２の球体モデル及び完全に透明な第３のモデルに従って、レンダリングして、表示用の画面を得るために用いられ、その中、第１の球体モデルの球半径が第２の球体モデルの球半径より大きく、第１の球体モデルのモデル深さが第２の球体モデルのモデル深さより大きく、第２の球体モデルのモデル深さは第３のモデルのモデル深さより大きく、第３のモデルは、現在の視野領域が仮想エントリをカバーしている場合、現在の視野領域において仮想エントリ外に位置する視野領域内の第２の球体モデルのレンダリングのキャンセルをトリガーし、又は、視野領域が仮想エントリをカバーしない場合、第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられる。
【０１４２】
一実施例では、レンダリングモジュール１４０４はさらに、現在の端末の位置が空間領域を奇数回通過した場合、レンダリング順序及びモデル深さの逆順で、現在の視野領域における第１の球体モデル、第２の球体モデル及び完全に透明な第４のモデルに従って、レンダリングして、表示用の画面を得るために使用され、その中、第２の球体モデルのモデル深さは、第４のモデルのモデル深さより大きく、第４のモデルは、現在の視野領域が仮想エントリをカバーしている場合、現在の視野領域において仮想エントリ外に位置する視野領域内の第２の球体モデルのレンダリングのキャンセルをトリガーし、又は、視野領域が仮想エントリをカバーしない場合、第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられる。
【０１４３】
図１６は、一実施例におけるコンピュータデバイスの内部の構成図を示している。当該コンピュータデバイスは、図１における端末１１０であってもよい。図１６に示すように、このコンピュータデバイスは、システムバスによって接続されるプロセッサ、メモリ、ネットワークインタフェース、入力デバイス及びディスプレイを含む。その中、メモリは、不揮発性記憶媒体と内部メモリを含む。このコンピュータデバイスの不揮発性記憶媒体は、オペレーティングシステムを記憶し、コンピュータプログラムも記憶している。このコンピュータプログラムがプロセッサによって実行されるときに、プロセッサに画像処理方法を実現させることができる。この内部メモリはコンピュータプログラムを格納してもよく、このコンピュータプログラムがプロセッサによって実行されるときに、プロセッサに画像処理方法を実行させることができる。コンピュータデバイスのディスプレイは、液晶ディスプレイ又は電子インクディスプレイなどであってもよい。入力装置は、ディスプレイに覆われたタッチ層、コンピュータデバイスのケーシング上に設けられたボタン、トラックボール又はタッチパッド、外付けキーボード、タッチパッド又はマウスなどであってもよい。当業者は、図１６に示した構成が本出願の技術案に関連する部分構成のブロック図にすぎず、本出願の技術案が適用されるコンピュータデバイスを限定するものではなく、具体的なコンピュータデバイスは、図示されているものよりも多く又は少ないコンポーネント、又は、若干のコンポーネントの組み合わせ、異なるコンポーネントの配置を有してもよいことを理解できる。 
【０１４４】
一実施例では、本出願によって提供される画像処理装置は、コンピュータプログラムの形で実現することができ、コンピュータプログラムは、図１６に示すコンピュータデバイスで実行されることができ、コンピュータデバイスの不揮発性記憶媒体は、当該画像処理装置を構成する各プログラムモジュール、例えば、図１４に示した取得モジュール１４０１、再生モジュール１４０２、決定モジュール１４０３及びレンダリングモジュール１４０４などを記憶することができる。各プログラムモジュールで構成されるコンピュータプログラムは、本明細書で説明される本出願の各実施例による画像処理方法におけるステップをプロセッサに実行させる。
【０１４５】
例えば、図１６に示すコンピュータデバイスは、図１４に示す画像処理装置１４００における取得モジュール１４０１によって、現実シーンから収集された画像フレームを取得することができる。再生モジュール１４０２によって、収集の時系列に従って、取得した画像フレームをフレームごとに再生する。決定モジュール１４０３によって、取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでのターゲットオブジェクトに対応する位置を決定する。レンダリングモジュール１４０４によって、位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングし、仮想エントリに仮想コンテンツを表示する。
【０１４６】
一実施例では、コンピュータ可読記憶媒体を提供している。このコンピュータ可読記憶媒体にはコンピュータプログラムが記憶されており、このコンピュータプログラムがプロセッサによって実行されるときに、上記の画像処理方法のいずれか１つをプロセッサに実行させる。
【０１４７】
一実施例では、メモリとプロセッサを含むコンピュータデバイスを提供している。メモリにはコンピュータプログラムが格納されており、コンピュータプログラムがプロセッサによって実行されるときに、上記の画像処理方法のいずれか１つをプロセッサに実行させる。
【０１４８】
当業者は、上記の実施例方法における全部又は一部の流れが、コンピュータプログラムを介して関連するハードウェアに命令することによって実現でき、前記プログラムが、不揮発性のコンピュータ可読記憶媒体に記憶されており、当該プログラムが実行される場合、上記の各方法の実施例における流れを含み得ることを理解できる。なお、本出願によって提供される各実施例で使用される、メモリ、記憶、データベース、又はその他の媒体への言及は、いずれも不揮発性及び／又は揮発性メモリを含むことができる。不揮発性メモリには、読み取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラムマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、又はフラッシュメモリを含むことができる。揮発性メモリには、ランダムアクセスメモリ（ＲＡＭ）又は外部キャッシュメモリを含むことができる。制限ではなく説明として、ＲＡＭは、例えば、静的ＲＡＭ（ＳＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、デュアルデータレートＳＤＲＡＭ（ＤＤＲＳＤＲＡＭ）、拡張型ＳＤＲＡＭ（ＥＳＤＲＡＭ）、同期リンク（Ｓｙｎｃｈｌｉｎｋ）  ＤＲＡＭ（ＳＬＤＲＡＭ）、メモリバス（Ｒａｍｂｕｓ）ダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトメモリバス動的ＲＡＭ（ＤＲＤＲＡＭ）、及びメモリバス動的ＲＡＭ（ＲＤＲＡＭ）などの様々な形式で得ることができる。
【０１４９】
以上の実施例の各技術的特徴は、任意に組み合わせることができる。説明を簡潔にするために、上記の実施例における各技術的特徴の可能な全ての組み合わせを説明しないが、これらの技術的特徴の組み合わせに矛盾がない限り、本明細書に記載する範囲と見なされるべきである。
【０１５０】
以上の実施例は、本出願のいくつかの実施形態のみを示ており、その説明は、より具体的で詳細であるが、本出願の特許範囲を限定するものとして理解できない。なお、当業者にとって、本出願の構想を逸脱することなく、いくつかの変形や改善が可能であり、これらは全て本出願の保護範囲に属する。そこで、本出願の特許の保護範囲は、添付の特許請求の範囲に準ずるものとする。
【図１】
2021517309.tif 000003
【図２】
2021517309.tif 000004
【図３】
2021517309.tif 000005
【図４】
2021517309.tif 000006
【図５】
2021517309.tif 000007
【図６】
2021517309.tif 000008
【図７】
2021517309.tif 000009
【図８】
2021517309.tif 000010
【図９】
2021517309.tif 000011
【図１０】
2021517309.tif 000012
【図１１】
2021517309.tif 000013
【図１２】
2021517309.tif 000014
【図１３】
2021517309.tif 000015
【図１４】
2021517309.tif 000016
【図１５】
2021517309.tif 000017
【図１６】
2021517309.tif 000018
【手続補正書】
【提出日】令和2年10月20日(2020.10.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータデバイスが実行する画像処理方法であって、
現実シーンから収集された画像フレームを取得するステップと、
収集の時系列に従って、取得した画像フレームをフレームごとに再生するステップと、
取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たした場合、現実シーンでの前記ターゲットオブジェクトに対応する位置を決定するステップと、
前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップと、
前記仮想エントリに仮想コンテンツを表示するステップと、
を含む方法。
【請求項２】
前記ターゲットオブジェクトは手であり、
前記方法は、
取得した画像フレームから手の画像をセグメント化するステップと、
前記手の画像に対応するジェスチャータイプを認識するステップと、
前記ジェスチャータイプがトリガータイプである場合、前記画像フレームにおいて動きの参照ポイントを決定するステップと、
前記動きの参照ポイントに従って、前記手の動きによって形成されるトラックを決定するステップと、
をさらに含む請求項１に記載の方法。
【請求項３】
前記取得した画像フレームから手の画像をセグメント化するステップは、
手認識モデルで、取得した画像フレームをセマンティックセグメンテーションフィーチャマトリックスにエンコードするステップと、
前記セマンティックセグメンテーションフィーチャマトリックスをデコードしてセマンティックセグメンテーション画像を取得するステップであって、前記セマンティックセグメンテーション画像におけるピクセルが、所属の分類カテゴリを示すピクセル値を有し、エンコードする前のオリジナル画像フレームにおけるピクセルに対応するステップと、
手カテゴリに属するピクセルに基づき、前記画像から手の画像をセグメント化するステップと、
を含む請求項２に記載の方法。
【請求項４】
前記方法は、
前記取得した複数の画像フレームにおけるターゲットオブジェクトの動きによって形成されるトラックがトリガー条件を満たさない場合、再生したビデオフレームにおいて、前記トラックが通過するピクセルのピクセル値を参照ピクセル値に置き換えるステップと、
前記トリガー条件を満たした場合、前記位置に応じて、現在再生中の画像フレームで参照アニメーションを再生するステップと、
をさらに含む請求項１又は２に記載の方法。
【請求項５】
前記現実シーンでの前記ターゲットオブジェクトに対応する位置を決定する前記ステップは、
前記ターゲットオブジェクトの世界座標空間における世界座標位置を決定するステップを含み、
前記位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップは、
カメラ座標空間における前記世界座標位置に対応するカメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップを含む、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記カメラ座標空間における前記世界座標位置に対応するカメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングする前記ステップは、
現在の端末の位置及び姿勢を取得するステップと、
前記現在の端末の位置及び姿勢に基づき、現在のカメラ座標空間と前記世界座標空間の間の変換マトリックスを決定するステップと、
前記変換マトリックスに従って、世界座標位置をカメラ座標空間におけるカメラ座標位置に変換するステップと、
前記カメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングするステップと、
を含む請求項５に記載の方法。
【請求項７】
現在の端末の位置及び姿勢を取得する前記ステップは、
マップから、取得した画像フレームにマッチングするマップノードを選択するステップと、
前記マップノードに対応付けられて記憶される現実シーンでの位置を照会するステップと、
慣性センサによって収集されたセンサデータを取得するステップと、
前記センサデータに基づき、現在の端末の現実シーンにおける姿勢を決定するステップと、
を含む請求項６に記載の方法。
【請求項８】
時系列で収集した画像フレームから画像フレームを選択するステップと、
選択した画像フレームの画像特徴がノード画像の画像特徴に一致する場合、選択した画像フレームをノード画像として取得するステップと、
取得した前記ノード画像がマップにおいて対応するマップノードを決定するステップと、
取得した前記ノード画像の画像特徴、及び取得した前記ノード画像を収集するときの現実シーンにおける位置を、決定した前記マップノードに対応付けて記憶するステップと、
をさらに含む請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
前記カメラ座標位置に応じて、現在再生中の画像フレームに仮想エントリをレンダリングする前記ステップは、
仮想エントリのモデルの頂点を画像座標空間において対応するピクセルとして投影するステップと、
各前記モデルの頂点間の接続関係に従って、モデル頂点に対応するピクセルをプリミティブに結合するステップと、
ラスタライズしたプリミティブを、プリミティブにおける各ピクセルのピクセル値に基づき、画像座標空間において前記カメラ座標位置に対応する画像座標位置でレンダリングして、仮想エントリを取得するステップと、
を含む請求項６に記載の方法。
【請求項１０】
前記仮想コンテンツはパノラマビデオであり、
前記方法は、
前記仮想エントリに対応する現実シーンでの空間領域を決定するステップと、
端末の現在位置が前記空間領域を通過した後、パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示するステップと、
をさらに含む請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
前記方法は、
パノラマビデオにおける現在の視野領域内のビデオ画面を直接表示する前記ステップの後、現在の端末の位置が前記空間領域を再び通過せず、かつ、現在の視野領域が移動により前記仮想エントリをカバーした場合、現在の視野領域において、前記仮想エントリ内に位置する視野領域を決定するステップと、
前記仮想エントリに、取得した画像フレームにおいて決定された前記視野領域における画面を表示するステップと、
をさらに含む請求項１０に記載の方法。
【請求項１２】
前記方法は、
端末の現在位置が前記空間領域の周りを移動する場合、現在の視野領域において、前記仮想エントリ内に位置する視野領域を決定するステップと、
パノラマビデオにおいて決定された前記視野領域におけるビデオ画面を前記仮想エントリに表示するステップと、
をさらに含む請求項１０又は１１に記載の方法。
【請求項１３】
前記仮想コンテンツはパノラマビデオであり、
前記方法は、
収集されたビデオフレームを第１の球体モデルの球面内側に描画し、パノラマビデオのパノラマビデオ画面を第２の球体モデルの球面内側に描画するステップと、
前記仮想エントリに対応する現実シーンでの空間領域を決定することと、
現在の端末の位置が前記空間領域を通過していない場合、又は現在の端末の位置が前記空間領域を偶数回通過した場合、レンダリング順序及びモデル深さの逆順で、現在の視野領域内の前記第１の球体モデル、前記第２の球体モデル及び完全に透明な第３のモデルに基づきレンダリングして、表示用の画面を得るステップと、
をさらに含み、
その中、前記第１の球体モデルの球半径は前記第２の球体モデルの球半径より大きく、前記第１の球体モデルのモデル深さは前記第２の球体モデルのモデル深さより大きく、前記第２の球体モデルのモデル深さは前記第３のモデルのモデル深さより大きく、前記第３のモデルは、現在の視野領域が前記仮想エントリをカバーしている場合、現在の視野領域において前記仮想エントリ外に位置する視野領域における第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられ、又は、視野領域が前記仮想エントリをカバーしていない場合、前記第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられる、
請求項１乃至９のいずれか一項に記載の方法。
【請求項１４】
前記方法は、
現在の端末の位置が前記空間領域を奇数回通過した場合、レンダリング順序及びモデル深さの逆順で、現在の視野領域内の前記第１の球体モデル、前記第２の球体モデル及び完全に透明な第４のモデルに基づき、レンダリングして、表示用の画面を得るステップ、をさらに含み、
その中、前記第２の球体モデルのモデル深さは前記第４のモデルのモデル深さより大きく、前記第４のモデルは、現在の視野領域が前記仮想エントリをカバーしている場合、現在の視野領域において前記仮想エントリ外に位置する視野領域内の第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられ、又は、視野領域が前記仮想エントリをカバーしていない場合、前記第２の球体モデルのレンダリングのキャンセルをトリガーするために用いられる、
請求項１３に記載の方法。
【請求項１５】
請求項１乃至１４のいずれか１項に記載の画像処理方法をコンピュータに実行させるコンピュータプログラム。
【請求項１６】
メモリとプロセッサを含むコンピュータデバイスであって、
前記メモリにコンピュータプログラムが格納されており、前記コンピュータプログラムが前記プロセッサによって実行されると、請求項１乃至１４のいずれか１項に記載の画像処理方法を前記プロセッサに実行させる、コンピュータデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
一実施例では、ターゲットオブジェクトは手である。当該画像処理方法は、取得した画像フレームから手の画像をセグメント化するステップと、手の画像に対応するジェスチャータイプを認識し、ジェスチャータイプがトリガータイプである場合、画像フレームで動きの参照ポイントを決定するステップと、動きの参照ポイントに従って、手の動きによって形成されるトラックを決定するステップと、をさらに含む。
その中、手は、人や動物の肢体部分である。手の画像は、手が含まれ、且つ、手領域が画像領域に占める割合が高い画像である。ジェスチャーは、ユーザーの手によって行なわれる動作形態である。ジェスチャータイプは、取得した画像フレームにおけるジェスチャーが属するタイプである。トリガータイプは、特定のイベントをトリガーするジェスチャーが属するタイプである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
一実施例では、取得した画像フレームから手の画像をセグメント化することは、手認識モデルで、取得した画像フレームをセマンティックセグメンテーションフィーチャマトリックスにエンコードすることと、セマンティックセグメンテーションフィーチャマトリックスをデコードしてセマンティックセグメンテーション画像を取得し、セマンティックセグメンテーション画像におけるピクセルが、それが属する分類カテゴリを示すピクセル値を有し、エンコードの元である画像フレームにおけるピクセルに対応することと、手カテゴリに属するピクセルに基づき、画像から手の画像をセグメント化することと、を含む。
その中、手認識モデルは、トレーニングされた後の手認識能力を備えた機械学習モデルである。機械学習の完全な英語名はＭａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇであり、ＭＬと略称する。機械学習モデルは、サンプル学習を通じて特定の能力を持つことができる。機械学習モデルには、ニューラルネットワークモデル、サポートベクターマシン又はロジスティックモデルなどを採用することができる。ニューラルネットワークモデルとは、例えば、畳み込みニューラルネットワークなどである。本実施例では、手認識モデルは、完全畳み込みネットワークモデル（Ｆｕｌｌｙ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ）であってもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
本実施例では、現在収集された画像フレームの画像特徴、及び慣性センサによって収集されたセンサデータを組み合わせ、現在の端末を位置決めして、位置決めの正確度を向上させる。
さらに、端末は、世界座標空間と現在のカメラ座標空間との間の現在の剛体変換マトリックスに基づき、この剛体変換マトリックスに応じて世界座標位置をカメラ座標空間におけるカメラ座標位置に変換してもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
ユーザーは、端末を手に持って、後ずさり、この位置を再び通過してもよい。このとき、仮想エントリが端末画面に現れて徐々に小さくなり、仮想エントリ外に現実シーン画面を表示し、仮想エントリ内にパノラマビデオの局部ビデオ画面を表示する。ユーザーは、端末を手に持って、向きを変えるが、再びこの位置を通過しない。このとき、仮想エントリが端末画面に現れて、仮想エントリ外にパノラマビデオの局部ビデオ画面を表示し、仮想エントリ内に現実シーン画面を表示する。
【国際調査報告】
2021517309.tif 000019
2021517309.tif 000020
2021517309.tif 000021
2021517309.tif 000022