本発明は、多様な変更を加えることができ、様々な実施例を有することができ、特定実施例を図面に例示して詳細に説明する。しかし、これは本発明を特定の実施形態に対して限定するものではない。本明細書で使用する用語は、単に特定の実施例を説明するために使われたものであり、本発明の技術的思想を限定するために使われたものではない。単数の表現は、文脈上明白に異なる表現ではない限り、複数の表現を含む。本明細書で、“含む”又は“有する”などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品又はそれらを組み合わせたものが存在することを指定するものであり、一つ又はそれ以上の他の特徴、数字、ステップ、動作、構成要素、部品又はそれらを組み合わせたものの存在又は付加可能性を予め排除しないと理解しなければならない。
一方、本発明で説明される図面上の各構成は、ビデオ符号化装置/復号装置における別個の特徴的な機能に対する説明の便宜のために独立に図示したものであり、各構成が別個のハードウェアや別個のソフトウェアで具現されるということを意味しない。例えば、各構成のうち二つ以上の構成を統合して一つの構成にすることもできるし、一つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施例も、本発明の本質から外れない限り、本発明の権利範囲に含まれる。
以下、添付図面を参照して、本発明の好ましい実施例をさらに詳細に説明する。以下、図面上、同じ構成要素に対しては同じ参照符号を使用し、同じ構成要素に対する重複した説明は省略する。
スケーラビリティをサポートするビデオ符号化方法(以下、‘スケーラブル符号化’という)では、入力信号をレイヤごとに処理することができる。レイヤに応じて入力信号(入力映像)は、解像度、フレームレート、ビット深度、カラーフォーマット、アスペクト比のうち少なくとも一つが異なる。
本明細書において、スケーラブル符号化とは、スケーラブル符号化とスケーラブル復号を含む。
スケーラブル符号化/復号では、レイヤ間の差を利用して、すなわち、スケーラビリティに基づいて、レイヤ間の予測を実行することによって情報の重複送信/処理を減らして圧縮効率を上げることができる。
図1は、本発明の一実施例によってスケーラビリティをサポートするビデオ符号化装置を概略的に示すブロック図である。
図1を参照すると、符号化装置100は、レイヤ1に対する符号化部105とレイヤ0に対する符号化部155を含む。
レイヤ0は、ベースレイヤ、参照レイヤ又は下位レイヤであり、レイヤ1は、エンハンスメントレイヤ、現在レイヤ又は上位レイヤである。
レイヤ1の符号化部105は、インタ/イントラ予測部110、変換/量子化部115、フィルタリング部120、復号ピクチャバッファ(Decoded Picture Buffer、DPB)125、エントロピ符号化部130、ユニットパラメータ予測部135、動き予測/再スケーリング(rescaling)部140、テクスチャ予測/再スケーリング部145、パラメータ予測部150及び多重化部(Multiplexer、MUX)185を含む。
レイヤ0の符号化部155は、インタ/イントラ予測部160、変換/量子化部165、フィルタリング部170、DPB175及びエントロピ符号化部180を含む。
インタ/イントラ予測部110、160は、入力された映像に対してインタ予測とイントラ予測を実行することができる。インタ/イントラ予測部110、160は、所定の処理単位に予測を実行することができる。予測の実行単位は、符号化ユニット(Coding Unit:CU)であってもよいし、予測ユニット(Prediction Unit:PU)であってもよいし、変換ユニット(Transform Unit:TU)であってもよい。
例えば、インタ/イントラ予測部110、160は、CU単位にインタ予測を適用するか、又はイントラ予測を適用するかを決定し、PU単位に予測のモードを決定し、PU単位又はTU単位に予測を実行することもできる。実行される予測は、予測ブロックの生成とレジデュアルブロック(レジデュアル信号)の生成とを含む。
インタ予測を介しては、現在ピクチャの以前ピクチャ及び/又は以後ピクチャのうち少なくとも一つのピクチャの情報に基づいて予測を実行することによって、予測ブロックを生成することができる。イントラ予測を介しては、現在ピクチャ内のピクセル情報に基づいて予測を実行することによって、予測ブロックを生成することができる。
インタ予測のモード又は方法として、スキップモード、マージモード、動きベクトル予測(Motion Vector Prediction、MVP)方法などがある。インタ予測では、予測対象である現在PUに対して参照ピクチャを選択し、参照ピクチャ内で現在PUに対応する参照ブロックを選択することができる。インタ/イントラ予測部160は、参照ブロックに基づいて予測ブロックを生成することができる。
予測ブロックは、整数サンプル単位に生成することもできるし、整数以下ピクセル単位に生成することもできる。このとき、動きベクトルも整数ピクセル単位又は整数ピクセル以下の単位に表現することができる。
インタ予測において、動き情報、すなわち、参照ピクチャのインデクス、動きベクトル、レジデュアル信号などの情報は、エントロピ符号化されて復号装置に伝達される。スキップモードが適用される場合は、レジデュアルを生成、変換、量子化、送信しない。
イントラ予測における予測モードは、33個の方向性予測モードと少なくとも2個以上の非方向性モードとを有することができる。非方向性モードは、DC予測モード及びプラナーモード(Planar mode)を含むことができる。イントラ予測では、参照サンプルにフィルタを適用した後、予測ブロックを生成することもできる。
PUは、多様なサイズ/形態のブロックであり、例えば、インタ予測の場合、PUは、2N×2Nブロック、2N×Nブロック、N×2Nブロック、又はN×Nブロック(Nは、整数)などである。イントラ予測の場合、PUは、2N×2Nブロック又はN×Nブロック(Nは、整数)などである。このとき、N×Nブロックの大きさのPUは、特定の場合にのみ適用するように設定することができる。例えば、最小の大きさCUに対してのみN×Nブロックの大きさのPUを利用するように定め、又はイントラ予測に対してのみ利用するように定めることもできる。また、前述した大きさのPU外に、N×mNブロック、mN×Nブロック、2N×mNブロック又はmN×2Nブロック(m<1)などのPUをさらに定義して使用することもできる。
変換/量子化部115、165は、変換ブロック単位にレジデュアルブロックに対する変換を実行して変換係数を生成し、変換係数を量子化する。
変換ブロックは、サンプルの四角形ブロックであって、同じ変換が適用されるブロックである。変換ブロックは、変換ユニット(TU)であることもあり、四分木(quad tree)構造を有することができる。
変換/量子化部115、165は、レジデュアルブロックに適用された予測モードと変換ブロックの大きさによって変換を実行することによって、変換係数の2次元アレイを生成することができる。例えば、レジデュアルブロックにイントラ予測が適用され、ブロックが4×4のレジデュアル配列の場合は、レジデュアルブロックを離散サイン変換(Discrete Sine Transform、DST)を利用して変換し、その他の場合は、レジデュアルブロックを離散コサイン変換(Discrete Cosine Transform、DCT)を利用して変換することができる。
また、変換/量子化部115、165は、予測モードと変換ブロックの大きさに関係なしで特定変換を固定的に使用することもできる。例えば、変換/量子化部115、165は、すべての変換ブロックにDSTのみを適用することができる。また、変換/量子化部115、165は、すべての変換ブロックにDCTのみを適用することもできる。
変換/量子化部115、165は、変換係数を量子化し、量子化された変換係数を生成することができる。
変換/量子化部115、165は、量子化された変換係数をエントロピ符号化部130、180に伝達することができる。このとき、変換/量子化部165は、量子化された変換係数の2次元アレイを所定のスキャン順序によって1次元アレイに再整列してエントロピ符号化部130、180に伝達することもできる。また、変換/量子化部115、165は、インタ予測のために、レジデュアルと予測ブロックに基づいて生成された復元ブロックを変換/量子化せずに、フィルタリング部120、170に伝達することができる。
一方、変換/量子化部115、165は、必要によって、変換を省略(skip)し、量子化のみを実行し、又は変換と量子化を全部省略することもできる。例えば、変換/量子化部115、165は、特定の予測方法が適用され、又は特定の大きさを有するブロック、又は特定予測ブロックが適用された特定の大きさのブロックに対して変換を省略することもできる。
エントロピ符号化部130、180は、量子化された変換係数に対するエントロピ符号化を実行することができる。エントロピ符号化には、例えば、指数ゴロム(Exponential Golomb)、文脈適応2進算術符号化(Context−Adaptive Binary Arithmetic Coding、CABAC)などのような符号化方法を使用することができる。
フィルタリング部120、170は、デブロッキングフィルタ、適応ループフィルタ(ALF)、サンプル適応オフセット(SAO)を復元されたピクチャに適用することができる。
デブロッキングフィルタは、復元されたピクチャでブロック間の境界に発生した歪みを除去することができる。ALFは、デブロッキングフィルタを介してブロックがフィルタリングされた後、復元された映像と原映像を比較した値に基づいてフィルタリングを実行することができる。SAOは、デブロッキングフィルタが適用されたレジデュアルブロックに対して、ピクセル単位に原映像とのオフセット差を復元し、バンドオフセット(Band Offset)、エッジオフセット(Edge Offset)などの形態で適用される。
フィルタリング部120、170は、デブロッキングフィルタ、ALF、SAOを全部適用せずに、デブロッキングフィルタのみを適用してもよいし、デブロッキングフィルタとALFのみを適用してもよいし、デブロッキングフィルタとSAOのみを適用してもよい。
DPB125、175は、フィルタリング部125、170から復元ブロック又は復元ピクチャの伝達を受けて記憶することができる。DPB125、175は、復元ブロック又はピクチャを、インタ予測を実行するインタ/イントラ予測部110、160に提供することができる。
レイヤ0のエントロピ符号化部180から出力される情報とレイヤ1のエントロピ符号化部130から出力される情報は、MUX185で多重化されてビットストリームで出力することができる。
一方、レイヤ1の符号化部105は、レイヤ0の情報を利用してレイヤ1の映像に対する予測を実行するインタレイヤ予測のために、ユニットパラメータ予測部135、動き予測/再スケーリング部140、テクスチャ予測/再スケーリング部145、パラメータ予測部150などを含むことができる。
ユニットパラメータ予測部135は、ベースレイヤのユニット(CU、PU及び/又はTU)情報を導出してエンハンスメントレイヤのユニット情報として使用するようにし、又はベースレイヤのユニット情報に基づいてエンハンスメントレイヤのユニット情報が決定することができるようにする。
動き予測部140は、インタレイヤ動き予測を実行する。インタレイヤ動き予測は、インタレイヤインタ予測とも呼ばれる。動き予測部140は、参照レイヤ(ベースレイヤ)の動き情報を利用して現在レイヤ(エンハンスメントレイヤ)の現在ブロックに対する予測を実行することができる。
動き予測部140は、必要な場合、参照レイヤの動き情報をスケーリングすることができる。
テクスチャ予測部145は、レイヤ0の情報に基づいてインタレイヤテクスチャ予測を実行することができる。インタレイヤテクスチャ予測は、インタレイヤイントラ予測又はイントラBL(Base Layer)予測とも呼ばれる。テクスチャ予測は、参照レイヤの参照ブロックが復元されている場合に利用することができる。インタレイヤテクスチャ予測では、参照レイヤ内の参照ブロックのテクスチャをエンハンスメントレイヤの現在ブロックに対する予測値として使用することができる。このとき、参照ブロックのテクスチャは、アップサンプリングによってスケーリングすることができる。
パラメータ予測部150は、ベースレイヤで使用したパラメータを導出してエンハンスメントレイヤで再使用するようにし、又はベースレイヤで使用したパラメータに基づいてエンハンスメントレイヤに対するパラメータを予測することができる。
一方、ここでは、説明の便宜のために、レイヤ1の符号化部105がMUX185を含むと説明したが、MUXは、レイヤ1の符号化部105及びレイヤ0の符号化部155と別途の装置又はモジュールであってもよい。
図2は、本発明によってスケーラブル符号化を実行する符号化装置でのレイヤ間予測に対する一例を説明するブロック図である。
図2を参照すると、レイヤ1の予測部210は、インタ/イントラ予測部220及びインタレイヤ予測部230を含む。
レイヤ1の予測部210は、レイヤ0の情報からレイヤ1の予測に必要なインタレイヤ予測を実行することができる。
例えば、インタレイヤ予測部230は、レイヤ0のインタ/イントラ予測部250及び/又はフィルタリング部260からレイヤ0の情報の伝達を受けてレイヤ1の予測に必要なインタレイヤ予測を実行することができる。
レイヤ1のインタ/イントラ予測部220は、レイヤ1の情報を利用してインタ予測又はイントラ予測を実行することができる。
また、レイヤ1のインタ/イントラ予測部220は、インタレイヤ予測部230から伝達された情報を利用してレイヤ0の情報に基づいた予測を実行することもできる。
併せて、レイヤ1のフィルタリング部240は、レイヤ0の情報に基づいてフィルタリングを実行することもできるし、レイヤ0の情報に基づいてフィルタリングを実行することもできる。レイヤ0の情報は、レイヤ0のフィルタリング部260からレイヤ1のフィルタリング部240に伝達することもできるし、レイヤ1のインタレイヤ予測部230からレイヤ1のフィルタリング部240に伝達することもできる。
一方、レイヤ0からインタレイヤ予測部230に伝達される情報は、レイヤ0のユニットパラメータに対する情報、レイヤ0の動き情報、レイヤ0のテクスチャ情報、レイヤ0のフィルタパラメータ情報のうち少なくとも一つである。
したがって、インタレイヤ予測部230は、図1でインタレイヤ予測を実行するユニットパラメータ予測部135、動き予測部140、テクスチャ予測部145、パラメータ予測部150のうち一部又は全部を含むことができる。
また、レイヤ1において、インタ/イントラ予測部220は、図1のインタ/イントラ予測部110に対応することができ、フィルタリング部240は、図1のフィルタリング部120に対応することができる。レイヤ0において、インタ/イントラ予測部250は、図1のインタ/イントラ予測部160に対応することができ、フィルタリング部260は、図1のフィルタリング部170に対応することができる。
図3は、本発明の一実施例によってスケーラビリティをサポートするビデオ復号装置を概略的に示すブロック図である。
図3を参照すると、復号装置300は、レイヤ1の復号部310及びレイヤ0の復号部350を含む。
レイヤ0は、ベースレイヤ、参照レイヤ又は下位レイヤであり、レイヤ1は、エンハンスメントレイヤ、現在レイヤ又は上位レイヤである。
レイヤ1の復号部310は、エントロピ復号部315、再整列部320、逆量子化部325、逆変換部330、予測部335、フィルタリング部340、メモリを含むことができる。
レイヤ0の復号部350は、エントロピ復号部355、再整列部360、逆量子化部365、逆変換部370、フィルタリング部380、メモリ385を含むことができる。
符号化装置から映像情報を含むビットストリームが送信されると、DEMUX305は、レイヤごとに情報を逆多重化してレイヤ別復号装置に伝達することができる。
エントロピ復号部315、355は、符号化装置で使用したエントロピ符号化方式に対応してエントロピ復号を実行することができる。例えば、符号化装置でCABACが使われた場合、エントロピ復号部315、355もCABACを利用してエントロピ復号を実行することができる。
エントロピ復号部315、355で復号された情報のうち、予測ブロックを生成するための情報は、予測部335、375に提供され、エントロピ復号部315、355でエントロピ復号が実行されたレジデュアル値、すなわち、量子化された変換係数は、再整列部320、360に入力することができる。
再整列部320、360は、エントロピ復号部315、355でエントロピ復号されたビットストリームの情報、すなわち、量子化された変換係数を符号化装置で再整列した方法に基づいて再整列することができる。
例えば、再整列部320、360は、1次元アレイの量子化された変換係数を再び2次元アレイの係数に再整列することができる。再整列部320、360は、現在ブロック(変換ブロック)に適用された予測モード及び/又は変換ブロックの大きさに基づいてスキャニングを実行することによって、係数(量子化された変換係数)の2次元アレイを生成することができる。
逆量子化部325、365は、符号化装置で提供された量子化パラメータと再整列されたブロックの係数値に基づいて逆量子化を実行することによって、変換係数を生成することができる。
逆量子化部325、365は、所定の条件によって又は符号化装置での量子化方式によって、エントロピ復号されたレジデュアルを逆量子化せずに逆変換部330、370に伝達することもできる。
逆変換部330、370は、変換係数に対して符号化装置の変換部が実行した変換に対する逆変換を実行することができる。逆変換部330、370は、符号化装置で実行されたDCT及びDSTに対して逆DCT及び/又は逆DSTを実行することができる。
符号化装置において、DCT及び/又はDSTは、予測方法、現在ブロックの大きさ及び予測方向など、複数の情報によって選択的に実行することができ、復号装置の逆変換部330、370は、符号化装置で実行された変換情報に基づいて逆変換を実行することができる。
例えば、逆変換部330、370は、予測モード/ブロックの大きさによって逆DCTと逆DSTを適用することができる。例えば、逆変換部330、370は、イントラ予測が適用された4×4ルマ(luma)ブロックに対して逆DSTを適用することもできる。
また、逆変換部330、370は、予測モード/ブロックの大きさに関係なしで、特定逆変換方法を固定的に使用することもできる。例えば、逆変換部330、370は、すべての変換ブロックに逆DSTのみを適用することができる。また、逆変換部330、370は、すべての変換ブロックに逆DCTのみを適用することもできる。
逆変換部330、370は、変換係数又は変換係数のブロックを逆変換することによって、レジデュアル又はレジデュアルブロックを生成することができる。
また、逆変換部330、370は、必要によって又は符号化装置で符号化された方式によって、変換を省略することもできる。例えば、逆変換部330、370は、特定の予測方法が適用され、又は特定の大きさを有するブロック、又は特定予測ブロックが適用された特定の大きさのブロックに対して変換を省略することもできる。
予測部335、375は、エントロピ復号部315、355から伝達された予測ブロック生成関連情報とメモリ345、385で提供された以前に復号されたブロック及び/又はピクチャ情報とに基づいて現在ブロックに対する予測ブロックを生成することができる。
現在ブロックに対する予測モードがイントラ予測(intra prediction)モードである場合、予測部335、375は、現在ピクチャ内のピクセル情報に基づいて現在ブロックに対するイントラ予測を実行することができる。
現在ブロックに対する予測モードがインタ予測(inter prediction)モードである場合、予測部335、375は、現在ピクチャの以前ピクチャ又は以後ピクチャのうち少なくとも一つのピクチャに含まれている情報に基づいて現在ブロックに対するインタ予測を実行することができる。インタ予測に必要な動き情報の一部又は全部は、符号化装置から受信した情報を確認し、これに対応して導出することができる。
インタ予測のモードとしてスキップモードが適用される場合は、符号化装置からレジデュアルが送信されず、予測ブロックを復元ブロックにすることができる。
一方、レイヤ1の予測部335は、レイヤ1内の情報のみを利用してインタ予測又はイントラ予測を実行することもできるし、他のレイヤ(レイヤ0)の情報を利用してインタレイヤ予測を実行することもできる。
例えば、レイヤ1の予測部335は、レイヤ1の動き情報、レイヤ1のテクスチャ情報、レイヤ1のユニット情報、レイヤ1のパラメータ情報のうち一つを利用することによって、現在ブロックに対する予測を実行することができる。また、レイヤ1の予測部335は、レイヤ1の動き情報、レイヤ1のテクスチャ情報、レイヤ1のユニット情報、レイヤ1のパラメータ情報のうち、複数の情報を利用することによって、現在ブロックに対する予測を実行することもできる。
レイヤ1の予測部335は、レイヤ0の予測部375からレイヤ1の動き情報の伝達を受けて動き予測を実行することができる。インタレイヤ動き予測は、インタレイヤインタ予測とも呼ばれる。インタレイヤ動き予測によって、参照レイヤ(ベースレイヤ)の動き情報を利用することによって、現在レイヤ(エンハンスメントレイヤ)の現在ブロックに対する予測が実行することができる。予測部335は、必要な場合、参照レイヤの動き情報をスケーリングして利用することもできる。
レイヤ1の予測部335は、レイヤ0の予測部375からレイヤ1のテクスチャ情報の伝達を受けてインタレイヤテクスチャ予測を実行することができる。インタレイヤテクスチャ予測は、インタレイヤイントラ予測又はイントラBL(Base Layer)予測とも呼ばれる。インタレイヤテクスチャ予測は、参照レイヤの参照ブロックが復元されている場合に利用することができる。インタレイヤテクスチャ予測では、参照レイヤ内の参照ブロックのテクスチャをエンハンスメントレイヤの現在ブロックに対する予測値として使用することができる。このとき、参照ブロックのテクスチャは、アップサンプリングによってスケーリングすることができる。
レイヤ1の予測部335は、レイヤ0の予測部375からレイヤ1のユニットパラメータ情報の伝達を受けてユニットパラメータ予測を実行することができる。ユニットパラメータ予測によって、ベースレイヤのユニット(CU、PU及び/又はTU)情報がエンハンスメントレイヤのユニット情報として使われ、又はベースレイヤのユニット情報に基づいてエンハンスメントレイヤのユニット情報を決定することができる。
レイヤ1の予測部335は、レイヤ0の予測部375からレイヤ1のフィルタリングに対するパラメータ情報の伝達を受けてパラメータ予測を実行することもできる。パラメータ予測によって、ベースレイヤで使用したパラメータを導出してエンハンスメントレイヤで再使用し、又はベースレイヤで使用したパラメータに基づいてエンハンスメントレイヤに対するパラメータを予測することができる。
加算器390、395は、予測部335、375で生成された予測ブロックと逆変換部330、370で生成されたレジデュアルブロックとを利用して復元ブロックを生成することができる。この場合、加算器390、395は、復元ブロックを生成する別途のユニット(復元ブロック生成部)と見ることができる。
加算器390、395で復元されたブロック及び/又はピクチャは、フィルタリング部340、380に提供することができる。
フィルタリング部340、380は、復元されたブロック及び/又はピクチャにデブロッキングフィルタリング、SAO及び/又はALFなどを適用することができる。
フィルタリング部340、380は、デブロッキングフィルタ、ALF、SAOを全部適用せずに、デブロッキングフィルタのみを適用してもよく、又はデブロッキングフィルタとALFのみを適用してもよく、又はデブロッキングフィルタとSAOのみを適用してもよい。
図3の例を参照すると、レイヤ1のフィルタリング部340は、レイヤ1の予測部335及び/又はレイヤ1のフィルタリング部380から伝達されるパラメータ情報を利用することによって、復元されたピクチャに対するフィルタリングを実行することもできる。例えば、レイヤ1において、フィルタリング部340は、レイヤ0で適用されたフィルタリングのパラメータから予測されたパラメータを利用してレイヤ1に対する又はレイヤ間のフィルタリングを適用することができる。
メモリ345、385は、復元されたピクチャ又はブロックを記憶することによって、参照ピクチャ又は参照ブロックとして使用可能にすることができる。メモリ345、385は、記憶された復元ピクチャを所定の出力部(図示せず)又はディスプレイ(図示せず)を介して出力することもできる。
図3の例では、再整列部、逆量子化部、逆変換部などに分けて説明したが、図1の符号化装置と同様に、逆量子化/逆変換部の一つのモジュールで再整列、逆量子化、逆変換を順に実行するように復号装置を構成することもできる。
それに対し、図3の例では予測部として説明したが、図1の例のように、レイヤ1の予測部は、他のレイヤ(レイヤ0)の情報を利用して予測を実行するインタレイヤ予測部と、他のレイヤ(レイヤ0)の情報を利用せずに予測を実行するインタ/イントラ予測部とを含むこともできる。
図4は、本発明によってスケーラブル符号化を実行する復号装置でのレイヤ間予測に対する一例を説明するブロック図である。
図4を参照すると、レイヤ1の予測部410は、インタ/イントラ予測部420及びインタレイヤ予測部430を含む。
レイヤ1の予測部410は、レイヤ0の情報からレイヤ1の予測に必要なインタレイヤ予測を実行することができる。
例えば、インタレイヤ予測部430は、レイヤ0のインタ/イントラ予測部450及び/又はフィルタリング部460からレイヤ0の情報の伝達を受けてレイヤ1の予測に必要なインタレイヤ予測を実行することができる。
レイヤ1のインタ/イントラ予測部420は、レイヤ1の情報を利用してインタ予測又はイントラ予測を実行することができる。
また、レイヤ1のインタ/イントラ予測部420は、インタレイヤ予測部430から伝達された情報を利用してレイヤ0の情報に基づいた予測を実行することもできる。
レイヤ1のフィルタリング部440は、レイヤ0の情報に基づいてフィルタリングを実行することもできるし、レイヤ0の情報に基づいてフィルタリングを実行することもできる。レイヤ0の情報は、レイヤ0のフィルタリング部460からレイヤ1のフィルタリング部440に伝達することもできるし、レイヤ1のインタレイヤ予測部430からレイヤ1のフィルタリング部240に伝達することもできる。
一方、レイヤ0からインタレイヤ予測部430に伝達される情報は、レイヤ0のユニットパラメータに対する情報、レイヤ0の動き情報、レイヤ0のテクスチャ情報、レイヤ0のフィルタパラメータ情報のうち少なくとも一つである。
レイヤ1において、予測部410は、図3の予測部335に対応することができ、フィルタリング部440は、図3のフィルタリング部340に対応することができる。レイヤ0において、インタ/イントラ予測部450は、図3の予測部375に対応することができ、フィルタリング部460は、図3のフィルタリング部380に対応することができる。
また、図示していないが、インタレイヤ予測部430は、実行するインタレイヤ予測の種類(例えば、動き予測、テクスチャ予測、ユニットパラメータ予測、パラメータ予測)によって、動き予測部、テクスチャ予測部、ユニットパラメータ予測部、パラメータ予測部を含むことができる。
スケーラブルビデオ符号化では、他のレイヤの情報を利用して現在レイヤの情報を予測するインタレイヤ予測が実行することができる。図1〜図4の例で説明したように、インタレイヤ予測の例として、動き予測、テクスチャ予測、ユニット予測、パラメータ予測などを考慮することができる。
以下、図面を参照して、各インタレイヤ予測に対して具体的に説明する。
インタレイヤイントラ予測
インタレイヤイントラ予測は、インタレイヤテクスチャ予測又はイントラBL(Base Layer)予測とも呼ばれる。本明細書では、説明の便宜のために、インタレイヤイントラ予測、テクスチャ予測、そして、イントラBL予測の名称を混用して使用することもできる。
このとき、ベースレイヤの復元された映像とエンハンスメントレイヤの映像の大きさ又は解像度を同じく合わせるために、ベースレイヤの復元された映像に対するアップサンプリングが実行することができる。
例えば、DCTIF(DCT based Interpolation Filter)を適用してアップサンプリングが実行することができる。例えば、ルマサンプルに対しては8タブのDCTIFを適用してアップサンプリングを実行し、クロマ(chroma)サンプルに対しては4タブのDCTIFを適用してアップサンプリングを実行することができる。
アップサンプリングは、内挿(interpolation)を適用することによって実行することができる。
一方、本発明によるインタレイヤイントラ予測は、符号化/復号の処理単位別に従来とは異なる特徴を有する。例えば、符号化ブロック(例えば、CU)レベルから見ると、ベースレイヤのブロックの大きさに従属されずに、独自のCUパーティションによって適用することができる。
また、予測ブロック(例えば、PU)レベルから見ると、インタレイヤイントラ予測のコストは、現在レイヤ(エンハンスメントレイヤ)内でのイントラ予測に対するコストと比較することができる。このとき、インタレイヤイントラ予測は、イントラ予測モードを使用するものではなく、ベースレイヤ(参照レイヤ)の復元映像を参照映像として使用してイントラ予測とレート歪最適化(Rate−Distortion Optimization、RDO)を比較する。
インタレイヤイントラ予測を適用するために、PUに対する新たなモードを生成せずに、上位レベルで、フラグ形態でインタレイヤイントラ予測が適用されるかどうかを通知することができる。例えば、ブロックモード又はパーティショニングに対してパーシングが実行される前に分割フラグ(split_flag)の次の位置で、フラグ形態でインタレイヤイントラ予測の使用可否に対する指示を送信することができる。
変換ブロック(例えば、TU)レベルから見ると、HEVCの四分木構造を維持したまま、インタレイヤイントラ予測を適用して変換を実行することができる。
図5は、本発明によってインタレイヤイントラ予測が実行される例を概略的に説明する図面である。
図5の例では、ベースレイヤの映像510とエンハンスメントレイヤの映像530は、同じく64×64の大きさを有するが、エンハンスメントレイヤの映像530がベースレイヤの映像510の4倍の解像度を有している。
したがって、エンハンスメントレイヤの映像530の予測時にベースレイヤの映像510を参照するために、イントラ予測モードに復元されたベースレイヤの映像510をアップサンプリングして参照映像520を構成した後、エンハンスメントレイヤの予測に利用する。
エンハンスメントレイヤの映像530で陰影処理された部分は、インタレイヤイントラ予測が適用されないブロックを示す。
このようにインタレイヤイントラ予測を適用する場合は、ベースレイヤの映像に対する再スケーリングが実行することができる。
具体的には、符号化装置では、入力映像が互いに異なる解像度を有する複数のレイヤに分けて符号化/復号可能に入力映像をダウンサンプリングする過程を実行することができる。また、符号化装置/復号装置は、符号化/復号過程で下位レイヤの映像を参照映像として使用するために下位レイヤの復元映像をアップサンプリングすることもできる。
ダウンサンプリングとアップサンプリングを実行する場合、位相(phase)特性が合わないと、符号化/復号過程で損失が発生し、符号化性能に直接的な影響を及ぼす。
図6は、本発明によってインタレイヤイントラ予測過程で適用される再スケーリング(ダウンサンプリング/アップサンプリング)の一例を概略的に示す。
図6(a)では、同一位置(col−located)整数サンプルをダウンサンプリングされたサンプルとして使用する場合を説明している。図6(b)では、同一位置整数サンプルを使用せずに、1/2位相外れたサンプルを生成して使用する例を説明している。
図6(a)及び図6(b)に示すように、オリジナルサンプルをダウンサンプリングしたサンプルに半ペル(half−pel)アップサンプリングフィルタを適用すると、ダウンサンプリングされたサンプル位置から1/2位相外れた位置にサンプルが生成することができる。
ダウンサンプリングをするとき、位相移動がない図6(a)の場合は、オリジナルサンプルと同一位置にアップサンプリングによるサンプルが生成される。それに対し、ダウンサンプリングするとき、位相移動がある図6(b)の場合は、オリジナルサンプルとは異なる位置(1/2位相外れた位置)にサンプルが生成される。したがって、図6(b)の場合は、位相の不一致によってオリジナルサンプルとアップサンプリングされたサンプルとの間に損失が発生することがある。
この問題を解決するために、アップサンプリング過程でオリジナルサンプル(オリジナル映像)と位相を一致させる位相シフトアップサンプリングを実行することを考慮することができる。
図7は、本発明によって位相シフトアップサンプリング(phase shifted up−sampling)を実行する一例を概略的に説明する図面である。
図7において、下方サンプルは、オリジナルサンプルから1/2位相移動してダウンサンプリングされたサンプルと、ダウンサンプリングされたサンプルからアップサンプリングされたサンプルとを共に示す。
図7の例ではダウンサンプリング過程での位相移動を補償するために、アップサンプリング過程でダウンサンプリングされたサンプルに対して1/4位相、3/4位相位置でアップサンプリングを実行する。
ダウンサンプリングされたサンプルに対して1/4位相、3/4位相のサンプルを補間することによって位相のミスマッチを除去することができる。図7を参照すると、ダウンサンプリングされたサンプルに対する1/4位相、3/4位相位置でアップサンプリングされたサンプルとオリジナルサンプルは位相の差がないことを確認することができる。
このようにアップサンプリングフィルタリングを適用するとき、どれくらい位相移動してオリジナルサンプルと位相を一致させるかは、ダウンサンプリング時に適用された位相移動によって決定することができる。
例えば、復号装置でオリジナルサンプルとアップサンプリングされたサンプルとの間に位相の不一致が発生しないようにアップサンプリングフィルタリングを適用するためには、符号化装置で適用したダウンサンプリングフィルタに対する情報又は復号装置で使用するアップサンプリングフィルタに対する情報が符号化装置から復号装置に送信される必要がある。
次の表1は、本発明によって位相を一致させるために送信されるダウンサンプリング/アップサンプリングのフィルタ情報の一例を示す。
フィルタの情報が符号化装置から復号装置に明示的に(explicitly)送信される代わりにルックアップテーブルを利用することもできる。
このとき、符号化装置は、ルックアップテーブル上でフィルタ情報を指示するインデクスを復号装置に送信することができる。送信されるインデクスは、符号化装置で適用されたダウンサンプリングフィルタの情報を指示するインデクスであってもよいし、復号装置で適用するアップサンプリングフィルタの情報を指示するインデクスであってもよい。
表2は、本発明によってフィルタ情報の伝達に利用されるルックアップテーブルの一例を簡単に示す。
アップサンプリング/ダウンサンプリングのフィルタ情報は、符号化/復号過程の所定レベルで記憶/送信することができる。例えば、フィルタ情報は、シーケンスパラメータセットで送信することができる。この場合、同じシーケンス内では、別途の通知がない限り、同じフィルタが適用することができる。また、フィルタ情報をピクチャパラメータセットで送信することによって、別途の通知がない限り、同じピクチャ内では同じフィルタが適用されるようにすることもできる。又は、フィルタ情報をスライスヘッダに記憶して送信することによって、別途の通知がない限り、同じスライス内では同じフィルタが適用されるようにすることもできる。
表3は、フィルタ情報をシーケンスパラメータセットに記憶して送信する場合の例を簡単に示す。
表3において、Interpolation_filter_indicatorは、使用する内挿(補間)フィルタの種類を指示する。
表3では、シーケンスパラメータセットでフィルタ情報を記憶する場合のシンタックス構造を示すが、これは本発明による一例に過ぎず、Interpolation_filter_indicatorは、前述したように、ピクチャパラメータセット又はスライスヘッダで送信することもできる。
Interpolation_filter_indicatorが指示するフィルタの種類は、フィルタの特徴を示す情報として、表1のように、位相、タブ数、タブの係数などを含む。
すなわち、Interpolation_filter_indicatorは、表4のように、ルックアップテーブルのインデクス値を指示することができる。表4は、再スケーリングに適用されるフィルタ情報を、Interpolation_filter_indicatorを介して指示するのに利用されるテーブルの一例を示す。
図8は、本発明によるInterpolation_filter_indicatorを利用する方法の一例であって、Interpolation_filter_indicatorの値が10である場合のサンプリング方法を簡単に説明する図面である。
図8(a)は、1/2位相移動が適用されたダウンサンプリングの場合を示し、図8(b)は、図8(a)でダウンサンプリングされたサンプルからアップサンプリングを実行する場合を示す。
図8(b)では、オリジナルサンプルとアップサンプリングされたサンプルとの間の位相を一致させるために、Interpolation_filter_indicatorの指示のとおりに、8−タブ/1/4、3/4位相内挿フィルタを適用してアップサンプリングを実行する。
すなわち、Interpolation_filter_indicatorは、復号装置が適用するアップサンプリングフィルタを指示し、例えば、Interpolation_filter_indicatorの値が10である場合は、位相を一致させるために‘8−タブ/1/4、3/4位相内挿フィルタ’が適用されるべきであることを指示する。同時に、8−タブ/1/4、3/4位相内挿フィルタが適用されて位相を一致させるということは、符号化装置で1/2位相移動が適用されたダウンサンプリングが実行されたことを意味する。
以上で説明したインタレイヤイントラ予測は、図1〜図4で説明したインタレイヤ予測部(例えば、テクスチャ予測部)で実行することができる。インタレイヤイントラ予測では、参照レイヤ内の参照ブロックのテクスチャをエンハンスメントレイヤの現在ブロックに対する予測値として使用することができる。このとき、参照ブロックのテクスチャは、アップサンプリングによってスケーリングすることができる。
インタレイヤイントラ予測を適用するかどうかは、CUの分割可否を指示するフラグの次にフラグ形態で指示することができる。インタレイヤイントラ予測でスケーリングが適用される場合、フィルタの情報は、符号化されて伝達することができる。このとき、伝達される情報は、前述したとおりである。
インタレイヤ動き予測
インタレイヤ動き予測は、インタレイヤインタ予測とも呼ばれ、本明細書では発明の理解のために、必要によって、インタレイヤ動き予測とインタレイヤインタ予測の表現を混用することができる。
インタレイヤ動き予測では、参照レイヤ(ベースレイヤ)の動き情報を利用して現在レイヤ(エンハンスメントレイヤ)の現在ブロックに対する予測を実行することができる。
インタレイヤ動き予測は、図1〜図4の予測部又はインタレイヤ予測部で実行することができる。以下、説明の便宜のために、予測部でインタレイヤ動き予測を実行するとして説明する。
図9は、他のレイヤを参照せずに、レイヤ内でインタ予測を実行する場合(以下、‘インタ予測’という)に利用される動き情報の候補に対する一例を簡単に示す。
図9において、A0、A1、B0、B1、B2、COLは、該当ブロックを指示することもできるし、該当ブロックの動き情報を指示することもできる。このとき、該当ブロックの動き情報は、動きベクトルであってもよいし、動きベクトルと参照ピクチャインデクスであってもよい。
ここでは、インタ予測の方法に対してベースレイヤの場合を一例として説明する。
ベースレイヤでのインタ予測は、図1〜図4の予測部又はインタ/イントラ予測部で実行することができる。以下、説明の便宜のために、予測部でインタ予測を実行するものとして説明する。
インタ予測のモードとして、マージモード、スキップモード、そして、動きベクトル予測(MVP)を利用するモードがある。MVPを利用するモードを、説明の便宜のために、高度MVP(advanced MVP、AMVP)モードということがある。
マージモードでは、図9に示す隣接ブロックの動き情報(以下、動き情報候補という)の中から選択された動き情報を現在ブロックの動き情報として利用することができる。選択される動き情報候補を指示する符号化装置から復号装置に送信することができる。
スキップモードでは、マージモードと同じく選択された動き情報候補の動き情報を現在ブロックの動き情報として使用するが、レジデュアルが生成/送信されない。
マージモード又はスキップモードが適用される場合、予測部は、現在ブロック周辺の空間的候補であるA0、A1、B0、B1、B2に対する可用性を判断することができる。可用性判断は、所定の順序に進行することができる。例えば、A1→B1→B0→A1→B2の順序に進行することができる。
このとき、各候補の可用性判断には、以前候補との同一性判断が含まれることができる。例えば、B1に対して、A1と動き情報が同じかを考慮して可用性判断をすることができる。具体的には、A1が利用可能であり、かつA1とB1の動き情報が同じ場合、B1は利用可能でないと判断することができる。
同様な方法として、B0は、B1と動き情報が同じかを考慮して可用性判断をすることができ、A0は、A1と動き情報が同じかを考慮して可用性判断をすることができる。
B2は、A1と動き情報が同じか、又はB1と動き情報が同じかを両方とも考慮して可用性判断をすることができ、このとき、以前の候補(A0、A1、B0、B1)が全部利用可能な場合は、利用可能でないと判断することもできる。
COL候補を使用する場合は、参照ピクチャリストを利用してCOL候補が含まれているCOLピクチャを特定することができる。現在ブロックと同じLCU内にあるCOLブロックに対して所定位置を含む予測ブロックの動き情報をCOL候補にすることができる。このとき、COL候補の動きベクトルは、COLピクチャと現在ピクチャの参照ピクチャを考慮してスケーリングすることができ、COL候補の参照インデクスは、所定の値(例えば、0)に設定することができる。
COL候補を含んで利用可能であると判断された候補で、可用性判断の順序によってマージ候補リストを構成することができる。このとき、現在ブロックのスライスタイプがB(すなわち、双方向予測が適用されるスライス)であり、かつ現在マージ候補リストに含まれている候補の個数が最大個数より少ない場合は、マージ候補リストに候補(組合せ双予測候補、combined bi−prediction candidates)が追加することができる。
前述したように、マージ候補リストが構成された後にもマージ候補リストに含まれている候補の個数が最大個数より少ない場合は、所定の候補(例えば、ゼロマージ候補)がマージ候補リストに追加することができる。
予測部は、符号化装置から送信された情報(例えば、マージインデクス merge_idx)がマージ候補リスト上で指示する候補の動き情報を現在ブロックに対する動き情報として利用してインタ予測を実行することができる。例えば、予測部は、マージインデクスによって選択された候補の動き情報が指示するサンプルを現在ブロックの予測ブロックにすることができる。
一方、AMVPモードが適用される場合にも、予測部は、MVP候補で構成されるAMVPリストを構成することができる。
AMVPモードで、予測部は、A0→A1の順序に候補の可用性を判断し、B0→B1→B2の順序に候補の可用性を判断する。
A0→A1の順序に候補の可用性を判断するとき、予測部は、(1)利用可能な候補として、現在ブロックと同じ参照ピクチャを有する候補がある場合、該当候補をAMVPリストに含ませることができる。(1)を満たす候補がない場合、予測部は、(2)現在ピクチャと現在ピクチャの参照ピクチャとの間のピクチャ順カウント(Picture Order Count、POC)差及び現在ピクチャと候補の参照ピクチャとの間のPOC差に基づいて、利用可能であると先検索された候補の動きベクトルをスケーリングすることができる。予測部は、スケーリングされた動きベクトルをAMVPリストに含ませることができる。
B0→B1→B2の順序に候補の可用性を判断するとき、予測部は、(1)利用可能な候補として、現在ブロックと同じ参照ピクチャを有する候補がある場合、該当候補をAMVPリストに含ませる。(1)を満たす候補がなく、かつA0とA1のうち利用可能な候補がない場合、予測部は、(2)現在ピクチャと現在ピクチャの参照ピクチャとの間のPOC差及び現在ピクチャと候補の参照ピクチャとの間のPOC差に基づいて、利用可能であると先検索された候補の動きベクトルをスケーリングすることができる。予測部は、スケーリングされた動きベクトルをAMVPリストに含ませることができる。
COL候補(時間的候補)を使用する場合は、参照ピクチャリストを利用してCOL候補が含まれているCOLピクチャを特定することができる。現在ブロックと同じLCU内にあるCOLブロックに対して所定位置を含む予測ブロックの動き情報をCOL候補にすることができる。このとき、COL候補の動きベクトルは、COLピクチャと現在ピクチャの参照ピクチャを考慮してスケーリングすることができる。
A0→A1の順序に候補の可用性を判断して決定されたMVP候補をAとし、B0→B1→B2の順序に候補の可用性を判断して決定されたMVP候補をBとし、時間的候補に対する可用性判断によって決定されたMVP候補をCOLとするとき、AMVPリストは、[A B COL]の順序に構成することができる。
このとき、予測部は、AとBが同じ場合、二つのうち一つをAMVPリストから削除することができる。
また、予測部は、A、B及びCOLが全部有効な場合、AMVPリスト内のMVP候補の個数を2に調整することができる。例えば、予測部は、AとBでAMVPリストを構成し、COLをAMVPリストから除去することができる。
予測部は、AMVPリスト内の候補の個数が2より少ない場合、ゼロ(0)動きベクトルを候補として追加することもできる。
符号化装置は、AMVPリスト上で現在ブロックに対するインタ予測に使用するMVPを指示するMVPインデクス、動きベクトルの差分(motion vector difference、mvd)と参照ピクチャリスト上で現在ブロックに対する参照ピクチャを指示する参照インデクスを復号装置に送信することができる。参照ピクチャリストは、インタ予測に使われることができる参照ピクチャのリストであって、順方向予測に対するL0及び逆方向予測に対するL1がある。
予測部は、MVPインデクスが指示するMVPとmvdから導出した動きベクトルと参照インデクスが指示する参照ピクチャに基づいて現在ブロックに対する予測ブロックを生成することができる。
マージモード/スキップモード又はAMVPモードを適用して予測ブロックが生成されると、予測部は、予測ブロックとレジデュアルに基づいて現在ブロックに対する復元ブロックを生成することができる。スキップモードが適用される場合は、レジデュアルが送信されないため、予測部は、予測ブロックを復元ブロックとして利用することができる。
以上、インタ予測の方法の例示としてベースレイヤの場合を説明したが、エンハンスメントレイヤでも他のレイヤの情報を利用せずにインタ予測を実行する場合は、前述の説明と同じ方法によってインタ予測を実行することができる。
ベースレイヤに対して前述したようにインタ予測が実行されると、エンハンスメントレイヤでは、ベースレイヤの動き情報を利用せずにインタレイヤ動き予測(inter−layer motion prediction)を実行することができる。
インタレイヤ動き予測は、符号化装置と復号装置の予測部で実行することができる。
図10は、本発明によってインタレイヤ動き予測を実行する方法の一例を概略的に説明する流れ図である。
図10を参照すると、エンハンスメントレイヤの予測部は、参照レイヤの動き情報を導出することができる(S1010)。例えば、エンハンスメントレイヤのインタレイヤ予測部は、参照レイヤの予測部から伝達された情報に基づいて参照レイヤの動き情報を導出することができる。又は、エンハンスメントレイヤの予測部は、符号化装置から伝達された情報に基づいて参照レイヤの動き情報を導出することもできる。
このとき、エンハンスメントレイヤの予測部は、導出された参照レイヤの動き情報、例えば、導出された参照レイヤの動きベクトルをスケーリングすることもできる。
エンハンスメントレイヤの予測部は、参照レイヤの動き情報を利用して現在ブロックに対するインタレイヤインタ予測を実行することができる(S1020)。例えば、エンハンスメントレイヤのインタ/イントラ予測部は、インタレイヤ予測部が導出した参照レイヤの動き情報をマージモード/スキップモード又はAMVPモードの一候補として利用して現在ブロックに対する予測を実行することができる。
以下、図面を参照して、本発明によるインタレイヤイントラ予測を具体的に説明する。
1.参照レイヤの動き情報導出
図11は、本発明によって参照レイヤの動き情報を導出する方法を概略的に説明する図面である。図11において、現在レイヤは、参照レイヤの上位レイヤであって、現在レイヤの解像度が参照レイヤの解像度より高い場合を例として説明する。
図11を参照すると、現在レイヤのPU(現在PU)1110に対応する参照レイヤのPU(参照PU)1100に基づいて現在PUを特定することができる。
現在PUを特定する位置を(xCurr,yCurr)とし、現在PUに対応する参照レイの位置、例えば、参照PUを特定する位置を(xRef,yRef)とする。
参照レイヤの動きベクトルから導出するインタレイヤ動きベクトルをmvILとし、(xRef,yRef)によって特定される参照レイヤの動きベクトル(例えば、参照PUの動きベクトル)をmvRLとする。
図11において、nPSWは、現在PU1110の幅であり、nPSHは、現在PU1110の高さである。
予測部は、現在PUを特定し、現在PUの位置に基づいて参照PUを特定し、参照PUの動き情報(例えば、動きベクトル)を導出することができる。
(I)現在PUを特定する位置(xCurr,yCurr)の決定
現在PUを特定する位置(xCurr,yCurr)は、下記の(1)〜(12)のような候補のうち、いずれか一つに決定することができる。
(1)LT=(xP,yP)
(2)RT=(xP+nPSW−1,yP)
(3)LB=(xP,yP+nPSH−1)
(4)RB=(xP+nPSW−1,yP+nPSH−1)
(5)LT′=(xP−1,yP−1)
(6)RT′=(xP+nPSW,yP−1)
(7)LB′=(xP−1,yP+nPSH)
(8)RB′=(xP+nPSW,yP+nPSH)
(9)C0=(xP+(nPSW>>1)−1,yP+(nPSH>>1)−1)
(10)C1=(xP+(nPSW>>1),yP+(nPSH>>1)−1)
(11)C2=(xP+(nPSW>>1)−1,yP+(nPSH>>1))
(12)C3=(xP+(nPSW>>1),yP+(nPSH>>1))
現在PUを特定する位置(xCurr,yCurr)は、(1)〜(12)のうちいずれか一つに決定されて固定的に使用することもできるし、符号化装置でRDOを介して決定した後、いずれの位置を(xCurr,yCurr)として使用するかを通知することもできる。
又は、参照レイヤ(ベースレイヤ)でPUを特定する位置に対応して、同一位置を現在レイヤ(エンハンスメントレイヤ)のPUを特定する位置に決定することもできる。例えば、参照レイヤでPU内の左上端を、PUを特定する位置として利用する場合は、現在レイヤでもPU内の左上端LT=(xP,yP)を(xCurr,yCurr)に決定して利用することもできる。
(II)参照レイヤの対象位置(xRef,yRef)
参照レイヤで動きベクトルを利用する位置(参照PUの位置)は、現在PUの位置から現在レイヤと参照レイヤとの間の比によって決定することができる。
式1は、本発明によって参照レイヤで動きベクトルを利用する位置を決定する方法を示す。
(式1)
xRef=xCurr/scale
yRef=yCurr/scale
このとき、参照レイヤに対する現在レイヤの比を示すscaleは、二つのレイヤの解像度によって決定することができる。例えば、現在レイヤの解像度が参照レイヤの解像度の2倍の場合、適用されるscaleの値は2になる。現在レイヤの解像度と参照レイヤの解像度が同じ場合、適用されるscaleの値は1になる。
ここでは、現在レイヤと参照レイヤとの間の解像度の比によってscaleの値を決定したが、本発明はこれに限定されない。scaleは、現在レイヤと参照レイヤとの間に適用されるスケーラビリティの種類によって決定することもできる。例えば、scaleは、現在レイヤと参照レイヤとの間のピクチャの大きさ比であってもよいし、フレームレート比であってもよい。
予測部は、(xRef,yRef)位置の動きベクトル、すなわち、(xRef,yRef)をカバーするPU(参照PU)の動きベクトルをmvRLとして導出することができる。
また、予測部は、(xRef,yRef)をカバーするPU(参照PU)の参照インデクスをインタレイヤ動き予測に使用する参照インデクスrefIdxILとして導出することができる。
予測部は、mvRLをスケーリングしてインタレイヤ動き予測(インタレイヤインタ予測)に使用する動きベクトルmvILを導出することができる。
式2は、本発明によってmvRLをスケーリングしてmvILを導出する方法を示す。
(式2)
mvIL=scale*mvRL
式2において、係数scaleは、式1と同様に、参照レイヤに対する現在レイヤの比を示す。例えば、現在レイヤの解像度が参照レイヤの解像度の2倍の場合、適用されるscaleの値は2になる。
現在レイヤの解像度と参照レイヤの解像度が同じ場合、適用されるscaleの値は、1になり、予測部は、mvRLをmvILとして利用することができる。
2.参照レイヤから導出した動き情報を利用したインタレイヤインタ予測
予測部は、参照レイヤから導出した動き情報を利用して現在レイヤ(エンハンスメントレイヤ)の現在ブロックに対するインタレイヤインタ予測を実行することができる。参照レイヤから導出した動き情報は、動きベクトルmvILと参照インデクスrefIdxILを含む。
例えば、マージモード/スキップモードが適用される場合、予測部は、mvILとrefIdxILをマージ候補として現在ブロックに対するマージ候補リストに追加することができる。
また、AMVPモードが適用される場合、予測部は、mvILをMVP候補として現在ブロックに対するAMVPリストに追加することができる。
(I)マージモードが適用される場合
表5は、前述したように、インタ予測として他のレイヤを参照せずにレイヤ内でマージモードが適用される場合、構成されるマージ候補リストの一例を示す。
表5において、A1、B1、B0、A0、B2、COLは、図9のA1、B1、B0、A0、B2、COLと同じである。また、表5において、インタ予測のマージ候補リストを構成する方法は、図9を参照して説明したインタ予測のマージモードでの方法と同じである。
表5において、最上部に位置する候補には最も小さい値のインデクスを割り当てることができ、最下部に位置する候補には最も大きい値のインデクスを割り当てることができる。
それに対し、インタレイヤ動き予測が適用される場合、予測部は、表5と違って参照レイヤから導出した動き情報を含むマージ候補リストを構成することができる。ここでは、説明の便宜のために、参照レイヤから導出した動き情報を参照レイヤ候補(reference layer candidate)REFという。
REFは、mvILとrefIdxILを含む。
表6は、本発明によってインタレイヤ動き予測のマージモードが適用される場合、予測部によって構成されるマージ候補リストの一例を示す。表6は、本発明によって参照レイヤ候補がマージ候補リストに追加される順序を説明する。
表6において、A1、B1、B0、A0、B2、COLは、図9のA1、B1、B0、A0、B2、COLと同じである。また、表6において、A1、B1、B0、A0、B2、COLでマージ候補リストを構成する方法は、図9を参照して説明したとおりである。
表6において、最上部に位置する候補には最も小さい値のインデクスを割り当てることができ、最下部に位置する候補には最も大きい値のインデクスを割り当てることができる。
ただし、予測部は、図9で説明したように、A1、B1、B0、A0、B2の有効性を判断するたびに、以前の候補との同一性を考慮することができる。
また、予測部は、A1、B1、B0、A0、B2間の同一性を排除してリストを構成した後、A1、B1、B0、A0、B2、COL間の同一性を一度に判断することができる。この場合、同じ候補のうち一つを残す作業は、COLの有効性を判断した後に実行することができる。
インタレイヤ動き予測のマージモードが適用される場合、予測部は、表6のマージ候補リストにおいて、(a)〜(f)のうち、いずれか一つの順序にREFを含ませることができる。
例えば、予測部は、REFに最も小さいインデクス(例えば、0)を割り当ててマージ候補リストの(a)順序に含ませることができる。すなわち、予測部は、マージ候補リストにREFを最初に追加することができる。
また、予測部は、REFに最も大きいインデクス(例えば、マージ候補リストに含まれることができる最大候補個数−1)を割り当ててマージ候補リストの(f)順序に含ませることができる。すなわち、予測部は、マージ候補リストにREFを最後に追加することもできる。
予測部は、空間的候補の次の順序である(c)にREFを追加することもできる。すなわち、予測部は、空間的候補の有効性を判断した後、REFをマージ候補リストに追加することもできる。
また、予測部は、現在レイヤ内の候補のうち単方向予測に対する候補の次、そして、組合せ双方向候補前の順序である(d)にREFを追加することもできる。すなわち、予測部は、現在レイヤ内の候補のうち単方向予測の候補に対する有効性を判断し、組合せ双方向候補を追加する前にREFをマージ候補リストに追加することもできる。
予測部は、現在レイヤ内の候補を全部考慮した後の順序である(e)にREFを追加することもできる。すなわち、予測部は、現在レイヤ内の候補に対する有効性を全部検討した後、REFをマージ候補リストに追加することもできる。
併せて、予測部は、現在ブロックの左側の候補と上側の候補を一つずつ考慮した後の順序である(b)にREFを追加することもできる。すなわち、予測部は、現在ブロックの左側の候補と上側の候補の有効性を一つずつ検討した後、REFをマージ候補リストに含ませることもできる。
表6のインタレイヤ動き予測のマージ候補リストに含まれる候補の個数、すなわち、最大候補個数は、表5と同じであってもよい。この場合、最大候補個数を合わせるために、REFが含まれる位置によって、REFより後順位にある現在レイヤの候補をマージ候補リストから除外してもよい。また、REFより先順位にある現在レイヤの候補で最大候補個数が満たされる場合は、REFをマージ候補リストから除外してもよい。
表6のインタレイヤ動き予測のマージ候補リストに含まれる候補の個数、すなわち、最大候補個数は、表5と異なってもよい。例えば、表6において、最大候補個数は、REFを考慮して表5の場合より一つ多い。この場合は、現在レイヤの候補でマージ候補リストが構成された後、REFを所定の位置又は所定の順序に含ませることによってマージ候補リストを完成すると見ることもできる。このとき、マージ候補リスト内でREFの位置又は追加される順序は、予め決めてもよく、符号化装置から指示され、又は復号装置によって導出してもよい。
マージ候補リスト内の候補のうちいずれの候補を利用してマージモードを実行するかは、符号化装置から指示することができる。例えば、予測部は、符号化装置から受信した情報(例えば、マージインデクス merge_idx)が表6のようなマージ候補リスト上で指示する候補を選択し、選択された動き情報が指示するブロックに基づいて現在ブロックに対する予測ブロックを生成することができる。
(II)MVP(AMVP)モードが適用される場合
表7は、前述したように、インタ予測として他のレイヤを参照せずに現在レイヤ内でMVPモードが適用される場合、構成される候補リストの一例を示す。本明細書では、MVPを利用するインタ予測のモードをAMVPモードといい、このとき、利用される候補MVPで構成されるリストをAMVPリストという。
表7において、A1、B1、B0、A0、B2、COL、そして、A及びBは、図9のA1、B1、B0、A0、B2、COL、そして、図9を利用して説明したMVPモードでのA及びBと同じである。また、表7において、インタ予測のMVP候補リストを構成する方法は、図9を参照して説明したインタ予測のMVPモードでの方法と同じである。
表7において、最上部に位置する候補には最も小さい値のインデクスを割り当てることができ、最下部に位置する候補には最も大きい値のインデクスを割り当てることができる。
それに対し、インタレイヤ動き予測が適用される場合、予測部は、表7と違って参照レイヤから導出した動き情報を含むMVP候補リストを構成することができる。ここでは、参照レイヤから導出した動きベクトルを参照レイヤ候補REFという。
REFは、mvILを含む。
表8は、本発明によってインタレイヤ動き予測のMVPモードが適用される場合、予測部によって構成されるAMVPリストの一例を示す。表8は、本発明によって参照レイヤ候補がAMVPリストに追加される順序を説明する。
表8において、A1、B1、B0、A0、B2、COL、そして、A及びBは、図9のA1、B1、B0、A0、B2、COL、そして、図9を利用して説明したMVPモードでのA及びBと同じである。また、表8において、A、B、COLでAMVPリストを構成する方法は、図9を参照して説明したとおりである。
表8において、最上部に位置する候補には最も小さい値のインデクスを割り当てることができ、最下部に位置する候補には最も大きい値のインデクスを割り当てることができる。
予測部は、図9で説明したように、AとBとの間の同一性を判断し、AとBが同じ場合は、AとBのうち一つをAMVPリストから除外することができる。この過程は、Bの有効性を判断するときに実行してもよいし、AとBを判断した後に実行してもよいし、COLの有効性を判断する場合又はCOLの有効性を判断した後に実行してもよい。
インタレイヤ動き予測のMVPモードが適用される場合、予測部は、表8のAMVPリストにおいて、(a)〜(e)のうち、いずれか一つの順序にREFを含ませることができる。
例えば、予測部は、REFに最も小さいインデクス(例えば、0)を割り当てて、(a)の順序に含ませることができる。すなわち、予測部は、AMVPリストにREFを最初に追加することができる。
また、予測部は、REFに最も大きいインデクス(例えば、AMVPリストに含まれることができる最大候補個数−1)を割り当てて、(e)の順序に追加させることもできる。すなわち、予測部は、AMVPリストの最後にREFを追加することもできる。
また、予測部は、現在レイヤ内の候補を全部考慮した後の順序である(d)にREFを含ませることもできる。
予測部は、空間的候補の次の順序である(c)にREFを追加させることもできる。また、予測部は、現在ブロックの左側の候補を考慮した後、上側の候補を考慮する前の位置である(b)にREFを含ませることもできる。
表8のインタレイヤ動き予測のAMVPリストに含まれる候補の個数、すなわち、最大候補個数は、表7と同じであってもよい。この場合、最大候補個数を合わせるために、REFが含まれる位置によって、REFより後順位にある現在レイヤの候補をAMVPリストから除外してもよい。また、REFより先順位にある現在レイヤの候補で最大候補個数が満たされる場合は、REFをAMVPリストから除外してもよい。
例えば、最大候補個数が2の場合、(c)位置のREFは、AMVPリストから除外することができる。
表8のインタレイヤ動き予測のAMVPリストに含まれる候補の個数、すなわち、最大候補個数は、表7と異なってもよい。例えば、表8において、最大候補個数は、REFを考慮して表7の場合(例えば、2)より一つ多い。この場合は、現在レイヤの候補でAMVPリストが構成された後、REFを所定の位置に含ませることによってAMVPリストを完成すると見ることもできる。このとき、AMVPリスト内でREFの位置は、予め決めてもよいし、符号化装置から指示され、又は復号装置によって導出してもよい。
AMVPリスト内の候補のうちいずれの候補を利用してMVPモードを実行するかは、符号化装置から指示することができる。例えば、予測部は、符号化装置から受信した情報が表6のようなAMVPリスト上で指示する候補を選択し、選択された動きベクトルと符号化装置から受信したmvdを利用して現在ブロックに対する動きベクトルを導出することができる。予測部は、導出した動きベクトルと符号化装置から受信した参照インデクスが指示する参照ピクチャに基づいて、現在ブロックに対する予測ブロックを生成することができる。
一方、所定の条件を満たす場合、予測部は、AMVPリストにREFを追加する前にmvILをスケーリングすることができる。
例えば、現在PUの参照インデクスと、参照PUの参照インデクス(refIdxIL)が異なる場合は、mvILをスケーリングすることができる。すなわち、現在PUの参照インデクスが指示するピクチャ(現在PUの参照ピクチャ)のPOCと、参照PUの参照インデクスが指示するピクチャ(参照PUの参照ピクチャ)のPOCが異なる場合は、mvILをスケーリングすることができる。
図12は、本発明によってmvILをスケーリングする方法を概略的に説明する図面である。
図12を参照すると、現在レイヤにおいて、現在ピクチャのPOCと現在PU1200の参照ピクチャ1220のPOCとの間の差をtbとし、参照レイヤにおいて、現在ピクチャのPOCと参照PU1210の参照ピクチャ1230のPOCとの間の差をtdとする。
現在PU1200の参照ピクチャ1220に対するPOCであるpocRefと、参照PU1210の参照ピクチャ1230に対するPOCであるpocRefLayerが異なる場合、予測部は、REF、すなわち、mvILをスケーリングしてAMVPに含ませることができる。
mvILは、式3のような方法によってスケーリングすることができる。スケーリングされたmvILをmvIL′とする。
(式3)
tx=(16384+(Abs(td)>>1))/td
DistScaleFactor=Clip3(−4096,4095,(tb*tx+32)>>6)
mvIL′=Clip3(−8192,8191.75,Sign(DistScaleFactor*mvIL)*((Abs(DistScaleFactor*mvIL)+127)>>8))
td=Clip3(−128,127,pocCurr−pocRefLayer)
tb=Clip3(−128,127,pocCurr−pocRef)
式3において、pocCurrは、現在ピクチャのPOCを示し、pocRefは、現在PUの参照インデクスによって指示されるピクチャのPOCを示し、pocRefLayerは、参照PUの参照インデクス、すなわち、(xRef,yRef)の参照インデクスによって指示されるピクチャのPOCを示す。
また、Abs(x)は、xが0より小さい場合、−xになり、xが0より大きい又は同じ場合、xになる。Clip3(x,y.c)は、zがxより小さい場合、xになり、zがyより大きい場合、yになり、その他の場合、zになる。
予測部は、pocRefとpocRefLayerが異なる場合、式3のように各レイヤにおいて、参照ピクチャまでの距離に基づいてインタレイヤ動きベクトルをスケーリングし、スケーリングされた動きベクトル候補(すなわち、スケーリングされたmvIL又はスケーリングされたREF)をAMVPリストに追加することができる。
このとき、予測部は、REF(すなわち、mvIL)の代わりにスケーリングされたREF(すなわち、スケーリングされたmvIL)をAMVPリストに含ませることによって、前述したような同じ方式によってAMVPモードを適用したインタレイヤ動き予測を実行することができる。
インタレイヤ動き予測を適用する場合、CUレベルの観点から見ると、ベースレイヤのブロックの大きさと関係なしに、すべてのCUパーティションをそのまま使用することができる。また、PUレベルの観点から見ると、符号化装置がインタ予測とインタレイヤ動き予測に対するRDOを実行することによって最適の予測モードを適用することができる。
インタレイヤシンタックス予測
インタレイヤシンタックス予測では、参照レイヤのシンタックス情報を利用して現在ブロックのテクスチャを予測し、又は生成する。このとき、現在ブロックの予測に利用する参照レイヤのシンタックス情報は、イントラ予測モードに対する情報、動き情報などである。
例えば、参照レイヤがPスライス又はBスライスであるが、スライス内の参照ブロックは、イントラ予測モードが適用されたブロックである。この場合は、参照レイヤのシンタックス情報のうちイントラモードを利用し、現在レイヤのテクスチャを生成/予測するインタレイヤ予測を実行することができる。具体的には、参照レイヤがPスライス又はBスライスであるが、スライス内の参照ブロックは、イントラ予測モードが適用されたブロックである場合、インタレイヤシンタックス予測を適用すると、現在ブロックに対して(1)参照ブロックのイントラ予測モードに(2)現在レイヤで現在ブロック周辺の参照ピクセルを利用し、イントラ予測を実行することができる。
参照レイヤがPスライス又はBスライスであり、かつスライス内の参照ブロックがインタ予測モードの適用されたブロックである場合は、前述したように、インタレイヤ動き予測と同じ方式によって、参照レイヤのシンタックス情報のうち動き情報をスケーリングし、現在レイヤに対するテクスチャを生成/予測するインタレイヤ予測を実行することができる。
このように、インタレイヤシンタックス予測は、インタレイヤ動き予測とインタレイヤテクスチャ予測を混用する方式であると見ることができる。
インタレイヤ動き予測は、前述したように、参照レイヤの動き情報を利用してエンハンスメントレイヤで予測信号(予測ブロック)を生成する予測方法である。
このとき、参照レイヤの動き情報は、レイヤ間の解像度の変化によってスケーリングすることができる。
参照レイヤでイントラ予測モードが適用されて動き情報がないブロックが参照ブロックである場合は、前述したように、参照レイヤのイントラ予測モードを利用してエンハンスメントレイヤの周辺画素から現在ブロックを予測して予測信号を生成することができる。
インタレイヤシンタックス予測又はインタレイヤ動き予測の場合、ルマ成分に対する動き情報は、参照レイヤから4×4ブロック単位に利用することができる。この場合、クロマ成分に対する動き情報としてルマ成分に対する動き情報を使用することもできる。
インタレイヤシンタックス予測を適用すると、PUレベルから見たとき、新たなPUモードを生成せずに、上位レベルでどのような予測モードを適用するかを通知することによって、参照レイヤ内の参照ブロックに適用された予測モードに応じてインタレイヤイントラ予測とインタレイヤ動き予測を適応的に適用することができる。
インタレイヤシンタックス予測を適用するかどうかを指示するフラグは、CUの分割を指示するフラグ(例えば、CU_split_flag)の次にフラグ形態で送信することもできる。
図13は、本発明によってインタレイヤシンタックス予測を実行する方法の一例を簡単に説明する図面である。
図13を参照すると、参照レイヤ1300の参照ブロック1310にイントラブロックとインタブロックが存在する。
図13の場合、インタレイヤシンタックス予測を適用すると、参照ブロック1310を現在レイヤに合わせてアップサンプリングしたピクチャ1320を構成してインタレイヤシンタックス予測を適用して復元ブロックを生成することができる(1330)。
このとき、参照レイヤにおいて、イントラ予測モードが適用されたブロック(intra)からはイントラ予測モードを参照し、インタ予測モードが適用されたブロック(MV)からは動き情報を参照することによって、インタレイヤシンタックス予測を実行することができる。
現在レイヤの対象ピクチャに対するインタレイヤシンタックス予測は、他の予測モードと混用することもあり、図13の現在ピクチャ1340における斜線領域は、他の予測モードが適用することができる領域を意味する。
インタレイヤレジデュアル予測
インタレイヤレジデュアル予測は、参照レイヤのレジデュアル信号を利用してエンハンスメントレイヤのレジデュアル予測映像を生成し、エンハンスメントレイヤではレジデュアル予測映像を参照してレジデュアル映像を符号化/復号する方法である。
インタレイヤレジデュアル予測は、図1〜図4の予測部又はインタレイヤ予測部で実行することができる。以下、説明の便宜のために、予測部でインタレイヤレジデュアル予測を実行すると説明する。
予測部は、参照レイヤのレジデュアル信号をレイヤ間の解像度の差又は比に応じてスケーリングすることによって、エンハンスメントレイヤに対するレジデュアル予測映像を生成することができる。
符号化装置では、インタレイヤシンタックス予測及びインタレイヤイントラ予測とは別に、インタレイヤレジデュアル予測に対するRDOを実行することもできる。RDOコンテンションを介してインタレイヤレジデュアル予測を適用すると決定されたときは、レジデュアル信号を予測するためのフラグ、すなわち、インタレイヤレジデュアル予測を適用することを指示するフラグは、レジデュアル(変換係数)の前部にCU単位に符号化して送信することができる。
図14は、本発明によってインタレイヤレジデュアル予測を適用する方法を概略的に説明する図面である。
図14を参照すると、インタレイヤ予測のために、参照レイヤのレジデュアル信号1400で参照される参照ブロック部分1410をレイヤ間の解像度の比に応じてスケーリングしてレジデュアル予測映像1420が生成することができる。
レジデュアル予測映像1420に基づいて現在ブロックに対するレジデュアル映像1430が復元することができる。このとき、斜線処理された領域は、インタレイヤレジデュアル予測が適用されない領域を意味する。
符号化装置は、すべての予測モードのレジデュアル信号に対してインタレイヤレジデュアル予測を適用するかどうかをRDOに基づいて判断することができる。インタレイヤレジデュアル予測を適用するかどうかを指示する情報は、フラグ形態で係数(例えば、レジデュアルの量子化された変換係数)に対する情報より前に送信することができる。
インタレイヤ予測のためのシンタックス構造
符号化装置は、以上で説明したインタレイヤ予測のために必要な情報を通知することができる。また、復号装置は、通知された情報を受信してインタレイヤ予測を実行することができる。
ここでは、以上で説明した又は以後に追加的に説明するインタレイヤ予測の実行方法と必要な情報の一例を示すシンタックスに対して説明する。
表9は、本発明によるNALユニットシンタックスの一例を示す。
表10は、本発明によるNALユニットヘッダSVC拡張シンタックスの一例を示す。
表11は、本発明によるシーケンスパラメータセットRBSPシンタックスの一例を示す。
表12は、本発明によるサブセットシーケンスパラメータRBSPシンタックスの一例を示す。
表13は、本発明によるシーケンスパラメータセットSVC拡張シンタックスの一例を示す。
表14は、本発明によるピクチャパラメータセットRBSPシンタックスの一例を示す。
表15は、本発明によるスケーリングリストデータシンタックスの一例を示す。
表16は、本発明によるスケーリングリストシンタックスの一例を示す。
表17は、本発明による適応的パラメータセットRBSPシンタックスの一例を示す。
表18は、本発明による追加的エンハンスメント情報RBSPシンタックスの一例を示す。
表19は、本発明による追加的エンハンスメント情報メッセージシンタックスを示す。
表20は、本発明によるアクセスユニットデリミタRBSPシンタックスの一例を示す。
表21は、本発明によるフィラー(filler)データRBSPシンタックスの一例を示す。
表22は、本発明によるスライスレイヤRBSPシンタックスの一例を示す。
表23は、本発明によるスライスレイヤ拡張RBSPシンタックスの一例を示す。
表24は、本発明によるRBSPスライストレーリングビットシンタックスの一例を示す。
表25は、本発明によるRBSPトレーリングビットシンタックスの一例を示す。
表26は、本発明によるRBSPバイト整列シンタックスの一例を示す。
表27は、本発明によるスライスヘッダの一例を示す。
表28は、本発明による、スケーラブル拡張におけるスライスヘッダシンタックスの一例を示す。
表29は、本発明による短期参照ピクチャセットシンタックスの一例を示す。
表30は、本発明による参照ピクチャリスト修正シンタックスの一例を示す。
表31は、本発明による参照ピクチャリスト組合せシンタックスの一例を示す。
表32は、本発明によるサンプル適応的オフセットパラメータシンタックスの一例を示す。
表33は、本発明による適応的ループフィルタパラメータシンタックスの一例を示す。
表34は、本発明による適応的ループフィルタ符号化ユニット制御パラメータシンタックスの一例を示す。
表35は、本発明による予測加重値テーブルシンタックスの一例を示す。
表36は、本発明によるスライスデータシンタックスの一例を示す。
表37は、本発明による、スケーラブル拡張におけるスライスデータシンタックスの一例を示す。
表38は、本発明による符号化ツリーシンタックスの一例を示す。
表39は、本発明による、スケーラブル拡張における符号化ツリーシンタックスの一例を示す。
表40は、本発明による符号化ユニットシンタックスの一例を示す。
表41は、本発明による、スケーラブル拡張における符号化ユニットシンタックスの一例を示す。
表42は、本発明による予測ユニットシンタックスの一例を示す。
表43は、本発明による動きベクトル差分符号化シンタックスの一例を示す。
表44は、本発明による変換ツリーシンタックスの一例を示す。
表45は、本発明による変換係数シンタックスの一例を示す。
表46は、本発明によるレジデュアル符号化シンタックスの一例を示す。
前述したシンタックスのうち、nal_unit_typeは、表47のように定義することができる。
dependency_idは、各NALユニットの従属関係を示すために送信されるID番号である。
quality_idは、各NALユニットの品質レベルを示すために送信されるID番号である。
singleloop_decoding_flagの値が1の場合、スケーラブルビットストリームの最上位レイヤでのみ動き補償が実行される。singleloop_decoding_flagの値が0の場合、すべてのレイヤで動き補償が許容される。
slice_typeは、表48によるスライスの符号化タイプを特定する。
inter_layer_intra_prediction_flagの値が1の場合、符号化ユニットでインタレイヤイントラ予測の動作が適応的に使われるということを特定する。そうでない場合、インタレイヤイントラ予測は使われない。inter_layer_intra_prediction_flagがない場合は、inter_layer_intra_prediction_flagの値を0に推定することができる。また、ILIntraPredFlagは、下記のように導出することができる。
−singleloop_decoding_flagの値が1の場合、inter_layer_intra_prediction_flagの値が1であり、かつslice_typeがEIであると、ILIntraPredFlagの値を1に設定する。そうでない場合は、ILIntraPredFlagの値を0に設定する。
−singleloop_decoding_flagの値が0の場合、ILIntraPredFlagの値は、inter_layer_intra_prediction_flagと同じく設定される。
inter_layer_syntax_prediction_flagの値が1の場合、符号化ユニットでインタレイヤシンタックス予測の動作が適応的に利用されるということを特定する。そうでない場合、インタレイヤシンタックス予測が利用されない。inter_layer_syntax_prediction_flagがない場合は、inter_layer_syntax_prediction_flagの値を0に推定することができる。また、ILSyntaxPredFlagは、下記のように導出することができる。
−inter_layer_syntax_prediction_flagの値が1であり、かつslice_typeがEIでない場合、ILSyntaxPredFlagは、1に設定される。そうでない場合、ILSyntaxPredFlagは、0に設定される。
inter_layer_residual_prediction_flagの値が1の場合、符号化ユニットでインタレイヤレジデュアル予測の動作が適応的に利用されるということを特定する。そうでない場合、インタレイヤレジデュアル予測が利用されない。inter_layer_residual_prediction_flagがない場合、is not present、inter_layer_residual_prediction_flagの値は、0に推定することができる。また、ILResPredFlagは、下記のように導出することができる。
−inter_layer_residual_prediction_flagの値が1であり、かつslice_typeがEIでない場合、ILResPredFlagは、1に設定される。そうでない場合、ILResPredFlagは、0に設定される。
cabac_init_idcは、コンテキスト変数(context variable)に対する初期化プロセスに使われる初期化表(initialisation table)を決定するためのインデクスを特定する。cabac_init_idcは、0以上2以下の値を有することができる。
il_modeは、ベースレイヤの情報を使用するかどうかを指示するシンタックスである。il_modeは、singleloop_decoding_flag値によって下記のような役割をする
singleloop_decoding_flag=1であり、かつslice_type=EIの場合、il_modeの値が1であると、復元されたベースレイヤを現在レイヤとの解像度の差に基づいてスケーリングした後、現在CUの予測情報として使用することができる。il_modeの値が0であると、ベースレイヤの復元情報を使用しない。
singleloop_decoding_flag=1であり、かつslice_type!=EIの場合、il_modeの値が1であると、ベースレイヤの動き情報、イントラ予測情報を対応する現在レイヤとの解像度の差を考慮してスケーリングした後に複製して予測信号を作り、その値を予測子(predictor)として使用することができる。il_modeの値が0であるときは、ベースレイヤの復元情報を使用しない。
singleloop_decoding_flag=0であり、かつil_modeの値が1の場合、ベースレイヤの復元されたピクセル情報を、解像度を考慮したスケーリング後、予測情報として使用することができる。
il_res_modeが1の場合、対応するベースレイヤの復元されたレジデュアルデータを、解像度を考慮してスケーリングした後、現在CUのレジデュアルに対する予測子として使用することができる。il_res_modeの値が0の場合、対応するベースレイヤの復元されたレジデュアルデータは使用しない。
inter_layer_differential_coding_flagの値が1の場合、符号化ユニットでインタレイヤ差分(differential)符号化の動作が適応的に利用することを特定する。そうでない場合、インタレイヤ差分符号化が利用されない。inter_layer_differential_coding_flagがない場合、inter_layer_differential_coding_flagの値を0に推定する。また、ILDiffCodingFlagは、下記のように導出することができる。
−singleloop_decoding_flagの値が1であり、かつinter_layer_differential_coding_flagの値が1であり、かつslice_typeがEIの場合、ILDiffCodingFlagの値は、1に設定される。そうでない場合、ILDiffCodingFlagの値は、0に設定される。
−singleloop_decoding_flagの値が1でない場合、ILDiffCodingFlagの値は、inter_layer_differential_coding_flagと同じく設定される。
インタレイヤユニット予測
スケーラブル符号化に使われる入力信号は、レイヤ間に解像度、フレームレート、ビット深度、カラーフォーマット、アスペクト比などが異なる。
この点を考慮してレイヤ間予測(インタレイヤ予測)を実行することによって、冗長度を減らしてサイマルキャストに対する符号化効率を上げることができる。
例えば、情報の重複量を減らす一方法として、エンハンスメントレイヤで送信される処理単位、すなわち、CU、PU及び/又はTUに対する情報をベースレイヤの情報を利用して減らす方法を使用することができる。
ベースレイヤのユニット(CU、PU及び/又はTU)情報を利用してエンハンスメントレイヤで送信されるユニット情報を減らす方法をインタレイヤユニット予測という。
インタレイヤユニット予測は、図1〜図4で説明した予測部又はインタレイヤ予測部で実行することができる。ここでは、説明の便宜のために、予測部がインタレイヤユニット予測を実行すると説明する。
例えば、インタレイヤユニット予測が適用される場合、予測部がベースレイヤのユニット情報を取得すると、これに基づいてエンハンスメントレイヤのパーティショニングを実行することができる。
図15は、本発明によるインタレイヤユニット情報予測の一例を概略的に説明する図面である。
図15の例では、エンハンスメントレイヤの解像度がベースレイヤの解像度より2倍高いと仮定する。
図15において、レイヤ0は、ベースレイヤ又は参照レイヤであり、レイヤ1は、エンハンスメントレイヤ又は現在レイヤである。
図15を参照すると、レイヤ0のLCUブロック1510は、多様なCU、PU又はTUに分割されている。ここでは、このようなCU、PU及び/又はTUの分割情報を、説明の便宜のために、CU情報又はユニット情報という。
予測部は、ベースレイヤのCU情報をアップスケーリングした情報である参照CU情報1520を生成することができる。予測部は、参照CU情報1520を利用してレイヤ0のCU情報を導出することができる。
例えば、参照CU情報1520からベースレイヤのCU情報を導出してレイヤ1に適用する場合は、レイヤ1のLCU構造として、LCU0 1530のようなユニット構造が利用することができる。参照CU情報1520を利用しない場合、すなわち、ベースレイヤのCU情報を利用しない場合は、レイヤ1のLCU構造として、LCU1 1540のようなユニット構造が利用することができる。
レイヤ0のCU情報(ユニット情報)を利用することが符号化効率を上げるのに役立つこともあるし、役立たないこともあるため、符号化装置は、レイヤ0のCU情報を使用するかを適応的に通知することができる。
ここでは、説明の便宜のために、ユニット情報がCU、PU、TUの分割情報であると説明したが、CU、PU、TUのパーティション構造以外にCU、PU、TUに対する情報を含むことができる。すなわち、ベースレイヤのCU情報は、ツリー構造又はパーティショニングに対する情報であってもよいし、PU情報(スキップモードか、又はノンスキップモードか、予測方向、動きベクトル、参照インデクス等)であってもよいし、両方であってもよい。
例えば、インタレイヤユニット予測がツリー/パーティショニング情報の予測に対するものである場合、下記のようなシンタックスを利用することができる。
表49は、本発明による、スケーラブル拡張レイヤに対するスライスデータシンタックスの一例を示す。
表50は、本発明による、スケーラブル拡張レイヤに対する符号化ツリーシンタックスの一例を示す。
bl_tree_info_skip_flagの値が1の場合、ベースレイヤ(参照レイヤ又はレイヤ0)のツリー情報をそのまま使用するということを指示する。bl_tree_info_skip_flagの値が0の場合、ベースレイヤのツリー情報を使用しないということを指示する。
bl_tree_info_skip_flagに対する理解のために、図5を参照することができる。もし、bl_tree_info_skip_flagの値が1の場合、ベースレイヤのツリー情報がCU情報アップスケーリングによってエンハンスメントレイヤ(現在レイヤ又はレイヤ1)の解像度に合うようにアップスケーリングされる。したがって、現在LCU(Largest Coding Unit)のsplit_coding_unit_flag値は、アップスケーリングされたベースレイヤの分割情報と同じ値に導出することができる。
BLSplitInfo[x0][y0]は、アップスケーリングされたCU情報に分割情報が存在する場合は、1の値を有し、アップスケーリングされたCU情報に分割情報が存在しない場合は、0の値を有する。
例えば、エンハンスメントレイヤの解像度がベースレイヤの解像度の2倍であり、エンハンスメントレイヤとベースレイヤのCU深度が同じ場合、アップサンプリングされたベースレイヤの分割情報は、エンハンスメントレイヤの分割情報より深度が1ステップ低くなる。
もし、ベースレイヤに分割情報が存在しない場合、BLSplitInfoを0に設定し、エンハンスメントレイヤのみのための追加情報(例えば、split_coding_unit_flag)を送信することによって、アップスケーリングされたベースレイヤから予測される場合の分割情報より詳細な分割情報を知らせることができる。
同様な方法をTUにも適用することができる。例えば、所定のフラグ程度を使用して現在レイヤに対するTU分割情報を処理するようにすることができる。
表51は、本発明による、スケーラブル拡張において符号化ユニットシンタックスの一例を示す。表51の例では、bl_tu_info_skip_flagというフラグを使用して現在レイヤのためのTU分割情報送信を省略することができる。
表52は、本発明による、スケーラブル拡張において、変換ツリーシンタックスの一例を示す。
前述したように、表51及び表52において、bl_tu_info_skip_flagの値が1の場合、ベースレイヤのアップスケーリングされたTU分割情報を現在レイヤでそのまま使用することができる。bl_tu_info_skip_flagの値が0の場合、現在レイヤのためのTU分割情報が符号化装置から独立的に送信することができる。
一方、インタレイヤユニット予測を適用するにあたって、CU/PU/TUの情報を組み合わせて使用することもできる。発明の理解のために、ここでは、ベースレイヤとエンハンスメントレイヤとの間の空間比(spatial ratio)が2の場合、すなわち、2レイヤの解像度の差が2倍である場合を例として説明する。
図16は、本発明によってインタレイヤユニット予測を適用する一例を概略的に説明する図面である。
図16では、インタレイヤユニット予測を適用するとき、ベースレイヤ構造をリサンプリングする方法に対して説明する。
図16(a)は、ベースレイヤのCU及びPU構造を示す。
図16(a)において、ベースレイヤブロック1600は、イントラ符号化されたブロックであり、分割領域1620は、N×Nパーティションであり、残りの領域は、2N×2Nパーティションであると仮定する。
図16(a)において、参照ブロック1610のCU/PU情報をエンハンスメントレイヤで使用するために、2倍のアップサンプリングを実行すると、ベースレイヤのパーティション構造をどのレベル(例えば、CUレベル又はPUレベル)まで利用するかによって、図16(b)のブロック1630のようなパーティション構造又は図16(c)のブロック1640のようなパーティション構造を得ることができる。
このとき、ベースレイヤのCU情報のみをエンハンスメントレイヤで使用しようとする場合、エンハンスメントレイヤのCUパーティション構造をブロック1630のパーティション構造のように構成することができる。この場合、エンハンスメントレイヤの映像がブロック1630より細分化されたパーティション構造を有する場合はカバーすることができない。
それに対し、ベースレイヤのCU情報だけでなく、PU情報まで共にエンハンスメントレイヤのCUパーティション構造に反映する場合、図16(c)のブロック1640のようにベースレイヤで2N×2Nパーティションでなく、より細分化されたパーティション(例えば、N×Nパーティション)を有する部分に対応されるエンハンスメントレイヤの領域でも追加的なCU分割が可能である。したがって、この場合、エンハンスメントレイヤの映像は、より細分化されたパーティション構造を有する。
一方、図16では、ベースレイヤがイントラ符号化されたブロックである場合を例として説明したが、ベースレイヤがインタ符号化されたブロックである場合にも同じ方法を適用することができる。
図17は、本発明によってインタレイヤユニット予測を適用する他の例を概略的に説明する図面である。
図17では、ベースレイヤのブロック1700がインタ符号化されたブロックであり、領域1720は、N×2Nパーティションであり、領域1730は、2N×Nパーティションであると仮定する。
インタ符号化されたブロックの場合は、2N×2Nパーティション、N×Nパーティション外にも、2N×Nパーティション、N×2Nパーティション、2N×nUパーティション、2N×nDパーティション、nL×2Nパーティション、nR×2Nパーティションのように多様な形態のパーティションタイプを使用することができる。
ベースレイヤの参照ブロック1710のCU/PU情報をエンハンスメントレイヤで使用するために、2倍のアップサンプリングを実行すると、ベースレイヤのパーティション構造をどのレベル(例えば、CUレベル又はPUレベル)まで利用するかによって、図17(b)のブロック1740のようなパーティション構造又は図17(c)のブロック1750のようなパーティション構造を得ることができる。
ベースレイヤのCU情報のみをエンハンスメントレイヤで使用しようとする場合、参照ブロック1710で領域1720及び領域1730の構造を除いて、CUのパーティション構造のみをアップサンプリングしてエンハンスメントレイヤのCUパーティション構造を図17(b)のブロック1740のように構成することができる。
また、ベースレイヤのPU情報までエンハンスメントレイヤのCUパーティション構造に反映しようとする場合は、ベースレイヤで2N×2Nパーティションでないパーティション(例えば、領域1720、領域1730のパーティション)を有する部分に対応するエンハンスメントレイヤの領域に対して、図17(c)のように追加的なCU分割が可能である。
すなわち、図16及び図17において、ベースレイヤのPU情報までエンハンスメントレイヤのCUパーティション構造に反映しようとする場合は、ベースレイヤでPUパーティショニングがある領域に対応するエンハンスメントレイヤの領域でCU分割を行うことができる。
一方、エンハンスメントレイヤでベースレイヤのパーティション構造を選択的に使用する方法を適用することもできる。
図18は、本発明によってインタレイヤユニット予測を適用する他の例を概略的に説明する図面である。
図18では、エンハンスメントレイヤでベースレイヤのパーティション構造を再使用する方法に対して説明する。
図18(a)のように、ベースレイヤのブロック1800が2N×2N又はN×Nのように正方形のパーティションを有する場合と、2N×nU、2N×nD、nL×2N又はnR×2Nのように長方形のパーティションを有する場合とがあると仮定する。
この場合、CU分割(split)は、正方形の形態(2N×2N又はN×N)のみで行われるため、エンハンスメントレイヤでベースレイヤのパーティション構造を選択的に利用する方法を考慮することができる。
例えば、図18(b)のようにパーティション形態に関係なしに、参照ブロック1810のパーティション構造を、エンハンスメントレイヤのブロック1840に対するパーティション構造として全部反映することができる。
また、図18(c)のように、参照ブロックのPUパーティション構造のうち、正方形のパーティション1820は、エンハンスメントレイヤのCUパーティション構造に反映し、参照ブロックのPUパーティション構造のうち、長方形のパーティション1830は、エンハンスメントレイヤのCUパーティション構造に反映しない。
このように、CU/PU/TU情報を組み合わせて使用する方法は、任意の単位別に選択的な使用が可能である。すなわち、シーケンス、ピクチャのグループ、単一ピクチャ、複数のスライス、単一スライス、複数のLCU、単一LCUなどのように任意の単位を基準にして、ベースレイヤのCU/PU/TU情報を組み合わせてエンハンスメントレイヤに使用する方法を選択するかを決定することができる。
適応的インタレイヤテクスチャ予測
インタレイヤ予測において、フィルタを適用して参照映像の品質を向上させることができる。例えば、インタレイヤイントラ予測を実行する場合、参照映像の品質を向上させるために、参照映像にフィルタを適用することができる。
例えば、空間スケーラビリティの場合、下位レイヤのテクスチャ情報にアップサンプリングフィルタを適用してレイヤ間の解像度を同じく調整した後、調整された下位レイヤのテクスチャ情報を参照映像として利用した。
このとき、アップサンプリングフィルタが適用された下位レイヤのテクスチャ情報に追加にフィルタリングを適用した後、上位レイヤの予測のための参照映像として使用することができる。本明細書では、この予測方法を適応的インタレイヤテクスチャ予測と表示する。
図19は、本発明によって適応的インタレイヤテクスチャ予測を実行する方法の一例を概略的に説明する図面である。
図19を参照すると、テクスチャ予測部1910は、図1のテクスチャ予測部に対応する。したがって、テクスチャ予測部は、テクスチャ予測と共に、必要な場合、再スケーリングを実行することができる。
ベースレイヤにおいて、フィルタリング部1950によって適用されるフィルタリングは、ダウンコンバータ1940でダウンコンバーティングされた入力シーケンスとの差を減らすためである。
エンハンスメントレイヤにおいて、アップサンプリング部1930によってアップサンプリングされたテクスチャがフィルタリング部1920でフィルタリングすることは、アップサンプリングされたベースレイヤのテクスチャと入力シーケンスとの間のエラーを減らすためである。
このとき、適用されるフィルタは、前述したような目的を達成するためのフィルタであれば何でもよい。例えば、フィルタリング部1920で適用されるフィルタは、符号化装置/復号装置で所定のタブ数と係数で予め特定されているフィルタであってもよいし、フィルタパラメータ(タブ数、係数等)が適応的に通知されるフィルタであってもよい。
適応的インタレイヤテクスチャ予測を使用する場合、参照映像の品質向上によって符号化効率が向上することができる。
適応的インタレイヤテクスチャ予測を適用する場合、参照映像の品質は向上する一方、複雑度が増加し、追加的なフィルタパラメータの符号化/復号が必要である。したがって、状況(例えば、符号化装置と復号装置の性能、入力シーケンスとアップサンプリングされたベースレイヤテクスチャとの間のエラー等)によって適応的インタレイヤテクスチャ予測を使用するかどうかを決定することができる。
したがって、フィルタリング部1920で適用されるフィルタを適応的に符号化/復号ループで適用されるフィルタということができる。説明の便宜のために、本明細書では、フィルタリング部1920で適用するフィルタをインタレイヤ適応ループフィルタ(ALF)という。符号化装置/復号装置がループ内フィルタとしてのALFを利用する場合は、ループ内フィルタとしてのALFをインタレイヤALFとして使用することもできる。
適応的インタレイヤテクスチャ予測を使用するためには、インタレイヤALFの適用可否を指示するフラグが必要である。インタレイヤALFの適用可否を指示するフラグをinter_layer_adaptive_loop_filter_enabled_flagとする。
inter_layer_adaptive_loop_filter_enabled_flagの値が0の場合、インタレイヤALFを適用しないことを指示し、inter_layer_adaptive_loop_filter_enabled_flagの値が1の場合、インタレイヤALFを適用することを指示する。
inter_layer_adaptive_loop_filter_enabled_flagは、シーケンスパラメータセットに定義することができる。
表53は、本発明によって適応的インタレイヤテクスチャ予測を適用するためのシーケンスパラメータセットの一例を示す。
inter_layer_adaptive_loop_filter_enabled_flagは、シーケンスパラメータセットでないスライスヘッダに定義してもよい。
表54は、本発明によって適応的インタレイヤテクスチャ予測を適用するためのスライスヘッダの一例を示す。
符号化装置と復号装置がループ内フィルタとしてのALFを使用する場合、ピクチャパラメータセットでALFの使用のために使用するシンタックスをインタレイヤALFにも同じく適用することができる。
表55は、本発明によって適応的インタレイヤテクスチャ予測を適用するためのピクチャパラメータセットシンタックスの一例を示す。
表55において、shared_pps_info_enabled_flagの値が1の場合、インタレイヤALFのパラメータセットを使用することができる。表55と違って、ループ内フィルタとしてのALFと別途に、インタレイヤALFの適用のためのフラグを使用する方法も適用可能である。
表55は、本発明によってshared_pps_info_enabled_flagをインタレイヤALFに適用する場合、スライスデータシンタックスの例を示す。
インタレイヤフィルタパラメータ予測
ループフィルタリング過程で適用可能なフィルタとして、デブロッキングフィルタ、SAO及びALFの3種類がある。
ループフィルタとして、3種類のフィルタを全部適用することもあるし、一部のみを適用することもある。例えば、デブロッキングフィルタのみを適用することもできるし、デブロッキングフィルタとSAOのみを適用することもできる。
符号化装置は、復元映像が入力映像に最も近くなるようにフィルタパラメータを決定し、決定されたフィルタパラメータを復号装置に送信することができる。したがって、スケーラブル符号化の特性上、ベースレイヤとエンハンスメントレイヤに使われる映像が相当類似するため、フィルタパラメータが二つのレイヤ間で類似する可能性が高い。
したがって、ベースレイヤで使用したパラメータをエンハンスメントレイヤで再使用する方法を考慮することができる。これをインタレイヤフィルタパラメータ予測という。
インタレイヤフィルタパラメータ予測は、図1〜図4の予測部又はインタレイヤ予測部で実行することもできるし、エンハンスメントレイヤのフィルタ部で実行することもできる。
図20は、本発明によるインタレイヤフィルタパラメータ予測に対して概略的に説明する図面である。
図20を参照すると、ベースレイヤのループ内フィルタリング部2020で使用したフィルタパラメータを現在レイヤのループ内フィルタリング部2010で再使用することができる。
SAOパラメータは、適応パラメータセットで送信することができる。ALFのパラメータの場合も適応パラメータセットで送信することができる。
表57は、本発明による、スケーラブル拡張において適応パラメータセットの例を示す。
aps_idは、スライスヘッダで参照される適応パラメータセットを識別する。aps_idの値は、0以上TBD以下の値を有し、レベル/プロファイリングに依存する。
aps_sample_adaptive_offset_flagの値が1の場合、現在適応パラメータセットで参照するスライスに対してSAOがオンであることを特定する。aps_sample_adaptive_offset_flagの値が0の場合、現在適応パラメータセットで参照するスライスに対してSAOがオフであることを特定する。活性化された適応パラメータセットがない場合、aps_sample_adaptive_offset_flag値は、0に推定される。
aps_adaptive_loop_filter_flagの値が1の場合、現在適応パラメータセットで参照するスライスに対してALFがオンであることを特定する。aps_adaptive_loop_filter_flagの値が0の場合、現在適応パラメータセットで参照するスライスに対してALFがオフであることを特定する。活性化された適応パラメータセットがない場合、aps_adaptive_loop_filter_flagの値は、0に推定される。
aps_cabac_use_flagの値が1の場合、sao_param()とalf_param()に対してCABAC復号過程が利用され、aps_cabac_use_flagの値が0の場合、sao_param()とalf_param()に対してCAVLC復号過程が利用される。
aps_cabac_init_idcは、SAOとALFのコンテキスト変数に対する初期化プロセスで利用される初期化テーブルを決定するインデクスを特定する。aps_cabac_init_idcの値は、0以上2以下の範囲にある。
aps_cabac_init_qp_minus26は、量子化パラメータ−26値を特定する。このとき、量子化パラメータは、SAOとALFのコンテキスト変数に対する初期化プロセスに利用される。
alf_data_byte_countとsao_data_byte_pointは、バイト数を特定する。
base_pred_alf_param_flagの値が1の場合、ベースレイヤで使われたALFパラメータが現在レイヤに使われるということを特定する。base_pred_alf_param_flagの値が0の場合、現在レイヤに対するALFパラメータが現在レイヤに使われるということを特定する。
base_pred_sao_param_flagの値が1の場合、ベースレイヤで使われたSAOパラメータが現在レイヤに使われるということを特定する。base_pred_sao_param_flagの値が0の場合、現在レイヤに対するSAOパラメータが現在レイヤに使われないということを特定する。
インタレイヤ差分ピクチャ符号化
ベースレイヤの復元映像をRBLとし、RBLをエンハンスメントレイヤの解像度に合わせてアップサンプリングさせた映像をURBLとする。そして、エンハンスメントレイヤの復元映像をRELとする。
復元映像は、ループ内フィルタリングを適用する前の映像であってもよい。また、復元映像は、ループ内フィルタ(deblocking filter、sample a daptive offset filter及び/又はadaptive loop filter)のうち、一部を適用した後の映像であってもよい。さらに、復元映像は、ループ内フィルタの全部を適用した後の映像であってもよい。
ここで、RELからURBLの値を引いた差分映像をDとすると、D映像のドメイン(domain)で独立的な符号化/復号を実行することができる。本明細書では、この方法をインタレイヤ差分ピクチャ符号化又はインタレイヤ差分モード(IL−Diff mode)という。
インタレイヤ差分モードは、シーケンス単位、ピクチャ単位、スライス単位、LCU(Largest CU)単位、符号化ユニット(CU)単位又は予測ユニット(PU)単位に適用することができる。インタレイヤ差分モードを適用しようとする処理単位で、インタレイヤ差分モードを使用するかを知らせるフラグが符号化装置から復号装置に送信することができる。
インタレイヤ差分モードが適用された処理単位に対しては、他のスケーラビリティを利用した符号化(符号化/復号)は実行せずに、単一レイヤ符号化(符号化/復号)方法のみを利用することもできる。この場合、他のスケーラビリティを利用した符号化を実行するかどうかを指示するためのビットを節約することができる。
インタレイヤ差分モードは、図1〜図4の予測部又はインタレイヤ予測部で実行することができる。ここでは、説明の便宜のために、予測部から実行すると説明する。
(1)インタレイヤ差分モードに対するイントラ予測(intra prediction for IL−Diff mode)
図21は、本発明によってインタレイヤ差分モードを適用する場合、イントラ予測を実行する方法を概略的に説明する図面である。
図21を参照すると、エンハンスメントレイヤのピクチャ2100は、現在ブロック2115前後の復元領域2105と未復元領域2110を含む。復元領域2105から復元映像RELを得ることができる。エンハンスメントレイヤのピクチャ2100に対する復元が完了すると、ピクチャ2100が復元映像RELになることができる。
一方、ベースレイヤの復元映像RBL2120をアップサンプリングした映像URBL2125は、現在ブロック2115に対応するブロックPBL2130を含む。
符号化過程において、予測部(符号化装置の予測部)は、式4のようにベースレイヤの復元映像とエンハンスメントレイヤの復元映像との間の差分Dを導出することができる。
(式4)
D=REL−URBL
式4において、RELは、まだ復元されない領域2110の存在によって、デブロッキングフィルタ、SAO又はALFなどのようなループ内フィルタが適用されない状態の映像を使用することもできる。
ベースレイヤのピクチャ1220は、すべての領域が復元された状態であるため、RBLは、ループ内フィルタが適用された状態の復元映像であってもよいし、ループ内フィルタの一部が適用された状態の復元映像であってもよいし、ループ内フィルタが適用されない状態の復元映像であってもよい。
予測部は、差分映像D2140で、未復元領域2150を除いて、復元領域2145のピクセル値を参照し、現在ブロック2155に対してイントラ予測を実行することができる。
復号過程において、予測部(復号装置の予測部)は、現在ブロックと同一位置に存在するURBL内のブロック値PBLを利用して式5のように現在ブロックを復元することができる。
(式5)
REL=PD+PBL+RES
式5において、PDは、差分映像Dの復元された領域からイントラ予測を実行して生成された予測ブロックであり、RESは、レジデュアルブロックである。
(2)インタレイヤ差分モードに対するインタ予測(inter prediction for IL−Diff mode)
インタレイヤ差分モードを適用するとき、現在ブロックに対するインタ予測を実行するために、予測部は、現在ピクチャの参照ピクチャに対する差分映像DRを生成する。例えば、予測部は、参照ピクチャのエンハンスメントレイヤピクチャに対する復元映像と参照ピクチャのベースレイヤピクチャに対する復元映像とを利用し、現在ピクチャの参照ピクチャに対する差分映像DRを生成する。
予測部は、参照ピクチャの差分映像DRに基づいて現在ブロックの差分映像ドメインで予測ブロックPDを生成することができる。
予測部は、予測ブロックを利用して式6のように現在ブロックを復元することができる。
(式6)
REL=PD+PBL+RES
式6において、RELは、エンハンスメントレイヤで復元された現在ブロックである。PBLは、URBL内で現在ブロックと同一位置に存在するブロックであり、RESは、レジデュアルブロックである。
参照映像の差分映像DRは、予め生成されて復号ピクチャバッファ(DPB)に記憶することができる。DPBは、図1及び図3で説明したメモリに対応することができる。
また、参照映像の差分映像DRは、RELを生成するたびに、現在ブロックの動き情報によって現在ブロックの復元のために必要な位置に特定されたブロックに対して算出することもできる。
インタレイヤ差分モードに対するイントラ予測の場合と違って、インタレイヤ差分モードに対するインタ予測では、参照ピクチャに対する差分映像を生成するとき、エンハンスメントレイヤで復元された参照ピクチャとしてループ内フィルタが適用されない状態の復元ピクチャだけでなく、ループ内フィルタの一部又は全部が適用された状態の復元ピクチャを利用することもできる。
本明細書では、説明の便宜のために、スケーラブルビデオ符号化がサポートされるマルチレイヤ構造であり、レイヤごとに特定時点(例えば、ピクチャ順カウント(POC)又はアクセスユニット(AU))に復元されるサンプルのアレイを‘ピクチャ’と表現した。
これと関連し、復号されて出力されるレイヤ(現在レイヤ)で特定時点に復元された又は復元される全体サンプルアレイをピクチャといい、参照されるレイヤの復元された又は復元されるサンプルアレイと区分することもできる。参照されるレイヤで特定時点に復元された又は復元されるサンプルアレイは、リプリゼンテーション、参照レイヤピクチャ、参照レイヤサンプルアレイ、参照レイヤテクスチャなどとも呼ばれる。この場合、一つのAUに対しては現在レイヤで復元された一つの復号(符号化)されたピクチャが出力することができる。
前述した例示的なシステムにおいて、方法は、一連のステップ又はブロックで流れ図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序に又は同時に発生できる。また、前述した実施例は、多様な態様の例示を含む。したがって、本発明は、特許請求の範囲内に属するすべての交替、修正及び変更を含む。