JP7072645B2 - メディアファイルを生成する方法、メディアファイルを処理する方法、装置、プログラム、およびコンピュータ可読記憶媒体 - Google Patents

メディアファイルを生成する方法、メディアファイルを処理する方法、装置、プログラム、およびコンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP7072645B2
JP7072645B2 JP2020516392A JP2020516392A JP7072645B2 JP 7072645 B2 JP7072645 B2 JP 7072645B2 JP 2020516392 A JP2020516392 A JP 2020516392A JP 2020516392 A JP2020516392 A JP 2020516392A JP 7072645 B2 JP7072645 B2 JP 7072645B2
Authority
JP
Japan
Prior art keywords
track
group
tracks
properties
identifier
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
JP2020516392A
Other languages
English (en)
Other versions
JP2020537376A (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 JP2020537376A publication Critical patent/JP2020537376A/ja
Application granted granted Critical
Publication of JP7072645B2 publication Critical patent/JP7072645B2/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
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • 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/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • H04N21/8133Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts specifically related to the content, e.g. biography of the actors in a movie, detailed information about an article seen in a video program
    • 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/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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

本開示は一般に、メディアデータの交換、管理、編集、および提示を容易にし、ストリーム管理を改善する柔軟かつ拡張可能なフォーマットを提供するための、例えばMPEG標準化機構によって定義されるISOベースメディアファイルフォーマットによる、時限メディアデータ(Timed media data)のカプセル化および構文解析の分野に関する。
より具体的には、本発明は、時限メディアデータを生成し、カプセル化し、解析するための方法およびデバイスを対象とする。
本発明は、メディアコンテンツのグループの交換、管理、編集、および提示を容易にし、適応httpストリーミングプロトコルを使用して、例えばインターネットなどのIPネットワーク上でのその配信を改善する、柔軟かつ拡張可能なフォーマットを提供するために、例えばMPEG標準化機構によって定義されるISOベースメディアファイルフォーマットに従って、メディアコンテンツをカプセル化し、構文解析し、ストリーミングすることに関する。
国際標準化機構ベースメディアファイルフォーマット(ISO BMFF、ISO/IEC 14496-12)は、ローカルストレージまたはネットワークを介するかまたは別のビットストリーム配信メカニズムを介する伝送のいずれかのための符号化された時限メディアデータビットストリームを記述する周知のフレキシブルかつ拡張可能なフォーマットである。このファイルフォーマットは例えば、いくつかの拡張子を有する。例えば、パート5、ISO/IEC 14496-15は、各種NAL(ネットワーク抽象化レイヤ)ユニットベースのビデオ符号化フォーマットのためのカプセル化ツールを記載している。そのような符号化フォーマットの例は、AVC(Advanced Video Coding)、SVC(Scalable Video Coding)、HEVC(High Efficiency Video Coding)、またはL-HEVC(Layered HEVC)である。ファイルフォーマット拡張子の別の例は、静止画像又はHEVC静止画像のような静止画像のシーケンスのためのカプセル化ツールを記述するISO/IEC 23008-12である。このファイルフォーマットはオブジェクト指向である。これは、順次または階層的に編成され、タイミングおよび構造パラメータなどの符号化された時限メディアデータビットストリームの記述パラメータを定義するボックス(または4文字コードによって特徴付けられるデータ構造)と呼ばれるビルディング・ブロックから構成される。ファイルフォーマットでは、時間の経過に伴う全体的なプレゼンテーションがムービー(movie)と呼ばれる。ムービーは、メディアまたはプレゼンテーションファイルの最上位レベルにあるムービーボックス(4文字コード ‘moov’)によって記述される。このムービーボックスは、プレゼンテーションを記述する様々なボックスの設定を含む初期化情報コンテナを表す。これは、トラックボックス(4文字コード‘trak’を有する)によって表されるトラックに論理的に分割される。各トラック(トラック識別子(track_ID)によって一意に識別される)はプレゼンテーションに属するメディアデータ(例えば、ビデオのフレーム)の時限シーケンスを表す。各トラック内で、データの各時間単位はサンプルと呼ばれ、これはビデオ、オーディオ、または時間メタデータのフレームとすることができる。サンプルは、暗黙的に順番に番号付けされる。実際のサンプルデータは、ムービーボックスと同じレベルのメディアデータ・ボックス(4文字コード‘mdat’)と呼ばれるボックス内にある。ムービーはまた、プレゼンテーション全体のための情報を含むムービーボックスとして時間的に編成され得、その後に、2つのムービーフラグメントのリストおよびメディアデータボックスが続く。ムービーフラグメント(4文字コード‘moof’のボックス)内には、1つのムービーフラグメントにつき0以上のトラックフラグメントのセット(4文字コード‘traf’のボックス)がある。トラックフラグメントは次に、0個以上のトラックラン・ボックス(‘trun’)を含み、各トラックラン・ボックスは、そのトラックフラグメントに対するサンプルの連続したランを文書化する。
ファイルフォーマットでは、メディアまたはプレゼンテーションファイルがムービーボックスと同じレベルでメタボックス(‘meta’)内に記述された1つまたは複数の静的アイテム(項目))(例えば、1つまたは複数の静止画像)を含むこともできる。このメタボックスは、静的アイテムを記述する記述情報を含むことができ、この記述情報はいくつかのボックス(例えば、アイテム情報ボックス(‘iinf’)内のアイテムのリスト、およびアイテム位置ボックス(‘iloc’)内のデータアイテムの位置(データボックス内)に編成され、各アイテムは、アイテム識別子(item_ID)によって一意に識別される。実際のアイテムデータは、メタボックスのアイテムデータボックス(‘idat’)またはファイルトップレベルのメディアデータボックス(‘mdat’)のいずれかに格納される。
ISOBMFFは、複数の符号化された時限メディアデータビットストリーム、または複数のトラックおよび/または複数の静的アイテムを形成する符号化された時限メディアデータビットストリームのサブパートを含み得る。ISOBMFFおよびその拡張は、トラック、静的アイテム、またはサンプルを一緒にグループ化するためのいくつかのグループ化機構(メカニズム)を含む。グループは、通常、共通の意味および/または特性を共有する。
例えば、ISOBMFFは、エンティティグループ機構、トラックグループ機構、およびサンプルグループ機構を含む。エンティティグループ化機構は、トラックおよび/または静的アイテムが示されたグループ化タイプまたはセマンティック(意味論)に従ってグループ化されることを示すために使用され得る。トラックグループ化機構は、トラックが示されたグループ化タイプまたはセマンティックに従ってグループ化されることを示すために使用され得る。サンプルグループ化機構は、示されたグループ化タイプまたはセマンティックに関連付けられた特定のプロパティがトラック内のサンプルの示されたグループに適用されることを示すために使用され得る。
本発明者らは、既存のグループ化機構を使用して、ISOBMFF内のコンポーネントのグループ、すなわち、アイテム(例えば、静止画像)、トラック(例えば、オーディオ、ビデオ、またはメタデータ)、またはそれらのグループ(例えば、トラックグループまたはエンティティグループ)のいずれかであるコンポーネントを記述し、シグナリングするときに、いくつかの問題に気付いた。
例えば、問題は、所与のコンポーネントに関連付けられた、またはコンポーネントのグループに属するすべてのコンポーネントに共通のプロパティの信号がオーバーヘッドおよび複雑さを生成する可能性があることである。
別の難点は、コンポーネントまたはコンポーネントのグループに共通するプロパティ(特性)が経時的にあまり動的ではないか、またはあまり動的ではないことである。
また、別の問題は、コンポーネントのグループに属するコンポーネントのリストの経時的な動的性(ダイナミティ)を伴う。
一般的に言えば、既存のソリューションは、この動的性を許容しない。
本発明は、前述の問題のうちの1つまたは複数に対処するように考案された。
この文脈では、時限メディアデータに基づいて1つまたは複数のメディアファイルを生成するための方法が提供され、時限メディアデータはサンプルを含み、当該方法は、
サンプルを含む時限メディアデータを取得することと、
取得されたサンプルの少なくとも1つの少なくとも一部を各々が含むトラックを作成することと、
作成されたトラックに関連づけられた記述メタデータを生成することと、
トラックおよび記述メタデータに基づいて、1つまたは複数のメディアファイルを生成することを含み、
記述メタデータは、少なくとも1つのトラックグループ識別子を含み、かつ、少なくとも1つのトラックグループ識別子を使用することによって作成されたトラックの少なくとも1つのグループを記述する少なくとも1つのTrackGroupBox(トラックグループボックス)を含み、
記述メタデータは、生成されたトラックに関する複数のプロパティのセットをさらに含み、
記述メタデータは、複数のプロパティのセットの中からプロパティのセットを識別するために使用されるグループ記述インデックスに関連する少なくとも1つのトラックグループ識別子を含むSampleToGroupBoxをさらに含む。
本発明の任意選択の特徴は、従属請求項においてさらに定義される。
実施形態によれば、複数のプロパティのセットの少なくとも一部は、記述メタデータにおけるSampleGroupDescriptionBoxに含まれる。
実施形態によれば、トラック毎に1つのSampleGroupDescriptionBoxが生成される。
実施形態によれば、同じトラックグループ識別子に対応する1つまたは複数のトラックが、複数のプロパティのセットの中からの同じプロパティのセットに関連付けられる。
実施形態によれば、前記単一の位置(ロケーション/場所)は、プレゼンテーションファイル内のトラックレベルよりも高いレベルに位置する。
実施形態によれば、トラックグループボックスは、トラックのグループを形成するために使用される少なくとも1つの基準を記述するセマンティクス(意味論)に関連付けられたグループ化タイプを示す。
実施形態によれば、時限データは、時間サンプルのうちの少なくとも1つがサブサンプルを含むように分割される。
実施形態によれば、少なくとも1つのトラックグループは、グループに属する異なるトラックのサブサンプルを含む合成グループである。
実施形態によれば、トラックグループボックスは、プレゼンテーションファイルにおいて一意であるグループの識別子を示す。
実施形態によれば、各グループのトラックによって共有されるトラックおよびプロパティの既存のグループのリストは、プレゼンテーションファイルにおけるムービーレベルで定義される。
実施形態によれば、少なくとも1つのトラックに対して、このトラックに固有のさらなるプロパティが、プレゼンテーションファイルにおけるトラックレベルで定義される。
実施形態によれば、ムービーレベルでのグループの定義は、同じ一意のグループ識別子によってトラックレベルでのグループの定義に関連付けられる。
実施形態によれば、少なくとも1つのトラックに対して、このトラックに固有のさらなるプロパティが、プレゼンテーションファイルにおける同じ単一の位置で定義される。
実施形態によれば、1つのトラックに固有のプロパティは、トラックの既存のグループのリストに直接定義される。
実施形態によれば、各プロパティは異なる値をとることができ、トラックに固有の各プロパティの値は、時間とともに変化する。
実施形態によれば、トラックに固有の各プロパティの値は、トラック内の1つまたは複数のサンプルに対して定義される。
実施形態によれば、記述メタデータは同じトラックのグループに属するトラック内のサンプルを記述する少なくとも1つのボックスをさらに含み、少なくとも1つのボックスは、時間とともに固有のプロパティをとることができる異なる可能な値を定義する。
実施形態によれば、少なくとも1つのボックスは、サンプルのグループを形成するために使用される少なくとも1つの基準を記述するセマンティクスに関連付けられたグループ化タイプを示す。
実施形態によれば、連続するサンプルのプロパティによって得られる値は繰り返しパターンに従い、少なくとも1つのボックスは、繰り返しパターン自体およびその繰り返しを定義する。
実施形態によれば、各プロパティは異なる値をとることができ、プレゼンテーションファイルは、トラックの少なくとも1つのグループがフラグメントレベルで定義され、トラックのグループを構成するトラックのセットが時間とともに変化するようにフラグメント化される。
実施形態によれば、トラックグループボックスは、トラックの少なくとも1つのグループの定義が時間とともに変化し得るか否かを示すフラグを含む。
実施形態によれば、トラックの少なくとも1つのグループの定義は、グループのトラックによって共有されるプロパティ、各プロパティをとることができる値、および/またはグループを構成するトラックを含む。
本発明の第2の態様によれば、時限メディアデータに基づいて1つまたは複数のメディアファイルを生成するための装置が提供され、時限メディアデータはサンプルを含み、当該装置は、
サンプルを含む時限メディアデータを取得し、
取得されたサンプルの少なくとも1つの少なくとも一部を各々が含むトラックを作成すし、
作成されたトラックに関連付けられた記述メタデータを生成し、
トラックおよび記述メタデータに基づいて、1つまたは複数のメディアファイルを生成するように構成され、
記述メタデータは、少なくとも1つのトラックグループ識別子を含み、かつ、少なくとも1つのトラックグループ識別子を使用することによって作成されたトラックの少なくとも1つのグループを記述する少なくとも1つのTrackGroupBoxを含み、
記述メタデータは、作成されたトラックに関する複数のプロパティのセットをさらに含み、
記述メタデータは、複数のプロパティのセットの中からプロパティのセットを識別するために使用されるグループ記述インデックスに関連する少なくとも1つのトラックグループ識別子を含むSampleToGroupBoxをさらに含む。
実施形態によれば、各プロパティは異なる値をとることができ、トラックに固有の各プロパティの値は、時間とともに変化する。
実施形態によれば、各プロパティは異なる値をとることができ、プレゼンテーションファイルは、トラックの少なくとも1つのグループがフラグメントレベルで定義され、トラックのグループを構成するトラックのセットが時間とともに変化するようにフラグメント化される。
実施形態によれば、トラックグループボックスは、トラックの少なくとも1つのグループの定義が経時的に変化し得るか否かを示すフラグを含む。
本発明の第2の態様は、上記第1の態様と同様の特徴および利点を有する。
本発明はソフトウェアで実施することができるので、本発明は、任意の適切な搬送媒体、特に適切な有形搬送媒体または適切な過渡搬送媒体上のプログラマブル装置に提供するためのコンピュータ可読コードとして実施することができる。有形キャリア媒体は、フロッピー(登録商標)ディスク、CD-ROM、ハードディスクドライブ、磁気テープ装置、またはソリッドステートメモリ装置などの記憶媒体を含むことができる。過渡搬送媒体は、電気信号、電子信号、光信号、音響信号、磁気信号、または電磁信号、例えばマイクロ波またはRF信号などの信号を含み得る。
本発明のさらなる利点は図面および詳細な説明を検討することにより、当業者に明らかになるのであろう。任意の追加の利点が本明細書に組み込まれることが意図される。
本発明の実施形態は、単に例として、以下の図面を参照して以下に記載される。
図1は、本発明の実施形態を使用することができる典型的なクライアント・サーバ・システムを示す。 図2aは、本発明の実施形態を使用することができる第1のシナリオを示す。 図2bは、本発明の実施形態を使用することができる第2のシナリオを示す。 図3は、本発明の1つまたは複数の実施形態を実施するためのコンピューティングデバイスの概略ブロック図である。 図4は、空間関係トラックグループの異なる使用例を示す。 図5は、空間関係トラックグループの異なる使用例を示す。 図6は、空間関係トラックグループの異なる使用例を示す。 図7は、空間関係トラックグループの異なる使用例を示す。 図8は、空間関係トラックグループの異なる使用例を示す。 図9は、空間関係トラックグループの異なる使用例を示す。 図10は、空間関係トラックグループの異なる使用例を示す。 図11は、空間関係トラックグループの異なる使用例を示す。 図12は、空間関係トラックグループの異なる使用例を示す。 図13は、空間関係トラックグループの異なる使用例を示す。 図14は、空間関係トラックグループの異なる使用例を示す。
以下の説明では、ムービーはいくつかの部分に時間的に分割され、各部分は「フラグメント」と呼ばれる。各フラグメントは、1つまたは複数のトラックに含まれ、関連する記述メタデータを伴う。したがって、フラグメントはトラック部分として見ることができる。
実際には、ISOBMFFファイルでは、メタデータはムービーボックス(‘moov’)に含まれ、ビットストリームはメディアデータボックス(‘mdat’)に含まれる。ムービーボックスはいくつかのトラック(例えば、オーディオトラックおよびビデオトラック)の記述を含むことができる。
フラグメントの使用は、メディアデータがいくつかの部分に分割されることを可能にする。1つのフラグメントは1対のムービーフラグメントボックス(‘moof’)およびメディアデータボックス(‘mdat’)によって表され、ムービーフラグメントボックスは関連するメディアデータボックスのコンテンツを記述する。
したがって、フラグメント化されたISOBMFFファイルには、ボックス‘moov’、‘moof’および‘mdat’、‘moof’および‘mdat’、‘moof’および‘mdat’などが続く。最初のボックス‘moov’は、ISOBMFFファイル全体に共通のデータを含む。
以下の説明では、断片化されたISOBMFFファイルのトラック(‘trak’)に相当するものは‘traf’である。
本発明の文脈では、トラックが共通のプロパティ、すなわち、グループのすべてのトラックが存在するプロパティに従ってグループ化することができる。さらに、各トラックは、それに固有の、すなわちそのグループのすべてのトラックと共有されない他のプロパティを有することができる。
第1の実施形態によれば、プレゼンテーションファイルはトラックのグループを記述する少なくとも1つのトラックグループボックスを含み、同じグループに属するすべてのトラックは共通のプロパティを共有する。トラックの既存のグループのリストは、プレゼンテーションファイルにおける1つの単一位置(場所)で宣言され、グループのトラックによって共有される共通プロパティも、プレゼンテーションファイル内のこの同じ単一位置で宣言される。
第2の実施形態によれば、トラックに特有の(すなわち、グループのすべてのトラックによって共有されない)プロパティは、時間とともに異なる値をとる。
第3の実施形態によれば、トラックのグループを構成(合成)するトラックのセットは、時間とともに変化する。
第4の実施形態によれば、トラックグループボックスは、トラックの少なくとも1つのグループの定義が時間とともに変化し得るか否かを示すフラグを含む。この定義は、グループのトラックによって共有されるプロパティ(すなわち、グループ化基準)に関して、各プロパティ(各トラックに固有の、またはグループのすべてのトラックに共通の)をとることができる値に関して、および/またはグループを構成するトラックに関して変化し得る。
図1は、本発明を使用することができる典型的なクライアント・サーバ・システムを示す。本発明は、通信ネットワークを介してストリーミングするだけでなく、いかなる方法で配布されてもよいメディアファイルの生成に関係し得るようなシステムに限定されない。
このシステムはサーバ側に、メディアエンコーダ100、特にビデオエンコーダ、メディアパッケージャ110、およびメディアサーバ120を備える。メディアパッケージャ110は、NALUパーサ111と、メモリ112と、ISOBMFF(ISOBMFF)ライタ113とを備える。メディアサーバ120は、マニフェストファイル(MPD(Media Presentation Description)ファイルとしても知られる)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モジュールおよびマニフェストパーサ)が、本発明がレンダリングのためにカプセル化されたメディアファイルが提供される単純なメディアプレーヤからなるメディアクライアントにも適用されるという意味で、オプションである。メディアファイルは、フルダウンロード、プログレッシブダウンロード、アダプティブストリーミング、またはディスク上またはメモリからメディアファイルを読み取ることによって、提供することができる。
本発明による方法は図3に示すように、サーバ装置のCPU301によって実行されるとき、メディアパッケージャモジュール110によって、より具体的には、ソフトウェアコードを含む合成部130と協働するISO BMFFライタモジュール113によって実行される。
典型的には、カプセル化モジュールが、ビットストリームの異なる基本単位(例えば、ビデオビットストリームからのNALU)を抽出し、識別し、ISOBMFFボックス階層に従って記述メタデータを有する1つまたは複数のトラックとして、符号化されたビデオビットストリームを含むISOBMFFファイルまたはISOBMFFセグメント122に符号化されたデータを編成するために、例えば、圧縮されたビデオ、オーディオ、またはメタデータから構成される、符号化された時限メディアデータビットストリームの高レベルシンタックスを読み取ることを担当する。
特定の実施形態によれば、符号化された時限メディアデータビットストリームはカプセル化ファイルフォーマット、例えば、ISO Base Media File Format(ISO/IEC 14496-12及びISO/IEC 14496-15)、Omnidirectional MediA Format(OMAF)(ISO/IEC 23090-2)、及び関連する仕様に従って、及び場合によってはMPEG標準化機構によって定義されるImage File Format(ISO/IEC 23008-12)に従って1つ以上の静止画像ビットストリームと共に、ファイル又は小さい時間セグメントファイルにカプセル化される。
符号化されたビットストリーム(例えば、HEVC、AVC)および場合によってはそのサブビットストリーム(例えば、タイル化されたHEVC、MV-HEVC、スケーラブルなHEVC)は、1つの単一トラックとしてカプセル化することができる。あるいは、空間的に関連する(すなわち、パノラマ画像のサブ空間部分である)複数の符号化ビットストリームを、いくつかのサブピクチャトラックとしてカプセル化することができる。あるいは、いくつかのサブビットストリーム(タイル、ビュー、レイヤ)を含む符号化されたビットストリーム(例えば、タイル型HEVC、MV-HEVC、スケーラブルHEVC)は、複数のサブピクチャトラックとしてカプセル化されることができる。
サブピクチャトラックは、ピクチャまたは画像のサブ部分のためのデータを埋め込むトラックである。サブピクチャトラックは、他のサブピクチャトラック、またはサブピクチャが抽出されるフルピクチャ(パノラマピクチャとしても知られる)を記述するトラックに関連し得る。例えば、サブピクチャトラックは、タイルトラックとすることができる。これは、AVCトラック、HEVCトラック、HEVCタイルトラック、又はサンプルのシーケンスとしてカプセル化された任意の圧縮ビデオビットストリームによって表すことができる。
タイルトラックは、画像の空間部分、又は画像又はピクチャのサブピクチャに対応する時間調整されたビデオサンプルのシーケンスである。これは、例えば、画像における関心領域又は画像における任意の領域とすることができる。タイルトラックに対応するデータは、ビデオビットストリームから取得することができ、又はビデオビットストリームのサブ部分から取得することができる。例えば、タイルトラックは、AVC又はHEVCに準拠したビットストリームとすることができ、あるいはAVC又はHEVCのサブパート又は例えばHEVCタイルのような任意の符号化されたビットストリームとすることができる。好ましい実施形態では、タイルトラックが独立してデコード可能である(エンコーダが他のタイルから動き予測を除去するように注意を払った)。タイルトラックがタイルを有するHEVCで符号化されたビデオビットストリームに対応する場合、ISO/IEC 14496-15 4th editionに記載されているように、'hvt1'トラックとして示されるHEVCタイルトラックにカプセル化することができる。次に、タイルベーストラックを参照して、パラメータセット、ビデオデコーダをセットアップするための高レベル情報を取得することができる。タイルトラックは、各タイルトラックにパラメータセット(システムタイルとしても知られている)を含めて繰り返すことによって、独立して復号可能なHEVCトラック'hvc1'または'hev1'トラックにカプセル化することもできる。タイルトラックは、サブピクチャをより大きな画像又はピクチャに空間的に合成するために使用することができる。
タイルベーストラックは、これらの1つまたは複数のトラック間で共有されるデータまたはメタデータを含む1つまたは複数のタイルトラックに共通のトラックである。タイルベーストラックは、1つまたは複数のタイルトラックから画像を構成するための命令を含み得る。タイルトラックは、完了デコーディングまたはレンダリングのためにタイルベーストラックに依存し得る。タイルベーストラックがタイルを有するHEVCで符号化されたビデオビットストリームから導出されるとき、それは、'hvc2'または‘hev2’トラックとして示されるHEVCトラックにカプセル化される。さらに、これは、トラック参照'tbas'を介してHEVCタイルトラックによって参照され、ISO/IEC 14496-15 4th editionに記載されているように、HEVCタイルトラックに対する'sabt'トラック参照を使用してタイル順序付けを示すものとする。
合成トラック(参照(基準)トラックとも呼ばれる)は、画像を構成するために他のトラックを参照するトラックである。合成トラックの一例は、ビデオトラックの場合、サブピクチャトラックをより大きな画像に合成(構成)するトラックである。これは、例えば、各ビデオトラックからの画像をより大きな画像に構成するための変換パラメータ及び変換パラメータを提供するビデオトラックから導出されるトラックにおいて、ポストデコーディング動作によって行うことができる。合成トラックは、サブビットストリーム連結から生じるビットストリームを復号する前に形成するために、他のビデオトラックまたはタイルトラックからNAL部を抽出する命令を提供する抽出器NAL部を有するトラックであってもよい。合成トラックは例えば、他のトラックへのトラック基準を介して、合成の指示を暗黙的に提供するトラックであってもよい。
図2aは、本発明の一実施形態による、画像(フル画像と示される)のいくつかのサブ空間部分への分割が時間とともに変化し得る第1のシナリオを示す。例えば、画像210、220、230及び240は、異なる時間的瞬間における同じフル画像を表す。例えば、時間t=N、画像210から時間t=N+M、画像220まで、パーティション格子は4つのサブピクチャ221、222、223、224の間で等しく分割され、全てのサブピクチャは同じ高さ及び幅サイズを有する。次に、時間t=N+M+1から、画像230から時間t=N+M+Zまで、画像240、各サブピクチャ221、222、223、および224のパーティショングリッドおよびサイズが変更されて、それぞれ231、232、233、および234の新しいサブピクチャが得られるが、合成ピクチャのサイズ(composition_heightおよびcomposition_widthによって示される)は同じままである。このシナリオでは、合成ピクチャはフル画像である。時間にわたる各対応するサブピクチャ(例えば、221および231)は空間特性(例えば、空間座標:左上隅(x, y)の水平位置および垂直位置、幅および高さ)が、ある時間的瞬間で変化し得るサブピクチャトラックを形成する。
図2bは、異なる時間的瞬間250、260、270、280にわたって示される画像(フル画像)のパーティショングリッド(格子)が時間とともに変化しない第2のシナリオを示す。しかしながら、反対に、G1で示されるサブピクチャの所与のグループを構成するサブピクチャのリストは、時間と共に変化する。例えば、時間t=N、画像250から時間t=N+M、画像260まで、サブピクチャG1 251、261、271、281のグループは、第1および第2の列と第2および第3の行との交点におけるサブピクチャから構成される。次に、時間t=N+M+1、画像270から時間t=N+M+Z、画像280まで、グループを構成するサブピクチャのリストは、第2および第3の列と第3および第4の行との交点におけるサブピクチャになる。この図2bにおいて、composition_ heightおよびcomposition_widthは、フル画像内のサブピクチャ合成を表す合成ピクチャG1のサイズを示す。各対応するサブピクチャは、時間とともに(例えば、第2の列及び第3の行262及び272において)、空間特性(左上隅(x, y)の水平及び垂直位置、幅及び高さ)がフル画像の範囲内で時間とともに変化しないが、サブピクチャG1のグループの範囲内で変化するサブピクチャトラックを形成する。同様に、このシナリオではサブピクチャG1のグループの空間特性(x、y、幅及び高さ)は全画像250、260、270、280の範囲内で変化してもよい。
サブピクチャおよび合成ピクチャのそれぞれのサイズは例えば、ルマ(luma)(輝度)ピクセルまたは正規化された座標で表現され得る。
第3のシナリオでは、パーティショングリッドとサブピクチャのグループを構成するサブピクチャのリストの両方が時間とともに同時に変化することもある。
本発明は、前述のシナリオのうちの1つまたは複数に対処するように考案された。
ISO/IEC 14496-12は、トラックのグループを記述するためにトラックレベル(すなわち、ISOBMFFボックス階層における‘trak’ボックス内)に位置するボックス‘trgr’を提供し、各グループは特定の特性を共有するか、またはグループ内のトラックは特定の関係を有する。このトラックグループボックスは、以下のように定義される空のコンテナである:
Figure 0007072645000001
Figure 0007072645000002
このトラックグループタイプボックスのインスタンスによって宣言される特定の特性または関係は、ボックスタイプ(track_group_type)によって示される。このボックスは、同じトラックグループに属するトラックを決定するために使用することができる識別子(track_group_id)も含む。同じtrack_group_typeおよびtrack_group_idの値を持つトラックグループタイプボックスを持つすべてのトラックは、同じトラックグループの一部である。ボックスはまた、特定のトラックグループタイプに対するトラックに関連する特定のパラメータの宣言を可能にする。例えば、MPEG OMAF規格(ISO/IEC 23090-2)は、空間合成のための特定のトラックグループを、以下に定義されるようなタイプ'spco'のTrackGroupTypeBox(トラックグループタイプボックス)として定義する。
Figure 0007072645000003
ここで、track_x、track_yは空間合成内のトラックの座標であり、track_widthおよびtrack_heightは空間合成内のトラックのルマピクセルのサイズを定義し、composition_widthおよびcomposition_heightは、空間合成全体のルマピクセルのサイズを示す。
‘spco'トラックグループにおける各トラックのサンプルはより大きな画像を生成するために、この同じグループ内の他のトラックからのサンプルで(同じ合成または復号化時間で)空間的に合成(構成)することができる。
トラックグループ化の別の例は、立体メディアコンテンツを構成するトラックのペアのシグナリングであり、例えば、以下に定義されるようなタイプ‘ster’のTrackGroupTypeBoxである。
Figure 0007072645000004
ここで、left_view_flagは、どのトラックが左(値1)ビューまたは右(値0)ビューであるかをシグナリングする。
上述のようにトラックのグループを記述することには、いくつかの欠点がある:
- プレーヤはどの既存のトラックグループがどのトラックグループであり、どのトラックがどのトラックグループに属するかを知ることができる前に、プレゼンテーションにおけるすべてのトラックに関連付けられたすべてのトラックグループボックスを解析しなければならない。これは、プレーヤが所与のグループに属するトラックのみをプレイしたい場合には最も効率的なプロセスではない。
- 同じグループに属するすべてのトラックに共通のパラメータまたはプロパティは、グループを構成するすべてのトラックの対応するトラックグループタイプボックスで繰り返されなければならない。これは、無駄なデータ冗長性を作り出す。
- トラックグループボックスは、メディアまたはプレゼンテーションファイルの最上位レベルに位置するムービーボックス(4文字コード‘moov’を有する)内のトラックレベルで定義されるので、この情報はプレゼンテーション全体に対して静的であり、所与のグループ内の所与のトラックに関連するパラメータまたはプロパティ(例えば、‘spco’トラックグループにおけるtrack_x、track_y、track_width、およびtrack_width)は、経時的に変化することができない。
第1の実施形態によれば、トラックの既存のグループのリストは、メディアまたはプレゼンテーションファイルのより高いレベルの1つの単一のロケーションにおいて宣言され、トラックのグループを構成するすべてのトラックに共通のグループパラメータまたはプロパティはすべてのトラックにおいてそれらを繰り返す代わりに、この同じ単一のロケーションにおいて宣言される。
この実施形態は、ISO/IEC 14496-12:2015 Amd2に定義されているエンティティグループ機構に依拠することができる。ファイルレベルメタボックス(‘meta’)にある空のコンテナボックス(Groups List box(‘grpl’))は、以下に定義されるEntityToGroupBoxと呼ばれるグループ記述ボックスのリストを含むことができる:
Figure 0007072645000005
ここで、box type(ボックスタイプ)(grouping_type)は、エンティティグループ(またはコンポーネントグループ)のグループ化タイプを示す。エンティティは、前述のコンポーネントと同等である。
代替処理として、この空のコンテナボックス(Groups List box(‘grpl’))は、ファイルレベルのムービーボックス(‘moov’)または、ムービーボックスが存在しない場合ファイルレベルのメタボックス(‘meta’)に定義することができる。
TrackGroupTypeBoxにおけるtrack_group_typeと同様に、各grouping_typeコードは、グループ化を記述するセマンティクスに関連付けられる。
group_idはプレゼンテーション全体の範囲内で一意の識別子であり、他のEntityToGroupBoxのgroup_id値、GroupsListBoxを含む階層レベル(ファイル、ムービー、またはトラック)の任意のitem_ID値、または任意のtrack_ID値(GroupsListBoxがファイルレベルに含まれる場合)に等しくないものとする。
num_entities_in_groupは、このエンティティグループにマッピングされるコンポーネント識別子値(すなわち、item_ID、track_ID、コンポーネント識別子のグループ(例えば、group_id、track_group_id))の数を指定する。
entity_idは、
- entity_idに等しいitem_IDを有するアイテムが、GroupsListBox含む階層レベル(ファイル、ムービーまたはトラック)に存在する場合、アイテムに対応し、
- entity_idに等しいtrack_IDを有するトラックが存在し、GroupsListBoxがファイルレベルに含まれる場合、トラックに対応し、
- 同じgrouping_typeおよびgroup_idがentity_idに等しいEntityToGroupBox、または、track_group_typeがgrouping_typeに等しくtrack_group_idがentity_idに等しいTrackGroupTypeBoxが存在し、GroupsListBoxがファイルレベルに含まれる場合、コンポーネントのグループに対応する。
したがって、EntityToGroupBox@grouping_typeがTrackGroupTypeBox@track_group_typeに等しく、EntityToGroupBox@group_idがTrackGroupTypeBox@track_group_idに等しい場合、タイプ‘spco’の特有の空間合成グループは、EntityToGroupBoxをTrackGroupTypeBoxesに関連付けることによって、2つの異なったレベルで定義される。
第1に、ムービーレベルにおいて、タイプ‘spco’(SubPictureCompositionGroupBoxと呼ばれる)の専用EntityToGroupBox が、以下のようにGroupListBoxにおいて定義される:
Figure 0007072645000006
次いで、この空間合成グループを合成(構成)するトラックのリストが、EntityToGroupBoxのentity_idのリストを使用して提供される。このグループ内のすべてのトラックに共通のプロパティは、SubPictureCompositionGroupBoxにおいて新しいSubPictureCompositionRegionBoxを定義することによって相互化され、一度定義される。
composition_widthおよびcomposition_heightは、ルマピクセル単位の合成のサイズを提供する。
第2に、トラックレベルで、タイプ'spco'(SubPictureCompositionBoxと呼ばれる)のTrackGroupTypeBoxを有するトラックグループが以下に定義されるように、同じ空間グループを構成するすべてのトラックにおいて定義される。
Figure 0007072645000007
第3に、ムービーレベルおよびトラックレベルにおけるグループ定義は、同じグループ識別子を定義することによって関連付けられる(すなわち、同じグループは、EntityToGroupBoxの場合はその対grouping_type/group_idによって、TrackGroupTypeBoxの場合はtrack_group_type/track_group_idによって定義される)。例えば、空間合成グループについて、パラメータSubPictureCompositionBox@track_group_idがSubPictureCompositionGroupBox@group_idに等しく、SubPictureCompositionBox@track_group_typeがSubPictureCompositionGroupBox@grouping_typeに等しい場合、両方の構造は同じグループに属する。
前の例の代替処理として、ムービーレベルの既存のボックス(例えば、EntityToGroupBox)をトラックレベルの既存のボックス(例えば、TrackGroupTypeBox)と組み合わせるのではなく、1つの単一の場所にコンポーネントのグループに関連するすべての情報を含む新しいEntityToGroupBoxボックス(例えば、ComponentToGroupBox)を定義することも可能である。コンポーネントのグループのセットは、高レベルボックス(例えば、ファイルレベル、ムービーレベルまたはムービーフラグメントレベルのいずれかにおける‘moov’、‘moof’、または‘meta’、または‘udta’)に配置された空のコンテナボックス(例えば、Groups List box (‘grpl’))に含まれる。ComponentToGroupBoxは、コンポーネントのグループを構成するコンポーネント(アイテム、トラック、コンポーネントのグループ)のリストと、グループのすべてのメンバによって共有されるグループに関連付けられたプロパティと、各メンバについて、コンポーネントのグループ内のこのメンバに固有のプロパティとを含む。ComponentToGroupBoxは、以下のようにクラスGroupOfComponentsとして定義することができる:
Figure 0007072645000008
ここで、groupOfComponent_typeはコンポーネントのグループを特徴付けるタイプであり、group_idは、プレゼンテーションの範囲内のグループの一意の識別子であり、num_component_in_setsはグループ内のコンポーネントの数(例えば、グループ内のトラックの数)であり、referenceToComponent()はグループに属するコンポーネントを識別する情報(例えば、コンポーネントの一意の識別子)であり、optionalComponentProperties()はグループ内のコンポーネントの任意のプロパティであり、optionalGroupOfComponentProperties()はグループのすべてのコンポーネントによって共有される任意のプロパティである。
ComponentToGroupBoxは、ISOBMFF構文(シンタックス)に従って次のように定義することもできる。
Figure 0007072645000009
Figure 0007072645000010
ここで、box type (grouping_type)は、コンポーネントのグループのグループ化のタイプを示す。
group_idおよびcomponent_idは、それぞれ、プレゼンテーション全体の範囲内のグループおよびグループに属するコンポーネントの一意の識別子である。group_idは、他のComponentToGroupBoxのgroup_id値、GroupsListBoxを含む階層レベル(ファイル、ムービー、またはトラック)のitem_ID値、またはtrack_ID値(GroupsListBoxがファイルレベルに含まれる場合)と等しくないものとする。
component_idは、
- component_idに等しいitem_IDを持つアイテムがGroupsListBoxを含む階層レベル(ファイル、ムービーまたはトラック)に存在する場合、アイテムに対応し、
- component_idに等しいtrack_IDを持つトラックが存在し、GroupsListBoxがファイルレベルに含まれる場合、トラックに対応し、
- 同じgrouping_typeおよびcomponent_idに等しいgroup_idを持つComponentToGroupBoxが存在し、GroupsListBoxがファイルレベルに含まれる場合、コンポーネントのグループに対応する。
ComponentInComponentToGroupBoxは、タイプgrouping_typeのグループについて、所与のコンポーネント(component_idによって識別される)に関連する任意の特定のパラメータを定義することを可能にする。これらの特定のパラメータの値は、identifier group_idおよびtype grouping_typeを持つ埋め込みグループのスコープに適用される。
同様に、ComponentToGroupBoxは、このグループに属するすべてのコンポーネントによって共有されるタイプgrouping_typeのグループに関連するオプションのパラメータを定義することを可能にする。
例えば、立体視映像ペア(stereoscopic video pair)を宣言するグループは、以下のように記述することができる:
Figure 0007072645000011
ここで、プロパティcomponent_is_leftは、タイプ‘ster’のコンポーネントのグループに属する各コンポーネントに関連付けられ、コンポーネントが左ビューまたは右ビューであるかどうかをシグナリングする。
別の代替では、ComponentToGroupBoxは、以下のようにISOBMFF構文に従って定義することができる:
Figure 0007072645000012
Figure 0007072645000013
ここで、
group_id は、プレゼンテーション全体のスコープ内のタイプgrouping_typeのグループの一意の識別子である。
property_containerには、タイプgrouping_typeのグループに関連付けられた共通プロパティー定義およびコンポーネント固有プロパティー定義のすべてのインスタンスが含まれる。このPropertyContainerBoxは、プロパティの暗黙的に索引付けされたリストを含む。
num_components_in_groupは、コンポーネントのこのグループに属するコンポーネントの数である。
component_idは、プレゼンテーション全体の範囲内のグループに属するコンポーネントの一意の識別子である。
association_countは、グループにおける所与のコンポーネント(component_id)に関連付けられたプロパティの数である。
essential 1に設定されることは、関連するプロパティがコンポーネントまたはグループに必須であることを示し、それ以外の場合、それは必須ではない。
property_indexは、プロパティが関連付けられていない(必須インジケータも0である)ことを示す0か、または同じComponentToGroupBoxに含まれるPropertyContainerBoxにおける関連付けられたプロパティボックスの1ベースのインデックスである。
num_common_properties_in_groupは、グループに関連付けられた共通または共有プロパティの数である。
common_property_indexは、プロパティが関連付けられていない(必須インジケータも0である)ことを示す0か、または同じComponentToGroupBoxに含まれるPropertyContainerBoxにおける関連付けられたプロパティボックスの1ベースのインデックスである。
ComponentToGroupBoxのこの代替によれば、PropertyContainerBoxおよび埋め込みプロパティは、以下のように定義される。
Figure 0007072645000014
ここで、Propertyボックスは、ComponentPropertyまたはComponentFullPropertyから派生して、ボックスを埋める。
EntityToGroupBoxとTrackGroupTypeBoxを組み合わせる規則を定義するか、またはグループ定義、共通グループプロパティ、およびコンポーネントプロパティを含む新しいグループ化ボックスComponentToGroupBoxを定義することによって、上述のように所与のグループ内で、すべてのトラックを解析する必要なしに、すべての既存のグループのリストをムービーレベルで宣言し、冗長性なしに単一の位置でトラックのグループ内で共通プロパティを相互化することが可能である。
第2の実施形態によれば、エンティティグループ機構およびトラックグループ機構は前の実施形態で説明したように組み合わされ、さらに、サンプルグループ化機構が使用されて、トラックのグループ内のトラックに関連するプロパティが時間とともに変化することを可能にする。
サンプルグループ化機構は、示されたグループ化タイプに対応する特定のプロパティがトラック内のサンプルのグループに関連付けられることを可能にする。
この機構は、2つのボックスの使用に依存する。
- サンプルグループへのサンプルの割り当てを記述するSampleToGroup box (‘sbgp’)と、
- 特定のサンプルグループ内のサンプルの共通のプロパティを記述するSampleGroupDescription box (‘sgpd’)である。SampleGroupDescription box (‘sgpd’)は、SampleGroupEntry(ビデオコンテンツのためのVisualSampleGroupEntry)のリストを含み、SampleGroupEntryの各インスタンスは、特定のサンプルグループ(その‘grouping_type’によって識別される)のために定義される共通プロパティのための異なる値を提供する。
特定のタイプのサンプルグループ化は、タイプフィールド(‘grouping_type’)を介して、1つのSampleToGroupと1つのSampleGroupDescriptionボックスとの組み合わせによって定義される。
複数のサンプルグループ化インスタンス(すなわち、SampleToGroupおよびSampleGroupDescriptionボックスのペア)が、異なるグループ化基準に基づいて存在し得る。
SampleToGroupボックスは、以下のように定義される。
Figure 0007072645000015
Figure 0007072645000016
ここで、grouping_typeは、サンプルグループのタイプ(すなわち、サンプルグループを形成するために使用される基準)を識別し、それを、グループ化タイプについて同じ値を有するそのサンプルグループ記述テーブルにリンクする。
sample_countは、このグループ内のサンプルグループエントリに関連する連続するサンプルの数を示す。
group_description_indexは、このグループ内のサンプルを記述するサンプルグループエントリのインデックスを与える。
場合によっては、サンプルグループの連続するサンプルは、いくつかの繰り返しパターン、たとえばイントラフレームIの後にN個のイントラフレームPが繰り返し続く、たとえばIPPPIPPPのようになることがある。
そのような場合、サンプルカウントとしてリストされるパターン、およびパターン繰り返しに基づいて、よりコンパクトなSampleToGroupボックスを使用することが望ましい場合がある。
したがって、よりコンパクトなSampleToGroupボックスの代替は、以下のように定義される:
Figure 0007072645000017
Figure 0007072645000018
ここで、
grouping_typeは、サンプルグループのタイプ(すなわち、サンプルグループを形成するために使用される基準)を識別し、grouping_typeと同じ値を有するサンプルグループ記述テーブルにリンクする整数である。grouping_type (および、使用される場合にはgrouping_type_parameter) に対して同じ値を持つこのボックスの最大1 つのオカレンス(出現)が、トラックに存在するものとする。
grouping_type_parameterは、グループ化のサブタイプを示す。このパラメータはオプションであり、flags & 1 = 1の場合にのみ存在する。
field_sizeは、sample_group_description_indexフィールドを符号化するために使用されるビット数を示す整数値である。値0はインデックスが7ビットでコーディングされることを意味し、値1はインデックスが15ビットでコーディングされることを意味し、値2はインデックスが23ビットでコーディングされることを意味し、値3はインデックスが31ビットでコーディングされることを意味する。
repeat_count_sizeは、repeat_countフィールドを符号化するために使用されるビット数を示す整数値である。値0は繰り返しカウントがコーディングされていない(0ビット、パターンは繰り返されない)ことを意味し、値1は繰り返しカウントが8ビットでコーディングされることを意味し、値2は繰り返しカウントが24ビットでコーディングされることを意味し、値3は繰り返しカウントが32ビットコーディングされることを意味する。
last_pattern_is_last_onlyは1に設定されたときに、パターンのリスト内の最後のパターンがtrack/trafにおける最後のK個のサンプルにのみ適用されることを示すビットフラグである(Kは、最後のパターン内で識別されたサンプルの数である)。これは、サンプルグループ化の終わりを別様に管理することを可能にする。それは、サンプルの最後のランが繰り返されるサンプルの一部ではないA、B、C、A、B、C、A、Dのようなパターンに対処する方法を提供する。last_pattern_is_last_onlyが設定されると、最後に定義されたパターンがtrack/trafの最後のサンプルをマッピングするために使用され、残りのパターン(nb_patterns - 1)は、残りのサンプルにわたるrepeat_countの値に等しい回数だけ繰り返される(0にマッピングされたサンプルを超えるか、またはその間に残っている場合、潜在的に切り捨てられる)。
repeat_countはリストされたパターンが何回繰り返されるべきかを示し、0の値は、多くとも1つのパターンの完了出現があることを示す。last_pattern_is_last_onlyが0に設定されている場合、パターンのリストはtrack/trafにおける最後のサンプルまでrepeat_countを繰り返され、繰り返されたパターンによってカバーされるサンプルより少ないサンプルがある場合、パターン繰り返しは最後のサンプルまでのみ有効であり、それ以外の場合、残りのサンプルはデフォルトのサンプルグループ記述インデックスに関連付けられるか、またはそのようなgrouping_type/grouping_type_parameterの任意のグループにマッピングされない。last_pattern_is_last_onlyが1に設定されている場合、そのリストにおける最後のエントリを除くパターンのリストはリスト内の最後のパターンによってマッピングされるtrack/trafにおける最初のサンプルまでrepeat_countを繰り返され、繰り返されるパターンによってカバーされるサンプルより少ないサンプルがある場合、パターン繰り返しはリストにおける最後のパターンによってマッピングされる最初のサンプルまでのみ有効であり、それ以外の場合、残りのサンプルはデフォルトのサンプルグループ記述インデックスに関連付けられるか、またはそのようなgrouping_type/grouping_type_parameterの任意のグループにマッピングされない。
sample_count_minus_oneは、このパターンに存在するサンプルの数から1を引いたものを示す。
is_traf_sgpdは、与えられたサンプルグループ記述インデックスが1(または0)に設定されたときにtraf(またはサンプルテーブル)内に存在するSampleGroupDescriptionBoxにおけるインデックスであることを示す。
sample_group_description_indexは、このグループ内のサンプルを記述するサンプルグループエントリのインデックスを与える整数である。インデックスは1からSampleGroupDescriptionBoxにおけるサンプルグループエントリの数までの範囲にわたり、または値0をとって、このサンプルがこのタイプのグループのメンバではないことを示す。
代替として、パラメータis_traf_sgpdが除去され、以下の規則がsample_group_description_index値に適用される。ムービーフラグメントにおけるCompactSampleToGroupBox内で、同じフラグメント内で定義されたグループのグループ記述インデックス(sample_group_description_index)は0x10001で始まり、すなわち、インデックス値1であり、値1が上位16ビットにある。それ以外の場合、0x10001未満の値の場合、グループ記述インデックスは、MovieBoxにおけるサンプルテーブルに存在するSampleGroupDescriptionBoxにおけるインデックスを参照する。これは、MovieBoxにおけるサンプルテーブルにおいて、このトラックおよびグルーピングタイプのための65536より少ないグループ定義がなければならないことを意味する。
示されたパターンはサンプルにマッピングするときに、repeat_countに等しい回数だけ繰り返される(0はパターンが1回だけ生じることを意味する)。繰り返しパターンがtrack/trafにおけるサンプル数を超える場合、それは切り捨てられる。それよりも小さい場合、残りのサンプルは、デフォルトのグループインデックスにマッピングされるか、またはマッピングされない。
このCompactSampleToGroupBoxの定義は現在、デフォルトのサンプルグループ化機構をサポート/保存している、すなわち、所与のgrouping_typeのどのサンプルグループ記述エントリにもマッピングされないサンプルは、このgrouping_typeのSampleGroupDescriptionBoxで定義されたindex default_sample_description_indexによって提供されるサンプルグループ記述エントリにマッピングされる。
この新しいCompactSampleToGroupBoxは例えば、ISO/IEC 14496-12で定義された汎用時間レベルサンプルグループ('tele')またはISO/IEC 14496-15で定義されたHEVC時間レイヤサンプルグループ(‘tscl’)を用いて、時間サブレイヤにおけるパターンをシグナリングするために有利に使用することができる。
例えば、時間レベルサンプルグループ化(‘tele’)は、所与の汎用時間レベル識別子(この場合、サンプルグループ記述インデックスを使用し、インデックス値の順序は重要度レベルを提供する)を、レベルが独立して復号可能であるか否かにかかわらず、フラグ‘level_independently_decodable’シグナリングと関連付けることを可能にする。したがって、クライアントは、その関連付けられたレベルおよびフラグに応じて、どのサンプルのセットをドロップすることができるかを知ることができる。
必要であれば、HEVC時間層サンプルグループ化(‘tscl’)は、各サンプルに所与の時間層(Temporal layerId)を割り当て、したがって、所与の時間層識別子に関連するプロパティに応じてサンプルをドロップすることができるかどうかを判定することによって、HEVC符号化のコンテキストにおいてさらに正確な情報を提供する。
第2の実施形態によれば、時間とともに変化するグループ内のトラックのプロパティは、関連するグループのgrouping_type(EntityToGroupBox@grouping_typeおよび/またはTrackGroupTypeBox@grouping_type)に等しいgrouping_typeを有するSampleGroupDescription box (‘sgpd’)におけるサンプルグループエントリとして定義される。さらに、対応するSampleToGroupボックスは同じgrouping_typeを有し、grouping_type_parameterはサンプルグループを所与のトラックグループに関連付けるために、グループ識別子(EntityToGroupBox@group_idおよび/またはTrackGroupTypeBox@track_group_id)に等しい。
トラック内で、同じパラメータがそれぞれgrouping_type_parameterに等しいgrouping_typeおよびa track_group_idを有するTrackGroupTypeBoxおよびVisualSampleGroupEntryの両方で定義される場合、VisualSampleGroupEntryのパラメータ値は、TrackGroupTypeBoxのパラメータ値に取って代わる。
例えば、図2aのシナリオに対処するために、‘spco’に等しいgrouping_typeを有する新しいサンプルグループエントリSubPictureRegionEntryは、以下のように定義される。
Figure 0007072645000019
このSubPictureRegionEntryは、EntityToGroupBox@group_id、 TrackGroupTypeBox@track_group_idおよびSampleToGroup@grouping_type_parameterが等しいSubPictureCompositionGroupBoxおよび/またはSubPictureCompositionBoxによって記述される空間合成群内のトラックによって搬送される1つまたは複数のサブピクチャの経時的に変化し得る座標(track_x, track_y)およびサイズ(track_width, track_height)を提供する。
代替として、上述のサンプルグループ化機構はコンポーネントのグループ内のコンポーネントに関連する時間パラメータに沿って変化するように、ComponentToGroupBoxと組み合わせることもできる。同様に、トラック内で、SampleToGroupボックスは同じgrouping_typeを有し、grouping_type_parameterは、サンプルグループをコンポーネントの所与のグループに関連付けるために、グループ識別子(ComponentToGroupBox@group_id)に等しい。ComponentInComponentToGroupBoxおよびVisualSampleGroupEntryの両方において、所与のトラックにおいて同じgrouping_typeを有する同じパラメータが定義され、このグループComponentInComponentToGroupBox@component_id内のコンポーネント識別子がトラック識別子track_IDに等しく、ComponentInComponentToGroupBoxがgrouping_type_parameterに等しいgroup_idを有するグループに属する場合、VisualSampleGroupEntryのパラメータ値は、ComponentInComponentToGroupBoxのパラメータ値に取って代わる。
上述のように、EntityToGroupBox、TrackGroupTypeBox、およびサンプルグループ化機構を組み合わせるための規則を定義することによって、特定のトラックグループ内のトラックに関連するいくつかのプロパティを経時的に変化させることが可能である。
図14は、以下のようにグルーピングタイプ‘srd’を定義することによって、トラックグルーピング1400とサンプルグルーピング1401および1402のみを使用して複数のトラック間の空間的関係を記述することも可能な別の代替例を示す。
‘srd ' track_grouping_typeは、このトラックがビデオの空間部分に対応するトラックのグループに属することを示す。track_group_type 'srd 'のTrackGroupTypeBox内のtrack_group_idの同じ値を有するトラックは、同じソースから発信されたものとしてマッピングされる。例えば、非常に高解像度のビデオは、複雑さの理由でサブピクチャトラックに分割されている可能性がある。次に、各サブピクチャトラックは、ソースビデオにおけるその位置及びサイズを伝達する。‘srd ‘トラックグループは、ソースビデオのサイズを伝えることができる。
SpatialRelationshipDescriptionBox (またはSpatialRelationshipTrackGroupBox 1403、名前はここでは例として)は、以下のように定義される。
Figure 0007072645000020
ここで、
total_widthは、ルマサンプル単位で、このトラックグループビデオソースによって記述される領域のピクセル単位の幅を指定する。存在する場合、total_widthの値はSpatialRelationshipDescriptionBoxのすべてのインスタンスにおいて同じであり、track_group_idの値は同じであり、sub_group_idの値は同じである。
total_heightは、ルマサンプル単位で、ビデオソースの高さを指定する。total_heightの値はSpatialRelationshipDescriptionBoxのすべてのインスタンスにおいて同じであり、track_group_idの値は同じであり、sub_group_idの値は同じである。
さらに、サンプルグループ化のための‘srd ‘ grouping_typeが、サブピクチャトラックの位置およびサイズを空間関係で宣言するために定義される。SpatialRelationshipDescriptionBoxのバージョン1が使用されているとき、SampleToGroupBoxのバージョン1は、対応する'srd ' sub_group_idを識別するgrouping_type_parameter値と共に使用される。SpatialRelationshipDescriptionBoxのバージョン0が使用されているとき、SampleToGroupBoxのバージョン0を使用することができるか、またはgrouping_type_parameterが0に設定されたバージョン1を使用することができる。
特定のVisualSampleGroupEntryが定義される。SpatialRelationshipGroupEntry( ‘srd’)は次のようになり、図14では1400として示される。
Figure 0007072645000021
ここで、object_x、 object_y、 object_width、 object_heightは、total_widthおよびtotal_heightによって定義される基準(リファレンス)内のトラックの移動座標を示す。
‘srd ‘ track groupまたはsub-groupは、それぞれ、完全なビデオソースまたは部分的なビデオソースの再構成を可能にする。再構成は次のように行われる:
1) バージョン0に対する‘srd ‘トラックグループまたはバージョン1に対するサブグループに属するすべてのトラックのうち、1つのトラックが各代替グループから選択される。
2) 選んだトラックの各々に対して、以下の規則が適用される:
a. 0からobject_width - 1の範囲内のiの各値について、および0からobject_height - 1の範囲内のjの各値について、ルマサンプル位置((i + track_x)% total_width、(j + track_y)% total_height)における合成ピクチャのルマサンプルは、ルマサンプル位置(i, j)におけるこのトラックのサブピクチャのルマサンプルに等しく設定される。
b. クロマ成分は、使用されるクロマサブサンプリングに従って、同じ方法で導出される。
同じspatail_set_idを有し、異なる代替グループに属する(すなわち、0と等しいalternate_groupの値または異なるalternate_groupの値を有する)同じ‘ srd ‘トラックグループに属するすべてのトラックのサブピクチャ矩形は重ならず、ギャップを有してはならず、ビデオソースのための上記の導出プロセスにおいて、xが0からtotal_width - 1の範囲内にあり、yが0からtotal_height - 1の範囲内にある各ルマサンプル位置(x、y)が正確に1回横断されるように、ギャップを有してはならない。
別の代替例では、SpatialRelationshipDescriptionBoxがビデオトラック間の空間的関係を表現するために、HTTP上の動的適応ストリーミング(DASH)プロトコル(ISO/IEC 23009-1 3rd edition)で定義されているように、Spatial Relationship Descriptor‘SRD’の定義に一致するように定義される。
提案された解決策は以下の表に提供されるように、ISOBMFFおよびDASH SRDレベルにおける空間関係記述間の直接マッピングを提供する:
Figure 0007072645000022
‘srd ‘ track_grouping_typeを有するTrackGroupTypeBoxは、トラックがビデオの空間部分に対応するトラックのグループに属することを示す。track_group_type 'srd 'のTrackGroupTypeBox内のsource_idの同じ値を有するトラックは、同じソースから発信されたものとしてマッピングされる。例えば、非常に高解像度のビデオは、複雑さの理由でサブピクチャトラックに分割されている可能性がある。次に、各サブピクチャトラックは、ソースビデオにおけるその位置及びサイズを伝達する。‘srd ‘トラックグループは、ソースビデオのサイズを伝えることができる。
SpatialRelationshipDescriptionBoxは、以下のように定義される。
Figure 0007072645000023
ここで、
total_widthは、ルマサンプル単位で、このトラックグループによって記述される領域のピクセル単位の幅を指定する。存在する場合、total_widthの値はSpatialRelationshipDescriptionBoxのすべてのインスタンスにおいて同じであり、track_group_id(またはsource_id)の値は同じであり、spatial_set_idの値は同じである。
total_heightは、ルマサンプル単位で、ビデオソースの高さを指定する。total_heightの値はSpatialRelationshipDescriptionBoxのすべてのインスタンスにおいて同じであり、track_group_id(またはsource_id)の値は同じであり、spatial_set_idの値は同じである。
source_idパラメータは、コンテンツのソースのための一意の識別子を提供する。それは、このソースに関連する座標系を暗黙的に定義する。同じsource_idの値を共有するすべてのトラックは、同じ原点および軸方向を有する。
spatial_set_idは、同じsource_idを持つ同じ'srd ' グループの一部であるトラックのサブセットの一意のID を指定する。この識別子の範囲は、ファイルに対してグローバルである。値0は予約されている。
前の代替と同様に、サンプルグループ化のための‘srd ‘ grouping_typeが、サブピクチャトラックに対して定義されて、それらの位置およびサイズを空間関係で宣言する。grouping_typeが'srd 'であり、grouping_type_parameterの値が対応する'srd ' track_group_idを識別する場合、SampleToGroupBoxのバージョン1が使用される。
図4は、本発明による‘srd ‘トラックグループの使用例を示す。
単一のビデオ400を記述するメディアファイルが考慮される。ソースビデオと呼ばれるこの単一のビデオ400は、2組のサブピクチャトラック401および402に分割され、符号化される。第1のセット401はソースビデオを4つのサブピクチャトラック(ID=1~4のトラック)に分割したものであり、第2のセット402は、同じソースビデオを16のサブピクチャトラック(ID=11~26のトラック)に分割したものである。2つの空間関係トラックグループ403および404はこれらの空間関係を記述し、分割レベル当たり1つのトラックグループである。各トラックグループは、どのようにトラックをソースビデオ405または406にレンダリングすることができるかについての指示を提供する。各トラックは、“Track Group”ボックス403または404に存在する情報を含む‘trgr’ボックスを含む。各トラックは、SpatialRelationshipGroup Entry 'srd '(VisualSampleGroupEntryから継承する)において、ソースビデオ400におけるその位置およびサイズ(x、y、w、h)をサンプルグループ化によって宣言する。‘srd ‘トラックグループは、空間的に関連するトラックの編成を記述する。それは、合成指示を提供しない。図4から、トラックグループパラメータの大部分(403または404)が各トラックグループ(パラメータの2/3)に複製されていることが分かる。ただし、各トラックグループは、そのtrack_group_idを介して一義的に参照することができる。図4に示す例の代替実施形態を図5に示す。
この例ではmoovレベルでトラックグループ記述と共に使用するために、2つの初期トラックグループ403および404はよりコンパクトな形式500(5/12コンパクション)で記述することができる。トラックグループ500は単一のソースビデオ400の空間分解を記述するので、track_group_idはsource_IDの値に設定される。この単一ソースビデオは、サブピクチャトラックの別個の設定に分割されるので、2つのspatial_set_idsがサブピクチャトラックのこれらの異なる設定を識別するために、この単一トラックグループにおいて定義される。
図6は、トラックグループにおける空間的関係記述のための使用の別の例を示す。
メディアファイルは、単一のビデオ600の品質に関して2つの代替バージョンを記述する。各代替案は、4つのサブピクチャトラック602および603に分割される。(ID=11~14を有する)サブピクチャトラックの第1のセットは低品質602で利用可能であり、例えば、Qp=32を有するHEVCで符号化され、ID=21~24を有するトラックである。サブピクチャトラック603の第2のセットはより高品質で利用可能であり、例えば、ID=21~24のトラックではQp=20である。品質レベル毎に1つずつ、2つのトラックグループが定義される。これにより、図4に示した前の例(2/3オーバーヘッド)と同様のトラックグループが得られる。図5の例と同様の最適化を適用することができる。
図7は、単一のビデオの異なる解像度レベル700及び701で同じソースを記述するためのトラックグループにおける空間的関係記述のための使用の別の例を示す。
各代替案は、4つのサブピクチャトラック703及び704に分割される。4K解像度レベル700はID=11~14を有する4つのトラックを含み、一方、第2の解像度レベル701は、例えばHDではID=21~24 704を有する4つのサブピクチャトラックを含む。各解像度レベルに対して、トラックグループは、空間関係記述パラメータを用いて宣言される(705及び706)。
この例では、パラメータの1/3のみが複製される。各トラックグループは、track_group_idを使用して一意に識別することができる。トラックグループ記述は図8に示すように、2つのサブセットを有するグループリストボックス内の単一のトラックグループ800を定義することによって、25%よりコンパクトにすることができる。
トラックグループは、コンテンツに関して同じビデオソースの空間分解を記述するので、track_group_idをsource_IDの値に設定することができる。
これは、グループリストボックス(Groups List box)における単一トラックグループ定義につながる。この単一ソースビデオは、サブピクチャトラック705および706の別個のセットに分割されるので、2つのspatial_set_idsがサブピクチャトラックのセットを識別するために、この単一トラックグループ800において定義される。前の例との差は、各空間設定が固有の識別子に加えて、それ自体のtotal_width及びtotal_heightを定義することである。
図9は、異なる品質レベルで符号化された単一のビデオソースを記述するメディアファイル900を示す。
最初に、ビデオは3×3のサブピクチャに分割される。中央サブピクチャは高品質で符号化され、周囲のサブピクチャはそれぞれ2つの品質レベルで符号化される。
これは、中央部分を高品質(例えば、注目領域)に保ちながら、品質の適応を可能にする。これは1つのサブピクチャトラックを有するサブピクチャトラックの2つの空間設定をもたらし、1つはID=15を有する注目領域のためのものであり、これら2つの空間設定の一部である。ID=11~19のトラックは、高品質に符号化される。ID=21~29のトラックは、低品質で符号化される。
この場合も、2つのトラックグループを定義することができ、各トラックグループは、トラックグループ識別子、ソース識別子、および空間セット識別子にソースビデオのtotal_width及びtotal_heightを加えたものを提供する。ID=15のトラックは、2つのトラックグループで共有されるトラックである。サンプルグループ化‘srd ’は、各トラックの位置およびサイズを提供するために使用されることが想起される。相互化されたトラック(ID=15)は2つの‘srd ‘トラックグループボックス‘trgr’を含み、他のトラックはトラックグループボックス上に含まれる:ID=11~14を有するトラック、および16~19はID=100を有する‘srd ‘トラックグループを含む。ID=21~24および16~29のトラックグループは、ID=200の'srd 'トラックグループを含む。この記述901および902は、図10に示すように、グループリストボックス内の単一のトラックグループ1000に最適化することができる。
図11は、単一のビデオを記述するメディアファイル1100を有する別の例を示す。このビデオは、2組のサブピクチャに分割される。
2つのトラックグループ1101および1102は、分割レベル2分解レベルに対して定義される。トラックグループ1101はソースビデオ内のサブピクチャトラックの空間関係を提供するが、トラックグループ1102はサブピクチャトラックの同じセット(ID=111を有するトラックグループ)からのこのソースビデオ1110の部分再構成1120(例えば、ID 26、27、30、および31を有するトラック)の空間関係を記述する。このトラックグループは、新しいsource_id値のような新しい起点を導入する。spatial_set_idは、グループ1101と同じサブピクチャトラックのセットを提供することを示す。ここでは、サブピクチャトラックのサブセットのみが使用される。ID 26、27、30、および31を有するトラックは両方のグループの一部であり、それらは、異なるsource_id、すなわち参照において異なる位置およびサイズを定義しなければならない。この目的のために、位置及びサイズパラメータの各組み合わせは、(1130において)track_group_idに関連付けられなければならない。上の例では、track_group_idまたはthe source_idのいずれかになる。これは、SampleToGroupBox::grouping_type_parameterで行われる。grouping_type 'srd 'のSampleToGroupBoxはトラックグループと同数定義されており、SampleGroupDescriptionBoxには、grouping_type 'srd 'のエントリもトラックグループと同数定義されている。タイプ‘srd ‘の各SampleToGroupは対応する‘sgpd’のエントリにマッピングし、所与のSampleToGroupBoxでは、grouping_type_parameterが(x, y, w, h)とトラックグループとの間のマッピングを提供する。例えば、ID=26のトラックはtrack_group_id=11のグループ内にx, y, w, hパラメータを有し、一方、track_group_id=111のグループ内にx_prime, y_prime, w_prime, h_primeを有する。
図12は‘srd ‘トラックグループの例を示し、空間関係記述パラメータはルマサンプル単位の代わりに、正規化座標で表される。
図4に示されるのと同じトラッグループグループが、source_id=2を有する新しいソースを完全にカバーする部分再構成を生成することを可能にするtrack_group_id=300を有する第3のトラックグループ1200と共にファイル内に提示される(1201および1202)。部分再構成のトラック位置は、ここでは正規化座標で表される。‘srd ’ボックスで表される‘w’及び ‘h’がobject_width及びobject_heightの画素で表されるものと同じではない。そのような場合、正規化された比率は、トラックヘッダに存在する‘w’の値とtrack_widthとの間、およびhとtrack_heightとの間の(丸められた)比率である。これらの比率は等しいものとする。グループのルマサンプルにおけるtotal_width値またはtotal_height値は、それぞれ、トラックグループ1200において宣言された正規化total_width値およびtotal_height値を比に乗算することによって導き出される図12に示す例では、部分再構成1204はまた、(2つの異なる分割レベルからの)異なる空間形状を有するが(空間サンプリングに関して)同じ空間分解能を有するトラックを組み合わせる。
図13は、track_group_id=300を有するトラックグループ1300もまた、(図12に示されるように)正規化された座標で表されることを示す。この例では、第3のトラックグループ1300が他の2つのトラックグループと同じソースを使用する。
これは、レンダリングがソースと同じ参照(同じ原点、同じ次元)で実行されることを示す。しかしながら、1に等しいpartial_reconstructionフラグ1310は、トラックグループがソースのサブパートのみを含むことを信号で知らせるために使用され、ソースは部分的にのみレンダリングされる。この追加パラメータは、メディアプレーヤのための指示である。それは、形状のテキスト記述、例えば、「矩形」、「正方形」、「三角形」などであり得る。
図4~図13に示す例では、xはobject_xに対応し、yはobject_yに対応し、wおよびhはそれぞれSpatialRelationshipGroupEntryからのobject_widthおよびobject_heightに対応する。
代替実施形態では、2つのタイプの空間的関係記述、すなわち記述的記述と処方的記述が区別される。各タイプの空間関係記述は、track_grouping_typeで使用することができる、予約された一意の4文字コードを有する。異なるtrack_grouping_typeを有することは、元のソース(記述的)または空間的構成(規定的)からの空間的関係を記述することを可能にする。この区別を行うことにより、合成が元のソースビデオとは異なるビデオをもたらす可能性があるので、source_idパラメータもはや必要とされない場合がある合成のためのより明るい空間関係記述が可能になる。
別の実施形態では、空間関係記述のためのトラックグループがspatial_set_idを含まない。この実施形態では、spatial_set_id値がtrack_group_id値と同じである。タイルベースまたは関心領域ストリーミング(例えば、DASH)のためのコンテンツを準備するとき、これらの空間的関係はストリーミングマニフェスト(例えば、SRD記述子を有するDASHメディアプレゼンテーション記述)またはセッション記述プロトコルファイルにおいて公開されることができ、spatial_set_idは、track_group_idの値に設定される。同様に、トラックプロパティが動的で、grouping_type='srd ' のサンプルグループで記述されている場合、grouping_typeパラメータはこのtrack_group_idを使用する。
別の実施形態では、SpatialRelationGroupEntryがサブピクチャトラック(w, h)のサイズを含まず、その位置(xおよびy)のみを含むことができる。この場合、トラックヘッダのトラック幅と高さを考慮する。この場合、座標は、任意の又は正規化された単位ではなく、ルマサンプル単位で表されると考えられる。
SpatialRelationshipDescriptionGroupEntryおよび‘srd ‘トラックは、‘trgr’ボックスまたは代替としてGroups List box (‘grpl’)に記述することもできる。‘srd ‘トラックグループが静的である場合、‘srd ‘トラックグループおよびSpatialRelationshipGroupEntry ‘srd ‘の両方を、それぞれ、GroupListボックスの1つのエントリ内のトラックプロパティとしてマージし得る。‘srd ‘トラックグループが動的である場合、トラックグループからのパラメータのみが、GroupList Boxにおける1つのエントリに移動され、一方、SpatialDescriptionGroupEntryはサブピクチャトラックに残る。
第3の実施形態によれば、Groups List box (‘grpl’)はfile-level Meta Box (‘meta’)に加えてfragment-level Meta Box (‘meta’)においてで定義することができ、すなわち、EntityToGroupBoxは、時間に沿ってISOBMFFフラグメントにわたって再定義することができる。
フラグメント(‘moof’ボックスの下)に定義されたEntityToGroupBoxは、以前に定義された同じgrouping_typeおよび同じgroup_idを有する任意のEntityToGroupBoxに取って代わる。また、すべてのトラックでgrouping_typeとtrack_group_idがgroup_idに等しい以前のすべてのトラックグループ定義を無効にする。
フラグメントにおいてEntityToGroupBoxを定義することによって、所与のgrouping_typeおよびgroup_idを有するトラックのグループ(共通プロパティを含む)の定義の完全なリセットに進むことが可能であり、その結果、この更新されたトラックのグループに属するトラックに関連するすべてのプロパティを、このトラックのグループを構成する各トラックについてフラグメントレベルで再定義しなければならない。
これを可能にするために、以下のようにフラグメントレベルでトラックグループ定義を許可することによってトラックグループを拡張することが提案される:
Figure 0007072645000024
Figure 0007072645000025
ここで、このボックスは、トラックフラグメントが属するトラックのグループのセットを記述するTrackGroupTypeBoxのセットを含む。
TrackGroupTypeBoxは、前述の実施形態と同様に定義される。
これは、フラグメント粒度における時間に沿ってトラックグループ内のトラックに関連するパラメータを更新するのに有用である。これは、前述のようなサンプルグループ化機構を使用して、トラックレベル(‘track’ボックス内)での静的定義とサンプルレベルでの完全な動的性との間のパラメータの中間粒度を提供する。
このTrackGroupBox (‘trgr’)がTrackFragmentBox (‘traf’)内で定義されるとき、その内容(すなわち、TrackGroupTypeBoxのセット)は前のフラグメントまたは対応するTrackBox (‘trak’)(すなわち、同じtrack_IDを有する)内のこのトラックに関連するトラックのグループのすべての指示に取って代わる。コンテナTrackGroupBox (‘trgr’)がTrackFragmentBox (‘traf’)内で空である場合、フラグメントはどのグループにも属さない。TrackGroupBox ('trgr')がTrackFragmentBox (‘traf’)において定義されていない場合、‘moov’ボックスにおけるこのトラックに関連するトラックグループ定義(すなわち、関連する‘trak’ボックス内で定義された‘trgr’ボックス)がもしあれば、適用される。
TrackFragmentBox ('traf')において定義されるTrackGroupBox (‘trgr’)は、所与のトラックフラグメントに対して有効なトラックのグループの指示を可能にする。トラックフラグメントにおけるTrack Group Box (‘trgr’)の範囲はトリックモードおよびシーク管理に対処するために、包含するトラックフラグメントに限定され、いくつかのフラグメントは、クライアントによって失われるか、または要求されない可能性がある。このような場合、クライアントは、以前のフラグメントでのみ定義された情報に依存してはならない。
これにより、トラックを時間に沿ってトラックグループに追加したり、トラックグループから削除したりすることが可能になる。
代替処理として、上記で定義したTrackGroupBox (‘trgr’)をComponentToGroupBoxと組み合わせて、トラックが属するグループのセット、および場合によっては所与のグループ内のトラックに関連するパラメータを時間に沿って変化させることもできる。同様に、TrackGroupBoxbox (‘trgr’)がTrackFragmentBox (‘traf’)において定義されるとき、その内容(すなわち、TrackGroupTypeBoxのセット)は、トラックフラグメントのtrack_IDに等しいcomponent_idを有する任意のComponentInComponentToGroupBoxによって定義されるすべての情報に取って代わる。
第4の実施形態によれば、1つまたは複数の追加のフラグを、以前に定義されたボックス、EntityToGroupBox、 TrackGroupTypeBox、 ComponentToGroupBox、およびComponentInComponentToGroupBoxのいずれか1つに定義して、グループのメンバの数および/またはグループによって共有されるプロパティ、および/またはグループ内のエンティティまたはコンポーネントに関連するプロパティが、時間に沿って静的または動的であるかどうかをシグナリングすることができる。この1つまたは複数のフラグにより、クライアントパーサはトラックフラグメントまたはサンプルグループ化ボックス(例えば、CompactSampleToGroupBoxまたはSampleToGroup、およびSampleGroupDescriptionBox)内のさらなるサブレベルトラックグループボックスを解析して、時間に沿ってすべての既存のグループおよび関連するプロパティを決定するように準備される場合、またはすべてのグループ関連情報がプレゼンテーションの開始時に静的に定義される場合に、シグナリングされることが可能になる。
例えば、EntityToGroupBoxまたはComponentToGroupBoxにおける1ビットフラグ(例えば、static_grouping_flag)は、コンポーネントまたはエンティティのグループがマルチメディアプレゼンテーション期間全体にわたって静的であることを1に設定されたとき、およびコンポーネントまたはエンティティのグループがトラックフラグメントレベルで変化し得ることを0に設定されたときに(例えば、フラグメントレベルでのトラックグループ化機構またはサンプルグループ化を使用して)、信号を送る(シグナリングする)。
別の例では、TrackGroupTypeBoxまたはComponentInComponentToGroupBoxにおける1ビットフラグ(例えば、static_properties_flag)は埋め込みボックス(それぞれ、TrackGroupTypeBoxまたはComponentInComponentToGroupBox)において定義されたプロパティがプレゼンテーションの全持続時間(ファイルレベルボックス、例えば、‘moov’、 ‘meta’ボックスにおいて定義される場合)またはフラグメントの持続時間(フラグメントレベルボックス、例えば、‘moof’、 ‘meta’または‘traf’ボックスにおいて定義される場合)の間、同じままであることを1に設定したとき、およびプロパティがフラグメントレベルでトラックグループ化またはサンプルグループ化機構のいずれかを使用して変化することができることを0に設定したときに、信号を送る(シグナリングする)。
前の例の代替処理では、2ビットフラグ(例えば、dynamic_properties_flag)を使用して、フラグメントレベルでのトラックグループ化機構またはサンプルグループ化機構のいずれか、あるいは場合によっては両方を使用して動的性が実装されるかどうかを正確にすることができる。
- dynamic_properties_flag = 0は、動的性がないことを意味する。
- dynamic_properties_flag = 1は、フラグメントレベルでのトラックのグループ化を使用した、フラグメントの粒度で動的性を意味する。
- dynamic_properties_flag = 2は、サンプルのグループ化メカニズムを使用した、サンプルの粒度での動的性を意味する。
- dynamic_properties_flag = 3は、トラックのグループ化またはサンプルのグループ化メカニズム、あるいはその両方を使用して、フラグメントとサンプルの両方の粒度での動的性を意味する。
上記のフラグを同時に使用することにより、次のように動的性の階層を定義することができる。
- EntityToGroupBoxまたはComponentToGroupBoxにおけるフラグは、それがトラックフラグメントレベルで動的性が存在するかどうかをシグナリングし得る。
- フラグメントレベルのTrackGroupTypeBoxにおけるフラグは、それが所与のトラックフラグメント内のサンプルレベルで動的性が存在するかどうかをシグナリングし得る。
代替実施形態では、上記1ビットまたは2ビットフラグの複数のインスタンスを使用して、以下の情報の動的性を別々にシグナリングすることが可能である。
- グループを構成するコンポーネントのリストが動的か静的か。
- グループに関連付けられた共通プロパティのセットが動的か静的か。
- グループ内の所与のコンポーネントに関連付けられたプロパティのセットが動的であるか静的であるか。
別の方法では、別のパラメータ(static_group_idなど)を以前に定義したボックス、EntityToGroupBox、 TrackGroupTypeBox、 ComponentToGroupBox、およびComponentInComponentToGroupBoxのいずれかで定義して、ボックスの内容が同じgrouping_typeまたはtrack_group_typeおよびgroup_idまたはtrack_group_idを持つ同じボックスの以前のインスタンスと比較して実際に変化したかどうかを通知することもできる。上記のボックスのそれぞれについて、このstatic_group_idは上記のボックスの新しいインスタンスが同じgroup_idまたはtrack_group_idおよびgrouping_typeまたはtrack_grouping_typeのペアでそれぞれ定義されるたびに増加し、ボックスは、前のインスタンスと比較して異なるプロパティまたはコンポーネントのリストを定義する。このパラメータstatic_group_idは、一種のバージョン番号を表す。ボックスの内容(すなわち、グループ化されたコンポーネントおよび/またはプロパティの設定)が以前に定義されたものと全く同じである場合、ボックスは以前のstatic_group_idパラメータ値を再使用することができる。このパラメータにより、クライアントパーサは、ボックス全体を構文解析する前に何かが変化したかどうかを知ることができる。
図3は、本発明の1つまたは複数の実施形態を実施するためのコンピューティングデバイス300の概略ブロック図である。コンピューティングデバイス300は、マイクロコンピュータ、ワークステーション、またはライトポータブル装置などの装置とすることができる。コンピューティングデバイス300は、以下に接続された通信バスを備える:
- マイクロプロセッサのような中央処理装置(CPU)301;
- 本発明の実施形態の方法の実行可能コードを記憶するためのランダムアクセスメモリ(RAM)302、ならびにマニフェストの読取りおよび書込み、ならびに/またはビデオの符号化、および/または所与のファイルフォーマットの下でのデータの読取りまたは生成のための方法を実施するために必要な変数およびパラメータを記録するように適合されたレジスタはたとえば、拡張ポートに接続された任意選択のRAMによって、そのメモリ容量を拡張することができる;
- 本発明の実施形態を実施するためのコンピュータプログラムを記憶するための読出し専用メモリ(ROM)303;
- 次に、通常、処理されるデジタルデータが送信または受信される通信ネットワークに接続されるネットワークインターフェース304。ネットワークインターフェース304は単一のネットワークインターフェースであってもよく、または異なるネットワークインターフェースの設定(例えば、有線インターフェースおよび無線インターフェース、または異なる種類の有線インターフェースまたは無線インターフェース)から構成されてもよい。データは、送信のためにネットワークインターフェースに書き込まれるか、またはCPU301で実行されるソフトウェアアプリケーションの制御下で受信のためにネットワークインターフェースから読み出される;
- ユーザからの入力を受信するため、またはユーザに情報を表示するためのユーザインターフェース(UI)305;
- ハードディスク(HD)306;
ビデオソースやディスプレイなどの外部デバイスとの間でデータを送受信するためのI/Oモジュール307。
実行可能コードは読み出し専用メモリ303、ハードディスク306、または例えばディスクのようなリムーバブルデジタル媒体のいずれかに記憶されてもよい。変形例によれば、プログラムの実行可能なコードはハードディスク306のような通信装置300の記憶手段の1つに記憶されてから実行されるために、ネットワークインターフェース304を介して、通信ネットワークの手段によって受信されることができる。
中央処理ユニット301は本発明の実施形態によるプログラムの命令またはソフトウェアコードの一部の実行を制御し、指示するように適合され、命令は、前述の記憶手段のうちの1つに記憶される。電源投入後、CPU301は、例えばプログラムROM303またはハードディスク(HD)306からソフトウェアアプリケーションに関する命令をロードした後、メインRAMメモリ302からの命令を実行することができる。このようなソフトウェアアプリケーションは、CPU301によって実行されると、先の図に示すフローチャートの各ステップを実行する。
この実施形態では、装置が本発明を実施するためにソフトウェアを使用するプログラマブル装置である。しかしながら、代替的に、本発明はハードウェア(例えば、特定用途向け集積回路(ASIC)の形態)で実施されてもよい。
以上、特定の実施形態を参照して本発明を説明したが、本発明は特定の実施形態に限定されるものではなく、本発明の範囲内にある修正は当業者には明らかであろう。
例えば、本発明はカメラ、スマートフォン、ヘッドマウントディスプレイ、または例えば関心のある特定の領域にズームインするためのTVまたはマルチメディアディスプレイのためのリモートコントローラとして機能するタブレットのような装置に組み込まれてもよい。これはまた、関心のある特定の領域を選択することによってマルチメディアプレゼンテーションの個人化されたブラウジング体験を有するために、同じデバイスから使用され得る。ユーザによるこれらの装置および方法からの別の使用は、他の接続されたデバイスと、ユーザの好ましいビデオのいくつかの選択されたサブパートを共有することである。また、監視カメラが本発明によるデータを提供する方法をサポートする場合には、監視下に置かれた建物の特定の領域で何が起こるかを監視するために、スマートフォンまたはタブレットと共に使用することもできる。
多くのさらなる修正および変形は単に例として与えられ、本発明の範囲を限定することを意図されておらず、その範囲は添付の特許請求の範囲によってのみ決定される、前述の例示的な実施形態を参照することにより、当業者に示唆されるのであろう。特に、異なる実施形態からの異なる特徴は、適宜、交換されてもよい。

Claims (32)

  1. 時限メディアデータに基づいて1つまたは複数のメディアファイルを生成する方法であって、前記時限メディアデータはサンプルを含み、前記方法は、
    前記サンプルを含む前記時限メディアデータを取得することと、
    前記取得されたサンプルの少なくとも1つの少なくとも一部を各々が含むトラックを作成することと、
    前記作成されたトラックに関連付けられた記述メタデータを生成することと、
    前記トラックおよび前記記述メタデータに基づいて、前記1つまたは複数のメディアファイルを生成することを含み、
    前記記述メタデータは、少なくとも1つのトラックグループ識別子を含み、かつ、少なくとも1つのトラックグループ識別子を使用することによって前記作成されたトラックの少なくとも1つのグループを記述する少なくとも1つのTrackGroupBoxを含み、
    前記記述メタデータは、前記作成されたトラックに対する複数のプロパティのセットをさらに含み、
    前記記述メタデータは、前記トラックグループ識別子と同じ値のグループタイプのパラメータを含むSampleToGroupBoxをさらに含み、前記グループタイプのパラメータは、前記複数のプロパティのセットに関連付けられる、方法。
  2. 前記複数のプロパティのセットの少なくとも一部は、前記記述メタデータにおけるSampleGroupDescriptionBoxに含まれる、請求項1に記載の方法。
  3. 1つのSampleGroupDescriptionBoxは、トラックごとに生成される、請求項1に記載の方法。
  4. 同じトラックグループ識別子に対応する1つまたは複数のトラックが、前記複数のプロパティのセットの中からの同じプロパティのセットに関連付けられる、請求項1に記載の方法。
  5. 前記TrackGroupBoxは、前記トラックのグループを形成するために使用される少なくとも1つの基準を記述するセマンティクスに関連付けられたグループ化タイプを示す、請求項1からのいずれか1項に記載の方法。
  6. 前記時限メディアデータは、時間サンプルの少なくとも1つがサブサンプルを含むように分割される、請求項1からのいずれか1項に記載の方法。
  7. 少なくとも1つのトラックグループは、前記グループに属する異なるトラックのサブサンプルを含む合成グループである、請求項に記載の方法。
  8. 前記TrackGroupBoxは、前記グループの識別子を示し、前記識別子は、プレゼンテーションファイルにおいて一意である、請求項1からのいずれか1項に記載の方法。
  9. 各グループの前記トラックによって共有されるトラックおよびプロパティの既存のグループのリストは、前記プレゼンテーションファイルにおけるムービーレベルで定義される、請求項に記載の方法。
  10. 少なくとも1つのトラックに対して、このトラックに固有のさらなるプロパティが、前記プレゼンテーションファイルにおけるトラックレベルで定義される、請求項に記載の方法。
  11. ムービーレベルの前記グループの定義は、同じ一意のグループ識別子によってトラックレベルにおける前記グループの定義に関連付けられる、請求項10に記載の方法。
  12. 少なくとも1つのトラックに対して、このトラックに固有のさらなるプロパティが、プレゼンテーションファイルにおける単一の場所で定義される、請求項1から11のいずれか1項に記載の方法。
  13. 前記少なくとも1つのトラックに固有のプロパティは、トラックの既存のグループのリストにおいて直接定義される、請求項11に記載の方法。
  14. 各プロパティは、異なる値をとることができ、トラックに固有の各プロパティの前記値は、時間とともに変化する、請求項1から13のいずれか1項に記載の方法。
  15. 前記トラックに固有の各プロパティの前記値は、前記トラック内の1つまたは複数のサンプルに対して定義される、請求項14に記載の方法。
  16. 前記記述メタデータは、同じトラックのグループに属する前記トラック内の前記サンプルを記述する少なくとも1つのボックスをさらに含み、前記少なくとも1つのボックスは、時間とともに前記固有のプロパティをとることができる異なる可能な値を定義する、請求項15に記載の方法。
  17. 前記少なくとも1つのボックスは、サンプルのグループを形成するために使用される少なくとも1つの基準を記述するセマンティクスに関連付けられたグループ化タイプを示す、請求項16に記載の方法。
  18. 記プロパティによって得られる前記値が繰り返しパターンに従い、少なくとも1つのボックスが、前記繰り返しパターン自体およびその繰り返しを定義する、請求項16または17に記載の方法。
  19. 各プロパティは異なる値を取ることができ、プレゼンテーションファイルは、前記トラックの少なくとも1つのグループがフラグメントレベルで定義され、トラックのグループを構成するトラックのセットが時間とともに変化するようにフラグメント化される、請求項1から18のいずれか1項に記載の方法。
  20. 前記TrackGroupBoxは、少なくとも1つのトラックのグループの定義が時間とともに変化し得るか否かを示すフラグを含む、請求項1から19のいずれか1項に記載の方法。
  21. 前記トラックの少なくとも1つのグループの定義は、前記グループのトラックによって共有されるプロパティ、各プロパティをとることができる値、および/またはグループを構成するトラックを含む、請求項20に記載の方法。
  22. 時限メディアデータに基づいて1つまたは複数のメディアファイルを処理する方法であって、前記時限メディアデータはサンプルを含み、前記方法は、
    前記サンプルの少なくとも1つの少なくとも一部を各々が含むトラックを識別することと、
    前記識別されたトラックに関連付けられた記述メタデータを識別することと、
    前記トラックおよび前記記述メタデータに基づいて、前記1つまたは複数のメディアファイルを処理することを含み、
    前記記述メタデータは、少なくとも1つのトラックグループ識別子を含み、かつ、少なくとも1つのトラックグループ識別子を使用することによって作成されたトラックの少なくとも1つのグループを記述する少なくとも1つのTrackGroupBoxを含み、
    前記記述メタデータは、前記作成されたトラックに対する複数のプロパティのセットをさらに含み、
    前記記述メタデータは、前記トラックグループ識別子と同じ値のグループタイプのパラメータを含むSampleToGroupBoxをさらに含み、前記グループタイプのパラメータは、前記複数のプロパティのセットに関連付けられる、方法。
  23. 前記複数のプロパティのセットの少なくとも一部は、前記記述メタデータにおけるSampleGroupDescriptionBoxに含まれる、請求項22に記載の方法。
  24. 各プロパティは、異なる値をとることができ、トラックに固有の各プロパティの前記値は、時間とともに変化する、請求項22または23に記載の方法。
  25. 時限メディアデータに基づいて1つまたは複数のメディアファイルを生成するための装置であって、前記時限メディアデータはサンプルを含み、前記装置は、
    前記サンプルを含む前記時限メディアデータを取得し、
    前記取得されたサンプルの少なくとも1つの少なくとも一部を各々が含むトラックを作成し、
    前記作成されたトラックに関連付けられた記述メタデータを生成し、
    前記トラックおよび前記記述メタデータに基づいて、前記1つまたは複数のメディアファイルを生成するように構成され、
    前記記述メタデータは、少なくとも1つのトラックグループ識別子を含み、かつ、少なくとも1つのトラックグループ識別子を使用することによって前記作成されたトラックの少なくとも1つのグループを記述する少なくとも1つのTrackGroupBoxを含み、
    前記記述メタデータは、前記作成されたトラックに関する複数のプロパティのセットをさらに含み、
    前記記述メタデータは、前記トラックグループ識別子と同じ値のグループタイプのパラメータを含むSampleToGroupBoxをさらに含み、前記グループタイプのパラメータは、前記複数のプロパティのセットに関連付けられる、装置。
  26. 各プロパティが異なる値をとることができ、トラックに固有の各プロパティの前記値が時間とともに変化する、請求項25に記載の装置。
  27. 各プロパティは異なる値をとることができ、プレゼンテーションファイルは、前記トラックの少なくとも1つのグループがフラグメントレベルで定義され、トラックのグループを構成するトラックのセットが時間とともに変化するようにフラグメント化される、請求項25または26に記載の装置。
  28. 前記TrackGroupBoxは、前記トラックの少なくとも1つのグループの定義が経時的に変化し得るか否かを示すフラグを含む、請求項25から27のいずれか1項に記載の装置。
  29. 時限メディアデータに基づいて1つまたは複数のメディアファイルを処理するための装置であって、前記時限メディアデータはサンプルを含み、前記装置は、
    前記サンプルの少なくとも1つの少なくとも一部を各々が含むトラックを識別し、
    前記識別されたトラックに関連付けられた記述メタデータを識別し、
    前記トラックおよび前記記述メタデータに基づいて、前記1つまたは複数のメディアファイルを処理するように構成され、
    前記記述メタデータは、少なくとも1つのトラックグループ識別子を含み、かつ、少なくとも1つのトラックグループ識別子を使用することによって作成されたトラックの少なくとも1つのグループを記述する少なくとも1つのTrackGroupBoxを含み、
    前記記述メタデータは、前記作成されたトラックに関する複数のプロパティのセットをさらに含み、
    前記記述メタデータは、前記トラックグループ識別子と同じ値のグループタイプのパラメータを含むSampleToGroupBoxをさらに含み、前記グループタイプのパラメータは、前記複数のプロパティのセットに関連付けられる、装置。
  30. 各プロパティが異なる値をとることができ、トラックに固有の各プロパティの前記値が時間とともに変化する、請求項29に記載の装置。
  31. 求項1から24のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
  32. 請求項1から24のいずれか1項に記載の方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ可読記憶媒体。
JP2020516392A 2017-10-12 2018-10-09 メディアファイルを生成する方法、メディアファイルを処理する方法、装置、プログラム、およびコンピュータ可読記憶媒体 Active JP7072645B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1716760.2A GB2567625B (en) 2017-10-12 2017-10-12 Method, device, and computer program for generating timed media data
GB1716760.2 2017-10-12
PCT/EP2018/077391 WO2019072795A1 (en) 2017-10-12 2018-10-09 METHOD, DEVICE, AND COMPUTER PROGRAM FOR GENERATING TIMED PARTITIONED MULTIMEDIA DATA

Publications (2)

Publication Number Publication Date
JP2020537376A JP2020537376A (ja) 2020-12-17
JP7072645B2 true JP7072645B2 (ja) 2022-05-20

Family

ID=60419205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020516392A Active JP7072645B2 (ja) 2017-10-12 2018-10-09 メディアファイルを生成する方法、メディアファイルを処理する方法、装置、プログラム、およびコンピュータ可読記憶媒体

Country Status (7)

Country Link
US (2) US11477542B2 (ja)
EP (2) EP3695611A1 (ja)
JP (1) JP7072645B2 (ja)
KR (1) KR102406887B1 (ja)
CN (1) CN111213384B (ja)
GB (1) GB2567625B (ja)
WO (1) WO2019072795A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102188270B1 (ko) * 2018-07-06 2020-12-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
GB2582025B (en) * 2019-03-08 2023-01-04 Canon Kk Method and apparatus for encapsulating groups of images in a file
GB2585052B (en) 2019-06-26 2023-07-26 Canon Kk Method and apparatus for encapsulating panorama images in a file
KR20220114088A (ko) * 2019-12-31 2022-08-17 노키아 테크놀로지스 오와이 비디오 인코딩 및 비디오 디코딩을 위한 방법, 장치 및 컴퓨터 프로그램 제품
GB2597642B (en) * 2020-06-16 2023-08-02 Canon Kk Method, device, and computer program for encapsulating media data into a media file
GB2596325B (en) * 2020-06-24 2023-04-19 Canon Kk Method and apparatus for encapsulating annotated region in ISOBMFF tracks
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
US11902552B2 (en) * 2020-09-17 2024-02-13 Lemon Inc. Decoder configuration record in coded video
US20220086387A1 (en) * 2020-09-17 2022-03-17 Lemon Inc. Subpicture entity groups in video coding
EP3972279A1 (en) * 2020-09-17 2022-03-23 Lemon Inc. Subpicture track referencing and processing
GB2599171A (en) * 2020-09-29 2022-03-30 Canon Kk Method and apparatus for encapsulating video data into a file
US20230319374A1 (en) * 2020-12-15 2023-10-05 Lg Electronics Inc. Method and device for creating/receiving media file containing layer information, and media file transfer method
US20240040169A1 (en) * 2020-12-21 2024-02-01 Lg Electronics Inc. Media file processing method and device therefor
WO2022148729A1 (en) * 2021-01-06 2022-07-14 Canon Kabushiki Kaisha Method and apparatus for encapsulating uncompressed images and uncompressed video data into a file
US20220345722A1 (en) 2021-04-15 2022-10-27 Lemon Inc. Level Information For Sub-Picture Tracks
WO2023194816A1 (en) * 2022-04-07 2023-10-12 Nokia Technologies Oy Method and apparatus for tracking group entry information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120185570A1 (en) 2010-07-21 2012-07-19 Nokia Corporation Method and Apparatus for Indicating Switching Points in a Streaming Session
WO2016204481A1 (ko) 2015-06-16 2016-12-22 엘지전자 주식회사 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793256B2 (en) 2008-03-26 2014-07-29 Tout Industries, Inc. Method and apparatus for selecting related content for display in conjunction with a media
RU2492585C2 (ru) * 2008-07-16 2013-09-10 Нокиа Корпорейшн Способ и устройство для группирования треков и подмножеств треков
JP5863254B2 (ja) * 2011-02-24 2016-02-16 Necパーソナルコンピュータ株式会社 変換装置、情報配信装置、通信システム、制御方法及びプログラム
KR101748779B1 (ko) 2013-01-18 2017-06-19 캐논 가부시끼가이샤 분할된 시간 설정형 미디어 데이터를 캡슐화하는 방법, 디바이스 및 컴퓨터 프로그램
GB2546027B (en) 2013-04-09 2017-12-20 Canon Kk Method, device, and computer program for encapsulating partioned timed media data
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
GB2519746B (en) * 2013-10-22 2016-12-14 Canon Kk Method, device and computer program for encapsulating scalable partitioned timed media data
EP3092772B1 (en) * 2014-01-07 2019-07-31 Nokia Technologies Oy Media encapsulating and decapsulating
GB2527786B (en) 2014-07-01 2016-10-26 Canon Kk Method, device, and computer program for encapsulating HEVC layered media data
EP3223526B1 (en) * 2014-11-20 2019-01-30 Panasonic Intellectual Property Corporation of America Transmission method, reception method, transmission device, and reception device
WO2016097482A1 (en) 2014-12-19 2016-06-23 Nokia Technologies Oy Media encapsulating and decapsulating
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
JP6992511B2 (ja) * 2016-01-13 2022-01-13 ソニーグループ株式会社 情報処理装置および情報処理方法
WO2017200322A1 (ko) * 2016-05-20 2017-11-23 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10602239B2 (en) * 2017-03-23 2020-03-24 Mediatek Inc. Method and apparatus for track composition
US11062738B2 (en) * 2017-03-23 2021-07-13 Qualcomm Incorporated Signalling of video content including sub-picture bitstreams for video coding
GB2560921B (en) 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
US10778993B2 (en) * 2017-06-23 2020-09-15 Mediatek Inc. Methods and apparatus for deriving composite tracks with track grouping
WO2019002662A1 (en) * 2017-06-26 2019-01-03 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO
US11082719B2 (en) * 2017-07-03 2021-08-03 Nokia Technologies Oy Apparatus, a method and a computer program for omnidirectional video
US11178377B2 (en) * 2017-07-12 2021-11-16 Mediatek Singapore Pte. Ltd. Methods and apparatus for spherical region presentation
CN111133763B (zh) * 2017-09-26 2022-05-10 Lg 电子株式会社 360视频***中的叠加处理方法及其设备
US10944977B2 (en) * 2018-04-03 2021-03-09 Mediatek Singapore Pte. Ltd. Methods and apparatus for encoding and decoding overlay compositions
US11146802B2 (en) * 2018-04-12 2021-10-12 Mediatek Singapore Pte. Ltd. Methods and apparatus for providing two-dimensional spatial relationships

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120185570A1 (en) 2010-07-21 2012-07-19 Nokia Corporation Method and Apparatus for Indicating Switching Points in a Streaming Session
WO2016204481A1 (ko) 2015-06-16 2016-12-22 엘지전자 주식회사 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법

Also Published As

Publication number Publication date
GB2567625A (en) 2019-04-24
US20220408166A1 (en) 2022-12-22
EP4340375A3 (en) 2024-06-12
GB2567625B (en) 2020-07-15
JP2020537376A (ja) 2020-12-17
WO2019072795A1 (en) 2019-04-18
CN111213384A (zh) 2020-05-29
KR20200051718A (ko) 2020-05-13
EP4340375A2 (en) 2024-03-20
US20200245041A1 (en) 2020-07-30
US11477542B2 (en) 2022-10-18
US11805304B2 (en) 2023-10-31
GB201716760D0 (en) 2017-11-29
CN111213384B (zh) 2022-09-23
KR102406887B1 (ko) 2022-06-10
EP3695611A1 (en) 2020-08-19

Similar Documents

Publication Publication Date Title
JP7072645B2 (ja) メディアファイルを生成する方法、メディアファイルを処理する方法、装置、プログラム、およびコンピュータ可読記憶媒体
KR102329474B1 (ko) 미디어 데이터를 생성하기 위한 방법
JP2021057899A (ja) 画像データカプセル化
CN110800311B (zh) 用于传输媒体内容的方法、装置和计算机程序
JP2021528891A (ja) メディアコンテンツを送信する方法、装置及びコンピュータプログラム
GB2564731A (en) Description of image composition with HEVC still image file format
JP2018509029A (ja) 画像データのカプセル化
WO2020109154A1 (en) Method, device, and computer program for encapsulating media data into a media file
WO2022148650A1 (en) Method, device, and computer program for encapsulating timed media content data in a single track of encapsulated media content data
GB2560649A (en) Image data encapsulation with tile support

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200518

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200414

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200414

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220510

R151 Written notification of patent or utility model registration

Ref document number: 7072645

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151