(57)【要約】  モバイルデバイスのためのピクチャ・イン・ピクチャに基づくビデオストリーミングが提供される。種々の実施形態において、モバイルデバイスでユニタリビデオストリームが受信される。ユニタリビデオストリームは、ビデオをエンコードする。ビデオは、複数の非重複領域を有する。ビデオの非重複領域のそれぞれは、仮想環境において表示される。ビデオの非重複領域のそれぞれは、仮想環境内の不連続の位置に表示される。【選択図】図１Ａ
2020502955.tif 000002
【特許請求の範囲】
【請求項１】
モバイルデバイスでユニタリビデオストリームを受信することであって、前記ユニタリビデオストリームはビデオをエンコードし、前記ビデオは複数の非重複領域を有する、受信することと、
前記ビデオの非重複領域のそれぞれを仮想環境において表示することであって、前記ビデオの非重複領域のそれぞれは仮想環境内の不連続の位置に表示される、表示することと、
を含む方法。
【請求項２】
前記ビデオを得るためにハードウェアデコーダを用いて前記ビデオストリームをデコードすることをさらに含む、請求項１に記載の方法。
【請求項３】
前記不連続の位置が、仮想環境内の表面である、請求項１に記載の方法。
【請求項４】
前記不連続の位置が、前記ビデオストリームのメタデータを読み出すことにより決定される、請求項１に記載の方法。
【請求項５】
前記メタデータが、前記非重複領域のそれぞれの幾何学的記述を含む、請求項４に記載の方法。
【請求項６】
前記非重複領域のうちの第１の領域内のユーザの視線を追跡することと、
前記ユーザの視線に基づいて、前記複数の非重複領域のうちの第２の領域を更新することと、
をさらに含む、請求項１に記載の方法。
【請求項７】
イベントメタデータを読み出すことと、
前記イベントメタデータに基づいて、前記複数の非重複領域のうちの第２の領域を更新することと、
をさらに含む、請求項１に記載の方法。
【請求項８】
前記非重複領域のうちの第１の領域内のモーションを検出することと、
前記検出したモーションに基づいて、前記複数の非重複領域のうちの第２の領域を更新することと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記更新することが、前記非重複領域のうちの第１の領域の拡大版を生成することを含む、請求項６に記載の方法。
【請求項１０】
サーバで複数のソースビデオストリームを受信することと、
前記複数のビデオストリームを、ビデオをエンコードするユニタリビデオストリームへ組み合わせることであって、前記ソースビデオストリームのそれぞれは、ビデオの非重複領域を占有する、組み合わせることと、
前記ユニタリビデオストリームをモバイルデバイスに送信することであって、
前記モバイルデバイスは、
前記ユニタリビデオストリームを受信し、
前記ビデオの非重複領域のそれぞれを仮想環境において表示する、
ように適合され、前記ビデオの非重複領域のそれぞれは、仮想環境内の不連続の位置に表示される、送信することと、
を含む方法。
【請求項１１】
前記モバイルデバイスが、ビデオを得るためにハードウェアデコーダを用いて前記ビデオストリームをデコードするようにさらに適合される、請求項１０に記載の方法。
【請求項１２】
前記不連続の位置が、前記仮想環境内の表面である、請求項１０に記載の方法。
【請求項１３】
前記不連続の位置が、前記ビデオストリームのメタデータを読み出すことにより決定される、請求項１０に記載の方法。
【請求項１４】
前記メタデータが、前記非重複領域のそれぞれの幾何学的記述を含む、請求項１３に記載の方法。
【請求項１５】
前記非重複領域のうちの第１の領域内のユーザの視線を追跡することと、
前記ユーザの注目に基づいて、前記複数のソースビデオストリームのうち、前記ユニタリビデオストリームに含めるものを選択することと、
をさらに含む、請求項１０に記載の方法。
【請求項１６】
前記非重複領域のうちの第１の領域内のユーザの視線を追跡することと、
前記ユニタリビデオストリームに含めるための前記非重複領域のうちの前記第１の領域の拡大版を生成することと、
をさらに含む、請求項１５に記載の方法。
【請求項１７】
イベントメタデータを読み出すことと、
前記イベントメタデータに基づいて、前記複数のソースビデオストリームのうち、前記ユニタリビデオストリームに含めるものを選択することと、
をさらに含む、請求項１０に記載の方法。
【請求項１８】
前記非重複領域のうちの第１の領域内のモーションを検出することと、
前記検出したモーションに基づいて、前記複数のソースビデオストリームのうち、前記ユニタリビデオストリームに含めるものを選択することと、
をさらに含む、請求項１０に記載の方法。
【請求項１９】
ビデオストリーミングのためのコンピュータプログラム製品であって、プログラム命令を実装したコンピュータ可読記憶媒体を含み、前記プログラム命令が、プロセッサに、
モバイルデバイスでユニタリビデオストリームを受信することであって、前記ユニタリビデオストリームはビデオをエンコードし、前記ビデオは複数の非重複領域を有する、受信することと、
前記ビデオの前記非重複領域のそれぞれを仮想環境において表示することであって、前記ビデオの前記非重複領域のそれぞれは、仮想環境内の不連続の位置に表示される、表示することと、
を含む方法を行わせるべくプロセッサにより実行可能である、
コンピュータプログラム製品。
【請求項２０】
前記方法が、前記ビデオを得るためにハードウェアデコーダを用いて前記ビデオストリームをデコードすることをさらに含む、請求項１９に記載のコンピュータプログラム製品。
【請求項２１】
前記不連続の位置が、仮想環境内の表面である、請求項１９に記載のコンピュータプログラム製品。
【請求項２２】
前記不連続の位置が、前記ビデオストリームのメタデータを読み出すことにより決定される、請求項１９に記載のコンピュータプログラム製品。
【請求項２３】
前記メタデータが、前記非重複領域のそれぞれの幾何学的記述を含む、請求項２２に記載のコンピュータプログラム製品。
【請求項２４】
前記方法が、
前記非重複領域のうちの第１の領域内のユーザの視線を追跡することと、
前記ユーザの視線に基づいて、前記複数の非重複領域のうちの第２の領域を更新することと、
をさらに含む、請求項１９に記載のコンピュータプログラム製品。
【請求項２５】
前記更新することが、前記非重複領域のうちの前記第１の領域の拡大版を生成することを含む、請求項２４に記載のコンピュータプログラム製品。
【請求項２６】
前記方法が、
イベントメタデータを読み出すことと、
前記イベントメタデータに基づいて、前記複数の非重複領域のうちの第２の領域を更新することと、
をさらに含む、請求項１９に記載のコンピュータプログラム製品。
【請求項２７】
前記方法が、
前記非重複領域のうちの第１の領域内のモーションを検出することと、
前記検出したモーションに基づいて、前記複数の非重複領域のうちの第２の領域を更新することと、
をさらに含む、請求項１９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ビデオストリーミングに関し、より詳細には、モバイルデバイスのためのピクチャ・イン・ピクチャに基づくビデオストリーミングに関する。
【発明の概要】
【課題を解決するための手段】
【０００２】
本開示の実施形態によれば、ビデオストリーミング方法及びそのためのコンピュータプログラム製品が提供される。モバイルデバイスでユニタリビデオストリームが受信される。ユニタリビデオストリームは、ビデオをエンコードする。ビデオは、複数の非重複領域を有する。ビデオの非重複領域のそれぞれは、仮想環境において表示される。ビデオの非重複領域のそれぞれは、仮想環境内の不連続の位置に表示される。
【０００３】
いくつかの実施形態では、ビデオストリームは、ビデオを得るためにハードウェアデコーダを用いてデコードされる。いくつかの実施形態では、不連続の位置は、仮想環境内の表面である。いくつかの実施形態では、不連続の位置は、ビデオストリームのメタデータを読み出すことにより決定される。いくつかの実施形態では、メタデータは、非重複領域のそれぞれの幾何学的記述を含む。
【０００４】
いくつかの実施形態では、非重複領域のうちの第１の領域内のユーザの視線が追跡される。ユーザの注目に基づいて、複数の非重複領域のうちの第２の領域が更新される。いくつかの実施形態では、イベントメタデータが読み出される。イベントメタデータに基づいて、複数の非重複領域のうちの第２の領域が更新される。いくつかの実施形態では、非重複領域のうちの第１の領域内のモーションが検出される。検出したモーションに基づいて、複数の非重複領域のうちの第２の領域が更新される。いくつかの実施形態では、更新することは、非重複領域のうちの第１の領域の拡大版を生成することを含む。いくつかの実施形態では、更新することは、第１の領域の代替的なビデオストリームを選択することを含む。
【０００５】
さらなる実施形態では、ビデオストリーミング方法及びそのためのコンピュータプログラム製品が提供される。サーバで複数のソースビデオストリームが受信される。複数のビデオストリームは、ビデオをエンコードするユニタリビデオストリームへ組み合わされる。ソースビデオストリームのそれぞれは、ビデオの非重複領域を占有する。ユニタリビデオストリームがモバイルデバイスへ送信される。モバイルデバイスは、ユニタリビデオストリームを受信し、ビデオの非重複領域のそれぞれを仮想環境において表示するように適合され、ビデオの非重複領域のそれぞれは、仮想環境内の不連続の位置に表示される。
【０００６】
いくつかの実施形態では、モバイルデバイスは、ビデオを得るためにハードウェアデコーダを用いてビデオストリームをデコードするようにさらに適合される。いくつかの実施形態では、不連続の位置は、仮想環境内の表面である。いくつかの実施形態では、不連続の位置は、ビデオストリームのメタデータを読み出すことにより決定される。いくつかの実施形態では、メタデータは、非重複領域のそれぞれの幾何学的記述を含む。
【０００７】
いくつかの実施形態では、非重複領域のうちの第１の領域内のユーザの視線が追跡される。いくつかの実施形態では、ユーザの注目に基づいて、ユニタリビデオストリームに含めるためのビデオストリームが選択される。いくつかの実施形態では、ユニタリビデオストリームに含めるための非重複領域のうちの第１の領域の拡大版が生成される。
【０００８】
いくつかの実施形態では、イベントメタデータが読み出される。イベントメタデータに基づいて、ユニタリビデオストリームに含めるためのビデオストリームが選択される。いくつかの実施形態では、非重複領域のうちの第１の領域内のモーションが検出される。検出したモーションに基づいて、ユニタリビデオストリームに含めるためのビデオストリームが選択される。
【図面の簡単な説明】
【０００９】
【図１Ａ】本開示の実施形態に係る例示的な仮想環境を示す図である。
【図１Ｂ】本開示の実施形態に係る例示的な仮想環境を示す図である。
【図２Ａ】本開示の実施形態に係る第２の例示的な仮想環境を示す図である。
【図２Ｂ】本開示の実施形態に係る第２の例示的な仮想環境を示す図である。
【図３】本開示の実施形態に係るビデオストリーミング方法を例示する図である。
【図４】本開示の実施形態に係る別のビデオストリーミング方法を例示する図である。
【図５】本発明の実施形態に係る計算ノードを示す図である。
【発明を実施するための形態】
【００１０】
現世代のモバイルデバイス並びにＰＣは、同時にプレイバックできるビデオの数に限りがある。例えば、最先端の電話でさえも、ビデオのプレイバックのための単一のハードウェアデコーダを有する。したがって、第１のビデオが専用のビデオプレイバックハードウェアを用いて再生される。しかしながら、同じデバイス上で第２のビデオが同時に再生される場合、該ビデオはＣＰＵ上でデコードされる必要がある。ＣＰＵ上でのデコーディングは、ハードウェアデコーダと比べて顕著なパフォーマンスヒットを伴う。さらに、第３のビデオの同時再生は、モバイルデバイス上で利用可能ではない特化されたハードウェアなしには実践的ではない。さらに、複数のビデオを同時再生する際のパフォーマンスの低下は、仮想環境の没入感のためにフレームレートが重要なＶＲでは特に問題となる。
【００１１】
本開示の種々の実施形態によれば、複合ビデオストリームが提供される。シーンを構築するのに複数のビデオを同時にストリーミングするのではなく、さらなる他のビデオが埋め込まれた単一のビデオが用意される。埋め込みビデオは、仮想シーン内の異なる表面上で再使用されてよい。種々の実施形態において、仮想シーンは、仮想現実（ＶＲ）拡張現実（ＡＲ）を含んでよい。複合ビデオを受信すると、ビデオがデコードされる。デコードされたビデオの各フレームが複数の領域へ切り分けられる。各領域における一連のフレームが埋め込みビデオを構成する。各埋め込みビデオは、次いで、シーン内の所望の至る所で表示されてよい。加えて、各埋め込みビデオは、クライアント側で決定される構成で他のビデオと合成されてよい。例えば、ユーザは、どのネストされたビデオがシーンで表示されるかを制御してよい。
【００１２】
この手法は、対話型環境において多様な機能を可能にする。ＶＲシーンにおいて、ユーザは、ビデオのネストされたサムネイルプレビューを見ることにより、他のカメラアングルにジャンプする前にそれらをプレビューしてよい。加えて、複数のイベントのビデオが同時に見られてよい。例えば、ＶＲ環境内でテニストーナメントを見ている間、それぞれ他のコート又は他のイベントからのライブ映像を示す、１つ以上の仮想スクリーンがシーン内に提供されてよい。広告ビデオが、同様にシーンに含まれてよく、仮想スクリーン上に表示されてよく、又は他の方法でシーンに選択的に埋め込まれてよい。
【００１３】
同様に、リプレイが、即時に見るためにビデオストリームに同時に含まれてよい。例えば、所与のリプレイを連続的なループとして実行することができる。例えば、各ゴールは、複合ビデオの一区域内の小さいビデオループである。次いで、インターフェースにおいて何か選択すること、又は他の方法で仮想環境と対話することにより、リプレイを直ちに見ることができるであろう。
【００１４】
様々な仮想現実及び拡張現実デバイスが当該技術分野では公知であることが理解されるであろう。例えば、没入ビデオ又はビデオオーバーレイのいずれかを提供する種々のヘッドマウントディスプレイが、様々なベンダーによって提供されている。いくつかのこのようなデバイスは、スマートフォンをヘッドセット内に一体化し、スマートフォンが各仮想現実又は拡張現実用途のための計算リソース及び無線通信リソースを提供する。いくつかのこのようなデバイスは、有線接続又は無線接続によりパーソナルコンピュータなどの外部計算ノードと接続する。さらに他のデバイスは、所与の用途に必要とされるいくつかの又はすべての計算及び接続を提供する、一体化された計算ノードを含んでよい。
【００１５】
仮想現実又は拡張現実ディスプレイは、仮想環境内のユーザのモーションを追跡するために様々なモーションセンサと結合されてよい。このようなモーション追跡は、仮想環境内でナビゲートするため、仮想環境においてユーザのアバターを操作するため、又は仮想環境において他のオブジェクトと対話するために用いられてよい。スマートフォンを一体化するいくつかのデバイスでは、姿勢センサ、ジャイロスコープ、加速度計、又は地球磁場センサなどのスマートフォンに搭載されたセンサによって、ヘッドトラッキングが提供されてよい。センサは、ユーザの体勢の詳細な情報を提供するために、ヘッドセットに一体化されてよく、又はユーザにより保持されてよく、又は様々な身体の部分に取り付けられてよい。
【００１６】
ここで図１Ａを参照すると、例示的な仮想環境１００が描かれている。メインスクリーン１０１上にメインビデオが表示されている。さらなるスクリーン１０２…１０４も仮想環境に含まれている。種々の実施形態によれば、スクリーン１０１…１０４上に表示されるビデオのそれぞれは、単一のビデオストリームの個々の領域に含まれ、デバイス側で分割され、仮想環境において種々のスクリーン上に表示される。図１Ｂでは、各ビデオ領域が、明確にするために周囲の仮想環境なしに描かれている。
【００１７】
ここで図２Ａを参照すると、第２の例示的な仮想環境２００が描かれている。この環境内で、複数の仮想スクリーン２０１…２０５がレンダリングされる。例えば、スクリーン２０１…２０５のそれぞれは、広告、リプレイループ、代替的なカメラアングル、又はさらには別のゲームからなどの関連のないビデオストリームを有することができる。図２Ｂでは、各ビデオ領域が、明確にするために周囲の仮想環境なしに描かれている。
【００１８】
ここで図３を参照すると、本開示の実施形態に係るビデオストリーミング方法が例示されている。２０１で、モバイルデバイスでユニタリビデオストリームが受信される。いくつかの実施形態では、ユニタリビデオストリームは、ビデオをエンコードする。いくつかの実施形態では、ビデオは、複数の非重複領域を有する。２０２で、ビデオの非重複領域のそれぞれが仮想環境において表示される。いくつかの実施形態では、ビデオの非重複領域のそれぞれは、仮想環境内の不連続の位置に表示される。
【００１９】
いくつかの実施形態では、ビデオの非重複領域のそれぞれは、ビデオストリームのメタデータを読み出すことにより決定される。例えば、メタデータは、ビデオフレーム全体に対する各領域の幾何学的形状を記述し得る。単純な例では、フレームは、四分割され得る。いくつかの実施形態では、メタデータは、ストリームに埋め込まれたヘッダ情報として提供される。
【００２０】
ここで図４を参照すると、本開示の実施形態に係るビデオストリーミング方法が例示されている。３０１で、サーバで複数のソースビデオストリームが受信される。３０２で、複数のビデオストリームが、ビデオをエンコードするユニタリビデオストリームへ組み合わされる。ソースビデオストリームのそれぞれは、ビデオの非重複領域を占有する。いくつかの実施形態では、データストリームに含めるための各成分の各フレーム内の位置を決定するメタデータが生成される。３０３で、ユニタリビデオストリームがモバイルデバイスへ送信される。モバイルデバイスは、ユニタリビデオストリームを受信し、ビデオの非重複領域のそれぞれを仮想環境において表示するように適合され、ビデオの非重複領域のそれぞれは、仮想環境内の不連続の位置に表示される。
【００２１】
いくつかの実施形態では、成分ストリームは、一次ストリームに関するデータに基づいて選択される。例えば、一次ストリームがスポーツイベントの一次カメラアングルを含む場合、二次ストリームは、フレーム内のモーションの位置に基づいて動的に選択されてよい。そのため、最も関心ある位置を取り込むのに適切な代替のカメラアングルが複合ストリーム内に含まれてよい。同様に、メタデータストリーム又はライブデータトラックを利用可能な実施形態では、成分ストリームは、該メタデータに基づいて選択されてよい。例えば、メタデータストリームが、ゴールが決まったことを示す場合、該ゴールの瞬間にループが動的に生成されてよく、該ループは複合ストリームに含まれてよい。同様に、関心あるイベントがそこに表示されるときにソースストリームの拡大版が複合ストリームに含まれてよい。
【００２２】
ユーザの注目も、いくつかの実施形態において成分ストリームの選択をもたらし得る。例えば、視標追跡又は視線追跡が、ユーザが第１のビデオの所与のエリアに焦点を合わせたことを示す場合、該エリアの拡大版が、第２の成分ビデオにおいて提示されてよい。この方法では、二次仮想ディスプレイが、ユーザと一次仮想ディスプレイとの対話に反応することができる。上記は、ヘッドセットなしに提示されるものを含む、仮想現実及び拡張現実環境に一般に適用可能であることが理解されるであろう。例えば、ＶＲ又はＡＲのマジックウィンドウの実装は、仮想空間へのウィンドウとして電話などのハンドヘルドデバイス上のディスプレイを用いる。ハンドヘルドを動かすことにより、スワイプすることにより、又は他の方法でハンドヘルドデバイスと対話することにより、ユーザは、仮想環境内のスクリーンの視野を移動させる。ユーザの視野の中心は、視標追跡の必要なしに仮想空間内の仮想ウィンドウの配向に基づいて判定することができる。しかしながら、視標追跡を含むデバイスでは、より高い精度が得られる場合がある。
【００２３】
いくつかの実施形態では、メインビデオエリアといくつかのより小さいビデオエリアが仮想環境において提供される。メインエリアは、例えば、観戦者がまるでそこにいるかのようにスポーツイベントを観戦するべく、スタジアムの没入視点を提供する。該視点は、広角の魚眼レンズが用いられるために歪められる場合がある。魚眼の歪みは、ビデオを半球メッシュ型プレーヤ（例えば、プロジェクションマッピング）上で再生することにより解かれる。他のビデオが配置されるときのさらなる没入のために、一次フィードの特徴が当てはめられてよい。例えば、それらが同じ３Ｄシーンにあるように見え、シームレスに融合するように、同じプロジェクションマッピングの歪みが二次フィードに当てはめられてよい。
【００２４】
レンズデータに加えて、一次ビデオ内により小さいビデオをより良好に配置及び配向するのに表面検出も用いられてよい。ビデオが対話型要素である場合に複合ビデオストリームからの複数のビデオを新しいシーンへマージするのに表面検出などの拡張現実データ及びレンズデータが用いられてよい。この手法を用いると、これらのビデオは個別のままであり、拡張現実の合成はユーザデバイス上で行われてよい。これは、サーバ側で複数のビデオを３Ｄシーンへ合成することを回避し、したがってサブビデオが反応することを可能にする。
【００２５】
ここで図５を参照すると、計算ノードの一例の概要が示されている。計算ノード１０は、適切な計算ノードのほんの一例であり、本明細書で説明される本発明の実施形態の使用又は機能の範囲についてのどのような限定も示唆することを意図していない。ともかく、計算ノード１０は、上記に記載の機能のいずれかを実装する及び／又は行うことができる。
【００２６】
計算ノード１０には、多数の他の汎用又は特殊用途コンピューティングシステム環境又は構成と共に動作するコンピュータシステム／サーバ１２が存在する。コンピュータシステム／サーバ１２と共に用いるのに適している可能性がある、よく知られたコンピューティングシステム、環境、及び／又は構成の例は、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な消費者電子装置、ネットワークＰＣ、ミニコンピュータシステム、メインフレームコンピュータシステム、及び上記のシステム又はデバイスのいずれかを含む分散型クラウドコンピューティング環境などを含むがこれらに限定されない。
【００２７】
コンピュータシステム／サーバ１２は、コンピュータシステムにより実行されるプログラムモジュールなどの、コンピュータシステムにより実行可能な命令の一般的文脈で説明され得る。一般に、プログラムモジュールは、特定のタスクを行う又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含んでよい。コンピュータシステム／サーバ１２は、通信ネットワークを通じてリンクされるリモート処理デバイスによりタスクが行われる、分散型クラウドコンピューティング環境において実施されてよい。分散型クラウドコンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルとリモートとの両方のコンピュータシステム記憶メディアに存在し得る。
【００２８】
図５に示すように、計算ノード１０におけるコンピュータシステム／サーバ１２は、汎用コンピューティングデバイスの形態で示されている。コンピュータシステム／サーバ１２のコンポーネントは、１つ以上のプロセッサ又は処理ユニット１６、システムメモリ２８、及びシステムメモリ２８を含む種々のシステムコンポーネントをプロセッサ１６に結合するバス１８を含んでよいが、これらに限定されない。
【００２９】
バス１８は、様々なバスアーキテクチャのいずれかを用いるメモリバス又はメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、及びプロセッサ又はローカルバスを含むいくつかのタイプのバス構造のいずれかの１つ以上を表す。単なる例として、限定ではなく、このようなアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（ＶＥＳＡ）ローカルバス、及びペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バスを含む。
【００３０】
コンピュータシステム／サーバ１２は、通常は、様々なコンピュータシステム可読メディアを含む。このようなメディアは、コンピュータシステム／サーバ１２によりアクセス可能な任意の入手可能なメディアであってよく、揮発性と不揮発性のメディア、リムーバブルと非リムーバブルのメディアの両方を含む。
【００３１】
システムメモリ２８は、ランダムアクセスメモリ（ＲＡＭ）３０及び／又はキャッシュメモリ３２などの揮発性メモリの形態のコンピュータシステム可読メディアを含むことができる。コンピュータシステム／サーバ１２は、他のリムーバブル／非リムーバブルの揮発性／不揮発性コンピュータシステム記憶メディアをさらに含んでよい。単なる例として、非リムーバブルの不揮発性磁気メディア（図示せず、通常「ハードドライブ」と呼ばれる）に読み書きするためのストレージシステム３４を設けることができる。図示されていないが、リムーバブルの不揮発性磁気ディスク（例えば、「フロッピーディスク」）に読み書きするための磁気ディスクドライブ、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、又は他の光メディアなどのリムーバブルの不揮発性光ディスクに読み書きするための光ディスクドライブを設けることができる。このような状況では、それぞれを、１つ以上のデータメディアインターフェースによりバス１８に接続することができる。さらに図示され、以下で説明されるように、メモリ２８は、本発明の実施形態の機能を実行するように構成される一組の（例えば、少なくとも１つの）プログラムモジュールを有する少なくとも１つのプログラム製品を含んでよい。
【００３２】
一組の（少なくとも１つの）プログラムモジュール４２を有するプログラム／ユーティリティ４０は、単なる例として、限定ではなく、メモリ２８に、並びに、オペレーティングシステム、１つ以上のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータに記憶されてよい。オペレーティングシステム、１つ以上のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータのそれぞれ、又はそのいくつかの組み合わせは、ネットワーキング環境の実装を含んでよい。プログラムモジュール４２は、一般に、本明細書で説明される本発明の実施形態の機能及び／又は方法論を実行する。
【００３３】
コンピュータシステム／サーバ１２はまた、キーボード、ポインティング・デバイス、ディスプレイ２４などの１つ以上の外部デバイス１４、ユーザがコンピュータシステム／サーバ１２と対話することを可能にする１つ以上のデバイス、及び／又はコンピュータシステム／サーバ１２が１つ以上の他のコンピューティングデバイスと通信することを可能にする任意のデバイス（例えば、ネットワークカード、モデムなど）と通信してよい。このような通信は、入力／出力（Ｉ／Ｏ）インターフェース２２を介して行うことができる。さらにまた、コンピュータシステム／サーバ１２は、ネットワークアダプタ２０を介してローカルエリアネットワーク（ＬＡＮ）、一般的なワイドエリアネットワーク（ＷＡＮ）、及び／又はパブリックネットワーク（例えば、インターネット）などの１つ以上のネットワークと通信することができる。図示されるように、ネットワークアダプタ２０は、バス１８を介してコンピュータシステム／サーバ１２の他のコンポーネントと通信する。図示されていないが、他のハードウェアコンポーネント及び／又はソフトウェアコンポーネントをコンピュータシステム／サーバ１２と併せて用いることもできることを理解されたい。例は、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、ＲＡＩＤシステム、テープドライブ、及びデータアーカイバルストレージシステムなどを含むがこれらに限定されない。
【００３４】
本発明は、システム、方法、及び／又はコンピュータプログラム製品であり得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を格納するコンピュータ可読記憶媒体（又はメディア）を含んでよい。
【００３５】
コンピュータ可読記憶媒体は、命令実行デバイスが用いるための命令を保持及び記憶することができる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記の任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の網羅的でないリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能でプログラム可能な読出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ポータブルコンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、デジタルバーサタイルディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、パンチカード又は溝に命令が記録される隆起構造体などの機械的にエンコードされるデバイス、及び上記の任意の適切な組み合わせを含む。本明細書で用いられる場合のコンピュータ可読記憶媒体は、無線波又は他の自由に伝搬する電磁波、導波管又は他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバケーブルを通過する光パルス）、又はワイヤを通じて伝送される電気信号などの一次的な信号自体として解釈されるべきではない。
【００３６】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれの計算／処理デバイスに、又はネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び／又は無線ネットワークを介して外部コンピュータ又は外部記憶装置にダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び／又はエッジサーバを含み得る。各計算／処理デバイスにおけるネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令をそれぞれの計算／処理デバイス内のコンピュータ可読記憶媒体に格納するべく転送する。
【００３７】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はＳｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、及び「Ｃ」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む１つ以上のプログラミング言語の任意の組み合わせで書かれたソースコード又はオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、独立したソフトウェア・パッケージとして、部分的にユーザのコンピュータ上で及び部分的にリモートコンピュータ上で、又は完全にリモートコンピュータ又はサーバ上で実行してよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を含むあらゆるタイプのネットワークを通じてユーザのコンピュータに接続されてよく、又は（例えば、インターネットサービスプロバイダを用いてインターネットを通じて）外部コンピュータと接続がなされてよい。いくつかの実施形態では、例えば、プログラム可能な論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、本発明の態様を行うために電子回路をパーソナライズするのにコンピュータ可読プログラム命令の状態情報を用いることによりコンピュータ可読プログラム命令を実行してよい。
【００３８】
本発明のいくつかの態様が、本発明の実施形態に係る方法、装置（システム）、及びコンピュータプログラム製品のフローチャート図及び／又はブロック図を参照して本明細書で説明されている。フローチャート図及び／又はブロック図の各ブロック、及びフローチャート図及び／又はブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令により実装することができることが理解されるであろう。
【００３９】
これらのコンピュータ可読プログラム命令は、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令がフローチャート図及び／又はブロック図の１つ又は複数のブロックで指定された機能／動作を実装するための手段をもたらすようにマシンを製造するべく汎用コンピュータ、特殊用途コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供されてよい。これらのコンピュータ可読プログラム命令はまた、命令を記憶しているコンピュータ可読記憶媒体がフローチャート図及び／又はブロック図の１つ又は複数のブロックで指定された機能／動作の態様を実装する命令を含む製造品を含むように、コンピュータ、プログラム可能なデータ処理装置、及び／又は他のデバイスに特定の様態で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてよい。
【００４０】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能な装置、又は他のデバイス上で実行する命令がフローチャート図及び／又はブロック図の１つ又は複数のブロックで指定された機能／動作を実装するように、コンピュータで実装されるプロセスをもたらすべく一連の動作ステップをコンピュータ、他のプログラム可能な装置、又は他のデバイス上で行わせるために、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイス上にロードされてよい。
【００４１】
図面におけるフローチャート図及びブロック図は、本発明の種々の実施形態に係るシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を例示する。これに関して、フローチャート図又はブロック図における各ブロックは、特定の論理関数を実装するための１つ以上の実行可能命令を備える命令のモジュール、セグメント、又は一部を表し得る。いくつかの代替的な実装では、ブロックで示される機能は、図面に示された順番以外で行われてもよい。例えば、連続して示された２つのブロックは、実際には、実質的に同時に実行されてよく、又はブロックは、関係する機能に応じて、時には逆の順番で実行されてよい。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図におけるブロックの組み合わせは、特定の機能又は動作を行う又は特殊用途ハードウェアとコンピュータ命令の組み合わせを実行する特殊用途ハードウェアベースのシステムにより実装することができることも注目されるであろう。
【００４２】
本発明の種々の実施形態の説明が例示の目的で提示されているが、網羅的となること又は開示された実施形態に限定されることは意図されていない。説明した実施形態の精神及び範囲から逸脱することなく多くの修正及び変形が当該技術分野の当業者には明白であろう。本明細書で用いられる用語は、実施形態の原理、実際の適用、又は市場で見られる技術に対する技術的改善を最もよく説明するため又は本明細書で開示された実施形態を当業者が理解できるようにするために選択されたものである。
【図１Ａ】
2020502955.tif 000003
【図１Ｂ】
2020502955.tif 000004
【図２Ａ】
2020502955.tif 000005
【図２Ｂ】
2020502955.tif 000006
【図３】
2020502955.tif 000007
【図４】
2020502955.tif 000008
【図５】
2020502955.tif 000009
【国際調査報告】
2020502955.tif 000010