JP2013102280A - 画像復号装置、および画像符号化装置 - Google Patents

画像復号装置、および画像符号化装置 Download PDF

Info

Publication number
JP2013102280A
JP2013102280A JP2011243726A JP2011243726A JP2013102280A JP 2013102280 A JP2013102280 A JP 2013102280A JP 2011243726 A JP2011243726 A JP 2011243726A JP 2011243726 A JP2011243726 A JP 2011243726A JP 2013102280 A JP2013102280 A JP 2013102280A
Authority
JP
Japan
Prior art keywords
motion compensation
compensation parameter
unit
candidates
candidate
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.)
Pending
Application number
JP2011243726A
Other languages
English (en)
Inventor
Tomohiro Igai
知宏 猪飼
Masanobu Yasugi
将伸 八杉
Tomoyuki Yamamoto
智幸 山本
Kenji Tsukuba
健史 筑波
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
Priority to JP2011243726A priority Critical patent/JP2013102280A/ja
Publication of JP2013102280A publication Critical patent/JP2013102280A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】動き補償パラメータ導出手段において、動き補償パラメータ候補を導出する際に必要な動き補償パラメータ候補の一致判定の処理量を削減する。
【解決手段】動き補償パラメータ導出手段は、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と、導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、動き補償パラメータ一致判定手段は、動き補償パラメータの2つ以上の要素から、1つの結合動き補償パラメータ値を算出する、結合動き補償パラメータ値算出手段を備え、結合動き補償パラメータ値を用いて、動き補償パラメータの一致を判定する。
【選択図】図1

Description

本発明は、画像を表す符号化データを復号する画像復号装置、および画像を符号化することによって符号化データを生成する画像符号化装置に関する。
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。
具体的な動画像符号化方式としては、例えば、H.264/MPEG−4.AVC、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている方式、TMuC(Test Model under Consideration)ソフトウェアに採用されている方式や、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている方式(非特許文献1)などが挙げられる。
このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化単位(コーディングユニット(Coding Unit)と呼ばれることもある)、及び、符号化単位を分割することより得られるブロックおよびパーティションからなる階層構造により管理され、ブロックごとに符号化/復号される。
また、このような動画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測残差(「差分画像」または「残差画像」と呼ぶこともある)が符号化される。また、予測画像の生成方法としては、画面間予測(インター予測)、および、画面内予測(イントラ予測)が挙げられる。
イントラ予測においては、同一フレーム内の局所復号画像に基づいて、当該フレームにおける予測画像が順次生成される。
一方、インター予測におけるレーム全体が復号された参照フレーム(復号画像)内の参照画像に対し、動きベクトルを用いた動き補償を適用することによって、予測対象フレーム内の予測画像が予測単位(例えば、ブロック)毎に生成される。
インター予測については、マージモードの予測単位においては、動き補償パラメータ候補(マージ候補)のリストを生成し、リストからインデックスで選択される動き補償候補を用いて、予測画像の動き補償を行う。マージモード以外の予測単位においては、動き補償パラメータ候補(予測動きベクトル候補)のリストを生成し、リストからインデックスで選択される動き補償候補と、差分動きベクトルから、動き補償パラメータを導出し動き補償を行う。
「WD4: Working Draft 4 of High-Efficiency Video Coding (JCTVC-F803_d5)」, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011(2011年10月28日公開)
非特許文献1に記載の技術では、マージインデックスおよび予測動きベクトルインデックスによって、マージ候補リストもしくは動きベクトルリストからインデックスに示される動き補償パラメータを導出することにより高い符号化効率を得ることができる。しかしながら、マージ候補リストもしくは動きベクトルリストの導出において、2つの動き補償パラメータが一致するか否かを判定を行うが、この判定回数が非常に多いために、候補となるリストの生成に必要な処理量が大きいという課題があった。
符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像復号装置において、
上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
上記動き補償パラメータ一致判定手段は、動き補償パラメータの2つ以上の要素から、1つの結合動き補償パラメータ値を算出する、結合動き補償パラメータ値算出手段を備え、さらに、上記動き補償パラメータ一致判定手段は、上記結合動き補償パラメータ値を用いて、動き補償パラメータの一致を判定することを特徴とする。
上記のように構成された画像復号装置によれば、複数のパラメータから構成される動き補償パラメータの一致判定を、1つの結合動き補償パラメータ値を用いて行うことができるので、動き補償パラメータの一致判定に必要な処理量を低減することができる。
結合動き補償パラメータ値算出手段は、予測リスト利用フラグと参照リストインデックスと動きベクトルから結合動き補償パラメータ値を算出することを特徴とする。
上記のように導出される結合動き補償パラメータ値によれば、予測リスト利用フラグと参照リストインデックスと動きベクトルの一致比較を1つのパラメータである結合動き補償パラメータ値によって行うことができるので、一致判定に必要な処理量を低減することができる。
結合動き補償パラメータ値算出手段は、32ビット以下の結合動き補償パラメータ値を算出することを特徴とする。
上記のように導出される結合動き補償パラメータ値によれば、結合動き補償パラメータ値を32ビットレジスタ以上のレジスタを用いて比較することができるので、一致判定に必要な処理量を低減することができる。また、結合動き補償パラメータ値を蓄積する場合に、少ないメモリ量で蓄積することができる。
結合動き補償パラメータ値算出手段は、16ビット以下の結合動き補償パラメータ値を算出することを特徴とする、画像復号装置。
上記のように導出される結合動き補償パラメータ値によれば、結合動き補償パラメータ値を16ビットレジスタ以上のレジスタを用いて比較することができるので、一致判定に必要な処理量を低減することができる。また、結合動き補償パラメータ値を蓄積する場合に、少ないメモリ量で蓄積することができる。
結合動き補償パラメータ値算出手段は、一部のビットをマスクすることによって、動きベクトルの一致判定に用いる動き補償パラメータ値を抽出することができることを特徴とする結合動き補償パラメータ値算出手段。
上記のように導出される結合動き補償パラメータ値によれば、動きベクトルのみを用いた一致判定を行うことができる。これにより、予測リスト利用フラグと参照リストインデックスと動きベクトルの一致判定が必要なマージ候補の一致判定だけではなく、動きベクトルの一致判定が必要な予測動きベクトル候補の一致判定にも用いることができ、マージ候補導出における一致判定の処理量と、予測動きベクトル候補導出における一致判定の処理量を低減することができる。
結合動き補償パラメータ値算出手段は、一部のビットをマスクすることによってL0の動き補償パラメータの一致判定に用いる結合動き補償パラメータ値、もしくはL1の動き補償パラメータの一致判定に用いる結合動き補償パラメータ値を抽出することができることを特徴とする。
上記のように導出される結合動き補償パラメータ値によれば、L0の動き補償パラメータのみを用いた一致判定、もしくは、L1の動き補償パラメータのみを用いた一致判定を行うことができる。
符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像復号装置において、
上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
上記動き補償パラメータ一致判定手段は、動き補償パラメータの内、一部のパラメータのみを用いて、動き補償パラメータの一致を判定することを特徴とする。
上記のように構成された画像復号装置によれば、複数のパラメータから構成される動き補償パラメータの一致判定を、一部のパラメータにおいてのみ行うため、動き補償パラメータの一致判定に必要な処理量を低減することができる。
上記一部のパラメータは、予測リスト利用フラグと参照リストインデックスであることを特徴とする。
上記のように一致判定に用いるパラメータを上記パラメータに制限することによって、一致判定に必要な処理量を低減することができる。
上記一部のパラメータは、予測リスト利用フラグと参照リストインデックスと動きベクトルの一方であることを特徴とする。
上記のように一致判定に用いるパラメータを上記パラメータに制限することによって、一致判定に必要な処理量を低減することができる。
符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像復号装置において、
上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
上記動き補償パラメータ導出手段は、一部の動き補償パラメータ候補に対しては、上記動き補償パラメータ一致判定手段を用いて、一致しないと判定される動き補償パラメータのみを動き補償候補リストに格納し、一部の動き補償パラメータ候補以外の候補に対しては、上記動き補償パラメータ一致判定手段を用いずに、上記候補を動き補償候補リストに格納することを特徴とする。
上記のように構成された画像復号装置によれば、複数の動き補償パラメータ候補を導出する場合において、一部の動き補償パラメータに限定して、動き補償パラメータの一致判定を行うことにより、動き補償パラメータの一致判定に必要な処理量を低減することができる。
上記一部の動き補償パラメータ候補は、隣接マージ候補と時間マージ候補であることを特徴とする。
上記のように、一致判定を行うマージ候補を隣接マージ候補と時間マージ候補に限定することによって、一致判定に必要な処理量を低減することができる。
上記一部の動き補償パラメータ候補は、隣接マージ候補であることを特徴とする。
上記のように、一致判定を行うマージ候補を隣接マージ候補に限定することによって、一致判定に必要な処理量を低減することができる。
上記一部の動き補償パラメータ候補は、所定の数N個のマージ候補であることを特徴とする。
上記のように、一致判定を行うマージ候補を隣接マージ候補に限定することによって、一致判定に必要な処理量を低減することができる。
符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像符号化装置において、
上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
上記動き補償パラメータ一致判定手段は、動き補償パラメータの2つ以上の要素から、1つの結合動き補償パラメータ値を算出する、結合動き補償パラメータ値算出手段を備え、
さらに、上記動き補償パラメータ一致判定手段は、上記結合動き補償パラメータ値を用いて、動き補償パラメータの一致を判定することを特徴とする。
符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像符号化装置において、
上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
上記動き補償パラメータ一致判定手段は、動き補償パラメータの内、一部のパラメータのみを用いて、動き補償パラメータの一致を判定することを特徴とする。
符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像符号化装置において、
上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
上記動き補償パラメータ導出手段は、一部の動き補償パラメータ候補に対しては、上記動き補償パラメータ一致判定手段を用いて、一致しないと判定される動き補償パラメータのみを動き補償候補リストに格納し、一部の動き補償パラメータ候補以外の候補に対しては、上記動き補償パラメータ一致判定手段を用いずに、上記候補を動き補償候補リストに格納することを特徴とする。
この発明によれば、マージ候補もしくは動きベクトルリストの導出において、必要な2つの動き補償パラメータが一致するか否かの判定を、簡易に行う。もしくは、判定対象を省略することによって、リストの生成に必要な処理量を低減できる。
本発明の一実施形態に係る動画像復号装置が備えるCU情報復号部および復号モジュールの構成例について示す機能ブロック図である。 上記動画像復号装置の概略的構成について示した機能ブロック図である。 本発明の一実施形態に係る動画像符号化装置によって生成され、上記動画像復号装置によって復号される符号化データのデータ構成を示す図であり、(a)〜(d)は、それぞれ、ピクチャレイヤ、スライスレイヤ、ツリーブロックレイヤ、およびCUレイヤを示す図である。 PU分割タイプのパターンを示す図である。(a)〜(h)は、それぞれ、PU分割タイプが、2N×N、2N×nU、2N×nD、2N×N、2N×nU、および、2N×nDの場合のパーティション形状について示している。 正方形のノードを正方形または非正方形に4分木分割する分割方式について示す図である。(a)は、正方形の分割、(b)は、横長の長方形の分割、および、(c)は、縦長の長方形の分割を示している。 正方形のノードを正方形または非正方形に4分木分割する分割方式について示す図である。(a)は、横長のノードの横長の分割、(b)は、横長のノードの正方形の分割、(c)は、縦長のノードの縦長の分割、および(d)は、縦長のノードの正方形の分割を示している。 PU分割タイプ2N×Nの32×32CUにおけるTU分割の例を示す図である。 上記動画像復号装置が備えるPU情報復号部および復号モジュールの構成例について示す機能ブロック図である。 上記動画像復号装置が備えるTU情報復号部および復号モジュールの構成例について示す機能ブロック図である。 CU復号処理の流れの一例を示すフローチャートである。 本発明の一実施形態に係る動画像符号化装置の概略的構成について示した機能ブロック図である。 CU符号化処理の流れの一例を示すフローチャートである。 上記動画像符号化装置を搭載した送信装置、および、上記動画像復号装置を搭載した受信装置の構成について示した図である。(a)は、動画像符号化装置を搭載した送信装置を示しており、(b)は、動画像復号装置を搭載した受信装置を示している。 上記動画像符号化装置を搭載した記録装置、および、上記動画像復号装置を搭載した再生装置の構成について示した図である。(a)は、動画像符号化装置を搭載した記録装置を示しており、(b)は、動画像復号装置を搭載した再生装置を示している。 上記動画像復号装置が備えるPU情報復号部の動き補償パラメータ導出部の詳細な構成例について示す機能ブロック図である。 PUのシンタックステーブルの例である。 マージ動き補償パラメータ導出部の構成を示すブロック図である。 マージ動き補償パラメータ導出部の動作を示すフローチャートである。 隣接マージ候補導出部1212Aの動作を説明する図である。 時間的マージ候補導出部1212Bの動作を説明する図である。 本発明のユニーク候補導出部1212Cの動作を説明する図である。 結合双予測マージ候補導出部1212Dの動作を説明する図である。 非スケール双予測マージ候補導出部1212Eの動作を説明する図である。 ゼロベクトルマージ候補導出部1212Fの動作を説明する図である。 基本動き補償パラメータ導出部1213の構成を示すブロック図である。 PU情報生成部30の構成を示すブロック図である。 マージ動き補償パラメータ3012の構成を示すブロック図である。 基本動き補償パラメータ導出部3013の構成を示すブロック図である。 本発明の一致判定の簡略化を行う手段を説明する図である。 本発明のユニーク候補判定部1212Cの動作を説明するフローチャートである。 本発明のユニーク候補判定部1212Cの別の動作を説明するフローチャート 本発明のユニーク候補判定部1212Cにおける動き補償パラメータの一致判定対象を説明する図である。 本発明のユニーク候補判定部1212Cで一致判定が繰り返し行われる例を説明する図である。 本発明の結合動き補償パラメータ算出部1214のデータフローを示す図である。 本発明の結合動き補償パラメータ算出部1214のデータフローを示す図である。 本発明の結合動き補償パラメータ算出部1214の動作を説明する図である。 本発明のユニークチェックの判定を説明するフローチャートである。 本発明のユニークチェックの判定の別の例を説明するフローチャートである。 本発明のマスクを利用したユニークチェックの判定を説明するフローチャートである。 本発明のビットマスクの例を説明する図である。 本発明のユニークチェックの判定を説明するフローチャートである。 本発明の一部の動き補償パラメータを用いた一致判定を説明するフローチャートである。 本発明の一部の動き補償パラメータを用いた一致判定を説明するフローチャート 本発明の一部の動き補償パラメータを用いた一致判定を説明するフローチャートである。 本発明の一部の動き補償パラメータを用いた一致判定を説明するフローチャートである。 本発明の一部の動き補償パラメータを用いた一致判定を説明するフローチャートである。 本発明のユニークチェックを制限するフローチャートである。 CUのサイズおよびPU分割タイプに対応付けて、PUの個数およびサイズが定義されているPUサイズテーブルの具体的な構成例を示す図である。
本発明の一実施形態について図1〜図48を参照して説明する。まず、図2を参照しながら、動画像復号装置(画像復号装置)1および動画像符号化装置(画像符号化装置)2の概要について説明する。図2は、動画像復号装置1の概略的構成を示す機能ブロック図である。
図2に示す動画像復号装置1および動画像符号化装置2は、H.264/MPEG−4 AVC規格に採用されている技術、VCEG(Video Coding Expert Group)における共同開発用コーデックであるKTAソフトウェアに採用されている技術、TMuC(Test Model under Consideration)ソフトウェアに採用されている技術、および、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている技術を実装している。
動画像符号化装置2は、これらの動画像符号化方式において、エンコーダからデコーダに伝送されることが規定されているシンタックス(syntax)の値をエントロピー符号化して符号化データ#1を生成する。
エントロピー符号化方式としては、コンテキスト適応型可変長符号化(CAVLC:Context-based Adaptive Variable Length Coding)、および、コンテキスト適応型2値算術符号化(CABAC:Context-based Adaptive Binary Arithmetic Coding)が知られている。
CAVLCおよびCABACによる符号化/復号においては、コンテキストに適応した処理が行われる。コンテキストとは、符号化/復号の状況(文脈)のことであり、関連シンタックスの過去の符号化/復号結果により定まるものである。関連シンタックスとしては、例えば、イントラ予測、インター予測に関する各種シンタックス、輝度(Luma)、色差(Chroma)に関する各種シンタックス、およびCU(Coding Unit 符号化単位)サイズに関する各種シンタックスなどがある。また、CABACでは、シンタックスに対応する2値データ(バイナリ列)における、符号化/復号対象となるバイナリの位置をコンテキストとして用いる場合もある。
CAVLCでは、符号化に用いるVLCテーブルを適応的に変更して、各種シンタックスが符号化される。一方、CABACでは、予測モードおよび変換係数等の多値を取り得るシンタックスに対して2値化処理が施され、この2値化処理によって得られた2値データが発生確率に応じて適応的に算術符号化される。具体的には、バイナリ値(0または1)の発生確率を保持するバッファを複数用意し、コンテキストに応じて一つのバッファを選択し、当該バッファに記録されている発生確率に基づいて算術符号化を行う。また、復号/符号化するバイナリ値に基づいて、当該バッファの発生確率を更新することで、コンテキストに応じて適切な発生確率を維持できる。
動画像復号装置1には、動画像符号化装置2が動画像を符号化した符号化データ#1が入力される。動画像復号装置1は、入力された符号化データ#1を復号して動画像#2を外部に出力する。動画像復号装置1の詳細な説明に先立ち、符号化データ#1の構成を以下に説明する。
〔符号化データの構成〕
図3を用いて、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成例について説明する。符号化データ#1は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
符号化データ#1におけるピクチャレイヤ以下の階層の構造を図3に示す。図3の(a)〜(d)は、それぞれ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、ツリーブロック(Tree block)TBLKを規定するツリーブロックレイヤ、ツリーブロックTBLKに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
(ピクチャレイヤ)
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図3の(a)に示すように、ピクチャヘッダPH、及び、スライスS1〜SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
なお、以下、スライスS1〜SNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ#1に含まれるデータであって、添え字を付している他のデータについても同様である。
ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置2が符号化の際に用いた可変長符号化のモードを示す符号化モード情報(entropy_coding_mode_flag)は、ピクチャヘッダPHに含まれる符号化パラメータの一例である。
entropy_coding_mode_flagが0の場合、当該ピクチャPICTは、CAVLC(Context-based Adaptive Variable Length Coding)によって符号化されている。また、entropy_coding_mode_flagが1である場合、当該ピクチャPICTは、CABAC(Context-based Adaptive Binary Arithmetic Coding)によって符号化されている。
なお、ピクチャヘッダPHは、ピクチャー・パラメーター・セット(PPS:Picture Parameter Set)とも称される。
(スライスレイヤ)
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図3の(b)に示すように、スライスヘッダSH、及び、ツリーブロックTBLK1〜TBLKNC(NCはスライスSに含まれるツリーブロックの総数)を含んでいる。
スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単予測、双予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
また、スライスヘッダSHには、動画像復号装置1の備えるループフィルタ(不図示)によって参照されるフィルタパラメータが含まれていてもよい。
(ツリーブロックレイヤ)
ツリーブロックレイヤでは、処理対象のツリーブロックTBLK(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
ツリーブロックTBLKは、ツリーブロックヘッダTBLKHと、符号化単位情報CU〜CUNL(NLはツリーブロックTBLKに含まれる符号化単位情報の総数)とを含む。ここで、まず、ツリーブロックTBLKと、符号化単位情報CUとの関係について説明すると次のとおりである。
ツリーブロックTBLKは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのユニットに分割される。
ツリーブロックTBLKの上記ユニットは、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造のことを以下、符号化ツリー(coding tree)と称する。
以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応するユニットを、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。
つまり、符号化単位情報CU〜CUNLは、ツリーブロックTBLKを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
また、符号化ツリーのルート(root)は、ツリーブロックTBLKに対応付けられる。換言すれば、ツリーブロックTBLKは、複数の符号化ノードを再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード(すなわち、当該符号化ノードの1階層上位のノードのユニット)のサイズの縦横とも半分である。
また、各符号化ノードの取り得るサイズは、符号化データ#1のシーケンスパラメータセットSPSに含まれる、符号化ノードのサイズ指定情報および最大階層深度(maximum hierarchical depth)に依存する。例えば、ツリーブロックTBLKのサイズが64×64画素であって、最大階層深度が3である場合には、当該ツリーブロックTBLK以下の階層における符号化ノードは、4種類のサイズ、すなわち、64×64画素、32×32画素、16×16画素、および8×8画素の何れかを取り得る。
(ツリーブロックヘッダ)
ツリーブロックヘッダTBLKHには、対象ツリーブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図3の(c)に示すように、対象ツリーブロックの各CUへの分割パターンを指定するツリーブロック分割情報SP_TBLK、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
ツリーブロック分割情報SP_TBLKは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各CUの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
なお、ツリーブロック分割情報SP_TBLKは、CUの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報SP_TBLKは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各CUの形状やサイズを特定できる。
また、量子化パラメータ差分Δqpは、対象ツリーブロックにおける量子化パラメータqpと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータqp’との差分qp−qp’である。
(CUレイヤ)
CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
ここで、符号化単位情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。
また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、N×2N、および、N×Nなどがある。
また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。
(符号化単位情報のデータ構造)
続いて、図3の(d)を参照しながら符号化単位情報CUに含まれるデータの具体的な内容について説明する。図3の(d)に示すように、符号化単位情報CUは、具体的には、スキップモードフラグSKIP、CU予測タイプ情報Pred_type、PT情報PTI、および、TT情報TTIを含む。
[スキップフラグ]
スキップフラグSKIPは、対象CUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、その符号化単位情報CUにおけるPT情報PTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
[CU予測タイプ情報]
CU予測タイプ情報Pred_typeは、CU予測方式情報PredModeおよびPU分割タイプ情報PartModeを含む。
CU予測方式情報PredModeは、対象CUに含まれる各PUについての予測画像生成方法として、イントラ予測(イントラCU)、および、インター予測(インターCU)のいずれを用いるのかを指定するものである。なお、以下では、対象CUにおける、スキップ、イントラ予測、および、インター予測の種別を、CU予測モードと称する。
PU分割タイプ情報PartModeは、対象符号化単位(CU)の各PUへの分割のパターンであるPU分割タイプを指定するものである。以下、このように、PU分割タイプに従って、対象符号化単位(CU)を各PUへ分割することをPU分割と称する。
PU分割タイプ情報PartModeは、例示的には、PU分割パターンの種類を示すインデックスであってもよいし、対象予測ツリーに含まれる各PUの形状、サイズ、および、対象予測ツリー内での位置が指定されていてもよい。
なお、選択可能なPU分割タイプは、CU予測方式とCUサイズに応じて異なる。また、さらにいえば、選択可能できるPU分割タイプは、インター予測およびイントラ予測それぞれの場合において異なる。また、PU分割タイプの詳細については後述する。
また、Iスライスでない場合、PU分割タイプ情報PartModeの値およびPU分割タイプ情報PartModeの値は、ツリーブロックの分割(partition)、予測方式、およびCUの分割(split)の方法の組み合わせを指定するインデックス(cu_split_pred_part_mode)によって特定されるようになっていてもよい。
[PT情報]
PT情報PTIは、対象CUに含まれるPTに関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合である。上述のとおり予測画像の生成は、PUを単位として行われるので、PT情報PTIは、動画像復号装置1によって予測画像が生成される際に参照される。PT情報PTIは、図3の(d)に示すように、各PUにおける予測情報等を含むPU情報PUI〜PUINP(NPは、対象PTに含まれるPUの総数)を含む。
予測情報PUIは、予測タイプ情報Pred_modeが何れの予測方法を指定するのかに応じて、イントラ予測情報、または、インター予測情報を含む。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
インター予測情報は、動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータを含む。
インター予測パラメータとしては、例えば、マージフラグ(merge_flag)、マージインデックス(merge_idx)、推定動きベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx)、インター予測フラグ(inter_pred_flag)、および動きベクトル残差(mvd)が挙げられる。
イントラ予測情報は、動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータを含む。
イントラ予測パラメータとしては、例えば、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスが挙げられる。
なお、イントラ予測情報では、PCMモードを用いるか否かを示すPCMモードフラグが符号化されていてもよい。PCMモードフラグが符号化されている場合であって、PCMモードフラグがPCMモードを用いることを示しているときには、予測処理(イントラ)、変換処理、および、エントロピー符号化の各処理が省略される。
[TT情報]
TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことをブロックと称することもある。
TT情報TTIは、図3の(d)に示すように、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TU、および、TU情報TUI1〜TUINT(NTは、対象CUに含まれるブロックの総数)を含んでいる。
TT分割情報SP_TUは、具体的には、対象CUに含まれる各TUの形状、サイズ、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TUは、対象となるノードの分割を行うのか否かを示す情報(split_transform_flag)と、その分割の深度を示す情報(trafoDepth)とから実現することができる。
また、例えば、CUのサイズが、64×64の場合、分割により得られる各TUは、32×32画素から4×4画素までのサイズを取り得る。
TU情報TUI1〜TUINTは、TTに含まれる1または複数のTUそれぞれに関する個別の情報である。例えば、TU情報TUIは、量子化予測残差を含んでいる。
各量子化予測残差は、動画像符号化装置2が以下の処理1〜3を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
処理1:符号化対象画像から予測画像を減算した予測残差をDCT変換(Discrete Cosine Transform)する;
処理2:処理1にて得られた変換係数を量子化する;
処理3:処理2にて量子化された変換係数を可変長符号化する;
なお、上述した量子化パラメータqpは、動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
(PU分割タイプ)
PU分割タイプには、対象CUのサイズを2N×2N画素とすると、次の合計8種類のパターンがある。すなわち、2N×2N画素、2N×N画素、N×2N画素、およびN×N画素の4つの対称的分割(symmetric splittings)、並びに、2N×nU画素、2N×nD画素、nL×2N画素、およびnR×2N画素の4つの非対称的分割(asymmetric splittings)である。なお、N=2(mは1以上の任意の整数)を意味している。以下、対称CUを分割して得られる領域のことをパーティションとも称する。
図4の(a)〜(h)に、それぞれの分割タイプについて、CUにおけるPU分割の境界の位置を具体的に図示している。
なお、図4の(a)は、CUの分割を行わない2N×2NのPU分割タイプを示している。
また、図4の(b)、(c)、および(d)は、それぞれ、PU分割タイプが、それぞれ、2N×N、2N×nU、および、2N×nDである場合のパーティションの形状について示している。以下、PU分割タイプが、2N×N、2N×nU、および、2N×nDである場合のパーティションを、まとめて横長パーティションと称する。
また、図4の(e)、(f)、および(g)は、それぞれ、PU分割タイプが、N×2N、nL×2N、および、nR×2Nである場合のパーティションの形状について示している。以下、PU分割タイプが、N×2N、nL×2N、および、nR×2Nである場合のパーティションを、まとめて縦長パーティションと称する。
また、横長パーティションおよび縦長パーティションをまとめて長方形パーティションと称する。
また、図4の(h)は、PU分割タイプが、N×Nである場合のパーティションの形状を示している。図4の(a)および(h)のPU分割タイプのことを、そのパーティションの形状に基づいて、正方形分割とも称する。また、図4の(b)〜(g)のPU分割タイプのことは、非正方形分割とも称する。
また、図4の(a)〜(h)において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。
また、図4の(a)〜(h)において、左上がCUの基準点(原点)であるとする。
[インター予測の場合の分割タイプ]
インターPUでは、上記8種類の分割タイプのうち、N×N(図4の(h))以外の7種類が定義されている。なお、上記4つの非対称的分割は、AMP(Asymmetric Motion Partition)と呼ばれることもある。
なお、上述のNの具体的な値は、当該PUが属するCUのサイズによって規定され、nU、nD、nL、および、nRの具体的な値は、Nの値に応じて定められる。例えば、128×128画素のインターCUは、128×128画素、128×64画素、64×128画素、64×64画素、128×32画素、128×96画素、32×128画素、および、96×128画素のインターPUへ分割することが可能である。
[イントラ予測の場合の分割タイプ]
イントラPUでは、次の2種類の分割パターンが定義されている。すなわち、対象CUを分割しない、すなわち対象CU自身が1つのPUとして取り扱われる分割パターン2N×2Nと、対象CUを、4つのPUへと対称的に分割するパターンN×Nと、である。
したがって、イントラPUでは、図4に示した例でいえば、(a)および(h)の分割パターンを取ることができる。
例えば、128×128画素のイントラCUは、128×128画素、および、64×64画素のイントラPUへ分割することが可能である。
なお、Iスライスの場合、符号化単位情報CUにおいて、PU分割タイプPartModeを特定するためのイントラ分割モード(intra_part_mode)が含まれていてもよい。
(TU分割およびノード内のTUの順序)
次に、図5〜図7を用いて、TU分割およびノード内のTUの順序について説明する。TU分割のパターンは、CUのサイズ、分割の深度(trafoDepth)、および対象PUのPU分割タイプにより定まる。
また、TU分割のパターンには、正方形の4分木分割と、非正方形の4分木分割とが含まれる。TU分割のパターンの具体例は、図5および図6に示すとおりである。
図5は、正方形のノードを正方形または非正方形に4分木分割する分割方式について示している。
図5の(a)は、正方形のノードを正方形に4分木分割する分割方式を示している。また、同図の(b)は、正方形のノードを横長の長方形に4分木分割する分割方式を示している。そして、同図の(c)は、正方形のノードを縦長の長方形に4分木分割する分割方式を示している。
また、図6は、非正方形のノードを正方形または非正方形に4分木分割する分割方式について示している。
図6の(a)は、横長の長方形のノードを横長の長方形に4分木分割する分割方式を示している。また、同図の(b)は、横長の長方形のノードを正方形に4分木分割する分割方式を示している。また、同図の(c)は、縦長の長方形のノードを縦長の長方形に4分木分割する分割方式を示している。そして、同図の(d)は、縦長の長方形のノードを正方形に4分木分割する分割方式を示している。
また、図7に、PU分割タイプ2N×Nの32×32CUのTU分割の例を示している。同図において、“depth”は、分割の深度(trafoDepth)を示している。また、“split”は、当該depthにおけるsplit_transform_flagの値を示している。“split”が“1”であれば、当該depthのノードについてTU分割を行い、“0”であれば、TU分割を行わない。
CUのサイズ、分割の深度(trafoDepth)、および対象PUのPU分割タイプと、TU分割パターンとの対応関係の詳細については後述する。
〔動画像復号装置〕
以下では、本実施形態に係る動画像復号装置1の構成について、図1〜図25を参照して説明する。
(動画像復号装置の概要)
動画像復号装置1は、PU毎に予測画像を生成し、生成された予測画像と、符号化データ#1から復号された予測残差とを加算することによって復号画像#2を生成し、生成された復号画像#2を外部に出力する。
ここで、予測画像の生成は、符号化データ#1を復号することによって得られる符号化パラメータを参照して行われる。符号化パラメータとは、予測画像を生成するために参照されるパラメータのことである。符号化パラメータには、画面間予測において参照される動きベクトルや画面内予測において参照される予測モードなどの予測パラメータに加えて、PUのサイズや形状、ブロックのサイズや形状、および、原画像と予測画像との残差データなどが含まれる。以下では、符号化パラメータに含まれる情報のうち、上記残差データを除く全ての情報の集合を、サイド情報と呼ぶ。
また、以下では、復号の対象となるピクチャ(フレーム)、スライス、ツリーブロック、ブロック、および、PUをそれぞれ、対象ピクチャ、対象スライス、対象ツリーブロック、対象ブロック、および、対象PUと呼ぶことにする。
なお、ツリーブロックのサイズは、例えば64×64画素であり、PUのサイズは、例えば、64×64画素、32×32画素、16×16画素、8×8画素や4×4画素などである。しかしながら、これらのサイズは、単なる例示であり、ツリーブロックおよびPUのサイズは以上に示したサイズ以外のサイズであってもよい。
(PUの動き補償パラメータ)
PUの動き補償パラメータは、予測リスト利用フラグpredFlagL0およびpredFlagL1と、参照インデックス番号refIdxL0およびrefIdxL1と動きベクトルmvL0およびmvL1と、で表現される。予測リスト利用フラグpredFlagL0、predFlagL1は、参照予測リストが用いられるか否かを示す。以下、利用する場合を1、利用しない場合を0で示す。2つの参照予測リストを用いる場合、predFlagL0=1, predFlagL1=1の場合が双予測に対応し、1つの参照予測リストを用いる場合、すなわち(predFlagL0, predFlagL1) = (1, 0)もしくは(predFlagL0, predFlagL1) = (0, 1)の場合が単予測に対応する。なお、双予測であるか否かは、後述のインター予測フラグで表現することもでき、符号化データから、参照ピクチャの数が1(単予測)か2(双予測)かの情報を復号する場合にはこちらが用いられる。
予測リスト利用フラグpredFlagL0が1の場合には、参照インデックス番号refIdxL0によってL0リストの参照ピクチャを指定し、動きベクトルmvL0によって指定された参照ピクチャに対する動きベクトルを指定する。
予測リスト利用フラグpredFlagL1が1の場合には、参照インデックス番号refIdxL1によってL1リストの参照ピクチャを指定し、動きベクトルmvL1によって指定された参照ピクチャに対する動きベクトルを指定する。
なお、LXリストを使用しない場合(Xは0もしくは1もしくはC)、すなわち、予測リスト利用フラグpredFlagLXが0の場合には、基本的には参照インデックス番号refIdxLXの値を-1、動きベクトルmvLXの値を(0, 0)とする。
(マージ動き補償パラメータ導出部1212の詳細)
図17は、マージ動き補償パラメータ導出部1212の構成を示すブロック図である。なお、スキップPUの場合に用いられる場合には、以下のマージ候補をスキップ候補に置き換えて動作させる。
マージ動き補償パラメータ導出部1212は、隣接マージ候補導出部1212A、時間的マージ候補導出部1212B、ユニーク候補導出部1212C、結合双予測マージ候補導出部1212D、非スケール双予測マージ候補導出部1212E、ゼロベクトルマージ候補導出部1212F、マージ候補導出制御部1212G、マージ候補格納部1212H、マージ候補選択部1212Jから構成される。図20では図示しないが、隣接マージ候補導出部1212Aおよび時間的マージ候補導出部1212Bには、フレームメモリ16に格納されている既に復号されたCU及びPUの復号パラメータ、特に、PU単位の動き補償パラメータが供給される。
マージ動き補償パラメータ導出部1212においては、マージ候補導出制御部1212Gが、各手段を制御し、所定の数MRG_MAX_NUM_CANDSのマージ候補を導出しマージ候補格納部1212Hに格納する。ここで、マージ候補は、PUの動き補償パラメータである予測リスト利用フラグpredFlagL0とpredFlagL1、参照インデックス番号refIdxL0とrefIdxL1、動きベクトルmvL0とmvL1から構成される。マージ候補格納部1212Hには、上記動きパラメータの組がマージ候補として格納される。格納するマージ候補は格納順に順序づけられたリスト(マージ候補リスト)として管理される。マージ候補選択部1212Jは、マージインデックスで指定されるマージ候補をマージ候補格納部1212Hに可能されたマージ候補リストから選択し予測情報PUIとして出力する。隣接マージ候補導出部1212Aおよび時間的マージ候補導出部1212Bには、フレームメモリ16に格納されている既に復号されたCU及びPUの復号パラメータ、特に、PU単位の動き補償パラメータが供給される。
結合双予測マージ候補導出部1212D、非スケール双予測マージ候補導出部1212Eは、特に、双予測のマージ候補を導出するので、双予測マージ候補導出手段と呼ぶ。
図18は、マージ動き補償パラメータ導出部1212の動作を示すフロー図である。始めに、隣接マージ候補導出部1212Aにおいて、隣接ブロックの動き補償パラメータを用いてマージ候補A0〜マージ候補B2が求められる。続いて、時間的マージ候補導出部1212Bにおいて、既に復号した参照ピクチャの動き補償パラメータを用いてマージ候補Tが求められる。S103では、導出したマージ候補A0〜マージ候補Tの中で重複するマージ候補が取り除かれ、マージ候補格納部1212Hに格納される。ここで重複しないマージ候補数がMRG_MAX_NUM_CANDS個以上であれば、マージ候補の導出を終了する(S104)。また、マージ候補数がMRG_MAX_NUM_CANDS個以下であればS105に遷移する。そして、BスライスでなければS107、S108の双予測動き候補導出の処理をスキップし、S109に遷移する。Bスライスであれば、結合双予測マージ候補導出部1212Dにおいて、結合双予測マージ候補が導出されマージ候補格納部1212Hに格納される(S107)。そして、非スケール双予測マージ候補導出部1212Eにおいて、非スケール双予測マージ候補が導出されマージ候補格納部1212Hに格納される(S108)。ここでマージ候補数がMRG_MAX_NUM_CANDS個以上であれば、マージ候補の導出を終了する(S109)。また、図示しないが、S107及びS108のステップ中に、マージ候補数がMRG_MAX_NUM_CANDS個に到達した時点で、各処理を停止し、マージ候補の導出を終了する。S110では、ゼロベクトルマージ候補導出部1212Fにおいて、マージ候補数がMRG_MAX_NUM_CANDS個に到達するまでゼロベクトルのマージ候補が導出され、マージ候補格納部1212Hに格納される。上記処理では、小サイズPUにおいて、双予測マージ候補に関わるマージ候補導出処理が省略されるため、マージ候補導出に掛る処理量を低減することができる。双予測マージ候補に関わる双予測マージ候補導出処理(S107)とで行われる双予測マージ候補導出処理(S108)は繰り返し複数の判定を行う必要がある重い処理であるため、復号にかけられる時間(処理量)が限られる小サイズPUで処理を省略できることは、実時間で復号処理を行う必要がある機器おいて特に有効である。
以下、各マージ候補導出手段の詳細を説明する。図19は、隣接マージ候補導出の動作を説明する図である。図19に示すとおり、予測単位PUに隣接する隣接ブロックA0、A1、B0、B1、B2の動き補償パラメータを、コピーすることにより、各マージ候補を導出する。導出する順序は、A1、B1、B0、A0、B2であるとする。導出されたマージ候補はマージ候補格納部に格納する。なお、隣接ブロックが、availableではない場合(unavailable)やイントラブロックの場合には、対応するマージ候補は導出されない。なお、availableではない場合とは、画面外にある場合、スライス外にある場合、ブロックのスキャン順からみて、未復号である場合である。
A0〜B1の位置は、PUの左上座標を(xP,yP)、PUのサイズnPSW、nPSHとして、以下のように表現できる。
A0:(xP - 1,yP + nPSH)
A1:(xP - 1,yP + nPSH - 1)
B0:(xP + nPSH,yP - 1)
B1:(xP + nPSH - 1,yP - 1)
B2:(xP - 1,yP - 1)
なお、A0、A1、B0、B1の位置に対応するマージ候補が全て導出された場合には、B2の位置に対応するマージ候補は導出されない。PUの分割タイプが、2NxNもしくはN×2Nの場合でPUのインデックスが1である場合のマージ候補の導出においては、各マージ候補の動き補償パラメータが、インデックスが0のPUの動き補償パラメータと一致しない場合に限り、対応するマージ候補が導出されマージ候補格納部1212Hに格納される。動き補償パラメータの一致判定は、動き補償パラメータ一致判定部1212Iで行われる。
図20は、時間的マージ候補導出部の動作を説明する図である。図NB(a)を参照すると、時間的マージ候補は、現ピクチャがcurrPicである場合、現ピクチャ内における対象PUの空間的位置とほぼ同じ空間的位置を占める参照インデックス番号refIdxL0で指定される参照ピクチャのPU、もしくは、参照インデックス番号refIdxL1で指定される参照ピクチャのPUの動き補償パラメータをコピーすることにより、導出される。図NB(b)を参照して、参照インデックス番号refIdxL0、参照インデックス番号refIdxL1の導出方法を説明する。参照インデックス番号refIdxLX(ここでXは0もしくは1)は、対象PUの隣接PU、A、B、Cのブロックの参照インデックス番号refIdxLXA、refIdxLXB、refIdxLXCを用いて以下のように求められる。
(1)refIdxLXA = refIdxLXB = refIdxLXCの場合、
refIdxLXA = -1のとき、refIdxLX = 0
それ以外のとき、refIdxLX = refIdxLXA
(2)refIdxLXA = refIdxLXBの場合、
refIdxLXA = -1のとき、refIdxLX = refIdxLXC
それ以外のとき、refIdxLX = refIdxLXA
(3)refIdxLXB = refIdxLXCの場合、
refIdxLXB = -1のとき、refIdxLX = refIdxLXA
それ以外のとき、refIdxLX = refIdxLXB
(4)refIdxLXA = refIdxLXCの場合、
refIdxLXA = -1のとき、refIdxLX = refIdxLXB
それ以外のとき、refIdxLX = refIdxLXA
(5)refIdxLXA = -1の場合、
refIdxLX = min( refIdxLXB, refIdxLXC)
(6)refIdxLXB = -1の場合、
refIdxLX = min( refIdxLXA, refIdxLXC)
(7)refIdxLXC = -1の場合、
refIdxLX = min( refIdxLXA, refIdxLXB)
(8)その他の場合、
refIdxLX = min( refIdxLXA, refIdxLXB, refIdxLXC)
ここで、minは最小値をとる関数である。
なお、ブロックA、Bの座標は、以下の通りである。
A:(xP - 1,yP + nPSH - 1)
B:(xP + nPSW - 1,yP - 1)
ブロックCの座標は、下記C0、C1、C2の何れかである。C0からC2の順に走査し、各位置に対応するPUが、availableであり、イントラ以外である場合に、その位置のPUのrefIdxLXを、refIdxLXCとする。
C0:(xP + nPSW - 1,yP - 1)
C1:(xP - 1,yP + nPSH)
C2:(xP - 1,yP - 1)
上記のようにrefIdxL0、refIdxL1が導出されると、refIdxL0で示される参照ピクチャの位置(xP +nPSW、yP +nPSH)の位置の動き補償パラメータを用いて、L0の動きベクトルを定め、refIdxL1で示される参照ピクチャの位置(xP +nPSW、yP +nPSH)の位置の動き補償パラメータを用いて、L1の動きベクトルを定めることにより、時間的マージ候補を導出する。すなわち、各参照ピクチャリストLX(X=0もしくはX=1もしくはX=C)に対する動きベクトルmvLXCol[0]、mvLXCol[0]を、LXリスト及びrefIdxLXで示される参照ピクチャから算出する。具体的には、refIdxLXで示される参照ピクチャの位置(xP +nPSW、yP +nPSH)のPUがunavailableである、もしくは、イントラである場合には、時間的マージ候補のLXの動きベクトルmvLXCol[0]、mvLXCol[1]を0に定める。それ以外、該PUのPredFlagL0が0である場合には、該PUのL1の動きベクトルmvL1を、時間的マージ候補のLXの動きベクトルmvLXCol[0]、mvLXCol[1]として用いる。それ以外の場合には、該PUのL0の動きベクトルMvL0を、時間的マージ候補のLXの動きベクトルmvLXCol[0]、mvLXCol[1]として用いる。
続いて、現フレームのPOCと参照ピクチャのPOCを用いて、動きベクトルのスケーリングを行う。
ユニーク候補導出部1212Cは、マージ候補リストの各マージ候補が互いにユニークになるように、マージ候補リストを更新する。マージ候補リストに格納されたマージ候補がインデックス0〜インデックスNUMCA53までである場合、図21の擬似コードに示すステップによりユニークなマージ候補リストを得ることができる。なお、マージ候補リストは、マージ候補を格納する配列motion_cand[]を用いて管理する。
S4701:インデックス0からインデックスNUMCA53の有効性フラグを全て有効に初期化する。ここでmotion_valid[]は有効性フラグを格納する配列である。
S4702:ループ変数i(i=1からNUMCA53)に対して、iのマージ候補motion_cand[i]と同じ動き補償パラメータが、iより小さい番号のインデックスj(0<=j<i)のmotion_cand[j]で出現していたら、iの有効性フラグmotion_valid[i]を無効にする。S4703では、インデックスiとjの動き補償パラメータを比較する。ここでequalMotion(A, B)は、入力された動きパラメータAとBが同一性を判定する関数である。動き補償パラメータが一致していたら、iの有効性フラグmotion_valid[i]を無効にする。
S4704:有効性フラグmotion_validがtrueのマージ候補motion_candをマージ候補リストに格納する。このマージ候補リストの再構成は、マージ候補motion_candの配列から構成されるマージ候補リストに番号が小さい順にコピーすることで行う。ここでcopy(A, B)はBをAにコピーする関数である。
S4705:有効性フラグmotion_validを再設定する。
S4706:有効なマージ候補数NumCandを更新する。
なお、ユニーク候補導出部1212Cの詳細は、ユニーク候補導出部1212Cの詳細において後述する。
図22は、結合双予測マージ候補導出部1212Dの動作を説明する図である。結合双予測マージ候補は、マージ候補リストに格納された2つの参照マージ候補を用いて、一方の参照マージ候補からリストL0の動き補償パラメータをコピーし、もう一方の参照マージ候補からリストL1の動き補償パラメータをコピーすることで導出される。
図22(c)は、抽出する2つの参照マージ候補リストを決定するためのテーブルである。導出する結合双予測マージ候補のインデックスをcombCandkで表現する。なお、combCandkは、既にマージ候補リストの最後のインデックスの値に1を加えた値を用いる。kは、0から開始するインデックスであり、結合双予測マージ候補をマージ候補リストに追加する際に1づつインクリメントする。また、combIdxインデックスは、結合双予測マージ候補の導出の際に用いられる一時的なインデックスで0から11までの値を持つ。0から11までのcombIdxインデックスについて、2つのインデックスl0CandIdx及びl1CandIdxで示されるインデックスの参照マージ候補をマージ候補リストから選択する。ここでインデックスlXCandIdx(X=0もしくはX=1もしくはX=C)のインデックスの候補を選択するとは、マージ候補リストに格納されたインデックス0〜NumCand-1までのマージ候補の内、インデックスlXCandIdxで示される候補を抽出することを言う。図22(a)は、結合双予測マージ候補を導出するか否かを判定する判定式を示す。l0CandIdxで選択されたマージ候補のL0の動き補償パラメータpredFlagL0l0Cand、refIdxL0l0Cand、mvL0l0Candと、l1CandIdxで選択されたL1のマージ候補の動き補償パラメータpredFlagL1l1Cand、refIdxL1l1Cand、mvL1l1Candが図22(a)の判定式を全て満たす場合に、結合双予測マージ候補が導出される。図22(b)は、インデックスcombCandkで示される結合双予測マージ候補の導出方法を示す図である。結合双予測マージ候補の動き補償パラメータrefIdxL0combCandk、refIdxL1combCandk、predFlagL0combCandk、predFlagL1combCandk、mvL0combCandk[ 0 ]、mvL0combCandk[ 1 ]、mvL1combCandk[ 0 ]、mvL1combCandk[ 1 ]を上記L0の動き補償パラメータと上記L1の動き補償パラメータをコピーすることにより導出する。導出された結合双予測マージ候補がマージ候補格納部1212Hのマージ候補リストに格納された全てのマージ候補と一致しない場合に、結合双予測マージ候補をマージ候補リストの最後に格納する。一致判定は既に説明した関数equalMotionを用いる。
マージ候補数が、MRG_MAX_NUM_CANDS個に到達していれば、結合双予測マージ候補導出部1212Dの動作を終了する。到達していなければcombIdxを1だけインクリメントし、図22(c)のテーブルを用いて2つの参照マージ候補を抽出し、マージ候補導出を継続する。全てのテーブルについて抽出した時点で、結合双予測マージ候補導出部1212Dの動作を終了する。図22(b)は、インデックスcombCandkで示される結合双予測マージ候補の導出方法を示す図である。
図23は、非スケール双予測マージ候補導出部1212Eの導出を説明する図である。図23(a)は、非スケール双予測マージ候補を導出するか否かを判定する判定式を示す。図22(b)は、インデックスnscaleCandlで示される非スケール双予測マージ候補の導出方法を示す図である。ここで、インデックスnscaleCandlは、既にマージ候補リストの最後のインデックスの値に1を加えた値を用いる。lは、0から開始するインデックスであり、非スケール双予測マージ候補をマージ候補リストに追加する際に1づつインクリメントする。非スケール双予測マージ候補導出部1212Eは、既に導出されマージ候補格納部1212Hに格納されたマージ候補の動きベクトルを利用して、2つの参照ピクチャに対する動きベクトルが互いに反転する関係になるようなマージ候補を導出する。参照するマージ候補のインデックスをorigCandとして、図23(a)の判定式を全て満たす場合に、図23(b)に従い非スケール双予測マージ候補の導出が行われる。非スケール双予測マージ候補についても、関数equalMotionを用いて、導出された結合双予測マージ候補がマージ候補格納部1212Hのマージ候補リストに格納された全てのマージ候補と一致しない場合に、結合双予測マージ候補をマージ候補リストの最後に格納する。マージ候補数が、MRG_MAX_NUM_CANDS個に到達していれば動作を終了し、到達していなければ処理を繰り返す。
図24は、ゼロベクトルマージ候補導出部1212Fの動作を示す図である。マージ候補格納部1212Hのマージ候補数が、MRG_MAX_NUM_CANDS個に到達していれば処理を行わない。到達していなければ、マージ候補数が、MRG_MAX_NUM_CANDS個に到達するまでゼロベクトルを格納する。すなわち、参照するマージ候補のインデックスをmvL0zeroCandmとして、L0の動きベクトル(mvL0zeroCandm[0]、mvL0zeroCandm[1])、L1の動きベクトル(mvL1zeroCandm[0]、mvL1zeroCandm[1])が共に0となるような候補を導出する。ここで、インデックスzeroCandmは、既に導出されたマージ候補リストの最後のインデックスの値に1を加えた値を用いる。lは、0から開始するインデックスであり、ゼロベクトル予測マージ候補をマージ候補リストに追加する際に1づつインクリメントする。
マージ候補導出制御部1212Gは、図18のフローチャートで示した動作を行い、マージ候補を導出する。
マージ候補格納部1212Hは、導出したマージ候補を保存する。
(ユニーク候補導出部1212Cの詳細)
既に説明したように、ユニーク候補判定部1212Cは、マージ候補リストに格納されるマージ候補の動き補償パラメータが互いに一致しないように処理する手段である。マージインデックスおよび予測動きベクトルインデックスによる選択に用いる動き補償パラメータ候補のリストでは、同一の(ユニークでない)動き補償パラメータが存在すると、同じ候補に対して同じ値を用いて符号化する(冗長なパラメータを符号化する)ことになるので符号化効率が落ちる。ユニーク候補判定部1212は、動き補償パラメータが互いに一致しないようにすることによって、高い符号化効率を得るための手段である。なお、ゼロベクトルマージ候補導出部1212Fの供給する候補については、所定の数の候補を備えるためのパディング用の候補であるため、ユニーク判定部1212を用いた一致判定処理は行われない。
また、隣接マージ候補導出部1212Aにおいて、PUの分割タイプが、2N×NもしくはN×2Nの場合で、PUのインデックスが1である場合のマージ候補の導出においては、各マージ候補の動き補償パラメータが、インデックスが0のPUの動き補償パラメータと一致しないように、導出された動き補償パラメータ候補と、既に導出された動き補償パラメータの一致判定も行う。
図30は、ユニーク候補判定部1212Cの動作を説明するフローチャートである。このフローチャートでは、マージ候補リストに格納された一つのマージ候補が不適切であれば、マージ候補リストからその候補を削除する。あるインデックスで指定されたマージ候補を対象として次の動作を行う。PUインデックスが所定の値の場合には、S2002に遷移し、所定の値でなければS2003に遷移する。ここでは、PU分割タイプが2N×NもしくはN×2Nの場合で、PUインデックスが1の場合にS2002に遷移する。S2002では、PUインデックスが1である既に導出されたPUの動き補償パラメータと、対象マージ候補の動き補償パラメータが一致するかを、動き補償パラメータ一致判定部1212Iで判定する。一致する場合にはS2004に遷移し、一致しない場合には処理を終了する。S2003では、マージ候補リストに格納されたマージ候補の中に、対象マージ候補が一致するものがあるがを判定する。一致するものがあればS2004に遷移する。具体的には、対象マージ候補よりも番号の小さいインデックスのマージ候補と、対象マージ候補を動き補償パラメータ一致判定部1212Iで順に判定する。2004では、対象マージ候補をマージ候補リストから削除する。
図31は、ユニーク候補判定部1212Cの別の動作を説明するフローチャートである。このフローチャートでは、マージ候補リストに格納する前に、あるマージ候補が適切であるか否かを判定し、適切であればマージ候補リストに追加し、適切でなければマージ候補リストに追加しない。基本的なステップは図30と同じであるので、同じ番号のステップの説明は省略する。S2002では、既に導出された動き補償パラメータと、対象マージ候補の動き補償パラメータが一致するかを判定し、一致すればS2004´に、一致しなければS2003に遷移する。S2003では、マージ候補リストの中に、対象マージ候補の動き補償パラメータが一致するかものがあるか否かを判定し、一致すればS2004´に、一致しなければS2005に遷移する。S2004´では、対象マージ候補をマージ候補リストに追加せずに終了する。S2005では、対象マージ候補をマージ候補リストに追加する。
(ユニーク判定の複雑性)
図32は、動き補償パラメータの一致判定対象を説明する図である。図32(a)の点線で示すように、インデックス0のマージ候補であるマージ候補0を、マージ候補リストに格納する際には、PUインデックスが所定の値であれば、同一CU内PUの動き補償パラメータと一致判定を行う必要がある。図32(b)は、インデックス1のマージ候補であれば、同一CU内のPUの動き補償パラメータとの一致判定の他に、マージ候補1との一致判定が必要であることを示している。図32(c)〜図32(e)は、順にインデックス2〜4の場合のマージ候補2からマージ候補4をマージ候補リストに格納する際に必要となる一致判定を示す。このようにインデックス番号が大きくなるほど多くの一致判定が必要となる。
図33は、ユニーク候補判定部1212Cで一致判定が繰り返し行われる例を説明する図である。図ではインデックス4のマージ候補をマージ候補リストに追加する場合を示している。インデックス4のマージ候補をマージ候補リストに追加する場合には、マージ候補0からマージ候補3までと一致判定を行う。一致する場合(ユニークでない場合)には、マージ候補リストに追加されずに、次のマージ候補4を導出する。さらに導出されたマージ候補4がユニークでない場合には、マージ候補リストに追加されずに、さらにマージ候補リストを導出する。最終的に、導出されたマージ候補4が、一致判定において一致しない場合に初めてマージ候補リストに格納される。このように、一致が生じる場合には、一致判定の数が多くなる可能性があり、一致判定に必要な処理量が大きい。
ユニーク候補判定部1212Cの処理量低減は、一致判定を行う動き補償パラメータ一致判定部1212Iの処理量低減によって実現できる。
(動き補償パラメータ一致判定部1212I)
ブロックA、ブロックBの動き補償パラメータの一致判定を行う関数equalMotion(A、B)の動作は、以下のように規定できる。
equalMotion(A, B) = (predFlagL0A == predFlagL0B) && (predFlagL1A == predFlagL1B) && mvL0A[0] == mvL0B[0] && mvL0A[1] == mvL0B[1] && mvL1A[0] == mvL1B[0] && mvL1A[1] == mvL1B[1])
ここで、predFlagL0A、predFlagL1Aは、各々ブロックAにおいてL0、L1の参照ピクチャが用いられる場合に1、それ以外は0である。また、mvL0[0]、mvL0[1]は、L0の水平動きベクトル、垂直動きベクトル、mvL1[0]、mvL1[1]は、L1の水平動きベクトル、垂直動きベクトルである。なお、ブロックBの場合には、上記AをBに置き換える。
図41は、動き補償パラメータ一致判定部1212Iの第1の動作を説明する図である。第1の動作は、従来技術の一致判定動作であり、これ自体では処理量の低減は行われない。
まず、インター予測フラグが一致するかを判定する(S3001)、不一致である場合にはS3011に遷移する。S3011では、不一致と判定して終了する。次に、L0の予測リスト利用フラグpredFlagL0が1であるか否かを判定する(S3002)。1であればS3003に遷移し、0であればS3003からS3005の判定をスキップしてS3006に遷移する。次に、S3003〜S3005では以下の判定を行い、一致であれば次の判定に遷移し、不一致である場合にはS3011に遷移する。
まず、L0の参照インデックス番号refIdxL0が一致するか否かを判定する(S3003)。そして、L0のX方向動きベクトルMVL0[0]が一致するか否かを判定する(S3004)。また、L0のY方向動きベクトルMVL0[1]が一致するか否かを判定する(S3005)。次に、L1の予測リスト利用フラグpredFlagL1が1であるか否かを判定する(S3006)。1であればS3007に遷移し、0であればS3007からS3009の判定をスキップしてS3010に遷移する。S3007〜S3009では以下の判定を行い、一致であれば次の判定に遷移し、不一致である場合にはS3011に遷移する。
S3007では、L1の参照インデックス番号refIdxL1が一致するか否かを判定する(S3007)。次に、L1のX方向動きベクトルMVL1[0]が一致するか否かを判定する(S3008)。そして、L1のY方向動きベクトルMVL1[1]が一致するか否かを判定する(S3009)。S3010では一致と判定して終了する。
上記の処理では、動き補償パラメータを構成する全ての有効なパラメータが一致したときに限り、一致判定となる。少なくとも1つのパラメータで不一致が生じる場合には、不一致の判定となる。
(結合動き補償パラメータ値)
本発明では、結合動き補償パラメータ値と呼ぶ値を導入する。結合動き補償パラメータ値とは、動き補償パラメータの2つ以上の要素から算出される値であり、複数のパラメータを1つの値に代表させる。なお、結合動き補償パラメータ値は、動きハッシュ値、動きパリティ、動き値、などと表現しても良い。結合動き補償パラメータ値は、結合動き補償パラメータ値算出部1214により算出される。なお、結合動き補償パラメータ値算出部1214は、動き補償パラメータ導出部121が備える。
2つの動き補償パラメータから算出される結合動き補償パラメータ値が同一であっても、動き補償パラメータが全て同一であることは保証されない(一致判定の間違いがありえる)。図29(a)で後述する、結合動き補償パラメータ値を用いたユニーク候補判定部1212Cの動作では、同じ動き補償パラメータの候補がリストに追加される可能性がある。この冗長な候補を有するリストが生成される可能性は、図29(b)で後述する一部の動き補償パラメータを用いる一致判定、や図29(c)で後述する一致判定を行うマージ候補を限定する場合でも同じである。しかしながら、ユニーク候補判定部1212Cの目的は、マージインデックスおよび予測動きベクトルインデックスによる選択に用いる動き補償パラメータ候補のリストでは、同一の(ユニークでない)動き補償パラメータが存在すると符号化効率が低下する、という問題に対処するものであり、動き補償パラメータが同一の候補がリストに追加された場合も復号処理には問題はない。また、少しの一致判定の間違いがあっても符号化効率は殆ど低下することはない。従って、本発明は、若干の判定間違いを許容することによって、一致判定の処理量を低減することに特徴がある。
図35は、結合動き補償パラメータ値算出部1214のデータフローを示す図である。図35(a)に示すように、予測リスト利用フラグpredFlagL0とpredFlagL1と、参照インデックス番号refIdxL0とrefIdxL1と動きベクトルmvL0とmvL1から、結合動き補償パラメータ値motionHashが導出される。なお、図35(a)では、全ての動き補償パラメータを用いているが、2つ以上のパラメータを用いればよい。例えば、図35(b)は動き補償パラメータの要素の一部である動きベクトルのみから結合動き補償パラメータ値を算出する例であり、参照リストL0とL1の動きベクトルであるmvL0とmvL1から結合動き補償パラメータ値motionHashを算出する。図35(c)は動き補償パラメータの要素の一部である一方の参照リスト(ここではL0)の動き補償パラメータから結合動き補償パラメータ値を算出する例であり、予測リスト利用フラグpredFlagL0、参照インデックス番号refIdxL0、動きベクトルmvL0から結合動き補償パラメータ値motionHashを算出する。
図36は、結合動き補償パラメータ算出部1214における結合動き補償パラメータ値の算出方法を説明する図である。ここで図中「^」は、ビット単位のXORを示す。動きベクトルは負の値も取るが、2の補数表現で表現されているものとする。
図36(a)の例では、参照インデックス番号refIdxLXにaを加えてbビットシフトした値に、X方向動きベクトルのc倍とY方向動きベクトルのd倍のXORの値を加え、さらに0xffとのAND演算により8ビットに制限した一時値を、リストL0、リストL1の各々に対して算出する。リストL1の値をeビット左シフトした一時値とリストL0の一時値を加算することで16ビットから構成される結合動き補償パラメータ値を算出する。図には、a=1、b=5、c=3、d=1、e=8として算出する例を示しているが、四則演算及びビット演算に用いる所定の値はこれに限定されない。このように、予測パラメータに加減算、乗算などの四則演算およびシフト、AND、OR、XOR、NOTなどのビット演算で生成される値を生成し、その値もしくは値の組み合わせに対して四則演算およびビット演算を繰り返して、結合動き補償パラメータ値を生成する。図36(a)の例では、X方向動きベクトルとY方向動きベクトルの値はビット位置として重ねることによって、少ないビットを有効利用している。
図36(b)の例では、予測リスト利用フラグpredFlagL0とpredFlagL1が共に0以外、すなわち、使用されることを示す値の場合には、L0とL1の動き補償パラメータの両者から結合動き補償パラメータ値を算出し、予測リスト利用フラグpredFlagLXの一方が使用される場合には、対応する動き補償パラメータから結合動き補償パラメータ値を算出する。予め使用しない結合動き補償パラメータ値に適切な初期値を代入する場合には、図36(a)の算出で良いが、そうではない場合には図36(b)に示すように、使用する参照リストの動き補償パラメータから算出する方が好ましい。
図36(c)は、リストL1の値を16ビット左シフトした値とリストL0の値を加算することで32ビットから構成される結合動き補償パラメータ値を算出する例を示す。この例のように動き補償パラメータは16ビットに限らず32ビットでも構わない。
図36(a)の例では、図40を用いて後述するように、マスクを用いて一部のビット位置を取り出すことによって、特定の参照リストの動き補償パラメータだけ、動きベクトルの情報だけ、参照リストの情報(参照インデックス番号)だけを取り出すことができるが、それに限らない。
図36(d)は、より簡易的な結合動き補償パラメータの例を示す。
図36(e)は、動きベクトルの負の値として2の補数表現を使用しないで計算できる例を示す。abs()は絶対値をとる関数、sign()は非負の場合に1、負の場合に0となる関数である(もしくは0より大きい場合に1、0以下で0の関数)。このように動きベクトルの要素を絶対値と符号に分離して、四則演算およびビット演算で計算することにより、2の補数表現を用いないハードウェア環境やソフトウェア環境においても結合動きベクトルパラメータ値を算出することができる。
(結合動き補償パラメータ値による一致判定)
図29は、本発明の一致判定の簡略化を行う構成を説明する図である。一致判定を行う構成には複数あり、本実施形態では、大きく分けて、図29は(a)から(c)までの3つの構成であり、動き補償パラメータ一致判定部1212Iの構成、もしくは、ユニーク候補判定部1212Cの構成をとる。まず、図29(a)に示す構成を最初に説明する。図29(a)は、動き補償パラメータ一致判定部1212Iの第2の構成を示す図である。動き補償パラメータ一致判定部1212Iは、結合動き補償パラメータ値算出部1214で算出される結合動き補償パラメータ値を用いて一致比較を行う。動き補償パラメータ一致判定部1212Iは、2つの動き補償パラメータAとBの一致判定を行う際に、各動き補償パラメータを結合動き補償パラメータ値算出部1214に伝送する。結合動き補償パラメータ値算出部1214は、結合動き補償パラメータ値MotionHashA、MotionHashBを伝送する。以下、フローチャートを用いて、動き補償パラメータ一致判定部1212Iの第2の構成の動作を説明する。
図37(a)は、動き補償パラメータ一致判定部1212Iの第2の動作の動作を説明する図である。S3101では、結合動き補償パラメータ値の比較を行い、一致する場合にはS3010に遷移し、不一致の場合にはS3011に遷移する。
動き補償パラメータAの結合動き補償パラメータ値の値をMotionHashA、動き補償パラメータBの結合動き補償パラメータ値の値をMotionHashBとすると、2つの一致比較はif (MotionHashA == MotionHashB)の判定で表現できる。
図37(b)は、動き補償パラメータ一致判定部1212Iの第2の動作の別の例を説明する図である。S3201では、2つの結合動き補償パラメータ値のビット毎のXOR値を算出する。XORは各ビットに対して2つのビットが一致していれば0、不一致であれば1となる。そのため、全てのビットで一致しているときに限り値が0になる。S3202では、XOR値が0であるか否かを判定する。0であればS3010に遷移し、0でなければS3011に遷移する。
図38は、動き補償パラメータ一致判定部1212Iの第2の動作の別の例を説明する図である。インター予測フラグが一致するかを判定する(S3301)、不一致である場合にはS3011に遷移する。S3011では、不一致と判定して終了する。
L0の予測リスト利用フラグpredFlagL0が1であるか否かを判定する(S3302)。1であればS3303に遷移し、0であればS3003の判定をスキップしてS3004に遷移する。S3303では、L0の結合動き補償パラメータ値を比較する。一致すればS3304に遷移し、不一致であればS3011に遷移する。L1の予測リスト利用フラグpredFlagL1が1であるか否かを判定する(S3304)。1であればS3305に遷移し、0であればS3005の判定をスキップしてS3010に遷移する。S3305では、L1の結合動き補償パラメータ値を比較する。一致すればS3010に遷移し、不一致であればS3011に遷移する。
図40は、結合動き補償パラメータ値の一構成例と、マスクを説明する図である。図40(a)は、結合動き補償パラメータ値の一構成例である。結合動き補償パラメータ値は16ビットであり、13〜15ビットがL1の参照インデックス番号情報、8〜12ビットがL1の動きベクトル情報、5〜7ビットがL0の参照インデックス番号情報、0〜4ビットがL0の動きベクトル情報から構成される。図40(b)(c)(d)(e)(f)は各々L0マスク、L1マスク、BIマスク、REFマスク、MVマクスであり、各々対応する情報のビットが1、それ以外のビットは0となるマスク(ビットパターン)である。例えば、L0マスクは、0〜7ビットが1、それ以外の8〜15ビットが0となるビットパターンである。このマスクと、結合動き補償パラメータ値とのビット単位のAND演算を行うことにより、対応する情報が得られる。結合動き補償パラメータ値を、ビットの位置に応じて対応する情報が異なるように構成すれば、対応するビットに対して1となるマスクとのAND演算で所定の情報のみを取り出すことができる。
図39は、動き補償パラメータ一致判定部1212Iの第2の動作の別の例を説明する図である。この例は、図38で説明した動作と同一の結果が得られるが、処理量を削減可能な処理である。S3401では、比較対象の動き補償パラメータA、動き補償パラメータBの各々のpredFlagL0、predFlagL1を用いて、結合動き補償パラメータ値をマスクする。マスクは以下の式で計算する。
マスク=~((1−predFlagL0)×L0マスク+(1−predFlagL1)×L1マスク)
なお、「〜」はビット反転を表す演算である。上記のマスクで各々の結合動き補償パラメータ値とのAND演算を行う。上記マスクは、(1−predFlagLX)×LXマスクは、predFlagLXが0の場合にLXに対応するビットが1になり、predFlagLXが1の場合にLXに対応するビットが0になる。このビットを反転したマスクとのAND演算を行うことで、predFlagLXが1の場合のみ対応するLXのビットが得られる。また、S3402では、ビットマスク値の結合動き補償パラメータ値を比較する。一致する場合には、S3010に遷移し、一致しない場合にはS3011に遷移する。
(動き補償パラメータの一部の判定を省略した一致判定)
図29(b)は、動き補償パラメータ一致判定部1212Iの第3の構成を示す図である。動き補償パラメータ一致判定部1212Iは内部に判定利用パラメータ制限部1212Oを備える。動き補償パラメータ一致判定部1212Iは、2つの動き補償パラメータAとBの一致判定を行う際に、動き補償パラメータを構成する全ての動き補償パラメータではなく、一部の動き補償パラメータを用いて一致判定を行う。判定利用パラメータ制限部1212Oは、動き補償パラメータを構成するどのパラメータを判定に用いるか否かを選択する。動き補償パラメータ一致判定部1212Iは、判定利用パラメータ制限部1212Oが選択したパラメータのみの比較を行う。以下、フローチャートを用いて、動き補償パラメータ一致判定部1212Iの第3の構成の動作を説明する。個々の動き補償パラメータに対し、判定利用パラメータ制限部1212Oで選択されたパラメータか否かを判定すると処理量が逆に増加するため、実際の処理では、パラメータの選択は予め行われることとし、一部のパラメータのみを比較する処理になる。
図42は、動き補償パラメータ一致判定部1212Iの第3の動作の例を説明する図である。図41とは異なり、参照インデックス番号の比較を行わずに一致判定を行う点が特徴である。まず、インター予測フラグが一致するかを判定する(S4001)、不一致である場合にはS3011に遷移する。S3011では、不一致と判定して終了する。
L0の予測リスト利用フラグpredFlagL0が1であるか否かを判定する(S4002)。1であればS4004に遷移し、0であればS4004からS4005の判定をスキップしてS4006に遷移する。次に、S4003〜S4005では以下の判定を行い、一致であれば次の判定に遷移し、不一致である場合にはS3011に遷移する。L0のX方向動きベクトルMVL0[0]が一致するか否かを判定する(S4004)。そして、L0のY方向動きベクトルMVL0[1]が一致するか否かを判定する(S4005)。さらに、L1の予測リスト利用フラグpredFlagL1が1であるか否かを判定する(S4006)。1であればS4008に遷移し、0であればS4008からS4009の判定をスキップしてS4010に遷移する。S4007〜S4009では以下の判定を行い、一致であれば次の判定に遷移し、不一致である場合にはS3011に遷移する。L1のX方向動きベクトルMVL1[0]が一致するか否かを判定する(S4008)。L1のY方向動きベクトルMVL1[1]が一致するか否かを判定する(S4009)。S3010では一致と判定して終了する。
図43は、動き補償パラメータ一致判定部1212Iの第3の動作の例を説明する図である。図41とは異なり、L0もしくはL1の参照リストの一方のパラメータに関する比較を行わずに一致判定を行う点が特徴である。図中および以下の説明で、L0の一致判定を行う場合にはLXをL0に、L1の一致判定を行う場合にはLXをL1に置き換える。
次に、インター予測フラグが一致するかを判定する(S4101)、不一致である場合にはS3011に遷移する。S3011では、不一致と判定して終了する。次に、LXの予測リスト利用フラグpredFlagL0が1であるか否かを判定する(S4102)。1であればS4103に遷移し、0であればS4103からS4105の判定をスキップしてS3010に遷移する。そして、S4103〜S4105では以下の判定を行い、一致であれば次の判定に遷移し、不一致である場合にはS3011に遷移する。S4103では、LXの参照インデックス番号refIdxL0が一致するか否かを判定する。S4104では、LXのX方向動きベクトルMVL0[0]が一致するか否かを判定する。S4105では、LXのY方向動きベクトルMVL0[1]が一致するか否かを判定する。S3010では一致と判定して終了する。
図44は、動き補償パラメータ一致判定部1212Iの第3の動作の例を説明する図である。図45に示す処理も、一方の参照リストのパラメータに関するパラメータの比較を省略する。但し図43の処理とは異なり、全ての処理を省略することはなく、一部の処理のみを省略する。インター予測フラグが一致するかを判定する(S4201)、不一致である場合にはS3011に遷移する。S3011では、不一致と判定して終了する。次に、L0の予測リスト利用フラグpredFlagL0が1であるか否かを判定する(S4202)。1であればS4203に遷移し、0であればS4203からS4205の判定をスキップしてS4206に遷移する。S4203〜S4205では以下の判定を行い、一致であれば次の判定に遷移し、不一致である場合にはS3011に遷移する。S4203では、L0の参照インデックス番号refIdxL0が一致するか否かを判定する。S4204では、L0のX方向動きベクトルMVL0[0]が一致するか否かを判定する。S4205では、L0のY方向動きベクトルMVL0[1]が一致するか否かを判定する。そして、L1の予測リスト利用フラグpredFlagL1が1であるか否かを判定する(S4206)。1であればS4207に遷移し、0であればS4207からS4209の判定をスキップしてS3010に遷移する。S4207では以下の判定を行い、一致であれば次の判定に遷移し、不一致である場合にはS3011に遷移する。L1の参照インデックス番号refIdxL1が一致するか否かを判定する(S4207)。S3010では一致と判定して終了する。
図45は、動き補償パラメータ一致判定部1212Iの第3の動作の別の例を説明する図である。図41とは異なり、動きベクトルの比較を行わずに一致判定を行う点が特徴である。まず、インター予測フラグが一致するかを判定する(S4301)、不一致である場合にはS3011に遷移する。S3011では、不一致と判定して終了する。以下の判定でも不一致があれば、S3011に遷移する。L0の予測リスト利用フラグpredFlagL0が1であるか否かを判定する(S4302)。1であればS4303に遷移し、0であればS4306に遷移する。L0の参照インデックス番号refIdxL0が一致するか否かを判定する(S4303)、L1の予測リスト利用フラグpredFlagL1が1であるか否かを判定する(S4306)。1であればS4307に遷移し、0であればS3010に遷移する。L1の参照インデックス番号refIdxL1が一致するか否かを判定する(S4307)。S3010では一致と判定して終了する。
図46は、動き補償パラメータ一致判定部1212Iの第3の動作の別の例を説明する図である。ここでは、L0の予測リストに対しては、X方向動きベクトルだけで一致判定を行い、L1の予測リストに対してはY方向の動きベクトルだけで一致判定を行う。
まず、インター予測フラグが一致するかを判定する(S4401)、不一致である場合にはS3011に遷移する。S3011では、不一致と判定して終了する。L0の予測リスト利用フラグpredFlagL0が1であるか否かを判定する(S4402)。1であればS4403に遷移し、0であればS4403からS4404の判定をスキップしてS4406に遷移する。S4403とS4404では以下の判定を行い、一致であれば次の判定に遷移し、不一致である場合にはS3011に遷移する。S4403では、L0の参照インデックス番号refIdxL0が一致するか否かを判定する。次に、S4404では、L0のX方向動きベクトルMVL0[0]が一致するか否かを判定する。そして、L1の予測リスト利用フラグpredFlagL1が1であるか否かを判定する(S4406)。1であればS4407に遷移し、0であればS4407からS4409の判定をスキップしてS3010に遷移する。S4407とS4409では以下の判定を行い、一致であれば次の判定に遷移し、不一致である場合にはS3011に遷移する。L1の参照インデックス番号refIdxL1が一致するか否かを判定する(S4407)。L1のY方向動きベクトルMVL1[1]が一致するか否かを判定する(S4409)。S3010では一致と判定して終了する。
以上の構成および処理では、動き補償パラメータを構成する全ての動き補償パラメータではなく、一部の動き補償パラメータを用いて一致判定を行うため、ユニーク候補判定部1212Cにおける一致判定の処理量が削減されるという効果を奏する。
(ユニーク判定対象とするマージ候補の制限)
図29(c)は、ユニーク候補判定部1212Cの第2の構成を示す図である。ユニーク候補判定部1212Cは内部にユニーク判定候補制限部1212Pを備える。ユニーク候補判定部1212Cは、動き補償パラメータ一致判定部1212Iを用いて、マージ候補と、既に導出された動き補償パラメータの一致判定を行う。第2の構成のユニーク候補判定部1212Cは、全てのマージ候補ではなく、ユニーク判定の対象とするマージ候補を制限する。ユニーク判定候補制限部1212Pは、ユニーク判定の対象となるマージ候補を選択する。ユニーク候補判定部1212Cは選択されたマージ候補のみに対して、一致判定を行う。以下、フローチャートを用いて、ユニーク候補判定部1212Cの第2の構成の動作を説明する。
図47は、ユニーク候補判定部1212Cの第2の構成の動作を説明するフローチャートである。図47(a)は、一つの動作を示すフローチャートである。S5001では、マージ候補格納部1212Hのマージ候補リストに格納されたマージ候補において、ユニークな候補が所定の数N以上格納されていない場合には、S5002に遷移し、マージ候補の追加、もしくは、マージ候補の妥当性判定において、ユニークチャックを行う。ここでユニークチェックとは、マージ候補リストから、対象マージ候補よりも番号の小さいインデックスのマージ候補において、対象マージ候補と一致するマージ候補があるか否かのチェックである。また、同一CUのPUの動き補償パラメータと対象マージ候補が一致するか否かのチェックを含めても良い。また、マージ候補 導出制御部1212Gの処理が、ユニーク候補判定部1212Cを用いて、図31の処理のように、マージ候補リストに常にユニークな候補を格納する場合においては、S5001の判定は、インデックスN未満のマージ候補をマージ候補リストに格納する場合にS5002に遷移し、インデックスN以上のマージ候補をマージ候補リストに格納する場合にS5003に遷移するという判定で置き換えることができる。S5001において、ユニークな候補がN個以上、格納されている場合には、ユニークな候補がN個以上格納されている場合にはS5003に遷移する。S5003ではユニークチェックを行わない。なお、Nは5未満の整数とする。ユニークチェックを行う場合を制限することによって、一致判定の処理量を削減することができる。なお、ユニークであるマージ候補の数が一定数あれば、マージ候補リストにユニークであるものが存在するような、冗長性が存在する場合においても、符号化効率の低下は小さく抑えれる。
図47(b)は、ユニーク候補判定部1212Cの第2の構成の別の動作を示すフローチャートである。S5101では、対象マージ候補が隣接マージ候補である場合には、S5102に遷移しユニークチェックを行う。それ以外の場合には、S5103に遷移しユニークチェックを省略する。なお、隣接マージ候補の選択肢が複数ある場合には、隣接マージ候補のうちのK個目の選択肢までを、ユニークチェックを行う選択肢であると判定しても良い。また、空間的マージ候補と時間的マージ候補のみについて一致判定を行い、それ以外の双予測マージ候補およびゼロベクトルマージ候補では一致判定を行わない構成も良い。この場合は、S5101のチェックを、隣接マージ候補から、空間的マージ候補と時間的マージ候補に置き換える。
図47(c)は、ユニーク候補判定部1212Cの第2の構成の別の動作を示すフローチャートである。S5101では、対象マージ候補が双予測マージ候補である場合には、S5102に遷移しユニークチェックを行う。それ以外の場合には、S5103に遷移しユニークチェックを省略する。双予測マージ候補とは、本発明の説明では、結合双予測マージ候補導出部1212Dもしくは非スケール双予測マージ候補導出部1212Eで導出されるマージ候補であるが、双予測のマージ候補を導出する他の導出手段であっても適用できる。
以上の構成によれば、ユニークチェックを行う対象となるマージ候補を制限することによって、一致判定の処理量を削減することができる。
(基本動き補償パラメータ導出部1213)
図25は、基本動き補償パラメータ導出部1213の構成を示すブロック図である。基本動き補償パラメータ導出部1313は、隣接動きベクトル候補導出部1213A、時間的動きベクトル候補導出部1213B、ゼロベクトルマージ候補導出部1213F、動きベクトル候補導出制御部1213G、動きベクトル候補格納部1213H、動き補償パラメータ一致判定部1213I、動きベクトル候補選択部1213J、動きベクトル復元部1213Kから構成される。
基本動き補償パラメータ導出部1213においては、動きベクトル候補導出制御部1213Gが、各手段を制御し、所定の数PMV_MAX_NUM_CANDSの予測動きベクトル候補を導出し動きベクトル候補格納部1212Hに格納する。ここで、予測動きベクトル候補は、動きベクトルmvL0とmvL1から構成される。動きベクトル候補格納部1212Hには、上記動きパラメータの組が予測動きベクトル候補として格納される。格納する予測動きベクトル候補は格納順に順序づけられたリスト(予測動きベクトル候補リスト)として管理される。
隣接動きベクトル候補導出部1213Aは、隣接マージ候補導出部1212Aと同様に、隣接ブロックの動き補償パラメータを、コピーすることにより、各予測動きベクトル候補を導出する。
時間的動きベクトル候補導出部1213Bは、時間的マージ候補導出部1212Bと同様に、既に復号済みのピクチャの動き補償パラメータを、コピーすることにより、時間的予測動きベクトル候補を導出する。
ゼロベクトル候補導出部1213Fは、X方向ベクトル、Y方向ベクトルが共に0であるゼロベクトルを予測動きベクトル候補として導出する。
動きベクトル候補導出制御部1213Gは、所定の数PMV_MAX_NUM_CANDSの予測動きベクトル候補が導出された時点で導出を終了する。また、内部のユニーク候補判定部1213Cを用いて、隣接動きベクトル候補導出部1213Aおよび時間的動きベクトル候補導出部1213Bから導出される予測動きベクトルが互いに一致しない(ユニークになる)ように、動きベクトル候補格納部1213Hに格納する。ユニーク候補判定部1213Cは、動き補償パラメータ一致判定部1213Kに2つの動きベクトルAと動きベクトルBを入力し、動きベクトルAと動きベクトルBが一致しているか否かを判定させる。動き補償パラメータ一致判定部1213Kは入力された2つの動きベクトルが互いに一致しているが否かを判定する。
ユニーク候補判定部1213Cは、ユニーク候補判定部1212Cと同様、ユニーク判定の対象とする動きベクトル候補を制限することが可能である。例えば、隣接動きベクトル候補導出部1213Aのみ、もしくは、ユニーク候補判定部1213Cのみで計算することが可能である。また、動き補償パラメータ一致判定部1213Kは、動き補償パラメータ一致判定部1212Kと同様、動き補償パラメータ(ここでは動きベクトル)の値を用いて算出される結合動き補償パラメータ値を用いて一致判定を行うことができる。例えば、X方向動きベクトルのc倍とY方向動きベクトルのd倍のXORの値などを用いることができる。ここで例えばc=3、d=1を用いることができるが、他の値を用いることも可能である。
以上のように、ユニーク判定の対象とする動きベクトル候補を制限するようなユニーク候補判定部1212C、あるいは、結合動き補償パラメータ値を用いて判定を行う動き補償パラメータ一致判定部1212Kを用いることにより、動きベクトル候補リストとしてユニークな候補を格納するために必要な一致判定の処理量を低減することができる。
(動画像復号装置の構成)
再び、図2を参照して、動画像復号装置1の概略的構成について説明すると次のとおりである。図2は、動画像復号装置1の概略的構成について示した機能ブロック図である。
図2に示すように動画像復号装置1は、復号モジュール10、CU情報復号部11、PU情報復号部12、TU情報復号部13、予測画像生成部14、逆量子化・逆変換部15、フレームメモリ16および加算器17を備えている。
[復号モジュール]
復号モジュール10は、バイナリからシンタックス値を復号する復号処理を行う。復号モジュール10は、より具体的には、供給元から供給される符号化データおよびシンタックス種別に基づいて、CABACおよびCAVLC等のエントロピー符号化方式により符号化されているシンタックス値を復号し、復号したシンタックス値を供給元に返す。
以下に示す例では、符号化データおよびシンタックス種別の供給元は、CU情報復号部11、PU情報復号部12、およびTU情報復号部13である。
復号モジュール10における復号処理の例として、CU情報復号部11から、復号モジュール10に対して、符号化データのバイナリ(ビット列)と、シンタックス種別“split_coding_unit_flag”とが供給された場合について説明すると次のとおりである。すなわち、この場合、復号モジュール10は、“split_coding_unit_flag”に関する、ビット列と、シンタックス値との対応付けを参照して、バイナリからシンタックス値を導出して、導出したシンタックス値をCU情報復号部11に返す。
[CU情報復号部]
CU情報復号部11は、復号モジュール10を用いて、動画像符号化装置2から入力された1フレーム分の符号化データ#1について、ツリーブロックおよびCUレベルでの復号処理を行う。CU情報復号部11は、具体的には、以下の手順により符号化データ#1を復号する。
まず、CU情報復号部11は、符号化データ#1に含まれる各種ヘッダを参照して、符号化データ#1を、スライス、ツリーブロックに順次分離する。
ここで、各種ヘッダには、(1)対象ピクチャのスライスへの分割方法についての情報、および(2)対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報が含まれる。
そして、CU情報復号部11は、ツリーブロックヘッダTBLKHに含まれるツリーブロック分割情報SP_TBLKを参照して、対象ツリーブロックを、CUに分割する。
次に、CU情報復号部11は、分割により得られたCUに対応する符号化単位情報(以下、CU情報と称する)を取得する。CU情報復号部11は、ツリーブロックに含まれる各CUを順に対象CUとして、対象CUに対応するCU情報の復号処理を実行する。
すなわち、CU情報復号部11は、対象CUについて得られる変換ツリーに関するTT情報TTI、および、対象CUについて得られる予測ツリーに関するPT情報PTIを逆多重化する。
なお、TT情報TTIには、上述のとおり、変換ツリーに含まれるTUに対応するTU情報TUIが含まれる。また、PT情報PTIには、上述のとおり、対象予測ツリーに含まれるPUに対応するPU情報PUIが含まれる。
CU情報復号部11は、対象CUについて得られたPT情報PTIをPU情報復号部12に供給する。また、CU情報復号部11は、対象CUについて得られたTT情報TTIをTU情報復号部13に供給する。
[PU情報復号部]
PU情報復号部12は、復号モジュール10を用いて、CU情報復号部11から供給されるPT情報PTIについて、PUレベルでの復号処理を行う。PU情報復号部12は、具体的には、以下の手順によりPT情報PTIを復号する。
PU情報復号部12は、PU分割タイプ情報Part_typeを参照して、対象予測ツリーにおけるPU分割タイプを決定する。続いて、PU情報復号部12は、対象予測ツリーに含まれる各PUを順に対象PUとして、対象PUに対応するPU情報の復号処理を実行する。
すなわち、PU情報復号部12は、対象PUに対応するPU情報から、予測画像の生成に用いられる各パラメータの復号処理を行う。
PU情報復号部12は、対象PUについて復号したPU情報を、予測画像生成部14に供給する。
[TU情報復号部]
TU情報復号部13は、復号モジュール10を用いて、CU情報復号部11から供給されるTT情報TTIについて、TUレベルでの復号処理を行う。TU情報復号部13は、具体的には、以下の手順によりTT情報TTIを復号する。
TU情報復号部13は、TT分割情報SP_TUを参照して、対象変換ツリーをノードまたはTUに分割する。なお、TU情報復号部13は、対象ノードについて、さらに分割を行うことが指定されていれば、再帰的にTUの分割処理を行う。
分割処理が終了すると、TU情報復号部13は、対象予測ツリーに含まれる各TUを順に対象TUとして、対象TUに対応するTU情報の復号処理を実行する。
すなわち、TU情報復号部13は、対象TUに対応するTU情報から、変換係数の復元に用いられる各パラメータの復号処理を行う。
TU情報復号部13は、対象TUについて復号したTU情報を、逆量子化・逆変換部15に供給する。
[予測画像生成部]
予測画像生成部14は、対象CUに含まれる各PUについて、PT情報PTIに基づいて予測画像を生成する。具体的には、予測画像生成部14は、対象予測ツリーに含まれる各対象PUについて、対象PUに対応するPU情報PUIに含まれるパラメータに従ってイントラ予測またはインター予測を行うことにより、復号済み画像である局所復号画像P’から予測画像Predを生成する。予測画像生成部14は、生成した予測画像Predを加算器17に供給する。
なお、予測画像生成部14が、動き補償予測パラメータ(動きベクトル、参照画像インデックス、インター予測フラグ)に基づいて対象CUに含まれるPUの予測画像を生成する手法について説明すると以下のとおりである。
インター予測フラグが単予測を示す場合、予測画像生成部14は、参照画像インデックスの示す参照画像の動きベクトルが示す場所に位置する復号画像に相当する予測画像を生成する。
一方、インター予測フラグが双予測を示す場合には、予測画像生成部14は、2組の参照画像インデックスと動きベクトルとの組み合わせのそれぞれについて動き補償により予測画像を生成し、平均を算出することで、もしくは、各予測画像を対象ピクチャと各参照画像との表示時間間隔に基づいて重み付け加算することで、最終的な予測画像を生成する。
[逆量子化・逆変換部]
逆量子化・逆変換部15は、対象CUに含まれる各TUについて、TT情報TTIに基づいて逆量子化・逆変換処理を実行する。具体的には、逆量子化・逆変換部15は、対象変換ツリーに含まれる各対象TUについて、対象TUに対応するTU情報TUIに含まれる量子化予測残差を逆量子化および逆直交変換することによって、画素毎の予測残差Dを復元する。なお、ここで直交変換とは、画素領域から周波数領域への直交変換のことを指す。したがって、逆直交変換は、周波数領域から画素領域への変換である。また、逆直交変換の例としては、逆DCT変換(Inverse Discrete Cosine Transform)、および逆DST変換(Inverse Discrete Sine Transform)等が挙げられる。逆量子化・逆変換部15は、復元した予測残差Dを加算器17に供給する。
[フレームメモリ]
フレームメモリ16には、復号された復号画像Pが、当該復号画像Pの復号に用いられたパラメータと共に、順次記録される。フレームメモリ16には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック(例えば、ラスタスキャン順で先行する全てのツリーブロック)に対応する復号画像が記録されている。フレームメモリ16に記録される復号パラメータの例としては、CU予測方式情報PredModeなどが挙げられる。
[加算器]
加算器17は、予測画像生成部14より供給される予測画像Predと、逆量子化・逆変換部15より供給される予測残差Dとを加算することによって、対象CUについての復号画像Pを生成する。
なお、動画像復号装置1において、画像内の全てのツリーブロックに対して、ツリーブロック単位の復号画像生成処理が終わった時点で、動画像復号装置1に入力された1フレーム分の符号化データ#1に対応する復号画像#2が外部に出力される。
以下では、(1)CU情報復号部11、(2)PU情報復号部12、および(3)TU情報復号部13の構成について、それぞれの構成に対応する復号モジュール10の構成と共に詳細に説明する。
(1)CU情報復号部の詳細
次に、図1を用いて、CU情報復号部11および復号モジュール10の構成例について説明する。図1は、動画像復号装置1において、CU予測情報を復号するための構成、すなわちCU情報復号部11および復号モジュール10の構成について例示する機能ブロック図である。
以下、CU情報復号部11および復号モジュール10の順で、各部の構成について説明する。
(CU情報復号部)
図1に示すように、CU情報復号部11は、CU予測モード決定部111、PUサイズ決定部112、およびPUサイズテーブル113を備える。
CU予測モード決定部111は、CU予測モードの符号化データおよびシンタックス種別と、PU分割タイプの符号化データおよびシンタックス種別とを、復号モジュール10に供給する。また、CU予測モード決定部111は、復号モジュール10から、復号されたCU予測モードのシンタックス値と、PU分割タイプのシンタックス値とを取得する。
具体的には、CU予測モード決定部111は、次のようにして、CU予測モードおよびPU分割タイプを決定する。
まず、CU予測モード決定部111は、スキップフラグSKIPを復号モジュール10により復号して、対象CUがスキップCUであるか否かを決定する。
対象CUがスキップCUでない場合、CU予測タイプ情報Pred_typeを復号モジュール10により復号する。また、CU予測タイプ情報Pred_typeに含まれるCU予測方式情報PredModeに基づいて、対象CUがイントラCUか、インターCUかを決定するとともに、PU分割タイプ情報PartModeに基づいてPU分割タイプを決定する。
PUサイズ決定部112は、PUサイズテーブル113を参照して、対象CUのサイズと、CU予測モード決定部111において決定されたCU予測タイプおよびPU分割タイプとから、PUの個数およびサイズを決定する。
PUサイズテーブル113は、CUのサイズとCU予測タイプ−PU分割タイプとの組み合わせにPUの個数およびサイズを対応付けるテーブルである。
ここで、図5を用いて、PUサイズテーブル113の具体的な構成例について説明すると次のとおりである。
図5に示すPUサイズテーブル113では、CUのサイズと、PU分割タイプ(イントラCUおよびインターCU)に応じて、PUの個数およびサイズが定義されている。なお、表中の“d”は、CUの分割深度を示す。
PUサイズテーブル113では、CUのサイズとして、64×64、32×32、16×16、および8×8の4つが定義されている。
また、PUサイズテーブル113では、CUのサイズに対して、各PU分割タイプにおけるPUの個数およびサイズが定義されている。
例えば、64×64のインターCUであって、2N×N分割である場合は、PUは2個でサイズは共に64×32である。
また、64×64のインターCUであって、2N×nU分割である場合は、PUは2個でサイズは64×16と64×48とである。
また、8×8のイントラCUであって、N×N分割である場合は、PUは4個でサイズはすべて4×4である。
なお、スキップCUのPU分割タイプは、2N×2Nと推定される。また、表中、“−”で示している箇所は、選択できないPU分割タイプであることを示している。
すなわち、CUサイズが、8×8の場合、インターCUにおいて、非対称パーティション(2N×nU、2N×nD、nL×2N、およびnR×2N)のPU分割タイプは選択不可である。また、インターCUの場合、N×NのPU分割タイプは、選択不可である。
また、イントラ予測では、CUサイズが、8×8の場合のみ、N×NのPU分割タイプを選択することが可能である。
(復号モジュール)
図1に示すように、復号モジュール10は、CU予測モード復号部(復号手段、変更手段)1011、二値化情報記憶部1012、コンテキスト記憶部1013、および確率設定記憶部1014を備える。
CU予測モード復号部1011は、CU予測モード決定部111から供給される符号化データおよびシンタックス種別に応じて、符号化データに含まれるバイナリからシンタックス値の復号を行う。具体的には、CU予測モード復号部1011は、二値化情報記憶部1012に記憶されている二値化情報に従って、CU予測モードおよびPU分割タイプの復号処理を行う。また、CU予測モード復号部1011は、スキップフラグの復号処理を行う。
二値化情報記憶部1012には、CU予測モード復号部1011が、バイナリから、シンタックス値を復号するための二値化情報が記憶されている。二値化情報は、バイナリ(bin列)と、シンタックス値との対応付けを示す情報である。
コンテキスト記憶部1013には、CU予測モード復号部1011が、復号処理の際に参照するコンテキストが記憶されている。
確率設定記憶部1014には、CU予測モード復号部1011が、符号化データから算術復号処理によりbin列を復号する際に参照する確率設定値が記録されている。なお、確率設定値は、各コンテキストに対応する記録設定値と、既定の確率設定値がある。各コンテキストに対応する確率設定値は、算術復号の結果に基づいて更新される。一方、既定の確率設定値は一定であり、算術復号の結果により更新されない。なお、確率設定値は、確率の値自体ではなく、確率の値に対応する整数値で示される状態で表現しても良い。
(2)PU情報復号部の詳細
次に、図8を用いて、PU情報復号部12および復号モジュール10の構成例について説明する。図8は、動画像復号装置1において、動き情報を復号するための構成、すなわちPU情報復号部12および復号モジュール10の構成について例示する機能ブロック図である。
以下、PU情報復号部12および復号モジュール10の順で、各部の構成について説明する。
(PU情報復号部)
図8に示すように、PU情報復号部12は、動き補償パラメータ導出部121、マージ候補優先順位情報記憶部122、および参照フレーム設定情報記憶部123を備える。
動き補償パラメータ導出部121は、符号化データから対象CUに含まれる各PUの動き補償パラメータを導出する。
動き補償パラメータ導出部121は、具体的には、以下の手順にて、動き補償パラメータを導出する。ここで、対象CUがスキップCUである場合に、マージインデックスの代わりに、スキップインデックスを復号し、その値に基づいてスキップCUにおける予測パラメータを導出してもよい。
まず、動き補償パラメータ導出部121は、スキップフラグを判定する。その結果、対象CUが非スキップCUであれば、動き情報復号部1021を用いて、マージフラグを復号する。
ここで、対象CUが、スキップCUまたはマージPUである場合、動き補償パラメータ導出部121は、マージインデックスを復号して、復号したマージインデックスの値に基づいて予測パラメータ(動きベクトル、参照画像インデックス、インター予測フラグ)を導出する。なお、動き補償パラメータ導出部121は、マージ候補情報記憶部122に記憶されているマージ候補情報に従って、マージインデックスで指定されるマージ候補を決定する。
一方、対象CUが、スキップCUおよびマージPUのいずれでもない場合、動き補償パラメータ導出部121は、予測パラメータ(インター予測フラグ、参照画像インデックス、動きベクトル差分、推定動きベクトルインデックス)を復号する。
さらに、動き補償パラメータ導出部121は、推定動きベクトルインデックスの値に基づいて、推定動きベクトルを導出するとともに、動きベクトル差分と推定動きベクトルとに基づいて動きベクトルを導出する。
マージ候補情報記憶部122には、いずれの領域をマージ候補とするかを示す情報およびマージ候補の優先順位を示す情報を含むマージ候補情報が記憶されている。
参照フレーム設定記情報記憶部123には、1枚の参照画像を参照する単予測、及び、2枚の参照画像を参照する双予測の何れの画面間予測の予測方式を用いるかを決定するための参照フレーム設定記情報が記憶されている。
(復号モジュール)
図8に示すように、復号モジュール10は、動き情報復号部1021を備える。動き情報復号部1021は、
動き情報復号部1021は、動き補償パラメータ導出部121から供給される符号化データおよびシンタックス種別に応じて、符号化データに含まれるバイナリからシンタックス値の復号を行う。動き情報復号部1021が復号する動き補償パラメータは、マージフラグ(merge_flag)、マージインデックス(merge_idx)、推定動きベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx)、インター予測フラグ(inter_pred_flag)、動きベクトル差分(mvd)である。
[2−3]参照フレーム数の決定
動き補償パラメータ導出部121は、参照フレーム設定情報記憶部123に記憶される参照フレーム設定情報を参照して、インター予測において単予測および双予測のいずれの予測方式を適用するかを決定してもよい。
図16は、従来技術におけるPUのシンタックステーブルの例である。
(動き補償パラメータ導出部)
図15は、動き補償パラメータ導出部121の構成を示す。動き補償パラメータ導出部121は、マージ動き補償パラメータ導出部1212、基本動き補償パラメータ導出部1213から構成される。また、動き補償パラメータ導出部121は図示しないが結合動き補償パラメータ値算出部1214を備えても良い。
マージ動き補償パラメータ導出部1212は、対象PUがマージの場合に、対象PUの動き補償パラメータを導出し、対象PUの動き補償パラメータとして外部に出力する。
基本動き補償パラメータ導出部1213は、対象PUがスキップでも、マージでもない場合において、対象PUの動き補償パラメータを導出し、外部に出力する。
(3)TU情報復号部の詳細
次に、図9を用いて、TU情報復号部13および復号モジュール10の構成例について説明する。図9は、動画像復号装置1において、TU分割復号処理、変換係数復号処理、および、予測残差導出処理を行うための構成、すなわち、TU情報復号部13および復号モジュール10の構成について例示する機能ブロック図である。
以下、TU情報復号部13および復号モジュール10の順で、各部の構成について説明する。
[TU情報復号部]
図9に示すように、TU情報復号部13は、TU分割設定部131および変換係数復元部132を備える。
TU分割設定部131は、符号化データから復号したパラメータとCUサイズおよびPU分割タイプとに基づいて、TU分割の方式を設定するものである。また、変換係数復元部132は、TU分割設定部131によって設定されたTU分割に従って、各TUの予測残差を復元するものである。
[TU分割設定部]
まず、図9を参照しながら、TU分割設定部131の詳細について説明する。TU分割設定部131は、より詳細には、対象領域設定部1311、分割決定部1312、分割領域設定部(変換単位分割手段、分割手段)1313、および変換サイズ情報記憶部1314を備える。
対象領域設定部1311は、対象領域となるノードである対象ノードを設定する。対象領域設定部1311は、対象変換ツリーについてTU分割の処理が開始されたとき、対象領域の初期値として、対象CU全体を設定する。また、分割の深度は、“0”に設定する。
分割決定部1312は、領域分割フラグ復号部1031を用いて、対象領域設定部1311によって設定された対象ノードを分割するか否かを示す情報(split_transform_flag)を復号し、復号した情報に基づいて対象ノードの分割要否を決定する。
分割領域設定部1313は、分割決定部1312によって分割要と決定された対象ノードについて分割領域を設定する。具体的には、分割領域設定部1313は、分割要と決定された対象ノードについて、分割の深度を1加算するとともに、変換サイズ決定情報記憶部1314に記憶されている変換サイズ決定情報に基づいて対象ノードを分割する。
なお、分割により得られた各対象ノードは、対象領域設定部1311によりさらに対象領域として設定される。
すなわち、TU分割では、分割した対象ノードについて、対象領域設定部1311、分割決定部1312および分割領域設定部1313によって、“対象領域の設定”、“分割の決定”、および“分割領域の設定”の一連の処理が、再帰的に繰り返される。
変換サイズ決定情報記憶部1314には、対象ノードの分割方式を示す変換サイズ決定情報が記憶されている。変換サイズ決定情報は、具体的には、CUのサイズ、TU分割の深度(trafoDepth)、および対象PUのPU分割タイプと、TU分割パターンとの対応関係を定義する情報である。
[変換係数復元部]
次に、再び図9を参照しながら、変換係数復元部132の詳細について説明する。変換係数復元部132は、より詳細には、非ゼロ係数判定部1321および変換係数導出部1322を備える。
非ゼロ係数判定部1321は、判定情報復号部(係数復号手段)1032を用いて、対象CUに含まれる各TUまたは変換ツリーについての非ゼロ変換係数の存否情報を復号し、各TUに非ゼロ変換係数が存在するか否かを判定する。
変換係数導出部1322は、変換係数復号部(係数復号手段)1033を用いて非ゼロ変換係数が存在する各TUの変換係数を復元する一方で、非ゼロ変換係数が存在しない各TUの変換係数を0(ゼロ)に設定する。
[復号モジュール]
図9に示すように、復号モジュール10は、領域分割フラグ復号部1031、判定情報復号部1032、変換係数復号部1033、およびコンテキスト記憶部1034を備える。
領域分割フラグ復号部1031は、分割決定部1312から供給される符号化データおよびシンタックス種別に応じて、符号化データに含まれるバイナリからシンタックス値の復号を行う。領域分割フラグ復号部1031は、対象ノードを分割するか否かを示す情報(split_transform_flag)を復号する。
判定情報復号部1032は、変換係数導出部1322から供給される非ゼロ変換係数の存否情報の符号化データおよびシンタックス種別に応じて、当該符号化データに含まれるバイナリからシンタックス値の復号を行う。判定情報復号部1032が復号するシンタックスは、具体的には、no_residual_data_flag、cbf_luma、cbf_cb、cbf_cr、およびcbp等である。
変換係数復号部1033は、変換係数導出部1322から供給される変換係数の符号化データおよびシンタックス種別に応じて、当該符号化データに含まれるバイナリからシンタックス値の復号を行う。変換係数復号部1033が復号するシンタックスは、具体的には、変換係数の絶対値であるレベル(level)、変換係数の符号(sign)、連続するゼロのランの長さ(run)などである。
コンテキスト記憶部1034は、判定情報復号部1032および変換係数復号部1033が、復号処理の際に参照するコンテキストが記憶されている。
[3−3]変換係数復号時にコンテキストを参照する具体的構成 判定情報復号部1032および変換係数復号部1033は、それぞれ、PU分割タイプが非対称分割である場合、小さい方のPUに含まれるTUと、大きい方のPUに含まれるTUとで異なるコンテキストを用いて、変換係数に係るシンタックス値を復号する構成であってもよい。例えば、そのようなシンタックスの種類として、非ゼロ変換係数フラグ、変換係数レベル、変換係数のラン、TUツリーの各ノードにおける非ゼロ変換係数の存否情報が含まれる。前記シンタックスの組み合わせを含んでいてもよい。
そこで、コンテキスト記憶部1034では、小さい方のPUに含まれるTUにおいて参照されるコンテキストにおける変換係数に係る各種シンタックス値に対応する確率設定値である小PUサイズ1034Aと、大きい方のPUに含まれるTUにおいて参照されるコンテキストにおける確率設定値である大PUサイズ1034Bとが記憶されていてもよい。ここで、小PUサイズ1034Aおよび大PUサイズ1034Bは異なるコンテキストに対応する確率設定値である。
判定情報復号部1032は、対象TUが、小さいPUに含まれる場合、小PUサイズ1034Aを参照する一方で、対象TUが、大きい方のPUに含まれる場合、大PUサイズ1034Bを参照し、対象TUにおけるCbf(cbf_luma、cbf_cb、cbf_cr等)を算術復号する。
また、変換係数復号部1033は、対象TUが、小さいPUに含まれる場合、小PUサイズ1034Aを参照する一方で、対象TUが、大きい方のPUに含まれる場合、大PUサイズ1034Bを参照し、対象TUにおける変換係数(level、sign、run等)を算術復号する。
なお、判定情報復号部1032および変換係数復号部1033は、対象TUが、大きい方のPUに含まれる場合であって、対象TUが、小さい方のPUに近い側に位置するとき、小PUサイズ1034Aを参照してもかまわない。
言い換えれば、対象TUが、大きい方のPUに含まれる場合であっても、対象TUがPU境界の近傍に位置している場合、判定情報復号部1032および変換係数復号部1033は、小PUサイズ1034Aを参照してもかまわない。
小さい方のPUには、エッジが存在する可能性が高く変換係数が発生しやすい。これに対して、大きい方のPUでは変換係数が発生しにくい。対象TUが、小さいPUに含まれる場合と大きい方のPUに含まれる場合とで、異なるコンテキストを用いることで、それ
(処理の流れ)
図10を用いて、動画像復号装置1におけるCU復号処理について説明すると以下のとおりである。なお、以下では、対象CUは、インターCU、または、スキップCUであるとする。図10は、動画像復号装置1におけるCU復号処理(インター/スキップCU)の流れの一例について示すフローチャートである。
CU復号処理が開始されると、CU情報復号部11が、復号モジュール10を用いて、対象CUについてCU予測情報を復号する(S11)。この処理は、CU単位で行われる。
具体的には、CU情報復号部11において、CU予測モード決定部111が、復号モジュール10を用いて、スキップフラグSKIPを復号する。また、スキップフラグがスキップCUであることを示していなければ、さらに、CU予測モード決定部111は、復号モジュール10を用いて、CU予測タイプ情報Pred_typeを復号する。
次に、PU単位の処理が行われる。すなわち、PU情報復号部12が備える動き補償パラメータ導出部121が、動き情報を復号するとともに(S12)、予測画像生成部14が、復号された当該動き情報に基づいてインター予測により予測画像を生成する(S13)。
次に、TU情報復号部13が、TU分割復号処理を行う(S14)。具体的には、TU情報復号部13において、TU分割設定部131が、符号化データから復号したパラメータとCUサイズおよびPU分割タイプとに基づいて、TU分割の方式を設定する。この処理は、CU単位で行われる。
次に、TU単位の処理が行われる。すなわち、TU情報復号部13が、変換係数を復号し(S15)、逆量子化・逆変換部15が、復号された変換係数から予測残差を導出する(S16)。
次に、加算部17において、予測画像と予測残差とが加算されることにより、復号画像が生成される(S17)。この処理は、CU単位で行われる。
〔動画像符号化装置〕
以下において、本実施形態に係る動画像符号化装置2について、図11、図12、図26から図28を参照して説明する。
(動画像符号化装置の概要)
動画像符号化装置2は、概略的に言えば、入力画像#10を符号化することによって符号化データ#1を生成し、出力する装置である。
(動画像符号化装置の構成)
まず、図11を用いて、動画像符号化装置2の構成例について説明する。図11は、動画像符号化装置2の構成について示す機能ブロック図である。図11に示すように、動画像符号化装置2は、符号化設定部21、逆量子化・逆変換部22、予測画像生成部23、加算器24、フレームメモリ25、減算器26、変換・量子化部27、PU情報生成部30、および符号化データ生成部(符号化手段)29を備えている。
符号化設定部21は、入力画像#10に基づいて、符号化に関する画像データおよび各種の設定情報を生成する。
具体的には、符号化設定部21は、次の画像データおよび設定情報を生成する。
まず、符号化設定部21は、入力画像#10を、スライス単位、ツリーブロック単位に順次分割することにより、対象CUについてのCU画像#100を生成する。
また、符号化設定部21は、分割処理の結果に基づいて、ヘッダ情報H’を生成する。ヘッダ情報H’は、(1)対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報、並びに、(2)各ツリーブロックに属するCUのサイズ、形状および対象ツリーブロック内での位置についてのCU情報CU’を含んでいる。
さらに、符号化設定部21は、CU画像#100、および、CU情報CU’を参照して、PT設定情報PTI’を生成する。PT設定情報PTI’には、(1)対象CUの各PUへの可能な分割パターン、および、(2)各PUに割り付ける可能な予測モード、の全ての組み合わせに関する情報が含まれる。
符号化設定部21は、CU画像#100を減算器26に供給する。また、符号化設定部21は、ヘッダ情報H’を符号化データ生成部29に供給する。また、符号化設定部21は、PT設定情報PTI’を予測画像生成部23に供給する。
逆量子化・逆変換部22は、変換・量子化部27より供給される、ブロック毎の量子化予測残差を、逆量子化、および、逆直交変換することによって、ブロック毎の予測残差を復元する。逆直交変換については、図1に示す逆量子化・逆変換部13について、既に説明したとおりであるので、ここではその説明を省略する。
また、逆量子化・逆変換部22は、ブロック毎の予測残差を、TT分割情報(後述)により指定される分割パターンに従って統合し、対象CUについての予測残差Dを生成する。逆量子化・逆変換部22は、生成した対象CUについての予測残差Dを、加算器24に供給する。
予測画像生成部23は、フレームメモリ25に記録されている局所復号画像P’、および、PT設定情報PTI’を参照して、対象CUについての予測画像Predを生成する。予測画像生成部23は、予測画像生成処理により得られた予測パラメータを、PT設定情報PTI’に設定し、設定後のPT設定情報PTI’を符号化データ生成部29に転送する。なお、予測画像生成部23による予測画像生成処理は、動画像復号装置1の備える予測画像生成部14と同様であるので、ここでは説明を省略する。
加算器24は、予測画像生成部23より供給される予測画像Predと、逆量子化・逆変換部22より供給される予測残差Dとを加算することによって、対象CUについての復号画像Pを生成する。
フレームメモリ25には、復号された復号画像Pが順次記録される。フレームメモリ25には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック(例えば、ラスタスキャン順で先行する全てのツリーブロック)に対応する復号画像が、当該復号画像Pの復号に用いられたパラメータと共に、記録されている。
減算器26は、CU画像#100から予測画像Predを減算することによって、対象CUについての予測残差Dを生成する。減算器26は、生成した予測残差Dを、変換・量子化部27に供給する。
変換・量子化部27は、予測残差Dに対して、直交変換および量子化を行うことで量子化予測残差を生成する。なお、ここで直交変換とは、画素領域から周波数領域への直交変換のことをさす。また、逆直交変換の例としては、DCT変換(Discrete Cosine Transform)、およびDST変換(Discrete Sine Transform)等が挙げられる。
具体的には、変換・量子化部27は、CU画像#100、および、CU情報CU’を参照し、対象CUの1または複数のブロックへの分割パターンを決定する。また、決定された分割パターンに従って、予測残差Dを、各ブロックについての予測残差に分割する。
また、変換・量子化部27は、各ブロックについての予測残差を直交変換することによって周波数領域における予測残差を生成した後、当該周波数領域における予測残差を量子化することによってブロック毎の量子化予測残差を生成する。
また、変換・量子化部27は、生成したブロック毎の量子化予測残差と、対象CUの分割パターンを指定するTT分割情報と、対象CUの各ブロックへの可能な全分割パターンに関する情報とを含むTT設定情報TTI’を生成する。変換・量子化部27は、生成したTT設定情報TTI’を逆量子化・逆変換部22および符号化データ生成部29に供給する。
PU情報生成部30は、PT設定情報PTI’を符号化し、PT設定情報PTを導出する。また、マージ候補についてのPTI設定情報PTI’を生成し、符号化設定部21に供給する。 符号化データ生成部29は、ヘッダ情報H’、TT設定情報TTI’、およびPT設定情報PTI’を符号化し、符号化したヘッダ情報H、TT設定情報TTI、およびPT設定情報PTIを多重化して符号化データ#1を生成し、出力する。
(動画像復号装置との対応関係)
動画像符号化装置2は、動画像復号装置1の各構成と対応する構成を含む。ここで、対応とは、同様の処理、または、逆の処理を行う関係にあるということである。
例えば、上述したように、動画像復号装置1が備える予測画像生成部14の予測画像生成処理と、動画像符号化装置2が備える予測画像生成部23の予測画像生成処理とは、同様である。
例えば、動画像復号装置1において、ビット列から、シンタックス値を復号する処理は、動画像符号化装置2において、シンタックス値から、ビット列を符号化する処理と逆の処理としての対応となっている。
以下では、動画像符号化装置2における各構成が、動画像復号装置1のCU情報復号部11、PU情報復号部12、およびTU情報復号部13とどのような対応となっているかについて説明する。これにより、動画像符号化装置2における各構成の動作・機能はより詳細に明らかになるだろう。
符号化データ生成部29は、復号モジュール10に対応している。より詳しくいえば、復号モジュール10が、符号化データおよびシンタックス種別に基づいてシンタックス値を導出するのに対して、符号化データ生成部29は、シンタックス値およびシンタックス種別に基づいて符号化データを生成する。
符号化設定部21は、動画像復号装置1のCU情報復号部11に対応している。符号化設定部21と、CU情報復号部11とを比較すると次のとおりである。
CU情報復号部11が、CU予測タイプ情報に係る符号化データとシンタックス種別とを復号モジュール10に供給し、復号モジュール10により復号されたCU予測タイプ情報に基づいてPU分割タイプを決定する。
これに対して、符号化設定部21は、PU分割タイプを決定してCU予測タイプ情報を生成し、CU予測タイプ情報に係るシンタックス値とシンタックス種別とを符号化データ生成部29に供給する。
なお、符号化データ生成部29は、復号モジュール10が備える二値化情報記憶部1012、コンテキスト記憶部1013、および確率設定記憶部1014と同様の構成を備えていてもよい。
予測画像生成部23は、動画像復号装置1のPU情報復号部12および予測画像生成部14に対応している。これらを比較すると次のとおりである。
上述のとおり、PU情報復号部12は、動き情報に係る符号化データとシンタックス種別とを復号モジュール10に供給し、復号モジュール10により復号された動き情報に基づいて動き補償パラメータを導出する。また、予測画像生成部14は、導出された動き補償パラメータに基づいて予測画像を生成する。
これに対して、予測画像生成部23は、予測画像生成処理において、動き補償パラメータを決定し、動き補償パラメータに係るシンタックス値とシンタックス種別とを符号化データ生成部29に供給する。
また、予測画像生成部23は、PU情報復号部12が備えるマージ候補優先順位情報記憶部122、および参照フレーム設定情報記憶部123と同様の構成を備えていてもよい。
変換・量子化部27は、動画像復号装置1のTU情報復号部13および逆量子化・逆変換部15に対応している。これらを比較すると次のとおりである。
TU情報復号部13が備えるTU分割設定部131は、ノードの分割を行うのか否かを示す情報に係る符号化データおよびシンタックス種別を復号モジュール10に供給し、復号モジュール10により復号されたノードの分割を行うのか否かを示す情報に基づいてTU分割を行う。
さらに、TU情報復号部13が備える変換係数復元部132は、判定情報および変換係数に係る符号化データおよびシンタックス種別を復号モジュール10に供給し、復号モジュール10により復号された判定情報および変換係数に基づいて変換係数を導出する。
これに対して、変換・量子化部27は、TU分割の分割方式を決定し、ノードの分割を行うのか否かを示す情報に係るシンタックス値およびシンタックス種別を符号化データ生成部29に供給する。
また、変換・量子化部27は、予測残差を変換・量子化して得られる量子化変換係数に係るシンタックス値およびシンタックス種別を符号化データ生成部29に供給する。
なお、変換・量子化部27は、TU分割設定部131が備える変換サイズ決定情報記憶部1314と同様の構成を備えていてもよい。また、符号化データ生成部29は、復号モジュール10が備えるコンテキスト記憶部1034と同様の構成を備えていてもよい。
(PU情報生成部30)
図26は、PU情報生成部30の構成を示すブロック図である。PU情報生成部30は、動き補償パラメータ生成部301を備える。動き補償パラメータ生成部301は、マージ動き補償パラメータ生成部3012と基本動き補償パラメータ生成部3013を備える。マージ動き補償パラメータ生成部3012は、マージ候補を生成し、PTI設定情報PTI’として、符号化設定部21に供給する。また、マージ候補を選択するためのインデックスを、PT設定情報PTとして出力する。基本動き補償パラメータ生成部3013は、入力されたPTI設定情報PTI’、ここでは動き補償パラメータからPT設定情報PTを符号化する。また、図示しないが、動き補償パラメータ生成部301は、結合動き補償パラメータ値算出部1214を備えても良い。
図27は、マージ動き補償パラメータ生成部3012の構成を示すブロック図である。なお、スキップPUの動きパラメータ導出もマージ動き補償パラメータ生成部3012で行われる。マージ動き補償パラメータ生成部3012は、隣接マージ候補導出部1212A、時間的マージ候補導出部1212B、ユニーク候補導出部1212C、結合双予測マージ候補導出部1212D、非スケール双予測マージ候補導出部1212E、ゼロベクトルマージ候補導出部1212F、マージ候補導出制御部1212G、マージ候補格納部1212Hから構成される。 マージ候補を導出する処理は、マージ動き補償パラメータ生成部1212と同様であるので説明を省略する。マージ動き補償パラメータ生成部3012は、マージ候補を、マージ候補を生成し、PTI設定情報PTI’として、符号化設定部21に供給する。また、マージインデックスを、PT設定情報PTとして、符号化データ生成部29に供給する。
図28は、基本動き補償パラメータ生成部3013の構成を示すブロック図である。基本動き補償パラメータ生成部3013は、隣接動きベクトル候補導出部1312A、時間的動きベクトル候補導出部1312B、ゼロベクトルマージ候補導出部1312F、動きベクトル候補導出制御部1312G、動きベクトル候補格納部1312H、動き補償パラメータ一致判定部1312I、動きベクトル候補選択部1312L、差分動きベクトル算出部1312Mから構成される。 予測動きベクトル候補を導出する処理は、基本動き補償パラメータ導出部1312と同様であるので説明を省略する。
動きベクトル候補選択部1312Lは、供給された予測動きベクトルに最も近い予測動きベクトル候補を、動きベクトル候補格納部1312Hに格納された予測動きベクトル候補から選択し、そのインデックスを予測動きベクトルインデックスとして導出する。選択された予測動きベクトルは、差分動きベクトル算出部1312Mに供給される。差分動きベクトル算出部1312Mは供給された動きベクトルと予測動きベクトルとの差分を差分動きベクトルとして算出する。インター予測フラグ、参照インデックス番号、及び、導出された予測動きベクトルインデックス、差分動きベクトルは、PT設定情報PTとして、符号化データ生成部29に供給される。
(処理の流れ)
図12を用いて、動画像符号化装置2におけるCU符号化処理について説明すると以下のとおりである。なお、以下では、対象CUは、インターCU、または、スキップCUであるとする。図10は、動画像符号化装置2におけるCU符号化処理(インター/スキップCU)の流れの一例について示すフローチャートである。
CU符号化処理が開始されると、符号化設定部21が、対象CUについてCU予測情報を決定し、符号化データ生成部29が、符号化設定部21により決定されたCU予測情報を符号化する(S21)。この処理は、CU単位で行われる。
具体的には、符号化設定部21が、対象CUがスキップCUであるか否かを決定する。対象CUがスキップCUである場合、符号化設定部21は、スキップフラグSKIPを符号化データ生成部20に符号化させる。また、対象CUがスキップCUでない場合、符号化設定部21は、CU予測タイプ情報Pred_typeを符号化データ生成部20に符号化させる。
次に、PU単位の処理が行われる。すなわち、予測画像生成部23が動き情報を導出し、符号化データ生成部29が、予測画像生成部23により導出された動き情報を符号化する(S22)。また、予測画像生成部14は、導出した当該動き情報に基づいてインター予測により予測画像を生成する(S23)。
次に、変換・量子化部27が、TU分割符号化処理を行う(S24)。具体的には、変換・量子化部27は、対象CUのCUサイズおよびPU分割タイプに基づいて、TU分割の方式を設定する。この処理は、CU単位で行われる。
次に、TU単位の処理が行われる。すなわち、変換・量子化部27が、予測残差を変換係数に変換・量子化し(S25)、符号化データ生成部29が、変換・量子化された変換係数を符号化する(S26)。
次に、逆量子化・逆変換部22が、変換・量子化された変換係数を、逆量子化・逆変換して予測残差を復元するとともに、加算器24が、予測画像および予測残差を加算することにより、復号画像が生成される(S27)。この処理は、CU単位で行われる。
〔応用例〕
上述した動画像符号化装置2及び動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
まず、上述した動画像符号化装置2及び動画像復号装置1を、動画像の送信及び受信に利用できることを、図13を参照して説明する。
図13の(a)は、動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。図13の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_A1として利用される。
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。図13の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
図13の(b)は、動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図13の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置1は、この復号部PROD_B3として利用される。
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図13の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
次に、上述した動画像符号化装置2及び動画像復号装置1を、動画像の記録及び再生に利用できることを、図14を参照して説明する。
図14の(a)は、上述した動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。図14の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_C1として利用される。
なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc)やBD(Blu-ray Disc:登録商標)などのように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部C6を更に備えていてもよい。図14の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
図14の(b)は、上述した動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図14の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置1は、この復号部PROD_D2として利用される。
なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図14の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4又は送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型又はタブレット型PC(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
(ハードウェア的実現およびソフトウェア的実現)
また、上述した動画像復号装置1および動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM(Compact Disc Read-Only Memory)/MOディスク(Magneto-Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)/CD−R(CD Recordable)/ブルーレイディスク(Blu-ray Disc:登録商標)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-Only Memory)/EEPROM(Electrically Erasable and Programmable Read-Only Memory)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna television/Cable Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
1 動画像復号装置
10 復号モジュール
11 CU情報復号部
12 PU情報復号部
13 TU情報復号部
16 フレームメモリ
111 CU予測モード決定部
112 PUサイズ決定部
121 動き補償パラメータ導出部
122 マージ候補優先順位情報記憶部
123 参照フレーム設定情報記憶部
131 TU分割設定部
132 変換係数復元部
1011 CU予測モード復号部(復号手段、変更手段)
1012 二値化情報記憶部
1013 コンテキスト記憶部
1014 確率設定記憶部
1021 動き情報復号部
1031 領域分割フラグ復号部
1032 判定情報復号部(係数復号手段)
1033 変換係数復号部(係数復号手段)
1311 対象領域設定部
1312 分割決定部
1313 分割領域設定部(変換単位分割手段、分割手段)
1314 変換サイズ決定情報記憶部
2 動画像符号化装置
21 符号化設定部
23 予測画像生成部
25 フレームメモリ
27 変換・量子化部
29 符号化データ生成部(符号化手段)
1212 マージ動き補償パラメータ導出部
1218 双予測制限PU判定部
1212A 隣接マージ候補導出部
1212B 時間的マージ候補導出部
1212C ユニーク候補導出部
1212D 結合双予測マージ候補導出部
1212E 非スケール双予測マージ候補導出部
1212F ゼロベクトルマージ候補導出部
1212G マージ候補導出制御部
1212H マージ候補格納部
1213 基本動き補償パラメータ導出部
1213A 隣接動きベクトル候補導出部
1213B 時間的動きベクトル候補導出部
1213C ゼロベクトル候補導出部
1213G 動きベクトル候補導出制御部
1213H 動きベクトル候補格納部
1213I 動き補償パラメータ一致判定部
1213J 動きベクトル候補選択部
1213K 動きベクトル復元部
1214 結合動き補償パラメータ値算出部

Claims (16)

  1. 符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像復号装置において、
    上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
    上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
    導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
    上記動き補償パラメータ一致判定手段は、動き補償パラメータの2つ以上の要素から、1つの結合動き補償パラメータ値を算出する、結合動き補償パラメータ値算出手段を備え、
    さらに、上記動き補償パラメータ一致判定手段は、上記結合動き補償パラメータ値を用いて、動き補償パラメータの一致を判定することを特徴とする画像復号装置。
  2. 結合動き補償パラメータ値算出手段は、予測リスト利用フラグと参照リストインデックスと動きベクトルから結合動き補償パラメータ値を算出することを特徴とする、請求項1に記載の画像復号装置。
  3. 結合動き補償パラメータ値算出手段は、32ビット以下の結合動き補償パラメータ値を算出することを特徴とする、請求項1に記載の画像復号装置。
  4. 結合動き補償パラメータ値算出手段は、16ビット以下の結合動き補償パラメータ値を算出することを特徴とする、請求項1に記載の画像復号装置。
  5. 結合動き補償パラメータ値算出手段は、一部のビットをマスクすることによって、動きベクトルの一致判定に用いる動き補償パラメータ値を抽出することができることを特徴とする請求項1に記載の画像復号装置。
  6. 結合動き補償パラメータ値算出手段は、一部のビットをマスクすることによってL0の動き補償パラメータの一致判定に用いる結合動き補償パラメータ値、もしくはL1の動き補償パラメータの一致判定に用いる結合動き補償パラメータ値を抽出することができることを特徴とする請求項1に記載の画像復号装置。
  7. 符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像復号装置において、
    上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
    上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
    導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
    上記動き補償パラメータ一致判定手段は、動き補償パラメータの内、一部のパラメータのみを用いて、動き補償パラメータの一致を判定することを特徴とする画像復号装置。
  8. 上記一部のパラメータは、予測リスト利用フラグと参照リストインデックスであることを特徴とする、請求項7に記載の画像復号装置。
  9. 上記一部のパラメータは、予測リスト利用フラグと参照リストインデックスと動きベクトルの一方であることを特徴とする、請求項7に記載の画像復号装置。
  10. 符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像復号装置において、
    上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
    上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
    導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
    上記動き補償パラメータ導出手段は、一部の動き補償パラメータ候補に対しては、上記動き補償パラメータ一致判定手段を用いて、一致しないと判定される動き補償パラメータのみを動き補償候補リストに格納し、一部の動き補償パラメータ候補以外の候補に対しては、上記動き補償パラメータ一致判定手段を用いずに、上記候補を動き補償候補リストに格納することを特徴とする画像復号装置。
  11. 上記一部の動き補償パラメータ候補は、隣接マージ候補と時間マージ候補であることを特徴とする、請求項10に記載の画像復号装置。
  12. 上記一部の動き補償パラメータ候補は、隣接マージ候補であることを特徴とする、請求項10に記載の画像復号装置。
  13. 上記一部の動き補償パラメータ候補は、所定の数N個のマージ候補であることを特徴とする、請求項10に記載の画像復号装置。
  14. 符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像符号化装置において、
    上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
    上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
    導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
    上記動き補償パラメータ一致判定手段は、動き補償パラメータの2つ以上の要素から、1つの結合動き補償パラメータ値を算出する、結合動き補償パラメータ値算出手段を備え、
    さらに、上記動き補償パラメータ一致判定手段は、上記結合動き補償パラメータ値を用いて、動き補償パラメータの一致を判定することを特徴とする画像符号化装置。
  15. 符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像符号化装置において、
    上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
    上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
    導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
    上記動き補償パラメータ一致判定手段は、動き補償パラメータの内、一部のパラメータのみを用いて、動き補償パラメータの一致を判定することを特徴とする画像符号化装置。
  16. 符号化単位毎に、動き補償パラメータを導出する動き補償パラメータ導出手段と、上記動き補償パラメータに基づいて予測画像を生成する予測画像生成手段を備える画像符号化装置において、
    上記動き補償パラメータ導出手段は、動き補償パラメータの候補を導出し、動き補償パラメータ候補のリストを生成する動き補償パラメータ候補導出手段と、
    上記動き補償パラメータ候補リストからインデックスで示される動き補償パラメータを選択する選択手段と
    導出された動き補償パラメータ候補と、既に導出された動き補償パラメータ、もしくは、既に導出された動き補償パラメータ候補との一致判定を行う動き補償パラメータ一致判定手段を備え、
    上記動き補償パラメータ導出手段は、一部の動き補償パラメータ候補に対しては、上記動き補償パラメータ一致判定手段を用いて、一致しないと判定される動き補償パラメータのみを動き補償候補リストに格納し、一部の動き補償パラメータ候補以外の候補に対しては、上記動き補償パラメータ一致判定手段を用いずに、上記候補を動き補償候補リストに格納することを特徴とする画像符号化装置。
JP2011243726A 2011-11-07 2011-11-07 画像復号装置、および画像符号化装置 Pending JP2013102280A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011243726A JP2013102280A (ja) 2011-11-07 2011-11-07 画像復号装置、および画像符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011243726A JP2013102280A (ja) 2011-11-07 2011-11-07 画像復号装置、および画像符号化装置

Publications (1)

Publication Number Publication Date
JP2013102280A true JP2013102280A (ja) 2013-05-23

Family

ID=48622515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011243726A Pending JP2013102280A (ja) 2011-11-07 2011-11-07 画像復号装置、および画像符号化装置

Country Status (1)

Country Link
JP (1) JP2013102280A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112997490A (zh) * 2018-11-16 2021-06-18 夏普株式会社 用于在视频编码中导出运动矢量预测的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112997490A (zh) * 2018-11-16 2021-06-18 夏普株式会社 用于在视频编码中导出运动矢量预测的系统和方法
CN112997490B (zh) * 2018-11-16 2023-12-22 夏普株式会社 用于在视频编码中导出运动矢量预测的系统和方法

Similar Documents

Publication Publication Date Title
US11223842B2 (en) Image decoding device, image decoding method, and image encoding device
JP5976658B2 (ja) 画像復号装置、画像復号方法および画像符号化装置
KR101768401B1 (ko) 화상 복호 장치
US20180115780A1 (en) Image decoding device and image coding device
CN114501005A (zh) 图像解码装置以及图像编码装置
WO2017195532A1 (ja) 画像復号装置及び画像符号化装置
WO2020137920A1 (ja) 予測画像生成装置、動画像復号装置、動画像符号化装置および予測画像生成方法
JP2023011955A (ja) 動画像符号化装置、動画像復号装置
CN112385230A (zh) 通过使用仿射预测处理视频信号的方法和设备
WO2013065431A1 (ja) 画像復号装置、画像復号方法および画像符号化装置
JP2013118424A (ja) 画像復号装置、画像符号化装置、および符号化データのデータ構造
JP2020096279A (ja) 予測画像生成装置、動画像復号装置および動画像符号化装置
JP2020088660A (ja) 動画像符号化装置、動画像復号装置
WO2021200658A1 (ja) 動画像復号装置及び動画像復号方法
JP7409802B2 (ja) 動画像復号装置および動画像符号化装置
JP2013223049A (ja) 画像復号装置、および画像符号化装置
JP2013102280A (ja) 画像復号装置、および画像符号化装置
JP2022096879A (ja) 動画像符号化装置、復号装置
US11683494B2 (en) Moving image coding device and method using chrominance format and intra-frame prediction mode
WO2020122130A1 (ja) 予測画像生成装置、動画像復号装置、動画像符号化装置および予測画像生成方法
JP2013251827A (ja) 画像フィルタ装置、画像復号装置、画像符号化装置、およびデータ構造
JP2022085475A (ja) 動画像符号化装置、復号装置
JP2022156140A (ja) 動画像符号化装置、復号装置
JP2020109919A (ja) 予測画像生成装置、動画像復号装置および動画像符号化装置
JP2021125798A (ja) 動画像符号化装置、復号装置