JP5450810B2 - Mpeg−2システムにおけるマルチビュービデオ符号化サブビットストリームのアセンブル - Google Patents

Mpeg−2システムにおけるマルチビュービデオ符号化サブビットストリームのアセンブル Download PDF

Info

Publication number
JP5450810B2
JP5450810B2 JP2012517828A JP2012517828A JP5450810B2 JP 5450810 B2 JP5450810 B2 JP 5450810B2 JP 2012517828 A JP2012517828 A JP 2012517828A JP 2012517828 A JP2012517828 A JP 2012517828A JP 5450810 B2 JP5450810 B2 JP 5450810B2
Authority
JP
Japan
Prior art keywords
bitstream
view
sub
video
compliant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012517828A
Other languages
English (en)
Other versions
JP2012532493A (ja
Inventor
チェン、イン
カークゼウィックズ、マルタ
チェン、ペイソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2012532493A publication Critical patent/JP2012532493A/ja
Application granted granted Critical
Publication of JP5450810B2 publication Critical patent/JP5450810B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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
    • H04N21/2362Generation or processing of Service Information [SI]
    • 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
    • H04N21/2365Multiplexing of several video streams
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams

Landscapes

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

Description

関連出願
本出願は、参照により全体が明示的に本明細書に組み込まれる、2009年6月29日に出願された米国仮出願第61/221,449号および2009年6月12日に出願された米国仮出願第61/186,613号の利益を主張するものである。
関連出願の相互参照
本出願は、本出願と同時に出願され、本出願の譲受人に譲渡され、参照により本明細書に明示的に組み込まれる、Ying Chenによる同時係属米国特許出願「MULTIVIEW VIDEO CODING OVER MPEG−2 SYSTEMS」(整理番号092514)に関係する。
本開示は、エンコードされたビデオデータのトランスポートに関する。
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクト放送システム、ワイヤレス放送システム、携帯情報端末(PDA)、ラップトップもしくはデスクトップコンピュータ、デジタルカメラ、デジタル録音デバイス、デジタルメディアプレーヤー、ビデオゲームデバイス、家庭用ゲーム機、セルラー方式または衛星無線電話、ビデオ遠隔会議デバイス、および同様のものを含む、各種のデバイスに組み込まれ得る。デジタルビデオデバイスでは、デジタルビデオ情報をより効率的に送信し、受信するためにMPEG−2、MPEG−4、ITU−T H.263またはITU−T H.264/MPEG−4、Part 10、Advanced Video Coding(AVC)、およびそのような規格の拡張によって定義される規格に記述されているようなビデオ圧縮技術を実装する。
ビデオ圧縮技術は、ビデオシーケンスに固有の冗長性を減らすか、または取り除くために空間予測および/または時間予測を実行する。ブロックベースのビデオ符号化では、ビデオフレームまたはスライスがいくつかのマクロブロックに分割され得る。それぞれのマクロブロックは、さらに分割され得る。イントラ符号化(intra-coded)(I)フレームまたはスライス内のマクロブロックは、隣接するマクロブロックに関して空間予測を使用してエンコードされる。インター符号化(inter-coded)(PまたはB)フレームまたはスライス内のマクロブロックでは、同じフレームもしくはスライス内の隣接するマクロブロックに関する空間予測または他の基準フレームに関する時間予測を使用することができる。
ビデオデータがエンコードされた後、そのビデオデータは、送信のために、または格納のためにマルチプレクサによってパケット化され得る。MPEG−2は、多くのビデオエンコード処理規格に対しトランスポートレベルを定義する「システム」セクションを備えている。MPEG−2トランスポートレベルのシステムは、MPEG−2ビデオエンコーダ、または異なるビデオエンコード処理規格に準拠する他のビデオエンコーダによって使用され得る。例えば、MPEG−4では、MPEG−2のとは異なるエンコード処理およびデコード処理の方法を規定しているが、MPEG−4規格の技術を実装するビデオエンコーダでは、MPEG−2トランスポートレベルの方法をそのまま使用することができる。一般に、「MPEG−2システム」を参照した場合、これは、MPEG−2によって規定されたビデオデータのトランスポートレベルを指す。MPEG−2によって規定されているトランスポートレベルは、本開示では、「MPEG−2トランスポートストリーム」または単に「トランスポートストリーム」とも称される。同様に、MPEG−2システムのトランスポートレベルは、プログラムストリームも含む。トランスポートストリームおよびプログラムストリームは、一般に、類似のデータを送るための異なるフォーマットを含み、トランスポートストリームはオーディオデータとビデオデータの両方を含む1つまたは複数の「プログラム」を備え、プログラムストリームはオーディオデータとビデオデータの両方を含む1つのプログラムを備える。
MPEG−2システム仕様では、デジタル送信または格納に適した単一のデータストリームを形成するため圧縮されたマルチメディア(ビデオおよびオーディオ)データストリームが他のデータと一緒にどのように多重化できるかを説明している。MPEG−2システムの最新仕様は、「Information Technology−Generic Coding of Moving Pictures and Associated Audio: Systems, Recommendation H.222.0; International Organisation for Standardisation, ISO/IEC JTC1/SC29/WG11; Coding of Moving Pictures and Associated Audio」(2006年5月)において規定されている。MPEGでは、最近、MPEG−2システム上のMVCのトランスポート規格を設計しており、この仕様書の最新バージョンは、「Study of ISO/IEC 13818−1:2007/FPDAM4 Transport of MVC」(MPEG doc. N10572、MPEG of ISO/IEC JTC1/SC29/WG11、Maui、Hawaii、USA、2009年4月)である。
一般に、本開示では、MPEG−2(Motion Picture Experts Group)システムにおけるマルチビュービデオ符号化を改善するための技術を説明する。本開示の技術は、一般的に、MPEG−2トランスポートレベルの機能、例えば、MPEG−2トランスポートストリームとMPEG−2プログラムストリームとをマルチビュービデオ符号化(MVC)に関して拡張するものである。例えば、本開示の技術は、MVCビデオストリームの不連続ビューの送信がトランスポートレベルで行われることを可能にする。本開示の技術は、トランスポートストリーム(またはプログラム)のサブビットストリームがそれぞれ不連続ビューを含むことをさらに可能にする。これらの技術は、受信デバイスが、それぞれ不連続ビューを有する複数のサブビットストリームを備えるトランスポートレベルストリームを受信した後にトランスポートストリームが適切な順序で、つまり、ビュー順序インデックスに関して昇順で並ぶようにサブビットストリーム内のビューを再配置し、デコーダが複数あるビューのそれぞれのビューのフレームを適切にデコードすることができるようにすることも可能にする。
一例では、方法は、対応するMPEG−2(Motion Picture Experts Group)システム規格のビットストリームが第1のビュー順序インデックスに関連付けられているシーンの第1のビューと第2のビュー順序インデックスに関連付けられているシーンの第2のビューとを備え、第1のビュー順序インデックスおよび第2のビュー順序インデックスが不連続であることを信号により伝達するためのデータ構造体をソースデバイスにより構成することを含む。この方法は、データ構造体を出力すること、例えば、データ構造体をデスティネーションデバイスに送信するか、またはデータ構造体をコンピュータ可読媒体に格納することも含む。
別の例では、装置は、シーンの複数のビューをエンコードするビデオエンコーダと、対応するMPEG−2(Motion Picture Experts Group)システム規格のビットストリームが第1のビュー順序インデックスに関連付けられているシーンの複数のビューのうちの第1のビューと第2のビュー順序インデックスに関連付けられているシーンの複数のビューのうちの第2のビューとを備え、第1のビュー順序インデックスおよび第2のビュー順序インデックスが不連続であることを信号により伝達するためのデータ構造体を構成するマルチプレクサと、データ構造体を出力する出力インターフェースとを含む。
別の例では、装置は、対応するMPEG−2(Motion Picture Experts Group)システム規格のビットストリームが第1のビュー順序インデックスに関連付けられているシーンの第1のビューと第2のビュー順序インデックスに関連付けられているシーンの第2のビューとを備え、第1のビュー順序インデックスおよび第2のビュー順序インデックスが不連続であることを信号により伝達するためのデータ構造体をソースデバイスにより構成するための手段と、データ構造体を出力するための手段とを含む。
別の例では、コンピュータ可読記憶媒体は、対応するMPEG−2(Motion Picture Experts Group)システム規格のビットストリームが第1のビュー順序インデックスに関連付けられているシーンの第1のビューと第2のビュー順序インデックスに関連付けられているシーンの第2のビューとを備え、第1のビュー順序インデックスおよび第2のビュー順序インデックスが不連続であることを信号により伝達するためのデータ構造体を構成し、データ構造体を出力することをプロセッサに行わせる命令でエンコードされる。
さらに別の例では、方法は、クライアントデバイスにより、プライマリサブビットストリームとプライマリサブビットストリームの埋め込みサブビットストリームとを備える受信されたビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成することを含み、MVC規格準拠のピットストリームを生成することが、プライマリサブビットストリームのビューコンポーネントが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きいビュー順序インデックスを有するかどうかを判定することと、プライマリサブビットストリームのビューコンポーネントのビュー順序インデックスが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きい場合に、埋め込みサブビットストリームのビューコンポーネントを生成されたビットストリームに追加することと、プライマリサブビットストリームのビューコンポーネントのビュー順序インデックスが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きくない場合に、プライマリサブビットストリームのビューコンポーネントを生成されたビットストリームに追加することとを含む。この方法は、生成されたビットストリームをビデオデコーダに出力することをさらに含む。
別の例では、装置は、プライマリサブビットストリームとプライマリサブビットストリームの埋め込みサブビットストリームとを備えるビットストリームを受信する入力インターフェースと、受信されたビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成するデマルチプレクサであって、MVC規格準拠のビットストリームを生成するために、プライマリサブビットストリームのビューコンポーネントが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きいビュー順序インデックスを有するかどうかを判定し、プライマリサブビットストリームのビューコンポーネントのビュー順序インデックスが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きい場合に、埋め込みサブビットストリームのビューコンポーネントを生成されたビットストリームに追加し、プライマリサブビットストリームのビューコンポーネントのビュー順序インデックスが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きくない場合に、プライマリサブビットストリームのビューコンポーネントを生成されたビットストリームに追加するデマルチプレクサと、デマルチプレクサによって生成されたビットストリームをデコードするビデオデコーダとを含む。
別の例では、装置は、プライマリサブビットストリームとプライマリサブビットストリームの埋め込みサブビットストリームとを備える受信されたビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成するための手段と、プライマリサブビットストリームのビューコンポーネントが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きいビュー順序インデックスを有するかどうかを判定するための手段と、プライマリサブビットストリームのビューコンポーネントのビュー順序インデックスが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きい場合に、埋め込みサブビットストリームのビューコンポーネントを生成されたビットストリームに追加するための手段と、プライマリサブビットストリームのビューコンポーネントのビュー順序インデックスが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きくない場合に、プライマリサブビットストリームのビューコンポーネントを生成されたビットストリームに追加するための手段と、生成されたビットストリームをビデオデコーダに出力するための手段とを含む。
別の例では、コンピュータ可読記憶媒体は、クライアントデバイスのプログラム可能なプロセッサに、プライマリサブビットストリームとプライマリサブビットストリームの埋め込みサブビットストリームとを備える受信されたビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成することを行わせる命令であって、プライマリサブビットストリームのビューコンポーネントが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きいビュー順序インデックスを有するかどうかを判定するための命令と、プライマリサブビットストリームのビューコンポーネントのビュー順序インデックスが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きい場合に、埋め込みサブビットストリームのビューコンポーネントを生成されたビットストリームに追加する命令と、プライマリサブビットストリームのビューコンポーネントのビュー順序インデックスが埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きくない場合に、プライマリサブビットストリームのビューコンポーネントを生成されたビットストリームに追加する命令とを備える命令と、生成されたビットストリームをビデオデコーダに出力することを行わせる命令とでエンコードされる。
1つまたは複数の例の詳細は、添付図面および以下の説明で述べられる。他の特徴、目的、および利点は、説明と図面、さらには請求項から明らかになるであろう。
図1は、オーディオ/ビデオ(A/V)ソースデバイスがオーディオおよびビデオデータをA/Vデスティネーションデバイスにトランスポートする例示的なシステムを示すブロック図である。 図2は、マルチプレクサのコンポーネントの例示的な配置構成を示すブロック図である。 図3は、例示的な一組のプログラム特定情報テーブルを示すブロック図である。 図4は、マルチビュービデオ符号化(MVC)拡張記述子に含まれ得る例示的な一組のデータを示すブロック図である。 図5は、階層記述子に含まれ得る例示的な一組のデータを示すブロック図である。 図6は、例示的なMVC予測パターンを示す概念図である。 図7は、不連続ビュー順序インデックスを持つビューの部分集合を有するMPEG−2システムストリームをサーバーからクライアントに送るための例示的な方法を示す流れ図である。 図8は、2つまたはそれ以上のサブビットストリームのビューコンポーネントをアセンブルしてビューコンポーネントが大きくなるビュー順序インデックスを有するようにビットストリームを生成するための例示的な方法を示す流れ図である。
本開示の技術は、一般的に、MPEG−2(Motion Picture Experts Group)システム、つまり、トランスポートレベルの詳細に関してMPEG−2に準拠するシステムにおけるマルチビュービデオ符号化(MVC)を強化することを対象とする。MPEG−4は、例えば、ビデオエンコード処理の規格を定めるものであるが、一般的には、MPEG−4規格に準拠しているビデオエンコーダは、MPEG−2トランスポートレベルシステムを使用すると想定している。したがって、本開示の技術は、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、またはMPEG−2トランスポートストリームおよび/またはプログラムストリームを使用する他のビデオエンコード処理規格に準拠するビデオエンコーダに適用可能である。
特に、本開示の技術は、MPEG−2トランスポートストリームとプログラムストリームとに対するトランスポートレベルで構文エレメントを修正するために使用することができる。例えば、本開示の技術は、トランスポートストリームで送られるマルチビュービデオデータのそれぞれのビューを特に識別するためにトランスポートストリームで送信される記述子を含む。サーバーデバイスは、例えば、それぞれがマルチビュービデオ符号化ビデオデータの特定のビューの各部分集合を含み、サービスのビューの部分集合がクライアントデバイスによって実行されるアプリケーション、クライアントデバイスによって実行されるデコーダの容量、クライアントデバイスが示すプリファレンス、または他の選択基準に基づき選択され得る、さまざまなサービスを提供することができる。
本開示の技術によれば、サーバーデバイスは、不連続ビュー順序インデックスを有するビューの部分集合を与えることができる。一例では、サーバーデバイスは、特に、プログラムマップテーブル(PMT)またはプログラムストリームマップ(PSM)に含まれ得るMVC拡張記述子におけるトランスポートストリームに含まれるビューのそれぞれに信号を送る。
いくつかの例では、サーバーデバイスは、単一のトランスポートストリームまたはプログラムストリームで複数のサブビットストリームを送ることができる。ビットストリームのビューが不連続であることを可能にすることによって、本開示の技術は、それぞれのサブビットストリームのビューに対応するビュー順序インデックスが不連続となることも可能にする。これらの技術は、それぞれのサブビットストリーム内の不連続ビュー順序インデックスを可能にするけれども、ビュー順序インデックスは、いぜんとして、既存のビットストリーム規格、例えば、MPEG−2システム規格に準拠するために、サブビットストリームにおいて増加するものである必要がある。しかし、第1のサブビットストリームおよび第2のサブビットストリームのビューは、それぞれ不連続である場合があるため、これらのビューはビュー順序インデックスに関して順序通りでなくクライアントデバイスに到達し得る。本開示の技術は、クライアントデバイスがそのようなトランスポートストリームを処理して第1のサブビットストリームと第2のサブビットストリームのビューをビューのビュー順序インデックスが大きくなるように効率よく順序変更することも可能にする。不連続のビュー順序インデックスを有するビュー組み合わせが、帯域幅適応、デコーダ効率に有用と思われる、ビュースケーラビリティに使用され、他のそのような利点をももたらし得る。例えば、連続するビュー順序インデックスを有する、すべてのビューをクライアントデバイスに送ることとクライアントデバイスがそれぞれのビューをデコードすることとを要求する従来の技術とは反対に、本開示の技術は、この結果ビューが不連続ビュー順序インデックスを有することになっても、クライアントデバイスによって特に要求されるビューのみを送ることを可能にする。この方法では、クライアントデバイスは、間にあるビュー順序インデックスを持つすべてのビューではなく、特定のサービスに必要なビューのみを受信することができる。
さまざまな節において、本開示は、「トランスポートストリーム」または「プログラムストリーム」を個別に参照し得るが、本開示の技術は、一般的に、MPEG−2トランスポートストリームとプログラムストリームのいずれかまたは両方に適用可能であることは理解されるであろう。一般に、本開示は、本開示の技術を実行するための例示的な記述子を説明している。ストリームの機能を拡張するために、記述子が使用される。本開示の記述子は、本開示の技術を実装するためにトランスポートストリームとプログラムストリームの両方によって使用され得る。
本開示では、以下の用語も使用し、またこれらの用語を示されているような用語の意味と併せて現行のMPEG−2システム規格の改訂に含めることを提案する:
・ AVCビデオサブビットストリーム:MVCビットストリームのベースビュー。
・ MVCのAVCビデオサブビットストリーム:プレフィックスNALユニットを無視したMVCビットストリームのベースビュー。
・ MVCベースビューサブビットストリーム:AVCビデオサブストリームまたはMVCのAVCビデオサブビットストリームのいずれか。
・ MVCビューコンポーネント部分集合:1つのビューコンポーネントのNALユニット。
・ MVC view_id部分集合:1つのビューのNALユニット。
・ MVCビデオサブビットストリーム:非ベースビューのNALユニット。
図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は、ボコーダとも称される、音声エンコーダを備えることができる。
図1の例における、A/Vソースデバイス20は、オーディオソース22とビデオソース24とを備える。オーディオソース22は、例えば、オーディオエンコーダ26によってエンコードされるべき取り込まれたオーディオデータを表す電気信号を発生するマイクロホンを備えることができる。あるいは、オーディオソース22は、すでに記録されているオーディオデータを格納している記憶媒体、コンピュータ制御シンセサイザなどのオーディオデータ生成装置、またはオーディオデータの他のソースを備えることができる。ビデオソース24は、ビデオエンコーダ28によってエンコードされるべきビデオデータを生成するビデオカメラ、すでに記録されているビデオデータでエンコードされた記憶媒体、ビデオデータ生成ユニット、またはビデオデータの他のソースを備えることができる。生のオーディオおよびビデオデータは、アナログまたはデジタルデータを備えることができる。アナログデータは、オーディオエンコーダ26および/またはビデオエンコーダ28によってエンコードされる前に2値化され得る。オーディオソース22は、話者が話している最中に話者からオーディオデータを取得することができ、ビデオソース24は、話者のビデオデータを同時に取得することができる。他の例では、オーディオソース22は、格納されているオーディオデータを備えるコンピュータ可読記憶媒体を備えることができ、ビデオソース24は、格納されているビデオデータを備えるコンピュータ可読記憶媒体を備えることができる。この方法で、本開示において説明されている技術が、ライブの、ストリーミング再生による、リアルタイムのオーディオおよびビデオデータに、またはアーカイブされている、記録済みのオーディオおよびビデオデータに適用され得る。
ビデオフレームに対応するオーディオフレームは、一般的に、ビデオフレーム内に収められているビデオソース24によって取り込まれたビデオデータと同時にオーディオソース22によって取り込まれたオーディオデータを収めてあるオーディオフレームである。例えば、話者は、一般的に、発話することによってオーディオデータを生成するが、オーディオソース22はオーディオデータを取り込み、ビデオソース24はそれと同時に、つまり、オーディオソース22がオーディオデータを取り込んでいる最中に、話者のビデオデータを取り込む。したがって、オーディオフレームは、1つまたは複数の特定のビデオフレームに時間的に対応するものとしてよい。そのため、ビデオフレームに対応するオーディオフレームは、一般的に、オーディオデータおよびビデオデータが同時に取り込まれ、オーディオフレームおよびビデオフレームがそれぞれオーディオデータと同時に取り込まれたビデオデータとを備える状況に対応する。
いくつかの例では、オーディオエンコーダ26は、エンコードされたオーディオフレームに対するオーディオデータが記録された時点を表すそれぞれのエンコードされたオーディオフレーム内のタイムスタンプをエンコードすることができ、同様に、ビデオエンコーダ28は、エンコードされたビデオフレームに対するビデオデータが記録された時点を表すそれぞれのエンコードされたビデオフレーム内のタイムスタンプをエンコードすることができる。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと、同じタイムスタンプを備えるビデオフレームとを備えることができる。A/Vソースデバイス20は、オーディオエンコーダ26および/またはビデオエンコーダ28がそこからタイムスタンプを生成することができるか、あるいはオーディオソース22およびビデオソース24がオーディオデータとビデオデータとをそれぞれタイムスタンプに関連付けるために使用することができる、内部クロックを含むことができる。いくつかの例では、オーディオソース22は、オーディオデータが記録された時点に対応するデータをオーディオエンコーダ26に送ることができ、ビデオソース24は、ビデオデータが記録された時点に対応するデータをビデオエンコーダ28に送ることができる。いくつかの例では、オーディオエンコーダ26は、オーディオデータが記録された絶対時間を必ずしも示すことなくエンコードされたオーディオデータの相対的時間順序を示すようにエンコードされたオーディオデータ内にシーケンス識別子をエンコードすることができ、同様に、ビデオエンコーダ28も、エンコードされたビデオデータの相対的時間順序を示すようにシーケンス識別子を使用することができる。同様に、いくつかの例では、シーケンス識別子がマッピングされるか、またはタイムスタンプと何らかの形で相関させることができる。
本開示の技術は、一般的に、エンコードされたマルチメディア(例えば、オーディオとビデオ)データのトランスポートを対象とし、またトランスポートされたマルチメディアデータの受信とその後の解釈とデコードとを対象とする。本開示の技術は、マルチビュービデオ符号化(MVC)データ、つまり、複数のビューを備えるビデオデータのトランスポートに特に適用可能である。図1の例に示されているように、ビデオソース24は、1つのシーンの複数のビューをビデオエンコーダ28に供給することができる。MVCは、立体視または裸眼立体視三次元ディスプレイなどの三次元ディスプレイによって使用されるべき三次元ビデオデータを生成する場合にも有用であり得る。
A/Vソースデバイス20は、「サービス」をA/Vデスティネーションデバイス40に提供することができる。サービスは、一般的に、MVCデータの利用可能なビューの部分集合に対応する。例えば、MVCデータは、0から7まで順序付けられた8つのビューに利用可能であるものとすることができる。一方のサービスは、2つのビューを有する立体ビデオに対応するが、別のサービスは、4つのビューに対応することができ、さらに別のサービスは、8つすべてのビューに対応することができる。一般に、サービスは、利用可能なビューの任意の組み合わせ(つまり、部分集合)に対応する。サービスは、利用可能なビューとオーディオデータとの組み合わせにも対応し得る。
A/Vソースデバイス20は、本開示の技術によれば、不連続ビュー順序インデックスを含むビューの部分集合に対応するサービスを提供することができる。一般に、ビューは、「view_id」とも称される、ビュー識別子によって表される。ビュー識別子は、一般的に、ビューを識別するために使用され得る構文エレメントを備える。MVCエンコーダは、ビューがエンコードされるときにビューのview_idを与える。view_idは、ビュー間予測のためにMVCデコーダによって使用されるか、または他の目的のために、例えば、レンダリングするために、他のユニットによって使用され得る。
ビュー間予測は、共通の時間位置の1つまたは複数のフレームを異なるビューのエンコードされたフレームとして参照しつつフレームのMVCビデオデータをエンコードするための技術である。図6は、以下でさらに詳しく説明されるが、ビュー間予測の例示的な符号体系を示している。一般に、MVCビデオデータのエンコードされたフレームは、空間的に、時間的に、および/または共通の時間位置における他のビューのフレームを参照しつつ予測的にエンコードされ得る。したがって、他のビューを予測する際に元になる基準ビューは、一般的に、基準ビューが基準として働くビューの前にデコードされ、そのため、それらのデコードされたビューは基準ビューをデコードするときに基準として使用され得る。デコード順序は、必ずしも、view_idsの順序に対応しない。したがって、ビューのデコード順序は、ビュー順序インデックスを使用して記述される。ビュー順序インデックスは、アクセスユニット内の対応するビューコンポーネントのデコード順序を示すインデックスである。
(オーディオもしくはビデオの)データのそれぞれの個別ストリームは、エレメンタリストリームと称される。エレメンタリストリームは、プログラムの単一の2値符号化された(場合によっては圧縮された)コンポーネントである。例えば、プログラムの符号化されたビデオまたはオーディオ部分は、エレメンタリストリームとすることができる。エレメンタリストリームは、プログラムストリームまたはトランスポートストリームに多重化される前にパケット化エレメンタリストリーム(PES)に変換されることができる。同じプログラム内で、ストリームIDは、一方のエレメンタリストリームに属すPESパケットを他方のものから区別するために使用される。エレメンタリストリームのデータの基本ユニットは、パケット化エレメンタリストリーム(PES)パケットである。そのため、MVCビデオデータのそれぞれのビューは、各エレメンタリストリームに対応する。同様に、オーディオデータは各エレメンタリストリームに対応する。図1の例では、マルチプレクサ30は、ビデオエンコーダ28からのビデオデータを備えるエレメンタリストリームとオーディオエンコーダ26からのオーディオデータを備えるエレメンタリストリームとを受信する。いくつかの例では、ビデオエンコーダ28およびオーディオエンコーダ26は、それぞれ、エンコードされたデータからPESパケットを形成するためにパケタイザーを含むことができる。他の例では、ビデオエンコーダ28およびオーディオエンコーダ26は、それぞれ、エンコードされたデータからPESパケットを形成するために各パケタイザーとインターフェースすることができる。さらに他の例では、マルチプレクサ30は、エンコードされたオーディオおよびビデオデータからPESパケットを形成するためにパケタイザーを含むことができる。
本開示で使用されているような「プログラム」は、オーディオデータとビデオデータ、例えば、オーディオエレメンタリストリームとA/Vソースデバイス20のサービスによって送られる利用可能なビューの部分集合の組み合わせを備えることができる。それぞれのPESパケットは、PESパケットが属すエレメンタリストリームを識別するstream_idを含む。マルチプレクサ30は、エレメンタリストリームを構成要素であるプログラムストリームまたはトランスポートストリームにアセンブルする役割を有する。プログラムストリームおよびトランスポートストリームは、異なるアプリケーションをターゲットとする2つの代替的マルチプレクサである。
一般に、プログラムストリームは、1つのプログラムに対するデータからなり、その一方でトランスポートストリームは、1つまたは複数のプログラムに対するデータを備えることができる。マルチプレクサ30は、提供されるサービス、ストリームが受け渡される媒体、送られる多数のプログラム、または他の考慮事項に基づき、プログラムストリームまたはトランスポートストリームのいずれかまたは両方をエンコードすることができる。例えば、ビデオデータが記憶媒体内にエンコードされる場合、マルチプレクサ30は、1つのプログラムストリームを形成する可能性がより高いが、ビデオデータがネットワーク上でストリーミングされるか、または放送されるか、またはテレビ電話の一部として送られる場合、マルチプレクサ30は、トランスポートストリームを使用する可能性がより高いものとすることができる。
マルチプレクサ30は、デジタルストレージサービスからの単一のプログラムの格納および表示のためにプログラムストリームを使用することに有利である。プログラムストリームは、プログラムストリームがむしろエラーの影響を受けやすいため、エラーのない環境またはエラーの発生に左右されにくい環境で使用することが意図されている。プログラムストリームは、それに属するエレメンタリストリームを単に備えるだけであり、通常は可変長パケットのパケットを含む。プログラムストリームでは、寄与するエレメンタリストリームに由来するPESパケットは「パック」に編成される。パックは、パックヘッダ、オプションのシステムヘッダ、および寄与するエレメンタリストリームのどれかから取り出された任意の数のPESパケットを、任意の順序で備える。システムヘッダは、最大データ転送速度、寄与するビデオおよびオーディオエレメンタリストリームの数、さらなるタイミング情報、または他の情報などのプログラムストリームの特性の要約を含む。デコーダは、システムヘッダに収められている情報を使用して、デコーダがプログラムストリームをデコードすることができるかどうかを判定することができる。
マルチプレクサ30は、トランスポートストリームを使用して、潜在的にエラーを起こしがちなチャネル上で複数のプログラムの同時配送を行うことができる。トランスポートストリームは、放送など多重プログラムアプリケーション用に考案された多重送信であり、単一のトランスポートストリームで多くの独立したプログラムを受け入れることができる。トランスポートストリームは、一連のトランスポートパケットを備え、これらのトランスポートパケットのそれぞれは188バイト長である。短い固定長パケットを使用するということは、トランスポートストリームがプログラムストリームに比べてエラーの影響を受けにくいことを意味する。さらに、それぞれの188バイト長のトランスポートパケットは、リードソロモンエンコード処理などの、標準のエラー保護プロセスを通じてパケットを処理することによってエラー保護能力を高めることができる。トランスポートストリームのエラー耐性が向上しているということは、例えば放送環境において見られるエラーを起こしがちなチャネルを生き延びることができる確率が高いことを意味する。
トランスポートストリームは、エラー耐性の向上と多数の同時プログラムを伝送する能力を持つ2つの多重送信のうちのよい方であることは明らかである。しかし、トランスポートストリームは、プログラムストリームに比べてより高度な多重送信であり、その結果、作成も逆多重化も難しい。トランスポートパケットの1番目のバイトは、値0x47(16進数47、2進数「01000111」、10進数71)を有する同期バイトである。単一のトランスポートストリームは、異なる多数のプログラムを伝送することができ、それぞれのプログラムは多数のパケット化エレメンタリストリームを備える。マルチプレクサ30は、13ビットのパケット識別子(PID)フィールドを使用して、エレメンタリストリームのデータを収めたトランスポートパケットを他のエレメンタリストリームのデータを伝送するトランスポートパケットから区別することができる。それぞれのエレメンタリストリームが固有のPID値を確実に与えられるようにすることは、マルチプレクサの役割である。トランスポートパケットの最後のバイトは、連続カウントフィールドである。マルチプレクサ30は、同じエレメンタリストリームに属す連続するトランスポートパケット間で連続カウントフィールドの値をインクリメントする。これは、デコーダ、またはA/Vデスティネーションデバイス40などのデスティネーションデバイスの他のユニットが、トランスポートパケットの損失または取得を検出し、そのようなイベントから結果として他の何らかの形で発生するおそれのあるエラーをあわよくば隠すことを可能にする。
マルチプレクサ30は、オーディオエンコーダ26とビデオエンコーダ28とからプログラムのエレメンタリストリームに対するPESパケットを受信し、PESパケットから対応するネットワーク抽象化層(NAL)ユニットを形成する。H.264/AVC(Advanced Video Coding)の例では、符号化されたビデオセグメントが複数のNALユニットに編成され、テレビ電話、ストレージ、放送、またはストリーミングなどのアプリケーションを扱う「ネットワークフレンドリー」なビデオ表現を構成する。NALユニットは、ビデオ符号化層(VCL)NALユニットと非VCL NALユニットとに分類され得る。VCLユニットは、コア圧縮エンジンを含んでおり、ブロック、マクロブロック、および/またはスライスレベルを備えることができる。他のNALユニットは、非VCL NALユニットである。
マルチプレクサ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では、H.264によって定義されているNALユニットは、4バイトのMVC NALユニットヘッダとNALユニットペイロードとを含む、プレフィックスNALユニットとMVC符号化スライスNALユニットとを除いて、保持される。
NALヘッダのpriority_idエレメントが、単純な1パスビットストリーム適応プロセスに使用され得る。temporal_idエレメントは、対応するNALユニットの時間的レベルを指定するために使用することができ、異なる時間的レベルは異なるフレームレートに対応する。anchor_pic_flagエレメントは、ピクチャーがアンカーピクチャーであるか、または非アンカーピクチャーであるかを示すことができる。
アンカーピクチャーおよび出力順序(つまり、表示順序)でそれに続くすべてのピクチャーは、デコード順序(つまり、ビットストリーム順序)で前のピクチャーのデコードなしで正しくデコードされ、したがってランダムアクセスポイントとして使用され得る。アンカーピクチャーおよび非アンカーピクチャーは、異なる依存関係を有することができ、その両方がシーケンスパラメータセットにおいて信号により伝達される。この章の以下の節において、他のフラグも説明し、使用する。そのようなアンカーピクチャーは、オープンGOP(Group Of Pictures)アクセスポイントとも称され得るが、クローズGOPアクセスポイントも、non_idr_flagエレメントがゼロに等しいときにサポートされる。non_idr_flagエレメントは、ピクチャーが瞬時デコーダリフレッシュ(IDR)ピクチャーであるか、またはビューIDR(V−IDR)ピクチャーであるかを示す。一般に、IDRピクチャー、および出力順序またはストリーム順序でそれに続くすべてのピクチャーは、デコード順序または表示順序のいずれかで前のピクチャーをデコードせずに正しくデコードされ得る。
view_idエレメントは、MVCデコーダ内ではデータの相互のやり取りに、例えば、ビュー間予測に、またデコーダの外部で、例えば、レンダリングに使用され得る、ビューを識別するために使用することができる構文情報を備える。inter_view_flagエレメントは、対応するNALユニットがビュー間予測のために他のビューによって使用されるかどうかを指定することができる。AVCに準拠しているものとしてよい、ベースビューの4バイトのNALユニットヘッダ情報を伝達するために、プレフィックスNALユニットがMVC内で定義される。MVCに関連して、ベースビューアクセスユニットは、ビューの現在時刻インスタンスのVCL NALユニットと、さらにはNALユニットヘッドのみを収めたそのプレフィックスNALユニットとを含む。H.264/AVCデコーダは、プレフィックスNALユニットを無視してもよい。
ペイロード内にビデオデータを含むNALユニットは、さまざまなグラニュラリティ(granularity)レベルのビデオデータを含み得る。例えば、NALユニットは、ビデオデータのブロック、1つのマクロブロック、複数のマクロブロック、ビデオデータのスライス、またはビデオデータのフレーム全体を備えることができる。マルチプレクサ30は、エレメンタリストリームのPESパケットの形態でビデオエンコーダ28からエンコードされたビデオデータを受信することができる。マルチプレクサ30は、stream_idsを、データベースもしくは例えばプログラムマップテーブル(PMT)またはプログラムストリームマップ(PSM)などの他のデータ構造体内の対応するプログラムにマッピングすることによって、それぞれのエレメンタリストリームを対応するプログラムに関連付けることができる。
マルチプレクサ30は、複数のNALユニットからアクセスユニットをアセンブルすることもできる。一般に、アクセスユニットは、ビデオデータ、さらにはオーディオデータのフレームを表すための1つまたは複数のNALユニットを備えることができ、オーディオデータはそのようなオーディオデータが利用可能である場合にフレームに対応する。H.264/AVCに対応する例では、アクセスユニットは、1つの時間インスタンスにおいて符号化されたピクチャーを備えることができ、これは一次符号化ピクチャーとして示され得る。したがって、アクセスユニットは、共通の時間インスタンス、例えば、時間Xに対応するすべてのビューのすべてのオーディオおよびビデオフレームを備えることができる。本開示では、特定のビューのエンコードされたピクチャーを「ビューコンポーネント」とも称する。つまり、ビューコンポーネントは、特定の時間の特定のビューに対するエンコードされたピクチャー(またはフレーム)を備える。したがって、アクセスユニットは、共通の時間インスタンスのすべてのビューコンポーネントを備えるものとして定義され得る。
マルチプレクサ30は、NALユニット内にプログラムに関するデータを埋め込むこともできる。例えば、マルチプレクサ30は、プログラムマップテーブル(PMT)またはプログラムストリームマップ(PSM)を備えるNALユニットを作成することができる。一般に、PMTは、トランスポートストリームを記述するために使用され、PSMは、プログラムストリームを記述するために使用される。以下の図2の例に関してさらに詳しく説明されているように、マルチプレクサ30は、オーディオエンコーダ26とビデオエンコーダ28とから受信されたエレメンタリストリームをプログラムに、したがって各トランスポートストリームおよび/またはプログラムストリームに関連付けるデータストレージユニットを備えるか、またはそのようなデータストレージユニットと相互にやり取りすることができる。
MPEG−2システム規格では、「記述子」を使ってシステムの拡張を行うことができる。PMTおよびPSMの両方が、1つまたは複数の記述子が挿入され得る記述子ループを含む。一般に、記述子は、プログラムおよび/またはプログラムエレメントの定義を拡張するために使用され得る構造体を備える。本開示では、本開示の技術を実行するために、MVC拡張記述子と階層記述子の2つの記述子を説明している。一般に、本開示のMVC拡張記述子は、プログラムストリームまたはトランスポートストリームに埋め込まれているビューのビュー順序インデックスを特に識別することによって従来のMVC拡張記述子を機能強化するが、本開示の階層記述子は、関連付けられているプログラムエレメントが階層記述子のエレメントによって参照されているプログラムエレメントから結果として得られるビットストリームのビューの数を増やすかどうかを示すフラグを含む。
ITU−T H.261、H.263、MPEG−1、MPEG−2、およびH.264/MPEG−4 part 10などのビデオ圧縮規格では、動き補償時間予測を使用して時間冗長性を低減する。エンコーダは、いくつかのすでにエンコードされたピクチャー(本明細書ではフレームとも称される)からの動き補償予測を使用して動きベクトルに応じて現在の符号化されているピクチャーを予測する。典型的なビデオ符号化には3つの主要なピクチャータイプがある。これらは、イントラ符号化ピクチャー(「Iピクチャー」または「Iフレーム」)、予測ピクチャー(「Pピクチャー」または「Pフレーム」)、および双方向予測ピクチャー(「Bピクチャー」または「Bフレーム」)である。Pピクチャーでは、時間順序で現在のピクチャーより前にある基準ピクチャーのみを使用する。Bピクチャーでは、Bピクチャーのそれぞれのブロックが1つまたは2つの基準ピクチャーから予測され得る。これらの基準ピクチャーは、時間順序で現在のピクチャーより前または後に配置される可能性もある。
一例として、H.264符号化規格によれば、Bピクチャーは、すでに符号化されている基準ピクチャーの2つのリスト、リスト0とリスト1とを使用する。これら2つのリストは、それぞれ、時間順序で過去および/または未来の符号化されたピクチャーを含むことができる。Bピクチャー内のブロックは、リスト0基準ピクチャーからの動き補償予測、リスト1基準ピクチャーからの動き補償予測、リスト0とリスト1の両方の基準ピクチャーの組み合わせからの動き補償予測の複数の方法のうちの1つで予測され得る。リスト0とリスト1の両方の基準ピクチャーの組み合わせを取得するために、2つの動き補償基準領域が、それぞれ、リスト0の基準ピクチャーとリスト1の基準ピクチャーとから得られる。これらの組み合わせは、現在のブロックを予測するために使用される。
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および彩度成分に対する対応するスケーリングされたサイズなどのさまざまなブロックサイズのインター予測をサポートする。本開示では、「×」と「かける」、例えば「16×16ピクセル」または「16かける16ピクセル」は、入れ換えて使用することができ、垂直と水平の寸法に関するブロックのピクセル寸法を指す。一般に、16×16ブロックは、垂直方向に16個のピクセル(y=16)、水平方向に16個のピクセル(x=16)を有する。同様に、N×Nブロックは、一般的に、垂直方向にN個のピクセル、水平方向にN個のピクセルを有し、Nは非負整数値を表す。ブロック内のピクセルは、行と列とに配置され得る。
16×16未満のブロックサイズは、16×16マクロブロックのパーティションと称することができる。ビデオブロックは、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念上類似の変換などの変換を符号化ビデオブロックと予測ビデオブロックとのピクセル差を表す残留ビデオブロックデータに適用した後の、ピクセルドメイン内のピクセルデータのブロック、または変換ドメイン内の変換係数のブロックを備えることができる。いくつかの場合において、ビデオブロックは、変換ドメイン内の量子化変換係数のブロックを備えることができる。
より小さなビデオブロックは、より高い分解能をもたらし、高い詳細レベルを含むビデオフレームの配置に使用され得る。一般に、マクロブロックおよびときにはサブブロックとも称されるさまざまなパーティションがビデオブロックとみなされ得る。それに加えて、スライスも、マクロブロックおよび/またはサブブロックなどの複数のビデオブロックであるとみなされることができる。それぞれのスライスは、ビデオフレームの独立してデコード可能なユニットであることができる。あるいは、フレームそれ自体がデコード可能なユニットであるか、またはフレームの他の部分が、デコード可能なユニットとして定義され得る。「符号化されたユニット」または「符号化ユニット」は、フレーム全体、フレームのスライス、シーケンスとも称されるピクチャーのグループ(GOP)、または適用可能な符号化技術に従って定義された別の独立してデコード可能なユニットなどのビデオフレームの独立してデコード可能なユニットを指すものとすることができる。
「マクロブロック」という用語は、16×16ピクセルを備える二次元ピクセル配列に従ってピクチャーおよび/またはビデオデータをエンコードするためのデータ構造体を指す。それぞれのピクセルは、彩度成分と輝度成分とを備える。したがって、マクロブロックは、それぞれが8×8ピクセルの二次元配列を備える4つの輝度ブロックと、それぞれが16×16ピクセルの二次元配列を備える2つの彩度ブロックと、符号化ブロックパターン(CBP)、エンコードモード(例えば、イントラ(I)、またはインター(PまたはB)エンコードモード)、イントラエンコードブロック(例えば、16×16、16×8、8×16、8×8、8×4、4×8、または4×4)のパーティションに対するパーティションサイズ、またはインター符号化マクロブロックに対する1つまたは複数の動きベクトルなどの構文情報を備えるヘッダとを定義することができる。
ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、マルチプレクサ40、およびデマルチプレクサ38は、それぞれ、適宜1つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート部品による論理回路、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせなどの、さまざまな好適なエンコーダまたはデコーダ回路のうちのどれかとして実装され得る。ビデオエンコーダ28およびビデオデコーダ48のそれぞれは、1つまたは複数のエンコーダまたはデコーダに含まれるものとすることもでき、これらのいずれかが組み合わされたビデオエンコーダ/デコーダ(CODEC)の一部として集積化され得る。同様に、オーディオエンコーダ26およびオーディオデコーダ46のそれぞれは、1つまたは複数のエンコーダまたはデコーダに含まれるものとすることもでき、これらのいずれかが組み合わされたオーディオエンコーダ/デコーダ(CODEC)の一部として集積化され得る。ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダオーディオエンコーダ26、オーディオデコーダ46、マルチプレクサ30、および/またはデマルチプレクサ38を含む装置は、集積回路、マイクロプロセッサ、および/または携帯電話などのワイヤレス通信デバイスを備えることができる。
本開示の技術は、いくつかの動作ポイントに対する信号特性のサポートを無効にする、MVCサブビットストリームに対する従来の技術に勝るいくつかの利点をもたらし得る。従来の技術とは異なり、本開示のMVC拡張記述子の構文エレメントおよびセマンティクスは、不連続ビュー順序インデックス値の使用を可能にし、そのため、MVCに適合し、また不連続であるビュー順序インデックス値を持つビットストリームもしくはサブビットストリームをサポートすることが可能になる。本開示は、デコードを成功させるためにMVCサブビットストリームが他のビューに依存しているとデコーダが判定することを可能にする、信号によりビューエンハンスメント(view enhancement)を伝達するための階層記述子も提案する。
信号特性のサポートを改善するために、提案されているMVC拡張記述子で信号により知らされるようなビュー順序インデックス値は、適宜、不連続であることができる。さらに、ビュー順序インデックス値またはview_id値は、MVC拡張記述子で信号により知らせることができる。
代替として、アクティブな従来のシーケンスパラメータセット(SPS)MVC拡張において定義されているビュー順序を修正することによって、適合しているMVCビットストリームのビューのビュー順序インデックス値を連続するビュー順序インデックス値に、このMVCサブビットストリームが多重化される前にマッピングする、ビュー順序インデックス再マッピングメカニズムが使用され得る。このようなメカニズムにおいて、従来のMVC拡張記述子は、ビュー順序インデックスではなくビューIDを信号により伝達するために使用され、したがって、エンコーダは、異なるビューIDを有するものとしてビューをエンコードするように再構成され、デコーダは、再構成されたエンコード順序に従って、従来のMVC拡張記述子を異なる形で解釈するように再構成され得る。例えば、それぞれビュー順序インデックス0と1と2とを有するview_id 0と1と2とを持つ3つのビューがあると仮定する。サービスは、ビュー0とビュー2のみを必要とするとさらに仮定する。エンコーダは、ビューID 0、2、1に対応する順序でビューをエンコードすることができ、従来のSPS MVC拡張記述子は、0、2、1の順序でview_id値を信号により伝達するために使用され得る。この方法により、ビュー2は、1のビュー順序インデックスを有し、したがってビュー0とビュー2の組み合わせは連続するビュー順序インデックスを有する。
それに加えて、MVCのAVCビデオサブビットストリームが存在するときにプレフィックスNALユニットの複製を回避するために、本開示では、プレフィックスMVCサブビットストリームが定義されなければならないことといくつかの例ではそのようなプレフィックスMVCサブビットストリームが、少なくとも1つのMVCサブビットストリームがあるときに含まれることも提案する。さらに、本開示では、ベースビューに属す、MVC特有のSEIメッセージ、つまり、AVC仕様書の付録Hにおいて定義されているSEIメッセージ、またはMVCビットストリームのすべてのビューに適用されるMVC SEIメッセージは、この「プレフィックスMVCサブビットストリーム」内で関連付けられ、これが格納サイズまたは帯域幅の最適化に関して効率的な格納およびトランスポートを可能にすることを提案している。本開示は、同じ考え方が、「Amendment 3 of Information technology−Generic coding of moving pictures and associated audio information: Systems」(本開示では「MPEG−2システム」または「MPEG−2システム規格」として参照されている)とも称される、MPEG−2システム上のスケーラブルなビデオのトランスポートにも適用できることも提案している。
マルチプレクサ30が、受信されたデータからNALユニットおよび/またはアクセスユニットをアセンブルした後、マルチプレクサ30は出力するためユニットを出力インターフェース32に受け渡す。出力インターフェース32は、例えば、送信機、トランシーバ、データを例えば光学式ドライブ、磁気媒体ドライブ(例えば、フロッピー(登録商標)ドライブ)などのコンピュータ可読媒体に書き込むためのデバイス、ユニバーサルシリアルバス(USB)ポート、ネットワークインターフェース、または他の出力インターフェースを備えることができる。出力インターフェース32は、NALユニットまたはアクセスユニットを、例えば送信信号、磁気媒体、光媒体、メモリ、フラッシュドライブ、または他のコンピュータ可読媒体などのコンピュータ可読媒体34に出力する。
最終的に、入力インターフェース36が、コンピュータ可読媒体34からデータを取り出す。入力インターフェース36は、例えば、光学式ドライブ、磁気媒体ドライブ、USBポート、受信機、トランシーバ、または他のコンピュータ可読媒体インターフェースを備えることができる。入力インターフェース36は、NALユニットまたはアクセスユニットをデマルチプレクサ38に送ることができる。デマルチプレクサ38は、トランスポートストリームまたはプログラムストリームを構成要素のPESストリームに逆多重化し、PESストリームを逆パケット化してエンコードされたデータを取り出し、エンコードされたデータがオーディオもしくはビデオストリームであるかどうかに応じて、例えばストリームのPESパケットヘッダによる指示に従って、エンコードされたデータをオーディオデコーダ46もしくはビデオデコーダ48のいずれかに送ることができる。オーディオデコーダ46は、エンコードされたオーディオデータをデコードして、デコードされたオーディオデータをオーディオ出力42に送り、ビデオデコーダ48は、エンコードされたビデオデータをデコードして、1つのストリームの複数のビューを含んでいる可能性のある、デコードされたビデオデータをビデオ出力44に送る。ビデオ出力44は、1つのシーンの複数のビューを使用するディスプレイ、例えば、シーンのそれぞれのビューを同時に提示する立体視または裸眼立体視ディスプレイを備えることができる。
それに加えて、デマルチプレクサ38は、例えば埋め込みサブビットストリームの少なくとも1つのビューが埋め込みサブビットストリームが埋め込まれているプライマリサブビットストリームのビューのビュー順序インデックスより小さいビュー順序インデックスを持つビューを有するときにストリームのビュー順序インデックスが厳密に昇順になっているように1つまたは複数のサブビットストリームのビューの順序を変更することができる。この方法では、A/Vデスティネーションデバイス40は、受信されたビットストリームからMVC規格準拠のビットストリームを生成するデマルチプレクサを備える装置に対応することができる。
図2は、マルチプレクサ30(図1)のコンポーネントの例示的な配置構成を示すブロック図である。図2の例では、マルチプレクサ30は、ストリーム管理ユニット60とビデオ入力インターフェース80とオーディオ入力インターフェース82と多重化ストリーム出力インターフェース84とプログラム特定情報テーブル88とを備える。ストリーム管理ユニット60は、NALユニットコンストラクタ62とPMTコンストラクタ64とストリーム識別子(ストリームID)ルックアップユニット66とプログラム識別子(PID)割り当てユニット68とを備える。
図2の例では、ビデオ入力インターフェース80およびオーディオ入力インターフェース82は、エンコードされたビデオデータとエンコードされたオーディオデータとからPESユニットを形成するために各パケタイザーを備える。他の例では、ビデオおよび/またはオーディオパケタイザーは、マルチプレクサ30の外部に存在しているものとしてよい。図2の例に関して、ビデオ入力インターフェース80は、ビデオエンコーダ28から受信されたエンコードされたビデオデータからPESパケットを形成することができ、オーディオ入力インターフェース82は、オーディオエンコーダ26から受信されたエンコードされたオーディオデータからPESパケットを形成することができる。
ストリーム管理ユニット60は、ビデオ入力インターフェース80とオーディオ入力インターフェース82とからPESパケットを受信する。それぞれのPESパケットは、PESパケットが属すエレメンタリストリームを識別するストリームIDを含む。ストリームIDルックアップユニット66は、プログラム特定情報テーブル88にクエリを実行することによってPESパケットが対応するプログラムを判定することができる。すなわち、ストリームIDルックアップユニット66は、受信されたPESパケットがどのプログラムに対応するかを判定することができるということである。それぞれのプログラムは、複数のエレメンタリストリームを備えることができるが、一般に、1つのエレメンタリストリームはただ1つのプログラムに対応する。しかし、いくつかの例では、エレメンタリストリームは、複数のプログラムに含まれ得る。さまざまなサービスがそれぞれ利用可能なオーディオおよびビデオストリームのさまざまな部分集合を含むことができるので、それぞれのPESパケットはマルチプレクサ30から出力された複数のストリームに含まれ得る。したがって、ストリームIDルックアップユニット66は、PESパケットが1つまたは複数の出力ストリーム(例えば、1つまたは複数のトランスポートまたはプログラムストリーム)に含まれていなければならないかどうか、特にPESパケットを出力ストリームのうちのどれに含めるかを決定することができる。
一例では、それぞれのエレメンタリストリームは1つのプログラムに対応する。マルチプレクサ30は、それぞれのエレメンタリストリームが特定のプログラムに、したがってプログラムID(PID)に関連付けられていることを確認する役割を持つ。マルチプレクサ30によって認識されないストリームID(例えば、プログラム特定情報テーブル88に格納されていないストリームID)を含むPESパケットが受信された場合、PID割り当てユニット68は、新規ストリームIDを未使用のPIDに関連付けるためにプログラム特定情報テーブル88内に1つまたは複数の新規エントリを作成する。
PESパケットが対応するプログラムを決定した後、NALユニットコンストラクタ62は、例えば、PESパケットのストリームIDが対応するプログラムのPIDを含む、NALユニットヘッダでPESパケットをカプセル化することによって、PESパケットを備えるNALユニットを形成する。いくつかの例では、NALユニットコンストラクタ62、またはストリーム管理ユニット60の別のサブユニットが、複数のNALユニットを備えるアクセスユニットを形成することができる。
PMTコンストラクタ64は、プログラム特定情報テーブル88からの情報を使用してマルチプレクサ30の対応する出力ストリームに対するプログラムマップテーブル(PMT)を作成する。別の例では、ストリーム管理ユニット60は、マルチプレクサ30によって出力されたプログラムストリームに対するプログラムストリームマップを作成するためのPSMコンストラクタを備えることができる。いくつかの例では、マルチプレクサ30は、PMTコンストラクタ64とPSMコンストラクタの両方を備え、トランスポートストリームとプログラムストリームのいずれかまたは両方を出力することができる。図2の例では、PMTコンストラクタ64は、本開示によって規定されている記述子、例えば、MVCエンハンスメント記述子(enhancement descriptor)と階層記述子、さらにはPMTに対する他の必要な記述子とPMTデータを含む、PMTを構成することができる。PMTコンストラクタ64は、定期的に、例えば、一定期間後または一定量のデータが送信された後、トランスポートストリームに対する後続のPMTを送ることができる。PMTコンストラクタ64は、例えば、対応するPIDを含む、対応するNALユニットヘッダでPMTをカプセル化することによって、PMTを備えるNALユニットを形成するために作成されたPMTをNALユニットコンストラクタ62に受け渡すことができる。
多重化ストリーム出力インターフェース84は、ストリーム管理ユニット60から1つまたは複数のNALユニットおよび/またはアクセスユニット、例えば、PESパケット(例えば、オーディオもしくはビデオデータ)を備えるNALユニットおよび/またはPMTを備えるNALユニットを受信することができる。いくつかの例では、多重化ストリーム出力インターフェース84は、ストリーム管理ユニット60からNALユニットが受信された後、共通の時間位置に対応する1つまたは複数のNALユニットからアクセスユニットを形成することができる。多重化ストリーム出力インターフェース84は、対応するトランスポートストリームまたはプログラムストリームで出力としてNALユニットまたはアクセスユニットを送信する。
図3は、例示的な一組のプログラム特定情報テーブル88を示すブロック図である。トランスポートパケットが属すエレメンタリストリームは、トランスポートパケットのPID値に基づいて決定され得る。デコーダが受信されたデータを適切にデコードするために、デコーダはどのエレメンタリストリームがそれぞれのプログラムに対応するのかを決定することができる必要がある。プログラム特定情報テーブル88に含まれるようなプログラム特定情報は、プログラムとコンポーネントエレメンタリストリームとの間の関係を明示的に指定することができる。図3の例では、プログラム特定情報テーブル88は、ネットワーク情報テーブル100と条件付きアクセステーブル102とプログラムアクセステーブル104とプログラムマップテーブル106とを含む。図3の例については、出力ストリームがMPEG−2トランスポートストリームを備えることが仮定される。代替的な例において、出力ストリームはプログラムストリームを備えることができ、その場合、プログラムマップテーブル106はプログラムストリームマップで置き換えられ得る。
MPEG−2システム仕様書では、トランスポートストリームで伝送されるすべてのプログラムは、それに関連付けられている、プログラムマップテーブル106などのプログラムマップケーブルを有することを指定している。プログラムマップテーブル106は、プログラムとプログラムが含むエレメンタリストリームに関する詳細を含むことができる。一例として、プログラム番号3で識別されるプログラムは、PID 33を持つビデオエレメンタリストリームとPID 57を持つ英語オーディオストリームとPID 60を持つ中国語オーディオストリームとを含むことができる。PMTが複数のプログラムを含むことは許容される。
MPEG−2システム仕様書によって指定されている基本プログラムマップテーブルは、MPEG−2システム仕様の範囲内で指定されている、多くの記述子のうちのいくつかの記述子、例えば、記述子108で修飾することができる。記述子108は、MPEG−2システム仕様の指定された記述子のどれか、または全部を含むことができる。一般に、記述子108などの記述子は、プログラムまたはそのコンポーネントエレメンタリストリームに関するさらなる情報を伝達するものである。これらの記述子は、ビデオエンコードパラメータ、オーディオエンコードパラメータ、言語識別、パンアンドスキャン情報、条件付きアクセス詳細、著作権情報、または他のそのような情報を含み得る。放送局または他のユーザーが、追加のプライベート記述子を定義することができる。
一実施形態によれば、不連続のビュー順序インデックスがトランスポートストリームまたはプログラムストリームなどの出力ストリームで伝送できるようにするため、2つの記述子が使用され得る。図2に示されているように、本開示の2つの記述子は、MVC拡張記述子110と階層記述子112とを含む。ビデオ関係コンポーネントエレメンタリストリームには、階層符号化されたビデオ、オーディオ、およびプライベートストリームのコンポーネントを含むプログラムエレメントを識別するための情報を提供する、階層記述子もある。
マルチプレクサ30の出力がプログラムストリームを備える例では、プログラム特定情報テーブル88がプログラムストリームマップ(PSM)を格納することができる。PSMは、対応するプログラムストリーム内のエレメンタリストリームとエレメンタリストリーム同士の間の関係の記述を提供することができる。いくつかの例では、プログラムストリームマップは、トランスポートストリームにも対応することができる。対応するトランスポートストリームで伝送される場合、PSM構造体は修正してはならない。マルチプレクサ30は、PSMがPESパケット内に存在することを、PESパケットのstream_id値を、2進数値10111100、または10進数値188に対応する、0xBC、つまり、16進数値BCに設定することによって指示することができる。
マルチプレクサ30は、プログラム関連付けテーブル104内にトランスポートストリームにおいて利用可能なすべてのプログラムの完全なリストを保持する。マルチプレクサ30は、NALユニット内にプログラム関連付けテーブルを埋め込むこともできる。マルチプレクサ30は、NALユニットがプログラム関連付けテーブルを含むことを、NALユニットを0のPID値に割り当てることによって指示することができる。マルチプレクサ30は、プログラム関連付けテーブル104内に、対応するプログラムマップテーブルを格納するトランスポートパケットのPID値とともに、それぞれのプログラムをリストすることができる。上述の同じ例を使用すると、プログラム番号3のエレメンタリストリームを指定する例示的なプログラムマップテーブルは1001のPIDを有し、別のPMTは1002の別のPIDを有する。この情報の集合は、プログラム関連付けテーブル104内に収めることができる。
ネットワーク情報テーブル(NIT)および条件付きアクセステーブル(CAT):PATで指定された、プログラム番号0は特別な意味を持つ。特に、プログラム番号0は、ネットワーク情報テーブルへの道筋を示すために使用される。テーブルはオプションであり、存在する場合、チャネル周波数、衛星トランスポンダの詳細、変調特性、サービスオリジネーター(service originator)、サービス名、および利用可能な代替的ネットワークの詳細などのトランスポートストリームを伝送する物理的ネットワークに関する情報を提供することが意図されている。
トランスポートストリーム内のエレメンタリストリームがスクランブルされる場合、条件付きアクセステーブルが存在していなければならない。このテーブルは、使用中のスクランブリングシステム(複数可)の詳細を示し、また条件付きアクセス管理および権利情報を格納しているトランスポートパケットのPID値を示す。この情報のフォーマットは、MPEG−2の範囲内では指定されていない。
図4は、MVC拡張記述子110に含まれ得る例示的な一組のデータを示すブロック図である。図4の例では、MVC拡張記述子110は、記述子タグフィールド120と記述子長フィールド122と平均ビットレートフィールド124と最大ビットレートフィールド126と予約済みフィールド128と時間識別子(ID)開始フィールド130と時間ID終了フィールド132と付加拡張情報(SEI)NALユニット非存在フィード134と1つまたは複数のビュー順序インデックスフィールド136と1つまたは複数の予約トレーリングビットフィールド138とを備える。MVC拡張記述子110は、MVCサブビットストリームに対応する、動作ポイントも指定する。以下のMVC拡張記述子110のフィールドのビット深度は、MVC拡張記述子の1つの例に対応している。他の例は、他のビット深度、値、または範囲を含み、対応するビットストリームまたはサブビットストリームに含まれるそれぞれのビューのそれぞれのビュー順序インデックスを信号により個別に伝達することができる。
記述子タグフィールド120は、記述子を特に識別するためにMPEG−2システム規格によって規定されているようなすべての記述子に含まれる8ビット記述子タグフィールドに対応する。MPEG−2システム規格では、いくつかの記述子タグを定義し、記述子タグ値、例えば、値36から63に「予約済み」のマークを付ける。本開示の技術では、MPEG−2システム仕様書において指定されているような予約済み記述子タグのうちの1つに対応するMVC拡張記述子110から「49」に対する記述子タグフィールド120の値を設定することを提案している。
記述子長フィールド122は、MPEG−2システム規格によって規定されているようなすべての記述子にも含まれる8ビット記述子長フィールドに対応する。マルチプレクサ30は、記述子長フィールド122の値を記述子長フィールド122の直後のMVC拡張記述子110のバイトの個数に等しくなるように設定することができる。MVC拡張記述子110は、例えば、MVC拡張記述子110の特定のインスタンスに含まれるビュー順序インデックス136の数に基づき可変長を備えることができるため、マルチプレクサ30は、MVC拡張記述子110のインスタンスのサイズを計算し、しかるべく記述子のインスタンスの記述子長フィールド122の値を指定する。
平均ビットレートフィールド124は、再アセンブルされたAVCビデオストリームの、毎秒キロビットを単位とする、平均ビットレートを示す16ビットフィールドを備える。つまり、平均ビットレートフィールド124は、MVC拡張記述子110が対応するトランスポートストリームまたはプログラムストリームの構成要素である部分からビデオストリームがアセンブルされたときのビデオストリームの平均ビットレートを記述する。いくつかの例では、マルチプレクサ30は、平均ビットレートフィールド124の値をゼロに設定し、平均ビットレートがMVC拡張記述子110によって指示されていないことを示す。
最大ビットレートフィールド126は、再アセンブルされたAVCビデオストリームの、毎秒キロビットを単位とする、最大ビットレートを示す16ビットフィールドを備える。つまり、最大ビットレートフィールド126は、MVC拡張記述子110が対応するトランスポートストリームまたはプログラムストリームの構成要素である部分からビデオストリームがアセンブルされたときのビデオストリームの最大ビットレートを記述する。いくつかの例では、マルチプレクサ30は、最大ビットレートフィールド126の値をゼロに設定し、最大ビットレートがMVC拡張記述子110によって指示されていないことを示す。
時間ID開始フィールド130は、関連付けられているMVCビデオサブビットストリーム内に含まれるすべてのNALユニットのNALユニットヘッダ構文エレメントのtemporal_idの最小値を示す3ビットフィールドを備える。つまり、時間ID値は、それぞれのNALユニットに対するヘッダ内に含まれる。一般に、時間ID値は特定のフレームレートに対応し、比較的大きな時間ID値はより高いフレームレートに対応している。例えば、時間IDに対する「0」の値は、毎秒15フレーム(fps)のフレームレートに対応し、時間IDに対する「1」の値は、30fpsのフレームレートに対応し得る。この方法で、15fpsのフレームレートを有するビデオセグメントを形成するために、この例では0の時間IDを有するすべてのピクチャーを集めて1つの集合にすることが使用されるが、30fpsのフレームレートを有する異なるビデオセグメントを形成するために、0の時間IDを有するすべてのピクチャーと1の時間IDを有するすべてのピクチャーを集めて異なる1つの集合にすることが使用され得る。マルチプレクサ30は、MVCビデオサブビットストリームのNALユニットのすべての最小の時間IDを決定し、時間ID開始フィールド130の値をこの決定された最小の時間ID値に等しくなるように設定する。
時間ID終了フィールド132は、関連付けられているMVCビデオサブビットストリーム内に含まれるすべてのNALユニットのNALユニットヘッダ構文エレメントの時間IDの最大値を示す3ビットフィールドを備える。したがって、マルチプレクサ30は、MVCビデオサブビットストリームのNALユニットのすべての最大の時間IDを決定し、時間ID開始フィールド130の値をこの決定された最大の時間ID値に等しくなるように設定する。
SEI NALユニット非存在フィールド134は、「1」に設定されているときに、付加拡張情報NALユニットが関連付けられているビデオサブビットストリーム内に存在していないことを示す1ビットフラグを備えている。マルチプレクサ30は、1つまたは複数の付加拡張情報NALユニットがストリームの中に配置されているかどうかを判定し、SEI NALユニットがビットストリーム内にないときにSEI NALユニット非存在フィールド134の値を値「1」に設定することができるが、少なくとも1つのSEI NALユニットがビットストリーム内に存在しているときにはSEI NALユニット非存在フィールド134の値を「0」の値に設定することができる。
一態様では、本開示の技術では、以下の表1に示されているようなループを使用して表される、1つまたは複数のビュー順序インデックスフィールド136を含むように従来のMVC拡張記述子を修正することを説明している。ビュー順序インデックスフィールド136のそれぞれ1つのフィールドは、関連付けられているMVCビデオサブビットストリーム内に含まれるNALユニットのうちの対応する1つのNALユニットのビュー順序インデックスの値を示す10ビットフィールドを備える。マルチプレクサ30は、MVCビデオサブビットストリームに含まれるビューのビュー順序インデックスに応じてビュー順序インデックスフィールド136の値を設定することができる。さらに、ビュー順序インデックスフィールド136の値は、昇順で信号により伝達され得る。この方法で、MVC拡張記述子110は、MVCビデオサブビットストリームに含まれるビューの不連続のビュー順序インデックスを記述することができる。
図4の例では、MVC拡張記述子110は、予約済みトレーリングビットフィールド138も備える。本開示では、これらの値が必ず使用されるべき方法を指定することなく将来の目的のためにこれらのビットを予約することを説明している。さまざまな例において、予約済みトレーリングビットは、MVC拡張記述子110のビットの単一の連続する予約済みセグメントとして、または複数の個別ビットにわたるループとして表され得る。
以下の表1では、本開示のMVC拡張記述子110の構文エレメントを説明している。表1は、構文エレメント毎に、構文エレメントを表すために使用されるビットの数と構文エレメントに対する型を示すニーモニックも説明している。このビットの数は、MVC拡張記述子110が符号化ビットストリームで送信されるときに対応する構文エレメントに割り当てられるビットの数に対応している。ニーモニックは、符号化ビットストリーム内で使用される異なるデータ型を記述するためにMPEG−2システム規格において使用される。本開示で使用されるニーモニックとしては、MPEG−2システム規格において最上位ビットを先頭にした符号なし整数として定義される「uimsbf」およびMPEG−2システム規格において左ビットを先頭にしたビット列として定義される「bslbf」があるが、ただし、「左」はMPEG−2システム規格においてビット列が書かれる順序で左である。表1の例における構文エレメントのそれぞれは、MVC拡張記述子110に関して説明されている構文エレメントのうちの各1つの構文エレメントに対応する。特に、本開示では、プログラムストリームまたはトランスポートストリームのそれぞれのビューに対するビュー順序インデックスを特に信号により伝達するため表1の「for」ループを用意している。この方法で、表1のMVC拡張記述子内の「for」ループは、対応するMPEG−2システム規格のビットストリームが第1のビュー順序インデックスに関連付けられているシーンの第1のビューと第2のビュー順序インデックスに関連付けられているシーンの第2のビューとを備え、第1のビュー順序インデックスおよび第2のビュー順序インデックスが不連続であることを信号により伝達するために使用され得る。
Figure 0005450810
別の例では、予約済みトレーリングビットが、代わりに、個別に信号により伝達され得る。以下の表2は、予約済みトレーリングビットのそれぞれを個別に信号により伝達する例示的なMVC拡張記述子を示している。
Figure 0005450810
図5は、階層記述子112に含まれ得る例示的な一組のデータを示すブロック図である。図5の例では、階層記述子112は、記述子タグフィールド150と、記述子長フィールド152と、ビューエンハンスメントフラグフィールド154と、時間スケーラビリティフラグフィールド156と、空間スケーラビリティフラグフィールド158と、品質スケーラビリティフラグフィールド160と、階層タイプフィールド162と、予約済みフィールド164と、階層層インデックスフィールド166と、TREF存在フラグフィールド168と、予約済みフィールド170と、階層埋め込み層インデックスフィールド172と、予約済みフィールド174と、階層チャネルフィールド176とを含む。信号伝達、ビュースケーラビリティおよび/またはビュー依存関係を改善するために、本開示の技術は、関連付けられているプログラムエレメントがhierarchy_embedded_layer_indexによって参照されているプログラムエレメントの結果として得られるビットストリームのビューの数を増やすかどうかを示す1つのフラグが、階層記述子において信号により伝達されることを提供することができる。
上記のように、MPEG−2システム仕様書では、それぞれの記述子が記述子タグフィールドと記述子長フィールドとを含むことを指定している。したがって、階層記述子112は、記述子タグフィールド150と記述子長フィールド152とを含む。MPEG−2システム仕様によれば、マルチプレクサ30は、階層記述子112について記述子タグフィールド150の値を「4」の値に設定することができる。
階層記述子112のそれぞれのインスタンスは同じ量のデータを含んでいなければならないため、階層記述子112の長さはアプリオリに決定され得る。一例では、以下の表3に関して、マルチプレクサ30は、記述子長フィールド152の値を、記述子長フィールド152の末尾の後の階層記述子112のインスタンス内のビットの数を示す32という値に設定することができる。
本開示の技術では、ビューエンハンスメントフラグフィールド154を従来の階層記述子に追加することを提案している。本開示の技術によれば、ビューエンハンスメントフラグフィールド154は、「0」に設定された場合に関連付けられているプログラムエレメントが階層埋め込み層インデックスによって参照されているプログラムエレメントから結果として得られるビットストリームのビューの数を増やすことを示す1ビットフラグを備えることができる。本開示の技術では、ビューエンハンスメントフラグフィールド154に対して「1」の値を予約することも提案する。
階層タイプフィールド162は、関連付けられている階層層とその階層埋め込み層との間の階層関係を記述する。一例では、マルチプレクサ30は、例えば以下の表4で説明されているような階層関係に基づき階層タイプフィールド162の値を設定する。一例として、スケーラビリティが複数の次元において適用される場合、マルチプレクサ30は、階層タイプフィールド162を「8」の値(表4に示されているような「組み合わせスケーラビリティ」)に設定することができ、マルチプレクサ30は、各ストリームのPESパケットおよびPESパケットヘッダから取り出されたデータに応じて時間スケーラビリティフラグフィールド156と空間スケーラビリティフラグフィールド158と品質スケーラビリティフラグフィールド160の値を設定する。一般に、マルチプレクサ30は、さまざまなビューおよび/またはオーディオデータストリームに応じて異なるストリーム間の依存関係を判定することができる。マルチプレクサ30は、エンハンスメント層を備える依存ストリームが空間層であるか、信号対雑音比(SNR)エンハンスメント層であるか、品質エンハンスメント層であるか、または別のタイプのエンハンスメント層であるかを判定することもできる。
別の例として、MVCビデオサブビットストリームについては、マルチプレクサ30は、階層タイプフィールド162を「9」の値(表4に示されているような「MVC」)に設定することができ、またスケーラビリティフラグフィールド156と空間スケーラビリティフラグフィールド158と品質スケーラビリティフラグフィールド160のそれぞれの値を「1」に設定することができる。さらに別の例として、MVCベースビューサブビットストリームについては、マルチプレクサ30は、階層タイプフィールド162の値を「15」の値に設定することができ、またスケーラビリティフラグフィールド156と空間スケーラビリティフラグフィールド158と品質スケーラビリティフラグフィールド160の値を「1」に設定することができる。さらに別の例として、プレフィックスMVCサブビットストリームについては、マルチプレクサ30は、階層タイプフィールド162を「14」の値に設定することができ、またスケーラビリティフラグフィールド156と空間スケーラビリティフラグフィールド158と品質スケーラビリティフラグフィールド160を「1」に設定することができる。
階層層インデックスフィールド166は、符号化層階層のテーブル内の関連付けられているプログラムエレメントの一意的なインデックスを定義する6ビットフィールドを備えることができる。インデックスは、単一のプログラム定義の範囲内では一意であることができる。ITU−T Rec. H.264|ISO/IEC 14496−10の付録Gで定義されている1つまたは複数のプロファイルに適合するAVCビデオストリームのビデオサブビットストリームについては、これは、同じアクセスユニットのビデオサブビットストリームの関連付けられているSVC依存関係表現がhierarchy_layer_indexの昇順で再アセンブルされる場合にビットストリーム順序が正しいものとなるように割り当てられている、プログラムエレメントインデックスである。ITU−T Rec. H.264|ISO/IEC 14496−10の付録Hで定義されている1つまたは複数のプロファイルに適合するAVCビデオストリームのMVCビデオサブビットストリームについては、これは、これらの値のどれかがプレフィックスMVCサブビットストリームに対する階層記述子において指定されているhierarchy_layer_index値より大きいものとなるように割り当てられている、プログラムエレメントインデックスである。
階層埋め込み層インデックスフィールド172は、階層記述子112の対応するインスタンスに関連付けられているエレメンタリストリームのデコード前にアクセスされる必要のあるプログラムエレメントの階層テーブルインデックスを定義する6ビットフィールドを備えることができる。本開示では、階層埋め込み層インデックスフィールド172に対する値を、階層タイプフィールド162が15の値(つまり、ベース層に対応する値)を有する場合に対して未定義のままにしておく。
階層チャネルフィールド176は、順序付けられた一組の送信チャネルにおける関連付けられているプログラムエレメントに対する意図されたチャネル数を示す6ビットフィールドを備えることができる。最もロバストな送信チャネルは、全体的な送信階層定義に関して、階層チャネルフィールド176の最低値によって定義される。与えられた階層チャネルは同時に複数のプログラムエレメントに割り当てられる可能性のあることに留意されたい。
予約済みフィールド164、170、および174は、将来の規格策定により将来使用するために予約されている。本開示の技術は、この時点では、セマンティクス上の意味を予約済みフィールド164、170、および174の値に割り当てることを提案していない。
タイムスタンプ参照(TREF)存在フラグフィールド168は、TREFフィールドが対応するPESパケットヘッダ内に存在しているかどうかを示す1ビットフィールドである。PESパケット内のTREFフィールドは、3つの個別フィールドに符号化された33ビット数である。TREFフィールドは、対応するエレメンタリストリームn内の同じj番目のアクセスユニットのPESヘッダのPTSによる、DTSによって示されるようなシステムターゲットデコーダ内の、またはDTSが存在しない場合の、デコード時間値を示す。
以下の表3では、本開示の階層記述子112の構文エレメントを説明している。表3には、構文エレメント毎に、構文エレメントを表すために使用されるビットの数と構文エレメントに対する型を示すニーモニックも掲載している。このビットの数は、階層記述子112が符号化ビットストリームで送信されるときに対応する構文エレメントに割り当てられるビットの数に対応している。ニーモニックは、符号化ビットストリーム内で使用される異なるデータ型を記述するためにMPEG−2システム規格において使用される。本開示で使用されるニーモニックとしては、MPEG−2システム規格において最上位ビットを先頭にした符号なし整数として定義される「uimsbf」およびMPEG−2システム規格において左ビットを先頭にしたビット列として定義される「bslbf」があるが、ただし、「左」はMPEG−2システム規格においてビット列が書かれる順序で左である。表3の例における構文エレメントのそれぞれは、階層記述子112に関して説明されている構文エレメントのうちの各1つの構文エレメントに対応する。
Figure 0005450810
以下の表4は、階層記述子112の階層タイプフィールド162に対するさまざまな潜在的な値、さらにはそれぞれの値に対する意味も説明している。本開示では、対応するビットストリームの記述として「プレフィックスMVCサブビットストリーム」の説明を備える、階層タイプフィールド162に対して「14」の潜在的な値を追加することを提案する。本開示の技術では、nal_unit_type(つまり、NALユニットの型値)が20に等しいすべてのプレフィックスNALユニットとMVCのAVCビデオサブビットストリームで再アセンブルされた後に、ITU−T Rec. H.264|ISO/IEC 14496−10の付録Hにおいて定義されている1つまたは複数のプロファイルに適合する関連付けられている非VCL NALユニットとを備えるようにプレフィックスMVCサブビットストリームを定義する。本開示の技術では、MVCのAVCビデオサブビットストリームが存在しているときに、プレフィックスMVCサブビットストリームも存在するものとすることも提案する。
Figure 0005450810
いくつかの例では、階層記述子112は、インクリメンタルサブビットストリーム(incremental sub-bitstream)と埋め込みサブビットストリームとによって信号により伝達されるMVCサブビットストリームを信号により伝達するために使用され得る。埋め込みサブビットストリームは、hierarchy_embedded_layer_indexに対応する直接的従属サブビットストリームとこの直接的従属サブビットストリームのすべての埋め込みサブビットストリームとを含む。本開示では、明示的に含まれるビューは、エンハンスビューと称され、埋め込まれているビューは、従属ビューと称される。
図6は、例示的なMVC予測パターンを示す概念図である。図6の例では、8つのビュー(「S0」から「S7」までのビューIDを有する)が示され、12個の時間位置(「T0」から「T11」まで)がそれぞれのビューについて示されている。つまり、図6内のそれぞれの行は1つのビューに対応し、それぞれの列は時間位置を示す。
MVCは、H.264/AVCによってデコード可能ないわゆるベースビューを有し、立体視ビューペアは、MVCによってもサポートされ得るが、MVCの利点は、2つより多いビューを3Dビデオ入力として使用し、複数のビューによって表現されるこの3Dビデオをデコードする例をサポートすることが可能であるという点である。MVCデコーダを有するクライアントのレンダラーは、複数のビューを含む3Dビデオコンテンツを予期し得る。
図6のフレームは、文字を含む陰影付きブロックを使用して図6内のそれぞれの行およびそれぞれの列の指示のところに示されており、対応するフレームがイントラ符号化されているか(つまり、Iフレーム)、または一方向に(つまり、Pフレームとして)もしくは複数の方向に(つまり、Bフレームとして)インター符号化されているかを指定する。一般に、予測は矢印で示され、指示先のフレームは予測参照に指示元のオブジェクトを使用する。例えば、時間位置T0のビューS2のPフレームは、時間位置T0のビューS0のIフレームから予測される。
単一ビュービデオエンコードと同様に、マルチビュービデオ符号化ビデオシーケンスのフレームは、異なる時間位置にあるフレームに関して予測的にエンコードされ得る。例えば、時間位置T1のビューS0のbフレームは、時間位置T0のビューS0のIフレームからそれを指す矢印を有し、bフレームがIフレームから予測されることを示す。しかし、それに加えて、マルチビュービデオエンコードに関連して、フレームはビュー間予測され得る。つまり、ビューコンポーネントは、参照のため他のビュー内のビューコンポーネントを使用することができる。例えば、MVCでは、ビュー間予測は、別のビュー内のビューコンポーネントがインター予測参照であるかのように実現される。潜在的なビュー間参照は、シーケンスパラメータセット(SPS)MVC拡張で信号により伝達され、インター予測またはビュー間予測参照の柔軟な順序付けを可能にする、参照ピクチャーリスト構成プロセスによって修正され得る。以下の表5は、MVC拡張シーケンスパラメータセットに対する例示的な定義をまとめたものである。
Figure 0005450810
図6は、ビュー間予測のさまざまな例を掲載している。図6の例における、ビューS1のフレームは、ビューS1の異なる時間位置におけるフレームから予測されるだけでなく、同じ時間位置におけるビューS0とS2の複数のフレームのうちのいくつかのフレームからビュー間予測されるものとして示されている。例えば、時間位置T1におけるビューS1のbフレームは、時間位置T0とT2におけるビューS1のBフレームのそれぞれ、さらには時間位置T1におけるビューS0とS2のbフレームから予測される。
図6の例では、大文字「B」および小文字「b」は、フレーム間の異なる階層関係を示すことが意図されており、異なるエンコード方法を示すことは意図されていない。一般に、大文字「B」フレームは、小文字「b」フレームに比べて予測階層内で比較的高いレベルにある。図6は、異なるレベルの陰影を使用して予測階層の変動も示しており、陰影が大きい(つまり、比較的暗い)フレームほど、陰影の小さい(つまり、比較的明るい)フレームに比べて予測階層内で高いレベルにある。例えば、図6のすべてのIフレームは100%の濃さの陰影で示されているが、Pフレームは幾分明るい陰影を有し、Bフレーム(および小文字のbフレーム)は、互いに関してさまざまなレベルの陰影を有するが、PフレームとIフレームの陰影に比べて常に明るい。
一般に、予測階層は、予測階層内で比較的高いフレームが階層内で比較的低いフレームをデコードする前にデコードされなければならないという点で、ビュー順序インデックスに関係しており、階層内で比較的高いフレームが階層内で比較的低いフレームのデコード中に基準フレームとして使用され得る。ビュー順序インデックスは、アクセスユニット内の対応するビューコンポーネントのデコード順序を示すインデックスである。ビュー順序インデックスは、H.264/AVC(MVC改訂)の付録Hで指定されているように、SPS MVC拡張に暗示されている。SPSでは、それぞれのインデックスiについて、対応するview_idが信号により伝達される。ビューコンポーネントのデコードは、ビュー順序インデックスの昇順に従うものとする。すべてのビューが提示された場合、ビュー順序インデックスは、0からnum_views_minus_1までの連続する順序で並ぶ。
この方法で、基準フレームとして使用されるフレームは、基準フレームを参照しつつエンコードされたフレームをデコードする前にデコードされ得る。ビュー順序インデックスは、アクセスユニット内のビューコンポーネントのデコード順序を示すインデックスである。それぞれのビュー順序インデックスiについて、対応するview_idが信号により伝達される。ビューコンポーネントのデコードは、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスの集合は、ゼロからビューの全数−1まで連続的に順序付けられた集合を備える。
階層の等しいレベルにおけるいくつかのフレームについて、デコード順序は、互いに関して問題にならないものとすることができる。例えば、時間位置T0におけるビューS0のIフレームは、時間位置T0におけるビューS2のPフレームに対する基準フレームとして使用され、次いで、このPフレームは、時間位置T0におけるビューS4のPフレームに対する基準フレームとして使用される。したがって、時間位置T0におけるビューS0のIフレームは、時間位置T0におけるビューS2のPフレームの前にデコードされなければならず、このPフレームは、時間位置T0におけるビューS4のPフレーム前にデコードされなければならない。しかし、ビューS1とS3との間では、ビューS1およびS3が予測のために互いに依存し合わず、その代わりに予測階層内で高いビューからのみ予測されるので、デコード順序は問題にならない。さらに、ビューS1は、ビューS1がビューS0とS2との後にデコードされる限り、ビューS4の前にデコードされることができる。
この方法で、S0からS7までのビューを記述するために、階層順序付けが使用され得る。記法SA>SBは、ビューSAがビューSBの前にデコードされなければならないことを意味するものとする。この表記を使用すると、図6の例では、S0>S2>S4>S6>S7となる。また、図6の例に関して、S0>S1、S2>S1、S2>S3、S4>S3、S4>S5、およびS6>S5である。これらの要件に反しないビューに対するデコード順序であればどのような順序も可能である。したがって、多くの異なるデコード順序が可能であるが、ただし、いくつかの制限はある。2つの例示的なデコード順序が以下に示されているけれども、多くの他のデコード順序も可能であることは理解されるであろう。以下の表6に示されている一例では、ビューはできる限り早くデコードされる。
Figure 0005450810
表6の例から、ビューS1はビューS0およびS2がデコードされた直後にデコードされ、ビューS3はビューS2およびS4がデコードされた直後にデコードされ、ビューS5はビューS4およびS6がデコードされた直後にデコードされ得ることがわかる。
表7は、デコード順序が別ビューの基準として使用されるビューが他のビューの基準として使用されていないビューの前にデコードされるような順序である、別の例示的なデコード順序を示している。
Figure 0005450810
表7の例からは、ビューS1、S3、S5、およびS7のフレームが他のビューのフレームに対する基準フレームとして働かない、したがって、ビューS1、S3、S5、およびS7は、基準フレームとして使用されるビュー、つまり、図6の例におけるビューS0、S2、S4、およびS6のフレームの後にデコードされることがわかる。互いに関して、ビューS1、S3、S5、およびS7は、任意の順序でデコードされ得る。したがって、表7の例では、ビューS7は、ビューS1、S3、およびS5のそれぞれの前にデコードされる。
わかりやすくするため、それぞれのビューのフレーム間の階層関係だけでなくそれぞれのビューのフレームの時間位置もあり得る。図6の例に関して、時間位置T0におけるフレームは、時間位置T0における他のビューのフレームからイントラ予測またはビュー間予測のいずれかがなされる。同様に、時間位置T8におけるフレームは、時間位置T8における他のビューのフレームからイントラ予測またはビュー間予測のいずれかがなされる。したがって、時間的階層に関して、時間位置T0およびT8は、時間階層の最上位にある。
図6の例における時間位置T4のフレームは、時間位置T0およびT8のフレームより時間階層内で低いが、それは、時間位置T4のフレームが時間位置T0およびT8のフレームに関してBエンコードされているからである。時間位置T2およびT6のフレームは、時間位置T4のフレームより時間階層において低い。最後に、時間位置T1、T3、T5、およびT7のフレームは、時間位置T2およびT6のフレームより時間階層において低い。
MVCでは、ビットストリーム全体の部分集合は、いぜんとしてMVCに適合しているサブビットストリームを形成するように抽出され得る。例えばサーバーによって提供されるサービス、1つまたは複数のクライアントのデコーダの容量とサポートと能力、および/または1つまたは複数のクライアントのユーザープリファレンスに基づき、特定の用途が必要とすると思われるサブビットストリームが多数ある可能性がある。例えば、クライアントは、3つのビューのみを必要とする可能性があり、2つのシナリオがあり得る。一例では、一方のクライアントは、スムーズな視聴体験を要求し、view_id値S0、S1、およびS2を有するビューを好む可能性があるが、他方のクライアントは、ビュースケーラビリティを要求し、view_id値S0、S2、およびS4を有するビューを好む可能性がある。元々view_idが表6の例に関して順序付けられている場合、ビュー順序インデックス値は、これら2つの例において、それぞれ、{0,1,2}および{0,1,4}である。これらのサブビットストリームの両方が、独立したMVCビットストリームとしてデコードされ、同時にサポートされ得ることに留意されたい。
図7は、不連続ビュー順序インデックスを持つビューの部分集合を有するMPEG−2システムストリームをサーバーからクライアントに送るための例示的な方法を示す流れ図である。図7の方法は、A/Vソースデバイス20とA/Vデスティネーションデバイス40とに関して、例を示すことを目的として説明されているが、他の例も図7の方法を実行できることは理解されるであろう。図7の例では、「サーバー」に帰されるアクションは、A/Vソースデバイス20によって実行され得るが、「クライアント」によって実行されるアクションは、A/Vデスティネーションデバイス40によって実行され得る。
図7の例では、A/Vソースデバイス20は、最初に、A/Vソースデバイス20によって提供されるサービスに基づきA/Vデスティネーションデバイス40に送るべき利用可能なビューの部分集合を決定する(200)。上述のように、サービスは、一般的に、ビューの選択を備える。図6の例に関して、サービスは、ビューS0、S2、およびS4を備えることができる。これらのビューのビュー順序インデックスが表6に規定されているビュー順序インデックスであると仮定すると、例えば、ビューS0、S2、およびS4に対するビュー順序インデックスは、ビュー順序インデックス0、1、および3を備えることができる。図7の方法の残りの説明では、これらのビューIDおよびビュー順序インデックスを説明目的のための例として使用する。
次いで、A/Vソースデバイス20は、サービスの提供の一部として送られるように決定されたビューに基づきプログラムマップテーブル(PMT)を用意することができる(202)。特に、マルチプレクサ30のPMTコンストラクタ64は、A/Vソースデバイス20によって提供されるサービスに対応する1つまたは複数のプログラムに対するプログラム特定情報テーブル88から取り出された情報に基づきPMTを用意することができる。本開示の技術によれば、PMTの用意は、MVC拡張記述子110と階層記述子112との生成を含む。
MVC拡張記述子110を生成するために、マルチプレクサ30のPMTコンストラクタ64が記述子タグフィールド120を「49」に等しくなるように設定する。PMTコンストラクタ64は、平均ビットレートフィールド124と最大ビットレートフィールド126と時間ID開始フィールド130と時間ID終了フィールド132とSEI NALユニット非存在フィールド1034との値を、プログラム特定情報テーブル88によって格納されているようなプログラムのプログラム特定データに従って設定する。PMTコンストラクタ64は、選択されたビューのビュー順序インデックスに応じてビュー順序インデックスフィールド136の値も設定する。上で説明されている例では、PMTコンストラクタ64は、ビュー順序インデックス0と1と3とを表す3つのビュー順序インデックスフィールド値を含む。この方法では、この例は、プログラムのビューのそれぞれのビュー順序インデックスを個別に示すMVC拡張記述子を与えるものである。さらに、ビュー順序インデックス「2」がスキップされるため、この例は、ビュー順序インデックスが不連続である例である。
階層記述子112を生成するために、PMTコンストラクタ64は、プログラム特定情報テーブル88に応じて階層記述子112のフィールドの値を設定する。本開示の技術によれば、PMTコンストラクタ64は、ビューエンハンスメントフラグフィールド154の値を、関連付けられているプログラムエレメントが階層埋め込み層インデックスフィールド172の値によって参照されているプログラムエレメントから結果として得られるビットストリームのビューの数を増やすことを示す「0」の値に設定することもできる。
PMTを生成した後、A/Vソースデバイス20は、PMTをA/Vデスティネーションデバイス40に、例えば、NALユニットの形態で、送信することができる(204)。いくつかの例では、A/Vソースデバイス20は、PMTをA/Vデスティネーションデバイス40に、例えば、所定の時間間隔が経過した後、または特定のデータ量が送られた後に、定期的に再送することができる。A/Vデスティネーションデバイス40は、PMTからのプログラム情報を、マルチプレクサ30のプログラム特定情報テーブル88を本質的ミラーリングすることができる、クライアントサイドの記憶媒体内に記録することができる(208)。例えば、デマルチプレクサ38は、マルチプレクサ30のプログラム特定情報テーブル88に類似の一組のプログラム特定情報テーブルを備えることができる。送信されたPMTなどの、プログラム特定情報を受信した後、デマルチプレクサ38がデマルチプレクサ38のプログラム特定情報テーブルを更新することができる。
次いで、マルチプレクサ30は、A/Vソースデバイス20によって提供されるサービスに関連付けられている1つまたは複数のプログラムのPESパケットを受信することができる(210)。マルチプレクサ30は、PESパケットのストリームIDについてルックアップを実行することによってA/Vデスティネーションデバイス40へのトランスポートストリーム内にPESパケットが含まれるべきであると判定することができる。PESパケットのストリームIDがトランスポートストリームに含まれるべきビューと一致した場合、マルチプレクサ30は、例えば、プログラムに対応するプログラムID(PID)でPESパケットをカプセル化することによって、PESパケットからNALユニットを形成することができる(212)。マルチプレクサ30は、複数のそのようなNALユニットからアクセスユニットを形成し(214)、アクセスユニットをA/Vデスティネーションデバイス40に送ることもできる(216)。
次いで、A/Vデスティネーションデバイス40は、例えば、アクセスユニットのPIDを参照することによって、A/Vソースデバイス20からアクセスユニットを受信し(218)、アクセスユニットをプログラムに関連付けることができる(220)。A/Vデスティネーションデバイス40のデマルチプレクサ38は、アクセスユニットを構成要素となるいくつかのNALユニットに、したがって、PESパケットに逆多重化し、これをデマルチプレクサ38が最終的にオーディオデコーダ46および/またはビデオデコーダ48に受け渡すことができる。ビデオデコーダ48は、ビューのそれぞれをデコードし、デコードされたビューを、立体視または裸眼立体視ビデオディスプレイまたは複数のビューを要求する他の表示デバイスを備えることができるビデオ出力44に送ることができる。同様に、オーディオデコーダ46はオーディオフレームをデコードしてデコードされたオーディオデータを形成し、そのオーディオデータをオーディオ出力42、例えば、スピーカーに送ることができる。この方法で、A/Vデスティネーションデバイス40は、受信されたデータをデコードし、表示することができる(222)。
図8は、2つまたはそれ以上のサブビットストリームのビューコンポーネントをアセンブルしてビューコンポーネントが大きくなるビュー順序インデックスを有するようにビットストリームを生成するための例示的な方法を示す流れ図である。この方法では、各サブビットストリームとビューコンポーネントのビューIDを参照することなくサブビットストリームに順序付けすることができる。図6の例に関して、トランスポートストリーム(またはプログラムストリーム)の第1のビットストリームは、ビューS0、S2、およびS4のビューコンポーネントを含み、トランスポートストリームの第2のサブビットストリーム(第1のサブビットストリームの埋め込みサブビットストリームに対応する)は、ビューS1およびS3のビューコンポーネントを含むと仮定する。本開示では、埋め込みサブビットストリームを「従属サブビットストリーム」と称することもできる。同様に、本開示では、従属サブビットストリームが埋め込まれているサブビットストリームをプライマリサブビットストリームと称することもできる。したがって、図8の第1のサブビットストリームは、プライマリサブビットストリームと称されるが、第2のサブビットストリームは、埋め込みまたは従属サブビットストリームと称され得る。
この例に対するビュー順序インデックスは、表6の例に関して定義されている通りであると仮定すると、第1のサブビットストリーム内のビューコンポーネントのビュー順序インデックスは、(それぞれ)0、1、3であり、第2のサブビットストリームに対するビュー順序インデックスは、2と4である。したがって、この例における第1のビットストリームのビューコンポーネントが、第2のサブビットストリームのビューコンポーネントの前に安全にデコードされたとすれば、ビュー順序インデックスに関するデコード順序は、0、1、3、2、4に対応するであろう。ビュー順序インデックスは、デコード順序を記述すべきであるため、そのようなデコード順序はMVC仕様の違反となる。したがって、図8の方法は、ビューコンポーネントのデコード順序がMVC仕様に準拠するように、ビュー順序インデックスに関して、ビューコンポーネントの順序を変更するために使用される。
図8の方法は、一般的に、サブビットストリームをアセンブルするときに、それぞれのアクセスユニット内のビューコンポーネントを含む例示的な方法に対応しており、すべての現在のサブビットストリームと埋め込みサブビットストリームとで伝送されるようなビュー順序インデックスの昇順に従わなければならない。本開示の技術は、NALユニットのNALユニットヘッダ内のview_id構文エレメントをチェックしてそれをビュー順序インデックスにマッピングするという作業をすることなく、適合しているMVCサブビットストリームのアセンブルを可能にすることができる。図8の方法は、MVC規格に準拠している順序でサブビットストリームのvew_IDに対応するインデックスを備える「階層層インデックスリスト」(HLI)と称される、リストを生成するために使用され得る。
最初に、A/Vデスティネーションデバイス40などのクライアントデバイスが、2つのサブビットストリームのビューコンポーネントを有するアクセスユニットを受信する(250)。例示することを目的として、第2のサブビットストリームは、第1のサブビットストリームの埋め込みまたは従属サブビットストリームを備えると仮定される。図8の例示的な方法は、2つのサブビットストリームに関して説明されている。しかし、図8の技術は、2つより多いサブビットストリームを有する例にも適用可能である。さらに、図8の方法は、A/Vデスティネーションデバイス40のデマルチプレクサ38に関して例示し説明することを目的として記述されている。しかし、図8の方法は、MVC規格に準拠するように2つまたはそれ以上のサブビットストリームのビューを再編成するために、任意のデバイス、モジュール、ユニット、またはファームウェア、ハードウェア、および/またはソフトウェアの組み合わせによって実行され得ることは理解されるであろう。
それぞれのサブビットストリームのビューコンポーネントは、MVC規格に従って順序付けられると仮定される。したがって、デマルチプレクサ38は、サブビットストリームのどのビューコンポーネントが最小のビュー順序インデックスを有するかを判定する(252)。次いで、デマルチプレクサ38は、ビューコンポーネント(1つまたは複数のNALユニットを備えることができる)のインデックスをHLIリスト内の次に利用可能な位置に追加することができる(254)。いくつかの例では、ビューコンポーネントは、マルチメディアデータを備える1つまたは複数のNALユニットとともに、別の後続のビューコンポーネントからビューコンポーネントを区別するために使用することができる区切りNALユニットをも備えることができる。次いで、デマルチプレクサ38は、第1のサブビットストリームに対してビューコンポーネントが残っているかどうかを判定することができる(256)。
第1のサブビットストリームに対してビューコンポーネントが残っている場合(256の「YES」ブランチ)、デマルチプレクサ38が、第2のサブビットストリームに対してもビューコンポーネントが残っているかどうかを判定することができる(258)。第1のサブビットストリームと第2のサブビットストリームの両方が少なくとも1つのビューコンポーネントを含む場合(258の「YES」ブランチ)、デマルチプレクサ38は、ステップ252に戻り、ビューコンポーネントの最小のビュー順序インデックスを決定し、最小のビューコンポーネントのビューインデックスをHLIリストに追加する。しかし、第1のサブビットストリームに対してのみビューコンポーネントが残っており、第2のサブビットストリームに対しては残っていない場合(258の「NO」ブランチ)、デマルチプレクサ38は、第1のサブビットストリームの残っているビューコンポーネントをHLIリストに追加することができる(260)。
その一方で、第1のサブビットストリームに対してビューコンポーネントが残っていない場合(256の「NO」ブランチ)、デマルチプレクサ38は、第2のサブビットストリームに対してビューコンポーネントが残っているかどうかを判定することができる(262)。第2のサブビットストリームが残っているビューコンポーネントを有している場合、デマルチプレクサ38は、第2のサブビットストリームの残っているビューコンポーネントをHLIリストに追加することができる(264)。
HLIリストが対応するビュー順序インデックスの順序でビューIDを備えた後(例えば、262のステップ260、264、または「NO」ブランチの完了後)、デマルチプレクサ38は、HLIリストに従って決定された順序でサブビットストリームを備える、新しいビットストリームを形成することができる。つまり、新しいビットストリームのアクセスユニットに対して、アクセスユニットが複数のビューコンポーネントを備えている場合、ビューコンポーネントは、ビューコンポーネントのそれぞれのビュー順序インデックスがすべての先行するビュー順序インデックスより大きく、すべての後続のビュー順序インデックスより小さいインデックスとなるように新しいビットストリーム内で順序付けられる。次いで、このビットストリームは、ビューコンポーネントのデコードのために、例えばビデオデコーダ48に、そして最終的に、ビューコンポーネントのディスプレイに回送され得る。
以下の例示的なアルゴリズムは、MVC規格に準拠するようにサブビットストリームを順序付けるための例示的なプロセスを構成する。いくつかの例では、現在のMVCサブビットストリームまたは埋め込みサブビットストリームのいずれかに対応するhierarchy_layer_index(HLIList)値のリストがある。上述のように、ビューコンポーネントは、複数のNALユニットを備えることができる。同様に、いくつかの例では、ビューコンポーネントは、それぞれのビューコンポーネントを別のビューから区別するために、区切りNALユニットを備えるか、または区切りNALユニットがその後に続くものとすることができる。
新しいビットストリームをアセンブルするためのプロセスは、以下のように定義することができる:
1)従属サブビットストリームを埋め込みサブビットストリームを有していないサブビットストリームとして設定する。
2)hierarchy_layer_indexの昇順で、以下が反復的に適用される:
1.MVCに適合している、hierarchy_layer_indexがHLIに等しい階層記述子で説明されている、サブビットストリームをアセンブルする:
2.このプロセスは、以下を入力として有する:
i.明示的に存在するエンハンスメントサブビットストリーム;
ii.従属サブビットストリーム。これはMVCに適合しており、それぞれのアクセスユニット内のビュー順序インデックスの昇順で配置されるビューコンポーネントを有することに留意されたい;
iii.エンハンスメントサブビットストリーム内のビュー順序インデックスのリスト;
iv.従属サブビットストリーム内のビュー順序インデックスのリスト;
3.このプロセスは、以下を出力として有する。
i.すべてのビューコンポーネントがアセンブルされ、したがってMVCに適合しており、階層記述子で定義されているHLIに対応する完全な動作ポイントを形成する新しいサブビットストリーム;
ii.新しいサブビットストリーム内のビュー順序インデックスのリスト;
4.ステップ3で生成された新しいサブビットストリームを従属サブビットストリームとして設定する;
5.HLIがHLIListのリスト内の最後の1つである場合、その従属サブビットストリームを最終アセンブル済みMVCサブビットストリームとして設定し、アセンブルプロセス全体を終了する。
以下のアルゴリズムは、上記の例示的なアルゴリズムのステップ2で要求されているような、従属サブビットストリームとエンハンスメントサブビットストリームとに基づきサブビットストリームをアセンブルする例示的なプロセスを説明している:
1.アセンブルプロセスの入力は、2つのリストと2つのサブビットストリームであり、それぞれビュー順序インデックスの昇順ですでに順序付けられている。2つのリストのそれぞれは、昇順でビュー順序インデックスを格納しており、2つのリストはVOIdxListEおよびVOIdxListDである。2つのサブビットストリームは、従属サブビットストリームとエンハンスサブビットストリームである。新しいリストは、最初は空であるVOIdxListNewである。
2.アクセスユニット毎に、以下を適用する:
i.VOIdxEをVOIdxListEの第1の値として、VOIdxDをVOIdxListDの第1の値として設定する;
ii.VOIdxEがVOIdxDより小さい場合、エンハンスサブビットストリームから1つのビューコンポーネントをアセンブルし、VOIdxEをVOIdxListE内の次の値に設定し、VOIdxCurrはVOIdxEに設定され;そうでない場合、従属サブビットストリームから1つのビューコンポーネントをアセンブルし、VOIdxDをVOIdxListD内の次の値に設定し、VOIdxCurrはVOIdxDに設定される。VOIdxCurrをVOIdxListNewに加える。
・サブビットストリームから1つのビューコンポーネントをアセンブルするときに、区切りNALユニットに遭遇するまでNALユニットが追加される。
iii.VOIdxEがVOIdxListEの末尾になく、VOIdxDがVOIdxListDの末尾にない場合、プロセス全体を終了し、そうでない場合、ステップivに進む。
iv.さもなければVOIdxEがVOIdxListEの末尾にある場合、従属サブビットストリーム内の残りのすべてのビューコンポーネントをアセンブリし、VOIdxListD内に残っている値すべてをVOIdxListNewに加え、VOIdxDをVOIdxListDの末尾に設定する。
v.さもなければVOIdxDがVOIdxListDの末尾にある場合、エンハンスサブビットストリーム内の残りのすべてのビューコンポーネントをアセンブルし、VOIdxListE内に残っている値すべてをVOIdxListNewに加え、VOIdxEをVOIdxListEの末尾に設定する。
vi.さもなければステップiiに進む。
1つまたは複数の例において、説明されている関数は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせで実装することができる。ソフトウェアで実装された場合、これらの関数は、コンピュータ可読媒体上に1つまたは複数の命令もしくはコードとして格納され得る。コンピュータ可読媒体は、一方の場所から他方の場所へのコンピュータプログラムの転送を容易にする媒体を含むコンピュータデータ記憶媒体または通信媒体を含むことができる。データ記憶媒体は、本開示において説明されている技術の実装のための命令、コード、および/またはデータ構造体を取り出すために、1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る利用可能な任意の媒体とすることができる。例えば、限定はしないが、このようなコンピュータ可読媒体としては、RAM、ROM、EEPROM、CD−ROM、または他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、フラッシュメモリ、または命令もしくはデータ構造体の形態で所望のプログラムコードを搬送または格納するために使用することができ、またコンピュータによってアクセスできる他の媒体が挙げられる。本明細書で使用されているような、「Disk」と「Disc」は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスクを含み、「Disk」は通常磁気的にデータを再現し、「Disc」はレーザーを使って光学的にデータを再現する。上記の組み合わせも、コンピュータ可読媒体の範囲に収まらなければならない。
コードは、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の同等の集積回路もしくはディスクリート部品による論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用されているような「プロセッサ」という用語は、前記の構造物または本明細書で説明されている技術の実装に適している他の構造物のいずれかを指すことができる。それに加えて、いくつかの態様では、本明細書で説明されている機能は、エンコードとデコードの処理を行うように構成された専用ハードウェアおよび/またはソフトウェアモジュール内に提供されるか、または組み合わされたコーデックに組み込まれ得る。また、これらの技術は、1つもしくは複数の回路または論理素子で完全に実装することも可能である。
本開示の技術は、ワイヤレスハンドセット、集積回路(IC)、または一組のIC(例えば、チップセット)を含む、さまざまなデバイスもしくは装置で実装することができる。さまざまなコンポーネント、モジュール、またはユニットは、開示されている技術を実行するように構成されたデバイスの機能面の態様を強調するように本開示において説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上で説明されているように、さまざまなユニットが、コーデックハードウェアユニット内に組み合わされるか、または好適なソフトウェアおよび/またはファームウェアと併せて、上述のような1つまたは複数のプロセッサを含む、相互運用性を有するハードウェアユニットの集合体によって構成され得る。
さまざまな例が説明されている。これらおよび他の例は、以下の請求項の範囲内に収まる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(1) ビデオビットストリームを生成する方法であって、
クライアントデバイスにより、プライマリサブビットストリームと前記プライマリサブビットストリームの埋め込みサブビットストリームとを備える受信されたビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成することであって、
前記プライマリサブビットストリームのビューコンポーネントが前記埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きいビュー順序インデックスを有するかどうかを判定することと、
前記プライマリサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスが前記埋め込みサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスより大きい場合に、前記埋め込みサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加することと、及び
前記プライマリサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスが前記埋め込みサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスより大きくない場合に、前記プライマリサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加することと、
を備える、MVC規格準拠のビットストリームを生成することと、及び
前記生成されたビットストリームをビデオデコーダに出力することと、
を備えるビデオビットストリームを生成する方法。
(2) 前記プライマリサブビットストリームに、残っているビューコンポーネントがないことを判定することと、及び
前記埋め込みサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたサブビットストリームに追加することと、
をさらに備える、(1)に記載の方法。
(3) 前記埋め込みサブビットストリームに、残っているビューコンポーネントがないことを判定することと、及び
前記プライマリサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたサブビットストリームに追加することと、
をさらに備える、(1)に記載の方法。
(4) 前記埋め込みサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加することは、
区切りネットワーク抽象化層(NAL)ユニットが前記埋め込みサブビットストリーム内に到達するまで前記埋め込みサブビットストリームからNALユニットを取り出すことと、及び
前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたビットストリームに追加することと、
を備える、(1)に記載の方法。
(5) 前記プライマリサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加することは、
区切りネットワーク抽象化層(NAL)ユニットが前記プライマリサブビットストリーム内に到達するまで前記プライマリサブビットストリームからNALユニットを取り出すことと、及び
前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたビットストリームに追加することと、
を備える、(1)に記載の方法。
(6) 前記ビューコンポーネントの前記ビュー順序インデックスに応じて前記受信されたビットストリームの前記ビューコンポーネントの順序付けられた表現を備える階層層インデックスリストを生成すること、
をさらに備え、
前記生成されたビットストリームを前記ビデオデコーダに出力することは、前記階層層インデックスを前記ビデオデコーダに出力することを備える、(1)に記載の方法。
(7) 前記MVC規格準拠のビットストリームを生成することは、前記プライマリサブビットストリームに含まれているビューのビュー識別子と前記埋め込みサブビットストリームに含まれているビューのビュー識別子とを比較せずに前記MVC規格準拠のビットストリームを生成することを備える、(1)に記載の方法。
(8) ビデオビットストリームを生成するための装置であって、
プライマリサブビットストリームと前記プライマリサブビットストリームの埋め込みサブビットストリームとを備えるビットストリームを受信する入力インターフェースと、
前記受信されたビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成するデマルチプレクサであって、前記MVC規格準拠のビットストリームを生成するために、前記プライマリサブビットストリームのビューコンポーネントが前記埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きいビュー順序インデックスを有するかどうかを判定し、前記プライマリサブビットストリームのビューコンポーネントの前記ビュー順序インデックスが前記埋め込みサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスより大きい場合に、前記埋め込みサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加し、前記プライマリサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスが前記埋め込みサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスより大きくない場合に、前記プライマリサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加する、デマルチプレクサと、及び
前記デマルチプレクサによって生成された前記ビットストリームをデコードするビデオデコーダと、
を備える、ビデオビットストリームを生成するための装置。
(9) 前記デマルチプレクサは、前記プライマリサブビットストリームに残っているビューコンポーネントはないと判定した後、前記埋め込みサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたサブビットストリームに追加する、(8)に記載の装置。
(10) 前記デマルチプレクサは、前記埋め込みサブビットストリームに残っているビューコンポーネントはないと判定した後、前記プライマリサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたサブビットストリームに追加する、(8)に記載の装置。
(11) 前記埋め込みサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加するために、前記デマルチプレクサは、区切りネットワーク抽象化層(NAL)ユニットが前記埋め込みサブビットストリーム内に到達するまで前記埋め込みサブビットストリームからNALユニットを取り出し、次いで、前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたビットストリームに追加する、(8)に記載の装置。
(12) 前記プライマリサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加するために、前記デマルチプレクサは、区切りネットワーク抽象化層(NAL)ユニットが前記プライマリサブビットストリーム内に到達するまで前記プライマリサブビットストリームからNALユニットを取り出し、前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたビットストリームに追加する、(8)に記載の装置。
(13) 前記デマルチプレクサは、前記ビューコンポーネントの前記ビュー順序インデックスに応じて前記受信されたビットストリームの前記ビューコンポーネントの順序付けられた表現を備える階層層インデックスリストをさらに生成し、前記階層層インデックスを前記ビデオデコーダに前記生成されたビットストリームの一部として出力する、(8)に記載の装置。
(14) 前記デマルチプレクサは、前記プライマリサブビットストリームに含まれているビューのビュー識別子と前記埋め込みサブビットストリームに含まれているビューのビュー識別子とを比較せずに前記MVC規格準拠のビットストリームを生成する、(8)に記載の装置。
(15) 前記装置は、
集積回路と、
マイクロプロセッサと、及び
前記ビデオエンコーダを備えるワイヤレス通信デバイスと、
のうちの少なくとも1つを備える、(8)に記載の装置。
(16) ビデオビットストリームを生成するための装置であって、
プライマリサブビットストリームと前記プライマリサブビットストリームの埋め込みサブビットストリームとを備える受信されたビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成するための手段であって、
前記プライマリサブビットストリームのビューコンポーネントが前記埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きいビュー順序インデックスを有するかどうかを判定するための手段と、
前記プライマリサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスが前記埋め込みサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスより大きい場合に、前記埋め込みサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加するための手段と、及び
前記プライマリサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスが前記埋め込みサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスより大きくない場合に、前記プライマリサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加するための手段と、
を備える、MVC規格準拠のビットストリームを生成するための手段と、及び
前記生成されたビットストリームをビデオデコーダに出力するための手段と、
を備える、ビデオビットストリームを生成するための装置。
(17) 前記プライマリサブビットストリームに、残っているビューコンポーネントがないことを判定するための手段と、及び
前記埋め込みサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたサブビットストリームに追加するための手段と、
をさらに備える、(16)に記載の装置。
(18) 前記埋め込みサブビットストリームに、残っているビューコンポーネントがないことを判定するための手段と、及び
前記プライマリサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたサブビットストリームに追加するための手段と、
をさらに備える、(16)に記載の装置。
(19) 前記埋め込みサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加するための前記手段は、
区切りネットワーク抽象化層(NAL)ユニットが前記埋め込みサブビットストリーム内に到達するまで前記埋め込みサブビットストリームからNALユニットを取り出すための手段と、及び
前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたビットストリームに追加するための手段と、
を備える、(16)に記載の装置。
(20) 前記プライマリサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加するための前記手段は、
区切りネットワーク抽象化層(NAL)ユニットが前記プライマリサブビットストリーム内に到達するまで前記プライマリサブビットストリームからNALユニットを取り出すための手段と、及び
前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたビットストリームに追加するための手段と、
を備える、(16)に記載の装置。
(21) 前記ビューコンポーネントの前記ビュー順序インデックスに応じて前記受信されたビットストリームの前記ビューコンポーネントの順序付けられた表現を備える階層層インデックスリストを生成するための手段、
をさらに備え、
前記生成されたビットストリームを前記ビデオデコーダに出力するための前記手段は、前記階層層インデックスを前記ビデオデコーダに出力するための手段を備える、(16)に記載の装置。
(22) 前記MVC規格準拠のビットストリームを生成するための前記手段は、前記プライマリサブビットストリームに含まれているビューのビュー識別子と前記埋め込みサブビットストリームに含まれているビューのビュー識別子とを比較せずに前記MVC規格準拠のビットストリームを生成するための手段を備える、(16)に記載の装置。
(23) コンピュータ可読記憶媒体であって、クライアントデバイスのプロセッサに、
プライマリサブビットストリームと前記プライマリサブビットストリームの埋め込みサブビットストリームとを備える受信されたビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成することを行わせる命令であって、
前記プライマリサブビットストリームのビューコンポーネントが前記埋め込みサブビットストリームのビューコンポーネントのビュー順序インデックスより大きいビュー順序インデックスを有するかどうかを判定する命令と、
前記プライマリサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスが前記埋め込みサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスより大きい場合に、前記埋め込みサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加する命令と、及び
前記プライマリサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスが前記埋め込みサブビットストリームの前記ビューコンポーネントの前記ビュー順序インデックスより大きくない場合に、前記プライマリサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加する命令と、
を備える、前記MVC規格順序のビットストリームを生成する命令と、及び
前記生成されたビットストリームを前記クライアントデバイスからビデオデコーダに出力することを行わせる命令と、
でエンコードされた、コンピュータ可読記憶媒体。
(24) 前記プライマリサブビットストリームに、残っているビューコンポーネントがないことを判定する命令と、及び
前記埋め込みサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたサブビットストリームに追加する命令と、
をさらに備える、(23)に記載のコンピュータ可読記憶媒体。
(25) 前記埋め込みサブビットストリームに、残っているビューコンポーネントがないことを判定する命令と、及び
前記プライマリサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたサブビットストリームに追加する命令と、
をさらに備える、(23)に記載のコンピュータ可読記憶媒体。
(26) 前記埋め込みサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加する前記命令は、
区切りネットワーク抽象化層(NAL)ユニットが前記埋め込みサブビットストリーム内に到達するまで前記埋め込みサブビットストリームからNALユニットを取り出す命令と、及び
前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたビットストリームに追加する命令と、
を備える、(23)に記載のコンピュータ可読記憶媒体。
(27) 前記プライマリサブビットストリームの前記ビューコンポーネントを前記生成されたビットストリームに追加する前記命令は、
区切りネットワーク抽象化層(NAL)ユニットが前記プライマリサブビットストリーム内に到達するまで前記プライマリサブビットストリームからNALユニットを取り出す命令と、及び
前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたビットストリームに追加する命令と、
を備える、(23)に記載のコンピュータ可読記憶媒体。
(28) 前記ビューコンポーネントの前記ビュー順序インデックスに応じて前記受信されたビットストリームの前記ビューコンポーネントの順序付けられた表現を備える階層層インデックスリストを生成する命令、
をさらに備え、
前記生成されたビットストリームを前記ビデオデコーダに出力する前記命令は、前記階層層インデックスを前記ビデオデコーダに出力する命令を備える、(23)に記載のコンピュータ可読記憶媒体。
(29) 前記MVC規格準拠のビットストリームを生成する前記命令は、前記プライマリサブビットストリームに含まれているビューのビュー識別子と前記埋め込みサブビットストリームに含まれているビューのビュー識別子とを比較せずに前記MVC規格準拠のビットストリームを生成する命令を備える、(23)に記載のコンピュータ可読記憶媒体。

Claims (29)

  1. ビデオビットストリームを生成する方法であって、
    クライアントデバイスにより、第1のサブビットストリームと第2のサブビットストリームとを備えるトランスポートストリームまたはプログラムストリームを備える受信されたMPEG−2システム準拠のビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成することであって、
    前記第1のサブビットストリーム前記第2のサブビットストリームに含まれる個々のビューのビュー順序インデックスを受信することと、及び
    前記受信したビュー順序インデックスに従って、前記第1及び第2のサブビットストリーム両方の前記ビューのすべてのビューコンポーネントのすべてをソートすることによって、前記第1及び第2のサブビットストリームを、昇順のビュー順序インデックスを備えるビューコンポーネントを持つような単一のMVC規格準拠のビットストリームにアセンブルすることと、
    を備える、MVC規格準拠のビットストリームを生成することと、及び
    前記生成されたMVC規格準拠のビットストリームをビデオデコーダに出力することと、
    を備えるビデオビットストリームを生成する方法。
  2. 前記第1のサブビットストリームに、残っているビューコンポーネントがないことを判定することと、及び
    前記第2のサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたMVC規格準拠のビットストリームに追加することと、
    をさらに備える、請求項1に記載の方法。
  3. 前記第2のサブビットストリームに、残っているビューコンポーネントがないことを判定することと、及び
    前記第1のサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたMVC規格準拠のビットストリームに追加することと、
    をさらに備える、請求項1に記載の方法。
  4. 前記第2のサブビットストリームの前記ビューコンポーネントをアセンブルすることは、
    区切りネットワーク抽象化層(NAL)ユニットが前記第2のサブビットストリーム内に到達するまで前記第2のサブビットストリームからNALユニットを取り出すことと、及び
    前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたMVC規格準拠のビットストリームに追加することと、
    を備える、請求項1に記載の方法。
  5. 前記第1のサブビットストリームの前記ビューコンポーネントをアセンブルすることは、
    区切りネットワーク抽象化層(NAL)ユニットが前記第1のサブビットストリーム内に到達するまで前記第1のサブビットストリームからNALユニットを取り出すことと、及び
    前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたMVC規格準拠のビットストリームに追加することと、
    を備える、請求項1に記載の方法。
  6. 前記ビューコンポーネントの前記ビュー順序インデックスに応じて前記受信されたMPEG−2システム準拠のビットストリームの前記ビューコンポーネントの順序付けられた表現を備える階層層インデックスリストを生成すること、
    をさらに備え、
    前記生成されたMVC規格準拠のビットストリームを前記ビデオデコーダに出力することは、前記階層層インデックスを前記ビデオデコーダに出力することを備える、請求項1に記載の方法。
  7. 前記MVC規格準拠のビットストリームを生成することは、前記第1のサブビットストリームに含まれているビューのビュー識別子と前記第2のサブビットストリームに含まれているビューのビュー識別子とを比較せずに前記MVC規格準拠のビットストリームを生成することを備える、請求項1に記載の方法。
  8. ビデオビットストリームを生成するための装置であって、
    第1のサブビットストリームと第2のサブビットストリームとを備えるトランスポートストリームまたはプログラムストリームを備えるMPEG−2システム準拠のビットストリームを受信する入力インターフェースと、
    前記受信されたMPEG−2システム準拠のビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成するデマルチプレクサであって、前記MVC規格準拠のビットストリームを生成するために、前記第1のサブビットストリーム前記第2のサブビットストリームに含まれる個々のビューのビュー順序インデックスを受信し、前記受信したビュー順序インデックスに従って、前記第1及び第2のサブビットストリーム両方の前記ビューのすべてのビューコンポーネントのすべてをソートすることによって、前記第1及び第2のサブビットストリームを、昇順のビュー順序インデックスを備えるビューコンポーネントを持つような単一のMVC規格準拠のビットストリームにアセンブルする、デマルチプレクサと、及び
    前記デマルチプレクサによって生成された前記MVC規格準拠のビットストリームをデコードするビデオデコーダと、
    を備える、ビデオビットストリームを生成するための装置。
  9. 前記デマルチプレクサは、前記第1のサブビットストリームに残っているビューコンポーネントはないと判定した後、前記第2のサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたMVC規格準拠のビットストリームに追加する、請求項8に記載の装置。
  10. 前記デマルチプレクサは、前記第2のサブビットストリームに残っているビューコンポーネントはないと判定した後、前記第1のサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたMVC規格準拠のビットストリームに追加する、請求項8に記載の装置。
  11. 前記第2のサブビットストリームの前記ビューコンポーネントをアセンブルするために、前記デマルチプレクサは、区切りネットワーク抽象化層(NAL)ユニットが前記第2のサブビットストリーム内に到達するまで前記第2のサブビットストリームからNALユニットを取り出し、次いで、前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたMVC規格準拠のビットストリームに追加する、請求項8に記載の装置。
  12. 前記第1のサブビットストリームの前記ビューコンポーネントをアセンブルするために、前記デマルチプレクサは、区切りネットワーク抽象化層(NAL)ユニットが前記第1のサブビットストリーム内に到達するまで前記プライマリサブビットストリームからNALユニットを取り出し、前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたMVC規格準拠のビットストリームに追加する、請求項8に記載の装置。
  13. 前記デマルチプレクサは、前記ビューコンポーネントの前記ビュー順序インデックスに応じて前記受信されたMPEG−2システム準拠のビットストリームの前記ビューコンポーネントの順序付けられた表現を備える階層層インデックスリストをさらに生成し、前記階層層インデックスを前記ビデオデコーダに前記生成されたMVC規格準拠のビットストリームの一部として出力する、請求項8に記載の装置。
  14. 前記デマルチプレクサは、前記第1のサブビットストリームに含まれているビューのビュー識別子と前記第2のサブビットストリームに含まれているビューのビュー識別子とを比較せずに前記MVC規格準拠のビットストリームを生成する、請求項8に記載の装置。
  15. 前記装置は、
    集積回路と、
    マイクロプロセッサと、及び
    前記ビデオエンコーダを備えるワイヤレス通信デバイスと、
    のうちの少なくとも1つを備える、請求項8に記載の装置。
  16. ビデオビットストリームを生成するための装置であって、
    第1のサブビットストリームと第2のサブビットストリームとを備えるトランスポートストリームまたはプログラムストリームを備える受信されたMPEG−2システム準拠のビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成するための手段であって、
    前記第1のサブビットストリーム前記第2のサブビットストリームに含まれる個々のビューのビュー順序インデックスを受信するための手段と、及び
    前記受信したビュー順序インデックスに従って、前記第1及び第2のサブビットストリーム両方の前記ビューのすべてのビューコンポーネントのすべてをソートすることによって、前記第1及び第2のサブビットストリームを、昇順のビュー順序インデックスを備えるビューコンポーネントを持つような単一のMVC規格準拠のビットストリームにアセンブルするための手段と、
    を備える、MVC規格準拠のビットストリームを生成するための手段と、及び
    前記生成されたMVC規格準拠のビットストリームをビデオデコーダに出力するための手段と、
    を備える、ビデオビットストリームを生成するための装置。
  17. 前記第1のサブビットストリームに、残っているビューコンポーネントがないことを判定するための手段と、及び
    前記第2のサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたMVC規格準拠のビットストリームに追加するための手段と、
    をさらに備える、請求項16に記載の装置。
  18. 前記第2のサブビットストリームに、残っているビューコンポーネントがないことを判定するための手段と、及び
    前記第1のサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたMVC規格準拠のビットストリームに追加するための手段と、
    をさらに備える、請求項16に記載の装置。
  19. 前記第2のサブビットストリームの前記ビューコンポーネントをアセンブルするための前記手段は、
    区切りネットワーク抽象化層(NAL)ユニットが前記第2のサブビットストリーム内に到達するまで前記第2のサブビットストリームからNALユニットを取り出すための手段と、及び
    前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたMVC規格準拠のビットストリームに追加するための手段と、
    を備える、請求項16に記載の装置。
  20. 前記第1のサブビットストリームの前記ビューコンポーネントをアセンブルするための前記手段は、
    区切りネットワーク抽象化層(NAL)ユニットが前記第1のサブビットストリーム内に到達するまで前記第1のサブビットストリームからNALユニットを取り出すための手段と、及び
    前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたMVC規格準拠のビットストリームに追加するための手段と、
    を備える、請求項16に記載の装置。
  21. 前記ビューコンポーネントの前記ビュー順序インデックスに応じて前記受信されたMPEG−2システム準拠のビットストリームの前記ビューコンポーネントの順序付けられた表現を備える階層層インデックスリストを生成するための手段、
    をさらに備え、
    前記生成されたMVC規格準拠のビットストリームを前記ビデオデコーダに出力するための前記手段は、前記階層層インデックスを前記ビデオデコーダに出力するための手段を備える、請求項16に記載の装置。
  22. 前記MVC規格準拠のビットストリームを生成するための前記手段は、前記第1のサブビットストリームに含まれているビューのビュー識別子と前記第2のサブビットストリームに含まれているビューのビュー識別子とを比較せずに前記MVC規格準拠のビットストリームを生成するための手段を備える、請求項16に記載の装置。
  23. コンピュータ可読記憶媒体であって、クライアントデバイスのプロセッサに、
    第1のサブビットストリームと第2のサブビットストリームとを備えるトランスポートストリームまたはプログラムストリームを備える受信されたMPEG−2システム準拠のビットストリームからマルチビュービデオ符号化(MVC)規格準拠のビットストリームを生成することを行わせる命令であって、
    前記第1のサブビットストリーム前記第2のサブビットストリームに含まれる個々のビューのビュー順序インデックスを受信する命令と、及び
    前記受信したビュー順序インデックスに従って、前記第1及び第2のサブビットストリーム両方の前記ビューのすべてのビューコンポーネントのすべてをソートすることによって、前記第1及び第2のサブビットストリームを、昇順のビュー順序インデックスを備えるビューコンポーネントを持つような単一のMVC規格準拠のビットストリームにアセンブルする命令と、
    を備える、前記MVC規格順序のビットストリームを生成する命令と、及び
    前記生成されたMVC規格準拠のビットストリームを前記クライアントデバイスからビデオデコーダに出力することを行わせる命令と、
    でエンコードされた、コンピュータ可読記憶媒体。
  24. 前記第1のサブビットストリームに、残っているビューコンポーネントがないことを判定する命令と、及び
    前記第2のサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたMVC規格準拠のビットストリームに追加する命令と、
    をさらに備える、請求項23に記載のコンピュータ可読記憶媒体。
  25. 前記第2のサブビットストリームに、残っているビューコンポーネントがないことを判定する命令と、及び
    前記第1のサブビットストリームの残りのすべてのビューコンポーネントを前記生成されたMVC規格準拠のビットストリームに追加する命令と、
    をさらに備える、請求項23に記載のコンピュータ可読記憶媒体。
  26. 前記第2のサブビットストリームの前記ビューコンポーネントをアセンブルする前記命令は、
    区切りネットワーク抽象化層(NAL)ユニットが前記第2のサブビットストリーム内に到達するまで前記第2のサブビットストリームからNALユニットを取り出す命令と、及び
    前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたMVC規格準拠のビットストリームに追加する命令と、
    を備える、請求項23に記載のコンピュータ可読記憶媒体。
  27. 前記第1のサブビットストリームの前記ビューコンポーネントをアセンブルする前記命令は、
    区切りネットワーク抽象化層(NAL)ユニットが前記第1のサブビットストリーム内に到達するまで前記第1のサブビットストリームからNALユニットを取り出す命令と、及び
    前記取り出されたNALユニットのそれぞれを、前記区切りNALユニットを除いて、前記生成されたMVC規格準拠のビットストリームに追加する命令と、
    を備える、請求項23に記載のコンピュータ可読記憶媒体。
  28. 前記ビューコンポーネントの前記ビュー順序インデックスに応じて前記受信されたMPEG−2システム準拠のビットストリームの前記ビューコンポーネントの順序付けられた表現を備える階層層インデックスリストを生成する命令、
    をさらに備え、
    前記生成されたMVC規格準拠のビットストリームを前記ビデオデコーダに出力する前記命令は、前記階層層インデックスを前記ビデオデコーダに出力する命令を備える、請求項23に記載のコンピュータ可読記憶媒体。
  29. 前記MVC規格準拠のビットストリームを生成する前記命令は、前記第1のサブビットストリームに含まれているビューのビュー識別子と前記第2のサブビットストリームに含まれているビューのビュー識別子とを比較せずに前記MVC規格準拠のビットストリームを生成する命令を備える、請求項23に記載のコンピュータ可読記憶媒体。
JP2012517828A 2009-06-29 2010-06-28 Mpeg−2システムにおけるマルチビュービデオ符号化サブビットストリームのアセンブル Active JP5450810B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US22144909P 2009-06-29 2009-06-29
US61/221,449 2009-06-29
US12/709,323 US8780999B2 (en) 2009-06-12 2010-02-19 Assembling multiview video coding sub-BITSTREAMS in MPEG-2 systems
US12/709,323 2010-02-19
PCT/US2010/040230 WO2011002723A1 (en) 2009-06-29 2010-06-28 Assembling multiview video coding sub-bistreams in mpeg-2 systems

Publications (2)

Publication Number Publication Date
JP2012532493A JP2012532493A (ja) 2012-12-13
JP5450810B2 true JP5450810B2 (ja) 2014-03-26

Family

ID=42670610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012517828A Active JP5450810B2 (ja) 2009-06-29 2010-06-28 Mpeg−2システムにおけるマルチビュービデオ符号化サブビットストリームのアセンブル

Country Status (7)

Country Link
US (1) US8780999B2 (ja)
EP (1) EP2449776A1 (ja)
JP (1) JP5450810B2 (ja)
KR (1) KR101290008B1 (ja)
CN (1) CN102804773B (ja)
TW (1) TW201130312A (ja)
WO (1) WO2011002723A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411746B2 (en) * 2009-06-12 2013-04-02 Qualcomm Incorporated Multiview video coding over MPEG-2 systems
US20110193971A1 (en) * 2010-02-10 2011-08-11 A-Tec Subsystem Inc. Network camera
CA2797619C (en) * 2010-04-30 2015-11-24 Lg Electronics Inc. An apparatus of processing an image and a method of processing thereof
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
JPWO2012029884A1 (ja) * 2010-09-03 2013-10-31 ソニー株式会社 符号化装置および符号化方法、並びに復号装置および復号方法
KR101560956B1 (ko) * 2011-01-19 2015-10-15 텔레폰악티에볼라겟엘엠에릭슨(펍) 비트스트림 서브세트 표시
CN102158733B (zh) * 2011-01-28 2015-08-19 华为技术有限公司 辅助视频补充信息承载方法、处理方法、装置与系统
KR101767175B1 (ko) * 2011-03-18 2017-08-10 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 코딩에서의 프레임 요소 길이 전송
US9635355B2 (en) * 2011-07-28 2017-04-25 Qualcomm Incorporated Multiview video coding
US9674525B2 (en) * 2011-07-28 2017-06-06 Qualcomm Incorporated Multiview video coding
US10237565B2 (en) 2011-08-01 2019-03-19 Qualcomm Incorporated Coding parameter sets for various dimensions in video coding
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US10154276B2 (en) 2011-11-30 2018-12-11 Qualcomm Incorporated Nested SEI messages for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US9258559B2 (en) 2011-12-20 2016-02-09 Qualcomm Incorporated Reference picture list construction for multi-view and three-dimensional video coding
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US20130182772A1 (en) 2012-01-13 2013-07-18 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
WO2013109112A1 (ko) * 2012-01-19 2013-07-25 삼성전자 주식회사 시점 변환을 위한 다시점 비디오 예측 방법 및 그 장치, 시점 변환을 위한 다시점 비디오 예측 복원 방법 및 그 장치
KR102047492B1 (ko) * 2012-03-12 2019-11-22 삼성전자주식회사 스케일러블 비디오 부호화 방법 및 장치, 스케일러블 비디오 복호화 방법 및 장치
US8707370B2 (en) * 2012-07-13 2014-04-22 International Datacasting Corporation Digital satellite broadcast program distribution over multicast IP broadband networks
US9432664B2 (en) 2012-09-28 2016-08-30 Qualcomm Incorporated Signaling layer identifiers for operation points in video coding
KR102447521B1 (ko) 2012-10-01 2022-09-26 지이 비디오 컴프레션, 엘엘씨 베이스 레이어로부터 예측을 위한 서브블록 세부분할의 유도를 이용한 스케일러블 비디오 코딩
WO2014053087A1 (en) * 2012-10-03 2014-04-10 Mediatek Inc. Method and apparatus of motion data buffer reduction for three-dimensional video coding
US9351011B2 (en) * 2012-11-28 2016-05-24 Intel Corporation Video pipeline with direct linkage between decoding and post processing
CN104053008B (zh) * 2013-03-15 2018-10-30 乐金电子(中国)研究开发中心有限公司 基于合成图像预测的视频编解码方法及视频编解码器
CN105393542B (zh) * 2013-06-18 2019-04-09 Vid拓展公司 Hevc扩展的层间参数集
US10284858B2 (en) * 2013-10-15 2019-05-07 Qualcomm Incorporated Support of multi-mode extraction for multi-layer video codecs
GB2524726B (en) * 2014-03-25 2018-05-23 Canon Kk Image data encapsulation with tile support
KR101427552B1 (ko) * 2014-03-31 2014-08-07 (주) 넥스트칩 영상 신호 전송 방법 및 장치
JP5836424B2 (ja) * 2014-04-14 2015-12-24 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US9918091B2 (en) * 2014-06-20 2018-03-13 Qualcomm Incorporated Systems and methods for assigning a minimum value to a syntax structure in a parameter set
GB2533775B (en) 2014-12-23 2019-01-16 Imagination Tech Ltd In-band quality data
EP3264775B1 (en) * 2015-02-27 2023-05-03 Sony Group Corporation Transmission apparatus, transmission method, reception apparatus and reception method
CN105915943A (zh) * 2016-05-24 2016-08-31 乐视控股(北京)有限公司 直播视频的展现方法及装置
US10136194B2 (en) * 2016-07-06 2018-11-20 Cisco Technology, Inc. Streaming piracy detection method and system
CN108156467B (zh) * 2017-11-16 2021-05-11 腾讯科技(成都)有限公司 数据传输方法和装置、存储介质及电子装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619256A (en) 1995-05-26 1997-04-08 Lucent Technologies Inc. Digital 3D/stereoscopic video compression technique utilizing disparity and motion compensated predictions
KR100397511B1 (ko) 2001-11-21 2003-09-13 한국전자통신연구원 양안식/다시점 3차원 동영상 처리 시스템 및 그 방법
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
TWI260591B (en) 2002-10-14 2006-08-21 Samsung Electronics Co Ltd Information storage medium with structure for multi-angle data, and recording and reproducing apparatus therefor
WO2006062377A1 (en) 2004-12-10 2006-06-15 Electronics And Telecommunications Research Institute Apparatus for universal coding for multi-view video
KR100779875B1 (ko) 2005-01-14 2007-11-27 주식회사 휴맥스 다-시점 코딩을 위한 참조 프레임 순서 설정 방법 및 그방법을 기록한 기록매체
US7903737B2 (en) 2005-11-30 2011-03-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for randomly accessing multiview videos with known prediction dependency
US7856148B2 (en) 2006-01-12 2010-12-21 Lg Electronics Inc. Processing multiview video
KR100754205B1 (ko) 2006-02-07 2007-09-03 삼성전자주식회사 다시점 동영상 부호화 장치 및 방법
KR101383735B1 (ko) 2006-03-29 2014-04-08 톰슨 라이센싱 멀티-뷰 비디오 코딩 시스템에서 사용하기 위한 방법 및 장치
KR100934674B1 (ko) 2006-03-30 2009-12-31 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
MX357910B (es) 2006-07-06 2018-07-30 Thomson Licensing Método y aparato para desacoplar el número de cuadro y/o la cuenta del orden de imagen (poc) para la codificación y decodificación de video de múltiples vistas.
WO2008010932A2 (en) 2006-07-20 2008-01-24 Thomson Licensing Method and apparatus for signaling view scalability in multi-view video coding
CN102761744B (zh) 2006-10-13 2015-10-28 汤姆逊许可公司 用于多视点视频编码的参考图像列表管理语法
ES2702704T3 (es) 2006-10-16 2019-03-05 Nokia Technologies Oy Sistema y procedimiento para implementar una administración eficiente de memoria intermedia decodificada en codificación de video de vistas múltiples
CN101569197B (zh) 2006-12-21 2013-07-10 汤姆森许可贸易公司 针对多视点视频编码和解码使用高级语法进行改进信号通知的方法和装置
EP2135456B1 (en) 2007-04-04 2017-05-03 Thomson Licensing Reference picture list management
KR101301181B1 (ko) 2007-04-11 2013-08-29 삼성전자주식회사 다시점 영상의 부호화, 복호화 방법 및 장치
US8548261B2 (en) 2007-04-11 2013-10-01 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding multi-view image
JP2009004939A (ja) 2007-06-20 2009-01-08 Victor Co Of Japan Ltd 多視点画像復号方法、多視点画像復号装置及び多視点画像復号プログラム
JP2009004942A (ja) 2007-06-20 2009-01-08 Victor Co Of Japan Ltd 多視点画像送信方法、多視点画像送信装置及び多視点画像送信用プログラム
US20080317124A1 (en) 2007-06-25 2008-12-25 Sukhee Cho Multi-view video coding system, decoding system, bitstream extraction system for decoding base view and supporting view random access
CN101999228A (zh) 2007-10-15 2011-03-30 诺基亚公司 针对多视角视频内容的运动跳跃和单环路编码
US8411746B2 (en) * 2009-06-12 2013-04-02 Qualcomm Incorporated Multiview video coding over MPEG-2 systems

Also Published As

Publication number Publication date
WO2011002723A1 (en) 2011-01-06
TW201130312A (en) 2011-09-01
KR101290008B1 (ko) 2013-07-30
CN102804773A (zh) 2012-11-28
JP2012532493A (ja) 2012-12-13
US20100316134A1 (en) 2010-12-16
US8780999B2 (en) 2014-07-15
EP2449776A1 (en) 2012-05-09
CN102804773B (zh) 2017-03-15
KR20120048583A (ko) 2012-05-15

Similar Documents

Publication Publication Date Title
JP5450810B2 (ja) Mpeg−2システムにおけるマルチビュービデオ符号化サブビットストリームのアセンブル
JP5378599B2 (ja) Mpeg−2システムにおけるマルチビュービデオコーディング
TWI581635B (zh) 用於處理多視圖視訊編碼操作點的方法、裝置及電腦可讀儲存媒體
TWI692242B (zh) 用於高效率視訊寫碼延伸之承載之資料串流之假想參考解碼器描述符及緩衝器模型之設計
JP5591932B2 (ja) ファイルフォーマットトラック選択のためのメディアエクストラクタトラック
JP2013537762A (ja) ネットワークストリーミングされるビデオデータについての属性をシグナリングすること

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130718

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130725

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130819

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130826

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130920

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131225

R150 Certificate of patent or registration of utility model

Ref document number: 5450810

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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