JP6441236B2 - 画像復号装置及び画像符号化装置 - Google Patents

画像復号装置及び画像符号化装置 Download PDF

Info

Publication number
JP6441236B2
JP6441236B2 JP2015553536A JP2015553536A JP6441236B2 JP 6441236 B2 JP6441236 B2 JP 6441236B2 JP 2015553536 A JP2015553536 A JP 2015553536A JP 2015553536 A JP2015553536 A JP 2015553536A JP 6441236 B2 JP6441236 B2 JP 6441236B2
Authority
JP
Japan
Prior art keywords
prediction
unit
merge candidate
image
merge
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.)
Expired - Fee Related
Application number
JP2015553536A
Other languages
English (en)
Other versions
JPWO2015093449A1 (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Publication of JPWO2015093449A1 publication Critical patent/JPWO2015093449A1/ja
Application granted granted Critical
Publication of JP6441236B2 publication Critical patent/JP6441236B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、マージ候補導出装置、画像復号装置及び画像符号化装置に関する。
複数視点の画像符号化技術には、複数の視点の画像を符号化する際に画像間の視差を予測することによって情報量を低減する視差予測符号化や、その符号化方法に対応した復号方法が提案されている。視点画像間の視差を表すベクトルを変位ベクトルと呼ぶ。変位ベクトルは、水平方向の要素(x成分)と垂直方向の要素(y成分)を有する2次元のベクトルであり、1つの画像を分割した領域であるブロック毎に算出される。また、複数視点の画像を取得するには、それぞれの視点に配置されたカメラを用いることが一般的である。複数視点の符号化では、各視点画像は、複数のレイヤにおいてそれぞれ異なるレイヤとして符号化される。複数のレイヤから構成される動画像の符号化方法は、一般に、スケーラブル符号化又は階層符号化と呼ばれる。スケーラブル符号化では、レイヤ間で予測を行うことで、高い符号化効率を実現する。レイヤ間で予測を行わずに基準となるレイヤは、ベースレイヤ、それ以外のレイヤは拡張レイヤと呼ばれる。レイヤが視点画像から構成される場合のスケーラブル符号化を、ビュースケーラブル符号化と呼ぶ。このとき、ベースレイヤはベースビュー、拡張レイヤは非ベースビューとも呼ばれる。さらに、ビュースケーラブルに加え、レイヤがテクスチャレイヤ(画像レイヤ)とデプスレイヤ(距離画像レイヤ)から構成される場合のスケーラブル符号化は、3次元スケーラブル符号化と呼ばれる。
また、スケーラブル符号化には、ビュースケーラブル符号化の他、空間的スケーラブル符号化(ベースレイヤとして解像度の低いピクチャ、拡張レイヤが解像度の高いピクチャを処理)、SNRスケーラブル符号化(ベースレイヤとして画質の低いピクチャ、拡張レイヤとして解像度の高いピクチャを処理)等がある。スケーラブル符号化では、例えばベースレイヤのピクチャを、拡張レイヤのピクチャの符号化において、参照ピクチャとして用いることがある。
非特許文献1では、予測ユニットを小さいサブブロックに分割し、サブブロックごとに変位ベクトルを用いて予測をすることにより、精度の高い予測画像を得る視点合成予測と呼ばれる技術が知られている。また、非特許文献1では、対象ビューとは異なるビューの画像を用いて残差を推定して加算する残差予測とよばれる技術が知られている。また、非特許文献1では、インタービューマージ候補など、拡張マージ候補を導出する技術が知られている。
3D-HEVC Draft Text 4, JCT3V-F1001-v2, JCT-3V 6th Meeting: CH, 25 Oct. - 1 Nov. 2013(2013年12月14日公開)
非特許文献1のマージ候補導出では、スケーラブル用にマージ候補を拡張している。これらの拡張マージ候補の導出は複雑度が比較的高いため、多数のマージ候補の導出が必要な予測ユニットが小さい場合に用いられると処理量が大きいという課題がある。
本発明の1つの形態は、基本マージ候補を導出する基本マージ候補導出部と基本マージ候補とは異なる拡張マージ候補を導出する拡張マージ候補導出部を備えるマージ候補導出装置において、予測ブロックのサイズが所定のサイズ以下の場合には、基本マージ候補導出部から導出される基本マージ候補リストをマージ候補リストに用い、それ以外の場合には、拡張マージ候補導出部から導出されるマージ候補リストを含むマージ候補リストをマージ候補リストに用いることを特徴とする。
本発明の1つの形態は、基本マージ候補を導出する基本マージ候補導出部と基本マージ候補とは異なる拡張マージ候補を導出する拡張マージ候補導出部を備えるマージ候補導出装置において、予測ユニットサイズが所定のサイズより大きい場合には、基本マージ候補導出部により導出されるマージ候補と拡張マージ候補導出部により導出されるマージ候補をマージ候補リストに追加し、予測ユニットサイズが所定のサイズ以下の場合には、基本マージ候補導出部により導出されるマージ候補をマージ候補リストに追加することを特徴とする。
本発明の1つの形態は、基本マージ候補を導出する基本マージ候補導出部と基本マージ候補とは異なる拡張マージ候補を導出する拡張マージ候補導出部を備えるマージ候補導出装置において、予測ユニットサイズが所定のサイズより大きい場合には、拡張マージ候補をマージ候補リストに追加し、予測ユニットサイズが所定のサイズ以下の場合には、拡張マージ候補をマージ候補リストに追加しないことを特徴とする。
本発明の1つの形態は、基本マージ候補を導出する基本マージ候補導出部と基本マージ候補とは異なる拡張マージ候補を導出する拡張マージ候補導出部を備えるマージ候補導出装置において、予測ブロックのサイズが所定のサイズ以下の場合には、拡張マージ候補の利用可能性を利用しないとして導出することを特徴とする。
本発明の1つの形態は、上記所定のサイズは8であり、予測ユニット幅と高さが共に8以上の場合にのみのみ、マージ候補リストに拡張マージ候補を含めることを特徴とする。
本発明の1つの形態は、予測ユニット幅と予測ユニット高さの和が12の場合に、基本マージ候補導出部から導出される基本マージ候補リストをマージ候補リストに用いることを特徴とする。
本発明の1つの形態は、予測ユニット幅と予測ユニット高さの和が12より大きい場合にのみ、マージ候補リストに拡張マージ候補を含めることを特徴とする。本発明の1つの形態は、予測ブロックのサイズが所定のサイズより以下の場合には、マージモードのVSPモードフラグをマージ候補のVSPマージフラグから導出しないことを特徴とする。
本発明の1つの形態は、複数レイヤから構成される符号化データを復号する画像復号装置であって、上記記載のマージ候補導出装置を備えることを特徴とする。
本発明の1つの形態は、複数レイヤから構成される符号化データを符号化する画像符号化装置であって、上記記載のマージ候補導出装置を備えることを特徴とする。
本発明によれば、マージ候補導出において拡張マージ候補を導出する場合をブロックサイズに応じて制限するため処理量が低減されるという効果を奏する。
本発明の実施形態に係る画像伝送システムの構成を示す概略図である。 本実施形態に係る符号化ストリームのデータの階層構造を示す図である。 参照ピクチャリストの一例を示す概念図である。 参照ピクチャの例を示す概念図である。 本実施形態に係る画像復号装置の構成を示す概略図である。 本実施形態に係るインター予測パラメータ復号部の構成を示す概略図である。 本実施形態に係るマージモードパラメータ導出部の構成を示す概略図である。 本実施形態に係るAMVP予測パラメータ導出部の構成を示す概略図である。 分割モードのパターンを示す図であり、(a)〜(h)は、それぞれ、分割モードが、2N×N、2N×N、2N×nU、2N×nD、N×2N、nL×2N、nR×2N、および、N×Nの場合のパーティション形状について示している。 本実施形態に係るインター予測パラメータ復号制御復号部の構成を示す概略図である。 本実施形態に係るインター予測画像生成部の構成を示す概略図である。 視点合成部におけるサブブロックの分割方法を説明する図である。 視点合成部におけるサブブロックの分割方法を説明する図である。 本実施形態に係る残差予測部の構成を示す概略図である。 本実施形態に係る残差予測の概念図(その1)である。 本実施形態に係る残差予測の概念図(その2)である。 本実施形態に係る視点合成予測部の構成を示す概略図である。 マージ候補リストの一例を示す図である。 空間マージ候補が参照する隣接ブロックの位置を示す図である 本実施形態に係る画像符号化装置の構成を示すブロック図である。 本実施形態に係るインター予測パラメータ符号化部の構成を示す概略図である。 本実施形態のマージ候補導出部30361Aの個別の動作を示す図である。 本実施形態のマージ候補導出部30361Aの動作の全体を示す図である。 本実施形態のマージ候補導出部30361Bの動作を示す図である。 本実施形態のマージ候補導出部30361Bの動作を示す図である。 本実施形態のマージ候補導出部30361Cの動作を示す図である。 本実施形態のマージモードパラメータ導出部3036Dの動作を説明する図である。
(第1の実施形態)
以下、図面を参照しながら本発明の実施形態について説明する。
図1は、本実施形態に係る画像伝送システム1の構成を示す概略図である。
画像伝送システム1は、複数のレイヤ画像を符号化した符号を伝送し、伝送された符号を復号した画像を表示するシステムである。画像伝送システム1は、画像符号化装置11、ネットワーク21、画像復号装置31及び画像表示装置41を含んで構成される。
画像符号化装置11には、複数のレイヤ画像(テクスチャ画像ともいう)を示す信号Tが入力される。レイヤ画像とは、ある解像度及びある視点で視認もしくは撮影される画像である。複数のレイヤ画像を用いて3次元画像を符号化するビュースケーラブル符号化を行う場合、複数のレイヤ画像のそれぞれは、視点画像と呼ばれる。ここで、視点は撮影装置の位置又は観測点に相当する。例えば、複数の視点画像は、被写体に向かって左右の撮影装置のそれぞれが撮影した画像である。画像符号化装置11は、この信号のそれぞれを符号化して符号化ストリームTe(符号化データ)を生成する。符号化ストリームTeの詳細については、後述する。視点画像とは、ある視点において観測される2次元画像(平面画像)である。視点画像は、例えば2次元平面内に配置された画素毎の輝度値、又は色信号値で示される。以下では、1枚の視点画像又は、その視点画像を示す信号をピクチャ(picture)と呼ぶ。また、複数のレイヤ画像を用いて空間スケーラブル符号化を行う場合、その複数のレイヤ画像は、解像度の低いベースレイヤ画像と、解像度の高い拡張レイヤ画像からなる。複数のレイヤ画像を用いてSNRスケーラブル符号化を行う場合、その複数のレイヤ画像は、画質の低いベースレイヤ画像と、画質の高い拡張レイヤ画像からなる。なお、ビュースケーラブル符号化、空間スケーラブル符号化、SNRスケーラブル符号化を任意に組み合わせて行っても良い。本実施形態では、複数のレイヤ画像として、少なくともベースレイヤ画像と、ベースレイヤ画像以外の画像(拡張レイヤ画像)を含む画像の符号化および復号を扱う。複数のレイヤのうち、画像もしくは符号化パラメータにおいて参照関係(依存関係)にある2つのレイヤについて、参照される側の画像を、第1レイヤ画像、参照する側の画像を第2レイヤ画像と呼ぶ。例えば、ベースレイヤを参照して符号化される(ベースレイヤ以外の)エンハンスレイヤ画像がある場合、ベースレイヤ画像を第1レイヤ画像、エンハンスレイヤ画像を第2レイヤ画像として扱う。なお、エンハンスレイヤ画像の例としては、ベースビュー以外の視点の画像やデプス画像などがある。
デプス画像(depth map、「深度画像」、「距離画像」とも言う)とは、被写空間に含まれる被写体や背景の、視点(撮影装置等)からの距離に対応する信号値(「デプス値」、「深度値」、「デプス」等と呼ぶ)であって、二次元平面に配置された画素毎の信号値(画素値)からなる画像信号である。デプス画像を構成する画素は、視点画像を構成する画素と対応する。従って、デプスマップは、被写空間を二次元平面に射影した基準となる画像信号である視点画像を用いて、三次元の被写空間を表すための手がかりとなる。
ネットワーク21は、画像符号化装置11が生成した符号化ストリームTeを画像復号装置31に伝送する。ネットワーク21は、インターネット(internet)、広域ネットワーク(WAN:Wide Area Network)、小規模ネットワーク(LAN:Local Area Network)又はこれらの組み合わせである。ネットワーク21は、必ずしも双方向の通信網に限らず、地上波ディジタル放送、衛星放送等の放送波を伝送する一方向又は双方向の通信網であっても良い。また、ネットワーク21は、DVD(Digital Versatile Disc)、BD(Blue-ray Disc)等の符号化ストリームTeを記録した記憶媒体で代替されても良い。
画像復号装置31は、ネットワーク21が伝送した符号化ストリームTeのそれぞれを復号し、それぞれ復号した複数の復号レイヤ画像Td(復号視点画像Td)を生成する。
画像表示装置41は、画像復号装置31が生成した複数の復号レイヤ画像Tdの全部又は一部を表示する。例えば、ビュースケーラブル符号化においては、全部の場合、3次元画像(立体画像)や自由視点画像が表示され、一部の場合、2次元画像が表示される。画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、SNRスケーラブル符号化では、画像復号装置31、画像表示装置41が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。
<符号化ストリームTeの構造>
本実施形態に係る画像符号化装置11および画像復号装置31の詳細な説明に先立って、画像符号化装置11によって生成され、画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
図2は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図2の(a)〜(f)は、それぞれ、シーケンスSEQを既定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、スライスデータを規定するスライスデータレイヤ、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、符号化ツリーに含まれる符号化単位(Coding Unit;CU)を規定する符号化ユニットレイヤを示す図である。
(シーケンスレイヤ)
シーケンスレイヤでは、処理対象のシーケンスSEQ(以下、対象シーケンスとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図2の(a)に示すように、ビデオパラメータセット(Video Parameter Set)シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。ここで#の後に示される値はレイヤID(nuh_layer_id)を示す。図2では、#0と#1すなわちレイヤ0とレイヤ1の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれによらない。レイヤID(nuh_layer_id)が0のレイヤをベースレイヤ、レイヤID(nuh_layer_id)が0以外のレイヤがエンハンスメントレイヤに対応する。
ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
(ピクチャレイヤ)
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図2の(b)に示すように、スライスS0〜SNS−1を含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
なお、以下、スライスS0〜SNS−1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
(スライスレイヤ)
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために画像復号装置31が参照するデータの集合が規定されている。スライスSは、図2の(c)に示すように、スライスヘッダSH、および、スライスデータSDATAを含んでいる。
スライスヘッダSHには、対象スライスの復号方法を決定するために画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、または、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるBスライスなどが挙げられる。
なお、スライスヘッダSHには、上記シーケンスレイヤに含まれる、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいても良い。
(スライスデータレイヤ)
スライスデータレイヤでは、処理対象のスライスデータSDATAを復号するために画像復号装置31が参照するデータの集合が規定されている。スライスデータSDATAは、図2の(d)に示すように、符号化ツリーブロック(CTB:Coded Tree Block)を含んでいる。CTBは、スライスを構成する固定サイズ(例えば64×64)のブロックであり、最大符号化単位(LCU:Largest Cording Unit)と呼ぶこともある。
(符号化ツリーレイヤ)
符号化ツリーレイヤは、図2の(e)に示すように、処理対象の符号化ツリーブロックを復号するために画像復号装置31が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な4分木分割により分割される。再帰的な4分木分割により得られる木構造のノードのことを符号化ツリー(coding tree)と称する。4分木の中間ノードは、符号化ツリーユニット(CTU:Coded Tree Unit)であり、符号化ツリーブロック自身も最上位のCTUとして規定される。CTUは、分割フラグ(split_flag)を含み、split_flagが1の場合には、4つの符号化ツリーユニットCTUに分割される。split_flagが0の場合には、符号化ツリーユニットCTUは4つの符号化ユニット(CU:Coded Unit)に分割される。符号化ユニットCUは符号化ツリーレイヤの末端ノードであり、このレイヤではこれ以上分割されない。符号化ユニットCUは、符号化処理の基本的な単位となる。
また、符号化ツリーブロックCTBのサイズ64×64画素の場合には、符号化ユニットCUのサイズは、64×64画素、32×32画素、16×16画素、および、8×8画素の何れかをとり得る。
(符号化ユニットレイヤ)
符号化ユニットレイヤは、図2の(f)に示すように、処理対象の符号化ユニットを復号するために画像復号装置31が参照するデータの集合が規定されている。具体的には、符号化ユニットは、CUヘッダCUH、予測ツリー、変換ツリー、CUヘッダCUFから構成される。CUヘッダCUHでは、符号化ユニットが、イントラ予測を用いるユニットであるか、インター予測を用いるユニットであるかなどが規定される。また、CUヘッダCUHには、符号化ユニットが、残差予測に用いる重み(もしくは残差予測を行うか否か)を示す残差予測重みインデックスiv_res_pred_weight_idxや、照度補償予測を用いるか否かを示す照度補償フラグic_flagを含む。符号化ユニットは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートとなる。CUヘッダCUFは、予測ツリーと変換ツリーの間、もしくは、変換ツリーの後に含まれる。
予測ツリーは、符号化ユニットが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ユニットを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU、予測ユニット)とも称する。
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
イントラ予測の場合、分割方法は、2N×2N(符号化ユニットと同一サイズ)と、N×Nとがある。
また、インター予測の場合、分割方法は、符号化データの分割モードpart_modeにより符号化される。分割モードpart_modeによって指定される分割モードには、対象CUのサイズを2N×2N画素とすると、次の合計8種類のパターンがある。すなわち、2N×2N画素、2N×N画素、N×2N画素、およびN×N画素の4つの対称的分割(symmetric splittings)、並びに、2N×nU画素、2N×nD画素、nL×2N画素、およびnR×2N画素の4つの非対称的分割(AMP:asymmetric motion partitions)である。なお、N=2(mは1以上の任意の整数)を意味している。以下、分割モードが非対称的分割である予測ブロックをAMPブロックとも呼称する。分割数は1、2、4のいずれかであるため、CUに含まれるPUは1個から4個である。これらのPUを順にPU0、PU1、PU2、PU3と表現する。
図9(a)〜(h)に、それぞれの分割モードについて、CUにおけるPU分割の境界の位置を具体的に図示している。
図9(a)は、CUの分割を行わない2N×2Nの分割モードを示している。また、図9(b)および(e)は、それぞれ、分割モードが、2N×N、および、N×2Nである場合のパーティションの形状について示している。また、図9(h)は、分割モードが、N×Nである場合のパーティションの形状を示している。
また、図9(c)、(d)、(f)および(g)は、それぞれ非対称的分割(AMP)である、2N×nU、2N×nD、nL×2N、および、nR×2Nである場合のパーティションの形状について示している。
また、図9(a)〜(h)において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。
インター予測の場合の予測ブロックでは、上記8種類の分割モードのうち、N×N(図9(h))以外の7種類が定義されている。
また、Nの具体的な値は、当該PUが属するCUのサイズによって規定され、nU、nD、nL、および、nRの具体的な値は、Nの値に応じて定められる。例えば、32×32画素のCUは、32×32画素、32×16画素、16×32画素、32×16画素、32×8画素、32×24画素、8×32画素、および、24×32画素のインター予測の予測ブロックへ分割できる。
また、変換ツリーにおいては、符号化ユニットが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ユニットを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な4分木分割によるものがある。
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
(予測パラメータ)
予測ユニットの予測画像は、予測ユニットに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータもしくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ(インター予測パラメータ)について説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、ベクトルmvL0、mvL1から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が1の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「XXであるか否かを示すフラグ」と記す場合、1をXXである場合、0をXXではない場合とし、論理否定、論理積などでは1を真、0を偽と扱う(以下同様)。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。2つの参照ピクチャリストが用いられる場合、つまり、(predFlagL0,predFlagL1) = (1, 1)の場合が、双予測に対応し、1つの参照ピクチャリストを用いる場合、すなわち(predFlagL0, predFlagL1) = (1, 0)もしくは(predFlagL0, predFlagL1) = (0, 1)の場合が単予測に対応する。なお、予測リスト利用フラグの情報は、後述のインター予測フラグinter_pred_idcで表現することもできる。通常、後述の予測画像生成部、予測パラメータメモリでは、予測リスト利用フラグが用いれ、符号化データから、どの参照ピクチャリストが用いられるか否かの情報を復号する場合にはインター予測フラグinter_pred_idcが用いられる。
符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXがある。
(参照ピクチャリストの一例)
次に、参照ピクチャリストの一例について説明する。参照ピクチャリストとは、参照ピクチャメモリ306(図5)に記憶された参照ピクチャからなる列である。図3は、参照ピクチャリストRefPicListXの一例を示す概念図である。参照ピクチャリストRefPicListXにおいて、左右に一列に配列された5個の長方形は、それぞれ参照ピクチャを示す。左端から右へ順に示されている符号、P1、P2、Q0、P3、P4は、それぞれの参照ピクチャを示す符号である。P1等のPとは、視点Pを示し、そしてQ0のQとは、視点Pとは異なる視点Qを示す。P及びQの添字は、ピクチャ順序番号POCを示す。refIdxLXの真下の下向きの矢印は、参照ピクチャインデックスrefIdxLXが、参照ピクチャメモリ306において参照ピクチャQ0を参照するインデックスであることを示す。
(参照ピクチャの例)
次に、ベクトルを導出する際に用いる参照ピクチャの例について説明する。図4は、参照ピクチャの例を示す概念図である。図4において、横軸は表示時刻を示し、縦軸は視点を示す。図4に示されている、縦2行、横3列(計6個)の長方形は、それぞれピクチャを示す。6個の長方形のうち、下行の左から2列目の長方形は復号対象のピクチャ(対象ピクチャ)を示し、残りの5個の長方形がそれぞれ参照ピクチャを示す。対象ピクチャから上向きの矢印で示される参照ピクチャQ0は対象ピクチャと同表示時刻であって視点(ビューID)が異なるピクチャである。対象ピクチャを基準とする変位予測においては、参照ピクチャQ0が用いられる。対象ピクチャから左向きの矢印で示される参照ピクチャP1は、対象ピクチャと同じ視点であって、過去のピクチャである。対象ピクチャから右向きの矢印で示される参照ピクチャP2は、対象ピクチャと同じ視点であって、未来のピクチャである。対象ピクチャを基準とする動き予測においては、参照ピクチャP1又はP2が用いられる。
(インター予測フラグと予測リスト利用フラグ)
インター予測フラグinter_pred_idcと、予測リスト利用フラグpredFlagL0、predFlagL1の関係は
inter_pred_idc = (predFlagL1<<1) + predFlagL0
predFlagL0 =inter_pred_idc & 1
predFlagL1 =inter_pred_idc >> 1
の式を用いて相互に変換可能である。ここで、>>は右シフト、<<は左シフトである。そのため、インター予測パラメータとしては、予測リスト利用フラグpredFlagL0、predFlagL1を用いても良いし、インター予測フラグinter_pred_idcを用いてもよい。また、以下、予測リスト利用フラグpredFlagL0、predFlagL1を用いた判定は、インター予測フラグinter_pred_idcに置き替えても可能である。逆に、インター予測フラグinter_pred_idcを用いた判定は、予測リスト利用フラグpredFlagL0、predFlagL1に置き替えても可能である。
(マージモードとAMVP予測)
予測パラメータの復号(符号化)方法には、マージ(merge)モードとAMVP(Adaptive Motion Vector Prediction、適応動きベクトル予測)モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージモードでも、AMVPモードでも、既に処理済みのブロックの予測パラメータを用いて、対象PUの予測パラメータが導出される。マージモードは、予測リスト利用フラグpredFlagLX(インター予測フラグinter_pred_idc)、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めずに、既に導出した予測パラメータをそのまま用いるモードであり、AMVPモードは、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めるモードである。なおベクトルmvLXは、予測ベクトルを示す予測ベクトルフラグmvp_LX_flagと差分ベクトル(mvdLX)として符号化される。
インター予測フラグinter_pred_idcは、参照ピクチャの種類および数を示すデータであり、Pred_L0、Pred_L1、Pred_BIの何れかの値をとる。Pred_L0、Pred_L1は、各々L0リスト、L1リストと呼ばれる参照ピクチャリストに記憶された参照ピクチャが用いられることを示し、共に1枚の参照ピクチャを用いること(単予測)を示す。L0リスト、L1リストを用いた予測を各々L0予測、L1予測と呼ぶ。Pred_BIは2枚の参照ピクチャを用いること(双予測)を示し、L0リストとL1リストに記憶された参照ピクチャの2つを用いることを示す。予測ベクトルフラグmvp_LX_flagは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストに記憶された参照ピクチャを示すインデックスである。なお、LXは、L0予測とL1予測を区別しない場合に用いられる記述方法であり、LXをL0、L1に置き換えることでL0リストに対するパラメータとL1リストに対するパラメータを区別するする。例えば、refIdxL0はL0予測に用いる参照ピクチャインデックス、refIdxL1はL1予測に用いる参照ピクチャインデックス、refIdx(refIdxLX)は、refIdxL0とrefIdxL1を区別しない場合に用いられる表記である。
マージインデックスmerge_idxは、処理が完了したブロックから導出される予測パラメータ候補(マージ候補)のうち、いずれかの予測パラメータを予測ユニット(対象ブロック)の予測パラメータとして用いるかを示すインデックスである。
(動きベクトルと変位ベクトル)
ベクトルmvLXには、動きベクトルと変位ベクトル(disparity vector、視差ベクトル)がある。動きベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、異なる表示時刻(例えば、隣接する離散時刻)における同一のレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。変位ベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、同一の表示時刻における異なるレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。異なるレイヤのピクチャとしては、異なる視点のピクチャである場合、もしくは、異なる解像度のピクチャである場合などがある。特に、異なる視点のピクチャに対応する変位ベクトルを視差ベクトルと呼ぶ。以下の説明では、動きベクトルと変位ベクトルを区別しない場合には、単にベクトルmvLXと呼ぶ。ベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。ベクトルmvLXおよび差分ベクトルmvdLXが、動きベクトルであるか、変位ベクトルであるかは、ベクトルに付随する参照ピクチャインデックスrefIdxLXを用いて行われる。
(画像復号装置の構成)
次に、本実施形態に係る画像復号装置31の構成について説明する。図5は、本実施形態に係る画像復号装置31の構成を示す概略図である。画像復号装置31は、エントロピー復号部301、予測パラメータ復号部302、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)306、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)307、予測画像生成部308、逆量子化・逆DCT部311、加算部312、及び図示されないデプスDV導出部351を含んで構成される。画像復号装置31は、複数の視点画像およびデプス画像から構成され、ベースレイヤおよびエンハンスメントレイヤから構成される符号化データを復号する画像復号手段である。
また、予測パラメータ復号部302は、インター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を分離し復号する。分離された符号には、予測画像を生成するための予測情報および、差分画像を生成するための残差情報などがある。
エントロピー復号部301は、分離した符号の一部を予測パラメータ復号部302に出力する。分離した符号の一部とは、例えば、予測モードPredMode、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、残差予測重みインデックスiv_res_pred_weight_idx、照度補償フラグic_flagである。どの符号を復号するか否かの制御は、予測パラメータ復号部302の指示に基づいて行われる。エントロピー復号部301は、量子化係数を逆量子化・逆DCT部311に出力する。この量子化係数は、符号化処理において、残差信号に対してDCT(Discrete Cosine Transform、離散コサイン変換)を行い量子化して得られる係数である。エントロピー復号部301は、デプスDV変換テーブルDepthToDisparityBを、デプスDV導出部351に出力する。このデプスDV変換テーブルDepthToDisparityBは、デプス画像の画素値を視点画像間の変位を示す視差に変換するためのテーブルであり、デプスDV変換テーブルDepthToDisparityBの要素DepthToDisparityB[d]は、傾きcp_scaleとオフセットcp_off、傾きの精度cp_precisionを用いて、
log2Div = BitDepthY - 1 + cp_precision
offset = ( cp_off << BitDepthY ) + ( ( 1 << log2Div ) >> 1 )
scale = cp_scale
DepthToDisparityB[ d ] = ( scale * d + offset ) >> log2Div
の式によって求めることができる。パラメータcp_scale、cp_off、cp_precisionは参照する視点毎に符号化データ中のパラメータセットから復号する。なお、BitDepthYは輝度信号に対応する画素値のビット深度を示しており、例えば、値として8をとる。
予測パラメータ復号部302は、エントロピー復号部301から符号の一部を入力として受け取る。予測パラメータ復号部302は、符号の一部である予測モードPredModeが示す予測モードに対応する予測パラメータを復号する。予測パラメータ復号部302は、予測モードPredModeと復号した予測パラメータを予測パラメータメモリ307と予測画像生成部308に出力する。
インター予測パラメータ復号部303は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してインター予測パラメータを復号する。インター予測パラメータ復号部303は、復号したインター予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。インター予測パラメータ復号部303の詳細については後述する。
イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、ピクチャブロックを1つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部304は、復号したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。
参照ピクチャメモリ306は、加算部312が生成した復号ピクチャブロックrecSamplesを、復号ピクチャブロックの位置に記憶する。
予測パラメータメモリ307は、予測パラメータを、復号対象のピクチャ及びブロック毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ307は、インター予測パラメータ復号部303が復号したインター予測パラメータ、イントラ予測パラメータ復号部304が復号したイントラ予測パラメータ及びエントロピー復号部301が分離した予測モードPredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLXがある。
予測画像生成部308には、予測パラメータ復号部302から予測モードPredMode及び予測パラメータが入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、予測モードPredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いて予測ピクチャブロックpredSamples(予測画像)を生成する。
ここで、予測モードPredModeがインター予測モードを示す場合、インター予測画像生成部309は、インター予測パラメータ復号部303から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測により予測ピクチャブロックpredSamplesを生成する。予測ピクチャブロックpredSamplesは予測ユニットPUに対応する。PUは、上述したように予測処理を行う単位となる複数の画素からなるピクチャの一部分、つまり1度に予測処理が行われる対象ブロックに相当する。
インター予測画像生成部309は、予測リスト利用フラグpredFlagLXが1である参照ピクチャリスト(L0リスト、もしくはL1リスト)に対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャRefPicListLX[refIdxLX]から、予測ユニットを基準としてベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。インター予測画像生成部309は、読み出した参照ピクチャブロックに動き補償を行って予測ピクチャブロックpredSamplesLXを生成する。インター予測画像生成部309は、予測ピクチャブロックpredSamplesL0、predSamplesL1から予測ピクチャブロックpredSamplesを生成し、加算部312に出力する。
予測モードPredModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部310は、復号対象のピクチャであって、既に処理されたブロックのうち予測ユニットから予め定めた範囲にある参照ピクチャブロックを参照ピクチャメモリ306から読み出す。予め定めた範囲とは、例えば、左、左上、上、右上の隣接ブロックの範囲でありイントラ予測モードによって異なる。
イントラ予測画像生成部310は、読み出した参照ピクチャブロックについてイントラ予測モードIntraPredModeが示す予測モードで予測を行って予測ピクチャブロックpredSamplesを生成し、加算部312に出力する。
逆量子化・逆DCT部311は、エントロピー復号部301から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部311は、求めたDCT係数について逆DCT(Inverse Discrete Cosine Transform、逆離散コサイン変換)を行い、復号残差信号を算出する。逆量子化・逆DCT部311は、算出した復号残差信号を加算部312に出力する。
加算部312は、インター予測画像生成部309及びイントラ予測画像生成部310から入力された予測ピクチャブロックpredSamplesと逆量子化・逆DCT部311から入力された復号残差信号の信号値resSamplesを画素毎に加算して、復号ピクチャブロックrecSamplesを生成する。加算部312は、生成した復号ピクチャブロックrecSamplesを参照ピクチャメモリ306に出力する。復号ピクチャブロックはピクチャ毎に統合される。復号されたピクチャには、デブロックフィルタおよび適応オフセットフィルタが適用などのループフィルタが適用される。復号されたピクチャは復号レイヤ画像Tdとして外部に出力する。
(インター予測パラメータ復号部の構成)
次に、インター予測パラメータ復号部303の構成について説明する。図6は、本実施形態に係るインター予測パラメータ復号部303の構成を示す概略図である。インター予測パラメータ復号部303は、インター予測パラメータ復号制御部3031、AMVP予測パラメータ導出部3032、加算部3035及びマージモードパラメータ導出部3036、変位導出部30363を含んで構成される。
インター予測パラメータ復号制御部3031は、インター予測に関連する符号(シンタックス要素の復号をエントロピー復号部301に指示し、符号化データに含まれる符号(シンタックス要素)を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、残差予測重みインデックスiv_res_pred_weight_idx、照度補償フラグic_flagを抽出する。インター予測パラメータ復号制御部3031が、あるシンタックス要素を抽出すると表現する場合は、あるシンタックス要素の復号をエントロピー復号部301に指示し、該当のシンタックス要素を符号化データから読み出すことを意味する。
インター予測パラメータ復号制御部3031は、マージフラグmerge_flagが1、すなわち、予測ユニットがマージモードの場合、マージインデックスmerge_idxを符号化データから抽出する。インター予測パラメータ復号制御部3031は、抽出した残差予測重みインデックスiv_res_pred_weight_idx、照度補償フラグic_flag及びマージインデックスmerge_idxをマージモードパラメータ導出部3036に出力する。
インター予測パラメータ復号制御部3031は、マージフラグmerge_flagが0、すなわち、予測ブロックがAMVP予測モードの場合、エントロピー復号部301を用いて符号化データからインター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを抽出する。インター予測パラメータ復号制御部3031は、抽出したインター予測フラグinter_pred_idcから導出した予測リスト利用フラグpredFlagLXと、参照ピクチャインデックスrefIdxLXをAMVP予測パラメータ導出部3032及び予測画像生成部308(図5)に出力し、また予測パラメータメモリ307(図5)に記憶する。インター予測パラメータ復号制御部3031は、抽出した予測ベクトルフラグmvp_LX_flagをAMVP予測パラメータ導出部3032に出力し抽出した差分ベクトルmvdLXを加算部3035に出力する。
変位ベクトル導出部30363は、対象PUが属する符号化ユニット(対象CU)の変位ベクトルを、符号化ユニットに空間的もしくは時間的に隣接するブロックから抽出する。具体的には、対象CUに時間的に隣接するブロックCol、時間的に隣接する第2のブロックAltCol、隣接する空間的に左に隣接するブロックA1、上に隣接するブロックB1を参照ブロックとして、その参照ブロックの予測フラグpredFlagLX、参照ピクチャインデックスrefIdxLXとベクトルmvLXを順に読み出し、隣接ブロックの参照ピクチャインデックスrefIdxLXから隣接ブロックが変位ベクトルを備えるか否かを判定する。隣接ブロックが変位ベクトルを備える場合には、参照ブロックの変位ベクトルを出力する。隣接ブロックの予測パラメータに変位ベクトルが無い場合には、次の隣接ブロックの予測パラメータを読み出し同様に変位ベクトルを導出する。全ての隣接ブロックにおいて変位ベクトルが導出できない場合には、ゼロベクトルを変位ベクトルとして出力する。変位ベクトル導出部30363は、また、変位ベクトルを導出したブロックの参照ピクチャインデックス及びビューIDを出力する。
上記により得られた変位ベクトルはNBDV(Neighbour Base Disparity Vector)と呼ばれる。変位ベクトル導出部30363は、さらに得られた変位ベクトルNBDVをデプスDV導出部351に出力する。デプスDV導出部351は、入力された変位ベクトルをデプス由来の変位ベクトルにより更新する。更新された変位ベクトルは、DoNBDV(Depth Orientated Neighbour Base Disparity Vector)と呼ばれる。変位ベクトル導出部30363は、変位ベクトル(DoNBDV)をレイヤ間マージ候補導出部3036121、変位マージ候補導出部及び視点合成予測マージ候補導出部に出力する。さらに、得られた変位ベクトル(NBDV)を、インター予測画像生成部309に出力する。
また、インター予測パラメータ復号制御部3031は、インター予測パラメータ導出時に導出された変位ベクトル(NBDV)、及び視点合成予測を行うか否かを示すフラグであるVSPモードフラグVspModeFlagを、インター予測画像生成部309に出力する。
図7は、本実施形態に係るマージモードパラメータ導出部3036の構成を示す概略図である。マージモードパラメータ導出部3036は、マージ候補導出部30361とマージ候補選択部30362を備える。マージ候補導出部30361は、マージ候補格納部303611と、拡張マージ候補導出部303612と基本マージ候補導出部303613を含んで構成される。
マージ候補格納部303611は、拡張マージ候補導出部303612及び基本マージ候補導出部303613から入力されたマージ候補をマージ候補リストmergeCandListに格納する。なお、マージ候補は、予測リスト利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLX、VSPモードフラグVspModeFlag、変位ベクトルMvDisp、レイヤIDRefViewIdxを含んで構成されている。マージ候補格納部303611において、マージ候補リストmergeCandListに格納されたマージ候補には、所定の規則に従ってインデックスが割り当てられる。
図18は、マージ候補格納部303611が導出するマージ候補リストmergeCandListの例を示すものである。図18(a)は、ベースレイヤ(nal_unit_layer=0)において、マージ候補格納部303611が導出するマージ候補を示す。2つのマージ候補が同じ予測パラメータである場合に順番を詰める処理(プルーニング処理)を除くと、マージインデックス順に、空間マージ候補(A1)、空間マージ候補(B1)、空間マージ候補(B0)、空間マージ候補(A0)、空間マージ候補(B2)の順になる。なお、括弧内は、マージ候補のニックネームであり、空間マージ候補の場合には、導出に用いる参照ブロックの位置に対応する。また、それ以降に、結合マージ候補、ゼロマージ候補があるが、図18では省略している。これらのマージ候補は、つまり、空間マージ候補、時間マージ候補、結合マージ候補、ゼロマージ候補は、基本マージ候補導出部303613により導出される。図18(b)は、ベースレイヤ(nal_unit_layer=0)以外のレイヤであるエンハンスメントレイヤ(nal_unit_layer!=0)においてマージ候補格納部303611が導出するマージ候補を示す。マージインデックス順に、テクスチャマージ候補(T)、インタービュ−マージ候補(IvMC)、空間マージ候補(A1)、空間マージ候補(B1)、空間マージ候補(B0)、変位マージ候補(IvDC)、VSPマージ候補(VSP)、空間マージ候補(A0)、空間マージ候補(B2)、動きシフトマージ候補(IvMCShift)、変位シフトマージ候補(IvDCShift)、時間マージ候補(Col)の順になる。なお、括弧内は、マージ候補のニックネームである。また、それ以降に、結合マージ候補、ゼロマージ候補があるが、図18では省略している。テクスチャマージ候補(T)、インタービューマージ候補(IvMC)、変位マージ候補(IvDC)、VSPマージ候補(VSP)、動きシフトマージ候補(IvMCShift)、変位シフトマージ候補(IvDCShift)は、拡張マージ候補導出部303612において導出される。
図19は、空間マージ候補が参照する隣接ブロックの位置を示す図である。A0、A1、B0、B1、B2は各々図19に示す位置に対応し、座標は以下の通りである。予測ユニットの左上座標をxPb、yPb、予測ユニットの幅と高さをnPbW、nPbHとする場合、隣接ブロックの位置は以下の通りとなる。
A0:( xPb - 1, yPb + nPbH )
A1:( xPb - 1, yPb + nPbH - 1 )
B0:( xPb + nPbW, yPb - 1 )
B1:( xPb + nPbW - 1, yPb - 1 )
B2:( xPb - 1, yPb - 1 )
拡張マージ候補導出部303612は、変位ベクトル導出部レイヤ間マージ候補導出部3036121、変位マージ候補導出部3036123、VSPマージ候補導出部3036124を含んで構成される。拡張マージ候補は、後述の基本マージ候補とは異なるマージ候補であり、少なくとも、テクスチャマージ候補(T)、インタービュ−マージ候補(IvMC)、変位マージ候補(IvDC)、VSPマージ候補(VSP)、動きシフトマージ候補(IvMCShift)、変位シフトマージ候補(IvDCShift)の何れかを含む。
(テクスチャマージ候補)
レイヤ間マージ候補導出部3036121は、テクスチャマージ候補(T)とインタービューマージ候補(IvMC)、動きシフトマージ候補(IvMCShift)を導出する。これらマージ候補は、対象ピクチャと同一POCを持つ別レイヤ(例えばベースレイヤ、ベースビュー)の参照ピクチャから、予測ユニットに対応するブロックを選択し、該ブロックが有する動きベクトルである予測パラメータを予測パラメータメモリ307から読み出すことで導出される。
テクスチャマージ候補(T)は、レイヤ間マージ候補導出部3036121において、対象ピクチャがデプスの場合に導出される。テクスチャマージ候補(T)は、対象ピクチャと同じビューIDを有するデプスピクチャから参照ブロックを特定し、参照ブロックの動きベクトルを読み出すことで導出される。
参照ブロックの座標(xRef, yRef)は、予測ユニットの左上座標をxPb、yPb、予測ユニットの幅と高さをnPbW、nPbHとする場合、以下の式から導出される。
xRefFull = xPb + ( ( nPbW - 1 ) >> 1 )
yRefFull = yPb + ( ( nPbH - 1 ) >> 1 )
xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )
yRef = Clip3( 0, PicHeightInSamplesL - 1,( yRefFull >> 3 ) << 3 )
なお、PicWidthInSamplesLとPicHeightInSamplesL は、それぞれ画像の幅と高さを表し、関数Clip3(x,y,z)は、zをx以上、y以下に制限(クリップ)し、その制限した結果を返す関数である。
参照ブロックの動きベクトルをtextMvLXとすると、テクスチャマージ候補の動きベクトルmvLXTは次の式で導出される。 mvLXT[ 0 ] = ( textMvLX[ xRef ][ yRef ][ 0 ] + 2 ) >> 2
mvLXT[ 1 ] = ( textMvLX[ xRef ][ yRef ][ 1 ] + 2 ) >> 2
なお、テクスチャマージ候補では、予測ユニットをさらに分割したサブブロック単位で予測パラメータを割り当てても構わない。
(インタービューマージ候補)
インタービューマージ候補は、レイヤ間マージ候補導出部3036121において、変位ベクトル導出部30363が特定した対象ピクチャと同一POCを有し、異なるビューIDを有するピクチャの参照ブロックから動きベクトルなどの予測パラメータを読み出すことで導出される。参照ブロックの座標(xRef, yRef)は、予測ユニットの左上座標を(xPb、yPb)、予測ユニットの幅と高さをnPbW、nPbH、変位ベクトル導出部30363から導出される変位ベクトルを(mvDisp[0], mvDisp[1])とする場合、以下の式から導出される。
xRefFull = xPb + ( nPbW >> 1 ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 )
yRefFull = yPb + ( nPbH >> 1 ) + ( ( mvDisp[ 1 ] + 2 ) >> 2 )
xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )
yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 3 ) << 3 )
なお、インタービューマージ候補では、予測ユニットをさらに分割したサブブロック単位で予測パラメータを割り当てても構わない。例えば、予測ユニットの幅と高さがnPbW、nPbH、サブブロックの最小サイズがSubPbSizeの場合には、サブブロックの幅nSbWと高さnSbHを以下の式により導出する。
nSbW = nPbW / SubPbSize <= 1 ? nPbW : SubPbSizen
SbH = nPbH / SubPbSize <= 1 ? nPbH : SubPbSize
続いて、サブブロックに対応するベクトルspMvLX、参照ピクチャインデックスspRefIdxLX、予測リスト利用フラグspPredFlagLXから、インタービューマージ候補のベクトルmvLXInterView、参照ピクチャインデックスrefIdxLXInterView、予測リスト利用フラグavailableFlagLXInterViewを以下の式により導出する。
mvLXInterView = spMvLX[ xBlk ][ yBlk ]
refIdxLXInterView = spRefIdxLX[ xBlk ][ yBlk ]
availableFlagLXInterView = spPredFlagLX[ xBlk ][ yBlk ]
なお、xBlk、yBlkはサブブロックアドレスであり、各々0から( nPbW / nSbW - 1 )、0から( nPbH / nSbH - 1 )の値をとる。
(動きシフトマージ候補)
動きシフトマージ候補も、レイヤ間マージ候補導出部3036121において、変位ベクトル導出部30363が特定した対象ピクチャと同一POCを有し、異なるビューIDを有するピクチャの参照ブロックから動きベクトルなどの予測パラメータを読み出すことで導出される。参照ブロックの座標(xRef, yRef)、予測ユニットの左上座標をxPb、yPb、予測ユニットの幅と高さをnPbW、nPbH、変位ベクトル導出部30363から導出される変位ベクトルが、mvDisp[0], mvDisp[1]とする場合、以下の式から導出される。
xRefFull = xPb + ( nPbW >> 1 ) + ( ( mvDisp[ 0 ] + nPbW * 2 + 4 + 2 ) >> 2
)
yRefFull = yPb + ( nPbH >> 1 ) + ( ( mvDisp[ 1 ] + nPbH * 2 + 4 + 2 ) >> 2
)
xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )
yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 3 ) << 3 )
(変位マージ候補)
変位マージ候補導出部3036123は、変位ベクトル導出部30363から入力される変位ベクトルから、変位マージ候補(IvDC)、シフト変位マージ候補(IvDcShift)を導出する。変位マージ候補導出部3036123は、変位マージ候補(IvDC)として水平成分が入力された変位ベクトル(mvDisp[0], mvDisp[1])の水平成分mvDisp[0]であり、垂直成分が0であるベクトルを以下の式により生成する。
mvL0IvDC[ 0 ] = DepthFlag ? ( mvDisp[ 0 ] + 2 ) >> 2 : mvDisp[ 0 ]
mvL0IvDC[ 1 ] = 0
ここで、DepthFlagは、デプスの場合に1となる変数である。
変位マージ候補導出部3036123は、生成したベクトルと、変位ベクトルが指す先のレイヤ画像の参照ピクチャインデックスrefIdxLX(例えば、復号対象ピクチャと同一POCを持つベースレイヤ画像のインデックス)をマージ候補としてマージ候補格納部303611に出力する。
変位マージ候補導出部3036123は、シフト変位マージ候補(IvDC)として、変位マージ候補を水平方向にずらしたベクトルを有するマージ候補を以下の式により導出する。
mvLXIvDCShift[ 0 ] = mvL0IvDC[ 0 ] + 4
mvLXIvDCShift[ 1 ] = mvL0IvDC[ 1 ]
(VSPマージ候補)
VSPマージ候補導出部3036124は、VSP(視点合成予測:View Synthesis Prediction)マージ候補を導出する。VSPマージ候補は、視点合成予測部3094で行われる視点合成予測による予測画像生成処理に用いられるマージ候補である。VSPマージ候補導出部3036124は、変位ベクトル導出部30363から入力された変位ベクトルmvDispをベクトルmvLXに、変位ベクトル導出部30363が特定した参照ピクチャの参照ピクチャインデックス、ビューIDを参照ピクチャインデックスrefIdxLX、ビューIDRefViewIdxに、VSPモードフラグVspModeFlagに1を設定することで予測パラメータを導出しVSPマージ候補を導出する。VSPマージ候補導出部3036124は、導出したVSPマージ候補をマージ候補格納部303611に出力する。
VSPマージ候補導出部3036124は、インター予測パラメータ復号制御部から残差予測重みインデックスiv_res_pred_weight_idx及び照度補償フラグic_flagを入力として受け取る。VSPマージ候補導出部3036124は、残差予測重みインデックスiv_res_pred_weight_idxが0、かつ、照度補償フラグic_flagが0の場合のみ、VSPマージ候補の導出処理を行う。つまり、残差予測重みインデックスiv_res_pred_weight_idxが0、かつ、照度補償フラグic_flagが0の場合のみ、マージ候補リストmergeCandListの要素にVSPマージ候補を追加する。逆に、VSPマージ候補導出部3036124は、残差予測重みインデックスiv_res_pred_weight_idxが0以外、又は、照度補償フラグic_flagが0以外の場合には、マージ候補リストmergeCandListの要素にVSPマージ候補を追加しない。。
基本マージ候補導出部303613は、空間マージ候補導出部3036131と時間マージ候補導出部3036132と結合マージ候補導出部3036133とゼロマージ候補導出部3036134を含んで構成される。基本マージ候補は、ベースレイヤで用いられるマージ候補であり、すなわち、スケーラブルではなくHEVC(例えばHEVCメインプロファイル)で用いられるマージ候補であり、少なくとも空間マージ候補、時間マージ候補の何れかを含む。
空間マージ候補導出部3036131は、所定の規則に従って、予測パラメータメモリ307が記憶している予測パラメータ(予測リスト利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLX)を読み出し、読み出した予測パラメータを空間マージ候補として導出する。読み出される予測パラメータは、予測ユニットから予め定めた範囲内にあるブロック(例えば、予測ユニットの左下端、左上端、右上端にそれぞれ接するブロックの全部又は一部)である隣接ブロックのそれぞれに係る予測パラメータである。導出された空間マージ候補はマージ候補格納部303611に格納される。
空間マージ候補導出部3036131では、隣接ブロックのVSPモードフラグVspModeFlagを継承して導出するマージ候補のVSPモードフラグmergeCandIsVspFlagを設定する。すなわち、隣接ブロックのVSPモードフラグVspModeFlagが1の場合、対応する空間マージ候補のVSPモードフラグmergeCandIsVspFlagを1、それ以外の場合はVSPモードフラグmergeCandIsVspFlagを0とする。
以下、時間マージ候補導出部3036132、結合マージ候補導出部3036133、ゼロマージ候補導出部3036134が導出するマージ候補では、VSPモードフラグVspModeFlagを0に設定する。
時間マージ候補導出部3036132は、予測ユニットの右下の座標を含む参照画像中のブロックの予測パラメータを予測パラメータメモリ307から読みだしマージ候補とする。参照画像の指定方法は、例えば、スライスヘッダで指定されるコロケートピクチャcol_ref_idxと、参照ピクチャリストRefPicListXから指定されるRefPicListX[col_ref_idx]で指定される参照ピクチャインデックスrefIdxLXを用いればよい導出されたマージ候補はマージ候補格納部303611に格納される。
結合マージ候補導出部3036133は、既に導出されマージ候補格納部303611に格納された2つの異なる導出済マージ候補のベクトルと参照ピクチャインデックスを、それぞれL0、L1のベクトルとして組み合わせることで結合マージ候補を導出する。導出されたマージ候補はマージ候補格納部303611に格納される。
ゼロマージ候補導出部3036134は、参照ピクチャインデックスrefIdxLXがiであり、ベクトルmvLXのX成分、Y成分が共に0であるマージ候補を、導出したマージ候補数が最大値に達するまで導出する。参照ピクチャインデックスrefIdxLXを示すiの値は、0から順に割り振られる。導出されたマージ候補はマージ候補格納部303611に格納される。
マージ候補選択部30362は、マージ候補格納部303611に格納されているマージ候補のうち、インター予測パラメータ復号制御部3031から入力されたマージインデックスmerge_idxに対応するインデックスが割り当てられたマージ候補を、対象PUのインター予測パラメータとして選択する。つまり、マージ候補リストをmergeCandListとするとmergeCandList[merge_idx]で示される予測パラメータを選択する。マージ候補選択部30362は、選択したマージ候補を予測パラメータメモリ307(図5)に記憶するとともに、予測画像生成部308(図5)に出力する。
predSamplesLX´[x][y] = predSamplesLX[x][y]
図22は、本実施形態のマージ候補導出部30361の個別の動作を示す図である。本実施形態のマージ候補導出部30361は上述の通り、テクスチャマージ候補(T)、インタービュ−マージ候補(IvMC)、空間マージ候補(A1)、空間マージ候補(B1)、空間マージ候補(B0)、変位マージ候補(IvDC)、VSPマージ候補(VSP)、空間マージ候補(A0)、空間マージ候補(B2)、動きシフトマージ候補(IvMCShift)、変位シフトマージ候補(IvDCShift)、時間マージ候補(Col)を導出し、マージ候補リストとして、マージ候補格納部303611に格納する。図22は、マージ候補導出部30361において、各マージ候補Nの利用可能性availableFlagN(Nは、T,A1,B1,IvDC,VSP,B1,B0,IvDC,VSP,A0,B2,IvMCShift,IvDCShift,Colの何れか)に応じて、マージ候補リストextMergeCandList[]に追加する処理を示す図である。本実施形態のマージ候補導出部30361では、
(S3101)予測ブロックサイズが所定のサイズ以下の場合(ここではnPbW+nPbH==12の場合)には、拡張マージ候補をマージ候補リストに格納せず、
(S3102)予測ブロックサイズが所定のサイズよりも大きい場合に、拡張マージ候補をマージ候補リストに格納する。ここで拡張マージ候補とは、エンハンスメントレイヤで追加で導出されるマージ候補であり、テクスチャマージ候補(T)、インタービュ−マージ候補(IvMC)、変位マージ候補(IvDC)、VSPマージ候補(VSP)、動きシフトマージ候補(IvMCShift)、変位シフトマージ候補(IvDCShift)のいずれかもしくは全てであるとする。
図23は、本実施形態のマージ候補導出部30361の動作の全体を示す図である。図23に示すように、マージ候補導出部30361は、以下の処理を順に行うことにより、各マージ候補の格納において、図22で説明した動作を実行する。
テクスチャマージ候補が利用可能(availableFlagTが1)であり、かつ、予測ブロックが所定のサイズより大きい場合に、テクスチャマージ候補(T)を、マージ候補リストに格納する(S3201)。
インタービューマージ候補(IvMC)が利用可能(availableFlagIvMCが1)であり、かつ、テクスチャマージ候補が利用不可(availableFlagTが0)であるか、テクスチャマージ候補とインタービューマージ候補が異なる予測パラメータを有し(differentMotion( T, IvMC ))かつ、予測ブロックが所定のサイズより大きい場合に、インタービューマージ候補(Iv)を、マージ候補リストに格納する(S3202)。
空間マージ候補(A1)が利用可能(availableFlagA1が1)であり、かつ、Nのマージ候補が利用不可(availableFlagNが0)であるか、Nのマージ候補と空間マージ候補(A1)が異なる予測パラメータを有し(differentMotion( N , A1 ))かつ、予測ブロックが所定のサイズより大きい場合に、空間マージ候補(A1)を、マージ候補リストに格納する(S3203)。
以下、デプスフラグDepthFlagが1の場合には、Nにテクスチャマージ候補(T)、それ以外の場合には、Nにインタービューマージ候補(IvMC)を設定する。
空間マージ候補(B1)が利用可能(availableFlagB1が1)であり、かつ、Nのマージ候補が利用不可(availableFlagNが0)であるか、Nのマージ候補と空間マージ候補(B1)が異なる予測パラメータを有し(differentMotion( N , B1 ))かつ、空間マージ候補(B1)を、マージ候補リストに格納する(S3204)。
103)。
空間マージ候補(B0)が利用可能(availableFlagB0が1)である場合に、空間マージ候補(B1)を、マージ候補リストに格納する(S3205)。
変位マージ候補(IvDC)が利用可能(availableFlagIvDCが1)であり、かつ、A1のマージ候補が利用不可(availableFlagA1が0)であるか、A1のマージ候補と変位マージ候補(IvDC)が異なる予測パラメータを有し(differentMotion( A1 , IvDC ))かつ、B1のマージ候補が利用不可(availableFlagB1が0)であるか、B1のマージ候補と変位マージ候補(IvDC)が異なる予測パラメータを有し(differentMotion( B1 , IvDC ))かつ、予測ブロックが所定のサイズより大きい場合に、変位マージ候補(IvDC)を、マージ候補リストに格納する(S3206)。
VSPマージ候補(VSP)が利用可能(availableFlagVSPが1)であり、照度補償フラグが0かつ、残差予測重みインデックスが0かつ、予測ブロックが所定のサイズより大きい場合に、変位マージ候補(VSP)を、マージ候補リストに格納する(S3207)。
空間マージ候補(A0)が利用可能(availableFlagA0が1)である場合に、空間マージ候補(A0)を、マージ候補リストに格納する(S3208)。
空間マージ候補(B2)が利用可能(availableFlagB2が1)である場合に、空間マージ候補(B2)を、マージ候補リストに格納する(S3209)。
シフト動きマージ候補(IvMCShift)が利用可能(availableFlagIvMCShiftが1)であり、インタービューマージ候補が利用不可(availableFlagIvMCが0)であるか、IvMCのマージ候補とシフト動きマージ候補(IvMCShift)が異なる予測パラメータを有し(differentMotion( IvMC , IvMCShift ))かつ、予測ブロックが所定のサイズより大きい場合に、シフト動きマージ候補(IvMCShift)を、マージ候補リストに格納する(S3210)。
シフト変位マージ候補(IvDCShift)が利用可能(availableFlagIvDCShiftが1)であり、予測ブロックが所定のサイズより大きい場合に、シフト変位マージ候補(IvDCShift)を、マージ候補リストに格納する(S3211)。
以上の説明のように、マージ候補導出部30361Bは予測ブロックのサイズに応じて拡張マージ候補をマージ候補リストに格納することを特徴とする。
なお、本実施形態では予測ユニットのサイズとして、予測ユニットの幅と高さの和を用いたが、予測ユニットの幅、高さ、もしくは、幅と高さの最小値、幅と高さの積を用いても良い。例えば、予測ブロックの幅と高さが共に8以上の場合に所定のサイズよりも大きいと判定し、幅もしくは高さが8未満の場合に所定のサイズよりも小さいと判定することが好ましい。(以下同様)
以上の処理により、マージ候補導出部30361は、予測ユニット幅と予測ユニット高さの和が12より大きい場合にのみ、マージ候補リストに拡張マージ候補を含める。つまり、予測ユニットの幅と高さの和が12以下の場合(予測ユニットの幅と高さの和が12の場合)には、マージ候補リストに拡張マージ候補を含めない。同様に、マージ候補導出部30361は予測ユニットの幅と高さが共に8以上である場合にのみ、マージ候補リストに拡張マージ候補を含める。つまり、予測ユニット幅もしくは高さが8未満の場合には、マージ候補リストに拡張マージ候補を含めない。 (マージ候補導出部30361の変形例)
以下、マージ候補導出部30361の変形例であるマージ候補導出部30361Bを説明する。上記のマージ候補導出部30361では、拡張マージ候補を、当該マージ候補の利用可能フラグが1、かつ、予測ユニットが所定のサイズより大きい場合に導出していたが、以下の変形例では、予測ユニットが所定のサイズ以下の場合に、拡張マージ候補の利用可能フラグを0とする。
図24(a)は、マージ候補導出部30361Bの動作を示すフローチャートである。図24(a)に示すとおり、(S3301)予測ユニットが所定のサイズ以下の場合(ここではnPbW+nPbH==12の場合)に、(S3302)拡張マージ候補を利用可能フラグを無効にする 。
図24(b)は、マージ候補導出部30361Bの処理の全体を示す図である。図24(b)に示すように、予測ユニットが所定のサイズ以下の場合(ここではnPbW+nPbH==12の場合)である場合、つまり、(nPbW + nPbH > 12)が0である場合に、拡張マージ候補の利用可能フラグ。ここでは、テクスチャマージ候補の利用可能性フラグavailableFlagT、インタービュー候補の利用可能性フラグavailableFlagIvMC、変位マージ候補の利用可能性フラグavailableFlagIvDC、シフト動きマージ候補の利用可能性フラグavailableFlagIvMCShift、シフト変位マージ候補の利用可能フラグavailableFlagIvDCShiftに利用しないことを示す値である0を設定する。なお、以下の式はNのマージ候補の利用可能性フラグavailableFlagNを、予測ブロックサイズが所定のサイズより大きい(nPbW + nPbH > 12)場合以外の場合には0とすることを示す。
availableFlagN &= (nPbW + nPbH > 12)
つまり、予測ブロックの幅と高さの和が12以下の場合には、拡張マージ候補の利用可能性フラグavailableFlagNに利用可能性を利用しないとして導出する。なお、予測ブロックの最小サイズが4×8、8×4の場合には、これは、予測ユニット幅と高さが共に8以上の場合に、予測ブロックの幅と高さの和が12の場合に、拡張マージ候補の利用可能性フラグavailableFlagNに利用可能性を利用しないとして導出しても良い。また、予測ユニット幅と高さが共に8以上場合ではない場合(予測ユニットの幅と高さの少なくとも一方が8未満の場合)、拡張マージ候補の利用可能性フラグavailableFlagNに利用可能性を利用しないとして導出しても良い。
以上の処理により、マージ候補導出部30361Bは、予測ユニット幅と予測ユニット高さの和が12より大きい場合にのみ、マージ候補リストに拡張マージ候補を含める。つまり、予測ユニットの幅と高さの和が12以下の場合(予測ユニットの幅と高さの和が12の場合)には、マージ候補リストに拡張マージ候補を含めない。同様に、マージ候補導出部30361Bは予測ユニットの幅と高さが共に8以上である場合にのみ、マージ候補リストに拡張マージ候補を含める。つまり、予測ユニット幅もしくは高さが8未満の場合には、マージ候補リストに拡張マージ候補を含めない。 図25は、予測ユニットのサイズに応じて、拡張マージ候補の利用可能フラグを設定した後のマージ候補導出部30361Bの動作を示す図である。全体の流れは図23で説明と同じである。変形例では、既に予測ユニットのサイズに関する判定は、利用可能フラグにおいてなされているため、拡張マージ候補をマージ候補リストに追加する場合において、予測ユニットのサイズに関する判定は陽には、現れていない。
図23は、本実施形態のマージ候補導出部30361の動作の全体を示す図である。図23に示すように、マージ候補導出部30361は、以下の処理を順に行うことにより、各マージ候補の格納において、図22で説明した動作を実行する。
テクスチャマージ候補が利用可能(availableFlagTが1)である場合に、テクスチャマージ候補(T)を、マージ候補リストに格納する(S3401)。
インタービューマージ候補(IvMC)が利用可能(availableFlagIvMCが1)であり、かつ、テクスチャマージ候補が利用不可(availableFlagTが0)であるか、テクスチャマージ候補とインタービューマージ候補が異なる予測パラメータをある(differentMotion( T, IvMC ))場合に、インタービュマージ候補(Iv)を、マージ候補リストに格納する(S3402)。
空間マージ候補(A1)が利用可能(availableFlagA1が1)であり、かつ、Nのマージ候補が利用不可(availableFlagNが0)であるか、Nのマージ候補と空間マージ候補(A1)が異なる予測パラメータである(differentMotion( N , A1 ))場合に、空間マージ候補(A1)を、マージ候補リストに格納する(S3403)。
以下、デプスフラグDepthFlagが1の場合には、Nにテクスチャマージ候補(T)、それ以外の場合には、Nにインタービューマージ候補(IvMC)を設定する。
空間マージ候補(B1)が利用可能(availableFlagB1が1)であり、かつ、Nのマージ候補が利用不可(availableFlagNが0)であるか、Nのマージ候補と空間マージ候補(B1)が異なる予測パラメータである(differentMotion( N , B1 ))場合に、空間マージ候補(B1)を、マージ候補リストに格納する(S3404)。
103)。
空間マージ候補(B0)が利用可能(availableFlagB0が1)である場合に、空間マージ候補(B1)を、マージ候補リストに格納する(S3405)。
変位マージ候補(IvDC)が利用可能(availableFlagIvDCが1)であり、かつ、A1のマージ候補が利用不可(availableFlagA1が0)であるか、A1のマージ候補と変位マージ候補(IvDC)が異なる予測パラメータを有し(differentMotion( A1 , IvDC ))かつ、B1のマージ候補が利用不可(availableFlagB1が0)であるか、B1のマージ候補と変位マージ候補(IvDC)が異なる予測パラメータである(differentMotion( B1 , IvDC ))場合に、変位マージ候補(IvDC)を、マージ候補リストに格納する(S3406)。
VSPマージ候補(VSP)が利用可能(availableFlagVSPが1)であり、照度補償フラグが0かつ、残差予測重みインデックスが0である場合に変位マージ候補(VSP)を、マージ候補リストに格納する(S3407)。
空間マージ候補(A0)が利用可能(availableFlagA0が1)である場合に、空間マージ候補(A0)を、マージ候補リストに格納する(S3408)。
空間マージ候補(B2)が利用可能(availableFlagB2が1)である場合に、空間マージ候補(B2)を、マージ候補リストに格納する(S3409)。
シフト動きマージ候補(IvMCShift)が利用可能(availableFlagIvMCShiftが1)であり、インタービューマージ候補が利用不可(availableFlagIvMCが0)であるか、IvMCのマージ候補とシフト動きマージ候補(IvMCShift)が異なる予測パラメータである(differentMotion( IvMC , IvMCShift ))場合に、シフト動きマージ候補(IvMCShift)を、マージ候補リストに格納する(S3410)。
シフト変位マージ候補(IvDCShift)が利用可能(availableFlagIvDCShiftが1)である場合に、シフト変位マージ候補(IvDCShift)を、マージ候補リストに格納する(S3411)。
以上の説明のように、マージ候補導出部30361Cは予測ブロックのサイズに応じて拡張マージ候補の利用可能性を導出することを特徴とする。
(マージ候補導出部30361の別の変形例)
以下、マージ候補導出部30361の別の変形例としてマージ候補導出部30361Cを説明する。マージ候補導出部30361の別の変形例では、予測ユニットが所定のサイズ以下の場合に、基本マージ候補導出部303613で導出される(拡張マージ候補を含まない)基本マージ候補から構成されるマージ候補リストbaseMergeCandListを用いて、マージ候補リストextMergeCandListを導出する。
図26(a)は、マージ候補導出部30361Cの動作を示すフローチャートである。図26(a)に示すとおり、(S3501)予測ユニットが所定のサイズ以下の場合(ここではnPbW+nPbH==12の場合)に、(S3502)マージ候補リストとして、基本マージ候補リストを用いる。
図26(b)は、マージ候補導出部30361Cの動作を示す図である。マージ候補導出部30361Cは、予測ユニットが所定のサイズ以下の場合(ここではnPbW+nPbH==12の場合)に、マージ候補リストextMergeCandListとして、基本マージ候補リストbaseMergeCandListを用いる。具体的には、図25で示す動作によって、マージ候補リストextMergeCandListを導出した後、図26(b)の動作によって、基本マージ候補に置き換えても良いし、予測ユニットが所定のサイズ以下(ここではnPbW+nPbH==12の場合)の場合に図26(b)によりマージ候補リストextMergeCandListを導出し、予測ユニットが所定のサイズより大きい場合に、図25で示す動作によって、マージ候補リストextMergeCandListを導出しても良い。
また、予測ブロックの幅と高さの和が12以下の場合とは、予測ユニット幅と高さが共に8以上場合ではない場合(予測ユニットの幅と高さの少なくとも一方が8未満の場合)と等価である。従って、予測ユニットの幅と高さの少なくとも一方が8未満の場合に、マージ候補リストとして基本マージ候補リストのみをextMergeCandListとして導出しても良い。以上の処理により、マージ候補導出部30361Cは、予測ユニット幅と予測ユニット高さの和が12より大きい場合にのみ、マージ候補リストに拡張マージ候補を含める。つまり、予測ユニットの幅と高さの和が12以下の場合(予測ユニットの幅と高さの和が12の場合)には、マージ候補リストに拡張マージ候補を含めない。同様に、マージ候補導出部30361Cは予測ユニットの幅と高さが共に8以上である場合にのみ、マージ候補リストに拡張マージ候補を含める。つまり、予測ユニット幅もしくは高さが8未満の場合には、マージ候補リストに拡張マージ候補を含めない。
以上の説明のように、マージ候補導出部30361Cは予測ブロックのサイズに応じてマージ候補リストとして基本マージ候補リストのみを格納することを特徴とする。
以上説明した、マージ候補導出部30361、マージ候補導出部30361B、マージ候補導出部30361Cは、予測ユニットが所定のサイズ以下の場合には拡張マージ候補をマージ候補リストに格納しない。予測ユニットが所定のサイズ以下の場合には拡張マージ候補を導出する必要がないため、マージ候補の導出処理が簡略化されるという効果を奏する。特に、予測ユニットのサイズが、8×4もしくは4×8の場合(nPbW+nPbH==12の場合)は、予測ユニットのサイズの最小値であり、多数の予測ユニットについてマージ候補を導出する必要がある。従って、ブロックサイズが小さい場合に拡張マージ候補の使用をオフにすることにより、マージ候補導出のボトルネックとなるワーストケースの処理量を低減する効果を奏する。
(マージモードパラメータ導出部3036の別の変形例)
以下、マージモードパラメータ導出部3036の別の変形例としてマージモードパラメータ導出部3036Dを説明する。マージモードパラメータ導出部3036は、既に説明した、マージ候補導出部30361、マージ候補導出部30361B、マージ候補導出部30361Cの何れかを備え、予測ユニットが所定のサイズ以下の場合には拡張マージ候補をマージ候補リストに格納しない。
マージモードパラメータ導出部3036Dは、さらに、空間マージ候補において、予測ユニットが所定のサイズ以下の場合には、VSPモードフラグを隣接ブロックから継承しない。すなわち、マージモードパラメータ導出部3036Dでは、予測ユニットが所定のサイズより大きい場合には、参照したブロックにVSPモードフラグが1であれば、対応する空間マージ候補のVSPモードフラグmergeCandIsVspFlagも1とするが、所定のサイズ以下の場合には、対応する空間マージ候補のVSPモードフラグmergeCandIsVspFlagを常に0とする。
図27は、マージモードパラメータ導出部3036Dの動作を説明する図である。図27は、マージ候補のVSPモードフラグmergeCandIsVspFlagから、マージモードのVSPモードフラグvspModeFlagを導出する動作を示す。図27に示す通り、予測ユニットが所定のサイズより大きい場合(ここでは、PUの幅と高さの和が12より大きい場合)のみ、参照するマージ候補のVSPモードフラグmergeCandIsVspFlagに従いVSPモードフラグvspModeFlagを設定し。それ以外の場合には、VSPモードフラグmergeCandIsVspFlagを0とする。参照するマージ候補のVSPモードフラグmergeCandIsVspFlagが1の場合には、予測ユニットが所定のサイズより大きい場合にはVSPモードフラグVspModeFlagを1とし、それ以外では0とする。図27の例では、照度フラグic_flagおよび残差予測重みインデックスiv_res_pred_weight_idxが0以外の場合にも、VSPモードフラグvspModeFlagを0としているが、このような追加判定はなくても構わない。
なお、予測ユニットに応じて参照するマージ候補のVSPモードフラグmergeCandIsVspFlagを参照する動作は、空間マージ候補導出部3036131Dで行っても構わない。この場合、空間マージ候補導出部3036131Dは、予測ブロックのサイズが所定のサイズよりも大きい場合には、隣接ブロックのVSPモードフラグVspModeFlagを継承して、マージ候補のVSPモードフラグmergeCandIsVspFlagを設定する。すなわち、隣接ブロックのVSPモードフラグVspModeFlagが1の場合、対応する空間マージ候補のVSPモードフラグmergeCandIsVspFlagを1、それ以外の場合はVSPモードフラグmergeCandIsVspFlagを0とする。空間マージ候補導出部3036131Dは、予測ブロックのサイズが所定のサイズ以下の場合には、対応する空間マージ候補のVSPモードフラグmergeCandIsVspFlagを0とする。
以上説明した、マージモードパラメータ導出部3036D、空間マージ候補導出部3036131Dによれば、予測ユニットが所定のサイズ以下の場合には隣接ブロックのVSPモードフラグVspModeFlagを参照する必要がないため、マージ候補の導出が容易になるという効果を奏する。
図8は、本実施形態に係るAMVP予測パラメータ導出部3032の構成を示す概略図である。AMVP予測パラメータ導出部3032は、ベクトル候補導出部3033と予測ベクトル選択部3034を備える。ベクトル候補導出部3033は、参照ピクチャインデックスrefIdxに基づいて予測パラメータメモリ307(図5)が記憶するベクトルを読み出し、ベクトル候補リストmvpListLXを生成する。参照ブロックは、予測ユニットの位置を基準として予め定めた位置にあるブロック(例えば、予測ユニットの左下端、右上端、時間的に隣接するブロック)である。
予測ベクトル選択部3034は、ベクトル候補導出部3033が導出したベクトル候補mvpListLXのうち、インター予測パラメータ復号制御部3031から入力された予測ベクトルフラグmvp_LX_flagが示すベクトルmvpListLX[ mvp_lX_flag]を予測ベクトルmvpLXとして選択する。予測ベクトル選択部3034は、選択した予測ベクトルmvpLXを加算部3035に出力する。
加算部3035は、予測ベクトル選択部3034から入力された予測ベクトルmvpLXとインター予測パラメータ復号制御部から入力された差分ベクトルmvdLXを加算してベクトルmvLXを算出する。加算部3035は、算出したベクトルmvLXを予測画像生成部308(図5)に出力する。
図10は、第1の実施形態のインター予測パラメータ復号制御部3031の構成を示すブロック図である。図10に示すように、インター予測パラメータ復号制御部3031は、残差予測重みインデックス復号部30311、照度補償フラグ復号部30312及び図示しない、分割モード復号部、マージフラグ復号部、マージインデックス復号部、インター予測フラグ復号部、参照ピクチャインデックス復号部、ベクトル候補インデックス復号部、ベクトル差分復号部を含んで構成される。分割モード復号部、マージフラグ復号部、マージインデックス復号部、インター予測フラグ復号部、参照ピクチャインデックス復号部、ベクトル候補インデックス復号部、ベクトル差分復号部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを復号する。
残差予測重みインデックス復号部30311(残差予測フラグ復号部)は、エントロピー復号部301を用いて、符号化ユニットCUの分割モードPartMode(part_mode)が2Nx2Nの場合に符号化データから残差予測重みインデックスiv_res_pred_weight_idxを復号する。それ以外の場合には、残差予測重みインデックス復号部30311は、iv_res_pred_weight_idxに0を設定(infer)する。残差予測重みインデックス復号部30311は、復号された残差予測重みインデックスiv_res_pred_weight_idxをマージモードパラメータ導出部3036とインター予測画像生成部309に出力する。
照度補償フラグ復号部30312は、エントロピー復号部301を用いて、予測ブロックサイズPartModeが2Nx2Nの場合に符号化データから照度補償フラグic_flagを復号する。それ以外の場合には、照度補償フラグ復号部30312は、iv_res_pred_weight_idxに0を設定(infer)する。照度補償フラグ復号部30312は、復号された照度補償フラグic_flagをマージモードパラメータ導出部3036とインター予測画像生成部309に出力する。
(インター予測画像生成部309)
図11は、本実施形態に係るVSPマージ候補導出部3036124の構成を示す概略図である。インター予測画像生成部309は、動き変位補償部3091、残差予測部3092、照度補償部3093、視点合成予測部3094を含んで構成される。
インター予測画像生成部309は、インター予測パラメータ復号部303から、VSPモードフラグVspModeFlagと予測パラメータを入力する。インター予測画像生成部309は、VSPモードフラグVspModeFlagが1の場合には、予測パラメータを視点合成予測部3094に出力し、予測画像predSamplesを導出する。また、インター予測画像生成部309は、VSPモードフラグVspModeFlagが0の場合には、予測パラメータを動き変位補償部3091により、予測画像predSamplesを導出するまた、インター予測画像生成部309は、残差予測フラグiv_res_pred_weight_idxが0ではない場合に、残差予測実施フラグresPredFlagに残差予測を実行することを示す1を設定し、動き変位補償部3091と残差予測部3092に出力する。一方、残差予測フラグiv_res_pred_weight_idxが0である場合に、残差予測実施フラグresPredFlagに0を設定し、動き変位補償部3091と残差予測部3092に出力する。
(動き変位補償)
動き変位補償部3091は、予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLX(動きベクトル、又は変位ベクトル)に基づいて、動き予測画像(予測画像)を生成する。動き変位補償部3091は、参照ピクチャメモリ306から、参照ピクチャインデックスrefIdxLXで指定された参照ピクチャの予測ユニットの位置を起点として、ベクトルmvLXだけずれた位置にあるブロックを読み出し補間することによって予測画像を生成する。ここで、ベクトルmvLXが整数ベクトルでない場合には、動き補償フィルタ(もしくは変位補償フィルタ)と呼ばれる小数位置の画素を生成するためのフィルタを施して、予測画像を生成する。一般に、ベクトルmvLXが動きベクトルの場合、上記処理を動き補償と呼び、変位ベクトルの場合は変位補償と呼ぶ。ここでは総称して動き変位補償と表現する。以下、L0予測の予測画像をpredSamplesL0、L1予測の予測画像をpredSamplesL1と呼ぶ。両者を区別しない場合predSamplesLXと呼ぶ。以下、動き変位補償部3091で得られた予測画像predSamplesLXに、さらに残差予測および照度補償が行われる例を説明するが、これらの出力画像もまた、予測画像predSamplesLXと呼ぶ。なお、以下の残差予測および照度補償において、入力画像と出力画像を区別する場合には、入力画像をpredSamplesLX、出力画像をpredSamplesLX´と表現する。
動き変位補償部3091は、残差予測実施フラグresPredFlagが0の場合には、輝度成分は8タップ、色差成分は4タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。残差予測実施フラグresPredFlagが1の場合には、輝度成分、色差成分ともに2タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。
(残差予測)
残差予測部3092は、残差予測実施フラグresPredFlagが1の場合に、残差予測を行う。残差予測部3092は、残差予測実施フラグresPredFlagが0の場合には、入力された予測画像predSamplesLXをそのまま出力する。refResSamples残差予測は、動き予測もしくは変位予測により生成される動き補償画像predSampleLXの残差を推定し、対象レイヤの予測画像predSamplesLXに加えることにより行われる。具体的には、予測ユニットが動き予測の場合には、参照レイヤと同様の残差が対象レイヤにも生じると仮定して、既に導出された参照レイヤの残差を対象レイヤの残差の推定値として用いる。予測ユニットが変位予測の場合には、対象ピクチャとは異なる時刻(POC)の参照レイヤのピクチャと対象レイヤのピクチャの残差を、残差の推定値として用いる。
図14は残差予測部3092の構成を示すブロック図である。残差予測部3092は、参照画像補間部30922と、残差合成部30923から構成される。
参照画像補間部30922は、残差予測実施フラグresPredFlagが1の場合には、インター予測パラメータ復号部303から入力されたベクトルmvLXと残差予測変位ベクトルmvDisp、参照ピクチャメモリ306に格納された参照ピクチャを用いて、2つの残差予測動き補償画像(対応ブロックcurrIvSamplesLX、参照ブロックrefIvSamplesLX)を生成する。
図15は、ベクトルmvLXが動きベクトルである場合の対応ブロックcurrIvSamplesLXと参照ブロックrefIvSamplesLXを説明するための図である。図15に示すように、対象レイヤ上の予測ユニットに対応する対応ブロックは、参照レイヤ上の画像の予測ユニットの位置を起点として、参照レイヤと対象レイヤの位置関係を示すベクトルである変位ベクトルmvDispだけずれた位置になるブロックに位置する。よって、対応ブロックcurrIvSamplesLXのベクトルmvCは、変位ベクトルmvDispにより下記の式で導出される。
mvC[0] = mvDisp[0]
mvC[1] = mvDisp[1]
参照レイヤ上の対応ブロックに対応する参照ブロックrefIvSamplesLXは、参照レイヤ上の参照画像の対応ブロックの位置を起点として、予測ユニットの動きベクトルmvLXだけずれた位置になるブロックに位置する。よって、参照ブロックrefIvSamplesLXのベクトルmvRは、変位ベクトルmvDispにより下記の式で導出される。
mvR[0] = mvLX[0] + mvDisp[0]
mvR[1] = mvLX[1] + mvDisp[1]
図16は、ベクトルmvLXが変位ベクトルである場合の対応ブロックcurrIvSamplesLXと参照ブロックrefIvSamplesLXを説明するための図である。図16に示すように、対応ブロックcurrIvSamplesLXは、対象ピクチャとは異なる時刻に位置する対象レイヤ上の参照画像上のブロックである。変位ベクトルをmvDisp、動きベクトルをmvRefとすると、対応ブロックcurrIvSamplesLXは、予測ユニットの位置を起点として、参照レイヤと対象レイヤの位置関係を示すベクトルであるベクトルmvTだけずれた位置になるブロックに位置する。よって、対応ブロックcurrIvSamplesLXのベクトルmvCは、変位ベクトルmvDispにより下記の式で導出される。
mvC[0] = mvT[0]
mvC[1] = mvT[1]
図16に示すように、参照ブロックrefIvSamplesLXは、対象ピクチャとは異なる時刻に位置する参照レイヤ上の参照画像上のブロックである。変位ベクトルをmvDisp、動きベクトルをmvTとすると、参照ブロックrefIvSamplesLXは、予測ユニットの位置を起点として、参照レイヤと対象レイヤの位置関係を示すベクトルであるベクトルmvRef - mvLXだけずれた位置になるブロックに位置する。よって、参照ブロックrefIvSamplesLXのベクトルmvRは、変位ベクトルmvDispにより下記の式で導出される。
mvR[0] = mvT[0] + mvDisp[0]
mvR[1] = mvT[1] + mvDisp[1]
なお動きベクトルmvTは、対象ピクチャと同じ時刻の参照レイヤ上のピクチャ(図ではpredSamplesLXに対応するブロックP)のベクトルを用いる。例えば、ブロックの左上座標を(xP, yP)、変位ベクトルがmvLX[]の場合、対応する位置(xRef, yRef)の動きベクトルを参照する。
xRef = Clip3( 0, PicWidthInSamplesL - 1, xP + ( nPSW >> 1 ) + ( ( mvLX[ 0 ] + 2 ) >> 2 ) )
yRef = Clip3( 0, PicHeightInSamplesL - 1, yP + ( nPSH >> 1 ) + ( ( mvLX[ 1 ]
+ 2 ) >> 2 ) )
参照画像補間部30922は、参照ブロックcurrIvSamplesLXの補間画像をベクトルmvLXに上記ベクトルmvCを設定して生成する。補間画像の画素の座標(x,y)を、予測ユニットのベクトルmvLXだけずらした位置の画素を線形補間(双線形補間)により導出する。変位ベクトルLXが1/4ペルの小数精度であることを考慮し、参照画像補間部30922は、予測ユニットの画素の座標が(xP、yP)である場合に対応する整数精度の画素R0のX座標xIntとY座標yInt、及び変位ベクトルmvDispのX成分の小数部分xFracとY成分の小数部分yFracを
xInt = xPb + ( mvLX[ 0 ] >> 2 )
yInt = yPb + ( mvLX[ 1 ] >> 2 )
xFrac = mvLX[ 0 ] & 3
yFrac = mvLX[ 1 ] & 3
の式により導出する。ここで、X & 3は、Xの下位2ビットのみを取り出す数式である。
次に、参照画像補間部30922は、ベクトルmvLXが1/4ペルの小数精度であることを考慮し、補間画素predPartLX[ x ][ y ]を生成する。まず、整数画素A(xA,yB)、B(xB,yB)、C(xC,yC)及びD(xD,yD)の座標を
xA = Clip3( 0, picWidthInSamples - 1, xInt )
xB = Clip3( 0, picWidthInSamples - 1, xInt + 1 )
xC = Clip3( 0, picWidthInSamples - 1, xInt )
xD = Clip3( 0, picWidthInSamples - 1, xInt + 1 )
yA = Clip3( 0, picHeightInSamples - 1, yInt )
yB = Clip3( 0, picHeightInSamples - 1, yInt )
yC = Clip3( 0, picHeightInSamples - 1, yInt + 1 )
yD = Clip3( 0, picHeightInSamples - 1, yInt + 1 )
の式により導出する。ここで、整数画素Aは画素R0に対応した画素であり、整数画素B,C,Dはそれぞれ整数画素Aの右、下、右下に隣接する整数精度の画素である。参照画像補間部30922は、各整数画素A、B、C、及びDに対応する参照画素refPicLX[ xA][ yA ]、refPicLX[ xB ][ yB ]、refPicLX[ xC ][ yC ]、及びrefPicLX[ xD ][ yD ]を参照ピクチャメモリ306から読み出す。
そして、参照画像補間部30922は、参照画素refPicLX[ xA ][ yA ]、refPicLX[ xB][ yB ]、refPicLX[ xC ][ yC ]、refPicLX[ xD ][ yD ]とベクトルmvLXのX成分の小数部分xFracとY成分の小数部分yFracを用いて、画素R0からベクトルmvLXの小数部分だけずらした位置の画素である補間画素predPartLX[ x ][ y ]を線形補間(双線形補間)により導出する。具体的には、
predPartLX[ x ][ y ] = (refPicLX[ xA ][ yA ] * ( 8 - xFrac ) * ( 8 - yFrac ) + refPicLX[ xB ][ yB ] * ( 8 - yFrac ) * xFrac
+ refPicLX[ xC ][ yC ] * ( 8 - xFrac ) * yFrac
+ refPicLX[ xD ][ yD ] * xFrac * yFrac ) >> 6
の式により導出する。
なお、上記では対象画素の周囲の4点の画素を用いて1ステップの双線形補間により導出しているが、水平方向の線形補間と垂直方向の線形補間を分離し2ステップの線形補間により残差予測補間画像を生成しても良い。
参照画像補間部30922は、上記の補間画素導出処理を、予測ユニット内の各画素に対して行い、補間画素の集合を補間ブロックpredPartLXとする。参照画像補間部30922は、導出した補間ブロックpredPartLXを、対応ブロックcurrIvSamplesLXとして、残差合成部30923に出力する。
参照画像補間部30922は、対応ブロックcurrIvSamplesLXを導出した処理と、変位ベクトルmvLXをベクトルmvRに置き換えている点を除いて、同様の処理を行うことで、参照ブロックrefIvSamplesLXを導出する。参照画像補間部30922は、参照ブロックrefIvSamplesLXを残差合成部30923に出力する。
残差合成部30923は、残差予測実施フラグresPredFlagが1の場合には、2つの残差予測動き補償画像(currIvSamplesLX、refIvSamplesLX)の差分から残差を導出し、動き補償画像にこの残差を加算することにより予測画像を導出する。具体的には、残差合成部30923は、予測画像predSamplesLX、対応ブロックcurrIvSamplesLX、参照ブロックrefIvSamplesLX及び残差予測フラグiv_res_pred_weight_idxから、補正予測画像predSamplesLX´を導出する。補正予測画像predSamplesLX´は、
predSamplesLX´[x][y] = predSamplesLX[x][y] +
((currIvSamplesLX[x][y] - refIvSamplesLX[x][y]) >> (iv_res_pred_weight_idx - 1))の式を用いて求める。xは0から予測ブロックの幅-1、yは0から予測ブロックの高さ-1である。残差合成部30923は、残差予測実施フラグresPredFlagが0の場合には、以下の式のように予測画像predSamplesLXをそのまま出力する。
predSamplesLX´[x][y] = predSamplesLX[x][y]
(照度補償)
照度補償部3093は、照度補償フラグic_flagが1の場合に、入力された予測画像predSamplesLXに対して、照度補償を行う。照度補償フラグic_flagが0の場合には、入力された予測画像predSamplesLXをそのまま出力する。
(視点合成予測)
視点合成予測部3094は、VSPモードフラグVspModeFlagが1の場合に視点合成予測により予測画像predSampleLXを導出する。視点合成予測は、予測ユニットをサブブロックに分割し、サブブロック単位で、参照ピクチャメモリ306から、視差配列disparitySampleArray分だけずれた位置のブロックを読み出し補間することによって予測画像predSamplesを生成する処理である。
図17は視点合成予測部3094の構成を示すブロック図である。視点合成予測部3094は、視差配列導出部30941と、参照画像補間部30942から構成される。
視差配列導出部30941は、VSPモードフラグVspModeFlagが1の場合に、サブブロック単位で、視差配列disparitySampleArrayを導出する。
具体的には、まず、視差配列導出部30941は、参照ピクチャメモリ306から、復号対象ピクチャと同一POCを持ち、なお且つ、変位ベクトルが示すピクチャのビューID(RefViewIdx)と同じビューIDであるデプス画像refDepPelsを読み出す。
次に、視差配列導出部30941は、予測ユニットの左上の座標(xP、yP)を変位ベクトルMvDispだけずらした座標(xTL, yTL)を、
xTL = xP + ( ( mvDisp[ 0 ] + 2 ) >> 2 )
yTL = yP + ( ( mvDisp[ 1 ] + 2 ) >> 2 )
の式より導出する。なお、mvDisp[ 0 ]、mvDisp[ 1 ]は、それぞれ変位ベクトルMvDispのX成分とY成分である。導出する座標(xTL, yTL)は、デプス画像refDepPels上の予測ユニットに対応するブロックの座標を示すものである。
視点合成予測部3094は、対象ブロック(予測ユニット)のサイズ(幅nPSW×高さnPSH)に応じて、サブブロック分割を行う。
図12は、予測ユニットのサブブロック分割を説明する図である。予測ユニットは8×4もしくは4×8のサブブロックに分割される。図12(a)に示すように予測ユニットの高さnPSHがnPSH%8!=0を満たす場合には、8×4のサブブロックが用いられる。図12(b)に示すように予測ユニットの幅nPSWがnPSW%8!=0を満たす場合には、4×8のサブブロックが用いられる。図12(c)に示すように、それ以外の場合には、予測ユニットに対応するデプスブロックのデプスの値に応じて8×4もしくは4×8のサブブロックが用いられる。
視差配列導出部30941は、予測ユニットの幅nPSWもしくは高さnPSHが8の倍数以外の場合に、以下の式によりフラグminSubBlkSizeFlagを1に設定する。
minSubBlkSizeFlag = ( nPSW % 8 != 0) | | ( nPSH % 8 != 0 )
視差配列導出部30941は、フラグminSubBlkSizeFlagが1の場合、以下の式により、予測ユニットの高さが8の倍数以外の場合(nPSH % 8が真の場合)には、horSplitFlagに1、それ以外の場合には、0を設定する。
horSplitFlag = ( nPSH % 8 ! = 0 )
すなわち、予測ユニットの高さが8の倍数以外の場合(nPSH % 8が真の場合)には、horSplitFlagに1、予測ユニットの幅が8の倍数以外の場合(nPSW % 8が真の場合)には、horSplitFlagに0が設定される。
視差配列導出部30941は、フラグminSubBlkSizeFlagが0の場合、デプス値からサブブロックサイズを導出する。図13は、デプス値からサブブロックサイズを導出する方法を示す図である。図13に示すとおり、予測ブロックのコーナーの4点(TL、TR、BL、BR)の比較から、サブブロックサイズを導出する。具体的には、予測ユニットの左上端(TL)の座標のデプス画像の画素値をrefDepPelsP0、右上端(TR)の画素値をrefDepPelsP1、左下端(BL)の画素値をrefDepPelsP2、右下端(BR)の画素値をrefDepPelsP3とした場合、
horSplitFlag=( refDepPelsP0 > refDepPelsP3 ) == ( refDepPelsP1 > refDepPelsP2 )
の条件式(horSplitFlag)が成立するかを判定する。
なお、horSplitFlagの導出には、符号を変更した以下の式を用いても良い。
horSplitFlag=( refDepPelsP0 < refDepPelsP3 ) == ( refDepPelsP1 < refDepPelsP2 )
次に、視差配列導出部30941は、
nSubBlkW = horSplitFlag ? 8 : 4
nSubBlkH = horSplitFlag ? 4 : 8
の式を用いてサブブロックの幅nSubBlkWと高さnSubBlkHを設定する。
以上の視差配列導出部30941の動作は次と同値である。予測ユニットの高さnPSHが8の倍数以外の場合(nPSH % 8が真の場合)には、
nSubBlkW = 8
nSubBlkH = 4
の式のように、サブブロックの幅nSubBlkWに8、サブブロックの幅nSubBlkHに4を設定する。
それ以外で予測ユニットの幅nPSWが8の倍数以外の場合(nPSW % 8が真の場合)には、
nSubBlkW = 4
nSubBlkH = 8
の式のように、サブブロックの幅nSubBlkWに4、サブブロックの幅nSubBlkHに8を設定する。
それ以外の場合(予測ユニットの高さと幅がともに8の倍数の場合)には、視差配列導出部30941は、上記条件式を用いて、デプス画像の画素値を用いて、サブブロックの幅と高さを設定する。
次に、視差配列導出部30941は、予測ユニット内のサブブロックごとに、ブロックの左上画素を原点とした場合のサブブロックの幅nSubBlkWと高さnSubBlkHと、分割フラグsplitFlagと、デプス画像refDepPelsと、対応ブロックの座標(xTL, yTL)と、参照ピクチャインデックスrefIdxLXが示す参照ピクチャが属するレイヤのビューIDrefViewIdxと、をデプスDV導出部351に出力することで、デプスDV導出部351から視差配列disparitySampleArrayを得る。視差配列導出部30941は、導出した視差配列disparitySampleArrayを参照画像補間部30922に出力する。
(デプスDV導出部351)
デプスDV導出部351は、デプスDV変換テーブルDepthToDisparityBと、サブブロックの幅nSubBlkWと高さnSubBlkHと、分割フラグsplitFlagと、デプス画像refDepPelsと、デプス画像refDepPels上の対応ブロックの座標(xTL, yTL)と、、ビューIDrefViewIdxを入力として、以下の処理により、デプス由来の変位ベクトルの水平成分である視差配列disparitySamplesを導出する。
デプスDV導出部351は、予測ユニットを構成するサブブロックごとにデプスの代表値maxDepを導出する。
デプスDV導出部351は、サブブロックの左上の予測ブロック(xTL, yTL)からの相対座標を(xSubB、ySubB)とした場合、サブブロックの左端のX座標xP0と、右端のX座標xP1と、上端のY座標yP0と、下端のY座標yP1を、
xP0 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB )
yP0 = Clip3( 0, pic_height_in_luma_samples - 1, yTL + ySubB )
xP1 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB + nSubBlkW - 1 )
yP1 = Clip3( 0, pic_height_in_luma_samples - 1, yTL + ySubB + nSubBlkH - 1 )の式を用いて設定する。なお、pic_width_in_luma_samplesとpic_height_in_luma_samplesは、それぞれ画像の幅と高さを表す。
次に、デプスDV導出部351は、サブブロックのデプスの代表値maxDepを導出する。具体的には、サブブロックのコーナーおよびその付近4点のデプス画像の画素値refDepPels[ xP0 ][ yP0 ]、refDepPels[ xP0 ][ yP1 ]、refDepPels[ xP1 ][ yP0 ]、refDepPels[ xP1 ][ yP1 ]の最大値である代表デプス値maxDepを、
maxDep = 0
maxDep = Max( maxDep, refDepPels[ xP0 ][ yP0 ] )
maxDep = Max( maxDep, refDepPels[ xP0 ][ yP1 ] )
maxDep = Max( maxDep, refDepPels[ xP1 ][ yP0 ] )
maxDep = Max( maxDep, refDepPels[ xP1 ][ yP1 ] )
の式より導出する。また、関数Max(x,y)は、第1引数xが第2引数y以上であればxを、そうでなければyを返す関数である。
デプスDV導出部351は、代表デプス値maxDepとデプスDV変換テーブルDepthToDisparityBと変位ベクトル(NBDV)が示すレイヤのビューIDrefViewIdxを用いて、デプス由来の変位ベクトルの水平成分である視差配列disparitySamplesを、サブブロック内の画素(x、y)(xは0からnSubBlkW-1、yは0からnSubBlkH-1の値を取る)ごとに、
disparitySamples[x][y] = DepthToDisparityB[refViewIdx][maxDep]・・(式A)
により導出する。
デプスDV導出部351は、導出した視差配列disparitySamplesを変位ベクトル導出部30363にDoNBDVとして出力する。デプスDV導出部351は、また、参照画像補間部30942にサブブロックの変位ベクトルとして出力する。
参照画像補間部30942は、視差配列導出部30941から入力された視差配列disparitySampleArrayとインター予測パラメータ復号部303から入力された参照ピクチャインデックスrefIdxLXから、予測ブロックpredSamplesを導出する。
参照画像補間部30942は、予測ユニット中の画素ごとに、その画素の座標から、対応する視差配列disparitySampleArrayの値だけX座標をずらした位置の画素を、参照ピクチャインデックスrefIdxLXが指定する参照ピクチャrefPicから抽出する。視差配列disparitySampleArrayが1/4ペルの小数精度であることを考慮し、参照画像補間部30942は、予測ユニットの左上端の画素の座標が(xP, yP)であり、予測ユニット中の各画素の座標が(xL, yL) (xLは0からnPbW-1、yLは0からnPbH-1の値を取る)である場合に、参照ピクチャrefPicから抽出する画素の整数制度の座標(xInt, yInt)と、画素(xL, yL)に対応する視差配列disparitySampleArray[xL][ [yL]の小数部分xFracと、yFracを、
xIntL = xP + xL+ disparitySamples[ xL ][ yL ]
yIntL = yP + yL
xFracL = disparitySamples[ xL ][ yL ] & 3
xFracL = 0
の式より導出する。
次に、参照画像補間部30942は、予測ユニットの各サブブロックに対して動き変位補償部3091と同様の補間画素導出処理を行い、補間画素の集合を補間ブロックpredPartLXとする。参照画像補間部30942は、導出した補間ブロックpredPartLXを予測ブロックpredSamplesLXとして、加算部312に出力する。
(画像符号化装置の構成)
次に、本実施形態に係る画像符号化装置11の構成について説明する。図20は、本実施形態に係る画像符号化装置11の構成を示すブロック図である。画像符号化装置11は、予測画像生成部101、減算部102、DCT・量子化部103、エントロピー符号化部104、逆量子化・逆DCT部105、加算部106、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、予測パラメータ符号化部111、を含んで構成される。予測パラメータ符号化部111は、インター予測パラメータ符号化部112及びイントラ予測パラメータ符号化部113を含んで構成される。画像符号化装置11は、複数の視点画像およびデプス画像から構成され、ベースレイヤおよびエンハンスメントレイヤから構成される符号化データを符号化する画像符号化装置である。
予測画像生成部101は、外部から入力されたレイヤ画像Tの視点毎の各ピクチャについて、そのピクチャを分割した領域であるブロック毎に予測ピクチャブロックpredSamplesを生成する。ここで、予測画像生成部101は、予測パラメータ符号化部111から入力された予測パラメータに基づいて参照ピクチャメモリ109から参照ピクチャブロックを読み出す。予測パラメータ符号化部111から入力された予測パラメータとは、例えば、動きベクトル又は変位ベクトルである。予測画像生成部101は、符号化予測ユニットを起点として予測された動きベクトル又は変位ベクトルが示す位置にあるブロックの参照ピクチャブロックを読み出す。予測画像生成部101は、読み出した参照ピクチャブロックについて複数の予測方式のうちの1つの予測方式を用いて予測ピクチャブロックpredSamplesを生成する。予測画像生成部101は、生成した予測ピクチャブロックpredSamplesを減算部102と加算部106に出力する。なお、予測画像生成部101は、既に説明した予測画像生成部308と同じ動作であるため予測ピクチャブロックpredSamplesの生成の詳細は省略する。
予測画像生成部101は、予測方式を選択するために、例えば、レイヤ画像に含まれるブロックの画素毎の信号値と予測ピクチャブロックpredSamplesの対応する画素毎の信号値との差分に基づく誤差値を最小にする予測方式を選択する。なお、予測方式を選択する方法は、これには限られない。
符号化対象のピクチャがベースビューのピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測及びマージモードである。動き予測とは、上述のインター予測のうち、表示時刻間の予測である。マージモードとは、既に符号化されたブロックであって、予測ユニットから予め定めた範囲内にあるブロックと同一の参照ピクチャブロック及び予測パラメータを用いる予測である。符号化対象のピクチャがベースビュー以外のピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測、マージモード(視点合成予測を含む)、及び変位予測である。変位予測(視差予測)とは、上述のインター予測のうち、別レイヤ画像(別視点画像)間の予測である。変位予測(視差予測)に対して、追加予測(残差予測および照度補償)を行う場合と行わない場合の予測がある。
予測画像生成部101は、イントラ予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いたイントラ予測モードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。
予測画像生成部101は、動き予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いた動きベクトルmvLXを予測パラメータメモリ108に記憶し、インター予測パラメータ符号化部112に出力する。動きベクトルmvLXは、符号化予測ユニットの位置から予測ピクチャブロックpredSamplesを生成する際の参照ピクチャブロックの位置までのベクトルを示す。動きベクトルmvLXを示す情報には、参照ピクチャを示す情報(例えば、参照ピクチャインデックスrefIdxLX、ピクチャ順序番号POC)を含み、予測パラメータを表すものであっても良い。また、予測画像生成部101は、インター予測モードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。
予測画像生成部101は、変位予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いた変位ベクトルを予測パラメータメモリ108に記憶し、インター予測パラメータ符号化部112に出力する。変位ベクトルdvLXは、符号化予測ユニットの位置から予測ピクチャブロックpredSamplesを生成する際の参照ピクチャブロックの位置までのベクトルを示す。変位ベクトルdvLXを示す情報には、参照ピクチャを示す情報(例えば、参照ピクチャインデックスrefIdxLX、ビューIDview_id)を含み、予測パラメータを表すものであっても良い。また、予測画像生成部101は、インター予測モードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。
予測画像生成部101は、マージモードを選択した場合、選択した参照ピクチャブロックを示すマージインデックスmerge_idxをインター予測パラメータ符号化部112に出力する。また、予測画像生成部101は、マージモードを示す予測モードPredModeを予測パラメータ符号化部111に出力する。
上記の、マージモードにおいて、予測画像生成部101は、VSPモードフラグVspModeFlagが視点合成予測を行うことを示す場合には、既に説明したように予測画像生成部101に含まれる視点合成予測部3094において視点合成予測を行う。また、動き予測、変位予測、マージモードにおいて、予測画像生成部101は、残差予測実施フラグresPredFlagが残差予測を行うことを示す場合には、既に説明したように予測画像生成部101に含まれる残差予測部3092において残差予測を行う。
減算部102は、予測画像生成部101から入力された予測ピクチャブロックpredSamplesの信号値を、外部から入力されたレイヤ画像Tの対応するブロックの信号値から画素毎に減算して、残差信号を生成する。減算部102は、生成した残差信号をDCT・量子化部103と符号化パラメータ決定部110に出力する。
DCT・量子化部103は、減算部102から入力された残差信号についてDCTを行い、DCT係数を算出する。DCT・量子化部103は、算出したDCT係数を量子化して量子化係数を求める。DCT・量子化部103は、求めた量子化係数をエントロピー符号化部104及び逆量子化・逆DCT部105に出力する。
エントロピー符号化部104には、DCT・量子化部103から量子化係数が入力され、符号化パラメータ決定部110から符号化パラメータが入力される。入力される符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、予測モードPredMode、マージインデックスmerge_idx、残差予測重みインデックスiv_res_pred_weight_idx、及び照度補償フラグic_flag等の符号がある。
エントロピー符号化部104は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化ストリームTeを生成し、生成した符号化ストリームTeを外部に出力する。
逆量子化・逆DCT部105は、DCT・量子化部103から入力された量子化係数を逆量子化してDCT係数を求める。逆量子化・逆DCT部105は、求めたDCT係数について逆DCTを行い、復号残差信号を算出する。逆量子化・逆DCT部105は、算出した復号残差信号を加算部106、及び符号化パラメータ決定部110に出力する。
加算部106は、予測画像生成部101から入力された予測ピクチャブロックpredSamplesの信号値と逆量子化・逆DCT部105から入力された復号残差信号の信号値を画素毎に加算して、参照ピクチャブロックを生成する。加算部106は、生成した参照ピクチャブロックを参照ピクチャメモリ109に記憶する。
予測パラメータメモリ108は、予測パラメータ符号化部111が生成した予測パラメータを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
参照ピクチャメモリ109は、加算部106が生成した参照ピクチャブロックを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述した予測パラメータやこの予測パラメータに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータのセットの各々を用いて予測ピクチャブロックpredSamplesを生成する。
符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして外部に出力し、選択されなかった符号化パラメータのセットを出力しない。
予測パラメータ符号化部111は、予測画像生成部101から入力されたパラメータに基づいて予測ピクチャを生成する際に用いる予測パラメータを導出し、導出した予測パラメータを符号化して符号化パラメータのセットを生成する。予測パラメータ符号化部111は、生成した符号化パラメータのセットをエントロピー符号化部104に出力する。
予測パラメータ符号化部111は、生成した符号化パラメータのセットのうち符号化パラメータ決定部110が選択したものに対応する予測パラメータを予測パラメータメモリ108に記憶する。
予測パラメータ符号化部111は、予測画像生成部101から入力された予測モードPredModeがインター予測モードを示す場合、インター予測パラメータ符号化部112を動作させる。予測パラメータ符号化部111は、予測モードPredModeがイントラ予測モードを示す場合、イントラ予測パラメータ符号化部113を動作させる。
インター予測パラメータ符号化部112は、符号化パラメータ決定部110から入力された予測パラメータに基づいてインター予測パラメータを導出する。インター予測パラメータ符号化部112は、インター予測パラメータを導出する構成として、インター予測パラメータ復号部303(図5等、参照)がインター予測パラメータを導出する構成と同一の構成を含む。インター予測パラメータ符号化部112の構成については、後述する。
イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力された予測モードPredModeが示すイントラ予測モードIntraPredModeをインター予測パラメータのセットとして定める。
(インター予測パラメータ符号化部の構成)
次に、インター予測パラメータ符号化部112の構成について説明する。インター予測パラメータ符号化部112は、インター予測パラメータ復号部303に対応する手段である。図21は、本実施形態に係るインター予測パラメータ符号化部112の構成を示す概略図である。インター予測パラメータ符号化部112は、マージモードパラメータ導出部1121、AMVP予測パラメータ導出部1122、減算部1123、及びインター予測パラメータ符号化制御部1126を含んで構成される。
マージモードパラメータ導出部1121は、上述のマージモードパラメータ導出部3036(図7参照)と同様な構成を有する。
すなわち、マージモードパラメータ導出部3036は、上述のマージ候補導出部30361、マージ候補導出部30361B、マージ候補導出部30361Cの何れかを備えることにより、予測ユニットが所定のサイズ以下の場合には拡張マージ候補をマージ候補リストに格納しない。
以上説明した、マージモードパラメータ導出部3036によれば、予測ユニットが所定のサイズ以下の場合には、拡張マージ候補を導出しないため、予測パラメータ導出処理が容易になるという効果を奏する。
また、マージモードパラメータ導出部3036は、上述のマージモードパラメータ導出部3036D、空間マージ候補導出部3036131Dの何れかを備えることにより、予測ユニットが所定のサイズ以下の場合には、VSPモードフラグを隣接ブロックから継承しない。隣接ブロックのVSPモードフラグVspModeFlagを参照する必要がないため、マージ候補の導出が容易になるという効果を奏する。
AMVP予測パラメータ導出部1122は、上述のAMVP予測パラメータ導出部3032(図7参照)と同様な構成を有する。
減算部1123は、符号化パラメータ決定部110から入力されたベクトルmvLXからAMVP予測パラメータ導出部1122から入力された予測ベクトルmvpLXを減算して差分ベクトルmvdLXを生成する。差分ベクトルmvdLXはインター予測パラメータ符号化制御部1126に出力する。
インター予測パラメータ符号化制御部1126は、インター予測に関連する符号(シンタックス要素の復号をエントロピー符号化部104に指示し、符号化データに含まれる符号(シンタックス要素)を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを符号化する。
インター予測パラメータ符号化制御部1126は、追加予測フラグ符号化部10311、マージインデックス符号化部10312、ベクトル候補インデックス符号化部10313、及び図示しない、分割モード符号化部、マージフラグ符号化部、インター予測フラグ符号化部、参照ピクチャインデックス符号化部、ベクトル差分符号化部を含んで構成される。分割モード符号化部、マージフラグ符号化部、マージインデックス符号化部、インター予測フラグ符号化部、参照ピクチャインデックス符号化部、ベクトル候補インデックス符号化部10313、ベクトル差分符号化部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを符号化する。
追加予測フラグ符号化部10311は、追加予測が行われるか否かを示すために、照度補償フラグic_flag、残差予測重みインデックスiv_res_pred_weight_idxを符号化する。
インター予測パラメータ符号化制御部1126は、予測画像生成部101から入力された予測モードPredModeがマージモードを示す場合には、符号化パラメータ決定部110から入力されたマージインデックスmerge_idxをエントロピー符号化部104に出力し、符号化させる。
また、インター予測パラメータ符号化制御部1126は、予測画像生成部101から入力された予測モードPredModeがインター予測モードを示す場合には、次の処理を行う。
インター予測パラメータ符号化制御部1126は、符号化パラメータ決定部110から入力された参照ピクチャインデックスrefIdxLX及び予測ベクトルフラグmvp_LX_flag、減算部1123から入力された差分ベクトルmvdLXを統合する。インター予測パラメータ符号化制御部1126は、統合した符号をエントロピー符号化部104に出力し、符号化させる。
予測画像生成部101は、上述の予測画像生成部308に対応する手段であり、予測パラメータから、予測画像を生成する処理は同一である。
なお、上述した実施形態における画像符号化装置11、画像復号装置31の一部、例えば、エントロピー復号部301、予測パラメータ復号部302、予測画像生成部101、DCT・量子化部103、エントロピー符号化部104、逆量子化・逆DCT部105、符号化パラメータ決定部110、予測パラメータ符号化部111、エントロピー復号部301、予測パラメータ復号部302、予測画像生成部308、逆量子化・逆DCT部311をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置11、画像復号装置31のいずれかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
また、上述した実施形態における画像符号化装置11、画像復号装置31の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。画像符号化装置11、画像復号装置31の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
1…画像伝送システム
11…画像符号化装置
101…予測画像生成部
102…減算部
103…DCT・量子化部
10311…追加予測フラグ符号化部
10312…マージインデックス符号化部
10313…ベクトル候補インデックス符号化部
104…エントロピー符号化部
105…逆量子化・逆DCT部
106…加算部
108…予測パラメータメモリ(フレームメモリ)
109…参照ピクチャメモリ(フレームメモリ)
110…符号化パラメータ決定部
111…予測パラメータ符号化部
112…インター予測パラメータ符号化部
1121…マージモードパラメータ導出部
1122…AMVP予測パラメータ導出部
1123…減算部
1126…インター予測パラメータ符号化制御部
113…イントラ予測パラメータ符号化部
21…ネットワーク
31…画像復号装置
301…エントロピー復号部
302…予測パラメータ復号部
303…インター予測パラメータ復号部
3031…インター予測パラメータ復号制御部
30311…残差予測重みインデックス復号部
3032…AMVP予測パラメータ導出部
3035…加算部
3036…マージモードパラメータ導出部
3036D…マージモードパラメータ導出部
30361…マージ候補導出部(マージ候補導出装置)
30361B…マージ候補導出部(マージ候補導出装置)
30361C…マージ候補導出部(マージ候補導出装置)
303611…マージ候補格納部
303612…拡張マージ候補導出部
3036121…レイヤ間マージ候補導出部
3036123…変位マージ候補導出部
3036124…VSPマージ候補導出部
303613…基本マージ候補導出部
3036131…空間マージ候補導出部
3036131D…空間マージ候補導出部
3036132…時間マージ候補導出部
3036133…結合マージ候補導出部
3036134…ゼロマージ候補導出部
30362…マージ候補選択部
30363…変位ベクトル導出部
304…イントラ予測パラメータ復号部
306…参照ピクチャメモリ(フレームメモリ)
307…予測パラメータメモリ(フレームメモリ)
308…予測画像生成部
309…インター予測画像生成部
3091…動き変位補償部
3092…残差予測部
30922…参照画像補間部
30923…残差合成部
3093…照度補償部
3094…視点合成予測部
30941…視差配列導出部
30942…参照画像補間部
310…イントラ予測画像生成部
311…逆量子化・逆DCT部
312…加算部
351…デプスDV導出部
41…画像表示装置

Claims (2)

  1. 複数レイヤから構成される符号化データを復号する画像復号装置であって、
    基本マージ候補リストと、少なくともインタービューマージ候補、変位マージ候補、シフト動きマージ候補およびシフト変位マージ候補のいずれか一つを含む拡張マージ候補を含む拡張マージ候補リストと、を導出するマージ候補導出部と、
    予測ブロックのサイズが所定のサイズの場合には、前記基本マージ候補リストを用いて予測パラメータを導出し、該予測ブロックのサイズが所定のサイズではない場合には、前記拡張マージ候補リストを用いて予測パラメータを導出するパラメータ導出部と、を備え、
    前記所定のサイズは、前記予測ブロックの幅と高さの和が12であることを特徴とする画像復号装置。
  2. 複数レイヤから構成される符号化データを符号化する画像符号化装置であって、
    基本マージ候補リストと、少なくともインタービューマージ候補、変位マージ候補、シフト動きマージ候補およびシフト変位マージ候補のいずれか一つを含む拡張マージ候補リストと、を導出するマージ候補導出部と、
    予測ブロックのサイズが所定のサイズの場合には、前記基本マージ候補リストを用いて予測パラメータを導出し、該予測ブロックのサイズが所定のサイズではない場合には、前記拡張マージ候補リストを用いて予測パラメータを導出するパラメータ導出部と、を備え、
    前記所定のサイズは、前記予測ブロックの幅と高さの和が12であることを特徴とする画像符号化装置。
JP2015553536A 2013-12-19 2014-12-15 画像復号装置及び画像符号化装置 Expired - Fee Related JP6441236B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013262817 2013-12-19
JP2013262817 2013-12-19
PCT/JP2014/083169 WO2015093449A1 (ja) 2013-12-19 2014-12-15 マージ候補導出装置、画像復号装置及び画像符号化装置

Publications (2)

Publication Number Publication Date
JPWO2015093449A1 JPWO2015093449A1 (ja) 2017-03-16
JP6441236B2 true JP6441236B2 (ja) 2018-12-19

Family

ID=53402795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015553536A Expired - Fee Related JP6441236B2 (ja) 2013-12-19 2014-12-15 画像復号装置及び画像符号化装置

Country Status (4)

Country Link
US (1) US10200712B2 (ja)
JP (1) JP6441236B2 (ja)
CN (1) CN105723713A (ja)
WO (1) WO2015093449A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10187657B2 (en) * 2014-03-14 2019-01-22 Samsung Electronics Co., Ltd. Method and device for configuring merge candidate list for decoding and encoding of interlayer video
US10142613B2 (en) * 2015-09-03 2018-11-27 Kabushiki Kaisha Toshiba Image processing apparatus, image processing system, and image processing method
US10812822B2 (en) * 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
EP3298783B1 (en) * 2016-04-15 2020-11-18 Magic Pony Technology Limited Motion compensation using temporal picture interpolation
KR102531386B1 (ko) * 2016-10-04 2023-05-12 주식회사 비원영상기술연구소 영상 데이터 부호화/복호화 방법 및 장치
US10484703B2 (en) 2017-02-07 2019-11-19 Mediatek Inc. Adapting merge candidate positions and numbers according to size and/or shape of prediction block
CN110870319B (zh) 2017-05-31 2022-12-06 交互数字麦迪逊专利控股公司 画面编码和解码的方法和设备
CN107301046B (zh) * 2017-06-15 2023-07-04 腾讯科技(深圳)有限公司 图标的处理方法和装置、计算机设备和存储介质
CN116866571A (zh) * 2017-10-20 2023-10-10 株式会社Kt 视频信号处理方法及装置
KR20210016581A (ko) 2018-06-05 2021-02-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Ibc 및 atmvp 간의 상호 작용
KR102701593B1 (ko) 2018-06-21 2024-08-30 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 칼라 컴포넌트 간의 서브 블록 mv 상속
WO2019244117A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
CN110662072B (zh) * 2018-06-29 2022-04-26 杭州海康威视数字技术股份有限公司 运动信息候选者列表构建方法、装置及可读存储介质
WO2020057504A1 (en) * 2018-09-17 2020-03-26 Mediatek Inc. Methods and apparatuses of combining multiple predictors for block prediction in video coding systems
CN117768651A (zh) 2018-09-24 2024-03-26 北京字节跳动网络技术有限公司 处理视频数据的方法、装置、介质、以及比特流存储方法
EP3861723A4 (en) * 2018-11-10 2022-04-20 Beijing Bytedance Network Technology Co., Ltd. ROUNDS IN PAIRS OF MEDIUM CANDIDATE BILLS
JP2022068379A (ja) * 2019-03-08 2022-05-10 シャープ株式会社 画像復号装置
JP2023011955A (ja) * 2019-12-03 2023-01-25 シャープ株式会社 動画像符号化装置、動画像復号装置
JP7448349B2 (ja) * 2019-12-17 2024-03-12 シャープ株式会社 動画像復号装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5320525B1 (ja) * 2011-10-27 2013-10-23 パナソニック株式会社 予測動きベクトル導出方法および予測動きベクトル導出装置
US8964845B2 (en) * 2011-12-28 2015-02-24 Microsoft Corporation Merge mode for motion information prediction
US20130188715A1 (en) * 2012-01-09 2013-07-25 Qualcomm Incorporated Device and methods for merge list reordering in video coding
CN104255031B (zh) * 2012-02-29 2017-12-22 Lg 电子株式会社 层间预测方法和使用层间预测方法的装置
JP2013207755A (ja) * 2012-03-29 2013-10-07 Sony Corp 画像処理装置および方法
SG11201405038RA (en) * 2012-04-24 2014-09-26 Mediatek Inc Method and apparatus of motion vector derivation for 3d video coding
US20160173904A1 (en) * 2013-07-24 2016-06-16 Samsung Electronics Co., Ltd. Method for determining motion vector and apparatus therefor
EP3062518A4 (en) * 2013-10-24 2017-05-31 Electronics and Telecommunications Research Institute Video encoding/decoding method and apparatus

Also Published As

Publication number Publication date
US10200712B2 (en) 2019-02-05
CN105723713A (zh) 2016-06-29
WO2015093449A1 (ja) 2015-06-25
JPWO2015093449A1 (ja) 2017-03-16
US20160316221A1 (en) 2016-10-27

Similar Documents

Publication Publication Date Title
JP6441236B2 (ja) 画像復号装置及び画像符号化装置
JP6469588B2 (ja) 残差予測装置、画像復号装置、画像符号化装置、残差予測方法、画像復号方法、および画像符号化方法
WO2016125685A1 (ja) 画像復号装置、画像符号化装置および予測ベクトル導出装置
WO2015056719A1 (ja) 画像復号装置、画像符号化装置
WO2015194669A1 (ja) 画像復号装置、画像符号化装置および予測画像生成装置
JP6360053B2 (ja) 照度補償装置、画像復号装置、画像符号化装置
WO2014050948A1 (ja) 画像復号装置及び画像符号化装置
JP6473078B2 (ja) 画像復号装置
WO2015056620A1 (ja) 画像復号装置、画像符号化装置
WO2015141696A1 (ja) 画像復号装置、画像符号化装置および予測装置
JP6118199B2 (ja) 画像復号装置、画像符号化装置、画像復号方法、画像符号化方法及びコンピュータ読み取り可能な記録媒体。
WO2014103600A1 (ja) 符号化データ構造、および画像復号装置
JP2016066864A (ja) 画像復号装置、画像符号化装置およびマージモードパラメータ導出装置
JP2017135432A (ja) 視点合成予測装置、画像復号装置及び画像符号化装置
WO2015190510A1 (ja) 視点合成予測装置、画像復号装置及び画像符号化装置
WO2016056587A1 (ja) 変位配列導出装置、変位ベクトル導出装置、デフォルト参照ビューインデックス導出装置及びデプスルックアップテーブル導出装置
JP6401707B2 (ja) 画像復号装置、画像復号方法、および記録媒体
JP2015080053A (ja) 画像復号装置、及び画像符号化装置
JP2014204327A (ja) 画像復号装置および画像符号化装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181121

R150 Certificate of patent or registration of utility model

Ref document number: 6441236

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees