[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7383785B2 - メディアコンテンツのカプセル化を改善するための方法、デバイス、およびコンピュータプログラム - Google Patents

メディアコンテンツのカプセル化を改善するための方法、デバイス、およびコンピュータプログラム Download PDF

Info

Publication number
JP7383785B2
JP7383785B2 JP2022501361A JP2022501361A JP7383785B2 JP 7383785 B2 JP7383785 B2 JP 7383785B2 JP 2022501361 A JP2022501361 A JP 2022501361A JP 2022501361 A JP2022501361 A JP 2022501361A JP 7383785 B2 JP7383785 B2 JP 7383785B2
Authority
JP
Japan
Prior art keywords
track
spatial
tracks
sample
picture
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
JP2022501361A
Other languages
English (en)
Other versions
JP2022546910A (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 JP2022546910A publication Critical patent/JP2022546910A/ja
Application granted granted Critical
Publication of JP7383785B2 publication Critical patent/JP7383785B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • 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

Landscapes

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

Description

本発明は、カプセル化されたメディアコンテンツの部分の伝送を最適化することを可能にする、メディアデータのカプセル化および解析を改善するための方法、デバイス、およびコンピュータプログラムに関する。
本発明は、例えばMPEG標準化機構によって定義されたISOベースメディアファイルフォーマットに従ったメディアコンテンツのカプセル化、解析、およびストリーミングに関するものであり、メディアコンテンツのグループの相互交換、管理、編集、および提示を容易にする柔軟で拡張可能なフォーマットを提供し、例えば、適応型httpストリーミングプロトコルを用いてインターネットなどのIPネットワーク上でのその配信を改善する。
国際標準化機構ベースメディアファイルフォーマット(ISO BMFF、ISO/IEC 14496-12)は、ローカル記憶またはネットワークを介するかまたは別のビットストリーム配信メカニズムを介する伝送のいずれかのための符号化された、時間付き(timed)メディアデータビットストリームを記述する周知の柔軟かつ拡張可能なフォーマットである。このファイルフォーマットは、いくつかの拡張子、例えば、様々なNAL(ネットワーク抽象化レイヤ)ユニットベースのビデオ符号化フォーマットのためのカプセル化ツールを記述するPart-15、ISO/IEC 14496-15を有する。このような符号化フォーマットの例は、AVC(Advanced Video Coding)、SVC(Scalable Video Coding)、HEVC(High Efficiency Video Coding)、またはL-HEVC(Layered HEVC)である。このファイルフォーマットは、オブジェクト指向である。それは、逐次的または階層的に編成され、タイミングおよび構造パラメータなどの符号化された、時間付きメディアデータビットストリームの記述パラメータを定義する、ボックスと呼ばれる構築ブロック(または、それぞれが4文字コードによって識別されるデータ構造)から構成される。ファイルフォーマットでは、時間にわたる全体的なプレゼンテーションはムービーと呼ばれる。ムービーは、メディアまたはプレゼンテーションファイルの最上位にムービーボックス(4文字コード’moov’)で記述される。このムービーボックスは、プレゼンテーションを記述する様々なボックスのセットを含む初期化情報コンテナを表す。これは論理的にトラックボックス(4文字コード’trak’)で表されるトラックに分割される。各トラック(トラック識別子(track_ID)によって一意に識別される)は、プレゼンテーション(例えば、ビデオのフレーム)に関連するメディアデータの時間付きシーケンスを表す。各トラック内で、データのそれぞれの時間付き単位はサンプルと呼ばれ、これは、ビデオ、オーディオ、または時間付きメタデータのフレームの場合がある。サンプルは、暗黙のうちに順番に番号付けされる。実際のサンプルデータは、ムービーボックスと同じレベルのMedia Data Boxes(4文字コード’mdat’)と呼ばれるボックスにある。ムービーはまた、断片化されてもよく、すなわち、全体のプレゼンテーションのための情報を含むムービーボックスとして時間的に編成されてもよく、その後に、ムービー断片とMedia Data Boxの対のリストが続く。ムービーフラグメント(4文字コード’moof’のボックス)内には、ムービーフラグメントごとに0個以上のトラックフラグメントのセット(4文字コード’traf’のボックス)がある。トラックフラグメントは次に、0個以上のトラックランボックス(’trun’)を含み、各トラックランボックスは、そのトラックフラグメントに対するサンプルの連続したランを文書化する。
ISOBMFFでカプセル化されたメディアデータは、HTTPでの適応型ストリーミングに使用できる。たとえば、MPEG DASH(”Dynamic Adaptive Streaming over HTTP”の場合)やSmooth Streamingは、メディアファイルのセグメントまたはフラグメントベースの配信を可能にするHTTP適応型ストリーミングプロトコルである。MPEG DASH標準化(”ISO/IEC 23009-1、Dynamic adaptive streaming over HTTP(DASH)、Part1:Media presentation description and segment formats”を参照)は、メディアプレゼンテーションのコンテンツのコンパクトな記述と、HTTPアドレスと、の間のリンクを確立することを可能にする。通常、この関連付けは、マニフェストファイルまたは記述ファイルと呼ばれるファイルで記述される。DASHの文脈では、このマニフェストファイルは、MPDファイル(Media Presentation Descriptionのための)とも呼ばれるファイルである。クライアントデバイスがMPDファイルを取得すると、メディアコンテンツのそれぞれ符号化され且つ配信可能なバージョンの記述をクライアントが簡単に判別できる。マニフェストファイルを読み取るか解析することにより、クライアントは、メディアプレゼンテーションで提案されたメディアコンテンツ構成要素の種類を認識し、関連するメディアコンテンツ構成要素をダウンロードするためのHTTPアドレスを認識する。したがって、どのメディアコンテンツ構成要素を(HTTP要求を介して)ダウンロードし、再生する(メディアデータセグメントの受信後に復号して再生する)かを決定できる。DASHは、いくつかのタイプのセグメント、主に初期化セグメント、メディアセグメント、またはインデックスセグメントを定義する。初期化セグメントは、典型的には、ISOBMFFメディアファイルの少なくとも’ftyp’ボックスと’moov’ボックスである、メディアコンテンツを記述する設定情報とメタデータを含む。メディアセグメントは、メディアデータを含む。例えば、ISOBMFFファイルの1つ以上の’moof’と’mdat’ボックス、またはISOBMFFファイルの’mdat’ボックスのバイト範囲についてあり得る。メディアセグメントは、(1つ以上の完全な’moof’と’mdat’ボックスにも対応する)サブセグメントにさらに細分することができる。DASHマニフェストは、ストリーミングクライアントがHTTP要求を介してこれらのセグメントをアドレス指定するためのセグメントへのバイト範囲を含むファイルへのセグメントURLまたはベースURLを提供する場合がある。バイト範囲情報は、インデックスセグメントによって、またはSegment Index Box’sidx’またはSubSegment Index Box’ssix’などの特定のISOBMFFボックスによって提供され得る。
図1は、メディアデータをサーバからクライアントにストリーミングする例を示している。
図示されるように、サーバ100は、ネットワークインターフェース(図示せず)を介して、クライアント120のカプセル化解除モジュール115にも接続される通信ネットワーク110に、ネットワークインターフェース(図示せず)を介して接続されるカプセル化モジュール105を備える。
サーバ100は、ストリーミング又は記憶のために、データ、例えば、ビデオ及び/又はオーディオデータを処理する。そのために、サーバ100は例えば、ソースビデオと呼ばれる1つ以上のカメラによるシーンの記録を含むデータを取得または受信する。ソースビデオは、ピクチャ125のオリジナルシーケンスとしてサーバによって受信される。サーバは、表されていないメディアエンコーダ(例えば、ビデオエンコーダ)を使用して、ピクチャのシーケンスをメディアデータ(すなわち、ビットストリーム)に符号化し、カプセル化モジュール105を使用して、メディアデータを1つ以上のメディアファイルまたはメディアセグメント130にカプセル化する。カプセル化モジュール105は、メディアデータをカプセル化するためのライタまたはパッケージャのうちの少なくとも1つを備える。メディアエンコーダは、受信データを符号化するためにカプセル化モジュール105内に実装されてもよく、またはカプセル化モジュール105とは別個であってもよい。
クライアント120は、例えばメディアファイル130を処理するために、通信ネットワーク110から受信されたデータを処理するために使用される。受信されたデータがカプセル化解除モジュール115(パーサとも知られる)でカプセル化解除された後、メディアデータビットストリームに対応するカプセル化解除されたデータ(または解析されたデータ)は復号され、例えば、記憶、表示または出力され得るオーディオおよび/またはビデオデータを形成する。メディアデコーダは、カプセル化解除モジュール115内に実装されてもよく、またはカプセル化解除モジュール115から分離されてもよい。メディアデコーダは、1つ以上のビデオビットストリームを並列に復号するように構成されてもよい。
メディアファイル130は、カプセル化解除モジュール115に異なる方法で通信されてもよいことに留意されたい。具体的には、カプセル化モジュール105がメディア記述(例えば、DASH MPD)でメディアファイル130を生成し、クライアント120から要求を受信すると、それをカプセル化解除モジュール115に直接通信(またはストリーム)することができる。
例示のために、メディアファイル130は、メディアデータ(例えば、符号化されたオーディオまたはビデオ)を、ISO Base Media File Format(ISOBMFF、ISO/IEC 14496-12およびISO/IEC 14496-15規格)に従ってボックスにカプセル化することができる。このような場合、メディアファイル130は、1つ以上のメディアファイル(FileTypeBox’ftyp’によって示される)または1つ以上のセグメントファイル(SegmentTypeBox’styp’によって示される)に対応することができる。ISOBMFFによれば、メディアファイル130は、メディアデータを含む’mdat’として識別される”メディアデータボックス”と、メディアデータの配置とタイミングを定義するメタデータを含む”メタデータボックス”(例えば’moof’)の2種類のボックスを含むことができる。好ましい実施形態では、ピクチャ125のシーケンスが、Versatile Video Codec仕様ISO/IEC23090-3に従って符号化または圧縮される。
これらのメカニズムに基づく解決策は、それらの有効性を証明しているが、そのようなメカニズムを改善すること、特に、新しい用途および新しいデバイスへのそれらの適応性を向上させることが絶えず必要とされている。
本発明は、前述の問題のうちの1つ以上に対処するように考案された。
本発明の第1の態様によれば、サーバ内の分割されたビデオデータ(または分割された時間付きメディアデータ)をカプセル化する方法であって、前記分割されたビデオデータは複数のフレーム(または時間付きの複数のサンプル)を含み、各フレームは複数のパーティション(または複数のサブサンプル)を含み、前記フレームは複数のグループにグループ化され、
複数の空間トラックを取得することと、各空間トラックは最初のフレームの少なくとも1つのパーティションと、前記最初のフレームとは異なる複数のフレームの各フレームの1つの対応するパーティションとを含み、前記対応するパーティションの各々は前記最初のフレームの前記少なくとも1つのパーティションとそれ自体のフレームの同じ空間位置に位置し、
前記空間トラックの少なくともいくつかを参照するベーストラックを作成することと、前記ベーストラックは複数の再構成命令を含み、前記複数の再構成命令の各々はフレームのグループに関連付けられ、前記複数の再構成命令の各々はフレームの同じグループに属する空間トラックのパーティションからビットストリームの部分を生成することを可能にし、
前記複数のトラックの各々を少なくとも1つのメディアファイルにカプセル化することと、
を含む方法が提供される。
したがって、本発明の方法は、例えば再構成ルールを提供するために、トラック参照の動的変更を可能にする何らかの柔軟性をもたらしながら、メタデータ部分に記述される(すなわち、ビデオデータと混合されない)低い記述オーバヘッドを使用することを可能にする。
いくつかの実施形態によれば、再構成命令の各々は、空間トラック参照の順序付けられたリストに対応する。
いくつかの実施形態によれば、再構成命令は、ベーストラックのメタデータ部分に属する。
いくつかの実施形態によれば、方法は、複数の空間トラックを生成することをさらに含む。
いくつかの実施形態によれば、前記複数の空間トラックを生成することは、
前記複数のフレームのうちの1つの複数のパーティションの中からパーティションを選択することと、
前記選択されたパーティションごとに、前記選択されたパーティションを含む1つの空間トラックと、前記選択されたパーティションとそれ自体のフレームの同じ空間位置に配置する対応するパーティションと、を生成することと
を含む。
いくつかの実施形態によれば、方法は、フレーム内のパーティションのレイアウトを決定することをさらに含む。
いくつかの実施形態によれば、方法は、カプセル化レイアウトを決定することをさらに含み、複数の空間トラックは、カプセル化レイアウトの機能として生成される。
本発明の第2の態様によれば、カプセル化されたパーティション化されたビデオデータから、クライアントデバイスにおいてビットストリームを生成するための方法であって、前記パーティション化されたビデオデータは複数のフレームを含み、各フレームは複数のパーティションを含み、前記複数のフレームは複数のグループにグループ化され、
少なくとも1つのベーストラックと複数の空間トラックとを含む少なくとも1つのメディアファイルを取得することと、
各空間トラックは最初のフレームの少なくとも1つのパーティションと前記最初のフレームとは異なる前記複数のフレームの各フレームの1つの対応するパーティションとを含み、前記対応する複数のパーティションの各々は前記最初のフレームの前記少なくとも1つのパーティションとそれ自体のフレームの同じ空間位置に位置し、
前記ベーストラックは前記複数の空間トラックの少なくともいくつかを参照し、前記ベーストラックは複数の再構成命令を含み、前記複数の再構成命令の各々はフレームのグループに関連付けられており、前記複数の再構成命令の各々はフレームの同じグループに属する空間トラックのパーティションからビットストリームの部分を生成することを可能にし、
前記複数のフレームのグループの各々について、前記複数のフレームのグループの各々に関連付けられている複数の再構成命令に従ってビットストリームの部分を生成することと、
を含む、方法が提供される。
したがって、本発明の方法は、例えば、再構成ルールを提供するために、トラック参照の動的変更を可能にする何らかの柔軟性をもたらしながら、メタデータ部分に記述される(すなわち、ビデオデータと混合されない)低い記述オーバヘッドを使用することを可能にする。
いくつかの実施形態によれば、方法は、空間トラックからメディアデータを取得することと、取得されたメディアデータを、再構成命令によって定義された順序に従って連結することと、をさらに含む。
いくつかの実施形態によれば、方法は、メタデータを取得することと、取得されたメタデータをメディアデータと連結することと、をさらに含む。
いくつかの実施形態によれば、メタデータはベーストラックから、または追加のトラックから取得される。
いくつかの実施形態によれば、再構成命令は、空間トラックへの参照の順序付けられたリストを含む。
いくつかの実施形態によれば、フレームのグループに関連付けられた再構成命令は、別のフレームのグループに関連付けられた再構成命令を修正することを可能にする。
いくつかの実施形態によれば、ビットストリームの部分は、MPEG Versatile Video Coding規格に準拠する。
本発明の他の態様によれば、上述の方法の各ステップを実行するように構成された処理ユニットを備えるデバイスが提供される。このデバイスは、上述の方法によって提供されるものと同様の利点を提供する。
本発明による方法の少なくとも一部は、コンピュータで実施することができる。したがって、本発明は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書ではすべて一般に”回路”、”モジュール”、または”システム”と呼ばれることがあるソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形態をとることができる。さらに、本発明は、媒体に具現化されたコンピュータ使用可能プログラムコードを有する任意の有形の表現媒体に具現化されたコンピュータプログラム製品の形成をとることができる。
本発明はソフトウェアで実施することができるので、本発明は、任意の適切なキャリア媒体上のプログラマブル装置に提供するためのコンピュータ可読コードとして実施することができる。有形キャリア媒体は、フロッピーディスク、CD-ROM、ハードディスクドライブ、磁気テープデバイスまたはソリッドステートメモリデバイスなどの記憶媒体を含むことができる。過渡搬送媒体は、電気信号、電子信号、光信号、音響信号、磁気信号、または電磁信号、例えばマイクロ波またはRF信号などの信号を含むことができる。
ここで、本発明の実施形態を、単なる例として、以下の図面を参照して説明する:
図1は、サーバからクライアントにメディアデータをストリーミングする例を示す。 図2は、本発明のいくつかの実施形態による、サーバにおいて実行されるカプセル化プロセスのステップの例を示す。 図3は、本発明のいくつかの実施形態による、クライアントデバイスにおいて実行される解析プロセスのステップの例を示す。 図4は、再構成命令を提供するサンプルグループを使用する例を示す。 図5は、再構成命令を提供するサンプルグループを使用する別の例を示し、フルビデオは、ベーストラック、いくつかの空間トラック、およびいくつかのパラメータセットトラックから再構成され得る。 図6は、再構成命令を提供するサンプルグループを使用する別の例を示し、再構成命令は、空間スワッピングを可能にする。 図7は、再構成命令を提供するサンプルグループを使用する別の例を示し、再構成命令は、ピクチャ組合せを可能にする。 図8は、オリジナルの順序とは異なる順序で再構成を可能にする再構成命令を提供するサンプルグループを使用する別の例を示す。 図9は、本発明の少なくとも1つの実施形態を実施するように構成された処理デバイスを概略的に示す。
いくつかの実施形態によれば、本発明は異なる再構成命令を、区分された時間付きメディアデータの時間付きサンプルの異なるグループ、例えば、ピクチャの異なるグループに関連付けることを可能にし、その結果、時間付きサンプルの部分を、メディアデータをコーディングする異なるトラックから再構成することができる。
特に、本発明のいくつかの実施形態は、HTTPを介した適応型ストリーミングのために、符号化されたビデオのスライス、タイル、またはサブピクチャを利用し、(例えば、利用可能な帯域幅およびクライアント処理能力の観点から)クライアントがビデオの空間部分を選択および構成して、クライアントコンテキストを与えられたビデオを取得およびレンダリングする可能性を与える。これは、関連付けられた実際のデータ(またはペイロード)とは無関係に、選択したメタデータにアクセスする可能性をクライアントに与えることによって得られる。
例示のために、本明細書で以下に説明する多くの実施形態は、MPEG Versatile Video Coding(VVC)規格またはその拡張に基づいている。しかしながら、本発明の実施形態は、他の符号化規格にも適用される。
VVC規格に従って、ビデオビットストリームは、圧縮ビデオへの空間的アクセスを可能にするスライス、タイル、および/またはサブピクチャなどのパーティションを使用して符号化されてもよいことに留意されたい。このようなパーティションは、スライスのメディアデータであるビデオコーディングレイヤ(VCL)NALUと呼ばれる圧縮ビデオデータ、またはパラメータセットまたはピクチャヘッダである非VCL NALUと呼ばれる記述パラメータのいずれかに対応するネットワーク抽象化レイヤ(NAL)ユニット(NALU)としてアクセス可能である。
ここで、タイルは、ピクチャにおける特定のタイル列および特定のタイル行内のコーディングツリーユニット(CTU)の矩形領域として定義され、スライスは単一のNALユニットに排他的に含まれるピクチャのタイル内の整数個の完了タイル又は整数個の連続した完了CTU行として定義され、サブピクチャはピクチャ内の1つ以上のスライスの矩形領域として定義されることを想起されたい。
パーティション(タイルまたはサブピクチャの存在)が何であれ、VVC規格は、デコーダに提供されるべきNALU順序に関する制約を指定する。
このようなNALU順序に対処するために、ISO/IEC 14496パート12および15に従うカプセル化およびパッケージングレイヤは、メディアデータを含む1つ以上のトラックからトラックを再構成するためのツールを提供する。タイルトラックのセットからフルピクチャを再構成するためのメカニズムは、パート15に見出すことができる。それらは、エクストラクタまたは暗黙の再構成を使用する。抽出部を使用する場合、再構成ルールはサンプルベースで提供される。これにより、記述のオーバヘッド、サンプルあたり数バイト、が発生する。さらに、これらの命令は、圧縮されたビデオに対応するデータと混合された特定のNALユニットであるため、解析プロセスを複雑にする。暗黙の再構成を使用する場合、トラック参照は、トラックのすべてのサンプルに適用するべきトラックレベルでの再構成順序を示す特定のタイプを有するトラック関係を提供することができる。
本発明のいくつかの実施形態は、例えば再構成ルールを提供するために、トラック参照の動的変更を可能にする何らかの柔軟性をもたらしながら、メタデータ部分に記述される(すなわち、ビデオデータと混合されない)低い記述オーバヘッドを使用することを可能にする。これは、圧縮ビデオにおける追跡されるオブジェクト(又は動的注目領域(ROI))の抽出のような新しいユースケースを可能にする。このような実施形態は、以下を可能にする一般的なツールと見なすことができる:
-フルビデオの再構成;
-考慮される圧縮ビデオからの1つ以上の部分(または領域)の抽出であって、空間位置がビデオ内で変化し得る抽出;
-圧縮されたさまざまなビデオの構成;
-圧縮されたビデオの空間的再配置;
-ライブビデオの取り扱い
図2は、本発明のいくつかの実施形態による、サーバ、例えば図1のサーバ100で実行されるカプセル化プロセスのステップの例を示す。
図示のように、ステップは2つのフェーズ、空間トラックを準備するための第1のフェーズ200と、クライアントが空間トラックからVVC規格(または任意の他の所定のフォーマット)に準拠するビットストリームを生成することを可能にするベーストラックを生成するための第2のフェーズ205と、にグループ化することができる。
図示された例によれば、第1のフェーズの第1のステップ(ステップ210)は例えば、圧縮されたビデオビットストリームとしてビデオデータを取得することに関する。このようなビットストリームは、ローカル記憶媒体から読み取ることも、通信ネットワークを介して受信することもできる。それは、完全に利用可能であってもよく、またはオンザフライで生成されてもよい。ビットストリームは、図2自体のステップを実行するサーバによって生成されてもよいし、別のデバイスで生成されてもよい。いくつかの実施形態では、取得されたビットストリームがVersatile Video Codec仕様に準拠する。
次に、カプセル化モジュールが得られたビットストリームから最初のNALユニット(NALU)を読み出し、読み出したNALUが圧縮ビデオデータを含むNALUか否か、すなわちビデオコーディングレイヤNALU(またはVCL NALU)であるか否かを判定するテストが実行される(ステップ215および220)。通常、ビットストリームにおける最初のNALUは、パラメータセット(例えば、デプスパラメータセット(DPS)、ビデオパラメータセット(VPS)、またはシーケンスパラメータセット(SPS))に対応する非VCL NALUである場合がある。
読み出したNALUが非VCL NALUである場合、サーバのメモリに格納される(ステップ225)。次に、非VCL NALUのタイプに応じて、カプセル化モジュールは、ピクチャパーティショニング情報を探すためにNALUをさらに検査することができる(ステップ230)。例えば、サブピクチャの位置及びサイズ並びにコーディング制約を提供するサブピクチャレイアウトの宣言をチェックするためにSPSを検査してもよい。また、PPSにおいて、タイルの存在をチェックし、存在する場合にはそれらの位置をチェックすることもできる。PPSから、スライス位置を提供するPPSの部分を解析することもできる。ピクチャヘッダに対応するパラメータセット等の他の非VCL NALUは、後で使用するために格納される。
ステップ230で実行された非VCL NALU解析の結果として、カプセル化モジュールは、VCL NALUストレージの粒度、すなわち、符号化されたピクチャの空間レイアウトを決定する。実際、ビットストリームにおいて符号化されたピクチャは、1つ以上のスライス、1つ以上のタイル、及び/又は1つ以上のサブピクチャを含むことができる。異なるパラメータセットを検査し、カプセル化コンフィギュレーションパラメータに従って(カプセル化モジュール内でハードコーディングされるか、またはユーザによって指定されてもよく、例えば、グラフィカルユーザインターフェースを介してまたはコマンドラインまたはスクリプトによって)、カプセル化モジュールは、ストレージ粒度、例えば、スライス、タイル、またはサブピクチャの機能として編成されたストレージを決定する。いくつかの実施形態によれば、1つ以上の空間トラックは、ストレージ粒度の機能として定義され(ステップ235)、各空間トラックは例えば、1つ以上のスライス、タイル、またはサブピクチャに対応する。空間トラックについては、以下でより詳細に説明する。
非VCL NALUを処理した後、別のNALUを読み出すべきかどうかを決定するためのテストが実行される(ステップ240)。別のNALUが読み出される場合、カプセル化モジュールはそれを読み取り、ステップ215にループしてそのタイプを読み取り、それに応じて処理される。
読み取られたNALUがVCL NALU(ステップ220)、例えばスライスを定義するNALUである場合、カプセル化モジュールは、スライスアドレスを解析して(ステップ245)、圧縮されたビデオのピクチャ内のスライスの位置を決定する。この情報は、スライスヘッダから取得できる。非VCL NALUが、サブピクチャが存在することを示す場合、スライスヘッダはサブピクチャ識別子を提供する。このパラメータは、ステップ245の間にカプセル化モジュールによって読み取ることもできる。スライスアドレスを決定することにより、カプセル化モジュールは、ステップ235で準備された空間トラックの1つにスライスをマッピングすることができる(ステップ250)。
次に、現在のVCL NALUのスライスヘッダとスライスペイロード(すなわち、ビットストリーム内のslice_data)が読み取られ、後で対応する空間トラックのデータ部分にサンプルとして格納されるようにバッファされる。実際、空間レイアウトを決定した後(ステップ230)、および空間トラックのリストを構築するとき(ステップ235)、カプセル化モジュールは、各空間トラックの空間位置を決定された空間レイアウトにメモリに格納する。次に、カプセル化モジュールは、ステップ245で決定された読み出されたスライスアドレスから、それをステップ255で適切な空間トラックに割り当てるようにピクチャ全体におけるスライスの位置を決定しなければならない。適切な空間トラックのサンプル記述は、サンプルサイズ情報、ファイルのデータ部分におけるサンプル位置、復号時間、オプションで合成時間で更新される。メディアデータがセグメントまたはフラグメントにカプセル化される場合、情報のこれらのアイテムは、’trun’ボックスに格納されてもよい。それ以外の場合は、サンプル記述の専用ボックス(サブボックス)に格納される(例えば、SampleTableBox ’stbl’)。
カプセル化モジュールが、フェーズ205に対応するトラックまたはサンプル記述をフラッシュすることを決定する(ステップ240)まで、ステップ215~255が繰り返される。この決定は新しいピクチャの開始(例えば、カプセル化モジュールがピクチャヘッダに対応する非VCL NALUを識別するとき)、またはセグメンテーションまたはフラグメンテーションルール(例えば、フラグメントまたはセグメント持続時間に達する)に対応し得る。フラグメントまたはセグメント継続時間は、ユーザによって、ユーザインタフェース、コマンドラインまたはスクリプトを介して、あるいはカプセル化モジュールのために事前に定義された設定によって、設定されてもよい1つのカプセル化設定である。
カプセル化モジュールは、記述のいくつかの部分をフラッシュすることを決定すると、エントリポイントを1つ以上の特定のトラックとして準備する。エントリポイントは、表示の候補となるトラックである場合がある。これは、トラックヘッダボックス、例えば、track_in_movieフラグにフラグ値を設定することで示される場合がある。最初のエントリポイントは、フルビデオの再構成を可能にするトラックとすることができる。別のエントリポイントは、フルビデオの空間エリア又は領域のみを再構成することを可能にする抽出トラックであってもよい。別のエントリポイントは、異なるビデオからの部分の合成を提供するトラックであってもよい。
エントリポイントの目的が何であれ、対応するトラックはベーストラックと呼ばれる。「ベース」は、単に例の名前であることを理解されたい。合成トラック、抽出トラックなどの別の名前を使用することができる。このようなベーストラックの特性を以下に詳述する。
このようなエントリポイントは、表示可能なトラックのリストとして、初期化ステップで決定および宣言され、それぞれに対応する「trak」ボックスが付いている。
図示されるように、カプセル化モジュールは、収集された制御フラグから、またはステップ225~235の間に取得されたエンコーダ知識から、独立して復号され得るVCL NALユニットを有する空間トラックの可能な空間またはセットを決定する(ステップ260)。例えば、独立したサブピクチャを記述する空間トラックは、独立して復号可能なトラックであると仮定される。同様に、タイルまたはタイルのセットを格納する空間トラックであって、それらが動きが制約されていることを示す補足強化情報(SEI)、は独立して復号可能なトラックであると仮定される。さらに一例として、空間トラックがすべてイントラ符号化されたスライスを格納する場合、カプセル化モジュールは、この空間トラックを独立して復号可能であると見なすことができる。
ビットストリームから(例えば、パラメータセットまたはSEIから)、または帯域外情報から、スライス、タイル、またはサブピクチャ間の依存関係を判定し、ステップ260中に使用して、互いに結合されたときに独立して復号可能なビットストリームにつながる空間トラックのセットを収集することができる。
次に、ステップ260で得られた空間トラックのリストから、カプセル化モジュールは、各ベーストラックについての情報および参照を提供する(ステップ265)。より正確には、それは各ベーストラックに対して、収集された空間トラックの数と、ベーストラック記述におけるこれらの空間トラックへの参照とを提供する。これは、例えば、再構成命令を記述するサンプルグループにおいて行うことができる。このようなサンプルグループの使用は、本明細書中以下に記載される。カプセル化モジュールは、ベーストラックから空間トラック以外の他のトラック、例えばパラメータセットを含むトラックへの依存関係を提供することができる。別の例は、1つのレイヤまたはサブレイヤに対応し、別のベーストラックに依存して、レイヤまたはサブレイヤのセットを再構成するベーストラックを対象とする。これらの依存関係は、トラック参照ボックスで宣言できる。
次に、エントリポイントの種類に応じて、収集された空間トラックに存在するVCL NALユニットが任意のVVCデコーダ(または使用される所定のフォーマットに対応するデコーダ)によって復号可能なビットストリームをもたらすように、いくつかのパラメータセットを生成する必要がある場合がある。例示のために、エントリポイントが選択されたROIに対応する場合、ピクチャサイズ、ならびにプロファイルおよびレベル情報が提供され得る。その後、パラメータセットのいくつかの部分はカプセル化モジュールによって書き換えられるか、または最初のものから再使用されるが、VCL NALユニットは書き換えられない。
次に、(符号化されたVCL NALに対応する)ベーストラックのサンプルグループに、参照された空間トラックのリストが書き込まれる(ステップ270)。参照のこのリストは、各サンプルについて、これらの空間トラックの各々のVCL NALユニットの連結が使用される符号化フォーマット(例えば、VVC、HEVC、AVCなど)に準拠するビットストリームを生成することを保証する順序で空間トラックを提供する。
次に、ビットストリームの終わりに達したかどうかをチェックするためのテストが実行される(ステップ275)。ビットストリームの終わりに達していない場合、次のNALUが読み出され(ステップ215)、そのタイプに応じて(ステップ220で決定される)、ステップ225~235またはステップ245~255に従って処理される。ビットストリームの終わりに達すると、プロセスが停止し、生成されたファイルがクライアントデバイスからアクセスできるようにパブリッシュされる場合がある。
図3は、本発明のいくつかの実施形態による、クライアントデバイスにおいて実行される解析プロセスのステップの例を示す。
図示されるように、クライアントデバイス(以下、クライアント)のパーサにおいて実行される最初のステップは、カプセル化されたファイルを取得することである(ステップ305)。このファイルは、ローカルストレージメディアから読み取ることもできるし、通信ネットワークを介してリモートサーバから取得することもできる。それは、ダウンロードされてもよいし、ストリーミングされてもよい。カプセル化されたファイルは、ファイル、フラグメント化されたファイル、またはセグメントファイルとして取得できる。
高レベルのメタデータから、例えばトラック宣言から、パーサは再生に使用されるいくつかのトラックを識別する。これは’moov’ボックスの下にあるトラックヘッダボックスのフラグの値を読むことで行える。パーサは、これらのトラックのうち1つ以上を選択し(ステップ310)、適切なデコーダを初期化し(ステップ315)、例えば、パーサは、符号化フォーマットの機能として選択されたビデオトラックのためにビデオデコーダを初期化する。これは、得られたカプセル化ファイルから、選択された1つ以上のトラックのサンプル記述内のデコーダコンフィギュレーション情報を読み取ることによって行うことができる(ステップ320)。
次に、さらにサンプル記述を読み取るために、パーサは、再構成情報を提供するサンプルグループを検出することができる(ステップ325)。このような情報項目は、解析するデータが異なるトラックからのものであり、デコーダに提供される前に特定の順序でデータを連結する必要がある可能性があることをパーサに通知する。サンプルグループの記述からの再構成命令を使用して、パーサは、参照される各トラックから指定された順序でNALユニットを読み取る。次に、これらのNALユニットは連結され(ステップ330)、レンダリングまたは表示のために対応するピクチャを再構成するためにそれらを使用するデコーダに提供される(ステップ335)。
例えば、他のトラックに対する依存関係を有するVVCトラックからのサンプルは、以下のように再構成されてもよい。まず、出力サンプルが空に初期化される。次に、関連するサンプルエントリからのパラメータセットが出力サンプルに挿入され、サンプルからのデータが出力ビットストリームに挿入される。参照されたトラックの各々について、そして参照の順序で、参照されたトラックが空間トラックである場合、同じ復号時間をもつ参照されたトラック内のサンプルがフェッチされ、そのデータが出力ビットストリーム内に挿入される。その復号時間についてサンプルがない場合、例えば、参照されたトラックがその復号時間において空のサンプルを有する場合、データは挿入されない。参照されたトラックが非VCL NALUのみを記述し且つ格納するトラックである場合、同じ復号時間を持つ参照されたトラック内のサンプル、または復号時間内にサンプルの直前の’同期’サンプルとしてマークされたサンプルがフェッチされ、そのデータが出力ビットストリームに挿入される。
図示されるように(ステップ340)、このプロセスは、カプセル化されたファイルの最後のサンプルに到達するまで繰り返される。
期待される順序で記述された再構成命令を持つことにより、特定のNALユニットが(例えば、Extractorsを使用して)そのような命令を提供する場合よりも、パーサにとって解析と再構成が容易になる。
空間トラック
いくつかの実施形態によれば、特にVVCに関するいくつかの実施形態によれば、空間トラックはビデオフレームの空間部分の時間付きシーケンスを表す、すなわち、空間トラックは、主にVCL NALUを含む。空間トラックは、異なる符号化ピクチャ内の同じ空間領域に対応するVCL NALユニットを含むトラックである。空間トラックは、それ自体で再生されなくてもよい。空間トラックがそれ自体で再生できない場合、例えばトラックヘッダボックスに適切なフラグを設定することで、カプセル化されたファイル内で、「隠されている」か、再生の候補ではないと記述され、track_in_movieフラグは設定されない。
空間トラックに関連付けられている空間領域は、カプセル化のために選択されたアクセス粒度(上述したように、ハードコーディングされてもよく、またはユーザによって定義されてもよい)に応じて、スライス、スライスのグループ(またはセット)、タイル、タイルのグループ(またはセット)、サブピクチャ、またはサブピクチャのグループ(またはセット)に対応してもよい。
空間トラックは、独立して復号可能でなくてもよい。例えば、アクセス粒度がサブピクチャレベルである場合、カプセル化モジュールは、SPSを検査することによって、サブピクチャのための符号化制約を提供することで、制御フラグを見つけることができる。これらの制御フラグは、サブピクチャの独立した符号化機能を明示的に示す単一のフラグであってもよいし、存在する、あるいは存在しない符号化制約の種類に関する情報を提供するフラグのセットであってもよい。別の例として、アクセス粒度がタイルまたはタイルのグループに対応する場合、特にサーバ自体によって実行される場合、エンコーダに関する知識は、独立して復号可能な基準を決定するのに役立つ。例えば、サーバは各タイル又はタイルのグループが自己完結型で、即ち、符号化されたピクチャ内の同じ位置にないタイル又はタイルのグループへの依存関係を持たないように、動き予測に対する制約を有するビデオを符号化することができる。
空間トラックは、’trak’ボックスおよびそのサブボックスで記述することができる。トラックとサンプル記述は、カプセル化モジュールによって生成され、所与の時間における空間領域のデータをファイルのデータ部分から容易に検索できるようにする。
いくつかの実施形態によれば、空間トラックのサンプルは、所与の空間領域に対応するソースビデオのデータを含む。空間トラックは、アクセスの粒度に応じて、異なるサンプルエントリタイプを有しても良い。例えば、サンプルエントリタイプ’vvsl’(または予約された4文字コード)は、空間トラックが1つ以上のスライスの時間付きシーケンスを表すことを示すために使用されてもよく、サンプルエントリタイプ’vvtl’(または予約された4文字コード)は、空間トラックが1つ以上のタイルの時間付きシーケンスを表すことを示すために使用されてもよく、サンプルエントリタイプ’vvsp’(または予約された4文字コード)は、1つ以上のサブピクチャの時間付きシーケンスを示すために使用されてもよい。
別の例として、サンプルエントリタイプ’vvcS’または’vvcs’(またはこの目的のために予約され、既存のものと競合しない別の4文字コード)は、トラックが空間トラックであるが、アクセス粒度(スライス、タイル、またはサブピクチャ)を提供しないのみであることを示している。例えば、’vvcS’または’vvcs’サンプルエントリは、VCL NALユニットを格納するためにのみ使用されるVVCトラックを識別し、スライス、タイル、またはサブピクチャの矩形領域を形成する。それが空間トラックであることを示すサンプルエントリを有するトラック(例えば、アクセス粒度の表示を伴う又は伴わない上述の例の1つ)は、このサンプルエントリタイプがこのトラックに対する唯一のサンプルエントリである。換言すれば、空間トラックは、ピクチャ領域のサンプルのような異なる種類のサンプルをフルビデオのサンプルとミックスすること、または所与のピクチャ領域からのサンプルを別のピクチャ領域のサンプルとミックスすることができない。別段の指示がない限り、ビデオサンプルエントリの他の子ボックス(クリーンアパーチャ、ピクセルアスペクト比など)は’vvcS’サンプルエントリ内に存在すべきではなく、パーサによって無視されるべきであり、これらの情報は、ベーストラック内で定義される。
VVC空間トラック内のサンプルは、それが含む全てのVCL NALUがイントラ符号化スライスのみである場合に、同期(’sync’)サンプルとしてマークされてもよい。ビットストリームでランダムアクセスポイントとして示されたピクチャのサブサンプルに対応する場合、’sync’サンプルとしてマークされてもよい。例えば、カプセル化モジュールは、同じピクチャに対応するVCL NALUのNALUタイプ、またはランダムアクセスポイント上で通知する非VCL NALU内の任意の指示を読み取ることによって、ピクチャがランダムアクセスポイントであるかどうかを判定することができる。VVC空間トラックのサンプルに対する合成時間オフセット情報は存在してはならず、この情報はベーストラックに提供される。これは、表示できないトラックには役に立たない。空間トラックのサンプルに対するサンプル依存関係タイプボックスおよびサンプル依存関係フラグは、空間トラック内のサンプル記述がフルVVCサンプルを記述しないので、存在しないはずであり、したがって、すべての依存関係情報はここでは関連せず、好ましくはベーストラックに格納される。VVC空間トラックのサンプルに対するサブサンプル情報は存在してもよく、存在する場合、それらはVVCサンプルエントリタイプに対するサブサンプルの定義に従う。空間トラックのサンプルエントリは、このコンフィギュレーションレコードが適用されるこのトラックのサンプルに対して、少なくともNALUnitLengthフィールドのバイト単位の長さを提供するコンフィギュレーション情報を提供する。この最小限のコンフィギュレーション情報は、次のように記述でき、
Figure 0007383785000001
VVC空間トラックのVVCサンプルエントリに以下のように埋め込まれる。
Figure 0007383785000002
ここで、lengthSizeMinusOne + 1は、このコンフィギュレーションレコードが適用されるストリーム内のVVCビデオサンプルのNALUnitLengthフィールドのバイト単位の長さを示す。たとえば、1バイトのサイズは0の値で示される。このフィールドの値は、それぞれ1、2、または4バイトで符号化された長さに対応する0、1、または3のうちの1である。
有利には、データを空間トラックに分割することは、空間部分が各フレームに対してインターリーブされる場合よりも簡単な方法で時間に沿って空間部分へのアクセスを提供する。実際、これにより、メディアプレーヤはファイルがストリーミングされるときに、複数のバイト範囲または複数の要求を持つ1つの要求ではなく、1バイト範囲を持つ1つの要求で、所与の空間領域の時間セグメントを要求できる。
空間トラックは例えば、ビデオ圧縮がライブで行われるときに、断片化又はセグメント化されてもよい。
空間トラックはフルビデオについての指示、例えば、ソース識別子を提供するトラック記述またはサンプル記述でカプセル化されてもよく、ソース識別子はこのフルビデオから来ており、オプションとして、このフルビデオにおけるその位置である。いくつかの実施形態によれば、同じソース識別子を共有する空間トラックは、同じソースビデオから来るものと見なされる。追加の識別子が、NALUが来るオリジナルのビットストリームをさらに示すために、空間トラックの記述の中に書かれることがある。これは、異なるビットストリームからのピクチャ領域がマージされるユースケースや、ピクチャ領域がスワップされるユースケース、例えば、品質をローカルに変更する、に役立つ場合がある。このような追加の識別子のために、この追加の識別子に対して同じ値を有するすべてのトラックは、同じビットストリームからのNALUを記述すると考えられる。これは、ビットストリームごとに1つのグループであるエンティティグループのリストを提供するgroupListBoxとして記述される。ビットストリーム識別子の変形は、専用のグループ化タイプを有するトラックグループボックスを使用するか、空間トラックがマルチソースプレゼンテーションに属することを示す’msrc’グループ化タイプを再利用することによって、トラックのグループを定義することで構成される。マルチソースは、同じビットストリームを表す複数の空間トラックであり、次に同じソースビデオであることを示す。
ベーストラック
いくつかの実施形態によれば、ベーストラックは、カプセル化されたファイル内のエントリポイントを定義する。たとえば、ベーストラックは、対応するトラックヘッダボックスにtrack_in_movieフラグを設定することで、ベーストラックとしてシグナリングされる。ベーストラックは、特定のサンプルエントリタイプ、例えば’vvs1’を有する。ベーストラックは、そのサンプルにおいて直接的に、または他のトラックへの参照によって、非VCL NALUを提供する。ベーストラックはオペレーションポイント、すなわち、圧縮されたビデオの抽出された部分、またはフルビデオ、またはビデオの組合せに対応する圧縮されたビデオのバージョンに対応する適合ビットストリームを構築するための再構成命令を提供する。
サンプルエントリタイプが’vvs1’(またはVVCベーストラックサンプル記述のための専用4文字コード)である場合、このサンプルエントリが適用されるストリームは、暗黙の再構成の後、このサンプルエントリのVVCConfigurationBoxで与えられるコンフィギュレーション(プロファイル、階層、およびレベルを含む)の下で動作するVVCデコーダによって見られるような準拠VVCストリームである。VVCConfigurationBoxは、デコーダコンフィギュレーションの情報を提供するボックスである(VvcDecoderConfigurationRecordと呼ばれるメタデータ構造で記述されている)。サンプルエントリ名が’vvs1’の場合、VvcDecoderConfigurationRecordのarray_completenessのデフォルト値はすべてのアレイで0であり、示されたタイプの追加のNALユニットがストリームに存在する可能性があることを示す。これにより、ビデオシーケンスに沿ってパラメータセットを更新できる。特定の’vvs1’サンプルエントリタイプの使用は、トラックタイプのコーデックパラメータを介した早期のシグナリングを可能にすることである。変形はまた、このトラックについて宣言されたトラック参照を検査することによって、いくつかの特定のトラック参照タイプ(例えば、暗黙の再構成または空間VVCトラックへの依存関係を示すトラック参照タイプ)の存在または非存在を検査することによって、トラックタイプを導出することであり得る。
いくつかの実施形態によれば、ベーストラックは、いかなるVCL NALUも記憶しない。その代わりに、それは、トラックレベル及び/又はそのサンプル記述において、メディアデータを得ることができる空間トラックへの参照を提供する。これは、他のVVCトラックへの依存関係を示すタイプ’vvcd’のトラック参照タイプとして表現することができる。これは表示可能なトラックにわたってVCL NALUを複製することを回避し、すなわち、VCL NALUはファイル内の単一の場所に格納され(空間トラックによって記述され)、圧縮ビデオのバージョンを再構成するために1つ以上のベーストラックによって参照され得る。再構成は、矩形のビデオにつながるはずである。
さらに、いくつかの実施形態によれば、ベーストラックは、存在する場合のトラック参照に加えて、参照されるトラックのリストに加えて、それらのNALUのための連結順序として、再構成命令(または再構成ルール)または他のトラックへの依存関係を提供する1つまたはいくつかのサンプルグループを含んでもよい。トラック参照は、デフォルトの依存関係または、1つ以上のサンプルグループを介して一部のサンプルに対してオーバーライドできる再構成ルールを提供する。どのサンプルグループにもマッピングされていないサンプルは、トラック参照で与えられたデフォルトの再構築ルールに従うか、ベーストラックのトラック参照で宣言されたものと同じ依存関係を有する。サンプルグループ内の連結順序は、このサンプルグループ内にマッピングされるサンプルの考慮されるグループのためのピクチャ(またはピクチャの部分)を再構成することを可能にする。例えば、サンプルグループは、暗黙的な再構成情報のgrouping_type’irif’を有する。ここでの4文字コードは単なる一例であり、1つ以上のサンプルに対する動的な(トラックの全てのサンプルに対する静的なものとは反対に)トラック参照を記述するサンプルグループに対する任意の予約された4文字コードを使用することができる。より汎用的なサンプルグループは、動的なトラック参照用のgrouping_type’dtrf’を有する。’vvs1’サンプルエントリを有するサンプルまたはベーストラックのサンプルは、’vvcd’のgrouping_type_parameterとサンプルグループ化タイプ’dtrf’を用いて、トラック全体ではなく、サンプルベースのグループのトラック依存関係のリストを提供できる。’vvs1’に等しいサンプルエントリタイプを有する任意のサンプルについて、トラック依存関係または再構成命令は’vvcN’または’vvcS’に等しい、すなわちVVC空間トラックからの、関連するサンプルエントリタイプを有するサンプルを指し示すだけである。このようなサンプルグループの特性を以下に詳述する。
好ましくは、ベーストラックは独立して復号可能である。ベーストラックは、それが参照する空間トラックと同じ基準で、断片化またはセグメント化することができる。ベーストラック内のサンプルは、すべての参照トラックが同じ復号時間でランダムアクセスサンプルも含むとき、ランダムアクセスサンプルとしてマークすることができる。前者では、メカニズムが時間に沿ったいくつかのトラック参照の起動/非アクティブ化、または過負荷メカニズムとして見ることができる。ベーストラックは再構成のために使用することができるトラックの潜在的な最大リストで初期化することができ、または、例えばトラック参照ボックスに依存することができる。このトラックのリストまたはトラック間の順序は、動的トラック参照のためにサンプルグループ内のいくつかのサンプルについて更新され得る。事前宣言は、たとえばトラック参照ボックスで、パーサの初期化(メモリ割り当て、検査するトラックの数)で再構築を処理するのに役立つ場合がある。
暗黙的再構成または動的トラック参照のためのサンプルグループの指定
1つ以上のサンプルのトラック参照のセットをオーバーライドするために使用されるサンプルグループは、たとえば動的暗黙的再構成を記述するために、特定のgrouping_type、たとえば、動的トラック参照の場合は’dtrf’、暗黙的再構成情報の場合は’irif’を有する(名前と関連する4文字コードは単なる例である)。この特定のタイプのサンプルグループは、このグループ化タイプ値を持つSampleGroupDescriptionBoxと、オプションでこの同じグループ化タイプ値を持つSampleToGroupBoxで構成される。SampleGroupDescriptionBoxは、たとえば、特定の4文字コード’irif’で識別されるImplicitReconInfoGroupEntryと呼ばれる、1つ以上の特定のVisualSampleGroupEntryを含む。
定義は以下の通りである:
Figure 0007383785000003
ここで、ref_countは、このサンプルグループを含むトラックのサンプルの再構成に関係する空間トラックの数を示し、
ここで、references[ref_count]は、VCL NALUを取得する空間トラックを識別するためのトラック参照ボックスからのインデックスのリストである。ref_countが0に設定されている場合、これは、このグループのサンプルは、たとえばトラック参照ボックスでデフォルトで与えられるデフォルトの再構成ルールに従わない、ことを意味する。0に設定されたref_countパラメータは、ベーストラック内の空のサンプルをもたらすことができる。参照パラメータは、使用中のビデオ符号化フォーマット(例えば、VVC、HEVC、AVCなど)に準拠するNALU順序につながる再構成順序を与える。’irif’サンプルグループは、時間と共に変化し得る再構成命令を記述することを可能にする。それは1つ以上のサンプル、すなわち、サンプルのグループについての再定義を可能にし、暗黙の再構成はトラック参照ボックスにおいて宣言され得る。また、NALUファイルフォーマットの現在の暗黙的再構成ルールがシーケンス全体のルールを定義するのに対し、フラグメントベースまたはセグメントベースで再構成ルールを定義することも可能である。参照パラメータは互いに代替として宣言された、単一のトラックだけでなく、トラックのグループを示すこともあることに留意されたい(例えば、トラック参照ボックス内のエントリが、代替トラックを示すグループ化タイプ、例えば’alte’トラックグループタイプを有するトラックグループ識別子を指しているとき)。
動的トラック参照のためのサンプルグループの別の定義は、以下のものである。
Figure 0007383785000004
ここで、ref_countは、サンプルグループエントリ内の参照の数を示し、ref_flagsは、この参照のフラグのセットを示す。その意味は、オーバーロードするトラック参照タイプに依存し、ref_indexは、SampleToGroupボックスのgrouping_type_parameterで与えられた、所与のトラック参照タイプの、このトラックのトラック参照ボックス内の参照のインデックスを示す。このサンプルグループは、特定のトラック参照タイプをオーバーライドすることを可能にするという意味で、前のサンプルグループの一般化である。上書きするトラック参照タイプは、サンプルのグループへのマッピングを提供するSampleToGroupBox’sbgp’のgrouping_type_parameterに示されるものとする。適用する新しい参照は、grouping_typeが’dtrf’に設定されたSampleGroupDescriptionBoxのエントリの所与のタイプのトラック参照ボックスのインデックスとして与えられる。ref_flagsの使用の一例は、vvcd_tref_temporal_adjustという名前のフラグ値(0x01)であり、これは、所与の参照が再構成中にサンプル復号時間調整を必要とする異なる時間分解能を有するトラックへのものであることを示す。このフラグがセットされている場合、参照されているトラックにサンプルが見つからない場合、再構成は次のように変更される。復号時間内の直前のサンプルがフェッチされ、そのデータが出力ビットストリームに挿入される。これにより、低フレームレートトラックからサンプルを複製することにより、低フレームレートトラックから高フレームレートトラックを再構成することができる。
例えば、VVCベーストラックがトラック参照タイプ’vvcd’を使用して、VVC空間トラックまたは非VCLトラックへの依存関係を宣言する場合、’dtrf’に等しいグループ化タイプを有するグループボックスへのサンプルのグループ化タイプパラメータは、’vvcd’に設定される。これは、サンプルグループがこのグループにマッピングされるサンプルのグループのトラック参照に与えられた依存関係または再構成ルールをオーバーライドすることを意味する。この同じメカニズムは、HEVCタイルトラックに対する’sabt’暗黙的再構成に適用することができる。HEVCタイルベースは、HEVCタイルトラックから再構成するための’sabt’トラック参照を宣言し、grouping_type_parameterを’sabt’に設定した’dtrf’サンプルグループは、一部のサンプルまたはサンプルのグループについて時間に沿って再構成を変更できる。トラック参照のオーバーライドの別の例として、コーディング依存性があり、たとえば、トラック参照タイプ’scal’で示される。1つ以上の他のトラックへの依存関係を有するトラックでは、このトラック内のいくつかのサンプルが、これらの他のトラック内のサンプルから独立していてもよい。’scal’トラック参照をオーバーライドするサンプルグループは、grouping_type=’dtrf’およびgrouping_type_parameter=’scal’を有するサンプルグループ内でこれらのサンプルを宣言することによって、これらのサンプルをシグナリングすることができる。ゼロに等しい参照カウントは、対応するサンプルグループ記述エントリが、他のトラックのサンプルからの依存関係がないことを示すことである。この例では、参照カウントがゼロに等しくない場合、サンプルオフセットの追加パラメータは、references[]パラメータにリストされている依存トラックの1つで特定のサンプルへの依存関係を示すのに役立つことがある。
トラック参照タイプ’vvcd’は動的またはオーバーライド可能なトラック参照として定義されているが、既存のトラック参照タイプは定義されていない。一部のトラック参照がカプセル化されたファイルで上書きされる可能性があることを示すために、専用ブランドが定義されている。このブランドがGeneralTypeBoxから継承するftyp、ttyp、stypボックス、または任意のボックスに存在する場合、パーサは、このブランドをメジャーブランドとして有するファイル、トラック、またはセグメントを無視するか、またはこのパーサが動的トラック参照をサポートしない場合、互換性のあるブランドのそのリストにあると決定することができる。パーサが動的トラック参照をサポートしている場合、オーバーライドされたトラック参照を有するトラックを表示するように選択できる。
変形として、動的トラック参照または暗黙的再構成のためのサンプルグループの前の例では、参照パラメータはtrack_IDのリストを直接提供してもよい。これにより、解析時にトラック参照ボックスを介した間接参照が回避される。別の変形では、参照パラメータは、トラックidまたはトラックグループidまたはエンティティidのリストを提供する。
別の変形では、暗黙的再構成のためのサンプルグループは、時間付きではない調整された方法での暗黙的再構成のための追加パラメータを含む。追加パラメータは、サンプルグループ内で宣言された各参照に対して、リファレンストラック内でコピーするためのサンプルへのサンプルオフセットを提供する。暗黙的再構成のサンプルグループに適用される新しいサンプルグループエントリは、次のようになる。時間付きではない調整された再構成
Figure 0007383785000005
の’irif’のサンプルオフセットテーブルを再び使用する。
別の変形では、サンプルオフセットパラメータが全ての参照トラックに適用される。次に、参照トラックから時間調整されたサンプルをシフトすることによって、ベーストラック内に1つのサンプルを構築するために使用することができる。
Figure 0007383785000006
参照を動的に追跡するため、または動的暗黙的再構成のためのサンプルグループのさらに別の変形では、参照カウントおよびreference_listパラメータが、記述コストをさらに低減するために可変ビット数で符号化される。ファイルを生成するときのビット数は、カプセル化されたファイルの’moov’ボックスで宣言されたトラック数のlog2としてカプセル化モジュールによって決定される。パーサは、カプセル化されたファイルを処理するときに、カプセル化されたファイルの’moov’ボックスで宣言されたトラック数を調べることによって、使用中のビット数も決定する。
図4は、再構成命令を提供するサンプルグループの使用の例を示す。
例示のために、符号化されカプセル化されるビデオシーケンス400は、405-1~405-nで参照されるフレームまたはピクチャ(または時間付きサンプル)のセットを含む。ピクチャは、グループにグループ化されてもよい(グループのピクチャが連続していてもよいし、連続していなくてもよいことに留意されたい)。例えば、ピクチャ405-1~405-kは、グループG1に属してもよく、ピクチャ405-k+1~405-nはグループG2に属してもよい。
符号化中、各ピクチャは、空間サブセット(またはサブサンプル)と呼ばれる矩形領域に分割される。空間サブセットまたはサブサンプルは、VVC空間サンプルとしてカプセル化され得る。VVC空間サンプルは、対応するサンプルエントリタイプによって示されるように、VVC空間トラックに記述されるサンプルである。VVC空間サンプルは、所与の復号時間における空間サブセットに対応するVCL NALUを含む。例えば、VVCでは、空間サブセットがスライス(又はスライスのセット)、タイル(又はタイルのセット)、又はサブピクチャ(又はサブピクチャのセット)とすることができる。空間サブセットは、1つ以上のNALユニットに対応することができる。空間サブセットは、独立して符号化されてもよく、または他の空間サブセットに対する時間依存関係を有してもよい。例えば、各ピクチャは、410-1~410-pで参照されるp個の空間サブセット(pは整数)に分割されてもよい。
上述のように、空間トラックは、ピクチャ領域に対応するサンプル(すなわち、サブサンプルまたはVVC空間サンプル)を記述するために使用され得る。ピクチャ領域は、ピクチャ分割から生じる1つ以上の空間サブセットを含む符号化ピクチャの矩形エリアである(例えば、ピクチャ領域は、空間サブセット410-1および410-2を含むことができる)。ビデオシーケンスのフレームに沿った同じピクチャ領域は、空間トラック内のサンプルとしてカプセル化される。フレーム内の各ピクチャ領域には、空間トラック内のサンプルが対応する。例えば、図示された例における空間サブセット410-1及び410-2に対応するピクチャ領域は、空間トラック415-1にカプセル化される。同様に、空間サブセット410-jに対応するピクチャ領域は、空間トラック415-2にカプセル化することができ、以下同様である。
したがって、ピクチャG1またはG2のグループは図示されるように、サンプルのグループとしてカプセル化された空間トラック内に見つけることができる。
ベーストラック内に格納された再構成命令を使用して、空間トラックを使用してビットストリームを再構成することができる。例えば、ベーストラック420を使用して、1つ、いくつか、またはすべての空間トラック415-1~415-rに格納されているメディアデータからビットストリームを再構成することができる。言い換えれば、ベーストラック420は、425-1および425-2で参照される再構成命令(RI)を提供するベーストラックであり、関心のあると考えられるピクチャ領域に対応するビデオを再構成することを可能にする。例示のために、結果として得られるビットストリームは、ピクチャグループG1については空間トラック415-1および415-2からのメディアデータを使用し、ピクチャグループG2については空間トラック415-2および415-3からのメディアデータを使用して再構成される。これは、動的ピクチャ領域の再構成、すなわち、ソースビデオ内の移動エリアを追跡する適合するVVCビットストリームの再構成を可能にする。
再構成命令を提供する他のベーストラックを定義することができる。特に、特定のベーストラックが、フルピクチャを再構成するために定義されてもよい。このような場合、ベーストラックは、全ての空間トラックを参照する。
ベーストラックおよび必要とされる空間トラック(すなわち、トラック420およびトラック415-1~415-rのうちの1つ以上)を含むトラックのセットは、パーサによって処理されるとき、グループG1に対応するNALユニットおよびグループG2に対応するNALユニットを含むビットストリーム430などのビットストリームにつながる。より正確には、ピクチャのグループG1に対応するNALユニットは、再構成命令425-1によって参照されるトラック(すなわち、空間サブセット410-1、410-2、および410-jに対応する空間トラック415-1および415-2)からのサンプルの連結から生じる、435-1で参照される連結されたNALユニットを含む。同様に、ピクチャのグループG2に対応するNALユニットは、再構成命令425-2によって参照されるトラックからのサンプルの連結から生じる、435-2で参照される連結されたNALユニットを含む。
サンプルのこれらのグループは、カプセル化されたファイルのメタデータ部分において宣言される。それらは、サンプルグループ化メカニズム、例えば、SampleGroupDescriptionBox、およびオプションでSampleToGroupBoxを使用して記述することができる。
カプセル化モジュールは、空間トラックが常にソースビデオの同じ空間エリアを記述するように、換言すれば、それが同じピクチャ領域を記述するように、空間サブセットがビデオシーケンスに沿って一貫性を保つことを確実にしなければならない。例えば、ビットストリームのPPS変化がタイル構成を変更する場合、結果として生じる空間サブセットが、ソースビデオの同じ位置及びサイズに対応する1つ以上のスライス、タイル、又はサブピクチャを含むようになる。タイル構成がタイル内のタイル行またはタイル列、あるいはその両方の挿入で構成されている場合、この追加のタイル行または列またはその両方は、初期タイルを含む空間サブセットの一部と見なされる(挿入前の空間サブセットには1つのタイルが含まれ、挿入後に2つのタイルが含まれるか、タイル行とタイル列の挿入の場合はその両方が含まれる)。SPS変更およびサブピクチャについても同様である。
図5は、再構成命令を提供するサンプルグループを使用する別の例を示し、ここで、フルビデオは、ベーストラック、いくつかの空間トラック、および1つまたはいくつかのパラメータセットトラックから再構成され得る。
図示されるように、符号化されカプセル化されるべきビデオシーケンス500は、フレーム又はピクチャのセットを含む。この例によれば、ピクチャは、4つの空間サブセット(4つの異なるパターンで表される)に分割される。各空間サブセットは、505-1~505-4で参照される空間トラックのうちの1つにカプセル化される。
ベーストラック510-1は、フルビデオのフル再構成のための再構成命令を提供する。いくつかの実施形態によれば、ベーストラック510-1はメタデータのみを含み、ベーストラックのサンプルは空であるため、対応するペイロードデータは空である(空のサンプルは、破線を有する長方形、例えば535で参照される長方形を使用して表される)。実際、再構成中に、再構成されたサンプルは、520で参照される暗黙的再構成ルールで参照される異なるトラックのセットから非VCLおよびVCL NALUを収集する。図示された例によれば、暗黙ルール520は、まず、DPS、VPS、SPSまたはPPSのようなかなり静的ないくつかのパラメータセット、またはビデオシーケンスまたはピクチャのグループのための構文要素を提供する任意の構文構造を提供する、515-1で参照されるトラックを参照する。ベーストラック510-1はまた、例えばピクチャヘッダまたは適応パラメータセット(APS)、あるいはその両方、あるいは所与のピクチャのための構文要素を提供する任意の構文構造のような、時間に沿って変化する非VCL NALUを提供する515-2(順序に関してトラック515-1の後)で参照されるトラックを参照する。
そのようなカプセル化編成は、ビデオシーケンス500のピクチャ分割によって定義されるサブセットのためのデータを相互化(mutualizing)することを可能にする。この相互化(mutualization)は、ファイルが少なくとも2つのベーストラックを含む場合に有用である。例えば、フル再構成のために宣言されたベーストラック510-1と、ビデオの1つ以上の空間サブセットを再構成するために提供されるベーストラック510-2のような第2のベーストラックである。
525-1で参照されるベーストラック510-2に記載された再構成命令から、ベーストラック510-2は非VCL NALユニットについてはトラック515-2のみを参照し、注目ピクチャ領域についてはVCL NALUについては空間トラック505-4のみを参照することが分かる。再構成命令525-2はまた、トラック515-2からの非VCL NALUおよび別の空間トラック、ここでは空間トラック505-3からのVCL NALUを再使用する。ベーストラック510-2はまた、530で参照されるそれ自体のパラメータセットを提供し、これらは、注目ピクチャ領域に対応するビデオを記述するために書き換えられる。したがって、空間トラックだけでなく、APSまたはピクチャヘッダのような非VCL NALU、またはトラック515-2のような書き換えを必要としない任意のパラメータセットを含むトラックも共用することができる。書き換えられたパラメータセットは、図2のステップ265で再構成トラックを準備するときに、ベーストラック自体に含まれることが好ましい。
図6は、再構成命令を提供するサンプルグループを使用する別の例を示し、再構成命令は、空間スワッピングを可能にする。
空間スワッピングと呼ばれるビデオの空間適応を可能にするこの例によれば、同じソースビデオは異なる品質のビットストリーム、例えば、2つのビットストリーム600-1および600-2に符号化され、符号化されたピクチャは、少なくともスライス、タイル、またはサブピクチャに同様に分割される(圧縮専用のより低いレベルの分割は異なってもよい)。例示のために、ビットストリーム600-1および600-2のピクチャは、図示されるように、4つのサブセットに分割される。カプセル化されるために、これらのビットストリームは、パッケージングの目的のためにカプセル化モジュールに提供され、最終的には後でストリーミングするための準備がなされる。
いくつかの実施形態によれば、カプセル化モジュールは、図2を参照して説明したステップ等のステップを実行して、各ビットストリームを空間トラックのセットおよび1つ以上のベーストラックにカプセル化する。
例示のために、ビットストリーム600-1の空間サブセットは、空間トラック605-1~605-4にカプセル化され、ビットストリーム600-2の空間サブセットは、空間トラック610-1~610-4にカプセル化される。各ビットストリームは例えば、パラメータセットトラック615および620にそれぞれ、または非VCL NALUの格納専用のトラック、例えば、トラック625またはその両方に、1つ以上のパラメータセットトラックに記述することもできる。データの重複を回避するために、非VCL NALUを専用トラックに格納することは、それらが2つ以上のベーストラックから共有または参照され得る場合に有利であり得ることに留意されたい。オプションで、非VCLトラックは特定のサンプルエントリタイプ、例えば’vvcN’を有することができ、このトラックのサンプルのために使用される少なくともNALUnitLengthを記述する、構成ボックス、例えばVvcNALUConfigurationBoxとして情報の最小セットを提供する。さらに、この非VCLトラックは、そのトラックヘッダにtrack_in_movieフラグを設定しないことで、ファイル内で非表示にできる場合がある。
いくつかの実施形態によれば、各ビットストリームの各サブセットは、空間トラックにカプセル化される。さらに、各空間トラックは、符号化されたビデオのバージョンまたはそれが記述するビットストリームの指標を含むことができる。これは、特にカプセル化時に計画されていないいくつかの組合せに対して、再構成命令の書込みを容易にする。また、このようなカプセル化されたファイルのストリーミングマニフェストでの記述を簡素化することもできる。
再構成またはベーストラックを準備するとき、例えば、図2のステップ211を実行するとき、カプセル化モジュールは、ビットストリーム600-1のトラック630およびビットストリーム600-2のトラック635のようなソースビデオの符号化されたバージョンごとにベーストラックを作成することができる。ベーストラック630は、ビットストリーム600-1に圧縮されたビデオシーケンスに対して640で参照される再構成命令を提供し、一方、トラック635は、ビットストリーム600-2に圧縮されたビデオシーケンスに対して再構成命令645を提供する。再構成命令の各セットは図6に示すように、使用するトラックを特定の順序で定義する。
例えば、図3のステップ310を参照して説明したように、表示されるトラックとしてトラック630を選択するパーサは、トラック615からのサンプルと、それに続く空間トラック605-1~605-4からのサンプルとを繰り返し連結することによって、サンプルごとにビットストリームを再構成する。同様に、パーサまたはプレーヤがトラック635を選択すると、サンプルは、トラック620、625、および610-1~610-4からサンプルの連結として、この順序で再構成される。ベーストラックがサンプルを含む場合、後者は連結の最初である。
図6に示す例によれば、ベーストラック630および635は、空のサンプル650または655のような空のサンプルのみを有する(すなわち、サンプルを記述するメタデータ部分、例えばサンプル記述ボックスのみを含むが、ファイルのデータ部分、例えば’mdat’ボックスには関連データは含まない)。
660で参照される別のベーストラックがカプセル化ファイル内で生成され、ビデオのいくつかの特定のサブセットにより高い品質を与えることができる。この例によれば、これは、ベーストラック660の始めの再構成命令665に記述される。例えば、ピクチャの左上に位置する空間サブセット(670で参照される)の品質は、時間tにおいて、ピクチャの他の空間サブセットの1つよりも高い。トラックの後方(時間t+デルタ)に、破線矢印で示すように、675で参照される新しい再構成命令が、他の空間トラックを参照して記述される。この再構成は、時間t+デルタから最後まで、右下に位置する空間サブセット(680で参照される)の品質がピクチャの他の空間サブセットの1つよりも高いビデオをもたらす。
この種のサブセットのカプセル化および「スワップ」は、カプセル化モジュールがビットストリーム解析中にピクチャヘッダの互換性をチェックするときにより容易である。これは、それらの対応する非VCL NALUがバイナリ等価であるか否かを、同じ復号時間を有するピクチャについてチェックすることによって行うことができる。バイナリ等価でない場合、カプセル化モジュールは各ピクチャヘッダの各パラメータを解析し、それらを1つずつ比較して、どこに差があるかをチェックする。ピクチャヘッダが同等である場合、カプセル化モジュールは、これらのピクチャヘッダを625のような専用トラックにカプセル化することを決定することができ、その結果、それらをベーストラック間で相互化することができる。それらが等価でない場合、カプセル化モジュールは図2のステップ265を参照して説明したように、再構成トラックの記述を準備しながらピクチャヘッダを書き換えることを決定することができる。書き換えられる場合、ピクチャヘッダは、ベーストラックのサンプルとしてカプセル化されることが好ましい。この場合、ベーストラックのサンプルを再構成するとき、ピクチャヘッダ情報を含むベーストラックサンプルは、参照命令で参照されるトラックからコピーされるサンプルの前に配置される。同じコーディングコンフィギュレーション、例えば同じパラメーターセットを共有する空間トラックは、それらのビットレートに差別化属性を有する切り替え可能なトラックとしてトラック選択ボックスで宣言することができる。最初のカプセル化が同じソースビデオの各符号化バージョン(600-1および600-2)のためのベーストラックのみを生成するとき、この情報は、このカプセル化されたファイルのための異なるエントリポイントを生成または格納する後続のカプセル化に有用である。
図7は、再構成命令を提供するサンプルグループを使用する別の例を示し、再構成命令は、ピクチャ組合せを可能にする。
この例によれば、700-1および700-2で参照される2つのビットストリームのピクチャを結合することができる。説明のために、これら2つのビットストリームのパラメータセットおよびピクチャヘッダは同じであると仮定する。ビットストリーム700-1および700-2は、サーバのカプセル化モジュールによってカプセル化される。そのために、カプセル化モジュールは、たとえば図2を参照して説明されているように、各ビットストリームから個別に異なるNALUを解析することによって、ビットストリームを順番に、または並列に解析する。
図示されるように、705で参照されるトラックは、パラメータセットの記憶専用であり、710で参照される別のトラックは、APSおよびピクチャヘッダ専用である。トラック705および710の両方は、’vvcN’のような専用サンプルエントリタイプを有する非VCLトラックとしてマークされてもよい。それらのトラックヘッダは、track_in_movieフラグを有し、表示の候補ではないため設定されていない。
ビットストリーム700-1および700-2のピクチャの空間サブセットの各々は、それ自体の空間トラックにカプセル化され、適切なサンプル記述(少なくともサンプルエントリタイプは、これらの空間トラックのサンプルが実際にビットストリーム700-1または700-2からのサブサンプルであることを示す)を有する。所与の例によれば、ビットストリーム700-1の空間サブセットは、空間トラック715-1~715-4にカプセル化され、ビットストリーム700-2の空間サブセットは、空間トラック720-1~720-4にカプセル化される。
725で参照されるベーストラックは、そのトラック参照ボックス内の、依存関係または生成されたすべての空間トラックへの参照を定義する(パラメータセットは、それ自身のパラメータセットのリストを書き換えるので、パラメータセットトラック705を除く)。一部の依存関係は、たとえば’vvcd’のような特定のトラック参照タイプで、時間に沿ってオーバーライドされる可能性があるとして宣言される。
カプセル化モジュールは、異なる入力ビットストリーム700-1および700-2からの空間サブセットの連結のためのベーストラック725を生成する。再構成の結果は、一方または他方の入力ビットストリームとは異なることが予想されるので、カプセル化モジュールは特に、組合せおよび空間レイアウトの予想されるサイズを記述する新しいパラメータセットを生成する。いくつかの実施形態によれば、カプセル化モジュールは、’最大’コンフィギュレーション、すなわち、空間アクセスのために使用され得るスライス、タイル、またはサブピクチャの組合せおよび最大数によって到達され得る最大サイズを生成する。これは、例えば、図2のステップ230を参照して説明したように、空間レイアウト決定中に、ビットストリーム解析から得られた情報を追加することによって行うことができる。
ISOBMFFは、カプセル化されたファイルにトラックを追加(または削除)できないため、これは、適切な数のトラックを割り当てて宣言するために行う必要がある。
ベーストラック725が動的トラック参照のためにサンプルグループを使用するので、すべての参照がすべてのサンプルに対してアクティブであるわけではないことに留意されたい。実際、いくつかの実施形態によれば、カプセル化モジュールは、例えば’irif’または’dtrf’サンプルグループのような、動的トラック参照のためのサンプルグループを使用して再構成命令を生成する。例えば、カプセル化モジュールは、tからt+デルタ(除外)までのサンプルの第1のグループのための再構成命令を提供する730-1で参照される第1のサンプルグループと、t+デルタ(含まれる)からシーケンスの終わりまでのサンプルの第2のグループのための再構成命令を提供する730-2で参照される第2のサンプルグループと、を生成する。
図示の例によれば、第1のサンプルグループは、ビットストリーム700-1に関連付けられているすべての空間トラック715-1~715-4から、およびビットストリーム700-2のピクチャの左側空間サブセットに対応する空間トラック720-1および720-3からの再構成を定義する。さらに図示の例によれば、第2のサンプルグループは、ビットストリーム700-1に関連付けられているすべての空間トラック715-1~715-4から、およびビットストリーム700-2に関連付けられているすべての空間トラック720-1~720-4からの再構成を定義する。
一実施形態によれば、サンプルグループ730-1内の最初の参照は、トラック710のようなピクチャヘッダを含む非VCLトラックへの参照である。これにより、異なる空間トラックまたはベーストラックにわたってピクチャヘッダを相互化することが可能になる。これはカプセル化モジュールが、新しいパラメータセットを書き込むとき、どのピクチャヘッダの中のサブピクチャ識別子にも基づく空間レイアウトを定義しないと仮定する。
ベーストラック725の例では、サンプルグループ730-1が少なくとも7(6つの空間トラックにピクチャヘッダのトラックを加えたもの)に等しい参照カウントを有する。サンプルグループ730-1の参照リストにおけるそれらの順序は、ピクチャヘッダのトラック(すなわち、この例ではトラック710)であり、最初に空間トラック715-1、715-2(図示せず)、720-1、715-3(図示せず)、715-4、最後に720-3が続き、空間トラック720-3は、ビットストリーム700-2のピクチャの左下に位置する空間サブセットを含む。サンプルグループ730-2は、少なくとも9(8つの空間トラックにピクチャヘッダのトラックを加えたもの)に等しい参照カウントを有する。サンプルグループ730-2に記載された参照リスト内のそれらの順序は、ピクチャヘッダ(すなわち、この例ではトラック710)のトラックであり、最初に空間トラック715-1、715-2(図示せず)、720-1、720-2(図示せず)、715-3(図示せず)、715-4、720-3、最後に720-4が続き、空間トラック720-4は、ビットストリーム700-2のピクチャの右下に位置する空間サブセットを含む。参照される空間トラックに対するこの特定の順序は、空間レイアウトを定義するベーストラック725の書き換えられたSPS731および732に従う(例えば、サブピクチャインデックスおよびオプションでサブピクチャ識別子)。特に、この例では、新しいSPS732がシーケンスの2番目の部分の空間レイアウトを更新する。
別の実施形態によれば、ピクチャヘッダに対応する非VCL NALUは、ベーストラック725にサンプルとして直接格納される。次に、これらの非VCL NALユニットは、サンプルを再構成するときに参照されたトラックからの任意のNALUの前に、最初のNALUとして付加される。そのような場合、サンプルグループ730-1は少なくとも6(6空間トラック)に等しい参照カウントを有することができ、サンプルグループの参照リスト内の参照トラックの順序は、空間トラック715-1、715-2(図示せず)、720-1、715-3(図示せず)、715-4、および最後に720-3である。結果として得られるカプセル化されたファイルはパーサによって処理されると、ビットストリーム735につながり、復号された画像は復号されたピクチャ740および745によって示されるように、時間に沿って異なる。
図8は、オリジナルの順序とは異なる順序での再構成を可能にする再構成命令を提供するサンプルグループを使用する別の例を示す。
例示のために、800で示されるカプセル化されるビットストリームは、「A」、「B」、「C」、および「D」で示される4つの独立したサブピクチャを含む。ビットストリーム800は、サブピクチャA、B、C、およびDに基づいて、以下の空間レイアウトを宣言するSPSによって符号化されていると仮定される。
-インデックス0を有し、805-1で参照され、(0、0)から始まり(picture_width/2、picture_height/2)で終わるサブピクチャA
-インデックス1を有し、805-2で参照され、(0、picture_height/2)から始まり(picture_width/2、picture_height)で終わるサブピクチャC
-インデックス2を有し、805-3で参照され、(picture_width/2、0)から始まり(picture_width、picture_height/2)で終わるサブピクチャB
-インデックス3を有し、805-4で参照され、(picture_width/2、picture_height/2)から始まり(picture_width、picture_height)で終わるサブピクチャD
ここで、widthおよびheightは、ビットストリーム800のピクチャの幅および高さを表す。
これらのサブピクチャに対応するビットストリームに期待される順序は、サブピクチャ0用のNALUであり、サブピクチャ1用のNALUが後に続き、次いでサブピクチャ2用のNALUが後に続き、最後にサブピクチャ3用のNALUが後に付く。これは、VVC仕様がサブピクチャインデックスの機能としてサブピクチャを含むビットストリームにおけるNALU順序を定義するからである。
図示されるように、810で参照されるトラックは、メタデータ、特にパラメータセット(例えば、DPS、VPS、SPS、PPS、APS)を格納するために使用される。ビットストリーム800のピクチャのサブピクチャの各々は、適切なサンプル記述(少なくとも、これらの空間トラックのサンプルが実際にビットストリーム800からのサブサンプルであることを示すサンプルエントリタイプ)を用いて、それ自体の空間トラックにカプセル化される。所与の例によれば、サブピクチャは、それぞれ、空間トラック815-1~815-4にカプセル化される。
いくつかの実施形態によれば、カプセル化モジュールは、820および825で参照される、ベーストラックとも呼ばれる2つの表示可能なVVCトラックを生成する。ベーストラック820は、初期ピクチャ順序に基づいて再構成を提供し、一方、ベーストラック825は、書き換えられたSPSを有する別の再構成順序を提供する。実際に、この例によれば、カプセル化モジュールはSPSを変更して、例えば、限定されたバッファリング(例えば、1つまたは限定された個数のCTU行)を用いて、低遅延復号のために、特定のデコーダ実装をターゲットにして、ラインベースの復号を可能にする。
トラック810内で利用可能であり、ベーストラック820によって使用される初期パラメータセットがA、C、B、およびDの順序でサブピクチャを記述する間、ベーストラック825は、次のサブピクチャインデックスを有する新しいサブピクチャレイアウトを宣言する。
-インデックス0(805-1)を有し、(0,0)から始まり(picture_width/2、picture_height/2)で終わるサブピクチャA
-インデックス1(805-3)を有し、(picture_width/2,0)から始まり(picture_width、picture_height/2)で終わるサブピクチャB
-インデックス2(805-2)を有し、(0、picture_height/2)から始まり(picture_width/2、picture_height)で終わるサブピクチャC
-インデックス3(805-4)を有し、(picture_width/2、picture_height/2)から始まり(picture_width)で終わるサブピクチャD
カプセル化モジュールは、書き換えられたSPSが与えられると、準拠NALU順序を考慮して再構成命令を提供する。次に、動的暗黙的再構成のためのサンプルグループは、以下の順序:805-1、805-3、805-2、および805-4で4つのサブピクチャトラックを参照する。動的暗黙的再構成は、1つ以上のビットストリームの抽出、再構成、またはマージから生じる、オリジナルのものまたはビットストリームのいずれかでビットストリームに記載された空間レイアウトと一致するものとする。これはカプセル化モジュールによって処理されるため、表示可能なトラックが選択されると、解析があいまいにならない。
いくつかの実施形態では、動的トラック参照がメディアトラックを記述するメタデータトラックに適用される。例えば、メディアトラックは、注目オブジェクトが追跡されるビデオトラックであってもよい。関連するメタデータトラックは、トラック参照タイプ’cdsc’を介して、そのトラック参照ボックス内のビデオトラックに、追跡されたオブジェクトの注釈を提供することができる。これらの注釈はユーザによって入力されたテキストによる記述であってもよいし、画像解析モジュールによって生成されたテキストによる注釈であってもよい。ビデオ上に移動する複数の追跡対象オブジェクトが存在する可能性がある。トラック参照は、メタデータトラックをビデオトラックにトラックレベルで関連付けるが、動的トラック参照のサンプルグループは、’dtrf’のような特定のグループ化タイプで示され、この関連付けを絞り込むことができる。例えば、ビデオは、独立したサブピクチャのセットを有するVVCビットストリームに符号化される。各サブピクチャは、VVC空間トラックにカプセル化される。注釈はこれらのサブピクチャのいずれかにオブジェクトを記述する可能性があるため、メタデータトラックはデフォルトでこれらの空間トラックのそれぞれに関連付けられている。
動的トラック参照は、ビデオシーケンスに沿って、注釈が適用される1つ以上の特定のサブピクチャへの関連付けをリファインすることを可能にする。種類’dtrf’のサンプルグループは、’cdsc’に設定されているそのgrouping_type_parameterを有し、メタデータトラックとファイル内の他のいくつかのトラックとの’cdsc’関係をリファインすることが示される。動的トラック参照のためのサンプルグループは、メタデータトラックのサンプルのグループによって記述されるトラックの数を示すサンプルのグループのための参照カウントを提供する。メタデータサンプルは、注釈のリストを提供することがある。サンプルグループ内のreferences[]パラメータは、どの注釈がどのトラックに適用されるか、我々の例ではVVC空間トラックを示す。所与の期間範囲に注目オブジェクトが検出されない場合、この時間範囲のサンプルを含む動的トラック参照のサンプルグループは、0に設定されたref_countを有する。1つの注目オブジェクトが別の時間範囲の1つのサブピクチャ内に検出されると、このサンプルグループは1に設定されたref_countを有し、references[]パラメータは、’cdsc’に対応するトラック参照内のインデックスを、このサブピクチャをカプセル化するVVS空間トラックに提供する。別の時間範囲の場合、オブジェクトは別のサブピクチャに移動し、この別の時間範囲に対応する、同じ時間であるがサンプルの新しいグループを有する新しいサンプルグループは、このサブピクチャを記述するVVC空間トラックへの参照を提供する。コンテンツ記述トラック参照’cdsc’のこの拡張は、空間トラックだけでなく、他のメディアトラックに適用できることに留意されたい。
したがって、発明の一態様は、サーバ内の分割された時間付きメディアデータをカプセル化する方法であって、前記分割された時間付きメディアデータは複数の時間付きサンプルを含み、各時間付きサンプルは複数のサブサンプルを含み、前記時間付きサンプルは複数のグループにグループ化され、
複数の空間トラックを取得することと、各空間トラックは最初の時間付きサンプルの少なくとも1つのサブサンプルと、前記最初の時間付きサンプルとは異なる複数の時間付きサンプルの各時間付きサンプルの1つの対応するサブサンプルとを含み、前記対応するサブサンプルの各々は前記最初の時間付きサンプルの前記少なくとも1つのサブサンプルとそれ自体の時間付きサンプルの同じ空間位置に位置し、
前記空間トラックの少なくともいくつかを参照する追加トラックを作成することと、前記追加トラックは、空間トラック間のリンクに関連する情報の項目、例えば、これらの空間トラック内で符号化されたオブジェクト表現に関する項目を含み、
少なくとも1つのメディアファイル内の各トラックを独立してカプセル化することと
を含む方法を提供する。
上述の例は連続するサンプルのグループに関するが、本発明は反復サンプルパターン(例えば、2つのサンプル毎またはランダムサンプル毎)に対応するサンプルグループ、およびSampleToGroupBoxおよびISOBMFFサンプルグループ化メカニズムによって記述することができる任意のサンプルグループ化にも適用されることに留意されたい。
図9は、本発明の1つ以上の実施形態の実施のためのコンピューティングデバイス900の概略ブロック図である。コンピューティングデバイス900は、マイクロコンピュータ、ワークステーション、またはライトポータブルデバイスなどのデバイスとすることができる。コンピューティングデバイス900は、以下に接続された通信バス902を備える。
-マイクロプロセッサなどの中央処理ユニット(CPU)904
-本発明の実施形態の方法の実行可能コード、ならびにデータを要求し、カプセル化解除し、および/または復号するための方法を実施するために必要な変数およびパラメータを記録するように適合されたレジスタ、を格納するためのランダムアクセスメモリ(RAM)908で、そのメモリ容量は例えば、拡張ポートに接続されたオプションのRAMによって拡張することができる
-本発明の実施形態を実施するためのコンピュータプログラムを格納するための読出し専用メモリ(ROM)906
-ネットワークインターフェース912は、典型的には処理されるデジタルデータが送受信される通信ネットワーク914に接続される。ネットワークインターフェース912は単一のネットワークインターフェースであってもよいし、異なるネットワークインターフェースのセット(例えば、有線および無線インターフェース、または異なる種類の有線または無線インターフェース)から構成されてもよい。データは、送信のためにネットワークインターフェースに書き込まれるか、またはCPU904内で実行されているソフトウェアアプリケーションの制御の下で受信のためにネットワークインターフェースから読み出される
-ユーザからの入力を受け取るため、またはユーザに情報を表示するためのユーザインターフェース(UI)916
-ハードディスク(HD)910
-ビデオソースやディスプレイなどの外部デバイスとの間でデータを送受信するためのI/Oモジュール918
実行可能コードは、読み出し専用メモリ906、ハードディスク910、またはたとえばディスクなどのリムーバブルデジタル媒体のいずれかに格納することができる。変形によれば、プログラムの実行可能コードは、実行される前に、ハードディスク910などの通信デバイス900の格納手段の1つに格納されるために、ネットワークインターフェース912を介して、通信ネットワークの手段によって受信することができる。
中央処理ユニット904は、前述の格納手段の1つに格納された本発明の実施形態によるプログラムまたは複数のプログラムのソフトウェアコードの命令または部分の実行を制御し、指示するように適合される。電源投入後、CPU904は例えば、プログラムROM906またはハードディスク(HD)910からそれらの命令がロードされた後に、ソフトウェアアプリケーションに関するメインRAMメモリ908からの命令を実行することができる。このようなソフトウェアアプリケーションは、CPU904によって実行されると、前の図に示したフローチャートのステップを実行させる。
この実施形態では、装置が本発明を実施するためにソフトウェアを使用するプログラマブル装置である。しかしながら、代替的に、本発明はハードウェア(例えば、特定用途向け集積回路またはASICの形態)で実施されてもよい。
以上、特定の実施形態を参照して本発明を説明したが、本発明は特定の実施形態に限定されるものではなく、本発明の範囲内にある修正は当業者には明らかであろう。
多くのさらなる修正および変形は単に例として与えられ、添付の特許請求の範囲によってのみ決定される本発明の範囲を限定することを意図しない、前述の例示的な実施形態を参照することにより、当業者に示唆されるのであろう。特に、様々な実施形態からの異なる特徴は、適宜、交換されてもよい。
特許請求の範囲において、単語「有する」は他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は複数を排除するものではない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これらの特徴の組合せが有利に使用されることができないことを示すものではない。

Claims (16)

  1. ファイル生成装置で実行される、分割されたビデオデータをカプセル化する方法であって、前記分割されたビデオデータは複数のサンプルを含み、各サンプルは複数のグループに対応する複数のサブピクチャまたはスライスまたはタイルを含み、
    複数の空間トラックを取得することと、各空間トラックは、第1サンプルの少なくとも1つのサブピクチャまたはスライスまたはタイルと、前記第1サンプルとは異なる複数のサンプルの各々の少なくとも1つの対応するサブピクチャまたはスライスまたはタイルを含み、該複数のサンプルの各々の少なくとも1つの対応するサブピクチャまたはスライスまたはタイルは前記第1サンプルの前記少なくとも1つのサブピクチャまたはスライスまたはタイルと同じ空間位置に位置し、
    前記複数の空間トラックの少なくともいくつかを参照するベーストラックを作成することと、前記ベーストラックは、該ベーストラックのメタデータ部分に複数の再構成命令を含み、前記複数の再構成命令の各々は、前記複数のグループの少なくともいくつかに関連付けられ、同じグループに属する空間トラックのサブピクチャまたはスライスまたはタイルからビットストリームの部分を生成することを可能にし、
    前記複数の空間トラックの各々をカプセル化した少なくとも1つのメディアファイルを生成することと、
    を含む方法。
  2. 前記複数の再構成命令の各々は、前記複数の空間トラックへの参照の順序が付与されたリストを含む、請求項1に記載の方法。
  3. 前記複数の空間トラックを生成することをさらに含む、請求項1または2に記載の方法。
  4. 前記複数の空間トラックを生成することは、
    前記複数のサンプルのうちの1つのサンプルの複数のサブピクチャまたはスライスまたはタイルの中から少なくとも1つのサブピクチャまたはスライスまたはタイルを選択することと、
    前記選択されたサブピクチャまたはスライスまたはタイルごとに、前記選択されたサブピクチャまたはスライスまたはタイルを含む1つの空間トラックと、前記選択されたサブピクチャまたはスライスまたはタイルと同じ空間位置に位置する対応するサブピクチャまたはスライスまたはタイルと、を生成することと
    を含む、請求項に記載の方法。
  5. 前記サンプル内のサブピクチャまたはスライスまたはタイルのレイアウトを決定することをさらに含む、請求項または請求項に記載の方法。
  6. カプセル化レイアウトを決定することをさらに含み、前記複数の空間トラックは、前記カプセル化レイアウトの機能によって生成される、請求項ないしのいずれか1項に記載の方法。
  7. クライアント装置で実行される、カプセル化されたビデオデータからビットストリームを生成するための方法であって、前記ビデオデータは複数のサンプルを含み、各サンプルは複数のグループに対応する複数のサブピクチャまたはスライスまたはタイルを含み、
    少なくとも1つのベーストラックと複数の空間トラックとを含む少なくとも1つのメディアファイルを取得することと、
    各空間トラックは、第1サンプルの少なくとも1つのサブピクチャまたはスライスまたはタイル前記第1サンプルとは異なる複数のサンプルの各々の少なくとも1つの対応するサブピクチャまたはスライスまたはタイルとを含み、該複数のサンプルの各々の少なくとも1つの対応するサブピクチャまたはスライスまたはタイルは前記第1サンプルの前記少なくとも1つのサブピクチャまたはスライスまたはタイルと同じ空間位置に位置し、
    前記ベーストラックは前記複数の空間トラックの少なくともいくつかを参照し、ベーストラックのメタデータ部分に複数の再構成命令を含み、前記複数の再構成命令の各々は、前記複数のグループの少なくともいくつかに関連付けられており、同じグループに属する空間トラックのサブピクチャまたはスライスまたはタイルからビットストリームの部分を生成することを可能にし、
    前記複数のグループの各々について、関連付けられている複数の再構成命令に従ってビットストリームの部分を生成することと、
    を含む、方法。
  8. 前記複数の空間トラックからメディアデータを取得し、前記複数の再構成命令によって定義される順序に従って前記取得されたメディアデータを連結することをさらに含む、請求項に記載の方法。
  9. メタデータを取得し、前記取得したメタデータを前記メディアデータと連結することをさらに含む、請求項に記載の方法。
  10. 前記メタデータは前記ベーストラックまたは追加のトラックから取得される、請求項に記載の方法。
  11. 前記複数の再構成命令は、前記複数の空間トラックへの参照の順序が付与されたリストを含む、請求項1ないし10のいずれか1項に記載の方法。
  12. 前記複数のグループの少なくともいくつかに関連付けられている再構成命令は、別のグループに関連付けられている再構成命令を修正することを可能にする、請求項1ないし11のいずれか1項に記載の方法。
  13. ビットストリームの前記部分は、MPEG多用途ビデオ符号化規格に準拠する、請求項1ないし12のいずれか1項に記載の方法。
  14. プログラマブル装置のためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、前記プログラマブル装置にロードされ、前記プログラマブル置によって実行されるときに、請求項1ないし13のいずれか1項に記載の方法のステップのそれぞれを実施するための一連の命令を含む、コンピュータプログラム製品。
  15. 請求項1ないし13のいずれか1項に記載の前記方法のステップの各々を実施するためのコンピュータプログラムの命令を格納する非一時的なコンピュータ可読記憶媒体。
  16. 分割されたビデオデータをカプセル化するか、またはカプセル化されたビデオデータからビットストリームを生成するデバイスであって、前記デバイスは、請求項1ないし13のいずれか1項に記載の前記方法の各ステップを実行するように構成された処理ユニットを備える、デバイス。
JP2022501361A 2019-12-17 2020-12-16 メディアコンテンツのカプセル化を改善するための方法、デバイス、およびコンピュータプログラム Active JP7383785B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1918667.5A GB2590435B (en) 2019-12-17 2019-12-17 Method, device, and computer program for improving encapsulation of media content
GB1918667.5 2019-12-17
PCT/EP2020/086580 WO2021122850A1 (en) 2019-12-17 2020-12-16 Method, device, and computer program for improving encapsulation of media content

Publications (2)

Publication Number Publication Date
JP2022546910A JP2022546910A (ja) 2022-11-10
JP7383785B2 true JP7383785B2 (ja) 2023-11-20

Family

ID=69186897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022501361A Active JP7383785B2 (ja) 2019-12-17 2020-12-16 メディアコンテンツのカプセル化を改善するための方法、デバイス、およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US12081846B2 (ja)
JP (1) JP7383785B2 (ja)
CN (1) CN114846811B (ja)
GB (1) GB2590435B (ja)
WO (1) WO2021122850A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12088971B2 (en) * 2019-12-31 2024-09-10 Nokia Technologies Oy Method, an apparatus and a computer program product for video encoding and video decoding
EP3972273A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Handling of non-vcl nal units in picture unit construction
US11729427B2 (en) 2020-09-17 2023-08-15 Lemon Inc. Chroma format and bit depth indication in coded video
EP3972278A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Subpicture tracks in coded video
CN116803084A (zh) * 2020-12-21 2023-09-22 弗劳恩霍夫应用研究促进协会 使用用于编码视频序列的参数集的文件解析器、文件生成器、编码器、解码器、客户端、服务器及方法
GB2605955B (en) * 2021-04-13 2024-10-30 Canon Kk Method and apparatus for encapsulating encoded media data in a media file
US12131561B2 (en) 2022-01-12 2024-10-29 Tencent America LLC Method for annotating VVC subpictures in DASH
US20230362415A1 (en) 2022-05-05 2023-11-09 Lemon Inc. Signaling of Preselection Information in Media Files Based on a Movie-level Track Group Information Box
CN115861343B (zh) * 2022-12-12 2024-06-04 中山大学·深圳 基于动态隐式图像函数的任意尺度图像表示方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160105690A1 (en) 2014-10-14 2016-04-14 Canon Kabushiki Kaisha Description of image composition with hevc still image file format
JP2018522469A (ja) 2015-06-16 2018-08-09 キヤノン株式会社 画像データカプセル化

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109618235B (zh) 2013-01-18 2021-03-16 佳能株式会社 生成设备和方法、处理设备和方法以及存储介质
GB2551296B (en) * 2013-04-09 2018-02-28 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data
JP6439691B2 (ja) * 2013-07-19 2018-12-19 ソニー株式会社 ファイル生成装置および方法、並びにコンテンツ再生装置および方法
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
GB2522014A (en) * 2014-01-07 2015-07-15 Canon Kk Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data
GB2558086B (en) * 2014-03-25 2019-02-20 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
GB2527786B (en) 2014-07-01 2016-10-26 Canon Kk Method, device, and computer program for encapsulating HEVC layered media data
US10742999B2 (en) * 2017-01-06 2020-08-11 Mediatek Inc. Methods and apparatus for signaling viewports and regions of interest

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160105690A1 (en) 2014-10-14 2016-04-14 Canon Kabushiki Kaisha Description of image composition with hevc still image file format
JP2018522469A (ja) 2015-06-16 2018-08-09 キヤノン株式会社 画像データカプセル化

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yong He, Yan Ye, Ahmed Hamza,On VVC tile design,JVET-L0127 [online],ITU-T,2018年10月12日,インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0127-v2.zip>

Also Published As

Publication number Publication date
GB2590435A (en) 2021-06-30
CN114846811B (zh) 2024-07-16
JP2022546910A (ja) 2022-11-10
CN114846811A (zh) 2022-08-02
GB201918667D0 (en) 2020-01-29
WO2021122850A1 (en) 2021-06-24
US20230025332A1 (en) 2023-01-26
GB2590435B (en) 2023-12-20
US12081846B2 (en) 2024-09-03

Similar Documents

Publication Publication Date Title
JP7383785B2 (ja) メディアコンテンツのカプセル化を改善するための方法、デバイス、およびコンピュータプログラム
US11700434B2 (en) Method and apparatus for generating media data
JP7154314B2 (ja) メディアコンテンツを送信する方法、装置及びコンピュータプログラム
CN113170239B (zh) 将媒体数据封装到媒体文件的方法、装置和存储介质
JP6572222B2 (ja) メディアファイルの生成方法、生成装置、及びプログラム
KR20180018662A (ko) 동작 포인트 디스크립터가 동적으로 설정될 수 있는 캡슐화된 비트-스트림으로부터 미디어 데이터 및 메타데이터를 획득하는 방법, 디바이스, 및 컴퓨터 프로그램
US12192484B2 (en) Method and apparatus for encapsulating encoded media data in a media file
JP2022546894A (ja) メディアデータをメディアファイルにカプセル化するための方法、装置、およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230707

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231108

R151 Written notification of patent or utility model registration

Ref document number: 7383785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151