JP6501904B2 - 球面ビデオのストリーミング - Google Patents

球面ビデオのストリーミング Download PDF

Info

Publication number
JP6501904B2
JP6501904B2 JP2017550744A JP2017550744A JP6501904B2 JP 6501904 B2 JP6501904 B2 JP 6501904B2 JP 2017550744 A JP2017550744 A JP 2017550744A JP 2017550744 A JP2017550744 A JP 2017550744A JP 6501904 B2 JP6501904 B2 JP 6501904B2
Authority
JP
Japan
Prior art keywords
video
frame
quality
video stream
stream
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
JP2017550744A
Other languages
English (en)
Other versions
JP2018525852A (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 JP2018525852A publication Critical patent/JP2018525852A/ja
Application granted granted Critical
Publication of JP6501904B2 publication Critical patent/JP6501904B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Description

関連出願への相互参照
この出願は、「球面ビデオのストリーミングおよび再生(SPHERICAL VIDEO STREAMING AND PLAYBACK)」という名称を有する2015年5月27日に出願された米国特許出願番号第62/167,260号への優先権を請求しており、その全文が本願明細書において参照により援用される。
分野
実施形態は球面ビデオ(spherical video)をストリーミングすることに関する。
背景
球面ビデオ(または他の3次元ビデオ)をストリーミングすることは、有意な量のシステムリソースを消費し得る。たとえば、エンコードされた球面ビデオは、送信のために多くのビットを含み得、これにより、有意な量の帯域幅が消費され得るとともに、エンコーダおよびデコーダに関連付けられる処理およびメモリが消費され得る。
概要
例示的な実施形態は、ビデオをストリーミングすること、3Dビデオをストリーミングすること、および/または、球面ビデオをストリーミングすることを最適化するシステムおよび方法を記載する。例示的な実施形態は、ビデオの再生、3Dビデオの再生、および/または、球面ビデオの再生を最適化するシステムおよび方法を記載する。
一般的な局面において、方法は、第1の品質を有する第1のビデオストリームを再生デバイスにおいて受信することと、少なくとも2つの第2のビデオストリームを再生デバイスにおいて受信することとを含み、少なくとも2つの第2のビデオストリームは各々、第1のビデオストリームの部分に対応しており、少なくとも2つの第2のビデオストリームは第1の品質と比較してより高品質である第2の品質を有しており、上記方法はさらに、再生デバイスにおいて第1のビデオストリームを再生することと、再生デバイスのユーザの視界パースペクティブに基づいて、少なくとも2つの第2のビデオストリームから第3のビデオストリームを選択することと、再生デバイスにおいて第1のビデオストリームと一緒に第3のビデオストリームを再生することとを含む。
実現例は、以下の特徴のうち1つ以上を含み得る。たとえば、上記方法はさらに、再生デバイスのユーザの視界パースペクティブが変化したことを判定することと、変化した視界パースペクティブに基づいて、少なくとも2つの第2のビデオストリームから第4のビデオストリームを選択することと、再生デバイスにおいて第1のビデオストリームと一緒に第4のビデオストリームを再生することを含み得る。第1の品質はビットレートおよび解像度に基づいており、ビットレートは最小の通信チャネル性能に基づいており、解像度は再生デバイスに関連付けられる最小ピクセル密度に基づいている。たとえば、上記方法はさらに、第1のビデオストリームをバッファリングすることをさらに含み得、再生デバイスにおいて第1のビデオストリームと一緒に第3のビデオストリームを再生することは、第1のビデオストリームの対応する部分を第3のビデオストリームに置換することと、再生デバイス上でその結果をレンダリングすること、第3のビデオストリームに問題が存在することを判定することとを含み、第3のビデオストリームに問題が存在することを判定する際に、バッファリングされた第1のビデオストリームは再生デバイス上でレンダリングされる。
再生デバイスはヘッドマウントディスプレイ(HMD)であり、再生デバイスにおいて第1のビデオストリームと一緒に第3のビデオストリームを再生することは、HMDの左目または右目ディスプレイのうちの一方の上で第1のビデオストリームをレンダリングすることと、HMDの左目または右目ディスプレイのうちの他方の上で第3のビデオストリームをレンダリングすることとを含む。少なくとも2つの第2のビデオストリームは、異なるタイムスタンプにてエンコードされる関連付けられるキーフレームを有する。
たとえば、上記方法はさらに、少なくとも2つの第2のビデオストリームの各々が再生デバイスの閲覧可能しきい値内にあるかどうか判定することと、少なくとも2つの第2のビデオストリームが再生デバイスの閲覧可能しきい値内にあると判定する際に、少なくとも2つの第2のビデオストリームをデコードすることと、少なくとも2つの第2のビデオストリームが再生デバイスの閲覧可能しきい値内にないと判定する際に、少なくとも2つの第2のビデオストリームをデコードすることをスキップすることとを含み得る。
別の一般的な局面において、方法は第1の品質でビデオのフレームをエンコードすることと、第1の品質と比較してより高品質である第2の品質でビデオのフレームの少なくとも2つの部分をエンコードすることと、ビデオのフレームを格納することと、ビデオのフレームの少なくとも2つの部分を格納することとを含む。
実現例は、以下の特徴の1つ以上を含み得る。たとえば、上記方法はさらに、ビデオのフレームをストリーミングすることと、ビデオのフレームの少なくとも2つの部分をストリーミングすることとを含み得る。第2の品質でビデオのフレームの少なくとも2つの部分をエンコーディングすることは、異なるタイムスタンプを有するキーフレームを使用してビデオのフレームの少なくとも2つの部分の各々をエンコードすることを含む。たとえば、上記方法はさらに、再生デバイスに関連付けられる動きの量を示すものを受信することと、動きに基づいて、ビデオのフレームの少なくとも2つの部分に関連付けられるサイズを適合することとを含み得る。ビデオをストリーミングする要求を受信することと、ビデオのフレームと、ビデオのフレームの少なくとも2つの部分のうちの1つとを用いてフレームを構築することと、構築されたフレームをストリーミングすることとである。ビデオのフレームは球面ビデオに関連付けられており、ビデオのフレームをエンコードすることは、キューブマップとしてビデオのフレームを投影することと、等角サンプリングアルゴリズムを使用してキューブマップをエンコードすることとを含む。
ビデオのフレームは球面ビデオに関連付けられており、上記方法はさらに、キューブマップとしてビデオのフレームを投影することと、キューブマップのキューブ面を選択することとを含む。ビデオのフレームをエンコードすることは第1の品質でキューブ面をエンコードすることを含み、ビデオのフレームの少なくとも2つの部分をエンコードすることは、第2の品質でキューブ面の少なくとも2つの部分をエンコードすることを含む。たとえば、上記方法はさらに、ビデオのフレームをストリーミングすることと、ビデオのフレームの少なくとも2つの部分をストリーミングすることと、再生デバイス上での再生が一時停止したということを示すものを受信することと、第2の品質でビデオのフレームをエンコードすることと、第2の品質でエンコードされたビデオのフレームをストリーミングすることとを含み得る。第1の品質は、低フレームレート高解像度ストリーム、モノストリーム、低減色ストリームおよび白黒ストリームのうちの少なくとも1つに基づく。たとえば、上記方法はさらに、複数のエンコードされたフレームとしてビデオのフレームをストリーミングすることと、第3の品質を達成するよう、ビデオのストリーミング中に複数のエンコードされたフレームのうちの少なくとも1つのフレームをドロップすることとを含み得る。
さらに別の一般的な局面において、サーバおよび/またはストリーミングサーバは、エンコーダ、メモリおよびコントローラを含む。エンコーダは、第1の品質でビデオのフレームをエンコードすることと、第1の品質と比較してより高品質である第2の品質でビデオのフレームの少なくとも2つの部分をエンコードすることとを行うように構成される。メモリは、ビデオのフレームを格納することと、ビデオのフレームの少なくとも2つの部分を格納することとを行うように構成される。コントローラは、エンコードされたフレームと、ビデオのフレームのエンコードされた少なくとも2つの部分のうちの1つ以上とを含むビデオをストリーミングすることを行うように構成される。
実現例は、以下の特徴の1つ以上を含み得る。たとえば、第2の品質でビデオのフレームの少なくとも2つの部分をエンコーディングすることは、異なるタイムスタンプを有するキーフレームを使用してビデオのフレームの少なくとも2つの部分の各々をエンコードすることを含む。ビデオのフレームは球面ビデオに関連付けられており、エンコーダはさらに、キューブマップとしてビデオのフレームを投影することと、キューブマップのキューブ面を選択することとを行うように構成される。ビデオのフレームをエンコードすることは第1の品質でキューブ面をエンコードすることを含み、ビデオのフレームの少なくとも2つの部分をエンコードすることは、第2の品質でキューブ面の少なくとも2つの部分をエンコードすることを含む。
例示的な実施形態は、本願明細書において以下に提供される詳細な説明および添付の図面からより完全に理解されるであろう。当該図面においては、同様の要素が同様の参照番号によって表わされ、当該要素は、例示目的でのみ与えられており、したがって、当該例示的な実施形態の限定ではない。
少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態におけるタイミング図を示す図である。 少なくとも1つの例示的な実施形態におけるタイミング図を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 少なくとも1つの例示的な実施形態に従った方法を示す図である。 3Dバーチャルリアリティ(VR)環境において立体画像および/またはビデオをキャプチャしてレンダリングするための例示的なシステムのブロック図である。 少なくとも1つの例示的な実施形態に従ったビデオエンコーダシステムを示す図である。 少なくとも1つの例示的な実施形態に従ったビデオデコーダシステムを示す図である。 少なくとも1つの例示的な実施形態に従ったビデオエンコーダシステムについてのフロー図を示す図である。 少なくとも1つの例示的な実施形態に従ったビデオデコーダシステムについてのフロー図を示す図である。 少なくとも1つの例示的な実施形態に従った球面の2次元(2D)表現を示す図である。 少なくとも1つの例示的な実施形態に従ったシステムを示す図である。 本願明細書に記載の技術を実現するために用いられ得るコンピュータデバイスおよびモバイルコンピュータデバイスの概略的なブロック図である。
なお、これらの図は、ある例示的な実施形態において利用される方法、構造および/または材料の一般的な特徴を示すように意図されており、かつ、以下に提供される記載を補足するように意図されている。しかしながら、これらの図面は、尺度決めされるべきではなく、任意の所与の実施形態の厳密な構造特性または性能特性を厳密に反映していない場合があり、例示的な実施形態が包含する値または特性の範囲を規定または限定していると解釈されるべきでない。たとえば、構造要素同士の相対的な厚さおよび位置は、明瞭さのために、低減または誇張され得る。さまざまな図面における同様または同一の参照番号の使用は、同様または同一の要素または特徴の存在を示すように意図される。
例示的な実施形態は、さまざまな修正例および代替的な形態を含み得るが、その実施形態は、図面において例として示されており、本願明細書において詳細に記載される。しかしながら、開示された特定の形態に例示的な実施形態を限定する意図はなく、これとは反対に、例示的な実施形態は、請求の範囲内にあるすべての修正例、同等例および代替例をカバーすることが理解されるべきである。同様の数字は、図の記載の全体にわたって同様の要素を参照する。
図1〜図4および図6〜図14は、例示的な実施形態に従った方法のフローチャートである。図1〜図4および図6〜図14に関して記載されるステップは、(たとえば図16に示されるような)装置に関連付けられるメモリ(たとえば少なくとも1つのメモリ1610)に格納されるソフトウェアコードの実行により行なわれ得る。当該ソフトウェアコードは、上記装置に関連付けられる少なくとも1つのプロセッサ(たとえば少なくとも1つのプロセッサ1605)によって実行される。しかしながら、特殊目的プロセッサとして具現化されるシステムのような代替的な実施形態が考えられる。以下に記載されるステップは、プロセッサによって実行されるものとして記載されるが、ステップは必ずしも同じプロセッサによって実行されるわけではない。言いかえれば、少なくとも1つのプロセッサが、図1〜図4および図6〜図14に関して以下に記載されるステップを実行し得る。
例示的な実現例に従うと、球面ビデオおよび/または球面ビデオのフレームに関して、球面の異なる部分をカバーする複数の異なる視界パースペクティブ(view perspective)がエンコードされ得る。なんらかの間隔で(たとえばユーザが移動すると)、ユーザが見ている品質に最も重点を置いている(球面ビデオの)ストリームが選択またはスイッチングされ得る。例示的な実現例に従うと、球面ビデオの全球面の低解像度ビデオレイヤーがストリーミングされ得るとともに、動的にスイッチングされる高解像度視点ビデオがストリーミングされ、低解像度ビデオの上に合成され得る。各々が球面の一部分をカバーする高品質ストリームおよび低品質ストリームは、ユーザの視界パースペクティブに基づいて動的にスイッチングされ得る。高解像度ビデオと低解像度ビデオとの間の境界は、解像度の変化を隠すために混合され得る(たとえば、ピクセルがそれらの間で互い違いにされ得る)。解像度を向上させ、したがってレンダリングされるビデオの品質を向上させるために、ビデオタイルの最大4分木のような構造(full-on quadtree like structure)が詳細を充填するよう使用され得る。さらに、球面の閲覧部分についての高解像度と、同じフレームにおける当該球面の残りの低解像度表現とをパックする単一の動的にスイッチングされるストリームが利用され得る。例示的な実現例は、ユーザが速く振り向く場合において全球面について示すべき画像を有し得るが、ユーザがじっと見ているところにのみ高解像度画像を提供する。例示的な実現例は、クライアント側の複雑さ(複数のストリームを同期/デコードすること)およびサーバのストレージコストなどにおけるトレードオフを考慮し得る。
図1は、少なくとも1つの例示的な実施形態に従ったストリーミング球面ビデオのストリーム同士の間でスイッチングするための方法を示す。図1に示されるように、ステップS105では、球面ビデオのフレームが第1の品質でエンコードされる。たとえば、フレームは、球面ビデオがディスプレイ(たとえばヘッドマウントディスプレイ(HMD: head mount display))上で再生される場合に最小のユーザ体験を提供するように構成される品質(たとえばビットレートおよび解像度)でエンコードされ得る。したがって、ビットレートは最小の通信チャネル性能に基づき得、解像度は最小のピクセル密度に基づき得る。
ステップS110において、エンコードされたフレームは、第1のビデオストリームのフレームとしてサーバデバイスに格納される。たとえば、エンコードされたフレームは、ユーザデバイスからの要求に基づいて将来の再生のために格納され得る。
ステップS115において、当該フレームの複数の部分が、視界パースペクティブに基づいて第2の品質でエンコードされる。たとえば、第2の品質は第1の品質より高品質であり得る。第2の品質は、再生時においてより高いピクセル密度を有する解像度に基づき得、および/または、第1の品質に関連付けられるビットレートより高いビットレート(たとえばより多くのデータ)のために構成される。当該フレームの複数の部分は、たとえばHMDのユーザによって閲覧されると予想される部分であり得る。1つの例示的な実現例では、フレーム全体は、部分に分割され、フレームの複数の部分としてエンコードされる。
ステップS120において、当該フレームの複数の部分は、複数の第2のビデオストリームとしてサーバデバイスに格納される。たとえば、フレームのエンコードされた複数の部分は、ユーザデバイスからの要求に基づいた将来の再生のために格納され得る。
ステップS125において、第1のビデオストリームは再生デバイスにストリーミングされる。たとえば、第1のビデオストリームは、HMD上での再生のための基本的または最小の体験のビデオとしてストリーミングされ得る。
ステップS130において、複数の第2のビデオストリームの少なくとも1つは再生デバイスにストリーミングされる。たとえば、第2のストリームは、視界パースペクティブ(または球面ビデオの閲覧者が現在焦点を合わせているもの)に基づいて複数の第2のビデオストリームから選択され得る。
ステップS135において、再生デバイスでは、第1のビデオストリームは、再生デバイス上で(表示のために)再生またはレンダリングされる。たとえば、第1のビデオストリームは、HMD上にレンダリングおよび表示され得る。ステップS140において、再生デバイスでは、決定された視界パースペクティブに基づいて、複数の第2のビデオストリームのうちの2つ(またはそれ以上)のビデオストリームの再生がそれらの間でスイッチングされる。たとえば、HMDのユーザが視界パースペクティブを変更する(たとえば、ユーザの頭および/または目を動かす)と、HMD上での再生のために異なる第2のビデオストリームが選択され得る。言いかえれば、(決定された)変更された視界パースペクティブに基づいて、第2のビデオストリームのうちの少なくとも2つの間でHMD上の再生が切り替わる。
図2は、全球面の低/中品質ストリームをバッファリングするための方法を示す。図2に示されるように、ステップS205において、球面ビデオのフレームが第1の品質でエンコードされる。たとえば、フレームは、球面ビデオがディスプレイ(たとえばヘッドマウントディスプレイ(HMD:head mount display))上で再生される場合に最小のユーザ体験を提供するように構成される品質(たとえばビットレートおよび解像度)でエンコードされ得る。したがって、ビットレートは最小の通信チャネル性能に基づき得、解像度は最小のピクセル密度に基づき得る。その後、エンコードされたフレームは、再生デバイスにストリーミングされる(S210)。その後、エンコードされたフレームは、再生デバイスにおいてバッファリングされる(S215)。たとえば、エンコードされたストリーミングされたフレームは、再生デバイスのメモリ(または再生デバイスに関連付けられるメモリ)にバッファリングされる(またはキューに入れられる)。
ステップS220において、当該フレームの複数の部分が、視界パースペクティブに基づいて第2の品質でエンコードされる。たとえば、第2の品質は第1の品質より高品質であり得る。第2の品質は、再生時においてより高いピクセル密度を有する解像度に基づき得、および/または、第1の品質に関連付けられるビットレートより高いビットレート(たとえばより多くのデータ)のために構成され得る。当該フレームの複数の部分は、たとえばHMDのユーザによって閲覧されると予想される部分であり得る。1つの例示的な実現例では、フレーム全体は、部分に分割され、フレームの複数の部分としてエンコードされる。その後、フレームのエンコードされた複数の部分は、再生デバイスにストリーミングされる(S225)。再生デバイスは、最小または第1の品質でエンコードされたフレームと、第2の品質でエンコードされたフレームの複数の部分(のうちの1つ以上)とを組み合わせ得る。その後、その結果が再生デバイス上でレンダリングされ得る。
ステップS230において、再生デバイスにおいてフレームのエンコードされた部分に問題が存在するかどうかが判断される。たとえば、ストリームが再生位置に追いつく間ビデオが意図せず一時停止する(たとえばストリームをダウンロードする際における)レイテンシーが存在し得る。フレームのエンコードされた部分に問題が存在する場合(S230)、球面ビデオの再生は、対応するバッファリングされたビデオにスイッチングされる。言いかえれば、問題が存在する場合、バッファリングされたビデオストリームが再生デバイス上でレンダリングされる。たとえば、再生デバイスは、バッファ(またはキュー)に格納されたバッファリングされた(低品質の)球面ビデオを読み出し、デコードし、レンダリングし、表示し得る。
ユーザが最近、相対的にゆっくり移動しているかまたは1つのエリアを凝視している場合、例示的な実現例は、相対的により高品質で球面の相対的により小さな領域をストリーミングし得る。ユーザが自身の頭をしばしば動かしている場合、例示的な実現例は、中程度の品質で球面のより大きな部分をストリーミングし得る。例示的な実現例に従うと、頭の動きの平均レベル(速度およびカバーされる球面の量など)は、ある期間にわたって決定(あるいは測定)され得、適切な高品質領域サイズが選択され得る。
図3は、頭の動きの量に基づいて高品質の領域のサイズを適合するための方法を示す。図3に示されるように、ステップS305では、頭および/または目の動きの量が決定される。たとえば、閲覧者の目(または頭)の方位(または方位の変化)を検出するように方位センサが構成され得る。たとえば、方位センサは、動きを検出するために加速度計を含み得、また、方位を検出するためにジャイロスコープを含み得る。代替的または付加的には、方位センサは、閲覧者の目または頭の方位を決定するために、閲覧者の目または頭に焦点を合わせたカメラまたは赤外線センサを含み得る。動きの量は、しきい値またはしきい値の範囲に基づき得る。
動きの量がしきい値を上回るか、または、しきい値の範囲の範囲内にある場合(ステップS310)、球面ビデオの部分のサイズが、当該動きに基づいて適合される。たとえば、ユーザが自身の頭を相対的にゆっくり動かしているか、または、1つのエリアを凝視している場合、例示的な実現例は、相対的により高品質で球面の相対的により小さな領域をストリーミングし得る。ユーザが自身の頭をしばしば動かしている場合、例示的な実現例は、中程度の品質で球面のより大きな部分をストリーミングし得る。
球面ビデオを表わす球面のあらかじめエンコードされた部分のセットがある品質でエンコードされる場合、当該球面ビデオ(またはその部分)は、たとえば現在の視界パースペクティブに基づいて、あらかじめエンコードされた部分を単一のビデオビットストリームへとスティッチング(stitch)することにより、あらかじめエンコードされた部分を使用して再構築され得る。球面ビデオの再構築は、オンデマンドであり得、サーバ上で行なわれ得る。
図4は、オンデマンドでビデオビットストリームを構築するための方法を示す。図4に示されるように、ステップS405において、球面ビデオのフレームの複数の部分が、当該フレームにおける画像に基づいて生成される。たとえば、当該複数の部分は、類似するかまたは同様の隣接した境界を有するように生成され得る。球面ビデオのフレームの複数の部分(S410)。たとえば、各部分は、同じ所望の品質に基づいてエンコードされ得る。
ステップS415において、球面ビデオのフレームのエンコードされた複数の部分は、複数のタイルとして格納される。たとえば、複数のタイルは、同じ数のピクセルを表わす同じサイズである。ステップS420において、球面ビデオをストリーミングするよう要求する。たとえば、ユーザデバイス(たとえばHMD)は、再生のために球面ビデオを要求する。サーバは、複数のタイルに基づいてビデオフレームを構築し得る(S425)。たとえば、隣接したタイルのピクセルを表わすビットは、デコードされたときにユーザデバイス上にレンダリングおよび表示され得る再構築されたフレームが得られる技術を使用してデータパケットに格納され得る。構築されたフレームは、球面ビデオの複数のフレームのうちの1つとしてストリーミングされる(S430)。
図5Aは、対応する時間(T)505,510,515,520において生成されるn個のキーフレーム525,530,535,540を示す。キーフレームタイミングは、スイッチングレイテンシーを低減するために、視界パースペクティブにわたってずれ得る。たとえば、第1の視界パースペクティブは、タイムスタンプ0,2,4など(たとえば秒およびミリ秒など)においてキーフレームを有し得、第2の視界パースペクティブは、1,3,5,7(たとえば秒およびミリ秒など)などにおいてキーフレームを有し得る。タイムスタンプ2では、第1の視界パースペクティブが選択され得、タイムスタンプ3では、第2の視界パースペクティブが選択され得、タイムスタンプ4では、第1の視界パースペクティブが選択され得る。ずれている(変動可能または異なる)タイムスタンプによって、視界パースペクティブが同じタイムスタンプ間隔で生成されるキーフレームでエンコードされる場合よりも、視界パースペクティブ同士間のスイッチングがより速くなることが可能になり得る。
いくつかの研究によれば、一方の目に高解像度画像が示され、他の目に低解像度画像が示される場合、脳は、「空白を埋める」ようなことを行い得、画像が普通に(okay)見える。したがって、両目にわたるずれたキーフレーム(たとえば、左目は偶数秒ごとにストリームを有し、右目は奇数秒ごとにストリームを有する)により、知覚されるストリームスイッチング時間は、低品質ビデオから高品質ビデオにスイッチングするときから2倍になり得る。
可変のキーフレーム間隔も同様に使用され得る。あるシーンの最も興味深い部分が大きな動きをしている場合、キーフレーム間隔は、その動きの周辺の動きの期間の間、減少され得る。さらに、焦点および平均的な動きが、再生中にユーザ挙動のログを記録することから学習され得る。または、顕著な動きのコンピュータビジョン分析の使用によって、初期の動きのホットスポットが与えられ得る。
キーフレームが固定間隔(たとえば4秒ごと)で生成された場合、より速いスイッチングを可能にするために、当該タイムラインにおける異なるポイントに配置されるキーフレームで、交互のストリームがエンコードされ得る。たとえば、単一の視界パースペクティブに関連付けられる4つのストリームの場合、ストリームAは0,4,8秒にてキーフレームを有し得、ストリームBは1,5,9秒にてキーフレームを有し得、ストリームCは2,6,10秒にてキーフレームを有し得、ストリームDは3,7,11秒にてキーフレームを有し得る。したがって、0,1,2,または3秒のスイッチングでの視界パースペクティブが、単一のIフレームの重い(たとえば圧縮効率が低減された)ストリームを必要とすることなく達成され得る。
例示的な実現例において、これらのクリップは、ストレージオーバーヘッドを低減するよう異なる長さでエンコードされ得る(たとえば、4秒ごとにキーフレームで始まる完全な4秒のストリームが存在し、その後、1秒オフセットして、そのタイムラインに1秒入ったキーフレームを有する3秒のストリームが存在し、その後、2秒オフセットした2秒のストリームが存在し、また3秒オフセットした1秒のストリームが存在する)。たとえば、ストリームAは、0でスタートし、4の持続時間を有し得、ストリームBは、1でスタートし、3の持続時間を有し得、ストリームCは、2でスタートし、2の持続時間を有し得、ストリームDは、3でスタートし、1の持続時間を有し得る。
図5Bは、複数のタイムスタンプが与えられたキーフレームを使用して、球面ビデオをエンコードするための方法を示す。図5Bに示されるように、ステップS505において、複数のキーフレームが、球面ビデオ内の複数の時間(またはタイムスタンプ)にてエンコードされる。たとえば、上で論じたように、キーフレームは、視界パースペクティブにわたってずれ得、および/または立体(左目/右目)視界または画像であり得る。キーフレームは、固定間隔で生成され得る。
ステップS510において、エンコード対象のフレームが、複数のキーフレームのうちの1つに関連付けられる。たとえば、第1の視界パースペクティブが第1のキーフレームに関連付けられ得、第2の視界パースペクティブが第2のキーフレームに関連付けられ得る。左目フレームが第1のキーフレームに関連付けられ得、右目フレームが第2のキーフレームに関連付けられ得る。次いで、エンコード対象のフレームは、当該関連付けられたキーフレームに基づいてエンコードされる(S515)。
ユーザが球面ビデオの低品質部分を見ることが予想されないユースケースでは、いくつかのフレームまたはあるフレームの部分をデコードすることがスキップされ得る。図6は、球面ビデオの低品質部分のデコーディングをスキップするための方法を示す。図6に示されるように、ステップS605では、ストリーミング球面ビデオのフレームが受信される。フレームは、複数のエンコードされた部分を含む。
ステップS610において、エンコードされた部分が、閲覧可能しきい値の内にあるかどうかが判定される。エンコードされた部分が閲覧可能部分内にない場合、処理は、ステップS620へと継続し、デコーディングは行なわれないかまたはスキップされる。そうでなければ、処理はステップS615へと継続し、当該部分がデコードされる。
正距円筒図法(equirectangular projection)は、いくつかの球面ビデオおよび/または画像には非効率的であり得る。たとえば、極部(poles)のピクセル密度には、所望よりも多くのピクセルが割り当てられる一方、閲覧者は典型的に赤道部(equator)により興味を持っている。さらに、正距円筒図法は、直線を湾曲し得、これにより、エンコードがより困難になる。キューブマップを使用して球面画像をエンコードすることがより効率的であり得る。なぜならば、各面(face)が正常なビデオのように見えるからである。したがって、各面は、ピクセル密度を変動させることを補償することなくエンコードされ得る。しかしながら、キューブマップでは、球面のサンプリングが非常に一様でなくなり得る(面の縁部/角部に向かうほどピクセルが多くなる)。例示的な実施形態において、キューブマップは、各面について90×90°の角度にわたって均等にサンプリングされ得る。これにより、球面の均一(または幾分均一)なサンプリングまたは等角サンプリングを提供する投影が得られる。そのため、各面は、従来のコーデックにより適切に良好に圧縮され得る。たとえば、各キューブ面は、わずかな魚眼効果(fisheye effect)を有する規則的なビデオ投影のように現われ得る。
図7は、球面ビデオのエンコーディングのための方法を示す。図7に示されるように、ステップS705において、球面画像またはフレームがキューブマップとして投影される。ステップS710において、キューブマップは、等角サンプリングアルゴリズムを使用してエンコードされる。たとえば、キューブマップの各面は、当該面の縁部または境界おいてよりも、面の中心においてより高いサンプリングレートでサンプリングされる。
図8は、球面ビデオのストリーミングのための方法を示す。図8に示されるように、ステップS805において、球面画像またはフレームのキューブマップ投影のキューブ面がエンコーディングのために選択される。
ステップS810において、キューブ面は第1の品質でエンコードされる。たとえば、フレームは、球面ビデオがディスプレイ(たとえばヘッドマウントディスプレイ(HMD:head mount display))上で再生される場合に最小のユーザ体験を提供するように構成される品質(たとえばビットレートおよび解像度)でエンコードされ得る。したがって、ビットレートは最小の通信チャネル性能に基づき得、解像度は最小のピクセル密度に基づき得る。さらに、キューブ面は、等角サンプリングアルゴリズムを使用してサンプリングされ得る。
ステップS815において、エンコードされたキューブ面は、第1のビデオストリームのフレームの部分としてサーバデバイスに格納される。たとえば、エンコードされたキューブ面は、ユーザデバイスからの要求に基づく将来の再生のために格納され得る。
ステップS820において、当該キューブ面の複数の部分が、視界パースペクティブに基づいて第2の品質でエンコードされる。たとえば、第2の品質は第1の品質より高品質であり得る。第2の品質は、再生時においてより高いピクセル密度を有する解像度に基づき得、および/または、第1の品質に関連付けられるビットレートより高いビットレート(たとえばより多くのデータ)のために構成され得る。当該キューブ面の複数の部分は、たとえばHMDのユーザによって閲覧されると予想される部分であり得る。1つの例示的な実現例では、キューブ面全体は、部分に分割され、フレームの複数の部分としてエンコードされる。
ステップS825において、当該キューブ面の複数の部分は、複数の第2のビデオストリームとしてサーバデバイスに格納される。たとえば、キューブ面のエンコードされた複数の部分は、ユーザデバイスからの要求に基づいた将来の再生のために格納され得る。
ステップS830において、第1のビデオストリームは再生デバイスにストリーミングされる。たとえば、第1のビデオストリームは、HMD上での再生のための基本的または最小の体験のビデオとしてストリーミングされ得る。
ステップS835において、複数の第2のビデオストリームの少なくとも1つは再生デバイスにストリーミングされる。たとえば、視界パースペクティブ(または球面ビデオの閲覧者が現在焦点を合わせているもの)に基づいて複数の第2のビデオストリームから第2のストリームが選択され得る。
ステップS840において、再生デバイスでは、第1のビデオストリームが再生される。たとえば、第1のビデオストリームは、HMD上にレンダリングおよび表示され得る。ステップS845において、再生デバイスでは、決定された視界パースペクティブに基づいて、複数の第2のビデオストリームのうちの2つ(またはそれ以上)のビデオストリームの再生がそれらの間でスイッチングされる。たとえば、HMDのユーザが視界パースペクティブを変更する(たとえば、ユーザの頭および/または目を動かす)と、HMD上での再生のために異なる第2のビデオストリームが選択され得る。
例示的な実現例では、ビデオは、フレーム内およびフレーム間で均一な品質を有することなくストリーミングされ得る。ユーザが一時停止して周りを見回す場合、高品質(たとえば高解像度)のコンテンツが、球面画像の全球面についてストリーミングされ得る。この技術は、すべての必要な視界パースペクティブからのフレームをシーク(seek)し、デコードし、高解像度静止画像へと合成するといったように、存在するストリームを使用して実現され得る。代替的または付加的には、付加的なストリームが選択およびダウンロードされ得る。例示的な実現例では、(たとえば静止画像として)最も高いビデオ品質より高い品質のものが用いられ得、これにより、細かな詳細を検討するために一時停止することがより良好な体験になる。
図9は、球面ビデオのストリーミングのための方法を示す。図9に示されるように、ステップS905では、ストリーミング球面ビデオが一時停止したかどうかが判定される。ストリームビデオは第1の品質でストリーミングされる。一時停止は、再生デバイスとのユーザインタラクションに基づき得、および/または、ストリーミング球面ビデオは、なんらかのタイムスタンプにて一時停止するように構成され得る。再生デバイスは、ストリーミングサーバに一時停止を伝達し得る。
ステップS910において、第2の品質での球面ビデオのストリーミングがトリガされる。当該ストリーミングは、球面ビデオの全球面またはその部分を含み得る。
ステップS915において、第1の品質でストリーミングされるビデオが第2の品質でストリーミングされるビデオと合成される。たとえば、第2の品質でストリーミングされるビデオが、第1の品質でストリーミングされるビデオにおいて欠けているピクセルを埋め得る。たとえば、第2の品質でストリーミングされるビデオは、第1の品質でストリーミングされるビデオにおけるピクセルを置換し得る。たとえば、第2の品質でストリーミングされるビデオは、第1の品質でストリーミングされるビデオのピクセルに重畳し得る。
HMDを含むユースケースでは、ディスプレイの中間部分は、高品質画像を表示するべきである。したがって、例示的な実現例は、ディスプレイの中間部については高解像度コンテンツをストリーミングするべきである。さらに、視線追跡の付加により、目が見ているところに高解像度コンテンツが届けられ得る。ストリーミングレベルにおいて、当該視界パースペクティブでの狭い高品質ビデオがストリーミングされ得る。デコーディングレベルにおいて、(たとえば、SVCを使用して)中心エリアのみを完全にデコードするようにコーデックが適合され得る。レンダリングにおいて、中心領域のみが高品質でGPUにアップロードされ得る(さらに、何らかのGPU帯域幅を節約することが可能になる)。
図10は、球面ビデオのストリーミングのための方法を示す。図10に示されるように、ステップS1005において、ヘッドマウントディスプレイ(HMD)位置および/または視線追跡に基づいて、ストリーミング球面ビデオについての視界パースペクティブが決定される。たとえば、閲覧者の目(または頭)の方位(または方位の変化)を検出するように、方位センサが構成され得る。たとえば、方位センサは、動きを検出するために加速度計を含み得、また、方位を検出するためにジャイロスコープを含み得る。代替的または付加的には、方位センサは、閲覧者の目または頭の方位を決定するために、閲覧者の目または頭に焦点を合わせたカメラまたは赤外線センサを含み得る。
ステップS1010において、人間の目の中心窩の構造および中心窩の位置の基準である中心窩基準(foveal reference)が、視界パースペクティブに基づいて決定される。たとえば、中心窩基準は、視界パースペクティブと、視線追跡を使用して決定される視界の深さとを考慮し得る。例示的な実現例では、視界の深さは、それぞれの目の間の中心窩の距離に基づいて決定され得る。言いかえれば、人間の目が異なる深さに焦点を合わせると、それぞれの目の中心窩(たとえば瞳孔)の間の距離は変わり得る。次いで、球面ビデオは、高品質画像がHMD上で中心窩基準にて表示されるようにストリーミングされる(S1015)。
図11は、球面ビデオのストリーミングのための方法を示す。図11に示されるように、ステップS1105において、ストリーミング球面ビデオの第1の部分は、ストリーミング球面ビデオの第2の部分に関連付けられる第2の品質より低い第1の品質でストリーミングされることが決定される。たとえば、ストリーミング球面ビデオの第1の部分が閲覧者の視界パースペクティブの外側にあると決定され得る。したがって、高品質ビデオは、ユーザ体験にとって恐らく重要ではない。
ステップS1110において、ストリーミング球面ビデオの第1の部分が、(1)低フレームレートの高解像度ストリーム、(2)モノストリーム、および/または、(3)低減色(もしくは白黒)のうちの少なくとも1つであるように、球面ビデオのストリーミングがトリガされる。たとえば、低フレームレートの高解像度ストリームは、画像自身がより明瞭であるので好ましい場合があるが、当該画像への変更はあまりスムーズではない場合がある。モノストリームは、低品質3Dストリームより好ましくあり得る。低減された色は、画像と同じほどには鮮明ではないかもしれないが、画像はより明瞭であり得る。
ストリームは、観察者の予測される挙動に基づいてスイッチングされ得る。たとえば、例示的な実現例は、再生デバイスのユーザがどこを次に見るか予想可能であり得る。ユーザの頭の動きを監視すると、シーンを探索する場合に左/右に振る傾向がある。方向および相対的な動きを判定することによって、ストリームはユーザの頭が次のキーフレームにおいてどこにあるかを予測することにより変更され得る。これは、可能な限り頻繁に高解像度コンテンツが見ることが可能であることを保証するために使用され得る。
図12は、球面ビデオのストリーミングのための方法を示す。図12に示されるように、ステップS1205において、ヘッドマウントディスプレイ(HMD)のユーザの挙動が判定される。たとえば、閲覧者の目(または頭)の方位(または方位の変化)を検出するように、方位センサが構成され得る。たとえば、方位センサは、動きを検出するために加速度計を含み得、また、方位を検出するためにジャイロスコープを含み得る。代替的または付加的には、方位センサは、閲覧者の目または頭の方位を決定するために、閲覧者の目または頭に焦点を合わせたカメラまたは赤外線センサを含み得る。履歴上(たとえば最後の動き)の方位の変化が、挙動または次の動きを決定するために使用され得る。
ステップS1210において、決定した挙動に基づいて、HMDにストリーミングされる球面ビデオのストリームが予想される。たとえば左から右への動き(または挙動)が決定され得る。左から右への動きは、ストリーミングされるべき次の(たとえば高品質の)ストリームを予測するために使用され得る。ストリーミングされるべき次のストリームは、次のキーフレーム間隔でエンコードされ得る。その後、ステップS1215において、球面ビデオの予測されたストリームが、HMD(またはHMDに関連付けられるコンピューティングデバイス)にストリーミングされる。
スケーラブルビデオコーディング(SVC: Scalable Video Coding)は、ストリームスイッチングよりも速い品質適合を可能にするように構成され得る。ストリームスイッチングおよびスケーラブルストリームの何らかのハイブリッドがさらに好ましくあり得る。
図13は、球面ビデオのストリーミングのための方法を示す。ステップS1305において、図13に示されるように、球面ビデオは第1の品質である。ステップS1310において、球面ビデオのストリーミングがトリガされる。たとえば、再生デバイスは、ビデオが通信リンクを介してストリーミングされることを要求し得る。ステップS1315において、球面ビデオの少なくとも1つのフレームは、球面ビデオについて第2の品質を達成するために、球面ビデオのストリーミングの間にドロップされる。球面ビデオについての第2の品質は、球面ビデオについての第1の品質より低い。たとえば、ストリームに低品質ストリームが指定されるユースケースにおいては、フレームは1つおきにドロップされ得る。例示的な実現例において、ストリームは、低品質の指定から高品質に変更し得る。これにより、フレームのドロップは終了し得、および/または、ドロップされるフレームをより少なくし得、これにより、より高品質のストリームが得られる。
テッセレーションされたメッシュ(tessellated meshes)を使用するとともに頂点レベルで歪み補正を行なうことにより、歪み補正の区分近似が与えられる。たとえば、等しい三角形サイズを仮定すると、これは、完了したメッシュ上で、レンダリング後歪み補正(distortion correction post render)を行なうことと同等である。しかしながら、付加的なレンダリングパスは必要とされない場合がある。テッセレーションされたメッシュの使用は、(1)後歪み(post distortion)が、より大きなサイズのテクスチャメッシュへのレンダリングを必要とする、(2)サンプリングがスクリーンピクセルごとに行なわれ得る、(3)1つのレンダリングパスの除去、(3)非可視画像がレンダリング時間に先立って除去され得る、(4)処理される形状量を3倍にするという代償を払って色収差が修正され得る、といった利点を有し得る。
図14は、球面ビデオのストリーミングのための方法を示す。図14に示されるように、ステップS1405において、デコードされたピクセルは、複数の頂点セットにグループ化される。たとえば、隣接するピクセルが、ポリゴン(たとえば三角形)形状にグループ化され得る。
ステップS1410において、複数の頂点セットは、テッセレーションされたメッシュにグループ化される。たとえば、テッセレーションされたメッシュは、キューブの形状であり得る。
ステップS1415において、歪み補正は、テッセレーションされたメッシュに適用される。たとえば、再生デバイス(たとえばHMD)は、たとえばレンズおよび/またはディスプレイに関連付けられる既知または決定された歪みを有し得る。この歪みは、テッセレーションされたメッシュに補正を適用することによって補正され得る。その後、ステップS1420において、歪みが補正されたテッセレーションされたメッシュが、HMD上での表示のためにレンダリングされる。
図15は、3Dバーチャルリアリティ(VR)環境で立体パノラマをキャプチャしてレンダリングするための例示的なシステム1500のブロック図である。例示的なシステム1500において、カメラリグ1502は、画像をキャプチャし、当該画像をネットワーク1504を介して提供し得るか、あるいは代替的には、分析および処理のために画像処理システム1506に画像を直接的に提供し得る。システム1500のいくつかの実現例では、モバイルデバイス1508は、画像をネットワーク1504を介して提供するためのカメラリグ1502として機能し得る。画像がキャプチャされると、画像処理システム1506はたとえば、画像に対して多数の計算および処理を実行し、当該処理画像をレンダリングのためにネットワーク1504を介してヘッドマウントディスプレイ(HMD)デバイス1510に提供し得る。いくつかの実現例では、画像処理システム1506はさらに、処理画像をレンダリング、記憶、またはさらなる処理のためにモバイルデバイス1508および/またはコンピューティングデバイス1512に提供し得る。
HMDデバイス1510は、バーチャルリアリティコンテンツを表示可能なバーチャルリアリティヘッドセット、眼鏡、アイピース、または他のウェアラブルデバイスを表わし得る。動作時、HMDデバイス1510は、受信したおよび/または処理した画像をユーザに対して再生可能なVRアプリケーション(図示せず)を実行し得る。いくつかの実現例では、VRアプリケーションは、図15に示すデバイス1506,1508または1512のうちの1つ以上によってホストされ得る。一例では、HMDデバイス1510は、カメラリグ1502がキャプチャしたシーンのビデオ再生を提供し得る。別の例では、HMDデバイス1510は、単一のパノラマシーンになるようスティッチングされる静止画像の再生を提供し得る。
カメラリグ1502は、VR環境でコンテンツをレンダリングするために画像データを収集するカメラ(キャプチャデバイスとも称され得る)および/または処理デバイスとして用いられるように構成され得る。カメラリグ1502は本願明細書では特定の機能を有するように記載されるブロック図として示されているが、リグ1502は他の形態を取ることができ、さらに付加的な機能を有し得る。たとえば、システム1500の機能の記載を簡潔にするために、図15は画像をキャプチャするカメラがリグの周りに配置されていないカメラリグ1502を示す。カメラリグ1502の他の実現例は、リグ1502などの円形カメラリグの周囲に配置され得る任意の数のカメラを含み得る。
図15に示すように、カメラリグ1502は多数のカメラ1530および通信システム1532を含む。カメラ1530は単一のスチルカメラまたは単一のビデオカメラを含み得る。いくつかの実現例では、カメラ1530は、リグ1502の外周(たとえばリング)に沿って並んで配置された(たとえば位置した)複数のスチルカメラまたは複数のビデオカメラを含み得る。カメラ1530はビデオカメラ、画像センサ、立体カメラ、赤外線カメラ、および/またはモバイルデバイスであり得る。通信システム1532を用いて画像、命令、および/または他のカメラ関連のコンテンツがアップロードおよびダウンロードされ得る。当該通信は有線でも無線でもよく、私設網または公衆網上でインターフェイス可能である。
カメラリグ1502は、固定リグまたは回転リグとして機能するように構成され得る。リグ上の各カメラはリグの回転中心からオフセットして配置(たとえば設置)される。カメラリグ1502は、たとえば、360度回転して、シーンの360度ビューのすべてまたは一部をスイープしてキャプチャするように構成され得る。いくつかの実現例では、リグ1502は固定位置で動作するように構成され得、そのような構成では、付加的なカメラをリグに追加して、あるシーンについて付加的な外向き角度の視界をキャプチャし得る。
いくつかの実現例では、カメラリグ102は、左右にまたは背中合わせに配置される複数のデジタルビデオカメラを、それらのレンズの各々が径方向外向き方向を指し示して周囲のシーンまたは環境の異なる部分を見るように含む。いくつかの実現例では、複数のデジタルビデオカメラは、視界方向が円形カメラリグ1502に接している接線構成で配置される。たとえば、カメラリグ1502は、リグのベースに対して接線方向に配列されつつ、自身のレンズの各々が径方向外向き方向を指し示すように配置される複数のデジタルビデオカメラを含み得る。デジタルビデオカメラは、異なる方向のコンテンツをキャプチャして周囲シーンの異なる角度部分を見るように指し示され得る。
いくつかの実現例では、カメラはカメラリグ1502上においてステレオペアで配置される。そのような構成では、各ステレオペアにおける各第1のカメラはカメラリグベースの円形路に対して接線方向に配置(たとえば設置)され、左方向に(たとえばカメラレンズが左方向を指し示して)整列される。各ステレオペアにおける各第2のカメラはカメラリグベースの円形路に対して接線方向に配置(たとえば設置)され、(たとえばカメラレンズが)右方向を指し示して整列される。
カメラリグ1502上で用いられるカメラについての例示的な設定として、約60フレーム/秒のプログレッシブスキャンモード(すなわち、ほとんどのビデオカメラの標準的な記録モードのように1行おきではなく、各ラスタ線をサンプリングしてビデオの各フレームを生成するモード)が挙げられ得る。また、カメラの各々は同一の(または同様の)設定で構成され得る。各カメラを同一の(または同様の)設定で構成することは、キャプチャ後に所望の態様で互いにスティッチングされ得る画像をキャプチャするという利点をもたらし得る。例示的な設定として、カメラの1つ以上を同じズーム、フォーカス、露光、およびシャッタスピードに設定すること、ならびに安定化機能が相関されているかまたはオフにされた状態でカメラをホワイトバランスするように設定することが挙げられ得る。
いくつかの実現例では、カメラリグ1502は1つ以上の画像またはビデオをキャプチャするために用いられる前に較正され得る。たとえば、カメラリグ1502上の各カメラはパノラマビデオを撮るように較正および/または構成され得る。設定は、たとえば、リグを360度スイープで特定の回転速度で、広視野で、時計回りまたは反時計回り方向に動作させるように構成することを含み得る。いくつかの実現例では、リグ1502上のカメラは、たとえば、シーンの周りのキャプチャ経路の360度スイープの1度毎に1フレームをキャプチャするように構成され得る。いくつかの実現例では、リグ1502上のカメラは、たとえば、シーンの周りのキャプチャ経路の360度(以下)スイープの1度毎に複数のフレームをキャプチャするように構成され得る。いくつかの実現例では、リグ1502上のカメラは、たとえば、1度毎に特に測定されたフレームをキャプチャする必要なしにシーンの周りのキャプチャ経路のスイープで複数のフレームをキャプチャするように構成され得る。
いくつかの実現例では、カメラは、同期して機能して、特定の時点でカメラリグ上のカメラからビデオをキャプチャするように構成(たとえばセットアップ)され得る。いくつかの実現例では、カメラは、同期して機能して、ある期間にわたってカメラの1つ以上からビデオの特定の部分をキャプチャするように構成され得る。カメラリグを較正する別の例は、受信画像をどのように格納するかを構成することを含み得る。たとえば、受信画像は個々のフレームまたはビデオ(たとえばaviファイル、mpgファイル)として格納され得、そのように格納された画像はインターネット、別のサーバもしくはデバイスにアップロードされ得るか、またはカメラリグ1502上の各カメラを用いてローカルに格納され得る。いくつかの実現例では、受信画像は、エンコードされたビデオとして格納され得る。
画像処理システム1506は、補間モジュール1514、キャプチャ補正モジュール1516、およびスティッチングモジュール1518を含む。補間モジュール1516は、たとえば、デジタル画像およびビデオの一部をサンプリングし、カメラリグ1502からキャプチャされた隣接画像同士の間で起こると考えられる多数の補間された画像を求めるために用いられ得るアルゴリズムを表わす。いくつかの実現例では、補間モジュール1514は、隣接画像同士の間の補間された画像フラグメント、画像部分、および/または垂直もしくは水平画像ストリップを求めるように構成され得る。いくつかの実現例では、補間モジュール1514は、隣接画像内の関連画素同士の間のフローフィールド(および/またはフローベクトル)を求めるように構成され得る。フローフィールドを用いて、画像が受けた両変換、および変換を受けた処理画像が補償され得る。たとえば、フローフィールドを用いて、得られた画像の特定の画素格子の変換が補償され得る。いくつかの実現例では、補間モジュール1514は、周囲画像の補間によって、キャプチャされた画像の一部ではない1つ以上の画像を生成し得、生成された画像をキャプチャされた画像にインターリーブして、シーンについての付加的なバーチャルリアリティコンテンツを生成し得る。
キャプチャ補正モジュール1516は、非理想的なキャプチャセットアップを補償することによってキャプチャされた画像を補正するように構成され得る。例示的なキャプチャセットアップとして、非限定的な例では、円形カメラ軌道、平行な主(カメラ)軸、カメラ軌道に垂直な視界方向、カメラ軌道に対して接線方向である視界方向、および/または他のキャプチャ条件が挙げられ得る。いくつかの実現例では、キャプチャ補正モジュール1516は、画像キャプチャ時の非円形カメラ軌道、および/または画像キャプチャ時の非平行主軸の一方または両方を補償するように構成され得る。
キャプチャ補正モジュール1516は、特定の1セットの画像を調整して、カメラ同士の分離が約30度より大きい複数のカメラを用いてキャプチャされたコンテンツを補償するように構成され得る。たとえば、カメラ同士の間の距離が40度の場合、キャプチャ補正モジュール1516は、付加的なカメラからコンテンツを収集することによって、または欠けているコンテンツを補間することによって、カメラのカバー範囲不足に基づく特定のシーンにおける任意の欠けているコンテンツに対応し得る。
いくつかの実現例では、キャプチャ補正モジュール1516はさらに、1セットの画像を調整して、カメラポーズエラーなどによるカメラ誤整列を補償するように構成され得る。たとえば、カメラポーズエラー(たとえばカメラの向きおよび位置によるエラー)が画像キャプチャ時に起こると、モジュール1516はいくつかの画像フレームからの2つ以上の画素列同士を混合して、露光不足(もしくは画像フレーム毎の露光変化)によるおよび/または1つ以上のカメラの誤整列によるアーティファクトを含むアーティファクトを除去し得る。スティッチングモジュール1518は、規定された、取得された、および/または補間された画像に基づいて3D立体画像を生成するように構成され得る。スティッチングモジュール1518は、複数の画像部分からの画素および/または画像ストリップを混合する/スティッチングするように構成され得る。スティッチングは、たとえば補間モジュール1514によって求められたフローフィールドに基づき得る。たとえば、スティッチングモジュール1518は、1セットの画像の一部ではない補間された画像フレームを(補間モジュール1514から)受信し、画像フレームを1セットの画像にインターリーブし得る。インターリーブすることは、モジュール1518が、補間モジュール1514によって生成されたオプティカルフローに少なくとも部分的に基づいて画像フレームおよび1セットの画像を互いにスティッチングすることを含み得る。スティッチングされた組合せを用いて、VRヘッドマウントディスプレイにおいて表示するための全ステレオパノラマが生成され得る。画像フレームは、特定のリグ上に配置されたカメラの多数のステレオペアから収集された、キャプチャ済のビデオストリームに基づき得る。そのようなリグは、カメラの約6から約8のステレオペアを含み得る。そのようなリグの他の組合せは、たとえば12個〜16個のペアでないカメラを含み得る。いくつかの実現例では、リグは、カメラの1つまたは2つのステレオペアを含み得る。いくつかの実現例では、リグは、リグ上に並んで位置し得るカメラの多くのステレオペアを含み得る。いくつかの実現例では、スティッチングモジュール1518は、少なくとも1つのステレオペアに関連付けられているポーズ情報を用いて、インターリーブを実行する前に1セットの画像の一部を予めスティッチングし得る。
画像処理システム1506のいくつかの実現例では、スティッチングモジュール1518は随意のコンポーネントであってもよい。たとえば、画像がエラーなしで360度にわたって正確なスイープ動作でキャプチャされている場合、シーンの3D立体パノラマを得るために、画像同士をスティッチングすることは必要ではない場合がある。
画像処理システム1506は、投影モジュール1520および画像補正モジュール1522をさらに含む。投影モジュール1520は、画像を透視平面内に投影することによって3D立体画像を生成するように構成され得る。たとえば、投影モジュール1520は特定の1セットの画像の投影を取得し得、画像のいくつかを平面透視投影から球面(すなわち等矩形)透視投影に変換することによって当該1セットの画像の一部の再投影を構成し得る。当該変換は投影モデリング技術を含む。
投影モデリングは、投影中心および投影面を規定することを含み得る。本開示に記載の例では、投影中心は、予め規定されたxyz座標系の原点(0,0,0)における光学中心を表わし得る。投影面は投影中心の前に設置され得、カメラはxyz座標系のz軸に沿って画像をキャプチャするように向いている。一般に、投影は、座標(x,y,z)から投影中心までの特定の画像光線の透視平面の交点を用いて計算され得る。投影の変換は、たとえばマトリックス計算を用いて座標系を操作することによって行なわれ得る。
立体パノラマための投影モデリングは、単一の投影中心を有さないマルチパースペクティブ画像を用いることを一般に含む。マルチパースペクティブは典型的に円形状(球状)(図13B参照)として示される。レンダリングは、ある座標系から別の座標系に変換する際に、近似として球面を使用し得る。
一般に、球面(すなわち等矩形)投影は、球面の中心が投影中心を等しく囲んでいる球状の平面を提供する。透視投影は、透視平面(たとえば2D表面)上に3Dオブジェクトの画像を提供してユーザの実際の視覚を近似する視界を提供する。一般に、画像は平坦な画像面(たとえばコンピュータモニタ、モバイルデバイスLCDスクリーン)上にレンダリングされ得るので、投影は歪みのない視界を提供するために平面透視で示される。しかし、平面投影では360度の視野が可能でないので、キャプチャされた画像(たとえばビデオ)は等矩形(たとえば球面)透視で記憶され得、レンダリング時に平面透視に再投影され得る。
特定の再投影が完了した後、投影モジュール1520はHMDにおいてレンダリングするために再投影された画像の部分を送信し得る。たとえば、投影モジュール1520は、再投影の一部をHMD1510における左目ディスプレイに、再投影の一部をHMD1510における右目ディスプレイに提供し得る。いくつかの実現例では、投影モジュール1520は、平面透視投影から球状透視投影に再投影することによって、垂直視差を計算および低減するように構成され得る。
画像補正モジュール1522は、透視歪みを含むがこれに限定されない歪みを補償することによって3D立体画像を生成するように構成され得る。いくつかの実現例では、画像補正モジュール1522は、オプティカルフローが3Dステレオのために維持される特定の距離を求め得、画像をセグメント化して、そのようなフローが維持されるシーンの一部のみを示し得る。たとえば、画像補正モジュール1522は、3Dステレオ画像のオプティカルフローが、たとえば、円形カメラリグ1502の外向きエッジから約1半径メートルから、カメラリグ1502の外向きエッジから約5半径メートルの間に維持されると判断し得る。したがって、画像補正モジュール1522は、HMD1510のユーザにとって適切な視差である適切な3Dステレオ効果を提供しつつ、歪みのない投影においてHMD1510内でレンダリングするために1メートルから5メートルの間の部分が選択されることを保証し得る。
いくつかの実現例では、画像補正モジュール1522は、特定の画像を調整することによってオプティカルフローを推定し得る。当該調整は、たとえば、画像の一部を訂正すること、画像の当該一部と関連付けられている推定されたカメラポーズを求めること、および当該一部における画像同士の間のフローを求めることを含み得る。非限定的な例では、画像補正モジュール1522は、フローが計算されている2つの特定の画像同士の間の回転差を補償し得る。この補正は、回転差(すなわち回転フロー)に起因するフロー成分を除去するように機能し得る。そのような補正によって、変換に起因するフロー(たとえば視差フロー)がもたらされ、これは、結果として得られる画像を正確かつロバストにしつつ、フロー推定計算の複雑さを減少させることができる。いくつかの実現例では、画像補正に加えて、レンダリング前に画像に対して処理が行なわれ得る。たとえば、レンダリングが実行される前に、スティッチング、混合、または付加的な補正処理が画像に対して行なわれ得る。
いくつかの実現例では、画像補正モジュール1522は、平面透視投影に基づいていないカメラジオメトリを用いてキャプチャされた画像コンテンツに起因する投影歪みを補正し得る。たとえば、多数の異なる視界角度からの画像を補間することによって、かつ当該画像と関連付けられている視界光線を共通の原点から生じていると条件付けることによって、補正が画像に適用され得る。補間された画像はキャプチャされた画像にインターリーブされて、人間の目にとって心地よいレベルの回転視差を有して人間の目に正確に見えるバーチャルコンテンツが生成され得る。
例示的なシステム1500では、デバイス1506,1508および1512はラップトップコンピュータ、デスクトップコンピュータ、モバイルコンピューティングデバイス、またはゲーム機であり得る。いくつかの実現例では、デバイス1506,1508および1512は、HMDデバイス1510内に配置され(たとえば設置され/位置し)得るモバイルコンピューティングデバイスであり得る。モバイルコンピューティングデバイスは、たとえば、HMDデバイス1510のためのスクリーンとして用いられ得る表示装置を含み得る。デバイス1506,1508および1512は、VRアプリケーションを実行するためのハードウェアおよび/またはソフトウェアを含み得る。さらに、デバイス1506,1508および1512は、これらのデバイスがHMDデバイス110の前に設置されるか、またはHMDデバイス1510に対してある範囲の位置内に保持される場合に、HMDデバイス1510の3D移動を認識、監視、および追跡可能なハードウェアおよび/またはソフトウェアを含み得る。いくつかの実現例では、デバイス1506,1508および1512は、付加的なコンテンツをネットワーク1504を介してHMDデバイス1510に提供し得る。いくつかの実現例では、デバイス1502,1506,1508,1510および1512は、ペアリングされるかまたはネットワーク104を介して接続される互いの1つ以上と接続/インターフェイス接続され得る。当該接続は有線または無線であり得る。ネットワーク1504は公衆通信網または私設通信網であり得る。
システム1500は電子記憶装置を含み得る。電子記憶装置は、情報を電子的に記憶する非一時的な記憶媒体を含み得る。電子記憶装置は、キャプチャされた画像、取得された画像、前処理された画像、後処理された画像等を記憶するように構成され得る。開示されるカメラリグのいずれかを用いてキャプチャされた画像は、ビデオの1つ以上のストリームとして処理されて記憶され得るか、または個々のフレームとして記憶され得る。いくつかの実現例では、記憶はキャプチャ時に行われ、レンダリングはキャプチャの一部の直後に行われ、キャプチャおよび処理が同時である場合よりも早くパノラマステレオコンテンツへの高速アクセスを可能とし得る。
図16Aの例において、ビデオエンコーダシステム1600は、少なくとも1つのコンピューティングデバイスであるかまたは当該少なくとも1つのコンピューティングデバイスを含み得、本願明細書において記載される方法を実行するように構成される事実上如何なるコンピューティングデバイスも表すと理解されるべきである。したがって、ビデオエンコーダシステム1600は、本願明細書において記載される技術またはその異なるバージョンもしくは将来のバージョンを実現するために利用され得るさまざまなコンポーネントを含んでいることが理解され得る。例示目的として、ビデオエンコーダシステム1600が、少なくとも1つのプロセッサ1605と、少なくとも1つのメモリ1610(たとえば一時的でないコンピュータ読取可能記憶媒体)とを含んでいることが示される。
図16Aは、少なくとも1つの例示的な実施形態に従ったビデオエンコーダシステムを示す。図16Aに示されるように、ビデオエンコーダシステム1600は、少なくとも1つのプロセッサ1605と、少なくとも1つのメモリ1610と、コントローラ1620と、ビデオエンコーダ1625とを含む。少なくとも1つのプロセッサ1605、少なくとも1つのメモリ1610、コントローラ1620およびビデオエンコーダ1625は、バス1615を介して通信可能に結合される。
理解され得るように、少なくとも1つのプロセッサ1605は、少なくとも1つのメモリ1610上に格納される命令を実行するために利用され得、これにより、本願明細書において記載されるさまざまな特徴および機能または付加的もしくは代替的な特徴および機能を実現する。もちろん、少なくとも1つのプロセッサ1605および少なくとも1つのメモリ1610は、さまざまな他の目的のために利用され得る。特に、少なくとも1つのメモリ1610は、本願明細書において記載されるモジュールのうちのいずれかを実現するために使用され得るさまざまなタイプのメモリおよび関連するハードウェアおよびソフトウェアの例を表わすということが理解され得る。
少なくとも1つのメモリ1610は、ビデオエンコーダシステム1600に関連付けられるデータおよび/または情報を格納するように構成され得る。少なくとも1つのメモリ1610は共有されるリソースであり得る。たとえば、ビデオエンコーダシステム1600は、(たとえばサーバ、パーソナルコンピュータおよびモバイルデバイスなどといった)より大きなシステムの要素であり得る。したがって、少なくとも1つのメモリ1610は、(たとえば画像/ビデオの提供、ウェブブラウジングまたは有線/無線通信といった)より大きなシステム内の他の要素に関連付けられるデータおよび/または情報を格納するように構成され得る。
コントローラ1620は、さまざまな制御信号を生成し、かつ、ビデオエンコーダシステム1600においてさまざまなブロックに制御信号を伝えるように構成され得る。コントローラ1620は、以下に記載される技術を実現するために制御信号を生成するように構成され得る。コントローラ1620は、例示的な実施形態に従うと、画像、画像のシーケンス、ビデオフレームおよびビデオシーケンスなどをエンコードするようビデオエンコーダ1625を制御するように構成され得る。たとえば、コントローラ1620はビデオ品質に対応する制御信号を生成し得る。
ビデオエンコーダ1625は、ビデオストリーム入力5を受信し、圧縮された(たとえばエンコードされた)ビデオビット10を出力するように構成され得る。ビデオエンコーダ1625はビデオストリーム入力5を離散ビデオフレームに変換し得る。さらに、ビデオストリーム入力5は画像であり得、したがって、圧縮された(たとえば、エンコードされた)ビデオビット10も圧縮された画像ビットであり得る。ビデオエンコーダ1625はさらに、各離散ビデオフレーム(または画像)をブロックのマトリックス(以下、ブロックと称される)に変換し得る。たとえば、ビデオフレーム(または画像)は、各々が多くのピクセルを有するブロックの16×16,16×8,8×8,4×4または2×2のマトリックスに変換され得る。5つの例示的なマトリックスが列挙されているが、例示的な実施形態はそれらに限定されない。
圧縮ビデオビット10は、ビデオエンコーダシステム1600の出力を表わし得る。たとえば、圧縮ビデオビット10は、エンコードされたビデオフレーム(またはエンコードされた画像)を表わし得る。たとえば、圧縮ビデオビット10は、受信デバイス(図示せず)への送信が実行可能であり得る。たとえば、ビデオビットは受信デバイスへの送信のためにシステムトランシーバ(図示せず)に送信され得る。
少なくとも1つのプロセッサ1605は、コントローラ1620および/またはビデオエンコーダ1625に関連付けられるコンピュータ命令を実行するように構成され得る。少なくとも1つのプロセッサ1605は共有されたリソースであり得る。たとえば、ビデオエンコーダシステム1600は、(たとえばモバイルデバイスといった)より大きなシステムの要素であり得る。したがって、少なくとも1つのプロセッサ1605は、(たとえば画像/ビデオの提供、ウェブブラウジングまたは有線/無線通信といった)より大きなシステム内の他の要素に関連付けられるコンピュータ命令を実行するように構成され得る。
図16Bの例において、ビデオデコーダシステム1650は少なくとも1つのコンピューティングデバイスであり得、本願明細書において記載される方法を実行するように構成される事実上如何なるコンピューティングデバイスも表わすことが理解されるべきである。したがって、ビデオデコーダシステム1650は、本願明細書において記載される技術またはその異なるバージョンもしくは将来のバージョンを実現するために利用され得るさまざまなコンポーネントを含んでいることが理解され得る。例示目的として、ビデオデコーダシステム1650が、少なくとも1つのプロセッサ1655と、少なくとも1つのメモリ1660(たとえばコンピュータ読取可能記憶媒体)とを含んでいることが示される。
したがって、理解され得るように、少なくとも1つのプロセッサ1655は、少なくとも1つのメモリ1660上に格納される命令を実行するために利用され得、これにより、本願明細書において記載されるさまざまな特徴および機能または付加的もしくは代替的な特徴および機能を実現する。もちろん、少なくとも1つのプロセッサ1655および少なくとも1つのメモリ1660は、さまざまな他の目的のために利用され得る。特に、少なくとも1つのメモリ1660は、本願明細書において記載されるモジュールのうちのいずれかを実現するために使用され得るさまざまなタイプのメモリおよび関連するハードウェアおよびソフトウェアの例を表わすということが理解され得る。例示的な実施形態に従うと、ビデオエンコーダシステム1600およびビデオデコーダシステム1650は、(たとえばパーソナルコンピュータ、モバイルデバイスなどといった)同じより大きなシステムに含まれ得る。
少なくとも1つのメモリ1660は、ビデオデコーダシステム1650に関連付けられるデータおよび/または情報を格納するように構成され得る。少なくとも1つのメモリ1660は共有されるリソースであり得る。たとえば、ビデオデコーダエンコーダシステム1650は、(たとえばパーソナルコンピュータおよびモバイルデバイスなどといった)より大きなシステムの要素であり得る。したがって、少なくとも1つのメモリ1660は、(たとえばウェブブラウジングまたは無線通信といった)より大きなシステム内の他の要素に関連付けられるデータおよび/または情報を格納するように構成され得る。
コントローラ1670は、さまざまな制御信号を生成し、かつ、ビデオデコーダシステム1650においてさまざまなブロックに制御信号を伝えるように構成され得る。コントローラ1670は、以下に記載されるビデオエンコーディング/デコーディング技術を実現するために制御信号を生成するように構成され得る。コントローラ1670は、例示的な実施形態に従うと、ビデオフレームをデコードするようビデオデコーダ1675を制御するように構成され得る。
ビデオデコーダ1675は、圧縮された(たとえばエンコードされた)ビデオビット10入力を受信し、かつ、ビデオストリーム5を出力するように構成され得る。ビデオデコーダ1675は、圧縮ビデオビット10の離散ビデオフレームをビデオストリーム5に変換し得る。さらに、圧縮された(たとえばエンコードされた)ビデオビット10は圧縮された画像ビットであり得、したがって、ビデオストリーム5も画像であり得る。
少なくとも1つのプロセッサ1655は、コントローラ1670および/またはビデオデコーダ1675に関連付けられるコンピュータ命令を実行するように構成され得る。少なくとも1つのプロセッサ1655は共有されるリソースであり得る。たとえば、ビデオデコーダシステム1650は、(たとえばパーソナルコンピュータおよびモバイルデバイスなどといった)より大きなシステムの要素であり得る。したがって、少なくとも1つのプロセッサ1655は、(たとえばウェブブラウジングまたは無線通信といった)より大きなシステム内の他の要素に関連付けられるコンピュータ命令を実行するように構成され得る。
図17Aおよび図17Bはそれぞれ少なくとも1つの例示的な実施形態に従った、図16Aにおいて示されるビデオエンコーダ1625と、図16Bにおいて示されるビデオデコーダ1675とについてのフロー図を示す。(上記の)ビデオエンコーダ1625は、球面−2D表現ブロック1705、予測ブロック1710、変換ブロック1715、量子化ブロック1720、エントロピーエンコーディングブロック1725、逆量子化ブロック1730、逆変換ブロック1735、再構築ブロック1740、および、ループフィルタブロック1745を含む。ビデオエンコーダ1625の他の構造的変形例が、入力ビデオストリーム5をエンコードするために使用され得る。図17Aにおいて示されるように、破線が、いくつかのブロックの間の再構築パスを表わし、実線がいくつかのブロックの間の順方向パスを表わす。
前述のブロックの各々は、ビデオエンコーダシステム(たとえば図16Aにおいて示されるように)に関連付けられるメモリ(たとえば少なくとも1つのメモリ1610)に格納されるとともにビデオエンコーダシステムに関連付けられる少なくとも1つのプロセッサ(たとえば少なくとも1つのプロセッサ1605)によって実行されるソフトウェアコードとして実行され得る。しかしながら、特殊目的プロセッサとして具現化されるビデオエンコーダのような代替的な実施形態が考えられる。たとえば、前述のブロック(単独および/または組合せ)の各々は、特定用途向け集積回路すなわちASICであり得る。たとえば、ASICは、変換ブロック1715および/または量子化ブロック1720として構成され得る。
球面−2D表現ブロック1705は、球面フレームまたは画像を球面フレームまたは画像の2D表現にマッピングするように構成され得る。たとえば、図18は、(たとえばフレームまたは画像として)球面1800を示す。球面1800(またはその部分)は、2D表面上に投影され得る。その投影はたとえば、等矩形(equirectangular)、半等矩形(semi-equirectangular)、または、立方体(cube)であり得る。
予測ブロック1710は、ビデオフレームコヒーレンス(たとえば、以前にエンコードされたピクセルと比較して変わっていないピクセル)を利用するように構成され得る。予測は2つのタイプを含み得る。たとえば、予測はフレーム内予測およびフレーム間予測を含み得る。フレーム内予測は、同じ画像の隣接する以前にコード化されたブロックにおける基準サンプルに対して、画像のブロックにおけるピクセル値を予測することに関する。フレーム内予測においては、サンプルは、変換(たとえばエントロピーエンコーディングブロック1725)によってコード化される残余誤差と、予測変換コーデックのエントロピーコーディング(たとえばエントロピーエンコーディングブロック1725)部分とを低減する目的で、同じフレーム内の再構築されたピクセルから予測される。フレーム間予測は、以前にコード化された画像のデータに対して、画像のブロックにおけるピクセル値を予測することに関する。
変換ブロック1715は、ピクセルの値を空間ドメインから変換ドメインにおける変換係数に変換するように構成され得る。変換係数は、通常オリジナルブロックと同じサイズである係数の二次元マトリックスに対応し得る。言いかえれば、オリジナルブロックにおけるピクセルと同じぐらい多くの変換係数が存在し得る。しかしながら、変換により、変換係数の一部は0に等しい値を有し得る。
変換ブロック1715は、(予測ブロック1710からの)残差をたとえば周波数ドメインにおける変換係数に変換するように構成され得る。典型的に、変換は、カルフネン−ロエヴェ変換(KLT: Karhunen-Loeve Transform)、離散コサイン変換(DCT:Discrete Cosine Transform)、特異値分解変換(SVD: Singular Value Decomposition Transform)、および非対称離散サイン変換(ADST: asymmetric discrete sine transform)を含む。
量子化ブロック1720は、各変換係数におけるデータを低減するように構成され得る。量子化は、相対的に大きな範囲内の値から相対的に小さな範囲内の値にマッピングすることを含み得、これにより、量子化された変換係数を表わすのに必要とされるデータの量が低減される。量子化ブロック1720は、変換係数を、量子化変換係数または量子化レベルと称される離散量子値に変換し得る。たとえば、量子化ブロック1720は、変換係数に関連付けられるデータにゼロを加えるように構成され得る。たとえば、エンコーディング規準は、スカラー量子化プロセスにおける128個の量子化レベルを規定し得る。
量子化された変換係数は、エントロピーエンコーディングブロック1725によってエンコードされるエントロピーである。その後、エントロピーがエンコードされた係数と、使用される予測のタイプ、運動ベクトルおよび量子化器値のようなブロックをデコードするのに必要な情報とが、圧縮ビデオビット10として出力される。圧縮ビデオビット10は、ランレングスエンコーディング(RLE: run-length encoding)およびゼロランコーディング(zero-run coding)といったさまざまな技術を使用してフォーマットされ得る。
図17Aにおける再構築パスは、ビデオエンコーダ1625およびビデオデコーダ1675(図17Bに関して以下に記載される)の両方が、同じ基準フレームを使用して、圧縮ビデオビット10(または圧縮画像ビット)をデコードすることを保証するために存在する。再構成パスは、以下により詳細に議論される、デコーディング処理の間に行なわれる機能に類似している機能を実行する。当該機能は、逆量子化ブロック1730において量子化された変換係数を逆量子化することと、微分残差(derivative residual)ブロック(微分残差)を作り出すために逆変換ブロック1735において逆量子化された変換係数を逆変換することとを含む。再構成ブロック1740において、予測ブロック1710にて予測された予測ブロックは、再構築ブロックを作り出すために、微分残差に加えられ得る。その後、ループフィルタ1745が、ブロッキングアーティファクトのような歪みを低減するために再構築ブロックに適用され得る。
図17Aに関して上で記載されたビデオエンコーダ1625は、示されたブロックを含んでいる。しかしながら、例示的な実施形態はそれに限定されない。付加的なブロックが、使用される異なるビデオエンコーディング構成および/または技術に基づいて加えられ得る。さらに、図17Aに関して上で記載されたビデオエンコーダ1625に示されるブロックの各々は、使用される異なるビデオエンコーディング構成および/または技術に基づく随意のブロックであり得る。
図17Bは、圧縮ビデオビット10(または圧縮画像ビット)をデコードするように構成されるデコーダ1675の概略的なブロック図である。以前に議論されたエンコーダ1625の再構築パスに類似しているデコーダ1675は、エントロピーデコーディングブロック1750、逆量子化ブロック1755、逆変換ブロック1760、再構築ブロック1765、ループフィルタブロック1770、予測ブロック1775、デブロッキングフィルタブロック1780、および、2D表現−球面ブロック1785を含む。
圧縮ビデオビット10内のデータ要素は、(たとえば、コンテキスト適応型二値算術復号化方式(Context Adaptive Binary Arithmetic Decoding)を用いて)エントロピーデコーディングブロック1750によってデコードされ得、これにより、量子化された変換係数のセットが生成される。逆量子化ブロック1755は量子化された変換係数を非量子化し、逆変換ブロック1760は非量子化された変換係数を(ADSTを使用して)逆変換し、これにより、エンコーダ1625における再構築ステージによって作り出されたものと同一であり得る微分残差を作り出す。
圧縮ビデオビット10からデコードされたヘッダー情報を使用して、デコーダ1675は、エンコーダ1675において作り出されたのと同じ予測ブロックを作り出すよう予測ブロック1775を使用し得る。予測ブロックは、再構築ブロック1765によって再構築ブロックを作り出すよう微分残差に加えられ得る。ループフィルタブロック1770は、ブロッキングアーティファクトを低減するために再構築ブロックに適用され得る。デブロッキングフィルタブロック1780は、ブロッキング歪みを低減するために再構築ブロックに適用され得、その結果がビデオストリーム5として出力される。
2D表現−球面ブロック1785は、球面フレームまたは画像の2D表現を球面フレームまたは画像にマッピングするように構成され得る。たとえば、図18は、(たとえばフレームまたは画像として)球面1800を示す。球体1800は、以前に2D表面上に投影され得たものである。その投影はたとえば、等矩形(equirectangular)、半等矩形(semi-equirectangular)、または、立方体(cube)であり得る。球面フレームまたは画像の2D表現を球面フレームまたは画像にマッピングすることは、以前のマッピングの逆であり得る。
図17Bに関して上で記載されたビデオデコーダ1675は、示されたブロックを含んでいる。しかしながら、例示的な実施形態はそれに限定されない。付加的なブロックが、使用される異なるビデオエンコーディング構成および/または技術に基づいて加えられ得る。さらに、図17Bに関して上で記載されたビデオデコーダ1675に示されるブロックの各々は、使用される異なるビデオエンコーディング構成および/または技術に基づく随意のブロックであり得る。
エンコーダ1625およびデコーダはそれぞれ、球面ビデオおよび/または画像をエンコードならびに球面ビデオおよび/または画像をデコードするように構成され得る。球面画像は、球面状に組織化された複数のピクセルを含む画像である。言いかえれば、球面画像は、全方向に連続的である画像である。したがって、球面画像の閲覧者は、任意の方向(たとえば、上方向、下方向、左方向、右方向、または、その任意の組合せ)に位置を変える(たとえば自身の頭または目を動かす)ことができ、連続的に画像の一部を見ることができる。
球面画像はパースペクティブを有し得る。たとえば、球面画像は、球体の画像であり得る。内部パースペクティブは、球体の中心から外方を見る視界であり得る。または、内部パースペクティブは、球体上で空間に向かって外を見ることであり得る。外部パースペクティブは、空間から球体に向かって下を見る視界であり得る。別の例として、パースペクティブは、閲覧可能なものに基づき得る。言いかえれば、閲覧可能パースペクティブは、閲覧者によって見ることができるものであり得る。閲覧可能パースペクティブは、閲覧者の前にある球面画像の一部分であり得る。たとえば、内部パースペクティブから見る場合、閲覧者は、グランド(たとえば地面)上に横たわり、空間に向かって外方を見ている。閲覧者は、画像において、月、太陽または特定の星を見る場合がある。しかしながら、閲覧者が横たわっているグランドは球面画像に含まれているが、グランドは、現在の閲覧可能パースペクティブの外部にある。この例では、閲覧者は、自身の頭を回すと、グランドが周辺の閲覧可能パースペクティブに含まれることになる。閲覧者は、反転すると、グランドが閲覧可能パースペクティブ内に存在することになる一方、月、太陽または星は閲覧可能パースペクティブ内には存在しなくなる。
外部パースペクティブからの閲覧可能パースペクティブは、(たとえば画像の別の部分によって)ブロックされていない球面画像の部分であるか、および/または、視界から外れるように曲がっていない球面画像の部分であり得る。球面画像の別の部分が、球面画像を動かすこと(たとえば回転すること)によって、および/または、球面画像の移動によって、外部パースペクティブから閲覧可能パースペクティブにもたらされ得る。したがって、閲覧可能パースペクティブは、球面画像の閲覧者の閲覧可能範囲内にある球面画像の一部である。
球面画像は時間に対して変化しない画像である。たとえば、地面に関係のあるような内部パースペクティブからの球面画像は、1つの位置において月および星を示し得る。その一方、球面ビデオ(または画像のシーケンス)は、時間に対して変化し得る。たとえば、地面に関係のあるような内部パースペクティブからの球面ビデオは、(たとえば地球の回転により)動く月および星ならびに/または画像(たとえば空)を横切る飛行機の筋(airplane streak)を示し得る。
図18は、球面の2次元(2D)表現である。図18に示されるように、(たとえば球面画像としての)球面1800は、内部パースペクティブ1805,1810、外部パースペクティブ1815、および、閲覧可能パースペクティブ1820,1825,1830の方向を示す。閲覧可能パースペクティブ1820は、内部パースペクティブ1810から閲覧される球面画像1835の部分であり得る。閲覧可能パースペクティブ1820は、内部パースペクティブ1805から閲覧される球面1800の部分であり得る。閲覧可能パースペクティブ1825は、外部パースペクティブ1815から閲覧される球面1800の部分であり得る。
図19は、少なくとも1つの例示的な実施形態に従ったシステム1900を示す。図19に示されるように、システム1900は、コントローラ1620、コントローラ1670、エンコーダ1625、視界フレーム記憶装置1930、および、方位センサ1925を含んでいる。コントローラ120はさらに、視界位置制御モジュール1905およびタイル選択モジュール1910を含む。コントローラ1670はさらに、視界位置決定モジュール1915およびタイル要求モジュール1920を含む。
例示的な実現例に従うと、方位センサ1925は、閲覧者の目(または頭)の方位(または方位の変化)を検出し、視界位置決定モジュール1915は、検出された方位に基づいて、視界、パースペクティブ、または、視界パースペクティブを決定し、また、タイル要求モジュール1920は、タイルもしくは複数のタイルまたはビデオストリームについての要求の部分として、視界、パースペクティブ、または、視界パースペクティブを伝える。別の例示的な実現例に従うと、方位センサ1925は、ディスプレイ上でレンダリングされる際の画像パン方位(image panning orientation)に基づいて方位(または方位の変化)を検出する。たとえば、ユーザは、ディスプレイ上にレンダリングされる際の球面ビデオまたは画像の部分の選択、移動、ドラッグ、および/または拡大などを行うためにマウス、トラックパッドまたは(たとえば、タッチ感知ディスプレイ上での)ジェスチャを使用し得る。
タイルについての要求は、球面ビデオのフレームについての要求とともに、または、球面ビデオのフレームについての要求とは別個に通信され得る。タイルについての要求は、球面ビデオのフレームについての要求とともに、または、球面ビデオのフレームについての要求とは別個に通信され得る。たとえば、タイルについての要求は、変更された視界、パースペクティブ、または、視界パースペクティブに応答し得、これにより、以前に要求および/またはキューに入れられたタイルを置き換えることが必要になる。
視界位置制御モジュール1905は、タイル、複数のタイル、および/またはストリームについての要求を受信および処理する。たとえば、視界位置制御モジュール1905は、視界に基づいて、フレームと、当該フレームにおけるタイルまたは複数のタイルの位置とを決定し得る。その後、視界位置制御モジュール1905は、タイル、複数のタイルまたはストリームを選択するようタイル選択モジュール1910に命令し得る。タイルまたは複数のタイルを選択することは、パラメータをエンコーダ1625へ渡すことを含み得る。パラメータは、球面ビデオ、ストリームおよび/またはタイルのエンコーディング中に使用され得る。代替的には、タイルまたは複数のタイルの選択は、視界フレーム記憶装置1930からタイルまたは複数のタイルを選択することを含み得る。その後、選択されたタイルまたは複数のタイルは、エンコーダ1625に渡され得る。別の例示的な実現例では、タイルまたは複数のタイルの選択は、あらかじめエンコードされた(あるいはあらかじめ処理された)タイル、複数のタイルまたはストリームとして、視界フレーム記憶装置1930からタイル、複数のタイルまたはストリームを選択することを含み得る。
したがって、閲覧者の目(または頭)の方位(または方位の変化)を検出するように、方位センサ1925が構成され得る。たとえば、方位センサ1925は、動きを検出するために加速度計を含み得、また、方位を検出するためにジャイロスコープを含み得る。代替的または付加的には、方位センサ1925は、閲覧者の目または頭の方位を決定するために、閲覧者の目または頭に焦点を合わせたカメラまたは赤外線センサを含み得る。代替的または付加的には、方位センサ1925は、球面ビデオまたは画像の方位を検出するために、ディスプレイ上でレンダリングされるような球面ビデオまたは画像の部分を決定し得る。方位センサ1925は、方位および方位変化情報を視界位置決定モジュール1915に通信するように構成され得る。
視界位置決定モジュール1915は、球面ビデオに関して視界またはパースペクティブ視界(たとえば閲覧者が現在見ている球面ビデオの部分)を決定するように構成され得る。視界、パースペクティブまたは視界パースペクティブは、球面ビデオ上の位置、ポイントまたは焦点として決定され得る。たとえば、視界は、球面ビデオ上の緯度および経度の位置であり得る。視界、パースペクティブまたは視界パースペクティブは、球面ビデオに基づいて、キューブの側として決定され得る。視界(たとえば緯度および経度位置または側)は、たとえば、ハイパーテキスト転送プロトコル(HTTP:Hypertext Transfer Protocol)を使用して、視界位置制御モジュール1905に通信され得る。
視界位置制御モジュール1905は、球面ビデオ内のタイルまたは複数のタイルの視界位置(たとえばフレームおよびフレーム内の位置)を決定するように構成され得る。たとえば、視界位置制御モジュール1905は、視界位置、点または焦点(たとえば緯度および経度位置または側)を中心とする長方形を選択し得る。タイル選択モジュール1910は、タイルまたは複数のタイルとして長方形を選択するように構成され得る。タイル選択モジュール1910は、選択されたタイルもしくは複数のタイルをエンコードするようエンコーダ1625に(たとえばパラメータもしくは構成のセッティングを介して)命令するように構成され得、および/または、タイル選択モジュール1910は、視界フレーム記憶装置1930からタイルまたは複数のタイルを選択するように構成され得る。
認識されるであろうように、図16Aおよび図16Bにおいて示されるシステム1600および1650は、図20に関して以下に記載される一般的なコンピュータデバイス2000および/または一般的なモバイルコンピュータデバイス2050の要素および/または拡張として、実現され得る。代替的または付加的には、図16Aおよび図16Bにおいて示されるシステム1600および1650は、一般的なコンピュータデバイス2000および/または一般的なモバイルコンピュータデバイス2050に関して以下に記載される特徴のうちのいくつかまたはすべてを有する、一般的なコンピュータデバイス2000および/または一般的なモバイルコンピュータデバイス2050とは別個のシステムにおいて実現され得る。
図20は、本願明細書において記載される技術を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの概略的なブロック図である。図20は、ここに記載される技術とともに用いられ得る一般的なコンピュータデバイス2000および一般的なモバイルコンピュータデバイス2050の例を示す。コンピューティングデバイス2000は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータといった、さまざまな形態のデジタルコンピュータを表わすことを意図している。コンピューティングデバイス2050は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスといった、さまざまな形態のモバイルデバイスを表わすことを意図している。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は例示であることが意図されているに過ぎず、本文書に記載のおよび/または請求項に記載の本発明の実現例を限定することを意図していない。
コンピューティングデバイス2000は、プロセッサ2002、メモリ2004、記憶装置2006、メモリ2004および高速拡張ポート2010に接続している高速インターフェイス2008、ならびに低速バス2014および記憶装置2006に接続している低速インターフェイス2012を含む。コンポーネント2002,2004,2006,2008,2010,および2012の各々はさまざまなバスを用いて相互に接続されており、共通のマザーボード上にまたは他の態様で適宜搭載され得る。プロセッサ2002は、コンピューティングデバイス2000内で実行される命令を処理可能であり、この命令には、GUIのためのグラフィック情報を高速インターフェイス2008に結合されているディスプレイ2016などの外部入出力デバイス上に表示するためにメモリ2004内または記憶装置2006上に記憶されている命令が含まれる。他の実現例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数種類のメモリとともに必要に応じて用いられ得る。また、複数のコンピューティングデバイス2000が接続され得、各デバイスは(たとえばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作のパーティションを提供する。
メモリ2004は情報をコンピューティングデバイス2000内に記憶する。一実現例では、メモリ2004は1つまたは複数の揮発性メモリユニットである。別の実現例では、メモリ2004は1つまたは複数の不揮発性メモリユニットである。また、メモリ2004は、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
記憶装置2006は、コンピューティングデバイス2000に大容量記憶を提供可能である。一実現例では、記憶装置2006は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含む多数のデバイスといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラムプロダクトが情報媒体内に有形に具体化され得る。また、コンピュータプログラムプロダクトは、実行されると上述のような1つ以上の方法を実行する命令を含み得る。情報媒体は、メモリ2004、記憶装置2006、またはプロセッサ2002上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
高速コントローラ2008はコンピューティングデバイス2000のための帯域幅集約的な動作を管理するのに対して、低速コントローラ2012はより低い帯域幅集約的な動作を管理する。そのような機能の割当ては例示に過ぎない。一実現例では、高速コントローラ2008はメモリ2004、ディスプレイ2016に(たとえばグラフィックスプロセッサまたはアクセラレータを介して)、およびさまざまな拡張カード(図示せず)を受付け得る高速拡張ポート2010に結合される。当該実現例では、低速コントローラ2012は記憶装置2006および低速拡張ポート2014に結合される。さまざまな通信ポート(たとえばUSB、ブルートゥース、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータといったネットワーキングデバイスなどの1つ以上の入出力デバイスに、たとえばネットワークアダプタを介して結合され得る。
コンピューティングデバイス2000は、図に示すように多数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス2000は標準的なサーバ2020として、またはそのようなサーバのグループ内で複数回実現されてもよい。また、コンピューティングデバイス2000はラックサーバシステム2024の一部として実現されてもよい。さらに、コンピューティングデバイス2000はラップトップコンピュータ2022などのパーソナルコンピュータにおいて実現されてもよい。あるいは、コンピューティングデバイス2000からのコンポーネントは、デバイス2050などのモバイルデバイス(図示せず)内の他のコンポーネントと組合されてもよい。そのようなデバイスの各々がコンピューティングデバイス2000,2050の1つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス2000,2050で構成されてもよい。
コンピューティングデバイス2050は、数あるコンポーネントの中でも特に、プロセッサ2052、メモリ2064、ディスプレイ2054などの入出力デバイス、通信インターフェイス2066、およびトランシーバ2068を含む。また、デバイス2050には、マイクロドライブまたは他のデバイスなどの記憶装置が提供されて付加的なストレージが提供されてもよい。コンポーネント2050,2052,2064,2054,2066,および2068の各々はさまざまなバスを用いて相互に接続されており、当該コンポーネントのいくつかは共通のマザーボード上にまたは他の態様で適宜搭載され得る。
プロセッサ2052は、メモリ2064に記憶されている命令を含む、コンピューティングデバイス2050内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス2050が実行するアプリケーション、およびデバイス2050による無線通信の制御といった、デバイス2050の他のコンポーネントの協調を提供し得る。
プロセッサ2052は、ディスプレイ2054に結合された制御インターフェイス2058およびディスプレイインターフェイス2056を介してユーザと通信し得る。ディスプレイ2054は、たとえば、TFTLCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェイス2056は、ディスプレイ2054を駆動してグラフィックおよび他の情報をユーザに提示するための適切な回路を含み得る。制御インターフェイス2058はユーザからコマンドを受信し、当該コマンドをプロセッサ2052に提出するために変換し得る。さらに、外部インターフェイス2062が、デバイス2050と他のデバイスとの隣接通信を可能にするために、プロセッサ2052と通信した状態で提供されてもよい。外部インターフェイス2062は、たとえば、ある実現例では有線通信を提供し、他の実現例では無線通信を提供してもよく、また、複数のインターフェイスが用いられてもよい。
メモリ2064は情報をコンピューティングデバイス2050内に記憶する。メモリ2064は、1つもしくは複数のコンピュータ読取可能媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットの1つ以上として実現され得る。さらに、拡張メモリ2074が提供され、たとえばSIMM(Single In Line Memory Module)カードインターフェイスを含み得る拡張インターフェイス2072を介してデバイス2050に接続されてもよい。このような拡張メモリ2074はデバイス2050に余分のストレージスペースを提供し得るか、またはデバイス2050のためのアプリケーションもしくは他の情報をさらに記憶し得る。具体的には、拡張メモリ2074は上述のプロセスを実行または補足するための命令を含み得、さらにセキュア情報を含み得る。ゆえに、たとえば、拡張メモリ2074はデバイス2050のためのセキュリティモジュールとして提供されてもよく、デバイス2050のセキュアな使用を許可する命令でプログラムされてもよい。さらに、ハッキング不可能なようにSIMMカード上に識別情報を置くといったように、セキュアなアプリケーションが付加的な情報とともにSIMMカードを介して提供されてもよい。
メモリは、以下に記載のように、たとえばフラッシュメモリおよび/またはNVRAMメモリを含み得る。一実現例では、コンピュータプログラムプロダクトが情報媒体内に有形に具体化される。コンピュータプログラムプロダクトは、実行されると上述のような1つ以上の方法を実行する命令を含む。情報媒体は、メモリ2064、拡張メモリ2074、またはプロセッサ2052上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、これは、たとえばトランシーバ2068または外部インターフェイス2062上で受信され得る。
デバイス2050は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス2066を介して無線通信し得る。通信インターフェイス2066は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSといった、さまざまなモードまたはプロトコル下の通信を提供し得る。そのような通信は、たとえば無線周波数トランシーバ2068を介して行われ得る。さらに、ブルートゥース(登録商標)、WiFi(登録商標)、または他のそのようなトランシーバ(図示せず)を用いるなどして、短距離通信が行われ得る。さらに、GPS(全地球測位システム)レシーバモジュール2070が付加的なナビゲーション関連および位置関連の無線データをデバイス2050に提供し得、当該データはデバイス2050上で実行されるアプリケーションによって適宜用いられ得る。
また、デバイス2050は、ユーザから口頭情報を受信して当該情報を使用可能なデジタル情報に変換し得る音声コーデック2060を用いて可聴的に通信し得る。音声コーデック2060も同様に、たとえばデバイス2050のハンドセット内で、スピーカを介すなどしてユーザに可聴音を生成し得る。そのような音は音声電話からの音を含んでいてもよく、録音された音(たとえば音声メッセージ、音楽ファイル等)を含んでいてもよく、さらに、デバイス2050上で実行されるアプリケーションが生成する音を含んでいてもよい。
コンピューティングデバイス2050は、図に示すように多数の異なる形態で実現されてもよい。たとえば、コンピューティングデバイス2050はセルラー電話2080として実現されてもよい。また、コンピューティングデバイス2650は、スマートフォン2082、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
上記の例示的な実施形態のうちのいくつかはフローチャートとして示される処理または方法として記載される。フローチャートは動作をシーケンシャルな処理として記載しているが、動作の多くは、並列、同時または一斉に行なわれ得る。さらに、動作の順序は再構成され得る。処理は、それらの動作が完成すると、終了し得るが、当該図に含まれていない付加的なステップを有し得る。これらの処理は、メソッド、ファンクション、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。
いくつかがフローチャートによって示されている上で論じた方法は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語またはその任意の組合せによって実現され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードにおいて実現されると、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体のような機械読取可能媒体またはコンピュータ読取可能媒体に格納され得る。プロセッサは必要なタスクを実行し得る。
本願明細書において開示される特定の構造的および機能的な詳細は単に、例示的な実施形態を説明する目的のための代表的なものである。しかしながら、例示的な実施形態は、多くの代替的な形態で具現化され、本願明細書において記載される実施形態のみに限定されると解釈されるべきでない。
第1、第2などといった用語は、本願明細書においてさまざまな要素を記載するために使用され得るが、これらの要素はこれらの用語によって限定されるべきでないということが理解されるであろう。これらの用語は単に、1つの要素を別の要素と区別するために使用されている。たとえば、例示的な実施形態の範囲から逸脱することがなければ、第1の要素は、第2の要素と称することが可能であり、同様に、第2の要素を第1の要素と称することが可能である。本願明細書において使用されるように、「および/または」という用語は、関連付けられる列挙された項目の1つ以上のいずれかおよびすべての組合せを含む。
ある要素が別の要素に接続または結合されると称される場合、ある要素は直接的に他の要素に接続または結合され得るか、または、介在要素が存在し得るということが理解されるであろう。対照的に、ある要素が別の要素に直接的に接続または直接的に結合されると称される場合、介在要素は存在しない。要素同士の関係を説明するように用いられる他の単語は、類似の態様(たとえば、「間に」と「直接的に間に」、「隣接」と「直接的に隣接」、など)で解釈されるべきである。
本願明細書において使用される用語は単に特定の実施形態を説明するためのものであり、例示的な実施形態に限定するようには意図されない。本願明細書において使用されるように、「ある(a, an)」および「その(the)」といった単数形は、文脈が別の態様を明白に示していなければ、複数形も含むように意図される。「備える(comprises, comprising)」および/または「含む(includes, including)」という用語は、本願明細書において使用される場合、言及された特徴、整数、ステップ、動作、要素および/またはコンポーネントの存在を特定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネントおよび/またはそのグループの存在または追加を排除しないということがさらに理解されるであろう。
さらに、いくつかの代替的な実現例では、言及された機能/動作が、図に示される順番とは異なって行われ得る。たとえば、連続して示される2つの図は実際には、関連する機能/動作に依存して、同時に実行されてもよく、または、時には逆の順序で実行されてもよい。
別の態様で規定されていなければ、本願明細書において使用されるすべての用語(技術用語および科学用語を含む)は、例示的な実施形態が属する技術の当業者によって一般に理解されるのと同じ意味を有する。さらに、たとえば、一般に用いられている辞書において規定されている用語のような用語は、関連技術の文脈にあるそれらの意味と一致する意味を有すると解釈されるべきであり、理想化または過度に形式的な意味で、本願明細書においてそのように明らかに規定されていなければ、解釈されないということが理解されるであろう。
ソフトウェアまたはアルゴリズム、および、コンピュータメモリ内でのデータビットに対する動作の記号的な表現に関して、上記の例示的な実施形態および対応する詳細な説明の部分が提示される。これらの記載および表現は、当業者が、他の当業者に自身の成果の実体を有効に伝えるものである。ここで使用される場合および一般的に使用される場合のアルゴリズムという用語は、所望の結果に至るステップの首尾一貫したシーケンスであると考えられる。ステップは、物理量の物理的な操作を必要とするものである。必ずではなく通常は、これらの量は、格納、転送、組み合わせ、比較、および別の態様で操作されることが可能である光学信号、電気信号、または磁気信号の形態を取る。これらの信号をビット、値、要素、記号、文字、項、または数字などと称することは、主に一般的な使用の理由により、時に簡便であると理解されている。
上記の例示的な実施形態において、プログラムモジュールまたは機能的処理として実現され得る(たとえばフローチャートの形態での)行為および動作の記号的表現への参照は、特定のタスクを実行または特定の抽象データタイプを実現するとともに既存の構造要素において既存のハードウェアを使用して記述および/または実現され得るルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。そのような既存のハードウェアは、1つ以上の中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路、または、フィールドプログラマブルゲートアレイ(FPGA)コンピュータなどを含み得る。
しかしながら、これらおよび同様の用語のすべては、適切な物理量に関連付けられるべきであり、単に、これらの量に適用された簡便なラベルであるということが念頭に置かれるべきである。特に別記しない限り、あるいは、議論から明白なように、表示の処理、コンピューティング、計算、または決定といった用語は、コンピュータシステムのレジスタおよびメモリ内で物理的な電子量として表わされるデータを操作し、コンピュータシステムメモリ、レジスタ、または、他のそのような情報記憶デバイス、送信デバイスもしくは表示デバイス内の物理量として同様に表わされる他のデータへ当該データを変換するコンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよび処理を意味する。
また、例示的な実施形態のソフトウェアによって実現される局面は典型的に、何らかの形態の一時的でないプログラム記憶媒体上でエンコードされるか、または、何らかのタイプの伝送媒体上で実現される。プログラム記憶媒体は、磁気的(たとえばフロッピー(登録商標)ディスクまたはハードドライブ)であるか、または、光学的(たとえば読み取り専用コンパクトディスクすなわちCDROM)であり得、読み取り専用またはランダムアクセスであり得る。同様に、伝送媒体は、当該技術について公知であるツイストペア線、同軸ケーブル、光ファイバ、または、何らかの他の好適な伝送媒体であり得る。例示的な実施形態は、所与の実現例のこれらの局面によって限定されない。
最後に、添付の請求の範囲は、本願明細書において記載された特徴の特定の組合せを記載しているが、本開示の範囲は、請求される特定の組合せに限定されず、その代わりに、その特定の組合せが今回、添付の請求の範囲において具体的に列挙されているかどうかに関係なく本願明細書において開示される特徴または実施形態の任意の組合せを包含するよう拡張される。

Claims (18)

  1. 方法であって、
    第1の品質を有する第1のビデオストリームを再生デバイスにおいて受信することと、
    少なくとも2つの第2のビデオストリームを前記再生デバイスにおいて受信することとを含み、前記少なくとも2つの第2のビデオストリームは各々、前記第1のビデオストリームの部分に対応しており、前記少なくとも2つの第2のビデオストリームは前記第1の品質と比較してより高品質である第2の品質を有しており、前記方法はさらに、
    前記再生デバイスにおいて前記第1のビデオストリームを再生することと、
    前記再生デバイスのユーザの視界パースペクティブに基づいて、前記少なくとも2つの第2のビデオストリームから第3のビデオストリームを選択することと、
    前記再生デバイスにおいて前記第1のビデオストリームと一緒に前記第3のビデオストリームを再生することとを含み、
    前記第1の品質はビットレートおよび解像度に基づいており、
    前記ビットレートは最小の通信チャネル性能に基づいており、
    前記解像度は前記再生デバイスに関連付けられる最小ピクセル密度に基づいている、方法。
  2. 方法であって、
    第1の品質を有する第1のビデオストリームを再生デバイスにおいて受信することと、
    少なくとも2つの第2のビデオストリームを前記再生デバイスにおいて受信することとを含み、前記少なくとも2つの第2のビデオストリームは各々、前記第1のビデオストリームの部分に対応しており、前記少なくとも2つの第2のビデオストリームは前記第1の品質と比較してより高品質である第2の品質を有しており、前記方法はさらに、
    前記再生デバイスにおいて前記第1のビデオストリームを再生することと、
    前記再生デバイスのユーザの視界パースペクティブに基づいて、前記少なくとも2つの第2のビデオストリームから第3のビデオストリームを選択することと、
    前記再生デバイスにおいて前記第1のビデオストリームと一緒に前記第3のビデオストリームを再生することと、
    前記第1のビデオストリームをバッファリングすることとを含み、
    前記再生デバイスにおいて前記第1のビデオストリームと一緒に前記第3のビデオストリームを再生することは、
    前記第1のビデオストリームの対応する部分を前記第3のビデオストリームに置換することと、
    前記再生デバイス上でその結果をレンダリングすることと、
    前記第3のビデオストリームに問題が存在することを判定することとを含み、
    前記第3のビデオストリームに問題が存在することを判定する際に、バッファリングされた前記第1のビデオストリームは前記再生デバイス上でレンダリングされる、方法。
  3. 方法であって、
    第1の品質を有する第1のビデオストリームを再生デバイスにおいて受信することと、
    少なくとも2つの第2のビデオストリームを前記再生デバイスにおいて受信することとを含み、前記少なくとも2つの第2のビデオストリームは各々、前記第1のビデオストリームの部分に対応しており、前記少なくとも2つの第2のビデオストリームは前記第1の品質と比較してより高品質である第2の品質を有しており、前記方法はさらに、
    前記再生デバイスにおいて前記第1のビデオストリームを再生することと、
    前記再生デバイスのユーザの視界パースペクティブに基づいて、前記少なくとも2つの第2のビデオストリームから第3のビデオストリームを選択することと、
    前記再生デバイスにおいて前記第1のビデオストリームと一緒に前記第3のビデオストリームを再生することとを含み、
    前記再生デバイスはヘッドマウントディスプレイ(HMD)であり、
    前記再生デバイスにおいて前記第1のビデオストリームと一緒に前記第3のビデオストリームを再生することは、
    前記HMDの左目または右目ディスプレイのうちの一方の上で前記第1のビデオストリームをレンダリングすることと、
    前記HMDの前記左目または右目ディスプレイのうちの他方の上で前記第3のビデオストリームをレンダリングすることとを含む、方法。
  4. 方法であって、
    第1の品質を有する第1のビデオストリームを再生デバイスにおいて受信することと、
    少なくとも2つの第2のビデオストリームを前記再生デバイスにおいて受信することとを含み、前記少なくとも2つの第2のビデオストリームは各々、前記第1のビデオストリームの部分に対応しており、前記少なくとも2つの第2のビデオストリームは前記第1の品質と比較してより高品質である第2の品質を有しており、前記方法はさらに、
    前記再生デバイスにおいて前記第1のビデオストリームを再生することと、
    前記再生デバイスのユーザの視界パースペクティブに基づいて、前記少なくとも2つの第2のビデオストリームから第3のビデオストリームを選択することと、
    前記再生デバイスにおいて前記第1のビデオストリームと一緒に前記第3のビデオストリームを再生することとを含み、
    前記少なくとも2つの第2のビデオストリームは、異なるタイムスタンプにてエンコードされる関連付けられるキーフレームを有する、方法。
  5. 方法であって、
    第1の品質を有する第1のビデオストリームを再生デバイスにおいて受信することと、
    少なくとも2つの第2のビデオストリームを前記再生デバイスにおいて受信することとを含み、前記少なくとも2つの第2のビデオストリームは各々、前記第1のビデオストリームの部分に対応しており、前記少なくとも2つの第2のビデオストリームは前記第1の品質と比較してより高品質である第2の品質を有しており、前記方法はさらに、
    前記再生デバイスにおいて前記第1のビデオストリームを再生することと、
    前記再生デバイスのユーザの視界パースペクティブに基づいて、前記少なくとも2つの第2のビデオストリームから第3のビデオストリームを選択することと、
    前記再生デバイスにおいて前記第1のビデオストリームと一緒に前記第3のビデオストリームを再生することと、
    前記少なくとも2つの第2のビデオストリームの各々が前記再生デバイスの閲覧可能しきい値内にあるかどうか判定することと、
    前記少なくとも2つの第2のビデオストリームが前記再生デバイスの前記閲覧可能しきい値内にあると判定する際に、前記少なくとも2つの第2のビデオストリームをデコードすることと、
    前記少なくとも2つの第2のビデオストリームが前記再生デバイスの前記閲覧可能しきい値内にないと判定する際に、前記少なくとも2つの第2のビデオストリームをデコードすることをスキップすることとを含む、方法。
  6. 前記再生デバイスの前記ユーザの前記視界パースペクティブが変化したことを判定することと、
    変化した前記視界パースペクティブに基づいて、前記少なくとも2つの第2のビデオストリームから第4のビデオストリームを選択することと、
    前記再生デバイスにおいて前記第1のビデオストリームと一緒に前記第4のビデオストリームを再生することとをさらに含む、請求項1〜請求項5のいずれか1項に記載の方法。
  7. 第1の品質でビデオのフレームをエンコードすることと、
    前記第1の品質と比較してより高品質である第2の品質で前記ビデオの前記フレームの少なくとも2つの部分をエンコードすることと、
    前記ビデオの前記フレームを格納することと、
    前記ビデオの前記フレームの前記少なくとも2つの部分を格納することとを含み、
    前記第2の品質で前記ビデオの前記フレームの前記少なくとも2つの部分をエンコーディングすることは、異なるタイムスタンプを有するキーフレームを使用して前記ビデオの前記フレームの前記少なくとも2つの部分の各々をエンコードすることを含む、方法。
  8. 前記ビデオの前記フレームをストリーミングすることと、
    前記ビデオの前記フレームの前記少なくとも2つの部分をストリーミングすることとをさらに含む、請求項に記載の方法。
  9. 再生デバイスに関連付けられる動きの量を示すものを受信することと、
    前記動きに基づいて、前記ビデオの前記フレームの前記少なくとも2つの部分に関連付けられるサイズを適合することとをさらに含む、請求項7または請求項8に記載の方法。
  10. ビデオをストリーミングする要求を受信することと、
    前記ビデオの前記フレームと、前記ビデオの前記フレームの前記少なくとも2つの部分
    のうちの1つとを用いてフレームを構築することと、
    構築された前記フレームをストリーミングすることとをさらに含む、請求項7〜請求項9のいずれか1項に記載の方法。
  11. 前記ビデオの前記フレームは球面ビデオに関連付けられており、
    前記ビデオの前記フレームをエンコードすることは、
    キューブマップとして前記ビデオの前記フレームを投影することと、
    等角サンプリングアルゴリズムを使用して前記キューブマップをエンコードすることとを含む、請求項7〜請求項10のいずれか1項に記載の方法。
  12. 前記ビデオの前記フレームは球面ビデオに関連付けられており、前記方法はさらに、
    キューブマップとして前記ビデオの前記フレームを投影することと、
    前記キューブマップのキューブ面を選択することとを含み、
    前記ビデオの前記フレームをエンコードすることは前記第1の品質で前記キューブ面をエンコードすることを含み、
    前記ビデオの前記フレームの前記少なくとも2つの部分をエンコードすることは、前記第2の品質で前記キューブ面の少なくとも2つの部分をエンコードすることを含む、請求項7〜請求項11のいずれか1項に記載の方法。
  13. 前記ビデオの前記フレームをストリーミングすることと、
    前記ビデオの前記フレームの前記少なくとも2つの部分をストリーミングすることと、
    再生デバイス上での再生が一時停止したということを示すものを受信することと、
    前記第2の品質で前記ビデオの前記フレームをエンコードすることと、
    前記第2の品質でエンコードされた前記ビデオの前記フレームをストリーミングすることとをさらに含む、請求項に記載の方法。
  14. 前記第1の品質は、低フレームレート高解像度ストリーム、モノストリーム、低減色ストリームおよび白黒ストリームのうちの少なくとも1つに基づく、請求項7〜請求項13のいずれか1項に記載の方法。
  15. 複数のエンコードされたフレームとして前記ビデオの前記フレームをストリーミングすることと、
    第3の品質を達成するよう、前記ビデオの前記ストリーミング中に前記複数のエンコードされたフレームのうちの少なくとも1つのフレームをドロップすることとをさらに含む、請求項7〜請求項14のいずれか1項に記載の方法。
  16. ストリーミングサーバであって、
    エンコーダを含み、前記エンコーダは、
    第1の品質でビデオのフレームをエンコードすることと、
    前記第1の品質と比較してより高品質である第2の品質で前記ビデオの前記フレームの少なくとも2つの部分をエンコードすることとを行うように構成され、前記ストリーミングサーバはさらに、
    メモリを含み、前記メモリは、
    前記ビデオの前記フレームを格納することと、
    前記ビデオの前記フレームの前記少なくとも2つの部分を格納することとを行うように構成され、前記ストリーミングサーバはさらに、
    コントローラを含み、前記コントローラは、
    エンコードされた前記フレームと、前記ビデオの前記フレームのエンコードされた前記少なくとも2つの部分のうちの1つ以上とを含むビデオをストリーミングすることを行うように構成され
    前記第2の品質で前記ビデオの前記フレームの前記少なくとも2つの部分をエンコーディングすることは、異なるタイムスタンプを有するキーフレームを使用して前記ビデオの前記フレームの前記少なくとも2つの部分の各々をエンコードすることを含む、ストリーミングサーバ。
  17. 前記ビデオの前記フレームは球面ビデオに関連付けられており、前記エンコーダはさらに、
    キューブマップとして前記ビデオの前記フレームを投影することと、
    前記キューブマップのキューブ面を選択することとを行うように構成され、
    前記ビデオの前記フレームをエンコードすることは前記第1の品質で前記キューブ面をエンコードすることを含み、
    前記ビデオの前記フレームの前記少なくとも2つの部分をエンコードすることは、前記第2の品質で前記キューブ面の少なくとも2つの部分をエンコードすることを含む、請求項16に記載のストリーミングサーバ。
  18. 1つ以上のプロセッサに実行されることにより、前記1つ以上のプロセッサに請求項1〜請求項15のいずれか1項に記載の方法を実施させる、プログラム。
JP2017550744A 2015-05-27 2016-05-27 球面ビデオのストリーミング Active JP6501904B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562167260P 2015-05-27 2015-05-27
US62/167,260 2015-05-27
PCT/US2016/034684 WO2016191694A1 (en) 2015-05-27 2016-05-27 Streaming spherical video

Publications (2)

Publication Number Publication Date
JP2018525852A JP2018525852A (ja) 2018-09-06
JP6501904B2 true JP6501904B2 (ja) 2019-04-17

Family

ID=56121202

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017550744A Active JP6501904B2 (ja) 2015-05-27 2016-05-27 球面ビデオのストリーミング

Country Status (7)

Country Link
US (1) US10880346B2 (ja)
EP (1) EP3304487A1 (ja)
JP (1) JP6501904B2 (ja)
KR (1) KR102013403B1 (ja)
CN (1) CN107439010B (ja)
DE (1) DE112016002377T5 (ja)
WO (1) WO2016191694A1 (ja)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
US10652603B2 (en) 2015-07-09 2020-05-12 Triton Us Vp Acquision Co. Transitioning between broadcast and unicast streams
US10096130B2 (en) * 2015-09-22 2018-10-09 Facebook, Inc. Systems and methods for content streaming
US9858706B2 (en) * 2015-09-22 2018-01-02 Facebook, Inc. Systems and methods for content streaming
US9767363B2 (en) * 2015-10-30 2017-09-19 Google Inc. System and method for automatic detection of spherical video content
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US10593028B2 (en) * 2015-12-03 2020-03-17 Samsung Electronics Co., Ltd. Method and apparatus for view-dependent tone mapping of virtual reality images
JP6741784B2 (ja) 2016-04-08 2020-08-19 ヴィズビット インコーポレイテッド ビューを意識した360度ビデオストリーミング
US10602191B2 (en) 2016-05-13 2020-03-24 Gopro, Inc. Apparatus and methods for video compression
US10848668B2 (en) 2016-05-19 2020-11-24 Avago Technologies International Sales Pte. Limited 360 degree video recording and playback with object tracking
US10681326B2 (en) * 2016-05-19 2020-06-09 AVAGO TECHNOLOGlES INTERNATIONAL SALES PTE. LIMITED 360 degree video system with coordinate compression
US11019257B2 (en) 2016-05-19 2021-05-25 Avago Technologies International Sales Pte. Limited 360 degree video capture and playback
US10432855B1 (en) * 2016-05-20 2019-10-01 Gopro, Inc. Systems and methods for determining key frame moments to construct spherical images
EP3249928A1 (en) * 2016-05-23 2017-11-29 Thomson Licensing Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
US20180007422A1 (en) 2016-06-30 2018-01-04 Sony Interactive Entertainment Inc. Apparatus and method for providing and displaying content
JP7127539B2 (ja) * 2016-08-05 2022-08-30 ソニーグループ株式会社 画像処理装置および画像処理方法
EP4084480A1 (en) 2016-09-09 2022-11-02 Vid Scale, Inc. Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
KR102545195B1 (ko) * 2016-09-12 2023-06-19 삼성전자주식회사 가상 현실 시스템에서 컨텐트 전송 및 재생 방법 및 장치
KR102598082B1 (ko) * 2016-10-28 2023-11-03 삼성전자주식회사 영상 표시 장치, 모바일 장치 및 그 동작방법
CN108156363A (zh) * 2016-12-05 2018-06-12 贝马体育科技有限公司 360度视频播放器及方法
US10509965B2 (en) * 2016-12-15 2019-12-17 Google Llc Methods, systems, and media for detecting two-dimensional videos placed on a sphere in abusive spherical video content by tiling the sphere
US10999602B2 (en) * 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
EP3571845B1 (en) * 2017-01-20 2021-06-30 PCMS Holdings, Inc. Field-of-view prediction method based on contextual information for 360-degree vr video
US10623735B2 (en) 2017-01-21 2020-04-14 OrbViu Inc. Method and system for layer based view optimization encoding of 360-degree video
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10319149B1 (en) * 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
CN108513119A (zh) * 2017-02-27 2018-09-07 阿里巴巴集团控股有限公司 图像的映射、处理方法、装置和机器可读介质
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US10754514B1 (en) 2017-03-01 2020-08-25 Matroid, Inc. Machine learning in video classification with schedule highlighting
US11004173B2 (en) * 2017-03-13 2021-05-11 Mediatek Inc. Method for processing projection-based frame that includes at least one projection face packed in 360-degree virtual reality projection layout
US11057643B2 (en) 2017-03-13 2021-07-06 Mediatek Inc. Method and apparatus for generating and encoding projection-based frame that includes at least one padding region and at least one projection face packed in 360-degree virtual reality projection layout
US11184599B2 (en) 2017-03-15 2021-11-23 Pcms Holdings, Inc. Enabling motion parallax with multilayer 360-degree video
US10887600B2 (en) * 2017-03-17 2021-01-05 Samsung Electronics Co., Ltd. Method and apparatus for packaging and streaming of virtual reality (VR) media content
CN110622483B (zh) * 2017-03-23 2022-10-18 Vid拓展公司 改进用于360度自适应流传输的体验的度量和消息
CN110520903B (zh) * 2017-03-28 2023-11-28 三星电子株式会社 基于用户移动信息显示图像的方法和装置
CN110651482B (zh) * 2017-03-30 2022-02-22 联发科技股份有限公司 发信isobmff的球面区域信息的方法和装置
US10979663B2 (en) * 2017-03-30 2021-04-13 Yerba Buena Vr, Inc. Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
GB2573951A (en) 2017-04-05 2019-11-20 Mediatek Inc Method and apparatus for processing projection-based frame with at least one projection face generated using non-uniform mapping
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
CN111510782A (zh) * 2017-04-28 2020-08-07 华为技术有限公司 视频播放方法、虚拟现实设备、服务器及计算机存储介质
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US10873775B2 (en) * 2017-06-12 2020-12-22 Netflix, Inc. Staggered key frame video encoding
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
WO2019034131A1 (en) 2017-08-18 2019-02-21 Mediatek Inc. METHOD AND APPARATUS FOR REDUCING ARTIFACTS IN A PROJECTION-BASED FRAME
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
WO2019073113A1 (en) * 2017-10-09 2019-04-18 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING
EP3470974A1 (en) * 2017-10-10 2019-04-17 Thomson Licensing Selection of animated viewing angle in an immersive virtual environment
CN109698949B (zh) * 2017-10-20 2020-08-21 腾讯科技(深圳)有限公司 基于虚拟现实场景的视频处理方法、装置和***
EP3493552A1 (en) * 2017-11-30 2019-06-05 Thomson Licensing Method for managing a streaming processing of a multimedia video spatially tiled stored on a network equipment, and corresponding terminal
KR101981868B1 (ko) * 2017-12-12 2019-08-28 가천대학교 산학협력단 가상 현실 비디오 품질 제어
US10554953B2 (en) * 2017-12-17 2020-02-04 Google Llc Distortion of video for seek in 360 degree video
CN108366249A (zh) * 2018-01-17 2018-08-03 安徽中骄智能科技有限公司 一种基于wifi模块的虚拟现实vr数据快速处理***
US11265356B2 (en) 2018-02-22 2022-03-01 Sony Group Corporation Network assistance functions for virtual reality dyanmic streaming
CN108520492B (zh) * 2018-03-16 2022-04-26 中国传媒大学 全景视频映射方法及***
KR102395395B1 (ko) * 2018-03-22 2022-05-10 브이아이디 스케일, 인크. 뷰포트 의존성 비디오 스트리밍 이벤트
US10812828B2 (en) 2018-04-10 2020-10-20 At&T Intellectual Property I, L.P. System and method for segmenting immersive video
US11153482B2 (en) * 2018-04-27 2021-10-19 Cubic Corporation Optimizing the content of a digital omnidirectional image
CN111819570A (zh) 2018-05-21 2020-10-23 谷歌有限责任公司 用于检测滥用球形视频内容中被放置在球体上的二维视频的方法、***和介质
US10764494B2 (en) 2018-05-25 2020-09-01 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using composite pictures
US10666863B2 (en) * 2018-05-25 2020-05-26 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using overlapping partitioned sections
US11917127B2 (en) 2018-05-25 2024-02-27 Interdigital Madison Patent Holdings, Sas Monitoring of video streaming events
US10623791B2 (en) 2018-06-01 2020-04-14 At&T Intellectual Property I, L.P. Field of view prediction in live panoramic video streaming
US10812774B2 (en) 2018-06-06 2020-10-20 At&T Intellectual Property I, L.P. Methods and devices for adapting the rate of video content streaming
US10616621B2 (en) 2018-06-29 2020-04-07 At&T Intellectual Property I, L.P. Methods and devices for determining multipath routing for panoramic video content
US11695978B2 (en) * 2018-07-05 2023-07-04 Mux, Inc. Methods for generating video-and audience-specific encoding ladders with audio and video just-in-time transcoding
US10708494B2 (en) 2018-08-13 2020-07-07 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic video content
US11019361B2 (en) 2018-08-13 2021-05-25 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic view of a camera for capturing video content
CN109089097A (zh) * 2018-08-28 2018-12-25 恒信东方文化股份有限公司 一种基于vr图像处理的焦点对象选取方法
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US11032590B2 (en) 2018-08-31 2021-06-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for providing panoramic video content to a mobile device from an edge server
US10999583B2 (en) 2018-09-14 2021-05-04 Apple Inc. Scalability of multi-directional video streaming
CN110956583B (zh) * 2018-09-26 2022-05-10 华为技术有限公司 球面图像处理方法、装置及服务器
US11184461B2 (en) 2018-10-23 2021-11-23 At&T Intellectual Property I, L.P. VR video transmission with layered video by re-using existing network infrastructures
CN109413448A (zh) * 2018-11-05 2019-03-01 中山大学 基于深度强化学习的移动设备全景视频播放***
US10638165B1 (en) * 2018-11-08 2020-04-28 At&T Intellectual Property I, L.P. Adaptive field of view prediction
JP6688367B1 (ja) * 2018-11-12 2020-04-28 Nttテクノクロス株式会社 動画配信装置、端末、動画配信システム、動画配信方法、及びプログラム
US10939139B2 (en) 2018-11-29 2021-03-02 Apple Inc. Adaptive coding and streaming of multi-directional video
CN109712222B (zh) * 2018-12-29 2023-12-19 超级魔方(北京)科技有限公司 一种图像处理方法及装置
KR102174795B1 (ko) * 2019-01-31 2020-11-05 주식회사 알파서클 가상현실을 표현하는 분할영상 사이의 전환시점을 제어하여 프레임 동기화를 구현하는 가상현실 영상전환방법 및 가상현실 영상재생장치
KR102174794B1 (ko) 2019-01-31 2020-11-05 주식회사 알파서클 복수의 분할영상 중 재생되는 영상의 전환시점을 제어하는 가상현실 분할영상 전환방법 및 가상현실 영상재생장치
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
CN111935557B (zh) * 2019-05-13 2022-06-28 华为技术有限公司 视频处理方法、装置及***
US11956295B2 (en) 2019-09-27 2024-04-09 Apple Inc. Client-end enhanced view prediction for multi-view video streaming exploiting pre-fetched data and side information
WO2021107934A1 (en) * 2019-11-26 2021-06-03 Hewlett-Packard Development Company, L.P. Increase image quality in video streaming sessions
KR102295264B1 (ko) * 2019-11-28 2021-08-30 주식회사 알파서클 하나의 스트리밍영상을 이용하여 복수의 가상현실영상을 재생하는 가상현실영상재생장치 및 방법
US11284141B2 (en) 2019-12-18 2022-03-22 Yerba Buena Vr, Inc. Methods and apparatuses for producing and consuming synchronized, immersive interactive video-centric experiences
KR20210107409A (ko) 2020-02-24 2021-09-01 삼성전자주식회사 엣지 컴퓨팅 서비스를 이용한 영상 컨텐츠 전송 방법 및 장치
US11736455B1 (en) * 2020-07-01 2023-08-22 Amazon Technologies, Inc. Techniques for performing video-based verification
CN112804511B (zh) * 2021-01-04 2022-04-01 烽火通信科技股份有限公司 一种动态渲染全景视频的方法和装置
CN115955580B (zh) * 2023-03-14 2023-06-06 江西财经大学 基于可伸缩编码的全景视频边缘缓存方法及***

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577981A (en) * 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US7330875B1 (en) * 1999-06-15 2008-02-12 Microsoft Corporation System and method for recording a presentation for on-demand viewing over a computer network
GB2356757B (en) * 1999-11-29 2004-02-04 Seos Displays Ltd Image display apparatus
US6920175B2 (en) * 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
US7428000B2 (en) * 2003-06-26 2008-09-23 Microsoft Corp. System and method for distributed meetings
KR100596705B1 (ko) * 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US20060095398A1 (en) * 2004-11-04 2006-05-04 Vasudev Bhaskaran Automatic defocussing of displayed multimedia information on client by monitoring static and dynamic properties of the client
JP2008523689A (ja) * 2004-12-10 2008-07-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 単層符号化を使用する無線ビデオストリーミング及び優先順位付けされたストリーミング
US8458753B2 (en) * 2006-02-27 2013-06-04 Time Warner Cable Enterprises Llc Methods and apparatus for device capabilities discovery and utilization within a content-based network
US20100239001A1 (en) * 2007-05-23 2010-09-23 Kazuteru Watanabe Video streaming system, transcoding device, and video streaming method
US8238420B1 (en) * 2008-01-24 2012-08-07 Adobe Systems Incorporated Video content transcoding for mobile devices
US8319825B1 (en) * 2008-06-16 2012-11-27 Julian Urbach Re-utilization of render assets for video compression
US9294789B2 (en) * 2008-12-09 2016-03-22 Adobe Systems Incorporated Enhanced live multibitrate video encoding
US8380790B2 (en) * 2008-12-15 2013-02-19 Microsoft Corporation Video conference rate matching
US8964008B2 (en) * 2011-06-17 2015-02-24 Microsoft Technology Licensing, Llc Volumetric video presentation
JP5953963B2 (ja) * 2012-06-13 2016-07-20 ソニー株式会社 頭部装着型映像表示装置
US9401043B2 (en) * 2013-01-18 2016-07-26 Pixar Photon beam diffusion
US9019337B2 (en) 2013-02-21 2015-04-28 Avaya Inc. System and method for managing a presentation
JP5941000B2 (ja) * 2013-03-12 2016-06-29 日本電信電話株式会社 映像配信装置及び映像配信方法
DE102014207607B4 (de) * 2013-04-25 2019-09-19 Avago Technologies International Sales Pte. Ltd. System und Verfahren zur Verarbeitung von Videodaten
US10137361B2 (en) * 2013-06-07 2018-11-27 Sony Interactive Entertainment America Llc Systems and methods for using reduced hops to generate an augmented virtual reality scene within a head mounted system
JP6178705B2 (ja) * 2013-11-15 2017-08-09 日本電信電話株式会社 映像配信システム、映像配信装置及び映像配信プログラム
KR102257621B1 (ko) * 2014-05-19 2021-05-28 엘지전자 주식회사 썸네일 이미지를 디스플레이 하는 헤드 마운티드 디스플레이 디바이스 및 그 제어 방법
US9661312B2 (en) * 2015-01-22 2017-05-23 Microsoft Technology Licensing, Llc Synthesizing second eye viewport using interleaving
EP3308215A2 (en) * 2015-01-28 2018-04-18 NEXTVR Inc. Zoom related methods and apparatus

Also Published As

Publication number Publication date
CN107439010B (zh) 2022-01-04
KR102013403B1 (ko) 2019-08-22
EP3304487A1 (en) 2018-04-11
KR20170123656A (ko) 2017-11-08
US10880346B2 (en) 2020-12-29
US20160352791A1 (en) 2016-12-01
DE112016002377T5 (de) 2018-02-08
WO2016191694A1 (en) 2016-12-01
JP2018525852A (ja) 2018-09-06
CN107439010A (zh) 2017-12-05

Similar Documents

Publication Publication Date Title
JP6501904B2 (ja) 球面ビデオのストリーミング
US10469873B2 (en) Encoding and decoding virtual reality video
US10546424B2 (en) Layered content delivery for virtual and augmented reality experiences
US10567464B2 (en) Video compression with adaptive view-dependent lighting removal
US10341632B2 (en) Spatial random access enabled video system with a three-dimensional viewing volume
US10419737B2 (en) Data structures and delivery methods for expediting virtual reality playback
US10277914B2 (en) Measuring spherical image quality metrics based on user field of view
JP6410918B2 (ja) パノラマ映像コンテンツの再生に使用するシステム及び方法
US10379601B2 (en) Playing spherical video on a limited bandwidth connection
US20160353146A1 (en) Method and apparatus to reduce spherical video bandwidth to user headset
JP2019526178A (ja) 空間的にタイリングされた全方位ビデオのストリーミング
EP3603056A1 (en) A method and an apparatus and a computer program product for adaptive streaming
JP6672327B2 (ja) ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置
JP7177034B2 (ja) レガシー及び没入型レンダリングデバイスのために没入型ビデオをフォーマットする方法、装置、及びストリーム
EP3849189A1 (en) Multi-dimensional video transcoding
EP3540696A1 (en) A method and an apparatus for volumetric video rendering
KR102499900B1 (ko) 고해상도 영상의 스트리밍을 위한 영상 전송 장치와 영상 재생 장치 및 그 동작 방법
US11653024B2 (en) Method and technical equipment for encoding and decoding volumetric video
TW202234882A (zh) 即時多視像視訊轉換方法和系統
WO2023129214A1 (en) Methods and system of multiview video rendering, preparing a multiview cache, and real-time multiview video conversion
JP2020043559A (ja) ビデオストリーミング方法、ビデオストリーミングシステム、ビデオストリーミング装置およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190104

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: 20190219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190319

R150 Certificate of patent or registration of utility model

Ref document number: 6501904

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250