JP6672327B2 - ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置 - Google Patents

ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置 Download PDF

Info

Publication number
JP6672327B2
JP6672327B2 JP2017550903A JP2017550903A JP6672327B2 JP 6672327 B2 JP6672327 B2 JP 6672327B2 JP 2017550903 A JP2017550903 A JP 2017550903A JP 2017550903 A JP2017550903 A JP 2017550903A JP 6672327 B2 JP6672327 B2 JP 6672327B2
Authority
JP
Japan
Prior art keywords
video
view perspective
quality
user
perspective
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017550903A
Other languages
English (en)
Other versions
JP2018522430A (ja
Inventor
ウィーバー,ジョシュア
ゲフィン,ノーム
ベンガリ,ハサイン
アダムス,ライリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2018522430A publication Critical patent/JP2018522430A/ja
Application granted granted Critical
Publication of JP6672327B2 publication Critical patent/JP6672327B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Processing Or Creating Images (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

関連出願との相互参照
本願は、2015年5月27日に出願された「ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置」(Method and Apparatus to Reduce Spherical Video Bandwidth to User Headset)と題された米国出願連続番号第62/167,121号の利益を主張する。当該出願は、その全体がここに引用により援用される。
分野
実施形態は、球状ビデオをストリーミングすることに関する。
背景
球状ビデオ(または他の3次元ビデオ)をストリーミングすることは、かなりの量のシステムリソースを消費する場合がある。たとえば、符号化された球状ビデオは送信用の多数のビットを含む場合があり、それらは、かなりの量の帯域幅、ならびに、エンコーダおよびデコーダに関連付けられた処理およびメモリを消費する場合がある。
概要
例示的な実施形態は、ビデオをストリーミングすること、3Dビデオをストリーミングすること、および/または球状ビデオをストリーミングすることを最適化するシステムおよび方法を説明する。
一般的な一局面では、方法は、3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップと、少なくとも1つの好ましいビューパースペクティブに対応する3Dビデオの第1の部分を第1の品質で符号化するステップと、3Dビデオの第2の部分を第2の品質で符号化するステップとを含み、第1の品質は第2の品質と比べてより高い品質である。
別の一般的な局面では、サーバおよび/またはストリーミングサーバは、3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するように構成されたコントローラと、エンコーダとを含み、エンコーダは、少なくとも1つの好ましいビューパースペクティブに対応する3Dビデオの第1の部分を第1の品質で符号化し、3Dビデオの第2の部分を第2の品質で符号化するように構成され、第1の品質は第2の品質と比べてより高い品質である。
さらに別の一般的な局面では、方法は、ストリーミングビデオに対する要求を受信するステップを含み、要求は、3次元(3D)ビデオに関連付けられたユーザビューパースペクティブの表示を含み、方法はさらに、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていると判断すると、ユーザビューパースペクティブに関連付けられたランキング値をインクリメントするステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていないと判断すると、ユーザビューパースペクティブをビューパースペクティブデータストアに追加し、ユーザビューパースペクティブに関連付けられたランキング値を1に設定するステップとを含む。
実現化例は、以下の特徴のうちの1つ以上を含み得る。たとえば、方法(または、サーバでの実現化例)は、3Dビデオの第1の部分をデータストアに格納するステップと、3Dビデオの第2の部分をデータストアに格納するステップと、ストリーミングビデオに対する要求を受信するステップと、データストアから3Dビデオの第1の部分と3Dビデオの第2の部分とをストリーミングビデオとしてストリーミングするステップとをさらに含み得る。方法(または、サーバでの実現化例)は、ストリーミングビデオに対する要求を受信するステップをさらに含み、要求は、ユーザビューパースペクティブの表示を含み、方法はさらに、ユーザビューパースペクティブに対応する3Dビデオを、3Dビデオの符号化された第1の部分として選択するステップと、3Dビデオの選択された第1の部分と3Dビデオの第2の部分とをストリーミングビデオとしてストリーミングするステップとを含み得る。
方法(または、サーバでの実現化例)は、ストリーミングビデオに対する要求を受信するステップをさらに含み、要求は、3Dビデオに関連付けられたユーザビューパースペクティブの表示を含み、方法はさらに、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていると判断すると、ユーザビューパースペクティブに関連付けられたカウンタをインクリメントするステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていないと判断すると、ユーザビューパースペクティブをビューパースペクティブデータストアに追加し、ユーザビューパースペクティブに関連付けられたカウンタを1に設定するステップとを含み得る。方法(または、サーバでの実現化例)は、3Dビデオの第2の部分を符号化するステップは、少なくとも1つの第1のQoS(Quality of Service)パラメータを第1のパス符号化動作で使用するステップを含み、3Dビデオの第1の部分を符号化するステップは、少なくとも1つの第2のQoS(Quality of Service)パラメータを第2のパス符号化動作で使用するステップを含むことを含み得る。
たとえば、3Dビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップは、これまで(historically)見られた基準点、およびこれまで見られたビューパースペクティブ、のうちの少なくとも1つに基づいている。3Dビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブは、3Dビデオの視聴者の配向、3Dビデオの視聴者の位置、3Dビデオの視聴者の点、および3Dビデオの視聴者の焦点、のうちの少なくとも1つに基づいている。3Dビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップは、デフォルトビューパースペクティブに基づいており、デフォルトビューパースペクティブは、ディスプレイデバイスのユーザの特性、ディスプレイデバイスのユーザに関連付けられたグループの特性、ディレクターズカット、および、3Dビデオの特性、のうちの少なくとも1つに基づいている。たとえば、方法(または、サーバでの実現化例)は、3Dビデオの第2の部分の少なくとも一部を第1の品質で繰り返し符号化するステップと、3Dビデオの第2の部分の少なくとも一部をストリーミングするステップとをさらに含み得る。
例示的な実施形態は、ここに以下に提供される詳細な説明、および添付図面からより十分に理解されるであろう。図中、同じ要素は同じ参照番号によって表わされ、それらは例示としてのみ与えられており、このため例示的な実施形態の限定ではない。
少なくとも1つの例示的な実施形態に従った球の2次元(2D)表現を示す図である。 2D矩形表現としての、球の2D表現の展開円筒表現を示す図である。 少なくとも1つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。 少なくとも1つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。 少なくとも1つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。 少なくとも1つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。 少なくとも1つの例示的な実施形態に従ったビデオエンコーダシステムを示す図である。 少なくとも1つの例示的な実施形態に従ったビデオデコーダシステムを示す図である。 少なくとも1つの例示的な実施形態に従ったビデオエンコーダシステムについてのフロー図を示す図である。 少なくとも1つの例示的な実施形態に従ったビデオデコーダシステムについてのフロー図を示す図である。 少なくとも1つの例示的な実施形態に従ったシステムを示す図である。 ここに説明される手法を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの概略ブロック図である。
なお、これらの図は、ある例示的な実施形態において利用される方法、構造および/または材料の一般的な特徴を示すよう意図されており、かつ、以下に提供される記載を補足するよう意図されている。しかしながら、これらの図面は縮尺通りではなく、また、任意の所与の実施形態の構造特性または性能特性そのものを正確に反映していない場合があり、例示的な実施形態が包含する特性を定義または限定していると解釈されるべきでない。たとえば、明瞭にするために、構造要素の位置付けが減少または誇張される場合がある。さまざまな図面における同様または同一の参照番号の使用は、同様または同一の要素または特徴の存在を示すよう意図される。
実施形態の詳細な説明
例示的な実施形態はさまざまな修正および代替的形態を含み得るが、それらの実施形態は例として図面に示されており、ここに詳細に説明されるであろう。しかしながら、例示的な実施形態を開示された特定の形態に限定する意図はなく、それどころか、例示的な実施形態は請求の範囲内に該当するすべての修正、均等物、および代替物を網羅することが理解されるべきである。同じ番号は、図の説明全体にわたって同じ要素を指す。
例示的な実施形態は、ビデオのストリーミング、3Dビデオのストリーミング、球状ビデオ(および/または他の3次元ビデオ)のストリーミングを、球状ビデオの(ビデオの視聴者によって)優先的に見られた部分(たとえば、ディレクターズカット、これまでの視聴(historical viewings)など)に基づいて最適化するように構成されたシステムおよび方法を説明する。たとえば、ディレクターズカットとは、ビデオの監督(ディレクター)または製作者によって選択されたようなビューパースペクティブであり得る。ディレクターズカットは、ビデオの監督または製作者がビデオを録画する際に選択され、または見られた、カメラの(複数のカメラの)ビューに基づいていてもよい。
球状ビデオ、球状ビデオのフレーム、および/または球状画像は、パースペクティブを有し得る。たとえば、球状画像は地球の画像であってもよい。内部パースペクティブは、地球の中心から外側を見るビューであってもよい。または、内部パースペクティブは、地球上で宇宙を眺めるものであってもよい。外部パースペクティブは、宇宙から地球に向かって見下ろすビューであってもよい。別の例として、パースペクティブは、可視である画像の一部に基づき得る。言い換えれば、可視パースペクティブは、視聴者が見ることができるものであり得る。可視パースペクティブは、視聴者の前にある球状画像の一部であり得る。たとえば、内部パースペクティブから見る際、視聴者は地面(たとえば地球)上に横たわり、宇宙を眺めていてもよい。視聴者は画像内で、月、太陽、または特定の星を見るかもしれない。しかしながら、視聴者が横たわっている地面は球状画像に含まれているものの、地面は現在の可視パースペクティブの外部にある。この例では、視聴者が自分の頭を回転させると、地面は周囲の可視パースペクティブに含まれるであろう。視聴者がうつぶせになると、地面は可視パースペクティブ内にあるものの、月、太陽、または星は可視パースペクティブ内にはないであろう。
外部パースペクティブからの可視パースペクティブは、(たとえば画像の別の部分によって)遮られていない球状画像の一部、および/または、見えなくなるまで湾曲していない球状画像の一部であってもよい。球状画像を動かすこと(たとえば回転させること)によって、および/または球状画像の動きによって、球状画像の別の部分が外部パースペクティブから可視パースペクティブに持ち込まれてもよいい。したがって、可視パースペクティブは、球状画像の視聴者の可視範囲内にある球状画像の一部である。
球状画像は、経時変化しない画像である。たとえば、地球に関するような内部パースペクティブからの球状画像は、月および星を1つの位置に示す場合がある。一方、球状ビデオ(または画像のシーケンス)は経時変化する場合がある。たとえば、地球に関するような内部パースペクティブからの球状ビデオは、(たとえば地球の自転のために)動く月および星、および/または、画像(たとえば空)を横切る飛行機雲を示す場合がある。
図1Aは、球の2次元(2D)表現である。図1Aに示すように、(たとえば、球状ビデオの球状画像またはフレームとしての)球100は、内部パースペクティブ105、110、外部パースペクティブ115、および可視パースペクティブ120、125、130の方向を示す。可視パースペクティブ120は、内部パースペクティブ110から見られるような球状画像の一部であってもよい。可視パースペクティブ120は、内部パースペクティブ105から見られるような球100の一部であってもよい。可視パースペクティブ125は、外部パースペクティブ115から見られるような球100の一部であってもよい。
図1Bは、2D矩形表現としての、球100の2D表現の展開円筒表現150を示す図である。展開円筒表現150として示された画像の正距円筒投影は、画像が点A、B間の中央線から垂直に(図1Bに示すように上下に)遠ざかって進むにつれて、伸張された画像として現われ得る。2D矩形表現は、N×NブロックのC×Rマトリックスとして分解され得る。たとえば、図1Bに示すように、図示された展開円筒表現150は、N×Nブロックの30×16マトリックスである。しかしながら、他のC×R次元がこの開示の範囲内にある。ブロックは、2×2、2×4、4×4、4×8、8×8、8×16、16×16などのブロック(または画素のブロック)であってもよい。
球状画像とは、全方向に連続している画像である。したがって、仮に球状画像を複数のブロックに分解した場合、複数のブロックは球状画像全体で近接しているであろう。言い換えれば、2D画像にあるようなエッジも境界もない。例示的な実現化例では、隣接端ブロックが、2D表現の境界に隣接していてもよい。加えて、隣接端ブロックは、2D表現の境界上のブロックとの近接ブロックであってもよい。たとえば、隣接端ブロックは、2次元表現の2つ以上の境界に関連付けられている。言い換えれば、球状画像は全方向に連続している画像であるため、隣接端は、画像またはフレームにおける(たとえばブロックの列の)上側境界および下側境界に関連付けられてもよく、および/または、画像またはフレームにおける(たとえばブロックの行の)左側境界および右側境界に関連付けられてもよい。
たとえば、正距円筒投影が使用される場合、隣接端ブロックは、列または行の他方端のブロックであってもよい。たとえば、図1Bに示すように、ブロック160および170は、互いにそれぞれの(列ごとの)隣接端ブロックであってもよい。また、ブロック180および185は、互いにそれぞれの(列ごとの)隣接端ブロックであってもよい。さらに、ブロック165および175は、互いにそれぞれの(行ごとの)隣接端ブロックであってもよい。ビューパースペクティブ192は、少なくとも1つのブロックを含んでいてもよい(および/または、少なくとも1つのブロックと重複していてもよい)。ブロックは、画像の領域、フレームの領域、画像またはフレームの一部もしくは部分集合、ブロックの群などとして符号化されてもよい。以下に、ブロックのこの群は、タイルまたはタイルの群と称され得る。たとえば、図1Bでは、タイル190および195は、4つのブロックの群として図示される。タイル195は、ビューパースペクティブ192内にあるとして図示される。
例示的な実施形態では、符号化された球状ビデオのフレームをストリーミングすることに加え、視聴者によって頻繁に見られた少なくとも1つの基準点に基づいて選択されたタイル(またはタイルの群)としてのビューパースペクティブ(たとえば、これまで見られた少なくとも1つの基準点またはビューパースペクティブ)が、たとえばより高い品質(たとえば、より高い解像度および/またはより少ない歪み)で符号化され、球状ビデオの符号化されたフレームとともに(またはその一部として)ストリーミングされ得る。したがって、再生中、球状ビデオ全体が再生されている間に視聴者は復号されたタイルを(より高い品質で)見ることができ、視聴者のビューパースペクティブが、視聴者によって頻繁に見られたビューパースペクティブに変わった場合でも、球状ビデオ全体は利用可能である。視聴者はまた、視聴位置を変更したり、別のビューパースペクティブに切替えることもできる。その別のビューパースペクティブが、視聴者によって頻繁に見られた少なくとも1つの基準点に含まれる場合、再生されたビデオは、(たとえば、視聴者によって頻繁に見られた少なくとも1つの基準点のうちの1つではない)何らかの他のビューパースペクティブに比べ、より高い品質(たとえば、より高い解像度)のものであり得る。画像またはフレームの選択された一部または部分集合のみをより高い品質で符号化してストリーミングすることの1つの利点は、必ずしも球状ビデオ全体をより高い品質で符号化し、ストリーミングし、復号しなくても、球状ビデオの選択された画像またはフレームがより高い品質で復号され、再生され得るという利点を有しており、このため、帯域幅使用、ならびに、エンコーダおよびデコーダに関連付けられた処理リソースおよびメモリリソースにおける効率を高める。
頭部装着ディスプレイ(head mount display:HMD)では、視聴者は、知覚された3次元(3D)ビデオまたは画像を投影する左(たとえば左目)ディスプレイおよび右(たとえば右目)ディスプレイの使用を通して、視覚的バーチャルリアリティを体験する。例示的な実施形態によれば、球状(たとえば3D)ビデオまたは画像がサーバ上に格納される。ビデオまたは画像は符号化され、サーバからHMDにストリーミングされ得る。球状ビデオまたは画像は、左画像および右画像として符号化され得る。左画像および右画像は、左画像および右画像についてのメタデータとともに(たとえばデータパケットに)パッケージ化される。左画像および右画像は次に復号され、左(たとえば左目)ディスプレイおよび右(たとえば右目)ディスプレイによって表示される。
ここに説明されるシステムおよび方法は左画像および右画像双方に適用可能であり、本開示全体を通し、使用事例に依存して、画像、フレーム、画像の一部、フレームの一部、タイルなどと称される。言い換えれば、サーバ(たとえばストリーミングサーバ)からユーザデバイス(たとえばHMD)に通信され、次に表示のために復号される符号化データは、3Dビデオまたは画像に関連付けられた左画像および/または右画像であり得る。
図2〜5は、例示的な実施形態に従った方法のフローチャートである。図2〜5に関して説明されるステップは、(たとえば(以下に説明される)図6A、図6B、図7A、図7B、および図8に示すような)装置に関連付けられたメモリ(たとえば、少なくとも1つのメモリ610)に格納され、当該装置に関連付けられた少なくとも1つのプロセッサ(たとえば、少なくとも1つのプロセッサ605)によって実行される、ソフトウェアコードの実行によって行なわれてもよい。しかしながら、特殊用途プロセッサとして具現化されるシステムといった、代替的な実施形態が考えられる。以下に説明されるステップはプロセッサによって実行されるとして説明されるが、これらのステップは必ずしも同じプロセッサによって実行されるわけではない。言い換えれば、少なくとも1つのプロセッサが、図2〜5に関して以下に説明されるステップを実行してもよい。
図2は、これまでのビューパースペクティブを格納するための方法を示しており、ここで、「これまでの」(historical)とは、ユーザによって以前に要求されたビューパースペクティブを指す。たとえば、図2は、球状ビデオストリームにおいてよく見られるビューパースペクティブのデータベースの構築を示し得る。図2に示すように、ステップS205で、ビューパースペクティブの表示が受信される。たとえば、デコーダを含むデバイスによってタイルが要求され得る。タイル要求は、球状ビデオ上の視聴者の配向、位置、点、または焦点に関するパースペクティブまたはビューパースペクティブに基づいた情報を含み得る。パースペクティブまたはビューパースペクティブは、ユーザビューパースペクティブ、すなわちHMDのユーザのビューパースペクティブであり得る。たとえば、ビューパースペクティブ(たとえばユーザビューパースペクティブ)は、(たとえば、内部パースペクティブまたは外部パースペクティブとしての)球状ビデオ上の緯度および経度位置であってもよい。ビュー、パースペクティブ、またはビューパースペクティブは、球状ビデオに基づいて立方体の辺として判断され得る。ビューパースペクティブの表示はまた、球状ビデオ情報を含み得る。例示的な実現化例では、ビューパースペクティブの表示は、ビューパースペクティブに関連付けられたフレームについての情報(たとえばフレームシーケンス)を含み得る。たとえば、ビュー(たとえば、緯度および経度位置、または辺)は、たとえばハイパーテキスト転送プロトコル(Hypertext Transfer Protocol:HTTP)を使用して、HMDを含むユーザデバイス(に関連付けられたコントローラ)からストリーミングサーバに通信され得る。
ステップS210で、ビューパースペクティブ(たとえばユーザビューパースペクティブ)がビューパースペクティブデータストアに格納されているかどうかが判断される。たとえば、データストア(たとえばビューパースペクティブデータストア815)が、ビューパースペクティブまたはユーザビューパースペクティブに関連付けられた情報に基づいてクエリまたはフィルタされ得る。たとえば、データストアは、ビューパースペクティブの球状ビデオ上の緯度および経度位置、ならびに、ビューパースペクティブが見られた球状ビデオにおけるタイムスタンプに基づいて、クエリまたはフィルタされてもよい。タイムスタンプは、球状ビデオの再生に関連付けられた時間および/または時間範囲であり得る。クエリまたはフィルタは、空間近接性(たとえば、現在のビューパースペクティブが所与の格納されたビューパースペクティブにどのくらい近いか)、および/または、時間近接性(たとえば、現在のタイムスタンプが所与の格納されたタイムスタンプにどのくらい近いか)に基づき得る。クエリまたはフィルタが結果を返す場合、ビューパースペクティブはデータストアに格納されている。結果を返さない場合、ビューパースペクティブはデータストアに格納されていない。ビューパースペクティブがビューパースペクティブデータストアに格納されている場合、ステップS215で、処理はステップS220に続く。格納されていない場合、処理はステップS225に続く。
ステップS220で、受信されたビューパースペクティブに関連付けられたカウンタまたはランキング(またはランキング値)がインクリメントされる。たとえば、データストアは、これまでのビューパースペクティブを含むデータテーブルを含んでいてもよい(たとえば、データストアは、複数のデータテーブルを含むデータベースであってもよい)。データテーブルは、鍵付きの(たとえば、各々に固有の)ビューパースペクティブであってもよい。データテーブルは、ビューパースペクティブの識別情報と、ビューパースペクティブに関連付けられた情報と、ビューパースペクティブが何回要求されたかを示すカウンタとを含んでいてもよい。カウンタは、ビューパースペクティブが要求されるたびにインクリメントされてもよい。データテーブルに格納されたデータは、匿名化されてもよい。言い換えれば、データは、ユーザ、デバイス、セッションなどが言及されない(または、ユーザ、デバイス、セッションなどの識別情報がない)ように格納され得る。そのため、データテーブルに格納されたデータは、ビデオのユーザまたは視聴者に基づいて区別できない。例示的な実現化例では、データテーブルに格納されたデータは、ユーザを識別することなく、ユーザに基づいて分類されてもよい。たとえば、データは、ユーザの年齢、年齢層、性別、タイプまたは役割(たとえば音楽家または観衆)などを含んでいてもよい。
ステップS225で、ビューパースペクティブはビューパースペクティブデータストアに追加される。たとえば、ビューパースペクティブの識別情報と、ビューパースペクティブに関連付けられた情報と、1に設定されたカウンタ(またはランキング値)とが、これまでのビューパースペクティブを含むデータテーブルに格納されてもよい。
例示的な実施形態では、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルが、より高いQoSで符号化され得る。QoSは、上述の品質の実現(たとえば、品質を規定するエンコーダ変数入力)であり得る。たとえば、エンコーダ(たとえばビデオエンコーダ625)が、3Dビデオに関連付けられたタイルを個々に符号化することができる。少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルは、3Dビデオの残りに関連付けられたタイルに比べ、より高いQoSで符号化され得る。例示的な実現化例では、3Dビデオは、(たとえば第1のパスにおける)第1のQoSパラメータ、または、第1の符号化パスで使用される少なくとも1つの第1のQoSパラメータを使用して符号化され得る。加えて、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルは、(たとえば第2のパスにおける)第2のQoSパラメータ、または、第2の符号化パスで使用される少なくとも1つの第2のQoSパラメータを使用して符号化され得る。この例示的な実現化例では、第2のQoSは、第1のQoSに比べ、より高いQoSである。別の例示的な実現化例では、3Dビデオは、3Dビデオを表わす複数のタイルとして符号化され得る。少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルは、第2のQoSパラメータを使用して符号化され得る。残りのタイルは、第1のQoSパラメータを使用して符号化され得る。
代替的な実現化例(および/または追加の実現化例)では、エンコーダは、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルを、3Dビデオフレームの残りの2D表現を生成するために使用されるものとは異なる投影手法またはアルゴリズムを使用して投影することができる。投影によっては、フレームのあるエリアに歪みを有する場合がある。したがって、タイルを球状フレームとは異なるように投影することは、最終画像の品質を向上させること、および/または、画素をより効率的に使用する(たとえば、コンピュータ計算をより少なくする、またはユーザの目に対する負担をより少なくする)ことができる。1つの例示的な実現化例では、投影アルゴリズムに基づいて歪みが最小となる位置にタイルを向けるために、タイルを投影する前に球状画像を回転させることができる。別の例示的な実現化例では、タイルは、タイルの位置に基づいた投影アルゴリズムを使用する(および/または修正する)ことができる。たとえば、球状ビデオフレームを2D表現に投影することは正距円筒投影を使用でき、一方、球状ビデオフレームをタイルとして選択されるべき部分を含む表現に投影することは立方体投影を使用できる。
図3は、3Dビデオをストリーミングするための方法を示す。図3は、ライブストリーミングイベントなどの最中に、ストリーミング3Dビデオがオンデマンドで符号化されるシナリオを説明する。図3に示すように、ステップS305で、3Dビデオをストリーミングする要求が受信される。たとえば、ストリーミングに利用可能な3Dビデオ、3Dビデオの一部、またはタイルが、デコーダを含むデバイスによって(たとえば、媒体アプリケーションとのユーザインタラクションを介して)要求され得る。当該要求は、球状ビデオ上の視聴者の配向、位置、点、または焦点に関するパースペクティブまたはビューパースペクティブに基づいた情報を含み得る。パースペクティブまたはビューパースペクティブに基づいた情報は、現在の配向またはデフォルト(たとえば初期化)配向に基づき得る。デフォルト配向は、たとえば、3Dビデオについてのディレクターズカットであり得る。
ステップS310で、少なくとも1つの好ましいビューパースペクティブが判断される。たとえば、データストア(たとえばビューパースペクティブデータストア815)が、ビューパースペクティブに関連付けられた情報に基づいてクエリまたはフィルタされ得る。データストアは、ビューパースペクティブの球状ビデオ上の緯度および経度位置に基づいてクエリまたはフィルタされてもよい。例示的な実現化例では、少なくとも1つの好ましいビューパースペクティブは、これまでのビューパースペクティブに基づき得る。そのため、データストアは、これまでのビューパースペクティブを含むデータテーブルを含み得る。ビューパースペクティブが何回要求されたかによって、好みが表示され得る。したがって、クエリまたはフィルタは、しきい値カウンタ値未満の結果を取り除くことを含み得る。言い換えれば、これまでのビューパースペクティブを含むデータテーブルのクエリのために設定されたパラメータは、カウンタまたはランキングについての値を含み得る。ここで、クエリの結果は、カウンタについてのしきい値より上でなければならない。これまでのビューパースペクティブを含むデータテーブルのクエリの結果は、少なくとも1つの好ましいビューパースペクティブとして設定され得る。
加えて、デフォルトの好ましいビューパースペクティブ(または複数の当該ビューパースペクティブ)が、3Dビデオに関連付けられ得る。デフォルトの好ましいビューパースペクティブは、ディレクターズカット、関心点(たとえば、地平線、移動物体、優先物体)などであり得る。たとえば、あるゲームの目的は、物体(たとえば、ビルまたは車両)を破壊することである場合がある。この物体は、優先物体とラベル付けされてもよい。優先物体を含むビューパースペクティブは、好ましいビューパースペクティブとして表示され得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブに加えて、またはこれまでのビューパースペクティブに代えて含まれ得る。デフォルト配向はたとえば、(たとえばビデオが最初にアップロードされた場合はこれまでのデータがないため)たとえば自動コンピュータビジョンアルゴリズムに基づいた最初の一組の好ましいビューパースペクティブであり得る。ビジョンアルゴリズムは、動きまたは複雑な詳細、または何がおもしろそうか推測するための近くのステレオ物体、および/または、他のこれまでのビデオの好ましいビューに存在していた特徴を有する、ビデオの好ましいビューパースペクティブ部分を判断してもよい。
少なくとも1つの好ましいビューパースペクティブを判断する際に、他の要因を使用することができる。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のビューパースペクティブの範囲内にある(たとえば、現在のビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のユーザの、または現在のユーザが属するグループ(タイプまたはカテゴリー)のこれまでのビューパースペクティブの範囲内にある(たとえば、当該ビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。言い換えれば、少なくとも1つの好ましいビューパースペクティブは、格納されたこれまでのビューパースペクティブと距離が近い、および/または時間が近いビューパースペクティブ(またはタイル)を含み得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブを含むデータストア815に、または図示されない別個の(たとえば追加の)データストアに格納され得る。
ステップS315で、3Dビデオは、少なくとも1つの好ましいビューパースペクティブに基づいた少なくとも1つの符号化パラメータを用いて符号化される。たとえば、3Dビデオ(またはその一部)は、少なくとも1つの好ましいビューパースペクティブを含む部分が3Dビデオの残りとは異なるように符号化されるように、符号化され得る。そのため、少なくとも1つの好ましいビューパースペクティブを含む部分は、3Dビデオの残りに比べてより高いQoSで符号化され得る。その結果、HMD上でレンダリングされる場合、少なくとも1つの好ましいビューパースペクティブを含む部分は、3Dビデオの残りに比べてより高い解像度を有し得る。
ステップS320で、符号化された3Dビデオはストリーミングされる。たとえば、タイルが、送信用パケットに含まれてもよい。パケットは、圧縮されたビデオビット10Aを含んでいてもよい。パケットは、球状ビデオフレームの符号化された2D表現と、符号化されたタイル(または複数のタイル)とを含んでいてもよい。パケットは、送信用ヘッダを含んでいてもよい。ヘッダは、とりわけ、エンコーダによるフレーム内符号化におけるモードまたはスキーム使用を示す情報を含んでいてもよい。ヘッダは、球状ビデオフレームのフレームを2D矩形表現に変換するために使用されるパラメータを示す情報を含んでいてもよい。ヘッダは、符号化された2D矩形表現の、および符号化されたタイルのQoSを獲得するために使用されるパラメータを示す情報を含んでいてもよい。上述のように、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルのQoSは、少なくとも1つの好ましいビューパースペクティブに関連付けられていないタイルに比べ、異なっていてもよい(たとえば、より高くてもよい)。
3Dビデオをストリーミングすることは、優先段階の使用を通して実現され得る。たとえば、第1の優先段階では、低い(または最低基準の)QoSで符号化されたビデオデータがストリーミングされ得る。これにより、HMDのユーザは、バーチャルリアリティ体験を開始できるようになる。次に、より高いQoSのビデオがHMDにストリーミングされ、(たとえば、バッファ830に格納されたデータ)以前にストリーミングされた低い(または最低基準)のQoSで符号化されたビデオデータを置き換えることができる。一例として、第2の段階では、現在のビューパースペクティブに基づいて、より高い品質のビデオまたは画像データがストリーミングされ得る。次の段階では、1つ以上の好ましいビューパースペクティブに基づいて、より高いQoSのビデオまたは画像データがストリーミングされ得る。これは、HMDバッファが実質的に高QoSビデオまたは画像データのみを含むようになるまで続き得る。加えて、この段階的なストリーミングは、QoSが次第により高くなるビデオまたは画像データを用いてループし得る。言い換えれば、第1の繰返しの後で、HMDは第1のQoSで符号化されたビデオまたは画像データを含み、第2の繰返しの後で、HMDは第2のQoSで符号化されたビデオまたは画像データを含み、第3の繰返しの後で、HMDは第3のQoSで符号化されたビデオまたは画像データを含む、というふうになっている。例示的な実現化例では、第2のQoSは第1のQoSよりも高く、第3のQoSは第2のQoSよりも高い、というふうになっている。
エンコーダ625は、球状ビデオをストリーミング用に利用可能にするためのセットアップ手順の一環として、オフラインで動作してもよい。複数のタイルの各々は、ビューフレームストレージ795に格納されてもよい。複数のタイルの各々は、複数のタイルの各々がフレームを参照して(たとえば時間依存性)、およびビューを参照して(たとえばビュー依存性)格納され得るように、索引付けされてもよい。したがって、複数のタイルの各々は、時間およびビュー、パースペクティブ、またはビューパースペクティブに依存しており、時間依存性およびビュー依存性に基づいて呼び戻され得る。
そのため、例示的な実現化例では、エンコーダ625は、フレームが選択され、そのフレームの一部がビューパースペクティブに基づいてタイルとして選択されるループを実行するように構成されてもよい。タイルは次に符号化され、格納される。ループは、複数のビューパースペクティブを通して循環し続ける。たとえば球状画像の垂直線を中心に5度ずつ、および水平線を中心に5度ずつの所望数のビューパースペクティブがタイルとして保存される場合、新しいフレームが選択され、プロセスは、球状ビデオのすべてのフレームがそれらのために保存された所望数のタイルを有するようになるまで繰り返す。例示的な実施形態では、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルは、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルではないタイルに比べ、より高いQoSで符号化され得る。これは、タイルを符号化し、保存するための1つの例示的な実現化例に過ぎない。
図4は、符号化された3Dビデオを格納するための方法を示す。図4は、将来のストリーミングのために、ストリーミング3Dビデオが前もって符号化され、格納されるシナリオを説明する。図4に示すように、ステップS405で、3Dビデオについての少なくとも1つの好ましいビューパースペクティブが判断される。たとえば、データストア(たとえばビューパースペクティブデータストア815)が、ビューパースペクティブに関連付けられた情報に基づいてクエリまたはフィルタされ得る。データストアは、ビューパースペクティブの球状ビデオ上の緯度および経度位置に基づいてクエリまたはフィルタされてもよい。例示的な実現化例では、少なくとも1つの好ましいビューパースペクティブは、これまでのビューパースペクティブに基づき得る。そのため、データテーブルは、これまでのビューパースペクティブを含む。ビューパースペクティブが何回要求されたかによって、好みが表示され得る。したがって、クエリまたはフィルタは、しきい値カウンタ値未満の結果を取り除くことを含み得る。言い換えれば、これまでのビューパースペクティブを含むデータテーブルのクエリのために設定されたパラメータは、カウンタについての値を含み得る。ここで、クエリの結果は、カウンタについてのしきい値より上でなければならない。これまでのビューパースペクティブを含むデータテーブルのクエリの結果は、少なくとも1つの好ましいビューパースペクティブとして設定され得る。
加えて、デフォルトの好ましいビューパースペクティブ(または複数の当該ビューパースペクティブ)が、3Dビデオに関連付けられ得る。デフォルトの好ましいビューパースペクティブは、ディレクターズカット、関心点(たとえば、地平線、移動物体、優先物体)などであり得る。たとえば、あるゲームの目的は、物体(たとえば、ビルまたは車両)を破壊することである場合がある。この物体は、優先物体とラベル付けされてもよい。優先物体を含むビューパースペクティブは、好ましいビューパースペクティブとして表示され得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブに加えて、またはこれまでのビューパースペクティブに代えて含まれ得る。少なくとも1つの好ましいビューパースペクティブを判断する際に、他の要因を使用することができる。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のビューパースペクティブの範囲内にある(たとえば、現在のビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のユーザの、または現在のユーザが属するグループ(タイプまたはカテゴリー)のこれまでのビューパースペクティブの範囲内にある(たとえば、当該ビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブを含むデータストアに、または別個の(たとえば追加の)データテーブルに格納され得る。
ステップS410で、3Dビデオは、少なくとも1つの好ましいビューパースペクティブに基づいた少なくとも1つの符号化パラメータを用いて符号化される。たとえば、3Dビデオのフレームが選択され、そのフレームの一部がビューパースペクティブに基づいてタイルとして選択され得る。タイルは次に符号化される。例示的な実施形態では、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルは、より高いQoSで符号化され得る。少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルは、3Dビデオの残りに関連付けられたタイルに比べ、より高いQoSで符号化され得る。
代替的な実現化例(および/または追加の実現化例)では、エンコーダは、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルを、3Dビデオフレームの残りの2D表現を生成するために使用されるものとは異なる投影手法またはアルゴリズムを使用して投影することができる。投影によっては、フレームのあるエリアに歪みを有する場合がある。したがって、タイルを球状フレームとは異なるように投影することは、最終画像の品質を向上させること、および/または、画素をより効率的に使用することができる。1つの例示的な実現化例では、投影アルゴリズムに基づいて歪みが最小となる位置にタイルを向けるために、タイルを投影する前に球状画像を回転させることができる。別の例示的な実現化例では、タイルは、タイルの位置に基づいた投影アルゴリズムを使用する(および/または修正する)ことができる。たとえば、球状ビデオフレームを2D表現に投影することは正距円筒投影を使用でき、一方、球状ビデオフレームをタイルとして選択されるべき部分を含む表現に投影することは立方体投影を使用できる。
ステップS415で、符号化された3Dビデオは格納される。たとえば、複数のタイルの各々は、ビューフレームストレージ795に格納されてもよい。3Dビデオに関連付けられた複数のタイルの各々は、複数のタイルの各々がフレームを参照して(たとえば時間依存性)、およびビューを参照して(たとえばビュー依存性)格納され得るように、索引付けされてもよい。したがって、複数のタイルの各々は、時間およびビュー、パースペクティブ、またはビューパースペクティブに依存しており、時間依存性およびビュー依存性に基づいて呼び戻され得る。
例示的な実現化例では、3Dビデオ(たとえば、それに関連付けられたタイル)は、可変符号化パラメータを用いて符号化され、格納されてもよい。したがって、3Dビデオは、異なる符号化状態で格納されてもよい。これらの状態は、QoSに基づいて変わってもよい。たとえば、3Dビデオは、同じQoSで各々符号化された複数のタイルとして格納されてもよい。たとえば、3Dビデオは、異なるQoSで各々符号化された複数のタイルとして格納されてもよい。たとえば、3Dビデオは、符号化された少なくとも1つの好ましいビューパースペクティブに基づいたQoSで一部が符号化された複数のタイルとして格納されてもよい。
図5は、3Dビデオについての好ましいビューパースペクティブを判断するための方法を示す。3Dビデオについての好ましいビューパースペクティブは、3Dビデオのこれまでの視聴に基づいた好ましいビューパースペクティブに加わるものであってもよい。図6に示すように、ステップS505で、少なくとも1つのデフォルトビューパースペクティブが判断される。たとえば、デフォルトの好ましいビューパースペクティブは、データストア(たとえばビューパースペクティブデータストア815)に含まれるデータテーブルに格納され得る。データストアは、3Dビデオについてのデフォルト表示に基づいてクエリまたはフィルタされ得る。クエリまたはフィルタが結果を返す場合、3Dビデオは、関連付けられたデフォルトビューパースペクティブを有する。結果を返さない場合、3Dビデオは、関連付けられたデフォルトビューパースペクティブを有していない。デフォルトの好ましいビューパースペクティブは、ディレクターズカット、関心点(たとえば、地平線、移動物体、優先物体)などであり得る。たとえば、あるゲームの目的は、物体(たとえば、ビルまたは車両)を破壊することである場合がある。この物体は、優先物体とラベル付けされてもよい。優先物体を含むビューパースペクティブは、好ましいビューパースペクティブとして表示され得る。
ステップS510で、ユーザの特性/好み/カテゴリーに基づいた少なくとも1つのビューパースペクティブが判断される。たとえば、HMDのユーザは、HMDの以前の使用に基づいた特性を有していてもよい。これらの特性は、統計的な視聴の好み(たとえば、遠くにある物体ではなく、すぐ近くの物体を見る方を好むこと)に基づいていてもよい。たとえば、HMDのユーザは、HMDに関連付けられたユーザの好みを格納していてもよい。これらの好みは、セットアッププロセスの一環として、ユーザによって選択されてもよい。好みは、一般的なもの(たとえば、動きに引き寄せられること)であってもよく、または、ビデオ特有のもの(たとえば、音楽演奏でギタリストに注目しがちなこと)であってもよい。たとえば、HMDのユーザは、あるグループまたはカテゴリー(たとえば、15〜22才の男性)に属してもよい。たとえば、ユーザの特性/好み/カテゴリーは、データストア(たとえばビューパースペクティブデータストア815)に含まれたデータテーブルに格納され得る。データストアは、3Dビデオについてのデフォルト表示に基づいてクエリまたはフィルタされ得る。クエリまたはフィルタが結果を返す場合、3Dビデオは、ユーザについての関連付けられた特性/好み/カテゴリーに基づいた、少なくとも1つの関連付けられた好ましいビューパースペクティブを有する。結果を返さない場合、3Dビデオは、ユーザに基づいた、関連付けられたビューパースペクティブを有していない。
ステップS515で、関心領域に基づいた少なくとも1つのビューパースペクティブが判断される。たとえば、関心領域は、現在のビューパースペクティブであってもよい。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のビューパースペクティブの範囲内にある(たとえば、現在のビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のユーザの、または現在のユーザが属するグループ(タイプまたはカテゴリー)のこれまでのビューパースペクティブの範囲内にある(たとえば、当該ビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。
ステップS520で、少なくとも1つのシステム特性に基づいた少なくとも1つのビューパースペクティブが判断される。たとえば、HMDは、ユーザ体験を強化し得る特徴を有していてもよい。1つの特徴は、強化された音声であってもよい。したがって、バーチャルリアリティ環境で、ユーザは特定の音に引き付けられるかもしれない(たとえば、ゲームユーザは爆発音に引き付けられるかもしれない)。好ましいビューパースペクティブは、これらの可聴キューを含むビューパースペクティブに基づいていてもよい。ステップS525で、前述のビューパースペクティブ判断の各々、および/または、それらの組合せ/サブ組合せに基づいた、3Dビデオについての少なくとも1つの好ましいビューパースペクティブが判断される。たとえば、少なくとも1つの好ましいビューパースペクティブは、前述のクエリの結果を合併または結合することによって生成されてもよい。
図6Aの例において、ビデオエンコーダシステム600は、少なくとも1つのコンピューティングデバイスであってもよく、または少なくとも1つのコンピューティングデバイスを含んでいてもよく、ここに説明される方法を行なうように構成された事実上あらゆるコンピューティングデバイスを表わし得る。そのため、ビデオエンコーダシステム600は、ここに説明される手法、もしくはその異なるバージョンまたは将来のバージョンを実現するために利用され得るさまざまなコンポーネントを含み得る。例として、ビデオエンコーダシステム600は、少なくとも1つのプロセッサ605と、少なくとも1つのメモリ610(たとえば、非一時的なコンピュータ読取可能記憶媒体)とを含むとして図示される。
図6Aは、少なくとも1つの例示的な実施形態に従ったビデオエンコーダシステムを示す。図6Aに示すように、ビデオエンコーダシステム600は、少なくとも1つのプロセッサ605と、少なくとも1つのメモリ610と、コントローラ620と、ビデオエンコーダ625とを含む。少なくとも1つのプロセッサ605、少なくとも1つのメモリ610、コントローラ620、およびビデオエンコーダ625は、バス615を介して通信可能に結合される。
少なくとも1つのプロセッサ605は、少なくとも1つのメモリ610上に格納された命令を実行するために利用されてもよく、それにより、ここに説明されるさまざまな特徴および機能、もしくは追加のまたは代替的な特徴および機能を実現する。少なくとも1つのプロセッサ605および少なくとも1つのメモリ610は、さまざまな他の目的のために利用されてもよい。特に、少なくとも1つのメモリ610は、ここに説明されるモジュールのうちのいずれか1つを実現するために使用され得るさまざまなタイプのメモリならびに関連するハードウェアおよびソフトウェアの一例を表わし得る。
少なくとも1つのメモリ610は、ビデオエンコーダシステム600に関連付けられたデータおよび/または情報を格納するように構成されてもよい。たとえば、少なくとも1つのメモリ610は、球状ビデオを符号化することに関連付けられたコーデックを格納するように構成されてもよい。たとえば、少なくとも1つのメモリは、球状ビデオのフレームの一部を、球状ビデオの符号化とは別に符号化されるべきタイルとして選択することに関連付けられた符号を格納するように構成されてもよい。少なくとも1つのメモリ610は、共有リソースであってもよい。以下により詳細に説明されるように、タイルは、球状ビューア(たとえばHMD)の再生中に視聴者のビューパースペクティブに基づいて選択された複数の画素であってもよい。複数の画素は、ユーザによって見られ得る球状画像の一部を含み得る、ブロック、複数のブロック、またはマクロブロックであってもよい。たとえば、ビデオエンコーダシステム600は、より大型のシステム(たとえば、サーバ、パーソナルコンピュータ、モバイルデバイスなど)の要素であってもよい。したがって、少なくとも1つのメモリ610は、より大型のシステム内の他の要素(たとえば、画像/ビデオ供給、ウェブブラウジング、または有線/無線通信)に関連付けられたデータおよび/または情報を格納するように構成されてもよい。
コントローラ620は、さまざまな制御信号を生成し、ビデオエンコーダシステム600におけるさまざまなブロックに当該制御信号を通信するように構成されてもよい。コントローラ620は、以下に説明される手法を実現するために当該制御信号を生成するように構成されてもよい。コントローラ620は、例示的な実施形態によれば、画像、画像のシーケンス、ビデオフレーム、ビデオシーケンスなどを符号化するようビデオエンコーダ625を制御するように構成されてもよい。たとえば、コントローラ620は、球状ビデオを符号化するためのパラメータに対応する制御信号を生成してもよい。ビデオエンコーダ625およびコントローラ620の機能および動作に関するさらなる詳細が、少なくとも図7A、図4A、図5A、図5Bおよび図6〜9に関連して以下に説明される。
ビデオエンコーダ625は、ビデオストリーム入力5を受信し、圧縮された(たとえば符号化された)ビデオビット10を出力するように構成されてもよい。ビデオエンコーダ625は、ビデオストリーム入力5を離散ビデオフレームに変換してもよい。ビデオストリーム入力5はまた、画像であってもよく、したがって、圧縮された(たとえば符号化された)ビデオビット10も、圧縮された画像ビットであってもよい。ビデオエンコーダ625はさらに、各離散ビデオフレーム(または画像)をブロックのマトリックス(以下、ブロックと称される)に変換してもよい。たとえば、ビデオフレーム(または画像)は、各々が多数の画素を有するブロックの16×16、16×8、8×8、8×4、4×4、4×2、2×2などのマトリックスに変換されてもよい。これらの例示的なマトリックスが列挙されているが、例示的な実施形態はそれらに限定されない。
圧縮されたビデオビット10は、ビデオエンコーダシステム600の出力を表わしていてもよい。たとえば、圧縮されたビデオビット10は、符号化されたビデオフレーム(または符号化された画像)を表わしていてもよい。たとえば、圧縮されたビデオビット10は、受信デバイス(図示せず)への送信の準備ができていてもよい。たとえば、ビデオビットは、受信デバイスへの送信のためにシステムトランシーバ(図示せず)に送信されてもよい。
少なくとも1つのプロセッサ605は、コントローラ620および/またはビデオエンコーダ625に関連付けられたコンピュータ命令を実行するように構成されてもよい。少なくとも1つのプロセッサ605は、共有リソースであってもよい。たとえば、ビデオエンコーダシステム600は、より大型のシステム(たとえばモバイルデバイス)の要素であってもよい。したがって、少なくとも1つのプロセッサ605は、より大型のシステム内の他の要素(たとえば、画像/ビデオ供給、ウェブブラウジング、または有線/無線通信)に関連付けられたコンピュータ命令を実行するように構成されてもよい。
図6Bの例において、ビデオデコーダシステム650は、少なくとも1つのコンピューティングデバイスであってもよく、ここに説明される方法を行なうように構成された事実上あらゆるコンピューティングデバイスを表わし得る。そのため、ビデオデコーダシステム650は、ここに説明される手法、もしくはその異なるバージョンまたは将来のバージョンを実現するために利用され得るさまざまなコンポーネントを含み得る。例として、ビデオデコーダシステム650は、少なくとも1つのプロセッサ655と、少なくとも1つのメモリ660(たとえば、コンピュータ読取可能記憶媒体)とを含むとして図示される。
このため、少なくとも1つのプロセッサ655は、少なくとも1つのメモリ660上に格納された命令を実行するために利用されてもよく、それにより、ここに説明されるさまざまな特徴および機能、もしくは追加のまたは代替的な特徴および機能を実現する。少なくとも1つのプロセッサ655および少なくとも1つのメモリ660は、さまざまな他の目的のために利用されてもよい。特に、少なくとも1つのメモリ660は、ここに説明されるモジュールのうちのいずれか1つを実現するために使用され得るさまざまなタイプのメモリならびに関連するハードウェアおよびソフトウェアの一例を表わし得る。例示的な実施形態によれば、ビデオエンコーダシステム600およびビデオデコーダシステム650は、同じより大型のシステム(たとえば、パーソナルコンピュータ、モバイルデバイスなど)に含まれていてもよい。例示的な実施形態によれば、ビデオデコーダシステム650は、ビデオエンコーダシステム600に関して説明されたものとは逆または反対の手法を実現するように構成されてもよい。
少なくとも1つのメモリ660は、ビデオデコーダシステム650に関連付けられたデータおよび/または情報を格納するように構成されてもよい。たとえば、少なくとも1つのメモリ610は、符号化された球状ビデオデータを復号することに関連付けられたコーデックを格納するように構成されてもよい。たとえば、少なくとも1つのメモリは、符号化されたタイルおよび別個に符号化された球状ビデオフレームを復号することに関連付けられた符号、ならびに、復号された球状ビデオフレームにおける画素を復号されたタイルと置き換えるための符号を格納するように構成されてもよい。少なくとも1つのメモリ660は、共有リソースであってもよい。たとえば、ビデオデコーダシステム650は、より大型のシステム(たとえば、パーソナルコンピュータ、モバイルデバイスなど)の要素であってもよい。したがって、少なくとも1つのメモリ660は、より大型のシステム内の他の要素(たとえば、ウェブブラウジング、または無線通信)に関連付けられたデータおよび/または情報を格納するように構成されてもよい。
コントローラ670は、さまざまな制御信号を生成し、ビデオデコーダシステム650におけるさまざまなブロックに当該制御信号を通信するように構成されてもよい。コントローラ670は、以下に説明されるビデオ復号手法を実現するために当該制御信号を生成するように構成されてもよい。コントローラ670は、例示的な実施形態によれば、ビデオフレームを復号するようビデオデコーダ675を制御するように構成されてもよい。コントローラ670は、ビデオの復号に対応する制御信号を生成するように構成されてもよい。ビデオデコーダ675およびコントローラ670の機能および動作に関するさらなる詳細が、以下に説明される。
ビデオデコーダ675は、圧縮された(たとえば符号化された)ビデオビット10入力を受信し、ビデオストリーム5を出力するように構成されてもよい。ビデオデコーダ675は、圧縮されたビデオビット10の離散ビデオフレームをビデオストリーム5に変換してもよい。圧縮された(たとえば符号化された)ビデオビット10はまた、圧縮された画像ビットであってもよく、したがって、ビデオストリーム5も画像であってもよい。
少なくとも1つのプロセッサ655は、コントローラ670および/またはビデオデコーダ675に関連付けられたコンピュータ命令を実行するように構成されてもよい。少なくとも1つのプロセッサ655は、共有リソースであってもよい。たとえば、ビデオデコーダシステム650は、より大型のシステム(たとえば、パーソナルコンピュータ、モバイルデバイスなど)の要素であってもよい。したがって、少なくとも1つのプロセッサ655は、より大型のシステム内の他の要素(たとえば、ウェブブラウジング、または無線通信)に関連付けられたコンピュータ命令を実行するように構成されてもよい。
図7Aおよび図7Bはそれぞれ、少なくとも1つの例示的な実施形態に従った、図6Aに示すビデオエンコーダ625、および図6Bに示すビデオデコーダ675についてのフロー図を示す。(上述の)ビデオエンコーダ625は、球状−2D表現ブロック705と、予測ブロック710と、変換ブロック715と、量子化ブロック720と、エントロピー符号化ブロック725と、逆量子化ブロック730と、逆変換ブロック735と、再構築ブロック740と、ループフィルタブロック745と、タイル表現ブロック790と、ビューフレームストレージ795とを含む。ビデオエンコーダ625の他の構造変形例が、入力ビデオストリーム5を符号化するために使用され得る。図7Aに示すように、破線は、いくつかのブロック間の再構築経路を表わし、実線は、いくつかのブロック間の順方向経路を表わす。
前述のブロックの各々は、(たとえば図6Aに示すような)ビデオエンコーダシステムに関連付けられたメモリ(たとえば少なくとも1つのメモリ610)に格納され、当該ビデオエンコーダシステムに関連付けられた少なくとも1つのプロセッサ(たとえば少なくとも1つのプロセッサ605)によって実行される、ソフトウェアコードとして実行されてもよい。しかしながら、特殊用途プロセッサとして具現化されるビデオエンコーダといった、代替的な実施形態が考えられる。たとえば、(単独の、および/または組合された)前述のブロックの各々は、特定用途向け集積回路、すなわちASICであってもよい。たとえば、ASICは、変換ブロック715および/または量子化ブロック720として構成されてもよい。
球状−2D表現ブロック705は、球状フレームまたは画像を球状フレームまたは画像の2D表現にマッピングするように構成されてもよい。たとえば、球が、別の形状(たとえば、正方形、矩形、円筒、および/または立方体)の表面上に投影されてもよい。その投影は、たとえば、正距円筒または半正距円筒であってもよい。
予測ブロック710は、ビデオフレーム整合性(たとえば、以前に符号化された画素と比べて変わっていない画素)を利用するように構成されてもよい。予測は、2つのタイプを含んでいてもよい。たとえば、予測は、フレーム内予測とフレーム間予測とを含んでいてもよい。フレーム内予測は、画像のブロックにおける画素値を、同じ画像の以前に符号化された隣接するブロックにおける基準サンプルと比べて予測することに関する。フレーム内予測では、サンプルは、予測変換コーデックの変換(たとえばエントロピー符号化ブロック725)およびエントロピー符号化(たとえばエントロピー符号化ブロック725)部分によって符号化される残差を減少させるために、同じフレーム内の再構築された画素から予測される。フレーム間予測は、画像のブロックにおける画素値を、以前に符号化された画像のデータと比べて予測することに関する。
変換ブロック715は、画素の値を空間ドメインから変換ドメインにおける変換係数に変換するように構成されてもよい。変換係数は、元のブロックと通常同じサイズである係数の2次元マトリックスに対応していてもよい。言い換えれば、元のブロックにおける画素と同じぐらい多くの変換係数が存在していてもよい。しかしながら、変換により、変換係数の一部はゼロに等しい値を有していてもよい。
変換ブロック715は、(予測ブロック710からの)残りを、たとえば周波数ドメインにおける変換係数に変換するように構成されてもよい。典型的には、変換は、カルフネン−ロエヴェ変換(Karhunen-Loeve Transform:KLT)、離散コサイン変換(Discrete Cosine Transform:DCT)、特異値分解変換(Singular Value Decomposition Transform:SVD)、および非対称離散サイン変換(asymmetric discrete sine transform:ADST)を含む。
量子化ブロック720は、各変換係数におけるデータを減少させるように構成されてもよい。量子化は、比較的大きい範囲内の値を比較的小さい範囲内の値にマッピングすることを伴ってもよく、このため、量子化された変換係数を表わすのに必要なデータの量を減少させる。量子化ブロック720は、変換係数を、量子化された変換係数または量子化レベルと称される離散量子値に変換してもよい。たとえば、量子化ブロック720は、変換係数に関連付けられたデータにゼロを加えるように構成されてもよい。たとえば、符号化規準は、スカラー量子化プロセスにおける128個の量子化レベルを規定してもよい。
量子化された変換係数は、エントロピー符号化ブロック725によってエントロピー符号化される。その後、エントロピー符号化された係数は、使用される予測のタイプ、運動ベクトル、および量子化器の値といった、ブロックを復号するのに必要とされる情報とともに、圧縮されたビデオビット10として出力される。圧縮されたビデオビット10は、ランレングス符号化(run-length encoding:RLE)およびゼロラン符号化(zero-run coding)といったさまざまな手法を使用してフォーマットされ得る。
図7Aにおける再構築経路は、ビデオエンコーダ625および(図7Bに関して以下に説明される)ビデオデコーダ675の双方が、同じ基準フレームを使用して、圧縮されたビデオビット10(または圧縮された画像ビット)を復号することを保証するために存在する。当該再構築経路は、以下により詳細に説明される、復号処理中に行なわれる機能に類似する機能を行なう。当該機能は、微分残差(derivative residual)ブロック(微分残差)を作り出すために、逆量子化ブロック730で、量子化された変換係数を逆量子化することと、逆変換ブロック735で、逆量子化された変換係数を逆変換することとを含む。再構築ブロック740で、再構築ブロックを作り出すために、予測ブロック710で予測された予測ブロックは微分残差に加えられ得る。次に、ブロッキングアーティファクトなどの歪みを減少させるために、ループフィルタ745が再構築ブロックに適用され得る。
タイル表現ブロック790は、画像および/またはフレームを複数のタイルに変換するように構成され得る。1つのタイルは、画素のグループ化であり得る。タイルは、ビューまたはビューパースペクティブに基づいて選択された複数の画素であってもよい。複数の画素は、ユーザによって見られ得る(または見られることが予測される)球状画像の一部を含み得る、ブロック、複数のブロック、またはマクロブロックであってもよい。タイルとしての球状画像の一部は、長さと幅とを有していてもよい。球状画像の一部は、2次元、または実質的に2次元であってもよい。タイルは、可変サイズ(たとえば、タイルは球の何割をカバーするか)を有し得る。たとえば、タイルのサイズは、たとえば、視聴者の視野がどれくらい広いか、別のタイルへの近接性、および/または、ユーザがどれくらい速く自分の頭を回転させているかに基づいて、符号化され、ストリーミングされ得る。たとえば、視聴者が絶えず見回している場合、より大きく、より低品質のタイルが選択されるかもしれない。しかしながら、視聴者が1つのパースペクティブに注目している場合、より小さく、より詳細なタイルが選択されるかもしれない。
一実現化例では、タイル表現ブロック790は、球状−2D表現ブロック705にタイルを生成させる、球状−2D表現ブロック705への命令を起動する。別の実現化例では、タイル表現ブロック790がタイルを生成する。いずれの実現化例でも、各タイルは次に、個々に符号化される。さらに別の実現化例では、タイル表現ブロック790は、ビューフレームストレージ795に、符号化された画像および/またはビデオフレームをタイルとして格納させる、ビューフレームストレージ795への命令を起動する。タイル表現ブロック790は、ビューフレームストレージ795に、タイルについての情報またはメタデータとともにタイルを格納させる、ビューフレームストレージ795への命令を起動できる。たとえば、タイルについての情報またはメタデータは、画像またはフレーム内のタイル位置の表示、タイルの符号化に関連付けられた情報(たとえば、解像度、帯域幅、および/または3D−2D投影アルゴリズム)、1つ以上の関心領域との関連付けなどを含んでいてもよい。
例示的な実現化例によれば、エンコーダ625は、フレーム、フレームの一部、および/またはタイルを、異なる品質(またはQoS(Quality of Service))で符号化してもよい。例示的な実施形態によれば、エンコーダ625は、フレーム、フレームの一部、および/またはタイルを複数回、各々異なるQoSで符号化してもよい。したがって、ビューフレームストレージ795は、画像またはフレーム内の同じ位置を表わすフレーム、フレームの一部、および/またはタイルを、異なるQoSで格納できる。そのため、タイルについての前述の情報またはメタデータは、フレーム、フレームの一部、および/またはタイルが符号化された際のQoSの表示を含んでいてもよい。
QoSは、圧縮アルゴリズム、解像度、伝送速度、および/または符号化スキームに基づき得る。したがって、エンコーダ625は、フレーム、フレームの一部、および/またはタイルごとに、異なる圧縮アルゴリズムおよび/または符号化スキームを使用してもよい。たとえば、符号化されたタイルは、エンコーダ625によって符号化された(タイルに関連付けられたた)フレームに比べ、より高いQoSであってもよい。上述のように、エンコーダ625は、球状ビデオフレームの2D表現を符号化するように構成されてもよい。したがって、(球状ビデオフレームの一部を含む可視パースペクティブとしての)タイルは、球状ビデオフレームの2D表現に比べ、より高いQoSで符号化され得る。QoSは、復号された場合にフレームの解像度に影響を与えるかもしれない。したがって、(球状ビデオフレームの一部を含む可視パースペクティブとしての)タイルは、タイルが、復号された場合に、球状ビデオフレームの復号された2D表現と比べて、フレームのより高い解像度を有するように、符号化され得る。タイル表現ブロック790は、タイルが符号化されるべきQoSを示してもよい。タイル表現ブロック790は、フレーム、フレームの一部、および/またはタイルが関心領域であるか、関心領域内にあるか、シード領域に関連付けられているか否かなどに基づいて、QoSを選択してもよい。関心領域およびシード領域は、以下により詳細に説明される。
図7Aに関して上述されたビデオエンコーダ625は、図示されたブロックを含む。しかしながら、例示的な実施形態はそれらに限定されない。使用される異なるビデオ符号化構成および/または手法に基づいて、追加のブロックが追加されてもよい。また、図7Aに関して上述されたビデオエンコーダ625に示されるブロックの各々は、使用される異なるビデオ符号化構成および/または手法に基づくオプションのブロックであってもよい。
図7Bは、圧縮されたビデオビット10(または圧縮された画像ビット)を復号するように構成されたデコーダ675の概略ブロック図である。デコーダ675は、前述のエンコーダ625の再構築経路に類似して、エントロピー復号ブロック750と、逆量子化ブロック755と、逆変換ブロック760と、再構築ブロック765と、ループフィルタブロック770と、予測ブロック775と、ブロック解除フィルタブロック780と、2D表現−球状ブロック785とを含む。
圧縮されたビデオビット10内のデータ要素は、一組の量子化された変換係数を生成するために、(たとえば、コンテキスト適応型二値算術復号方式(Context Adaptive Binary Arithmetic Decoding)を使用して)エントロピー復号ブロック750によって復号され得る。逆量子化ブロック755は、量子化された変換係数を逆量子化し、逆変換ブロック760は、逆量子化された変換係数を(ADSTを使用して)逆変換して、エンコーダ625における再構築段階によって作り出されたものと同一であり得る微分残差を作り出す。
圧縮されたビデオビット10から復号されたヘッダ情報を使用して、デコーダ675は、エンコーダ675において作り出されたのと同じ予測ブロックを作り出すために、予測ブロック775を使用することができる。予測ブロックは、再構築ブロック765によって再構築ブロックを作り出すために、微分残差に加えられ得る。ブロッキングアーティファクトを減少させるために、ループフィルタブロック770が再構築ブロックに適用され得る。ブロッキング歪みを減少させるために、ブロック解除フィルタブロック780が再構築ブロックに適用され得る。その結果が、ビデオストリーム5として出力される。
2D表現−球状ブロック785は、球状フレームまたは画像の2D表現を球状フレームまたは画像にマッピングするように構成されてもよい。たとえば、球状フレームまたは画像の2D表現を球状フレームまたは画像にマッピングすることは、エンコーダ625によって行なわれる3D−2Dマッピングの逆であり得る。
図7Bに関して上述されたビデオデコーダ675は、図示されたブロックを含む。しかしながら、例示的な実施形態はそれらに限定されない。使用される異なるビデオ符号化構成および/または手法に基づいて、追加のブロックが追加されてもよい。また、図7Bに関して上述されたビデオデコーダ675に示されるブロックの各々は、使用される異なるビデオ符号化構成および/または手法に基づくオプションのブロックであってもよい。
エンコーダ625およびデコーダ675はそれぞれ、球状ビデオおよび/または画像を符号化するように、ならびに球状ビデオおよび/または画像を復号するように構成されてもよい。球状画像は、球状に組織化された複数の画素を含む画像である。言い換えれば、球状画像は、全方向に連続している画像である。したがって、球状画像の視聴者は、任意の方向(たとえば、上方向、下方向、左方向、右方向、またはそれらの任意の組合せ)に位置または向きを変える(たとえば、自分の頭または目を動かす)ことができ、画像の一部を連続的に見ることができる。
例示的な実現化例では、エンコーダ625において使用され、および/またはエンコーダ625によって判断されたパラメータは、エンコーダ405の他の要素によって使用され得る。たとえば、2D表現を符号化するために使用される(たとえば、予測において使用されるような)運動ベクトルが、タイルを符号化するために使用されてもよい。また、予測ブロック710、変換ブロック715、量子化ブロック720、エントロピー符号化ブロック725、逆量子化ブロック730、逆変換ブロック735、再構築ブロック740、およびループフィルタブロック745において使用され、および/または当該ブロックによって判断されたパラメータは、エンコーダ625とエンコーダ405との間で共有されてもよい。
球状ビデオフレームまたは画像の一部は、画像として処理されてもよい。したがって、球状ビデオフレームの一部は、ブロックのC×Rマトリックス(以下、ブロックと称される)に変換(または分解)されてもよい。たとえば、球状ビデオフレームの一部は、各々が多数の画素を有するブロックの16×16、16×8、8×8、8×4、4×4、4×2、2×2などのマトリックスといったC×Rマトリックスに変換されてもよい。
図8は、少なくとも1つの例示的な実施形態に従ったシステム800を示す。図8に示すように、システム700は、コントローラ620と、コントローラ670と、ビデオエンコーダ625と、ビューフレームストレージ795と、配向センサ835とを含む。コントローラ620はさらに、ビュー位置制御モジュール805と、タイル制御モジュール810と、ビューパースペクティブデータストア815とを含む。コントローラ670はさらに、ビュー位置判断モジュール820と、タイル要求モジュール825と、バッファ830とを含む。
例示的な実現化例によれば、配向センサ835は、視聴者の目(または頭)の配向(または配向の変化)を検出し、ビュー位置判断モジュール820は、検出された配向に基づいて、ビュー、パースペクティブ、またはビューパースペクティブを判断し、タイル要求モジュール825は、(球状ビデオに加えて)ビュー、パースペクティブ、またはビューパースペクティブを、タイルまたは複数のタイルに対する要求の一部として通信する。別の例示的な実現化例によれば、配向センサ835は、HMDまたはディスプレイ上でレンダリングされる際の画像パン配向(image panning orientation)に基づいて、配向(または配向の変化)を検出する。たとえば、HMDのユーザは、焦点深度を変更してもよい。言い換えれば、HMDのユーザは、配向の変化の有無にかかわらず、遠くにあった物体から近くにある物体に自分の焦点を変更してもよい(逆もまた同様)。たとえば、ユーザは、ディスプレイ上にレンダリングされる際の球状ビデオまたは画像の一部の選択、移動、ドラッグ、拡大などを行なうために、マウス、トラックパッド、または(たとえばタッチ感知ディスプレイ上での)ジェスチャを使用してもよい。
タイルに対する要求は、球状ビデオのフレームに対する要求とともに通信されてもよい。タイルに対する要求は、球状ビデオのフレームに対する要求とは別に、ともに通信されてもよい。たとえば、タイルに対する要求は、変更されたビュー、パースペクティブ、またはビューパースペクティブに応答してもよく、以前に要求された、および/または待ち行列に入れられたタイルを置き換える必要性をもたらす。
ビュー位置制御モジュール805は、タイルに対する要求を受信し、処理する。たとえば、ビュー位置制御モジュール805は、ビューに基づいて、フレームと、そのフレームにおけるタイルまたは複数のタイルの位置とを判断し得る。次に、ビュー位置制御モジュール805は、タイル制御モジュール810に、タイルまたは複数のタイルを選択するよう命令し得る。タイルまたは複数のタイルを選択することは、パラメータをビデオエンコーダ625へ渡すことを含み得る。パラメータは、球状ビデオおよび/またはタイルの符号化中にビデオエンコーダ625によって使用され得る。これに代えて、タイルまたは複数のタイルを選択することは、ビューフレームストレージ795からタイルまたは複数のタイルを選択することを含み得る。
したがって、タイル制御モジュール810は、球状ビデオを見ているユーザのビューまたはパースペクティブまたはビューパースペクティブに基づいてタイル(または複数のタイル)を選択するように構成されてもよい。タイルは、ビューに基づいて選択された複数の画素であってもよい。複数の画素は、ユーザによって見られ得る球状画像の一部を含み得る、ブロック、複数のブロック、またはマクロブロックであってもよい。球状画像の一部は、長さと幅とを有していてもよい。球状画像の一部は、2次元、または実質的に2次元であってもよい。タイルは、可変サイズ(たとえば、タイルは球の何割をカバーするか)を有し得る。たとえば、タイルのサイズは、たとえば、視聴者の視野がどれくらい広いか、および/または、ユーザがどれくらい速く自分の頭を回転させているかに基づいて、符号化され、ストリーミングされ得る。たとえば、視聴者が絶えず見回している場合、より大きく、より低品質のタイルが選択されるかもしれない。しかしながら、視聴者が1つのパースペクティブに注目している場合、より小さく、より詳細なタイルが選択されるかもしれない。
したがって、配向センサ835は、視聴者の目(または頭)の配向(または配向の変化)を検出するように構成され得る。たとえば、配向センサ835は、動きを検出するために加速度計を、および、配向を検出するためにジャイロスコープを含み得る。これに代えて、またはこれに加えて、配向センサ835は、視聴者の目または頭の配向を判断するために、視聴者の目または頭に焦点を合わせたカメラまたは赤外線センサを含み得る。これに代えて、またはこれに加えて、配向センサ835は、球状ビデオまたは画像の配向を検出するために、ディスプレイ上でレンダリングされるような球状ビデオまたは画像の一部を判断し得る。配向センサ835は、配向および配向変化情報をビュー位置判断モジュール820に通信するように構成され得る。
ビュー位置判断モジュール820は、球状ビデオに関してビューまたはパースペクティブビュー(たとえば、視聴者が現在見ている球状ビデオの一部)を判断するように構成され得る。ビュー、パースペクティブ、またはビューパースペクティブは、球状ビデオ上の位置、点、または焦点として判断され得る。たとえば、ビューは、球状ビデオ上の緯度および経度位置であってもよい。ビュー、パースペクティブ、またはビューパースペクティブは、球状ビデオに基づいて立方体の辺として判断され得る。ビュー(たとえば、緯度および経度位置、または辺)は、たとえばハイパーテキスト転送プロトコル(HTTP)を使用して、ビュー位置制御モジュール805に通信され得る。
ビュー位置制御モジュール805は、球状ビデオ内のタイルまたは複数のタイルのビュー位置(たとえば、フレーム、およびそのフレーム内での位置)を判断するように構成されてもよい。たとえば、ビュー位置制御モジュール805は、ビュー位置、点、または焦点(たとえば、緯度および経度位置、または辺)を中心とする矩形を選択し得る。タイル制御モジュール810は、当該矩形をタイルまたは複数のタイルとして選択するように構成され得る。タイル制御モジュール810は、(たとえば、パラメータまたは構成設定を介して)ビデオエンコーダ625に、選択されたタイルまたは複数のタイルを符号化するよう命令するように構成され得る。および/または、タイル制御モジュール810は、ビューフレームストレージ795からタイルまたは複数のタイルを選択するように構成され得る。
理解されるように、図6Aに示すシステム600および図6Bに示すシステム650、および/または図8に示すシステム800は、図9に関して以下に説明される汎用コンピュータデバイス900および/または汎用モバイルコンピュータデバイス950の要素および/または拡張として実現されてもよい。これに代えて、またはこれに加えて、図6Aに示すシステム600および図6Bに示すシステム650、および/または図8に示すシステム800は、汎用コンピュータデバイス900および/または汎用モバイルコンピュータデバイス950に関して以下に説明される特徴のうちのいくつかまたはすべてを有する、汎用コンピュータデバイス900および/または汎用モバイルコンピュータデバイス950とは別個のシステムにおいて実現されてもよい。
図9は、ここに説明される手法を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの概略ブロック図である。図9は、ここに説明される手法を用いて使用され得る汎用コンピュータデバイス900および汎用モバイルコンピュータデバイス950の一例である。コンピューティングデバイス900は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータといった、さまざまな形態のデジタルコンピュータを表わすよう意図されている。コンピューティングデバイス950は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスといった、さまざまな形態のモバイルデバイスを表わすよう意図されている。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は単なる例示であることが意図されており、本文書に記載のおよび/または請求項に記載の本発明の実現化例を限定するよう意図されてはいない。
コンピューティングデバイス900は、プロセッサ902と、メモリ904と、記憶装置906と、メモリ904および高速拡張ポート910に接続している高速インターフェイス908と、低速バス914および記憶装置906に接続している低速インターフェイス912とを含む。コンポーネント902、904、906、908、910、および912の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。プロセッサ902は、コンピューティングデバイス900内で実行される命令を処理可能であり、これらの命令は、GUIのためのグラフィック情報を、高速インターフェイス908に結合されたディスプレイ916などの外部入出力デバイス上に表示するために、メモリ904内または記憶装置906上に格納された命令を含む。他の実現化例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。また、複数のコンピューティングデバイス900が接続されてもよく、各デバイスは(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。
メモリ904は、情報をコンピューティングデバイス900内に格納する。一実現化例では、メモリ904は1つまたは複数の揮発性メモリユニットである。別の実現化例では、メモリ904は1つまたは複数の不揮発性メモリユニットである。メモリ904はまた、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
記憶装置906は、コンピューティングデバイス900のための大容量記憶を提供可能である。一実現化例では、記憶装置906は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、もしくは、ストレージエリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラム製品が情報担体において有形に具現化され得る。コンピュータプログラム製品はまた、実行されると上述のような1つ以上の方法を行なう命令を含んでいてもよい。情報担体は、メモリ904、記憶装置906、またはプロセッサ902上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
高速コントローラ908はコンピューティングデバイス900のための帯域幅集約的な動作を管理し、一方、低速コントローラ912はより低い帯域幅集約的な動作を管理する。機能のそのような割当ては例示に過ぎない。一実現化例では、高速コントローラ908は、メモリ904、ディスプレイ916に(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)、および、さまざまな拡張カード(図示せず)を受付け得る高速拡張ポート910に結合される。この実現化例では、低速コントローラ912は、記憶装置906および低速拡張ポート914に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力デバイスに、もしくは、スイッチまたはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
コンピューティングデバイス900は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、標準サーバ920として、またはそのようなサーバのグループで複数回実現されてもよい。それはまた、ラックサーバシステム924の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ922などのパーソナルコンピュータにおいて実現されてもよい。これに代えて、コンピューティングデバイス900からのコンポーネントは、デバイス950などのモバイルデバイス(図示せず)における他のコンポーネントと組合されてもよい。そのようなデバイスの各々は、コンピューティングデバイス900、950のうちの1つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス900、950で構成されてもよい。
コンピューティングデバイス950は、数あるコンポーネントの中でも特に、プロセッサ952と、メモリ964と、ディスプレイ954などの入出力デバイスと、通信インターフェイス966と、トランシーバ968とを含む。デバイス950にはまた、追加の格納を提供するために、マイクロドライブまたは他のデバイスなどの記憶装置が設けられてもよい。コンポーネント950、952、964、954、966、および968の各々は、さまざまなバスを使用して相互接続されており、当該コンポーネントのうちのいくつかは、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。
プロセッサ952は、メモリ964に格納された命令を含む、コンピューティングデバイス950内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス950が実行するアプリケーション、およびデバイス950による無線通信の制御といった、デバイス950の他のコンポーネント同士の連携を提供してもよい。
プロセッサ952は、ディスプレイ954に結合された制御インターフェイス958およびディスプレイインターフェイス956を介してユーザと通信してもよい。ディスプレイ954は、たとえば、TFT LCD(Thin-Film-Transistor Liquid Crystal Display:薄膜トランジスタ液晶ディスプレイ)、またはOLED(Organic Light Emitting Diode:有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス956は、ディスプレイ954を駆動してグラフィカル情報および他の情報をユーザに提示するための適切な回路を含んでいてもよい。制御インターフェイス958は、ユーザからコマンドを受信し、それらをプロセッサ952に送出するために変換してもよい。加えて、デバイス950と他のデバイスとの近接エリア通信を可能にするように、外部インターフェイス962がプロセッサ952と通信した状態で設けられてもよい。外部インターフェイス962は、たとえば、ある実現化例では有線通信を提供し、他の実現化例では無線通信を提供してもよく、複数のインターフェイスも使用されてもよい。
メモリ964は、情報をコンピューティングデバイス950内に格納する。メモリ964は、1つまたは複数のコンピュータ読取可能媒体、1つまたは複数の揮発性メモリユニット、もしくは、1つまたは複数の不揮発性メモリユニットのうちの1つ以上として実現され得る。拡張メモリ974も設けられ、拡張インターフェイス972を介してデバイス950に接続されてもよく、拡張インターフェイス972は、たとえばSIMM(Single In Line Memory Module)カードインターフェイスを含んでいてもよい。そのような拡張メモリ974は、デバイス950に余分の格納スペースを提供してもよく、もしくは、デバイス950のためのアプリケーションまたは他の情報も格納してもよい。具体的には、拡張メモリ974は、上述のプロセスを実行または補足するための命令を含んでいてもよく、安全な情報も含んでいてもよい。このため、たとえば、拡張メモリ974はデバイス950のためのセキュリティモジュールとして設けられてもよく、デバイス950の安全な使用を許可する命令でプログラミングされてもよい。加えて、ハッキング不可能な態様でSIMMカード上に識別情報を載せるといったように、安全なアプリケーションが追加情報とともにSIMMカードを介して提供されてもよい。
メモリはたとえば、以下に説明されるようなフラッシュメモリおよび/またはNVRAMメモリを含んでいてもよい。一実現化例では、コンピュータプログラム製品が情報担体において有形に具現化される。コンピュータプログラム製品は、実行されると上述のような1つ以上の方法を行なう命令を含む。情報担体は、メモリ964、拡張メモリ974、またはプロセッサ952上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、たとえばトランシーバ968または外部インターフェイス962を通して受信され得る。
デバイス950は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス966を介して無線通信してもよい。通信インターフェイス966は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSといった、さまざまなモードまたはプロトコル下での通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ968を介して生じてもよい。加えて、ブルートゥース、Wi−Fi、または他のそのようなトランシーバ(図示せず)などを使用して、短距離通信が生じてもよい。加えて、GPS(Global Positioning System:全地球測位システム)レシーバモジュール970が、追加のナビゲーション関連および位置関連無線データをデバイス950に提供してもよく、当該データは、デバイス950上で実行されるアプリケーションによって適宜使用されてもよい。
デバイス950はまた、ユーザから口頭情報を受信してそれを使用可能なデジタル情報に変換し得る音声コーデック960を使用して、音声通信してもよい。音声コーデック960はまた、たとえばデバイス950のハンドセットにおいて、スピーカを介するなどして、ユーザに聞こえる音を生成してもよい。そのような音は、音声電話からの音を含んでいてもよく、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでいてもよく、デバイス950上で動作するアプリケーションが生成する音も含んでいてもよい。
コンピューティングデバイス950は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、携帯電話980として実現されてもよい。それはまた、スマートフォン982、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
上述の例示的な実施形態のうちのいくつかは、フローチャートとして示されるプロセスまたは方法として説明される。これらのフローチャートは動作を逐次プロセスとして説明しているが、動作の多くは、並列、同時または一斉に行なわれてもよい。加えて、動作の順序は並び替えられてもよい。それらの動作が完了されるとプロセスは終了されてもよいが、図に含まれていない追加のステップも有していてもよい。これらのプロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応していてもよい。
そのいくつかがフローチャートによって示されている、上述された方法は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実現されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードにおいて実現される場合、必要なタスクを行なうプログラムコードまたはコードセグメントは、記憶媒体などの機械読取可能媒体またはコンピュータ読取可能媒体に格納されてもよい。プロセッサが必要なタスクを行なってもよい。
ここに開示された具体的な構造詳細および機能詳細は、例示的な実施形態を説明するための代表的なものに過ぎない。しかしながら、例示的な実施形態は、多くの代替的な形態で具現化され、ここに述べられた実施形態のみに限定されると解釈されるべきでない。
第1、第2などといった用語は、さまざまな要素を説明するためにここに使用され得るが、これらの要素はこれらの用語によって限定されるべきでない、ということが理解されるであろう。これらの用語は、1つの要素を別の要素と区別するために使用されているに過ぎない。たとえば、例示的な実施形態の範囲から逸脱することなく、第1の要素を第2の要素と称してもよく、同様に、第2の要素を第1の要素と称してもよい。ここに使用されるように、「および/または」という用語は、関連付けられる列挙された項目の1つ以上のいずれかおよびすべての組合せを含む。
ある要素が別の要素に接続または結合されると称される場合、ある要素は別の要素に直接接続または結合され得るか、または介在要素が存在し得る、ということが理解されるであろう。対照的に、ある要素が別の要素に直接接続または直接結合されると称される場合、介在要素は存在しない。要素間の関係を説明するために使用される他の文言は、類似の態様(たとえば、「間に」と「間に直接」、「隣接」と「直接隣接」など)で解釈されるべきである。
ここに使用される用語は特定の実施形態を説明するためのものに過ぎず、例示的な実施形態の限定であるよう意図されてはいない。ここに使用されるように、単数形は、文脈が別の態様を明らかに示していない限り、複数形も含むよう意図される。「備える(comprises, comprising)」および/または「含む(includes, including)」という用語は、ここに使用される場合、言及された特徴、整数、ステップ、動作、要素および/またはコンポーネントの存在を特定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネントおよび/またはそれらのグループの存在または追加を排除しない、ということがさらに理解されるであろう。
また、いくつかの代替的な実現化例では、言及された機能/行為が、図に示された順番とは異なって起きてもよい。たとえば、連続して示される2つの図は実際には、関与する機能性/行為に依存して、同時に実行されてもよく、または、時には逆の順序で実行されてもよい。
別の態様で定義されていない限り、ここに使用されるすべての用語(技術用語および科学用語を含む)は、例示的な実施形態が属する技術の当業者によって一般に理解されているのと同じ意味を有する。さらに、たとえば一般に使用されている辞書で定義されているような用語は、関連技術の文脈におけるそれらの意味と一致する意味を有すると解釈されるべきであり、ここに明らかにそう定義されていない限り、理想化されたまたは過度に形式的な意味で解釈されない、ということが理解されるであろう。
ソフトウェア、または、コンピュータメモリ内でのデータビットに対する動作のアルゴリズムおよび記号的表現に関して、上述の例示的な実施形態および対応する詳細な説明の部分が提示される。これらの説明および表現は、当業者が自分の研究の内容を他の当業者に効果的に伝えるものである。アルゴリズムとは、その用語がここに使用される場合、および一般的に使用される場合、所望の結果に至るステップの首尾一貫したシーケンスであると考えられる。これらのステップは、物理量の物理的操作を必要とするものである。必ずではないものの、通常は、これらの量は、格納、転送、組合せ、比較、および別の態様での操作が可能である光学信号、電気信号、または磁気信号の形態を取る。これらの信号をビット、値、要素、記号、文字、項、または数字などと称することは、主に一般的な使用の理由により、時に便利であることが証明されている。
上述の例示的な実施形態において、プログラムモジュールまたは機能的プロセスとして実現され得る(たとえばフローチャートの形態での)行為および動作の記号的表現への参照は、特定のタスクを行ない、または特定の抽象データタイプを実現するとともに、既存の構造要素で既存のハードウェアを使用して記述および/または実現され得る、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。そのような既存のハードウェアは、1つ以上の中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路、または、フィールドプログラマブルゲートアレイ(FPGA)コンピュータなどを含み得る。
しかしながら、これらおよび同様の用語はすべて、適切な物理量に関連付けられるべきであり、これらの量に適用された便利なラベルに過ぎない、ということが念頭に置かれるべきである。特に別記されない限り、あるいは説明から明らかであるように、表示の処理、コンピューティング、計算、または判断といった用語は、コンピュータシステムのレジスタおよびメモリ内で物理的な電子量として表わされるデータを操作し、当該データを、コンピュータシステムメモリ、レジスタ、もしくは他のそのような情報記憶デバイス、送信デバイスまたは表示デバイス内の物理量として同様に表わされる他のデータに変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを指す。
また、例示的な実施形態のソフトウェアによって実現される局面は典型的には、何らかの形態の非一時的なプログラム記憶媒体上で符号化されるか、または、何らかのタイプの伝送媒体上で実現される。プログラム記憶媒体は、磁気的(たとえば、フロッピーディスクまたはハードドライブ)であるか、または光学的(たとえば、コンパクトディスク読み取り専用メモリ、すなわちCD ROM)であってもよく、読み取り専用またはランダムアクセスであってもよい。同様に、伝送媒体は、当該技術について公知であるツイストペア線、同軸ケーブル、光ファイバ、または何らかの他の好適な伝送媒体であってもよい。例示的な実施形態は、所与の実現化例のこれらの局面によって限定されない。
最後に、添付の請求の範囲は、ここに説明された特徴の特定の組合せを述べているが、本開示の範囲は、請求されるその特定の組合せに限定されず、代わりに、その特定の組合せが現時点で添付の請求の範囲において具体的に列挙されているか否かに関わらず、ここに開示された特徴または実施形態の任意の組合せを包含するように広がる。

Claims (21)

  1. 方法であって、
    3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
    前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化するステップと、
    前記3Dビデオの第2の部分を第2の品質で符号化するステップとを含み、前記第1の品質は前記第2の品質と比べてより高い品質であり、
    ストリーミングビデオに対する要求を受信するステップをさらに含み、前記要求は、前記3Dビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記方法はさらに、
    前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、
    前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたカウンタをインクリメントするステップと、
    前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記カウンタを1に設定するステップとを含む、方法。
  2. 3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
    前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化するステップと、
    前記3Dビデオの第2の部分を第2の品質で符号化するステップとを含み、前記第1の品質は前記第2の品質と比べてより高い品質であり、
    前記3Dビデオの前記第2の部分の少なくとも一部を前記第1の品質で繰り返し符号化するステップと、
    前記3Dビデオの前記第2の部分の前記少なくとも一部をストリーミングするステップとをさらに含む、方法。
  3. 過去に視聴されて3次元(3D)ビデオに関連づけられたビューパースペクティブに基づいて、当該3次元(3D)ビデオについての複数の履歴ビューパースペクティブのうちの一つとしてビューパースペクティブを保存するステップを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
    前記複数の履歴ビューパースペクティブに関連付けられたランキング値が閾値よりも大きく、前記複数の履歴ビューパースペクティブの残りに対する条件を満たしているか否かを判断するステップと、
    前記ランキング値が閾値よりも大きく、前記条件を満たしているとの判断に応答して、前記3Dビデオに関連付けれた少なくとも1つの好ましいビューパースペクティブとして、前記複数の履歴ビューパースペクティブの一つを選択するステップと、
    前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化するステップと、
    前記3Dビデオの第2の部分を第2の品質で符号化するステップとを含み、前記第1の品質は前記第2の品質と比べてより高い品質である、方法。
  4. 前記3Dビデオの前記第1の部分をデータストアに格納するステップと、
    前記3Dビデオの前記第2の部分を前記データストアに格納するステップと、
    ストリーミングビデオに対する要求を受信するステップと、
    前記データストアから前記3Dビデオの前記第1の部分と前記3Dビデオの前記第2の部分とを前記ストリーミングビデオとしてストリーミングするステップとをさらに含む、請求項1〜3のいずれかに記載の方法。
  5. ストリーミングビデオに対する要求を受信するステップをさらに含み、前記要求は、ユーザビューパースペクティブの表示を含み、前記方法はさらに、
    前記ユーザビューパースペクティブに対応する3Dビデオを、前記3Dビデオの符号化された前記第1の部分として選択するステップと、
    前記3Dビデオの選択された前記第1の部分と前記3Dビデオの前記第2の部分とを前記ストリーミングビデオとしてストリーミングするステップとを含む、請求項1〜3のいずれかに記載の方法。
  6. ストリーミングビデオに対する要求を受信するステップをさらに含み、前記要求は、前記3Dビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記方法はさらに、
    前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、
    前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたカウンタをインクリメントするステップと、
    前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記カウンタを1に設定するステップとを含む、請求項1〜3のいずれかに記載の方法。
  7. 前記3Dビデオの前記第2の部分を符号化するステップは、少なくとも1つの第1のQoS(Quality of Service)パラメータを第1のパス符号化動作で使用するステップを含み、
    前記3Dビデオの前記第1の部分を符号化するステップは、少なくとも1つの第2のQoS(Quality of Service)パラメータを第2のパス符号化動作で使用するステップを含む、請求項1〜6のいずれか1項に記載の方法。
  8. 前記3Dビデオに関連付けられた前記少なくとも1つの好ましいビューパースペクティブは、前記3Dビデオの視聴者の配向、前記3Dビデオの視聴者の位置、および前記3Dビデオの視聴者の焦点、のうちの少なくとも1つに基づいている、請求項1〜3のいずれかに記載の方法。
  9. 前記3Dビデオに関連付けられた前記少なくとも1つの好ましいビューパースペクティブを判断するステップは、デフォルトビューパースペクティブに基づいており、
    前記デフォルトビューパースペクティブは、
    ディスプレイデバイスのユーザの特性、
    前記ディスプレイデバイスの前記ユーザに関連付けられたグループの特性、
    ディレクターズカット、および、
    前記3Dビデオの特性、のうちの少なくとも1つに基づいている、請求項1〜3のいずれかに記載の方法。
  10. ストリーミングサーバであって、
    3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するように構成されたコントローラと、
    エンコーダとを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
    前記エンコーダは、
    前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化し、
    前記3Dビデオの第2の部分を第2の品質で符号化するように構成され、前記第1の品質は前記第2の品質と比べてより高い品質であり、
    前記コントローラはさらに、
    ストリーミングビデオに対する要求を受信するように構成され、前記要求は、前記3Dビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記コントローラはさらに、
    前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断し、
    前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたカウンタをインクリメントし、
    前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記カウンタを1に設定するように構成される、ストリーミングサーバ。
  11. ストリーミングサーバであって、
    3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するように構成されたコントローラと、
    エンコーダとを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
    前記エンコーダは、
    前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化し、
    前記3Dビデオの第2の部分を第2の品質で符号化するように構成され、前記第1の品質は前記第2の品質と比べてより高い品質であり、
    前記コントローラはさらに、
    前記3Dビデオの前記第2の部分の少なくとも一部を前記第1の品質で繰り返し符号化し、
    前記3Dビデオの前記第2の部分の前記少なくとも一部をストリーミングするように構成される、ストリーミングサーバ。
  12. ストリーミングサーバであって、
    過去に視聴されて3次元(3D)ビデオに関連づけられたビューパースペクティブに基づいて、当該3次元(3D)ビデオについての複数の履歴ビューパースペクティブのうちの一つとしてビューパースペクティブを保存するように構成されたメモリを備え、前記複数の履歴ビューパースペクティブは前記3次元(3D)ビデオの複数のユーザに関連付けられており、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
    コントローラを備え、前記コントローラは、
    前記複数の履歴ビューパースペクティブに関連付けられたランキング値が閾値よりも大きく、前記複数の履歴ビューパースペクティブの残りに対する条件を満たしているか否かを判断し、
    前記ランキング値が閾値よりも大きく、前記条件を満たしているとの判断に応答して、前記3Dビデオに関連付けれた少なくとも1つの好ましいビューパースペクティブとして、前記複数の履歴ビューパースペクティブの一つを選択するように構成されており、
    エンコーダを備え、前記エンコーダは、
    前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化し、
    前記3Dビデオの第2の部分を第2の品質で符号化するように構成されており、前記第1の品質は前記第2の品質と比べてより高い品質である、方法。
  13. 前記コントローラはさらに、
    前記3Dビデオの前記第1の部分をデータストアに格納し、
    前記3Dビデオの前記第2の部分を前記データストアに格納し、
    ストリーミングビデオに対する要求を受信し、
    前記データストアから前記3Dビデオの前記第1の部分と前記3Dビデオの前記第2の部分とを前記ストリーミングビデオとしてストリーミングするように構成される、請求項10〜12のいずれかに記載のストリーミングサーバ。
  14. 前記コントローラはさらに、
    ストリーミングビデオに対する要求を受信するように構成され、前記要求は、ユーザビューパースペクティブの表示を含み、前記コントローラはさらに、
    前記ユーザビューパースペクティブに対応する3Dビデオを、3Dビデオの符号化された前記第1の部分として選択し、
    前記3Dビデオの選択された前記第1の部分と前記3Dビデオの前記第2の部分とを前記ストリーミングビデオとしてストリーミングするように構成される、請求項10〜12のいずれかに記載のストリーミングサーバ。
  15. 前記3Dビデオの前記第2の部分を符号化することは、少なくとも1つの第1のQoS(Quality of Service)パラメータを第1のパス符号化動作で使用することを含み、
    前記3Dビデオの前記第1の部分を符号化することは、少なくとも1つの第2のQoS(Quality of Service)パラメータを第2のパス符号化動作で使用することを含む、請求項10〜12のいずれか1項に記載のストリーミングサーバ。
  16. 前記3Dビデオに関連付けられた前記少なくとも1つの好ましいビューパースペクティブは、前記3Dビデオの視聴者の配向、前記3Dビデオの視聴者の位置、および前記3Dビデオの視聴者の焦点、のうちの少なくとも1つに基づいている、請求項10〜12のいずれかに記載のストリーミングサーバ。
  17. 前記3Dビデオに関連付けられた前記少なくとも1つの好ましいビューパースペクティブを判断することは、デフォルトビューパースペクティブに基づいており、
    前記デフォルトビューパースペクティブは、
    ディスプレイデバイスのユーザの特性、
    前記ディスプレイデバイスの前記ユーザに関連付けられたグループの特性、
    ディレクターズカット、および、
    前記3Dビデオの特性、のうちの少なくとも1つに基づいている、請求項10〜12のいずれかに記載のストリーミングサーバ。
  18. 前記コントローラはさらに、
    前記3Dビデオの前記第2の部分の少なくとも一部を前記第1の品質で繰り返し符号化することと、
    前記3Dビデオの前記第2の部分の前記少なくとも一部をストリーミングすることとを引き起こすように構成される、請求項10または12に記載のストリーミングサーバ。
  19. 方法であって、
    ストリーミングビデオに対する要求を受信するステップを含み、前記要求は、3次元(3D)ビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記ユーザビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
    前記方法はさらに、
    前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、
    前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたランキング値をインクリメントするステップと、
    前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記ランキング値を1に設定するステップとを含む、方法。
  20. 格納された前記ユーザビューパースペクティブに関連付けられた前記ランキング値に基づいて、前記3Dビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップと、
    前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化するステップと、
    前記3Dビデオの第2の部分を第2の品質で符号化するステップとをさらに含み、前記第1の品質は前記第2の品質と比べてより高い品質である、請求項19に記載の方法。
  21. コンピュータによって実行されるプログラムであって、
    前記プログラムは、前記コンピュータに、請求項1〜9、19および20のいずれか1項に記載の方法を実行させる、プログラム。
JP2017550903A 2015-05-27 2016-05-27 ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置 Active JP6672327B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562167261P 2015-05-27 2015-05-27
US62/167,261 2015-05-27
PCT/US2016/034698 WO2016191702A1 (en) 2015-05-27 2016-05-27 Method and apparatus to reduce spherical video bandwidth to user headset

Publications (2)

Publication Number Publication Date
JP2018522430A JP2018522430A (ja) 2018-08-09
JP6672327B2 true JP6672327B2 (ja) 2020-03-25

Family

ID=56137532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017550903A Active JP6672327B2 (ja) 2015-05-27 2016-05-27 ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置

Country Status (5)

Country Link
EP (1) EP3304895A1 (ja)
JP (1) JP6672327B2 (ja)
KR (1) KR101969943B1 (ja)
CN (1) CN107409203A (ja)
WO (1) WO2016191702A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11164606B2 (en) 2017-06-30 2021-11-02 Qualcomm Incorporated Audio-driven viewport selection
US11290758B2 (en) * 2017-08-30 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus of point-cloud streaming
WO2019068310A1 (en) * 2017-10-02 2019-04-11 Telefonaktiebolaget Lm Ericsson (Publ) IMPROVED ENCODING METHOD AND APPARATUS FOR IMMERSIVE VIDEO
CN109996069B (zh) 2018-01-03 2021-12-10 华为技术有限公司 视频图像编解码方法及设备
EP3515082B1 (en) * 2018-01-19 2020-05-13 Nokia Technologies Oy Server device for streaming video content and client device for receiving and rendering video content
CN109089097A (zh) * 2018-08-28 2018-12-25 恒信东方文化股份有限公司 一种基于vr图像处理的焦点对象选取方法
WO2021097803A1 (zh) * 2019-11-22 2021-05-27 北京小米移动软件有限公司 资源切换方法、装置及存储介质
WO2023090961A1 (ko) * 2021-11-22 2023-05-25 주식회사 컬러버스 웹 브라우저를 이용한 복수 3차원 컨텐츠 제공 시스템 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3579526B2 (ja) * 1995-10-31 2004-10-20 エヌ・ティ・ティ・コミュニケーションズ株式会社 記憶装置へのアクセス処理方法とそのシステム
JP2004072694A (ja) * 2002-08-09 2004-03-04 Sony Corp 情報提供システムおよび方法、情報提供装置および方法、記録媒体、並びにプログラム
CN101453639B (zh) * 2007-11-29 2012-05-30 展讯通信(上海)有限公司 支持roi区域的多路视频流的编码、解码方法和***
US8280226B2 (en) * 2009-04-06 2012-10-02 International Business Machines Corporation Content recorder multi-angle viewing and playback
US8863204B2 (en) * 2010-12-20 2014-10-14 Comcast Cable Communications, Llc Cache management in a video content distribution network
US9201495B2 (en) * 2012-04-24 2015-12-01 Mobitv, Inc. Control of perspective in multi-dimensional media
US9106934B2 (en) * 2013-01-29 2015-08-11 Espial Group Inc. Distribution of adaptive bit rate live streaming video via hyper-text transfer protocol
JP2014157459A (ja) * 2013-02-15 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> キャッシュ装置、コンテンツ配信システム、および、コンテンツ配信方法
JP6548203B2 (ja) * 2013-03-18 2019-07-24 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および、パノラマ動画表示方法
EP3008896B1 (en) * 2013-07-15 2021-03-31 Sony Corporation Extensions of motion-constrained tile sets sei message for interactivity

Also Published As

Publication number Publication date
KR20170122791A (ko) 2017-11-06
KR101969943B1 (ko) 2019-08-13
JP2018522430A (ja) 2018-08-09
CN107409203A (zh) 2017-11-28
EP3304895A1 (en) 2018-04-11
WO2016191702A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
JP6672327B2 (ja) ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置
US20160353146A1 (en) Method and apparatus to reduce spherical video bandwidth to user headset
US10379601B2 (en) Playing spherical video on a limited bandwidth connection
JP6501904B2 (ja) 球面ビデオのストリーミング
US9917877B2 (en) Streaming the visible parts of a spherical video
EP3782368A1 (en) Processing video patches for three-dimensional content
US9918094B2 (en) Compressing and representing multi-view video
US20210314670A1 (en) Content based stream splitting of video data
US20240119660A1 (en) Methods for transmitting and rendering a 3d scene, method for generating patches, and corresponding devices and computer programs
US20170048532A1 (en) Processing encoded bitstreams to improve memory utilization
JP7447298B2 (ja) 遠隔端末用の没入型テレビ会議及びテレプレゼンスのためのビットストリーム構造
JP7516513B2 (ja) ビューポートに基づくストリーミング用のフォールバックビットストリームを有するビットストリーム構造
US20210377527A1 (en) Bitstream structure for viewport-based streaming with a fallback bitstream

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190801

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200304

R150 Certificate of patent or registration of utility model

Ref document number: 6672327

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250