マルチビュー・ビデオ符号化のための仮想参照デコーダ
【課題】圧縮ビデオ・システムにおけるマルチビュー・ビデオ符号化のための仮想参照デコーダを提供する。
【解決手段】方法および装置は、可能な各相互運用点について制約条件を定義する。M個のビューの各組み合わせが、相互運用点(IOP: interoperability point)を表す。また、相互運用可能点のセットについて制約条件が定義されることを許容し、他のセットはその定義されたセットから導出される。本方法はまた、相互運用点の規則がビットストリーム・シンタックス内の情報から導出されることをも許容する。
【解決手段】方法および装置は、可能な各相互運用点について制約条件を定義する。M個のビューの各組み合わせが、相互運用点(IOP: interoperability point)を表す。また、相互運用可能点のセットについて制約条件が定義されることを許容し、他のセットはその定義されたセットから導出される。本方法はまた、相互運用点の規則がビットストリーム・シンタックス内の情報から導出されることをも許容する。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、2007年4月17日に出願された米国仮出願第60/923,800号の利益を主張するものである。同仮出願はここにその全体において参照によって組み込まれる。
【0002】
技術分野
本願は、圧縮ビデオ・システムにおけるマルチビュー・ビデオ符号化のための仮想参照デコーダに関する。
【背景技術】
【0003】
仮想参照デコーダ(HRD: hypothetical reference decoder)は、標準への準拠について、エンコードされたビットストリームを検証する役割を果たすので、圧縮ビデオ・システムにおいて貴重である。H.264/AVCのような符号化規格では、同規格のマルチビュー・ビデオ符号化(MVC: Multiview Video Coding)内において多数の相互運用点(interoperability point)がある。MVCは、デコーダが一つまたは複数のビューを同時にデコードすることを許容し、一つのビューのデコードは他のビューからの情報を必要とすることがありうる。H.264/AVC規格はHRDを定義する規則(要件、制約条件または動作仕様とも称される)をもつ。HRD準拠はH.264/MPEG-4 AVC規格の規範的部分である。どんなAVCビットストリームも、前記規則に従って構築されたHRDに準拠していなければならない。現在のところ、MVC HRDについて定義された規則はない。以前のHRDは、AVC内のMVCビットストリームのようなビットストリームを検証できるようにする十分な規則をもたなかった。
【0004】
多くの場合において、圧縮されたビットストリームのビットレート変動が、エンコーダおよびデコーダにおけるバッファリング機構を使ってならされる必要がある。物理的バッファのサイズは有限であり、よってエンコーダは、バッファ制限内に収まるようビットレート変動を制約する。ビデオ符号化規格は特定のエンコーダまたはデコーダ・バッファリング機構を必須としてはおらず、所与のバッファ・サイズの仮想参照デコーダ(HRD)(またはバーチャル・バッファ検証器(VBV: Virtual Buffer Verifier))がバッファ・オーバーフローやアンダーフローを被ることなくビデオ・ビットストリームをデコードするようビットレートゆらぎを制御することをエンコーダに要求する。
【0005】
HRDは理想化されたデコーダ・モデルに基づいている。HRDの目的は、符号化されたストリーム内において時間的なビットレートの変動に対する基本的なバッファリング制約条件を課すことである。これらの制約条件が今度はより高いレイヤーがストリームを多重化することを可能にし、コスト効率のよいデコーダがそれをリアルタイムでデコードすることを可能にする。しかしながら、本発明は、他のビデオ符号化モデルまたは規格に拡張されることができる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、マルチビュー・ビデオ符号化(MVC)のための仮想参照デコーダ(HRD)を定義するいくつかの方法を提案する。
【課題を解決するための手段】
【0007】
現行のH.264/MPEG-4 AVCベースのMVC実装では、参照ソフトウェアは、マルチビュー予測を、各ビューを単一のエンコーダでエンコードし、ビュー横断参照を考慮に入れることによって達成する。各ビューはそのもとの解像度でエンコーダによって別個のビットストリームとして符号化され、のちにすべてのビットストリームが組み合わされて単一のビットストリームを形成する。デコーダでは、ユーザーは一つまたは複数のビューをそのアプリケーションに基づいてデコードできる。現在の仕様では、MVCについてはHRD規則は定義されていない。
【0008】
MVCにおいて、全部でN個の符号化されたビューがあるとする。デコーダは任意のM(1≦M≦N)個のビューを同時にデコードする柔軟性をもつことができる。M個のビューの各組み合わせが相互運用点(IOP: interoperability point)を表す。最良の柔軟性を許容するため、このカテゴリーにおいては、本発明は、MVC HRDがHRD制約条件を各IOPについて定義することを提案する。この解決策の問題は、(2N−1)にも上るあまりに多くの組み合わせがあるということである。MについてM≦32という制限が加えられたとしても、組み合わせの総数はまだ巨大である。本発明は、マルチビュー・ビデオ符号化についての仮想参照デコーダについての規則であって、各相互運用点について指定される規則を提供する方法を記述する。
【図面の簡単な説明】
【0009】
【図1】諸単独ビューのHRDパラメータによって導出される諸ビュー組み合わせのHRDパラメータを示す図である。
【図2】マルチビュー・ビデオ符号化エンコーダを示す図である。
【図3】マルチビュー・ビデオ符号化デコーダを示す図である。
【図4】カテゴリー1のMVCエンコード・プロセスについてビデオ使用可能性情報(Video Usability Information)を示す図である。
【図5】カテゴリー1のMVCデコード・プロセスについてビデオ使用可能性情報を示す図である。
【図6】カテゴリー1のマルチビュー・ネスティングSEIエンコード・プロセスを示す図である。
【図7】カテゴリー1のマルチビュー・ネスティングSEIデコード・プロセスを示す図である。
【図8】カテゴリー2のMVCエンコード・プロセスについてビデオ使用可能性情報を示す図である。
【図9】カテゴリー2のMVCデコード・プロセスについてビデオ使用可能性情報を示す図である。
【図10】カテゴリー2および3のマルチビュー・ネスティングSEIエンコード・プロセスを示す図である。
【図11】カテゴリー2および3のマルチビュー・ネスティングSEIデコード・プロセスを示す図である。
【図12】カテゴリー3のMVCエンコード・プロセスについてビデオ使用可能性情報を示す図である。
【図13】カテゴリー3のMVCデコード・プロセスについてビデオ使用可能性情報を示す図である。
【発明を実施するための形態】
【0010】
現行のH.264/MPEG-4 AVC参照実装では、HRD関係のパラメータがシーケンス・パラメータ・セット(SPS: sequence parameter set)およびSEIメッセージ内に置かれる。
【0011】
SPSは表1に示されるようなシンタックス構造、VUIパラメータを含む。
【0012】
【表1】
シンタックス要素num_units_in_tick、time_scale、fixed_frame_rate_flagおよびlow_delay_hrd_flagおよびシンタックス構造HRDパラメータが、表2に示すようなシンタックス構造VUIパラメータ内に置かれる。
【0013】
【表2】
シンタックス構造HRD_parametersは、バッファ・サイズおよびビットレート等を指定するシンタックスを含む。
【0014】
バッファ周期SEI(buffer period SEI)およびピクチャー・タイミングSEI(picture timing SEI)は、ピクチャーをデコードする前の初期の符号化されたピクチャーのバッファ除去遅延と、各ピクチャーのタイミングを導出するための諸パラメータとを指定した。
【0015】
現行のAVC実装、SPS内に置かれたHRD関係のパラメータに基づいて、バッファリング周期SEIおよびピクチャー・タイムSEI内に置かれる諸パラメータと組み合わせて、HRD関係制約条件のセットがH.264/MPEG-4 AVCについて定義される。
【0016】
しかしながら、現行のAVC実装は、HRDパラメータの一つのセットをサポートするのみである。これはMVCビットストリームに含まれる複数IOPにフィットしない。
【0017】
現行のH.264/MPEG-4 AVCベースのMVC実装では、参照ソフトウェアは、各ビューを単一のエンコーダを用いてエンコードし、ビュー横断参照を考慮に入れることによって、マルチビュー予測を達成する。各ビューはエンコーダによって、そのもとの解像度で別個のビットストリームとして符号化され、のちにすべてのビットストリームが組み合わされて単一のビットストリームを形成する。デコーダでは、ユーザーは一つまたは複数のビューをそのアプリケーションに基づいてデコードできる。MVCエンコーダおよびデコーダの図がそれぞれ図2および図3に示されている。
【0018】
現行の仕様では、MVCについて定義されたHRD規則はない。
【0019】
記述される実施形態の多くは、H.264/MPEG-4 AVCベースのMVC実装のフレームワークを使う。同様の発想は、他のビデオ符号化規格にも適用できる。たとえば、一つまたは複数の動作点(operating point)(相互運用点のような)について特定のパラメータを指定する機能は、H.264/MPEG-4 AVC規格以外の規格にも適用できる。
【0020】
三つの別個のクラスの実装が記述される。
【0021】
A.MVCにおける各相互運用可能点についてのHRD規則の規定
MVCにおいて、全部でN個の符号化されたビューがあるとする。デコーダは任意のM(1≦M≦N)個のビューを同時にデコードする柔軟性をもつことができる。M個のビューの各組み合わせは相互運用点(IOP: interoperability point)を表す。最良の柔軟性を許容するため、このカテゴリーにおいて、本発明は、MVC HRDがHRD制約条件を各IOPについて定義することを提案する。この解決策の問題は、(2N−1)にも上るあまりに多くの組み合わせがあるということである。MについてM≦32という制限が加えられたとしても、組み合わせの総数はまだ巨大である。
【0022】
この解決策の実施形態を以下に呈示する。
【0023】
ビューのすべての組み合わせは、AVC-HRD規則への次の修正において組み合わされる。表3はAVC規格から取られており、AVC-HRDに関係する。AVC規格の表への追加はイタリック体フォントを使って示されている。新しいSEIメッセージであるマルチビュー・ネスティングSEI(multiview nesting SEI)が表4で導入される。VUIエンコードおよびデコード過程のフローチャートがそれぞれ図4および図5に示される。マルチビュー・ネスティングSEIエンコードおよびデコード過程のフローチャートはそれぞれ図6および図7に示される。
【0024】
1.VUIパラメータ:見て取れるように、表3は、AVC規格におけるVUIパラメータのシンタックスが変数「profile_idc」を試験する「if‐then」文を導入することによって修正されていることを示している。「profile_idc」が「MVC」に等しければ、一つまたは複数の点(すなわちIOP)を試験するためにループが一回または複数回実行される。「profile_idc」が「MVC」に等しくない場合、「AVC」が関連する規格であると想定され、(既存のAVC-HRD規則を使って)AVC準拠について一つの点を試験するために「else」が実行される。行30〜60は「profile_idc」がMVCである場合に実行され、そうでない場合には行63〜88が実行される。変数「num_view_combinations_minus1」〔ビュー組み合わせ数マイナス1〕(行30)はループ中のIOPの数を与える。メイン・ループ内において、各IOPについてのサブ・ループ(行33〜34)はそのIOPに関連付けられたview_idを与える。各サブ・ループについて、「num_views_minus1[i]」〔ビュー数マイナス1〕(行32)はi番目のIOPに関連付けられたビューの数を与え、「view_id[i][j]」(行34)はi番目のIOPのj番目のビューのview_idを与える。行35〜59はi番目のIOPについてのシンタックスを与える。あるMVCビットストリームについて、(2N−1)個までのIOPがあることができる。これは、AVCストリームについての単一の検査点(checking point)と比較される。
【0025】
2.新しいSEIメッセージ、マルチビュー・ネスティングSEIが表4で定義される。マルチビュー・ネスティングSEIメッセージは、アクセス・ユニットに関する。マルチビュー・ネストSEIメッセージは、一つにして唯一のSEIメッセージを含んでいる。これはネストされたSEIメッセージと称される。ネストされたSEIメッセージが適用される範囲は、行2〜10からのシンタックスによって示される。
【0026】
「num_view_combinations_minus1」、「num_views_minus1[i]」および「view_id[i][j]」はVUIパラメータにおけるものと同じ意味を共有する。
【0027】
3.バッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージ(これらはAVCの一部である)は、マルチビュー・ネスティングSEIメッセージに埋め込まれたSEIメッセージ・ペイロードとして実装されることができる。バッファリング周期SEIおよびピクチャー・タイミングSEIのシンタックスは、AVCと同じままである。AVC互換ビューのためのバッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIにおいてネストされてはならない。これは、AVC互換性を許容する。
【0028】
【表3】
num_view_combinations_minus1に1を足したものは、このhrd_parameters()を含むSPSにおける同じseq_parameter_set_idを参照するビットストリームによってサポートされるビュー組み合わせの数を示す。
num_views_minus1[i]は、i番目のIOPに関連付けられたビューの数を示す。
view_id[i][j]はi番目のIOPのj番目のビューのview_idを示す。
timing_info_present_flag[i]はi番目のIOPのtiming_info_present_flag値を指定する。
num_units_in_tick[i]はi番目のIOPのnum_units_in_tick値を指定する。
time_scale[i]はi番目のIOPのtime_scale値を指定する。
fixed_frame_rate_flag[i]はi番目のIOPのfixed_frame_rate_flag値を指定する。
nal_hrd_parameters_present_flag[i]はi番目のIOPのnal_hrd_parameters_present_flag値を指定する。
vcl_hrd_parameters_present_flag[i]はi番目のIOPのvcl_hrd_parameters_present_flag値を指定する。
low_delay_hrd_flag[i]はi番目のIOPのlow_delay_hrd_flag値を指定する。
pic_struct_present_flag[i]はi番目のIOPのpic_struct_present_flag値を指定する。
【0029】
timing_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、vcl_hrd_parameters_present_flag、low_delay_hrd_flagおよびpic_struct_present_flagはAVCにおけるのと同じ意味をもつ。
【0030】
【表4】
all_view_combinations_in_au_flagが1に等しいことは、ネストされたSEIメッセージがアクセス・ユニット(access unit)のすべてのビュー組み合わせに適用されることを示す。
all_view_combinations_in_au_flagが0に等しいことは、ネストされるSEIメッセージの適用可能な範囲がシンタックス要素num_view_combinations_minus1、num_views_minus1[i]およびview_id[i][j]によって伝達されることを示す。
num_view_combinations_minus1に1を足したものは、ビットストリームによってサポートされるビュー組み合わせの数を示す。
num_views_minus1[i]は、i番目のIOPに関連付けられたビューの数を示す。
view_id[i][j]はi番目のIOPのj番目のビューのview_idを示す。
【0031】
B.IOPのあるセットについてのみのHRD規則の規定
このカテゴリーでは、IOPのあるセットについてMVC HRDを定義し、このセットからIOPの他の諸セットを導出することが提案される。一つの実施形態は、MVC HRDは可能な各単独ビューをデコードするためのHRD制約条件を定義するのみで、二つ以上のビューをデコードするためのHRDパラメータは関連する単独ビュー・パラメータから導出されるという提案である。このアプローチは、第一のアプローチよりも少数のパラメータを送ることを許容するが、導出のための一層の複雑さを追加する。
【0032】
この解決策の実施形態を以下に呈示する。
【0033】
HRDは各ビューについて定義される。送るHRDパラメータのセットの最大数はMである。ここで、M=1,…,Nである。よって、N個のビューがあれば、この実施形態はHRDパラメータのN個のセットを送ることになる。VUIエンコードおよびデコード過程のフローチャートがそれぞれ図8および図9に示されている。そして、マルチビュー・ネスティングSEIエンコードおよびデコード過程のフローチャートがそれぞれ図10および図11に示されている。
【0034】
1.VUIパラメータ:見て取れるように、は、AVC規格におけるVUIパラメータのシンタックスが変数「profile_idc」を試験する「if‐then」文を導入することによって修正されていることを示している。「profile_idc」が「MVC」に等しければ、一つまたは複数の点を試験するためにループが一回または複数回実行される。「profile_idc」が「MVC」に等しくない場合、「AVC」が関連する規格であると想定され、(既存のAVC-HRD規則を使って)AVC準拠について一つの点を試験するために「else」が実行される。行30〜58は「profile_idc」がMVCである場合に実行され、そうでない場合には行61〜85が実行される。変数「num_view_ minus1」(行30)はループ中のビューの数を与える。「view_id[i]」(行32)はi番目のビューのview_idを与える。行33〜58はi番目のビューについてのシンタックスを与える。あるMVCビットストリームについて、M(M=1,…,N)個までのビューがあることができる。これは、AVCストリームについての単一の検査点(checking point)と比較される。
【0035】
2.新しいSEIメッセージ、マルチビュー・ネスティングSEIが表6で定義される。マルチビュー・ネスティングSEIメッセージは、アクセス・ユニットに関する。マルチビュー・ネスティングSEIメッセージは、一つにして唯一のSEIメッセージを含んでいる。これはネストされたSEIメッセージと称される。ネストされたSEIメッセージが適用される範囲は、行2〜7からのシンタックスによって示される。
【0036】
「num_views_minus1」および「view_id[i]」は、VUIパラメータにおけるものと同じ意味を共有する。
【0037】
3.バッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIメッセージに埋め込まれたSEIメッセージ・ペイロードとしてであることができる。バッファリング周期SEIおよびピクチャー・タイミングSEIのシンタックスは、AVCと同じままである。AVC互換ビューのためのバッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIにおいてネストされてはならない。
【0038】
各IOP(ビュー組み合わせ)のHRDパラメータは、そのIOPに関連付けられた諸ビューのHRDパラメータによって導出される。例が図1に与えられている。
【0039】
【表5】
num_views_minus1は、ビットストリーム中のビューの総数を示す。
view_id[i]はi番目のビューのview_idを示す。
timing_info_present_flag[i]はi番目のビューのtiming_info_present_flag値を指定する。
num_units_in_tick[i]はi番目のビューのnum_units_in_tick値を指定する。
time_scale[i]はi番目のIOPのtime_scale値を指定する。
fixed_frame_rate_flag[i]はi番目のビューのfixed_frame_rate_flag値を指定する。
nal_hrd_parameters_present_flag[i]はi番目のビューのnal_hrd_parameters_present_flag値を指定する。
vcl_hrd_parameters_present_flag[i]はi番目のビューのvcl_hrd_parameters_present_flag値を指定する。
low_delay_hrd_flag[i]はi番目のビューのlow_delay_hrd_flag値を指定する。
pic_struct_present_flag[i]はi番目のビューのpic_struct_present_flag値を指定する。
【0040】
timing_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、vcl_hrd_parameters_present_flag、low_delay_hrd_flagおよびpic_struct_present_flagはAVCにおけるのと同じ意味をもつ。
【0041】
【表6】
all_views_in_au_flagが1に等しいことは、ネストされたSEIメッセージがアクセス・ユニットのすべてのビューに適用されることを示す。all_views_ in_au_flagが0に等しいことは、ネストされるSEIメッセージの適用可能な範囲がシンタックス要素num_views _minus1およびview_id[i]によって伝達されることを示す。
num_views_minus1に1を足したものは、ビットストリームによってサポートされるビューの数を示す。
view_id[i]はi番目のビューのview_idを示す。
【0042】
C.最悪ケースについてのHRD規則の規定
このカテゴリーでは、M(M=1,…,N)個のビューをデコードする最悪ケースについてのHRD制約条件のみを定義することが提案される。最悪ケースは、たとえば、最大バッファ・サイズ、最長遅延、最高ビットレート、任意のM個のビューを伝送することの最多ビット消費などを要求するケースである。よって、各MビューをデコードするためにHRDパラメータの一つのセットを定義することができるだけである。すなわち、最悪ケースの単独ビューについてHRDパラメータのセットと、最悪ケースの2ビュー組み合わせについてのHRDパラメータのセット等、最悪ケースのN−1ビュー組み合わせについてのHRDパラメータのセットまでと、(最悪ケースの)Nビュー組み合わせについてのHRDパラメータのセットを定義する。全部で、NセットのHRDパラメータを定義するだけであり、これらが1、2、…N個までのビューについてHRD準拠を試験するために使われる。このアプローチの不都合な点は、一つの特定の場合が必要としうるよりも高い制約条件を送ることを要求するということである。しかし、すべてのHRDパラメータを送るためのビットを節約することができ、パラメータの導出もない。
【0043】
この解決策の実施形態を下記に呈示する。
【0044】
送るHRDパラメータのセットの最大数はMである。ここで、M=1,…,Nである。VUIエンコードおよびデコード過程のフローチャートがそれぞれ図12および図13に示されている。
【0045】
1.VUIパラメータ:見て取れるように、表7は、AVC規格におけるVUIパラメータのシンタックスが変数「profile_idc」を試験する「if‐then」文を導入することによって修正されていることを示している。「profile_idc」が「MVC」に等しければ、一つまたは複数の点を試験するためにループが一回または複数回実行される。「profile_idc」が「MVC」に等しくない場合、「AVC」が関連する規格であると想定され、(既存のAVC-HRD規則を使って)AVC準拠について一つの点を試験するために「else」が実行される。行30〜57は「profile_idc」がMVCである場合に実行され、そうでない場合には行60〜84が実行される。変数「num_view_ minus1」(行30)はビットストリーム中のビューの数を与える。行32〜56は、(num_views_minus1+1)個のビューのうちの任意のi個のビューをデコードすることの最高のHRD制約条件に関連付けられたHRD関係のパラメータについてのシンタックスを与える。
【0046】
表7が表5と異なっていることに注意されたい。たとえば、表5の行32を参照すると、「view_id[i]」と記載している。
【0047】
2.バッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIメッセージに埋め込まれたSEIメッセージ・ペイロードとしてであることができる。マルチビュー・ネスティングSEIメッセージのシンタックスは、表6で定義されたものを共有できる。ネストするバッファリング周期およびピクチャー・タイミングSEIメッセージは、ビットストリーム中で送るビューの総数のうち任意の(num_views_minus1+1)個のビューをデコードすることの最高のHRD制約条件に関連付けられている。バッファリグ周期SEIおよびピクチャー・タイミングSEIのシンタックスは、AVCと同じままである。AVC互換ビューのためのバッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIにおいてネストされてはならない。
【0048】
【表7】
num_views_minus1は、ビットストリーム中のビューの総数を示す。
timing_info_present_flag[i]はi個のビューをデコードするためのtiming_info_present_flag値を指定する。
num_units_in_tick[i]はi個のビューをデコードするためのnum_units_in_tick値を指定する。
time_scale[i]はi個のビューをデコードするためのtime_scale値を指定する。
fixed_frame_rate_flag[i]はi個のビューをデコードするためのfixed_frame_rate_flag値を指定する。
nal_hrd_parameters_present_flag[i]はi個のビューをデコードするためのnal_hrd_parameters_present_flag値を指定する。
vcl_hrd_parameters_present_flag[i]はi個のビューをデコードするためのvcl_hrd_parameters_present_flag値を指定する。
low_delay_hrd_flag[i]はi個のビューをデコードするためのlow_delay_hrd_flag値を指定する。
pic_struct_present_flag[i]はi個のビューをデコードするためのpic_struct_present_flag値を指定する。
【0049】
パラメータtiming_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、vcl_hrd_parameters_present_flag、low_delay_hrd_flagおよびpic_struct_present_flagはAVCにおけるのと同じ意味をもつ。
【0050】
図4ないし図13は、同定される特定のシンタックスを書き込むまたは読み出すためのさまざまなフローチャートを示している。
【0051】
本稿では、たとえばMVCのためのHRDの記述を書き込むおよび/または読み込むための規則を提供するいくつかの実装が記載されている。これはHRDがMVCにおいて定義され、使用されることを許容する。
【0052】
しかしながら、記載された実装の諸特徴および諸側面は他の実装のためにも適応されてもよい。たとえば、上に示したように、他の規格のために上記の機能を使ってHRDが提供されてもよい。さらに、HRDは、上記の実施形態の変形を使ってMVCのために提供されてもよい。そのような変形は、たとえば、他の高レベル・シンタックスを使う、高レベルでないシンタックスを使う、他のIOPのためのHRDパラメータを提供する実装を含みうる。したがって、本稿に記載されている諸実装は、本稿に記載される三つの主要な実装の一つを実装するH.264のための高レベル・シンタックスのコンテキストで記載されているかもしれないが、そのような記述は決して本願の特徴および概念をそのような実装またはコンテキストに限定するものと解釈するべきではない。
【0053】
本稿で記載された実装はたとえば、方法もしくはプロセス、装置またはソフトウェア・プログラムにおいて実装されうる。たとえ単一の形の実装のコンテキストでのみ論じられていたとしても(たとえば方法としてのみ論じられていたとしても)、論じられている実装または特徴は他の形(たとえば装置またはプログラム)においても実装されうる。装置は、たとえば、適切なハードウェア、ソフトウェアおよびファームウェアにおいて実装されうる。方法はたとえば、コンピュータまたは他の処理装置などのような装置において実装されてもよい。さらに、方法は、処理装置または他の装置によって実行される命令によって実装されてもよく、そのような命令は、たとえばDVDまたは他のコンピュータ可読記憶デバイスのようなコンピュータ可読媒体上、あるいは集積回路上に記憶されてもよい。
【0054】
当業者には明白なはずであるが、実装はまた、たとえば記憶または伝送されうる情報を担持するようフォーマットされた信号を生成してもよい。該情報はたとえば、方法を実行するための命令、あるいは記載された実装の一つによって生成されるデータを含んでもよい。たとえば、信号は、記述された実施形態のシンタックスを書き込むまたは読み出すための規則をデータとして担持するよう、あるいは記載された実施形態によって書き込まれる実際のシンタックスをデータとして担持するようフォーマットされてもよい。
【0055】
さらに、多くの実装が、エンコーダおよびデコーダの一方または両方において実装されうる。
【0056】
さらに、本発明によって他の実装が考えられている。たとえば、開示されている実装のさまざまな特徴を組み合わせ、削除し、修正しまたは補足することによって、追加的な実装が作り出されてもよい。
【0057】
以上の記述はさまざまな実装のいくつかを提供する。それは網羅的であることは意図されておらず、単に数多くの可能な実装のうちの少数の短い記述を提供するものである。
【技術分野】
【0001】
関連出願への相互参照
本願は、2007年4月17日に出願された米国仮出願第60/923,800号の利益を主張するものである。同仮出願はここにその全体において参照によって組み込まれる。
【0002】
技術分野
本願は、圧縮ビデオ・システムにおけるマルチビュー・ビデオ符号化のための仮想参照デコーダに関する。
【背景技術】
【0003】
仮想参照デコーダ(HRD: hypothetical reference decoder)は、標準への準拠について、エンコードされたビットストリームを検証する役割を果たすので、圧縮ビデオ・システムにおいて貴重である。H.264/AVCのような符号化規格では、同規格のマルチビュー・ビデオ符号化(MVC: Multiview Video Coding)内において多数の相互運用点(interoperability point)がある。MVCは、デコーダが一つまたは複数のビューを同時にデコードすることを許容し、一つのビューのデコードは他のビューからの情報を必要とすることがありうる。H.264/AVC規格はHRDを定義する規則(要件、制約条件または動作仕様とも称される)をもつ。HRD準拠はH.264/MPEG-4 AVC規格の規範的部分である。どんなAVCビットストリームも、前記規則に従って構築されたHRDに準拠していなければならない。現在のところ、MVC HRDについて定義された規則はない。以前のHRDは、AVC内のMVCビットストリームのようなビットストリームを検証できるようにする十分な規則をもたなかった。
【0004】
多くの場合において、圧縮されたビットストリームのビットレート変動が、エンコーダおよびデコーダにおけるバッファリング機構を使ってならされる必要がある。物理的バッファのサイズは有限であり、よってエンコーダは、バッファ制限内に収まるようビットレート変動を制約する。ビデオ符号化規格は特定のエンコーダまたはデコーダ・バッファリング機構を必須としてはおらず、所与のバッファ・サイズの仮想参照デコーダ(HRD)(またはバーチャル・バッファ検証器(VBV: Virtual Buffer Verifier))がバッファ・オーバーフローやアンダーフローを被ることなくビデオ・ビットストリームをデコードするようビットレートゆらぎを制御することをエンコーダに要求する。
【0005】
HRDは理想化されたデコーダ・モデルに基づいている。HRDの目的は、符号化されたストリーム内において時間的なビットレートの変動に対する基本的なバッファリング制約条件を課すことである。これらの制約条件が今度はより高いレイヤーがストリームを多重化することを可能にし、コスト効率のよいデコーダがそれをリアルタイムでデコードすることを可能にする。しかしながら、本発明は、他のビデオ符号化モデルまたは規格に拡張されることができる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、マルチビュー・ビデオ符号化(MVC)のための仮想参照デコーダ(HRD)を定義するいくつかの方法を提案する。
【課題を解決するための手段】
【0007】
現行のH.264/MPEG-4 AVCベースのMVC実装では、参照ソフトウェアは、マルチビュー予測を、各ビューを単一のエンコーダでエンコードし、ビュー横断参照を考慮に入れることによって達成する。各ビューはそのもとの解像度でエンコーダによって別個のビットストリームとして符号化され、のちにすべてのビットストリームが組み合わされて単一のビットストリームを形成する。デコーダでは、ユーザーは一つまたは複数のビューをそのアプリケーションに基づいてデコードできる。現在の仕様では、MVCについてはHRD規則は定義されていない。
【0008】
MVCにおいて、全部でN個の符号化されたビューがあるとする。デコーダは任意のM(1≦M≦N)個のビューを同時にデコードする柔軟性をもつことができる。M個のビューの各組み合わせが相互運用点(IOP: interoperability point)を表す。最良の柔軟性を許容するため、このカテゴリーにおいては、本発明は、MVC HRDがHRD制約条件を各IOPについて定義することを提案する。この解決策の問題は、(2N−1)にも上るあまりに多くの組み合わせがあるということである。MについてM≦32という制限が加えられたとしても、組み合わせの総数はまだ巨大である。本発明は、マルチビュー・ビデオ符号化についての仮想参照デコーダについての規則であって、各相互運用点について指定される規則を提供する方法を記述する。
【図面の簡単な説明】
【0009】
【図1】諸単独ビューのHRDパラメータによって導出される諸ビュー組み合わせのHRDパラメータを示す図である。
【図2】マルチビュー・ビデオ符号化エンコーダを示す図である。
【図3】マルチビュー・ビデオ符号化デコーダを示す図である。
【図4】カテゴリー1のMVCエンコード・プロセスについてビデオ使用可能性情報(Video Usability Information)を示す図である。
【図5】カテゴリー1のMVCデコード・プロセスについてビデオ使用可能性情報を示す図である。
【図6】カテゴリー1のマルチビュー・ネスティングSEIエンコード・プロセスを示す図である。
【図7】カテゴリー1のマルチビュー・ネスティングSEIデコード・プロセスを示す図である。
【図8】カテゴリー2のMVCエンコード・プロセスについてビデオ使用可能性情報を示す図である。
【図9】カテゴリー2のMVCデコード・プロセスについてビデオ使用可能性情報を示す図である。
【図10】カテゴリー2および3のマルチビュー・ネスティングSEIエンコード・プロセスを示す図である。
【図11】カテゴリー2および3のマルチビュー・ネスティングSEIデコード・プロセスを示す図である。
【図12】カテゴリー3のMVCエンコード・プロセスについてビデオ使用可能性情報を示す図である。
【図13】カテゴリー3のMVCデコード・プロセスについてビデオ使用可能性情報を示す図である。
【発明を実施するための形態】
【0010】
現行のH.264/MPEG-4 AVC参照実装では、HRD関係のパラメータがシーケンス・パラメータ・セット(SPS: sequence parameter set)およびSEIメッセージ内に置かれる。
【0011】
SPSは表1に示されるようなシンタックス構造、VUIパラメータを含む。
【0012】
【表1】
シンタックス要素num_units_in_tick、time_scale、fixed_frame_rate_flagおよびlow_delay_hrd_flagおよびシンタックス構造HRDパラメータが、表2に示すようなシンタックス構造VUIパラメータ内に置かれる。
【0013】
【表2】
シンタックス構造HRD_parametersは、バッファ・サイズおよびビットレート等を指定するシンタックスを含む。
【0014】
バッファ周期SEI(buffer period SEI)およびピクチャー・タイミングSEI(picture timing SEI)は、ピクチャーをデコードする前の初期の符号化されたピクチャーのバッファ除去遅延と、各ピクチャーのタイミングを導出するための諸パラメータとを指定した。
【0015】
現行のAVC実装、SPS内に置かれたHRD関係のパラメータに基づいて、バッファリング周期SEIおよびピクチャー・タイムSEI内に置かれる諸パラメータと組み合わせて、HRD関係制約条件のセットがH.264/MPEG-4 AVCについて定義される。
【0016】
しかしながら、現行のAVC実装は、HRDパラメータの一つのセットをサポートするのみである。これはMVCビットストリームに含まれる複数IOPにフィットしない。
【0017】
現行のH.264/MPEG-4 AVCベースのMVC実装では、参照ソフトウェアは、各ビューを単一のエンコーダを用いてエンコードし、ビュー横断参照を考慮に入れることによって、マルチビュー予測を達成する。各ビューはエンコーダによって、そのもとの解像度で別個のビットストリームとして符号化され、のちにすべてのビットストリームが組み合わされて単一のビットストリームを形成する。デコーダでは、ユーザーは一つまたは複数のビューをそのアプリケーションに基づいてデコードできる。MVCエンコーダおよびデコーダの図がそれぞれ図2および図3に示されている。
【0018】
現行の仕様では、MVCについて定義されたHRD規則はない。
【0019】
記述される実施形態の多くは、H.264/MPEG-4 AVCベースのMVC実装のフレームワークを使う。同様の発想は、他のビデオ符号化規格にも適用できる。たとえば、一つまたは複数の動作点(operating point)(相互運用点のような)について特定のパラメータを指定する機能は、H.264/MPEG-4 AVC規格以外の規格にも適用できる。
【0020】
三つの別個のクラスの実装が記述される。
【0021】
A.MVCにおける各相互運用可能点についてのHRD規則の規定
MVCにおいて、全部でN個の符号化されたビューがあるとする。デコーダは任意のM(1≦M≦N)個のビューを同時にデコードする柔軟性をもつことができる。M個のビューの各組み合わせは相互運用点(IOP: interoperability point)を表す。最良の柔軟性を許容するため、このカテゴリーにおいて、本発明は、MVC HRDがHRD制約条件を各IOPについて定義することを提案する。この解決策の問題は、(2N−1)にも上るあまりに多くの組み合わせがあるということである。MについてM≦32という制限が加えられたとしても、組み合わせの総数はまだ巨大である。
【0022】
この解決策の実施形態を以下に呈示する。
【0023】
ビューのすべての組み合わせは、AVC-HRD規則への次の修正において組み合わされる。表3はAVC規格から取られており、AVC-HRDに関係する。AVC規格の表への追加はイタリック体フォントを使って示されている。新しいSEIメッセージであるマルチビュー・ネスティングSEI(multiview nesting SEI)が表4で導入される。VUIエンコードおよびデコード過程のフローチャートがそれぞれ図4および図5に示される。マルチビュー・ネスティングSEIエンコードおよびデコード過程のフローチャートはそれぞれ図6および図7に示される。
【0024】
1.VUIパラメータ:見て取れるように、表3は、AVC規格におけるVUIパラメータのシンタックスが変数「profile_idc」を試験する「if‐then」文を導入することによって修正されていることを示している。「profile_idc」が「MVC」に等しければ、一つまたは複数の点(すなわちIOP)を試験するためにループが一回または複数回実行される。「profile_idc」が「MVC」に等しくない場合、「AVC」が関連する規格であると想定され、(既存のAVC-HRD規則を使って)AVC準拠について一つの点を試験するために「else」が実行される。行30〜60は「profile_idc」がMVCである場合に実行され、そうでない場合には行63〜88が実行される。変数「num_view_combinations_minus1」〔ビュー組み合わせ数マイナス1〕(行30)はループ中のIOPの数を与える。メイン・ループ内において、各IOPについてのサブ・ループ(行33〜34)はそのIOPに関連付けられたview_idを与える。各サブ・ループについて、「num_views_minus1[i]」〔ビュー数マイナス1〕(行32)はi番目のIOPに関連付けられたビューの数を与え、「view_id[i][j]」(行34)はi番目のIOPのj番目のビューのview_idを与える。行35〜59はi番目のIOPについてのシンタックスを与える。あるMVCビットストリームについて、(2N−1)個までのIOPがあることができる。これは、AVCストリームについての単一の検査点(checking point)と比較される。
【0025】
2.新しいSEIメッセージ、マルチビュー・ネスティングSEIが表4で定義される。マルチビュー・ネスティングSEIメッセージは、アクセス・ユニットに関する。マルチビュー・ネストSEIメッセージは、一つにして唯一のSEIメッセージを含んでいる。これはネストされたSEIメッセージと称される。ネストされたSEIメッセージが適用される範囲は、行2〜10からのシンタックスによって示される。
【0026】
「num_view_combinations_minus1」、「num_views_minus1[i]」および「view_id[i][j]」はVUIパラメータにおけるものと同じ意味を共有する。
【0027】
3.バッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージ(これらはAVCの一部である)は、マルチビュー・ネスティングSEIメッセージに埋め込まれたSEIメッセージ・ペイロードとして実装されることができる。バッファリング周期SEIおよびピクチャー・タイミングSEIのシンタックスは、AVCと同じままである。AVC互換ビューのためのバッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIにおいてネストされてはならない。これは、AVC互換性を許容する。
【0028】
【表3】
num_view_combinations_minus1に1を足したものは、このhrd_parameters()を含むSPSにおける同じseq_parameter_set_idを参照するビットストリームによってサポートされるビュー組み合わせの数を示す。
num_views_minus1[i]は、i番目のIOPに関連付けられたビューの数を示す。
view_id[i][j]はi番目のIOPのj番目のビューのview_idを示す。
timing_info_present_flag[i]はi番目のIOPのtiming_info_present_flag値を指定する。
num_units_in_tick[i]はi番目のIOPのnum_units_in_tick値を指定する。
time_scale[i]はi番目のIOPのtime_scale値を指定する。
fixed_frame_rate_flag[i]はi番目のIOPのfixed_frame_rate_flag値を指定する。
nal_hrd_parameters_present_flag[i]はi番目のIOPのnal_hrd_parameters_present_flag値を指定する。
vcl_hrd_parameters_present_flag[i]はi番目のIOPのvcl_hrd_parameters_present_flag値を指定する。
low_delay_hrd_flag[i]はi番目のIOPのlow_delay_hrd_flag値を指定する。
pic_struct_present_flag[i]はi番目のIOPのpic_struct_present_flag値を指定する。
【0029】
timing_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、vcl_hrd_parameters_present_flag、low_delay_hrd_flagおよびpic_struct_present_flagはAVCにおけるのと同じ意味をもつ。
【0030】
【表4】
all_view_combinations_in_au_flagが1に等しいことは、ネストされたSEIメッセージがアクセス・ユニット(access unit)のすべてのビュー組み合わせに適用されることを示す。
all_view_combinations_in_au_flagが0に等しいことは、ネストされるSEIメッセージの適用可能な範囲がシンタックス要素num_view_combinations_minus1、num_views_minus1[i]およびview_id[i][j]によって伝達されることを示す。
num_view_combinations_minus1に1を足したものは、ビットストリームによってサポートされるビュー組み合わせの数を示す。
num_views_minus1[i]は、i番目のIOPに関連付けられたビューの数を示す。
view_id[i][j]はi番目のIOPのj番目のビューのview_idを示す。
【0031】
B.IOPのあるセットについてのみのHRD規則の規定
このカテゴリーでは、IOPのあるセットについてMVC HRDを定義し、このセットからIOPの他の諸セットを導出することが提案される。一つの実施形態は、MVC HRDは可能な各単独ビューをデコードするためのHRD制約条件を定義するのみで、二つ以上のビューをデコードするためのHRDパラメータは関連する単独ビュー・パラメータから導出されるという提案である。このアプローチは、第一のアプローチよりも少数のパラメータを送ることを許容するが、導出のための一層の複雑さを追加する。
【0032】
この解決策の実施形態を以下に呈示する。
【0033】
HRDは各ビューについて定義される。送るHRDパラメータのセットの最大数はMである。ここで、M=1,…,Nである。よって、N個のビューがあれば、この実施形態はHRDパラメータのN個のセットを送ることになる。VUIエンコードおよびデコード過程のフローチャートがそれぞれ図8および図9に示されている。そして、マルチビュー・ネスティングSEIエンコードおよびデコード過程のフローチャートがそれぞれ図10および図11に示されている。
【0034】
1.VUIパラメータ:見て取れるように、は、AVC規格におけるVUIパラメータのシンタックスが変数「profile_idc」を試験する「if‐then」文を導入することによって修正されていることを示している。「profile_idc」が「MVC」に等しければ、一つまたは複数の点を試験するためにループが一回または複数回実行される。「profile_idc」が「MVC」に等しくない場合、「AVC」が関連する規格であると想定され、(既存のAVC-HRD規則を使って)AVC準拠について一つの点を試験するために「else」が実行される。行30〜58は「profile_idc」がMVCである場合に実行され、そうでない場合には行61〜85が実行される。変数「num_view_ minus1」(行30)はループ中のビューの数を与える。「view_id[i]」(行32)はi番目のビューのview_idを与える。行33〜58はi番目のビューについてのシンタックスを与える。あるMVCビットストリームについて、M(M=1,…,N)個までのビューがあることができる。これは、AVCストリームについての単一の検査点(checking point)と比較される。
【0035】
2.新しいSEIメッセージ、マルチビュー・ネスティングSEIが表6で定義される。マルチビュー・ネスティングSEIメッセージは、アクセス・ユニットに関する。マルチビュー・ネスティングSEIメッセージは、一つにして唯一のSEIメッセージを含んでいる。これはネストされたSEIメッセージと称される。ネストされたSEIメッセージが適用される範囲は、行2〜7からのシンタックスによって示される。
【0036】
「num_views_minus1」および「view_id[i]」は、VUIパラメータにおけるものと同じ意味を共有する。
【0037】
3.バッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIメッセージに埋め込まれたSEIメッセージ・ペイロードとしてであることができる。バッファリング周期SEIおよびピクチャー・タイミングSEIのシンタックスは、AVCと同じままである。AVC互換ビューのためのバッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIにおいてネストされてはならない。
【0038】
各IOP(ビュー組み合わせ)のHRDパラメータは、そのIOPに関連付けられた諸ビューのHRDパラメータによって導出される。例が図1に与えられている。
【0039】
【表5】
num_views_minus1は、ビットストリーム中のビューの総数を示す。
view_id[i]はi番目のビューのview_idを示す。
timing_info_present_flag[i]はi番目のビューのtiming_info_present_flag値を指定する。
num_units_in_tick[i]はi番目のビューのnum_units_in_tick値を指定する。
time_scale[i]はi番目のIOPのtime_scale値を指定する。
fixed_frame_rate_flag[i]はi番目のビューのfixed_frame_rate_flag値を指定する。
nal_hrd_parameters_present_flag[i]はi番目のビューのnal_hrd_parameters_present_flag値を指定する。
vcl_hrd_parameters_present_flag[i]はi番目のビューのvcl_hrd_parameters_present_flag値を指定する。
low_delay_hrd_flag[i]はi番目のビューのlow_delay_hrd_flag値を指定する。
pic_struct_present_flag[i]はi番目のビューのpic_struct_present_flag値を指定する。
【0040】
timing_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、vcl_hrd_parameters_present_flag、low_delay_hrd_flagおよびpic_struct_present_flagはAVCにおけるのと同じ意味をもつ。
【0041】
【表6】
all_views_in_au_flagが1に等しいことは、ネストされたSEIメッセージがアクセス・ユニットのすべてのビューに適用されることを示す。all_views_ in_au_flagが0に等しいことは、ネストされるSEIメッセージの適用可能な範囲がシンタックス要素num_views _minus1およびview_id[i]によって伝達されることを示す。
num_views_minus1に1を足したものは、ビットストリームによってサポートされるビューの数を示す。
view_id[i]はi番目のビューのview_idを示す。
【0042】
C.最悪ケースについてのHRD規則の規定
このカテゴリーでは、M(M=1,…,N)個のビューをデコードする最悪ケースについてのHRD制約条件のみを定義することが提案される。最悪ケースは、たとえば、最大バッファ・サイズ、最長遅延、最高ビットレート、任意のM個のビューを伝送することの最多ビット消費などを要求するケースである。よって、各MビューをデコードするためにHRDパラメータの一つのセットを定義することができるだけである。すなわち、最悪ケースの単独ビューについてHRDパラメータのセットと、最悪ケースの2ビュー組み合わせについてのHRDパラメータのセット等、最悪ケースのN−1ビュー組み合わせについてのHRDパラメータのセットまでと、(最悪ケースの)Nビュー組み合わせについてのHRDパラメータのセットを定義する。全部で、NセットのHRDパラメータを定義するだけであり、これらが1、2、…N個までのビューについてHRD準拠を試験するために使われる。このアプローチの不都合な点は、一つの特定の場合が必要としうるよりも高い制約条件を送ることを要求するということである。しかし、すべてのHRDパラメータを送るためのビットを節約することができ、パラメータの導出もない。
【0043】
この解決策の実施形態を下記に呈示する。
【0044】
送るHRDパラメータのセットの最大数はMである。ここで、M=1,…,Nである。VUIエンコードおよびデコード過程のフローチャートがそれぞれ図12および図13に示されている。
【0045】
1.VUIパラメータ:見て取れるように、表7は、AVC規格におけるVUIパラメータのシンタックスが変数「profile_idc」を試験する「if‐then」文を導入することによって修正されていることを示している。「profile_idc」が「MVC」に等しければ、一つまたは複数の点を試験するためにループが一回または複数回実行される。「profile_idc」が「MVC」に等しくない場合、「AVC」が関連する規格であると想定され、(既存のAVC-HRD規則を使って)AVC準拠について一つの点を試験するために「else」が実行される。行30〜57は「profile_idc」がMVCである場合に実行され、そうでない場合には行60〜84が実行される。変数「num_view_ minus1」(行30)はビットストリーム中のビューの数を与える。行32〜56は、(num_views_minus1+1)個のビューのうちの任意のi個のビューをデコードすることの最高のHRD制約条件に関連付けられたHRD関係のパラメータについてのシンタックスを与える。
【0046】
表7が表5と異なっていることに注意されたい。たとえば、表5の行32を参照すると、「view_id[i]」と記載している。
【0047】
2.バッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIメッセージに埋め込まれたSEIメッセージ・ペイロードとしてであることができる。マルチビュー・ネスティングSEIメッセージのシンタックスは、表6で定義されたものを共有できる。ネストするバッファリング周期およびピクチャー・タイミングSEIメッセージは、ビットストリーム中で送るビューの総数のうち任意の(num_views_minus1+1)個のビューをデコードすることの最高のHRD制約条件に関連付けられている。バッファリグ周期SEIおよびピクチャー・タイミングSEIのシンタックスは、AVCと同じままである。AVC互換ビューのためのバッファリング周期SEIメッセージおよびピクチャー・タイミングSEIメッセージは、マルチビュー・ネスティングSEIにおいてネストされてはならない。
【0048】
【表7】
num_views_minus1は、ビットストリーム中のビューの総数を示す。
timing_info_present_flag[i]はi個のビューをデコードするためのtiming_info_present_flag値を指定する。
num_units_in_tick[i]はi個のビューをデコードするためのnum_units_in_tick値を指定する。
time_scale[i]はi個のビューをデコードするためのtime_scale値を指定する。
fixed_frame_rate_flag[i]はi個のビューをデコードするためのfixed_frame_rate_flag値を指定する。
nal_hrd_parameters_present_flag[i]はi個のビューをデコードするためのnal_hrd_parameters_present_flag値を指定する。
vcl_hrd_parameters_present_flag[i]はi個のビューをデコードするためのvcl_hrd_parameters_present_flag値を指定する。
low_delay_hrd_flag[i]はi個のビューをデコードするためのlow_delay_hrd_flag値を指定する。
pic_struct_present_flag[i]はi個のビューをデコードするためのpic_struct_present_flag値を指定する。
【0049】
パラメータtiming_info_present_flag、num_units_in_tick、time_scale、nal_hrd_parameters_present_flag、vcl_hrd_parameters_present_flag、low_delay_hrd_flagおよびpic_struct_present_flagはAVCにおけるのと同じ意味をもつ。
【0050】
図4ないし図13は、同定される特定のシンタックスを書き込むまたは読み出すためのさまざまなフローチャートを示している。
【0051】
本稿では、たとえばMVCのためのHRDの記述を書き込むおよび/または読み込むための規則を提供するいくつかの実装が記載されている。これはHRDがMVCにおいて定義され、使用されることを許容する。
【0052】
しかしながら、記載された実装の諸特徴および諸側面は他の実装のためにも適応されてもよい。たとえば、上に示したように、他の規格のために上記の機能を使ってHRDが提供されてもよい。さらに、HRDは、上記の実施形態の変形を使ってMVCのために提供されてもよい。そのような変形は、たとえば、他の高レベル・シンタックスを使う、高レベルでないシンタックスを使う、他のIOPのためのHRDパラメータを提供する実装を含みうる。したがって、本稿に記載されている諸実装は、本稿に記載される三つの主要な実装の一つを実装するH.264のための高レベル・シンタックスのコンテキストで記載されているかもしれないが、そのような記述は決して本願の特徴および概念をそのような実装またはコンテキストに限定するものと解釈するべきではない。
【0053】
本稿で記載された実装はたとえば、方法もしくはプロセス、装置またはソフトウェア・プログラムにおいて実装されうる。たとえ単一の形の実装のコンテキストでのみ論じられていたとしても(たとえば方法としてのみ論じられていたとしても)、論じられている実装または特徴は他の形(たとえば装置またはプログラム)においても実装されうる。装置は、たとえば、適切なハードウェア、ソフトウェアおよびファームウェアにおいて実装されうる。方法はたとえば、コンピュータまたは他の処理装置などのような装置において実装されてもよい。さらに、方法は、処理装置または他の装置によって実行される命令によって実装されてもよく、そのような命令は、たとえばDVDまたは他のコンピュータ可読記憶デバイスのようなコンピュータ可読媒体上、あるいは集積回路上に記憶されてもよい。
【0054】
当業者には明白なはずであるが、実装はまた、たとえば記憶または伝送されうる情報を担持するようフォーマットされた信号を生成してもよい。該情報はたとえば、方法を実行するための命令、あるいは記載された実装の一つによって生成されるデータを含んでもよい。たとえば、信号は、記述された実施形態のシンタックスを書き込むまたは読み出すための規則をデータとして担持するよう、あるいは記載された実施形態によって書き込まれる実際のシンタックスをデータとして担持するようフォーマットされてもよい。
【0055】
さらに、多くの実装が、エンコーダおよびデコーダの一方または両方において実装されうる。
【0056】
さらに、本発明によって他の実装が考えられている。たとえば、開示されている実装のさまざまな特徴を組み合わせ、削除し、修正しまたは補足することによって、追加的な実装が作り出されてもよい。
【0057】
以上の記述はさまざまな実装のいくつかを提供する。それは網羅的であることは意図されておらず、単に数多くの可能な実装のうちの少数の短い記述を提供するものである。
【特許請求の範囲】
【請求項1】
マルチビュー・ビデオ符号化のための仮想参照デコーダであって、一つまたは複数のパラメータおよびビットストリーム制約情報に関係する規則がMVCにおける各相互運用点について指定される、仮想参照デコーダ。
【請求項2】
マルチビュー・ビデオ符号化のためのパラメータおよびビットストリーム制約情報に関係した仮想参照デコーダであって、規則が相互運用点のあるセットについてのみ指定され、他のセットは指定されたセットから導出される、仮想参照デコーダ。
【請求項3】
マルチビュー・ビデオ符号化のためのパラメータおよびビットストリーム制約情報に関係した仮想参照デコーダであって、規則が任意の数のビューをデコードすることの最悪の場合についてのみ指定される、仮想参照デコーダ。
【請求項4】
仮想参照デコーダにおけるマルチビュー・ビデオ符号化の方法であって、各ビューまたは異なる複数のビューの組み合わせについて情報を指定するためにネストされたSEIメッセージが定義される、方法。
【請求項5】
請求項1ないし3のうちいずれか一項記載の仮想参照デコーダであって、すべてのHRD関係パラメータおよびビットストリーム制約情報が高レベル・シンタックスにおいて定義される、仮想参照デコーダ。
【請求項6】
請求項1ないし3のうちいずれか一項記載の仮想参照デコーダであって、前記規則を記述するために高レベル・シンタックスが使用され、前記高レベル・シンタックスは、シーケンス・パラメータ・セット(SPS)、ビデオ使用可能性情報(VUI)、ピクチャー・パラメータ・セット(PPS: picture parameter set)、スライス・ヘッダ、nal_unitヘッダまたは補足向上情報(SEI: supplemental enhancement information)メッセージの少なくとも一つからなることができる、仮想参照デコーダ。
【請求項7】
請求項1ないし3のうちいずれか一項記載の仮想参照デコーダであって、マルチビュー・ビデオ符号化の場合かAVC互換の場合かを区別するためにprofile_idcパラメータが使用される、仮想参照デコーダ。
【請求項8】
実装がすべてのビューおよびその組み合わせを通じてループする、請求項1記載の仮想参照デコーダ。
【請求項9】
マルチビュー・ビデオ符号化のための、HRDに関係したパラメータおよびビットストリーム制約情報に関係する請求項2記載の仮想参照デコーダであって、規則が単独ビューをデコードするためにのみ指定され、二つ以上のビューをデコードするための仮想参照デコーダに関係したパラメータおよびビットストリーム制約情報は単独ビューのものから導出される、仮想参照デコーダ。
【請求項10】
デコーダが各ビューを通じてループする、請求項9記載の仮想参照デコーダ。
【請求項11】
ビットストリーム中のビューのそれぞれを通じてループすることをも含む、請求項3記載の仮想参照デコーダ。
【請求項12】
マルチビュー・ビデオ符号化のための仮想参照デコーダを生成するための規則を指定する方法であって、前記規則が高レベル・シンタックスにおいてであることができる、方法。
【請求項13】
マルチビュー・ビデオ符号化のための仮想参照デコーダについてのパラメータを記述するための適切なシンタックスを書くための装置。
【請求項14】
マルチビュー・ビデオ符号化のための仮想参照デコーダについてのパラメータを記述する適切なシンタックスを読むための装置。
【請求項15】
マルチビュー・ビデオ符号化のための仮想参照デコーダを規定する規則を記憶するコンピュータ可読媒体であって、そのような記憶された規則が、前記仮想参照デコーダについてのパラメータを記述するためにエンコーダによってアクセスされることができる、コンピュータ可読媒体。
【請求項16】
受け取られた情報を解釈するための規則を記憶するコンピュータ可読媒体であって、前記情報はマルチビュー・ビデオ符号化のための仮想参照デコーダのパラメータを記述するものであり、そのような記憶された規則は、エンコーダから受け取られるシンタックスを解釈するためにデコーダによってアクセスされることができる、コンピュータ可読媒体。
【請求項17】
ビットストリームをエンコードする方法であって、前記ビットストリームは、マルチビュー・ビデオ符号化のための仮想参照デコーダのパラメータを記述する情報を含むようフォーマットされる、方法。
【請求項1】
マルチビュー・ビデオ符号化のための仮想参照デコーダであって、一つまたは複数のパラメータおよびビットストリーム制約情報に関係する規則がMVCにおける各相互運用点について指定される、仮想参照デコーダ。
【請求項2】
マルチビュー・ビデオ符号化のためのパラメータおよびビットストリーム制約情報に関係した仮想参照デコーダであって、規則が相互運用点のあるセットについてのみ指定され、他のセットは指定されたセットから導出される、仮想参照デコーダ。
【請求項3】
マルチビュー・ビデオ符号化のためのパラメータおよびビットストリーム制約情報に関係した仮想参照デコーダであって、規則が任意の数のビューをデコードすることの最悪の場合についてのみ指定される、仮想参照デコーダ。
【請求項4】
仮想参照デコーダにおけるマルチビュー・ビデオ符号化の方法であって、各ビューまたは異なる複数のビューの組み合わせについて情報を指定するためにネストされたSEIメッセージが定義される、方法。
【請求項5】
請求項1ないし3のうちいずれか一項記載の仮想参照デコーダであって、すべてのHRD関係パラメータおよびビットストリーム制約情報が高レベル・シンタックスにおいて定義される、仮想参照デコーダ。
【請求項6】
請求項1ないし3のうちいずれか一項記載の仮想参照デコーダであって、前記規則を記述するために高レベル・シンタックスが使用され、前記高レベル・シンタックスは、シーケンス・パラメータ・セット(SPS)、ビデオ使用可能性情報(VUI)、ピクチャー・パラメータ・セット(PPS: picture parameter set)、スライス・ヘッダ、nal_unitヘッダまたは補足向上情報(SEI: supplemental enhancement information)メッセージの少なくとも一つからなることができる、仮想参照デコーダ。
【請求項7】
請求項1ないし3のうちいずれか一項記載の仮想参照デコーダであって、マルチビュー・ビデオ符号化の場合かAVC互換の場合かを区別するためにprofile_idcパラメータが使用される、仮想参照デコーダ。
【請求項8】
実装がすべてのビューおよびその組み合わせを通じてループする、請求項1記載の仮想参照デコーダ。
【請求項9】
マルチビュー・ビデオ符号化のための、HRDに関係したパラメータおよびビットストリーム制約情報に関係する請求項2記載の仮想参照デコーダであって、規則が単独ビューをデコードするためにのみ指定され、二つ以上のビューをデコードするための仮想参照デコーダに関係したパラメータおよびビットストリーム制約情報は単独ビューのものから導出される、仮想参照デコーダ。
【請求項10】
デコーダが各ビューを通じてループする、請求項9記載の仮想参照デコーダ。
【請求項11】
ビットストリーム中のビューのそれぞれを通じてループすることをも含む、請求項3記載の仮想参照デコーダ。
【請求項12】
マルチビュー・ビデオ符号化のための仮想参照デコーダを生成するための規則を指定する方法であって、前記規則が高レベル・シンタックスにおいてであることができる、方法。
【請求項13】
マルチビュー・ビデオ符号化のための仮想参照デコーダについてのパラメータを記述するための適切なシンタックスを書くための装置。
【請求項14】
マルチビュー・ビデオ符号化のための仮想参照デコーダについてのパラメータを記述する適切なシンタックスを読むための装置。
【請求項15】
マルチビュー・ビデオ符号化のための仮想参照デコーダを規定する規則を記憶するコンピュータ可読媒体であって、そのような記憶された規則が、前記仮想参照デコーダについてのパラメータを記述するためにエンコーダによってアクセスされることができる、コンピュータ可読媒体。
【請求項16】
受け取られた情報を解釈するための規則を記憶するコンピュータ可読媒体であって、前記情報はマルチビュー・ビデオ符号化のための仮想参照デコーダのパラメータを記述するものであり、そのような記憶された規則は、エンコーダから受け取られるシンタックスを解釈するためにデコーダによってアクセスされることができる、コンピュータ可読媒体。
【請求項17】
ビットストリームをエンコードする方法であって、前記ビットストリームは、マルチビュー・ビデオ符号化のための仮想参照デコーダのパラメータを記述する情報を含むようフォーマットされる、方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−70411(P2013−70411A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−251431(P2012−251431)
【出願日】平成24年11月15日(2012.11.15)
【分割の表示】特願2010−504061(P2010−504061)の分割
【原出願日】平成20年4月14日(2008.4.14)
【出願人】(501263810)トムソン ライセンシング (2,848)
【氏名又は名称原語表記】Thomson Licensing
【住所又は居所原語表記】1−5, rue Jeanne d’Arc, 92130 ISSY LES MOULINEAUX, France
【Fターム(参考)】
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2012−251431(P2012−251431)
【出願日】平成24年11月15日(2012.11.15)
【分割の表示】特願2010−504061(P2010−504061)の分割
【原出願日】平成20年4月14日(2008.4.14)
【出願人】(501263810)トムソン ライセンシング (2,848)
【氏名又は名称原語表記】Thomson Licensing
【住所又は居所原語表記】1−5, rue Jeanne d’Arc, 92130 ISSY LES MOULINEAUX, France
【Fターム(参考)】
[ Back to top ]