JP2020516133A - 仮想現実アプリケーションに対して最も関心のある領域に関連付けられた情報をシグナリングするためのシステム及び方法 - Google Patents

仮想現実アプリケーションに対して最も関心のある領域に関連付けられた情報をシグナリングするためのシステム及び方法 Download PDF

Info

Publication number
JP2020516133A
JP2020516133A JP2019552312A JP2019552312A JP2020516133A JP 2020516133 A JP2020516133 A JP 2020516133A JP 2019552312 A JP2019552312 A JP 2019552312A JP 2019552312 A JP2019552312 A JP 2019552312A JP 2020516133 A JP2020516133 A JP 2020516133A
Authority
JP
Japan
Prior art keywords
range
region
center
ver
hor
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.)
Pending
Application number
JP2019552312A
Other languages
English (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Publication of JP2020516133A publication Critical patent/JP2020516133A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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
    • H04N21/234345Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

デバイスは、本明細書に記載された技術のうちの1つ以上に従って、全方向性動画像の最も関心のある領域に関連付けられた情報をシグナリングするように構成され得る(段落[0070]の「region_on_frame_flag」を参照)。

Description

本開示は、対話型動画像配信に関し、より具体的には、動画像の最も関心のある領域に関連付けられた情報をシグナリングするための技術に関する。
デジタルメディア再生機能は、いわゆる「スマート」テレビを含むデジタルテレビ、セットトップボックス、ラップトップ又はデスクトップコンピュータ、タブレット型コンピュータ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲーミングデバイス、いわゆる「スマート」フォンを含むセルラー電話、専用ビデオストリーミングデバイスなどを含む、広範囲のデバイス中に組み込まれ得る。デジタルメディアコンテンツ(例えば、動画像及び音声プログラム)は、例えば、無線テレビプロバイダ、衛星テレビプロバイダ、ケーブルテレビプロバイダ、いわゆるストリーミングサービスプロバイダを含むオンラインメディアサービスプロバイダなどの複数のソースから発信され得る。デジタルメディアコンテンツは、インターネットプロトコル(Internet Protocol、IP)ネットワークなどの双方向ネットワーク及びデジタル放送ネットワークなどの単方向ネットワークを含むパケット交換ネットワークで送達されてもよい。
デジタルメディアコンテンツに含まれるデジタル動画像は、動画像符号化規格に従って符号化することができる。動画像符号化規格は、動画像圧縮技術を組み込むことができる。動画像符号化規格の例としては、ISO/IEC MPEG−4 Visual及びITU−T H.264(ISO/IEC MPEG−4 AVCとしても公知である)並びにHigh−Efficiency Video Coding(HEVC)が挙げられる。動画像圧縮技術は、動画像データを記憶し送信するためのデータ要件を低減することを可能にする。動画像圧縮技術は、動画像系列における固有の冗長性を利用することにより、データ要件を低減することができる。動画像圧縮技術は、動画像系列を連続的により小さな部分(すなわち、動画像系列内のフレームの群、フレームの群内のフレーム、フレーム内のスライス、スライス内の符号化木ユニット(例えば、マクロブロック)、符号化木ユニット内の符号化ブロックなど)に再分割することができる。予測符号化技術を使用して、符号化される動画像データのユニットと動画像データの参照ユニットとの間の差分値を生成することができる。差分値は、残差データと呼ばれることがある。残差データは、量子化された変換係数として符号化することができる。シンタックス要素は、残差データと参照符号化ユニットとを関連付けることができる。残差データ及びシンタックス要素は、準拠ビットストリームに含めることができる。準拠ビットストリーム及び関連メタデータは、データ構造に従ったフォーマットを有してもよい。準拠ビットストリーム及び関連メタデータは、送信規格に従って、ソースから受信デバイス(例えば、デジタルテレビ又はスマートフォン)に送信されてもよい。伝送規格の例としては、デジタルビデオブロードキャスティング(Digital Video Broadcasting、DVB)規格、統合デジタル放送サービス規格(Integrated Services Digital Broadcasting、ISDB)規格、及び例えば、ATSC2.0規格を含む、高度テレビジョンシステムズ委員会(Advanced Television Systems Committee、ATSC)によって作成された規格が挙げられる。ATSCは、現在、いわゆるATSC3.0の一連の規格を開発している。
一実施例では、全方向動画像の最も関心のある領域に関連付けられた情報をシグナリングする方法は、領域の位置及びサイズがパックフレーム上又はプロジェクトフレーム上のどちらに示されるかを示すシンタックス要素をシグナリングすることを含む。
本開示の1つ以上の技術に係る、符号化された動画像データを送信するように構成され得るシステムの一例を示すブロック図である。 本開示の1つ以上の技術に係る、符号化された動画像データ及び対応するデータ構造を示す概念図である。 本開示の1つ以上の技術に係る、符号化された動画像データ及び対応するデータ構造を示す概念図である。 本開示の1つ以上の技術に係る、符号化された動画像データ及び対応するデータ構造を示す概念図である。 本開示の1つ以上の技術に係る、符号化された動画像データを配信するように構成され得るシステムの実装形態に含めることができる構成要素の一例を示す概念図である。 本開示の1つ以上の技術を実施できる受信デバイスの一例を示すブロック図である。 本開示の1つ以上の技術に係る、球面上の領域の例を示す概念図である。 本開示の1つ以上の技術に係る、球面上の領域の例を示す概念図である。
概して、本開示は、動画像データを符号化する様々な技術を説明する。具体的には、本開示は、全方向動画像の最も関心のある領域に関連付けられた情報をシグナリングするための技術を記載する。本明細書に記載される技術による情報のシグナリングは、送信帯域幅を低減させること及び/又は符号化の複雑性を低減させることによって、動画像配信システム性能を改善するのに特に有用であり得る。本開示の技術は、ITU−T H.264及びITU−T H.265に関して記載されているが、本開示の技術は、動画像符号化に一般に適用可能であることに留意されたい。例えば、本明細書で説明する符号化技術は、ITU−T H.265に含まれるもの以外のブロック構造、イントラ予測技術、インター予測技術、変換技術、フィルタリング技術、及び/又はエントロピ符号化技術を含む動画像符号化システム(将来の動画像符号化規格に基づく動画像符号化システムを含む)に組み込むことができる。従って、ITU−T H.264及びITU−T H.265への参照は、説明のためのものであり、本明細書で説明する技術の範囲を限定するように解釈すべきではない。更に、本明細書での文書の参照による組み込みは、本明細書で使用される用語に関して限定する又は曖昧さを生むように解釈されるべきではないことに留意されたい。例えば、組み込まれた参照が、別の組み込まれた参照とは、及び/又はその用語が本明細書で使用されるのとは異なる用語の定義を提供する場合では、その用語は、それぞれの対応する定義を幅広く含むように、及び/又は代わりに特定の定義のそれぞれを含むように解釈されるべきである。
一実施例では、デバイスは、領域の位置及びサイズがパックフレーム上又はプロジェクトフレーム上のどちらに示されているかを示すシンタックス要素をシグナリングするように構成されている1つ以上のプロセッサを備える。
一実施例では、非一時的コンピュータ可読記憶媒体は、その媒体上に記憶された命令であって、実行されると、デバイスの1つ以上のプロセッサに、領域の位置及びサイズがパックフレーム上又はプロジェクトフレーム上のどちらに示されるかを示すシンタックス要素をシグナリングさせる、命令を含む。
一実施例では、装置は、領域の位置及びサイズがパックフレーム上又はプロジェクトフレーム上のどちらに示されているかを示すシンタックス要素をシグナリングするための手段を備える。
1つ以上の実施例の詳細は、添付の図面及び以下の明細書に記述されている。他の特徴、目的、及び利点は、明細書及び図面から、並びに特許請求の範囲から明白であろう。
動画像コンテンツは、典型的には、一連のフレームからなる動画像シーケンスを含む。一連のフレームはまた、ピクチャ群(group of pictures、GOP)と呼ばれることがある。各動画像フレーム又はピクチャは1つ以上のスライスを含むことができ、スライスは複数の動画像ブロックを含む。動画像ブロックは、予測的に符号化され得る画素値(サンプルとも呼ばれる)の最大アレイとして定義することができる。動画像ブロックは、走査パターン(例えば、ラスター走査)に従って順序付けすることができる。動画像符号化装置は、動画像ブロック及びその再分割に対して予測符号化を実行する。ITU−T H.264は、16×16のルマ(luma)サンプルを含むマクロブロックを規定する。ITU−T H.265は、類似の符号化ツリーユニット(Coding Tree Unit、CTU)構造を規定するが、ピクチャは、等しいサイズのCTUに分割することができ、各CTUは、16×16、32×32、又は64×64のルマサンプルを有する符号化ツリーブロック(Coding Tree Block、CTB)を含むことができる。本明細書で使用されるとき、動画像ブロックという用語は、一般に、ピクチャの領域を指すことがあり、又はより具体的には、予測的に符号化できる画素値の最大アレイ、その再分割、及び/又は対応する構造を指すことがある。更に、ITU−T H.265によれば、各動画像フレーム又はピクチャは、1つ以上のタイルを含むように区画化されてもよく、タイルは、ピクチャの矩形領域に対応する符号化ツリーユニットのシーケンスである。
ITU−T H.265では、CTUのCTBは、対応する四分木ブロック構造に従って符号化ブロック(CB)に区画化することができる。ITU−T H.265によれば、1つのルマCBは、2つの対応するクロマCB及び関連するシンタックス要素と共に、符号化ユニット(CU)と呼ばれる。CUは、CUに対する1つ以上の予測部(prediction unit、PU)を定義する予測部(PU)構造に関連し、PUは、対応する参照サンプルに関連する。すなわち、ITU−T H.265では、イントラ予測又はインター予測を使用してピクチャ領域を符号化する決定がCUレベルで行われ、CUに関し、イントラ予測又はインター予測に対応する1つ以上の予測を使用して、CUのCBに対する参照サンプルを生成することができる。ITU−T H.265では、PUは、ルマ及びクロマ予測ブロック(prediction block、PB)を含むことができ、正方形PBはイントラ予測に対してサポートされ、矩形PBはインター予測に対してサポートされる。イントラ予測データ(例えば、イントラ予測モードシンタックス要素)又はインター予測データ(例えば、動きデータシンタックス要素)は、PUを対応する参照サンプルに関連させることができる。残差データは、動画像データの各成分(例えば、ルマ(Y)及びクロマ(Cb及びCr))に対応する差分値のそれぞれのアレイを含むことができる。残差データは、画素領域内とすることができる。離散コサイン変換(discrete cosine transform、DCT)、離散サイン変換(discrete sine transform、DST)、整数変換、ウェーブレット変換、又は概念的に類似の変換などの変換を、画素差分値に適用して、変換係数を生成することができる。ITU−T H.265では、CUは、更に変換ユニット(Transform Unit、TU)に再分割できることに留意されたい。すなわち、画素差分値のアレイは、変換係数を生成するために再分割することができ(例えば、4つの8×8変換を、16×16のルマCBに対応する残差値の16×16のアレイに適用することができる)、そのような再分割は、変換ブロック(Transform Block、TB)と呼ばれることがある。変換係数は、量子化パラメータ(quantization parameter、QP)に従って量子化され得る。量子化された変換係数(これはレベル値と呼ばれることがある)は、エントロピ符号化技術(例えば、コンテンツ適応可変長符号化(content adaptive variable length coding、CAVLC)、コンテキスト適応2値算術符号化(context adaptive binary arithmetic coding、CABAC)、確率区間分割エントロピ符号化(probability interval partitioning entropy coding、PIPE)など)に従ってエントロピ符号化することができる。更に、予測モードを示すシンタックス要素などのシンタックス要素も、エントロピ符号化することができる。エントロピ符号化され量子化された変換係数及び対応するエントロピ符号化されたシンタックス要素は、動画像データを再生成するために使用することができる準拠ビットストリームを形成することができる。二値化プロセスを、エントロピ符号化プロセスの一部としてシンタックス要素に対して実行することができる。二値化は、シンタックス値を一連の1つ以上のビットに変換するプロセスを指す。これらのビットは、「ビン」と呼ばれることがある。
仮想現実(VR)アプリケーションは、ヘッドマウントディスプレイを用いてレンダリングされ得る動画像コンテンツを含んでもよくユーザの頭部の方位に対応する球面動画像の領域のみがレンダリングされる。VRアプリケーションは、360度球面動画像又は360度動画像とも呼ばれる、全方向動画像によって可能とされ得る。全方向動画像は、典型的には、最大360度のシーンをカバーする複数のカメラによってキャプチャされる。通常の動画像と比較して全方向動画像の別個の特徴は、典型的には、キャプチャされた動画像領域全体のサブセットのみが表示されること、すなわち、現在のユーザの視野(FOV)に対応する領域が表示されることである。FOVはまた、時に、ビューポートとも呼ばれる。他の場合では、ビューポートは、現在表示され、ユーザによって見られている球面動画像の一部であってもよい。ビューポートのサイズは、視野以下でもよいことに留意されたい。更に、全方向動画像は、モノスコープカメラ又はステレオスコープカメラを使用してキャプチャされ得ることに留意されたい。モノスコープカメラは、オブジェクトの単一視野をキャプチャするカメラを含んでもよい。ステレオスコープカメラは、同じオブジェクトの複数のビューをキャプチャするカメラを含んでもよい(例えば、わずかに異なる角度で2つのレンズを使用してビューをキャプチャする)。更に、場合によっては、全方向動画像アプリケーションで使用するための画像は、超広角レンズ(すなわち、いわゆる魚眼レンズ)を使用してキャプチャされ得ることに留意されたい。いずれの場合も、360度の球面動画像を作成するためのプロセスは、一般に、入力画像をつなぎ合わせ、つなぎ合わされた入力画像を3次元構造(例えば、球体又は立方体)上にプロジェクションして、いわゆるプロジェクトフレームをもたらし得ることとして説明することができる。更に、場合によっては、プロジェクトフレームの領域は、変換され、リサイズされ、及び再配置されてもよく、これによっていわゆるパックフレームをもたらし得る。
全方向動画像ピクチャにおける最も関心のある領域は、その写真の提示時に(すなわち、FOVにある可能性が最も高い)ユーザにレンダリングされる可能性が統計的に最も高い、動画像領域全体のサブセットを指し得る。全方向動画像の最も関心のある領域は、ディレクタ若しくはプロデューサの意図によって決定されてもよく、又はサービス若しくはコンテンツプロバイダによるユーザ統計から(例えば、全方向動画像コンテンツがストリーミングサービスを通じて提供されたときに、最も多数のユーザによってリクエストされた/見られた領域の統計を通じて)導出されてもよいことに留意されたい。最も関心のある領域は、エッジサーバ若しくはクライアントによる全方向動画像適応ストリーミングにおけるデータプリフェッチ、及び/又は全方向動画像が、例えば、異なるコーデック又はプロジェクションマッピングにトランスコードされるときのトランスコーディング最適化のために使用することができる。従って、全方向動画像ピクチャにおける最も関心のある領域をシグナリングすることは、送信帯域幅を低減させ、かつ、復号複雑性を低減させることによって、システム性能を改善することができる。最も関心のある領域は、場合によっては、最も興味深い領域、又は関心領域と呼ばれ得ることに留意されたい。
Choiら、ISO/IEC JTC1/SC29/WG11 N16636、「MPEG−A Part 20(WD on ISO/IEC 23000−20):Omnidirectional Media Application Format」、2017年1月、ジュネーブ、スイスは、参照により本明細書に組み入れられ、本明細書ではChoiと呼ばれ、全方向メディアアプリケーションを可能にするメディアアプリケーションフォーマットを定義する。Choiは、球面又は360度動画像を2次元矩形動画像に変換するために使用することができるプロジェクション技術のリストを指定し、国際標準化機構(ISO)ベースメディアファイルフォーマット(ISOBMFF)を使用して全方向メディア及び関連メタデータを記憶する方法を指定し、ハイパーテキスト転送プロトコル(HTTP)上の動的適応ストリーミング(dynamic adaptive streaming over Hypertext Transfer Protocol、DASH)を使用して全方向メディアをカプセル化、シグナリング、及びストリーミングする方法を指定し、どの動画像及び音声符号化規格並びにメディア符号化構成が全方向メディア信号の圧縮及び再生のために使用され得るかを指定する。
上述のように、ITU−T H.265によれば、各動画像フレーム又はピクチャは、1つ以上のスライスを含むように区画化されてもよく、1つ以上のタイルを含むように更に区画化されてもよい。図2A〜図2Bは、スライスを含み、ピクチャを更にタイルに区画化するピクチャ群の一例を示す概念図である。図2Aに示す例では、Picは、2つのスライス(すなわち、Slice及びSlice)を含むものとして示されており、各スライスは(例えばラスタ走査順に)CTUのシーケンスを含む。図2Bに示す例では、Pic4は、6つのタイル(すなわち、Tile〜Tile)を含むものとして示されており、各タイルは矩形でありCTUのシーケンスを含む。ITU−T H.265では、タイルは、2つ以上のスライスが包含する符号化ツリーユニットからなっていてもよく、スライスは、2つ以上のタイルが包含する符号化ツリーユニットからなっていてもよいことに留意されたい。しかしながら、ITU−T H.265は、以下の条件のうちの1つ又は両方が満たされなければならないと規定している。(1)あるスライス中の全ての符号化ツリーユニットは同じタイルに属する、及び(2)あるタイル内の全ての符号化ツリーユニットは同じスライスに属する。このように、図2Bに関して、各タイルがそれぞれのスライスに属してもよく(例えば、Tile〜Tileは、それぞれ、スライス、Slice〜Sliceに属してもよい)、又は複数のタイルが1つのスライスに属してもよい(例えば、Tile〜TileがSliceに属してもよく、Tile〜TileがSliceに属してもよい)。
更に、図2Bに示すように、タイルはタイルセットを形成してもよい(すなわち、Tile及びTileはタイルセットを形成する)。タイルセットは、依存性を符号化するための境界(例えば、イントラ予測依存性、エントロピ符号化依存性など)を定義するために使用されてもよく、そのため、符号化及び関心領域符号化における並列処理を可能にすることができる。例えば、図2Bに示す例の動画像シーケンスが夜のニュース番組に対応する場合、Tile及びTileによって形成されたタイルセットは、ニュースを読んでいるニュースアンカーを含む視覚的関心領域に対応してもよい。ITU−T H.265は、動き制約タイルセット(MCTS)を有効にするシグナリングを定義する。動き制約タイルセットは、ピクチャ間予測依存性が参照ピクチャ内のコロケーションされたタイルセットに限定されるタイルセットを含んでもよい。この結果、所与のMCTSに対する動き補償を、MCTSの外側にある他のタイルセットの復号とは無関係に実行することが可能である。例えば、図2Bを参照すると、Tile及びTileによって形成されるタイルセットがMCTSであり、かつ、Pic〜Picのそれぞれがコロケーションされたタイルセットを含む場合、Tile及びTile上における動き補償は、PicのTile、Tile、Tile及びTile、並びに、Pic〜PicのそれぞれにおけるタイルTile、Tile、Tile及びTileとコロケーションされたタイルの符号化とは無関係に実行されてもよい。MCTSに従って動画像データを符号化することは、全方向動画像プレゼンテーションを含む動画像アプリケーションに有用であり得る。
図3に示すように、タイル(すなわち、Tile〜Tile)は、全方向動画像の最も関心のある領域を形成することができる。更に、Tile及びTileによって形成されるタイルセットは、最も関心のある領域内に含まれるMCTSであってもよい。ビューポート依存動画像符号化は、ビューポート依存部分動画像符号化とも呼ばれることもあり、動画像領域全体の一部のみの符号化を可能にするために使用することができる。すなわち、例えば、ビューポート依存動画像符号化を使用して、現在のFOVをレンダリングするために十分な情報を提供することができる。例えば、全方向動画像は、ビューポートをカバーする可能性のある各領域が経時的に他の領域から独立して符号化され得るように、MCTSを使用して符号化することができる。この場合、例えば、特定の現在のビューポートに対して、ビューポートをカバーするタイルの最小セットがクライアントに送信され、復号され、及び/又はレンダリングされてもよい。このプロセスは、単純タイルベース部分復号(STPD)と呼ばれることがある。
上述のように、Choiは、球面又は360度動画像を2次元矩形動画像に変換するために使用できるプロジェクション技術のリストを指定する。Choiは、プロジェクトフレームが、360度動画像プロジェクションインジケータによる表現フォーマットを有するフレームである場所と、プロジェクションが、一連の入力イメージがプロジェクトフレーム上にプロジェクションされるプロセスである場所とを指定する。更に、Choiは、キャプチャされた画像/動画像コンテンツがプロジェクションされ、それぞれのプロジェクトフレームが形成され得る、1つ以上の表面を含む3次元構造を、プロジェクション構造が含む場所を指定する。最後に、Choiは、領域ごとのパッキングが、プロジェクトフレームの領域ごとの変換、リサイズ、及び再配置を含む場所、及びパックフレームが、プロジェクトフレームの領域ごとのパッキングから生じるフレームである場所を提供する。従って、Choiでは、360度の球面動画像を作成するためのプロセスは、画像のつなぎ合わせ、プロジェクション、及び領域ごとのパッキングを含むものとして説明することができる。Choiは、正距円筒図法、矩形領域ごとのパッキングフォーマット、及び全方向魚眼レンズ動画像フォーマットを含む、座標系、全方向プロジェクションフォーマットを指定するが、簡潔にするために、Choiのこれらのセクションの全ての完全な説明は本明細書において提供されないことに留意されたい。しかしながら、Choiの関連するセクションを参照する。
Choiでは、領域ごとのパッキングが適用されない場合、パックフレームはプロジェクトフレームと同一であることに留意されたい。そうでなければ、プロジェクトフレームの領域は、パックフレーム内の各領域の位置、形状、及びサイズを示すことによって、パックフレーム上にマッピングされる。更に、Choiでは、ステレオスコープ360度動画像の場合、1つの時間インスタンスの入力画像は、それぞれの目に対して1つずつつなぎ合わされて、2つのビューを表すプロジェクトフレームを生成する。両方のビューは、同じパックフレーム上にマッピングすることができ、従来の二次元動画像符号化装置によって符号化することができる。あるいは、Choiは、プロジェクトフレームの各ビューをそれ自身のパックフレームにマッピングすることができ、その際の、画像のつなぎ合わせ、プロジェクション、及び領域ごとのパッキングは、上述のモノスコープの場合と同様である。更に、Choiでは、左ビュー若しくは右ビューのいずれかの一連のパックフレームを独立して符号化することができ、又はマルチビュー動画像符号化装置を使用する場合は、他のビューから予測することができる。最後に、Choiでは、同じコンテンツの異なるバージョンを作成するために、画像のつなぎ合わせ、プロジェクション、及び領域ごとのパッキングプロセスを、同じソース画像に対して複数回実行することができ、例えば、プロジェクション構造の異なる方位に対して、及び同様に、同じプロジェクトフレームから領域ごとのパッキングプロセスを複数回実行して、符号化される複数の一連のパックフレームを作成することができる、ことに留意されたい。
Choiは、以下の種類のメタデータを一般にサポートするファイルフォーマットを指定する。(1)プロジェクトフレームのプロジェクションフォーマットを指定するメタデータ、(2)プロジェクトフレームによってカバーされる球面の面積を指定するメタデータ、(3)グローバル座標系におけるプロジェクトフレームに対応するプロジェクション構造の方位を指定するメタデータ、(4)領域ごとのパッキング情報を指定するメタデータ、及び(5)オプションの領域ごとの品質ランキングを指定するメタデータ。
本明細書で使用される式に関して、以下の算術演算子が使用され得ることに留意されたい。
+ 加算
− 減算(2つの引数演算子として)又はネゲーション(単項プレフィックス演算子として)
* 行列乗算を含む乗算
べき乗。具体的には、xのy乗。他のコンテキストでは、そのような表記は、べき乗としての解釈を意図していないスーパースクリプトに使用される。
/ゼロへの結果切り捨てを伴う整数除算。例えば、7/4及び−7/−4は、1に切り捨てられ、−7/4及び7/−4は、−1に切り捨てられる。
÷切り捨て又は四捨五入が意図されていない式において除算を表すために使用される。
Figure 2020516133

切り捨て又は四捨五入が意図されていない式において除算を表すために使用される。
本明細書で使用される式に関して、以下の論理演算子が使用され得ることに留意されたい:
x && y xとyとのブール論理「積」
x ││ y xとyとのブール論理「和」
!ブール論理「否」
x?y:z xが真であるか又は0に等しくない場合はyの値を評価し、そうでない場合はzの値を評価する。
本明細書で使用される式に関して、以下の関係演算子が使用され得ることに留意されたい。
> 大なり
>= 大なり又は等しい
< 小なり
<= 小なり又は等しい
== 等しい
!= 等しくない
全方向プロジェクションフォーマットに関して、Choiは、正距円筒図法プロジェクションに対して以下を提供する。
位置(i,j)におけるプロジェクトフレームのサンプルは、この項目で指定されるように角座標(φ、θ)に対応する。角座標(φ、θ)は、座標系において、ヨー角及びピッチ角にそれぞれ対応する(ここで、ヨーはY(縦、上)軸の周りを回転し、X(横、左右)軸の周りをピッチし、Z(前後)軸の周りをロールする)。回転は外部、すなわち、X、Y、及びZ固定基準軸の周りで行われる。角度は、原点に向かって見たときに反時計回りに増加する。ヨーの範囲が−180度(端値を含む)〜180度(端値を含まない)の範囲にあり、ピッチの範囲が−90度(端値を含む)〜90度(端値を含まない)の範囲にあり、ロールの範囲が−180度(端値を含む)〜180度(端値を含まない)にある。
RegionWisePackingBoxが存在しない場合、proj_frame_width及びproj_frame_heightは、VisualSampleEntryの幅及び高さに等しいと推測される。
CoverageInformationBoxが存在しない場合、hor_rangeは36000に等しいと推測され、ver_rangeは18000に等しいと推測される。
変数yawMin、yawMax、pitchMin、及びpitchMax、以下のように導出される。
注記:変数yawMin、yawMax、pitchMin、及びpitchMaxの値の範囲は、上記で指定されたヨー角及びピッチ角の値の範囲に限定されない。
yawMin=(center_yaw−hor_range÷2)0.01π÷180
yawMax=(center_yaw+hor_range÷2)0.01π÷180
pitchMin=(center_pitch−ver_range÷2)0.01π÷180
pitchMax=(center_pitch+ver_range÷2)0.01π÷180
iが、両端値を含む0〜proj_frame_width−1に等しく、jが、両端値を含む0〜proj_frame_height−1に等しい場合、ルマサンプル位置に対応する角座標(φ、θ)は、ラジアンで、以下の正距円筒図法マッピング式によって与えられる。
クロマフォーマット及び使用時のクロマ位置タイプLocTypeに対する、CenterLeftOffsetC、CenterTopOffsetC、FrameWidthC、及びFrameHeightCの値が、表1に指定されている。
Figure 2020516133

iが、両端値を含む0〜FrameWidthC−1に等しく、jが、両端値を含む0〜FrameHeightC−1に等しい場合、クロマサンプル位置に対応する角座標(φ、θ)は、ラジアンで、以下の正距円筒図法マッピング式によって与えられる。
φ=(i+CenterLeftOffsetC)(yawMax−yawMin)÷FrameWidthC+yawMin
θ=(j+CenterTopOffsetC)(pitchMin−pitchMax)÷FrameHeightC−pitchMin
Choiにおいて提供される正距円筒図法プロジェクションは、理想的ではないことがあることに留意されたい。
領域ごとのパッキングに関して、Choiは、矩形領域ごとのパッキングに対し、以下の定義、シンタックス、及びセマンティクスを提供する。
定義
RectRegionPacking(i)は、プロジェクトフレームのソース矩形領域が、パックフレームの目的矩形領域上にどのようにパッキングされるかを指定する。90度、180度、又は270度だけの水平方向ミラーリング及び回転を示すことができ、垂直及び水平方向の再サンプリングは、領域の幅及び高さから推測される。
シンタックス
aligned(8)class RectRegionPacking(i){
unsigned int(32)proj_reg_width[i];
unsigned int(32)proj_reg_height[i];
unsigned int(32)proj_reg_top[i];
unsigned int(32)proj_reg_left[i];
unsigned int(8)transform_type[i];
unsigned int(32)packed_reg_width[i];
unsigned int(32)packed_reg_height[i];
unsigned int(32)packed_reg_top[i];
unsigned int(32)packed_reg_left[i];

セマンティクス
proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]及びproj_reg_left[i]は、それぞれ、proj_frame_width及びproj_frame_heightに等しい幅及び高さを有するプロジェクトフレームにおいてピクセル単位で示される。
proj_reg_width[i]は、プロジェクトフレームのi番目の領域の幅を指定する。
proj_reg_width[i]は、0より大きいものとする。
proj_reg_height[i]は、プロジェクトフレームのi番目の領域の高さを指定する。
proj_reg_height[i]は、0より大きいものとする。
proj_reg_top[i]及びproj_reg_left[i]は、プロジェクトフレーム内の最上部のサンプル行、及び左端のサンプル列を指定する。値はそれぞれ、プロジェクトフレームの左上隅を示す、端値を含む0から、端値を含まないproj_frame_height及びproj_frame_widthまでの範囲にあるものとする。
proj_reg_width[i]及びproj_reg_left[i]は、proj_reg_width[i]+proj_reg_left[i]がproj_frame_widthより小さくなるように制約されるものとする。
proj_reg_height[i]及びproj_reg_top[i]は、proj_reg_height[i]+proj_reg_top[i]がproj_frame_heightより小さくなるように制約されるものとする。
プロジェクトフレームがステレオスコープである場合、proj_reg_width[i]、proj_reg_height[i]、proj_reg_top[i]、及びproj_reg_left[i]は、プロジェクトフレーム上のこれらのフィールドによって識別される領域が、プロジェクトフレームの単一構成フレーム内にあるようにするものとする。
transform_type[i]は、プロジェクトフレームのi番目の領域に適用されている回転及びミラーリングを指定して、パックフレームにマッピングする。transform_type[i]が回転とミラーリングの両方を指定している場合、回転はミラーリング後に適用される。以下の値が指定され、他の値が予備とされる。
1:変換なし
2:水平ミラーリング
3:180度(反時計回り)回転
4:水平にミラーリングした後、180度(反時計回り)回転
5:水平にミラーリングした後、90度(反時計回り)回転
6:90度(反時計回り)回転
7:水平にミラーリングした後、270度(反時計回り)回転
8:270度(反時計回り)回転
packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]、及びpacked_reg_left[i]は、それぞれ、パックフレームにおける領域の幅、高さ、最上部のサンプル行、及び左端のサンプル列を指定する。packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]、及びpacked_reg_left[i]によって指定される矩形は、両端値を含む0〜i−1の範囲内のjの任意の値に対して、packed_reg_width[j]、packed_reg_height[j]、packed_reg_top[j]、及びpack_reg_left[j]によって指定される矩形と重ならないものとする。
Choiにおいて提供される矩形領域ごとのパッキングのシンタックスは、理想的ではないことがあることに留意されたい。更に、上記のシンタックス及び本明細書で使用されるシンタックスにおいて、unsigned int(n)は、nビットを有する符号なし整数を指すことに留意されたい。
上述したように、Choiは、国際標準化機構(ISO)ベースメディアファイルフォーマット(ISOBMFF)を使用して、全方向メディア及び関連メタデータを記憶する方法を指定する。更に、Choiは、ファイルフォーマットが以下のボックスのタイプ、すなわち、方式タイプボックス(SchemeTypeBox)、方式情報ボックス(SchemeInformationBox)、プロジェクト全方向動画像ボックス(ProjectedOmnidirectionalVideoBox)、ステレオ動画像ボックス(StereoVideoBox)、魚眼全方向動画像ボックス(FisheyeOmnidirectionalVideoBox)、領域ごとのパッキングボックス(RegionWisePackingBox)、及びプロジェクション方位ボックス(ProjectionOrientationBox)、をサポートする場所を指定する。Choiは、追加のタイプのボックスを指定しているが、簡潔にするために、Choiにおいて指定された全てのボックスのタイプの完全な説明は本明細書に記載されていないことに留意されたい。SchemeTypeBox、SchemeInformationBox、ProjectedOmnidirectionalVideoBox、StereoVideoBox、及びRegionWisePackingBoxに関して、Choiは以下を提供する。
−制限された動画像サンプルエントリタイプ「rosy」に対する全方向動画像方式の使用は、復号されたピクチャが、魚眼レンズ動画像ピクチャか、又はモノスコープ若しくはステレオスコープコンテンツのいずれかを含むパックフレームかのいずれかであることを示す。全方向動画像方式の使用は、SchemeTypeBox内の‘odvd’(全方向動画像)に等しいscheme_typeによって示される。
−プロジェクションされたモノスコープフレームのフォーマットは、SchemeInformationBox内に含まれるProjectedOmnidirectionalVideoBoxで示される。魚眼レンズ動画像のフォーマットは、SchemeInformationBox内に含まれるFisheyeOmnidirectionalVideoBoxで示される。方式タイプが‘odvd’である場合、SchemeInformationBoxには、ProjectedOmnidirectionalVideoBox及びFisheyeOmnidirectionalVideoBoxのうちの1つ及び1つのみが存在するものとする。
−ProjectedOmnidirectionalVideoBoxがSchemeInformationBox内に存在する場合、StereoVideoBox及びRegionWisePackingBoxは、同じSchemeInformationBox内に存在してもよい。FisheyeOmnidirectionalVideoBoxがSchemeInformationBox内に存在する場合、StereoVideoBox及びRegionWisePackingBoxは、同じSchemeInformationBoxに存在しないものとする。
−ステレオスコープ動画像の場合、プロジェクションされた左フレーム及び右フレームのフレームパッキング配列は、SchemeInformationBox内に含まれるStereoVideoBoxで示される。StereoVideoBoxの不在は、全方向にプロジェクションされたトラックのコンテンツがモノスコープであることを示す。全方向動画像方式に対してStereoVideoBoxがSchemeInformationBox内に存在する場合、トップボトムフレームパッキング又はサイドツーフレームパッキングのいずれかを示すものとする。
−オプションの領域ごとパッキングは、SchemeInformationBox内に含まれるRegionWisePackingBoxで示される。RegionWisePackingBoxの不在は、領域ごとのパッキングが適用されていないことを示す。
領域ごとのパッキングボックスに関して、Choiは、以下の定義、シンタックス、及びセマンティクスを提供する。
定義
ボックスタイプ:‘rwpk’
コンテナ:方式情報ボックス(‘schi’)
必須:いいえ
数:ゼロ又は1
RegionWisePackingBoxは、プロジェクトフレームが領域ごとにパッキングされ、レンダリング前にアンパッキングを必要とすることを示す。
シンタックス
aligned(8)class RegionWisePackingBox extends Box(‘rwpk’){
RegionWisePackingStruct();

aligned(8)class RegionWisePackingStruct {
unsigned int(8)num_regions;
unsigned int(32)proj_frame_width;
unsigned int(32)proj_frame_height;
for(i=0;i<num_regions;i++){
bit(4)reserved=0;
unsigned int(4)packing_type[i];

for(i=0;i<num_regions;i++){
if(packing_type[i]==0)
RectRegionPacking(i);


セマンティクス
num_regionsは、パッキングされた領域の数を指定する。値0は予備とされる。
proj_frame_width及びproj_frame_heightは、プロジェクトフレームの幅及び高さをそれぞれ指定する。
packing_typeは、領域ごとのパッキングのタイプを指定する。0に等しいpacking_typeは、矩形領域ごとのパッキングを示す。他の値は予備とされる。
プロジェクションされた全方向動画像ボックスに関して、Choiは、以下の定義、シンタックス、及びセマンティクスを提供する。
定義
ボックスタイプ:‘povd’
コンテナ:方式情報ボックス(‘schi’)
必須:いいえ
数:0又は1(scheme_typeが‘odvd’に等しく、‘povd’又は‘fovd’のいずれかが存在しなければならない場合)
ProjectedOmnidirectionalVideoBoxは、トラックに含まれるサンプルがプロジェクトフレーム又はパックフレームであることを示すために使用される。
プロジェクトフレームの特性は、以下を用いて示される。
・モノスコーププロジェクトフレームのプロジェクションフォーマット(トラックに含まれるモノスコープ動画像に対してはC、ステレオスコープ動画像の左右ビューに対してはCL及びCR)
・グローバル座標系に対するプロジェクション構造の方位
・プロジェクションされた全方向動画像の球面カバレッジ(すなわち、プロジェクトフレームによって表される球面上の面積)
シンタックス
aligned(8)class ProjectedOmnidirectionalVideoBox extends Box(‘povd’){
ProjectionFormatBox();//mandatory
ProjectionOrientationBox();//optional
CoverageInformationBox();//optional

aligned(8)class ProjectionFormatBox()extends FullBox(‘prfr’,0,0){
ProjectionFormatStruct();

aligned(8)class ProjectionFormatStruct(){
bit(1)reserved=0;
unsigned int(6)geometry_type;
bit(1)reserved=0;
unsigned int(8)projection_type;

セマンティクス
geometry_typeは、空間内の点が1つ以上の次元内の位置によって一意に特定され得る数学的規則を示す。geometry_typeが1に等しい場合、プロジェクションインジケータは球面座標で与えられ、ここで、指定座標系に従って、φは方位角(経度)又はYawAngleであり、θは高度(緯度)又はPitchAngleである。geometry_typeの他の値は予備とされる。
projection_typeは、geometry_typeによって指定された座標系上への矩形復号装置ピクチャ出力サンプルの特定のマッピングを示す。projection_typeが1に等しい場合、geometry_typeは1に等しいものとする。projection_typeが1に等しい場合、指定された正距円筒図法プロジェクションを示す。projection_typeの他の値は予備とされる。
プロジェクション方位ボックスに関して、Choiは、以下の定義、シンタックス、及びセマンティクスを提供する。
定義
ボックスタイプ:‘pror’
コンテナ:プロジェクションされた全方向動画像ボックス(‘povd’)
必須:いいえ
数:ゼロ又は1
プロジェクトフォーマットが正距円筒図法プロジェクションである場合、このボックス内のフィールドは、球面にプロジェクションしたときのプロジェクトフレームの中心点のヨー角、ピッチ角、ロール角をそれぞれ提供する。ステレオスコープ全方向動画像の場合、フィールドは、フレームパッキングされたステレオスコープフレームではなく、各ビューに個別に適用する。ProjectionOrientationBoxが存在しない場合、フィールドorientation_yaw、orientation_pitch、及びorientation_rollは全て、0に等しいと見なされる。
シンタックス
aligned(8)class ProjectionOrientationBox extends FullBox(‘pror’,version=0,flags){
signed int(16)orientation_yaw;
signed int(16)orientation_pitch;
signed int(16)orientation_roll;

セマンティクス
orientation_yaw、orientation_pitch、及びorientation_rollは、プロジェクションのヨー、ピッチ、及びロールを、グローバル座標系に対して0.01度単位で指定する。
orientation_yawは、両端を含む−18000から17999の範囲にあり、orientation_pitchは、両端を含む−9000から9000の範囲にあり、orientation_rollは、両端を含む−18000から18000の範囲にあるものとする。
更に、カバレッジ情報ボックスに関して、Choiは、以下の定義、シンタックス、及びセマンティクスを提供する。
定義
ボックスタイプ:‘covi’
コンテナ:プロジェクションされた全方向動画像ボックス(‘povd’)
必須:いいえ
数:ゼロ又は1
このボックスは、コンテナProjectedOmnidirectionalVideoBoxに関連付けられたプロジェクトフレームによって表される球面上の面積に関する情報を提供する。このボックスの不在は、プロジェクトフレームが全球面の表現であることを示す。このボックス内のフィールドは、存在する場合、ProjectionOrientationBoxのアプリケーション後に適用する。
プロジェクションフォーマットが正距円筒図法プロジェクションである場合、プロジェクトフレームによって表される球面領域は、2つのヨー円及び2つのピッチ円によって指定される領域である。
シンタックス
aligned(8)class CoverageInformationBox extends FullBox(‘covi’,version=0,flags){
RegionOnSphereStruct(1);

セマンティクス
RegionOnSphereStruct(1)がCoverageInformationBoxに含まれる場合、以下が適用される。
center_yaw及びcenter_pitchは、ProjectionOrientationBoxを通じて指定された座標系に対して、プロジェクトフレームによって表される球面領域の中心点を0.01度単位で指定する。
center_yawは、両端値を含む−18000〜17999の範囲にあるものとする。
center_pitchは、両端値を含む−9000〜9000の範囲にあるものとする。
hor_range及びver_rangeは、それぞれ、プロジェクトフレームによって表される領域の水平及び垂直方向の範囲を、0.01度単位で指定する。
hor_range及びver_rangeは、領域の中心点を通る範囲を指定する。
hor_rangeは、両端値を含む1〜36000の範囲にあるものとする。
ver_rangeは、両端値を含む1〜18000の範囲にあるものとする。
center_pitch+ver_range÷2は、9000以下であるものとする。
center_pitch−ver_range÷2は、−9000以上であるものとする。
Choiで提供されている正距円筒図法プロジェクション、領域ごとのパッキングボックス、プロジェクション方位ボックス、及びカバレッジ情報ボックスは、理想的ではない場合があることに留意されたい。
上述のように、全方向動画像ピクチャにおいて最も関心のある領域をシグナリングすることは、送信帯域幅を低減させ、かつ、復号複雑性を低減させることによって、システム性能を改善することができる。Choiは、最も関心のある領域をシグナリングするための以下のシンタックス及びセマンティクスを提供する。
シンタックス
unsigned int(32)regionbase_id;
unsigned int(16)entry_count;
for(i=1;i<=entry_count;i++){
unsigned int(16)left_horizontal_offset;
unsigned int(16)top_vertical_offset;
unsigned int(16)region_width;
unsigned int(16)region_height;

セマンティクス
regionbase_idは、最も関心のある領域の位置及びサイズが指定されるベース領域を指定する。
entry_countは、エントリの数を指定する。
left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightは、最も関心のある領域の位置とサイズを示す整数値である。
left_horizontal_offset及びtop_vertical_offsetは、ベース領域に対して最も関心のある領域の左上隅の、ルマサンプルにおける、水平及び垂直座標をそれぞれ示す。
region_width及びregion_heightは、ベース領域に対して最も関心のある領域の、ルマサンプルにおける、幅及び高さをそれぞれ示す。
Choiで提供されているような、最も関心のある領域をシグナリングすることは、理想的ではない場合があることに留意されたい。
上述のように、Choiは、全方向メディアをストリーミングするための技術を指定する。このようにして、Choiは、球面上の領域を示すための一般的な時限メタデータトラックシンタックスを提供し、これは、全方向メディアをストリーミングするのに有用であり得る。Choiにおける時限メタデータトラックの目的は、サンプルエントリタイプによって示され、全てのメタデータトラックのサンプルフォーマットは、共通部分で始まり、メタデータトラックのサンプルエントリに固有の拡張部分がそれに続いてもよい。
更に、各サンプルは、球体上の領域を指定する。Choiは、時限メタデータトラックサンプルエントリに対して、以下の定義、シンタックス、及びセマンティクスを提供する。
定義
ちょうど1つのRegionOnSphereConfigBoxが、サンプルエントリに存在するものとする。RegionOnSphereConfigBoxは、サンプルによって指定された領域の形状を指定する。サンプル内の領域の水平及び垂直方向の範囲が変化しない場合、それらはサンプルエントリ内に示され得る。
シンタックス
class RegionOnSphereSampleEntry extends MetaDataSampleEntry(‘rosp’){
RegionOnSphereConfigBox();//mandatory
Box[]other_boxes;//optional.

class RegionOnSphereConfigBox extends FullBox(‘rosc’,version=0,flags){
unsigned int(8)shape_type;
bit(7)reserved=0;
unsigned int(1)dynamic_range_flag;
if(dynamic_range_flag==0){
unsigned int(16)static_hor_range;
unsigned int(16)static_ver_range;

unsigned int(16)num_regions;
セマンティクス
0に等しいshape_typeは、領域が4つの大きな円によって示されることを指定する。
1に等しいshape_typeは、領域が2つのヨー円及び2つのピッチ円によって示されることを指定する。
1より大きいshape_typeの値が予備とされる。
0に等しいdynamic_range_flagは、このサンプルエントリを参照する全てのサンプルにおいて、領域の水平及び垂直方向の範囲が変更されないままであることを指定する。
1に等しいdynamic_range_flagは、領域の水平及び垂直方向の範囲がサンプルフォーマットで示されることを指定する。
static_hor_range及びstatic_ver_rangeは、このサンプルエントリを参照する各サンプルに対する領域の水平及び垂直方向の範囲を、それぞれ0.01度単位で指定する。static_hor_range及びstatic_ver_rangeは、領域の中心点を通る範囲を指定する。
num_regionsは、このサンプルエントリを参照するサンプル内の領域数を指定する。num_regionsは、1に等しいものとする。num_regionsの他の値は予備とされる。
Choiは、サンプルフォーマットに対して、以下の定義、シンタックス、及びセマンティクスを提供する。
定義
各サンプルは、球体上の領域を指定する。RegionOnSphereSample構造は、導出されたトラック形式で拡張されてもよい。
シンタックス
aligned(8)RegionOnSphereStruct(range_included_flag){
signed int(16)center_yaw;
signed int(16)center_pitch;
if(range_included_flag){
unsigned int(16)hor_range;
unsigned int(16)ver_range;

aligned(8)RegionOnSphereSample(){
for(i=0;i<num_regions;i++)
RegionOnSphereStruct(dynamic_range_flag)
セマンティクス
RegionOnSphereStruct()がRegionOnSphereSample()構造に含まれる場合、以下が適用される。
center_yaw及びcenter_pitchは、グローバル座標系に対して、このサンプルによって指定される領域の中心点を0.01度単位で指定する。center_yawは、両端を含む−18000〜17999の範囲にあるものとする。center_pitchは、両端を含む−9000〜9000の範囲にあるものとする。
hor_range及びver_rangeは、存在する場合、このサンプルによって指定された領域の水平及び垂直方向の範囲を、それぞれ0.01度単位で指定する。hor_range及びver_rangeは、領域の中心点を通る範囲を指定する。
更に、Choiは、初期視点のための以下の定義、シンタックス、及びセマンティクスを提供する。
定義
初期視点球面上領域メタデータは、関連するメディアトラックを再生する際に使用されるべき初期ビューポート方位を示す。このタイプのメタデータが存在しない場合、再生は、グローバル座標系の(ヨー、ピッチ、ロール)における方位(0、0、0)を使用して開始されるべきである。
サンプルエントリタイプ‘invp’を使用するものとする。
サンプルエントリのRegionOnSphereConfigBoxにおいて、shape_typeは0に等しく、dynamic_range_flagは0に等しく、static_hor_rangeは0に等しく、static_ver_rangeは、0に等しいものとする。
シンタックス
class InitialViewpointSample()extends RegionOnSphereSample{
unsigned int(16)roll;
unsigned int(1)refresh_flag;
bit(7)reserved=0;

セマンティクス
注記1:サンプル構造がRegionOnSphereSampleから拡張されると、RegionOnSphereSampleのシンタックス要素がサンプルに含まれる。
center_yaw、center_pitch、及びrollは、グローバル座標系に対して0.01度単位でビューポート方位を指定する。center_yaw及びcenter_pitchは、ビューポートの中心を示し、rollは、ビューポートのロール角を示す。ロールは、両端値を含む−18000〜18000の範囲にあるものとする。
0に等しいrefresh_flagは、示されたビューポートの方位が、関連するメディアトラックにおける時系列サンプルから、再生開始時に使用されるべきであることを指定する。1に等しいrefresh_flagは、示されたビューポートの方位が、各関連メディアトラックの時系列サンプルをレンダリングするとき、すなわち、連続再生時と、時系列サンプルからの再生開始時との両方で、常に使用されるべきであることを指定する。
注記2:1に等しいrefresh_flagは、コンテンツ作成者が、動画像を連続して再生する場合でも、特定のビューポート方位が推奨されることを示すことを可能にする。例えば、1に等しいrefresh_flagは、シーンカット位置を示すことができる。
更に、Choiは、推奨ビューポートについて以下の説明を提供する。
推奨ビューポート時限メタデータトラックは、ユーザが視聴方位の制御を有さないか、又は視聴方位の制御を解除したときに表示されるべきビューポートを示す。
注記:推奨されるビューポートタイミングメタデータトラックは、ディレクターズカットを示すために使用されてもよい。
サンプルエントリタイプ‘revp’を使用するものとする。
RegionOnSphereSampleのサンプルシンタックスを使用するものとする。
サンプルエントリのRegionOnSphereConfigBoxにおいて、shape_typeは0に等しいものとする。
static_hor_range及びstatic_ver_rangeは、存在する場合、又はhor_range及びver_rangeは、存在する場合、推奨ビューポートの水平視野及び垂直視野をそれぞれ示す。
center_yaw及びcenter_pitchは、推奨ビューポートの中心点を示す。
Choiで提供されているような、球面上の領域に対して時限メタデータをシグナリングすることは、理想的ではない場合があることに留意されたい。加えて、上述したように、Choiで提供されている正距円筒図法プロジェクション、プロジェクション方位ボックス、及びカバレッジ情報ボックスは、理想的ではない場合がある。特に、ある場合には、角度値をシグナリングするために使用される精度及び技術は、理想的ではない場合がある。
図1は、本開示の1つ以上の技術による、動画像データをコード化する(符号化及び/又は復号する)ように構成することができる、システムの例を示すブロック図である。システム100は、本開示の1つ以上の技術に従って、動画像データをカプセル化することができるシステムの例を表す。図1に示すように、システム100は、ソースデバイス102と、通信媒体110と、目的デバイス120と、を含む。図1に示す例では、ソースデバイス102は、動画像データを符号化し、符号化した動画像データを通信媒体110に送信するように構成された、任意のデバイスを含むことができる。目的デバイス120は、通信媒体110を介して符号化した動画像データを受信し、符号化した動画像データを復号するように構成された、任意のデバイスを含むことができる。ソースデバイス102及び/又は目的デバイス120は、有線及び/又は無線通信用に装備された演算デバイスを含むことができ、かつ、例えば、セットトップボックス、デジタルビデオレコーダ、テレビ、デスクトップ、ラップトップ、又はタブレットコンピュータ、ゲーム機、医療用撮像デバイス、及び、例えば、スマートフォン、セルラー電話、パーソナルゲームデバイスを含むモバイルデバイス、を含むことができる。
通信媒体110は、無線及び有線の通信媒体並びに/又は記憶デバイスの任意の組み合わせを含むことができる。通信媒体110としては、同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、無線送信機及び受信機、ルータ、スイッチ、リピータ、基地局、又は様々なデバイスとサイトとの間の通信を容易にするために有用であり得る任意の他の機器を挙げることができる。通信媒体110は、1つ以上のネットワークを含むことができる。例えば、通信媒体110は、ワールドワイドウェブ、例えば、インターネットへのアクセスを可能にするように構成されたネットワークを含むことができる。ネットワークは、1つ以上の電気通信プロトコルの組み合わせに従って動作することができる。電気通信プロトコルは、専用の態様を含むことができ、及び/又は規格化された電気通信プロトコルを含むことができる。標準化された電気通信プロトコルの例としては、Digital Video Broadcasting(DVB)規格、Advanced Television Systems Committee(ATSC)規格、Integrated Services Digital Broadcasting(ISDB)規格、Data Over Cable Service Interface Specification(DOCSIS)規格、Global System Mobile Communications(GSM)規格、符号分割多重アクセス(code division multiple access、CDMA)規格、第三世代パートナーシッププロジェクト(3rd Generation Partnership Project、3GPP)規格、欧州電気通信標準化機構(European Telecommunications Standards Institute、ETSI)規格、インターネットプロトコル(Internet Protocol、IP)規格、ワイヤレスアプリケーションプロトコル(Wireless Application Protocol、WAP)規格、及びInstitute of Electrical and Electronics Engineers(IEEE)規格が挙げられる。
記憶デバイスは、データを記憶することができる任意の種類のデバイス又は記憶媒体を含むことができる。記憶媒体は、有形又は非一時的コンピュータ可読媒体を含むことができる。コンピュータ可読媒体としては、光学ディスク、フラッシュメモリ、磁気メモリ、又は任意の他の好適なデジタル記憶媒体を挙げることができる。いくつかの例では、メモリデバイス又はその一部分は不揮発性メモリとして説明されることがあり、他の例では、メモリデバイスの一部分は揮発性メモリとして説明されることがある。揮発性メモリの例としては、ランダムアクセスメモリ(random access memory、RAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory、DRAM)、及びスタティックランダムアクセスメモリ(static random access memory、SRAM)を挙げることができる。不揮発性メモリの例としては、磁気ハードディスク、光学ディスク、フロッピーディスク、フラッシュメモリ、又は電気的プログラム可能メモリ(electrically programmable memory、EPROM)若しくは電気的消去可能及びプログラム可能メモリ(electrically erasable and programmable、EEPROM)の形態を挙げることができる。記憶デバイス(単数又は複数)としては、メモリカード(例えば、セキュアデジタル(Secure Digital、SD)メモリカード)、内蔵/外付けハードディスクドライブ、及び/又は内蔵/外付けソリッドステートドライブを挙げることができる。データは、定義されたファイルフォーマットに従って記憶デバイス上に記憶することができる。
図4は、システム100の一実装形態に含まれ得る構成要素の一例を示す概念図である。図4に示す例示的な実装形態では、システム100は、1つ以上の演算デバイス402A〜402N、テレビサービスネットワーク404、テレビサービスプロバイダサイト406、ワイドエリアネットワーク408、ローカルエリアネットワーク410、及び1つ以上のコンテンツプロバイダサイト412A〜412Nを含む。図4に示す実装形態は、例えば、映画、ライブスポーツイベントなどのデジタルメディアコンテンツ、並びにデータ及びアプリケーション及びそれらに関連付けられたメディアプレゼンテーションが、演算デバイス402A〜402Nなどの複数の演算デバイスに配信され、かつ、それらによってアクセスされることが可能となるように構成され得るシステムの一例を表す。図4に示す例では、演算デバイス402A〜402Nは、テレビサービスネットワーク404、ワイドエリアネットワーク408、及び/又はローカルエリアネットワーク410のうちの1つ以上からデータを受信するように構成されている任意のデバイスを含むことができる。例えば、演算デバイス402A〜402Nは、有線及び/又は無線通信用に装備されてもよく、1つ以上のデータチャネルを通じてサービスを受信するように構成されてもよく、いわゆるスマートテレビ、セットトップボックス、及びデジタルビデオレコーダを含むテレビを含んでもよい。更に、演算デバイス402A〜402Nは、デスクトップ、ラップトップ、又はタブレットコンピュータ、ゲーム機、例えば「スマート」フォン、セルラー電話、及びパーソナルゲーミングデバイスを含むモバイルデバイス、を含んでもよい。
テレビサービスネットワーク404は、テレビサービスを含み得る、デジタルメディアコンテンツの配信を可能にするように構成されているネットワークの一例である。例えば、テレビサービスネットワーク404は、公共地上波テレビネットワーク、公共又は加入ベースの衛星テレビサービスプロバイダネットワーク、並びに公共又は加入ベースのケーブルテレビプロバイダネットワーク及び/又は頭越し型(over the top)サービスプロバイダ若しくはインターネットサービスプロバイダを含んでもよい。いくつかの実施例では、テレビサービスネットワーク404は、テレビサービスの提供を可能にするために主に使用され得るが、テレビサービスネットワーク404はまた、本明細書に記載された電気通信プロトコルの任意の組み合わせに基づく他の種類のデータ及びサービスの提供も可能とすることに留意されたい。更に、いくつかの実施例では、テレビサービスネットワーク404は、テレビサービスプロバイダサイト406と、演算デバイス402A〜402Nのうちの1つ以上との間の双方向通信を可能にすることができることに留意されたい。テレビサービスネットワーク404は、無線通信メディア及び/又は有線通信メディアの任意の組み合わせを含むことができる。テレビサービスネットワーク404は、同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、無線送信機及び受信機、ルータ、スイッチ、リピータ、基地局、又は様々なデバイスとサイトとの間の通信を容易にするために有用であり得る任意の他の機器を含むことができる。テレビサービスネットワーク404は、1つ以上の電気通信プロトコルの組み合わせに従って動作することができる。電気通信プロトコルは、専用の態様を含むことができ、及び/又は規格化された電気通信プロトコルを含むことができる。規格化された電気通信プロトコルの例としては、DVB規格、ATSC規格、ISDB規格、DTMB規格、DMB規格、ケーブルによるデータサービスインターフェース標準(Data Over Cable Service Interface Specification、DOCSIS)規格、HbbTV規格、W3C規格、及びUPnP規格が挙げられる。
図4を再び参照すると、テレビサービスプロバイダサイト406は、テレビサービスネットワーク404を介してテレビサービスを配信するように構成することができる。例えば、テレビサービスプロバイダサイト406は、1つ以上の放送局、ケーブルテレビプロバイダ、又は衛星テレビプロバイダ、又はインターネットベースのテレビプロバイダを含み得る。例えば、テレビサービスプロバイダサイト406は、衛星アップリンク/ダウンリンクを介したテレビプログラムを含む送信を、受信するように構成することができる。更に、図4に示すように、テレビサービスプロバイダサイト406は、ワイドエリアネットワーク408と通信することができ、コンテンツプロバイダサイト412A〜412Nからデータを受信するように構成することができる。いくつかの実施例では、テレビサービスプロバイダサイト406は、テレビスタジオを含むことができ、コンテンツはそこから発信できることに留意されたい。
ワイドエリアネットワーク408は、パケットベースのネットワークを含み、1つ以上の電気通信プロトコルの組み合わせに従って動作することができる。電気通信プロトコルは、専用の態様を含むことができ、及び/又は規格化された電気通信プロトコルを含むことができる。規格化された電気通信プロトコルの例としては、汎欧州デジタル移動電話方式(Global System Mobile Communications、GSM)規格、符号分割多元接続(code division multiple access、CDMA)規格、3rd Generation Partnership Project(3GPP)規格、欧州電気通信標準化機構(European Telecommunications Standards Institute、ETSI)規格、欧州規格(EN)、IP規格、ワイヤレスアプリケーションプロトコル(Wireless Application Protocol、WAP)規格、及び例えば、IEEE802規格のうちの1つ以上(例えば、Wi−Fi)などの電気電子技術者協会(Institute of Electrical and Electronics Engineers、IEEE)規格が挙げられる。ワイドエリアネットワーク408は、無線通信メディア及び/又は有線通信メディアの任意の組み合わせを含むことができる。ワイドエリアネットワーク480は、同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、イーサネットケーブル、無線送信部及び受信部、ルータ、スイッチ、リピータ、基地局、又は様々なデバイス及びサイト間の通信を容易にするために有用であり得る任意の他の機器を含むことができる。一実施例では、ワイドエリアネットワーク408はインターネットを含んでもよい。ローカルエリアネットワーク410は、パケットベースのネットワークを含み、1つ以上の電気通信プロトコルの組み合わせに従って動作することができる。ローカルエリアネットワーク410は、アクセス及び/又は物理インフラストラクチャのレベルに基づいてワイドエリアネットワーク408と区別することができる。例えば、ローカルエリアネットワーク410は、セキュアホームネットワークを含んでもよい。
図4を再び参照すると、コンテンツプロバイダサイト412A〜412Nは、マルチメディアコンテンツをテレビサービスプロバイダサイト406及び/又は演算デバイス402A〜402Nに提供することができるサイトの例を表す。例えば、コンテンツプロバイダサイトは、マルチメディアファイル及び/又はストリームをテレビサービスプロバイダサイト406に提供するように構成されている、1つ以上のスタジオコンテンツサーバを有するスタジオを含むことができる。一実施例では、コンテンツプロバイダのサイト412A〜412Nは、IPスイートを使用してマルチメディアコンテンツを提供するように構成されてもよい。例えば、コンテンツプロバイダサイトは、リアルタイムストリーミングプロトコル(RTSP)、HTTPなどに従って、マルチメディアコンテンツを受信デバイスに提供するように構成されてもよい。更に、コンテンツプロバイダサイト412A〜412Nは、ハイパーテキストベースのコンテンツなどを含むデータを、ワイドエリアネットワーク408を通じて、受信デバイスである演算デバイス402A〜402N、及び/又はテレビサービスプロバイダサイト406のうちの1つ以上に提供するように構成されてもよい。コンテンツプロバイダサイト412A〜412Nは、1つ以上のウェブサーバを含んでもよい。データプロバイダサイト412A〜412Nによって提供されるデータは、データフォーマットに従って定義することができる。
図1を再び参照すると、ソースデバイス102は、動画像ソース104と、動画像符号化装置106と、データカプセル化装置107と、インターフェース108とを含む。動画像ソース104は、動画像データをキャプチャ及び/又は記憶するように構成された任意のデバイスを含むことができる。例えば、動画像ソース104は、ビデオカメラ及びそれに動作可能に結合された記憶デバイスを含むことができる。動画像符号化装置106は、動画像データを受信し、動画像データを表す適合したビットストリームを生成するように構成された、任意のデバイスを含むことができる。適合したビットストリームは、動画像復号装置が受信し、それから動画像データを再生することができるビットストリームを指すことがある。適合したビットストリームの態様は、動画像符号化標準に従って定義することができる。適合したビットストリームを生成するとき、動画像符号化装置106は、動画像データを圧縮することができる。圧縮は、非可逆的(視聴者に認識可能若しくは認識不可能)又は可逆的とすることができる。
再び図1を参照すると、データカプセル化装置107は、符号化動画像データを受信し、定義されたデータ構造に従って、例えば、一連のNALユニットである準拠ビットストリームを生成することができる。準拠ビットストリームを受信するデバイスは、そこから動画像データを再生成することができる。適合ビットストリームという用語は、準拠ビットストリームという用語の代わりに使用され得ることに留意されたい。上述のように、Choiに提供されるようなメタデータのシグナリングは、理想的ではない場合がある。一実施例では、データカプセル化装置107は、本明細書に記載される1つ以上の技術に従ってメタデータをシグナリングするように構成することができる。データカプセル化装置107は、動画像符号化装置106と同じ物理デバイス内に配置される必要はないことに留意されたい。例えば、動画像符号化装置106及びデータカプセル化装置107によって実行されるものとして説明される機能は、図4に示すデバイス間で分散されてもよい。
上述のChoiにおける正距円筒図法プロジェクションの説明を参照すると、一実施例では、データカプセル化装置107は、以下の例示的な条件及び式に従って、変数yawMin、yawMax、pitchMin、及びpitchMaxを導出するように構成されてもよい:
RegionWisePackingBoxが存在しないの場合、proj_frame_width及びproj_frame_heightは、VisualSampleEntryの幅及び高さに等しいと推測される。
CoverageInformationBoxが存在しない場合、hor_rangeは72065536に等しいと推測され、ver_rangeは36065536に等しいと推測される。
yawMin=(((center_yaw−hor_range÷2)<−18000)?(center_yaw−hor_range÷2+36000):(center_yaw−hor_range÷2))0.01π÷180
yawMax=(((center_yaw+hor range÷2)>17999)?(center_yaw+hor_range÷2−36000):(center_yaw+hor_range÷2))0.01π÷180
pitchMin=(((center_pitch−ver_range÷2)<−9000)?(center_pitch−ver_range÷2+18000):(center_pitch−ver_range÷2))0.01π÷180
pitchMax=(((center_pitch+ver_range÷2)>9000)?(center_pitch+ver_range÷2−18000):(center_pitch+ver_range÷2))0.01π÷180
16ビットを用いたバイナリ角度測定が使用される場合:
yawMin=(center_yaw−hor_range÷2)(1+65536)π÷180
yawMax=(center_yaw+hor_range÷2)(1+65536)π÷180
pitchMin=(center_pitch−ver_range÷2)(1+65536)π÷180
pitchMax=(center_pitch+ver_range÷2)(1+65536)π÷180
16.16の固定小数点表現が使用される場合:
yawMin=(center_yaw−hor_range÷2)(360÷4294967296)π÷180
yawMax=(center_yaw+hor_range÷2)(360÷4294967296)π÷180
pitchMin=(center_pitch−ver_range÷2)(180÷4294967296)π÷180
pitchMax=(center_pitch+ver_range÷2)(180÷4294967296)π÷180
このように、本明細書に記載される技術によれば、データカプセル化装置107は、角度値の精度の向上を可能にするように構成することができる。
上述のChoiで提供されるRectRegionPacking(i)シンタックスを参照すると、一実施例では、データカプセル化装置107は、より効率的にRectRegionPacking(i)をシグナリングするように構成されてもよい。一実施例では、データカプセル化装置107は、以下のシンタックスに従って、RectRegionPacking(i)にシグナリングするように構成することができる。
aligned(8)class RectRegionPacking(i){
unsigned int(16)proj_reg_width[i];
unsigned int(16)praj_reg_height[i];
unsigned int(16)proj_reg_top[i];
unsigned int(16)proj_reg_left[i];
unsigned int(3)transform_type[i];
hit(5)reserved=0;
unsigned int(16)packed_reg_width[i];
unsigned int(16)packed_reg_height[i];
unsigned,int(16)packed_reg_top[i]
unsigned int(16)packed_reg_left[i];
この実施例では、transform_type[i]のセマンティクスは、3ビットを使用して8つの変換タイプのうちの1つをシグナリングすることができ、かつ、そのセマンティクスを有し得る。
transform_type[i]は、プロジェクトフレームのi番目の領域に適用されている回転及びミラーリングを指定して、それをパックフレームにマッピングする。transform_type[i]が回転とミラーリングの両方を指定している場合、回転はミラーリング後に適用される。以下の値が指定される。
1:変換なし
2:水平ミラーリング
3:180度(反時計回り)回転
4:水平にミラーリングした後、180度(反時計回り)回転
5:水平にミラーリングした後、90度(反時計回り)回転
6:90度(反時計回り)回転
7:水平にミラーリングした後、270度(反時計回り)回転
0:270度(反時計回り)回転
Choiと比較して、transform_type[i]に対する0の値は、270度(反時計回り)回転を示すために使用され、いかなる値も予備とはされていない。更に、他のシンタックス要素の各々は、16ビットを使用してシグナリングされ、Choiにおいて提供されるRectRegionPacking(i)と比較して、かなりのビット節約をもたらす。
上述のChoiで提供されるRegionWisePackingBoxシンタックスを参照すると、一実施例では、データカプセル化装置107は、より効率的にRegionWisePackingBoxをシグナリングするように構成されてもよい。一実施例では、データカプセル化装置107は、以下のシンタックスに示すように、シンタックス要素proj_frame_width及びproj_frame_heightの各々が16ビットを使用してシグナリングされるRegionWisePackingBoxをシグナリングするように構成することができる。
aligned(8)class RegionWisePackingBox extends Box(‘rwpk’){
RegionWisePackingStruct();

aligned(8)class RegionWisePackingStruct {
unsigned int(8)num_regions;
unsigned int(16)proj_frame_width;
unsigned int(16)proj_fame_height;
for(i=0;i<num_regions;i++){
bit(4)reserved=0;
unsigned int(4)packing_type[i];

for(i=0;i<num_regions;i++){
if(packing_type[i]==0)
RectRegionPacking(i);

更に、一実施例では、シンタックス要素proj_frame_width及びproj_frame_heightは、proj_frame_widthが0に等しくなく、proj_frame_heightが0に等しくないものとするように、制約され得る。すなわち、proj_frame_widthは0より大きく、proj_frame_heightは0より大きいものとする。一実施例では、シンタックス要素proj_frame_width及びproj_frame_heightは、マイナス1のシグナリングを使用することができる。すなわち、それらの値に1を加えた値が、プロジェクトフレームの幅及び高さをそれぞれ示し得る。更に、一実施例では、データカプセル化装置107は、num_regionsがマイナス1のシグナリングを使用するRegionWisePackingBoxをシグナリングするように構成されてもよい。この場合、以下の例示的なセマンティクスを利用することができる。
0〜num_regions−1の範囲内のiの各値に対して、packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]、及びpacked_reg_left[i]によって指定される矩形は、両端値を含む0〜i−1の範囲内のjの任意の値に対して、packed_reg_width[j]、packed_reg_height[j]、packed_reg_top[j]、及びpack_reg_left[j]によって指定される矩形と重ならないものとする。
0〜num_regions−1の範囲のiの全ての値に対して、packed_reg_width[i]、packed_reg_height[i]、packed_reg_top[i]、及びpack_reg_left[i]で指定される矩形の和集合は、左上の(x、y)座標(0、0)で指された矩形で指定されたプロジェクトフレーム全体と、proj_frame_width及びproj_frame_heightにそれぞれ等しい高さと幅をカバーするものとする。
Choiでは、Pitch値(例えば、ProjectionOrientationBoxにおけるorientation_pitch及びRegionOnSphereStructにおけるcenter_pitch)は、両端値を含む−9000〜9000の有効範囲で、0.01度単位で指定されることに留意されたい。従って、ピッチ値の許容範囲は、15ビットのみを必要とする。代わりに、orientation_pitch及びcenter_pitchに、16ビットが使用される。一実施例では、15ビットがorientation_pitch及びcenter_pitchのために使用されてもよく、とっておかれた1ビットは将来の使用のために予備とされ得る。提案される変更を以下に示す。上述のChoiで提供されるProjectionOrientationBoxシンタックスを参照すると、一実施例では、データカプセル化装置107は、より効率的にProjectionOrientationBoxをシグナリングするように構成されてもよい。一実施例では、データカプセル化装置107は、以下のシンタックスに従って、ProjectionOrientationBoxにシグナリングするように構成することができる。
aligned(8)class ProjectionOrientationBox extends FullBox(‘pror’,version=0,flags){
signed int(16)orientation_yaw;
signed int(15)orientation_pitch;
bit(1)reserved=0;
signed int(16)orientation_roll;
更に、一実施例では、データカプセル化装置107は、以下のシンタックス及びセマンティクスに従って、ProjectionOrientationBoxにシグナリングするように構成することができる。
シンタックス
aligned(8)class ProjectionOrientationBox extends FullBox(‘pror’,version=0,flags){
signed int(32)orientation_yaw;
signed int(32)orientation_pitch;
signed int(32)orientation_roll;

セマンティクス
orientation_yaw、orientation_pitch及びorientation_rollは、それぞれ、グローバル座標系に対して、プロジェクションのヨー、ピッチ、及びロールを、2−16度の単位で指定する。orientation_yawは、両端値を含む−180−16〜(18016)−1の範囲にあるものとする。orientation_pitchは、両端値を含む−9016〜9016の範囲にあるものとする。orientation rollは、両端値を含む−18016〜(18016)−1の範囲にあるものとする。
更に、カバレッジ情報ボックスに関して、一実施例では、データカプセル化装置は、以下のセマンティクスに従ってCoverageInformationBoxをシグナリングするように構成されてもよい:
セマンティクス
RegionOnSphereStruct(1)がCoverageInformationBoxに含まれる場合、以下が適用される。
center_yaw及びcenter_pitchは、それぞれ、ProjectionOrientationBoxを通じて指定された座標系に対して、プロジェクトフレームによって表される球面領域の中心点を、2−16度単位で指定する。center_yawは、両端値を含む−180−16〜(18016)−1の範囲にあるものとする。center_pitchは、両端値を含む−90−16〜9016の範囲にあるものとする。
hor_range及びver_rangeは、プロジェクトフレームによって表される領域の水平及び垂直方向の範囲を、それぞれ360÷232度及び180÷232度の単位で指定する。hor_rangeとver_rangeは、領域の中心点を通る範囲を指定する。hor_rangeは、両端値を含む1〜232−1の範囲にあるものとする。ver_rangeは、両端値を含む1〜232−1の範囲にあるものとする。
従って、本明細書に記載される技術によれば、データカプセル化装置107は、角度値の精度の向上を可能にするように構成され得る。
上述のChoiで提供されるRegionOnSphereStructシンタックスを参照すると、一実施例では、データカプセル化装置107は、RegionOnSphereStructをより効率的にシグナリングするように構成されてもよい。一実施例では、データカプセル化装置107は、以下のシンタックスに従って、RegionOnSphereStructにシグナリングするように構成することができる。
aligned(8)RegionOnSphereStruct(range_included_flag){
signed int(16)center_yaw;
signed int(15)center_pitch;
bit(1)reserved=0;
if(range_included_flag){
unsigned int(16)hor_range;
unsigned int(16)ver_range;

aligned(8)RegionOnSphereSample(){
for(i=0;1<num_regions;i++)
RegionOnSphereStruct(dynamic_range_flag)
上述のChoiで提供された最も関心のある領域をシグナリングするためのシンタックス及びセマンティクスを参照すると、一実施例では、データカプセル化装置107は、より効率的に最も関心のある領域をシグナリングするように構成されてもよい。現在、Choiにおける最も関心のある領域のシグナリングは、時限メタデータトラックにわたってシグナリングされた最も関心のある領域を識別するための情報を含まない。例えば、「ディレクターズカット」に対応する最も関心のある領域の矩形が経時的に変化する場合、これをChoiの現在のシンタックスで示すことは不可能である。本明細書に記載される例示的な技術によれば、領域タグ識別子は、領域と関連付けられて、時限メタデータトラックにわたってシグナリングされた最も関心のある領域を識別する。以下の例示的な説明では、最も関心のある領域に対してregion_tag_idをシグナリングする。
更に、Choiにおける現在のシンタックスは、最も関心のある領域に人が読み取れるラベルを指定することを許可しない。例えば、そのようなラベルには、「ディレクターズカット」又は「最もコメントの多い領域」又は「ソーシャルメディアの人気のあるビュー」などを含んでもよい。以下の説明では、最も関心のある領域に対して、人が読み取れるregion_labelを効率的にシグナリングする。
一実施例では、データカプセル化装置107は、以下のシンタックスに従って、最も関心のある領域にシグナリングするように構成することができる。
aligned(8)class MirSample(){
unsigned int(32)regionbase_id;
unsigned int(16)entry_count;
for(i=1;i<=entry_count;i++){
unsigned int(32)left_horizontal_offset;
unsigned int(32)top_vertical_offset;
unsigned int(32)region_width;
unsigned int(32)region_height;
unsigned int(15)region_tag_id;
unsigned int(1)region_label_present_flag;
if(region_label_present_flag){
string region_label;


この場合、以下の例示的なセマンティクスを利用することができる。
regionbase_idは、最も関心のある領域の位置及びサイズが指定されるベース領域を指定する。
entry_countは、エントリ数を指定する。
entry_countは、0より大きいものとする。別の実施例では、この要素は、代わりにentry_count_minus 1としてシグナリングされてもよく、これに1を加えたものがエントリ数を指定する。
left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightは、最も関心のある領域の位置及びサイズを示す整数値である。
left_horizontal_offset及びtop_vertical_offsetは、ベース領域に対して最も関心のある領域の左上隅の、ルマサンプルにおける、水平座標及び垂直座標をそれぞれ示す。
region_width及びregion_heightは、ベース領域に対して最も関心のある領域の、ルマサンプルにおける、幅及び高さをそれぞれ示す。
region_tag_idは、ベース領域内でこの領域を識別し、それをregion_labelと関連付ける識別子を指定する。特定のregionbase_id値を有するベース領域内の、特定のregion_tag_id値を有する領域は、時限メタデータトラック全体におけるregion_labelに対して同じ値を有するものとする。
1に等しいregion_label_present_flagは、region_labelがこの要素の直後に存在することを示す。0に等しいregion_label_present_flagは、region_labelが存在しないことを示す。
region_labelは、UTF−8のNULL終端文字列であり、この最も関心のある領域に関連付けられた、人が読み取れるラベルを提供する。region_labelが存在しない場合、その値は、このサンプルエントリのregion_tag_id値と同じregion_tag_id値を有するサンプルエントリ内に存在する場合は、この時限メタデータトラック内のregion_label値に等しく、そうでない場合はNULLである、と推測される。
上述のChoiにおいて提供される最も関心のある領域をシグナリングするためのシンタックス及びセマンティクスは、パックフレーム上の最も関心のある領域のインジケーションのみを可能にする。最も関心のある領域に対応するユースケースのいくつかは、パックフレームの代わりに、プロジェクトフレーム上の最も関心のある領域のインジケーションにより適している。これらは、レンダリングされたフレーム上の領域を示すことに関連する任意のユースケースを含む。例えば、球面上のディレクタービュー、及びオンデマンドコンテンツの初期視点を含むユースケースは、2Dプロジェクトフレーム上のインジケーションから恩恵を受けることができる。これらの場合、最も関心のある領域は、単にレンダリング目的に有用なメタデータ情報であってもよい。更に、最も関心のある領域のシンタックスは、示された最も関心のある領域が、パックフレーム上又はプロジェクトフレーム上のどちらにあるかを示すフラグを用いて、以下に示すように容易に拡張することができる。
unsigned int(32)regionbase_id;
unsigned int(16)entry_count;
for(i=1;i<=entry_count;i++){
unsigned int(16)left_horizontal_offset;
unsigned int(16)top_vertical_offset;
unsigned int(16)region_width;
unsigned int(16)region_height;
unsigned int(1)region_on_frame_flag;

ここで、
1に等しいregion_on_frame_flagは、left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightによって識別されるこの最も関心のある領域が、パックフレーム上に示されていることを示し、0に等しいregion_on_frame_flagは、left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightの値によって識別されるこの最も関心のある領域が、プロジェクトフレーム上に示されていることを示す。
上記のシグナリング技術の両方が一緒に使用される場合、region_on_frame_flagは、region_tag_idの前にシグナリングされ、14ビットが、region_tag_idに使用され得ることに留意されたい。このように、全体的なシンタックスは、以下に示すようにすることができる。
aligned(8)class MirSarnple(){
unsigned int(32)regionbase_id;
unsigned int(16)entry_count;
for(i=1;i<=entry_count;i++){
unsigned int(32)left_horizontal_offset;
unsigned int(32)top_vertical_offset;
unsigned int(32)region_width;
unsigned int(32)region_height;
unsigned int(1)region_on_frame_flag;
unsigned int(14)region_tag_id;
unsigned int(1)region_label_present_flag;
if(region_label_present_flag){
string region_label;


一実施例では、データカプセル化装置107は、以下のシンタックス及びセマンティクスに従って、最も関心のある領域にシグナリングするように構成することができる。
シンタックス
unsigned int(32)regionbase_id;
unsigned int(16)entry_count;
for(i=1;i<=entry_count;i++){
unsigned int(16)left_horizontal_offset;
unsigned int(16)top_vertical_offset;
unsigned int(16)region_width;
unsigned int(16)region_height;
unsigned int(1)ioh_mir;
bit(7)reserved=0;

セマンティクス
注記1:サンプル構造がRegionOnSphereSampleから拡張されると、RegionOnSphereSampleのシンタックス要素がサンプルに含まれる。
regionbase_idは、最も関心のある領域の位置及びサイズが指定されるベース領域を指定する。
entry_countは、エントリの数を指定する。
left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightは、最も関心のある領域の位置とサイズを示す整数値である。
left_horizontal_offset及びtop_vertical_offsetは、ベース領域に対して最も関心のある領域の左上隅の、ルマサンプルにおける、水平座標及び垂直座標をそれぞれ示す。region_width及びregion_heightは、ベース領域に対して最も関心のある領域の、ルマサンプルにおける、幅及び高さをそれぞれ示す。
0に等しいioh_mirは、この時限メタデータトラック内で示された値left_horizontal_offset、top_vertical_offset、region_width、及びregion heightが、時限メタデータトラック内でこれらの値が次に現れるまで、参照トラック内のサンプルに使用されるものとすることを指定する。1に等しいioh_mirは、この時限メタデータトラック内で示された値left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightが、連続するサンプル間で線形に補間されるべきであることを指定する。
本明細書に記載される技術によれば、以下の制約及びセマンティクスの変更のうちの1つ以上を、エントリカウント数のシンタックス要素及び最も関心のある領域の矩形パラメータに対して使用することができる。これらは、以下のうちの1つ以上を含み得る、すなわち、regionbase_idは、track_ID値を示すために指定され、値0は予備であり、制約がentry_countに含まれ、シグナリング値の回避を強制するために、制約は、left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightに含まれており、これにより、パックフレームの範囲外になる可能性がある。一実施例では、これらの制約は、以下のセマンティクスに従って実施することができる。
regionbase_idは、最も関心のある領域の位置及びサイズが指定されるベース領域を指定する。別の実施例では、regionbase_idは、最も関心のある領域の位置及びサイズが指定されるISOMBFFファイル内のトラックに対応するtrack_IDを指定する。0の値は予備とされる。
entry_countは、エントリ数を指定する。entry_countは、0より大きいものとする。一実施例では、0の値は予備とされる。別の例では、この要素は代わりにentry_count_minus 1として通知されてもよく、これに1を加えたものがエントリ数を指定する。
left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightは、最も関心のある領域の位置及びサイズを示す整数値である。
left_horizontal_offset及びtop_vertical_offsetは、ベース領域に対して最も関心のある領域の左上隅の、ルマサンプルにおける、水平座標及び垂直座標をそれぞれ示す。region_width及びregion_heightは、ベース領域に対して最も関心のある領域の、ルマサンプルにおける、幅及び高さをそれぞれ示す。
RegionWisePackingBoxが存在しない(すなわち、地域ごとのパッキングが使用されない)場合、
1〜entry_countの範囲の各i(left_horizontal_offset+region_width)については、proj_frame_widthより小さいものとする。
1〜entry_countの範囲の各i(top_vertical_offset+region_height)については、proj_frame_heightより小さいものとする。
一実施例では、left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightによって示される最も関心のある領域矩形は、パックフレーム内に完全に広がるものとする。パックフレームがステレオスコープである場合、left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightで示される最も関心のある領域矩形は、パックフレームの単一の構成フレーム内に完全に広がるものとする。
一実施例では、left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightによって示される最も関心のある領域矩形は、region_on_frame_flagが1に等しい場合はパックフレーム内に完全に広がり、region_on_frame_flagが0に等しい場合はプロジェクトフレーム内に完全に広がるものとする。パックフレームが立体視である場合、left_horizontal_offset、top_vertical_offset、region_width、及びregion_heightによって示される最も関心のある領域矩形は、region_on_frame_flagが1に等しい場合はパックフレームの単一構成フレーム内に完全に広がり、又はregion_on_frame_flagが0に等しい場合はプロジェクトフレームの単一構成フレーム内に完全に広がるものとする。
上記で提供された例示的なシンタックス及びセマンティクスに関して、データカプセル化装置107は、領域の位置及びサイズがパックフレーム上又はプロジェクトフレーム上のどちらで示されるかを示すシンタックス要素をシグナリングするように構成されてもよい。
上述のChoiで提供されるRegionOnSphereConfigBoxのシンタックス及びセマンティクスを参照すると、一実施例では、データカプセル化装置107は、RegionOnSphereConfigBoxをより効率的にシグナリングするように構成されてもよい。一実施例では、データカプセル化装置107は、static_hor_rangeが、両端値を含む1〜36000の範囲にあり、及び/又はstatic_ver_rangeが、両端値を含む1〜18000の範囲にあるものとするように、static_hor_range及びstatic_ver_rangeをシグナリングするように構成されてもよい。別の例では、static_hor_rangeは、両端値を含む0〜36000の範囲にあるものとする。Static_ver_rangeは、両端値を含む0〜18000の範囲にあるものとする。これらの実施例では、0の値は、static_hor_range及びstatic_ver_rangeに対して許可される。これにより、球体上の点を示すことができる。例えば、レチクル、十字線、視線ポインタを示す特定のユースケースでは、球面上の領域の代わりに点を示すことが重要であり得る。従って、本明細書に記載される技術によれば、球面上にそのような点のインジケーションが可能である。
更に、一実施例では、データカプセル化装置107は、以下の例示的なシンタックス及びセマンティクスに従って、RegionOnSphereConfigBoxにシグナリングするように構成することができる。
class RegionOnSphereSampleEntry extends MetaDataSampleEntry(‘rosp’){
RegionOnSphereConfigBox();//mandatory
Box[]other_boxes;//optional

class RegionOnSphereConfigBox extends FullBox(‘rose’,version=0,flags){
unsigned int(8)shape_type;
bit(7)reserved=0;
unsigned int(1)dynamic_range_flag;
if(dynamic_range_flag==0){
unsigned int(32)static_hor_rangc;
unsigned int(32)static_ver_range;

unsigned int(16)num_regions;

セマンティクス
0に等しいshape_typeは、領域が4つの大きな円によって示されることを指定する。
1に等しいshape_typeは、領域が2つのヨー円及び2つのピッチ円によって示されることを指定する。
1より大きいshape_typeの値が予備とされる。
0に等しいdynamic_range_flagは、このサンプルエントリを参照する全てのサンプルにおいて、領域の水平及び垂直方向の範囲が変更されないままであることを指定する。
1に等しいdynamic_range_flagは、領域の水平及び垂直方向の範囲がサンプルフォーマットで示されることを指定する。
static_hor_range及びstatic_ver_rangeは、このサンプルエントリを参照する各サンプルに対する領域の水平及び垂直方向の範囲を、それぞれ、2−16度の単位で指定する。static_hor_rangeは、両端値を含む0〜72065536の範囲にあるものとする。
static_ver_rangeは、両端値を含む0〜36065536の範囲にあるものとする。static_hor_range及びstatic_ver_rangeは、領域の中心点を通る範囲を指定する。
値0は、球面上の点のインジケーションを可能にするために、static_hor_range及びstatic_ver_rangeに対して許可されることに留意されたい。この場合、いくつかの実施例では、領域はゼロ面積を有してもよい。
num_regionsは、このサンプルエントリを参照するサンプル内の領域数を指定する。num_regionsは、1に等しいものとする。num_regionsの他の値は予備とされる。
従って、本明細書に記載される技術によれば、データカプセル化装置107は、角度値の精度の向上を可能にするように構成することができる。
上述のChoiで提供されるRegionOnSphereStructのシンタックス及びセマンティクスを参照すると、一実施例では、データカプセル化装置107は、RegionOnSphereStructをより効率的にシグナリングするように構成されてもよい。一実施例では、データカプセル化装置107は、以下のシンタックスに従って、RegionOnSphereStructにシグナリングするように構成することができる。
aligned(8)RegionOnSphereStruct(range_included_flag){
signed int(16)center_yaw;
signed int(15)center_pitch;
bit(1)reserved=0;
if(range_included_flag)
unsigned int(16)hor_range;
unsigned int(16)ver_range;

aligned(8)RegionOnSphereSample(){
for(1=0;i < num_regions;i++)
RegionOnSphereStruet(dynamic_range_flag)

この場合、以下の例示的なセマンティクスを利用することができる。
RegionOnSphereStruct()がRegionOnSphereSample()構造に含まれる場合、以下が適用される。
center_yaw及びcenter_pitchは、グローバル座標系に対して、このサンプルによって指定される領域の中心点を0.01度単位で指定する。center_yawは、両端を含む−18000〜17999の範囲にあるものとする。center_pitchは、両端を含む−9000〜9000の範囲にあるものとする。
hor_range及びver_rangeは、存在する場合、このサンプルによって指定された領域の水平及び垂直方向の範囲を、それぞれ0.01度単位で指定する。hor_range及びver_rangeは、領域の中心点を通る範囲を指定する。
hor_rangeは、存在する場合、両端値を含む1〜36000の範囲にあるものとする。ver_rangeは、存在する場合、両端値を含む1〜18000の範囲にあるものとする。
別の例では、hor_rangeは、存在する場合、両端値を含む0〜36000の範囲にあるものとする。ver_rangeは、存在する場合、両端値を含む0〜18000の範囲にあるものとする。この場合、0の値はhor_range及びver_rangeに対して許可される。これにより、球体上の点を示すことができる。
range_included_flagが1に等しい場合、center_pitch+ver_range÷2は9000以下であり、center_pitch−ver_range÷2は−9000以上であるものとする。range_included_flagが1に等しい場合、center_yaw+hor_range÷2は17999以下であり、center_yaw−hor_range÷2は−18000以上であるものとする。range_included_flagが0に等しい場合、center_pitch+static_ver_range÷2は9000以下であり、center_pitch−static_ver_range÷2は−9000以上であるものとする。
range_included_flagが0に等しい場合、center_yaw+static_hor_range÷2は17999以下であり、center_yaw−static_hor_range÷2は−18000以上であるものとする。
別の実施例では、上記の制約の代わりに、又はそれに加えて、以下の制約が指定されてもよい:
range_included_flagが1に等しい場合:
center_pitch+ver_range÷2が9000より大きい場合は、(center_pitch+ver_range÷2−18000)として計算される。
center_pitch−ver_range÷2が−9000より小さい場合は、(center_pitch+ver_range÷2+18000)として計算される。
center_yaw+hor_range÷2が17999より大きい場合は、(center_yaw+hor_range÷2−36000)として計算される。
center_yaw−hor_range÷2が−18000より小さい場合は、(center_yaw+hor_range÷2+36000)として計算される。
range_included_flagが0に等しい場合:
center_pitch+static_ver_range÷2が9000より大きい場合は、(center_pitch+static_ver_range÷2−18000)として計算される。
center_pitch−static_ver_range÷2が−9000より小さい場合は、(center_pitch+static_ver_range÷2+18000)として計算される。
center_yaw+static_hor_range÷2が17999より大きい場合は、(center_yaw+static_hor_range÷2−36000)として計算される。
center yaw−static_hor_range÷2が−18000より小さい場合は、(center_yaw+static_hor_range÷2+36000)として計算される。
更に、一実施例では、データカプセル化装置107は、以下のシンタックス及びセマンティクスに従って、RegionOnSphereStructにシグナリングするように構成することができる。
シンタックス
aligned(8)RegionOnSphereStruct(range_included_flag){
signed int(32)center_yaw;
signed int(32)center_pitch;
signed int(32)center_roll;
if(range_included_flag){
unsigned int(32)hor_range;
unsigned int(32)ver_range;

aligned(8)RegionOnSphereSample(){
for(i=0;i < num_regions;i++)
RegionOnSphereStruct(dynamic_range_flag)

セマンティクス
RegionOnSphereStruct()がRegionOnSphereSample()構造に含まれる場合、以下が適用される。
center_yaw、center_pitch及びcenter_rollは、このサンプルによって指定された領域の中心点を、それぞれ、グローバル座標系に対して2−16度の単位で指定する。center_yawは、両端値を含む−180−16〜(18016)−1の範囲にあるものとする。center_pitchは、両端値を含む−9016〜9016の範囲にあるものとする。center_rollは、両端値を含む−18016〜(18016)−1の範囲にあるものとする。
hor_range及びver_rangeは、存在する場合、このサンプルによって指定された領域の水平及び垂直方向の範囲を、それぞれ、2−16度の単位で指定する。
hor_rangeは、両端値を含む0〜72065536の範囲にあるものとする。ver_rangeは、両端値を含む0〜360360の範囲にあるものとする。hor_range及びver_rangeは、領域の中心点を通る範囲を指定する。
値0は、球面上の点のインジケーションを可能にするために、hor_range及びver_rangeに対して許可されることに留意されたい。この場合、いくつかの実施例では、領域はゼロ面積を有してもよい。
球面上の領域は、以下のように導出された変数cYaw1、cYaw2、cPitch1、cPitch2を使用して定義される。
cYaw1=(((center_yaw−(range_included_flag?hor_range:static_hor_range)÷2)<−18000)?((center_yaw−(range_included_flag?hor_range:static_hor_range)÷2)+36000:((center_yaw−(range_included_flag?hor_range:static_hor_range)÷2))0.01π÷180
cYaw2=(((center_yaw+(range_included_flag?hor_range:static_hor_range)÷2)>17999)?(center_yaw+(range_included_flag?hor_range:
statie_hor_range)÷2)−36000:(((center_yaw+(range_included_flag?hor_range:static_hor_range)÷2))0.01π÷180
cPitch1=(((center_pitch−(range_included_flag?ver_range:static_ver_range)÷2)<−9000?(center_pitch−(range_included_flag?ver_range:static_ver_range)÷2)+18000:(center_pitch−(range_included_flag?ver_range:static_ver_range)÷2))0.01π÷180
cPitch2=(((center_pitch+(range_included_flag?ver_range:static_ver_range)÷2)>9000?(center_pitch+(range_included_flag?ver_range:static_ver_range)÷2)−18000:(center_pitch+(range_included_flag?ver_range:static_ver_range)÷2))0.01π÷180
shape_typeが0に等しい場合、領域は、上式により定義されるラジアンにおける4つの点cYaw1、cYaw2、cPitch1、cPitch2によって、並びにcenter_pitch及びcenter_yawにより定義される中心点によって画定される4つの大きな円によって、図6Aに示すように指定される。
shape_typeが1に等しい場合、領域は、上式により定義されるラジアンにおける4つの点cYaw1、cYaw2、cPitch1、cPitch2によって、並びにenter_pitch及びcenter_yawによって定義される中心点によって画定される2つのヨー円及び2つのピッチ円によって、図6Bに示すように指定される。
16ビットを用いたバイナリ角度測定が使用される場合:
球面上の領域は、以下のように導出された変数cYaw1、cYaw2、ePitch1、cPitch2を使用して定義される。
cYaw1=(center_yaw−(range_included_flag?hor_range:static_hor_range)÷2)(1÷65536)π÷180
cYaw2=(center_yaw+(range_included_flag?hor_range:static_hor_range)÷2)(1÷65536)π÷180
cPitch1=(center_pitch−(range_included_flag?ver_range:static_ver_range)÷2)(1÷65536)π÷180
cPitch2=(center_pitch+(range_included_flag?ver_range:static_ver_range)÷2)(1÷65536)π÷180
16.16の固定小数点表現が使用される場合:
球面上の領域は、以下のように導出された変数cYaw1、cYaw2、cPitch1、cPitch2を使用して定義される。
cYaw1=(center_yaw−(range_included_flag?hor_rangc:static_hor_range)÷2)(360÷4294967296)π÷180
cYaw2=(center_yaw+(range_included_flag?hor_range:static_horrange)÷2)(360÷4294967296)π÷180
cPitchl=(center_pitch−(range_included_flag?ver_range:static_ver_range)÷2)(180÷4294967296)π÷180
cPitch2=(center_pitch+(range_included_flag?ver_range:static_ver_range)÷2)(180÷4294967296)π÷180
別の例では、変数cYaw1、cYaw2、ePitch1、ePitch2を導出するために、以下の式を使用することができる。
cYaw1=(((center_yaw−(range_included_flag?hor_range:static_hor_range)÷2)<−18000)?((center_yaw−(range_included_flag?hor_range:static_hor_range)÷2)+36000:((center_yaw−(range_included_flag?hor_range:static_hor_range)÷2))(360÷65536)π÷180
cYaw2=(((center_yaw+(range_included_flag?hor_range:static_hor_range)÷2)>17999)?(center_yaw+(range_included_flag?hor_range:static_hor_range)÷2)−36000:(((center_yaw+(range_included_flag?hor_range:static_hor_range)÷2))(360+65536)π÷180
ePitch1=(((center_pitch−(range_included_flag?ver_range:static_ver_range)÷2)<−9000?(center_pitch−(range_included_flag?ver_range:statie_ver_range)÷2)+18000;(center_pitch−(range_included_flag?ver_range:static_ver_range)÷2))(180÷65536)π÷180
cPitch2=(((center_pitch+(range_included_flag?ver_range:static_ver_range)÷2)>9000?(center_pitch+(range_included_flag?ver_range:static_ver_range)÷2)−18000:(center_pitch+(range_included_flag?ver_range:static_ver_range)÷2))(180÷65536)π÷180
従って、本明細書に記載される技術によれば、データカプセル化装置107は、角度値の精度の向上を可能にするように構成することができる。
上述のChoiで提供されるIntialViewpointSampleシンタックスを参照すると、一実施例では、データカプセル化装置107は、符号付き16ビット整数として、より効率的にロールをシグナリングするように構成されてもよい。ロール角は、両端値を含む−180〜179.99の範囲で変化する可能性があるため、初期視点でロールのデータ型を変更することが有用であり得る。更に、ロールの許容範囲が変更される。一実施例では、データカプセル化装置107は、以下のシンタックス及びセマンティクスを使用して、ロールをより効率的にシグナリングするように構成することができる。
シンタックス
class initialViewpointSample()extends RegionOnSphereSample{
signed int(16)roll;
unsigned int(1)refresh_flag;
bit(7)reserved=0;

セマンティクス
center_yaw、center_pitch、及びrollは、グローバル座標系に対して0.01度単位でビューポート方位を指定する。
center_yaw及びcenter_pitchは、ビューポートの中心を示し、rollは、ビューポートのロール角を示す。
ロールは、両端値を含む−18000〜17999の範囲にあるものとする。
上述のChoiで提供されるRegionOnSphereConfigBoxシンタックスを参照すると、一実施例では、データカプセル化装置107は、符号なし8ビット整数として、num_regionsをより効率的にシグナリングするように構成されてもよい。現在、num_regionsの1つの値のみが許可され定義されている。このように、num_regionsは1に等しいものとすることが必要とされる。以下に示すように、RegionOnSphere−ConfigBoxでnum_regionsをシグナリングするのがより効率的であり得る。
シンタックス
class RegionOnSphereSampleEntry extends MetaDataSampleEntry(‘rosp’){
RegionOnSphereConfigBox();//mandatory
Box[]other_boxes;//optional

class RegionOnSphereConfigBox extends FullBox(‘rosc’,version=0,flags){
unsigned int(8)shape_type;
bit(7)reserved=0;
unsigned int(1)dynamic_range_flag;
if(dynamic_range_flag==0){
unsigned int(16)static_hor_range;
unsigned int(16)static_ver_range;

unsigned int(8)num_regions;
上述のChoiで提供される最も関心のある領域のシグナリングシンタックスを参照すると、一実施例では、以下に示すように、Choiにおける他のフィールドのビット幅と一致する完全な矩形を指定できるようにするために、最も関心のある領域矩形のビット幅(left_horizontal_offset、top_vertical_offset、region_width、及びregion_height)が、unsigned int(32)を使用してシグナリングされ得る。
unsigned int(32)regionbase_id;
unsigned int(16)entry_count;
for(i=1;i<=entry_count;i++){
unsigned int(32)left_horizontal_offset;
unsigned int(32)top_vertical_offset;
unsigned int(32)region_width;
unsigned int(32)region_height;
上述のChoiに提供された推奨ビューポートの説明を参照すると、推奨ビューポート時限メタデータトラックは、ユーザが視聴方位の制御を有さないか、又は視聴方位の制御を解除したときに表示されるべきビューポートを示す。本明細書に記載される技術によれば、データカプセル化装置107は、推奨されるヨー、ピッチ、並びに水平及び垂直範囲に対する時限メタデータトラックにおいて以前に通知された値が保持又は補間されているかどうかを示すシンタックス要素をシグナリングするように構成されてもよく、これによって、例えば、各サンプルに対して推奨されるビューポートをシグナリングすることと比較して、効率的なシグナリングを提供する。一実施例では、本明細書に記載される技術によれば、データカプセル化装置107は、以下の例示的な定義、シンタックス、及びセマンティクスに基づいて、推奨されるビューポートをシグナリングするように構成することができる。
定義
推奨ビューポート時限メタデータトラックは、ユーザが視聴方位の制御を有さないか、又は視聴方位の制御を解除したときに表示されるべきビューポートを示す。
注記:推奨されるビューポートタイミングメタデータトラックは、ディレクターズカットを示すために使用されてもよい。
サンプルエントリタイプ‘rcvp’を使用するものとする。
RegionOnSphereSampleのサンプルシンタックスを使用するものとする。
サンプルエントリのRegionOnSphereConfigBoxにおいて、shape_typeは0に等しいものとする。
シンタックス
class RecommendedViewportSample()extends RegionOnSphereSample {
unsigned int(1)ioh;
bit(7)reserved=0;

セマンティクス
static_hor_range及びstatic_ver_rangeは、存在する場合、又はhor_range及びver_rangeは、存在する場合、推奨ビューポートの水平視野及び垂直視野をそれぞれ示す。
center_yaw及びcenter_pitchは、推奨ビューポートの中心点を示す。
一実施例では、0に等しいiohは、このRecommendedViewportSampleにおける示された推奨ビューポートのcenter_yaw、center_pitch、hor_range(存在する場合)、及びver_range(存在する場合)の値が、次のRecommendedViewportSampleまで参照トラック内のサンプルに使用されるものとすることを指定する。
1に等しいiohは、示された推奨ビューポートのcenter_yaw、center_pitch、hor_range(存在する場合)、及びver_range(存在する場合)の値が、連続するRecommendedViewportSampleの対応する値の間で、線形に補間されるべきであることを指定する。
一実施例では、0に等しいiohは、このRecommendedViewportSampleにおける示された推奨ビューポートのcenter_yaw、center_pitch、存在する場合はstatic_hor_rangeそうでない場合はhor_range値、存在する場合はstatic_ver_rangeそうでない場合はver_range値が、次のRecommendedViewportSampleまで参照トラック内のサンプルに使用されるものとすることを指定する。
1に等しいiohは、示された推奨ビューポートのcenter_yaw、center_pitch、存在する場合はstatic_hor_rangeそうでない場合はhor_range値、存在する場合はstatic_ver_rangeそうでない場合ver_range値が、連続するRecommendedViewportSampleの対応する値の間で、線形に補完されなければならない/されるべきである/されてもよいことを指定する。
一実施例では、0に等しいiohは、前のサンプルと現在のサンプルとの間に、推奨ビューポートのcenter_yaw、center_pitch、hor_range(存在する場合)、及びver_range(存在する場合)の値のいかなる補間もあってはならないことを示す。
1に等しいiohは、アプリケーションが、前のサンプルと現在のサンプルの間に、推奨ビューポートのcenter_yaw、center_pitch、hor_range(存在する場合)、及びver_range(存在する場合)の値を線形に補間できることを示す。
一実施例では、0に等しいiohは、このRecommendedViewportSampleにおける示された推奨ビューポートのcenter_yaw、center_pitchの値が、次のRecommendedViewportSampleまで参照トラック内のサンプルに使用されるものとすることを指定する。
1に等しいiohは、示された推奨ビューポートのcenter_yaw、center_pitchの値が、連続するRecommendedViewportSampleの対応する値の間で線形に補間されるべきであることを指定する。
別の例では、上述のシンタックス要素unsigned int(1)ioh;は、以下の実施例に示すように、RegionOnSphereConfigBoxに含まれてもよい:
シンタックス
class RegionOnSphereSampleEntry extends MetaDataSampleEntry(‘rosp’){
RegionOnSphereConfigBox();//mandatory
Box[] other_boxes;//optional

class RegionOnSphereConfigBox extends FullBox(‘rose’,version=0,flags){
unsigned int(8)shape_type;
bit(6)reserved=0;
unsigned int(1)ioh;
unsigned int(1)dynamic_range_flag;
if(dynamic_range_flag==0){
unsigned int(16)static_hor_range;
unsigned int(16)static_ver_range;

unsigned int(8)num_regions;

この場合、一実施例では、0に等しいiohは、このRegionOnSphereConfigBoxにおける示されたcenter_yaw、center_pitch、hor_range(存在する場合)、及びver_range(存在する場合)の値が、次のRegionOnSphereConfigBoxまで参照トラック内のサンプルに使用されるものとすることを指定する。
1に等しいiohは、示された推奨ビューポートのcenter_yaw、center_pitch、hor_range(存在する場合)、及びver_range(存在する場合)の値が、連続するRegionOnSphereConfigBoxの対応する値の間で、線形に補間されるべきであることを指定する。
別の例では、上述のシンタックス要素unsigned int(1)ioh;は、以下に示すように、RegionOnSphereStructに含まれてもよい:
aligned(8)RegionOnSphcreStruct(range_included_flag){
signed int(16)center_yaw;
signed int(15)center_pitch;
unsigned int(1)ioh;
if(range_included_flag){
unsigned int(16)hor_range;
unsigned int(16)ver_range;

aligned(8)RegionOnSphereSample(){
for(i=0;i < num_regions;i++)
RegionOnSphereStruct(dynamic_range_flag)

この場合、一実施例では、0に等しいiohは、このRegionOnSphereStructにおける示されたcenter_yaw、center_pitch、hor_range(存在する場合)、及びver_range(存在する場合)の値が、次のRegionOnSphereStructまで参照トラック内のサンプルに使用されるものとすることを指定する。1に等しいiohは、示された推奨ビューポートのcenter_yaw、center_pitch、hor_range(存在する場合)、及びver_range(存在する場合)の値が、連続するRegionOnSphereStructの対応する値の間で、線形に補間されるべきであることを指定する。
一実施例では、ヨー、ピッチ、水平及び垂直範囲が、連続する時限メタデータトラックサンプル間で補間されるか又は保持されるかどうかを示すために、それぞれのフラグが、推奨ビューインポートシンタックスに含まれてもよいことに留意されたい。推奨ビューポートシンタックスにこれらの各フラグが含まれる例では、シンタックス及びセマンティクスは、以下に提供される例示的なシンタックス及びセマンティクスに基づいてもよい:
シンタックス
class RecommendedViewportSample()extends RegionOnSphereSample{
unsigned int(1)ioh_yaw;
unsigned int(1)ioh_pitch;
unsigned int(1)ioh_hrange;
unsigned int(1)ioh_vrange;
bit(4)reserved=0;

セマンティクス
注記1:サンプル構造がRegionOnSphereSampleから拡張されると、RegionOnSphereSampleのシンタックス要素がサンプルに含まれる。
static_hor_range及びstatic_ver_rangeが存在する場合、又はhor_range及びver_rangeが存在する場合、推奨ビューポートの水平視野及び垂直視野をそれぞれ示す。
center_yaw及びcenter_pitchは、推奨ビューポートの中心点を示す。
0に等しいiohは、示された推奨ビューポートのcenter_yaw、center_pitch、このRecommendedViewportSample内のhor_rangeの値(存在する場合)及びver_rangeの値(存在する場合)が、参照トラックにおけるサンプルに対して次のRecommendedViewportSampleまで使用されるものとする。1に等しいiohは、示された推奨ビューポートのcenter_yaw、center_pitch、hor_range値(存在する場合)、及びver_range値(存在する場合)が、連続するRecommendedViewportSampleの対応する値の間で、線形に補間されるべきことを指定する。
0に等しいioh_yawは、このRecommendedViewportSampleにおける示された推奨ビューポートのcenter_yaw値が、次のRecommendedViewportSampleまで参照トラック内のサンプルに使用されるものとすることを指定する。1に等しいioh_yawは、示された推奨ビューポートのcenter_yaw値が、連続するRecommendedViewportSampleのcenter_yaw値の間で線形に補間されるべきであることを指定する。
0に等しいioh_pitchは、このRecommendedViewportSampleにおける示された推奨ビューポートのcenter_pitch値が、次のRecommendedViewportSampleまで参照トラック内のサンプルに使用されるものとすることを指定する。1に等しいioh_pitchは、示された推奨ビューポートのcenter_pitch値が、連続するRecommendedViewportSampleのcenter_pitch値の間で線形に補間されるべきであることを指定する。
0に等しいioh_rangeは、このRecommendedViewportSample内の示された推奨ビューポートhor_range値(存在する場合)が、次のRecommenendedViewportSampleまで参照トラック内のサンプルに使用されるものとすることを指定する。1に等しいioh_hrangeは、示された推奨ビューポートのhor_range値(存在する場合)が、連続するRecommendedViewportSampleのhor_range値の間で線形に補間されるべきであることを指定する。
0に等しいioh_vrangeは、このRecommendedViewportSample内の示された推奨ビューポートver_range値(存在する場合)が、次のRecommendedViewportSampleまで参照トラック内のサンプルに使用されるものとすることを指定する。1に等しいioh_vrangeは、示された推奨ビューポートのver_range値(存在する場合)が、連続するRecommendedViewportSampleのver_range値の間で線形に補間されるべきであることを指定する。
一実施例では、補間値は、次のサンプルまで保持され得ることに留意されたい。
図1を再び参照すると、インターフェース108は、データカプセル化装置107によって生成されたデータを受信し、そのデータを通信媒体に送信及び/又は記憶するように構成された任意のデバイスを含んでもよい。インターフェース108は、イーサネットカードなどのネットワークインターフェースカードを含むことができ、光送受信機、無線周波数送受信機、又は情報を送信及び/若しくは受信することができる任意の他の種類のデバイスを含むことができる。更に、インターフェース108は、ファイルを記憶デバイス上に記憶することを可能にすることができるコンピュータシステムインターフェースを含むことができる。例えば、インターフェース108は、Peripheral Component Interconnect(PCI)及びPeripheral Component Interconnect Express(PCIe)バスプロトコル、独自のバスプロトコル、ユニバーサルシリアルバス(Universal Serial Bus、USB)プロトコル、IC、又はピアデバイスを相互接続するために使用することができる任意の他の論理及び物理構造をサポートする、チップセットを含むことができる。
図1を再び参照すると、目的デバイス120は、インターフェース122と、データ脱カプセル化装置123と、動画像復号装置124と、ディスプレイ126とを含む。インターフェース122は、通信媒体からデータ受信するように構成されている任意のデバイスを含むことができる。インターフェース122は、イーサネットカードなどのネットワークインターフェースカードを含むことができ、光送受信機、無線周波数送受信機、又は情報を受信及び/若しくは送信することができる任意の他の種類のデバイスを含むことができる。更に、インターフェース122は、適合した動画像ビットストリームを記憶デバイスから取得することを可能にするコンピュータシステム用インターフェースを含むことができる。例えば、インターフェース122は、PCI及びPCIeバスプロトコル、独自のバスプロトコル、USBプロトコル、IC、又はピアデバイスを相互接続するために使用することができる任意の他の論理及び物理構造をサポートする、チップセットを含むことができる。データ脱カプセル化装置123は、データカプセル化装置107によって生成されたビットストリーム及びメタデータを受信し、相互的な脱カプセル化処理を実行するように構成されてもよい。
動画像復号装置124は、ビットストリーム及び/又はその許容可能な変形を受信し、それから動画像データを再生するように構成されている任意のデバイスを含むことができる。ディスプレイ126は、動画像データを表示するように構成された任意のデバイスを含むことができる。ディスプレイ126は、液晶ディスプレイ(liquid crystal display、LCD)、プラズマディスプレイ、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、又は別の種類のディスプレイなどの、様々なディスプレイデバイスのうちの1つを含むことができる。ディスプレイ126は、高解像度ディスプレイ又は超高解像度ディスプレイを含むことができる。ディスプレイ126は、ステレオスコープディスプレイを含んでもよい。図1に示す例では、動画像復号装置124は、データをディスプレイ126に出力するように説明されているが、動画像復号装置124は、動画像データを様々な種類のデバイス及び/又はそのサブコンポーネントに出力するように構成することができることに留意されたい。例えば、動画像復号装置124は、本明細書で説明するような任意の通信媒体に動画像データを出力するように構成することができる。目的デバイス120は、受信デバイスを含むことができる。
図5は、本開示の1つ以上の技術を実施できる受信デバイスの例を示すブロック図である。すなわち、受信デバイス600は、上述のセマンティクスに基づいて信号をパースするように構成されてもよい。受信デバイス600は、通信ネットワークからデータを受信し、仮想現実アプリケーションを含むマルチメディアコンテンツにユーザがアクセスすることを可能にするように構成され得る演算デバイスの一例である。図5に示す実施例では、受信デバイス600は、例えば上述のテレビサービスネットワーク404などの、テレビネットワークを介してデータを受信するように構成されている。更に、図5に示す例では、受信デバイス600は、ワイドエリアネットワークを介してデータを送受信するように構成されている。他の実施例では、受信デバイス600は、テレビサービスネットワーク404を介して単にデータを受信するように構成されてもよいことに留意されたい。本明細書に記載された技術は、通信ネットワークのうちのいずれか及び全ての組み合わせを使用して通信するように構成されているデバイスによって利用され得る。
図5に示すように、受信デバイス600は、中央処理装置(単数又は複数)602、システムメモリ604、システムインターフェース610、データ抽出装置612、音声復号装置614、音声出力システム616、動画像復号装置618、表示システム620、I/Oデバイス(単数又は複数)622、及びネットワークインターフェース624を含む。図5に示すように、システムメモリ604は、オペレーティングシステム606及びアプリケーション608を含む。中央処理装置(単数又は複数)602、システムメモリ604、システムインターフェース610、データ抽出装置612、音声復号装置614、音声出力システム616、動画像復号装置618、表示システム620、I/Oデバイス(単数又は複数)622、及びネットワークインターフェース624の各々は、コンポーネント間通信のために(物理的、通信的、及び/又は動作的に)相互接続してもよく、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はこれらの組み合わせなどの様々な好適な回路のいずれかとして実装することができる。受信デバイス600は、別個の機能ブロックを有するものとして図示されているが、このような図示は、説明を目的としており、受信デバイス600を特定のハードウェアアーキテクチャに限定しないという点に留意されたい。受信デバイス600の機能は、ハードウェア実装、ファームウェア実装、及び/又はソフトウェア実装の任意の組み合わせを使用して実現することができる。
CPU(単数又は複数)602は、受信デバイス600において実行するための機能及び/又はプロセス命令を実施するように構成されてもよい。CPU(単数又は複数)602は、シングルコア及び/又はマルチコアの中央処理装置を含むことができる。CPU(単数又は複数)602は、本明細書に記載された技術のうちの1つ以上を実施するための命令、コード、及び/又はデータ構造を検索及び処理することが可能であり得る。命令は、システムメモリ604などのコンピュータ可読媒体に記憶することができる。
システムメモリ604は、非一時的又は有形のコンピュータ可読記憶媒体として記載することができる。いくつかの実施例では、システムメモリ604は、一時的及び/又は長期記憶部を提供することができる。いくつかの実施例では、システムメモリ604又はその一部は、不揮発性メモリとして記載されてもよく、別の実施例では、システムメモリ604の一部は、揮発性メモリとして記載されてもよい。システムメモリ604は、動作中に受信デバイス600によって使用され得る情報を記憶するように構成されてもよい。システムメモリ604は、CPU(単数又は複数)602によって実行するためのプログラム命令を記憶するために使用することができ、受信デバイス600上で実行しているプログラムによって、プログラム実行中に情報を一時的に記憶するために使用されてもよい。更に、受信デバイス600がデジタルビデオレコーダの一部として含まれる実施例では、システムメモリ604は、多数の動画像ファイルを記憶するように構成されてもよい。
アプリケーション608は、受信デバイス600内で実施されるか又はそれによって実行されるアプリケーションを含むことができ、受信デバイス600の構成要素内に実装されるか若しくは含まれ、それによって動作可能であり、それによって実行され、及び/又は動作的/通信的に結合され得る。アプリケーション608は、受信デバイス600のCPU(単数又は複数)602に特定の機能を実行させることができる命令を含むことができる。アプリケーション608は、forループ、whileループ、ifステートメント、doループなどのコンピュータプログラミングステートメントで表現されたアルゴリズムを含むことができる。アプリケーション608は、特定のプログラミング言語を使用して開発することができる。プログラミング言語の例としては、Java(登録商標)、Jini(登録商標)、C、C++、Objective C、Swift、Perl(登録商標)、Python(登録商標)、PhP、UNIX(登録商標)Shell、Visual Basic、及びVisual Basic Scriptが挙げられる。受信デバイス600がスマートテレビを含む実施例では、テレビ製造業者又は放送局によってアプリケーションが開発されてもよい。図5に示すように、アプリケーション608は、オペレーティングシステム606と連携して実行することができる。すなわち、オペレーティングシステム606は、受信デバイス600のCPU(単数又は複数)602及び他のハードウェアコンポーネントとのアプリケーション608のインタラクションを容易にするように構成されてもよい。オペレーティングシステム606は、セットトップボックス、デジタルビデオレコーダ、テレビなどにインストールされるように設計されたオペレーティングシステムであってよい。本明細書に記載された技術は、ソフトウェアアーキテクチャのいずれか及び全ての組み合わせを使用して動作するように構成されたデバイスによって利用され得ることに留意されたい。
システムインターフェース610は、受信デバイス600の構成要素間で通信できるように構成されてもよい。一実施例では、システムインターフェース610は、あるピアデバイスから別のピアデバイス又は記憶媒体にデータを転送することを可能にする構造を含む。例えば、システムインターフェース610は、アクセラレーテッドグラフィックスポート(Accelerated Graphics Port、AGP)ベースプロトコル、例えば、Peripheral Component Interconnect Special Interest Groupによって管理されたPCI Express(登録商標)(PCIe)バス仕様などのペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect、PCI)バスベースプロトコル、又はピアデバイスと相互接続するのに使用することができる任意の他の形態の構造(例えば、独自のバスプロトコル)に対応するチップセットを含むことができる。
上述のように、受信デバイス600は、テレビサービスネットワークを介してデータを受信し、任意選択的に送信するように構成されている。上述のように、テレビサービスネットワークは、電気通信規格に従って動作することができる。電気通信規格は、例えば、物理シグナリング、アドレス指定、チャネルアクセス制御、パケット特性、及びデータ処理などの通信特性(例えば、プロトコル層)を定義することができる。図5に示す例では、データ抽出装置612は、信号から動画像、音声、及びデータを抽出するように構成されてもよい。信号は、例えば、態様DVB規格、ATSC規格、ISDB規格、DTMB規格、DMB規格、及びDOCSIS規格に従って定義され得る。
データ抽出装置612は、信号から動画像、音声、及びデータを抽出するように構成されてもよい。すなわち、データ抽出装置612は、サービス配信エンジンに対して相互的な方法で動作することができる。更に、データ抽出装置612は、上述の構造のうちの1つ以上の任意の組み合わせに基づいて、リンク層パケットをパースするように構成されてもよい。
データパケットは、CPU(単数又は複数)602、音声復号装置614、及び動画像復号装置618によって処理されてもよい。音声復号装置614は、音声パケットを受信及び処理するように構成されてもよい。例えば、音声復号装置614は、音声コーデックの態様を実施するように構成されているハードウェア及びソフトウェアの組み合わせを含むことができる。すなわち、音声復号装置614は、音声パケットを受信して、レンダリングのために音声出力システム616に音声データを提供するように構成されてもよい。音声データは、Dolby及びDigital Theater Systemsによって開発されたものなどのマルチチャネルフォーマットを使用して、符号化されてもよい。音声データは、音声圧縮フォーマットを使用して符号化されてもよい。音声圧縮フォーマットの例としては、Motion Picture Experts Group(MPEG)フォーマット、先進的音響符号化(Advanced Audio Coding、AAC)フォーマット、DTS−HDフォーマット、及びドルビーデジタル(AC−3)フォーマットが挙げられる。音声出力システム616は、音声データをレンダリングするように構成されてもよい。例えば、音声出力システム616は、音声プロセッサ、デジタル/アナログ変換装置、増幅器、及びスピーカシステムを含むことができる。スピーカシステムは、ヘッドホン、統合ステレオスピーカシステム、マルチスピーカシステム、又はサラウンドサウンドシステムなどの様々なスピーカシステムのいずれかを含むことができる。
動画像復号装置618は、動画像パケットを受信及び処理するように構成されてもよい。例えば、動画像復号装置618は、動画像コーデックの態様を実施するように使用されるハードウェア及びソフトウェアの組み合わせを含むことができる。一例では、動画像復号装置618は、ITU−T H.262又はISO/IEC MPEG−2 Visual、ISO/IEC MPEG−4 Visual、ITU−T H.264(ISO/IEC MPEG−4 Advanced video Coding(AVC)としても知られている)、及びHigh−Efficiency Video Coding(HEVC)などの任意の数の動画像圧縮規格に従って符号化された動画像データを復号化するように構成されてもよい。表示システム620は、表示のために動画像データを検索及び処理するように構成されてもよい。例えば、表示システム620は、動画像復号装置618から画素データを受信し、ビジュアルプレゼンテーションのためにデータを出力することができる。更に、表示システム620は、動画像データと関連するグラフィックス(例えば、グラフィカルユーザインターフェース)を出力するように構成されてもよい。表示システム620は、液晶ディスプレイ(liquid crystal display、LCD)、プラズマディスプレイ、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、又は動画像データをユーザに提示することができる別のタイプのディスプレイデバイスなどの様々な表示デバイスのうちの1つを含むことができる。表示デバイスは、標準精細度コンテンツ、高精細度コンテンツ、又は超高精度コンテンツを表示するように構成されてもよい。
I/Oデバイス(単数又は複数)622は、受信デバイス600の動作中に入力を受信し、出力を提供するように構成されてもよい。すなわち、I/Oデバイス(単数又は複数)622は、レンダリングされるマルチメディアコンテンツをユーザが選択できるようにする。入力は、例えば、押しボタン式リモートコントロール、タッチ感知スクリーンを含むデバイス、モーションベースの入力デバイス、音声ベースの入力デバイス、又はユーザ入力を受信するように構成された任意の他のタイプのデバイスなどの入力デバイスから生成され得る。I/Oデバイス(単数又は複数)622は、例えば、ユニバーサルシリアルバスプロトコル(Universal Serial Bus、USB)、Bluetooth(登録商標)、ZigBee(登録商標)などの規格化された通信プロトコル、又は例えば、独自の赤外線通信プロトコルなどの独自の通信プロトコルを使用して、受信デバイス600に動作可能に結合され得る。
ネットワークインターフェース624は、受信デバイス600がローカルエリアネットワーク及び/又はワイドエリアネットワークを介してデータを送信及び受信できるように構成されてもよい。ネットワークインターフェース624は、Ethernet(登録商標)カードなどのネットワークインターフェースカード、光トランシーバ、無線周波数トランシーバ、又は情報を送信及び受信するように構成された任意の他の種類のデバイスを含むことができる。ネットワークインターフェース624は、ネットワークで利用される物理層及びメディアアクセス制御(Media Access Control、MAC)層に従って、物理的シグナリング、アドレッシング、及びチャネルアクセス制御を実行するように構成されてもよい。受信デバイス600は、本明細書に記載された技術のいずれかに従って生成された信号をパースするように構成されてもよい。このように、受信デバイス600は、仮想現実アプリケーションに関連付けられた情報を含む1つ以上のシンタックス要素をパースするように構成されているデバイスの一例を表す。
1つ以上の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせで実装することができる。ソフトウェアで実装される場合に、この機能は、コンピュータ可読媒体上の1つ以上の命令又はコードとして記憶するか又は伝送され、ハードウェアベースの処理部によって実行することができる。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、データ記憶媒体又は通信媒体などの有形の媒体に対応する、コンピュータ可読記憶媒体を含むことができる。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的な有形のコンピュータ可読記憶媒体、又は(2)信号又は搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示中に記載された技術の実現のための命令、コード、及び/又はデータ構造を取り出すために、1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
一例として、非限定的に、このようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROM、又は他の光学ディスク記憶装置、磁気ディスク記憶装置、他の磁気記憶装置、フラッシュメモリ、又は任意の他の媒体、すなわち命令又はデータ構造の形式で所望のプログラムコードを記憶するために使用可能であり、かつコンピュータによりアクセス可能な任意の他の媒体を含むことができる。また、任意の接続は、コンピュータ可読媒体と適切に呼ばれる。例えば、命令がウェブサイト、サーバ、又は他のリモートソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(digital subscriber line、DSL)、あるいは赤外線、無線及びマイクロ波などの無線技術を使用して伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、あるいは赤外線、無線及びマイクロ波などの無線技術は、媒体の定義に含まれる。しかし、コンピュータ可読媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一過性媒体を含まないが、代わりに非一時的な有形記憶媒体を対象としていることを理解すべきである。本発明で使用する場合、ディスク(disk)及びディスク(disc)は、コンパクトディスク(Compact Disc、CD)、レーザーディスク(laser disc)、光学ディスク(optical disc)、デジタル多用途ディスク(Digital Versatile Disc、DVD)、フロッピーディスク(floppy disk)及びブルーレイ(登録商標)ディスク(Blu-ray(登録商標)disc)を含み、ディスク(disk)は通常データを磁気的に再生し、ディスク(disc)はレーザを用いてデータを光学的に再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれなければならない。
命令は、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は他の同等の集積又はディスクリートロジック回路などの1つ以上のプロセッサによって実行することができる。従って、本発明で使用する場合、用語「プロセッサ」は、本明細書に記載された技術の実施に好適な前述の構造又は任意の他の構造のいずれかを指すことができる。加えて、いくつかの態様において、本明細書に記載の機能は、符号化及び復号化するように構成された、又は複合コーデックに組み込まれた専用のハードウェアモジュール及び/又はソフトウェアモジュール内に設けられ得る。また、この技術は、1つ以上の回路又は論理素子中に完全に実装することができる。
本開示の技術は、無線ハンドセット、集積回路(integrated circuit、IC)、又はICのセット(例えば、チップセット)を含む多種多様なデバイス又は装置に実装することができる。様々なコンポーネント、モジュール、又はユニットは、開示された技術を実行するように構成されたデバイスの機能的な態様を強調するために本開示中に記載されているが、異なるハードウェアユニットによる実現は必ずしも必要ではない。むしろ、前述したように、様々なユニットは、コーデックハードウェアユニットと組み合わせてもよく、又は好適なソフトウェア及び/又はファームウェアと共に、前述の1つ以上のプロセッサを含む、相互動作ハードウェアユニットの集合によって提供することができる。
更に、上述の各実装形態で用いた基地局装置や端末装置の各機能ブロックや各種の機能は、一般的には集積回路又は複数の集積回路である電気回路によって実現又は実行することができる。本明細書に記載の機能を実行するように設計された回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け又は汎用アプリケーション集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)若しくは他のプログラマブルロジックデバイス、ディスクリートゲート若しくはトランジスタロジック、若しくは個々のハードウェアコンポーネント、又はそれらの組み合わせを備えていてもよい。汎用プロセッサは、マイクロプロセッサでもよく、あるいは、プロセッサは、従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンでもよい。上述した汎用プロセッサ又は各回路は、デジタル回路で構成されても、又はアナログ回路で構成されてもよい。更に、半導体技術の進歩により現時点での集積回路に置き換わる集積回路化技術が現れれば、この技術による集積回路もまた使用可能となる。
様々な実施例について説明した。これら及び他の実施例は、以下の特許請求の範囲内である。
<相互参照>
この非仮出願は、米国特許法119条のもと、米国特許仮出願第62/477,379号(2017年3月27日出願)、第62/479,162号(2017年3月30日出願)、第62/482,124号(2017年4月5日出願)、第62/482,289号(2017年4月6日出願)に基づく優先権を主張するものであり、その内容の全体が参照により本明細書に組み込まれる。

Claims (9)

  1. 全方向動画像の最も関心のある領域に関連付けられた情報をシグナリングする方法であって、
    領域の位置及びサイズがパックフレーム上又はプロジェクトフレーム上のどちらで示されるかを示すシンタックス要素をシグナリングすることを含む、方法。
  2. 識別された領域を領域ラベルと関連付けるシンタックス要素をシグナリングすることを更に含む、請求項1に記載の方法。
  3. 領域ラベルが存在するかどうかを示すシンタックス要素をシグナリングすることを更に含む、請求項1又は2に記載の方法。
  4. 領域ラベルは文字列を含む、請求項2又は3に記載の方法。
  5. 請求項1から4に記載のステップのうちのいずれか及び全ての組み合わせを実行するように構成されている1つ以上のプロセッサを備える、デバイス。
  6. 請求項1から4に記載のステップのうちのいずれか及び全ての組み合わせに従って生成された信号をパースするように構成されている1つ以上のプロセッサを備える、デバイス。
  7. 請求項5のデバイスと、
    請求項6のデバイスとを備える、システム。
  8. 請求項1から4に記載のステップのうちのいずれか及び全ての組み合わせを実行するための手段を備える、装置。
  9. 非一時的コンピュータ可読記憶媒体であって、前記媒体上に記憶された命令を備え、前記命令は実行されると、デバイスの1つ以上のプロセッサに、請求項1から4に記載の前記ステップのうちのいずれか及び全ての組み合わせを実行させる、非一時的コンピュータ可読記憶媒体。
JP2019552312A 2017-03-27 2018-02-09 仮想現実アプリケーションに対して最も関心のある領域に関連付けられた情報をシグナリングするためのシステム及び方法 Pending JP2020516133A (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201762477379P 2017-03-27 2017-03-27
US62/477,379 2017-03-27
US201762479162P 2017-03-30 2017-03-30
US62/479,162 2017-03-30
US201762482124P 2017-04-05 2017-04-05
US62/482,124 2017-04-05
US201762482289P 2017-04-06 2017-04-06
US62/482,289 2017-04-06
PCT/JP2018/004574 WO2018179903A1 (en) 2017-03-27 2018-02-09 Systems and methods for signaling of information associated with most-interested regions for virtual reality applications

Publications (1)

Publication Number Publication Date
JP2020516133A true JP2020516133A (ja) 2020-05-28

Family

ID=63675078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019552312A Pending JP2020516133A (ja) 2017-03-27 2018-02-09 仮想現実アプリケーションに対して最も関心のある領域に関連付けられた情報をシグナリングするためのシステム及び方法

Country Status (5)

Country Link
US (1) US20200382809A1 (ja)
EP (1) EP3603082A4 (ja)
JP (1) JP2020516133A (ja)
CN (1) CN110476430A (ja)
WO (1) WO2018179903A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019194573A1 (en) * 2018-04-05 2019-10-10 Lg Electronics Inc. Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, and apparatus for receiving 360-degree video

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101507281B (zh) * 2006-07-12 2013-06-05 诺基亚公司 媒体文件中的兴趣区域可缩放性信息的信号发送
CA2740119C (en) * 2008-10-08 2013-07-23 Nokia Corporation System and method for storing multi-source multimedia presentations

Also Published As

Publication number Publication date
EP3603082A4 (en) 2020-08-05
US20200382809A1 (en) 2020-12-03
WO2018179903A1 (en) 2018-10-04
EP3603082A1 (en) 2020-02-05
CN110476430A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
WO2019189038A1 (en) Systems and methods for signaling camera parameter information
US20200120326A1 (en) Systems and methods for signaling view information for virtual reality applications
US20210211780A1 (en) Systems and methods for signaling sub-picture timed metadata information
WO2019146601A1 (en) Systems and methods for signaling position information
US10880617B2 (en) Systems and methods for signaling quality information for regions in virtual reality applications
WO2019139014A1 (en) Systems and methods for signaling sub-picture composition information for virtual reality applications
JP2021520711A (ja) 仮想現実アプリケーション用のサブピクチャコンポジション情報をシグナリングするためのシステム及び方法
US10848735B2 (en) Systems and methods for signaling information associated with constituent pictures in virtual reality applications
WO2020184645A1 (en) Systems and methods for signaling viewpoint information in omnidirectional media
US20210219013A1 (en) Systems and methods for signaling overlay information
JP2020516133A (ja) 仮想現実アプリケーションに対して最も関心のある領域に関連付けられた情報をシグナリングするためのシステム及び方法
WO2018212009A1 (en) Systems and methods for mapping sample locations to angular coordinates in virtual reality applications
US20200221104A1 (en) Systems and methods for signaling a projected region for virtual reality applications
WO2021125117A1 (en) Systems and methods for signaling information for a mesh in omnidirectional media
WO2020141604A1 (en) Systems and methods for signaling camera parameter information
WO2021075407A1 (en) Systems and methods for enabling interactivity for actionable locations in omnidirectional media
WO2019203102A1 (en) Systems and methods for signaling application specific messages in a virtual reality application
WO2019139052A1 (en) Systems and methods for signaling source information for virtual reality applications
WO2018179843A1 (en) Systems and methods for signaling information for virtual reality applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190930