JP6924266B2 - 生成されたコンテンツを含むビデオデータを符号化するための方法および装置 - Google Patents

生成されたコンテンツを含むビデオデータを符号化するための方法および装置 Download PDF

Info

Publication number
JP6924266B2
JP6924266B2 JP2019543259A JP2019543259A JP6924266B2 JP 6924266 B2 JP6924266 B2 JP 6924266B2 JP 2019543259 A JP2019543259 A JP 2019543259A JP 2019543259 A JP2019543259 A JP 2019543259A JP 6924266 B2 JP6924266 B2 JP 6924266B2
Authority
JP
Japan
Prior art keywords
track
sample
conversion
video data
media
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
JP2019543259A
Other languages
English (en)
Other versions
JP2020511815A (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 JP2020511815A publication Critical patent/JP2020511815A/ja
Application granted granted Critical
Publication of JP6924266B2 publication Critical patent/JP6924266B2/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/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/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/23439Processing 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 for generating different versions
    • 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
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in 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/85406Content authoring involving a specific file format, e.g. MP4 format

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Description

本開示は一般に、メディアデータの交換、管理、編集、および提示を容易にし、ストリーム管理を改善する柔軟かつ拡張可能なフォーマットを提供するための、例えばMPEG標準化機構によって定義されるISOベースメディアファイルフォーマットによる、時限メディアデータのカプセル化および構文解析の分野に関する。
国際標準化機構ベースメディアファイルフォーマット(ISO BMFF、ISO/IEC 14496-12)は、ローカル記憶またはネットワークを介するかまたは別のビットストリーム配信メカニズムを介する伝送のいずれかのための符号化された時限メディアデータビットストリームを記述する周知のフレキシブルかつ拡張可能なフォーマットである。このファイルフォーマットはオブジェクト指向である。これは、順次または階層的に編成され、タイミングおよび構造パラメータなどの符号化された時限メディアデータビットストリームのパラメータを定義するボックスと呼ばれるビルディングブロックから構成される。ファイルフォーマットでは、プレゼンテーション全体をムービーと呼ぶ。それは論理的にトラック(Track)に分割される。各トラックはメディアデータ(例えば、ビデオのフレーム)の時限シーケンスを表す。各トラック内で、データの各時間単位はサンプルと呼ばれ、これはビデオまたはオーディオのフレームとすることができる。サンプルは、暗黙のうちに順番に番号付けされる。ムービーは、ムービーおよびトラックフラグメントのリストとして編成することができる。ムービーフラグメントは、プレゼンテーションを時間的に延長する。それらは、以前はMovieBox(メディアボックス)と呼ばれるボックス内にあったものであろう情報を提供する。実際のサンプルは、MediaDataBoxesと呼ばれるボックス内にある。ムービーフラグメント内には、トラック毎に0以上のトラックフラグメントのセットがある。トラックフラグメントは次に、0個以上のトラックランを含み、各トラックランは、そのトラックに対するサンプルの連続したランを文書化する。
ファイルフォーマットは、各種NAL(ネットワーク抽象化レイヤ)ユニットベースのビデオ符号化フォーマットのためのカプセル化ツールを記述する別の部分(パート5、ISO/IEC 14496-15)を有する。そのような符号化フォーマットの例は、AVC(Advanced Video Coding)、SVC(Scalable Video Coding)、HEVC(High Efficiency Video Coding)、またはL-HEVC(Layered HEVC)である。
HEVCおよび同様のビデオ符号化フォーマットはサンプルの異なる空間的細分、例えば、ピクチャ、すなわちタイル(tile)、スライス(slice)、およびスライスセグメント(slice segment)を定義する。タイルは整数個のコーディングツリーユニット(CTU)またはコーディングブロックを含むピクチャの矩形領域を定義し、これらはすべて、以下でコーディングユニットと呼ばれる。したがって、タイルは、関心領域(ROI)を表す良好な候補である。しかしながら、構文(シンタックス)およびNALユニット(またはNALU)へのそのカプセル化に関する符号化ビデオデータ(ビットストリーム)編成は、(AVCにおけるように)むしろスライスおよびスライスセグメントに基づく。
HEVC内のスライスはスライスセグメントのセットであり、少なくとも第1のスライスセグメントは独立したスライスセグメントであり、もしあれば、他のスライスセグメントは従属スライスセグメントである。スライスセグメントは、整数個の連続する(ラスタスキャン順の)CTUを含む。スライスは、必ずしも長方形の形状を有する必要はない(したがって、ROI表現のためのタイルよりも適切ではない)。スライスセグメントは、HEVCビットストリームにおいて、slice_segment_headerの後にslice_segment_dataが続くように符号化される。非依存スライスセグメント(ISS)および従属スライスセグメント(DSS)はそれらのヘッダによって異なり、従属スライスセグメントは、非依存スライスセグメントのヘッダからの情報を再利用するため、より短いヘッダを有する。非依存スライスセグメントと従属スライスセグメントの両方は、ビットストリーム内のエントリポイントのリストを含む。
ビデオビットストリームがタイルで符号化されるとき、NALユニットのタイルへのマッピングを記述するための記述ツールがMPEGファイルフォーマットのパート15に存在する。このパート15では、次のいずれかの方法でタイルをカプセル化するツールについて説明する。
・単一のビデオトラック内の全てのタイル、または
・タイルベーストラック内に記憶されたタイルトラック間で共通の情報を有するタイルトラック内の各HEVCタイル、
・または、タイルベーストラックに格納されたタイルトラック間で共通の情報を有するタイルトラック内の矩形領域を形成するHEVCタイルのセット。
メディアコンテンツ作成者は、異なるバージョンのビデオ、すなわち、合成(コンポジション)、画像効果、または記録されたビデオサンプルに適用される演算によって同じオリジナルビデオから生成されるいくつかのビデオを提供することを望む。問題は、結果として得られるメディアファイルのサイズを大きくしすぎることなく、メディアコンテンツのこれらの異なるプレゼンテーションを提供することである。
本発明は、前述の問題のうちの1つまたは複数に対処するように考案された。提案されたスキームはメディアトラックの標準的なカプセル化を実行し、さらに、入力メディアトラックからの生成規則およびパラメータのみを含む生成トラックと呼ばれる1つまたは複数の特定のトラックを構築する。したがって、メディアデータは、一度記憶され、生成されたトラックから参照される。生成された各トラックは、使用されたオリジントラック上のポインタを有するトラックヘッダに記述された変換演算子およびパラメータのセットからなる。変換パラメータが静的(すべてのサンプルに対して同じ)であるか、動的(サンプルベースで変化する)であるかに応じて、変換パラメータのための代替処理の説明および記憶がある。例えば、1つの可能性は、‘mdat’ボックス(Media Data Box)内のサンプルレベルで演算子または変換パラメータを記憶することである。
本発明の第1の態様によれば、複数のサンプルから構成されるメディアデータを符号化する方法が提供される。当該方法は、サーバデバイスにより、
・符号化されたメディアデータを取得するためにメディアデータを符号化することと、
・符号化されたメディアデータを少なくとも1つの第1のトラックのセットにカプセル化することと、
・第2のトラックを生成することを含み、
ここで、
・第2のトラックは、少なくとも1つの変換演算子のセットを少なくとも1つの第1のトラックのサンプルに適用した結果を表すサンプルを記述し、
・第2のトラックは第1のトラックのうちの少なくとも1つへの参照を含み、
・第2のトラックは、メタデータ部分において、変換演算子のセットの記述を含む。
一実施形態では、方法は更に、
・第2のトラックのメタデータ部分に、少なくとも1つの変換演算子を特徴付けるための1つまたは複数のパラメータをカプセル化することを含む。
一実施形態では、方法は更に、
・第2のトラックのメタデータ部分のヘッダ部分に、少なくとも1つの変換演算子を特徴付けるための1つまたは複数のパラメータをカプセル化することを含む。
一実施形態では、方法は更に、
・第2のトラックの、メタデータ部分のサンプルテーブルボックスに、少なくとも1つの変換演算子を特徴付けるための1つまたは複数のパラメータをカプセル化することを含む。
一実施形態では、方法は更に、
・生成されたトラックのメディアデータ部分において、第2のトラックに記述された特定のサンプルに使用される少なくとも1つの変換演算子を特徴付けるための1つまたは複数の特定のパラメータをカプセル化することを含む。
一実施形態では、方法は更に、
・第2のトラックのメディアデータ部分において、第2のトラックのメタデータ部分において、第2のトラックに記述された特定のサンプルのために使用される少なくとも1つの変換演算子を特徴付けるための1つ以上の特定のパラメータをカプセル化し、第2のトラックのメディアデータ部分において、これらの特定のパラメータへのいくつかの参照(基準)を提供することを含む。
一実施形態では、方法は更に、
・第3のトラックにおいて、少なくとも1つの変換演算子を特徴付けるための1つ以上のパラメータを提供することであって、第2のトラックは、第3のトラックへの参照をさらに含む、ことを含む。
一実施形態では、1つまたは複数のパラメータが第3のトラックのメディアデータ部分に含まれる。
一実施形態では、第2のトラックがメディアデータ内に、少なくとも1つの変換演算子のセットを少なくとも1つの第1のトラックのサンプルに適用した結果を表すサンプルをさらに含む。
一実施形態では、変換演算子の1つはキャプチャ投射の空間部分に信号を送ることを可能にする。
一実施形態では、生成されたトラックのデータ部分が空としてマークされる。
本発明の別の態様によれば、複数のサンプルから構成されるメディアデータを復号する方法が提供される。当該方法は、クライアントデバイスにより、
・少なくとも1つの第2のトラックへの参照と、少なくとも1つの変換演算子のセットの記述とを含む第1のトラックを受信することと、
・少なくとも1つの第2のトラックを受信することと、
・少なくとも1つの第2のトラックで受信したサンプルに変換演算子のセットを適用することにより、メディアデータのサンプルを生成することを含む。
本発明の別の態様によれば、複数のサンプルから構成されるメディアデータを符号化するサーバデバイスが提供される。当該サーバデバイスは、
・符号化されたメディアデータを取得するためにメディアデータを符号化し、
・符号化されたメディアデータを少なくとも1つの第1のトラックのセットにカプセル化し、
・第2のトラックを生成する、ように適合化されたプロセッサを備え、
ここで、
・第2のトラックは、少なくとも1つの変換演算子のセットを少なくとも1つの第1のトラックのサンプルに適用した結果を表すサンプルを記述し、
・第2のトラックは第1のトラックのうちの少なくとも1つへの参照を含み、
・第2のトラックは、メタデータ部分において、変換演算子のセットの記述を含む。
本発明の別の態様によれば、複数のサンプルから構成されるメディアデータを復号するクライアントデバイスデバイスが提供される。当該クライアントデバイスは、
・少なくとも1つの第2のトラックへの参照と、少なくとも1つの変換演算子のセットの記述とを含む第1のトラックを受信し、
・少なくとも1つの第2のトラックを受信し、
・少なくとも1つの第2のトラックで受信したサンプルに変換演算子のセットを適用することにより、メディアデータのサンプルを生成する、ように適合化されたプロセッサを備える。
本発明の別の態様によれば、プログラマブル装置のためのコンピュータプログラム製品が提供され、コンピュータプログラム製品はプログラマブル装置にロードされ、プログラマブル装置によって実行されるときに、本発明による方法を実施するための命令のシーケンスを含む。
本発明の別の態様によれば、本発明による方法を実施するためのコンピュータプログラムの命令を記憶するコンピュータ可読記憶媒体が提供される。
本発明による方法の少なくとも一部は、コンピュータで実施することができる。したがって、本発明は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書ではすべて一般に「回路」、「モジュール」、または「システム」と呼ばれることがあるソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形態をとることができる。さらに、本発明は、媒体に具現化されたコンピュータ使用可能プログラムコードを有する任意の有形の表現媒体に具現化されたコンピュータプログラム製品の形成をとることができる。
本発明はソフトウェアで実施することができるので、本発明は、任意の適切なキャリア媒体上のプログラマブル装置に提供するためのコンピュータ可読コードとして実施することができる。有形の非一時的キャリア媒体は、フロッピーディスク、CD-ROM、ハードディスクドライブ、磁気テープ装置、またはソリッドステートメモリ装置などの記憶媒体を含むことができる。過渡搬送媒体は、電気信号、電子信号、光信号、音響信号、磁気信号、または電磁信号、例えばマイクロ波またはRF信号などの信号を含むことができる。
本発明の実施形態を、単なる例として、以下の図面を参照して説明する:
図1は、本発明を使用することができる典型的なクライアント・サーバ・システムを示す。 図2は、本発明の一実施形態による、ビジュアルトラックからトラックを生成する異なる方法を示す。 図3は、本発明の一実施形態による、生成されたビジュアルトラック設計を示す。 図4は、本発明の一実施形態による、1つまたは複数の生成されたビジュアルトラックを含むメディアファイルをカプセル化するための方法を表すフローチャートを示す。 図5は、本発明の一実施形態によるメディアファイルまたはメディアセグメントの構文解析を示す。 図6は、本発明の一実施形態におけるサンプルの生成を示す。 図7は、1つまたは複数の実施形態のステップを実施することができるサーバまたはクライアントデバイスのブロック図を表す。 図8は、本発明の一実施形態における、シーンのワイドビューに対応するビデオのカプセル化プロセスを、シーンのこのワイドビューの抽出と共に示す。
図1は、本発明を使用することができる典型的なクライアント・サーバ・システムを示す。本発明は、通信ネットワークを介してストリーミングするだけでなく、いかなる方法で配布されてもよいメディアファイルの生成に関係し得るようなシステムに限定されない。
このシステムはサーバ側に、メディアエンコーダ100、特にビデオエンコーダ、メディアパッケージャ110、およびメディアサーバ120を備える。メディアパッケージャ110は、NALUパーサ111と、メモリ112と、ISOBMFF(ISOBMFF)ライタ113とを備える。メディアサーバ120は、マニフェストファイル(MPD)121およびメディアセグメント122を生成することができる。システムはクライアント側に、異なるモジュールを有するメディアクライアント150、すなわち、ISOMBFFパーサ152、メディアデコーダ153、特にビデオデコーダ、ディスプレイ154、および適応HTTPストリーミング、特にメディアセグメント190のストリーミングを制御するためのストリーミングマニフェスト159の構文解析をサポートするHTTPクライアント151をさらに備える。それはまた、符号化されたビットストリームおよび/または復号化されたピクチャに対して演算を実行することができるモジュール、すなわち変換モジュール155を含む。
典型的には、メディアクライアント150がメディアサーバ120上で利用可能な異なるメディア表現の記述を得るために、マニフェストファイル121を要求する。したがって、メディアクライアント150は、関心のあるメディアセグメント122を要求する。これらの要求は、HTTPモジュール151を介して行われる。次に、受信されたメディアセグメントは、ISOBMFFパーサ152によって構文解析され、ビデオデコーダ153によって復号され、任意選択で、ディスプレイ154上で再生されるように変換部155を介して変換される。
ビデオシーケンスは、通常、ビデオエンコーダ100によって符号化され、メディアパッケージャ110によって1つまたは複数のファイルにカプセル化される。生成されたファイルは、メディアサーバ120によってクライアントに利用可能にされる。
本発明のいくつかの実施形態によれば、別のモジュールがメディアパッケージャの一部として、またはメディアパッケージャの外側に、システムに含まれる:生成部130。このユニットにより、ユーザはカプセル化されたメディアトラックを見ることができ、様々な画像演算をサンプルに適用することによって編集および修正することができる。この生成部は、ユーザがISOBMFFライタによって生成されたメディアファイル内の追加トラックとして、ユーザの合成(コンポジション)の結果を挿入することを望むときに、メディアパッケージャと相互作用(インタラクト)する。
メディアサーバは、本発明が主に、1つまたは複数のメディアトラックの合成、導出、組み合わせ、変換、または集約から生じるトラックのメディアカプセル化および構成/記述を扱うという意味で、任意選択である。メディアサーバに関しては、伝送部分(HTTPモジュールおよびマニフェストパーサ)が、本発明がレンダリングのためにカプセル化されたメディアファイルが提供される単純なメディアプレーヤからなるメディアクライアントにも適用されるという意味で、オプションである。メディアファイルは、フルダウンロード、プログレッシブダウンロード、アダプティブストリーミング、またはディスク上またはメモリからメディアファイルを読み取ることによって提供することができる。
本発明による方法は図7に示すように、サーバ装置のCPU 704によって実行されるとき、メディアパッケージャモジュール110によって、より具体的には、ソフトウェアコードを含む合成部130と協働するISOBMFFライタモジュール113によって実行される。
典型的には、カプセル化モジュールが異なるNALユニットを抽出し識別し、ISOBMFFボックス階層に従って記述メタデータを有する1つ以上のトラックとしてビデオビットストリームを含むISOBMFFファイル又はISOBMFFセグメント122に符号化されたデータを編成するために、圧縮されたビデオから構成されるビデオビットストリームの高レベル構文(シンタックス)を読み出すことを担当する。ISOBMFFファイルまたはISOBMFFセグメント122は潜在的に、1つまたは複数の他の同期メディアトラック、例えば、オーディオ、サブタイトル、テキスト、メタデータなども含む。本発明の一態様によれば、ISOBMFFライタは、合成部130によってメディアトラックに適用された合成、変換、派生、または効果から生じる追加のトラックをメディアトラックに生成する。データ、すなわち元のデータに生成されたデータを加えたもの複製を回避するために、ISOBMFFライタ113は変換の結果を提供する代わりに、生成されたトラックを構築するための変換規則およびパラメータを記述する、生成されたトラックと呼ばれる1つまたは複数の特定のトラックを構築する。1つの生成されたトラックは、合成または派生ごとに作成される。これは、原稿及び変換されたトラックの両方を同じメディアファイルに保持するという利点を有する。カプセル化プロセスは図4を参照してさらに詳細に説明される。メディアファイルまたはメディアセグメントの構文解析プロセス、読み取り、およびレンダリングは、図5および図6を参照して詳細に説明される。
図2は、ビジュアル(視覚)トラックからトラックを生成する異なる方法を示す。生成されたビジュアルトラックは、1つまたは複数のビデオトラックに適用される1つまたは複数の演算から生じることができる。
図2(a)は、単一の変換演算(子)201を介して単一の入力ビデオトラック200から得られた生成されたビジュアルトラック202を示す。
図2(b)は、複数の変換演算(子)211を介して単一の入力ビデオトラック210から得られる生成されたビジュアルトラック212を示す。
図2(c)は、単一の演算221を通して複数のビデオトラック220から得られた生成されたビジュアルトラック222を示す。
図2(d)は、複数の演算231を通して複数のビデオトラック230から得られた生成されたビジュアルトラック232を示す。
生成されたトラックのサンプルは、全てのサンプルに対して同じ変換演算子及び同じ変換演算子パラメータを用いて計算される場合がある。この種の変換を静的変換と呼ぶ。反対に、各サンプルが互いに異なる変換演算子パラメータを有することができる場合がある。ここでは、動的変換について述べる。生成されたビジュアルトラックのための現在の設計は動的変換に適応されるが、静的変換(生成された各サンプルにおける変換演算子およびパラメータを繰り返す)のための何らかの説明オーバーヘッドをもたらす。さらに、現在の設計は、変換がメディアデータボックスに記述されることを意味する。これは、トラック編集に敏感であり得、例えば、メディアファイルにトラックを追加またはメディアファイルからトラックを除去するとき、生成されたサンプルへのオフセットが影響を受け得る。本発明は、メディアデータとの混合を回避して、メタデータボックスにおける変換を可能な限り記述することを提案する。そのために、図3に示す設計は生成されたトラックのメタデータに変換規則を定義し、可能な場合には、少なくとも静的変換のために、トラックのメタデータ内のパラメータも宣言することを提案する。動的変換の場合、変換パラメータは外部トラック、例えば、時限メタデータトラック、または生成されたサンプルに格納することができる。外部トラックはカプセル化されたメディアファイル内にあってもよいが、別のメディアファイル内に含まれていてもよい。本発明による設計は、静的変換パラメータ宣言および動的変換パラメータ宣言の両方をサポートする。
図3は、本発明の一実施形態による、生成されたビジュアルトラック設計を示す。
生成されたビジュアルトラック(GVT)(または導出されたビジュアルトラック)(DVT)は、ビデオトラックとして記述される。そのハンドラは、予約された4文字コード‘vide’に設定される。GVT 310が生成されるトラックは値‘gtrk’または(‘dtrk’)がGVTから進み、入力ビデオトラックのそれぞれを指すトラック参照(基準)タイプを介して参照される。例えば、GVT 310は入力ビデオトラック301及び309から生成され、トラック305は生成処理において使用されない。任意のトラックに関して、GVT 310は、データがファイル内にあるかリモートファイル内にあるかを示すデータ参照ボックス312を含む。図3の例では、GVTに関連するサンプルを意味するデータがメディアデータボックス‘mdat’320内にある。データリファレンスボックス312はまた、例えば、他のメディアファイルに格納される変換パラメータを提供するメタデータトラックを参照するために使用され得る。GVT 310は、サンプルを記述するSampleTableBox‘stbl’313を含む。
生成されたビジュアルトラックはその記述メタデータボックス内に、入力トラックから、生成されたビジュアルトラックを導出するための変換または演算341〜344のリストを含むTransformPropertyContainer 314を含む。これらの変換または演算の各々は、それが静的変換であるか動的変換であるかを示すパラメータで宣言される。それはまた、それが単一の入力メディアトラックに適用されるか、または入力メディアトラックのリストに適用されるかを示すパラメータを含む。TransformPropertyの別のパラメータは、入力サンプルの復号の後または前に演算または変換が適用されるかどうかを示す。
例えば、図2(a)を参照すると、生成されたビジュアルトラック310は、トラック参照タイプ311を介して1つのビデオトラックのみを参照する。次いで、TransformPropertyContainer 314は、単一のTransformPropertyタイプを含む。図2(b)を参照すると、生成されたビジュアルトラック310は、トラック参照タイプ311を介して単一のビデオトラックを参照する。次いで、TransformPropertyContainer 314は、TransformPropertyタイプのリストを含む。図2(c)を参照すると、生成されたビジュアルトラック310は、トラック参照タイプ311を介して複数のビデオトラックを参照する。TransformPropertyContainer 314は、単一のTransformPropertyタイプを含む。図2(d)を参照すると、生成されたビジュアルトラック310は、トラック参照タイプ311を介して複数のビデオトラックを参照する。次いで、TransformPropertyContainer 314は、TransformPropertyタイプのリストを含む。
TransformPropertyボックスは、単一の入力トラックTransformPropertyボックスおよびマルチトラックTransformPropertyボックスに特化され得る。これは、好ましい実施形態ではその“version(バージョン)”パラメータの異なる値を指定することによって行われる。TransformPropertyボックスの“version”パラメータが値1を取るとき、単一の入力トラックが変換オペランドとして提供されることが手段である。TransformPropertyボックスの“version”パラメータが値2をとる場合、多数の入力トラックが変換オペランドと見なされること、すなわち、生成されたサンプルが多数の入力映像サンプルから計算されることを意味する。
次に、変換コンテナボックス314を導入し、以下のように変換特性ボックスを定義する、生成されたビジュアルトラックの設計を提案する。
トラックを生成するために使用される変換の宣言。
Figure 0006924266
このボックスは、トラックが生成するサンプルに適用される変換のリストを、提供する。
Figure 0006924266
以下のセマンティクスで。
このボックスのflags(フラグ)パラメータは、変換の種類を記述するために使用される。それはまた、これらの変換の複雑さに関する指標を提供する。flags values(フラグの値)(例として以下の名前と値を提供する)は図2に示したさまざまな構成のファイル内で高レベルでの記述を可能にする。そうすることによって、ISOBMFFパーサまたは読取は、生成されたトラックを扱うことができるかどうかを容易にチェックすることができる。
All_static:含まれるすべてのTransformPropertyボックスが静的変換に対応することを示す。フラグ値は0x000001である。これは、生成されたトラックが生成されたサンプルを含まないことを意味する。それは、それらがすべてTransformPropertyインジケーションから生成されることができるからである。
All_single_input:含まれるすべてのTransformPropertyボックスが単一の入力トラックを含むことを示す。フラグ値は0x000002である。all_singleフラグ値が設定されると、TransformPropertyContainerは、version=1のTransformPropertyボックスのみを含む。all_singleフラグ値が設定されていない場合、含まれているTransformPropertyボックスのタイプについて結論を導くことはできない。これらは、すべての動的なTransformPropertyボックス(version=2)または静的変換と動的変換の混合とすることができる。
num_entriesパラメータは、生成されたトラックの生成されたサンプルを構築するために入力トラックサンプルに適用される連続変換の数を示す。
代替実施形態では、TransformPropertyContainerのバージョンパラメータを使用して、図2とは異なる構成を示すことができる。例えば、
version =1の場合、TransformPropertyContainerボックスは、1つのTransformPropertyボックスのみを宣言する。したがって、エントリの数を提供する必要はない。
version=1をall_single_inputフラグと組み合わせることは、図2の構成(a)が使用中であることを示す。all_single_inputフラグが設定されていない場合、この信号は、図2の構成(a)または(c)を示す。
version=2の場合、TransformPropertyContainerボックスは、複数のTransformPropertyボックスを宣言する。したがって、エントリの数(生成されたトラックを構築するために使用されるTransformPropertyの数)が提供される。flagsの値all_single_inputと組み合わせた場合、これは図2の構成(b)を示す。all_single_inputフラグが設定されていない場合、この信号は、図2の構成(a)または(c)を示す。
次に、ボックスは次のように書き直される。
Figure 0006924266
代替実施形態では、フラグ値“all_static”に含まれる情報がこのトラックのサンプルが実際に空のサンプルであることを示す、生成されたトラックのSampleTableBox内の特定のVisualSampleEntryとして与えることができる。例えば、生成されたトラックサンプルが空である場合には、予約コード: ‘gtse'を使用する。メディアサンプルに適用する各変換は、以下のようにTransformPropertyボックスによって記述される(TransformPropertyがすべての特定の種類の変換に対する共通パラメータの宣言のための汎用ボックスである(この汎用TransformPropertyボックスを拡張する他のTransformPropertyボックスが変換パラメータを提供することができる))。
Figure 0006924266
TransformPropertyがサンプル内で宣言された動的パラメータを有する場合(TransformPropertyボックス内の専用パラメータ“params_in_samples”が1に設定される場合)、変換パラメータは、生成されたサンプル内で宣言され、メディアデータボックス内に格納される。
Figure 0006924266
以下のセマンティクスで、
num_inputsは、変換の入力サンプル数を指定する。
input_trackIDは、入力サンプルが変換に到来するソーストラックのtrack_IDを示す。0に設定されると、先行する変換または演算の出力を示す。
params_in_samplesは、派生サンプルにおいて変換パラメータが宣言されているかどうかを示す。
任意選択で、追加のフラグは、変換パラメータが同じメディアファイル内の別のトラック内にあるか、またはリモートメディアファイル内の別のトラック内にあるかを、params_in_samples =0のときに示すことができる。後者の場合、このトラックは例えば、生成された視覚トラックのDataEntryBox内のデータURLボックスを介して到達することができる。
param_track_IDは、変換パラメータ(例示的なパラメータトラック340)を宣言するトラックのtrack_IDを示す。このトラックは生成されたビジュアルトラックによって、特定の値を有するトラック参照タイプ、例えば、派生トラックパラメータのための‘dtrp’を介して参照することができる。(ここでの名前およびコードは単に、例えば、他のトラック参照タイプと競合しない任意の予約コードが便利である)。
代替実施形態ではtrack_IDを直接参照する代わりに、track_ref_index_or_zeroパラメータを使用することができ、これはタイプ‘gtrk’のTrackReferenceTypeBoxに対する1ベースのインデックスか、または先行するImageOperationの出力を示す値0のいずれかである。入力トラックを参照するこの方法を使用する場合、バージョン=1の汎用TransformPropertyはバージョン=1の場合、1つの入力トラックしかなく、このトラックは生成されたトラックのトラック参照ボックスから容易に取り出すことができるので、空でさえあり得る。次に、TransformPropertyボックスは、次のように書き換える。
Figure 0006924266
同様に、param_track_IDパラメータは、変換パラメータを提供するトラックを参照する値‘dtrp’を有するトラック参照タイプ341のインデックスとすることができる。8ビットで符号化されたトラック参照タイプを使用すると、track_IDよりも短い記述が得られる。track_IDの1つの利点は、トラックが外部またはリモートメディアファイルに含まれる場合である。
transfo_IDは、宣言されたTransformPropertyを参照するために使用することができるすべての変換の中で一意の識別子である。
さらに、本発明の一実施形態によれば、TransformPropertyのフラグは生成されたビジュアルトラックを構築するための変換に関するより多くの情報を与えるために、以下の値をとることができる。
Transform_is_static:TransformPropertyが所与のトラックまたはトラックフラグメントに対して固定パラメータを有することを示す。フラグ値は0x000001である。static(静的)TransformPropertyは、入力サンプルに適用する変換のパラメータの値を含む。これらは、TransformationParameterと呼ばれる特定のTransformatPropertyボックスの1つによって指定される。フラグ値がこの値セットを有していない場合、TransformPropertyボックスは変換パラメータが定義されている場所、すなわち、生成されたサンプル内、メディアファイル内のトラック内、またはメディアファイル外のトラック内、を示すものとする。
Transform_post_decoding:生成するサンプルの復号(デコーディング)後にTransformPropertyが適用されることを示す。フラグ値は 0x000002である。ポストデコーディングTransformPropertyは変換を適用する前に、入力サンプルがデコードされることを必要とする。このフラグがセットされていない場合、TransformPropertyは圧縮サンプルに適用される。
Transform_preserve_samples:(TransformPropertyの適用後に)生成されたトラックで取得されたサンプルの数が入力トラックと同じであることを示す。フラグ値は0x000004である。このフラグがセットされていない場合、生成されたトラックは、入力トラックとは異なる数のサンプルを含むことになる。
“version”パラメータの使用に対する代替実施形態では、抽象TransformPropertyボックスから継承する、いくつかの種類のTransformPropertyボックスが定義される。例えば、StaticTransformPropertyボックスおよびDynamicTransformPropertyボックスは、それぞれ、変換オペランドのための1つのトラックID(track_IDが入力トラックを参照するために使用されるとき)または何も定義しない(入力トラックが生成されたトラックのトラック参照ボックスを通して暗黙的に参照されるとき)、および変換オペランドのためのトラックIDの順序付けられたリスト(それぞれ、タイプ‘gtrk’のTrackReferenceTypeBoxに対する1ベースのインデックス、またはtrack_referenceボックスが使用されるときに先行するImageOperationの出力を示すための値0)を定義する。
ビジュアルトラックを生成するための変換が静的変換である場合、生成されたビジュアルトラックは、生成されたサンプルを含まないか、または少なくとも空のサンプルを含むことができる。このような場合、SampleTableBox‘stbl’313は任意になり、生成されたビジュアルトラックは最小セットのメタデータボックスを有し、したがって、よりコンパクトになる。好ましい実施形態では、生成されたビジュアルトラックがmoovおよびトラックボックスに初期化データのみを含み、データは含まず、変換はこれらのボックスに記載される。この好ましい実施形態では、トラックヘッダが、トラックが空トラック(サンプルデータなし)であることを示すために、“flags”パラメータの特定の値を含む。この情報は例えば、TransformPropertyボックスのセマンティクスで記述したall_static値のようなトラックヘッダボックスまたはサブボックス内の任意の専用パラメータによって提供することもできる。代替の実施形態は例えば、以下のように、トラックヘッダボックスのより明示的かつ決定されたフラグ値を定義することである。
empty_samples :トラックがメディアデータボックスにサンプルデータを含まないことを示す。フラグ値は、(既存のフラグ値と競合しない)フラグパラメータの24ビット内の未使用ビット上に表される。例えば、フラグ値は、0x000016とすることができる。この未使用ビットが1に設定されると、トラックがメディアデータボックス内にサンプルデータを含まないことが手段される。このビットのデフォルト値は0である。この値が設定されると、トラックは、そのSampleTableBoxにおいて、サンプルが実際に空であることを示す特定のVisualSampleEntryを宣言することができる。
例えば、生成されたトラックが入力メディアトラックからの全てのサンプルを考慮しない場合、又は送信中に1つ以上のサンプルが失われ又は破損し、次いでこれらのサンプルについてデータが記憶されない場合に、トラック(トラックが何であれ、生成されたトラックのみならず)が空である幾つか(全てではない)のサンプルを有する場合があり得る。このような構成をトラックヘッダレベルで知らせるために、以下のフラグ値が定義される(値の名前は単なる例):
Partial_samples:トラックのいくつかのサンプルが空であるか、または破損している可能性があることを示す。フラグ値は、(既存のフラグ値と競合しない)フラグパラメータの24ビット内の未使用ビット上に表される。例えば、フラグ値は、0x000032とすることができる。この未使用ビットが1に設定されると、トラックがメディアデータボックス内にデータのないサンプルを含むことが手段される。このビットのデフォルト値は0である。この情報をトラックレベルでシグナリングすることはメディアプレーヤにとって有用であり、このフラグ値を有するトラックを有するメディアファイルを正しく処理するためにはいくつかのサンプルの欠落データに対してロバストでなければならない。
これらのフラグは、生成されたトラックに限定されない。これらのフラグはトラックの構成が時間と共に変更するときに、例えば、TrackFragmentHeaderBox 'tfhd'のtf_flags値において、トラックフラグメントにおいて再定義することもできる。
それは、TransformationPropertyContainer 314およびそのTransformPropertyボックスのリスト(341〜344)生成されたサンプルを構築するのに十分であることをメディアプレーヤに通知する。次に、図3では、メディアデータボックス320が生成されたサンプルについてのデータを有していない。
代替実施形態では、静的変換を伴う生成された視覚トラック310が依然として‘stbl’ボックス313を有する。この‘stbl’ボックスはサンプルが空であることを示すVisualSampleEntryを含むことができ、すなわち、それらは、メディアデータボックス320内にデータを有さない。この実施形態では、stblボックスがデコーダ構成レコードも含む。
別の代替実施形態では、生成されたビジュアルトラック310がサンプル記述のために存在するすべての必須ボックスを有するstblボックス313を含む(これは欠落している必須(mandatory)ボックスに対してロバストではないプレーヤに準拠する)。この場合、生成されたサンプルは、特定のVisualSampleEntryを参照するように宣言される。各特定のVisualSampleEntryはそれ自体の4文字コードを用いて、生成されたサンプルが実際に空のサンプル(‘dtre’)であり、変換パラメータ(‘dtrf’)サンプルをそれらのデータに含むフルサンプルであり、変換パラメータが、メディアファイル(‘dtri’)またはリモートトラック(‘dtro’)内の入力メディアファイルとは別のトラック内で宣言されるサンプルであることを示す。
生成されたビジュアルトラックが‘dtre’VisualSampleEntryを有するSampleDescriptionボックスを含む場合、この手段は導出されたサンプルについてのデータがないこと、すなわち、すべてのパラメータが静止しており、導出されたまたは生成されたビジュアルトラックのメタデータボックス内で宣言されることである。したがって、これらのサンプルのサイズは0に設定される。transform_preserve_samplesフラグ値が1に設定されている場合、復号および合成タイムスタンプは、入力トラックからのタイムスタンプである。この特定のVisualSampleEntryは、以下のように宣言される。
Figure 0006924266
ここで、derived_config_recパラメータは次のボックスである。
Figure 0006924266
ここで、transfo_listは、静的TransformPropertyボックスのリストをそれらのタイプおよびパラメータで宣言するTransformPropertyContainerボックスである。
このVisualSampleEntryを参照するサンプルは、このEmptyDerivedTrackConfigRecordで宣言された変換のリストを使用して構築される。あるいは、トランスフォリストが中間のEmptyDerivedTrackConfigRecordなしに、ビジュアルサンプルエントリレベルで直接宣言することができる。TransformPropertyContainerボックスがVisualSampleEntryレベルで宣言されるとき、それをメディアハンドラまたはトラックヘッダレベルで宣言する必要もはやない。
生成されたビジュアルトラックが‘dtrf’、VisualSampleEntryを有するSampleDescriptionボックスを含む場合、このトラックのサンプルがその本文またはデータに含むこの手段は、インプットサンプルに適用してそれらを生成するためのすべての変換パラメータの宣言である。これらのサンプルデータは、トラックのメディアデータボックスに格納される。サンプルからバイトへのオフセットおよびサンプルからチャンクへのオフセットは、SampleTableBoxの適切なボックスに適切に設定される。
この特定のVisualSampleEntryは、以下のように宣言される:
Figure 0006924266
ここで、config_recordパラメータは以下のボックスである。
Figure 0006924266
ここで、transfo_listはTransformPropertyボックスの配列であり、それらは動的であるため、パラメータを持たない。これらのTransformPropertyボックスの少なくとも1つは動的である。静的変換パラメータはそれらの変換パラメータを埋め込み、動的変換パラメータはサンプルデータ内にそれらの変換パラメータを有し、次にメディアデータボックス内に格納される。
Figure 0006924266
このVisualSampleEntryを参照するサンプルはこのFullDerivedTrackConfigRecordで宣言された変換のリストを使用して構築されるが、変換パラメータはサンプル本体で宣言される。この場合、導出されたサンプルは、静的および動的変換を混合することができることに留意されたい。静的なものは、一意のtransform_IDと、適用する適切なパラメータが後に続く動的なものとを介して参照することができる。
生成されたビジュアルトラックが‘dtri’VisualSampleEntryを有するSampleDescriptionボックスを含む場合、このトラックのこれらのサンプルを構築または生成するための変換パラメータがメディアファイル内に存在するトラック内に含まれるという手段がある。構築する各サンプルについて、変換パラメータは、(track_ID、または変換パラメータのトラック参照(基準)を示すトラック参照タイプ341内のトラックのインデックスを介して)示されたトラック内の対応するサンプル内で見つけることができる。
この特定のVisualSampleEntryは、以下のように宣言される。
Figure 0006924266
ここで、config_recordパラメータは以下のボックスである。
Figure 0006924266
ここで、transfo_listはTransformPropertyボックスの配列であり、動的であるため、それらのタイプおよび最終的にはいくつかのパラメータを有する。これらのTransformPropertyボックスの少なくとも1つは動的であり、パラメータがサンプル内にあることを示すパラメータは常に偽であり、これは、変換パラメータがメディアファイル内のトラックから取り出されるべきであることを意味する。このトラックのIdは、TransformPropertyに含めることができる。サンプルを生成または導出するこの手段は、入力サンプルがパラメータトラック内の対応するサンプル(同じ復号時刻)の変換パラメータで変換される。
生成されたビジュアルトラックが‘dtro’VisualSampleEntryを有するSampleDescriptionボックスを含む場合、このトラックのこれらのサンプルを構築発明生成するための変換パラメータがリモートファイルに存在する帯域外トラックに含まれるという手段がある。構築する各サンプルについて、変換パラメータは、(リモートメディアファイル内のtrack_IDを介して)指示されたトラックの対応するサンプル内で見つけることができる。あるいは識別子を有するメディアデータボックスが利用可能である場合、この識別子は遠隔トラックにおける変換パラメータ値を参照するためにサンプルデータにおいて使用され得る。
この特定のVisualSampleEntryは、以下のように宣言される。
Figure 0006924266
ここで、config_recordパラメータは以下のボックスである。
Figure 0006924266
ここで、transfo_listはTransformPropertyボックスの配列であり、そのタイプと、最終的にはいくつかのパラメータを含む。これらのTransformPropertyボックスのうちの少なくとも1つは動的であり、パラメータがサンプル内にあることを示すパラメータは常に偽であり、これは、変換パラメータがメディアファイルの外部にあるトラックから取り出されるべきであることを意味する。このトラックのIdは、TransformPropertyに含めることができる。サンプルを生成入力導出するこの手段は、外部パラメータトラック内の対応するサンプル(同じ復号時刻)の変換パラメータで変換される。
最後のアプローチは静的および動的変換の両方をサポートするという利点を有し、特に、いくつかの生成されたサンプルが空である場合、すなわち、生成されたビジュアルトラックが入力サンプルと1対1のマッピングを有さない場合(生成されたビジュアルトラックは、変換された入力サンプルのサブセットのみを有し得る)、動的変換の場合に有益である。そのような場合、生成されたビジュアルトラック310は少なくとも2つの異なるVisualSampleEntryを定義するSampleTableBox 313を有する。1つは例えば、予約された‘gtrk’コードを用いて生成されたサンプルを宣言するためであり、1つは、上述のように空のサンプルを宣言するためである。次いで、生成された各サンプルは、これらの少なくとも2つの異なるVisualSampleEntryのうちの1つを参照することによって、320においてデータを含むものとして、または空であるものとして宣言される。この種の構成は、TransformPropertyボックスのフラグ値: Transform_preserve_samplesによってシグナリングすることができる。生成されたビジュアルサンプル内のサンプルをスキップするために、特定のTransformationParameter「no-op」が定義され、これは、単に、所与の時間に空のサンプルを入れることからなる。
「No-operation(無演算)変換型(“No-operation transform type”)」
Figure 0006924266
「no-op」変換は、空のサンプルの生成にある。no-op変換プロパティがサンプルに存在する場合、他の変換プロパティは無視される。
構文:
Figure 0006924266
最後に、静的変換との組み合わせの有無にかかわらず、動的変換の場合、変換記述の部分的相互化のための以下の代替処理がある。
・全ての変換規則及びパラメータはトラックの1つのメタデータボックス内で静的であり、トラックは、生成されたサンプルを有さない(トラックが空のサンプルを有するものとしてマークされる)。
・変換パラメータはSampleTableBox 313にリストされた特定のVisualSampleEntryに反映され、各生成されたサンプルはこれらのVisualSampleEntryの1つを参照する。
・変換パラメータは単に、メディアデータボックス320に入れられたサンプルにおいて宣言される。
・変換パラメータは外部トラック、例えば、時限メタデータトラックにおいて宣言される。
図3に示され、上記に公開された設計の柔軟性は様々な記述の可能性を組み合わせ、静的及び動的変換の両方をカバーし、同じ生成されたビジュアルトラック内でそれらを混合することを可能にする。
TransformProperty“flags”パラメータに対するTransform_post_decoding値の目標は、復号演算の数を減らすことである。コンテンツをカプセル化するとき、著者はそれがどの変換を適用するか、およびそれがどのようにサンプルを構築するかを知っており、そのようなフラグを用いて、コンテンツ著者は圧縮された領域において可能な限り多くの変換を行い、次いで、ピクセル領域における合成を回避し、中間サンプルの複数の復号および記憶を有するように、生成されたサンプルを可能な限り最新に復号することができる。
例えば、TransformPropertyまたはTransformPropertyContainerボックスの“version”パラメータを介して、メディアファイル内で宣言されるトラック変換の複雑さに応じて、例えばftypボックス内のメディアファイルの始めのブランドまたは互換性のあるブランドは、ファイル内で生成されたトラックの複雑さの程度をメディアプレーヤに迅速に示すことができる。例えば、2つのブランドはシングルトラック生成または変換のため、および高度な(すなわち、マルチトラック)生成または変換のために、それぞれ‘dtrs’および‘dtra’と定義することができる。前者は、version=1のTransformPropertyボックスのみを含むメディアファイル(またはセグメント)、またはサンプルを導出するための変換または演算が入力として1つの単一トラックのみをとることを示す任意の同等のパラメータに対応する。後者はversion=2のTransformPropertyボックスを含むメディアファイル(またはセグメント)、またはサンプルを導出するための変換または演算が2つ以上の入力トラック(すなわち、マルチトラック変換)を含むことができることを示す任意の同等のパラメータに対応する。ブランドの別の定義は図2の構成ごとに1つのブランドとすることができ、例えば、ブランド‘dtr1’は、単一の演算(構成2(a))からなる単一の入力トラックから計算された単純な派生トラックを含むメディアファイルを示す。この手段は先の実施形態によれば、TransformationPropertyContainerボックスは、version=1ボックス(またはそれが単一の変換または演算を含むことを示す任意のパラメータ)である。同じ原理に従って、他のブランドは、入力トラックの数と、入力トラックに適用するための演算または変換の数とに応じて定義することができる。その能力に応じて、クライアントはメディアトラックのみ(生成されたトラックのいずれもない)、生成されたトラックのいくつか(例えば、単純な演算を有するトラック)を処理することを決定することができ、または、生成されたすべてのトラックをサポートすることができる。クライアントによる処理は、メディアファイルを構文解析しながらトラックをフィルタリングすること、またはストリーミングシナリオにおいて、このような複雑なまたはサポートされていない生成されたトラックを決して選択しないことにある。
異なる変換が異なるサンプルに適用されるが、サンプルの所与のパターンを尊重する場合に特に関連する代替実施形態は典型的には生成されたトラックのtransform_preserve_samplesフラグの値がセットされていない場合に、サンプルのグループを使用し、サンプルの各グループを変換または変換のセットに関連付けることである。サンプルのパターン(またはサンプルのグループ)が定義され、異なる変換プロパティ(VisualSampleTransfoEntry)が、サンプルのこれらのグループまたはサンプルのパターンに適用される。SampleToTransformBoxは、transformation_typeで定義される。SampleToTransformBoxおよびSampleTransfoDescriptionBoxは、このtransformation_typeによって関連付けられる。次いで、VisualSampleTransfoEntryは、この演算子のための少なくとも1つの演算子およびパラメータを含む。例えば、演算子は、回転(rotation)およびパラメータ(角度)=90°である。言い換えれば、VisualSampleTransfoEntryは、特定のTransformPropertyボックスの1つに対応することができる。
図4は、本発明の一実施形態による、1つまたは複数の生成されたビジュアルトラックを含むメディアファイルをカプセル化するための方法を表すフローチャートを示す。
これは、図1のメディアエンコーダ100によって、特にISOベースメディアファイルフォーマットによる1つのビデオエンコーダによって生成されるメディアストリームのカプセル化にある。入力メディアストリームはステップ400の間にメディアパッケージャ101によって受信され、メディアパッケージャ110はステップ401の間に各メディアストリームを1つまたは複数のISOBMFFトラックまたはトラックフラグメントにパッケージする。ステップ401の結果として、メディアファイル、断片化されたメディアファイル、またはメディアセグメントのセットが生成される。次いで、ユーザまたはコンテンツ制作者自身が生成されたメディアをチェックし、メディアコンテンツの代替または変更されたビューを表す追加のトラックを作成することができる。このステップは、合成ステップ402として要約される。これは、カプセル化されたメディアトラックから1つまたは複数の入力トラックを選択し、選択されたトラックに適用して、異なるトラックを生成し、生成するための効果、変換、または演算を定義することからなる。
合成中、ユーザは、メディアトラックを変換する際に多くの可能性及び選択肢を有する。例えば、
・1つまたは複数のメディアトラックから入力サンプルを選択する。
・入力サンプルに適用する1つまたは複数の演算を選択する。
・選択入力サンプルに、同じまたは異なる変換パラメータを適用する。
・各選択サンプルまたは選択サンプルのサブセットを変換する。
ユーザが合成(コンポジション)を完了すると、ユーザは、入力メディアトラックと同じファイルに自分の合成の結果を記録することを決定することができる。
合成部130および合成構築ステップ402はメディアパッケージャ110に統合され、記録されたメディアストリームに適用するための自動変換として事前に記録されることも可能であり、例えば、ビデオトラックの回転、ビデオの事前に定義されたクロッピングまたはサイズ変更、またはパッケージングデバイスによって事前に計画されるかまたは提供される任意の演算であることに留意されたい。
ユーザが記録することを決定したとき、またはメディアパッケージャが生成されたトラックを自動的に作成するように構成されている場合、ISOBMFFライタ113は、ステップ404において、メイン‘moov’ボックスの下に‘trak’ボックスを挿入することによって、メディアファイル内の新しいトラックを開始する。このトラックボックスは、合成を表す生成されたトラックの記述を含む。トラックヘッダボックス‘tkhd’は、この新しいトラックに割り当てられた新しいtrack_IDを用いて作成される。次に、ISOBMFFライタはこのトラックヘッダボックスに、作成時間と、生成されたトラックの寸法(幅および高さ)とを記述する。この情報は、合成部から取得され、および/またはユーザによってパラメータ化され得る。
次に、トラック参照ボックス‘tref’がステップ405で作成され、生成されたトラックを、‘gtrk’に等しいトラック参照タイプで生成された1つまたは複数の入力メディアトラックにリンクして、トラックが参照トラックから「生成された」ことを示す。任意選択的に、同じステップ405で、生成されたトラックおよび入力メディアトラックはまた、グループの各トラックがオリジナルメディアトラックのバリエーションであることを示す特定のグループ化タイプ値を有するTrackGroupBox‘trgr’を介して同じトラックグループに関連付けられる。
次に、ステップ406で、ISOBMFFライタは、メディアデータと、生成されたトラックをどのように処理するかを記述する。これは、トラックメディア‘mdia’ボックス、特に、HandlerBox‘hdlr’サブボックスで行われる。handler_typeは、生成されたトラックがビジュアルトラックから生成される場合には‘vide’に設定され、生成されたトラックがオーディオ入力トラックから生成される場合には‘soun’に設定される。それは他の媒体タイプにも拡張することができ、ハンドラは生成のために入力トラックのハンドラタイプに設定されるべきである。任意選択で、HandlerBoxでは名前は「生成」に設定され、その結果、トラックを検査する人間はこのトラックの目的を明確に見ることができる。handler_type値に応じて、メディア固有のハンドラ情報が同じステップ406の間に設定される。生成されたトラックが入力ビデオトラックから生成されると、特定のVideoMediaHeaderBox 'vmhd'がトラック記述に追加され、トラック生成に含まれる変換のリストを宣言するように拡張される。既存のVideoMediaHeaderBoxと区別し、後方互換性を保つために、生成されたトラックの特定のVideoMediaHeaderBoxは、version=「1」を使用する。
Figure 0006924266
特定のVideoMediaHeaderBoxは、実際にはそれが通常のVideoMediaHeaderBox(上記のversion=1の値の例)ではないという指示と、TransformPropertyContainerボックス(トラックの生成に使用される変換のリストを宣言する)という2つのパラメータを必要とする。
合成構成に関するユーザの選択に応じて、TransformPropertyContainerBoxのフラグおよびバージョン値、ならびにTransformPropertyContainerボックスのリストが、図3に関連する説明に従って設定され、これはステップ407で行われる。ステップ408でテストされた全静的変換の場合、生成されたトラックの記述はここではステップ415で終了し、SampleTableBoxが宣言されないことを意味する。トラックを生成するために使用される変換のうちの少なくとも1つが静的でない場合、ステップ409において、生成されたサンプルをどのように計算することができるかを記述するために、SampleTableBoxが作成される。これは、サンプル記述ボックス内の適切なVisualSampleEntriesを設定するための動的パラメータの場合であり、変換パラメータが生成されたサンプルに格納されると、ステップ410において、生成されたサンプルのデータが計算され(所与のサンプルの変換パラメータ)、メディアパッケージャのメモリに格納される。
ISOBMFFライタは、テストステップ411で、生成されたトラック内で宣言された演算または変換のリストを繰り返す。次の演算または変換がテスト412偽に対応する動的変換であるたびに、生成されたサンプルは、現在の演算パラメータで更新される。
静的および動的パラメータの両方をサポートするために、静的演算に遭遇するたびに、生成されたサンプルのペイロードはステップ413で適用するために、識別子を用いて静的変換に更新される。サンプルに対する演算のリストに到達すると、ステップ414において、サンプル記述(データボックス内のサイズ、バイトおよび/またはチャンクオフセット、復号および/または合成時間)が適切なサンプル記述関連ボックス内で更新される。
トラックヘッダの変換行列によって処理することができる単一の入力トラック上の実際に単純な静的変換の場合、生成されたトラックは、empty_samplesで宣言され、単一の演算としてIdentity TransformProperty‘idtt’を定義する。次に、変換パラメータは、生成されたトラックのトラックヘッダボックスの変換行列において宣言される。
復号演算の数および中間サンプルの記憶が可能な限り制限されたままであるように、最初にプリデコーディング変換から始めて、演算の順序で変換を宣言することが推奨される。
生成されたファイルまたはセグメントは例えば、HTTPを介した適応ストリーミングを用いて、配信のためにストリーミングサーバ上にさらに配置することができる。
コンテンツがHTTP上での適応ストリーミングのために準備されると、生成されたビジュアルトラックの一部または全部をストリーミングマニフェストに公開することができる。例えば、MPEG DASHストリーミングプロトコル(メディアプレゼンテーション記述)のためのマニフェストにマッピングされるとき、生成されたビジュアルトラックは生成されたトラックを復号し再構成するために必要とされる説明を示すために、すべての入力トラックを参照する属性依存性yIdを有する説明(Representations)として公開される。任意選択で、生成されたビジュアルトラックの表現とその入力ビデオトラックの表現との間の関係を、‘gtrk’参照タイプで修飾することができる。これは、dependencyType属性を使用して、またはこれらの表現間のassociationIdおよびassociationTypeを宣言して行うことができる。これは、レンダリングのために生成されたビジュアルトラックに対応する表現を選択するメディアストリーミングクライアントが入力トラックのためのセグメントもストリーミングされるべきであることを通知されることを可能にする。
図5は、本発明の一実施形態によるメディアファイルまたはメディアセグメントの構文解析を示す。
この説明はファイルがメディアクライアント150に完全に利用可能であるとき、またはファイルがメディアクライアント150にストリーミングされるときの両方に適用される。メディアファイルの処理は、ステップ500において、メディアファイルの初期化データの受信から開始する。この初期化データから、ISOBMFFパーサ152はmoovボックスを解析し、ステップ501において、そのタイプ(ビデオ、オーディオ、メタデータ、テキスト・・・)を有するファイルに含まれるトラックの数を決定する。
次に、ステップ502で、少なくとも1つのトラック参照が別のトラックに対する少なくとも1つの‘gtrk’トラック参照タイプを含む場合、ファイルはこれらすべてのトラック間の関係を構文解析し、次いで、ファイルは、メディアデータトラックだけでなく、生成されたトラックも含む。次いで、パーサは、それらの生成されたトラックをユーザに公開するかどうかを決定する必要がある。いくつかの生成されたトラックは例えば、複雑な生成における中間ステップとして使用される場合、表示されることを意図されないものとして示され得ることに留意されたい(例えば、トラックヘッダのフラグ値が、設定されたtrack_in_movie値を有さない場合)。このような場合、これらは、選択および再生のためにクライアントに公開されない。どのトラックをユーザに公開するかを決定するために、パーサは、生成されたトラックについて宣言されたTransformPropertyボックスのリストを調べる。ステップ504で変換のタイプを構文解析するだけで、パーサは、ステップ505で、生成されたトラックを再構成することができるかどうかを判定することができる。
1つの変換タイプがメディアクライアントでサポートされていないか、または利用可能でないとすぐに、生成されたトラックは処理されない。警告はグラフィカルユーザインターフェースを介してユーザに表示することができ、またはメディアパーサ、例えば、サポートされるトラックを選択または切り替えることを決定するストリーミングアプリケーションを使用してアプリケーションに送信することができる。断片化されたトラックの場合、初期化データはmoofボックスで更新することができ、その後、これらの第1のステップが再び実行されることに留意されたい。生成されたトラックのサポートまたは非サポートは、メディアファイルが例えばDASH MPDのようなストリーミングマニフェストで記述される場合、ISOBMFF固有のブランドまたはストリーミングプロファイル、または変換の存在を知らせる任意の記述子を介して得ることもできることに留意されたい。
生成されたトラック内で宣言された変換がメディアプレーヤまたはメディアクライアントによってサポートされる場合、パーサ152は、ステップ507で、すべての変換が静的であるかどうかをチェックする。この情報は、生成されたトラックのトラックヘッダボックス内のフラグ値を構文解析することによって、またはTransformPropertyContainerボックスのバージョンまたはフラグ値を調べることによって、または生成されたトラックについて宣言されたTransformPropertyボックスのリストを調べ、それらのフラグおよびバージョン値をチェックすることによって得ることができる。
静的変換の場合、パーサは、ステップ510で、クライアントメモリに演算子および変換パラメータを保存する。すべての変換が静的であり、生成されたトラックがempty_samplesとしてマークされると、パーサは、ステップ511において、それらのパラメータを使用する変換演算子を入力サンプルに次々に適用することによって、生成されたサンプルの構築を開始することができる。入力サンプルは、生成されたトラックのTransformPropertyボックスを構文解析することによって決定されている。
少なくともいくつかの変換が動的であり、テストステップ507が偽であることを意味する場合、パーサは、変換パラメータが生成されたサンプル内にあるか、メディアファイル内に含まれる別のトラック内にあるか、または外部トラック内にあるかをチェックする。次に、ステップ522でテストされた最後の入力サンプルが処理されるまで、ステップ521でサンプルを1つずつ構築し始める。
図6は、本発明の一実施形態におけるサンプルの生成を示す。
この方法は、入力トラックが識別され、変換演算子のセットが読み取られたと仮定する。プロセスは生成されるべき連続するサンプル上でループし、所与のサンプルに対するプロセスに焦点を合わせるものと想定される。
ステップ600では、入力サンプルが読み取られ、プロセスの開始時に記憶される。複数を使用する間に、1つの入力トラックしかなく、したがって1つの入力サンプルしかない可能性があることに留意する価値がある。
ステップ601において、第1の変換演算子が読み込まれる。
ステップ602において、現在の変換演算子が静的または動的であるかどうかがテストされる。
変換演算子が動的である場合、演算子のパラメータはステップ603で取得されなければならない。それらは、生成されたトラックまたは参照パラメータトラック(ローカルまたはリモートのいずれか)内の関連するサンプルから取得されてもよい。変換演算子が静的である場合、変換演算子のパラメータはすべてのサンプルについて同じであり、処理のこの段階で既知であると仮定される。
ステップ604において、変換演算子が符号化されたサンプルまたは復号されたサンプルに適用されるべきかどうかがテストされる。ここで、変換演算子のリストは「プリデコーディング(事前コーディング)」演算子のみ、「ポストデコーディング(事後デコーディング)」演算子のみ、またはその両方を含むことができると仮定する。両方がリストに含まれる場合、有利には、リストが最初に「プリデコーディング」変換演算子のみを含み、続いて「ポストデコーディング」変換演算子のみを含む。したがって、入力サンプルは一度だけ復号される。
現在の変換演算子が「プリデコーディング」演算子である場合、ステップ605で、入力符号化サンプルが読み取られる。適用される2番目およびさらなる「プリデコーディング」変換演算子については、入力符号化されたサンプルが前の変換演算子の適用から得られる、実際に生成された符号化されたサンプル記憶されたサンプルである。次に、ステップ606において、現在の変換演算子が入力符号化サンプルに適用され、ステップ607において記憶される生成符号化サンプルが得られる。
現在の変換演算子が「ポストデコーディング」演算子である場合、入力サンプルはステップ608で読み取られる。2番目およびさらなる「プリデコーディング」変換演算子が適用されるために、入力復号化されたサンプルは、前の変換演算子の適用から得られた、実際に生成された復号化されたサンプルが格納される。
次に、1番目の「ポストデコーディング」変換演算子についてのみ、入力サンプルが符号化され、ステップ609で復号化されなければならない。これは、「ポストデコーディング」変換演算子が定義上、復号化されたサンプルに適用されなければならないからである。次ループでは、復号ステップ609は実行されない。
次に、ステップ610において、現在の変換演算子が入力復号サンプルに適用され、ステップ611において記憶される生成復号サンプルが得られる。
ステップ612では、変換演算子のリストの終わりに達したかどうかがテストされる。達していなければ、プロセスはステップ601で次の演算子にループバックする。
すべての変換演算子が適用された場合、ステップ613でテストされるのは、「プリデコーディング」演算子のみである。その場合、現在生成されたサンプルは符号化され、ステップ615で出力される準備が整う前に、ステップ614で復号される必要がある。
変換演算子への入力メディアトラックが例えば、抽出器(明示的再構成)を介して、またはそのサンプルの暗黙的再構成のために、他のトラックへの依存性を有する場合、変換に提供される入力サンプルは、再構成後の再構成サンプルからなる。これは、復号後の演算または変換に適用される。プリデコード演算子の場合、入力サンプルは、サンプル自体に再構成規則解像度から得られるデータを加えたものを含むサンプルデータの連結によって形成される。例えば、ベースレイヤサンプルに対するエンハンスメントレイヤサンプルの依存性を有するスケーラブルビデオの場合、入力サンプルは変換がプリデコーディング変換であるとき、エンハンスメントプラスベースサンプルデータの連結からなる。同様に、ポストデコーディング変換のための入力サンプルは、ベースプラスエンハンスメントサンプルから構成される再構成/復号された入力サンプルである。
図7は、1つまたは複数の実施形態のステップを実施することができるサーバまたはクライアントデバイス700のブロック図を表す。
好ましくは、デバイス700が通信バス702と、デバイスの電源投入時にプログラムROM 706からの指示を実行することができる中央処理装置(CPU)704と、電源投入後にメインメモリ708からのソフトウェアアプリケーションに関する指示とを備える。メインメモリ708は例えばRAM(Random Access Memory)型であり、通信バス702を介してCPU 704の作業領域として機能し、図示しない増設ポートに接続された任意のRAMによってメモリ容量を拡張することができる。ソフトウェアアプリケーションに関する命令は例えば、ハードディスク(HD)710またはプログラムROM 706からメインメモリ708にロードされてもよい。このようなソフトウェアアプリケーションは、CPU 704によって実行されると、図4〜図6を参照して説明したカプセル化ステップをサーバ内で実行させる。
参照番号712は、デバイス700の通信ネットワーク714への接続を可能にするネットワークインターフェースである。ソフトウェアアプリケーションはCPU 704によって実行されると、ネットワークインターフェースを介して受信された要求に反応し、ネットワークを介して他のデバイスにデータ・ストリームおよび要求を提供するように適合される。
参照番号716はユーザに情報を表示し、および/またはユーザから入力を受信するためのユーザインターフェースを表す。
ここで、変形として、マルチメディアビットストリームの受信または送信を管理するためのデバイス700は、図4〜図6を参照して説明した方法を実施することができる1つまたは複数の専用集積回路(ASIC)からなることができることを指摘しておく。これらの集積回路は例えば、非限定的に、ビデオシーケンスを生成または表示するため、および/またはオーディオシーケンスを聴くための装置に一体化される。
図8は、本発明の一実施形態における、シーンのワイドビューに対応するビデオのカプセル化プロセスを、シーンのこのワイドビューの抽出と共に示す。
シーンのワイドビューは、典型的には球面360°メディアコンテンツである。
シーンのワイドビューは、符号化され、少なくとも1つのトラック801にカプセル化される。このワイドビューからの抽出を表すビデオは、ワイドビュートラックへの参照803と、ワイドビュービデオ内の抽出された部分の記述子804とを含む特定のトラック802内に符号化され、カプセル化される。
この記述子は、キャプチャ投射の空間部分をシグナリングすることを可能にする変換演算子の1つとして使用することができる。
記述子804は、典型的にはワイドビュービデオ805内の抽出された部分806を識別するための位置パラメータを与える。典型的には、これらのパラメータがヨー(yaw)、ピッチ(pitch)及びロール(roll)パラメータに関連する。
例えば、記述子804は、特定のVisualSampleGroupEntryとして以下の構文をとることができる。
Figure 0006924266
以下のセマンティクスで。
yaw_centerは、投射画像の中心に対応するyawの値を0.01度ずつ指定する。yaw_centerの値は、-18000〜17999の範囲とする。存在しない場合、yaw_centerの値は0に等しいと推定されるべきである。
pitch_centerは、投射画像の中心に対応するピッチの値を0.01度ずつ指定する。pitch_centerの値は、-9000と9000の範囲にあるものとする。存在しない場合、pitch_centerの値は0に等しいと推定されるべきである。
roll_centerは、投射画像の中心に対応するロールの値を0.01度ずつ指定する。roll_centerの値は-18000〜18000の範囲とする。存在しない場合、roll_centerの値は0に等しいと推定されるべきである。
yaw_rangeは、投影画像に存在するヨーの値の範囲を0.01度の増分で指定する。yaw_rangeの値は、1〜36000の範囲とする。存在しない場合、yaw_rangeの値は36000に等しいと推測されるべきである。
pitch_rangeは、投影画像に存在するピッチの値の範囲を0.01度の増分で指定する。pitch_rangeの値は、1〜18000の範囲とする。存在しない場合、ピッチ範囲の値は18000に等しいと推測されるべきである。
トラックが別のトラックのビューポートである場合、トラックは、球全体を表すフルトラックに対する1つの「タイル」参照タイプを有する‘tref’ボックスを含む。
好ましい実施形態では、記述子804がより記述的なパラメータを含む。
Figure 0006924266
以下のセマンティクスで(HEVCの全方向投射指示SEIメッセージのセマンティクスと同じ)。
region_idは、同じビジュアルソースに関連するすべての球形領域サンプルグループ記述に対する一意の識別子である。同じregion_idを有するすべての球形領域サンプルグループ記述は、同じ基準球形空間を共有する。
full_pictureは、full_pictureが設定されると、この球形領域サンプルグループ記述が同じregion_idを有するタイプ‘srif’のすべてのサンプルグループ記述の和集合によって少なくとも形成される同じビジュアル(視覚)コンテンツを表す完全な球形ピクチャを実際に表すことを示す。
dynamic_viewportは、dynamic_viewportが設定されている場合、球形領域の座標がtrack_IDによって識別されるメタデータトラックを介して提供されることを示します。そわない場合、矩形領域の座標は、yaw_center、pitch_center、roll_center、yaw_range、およびpitch_rangeによって提供される。
track_IDは、球領域サンプルグループ記述によって表される球領域の各サンプルの座標を記述する時限球座標を含むメタデータトラックを示す。
yaw_centerは、投射画像の中心に対応するyawの値を0.01度ずつ指定します。yaw_centerの値は、-18000〜17999の範囲とする。
pitch_centerは、投射画像の中心に対応するピッチの値を0.01度ずつ指定する。pitch_centerの値は、-9000と9000の範囲にあるものとする。
roll_centerは、投射画像の中心に対応するロールの値を0.01度ずつ指定する。roll_centerの値は-18000〜18000の範囲とする。
y aw_rangeは、投影画像に存在するヨーの値の範囲を0.01度の増分で指定する。yaw_rangeの値は、1〜36000の範囲とする。
pitch_rangeは、投影画像に存在するピッチの値の範囲を0.01度の増分で指定する。pitch_rangeの値は、1〜18000の範囲とする。
球座標時限メタデータトラックのフォーマットは、以下のように特定のMetadataSampleEntryとして再定義されることに留意されたい。
球座標サンプルエントリ
Figure 0006924266
球座標サンプルエントリは、球座標系で表現された参照トラックに関連する空間情報を提供する。
構文
球座標サンプルエントリは、次のとおりとする。
Figure 0006924266
セマンティクス
projection_typeは、座標系への矩形デコーダ画像出力サンプルの特定のマッピングを示す。
球座標サンプル形式
構文
球座標サンプルは、以下の構文に準拠するものとする:
Figure 0006924266
ROIメタデータトラックのSyn(同期)サンプルは、補間値が0であるサンプルである。
セマンティクス
yaw_centerは、投射画像の中心に対応するyawの値を0.01度ずつ指定する。yaw_centerの値は、-18000〜17999の範囲とする。
pitch_centerは、投射画像の中心に対応するピッチの値を0.01度ずつ指定する。pitch_centerの値は、-9000と9000の範囲にあるものとする。
roll_centerは、投射画像の中心に対応するロールの値を0.01度ずつ指定する。roll_centerの値は-18000〜18000の範囲とする。
yaw_rangeは、投影画像に存在するヨーの値の範囲を0.01度の増分で指定する。yaw_rangeの値は、1〜36000の範囲とする。
pitch_rangeは、投影画像に存在するピッチの値の範囲を0.01度の増分で指定する。pitch_rangeの値は、1〜18000の範囲とする。
補間は、連続するサンプルの時間的な連続性を示す。真である場合、アプリケーションは、前のサンプルと現在のサンプルとの間のROI座標の値を線形に補間することができる。偽の場合、前のサンプルと現在のサンプルとの間の値の補間はない。
また、2d画像については、RectRegionSampleGroupEntry(‘rrif')としての矩形領域の記述子が定義される。(名前およびコードはここでは例えば、‘tile'または'part'、予約された4文字コードであってもよい)。この記述子は、特定の予約コード、例えば'rrif'によって識別される。矩形領域サンプルグループ記述は、ビデオまたは画像メディアトラック間の空間的関係を記述するために使用される。これは、トラックのデコードされたサンプルが別のトラック内の所与の矩形領域に空間的に対応することを識別することを可能にする。
Figure 0006924266
以下のセマンティクスで、
region_idは、同じビジュアル電源に関連するすべての球形領域サンプルグループ記述に対する一意の識別子である。同じregion_idを有するすべての矩形領域サンプルグループ記述は、同じ参照矩形空間を共有する。
full_pictureは、full_pictureが設定されると、この矩形領域が実際には少なくともタイプ‘rrif'のすべてのサンプルグループ記述と同じregion_idとの和集合によって形成される同じビジュアル(視覚)コンテンツを表す完全なピクチャであることを示し、この場合、region_widthおよびregion_heightは参照領域の幅および高さに設定される。
dynamic_roiは、dynamic_roiが設定されている場合、track_IDによって識別されるメタデータトラックを介して矩形領域の座標が提供されることを示す。ISO/IEC 23001-10の第6条に規定されているような2Dデカルト座標時間メタデータトラックのフォーマットが使用されるべきであり、この場合、region_widthおよびregion_heightは、2Dデカルト座標サンプルエントリに規定されているようなreference_widthおよびreference_heightに設定されるべきである。それ以外の場合、矩形領域の座標は、horizontal_offset、vertical_offset、region_width、およびregion_heightによって提供される。
track_IDは、矩形領域サンプルグループ記述によって表される矩形領域の各サンプルの座標を記述する、時限2Dカルテシーン座標を含むメタデータトラックを示す。
horizontal_offsetおよびvertical_offsetは、それぞれ、参照領域の左上座標に対する、矩形領域サンプルグループ記述によって表される矩形領域の左上座標の水平オフセットおよび垂直オフセットを与える。参照領域は、同じregion_idを有するタイプ‘rrif'のすべてのサンプルグループ記述の和集合によって形成される領域である。
region_width、region_heightは、矩形領域サンプルグループ記述で表される矩形領域の幅、高さを整数座標で、full_picture、dynamic_roiを設定したときの基準矩形空間の幅、高さをそれぞれ与える。
領域サイズを記述するために使用される単位は任意の単位であり、ビデオピクセル解像度に対応し得るが、必ずしもそう必要はないことに留意されたい。
代替実施形態では、‘srif'および‘rrif'記述子が追加パラメータとして一意の識別子も含む。この識別子は、アプリケーションが識別子の値を介して記述子を参照することを可能にする。識別子は、以下に定義されるgroup_IDとすることができる。
これらの新しい記述子及びISO/IEC 14496_15の既存のタイル記述子‘trif'は、単純なクロップ又はローテート演算に加えて、新しい特定のTransformPropertyで使用することができる。これは、ROIまたはビューポートの選択または抽出に有用であり得る。例えば、トライフ記述子を使用してカプセル化されたHEVCトラックから静的ROI抽出を実行するために、特定のTransformPropertyが提案される:
静的ROI選択
Figure 0006924266
静的ROI選択は、ROI抽出を定義する変換特性である。
Figure 0006924266
この変換は、単一の入力トラックに適用される静的なTransformPropertyとして宣言される。パラメータtileRegion_IDは、このtileRegion_IDを有するタイル領域記述子に関連するNALユニット又はサンプルを抽出するパーサを示す。球形コンテンツの静的ビューポートについても同様である。プリデコーディングまたはポストデコーディングフラグ値に応じて、演算は、入力トラックからの、またはデコードおよびクロップ演算へのサブビットストリーム抽出にある。これは、trifで記述されたカプセル化されたタイル領域の独立性に依存する。独立している場合、変換プロパティはプリデコーディング変換に、そわなければポストデコーディング変換に設定することができる。
他のパラメータ、例えば、tileRegion_ID値の代わりにx、y、w、hを与えることができる。しかしながら、これは、パラメータを異なるtrifサンプルグループ内のパラメータと一致させなければならないパーサにとってはあまり便利ではない。
マルチトラックTransformPropertyの場合、パラメータは、tileRegionIdのリストで構成することができる。例えば、
Figure 0006924266
これらの種類の変換を一般化するために、選択演算子は、以下のように定義することができる。
Figure 0006924266
ここで、grouping_typeは、1つまたは複数の入力トラックからNALユニットまたはサンプルを選択する基準を示す。これはrrif, srif, trif, rap(トラック内のランダムアクセスサンプル上で選択する)... とすることができ、group_IDは抽出元の正確なグループIDを提供する。合成部130内の合成ステップ中に、静的/動的情報と、シングル/マルチトラックと、プリデコード/ポストデコードパラメータとを適切に設定するのは、コンテンツ制作者次第である。
言い換えると、第1のデバイスによって、シーンのワイドビューのキャプチャ投射を表す第1のメディアデータと、前記キャプチャ投射の空間部分に対応する第2のメディアデータとを含むサンプルを含むカプセル化されたメディアデータを提供する方法が提案される。当該方法は、
第1と第2のメディアデータを符号化すること、
符号化された第1のメディアデータを1つの第1のトラックにカプセル化すること、
符号化された第2のメディアデータを1つの第2のトラックにカプセル化することであって、前記第2のトラックは第2のヘッダを含むこと、
第1のトラックを参照するために、前記第2のヘッダに1つのパラメータを提供すること、を含む。
パラメータは空間部分、例えば、タイルをシグナリングするタイプに関連付けられてもよい。
パラメータは、そのタイプが‘tile'参照タイプであるボックスに含めることができる。
パラメータは記述子、例えば、SphericalRegionGroupEntryまたはRectRegionGroupEntryのようなVisualSampleGroupEntry記述子であってもよい。
パートおよびフルトラックに対応するトラックはすべて、新しいグループ化タイプを有するトラックグループに設定される。フルピクチャフラグは、特定のtrack_group_typeに対するフラグであり得る。
Figure 0006924266
ここで、full_trackは、トラックグループに関連するトラックがフルビデオトラックに対応するかどうかを示す。
図4、図5、および図6に示すアルゴリズムの任意のステップはPC(「パーソナルコンピュータ」)、DSP(「デジタル信号プロセッサ」)、またはマイクロコントローラなどのプログラマブルコンピューティングマシンによる命令またはプログラムのセットの実行によってソフトウェアで実施することができ、あるいは、機械またはFPGA(「フィールドプログラマブルゲートアレイ」)またはASIC(「特定用途向け集積回路」)などの専用構成要素によってハードウェアで実施することができる。
以上、特定の実施形態を参照して本発明を説明したが、本発明は特定の実施形態に限定されるものではなく、本発明の範囲内にある修正は当業者には明らかであろう。
多くのさらなる修正および変形は単に例として与えられ、添付の特許請求の範囲によってのみ決定される本発明の範囲を限定することを意図しない、前述の例示的な実施形態を参照することにより、当業者に示唆されるのであろう。特に、異なる実施形態からの異なる特徴は、適宜、交換されてもよい。
特許請求の範囲において、単語「有する」は他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は複数を排除するものではない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これらの特徴の組み合わせが有利に使用されることができないことを示すものではない。

Claims (16)

  1. 複数のサンプルから構成されるビデオデータを符号化する方法であって、前記方法はサーバデバイスにより、
    符号化されたビデオデータを取得するためにビデオデータを符号化することと、
    前記符号化されたビデオデータを少なくとも1つの第1のトラックのセットにカプセル化することと、
    第2のトラックを生成することを含み、
    前記第2のトラックは、少なくとも1つの変換演算子のセットを少なくとも1つの第1のトラックのサンプルに適用した結果を表すサンプルを記述し、
    前記第2のトラックは、前記第1のトラックのうちの少なくとも1つへの参照を含み、
    前記第2のトラックは、メタデータ部分において、前記変換演算子のセットの記述を含む、方法。
  2. 請求項1に記載の方法であって、更に、
    前記第2のトラックの前記メタデータ部分に、少なくとも1つの変換演算子を特徴付けるための1つまたは複数のパラメータをカプセル化することを含む、方法。
  3. 請求項2に記載の方法であって、更に、
    前記第2のトラックの前記メタデータ部分のヘッダ部分に、少なくとも1つの変換演算子を特徴付けるための1つまたは複数のパラメータをカプセル化することを含む、方法。
  4. 請求項3に記載の方法であって、更に、
    前記第2のトラックの前記メタデータ部分のサンプルテーブルボックスに、少なくとも1つの変換演算子を特徴付けるための1つまたは複数のパラメータをカプセル化することを含む、方法。
  5. 請求項2から4のいずれか1項に記載の方法であって、更に、
    前記生成されたトラックのビデオデータ部分に、前記第2のトラックに記述された特定のサンプルに使用される少なくとも1つの変換演算子を特徴付けるための1つまたは複数の特定のパラメータをカプセル化することを含む、方法。
  6. 請求項2から4のいずれか1項に記載の方法であって、更に、
    前記第2のトラックのビデオデータ部分に、前記第2のトラックに記述された特定のサンプルのために使用される少なくとも1つの変換演算子を特徴付けるための1つ以上の特定のパラメータをカプセル化し、前記第2のトラックのビデオデータ部分において、これらの特定のパラメータへのいくつかの参照を提供することを含む、方法。
  7. 請求項1から4のいずれか1項に記載の方法であって、更に、
    第3のトラックにおいて、少なくとも1つの変換演算子を特徴付けるための1つ以上のパラメータを提供することであって、前記第2のトラックは前記第3のトラックへの参照をさらに含む、ことを含む、方法。
  8. 請求項7に記載の方法であって、前記1つまたは複数のパラメータは、前記第3のトラックのビデオデータ部分に含まれる、方法。
  9. 請求項1に記載の方法であって、前記第2のトラックは、前記ビデオデータにおいて、少なくとも1つの変換演算子のセットを前記少なくとも1つの第1のトラックのサンプルに適用した結果を表すサンプルを更に含む、方法。
  10. 請求項1に記載の方法であって、前記変換演算子のうちの1つは、キャプチャ投射の空間部分をシグナリングすることを可能にする、方法。
  11. 請求項2に記載の方法であって、
    前記生成されたトラックのデータ部分は空としてマークされる、方法。
  12. 複数のサンプルから構成されるビデオデータを復号する方法であって、前記方法はクライアントデバイスにより、
    少なくとも1つの第2のトラックへの参照と、少なくとも1つの変換演算子のセットの記述とを含む第1のトラックを受信することと、
    少なくとも1つの第2のトラックを受信することと、
    前記少なくとも1つの第2のトラックで受信したサンプルに前記変換演算子のセットを適用することにより、前記ビデオデータのサンプルを生成することを含む、方法。
  13. 複数のサンプルから構成されるビデオデータを符号化するサーバデバイスであって、前記サーバデバイスは、
    符号化されたビデオデータを取得するためにビデオデータを符号化し、
    符号化されたビデオデータを少なくとも1つの第1のトラックのセットにカプセル化し、
    第2のトラックを生成する、ように適合化されたプロセッサを備え、
    前記第2のトラックは、少なくとも1つの変換演算子のセットを少なくとも1つの第1のトラックのサンプルに適用した結果を表すサンプルを記述し、
    前記第2のトラックは、第1のトラックのうちの少なくとも1つへの参照を含み、
    前記第2のトラックは、メタデータ部分において、前記変換演算子のセットの記述を含む、サーバデバイス。
  14. 複数のサンプルから構成されるビデオデータを復号するクライアントデバイスであって、前記クライアントデバイスは、
    少なくとも1つの第2のトラックへの参照と、少なくとも1つの変換演算子のセットの記述とを含む第1のトラックを受信し、
    少なくとも1つの第2のトラックを受信し、
    前記少なくとも1つの第2のトラックで受信したサンプルに前記変換演算子のセットを適用することにより、前記ビデオデータのサンプルを生成する、ように適合化されたプロセッサを備える、クライアントデバイス。
  15. 請求項1から12のいずれか1項に記載の方法をコンピュータが実行するためのプログラム。
  16. 請求項1から12のいずれか一項に記載の方法を実施するためのコンピュータプログラムの命令を記憶するコンピュータ可読記憶媒体。
JP2019543259A 2017-03-27 2018-03-20 生成されたコンテンツを含むビデオデータを符号化するための方法および装置 Active JP6924266B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1704882.8A GB2560921B (en) 2017-03-27 2017-03-27 Method and apparatus for encoding media data comprising generated content
GB1704882.8 2017-03-27
PCT/EP2018/057044 WO2018177817A1 (en) 2017-03-27 2018-03-20 Method and apparatus for encoding media data comprising generated content

Publications (2)

Publication Number Publication Date
JP2020511815A JP2020511815A (ja) 2020-04-16
JP6924266B2 true JP6924266B2 (ja) 2021-08-25

Family

ID=58687840

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019543259A Active JP6924266B2 (ja) 2017-03-27 2018-03-20 生成されたコンテンツを含むビデオデータを符号化するための方法および装置
JP2019543268A Active JP6865842B2 (ja) 2017-03-27 2018-03-20 メディアデータ生成方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2019543268A Active JP6865842B2 (ja) 2017-03-27 2018-03-20 メディアデータ生成方法

Country Status (8)

Country Link
US (3) US11070893B2 (ja)
EP (2) EP3603081A1 (ja)
JP (2) JP6924266B2 (ja)
KR (4) KR102470889B1 (ja)
CN (3) CN110463210B (ja)
GB (4) GB2560921B (ja)
TW (3) TW202234896A (ja)
WO (2) WO2018177819A1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2524726B (en) * 2014-03-25 2018-05-23 Canon Kk Image data encapsulation with tile support
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
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
GB2567625B (en) 2017-10-12 2020-07-15 Canon Kk Method, device, and computer program for generating timed media data
EP4274234A3 (en) 2018-04-03 2024-02-28 Huawei Technologies Co., Ltd. File format signaling of error mitigation in sub-picture bitstream based viewport dependent video coding
US11303923B2 (en) * 2018-06-15 2022-04-12 Intel Corporation Affine motion compensation for current picture referencing
KR102073230B1 (ko) * 2018-06-28 2020-02-04 주식회사 알파서클 특정 영역의 화질을 개선하기 위해 복수의 가상현실영상을 재생하는 가상현실영상재생장치 및 가상현실영상생성방법
KR102188270B1 (ko) * 2018-07-06 2020-12-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
US11183220B2 (en) * 2018-10-03 2021-11-23 Mediatek Singapore Pte. Ltd. Methods and apparatus for temporal track derivations
EP3734970B1 (en) * 2019-01-08 2023-07-05 Samsung Electronics Co., Ltd. Method for processing and transmitting three-dimensional content
US11205456B2 (en) 2019-01-09 2021-12-21 Mediatek Singapore Pte. Ltd. Methods and apparatus for using edit operations to perform temporal track derivations
US11457231B2 (en) 2019-03-15 2022-09-27 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks
GB2582313B (en) * 2019-03-18 2022-09-07 Canon Kk Method and apparatus for encapsulating derived tracks
US11245926B2 (en) * 2019-03-19 2022-02-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for track derivation for immersive media data tracks
JP7286791B2 (ja) * 2019-03-20 2023-06-05 北京小米移動軟件有限公司 Vr360において視点切り替え能力を伝送する方法および装置
EP3944629A4 (en) * 2019-03-20 2022-05-25 Sony Group Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, READ PROCESSING DEVICE AND READ PROCESSING METHOD
US11218715B2 (en) * 2019-06-14 2022-01-04 Mediatek Singapore Pte. Ltd. Methods and apparatus for spatial grouping and coordinate signaling for immersive media data tracks
GB2585052B (en) * 2019-06-26 2023-07-26 Canon Kk Method and apparatus for encapsulating panorama images in a file
CN112148115A (zh) * 2019-06-28 2020-12-29 中兴通讯股份有限公司 媒体处理方法、装置、***和可读存储介质
US20210105313A1 (en) * 2019-10-02 2021-04-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling a region in spatially grouped immersive media data tracks
WO2021102953A1 (en) * 2019-11-29 2021-06-03 Zte Corporation Multi-view video processing method and apparatus
US20210176475A1 (en) * 2019-12-05 2021-06-10 Mediatek Inc. Specifying Layout In Video Pictures
JP2023509838A (ja) * 2019-12-27 2023-03-10 アリババ グループ ホウルディング リミテッド サブピクチャ分割情報をシグナリングするための方法及び機器
KR20220114088A (ko) 2019-12-31 2022-08-17 노키아 테크놀로지스 오와이 비디오 인코딩 및 비디오 디코딩을 위한 방법, 장치 및 컴퓨터 프로그램 제품
CN113766271B (zh) * 2020-06-04 2022-07-12 腾讯科技(深圳)有限公司 一种沉浸媒体的数据处理方法、装置及设备
US11743441B2 (en) 2020-08-31 2023-08-29 Mediatek Singapore Pte. Ltd. Methods and apparatus for selecting and switching input video tracks using track derivations
EP3972273A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Handling of non-vcl nal units in picture unit construction
US11871143B2 (en) * 2020-09-17 2024-01-09 Lemon Inc. Subpicture tracks in coded video
CN116406505A (zh) * 2020-09-24 2023-07-07 Lg电子株式会社 媒体文件处理方法和装置
US11922561B2 (en) * 2020-10-06 2024-03-05 Mediatek Singapore Pte. Ltd. Methods and systems for implementing scene descriptions using derived visual tracks
KR20220143466A (ko) * 2021-04-16 2022-10-25 삼성전자주식회사 공간 컨텐츠를 처리하는 방법 및 이를 수행하는 전자 장치
WO2024072732A1 (en) * 2022-09-28 2024-04-04 Bytedance Inc. Enhanced signalling of extended dependent random access sample point samples in a media file

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0967800B1 (en) * 1993-10-29 2003-04-02 Time Warner Entertainment Co., L.P. System and method for controlling play of multiple versions of same motion picture stored on optical disk
US7613727B2 (en) * 2002-02-25 2009-11-03 Sont Corporation Method and apparatus for supporting advanced coding formats in media files
EP1500002A1 (en) * 2002-04-29 2005-01-26 Sony Electronics Inc. Supporting advanced coding formats in media files
US8041190B2 (en) * 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
TWI384413B (zh) * 2006-04-24 2013-02-01 Sony Corp An image processing apparatus, an image processing method, an image processing program, and a program storage medium
KR101143670B1 (ko) 2007-08-20 2012-05-09 노키아 코포레이션 스트리밍된 데이터의 조직화 방법, 컴퓨터 판독가능한 저장 매체, 수신기 및 장치
US9521469B2 (en) 2013-04-19 2016-12-13 Futurewei Technologies, Inc. Carriage of quality information of content in media formats
US20090119594A1 (en) 2007-10-29 2009-05-07 Nokia Corporation Fast and editing-friendly sample association method for multimedia file formats
CN101911693A (zh) * 2007-12-03 2010-12-08 诺基亚公司 用于以iso基本媒体文件格式存储通知消息的***和方法
TW200943975A (en) 2008-01-09 2009-10-16 Nokia Corp Systems and methods for media container file generation
US20100049865A1 (en) 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
CA2730543C (en) 2008-07-16 2014-04-22 Nokia Corporation Method and apparatus for track and track subset grouping
KR20110106465A (ko) * 2009-01-28 2011-09-28 노키아 코포레이션 비디오 코딩 및 디코딩을 위한 방법 및 장치
JP5591932B2 (ja) * 2009-09-22 2014-09-17 クゥアルコム・インコーポレイテッド ファイルフォーマットトラック選択のためのメディアエクストラクタトラック
CN103119934B (zh) 2010-07-20 2017-02-22 诺基亚技术有限公司 一种流媒体传输装置
US9226045B2 (en) * 2010-08-05 2015-12-29 Qualcomm Incorporated Signaling attributes for network-streamed video data
EP2614653A4 (en) 2010-09-10 2015-04-15 Nokia Corp METHOD AND APPARATUS FOR ADAPTIVE CONTINUOUS DIFFUSION
US20130243391A1 (en) * 2010-11-23 2013-09-19 Samsung Electronics Co., Ltd. Method and apparatus for creating a media file for multilayer images in a multimedia system, and media-file-reproducing apparatus using same
US20130170561A1 (en) 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
US10244257B2 (en) * 2011-08-31 2019-03-26 Nokia Technologies Oy Video coding and decoding
US20130195172A1 (en) * 2012-01-30 2013-08-01 Qualcomm Incorporated Method of coding video and storing video content
KR101652186B1 (ko) * 2012-04-10 2016-08-29 후아웨이 테크놀러지 컴퍼니 리미티드 삼차원 장면에서 표시 객체의 표시 위치를 제공하고, 표시 객체를 표시하기 위한 방법 및 장치
CN103514351B (zh) 2012-06-28 2017-05-10 三星电子(中国)研发中心 一种多媒体文件的编辑方法、装置和***
KR101968070B1 (ko) * 2012-10-12 2019-04-10 캐논 가부시끼가이샤 데이터를 스트리밍하기 위한 방법, 데이터를 제공하기 위한 방법, 데이터를 획득하기 위한 방법, 컴퓨터 판독 가능 저장 매체, 서버 장치, 및 클라이언트 장치
US9648299B2 (en) * 2013-01-04 2017-05-09 Qualcomm Incorporated Indication of presence of texture and depth views in tracks for multiview coding plus depth
CN109587573B (zh) 2013-01-18 2022-03-18 佳能株式会社 生成设备和方法、显示设备和方法以及存储介质
GB2513140B (en) * 2013-04-16 2016-05-04 Canon Kk Methods, devices, and computer programs for streaming partitioned timed media data
KR102077900B1 (ko) * 2013-04-17 2020-02-14 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
EP2962467A1 (en) * 2013-07-19 2016-01-06 Huawei Technologies Co., Ltd. Metadata information signaling and carriage in dynamic adaptive streaming over hypertext transfer protocol
EP3013064B1 (en) * 2013-07-19 2019-03-13 Sony Corporation Information processing device and method
GB2516826B (en) * 2013-07-23 2016-06-22 Canon Kk Method, device and computer program for encapsulating partitioned timed media data by creating tracks to be independently encapsulated in at least one media f
GB2516824A (en) 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
GB2516825B (en) * 2013-07-23 2015-11-25 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data using a generic signaling for coding dependencies
KR101879519B1 (ko) * 2013-07-29 2018-07-17 코닌클리즈케 케이피엔 엔.브이. 타일 비디오 스트림을 클라이언트에게 제공하는 방법
EP3058734B1 (en) 2013-10-15 2020-06-24 Nokia Technologies Oy Buffering parameters in scalable video coding and decoding
GB2542282B (en) * 2013-10-22 2018-08-01 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data in a server
US9712843B2 (en) * 2013-10-23 2017-07-18 Qualcomm Incorporated Multi-layer video file format designs
CN106416250B (zh) 2013-12-02 2020-12-04 诺基亚技术有限公司 视频编码和解码
WO2015104450A1 (en) 2014-01-07 2015-07-16 Nokia Technologies Oy Media encapsulating and decapsulating
EP3092796B1 (en) * 2014-01-07 2020-06-17 Canon Kabushiki Kaisha Method, device, and computer program for encoding inter-layer dependencies
WO2015104451A1 (en) 2014-01-07 2015-07-16 Nokia Technologies Oy Method and apparatus for video coding and decoding
KR102224703B1 (ko) 2014-03-17 2021-03-09 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩 장치, 방법 및 컴퓨터 프로그램
GB2524531B (en) * 2014-03-25 2018-02-07 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
GB2524726B (en) * 2014-03-25 2018-05-23 Canon Kk Image data encapsulation with tile support
GB2527786B (en) * 2014-07-01 2016-10-26 Canon Kk Method, device, and computer program for encapsulating HEVC layered media data
GB2531271A (en) * 2014-10-14 2016-04-20 Nokia Technologies Oy An apparatus, a method and a computer program for image sequence coding and decoding
GB2564731B (en) * 2014-10-14 2019-05-29 Canon Kk Description of image composition with HEVC still image file format
EP4020983A1 (en) * 2014-12-31 2022-06-29 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10291561B2 (en) 2015-02-09 2019-05-14 Nokia Technologies Oy Apparatus, a method and a computer program for image coding and decoding
GB201502205D0 (en) * 2015-02-10 2015-03-25 Canon Kabushiki Kaisha And Telecom Paris Tech Image data encapsulation
US9922680B2 (en) * 2015-02-10 2018-03-20 Nokia Technologies Oy Method, an apparatus and a computer program product for processing image sequence tracks
US9897450B2 (en) * 2015-05-20 2018-02-20 Nokia Technologies Oy Method and apparatus to obtain differential location information
GB2538998A (en) * 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
GB2538997A (en) * 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
EP3107011B1 (en) 2015-06-16 2018-12-12 Nokia Technologies Oy Method, apparatus, and computer program product for storage of dynamically derived images in an image container file
GB2539461B (en) * 2015-06-16 2020-01-08 Canon Kk Image data encapsulation
GB2539462B (en) 2015-06-16 2019-04-03 Canon Kk Obtaining media data and metadata from encapsulated bit-streams wherein operating point descriptors can be dynamically set
WO2017007263A1 (ko) * 2015-07-08 2017-01-12 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
JP6548500B2 (ja) * 2015-07-30 2019-07-24 キヤノン株式会社 ファイル名変換装置、方法及びプログラム並びに記録システム
US10631069B2 (en) * 2016-02-16 2020-04-21 Nokia Technologies Oy Media encapsulating and decapsulating
US10389999B2 (en) * 2016-02-17 2019-08-20 Qualcomm Incorporated Storage of virtual reality video in media files
US11006158B2 (en) * 2016-05-20 2021-05-11 Lg Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
KR102170550B1 (ko) 2016-05-24 2020-10-29 노키아 테크놀로지스 오와이 미디어 콘텐츠를 인코딩하는 방법, 장치 및 컴퓨터 프로그램
WO2017204109A1 (en) * 2016-05-24 2017-11-30 Sharp Kabushiki Kaisha Systems and methods for signaling scalable video in a media application format
KR102208132B1 (ko) * 2016-05-26 2021-01-27 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US11172005B2 (en) * 2016-09-09 2021-11-09 Nokia Technologies Oy Method and apparatus for controlled observation point and orientation selection audiovisual content
CN106385587B (zh) 2016-09-14 2019-08-02 三星电子(中国)研发中心 分享虚拟现实视角的方法、装置及***
US11140417B2 (en) * 2016-11-01 2021-10-05 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
CN109074678B (zh) * 2016-12-30 2021-02-05 华为技术有限公司 一种信息的处理方法及装置
WO2018169139A1 (ko) * 2017-03-17 2018-09-20 엘지전자 주식회사 360도 비디오의 영역 정보 전달 방법 및 장치
KR102133848B1 (ko) * 2017-03-20 2020-07-14 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
US10602239B2 (en) * 2017-03-23 2020-03-24 Mediatek Inc. Method and apparatus for track composition
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
GB2563865A (en) * 2017-06-27 2019-01-02 Canon Kk Method, device, and computer program for transmitting media content
US10931968B2 (en) * 2017-07-31 2021-02-23 Nokia Technologies Oy Method and apparatus for encoding or decoding video content including regions having looping videos of different loop lengths
US10951950B2 (en) * 2017-07-31 2021-03-16 Nokia Technologies Oy Method and apparatus for presenting a video loop during a storyline

Also Published As

Publication number Publication date
CN115529477A (zh) 2022-12-27
EP3603080A1 (en) 2020-02-05
TW202007172A (zh) 2020-02-01
GB2585270A (en) 2021-01-06
KR20210144912A (ko) 2021-11-30
US11700434B2 (en) 2023-07-11
WO2018177817A1 (en) 2018-10-04
CN110506423A (zh) 2019-11-26
JP6865842B2 (ja) 2021-04-28
US11070893B2 (en) 2021-07-20
GB2560921A (en) 2018-10-03
KR102450781B1 (ko) 2022-10-06
TWI766200B (zh) 2022-06-01
TW201836358A (zh) 2018-10-01
TWI679885B (zh) 2019-12-11
GB201708337D0 (en) 2017-07-05
GB2561026B (en) 2020-04-08
GB202002579D0 (en) 2020-04-08
GB2561026A (en) 2018-10-03
KR20210080607A (ko) 2021-06-30
KR20190117694A (ko) 2019-10-16
TW202234896A (zh) 2022-09-01
GB2583570B (en) 2021-05-19
KR102470889B1 (ko) 2022-11-28
CN110463210B (zh) 2022-08-12
CN110506423B (zh) 2023-06-20
GB2585270B (en) 2021-08-11
US11265622B2 (en) 2022-03-01
JP2020511816A (ja) 2020-04-16
JP2020511815A (ja) 2020-04-16
GB202005208D0 (en) 2020-05-20
EP3603081A1 (en) 2020-02-05
KR102329474B1 (ko) 2021-11-23
WO2018177819A1 (en) 2018-10-04
KR20190117675A (ko) 2019-10-16
GB2560921B (en) 2020-04-08
GB2583570A (en) 2020-11-04
GB201704882D0 (en) 2017-05-10
US20200389676A1 (en) 2020-12-10
US20220007087A1 (en) 2022-01-06
US20200099997A1 (en) 2020-03-26
EP3603080B1 (en) 2023-08-02
CN110463210A (zh) 2019-11-15

Similar Documents

Publication Publication Date Title
JP6924266B2 (ja) 生成されたコンテンツを含むビデオデータを符号化するための方法および装置
US11805304B2 (en) Method, device, and computer program for generating timed media data
KR102559862B1 (ko) 미디어 콘텐츠 전송을 위한 방법, 디바이스, 및 컴퓨터 프로그램
US20230025332A1 (en) Method, device, and computer program for improving encapsulation of media content
GB2509953A (en) Displaying a Region of Interest in a Video Stream by Providing Links Between Encapsulated Video Streams
WO2020109154A1 (en) Method, device, and computer program for encapsulating media data into a media file

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190919

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201202

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210730

R151 Written notification of patent or utility model registration

Ref document number: 6924266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151