JP6960528B2 - メディアコンテンツを生成および処理するための方法、装置、およびコンピュータプログラム - Google Patents

メディアコンテンツを生成および処理するための方法、装置、およびコンピュータプログラム Download PDF

Info

Publication number
JP6960528B2
JP6960528B2 JP2020513304A JP2020513304A JP6960528B2 JP 6960528 B2 JP6960528 B2 JP 6960528B2 JP 2020513304 A JP2020513304 A JP 2020513304A JP 2020513304 A JP2020513304 A JP 2020513304A JP 6960528 B2 JP6960528 B2 JP 6960528B2
Authority
JP
Japan
Prior art keywords
view
track
frame
coverage information
view frame
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
JP2020513304A
Other languages
English (en)
Other versions
JP2020537367A (ja
Inventor
フレデリック マゼ,
フランク ドゥヌアル,
ジョナサン タケ,
ナエル ウエドラオゴ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JP2020537367A publication Critical patent/JP2020537367A/ja
Application granted granted Critical
Publication of JP6960528B2 publication Critical patent/JP6960528B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • 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/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • 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/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
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • 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/4347Demultiplexing of several video streams
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

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

Description

本発明は、メディアコンテンツを生成および処理するための方法および装置に関する。
本発明は、例えばMPEG標準化機構によって定義されたISOベースメディアファイルフォーマットに従った仮想現実メディアコンテンツを含むステレオメディアコンテンツのカプセル化、構文解析、およびストリーミングに関するものであり、仮想現実メディアコンテンツの交換、管理、編集、およびプレゼンテーションを容易にし、適応型httpストリーミングプロトコルを使用して例えばインターネットのようなIPネットワーク上での配信を改善するための、柔軟で拡張可能なフォーマットを提供する。
国際標準化機構ベースメディアファイルフォーマット(ISO BMFF、ISO/IEC14496−12)は、ローカル記憶または、ネットワークを介するかまたは別のビットストリーム配信メカニズムを介する伝送のいずれかのための符号化された時分割(Timed)メディアデータビットストリームを記述する周知の柔軟かつ拡張可能なフォーマットである。このファイルフォーマットはオブジェクト指向である。これは、順次または階層的に編成されるボックスと呼ばれるビルディングブロックから構成される。これらのボックスは、タイミングパラメータおよび構造パラメータのような、符号化された時分割メディアデータビットストリームのパラメータを定義する。ファイルフォーマットでは、プレゼンテーション全体をムービーと呼ぶ。プレゼンテーション全体(またはメディアプレゼンテーション)に関連する記述メタデータは、4文字のコード「moov」によって識別されるムービーボックスと呼ばれるボックスに格納される。ムービーは、論理的にトラックに分割される(「moov」ボックスが各トラックに関連する1つまたは複数の「trak」ボックスを含むなど)。各トラックは、メディアデータ(ビデオまたはオーディオのフレームなど)の時分割シーケンスを表す。各トラック内で、各時分割されたデータ単位をサンプルと呼ぶ。これは、ビデオまたはオーディオのフレームの場合がある。サンプルは、暗黙のうちに順番に番号付けされる。ムービーは、ムービーおよびトラックフラグメントのリストとして時間的に編成することができる。実際のサンプルは、MediaDataBoxesと呼ばれるボックス内にある。ムービーフラグメント内には、トラック毎に0以上のトラックフラグメントのセットがある。トラックフラグメントは次に、0個以上のトラックランを含み、各トラックランは、そのトラックに対するサンプルの連続したランを文書化する。
ユーザ体験を改善し、特に没入型体験を提供するために、時分割メディアデータビットストリーム(ビデオおよびオーディオ)は、全方向性(または多方向性または複数方向性)であってもよい。360°パノラマビデオとしても知られるビデオに適用されると、ユーザは、表示されるシーン内に位置するように感じる。
全方向性ビデオは、360°カメラから、および/または、例えば、全てのカメラが共通の節点を有するように特別なリグに取り付けられたいくつかのカメラから得られたビデオストリームの画像を組み合わせることによって、得ることができる。このような画像の組み合わせは、画像スティッチング(stitching)またはカメラスティッチングとして知られている。
このような全方向性ビデオは、ユーザの視線方向に従ったヘッドマウントディスプレイを介して、またはユーザを取り囲む湾曲した画面上への投影(投射)によって、レンダリングすることができる。また、ナビゲーションユーザインターフェースを有する従来の2D画面上に表示して、(ビューポートとしても知られている)全方向性ビデオのユーザの所望の部分に従って全方向性ビデオにパンインする(pan into)こともできる。これは、ユーザが仮想世界にいるように感じるので、仮想現実(VR)と呼ばれることが多い。仮想オブジェクトが全方位性ビデオに追加される場合、これは拡張現実感(AR)と呼ばれる。
図1は、サーバ装置101からクライアント装置170(170′としても示される)への全方向性メディアを撮像(キャプチャ)、送信、およびレンダリングするためのデータフローの一例を示す。
図示されるように、このメディアは、カメラシステム100から取得され、ヘッドマウントディスプレイ(HMD)170および170′に配信されるビデオコンテンツを有する。配信160は例えば、ストリーミングサーバ161およびストリーミングクライアント162を介して適応型httpストリーミングプロトコルを使用して、インターネットのようなIPネットワーク163を介して実行することができる。
図示のために、使用されるカメラシステム100は、立方体の各面に関連付けられた6つの標準カメラのセットに基づいている。これは、カメラシステムを取り囲む実際のシーンを表す画像を撮像する(ステップ110)ために使用される。この構成によれば、1つのカメラは前面画像を提供し、1つのカメラは背面画像を提供し、1つのカメラは左画像を提供し、1つのカメラは右画像を提供し、1つのカメラは底面画像を提供し、1つのカメラは頂部画像(平面画像)を提供する。
カメラシステム100から得られた画像は、サーバ101において処理され(ステップ120)、360ビデオストリームまたは仮想現実メディアデータストリームとも呼ばれる全方向性ビデオストリームを形成する360画像を生成する。
処理ステップ120は同じ時間インスタンスの撮像画像をスティッチし、投影することから構成される。画像は、最初にスティッチされ、水平および垂直寸法の両方で360°の視野を形成する球121を表す3次元投影構造上に投影される。投影構造上の360画像データは、例えば正距円筒図法(https://en.wikipedia.org/wiki/equirectangular_projection))を使用して、2次元投影画像122にさらに変換される(撮像投影とも呼ばれる)。投影された画像は、球全体をカバーする。
代替的に、全方向性メディアが360度立体(ステレオスコピック)ビデオである場合、カメラシステム100は、ステップ110において、3次元360度シーンをレンダリングするためにクライアントによって後で使用され得る左のビューおよび右のビューを表す画像シーケンスを撮像する複数のカメラから構成され得る。このような場合、上述の処理ステップ120は、左ビュー画像シーケンスと右ビュー画像シーケンスの両方に別々に適用される。任意選択で、ステップ125で、1つの単一の左+右投影画像シーケンス上に結果として生じる同じ投影画像上への同じ時間インスタンスの各左ビュー画像および右ビュー画像をパックするためにフレームパッキングを適用することができる。いくつかの立体フレームパッキング配置、例えば、並列、上下、列ベースのインターリービング(Interleaving)、行ベースのインターリービング、左右のビューを交互にする時間インターリービングが可能である。あるいは、立体フレームパッキング配置はまた、符号化ステップ140の後に独立したビデオビットストリームとなる別々の独立した投影画像シーケンスに左右のビューを保持することから成ることができる。たとえば、一方のビデオビットストリームは左ビュー画像を表し、他方のビデオビットストリームは右ビュー画像を表す。
任意選択的に、次に、領域ごとのパッキング130が、投影画像122をパック画像(packed image)131上にマッピングするために適用される。領域ごとのパッキングは例えば、ユーザにとって最も有用な球の部分に関する信号情報を最大化するために、投影画像の領域の変換、サイズ変更、および再配置を適用することからなる。パック画像は、球全体の一部のみをカバーすることができることに留意されたい。領域ごとのパッキングが適用されない場合、パック画像131は、投影画像122と同一である。立体全方向性メディアの場合、領域ごとのパッキングは、ステップ125で選択されたフレームパッキング配置に応じて、左+右投影画像シーケンスに、または左ビューおよび右ビュー投影画像シーケンスに別々に適用される。
投影画像122は、ステップ140において、1つ又は複数のビデオビットストリームに符号化される。立体全方向性メディアの場合、符号化ステップはステップ125で選択されたフレームパッキング配置に応じて、左+右パッキング画像シーケンスに適用されるか、または左ビューおよび右ビューパッキング画像シーケンスに別々に適用される。あるいは、マルチビュー符号化が左ビューおよび右ビューのパッキング画像シーケンス上で使用することができる。
符号化フォーマットの例としては、AVC(Advanced Video Coding)、SVC(Scalable Video Coding)、HEVC(High Efficiency Video Coding)、L−HEVC(Layered HEVC)などがある。以下では、HEVCが、HEVCおよびその階層化拡張(L−HEVC)の両方を指すために使用される。
HEVCおよび同様のビデオ符号化フォーマットは、サンプルの異なる空間的区分(subdivision)、例えば、ピクチャ:タイル、スライス及びスライスセグメントを定義する。タイルは水平および垂直境界(すなわち、行および列)によって定義され、整数個のコーディングツリーユニット(CTU)またはコーディングブロックを含むピクチャの矩形領域を定義し、これらはすべて、以下でコーディングユニットと呼ばれる。したがって、タイルは、ピクチャの空間サブパートを表すための良好な候補である。ただし、符号化されたビデオデータ(ビットストリーム)のシンタックス上の編成およびNALユニット(またはNALU)へのそのカプセル化は、むしろ、(AVCにおけるように)スライスおよびスライスセグメントに基づくものである。
HEVC内のスライスはスライスセグメントのセットであり、少なくとも第1のスライスセグメントは独立したスライスセグメントであり、もしあれば、他のスライスセグメントは従属スライスセグメントである。スライスセグメントは、整数個の連続する(ラスタスキャン順の)CTUを含む。スライスは、必ずしも矩形形状である必要はない(したがって、空間サブパート表現のためのタイルよりも適切ではない)。スライスセグメントは、HEVCビットストリームでslice_segment_headerとして符号化され、その後にslice_segment_dataが続く。独立スライスセグメント(ISS)および従属スライスセグメント(DSS)はそれらのヘッダによって異なり、従属スライスセグメントは、独立スライスセグメントのヘッダからの情報を再使用するので、より短いヘッダを有する。独立スライスセグメントと従属スライスセグメントとの両方は、ビットストリーム内のエントリポイントのリストを含む。
ビデオビットストリームがタイルで符号化されるとき、タイルは同じピクチャ内の近傍タイル(空間依存性)及び前の参照ピクチャ内の近傍タイル(時間依存性)からタイルが依存しないことを保証するために、動きが制約されることができる。このように、動きが制約されたタイルは、独立して復号可能である。
あるいは、パック画像は符号化の前にいくつかの空間サブピクチャに分割することができ、各サブピクチャは独立して符号化され、例えば、独立して符号化されたHEVCビットストリームを形成する。
したがって、符号化ステップ140の結果として、パック画像131は、1つ以上の独立して符号化されたビットストリームによって、または1つ以上の独立して符号化されたサブビットストリームから構成される少なくとも1つの符号化されたビットストリームによって、表現することができる。
次に、ステップ150において、これらの符号化されたビットストリームおよびサブビットストリームは、ISOBMFFフラグメントトラックおよび/または(上述した)トラックにカプセル化される。当該トラックまたはフラグメントトラックを含むファイルまたは小さな一時セグメントファイルは、例えば、MPEG標準化機構によって定義されたISOベースのメディアファイルフォーマットおよび全方向性メディアフォーマット(OMAF)に従ったカプセル化ファイルフォーマットに従って、ステップ165で提供される。結果として生じるファイルまたはセグメントファイルはmp4ファイルまたはmp4セグメントになる。カプセル化の間、ビデオまたはオーディオストリームに関する情報を提供するメタデータトラックと同様に、オーディオストリームをビデオビットストリームに追加することができる。
次に、カプセル化されたファイルまたはセグメントファイルは例えば、http(HyperText Transfer Protocol)プロトコルを使用するインターネット経由で、または例えばディスクのような取り外し可能なデジタル媒体上で、配信機構160を介してクライアント170に配信される。説明のために、配信160は、MPEG標準化委員会(「ISO/IEC23009−1、Dynamic Adaptive Streaming over HTTP(DASH)、Part1:Media presentation description and segment formats」)からのDASH(Dynamic adaptive streaming over HTTP)などのHTTP上の適応ストリーミングを使用して実行される。
この規格は、HTTP Uniform Resource Locations(URL)とのメディアプレゼンテーションのメディアコンテンツのコンパクトな記述の関連付けを可能にする。このような関連付けは、典型的にはマニフェストファイルまたは記述ファイル164と呼ばれるファイルに記述される。DASHにおいて、このマニフェストファイルはMPDファイル(Media Presentation Description)とも呼ばれるXMLファイルである。
クライアント装置170は、MPDファイルを受信することによって、各メディアコンテンツコンポーネントの記述を取得する。従って、メディアプレゼンテーションで提案されるメディアコンテンツコンポーネントの種類を認識し、ストリーミングクライアント162を介してストリーミングサーバ161から関連するメディアセグメント165をダウンロードするために使用されるHTTP URLを知る。したがって、クライアント170は(HTTPリクエストを介して)ダウンロードし、再生する(すなわち、メディアセグメントの受信後にデコードし、再生する)メディアコンテンツコンポーネントを決定することができる。
クライアント装置はユーザのビューポート(すなわち、ユーザによって現在表示され、視聴されている球面ビデオの一部)に応じて、シーンのワイドビューを表すフルパック画像の空間部分に対応するメディアセグメントのみを取得することができることに留意されたい。ビューポート(球領域とも呼ばれる)は、3つの角度「ヨー、ピッチ、ロール」または水平および垂直範囲を有する「方位角、仰角、チルト」によって与えられる、球内の位置によって記述することができる。シーンのワイドビューは、フルパック画像によって表されるフルビューを表すことができる。
OMAFに使用される用語によれば、以下のものがある:
球領域(Sphere region)=4つの大円、または、2つの方位円および2つの仰角円のいずれかによって指定される球上の領域、またはある量のヨー、ピッチ、およびロール回転を適用した後の回転球上のそのような領域;
垂直範囲(Vertical range)=球領域が4つの大円によって指定される場合、球領域の中心点を通る垂直視野、または他の場合、仰角範囲;
水平範囲(Horizontal range)=球領域が4つの大円によって指定される場合、球領域の中心点を通る水平視野、または他の場合、方位角範囲;
大円(great circle)=球と球の中心点を通る平面との交点;
方位円(azimuth circle)=すべての点を同じ方位値で結ぶ球上の円;
仰角円(elevation circle)=全ての点を同じ仰角値で結ぶ球上の円。
受信すると、カプセル化された仮想現実メディアファイルまたはメディアセグメントは、ステップ141でデコードされたデータストリームを抽出するために、ステップ151の間に解析される。ステップ151で受信されたISOBMFFファイルまたはセグメントの場合、構文解析は典型的には、記述メタデータから、カプセル化されたビデオビットストリームおよび/またはビデオサブビットストリームを抽出することができるmp4リーダまたはmp4パーサによって処理される。
次に、任意選択で、復号ステップ141から得られたパック画像はアンパックされ、投影画像が得られ、次いで、投影画像はビデオレンダリングのために処理され(ステップ121)、表示される(ステップ111)。ビデオレンダリングはいくつかのパラメータに依存し、その中には、ユーザの視点(point of view)、視点(point of sight)、および投影画像を生成するために使用される投影(複数可)があることに留意されたい。図示のように、ビデオをレンダリングするステップは、復号された投影画像を球上に再投影するステップを含む。このような再投影から得られた画像は、ヘッドマウントディスプレイ170′に表示される。
立体ビューを処理するために、図1を参照して説明されるプロセスは、複製されてもよく、または部分的に複製されてもよい。
UHD(Ultra High Definition)ビデオストリームのいくつかの画像を仮想現実メディアデータストリームのパノラマ画像にスティッチすることは、非常に高いビットレートおよび非常に高い解像度の仮想現実メディアデータストリームをもたらすことが観察されている。したがって、システムの観点から、帯域幅の無駄を避け、クライアントプレーヤの処理能力に準拠(適合)するために、仮想現実メディアデータへのアクセスを最適化する必要がある。
このような必要性は、仮想現実メディアデータストリームが図1を参照して説明したものとは別の目的に使用することも可能であることよりもさらに重要である。特に、360度のプロジェクタのアレイのような特定のディスプレイを有する360度の画像を表示するために、仮想現実メディアデータストリームを使用することができる。また、特定の視野を表示し、および/または視点(point of view)、視野、および視点(point of sight)を変更するために使用することもできる。
本発明者らは、図1を参照して説明したプロセスに沿って、送信すべきメディアデータに関する情報を説明し、シグナリングする際に、いくつかの問題に気付いた。
たとえば、クライアントから特定の構文解析プロセスを要求するトラックのシグナリングが含まれ、これによってオーバーヘッドが生成され、複雑になる。
別の例は、ステレオビューのシグナリングが特定のカプセル化プロセスに限定され、比較的高価であることに関する。
別の例は、トラック内の符号化されたデータ内のカバレッジのシグナリングを含む。サブピクチャトラックがいくつかの異なるトラックにカプセル化される場合、既存の解決策は複雑であり、マルチトラックカプセル化プロセスに完全に準拠しない。
本発明は、前述の問題のうちの1つまたは複数に対処するように考案された。
この文脈において、例えばhttpプロトコルを使用するインターネットのようなIPネットワーク上で、ストリーミングメディアコンテンツ(例えば、全方向性メディアコンテンツ)のためのソリューションが提供される。
本発明の一態様によれば、1つまたは複数のメディアファイルを生成するための方法であって、
第1のビューフレームおよび第2のビューフレームを含む符号化された立体メディアデータを取得することであって、各第1のビューフレームが第2のビューフレームに関連付けられている、前記取得することと、
前記符号化された立体メディアデータを含むトラックを生成することと、
左のビューに対応するビューフレームが識別されることに基づいて記述メタデータを生成することと、
前記生成されたトラックおよび前記生成された記述メタデータに基づいて前記1つまたは複数のメディアファイルを生成することと、
を含む方法が提供される。
本発明の実施形態は、特定のトラック、特に、OMAF内の「単独で提示されることを意図しない」トラックとして定義されるトラックに対して、より単純なシグナリングを提供する。これはOMAFコンテンツがサブピクチャトラックに分割されるとき、シグナリングオーバーヘッドおよび構文解析の複雑さを低減し、これは1つまたは複数の期間の間、ピクチャの一部に対応するデータを含むトラックを意味する。
実施形態によれば、記述メタデータを生成することは、ISOBMFF(ISO/IEC 14496−12)で定義されているボックスStereoVideoBoxを含めることを含む。
実施形態によれば、前記ボックスは、どのビューフレームが左のビューに対応するかをシグナリングするためのPackedContentInterpretationTypeを含む。
実施形態によれば、前記方法は、少なくとも1つの第1のビューフレームおよび関連する第2のビューフレームについて、前記第1のビューフレームをその関連する第2のビューフレームと組み立てて単一のフレームを形成することをさらに含み、前記符号化された立体メディアデータは、前記組み立てられた単一のフレームのうちの少なくとも1つを符号化することによって取得される。
実施形態によれば、前記方法は、前記クライアント側で表示されるべき表面に関する前記第1のビューまたは前記第2のビューのうちの少なくとも1つのためのカバレッジ情報を提供することと、前記カバレッジ情報が前記第1のビューおよび前記第2のビューの両方のために1回だけ提供される必要がある場合または前記第1のビューおよび前記第2のビューのそれぞれのために2回だけ提供される必要がある場合に、シグナリングのための情報を提供することと、をさらに含む。
実施形態によれば、第1のビューフレームおよび前記関連する第2のビューフレームが同じ符号化されたメディアデータに対応する場合、前記情報は、前記カバレッジ情報が前記第1のビューまたは前記第2のビューのうちの1つのみに提供されることをシグナリングするための所定の値をとるパラメータであり、そうではない場合、前記カバレッジ情報は、前記第1のビューおよび前記第2のビューのそれぞれに提供される。
実施形態によれば、前記第1のビューフレームおよび前記関連する第2のビューフレームが異なる符号化されたメディアデータに対応する場合、前記方法は、前記クライアント側で表示されるべき表面に関する前記第1のビューまたは前記第2のビューのうちの少なくとも1つに対してカバレッジ情報を提供することをさらに含み、前記カバレッジ情報は前記第1のビューまたは前記第2のビューのそれぞれに対して提供され、そうではない場合、前記カバレッジ情報は、前記第1のビューおよび前記第2のビューの両方に対して1回だけ提供される。
実施形態によれば、前記第1のビューフレームは左ビューフレームであり、前記第2のビューフレームは右ビューフレームである。
本発明の別の態様によれば、コンピュータまたはプロセッサによって実行されると、前記コンピュータまたはプロセッサに前述の方法を実行させるプログラムが提供される。
本発明の別の態様によれば、前述のプログラムを記憶したコンピュータ可読記憶媒体が提供される。
本発明の別の態様によれば、1つまたは複数のメディアファイルを生成するための装置が提供され、前記デバイスは、前述のような方法を実施するように構成される。
本発明の別の態様によれば、1つまたは複数の以上のメディアファイルを処理する方法であって、
前記1つまたは複数のメディアファイルを取得することと、
第1のビューフレームおよび第2のビューフレームを含む符号化された立体メディアデータを含むトラックを取得するために、前記取得された1つまたは複数のメディアファイルを処理することであって、各第1のビューフレームは第2のビューフレームに関連付けられている、前記処理することと、
左のビューに対応するビューフレームが識別されることに基づいて記述メタデータを取得するために、前記取得された1つまたは複数のメディアファイルを処理することと、
を含む方法が提供される。
実施形態によれば、前記記述メタデータは、ISOBMFF(ISO/IEC 14496−12)で定義されるボックスStereoVideoBoxを含む。
実施形態によれば、前記ボックスは、どのビューフレームが左のビューに対応するかをシグナリングするためのPackedContentInterpretationTypeを含む。
実施形態によれば、少なくとも1つの第1のビューフレームおよび前記関連する第2のビューフレームについて、前記第1のビューフレームはその関連する第2のビューフレームと組み立てられて(アセンブリされて)1つの単一のフレームを形成し、前記立体メディアデータは、前記組み立てられた単一のフレームのうちの少なくとも1つを復号することによって得られる。
実施形態によれば、前記方法は、前記クライアント側で表示されるべき表面に関する前記第1のビューまたは前記第2のビューのうちの少なくとも1つについてのカバレッジ情報を取得することと、前記カバレッジ情報が前記第1のビューおよび前記第2のビューの両方について1回だけ取得される必要がある場合、または前記第1のビューおよび前記第2のビューのそれぞれについて2回だけ取得される必要がある場合に、シグナリングするための情報を取得することと、をさらに含む。
実施形態によれば、前記第1のビューフレームおよび前記関連する第2のビューフレームが同じ符号化されたメディアデータに対応する場合、前記情報は、前記カバレッジ情報が前記第1のビューまたは前記第2のビューのうちの1つのみについて取得されることをシグナリングするための所定の値をとるパラメータであり、そうではない場合、前記カバレッジ情報は、前記第1のビューおよび前記第2のビューのうちのそれぞれについて取得される。
実施形態によれば、前記第1のビューフレームおよび前記関連する第2のビューフレームが異なる符号化されたメディアデータに対応する場合、前記方法は、前記クライアント側で表示されるべき表面に関する前記第1のビューまたは前記第2のビューのうちの少なくとも1つについてのカバレッジ情報を取得することをさらに含み、前記カバレッジ情報は前記第1のビューまたは前記第2のビューのそれぞれについて取得され、そうではない場合、前記カバレッジ情報は、前記第1のビューおよび前記第2のビューの両方について1回だけ取得される。
実施形態によれば、前記第1のビューフレームは左のビューフレームであり、前記第2のビューフレームは右のビューフレームである。
本発明の別の態様によれば、コンピュータまたはプロセッサによって実行されると、前記コンピュータまたはプロセッサに前述の方法を実行させるプログラムが提供される。
本発明の別の態様によれば、前述のプログラムを記憶したコンピュータ処可読記憶媒体が提供される。
本発明の別の態様によれば、1つまたは複数のメディアファイルを処理するための装置が提供され、前記装置は、前述のような方法を実施するように構成される。
本発明のさらなる利点は図面および詳細な説明を検討することにより、当業者に明らかになるのであろう。任意の追加の利点が本明細書に組み込まれることが意図される。
本発明の実施形態は、単なる例として、以下の図面を参照して以下に記載される。
図1は、サーバからクライアントへの全方向性ビデオを撮像(キャプチャ)、処理、カプセル化、送信、およびレンダリングするためのデータフローの一例を示す。 図2は、本発明の実施形態によるカプセル化の例を示すブロック図を示す。 図3は、本発明の1つまたは複数の実施形態を実施するためのコンピューティングデバイスの概略ブロック図である。
特定の実施形態によれば、パック画像131の符号化(図1のステップ140)から生じる符号化されたビットストリーム及びサブビットストリームはカプセル化ファイルフォーマット、例えば、ISOベースメディアファイルフォーマット(ISO/IEC14496−2及びISO/IEC14496−15)、Omnidirectional MediAフォーマット(OMAF)(ISO/IEC23090−2)、及びMPEG標準化機構によって定義される関連仕様に従って、ファイル又は小さい時間セグメントファイルにカプセル化される。
符号化されたビットストリーム(例えば、HEVC)および場合によってはそのサブビットストリーム(例えば、タイル化されたHEVC、MV−HEVC、スケーラブルなHEVC)は、1つの単一のトラックとしてカプセル化することができる。あるいは、空間的に関連する(すなわち、投影画像のサブ空間部分である)複数の符号化されたビットストリームを、いくつかのサブピクチャトラックとしてカプセル化することができる。あるいは、いくつかのサブビットストリーム(タイル、ビュー、レイヤ)を含む符号化されたビットストリーム(例えば、タイルHEVC、MV−HEVC、スケーラブルなHEVC)は、複数のサブピクチャトラックとしてカプセル化することができる。
サブピクチャトラックは、ピクチャまたは画像のサブパートのためのデータを埋め込むトラックである。サブピクチャトラックは、他のサブピクチャトラックに、またはサブピクチャが抽出されるフルピクチャを記述するトラックに関連付けられてもよい。例えば、サブピクチャトラックは、タイルトラックとすることができる。これは、AVCトラック、HEVCトラック、HEVCタイルトラック、又はサンプルのシーケンスとしてカプセル化された任意の圧縮ビデオビットストリームによって表すことができる。
タイルトラックは、画像の空間部分に対応する、或いは、画像又はピクチャのサブピクチャに対応する時分割ビデオサンプルのシーケンスである。これは、例えば、画像内の関心領域又は画像内の任意の領域とすることができる。タイルトラックに対応するデータは、ビデオビットストリームから取得することも、ビデオビットストリームのサブパートから取得することもできる。例えば、タイルトラックはAVC又はHEVCに準拠したビットストリームとすることができ、或いはAVC又はHEVCのサブパート又は例えばHEVCタイルのような任意の符号化されたビットストリームとすることができる。好ましい実施形態では、タイルトラックは独立して復号可能である(エンコーダが他のタイルから動き予測を除去するように注意を払った)。タイルトラックがタイルを有するHEVCで符号化されたビデオビットストリームに対応する場合、ISO/IEC14496−15 第4版に記載されているように、「hvt1」トラックとして示されるHEVCタイルトラックにカプセル化することができる。次に、タイルベーストラックを参照して、パラメータセット、ビデオデコーダをセットアップするための高レベル情報を取得することができる。HEVCトラック「hvc1」または「hev1」トラックにカプセル化することもできる。タイルトラックは、サブピクチャをより大きな画像又はピクチャに空間的に合成するために使用することができる。
タイルベーストラックは、これらの1つ以上のトラック間で共有されるデータまたはメタデータを含む、1つ又は複数のタイルトラックに共通のトラックである。タイルベーストラックは、1つまたは複数のタイルトラックから画像を構成するための命令を含むことができる。タイルトラックは、完全な復号またはレンダリングのためにタイルベーストラックに依存することができる。タイルベーストラックがタイル付きのHEVCで符号化されたビデオビットストリームから取得される場合、「hvc2」または「hev2」トラックとして表されるHEVCトラックにカプセル化される。さらに、それはトラック参照「tbas」を介してHEVCタイルトラックによって参照され、ISO/IEC14496−15 第4版に記載されているように、HEVCタイルトラックに対する「sabt」トラック参照を使用してタイル順序を示すものとする。
合成トラック(参照トラックとも呼ばれる)は、画像を合成するために他のトラックを参照するトラックである。合成トラックの一例は、ビデオトラックの場合、サブピクチャトラックをより大きな画像に合成するトラックである。これは、例えば、各ビデオトラックからより大きな画像に画像を合成するための変換及び変換パラメータを提供するビデオトラックから導出されるトラックにおいて、ポスト復号操作によって行うことができる。合成トラックは、サブビットストリームの連結の結果得られるビットストリームを復号する前に他のビデオトラックまたはタイルトラックからNALユニットを抽出して形成する命令を提供するエクストラクタ(抽出器)NALユニットを有するトラックであってもよい。合成トラックは例えば、他のトラックに対するトラック参照を介して、合成命令を暗黙的に提供するトラックであってもよい。
ISO/IEC14496−12はトラックのグループを記述するためにトラックレベルに配置されたボックスを提供し、ここで各グループは特定の特性を共有し、または、グループ内のトラックは特定の関係を有する。特定の特性または関係は、含まれるボックスのボックスタイプ(track_group_type)によって示される。含まれるボックスには識別子(track_group_id)が含まれており、これを使用して同じトラックグループに属するトラックを判定できる。同じtrack_group_typeおよびtrack_group_id値を持つトラックグループボックスを有するすべてのトラックは、同じトラックグループの一部である。MPEG OMAF標準規格は、タイプ「spco」のTrackGroupTypeBoxとして、空間合成のための特定のトラックグループを提案している。「spco」トラックグループ内の各トラックのサンプルは、より大きな画像を生成するために、この同じグループ内の他のトラックからのサンプルで(同じ合成または復号化時間で)空間的に合成することができる。
パック画像131の符号化(図1のステップ140)の結果得られる符号化されたビットストリーム及びサブビットストリームに依存して、ファイルフォーマットにおけるカプセル化のいくつかの変形が可能である。
図2は、本発明の一実施形態によるファイル/セグメントカプセル化(図1のステップ150)の一例を示すブロック図である。
ステップ200で、サーバは、幾つかの空間的に関連するビデオビットストリーム(すなわち、パックされた画像の空間的サブパートを表し、空間的合成がより大きな画像を生成することがある)があるか、或いは、モーション制約タイル、または複数のサブピクチャトラックとしてクライアントに公開できる複数のビューのいずれかを表すビデオサブビットストリームを含むビデオビットストリームがあるかを判定する。符号化されたパック画像が単一のビデオビットストリームとして符号化されているために、或いは、コンテンツ作成者が符号化されたパック画像を複数のトラックとして公開することを望まないために、符号化されたパック画像を複数のトラックとして公開できない場合、ビデオビットストリームまたはビデオサブビットストリームは1つの単一のトラックにカプセル化される(ステップ210)。そうではない場合、ステップ220において、カプセル化されるべきメディアコンテンツが、モーション制約タイルを表すビデオサブビットストリームから構成されるかどうかが判定される。yesの場合、複数のタイルトラックの少なくとも1つの合成を表すために、少なくとも1つの合成トラックが提供される必要があり得る。合成は、完全にパックされた画像、または完全にパックされた画像のサブパートのみを表すことができる。タイルトラックを有する合成トラックを使用することにより、クライアント側のストリームの個別のレンダリングと復号を必要とすることが回避される。クライアントに公開される可能な組み合わせの数は、コンテンツ作成者の選択に依存する。たとえば、コンテンツ作成者は、現在のユーザのビューポートに応じて、異なる視覚的品質を持つタイルを組み合わせることができる。このため、異なる視覚品質を持つパック画像を複数回符号化し、視覚的品質に関してタイルの異なる組み合わせを含む完全にパックされた画像を表すいくつかの合成トラックを提示することができる。ユーザのビューポートに応じて異なる品質でタイルを組み合わせることにより、コンテンツ作成者はネットワークリソースの消費を低減することができる。
ステップ220において、合成トラックが提供されなければならないと判定された場合、次に、合成トラックに対して暗黙の再構成(implicit reconstruction)を使用できるか否かが判定される(ステップ240)。
暗黙の再構成とは、例えば、ISO/IEC14496−15 第4版に定義されているような、タイルベース及びタイルトラックからのビットストリーム再構成を指す。合成トラックのサンプル中のエクストラクタを、それらがタイルトラックのサンプル中で参照するデータで置き換えることによって、タイルトラックのサンプルから合成トラックのサンプルを再構築するためにエクストラクタのようなインストリーム構造を使用するのではなく、暗黙の再構築は合成トラックのサンプルとタイルトラックとをトラック参照の順序で連結することによって合成トラックのサンプルを再構築することを可能にする(例えば、HEVC暗黙の再構成における「sabt」トラック参照)。
暗黙の再構成の使用は、使用のシナリオに依存する。いくつかのタイルトラックの合成が、符号化時のタイルの順序と比較して、復号時にタイルの再配置を必要とする場合、いくつかのスライスアドレスを書き換えなければならない。このような場合、暗黙的な再構成は不可能であり、エクストラクタを用いた明示的な再構成を選択しなければならない。
暗黙の再構成が可能である場合、タイルベーストラックが生成され(ステップ241)、ビデオサブビットストリームは独立して復号可能でないタイルトラックとして(例えば、HEVC「hvt1」トラックとして)カプセル化される。
そうではない場合、エクストラクタトラックが生成され(ステップ242)、ビデオサブビットストリームは独立して復号可能なタイルトラックとして(例えば、HEVC「hvc1」又は「hev1」トラックとして)カプセル化される。
ステップ220に戻り、メディアコンテンツがタイルサブビットストリームを含まないか、またはコンテンツ作成者が合成トラックを作成して公開したくない場合、空間的に関連するビデオビットストリームまたはビデオサブビットストリーム(例えば、タイルまたは複数のビュー)は、別々のサブピクチャトラックにカプセル化される(ステップ230)。そのような特定の場合には、タイルサブビットストリームがHEVCタイルである場合にはそれらはHEVCトラック「hvc1」又は「hev1」トラックとしてカプセル化される。
ステップ250では、空間合成のためのシグナリングが、空間的に関連するビデオビットストリームまたはビデオサブビットストリームを一緒にグループ化するために追加される。空間合成シグナリングはグループを構成する各トラック(サブピクチャトラック、タイルトラック、合成トラック)に特定のTrackGroupTypeBoxを定義することによって提供することができる。例えば、MPEG OMAFで定義され、以下に示すように、同じグループに関連するすべてのトラックに対して、同じtrack_group_idを持つタイプ「spco」のトラックグループを定義することができる:
Figure 0006960528
Figure 0006960528
このトラックグループボックスは、合成(コンポジション)内のトラックの相対的な2次元座標と、合成によって形成される画像の全体的なサイズとを提供する。合成は、パック画像全体、またはパック画像のサブパートのみを表すことができる。例えば、コンテンツ作成者は、複数の合成トラックを公開して、パック画像全体またはパック画像のサブパートのみを構築することを可能にしたい場合がある。
代替処理として、SubPictureCompositionBox(「spco」)は以下のように、合成ピクチャの幅と高さを表すパラメータcomposition_widthとcomposition_heightのみを定義することができる:
Figure 0006960528
そして、合成(コンポジション)内のトラックの2次元座標は、以下のようなVisualSampleEntryで定義される新しいfullBoxとして与えることができる:
Figure 0006960528
または、以下のような新しい汎用サンプルグループ記述エントリで定義される新しいfullBoxとして与えることができる:
Figure 0006960528
track_group_idは、関連付けられたトラックグループの識別子を示す。したがって、トラックは、各トラックグループ内の異なる位置にある複数のトラックグループに関連付けることができる。track_subgroup_idは、サブグループ識別子を提供する。トラックグループ内でtrack_subgroup_idを持つすべてのトラックは、同じトラックサブグループに関連する。
track_x、track_yは、合成(コンポジション)内のこのトラックのサンプルの左上隅の水平および垂直位置を提供する。
track_width、track_heightは、合成(コンポジション)内のこのトラックのサンプルの幅と高さを提供する。
これらのパラメータは、これらのトラックを表す適応設定(Adaptation Set)の空間関係を記述するためにDASHマニフェストで使用することができるDASH空間関係記述(SRD)記述子(ISO/IEC23009−1 第3版で定義される)のパラメータと直接一致する。
track_group_idはDASH SRD source_idパラメータと一致する。
track_subgroup_idはDASH SRD spatial_set_idパラメータと一致する。
track_x、track_y、track_width、track_heightは、それぞれDASH SRDパラメータであるobject_x、object_y、object_width、object_heightパラメータに一致する。
最後に、(track_group_idを介して)関連するトラックグループからのcomposition_widthとcomposition_heightはDASH SRD total_widthとtotal_heightパラメータに一致する。
代替処理として、合成トラックがある場合、空間合成シグナリングは、この合成トラックによって暗黙的に提供することができる。実際、合成トラックがタイルベーストラックである場合、タイルベーストラックは、タイプ「sabt」のトラック参照を介してタイルトラックのセットを参照する。このタイルベーストラックおよびタイルトラックのセットは、合成グループを形成する。同様に、合成トラックがエクストラクタトラックである場合、エクストラクタトラックは、タイプ「scal」のトラック参照を介してタイルトラックのセットを参照する。このエクストラクタトラックおよびタイルトラックのセットは、合成グループも形成する。どちらの場合も、ISO/IEC14496−15 第4版に定義されているように、タイプ「trif」のサンプルグルーピングまたはデフォルトサンプルグルーピングを定義することによって、合成(コンポジション)内の各タイルトラックの相対2次元座標を提供することができる。
別の代替処理として、新しいエンティティグループを定義することによって、空間合成シグナリングを提供することができる。エンティティグループは、アイテムまたはトラックのグループである。エンティティグループは、MetaBox内のGroupsListBox内に示される。トラックを参照するエンティティグループは、ファイルレベルのMetaBoxのGroupsListBoxまたはムービーレベルのMetaBoxのGroupsListBoxで指定できる。GroupListBox(「grpl」)には、定義されたグループピングタイプを示す関連する4文字コードとともに、それぞれEntityToGroupBoxと呼ばれるフルボックスのセットが含まれる。EntityToGroupBoxは以下のように定義される:
Figure 0006960528
通常、group_idはグループのidを提供し、entity_idの設定はエンティティグループに関連するトラックのtrack_IDを提供する。entity_idの設定に続いて、特定のgrouping_typeの追加データを定義することによって、EntityToGroupBoxの定義を拡張することができる。一実施形態によれば、たとえば(エンティティグループ合成のための)「egco」に等しいgrouping_typeを伴う新しいEntityToGroupBoxは、空間的に関連するビデオビットストリームまたはビデオサブビットストリームの合成を記述するように定義できる。entity_idの設定には、グループを構成するトラック(サブピクチャ、タイルトラック、合成トラック)のtrack_IDの設定が含まれる。合成によって形成される画像の全体的なサイズは、この新しいgrouping_type「egco」に関連する追加データの一部として提供することができる。
EntityToGroupBox(「egco」)は以下のように定義される:
Figure 0006960528
タイプ「egco」のエンティティグルーピングによって定義される合成内の各トラックの相対的な2次元座標はISO/IEC14496−15 第4版に定義されるように、各タイルトラック内のタイプ「trif」のサンプルグルーピングまたはデフォルトサンプルグルーピングを定義することによって提供することができる。代替処理として、相対的な2次元座標は、グループに関係する各タイルトラック内のVisualSampleEntry内に位置する新しい汎用フルボックス2DCoordinateForEntityGroupBox(「2dco」)として定義することができる。
Figure 0006960528
entity_group_idは、グループを定義する、関連付けられたEntityToGroupBox(「egco」)の識別子を提供する。
track_x、track_yは、合成内のこのトラックのサンプルの左上隅の水平および垂直位置を提供する。
track_width、track_heightは、合成内のこのトラックのサンプルの幅と高さを提供する。
代替処理として、この新しい汎用ボックス2DCoordinateForEntityGroupBox(「2dco」)は、以下のように新しいサンプルグルーピングとして定義できる:
Figure 0006960528
ステップ260では、追加のシグナリングがトラックに関連付けられる。トラックがプレゼンテーションに十分でないか、または単独で提示されることが意図されていないかどうかをクライアントに知らせるために、シグナリングが追加される。
実際、いくつかのトラックには、単独では復号できない部分ビットストリームのみが含まれている場合がある。たとえば、これは、関連付けられたタイルベーストラック無しに復号できない「hvt1」タイプのいくつかのタイルトラックの場合などである。
さらに、コンテンツ作成者は、いくつかのトラックが単独で提示されることを意図されておらず、メディアプレゼンテーションにおけるエントリポイントを構成しないことをクライアントに通知することを望む場合がある。
実際、ISOBMFFファイルに複数のビデオトラックが含まれている場合、これらのビデオトラックのうち1つ以上がメイントラックとしてシグナリングされることで、メディアプレイヤが、ユーザに公開するための、またはストリーミングマニフェストに公開するためのトラックの選択に役立つ。メイントラックシグナリングは、メディアファイルへのメディアプレーヤのエントリポイントを提供する。実際、同じレベルの重要度を有するトラックの長いリストを有する代わりに、いくつかは、より重要度が高く、一種の主要アイテムとしてプレーヤによって優先的に処理されるものとして注釈付けされるか、または記述される。
第1の実施形態では、トラックが単独で表示されることを意図していない情報をトラックヘッダにシグナリングすることができる。各トラックには、いくつかのトラックの特性を指定するトラックヘッダボックス「tkhd」(必須)がある。ISOFBMFFフルボックスとして、このトラックヘッダボックスは、ボックスと関連付けられた特定のシグナリングに使用できる24ビットのフラグパラメータを有する。メディアトラックのトラックヘッダのフラグの値は、プレゼンテーションでのトラックの使用方法に関する情報を提供するためにすでに使用されている(track_enabled、Trak_in_movie、track_in_previewなど)。ビデオトラックが「単独で提示されることを意図している」か否かを示すために、フラグの新しい特定値「track_non_displayable_alone」をトラックヘッダボックスに定義することができる。この新しいフラグは、以下のように定義される:
「track_non_displayable_alone」:=0x000010は、トラックが単独で表示されることを意図しておらず、プレビューに使用できないことを示す(track_in_previewフラグ値をオーバーライドする)。デフォルトでは、このフラグ値は設定されない。トラックヘッダフラグのデフォルト値は変更されず、7に等しいことに留意されたい(track_enabled 0x1、track_in_movie 0x2、track_in_preview 0x4)。
第2の実施形態では、単独で表示されることが意図されていないトラックを補助トラックとして定義することができる。補助トラックはビデオトラックと同じようにコーディングされるが、MediaBoxのHandlerBoxで「vide」の代わりにハンドラタイプ値「auxv」を使用し、視覚的に表示することは意図されていない。代替処理として、ビデオ用の新しいハンドラタイプ「subv」およびオーディオ用の「suba」は、トラックがそれぞれビデオまたはオーディオトラックと同じであるが、プレゼンテーションには十分ではないか、または単独で提示されることを意図していないことを知らせるように定義することができる。
第3の実施形態では、トラックがプレゼンテーションに十分でないか、または単独で提示されることを意図していないという情報を、トラックグループ情報の一部としてシグナリングすることができる。実際、サブピクチャ合成トラックグループ(つまり、track_group_typeが「spco」に等しいTrackGroupTypeBox内のtrack_group_idの値が同じトラック)にマッピングされたトラックは、提示可能な視覚的コンテンツをまとめて表す。しかし、このグルーピングにマッピングされた個々のトラックの各々は他のトラックなしに単独で提示されるように意図されてもよいし、されなくてもよい。単純な代替処理は、トラックが「単独で提示されることを意図している」か否かを示す新しいパラメータ「not_output_track」を「spco」ボックスに定義することで構成される。
Figure 0006960528
代替実施形態では、このパラメータは単一ビットで表すことができ、他の7ビットは以下のように将来の使用または他のシグナリングのために予約される:
Figure 0006960528
not_output_trackを1に設定した場合、トラックが単独で表示されることは意図されていないことを示す。デフォルトでは、これはゼロであると想定され、トラックはユーザへのプレゼンテーションのために選択可能である。同様に、トラックがSubPictureCompositionBoxを含まない場合、それは単独で表示可能であると想定される。
第4の実施形態では、トラックがプレゼンテーションに十分でないか、または単独で提示されることを意図していないという情報は、他のトラック情報または他のトラック情報の組み合わせから推論することができる。
例えば、トラックの表示可能なステータスは、トラックの依存性を提供するトラック参照ボックス(「tref」)と、トラック内のサンプルに対する共通の定義を提供するSampleEntry(ビデオに対するVisualSampleEntry)とに基づいて検出することができる。
たとえば、トラックがタイプ「sabt」のトラック参照を有し、タイプ「tbas」のトラック参照を持ついくつか他のトラックによって参照されている場合、そのトラックはタイルベーストラックとしてマークされ、再生可能/選択可能トラックとしてマークされている。トラック参照「sabt」を介してこのトラックから参照されるすべてのトラックは、タイプ「hvt1」のVisualSampleEntryを有している場合、タイルトラック(「hvt1」)としてマークすることができ、再生不能トラックとしてマークすることができる。あるいは、トラックがタイプ「tbas」のトラック参照およびタイプ「hvt1」のVisualSampleEntryを有する場合、トラックはタイルトラック(「hvt1」)としてマークされ、再生不能トラックとしてマークされる。このトラックから参照されるすべてのトラックは、タイルベーストラックとしてマークされ、再生不能トラックとしてマークされる。あるいは、トラックがタイプ「scal」のトラック参照を有する場合、トラックはエクストラクタトラックであり、再生可能トラックとしてマークされる。このトラックから参照されるすべてのトラックは、再生可能なタイルトラック(「hvc1」)としてマークされる。デフォルトでは、再生可能トラックとしてマークすることができる。しかし、コンテンツ作成者は、デフォルトで再生不能トラックとしてそれらをマークすることを好む場合がある。さらに、トラックがトラック参照(「tref」)ボックスを含まず、トラックグループに関係しない場合、SampleEntryをチェックしなければならない。トラックが「hvc1」または「hev1」として検出された場合、そのトラックは少なくとも再生可能トラックとしてマークされる。
第5の実施形態では、第3の実施形態の代替処理として、2次元座標(track_x、track_y、track_widthおよびtrack_weight)がSubPictureCompositionBox(「spco」)で定義されていない場合、パラメータnot_output_trackは、以下に示すようにSubPictureCompositionBox(「spco」)で定義することができる:
Figure 0006960528
あるいは、パラメータnot_output_trackは、2DCoordinateInteTrackGroupBox()または2DCoordinateForEntityGroupBox()またはVisualSampleEntryまたはサンプルグループ記述エントリレベルで定義された同様のボックスで定義できる。
さらにステップ260では、同様に、メイントラックまたは部分トラックを識別するために、明示的にシグナリングを追加することができる。
メディアファイル内のメイントラックとは、同じメディアタイプのトラックより、または異なるメディアタイプの関連トラックより重要と考えられるトラックのことである。例えば、メインビデオトラックは、メディアプレーヤが選択及び再生のためにユーザに公開すべきトラックである。また、メディアファイルをストリーミングまたは送信するときは、メイントラックをストリーミングマニフェストで公開すべきである。例えば、サブピクチャまたはタイルの空間合成の場合、メイントラックは合成トラックとすることができる。この場合も、空間合成の場合には、メイントラックは、(サブピクチャまたはタイルトラックとは反対に)フルピクチャに対応するビデオトラックとすることができる。プレーヤによってレンダリングされるトラックのセットにおいて、メイントラックは、優先的にレンダリングされるトラックとすることができる。送信コンテキストでは、メイントラックは優先的にフェッチされるトラックである。例えば、メディアファイル内のメイントラックは、メインメディアコンポーネントとしてストリーミングマニフェストに記述することができる。たとえば、MPEG DASHのマニフェストでは、メイントラックは、プリセレクション要素のメインのAdaptationSetに、または「main」値を持つまたはメイントラックであることを示すLabelを持つRole descriptorを持つAdaptationSetにすることができる。本発明は、メディアファイル内のメイントラックをシグナリングする様々な方法を説明する。
メディアファイル内の部分トラックは、メイントラックと組み合わせて、またはメイントラックおよび他の部分トラックと組み合わせてのみ処理することができるトラックである。タイプ「hvt1」のタイルトラックは、部分トラックの例である。これらは、タイルベーストラックと組み合わせてのみ処理することができる。
メイン/部分トラックシグナリングは、上記のシグナリング「提示に十分でないか、または単独で提示されることを意図しない」シグナリングと同様にシグナリングすることができる。トラックヘッダフラグ内の明示的なフラグ値(例えば「Is_Main_track」:=0x000020)によって、または下図のようなサブピクチャ合成トラックグループ(「spco」)ボックス内の新しい特定のパラメータ「main_track」によってシグナリングすることができる:
Figure 0006960528
このパラメータmain_trackは、トラックグループ内のトラックがメイントラックまたはフルピクチャトラックであることを示すために使用することができる。この場合、パーサ(parser)は、トラックグループ内のこのメイントラックまたはフルピクチャトラックのみがレンダリングされるべきである(値0に設定されているこのパラメータを有するグループ内の他のトラックではない)と考える。言い換えれば、他のトラックは部分トラックとして考慮される。
代替処理として、メイントラックは、トラック内のUserDataBox(「udta」)内のKindBox(「kind」)を使用してシグナリングすることができる。KindBoxは、トラックにその役割または種類をラベル付けすることを可能にする。メイントラックは特定のschemeURI、例えば「urn:mpeg:14496−12:main」でKindBoxを定義することによってシグナリングされる。
mp4ライタはメイントラックシグナリングを利用して、メイントラックをDASHプリセレクション要素内のメイン適応設定(adaptation set)として設定し、部分トラックをDASH MPD内の「隠れた」適応設定として設定することができる。「隠れた」適応設定は、ユーザによって選択されることが意図されていない適応設定である。それらは例えば「urn:mpeg:dash:not−selectable:2016」に設定された特定の@schemeIdURIを有する関連する補足的または必須の記述子を定義することによって、DASH MPD内で明示的にシグナリングすることができる。
ステップ270では、トラックのためのおよびトラックの合成のためのコンテンツカバレッジ情報が、ビデオビットストリームまたはビデオサブビットストリームのカプセル化を記述するメタデータに追加される。
トラックカバレッジ情報は、このトラックによって表されるコンテンツによってカバーされる球上の領域に関する情報を提供する。
合成カバレッジ情報は、1つ以上のトラックの組み合わせに関連する球面上の領域に関する情報を提供する。例えば、ムービーファイルが空間的関係を有する複数のビデオトラックを含む場合、合成カバレッジ情報は、これらの複数のビデオトラックの空間的合成によってカバーされる球面上の領域である。別の例では、メディアファイルは複数のビデオトラックと、この一連のトラックをどのようにレンダリングするかを示す変換マトリックスとを含み、合成カバレッジ情報は、組み立てられた一連のトラックによってカバーされる領域に対応する。「合成カバレッジ情報」は、「グローバルカバレッジ情報」または「トラックグループ合成情報」と表すこともできる。合成またはグローバルカバレッジ情報は、これらの複数のビデオトラックのサブセットの合成の結果得られる球面上の領域を記述することもできる。
第1の実施形態として、トラックカバレッジ情報および合成カバレッジ情報は追加のシグナリングなしに、単一の共通のCoverageInformationBoxを使用してシグナリングすることができる。このような場合、CoverageInformationBoxの範囲は、ボックス階層内のこのボックスの定義の場所に依存する。クライアントは、カバレッジ情報がどこで宣言されるかを考慮することによって、カバレッジ情報がトラックコンテンツに関連するか、またはコンテンツ全体に関連するかを判定することができる。この実施形態によれば、CoverageInformationBoxは、以下のように定義される:
Figure 0006960528
ここで、coverage_shape_typeはカバーされる球領域の形状を指定し(例えば、MPEG OMAF、ISO/IEC23000−20で定義されるものとして)、SphereRegionStruct()は、以下のように定義される:
Figure 0006960528
ここで、center_yaw、center_pitch、およびcenter_rollはグローバル座標軸に対するカバー領域のビューポートの向きを指定し、hor_rangeおよびver_rangeは、存在する場合、カバーされる球領域の水平範囲および垂直範囲をそれぞれ指定し、補間は、現在使用されていない。
以下に説明する代替の実施形態では、メディアコンテンツは図1のステップ125で単一のフレームとしてパックするまたは組み立てることができる。次に、ステップ150において、パックされたフレームは単一のトラックとしてカプセル化される。
特に、メディアコンテンツは、立体画像を含む立体コンテンツである。立体画像は先に説明したように、異なるビュー(典型的には、左ビュー及び右ビュー)から構成される。この実施形態では、図1を参照して説明したように、ビューは、並列配置または上下配置に従って、単一のフレームを形成するようにパックされる。
第1の実施形態では、パックされたフレームを構成するビューについての異なるコンテンツカバレッジ情報をシグナリングすることが提案される。言い換えると、単一フレーム内にパックされたビューが立体画像の左ビューであるか又は右ビューであるかをシグナリングすることが提案される。
その目的では、例えば「CoverageInformationBox」ボックスのような1つ以上のビューのカバレッジに関する情報を含む1つ又は2つのボックスだけでなく、「projected omnidirectional video box」(「povd」)又はSubPictureCompositionBox(「spco」)において許可されるボックスはない。
さらに、立体コンテンツをシグナリングするためのパラメータ、例えば、パラメータ「view_idc」(7.3.6章のカバレッジ情報ボックスで定義される)を、異なる可能なカバレッジをシグナリングするために使用することができる。たとえば、「CoverageInformationBox」が、view_idc=「1」の場合は立体コンテンツの左ビューのみのカバーされた球領域を表し、view_idc=「2」の場合は右ビューを表し、view_idc=「3」の場合は両方のビューの同じカバレッジを表すかを、「view_idc」がシグナリングする。
この第1の実施形態によれば、CoverageInformationBoxは、以下のように定義される:
Figure 0006960528
好ましくは、view_idcが「0」に等しい場合、それはカバレッジ球領域がモノスコピック(平面視)であることを示し、「1」に等しい場合、それはカバレッジ球領域が立体コンテンツの左ビュー上にあることを示し、「2」に等しい場合、それはカバレッジ球領域が立体コンテンツの右ビュー上にあることを示し、「3」に等しい場合、それはカバレッジ球領域が左ビューおよび右ビューの両方上にあることを示す。
第2の実施形態では、制限された単純な変更を暗に意味するがコストがかかりすぎる「CoverageInformationBox」の複数のインスタンスを許可するのではなく、例えば「different_coverage_per_view」と呼ばれる新しいフラグを、前の「view_idc」パラメータに加えて、CoverageInformationBoxに定義して、各ビューについて異なるコンテンツカバレッジ情報があるか否かシグナリングすることができる。
この第2の実施形態によれば、CoverageInformationBoxは、以下のように定義される:
Figure 0006960528
前述のように、「view_idc」が「0」に等しいことはカバレッジ球領域がモノスコピックであることを示し、「view_idc」が「1」に等しいことはカバレッジ球領域が立体コンテンツの左ビュー上にあることを示し、「view_idc」が「2」に等しいことはカバレッジ球領域が立体コンテンツの右ビュー上にあることを示し、「view_idc」が「3」に等しいことはカバレッジ球領域が左ビューおよび右ビューの両方上にあることを示す。
タイプ「coverage_shape_type」はカバーされる球領域の形状を指定する。
構造「SphereRegionStruct()」は次のように定義される:
Figure 0006960528
Figure 0006960528
ここで:
−center_azimuthおよびcenter_elevationは、球領域の中心を指定する。center_azimuthは−180*216〜180*216−1の範囲内、center_elevationは−90*216〜90*216の範囲内であり、
−center_tiltは球領域の傾斜角度を指定する。center_tiltは、−180*216〜180*216−1の範囲内とする。
構造「SphereRegionStruct()」の他のパラメータのセマンティクス(意味)は、前の実施形態と同じである。「center_azimuth」、「center_elevation」、および「center_tilt」は、それぞれ、前の実施形態における「center_yaw」、「center_pitch」、および「center_roll」と同等であることに留意されたい。
より正確には、構造SphereRegionStruct(range_included_flag、0)は以下を表す:
−「view_idc」=「0」の場合、モノスコピックビューのカバーされた球領域、
−「view_idc」=「1」またはview_idc=「3」の場合、左ビューのカバーされた球領域、
−「view_idc」=「2」の場合、右ビューのカバーされた球領域、
−「view_idc」=「3」であり「difference_coverage_per_view」=「0」の場合、左右両方のビューのカバーされた球領域。
ここで、SphereRegionStruct(range_included_flag、1)は、存在するなら(すなわち、view_idc=「3」およびdifferent_coverage_per_view=「1」の場合)右ビューのカバーされた球領域を表す。「coverage_shape_type」がビュー間で異なる場合、ボックス「CoverageInformationBox」ではなく構造「SphereRegionStruct」でこのパラメータを宣言する方がより適切である。
ボックス「CoverageInformationBox」に関連する第3の実施形態によれば、ビューごとに異なるカバレッジがある場合に、「view_idc」パラメータに追加ビットを使用することが提案される。追加ビットを使用すると、2つの異なるカバレッジの存在を示すことができる。第3の実施形態では、「CoverageInformationBox」が以下のように定義される:
Figure 0006960528
ここで、
−「view_idc」が「0」に等しいことはカバレッジ球領域がモノスコピックであることを示し、
−「view_idc」が「1」に等しいことは、カバレッジ球領域が立体コンテンツの左ビュー上にあることを示し、
−「view_idc」が「2」に等しいことは、カバレッジ球領域が立体コンテンツの右ビュー上にあることを示し、
−「view_idc」が「3」に等しいことは、カバレッジ球領域が左ビューおよび右ビューの両方上にあり、
−「view_idc」=「4」に等しいことは、カバレッジ球領域が左ビューおよび右ビューの両方上にあり、各ビューが異なるカバレッジ情報を有することを示し、
−「SphereRegionStruct」は前の実施形態と同じセマンティクスを有する:SphereRegionStruct(range_included_flag,0)が左ビューのカバーされた球領域を表し、SphereRegionStruct(range_included_flag,1)が右ビューのカバーされた球領域を表す。
第4の実施形態では、「shape_type」パラメータを1バイトで表すためにいくつかの予約されたビットを使用することによって、よりコンパクトなボックス「coverageInformationBox」を有することが提案される。以下のように、メディアプレゼンテーションを記述するファイルに存在する各ボックス「CoverageInformationBox」に対して1バイトを節約することができる:
Figure 0006960528
ここで、上記の各パラメータのセマンティクスは同じままである(表現サイズのみが小さくなる)。
したがって、ボックス「CoverageInformationBox」は、コンテンツによってカバーされる球体上の領域に関する情報を提供する。コンテンツの性質は、このボックスのコンテナに依存する。SubPictureCompositionBox「spco」に存在する場合、コンテンツは同じサブピクチャ合成トラックグループに属する全てのトラックによって表されるコンテンツ全体を指し、これらのトラックから構成される合成ピクチャは、コンテンツ全体のパックピクチャと呼ばれる。トラックのサンプルエントリ内に存在する場合、コンテンツはこのトラック自体によって表されるコンテンツを指し、このトラック内のサンプルのピクチャは、コンテンツ全体のパックピクチャと呼ばれる。トラックに対してCoverageInformation Boxが存在しない場合、それは、コンテンツが球全体をカバーすることを示す。
Projected omnidirectional video box(「povd」)は、MPEG OMAFによって定義され、トラック内のVisualSampleEntry内に位置する中間ボックスであることに留意されたい。
さらに、SubPictureCompositionトラックグループボックス(「spco」)は、以下のように修正される:
Figure 0006960528
ISOBMFF FullBoxCoverageInformationBox()をSubPictureCompositionBoxに追加する以外の代替処理として、以下のようにSphereRegionOnStructを直接含めることもできる:
Figure 0006960528
さらなる代替処理として、以下に示すように、合成のためのカバレッジ情報の存在を、たとえばis_coverage_info_is_presentと表される追加パラメータの値に条件付けすることができる:
Figure 0006960528
実際、SubPictureCompositionBoxは、このSubPictureCompositionBoxによって定義されるグループに関連するすべてのトラックで定義されているため、トラックグループ内に合成トラックがある場合、合成カバレッジ情報はこの合成トラックに対してのみ定義することができ、各タイルトラックに対して定義する必要はない。
第2の実施形態として、トラックカバレッジ情報および合成カバレッジ情報は、ローカルインジケーションとグローバルインジケーションとを区別するためのフラグ値を有する単一の共通CoverageInformationBoxを使用してシグナリングすることができる。CoverageInformationBoxはISOBMFF FullBoxであるため、トラックカバレッジとグローバルカバレッジとの区別は、ボックスのフラグパラメータによって表すことができる。
この第2の実施形態によれば、CoverageInformationBoxは、以下のように定義される:
Figure 0006960528
ボックスの構造は、ローカル及び合成カバレッジ情報が同じトラックに定義されなければならない場合にボックスの複数のインスタンスが定義できることを除いて、前の実施形態とほぼ同じである。
次に、CoverageInformationBoxは、コンテンツによってカバーされる球体上の領域に関する情報を提供するものとして定義される。コンテンツの性質は、フラグパラメータで与えられる。カバレッジ情報フラグのデフォルト値は0である。つまり、このボックスはコンテンツ全体のカバレッジを記述する。このトラックがサブピクチャ合成トラックグループに属する場合、コンテンツ全体は同じサブピクチャ合成トラックグループに属するすべてのトラックによって表されるコンテンツを指し、これらのトラックから構成される合成ピクチャは、コンテンツ全体のパックピクチャと呼ばれる。そうではない場合、コンテンツ全体は、このトラック自体によって表されるコンテンツを指し、このトラック内のサンプルのピクチャは、コンテンツ全体のパックピクチャと呼ばれる。
カバレッジ情報フラグの値が1である場合、このボックスは、このトラックによって表されるコンテンツのパックされたピクチャによってカバーされる球形領域を記述する。
このボックスがないことは、コンテンツが球全体をカバーすることを示す。
さらに、新たなフラグ値は、以下のように定義される:
coverage_localは、カバレッジ情報がボックスを含むトラックに対してローカルであることを示す。フラグ値は0x000001である。デフォルトでは、この値は設定されていない。
第2実施形態の代替処理として、CoverageInformationBoxの定義はグローバルカバレッジ情報を持つCoverageInformationBoxによって表されるトラックグループ(例えば、「spco」ボックスの1つ)を識別するtrack_group_idを含むことができる。
次に、CoverageInformationBoxは以下ように定義される:
Figure 0006960528
代替処理として、第3の実施形態では、2つの異なるボックスが合成カバレッジ情報(TrackCoverageInformationBox)またはトラックカバレッジ情報(TrackCoverageInformationBox)のいずれかを記述するように定義される。CompositionCoverageInformationBoxが、このトラックが複数のトラックグループに関係する場合に、トラック内で複数回定義することができることを除いて、以前の実施形態と同じセマンティクスで、ボックスは以下のように定義される。パラメータtrack_group_idにより、CompositionCoverageInformationBoxで記述されたトラックグループ(たとえば、「spco」ボックスの1つ)を識別することができる。
Figure 0006960528
代替処理として、第4の実施形態では、SubPictureCompositionBoxトラックグループ(「spco」)またはVisualSampleEntry(第1の実施形態)内のProjected omnidirectional video box(「povd」)のいずれかにおいて、トラックおよび合成カバレッジ情報と、CoverageInformationBoxを定義する機能とを区別するために、フラグ(第2の実施形態)を使用して、CoverageInformationBoxを伴う実施形態を組み合わせることが可能である。両方のアプローチを可能にすることによって、これはOMAFコンテンツのためのカプセル化モードに依存するカバレッジシグナリングにおける柔軟性を提供する:
−単一トラックカプセル化:単一のCoverageInformationBoxは、(Coverage_localフラグ値が設定されていない)トラックの「povd」ボックスで宣言できる
−複数トラックカプセル化:
〇 合成トラックあり:グローバルカバレッジ情報は、この合成トラックの「povd」内のCoverageInformationBoxで宣言される(フラグ値coverage_localは設定されない)。オプションとして、サブピクチャトラックはCoverageInformationBoxを宣言できる(フラグ値Coverage_localが設定されている)。
〇 合成トラックなし:合成カバレッジ情報は、フラグ値coverage_localが設定されていない「spco」ボックス内のCoverageInformationBoxで宣言される。オプションとして、サブピクチャトラックはCoverageInformationBoxを宣言できる(フラグ値Coverage_localが設定されている)。
代替処理として、第5の実施形態では、トラックの合成が、トラックグループ(「trgr」)メカニズムを使用するのではなく、新しいエンティティグループを使用して記述される場合、即ち、ファイルレベルMetaBoxのGroupsListBox内またはムービーレベルMetaBoxのGroupsListBox内に特定のEntityToGroupBoxを定義することによって記述される場合、合成カバレッジ情報は、この特定のEntityToGroupBoxのプロパティとして直接定義することができ、即ち、上記の第1の実施形態で記述されたCoverageInformationboxはこの特定のEntityToGroupBox内で直接宣言することができる。トラック関連のカバレッジ情報は、トラック内のVisualSampleEntry内のProjected omnidirectional video box内で依然として定義される。
この特定のエンティティグループは、(ステップ250を参照して定義されたエンティティグループ「egco」に基づいて)以下のように見える:
Figure 0006960528
または、以下のようにSphereRegionOnStructを直接含めることも可能である:
Figure 0006960528
代替処理として、第6の実施形態では、トラックハンドラタイプに依存することによって、カバレッジ情報がトラックグループボックス「spco」に存在するか否かを決定することも可能である。メイントラックに「vide」ハンドラタイプがあり、サブピクチャトラックに「auxv」または「subv」トラックがあると想定すると、「spco」ボックスのis_coverage_info_is_presentフラグが「auxv」または「subv」トラックに対して0に設定され(すなわちカバレッジ情報が存在しない)、「vide」トラックに対して1に設定される(すなわちカバレッジ情報が存在する)。
図2に戻ると、ステップ280において、仮想現実メディアコンテンツが実際には立体仮想現実メディアコンテンツであるかどうか、すなわち、左右のビューを含むかどうかがチェックされる。
コンテンツがモノスコピックである場合、プロセスは直接ステップ290に進む。
コンテンツが立体視(ステレオスコピック)である場合、ステップ285で、立体シグナリングがカプセル化に追加される。
立体コンテンツの場合、従来、左ビューシーケンスと右ビューシーケンスとの両方が立体カメラから取得され、合成タイプに従ってビデオシーケンスまたは2つのビデオシーケンスに合成される。
立体コンテンツの2つの異なるビューを表す2つのフレームを1つの単一フレームに結合するプロセスは、フレームパッキングと呼ばれる(図1のステップ125参照)。
フレームパッキングは、ステレオペアを形成する2つのビューを単一のフレームにパックすることからなる。よく知られて使用されるフレームパッキング配置がいくつか存在する:並列、上下、フレームシーケンシャル、垂直ラインインターリーブド(Interleaved)タイプ…。例えば、MPEGアプリケーションフォーマットISO/IEC 23000 11第1版(「ス立体ビデオアプリケーションフォーマット」)またはISO/IEC 23001−8第2版(「コーディング独立コードポイント(CICP)」)のようないくつかのフレームパッキングスキームが、これらの配置の一部を規定する。フレームパッキングは例えば、ISO/IEC 23001−8第2版に定義された値6を有するVideoFramePackingTypeのように、各ビューを別々のフレームに保持することからなることもできる(「CICP」)。
例えば、さらにCICP仕様によれば、フレームパッキング配置の値3は各復号フレームが2つの構成ビューの対応するフレームの並列パッキング配置を含むことをシグナリングし、値4は、各復号フレームが2つの構成ビューの対応するフレームの上下パッキング配置を含むことをシグナリングする。
トラックが立体メディアデータを含むかどうかをシグナリングするために、StereoVideoBoxが、VisualSampleEntryまたは下位ボックスの1つ(例えば、トラックのVisualSampleEntryに埋め込まれた「SchemeInformationBox」)に定義される。
StereoVideoBoxは、立体コンテンツを記述するためのISOBMFF構造である。StereoVideoBoxは、ビデオトラック内の復号されたフレームがステレオペアを形成する2つの空間的にパックされた構成フレームの表現を含むか、またはステレオペアの2つのビューのうちの1つを含むかのいずれかを示すために使用される。StereoVideoBox内のパラメータは、フレームパッキングスキーム(ステレオ配置スキームとも呼ばれる)に関する情報およびこのフレームパッキングスキームによる現在の配置またはフレームへのビューのパッキングに関する情報を提供する。StereoVideoBoxはメディアファイルのサンプル記述(例えばISOFBMFFのSampleTableBox内)の部分に記述されており、プレイヤがメディアファイルを復号およびレンダリングできる要件を提供する。
StereoVideoBoxは、(ISO/IEC14496−12によれば)以下のように定義されている:
Figure 0006960528
ここで、single_view_allowedは、コンテンツが立体ディスプレイ上にのみ表示され得ること、またはモノスコピックシングルビューディスプレイ上に表示するためにどのビューが使用され得るかを示し、stereo_schemeは、使用されるステレオ配置スキームおよび使用されるスキームによるステレオインジケーションタイプを示す整数であり、stereo_indication_typeは、使用されるステレオ配置スキームによるステレオ配置タイプを示す。
StereoVideoBoxは、左ビューフレームおよび右ビューフレームを1つの単一トラックを形成する共通のパックされたフレーム内にパックするために使用されるフレームパッキングスキームおよびフレームパッキング配置(例えば、CICP ISO/IEC 23001−8の§7.4で定義されるような並列配置または上下配置)を記述することを可能にする。しかしながら、それは、使用中にフレームパッキング配置において左ビュー又は右ビューがどこに位置しているかを示すことを可能にしない。実際、例えば、並列配置の場合、左ビューが並列配置の左側または右側にあるかどうかを示さず、同様に、例えば、上下配置の場合も、左ビューが上下配置の上または下にあるかどうかを示さない。
ここでは、立体視に関する情報を含み、さらに、両方のフレームパッキング配置のためのそのようなインジケーションを含むボックスが提案される。
特定の実施形態では、「StereoVideoBox」のセマンティクスが、前述の問題に対処するために修正される。
特に、stereo_scheme=4(すなわち、CICP ISO/IEC 23001−8に定義されているフレームパッキング配置の使用を示す)の場合、StereoVideoBox内のstereo_indication_typeのシンタックスは、以下のように修正される:
「stereo_schemeが4に等しい」:長さパラメータの値は3」(3バイト)であり、例えば「stereo_indication_type」パラメータのようなビューのタイプを示すパラメータは、unsigned int(8)タイプの3つのシンタックス要素を含む。
第1のシンタックス要素は例えば、ISO/IEC23001−8からの「VideoFramePackingType」のようなフレームパッキングのタイプに関する情報を含む。
第2のシンタックス要素の最下位ビットは例えば、ISO/IEC23001−8で指定される「QuincunxSamplingFlag」の値のようなサンプリングに関する情報を含み、一方、他のビットは予約され、「0」に設定される。
第3のシンタックス要素は、例えばISO/IEC23001−8からの「PackedContentInterpretationType」のように、フレームパッキングの構成フレームの役割(すなわち、どの構成フレームがどのビューに対応するか)を解釈するためのインジケーションを含み、一方、他のビットは予約され、「0」に設定される。
第1のシンタックス要素(例えば、「VideoFramePackingType」)は、「frame 0」および「frame 1」と示される2つの構成フレームを考慮する選択されたステレオパッキング配置を提供する(例えば、frame 0およびframe 1は、第1のシンタックス要素の値が「3」である並列(side−by−side)であるか、または、値が「4」である上下(top−bottom)である)。
次に、第3のシンタックス要素(「PackedContentInterpretationType」)は、ステレオパッキング配置における構成フレームの意図された解釈を示すことを可能にする。その値が「1」である場合、それは、2つの構成フレームがステレオビューシーンの左ビューおよび右ビューを形成し、frame 0が左ビューに関連付けられ、frame 1が右ビューに関連付けられることを示す。さらに、反対に、その値が「2」である場合、それは、2つの構成フレームがステレオビューシーンの右ビューおよび左ビューを形成し、frame 0が右ビューに関連付けられ、frame 1が左ビューに関連付けられることを示す。任意の他の値は、フレームパック構成フレーム間に特定の関係がないことを示すものとして解釈されるべきである。
例として、上記実施形態によれば、StereoVideoBoxは以下のように、フレームパッキング配置(第1のシンタックス要素)、quincunxsamplingflag(第2のシンタックス要素)、およびパックされたフレームにおける左右のビューのそれぞれの位置(第3のシンタックス要素)を公開する:
Figure 0006960528
代替実施形態では、パックされたコンテンツパラメータのタイプ(「PackedContentInterpretationType」)の解釈をシグナリングするために第3のバイトを使用するのではなく、第2のシンタックス要素の予約ビットから数ビット(2ビットのみが必要である)が、PackedContentInterpretationTypeパラメータの情報を伝達するために使用されうる。このような場合、「StereoVideoBox」内の「stereo_indication_type」のシンタックスは以下のように修正できる:
例えば、「stereo_scheme」が4に等しい場合:
−lengthの値は「2」であり、「stereo_indication_type」はunsigned int(8)の2つのシンタックス要素を含む;
−修正された第1のシンタックス要素は、例えば、ISO/IEC23001−8からの「VideoFramePackingType」のようなフレームパッキングのタイプに関する情報を含む;
−修正された第2のシンタックス要素の第1の最下位ビットは例えば、ISO/IEC23001−8で指定されたQuincunxSamplingFlagの値のように、サンプリングに関する情報を含み、新しい第2のシンタックス要素の第2および第3の最下位ビットは例えば、ISO/IEC23001−8で指定された「PackedContentInterpretationType」の値のように、フレームパッキングの構成フレームの役割を解釈するためのインジケーションを含み、したがって、修正された第2のシンタックス要素が値「0」または「3」を取る場合、パックされたフレーム内のそれぞれの位置に関する情報が指定されないことを意味し、修正された第2のシンタックス要素内の残りのビットは、予約され、「0」に設定される。
別の代替実施形態では、表示パックフレーム内の左ビューおよび右ビューの位置のインジケーションはオプションである。このような場合、stereo_scheme=「4」でlength=「2」のStereoVideoBoxの「stereo_indication_type」は、デフォルトでPackedContentInterpretationTypeの値1を有するものとして解釈されるべきである。
StereoVideoBoxの他のstereo_schemesが、例えば、stereo_scheme=「1」又は他のフレームパッキング配置を参照する将来のstereo_schemeのために、使用中のフレームパッキング配置における左ビュー又は右ビューの位置のインジケーションから利益を得ることができることに留意されたい。
「StereoVideoBox」内のビットまたはバイトに関して追加のコストなしに、各ビューの空間フリッピング情報(すなわち、2つの構成フレームのうちの1つが、表示のためにその意図された向きに対して空間的にフリップされるというインジケーション)ならびにビュー間符号化依存性を、stereo_indication_typeパラメータに記述することができることに留意されたい。これは、第2のシンタックス要素の残りのビットを使用して行うことができる。例えば、本発明に従って、HEVCビデオビットストリームからの以下のパラメータを、stereo_indication_typeの第2または第3のシンタックス要素の残りのビットに追加することができる:
−ISO/IEC23008−2で定義されるようなセマンティクスで、残りのビットの1つにおいて、空間フリッピングの有無を示すパラメータ
−ISO/IEC23008−2で定義されるような、別の残りのビットにおいて(2つの構成フレームのうちのどちらがフリップされるかを示す)frame0_flipped_flagを示すパラメータ。
−ISO/IEC23008−2で定義されているframe0_self_contained_flagまたはISO/IEC14496−10で定義されているleft_view_self_contained_flagを他の残りのビットに示すパラメータ
−ISO/IEC23008−2で定義されているframe1_self_contained_flag、または、ISO/IEC14496−10で定義されているright_view_self_contained_flagを他の残りのビットに示すパラメータ。
さらに、「StereoVideoBox」が1つの単一トラックに左ビューフレームおよび右ビューフレームをパックするために使用されるいくつかのステレオフレームパッキングスキームおよびステレオフレームパッキング配置を記述することを可能にする場合、ISO/IEC23090−2(MPEG OMAF)において、左ビューおよび右ビューが別々のトラックにパックされるときに、容易な記述を可能にしない。この問題は、メディアコンテンツが立体的であり左右両方のビューを埋め込む1つまたは複数のビデオトラックにカプセル化されるたびに、仮想現実または全方向性メディアコンテンツだけでなく、任意のアプリケーションに対して発生することに留意されたい。
例えば、MPEG OMAF仕様は、ステレオビューの並列及び上下フレームパッキングのそれぞれのための値3及び4のみを許容し、以下のようにStereoVideoBoxを用いてステレオコンテンツを記述することを推奨する:
Figure 0006960528
しかし、本仕様はステレオビューを別個のトラックに記述することを可能にしない。
立体コンテンツの記述を単純化し、異なるOMAF記述子における立体情報の繰り返しを回避するために、StereoVideoBoxは、単一のフレーム内にパックされるか、または別々のトラックにカプセル化されるビューが何であれ、任意のタイプのビューカプセル化またはパッキングをサポートするように拡張することができる。
第1に、カプセル化プロセスにいくつかの制約を課すことができる:ステレオビューが異なる特性を有する場合、例えば、領域ごとの品質ランキングでは各ビューがそれ自体のトラックにカプセル化されなければならず、各トラックに対するStereoVideoBoxはstereo_scheme=4(すなわち、CICP ISO/IEC 23001−8で定義されるフレームパッキングを使用しなければならない)と、stereo_indication_type={6,0}とを有しなければならず、これは復号されたフレームがフレームパッキングなしに完全な2Dフレームを構成することを意味する。
そうすることによって、SphereRegionQualityRankingBoxまたは2DRegionQualityRankingBoxなどのOMAF記述子内の他のどこかのビュー識別子(view_idc)を繰り返す必要がなくなる。トラックを解析することで、プレイヤは以下のことを判定できる:
−トラックには、モノスコピックコンテンツ(StereoVideoBoxなし)が含まれている
−トラックには、立体コンテンツが含まれている(StereoVideoBoxの存在)
〇 ステレオの場合、1つのビュー(tref=「svdp」を参照するか、参照されるか)または両方のビューを含むかどうか
〇 ステレオで、単一のビューを含む場合、(以下に説明するような)StereoVideoBoxを介したビュー識別子
stereo_scheme=4、stereo_indication_type={6,0}のStereoVideoBoxを、左ビューまたは右ビューのいずれかを含む各トラックに対して定義することによって、コンテンツが立体コンテンツの一部であるが、どのトラックが右ビューの左であるかを識別することはできないことをシグナリングすることができる。
その後、左右のビューは、タイプ「svdp」のトラック参照を使用して識別される。参照トラック「svdp」を含むトラックは参照トラックとして識別され、それは参照トラックに依存し、立体関連メタ情報も含む。
さらに、トラックがどのビューに対応しているかを示すために、いくつかのパラメータ(single_view_allowed、stereo_indication_type)が使用される。
single_view_allowedのセマンティクスは、以下のように定義される:
stereo_scheme=4かつstereo_indication_typeが「nopacking」を示している場合、すなわちstereo_indication_type={6、0}の場合、single_view_allowed &1が1に等しいことはトラックが右ビューを含むことを示し、single_view_allowed &2が2に等しいことは、トラックが左ビューを含むことを示す。この場合、値0及び3は禁止される。
代替処理として、single_view_allowedパラメータの既存のセマンティクスを修正することを回避するために、StereoVideoBoxの新しいバージョンが定義され、トラックに左ビュー(is_left_view=1)または右ビュー(is_left_view=0)が含まれているかどうかをシグナリングするために追加の1ビットパラメータ「is_left_view」が提供される。
Figure 0006960528
Figure 0006960528
あるいは、追加パラメータは以下のセマンティクスを有する2ビットパラメータ「view_idc」(以下に示す)であり、それが0に等しい場合、トラック内のメディアコンテンツがモノスコピックであることを示し、1はトラック内のメディアコンテンツが立体コンテンツの左ビューであることを示し、2はトラック内のメディアコンテンツが立体コンテンツの右ビューであることを示し、3はトラック内のメディアコンテンツが左ビューおよび右ビューの両方を含むことを示す。
Figure 0006960528
Figure 0006960528
別の代替処理として、新しいパラメータを追加してStereoVideoBoxの新しいバージョンを作成するのではなく、新しいフレームパッキング配置がstereo_scheme=4(CICP ISO/IEC 23001−8の拡張に対応する)について定義され、すなわち、stereo_scheme=4のときのパラメータstereo_indication_typeについて、新しい値、たとえば7が定義される。この新しい値は、以下のように定義される:
VideoFramePackingType=7は、復号されたフレームが2つの構成フレームの対応する面の1つの単一面(すなわち、立体シーケンスの左ビューまたは右ビューのどちらか)を含むことを示す。
この新しいVideoFramePackingTypeの値に加えて、およびフレームパックされたビデオ表現でQuincx(五点形)サンプリング構造が使用されているかどうかを知らせる既存の関連フラグQuincxSamplingFlagに加えて、例えば、ViewIdcFlagと呼ばれる新しい関連フラグが定義されており、フレームパックされたビデオ表現に存在するビューのタイプを識別することを可能にする。存在しないか、または指定されない場合、またはViewIdcFlagの値0の場合は、左ビューおよび右ビューの両方が存在することを示すと推論され、値1は立体コンテンツの左ビューのみが存在することを示し、値2は立体コンテンツの右ビューのみが存在することを示し、ViewIdcFlagの他のすべての値は、ISO/IECによる将来の使用のために予約される。
その場合、StereoVideoBox内のstereo_scheme=4の定義は、以下のように修正される:
「stereo_schemeが4に等しい:lengthの値は2で、stereo_indication_typeはunsigned int(8)の2つのシンタックス要素を含む。第1のシンタックス要素は、ISO/IEC23001−8からのVideoFramePackingTypeを含む。値0から6までのVideoFramePackingTypeについて、第2のシンタックス要素の最下位ビットは、ISO/IEC23001−8で指定されたQuincunxSamplingFlagの値を含み、一方、他のビットは予約され、0に設定される。値7のVideoFramePackingTypeについて、第2のシンタックス要素の最下位2ビットは、左ビュー及び右ビューを識別し、そして(上に定義されるような)ViewIdcFlagの値を含み、他のビットは予約され、0に設定される。」
代替処理として、以下のようにStereoVideoBoxでstereo_scheme=4を定義することで、QuincunxSamplingFlagおよびViewIdcFlagの両方を同時にシグナリングすることができる:
「stereo_schemeが4に等しい:lengthの値は3で、stereo_indication_typeはunsigned int(8)の3つのシンタックス要素を含む。第1のシンタックス要素は、ISO/IEC23001−8からのVideoFramePackingTypeを含む。第2のシンタックス要素の最下位ビットはISO/IEC23001−8で指定されたQuincunxSamplingFlagの値を含み、他のビットは予約され、0に設定される。第3のシンタックス要素の最下位2ビットは、左ビューおよび右ビューを識別し、そして(上に定義されるような)ViewIdcFlagの値を含み、他のビットは予約され、0に設定される。」
一例として、上記の代替処理によれば、StereoVideoBoxは、以下のようにコメントに示される可能な値で変更されないままである:
Figure 0006960528
代替処理として、QuincunxSamplingFlagおよびViewIdcFlagの両方が、以下のようにStereoVideoBoxでstereo_scheme=4を定義することで、オプションでシグナリングすることができる:
「stereo_schemeが4に等しい:lengthの値は1、2または3のいずれかであり、stereo_indication_typeは、unsigned int(8)の1、2または3つのシンタックス要素をそれぞれ含む。第1のシンタックス要素は、ISO/IEC23001−8からのVideoFramePackingTypeを含む。第2のシンタックス要素の最下位ビットは、存在する場合にはISO/IEC23001−8で指定されたQuincunxSamplingFlagの値を含み、他のビットは予約され、「0」に設定される。第3のシンタックス要素の最下位2ビットは、存在する場合には、左ビューおよび右ビューを識別し、(上記で定義された)ViewIdcFlagの値を含み、他のビットは予約され、0に設定される。」第3のシンタックス要素が存在する場合は、第2のシンタックス要素が存在する。
別の代替処理として、4(CICP ISO/IEC23001−8に定義されているフレームパッキングを使用)ではなく3((ISO/IEC23000 11 第1版(「Stereoscopic video application Format」)に定義されているフレームパッキングを使用)に等しいstereo_schemeを使用して別々のトラックに左右のビューを編成する立体全方向性メディアのためのフレームパッキング配置をシグナリングすることができる。ISO/IEC14496−12第4版のStereoVideoBox定義によれば:stereo_schemeが3に等しいことは、lengthの値が2であり、stereo_indication_typeがunsigned int(8)の2つのシンタックス要素を含むことを示す。第1のシンタックス要素は、ISO/IEC23000−11:2009の表4からの立体合成タイプを含む。第2のシンタックス要素の最下位ビットは、ISO/IEC 23000−11:2009の8.4.3で指定されているようなis_left_firstの値を含み、他のビットは予約され、「0」に設定される。
したがって、3に等しいstereo_schemeを持つStereoVideoBoxをこのトラック内に定義することによって、(トラックが左/右ビューシーケンスタイプを表す、すなわち左または右ビューのみを表すことを意味する)値0x3を持つstereo_indication_typeの第1のシンタックス要素を定義することによって、第2のシンタックス要素を、左ビューがセカンダリビューであることをシグナリングするために0として定義し、または左ビューがプライマリビューであることをシグナリングするために1として定義することによって、トラックが立体コンテンツの左ビューまたは右ビューを含むことをシグナリングすることができる。プライマリビューおよびセカンダリビューは、左ビューおよび右ビュートラックをリンクするトラック参照「svdp」により識別される。タイプ「svdp」の「tref」ボックスを持つトラックは、セカンダリビューシーケンスであり、参照されるトラックはプライマリビューシーケンスである。
StereoVideoBoxの新しいバージョン(バージョン=1)を作成する実施形態におけるStereoVideoBoxのサイズは、stereo_schemeおよびstereo_indication_typeに認可された数個の値に割り当てるバイト数を少なくすることで、バージョン0に比べて低減できることに留意されたい。
代替処理として、新しいパラメータview_idcを導入する実施形態のためのStereoVideoBoxのよりコンパクトなバージョン1は、以下のように記述することができる(6バイトを節約する):
Figure 0006960528
同様に、追加パラメータが「view_idc」ではなく「is_left_view」である場合も、同じコンパクトバージョンを定義できる。
さらに、フレームパッキングにより、ビューごとに1つのパックされたフレームとなる場合、DASH複数ビュースキームは、ステレオペアを記述するために適応設定レベルの役割要素において使用され得る。
上記のすべての実施形態によれば、ビューが以下のように異なるトラックに分割される場合には不要となるため、SphereRegionQualityRankingBoxおよび2DRegionQualityRankingBox内のview_idcおよびview_idc_presence_flagパラメータは削除される:
Figure 0006960528
Figure 0006960528
代替処理として、view_idcおよびview_idc_presence_flagパラメータは、以下に示すように、SphereRegionQualityRankingBoxまたは2DRegionQualityRankingBoxの特定のバージョンに条件付けされる:
Figure 0006960528
Figure 0006960528
実際、トラックが左ビュー全体または右ビュー全体のいずれかのみを含む場合、このトラック内に定義された各品質ランキング領域につい(立体ビューをシグナリングする)view_idcを含める必要はない。このような場合、これらのボックスのバージョン==0が使用される。それ以外の場合、トラックがパックされたビューを含むなら、それらのボックスのバージョン==1が使用される。
図3は、本発明の1つまたは複数の実施形態を実施するためのコンピューティングデバイス300の概略ブロック図である。コンピューティングデバイス300は、マイクロコンピュータ、ワークステーション、またはライトポータブル装置などの装置とすることができる。コンピュータデバイス300は、以下と接続された通信バスを備える:
−マイクロプロセッサのような中央処理装置(CPU)301;
−本発明の実施形態の方法の実行可能コードを記憶するためのランダムアクセスメモリ(RAM)302、ならびに、マニフェストの読取りおよび書込み、および/またはビデオの符号化、および/または所与のファイルフォーマットの下でのデータの読取りまたは生成のための方法を実施するために必要な変数およびパラメータを記録するように構成されたレジスタ、たとえば、拡張ポートに接続された任意選択のRAMによって、そのメモリ容量を拡張することができる;
−本発明の実施形態を実施するためのコンピュータプログラムを記憶するためのリードオンリーメモリ(ROM)303;
−同様に、典型的には、処理されるべきデジタルデータが送受信される通信ネットワークに接続されるネットワークインタフェース304。ネットワークインタフェース304は単一のネットワークインタフェースであってもよく、あるいは異なるネットワークインタフェース(例えば、有線および無線インタフェース、あるいは異なる種類の有線または無線インタフェース)のセットから構成されてもよい。データは、送信のためにネットワークインタフェースに書き込まれるか、またはCPU301内で動作するソフトウェアアプリケーションの制御下で受信のためのネットワークインタフェースから読み込まれる;
−ユーザからの入力を受信するため、またはユーザに情報を表示するためのユーザインターフェース(UI)305;
−ハードディスク(HD)306;
−ビデオソースまたはディスプレイなどの外部装置との間でデータを送受信するI/Oモジュール307。
実行可能コードは、リードオンリーメモリ303、ハードディスク306、または例えばディスクのようなリムーバブルデジタル媒体のいずれかに格納することができる。変形例によれば、プログラムの実行可能コードは、通信ネットワークによって、ネットワークインタフェース304を介して、実行される前に、ハードディスク306のような通信装置300の記憶手段の1つに記憶されるように受信することができる。
中央演算処理装置301は、本発明の実施形態による1つ又は複数のプログラムの命令またはソフトウェアコードの一部の実行を制御し、指示するように構成され、その命令は、前述の記憶手段のうちの1つに記憶される。電源投入後、CPU301は、例えばプログラムROM303またはハードディスク306からこれらの命令がロードされた後、ソフトウェアアプリケーションに関連するメインRAMメモリ302からの命令を実行することができる。このようなソフトウェアアプリケーションは、CPU301によって実行されると、前の図に示されたフローチャートのステップを実行する。
この実施形態では、装置は、本発明を実施するためにソフトウェアを使用するプログラマブル装置である。しかしながら、代替的に、本発明はハードウェア(例えば、特定用途向け集積回路(ASIC)の形態)で実施されてもよい。
以上、本発明を特定の実施形態を参照して説明したが、本発明は特定の実施形態に限定されるものではなく、本発明の範囲内にある修正が当業者には明らかであろう。
例えば、本発明は、例えば特定の関心領域にズームインするためのTVまたはマルチメディアディスプレイのためのリモートコントローラとして動作する、カメラ、スマートフォン、ヘッドマウントディスプレイ、またはタブレットなどの装置に組み込まれてもよい。また、同じ装置から、特定の関心領域を選択することにより、マルチメディアプレゼンテーションのパーソナライズされたブラウジング体験を得るために使用することもできる。ユーザによるこれらの装置および方法からの別の使用は、ユーザの好ましいビデオのいくつかの選択されたサブパートを他の接続された装置と共有することである。監視カメラが本発明によるデータを提供するための方法をサポートするのであれば、監視下に置かれた建物の特定の領域で何が起こるかを監視するためにスマートフォンまたはタブレットと共に使用することができる。
前述の例示的な実施形態を参照すると、多くのさらなる修正および変形が当業者に示唆され、例としてのみ与えられ、本発明の範囲を限定することを意図されず、その範囲は添付の特許請求の範囲によってのみ決定される。特に、異なる実施形態からの異なる特徴は、適宜、交換されてもよい。

Claims (16)

  1. 1つまたは複数のメディアファイルを生成するための方法であって、
    第1のビューフレームおよび該第1のビューフレームが関連づけられた第2のビューフレームを含む符号化された立体メディアデータを取得することと、
    前記符号化された立体メディアデータを含むトラックを生成することと、
    左のビューに対応するビューフレームが識別されることに基づいて記述メタデータを生成することと、
    前記生成されたトラックおよび前記生成された記述メタデータに基づいて前記1つまたは複数のメディアファイルを生成することと、
    を含み、
    前記生成された記述メタデータは、ISOBMFF(ISO/IEC 14496−12)で定義されるStereoVideoBoxを含み、
    前記StereoVideoBoxは、どのビューフレームが左のビューに対応するかをシグナリングするためのPackedContentInterpretationTypeを含む方法。
  2. 少なくとも1つの第1のビューフレームおよび関連する第2のビューフレームについて、前記第1のビューフレームをその関連する第2のビューフレームと組み立てて単一のフレームを形成することをさらに含み、前記符号化された立体メディアデータは、前記組み立てられた単一のフレームのうちの少なくとも1つを符号化することによって得られる、請求項1に記載の方法。
  3. 前記方法は、表示されるべき表面に関する第1のビューまたは第2のビューのうちの少なくとも1つのためのカバレッジ情報を提供することと、前記カバレッジ情報が前記第1のビューおよび前記第2のビューの両方のために1回だけ提供される必要がある場合または前記第1のビューおよび前記第2のビューのそれぞれのために2回だけ提供される必要がある場合に、シグナリングのための情報を提供することと、をさらに含む、請求項2に記載の方法。
  4. 前記第1のビューフレームおよび前記関連する第2のビューフレームが同じ符号化されたメディアデータに対応する場合、前記情報は、前記カバレッジ情報が前記第1のビューまたは前記第2のビューのうちの1つのみに提供されることをシグナリングするための所定の値をとるパラメータであり、
    そうではない場合、前記カバレッジ情報は、前記第1のビューおよび前記第2のビューのそれぞれに提供される、請求項3に記載の方法。
  5. 前記第1のビューフレームおよび前記関連する第2のビューフレームが異なる符号化されたメディアデータに対応する場合、前記方法は、表示されるべき表面に関する第1のビューまたは第2のビューのうちの少なくとも1つに対するカバレッジ情報を提供することをさらに含み、前記カバレッジ情報は前記第1のビューまたは前記第2のビューのそれぞれに対して提供され、
    そうではない場合、前記カバレッジ情報は、前記第1のビューおよび前記第2のビューの両方に対して1回だけ提供される、請求項2に記載の方法。
  6. 前記第1のビューフレームが左のビューフレームであり、前記第2のビューフレームが右のビューフレームである、請求項2に記載の方法。
  7. 1つまたは複数の以上のメディアファイルを処理する方法であって、
    前記1つまたは複数のメディアファイルを取得することと、
    第1のビューフレームおよび該第1のビューフレームが関連づけられた第2のビューフレームを含む符号化された立体メディアデータを含むトラックを取得するために、前記取得された1つまたは複数のメディアファイルを処理することと、
    左のビューに対応するビューフレームが識別されることに基づいて記述メタデータを取得するために、前記取得された1つまたは複数のメディアファイルを処理することと、
    を含み、
    前記記述メタデータは、ISOBMFF(ISO/IEC14496−12)で定義されるStereoVideoBoxを含み、
    前記StereoVideoBoxは、どのビューフレームが左のビューに対応するかをシグナリングするためのPackedContentInterpretationTypeを含む方法。
  8. 少なくとも1つの第1のビューフレームおよび前記関連する第2のビューフレームについて、前記第1のビューフレームはその関連する第2のビューフレームと組み立てられて1つの単一のフレームを形成し、前記立体メディアデータは、前記組み立てられた単一のフレームのうちの少なくとも1つを復号することによって得られる、請求項7に記載の方法。
  9. 前記方法は、表示されるべき表面に関する第1のビューまたは第2のビューのうちの少なくとも1つについてのカバレッジ情報を取得することと、前記カバレッジ情報が前記第1のビューおよび前記第2のビューの両方のために1回だけ取得される必要がある場合、または前記第1のビューおよび前記第2のビューのそれぞれのために2回だけ取得される必要がある場合に、シグナリングするための情報を取得することと、をさらに含む、請求項7に記載の方法。
  10. 前記第1のビューフレームおよび前記関連する第2のビューフレームが同じ符号化されたメディアデータに対応する場合、前記情報は、前記カバレッジ情報が前記第1のビューまたは前記第2のビューのうちの1つのみについて取得されることをシグナリングするための所定の値をとるパラメータであり、
    そうではない場合、前記カバレッジ情報は、前記第1のビューおよび前記第2のビューのうちのそれぞれについて得られる、請求項9に記載の方法。
  11. 前記第1のビューフレームおよび前記関連する第2のビューフレームが異なる符号化されたメディアデータに対応する場合、前記方法は、表示されるべき表面に関する第1のビューまたは第2のビューのうちの少なくとも1つについてのカバレッジ情報を取得することをさらに含み、前記カバレッジ情報は前記第1のビューまたは第2のビューのそれぞれについて取得され、
    そうではない場合、前記カバレッジ情報は、前記第1のビューおよび第2のビューの両方について1回だけ取得される、請求項8に記載の方法。
  12. 前記第1のビューフレームは左のビューフレームであり、前記第2のビューフレームは右のビューフレームである、請求項8に記載の方法。
  13. コンピュータまたはプロセッサによって実行される場合に、前記コンピュータまたはプロセッサに、請求項1乃至12の何れか1項に記載の方法を実行させるプログラム。
  14. 請求項13に記載のプログラムを記憶するコンピュータ可読記憶媒体。
  15. 1つまたは複数のメディアファイルを生成するための装置であって、前記装置は、請求項1乃至6の何れか1項に記載の方法を実施するように構成されている装置。
  16. 1つまたは複数のメディアファイルを処理するための装置であって、請求項7乃至12の何れか1項に記載の方法を実施するように構成されている装置。
JP2020513304A 2017-10-12 2018-10-04 メディアコンテンツを生成および処理するための方法、装置、およびコンピュータプログラム Active JP6960528B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1716749.5A GB2567624B (en) 2017-10-12 2017-10-12 Method, device and computer program for transmitting media content
GB1716749.5 2017-10-12
PCT/EP2018/077059 WO2019072688A1 (en) 2017-10-12 2018-10-04 METHOD, DEVICE, AND COMPUTER PROGRAM FOR PRODUCING AND PROCESSING MULTIMEDIA CONTENT

Publications (2)

Publication Number Publication Date
JP2020537367A JP2020537367A (ja) 2020-12-17
JP6960528B2 true JP6960528B2 (ja) 2021-11-05

Family

ID=60419339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020513304A Active JP6960528B2 (ja) 2017-10-12 2018-10-04 メディアコンテンツを生成および処理するための方法、装置、およびコンピュータプログラム

Country Status (4)

Country Link
US (1) US11272159B2 (ja)
JP (1) JP6960528B2 (ja)
GB (1) GB2567624B (ja)
WO (1) WO2019072688A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2554877B (en) * 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
US20210084282A1 (en) * 2018-01-12 2021-03-18 Sony Corporation Information processing apparatus and method
CN111937396B (zh) * 2018-04-03 2023-11-17 华为技术有限公司 基于子图像码流视角相关视频编码中的误差抑制的文件格式指示
WO2020009344A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
CN111263191B (zh) * 2018-11-30 2023-06-27 中兴通讯股份有限公司 视频数据的处理方法、装置、相关设备及存储介质
US10972752B2 (en) * 2018-12-05 2021-04-06 Advanced Micro Devices, Inc. Stereoscopic interleaved compression
US11470140B2 (en) * 2019-02-20 2022-10-11 Dazn Media Israel Ltd. Method and system for multi-channel viewing
US11457053B2 (en) * 2019-02-20 2022-09-27 Dazn Media Israel Ltd. Method and system for transmitting video
BR112021026268A2 (pt) * 2019-06-25 2022-03-03 Beijing Xiaomi Mobile Software Co Ltd Método e dispositivo para reproduzir mídia omnidirecional, e, dispositivo de terminal
EP3782366A4 (en) * 2019-07-03 2021-10-20 Beijing Xiaomi Mobile Software Co., Ltd. METHOD AND DEVICE FOR CODING, DECODING AND STORAGE MEDIA
CN111147768A (zh) * 2019-12-25 2020-05-12 北京恒峰致远科技有限公司 一种提高回看效率的智能监控视频回看方法
CN111147815A (zh) * 2019-12-25 2020-05-12 北京恒峰致远科技有限公司 一种视频监控系统
WO2022050166A1 (ja) * 2020-09-04 2022-03-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 再生装置、送信装置、再生方法、及び、送信方法
EP3972269A1 (en) * 2020-09-17 2022-03-23 Lemon Inc. Subpicture entity groups in video coding
US20220086457A1 (en) * 2020-09-17 2022-03-17 Lemon Inc. Subpicture track referencing and processing
CN115086781B (zh) * 2022-06-15 2024-02-09 北京博良胜合科技有限公司 用于Cloud XR的音视频及控制信息的私有传输方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396906B2 (en) 2007-10-10 2013-03-12 Electronics And Telecommunications Research Institute Metadata structure for storing and playing stereoscopic data, and method for storing stereoscopic content file using this metadata
CN104618708B (zh) * 2009-01-28 2017-07-07 Lg电子株式会社 广播接收机及其视频数据处理方法
KR101372376B1 (ko) * 2009-07-07 2014-03-14 경희대학교 산학협력단 디지털 방송 시스템의 스테레오스코픽 비디오 수신 방법
CN103069812B (zh) 2010-06-09 2015-12-16 三星电子株式会社 提供基于分段的多媒体流服务的方法及装置、接收基于分段的多媒体流服务的方法及装置
JP5510097B2 (ja) 2010-06-16 2014-06-04 ソニー株式会社 信号伝送方法、信号送信装置および信号受信装置
JP6440747B2 (ja) * 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
WO2016004039A1 (en) * 2014-07-01 2016-01-07 Huawei Technologies Co., Ltd. Client behavior control in adaptive streaming
JP2018507591A (ja) * 2014-12-31 2018-03-15 ノキア テクノロジーズ オサケユイチア スケーラブルなビデオ符号化および復号化のための層間予測
US9715638B1 (en) * 2015-12-31 2017-07-25 Nokia Technologies Oy Method and apparatus for identifying salient subimages within a panoramic image
US10389999B2 (en) * 2016-02-17 2019-08-20 Qualcomm Incorporated Storage of virtual reality video in media files
EP3565244A4 (en) * 2016-12-28 2019-12-11 Sony Corporation GENERATING DEVICE, IDENTIFICATION INFORMATION GENERATING METHOD, REPRODUCING DEVICE, AND IMAGE REPRODUCTION METHOD
WO2018198487A1 (en) * 2017-04-25 2018-11-01 Sharp Kabushiki Kaisha Systems and methods for signaling quality information for regions in virtual reality applications
US20190387212A1 (en) * 2017-05-26 2019-12-19 Lg Electronics Inc. 360 video processing method and apparatus therefor
US11082719B2 (en) * 2017-07-03 2021-08-03 Nokia Technologies Oy Apparatus, a method and a computer program for omnidirectional video
US10567734B2 (en) * 2017-08-29 2020-02-18 Qualcomm Incorporated Processing omnidirectional media with dynamic region-wise packing

Also Published As

Publication number Publication date
WO2019072688A1 (en) 2019-04-18
JP2020537367A (ja) 2020-12-17
US20200244942A1 (en) 2020-07-30
GB201716749D0 (en) 2017-11-29
GB2567624B (en) 2021-05-26
GB2567624A (en) 2019-04-24
US11272159B2 (en) 2022-03-08

Similar Documents

Publication Publication Date Title
JP6960528B2 (ja) メディアコンテンツを生成および処理するための方法、装置、およびコンピュータプログラム
JP7399224B2 (ja) メディアコンテンツを送信するための方法、装置及びコンピュータプログラム
JP7472220B2 (ja) 方法、プログラム、及びデバイス
KR102329474B1 (ko) 미디어 데이터를 생성하기 위한 방법
JP7133038B2 (ja) メディアコンテンツを送信する方法、装置及びコンピュータプログラム
GB2564731A (en) Description of image composition with HEVC still image file format
CN110741649B (zh) 用于轨道合成的方法及装置
KR20220071228A (ko) 병합 친화적인 파일 형식
KR20220101169A (ko) 멀티뷰 비디오 프로세싱 방법 및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200507

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200507

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211011

R151 Written notification of patent or utility model registration

Ref document number: 6960528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151