(57)【特許請求の範囲】
【請求項１】
方法であって、
３次元（３Ｄ）ビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブを判断するステップを含み、前記ビューパースペクティブは、前記３Ｄビデオの視聴者によって見られた少なくとも１つの基準点に基づいて選択された領域に対応し、
前記少なくとも１つの好ましいビューパースペクティブに対応する前記３Ｄビデオの第１の部分を第１の品質で符号化するステップと、
前記３Ｄビデオの第２の部分を第２の品質で符号化するステップとを含み、前記第１の品質は前記第２の品質と比べてより高い品質であり、
ストリーミングビデオに対する要求を受信するステップをさらに含み、前記要求は、前記３Ｄビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記方法はさらに、
前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたカウンタをインクリメントするステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記カウンタを１に設定するステップとを含む、方法。
【請求項２】
３次元（３Ｄ）ビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブを判断するステップを含み、前記ビューパースペクティブは、前記３Ｄビデオの視聴者によって見られた少なくとも１つの基準点に基づいて選択された領域に対応し、
前記少なくとも１つの好ましいビューパースペクティブに対応する前記３Ｄビデオの第１の部分を第１の品質で符号化するステップと、
前記３Ｄビデオの第２の部分を第２の品質で符号化するステップとを含み、前記第１の品質は前記第２の品質と比べてより高い品質であり、
前記３Ｄビデオの前記第２の部分の少なくとも一部を前記第１の品質で繰り返し符号化するステップと、
前記３Ｄビデオの前記第２の部分の前記少なくとも一部をストリーミングするステップとをさらに含む、方法。
【請求項３】
過去に視聴されて３次元（３Ｄ）ビデオに関連づけられたビューパースペクティブに基づいて、当該３次元（３Ｄ）ビデオについての複数の履歴ビューパースペクティブのうちの一つとしてビューパースペクティブを保存するステップを含み、前記ビューパースペクティブは、前記３Ｄビデオの視聴者によって見られた少なくとも１つの基準点に基づいて選択された領域に対応し、
前記複数の履歴ビューパースペクティブに関連付けられたランキング値が閾値よりも大きく、前記複数の履歴ビューパースペクティブの残りに対する条件を満たしているか否かを判断するステップと、
前記ランキング値が閾値よりも大きく、前記条件を満たしているとの判断に応答して、前記３Ｄビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブとして、前記複数の履歴ビューパースペクティブの一つを選択するステップと、
前記少なくとも１つの好ましいビューパースペクティブに対応する前記３Ｄビデオの第１の部分を第１の品質で符号化するステップと、
前記３Ｄビデオの第２の部分を第２の品質で符号化するステップとを含み、前記第１の品質は前記第２の品質と比べてより高い品質である、方法。
【請求項４】
前記３Ｄビデオの前記第１の部分をデータストアに格納するステップと、
前記３Ｄビデオの前記第２の部分を前記データストアに格納するステップと、
ストリーミングビデオに対する要求を受信するステップと、
前記データストアから前記３Ｄビデオの前記第１の部分と前記３Ｄビデオの前記第２の部分とを前記ストリーミングビデオとしてストリーミングするステップとをさらに含む、請求項１〜３のいずれかに記載の方法。
【請求項５】
ストリーミングビデオに対する要求を受信するステップをさらに含み、前記要求は、ユーザビューパースペクティブの表示を含み、前記方法はさらに、
前記ユーザビューパースペクティブに対応する３Ｄビデオを、前記３Ｄビデオの符号化された前記第１の部分として選択するステップと、
前記３Ｄビデオの選択された前記第１の部分と前記３Ｄビデオの前記第２の部分とを前記ストリーミングビデオとしてストリーミングするステップとを含む、請求項１〜３のいずれかに記載の方法。
【請求項６】
ストリーミングビデオに対する要求を受信するステップをさらに含み、前記要求は、前記３Ｄビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記方法はさらに、
前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたカウンタをインクリメントするステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記カウンタを１に設定するステップとを含む、請求項１〜３のいずれかに記載の方法。
【請求項７】
前記３Ｄビデオの前記第２の部分を符号化するステップは、少なくとも１つの第１のＱｏＳ（Quality of Service）パラメータを第１のパス符号化動作で使用するステップを含み、
前記３Ｄビデオの前記第１の部分を符号化するステップは、少なくとも１つの第２のＱｏＳ（Quality of Service）パラメータを第２のパス符号化動作で使用するステップを含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記３Ｄビデオに関連付けられた前記少なくとも１つの好ましいビューパースペクティブは、前記３Ｄビデオの視聴者の配向、前記３Ｄビデオの視聴者の位置、および前記３Ｄビデオの視聴者の焦点、のうちの少なくとも１つに基づいている、請求項１〜３のいずれかに記載の方法。
【請求項９】
前記３Ｄビデオに関連付けられた前記少なくとも１つの好ましいビューパースペクティブを判断するステップは、デフォルトビューパースペクティブに基づいており、
前記デフォルトビューパースペクティブは、
ディスプレイデバイスのユーザの特性、
前記ディスプレイデバイスの前記ユーザに関連付けられたグループの特性、
ディレクターズカット、および、
前記３Ｄビデオの特性、のうちの少なくとも１つに基づいている、請求項１〜３のいずれかに記載の方法。
【請求項１０】
ストリーミングサーバであって、
３次元（３Ｄ）ビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブを判断するように構成されたコントローラと、
エンコーダとを含み、前記ビューパースペクティブは、前記３Ｄビデオの視聴者によって見られた少なくとも１つの基準点に基づいて選択された領域に対応し、
前記エンコーダは、
前記少なくとも１つの好ましいビューパースペクティブに対応する前記３Ｄビデオの第１の部分を第１の品質で符号化し、
前記３Ｄビデオの第２の部分を第２の品質で符号化するように構成され、前記第１の品質は前記第２の品質と比べてより高い品質であり、
前記コントローラはさらに、
ストリーミングビデオに対する要求を受信するように構成され、前記要求は、前記３Ｄビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記コントローラはさらに、
前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断し、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたカウンタをインクリメントし、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記カウンタを１に設定するように構成される、ストリーミングサーバ。
【請求項１１】
ストリーミングサーバであって、
３次元（３Ｄ）ビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブを判断するように構成されたコントローラと、
エンコーダとを含み、前記ビューパースペクティブは、前記３Ｄビデオの視聴者によって見られた少なくとも１つの基準点に基づいて選択された領域に対応し、
前記エンコーダは、
前記少なくとも１つの好ましいビューパースペクティブに対応する前記３Ｄビデオの第１の部分を第１の品質で符号化し、
前記３Ｄビデオの第２の部分を第２の品質で符号化するように構成され、前記第１の品質は前記第２の品質と比べてより高い品質であり、
前記コントローラはさらに、
前記３Ｄビデオの前記第２の部分の少なくとも一部を前記第１の品質で繰り返し符号化し、
前記３Ｄビデオの前記第２の部分の前記少なくとも一部をストリーミングするように構成される、ストリーミングサーバ。
【請求項１２】
ストリーミングサーバであって、
過去に視聴されて３次元（３Ｄ）ビデオに関連づけられたビューパースペクティブに基づいて、当該３次元（３Ｄ）ビデオについての複数の履歴ビューパースペクティブのうちの一つとしてビューパースペクティブを保存するように構成されたメモリを備え、前記複数の履歴ビューパースペクティブは前記３次元（３Ｄ）ビデオの複数のユーザに関連付けられており、前記ビューパースペクティブは、前記３Ｄビデオの視聴者によって見られた少なくとも１つの基準点に基づいて選択された領域に対応し、
コントローラを備え、前記コントローラは、
前記複数の履歴ビューパースペクティブに関連付けられたランキング値が閾値よりも大きく、前記複数の履歴ビューパースペクティブの残りに対する条件を満たしているか否かを判断し、
前記ランキング値が閾値よりも大きく、前記条件を満たしているとの判断に応答して、前記３Ｄビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブとして、前記複数の履歴ビューパースペクティブの一つを選択するように構成されており、
エンコーダを備え、前記エンコーダは、
前記少なくとも１つの好ましいビューパースペクティブに対応する前記３Ｄビデオの第１の部分を第１の品質で符号化し、
前記３Ｄビデオの第２の部分を第２の品質で符号化するように構成されており、前記第１の品質は前記第２の品質と比べてより高い品質である、方法。
【請求項１３】
前記コントローラはさらに、
前記３Ｄビデオの前記第１の部分をデータストアに格納し、
前記３Ｄビデオの前記第２の部分を前記データストアに格納し、
ストリーミングビデオに対する要求を受信し、
前記データストアから前記３Ｄビデオの前記第１の部分と前記３Ｄビデオの前記第２の部分とを前記ストリーミングビデオとしてストリーミングするように構成される、請求項１０〜１２のいずれかに記載のストリーミングサーバ。
【請求項１４】
前記コントローラはさらに、
ストリーミングビデオに対する要求を受信するように構成され、前記要求は、ユーザビューパースペクティブの表示を含み、前記コントローラはさらに、
前記ユーザビューパースペクティブに対応する３Ｄビデオを、３Ｄビデオの符号化された前記第１の部分として選択し、
前記３Ｄビデオの選択された前記第１の部分と前記３Ｄビデオの前記第２の部分とを前記ストリーミングビデオとしてストリーミングするように構成される、請求項１０〜１２のいずれかに記載のストリーミングサーバ。
【請求項１５】
前記３Ｄビデオの前記第２の部分を符号化することは、少なくとも１つの第１のＱｏＳ（Quality of Service）パラメータを第１のパス符号化動作で使用することを含み、
前記３Ｄビデオの前記第１の部分を符号化することは、少なくとも１つの第２のＱｏＳ（Quality of Service）パラメータを第２のパス符号化動作で使用することを含む、請求項１０〜１２のいずれか１項に記載のストリーミングサーバ。
【請求項１６】
前記３Ｄビデオに関連付けられた前記少なくとも１つの好ましいビューパースペクティブは、前記３Ｄビデオの視聴者の配向、前記３Ｄビデオの視聴者の位置、および前記３Ｄビデオの視聴者の焦点、のうちの少なくとも１つに基づいている、請求項１０〜１２のいずれかに記載のストリーミングサーバ。
【請求項１７】
前記３Ｄビデオに関連付けられた前記少なくとも１つの好ましいビューパースペクティブを判断することは、デフォルトビューパースペクティブに基づいており、
前記デフォルトビューパースペクティブは、
ディスプレイデバイスのユーザの特性、
前記ディスプレイデバイスの前記ユーザに関連付けられたグループの特性、
ディレクターズカット、および、
前記３Ｄビデオの特性、のうちの少なくとも１つに基づいている、請求項１０〜１２のいずれかに記載のストリーミングサーバ。
【請求項１８】
前記コントローラはさらに、
前記３Ｄビデオの前記第２の部分の少なくとも一部を前記第１の品質で繰り返し符号化することと、
前記３Ｄビデオの前記第２の部分の前記少なくとも一部をストリーミングすることとを引き起こすように構成される、請求項１０または１２に記載のストリーミングサーバ。
【請求項１９】
方法であって、
ストリーミングビデオに対する要求を受信するステップを含み、前記要求は、３次元（３Ｄ）ビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記ユーザビューパースペクティブは、前記３Ｄビデオの視聴者によって見られた少なくとも１つの基準点に基づいて選択された領域に対応し、
前記方法はさらに、
前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたランキング値をインクリメントするステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記ランキング値を１に設定するステップとを含む、方法。
【請求項２０】
格納された前記ユーザビューパースペクティブに関連付けられた前記ランキング値に基づいて、前記３Ｄビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブを判断するステップと、
前記少なくとも１つの好ましいビューパースペクティブに対応する前記３Ｄビデオの第１の部分を第１の品質で符号化するステップと、
前記３Ｄビデオの第２の部分を第２の品質で符号化するステップとをさらに含み、前記第１の品質は前記第２の品質と比べてより高い品質である、請求項１９に記載の方法。
【請求項２１】
コンピュータによって実行されるプログラムであって、
前記プログラムは、前記コンピュータに、請求項１〜９、１９および２０のいずれか１項に記載の方法を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願との相互参照
本願は、２０１５年５月２７日に出願された「ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置」（Method and Apparatus to Reduce Spherical Video Bandwidth to User Headset）と題された米国出願連続番号第６２／１６７，１２１号の利益を主張する。当該出願は、その全体がここに引用により援用される。
【０００２】
分野
実施形態は、球状ビデオをストリーミングすることに関する。
【背景技術】
【０００３】
背景
球状ビデオ（または他の３次元ビデオ）をストリーミングすることは、かなりの量のシステムリソースを消費する場合がある。たとえば、符号化された球状ビデオは送信用の多数のビットを含む場合があり、それらは、かなりの量の帯域幅、ならびに、エンコーダおよびデコーダに関連付けられた処理およびメモリを消費する場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
概要
例示的な実施形態は、ビデオをストリーミングすること、３Ｄビデオをストリーミングすること、および／または球状ビデオをストリーミングすることを最適化するシステムおよび方法を説明する。
【課題を解決するための手段】
【０００５】
一般的な一局面では、方法は、３次元（３Ｄ）ビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブを判断するステップと、少なくとも１つの好ましいビューパースペクティブに対応する３Ｄビデオの第１の部分を第１の品質で符号化するステップと、３Ｄビデオの第２の部分を第２の品質で符号化するステップとを含み、第１の品質は第２の品質と比べてより高い品質である。
【０００６】
別の一般的な局面では、サーバおよび／またはストリーミングサーバは、３次元（３Ｄ）ビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブを判断するように構成されたコントローラと、エンコーダとを含み、エンコーダは、少なくとも１つの好ましいビューパースペクティブに対応する３Ｄビデオの第１の部分を第１の品質で符号化し、３Ｄビデオの第２の部分を第２の品質で符号化するように構成され、第１の品質は第２の品質と比べてより高い品質である。
【０００７】
さらに別の一般的な局面では、方法は、ストリーミングビデオに対する要求を受信するステップを含み、要求は、３次元（３Ｄ）ビデオに関連付けられたユーザビューパースペクティブの表示を含み、方法はさらに、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていると判断すると、ユーザビューパースペクティブに関連付けられたランキング値をインクリメントするステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていないと判断すると、ユーザビューパースペクティブをビューパースペクティブデータストアに追加し、ユーザビューパースペクティブに関連付けられたランキング値を１に設定するステップとを含む。
【０００８】
実現化例は、以下の特徴のうちの１つ以上を含み得る。たとえば、方法（または、サーバでの実現化例）は、３Ｄビデオの第１の部分をデータストアに格納するステップと、３Ｄビデオの第２の部分をデータストアに格納するステップと、ストリーミングビデオに対する要求を受信するステップと、データストアから３Ｄビデオの第１の部分と３Ｄビデオの第２の部分とをストリーミングビデオとしてストリーミングするステップとをさらに含み得る。方法（または、サーバでの実現化例）は、ストリーミングビデオに対する要求を受信するステップをさらに含み、要求は、ユーザビューパースペクティブの表示を含み、方法はさらに、ユーザビューパースペクティブに対応する３Ｄビデオを、３Ｄビデオの符号化された第１の部分として選択するステップと、３Ｄビデオの選択された第１の部分と３Ｄビデオの第２の部分とをストリーミングビデオとしてストリーミングするステップとを含み得る。
【０００９】
方法（または、サーバでの実現化例）は、ストリーミングビデオに対する要求を受信するステップをさらに含み、要求は、３Ｄビデオに関連付けられたユーザビューパースペクティブの表示を含み、方法はさらに、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていると判断すると、ユーザビューパースペクティブに関連付けられたカウンタをインクリメントするステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていないと判断すると、ユーザビューパースペクティブをビューパースペクティブデータストアに追加し、ユーザビューパースペクティブに関連付けられたカウンタを１に設定するステップとを含み得る。方法（または、サーバでの実現化例）は、３Ｄビデオの第２の部分を符号化するステップは、少なくとも１つの第１のＱｏＳ（Quality of Service）パラメータを第１のパス符号化動作で使用するステップを含み、３Ｄビデオの第１の部分を符号化するステップは、少なくとも１つの第２のＱｏＳ（Quality of Service）パラメータを第２のパス符号化動作で使用するステップを含むことを含み得る。
【００１０】
たとえば、３Ｄビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブを判断するステップは、これまで（historically）見られた基準点、およびこれまで見られたビューパースペクティブ、のうちの少なくとも１つに基づいている。３Ｄビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブは、３Ｄビデオの視聴者の配向、３Ｄビデオの視聴者の位置、３Ｄビデオの視聴者の点、および３Ｄビデオの視聴者の焦点、のうちの少なくとも１つに基づいている。３Ｄビデオに関連付けられた少なくとも１つの好ましいビューパースペクティブを判断するステップは、デフォルトビューパースペクティブに基づいており、デフォルトビューパースペクティブは、ディスプレイデバイスのユーザの特性、ディスプレイデバイスのユーザに関連付けられたグループの特性、ディレクターズカット、および、３Ｄビデオの特性、のうちの少なくとも１つに基づいている。たとえば、方法（または、サーバでの実現化例）は、３Ｄビデオの第２の部分の少なくとも一部を第１の品質で繰り返し符号化するステップと、３Ｄビデオの第２の部分の少なくとも一部をストリーミングするステップとをさらに含み得る。
【図面の簡単な説明】
【００１１】
例示的な実施形態は、ここに以下に提供される詳細な説明、および添付図面からより十分に理解されるであろう。図中、同じ要素は同じ参照番号によって表わされ、それらは例示としてのみ与えられており、このため例示的な実施形態の限定ではない。
【図１Ａ】少なくとも１つの例示的な実施形態に従った球の２次元（２Ｄ）表現を示す図である。
【図１Ｂ】２Ｄ矩形表現としての、球の２Ｄ表現の展開円筒表現を示す図である。
【図２】少なくとも１つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。
【図３】少なくとも１つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。
【図４】少なくとも１つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。
【図５】少なくとも１つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。
【図６Ａ】少なくとも１つの例示的な実施形態に従ったビデオエンコーダシステムを示す図である。
【図６Ｂ】少なくとも１つの例示的な実施形態に従ったビデオデコーダシステムを示す図である。
【図７Ａ】少なくとも１つの例示的な実施形態に従ったビデオエンコーダシステムについてのフロー図を示す図である。
【図７Ｂ】少なくとも１つの例示的な実施形態に従ったビデオデコーダシステムについてのフロー図を示す図である。
【図８】少なくとも１つの例示的な実施形態に従ったシステムを示す図である。
【図９】ここに説明される手法を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの概略ブロック図である。
【００１２】
なお、これらの図は、ある例示的な実施形態において利用される方法、構造および／または材料の一般的な特徴を示すよう意図されており、かつ、以下に提供される記載を補足するよう意図されている。しかしながら、これらの図面は縮尺通りではなく、また、任意の所与の実施形態の構造特性または性能特性そのものを正確に反映していない場合があり、例示的な実施形態が包含する特性を定義または限定していると解釈されるべきでない。たとえば、明瞭にするために、構造要素の位置付けが減少または誇張される場合がある。さまざまな図面における同様または同一の参照番号の使用は、同様または同一の要素または特徴の存在を示すよう意図される。
【発明を実施するための形態】
【００１３】
実施形態の詳細な説明
例示的な実施形態はさまざまな修正および代替的形態を含み得るが、それらの実施形態は例として図面に示されており、ここに詳細に説明されるであろう。しかしながら、例示的な実施形態を開示された特定の形態に限定する意図はなく、それどころか、例示的な実施形態は請求の範囲内に該当するすべての修正、均等物、および代替物を網羅することが理解されるべきである。同じ番号は、図の説明全体にわたって同じ要素を指す。
【００１４】
例示的な実施形態は、ビデオのストリーミング、３Ｄビデオのストリーミング、球状ビデオ（および／または他の３次元ビデオ）のストリーミングを、球状ビデオの（ビデオの視聴者によって）優先的に見られた部分（たとえば、ディレクターズカット、これまでの視聴（historical viewings）など）に基づいて最適化するように構成されたシステムおよび方法を説明する。たとえば、ディレクターズカットとは、ビデオの監督（ディレクター）または製作者によって選択されたようなビューパースペクティブであり得る。ディレクターズカットは、ビデオの監督または製作者がビデオを録画する際に選択され、または見られた、カメラの（複数のカメラの）ビューに基づいていてもよい。
【００１５】
球状ビデオ、球状ビデオのフレーム、および／または球状画像は、パースペクティブを有し得る。たとえば、球状画像は地球の画像であってもよい。内部パースペクティブは、地球の中心から外側を見るビューであってもよい。または、内部パースペクティブは、地球上で宇宙を眺めるものであってもよい。外部パースペクティブは、宇宙から地球に向かって見下ろすビューであってもよい。別の例として、パースペクティブは、可視である画像の一部に基づき得る。言い換えれば、可視パースペクティブは、視聴者が見ることができるものであり得る。可視パースペクティブは、視聴者の前にある球状画像の一部であり得る。たとえば、内部パースペクティブから見る際、視聴者は地面（たとえば地球）上に横たわり、宇宙を眺めていてもよい。視聴者は画像内で、月、太陽、または特定の星を見るかもしれない。しかしながら、視聴者が横たわっている地面は球状画像に含まれているものの、地面は現在の可視パースペクティブの外部にある。この例では、視聴者が自分の頭を回転させると、地面は周囲の可視パースペクティブに含まれるであろう。視聴者がうつぶせになると、地面は可視パースペクティブ内にあるものの、月、太陽、または星は可視パースペクティブ内にはないであろう。
【００１６】
外部パースペクティブからの可視パースペクティブは、（たとえば画像の別の部分によって）遮られていない球状画像の一部、および／または、見えなくなるまで湾曲していない球状画像の一部であってもよい。球状画像を動かすこと（たとえば回転させること）によって、および／または球状画像の動きによって、球状画像の別の部分が外部パースペクティブから可視パースペクティブに持ち込まれてもよいい。したがって、可視パースペクティブは、球状画像の視聴者の可視範囲内にある球状画像の一部である。
【００１７】
球状画像は、経時変化しない画像である。たとえば、地球に関するような内部パースペクティブからの球状画像は、月および星を１つの位置に示す場合がある。一方、球状ビデオ（または画像のシーケンス）は経時変化する場合がある。たとえば、地球に関するような内部パースペクティブからの球状ビデオは、（たとえば地球の自転のために）動く月および星、および／または、画像（たとえば空）を横切る飛行機雲を示す場合がある。
【００１８】
図１Ａは、球の２次元（２Ｄ）表現である。図１Ａに示すように、（たとえば、球状ビデオの球状画像またはフレームとしての）球１００は、内部パースペクティブ１０５、１１０、外部パースペクティブ１１５、および可視パースペクティブ１２０、１２５、１３０の方向を示す。可視パースペクティブ１２０は、内部パースペクティブ１１０から見られるような球状画像の一部であってもよい。可視パースペクティブ１２０は、内部パースペクティブ１０５から見られるような球１００の一部であってもよい。可視パースペクティブ１２５は、外部パースペクティブ１１５から見られるような球１００の一部であってもよい。
【００１９】
図１Ｂは、２Ｄ矩形表現としての、球１００の２Ｄ表現の展開円筒表現１５０を示す図である。展開円筒表現１５０として示された画像の正距円筒投影は、画像が点Ａ、Ｂ間の中央線から垂直に（図１Ｂに示すように上下に）遠ざかって進むにつれて、伸張された画像として現われ得る。２Ｄ矩形表現は、Ｎ×ＮブロックのＣ×Ｒマトリックスとして分解され得る。たとえば、図１Ｂに示すように、図示された展開円筒表現１５０は、Ｎ×Ｎブロックの３０×１６マトリックスである。しかしながら、他のＣ×Ｒ次元がこの開示の範囲内にある。ブロックは、２×２、２×４、４×４、４×８、８×８、８×１６、１６×１６などのブロック（または画素のブロック）であってもよい。
【００２０】
球状画像とは、全方向に連続している画像である。したがって、仮に球状画像を複数のブロックに分解した場合、複数のブロックは球状画像全体で近接しているであろう。言い換えれば、２Ｄ画像にあるようなエッジも境界もない。例示的な実現化例では、隣接端ブロックが、２Ｄ表現の境界に隣接していてもよい。加えて、隣接端ブロックは、２Ｄ表現の境界上のブロックとの近接ブロックであってもよい。たとえば、隣接端ブロックは、２次元表現の２つ以上の境界に関連付けられている。言い換えれば、球状画像は全方向に連続している画像であるため、隣接端は、画像またはフレームにおける（たとえばブロックの列の）上側境界および下側境界に関連付けられてもよく、および／または、画像またはフレームにおける（たとえばブロックの行の）左側境界および右側境界に関連付けられてもよい。
【００２１】
たとえば、正距円筒投影が使用される場合、隣接端ブロックは、列または行の他方端のブロックであってもよい。たとえば、図１Ｂに示すように、ブロック１６０および１７０は、互いにそれぞれの（列ごとの）隣接端ブロックであってもよい。また、ブロック１８０および１８５は、互いにそれぞれの（列ごとの）隣接端ブロックであってもよい。さらに、ブロック１６５および１７５は、互いにそれぞれの（行ごとの）隣接端ブロックであってもよい。ビューパースペクティブ１９２は、少なくとも１つのブロックを含んでいてもよい（および／または、少なくとも１つのブロックと重複していてもよい）。ブロックは、画像の領域、フレームの領域、画像またはフレームの一部もしくは部分集合、ブロックの群などとして符号化されてもよい。以下に、ブロックのこの群は、タイルまたはタイルの群と称され得る。たとえば、図１Ｂでは、タイル１９０および１９５は、４つのブロックの群として図示される。タイル１９５は、ビューパースペクティブ１９２内にあるとして図示される。
【００２２】
例示的な実施形態では、符号化された球状ビデオのフレームをストリーミングすることに加え、視聴者によって頻繁に見られた少なくとも１つの基準点に基づいて選択されたタイル（またはタイルの群）としてのビューパースペクティブ（たとえば、これまで見られた少なくとも１つの基準点またはビューパースペクティブ）が、たとえばより高い品質（たとえば、より高い解像度および／またはより少ない歪み）で符号化され、球状ビデオの符号化されたフレームとともに（またはその一部として）ストリーミングされ得る。したがって、再生中、球状ビデオ全体が再生されている間に視聴者は復号されたタイルを（より高い品質で）見ることができ、視聴者のビューパースペクティブが、視聴者によって頻繁に見られたビューパースペクティブに変わった場合でも、球状ビデオ全体は利用可能である。視聴者はまた、視聴位置を変更したり、別のビューパースペクティブに切替えることもできる。その別のビューパースペクティブが、視聴者によって頻繁に見られた少なくとも１つの基準点に含まれる場合、再生されたビデオは、（たとえば、視聴者によって頻繁に見られた少なくとも１つの基準点のうちの１つではない）何らかの他のビューパースペクティブに比べ、より高い品質（たとえば、より高い解像度）のものであり得る。画像またはフレームの選択された一部または部分集合のみをより高い品質で符号化してストリーミングすることの１つの利点は、必ずしも球状ビデオ全体をより高い品質で符号化し、ストリーミングし、復号しなくても、球状ビデオの選択された画像またはフレームがより高い品質で復号され、再生され得るという利点を有しており、このため、帯域幅使用、ならびに、エンコーダおよびデコーダに関連付けられた処理リソースおよびメモリリソースにおける効率を高める。
【００２３】
頭部装着ディスプレイ（head mount display：ＨＭＤ）では、視聴者は、知覚された３次元（３Ｄ）ビデオまたは画像を投影する左（たとえば左目）ディスプレイおよび右（たとえば右目）ディスプレイの使用を通して、視覚的バーチャルリアリティを体験する。例示的な実施形態によれば、球状（たとえば３Ｄ）ビデオまたは画像がサーバ上に格納される。ビデオまたは画像は符号化され、サーバからＨＭＤにストリーミングされ得る。球状ビデオまたは画像は、左画像および右画像として符号化され得る。左画像および右画像は、左画像および右画像についてのメタデータとともに（たとえばデータパケットに）パッケージ化される。左画像および右画像は次に復号され、左（たとえば左目）ディスプレイおよび右（たとえば右目）ディスプレイによって表示される。
【００２４】
ここに説明されるシステムおよび方法は左画像および右画像双方に適用可能であり、本開示全体を通し、使用事例に依存して、画像、フレーム、画像の一部、フレームの一部、タイルなどと称される。言い換えれば、サーバ（たとえばストリーミングサーバ）からユーザデバイス（たとえばＨＭＤ）に通信され、次に表示のために復号される符号化データは、３Ｄビデオまたは画像に関連付けられた左画像および／または右画像であり得る。
【００２５】
図２〜５は、例示的な実施形態に従った方法のフローチャートである。図２〜５に関して説明されるステップは、（たとえば（以下に説明される）図６Ａ、図６Ｂ、図７Ａ、図７Ｂ、および図８に示すような）装置に関連付けられたメモリ（たとえば、少なくとも１つのメモリ６１０）に格納され、当該装置に関連付けられた少なくとも１つのプロセッサ（たとえば、少なくとも１つのプロセッサ６０５）によって実行される、ソフトウェアコードの実行によって行なわれてもよい。しかしながら、特殊用途プロセッサとして具現化されるシステムといった、代替的な実施形態が考えられる。以下に説明されるステップはプロセッサによって実行されるとして説明されるが、これらのステップは必ずしも同じプロセッサによって実行されるわけではない。言い換えれば、少なくとも１つのプロセッサが、図２〜５に関して以下に説明されるステップを実行してもよい。
【００２６】
図２は、これまでのビューパースペクティブを格納するための方法を示しており、ここで、「これまでの」（historical）とは、ユーザによって以前に要求されたビューパースペクティブを指す。たとえば、図２は、球状ビデオストリームにおいてよく見られるビューパースペクティブのデータベースの構築を示し得る。図２に示すように、ステップＳ２０５で、ビューパースペクティブの表示が受信される。たとえば、デコーダを含むデバイスによってタイルが要求され得る。タイル要求は、球状ビデオ上の視聴者の配向、位置、点、または焦点に関するパースペクティブまたはビューパースペクティブに基づいた情報を含み得る。パースペクティブまたはビューパースペクティブは、ユーザビューパースペクティブ、すなわちＨＭＤのユーザのビューパースペクティブであり得る。たとえば、ビューパースペクティブ（たとえばユーザビューパースペクティブ）は、（たとえば、内部パースペクティブまたは外部パースペクティブとしての）球状ビデオ上の緯度および経度位置であってもよい。ビュー、パースペクティブ、またはビューパースペクティブは、球状ビデオに基づいて立方体の辺として判断され得る。ビューパースペクティブの表示はまた、球状ビデオ情報を含み得る。例示的な実現化例では、ビューパースペクティブの表示は、ビューパースペクティブに関連付けられたフレームについての情報（たとえばフレームシーケンス）を含み得る。たとえば、ビュー（たとえば、緯度および経度位置、または辺）は、たとえばハイパーテキスト転送プロトコル（Hypertext Transfer Protocol：ＨＴＴＰ）を使用して、ＨＭＤを含むユーザデバイス（に関連付けられたコントローラ）からストリーミングサーバに通信され得る。
【００２７】
ステップＳ２１０で、ビューパースペクティブ（たとえばユーザビューパースペクティブ）がビューパースペクティブデータストアに格納されているかどうかが判断される。たとえば、データストア（たとえばビューパースペクティブデータストア８１５）が、ビューパースペクティブまたはユーザビューパースペクティブに関連付けられた情報に基づいてクエリまたはフィルタされ得る。たとえば、データストアは、ビューパースペクティブの球状ビデオ上の緯度および経度位置、ならびに、ビューパースペクティブが見られた球状ビデオにおけるタイムスタンプに基づいて、クエリまたはフィルタされてもよい。タイムスタンプは、球状ビデオの再生に関連付けられた時間および／または時間範囲であり得る。クエリまたはフィルタは、空間近接性（たとえば、現在のビューパースペクティブが所与の格納されたビューパースペクティブにどのくらい近いか）、および／または、時間近接性（たとえば、現在のタイムスタンプが所与の格納されたタイムスタンプにどのくらい近いか）に基づき得る。クエリまたはフィルタが結果を返す場合、ビューパースペクティブはデータストアに格納されている。結果を返さない場合、ビューパースペクティブはデータストアに格納されていない。ビューパースペクティブがビューパースペクティブデータストアに格納されている場合、ステップＳ２１５で、処理はステップＳ２２０に続く。格納されていない場合、処理はステップＳ２２５に続く。
【００２８】
ステップＳ２２０で、受信されたビューパースペクティブに関連付けられたカウンタまたはランキング（またはランキング値）がインクリメントされる。たとえば、データストアは、これまでのビューパースペクティブを含むデータテーブルを含んでいてもよい（たとえば、データストアは、複数のデータテーブルを含むデータベースであってもよい）。データテーブルは、鍵付きの（たとえば、各々に固有の）ビューパースペクティブであってもよい。データテーブルは、ビューパースペクティブの識別情報と、ビューパースペクティブに関連付けられた情報と、ビューパースペクティブが何回要求されたかを示すカウンタとを含んでいてもよい。カウンタは、ビューパースペクティブが要求されるたびにインクリメントされてもよい。データテーブルに格納されたデータは、匿名化されてもよい。言い換えれば、データは、ユーザ、デバイス、セッションなどが言及されない（または、ユーザ、デバイス、セッションなどの識別情報がない）ように格納され得る。そのため、データテーブルに格納されたデータは、ビデオのユーザまたは視聴者に基づいて区別できない。例示的な実現化例では、データテーブルに格納されたデータは、ユーザを識別することなく、ユーザに基づいて分類されてもよい。たとえば、データは、ユーザの年齢、年齢層、性別、タイプまたは役割（たとえば音楽家または観衆）などを含んでいてもよい。
【００２９】
ステップＳ２２５で、ビューパースペクティブはビューパースペクティブデータストアに追加される。たとえば、ビューパースペクティブの識別情報と、ビューパースペクティブに関連付けられた情報と、１に設定されたカウンタ（またはランキング値）とが、これまでのビューパースペクティブを含むデータテーブルに格納されてもよい。
【００３０】
例示的な実施形態では、少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルが、より高いＱｏＳで符号化され得る。ＱｏＳは、上述の品質の実現（たとえば、品質を規定するエンコーダ変数入力）であり得る。たとえば、エンコーダ（たとえばビデオエンコーダ６２５）が、３Ｄビデオに関連付けられたタイルを個々に符号化することができる。少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルは、３Ｄビデオの残りに関連付けられたタイルに比べ、より高いＱｏＳで符号化され得る。例示的な実現化例では、３Ｄビデオは、（たとえば第１のパスにおける）第１のＱｏＳパラメータ、または、第１の符号化パスで使用される少なくとも１つの第１のＱｏＳパラメータを使用して符号化され得る。加えて、少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルは、（たとえば第２のパスにおける）第２のＱｏＳパラメータ、または、第２の符号化パスで使用される少なくとも１つの第２のＱｏＳパラメータを使用して符号化され得る。この例示的な実現化例では、第２のＱｏＳは、第１のＱｏＳに比べ、より高いＱｏＳである。別の例示的な実現化例では、３Ｄビデオは、３Ｄビデオを表わす複数のタイルとして符号化され得る。少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルは、第２のＱｏＳパラメータを使用して符号化され得る。残りのタイルは、第１のＱｏＳパラメータを使用して符号化され得る。
【００３１】
代替的な実現化例（および／または追加の実現化例）では、エンコーダは、少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルを、３Ｄビデオフレームの残りの２Ｄ表現を生成するために使用されるものとは異なる投影手法またはアルゴリズムを使用して投影することができる。投影によっては、フレームのあるエリアに歪みを有する場合がある。したがって、タイルを球状フレームとは異なるように投影することは、最終画像の品質を向上させること、および／または、画素をより効率的に使用する（たとえば、コンピュータ計算をより少なくする、またはユーザの目に対する負担をより少なくする）ことができる。１つの例示的な実現化例では、投影アルゴリズムに基づいて歪みが最小となる位置にタイルを向けるために、タイルを投影する前に球状画像を回転させることができる。別の例示的な実現化例では、タイルは、タイルの位置に基づいた投影アルゴリズムを使用する（および／または修正する）ことができる。たとえば、球状ビデオフレームを２Ｄ表現に投影することは正距円筒投影を使用でき、一方、球状ビデオフレームをタイルとして選択されるべき部分を含む表現に投影することは立方体投影を使用できる。
【００３２】
図３は、３Ｄビデオをストリーミングするための方法を示す。図３は、ライブストリーミングイベントなどの最中に、ストリーミング３Ｄビデオがオンデマンドで符号化されるシナリオを説明する。図３に示すように、ステップＳ３０５で、３Ｄビデオをストリーミングする要求が受信される。たとえば、ストリーミングに利用可能な３Ｄビデオ、３Ｄビデオの一部、またはタイルが、デコーダを含むデバイスによって（たとえば、媒体アプリケーションとのユーザインタラクションを介して）要求され得る。当該要求は、球状ビデオ上の視聴者の配向、位置、点、または焦点に関するパースペクティブまたはビューパースペクティブに基づいた情報を含み得る。パースペクティブまたはビューパースペクティブに基づいた情報は、現在の配向またはデフォルト（たとえば初期化）配向に基づき得る。デフォルト配向は、たとえば、３Ｄビデオについてのディレクターズカットであり得る。
【００３３】
ステップＳ３１０で、少なくとも１つの好ましいビューパースペクティブが判断される。たとえば、データストア（たとえばビューパースペクティブデータストア８１５）が、ビューパースペクティブに関連付けられた情報に基づいてクエリまたはフィルタされ得る。データストアは、ビューパースペクティブの球状ビデオ上の緯度および経度位置に基づいてクエリまたはフィルタされてもよい。例示的な実現化例では、少なくとも１つの好ましいビューパースペクティブは、これまでのビューパースペクティブに基づき得る。そのため、データストアは、これまでのビューパースペクティブを含むデータテーブルを含み得る。ビューパースペクティブが何回要求されたかによって、好みが表示され得る。したがって、クエリまたはフィルタは、しきい値カウンタ値未満の結果を取り除くことを含み得る。言い換えれば、これまでのビューパースペクティブを含むデータテーブルのクエリのために設定されたパラメータは、カウンタまたはランキングについての値を含み得る。ここで、クエリの結果は、カウンタについてのしきい値より上でなければならない。これまでのビューパースペクティブを含むデータテーブルのクエリの結果は、少なくとも１つの好ましいビューパースペクティブとして設定され得る。
【００３４】
加えて、デフォルトの好ましいビューパースペクティブ（または複数の当該ビューパースペクティブ）が、３Ｄビデオに関連付けられ得る。デフォルトの好ましいビューパースペクティブは、ディレクターズカット、関心点（たとえば、地平線、移動物体、優先物体）などであり得る。たとえば、あるゲームの目的は、物体（たとえば、ビルまたは車両）を破壊することである場合がある。この物体は、優先物体とラベル付けされてもよい。優先物体を含むビューパースペクティブは、好ましいビューパースペクティブとして表示され得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブに加えて、またはこれまでのビューパースペクティブに代えて含まれ得る。デフォルト配向はたとえば、（たとえばビデオが最初にアップロードされた場合はこれまでのデータがないため）たとえば自動コンピュータビジョンアルゴリズムに基づいた最初の一組の好ましいビューパースペクティブであり得る。ビジョンアルゴリズムは、動きまたは複雑な詳細、または何がおもしろそうか推測するための近くのステレオ物体、および／または、他のこれまでのビデオの好ましいビューに存在していた特徴を有する、ビデオの好ましいビューパースペクティブ部分を判断してもよい。
【００３５】
少なくとも１つの好ましいビューパースペクティブを判断する際に、他の要因を使用することができる。たとえば、少なくとも１つの好ましいビューパースペクティブは、現在のビューパースペクティブの範囲内にある（たとえば、現在のビューパースペクティブに接近した）これまでのビューパースペクティブであり得る。たとえば、少なくとも１つの好ましいビューパースペクティブは、現在のユーザの、または現在のユーザが属するグループ（タイプまたはカテゴリー）のこれまでのビューパースペクティブの範囲内にある（たとえば、当該ビューパースペクティブに接近した）これまでのビューパースペクティブであり得る。言い換えれば、少なくとも１つの好ましいビューパースペクティブは、格納されたこれまでのビューパースペクティブと距離が近い、および／または時間が近いビューパースペクティブ（またはタイル）を含み得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブを含むデータストア８１５に、または図示されない別個の（たとえば追加の）データストアに格納され得る。
【００３６】
ステップＳ３１５で、３Ｄビデオは、少なくとも１つの好ましいビューパースペクティブに基づいた少なくとも１つの符号化パラメータを用いて符号化される。たとえば、３Ｄビデオ（またはその一部）は、少なくとも１つの好ましいビューパースペクティブを含む部分が３Ｄビデオの残りとは異なるように符号化されるように、符号化され得る。そのため、少なくとも１つの好ましいビューパースペクティブを含む部分は、３Ｄビデオの残りに比べてより高いＱｏＳで符号化され得る。その結果、ＨＭＤ上でレンダリングされる場合、少なくとも１つの好ましいビューパースペクティブを含む部分は、３Ｄビデオの残りに比べてより高い解像度を有し得る。
【００３７】
ステップＳ３２０で、符号化された３Ｄビデオはストリーミングされる。たとえば、タイルが、送信用パケットに含まれてもよい。パケットは、圧縮されたビデオビット１０Ａを含んでいてもよい。パケットは、球状ビデオフレームの符号化された２Ｄ表現と、符号化されたタイル（または複数のタイル）とを含んでいてもよい。パケットは、送信用ヘッダを含んでいてもよい。ヘッダは、とりわけ、エンコーダによるフレーム内符号化におけるモードまたはスキーム使用を示す情報を含んでいてもよい。ヘッダは、球状ビデオフレームのフレームを２Ｄ矩形表現に変換するために使用されるパラメータを示す情報を含んでいてもよい。ヘッダは、符号化された２Ｄ矩形表現の、および符号化されたタイルのＱｏＳを獲得するために使用されるパラメータを示す情報を含んでいてもよい。上述のように、少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルのＱｏＳは、少なくとも１つの好ましいビューパースペクティブに関連付けられていないタイルに比べ、異なっていてもよい（たとえば、より高くてもよい）。
【００３８】
３Ｄビデオをストリーミングすることは、優先段階の使用を通して実現され得る。たとえば、第１の優先段階では、低い（または最低基準の）ＱｏＳで符号化されたビデオデータがストリーミングされ得る。これにより、ＨＭＤのユーザは、バーチャルリアリティ体験を開始できるようになる。次に、より高いＱｏＳのビデオがＨＭＤにストリーミングされ、（たとえば、バッファ８３０に格納されたデータ）以前にストリーミングされた低い（または最低基準）のＱｏＳで符号化されたビデオデータを置き換えることができる。一例として、第２の段階では、現在のビューパースペクティブに基づいて、より高い品質のビデオまたは画像データがストリーミングされ得る。次の段階では、１つ以上の好ましいビューパースペクティブに基づいて、より高いＱｏＳのビデオまたは画像データがストリーミングされ得る。これは、ＨＭＤバッファが実質的に高ＱｏＳビデオまたは画像データのみを含むようになるまで続き得る。加えて、この段階的なストリーミングは、ＱｏＳが次第により高くなるビデオまたは画像データを用いてループし得る。言い換えれば、第１の繰返しの後で、ＨＭＤは第１のＱｏＳで符号化されたビデオまたは画像データを含み、第２の繰返しの後で、ＨＭＤは第２のＱｏＳで符号化されたビデオまたは画像データを含み、第３の繰返しの後で、ＨＭＤは第３のＱｏＳで符号化されたビデオまたは画像データを含む、というふうになっている。例示的な実現化例では、第２のＱｏＳは第１のＱｏＳよりも高く、第３のＱｏＳは第２のＱｏＳよりも高い、というふうになっている。
【００３９】
エンコーダ６２５は、球状ビデオをストリーミング用に利用可能にするためのセットアップ手順の一環として、オフラインで動作してもよい。複数のタイルの各々は、ビューフレームストレージ７９５に格納されてもよい。複数のタイルの各々は、複数のタイルの各々がフレームを参照して（たとえば時間依存性）、およびビューを参照して（たとえばビュー依存性）格納され得るように、索引付けされてもよい。したがって、複数のタイルの各々は、時間およびビュー、パースペクティブ、またはビューパースペクティブに依存しており、時間依存性およびビュー依存性に基づいて呼び戻され得る。
【００４０】
そのため、例示的な実現化例では、エンコーダ６２５は、フレームが選択され、そのフレームの一部がビューパースペクティブに基づいてタイルとして選択されるループを実行するように構成されてもよい。タイルは次に符号化され、格納される。ループは、複数のビューパースペクティブを通して循環し続ける。たとえば球状画像の垂直線を中心に５度ずつ、および水平線を中心に５度ずつの所望数のビューパースペクティブがタイルとして保存される場合、新しいフレームが選択され、プロセスは、球状ビデオのすべてのフレームがそれらのために保存された所望数のタイルを有するようになるまで繰り返す。例示的な実施形態では、少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルは、少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルではないタイルに比べ、より高いＱｏＳで符号化され得る。これは、タイルを符号化し、保存するための１つの例示的な実現化例に過ぎない。
【００４１】
図４は、符号化された３Ｄビデオを格納するための方法を示す。図４は、将来のストリーミングのために、ストリーミング３Ｄビデオが前もって符号化され、格納されるシナリオを説明する。図４に示すように、ステップＳ４０５で、３Ｄビデオについての少なくとも１つの好ましいビューパースペクティブが判断される。たとえば、データストア（たとえばビューパースペクティブデータストア８１５）が、ビューパースペクティブに関連付けられた情報に基づいてクエリまたはフィルタされ得る。データストアは、ビューパースペクティブの球状ビデオ上の緯度および経度位置に基づいてクエリまたはフィルタされてもよい。例示的な実現化例では、少なくとも１つの好ましいビューパースペクティブは、これまでのビューパースペクティブに基づき得る。そのため、データテーブルは、これまでのビューパースペクティブを含む。ビューパースペクティブが何回要求されたかによって、好みが表示され得る。したがって、クエリまたはフィルタは、しきい値カウンタ値未満の結果を取り除くことを含み得る。言い換えれば、これまでのビューパースペクティブを含むデータテーブルのクエリのために設定されたパラメータは、カウンタについての値を含み得る。ここで、クエリの結果は、カウンタについてのしきい値より上でなければならない。これまでのビューパースペクティブを含むデータテーブルのクエリの結果は、少なくとも１つの好ましいビューパースペクティブとして設定され得る。
【００４２】
加えて、デフォルトの好ましいビューパースペクティブ（または複数の当該ビューパースペクティブ）が、３Ｄビデオに関連付けられ得る。デフォルトの好ましいビューパースペクティブは、ディレクターズカット、関心点（たとえば、地平線、移動物体、優先物体）などであり得る。たとえば、あるゲームの目的は、物体（たとえば、ビルまたは車両）を破壊することである場合がある。この物体は、優先物体とラベル付けされてもよい。優先物体を含むビューパースペクティブは、好ましいビューパースペクティブとして表示され得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブに加えて、またはこれまでのビューパースペクティブに代えて含まれ得る。少なくとも１つの好ましいビューパースペクティブを判断する際に、他の要因を使用することができる。たとえば、少なくとも１つの好ましいビューパースペクティブは、現在のビューパースペクティブの範囲内にある（たとえば、現在のビューパースペクティブに接近した）これまでのビューパースペクティブであり得る。たとえば、少なくとも１つの好ましいビューパースペクティブは、現在のユーザの、または現在のユーザが属するグループ（タイプまたはカテゴリー）のこれまでのビューパースペクティブの範囲内にある（たとえば、当該ビューパースペクティブに接近した）これまでのビューパースペクティブであり得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブを含むデータストアに、または別個の（たとえば追加の）データテーブルに格納され得る。
【００４３】
ステップＳ４１０で、３Ｄビデオは、少なくとも１つの好ましいビューパースペクティブに基づいた少なくとも１つの符号化パラメータを用いて符号化される。たとえば、３Ｄビデオのフレームが選択され、そのフレームの一部がビューパースペクティブに基づいてタイルとして選択され得る。タイルは次に符号化される。例示的な実施形態では、少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルは、より高いＱｏＳで符号化され得る。少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルは、３Ｄビデオの残りに関連付けられたタイルに比べ、より高いＱｏＳで符号化され得る。
【００４４】
代替的な実現化例（および／または追加の実現化例）では、エンコーダは、少なくとも１つの好ましいビューパースペクティブに関連付けられたタイルを、３Ｄビデオフレームの残りの２Ｄ表現を生成するために使用されるものとは異なる投影手法またはアルゴリズムを使用して投影することができる。投影によっては、フレームのあるエリアに歪みを有する場合がある。したがって、タイルを球状フレームとは異なるように投影することは、最終画像の品質を向上させること、および／または、画素をより効率的に使用することができる。１つの例示的な実現化例では、投影アルゴリズムに基づいて歪みが最小となる位置にタイルを向けるために、タイルを投影する前に球状画像を回転させることができる。別の例示的な実現化例では、タイルは、タイルの位置に基づいた投影アルゴリズムを使用する（および／または修正する）ことができる。たとえば、球状ビデオフレームを２Ｄ表現に投影することは正距円筒投影を使用でき、一方、球状ビデオフレームをタイルとして選択されるべき部分を含む表現に投影することは立方体投影を使用できる。
【００４５】
ステップＳ４１５で、符号化された３Ｄビデオは格納される。たとえば、複数のタイルの各々は、ビューフレームストレージ７９５に格納されてもよい。３Ｄビデオに関連付けられた複数のタイルの各々は、複数のタイルの各々がフレームを参照して（たとえば時間依存性）、およびビューを参照して（たとえばビュー依存性）格納され得るように、索引付けされてもよい。したがって、複数のタイルの各々は、時間およびビュー、パースペクティブ、またはビューパースペクティブに依存しており、時間依存性およびビュー依存性に基づいて呼び戻され得る。
【００４６】
例示的な実現化例では、３Ｄビデオ（たとえば、それに関連付けられたタイル）は、可変符号化パラメータを用いて符号化され、格納されてもよい。したがって、３Ｄビデオは、異なる符号化状態で格納されてもよい。これらの状態は、ＱｏＳに基づいて変わってもよい。たとえば、３Ｄビデオは、同じＱｏＳで各々符号化された複数のタイルとして格納されてもよい。たとえば、３Ｄビデオは、異なるＱｏＳで各々符号化された複数のタイルとして格納されてもよい。たとえば、３Ｄビデオは、符号化された少なくとも１つの好ましいビューパースペクティブに基づいたＱｏＳで一部が符号化された複数のタイルとして格納されてもよい。
【００４７】
図５は、３Ｄビデオについての好ましいビューパースペクティブを判断するための方法を示す。３Ｄビデオについての好ましいビューパースペクティブは、３Ｄビデオのこれまでの視聴に基づいた好ましいビューパースペクティブに加わるものであってもよい。図６に示すように、ステップＳ５０５で、少なくとも１つのデフォルトビューパースペクティブが判断される。たとえば、デフォルトの好ましいビューパースペクティブは、データストア（たとえばビューパースペクティブデータストア８１５）に含まれるデータテーブルに格納され得る。データストアは、３Ｄビデオについてのデフォルト表示に基づいてクエリまたはフィルタされ得る。クエリまたはフィルタが結果を返す場合、３Ｄビデオは、関連付けられたデフォルトビューパースペクティブを有する。結果を返さない場合、３Ｄビデオは、関連付けられたデフォルトビューパースペクティブを有していない。デフォルトの好ましいビューパースペクティブは、ディレクターズカット、関心点（たとえば、地平線、移動物体、優先物体）などであり得る。たとえば、あるゲームの目的は、物体（たとえば、ビルまたは車両）を破壊することである場合がある。この物体は、優先物体とラベル付けされてもよい。優先物体を含むビューパースペクティブは、好ましいビューパースペクティブとして表示され得る。
【００４８】
ステップＳ５１０で、ユーザの特性／好み／カテゴリーに基づいた少なくとも１つのビューパースペクティブが判断される。たとえば、ＨＭＤのユーザは、ＨＭＤの以前の使用に基づいた特性を有していてもよい。これらの特性は、統計的な視聴の好み（たとえば、遠くにある物体ではなく、すぐ近くの物体を見る方を好むこと）に基づいていてもよい。たとえば、ＨＭＤのユーザは、ＨＭＤに関連付けられたユーザの好みを格納していてもよい。これらの好みは、セットアッププロセスの一環として、ユーザによって選択されてもよい。好みは、一般的なもの（たとえば、動きに引き寄せられること）であってもよく、または、ビデオ特有のもの（たとえば、音楽演奏でギタリストに注目しがちなこと）であってもよい。たとえば、ＨＭＤのユーザは、あるグループまたはカテゴリー（たとえば、１５〜２２才の男性）に属してもよい。たとえば、ユーザの特性／好み／カテゴリーは、データストア（たとえばビューパースペクティブデータストア８１５）に含まれたデータテーブルに格納され得る。データストアは、３Ｄビデオについてのデフォルト表示に基づいてクエリまたはフィルタされ得る。クエリまたはフィルタが結果を返す場合、３Ｄビデオは、ユーザについての関連付けられた特性／好み／カテゴリーに基づいた、少なくとも１つの関連付けられた好ましいビューパースペクティブを有する。結果を返さない場合、３Ｄビデオは、ユーザに基づいた、関連付けられたビューパースペクティブを有していない。
【００４９】
ステップＳ５１５で、関心領域に基づいた少なくとも１つのビューパースペクティブが判断される。たとえば、関心領域は、現在のビューパースペクティブであってもよい。たとえば、少なくとも１つの好ましいビューパースペクティブは、現在のビューパースペクティブの範囲内にある（たとえば、現在のビューパースペクティブに接近した）これまでのビューパースペクティブであり得る。たとえば、少なくとも１つの好ましいビューパースペクティブは、現在のユーザの、または現在のユーザが属するグループ（タイプまたはカテゴリー）のこれまでのビューパースペクティブの範囲内にある（たとえば、当該ビューパースペクティブに接近した）これまでのビューパースペクティブであり得る。
【００５０】
ステップＳ５２０で、少なくとも１つのシステム特性に基づいた少なくとも１つのビューパースペクティブが判断される。たとえば、ＨＭＤは、ユーザ体験を強化し得る特徴を有していてもよい。１つの特徴は、強化された音声であってもよい。したがって、バーチャルリアリティ環境で、ユーザは特定の音に引き付けられるかもしれない（たとえば、ゲームユーザは爆発音に引き付けられるかもしれない）。好ましいビューパースペクティブは、これらの可聴キューを含むビューパースペクティブに基づいていてもよい。ステップＳ５２５で、前述のビューパースペクティブ判断の各々、および／または、それらの組合せ／サブ組合せに基づいた、３Ｄビデオについての少なくとも１つの好ましいビューパースペクティブが判断される。たとえば、少なくとも１つの好ましいビューパースペクティブは、前述のクエリの結果を合併または結合することによって生成されてもよい。
【００５１】
図６Ａの例において、ビデオエンコーダシステム６００は、少なくとも１つのコンピューティングデバイスであってもよく、または少なくとも１つのコンピューティングデバイスを含んでいてもよく、ここに説明される方法を行なうように構成された事実上あらゆるコンピューティングデバイスを表わし得る。そのため、ビデオエンコーダシステム６００は、ここに説明される手法、もしくはその異なるバージョンまたは将来のバージョンを実現するために利用され得るさまざまなコンポーネントを含み得る。例として、ビデオエンコーダシステム６００は、少なくとも１つのプロセッサ６０５と、少なくとも１つのメモリ６１０（たとえば、非一時的なコンピュータ読取可能記憶媒体）とを含むとして図示される。
【００５２】
図６Ａは、少なくとも１つの例示的な実施形態に従ったビデオエンコーダシステムを示す。図６Ａに示すように、ビデオエンコーダシステム６００は、少なくとも１つのプロセッサ６０５と、少なくとも１つのメモリ６１０と、コントローラ６２０と、ビデオエンコーダ６２５とを含む。少なくとも１つのプロセッサ６０５、少なくとも１つのメモリ６１０、コントローラ６２０、およびビデオエンコーダ６２５は、バス６１５を介して通信可能に結合される。
【００５３】
少なくとも１つのプロセッサ６０５は、少なくとも１つのメモリ６１０上に格納された命令を実行するために利用されてもよく、それにより、ここに説明されるさまざまな特徴および機能、もしくは追加のまたは代替的な特徴および機能を実現する。少なくとも１つのプロセッサ６０５および少なくとも１つのメモリ６１０は、さまざまな他の目的のために利用されてもよい。特に、少なくとも１つのメモリ６１０は、ここに説明されるモジュールのうちのいずれか１つを実現するために使用され得るさまざまなタイプのメモリならびに関連するハードウェアおよびソフトウェアの一例を表わし得る。
【００５４】
少なくとも１つのメモリ６１０は、ビデオエンコーダシステム６００に関連付けられたデータおよび／または情報を格納するように構成されてもよい。たとえば、少なくとも１つのメモリ６１０は、球状ビデオを符号化することに関連付けられたコーデックを格納するように構成されてもよい。たとえば、少なくとも１つのメモリは、球状ビデオのフレームの一部を、球状ビデオの符号化とは別に符号化されるべきタイルとして選択することに関連付けられた符号を格納するように構成されてもよい。少なくとも１つのメモリ６１０は、共有リソースであってもよい。以下により詳細に説明されるように、タイルは、球状ビューア（たとえばＨＭＤ）の再生中に視聴者のビューパースペクティブに基づいて選択された複数の画素であってもよい。複数の画素は、ユーザによって見られ得る球状画像の一部を含み得る、ブロック、複数のブロック、またはマクロブロックであってもよい。たとえば、ビデオエンコーダシステム６００は、より大型のシステム（たとえば、サーバ、パーソナルコンピュータ、モバイルデバイスなど）の要素であってもよい。したがって、少なくとも１つのメモリ６１０は、より大型のシステム内の他の要素（たとえば、画像／ビデオ供給、ウェブブラウジング、または有線／無線通信）に関連付けられたデータおよび／または情報を格納するように構成されてもよい。
【００５５】
コントローラ６２０は、さまざまな制御信号を生成し、ビデオエンコーダシステム６００におけるさまざまなブロックに当該制御信号を通信するように構成されてもよい。コントローラ６２０は、以下に説明される手法を実現するために当該制御信号を生成するように構成されてもよい。コントローラ６２０は、例示的な実施形態によれば、画像、画像のシーケンス、ビデオフレーム、ビデオシーケンスなどを符号化するようビデオエンコーダ６２５を制御するように構成されてもよい。たとえば、コントローラ６２０は、球状ビデオを符号化するためのパラメータに対応する制御信号を生成してもよい。ビデオエンコーダ６２５およびコントローラ６２０の機能および動作に関するさらなる詳細が、少なくとも図７Ａ、図４Ａ、図５Ａ、図５Ｂおよび図６〜９に関連して以下に説明される。
【００５６】
ビデオエンコーダ６２５は、ビデオストリーム入力５を受信し、圧縮された（たとえば符号化された）ビデオビット１０を出力するように構成されてもよい。ビデオエンコーダ６２５は、ビデオストリーム入力５を離散ビデオフレームに変換してもよい。ビデオストリーム入力５はまた、画像であってもよく、したがって、圧縮された（たとえば符号化された）ビデオビット１０も、圧縮された画像ビットであってもよい。ビデオエンコーダ６２５はさらに、各離散ビデオフレーム（または画像）をブロックのマトリックス（以下、ブロックと称される）に変換してもよい。たとえば、ビデオフレーム（または画像）は、各々が多数の画素を有するブロックの１６×１６、１６×８、８×８、８×４、４×４、４×２、２×２などのマトリックスに変換されてもよい。これらの例示的なマトリックスが列挙されているが、例示的な実施形態はそれらに限定されない。
【００５７】
圧縮されたビデオビット１０は、ビデオエンコーダシステム６００の出力を表わしていてもよい。たとえば、圧縮されたビデオビット１０は、符号化されたビデオフレーム（または符号化された画像）を表わしていてもよい。たとえば、圧縮されたビデオビット１０は、受信デバイス（図示せず）への送信の準備ができていてもよい。たとえば、ビデオビットは、受信デバイスへの送信のためにシステムトランシーバ（図示せず）に送信されてもよい。
【００５８】
少なくとも１つのプロセッサ６０５は、コントローラ６２０および／またはビデオエンコーダ６２５に関連付けられたコンピュータ命令を実行するように構成されてもよい。少なくとも１つのプロセッサ６０５は、共有リソースであってもよい。たとえば、ビデオエンコーダシステム６００は、より大型のシステム（たとえばモバイルデバイス）の要素であってもよい。したがって、少なくとも１つのプロセッサ６０５は、より大型のシステム内の他の要素（たとえば、画像／ビデオ供給、ウェブブラウジング、または有線／無線通信）に関連付けられたコンピュータ命令を実行するように構成されてもよい。
【００５９】
図６Ｂの例において、ビデオデコーダシステム６５０は、少なくとも１つのコンピューティングデバイスであってもよく、ここに説明される方法を行なうように構成された事実上あらゆるコンピューティングデバイスを表わし得る。そのため、ビデオデコーダシステム６５０は、ここに説明される手法、もしくはその異なるバージョンまたは将来のバージョンを実現するために利用され得るさまざまなコンポーネントを含み得る。例として、ビデオデコーダシステム６５０は、少なくとも１つのプロセッサ６５５と、少なくとも１つのメモリ６６０（たとえば、コンピュータ読取可能記憶媒体）とを含むとして図示される。
【００６０】
このため、少なくとも１つのプロセッサ６５５は、少なくとも１つのメモリ６６０上に格納された命令を実行するために利用されてもよく、それにより、ここに説明されるさまざまな特徴および機能、もしくは追加のまたは代替的な特徴および機能を実現する。少なくとも１つのプロセッサ６５５および少なくとも１つのメモリ６６０は、さまざまな他の目的のために利用されてもよい。特に、少なくとも１つのメモリ６６０は、ここに説明されるモジュールのうちのいずれか１つを実現するために使用され得るさまざまなタイプのメモリならびに関連するハードウェアおよびソフトウェアの一例を表わし得る。例示的な実施形態によれば、ビデオエンコーダシステム６００およびビデオデコーダシステム６５０は、同じより大型のシステム（たとえば、パーソナルコンピュータ、モバイルデバイスなど）に含まれていてもよい。例示的な実施形態によれば、ビデオデコーダシステム６５０は、ビデオエンコーダシステム６００に関して説明されたものとは逆または反対の手法を実現するように構成されてもよい。
【００６１】
少なくとも１つのメモリ６６０は、ビデオデコーダシステム６５０に関連付けられたデータおよび／または情報を格納するように構成されてもよい。たとえば、少なくとも１つのメモリ６１０は、符号化された球状ビデオデータを復号することに関連付けられたコーデックを格納するように構成されてもよい。たとえば、少なくとも１つのメモリは、符号化されたタイルおよび別個に符号化された球状ビデオフレームを復号することに関連付けられた符号、ならびに、復号された球状ビデオフレームにおける画素を復号されたタイルと置き換えるための符号を格納するように構成されてもよい。少なくとも１つのメモリ６６０は、共有リソースであってもよい。たとえば、ビデオデコーダシステム６５０は、より大型のシステム（たとえば、パーソナルコンピュータ、モバイルデバイスなど）の要素であってもよい。したがって、少なくとも１つのメモリ６６０は、より大型のシステム内の他の要素（たとえば、ウェブブラウジング、または無線通信）に関連付けられたデータおよび／または情報を格納するように構成されてもよい。
【００６２】
コントローラ６７０は、さまざまな制御信号を生成し、ビデオデコーダシステム６５０におけるさまざまなブロックに当該制御信号を通信するように構成されてもよい。コントローラ６７０は、以下に説明されるビデオ復号手法を実現するために当該制御信号を生成するように構成されてもよい。コントローラ６７０は、例示的な実施形態によれば、ビデオフレームを復号するようビデオデコーダ６７５を制御するように構成されてもよい。コントローラ６７０は、ビデオの復号に対応する制御信号を生成するように構成されてもよい。ビデオデコーダ６７５およびコントローラ６７０の機能および動作に関するさらなる詳細が、以下に説明される。
【００６３】
ビデオデコーダ６７５は、圧縮された（たとえば符号化された）ビデオビット１０入力を受信し、ビデオストリーム５を出力するように構成されてもよい。ビデオデコーダ６７５は、圧縮されたビデオビット１０の離散ビデオフレームをビデオストリーム５に変換してもよい。圧縮された（たとえば符号化された）ビデオビット１０はまた、圧縮された画像ビットであってもよく、したがって、ビデオストリーム５も画像であってもよい。
【００６４】
少なくとも１つのプロセッサ６５５は、コントローラ６７０および／またはビデオデコーダ６７５に関連付けられたコンピュータ命令を実行するように構成されてもよい。少なくとも１つのプロセッサ６５５は、共有リソースであってもよい。たとえば、ビデオデコーダシステム６５０は、より大型のシステム（たとえば、パーソナルコンピュータ、モバイルデバイスなど）の要素であってもよい。したがって、少なくとも１つのプロセッサ６５５は、より大型のシステム内の他の要素（たとえば、ウェブブラウジング、または無線通信）に関連付けられたコンピュータ命令を実行するように構成されてもよい。
【００６５】
図７Ａおよび図７Ｂはそれぞれ、少なくとも１つの例示的な実施形態に従った、図６Ａに示すビデオエンコーダ６２５、および図６Ｂに示すビデオデコーダ６７５についてのフロー図を示す。（上述の）ビデオエンコーダ６２５は、球状−２Ｄ表現ブロック７０５と、予測ブロック７１０と、変換ブロック７１５と、量子化ブロック７２０と、エントロピー符号化ブロック７２５と、逆量子化ブロック７３０と、逆変換ブロック７３５と、再構築ブロック７４０と、ループフィルタブロック７４５と、タイル表現ブロック７９０と、ビューフレームストレージ７９５とを含む。ビデオエンコーダ６２５の他の構造変形例が、入力ビデオストリーム５を符号化するために使用され得る。図７Ａに示すように、破線は、いくつかのブロック間の再構築経路を表わし、実線は、いくつかのブロック間の順方向経路を表わす。
【００６６】
前述のブロックの各々は、（たとえば図６Ａに示すような）ビデオエンコーダシステムに関連付けられたメモリ（たとえば少なくとも１つのメモリ６１０）に格納され、当該ビデオエンコーダシステムに関連付けられた少なくとも１つのプロセッサ（たとえば少なくとも１つのプロセッサ６０５）によって実行される、ソフトウェアコードとして実行されてもよい。しかしながら、特殊用途プロセッサとして具現化されるビデオエンコーダといった、代替的な実施形態が考えられる。たとえば、（単独の、および／または組合された）前述のブロックの各々は、特定用途向け集積回路、すなわちＡＳＩＣであってもよい。たとえば、ＡＳＩＣは、変換ブロック７１５および／または量子化ブロック７２０として構成されてもよい。
【００６７】
球状−２Ｄ表現ブロック７０５は、球状フレームまたは画像を球状フレームまたは画像の２Ｄ表現にマッピングするように構成されてもよい。たとえば、球が、別の形状（たとえば、正方形、矩形、円筒、および／または立方体）の表面上に投影されてもよい。その投影は、たとえば、正距円筒または半正距円筒であってもよい。
【００６８】
予測ブロック７１０は、ビデオフレーム整合性（たとえば、以前に符号化された画素と比べて変わっていない画素）を利用するように構成されてもよい。予測は、２つのタイプを含んでいてもよい。たとえば、予測は、フレーム内予測とフレーム間予測とを含んでいてもよい。フレーム内予測は、画像のブロックにおける画素値を、同じ画像の以前に符号化された隣接するブロックにおける基準サンプルと比べて予測することに関する。フレーム内予測では、サンプルは、予測変換コーデックの変換（たとえばエントロピー符号化ブロック７２５）およびエントロピー符号化（たとえばエントロピー符号化ブロック７２５）部分によって符号化される残差を減少させるために、同じフレーム内の再構築された画素から予測される。フレーム間予測は、画像のブロックにおける画素値を、以前に符号化された画像のデータと比べて予測することに関する。
【００６９】
変換ブロック７１５は、画素の値を空間ドメインから変換ドメインにおける変換係数に変換するように構成されてもよい。変換係数は、元のブロックと通常同じサイズである係数の２次元マトリックスに対応していてもよい。言い換えれば、元のブロックにおける画素と同じぐらい多くの変換係数が存在していてもよい。しかしながら、変換により、変換係数の一部はゼロに等しい値を有していてもよい。
【００７０】
変換ブロック７１５は、（予測ブロック７１０からの）残りを、たとえば周波数ドメインにおける変換係数に変換するように構成されてもよい。典型的には、変換は、カルフネン−ロエヴェ変換（Karhunen-Loeve Transform：ＫＬＴ）、離散コサイン変換（Discrete Cosine Transform：ＤＣＴ）、特異値分解変換（Singular Value Decomposition Transform：ＳＶＤ）、および非対称離散サイン変換（asymmetric discrete sine transform：ＡＤＳＴ）を含む。
【００７１】
量子化ブロック７２０は、各変換係数におけるデータを減少させるように構成されてもよい。量子化は、比較的大きい範囲内の値を比較的小さい範囲内の値にマッピングすることを伴ってもよく、このため、量子化された変換係数を表わすのに必要なデータの量を減少させる。量子化ブロック７２０は、変換係数を、量子化された変換係数または量子化レベルと称される離散量子値に変換してもよい。たとえば、量子化ブロック７２０は、変換係数に関連付けられたデータにゼロを加えるように構成されてもよい。たとえば、符号化規準は、スカラー量子化プロセスにおける１２８個の量子化レベルを規定してもよい。
【００７２】
量子化された変換係数は、エントロピー符号化ブロック７２５によってエントロピー符号化される。その後、エントロピー符号化された係数は、使用される予測のタイプ、運動ベクトル、および量子化器の値といった、ブロックを復号するのに必要とされる情報とともに、圧縮されたビデオビット１０として出力される。圧縮されたビデオビット１０は、ランレングス符号化（run-length encoding：ＲＬＥ）およびゼロラン符号化（zero-run coding）といったさまざまな手法を使用してフォーマットされ得る。
【００７３】
図７Ａにおける再構築経路は、ビデオエンコーダ６２５および（図７Ｂに関して以下に説明される）ビデオデコーダ６７５の双方が、同じ基準フレームを使用して、圧縮されたビデオビット１０（または圧縮された画像ビット）を復号することを保証するために存在する。当該再構築経路は、以下により詳細に説明される、復号処理中に行なわれる機能に類似する機能を行なう。当該機能は、微分残差（derivative residual）ブロック（微分残差）を作り出すために、逆量子化ブロック７３０で、量子化された変換係数を逆量子化することと、逆変換ブロック７３５で、逆量子化された変換係数を逆変換することとを含む。再構築ブロック７４０で、再構築ブロックを作り出すために、予測ブロック７１０で予測された予測ブロックは微分残差に加えられ得る。次に、ブロッキングアーティファクトなどの歪みを減少させるために、ループフィルタ７４５が再構築ブロックに適用され得る。
【００７４】
タイル表現ブロック７９０は、画像および／またはフレームを複数のタイルに変換するように構成され得る。１つのタイルは、画素のグループ化であり得る。タイルは、ビューまたはビューパースペクティブに基づいて選択された複数の画素であってもよい。複数の画素は、ユーザによって見られ得る（または見られることが予測される）球状画像の一部を含み得る、ブロック、複数のブロック、またはマクロブロックであってもよい。タイルとしての球状画像の一部は、長さと幅とを有していてもよい。球状画像の一部は、２次元、または実質的に２次元であってもよい。タイルは、可変サイズ（たとえば、タイルは球の何割をカバーするか）を有し得る。たとえば、タイルのサイズは、たとえば、視聴者の視野がどれくらい広いか、別のタイルへの近接性、および／または、ユーザがどれくらい速く自分の頭を回転させているかに基づいて、符号化され、ストリーミングされ得る。たとえば、視聴者が絶えず見回している場合、より大きく、より低品質のタイルが選択されるかもしれない。しかしながら、視聴者が１つのパースペクティブに注目している場合、より小さく、より詳細なタイルが選択されるかもしれない。
【００７５】
一実現化例では、タイル表現ブロック７９０は、球状−２Ｄ表現ブロック７０５にタイルを生成させる、球状−２Ｄ表現ブロック７０５への命令を起動する。別の実現化例では、タイル表現ブロック７９０がタイルを生成する。いずれの実現化例でも、各タイルは次に、個々に符号化される。さらに別の実現化例では、タイル表現ブロック７９０は、ビューフレームストレージ７９５に、符号化された画像および／またはビデオフレームをタイルとして格納させる、ビューフレームストレージ７９５への命令を起動する。タイル表現ブロック７９０は、ビューフレームストレージ７９５に、タイルについての情報またはメタデータとともにタイルを格納させる、ビューフレームストレージ７９５への命令を起動できる。たとえば、タイルについての情報またはメタデータは、画像またはフレーム内のタイル位置の表示、タイルの符号化に関連付けられた情報（たとえば、解像度、帯域幅、および／または３Ｄ−２Ｄ投影アルゴリズム）、１つ以上の関心領域との関連付けなどを含んでいてもよい。
【００７６】
例示的な実現化例によれば、エンコーダ６２５は、フレーム、フレームの一部、および／またはタイルを、異なる品質（またはＱｏＳ（Quality of Service））で符号化してもよい。例示的な実施形態によれば、エンコーダ６２５は、フレーム、フレームの一部、および／またはタイルを複数回、各々異なるＱｏＳで符号化してもよい。したがって、ビューフレームストレージ７９５は、画像またはフレーム内の同じ位置を表わすフレーム、フレームの一部、および／またはタイルを、異なるＱｏＳで格納できる。そのため、タイルについての前述の情報またはメタデータは、フレーム、フレームの一部、および／またはタイルが符号化された際のＱｏＳの表示を含んでいてもよい。
【００７７】
ＱｏＳは、圧縮アルゴリズム、解像度、伝送速度、および／または符号化スキームに基づき得る。したがって、エンコーダ６２５は、フレーム、フレームの一部、および／またはタイルごとに、異なる圧縮アルゴリズムおよび／または符号化スキームを使用してもよい。たとえば、符号化されたタイルは、エンコーダ６２５によって符号化された（タイルに関連付けられたた）フレームに比べ、より高いＱｏＳであってもよい。上述のように、エンコーダ６２５は、球状ビデオフレームの２Ｄ表現を符号化するように構成されてもよい。したがって、（球状ビデオフレームの一部を含む可視パースペクティブとしての）タイルは、球状ビデオフレームの２Ｄ表現に比べ、より高いＱｏＳで符号化され得る。ＱｏＳは、復号された場合にフレームの解像度に影響を与えるかもしれない。したがって、（球状ビデオフレームの一部を含む可視パースペクティブとしての）タイルは、タイルが、復号された場合に、球状ビデオフレームの復号された２Ｄ表現と比べて、フレームのより高い解像度を有するように、符号化され得る。タイル表現ブロック７９０は、タイルが符号化されるべきＱｏＳを示してもよい。タイル表現ブロック７９０は、フレーム、フレームの一部、および／またはタイルが関心領域であるか、関心領域内にあるか、シード領域に関連付けられているか否かなどに基づいて、ＱｏＳを選択してもよい。関心領域およびシード領域は、以下により詳細に説明される。
【００７８】
図７Ａに関して上述されたビデオエンコーダ６２５は、図示されたブロックを含む。しかしながら、例示的な実施形態はそれらに限定されない。使用される異なるビデオ符号化構成および／または手法に基づいて、追加のブロックが追加されてもよい。また、図７Ａに関して上述されたビデオエンコーダ６２５に示されるブロックの各々は、使用される異なるビデオ符号化構成および/または手法に基づくオプションのブロックであってもよい。
【００７９】
図７Ｂは、圧縮されたビデオビット１０（または圧縮された画像ビット）を復号するように構成されたデコーダ６７５の概略ブロック図である。デコーダ６７５は、前述のエンコーダ６２５の再構築経路に類似して、エントロピー復号ブロック７５０と、逆量子化ブロック７５５と、逆変換ブロック７６０と、再構築ブロック７６５と、ループフィルタブロック７７０と、予測ブロック７７５と、ブロック解除フィルタブロック７８０と、２Ｄ表現−球状ブロック７８５とを含む。
【００８０】
圧縮されたビデオビット１０内のデータ要素は、一組の量子化された変換係数を生成するために、（たとえば、コンテキスト適応型二値算術復号方式（Context Adaptive Binary Arithmetic Decoding）を使用して）エントロピー復号ブロック７５０によって復号され得る。逆量子化ブロック７５５は、量子化された変換係数を逆量子化し、逆変換ブロック７６０は、逆量子化された変換係数を（ＡＤＳＴを使用して）逆変換して、エンコーダ６２５における再構築段階によって作り出されたものと同一であり得る微分残差を作り出す。
【００８１】
圧縮されたビデオビット１０から復号されたヘッダ情報を使用して、デコーダ６７５は、エンコーダ６７５において作り出されたのと同じ予測ブロックを作り出すために、予測ブロック７７５を使用することができる。予測ブロックは、再構築ブロック７６５によって再構築ブロックを作り出すために、微分残差に加えられ得る。ブロッキングアーティファクトを減少させるために、ループフィルタブロック７７０が再構築ブロックに適用され得る。ブロッキング歪みを減少させるために、ブロック解除フィルタブロック７８０が再構築ブロックに適用され得る。その結果が、ビデオストリーム５として出力される。
【００８２】
２Ｄ表現−球状ブロック７８５は、球状フレームまたは画像の２Ｄ表現を球状フレームまたは画像にマッピングするように構成されてもよい。たとえば、球状フレームまたは画像の２Ｄ表現を球状フレームまたは画像にマッピングすることは、エンコーダ６２５によって行なわれる３Ｄ−２Ｄマッピングの逆であり得る。
【００８３】
図７Ｂに関して上述されたビデオデコーダ６７５は、図示されたブロックを含む。しかしながら、例示的な実施形態はそれらに限定されない。使用される異なるビデオ符号化構成および／または手法に基づいて、追加のブロックが追加されてもよい。また、図７Ｂに関して上述されたビデオデコーダ６７５に示されるブロックの各々は、使用される異なるビデオ符号化構成および/または手法に基づくオプションのブロックであってもよい。
【００８４】
エンコーダ６２５およびデコーダ６７５はそれぞれ、球状ビデオおよび／または画像を符号化するように、ならびに球状ビデオおよび／または画像を復号するように構成されてもよい。球状画像は、球状に組織化された複数の画素を含む画像である。言い換えれば、球状画像は、全方向に連続している画像である。したがって、球状画像の視聴者は、任意の方向（たとえば、上方向、下方向、左方向、右方向、またはそれらの任意の組合せ）に位置または向きを変える（たとえば、自分の頭または目を動かす）ことができ、画像の一部を連続的に見ることができる。
【００８５】
例示的な実現化例では、エンコーダ６２５において使用され、および／またはエンコーダ６２５によって判断されたパラメータは、エンコーダ４０５の他の要素によって使用され得る。たとえば、２Ｄ表現を符号化するために使用される（たとえば、予測において使用されるような）運動ベクトルが、タイルを符号化するために使用されてもよい。また、予測ブロック７１０、変換ブロック７１５、量子化ブロック７２０、エントロピー符号化ブロック７２５、逆量子化ブロック７３０、逆変換ブロック７３５、再構築ブロック７４０、およびループフィルタブロック７４５において使用され、および／または当該ブロックによって判断されたパラメータは、エンコーダ６２５とエンコーダ４０５との間で共有されてもよい。
【００８６】
球状ビデオフレームまたは画像の一部は、画像として処理されてもよい。したがって、球状ビデオフレームの一部は、ブロックのＣ×Ｒマトリックス（以下、ブロックと称される）に変換（または分解）されてもよい。たとえば、球状ビデオフレームの一部は、各々が多数の画素を有するブロックの１６×１６、１６×８、８×８、８×４、４×４、４×２、２×２などのマトリックスといったＣ×Ｒマトリックスに変換されてもよい。
【００８７】
図８は、少なくとも１つの例示的な実施形態に従ったシステム８００を示す。図８に示すように、システム７００は、コントローラ６２０と、コントローラ６７０と、ビデオエンコーダ６２５と、ビューフレームストレージ７９５と、配向センサ８３５とを含む。コントローラ６２０はさらに、ビュー位置制御モジュール８０５と、タイル制御モジュール８１０と、ビューパースペクティブデータストア８１５とを含む。コントローラ６７０はさらに、ビュー位置判断モジュール８２０と、タイル要求モジュール８２５と、バッファ８３０とを含む。
【００８８】
例示的な実現化例によれば、配向センサ８３５は、視聴者の目（または頭）の配向（または配向の変化）を検出し、ビュー位置判断モジュール８２０は、検出された配向に基づいて、ビュー、パースペクティブ、またはビューパースペクティブを判断し、タイル要求モジュール８２５は、（球状ビデオに加えて）ビュー、パースペクティブ、またはビューパースペクティブを、タイルまたは複数のタイルに対する要求の一部として通信する。別の例示的な実現化例によれば、配向センサ８３５は、ＨＭＤまたはディスプレイ上でレンダリングされる際の画像パン配向（image panning orientation）に基づいて、配向（または配向の変化）を検出する。たとえば、ＨＭＤのユーザは、焦点深度を変更してもよい。言い換えれば、ＨＭＤのユーザは、配向の変化の有無にかかわらず、遠くにあった物体から近くにある物体に自分の焦点を変更してもよい（逆もまた同様）。たとえば、ユーザは、ディスプレイ上にレンダリングされる際の球状ビデオまたは画像の一部の選択、移動、ドラッグ、拡大などを行なうために、マウス、トラックパッド、または（たとえばタッチ感知ディスプレイ上での）ジェスチャを使用してもよい。
【００８９】
タイルに対する要求は、球状ビデオのフレームに対する要求とともに通信されてもよい。タイルに対する要求は、球状ビデオのフレームに対する要求とは別に、ともに通信されてもよい。たとえば、タイルに対する要求は、変更されたビュー、パースペクティブ、またはビューパースペクティブに応答してもよく、以前に要求された、および／または待ち行列に入れられたタイルを置き換える必要性をもたらす。
【００９０】
ビュー位置制御モジュール８０５は、タイルに対する要求を受信し、処理する。たとえば、ビュー位置制御モジュール８０５は、ビューに基づいて、フレームと、そのフレームにおけるタイルまたは複数のタイルの位置とを判断し得る。次に、ビュー位置制御モジュール８０５は、タイル制御モジュール８１０に、タイルまたは複数のタイルを選択するよう命令し得る。タイルまたは複数のタイルを選択することは、パラメータをビデオエンコーダ６２５へ渡すことを含み得る。パラメータは、球状ビデオおよび/またはタイルの符号化中にビデオエンコーダ６２５によって使用され得る。これに代えて、タイルまたは複数のタイルを選択することは、ビューフレームストレージ７９５からタイルまたは複数のタイルを選択することを含み得る。
【００９１】
したがって、タイル制御モジュール８１０は、球状ビデオを見ているユーザのビューまたはパースペクティブまたはビューパースペクティブに基づいてタイル（または複数のタイル）を選択するように構成されてもよい。タイルは、ビューに基づいて選択された複数の画素であってもよい。複数の画素は、ユーザによって見られ得る球状画像の一部を含み得る、ブロック、複数のブロック、またはマクロブロックであってもよい。球状画像の一部は、長さと幅とを有していてもよい。球状画像の一部は、２次元、または実質的に２次元であってもよい。タイルは、可変サイズ（たとえば、タイルは球の何割をカバーするか）を有し得る。たとえば、タイルのサイズは、たとえば、視聴者の視野がどれくらい広いか、および／または、ユーザがどれくらい速く自分の頭を回転させているかに基づいて、符号化され、ストリーミングされ得る。たとえば、視聴者が絶えず見回している場合、より大きく、より低品質のタイルが選択されるかもしれない。しかしながら、視聴者が１つのパースペクティブに注目している場合、より小さく、より詳細なタイルが選択されるかもしれない。
【００９２】
したがって、配向センサ８３５は、視聴者の目（または頭）の配向（または配向の変化）を検出するように構成され得る。たとえば、配向センサ８３５は、動きを検出するために加速度計を、および、配向を検出するためにジャイロスコープを含み得る。これに代えて、またはこれに加えて、配向センサ８３５は、視聴者の目または頭の配向を判断するために、視聴者の目または頭に焦点を合わせたカメラまたは赤外線センサを含み得る。これに代えて、またはこれに加えて、配向センサ８３５は、球状ビデオまたは画像の配向を検出するために、ディスプレイ上でレンダリングされるような球状ビデオまたは画像の一部を判断し得る。配向センサ８３５は、配向および配向変化情報をビュー位置判断モジュール８２０に通信するように構成され得る。
【００９３】
ビュー位置判断モジュール８２０は、球状ビデオに関してビューまたはパースペクティブビュー（たとえば、視聴者が現在見ている球状ビデオの一部）を判断するように構成され得る。ビュー、パースペクティブ、またはビューパースペクティブは、球状ビデオ上の位置、点、または焦点として判断され得る。たとえば、ビューは、球状ビデオ上の緯度および経度位置であってもよい。ビュー、パースペクティブ、またはビューパースペクティブは、球状ビデオに基づいて立方体の辺として判断され得る。ビュー（たとえば、緯度および経度位置、または辺）は、たとえばハイパーテキスト転送プロトコル（ＨＴＴＰ）を使用して、ビュー位置制御モジュール８０５に通信され得る。
【００９４】
ビュー位置制御モジュール８０５は、球状ビデオ内のタイルまたは複数のタイルのビュー位置（たとえば、フレーム、およびそのフレーム内での位置）を判断するように構成されてもよい。たとえば、ビュー位置制御モジュール８０５は、ビュー位置、点、または焦点（たとえば、緯度および経度位置、または辺）を中心とする矩形を選択し得る。タイル制御モジュール８１０は、当該矩形をタイルまたは複数のタイルとして選択するように構成され得る。タイル制御モジュール８１０は、（たとえば、パラメータまたは構成設定を介して）ビデオエンコーダ６２５に、選択されたタイルまたは複数のタイルを符号化するよう命令するように構成され得る。および／または、タイル制御モジュール８１０は、ビューフレームストレージ７９５からタイルまたは複数のタイルを選択するように構成され得る。
【００９５】
理解されるように、図６Ａに示すシステム６００および図６Ｂに示すシステム６５０、および／または図８に示すシステム８００は、図９に関して以下に説明される汎用コンピュータデバイス９００および／または汎用モバイルコンピュータデバイス９５０の要素および/または拡張として実現されてもよい。これに代えて、またはこれに加えて、図６Ａに示すシステム６００および図６Ｂに示すシステム６５０、および／または図８に示すシステム８００は、汎用コンピュータデバイス９００および／または汎用モバイルコンピュータデバイス９５０に関して以下に説明される特徴のうちのいくつかまたはすべてを有する、汎用コンピュータデバイス９００および／または汎用モバイルコンピュータデバイス９５０とは別個のシステムにおいて実現されてもよい。
【００９６】
図９は、ここに説明される手法を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの概略ブロック図である。図９は、ここに説明される手法を用いて使用され得る汎用コンピュータデバイス９００および汎用モバイルコンピュータデバイス９５０の一例である。コンピューティングデバイス９００は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータといった、さまざまな形態のデジタルコンピュータを表わすよう意図されている。コンピューティングデバイス９５０は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスといった、さまざまな形態のモバイルデバイスを表わすよう意図されている。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は単なる例示であることが意図されており、本文書に記載のおよび／または請求項に記載の本発明の実現化例を限定するよう意図されてはいない。
【００９７】
コンピューティングデバイス９００は、プロセッサ９０２と、メモリ９０４と、記憶装置９０６と、メモリ９０４および高速拡張ポート９１０に接続している高速インターフェイス９０８と、低速バス９１４および記憶装置９０６に接続している低速インターフェイス９１２とを含む。コンポーネント９０２、９０４、９０６、９０８、９１０、および９１２の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。プロセッサ９０２は、コンピューティングデバイス９００内で実行される命令を処理可能であり、これらの命令は、ＧＵＩのためのグラフィック情報を、高速インターフェイス９０８に結合されたディスプレイ９１６などの外部入出力デバイス上に表示するために、メモリ９０４内または記憶装置９０６上に格納された命令を含む。他の実現化例では、複数のプロセッサおよび／または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。また、複数のコンピューティングデバイス９００が接続されてもよく、各デバイスは（たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）必要な動作の部分を提供する。
【００９８】
メモリ９０４は、情報をコンピューティングデバイス９００内に格納する。一実現化例では、メモリ９０４は１つまたは複数の揮発性メモリユニットである。別の実現化例では、メモリ９０４は１つまたは複数の不揮発性メモリユニットである。メモリ９０４はまた、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
【００９９】
記憶装置９０６は、コンピューティングデバイス９００のための大容量記憶を提供可能である。一実現化例では、記憶装置９０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、もしくは、ストレージエリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラム製品が情報担体において有形に具現化され得る。コンピュータプログラム製品はまた、実行されると上述のような１つ以上の方法を行なう命令を含んでいてもよい。情報担体は、メモリ９０４、記憶装置９０６、またはプロセッサ９０２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
【０１００】
高速コントローラ９０８はコンピューティングデバイス９００のための帯域幅集約的な動作を管理し、一方、低速コントローラ９１２はより低い帯域幅集約的な動作を管理する。機能のそのような割当ては例示に過ぎない。一実現化例では、高速コントローラ９０８は、メモリ９０４、ディスプレイ９１６に（たとえば、グラフィックスプロセッサまたはアクセラレータを介して）、および、さまざまな拡張カード（図示せず）を受付け得る高速拡張ポート９１０に結合される。この実現化例では、低速コントローラ９１２は、記憶装置９０６および低速拡張ポート９１４に結合される。さまざまな通信ポート（たとえば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの１つ以上の入出力デバイスに、もしくは、スイッチまたはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
【０１０１】
コンピューティングデバイス９００は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、標準サーバ９２０として、またはそのようなサーバのグループで複数回実現されてもよい。それはまた、ラックサーバシステム９２４の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ９２２などのパーソナルコンピュータにおいて実現されてもよい。これに代えて、コンピューティングデバイス９００からのコンポーネントは、デバイス９５０などのモバイルデバイス（図示せず）における他のコンポーネントと組合されてもよい。そのようなデバイスの各々は、コンピューティングデバイス９００、９５０のうちの１つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス９００、９５０で構成されてもよい。
【０１０２】
コンピューティングデバイス９５０は、数あるコンポーネントの中でも特に、プロセッサ９５２と、メモリ９６４と、ディスプレイ９５４などの入出力デバイスと、通信インターフェイス９６６と、トランシーバ９６８とを含む。デバイス９５０にはまた、追加の格納を提供するために、マイクロドライブまたは他のデバイスなどの記憶装置が設けられてもよい。コンポーネント９５０、９５２、９６４、９５４、９６６、および９６８の各々は、さまざまなバスを使用して相互接続されており、当該コンポーネントのうちのいくつかは、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。
【０１０３】
プロセッサ９５２は、メモリ９６４に格納された命令を含む、コンピューティングデバイス９５０内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス９５０が実行するアプリケーション、およびデバイス９５０による無線通信の制御といった、デバイス９５０の他のコンポーネント同士の連携を提供してもよい。
【０１０４】
プロセッサ９５２は、ディスプレイ９５４に結合された制御インターフェイス９５８およびディスプレイインターフェイス９５６を介してユーザと通信してもよい。ディスプレイ９５４は、たとえば、ＴＦＴ  ＬＣＤ（Thin-Film-Transistor Liquid Crystal Display：薄膜トランジスタ液晶ディスプレイ）、またはＯＬＥＤ（Organic Light Emitting Diode：有機発光ダイオード）ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス９５６は、ディスプレイ９５４を駆動してグラフィカル情報および他の情報をユーザに提示するための適切な回路を含んでいてもよい。制御インターフェイス９５８は、ユーザからコマンドを受信し、それらをプロセッサ９５２に送出するために変換してもよい。加えて、デバイス９５０と他のデバイスとの近接エリア通信を可能にするように、外部インターフェイス９６２がプロセッサ９５２と通信した状態で設けられてもよい。外部インターフェイス９６２は、たとえば、ある実現化例では有線通信を提供し、他の実現化例では無線通信を提供してもよく、複数のインターフェイスも使用されてもよい。
【０１０５】
メモリ９６４は、情報をコンピューティングデバイス９５０内に格納する。メモリ９６４は、１つまたは複数のコンピュータ読取可能媒体、１つまたは複数の揮発性メモリユニット、もしくは、１つまたは複数の不揮発性メモリユニットのうちの１つ以上として実現され得る。拡張メモリ９７４も設けられ、拡張インターフェイス９７２を介してデバイス９５０に接続されてもよく、拡張インターフェイス９７２は、たとえばＳＩＭＭ（Single In Line Memory Module）カードインターフェイスを含んでいてもよい。そのような拡張メモリ９７４は、デバイス９５０に余分の格納スペースを提供してもよく、もしくは、デバイス９５０のためのアプリケーションまたは他の情報も格納してもよい。具体的には、拡張メモリ９７４は、上述のプロセスを実行または補足するための命令を含んでいてもよく、安全な情報も含んでいてもよい。このため、たとえば、拡張メモリ９７４はデバイス９５０のためのセキュリティモジュールとして設けられてもよく、デバイス９５０の安全な使用を許可する命令でプログラミングされてもよい。加えて、ハッキング不可能な態様でＳＩＭＭカード上に識別情報を載せるといったように、安全なアプリケーションが追加情報とともにＳＩＭＭカードを介して提供されてもよい。
【０１０６】
メモリはたとえば、以下に説明されるようなフラッシュメモリおよび／またはＮＶＲＡＭメモリを含んでいてもよい。一実現化例では、コンピュータプログラム製品が情報担体において有形に具現化される。コンピュータプログラム製品は、実行されると上述のような１つ以上の方法を行なう命令を含む。情報担体は、メモリ９６４、拡張メモリ９７４、またはプロセッサ９５２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、たとえばトランシーバ９６８または外部インターフェイス９６２を通して受信され得る。
【０１０７】
デバイス９５０は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス９６６を介して無線通信してもよい。通信インターフェイス９６６は、とりわけ、ＧＳＭ（登録商標）音声通話、ＳＭＳ、ＥＭＳ、またはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳといった、さまざまなモードまたはプロトコル下での通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ９６８を介して生じてもよい。加えて、ブルートゥース、Ｗｉ−Ｆｉ、または他のそのようなトランシーバ（図示せず）などを使用して、短距離通信が生じてもよい。加えて、ＧＰＳ（Global Positioning System：全地球測位システム）レシーバモジュール９７０が、追加のナビゲーション関連および位置関連無線データをデバイス９５０に提供してもよく、当該データは、デバイス９５０上で実行されるアプリケーションによって適宜使用されてもよい。
【０１０８】
デバイス９５０はまた、ユーザから口頭情報を受信してそれを使用可能なデジタル情報に変換し得る音声コーデック９６０を使用して、音声通信してもよい。音声コーデック９６０はまた、たとえばデバイス９５０のハンドセットにおいて、スピーカを介するなどして、ユーザに聞こえる音を生成してもよい。そのような音は、音声電話からの音を含んでいてもよく、録音された音（たとえば、音声メッセージ、音楽ファイルなど）を含んでいてもよく、デバイス９５０上で動作するアプリケーションが生成する音も含んでいてもよい。
【０１０９】
コンピューティングデバイス９５０は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、携帯電話９８０として実現されてもよい。それはまた、スマートフォン９８２、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【０１１０】
上述の例示的な実施形態のうちのいくつかは、フローチャートとして示されるプロセスまたは方法として説明される。これらのフローチャートは動作を逐次プロセスとして説明しているが、動作の多くは、並列、同時または一斉に行なわれてもよい。加えて、動作の順序は並び替えられてもよい。それらの動作が完了されるとプロセスは終了されてもよいが、図に含まれていない追加のステップも有していてもよい。これらのプロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応していてもよい。
【０１１１】
そのいくつかがフローチャートによって示されている、上述された方法は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実現されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードにおいて実現される場合、必要なタスクを行なうプログラムコードまたはコードセグメントは、記憶媒体などの機械読取可能媒体またはコンピュータ読取可能媒体に格納されてもよい。プロセッサが必要なタスクを行なってもよい。
【０１１２】
ここに開示された具体的な構造詳細および機能詳細は、例示的な実施形態を説明するための代表的なものに過ぎない。しかしながら、例示的な実施形態は、多くの代替的な形態で具現化され、ここに述べられた実施形態のみに限定されると解釈されるべきでない。
【０１１３】
第１、第２などといった用語は、さまざまな要素を説明するためにここに使用され得るが、これらの要素はこれらの用語によって限定されるべきでない、ということが理解されるであろう。これらの用語は、１つの要素を別の要素と区別するために使用されているに過ぎない。たとえば、例示的な実施形態の範囲から逸脱することなく、第１の要素を第２の要素と称してもよく、同様に、第２の要素を第１の要素と称してもよい。ここに使用されるように、「および／または」という用語は、関連付けられる列挙された項目の１つ以上のいずれかおよびすべての組合せを含む。
【０１１４】
ある要素が別の要素に接続または結合されると称される場合、ある要素は別の要素に直接接続または結合され得るか、または介在要素が存在し得る、ということが理解されるであろう。対照的に、ある要素が別の要素に直接接続または直接結合されると称される場合、介在要素は存在しない。要素間の関係を説明するために使用される他の文言は、類似の態様（たとえば、「間に」と「間に直接」、「隣接」と「直接隣接」など）で解釈されるべきである。
【０１１５】
ここに使用される用語は特定の実施形態を説明するためのものに過ぎず、例示的な実施形態の限定であるよう意図されてはいない。ここに使用されるように、単数形は、文脈が別の態様を明らかに示していない限り、複数形も含むよう意図される。「備える（comprises, comprising）」および／または「含む（includes, including）」という用語は、ここに使用される場合、言及された特徴、整数、ステップ、動作、要素および／またはコンポーネントの存在を特定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネントおよび／またはそれらのグループの存在または追加を排除しない、ということがさらに理解されるであろう。
【０１１６】
また、いくつかの代替的な実現化例では、言及された機能／行為が、図に示された順番とは異なって起きてもよい。たとえば、連続して示される２つの図は実際には、関与する機能性／行為に依存して、同時に実行されてもよく、または、時には逆の順序で実行されてもよい。
【０１１７】
別の態様で定義されていない限り、ここに使用されるすべての用語（技術用語および科学用語を含む）は、例示的な実施形態が属する技術の当業者によって一般に理解されているのと同じ意味を有する。さらに、たとえば一般に使用されている辞書で定義されているような用語は、関連技術の文脈におけるそれらの意味と一致する意味を有すると解釈されるべきであり、ここに明らかにそう定義されていない限り、理想化されたまたは過度に形式的な意味で解釈されない、ということが理解されるであろう。
【０１１８】
ソフトウェア、または、コンピュータメモリ内でのデータビットに対する動作のアルゴリズムおよび記号的表現に関して、上述の例示的な実施形態および対応する詳細な説明の部分が提示される。これらの説明および表現は、当業者が自分の研究の内容を他の当業者に効果的に伝えるものである。アルゴリズムとは、その用語がここに使用される場合、および一般的に使用される場合、所望の結果に至るステップの首尾一貫したシーケンスであると考えられる。これらのステップは、物理量の物理的操作を必要とするものである。必ずではないものの、通常は、これらの量は、格納、転送、組合せ、比較、および別の態様での操作が可能である光学信号、電気信号、または磁気信号の形態を取る。これらの信号をビット、値、要素、記号、文字、項、または数字などと称することは、主に一般的な使用の理由により、時に便利であることが証明されている。
【０１１９】
上述の例示的な実施形態において、プログラムモジュールまたは機能的プロセスとして実現され得る（たとえばフローチャートの形態での）行為および動作の記号的表現への参照は、特定のタスクを行ない、または特定の抽象データタイプを実現するとともに、既存の構造要素で既存のハードウェアを使用して記述および／または実現され得る、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。そのような既存のハードウェアは、１つ以上の中央処理装置（ＣＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路、または、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）コンピュータなどを含み得る。
【０１２０】
しかしながら、これらおよび同様の用語はすべて、適切な物理量に関連付けられるべきであり、これらの量に適用された便利なラベルに過ぎない、ということが念頭に置かれるべきである。特に別記されない限り、あるいは説明から明らかであるように、表示の処理、コンピューティング、計算、または判断といった用語は、コンピュータシステムのレジスタおよびメモリ内で物理的な電子量として表わされるデータを操作し、当該データを、コンピュータシステムメモリ、レジスタ、もしくは他のそのような情報記憶デバイス、送信デバイスまたは表示デバイス内の物理量として同様に表わされる他のデータに変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを指す。
【０１２１】
また、例示的な実施形態のソフトウェアによって実現される局面は典型的には、何らかの形態の非一時的なプログラム記憶媒体上で符号化されるか、または、何らかのタイプの伝送媒体上で実現される。プログラム記憶媒体は、磁気的（たとえば、フロッピーディスクまたはハードドライブ）であるか、または光学的（たとえば、コンパクトディスク読み取り専用メモリ、すなわちＣＤ  ＲＯＭ）であってもよく、読み取り専用またはランダムアクセスであってもよい。同様に、伝送媒体は、当該技術について公知であるツイストペア線、同軸ケーブル、光ファイバ、または何らかの他の好適な伝送媒体であってもよい。例示的な実施形態は、所与の実現化例のこれらの局面によって限定されない。
【０１２２】
最後に、添付の請求の範囲は、ここに説明された特徴の特定の組合せを述べているが、本開示の範囲は、請求されるその特定の組合せに限定されず、代わりに、その特定の組合せが現時点で添付の請求の範囲において具体的に列挙されているか否かに関わらず、ここに開示された特徴または実施形態の任意の組合せを包含するように広がる。
【図１Ａ】
0006672327.tif 000002
【図１Ｂ】
0006672327.tif 000003
【図２】
0006672327.tif 000004
【図３】
0006672327.tif 000005
【図４】
0006672327.tif 000006
【図５】
0006672327.tif 000007
【図６Ａ】
0006672327.tif 000008
【図６Ｂ】
0006672327.tif 000009
【図７Ａ】
0006672327.tif 000010
【図７Ｂ】
0006672327.tif 000011
【図８】
0006672327.tif 000012
【図９】
0006672327.tif 000013