JP6672327B2 - Method and apparatus for reducing spherical video bandwidth to a user headset - Google Patents

Method and apparatus for reducing spherical video bandwidth to a user headset 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
Japanese (ja)
Other versions
JP2018522430A (en
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/en
Application granted granted Critical
Publication of JP6672327B2 publication Critical patent/JP6672327B2/en
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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

関連出願との相互参照
本願は、2015年5月27日に出願された「ユーザヘッドセットへの球状ビデオ帯域幅を減少させる方法および装置」(Method and Apparatus to Reduce Spherical Video Bandwidth to User Headset)と題された米国出願連続番号第62/167,121号の利益を主張する。当該出願は、その全体がここに引用により援用される。
CROSS-REFERENCE TO RELATED APPLICATIONS This application filed May 27, 2015, entitled "Method and Apparatus to Reduce Spherical Video Bandwidth to User Headset". Claim the benefit of the entitled U.S. Application Serial No. 62 / 167,121. That application is incorporated herein by reference in its entirety.

分野
実施形態は、球状ビデオをストリーミングすることに関する。
FIELD Embodiments relate to streaming spherical video.

背景
球状ビデオ(または他の3次元ビデオ)をストリーミングすることは、かなりの量のシステムリソースを消費する場合がある。たとえば、符号化された球状ビデオは送信用の多数のビットを含む場合があり、それらは、かなりの量の帯域幅、ならびに、エンコーダおよびデコーダに関連付けられた処理およびメモリを消費する場合がある。
Background Streaming spherical video (or other three-dimensional video) can consume a significant amount of system resources. For example, an encoded spherical video may include a large number of bits for transmission, which may consume a significant amount of bandwidth and processing and memory associated with the encoder and decoder.

概要
例示的な実施形態は、ビデオをストリーミングすること、3Dビデオをストリーミングすること、および/または球状ビデオをストリーミングすることを最適化するシステムおよび方法を説明する。
Overview Exemplary embodiments describe systems and methods that optimize streaming video, streaming 3D video, and / or streaming spherical video.

一般的な一局面では、方法は、3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップと、少なくとも1つの好ましいビューパースペクティブに対応する3Dビデオの第1の部分を第1の品質で符号化するステップと、3Dビデオの第2の部分を第2の品質で符号化するステップとを含み、第1の品質は第2の品質と比べてより高い品質である。   In one general aspect, a method includes determining at least one preferred view perspective associated with a three-dimensional (3D) video and identifying a first portion of the 3D video corresponding to the at least one preferred view perspective. Encoding at a first quality and encoding a second portion of the 3D video at a second quality, wherein the first quality is higher quality than the second quality.

別の一般的な局面では、サーバおよび/またはストリーミングサーバは、3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するように構成されたコントローラと、エンコーダとを含み、エンコーダは、少なくとも1つの好ましいビューパースペクティブに対応する3Dビデオの第1の部分を第1の品質で符号化し、3Dビデオの第2の部分を第2の品質で符号化するように構成され、第1の品質は第2の品質と比べてより高い品質である。   In another general aspect, a server and / or a streaming server includes a controller configured to determine at least one preferred view perspective associated with three-dimensional (3D) video, and an encoder, wherein the encoder comprises: The first portion of the 3D video corresponding to the at least one preferred view perspective is configured with a first quality and the second portion of the 3D video is configured with a second quality. The quality is higher quality as compared to the second quality.

さらに別の一般的な局面では、方法は、ストリーミングビデオに対する要求を受信するステップを含み、要求は、3次元(3D)ビデオに関連付けられたユーザビューパースペクティブの表示を含み、方法はさらに、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていると判断すると、ユーザビューパースペクティブに関連付けられたランキング値をインクリメントするステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていないと判断すると、ユーザビューパースペクティブをビューパースペクティブデータストアに追加し、ユーザビューパースペクティブに関連付けられたランキング値を1に設定するステップとを含む。   In yet another general aspect, a method includes receiving a request for streaming video, wherein the request includes displaying a user view perspective associated with the three-dimensional (3D) video, and the method further comprises: Determining whether the perspective is stored in the view perspective data store; and, if determining that the user view perspective is stored in the view perspective data store, incrementing a ranking value associated with the user view perspective. If it is determined that the user view perspective is not stored in the view perspective data store, the user view perspective is added to the view perspective data store and the user view is stored. And a step of setting a ranking value associated with the perspective to 1.

実現化例は、以下の特徴のうちの1つ以上を含み得る。たとえば、方法(または、サーバでの実現化例)は、3Dビデオの第1の部分をデータストアに格納するステップと、3Dビデオの第2の部分をデータストアに格納するステップと、ストリーミングビデオに対する要求を受信するステップと、データストアから3Dビデオの第1の部分と3Dビデオの第2の部分とをストリーミングビデオとしてストリーミングするステップとをさらに含み得る。方法(または、サーバでの実現化例)は、ストリーミングビデオに対する要求を受信するステップをさらに含み、要求は、ユーザビューパースペクティブの表示を含み、方法はさらに、ユーザビューパースペクティブに対応する3Dビデオを、3Dビデオの符号化された第1の部分として選択するステップと、3Dビデオの選択された第1の部分と3Dビデオの第2の部分とをストリーミングビデオとしてストリーミングするステップとを含み得る。   Implementations may include one or more of the following features. For example, the method (or server implementation) includes storing a first portion of the 3D video in a data store, storing a second portion of the 3D video in a data store, The method may further include receiving the request and streaming the first portion of the 3D video and the second portion of the 3D video from the data store as streaming video. The method (or server implementation) further comprises receiving a request for streaming video, the request including displaying a user view perspective, the method further comprising: displaying the 3D video corresponding to the user view perspective; Selecting may be as a coded first portion of the 3D video, and streaming the selected first portion of the 3D video and a second portion of the 3D video as streaming video.

方法(または、サーバでの実現化例)は、ストリーミングビデオに対する要求を受信するステップをさらに含み、要求は、3Dビデオに関連付けられたユーザビューパースペクティブの表示を含み、方法はさらに、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていると判断すると、ユーザビューパースペクティブに関連付けられたカウンタをインクリメントするステップと、ユーザビューパースペクティブがビューパースペクティブデータストアに格納されていないと判断すると、ユーザビューパースペクティブをビューパースペクティブデータストアに追加し、ユーザビューパースペクティブに関連付けられたカウンタを1に設定するステップとを含み得る。方法(または、サーバでの実現化例)は、3Dビデオの第2の部分を符号化するステップは、少なくとも1つの第1のQoS(Quality of Service)パラメータを第1のパス符号化動作で使用するステップを含み、3Dビデオの第1の部分を符号化するステップは、少なくとも1つの第2のQoS(Quality of Service)パラメータを第2のパス符号化動作で使用するステップを含むことを含み得る。   The method (or implementation on a server) further comprises receiving a request for streaming video, wherein the request includes displaying a user view perspective associated with the 3D video, wherein the method further comprises: Determining whether the view is stored in the view perspective data store; and, if determining that the user view perspective is stored in the view perspective data store, incrementing a counter associated with the user view perspective; and If the user view perspective is not stored in the view perspective data store, the user view perspective is added to the view perspective data store, and the user view The counter associated with Pekutibu may include a step of setting to 1. The method (or server implementation) includes the step of encoding the second portion of the 3D video using at least one first QoS (Quality of Service) parameter in a first pass encoding operation. And encoding the first portion of the 3D video may include using at least one second Quality of Service (QoS) parameter in a second pass encoding operation. .

たとえば、3Dビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップは、これまで(historically)見られた基準点、およびこれまで見られたビューパースペクティブ、のうちの少なくとも1つに基づいている。3Dビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブは、3Dビデオの視聴者の配向、3Dビデオの視聴者の位置、3Dビデオの視聴者の点、および3Dビデオの視聴者の焦点、のうちの少なくとも1つに基づいている。3Dビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップは、デフォルトビューパースペクティブに基づいており、デフォルトビューパースペクティブは、ディスプレイデバイスのユーザの特性、ディスプレイデバイスのユーザに関連付けられたグループの特性、ディレクターズカット、および、3Dビデオの特性、のうちの少なくとも1つに基づいている。たとえば、方法(または、サーバでの実現化例)は、3Dビデオの第2の部分の少なくとも一部を第1の品質で繰り返し符号化するステップと、3Dビデオの第2の部分の少なくとも一部をストリーミングするステップとをさらに含み得る。   For example, determining at least one preferred view perspective associated with the 3D video is based on at least one of a historically viewed reference point and a previously viewed view perspective. . The at least one preferred view perspective associated with the 3D video is a 3D video viewer orientation, a 3D video viewer location, a 3D video viewer point, and a 3D video viewer focus. Based on at least one. Determining at least one preferred view perspective associated with the 3D video is based on a default view perspective, wherein the default view perspective includes characteristics of a user of the display device, characteristics of a group associated with the user of the display device, Director's cut and / or 3D video characteristics. For example, the method (or server implementation) includes repeatedly encoding at least a portion of the second portion of the 3D video at a first quality and at least a portion of the second portion of the 3D video. Streaming.

例示的な実施形態は、ここに以下に提供される詳細な説明、および添付図面からより十分に理解されるであろう。図中、同じ要素は同じ参照番号によって表わされ、それらは例示としてのみ与えられており、このため例示的な実施形態の限定ではない。
少なくとも1つの例示的な実施形態に従った球の2次元(2D)表現を示す図である。 2D矩形表現としての、球の2D表現の展開円筒表現を示す図である。 少なくとも1つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。 少なくとも1つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。 少なくとも1つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。 少なくとも1つの例示的な実施形態に従った、ストリーミング球状ビデオを符号化するための方法を示す図である。 少なくとも1つの例示的な実施形態に従ったビデオエンコーダシステムを示す図である。 少なくとも1つの例示的な実施形態に従ったビデオデコーダシステムを示す図である。 少なくとも1つの例示的な実施形態に従ったビデオエンコーダシステムについてのフロー図を示す図である。 少なくとも1つの例示的な実施形態に従ったビデオデコーダシステムについてのフロー図を示す図である。 少なくとも1つの例示的な実施形態に従ったシステムを示す図である。 ここに説明される手法を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの概略ブロック図である。
Example embodiments will be more fully understood from the detailed description provided herein below and the accompanying drawings. In the figures, the same elements are denoted by the same reference numerals, and they are given by way of example only and thus are not limitations of the exemplary embodiments.
FIG. 4 illustrates a two-dimensional (2D) representation of a sphere according to at least one example embodiment. FIG. 4 is a diagram illustrating an expanded cylindrical representation of a 2D representation of a sphere as a 2D rectangular representation. FIG. 3 illustrates a method for encoding streaming spherical video, according to at least one example embodiment; FIG. 3 illustrates a method for encoding streaming spherical video, according to at least one example embodiment; FIG. 3 illustrates a method for encoding streaming spherical video, according to at least one example embodiment; FIG. 3 illustrates a method for encoding streaming spherical video, according to at least one example embodiment; FIG. 2 illustrates a video encoder system according to at least one example embodiment. FIG. 4 illustrates a video decoder system according to at least one example embodiment. FIG. 4 illustrates a flow diagram for a video encoder system according to at least one example embodiment; FIG. 4 illustrates a flow diagram for a video decoder system according to at least one example embodiment; FIG. 2 illustrates a system according to at least one example embodiment. FIG. 2 is a schematic block diagram of a computing device and a mobile computing device that may be used to implement the techniques described herein.

なお、これらの図は、ある例示的な実施形態において利用される方法、構造および/または材料の一般的な特徴を示すよう意図されており、かつ、以下に提供される記載を補足するよう意図されている。しかしながら、これらの図面は縮尺通りではなく、また、任意の所与の実施形態の構造特性または性能特性そのものを正確に反映していない場合があり、例示的な実施形態が包含する特性を定義または限定していると解釈されるべきでない。たとえば、明瞭にするために、構造要素の位置付けが減少または誇張される場合がある。さまざまな図面における同様または同一の参照番号の使用は、同様または同一の要素または特徴の存在を示すよう意図される。   It is noted that these figures are intended to illustrate general features of the methods, structures and / or materials utilized in certain exemplary embodiments, and are intended to supplement the description provided below. Have been. However, these drawings are not to scale and may not accurately reflect the structural or performance characteristics of any given embodiment itself, and may not define or define the characteristics encompassed by the exemplary embodiment. It should not be construed as limiting. For example, the positioning of structural elements may be reduced or exaggerated for clarity. The use of similar or identical reference numbers in the various drawings is intended to indicate the presence of similar or identical elements or features.

実施形態の詳細な説明
例示的な実施形態はさまざまな修正および代替的形態を含み得るが、それらの実施形態は例として図面に示されており、ここに詳細に説明されるであろう。しかしながら、例示的な実施形態を開示された特定の形態に限定する意図はなく、それどころか、例示的な実施形態は請求の範囲内に該当するすべての修正、均等物、および代替物を網羅することが理解されるべきである。同じ番号は、図の説明全体にわたって同じ要素を指す。
DETAILED DESCRIPTION OF EMBODIMENTS While exemplary embodiments may include various modifications and alternatives, the embodiments are shown by way of example in the drawings and will now be described in detail. However, there is no intention to limit the exemplary embodiments to the particular forms disclosed, but rather the exemplary embodiments are intended to cover all modifications, equivalents, and alternatives falling within the scope of the appended claims. Should be understood. Like numbers refer to like elements throughout the description of the figures.

例示的な実施形態は、ビデオのストリーミング、3Dビデオのストリーミング、球状ビデオ(および/または他の3次元ビデオ)のストリーミングを、球状ビデオの(ビデオの視聴者によって)優先的に見られた部分(たとえば、ディレクターズカット、これまでの視聴(historical viewings)など)に基づいて最適化するように構成されたシステムおよび方法を説明する。たとえば、ディレクターズカットとは、ビデオの監督(ディレクター)または製作者によって選択されたようなビューパースペクティブであり得る。ディレクターズカットは、ビデオの監督または製作者がビデオを録画する際に選択され、または見られた、カメラの(複数のカメラの)ビューに基づいていてもよい。   An exemplary embodiment may include streaming video, 3D video streaming, spherical video (and / or other three-dimensional video) streaming, as well as preferentially viewed portions of spherical video (by video viewers). For example, systems and methods configured to optimize based on director's cuts, historical viewings, etc. are described. For example, a director's cut may be a view perspective as selected by the video director (director) or producer. The director's cut may be based on the camera's (multi-camera) view selected or seen when the video director or producer recorded the video.

球状ビデオ、球状ビデオのフレーム、および/または球状画像は、パースペクティブを有し得る。たとえば、球状画像は地球の画像であってもよい。内部パースペクティブは、地球の中心から外側を見るビューであってもよい。または、内部パースペクティブは、地球上で宇宙を眺めるものであってもよい。外部パースペクティブは、宇宙から地球に向かって見下ろすビューであってもよい。別の例として、パースペクティブは、可視である画像の一部に基づき得る。言い換えれば、可視パースペクティブは、視聴者が見ることができるものであり得る。可視パースペクティブは、視聴者の前にある球状画像の一部であり得る。たとえば、内部パースペクティブから見る際、視聴者は地面(たとえば地球)上に横たわり、宇宙を眺めていてもよい。視聴者は画像内で、月、太陽、または特定の星を見るかもしれない。しかしながら、視聴者が横たわっている地面は球状画像に含まれているものの、地面は現在の可視パースペクティブの外部にある。この例では、視聴者が自分の頭を回転させると、地面は周囲の可視パースペクティブに含まれるであろう。視聴者がうつぶせになると、地面は可視パースペクティブ内にあるものの、月、太陽、または星は可視パースペクティブ内にはないであろう。   The spherical video, the frames of the spherical video, and / or the spherical image may have a perspective. For example, the spherical image may be an image of the earth. The interior perspective may be a view looking outward from the center of the earth. Alternatively, the internal perspective may be looking at space on Earth. The external perspective may be a view looking down from space towards the earth. As another example, the perspective may be based on a portion of the image that is visible. In other words, the visible perspective may be what the viewer can see. The visible perspective may be part of a spherical image in front of the viewer. For example, when viewed from an interior perspective, a viewer may be lying on the ground (eg, the earth) and looking at the universe. Viewers may see the moon, sun, or certain stars in the image. However, although the ground on which the viewer is lying is included in the spherical image, the ground is outside the current visible perspective. In this example, when the viewer turns his or her head, the ground will be included in the surrounding visible perspective. If the viewer is prone, the ground will be in the visible perspective, but the moon, sun, or stars will not be in the visible perspective.

外部パースペクティブからの可視パースペクティブは、(たとえば画像の別の部分によって)遮られていない球状画像の一部、および/または、見えなくなるまで湾曲していない球状画像の一部であってもよい。球状画像を動かすこと(たとえば回転させること)によって、および/または球状画像の動きによって、球状画像の別の部分が外部パースペクティブから可視パースペクティブに持ち込まれてもよいい。したがって、可視パースペクティブは、球状画像の視聴者の可視範囲内にある球状画像の一部である。   The visible perspective from the external perspective may be a portion of the spherical image that is not obstructed (eg, by another portion of the image) and / or a portion of the spherical image that is not curved until invisible. By moving (eg, rotating) the spherical image and / or by moving the spherical image, another portion of the spherical image may be brought from the external perspective into the visible perspective. Thus, a visible perspective is a portion of a spherical image that is within the visible range of a viewer of the spherical image.

球状画像は、経時変化しない画像である。たとえば、地球に関するような内部パースペクティブからの球状画像は、月および星を1つの位置に示す場合がある。一方、球状ビデオ(または画像のシーケンス)は経時変化する場合がある。たとえば、地球に関するような内部パースペクティブからの球状ビデオは、(たとえば地球の自転のために)動く月および星、および/または、画像(たとえば空)を横切る飛行機雲を示す場合がある。   The spherical image is an image that does not change with time. For example, a spherical image from an interior perspective, such as about the earth, may show the moon and stars in one location. On the other hand, spherical videos (or sequences of images) may change over time. For example, a spherical video from an internal perspective, such as about the earth, may show moving moons and stars (eg, due to the Earth's rotation) and / or contrails across the image (eg, sky).

図1Aは、球の2次元(2D)表現である。図1Aに示すように、(たとえば、球状ビデオの球状画像またはフレームとしての)球100は、内部パースペクティブ105、110、外部パースペクティブ115、および可視パースペクティブ120、125、130の方向を示す。可視パースペクティブ120は、内部パースペクティブ110から見られるような球状画像の一部であってもよい。可視パースペクティブ120は、内部パースペクティブ105から見られるような球100の一部であってもよい。可視パースペクティブ125は、外部パースペクティブ115から見られるような球100の一部であってもよい。   FIG. 1A is a two-dimensional (2D) representation of a sphere. As shown in FIG. 1A, a sphere 100 (eg, as a spherical image or frame of a spherical video) shows the orientation of an inner perspective 105, 110, an outer perspective 115, and a visible perspective 120, 125, 130. The visible perspective 120 may be part of a spherical image as seen from the interior perspective 110. The visible perspective 120 may be a part of the sphere 100 as seen from the interior perspective 105. The visible perspective 125 may be a part of the sphere 100 as seen from the external perspective 115.

図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などのブロック(または画素のブロック)であってもよい。   FIG. 1B is a diagram illustrating an expanded cylindrical representation 150 of the 2D representation of the sphere 100 as a 2D rectangular representation. The equirectangular projection of the image, shown as an expanded cylinder representation 150, appears as an expanded image as the image advances vertically (up and down as shown in FIG. 1B) from the center line between points A and B. obtain. The 2D rectangular representation can be decomposed as a CxR matrix of NxN blocks. For example, as shown in FIG. 1B, the illustrated expanded cylindrical representation 150 is a 30 × 16 matrix of N × N blocks. However, other C × R dimensions are within the scope of this disclosure. The blocks may be blocks (or blocks of pixels) such as 2 × 2, 2 × 4, 4 × 4, 4 × 8, 8 × 8, 8 × 16, 16 × 16, and the like.

球状画像とは、全方向に連続している画像である。したがって、仮に球状画像を複数のブロックに分解した場合、複数のブロックは球状画像全体で近接しているであろう。言い換えれば、2D画像にあるようなエッジも境界もない。例示的な実現化例では、隣接端ブロックが、2D表現の境界に隣接していてもよい。加えて、隣接端ブロックは、2D表現の境界上のブロックとの近接ブロックであってもよい。たとえば、隣接端ブロックは、2次元表現の2つ以上の境界に関連付けられている。言い換えれば、球状画像は全方向に連続している画像であるため、隣接端は、画像またはフレームにおける(たとえばブロックの列の)上側境界および下側境界に関連付けられてもよく、および/または、画像またはフレームにおける(たとえばブロックの行の)左側境界および右側境界に関連付けられてもよい。   A spherical image is an image that is continuous in all directions. Therefore, if the spherical image is decomposed into a plurality of blocks, the plurality of blocks will be close to each other throughout the spherical image. In other words, there are no edges or boundaries as in 2D images. In an exemplary implementation, adjacent end blocks may be adjacent to a boundary of the 2D representation. In addition, the adjacent end block may be a block adjacent to a block on the boundary of the 2D representation. For example, adjacent end blocks are associated with two or more boundaries of a two-dimensional representation. In other words, because the spherical image is an image that is continuous in all directions, adjacent edges may be associated with upper and lower boundaries (eg, of a row of blocks) in the image or frame, and / or It may be associated with left and right boundaries (eg, of a row of blocks) in an image or frame.

たとえば、正距円筒投影が使用される場合、隣接端ブロックは、列または行の他方端のブロックであってもよい。たとえば、図1Bに示すように、ブロック160および170は、互いにそれぞれの(列ごとの)隣接端ブロックであってもよい。また、ブロック180および185は、互いにそれぞれの(列ごとの)隣接端ブロックであってもよい。さらに、ブロック165および175は、互いにそれぞれの(行ごとの)隣接端ブロックであってもよい。ビューパースペクティブ192は、少なくとも1つのブロックを含んでいてもよい(および/または、少なくとも1つのブロックと重複していてもよい)。ブロックは、画像の領域、フレームの領域、画像またはフレームの一部もしくは部分集合、ブロックの群などとして符号化されてもよい。以下に、ブロックのこの群は、タイルまたはタイルの群と称され得る。たとえば、図1Bでは、タイル190および195は、4つのブロックの群として図示される。タイル195は、ビューパースペクティブ192内にあるとして図示される。   For example, if equirectangular projection is used, the adjacent end block may be the block at the other end of the column or row. For example, as shown in FIG. 1B, blocks 160 and 170 may be their respective (per column) adjacent end blocks. Further, the blocks 180 and 185 may be adjacent end blocks (for each column). Further, the blocks 165 and 175 may be respective adjacent (row-by-row) end blocks. View perspective 192 may include at least one block (and / or may overlap with at least one block). A block may be encoded as a region of an image, a region of a frame, a part or subset of an image or a frame, a group of blocks, and the like. Hereinafter, this group of blocks may be referred to as a tile or a group of tiles. For example, in FIG. 1B, tiles 190 and 195 are illustrated as a group of four blocks. Tiles 195 are shown as being in view perspective 192.

例示的な実施形態では、符号化された球状ビデオのフレームをストリーミングすることに加え、視聴者によって頻繁に見られた少なくとも1つの基準点に基づいて選択されたタイル(またはタイルの群)としてのビューパースペクティブ(たとえば、これまで見られた少なくとも1つの基準点またはビューパースペクティブ)が、たとえばより高い品質(たとえば、より高い解像度および/またはより少ない歪み)で符号化され、球状ビデオの符号化されたフレームとともに(またはその一部として)ストリーミングされ得る。したがって、再生中、球状ビデオ全体が再生されている間に視聴者は復号されたタイルを(より高い品質で)見ることができ、視聴者のビューパースペクティブが、視聴者によって頻繁に見られたビューパースペクティブに変わった場合でも、球状ビデオ全体は利用可能である。視聴者はまた、視聴位置を変更したり、別のビューパースペクティブに切替えることもできる。その別のビューパースペクティブが、視聴者によって頻繁に見られた少なくとも1つの基準点に含まれる場合、再生されたビデオは、(たとえば、視聴者によって頻繁に見られた少なくとも1つの基準点のうちの1つではない)何らかの他のビューパースペクティブに比べ、より高い品質(たとえば、より高い解像度)のものであり得る。画像またはフレームの選択された一部または部分集合のみをより高い品質で符号化してストリーミングすることの1つの利点は、必ずしも球状ビデオ全体をより高い品質で符号化し、ストリーミングし、復号しなくても、球状ビデオの選択された画像またはフレームがより高い品質で復号され、再生され得るという利点を有しており、このため、帯域幅使用、ならびに、エンコーダおよびデコーダに関連付けられた処理リソースおよびメモリリソースにおける効率を高める。   In an exemplary embodiment, in addition to streaming the frames of the encoded spherical video, as a selected tile (or group of tiles) based on at least one reference point frequently viewed by a viewer. The view perspective (eg, at least one reference point or view perspective seen so far) is encoded, for example, with higher quality (eg, higher resolution and / or less distortion) and the encoded spherical video It can be streamed with (or as part of) the frame. Thus, during playback, the viewer can see the decoded tiles (with higher quality) while the entire spherical video is being played, and the viewer's view perspective is reduced to the views frequently viewed by the viewer. The entire spherical video is still available, even if turned into a perspective. The viewer can also change the viewing position or switch to another view perspective. If the other view perspective is included in at least one reference point frequently viewed by the viewer, the played video is (e.g., one of the at least one reference point frequently viewed by the viewer). It may be of higher quality (eg, higher resolution) compared to some other (not one) view perspective. One advantage of encoding and streaming only selected portions or subsets of images or frames with higher quality is that the entire spherical video does not necessarily have to be encoded, streamed, and decoded with higher quality. Has the advantage that the selected image or frame of the spherical video can be decoded and played back with higher quality, so that the bandwidth usage and the processing and memory resources associated with the encoder and decoder To increase efficiency.

頭部装着ディスプレイ(head mount display:HMD)では、視聴者は、知覚された3次元(3D)ビデオまたは画像を投影する左(たとえば左目)ディスプレイおよび右(たとえば右目)ディスプレイの使用を通して、視覚的バーチャルリアリティを体験する。例示的な実施形態によれば、球状(たとえば3D)ビデオまたは画像がサーバ上に格納される。ビデオまたは画像は符号化され、サーバからHMDにストリーミングされ得る。球状ビデオまたは画像は、左画像および右画像として符号化され得る。左画像および右画像は、左画像および右画像についてのメタデータとともに(たとえばデータパケットに)パッケージ化される。左画像および右画像は次に復号され、左(たとえば左目)ディスプレイおよび右(たとえば右目)ディスプレイによって表示される。   In a head-mounted display (HMD), the viewer can visually sense through the use of left (eg, left-eye) and right (eg, right-eye) displays that project a perceived three-dimensional (3D) video or image. Experience virtual reality. According to an exemplary embodiment, a spherical (eg, 3D) video or image is stored on a server. Video or images may be encoded and streamed from the server to the HMD. A spherical video or image may be encoded as a left image and a right image. The left and right images are packaged (eg, in data packets) with metadata about the left and right images. The left and right images are then decoded and displayed by a left (eg, left eye) display and a right (eg, right eye) display.

ここに説明されるシステムおよび方法は左画像および右画像双方に適用可能であり、本開示全体を通し、使用事例に依存して、画像、フレーム、画像の一部、フレームの一部、タイルなどと称される。言い換えれば、サーバ(たとえばストリーミングサーバ)からユーザデバイス(たとえばHMD)に通信され、次に表示のために復号される符号化データは、3Dビデオまたは画像に関連付けられた左画像および/または右画像であり得る。   The systems and methods described herein are applicable to both left and right images, and throughout this disclosure, depending on the use case, images, frames, parts of images, parts of frames, tiles, etc. It is called. In other words, the encoded data communicated from the server (eg, a streaming server) to a user device (eg, an HMD) and then decoded for display is a left and / or right image associated with the 3D video or image. possible.

図2〜5は、例示的な実施形態に従った方法のフローチャートである。図2〜5に関して説明されるステップは、(たとえば(以下に説明される)図6A、図6B、図7A、図7B、および図8に示すような)装置に関連付けられたメモリ(たとえば、少なくとも1つのメモリ610)に格納され、当該装置に関連付けられた少なくとも1つのプロセッサ(たとえば、少なくとも1つのプロセッサ605)によって実行される、ソフトウェアコードの実行によって行なわれてもよい。しかしながら、特殊用途プロセッサとして具現化されるシステムといった、代替的な実施形態が考えられる。以下に説明されるステップはプロセッサによって実行されるとして説明されるが、これらのステップは必ずしも同じプロセッサによって実行されるわけではない。言い換えれば、少なくとも1つのプロセッサが、図2〜5に関して以下に説明されるステップを実行してもよい。   2 to 5 are flowcharts of a method according to an exemplary embodiment. The steps described with respect to FIGS. 2-5 may include a memory associated with the device (eg, as shown in FIGS. 6A, 6B, 7A, 7B, and 8 (described below) (eg, at least It may be performed by execution of software code stored in one memory 610) and executed by at least one processor (eg, at least one processor 605) associated with the device. However, alternative embodiments are conceivable, such as a system embodied as a special purpose processor. Although the steps described below are described as being performed by a processor, these steps are not necessarily performed by the same processor. In other words, at least one processor may perform the steps described below with respect to FIGS.

図2は、これまでのビューパースペクティブを格納するための方法を示しており、ここで、「これまでの」(historical)とは、ユーザによって以前に要求されたビューパースペクティブを指す。たとえば、図2は、球状ビデオストリームにおいてよく見られるビューパースペクティブのデータベースの構築を示し得る。図2に示すように、ステップS205で、ビューパースペクティブの表示が受信される。たとえば、デコーダを含むデバイスによってタイルが要求され得る。タイル要求は、球状ビデオ上の視聴者の配向、位置、点、または焦点に関するパースペクティブまたはビューパースペクティブに基づいた情報を含み得る。パースペクティブまたはビューパースペクティブは、ユーザビューパースペクティブ、すなわちHMDのユーザのビューパースペクティブであり得る。たとえば、ビューパースペクティブ(たとえばユーザビューパースペクティブ)は、(たとえば、内部パースペクティブまたは外部パースペクティブとしての)球状ビデオ上の緯度および経度位置であってもよい。ビュー、パースペクティブ、またはビューパースペクティブは、球状ビデオに基づいて立方体の辺として判断され得る。ビューパースペクティブの表示はまた、球状ビデオ情報を含み得る。例示的な実現化例では、ビューパースペクティブの表示は、ビューパースペクティブに関連付けられたフレームについての情報(たとえばフレームシーケンス)を含み得る。たとえば、ビュー(たとえば、緯度および経度位置、または辺)は、たとえばハイパーテキスト転送プロトコル(Hypertext Transfer Protocol:HTTP)を使用して、HMDを含むユーザデバイス(に関連付けられたコントローラ)からストリーミングサーバに通信され得る。   FIG. 2 illustrates a method for storing a previous view perspective, where "historical" refers to a view perspective previously requested by a user. For example, FIG. 2 may show the construction of a database of view perspectives commonly found in spherical video streams. As shown in FIG. 2, in step S205, a display of a view perspective is received. For example, a tile may be requested by a device that includes a decoder. The tile request may include information based on a perspective or view perspective regarding the viewer's orientation, position, point, or focus on the spherical video. The perspective or view perspective may be a user view perspective, ie, a view perspective of a user of the HMD. For example, a view perspective (eg, a user view perspective) may be a latitude and longitude position on a spherical video (eg, as an internal or external perspective). A view, perspective, or view perspective may be determined as a cube edge based on the spherical video. The display of the view perspective may also include spherical video information. In an exemplary implementation, the display of the view perspective may include information (eg, a frame sequence) about a frame associated with the view perspective. For example, views (eg, latitude and longitude locations, or sides) communicate from a user device (including a controller associated with an HMD) to a streaming server using, for example, the Hypertext Transfer Protocol (HTTP). Can be done.

ステップS210で、ビューパースペクティブ(たとえばユーザビューパースペクティブ)がビューパースペクティブデータストアに格納されているかどうかが判断される。たとえば、データストア(たとえばビューパースペクティブデータストア815)が、ビューパースペクティブまたはユーザビューパースペクティブに関連付けられた情報に基づいてクエリまたはフィルタされ得る。たとえば、データストアは、ビューパースペクティブの球状ビデオ上の緯度および経度位置、ならびに、ビューパースペクティブが見られた球状ビデオにおけるタイムスタンプに基づいて、クエリまたはフィルタされてもよい。タイムスタンプは、球状ビデオの再生に関連付けられた時間および/または時間範囲であり得る。クエリまたはフィルタは、空間近接性(たとえば、現在のビューパースペクティブが所与の格納されたビューパースペクティブにどのくらい近いか)、および/または、時間近接性(たとえば、現在のタイムスタンプが所与の格納されたタイムスタンプにどのくらい近いか)に基づき得る。クエリまたはフィルタが結果を返す場合、ビューパースペクティブはデータストアに格納されている。結果を返さない場合、ビューパースペクティブはデータストアに格納されていない。ビューパースペクティブがビューパースペクティブデータストアに格納されている場合、ステップS215で、処理はステップS220に続く。格納されていない場合、処理はステップS225に続く。   In step S210, it is determined whether a view perspective (eg, a user view perspective) is stored in a view perspective data store. For example, a data store (eg, view perspective data store 815) may be queried or filtered based on information associated with a view perspective or a user view perspective. For example, the data store may be queried or filtered based on the latitude and longitude location on the spherical video of the view perspective and the timestamp in the spherical video where the view perspective was viewed. The time stamp may be a time and / or time range associated with playing the spherical video. The query or filter may determine spatial proximity (eg, how close the current view perspective is to a given stored view perspective) and / or temporal proximity (eg, the current timestamp may be stored at a given stored timestamp). Based on how close the timestamp is). If the query or filter returns results, the view perspective is stored in the data store. If no results are returned, the view perspective has not been stored in the data store. If the view perspective is stored in the view perspective data store, in step S215, the process continues to step S220. If not, the process continues to step S225.

ステップS220で、受信されたビューパースペクティブに関連付けられたカウンタまたはランキング(またはランキング値)がインクリメントされる。たとえば、データストアは、これまでのビューパースペクティブを含むデータテーブルを含んでいてもよい(たとえば、データストアは、複数のデータテーブルを含むデータベースであってもよい)。データテーブルは、鍵付きの(たとえば、各々に固有の)ビューパースペクティブであってもよい。データテーブルは、ビューパースペクティブの識別情報と、ビューパースペクティブに関連付けられた情報と、ビューパースペクティブが何回要求されたかを示すカウンタとを含んでいてもよい。カウンタは、ビューパースペクティブが要求されるたびにインクリメントされてもよい。データテーブルに格納されたデータは、匿名化されてもよい。言い換えれば、データは、ユーザ、デバイス、セッションなどが言及されない(または、ユーザ、デバイス、セッションなどの識別情報がない)ように格納され得る。そのため、データテーブルに格納されたデータは、ビデオのユーザまたは視聴者に基づいて区別できない。例示的な実現化例では、データテーブルに格納されたデータは、ユーザを識別することなく、ユーザに基づいて分類されてもよい。たとえば、データは、ユーザの年齢、年齢層、性別、タイプまたは役割(たとえば音楽家または観衆)などを含んでいてもよい。   In step S220, a counter or ranking (or ranking value) associated with the received view perspective is incremented. For example, the data store may include a data table that includes a previous view perspective (eg, the data store may be a database that includes multiple data tables). The data table may be a keyed (eg, unique to each) view perspective. The data table may include identification information of the view perspective, information associated with the view perspective, and a counter indicating how many times the view perspective has been requested. The counter may be incremented each time a view perspective is requested. The data stored in the data table may be anonymized. In other words, the data may be stored such that the user, device, session, etc. are not mentioned (or there is no identifying information of the user, device, session, etc.). As such, the data stored in the data tables cannot be distinguished based on the video user or viewer. In an exemplary implementation, data stored in the data tables may be categorized based on a user without identifying the user. For example, the data may include the user's age, age group, gender, type or role (eg, musician or audience), and the like.

ステップS225で、ビューパースペクティブはビューパースペクティブデータストアに追加される。たとえば、ビューパースペクティブの識別情報と、ビューパースペクティブに関連付けられた情報と、1に設定されたカウンタ(またはランキング値)とが、これまでのビューパースペクティブを含むデータテーブルに格納されてもよい。   In step S225, the view perspective is added to the view perspective data store. For example, the identification information of the view perspective, the information associated with the view perspective, and the counter (or ranking value) set to 1 may be stored in a data table including the past view perspectives.

例示的な実施形態では、少なくとも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パラメータを使用して符号化され得る。   In an exemplary embodiment, tiles associated with at least one preferred view perspective may be encoded with higher QoS. QoS can be an implementation of the above-mentioned quality (eg, an encoder variable input that defines the quality). For example, an encoder (eg, video encoder 625) can individually encode tiles associated with 3D video. Tiles associated with at least one preferred view perspective may be encoded with a higher QoS than tiles associated with the rest of the 3D video. In an exemplary implementation, the 3D video uses a first QoS parameter (eg, in a first pass) or at least one first QoS parameter used in a first encoding pass. Can be encoded. In addition, the tile associated with the at least one preferred view perspective may include a second QoS parameter (eg, in a second pass) or at least one second QoS parameter used in a second encoding pass. May be encoded. In this example implementation, the second QoS is a higher QoS than the first QoS. In another example implementation, the 3D video may be encoded as multiple tiles representing the 3D video. Tiles associated with at least one preferred view perspective may be encoded using the second QoS parameter. The remaining tiles may be encoded using the first QoS parameter.

代替的な実現化例(および/または追加の実現化例)では、エンコーダは、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルを、3Dビデオフレームの残りの2D表現を生成するために使用されるものとは異なる投影手法またはアルゴリズムを使用して投影することができる。投影によっては、フレームのあるエリアに歪みを有する場合がある。したがって、タイルを球状フレームとは異なるように投影することは、最終画像の品質を向上させること、および/または、画素をより効率的に使用する(たとえば、コンピュータ計算をより少なくする、またはユーザの目に対する負担をより少なくする)ことができる。1つの例示的な実現化例では、投影アルゴリズムに基づいて歪みが最小となる位置にタイルを向けるために、タイルを投影する前に球状画像を回転させることができる。別の例示的な実現化例では、タイルは、タイルの位置に基づいた投影アルゴリズムを使用する(および/または修正する)ことができる。たとえば、球状ビデオフレームを2D表現に投影することは正距円筒投影を使用でき、一方、球状ビデオフレームをタイルとして選択されるべき部分を含む表現に投影することは立方体投影を使用できる。   In alternative implementations (and / or additional implementations), an encoder is used to generate a tile associated with at least one preferred view perspective to generate a remaining 2D representation of the 3D video frame. The projection can be performed using a different projection technique or algorithm. Some projections may have distortion in certain areas of the frame. Thus, projecting tiles differently than spherical frames can improve the quality of the final image and / or use pixels more efficiently (e.g., use less computational or user The burden on the eyes is reduced). In one example implementation, the spherical image can be rotated before projecting the tiles to direct the tiles to locations where distortion is minimal based on the projection algorithm. In another example implementation, the tile may use (and / or modify) a projection algorithm based on the location of the tile. For example, projecting a spherical video frame into a 2D representation can use an equirectangular projection, while projecting a spherical video frame onto a representation that includes a portion to be selected as a tile can use a cubic projection.

図3は、3Dビデオをストリーミングするための方法を示す。図3は、ライブストリーミングイベントなどの最中に、ストリーミング3Dビデオがオンデマンドで符号化されるシナリオを説明する。図3に示すように、ステップS305で、3Dビデオをストリーミングする要求が受信される。たとえば、ストリーミングに利用可能な3Dビデオ、3Dビデオの一部、またはタイルが、デコーダを含むデバイスによって(たとえば、媒体アプリケーションとのユーザインタラクションを介して)要求され得る。当該要求は、球状ビデオ上の視聴者の配向、位置、点、または焦点に関するパースペクティブまたはビューパースペクティブに基づいた情報を含み得る。パースペクティブまたはビューパースペクティブに基づいた情報は、現在の配向またはデフォルト(たとえば初期化)配向に基づき得る。デフォルト配向は、たとえば、3Dビデオについてのディレクターズカットであり得る。   FIG. 3 shows a method for streaming 3D video. FIG. 3 illustrates a scenario where streaming 3D video is encoded on demand during a live streaming event or the like. As shown in FIG. 3, in step S305, a request to stream 3D video is received. For example, 3D video, 3D video portions, or tiles available for streaming may be requested by a device including a decoder (eg, via user interaction with a media application). The request may include information based on a perspective or view perspective regarding the orientation, position, point, or focus of the viewer on the spherical video. Information based on a perspective or view perspective may be based on a current orientation or a default (eg, initialized) orientation. The default orientation may be, for example, director's cut for 3D video.

ステップS310で、少なくとも1つの好ましいビューパースペクティブが判断される。たとえば、データストア(たとえばビューパースペクティブデータストア815)が、ビューパースペクティブに関連付けられた情報に基づいてクエリまたはフィルタされ得る。データストアは、ビューパースペクティブの球状ビデオ上の緯度および経度位置に基づいてクエリまたはフィルタされてもよい。例示的な実現化例では、少なくとも1つの好ましいビューパースペクティブは、これまでのビューパースペクティブに基づき得る。そのため、データストアは、これまでのビューパースペクティブを含むデータテーブルを含み得る。ビューパースペクティブが何回要求されたかによって、好みが表示され得る。したがって、クエリまたはフィルタは、しきい値カウンタ値未満の結果を取り除くことを含み得る。言い換えれば、これまでのビューパースペクティブを含むデータテーブルのクエリのために設定されたパラメータは、カウンタまたはランキングについての値を含み得る。ここで、クエリの結果は、カウンタについてのしきい値より上でなければならない。これまでのビューパースペクティブを含むデータテーブルのクエリの結果は、少なくとも1つの好ましいビューパースペクティブとして設定され得る。   At step S310, at least one preferred view perspective is determined. For example, a data store (eg, view perspective data store 815) may be queried or filtered based on information associated with the view perspective. The data store may be queried or filtered based on the latitude and longitude position on the spherical video in the view perspective. In an exemplary implementation, at least one preferred view perspective may be based on a previous view perspective. As such, the data store may include a data table that includes the previous view perspective. Preferences may be displayed depending on how many times the view perspective has been requested. Thus, a query or filter may include removing results that are less than a threshold counter value. In other words, the parameters set for the data table query including the previous view perspective may include values for counters or rankings. Here, the result of the query must be above the threshold for the counter. The results of a query of the data table containing the previous view perspective may be set as at least one preferred view perspective.

加えて、デフォルトの好ましいビューパースペクティブ(または複数の当該ビューパースペクティブ)が、3Dビデオに関連付けられ得る。デフォルトの好ましいビューパースペクティブは、ディレクターズカット、関心点(たとえば、地平線、移動物体、優先物体)などであり得る。たとえば、あるゲームの目的は、物体(たとえば、ビルまたは車両)を破壊することである場合がある。この物体は、優先物体とラベル付けされてもよい。優先物体を含むビューパースペクティブは、好ましいビューパースペクティブとして表示され得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブに加えて、またはこれまでのビューパースペクティブに代えて含まれ得る。デフォルト配向はたとえば、(たとえばビデオが最初にアップロードされた場合はこれまでのデータがないため)たとえば自動コンピュータビジョンアルゴリズムに基づいた最初の一組の好ましいビューパースペクティブであり得る。ビジョンアルゴリズムは、動きまたは複雑な詳細、または何がおもしろそうか推測するための近くのステレオ物体、および/または、他のこれまでのビデオの好ましいビューに存在していた特徴を有する、ビデオの好ましいビューパースペクティブ部分を判断してもよい。   In addition, a default preferred view perspective (or multiple such view perspectives) may be associated with the 3D video. Default preferred view perspectives may be director's cuts, points of interest (eg, horizon, moving objects, priority objects), and so on. For example, the purpose of some games may be to destroy objects (eg, buildings or vehicles). This object may be labeled as a priority object. The view perspective that includes the priority object may be displayed as a preferred view perspective. A default preferred view perspective may be included in addition to, or instead of, a previous view perspective. The default orientation can be, for example, the first set of preferred view perspectives based on, for example, an automatic computer vision algorithm (eg, because there is no previous data if the video was first uploaded). The vision algorithm can be used for video preferred, with motion or complex details, or nearby stereo objects to infer what might be interesting, and / or other features that were present in the preferred view of the video. The view perspective portion may be determined.

少なくとも1つの好ましいビューパースペクティブを判断する際に、他の要因を使用することができる。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のビューパースペクティブの範囲内にある(たとえば、現在のビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のユーザの、または現在のユーザが属するグループ(タイプまたはカテゴリー)のこれまでのビューパースペクティブの範囲内にある(たとえば、当該ビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。言い換えれば、少なくとも1つの好ましいビューパースペクティブは、格納されたこれまでのビューパースペクティブと距離が近い、および/または時間が近いビューパースペクティブ(またはタイル)を含み得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブを含むデータストア815に、または図示されない別個の(たとえば追加の)データストアに格納され得る。   Other factors can be used in determining at least one preferred view perspective. For example, the at least one preferred view perspective may be a previous view perspective that is within range of the current view perspective (eg, close to the current view perspective). For example, at least one preferred view perspective is one that is within (eg, has approached) the previous view perspective of the current user or of the group (type or category) to which the current user belongs. View perspective. In other words, the at least one preferred view perspective may include a view perspective (or tile) that is close in distance and / or close in time to a stored previous view perspective. The default preferred view perspective may be stored in the data store 815 containing the previous view perspective, or in a separate (eg, additional) data store not shown.

ステップS315で、3Dビデオは、少なくとも1つの好ましいビューパースペクティブに基づいた少なくとも1つの符号化パラメータを用いて符号化される。たとえば、3Dビデオ(またはその一部)は、少なくとも1つの好ましいビューパースペクティブを含む部分が3Dビデオの残りとは異なるように符号化されるように、符号化され得る。そのため、少なくとも1つの好ましいビューパースペクティブを含む部分は、3Dビデオの残りに比べてより高いQoSで符号化され得る。その結果、HMD上でレンダリングされる場合、少なくとも1つの好ましいビューパースペクティブを含む部分は、3Dビデオの残りに比べてより高い解像度を有し得る。   In step S315, the 3D video is encoded using at least one encoding parameter based on at least one preferred view perspective. For example, the 3D video (or a portion thereof) may be encoded such that a portion including at least one preferred view perspective is encoded differently than the rest of the 3D video. As such, portions that include at least one preferred view perspective may be encoded with higher QoS than the rest of the 3D video. As a result, when rendered on the HMD, the portion containing at least one preferred view perspective may have a higher resolution than the rest of the 3D video.

ステップS320で、符号化された3Dビデオはストリーミングされる。たとえば、タイルが、送信用パケットに含まれてもよい。パケットは、圧縮されたビデオビット10Aを含んでいてもよい。パケットは、球状ビデオフレームの符号化された2D表現と、符号化されたタイル(または複数のタイル)とを含んでいてもよい。パケットは、送信用ヘッダを含んでいてもよい。ヘッダは、とりわけ、エンコーダによるフレーム内符号化におけるモードまたはスキーム使用を示す情報を含んでいてもよい。ヘッダは、球状ビデオフレームのフレームを2D矩形表現に変換するために使用されるパラメータを示す情報を含んでいてもよい。ヘッダは、符号化された2D矩形表現の、および符号化されたタイルのQoSを獲得するために使用されるパラメータを示す情報を含んでいてもよい。上述のように、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルのQoSは、少なくとも1つの好ましいビューパースペクティブに関連付けられていないタイルに比べ、異なっていてもよい(たとえば、より高くてもよい)。   In step S320, the encoded 3D video is streamed. For example, a tile may be included in a packet for transmission. The packet may include the compressed video bits 10A. The packet may include an encoded 2D representation of the spherical video frame and the encoded tile (or tiles). The packet may include a transmission header. The header may include information indicating, among other things, the mode or scheme usage in intra-frame encoding by the encoder. The header may include information indicating parameters used to convert the frames of the spherical video frame into a 2D rectangular representation. The header may include information indicating an encoded 2D rectangular representation and parameters used to obtain the QoS of the encoded tile. As described above, the QoS of tiles associated with at least one preferred view perspective may be different (eg, higher) than tiles not associated with at least one preferred view perspective.

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よりも高い、というふうになっている。   Streaming 3D video can be achieved through the use of a priority stage. For example, in a first priority stage, video data encoded at a low (or lowest reference) QoS may be streamed. This allows the user of the HMD to start a virtual reality experience. The higher QoS video may then be streamed to the HMD to replace previously streamed video data encoded with a lower (or lowest reference) QoS (eg, data stored in buffer 830). . As an example, in a second stage, higher quality video or image data may be streamed based on the current view perspective. In the next stage, higher QoS video or image data may be streamed based on one or more preferred view perspectives. This may continue until the HMD buffer contains substantially only high QoS video or image data. In addition, this gradual streaming may loop with video or image data with progressively higher QoS. In other words, after the first iteration, the HMD includes video or image data encoded with a first QoS, and after the second iteration, the HMD includes video or image encoded with a second QoS. It includes image data, and after a third iteration, the HMD contains video or image data encoded with a third QoS. In an exemplary implementation, the second QoS is higher than the first QoS, and the third QoS is higher than the second QoS.

エンコーダ625は、球状ビデオをストリーミング用に利用可能にするためのセットアップ手順の一環として、オフラインで動作してもよい。複数のタイルの各々は、ビューフレームストレージ795に格納されてもよい。複数のタイルの各々は、複数のタイルの各々がフレームを参照して(たとえば時間依存性)、およびビューを参照して(たとえばビュー依存性)格納され得るように、索引付けされてもよい。したがって、複数のタイルの各々は、時間およびビュー、パースペクティブ、またはビューパースペクティブに依存しており、時間依存性およびビュー依存性に基づいて呼び戻され得る。   The encoder 625 may operate offline as part of a set-up procedure to make the spherical video available for streaming. Each of the plurality of tiles may be stored in view frame storage 795. Each of the plurality of tiles may be indexed such that each of the plurality of tiles may be stored with reference to a frame (eg, time-dependent) and with reference to a view (eg, view-dependent). Thus, each of the multiple tiles is dependent on time and view, perspective, or view perspective, and may be recalled based on time and view dependencies.

そのため、例示的な実現化例では、エンコーダ625は、フレームが選択され、そのフレームの一部がビューパースペクティブに基づいてタイルとして選択されるループを実行するように構成されてもよい。タイルは次に符号化され、格納される。ループは、複数のビューパースペクティブを通して循環し続ける。たとえば球状画像の垂直線を中心に5度ずつ、および水平線を中心に5度ずつの所望数のビューパースペクティブがタイルとして保存される場合、新しいフレームが選択され、プロセスは、球状ビデオのすべてのフレームがそれらのために保存された所望数のタイルを有するようになるまで繰り返す。例示的な実施形態では、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルは、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルではないタイルに比べ、より高いQoSで符号化され得る。これは、タイルを符号化し、保存するための1つの例示的な実現化例に過ぎない。   Thus, in an exemplary implementation, encoder 625 may be configured to perform a loop in which a frame is selected and a portion of the frame is selected as a tile based on a view perspective. The tiles are then encoded and stored. The loop continues to cycle through multiple view perspectives. If the desired number of view perspectives are saved as tiles, e.g., 5 degrees centered on the vertical line and 5 degrees centered on the horizontal line of the spherical image, a new frame is selected and the process proceeds with all frames of the spherical video. Until it has the desired number of tiles reserved for them. In an exemplary embodiment, tiles associated with at least one preferred view perspective may be encoded with a higher QoS than tiles that are not tiles associated with at least one preferred view perspective. This is just one example implementation for encoding and storing tiles.

図4は、符号化された3Dビデオを格納するための方法を示す。図4は、将来のストリーミングのために、ストリーミング3Dビデオが前もって符号化され、格納されるシナリオを説明する。図4に示すように、ステップS405で、3Dビデオについての少なくとも1つの好ましいビューパースペクティブが判断される。たとえば、データストア(たとえばビューパースペクティブデータストア815)が、ビューパースペクティブに関連付けられた情報に基づいてクエリまたはフィルタされ得る。データストアは、ビューパースペクティブの球状ビデオ上の緯度および経度位置に基づいてクエリまたはフィルタされてもよい。例示的な実現化例では、少なくとも1つの好ましいビューパースペクティブは、これまでのビューパースペクティブに基づき得る。そのため、データテーブルは、これまでのビューパースペクティブを含む。ビューパースペクティブが何回要求されたかによって、好みが表示され得る。したがって、クエリまたはフィルタは、しきい値カウンタ値未満の結果を取り除くことを含み得る。言い換えれば、これまでのビューパースペクティブを含むデータテーブルのクエリのために設定されたパラメータは、カウンタについての値を含み得る。ここで、クエリの結果は、カウンタについてのしきい値より上でなければならない。これまでのビューパースペクティブを含むデータテーブルのクエリの結果は、少なくとも1つの好ましいビューパースペクティブとして設定され得る。   FIG. 4 shows a method for storing encoded 3D video. FIG. 4 illustrates a scenario where streaming 3D video is pre-encoded and stored for future streaming. As shown in FIG. 4, at step S405, at least one preferred view perspective for the 3D video is determined. For example, a data store (eg, view perspective data store 815) may be queried or filtered based on information associated with the view perspective. The data store may be queried or filtered based on the latitude and longitude position on the spherical video in the view perspective. In an exemplary implementation, at least one preferred view perspective may be based on a previous view perspective. Therefore, the data table includes the previous view perspective. Preferences may be displayed depending on how many times the view perspective has been requested. Thus, a query or filter may include removing results that are less than a threshold counter value. In other words, the parameters set for the query of the data table containing the previous view perspective may include the value for the counter. Here, the result of the query must be above the threshold for the counter. The results of a query of the data table containing the previous view perspective may be set as at least one preferred view perspective.

加えて、デフォルトの好ましいビューパースペクティブ(または複数の当該ビューパースペクティブ)が、3Dビデオに関連付けられ得る。デフォルトの好ましいビューパースペクティブは、ディレクターズカット、関心点(たとえば、地平線、移動物体、優先物体)などであり得る。たとえば、あるゲームの目的は、物体(たとえば、ビルまたは車両)を破壊することである場合がある。この物体は、優先物体とラベル付けされてもよい。優先物体を含むビューパースペクティブは、好ましいビューパースペクティブとして表示され得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブに加えて、またはこれまでのビューパースペクティブに代えて含まれ得る。少なくとも1つの好ましいビューパースペクティブを判断する際に、他の要因を使用することができる。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のビューパースペクティブの範囲内にある(たとえば、現在のビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のユーザの、または現在のユーザが属するグループ(タイプまたはカテゴリー)のこれまでのビューパースペクティブの範囲内にある(たとえば、当該ビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。デフォルトの好ましいビューパースペクティブは、これまでのビューパースペクティブを含むデータストアに、または別個の(たとえば追加の)データテーブルに格納され得る。   In addition, a default preferred view perspective (or multiple such view perspectives) may be associated with the 3D video. Default preferred view perspectives may be director's cuts, points of interest (eg, horizon, moving objects, priority objects), and so on. For example, the purpose of some games may be to destroy objects (eg, buildings or vehicles). This object may be labeled as a priority object. The view perspective that includes the priority object may be displayed as a preferred view perspective. A default preferred view perspective may be included in addition to, or instead of, a previous view perspective. Other factors can be used in determining at least one preferred view perspective. For example, the at least one preferred view perspective may be a previous view perspective that is within range of the current view perspective (eg, close to the current view perspective). For example, at least one preferred view perspective is one that is within (eg, has approached) the previous view perspective of the current user or of the group (type or category) to which the current user belongs. View perspective. The default preferred view perspective may be stored in the data store containing the previous view perspective, or in a separate (eg, additional) data table.

ステップS410で、3Dビデオは、少なくとも1つの好ましいビューパースペクティブに基づいた少なくとも1つの符号化パラメータを用いて符号化される。たとえば、3Dビデオのフレームが選択され、そのフレームの一部がビューパースペクティブに基づいてタイルとして選択され得る。タイルは次に符号化される。例示的な実施形態では、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルは、より高いQoSで符号化され得る。少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルは、3Dビデオの残りに関連付けられたタイルに比べ、より高いQoSで符号化され得る。   In step S410, the 3D video is encoded using at least one encoding parameter based on at least one preferred view perspective. For example, a frame of the 3D video may be selected and a portion of the frame may be selected as a tile based on a view perspective. The tile is then encoded. In an exemplary embodiment, tiles associated with at least one preferred view perspective may be encoded with a higher QoS. Tiles associated with at least one preferred view perspective may be encoded with a higher QoS than tiles associated with the rest of the 3D video.

代替的な実現化例(および/または追加の実現化例)では、エンコーダは、少なくとも1つの好ましいビューパースペクティブに関連付けられたタイルを、3Dビデオフレームの残りの2D表現を生成するために使用されるものとは異なる投影手法またはアルゴリズムを使用して投影することができる。投影によっては、フレームのあるエリアに歪みを有する場合がある。したがって、タイルを球状フレームとは異なるように投影することは、最終画像の品質を向上させること、および/または、画素をより効率的に使用することができる。1つの例示的な実現化例では、投影アルゴリズムに基づいて歪みが最小となる位置にタイルを向けるために、タイルを投影する前に球状画像を回転させることができる。別の例示的な実現化例では、タイルは、タイルの位置に基づいた投影アルゴリズムを使用する(および/または修正する)ことができる。たとえば、球状ビデオフレームを2D表現に投影することは正距円筒投影を使用でき、一方、球状ビデオフレームをタイルとして選択されるべき部分を含む表現に投影することは立方体投影を使用できる。   In alternative implementations (and / or additional implementations), an encoder is used to generate a tile associated with at least one preferred view perspective to generate a remaining 2D representation of the 3D video frame. The projection can be performed using a different projection technique or algorithm. Some projections may have distortion in certain areas of the frame. Thus, projecting tiles differently than spherical frames can improve the quality of the final image and / or use pixels more efficiently. In one example implementation, the spherical image can be rotated before projecting the tiles to direct the tiles to locations where distortion is minimal based on the projection algorithm. In another example implementation, the tile may use (and / or modify) a projection algorithm based on the location of the tile. For example, projecting a spherical video frame into a 2D representation can use an equirectangular projection, while projecting a spherical video frame onto a representation that includes a portion to be selected as a tile can use a cubic projection.

ステップS415で、符号化された3Dビデオは格納される。たとえば、複数のタイルの各々は、ビューフレームストレージ795に格納されてもよい。3Dビデオに関連付けられた複数のタイルの各々は、複数のタイルの各々がフレームを参照して(たとえば時間依存性)、およびビューを参照して(たとえばビュー依存性)格納され得るように、索引付けされてもよい。したがって、複数のタイルの各々は、時間およびビュー、パースペクティブ、またはビューパースペクティブに依存しており、時間依存性およびビュー依存性に基づいて呼び戻され得る。   In step S415, the encoded 3D video is stored. For example, each of the plurality of tiles may be stored in view frame storage 795. Each of the plurality of tiles associated with the 3D video is indexed such that each of the plurality of tiles can be stored with reference to a frame (eg, time-dependent) and with reference to a view (eg, view-dependent). It may be attached. Thus, each of the multiple tiles is dependent on time and view, perspective, or view perspective, and may be recalled based on time and view dependencies.

例示的な実現化例では、3Dビデオ(たとえば、それに関連付けられたタイル)は、可変符号化パラメータを用いて符号化され、格納されてもよい。したがって、3Dビデオは、異なる符号化状態で格納されてもよい。これらの状態は、QoSに基づいて変わってもよい。たとえば、3Dビデオは、同じQoSで各々符号化された複数のタイルとして格納されてもよい。たとえば、3Dビデオは、異なるQoSで各々符号化された複数のタイルとして格納されてもよい。たとえば、3Dビデオは、符号化された少なくとも1つの好ましいビューパースペクティブに基づいたQoSで一部が符号化された複数のタイルとして格納されてもよい。   In an exemplary implementation, 3D video (eg, tiles associated therewith) may be encoded and stored using variable encoding parameters. Thus, 3D video may be stored in different encoding states. These states may change based on QoS. For example, 3D video may be stored as multiple tiles each encoded with the same QoS. For example, 3D video may be stored as multiple tiles, each encoded with a different QoS. For example, 3D video may be stored as multiple tiles partially coded with QoS based on at least one preferred view perspective coded.

図5は、3Dビデオについての好ましいビューパースペクティブを判断するための方法を示す。3Dビデオについての好ましいビューパースペクティブは、3Dビデオのこれまでの視聴に基づいた好ましいビューパースペクティブに加わるものであってもよい。図6に示すように、ステップS505で、少なくとも1つのデフォルトビューパースペクティブが判断される。たとえば、デフォルトの好ましいビューパースペクティブは、データストア(たとえばビューパースペクティブデータストア815)に含まれるデータテーブルに格納され得る。データストアは、3Dビデオについてのデフォルト表示に基づいてクエリまたはフィルタされ得る。クエリまたはフィルタが結果を返す場合、3Dビデオは、関連付けられたデフォルトビューパースペクティブを有する。結果を返さない場合、3Dビデオは、関連付けられたデフォルトビューパースペクティブを有していない。デフォルトの好ましいビューパースペクティブは、ディレクターズカット、関心点(たとえば、地平線、移動物体、優先物体)などであり得る。たとえば、あるゲームの目的は、物体(たとえば、ビルまたは車両)を破壊することである場合がある。この物体は、優先物体とラベル付けされてもよい。優先物体を含むビューパースペクティブは、好ましいビューパースペクティブとして表示され得る。   FIG. 5 shows a method for determining a preferred view perspective for 3D video. The preferred view perspective for 3D video may be in addition to the preferred view perspective based on previous viewing of the 3D video. As shown in FIG. 6, at step S505, at least one default view perspective is determined. For example, a default preferred view perspective may be stored in a data table included in a data store (eg, view perspective data store 815). The data store may be queried or filtered based on the default display for 3D video. If the query or filter returns results, the 3D video will have an associated default view perspective. If no result is returned, the 3D video does not have a default view perspective associated with it. Default preferred view perspectives may be director's cuts, points of interest (eg, horizon, moving objects, priority objects), and so on. For example, the purpose of some games may be to destroy objects (eg, buildings or vehicles). This object may be labeled as a priority object. The view perspective that includes the priority object may be displayed as a preferred view perspective.

ステップS510で、ユーザの特性/好み/カテゴリーに基づいた少なくとも1つのビューパースペクティブが判断される。たとえば、HMDのユーザは、HMDの以前の使用に基づいた特性を有していてもよい。これらの特性は、統計的な視聴の好み(たとえば、遠くにある物体ではなく、すぐ近くの物体を見る方を好むこと)に基づいていてもよい。たとえば、HMDのユーザは、HMDに関連付けられたユーザの好みを格納していてもよい。これらの好みは、セットアッププロセスの一環として、ユーザによって選択されてもよい。好みは、一般的なもの(たとえば、動きに引き寄せられること)であってもよく、または、ビデオ特有のもの(たとえば、音楽演奏でギタリストに注目しがちなこと)であってもよい。たとえば、HMDのユーザは、あるグループまたはカテゴリー(たとえば、15〜22才の男性)に属してもよい。たとえば、ユーザの特性/好み/カテゴリーは、データストア(たとえばビューパースペクティブデータストア815)に含まれたデータテーブルに格納され得る。データストアは、3Dビデオについてのデフォルト表示に基づいてクエリまたはフィルタされ得る。クエリまたはフィルタが結果を返す場合、3Dビデオは、ユーザについての関連付けられた特性/好み/カテゴリーに基づいた、少なくとも1つの関連付けられた好ましいビューパースペクティブを有する。結果を返さない場合、3Dビデオは、ユーザに基づいた、関連付けられたビューパースペクティブを有していない。   In step S510, at least one view perspective based on the user's characteristics / preferences / categories is determined. For example, a user of the HMD may have characteristics based on previous use of the HMD. These characteristics may be based on statistical viewing preferences (e.g., preferring to see nearby objects rather than objects that are far away). For example, a user of the HMD may have stored user preferences associated with the HMD. These preferences may be selected by the user as part of the setup process. The preference may be general (eg, attracted to movement) or video-specific (eg, tend to focus on guitarists in music performances). For example, HMD users may belong to a group or category (eg, men aged 15-22). For example, user characteristics / preferences / categories may be stored in a data table included in a data store (eg, view perspective data store 815). The data store may be queried or filtered based on the default display for 3D video. If the query or filter returns results, the 3D video has at least one associated preferred view perspective based on the associated characteristics / favorite / category for the user. If no result is returned, the 3D video does not have an associated view perspective based on the user.

ステップS515で、関心領域に基づいた少なくとも1つのビューパースペクティブが判断される。たとえば、関心領域は、現在のビューパースペクティブであってもよい。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のビューパースペクティブの範囲内にある(たとえば、現在のビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。たとえば、少なくとも1つの好ましいビューパースペクティブは、現在のユーザの、または現在のユーザが属するグループ(タイプまたはカテゴリー)のこれまでのビューパースペクティブの範囲内にある(たとえば、当該ビューパースペクティブに接近した)これまでのビューパースペクティブであり得る。   At step S515, at least one view perspective based on the region of interest is determined. For example, the region of interest may be the current view perspective. For example, the at least one preferred view perspective may be a previous view perspective that is within range of the current view perspective (eg, close to the current view perspective). For example, at least one preferred view perspective is one that is within (eg, has approached) the previous view perspective of the current user or of the group (type or category) to which the current user belongs. View perspective.

ステップS520で、少なくとも1つのシステム特性に基づいた少なくとも1つのビューパースペクティブが判断される。たとえば、HMDは、ユーザ体験を強化し得る特徴を有していてもよい。1つの特徴は、強化された音声であってもよい。したがって、バーチャルリアリティ環境で、ユーザは特定の音に引き付けられるかもしれない(たとえば、ゲームユーザは爆発音に引き付けられるかもしれない)。好ましいビューパースペクティブは、これらの可聴キューを含むビューパースペクティブに基づいていてもよい。ステップS525で、前述のビューパースペクティブ判断の各々、および/または、それらの組合せ/サブ組合せに基づいた、3Dビデオについての少なくとも1つの好ましいビューパースペクティブが判断される。たとえば、少なくとも1つの好ましいビューパースペクティブは、前述のクエリの結果を合併または結合することによって生成されてもよい。   At step S520, at least one view perspective based on at least one system characteristic is determined. For example, an HMD may have features that can enhance the user experience. One feature may be enhanced speech. Thus, in a virtual reality environment, a user may be drawn to a particular sound (eg, a game user may be drawn to an explosion sound). Preferred view perspectives may be based on view perspectives that include these audible cues. At step S525, at least one preferred view perspective for the 3D video is determined based on each of the aforementioned view perspective determinations and / or combinations / sub-combinations thereof. For example, at least one preferred view perspective may be generated by merging or combining the results of the aforementioned queries.

図6Aの例において、ビデオエンコーダシステム600は、少なくとも1つのコンピューティングデバイスであってもよく、または少なくとも1つのコンピューティングデバイスを含んでいてもよく、ここに説明される方法を行なうように構成された事実上あらゆるコンピューティングデバイスを表わし得る。そのため、ビデオエンコーダシステム600は、ここに説明される手法、もしくはその異なるバージョンまたは将来のバージョンを実現するために利用され得るさまざまなコンポーネントを含み得る。例として、ビデオエンコーダシステム600は、少なくとも1つのプロセッサ605と、少なくとも1つのメモリ610(たとえば、非一時的なコンピュータ読取可能記憶媒体)とを含むとして図示される。   In the example of FIG. 6A, video encoder system 600 may be or include at least one computing device, and is configured to perform the methods described herein. Can represent virtually any computing device. As such, video encoder system 600 may include various components that may be utilized to implement the techniques described herein, or different or future versions thereof. By way of example, video encoder system 600 is illustrated as including at least one processor 605 and at least one memory 610 (eg, a non-transitory computer readable storage medium).

図6Aは、少なくとも1つの例示的な実施形態に従ったビデオエンコーダシステムを示す。図6Aに示すように、ビデオエンコーダシステム600は、少なくとも1つのプロセッサ605と、少なくとも1つのメモリ610と、コントローラ620と、ビデオエンコーダ625とを含む。少なくとも1つのプロセッサ605、少なくとも1つのメモリ610、コントローラ620、およびビデオエンコーダ625は、バス615を介して通信可能に結合される。   FIG. 6A illustrates a video encoder system according to at least one example embodiment. As shown in FIG. 6A, the video encoder system 600 includes at least one processor 605, at least one memory 610, a controller 620, and a video encoder 625. At least one processor 605, at least one memory 610, controller 620, and video encoder 625 are communicatively coupled via bus 615.

少なくとも1つのプロセッサ605は、少なくとも1つのメモリ610上に格納された命令を実行するために利用されてもよく、それにより、ここに説明されるさまざまな特徴および機能、もしくは追加のまたは代替的な特徴および機能を実現する。少なくとも1つのプロセッサ605および少なくとも1つのメモリ610は、さまざまな他の目的のために利用されてもよい。特に、少なくとも1つのメモリ610は、ここに説明されるモジュールのうちのいずれか1つを実現するために使用され得るさまざまなタイプのメモリならびに関連するハードウェアおよびソフトウェアの一例を表わし得る。   The at least one processor 605 may be utilized to execute instructions stored on at least one memory 610, such that various features and functions described herein, or additional or alternative Implement features and functions. At least one processor 605 and at least one memory 610 may be utilized for various other purposes. In particular, at least one memory 610 may represent an example of various types of memory and associated hardware and software that may be used to implement any one of the modules described herein.

少なくとも1つのメモリ610は、ビデオエンコーダシステム600に関連付けられたデータおよび/または情報を格納するように構成されてもよい。たとえば、少なくとも1つのメモリ610は、球状ビデオを符号化することに関連付けられたコーデックを格納するように構成されてもよい。たとえば、少なくとも1つのメモリは、球状ビデオのフレームの一部を、球状ビデオの符号化とは別に符号化されるべきタイルとして選択することに関連付けられた符号を格納するように構成されてもよい。少なくとも1つのメモリ610は、共有リソースであってもよい。以下により詳細に説明されるように、タイルは、球状ビューア(たとえばHMD)の再生中に視聴者のビューパースペクティブに基づいて選択された複数の画素であってもよい。複数の画素は、ユーザによって見られ得る球状画像の一部を含み得る、ブロック、複数のブロック、またはマクロブロックであってもよい。たとえば、ビデオエンコーダシステム600は、より大型のシステム(たとえば、サーバ、パーソナルコンピュータ、モバイルデバイスなど)の要素であってもよい。したがって、少なくとも1つのメモリ610は、より大型のシステム内の他の要素(たとえば、画像/ビデオ供給、ウェブブラウジング、または有線/無線通信)に関連付けられたデータおよび/または情報を格納するように構成されてもよい。   At least one memory 610 may be configured to store data and / or information associated with video encoder system 600. For example, at least one memory 610 may be configured to store a codec associated with encoding the spherical video. For example, the at least one memory may be configured to store a code associated with selecting a portion of the frame of the spherical video as a tile to be encoded separately from the encoding of the spherical video. . At least one memory 610 may be a shared resource. As described in more detail below, a tile may be a plurality of pixels selected based on a viewer's view perspective during playback of a spherical viewer (eg, an HMD). The plurality of pixels may be a block, a plurality of blocks, or a macroblock, which may include a portion of a spherical image that may be viewed by a user. For example, video encoder system 600 may be an element of a larger system (eg, a server, personal computer, mobile device, etc.). Thus, at least one memory 610 is configured to store data and / or information associated with other elements in the larger system (eg, image / video feed, web browsing, or wired / wireless communications). May be done.

コントローラ620は、さまざまな制御信号を生成し、ビデオエンコーダシステム600におけるさまざまなブロックに当該制御信号を通信するように構成されてもよい。コントローラ620は、以下に説明される手法を実現するために当該制御信号を生成するように構成されてもよい。コントローラ620は、例示的な実施形態によれば、画像、画像のシーケンス、ビデオフレーム、ビデオシーケンスなどを符号化するようビデオエンコーダ625を制御するように構成されてもよい。たとえば、コントローラ620は、球状ビデオを符号化するためのパラメータに対応する制御信号を生成してもよい。ビデオエンコーダ625およびコントローラ620の機能および動作に関するさらなる詳細が、少なくとも図7A、図4A、図5A、図5Bおよび図6〜9に関連して以下に説明される。   Controller 620 may be configured to generate various control signals and communicate the control signals to various blocks in video encoder system 600. Controller 620 may be configured to generate such control signals to implement the techniques described below. The controller 620 may be configured to control the video encoder 625 to encode an image, a sequence of images, a video frame, a video sequence, etc., according to an example embodiment. For example, controller 620 may generate a control signal corresponding to a parameter for encoding a spherical video. Further details regarding the function and operation of video encoder 625 and controller 620 are described below in connection with at least FIGS. 7A, 4A, 5A, 5B, and 6-9.

ビデオエンコーダ625は、ビデオストリーム入力5を受信し、圧縮された(たとえば符号化された)ビデオビット10を出力するように構成されてもよい。ビデオエンコーダ625は、ビデオストリーム入力5を離散ビデオフレームに変換してもよい。ビデオストリーム入力5はまた、画像であってもよく、したがって、圧縮された(たとえば符号化された)ビデオビット10も、圧縮された画像ビットであってもよい。ビデオエンコーダ625はさらに、各離散ビデオフレーム(または画像)をブロックのマトリックス(以下、ブロックと称される)に変換してもよい。たとえば、ビデオフレーム(または画像)は、各々が多数の画素を有するブロックの16×16、16×8、8×8、8×4、4×4、4×2、2×2などのマトリックスに変換されてもよい。これらの例示的なマトリックスが列挙されているが、例示的な実施形態はそれらに限定されない。   Video encoder 625 may be configured to receive video stream input 5 and output compressed (eg, encoded) video bits 10. Video encoder 625 may convert video stream input 5 into discrete video frames. The video stream input 5 may also be an image, so the compressed (eg coded) video bits 10 may also be compressed image bits. Video encoder 625 may further convert each discrete video frame (or image) into a matrix of blocks (hereinafter, referred to as blocks). For example, a video frame (or image) is organized into a 16 × 16, 16 × 8, 8 × 8, 8 × 4, 4 × 4, 4 × 2, 2 × 2, etc. matrix of blocks each having a large number of pixels. It may be converted. Although these exemplary matrices are listed, exemplary embodiments are not limited thereto.

圧縮されたビデオビット10は、ビデオエンコーダシステム600の出力を表わしていてもよい。たとえば、圧縮されたビデオビット10は、符号化されたビデオフレーム(または符号化された画像)を表わしていてもよい。たとえば、圧縮されたビデオビット10は、受信デバイス(図示せず)への送信の準備ができていてもよい。たとえば、ビデオビットは、受信デバイスへの送信のためにシステムトランシーバ(図示せず)に送信されてもよい。   The compressed video bits 10 may represent the output of the video encoder system 600. For example, the compressed video bits 10 may represent an encoded video frame (or an encoded image). For example, the compressed video bits 10 may be ready for transmission to a receiving device (not shown). For example, video bits may be transmitted to a system transceiver (not shown) for transmission to a receiving device.

少なくとも1つのプロセッサ605は、コントローラ620および/またはビデオエンコーダ625に関連付けられたコンピュータ命令を実行するように構成されてもよい。少なくとも1つのプロセッサ605は、共有リソースであってもよい。たとえば、ビデオエンコーダシステム600は、より大型のシステム(たとえばモバイルデバイス)の要素であってもよい。したがって、少なくとも1つのプロセッサ605は、より大型のシステム内の他の要素(たとえば、画像/ビデオ供給、ウェブブラウジング、または有線/無線通信)に関連付けられたコンピュータ命令を実行するように構成されてもよい。   At least one processor 605 may be configured to execute computer instructions associated with controller 620 and / or video encoder 625. At least one processor 605 may be a shared resource. For example, video encoder system 600 may be an element of a larger system (eg, a mobile device). Thus, at least one processor 605 may also be configured to execute computer instructions associated with other elements in the larger system (eg, image / video feed, web browsing, or wired / wireless communications). Good.

図6Bの例において、ビデオデコーダシステム650は、少なくとも1つのコンピューティングデバイスであってもよく、ここに説明される方法を行なうように構成された事実上あらゆるコンピューティングデバイスを表わし得る。そのため、ビデオデコーダシステム650は、ここに説明される手法、もしくはその異なるバージョンまたは将来のバージョンを実現するために利用され得るさまざまなコンポーネントを含み得る。例として、ビデオデコーダシステム650は、少なくとも1つのプロセッサ655と、少なくとも1つのメモリ660(たとえば、コンピュータ読取可能記憶媒体)とを含むとして図示される。   In the example of FIG. 6B, video decoder system 650 may be at least one computing device and may represent virtually any computing device configured to perform the methods described herein. As such, video decoder system 650 may include various components that may be utilized to implement the techniques described herein, or different or future versions thereof. By way of example, video decoder system 650 is illustrated as including at least one processor 655 and at least one memory 660 (eg, a computer-readable storage medium).

このため、少なくとも1つのプロセッサ655は、少なくとも1つのメモリ660上に格納された命令を実行するために利用されてもよく、それにより、ここに説明されるさまざまな特徴および機能、もしくは追加のまたは代替的な特徴および機能を実現する。少なくとも1つのプロセッサ655および少なくとも1つのメモリ660は、さまざまな他の目的のために利用されてもよい。特に、少なくとも1つのメモリ660は、ここに説明されるモジュールのうちのいずれか1つを実現するために使用され得るさまざまなタイプのメモリならびに関連するハードウェアおよびソフトウェアの一例を表わし得る。例示的な実施形態によれば、ビデオエンコーダシステム600およびビデオデコーダシステム650は、同じより大型のシステム(たとえば、パーソナルコンピュータ、モバイルデバイスなど)に含まれていてもよい。例示的な実施形態によれば、ビデオデコーダシステム650は、ビデオエンコーダシステム600に関して説明されたものとは逆または反対の手法を実現するように構成されてもよい。   Thus, at least one processor 655 may be utilized to execute instructions stored on at least one memory 660, such that various features and functions described herein, or additional or Provide alternative features and functions. At least one processor 655 and at least one memory 660 may be utilized for various other purposes. In particular, at least one memory 660 may represent an example of various types of memory and associated hardware and software that may be used to implement any one of the modules described herein. According to an exemplary embodiment, video encoder system 600 and video decoder system 650 may be included in the same larger system (eg, personal computer, mobile device, etc.). According to an exemplary embodiment, video decoder system 650 may be configured to implement a reverse or reverse approach to that described with respect to video encoder system 600.

少なくとも1つのメモリ660は、ビデオデコーダシステム650に関連付けられたデータおよび/または情報を格納するように構成されてもよい。たとえば、少なくとも1つのメモリ610は、符号化された球状ビデオデータを復号することに関連付けられたコーデックを格納するように構成されてもよい。たとえば、少なくとも1つのメモリは、符号化されたタイルおよび別個に符号化された球状ビデオフレームを復号することに関連付けられた符号、ならびに、復号された球状ビデオフレームにおける画素を復号されたタイルと置き換えるための符号を格納するように構成されてもよい。少なくとも1つのメモリ660は、共有リソースであってもよい。たとえば、ビデオデコーダシステム650は、より大型のシステム(たとえば、パーソナルコンピュータ、モバイルデバイスなど)の要素であってもよい。したがって、少なくとも1つのメモリ660は、より大型のシステム内の他の要素(たとえば、ウェブブラウジング、または無線通信)に関連付けられたデータおよび/または情報を格納するように構成されてもよい。   At least one memory 660 may be configured to store data and / or information associated with video decoder system 650. For example, at least one memory 610 may be configured to store a codec associated with decoding encoded spherical video data. For example, the at least one memory may include a code associated with decoding the encoded tile and the separately encoded spherical video frame, and replace pixels in the decoded spherical video frame with the decoded tile. May be configured to store the code for At least one memory 660 may be a shared resource. For example, video decoder system 650 may be an element of a larger system (eg, personal computer, mobile device, etc.). Accordingly, at least one memory 660 may be configured to store data and / or information associated with other elements in a larger system (eg, web browsing, or wireless communication).

コントローラ670は、さまざまな制御信号を生成し、ビデオデコーダシステム650におけるさまざまなブロックに当該制御信号を通信するように構成されてもよい。コントローラ670は、以下に説明されるビデオ復号手法を実現するために当該制御信号を生成するように構成されてもよい。コントローラ670は、例示的な実施形態によれば、ビデオフレームを復号するようビデオデコーダ675を制御するように構成されてもよい。コントローラ670は、ビデオの復号に対応する制御信号を生成するように構成されてもよい。ビデオデコーダ675およびコントローラ670の機能および動作に関するさらなる詳細が、以下に説明される。   Controller 670 may be configured to generate various control signals and communicate the control signals to various blocks in video decoder system 650. Controller 670 may be configured to generate the control signals to implement the video decoding techniques described below. Controller 670 may be configured to control video decoder 675 to decode a video frame, according to an example embodiment. Controller 670 may be configured to generate a control signal corresponding to decoding the video. Further details regarding the function and operation of video decoder 675 and controller 670 are described below.

ビデオデコーダ675は、圧縮された(たとえば符号化された)ビデオビット10入力を受信し、ビデオストリーム5を出力するように構成されてもよい。ビデオデコーダ675は、圧縮されたビデオビット10の離散ビデオフレームをビデオストリーム5に変換してもよい。圧縮された(たとえば符号化された)ビデオビット10はまた、圧縮された画像ビットであってもよく、したがって、ビデオストリーム5も画像であってもよい。   Video decoder 675 may be configured to receive the compressed (eg, encoded) video bit 10 input and output video stream 5. Video decoder 675 may convert the discrete video frames of compressed video bits 10 into video stream 5. Compressed (eg, coded) video bits 10 may also be compressed image bits, and thus video stream 5 may also be an image.

少なくとも1つのプロセッサ655は、コントローラ670および/またはビデオデコーダ675に関連付けられたコンピュータ命令を実行するように構成されてもよい。少なくとも1つのプロセッサ655は、共有リソースであってもよい。たとえば、ビデオデコーダシステム650は、より大型のシステム(たとえば、パーソナルコンピュータ、モバイルデバイスなど)の要素であってもよい。したがって、少なくとも1つのプロセッサ655は、より大型のシステム内の他の要素(たとえば、ウェブブラウジング、または無線通信)に関連付けられたコンピュータ命令を実行するように構成されてもよい。   At least one processor 655 may be configured to execute computer instructions associated with controller 670 and / or video decoder 675. At least one processor 655 may be a shared resource. For example, video decoder system 650 may be an element of a larger system (eg, personal computer, mobile device, etc.). Accordingly, at least one processor 655 may be configured to execute computer instructions associated with other elements in a larger system (eg, web browsing, or wireless communication).

図7Aおよび図7Bはそれぞれ、少なくとも1つの例示的な実施形態に従った、図6Aに示すビデオエンコーダ625、および図6Bに示すビデオデコーダ675についてのフロー図を示す。(上述の)ビデオエンコーダ625は、球状−2D表現ブロック705と、予測ブロック710と、変換ブロック715と、量子化ブロック720と、エントロピー符号化ブロック725と、逆量子化ブロック730と、逆変換ブロック735と、再構築ブロック740と、ループフィルタブロック745と、タイル表現ブロック790と、ビューフレームストレージ795とを含む。ビデオエンコーダ625の他の構造変形例が、入力ビデオストリーム5を符号化するために使用され得る。図7Aに示すように、破線は、いくつかのブロック間の再構築経路を表わし、実線は、いくつかのブロック間の順方向経路を表わす。   7A and 7B show a flow diagram for the video encoder 625 shown in FIG. 6A and the video decoder 675 shown in FIG. 6B, respectively, according to at least one example embodiment. The video encoder 625 (described above) includes a spherical-2D representation block 705, a prediction block 710, a transform block 715, a quantization block 720, an entropy coding block 725, an inverse quantization block 730, and an inverse transform block. 735, a reconstruction block 740, a loop filter block 745, a tile expression block 790, and a view frame storage 795. Other structural variants of the video encoder 625 may be used to encode the input video stream 5. As shown in FIG. 7A, dashed lines represent reconstruction paths between some blocks, and solid lines represent forward paths between some blocks.

前述のブロックの各々は、(たとえば図6Aに示すような)ビデオエンコーダシステムに関連付けられたメモリ(たとえば少なくとも1つのメモリ610)に格納され、当該ビデオエンコーダシステムに関連付けられた少なくとも1つのプロセッサ(たとえば少なくとも1つのプロセッサ605)によって実行される、ソフトウェアコードとして実行されてもよい。しかしながら、特殊用途プロセッサとして具現化されるビデオエンコーダといった、代替的な実施形態が考えられる。たとえば、(単独の、および/または組合された)前述のブロックの各々は、特定用途向け集積回路、すなわちASICであってもよい。たとえば、ASICは、変換ブロック715および/または量子化ブロック720として構成されてもよい。   Each of the foregoing blocks is stored in a memory (eg, at least one memory 610) associated with the video encoder system (eg, as shown in FIG. 6A) and includes at least one processor (eg, such as shown in FIG. 6A) associated with the video encoder system. It may be executed as software code, executed by at least one processor 605). However, alternative embodiments are conceivable, such as a video encoder embodied as a special purpose processor. For example, each of the foregoing blocks (alone and / or combined) may be an application specific integrated circuit, ie, an ASIC. For example, the ASIC may be configured as transform block 715 and / or quantization block 720.

球状−2D表現ブロック705は、球状フレームまたは画像を球状フレームまたは画像の2D表現にマッピングするように構成されてもよい。たとえば、球が、別の形状(たとえば、正方形、矩形、円筒、および/または立方体)の表面上に投影されてもよい。その投影は、たとえば、正距円筒または半正距円筒であってもよい。   The spherical-2D representation block 705 may be configured to map the spherical frame or image to a 2D representation of the spherical frame or image. For example, a sphere may be projected onto a surface of another shape (eg, a square, rectangle, cylinder, and / or cube). The projection may be, for example, an equirectangular or semi- equirectangular.

予測ブロック710は、ビデオフレーム整合性(たとえば、以前に符号化された画素と比べて変わっていない画素)を利用するように構成されてもよい。予測は、2つのタイプを含んでいてもよい。たとえば、予測は、フレーム内予測とフレーム間予測とを含んでいてもよい。フレーム内予測は、画像のブロックにおける画素値を、同じ画像の以前に符号化された隣接するブロックにおける基準サンプルと比べて予測することに関する。フレーム内予測では、サンプルは、予測変換コーデックの変換(たとえばエントロピー符号化ブロック725)およびエントロピー符号化(たとえばエントロピー符号化ブロック725)部分によって符号化される残差を減少させるために、同じフレーム内の再構築された画素から予測される。フレーム間予測は、画像のブロックにおける画素値を、以前に符号化された画像のデータと比べて予測することに関する。   The prediction block 710 may be configured to take advantage of video frame integrity (eg, pixels that have not changed compared to previously encoded pixels). The prediction may include two types. For example, the prediction may include intra-frame prediction and inter-frame prediction. Intra-frame prediction involves predicting the pixel values in a block of an image relative to reference samples in a previously encoded neighboring block of the same image. In intra-frame prediction, the samples are placed in the same frame to reduce the residual encoded by the transform (eg, entropy coding block 725) and entropy coding (eg, entropy coding block 725) portions of the predictive transform codec. From the reconstructed pixels. Inter-frame prediction relates to predicting pixel values in blocks of an image relative to previously encoded image data.

変換ブロック715は、画素の値を空間ドメインから変換ドメインにおける変換係数に変換するように構成されてもよい。変換係数は、元のブロックと通常同じサイズである係数の2次元マトリックスに対応していてもよい。言い換えれば、元のブロックにおける画素と同じぐらい多くの変換係数が存在していてもよい。しかしながら、変換により、変換係数の一部はゼロに等しい値を有していてもよい。   Transform block 715 may be configured to transform pixel values from the spatial domain to transform coefficients in the transform domain. The transform coefficients may correspond to a two-dimensional matrix of coefficients that are usually the same size as the original block. In other words, there may be as many transform coefficients as there are pixels in the original block. However, due to the transformation, some of the transform coefficients may have a value equal to zero.

変換ブロック715は、(予測ブロック710からの)残りを、たとえば周波数ドメインにおける変換係数に変換するように構成されてもよい。典型的には、変換は、カルフネン−ロエヴェ変換(Karhunen-Loeve Transform:KLT)、離散コサイン変換(Discrete Cosine Transform:DCT)、特異値分解変換(Singular Value Decomposition Transform:SVD)、および非対称離散サイン変換(asymmetric discrete sine transform:ADST)を含む。   Transform block 715 may be configured to transform the remainder (from prediction block 710) into transform coefficients in the frequency domain, for example. Typically, the transformation is a Karhunen-Loeve Transform (KLT), a Discrete Cosine Transform (DCT), a Singular Value Decomposition Transform (SVD), and an asymmetric Discrete Sine Transform (Asymmetric discrete sine transform: ADST).

量子化ブロック720は、各変換係数におけるデータを減少させるように構成されてもよい。量子化は、比較的大きい範囲内の値を比較的小さい範囲内の値にマッピングすることを伴ってもよく、このため、量子化された変換係数を表わすのに必要なデータの量を減少させる。量子化ブロック720は、変換係数を、量子化された変換係数または量子化レベルと称される離散量子値に変換してもよい。たとえば、量子化ブロック720は、変換係数に関連付けられたデータにゼロを加えるように構成されてもよい。たとえば、符号化規準は、スカラー量子化プロセスにおける128個の量子化レベルを規定してもよい。   Quantization block 720 may be configured to reduce data at each transform coefficient. Quantization may involve mapping values within a relatively large range to values within a relatively small range, thus reducing the amount of data required to represent the quantized transform coefficients. . The quantization block 720 may convert the transform coefficients into discrete quantized values called quantized transform coefficients or quantization levels. For example, quantization block 720 may be configured to add zero to data associated with transform coefficients. For example, a coding criterion may specify 128 quantization levels in a scalar quantization process.

量子化された変換係数は、エントロピー符号化ブロック725によってエントロピー符号化される。その後、エントロピー符号化された係数は、使用される予測のタイプ、運動ベクトル、および量子化器の値といった、ブロックを復号するのに必要とされる情報とともに、圧縮されたビデオビット10として出力される。圧縮されたビデオビット10は、ランレングス符号化(run-length encoding:RLE)およびゼロラン符号化(zero-run coding)といったさまざまな手法を使用してフォーマットされ得る。   The quantized transform coefficients are entropy coded by an entropy coding block 725. The entropy coded coefficients are then output as compressed video bits 10, along with the information needed to decode the block, such as the type of prediction used, motion vectors, and quantizer values. You. Compressed video bits 10 may be formatted using various techniques, such as run-length encoding (RLE) and zero-run coding.

図7Aにおける再構築経路は、ビデオエンコーダ625および(図7Bに関して以下に説明される)ビデオデコーダ675の双方が、同じ基準フレームを使用して、圧縮されたビデオビット10(または圧縮された画像ビット)を復号することを保証するために存在する。当該再構築経路は、以下により詳細に説明される、復号処理中に行なわれる機能に類似する機能を行なう。当該機能は、微分残差(derivative residual)ブロック(微分残差)を作り出すために、逆量子化ブロック730で、量子化された変換係数を逆量子化することと、逆変換ブロック735で、逆量子化された変換係数を逆変換することとを含む。再構築ブロック740で、再構築ブロックを作り出すために、予測ブロック710で予測された予測ブロックは微分残差に加えられ得る。次に、ブロッキングアーティファクトなどの歪みを減少させるために、ループフィルタ745が再構築ブロックに適用され得る。   The reconstruction path in FIG. 7A is such that both video encoder 625 and video decoder 675 (described below with respect to FIG. 7B) use the same reference frame to compress compressed video bits 10 (or compressed image bits). ) Is present to guarantee decoding. The reconstruction path performs functions similar to those performed during the decoding process, described in more detail below. The function is to dequantize the quantized transform coefficients in an inverse quantization block 730 to create a derivative residual block (differential residual) and to perform an inverse transform in an inverse transform block 735. Inverse transforming the quantized transform coefficients. At reconstruction block 740, the prediction block predicted at prediction block 710 may be added to the differential residual to create a reconstruction block. Next, a loop filter 745 may be applied to the reconstructed block to reduce distortion such as blocking artifacts.

タイル表現ブロック790は、画像および/またはフレームを複数のタイルに変換するように構成され得る。1つのタイルは、画素のグループ化であり得る。タイルは、ビューまたはビューパースペクティブに基づいて選択された複数の画素であってもよい。複数の画素は、ユーザによって見られ得る(または見られることが予測される)球状画像の一部を含み得る、ブロック、複数のブロック、またはマクロブロックであってもよい。タイルとしての球状画像の一部は、長さと幅とを有していてもよい。球状画像の一部は、2次元、または実質的に2次元であってもよい。タイルは、可変サイズ(たとえば、タイルは球の何割をカバーするか)を有し得る。たとえば、タイルのサイズは、たとえば、視聴者の視野がどれくらい広いか、別のタイルへの近接性、および/または、ユーザがどれくらい速く自分の頭を回転させているかに基づいて、符号化され、ストリーミングされ得る。たとえば、視聴者が絶えず見回している場合、より大きく、より低品質のタイルが選択されるかもしれない。しかしながら、視聴者が1つのパースペクティブに注目している場合、より小さく、より詳細なタイルが選択されるかもしれない。   Tile representation block 790 may be configured to convert an image and / or frame into multiple tiles. One tile may be a grouping of pixels. A tile may be a plurality of pixels selected based on a view or view perspective. The plurality of pixels may be a block, a plurality of blocks, or a macroblock that may include a portion of a spherical image that may be viewed (or expected to be viewed) by a user. A part of the spherical image as a tile may have a length and a width. A portion of the spherical image may be two-dimensional, or substantially two-dimensional. Tiles may have variable sizes (eg, what percentage of a sphere a tile covers). For example, the size of a tile is coded based on, for example, how wide the viewer's field of view is, the proximity to another tile, and / or how fast the user is turning his or her head, Can be streamed. For example, if the viewer is constantly looking around, larger, lower quality tiles may be selected. However, if the viewer is looking at one perspective, smaller, more detailed tiles may be selected.

一実現化例では、タイル表現ブロック790は、球状−2D表現ブロック705にタイルを生成させる、球状−2D表現ブロック705への命令を起動する。別の実現化例では、タイル表現ブロック790がタイルを生成する。いずれの実現化例でも、各タイルは次に、個々に符号化される。さらに別の実現化例では、タイル表現ブロック790は、ビューフレームストレージ795に、符号化された画像および/またはビデオフレームをタイルとして格納させる、ビューフレームストレージ795への命令を起動する。タイル表現ブロック790は、ビューフレームストレージ795に、タイルについての情報またはメタデータとともにタイルを格納させる、ビューフレームストレージ795への命令を起動できる。たとえば、タイルについての情報またはメタデータは、画像またはフレーム内のタイル位置の表示、タイルの符号化に関連付けられた情報(たとえば、解像度、帯域幅、および/または3D−2D投影アルゴリズム)、1つ以上の関心領域との関連付けなどを含んでいてもよい。   In one implementation, the tile representation block 790 invokes instructions to the spherical-2D representation block 705 to cause the spherical-2D representation block 705 to generate tiles. In another implementation, the tile representation block 790 generates the tile. In either implementation, each tile is then individually encoded. In yet another implementation, the tile representation block 790 triggers instructions to the view frame storage 795 to cause the view frame storage 795 to store the encoded image and / or video frames as tiles. The tile representation block 790 can trigger an instruction to the view frame storage 795 to cause the view frame storage 795 to store the tile along with information or metadata about the tile. For example, information or metadata about a tile may include an indication of tile position within an image or frame, information associated with tile encoding (eg, resolution, bandwidth, and / or 3D-2D projection algorithms), one The association with the above-mentioned region of interest may be included.

例示的な実現化例によれば、エンコーダ625は、フレーム、フレームの一部、および/またはタイルを、異なる品質(またはQoS(Quality of Service))で符号化してもよい。例示的な実施形態によれば、エンコーダ625は、フレーム、フレームの一部、および/またはタイルを複数回、各々異なるQoSで符号化してもよい。したがって、ビューフレームストレージ795は、画像またはフレーム内の同じ位置を表わすフレーム、フレームの一部、および/またはタイルを、異なるQoSで格納できる。そのため、タイルについての前述の情報またはメタデータは、フレーム、フレームの一部、および/またはタイルが符号化された際のQoSの表示を含んでいてもよい。   According to an example implementation, encoder 625 may encode a frame, a portion of a frame, and / or a tile with different qualities (or Quality of Service (QoS)). According to an exemplary embodiment, encoder 625 may encode a frame, a portion of a frame, and / or a tile multiple times, each with a different QoS. Thus, view frame storage 795 can store frames, portions of frames, and / or tiles that represent the same location in an image or frame with different QoS. As such, the aforementioned information or metadata about the tile may include a frame, a portion of the frame, and / or an indication of the QoS at which the tile was encoded.

QoSは、圧縮アルゴリズム、解像度、伝送速度、および/または符号化スキームに基づき得る。したがって、エンコーダ625は、フレーム、フレームの一部、および/またはタイルごとに、異なる圧縮アルゴリズムおよび/または符号化スキームを使用してもよい。たとえば、符号化されたタイルは、エンコーダ625によって符号化された(タイルに関連付けられたた)フレームに比べ、より高いQoSであってもよい。上述のように、エンコーダ625は、球状ビデオフレームの2D表現を符号化するように構成されてもよい。したがって、(球状ビデオフレームの一部を含む可視パースペクティブとしての)タイルは、球状ビデオフレームの2D表現に比べ、より高いQoSで符号化され得る。QoSは、復号された場合にフレームの解像度に影響を与えるかもしれない。したがって、(球状ビデオフレームの一部を含む可視パースペクティブとしての)タイルは、タイルが、復号された場合に、球状ビデオフレームの復号された2D表現と比べて、フレームのより高い解像度を有するように、符号化され得る。タイル表現ブロック790は、タイルが符号化されるべきQoSを示してもよい。タイル表現ブロック790は、フレーム、フレームの一部、および/またはタイルが関心領域であるか、関心領域内にあるか、シード領域に関連付けられているか否かなどに基づいて、QoSを選択してもよい。関心領域およびシード領域は、以下により詳細に説明される。   QoS may be based on compression algorithm, resolution, transmission rate, and / or coding scheme. Accordingly, encoder 625 may use different compression algorithms and / or encoding schemes for each frame, portion of a frame, and / or tile. For example, the encoded tile may have a higher QoS than the frame encoded by the encoder 625 (associated with the tile). As described above, encoder 625 may be configured to encode a 2D representation of the spherical video frame. Thus, a tile (as a visible perspective that includes a portion of a spherical video frame) may be encoded with a higher QoS than a 2D representation of the spherical video frame. QoS may affect the resolution of a frame when decoded. Thus, the tile (as a visible perspective that includes a portion of the spherical video frame) is such that when the tile is decoded, it has a higher resolution of the frame compared to the decoded 2D representation of the spherical video frame. , Can be encoded. Tile representation block 790 may indicate the QoS at which the tile is to be encoded. The tile representation block 790 selects a QoS based on whether the frame, a portion of the frame, and / or the tile is, is within, is associated with a seed region, or the like. Is also good. The region of interest and the seed region are described in more detail below.

図7Aに関して上述されたビデオエンコーダ625は、図示されたブロックを含む。しかしながら、例示的な実施形態はそれらに限定されない。使用される異なるビデオ符号化構成および/または手法に基づいて、追加のブロックが追加されてもよい。また、図7Aに関して上述されたビデオエンコーダ625に示されるブロックの各々は、使用される異なるビデオ符号化構成および/または手法に基づくオプションのブロックであってもよい。   Video encoder 625 described above with respect to FIG. 7A includes the illustrated blocks. However, the exemplary embodiments are not so limited. Additional blocks may be added based on different video coding configurations and / or techniques used. Also, each of the blocks shown in video encoder 625 described above with respect to FIG. 7A may be optional blocks based on the different video coding configurations and / or techniques used.

図7Bは、圧縮されたビデオビット10(または圧縮された画像ビット)を復号するように構成されたデコーダ675の概略ブロック図である。デコーダ675は、前述のエンコーダ625の再構築経路に類似して、エントロピー復号ブロック750と、逆量子化ブロック755と、逆変換ブロック760と、再構築ブロック765と、ループフィルタブロック770と、予測ブロック775と、ブロック解除フィルタブロック780と、2D表現−球状ブロック785とを含む。   FIG. 7B is a schematic block diagram of a decoder 675 configured to decode the compressed video bits 10 (or the compressed image bits). The decoder 675 includes an entropy decoding block 750, an inverse quantization block 755, an inverse transformation block 760, a reconstruction block 765, a loop filter block 770, and a prediction block similar to the reconstruction path of the encoder 625 described above. 775, a deblocking filter block 780, and a 2D representation-spherical block 785.

圧縮されたビデオビット10内のデータ要素は、一組の量子化された変換係数を生成するために、(たとえば、コンテキスト適応型二値算術復号方式(Context Adaptive Binary Arithmetic Decoding)を使用して)エントロピー復号ブロック750によって復号され得る。逆量子化ブロック755は、量子化された変換係数を逆量子化し、逆変換ブロック760は、逆量子化された変換係数を(ADSTを使用して)逆変換して、エンコーダ625における再構築段階によって作り出されたものと同一であり得る微分残差を作り出す。   The data elements in the compressed video bits 10 are used to generate a set of quantized transform coefficients (eg, using Context Adaptive Binary Arithmetic Decoding). It may be decoded by the entropy decoding block 750. An inverse quantization block 755 inversely quantizes the quantized transform coefficients, and an inverse transform block 760 inversely transforms the inversely quantized transform coefficients (using ADST) and reconstructs at the encoder 625. Produces a differential residual that can be identical to that produced by

圧縮されたビデオビット10から復号されたヘッダ情報を使用して、デコーダ675は、エンコーダ675において作り出されたのと同じ予測ブロックを作り出すために、予測ブロック775を使用することができる。予測ブロックは、再構築ブロック765によって再構築ブロックを作り出すために、微分残差に加えられ得る。ブロッキングアーティファクトを減少させるために、ループフィルタブロック770が再構築ブロックに適用され得る。ブロッキング歪みを減少させるために、ブロック解除フィルタブロック780が再構築ブロックに適用され得る。その結果が、ビデオストリーム5として出力される。   Using the header information decoded from the compressed video bits 10, the decoder 675 can use the prediction block 775 to create the same prediction block as created at the encoder 675. The prediction block may be added to the differential residual to create a reconstructed block by the reconstructed block 765. To reduce blocking artifacts, a loop filter block 770 may be applied to the reconstructed block. To reduce blocking distortion, a deblocking filter block 780 may be applied to the reconstructed block. The result is output as a video stream 5.

2D表現−球状ブロック785は、球状フレームまたは画像の2D表現を球状フレームまたは画像にマッピングするように構成されてもよい。たとえば、球状フレームまたは画像の2D表現を球状フレームまたは画像にマッピングすることは、エンコーダ625によって行なわれる3D−2Dマッピングの逆であり得る。   The 2D representation-spherical block 785 may be configured to map a 2D representation of the spherical frame or image to the spherical frame or image. For example, mapping a 2D representation of a spherical frame or image to a spherical frame or image may be the inverse of the 3D-2D mapping performed by encoder 625.

図7Bに関して上述されたビデオデコーダ675は、図示されたブロックを含む。しかしながら、例示的な実施形態はそれらに限定されない。使用される異なるビデオ符号化構成および/または手法に基づいて、追加のブロックが追加されてもよい。また、図7Bに関して上述されたビデオデコーダ675に示されるブロックの各々は、使用される異なるビデオ符号化構成および/または手法に基づくオプションのブロックであってもよい。   Video decoder 675 described above with respect to FIG. 7B includes the illustrated blocks. However, the exemplary embodiments are not so limited. Additional blocks may be added based on different video coding configurations and / or techniques used. Also, each of the blocks shown in video decoder 675 described above with respect to FIG. 7B may be optional blocks based on the different video coding configurations and / or techniques used.

エンコーダ625およびデコーダ675はそれぞれ、球状ビデオおよび/または画像を符号化するように、ならびに球状ビデオおよび/または画像を復号するように構成されてもよい。球状画像は、球状に組織化された複数の画素を含む画像である。言い換えれば、球状画像は、全方向に連続している画像である。したがって、球状画像の視聴者は、任意の方向(たとえば、上方向、下方向、左方向、右方向、またはそれらの任意の組合せ)に位置または向きを変える(たとえば、自分の頭または目を動かす)ことができ、画像の一部を連続的に見ることができる。   Encoder 625 and decoder 675 may be configured to encode spherical video and / or images, and to decode spherical video and / or images, respectively. The spherical image is an image including a plurality of pixels organized in a spherical shape. In other words, the spherical image is an image that is continuous in all directions. Thus, a viewer of a spherical image changes position or orientation (eg, moves his or her head or eyes) in any direction (eg, up, down, left, right, or any combination thereof). ) And part of the image can be viewed continuously.

例示的な実現化例では、エンコーダ625において使用され、および/またはエンコーダ625によって判断されたパラメータは、エンコーダ405の他の要素によって使用され得る。たとえば、2D表現を符号化するために使用される(たとえば、予測において使用されるような)運動ベクトルが、タイルを符号化するために使用されてもよい。また、予測ブロック710、変換ブロック715、量子化ブロック720、エントロピー符号化ブロック725、逆量子化ブロック730、逆変換ブロック735、再構築ブロック740、およびループフィルタブロック745において使用され、および/または当該ブロックによって判断されたパラメータは、エンコーダ625とエンコーダ405との間で共有されてもよい。   In an exemplary implementation, the parameters used at and / or determined by encoder 625 may be used by other elements of encoder 405. For example, a motion vector used to encode a 2D representation (eg, as used in prediction) may be used to encode a tile. Also used in the prediction block 710, transform block 715, quantization block 720, entropy coding block 725, inverse quantization block 730, inverse transform block 735, reconstruction block 740, and loop filter block 745, and / or The parameters determined by the blocks may be shared between encoder 625 and encoder 405.

球状ビデオフレームまたは画像の一部は、画像として処理されてもよい。したがって、球状ビデオフレームの一部は、ブロックのC×Rマトリックス(以下、ブロックと称される)に変換(または分解)されてもよい。たとえば、球状ビデオフレームの一部は、各々が多数の画素を有するブロックの16×16、16×8、8×8、8×4、4×4、4×2、2×2などのマトリックスといったC×Rマトリックスに変換されてもよい。   Part of the spherical video frame or image may be processed as an image. Thus, a portion of the spherical video frame may be transformed (or decomposed) into a C × R matrix of blocks (hereinafter referred to as blocks). For example, a portion of a spherical video frame may be a 16 × 16, 16 × 8, 8 × 8, 8 × 4, 4 × 4, 4 × 2, 2 × 2, etc. matrix of blocks each having a large number of pixels. It may be converted to a C × R matrix.

図8は、少なくとも1つの例示的な実施形態に従ったシステム800を示す。図8に示すように、システム700は、コントローラ620と、コントローラ670と、ビデオエンコーダ625と、ビューフレームストレージ795と、配向センサ835とを含む。コントローラ620はさらに、ビュー位置制御モジュール805と、タイル制御モジュール810と、ビューパースペクティブデータストア815とを含む。コントローラ670はさらに、ビュー位置判断モジュール820と、タイル要求モジュール825と、バッファ830とを含む。   FIG. 8 illustrates a system 800 according to at least one example embodiment. As shown in FIG. 8, the system 700 includes a controller 620, a controller 670, a video encoder 625, a view frame storage 795, and an orientation sensor 835. Controller 620 further includes a view position control module 805, a tile control module 810, and a view perspective data store 815. The controller 670 further includes a view position determination module 820, a tile request module 825, and a buffer 830.

例示的な実現化例によれば、配向センサ835は、視聴者の目(または頭)の配向(または配向の変化)を検出し、ビュー位置判断モジュール820は、検出された配向に基づいて、ビュー、パースペクティブ、またはビューパースペクティブを判断し、タイル要求モジュール825は、(球状ビデオに加えて)ビュー、パースペクティブ、またはビューパースペクティブを、タイルまたは複数のタイルに対する要求の一部として通信する。別の例示的な実現化例によれば、配向センサ835は、HMDまたはディスプレイ上でレンダリングされる際の画像パン配向(image panning orientation)に基づいて、配向(または配向の変化)を検出する。たとえば、HMDのユーザは、焦点深度を変更してもよい。言い換えれば、HMDのユーザは、配向の変化の有無にかかわらず、遠くにあった物体から近くにある物体に自分の焦点を変更してもよい(逆もまた同様)。たとえば、ユーザは、ディスプレイ上にレンダリングされる際の球状ビデオまたは画像の一部の選択、移動、ドラッグ、拡大などを行なうために、マウス、トラックパッド、または(たとえばタッチ感知ディスプレイ上での)ジェスチャを使用してもよい。   According to an exemplary implementation, orientation sensor 835 detects the orientation (or change in orientation) of the viewer's eyes (or head), and view position determination module 820 determines the orientation based on the detected orientation. Having determined the view, perspective, or view perspective, the tile request module 825 communicates the view, perspective, or view perspective (in addition to the spherical video) as part of the request for the tile or tiles. According to another example implementation, orientation sensor 835 detects an orientation (or a change in orientation) based on the image panning orientation as rendered on the HMD or display. For example, a user of the HMD may change the depth of focus. In other words, the user of the HMD may change his or her focus from an object that was far away to an object that is close, with or without a change in orientation, and vice versa. For example, a user may use a mouse, trackpad, or gesture (eg, on a touch-sensitive display) to select, move, drag, magnify, etc., a portion of a spherical video or image as rendered on a display. May be used.

タイルに対する要求は、球状ビデオのフレームに対する要求とともに通信されてもよい。タイルに対する要求は、球状ビデオのフレームに対する要求とは別に、ともに通信されてもよい。たとえば、タイルに対する要求は、変更されたビュー、パースペクティブ、またはビューパースペクティブに応答してもよく、以前に要求された、および/または待ち行列に入れられたタイルを置き換える必要性をもたらす。   Requests for tiles may be communicated with requests for frames of the spherical video. Requests for tiles may be communicated separately from requests for frames of the spherical video. For example, a request for a tile may respond to a modified view, perspective, or view perspective, resulting in a need to replace a previously requested and / or queued tile.

ビュー位置制御モジュール805は、タイルに対する要求を受信し、処理する。たとえば、ビュー位置制御モジュール805は、ビューに基づいて、フレームと、そのフレームにおけるタイルまたは複数のタイルの位置とを判断し得る。次に、ビュー位置制御モジュール805は、タイル制御モジュール810に、タイルまたは複数のタイルを選択するよう命令し得る。タイルまたは複数のタイルを選択することは、パラメータをビデオエンコーダ625へ渡すことを含み得る。パラメータは、球状ビデオおよび/またはタイルの符号化中にビデオエンコーダ625によって使用され得る。これに代えて、タイルまたは複数のタイルを選択することは、ビューフレームストレージ795からタイルまたは複数のタイルを選択することを含み得る。   View position control module 805 receives and processes requests for tiles. For example, view position control module 805 may determine a frame and a position of a tile or tiles in the frame based on the view. Next, view position control module 805 may instruct tile control module 810 to select a tile or multiple tiles. Selecting the tile or tiles may include passing parameters to video encoder 625. The parameters may be used by video encoder 625 during encoding of the spherical video and / or tile. Alternatively, selecting a tile or multiple tiles may include selecting a tile or multiple tiles from view frame storage 795.

したがって、タイル制御モジュール810は、球状ビデオを見ているユーザのビューまたはパースペクティブまたはビューパースペクティブに基づいてタイル(または複数のタイル)を選択するように構成されてもよい。タイルは、ビューに基づいて選択された複数の画素であってもよい。複数の画素は、ユーザによって見られ得る球状画像の一部を含み得る、ブロック、複数のブロック、またはマクロブロックであってもよい。球状画像の一部は、長さと幅とを有していてもよい。球状画像の一部は、2次元、または実質的に2次元であってもよい。タイルは、可変サイズ(たとえば、タイルは球の何割をカバーするか)を有し得る。たとえば、タイルのサイズは、たとえば、視聴者の視野がどれくらい広いか、および/または、ユーザがどれくらい速く自分の頭を回転させているかに基づいて、符号化され、ストリーミングされ得る。たとえば、視聴者が絶えず見回している場合、より大きく、より低品質のタイルが選択されるかもしれない。しかしながら、視聴者が1つのパースペクティブに注目している場合、より小さく、より詳細なタイルが選択されるかもしれない。   Accordingly, the tile control module 810 may be configured to select a tile (or multiple tiles) based on the view or perspective or view perspective of the user watching the spherical video. A tile may be a plurality of pixels selected based on a view. The plurality of pixels may be a block, a plurality of blocks, or a macroblock, which may include a portion of a spherical image that may be viewed by a user. Part of the spherical image may have a length and a width. A portion of the spherical image may be two-dimensional, or substantially two-dimensional. Tiles may have variable sizes (eg, what percentage of a sphere a tile covers). For example, the size of the tiles may be encoded and streamed, for example, based on how wide the viewer's field of view is and / or how fast the user is turning his or her head. For example, if the viewer is constantly looking around, larger, lower quality tiles may be selected. However, if the viewer is looking at one perspective, smaller, more detailed tiles may be selected.

したがって、配向センサ835は、視聴者の目(または頭)の配向(または配向の変化)を検出するように構成され得る。たとえば、配向センサ835は、動きを検出するために加速度計を、および、配向を検出するためにジャイロスコープを含み得る。これに代えて、またはこれに加えて、配向センサ835は、視聴者の目または頭の配向を判断するために、視聴者の目または頭に焦点を合わせたカメラまたは赤外線センサを含み得る。これに代えて、またはこれに加えて、配向センサ835は、球状ビデオまたは画像の配向を検出するために、ディスプレイ上でレンダリングされるような球状ビデオまたは画像の一部を判断し得る。配向センサ835は、配向および配向変化情報をビュー位置判断モジュール820に通信するように構成され得る。   Accordingly, orientation sensor 835 may be configured to detect the orientation (or change in orientation) of the viewer's eyes (or head). For example, orientation sensor 835 may include an accelerometer to detect movement and a gyroscope to detect orientation. Alternatively or additionally, orientation sensor 835 may include a camera or infrared sensor focused on the viewer's eyes or head to determine the orientation of the viewer's eyes or head. Alternatively or additionally, orientation sensor 835 may determine a portion of the spherical video or image as rendered on a display to detect the orientation of the spherical video or image. The orientation sensor 835 may be configured to communicate orientation and orientation change information to the view position determination module 820.

ビュー位置判断モジュール820は、球状ビデオに関してビューまたはパースペクティブビュー(たとえば、視聴者が現在見ている球状ビデオの一部)を判断するように構成され得る。ビュー、パースペクティブ、またはビューパースペクティブは、球状ビデオ上の位置、点、または焦点として判断され得る。たとえば、ビューは、球状ビデオ上の緯度および経度位置であってもよい。ビュー、パースペクティブ、またはビューパースペクティブは、球状ビデオに基づいて立方体の辺として判断され得る。ビュー(たとえば、緯度および経度位置、または辺)は、たとえばハイパーテキスト転送プロトコル(HTTP)を使用して、ビュー位置制御モジュール805に通信され得る。   The view location determination module 820 may be configured to determine a view or perspective view (eg, a portion of the spherical video that the viewer is currently viewing) with respect to the spherical video. A view, perspective, or view perspective may be determined as a position, point, or focus on a spherical video. For example, the view may be a latitude and longitude position on the spherical video. A view, perspective, or view perspective may be determined as a cube edge based on the spherical video. The views (eg, latitude and longitude locations, or sides) may be communicated to the view location control module 805 using, for example, Hypertext Transfer Protocol (HTTP).

ビュー位置制御モジュール805は、球状ビデオ内のタイルまたは複数のタイルのビュー位置(たとえば、フレーム、およびそのフレーム内での位置)を判断するように構成されてもよい。たとえば、ビュー位置制御モジュール805は、ビュー位置、点、または焦点(たとえば、緯度および経度位置、または辺)を中心とする矩形を選択し得る。タイル制御モジュール810は、当該矩形をタイルまたは複数のタイルとして選択するように構成され得る。タイル制御モジュール810は、(たとえば、パラメータまたは構成設定を介して)ビデオエンコーダ625に、選択されたタイルまたは複数のタイルを符号化するよう命令するように構成され得る。および/または、タイル制御モジュール810は、ビューフレームストレージ795からタイルまたは複数のタイルを選択するように構成され得る。   The view position control module 805 may be configured to determine a view position (eg, a frame and a position within the frame) of a tile or multiple tiles in the spherical video. For example, view position control module 805 may select a rectangle centered on a view position, point, or focus (eg, a latitude and longitude position, or a side). Tile control module 810 may be configured to select the rectangle as a tile or multiple tiles. Tile control module 810 may be configured to instruct video encoder 625 (eg, via parameters or configuration settings) to encode the selected tile or tiles. And / or the tile control module 810 can be configured to select a tile or multiple tiles from the view frame storage 795.

理解されるように、図6Aに示すシステム600および図6Bに示すシステム650、および/または図8に示すシステム800は、図9に関して以下に説明される汎用コンピュータデバイス900および/または汎用モバイルコンピュータデバイス950の要素および/または拡張として実現されてもよい。これに代えて、またはこれに加えて、図6Aに示すシステム600および図6Bに示すシステム650、および/または図8に示すシステム800は、汎用コンピュータデバイス900および/または汎用モバイルコンピュータデバイス950に関して以下に説明される特徴のうちのいくつかまたはすべてを有する、汎用コンピュータデバイス900および/または汎用モバイルコンピュータデバイス950とは別個のシステムにおいて実現されてもよい。   As will be appreciated, the system 600 shown in FIG. 6A and the system 650 shown in FIG. 6B, and / or the system 800 shown in FIG. It may be implemented as 950 elements and / or extensions. Alternatively or additionally, the system 600 shown in FIG. 6A and the system 650 shown in FIG. 6B and / or the system 800 shown in FIG. May be implemented in a system separate from the general-purpose computing device 900 and / or the general-purpose mobile computing device 950, having some or all of the features described in.

図9は、ここに説明される手法を実現するために使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの概略ブロック図である。図9は、ここに説明される手法を用いて使用され得る汎用コンピュータデバイス900および汎用モバイルコンピュータデバイス950の一例である。コンピューティングデバイス900は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータといった、さまざまな形態のデジタルコンピュータを表わすよう意図されている。コンピューティングデバイス950は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスといった、さまざまな形態のモバイルデバイスを表わすよう意図されている。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は単なる例示であることが意図されており、本文書に記載のおよび/または請求項に記載の本発明の実現化例を限定するよう意図されてはいない。   FIG. 9 is a schematic block diagram of a computing device and a mobile computing device that may be used to implement the techniques described herein. FIG. 9 is an example of a general purpose computing device 900 and a general purpose mobile computing device 950 that can be used with the techniques described herein. Computing device 900 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Computing device 950 is intended to represent various forms of mobile devices, such as personal digital assistants, cell phones, smartphones, and other similar computing devices. The components shown, their connections and relationships, and their functions, are intended to be merely exemplary, and should not be construed as limiting the implementations of the invention described in this document and / or claimed. Not intended.

コンピューティングデバイス900は、プロセッサ902と、メモリ904と、記憶装置906と、メモリ904および高速拡張ポート910に接続している高速インターフェイス908と、低速バス914および記憶装置906に接続している低速インターフェイス912とを含む。コンポーネント902、904、906、908、910、および912の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。プロセッサ902は、コンピューティングデバイス900内で実行される命令を処理可能であり、これらの命令は、GUIのためのグラフィック情報を、高速インターフェイス908に結合されたディスプレイ916などの外部入出力デバイス上に表示するために、メモリ904内または記憶装置906上に格納された命令を含む。他の実現化例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。また、複数のコンピューティングデバイス900が接続されてもよく、各デバイスは(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分を提供する。   The computing device 900 includes a processor 902, a memory 904, a storage device 906, a high-speed interface 908 connected to the memory 904 and the high-speed expansion port 910, and a low-speed interface connected to the low-speed bus 914 and the storage device 906. 912. Each of components 902, 904, 906, 908, 910, and 912 are interconnected using various buses and may be mounted on a common motherboard or otherwise. Processor 902 is capable of processing instructions executing within computing device 900, which in turn render graphics information for the GUI on an external input / output device, such as display 916, coupled to high speed interface 908. Includes instructions stored in memory 904 or on storage device 906 for display. In other implementations, multiple processors and / or multiple buses may be used with multiple memories and multiple types of memory as appropriate. Also, multiple computing devices 900 may be connected, each device providing a portion of the required operation (eg, as a server bank, a group of blade servers, or a multi-processor system).

メモリ904は、情報をコンピューティングデバイス900内に格納する。一実現化例では、メモリ904は1つまたは複数の揮発性メモリユニットである。別の実現化例では、メモリ904は1つまたは複数の不揮発性メモリユニットである。メモリ904はまた、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。   Memory 904 stores information in computing device 900. In one implementation, memory 904 is one or more volatile memory units. In another implementation, memory 904 is one or more non-volatile memory units. Memory 904 may also be another form of computer-readable medium, such as a magnetic or optical disk.

記憶装置906は、コンピューティングデバイス900のための大容量記憶を提供可能である。一実現化例では、記憶装置906は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリまたは他の同様のソリッドステートメモリデバイス、もしくは、ストレージエリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラム製品が情報担体において有形に具現化され得る。コンピュータプログラム製品はまた、実行されると上述のような1つ以上の方法を行なう命令を含んでいてもよい。情報担体は、メモリ904、記憶装置906、またはプロセッサ902上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。   The storage 906 can provide mass storage for the computing device 900. In one implementation, the storage device 906 is a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or a storage area network or other configuration. Or a computer readable medium, such as an array of devices, including the devices in. A computer program product can be tangibly embodied in an information carrier. The computer program product may also include instructions that, when executed, perform one or more methods as described above. The information carrier is a computer-readable or machine-readable medium, such as memory 904, storage 906, or memory on processor 902.

高速コントローラ908はコンピューティングデバイス900のための帯域幅集約的な動作を管理し、一方、低速コントローラ912はより低い帯域幅集約的な動作を管理する。機能のそのような割当ては例示に過ぎない。一実現化例では、高速コントローラ908は、メモリ904、ディスプレイ916に(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)、および、さまざまな拡張カード(図示せず)を受付け得る高速拡張ポート910に結合される。この実現化例では、低速コントローラ912は、記憶装置906および低速拡張ポート914に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力デバイスに、もしくは、スイッチまたはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。   High speed controller 908 manages bandwidth intensive operations for computing device 900, while low speed controller 912 manages lower bandwidth intensive operations. Such an assignment of functions is merely exemplary. In one implementation, high-speed controller 908 couples to memory 904, display 916 (eg, via a graphics processor or accelerator), and a high-speed expansion port 910 that can accept various expansion cards (not shown). Is done. In this implementation, low speed controller 912 is coupled to storage 906 and low speed expansion port 914. The low speed expansion port, which may include various communication ports (eg, USB, Bluetooth, Ethernet, wireless Ethernet), may be connected to one or more input / output devices such as a keyboard, pointing device, scanner, or , A switch or a router, for example, via a network adapter.

コンピューティングデバイス900は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、標準サーバ920として、またはそのようなサーバのグループで複数回実現されてもよい。それはまた、ラックサーバシステム924の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ922などのパーソナルコンピュータにおいて実現されてもよい。これに代えて、コンピューティングデバイス900からのコンポーネントは、デバイス950などのモバイルデバイス(図示せず)における他のコンポーネントと組合されてもよい。そのようなデバイスの各々は、コンピューティングデバイス900、950のうちの1つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス900、950で構成されてもよい。   Computing device 900 may be implemented in many different forms as shown. For example, it may be implemented multiple times as a standard server 920 or in a group of such servers. It may also be implemented as part of the rack server system 924. In addition, it may be implemented on a personal computer such as a laptop computer 922. Alternatively, components from computing device 900 may be combined with other components on a mobile device (not shown), such as device 950. Each such device may include one or more of the computing devices 900, 950, and the entire system may be made up of multiple computing devices 900, 950 communicating with one another.

コンピューティングデバイス950は、数あるコンポーネントの中でも特に、プロセッサ952と、メモリ964と、ディスプレイ954などの入出力デバイスと、通信インターフェイス966と、トランシーバ968とを含む。デバイス950にはまた、追加の格納を提供するために、マイクロドライブまたは他のデバイスなどの記憶装置が設けられてもよい。コンポーネント950、952、964、954、966、および968の各々は、さまざまなバスを使用して相互接続されており、当該コンポーネントのうちのいくつかは、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。   The computing device 950 includes a processor 952, memory 964, input / output devices such as a display 954, a communication interface 966, and a transceiver 968, among other components. Device 950 may also be provided with storage, such as a microdrive or other device, to provide additional storage. Each of the components 950, 952, 964, 954, 966, and 968 are interconnected using various buses, some of which may be on a common motherboard or otherwise. It may be mounted.

プロセッサ952は、メモリ964に格納された命令を含む、コンピューティングデバイス950内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス950が実行するアプリケーション、およびデバイス950による無線通信の制御といった、デバイス950の他のコンポーネント同士の連携を提供してもよい。   Processor 952 is capable of executing instructions in computing device 950, including instructions stored in memory 964. The processor may be implemented as a chipset of chips including separate analog and digital processors. The processor may provide coordination between other components of the device 950, for example, a user interface, applications executed by the device 950, and control of wireless communication by the device 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は、たとえば、ある実現化例では有線通信を提供し、他の実現化例では無線通信を提供してもよく、複数のインターフェイスも使用されてもよい。   Processor 952 may communicate with a user via a control interface 958 coupled to a display 954 and a display interface 956. Display 954 may be, for example, a thin-film-transistor liquid crystal display (TFT LCD), or an organic light-emitting diode (OLED) display, or other suitable display technology. Display interface 956 may include appropriate circuitry for driving display 954 to present graphical and other information to a user. Control interface 958 may receive commands from the user and convert them for delivery to processor 952. In addition, an external interface 962 may be provided in communication with the processor 952 to allow near-area communication between the device 950 and another device. External interface 962 may provide, for example, wired communication in one implementation and wireless communication in other implementations, and multiple interfaces may also be used.

メモリ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カードを介して提供されてもよい。   Memory 964 stores information in computing device 950. Memory 964 may be implemented as one or more computer-readable media, one or more volatile memory units, or one or more non-volatile memory units. An extension memory 974 is also provided and may be connected to the device 950 via an extension interface 972, which may include, for example, a SIMM (Single In Line Memory Module) card interface. Such expansion memory 974 may provide extra storage space for device 950, or may also store applications or other information for device 950. Specifically, expansion memory 974 may include instructions for performing or supplementing the processes described above, and may also include secure information. Thus, for example, the extension memory 974 may be provided as a security module for the device 950 and may be programmed with instructions permitting secure use of the device 950. In addition, secure applications may be provided via the SIMM card with additional information, such as placing identification information on the SIMM card in a non-hackable manner.

メモリはたとえば、以下に説明されるようなフラッシュメモリおよび/またはNVRAMメモリを含んでいてもよい。一実現化例では、コンピュータプログラム製品が情報担体において有形に具現化される。コンピュータプログラム製品は、実行されると上述のような1つ以上の方法を行なう命令を含む。情報担体は、メモリ964、拡張メモリ974、またはプロセッサ952上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、たとえばトランシーバ968または外部インターフェイス962を通して受信され得る。   The memory may include, for example, flash memory and / or NVRAM memory as described below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods as described above. The information carrier is a computer-readable or machine-readable medium, such as memory 964, expanded memory 974, or memory on processor 952, and may be received, for example, through transceiver 968 or external interface 962.

デバイス950は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス966を介して無線通信してもよい。通信インターフェイス966は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSといった、さまざまなモードまたはプロトコル下での通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ968を介して生じてもよい。加えて、ブルートゥース、Wi−Fi、または他のそのようなトランシーバ(図示せず)などを使用して、短距離通信が生じてもよい。加えて、GPS(Global Positioning System:全地球測位システム)レシーバモジュール970が、追加のナビゲーション関連および位置関連無線データをデバイス950に提供してもよく、当該データは、デバイス950上で実行されるアプリケーションによって適宜使用されてもよい。   Device 950 may communicate wirelessly via communication interface 966, which may optionally include digital signal processing circuitry. Communication interface 966 may communicate under various modes or protocols, such as GSM voice communication, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. May be provided. Such communication may occur, for example, via radio frequency transceiver 968. In addition, short-range communication may occur, such as using Bluetooth, Wi-Fi, or other such transceivers (not shown). In addition, a GPS (Global Positioning System) receiver module 970 may provide additional navigation-related and location-related wireless data to the device 950, where the data is transmitted to an application running on the device 950. May be used as appropriate.

デバイス950はまた、ユーザから口頭情報を受信してそれを使用可能なデジタル情報に変換し得る音声コーデック960を使用して、音声通信してもよい。音声コーデック960はまた、たとえばデバイス950のハンドセットにおいて、スピーカを介するなどして、ユーザに聞こえる音を生成してもよい。そのような音は、音声電話からの音を含んでいてもよく、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでいてもよく、デバイス950上で動作するアプリケーションが生成する音も含んでいてもよい。   Device 950 may also communicate audio using a speech codec 960 that may receive verbal information from the user and convert it into usable digital information. Audio codec 960 may also generate a sound that can be heard by the user, such as through a speaker, for example, in a handset of device 950. Such sounds may include sounds from a voice call, may include recorded sounds (eg, voice messages, music files, etc.), and may be generated by applications running on device 950. May also be included.

コンピューティングデバイス950は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、携帯電話980として実現されてもよい。それはまた、スマートフォン982、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。   Computing device 950 may be implemented in many different forms as shown. For example, it may be implemented as a mobile phone 980. It may also be implemented as part of a smartphone 982, personal digital assistant, or other similar mobile device.

上述の例示的な実施形態のうちのいくつかは、フローチャートとして示されるプロセスまたは方法として説明される。これらのフローチャートは動作を逐次プロセスとして説明しているが、動作の多くは、並列、同時または一斉に行なわれてもよい。加えて、動作の順序は並び替えられてもよい。それらの動作が完了されるとプロセスは終了されてもよいが、図に含まれていない追加のステップも有していてもよい。これらのプロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応していてもよい。   Some of the exemplary embodiments described above are described as processes or methods illustrated as flowcharts. Although these flowcharts describe operations as sequential processes, many of the operations may be performed in parallel, simultaneously, or all at once. In addition, the order of the operations may be rearranged. The process may be terminated when those operations are completed, but may have additional steps not included in the figure. These processes may correspond to methods, functions, procedures, subroutines, subprograms, etc.

そのいくつかがフローチャートによって示されている、上述された方法は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実現されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードにおいて実現される場合、必要なタスクを行なうプログラムコードまたはコードセグメントは、記憶媒体などの機械読取可能媒体またはコンピュータ読取可能媒体に格納されてもよい。プロセッサが必要なタスクを行なってもよい。   The methods described above, some of which are illustrated by flowcharts, may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, program code or code segments that perform the necessary tasks may be stored on machine-readable or computer-readable media, such as storage media. The processor may perform the necessary tasks.

ここに開示された具体的な構造詳細および機能詳細は、例示的な実施形態を説明するための代表的なものに過ぎない。しかしながら、例示的な実施形態は、多くの代替的な形態で具現化され、ここに述べられた実施形態のみに限定されると解釈されるべきでない。   The specific structural and functional details disclosed herein are merely representative for describing example embodiments. However, the exemplary embodiments may be embodied in many alternative forms and should not be construed as limited to only the embodiments set forth herein.

第1、第2などといった用語は、さまざまな要素を説明するためにここに使用され得るが、これらの要素はこれらの用語によって限定されるべきでない、ということが理解されるであろう。これらの用語は、1つの要素を別の要素と区別するために使用されているに過ぎない。たとえば、例示的な実施形態の範囲から逸脱することなく、第1の要素を第2の要素と称してもよく、同様に、第2の要素を第1の要素と称してもよい。ここに使用されるように、「および/または」という用語は、関連付けられる列挙された項目の1つ以上のいずれかおよびすべての組合せを含む。   Terms such as first, second, etc. may be used herein to describe various elements, but it will be understood that these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element without departing from the scope of the exemplary embodiments. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

ある要素が別の要素に接続または結合されると称される場合、ある要素は別の要素に直接接続または結合され得るか、または介在要素が存在し得る、ということが理解されるであろう。対照的に、ある要素が別の要素に直接接続または直接結合されると称される場合、介在要素は存在しない。要素間の関係を説明するために使用される他の文言は、類似の態様(たとえば、「間に」と「間に直接」、「隣接」と「直接隣接」など)で解釈されるべきである。   When one element is referred to as being connected or coupled to another element, it will be understood that one element may be directly connected or coupled to another element or that there may be intervening elements. . In contrast, when one element is referred to as being directly connected to or directly coupled to another element, there are no intervening elements. Other language used to describe relationships between elements should be construed in a similar manner (eg, "between" and "directly between", "adjacent" and "directly adjacent", etc.). is there.

ここに使用される用語は特定の実施形態を説明するためのものに過ぎず、例示的な実施形態の限定であるよう意図されてはいない。ここに使用されるように、単数形は、文脈が別の態様を明らかに示していない限り、複数形も含むよう意図される。「備える(comprises, comprising)」および/または「含む(includes, including)」という用語は、ここに使用される場合、言及された特徴、整数、ステップ、動作、要素および/またはコンポーネントの存在を特定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネントおよび/またはそれらのグループの存在または追加を排除しない、ということがさらに理解されるであろう。   The terms used in the description are intended to describe certain embodiments only, and are not intended to be limiting of the exemplary embodiments. As used herein, the singular is also intended to include the plural unless the context clearly indicates otherwise. The terms "comprises, comprising" and / or "includes, including" as used herein identify the presence of the feature, integer, step, operation, element and / or component mentioned. It will be further understood, however, that this does not preclude the presence or addition of one or more other features, integers, steps, acts, elements, components and / or groups thereof.

また、いくつかの代替的な実現化例では、言及された機能/行為が、図に示された順番とは異なって起きてもよい。たとえば、連続して示される2つの図は実際には、関与する機能性/行為に依存して、同時に実行されてもよく、または、時には逆の順序で実行されてもよい。   Also, in some alternative implementations, the functions / acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may, in fact, be performed simultaneously, or sometimes in the reverse order, depending on the functionality / acts involved.

別の態様で定義されていない限り、ここに使用されるすべての用語(技術用語および科学用語を含む)は、例示的な実施形態が属する技術の当業者によって一般に理解されているのと同じ意味を有する。さらに、たとえば一般に使用されている辞書で定義されているような用語は、関連技術の文脈におけるそれらの意味と一致する意味を有すると解釈されるべきであり、ここに明らかにそう定義されていない限り、理想化されたまたは過度に形式的な意味で解釈されない、ということが理解されるであろう。   Unless defined otherwise, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which the exemplary embodiment belongs. Having. Furthermore, terms such as those defined in commonly used dictionaries should be construed as having meanings consistent with their meanings in the context of the relevant art, and are not explicitly so defined herein. It will be understood that, as long as it is not interpreted in an idealized or overly formal sense.

ソフトウェア、または、コンピュータメモリ内でのデータビットに対する動作のアルゴリズムおよび記号的表現に関して、上述の例示的な実施形態および対応する詳細な説明の部分が提示される。これらの説明および表現は、当業者が自分の研究の内容を他の当業者に効果的に伝えるものである。アルゴリズムとは、その用語がここに使用される場合、および一般的に使用される場合、所望の結果に至るステップの首尾一貫したシーケンスであると考えられる。これらのステップは、物理量の物理的操作を必要とするものである。必ずではないものの、通常は、これらの量は、格納、転送、組合せ、比較、および別の態様での操作が可能である光学信号、電気信号、または磁気信号の形態を取る。これらの信号をビット、値、要素、記号、文字、項、または数字などと称することは、主に一般的な使用の理由により、時に便利であることが証明されている。   With respect to software or algorithms and symbolic representations of operations on data bits within a computer memory, portions of the illustrative embodiments described above and corresponding detailed description are presented. These descriptions and expressions enable those skilled in the art to effectively convey the substance of their work to others skilled in the art. An algorithm, as the term is used herein, and as it is commonly used, is considered to be a consistent sequence of steps leading to a desired result. These steps require physical manipulation of physical quantities. Usually, but not necessarily, these quantities take the form of optical, electrical, or magnetic signals that can be stored, transferred, combined, compared, and otherwise manipulated. Referencing these signals as bits, values, elements, symbols, characters, terms, or numbers, etc., has proven convenient at times, primarily for reasons of common usage.

上述の例示的な実施形態において、プログラムモジュールまたは機能的プロセスとして実現され得る(たとえばフローチャートの形態での)行為および動作の記号的表現への参照は、特定のタスクを行ない、または特定の抽象データタイプを実現するとともに、既存の構造要素で既存のハードウェアを使用して記述および/または実現され得る、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。そのような既存のハードウェアは、1つ以上の中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路、または、フィールドプログラマブルゲートアレイ(FPGA)コンピュータなどを含み得る。   In the above-described exemplary embodiments, references to symbolic representations of acts and acts (eg, in the form of flowcharts) that can be implemented as program modules or functional processes perform particular tasks, or implement particular abstract data Includes routines, programs, objects, components, data structures, etc. that implement the type and can be described and / or implemented with existing hardware using existing hardware. Such existing hardware may include one or more central processing units (CPUs), digital signal processors (DSPs), application specific integrated circuits, or field programmable gate array (FPGA) computers.

しかしながら、これらおよび同様の用語はすべて、適切な物理量に関連付けられるべきであり、これらの量に適用された便利なラベルに過ぎない、ということが念頭に置かれるべきである。特に別記されない限り、あるいは説明から明らかであるように、表示の処理、コンピューティング、計算、または判断といった用語は、コンピュータシステムのレジスタおよびメモリ内で物理的な電子量として表わされるデータを操作し、当該データを、コンピュータシステムメモリ、レジスタ、もしくは他のそのような情報記憶デバイス、送信デバイスまたは表示デバイス内の物理量として同様に表わされる他のデータに変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを指す。   However, it should be kept in mind that all of these and similar terms should be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless otherwise stated, or as will be apparent from the description, terms such as processing, computing, calculating, or determining display manipulate data represented as physical quantities of electrons in registers and memories of computer systems; A computer system or similar electronic computing device that converts the data into computer system memory, registers, or other such information storage devices, transmitting devices or other data that are also represented as physical quantities in a display device. Refers to actions and processes.

また、例示的な実施形態のソフトウェアによって実現される局面は典型的には、何らかの形態の非一時的なプログラム記憶媒体上で符号化されるか、または、何らかのタイプの伝送媒体上で実現される。プログラム記憶媒体は、磁気的(たとえば、フロッピーディスクまたはハードドライブ)であるか、または光学的(たとえば、コンパクトディスク読み取り専用メモリ、すなわちCD ROM)であってもよく、読み取り専用またはランダムアクセスであってもよい。同様に、伝送媒体は、当該技術について公知であるツイストペア線、同軸ケーブル、光ファイバ、または何らかの他の好適な伝送媒体であってもよい。例示的な実施形態は、所与の実現化例のこれらの局面によって限定されない。   Also, aspects implemented by the software of the exemplary embodiments are typically encoded on some form of non-transitory program storage media, or implemented on some type of transmission medium. . The program storage medium may be magnetic (eg, a floppy disk or hard drive) or optical (eg, a compact disk read-only memory, ie, CD ROM), read-only or random-access. Is also good. Similarly, the transmission medium may be a twisted pair wire, coaxial cable, optical fiber, or any other suitable transmission medium known in the art. The illustrative embodiments are not limited by these aspects of a given implementation.

最後に、添付の請求の範囲は、ここに説明された特徴の特定の組合せを述べているが、本開示の範囲は、請求されるその特定の組合せに限定されず、代わりに、その特定の組合せが現時点で添付の請求の範囲において具体的に列挙されているか否かに関わらず、ここに開示された特徴または実施形態の任意の組合せを包含するように広がる。   Finally, while the appended claims set forth certain combinations of the features described herein, the scope of the disclosure is not limited to the specific combinations claimed, but instead includes those specific combinations. Whether or not the combinations are specifically recited in the appended claims at this time, they extend to encompass any combination of the features or embodiments disclosed herein.

Claims (21)

方法であって、
3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化するステップと、
前記3Dビデオの第2の部分を第2の品質で符号化するステップとを含み、前記第1の品質は前記第2の品質と比べてより高い品質であり、
ストリーミングビデオに対する要求を受信するステップをさらに含み、前記要求は、前記3Dビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記方法はさらに、
前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたカウンタをインクリメントするステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記カウンタを1に設定するステップとを含む、方法。
The method
Determining at least one preferred view perspective associated with a three-dimensional (3D) video, wherein the view perspective is a region selected based on at least one reference point viewed by a viewer of the 3D video. Corresponding to
Encoding a first portion of the 3D video corresponding to the at least one preferred view perspective with a first quality;
Encoding a second portion of the 3D video at a second quality, wherein the first quality is higher quality than the second quality;
Further comprising receiving a request for streaming video, wherein the request includes displaying a user view perspective associated with the 3D video, the method further comprising:
Determining whether the user view perspective is stored in a view perspective data store;
Upon determining that the user view perspective is stored in the view perspective data store, incrementing a counter associated with the user view perspective;
Determining that the user view perspective is not stored in the view perspective data store, adding the user view perspective to the view perspective data store, and setting the counter associated with the user view perspective to 1; Including, methods.
3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化するステップと、
前記3Dビデオの第2の部分を第2の品質で符号化するステップとを含み、前記第1の品質は前記第2の品質と比べてより高い品質であり、
前記3Dビデオの前記第2の部分の少なくとも一部を前記第1の品質で繰り返し符号化するステップと、
前記3Dビデオの前記第2の部分の前記少なくとも一部をストリーミングするステップとをさらに含む、方法。
Determining at least one preferred view perspective associated with a three-dimensional (3D) video, wherein the view perspective is a region selected based on at least one reference point viewed by a viewer of the 3D video. Corresponding to
Encoding a first portion of the 3D video corresponding to the at least one preferred view perspective with a first quality;
Encoding a second portion of the 3D video at a second quality, wherein the first quality is higher quality than the second quality;
Repeatedly encoding at least a portion of the second portion of the 3D video with the first quality;
Streaming said at least a portion of said second portion of said 3D video.
過去に視聴されて3次元(3D)ビデオに関連づけられたビューパースペクティブに基づいて、当該3次元(3D)ビデオについての複数の履歴ビューパースペクティブのうちの一つとしてビューパースペクティブを保存するステップを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
前記複数の履歴ビューパースペクティブに関連付けられたランキング値が閾値よりも大きく、前記複数の履歴ビューパースペクティブの残りに対する条件を満たしているか否かを判断するステップと、
前記ランキング値が閾値よりも大きく、前記条件を満たしているとの判断に応答して、前記3Dビデオに関連付けれた少なくとも1つの好ましいビューパースペクティブとして、前記複数の履歴ビューパースペクティブの一つを選択するステップと、
前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化するステップと、
前記3Dビデオの第2の部分を第2の品質で符号化するステップとを含み、前記第1の品質は前記第2の品質と比べてより高い品質である、方法。
Storing the view perspective as one of a plurality of historical view perspectives for the three-dimensional (3D) video based on the previously viewed view perspective associated with the three-dimensional (3D) video; The view perspective corresponds to an area selected based on at least one reference point viewed by a viewer of the 3D video;
Determining whether the ranking value associated with the plurality of history view perspectives is greater than a threshold and satisfies a condition for the rest of the plurality of history view perspectives,
The ranking value is greater than the threshold value, in response to determining that meets the above conditions, as at least one preferred view perspectives associated et a in the 3D video, selecting one of the plurality of history view perspectives Steps to
Encoding a first portion of the 3D video corresponding to the at least one preferred view perspective with a first quality;
Encoding a second portion of the 3D video at a second quality, wherein the first quality is higher quality than the second quality.
前記3Dビデオの前記第1の部分をデータストアに格納するステップと、
前記3Dビデオの前記第2の部分を前記データストアに格納するステップと、
ストリーミングビデオに対する要求を受信するステップと、
前記データストアから前記3Dビデオの前記第1の部分と前記3Dビデオの前記第2の部分とを前記ストリーミングビデオとしてストリーミングするステップとをさらに含む、請求項1〜3のいずれかに記載の方法。
Storing the first portion of the 3D video in a data store;
Storing the second portion of the 3D video in the data store;
Receiving a request for streaming video;
The method of any of claims 1 to 3, further comprising: streaming the first portion of the 3D video and the second portion of the 3D video from the data store as the streaming video.
ストリーミングビデオに対する要求を受信するステップをさらに含み、前記要求は、ユーザビューパースペクティブの表示を含み、前記方法はさらに、
前記ユーザビューパースペクティブに対応する3Dビデオを、前記3Dビデオの符号化された前記第1の部分として選択するステップと、
前記3Dビデオの選択された前記第1の部分と前記3Dビデオの前記第2の部分とを前記ストリーミングビデオとしてストリーミングするステップとを含む、請求項1〜3のいずれかに記載の方法。
Further comprising receiving a request for streaming video, wherein the request comprises displaying a user view perspective, the method further comprising:
Selecting a 3D video corresponding to the user view perspective as the encoded first portion of the 3D video;
4. The method of any of the preceding claims, comprising streaming the selected first portion of the 3D video and the second portion of the 3D video as the streaming video.
ストリーミングビデオに対する要求を受信するステップをさらに含み、前記要求は、前記3Dビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記方法はさらに、
前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたカウンタをインクリメントするステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記カウンタを1に設定するステップとを含む、請求項1〜3のいずれかに記載の方法。
Further comprising receiving a request for streaming video, wherein the request includes displaying a user view perspective associated with the 3D video, the method further comprising:
Determining whether the user view perspective is stored in a view perspective data store;
Upon determining that the user view perspective is stored in the view perspective data store, incrementing a counter associated with the user view perspective;
Determining that the user view perspective is not stored in the view perspective data store, adding the user view perspective to the view perspective data store, and setting the counter associated with the user view perspective to 1; The method according to claim 1, comprising:
前記3Dビデオの前記第2の部分を符号化するステップは、少なくとも1つの第1のQoS(Quality of Service)パラメータを第1のパス符号化動作で使用するステップを含み、
前記3Dビデオの前記第1の部分を符号化するステップは、少なくとも1つの第2のQoS(Quality of Service)パラメータを第2のパス符号化動作で使用するステップを含む、請求項1〜6のいずれか1項に記載の方法。
Encoding the second portion of the 3D video includes using at least one first quality of service (QoS) parameter in a first pass encoding operation;
7. The method of claim 1, wherein encoding the first portion of the 3D video comprises using at least one second Quality of Service (QoS) parameter in a second pass encoding operation. A method according to any one of the preceding claims.
前記3Dビデオに関連付けられた前記少なくとも1つの好ましいビューパースペクティブは、前記3Dビデオの視聴者の配向、前記3Dビデオの視聴者の位置、および前記3Dビデオの視聴者の焦点、のうちの少なくとも1つに基づいている、請求項1〜3のいずれかに記載の方法。   The at least one preferred view perspective associated with the 3D video is at least one of an orientation of a viewer of the 3D video, a location of a viewer of the 3D video, and a focus of a viewer of the 3D video. 4. The method according to claim 1, wherein the method is based on: 前記3Dビデオに関連付けられた前記少なくとも1つの好ましいビューパースペクティブを判断するステップは、デフォルトビューパースペクティブに基づいており、
前記デフォルトビューパースペクティブは、
ディスプレイデバイスのユーザの特性、
前記ディスプレイデバイスの前記ユーザに関連付けられたグループの特性、
ディレクターズカット、および、
前記3Dビデオの特性、のうちの少なくとも1つに基づいている、請求項1〜3のいずれかに記載の方法。
Determining the at least one preferred view perspective associated with the 3D video is based on a default view perspective;
The default view perspective is
Display device user characteristics,
Characteristics of a group associated with the user of the display device;
Director's cut, and
The method according to any of the preceding claims, wherein the method is based on at least one of the characteristics of the 3D video.
ストリーミングサーバであって、
3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するように構成されたコントローラと、
エンコーダとを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
前記エンコーダは、
前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化し、
前記3Dビデオの第2の部分を第2の品質で符号化するように構成され、前記第1の品質は前記第2の品質と比べてより高い品質であり、
前記コントローラはさらに、
ストリーミングビデオに対する要求を受信するように構成され、前記要求は、前記3Dビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記コントローラはさらに、
前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断し、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたカウンタをインクリメントし、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記カウンタを1に設定するように構成される、ストリーミングサーバ。
A streaming server,
A controller configured to determine at least one preferred view perspective associated with the three-dimensional (3D) video;
An encoder, wherein the view perspective corresponds to an area selected based on at least one reference point viewed by a viewer of the 3D video;
The encoder is
Encoding a first portion of the 3D video corresponding to the at least one preferred view perspective with a first quality;
Configured to encode a second portion of the 3D video at a second quality, wherein the first quality is higher quality than the second quality;
The controller further comprises:
The controller is configured to receive a request for streaming video, the request including displaying a user view perspective associated with the 3D video, the controller further comprising:
Determining whether the user view perspective is stored in a view perspective data store,
Upon determining that the user view perspective is stored in the view perspective data store, incrementing a counter associated with the user view perspective,
Upon determining that the user view perspective is not stored in the view perspective data store, adding the user view perspective to the view perspective data store and setting the counter associated with the user view perspective to one. Configured streaming server.
ストリーミングサーバであって、
3次元(3D)ビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するように構成されたコントローラと、
エンコーダとを含み、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
前記エンコーダは、
前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化し、
前記3Dビデオの第2の部分を第2の品質で符号化するように構成され、前記第1の品質は前記第2の品質と比べてより高い品質であり、
前記コントローラはさらに、
前記3Dビデオの前記第2の部分の少なくとも一部を前記第1の品質で繰り返し符号化し、
前記3Dビデオの前記第2の部分の前記少なくとも一部をストリーミングするように構成される、ストリーミングサーバ。
A streaming server,
A controller configured to determine at least one preferred view perspective associated with the three-dimensional (3D) video;
An encoder, wherein the view perspective corresponds to an area selected based on at least one reference point viewed by a viewer of the 3D video;
The encoder is
Encoding a first portion of the 3D video corresponding to the at least one preferred view perspective with a first quality;
Configured to encode a second portion of the 3D video at a second quality, wherein the first quality is higher quality than the second quality;
The controller further comprises:
Iteratively encoding at least a portion of the second portion of the 3D video with the first quality;
A streaming server configured to stream the at least a portion of the second portion of the 3D video.
ストリーミングサーバであって、
過去に視聴されて3次元(3D)ビデオに関連づけられたビューパースペクティブに基づいて、当該3次元(3D)ビデオについての複数の履歴ビューパースペクティブのうちの一つとしてビューパースペクティブを保存するように構成されたメモリを備え、前記複数の履歴ビューパースペクティブは前記3次元(3D)ビデオの複数のユーザに関連付けられており、前記ビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
コントローラを備え、前記コントローラは、
前記複数の履歴ビューパースペクティブに関連付けられたランキング値が閾値よりも大きく、前記複数の履歴ビューパースペクティブの残りに対する条件を満たしているか否かを判断し、
前記ランキング値が閾値よりも大きく、前記条件を満たしているとの判断に応答して、前記3Dビデオに関連付けれた少なくとも1つの好ましいビューパースペクティブとして、前記複数の履歴ビューパースペクティブの一つを選択するように構成されており、
エンコーダを備え、前記エンコーダは、
前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化し、
前記3Dビデオの第2の部分を第2の品質で符号化するように構成されており、前記第1の品質は前記第2の品質と比べてより高い品質である、方法。
A streaming server,
Based on a view perspective previously viewed and associated with the three-dimensional (3D) video, configured to store the view perspective as one of a plurality of historical view perspectives for the three-dimensional (3D) video. Wherein the plurality of historical view perspectives are associated with a plurality of users of the three-dimensional (3D) video, wherein the view perspective includes at least one reference point viewed by a viewer of the 3D video Corresponding to the region selected based on
Comprising a controller, wherein the controller comprises:
The ranking value associated with the plurality of history view perspectives is greater than a threshold, and determines whether or not a condition for the rest of the plurality of history view perspectives is satisfied,
The ranking value is greater than the threshold value, in response to determining that meets the above conditions, as at least one preferred view perspectives associated et a in the 3D video, selecting one of the plurality of history view perspectives Is configured to
Comprising an encoder, wherein the encoder comprises:
Encoding a first portion of the 3D video corresponding to the at least one preferred view perspective with a first quality;
The method, wherein the method is configured to encode a second portion of the 3D video at a second quality, wherein the first quality is higher quality than the second quality.
前記コントローラはさらに、
前記3Dビデオの前記第1の部分をデータストアに格納し、
前記3Dビデオの前記第2の部分を前記データストアに格納し、
ストリーミングビデオに対する要求を受信し、
前記データストアから前記3Dビデオの前記第1の部分と前記3Dビデオの前記第2の部分とを前記ストリーミングビデオとしてストリーミングするように構成される、請求項10〜12のいずれかに記載のストリーミングサーバ。
The controller further comprises:
Storing the first portion of the 3D video in a data store;
Storing the second portion of the 3D video in the data store;
Receiving a request for streaming video,
The streaming server according to any of claims 10 to 12, wherein the streaming server is configured to stream the first part of the 3D video and the second part of the 3D video as the streaming video from the data store. .
前記コントローラはさらに、
ストリーミングビデオに対する要求を受信するように構成され、前記要求は、ユーザビューパースペクティブの表示を含み、前記コントローラはさらに、
前記ユーザビューパースペクティブに対応する3Dビデオを、3Dビデオの符号化された前記第1の部分として選択し、
前記3Dビデオの選択された前記第1の部分と前記3Dビデオの前記第2の部分とを前記ストリーミングビデオとしてストリーミングするように構成される、請求項10〜12のいずれかに記載のストリーミングサーバ。
The controller further comprises:
Configured to receive a request for streaming video, wherein the request includes displaying a user view perspective, the controller further comprising:
Selecting a 3D video corresponding to the user view perspective as the encoded first portion of the 3D video;
The streaming server according to any of claims 10 to 12, wherein the streaming server is configured to stream the selected first part of the 3D video and the second part of the 3D video as the streaming video.
前記3Dビデオの前記第2の部分を符号化することは、少なくとも1つの第1のQoS(Quality of Service)パラメータを第1のパス符号化動作で使用することを含み、
前記3Dビデオの前記第1の部分を符号化することは、少なくとも1つの第2のQoS(Quality of Service)パラメータを第2のパス符号化動作で使用することを含む、請求項10〜12のいずれか1項に記載のストリーミングサーバ。
Encoding the second portion of the 3D video includes using at least one first quality of service (QoS) parameter in a first pass encoding operation;
13. The method of claim 10, wherein encoding the first portion of the 3D video comprises using at least one second Quality of Service (QoS) parameter in a second pass encoding operation. A streaming server according to any one of the preceding claims.
前記3Dビデオに関連付けられた前記少なくとも1つの好ましいビューパースペクティブは、前記3Dビデオの視聴者の配向、前記3Dビデオの視聴者の位置、および前記3Dビデオの視聴者の焦点、のうちの少なくとも1つに基づいている、請求項10〜12のいずれかに記載のストリーミングサーバ。   The at least one preferred view perspective associated with the 3D video is at least one of an orientation of a viewer of the 3D video, a location of a viewer of the 3D video, and a focus of a viewer of the 3D video. The streaming server according to any of claims 10 to 12, which is based on: 前記3Dビデオに関連付けられた前記少なくとも1つの好ましいビューパースペクティブを判断することは、デフォルトビューパースペクティブに基づいており、
前記デフォルトビューパースペクティブは、
ディスプレイデバイスのユーザの特性、
前記ディスプレイデバイスの前記ユーザに関連付けられたグループの特性、
ディレクターズカット、および、
前記3Dビデオの特性、のうちの少なくとも1つに基づいている、請求項10〜12のいずれかに記載のストリーミングサーバ。
Determining the at least one preferred view perspective associated with the 3D video is based on a default view perspective,
The default view perspective is
Display device user characteristics,
Characteristics of a group associated with the user of the display device;
Director's cut, and
The streaming server according to claim 10, wherein the streaming server is based on at least one of the characteristics of the 3D video.
前記コントローラはさらに、
前記3Dビデオの前記第2の部分の少なくとも一部を前記第1の品質で繰り返し符号化することと、
前記3Dビデオの前記第2の部分の前記少なくとも一部をストリーミングすることとを引き起こすように構成される、請求項10または12に記載のストリーミングサーバ。
The controller further comprises:
Iteratively encoding at least a portion of the second portion of the 3D video with the first quality;
The streaming server according to claim 10 or 12, wherein the streaming server is configured to cause the at least a portion of the second portion of the 3D video to be streamed.
方法であって、
ストリーミングビデオに対する要求を受信するステップを含み、前記要求は、3次元(3D)ビデオに関連付けられたユーザビューパースペクティブの表示を含み、前記ユーザビューパースペクティブは、前記3Dビデオの視聴者によって見られた少なくとも1つの基準点に基づいて選択された領域に対応し、
前記方法はさらに、
前記ユーザビューパースペクティブがビューパースペクティブデータストアに格納されているかどうかを判断するステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていると判断すると、前記ユーザビューパースペクティブに関連付けられたランキング値をインクリメントするステップと、
前記ユーザビューパースペクティブが前記ビューパースペクティブデータストアに格納されていないと判断すると、前記ユーザビューパースペクティブを前記ビューパースペクティブデータストアに追加し、前記ユーザビューパースペクティブに関連付けられた前記ランキング値を1に設定するステップとを含む、方法。
The method
Receiving a request for streaming video, wherein the request includes displaying a user view perspective associated with the three-dimensional (3D) video, wherein the user view perspective includes at least Corresponding to the area selected based on one reference point,
The method further comprises:
Determining whether the user view perspective is stored in a view perspective data store;
When determining that the user view perspective is stored in the view perspective data store, incrementing a ranking value associated with the user view perspective,
Determining that the user view perspective is not stored in the view perspective data store, adding the user view perspective to the view perspective data store and setting the ranking value associated with the user view perspective to 1; And a method comprising:
格納された前記ユーザビューパースペクティブに関連付けられた前記ランキング値に基づいて、前記3Dビデオに関連付けられた少なくとも1つの好ましいビューパースペクティブを判断するステップと、
前記少なくとも1つの好ましいビューパースペクティブに対応する前記3Dビデオの第1の部分を第1の品質で符号化するステップと、
前記3Dビデオの第2の部分を第2の品質で符号化するステップとをさらに含み、前記第1の品質は前記第2の品質と比べてより高い品質である、請求項19に記載の方法。
Determining at least one preferred view perspective associated with the 3D video based on the ranking value associated with the stored user view perspective;
Encoding a first portion of the 3D video corresponding to the at least one preferred view perspective with a first quality;
Encoding the second portion of the 3D video at a second quality, wherein the first quality is a higher quality compared to the second quality. .
コンピュータによって実行されるプログラムであって、
前記プログラムは、前記コンピュータに、請求項1〜9、19および20のいずれか1項に記載の方法を実行させる、プログラム。
A program executed by a computer,
The program causing the computer to execute the method according to any one of claims 1 to 9, 19, and 20.
JP2017550903A 2015-05-27 2016-05-27 Method and apparatus for reducing spherical video bandwidth to a user headset Active JP6672327B2 (en)

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 (en) 2018-08-09
JP6672327B2 true JP6672327B2 (en) 2020-03-25

Family

ID=56137532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017550903A Active JP6672327B2 (en) 2015-05-27 2016-05-27 Method and apparatus for reducing spherical video bandwidth to a user headset

Country Status (5)

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

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) Method and apparatus for improved encoding of immersive video
CN109996069B (en) 2018-01-03 2021-12-10 华为技术有限公司 Video image coding and decoding method and device
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 (en) * 2018-08-28 2018-12-25 恒信东方文化股份有限公司 A kind of object of focus choosing method based on VR image procossing
WO2021097803A1 (en) * 2019-11-22 2021-05-27 北京小米移动软件有限公司 Resource switching method and apparatus and storage medium
WO2023090961A1 (en) * 2021-11-22 2023-05-25 주식회사 컬러버스 System and method for providing plurality of pieces of three-dimensional content by using web browser

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3579526B2 (en) * 1995-10-31 2004-10-20 エヌ・ティ・ティ・コミュニケーションズ株式会社 Method and system for processing access to storage device
JP2004072694A (en) * 2002-08-09 2004-03-04 Sony Corp Information providing system and method, information providing apparatus and method, recording medium, and program
CN101453639B (en) * 2007-11-29 2012-05-30 展讯通信(上海)有限公司 Encoding, decoding method and system for supporting multi-path video stream of ROI region
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 (en) * 2013-02-15 2014-08-28 Nippon Telegr & Teleph Corp <Ntt> Cache device, content distribution system, and content distribution method
JP6548203B2 (en) * 2013-03-18 2019-07-24 任天堂株式会社 Information processing program, information processing apparatus, information processing system, and panoramic video display method
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
EP3304895A1 (en) 2018-04-11
KR20170122791A (en) 2017-11-06
WO2016191702A1 (en) 2016-12-01
CN107409203A (en) 2017-11-28
JP2018522430A (en) 2018-08-09
KR101969943B1 (en) 2019-08-13

Similar Documents

Publication Publication Date Title
JP6672327B2 (en) Method and apparatus for reducing spherical video bandwidth to a user headset
US20160353146A1 (en) Method and apparatus to reduce spherical video bandwidth to user headset
US10379601B2 (en) Playing spherical video on a limited bandwidth connection
JP6501904B2 (en) Spherical video streaming
US9917877B2 (en) Streaming the visible parts of a spherical video
EP3782368A1 (en) Processing video patches for three-dimensional content
US20210314670A1 (en) Content based stream splitting of video data
US9918094B2 (en) Compressing and representing multi-view video
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
US12095967B2 (en) Bitstream structure for immersive teleconferencing and telepresence for remote terminals
JP7516513B2 (en) Bitstream structure with fallback bitstreams for viewport-based streaming

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