JP2017175623A - ビデオデータをストリーミングするためのシーケンスデータセットを提供すること - Google Patents

ビデオデータをストリーミングするためのシーケンスデータセットを提供すること Download PDF

Info

Publication number
JP2017175623A
JP2017175623A JP2017065551A JP2017065551A JP2017175623A JP 2017175623 A JP2017175623 A JP 2017175623A JP 2017065551 A JP2017065551 A JP 2017065551A JP 2017065551 A JP2017065551 A JP 2017065551A JP 2017175623 A JP2017175623 A JP 2017175623A
Authority
JP
Japan
Prior art keywords
sequence
coded video
video pictures
sei message
sei
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.)
Granted
Application number
JP2017065551A
Other languages
English (en)
Other versions
JP6345827B2 (ja
Inventor
イン・チェン
Ying Chen
マルタ・カークゼウィックズ
Karczewicz Marta
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2017175623A publication Critical patent/JP2017175623A/ja
Application granted granted Critical
Publication of JP6345827B2 publication Critical patent/JP6345827B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L65/70Media network packetisation
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4381Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
    • 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/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/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】デコーダがコード化ピクチャのためのデータを必要としない場合、帯域幅の浪費につながる。【解決手段】デバイスは、補足エンハンスメント情報(SEI)メッセージによって記述されるコード化ビデオピクチャのシーケンスとは別個にSEIメッセージが記憶されるように、ビデオデータをカプセル化する。例示的なデバイスは、コード化ビデオピクチャとは別個の1つまたは複数のSEIメッセージを生成する制御ユニットと、SEIメッセージは、コード化ビデオピクチャのシーケンスの各々を記述し、コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、コード化ビデオピクチャのシーケンスとは別個にSEIメッセージを出力する出力インターフェースとを含む。例示的な宛先デバイスは、コード化ビデオピクチャとは別個にSEIメッセージを受信し、SEIメッセージを使用してコード化ビデオピクチャをレンダリングする。【選択図】図2

Description

本開示は、符号化ビデオデータのトランスポートに関する。
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、MPEG−2、MPEG−4、ITU−T H.263またはITU−T H.264/MPEG−4、Part10、Advanced Video Coding(AVC)によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
[0003]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および/または時間的予測を実行する。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスがマクロブロックに区分され得る。各マクロブロックはさらに区分され得る。イントラコード化(I)フレームまたはスライス中のマクロブロックは、隣接マクロブロックに関する空間的予測を使用して符号化される。インターコード化(PまたはB)フレームまたはスライス中のマクロブロックは、同じフレームまたはスライス中の隣接マクロブロックに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
[0004]ビデオデータが符号化された後、ビデオデータは送信または記憶のためにパケット化され得る。ビデオデータは、国際標準化機構(ISO)ベースメディアファイルフォーマットなどの様々な規格と、AVCなどのそのような規格の拡張とのうちのいずれかに準拠するビデオファイルにアセンブルされ得る。
[0005]H.264/AVCに基づく新しいビデオコーディング規格を開発するための取り組みが行われている。1つのそのような規格は、H.264/AVCのスケーラブル拡張であるスケーラブルビデオコーディング(SVC)規格である。別の規格は、H.264/AVCのマルチビュー拡張になったマルチビュービデオコーディング(MVC)である。AVC規格のバージョンは、JVT−AD007、「Editors' draft revision to ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding - in preparation for ITU-T SG 16 AAP Consent (in integrated form)」、30th JVT m eeting、Geneva、CH、2009年2月に記載されており、http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zipから入手可能である。この文書はSVCとMVCとをAVC仕様に組み込んでいる。
[0006]概して、本開示では、たとえば、HTTPストリーミングに従ってビデオファイルのストリーミングをサポートするために、ビデオファイルのコード化ビデオピクチャを記述するシーケンスデータセットを与えるための技法について説明する。シーケンスデータセットは、たとえば、シーケンスパラメータセット、ピクチャパラメータセット、および、たとえば、シーケンスレベルSEIメッセージなど、いくつかの補足エンハンスメント情報(SEI:Supplemental Enhancement Information)メッセージを含み得る。これらの技法は、シーケンスデータセットによって記述されたコード化ビデオピクチャからシーケンスデータセットを分離することを含む。すなわち、シーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャにシーケンスレベルSEIメッセージを含めるのではなく、本開示の技法は、コード化ビデオピクチャからシーケンスレベルSEIメッセージを分離することを含む。したがって、シーケンスレベルSEIメッセージは、コード化ビデオピクチャとは別個にソースデバイスから宛先デバイスに転送される。いくつかの例では、シーケンスレベルSEIメッセージを含むシーケンスデータセットは、シーケンスデータセットが関係するコード化ビデオピクチャの転送の前に、ソースデバイスから宛先デバイスに転送される。
[0007]一例では、カプセル化されたビデオデータを出力する方法は、コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成することと、SEIメッセージは、コード化ビデオピクチャのシーケンスの各々を記述し、コード化ビデオピクチャのうちの2つ以上に共通のエレメントを含み、コード化ビデオピクチャのシーケンスとは別個にSEIメッセージを出力することと、を含む。
[0008]別の例では、カプセル化されたビデオデータを出力するための装置は、コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成するように構成された制御ユニットと、SEIメッセージは、コード化ビデオピクチャのシーケンスの各々を記述し、コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、コード化ビデオピクチャのシーケンスとは別個にSEIメッセージを出力するように構成された出力インターフェースと、を含む。
[0009]別の例では、カプセル化されたビデオデータを出力するための装置は、コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成するための手段と、SEIメッセージは、コード化ビデオピクチャのシーケンスの各々を記述し、コード化ビデオピクチャのうちの2つ以上に共通のエレメントを含み、コード化ビデオピクチャのシーケンスとは別個にSEIメッセージを出力するための手段と、を含む。
[0010]別の例では、コンピュータプログラム製品は、実行されたとき、カプセル化されたビデオデータを出力するためのソースデバイスのプロセッサに、コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成させる命令と、SEIメッセージは、コード化ビデオピクチャのシーケンスの各々を記述し、コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、コード化ビデオピクチャのシーケンスとは別個にSEIメッセージを出力させる命令と、を備えるコンピュータ可読媒体を含む。
[0011]別の例では、符号化されたビデオデータを受信する方法は、ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信することと、SEIメッセージは、コード化ビデオピクチャのシーケンスの各々を記述し、コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、SEIメッセージとは別個にビデオファイルのコード化ビデオピクチャのシーケンスを受信することと、コード化ビデオピクチャのシーケンスが復号された後に、SEIメッセージに基づいてコード化ビデオピクチャのシーケンスをレンダリングすることと、を含む。
[0012]別の例では、符号化されたビデオデータを受信するための装置は、ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信することと、SEIメッセージは、コード化ビデオピクチャのシーケンスの各々を記述し、コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、SEIメッセージとは別個にビデオファイルのコード化ビデオピクチャのシーケンスを受信することと、を行うように構成された制御ユニットと、コード化ビデオピクチャのシーケンスが復号された後に、コード化ビデオピクチャのシーケンスをレンダリングするように構成されたビデオ出力と、を含む。
[0013]別の例では、符号化されたビデオデータを受信するための装置は、ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信する手段と、SEIメッセージは、コード化ビデオピクチャのシーケンスの各々を記述し、コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、SEIメッセージとは別個にビデオファイルのコード化ビデオピクチャのシーケンスを受信する手段と、コード化ビデオピクチャのシーケンスが復号された後に、SEIメッセージに基づいてコード化ビデオピクチャのシーケンスをレンダリングする手段と、を含む。
[0014]別の例では、コンピュータプログラム製品は、符号化ビデオデータを受信するための宛先デバイスのプロセッサに、ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信させる命令と、SEIメッセージは、コード化ビデオピクチャのシーケンスの各々を記述し、コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、SEIメッセージとは別個にビデオファイルのコード化ビデオピクチャのシーケンスを受信させる命令と、コード化ビデオピクチャのシーケンスが復号された後に、SEIメッセージに基づいてコード化ビデオピクチャのシーケンスをレンダリングさせる命令と、を備えるコンピュータ可読記憶媒体を含む。
[0015]1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになるであろう。
オーディオ/ビデオ(A/V)ソースデバイスがオーディオおよびビデオデータをA/V宛先デバイスに転送する例示的なシステムを示すブロック図。 例示的なカプセル化ユニットの構成要素を示すブロック図。 様々なロケーションにおけるシーケンスレベルSEIメッセージを含み得る例示的なビデオファイルの要素を示すブロック図。 シーケンスレベルSEIメッセージを含むパラメータセットトラックを含む別の例示的なビデオファイルの要素を示すブロック図。 それぞれのプレゼンテーションのためのそれぞれのシーケンスデータセットを含むThird Generation Partnership Project(3GPP(登録商標))ファイルを含むプレゼンテーションの例示的なセットを示すブロック図。 ビデオファイル内にシーケンスデータセットをカプセル化し、そのビデオファイルをソースデバイスから宛先デバイスに与えるための例示的な方法を示すフローチャート。 複数のシーケンスデータセットを含むビデオファイルの別の例を示すブロック図。
[0023]概して、本開示は、ハイパーテキスト転送プロトコル(HTTP)ストリーミングなどのストリーミングネットワークプロトコルを使用してビデオデータの配信をサポートするための技法について説明する。特に、本開示の技法は、ビデオデータを、例えばビデオファイルの形態で送信するときに、特定のビデオサンプルから、シーケンスレベルSEIメッセージのようないくつかの補足エンハンスメント情報(SEI)メッセージを分離することを対象とする。さらに、本技法は、符号化されたビデオピクチャの復号およびレンダリングをサポートするために、宛先デバイスにおいてシーケンスレベルSEIメッセージを解釈することを含む。
[0024]本開示ではまた、コーデックレベルにおいてビデオサンプルからSEIメッセージを分離することについて説明するが、SEIメッセージは、たとえば、SEIメッセージがアクセスユニットに関連するときに、必ずしも特定のコード化ピクチャに関連する必要があるとは限らない。コード化ピクチャからSEIメッセージが分離された場合、どの持続時間にSEIメッセージが適用可能であるかを指定するタイミング情報がSEIメッセージの一部としてシグナリングされ得る。
[0025]SEIメッセージは、いくつかの符号化されたビデオピクチャを復号および/または表示するようにデコーダおよび/またはレンダラを支援するために使用される情報を含むことがある。また、SEIメッセージは誤り耐性を与えるために使用され得る。いくつかのSEIメッセージは、シーケンスレベルであり(たとえば、コード化ピクチャグループ(GOP)またはコード化ビデオピクチャの他のシーケンスに関係し)、他のSEIメッセージは特定のコード化ピクチャに関係し得る。SEIメッセージは、一般に、特定のコード化ピクチャとともに送信される。すなわち、SEIメッセージを検索するために、デコーダは通常、そのSEIメッセージを含むコード化ピクチャを検索する必要がある。デコーダがコード化ピクチャのためのデータを必要としない場合、これは、一般に、帯域幅の浪費につながる。その上、場合によっては、様々なコード化ピクチャの2つのSEIメッセージまたは2つのGOPは、本質的に同じ情報を含んでいることがあり、それにより、SEIメッセージを繰り返し送信することは同様に、帯域幅の浪費を引き起こすことがある。
[0026]本開示の技法は、たとえば、SEIメッセージがコード化ビデオピクチャのシーケンスのシーケンスデータを記述する場合、コード化ビデオデータとは別個に(たとえば、独立して)SEIメッセージを送信することを含む。シーケンスデータは、コード化ビデオピクチャのシーケンスに共通であるデータに対応し得る。H.264/AVC(アドバンストビデオコーディング)に関係するいくつかの例では、SEIメッセージがパンスキャン矩形(pan-scan rectangle)に関係する情報とステレオビデオ情報とを含むとき、SEIメッセージはパラメータセットエレメンタリストリームとともに送信され得る。パラメータセットエレメンタリストリームは、シーケンスパラメータセット(SPS)および/またはピクチャパラメータセット(PPS)メッセージを含み得る。すなわち、パラメータセットエレメンタリストリームは、これらの技法に従って、1つまたは複数のSEIメッセージに加えてPPSおよび/またはSPSメッセージを含み得る。H.264/AVCにおけるそのようなSEIメッセージの一例は、フレームパッキング配置(frame packing arrangement)SEIであり、これは、どのように画像ペアの2つのビューが1つのフレーム中に一緒にインターリーブされるかについての情報を指定する。別の例として、スケーラブルビデオコーディング(SVC)に関して、SEIメッセージがスケーラビリティ情報を与えるとき、SEIメッセージはパラメータセットエレメンタリストリーム中で送られ得る。さらに別の例として、マルチビュービデオコーディング(MVC)では、SEIメッセージがビュースケーラビリティ情報、マルチビュー取得情報、および/またはマルチビューシーン情報を含むとき、SEIメッセージはパラメータセットエレメンタリストリーム中に含まれ得る。
[0027]従来のシーケンスレベルSEIメッセージは、瞬時(instantaneous)デコーダリフレッシュ(IDR)ピクチャを備えるアクセスユニットなどのいくつかのアクセスユニットに関連付けられている。しかしながら、本開示の技法は、アクセスユニットからシーケンスレベルSEIメッセージを分離することを対象とする。したがって、本開示の技法は、シーケンスレベルSEIメッセージを含むアクセスユニットを検索するのではなく、クライアントデバイスが、シーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャとは別個にシーケンスレベルSEIメッセージを検索することを可能にし得る。したがって、クライアントデバイスがコード化ビデオピクチャのシーケンスの一部分のみを復号および表示するように構成された場合、クライアントデバイスは、そうでなければSEIメッセージが一緒に含まれるIDRピクチャなどの他のピクチャを検索する必要なしに、シーケンスの一部分のみを検索し得る。本開示の技法によれば、クライアントデバイスは、コード化ビデオピクチャの所望される一部分とは別個にSEIメッセージを検索し得る。
[0028]いくつかの例では、シーケンスレベルSEIメッセージ(および/または他のシーケンスデータ)をパラメータセットトラック中に含めるのではなく、代わりに、シーケンスレベルSEIメッセージはファイル中に連続的に含まれ、それにより、HTTP−Getオペレーションは、任意のポイントにおいてビデオファイルを復号および表示するために使用され得る情報を検索するためにクライアントによって使用される。すなわち、ユーザは、ビデオファイル中の任意のポイントをシークし、デコーダは、追加の不要なコード化ビデオデータ、たとえば、シーク要求に対応するビデオファイル内の時間ロケーションに先行し、シーク要求の時間ロケーションにおいて、およびそれを越えてビデオデータを復号するために使用されないコード化ビデオデータ、を検索することなしにSEIメッセージを検索し得る。
[0029]ビデオ表現またはオーディオ表現は1つまたは複数のセグメントを含み得る。各表現は初期化セグメントを含むことがあるか、または表現中の各メディアセグメントは自己初期化していることがある。初期化セグメントは、対応する表現のデータ、たとえば、初期化セグメントによって記述されるメディアセグメントにアクセスするための初期化情報を含むことがある。初期化セグメントは、概して、メディアデータを含んでおらず、代わりに初期化データのみを含み得る。各メディアコンポーネントが、オーディオ、ビデオ、または時限テキスト(timed text)など、個々のメディアタイプの符号化バージョンである場合、各表現は、1つまたは複数のメディアコンポーネントを含み得る。メディアコンポーネントは、1つの表現内の連続する複数のメディアセグメントの境界にわたって時間連続であり得る。
[0030]さらに別の例として、本開示の技法は、シーケンスデータ(たとえば、PPS、SPS、およびシーケンスレベルSEIメッセージ)、特に、コード化ビデオデータを含んでいないファイルセグメント、すなわち、ビデオサンプルを送ることを含む。ソースデバイスおよび宛先デバイスは、シーケンスデータを含むビデオサンプルのロケーションを用いて、および/またはこれらのビデオサンプルのロケーションを決定するための方法とを用いて構成される。シーケンスデータは、いくつかの例では、符号化されたビデオデータが送られる前に、サーバからクライアントに送られる。すなわち、ソースデバイスは、シーケンスデータによって参照される符号化されたビデオデータを送る前に、クライアントデバイスに、PPS、SPS、およびシーケンスレベルSEIメッセージなど、シーケンスデータを与え得る。ファイルセグメントに基づくHTTPストリーミングでは、SEIメッセージ、たとえば、シーケンスレベルSEIメッセージは、シーケンスパラメータセットおよびピクチャパラメータセットなどのパラメータセットとともに、コード化オーディオまたはビデオサンプルを含んでいない初期化セグメント中に入れられる。
[0031]本開示の技法は、ISOベースメディアファイルフォーマット、スケーラブルビデオコーディング(SVC)ファイルフォーマット、Advanced Video Coding(AVC)ファイルフォーマット、Third Generation Partnership Project(3GPP)ファイルフォーマット、および/またはマルチビュービデオコーディング(MVC)ファイルフォーマットのいずれかに準拠するビデオファイルに適用され得る。ISOベースメディアファイルフォーマットは、メディアの交換、管理、編集、およびプレゼンテーションを可能にする、フレキシブルな、拡張可能なフォーマットのプレゼンテーションのための、時限メディア情報を含むように設計される。ISOベースメディアファイルフォーマット(ISO/IEC14496−12:2004)は、時間ベースメディアファイルのための一般的な構造を定義するMPEG−4 Part12において規定されている。それは、H.264/MPEG−4AVCビデオ圧縮のサポートを定義したAVCファイルフォーマット(ISO/IEC14496−15)、3GPPファイルフォーマット、SVCファイルフォーマット、およびMVCファイルフォーマットなどのファミリー中の他のファイルフォーマットに対する基準として使用される。3GPPファイルフォーマットおよびMVCファイルフォーマットはAVCファイルフォーマットの拡張である。ISOベースメディアファイルフォーマットは、オーディオビジュアルプレゼンテーションなどのメディアデータの時限シーケンスのためのタイミング、構造、およびメディア情報を含む。ファイル構造はオブジェクト指向である。ファイルは、非常に単純に基本オブジェクトに分解され、オブジェクトの構造はそれらのタイプから暗示される。
[0032]ISOベースメディアファイルフォーマット(およびそれの拡張)に準拠するファイルは、「ボックス」と呼ばれる一連のオブジェクトとして形成される。ISOベースメディアファイルフォーマット中のデータはボックス中に含まれ、ファイル内のボックスの外部にデータがある必要はない。これは、特定のファイルフォーマットによって必要とされる初期シグナチャを含む。「ボックス」は、一意のタイプ識別子と長さとによって定義されるオブジェクト指向ビルディングブロックであり得る。一般に、プレゼンテーションは1つのファイル中に含まれ、メディアプレゼンテーションは独立型(self-contained)である。ムービーコンテナ(ムービーボックス)はメディアのメタデータを含み、ビデオおよびオーディオフレームは、メディアデータコンテナ中に含まれており、他のファイル中にあり得る。
[0033]プレゼンテーション(動きシーケンス)は、いくつかのファイル中に含まれていることがある。タイミングおよびフレーミング(位置およびサイズ)情報は概してISOベースメディアファイル中にあり、補助ファイルは本質的に任意のフォーマットを使用し得る。このプレゼンテーションは、プレゼンテーションを含んでいるシステムに対して「ローカル」であり得るか、あるいはネットワークまたは他のストリーム配信機構を介して与えられ得る。
[0034]ファイルは、論理構造と時間構造と物理構造とを有し得、これらの構造は結合される必要はない。ファイルの論理構造は、次に時間並列(time-parallel)トラックのセットを含む(ビデオデータとオーディオデータの両方を潜在的に含む)ムービーまたはビデオクリップであり得る。ファイルの時間構造は、トラックが時間的なサンプルのシーケンスを含み、それらのシーケンスは、オプションのエディットリストによってムービー全体のタイムラインにマッピングされ得る。ファイルの物理構造は、メディアデータサンプル自体から、論理、時間、および構造的分解のために必要とされるデータを分離し得る。この構造的情報は、ムービーボックス中に集められ、場合によってはムービーフラグメントボックスによって時間的に拡張され得る。ムービーボックスは、サンプルの論理関係およびタイミング関係をドキュメント化し、また、サンプルが配置される場所へのポインタを含む。これらのポインタは、同じファイルまたはたとえばURLによって参照される別のファイルへのものである。
[0035]各メディアストリームは、そのメディアタイプ(オーディオ、ビデオなど)に専用のトラック中に含まれ、さらにサンプルエントリによってパラメータ表示され得る。サンプルエントリは、厳密なメディアタイプ(ストリームを復号するために必要とされるデコーダのタイプ)の「名前」と、必要とされるそのデコーダのパラメータ表示を含む。名前はまた、4文字コード、たとえば、「moov」、または「trak」の形態をとる。MPEG−4メディアについてだけでなく、このファイルフォーマットファミリーを使用する他の編成によって使用されるメディアタイプについても、定義済みのサンプルエントリフォーマットがある。
[0036]メタデータのサポートは、概して2つの形態をとる。第1に、時限メタデータが、適切なトラックに記憶され、必要に応じて、それが表しているメディアデータと同期され得る。第2に、ムービーまたは個々のトラックにアタッチされた非時限メタデータの全般的サポートがあり得る。構造的サポートは、全般的であり、メディアデータ、すなわち、コード化ビデオピクチャの記憶と同様の方法で、ファイル中の他の場所または別のファイル中でのメタデータリソースの記憶を可能にする。さらに、これらのリソースは名前付きであり、保護され得る。
[0037]ISOベースメディアファイルフォーマットでは、サンプルグルーピングは、1つのサンプルグループのメンバーであるべきトラック中のサンプルの各々の割当てである。サンプルグループ中のサンプルは連続である必要はない。たとえば、AVCファイルフォーマットにおけるH.264/AVCを提示するとき、1つの時間レベルのビデオサンプルは、1つのサンプルグループにサンプリングされ得る。サンプルグループは、SampleToGroupボックス(sbdp)とSampleGroupDescriptionボックスとの2つのデータ構造によって表される。SampleToGroupボックスは、サンプルグループへのサンプルの割当てを表す。対応するグループのプロパティについて説明するために、各サンプルグループエントリのためのSampleGroupDescriptionボックスの一インスタンスがある。
[0038]オプションのメタデータトラックは、それが有する「興味深い特性」をもつ各トラックをタグ付けするために使用され、その値はグループの他のメンバー(たとえば、それのビットレート、スクリーンサイズ、または言語)とは異なり得る。トラック内のいくつかのサンプルは、特殊な特性を有するか、または個々に識別され得る。その特性の一例は、同期ポイント(しばしば、ビデオIフレーム)である。これらのポイントは、各トラック中の特殊なテーブルによって識別され得る。より一般には、トラックサンプル間の依存性の性質は、メタデータを使用してドキュメント化されることもある。メタデータは、ちょうどビデオトラックのように、ファイルフォーマットサンプルのシーケンスとして構造化され得る。そのようなトラックはメタデータトラックと呼ばれる。各メタデータサンプルはメタデータステートメントとして構造化される。対応するファイルフォーマットサンプルまたはその構成サンプルについて質問され得る様々な質問(question)に対応する、様々な種類のステートメントがある。
[0039]メディアがストリーミングプロトコルを介して配信されるとき、メディアは、それがファイルにおいて表される形から変換される必要があり得る。これの一例は、メディアがリアルタイムプロトコル(RTP)を介して送信されるときである。ファイルでは、たとえば、ビデオの各フレームが、ファイルフォーマットサンプルとして連続して記憶される。RTPでは、これらのフレームをRTPパケット中に配置するために、使用されるコーデックに固有のパケット化ルールが順守されなければならない。ストリーミングサーバは、実行(run-time)時にそのようなパケット化を計算するように構成され得る。ただし、ストリーミングサーバの支援のためのサポートがある。ヒントトラック(hint track)と呼ばれる特殊なトラックがファイルに入れられ得る。
[0040]ヒントトラックは、特定のプロトコルのためのメディアトラックからどのようにパケットストリームを形成するかに関する、ストリーミングサーバのための一般的な命令を含む。これらの命令の形態はメディア独立型であるので、新しいコーデックが導入されたときにサーバが修正される必要がない。さらに、符号化および編集(editing)ソフトウェアはストリーミングサーバに気づいていない。ファイル上で編集が完了すると、ファイルをストリーミングサーバに置く前に、ヒントトラックをファイルに追加するために、ヒンター(hinter)と呼ばれる1個のソフトウェアが使用され得る。一例として、MPEG−4ファイルフォーマット規格におけるRTPストリームのための定義されたヒントトラックフォーマットがある。
[0041]「プログレッシブダウンロード」という用語は、一般に、HTTPプロトコルを使用した、サーバからクライアントへのデジタルメディアファイルの転送を説明するために使用される。コンピュータから開始されるとき、コンピュータは、ダウンロードが完了する前にメディアの再生を開始する。ストリーミングメディアとプログレッシブダウンロードとの間の1つの相違は、デジタルメディアにアクセスしているエンドユーザデバイスによるデジタルメディアデータの受信および記憶方法にある。プログレッシブダウンロード再生が可能であるメディアプレーヤは、ファイルのヘッダ中に配置されたメタデータが損なわれておらず、デジタルメディアファイルのローカルバッファがデジタルメディアファイルがウェブサーバからダウンロードされたときのままであることに依存する。指定された量のバッファデータがローカル再生デバイスに利用可能になった時点で、デバイスはメディアを再生し始め得る。この指定された量のバッファデータは、エンコーダ設定においてコンテンツの製作者によってファイルに埋め込まれ、クライアントコンピュータのメディアプレーヤによって課される追加のバッファ設定によって補強され得る。
[0042]AVCおよび3GPPはISOベースメディアファイルフォーマットの拡張であり、SVCおよびMVCはAVCファイルフォーマットの拡張である。したがって、本開示の技法は、ISOベースメディアファイルフォーマット、AVCファイルフォーマットおよびそれらの拡張、たとえば、SVCおよびMVC、ならびに/あるいはThird Generation Partnership Project(3GPP)ファイルフォーマットに準拠するビデオファイルに対して適用され得る。本技法は、これらのフォーマットのこれらおよび他の拡張にさらに適用され得、SEIメッセージが記述するビデオデータとは別個にSEIメッセージを与えるように他のファイルフォーマットを拡張するためにさらに適用され得る。したがって、例としてAVCに関して一般的に説明するが、本開示の技法は概して他のファイルフォーマットに適用され得ることを理解されたい。
[0043]Moving Pictures Experts Group(MPEG)は、ISOベースメディアファイルフォーマットの拡張としてAVCファイルフォーマットを開発した。AVCファイルフォーマットでは、シーケンスパラメータセットおよびピクチャパラメータセットを含むパラメータセットは、ビデオトラック中にあるビデオエレメンタリストリームに関連付けられ得る。パラメータセットトラックと呼ばれる別のトラック中にパラメータセットを有することも可能であり、この別のトラックは、SPSまたはPPSネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットであるサンプルを含んでいるパラメータセットエレメンタリストリームを含む。しかしながら、SEIメッセージを使用するピクチャより前の復号時間をもつサンプル中にこのSEIメッセージが提示される限り、SEIメッセージNALユニットのロケーションはAVCファイルフォーマットでは制限されない。
[0044]AVCファイルフォーマットはSVCおよびMVC拡張を有し、それぞれSVCおよびMVCの記憶をサポートする。SVCおよびMVCでは、1つのビデオトラックまたは複数のビデオトラック中に複数のレイヤ/ビューが含まれ得る。レイヤ/ビューが様々な編成で提示されるとき、オペレーションポイントを構築するために、SVCおよびMVC仕様において定義されたツールがある。
[0045]SVCのいくつかの機能はH.264/AVCから引き継がれている。前のスケーラブル規格と比較して、SVC規格は、たとえば、階層時間スケーラビリティ、レイヤ間予測、シングルループ復号、およびフレキシブルトランスポートインターフェースなどの様々な利点を与え得る。H.264/AVCは、高度の時間スケーラビリティを可能にするフレキシブルな階層Bピクチャコーディング構造を与える。H.264/AVCから引き継がれたこの特徴により、SVCは、異なる解像度をもつレイヤの時間スケーラビリティをサポートする。SVCでは、ピクチャグループ(GOP)は、いわゆるキーピクチャと、このキーピクチャと前のキーピクチャとの間に出力/表示順序で配置されたすべてのピクチャとを含む。キーピクチャは、規則的または不規則な間隔でコーディングされ得、前のキーピクチャを動き補償予測のための基準として使用してイントラコーディングされるか、またはインターコーディングされ得る。非キーピクチャは、より低い時間レベルをもつピクチャから階層的に予測され、キーピクチャは、最も低い時間レベルを有し得る。ピクチャの時間レベルは、NALユニットヘッダSVC拡張中のシンタックス要素temporal_idによって示され得る。
[0046]SVCは、テクスチャと残差と動きとに基づいて、空間スケーラビリティと信号対雑音比(SNR)スケーラビリティとのレイヤ間予測を導入する。SVCにおける空間スケーラビリティは、2つのレイヤ間の任意の解像度比に一般化され得る。SNRスケーラビリティは、粗粒度スケーラビリティ(CGS:Coarse Granularity Scalability)、中粒度スケーラビリティ(MGS:Medium Granularity Scalability)、または細粒度スケーラビリティ(FGS:Fine Grain Scalability)によって実現され得る。SVCでは、2つの空間レイヤまたはCGSレイヤは、(NALユニットヘッダ中でdependency_idによって示され得る)異なる依存性レイヤに属するが、2つのMGSレイヤは同じ依存性レイヤ中にあり得る。1つの依存性レイヤは、品質エンハンスメント(quality enhancement)レイヤに対応する、0からより高い値までのquality_idをもつ品質レイヤを含み得る。SVCは、レイヤ間冗長性を低減するために利用されるレイヤ間予測方法を与える。それらは、レイヤ間テクスチャ予測、レイヤ間残差予測、およびレイヤ間動き予測として要約される。
[0047]SVCはまた、スケーラブルマルチメディアアプリケーションシステムへのコーデックのシームレスな統合を可能にする、フレキシブルなシステムおよびトランスポートインターフェース設計を提供する。圧縮およびスケーラビリティプロビジョニングとは異なり、システムおよびトランスポートインターフェースは、コーデック機能に焦点を当てており、一般的にビデオコーデックについては、インターオペラビリティおよび準拠、拡張性、ランダムアクセス、タイミング、バッファ管理、ならびに誤り耐性などであり、特にスケーラブルコーディングについては、後方互換性、スケーラビリティ情報プロビジョニング、およびスケーラビリティ適応などである。
[0048]SVCはシングルループ復号方式をさらに提供する。シングルループ復号方式では、ターゲットレイヤのみが動き補償され、完全復号される必要がある。したがって、一般に、あらゆる空間レイヤまたはSNRスケーラブルレイヤに対して動き補償および完全復号が実行される、他のマルチループ復号方式と比較して、SVCのシングルループ復号方式は復号複雑度ならびにDPBサイズを大幅に低減することができる。
[0049]SVCおよびMVCは、たとえば、NALユニットヘッダ、シーケンスパラメータセット、およびSEIメッセージ中に、同様のハイレベルシンタックス設計を有する。SVCとMVCの両方において、ビットストリーム全体の抽出は、帯域幅またはデバイス能力の適応のために、ある程度までサポートされる。抽出されたサブビットストリームは異なるオペレーションポイントに対応する。
[0050]いくつかの例では、本開示の技法は、H.264/AVCコーデック、または、SVC、MVC、またはH.264/AVCの他の拡張などのAVCに基づくコーデックに適用され得る。そのようなコーデックは、SEIメッセージが1つのコード化ピクチャ、たとえば、アクセスユニットに関連するときにそのSEIメッセージを認識するように構成され、SEIメッセージは、ISOベースメディアファイルフォーマットまたはMPEG−2システムビットストリームでアクセスユニット内にカプセル化され得る。本技法はまた、SEIメッセージによって記述されるアクセスユニットとは別個にSEIメッセージを搬送することを可能にするために、将来のコーディング規格、たとえば、H.265/HEVCに対処する。
[0051]別の例として、3GPPに関して、ダウンロードおよびプログレッシブダウンロードのために3GPファイルに対してHTTP/TCP/IPトランスポートがサポートされる。さらに、ビデオストリーミングにHTTPを使用することはいくつかの利点を与え、HTTPに基づくビデオストリーミングサービスが普及しつつある。HTTPストリーミングは、ネットワーク上でビデオデータをトランスポートするための新しい技法を開発するために新たな労力が必要とされないように、既存のインターネットコンポーネントおよびプロトコルが使用されることを含むいくつかの利点を与え得る。他のトランスポートプロトコル、たとえばRTPペイロードフォーマットは、メディアフォーマットおよびシグナリングコンテキストを認識するために、中間ネットワークデバイス、たとえば中間ボックスを必要とする。また、HTTPストリーミングはクライアント主導型であり得、それにより、制御問題を回避し得る。
[0052]たとえば、最適性能を取得するための特徴を活用するために、サーバは、まだ肯定応答されていないパケットのサイズとコンテンツとを追跡する。サーバはまた、RD最適切替え/シニング(thinning)決定を行うために、ファイル構造を分析し、クライアントバッファの状態を再構成し得る。さらに、ネゴシエートされたプロファイルに準拠した状態を保つために、ビットストリーム変動に関する制約が満たされ得る。HTTPは、HTTP1.1が実装されたウェブサーバにおいて、新しいハードウェアまたはソフトウェア実装を必ずしも必要とはしない。HTTPストリーミングはまた、TCPフレンドリネス(TCP friendliness)とファイアウォールトラバーサル(firewall traversal)とを実現する。
[0053]HTTPストリーミングでは、頻繁に使用される動作にはGETおよびパーシャルGETがある。GETオペレーションは、所与のユニフォームリソースロケータ(URL)またはユニフォームリソースネーム(URN)に関連するファイル全体を取り出す。パーシャルGETオペレーションは、入力パラメータとしてバイト範囲を受信し、受信したバイト範囲に対応するファイルの連続するいくつかのバイトを取り出す。したがって、パーシャルGETオペレーションは1つまたは複数の個々のムービーフラグメントを得ることができるので、HTTPストリーミングのためのムービーフラグメントが与えられ得る。ムービーフラグメントには、異なるトラックのいくつかのトラックフラグメントがあり得ることに留意されたい。HTTPストリーミングでは、メディアプレゼンテーションは、クライアントがアクセス可能であるデータの構造化された集合であり得る。クライアントは、ストリーミングサービスをユーザに提示するために、メディアデータ情報を要求し、ダウンロードし得る。
[0054]図1は、オーディオ/ビデオ(A/V)ソースデバイス20がオーディオおよびビデオデータをA/V宛先デバイス40にトランスポートする例示的なシステム10を示すブロック図である。図1のシステム10は、ビデオ通信会議システム、サーバ/クライアントシステム、放送事業者/受信機システム、またはA/Vソースデバイス20などのソースデバイスからA/V宛先デバイス40などの宛先デバイスにビデオデータが送られる任意の他のシステムに対応し得る。いくつかの例では、A/Vソースデバイス20およびA/V宛先デバイス40は双方向情報交換を実行し得る。すなわち、A/Vソースデバイス20およびA/V宛先デバイス40は、オーディオおよびビデオデータの符号化と復号(および、送信と受信)の両方が可能であり得る。いくつかの例では、オーディオエンコーダ26は、ボコーダとも呼ばれるボイスエンコーダを備え得る。
[0055]A/Vソースデバイス20は、図1の例では、オーディオソース22とビデオソース24とを備える。オーディオソース22は、たとえば、オーディオエンコーダ26によって符号化されるべき、キャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオソース22は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータシンセサイザなどのオーディオデータ生成器、またはオーディオデータの任意の他のソースを備え得る。ビデオソース24は、ビデオエンコーダ28によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、ビデオデータ生成ユニット、またはビデオデータの任意の他のソースを備え得る。
[0056]未加工オーディオおよびビデオデータは、アナログまたはデジタルデータを備え得る。アナログデータは、オーディオエンコーダ26および/またはビデオエンコーダ28によって符号化される前にデジタル化され得る。オーディオソース22は、通話参加者が話している間、通話参加者からオーディオデータを取得し、同時に、ビデオソース24は、通話参加者のビデオデータを取得し得る。他の例では、オーディオソース22は、記憶されたオーディオデータを備えるコンピュータ可読記憶媒体を備え得、ビデオソース24は、記憶されたビデオデータを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明する技法は、ライブ、ストリーミング、リアルタイムオーディオおよびビデオデータ、またはアーカイブされた、あらかじめ記録されたオーディオおよびビデオデータに適用され得る。
[0057]ビデオフレームに対応するオーディオフレームは、概して、ビデオフレーム内に含まれている、ビデオソース24によってキャプチャされたビデオデータと同時にオーディオソース22によってキャプチャされたオーディオデータを含んでいるオーディオフレームである。たとえば、通話参加者が概して話すことによってオーディオデータを生成する間、オーディオソース22はオーディオデータをキャプチャし、同時に、すなわちオーディオソース22がオーディオデータをキャプチャしている間、ビデオソース24は通話参加者のビデオデータをキャプチャする。したがって、オーディオフレームは、1つまたは複数の特定のビデオフレームに時間的に対応し得る。したがって、ビデオフレームに対応するオーディオフレームは、概して、オーディオデータとビデオデータとが同時にキャプチャされる状況、およびオーディオフレームとビデオフレームとが、それぞれ、同時にキャプチャされたオーディオデータとビデオデータとを備える状況に対応する。
[0058]いくつかの例では、オーディオエンコーダ26は、符号化オーディオフレームのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化し、同様に、ビデオエンコーダ28は、符号化ビデオフレームのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化し得る。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと、同じタイムスタンプを備えるビデオフレームとを備え得る。A/Vソースデバイス20は、オーディオエンコーダ26および/またはビデオエンコーダ28がタイムスタンプを生成するか、あるいはオーディオソース22およびビデオソース24がオーディオおよびビデオデータをそれぞれタイムスタンプに関連付けるために使用し得る内部クロックを含む。
[0059]いくつかの例では、オーディオソース22は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ26に送り、ビデオソース24は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ28に送る。いくつかの例では、オーディオエンコーダ26は、符号化オーディオデータの相対的時間順序付けを示すために、符号化オーディオデータ中のシーケンス識別子を符号化するが、必ずしもオーディオデータが記録された絶対時刻を示す必要はない。同様に、ビデオエンコーダ28も、符号化ビデオデータの相対的時間順序付けを示すためにシーケンス識別子を使用し得る。同様に、いくつかの例では、シーケンス識別子は、タイムスタンプにマッピングされるか、または場合によってはタイムスタンプと相関する。
[0060]本開示の技法は、概して、符号化マルチメディア(たとえば、オーディオおよびビデオ)データのトランスポートと、トランスポートされたマルチメディアデータの受信ならびに後続の解釈および復号とを対象とする。図1の例に示すように、ビデオソース24はシーンの複数のビューをビデオエンコーダ28に与える。
[0061]A/Vソースデバイス20は、A/V宛先デバイス40に「サービス」を提供し得る。サービスは、概して、MVCデータの利用可能なビューのサブセットに対応する。たとえば、MVCデータは、0から7まで順序付けられた8つのビューについて利用可能である。あるサービスは、2つのビューを有するステレオビデオに対応し、別のサービスは4つのビューに対応し、さらに別のサービスは8つのビューすべてに対応し得る。概して、サービスは、利用可能なビューの任意の組合せ(すなわち、任意のサブセット)に対応する。サービスはまた、利用可能なビューならびにオーディオデータの組合せに対応する。A/Vソースデバイス20が、A/Vソースデバイス20によって提供されるサービスごとにオペレーションポイント記述子をさらに与え得るように、オペレーションポイントがサービスに対応し得る。
[0062]各データストリームは(オーディオかビデオかにかかわらず)エレメンタリストリームと呼ばれる。エレメンタリストリームは、デジタル的にコーディングされた(場合によっては圧縮された)プログラムの単一の構成要素である。たとえば、プログラムのコーディングされたビデオまたはオーディオ部分はエレメンタリストリームである。エレメンタリストリームは、ビデオファイル内にカプセル化される前に、パケット化エレメンタリストリーム(PES:packetized elementary stream)に変換され得る。同じプログラム内では、1つのエレメンタリストリームに属するPESパケットを他のものから区別するためにストリームIDが使用される。エレメンタリストリームの基本データ単位はパケット化エレメンタリストリーム(PES)パケットである。したがって、MVCビデオデータの各ビューはそれぞれのエレメンタリストリームに対応する。同様に、オーディオデータは1つまたは複数のそれぞれのエレメンタリストリームに対応する。たとえば、シーケンスパラメータセット、ピクチャパラメータセット、およびシーケンスレベルSEIメッセージを含み得るシーケンスデータセットは、本開示の技法によれば、パラメータセットトラックまたはパラメータセットエレメンタリストリーム中に含まれ得る。本開示の技法は、パケット化エレメンタリストリーム(PES)、プログラムストリーム(PS)、およびトランスポートストリーム(TS)、ならびにそれらのAVC拡張、SVC拡張、およびMVC拡張を含む、MPEG−2システムに準拠するビデオファイルまたはビデオストリームに適用され得る。
[0063]MVCコード化ビデオシーケンスは、各々がエレメンタリストリームであるいくつかのサブビットストリームに分離され得る。各サブビットストリームは、MVC view_idサブセットを使用して識別され得る。各MVC view_idサブセットの概念に基づいて、MVCビデオサブビットストリームが定義される。MVCビデオサブビットストリームは、MVC view_idサブセットに記載されているビューのNALユニットを含んでいる。プログラムストリームは、概して、エレメンタリストリームのものであるNALユニットのみを含んでいる。それはまた、任意の2つのエレメンタリストリームが同じビューを含むことができないように設計されている。
[0064]図1の例では、カプセル化ユニット30は、ビデオエンコーダ28からビデオデータを備えるエレメンタリストリームを受信し、オーディオエンコーダ26からオーディオデータを備えるエレメンタリストリームを受信する。いくつかの例では、ビデオエンコーダ28およびオーディオエンコーダ26はそれぞれ、符号化データからPESパケットを形成するためのパケッタイザを含む。他の例では、ビデオエンコーダ28およびオーディオエンコーダ26は、それぞれ、符号化データからPESパケットを形成するため、それぞれのパケッタイザとインターフェースする。さらに他の例では、カプセル化ユニット30は、符号化オーディオデータと符号化ビデオデータとからPESパケットを形成するためのパケッタイザを含む。
[0065]本開示で使用する「プログラム」は、オーディオデータとビデオデータとの組合せ、たとえば、A/Vソースデバイス20のサービスによって配信されたオーディオエレメンタリストリームと利用可能なビューのサブセットとを備え得る。各PESパケットは、PESパケットが属するエレメンタリストリームを識別するstream_idを含む。カプセル化ユニット30は、エレメンタリストリームをビデオファイルにアセンブルすることを担う。
[0066]カプセル化ユニット30は、オーディオエンコーダ26とビデオエンコーダ28とからプログラムのエレメンタリストリームのPESパケットを受信し、PESパケットから対応するネットワークアブストラクションレイヤ(NAL)ユニットを形成する。H.264/AVC(Advanced Video Coding)の例では、コード化ビデオセグメントは、ビデオテレフォニー、ストレージ、ブロードキャスト、またはストリーミングなどの適用例に対処する「ネットワークフレンドリーな」ビデオ表現を与えるNALユニットに編成される。NALユニットは、Video Coding Layer(VCL)NALユニットと非VCL NALユニットとにカテゴリー分類され得る。VCLユニットは、コア圧縮エンジンを含むことがあり、ブロック、マクロブロック、および/またはスライスレベルのデータを含み得る。他のNALユニットは非VCL NALユニットであり得る。いくつかの例では、通常はプライマリコード化ピクチャとして提示される、1つの時間インスタンス中のコード化ピクチャは、1つまたは複数のNALユニットを含むアクセスユニット中に含まれる。
[0067]非VCL NALユニットは、特に、パラメータセットNALユニットとSEI
NALユニットとを含み得る。パラメータセットは、(シーケンスパラメータセット(SPS:sequence parameter set)中の)シーケンスレベルヘッダ情報と(ピクチャパラメータセット(PPS:picture parameter set)中の)まれに変化するピクチャレベルヘッダ情報とを含むことがある。パラメータセット(たとえば、PPSおよびSPS)がある場合、まれに変化する情報をシーケンスごとまたはピクチャごとに繰り返す必要はなく、したがってコーディング効率が改善され得る。さらに、パラメータセットの使用は重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避する。帯域外送信の例では、SEI NALユニットなど、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信され得る。
[0068]補足エンハンスメント情報(SEI)は、VCL NALユニットからのコード化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、および他の目的に関係するプロセスを支援する情報を含むことがある。SEIメッセージは、非VCL NALユニット中に含まれていることがある。SEIメッセージは、一部の標準規格の規範的部分であり、したがって、常に標準準拠デコーダ実装のために必須であるとは限らない。SEIメッセージは、シーケンスレベルのSEIメッセージまたはピクチャレベルのSEIメッセージであり得る。SVCの例ではスケーラビリティ情報SEIメッセージ、MVCではビュースケーラビリティ情報SEIメッセージなど、SEIメッセージ中に何らかのシーケンスレベル情報が含まれていることがある。これらの例示的なSEIメッセージは、たとえば、オペレーションポイントの抽出およびそれらのオペレーションポイントの特性に関する情報を伝達する。
[0069]本開示の技法によれば、カプセル化ユニット30は、シーケンスレベルSEIメッセージが、シーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャから分離されるようにビデオファイルのデータを構成し得る。このようにして、カプセル化ユニット30は、コード化ビデオデータを含む特定のアクセスユニットからシーケンスレベルSEIメッセージを分離し得る。たとえば、カプセル化ユニット30は、たとえば、AVC、またはMVCおよびSVCなどのその拡張に従って符号化されたビデオデータのSPSデータおよびPPSデータとともに、シーケンスレベルSEIメッセージをパラメータセットエレメンタリストリーム中に含める。さらに、ビデオデータがMVCおよび/またはSVCに従って符号化される例では、カプセル化ユニット30は、サブセットSPSをパラメータセットエレメンタリストリーム中に含める。
[0070]いくつかの例では、カプセル化ユニット30は、パラメータセットエレメンタリストリーム中にいくつかのSEIメッセージのみを配置するように構成される。たとえば、H.264/AVCの場合、カプセル化ユニット30は、パンスキャン矩形情報およびステレオビデオ情報を記述するSEIメッセージをパラメータセットエレメンタリストリーム中に含める。別の例として、SVCの場合、カプセル化ユニット30は、スケーラビリティ情報を記述するSEIメッセージをパラメータセットエレメンタリストリーム中に含め得る。さらに別の例として、MVCの場合、カプセル化ユニット30は、ビュースケーラビリティ情報、マルチビュー取得情報、およびマルチビューシーン情報を記述するSEIメッセージを含める。
[0071]一般に、SPSおよびPPS(ならびに、たとえば、MVCおよびSVCのためのサブセットSPS)は、シーケンスレベルSEIメッセージとともに、「シーケンスデータセット」と総称される。上記で説明したように、シーケンスデータセットは、パラメータセットエレメンタリストリームなどの別個のトラック中に含まれ得る。いくつかの例では、別個のパラメータトラック中にシーケンスデータセットを配置するのではなく、カプセル化ユニット30は、宛先デバイス40がHTTPパーシャルGET要求を使用してシーケンスデータセット全体を取り出すことができるように、シーケンスのシーケンスデータセットを連続的にファイル中に提示し得る。たとえば、シーケンスデータセットは、コード化ビデオデータ、たとえば、コード化ビデオピクチャの一部分またはコード化ビデオピクチャ全体を含んでいない専用のビデオサンプル中に含まれる。
[0072]シーケンスデータセットによって記述されたビデオデータからシーケンスデータセットを分離することによって、宛先デバイス40は、シーケンスデータセットによって記述されたビデオデータとは別個にシーケンスデータセットを取り出し得る。このようにして、ソースデバイス20は、シーケンスデータセットによって記述されたビデオデータを宛先デバイス40に送信するより前に、シーケンスデータセットを宛先デバイス40に送信し得る。したがって、ソースデバイス20は、コード化ビデオピクチャを含むムービーフラグメントが宛先デバイス40に送られる前に、シーケンスデータセットを宛先デバイス40に送り得る。
[0073]いくつかの例では、たとえば、3GPPビデオファイルの使用に関して、シーケンスデータセットは、宛先デバイス40がメディアプレゼンテーション記述子にアクセスした後に宛先デバイス40に送られ得る別個の3GPPファイル中に含まれる。すなわち、宛先デバイス40は、ビデオデータのシーケンスのメディアプレゼンテーション記述子を取り出し、次いで、ビデオデータのシーケンスのシーケンスデータセットを含む3GPPファイルを取り出し、次いで、ビデオデータ自体のシーケンスを取り出す。いくつかの例では、シーケンスデータセットは、メディアプレゼンテーション記述子自体の一部を形成する。いくつかの例では、シーケンスデータセットは、コード化ビデオデータを含んでいないムービーボックスの一部に含まれる。いくつかの例では、シーケンスデータセットは、ムービーボックスの後に配置されるムービーフラグメントを形成する。
[0074]カプセル化ユニット30は、NALが属するプログラムを識別するヘッダ、ならびに、たとえば、オーディオデータ、ビデオデータ、あるいはNALユニットが対応するトランスポートまたはプログラムストリームを記述するデータといったペイロードを備えるNALユニットを形成し得る。たとえば、H.264/AVCでは、NALユニットは1バイトのヘッダと変動するサイズのペイロードとを含む。一例では、NALユニットヘッダは、priority_id要素と、temporal_id要素と、anchor_pic_flag要素と、view_id要素と、non_idr_flag要素と、inter_view_flag要素とを備える。従来のMVCでは、4バイトMVC NALユニットヘッダとNALユニットペイロードとを含む、プレフィックスNALユニットとMVCコード化スライスNALユニットとを除いて、H.264によって定義されたNALユニットが保持される。
[0075]NALヘッダのpriority_id要素は、単純なワンパス(one-path)ビットストリーム適合プロセスのために使用され得る。temporal_id要素は、異なる時間レベルが異なるフレームレートに対応する場合、対応するNALユニットの時間レベルを指定するために使用され得る。
[0076]anchor_pic_flag要素は、ピクチャがアンカーピクチャであるか非アンカーピクチャであるかを示す。アンカーピクチャと、出力順序(すなわち、表示順序)でそれに続くすべてのピクチャとは、復号順序(すなわち、ビットストリーム順序)で前のピクチャを復号することなしに正しく復号され、したがってランダムアクセスポイントとして使用され得る。アンカーピクチャと非アンカーピクチャとは異なる依存性を有することができ、その両方はシーケンスパラメータセット中でシグナリングされる。他のフラグについては、本章の以下のセクションで説明され、使用される。そのようなアンカーピクチャはまた、オープンGOP(Group Of Pictures)アクセスポイントと呼ばれることもあり、non_idr_flag要素が0に等しいとき、クローズGOPアクセスポイントもサポートされる。non_idr_flag要素は、ピクチャが瞬時デコーダリフレッシュ(IDR:instantaneous decoder refresh)であるかビューIDR(V−IDR)ピクチャであるかを示す。概して、IDRピクチャと、出力順序またはビットストリーム順序でそれに続くすべてのピクチャとは、復号順序または表示順序のいずれかで前のピクチャを復号することなしに正しく復号され得る。
[0077]view_id要素は、ビューを識別するために使用され得るシンタックス情報を備え、それは、MVCデコーダ内でデータ対話性のために、たとえば、ビュー間予測のために、およびデコーダ外で、たとえば、レンダリングのために使用され得る。inter_view_flag要素は、対応するNALユニットが他のビューによってビュー間予測のために使用されるかどうかを指定し得る。AVCに準拠し得る、ベースビューの4バイトNALユニットヘッダ情報を搬送するために、MVCにおいてプレフィックスNALユニットが定義される。MVCのコンテキストにおいて、ベースビューアクセスユニットは、ビューの現在の時間インスタンスのVCL NALユニット、ならびにNALユニットヘッドのみを含むプレフィックスNALユニットを含む。H.264/AVCデコーダはプレフィックスNALユニットを無視し得る。
[0078]そのペイロード中にビデオデータを含むNALユニットは、様々な粒度(granularity)レベルのビデオデータを備え得る。たとえば、NALユニットは、ビデオデータのブロック、マクロブロック、複数のマクロブロック、ビデオデータのスライス、またはビデオデータのフレーム全体を備える。カプセル化ユニット30は、ビデオエンコーダ28から符号化ビデオデータをエレメンタリストリームのPESパケットの形態で受信し得る。カプセル化ユニット30は、各エレメンタリストリームを対応するプログラムに関連付け得る。
[0079]カプセル化ユニット30はまた、複数のNALユニットからアクセスユニットをアセンブルし得る。概して、アクセスユニットは、ビデオデータのフレームを表すための、ならびにそのフレームに対応するオーディオデータが利用可能であるときにそのようなオーディオデータを表すための、1つまたは複数のNALユニットを備え得る。アクセスユニットは、概して、1つの出力時間インスタンスについてすべてのNALユニット、たとえば1つの時間インスタンスについてすべてのオーディオおよびビデオデータを含む。
たとえば、各ビューが20フレーム毎秒(fps)のフレームレートを有する場合、各時間インスタンスは0.05秒の時間間隔に対応する。この時間間隔中に、同じアクセスユニット(同じ時間インスタンス)のすべてのビューについて特定のフレームが同時にレンダリングされ得る。H.264/AVCに対応する例では、アクセスユニットは、プライマリコード化ピクチャとして提示される、1つの時間インスタンス中のコード化ピクチャを備える。したがって、アクセスユニットは、共通の時間インスタンスのすべてのオーディオおよびビデオフレーム、たとえば、時間Xに対応するすべてのビューを備え得る。また、本開示では、特定のビューの符号化ピクチャを「ビューコンポーネント」と呼ぶ。すなわち、ビューコンポーネントは、特定の時間における特定のビューの符号化ピクチャ(またはフレーム)を備え得る。したがって、アクセスユニットは、共通の時間インスタンスのすべてのビューコンポーネントを備えるものと定義され得る。アクセスユニットの復号順序は、必ずしも出力または表示順序と同じである必要はない。
[0080]多くのビデオコーディング規格の場合と同様に、H.264/AVCは、誤りのないビットストリームのためのシンタックスと、セマンティクスと、復号プロセスとを定義し、そのいずれも特定のプロファイルまたはレベルに準拠する。H.264/AVCはエンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダの規格に準拠することを保証することを課される。ビデオコーディング規格のコンテキストでは、「プロファイル」は、アルゴリズム、機能、またはツールと、それらに適用される制約とのサブセットに対応する。たとえば、H.264規格によって定義される「プロファイル」は、H.264規格によって指定されたビットストリームシンタックス全体のサブセットである。「レベル」は、たとえば、ピクチャの解像度、ビットレート、およびマクロブロック(MB)処理レートに関係するデコーダメモリおよび計算など、デコーダリソース消費の制限に対応する。プロファイルはprofile_idc(プロファイルインジケータ)値を用いてシグナリングされ、レベルはlevel_idc(レベルインジケータ)値を用いてシグナリングされ得る。
[0081]H.264規格は、たとえば、与えられたプロファイルのシンタックスによって課される限界内で、復号されたピクチャの指定されたサイズのような、ビットストリーム中のシンタックス要素がとる値に応じて、エンコーダおよびデコーダのパフォーマンスにおける大きい変動が要求される可能性が依然としてあることを認識している。H.264規格は、さらに、多くのアプリケーションにおいて、特定のプロファイル内でシンタックスのすべての仮定的使用を処理することが可能なデコーダを実装することが現実的でも経済的でもないことを認識している。したがって、H.264規格は、ビットストリーム中のシンタックス要素の値に課された制約の指定されたセットとして「レベル」を定義している。これらの制約は、値に関する単純な限界であり得る。代替的に、これらの制約は、値の演算の組合せ(たとえば、ピクチャ幅×ピクチャ高さ×毎秒復号されるピクチャの数)に関する制約の形態をとり得る。H.264規格は、さらに、個別の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートすることを規定している。
[0082]プロファイルに準拠するデコーダは、通常、プロファイル中で定義されたすべての機能をサポートする。たとえば、コーディング機能として、Bピクチャコーディングは、H.264/AVCのベースラインプロファイルではサポートされないが、H.264/AVCの他のプロファイルではサポートされる。1つのレベルに準拠するデコーダは、当該レベルにおいて定義された制限を超えたリソースを必要としない任意のビットストリームを復号できなければならない。プロファイルおよびレベルの定義は、説明可能性のために役立ち得る。たとえば、ビデオ送信中に、プロファイル定義とレベル定義のペアが全送信セッションについてネゴシエートされ、同意される。より詳細には、H.264/AVCでは、レベルは、たとえば、処理する必要があるマクロブロックの数に関する制限と、復号されたピクチャバッファ(DPB)サイズと、コード化ピクチャバッファ(CPB)サイズと、垂直動きベクトル範囲と、2つの連続するMBごとの動きベクトルの最大数と、Bブロックが8×8ピクセル未満のサブマクロブロックパーティションを有することができるかどうかとを定義する。このようにして、デコーダは、デコーダがビットストリームを適切に復号することができるかどうかを決定し得る。
[0083]パラメータセットは、概して、シーケンスパラメータセット(SPS)中のシーケンスレイヤヘッダ情報とピクチャパラメータセット(PPS)中のまれに変化するピクチャレイヤヘッダ情報とを含む。パラメータセットがある場合、このまれに変化する情報をシーケンスごとまたはピクチャごとに繰り返す必要はなく、したがってコーディング効率が改善される。さらに、パラメータセットの使用はヘッダ情報の帯域外送信を可能にし、誤り耐性を達成するための冗長送信の必要を回避できる。帯域外送信では、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信される。
[0084]SVCおよびMVCの例は、スケーラブルビデオまたはマルチビュービデオのためのシーケンスパラメータセット(SPS)拡張を与える。SPS拡張情報は、他のNALユニットとは異なるNALユニットタイプを有する、サブSPS NALユニット中に含まれ得る。サポートされるオペレーションポイントについてのプロファイルおよびレベル情報は、SPS拡張情報を含むNALユニット中に含まれ得る。
[0085]メディアプレゼンテーションは、異なる複数の代替表現(たとえば、異なる品質をもつ複数のビデオサービス)の記述を含むメディアプレゼンテーション記述(MPD)を含み得、記述は、たとえば、コーデック情報、プロファイル値、およびレベル値を含み得る。様々なプレゼンテーションの複数のムービーフラグメントにアクセスする方法を決定するために、宛先デバイス40はメディアプレゼンテーションのMPDを取り出す。ムービーフラグメントは、ビデオファイルのムービーフラグメントボックス(moofボックス)中に配置される。
[0086]ITU−T H.261、H.262、H.263、MPEG−1、MPEG−2およびH.264/MPEG−4 part10などのビデオ圧縮規格は、時間冗長性を低減するために動き補償時間予測を利用する。エンコーダは、動きベクトルに従って現在のコード化ピクチャを予測するために、いくつかの前の(本明細書ではフレームとも呼ぶ)符号化ピクチャからの動き補償予測を使用する。典型的なビデオコーディングには3つの主要なピクチャタイプがある。それらは、イントラコード化ピクチャ(「Iピクチャ」または「Iフレーム」)と、予測ピクチャ(「Pピクチャ」または「Pフレーム」)と、双方向予測ピクチャ(「Bピクチャ」または「Bフレーム」)と、である。Pピクチャは、時間順序で現在のピクチャの前の参照ピクチャのみを使用する。Bピクチャでは、Bピクチャの各ブロックは、1つまたは2つの参照ピクチャから予測され得る。これらの参照ピクチャは、時間順序で現在のピクチャの前または後に位置し得る。
[0087]H.264コーディング規格によれば、一例として、Bピクチャは、前にコーディングされた参照ピクチャの2つのリスト、すなわち、リスト0とリスト1とを使用する。これらの2つのリストは、それぞれ、過去および/または将来のコード化ピクチャを時間順序で含むことができる。Bピクチャ中のブロックは、いくつかの方法、すなわちリスト0参照ピクチャからの動き補償予測、リスト1参照ピクチャからの動き補償予測、またはリスト0参照ピクチャとリスト1参照ピクチャの両方の組合せからの動き補償予測のうちの1つで予測され得る。リスト0参照ピクチャとリスト1参照ピクチャの両方の組合せを得るために、2つの動き補償基準エリアが、それぞれリスト0参照ピクチャおよびリスト1参照ピクチャから取得される。それらの組合せは現在のブロックを予測するために使用される。
[0088]ITU−T H.264規格は、ルーマ成分については16×16、8×8、または4×4、およびクロマ成分については8×8など、様々なブロックサイズのイントラ予測をサポートし、ならびにルーマ成分については16×16、16×8、8×16、8×8、8×4、4×8および4×4、およびクロマ成分については対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。本開示では、「×」と「by」は、垂直ディメンション(dimension)および水平ディメンションに関するブロックのピクセルディメンション、たとえば、16×16ピクセルまたは16by16ピクセルを指すために互換的に使用される。一般に、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、Nは、非負整数値を表す。ブロック中のピクセルは行と列に構成される。
[0089]16×16よりも小さいブロックサイズは16×16マクロブロックのパーティションと呼ばれることがある。ビデオブロックは、ピクセル領域中のピクセルデータのブロックを備え、あるいは、たとえば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、またはコード化ビデオブロックと予測ビデオブロックとの間のピクセル差分を表す残差ビデオブロックデータへの概念的に同様の変換などの変換を適用した後の変換領域中の変換係数のブロックを備え得る。場合によっては、ビデオブロックは、変換領域中の量子化変換係数のブロックを備え得る。
[0090]ビデオブロックは、小さいほどより良い解像度が得られ、高い詳細レベルを含むビデオフレームの位置決めに使用され得る。一般に、マクロブロック、およびサブブロックと呼ばれることがある様々なパーティションは、ビデオブロックと見なされ得る。さらに、スライスは、マクロブロックおよび/またはサブブロックなど、複数のビデオブロックであると見なされ得る。各スライスはビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであるか、またはフレームの他の部分が復号可能なユニットとして定義され得る。「コード化ユニット」または「コーディングユニット」という用語は、フレーム全体、フレームのスライス、シーケンスとも呼ばれるピクチャグループ(GOP)のようなビデオフレームの単独で復号可能な任意のユニット、または、適用可能なコーディング技法に従って定義される別の単独で復号可能なユニットを指すことがある。
[0091]マクロブロックという用語は、16×16ピクセルを備える2次元ピクセルアレイに従ってピクチャおよび/またはビデオデータを符号化するためのデータ構造を指す。各ピクセルはクロミナンス成分と輝度成分とを備える。したがって、マクロブロックは、各々が8×8ピクセルの2次元アレイを備える4つの輝度ブロックと、各々が16×16ピクセルの2次元アレイを備える2つのクロミナンスブロックと、コード化ブロックパターン(CBP)、符号化モード(たとえば、イントラ(I)またはインター(PまたはB)符号化モード)、イントラ符号化ブロックのパーティションのパーティションサイズ(たとえば、16×16、16×8、8×16、8×8、8×4、4×8、または4×4)、あるいはインター符号化マクロブロックのための1つまたは複数の動きベクトルなどのシンタックス情報を備えるヘッダと、を定義し得る。
[0092]ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、およびカプセル化解除ユニット38は、それぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなどの様々な好適な処理回路のいずれか、またはそれらの任意の組合せとして実装され得る。ビデオエンコーダ28およびビデオデコーダ48の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。同様に、オーディオエンコーダ26およびオーディオデコーダ46の各々は1つまたは複数のエンコーダまたはデコーダ中に含められ得、そのいずれかは複合CODECの一部として統合され得る。ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、および/またはカプセル化解除ユニット38を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0093]カプセル化ユニット30が、受信したデータに基づいてNALユニットおよび/またはアクセスユニットをビデオファイルにアセンブルした後、カプセル化ユニット30はビデオファイルを出力のために出力インターフェース32に渡す。いくつかの例では、カプセル化ユニット30は、ビデオファイルをローカルに記憶するか、またはビデオファイルを直接宛先デバイス40に送るのではなく、出力インターフェース32を介してビデオファイルをリモートサーバに送る。出力インターフェース32は、たとえば、送信機、トランシーバ、たとえば、オプティカルドライブ、磁気メディアドライブ(たとえば、フロッピー(登録商標)ドライブ)など、コンピュータ可読媒体にデータを書き込むためのデバイス、ユニバーサルシリアルバス(USB)ポート、ネットワークインターフェース、または他の出力インターフェースを備える。出力インターフェース32は、ビデオファイルを、たとえば、送信信号、磁気メディア、光メディア、メモリ、フラッシュドライブ、または他のコンピュータ可読媒体など、コンピュータ可読媒体34に出力する。
[0094]最終的に、入力インターフェース36はコンピュータ可読媒体34からデータを取り出す。入力インターフェース36は、たとえば、オプティカルドライブ、磁気メディアドライブ、USBポート、受信機、トランシーバ、または他のコンピュータ可読媒体インターフェースを備える。入力インターフェース36は、NALユニットまたはアクセスユニットをカプセル化解除ユニット38に与える。カプセル化解除ユニット38は、ビデオファイルの要素を構成(constituent)PESストリームにカプセル化解除し、符号化データを取り出すためにPESストリームをパケット化解除し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオの一部であるのかビデオストリームの一部であるのかに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48に送る。オーディオデコーダ46は、符号化オーディオデータを復号し、復号されたオーディオデータをオーディオ出力42に送り、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号されたビデオデータをビデオ出力44に送る。
[0095]さらに、カプセル化解除ユニット38は、PPSデータ、SPSデータ、および/またはシーケンスレベルSEIメッセージを含み得る復号シーケンスデータセットをビデオ出力44に送り得る。ビデオ出力44は、シーンの単一のビューまたはシーンの複数のビューを使用するディスプレイ、たとえば、同時に、または高速に交互に連続してシーンの各ビューを提示するステレオスコープ(stereoscopic)ディスプレイまたはオートステレオスコープ(autostereoscopic)ディスプレイを備えることができる。ビデオ出力44は、復号されたビデオピクチャを表示するためにシーケンスデータセットを使用し得る。シーケンスレベルSEIメッセージは、復号プロセスを支援するためにも使用され得るが、SEIメッセージは、ビデオシーケンスのサンプルを適切に復号するために必要とされない。したがって、ビデオデコーダ48は、ビデオファイルのビデオサンプルを復号するときに、シーケンスレベルSEIメッセージをも使用し得る。
[0096]上記のように、SEIメッセージは様々な目的のために使用され得る。たとえば、シーケンスレベルSEIメッセージは、表示されたときにビデオデータを様々なスクリーンサイズに適応するように調整するためのパンアンドスキャン情報を記述する。したがって、ビデオ出力44(または、それの制御ユニット)は、ビデオ出力44によって表示されるようにビデオデータを調整するために、シーケンスレベルSEIメッセージを使用し得る。
[0097]別の例として、シーケンスレベルSEIメッセージはステレオビデオ情報を記述し得る。すなわち、シーケンスレベルSEIメッセージは、どのピクチャが3次元ビデオアプリケーションのための「左」画像であるか、または「右」画像であるかを記述し得る。したがって、ビデオ出力44は、どのように3次元ビデオデータを提示すべきかを判断するために、シーケンスレベルSEIメッセージを使用し得る。たとえば、ビデオ出力44は、光の様々な偏光を使用して、または様々なカラーフィルタ(たとえば、赤および緑)を用いて、左画像と右画像とを表示するか、あるいは、ビデオ出力44に関連付けられたアクティブ眼鏡が、光を通すレンズが交互に変わるように、左画像と右画像とが交互に高速に変わる。
[0098]さらに別の例として、たとえば、ビデオファイルがSVCまたはMVCに従って構築される例では、シーケンスレベルSEIメッセージはスケーラビリティ情報を与える。したがって、ビデオデコーダ48は、エンハンスメントレイヤ情報が受信されたかどうかを決定するために、したがって、受信したエンハンスメントレイヤデータを使用すべきかどうかを決定するために、またはベースレイヤビデオデータをアップサンプリングするために値を補間すべきかを決定するために、シーケンスレベルSEIメッセージを使用し得る。
[0099]別の例として、たとえば、ビデオファイルがMVCに従って構築される例では、シーケンスレベルSEIメッセージは、マルチビュー取得情報またはマルチビューシーン情報を与え得る。一般に、マルチビュー取得情報SEIメッセージは、たとえば、内部および外部カメラパラメータ、ビューの数、焦点距離、主点、スキューファクタ、回転パラメータ、および/または変換パラメータなどの収集環境のパラメータを指定する。マルチビューシーン情報SEIメッセージは、複数のビューがキャプチャされるときの、それらのビュー間の最大視差を指定し得る。この情報は、3次元ビデオデータを復号および/またはレンダリングするときに、たとえば、既存の画像から追加の画像を構築するときに、ビデオデコーダ48および/またはビデオ出力44によって使用され得る。マルチビューシーン情報はまた、1つまたは複数のカメラの特性、または、たとえば、最高1024個のビューのカメラ設定によって生じる最大視差がどのくらいかなど、画像収集中の状態を記述し得る。マルチビューシーン情報はまた、カメラキャリブレーションおよび修正に関係する詳細を与え得る。
[00100]図2は、例示的なカプセル化ユニット30の構成要素を示すブロック図である。図2の例では、カプセル化ユニット30は、ビデオ入力インターフェース80と、オーディオ入力インターフェース82と、ビデオファイル作成ユニット60と、ビデオファイル出力インターフェース84とを含む。この例では、ビデオファイル作成ユニット60は、ネットワークアブストラクションレイヤ(NAL)ユニットコンストラクタ62と、SEIメッセージ抽出ユニット64と、シーケンスデータセット作成ユニット66とを含む。
[00101]ビデオ入力インターフェース80およびオーディオ入力インターフェース82は、それぞれ符号化ビデオデータおよび符号化オーディオデータを受信する。ビデオ入力インターフェース80およびオーディオ入力インターフェース82は、データが符号化されると、符号化ビデオデータおよび符号化オーディオデータを受信するか、または符号化ビデオデータおよび符号化オーディオデータをコンピュータ可読媒体から取り出し得る。符号化ビデオデータおよび符号化オーディオデータを受信すると、ビデオ入力インターフェース80およびオーディオ入力インターフェース82は、ビデオファイルにアセンブルするために符号化ビデオデータおよび符号化オーディオデータをビデオファイル作成ユニット60に受け渡す。
[00102]ビデオファイル作成ユニット60は、それによる機能およびプロシージャを実行するように構成されたハードウェア、ソフトウェア、および/またはファームウェアを含む制御ユニットに対応し得る。制御ユニットは、概して、カプセル化ユニット30による機能をさらに実行し得る。ビデオファイル作成ユニット60がソフトウェアおよび/またはファームウェアで実施される例では、カプセル化ユニット30は、ビデオファイル作成ユニット60のための命令を備えるコンピュータ可読媒体と、命令を実行するための処理ユニットとを含み得る。ビデオファイル作成ユニット60のサブユニット(この例では、NALユニットコンストラクタ62、SEIメッセージ抽出ユニット64、およびシーケンスデータセット作成ユニット66)の各々は、個々のハードウェアユニットおよび/またはソフトウェアモジュールとして実装され、機能的に統合されるか、または追加のサブユニットにさらに分離され得る。ビデオファイル作成ユニット60は、たとえば、1つまたは複数のマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、またはそれらの任意の組合せなど、任意の好適な処理ユニットまたは処理回路に対応し得る。ビデオファイル作成ユニット60は、NALユニットコンストラクタ62、SEIメッセージ抽出ユニット64、およびシーケンスデータセット作成ユニット66のいずれかまたはすべてのための命令を記憶する非一時的コンピュータ可読媒体、ならびに命令を実行するためのプロセッサをさらに含み得る。
[00103]概して、ビデオファイル作成ユニット60は、受信したオーディオおよびビデオデータを含むビデオファイルを作成し得る。NALユニットコンストラクタ62は、符号化ビデオおよびオーディオサンプルを含むNALユニットを形成し得る。ビデオファイル作成ユニット60は、特定の時間インスタンスについてのすべてのNALユニットを含むアクセスユニットをアセンブルするようにさらに構成され得る。さらに、ビデオファイル作成ユニット60は、シーケンスレベルSEIメッセージによって記述された符号化されたビデオピクチャからシーケンスレベルSEIメッセージを分離し、シーケンスレベルSEIメッセージによって記述された符号化されたビデオピクチャとは別個に、シーケンスレベルSEIメッセージを作成されたビデオファイルに記憶するように構成され得る。
[00104]ビデオエンコーダ28(図1)は、ビデオデータのサンプルとともにSEIメッセージを含み得る。いくつかの個々のサンプルのためのビデオエンコーダ28から受信したSEIメッセージは、場合によっては、サンプルの各々のためのSEIメッセージと同じである。したがって、個々のサンプルのためのSEIメッセージがサンプルの各々のためのSEIメッセージと同じ(またはまったく同様)であると判断すると、SEIメッセージ抽出ユニット64は、サンプルの各々のための同じSEIメッセージを送信するのではなく、SEIメッセージによって記述されたサンプルからSEIメッセージを分離し得る。2つ以上の符号化されたビデオピクチャに関係し得るそのようなSEIメッセージは、シーケンスレベルSEIメッセージと呼ばれることがある。
[00105]追加または代替として、ビデオファイル作成ユニット60は、コード化ビデオピクチャのシーケンスのためのシーケンスレベルSEIメッセージを生成するように構成され得る。このようにして、ビデオファイル作成ユニット60は、シーケンスレベルSEIメッセージを生成し得るか、またはビデオサンプルのうちの1つまたは複数を記述するシーケンスレベルSEIメッセージを形成するためにビデオサンプルから既存のSEIメッセージを分離し得る。
[00106]シーケンスデータセット作成ユニット66は、ビデオファイル作成ユニット60によって生成されたビデオファイルのシーケンスデータセットを作成し得る。シーケンスデータセット作成ユニット66は、シーケンスレベルSEIメッセージをシーケンスパラメータセットおよび/またはピクチャパラメータセットデータとともにグループ化し得る。たとえば、シーケンスデータセット作成ユニット66は、SPSと、PPSと、いくつかの例では、(たとえば、SVCおよびMVCに関して)サブセットSPSとを含むパラメータセットエレメンタリストリーム中に、シーケンスレベルSEIメッセージを含める。別の例として、シーケンスデータセット作成ユニット66は、コード化ビデオピクチャのシーケンスのシーケンスレベルSEIメッセージを、作成されたビデオファイルの連続セクション中に含める。すなわち、シーケンスデータセット作成ユニット66は、コード化ビデオピクチャの特定のシーケンスのためのシーケンスレベルSEIメッセージについてのデータが、連続する一連の1つまたは複数のバイト中に一緒にグループ化されることを保証し得る。たとえば、シーケンスデータセット作成ユニット66は、シーケンスレベルSEIメッセージとシーケンスデータセットについての他のデータとを、コード化ビデオピクチャのどの部分も含んでいない特定のビデオサンプル中にアセンブルする。
[00107]別の例として、たとえば、3GPPに関して、シーケンスデータセット作成ユニット66は、コード化ビデオピクチャのシーケンスについてのシーケンスデータセットを、シーケンスデータセットによって記述されたコード化ビデオピクチャのシーケンスを含む1つまたは複数の3GPPファイルに先行する比較的小さい3GPPファイル中にアセンブルする。代替的に、シーケンスデータセット作成ユニット66は、シーケンスデータセットを、1つまたは複数の3GPPファイルを含む1つまたは複数の関係するプレゼンテーションのメディアプレゼンテーション記述(MPD)ファイル中に含め得る。
[00108]さらに別の例として、シーケンスデータセット作成ユニット66は、ムービーボックス(moovボックス)がコード化ビデオピクチャを含まないとき、ビデオファイルのムービーボックス内にシーケンスデータセットを含める。別の例として、シーケンスデータセット作成ユニット66は、ビデオファイルのムービーボックス(moovボックス)の後であるが、コード化ビデオピクチャを含む任意のムービーフラグメントボックス(moofボックス)の前に発生するシーケンスデータセットをムービーフラグメントボックス内に含める。
[00109]SPS、PPS、シーケンスレベルSEIメッセージ、および/またはサブセットSPSをシーケンスデータセット中にグループ化することによって、シーケンスデータセット作成ユニット66は、シーケンスデータを宛先デバイス40などのクライアントデバイスに与えるタスクを簡略化し得る。このようにして、シーケンスレベルSEIメッセージは、シーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャが宛先デバイス40に送信される前に、宛先デバイス40に送信され得る。
[00110]一般に、シーケンスデータセットのSPS、PPS、およびシーケンスレベルSEIメッセージは、シーケンスデータセットによって記述されたビデオサンプルのシーケンスについて一定のままであると予想される。しかしながら、場合によっては、SPS、PPS、および/またはシーケンスレベルSEIメッセージのいくつかの部分は、個々のコード化ビデオピクチャについて、あるいはコード化ビデオピクチャのセットまたはサブシーケンスについてわずかに変動し得る。たとえば、いくつかのコード化ビデオピクチャをカプセル化するビデオファイル中には、SPS、PPS、またはシーケンスレベルSEIメッセージの同じ情報を必ずしも共有しない1つまたは複数のシーケンスが存在する。
[00111]このとき、シーケンスデータセット作成ユニット66は複数のパラメータセットトラックを作成し得、各トラックは、SPS、PPS、および/またはSEIメッセージのセット、ならびにトラックのシーケンスデータセットが当てはまるときを示すタイミング情報のインジケーションを含み得る。たとえば、タイミング情報は、トラックがビデオシーケンスに当てはまり始める時間を示すビデオシーケンスの開始時間、および/またはタイミング情報を含むトラックがもはや当てはまらないビデオシーケンスの終了時間を示し得る。代替的に、各トラックについてのタイミング情報は終了時間だけを示し得、それにより、特定のパラメータセットトラックの終了時間に達すると、クライアントデバイスは、次のパラメータセットトラックにジャンプし得る。そのようなタイミング情報は、協定世界時(UTC:coordinated universal time)に対応するか、またはパラメータセットトラックが、ファイルカプセル化フォーマットのビデオ全体のために使用される時間スケールに当てはまる(終了時間の)最後のビデオサンプルの持続時間に対応し得る。
[00112]複数のパラメータセットトラックのうちの1つは、ビデオファイルのすべてのサンプルに当てはまり得る。シーケンスデータセット作成ユニット66は、パラメータセットトラックについてのタイミング情報を、任意のムービーサンプルまたはムービーフラグメントよりも後のUTC時間に設定することによって、ビデオファイルのすべてのサンプルに当てはまるパラメータセットトラックを示し得る。代替的に、シーケンスデータセット作成ユニット66は、ビデオファイルのすべてのサンプルに当てはまるパラメータセットトラックについてのタイミング情報について、持続時間0を示し得る。
[00113]シーケンスデータセット作成ユニット66が複数のパラメータセットトラックを作成する例では、シーケンスデータセット作成ユニット66は、パラメータセットトラックの各々にそれぞれの一意の識別子を割り当て得る。宛先デバイス40などのクライアントデバイスが、たとえば、ローカル再生によって、またはHTTPストリーミング中に、特定の時間ロケーションをシークするように要求するとき、宛先デバイス40は、いくつかのパラメータセットトラックのうちのどのパラメータセットトラックが、シークされた時間ロケーションに当てはまるかを判断し得る。クライアントデバイスは、それぞれのパラメータセットトラックがシークされた時間ロケーションよりも後のビデオサンプルに当てはまることを示すタイミング情報を有するパラメータセットトラックの識別子を要求し得る。サーバ(たとえば、ソースデバイス20)は、関係するパラメータセットトラックが、たとえば、HTTPストリーミングのコンテキスト中でクライアントに配信されることを保証するために、そのような関係するパラメータセットトラックをマークするようにデータ構造を維持し得る。ローカル再生中、クライアントは、関係するパラメータセットトラックがクライアントデバイスによってパースされることを保証するために、同様のデータ構造を維持し得る。
[00114]その上、いくつかのパラメータセットトラックを含めるのではなく、シーケンスデータセット作成ユニット66は、各々がファイル内に連続的に記憶される得るいくつかのシーケンスデータセットをビデオファイル中に含め得る。すなわち、シーケンスデータセットの各々は、シーケンスデータセットのうちの特定のシーケンスデータセットについてのすべてのデータが連続するように連続的に記憶され得るが、シーケンスデータセットは互いに連続的に記憶される必要はない。たとえば、シーケンスデータセット作成ユニット66は、シーケンスデータセットが関係する一連のフラグメントに先行するビデオフラグメントにシーケンスデータセットを記憶し、その一連のフラグメントの後に新しいシーケンスデータセットを記憶する。新しいシーケンスデータセットは、新しいシーケンスデータセットを記憶しているフラグメントに続く他のビデオフラグメントに関係し得る。複数のシーケンスデータセットをファイルに記憶するとき、シーケンスデータセット作成ユニット66は、シーケンスデータセットの各々についてのタイミング情報、ならびにシーケンスデータセットの各々についての一意の識別子を与え得る。
[00115]ビデオファイル作成ユニット60が、シーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャから分離されたシーケンスレベルSEIメッセージを含むビデオファイルを生成した後、ビデオファイル作成ユニット60は、そのビデオファイルをビデオファイル出力インターフェース84に渡す。ビデオファイル出力インターフェース84は、たとえば、ソースデバイス20の出力インターフェース32に、ビデオファイルを出力する。いくつかの例では、ビデオファイル出力インターフェース84は、ビデオファイルをソースデバイス20の記憶媒体(図示せず)に出力する。ビデオファイルは、ソースデバイス20内にローカルに記憶され、DVD、ブルーレイ(登録商標)ディスク、フラッシュドライブ、フロッピー(登録商標)ディスクなどのポータブル記憶媒体、または他のポータブル記憶媒体に記憶され、たとえば、HTTPストリーミングなどのストリーミングプロトコルに従って、ネットワークを介して出力され、または場合によっては、ビデオファイルが宛先デバイス40などのクライアントデバイスによって受信され得るような方法で出力され得る。このようにして、ビデオデータ、たとえば、シーケンスレベルSEIメッセージおよびシーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャの出力は、ビデオデータの記憶、転送、送信、およびブロードキャストを含み得る。
[00116]図3は、様々なロケーションにおけるシーケンスレベルSEIメッセージを含み得る例示的なビデオファイル100の要素を示すブロック図である。上記で説明したように、ISOベースメディアファイルフォーマットおよびそれの拡張によるビデオファイルは、データを「ボックス」と呼ばれる一連のオブジェクトに記憶する。図3の例では、ビデオファイル100は、ファイルタイプ(FTYP)ボックス102と、ムービー(MOOV)ボックス104と、ムービーフラグメント(MOOF)ボックス112と、ムービーフラグメントランダムアクセス(MFRA)ボックス114とを含む。
[00117]ファイルタイプボックス102は、概して、ビデオファイル100のためのファイルタイプを記述する。ファイルタイプボックス102は、ビデオファイル100のための最も良い使用を記述する仕様を識別するデータを含み得る。ファイルタイプボックス102は、MOOVボックス104、ムービーフラグメントボックス112、およびMFRAボックス114の前に配置され得る。
[00118]MOOVボックス104は、図3の例では、ムービーヘッダ(MVHD)ボックス106と、トラック(TRAK)ボックス108と、1つまたは複数のムービーエクステンド(MVEX)ボックス110とを含む。概して、MVHDボックス106は、ビデオファイル100の一般的な特性を記述し得る。たとえば、MVHDボックス106は、ビデオファイル100が最初に作成されたとき、ビデオファイル100が最後に変更されたときに記述するデータ、ビデオファイル100のための時間スケール、ビデオファイル100のための再生の持続時間、またはビデオファイル100を概して記述する他のデータを含み得る。
[00119]TRAKボックス108は、ビデオファイル100のトラックのためのデータを含み得る。TRAKボックス108は、TRAKボックス108に対応するトラックの特性を記述するトラックヘッダ(TKHD)ボックスを含み得る。いくつかの例では、TRAKボックス108はコード化ビデオピクチャを含むが、他の例では、トラックのコード化ビデオピクチャは、TRAKボックス108のデータによって参照され得るムービーフラグメント112中に含まれる。
[00120]いくつかの例では、ビデオファイル100は2つ以上のトラックを含む。したがって、MOOVボックス104は、ビデオファイル100中のトラックの数に等しいいくつかのTRAKボックスを含み得る。TRAKボックス108は、ビデオファイル100の対応するトラックの特性を記述し得る。たとえば、TRAKボックス108は、対応するトラックのための時間および/または空間情報を記述し得る。MOOVボックス104のTRAKボックス108と同様のTRAKボックスは、カプセル化ユニット30(図1)がビデオファイル100などのビデオファイル中のパラメータセットトラックを含むとき、パラメータセットトラックの特性を記述し得る。カプセル化ユニット30は、パラメータセットトラックを記述しているTRAKボックス内のパラメータセットトラック中のシーケンスレベルSEIメッセージの存在をシグナリングし得る。
[00121]MVEXボックス110は、ビデオファイル100が、たとえば、もしあれば、MOOVボックス104内に含まれたビデオデータに加えて、ムービーフラグメント112を含むことをシグナリングするために、対応するムービーフラグメント112の特性を記述し得る。ビデオデータをストリーミングするコンテキストでは、コード化ビデオピクチャは、MOOVボックス104中ではなくムービーフラグメント112中に含まれ得る。したがって、すべてのコード化ビデオピクチャは、MOOVボックス104中ではなく、ムービーフラグメント112中に含まれ得る。
[00122]MOOVボックス104は、ビデオファイル100中のムービーフラグメント112の数に等しいいくつかのMVEXボックス110を含み得る。MVEXボックス110の各々は、ムービーフラグメント112のうちの対応する1つの特性を記述し得る。
たとえば、各MVEXボックスは、ムービーフラグメント112のうちの対応する1つについての持続時間を記述するムービーエクステンドヘッダ(MEHD)ボックスを含む。
[00123]上記のように、カプセル化ユニット30は、実際のコード化ビデオデータを含まないビデオサンプルにシーケンスデータセットを記憶し得る。ビデオサンプルは、概して、特定の時間インスタンスにおけるコード化ピクチャの表現であるアクセスユニットに対応し得る。AVCのコンテキストでは、コード化ピクチャは、アクセスユニットおよび他の関連する非VCL NALユニットのすべてのピクセルを構築するためのSEIメッセージなどの情報を含んでいる1つまたは複数のVCL NALユニットを含む。したがって、カプセル化ユニット30は、シーケンスレベルSEIメッセージを含み得るシーケンスデータセットをムービーフラグメント112のうちの1つ中に含め得る。カプセル化ユニット30は、ムービーフラグメント112のうちの1つに対応するMVEXボックス110のうちの1つ内のムービーフラグメント112のうちの1つ中に存在するときの、シーケンスデータセットおよび/またはシーケンスレベルSEIメッセージの存在をさらにシグナリングし得る。
[00124]ムービーフラグメント112は1つまたは複数のコード化ビデオピクチャを含み得る。いくつかの例では、ムービーフラグメント112は、各々がいくつかのコード化ビデオピクチャ、たとえば、フレームまたはピクチャを含み得る1つまたは複数のピクチャグループ(GOP)を含む。さらに、上記で説明したように、ムービーフラグメント112は、いくつかの例ではシーケンスデータセットを含む。ムービーフラグメント112の各々は、ムービーフラグメントヘッダ(MFHD)ボックスを含み得る。MVHDボックスは、ムービーフラグメントについてのシーケンス番号など、対応するムービーフラグメントの特性を記述し得る。ムービーフラグメント112は、ビデオファイル100中のシーケンス番号の順に含まれ得る。
[00125]MFRAボックス114は、ビデオファイル100のムービーフラグメント112内のランダムアクセスポイントを記述し得る。これは、ビデオファイル100内の特定の時間ロケーションのシークを実行するのを支援し得る。MFRAボックス114は、概してオプションであり、ビデオファイル中に含まれる必要はない。同様に、宛先デバイス40などのクライアントデバイスは、ビデオファイル100のビデオデータを正しく復号し、表示するために必ずしもMFRAボックス114を参照する必要があるとは限らない。MFRAボックス114は、ビデオファイル100のトラックの数に等しいか、またはいくつかの例では、ビデオファイル100のメディアトラック(たとえば、非ヒントトラック)の数に等しい数のトラックフラグメントランダムアクセス(TFRA)ボックスを含み得る。
[00126]図4は、シーケンスレベルSEIメッセージ156を含んでいるパラメータセットトラック146を含む別の例示的なビデオファイル140の要素を示すブロック図である。特に、ビデオファイル140は、MOOVボックス142とMDATボックス150とを含む。ビデオファイル140は、とりわけ、ファイルタイプボックスおよび/またはMFRAボックスなどの他のボックスをさらに含み得る。
[00127]図4の例では、MOOVボックス142は、ビデオデータトラック144と、パラメータセットトラック146とを含む。パラメータセットトラック146は、ピクチャパラメータセット(PPS)152と、シーケンスパラメータセット(SPS)154と、シーケンスレベル補足エンハンスメント情報(SL SEI)メッセージ156とに対応する。ビデオデータトラック144はビデオフラグメント160A〜160N(ビデオフラグメント160)に対応する。概して、ビデオフラグメント160は、各々、1つまたは複数のコード化ビデオピクチャを含み得る。
[00128]図4の例では、PPS152、SPS154、シーケンスレベルSEIメッセージ156、およびビデオフラグメント160についてのデータがMDATボックス150に記憶されている。PPS152、SPS154、およびシーケンスレベルSEIメッセージ156はシーケンスパラメータセットと総称され得る。いくつかの例では、パラメータセットトラック146は2つ以上のピクチャパラメータセットを含む。PPS152、SPS154、およびシーケンスレベルSEIメッセージ156は、概して、ビデオフラグメント160の特性を記述する。これらの特性は、ビデオフラグメント160を選択、復号および/またはレンダリングする際に、宛先デバイス40などのクライアントデバイスを支援し得る。
[00129]一例として、ビデオファイル140がAVCファイルフォーマットに対応するとき、シーケンスレベルSEIメッセージ156は、パンスキャン矩形SEIメッセージ、ステレオビデオ情報SEIメッセージ、および/またはフレームパッキング配置SEIメッセージのうちの1つまたは複数を含み得る。別の例として、ビデオファイル140がSVCファイルフォーマットに対応するとき、シーケンスレベルSEIメッセージ156はスケーラビリティ情報SEIメッセージを含み得る。別の例として、ビデオファイル140がMVCファイルフォーマットに対応するとき、シーケンスレベルSEIメッセージ156は、ビュースケーラビリティ情報SEIメッセージ、マルチビュー取得情報SEIメッセージ、および/またはマルチビューシーン情報SEIメッセージのうちの1つまたは複数を含み得る。
[00130]ビデオファイルは、ビデオデータトラック144と同様のいくつかのメディアトラックを含み得る。ビデオデータトラックの各々は、様々な復号要件および/またはレンダリング要件に対応し得る様々な特性を有し得る。宛先デバイス40は、特に、シーケンスデータセットによってシグナリングされるメディアトラックについてのビデオフラグメントの特性に基づいて、メディアトラックのうちの1つを選択し得る。たとえば、宛先デバイス40は、それぞれビデオデコーダ48およびビデオ出力44の復号能力および/またはレンダリング能力に基づいて、トラックのうちの1つを選択し得る。宛先デバイス40は、PPS152とSPS154とシーケンスレベルSEIメッセージ156とを含むパラメータセットトラック146に基づいて、ビデオフラグメント160の特性を判断し得る。
[00131]宛先デバイス40は、シーケンスパラメータセットによって記述された任意のコード化サンプルの前に、シーケンスパラメータセット、たとえば、MOOVボックス104、シーケンスパラメータセットを含むムービーフラグメント112のうちの1つ、シーケンスパラメータセットを含むがコード化ビデオデータを含まないビデオサンプル、またはビデオファイル100の他の要素を取り出すように構成され得る。追加または代替として、ソースデバイス20は、シーケンスパラメータセットによって記述された任意のコード化ビデオピクチャを宛先デバイス40に与える前に、シーケンスパラメータセットを宛先デバイス40に与えるように構成され得る。その上、ソースデバイス20は、宛先デバイス40からのムービーフラグメント112のうちの1つについての要求を、宛先デバイス40がムービーフラグメント112のうちの要求された1つについてのシーケンスデータセットの最初に要求されたデータを持っていないときに、拒否するように構成され得る。
[00132]図5は、それぞれのプレゼンテーションのためのそれぞれのシーケンスデータセットを含む3GPPファイル186、194を含むプレゼンテーション182、190の例示的なセット198を示すブロック図である。すなわち、セット198は追加のプレゼンテーションを含み得るが、図5には例として2つのプレゼンテーション182、190が示されている。
[00133]メディアプレゼンテーション記述(MPD)180は、セット198のプレゼンテーション、たとえば、プレゼンテーション182、190を記述するデータを含む。MPD180は、たとえば、プレゼンテーションのユニフォームリソースロケータ(URL)および/またはユニフォームリソースネーム(URN)を記述し得る。MPD180は、セット198中のプレゼンテーションの各々の特性をさらに記述し得る。たとえば、MPD180は、プレゼンテーションの各々についてのシーケンスデータセットを含み得る。MPD180は、プレゼンテーションの各々に記憶された3GPPビデオファイルの数も記述し得る。
[00134]図5の例では、プレゼンテーション182は、ヘッダデータ184と、シーケンスデータセットをもつ3GPPファイル186と、3GPPファイル188A〜188N(3GPPファイル188)とを含む。同様に、この例では、プレゼンテーション190は、ヘッダデータ192と、シーケンスデータセットをもつ3GPPファイル194と、3GPPファイル196A〜196N(3GPPファイル196)とを含む。文字「N」は、3GPPファイル188と3GPPファイル196の両方についてのカーディナリティを指定するために使用されるが、Nは、プレゼンテーション182および190について必ずしも同じであるとは限らない。すなわち、プレゼンテーション182およびプレゼンテーション190、ならびにセット198のプレゼンテーションのいずれかには、異なる数の3GPPファイルが存在し得る。
[00135]ヘッダデータ184は、プレゼンテーション182のいくつかの特性、たとえば、プレゼンテーション182中の3GPPファイルの数、3GPPファイル188の各々の始端に対応するメモリアドレス、(たとえば、バイト単位の)3GPPファイル188の長さ、(たとえば、秒単位、分単位などの)3GPPファイル188の持続時間、3GPPファイル188を適切に復号およびレンダリングするためのクライアントデバイスの予想される復号能力および/またはレンダリング能力、あるいは他のデータを記述し得る。プレゼンテーション182は、たとえば、ISOベースメディアファイルフォーマット規格、および/または3GPP規格などのそれの拡張によって記述される追加のデータを含み得る。3GPPファイル188はコード化ビデオピクチャを含み得る。シーケンスデータセットをもつ3GPPファイル186は、たとえば、3GPPファイル188のうちの1つまたは複数に含まれるコード化ビデオピクチャのシーケンスのコード化ビデオピクチャを記述するシーケンスデータセットを含む。
[00136]図5の例では、セット198のプレゼンテーションは、ビデオデータの同じシーケンスの様々なプレゼンテーションに対応し得る。すなわち、プレゼンテーションの各々は、再生中に、たとえば、復号およびレンダリングされるときに同様であり得る。ただし、ビデオデータは、セット198の様々なプレゼンテーション内で別様にコーディングまたは提示され得る。たとえば、プレゼンテーション190のビデオサンプルは、より高いまたはより低い解像度を有し、より高いまたはより低いビットレートで符号化され、特定のデコーダバッファサイズを予定し、特定のフレームレートを有し、特定のマクロブロック復号レートを予定し、あるいは他の特性に基づいて互いに区別され得る。カプセル化ユニット30(図1)などのカプセル化ユニットは、プレゼンテーション182の3GPPファイル186およびプレゼンテーション190の3GPPファイル194など、プレゼンテーション内の3GPPファイル中にシーケンスデータセットを配置し得る。追加または代替として、カプセル化ユニット30は、セット198の1つまたは複数のプレゼンテーションについてのシーケンスデータをMPD180に記憶し得る。
[00137]図6は、ビデオファイル内にシーケンスデータセットをカプセル化し、そのビデオファイルをソースデバイスから宛先デバイスに与えるための例示的な方法を示すフローチャートである。例および説明のために、ソースデバイス20および宛先デバイス40(図1)の構成要素に関して説明するが、任意の好適なデバイスが図6の技法を実装し得ることを理解されたい。
[00138]初めに、カプセル化ユニット30は、符号化されたビデオピクチャのシーケンスを受信する(210)。ビデオエンコーダ28などのエンコーダは、コード化サンプルとともにシーケンスレベルSEIメッセージを含んでいることがある。追加または代替として、カプセル化ユニット30は、ビデオエンコーダ28とは別個にシーケンスレベルSEIメッセージを作成し得る。いずれの場合も、カプセル化ユニット30は、シーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャからシーケンスレベルSEIメッセージを分離する(212)。
[00139]すなわち、カプセル化ユニット30は、シーケンスレベルSEIメッセージと、シーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャとを含むビデオファイルを作成する(214)。ただし、そうする際に、カプセル化ユニット30は、シーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャとは別個にシーケンスレベルSEIメッセージを記憶し得る。このようにすると、SEIメッセージは、コード化ビデオピクチャとは別個に送信および処理され得る。たとえば、本開示の技法によれば、カプセル化ユニット30は、作成されたビデオファイルのパラメータセットトラックにシーケンスレベルSEIメッセージを記憶し得る。別の例として、カプセル化ユニット30は、コード化ビデオピクチャを含まないトラックフラグメント中のシーケンスレベルSEIメッセージ、コード化ビデオピクチャを含まない別の3GPPファイル、およびコード化ビデオピクチャと同様であるが実際にはコード化ビデオデータを含まないデータ構造を、ビデオファイルを記述するメディアプレゼンテーション記述に記憶し、あるいは場合によってはシーケンスレベルSEIメッセージによって記述されたコード化ビデオピクチャからシーケンスレベルSEIメッセージを分離し得る。
[00140]カプセル化ユニット30は、次いでビデオファイルを出力する(216)。たとえば、カプセル化ユニット30は、ソースデバイス20に、たとえば、光ディスク、フロッピー(登録商標)ディスク、フラッシュドライブ、ハードドライブ、ソリッドステートドライブ、または他の記憶媒体などの記憶媒体に、ビデオファイルを書き込ませ得る。そのような記憶媒体は宛先デバイス40に物理的に移送され得る。代替的に、ソースデバイス20は、たとえば、ブロードキャスト、ネットワーク送信、または他の送信技法によって、ビデオファイルを宛先デバイス40に送信し得る。いずれの場合も、宛先デバイス40は、最終的にビデオファイルを受信する(218)。
[00141]いくつかの例では、ソースデバイス20は、たとえば、ソースデバイス20に対して宛先デバイス40によって発行された1つまたは複数のHTTP GetまたはパーシャルGET要求に応答して、ビデオファイルの別個の部分を宛先デバイス40に与え得る。宛先デバイス40は、シーケンスデータセット、たとえば、シーケンスレベルSEIメッセージを含むパラメータセットトラックの全部または一部分を取り出すための第1のHTTP GetまたはパーシャルGET要求と、シーケンスデータセットによって記述されたコード化ビデオピクチャを取り出すための第2の(またはそれ以上の)HTTP
GetまたはパーシャルGET要求とをソースデバイス20に発行し得る。
[00142]ビデオファイルを受信した後に、宛先デバイス40は、シーケンスレベルSEIメッセージに基づいてビデオファイルを復号する(220)。すなわち、ビデオデコーダ48は、復号プロセスを支援するためにシーケンスレベルSEIメッセージのデータを使用し得る。同様に、ビデオディスプレイ44は、復号されたビデオデータを表示するために、復号されたビデオデータのレンダリングを支援するためにシーケンスレベルSEIメッセージを使用する(222)。たとえば、ビデオデコーダ48および/またはビデオディスプレイ44(あるいは、レンダリングユニットまたはそれのレンダリングエンジン)は、シーケンスレベルSEIメッセージを使用して、どのようにビデオデータをビデオディスプレイ44のネイティブ解像度に適応させるかを判断し、画像が(たとえば、ステレオビデオデータのための)左画像であるか右画像であるかを判断し、どのようにフレームがパックされるかを判断し、ビデオデータについてのスケーラビリティ情報を判断し、マルチビュー取得情報を判断し、ならびに/あるいはマルチビューシーン情報を判断する。
[00143]図7は、ビデオファイル240の別の例を示すブロック図である。図7の例では、ビデオファイル240は、ムービー(MOOV)ボックス242と、ムービーデータ(MDAT)ボックス250とを含む。MOOVボックス242は、ビデオデータトラックと、いくつかのパラメータセットトラック246A〜246Cとを含む。図7の例には3つのパラメータセットトラックが示されているが、ビデオファイルは、概して、任意の数のパラメータセットトラックを含み得ることを理解されたい。
[00144]ビデオデータトラック244は、各々がMDATボックス250に記憶され得るいくつかの様々なビデオフラグメント254A〜254Cに対応する。この例では、ビデオフラグメント254A、254Bおよび254Cの各セットは、異なるシーケンスレベル情報を有し得る。たとえば、シーケンスレベル情報は、ビデオフラグメント254Aと254Bと254Cとの間で変化し得る。したがって、ビデオフラグメント254A、254Bおよび254Cの各々は、それぞれのシーケンスデータセットを有し得る。この例では、シーケンスデータセット252Aはビデオフラグメント254Aに関係し、シーケンスデータセット252Bはビデオフラグメント254Bに関係し、シーケンスデータセット252Cはビデオフラグメント254Cに関係する。
[00145]ビデオフラグメントの所与のセットについてシーケンスデータセットは、シーケンス中のビデオフラグメントの各々に当てはまり得る。たとえば、シーケンスデータセット252Aはビデオフラグメント254Aの各々に当てはまる。しかしながら、ビデオフラグメント254Bの1つまたは複数の特性はビデオフラグメント254Aとは異なり得る。したがって、シーケンスデータセット252Bはビデオフラグメント254Bの特性を記述し得る。
[00146]各シーケンスデータセットはそれぞれのパラメータセットトラックに対応し得る。図7の例では、パラメータセットトラック246Aはシーケンスデータセット252Aに対応し、パラメータセットトラック246Bはシーケンスデータセット252Bに対応し、パラメータセットトラック246Cはシーケンスデータセット252Cに対応する。各パラメータセットトラックは、対応するシーケンスデータセットがビデオデータトラック244のビデオフラグメントに当てはまる時間を記述するデータを含み得る。たとえば、パラメータセットトラック246Aは、ビデオフラグメント254Aのうちの最後のビデオフラグメントに対応する時間の後にはシーケンスデータセット252Aがもはや当てはまらないことを示すデータを含む。このタイミング情報は、UTC時間であり得るか、または再生持続時間に対応し得る。
[00147]いくつかの例では、ビデオファイルは、ビデオフラグメント254A〜254Cのすべてに対応する追加のパラメータセットトラックを含む。そのような例では、宛先デバイスは、すべてのビデオフラグメントに当てはまるパラメータセットトラックからのデータと、所与のビデオフラグメントに特に当てはまるパラメータセットトラックからのデータの両方を利用し得る。
[00148]例としてMOOVボックス242中に含まれるものとして示されるが、シーケンスデータセット252は、本開示で説明した他のロケーションのいずれかに含まれ得ることを理解されたい。たとえば、シーケンスデータセットは、特定のビデオフラグメント中に、特定の3GPPファイル中に、メディアプレゼンテーション記述内に、あるいはビデオファイル内のまたはそれに関連付けられた別の1つまたは複数のロケーションに含まれ得る。
[00149]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[00150]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[00151]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に提供され得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[00152]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明したように1つまたは複数のプロセッサを含んで、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[00153]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
[00153]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1] コード化ビデオピクチャのシーケンスを備えるカプセル化されたビデオデータを出力する方法であって、前記方法は、
前記コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成することと、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを出力することと、
を備える方法。
[C2] 前記SEIメッセージは、2つ以上のアクセスユニットに適用可能なシーケンスレベルSEIメッセージを備え、前記2つ以上のアクセスユニットは前記コード化ビデオピクチャのシーケンスを備え、前記1つまたは複数のSEIメッセージを生成することは、前記アクセスユニットから前記シーケンスレベルSEIメッセージを分離することを備える、C1に記載の方法。
[C3] 前記SEIメッセージは、H.264/Advanced Video Coding(AVC)、H.264のScalable Video Coding(SVC)拡張、およびH.264のMultiview Video Coding(MVC)拡張のうちの少なくとも1つのSEIメッセージタイプとして定義される、C1に記載の方法。
[C4] 出力することは、前記SEIメッセージと前記コード化ビデオピクチャとをビデオファイルの形態でカプセル化することを備え、
出力することは、さらに、前記コード化ビデオピクチャのシーケンスを含むファイルユニットとは別個のファイルユニット中に前記SEIメッセージを含めることを備える、C1に記載の方法。
[C5] 前記SEIメッセージを含む前記別個のファイルユニットは前記ビデオファイルのパラメータセットトラックを備え、前記パラメータセットトラックは、さらに、前記コード化ビデオピクチャのシーケンスのシーケンスパラメータセットデータおよびピクチャパラメータセットデータのうちの少なくとも1つを備える、C4に記載の方法。
[C6] メディア表現のための初期化セグメントは前記別個のファイルユニットを備える、C4に記載の方法。
[C7] 前記SEIメッセージを生成することは、前記SEIメッセージのうちの少なくとも1つ内に、前記SEIメッセージに対応する前記コード化ビデオピクチャのシーケンスの持続時間をシグナリングするシグナリング情報を生成することを備える、C1に記載の方法。
[C8] 前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記SEIメッセージはSEIメッセージの第1のセットを備え、前記方法は、
コード化ビデオピクチャの第2のシーケンスとは別個の1つまたは複数のSEIメッセージの第2のセットを生成することと、前記SEIメッセージの第2のセットは、前記コード化ビデオピクチャの第2のシーケンスの各々を記述し、前記コード化ビデオピクチャの第2のシーケンスのうちの2つ以上に共通の要素を含み、
前記コード化ビデオピクチャの第2のシーケンスとは別個に前記SEIメッセージの第2のセットを出力することと、
をさらに備えるC1に記載の方法。
[C9] 出力することは、
前記SEIメッセージと前記コード化ビデオピクチャのシーケンスとを備えるビデオデータを符号化することと、
ネットワーク上で前記符号化されたビデオデータをストリーミングすることと、
を備えるC1に記載の方法。
[C10] 前記ビデオデータをストリーミングすることは、少なくとも1つの伝送制御プロトコル(TCP)接続を介して前記ビデオデータをストリーミングすることを備える、C9に記載の方法。
[C11] 前記少なくとも1つのTCP接続はハイパーテキスト転送プロトコル(HTTP)接続を備える、C10に記載の方法。
[C12] 生成することは、コーデックレベルのビデオエンコーダによって、前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを符号化することを備える、C1に記載の方法。
[C13] コード化ビデオピクチャのシーケンスを備えるカプセル化されたビデオデータを出力するための装置であって、前記装置は、
前記コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成するように構成された制御ユニットと、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを出力するように構成された出力インターフェースと、
を備える装置。
[C14] 前記SEIメッセージは、2つ以上のアクセスユニットに適用可能なシーケンスレベルSEIメッセージを備え、前記2つ以上のアクセスユニットは前記コード化ビデオピクチャのシーケンスを備え、前記制御ユニットは、前記アクセスユニットから前記シーケンスレベルSEIメッセージを分離するように構成された、C13に記載の装置。
[C15] 前記制御ユニットは、前記SEIメッセージと前記コード化ビデオピクチャとをビデオファイルの形態でカプセル化するように構成され、前記制御ユニットは、前記コード化ビデオピクチャのシーケンスを含むファイルユニットとは別個のファイルユニット中に前記SEIメッセージを含めるように構成された、C13に記載の装置。
[C16] 前記SEIメッセージを含む前記別個のファイルユニットは前記ビデオファイルのパラメータセットトラックを備え、前記パラメータセットトラックは、さらに、前記コード化ビデオピクチャのシーケンスのシーケンスパラメータセットデータおよびピクチャパラメータセットデータのうちの少なくとも1つを備える、C15に記載の装置。
[C17] メディア表現のための初期化セグメントは前記別個のファイルユニットを備える、C15に記載の装置。
[C18] 前記制御ユニットは、前記SEIメッセージのうちの少なくとも1つ内に、前記SEIメッセージに対応する前記コード化ビデオピクチャのシーケンスの持続時間をシグナリングするシグナリング情報を生成するように構成された、C13に記載の装置。
[C19] 前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記SEIメッセージはSEIメッセージの第1のセットを備え、
前記制御ユニットは、コード化ビデオピクチャの第2のシーケンスとは別個の1つまたは複数のSEIメッセージの第2のセットを生成するように構成され、前記SEIメッセージの第2のセットは、前記コード化ビデオピクチャの第2のシーケンスの各々を記述し、前記コード化ビデオピクチャの第2のシーケンスのうちの2つ以上に共通の要素を含み、
前記出力インターフェースは、前記コード化ビデオピクチャの第2のシーケンスとは別個に前記SEIメッセージの第2のセットを出力するように構成された、C13に記載の装置。
[C20] 前記装置は、
集積回路と、
マイクロプロセッサと、
前記制御ユニットを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、C13に記載の装置。
[C21] コード化ビデオピクチャのシーケンスを備えるカプセル化されたビデオデータを出力するための装置であって、前記装置は、
前記コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成する手段と、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを出力する手段と、を備える装置。
[C22] 前記SEIメッセージは、2つ以上のアクセスユニットに適用可能なシーケンスレベルSEIメッセージを備え、前記2つ以上のアクセスユニットは前記コード化ビデオピクチャのシーケンスを備え、前記1つまたは複数のSEIメッセージを生成する手段は、前記アクセスユニットから前記シーケンスレベルSEIメッセージを分離する手段を備える、C21に記載の装置。
[C23] 前記出力する手段は、前記SEIメッセージと前記コード化ビデオピクチャとをビデオファイルの形態でカプセル化する手段を備え、
前記出力する手段は、前記コード化ビデオピクチャのシーケンスを含むファイルユニットとは別個のファイルユニット中に前記SEIメッセージを含める手段をさらに備える、C21に記載の装置。
[C24] 前記SEIメッセージを含む前記別個のファイルユニットは前記ビデオファイルのパラメータセットトラックを備え、前記パラメータセットトラックは、さらに、前記コード化ビデオピクチャのシーケンスのシーケンスパラメータセットデータおよびピクチャパラメータセットデータのうちの少なくとも1つを備える、C23に記載の装置。
[C25] メディア表現のための初期化セグメントが前記別個のファイルユニットを備える、C23に記載の装置。
[C26] 前記SEIメッセージを生成する手段は、前記SEIメッセージのうちの少なくとも1つ内に、前記SEIメッセージに対応する前記コード化ビデオピクチャのシーケンスの持続時間をシグナリングするシグナリング情報を生成する手段を備える、C21に記載の装置。
[C27] 前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記SEIメッセージがSEIメッセージの第1のセットを備え、前記装置は、
コード化ビデオピクチャの第2のシーケンスとは別個の1つまたは複数のSEIメッセージの第2のセットを生成する手段と、前記SEIメッセージの第2のセットは、前記コード化ビデオピクチャの第2のシーケンスの各々を記述し、前記コード化ビデオピクチャの第2のシーケンスのうちの2つ以上に共通の要素を含み、
前記コード化ビデオピクチャの第2のシーケンスとは別個に前記SEIメッセージの第2のセットを出力する手段と、をさらに備える、C21に記載の装置。
[C28] 前記出力する手段は、
前記SEIメッセージと前記コード化ビデオピクチャのシーケンスとを備えるビデオデータを符号化する手段と、
ネットワーク上で前記符号化されたビデオデータをストリーミングする手段と、を備える、C21に記載の装置。
[C29] 実行されたとき、コード化ビデオデータを出力するための装置のプロセッサに、
前記コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成させる命令と、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを出力させる命令と、
が記憶されたコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[C30] 前記出力させる命令は、前記SEIメッセージと前記コード化ビデオピクチャとをビデオファイルの形態でカプセル化させる命令を備え、
前記出力させる命令は、さらに、前記コード化ビデオピクチャのシーケンスを含むファイルユニットとは別個のファイルユニット中に前記SEIメッセージを含ませる命令を備える、C29に記載のコンピュータプログラム製品。
[C31] 前記SEIメッセージを含む前記別個のファイルユニットは前記ビデオファイルのパラメータセットトラックを備え、前記パラメータセットトラックは、さらに、前記コード化ビデオピクチャのシーケンスのシーケンスパラメータセットデータおよびピクチャパラメータセットデータのうちの少なくとも1つを備える、C30に記載のコンピュータプログラム製品。
[C32] メディア表現のための初期化セグメントは前記別個のファイルユニットを備える、C30に記載のコンピュータプログラム製品。
[C33] 前記SEIメッセージを生成させる命令は、前記SEIメッセージのうちの少なくとも1つ内に、前記SEIメッセージに対応する前記コード化ビデオピクチャのシーケンスの持続時間をシグナリングするシグナリング情報を生成させる命令を備える、C29に記載のコンピュータプログラム製品。
[C34] コード化ビデオピクチャの前記シーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記SEIメッセージはSEIメッセージの第1のセットを備え、
コード化ビデオピクチャの第2のシーケンスとは別個の1つまたは複数のSEIメッセージの第2のセットを生成させる命令と、前記SEIメッセージの第2のセットは、前記コード化ビデオピクチャの第2のシーケンスの各々を記述し、前記コード化ビデオピクチャの第2のシーケンスのうちの2つ以上に共通の要素を含み、
前記コード化ビデオピクチャの第2のシーケンスとは別個に前記SEIメッセージの第2のセットを出力させる命令と、をさらに備える、C29に記載のコンピュータプログラム製品。
[C35] 符号化ビデオデータを受信する方法であって、前記方法は、
ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信することと、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
前記SEIメッセージとは別個に前記ビデオファイルの前記コード化ビデオピクチャのシーケンスを受信することと、
前記コード化ビデオピクチャのシーケンスが復号された後に、前記SEIメッセージに基づいて前記コード化ビデオピクチャのシーケンスをレンダリングすることと、を備える方法。
[C36] 前記SEIメッセージについての第1の要求をサブミットすることと、前記SEIメッセージを受信することは、前記第1の要求に応答して前記SEIメッセージを受信することを備え、
前記SEIメッセージを受信した後にのみ、前記コード化ビデオピクチャのシーケンスについての第2の要求をサブミットすることと、前記コード化ビデオピクチャのシーケンスを受信することは、前記第2の要求に応答して前記コード化ビデオピクチャのシーケンスを受信することを備える、
をさらに備えるC35に記載の方法。
[C37] 前記SEIメッセージはSEIメッセージの第1のセットを備え、前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記方法は、さらに、
前記コード化ビデオピクチャの第1のシーケンスを受信した後に、SEIメッセージの第2のセットについての第3の要求をサブミットすることと、
前記第3の要求に応答して前記SEIメッセージの第2のセットを受信することと、
前記SEIメッセージの第2のセットによって記述されるコード化ビデオピクチャの第2のシーケンスについての第4の要求をサブミットすることと、
前記SEIメッセージの第2のセットを受信した後に、前記コード化ビデオピクチャの第2のシーケンスを受信することと、
前記コード化ビデオピクチャの第2のシーケンスが復号された後に、前記SEIメッセージの第2のセットに基づいて前記コード化ビデオピクチャの第2のシーケンスをレンダリングすることと、
を備えるC36に記載の方法。
[C38] パラメータセットトラックと、コード化ビデオピクチャを含まないトラックフラグメントと、コード化ビデオデータを含まない第3世代パートナーシッププロジェクト(3GPP)フォーマットファイルとのうちの少なくとも1つから、前記SEIメッセージを抽出することをさらに備える、C35に記載の方法。
[C39] 前記SEIメッセージをパースし、復号することをさらに備え、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスを備えるアクセスユニットとは別個にコーディングされる、C35に記載の方法。
[C40] 符号化ビデオデータを受信するための装置であって、前記装置は、
ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信し、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
前記SEIメッセージとは別個に前記ビデオファイルの前記コード化ビデオピクチャのシーケンスを受信する
ように構成された制御ユニットと、
前記コード化ビデオピクチャのシーケンスが復号された後に、前記コード化ビデオピクチャのシーケンスをレンダリングするように構成されたビデオ出力と、
を備える装置。
[C41] 前記制御ユニットは、前記SEIメッセージについての第1の要求をサブミットし、前記第1の要求に応答して前記SEIメッセージを受信し、前記SEIメッセージを受信した後にのみ前記コード化ビデオピクチャのシーケンスについての第2の要求をサブミットし、前記第2の要求に応答して前記コード化ビデオピクチャのシーケンスを受信するように構成された、C40に記載の装置。
[C42] 前記SEIメッセージはSEIメッセージの第1のセットを備え、前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記制御ユニットは、
前記コード化ビデオピクチャの第1のシーケンスを受信した後にSEIメッセージの第2のセットについての第3の要求をサブミットし、
前記第3の要求に応答して前記SEIメッセージの第2のセットを受信し、
前記SEIメッセージの第2のセットによって記述されたコード化ビデオピクチャの第2のシーケンスについての第4の要求をサブミットし、
前記SEIメッセージの第2のセットを受信した後に前記コード化ビデオピクチャの第2のシーケンスを受信するように構成され、
前記ビデオ出力は、前記コード化ビデオピクチャの第2のシーケンスが復号された後に、前記SEIメッセージの第2のセットに基づいて前記コード化ビデオピクチャの第2のシーケンスをレンダリングするように構成された、C41に記載の装置。
[C43] 前記制御ユニットは、パラメータセットトラックと、コード化ビデオピクチャを含まないトラックフラグメントと、コード化ビデオデータを含まない第3世代パートナーシッププロジェクト(3GPP)フォーマットファイルとのうちの少なくとも1つから、前記SEIメッセージを抽出するように構成された、C40に記載の装置。
[C44] 前記装置は、
集積回路と、
マイクロプロセッサと、
前記制御ユニットを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、C40に記載の装置。
[C45] 符号化ビデオデータを受信するための装置であって、前記装置は、
ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信する手段と、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
前記SEIメッセージとは別個に前記ビデオファイルの前記コード化ビデオピクチャのシーケンスを受信する手段と、
前記コード化ビデオピクチャのシーケンスが復号された後に、前記SEIメッセージに基づいて前記コード化ビデオピクチャのシーケンスをレンダリングする手段と、
を備える装置。
[C46] 前記SEIメッセージについての第1の要求をサブミットする手段と、前記SEIメッセージを受信する手段は、前記第1の要求に応答して前記SEIメッセージを受信する手段を備え、
前記SEIメッセージを受信した後にのみ前記コード化ビデオピクチャのシーケンスについての第2の要求をサブミットする手段と、前記コード化ビデオピクチャのシーケンスを受信する手段は、前記第2の要求に応答して前記コード化ビデオピクチャのシーケンスを受信する手段を備える、
をさらに備える、C45に記載の装置。
[C47] 前記SEIメッセージはSEIメッセージの第1のセットを備え、前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記装置は、
前記コード化ビデオピクチャの第1のシーケンスを受信した後に、SEIメッセージの第2のセットについての第3の要求をサブミットする手段と、
前記第3の要求に応答して前記SEIメッセージの第2のセットを受信する手段と、
前記SEIメッセージの第2のセットによって記述されるコード化ビデオピクチャの第2のシーケンスについての第4の要求をサブミットする手段と、
前記SEIメッセージの第2のセットを受信した後に、前記コード化ビデオピクチャの第2のシーケンスを受信する手段と、
前記コード化ビデオピクチャの第2のシーケンスが復号された後に、前記SEIメッセージの第2のセットに基づいて前記コード化ビデオピクチャの第2のシーケンスをレンダリングする手段と、
をさらに備える、C46に記載の装置。
[C48] パラメータセットトラックと、コード化ビデオピクチャを含まないトラックフラグメントと、コード化ビデオデータを含まない第3世代パートナーシッププロジェクト(3GPP)フォーマットファイルとのうちの少なくとも1つから、前記SEIメッセージを抽出する手段をさらに備える、C45に記載の装置。
[C49] 実行されたとき、コード化ビデオデータを受信するための装置のプロセッサに、
ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信させる命令と、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
前記SEIメッセージとは別個に前記ビデオファイルの前記コード化ビデオピクチャのシーケンスを受信させる命令と、
前記コード化ビデオピクチャのシーケンスが復号された後に、前記SEIメッセージに基づいて前記コード化ビデオピクチャのシーケンスをレンダリングさせる命令と、
が記憶されたコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
[C50] 前記SEIメッセージについての第1の要求をサブミットさせる命令と、前記SEIメッセージを受信させる命令は、前記第1の要求に応答して前記SEIメッセージを受信させる命令を備え、
前記SEIメッセージを受信した後にのみ前記コード化ビデオピクチャのシーケンスについての第2の要求をサブミットさせる命令と、前記コード化ビデオピクチャのシーケンスを受信させる命令は、前記第2の要求に応答して前記コード化ビデオピクチャのシーケンスを受信させる命令を備え、
をさらに備える、C49に記載のコンピュータプログラム製品。
[C51] 前記SEIメッセージはSEIメッセージの第1のセットを備え、前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、
前記コード化ビデオピクチャの第1のシーケンスを受信した後に、SEIメッセージの第2のセットについての第3の要求をサブミットさせる命令と、
前記第3の要求に応答して前記SEIメッセージの第2のセットを受信させる命令と、
前記SEIメッセージの第2のセットによって記述されるコード化ビデオピクチャの第2のシーケンスについての第4の要求をサブミットさせる命令と、
前記SEIメッセージの第2のセットを受信した後に、前記コード化ビデオピクチャの第2のシーケンスを受信させる命令と、
前記コード化ビデオピクチャの第2のシーケンスが復号された後に、前記SEIメッセージの第2のセットに基づいて前記コード化ビデオピクチャの第2のシーケンスをレンダリングさせる命令と、
をさらに備える、C50に記載のコンピュータプログラム製品。
[C52] パラメータセットトラックと、コード化ビデオピクチャを含まないトラックフラグメントと、コード化ビデオデータを含まない第3世代パートナーシッププロジェクト(3GPP)フォーマットファイルとのうちの少なくとも1つから、前記SEIメッセージを抽出させる命令をさらに備える、C49に記載のコンピュータプログラム製品。

Claims (52)

  1. コード化ビデオピクチャのシーケンスを備えるカプセル化されたビデオデータを出力する方法であって、前記方法は、
    前記コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成することと、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
    前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを出力することと、
    を備える方法。
  2. 前記SEIメッセージは、2つ以上のアクセスユニットに適用可能なシーケンスレベルSEIメッセージを備え、前記2つ以上のアクセスユニットは前記コード化ビデオピクチャのシーケンスを備え、前記1つまたは複数のSEIメッセージを生成することは、前記アクセスユニットから前記シーケンスレベルSEIメッセージを分離することを備える、請求項1に記載の方法。
  3. 前記SEIメッセージは、H.264/Advanced Video Coding(AVC)、H.264のScalable Video Coding(SVC)拡張、およびH.264のMultiview Video Coding(MVC)拡張のうちの少なくとも1つのSEIメッセージタイプとして定義される、請求項1に記載の方法。
  4. 出力することは、前記SEIメッセージと前記コード化ビデオピクチャとをビデオファイルの形態でカプセル化することを備え、
    出力することは、さらに、前記コード化ビデオピクチャのシーケンスを含むファイルユニットとは別個のファイルユニット中に前記SEIメッセージを含めることを備える、請求項1に記載の方法。
  5. 前記SEIメッセージを含む前記別個のファイルユニットは前記ビデオファイルのパラメータセットトラックを備え、前記パラメータセットトラックは、さらに、前記コード化ビデオピクチャのシーケンスのシーケンスパラメータセットデータおよびピクチャパラメータセットデータのうちの少なくとも1つを備える、請求項4に記載の方法。
  6. メディア表現のための初期化セグメントは前記別個のファイルユニットを備える、請求項4に記載の方法。
  7. 前記SEIメッセージを生成することは、前記SEIメッセージのうちの少なくとも1つ内に、前記SEIメッセージに対応する前記コード化ビデオピクチャのシーケンスの持続時間をシグナリングするシグナリング情報を生成することを備える、請求項1に記載の方法。
  8. 前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記SEIメッセージはSEIメッセージの第1のセットを備え、前記方法は、
    コード化ビデオピクチャの第2のシーケンスとは別個の1つまたは複数のSEIメッセージの第2のセットを生成することと、前記SEIメッセージの第2のセットは、前記コード化ビデオピクチャの第2のシーケンスの各々を記述し、前記コード化ビデオピクチャの第2のシーケンスのうちの2つ以上に共通の要素を含み、
    前記コード化ビデオピクチャの第2のシーケンスとは別個に前記SEIメッセージの第2のセットを出力することと、
    をさらに備える請求項1に記載の方法。
  9. 出力することは、
    前記SEIメッセージと前記コード化ビデオピクチャのシーケンスとを備えるビデオデータを符号化することと、
    ネットワーク上で前記符号化されたビデオデータをストリーミングすることと、
    を備える請求項1に記載の方法。
  10. 前記ビデオデータをストリーミングすることは、少なくとも1つの伝送制御プロトコル(TCP)接続を介して前記ビデオデータをストリーミングすることを備える、請求項9に記載の方法。
  11. 前記少なくとも1つのTCP接続はハイパーテキスト転送プロトコル(HTTP)接続を備える、請求項10に記載の方法。
  12. 生成することは、コーデックレベルのビデオエンコーダによって、前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを符号化することを備える、請求項1に記載の方法。
  13. コード化ビデオピクチャのシーケンスを備えるカプセル化されたビデオデータを出力するための装置であって、前記装置は、
    前記コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成するように構成された制御ユニットと、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
    前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを出力するように構成された出力インターフェースと、
    を備える装置。
  14. 前記SEIメッセージは、2つ以上のアクセスユニットに適用可能なシーケンスレベルSEIメッセージを備え、前記2つ以上のアクセスユニットは前記コード化ビデオピクチャのシーケンスを備え、前記制御ユニットは、前記アクセスユニットから前記シーケンスレベルSEIメッセージを分離するように構成された、請求項13に記載の装置。
  15. 前記制御ユニットは、前記SEIメッセージと前記コード化ビデオピクチャとをビデオファイルの形態でカプセル化するように構成され、前記制御ユニットは、前記コード化ビデオピクチャのシーケンスを含むファイルユニットとは別個のファイルユニット中に前記SEIメッセージを含めるように構成された、請求項13に記載の装置。
  16. 前記SEIメッセージを含む前記別個のファイルユニットは前記ビデオファイルのパラメータセットトラックを備え、前記パラメータセットトラックは、さらに、前記コード化ビデオピクチャのシーケンスのシーケンスパラメータセットデータおよびピクチャパラメータセットデータのうちの少なくとも1つを備える、請求項15に記載の装置。
  17. メディア表現のための初期化セグメントは前記別個のファイルユニットを備える、請求項15に記載の装置。
  18. 前記制御ユニットは、前記SEIメッセージのうちの少なくとも1つ内に、前記SEIメッセージに対応する前記コード化ビデオピクチャのシーケンスの持続時間をシグナリングするシグナリング情報を生成するように構成された、請求項13に記載の装置。
  19. 前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記SEIメッセージはSEIメッセージの第1のセットを備え、
    前記制御ユニットは、コード化ビデオピクチャの第2のシーケンスとは別個の1つまたは複数のSEIメッセージの第2のセットを生成するように構成され、前記SEIメッセージの第2のセットは、前記コード化ビデオピクチャの第2のシーケンスの各々を記述し、前記コード化ビデオピクチャの第2のシーケンスのうちの2つ以上に共通の要素を含み、
    前記出力インターフェースは、前記コード化ビデオピクチャの第2のシーケンスとは別個に前記SEIメッセージの第2のセットを出力するように構成された、請求項13に記載の装置。
  20. 前記装置は、
    集積回路と、
    マイクロプロセッサと、
    前記制御ユニットを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、請求項13に記載の装置。
  21. コード化ビデオピクチャのシーケンスを備えるカプセル化されたビデオデータを出力するための装置であって、前記装置は、
    前記コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成する手段と、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
    前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを出力する手段と、を備える装置。
  22. 前記SEIメッセージは、2つ以上のアクセスユニットに適用可能なシーケンスレベルSEIメッセージを備え、前記2つ以上のアクセスユニットは前記コード化ビデオピクチャのシーケンスを備え、前記1つまたは複数のSEIメッセージを生成する手段は、前記アクセスユニットから前記シーケンスレベルSEIメッセージを分離する手段を備える、請求項21に記載の装置。
  23. 前記出力する手段は、前記SEIメッセージと前記コード化ビデオピクチャとをビデオファイルの形態でカプセル化する手段を備え、
    前記出力する手段は、前記コード化ビデオピクチャのシーケンスを含むファイルユニットとは別個のファイルユニット中に前記SEIメッセージを含める手段をさらに備える、請求項21に記載の装置。
  24. 前記SEIメッセージを含む前記別個のファイルユニットは前記ビデオファイルのパラメータセットトラックを備え、前記パラメータセットトラックは、さらに、前記コード化ビデオピクチャのシーケンスのシーケンスパラメータセットデータおよびピクチャパラメータセットデータのうちの少なくとも1つを備える、請求項23に記載の装置。
  25. メディア表現のための初期化セグメントが前記別個のファイルユニットを備える、請求項23に記載の装置。
  26. 前記SEIメッセージを生成する手段は、前記SEIメッセージのうちの少なくとも1つ内に、前記SEIメッセージに対応する前記コード化ビデオピクチャのシーケンスの持続時間をシグナリングするシグナリング情報を生成する手段を備える、請求項21に記載の装置。
  27. 前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記SEIメッセージがSEIメッセージの第1のセットを備え、前記装置は、
    コード化ビデオピクチャの第2のシーケンスとは別個の1つまたは複数のSEIメッセージの第2のセットを生成する手段と、前記SEIメッセージの第2のセットは、前記コード化ビデオピクチャの第2のシーケンスの各々を記述し、前記コード化ビデオピクチャの第2のシーケンスのうちの2つ以上に共通の要素を含み、
    前記コード化ビデオピクチャの第2のシーケンスとは別個に前記SEIメッセージの第2のセットを出力する手段と、をさらに備える、請求項21に記載の装置。
  28. 前記出力する手段は、
    前記SEIメッセージと前記コード化ビデオピクチャのシーケンスとを備えるビデオデータを符号化する手段と、
    ネットワーク上で前記符号化されたビデオデータをストリーミングする手段と、を備える、請求項21に記載の装置。
  29. 実行されたとき、コード化ビデオデータを出力するための装置のプロセッサに、
    前記コード化ビデオピクチャとは別個の1つまたは複数の補足エンハンスメント情報(SEI)メッセージを生成させる命令と、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
    前記コード化ビデオピクチャのシーケンスとは別個に前記SEIメッセージを出力させる命令と、
    が記憶されたコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
  30. 前記出力させる命令は、前記SEIメッセージと前記コード化ビデオピクチャとをビデオファイルの形態でカプセル化させる命令を備え、
    前記出力させる命令は、さらに、前記コード化ビデオピクチャのシーケンスを含むファイルユニットとは別個のファイルユニット中に前記SEIメッセージを含ませる命令を備える、請求項29に記載のコンピュータプログラム製品。
  31. 前記SEIメッセージを含む前記別個のファイルユニットは前記ビデオファイルのパラメータセットトラックを備え、前記パラメータセットトラックは、さらに、前記コード化ビデオピクチャのシーケンスのシーケンスパラメータセットデータおよびピクチャパラメータセットデータのうちの少なくとも1つを備える、請求項30に記載のコンピュータプログラム製品。
  32. メディア表現のための初期化セグメントは前記別個のファイルユニットを備える、請求項30に記載のコンピュータプログラム製品。
  33. 前記SEIメッセージを生成させる命令は、前記SEIメッセージのうちの少なくとも1つ内に、前記SEIメッセージに対応する前記コード化ビデオピクチャのシーケンスの持続時間をシグナリングするシグナリング情報を生成させる命令を備える、請求項29に記載のコンピュータプログラム製品。
  34. コード化ビデオピクチャの前記シーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記SEIメッセージはSEIメッセージの第1のセットを備え、
    コード化ビデオピクチャの第2のシーケンスとは別個の1つまたは複数のSEIメッセージの第2のセットを生成させる命令と、前記SEIメッセージの第2のセットは、前記コード化ビデオピクチャの第2のシーケンスの各々を記述し、前記コード化ビデオピクチャの第2のシーケンスのうちの2つ以上に共通の要素を含み、
    前記コード化ビデオピクチャの第2のシーケンスとは別個に前記SEIメッセージの第2のセットを出力させる命令と、をさらに備える、請求項29に記載のコンピュータプログラム製品。
  35. 符号化ビデオデータを受信する方法であって、前記方法は、
    ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信することと、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
    前記SEIメッセージとは別個に前記ビデオファイルの前記コード化ビデオピクチャのシーケンスを受信することと、
    前記コード化ビデオピクチャのシーケンスが復号された後に、前記SEIメッセージに基づいて前記コード化ビデオピクチャのシーケンスをレンダリングすることと、を備える方法。
  36. 前記SEIメッセージについての第1の要求をサブミットすることと、前記SEIメッセージを受信することは、前記第1の要求に応答して前記SEIメッセージを受信することを備え、
    前記SEIメッセージを受信した後にのみ、前記コード化ビデオピクチャのシーケンスについての第2の要求をサブミットすることと、前記コード化ビデオピクチャのシーケンスを受信することは、前記第2の要求に応答して前記コード化ビデオピクチャのシーケンスを受信することを備える、
    をさらに備える請求項35に記載の方法。
  37. 前記SEIメッセージはSEIメッセージの第1のセットを備え、前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記方法は、さらに、
    前記コード化ビデオピクチャの第1のシーケンスを受信した後に、SEIメッセージの第2のセットについての第3の要求をサブミットすることと、
    前記第3の要求に応答して前記SEIメッセージの第2のセットを受信することと、
    前記SEIメッセージの第2のセットによって記述されるコード化ビデオピクチャの第2のシーケンスについての第4の要求をサブミットすることと、
    前記SEIメッセージの第2のセットを受信した後に、前記コード化ビデオピクチャの第2のシーケンスを受信することと、
    前記コード化ビデオピクチャの第2のシーケンスが復号された後に、前記SEIメッセージの第2のセットに基づいて前記コード化ビデオピクチャの第2のシーケンスをレンダリングすることと、
    を備える請求項36に記載の方法。
  38. パラメータセットトラックと、コード化ビデオピクチャを含まないトラックフラグメントと、コード化ビデオデータを含まない第3世代パートナーシッププロジェクト(3GPP)フォーマットファイルとのうちの少なくとも1つから、前記SEIメッセージを抽出することをさらに備える、請求項35に記載の方法。
  39. 前記SEIメッセージをパースし、復号することをさらに備え、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスを備えるアクセスユニットとは別個にコーディングされる、請求項35に記載の方法。
  40. 符号化ビデオデータを受信するための装置であって、前記装置は、
    ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信し、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
    前記SEIメッセージとは別個に前記ビデオファイルの前記コード化ビデオピクチャのシーケンスを受信する
    ように構成された制御ユニットと、
    前記コード化ビデオピクチャのシーケンスが復号された後に、前記コード化ビデオピクチャのシーケンスをレンダリングするように構成されたビデオ出力と、
    を備える装置。
  41. 前記制御ユニットは、前記SEIメッセージについての第1の要求をサブミットし、前記第1の要求に応答して前記SEIメッセージを受信し、前記SEIメッセージを受信した後にのみ前記コード化ビデオピクチャのシーケンスについての第2の要求をサブミットし、前記第2の要求に応答して前記コード化ビデオピクチャのシーケンスを受信するように構成された、請求項40に記載の装置。
  42. 前記SEIメッセージはSEIメッセージの第1のセットを備え、前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記制御ユニットは、
    前記コード化ビデオピクチャの第1のシーケンスを受信した後にSEIメッセージの第2のセットについての第3の要求をサブミットし、
    前記第3の要求に応答して前記SEIメッセージの第2のセットを受信し、
    前記SEIメッセージの第2のセットによって記述されたコード化ビデオピクチャの第2のシーケンスについての第4の要求をサブミットし、
    前記SEIメッセージの第2のセットを受信した後に前記コード化ビデオピクチャの第2のシーケンスを受信するように構成され、
    前記ビデオ出力は、前記コード化ビデオピクチャの第2のシーケンスが復号された後に、前記SEIメッセージの第2のセットに基づいて前記コード化ビデオピクチャの第2のシーケンスをレンダリングするように構成された、請求項41に記載の装置。
  43. 前記制御ユニットは、パラメータセットトラックと、コード化ビデオピクチャを含まないトラックフラグメントと、コード化ビデオデータを含まない第3世代パートナーシッププロジェクト(3GPP)フォーマットファイルとのうちの少なくとも1つから、前記SEIメッセージを抽出するように構成された、請求項40に記載の装置。
  44. 前記装置は、
    集積回路と、
    マイクロプロセッサと、
    前記制御ユニットを含むワイヤレス通信デバイスと、のうちの少なくとも1つを備える、請求項40に記載の装置。
  45. 符号化ビデオデータを受信するための装置であって、前記装置は、
    ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信する手段と、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
    前記SEIメッセージとは別個に前記ビデオファイルの前記コード化ビデオピクチャのシーケンスを受信する手段と、
    前記コード化ビデオピクチャのシーケンスが復号された後に、前記SEIメッセージに基づいて前記コード化ビデオピクチャのシーケンスをレンダリングする手段と、
    を備える装置。
  46. 前記SEIメッセージについての第1の要求をサブミットする手段と、前記SEIメッセージを受信する手段は、前記第1の要求に応答して前記SEIメッセージを受信する手段を備え、
    前記SEIメッセージを受信した後にのみ前記コード化ビデオピクチャのシーケンスについての第2の要求をサブミットする手段と、前記コード化ビデオピクチャのシーケンスを受信する手段は、前記第2の要求に応答して前記コード化ビデオピクチャのシーケンスを受信する手段を備える、
    をさらに備える、請求項45に記載の装置。
  47. 前記SEIメッセージはSEIメッセージの第1のセットを備え、前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、前記装置は、
    前記コード化ビデオピクチャの第1のシーケンスを受信した後に、SEIメッセージの第2のセットについての第3の要求をサブミットする手段と、
    前記第3の要求に応答して前記SEIメッセージの第2のセットを受信する手段と、
    前記SEIメッセージの第2のセットによって記述されるコード化ビデオピクチャの第2のシーケンスについての第4の要求をサブミットする手段と、
    前記SEIメッセージの第2のセットを受信した後に、前記コード化ビデオピクチャの第2のシーケンスを受信する手段と、
    前記コード化ビデオピクチャの第2のシーケンスが復号された後に、前記SEIメッセージの第2のセットに基づいて前記コード化ビデオピクチャの第2のシーケンスをレンダリングする手段と、
    をさらに備える、請求項46に記載の装置。
  48. パラメータセットトラックと、コード化ビデオピクチャを含まないトラックフラグメントと、コード化ビデオデータを含まない第3世代パートナーシッププロジェクト(3GPP)フォーマットファイルとのうちの少なくとも1つから、前記SEIメッセージを抽出する手段をさらに備える、請求項45に記載の装置。
  49. 実行されたとき、コード化ビデオデータを受信するための装置のプロセッサに、
    ビデオファイルのコード化ビデオピクチャのシーケンスを記述する補足エンハンスメント情報(SEI)メッセージを受信させる命令と、前記SEIメッセージは、前記コード化ビデオピクチャのシーケンスの各々を記述し、前記コード化ビデオピクチャのうちの2つ以上に共通の要素を含み、
    前記SEIメッセージとは別個に前記ビデオファイルの前記コード化ビデオピクチャのシーケンスを受信させる命令と、
    前記コード化ビデオピクチャのシーケンスが復号された後に、前記SEIメッセージに基づいて前記コード化ビデオピクチャのシーケンスをレンダリングさせる命令と、
    が記憶されたコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
  50. 前記SEIメッセージについての第1の要求をサブミットさせる命令と、前記SEIメッセージを受信させる命令は、前記第1の要求に応答して前記SEIメッセージを受信させる命令を備え、
    前記SEIメッセージを受信した後にのみ前記コード化ビデオピクチャのシーケンスについての第2の要求をサブミットさせる命令と、前記コード化ビデオピクチャのシーケンスを受信させる命令は、前記第2の要求に応答して前記コード化ビデオピクチャのシーケンスを受信させる命令を備え、
    をさらに備える、請求項49に記載のコンピュータプログラム製品。
  51. 前記SEIメッセージはSEIメッセージの第1のセットを備え、前記コード化ビデオピクチャのシーケンスはコード化ビデオピクチャの第1のシーケンスを備え、
    前記コード化ビデオピクチャの第1のシーケンスを受信した後に、SEIメッセージの第2のセットについての第3の要求をサブミットさせる命令と、
    前記第3の要求に応答して前記SEIメッセージの第2のセットを受信させる命令と、
    前記SEIメッセージの第2のセットによって記述されるコード化ビデオピクチャの第2のシーケンスについての第4の要求をサブミットさせる命令と、
    前記SEIメッセージの第2のセットを受信した後に、前記コード化ビデオピクチャの第2のシーケンスを受信させる命令と、
    前記コード化ビデオピクチャの第2のシーケンスが復号された後に、前記SEIメッセージの第2のセットに基づいて前記コード化ビデオピクチャの第2のシーケンスをレンダリングさせる命令と、
    をさらに備える、請求項50に記載のコンピュータプログラム製品。
  52. パラメータセットトラックと、コード化ビデオピクチャを含まないトラックフラグメントと、コード化ビデオデータを含まない第3世代パートナーシッププロジェクト(3GPP)フォーマットファイルとのうちの少なくとも1つから、前記SEIメッセージを抽出させる命令をさらに備える、請求項49に記載のコンピュータプログラム製品。
JP2017065551A 2010-07-20 2017-03-29 ビデオデータをストリーミングするためのシーケンスデータセットを提供すること Active JP6345827B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/840,020 2010-07-20
US12/840,020 US9131033B2 (en) 2010-07-20 2010-07-20 Providing sequence data sets for streaming video data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014212895A Division JP6121378B2 (ja) 2010-07-20 2014-10-17 ビデオデータをストリーミングするためのシーケンスデータセットを提供すること

Publications (2)

Publication Number Publication Date
JP2017175623A true JP2017175623A (ja) 2017-09-28
JP6345827B2 JP6345827B2 (ja) 2018-06-20

Family

ID=44629255

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2013520846A Withdrawn JP2013536623A (ja) 2010-07-20 2011-07-20 ビデオデータをストリーミングするためのシーケンスデータセットを提供すること
JP2014212895A Active JP6121378B2 (ja) 2010-07-20 2014-10-17 ビデオデータをストリーミングするためのシーケンスデータセットを提供すること
JP2017065551A Active JP6345827B2 (ja) 2010-07-20 2017-03-29 ビデオデータをストリーミングするためのシーケンスデータセットを提供すること

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2013520846A Withdrawn JP2013536623A (ja) 2010-07-20 2011-07-20 ビデオデータをストリーミングするためのシーケンスデータセットを提供すること
JP2014212895A Active JP6121378B2 (ja) 2010-07-20 2014-10-17 ビデオデータをストリーミングするためのシーケンスデータセットを提供すること

Country Status (10)

Country Link
US (2) US9131033B2 (ja)
EP (2) EP2596632B1 (ja)
JP (3) JP2013536623A (ja)
KR (1) KR101445987B1 (ja)
CN (2) CN105744295B (ja)
BR (1) BR112013001332B1 (ja)
DK (1) DK2596632T3 (ja)
ES (2) ES2796535T3 (ja)
HU (1) HUE049145T2 (ja)
WO (1) WO2012012574A1 (ja)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
JP4546246B2 (ja) 2002-10-05 2010-09-15 デジタル ファウンテン, インコーポレイテッド 連鎖的暗号化反応の系統的記号化および復号化
CN1954501B (zh) 2003-10-06 2010-06-16 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
EP1743431A4 (en) 2004-05-07 2007-05-02 Digital Fountain Inc SYSTEM FOR DOWNLOADING AND RECORDING AND CONTINUOUS READING OF FILES
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US7971129B2 (en) 2006-05-10 2011-06-28 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) * 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
KR20120034550A (ko) 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
JP2012034138A (ja) * 2010-07-29 2012-02-16 Toshiba Corp 信号処理装置及び信号処理方法
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9467493B2 (en) 2010-09-06 2016-10-11 Electronics And Telecommunication Research Institute Apparatus and method for providing streaming content
US9369512B2 (en) * 2010-10-06 2016-06-14 Electronics And Telecommunications Research Institute Apparatus and method for providing streaming content
KR101744355B1 (ko) 2011-01-19 2017-06-08 삼성전자주식회사 상호 계층 최적화를 이용한 멀티미디어 데이터 패킷을 송신하는 방법 및 장치
EP2673935B1 (en) * 2011-02-11 2019-04-24 InterDigital Patent Holdings, Inc. Method and apparatus for distribution and reception of content
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
WO2013012372A1 (en) * 2011-07-15 2013-01-24 Telefonaktiebolaget L M Ericsson (Publ) An encoder and method thereof for assigning a lowest layer identity to clean random access pictures
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
CN103096049A (zh) * 2011-11-02 2013-05-08 华为技术有限公司 一种视频处理方法及***、相关设备
KR20130058648A (ko) * 2011-11-25 2013-06-04 (주)휴맥스 Mmt 미디어와 dash 미디어와의 연동 방법
US20130195171A1 (en) * 2012-01-30 2013-08-01 Qualcomm Incorporated Method of coding video and storing video content
KR102175161B1 (ko) * 2012-01-30 2020-11-06 삼성전자주식회사 시점변환을 위한 예측구조에 기초한 다시점 비디오 부호화 방법 및 그 장치, 시점변환을 위한 예측구조에 기초한 다시점 비디오 복호화 방법 및 그 장치
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9584793B2 (en) 2012-04-09 2017-02-28 Intel Corporation Signaling three-dimensional video information in communication networks
PT2842313T (pt) 2012-04-13 2016-12-22 Ge Video Compression Llc Fluxo de dados escaláveis e entidade de rede
US20130278834A1 (en) * 2012-04-20 2013-10-24 Samsung Electronics Co., Ltd. Display power reduction using extended nal unit header information
US9161004B2 (en) * 2012-04-25 2015-10-13 Qualcomm Incorporated Identifying parameter sets in video files
US9736476B2 (en) 2012-04-27 2017-08-15 Qualcomm Incorporated Full random access from clean random access pictures in video coding
US9516308B2 (en) * 2012-04-27 2016-12-06 Qualcomm Incorporated Parameter set updates in video coding
US20140002598A1 (en) * 2012-06-29 2014-01-02 Electronics And Telecommunications Research Institute Transport system and client system for hybrid 3d content service
EP2868103B1 (en) 2012-06-29 2016-12-07 GE Video Compression, LLC Video data stream concept
US9843801B2 (en) 2012-07-10 2017-12-12 Qualcomm Incorporated Generalized residual prediction for scalable video coding and 3D video coding
US9380289B2 (en) 2012-07-20 2016-06-28 Qualcomm Incorporated Parameter sets in video coding
US9451256B2 (en) 2012-07-20 2016-09-20 Qualcomm Incorporated Reusing parameter sets for video coding
US9172737B2 (en) * 2012-07-30 2015-10-27 New York University Streamloading content, such as video content for example, by both downloading enhancement layers of the content and streaming a base layer of the content
US9161039B2 (en) * 2012-09-24 2015-10-13 Qualcomm Incorporated Bitstream properties in video coding
US9351005B2 (en) 2012-09-24 2016-05-24 Qualcomm Incorporated Bitstream conformance test in video coding
US9380317B2 (en) 2012-10-08 2016-06-28 Qualcomm Incorporated Identification of operation points applicable to nested SEI message in video coding
KR20140048802A (ko) * 2012-10-08 2014-04-24 삼성전자주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
KR101843328B1 (ko) * 2012-10-26 2018-03-28 인텔 코포레이션 비디오 방향 조정(cvo)를 갖는 스트리밍
EP2912850A4 (en) 2012-10-26 2016-05-25 Intel Corp MULTIMEDIA ADAPTATION BASED ON VIDEO ORIENTATION
US9936196B2 (en) 2012-10-30 2018-04-03 Qualcomm Incorporated Target output layers in video coding
US9544566B2 (en) * 2012-12-14 2017-01-10 Qualcomm Incorporated Disparity vector derivation
US20140307803A1 (en) * 2013-04-08 2014-10-16 Qualcomm Incorporated Non-entropy encoded layer dependency information
BR112015025623B1 (pt) * 2013-04-08 2023-02-07 Dolby International Ab Método e codificador para codificar uma tabela de busca de cor tridimensional associada a octantes de uma octree, e método e decodificador para decodificar uma tabela de busca de cor tridimensional de octantes
KR102241672B1 (ko) * 2013-04-30 2021-04-16 소니 주식회사 송신 장치, 송신 방법, 수신 장치 및 수신 방법
WO2014203746A1 (ja) * 2013-06-20 2014-12-24 ソニー株式会社 再生装置、再生方法、および記録媒体
EP3008896B1 (en) 2013-07-15 2021-03-31 Sony Corporation Extensions of motion-constrained tile sets sei message for interactivity
GB2542282B (en) * 2013-10-22 2018-08-01 Canon Kk Method, device, and computer program for encapsulating partitioned timed media data in a server
US9648348B2 (en) * 2013-10-23 2017-05-09 Qualcomm Incorporated Multi-layer video file format designs
EP3086559A4 (en) * 2013-12-16 2017-08-02 LG Electronics Inc. Signal transmission/reception device and signal transmission/reception method for providing trick play service
EP2890075B1 (en) * 2013-12-26 2016-12-14 Telefonica Digital España, S.L.U. A method and a system for smooth streaming of media content in a distributed content delivery network
US20150189097A1 (en) * 2013-12-31 2015-07-02 Alcatel-Lucent Usa Inc. Vectored charging data record (cdr) reconciliation
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
TWI548266B (zh) * 2014-06-24 2016-09-01 愛爾達科技股份有限公司 多媒體檔案儲存系統與相關裝置
US10298931B2 (en) 2014-09-25 2019-05-21 Microsoft Technology Licensing, Llc Coupling sample metadata with media samples
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
FR3029381A1 (fr) * 2014-11-27 2016-06-03 Orange Procede de composition d’une representation video intermediaire
US10390047B2 (en) * 2015-01-09 2019-08-20 Sony Corporation Image processing apparatus and image processing method for controlling the granularity in trick play
US10929353B2 (en) 2015-04-29 2021-02-23 Box, Inc. File tree streaming in a virtual file system for cloud-based shared content
CN106303673B (zh) * 2015-06-04 2021-01-22 中兴通讯股份有限公司 码流对齐、同步处理方法及发送、接收终端和通信***
CN105578192A (zh) * 2015-12-16 2016-05-11 国网浙江省电力公司湖州供电公司 电力视觉元模型聚合压缩方法
US11344220B2 (en) 2016-05-13 2022-05-31 Becton, Dickinson And Company Invasive medical device cover with magnet
GB2550604A (en) * 2016-05-24 2017-11-29 Canon Kk Method, device, and computer program for encapsulating and parsing timed media data
US10652631B2 (en) * 2016-05-24 2020-05-12 Qualcomm Incorporated Sample entries and random access
KR101863598B1 (ko) * 2016-07-29 2018-06-01 주식회사 에어브로드 스트리밍 서비스를 위한 클라이언트의 동작 방법
US10834153B2 (en) * 2016-08-24 2020-11-10 Qualcomm Incorporated System level signaling of SEI tracks for media data streaming
US10032552B2 (en) 2016-08-30 2018-07-24 Becton, Dickinson And Company Cover for tissue penetrating device with integrated magnets and magnetic shielding
EP3518534B1 (en) * 2016-09-26 2023-05-17 Sony Group Corporation Encoding device, encoding method, decoding device, decoding method, transmission device, and reception device
US10742999B2 (en) * 2017-01-06 2020-08-11 Mediatek Inc. Methods and apparatus for signaling viewports and regions of interest
CN110651482B (zh) * 2017-03-30 2022-02-22 联发科技股份有限公司 发信isobmff的球面区域信息的方法和装置
FR3067541A1 (fr) * 2017-06-23 2018-12-14 Orange Emission et reception d'un flux de donnees
US11470131B2 (en) 2017-07-07 2022-10-11 Box, Inc. User device processing of information from a network-accessible collaboration system
WO2019065587A1 (en) * 2017-09-29 2019-04-04 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR SIGNALING INFORMATION ASSOCIATED WITH A CONSTITUTIVE IMAGE
CN109274902B (zh) * 2018-09-04 2020-11-27 北京字节跳动网络技术有限公司 视频文件处理方法和装置
US11381867B2 (en) * 2019-01-08 2022-07-05 Qualcomm Incorporated Multiple decoder interface for streamed media data
CN110233716A (zh) * 2019-05-31 2019-09-13 北京文香信息技术有限公司 一种通信交互方法、装置、存储介质、终端设备及服务器
CN110401850B (zh) * 2019-07-30 2021-10-22 网宿科技股份有限公司 一种透传自定义sei的方法和装置
JP2022550320A (ja) * 2019-09-24 2022-12-01 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオ符号化におけるseiメッセージ依存性の簡略化
EP4305841A4 (en) * 2021-04-08 2024-04-24 Beijing Bytedance Network Technology Co., Ltd. EXTENSIBILITY DIMENSION INFORMATION CONSTRAINTS

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010802A1 (en) * 2002-04-29 2004-01-15 Visharam Mohammed Zubair Generic adaptation layer for JVT video
JP2006505024A (ja) * 2002-04-29 2006-02-09 ソニー エレクトロニクス インク データ処理方法及び装置
WO2010007513A1 (en) * 2008-07-16 2010-01-21 Nokia Corporation Method and apparatus for track and track subset grouping

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040006575A1 (en) 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US7787539B2 (en) * 2002-07-17 2010-08-31 Broadcom Corporation Decoding and presentation time stamps for MPEG-4 advanced video coding
JP2004343272A (ja) 2003-05-14 2004-12-02 Hitachi Ltd デジタル放送受信復号装置および端末
EP1704720A1 (en) 2004-01-16 2006-09-27 General Instrument Corporation Method, protocol, and apparatus for transporting advanced video coding content
WO2005120060A1 (en) 2004-06-02 2005-12-15 Matsushita Electric Industrial Co., Ltd. Picture coding apparatus and picture decoding apparatus
CN101057215B (zh) 2004-11-16 2012-08-22 汤姆森特许公司 用于在视频***中使用的伪随机数发生器的比特精确的种子初始化
JP2006203662A (ja) 2005-01-21 2006-08-03 Toshiba Corp 動画像符号化装置・復号化装置及び符号化ストリーム生成方法
CA2604203A1 (en) 2005-04-13 2006-10-19 Nokia Corporation Coding, storage and signalling of scalability information
EP1880549A4 (en) * 2005-05-12 2011-03-30 Kylintv Inc INTERNET PROTOCOL TELEVISION
FR2888424A1 (fr) 2005-07-07 2007-01-12 Thomson Licensing Sas Dispositif et procede de codage et de decodage de donnees video et train de donnees
US7725593B2 (en) 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
CN101313578B (zh) 2005-09-26 2011-10-19 韩国电子通信研究院 用于在可伸缩视频编码中定义和重构感兴趣区域的方法和装置
FR2894740A1 (fr) 2005-12-12 2007-06-15 Thomson Licensing Sa Dispositif de codage, procede de codage, systeme de decodage procede de decodage de donnees video
US20080101456A1 (en) 2006-01-11 2008-05-01 Nokia Corporation Method for insertion and overlay of media content upon an underlying visual media
CA2647823A1 (en) 2006-03-27 2007-10-04 Vidyo, Inc. System and method for management of scalability information in scalable video and audio coding systems using control messages
EP2005607B1 (en) 2006-03-27 2016-09-07 Vidyo, Inc. System and method for management of scalability information in scalable video coding systems using control messages
US8520733B2 (en) 2006-06-30 2013-08-27 Core Wireless Licensing S.A.R.L Video coding
CN101518086B (zh) 2006-07-20 2013-10-30 汤姆森特许公司 在多视图视频编码中用信号通知视图可分级性的方法和装置
KR20100085070A (ko) 2007-09-24 2010-07-28 노키아 코포레이션 패킷화 방법 및 장치, 컴퓨터 판독 가능한 기록 매체, 패킷화 해제 방법 및 장치
FR2923124A1 (fr) 2007-10-26 2009-05-01 Canon Kk Procede et dispositif de determination de la valeur d'un delai a appliquer entre l'envoi d'un premier ensemble de donnees et l'envoi d'un second ensemble de donnees
BRPI0923917B1 (pt) * 2008-12-31 2021-05-25 Apple Inc Método implementado por máquina, meio de armazenamento não transitório legível por máquina, aparelho, e sistema de processamento de dados para transmissão contínua em tempo real ou próximo ao tempo real
US8514931B2 (en) * 2009-03-20 2013-08-20 Ecole Polytechnique Federale De Lausanne (Epfl) Method of providing scalable video coding (SVC) video content with added media content
BR112012011581A2 (pt) 2009-11-04 2017-09-19 Huawei Tech Co Ltd sistema e método para streaming de conteúdo de mídia
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040010802A1 (en) * 2002-04-29 2004-01-15 Visharam Mohammed Zubair Generic adaptation layer for JVT video
JP2006505024A (ja) * 2002-04-29 2006-02-09 ソニー エレクトロニクス インク データ処理方法及び装置
WO2010007513A1 (en) * 2008-07-16 2010-01-21 Nokia Corporation Method and apparatus for track and track subset grouping

Also Published As

Publication number Publication date
JP6121378B2 (ja) 2017-04-26
US9253240B2 (en) 2016-02-02
CN103069828B (zh) 2016-03-16
JP6345827B2 (ja) 2018-06-20
CN105744295A (zh) 2016-07-06
ES2895165T3 (es) 2022-02-17
KR20130056288A (ko) 2013-05-29
EP3697084B1 (en) 2021-09-22
JP2015053703A (ja) 2015-03-19
WO2012012574A1 (en) 2012-01-26
EP2596632A1 (en) 2013-05-29
CN103069828A (zh) 2013-04-24
US20120023249A1 (en) 2012-01-26
KR101445987B1 (ko) 2014-09-29
BR112013001332A2 (pt) 2016-05-17
US20130304935A1 (en) 2013-11-14
ES2796535T3 (es) 2020-11-27
EP2596632B1 (en) 2020-03-11
CN105744295B (zh) 2019-07-12
BR112013001332B1 (pt) 2021-11-09
JP2013536623A (ja) 2013-09-19
US9131033B2 (en) 2015-09-08
DK2596632T3 (da) 2020-04-27
EP3697084A1 (en) 2020-08-19
HUE049145T2 (hu) 2020-08-28

Similar Documents

Publication Publication Date Title
JP6345827B2 (ja) ビデオデータをストリーミングするためのシーケンスデータセットを提供すること
JP6392115B2 (ja) ビデオ構成要素を多重化するためのデータを信号伝達すること
JP5866359B2 (ja) ネットワークストリーミングされるビデオデータについての属性をシグナリングすること
JP5770345B2 (ja) ビデオデータをストリーミングするためのビデオ切替え
JP5551315B2 (ja) ビデオデータをストリーミングするためのサブトラックフラグメントの配列
JP5591932B2 (ja) ファイルフォーマットトラック選択のためのメディアエクストラクタトラック
JP2013535865A (ja) ビデオデータをストリーミングするためのランダムアクセスポイントに信号伝達すること
KR102434300B1 (ko) 샘플 엔트리들 및 랜덤 액세스
JP5628422B2 (ja) トリックモードビデオ表現のためのビデオサンプルを信号伝達すること
KR102434299B1 (ko) 샘플 엔트리들 및 랜덤 액세스
KR102117805B1 (ko) 전방향성 미디어 포맷을 이용한 미디어 데이터 프로세싱
KR101436267B1 (ko) 비디오 구성요소들을 멀티플렉싱하기 위한 데이터의 시그널링

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180523

R150 Certificate of patent or registration of utility model

Ref document number: 6345827

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250