JP6591009B2 - 情報処理装置、情報処理方法、及び、プログラム - Google Patents

情報処理装置、情報処理方法、及び、プログラム Download PDF

Info

Publication number
JP6591009B2
JP6591009B2 JP2018149332A JP2018149332A JP6591009B2 JP 6591009 B2 JP6591009 B2 JP 6591009B2 JP 2018149332 A JP2018149332 A JP 2018149332A JP 2018149332 A JP2018149332 A JP 2018149332A JP 6591009 B2 JP6591009 B2 JP 6591009B2
Authority
JP
Japan
Prior art keywords
data
representation
video
media
tile
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
JP2018149332A
Other languages
English (en)
Other versions
JP2018182760A (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 JP2018182760A publication Critical patent/JP2018182760A/ja
Application granted granted Critical
Publication of JP6591009B2 publication Critical patent/JP6591009B2/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/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Description

本発明は、一般的には、通信ネットワーク、例えばインターネットプロトコル(IP)標準規格に準拠する通信ネットワーク上の時分割メディアデータストリーミングの分野に関する。
ビデオ符号化は、ビデオ画像を送信または記憶できるように、一連のビデオ画像をコンパクトなデジタル化されたビットストリームに変換する方法である。符号化装置はビデオ画像を符号化するために用いられ、表示および視聴のためにビットストリームを再構築するために、これと関連させた復号化装置が利用できる。一般的な目的は、当初のビデオ情報より小さいサイズになるようにビットストリームを形成することである。これによって、ビットストリームコードを送信または記憶するために必要となる転送ネットワークまたは記憶装置の容量を有利に低減する。送信するために、ビデオビットストリームは、通常、ヘッダーおよびチェックビットを追加する伝送プロトコルに従って、一般にカプセル化される。
通信ネットワーク上でメディアデータをストリーミングすることは、通常、メディアプレゼンテーションを表現するデータが、通信ネットワーク上で、サーバーと呼ばれるホストコンピュータによってクライアントデバイスと呼ばれる再生装置に提供されることを意味している。クライアントデバイスは、一般に、様々な従来型コンピューティング装置のいずれかとして実現されるメディア再生コンピュータであって、例えば、デスクトップパーソナルコンピュータ(PC)、タブレットPC、ノートブックもしくは携帯コンピュータ、セルラー電話、無線携帯装置、個人情報機器(PDA)、およびゲームコンソールなどである。クライアントデバイスは、通常、(ファイル全体が配信されるのを待つのではなく)ホストからストリーミングされたコンテンツが受信されるにつれて、それを表示する。
メディアプレゼンテーションは、一般に、音声、ビデオ、テキスト、および/またはサブタイトルなどの、クライアントデバイスによって、一緒に再生するためにサーバーからクライアントデバイスに送ることができるいくつかのメディアコンポーネントを含む。それらのメディアコンポーネントは、クライアントデバイスによってサーバーからダウンロードされる。クライアントデバイスがその特性(例えば解像度、コンピューティング能力およびバンド幅)の機能として、1つのバージョンを選択することができるように、通常の実施においては、同じメディアコンポーネントのいくつかのバージョンへのアクセスを与えることを意図している。
近年では、ムービング・ピクチャー・エクスパーツ・グループ(MPEG)は、HTTP(ハイパーテキスト・トランスファー・プロトコル)上の既存のストリーミングソリューションを統一し、取って代わるための新規な標準規格を発表した。この新規な標準規格は、「HTTP上のダイナミック・アダプティブ・ストリーミング(DASH)」と呼ばれ、標準ウェブサーバーに基づいてHTTP上のメディアストリーミングモデルをサポートすることを目的とし、そこでは、情報(すなわちストリームするメディアデータの選択、ならびにユーザー選択、ネットワーク条件、およびクライアント機能に対するビットストリームの動的な適応)がクライアントの選択およびデバイスだけに依存する。
このモデルでは、メディアプレゼンテーションは、データセグメントにおいて、および、提供される時分割メディアデータの構成を表現する「メディアプレゼンテーション記述(MPD)」と呼ばれるマニフェストにおいて、構成される。具体的には、マニフェストは、データセグメントをダウンロードするために用いるリソース識別子を含み、有効なメディアプレゼンテーションを取得するためにそれらのデータセグメントを選択し結合するためのコンテキストを提供する。リソース識別子は、通常、おそらくバイト範囲と組み合わされたHTTP−URL(ユニフォーム・リソース・ロケータ)である。マニフェストに基づいて、クライアントデバイスは、いかなる時にも、そのニーズ、その能力(例えばサポートされたコーデック、ディスプレイサイズ、フレームレート、品質レベルなど)に従って、およびネットワーク条件(例えば利用可能なバンド幅)に応じて、どのメディアセグメントをメディアデータサーバーからダウンロードするべきかを決定する。DASH標準規格のコンテキストでは、このマニフェストは、拡張可能なマークアップ言語(XML)標準規格に準拠している。
クライアントデバイスがメディアデータを要求する前に、それはアクセス可能なメディアセグメント各々の記述を取得し、そのようにして必要なメディアセグメントだけを要求するために、MPDファイルを受信する。言い換えれば、受信したMPDファイルを解析することによって、クライアントデバイスは、メディアプレゼンテーションのアクセス可能なメディアセグメントの、特に、セグメントのアドレス(例えばhttpアドレス)を含む情報の項目を取得することができる。したがって、それは、どのメディアセグメントをダウンロードし(HTTP要求を介して)、これらのメディアセグメントを取得し、受信および復号化の後でそれらを再生するかを決定することができる。
この関連に加えて、DASH標準規格は、小さい期間に従って各メディアコンポーネントをメディアサブコンポーネントに分割することを提案する。時間分解は、MPDファイルに追加される。したがって、MPDファイルは、httpアドレス(またはURL)と小さい期間にわたる各メディアセグメントの簡潔な記述との間のリンクを提供し、クライアントデバイスが所望の期間にわたってメディアプレゼンテーションの所望のメディアセグメントをダウンロードすることを可能にする。
ビデオの解像度が標準解像度(SD)から高精細度(HD)へ、さらに超高精細度(例えば4K2Kまたは8K4K)へと連続的に増加しており、全ての受信およびビデオ復号化装置がフル解像度でビデオにアクセスするリソース(例えばネットワークアクセスバンド幅またはCPU(中央処理ユニット))を備えているわけではなく、そして、全てのユーザーがこのようなビデオにアクセスする必要があるわけではないので、いくつかの関心領域(ROI)にのみアクセスする、すなわちビデオシーケンス全体のいくつかの空間的副部分にのみアクセスする能力を提供することが、特に有益である。
ビデオに属するフレームの空間的副部分にアクセスする既知の機構は、一般にタイルと呼ばれる独立にデコード可能な空間領域の配置としてビデオの各フレームを構成することにある。SVC(スケーラブルビデオ符号化)またはHEVC(高効率ビデオ符号化)などのいくつかのビデオフォーマットは、タイル定義のためのサポートを提供する。ユーザーが定義するROIは、1つあるいは複数の隣接するタイルをカバーすることができる。
したがって、HTTPプロトコルに従ってユーザーが選択したROIをストリーミングするために、1つまたは複数のタイルに空間的にアクセスすることを可能にし、かつ、アクセスされたタイルの組み合わせを可能にする方法で、符号化されたビデオビットストリームの時分割メディアデータのカプセル化を提供することが重要である。
符号化されたビデオビットストリームは、完全なフレームに対応する一組の隣接する時間的サンプルとして一般に構築され、時間的サンプルは復号化する順序の関数として構成されることを想起すべきである。このような符号化されたビットストリームをカプセル化し記述するために、ファイルフォーマットが用いられる。
説明のために、国際標準化機構のベース・メディア・ファイル・フォーマット(ISOBMFF)は、よく知られたフレキシブルで拡張可能なフォーマットであり、それは、ローカル記憶装置、またはネットワークもしくは別のビットストリーム配信機構を介した伝送のために符号化された時分割メディアデータ・ビットストリームを記述する。このファイルフォーマットは、オブジェクト指向である。それはボックスと呼ばれるビルディングブロックから構成され、シーケンシャルに、または階層的に構成され、タイミングおよび構造パラメータなどの、符号化された時分割メディアデータ・ビットストリームのパラメータを定義する。
ISO BMFF標準規格のタイルを記述するための解法は、各タイルを特定のトラックにカプセル化すること、および、タイル位置を信号で送るためにトラックの変換行列を用いることにある。DASH標準規格を用いる自然な手法は、マニフェストの各トラックを独立したメディアコンテンツとして記述することにある。しかし、現行のMPD定義では、タイル化時分割メディアデータを記述することができないので、各トラックがMPDの同じビデオの下位部分であることを信号で送る方法がない。
したがって、実際には、クライアントデバイスは、MPDに記述された各ビデオコンポーネントが(例えばmoov/track/tkhdとして知られたボックスにおけるトラックおよび行列定義を介して)タイル化ビデオの副部分であると決定する立場にあるために、(マニフェストに加えて)第1の初期設定セグメントをダウンロードしなければならない。次に、タイル位置とビデオコンポーネントとの間の関連を(例えばmoof/traf/tfhdとして知られたボックスを介して)検索するために、クライアントデバイスは、少なくとも、各ビデオコンポーネントの各第1のメディアデータセグメントの冒頭をダウンロードしなければならない。この初期化情報のダウンロードは、遅延およびさらなるhttpラウンドトリップをもたらす。
図1は、ビデオシーケンスの関心領域をストリーミングするためのタイルの使用を模式的に示す。
図示するように、複数の解像度層は、一組の画像105−1〜105−nを含む高い空間的解像度の入力ビデオ100から計算され、各層はタイルに分割され、各タイルは独立に符号化される。従来のビデオストリームと同様に、ベースレイヤタイルは、全体のビデオシーンを示す。ユーザーがビデオにズームしたい場合には、より高い解像度層のタイルがより高い品質の詳細を提供するために読み出される。したがって、クライアントデバイスは、関心のある特定領域を表示するための複数のタイルを復号化して、同期させる必要がある。
あるいは、関心のある任意の領域を満たすために1つのタイルだけを必要とするように、オーバーラップするタイリング方式を用いることができる。種々のディスプレイサイズおよび種々のネットワーク条件を扱うために、各タイルは、種々の空間的および品質の解像度で符号化される。
入力ビデオ100に対応するマニフェストファイルの一例は、付録(コード1の抽出)に与えられている。この例によれば、高い空間的解像度の入力ビデオ100の各画像は、2×2行列に配置された4つのセグメントを含む。各セグメントのアドレスおよび画像の対応するセグメントの位置は、マニフェストの中で提供される。
米国特許出願第20100299630号には、パノラマ画像における関心領域を視覚化するためのシステムが開示されている。しかし、予め生成された関心領域(サーバー側)および切り取られた画像(クライアントデバイス側)の事例だけが考慮されている。それには、ユーザーが選択した関心領域の任意の動的なストリーミングは開示されていない。
Packet Video Conference 2010で発行された論文「Aninteractive region−of−interest video streaming system for online lecture viewing」では、著者が関心領域をストリーミングするためのタイルの使用について述べている。マニフェストは、タイルの情報の識別子および位置項目を提供するために用いられる(実際にはH.264スライス)。しかし、各解像度層のタイリング構成がマニフェストファイルで記述されている場合であっても、このような記述はタイルごとのURLを提供しない。さらに、選択されたタイルをストリーミングするためにクライアントによって送られた特定のhttpクエリを解釈するために、それはサーバー側でいくらかの情報を必要とする。実際、専用のマニフェストにより提供された情報のベースURLおよびタイル項目(タイル位置および識別子)から、クライアントデバイスは、特定のタイルにアクセスするための、マニフェストから読み出された識別子属性の値によって識別されるHTTPGETクエリURLタイプ、例えばGETxxx?id=valのクエリを構築することができる。しかし、このようなタイプのURLは、その要求を満たすためにクライアントデバイスに送られるファイルでファイルおよびバイト範囲を読み出すために、サーバー側で処理タスクを必要とする。さらに、それによっては、マニフェストの情報のタイル構成および/または除外項目を信号で送ることができない。
特許出願国際公開第2012168365号によれば、マニフェストファイルはそれらの位置情報(URL)を有する1つまたは複数の空間的セグメントストリームを記述し、クライアントデバイスは1つまたは複数の空間的領域を選択する可能性を有する。またマニフェストファイルは、特に解像度レベルにわたって空間的領域を整合させるために、空間的セグメント間の関係を記述する。しかし、同時に2つ以上のタイルをストリーミングし、かつ表示する能力を提供するために、クライアント側で同期エンジンが必要となる。このような同期エンジンは、DASHを用いる場合には、マニフェストにおける時限セグメント、およびクライアントデバイスにおけるフレームの再順序付けを必要とする。復号化された空間的セグメントフレームは、選択された関心領域として表示するために互いに継ぎ合せられる。
これらの問題を解決するために、マニフェストのための効率的なパーティションまたはタイル記述方式が提供され、それは、どのようなトラックの組み合わせがクライアントアプリケーションによって選択されても、ISO BMFFパーシングの結果が常にビデオデコーダのための有効なビデオ・エレメンタリ・ビットストリームをもたらすことを保証する。
これらの制約条件に直面して、発明者は、MPEG−DASHにおいて規定されるMPD(Media Presentation Description)であって、ビデオデータの少なくとも一部に対応する第1データを要求するために用いられる第1要求情報を含む第1リプリゼンテーションと、前記第1リプリゼンテーションが属する第1アダプテーションセットとは異なる第2アダプテーションセットに属する第2リプリゼンテーションであって、前記第1データに関連する第2データを要求するために用いられる第2要求情報を含む第2リプリゼンテーションと、前記第1リプリゼンテーションと前記第2リプリゼンテーションとが関連していることを示す関連情報と、が記述されたMPDを取得する取得手段と、前記取得手段により取得されたMPDに記述された前記第1要求情報と前記第2要求情報とを含む複数の要求情報のうちの少なくとも何れかに基づいて、前記ビデオデータの少なくとも一部を要求する要求手段と、を有する情報処理装置を提供する。
上述したような先行技術の欠点を改善することが、本発明の幅広い目的である。
本発明のさらなる利点は、図面および詳細な説明を考察することで、当業者には明らかになろう。いかなる付加的な利点も、本明細書に組み込まれるものとする。
ここで本発明の実施形態について、単なる例として、以下の図面を参照して説明する。
図1は、ビデオシーケンスの関心領域をストリーミングするためのタイルの使用を模式的に示す図である。 図2は、ハイパーテキスト・トランスファー・プロトコルによる通信ネットワーク上の適応可能なメディア・プレゼンテーション・ストリーミングの一般的原理を示す図である。 図3は、メディアプレゼンテーションおよび対応するマニフェストファイルを生成するためのステップを示す図である。 図4は、ビデオタイリング、およびそれがどのように圧縮されたビデオデータに適用されるかを示す図である。 図5aは、タイルおよびスライスセグメントの例を示す図である。 図5bは、タイルおよびスライスセグメントの例を示す図である。 図5cは、タイルおよびスライスセグメントの例を示す図である。 図6は、所与の時間的期間の連続するビデオフレームの空間部分を表現する有効な復号可能な時分割メディアデータ・ビットストリームを構築するために、ダウンロードされたメディアデータセグメントを連結する例を示す図である。 図7は、タイルトラックを信号で伝えるための下位表現を用いるのに好適であるmp4構成の一例を示す図である。 図8は、前述の実施形態によるタイル記述を含むマニフェストを処理するためのクライアントデバイスで実行される処理ステップを示すフローチャートである。 図9は、前述の実施形態による従属性記述を含むマニフェストを処理するためのクライアントデバイスで実行される処理ステップを示すフローチャートである。 図10は、本発明の記載された実施形態の各々の各ステップまたはいくつかのステップを実行するために用いることができるコンピューティング装置の模式的なブロック図である。 図11aは、空間的にスケーラブルなビデオのためのタイリング構成の例を示す図である。 図11bは、空間的にスケーラブルなビデオのためのタイリング構成の例を示す図である。 図12は、SNR(信号対雑音比)スケーラブルなビデオのためのタイリング構成の一例を示す図である。
特定の実施形態によれば、マニフェストのビデオシーケンスの空間的副部分の簡潔な記述に基づく解法が記述され、それは、特に、DASH MPD標準規格に準拠するファイルに容易に統合することができる。このような解法を用いることにより、クライアントデバイスは、空間的メディアコンポーネントの存在についての知識を得ることができ、これらのメディアコンポーネントの各々をダウンロードするためのハイパーテキスト・トランスファー・プロトコル(http)アドレスを取得することができる。その目的のために、マニフェストファイルは、ビデオ表現間の任意の従属性に関する情報を含む。
特定の実施形態によれば、ビデオシーケンスは独立な空間的パーティション(例えばタイル)に符号化され、各符号化されたパーティションは、独立なトラック(パーティショントラックまたはタイルトラック)としてファイルフォーマットにカプセル化される。パーティショントラックのデータに対する参照を含む、参照トラックまたは複合トラックと呼ばれる付加的なトラックは、2つ以上のパーティショントラックの任意の合成をカプセル化するために用いられる。パーティショントラックおよび参照トラックのこのようなカプセル化は、空間的アクセスの可用性についてクライアントデバイスに通知するために、マニフェストにおいて信号で送られる。またマニフェストは、複合トラックの任意のアドレス可能コンポーネントとして各パーティショントラックの記述を含む。
シンタックス変形の重要性と記述の完全性との間のトレードオフから生じる様々な実施形態を提供することができる。
特定の実施形態によれば、時限サンプル(例えば画像)を含むタイル化時分割メディアデータ(例えばビデオデータ)などのパーティションで分割された時分割メディアデータは、一組のいくつかの時分割メディアデータ、通常はベースレイヤトラックおよびいくつかのタイルトラック、ならびに、時分割メディアデータトラックに対する参照を含む参照または複合トラックとして送信される。各タイルトラックは、いくつかの時限サンプルの1つの空間的サブサンプル(例えばいくつかのネットワークアブストラクション層(NAL)ユニット)を含む。複合トラックから時分割メディアデータトラックを参照するために、拡張されたエクストラクタタイプが定義される。時分割メディアデータトラックは、表示可能でないとラベルされ、タイルのための時分割メディアデータを運び、それを記述する。このような一組の時分割メディアデータトラックおよび複合トラックは、空間ビデオタイルの選択、構成、および効率的なストリーミングを可能にする。各トラックは、一組のメディアセグメントファイルとしてサーバーからクライアントデバイスへ送信することができる。メディアセグメントファイルを復号化するのに必要なメタデータを送信するために、初期設定セグメントファイルを用いることができる。
図2は、httpによる通信ネットワーク上の適応メディアプレゼンテーションストリーミングの一般的原理を示す図である。http上のメディアストリーミングのための大部分のプロトコルおよび標準規格は、この原理に基づく。
図示するように、サーバー200は、メディアプレゼンテーション、その中でも特に、インタリーブビデオおよび音声コンポーネントを含むメディアプレゼンテーション205を含む。図3は、このようなメディアプレゼンテーションがどのように構築され得るかを模式的に示す。
符号化の間、メディアプレゼンテーションは、例えばMP4標準規格(ISO/IEC14496−14)に準拠するコンポーネントなどの、独立にアドレスされダウンロードすることができる、小さい独立した連続的な時間的コンポーネントに時間的に分割される。アドレス(すなわち、記載された実施形態のhttpアドレス)は、各取得された時間的コンポーネントの全てのセグメントについて、サーバー200によって設定され、図4を参照して説明するように、マニフェストが生成される。
上述したように、マニフェストは、所与のメディアプレゼンテーションについてアクセスすることができる全ての時間的コンポーネントのコンテンツを記述する文書であって、通常はXMLファイルである。このような記述は、メディアコンポーネントのタイプ(例えば音声、ビデオ、音声ビデオ、またはテキスト)、メディアセグメントの持続時間、およびメディアセグメントと関係するアドレス(例えばURL)、すなわちメディアコンポーネントを取得することができるアドレスを含むことができる。
通常は、MPDは階層データモデルに基づいている。それは、各期間が起動時間および持続時間を有する1つもしくは複数の期間から構成され、1つもしくは複数のアダプテーションセットから構成される。アダプテーションセットは、1つもしくは複数のメディアコンポーネントおよびその様々な符号化された代替例に関する情報を提供し、同じメディアコンポーネントの各符号化された代替例はリプリゼンテーションと呼ばれる。次に、各リプリゼンテーションは、通常、1つまたは複数のセグメントから構成される。
説明のために、メディアプレゼンテーション205のインタリーブ音声およびビデオデータは、連続する時間的コンポーネント、例えば3つの連続する期間に対応する3つの連続する時間的コンポーネント210−1〜210−3に、時間的に分割されている。これらのメディアコンポーネントの各々は、いくつかのメディアセグメント(図示せず)を収容する少なくとも1つのリプリゼンテーション(図示せず)を含む少なくとも1つのアダプテーションセット(図示せず)を含む。これらのセグメントのアドレスは、サーバー200によって設定される。時間的コンポーネント210−1〜210−3に関連する情報のこれらのアドレスおよび他の項目は、メディアプレゼンテーション205に対応するマニフェスト215でアクセス可能である。
このマニフェストファイルは、クライアントデバイス220に送られる(ステップ225)。受信した後に、メディアプレゼンテーション205のメディアコンポーネント210―1〜210―3のアクセス可能なメディアセグメント、これらのメディアセグメントのhttpアドレス、およびこれらのメディアセグメント間の関係を決定するために、マニフェストファイル215はクライアントデバイス220によって解析される。さらに、マニフェストファイル215は、メディアプレゼンテーションのコンテンツ(すなわち所与の例におけるインタリーブ音声およびビデオ)に関する情報の項目を与える。情報のこれらの項目は、解像度、ビットレート、および類似の情報を含むことができる。
したがって、この情報を考慮して、クライアントデバイス220は、これらのセグメントをダウンロードするための対応するhttp要求を受信し送信する(ステップ230)ために、メディアセグメントを選択することができる。それに応答して、サーバー200は、要求された時間的セグメントを送信する(ステップ235)。これらの時間的セグメントは、デコーダ240で復号化され、ディスプレイ245に表示することができる。
図3は、メディアプレゼンテーションおよび対応するマニフェストファイルを生成するためのステップを示す図である。このようなステップは、通常、図2のサーバー200などのサーバーによって実行される。
図示するように、音声データおよびビデオデータは、ステップ300およびステップ305の間にそれぞれ取得される。このようなデータは、例えば、通信ネットワークを介して、図3に示すステップを実行するサーバーに接続されたデータ記憶サーバーなどの外部ソースから取得することができる。
音声データは、ステップ310の間に圧縮される。このような圧縮は、例えば、MP3標準規格(MPEG−1/2音声層3)に基づくことができる。並行して、ビデオデータもステップ315の間に圧縮される。その目的のために、MPEG4、MPEG/AVC、SVC、HEVC、またはスケーラブルなHEVCのようなビデオデータ圧縮アルゴリズムを用いることができる。
音声データおよびビデオデータは、符号320および325でそれぞれ示すように、データ基本ストリームとして圧縮される。これらの基本ストリームは、グローバル・メディア・プレゼンテーション335を生成するために、ステップ330の間にカプセル化される。
例えば、グローバル・メディア・プレゼンテーションとして符号化された音声およびビデオの基本ストリームのコンテンツを記述するために、ISO BMFF標準規格(あるいは、説明のために、このISO BMFF標準規格のAVC、SVC、またはHEVCに対する拡張)を用いることができる。したがって、カプセル化されたメディアプレゼンテーションは、マニフェスト、例えばXMLマニフェスト345の生成(ステップ340)のための入力として用いられる。
DASHの特定の事例について上述したように、マニフェストファイル(MPD)は、コンポーネント(期間と関係する)、アダプテーションセット、リプリゼンテーション、およびセグメントによって階層的に構成される。言い換えれば、メディアプレゼンテーションは時間的期間に分割され、MPDは各期間に関連する全てのデータを含む。情報の対応する項目を受信することによって、クライアントデバイスは、期間ごとに、メディア・プレゼンテーション・コンテンツを決定することができる。
再び、このコンテンツはアダプテーションセットの中に構成され、可能性のある構成は、メディアプレゼンテーションに収容されたメディアタイプごとに、1つまたは複数のアダプテーションセットを有することになる。ビデオデータに関するアダプテーションセットは、通常、サーバーから入手可能な対応する符号化されたビデオデータコンポーネントの種々の可能性のあるリプリゼンテーションに関する情報の項目を収容する。説明のために、第1のリプリゼンテーションは、640×480画素の空間解像度で符号化され、500kbit/sのビットレートで圧縮されたビデオデータを対象とする。第2のリプリゼンテーションは、類似のビデオコンテンツを対象とするが、250kbit/sのビットレートで圧縮されている。それから、各リプリゼンテーションは、クライアントデバイスが対応するhttpアドレスを知っているという条件の下でhttp要求を用いて、クライアントデバイスによってセグメントとしてダウンロードすることができる。
各リプリゼンテーションのビデオデータとhttpアドレスとの間の関連は、時間的セグメントと呼ばれる特定レベルの記述を用いて作られる。したがって、各ビデオリプリゼンテーションは、時間的セグメント(通常は2、3秒の持続時間を有する)に分割される。したがって、各時間的セグメントは、特定のhttpアドレス(URLまたは1バイト範囲を有するURL)によりアクセス可能なサーバーに格納されたビデオコンテンツの一部である。
さらに、初期設定セグメントとして知られた特定のセグメントが生成されて、クライアントデバイスからアクセス可能になる。この初期設定セグメントは、カプセル化されたビデオストリームを記述する情報のMP4初期化項目を含むことができる(ビデオがISOBMFFまたは拡張を用いてカプセル化されている場合)。説明のために、情報のこれらの項目は、クライアントデバイスが、アクセスした圧縮されたビデオデータに関する復号化アルゴリズムを例示化するのを助ける。初期設定セグメントの、およびメディアセグメントのhttpアドレスは、MPDファイルにおいて与えられる。MPDファイルの一例は、付録(コード2の抽出)に与えられている。
付録に与えられているコード2の抽出は、所与のメディアプレゼンテーションのためのDASHマニフェスト(MPD)の一例を示す。この例の目的は、MPDの主要な特性を提示することである。明確にするために、この例で与えられるリプリゼンテーションは、時間的セグメントに分割されていないことに留意する必要がある。
このMPDの例では、2つのタイプのメディアデータが1つの期間に対して記述されている。第1のものは英語の音声ストリームであり、第2のものはビデオストリームである。
英語の音声ストリームは、‘audio/MP4’タイプの‘AdaptationSet’タグによって導入される。MPDは、この音声ストリームの2つのリプリゼンテーションを記述する。第1のリプリゼンテーション(インデックス1を有する:<Representation id=”1”…>)は、64,000(帯域幅=”64000”)バイト/秒に等しいビットレートを有するMP4のカプセル化された基本音声ストリームである。この例に示すように、この基本ストリームを扱うために用いるコーデック(mp4パース後)は、属性‘mp4a.0x40’ (<AdaptationSet …codecs=”mp4a.0x40”…>)によって、標準規格において定義される。この例によれば、リプリゼンテーションは、アドレス<BaseURL>7657412348.mp4</BaseURL>における要求によりアクセス可能であり、<BaseURL>はMPDにおいて‘http://cdn1.example.com/’または‘http://cdn2.example.com/’によって定義される(同じコンテンツをストリーミングするために2つのサーバーが利用できる)。したがって、クライアントデバイスは、アドレス‘http://cdn1.example.com/7657412348.mp4’、またはアドレス‘http://cdn2.example.com/7657412348.mp4’に対応する要求を用いて英語の音声ストリームを要求することができる。第2のリプリゼンテーション(インデックス2を有する:<Representation id=”2”…>)は、32,000バイト/秒に等しいビットレートを有するMP4のカプセル化された基本音声ストリームである。
ビデオストリームは、‘video/MP4’タイプの‘AdaptationSet’タグによって導入される。MPDは、このビデオストリームの6つのリプリゼンテーションを記述する。MPDに示すように、これらのリプリゼンテーションは、異なる空間解像度(320×240、640×480、および1280×720画素)、および異なるビットレート(256000から2048000バイト/秒)のビデオを収容する。これらのリプリゼンテーションの各々について、異なるURLが関係する。したがって、クライアントデバイスは、推定されているバンド幅およびスクリーン解像度などの基準の関数として、同じビデオデータのこれらの代替的リプリゼンテーションの中からから1つのリプリゼンテーションを選択することができる。
この例から、関心領域をストリーミングするためのタイルトラックの記述に関する従来のMPDの限界を理解することができる。タイルトラックが完全なビデオフレームのリプリゼンテーションとして記述され得るにもかかわらず、カプセル化に応じて、特にタイルトラックがタイルデータのみを含む場合には、タイルトラックは表示可能であり得ない。デコーダのための初期化データが失われるおそれがある。したがって、タイルトラックごとの従来のMPDおよび1つのリプリゼンテーションを用いて、クライアントデバイスは、タイルの組み合わせの可能性または非互換性に関する情報の項目を取得することができない。言い換えれば、各タイルは別のタイルの代替物として見られ、このようにして複数のタイル選択を防止している。信号で送ることができる唯一の組み合わせは、例えば複合トラックのリプリゼンテーション要素におけるdependencyIdとして既知の属性を用いる全てのタイルの組み合わせであるか、あるいは、フルフレームビデオがマニフェストにおいてそれ自体のリプリゼンテーションを有する場合には、全くタイルのない組み合わせである。この問題を解決するために、いくつかの実施形態について、以下本明細書で説明する。
上述したように、タイルは、ビデオフレームの独立に復号化可能な空間的領域である。
図4は、ビデオタイリング、およびそれがどのように圧縮されたビデオデータに適用されるかを示す図である。図示するように、ビデオストリーム400は、一組の連続する時間的フレームを含む(説明のために、3つの連続する時間的フレームを示す)。各フレームは、長方形、例えばタイルTn(nは1から8まで変化する)と呼ばれる符号405で示す8つの長方形に分割することができる。当然、タイルの数および形状は、異なってもよい。しかし、説明のために、考慮するビデオフレームのインデックスが何であれ、タイリングは同一であるとみなす。
タイリングの結果、独立な下位ビデオ(図示する例の8つ)が取得される。これらの下位ビデオは、符号410で示し、全体のビデオのパーティションである。各独立な下位ビデオは、例えば、AVCまたはHEVC標準規格に準拠した独立なビットストリームとして符号化することができ、あるいは、それはHEVCビットストリームのタイルまたはAVCのスライスなどの単一のビデオビットストリームの一部であってもよい。
ビデオのこのタイリング構成は、特にSVCまたはスケーラブルなHEVCなどのスケーラブルなビデオ符号化フォーマットを考える場合に、他の構成まで拡張することができる。
図11は、図11aおよび11bを含み、タイリング構成の例を示す図である。
図11aは、特定のタイリング構成を示す。図示するように、ビデオシーケンス(図示せず)のフレーム1100は、ベースレイヤフレーム1105を有するスケーラブルなビデオ、および8つのタイル部分(T1、T2、・・・、T8)に分割された空間的エンハンスメントレイヤフレーム1110として符号化される。ベースレイヤは、タイル化されていない。したがって、エンハンスメントレイヤの各タイル(例えば、エンハンスメントレイヤフレーム1110の各タイル部分)は、ベースレイヤ全体に従属している。このようなフレーム構成では、部分1115などの画像の一部がフレームの空間的部分(例えばフレーム1100の右下部分)をストリーミングするために選択される場合には、選択されたタイル(例えばタイルT6およびT8)およびベースレイヤが必要である。図11aに示すように、選択された部分1115は、関心領域を表し、2つのタイルT6およびT8、ならびにベースレイヤ1105に包含されている。
図11bは、別の特定のタイリング構成を示す。図示するように、フレーム1150を含むビデオシーケンスは、タイル化ベースレイヤ(すなわちタイルベースレイヤフレーム1155)およびタイル化に基づく空間的従属性を有するタイル化空間的エンハンスメントレイヤ(すなわちタイル化空間的エンハンスメントレイヤフレーム1160)として符号化される。エンハンスメントレイヤの1つのタイルは、ベースレイヤの同じ位置にあるタイルだけに従属する。このような構成では、ユーザーがROI1165などの関心領域を選択する場合には、エンハンスメントレイヤフレーム1160の2つのタイルT6およびT8、ならびにベースレイヤフレーム1155の2つの参照タイルT06およびT08を必要とする。
図12は、SNR(信号対雑音比)タイプのスケーラビリティのためのタイリング構成の一例を示す図である。このような構成では、エンハンスメントレイヤのタイル、例えばフレーム1200のエンハンスメントレイヤフレーム1210のタイル部分T1〜T2は、ベースレイヤの同じタイル、例えばベースレイヤフレーム1205のタイル部分T01〜T08に従属する。従属性は、タイルに基づいている。このような場合には、ユーザーがストリーミングのための画像部分、例えばフレーム1200の領域1215を選択する場合には、エンハンスメントレイヤのタイルは、ベースレイヤの対応する従属するタイルと共にストリーミングされる。例えば、エンハンスメントレイヤフレーム1210のタイル部分T6およびT8はベースレイヤフレーム1205のタイル部分TO6およびT08と共にストリーミングされる。
ユーザーにより選択された関心領域は、1つあるいは複数の隣接するタイル(例えば、図11および図12に示す例のタイルT6およびT8の組み合わせ、または図4に示す例のタイルT6およびT2の組み合わせ)に対応することができる。
上述したように、本発明の実施形態は、特に、HEVCビデオフォーマットに適用することができる。
HEVC標準規格によれば、画像は、タイル、スライス、およびスライスセグメントに空間的に分割することができる。この標準規格では、タイルは、水平境界および垂直境界(すなわち、行および列)によって規定される画像の長方形領域に対応する。それは、整数個の符号化ツリーユニット(CTU)を含む。したがって、例えば、関心領域の位置およびサイズを定義することによって、関心領域を識別するために、タイルを効率的に用いることができる。しかし、HEVCビットストリームの構造、ならびにネットワークアブストラクト層(NAL)ユニットとしてのそのカプセル化は、タイルについて構成されておらず、スライスに基づいている。
HEVC標準規格では、スライスはスライスセグメントの組であって、1組のスライスセグメントの最初のスライスセグメントは、独立なスライスセグメント、すなわち、ヘッダー内に記憶された一般情報が別のスライスセグメントの一般情報を参照しないスライスセグメントである。一組のスライスセグメントの他のスライスセグメントは、もしあれば、従属するスライスセグメント(すなわち、ヘッダー内に記憶された一般情報が独立なスライスセグメントの一般情報を参照するスライスセグメント)である。
スライスセグメントは、整数個の連続する(ラスター走査順の)符号化ツリーユニットを含む。したがって、スライスセグメントは長方形の形状であっても、そうでなくてもよく、したがって関心領域を表すことには適していない。それは、HEVCビットストリーム、すなわちスライスセグメントデータが後に続くスライス・セグメント・ヘッダーの形式で符号化される。独立なスライスセグメントおよび従属するスライスセグメントは、それらのヘッダーによって区別され、従属するスライスセグメントは独立なスライスセグメントに従属するので、そのヘッダーの情報量は独立なスライスセグメントのヘッダーより小さい。独立なスライスセグメントおよび従属するスライスセグメントの両方は、タイルを定義するために用いられる対応するビットストリーム中のエントリ点、またはエントロピー復号化同期点としてのエントリ点のリストを含む。
図5は、図5a、図5b、および図5cを含み、タイルおよびスライスセグメントの例を示す図である。より正確には、図5aは、垂直境界505−1および505−2ならびに水平境界510−1および510−2によって9つの部分に分割された画像(500)を示す。符号515−1〜515−9で示す9つの部分の各々は、特定のタイルを表す。
図5bは、垂直境界505’によって区切られた2つの垂直タイルを含む画像(500’)を示す。画像500’は、5つのスライスセグメント、すなわち1つの独立なスライスセグメント520−1(ハッチング線で示す)および4つの従属するスライスセグメント520−2〜520−5を含む単一のスライス(符号なし)を含む。
図5cは、垂直境界505”によって区切られた2つの垂直タイルを含む画像(500”)を示す。左のタイルは、2つのスライス、すなわち、1つの独立なスライスセグメント(520’−1)および1つの従属するスライスセグメント(520’−2)を含む第1のスライスと、1つの独立なスライスセグメント(520’−3)および1つの従属するスライスセグメント(520’−4)を含む第2のスライスと、を含む。右のタイルは、1つの独立なスライスセグメント(520’−5)と、1つの従属するスライスセグメント(520’−6)と、を含む、1つのスライスを含む。
HEVC標準規格によれば、スライスセグメントは、以下のように要約することができるルールに従って、タイルにリンクされる(一方または両方の条件が満足されなければならない)。1つのスライスセグメントの全てのCTUは、同じタイルに属する(すなわち、1つのスライスセグメントはいくつかのタイルに属することができない)。そして、1つのタイルの全てのCTUは、同じスライスセグメントに属する(すなわち、1つのタイルはいくつかのスライスセグメントに分割することができるが、ただし、これらのスライスセグメントの各々はそのタイルだけに属する)。
明確にするため、以下では、1つのタイルがただ1つの独立なスライスセグメントを有する1つのスライスを含むと考える。しかし、本発明の実施形態は、図9bおよび図9cに示したように、他の構成によって実施することができる。
上述したように、タイルは関心領域に対する適切なサポートとみなすことができるが、スライスセグメントは通信ネットワーク上の輸送のためにNALユニットに実際に配置され、アクセスユニット(すなわちファイルフォーマットレベルの符号化画像またはサンプル)を形成するように集められた実体である。
HEVC標準規格によれば、NALユニットのタイプが以下のように定義することができるNALユニットヘッダーの2バイトに符号化されることを想起すべきである。
nal_unit_header () {
forbidden_zero_bit
nal_unit_type
nuh_layer_id
nuh_temporal_id_plus1

スライスセグメントを符号化するために用いられるNALユニットは、スライス・セグメント・アドレス・シンタックス要素のおかげで、スライスセグメントの最初のCTUのアドレスを示すスライス・セグメント・ヘッダーを含む。このようなスライス・セグメント・ヘッダーは、以下のように定義することができる。
slice_segment_header () {
first_slice_segment_in_pic_flag
if(nal_unit_type >= BLA_W_LP && nal_unit_type <= RSV_IRAP_VCL23)
no_output_of_prior_pics_flag
slice_pic_parameter_set_id
if(!first_slice_segment_in_pic_flag){if(dependent_slice_segments_enabled_flag)
dependent_slice_segment_flag
slice_segment_address

If(!dependent_slice_segment_flag){
[…]
タイリング情報は、PPS(画像パラメータセット)NALユニットで提供される。その結果、スライスセグメントとタイルとの間の関係は、これらのパラメータから導き出すことができる。
空間的予測はタイル境界上でリセットされる(定義によって)が、タイルが参照フレームの異なるタイルからの時間的予測を用いることは妨げるものはない。したがって、独立なタイルを構築するために、予測ユニットのための運動ベクトルは、符号化の間、参照フレームの同じ位置に配置されたタイルに留まるように、タイル内部に有利に拘束される。さらに、1つのタイルだけを復号化する場合に誤差変動がもたらされないように、ループ内フィルタ(非ブロッキングおよびサンプル適応可能なオフセット(SAO)フィルタ)は、好ましくはタイル境界上で非アクティブである。ループ内フィルタのこのような制御がHEVC標準規格において利用できる点に留意する必要がある。それは、loop_filter_across_tiles_enabled_flagとして知られるフラグにより、スライス・セグメント・ヘッダーにセットされる。このフラグをゼロに明示的にセットすることによって、タイル境界の画素は、隣接するタイルの境界にある画素に依存しないようにすることができる。運動ベクトルおよびループ内フィルタに関するこれらの2つの条件が満たされる場合には、タイルは「独立に復号化可能なタイル」または「独立なタイル」とみなすことができる。タイル符号化従属性に関するこの情報は、ROI情報を信号で送るために、HEVCビットストリームの専用SEI(補足的な拡張情報)メッセージにセットすることができる。
ビデオビットストリームが1組の独立なタイルとして符号化されると、それは、参照データを失うリスクまたは再構築誤差の伝搬のリスクを伴わずに、1つのフレームから別のフレームまでタイルベースの復号化を可能にする。その後、この構成は、例えば、図4に示す関心領域(タイルT2およびT6を含む)、または図11および図12に示す関心領域(タイルT6およびT8を含む)に対応することができる、元のビデオの空間的部分だけを再構築することを可能にする。このような構成、独立なタイル、およびタイルに基づく従属性は、ビデオビットストリームのSEIメッセージに示すことができる。これは、タイルに基づく復号化の信頼性が高いことを示すために、カプセル化および記述レベルにおいて利用することができる。
マニフェストに記述される前に、各タイルは、標準フォーマットでカプセル化されるために処理されなければならない。このようなカプセル化段階については、図6を参照して説明する。説明のために、カプセル化フォーマットは、ISO BMFF標準規格に対応する(あるいは、この標準規格に準拠するメディアファイルの拡張である)。これは、MPEG/DASH標準規格が構築ガイドラインを特定するフォーマットの1つである。
独立なタイルは、カプセル化モジュールの入力として提供され、各タイルはカプセル化のための独立なトラックとみなされる。符号化されたタイルごとに、作成されたISO BMFFファイルにおいてタイルトラックが定義される。それから、各タイルトラックは、全体の(またはフルフレーム)ビデオの空間的部分を表す。オーディオトラックまたはテキストトラックなどの付加的なトラックを用いることができて、同じファイルにカプセル化することができる。
複合トラックは、ISO BMFFファイルにおいて生成され定義される。それは、タイルの任意の組み合わせを扱うために用いられる。
タイルトラックおよび複合トラックの構成によれば、タイルデータは、タイルトラックの任意の組み合わせがタイルトラックを参照する複合トラックから容易に構築され得るように、独立でアドレス可能なトラックに分割される。
タイルトラックごとに、タイル位置、タイルサイズ、およびバンド幅などの情報のタイル項目は、トラックヘッダー、例えば「moov」ボックスとして知られたトラック・ヘッダー・ボックスに記憶される。ストリーミングのために、情報のこれらの項目は、DASH標準規格で定義された初期設定セグメントに記憶することができる。
初期設定セグメントに加えて、カプセル化処理は、小さい期間に対応するセグメントファイル(MPDが生成される時に、URLによりアクセスすることができるメディアセグメント)を生成する。セグメントは、通常、ムービーフラグメント(例え「moof」および「mdat」として知られたボックス)に対応する。1つのmp4セグメントファイルは、ビデオの各時空的部分がアドレス可能になるように、ムービーフラグメントごとに、およびタイルトラックごとに生成される。
複合トラックは、同じ時間分割に従い、一時的にアドレスすることもできる。それは、エクストラクタ、通常はmp4エクストラクタから主に構成され、各エクストラクタは1つのタイルトラックを参照する。それは、パース時に、データの欠如をサポートする特定のエクストラクタも含む。もちろん、ムービーフラグメントおよび対応するmp4セグメントの数ならびにそれらの粒度は、限定されない。選択は、アプリケーションの機能として行われる。
カプセル化処理は、メディアプレゼンテーションに含まれるビデオをマニフェストに記述するマニフェスト生成器によって用いられる。
図6は、所与の時間的期間の連続するビデオフレームの空間部分を表現する有効な復号可能な時分割メディアデータ・ビットストリームを構築するために、ダウンロードされたメディアデータセグメントを連結する例を示す図である。同じ図は、他の時間的期間について繰り返すことができる。
上述したように、タイル化時分割メディアデータ・ビットストリームは、好ましくは、1つの初期設定セグメントファイルおよび複数のメディアセグメントファイルを含む一組のデータとして送信され、後者はいくつかのタイルトラックおよび1つの複合トラックを含む。
初期設定セグメントファイルは、各トラック上の一般情報、特にトラックのタイプ(例えばメディアトラック(音声もしくはビデオ)またはタイルトラック)、符号化フォーマット、フレーム解像度、およびトラック(トラック参照ボックス「tref」において与えられる)間の従属性を提供するムービーボックス600(「moov」)を含む。これらのデータは、ダウンロードされたメディアセグメントファイルを処理するために用いられる。初期設定セグメントファイルのムービーボックスのコンテンツは、特に、以下を含むことができる。
MOOV
−トラック1:タイルa
−トラック2:タイルb
−トラック3:タイルc
−トラック4:タイルd
−トラック5:タイルe
−トラック6:複合トラック
図6は、必要なメディアセグメントファイル(ここではタイルaおよびタイルcに対応する)だけをサーバーからダウンロードする場合に、メディアセグメントを連結することによって得られるファイルフォーマットを概略的に示す。このような機構は、特に、各タイルが全体のベースレイヤに従属する(図11aを参照して説明したように)スケーラブルなビデオストリームの場合には、必要とするメディアセグメントファイルだけのダウンロードを可能にするだけではなく、重複するデータのダウンロードを防止することもできる点に留意すべきである。
図示するように、複合トラック605は、タイルトラック615および620からのデータを参照することによって、および、欠損データを参照するエクストラクタ(例えば、タイルbと関係するタイルトラックからのデータを参照するエクストラクタ)を適切に扱うことによって、有効な復号化可能な時分割メディアデータ・ビットストリーム610を構築することを可能にする。
取得されたファイルフォーマットは、スケーラブルなファイルフォーマット定義に準拠する。例えば、クライアントデバイスは、この領域を選択することにより、タイルaおよびタイルcに対応する関心領域を再生することを決定することができる。またクライアントデバイスは、それが複合トラックを再生し続ける間に、後の時間的期間において異なる「タイルトラック」(すなわちメディアセグメントファイル)をダウンロードすることによって、表示されるタイルを変更することもできる。
有効な時分割メディアデータ・ビットストリーム610は、クライアントデバイスによって受信された連結されたメディアセグメントから、より正確には、複合トラックがクライアントデバイスによって再生される場合に選択されたタイルから、生成される。
複合トラック600を含む、以前要求されたメディアセグメントファイルを受信した後に、複合トラック600は、メディアデータボックス「mdat」から、第1のデータの項目(または、受け取ったメディアセグメントの少なくとも1つのデータの項目が処理されている場合には、データの次の項目、通常はNALユニット)を抽出するために、パースされる。
次に、抽出されたデータの項目(例えば、抽出されたNALユニット)がエクストラクタ(EXT)に対応するか否かを決定するために、テストが実行される。抽出されたデータの項目がエクストラクタに対応しない場合には、それはビデオデコーダによってさらに復号化されるように戻される。逆に、抽出されたデータの項目がエクストラクタである場合には、それを参照しているデータの項目と置き換えなければならない。そのために、エクストラクタのパラメータの値は、その構造から取得される(エクストラクタは、別のトラックからデータを抽出するために必要な全てのパラメータ値(例えば、トラック参照インデックス、サンプルオフセット、データオフセット、およびデータ長として知られるパラメータ)を含む)。
一旦参照されたトラックの識別子が識別されると、参照されたトラックがバッファされた一組のメディアセグメントファイルで利用可能か否かを決定するために、テストが実行される。クライアントデバイスが選択された関心領域に対応するメディアセグメントファイルだけをダウンロードするので、いくつかのタイルトラックは失われていることを想起すべきである。
参照されたトラックがバッファされた一組のメディアセグメントファイルで利用可能な場合には、エクストラクタはそれが参照しているデータと置き換えられ、ビットストリームは復号化するためにビデオデコーダに送られる。
参照されたトラックがバッファされた一組のメディアセグメントファイルで利用できない場合には、エクストラクタで参照されるデータの欠如はISO BMFF標準規格により致命的エラーとなるので、特定のステップを実行する必要がある。参照されたトラックがタイルトラックであるか否か(参照されたトラックは従属するスケーラビリティ層に対応することができる)、およびエクストラクタがタイルタイプであるか否かを決定するために、テストが実行される。
参照されたトラックがタイルトラックでない場合、または、エクストラクタがタイルタイプでない場合には、標準致命的エラーが検出される。逆に、参照されたトラックがタイルトラックである場合で、かつ、エクストラクタがタイルタイプである場合には、エクストラクタは除去されるか、あるいは、エクストラクタは、時分割メディアデータ・ビットストリームを符号化するために用いる符号化フォーマットに応じて、失われたタイルの「スキップされた」データを含む代わりの「パディングトラック」または「パディングボックス」からのパディングと置き換えられる。ここで、「スキップされた」データは、同じスケーラブルな層に属するか、または別のスケーラブルな層に属する、前に復号化された画像から取得された他の画素データと置き換えられた、現行の画像から失われた画素データを表す。スキップされたデータは、一般に少なくとも1つのフラグによって表される。例えば、HEVCビデオ圧縮フォーマットを考慮すると、パディングデータは1にセットされたスキップフラグによって符号化された符号化ユニットを排他的に含む1つまたは複数のNALUであってもよい。
次に、ビットストリームは、復号化するためにビデオデコーダに送られて表示され、そして、続くデータの項目を扱うために、処理はループする。
上述したように、現行のマニフェスト、特にMPDは、一組の任意の切換可能なコンポーネントとして、ビデオストリームを記述することができない。さらに、データをストリーミングするために用いるカプセル化方式によれば、表示することができる唯一のビデオトラックは、複合トラック(すなわちエクストラクタの解像度)のmp4パーシングから得られるものである。タイルトラックは、単独で表示可能であるようには意図されていない。したがって、マニフェストは、アドレス可能なビデオリプリゼンテーションとして複合トラックを記述することを意図している。しかし、複合トラックは、それがタイルトラックを指し示すエクストラクタで構築されるので、いかなるデータ(いくつかのタイルトラックに共通するヘッダー情報を除く)も含まない。これは、タイルトラックもマニフェストに記述されなければならないこと、そして、クライアントデバイスによるタイル選択に応じて、これらのタイルのいくつかもダウンロードされなければならないことを意味している。
DASH/MPD標準規格で定義したように、メディアプレゼンテーションのタイルトラックなどの任意コンポーネント(例えばユーザーにより選択することができるコンポーネント)を記述する可能な方法は、SubRepresentationとして知られた構造の使用に基づく。この構造は、リプリゼンテーションに埋め込まれた1つまたはいくつかのコンポーネントの特性を記述する。
付録に与えられているコード3の抽出は、ビデオのコンポーネントとしてタイルトラックを記述するDASHマニフェストの一例を示す。説明のために、1つの期間だけを表現しているが(タグ <Period> … </Period>)、続くコンポーネントも同様である。示しているように、第1のアダプテーションセット(<AdaptationSet id=’1’…>)は、SVCまたはHEVCのスケーラブルな標準規格に従って符号化することができる記述されたスケーラブルなビデオのベースレイヤトラックから構成される特定のコンポーネントを記述するために用いられる。ベースレイヤは、識別子「R1」(<Representation id=’R1’…>)を有する単一の表現として記述される。第2のアダプテーションセット(<AdaptationSetid=’2’…>)は、スケーラブルなビデオの最も高い解像度層を記述するために用いられる。
ベースレイヤへのいかなる従属性もなしに(すなわち、いかなる従属性識別子属性もなしに)、非スケーラブルなビデオのマニフェストが第2の表されたものに類似する単一のアダプテーションセットを含む点に留意する必要がある。
第2のアダプテーションセットでは、別の単一のリプリゼンテーションが記述され(<Representation id=’R2’…>)、これは、表示可能なビデオに対応するものである。それは、クライアント要求のための対応するURLを有するセグメントのリスト(<segmentList> … </SegmentList>)として記述される。パラメータdependencyIdにより示されるように、表現‘R2’は、表現‘R1’(dependencyId=‘R1’)、すなわち第1のアダプテーションセットからのベースレイヤ表現に従属する。
このような従属性は、対応する現行のエンハンスメントレイヤセグメントを取得する前に、最初に現行のベースレイヤセグメントを要求することを、クライアントデバイスに強制する。この方法で参照されるトラックがクライアントによって自動的にロードされるので、これはタイルトラックに関する従属性を表すために用いることができない。本発明の実施形態の目的は、メディアプレゼンテーションの間のいかなる時にも関心のあるタイル(すなわち関心領域)をユーザーに選択させることであるから、これは回避すべきことである。
コンポーネント間の、特に複合トラックとタイルトラックとの間の従属性を信号で送ることは、SubRepresentationタイプの要素によって行われ、表示可能なビデオは、下位リプリゼンテーションのリスト(<SubRepresentation…>)として表現される。各下位リプリゼンテーションは、カプセル化されたファイル(例えば、カプセル化されたmp4ファイル)のトラックを表す。したがって、1つの下位リプリゼンテーションは、各タイル(付録のコード3の抽出に示す例における4つのタイルTa〜Td)および複合トラック(付録のコード3の抽出に示す例におけるCT)に関係する。
各下位リプリゼンテーションは、それがタイルトラック(<Role schemeIdUri=’tiling’>)に対応するか、あるいは、複合トラック(<Role schemeIdUri=’role’>)に対応するか、を示すために、コンテンツコンポーネント要素(<ContentComponent …>)によって記述される。これは、タイリング記述の特定の方式を有するDASH/MPD標準規格において利用可能なRole(役割)記述子タイプを用いて表される。この役割はまた、フルフレームビデオにおけるタイルの位置(<Role … value=’x,y’>)を示す。説明のために、識別子「Ta」を有するタイル・コンテンツ・コンポーネントは、ビデオの左上(第1行および第1列に対する1:1)にあるタイルを記述する。
タイルの寸法(幅および高さ)は、MPDにより許容される下位リプリゼンテーションの属性として指定される。バンド幅値は、例えば、図12を参照して説明したようにSNRスケーラビリティが利用できる場合には、バンド幅基準に従って代わりのタイルバージョンを選択する際にDASHクライアントデバイスを助ける下位リプリゼンテーション属性として示すこともできる点に留意する必要がある。
複合トラックは、それらのダウンロードが必須である(ダウンロード終了時に復号可能なビデオストリームを構築できるようにするために)ことを示すように、特定の方法で信号で送られる。このような特徴を示すために、関連したコンテンツコンポーネントの記述子は、それが全てのコンポーネントのうちの主要なコンポーネントであることを示す(<Role … value=’main’/>)。さらに、関係するデータがクライアントデバイスによって要求されなければならないことを示すために、対応する下位リプリゼンテーションにおいて、新規な属性「required」が追加される(<SubRepresentation … contentComponent=’CT’ required>)。
複合トラックに対する、または、1つもしくは複数のタイルトラックに対する全ての要求は、セグメントリスト(<SegmentList>)に提供されたURLから時間間隔ごとに1つ計算される。図示する例(<SegmentURL media=≪ URL_X index_range=≪ 0−43 ≫ ≫/>)によれば、URL URL_Xは、クライアントデバイスがそれに基づいてHTTP GETタイプの要求を生成することができる完全なURLを定義するために、MPDの始めに定義したように、ベースURL BaseURLと結合される。しかし、こうすることによって、クライアントデバイスは、複合トラックのためのデータならびに全てのタイルトラックのための全てのデータを取得する。したがって、用いられる通信ネットワーク上の伝送を最適化するために、第1の要求は、URLのindex_range属性(例えば index_range=≪ 0−43 ≫)を用いて、セグメントインデックス情報(sidxおよびssixと呼ばれ、図7を参照して説明する)を対象とする。次に、取得されたセグメントインデックス情報は、コンポーネントの各々のバイト範囲を決定するために、および、選択されたトラック(必要とされる複合トラックを含む)があるのと同程度に、適切なバイト範囲を有するHTTP GETタイプの多くの要求を実行するために、パースされる。
図7は、タイルトラックを信号で送るための下位リプリゼンテーションを用いるのに好適であるmp4構成の一例を示す図である。
図示するように、カプセル化されたデータ700のストリームは、初期化データを格納するために、「sidx」および「ssix」ボックスと同様に、「ftyp」、「moov」および「mvex」として知られるボックスを含む。
「moov」ボックスは、特に、トラックの定義を含む。
タイルデータは、シーケンシャルに次々にセグメントに構成され、各セグメントは、考慮されたセグメントの各タイルのデータを含む。データは、メタデータに特有の初期化データを含む「moof」ボックスの後にある「mdat」ボックスに格納される。
符号705および710で示すように、「sidx」ボックスに格納された情報の項目は、各セグメント(全てのタイルについて)の始まりおよび長さをバイト単位で定義し、「ssix」ボックスに格納された情報の項目は、各タイルセグメントの長さをそれぞれ定義する。アンカー点(715)は、「ssix」ボックスの始まりとして定義される。したがって、セグメントデータ(「moof」および「mdat」ボックス)は、アンカー点に「ssix」ボックスの長さが追加されて定義されるアドレスから始まる。
この実施形態によれば、マニフェストの既存の要素が再利用される。したがって、それは、マニフェストにおいて最小の修正を必要とする。しかし、それは、クライアントデバイスに対して、タイルデータをアドレスするために用いるバイト範囲を決定することを可能にするために、特定のmp4セグメントインデックス(例えば「mvex」ボックスの「leva」パラメータ、ならびにsidxおよびssixボックスのパラメータ)をパースすることが可能であることを要求する。さらに、それは、セグメントインデックス要求の遅延、およびビデオデータを要求する位置にある前にパーシングを引き起こす。
メディアリプリゼンテーションの任意コンポーネントを記述するための別の実施形態によれば、コンポーネントは、それがあるままに、すなわち、フルフレームビデオの実際の空間的部分または空間的下位リプリゼンテーションとして、明示的に記述される。
DASH標準規格に基づく、およびこの実施形態によるマニフェストの一例は、付録(コード4の抽出)に示されている。説明のために、1つの期間だけを表現しているが(タグ<Period> … </Period>)、続くコンポーネントも同様である。
所与の例によれば、マニフェストは、所与の期間に2つのリプリゼンテーションを含み、一方は、スケーラブルなビデオのベースレイヤからなる特定のコンポーネントであり、他方は、同じスケーラブルなビデオ(エンハンスメントレイヤの空間的部分を表すコンポーネント)のエンハンスメントレイヤである。この第2のリプリゼンテーションは、スケーラブルな符号化(SVC、スケーラブルなHEVC、または任意の階層化した符号化)により、第1のリプリゼンテーションに従属する。示されているように、このような従属性はdependencyId属性(<Representation … id=”EL1” dependencyId = ”BL1” … >)によって表現される。
従属性に関しては、第2のリプリゼンテーションは、特定の信号送信を必要とするその空間的部分にも従属する。その目的のために、新規な要素は、リプリゼンテーションの「child」を特徴づけるために定義される。このような新規な要素は、空間的下位リプリゼンテーション(<SpatialSubRepresentation … dependencyId=” ” …>)と呼ばれる。タイルトラックごとに、1つの空間的下位リプリゼンテーションが用いられる。したがって、記載した例では2つのタイルが考慮されているので、2つの空間的下位リプリゼンテーションが用いられる。
付録に与えられているコード6の抽出は、この新規な要素(<xs:element name=”SubRepresentation” type=”SubRepresentationType” minOccurs=”0” maxOccurs=”unbounded”/>)をサポートするための、MPD XMLスキーマの修正を示し、コード7の抽出は、MPD要素のこの新規なタイプのXMLスキーマ(<xs:complexType name=”SpatialSubRepresentationType”>)を提供する。
具体的には、それは、空間的下位リプリゼンテーションによって表される空間的領域の位置を記述するために、2つの必須の属性(<xs:attribute name=”posx” type=”xs:unsignedInt” use=”required”/>および<xs:attribute name=”posy” type=”xs:unsignedInt” use=”required”/>)を含む。マニフェストがXML標準規格に基づいているので、XMLスキーマ記述が用いられているが、任意の構造記述言語を用いることができる点に留意する必要がある。
上述した実施形態と比較して、この実施形態は、各空間的下位リプリゼンテーション内のセグメントリスト(<SegmentList …>)を通して、タイルごとの直接的なアドレッシングを可能にする。
これは、特に、クライアントデバイスがmp4ボックスをパースするために構成されることを回避する。
第2のリプリゼンテーション(<Representation mimeType=”video/hevc” codecs=”hvc1.4D401E” id=”EL1” dependencyId = ”BL1” bandwidth=”1024000” width=”1920” height=”1080”>)のための、付録のコード4の抽出に与えられている例の最後のセグメントリスト(<<SegmentList duration=”10”> <SegmentURL media=”seg−EL1−1.mp4”/> <SegmentURL media=”seg−EL1−2.mp4”/> </SegmentList>)は、複合トラックのデータをストリーミングするためのURLに対応する。
ビデオタイプのリプリゼンテーションの空間的下位リプリゼンテーションをパースする場合には、クライアントデバイスは、それをこのリプリゼンテーションの任意コンポーネントとみなさければならない。
逆に、リプリゼンテーションの下で直接提供されるセグメントリスト(またはセグメントテンプレート、または時間的セグメントをアドレスするための任意の手段)は、クライアント側で表示可能なビデオを取得するために、ダウンロードされる。リプリゼンテーションに関係するバンド幅は、全てのタイルをダウンロードするために要求されるバンド幅を示す。空間的選択に基づくバンド幅の適合について、各空間的下位リプリゼンテーションのバンド幅パラメータを考慮することができる。
空間的下位リプリゼンテーションがより下層のスケーラビリティ層を参照するために従来の従属性機構(dependencyId)を用いることができるので、図11bを参照して説明するように、この実施形態がタイルベースのスケーラビリティをサポートするという点に留意する必要がある。これは、特に、各層で(そして、図11に示す所与の例のように最も高い解像度レベルだけでなく)タイリングが利用できるスケーラブルなビデオストリームを扱うのに有用であり得る。それはまた、容易に理解できるという利点を有し、全てのタイル情報は、マニフェストのパージングの後に(様々な属性を通して)直接利用できる。この情報は、タイリング構成、特に層間タイル従属性を記述するHEVCに含まれるSEIメッセージを読み出すことにより、サーバー200によってマニフェストに入れることができる。
さらに、より精緻な適合可能性をクライアントデバイスに提供するために、この記述を用いて、タイルごとに、タイルサイズに関して、またはバンド幅に関して、代わりの空間的下位リプリゼンテーションを記述することができる。これは、図12に示すような構成に役立つことができる。実際、SNRスケーラビリティの場合には、ユーザーは異なる品質でビデオに対する空間的アクセスを有し、同じ空間的領域を保持しつつ、1つの品質レベルから別の品質レベルへ動的に切り換えることを決定することができる。
これは、付録に与えられているコード5の抽出に示してあり、1つのAdaptationSetだけが2つのリプリゼンテーションで記述されている。1つはベースレイヤについて、1つはSNRエンハンスメントレイヤについてである。各層は、一組の空間的下位表現を有する。タイル間従属性は、エンハンスメントレイヤからベースレイヤへのグローバルな従属性を除去して、タイルに基づく従属性を特定するより精緻な方法で表現することができる点に留意する必要がある。したがって、ユーザーが一組のタイルを選択する場合には、ベースレイヤの対応するタイルだけがストリーミングされ、バンド幅リソースを節約する。さらに、このような記述は、それぞれのバンド幅を考慮して、異なる品質でタイルを結合することによって、より精緻な適合を提供する。これらのSNRタイル(図12に示すように)は、タイル位置ごとに、品質および関連するバンド幅に関する交互の空間的下位表現(図示する例では示していない)を含む1つの表現だけで、記述することができる。最後に、このような記述は、それがセグメントおよび表現に基づいたままであるので、DASHの動的な適合を壊さない。
別の実施形態によれば、任意コンポーネントの記述は、付録のコード8の抽出に示すように、記述子を参照してセグメントレベルでなされる。
説明のために、2つの層を有するスケーラブルなビデオが考慮されている。各層は、それ自体のアダプテーションセットに記述され、ベースレイヤについては(<AdaptationSet id=‘1’ …>)であり、エンハンスメントレイヤについては(<AdaptationSet id=‘1’ …>)であり、後者は空間的タイルを有するビデオストリームに対応する。唯一の表現がこのアダプテーションセットにおいて提供され、それは複合トラックからなる特定のコンポーネントに対応する。しかし、上述したように、少なくとも1つのタイルトラック(任意コンポーネント)が、表示可能なビデオの生成を可能にするためにダウンロードされなければならない。
示されているように、タイルトラックのアドレス(例えばURL)は、複合トラックの主要URLと同じレベルでURLのリスト(<SegmentList> <SegmentURL media=≪ URL_CT ≫ related=≪ URL_TaURL_Tb URL_Tc URL_Td≫ type=≪ Ta Tb Tc Td≫/> </SegmentList>)に与えられている。記述パラメータは複合トラックのURLと関係しているが、これは任意のURLのリストについては当てはまらない。これらの任意のURLを記述するために、各URLに関する情報を提供する記述子(ContentComponent id=‘Ta’ …>,<ContentComponent id=‘Tb’ …>, <ContentComponent id=‘Tc’ …>, および <ContentComponent id=‘Td’…>)に対する参照のリストがそのリストの後に続く。コード8の抽出に示す例では、記述子は、コンテンツコンポーネント要素に置かれた役割タイプの要素である。タイルトラックごとに、1つのコンテンツコンポーネントがある。役割タイプの要素は、各タイルの情報を提供するために用いられ、上述したものに類似する。タイル位置に加えて、それらは、タイルサイズおよびバンド幅情報を含むこともできる。
付録のコード9の抽出は、URLセグメントと同じレベルで置かれる任意の属性(<xs:attribute name=”related” type=”URLVectorType”/>, <xs:attribute name=”relatedRange” type=”StringVectorType”/>, および <xs:attribute name=”type” type=”StringVectorType”/>)を有するセグメントURL要素(XMLスキーマにおいて)の拡張の一例を示す。その目的のために、パラメータの新規なタイプは、URLのリスト(<xs:simpleType name=”URLVectorType”> <xs:listitemType=”xs:anyURI”/> </xs:simpleType>)を記述するために定義される。
図8は、前述の実施形態によるタイル記述を含むマニフェストを処理するためのクライアントデバイスで実行される処理ステップを示すフローチャートである。
最初の図示するステップ800〜820は、タイリング情報が存在しない場合に、主としてマニフェスト(MPD)をロードしてパースすることから成るDASH標準規格による標準ステップである。
例えばタイリングschemeIdUriパラメータ値を含む役割要素の存在を検出することによって、あるいは、マニフェストの空間的下位リプリゼンテーション要素の存在を検出することによって、ステップ815でタイリングが検出される場合には、タイリング記述子または空間的下位リプリゼンテーションのいずれかをパースすることによって、符号830で示すものと類似のタイルインデックステーブルが構築される(ステップ825)。タイリング構成は、例えば、表示が開始されているビデオの上に重ね合わせられるグリッドとして、ユーザーに対して表示することができる(ステップ835)。
次に、ストリーミング処理中のいかなる時にも、ユーザーは、集中したい一組の1つまたはいくつかのタイルを選択することができる(ステップ840)。対応するURL(インデックステーブル830の第3列に格納される)によっていくつかの要求が実行されなければならないということをアルゴリズムを実行するクライアントデバイスが知るように、タイルインデックステーブルにおいて、選択されたタイルはアクティブであるとマークされる(ステップ845)。
それから、プレゼンテーション(ステップ850)の各時間的セグメントで、すなわち各期間で、反復プロセスが開始され、その間に、各アクティブタイルの位置が、関連するURLと共にタイルインデックステーブルから読み出される(ステップ855および860)。取得されたURLは、アクティブなタイルトラックを受信するために、要求しているストリーミングサーバーに提出される(ステップ865)。同様に、現行の時間的セグメントの複合トラックのURLは、ストリーミングサーバーに提出される(ステップ870)。全てのアクティブなタイルトラックおよび複合トラックが受信される場合には、デコードして(ステップ890)表示する(ステップ895)ことができる標準の復号化可能なビットストリームを構築するために、クライアントデバイスは、複合トラック(再構成されたmp4複合トラック)をパースし、タイルトラックからのデータにアクセスする位置にある(ステップ885)。
全てのセグメントデータが受信されない場合には、クライアントデバイスは、タイルトラックおよび複合トラックを待つ(ステップ875および880)。これによって、データがまだ受信されていない選択されたタイルのエクストラクタ解像度を失わないことを確実にする。
図9に示すように、このような処理は、(特に図8に関して説明したタイル記述子ではなく)任意の記述子について一般化することができる。示しているように、図8に示すアルゴリズムの1つの違いはインデックスにあるが、処理ステップはその図に関して説明したものと同様である。
図9は、前述の実施形態による従属性記述を含むマニフェストを処理するためのクライアントデバイスで実行される処理ステップを示すフローチャートである。
したがって、最初の図示するステップ900〜910は、従属性情報が存在しない場合に、主としてマニフェスト(MPD)をロードしてパースすることから成るDASH標準規格による標準ステップである。
例えば従属性schemeIdUriパラメータ値を含む役割要素の存在を検出することによって、あるいは、マニフェストの空間的下位リプリゼンテーション要素の存在を検出することによって、ステップ908で従属性が検出される場合には、記述子または空間的下位リプリゼンテーションのいずれかをパースすることによって、符号914で示すものと類似のインデックステーブルが構築される(ステップ912)。従属性構成は、ユーザーが表示される1つまたはいくつかの従属性を選ぶことができるように、ユーザーに対して有利に表示される(ステップ916)。
次に、ストリーミング処理中のいかなる時にも、ユーザーは、復号化処理によって用いることを望む一組の1つまたはいくつかの従属性を選択することができる(ステップ918)。対応するURL(インデックステーブル914の第3列に格納される)によっていくつかの要求が実行されなければならないということをアルゴリズムを実行するクライアントデバイスがわかるように、インデックステーブルにおいて、選択された従属性はアクティブであるとマークされる(ステップ920)。
それから、プレゼンテーション(ステップ922)の各時間的セグメントで、すなわち各期間で、反復プロセスが開始され、その間に、復号化処理によって用いられるアクティブな従属性のリストが、関連するURLと共にインデックステーブルから読み出される(ステップ924および926)。取得されたURLは、アクティブな従属性を受信するために、要求しているストリーミングサーバーに提出される(ステップ928)。同様に、現行の時間的セグメントの主要トラックのURLは、ストリーミングサーバーに提出される(ステップ930)。全てのアクティブな従属性および主要トラックが受信されている場合には、デコードして(ステップ938)表示する(ステップ940)ことができる標準の復号化可能なビットストリームを構築するために、クライアントデバイスは、主要トラックをパースし、従属性トラックからのデータにアクセスする位置にある(ステップ936)。
データが全てのセグメントから受信されていない場合には、クライアントデバイスは従属性トラックおよび主要トラックを待つ(ステップ932および934)。これによって、データがまだ受信されていない選択された従属性のエクストラクタ解像度を失わないことを確実にする。
このような手法は、シンタックスの拡張を制限する(新規な要素が導入されない)という利点を有する。さらに、それはセグメントレベルで信号を送る任意のコンテンツのための一般的な方式を提供し、そのようにして、動的な適合のためのセグメントベースの手法および切り換えを維持する。
この実施形態の変形例は、現行のアダプテーションセット内のコンテンツコンポーネントの代わりに、別のアダプテーションセットの記述子に関するものである。これは、これらの表示可能なタイルトラックを参照して複合トラックを介して任意のタイルの組み合わせを提供し続けると共に、表示可能なトラックとしてカプセル化されるタイルトラックの場合に関連する。
図10は、本発明の記載された実施形態の各々の各ステップまたはいくつかのステップを実行するために用いることができるコンピューティング装置1000の模式的なブロック図である。コンピューティング装置1000は、マイクロコンピュータ、ワークステーション、または軽量の携帯型装置などの装置であってもよい。
コンピューティング装置1000は通信バスを含み、CPUで示すマイクロプロセッサなどの中央処理ユニット1005および、本発明の実施形態の方法の実行可能コードを記録する、RAMで示すランダムアクセスメモリ1010、ならびに、マニフェストを読み書きするための、および/またはビデオを符号化するための、および/または所与のファイルフォーマットの下でデータを読み出しもしくは生成するための方法を実施するために必要な変数およびパラメータを格納するように適合したレジスタが、前記通信バスに接続されており、それらの記憶容量は、例えば拡張ポートに結合された任意のRAMによって、拡張することができ、本発明の実施形態を実施するためのコンピュータプログラムを記憶するためのROMで示す読出し専用メモリ1015が、前記通信バスに接続されている。ネットワークインターフェース1020は、処理されるデジタルデータが送信または受信される通信ネットワークに通常は接続される。ネットワークインターフェース1020は、単一のネットワークインターフェースであってもよいし、あるいは一組の異なるネットワーク(例えば有線および無線インターフェース、または異なる種類の有線もしくは無線インターフェース)で構成されてもよい。データは、CPU1005で走っているソフトウェアアプリケーションの管理下で、送信のためにネットワークインターフェースへ書き込まれるか、または受信のためにネットワークインターフェースから読み出され、通信バスは、ユーザーからの入力を受信するための、または、ユーザーに対して情報を表示するためのユーザーインターフェース1025と、HDで示すハードディスク1030と、ビデオソースまたはディスプレイなどの外部デバイスからデータを受信/外部デバイスへデータを送信するためのI/Oモジュール1035と、に接続される。
実行可能コードは、読出し専用メモリ1015、ハードディスク1030、または例えばディスクなどの取外し可能なデジタル媒体に記憶することができる。変形例によれば、プログラムの実行可能コードは、実行する前に、ハードディスク1030などの通信装置1000の記憶装置手段の1つに記憶するために、ネットワークインターフェース1020を介して、通信ネットワークによって受信されてもよい。
中央処理ユニット1005は、本発明の実施形態による1つまたは複数のプログラムの命令またはソフトウェアコードの一部の実行を制御し導くように適合し、その命令は上述した記憶手段の1つに記憶される。電源投入後、それらの命令が例えばプログラムROM1015またはハードディスク1030からロードされた後に、CPU1005はソフトウェアアプリケーションに関する主RAMメモリ1010からの命令を実行することができる。このようなソフトウェアアプリケーションは、CPU1005によって実行されると、前述したアルゴリズムのステップを実行する。
この実施形態では、装置は、本発明を実施するためにソフトウェアを用いるプログラム可能な装置である。しかし、代わりに、本発明の実施形態は、ハードウェア(例えば、特定用途向け集積回路すなわちASICの形)で実施されてもよい。
本発明の実施形態は、例えば特定の関心領域にズームするために、カメラ、スマートフォン、またはTVのリモートコントローラとして働くタブレットなどの装置に埋め込むことができる。それらは、特定の関心領域を選択することによって、テレビ番組の個人的な閲覧を経験するために、同じ装置から用いることもできる。ユーザーによるこれらの装置の別の使用は、ユーザーが好むビデオの選択された副部分を他の接続された装置と共有することである。それらは、監視下に置かれた建物の特定の領域で起こることをモニターするために、スマートフォンまたはタブレットで用いることもでき、監視カメラは本発明の生成部分をサポートする。
本発明について特定の実施形態に関して上で説明したが、本発明は特定の実施形態に限定されず、本発明の範囲内にある修正は当業者にとって明らかであろう。
上述した例示的実施形態を参照すれば、当業者には多くのさらなる修正および変形が示唆されるであろうが、それらは単に例示として与えられたものであって、それらは本発明の範囲を限定するものではなく、その範囲は単に添付の特許請求の範囲のみによって決定される。特に、必要に応じて、異なる実施形態による異なる特徴は、相互に置き換えるすることができる。
なお、上述の実施形態は、以下のようにとらえることもできる。すなわち、本発明の第1の態様によれば、時間的メディアセグメントに構成されたストリーミングされた時分割メディアデータを受信するための方法が提供され、時分割メディアデータは、時限サンプルを含むパーティションで分割された時分割メディアデータに属し、各時限サンプルは、複数のサブサンプルを含み、時分割メディアデータは、時限サンプルのうちの1つの、複数のサブサンプルの中から選択されたサブサンプル、および他の時限サンプルの各々の1つの対応するサブサンプルを収容する少なくとも1つのパーティションコンポーネントと、少なくとも1つのパーティションコンポーネントを識別する少なくとも1つのエクストラクタを含む少なくとも1つの参照コンポーネントと、を含む独立にカプセル化されたコンポーネントを含む少なくとも1つのメディアセグメントファイルとして送信され、本方法は、パーティションで分割された時分割メディアデータの複数のバージョンを記述するマニフェストを受信するステップであって、マニフェストは、リプリゼンテーションを含み、各リプリゼンテーションは、少なくともパーティションで分割された時分割メディアデータの一部のバージョンの記述を含み、少なくとも1つのリプリゼンテーションは、複数のコンポーネントの記述を含み、複数のコンポーネントのうちの、少なくとも1つのコンポーネントはパーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされ、かつ、少なくとも1つのコンポーネントはパーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る任意コンポーネントである、マニフェストを受信するステップと、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの任意コンポーネントを選択するステップと、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネント、およびパーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを要求するステップと、要求されたコンポーネントを受信すると、受信したコンポーネントから再生可能なメディアリプリゼンテーションビットストリームを生成するステップと、を含む。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換えて戻ることを決定することができる。
一実施形態では、本方法は、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントと、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントと、の間の従属関係を確立するために、マニフェストをパースし、解析するステップをさらに含む。
一実施形態では、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントと、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントと、の間の従属関係は、マニフェストの従来型データ構造の従来型パラメータの非従来型値の関数として確立される。マニフェストのデータ構造およびデータ構造パラメータは、例えばDASH標準規格に準拠してもよい。
一実施形態では、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを要求するステップは、パラメータ値を要求するステップと、特に、パラメータ値を要求するステップに応答して取得されたパラメータ値の関数として、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを要求するステップと、を含む。
一実施形態では、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントと、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントと、の間の従属関係は、マニフェストの従来型データ構造の非従来型パラメータの値の関数として確立される。
一実施形態では、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントと、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントと、の間の従属関係は、マニフェストの非従来型データ構造のパラメータの値の関数として確立される。
ベースレイヤのフレームがタイルに分割される場合に、マニフェストの従来型または非従来型データ構造のこのような非従来型パラメータが、ベースレイヤのタイルおよびエンハンスメントレイヤのタイルなどの異なる層のタイル間の従属性を記述するために用いることができる点に留意すべきである。
一実施形態では、本方法は、インデックステーブルを構築するステップをさらに含み、構築されたインデックステーブルは、リクエストアドレスを少なくとも1つのリプリゼンテーションに記載された各任意コンポーネントの識別子と関係づける。
一実施形態では、本方法は、位置をインデックステーブルの各任意コンポーネント識別子と関係づけるステップをさらに含み、位置は、パーティションで分割された時分割メディアデータの再構築された部分において、対応する任意コンポーネントと関係するメディアデータが配置される位置を表す。
一実施形態では、本方法は、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントをパースするステップをさらに含み、再生可能なメディアリプリゼンテーションビットストリームは、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントのパースされたデータの関数として決定された、少なくとも1つの選択された任意コンポーネントのメディアデータの関数として生成される。
本発明の第2の態様は、時間的メディアセグメントに構成されたストリーミングされた時分割メディアデータを受信するための方法を提供し、時分割メディアデータは、時限サンプルを含むタイル化時分割メディアデータに属し、各時限サンプルは、複数のサブサンプルを含み、時分割メディアデータは、時限サンプルのうちの1つの複数のサブサンプルの中から選択されたサブサンプル、および他の時限サンプルの各々の1つの対応するサブサンプルを収容する少なくとも1つのタイルトラックと、少なくとも1つのタイルトラックを識別する少なくとも1つのエクストラクタを含む少なくとも1つの複合トラックと、を含む独立にカプセル化されたトラックを含む少なくとも1つのメディアセグメントファイルとして送信され、本方法は、タイル化時分割メディアデータの複数のバージョンを記述するマニフェストを受信するステップであって、マニフェストは、リプリゼンテーションを含み、各リプリゼンテーションは、少なくともタイル化時分割メディアデータの一部のバージョンの記述を含み、少なくとも1つのリプリゼンテーションは、少なくとも1つの複合トラックおよび少なくとも1つのタイルトラックである複数のトラックの記述を含む、マニフェストを受信するステップと、少なくとも1つのタイルトラックを選択するステップと、少なくとも1つの複合トラックおよび少なくとも1つの選択されたタイルトラックを要求するステップと、要求されたトラックを受信すると、受信したトラックから再生可能なメディアリプリゼンテーションビットストリームを生成するステップと、を含む。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換えて戻ることを決定することができる。
一実施形態では、本方法は、少なくとも1つの選択されたタイルトラックと少なくとも1つの複合トラックとの間の従属関係を確立するために、マニフェストをパースし、解析するステップをさらに含む。
一実施形態では、少なくとも1つの選択されたタイルトラックと少なくとも1つの複合トラックとの間の従属関係は、マニフェストの従来型データ構造の従来型パラメータの非従来型値の関数として確立される。マニフェストのデータ構造およびデータ構造パラメータは、例えばDASH標準規格に準拠してもよい。
一実施形態では、少なくとも1つの選択されたタイルトラックを要求するステップは、パラメータ値を要求するステップと、特に、パラメータ値を要求するステップに応答して取得されたパラメータ値の関数として、少なくとも1つの選択されたタイルトラックを要求するステップと、を含む。
一実施形態では、少なくとも1つの選択されたタイルトラックと少なくとも1つの複合トラックとの間の従属関係は、マニフェストの従来型データ構造の非従来型パラメータの値の関数として確立される。
一実施形態では、少なくとも1つの選択されたタイルトラックと少なくとも1つの複合トラックとの間の従属関係は、マニフェストの非従来型データ構造のパラメータの値の関数として確立される。
ベースレイヤのフレームがタイルに分割される場合に、マニフェストの従来型または非従来型データ構造のこのような非従来型パラメータが、ベースレイヤのタイルおよびエンハンスメントレイヤのタイルなどの異なる層のタイル間の従属性を記述するために用いることができる点に留意すべきである。
一実施形態では、本方法は、インデックステーブルを構築するステップをさらに含み、構築されたインデックステーブルは、リクエストアドレスを少なくとも1つのリプリゼンテーションに記載された各タイルトラックの識別子と関係づける。
一実施形態では、本方法は、位置をインデックステーブルの各タイルトラック識別子と関係づけるステップをさらに含み、位置は、タイル化時分割メディアデータの再構築された部分において、対応するタイルトラックと関係するメディアデータが配置される位置を表す。
一実施形態では、本方法は、少なくとも1つの複合トラックをパースするステップをさらに含み、再生可能なメディアリプリゼンテーションビットストリームは、少なくとも1つの複合トラックのパースされたデータの関数として決定された、少なくとも1つの選択されたタイルトラックのメディアデータの関数として生成される。
本発明の第3の態様は、時間的メディアセグメントに構成された時分割メディアデータを送信するための方法を提供し、時分割メディアデータは、時限サンプルを含むパーティションで分割された時分割メディアデータに属し、各時限サンプルは、複数のサブサンプルを含み、時分割メディアデータは、時限サンプルのうちの1つの複数のサブサンプルの中から選択されたサブサンプル、および他の時限サンプルの各々の1つの対応するサブサンプルを収容する少なくとも1つのパーティションコンポーネントと、少なくとも1つのパーティションコンポーネントを識別する少なくとも1つのエクストラクタを含む少なくとも1つの参照コンポーネントと、を含む独立にカプセル化されたコンポーネントを含む少なくとも1つのメディアセグメントファイルとして送信され、本方法は、パーティションで分割された時分割メディアデータの複数のバージョンを記述するマニフェストを送信するステップを含み、マニフェストは、リプリゼンテーションを含み、各リプリゼンテーションは、少なくともパーティションで分割された時分割メディアデータの一部のバージョンの記述を含み、少なくとも1つのリプリゼンテーションは、複数のコンポーネントの記述を含み、複数のコンポーネントのうちの、少なくとも1つのコンポーネントはパーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされ、かつ、少なくとも1つのコンポーネントはパーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る任意コンポーネントである。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換えて戻ることを決定することができる。
一実施形態では、本方法は、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントを送信するための要求を受信するステップと、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを送信するための少なくとも1つの要求を受信するステップと、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントおよび少なくとも1つの選択されたコンポーネントを送信するステップと、をさらに含む。
一実施形態では、本方法は、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを送信するための少なくとも1つの要求を受信する前に、パラメータ値のための要求を受信し、要求されたパラメータ値を送信するステップをさらに含み、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネント送信するための少なくとも1つの要求は、特に、送信されたパラメータ値に基づく。
本発明の第4の態様は、時限サンプルを含むパーティションで分割された時分割メディアデータの項目の送信を可能にするメディアプレゼンテーション記述を生成するための方法を提供し、各時限サンプルは、複数のサブサンプルを含み、パーティションで分割された時分割メディアデータは、時間的メディアセグメントに構成され、時限サンプルのうちの1つの複数のサブサンプルの中から選択されたサブサンプル、および他の時限サンプルの各々の1つの対応するサブサンプルを収容する少なくとも1つのパーティションコンポーネントと、少なくとも1つのパーティションコンポーネントを識別する少なくとも1つのエクストラクタを含む少なくとも1つの参照コンポーネントと、を含む独立にカプセル化されたコンポーネントを含む少なくとも1つのメディアセグメントファイルとして送信され、本方法は、パーティションで分割された時分割メディアデータの複数のコンポーネントのコンポーネント間の従属関係を取得するステップであって、複数のコンポーネントのうちの少なくとも1つのコンポーネントは、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされ、かつ、複数のコンポーネントのうちの少なくとも1つのコンポーネントは、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために任意である、従属関係を取得するステップと、
パーティションで分割された時分割メディアデータの複数のバージョンを記述するマニフェストを生成するステップであって、マニフェストは、リプリゼンテーションを含み、各リプリゼンテーションは、少なくともパーティションで分割された時分割メディアデータの一部のバージョンの記述を含み、少なくとも1つのリプリゼンテーションは、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントの記述、およびパーティションで分割された時分割メディアデータの少なくとも一部を再構築するために任意である少なくとも1つのコンポーネントの、記述を含む、マニフェストを生成するステップと、を含む。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換えて戻ることを決定することができる。
一実施形態では、従属関係は、マニフェストの従来型データ構造の従来型パラメータの所定の非従来型値を用いて特徴づけられる。マニフェストのデータ構造およびデータ構造パラメータは、例えばDASH標準規格に準拠してもよい。
一実施形態では、従属関係は、マニフェストの従来型データ構造の非従来型パラメータの所定の値を用いて特徴づけられる。
一実施形態では、従属関係は、マニフェストの非従来型データ構造のパラメータの所定の値を用いて特徴づけられる。
ベースレイヤのフレームがタイルに分割される場合に、マニフェストの従来型または非従来型データ構造のこのような非従来型パラメータが、ベースレイヤのタイルおよびエンハンスメントレイヤのタイルなどの異なる層のタイル間の従属性を記述するために用いることができる点に留意すべきである。
本発明の第5の態様は、上述した方法の各ステップを実行するのに適合する手段を含む装置を提供する。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換えて戻ることを決定することができる。
本発明の第6の態様は、時間的メディアセグメントに構成されたストリーミングされた時分割メディアデータを受信するための装置を提供し、時分割メディアデータは、時限サンプルを含むパーティションで分割された時分割メディアデータに属し、各時限サンプルは複数のサブサンプルを含み、時分割メディアデータは、時限サンプルのうちの1つの複数のサブサンプルの中から選択されたサブサンプル、および他の時限サンプルの各々の1つの対応するサブサンプルを収容する少なくとも1つのパーティションコンポーネントと、少なくとも1つのパーティションコンポーネントを識別する少なくとも1つのエクストラクタを含む少なくとも1つの参照コンポーネントと、を含む独立にカプセル化されたコンポーネントを含む少なくとも1つのメディアセグメントファイルとして送信され、本装置は、パーティションで分割された時分割メディアデータの複数のバージョンを記述するマニフェストを受信するステップであって、マニフェストは、リプリゼンテーションを含み、各リプリゼンテーションは、少なくともパーティションで分割された時分割メディアデータの一部のバージョンの記述を含み、少なくとも1つのリプリゼンテーションは、複数のコンポーネントの記述を含み、複数のコンポーネントのうちの、少なくとも1つのコンポーネントはパーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされ、かつ、少なくとも1つのコンポーネントはパーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る任意コンポーネントである、マニフェストを受信するステップと、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの任意コンポーネントを選択するステップと、
パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネント、およびパーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを要求するステップと、
要求されたコンポーネントを受信すると、受信したコンポーネントから再生可能なメディアリプリゼンテーションビットストリームを生成するステップと、を実行するように構成された少なくとも1つのマイクロプロセッサを含む。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換えて戻ることを決定することができる。
一実施形態では、マイクロプロセッサは、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントと、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントと、の間の従属関係を確立するために、マニフェストをパースし、解析するステップを実行するようにさらに構成される。
一実施形態では、マイクロプロセッサは、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを要求するステップが、パラメータ値を要求するステップと、特に、パラメータ値を要求するステップに応答して取得されたパラメータ値の関数として、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを要求するステップと、を含むようにさらに構成される。
一実施形態では、マイクロプロセッサは、インデックステーブルを構築するステップを実行するようにさらに構成され、構築されたインデックステーブルは、リクエストアドレスを少なくとも1つのリプリゼンテーションに記載された各任意コンポーネントの識別子と関係づける。
一実施形態では、マイクロプロセッサは、位置をインデックステーブルの各任意コンポーネント識別子と関係づけるステップを実行するようにさらに構成され、位置は、パーティションで分割された時分割メディアデータの再構築された部分において、対応する任意コンポーネントと関係するメディアデータが配置される位置を表す。
一実施形態では、マイクロプロセッサは、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントをパースするステップを実行するようにさらに構成され、再生可能なメディアリプリゼンテーションビットストリームは、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントのパースされたデータの関数として決定された、少なくとも1つの選択された任意コンポーネントのメディアデータの関数として生成される。
本発明の第7の態様は、時間的メディアセグメントに構成されたストリーミングされた時分割メディアデータを受信するための装置を提供し、時分割メディアデータは、時限サンプルを含むタイル化時分割メディアデータに属し、各時限サンプルは複数のサブサンプルを含み、時分割メディアデータは、時限サンプルのうちの1つの複数のサブサンプルの中から選択されたサブサンプル、および他の時限サンプルの各々の1つの対応するサブサンプルを収容する少なくとも1つのタイルトラックと、少なくとも1つのタイルトラックを識別する少なくとも1つのエクストラクタを含む少なくとも1つの複合トラックと、を含む独立にカプセル化されたトラックを含む少なくとも1つのメディアセグメントファイルとして送信され、
本装置は、
タイル化時分割メディアデータの複数のバージョンを記述するマニフェストを受信するステップであって、マニフェストは、リプリゼンテーションを含み、各リプリゼンテーションは、少なくともタイル化時分割メディアデータの一部のバージョンの記述を含み、少なくとも1つのリプリゼンテーションは、少なくとも1つの複合トラックおよび少なくとも1つのタイルトラックである複数のトラックの記述を含む、マニフェストを受信するステップと、
少なくとも1つのタイルトラックを選択するステップと、
少なくとも1つの複合トラックおよび少なくとも1つの選択されたタイルトラックを要求するステップと、
要求されたトラックを受信すると、受信したトラックから再生可能なメディアリプリゼンテーションビットストリームを生成するステップと、を実行するように構成された少なくとも1つのマイクロプロセッサを含む。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換え戻ることを決定することができる。
一実施形態では、マイクロプロセッサは、少なくとも1つの選択されたタイルトラックと少なくとも1つの複合トラックとの間の従属関係を確立するために、マニフェストをパースし、解析するステップを実行するようにさらに構成される。
一実施形態では、マイクロプロセッサは、少なくとも1つの選択されたタイルトラックを要求するステップが、パラメータ値を要求するステップと、特に、パラメータ値を要求するステップに応答して取得されたパラメータ値の関数として、少なくとも1つの選択されたタイルトラックを要求するステップと、を含むようにさらに構成される。
一実施形態では、マイクロプロセッサは、インデックステーブルを構築するステップを実行するようにさらに構成され、構築されたインデックステーブルは、リクエストアドレスを少なくとも1つのリプリゼンテーションに記載された各タイルトラックの識別子と関係づける。
一実施形態では、マイクロプロセッサは、位置をインデックステーブルの各タイルトラック識別子と関係づけるステップを実行するようにさらに構成され、位置は、タイル化時分割メディアデータの再構築された部分において、対応する任意コンポーネントと関係するメディアデータが配置される位置を表す。
一実施形態では、マイクロプロセッサは、少なくとも1つの複合トラックをパースするステップを実行するようにさらに構成され、再生可能なメディアリプリゼンテーションビットストリームは、少なくとも1つの複合トラックのパースされたデータの関数として決定された、少なくとも1つの選択されたタイルトラックのメディアデータの関数として生成される。
本発明の第8の態様は、上述した装置を含むビデオデコーダを提供する。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換えて戻ることを決定することができる。
本発明の第9の態様は、時間的メディアセグメントに構成された時分割メディアデータを送信するための装置を提供し、時分割メディアデータは、時限サンプルを含むパーティションで分割された時分割メディアデータに属し、各時限サンプルは、複数のサブサンプルを含み、時分割メディアデータは、時限サンプルのうちの1つの複数のサブサンプルの中から選択されたサブサンプル、および他の時限サンプルの各々の1つの対応するサブサンプルを収容する少なくとも1つのパーティションコンポーネントと、少なくとも1つのパーティションコンポーネントを識別する少なくとも1つのエクストラクタを含む少なくとも1つの参照コンポーネントと、を含む独立にカプセル化されたコンポーネントを含む少なくとも1つのメディアセグメントファイルとして送信され、
本装置は、
パーティションで分割された時分割メディアデータの複数のバージョンを記述するマニフェストを送信するステップを実行するように構成された少なくとも1つのマイクロプロセッサを含み、
マニフェストは、リプリゼンテーションを含み、各リプリゼンテーションは、少なくともパーティションで分割された時分割メディアデータの一部のバージョンの記述を含み、少なくとも1つのリプリゼンテーションは、複数のコンポーネントの記述を含み、複数のコンポーネントのうちの、少なくとも1つのコンポーネントはパーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされ、かつ、少なくとも1つのコンポーネントはパーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る任意コンポーネントである。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換えて戻ることを決定することができる。
一実施形態では、マイクロプロセッサは、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントを送信するための要求を受信するステップと、
パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを送信するための少なくとも1つの要求を受信するステップと、
パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントおよび少なくとも1つの選択されたコンポーネントを送信するステップと、を実行するようにさらに構成される。
一実施形態では、マイクロプロセッサは、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを送信するための少なくとも1つの要求を受信する前に、パラメータ値のための要求を受信し、要求されたパラメータ値を送信するステップを実行するようにさらに構成され、
パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために選択され得る少なくとも1つの選択された任意コンポーネントを送信するための少なくとも1つの要求は、特に、送信されたパラメータ値に基づく。
本発明の第10の態様は、時限サンプルを含むパーティションで分割された時分割メディアデータの項目の送信を可能にするメディアプレゼンテーション記述を生成するための装置を提供し、各時限サンプルは複数のサブサンプルを含み、パーティションで分割された時分割メディアデータは、時間的メディアセグメントに構成され、時限サンプルのうちの1つの複数のサブサンプルの中から選択されたサブサンプル、および他の時限サンプルの各々の1つの対応するサブサンプルを収容する少なくとも1つのパーティションコンポーネントと、少なくとも1つのパーティションコンポーネントを識別する少なくとも1つのエクストラクタを含む少なくとも1つの参照コンポーネントと、を含む独立にカプセル化されたコンポーネントを含む少なくとも1つのメディアセグメントファイルとして送信され、
本装置は、
パーティションで分割された時分割メディアデータの複数のコンポーネントのコンポーネント間の従属関係を取得するステップであって、複数のコンポーネントのうちの少なくとも1つのコンポーネントは、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされ、かつ、複数のコンポーネントのうちの少なくとも1つのコンポーネントは、パーティションで分割された時分割メディアデータの少なくとも一部を再構築するために任意である、従属関係を取得するステップと、
パーティションで分割された時分割メディアデータの複数のバージョンを記述するマニフェストを生成するステップであって、マニフェストは、リプリゼンテーションを含み、各リプリゼンテーションは、少なくともパーティションで分割された時分割メディアデータの一部のバージョンの記述を含み、少なくとも1つのリプリゼンテーションは、パーティションで分割された時分割メディアデータを少なくとも部分的に再構築するために必要とされる少なくとも1つのコンポーネントの記述、およびパーティションで分割された時分割メディアデータの少なくとも一部を再構築するために任意である少なくとも1つのコンポーネントの、記述を含む、マニフェストを生成するステップと、を実行するように構成された少なくとも1つのマイクロプロセッサを含む。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換え戻ることを決定することができる。
本発明の第11の態様は、上述した装置を含むビデオエンコーダを提供する。
したがって、本発明は、クライアントデバイスが、マニフェストファイルから必要なデータおよび任意のデータを識別して、ストリーミングする一組の任意のデータを動的に選択することを可能にする。タイルに適用することにより、これは、ユーザーが定義した関心領域にストリーミングを動的に適合させることを可能にする。本発明により、クライアントデバイスは、メディアプレゼンテーションからのビデオが空間的アクセスを提供することについて通知を受けることができる。マニフェストからの情報を用いて、クライアントデバイスは、ビデオの特定の空間的領域へ動的に切り換えること、さらに、フルフレームビデオに動的に切り換え戻ることを決定することができる。
本発明はソフトウェアで実現することができるので、本発明は、任意の好適なキャリア媒体上の、プログラム可能な装置に供給するためのコンピュータ可読コードとして具現化することができる。有形のキャリア媒体は、フロッピー(登録商標)ディスク、CD−ROM、ハードディスクドライブ、磁気テープデバイス、または固体状態メモリデバイスなどの記憶媒体を含むことができる。一時的なキャリア媒体は、電気信号、電子信号、光信号、音響信号、磁気信号、または電磁信号、例えばマイクロ波もしくはRF信号などの信号を含むことができる。
<付録>
File name = Movie_4.mf
Type of segmentation = spatially
Number of segments = 4
Relationships between segments = 2x2 matrix
Segment
Segment name = cache.source.com/res/Movie−4−1.seg
Position in whole = (0, 0)
Segment
Segment name = cache.source.com/res/Movie−4−2.seg
Position in whole = (0, 1)
Segment
Segment name = cache.source.com/res/Movie−4−3.seg
Position in whole = (1, 0)
Segment
Segment name = cache.source.com/res/Movie−4−4.seg
Position in whole = (1, 1)
コード1の抽出:マニフェストファイル
<?xml version=”1.0”?>
<MPD xmlns:xsi=”http://www.w3.org/2001/XMLSchema‐instance”
xmlns=”urn:mpeg:DASH:schema:MPD:2011”xsi:schemaLocation=”urn:mpeg:DASH:schema:MPD:2011 DASH‐MPD.xsd”
type=”static”
mediaPresentationDuration=”PT3256S”
minBufferTime=”PT1.2S”
profiles=”urn:mpeg:dash:profile:isoff‐on‐demand:2011”>
<BaseURL>http://cdn1.example.com/</BaseURL>
<BaseURL>http://cdn2.example.com/</BaseURL>
<Period>
<!‐‐ English Audio ‐‐>
<AdaptationSet mimeType=”audio/mp4” codecs=”mp4a.0x40” lang=”en”
subsegmentAlignment=”true” subsegmentStartsWithSAP=”1”>
<ContentProtection schemeIdUri=”urn:uuid:706D6953‐656C‐5244‐4D48‐656164657221”/><Representation id=”1” bandwidth=”64000”>
<BaseURL>7657412348.mp4</BaseURL>
</Representation>
<Representation id=”2” bandwidth=”32000”>
<BaseURL>3463646346.mp4</BaseURL>
</Representation>
<!‐‐ Video ‐‐>
<AdaptationSet mimeType=”video/mp4” codecs=”avc1.4d0228”
subsegmentAlignment=”true” subsegmentStartsWithSAP=”2”>
<ContentProtection schemeIdUri=”urn:uuid:706D6953‐656C‐5244‐4D48‐56164657221”/>
<Representation id=”6” bandwidth=”256000” width=”320” height=”240”>
<BaseURL>8563456473.mp4</BaseURL>
</Representation>
<Representation id=”7” bandwidth=”512000” width=”320” height=”240”>
<BaseURL>56363634.mp4</BaseURL>
</Representation>
<Representation id=”8” bandwidth=”1024000” width=”640” height=”480”>
<BaseURL>562465736.mp4</BaseURL>
</Representation>
<Representation id=”9” bandwidth=”1384000” width=”640” height=”480”>
<BaseURL>41325645.mp4</BaseURL>
</Representation>
<Representation id=”A” bandwidth=”1536000” width=”1280” height=”720”>
<BaseURL>89045625.mp4</BaseURL>
</Representation>
<Representation id=”B” bandwidth=”2048000” width=”1280” height=”720”>
<BaseURL>23536745734.mp4</BaseURL>
</Representation>
</AdaptationSet>
</Period>
</MPD>
コード2の抽出:マニフェストファイル
<MPD …>
<Period>
<BaseURL>http://myserver.com/media</BaseURL>
<SegmentList>
<Initialization sourceURL=≪ URL_SI ≫/>
</SegmentList>
<AdaptationSet id=‘1’ contentType=‘video’ framerate=‘30’>
<!−− Base layer description −−><Representation id=‘R1’ mimeType=‘video/mp4’ width=‘2000’ height=‘1000’bandwidth=‘512000’>
<SegmentList> <SegmentURL media=≪ URL_BL ≫/> </SegmentList>
</Representation>
</AdaptationSet>
<!−− Enhancement layer description, composite track −−>
<AdaptationSet id=‘2’ contentType=‘video’ framerate=‘30’>
<!− Tile a, b, c and d are described ascomponents of composite track −−>
<ContentComponent id=‘Ta’ /><Role schemeIdUri=‘tiling’ value=‘1:1’/></ContentComponent>
<ContentComponent id=‘Tb’/><Role schemeIdUri=‘tiling’ value=‘1:2’/></ContentComponent>
<ContentComponent id=‘Tc’/> <Role schemeIdUri=‘tiling’ value=‘2:1’/></ContentComponent>
<ContentComponent id=‘Td’/> <Role schemeIdUri=‘tiling’ value=‘2:2’/></ContentComponent>
<ContentComponent id=‘CT’/> <Role schemeIdUri=‘…role’ value=‘main’/></ContentComponent>
<Representation id=‘R2’ mimeType=‘video/mp4’ dependencyId=‘R1’ width=‘4000’ height=‘2000’ bandwidth=‘2048000’>
<SubRepresentation level=‘1’contentComponent=‘Ta’ width=‘2000’ height=‘1000’/>
<SubRepresentation level=‘2’contentComponent=‘Tb’ width=‘2000’ height=‘1000’/>
<SubRepresentation level=‘3’contentComponent=‘Tc’ width=‘2000’ height=‘1000’/>
<SubRepresentation level=‘4’contentComponent=‘Td’ width=‘2000’ height=‘1000’/>
<SubRepresentation level=‘5’contentComponent=‘CT’ required/>
<SegmentList>
<SegmentURL media=≪ URL_Xindex_range=≪ 0−43 ≫ ≫/>
….
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
</MPD>
コード3の抽出:下位リプリゼンテーション構造を含むマニフェストファイル
<Period>
<SegmentList> <Initialization sourceURL=”seg−m−init.mp4”/> </SegmentList>
<AdaptationSet subsegmentAlignment=”true” subsegmentStartsWithSAP=”2” minBandwidth=”512000” maxBandwidth=”1024000” frameRate=”30” >
<Representation mimeType=”video/hevc” codecs=”hvc1.4D401E” id=”BL1” bandwidth=”512000” width=”640” height=”480”>
<SegmentList duration=”10”>
<SegmentURL media=”seg−BL−1.mp4”/>
<SegmentURL media=”seg−BL−2.mp4”/>
</SegmentList>
</Representation>
<Representation mimeType=”video/hevc” codecs=”hvc1.4D401E” id=”EL1” dependencyId= ”BL1” bandwidth=”1024000” width=”1280” height=”1080”>
<SpatialSubRepresentation id=”tileA” dependencyId=” ” posx=”0” posy=”0”width=”640” height=”480” bandwidth=”512000”>
<SegmentList duration=”10”> <SegmentURL media=”seg−EL1−tileA−1.mp4”/>
<SegmentURL media=”seg−EL1−tileA−2.mp4”/>
</SegmentList>
</SpatialSubRepresentation>
<SpatialSubRepresentation id=”tileB” dependencyId=” ” posx=”640” posy=”0” width=”640” height=”480” bandwidth=”512000”>
<SegmentList duration=”10”> <SegmentURL media=”seg−EL1−tileB−1.mp4”/>
<SegmentURL media=”seg−EL1−tileB−2.mp4”/>
</SegmentList>
</SpatialSubRepresentation>
<SegmentList duration=”10”>
<SegmentURL media=”seg−EL1−1.mp4”/>
<SegmentURL media=”seg−EL1−2.mp4”/>
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
コード4の抽出:特定の下位リプリゼンテーション構造を含むマニフェストファイル
<Period>
<SegmentList> <Initialization sourceURL=”seg−m−init.mp4”/> </SegmentList>
<AdaptationSet subsegmentAlignment=”true” subsegmentStartsWithSAP=”2” minBandwidth=”512000” maxBandwidth=”1024000” frameRate=”30” >
<Representation mimeType=”video/hevc” codecs=”hvc1.4D401E” id=”BL1” bandwidth=”512000” width=”1280” height=”1080”>
<SpatialSubRepresentation id=”tileA_0” posx=”0” posy=”0” width=”640” height=”480”>
<SegmentList duration=”10”> <SegmentURL media=”seg−EL1−tileA−01.mp4”/>
<SegmentURL media=”seg−EL1−tileA−02.mp4”/>
</SegmentList>
</SpatialSubRepresentation>
<SpatialSubRepresentation id=”tileB_0” posx=”640” posy=”0” width=”640” height=”480”>
<SegmentList duration=”10”> <SegmentURL media=”seg−EL1−tileB−01.mp4”/>
<SegmentURL media=”seg−EL1−tileB−02.mp4”/>
</SegmentList>
</SpatialSubRepresentation>
<!−Composite track for base layer −−>
<SegmentList duration=”10”>
<SegmentURL media=”seg−BL−1.mp4”/>
<SegmentURL media=”seg−BL−2.mp4”/>
</SegmentList>
</Representation>
<Representation mimeType=”video/hevc” codecs=”hvc1.4D401E” id=”EL1” bandwidth=”1024000” width=”1280” height=”1080”>
<SpatialSubRepresentation id=”tileA_1” dependencyId=”tileA_0” posx=”0” posy=”0” width=”640” height=”480” bandwidth=”512000”>
<SegmentList duration=”10”> <SegmentURL media=”seg−EL1−tileA−11.mp4”/>
<SegmentURL media=”seg−EL1−tileA−12.mp4”/>
</SegmentList>
</SpatialSubRepresentation>
<SpatialSubRepresentation id=”tileB_1” dependencyId=”tileB_0” posx=”640” posy=”0” width=”640” height=”480” bandwidth=”512000”>
<SegmentList duration=”10”> <SegmentURL media=”seg−EL1−tileB−11.mp4”/>
<SegmentURL media=”seg−EL1−tileB−12.mp4”/>
</SegmentList>
</SpatialSubRepresentation>
<!−Composite track for SNR enhancement layer −−>
<SegmentList duration=”10”>
<SegmentURL media=”seg−EL1−1.mp4”/>
<SegmentURL media=”seg−EL1−2.mp4”/>
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
コード5の抽出:特定の下位リプリゼンテーション構造を含むマニフェストファイル
<!− Modification of the Representation type −−>
<xs:complexType name=”RepresentationType”>
<xs:complexContent>
<xs:extension base=”RepresentationBaseType”>
<xs:sequence>
<xs:element name=”BaseURL” type=”BaseURLType” minOccurs=”0” maxOccurs=”unbounded”/>
<xs:element name=”SpatialSubRepresentation” type=”SpatialSubRepresentationType” minOccurs=”0” maxOccurs=”unbounded”/>
<xs:element name=”SubRepresentation” type=”SubRepresentationType” minOccurs=”0” maxOccurs=”unbounded”/>
<xs:element name=”SegmentBase” type=”SegmentBaseType” minOccurs=”0”/>
<xs:element name=”SegmentList” type=”SegmentListType” minOccurs=”0”/>
<xs:element name=”SegmentTemplate” type=”SegmentTemplateType” minOccurs=”0”/>
</xs:sequence>
<xs:attribute name=”id” type=”StringNoWhitespaceType” use=”required”/> <xs:attribute name=”bandwidth” type=”xs:unsignedInt” use=”required”/>
<xs:attribute name=”qualityRanking” type=”xs:unsignedInt”/>
<xs:attribute name=”dependencyId” type=”StringVectorType”/>
<xs:attribute name=”mediaStreamStructureId” type=”StringVectorType”/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
コード6の抽出:MPDリプリゼンテーション要素の修正
<!− Definition of the SpatialSubRepresentation element −−>
<xs:complexType name=”SpatialSubRepresentationType”>
<xs:complexContent>
<xs:extension base=”RepresentationBaseType”>
<xs:sequence>
<xs:element name=”BaseURL” type=”BaseURLType” minOccurs=”0” maxOccurs=”unbounded”/>
<xs:element name=”SegmentBase” type=”SegmentBaseType” minOccurs=”0”/>
<xs:element name=”SegmentList” type=”SegmentListType” minOccurs=”0”/>
<xs:element name=”SegmentTemplate” type=”SegmentTemplateType” minOccurs=”0”/>
</xs:sequence>
<xs:attribute name=”id” type=”StringNoWhitespaceType” />
<xs:attribute name=”dependencyId” type=”StringVectorType ”/>
<xs:attribute name=”posx” type=”xs:unsignedInt” use=”required”/>
<xs:attribute name=”posy” type=”xs:unsignedInt” use=”required”/>
<xs:attribute name=”bandwidth” type=”xs:unsignedInt”/>
<xs:attribute name=”contentComponent” type=”StringVectorType”/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
コード7の抽出:MPDの空間的下位リプリゼンテーションの定義
<MPD …>
<Period>
<BaseURL>http://myserver.com/media</BaseURL>
<SegmentList>
<Initialization sourceURL=≪ URL_SI ≫/>
</SegmentList>
<AdaptationSet id=‘1’ contentType=‘video’ framerate=‘30’>
<!−− Base layer description −−><Representation id=‘R1’ mimeType=‘video/mp4’ width=‘2000’ height=‘1000’bandwidth=‘512000’>
<SegmentList> <SegmentURL media=≪ URL_BL ≫/> </SegmentList>
</Representation>
</AdaptationSet>
<!−− Enhancement layer description, composite track −−>
<AdaptationSet id=‘2’ contentType=‘video’ framerate=‘30’ width=‘4000’ height=‘2000’ >
<!− Tile a, b, c and d appear as components of composite track −−>
<ContentComponent id=‘Ta’ />< Role schemeIdUri=‘tiling’ id=‘1’ value=’1:1’/></ContentComponent>
<ContentComponent id=‘Tb’ /><Role schemeIdUri=‘tiling’ id=‘1’ value=’1:2’/></ContentComponent>
<ContentComponent id=‘Tc’ /><Role schemeIdUri=‘tiling’ id=‘1’ value=‘2:1’/></Content Component>
<ContentComponent id=‘Td ‘/><Role schemeIdUri=‘tiling’ id=‘1’ value=‘2:2’/></ContentComponent>
<Representation id=‘R2’ mimeType=‘video/mp4’ dependencyId=‘R1’ bandwidth=‘2048000’ width=‘4000’ height=‘2000’>
<SegmentList>
<SegmentURL media=≪ URL_CT ≫ related=≪ URL_Ta URL_Tb URL_Tc URL_Td≫ type=≪ Ta Tb Tc Td≫/>
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
</MPD>
コード8の抽出:MPDのセグメントに基づくタイルの信号送信
<!−− SegmentURL−−>
<xs:complexType name=”SegmentURLType”>
<xs:sequence>
<xs:any namespace=”##other” processContents=”lax” minOccurs=”0” maxOccurs=”unbounded”/>
</xs:sequence>
<xs:attribute name=”media” type=”xs:anyURI”/>
<xs:attribute name=”mediaRange” type=”xs:string”/>
<xs:attribute name=”index” type=”xs:anyURI”/>
<xs:attribute name=”indexRange” type=”xs:string”/>
<xs:attribute name=”related” type=”URLVectorType”/>
<xs:attribute name=”relatedRange” type=”StringVectorType”/>
<xs:attribute name=”type” type=”StringVectorType”/> <!−− Actually descriptors IDs −−>
<xs:anyAttribute namespace=”##other” processContents=”lax”/>
</xs:complexType>
<!− List of URLs (added) −−>
<xs:simpleType name=”URLVectorType”>
<xs:list itemType=”xs:anyURI”/>
</xs:simpleType>
コード9の抽出:MPDセグメントURLタイプの拡張

Claims (14)

  1. MPEG−DASHにおいて規定されるMPD(Media Presentation Description)であって、ビデオデータの少なくとも一部に対応する第1データを要求するために用いられる第1要求情報を含む第1リプリゼンテーションと、前記第1リプリゼンテーションが属する第1アダプテーションセットとは異なる第2アダプテーションセットに属する第2リプリゼンテーションであって、前記第1データに関連する第2データを要求するために用いられる第2要求情報を含む第2リプリゼンテーションと、前記第1リプリゼンテーションと前記第2リプリゼンテーションとが関連していることを示す関連情報と、が記述されたMPDを取得する取得手段と、
    前記取得手段によって取得されたMPDを解析し、前記関連情報を検出する検出手段と、
    前記検出手段によって検出された関連情報に基づいて、前記取得手段により取得されたMPDに記述された前記第1要求情報と前記第2要求情報とを含む複数の要求情報のうちの少なくとも何れかを用いて、前記ビデオデータの少なくとも一部を要求する要求手段と、
    を有する情報処理装置。
  2. 前記第1要求情報及び前記第2要求情報はURLによって表現される請求項1に記載の情報処理装置。
  3. 前記第1データはベースレイヤに対応するビデオデータであり、前記第2データはエンハンスメントレイヤに対応するビデオデータである請求項1又は2に記載の情報処理装置。
  4. 前記エンハンスメントレイヤに対応するビデオの品質は、前記ベースレイヤに対応するビデオの品質よりも高い請求項3に記載の情報処理装置。
  5. 前記要求手段は、ビデオが時間的及び空間的に分割されたメディアセグメントを単位として前記ビデオデータの少なくとも一部を要求する請求項1乃至4のうち、何れか1項に記載の情報処理装置。
  6. 前記第1データは複数のメディアセグメントの中から選択的に要求された少なくとも1つのメディアセグメントの復号のために用いられるデータである請求項5に記載の情報処理装置。
  7. 前記要求手段は、前記MPDを提供したサーバに対して前記ビデオデータの少なくとも一部を要求する請求項1乃至6のうち、何れか1項に記載の情報処理装置。
  8. 前記取得手段は、前記関連情報として、前記第2リプリゼンテーションに前記第1リプリゼンテーションの識別情報が記述されたMPDを取得する請求項1乃至7のうち、何れか1項に記載の情報処理装置。
  9. 前記取得手段により取得される前記MPDに表される複数のメディアセグメントのうち、要求すべきメディアセグメントを選択する選択手段を有し、
    前記要求手段は、前記選択手段により選択されたメディアセグメントを要求する請求項1乃至8のうち、何れか1項に記載の情報処理装置。
  10. MPEG−DASHにおいて規定されるMPD(Media Presentation Description)であって、ビデオデータの少なくとも一部に対応する第1データを要求するために用いられる第1要求情報を含む第1リプリゼンテーションと、前記第1リプリゼンテーションが属する第1アダプテーションセットとは異なる第2アダプテーションセットに属する第2リプリゼンテーションであって、前記第1データに関連する第2データを要求するために用いられる第2要求情報を含む第2リプリゼンテーションと、前記第1リプリゼンテーションと前記第2リプリゼンテーションとが関連していることを示す関連情報と、が記述されたMPDを取得する取得工程と、
    前記取得工程によって取得されたMPDを解析し、前記関連情報を検出する検出工程と、
    前記検出工程によって検出された関連情報に基づいて、前記取得工程により取得されたMPDに記述された前記第1要求情報と前記第2要求情報とを含む複数の要求情報のうち少なくとも何れかを用いて、前記ビデオデータの少なくとも一部を要求する要求工程と、
    を有する情報処理方法。
  11. 前記第1データはベースレイヤに対応するビデオデータであり、前記第2データはエンハンスメントレイヤに対応するビデオデータである請求項10に記載の情報処理方法。
  12. 前記第1データは複数のメディアセグメントの中から選択的に要求された少なくとも1つのメディアセグメントの復号のために用いられるデータである請求項10に記載の情報処理方法。
  13. 前記要求工程においては、ビデオが時間的及び空間的に分割されたメディアセグメントを単位として前記ビデオデータの少なくとも一部が要求される請求項10乃至12のうち、何れか1項に記載の情報処理方法。
  14. コンピュータを請求項1乃至9のうち、何れか1項に記載の情報処理装置の各手段として動作させるためのプログラム。
JP2018149332A 2013-04-16 2018-08-08 情報処理装置、情報処理方法、及び、プログラム Active JP6591009B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1306899.4 2013-04-16
GB1306899.4A GB2513140B (en) 2013-04-16 2013-04-16 Methods, devices, and computer programs for streaming partitioned timed media data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016508087A Division JP6385424B2 (ja) 2013-04-16 2014-04-09 パーティションで分割された時分割メディアデータをストリーミングするための方法、装置、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2018182760A JP2018182760A (ja) 2018-11-15
JP6591009B2 true JP6591009B2 (ja) 2019-10-16

Family

ID=48537326

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016508087A Active JP6385424B2 (ja) 2013-04-16 2014-04-09 パーティションで分割された時分割メディアデータをストリーミングするための方法、装置、およびコンピュータプログラム
JP2018149332A Active JP6591009B2 (ja) 2013-04-16 2018-08-08 情報処理装置、情報処理方法、及び、プログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016508087A Active JP6385424B2 (ja) 2013-04-16 2014-04-09 パーティションで分割された時分割メディアデータをストリーミングするための方法、装置、およびコンピュータプログラム

Country Status (4)

Country Link
US (2) US9794649B2 (ja)
JP (2) JP6385424B2 (ja)
GB (1) GB2513140B (ja)
WO (1) WO2014170176A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014168972A1 (en) * 2013-04-08 2014-10-16 Sony Corporation Region of interest scalability with shvc
US9628528B2 (en) * 2013-07-19 2017-04-18 Electronics And Telecommunications Research Institute Apparatus and method for providing content
MY182338A (en) * 2013-07-19 2021-01-20 Sony Corp Information processing device and method
WO2015014773A1 (en) 2013-07-29 2015-02-05 Koninklijke Kpn N.V. Providing tile video streams to a client
NZ758438A (en) * 2013-10-25 2021-07-30 Resmed Inc Electronic management of sleep related data
KR102218908B1 (ko) * 2014-05-07 2021-02-23 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 서비스 처리 방법
US10306239B2 (en) * 2014-05-13 2019-05-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods, source device, target device and analyser for managing video coding
US10021434B2 (en) * 2014-05-30 2018-07-10 Apple Inc. Movie package file format
EP3162075B1 (en) 2014-06-27 2020-04-08 Koninklijke KPN N.V. Hevc-tiled video streaming
GB2528039A (en) * 2014-07-01 2016-01-13 Canon Kk Method for identifying objects across time periods and corresponding device
US9860294B2 (en) * 2014-12-24 2018-01-02 Intel Corporation Media content streaming
GB201502205D0 (en) * 2015-02-10 2015-03-25 Canon Kabushiki Kaisha And Telecom Paris Tech Image data encapsulation
EP3257225B1 (en) * 2015-02-11 2024-04-03 VID SCALE, Inc. Systems and methods for generalized http headers in dynamic adaptive streaming over http (dash)
US10277934B2 (en) * 2015-03-13 2019-04-30 Qualcomm Incorporated Permissions management for watermarked data in a broadcast environment
EP3079079B8 (en) * 2015-04-07 2022-04-27 Huawei Technologies Co., Ltd. Method, apparatus and data structure for copying values of a table of a database
CN107710768A (zh) * 2015-06-12 2018-02-16 索尼公司 信息处理设备和信息处理方法
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
EP3338454A1 (en) * 2015-08-20 2018-06-27 Koninklijke KPN N.V. Forming one or more tile streams on the basis of one or more video streams
US10674185B2 (en) 2015-10-08 2020-06-02 Koninklijke Kpn N.V. Enhancing a region of interest in video frames of a video stream
JP6587539B2 (ja) * 2015-12-28 2019-10-09 キヤノン株式会社 送信装置、情報処理方法及びプログラム
TWI559753B (zh) * 2016-03-16 2016-11-21 晶睿通訊股份有限公司 傳輸隨選影音檔案的方法
US10743004B1 (en) 2016-09-01 2020-08-11 Amazon Technologies, Inc. Scalable video coding techniques
US10743003B1 (en) * 2016-09-01 2020-08-11 Amazon Technologies, Inc. Scalable video coding techniques
GB2554877B (en) * 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
CN115037919A (zh) 2016-10-12 2022-09-09 弗劳恩霍夫应用研究促进协会 空间不均等流媒体化
US10681382B1 (en) * 2016-12-20 2020-06-09 Amazon Technologies, Inc. Enhanced encoding and decoding of video reference frames
CN108241657B (zh) * 2016-12-24 2022-01-07 北京亿阳信通科技有限公司 一种web数据列表处理方法及装置
US10602239B2 (en) * 2017-03-23 2020-03-24 Mediatek Inc. Method and apparatus for track composition
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
EP3646593A4 (en) * 2017-06-26 2021-03-31 Nokia Technologies Oy APPARATUS, PROCESS AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO
EP3720136A4 (en) * 2017-11-30 2020-10-07 Sony Corporation TRANSMISSION DEVICE, TRANSMISSION PROCESS, RECEPTION DEVICE AND RECEPTION PROCESS
GB201721847D0 (en) 2017-12-22 2018-02-07 Telecom Paris Tech Priority map for media files
CN110166502B (zh) * 2018-02-11 2021-06-01 中国移动通信有限公司研究院 数据获取方法、服务提供端、服务使用端及网络功能实体
US11128686B2 (en) 2018-05-07 2021-09-21 Spotify Ab Cloud-based preset for media content playback
GB2575074B (en) * 2018-06-27 2022-09-28 Canon Kk Encapsulating video content with an indication of whether a group of tracks collectively represents a full frame or a part of a frame
US11523185B2 (en) 2019-06-19 2022-12-06 Koninklijke Kpn N.V. Rendering video stream in sub-area of visible display area
KR20200145763A (ko) 2019-06-22 2020-12-30 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
CN113824958A (zh) * 2020-06-18 2021-12-21 中兴通讯股份有限公司 视频分块方法、传输方法、服务器、适配器和存储介质
GB2599170A (en) * 2020-09-29 2022-03-30 Canon Kk Method, device, and computer program for optimizing indexing of portions of encapsulated media content data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10440329B2 (en) 2009-05-22 2019-10-08 Immersive Media Company Hybrid media viewing application including a region of interest within a wide field of view
US9185439B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US8190677B2 (en) * 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
CN103299616A (zh) * 2011-01-07 2013-09-11 夏普株式会社 再生装置及其控制方法、生成装置及其控制方法、记录介质、数据结构、控制程序以及记录了该程序的记录介质
JP5734699B2 (ja) * 2011-02-24 2015-06-17 Kddi株式会社 配信映像の超解像化装置
WO2012125006A2 (ko) * 2011-03-16 2012-09-20 한국전자통신연구원 레프리젠테이션을 사용하는 스트리밍 콘텐츠 제공 장치 및 방법
EP2719190B8 (en) * 2011-06-08 2017-11-22 Koninklijke KPN N.V. Spatially-segmented content delivery
EP3968691A1 (en) * 2011-10-21 2022-03-16 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Resource management concept
KR102011499B1 (ko) * 2012-01-19 2019-10-21 브이아이디 스케일, 인크. 시청 조건에 대한 적응을 지원하는 비디오 전송 방법 및 시스템
WO2014011720A1 (en) * 2012-07-10 2014-01-16 Vid Scale, Inc. Quality-driven streaming

Also Published As

Publication number Publication date
US20180020268A1 (en) 2018-01-18
US11019408B2 (en) 2021-05-25
JP2016521497A (ja) 2016-07-21
GB201306899D0 (en) 2013-05-29
US20160080833A1 (en) 2016-03-17
WO2014170176A1 (en) 2014-10-23
GB2513140B (en) 2016-05-04
GB2513140A (en) 2014-10-22
JP6385424B2 (ja) 2018-09-05
US9794649B2 (en) 2017-10-17
JP2018182760A (ja) 2018-11-15

Similar Documents

Publication Publication Date Title
JP6591009B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2016521497A5 (ja)
US10862943B2 (en) Methods, devices, and computer programs for improving streaming of partitioned timed media data
US10135952B2 (en) Method and corresponding device for streaming video data
CN113141379B (zh) 在定时媒体数据流式传输期间改进渲染显示的方法、设备和计算机程序
US11412017B2 (en) Method, device, and computer program for encoding inter-layer dependencies in encapsulating multi-layer partitioned timed media data
JP2020022187A (ja) メディアファイルの処理装置及び処理方法
KR20180018662A (ko) 동작 포인트 디스크립터가 동적으로 설정될 수 있는 캡슐화된 비트-스트림으로부터 미디어 데이터 및 메타데이터를 획득하는 방법, 디바이스, 및 컴퓨터 프로그램
GB2535453A (en) Method, device, and computer program for encapsulating hevc layered media data
GB2567485A (en) Method and device for exchanging data between a web application and an associated web engine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190621

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190917

R151 Written notification of patent or utility model registration

Ref document number: 6591009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151