JP2020141285A - 画像復号装置 - Google Patents

画像復号装置 Download PDF

Info

Publication number
JP2020141285A
JP2020141285A JP2019036130A JP2019036130A JP2020141285A JP 2020141285 A JP2020141285 A JP 2020141285A JP 2019036130 A JP2019036130 A JP 2019036130A JP 2019036130 A JP2019036130 A JP 2019036130A JP 2020141285 A JP2020141285 A JP 2020141285A
Authority
JP
Japan
Prior art keywords
unit
target block
intra
pixels
prediction
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
JP2019036130A
Other languages
English (en)
Inventor
知典 橋本
Tomonori Hashimoto
知典 橋本
瑛一 佐々木
Eiichi Sasaki
瑛一 佐々木
将伸 八杉
Masanobu Yasugi
将伸 八杉
知宏 猪飼
Tomohiro Igai
知宏 猪飼
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.)
FG Innovation Co Ltd
Sharp Corp
Original Assignee
FG Innovation Co Ltd
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 FG Innovation Co Ltd, Sharp Corp filed Critical FG Innovation Co Ltd
Priority to JP2019036130A priority Critical patent/JP2020141285A/ja
Publication of JP2020141285A publication Critical patent/JP2020141285A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】画素をラインバッファに必要以上に格納する必要がない画像復号装置を提供する。【解決手段】動画像復号装置(31)におけるイントラ予測画像生成部(310)は、複数の横ラインの何れか、複数の縦ラインの何れか及び対象ブロックの左上の領域に含まれる画素の何れかを参照してイントラ予測画像を生成し、利用可否設定部(313)は、領域において、複数の縦ライン及び横ラインの少なくとも何れかのラインに含まれる画素を利用不可能に設定する。【選択図】図7

Description

本発明の実施形態は、画像復号装置に関する。
画像を効率的に伝送又は記録するために、画像を符号化することによって符号化データを生成する画像符号化装置、及び、当該符号化データを復号することによって復号画像を生成する画像復号装置が用いられている。
具体的な画像符号化方式としては、例えば、H.264/AVCやHEVC(High-Efficiency Video Coding)にて提案されている方式等が挙げられる。
このような画像符号化方式においては、画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化ツリーユニット(CTU:Coding Tree Unit)、符号化ツリーユニットを分割することで得られる符号化単位(符号化ユニット(Coding Unit:CU)と呼ばれることもある)、及び、符号化単位を分割することより得られる変換ユニット(TU:Transform Unit)からなる階層構造により管理され、CU毎に符号化/復号される。
また、このような画像符号化方式においては、通常、入力画像を符号化/復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像を入力画像(原画像)から減算して得られる予測誤差(「差分画像」又は「残差画像」と呼ぶこともある)が符号化される。予測画像の生成方法としては、画面間予測(インター予測)、及び、画面内予測(イントラ予測)が挙げられる。
また、近年の画像符号化及び復号化技術として非特許文献1が挙げられる。非特許文献1には、Multi Reference Line (MRL)を用いてイントラ予測画像を生成し、当該イントラ予測画像に基づいて復号画像を生成する復号化技術等が開示されている。
"CE3: Multiple reference line intra prediction (Test 1.1.1, 1.1.2, 1.1.3 and 1.1.4)", JVET-L0283-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018
非特許文献1のようにMRLを用いる場合、イントラ予測画像を生成する際に参照する画素をラインバッファに必要以上に格納してしまう可能性がある。
本発明は、イントラ予測画像を生成する際に参照する画素をラインバッファに必要以上に格納する必要がない画像復号装置を提供することを目的とする。
上記課題を解決するために、本発明の一態様に係る画像復号装置は、各画素の利用可否を設定する参照サンプル可用性設定部と、上記参照サンプル可用性設定部によって利用可能と設定された画素を参照してイントラ予測画像を生成するイントラ予測画像生成部とを備え、上記イントラ予測画像生成部は、対象ブロックの上側の横ラインであって、当該対象ブロックからの距離が所定の複数の値によってそれぞれ規定される複数の横ラインの何れか、上記対象ブロックの左側の縦ラインであって、当該対象ブロックからの距離が上記所定の複数の値によってそれぞれ規定される複数の縦ラインの何れか、及び、上記対象ブロックの左上の領域であって、上記複数の横ラインの各々と上記複数の縦ラインの各々とが交差する位置の画素を含む領域に含まれる画素の何れかを参照して上記対象ブロックのイントラ予測画像を生成するものであり、上記参照サンプル可用性設定部は、上記対象ブロックの左上の領域において、上記複数の縦ライン及び横ラインのうち、少なくとも何れかのラインに含まれる画素を、利用不可能に設定する。
上記課題を解決するために、本発明の一態様に係る画像復号装置は、各画素の利用可否を設定する参照サンプル可用性設定部と、上記参照サンプル可用性設定部によって利用可能と設定された画素を参照してイントラ予測画像を生成するイントラ予測画像生成部とを備え、上記イントラ予測画像生成部は、対象ブロックの上側の横ラインであって、当該対象ブロックからの距離が所定の複数の値によってそれぞれ規定される複数の横ラインの何れか、及び上記対象ブロックの左側の縦ラインであって、当該対象ブロックからの距離が上記所定の複数の値によってそれぞれ規定される複数の縦ラインの何れか、を参照して上記対象ブロックのイントラ予測画像を生成するものであり、上記参照サンプル可用性設定部は、上記対象ブロックの右上の横ラインに含まれる画素、及び、上記対象ブロックの左下の縦ラインに含まれる画素、の少なくとも何れかの画素を、利用不可能に設定する。
上記の構成によれば、イントラ予測画像を生成する際に参照する画素をラインバッファが必要以上に格納する必要がない画像復号装置を提供することができる。
本実施形態に係る画像伝送システムの構成を示す概略図である。 本実施形態に係る動画像符号化装置を搭載した送信装置、及び、動画像復号装置を搭載した受信装置の構成について示した図である。(a)は動画像符号化装置を搭載した送信装置を示しており、(b)は動画像復号装置を搭載した受信装置を示している。 本実施形態に係る動画像符号化装置を搭載した記録装置、及び、動画像復号装置を搭載した再生装置の構成について示した図である。(a)は動画像符号化装置を搭載した記録装置を示しており、(b)は動画像復号装置を搭載した再生装置を示している。 符号化ストリームのデータの階層構造を示す図である。 CTUの分割例を示す図である。 イントラ予測モードの種類(モード番号)を示す概略図である。 本実施形態に係る動画像復号装置の構成を示す概略図である。 イントラ予測パラメータ復号部の構成を示す概略図である。 ラインバッファについて説明するための図である。 イントラ予測におけるMRL(Multi Reference Line)について説明するための図である。 イントラ予測画像生成部の構成を示す図である。 利用可否設定部による各画素の利用可否の設定の一例について説明するための図である。 利用可否設定部による各画素の利用可否の設定の一例について説明するための図である。 本実施形態に係る動画像符号化装置の構成を示すブロック図である。 イントラ予測パラメータ符号化部の構成を示す概略図である。
以下、図面を参照しながら本発明の実施形態について説明する。
図1は、本実施形態に係る画像伝送システム1の構成を示す概略図である。
画像伝送システム1は、符号化対象画像を符号化した符号化ストリームを伝送し、伝送された符号化ストリームを復号し画像を表示するシステムである。画像伝送システム1は、動画像符号化装置(画像符号化装置)11、ネットワーク21、動画像復号装置(画像復号装置)31、及び動画像表示装置(画像表示装置)41を含んで構成される。
動画像符号化装置11には画像Tが入力される。
ネットワーク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のそれぞれを復号し、復号した1又は複数の復号画像Tdを生成する。
動画像表示装置41は、動画像復号装置31が生成した1又は複数の復号画像Tdの全部又は一部を表示する。動画像表示装置41は、例えば、液晶ディスプレイ、有機EL(Electro-luminescence)ディスプレイ等の表示デバイスを備える。ディスプレイの形態としては、据え置き、モバイル、HMD等が挙げられる。また、動画像復号装置31が高い処理能力を有する場合には、画質の高い画像を表示し、より低い処理能力しか有しない場合には、高い処理能力、表示能力を必要としない画像を表示する。
<演算子>
本明細書で用いる演算子を以下に記載する。
>>は右ビットシフト、<<は左ビットシフト、&はビットワイズAND、|はビットワイズOR、|=はOR代入演算子であり、||は論理和を示す。
x?y:zは、xが真(0以外)の場合にy、xが偽(0)の場合にzをとる3項演算子である。
Clip3(a,b,c) は、cをa以上b以下の値にクリップする関数であり、c<aの場合にはaを返し、c>bの場合にはbを返し、その他の場合にはcを返す関数である(ただし、a<=b)。
abs(a)はaの絶対値を返す関数である。
Int(a)はaの整数値を返す関数である。
floor(a)はa以下の最大の整数を返す関数である。
ceil(a)はa以上の最大の整数を返す関数である。
a/dはdによるaの除算(小数点以下切り捨て)を表す。
<符号化ストリームTeの構造>
本実施形態に係る動画像符号化装置11及び動画像復号装置31の詳細な説明に先立って、動画像符号化装置11によって生成され、動画像復号装置31によって復号される符号化ストリームTeのデータ構造について説明する。
図4は、符号化ストリームTeにおけるデータの階層構造を示す図である。符号化ストリームTeは、例示的に、シーケンス、及びシーケンスを構成する複数のピクチャを含む。図4の(a)〜(f)は、それぞれ、シーケンスSEQを既定する符号化ビデオシーケンス、ピクチャPICTを規定する符号化ピクチャ、スライスSを規定する符号化スライス、スライスデータを規定する符号化スライスデータ、符号化スライスデータに含まれる符号化ツリーユニット、符号化ツリーユニットに含まれる符号化ユニットを示す図である。
(符号化ビデオシーケンス)
符号化ビデオシーケンスでは、処理対象のシーケンスSEQを復号するために動画像復号装置31が参照するデータの集合が規定されている。シーケンスSEQは、図4の(a)に示すように、ビデオパラメータセット(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
ビデオパラメータセットVPSは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合及び動画像に含まれる複数のレイヤ及び個々のレイヤに関連する符号化パラメータの集合が規定されている。
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために動画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。なお、SPSは複数存在してもよい。その場合、PPSから複数のSPSの何れかを選択する。
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために動画像復号装置31が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値(pic_init_qp_minus26)や重み付き予測の適用を示すフラグ(weighted_pred_flag)が含まれる。なお、PPSは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。
(符号化ピクチャ)
符号化ピクチャでは、処理対象のピクチャPICTを復号するために動画像復号装置31が参照するデータの集合が規定されている。ピクチャPICTは、図4の(b)に示すように、スライス0〜スライスNS-1を含む(NSはピクチャPICTに含まれるスライスの総数)。
なお、以下、スライス0〜スライスNS-1のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームTeに含まれるデータであって、添え字を付している他のデータについても同様である。
(符号化スライス)
符号化スライスでは、処理対象のスライスSを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスは、図4の(c)に示すように、スライスヘッダ、及び、スライスデータを含んでいる。
スライスヘッダには、対象スライスの復号方法を決定するために動画像復号装置31が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダに含まれる符号化パラメータの一例である。
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単方向予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるBスライス等が挙げられる。なお、インター予測は、単予測、双予測に限定されず、より多くの参照ピクチャを用いて予測画像を生成してもよい。以下、P、Bスライスと呼ぶ場合には、インター予測を用いることができるブロックを含むスライスを指す。
なお、スライスヘッダは、ピクチャパラメータセットPPSへの参照(pic_parameter_set_id)を含んでいてもよい。
(符号化スライスデータ)
符号化スライスデータでは、処理対象のスライスデータを復号するために動画像復号装置31が参照するデータの集合が規定されている。スライスデータは、図4の(d)に示すように、CTUを含んでいる。CTUは、スライスを構成する固定サイズ(例えば64x64)のブロックであり、最大符号化単位(LCU:Largest Coding Unit)と呼ぶこともある。
(符号化ツリーユニット)
図4の(e)には、処理対象のCTUを復号するために動画像復号装置31が参照するデータの集合が規定されている。CTUは、再帰的な4分木分割(QT(Quad Tree)分割)、2分木分割(BT(Binary Tree)分割)あるいは3分木分割(TT(Ternary Tree)分割)により符号化処理の基本的な単位である符号化ユニットCUに分割される。BT分割とTT分割を合わせてマルチツリー分割(MT(Multi Tree)分割)と呼ぶ。再帰的な4分木分割により得られる木構造のノードのことを符号化ノード(Coding Node)と称する。4分木、2分木、及び3分木の中間ノードは、符号化ノードであり、CTU自身も最上位の符号化ノードとして規定される。
図5は、CTUの分割例を示す図である。CUは符号化ノードの末端ノードであり、これ以上分割されない。CUは符号化処理の基本的な単位である(図5の(a))。4分木分割の場合、符号化ノードは4つの符号化ノードに分割される(図5の(b))。垂直方向の2分木分割の場合、符号化ノードは垂直方向又は水平方向に2つの符号化ノードに分割される(図5の(c)、(d))。3分木分割の場合、符号化ノードは、垂直方向又は水平方向に3つの符号化ノードに分割される(図5の(e)、(f))。
また、CTUのサイズが64x64画素の場合には、CUのサイズは、64x64画素、64x32画素、32x64画素、32x32画素、64x16画素、16x64画素、32x16画素、16x32画素、16x16画素、64x8画素、8x64画素、32x8画素、8x32画素、16x8画素、8x16画素、8x8画素、64x4画素、4x64画素、32x4画素、4x32画素、16x4画素、4x16画素、8x4画素、4x8画素、及び、4x4画素の何れかをとり得る。
(符号化ユニット)
図4の(f)に示すように、処理対象の符号化ユニットを復号するために動画像復号装置31が参照するデータの集合が規定されている。具体的には、CUは、CUヘッダCUH、予測パラメータ、変換パラメータ、量子化変換係数等から構成される。CUヘッダでは予測モード等が規定される。
予測処理は、CU単位で行われる場合と、CUをさらに分割したサブCU単位で行われる場合がある。CUとサブCUのサイズが等しい場合には、CU中のサブCUは1つである。CUがサブCUのサイズよりも大きい場合、CUは、サブCUに分割される。たとえばCUが8x8、サブCUが4x4の場合、CUは水平2分割、垂直2分割からなる、4つのサブCUに分割される。
予測の種類(予測モード)は、イントラ予測と、インター予測の2つがある。イントラ予測は、同一ピクチャ内の予測であり、インター予測は、互いに異なるピクチャ間(例えば、表示時刻間、レイヤ画像間)で行われる予測処理を指す。
変換・量子化処理はCU単位で行われるが、量子化変換係数は4x4等のサブブロック単位でエントロピー符号化してもよい。
(予測パラメータ)
予測画像は、ブロックに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測とインター予測の予測パラメータがある。
以下、イントラ予測の予測パラメータについて説明する。イントラ予測パラメータは、輝度予測モードIntraPredModeY、色差予測モードIntraPredModeCから構成される。図6は、イントラ予測モードの種類(モード番号)を示す概略図である。図6に示すように、イントラ予測モードは、例えば94種類(-14〜80)存在する。イントラ予測モードは、その中から67モードを選択して使用する。例えば、プレーナ予測(0)、DC予測(1)、Angular予測(2〜66)である。さらに、色差ではLMモード(81〜83)を追加してもよい。
イントラ予測パラメータを導出するためのシンタックス要素には、例えば、intra_luma_mpm_flag、intra_luma_mpm_idx、intra_luma_mpm_remainder等がある。
(MPM)
intra_luma_mpm_flagは、対象ブロックのIntraPredModeYとMPM(Most Probable Mode)とが一致するか否かを示すフラグである。MPMは、MPM候補リストmpmCandList[]に含まれる予測モードである。MPM候補リストは、隣接ブロックのイントラ予測モード及び所定のイントラ予測モードから、対象ブロックに適用される確率が高いと推定される候補を格納したリストである。intra_luma_mpm_pred_flagが1の場合、MPM候補リストとインデックスintra_luma_mpm_idxを用いて、対象ブロックのIntraPredModeYを導出する。
IntraPredModeY = mpmCandList[intra_luma_mpm_idx]
(REM)
intra_luma_mpm_pred_flagが0の場合、イントラ予測モード全体からMPM候補リストに含まれるイントラ予測モードを除いた残りのモードからintra_luma_mpm_remainderを用いて導出される。
(動画像復号装置の構成)
本実施形態に係る動画像復号装置31(図7)の構成について説明する。
動画像復号装置31は、エントロピー復号部301、パラメータ復号部(予測画像復号装置)302、ループフィルタ305、参照ピクチャメモリ306、予測パラメータメモリ307、予測画像生成部(予測画像生成装置)308、逆量子化・逆変換部311、及び加算部312を含んで構成される。なお、後述の動画像符号化装置11に合わせ、動画像復号装置31にループフィルタ305が含まれない構成もある。
パラメータ復号部302は、さらに、図示しない、ヘッダ復号部3020、CT情報復号部3021、及びCU復号部3022(予測モード復号部)を備えており、CU復号部3022はさらにTU復号部3024を備えている。これらを総称して復号モジュールと呼んでもよい。ヘッダ復号部3020は、符号化データからSPS、PPS等のパラメータセット情報、スライスヘッダ(スライス情報)を復号する。CT情報復号部3021は、符号化データからCTを復号する。CU復号部3022は符号化データからCUを復号する。TU復号部3024は、TUに予測誤差が含まれている場合に、符号化データからQP更新情報(量子化補正値)と量子化予測誤差(residual_coding)を復号する。
また、パラメータ復号部302は、図示しないインター予測パラメータ復号部303及びイントラ予測パラメータ復号部304を含んで構成される。予測画像生成部308は、インター予測画像生成部309及びイントラ予測画像生成部310を含んで構成される。
また、以降では処理の単位としてCTU、CUを使用した例を記載するが、この例に限らず、サブCU単位で処理をしてもよい。あるいはCTU、CU、をブロック、サブCUをサブブロックと読み替え、ブロックあるいはサブブロック単位の処理としてもよい。
エントロピー復号部301は、外部から入力された符号化ストリームTeに対してエントロピー復号を行って、個々の符号(シンタックス要素)を復号する。エントロピー符号化には、シンタックス要素の種類や周囲の状況に応じて適応的に選択したコンテキスト(確率モデル)を用いてシンタックス要素を可変長符号化する方式と、あらかじめ定められた表、あるいは計算式を用いてシンタックス要素を可変長符号化する方式がある。前者のCABAC(Context Adaptive Binary Arithmetic Coding)は、符号化あるいは復号したピクチャ(スライス)毎に更新した確率モデルをメモリに格納する。そして、Pピクチャ、あるいはBピクチャのコンテキストの初期状態として、メモリに格納された確率モデルの中から、同じスライスタイプ、同じスライスレベルの量子化パラメータを使用したピクチャの確率モデルを設定する。この初期状態を符号化、復号処理に使用する。これらの符号には、予測画像を生成するための予測情報及び、差分画像を生成するための予測誤差等がある。
エントロピー復号部301は、これらの符号をパラメータ復号部302に出力する。どの符号を復号するかの制御は、パラメータ復号部302の指示に基づいて行われる。
(イントラ予測パラメータ復号部304の構成)
イントラ予測パラメータ復号部304は、エントロピー復号部301から入力された符号に基づいて、予測パラメータメモリ307に記憶された予測パラメータを参照してイントラ予測パラメータ、例えば、イントラ予測モードIntraPredModeを導出する。イントラ予測パラメータ復号部304は、導出したイントラ予測パラメータを予測画像生成部308に出力し、また予測パラメータメモリ307に記憶する。イントラ予測パラメータ復号部304は、輝度と色差で異なるイントラ予測モードを導出してもよい。
図8は、パラメータ復号部302のイントラ予測パラメータ復号部304の構成を示す概略図である。図8に示すように、イントラ予測パラメータ復号部304は、輝度イントラ予測パラメータ復号部3042と、色差イントラ予測パラメータ復号部3043とを含んで構成される。
イントラ予測パラメータ復号部304は、エントロピー復号部301からシンタックス要素を受け取る。その中のintra_luma_mpm_flagが1の場合、イントラ予測パラメータ復号部304は、輝度イントラ予測パラメータ復号部3042内のMPMパラメータ復号部30422にintra_luma_mpm_idxを出力する。また、intra_luma_mpm_flagが0の場合、イントラ予測パラメータ復号部304は、輝度イントラ予測パラメータ復号部3042の非MPMパラメータ復号部30423にintra_luma_mpm_remainderを出力する。また、イントラ予測パラメータ復号部304は、色差イントラ予測パラメータ復号部3043に色差のイントラ予測パラメータのシンタックス要素を出力する。
輝度イントラ予測パラメータ復号部3042は、MPM候補リスト導出部30421と、MPMパラメータ復号部30422と、非MPMパラメータ復号部30423と、MRLパラメータ復号部30424とを含んで構成される。
MPMパラメータ復号部30422は、MPM候補リスト導出部30421によって導出されたMPM候補リストmpmCandList[]とintra_luma_mpm_idxを参照して、輝度予測モードIntraPredModeYを導出し、イントラ予測画像生成部310に出力する。
非MPMパラメータ復号部30423は、MPM候補リストmpmCandList[]とintra_luma_mpm_remainderからRemIntraPredModeをIntraPredModeYとして導出し、イントラ予測画像生成部310に出力する。
MRLパラメータ復号部30424は、intra_luma_ref_idxからRefLineIdx(refIdx)を導出する。
intra_luma_ref_idx= 0ならば、RefLineIdx = 0
intra_luma_ref_idx= 1ならば、RefLineIdx = 1
intra_luma_ref_idx= 2ならば、RefLineIdx = 3
色差イントラ予測パラメータ復号部3043は、色差のイントラ予測パラメータのシンタックス要素から色差予測モードIntraPredModeCを導出し、イントラ予測画像生成部310に出力する。
ループフィルタ305は、符号化ループ内に設けたフィルタで、ブロック歪やリンギング歪を除去し、画質を改善するフィルタである。ループフィルタ305は、加算部312が生成したCUの復号画像に対し、デブロッキングフィルタ、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)等のフィルタを施す。
参照ピクチャメモリ306は、加算部312が生成したCUの復号画像を、対象ピクチャ及び対象CU毎に予め定めた位置に記憶する。また、参照ピクチャメモリ306は、ラインバッファとしても機能する。
以下、図9を用いて、ラインバッファ(ラインメモリ)について説明する。図9は、ラインバッファについて説明するための図である。ラインバッファは、本実施形態では、イントラ予測において参照される参照画素を保持しておくためのバッファである。ラインバッファは、図9の(a)のように、対象CTUに対する上側の画素値(横ラインL1)、左側の画素値(縦ラインL2)、及び、対象ブロックの左上の画素値(領域R)を保持する。なお、図9の(a)に示すラインバッファを、図9の(c)に示すように、1次元配列として参照ピクチャメモリ306に格納してもよい。
また、図9の(b)では、対象ブロックb1の復号画像を生成する処理に先立ち、ラインバッファに、対象ブロックb1の上側の横ラインl1、対象ブロックb1の左側の縦ラインl2、及び、対象ブロックb1の左上の領域rに含まれる各画素の画素値が保持される。後述する加算部312がイントラ予測画像及び予測誤差を参照して対象ブロックの復号画像を生成する毎に、ラインバッファは上書きされる。例えば、加算部312が、図9の(b)に示す対象ブロックb1の復号画像を生成後、ラインバッファは、図9の(d)に示す画素値によって上書きされる。すなわち、ラインバッファは、対象ブロックb1の右端の画素(b2の左側の画素)と、対象ブロックb2の左上の領域の領域と、対象ブロックb2より後に復号する対象ブロックb3の上側の画素とをラインバッファに格納する。
なお、上述の例では、参照ピクチャメモリ306は、ラインバッファとしても機能するが、本実施形態では、これに限定されない。本実施形態では、動画像復号装置31は、参照ピクチャメモリ306とは別にラインバッファを備え、当該ラインバッファに格納された画素値が未フィルタ参照画像設定部3102に供給される構成としてもよい。
予測パラメータメモリ307は、復号対象ブロック毎に予め定めた位置に予測パラメータを記憶する。具体的には、予測パラメータメモリ307は、パラメータ復号部302が導出したパラメータ及びエントロピー復号部301が復号したpredMode等を記憶する。
予測画像生成部308には、predMode、予測パラメータ等が入力される。また、予測画像生成部308は、参照ピクチャメモリ306から参照ピクチャを読み出す。予測画像生成部308は、predModeが示す予測モードで、予測パラメータと読み出した参照ピクチャ(参照ピクチャブロック)を用いてブロック若しくはサブブロックの予測画像を生成する。ここで、参照ピクチャブロックとは、参照ピクチャ上の画素の集合(通常矩形であるのでブロックと呼ぶ)であり、予測画像を生成するために参照する領域である。
(イントラ予測画像生成部310)
predModeがイントラ予測モードを示す場合、イントラ予測画像生成部310は、イントラ予測パラメータ復号部304から入力されたイントラ予測パラメータと参照ピクチャメモリ306から読み出した参照画素を用いてイントラ予測を行う。
イントラ予測画像生成部310は、利用可否設定部313によって利用可能と設定された画素を参照してイントラ予測画像を生成する。イントラ予測画像生成部310は、対象ブロックに隣接する画素を参照ピクチャメモリ306から読み出す。イントラ予測モードによって参照する画素は異なる。
イントラ予測画像生成部310は、読み出した復号画素値とIntraPredModeを参照して、対象ブロックの予測画像を生成する。イントラ予測画像生成部310は生成したブロックの予測画像を加算部312に出力する。
以下では、イントラ予測画像生成部310が、MRL(Multi Reference Line)を用いたAngular予測によってイントラ予測画像を生成する処理を、図10を用いて説明する。
図10は、イントラ予測におけるMRLについて説明するための図である。
HEVCでは、対象ブロックの上側に隣接する横ライン、対象ブロックの左側に隣接する縦ライン、及び、対象ブロックの左上の領域に含まれる画素のうち、対象ブロックに直接接する1ラインに含まれる画素を参照して、対象ブロックのイントラ予測画像を生成する。
一方、MRLでは、図10の(a)に示すように、対象ブロックの左側の複数の縦ライン(A及びB)、及び、対象ブロックの上側の複数の横ライン(D及びE)、対象ブロックの左上の領域(C)が参照可能となる。
より具体的には、MRLでは、対象ブロックの上側の複数の横ラインの何れか、対象ブロックの左側の複数の縦ラインの何れか、及び、対象ブロックの左上の領域Cに含まれる画素の何れかを参照して、対象ブロックのイントラ予測画像を生成する。なお、MRLでは、図10の(a)の領域Eの画素値を、領域Dの右端の画素の画素値をコピーすることによって(用いて)生成する構成としてもよい。また、MRLでは、領域Aの画素値を、領域Bの下端の画素の画素値を用いて生成する構成としてもよい。
上述の対象ブロックの左上の領域Cは、複数の横ラインの各々と複数の縦ラインの各々とが交差する位置の画素を含む領域である。また、上述の複数の横ライン及び縦ラインは、対象ブロックからの距離が所定の複数の値(RefLineIdx=0、RefLineIdx=1及びRefLineIdx=3)によってそれぞれ規定されている。RefLineIdxは、シンタックス要素intra_luma_ref_idxから導出される変数であり、参照する隣接画素のラインの位置を表す。シンタックス要素と変数との関係を図10の(b)に示す。
ここで、図10の(a)に示すように、RefLineIdx=0は、対象ブロックの1画素上側の横ライン、及び、対象ブロックの1画素左側の縦ラインを規定している。すなわち、RefLineIdx=0は、対象ブロックの上側及び左側に隣接した横ライン及び縦ラインを規定している。RefLineIdx=1は、対象ブロックの2画素上側の横ライン、及び、対象ブロックの2画素左側の縦ラインを規定している。RefLineIdx=3は、対象ブロックの4画素上側の横ライン、及び、対象ブロックの4画素左側の縦ラインを規定している。ここでは、RefLineIdx=2のライン、すなわち、予測対象ブロックの3画素上側の横ライン、及び、対象ブロックの3画素左側の縦ラインはイントラ予測画像を生成する際に参照しない。
上述したように、ラインバッファは、対象ブロックの上側の複数の横ライン、対象ブロックの左側の複数の縦ライン、及び、対象ブロックの左上の領域に含まれる画素を格納する必要がある。対象ブロックの上側の複数の横ラインはCTUの幅×ライン数の画素(例えば128×3(=384)画素)だけラインバッファに格納し、対象ブロックの左側の複数の縦ラインはCTUの高さ×ライン数の画素(例えば128×3(=384)画素)だけラインバッファに格納すればよい。これに対し、対象ブロックの左上の領域に含まれる画素は、1CTU内のブロック分割によって発生し得るブロックの数だけ画素をラインバッファに格納する必要がある。具体的には、動画像復号装置31が1CTU(ctbSize)を最小ブロックサイズ(MinCbSize)の定数倍に分割する場合、最大で対象ブロック(分割ブロック)の左上の領域はctbSize / MinCbSize個生じる。例えば、CTUサイズが128x128(=16364)画素であり、最小ブロックサイズが4x4=16画素である場合、対象ブロックの左上の領域は32個生じる。ここで、格納する対象ブロックの左上の領域の画素数が11である場合、11×32(=352)画素をラインバッファに格納する必要がある。なお、動画像復号装置31は処理速度の観点から、スキャン順としてラスタスキャンを守る必要はなく、分割によってはより多くの対象ブロックの左上の領域が生じる場合が存在する。
図10に示すように、MRLを用いる場合(MRLオンの場合)、例えば、3つの横ラインの何れか、3つの縦ラインの何れか、及び、対象ブロックの左上の4×4(=16)画素から構成される領域の何れか、を各々参照して対象ブロックのイントラ予測画像を生成する。そして、RefLineIdx=0、RefLineIdx=1及びRefLineIdx=3によって規定される対象ブロックの上側の3つの横ライン、及び、左側の3つの縦ライン、並びに、対象ブロックの左上の領域を参照して対象ブロックのイントラ予測画像を生成する。この場合、対象ブロックの上側の横ライン及び左側の縦ラインは、当該横ライン及び縦ラインが1ラインである場合(MRLオフの場合)に比べて、それぞれ3倍の画素をラインバッファに格納する必要がある。また、ラインバッファは、対象ブロックの左上の領域において、対象ブロックと頂点を共有する画素のみを参照する場合(MRLオフの場合)に比べて、MRLオンの場合には11倍の画素を格納する必要がある。
また、例えば、ラインバッファに3ライン分の画素を格納するのではなく、使われるラインの画素のみを保持する構成では、対象ブロックが参照するライン及び前のブロックが参照したラインの2つのラインだけを格納すればよく、3ライン分をラインバッファに格納する必要がない。しかし、少なくとも2ライン分を参照することから、ラインバッファはMTLオフの場合(1ライン)である場合に比べて、上側の横ライン及び左側の縦ライン用の領域において、それぞれ2倍の画素をラインバッファに格納する必要がある。また、対象ブロックの左上の領域においても、MRLオフの場合に比べて11倍の画素を格納する必要がある。
これに対し、本実施形態のイントラ予測画像生成部310は、利用可否設定部313によって利用可能と設定された画素のみを参照してイントラ予測画像を生成する。例えば、イントラ予測画像生成部310は、対象ブロックの左上の領域において、対象ブロックと頂点を共有する画素のみを参照してイントラ予測画像を生成する。そのため、イントラ予測画像を生成する際に参照する画素を削減することができ、ラインバッファのサイズを低減できる。
(イントラ予測画像生成部310による画素の参照方法)
以下、イントラ予測画像生成部310がイントラ予測画像を生成する際の画素の参照方法について、図10を用いて詳細に説明する。
RefLineIdxによって指定される対象ブロックの左側の縦ライン、対象ブロックの左上の領域及び対象ブロックの上側の横ラインが全て利用可能な場合には、イントラ予測画像生成部310は、対象ブロックの隣接ブロックの画像をそのままイントラ参照画像refN[][]として参照して、対象ブロックのイントラ予測画像を生成する。
RefLineIdxによって指定される対象ブロックの左側の縦ライン、対象ブロックの左上領域及び対象ブロックの上側の横ラインが全て不可能な場合には、イントラ予測画像生成部310は、参照ラインの画像refN[][]に1<<(BitDepth-1)を設定し、当該画像refN[][]を用いてイントラ予測画像を生成する。ここで、BitDepthは画素値のビット深度を示し、例えば10bitである。
対象ブロックの上側の複数の横ライン、及び、対象ブロックの左側の複数の縦ラインのうち、一部の画像が利用可能な場合には、イントラ予測画像生成部310は、利用可能な画素を参照して、画像refN[][]を導出し、画像refN[][]を用いて、対象ブロックのイントラ予測画像を生成する。
(イントラ予測画像生成部310による画素の参照方法の詳細1)
より詳細には、イントラ予測画像生成部310は、対象ブロックの左上の座標が(xTbTmp, yTbTmp)、幅がbW、高さがbHである場合に、以下のREFSステップ(reference sample step)によりイントラ予測画像に用いる参照画像p[][](x = -1 - RefLineIdx, y = -1 - RefLineIdx..refH - 1 and x = -RefLineIdx..refW - 1, y = - 1 - RefLineIdx)を導出する。
REFSステップ0:refW = 2*bW, refH = 2*bH
REFSステップ1:利用可否設定部(参照サンプル可用性設定部)313は、対象ブロックの隣接画像から参照画像refN[x][y]とrefN[x][y]の利用可能性を導出する(x = -1 - RefLineIdx, y = -1 - RefLineIdx..refH - 1 and x = - RefLineIdx..refW - 1, y = -1 - RefLineIdx)
REFSステップ2:イントラ予測画像生成部310は、参照画像refN[x][y]の少なくとも1画素がイントラ予測に利用不可能とマークされている場合に、利用可能な画素を用いて参照画像refN[][]を導出する。
REFSステップ3:イントラ予測画像生成部310は、参照画像refN[x][y]にフィルタ処理を行い、イントラ予測参照画像p[x][y]を導出する(x = -1 - RefLineIdx, y = -1 - RefLineIdx..refH - 1 and x = -RefLineIdx..refW - 1, y = -1 - RefLineIdx)。
(イントラ予測画像生成部310による画素の参照方法の詳細2)
イントラ予測画像生成部310は、参照画像refNの幅及び高さがrefW, refHにおいて、以下のSUBSステップ(substitution step)によりイントラ予測画像に用いる参照画像refN[][](x = -1 - RefLineIdx, y = -1 - RefLineIdx..refH - 1 and x = -RefLineIdx..refW - 1, y = -1 - RefLineIdx)を変更する。
SUBSステップ1:利用可否設定部313は、x = -1 - RefLineIdx, y = -1 - RefLineIdx..refH-1及びx =-RefLineId..refW - 1, y = -1 - RefLineIdxの画素refN[x][y]の全てが利用不可能の場合、画素refN[x][y]に1<<(bitDepth-1)を設定する。
SUBSステップ2:利用可否設定部313は、SUBSステップ1に示す例を除き、x=-1-RefLineIdx,y=-1-RefLineIdx..refH-1とx=-RefLineIdx..refW-1,y=-1-RefLineIdxの画素refN[x][y]の何れかが利用不可能の場合、以下の処理を順に行う。
SUBSステップ3:利用可否設定部313は、refN[-1-RefLineIdx][refH-1]が利用不可能の場合、左下の画素(x = -1-RefLineIdx, y = refH-1)から左上の画素(x = -1-RefLineIdx, y = -1-RefLineIdx)に向かって対象ブロックの左側の縦ラインに属する画素refN[x][y]をサーチする。利用可否設定部313は、さらに、左上の画素(x = -RefLineIdx, y = -1-RefLineIdx)から右上の画素(x = refW-1, y = -1-RefLineIdx)に向かって対象ブロックの上側の横ラインに属する画素をサーチする。利用可否設定部313は、最初に見つかったイントラ予測に利用可能とマークされた画素の画素値refN[x][y]をrefN[-1-RefLineIdx][refH-1]に設定する。例えば以下の式で表現できる。
Found = FALSE
for (x= -1-RefLineIdx, y=refH-1; y<=-1-RefLineIdx && found == FALSE; y=y+1) {
if ((x,y)の画素がavailable) {
refN[-1-RefLineIdx][refH-1] = refN[x][y]
found = TRUE
}
}
for (x = -RefLineIdx, y=-1-RefLineIdx; x<=refW-1 && found == FALSE; x=x+1) {
if ((x,y)の画素がavailable) {
refN[-1-RefLineIdx][refH-1] = refN[x][y]
found = TRUE
}
}
SUBステップ4:
続いて、利用可否設定部313は、左下の画素(x = -1-RefLineIdx, y = refH-2)から左上の画素(x = -1-RefLineIdx, y = -1-RefLineIdx)に向かって対象ブロックの左側の縦ラインに属する画素refN[x][y]をサーチする。refN[x][y]がイントラ予測に利用不可能とマークされている場合には、利用可否設定部313は、参照不可の画素位置(x,y)の下側の位置(x,y+1)の画素refN[x][y+1]を対象画素refN[x][y]に設定する。
for (x = -1-RefLineIdx, y = refH-2; y <= -1-RefLineIdx; y = y-1)
if ((x,y)の画素がnot available) {
refN[x][y] = refN[x][y+1]
}
SUBSステップ5:
続いて、利用可否設定部313は、左上の画素(x = 0, y = -1-RefLineIdx)から右上の画素(x = refW-1, y = -1-RefLineIdx)に向かって対象ブロックの上側の横ラインに属する画素refN[x][y]をサーチする。refN[x][y]がイントラ予測に利用不可能とマークされている場合には、利用可否設定部313は、参照不可の画素位置(x,y)の左側の位置(x-1,y)の画素refN[x-1][y]を対象画素refN[x][y]に設定する。
for (x = 0, y = -1-RefLineIdx; x<=refW-1; x=x+1)
if ((x,y)の画素がnot available) {
refN[x][-1]= refN[x-1][-1]
}
SUBSステップ4:
最後に利用可否設定部313は、上記ステップを終了した画素refN[x][y]を、イントラ予測に利用可能に設定し直す。
なお、上述の処理は以下のようにも表現できる。
例えば、イントラ予測画像生成部310は、図10の(a)に示すRefLineIdx=0によって規定される縦ライン及び横ライン(4n+1個の画素から形成されるL字型のライン)において、左下の画素から右上の画素に向かって当該L字型のラインを参照して対象ブロックのイントラ予測画像を生成する。ここで2n=bW+nHである。
また、上述のL字型のラインにおいても、利用不可能な画素(例えば、復号されていない画素又はピクチャ外の画素)がある。この場合、イントラ予測画像生成部310は、利用不可能な画素の画素値を、上述のL字型のラインにおける一つ前の画素の画素値を用いて生成する。続いて、イントラ予測画像生成部310は、生成した画素値を用いてイントラ予測画像を生成する。
なお、上述の例では、イントラ予測画像生成部310は、RefLineIdx=0の値によって規定される縦ライン及び横ラインからなるL字型のラインにおける左下の画素から右上の画素に向かって利用不可能な画素をサーチしている。ただし、本実施形態ではこれに限定されない。本実施形態では、イントラ予測画像生成部310は、例えば、RefLineIdx=1又はRefLineIdx=3によって規定される縦ライン及び横ラインからなるL字型のラインにおいて、右上の画素から左下の画素に向かって、利用不可能な画素をサーチしてもよい。
(予測画像生成部の詳細)
次に、図11を用いてイントラ予測画像生成部310の構成の詳細を説明する。イントラ予測画像生成部310は、予測対象ブロック設定部3101、未フィルタ参照画像設定部3102(第1の参照画像設定部)、フィルタ済参照画像設定部3103(第2の参照画像設定部)、イントラ予測部3104、及び、予測画像補正部3105(予測画像補正部、フィルタ切替部、重み係数変更部)を備える。
参照領域R上の各参照画素(未フィルタ参照画像)、参照画素フィルタ(第1のフィルタ)を適用して生成したフィルタ済参照画像、イントラ予測モードに基づいて、イントラ予測部3104は予測対象ブロックの仮予測画像(補正前予測画像)を生成し、予測画像補正部3105に出力する。予測画像補正部3105は、イントラ予測モードに応じて仮予測画像を修正し、予測画像(補正済予測画像)を生成し、出力する。
以下、イントラ予測画像生成部310が備える各部について説明する。
(予測対象ブロック設定部3101)
予測対象ブロック設定部3101は、対象CUを予測対象ブロックに設定し、予測対象ブロックに関する情報(予測対象ブロック情報)を出力する。予測対象ブロック情報には、予測対象ブロックのサイズ、位置、輝度か色差かを示すインデックスが少なくとも含まれる。
(未フィルタ参照画像設定部3102)
未フィルタ参照画像設定部3102は、予測対象ブロックのサイズと位置に基づいて、対象ブロックの上側の複数の横ライン、対象ブロックの左側の複数の縦ライン、及び、対象ブロックの左上の領域に含まれる画素を参照領域Rとして設定する。続いて、参照領域R内の各画素値(未フィルタ参照画像、境界画素)に、参照ピクチャメモリ306上で対応する位置の各復号画素値をセットする。
(フィルタ済参照画像設定部3103)
フィルタ済参照画像設定部3103は、イントラ予測モードに応じて、未フィルタ参照画像に参照画素フィルタ(第1のフィルタ)を適用して、参照領域R上の各位置(x,y)のフィルタ済参照画像s[x][y]を導出する。具体的には、位置(x,y)とその周辺の未フィルタ参照画像にローパスフィルタを適用し、フィルタ済参照画像を導出する。なお、必ずしも全イントラ予測モードにローパスフィルタを適用する必要はなく、一部のイントラ予測モードに対してローパスフィルタを適用してもよい。なお、フィルタ済参照画像設定部3103において参照領域R上の未フィルタ参照画像に適用するフィルタを「参照画素フィルタ(第1のフィルタ)」と呼称するのに対し、後述の予測画像補正部3105において仮予測画像を補正するフィルタを「バウンダリフィルタ(第2のフィルタ)」と呼称する。
(イントラ予測部3104の構成)
イントラ予測部3104は、イントラ予測モードと、未フィルタ参照画像、フィルタ済参照画素値に基づいて予測対象ブロックの仮予測画像(仮予測画素値、補正前予測画像)を生成し、予測画像補正部3105に出力する。イントラ予測部3104は、内部にPlanar予測部31041、DC予測部31042、Angular予測部31043、及びLM予測部31044を備えている。イントラ予測部3104は、イントラ予測モードに応じて特定の予測部を選択して、未フィルタ参照画像、フィルタ済参照画像を入力する。イントラ予測モードと対応する予測部との関係は次の通りである。
・Planar予測 ・・・Planar予測部31041
・DC予測 ・・・DC予測部31042
・Angular予測 ・・・Angular予測部31043
・LM予測 ・・・LM予測部31044
(Planar予測)
Planar予測部31041は、予測対象画素位置と参照画素位置との距離に応じて、複数のフィルタ済参照画像を線形加算して仮予測画像を生成し、予測画像補正部3105に出力する。
(DC予測)
DC予測部31042は、フィルタ済参照画像s[x][y]の平均値に相当するDC予測値を導出し、DC予測値を画素値とする仮予測画像q[x][y]を出力する。
(Angular予測)
Angular予測部31043は、イントラ予測モードの示す予測方向(参照方向)のフィルタ済参照画像s[x][y]を用いて仮予測画像q[x][y]を生成し、予測画像補正部3105に出力する。
(LM予測)
LM予測部31044は、輝度の画素値に基づいて色差の画素値を予測する。具体的には、復号した輝度画像をもとに、線形モデルを用いて、色差画像(Cb、Cr)の予測画像を生成する方式である。LM予測には、CCLM(Cross-Component Linear Model prediction)予測とMMLM(Multiple Model ccLM)予測がある。CCLM予測は、1つのブロックに対し、輝度から色差を予測するための線形モデルを1つ使用する予測方式である。MMLM予測は、1つのブロックに対し、輝度から色差を予測するための線形モデルを2つ以上使用する予測方式である。
(予測画像補正部3105の構成)
予測画像補正部3105は、イントラ予測モードに応じて、イントラ予測部3104から出力された仮予測画像を修正する。具体的には、予測画像補正部3105は、仮予測画像の各画素に対し、参照領域Rと対象予測画素との距離に応じて、未フィルタ参照画像と仮予測画像を重み付け加算(加重平均)することで、仮予測画像を修正した予測画像(補正済予測画像)Predを導出する。なお、一部のイントラ予測モードでは、予測画像補正部3105で仮予測画像を補正せず、イントラ予測部3104の出力をそのまま予測画像としてもよい。
(利用可否設定部313)
利用可否設定部(参照サンプル可用性設定部)313は、イントラ予測画像生成部310がイントラ予測画像を生成する際に参照する画像refN[x][y]を、対象画像currSample[][]上の対象ブロックの隣接画像から導出する。また、利用可否設定部313は、各画素refN[x][y]の利用可否、すなわち、イントラ予測に利用可能であるか利用不可能であるかを設定する。ループフィルタ適用前の画像であることを強調するためにrefN[][]をrefUnfilt[][]と記述してもよい。
利用可否設定部313は、対象ブロックの左上の座標(xTbCmp, yTbCmp)、及び、対象ブロック左上からの相対位置(x, y)から、以下の式によって隣接位置(xNbTmp, yNbTmp)を導出する。
(xNbCmp, yNbCmp) = (xTbCmp + x, yTbCmp + y)
利用可否設定部313は、対象ブロック(xCurr,yCurr)の隣接ブロックN(xNbY,yNbY)の画素が利用可能か否かを示すavailableNを導出する。ここで、(xCurr,yCurr)は、対象ピクチャの左上サンプルを原点とした場合の対象ブロックの左上サンプルの位置である。(xNbY,yNbY)は、対象ブロックの左上サンプルを原点とした場合の対象ブロックの隣接ブロックに含まれる位置である。なお、利用可否設定部313は、色コンポーネント(cIdx)が輝度(cIdx = 0)であるか否かに応じて、(xCurrY, yCurrY)及び(xNbY, yNbY)の輝度座標を以下のように設定してもよい。
(xCurr,yCurr) = (xTbY,yTbY)=(cIdx=0)?(xTbCmp,yTbCmp):(xTbCmp<<1,yTbCmp<<1)
(xNbY,yNbY)=(cIdx=0)?(xNbCmp,yNbCmp):(xNbCmp<<1,yNbCmp<<1)
利用可否設定部313は、(xNbY,yNbY)が利用不可能の場合には、availableNをFALSE(not available)、利用可能な場合には、TRUE(available)に設定する。すなわち、利用可否設定部313は、以下の条件の1つ以上が真の場合には、availableNをFALSEと導出する。
xNbY < 0
yNbY < 0
xNbY >= pic_width_in_luma_samples
yNbY >= pic_height_in_luma_samples
また、利用可否設定部313は、隣接ブロックと対象画素とが異なるセグメント(タイルなど)である場合に、さらに、availableNをFALSEと導出してもよい。例えば、利用可否設定部313は、(xNbY,yNbY)と(xCurr,yCurr)とでタイルIDが異なる場合に、availableNをFALSEと導出してもよい。
利用可否設定部313は、availableNがFALSEの場合に、参照画素refN[x][y]を、イントラ予測に利用不可能(以下、単に利用不可能)に設定(マーク)し、それ以外の場合に、参照画素refN[x][y]を、イントラ予測に利用可能(以下、単に利用可能)に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[x][y]に設定してもよい。
利用不可能と設定された参照画像refN[][]は、既に説明した上述の画素の参照方法により代用の画素が代入され、利用可能に設定される。
(本実施形態における利用可否設定部313の構成例の概要)
利用可否設定部313は、対象ブロックの左上の領域において、複数の縦ライン及び横ラインのうち、少なくとも何れかのラインに含まれる画素を利用不可能に設定してもよい。上述の構成によれば、イントラ予測画像生成部310は、複数の縦ライン及び横ラインのうち、利用可否設定部313によって利用可能と設定された画素のみを参照してイントラ予測画像を生成してもよい。そのため、イントラ予測画像を生成する際に参照する画素をラインバッファに必要以上に格納しなくてもよいという効果がある。
(イントラ予測画像生成部310による利用画素選択例1)
イントラ予測画像生成部310は、対象ブロックの左上の領域に含まれる画素のうち、一部の画素(利用可能な画素)のみを格納し、それ以外の画素(利用不可能の画素)は利用可能な画素から生成してもよい。イントラ予測画像生成部310は、生成した参照画素値を用いてイントラ予測画像を生成してもよい。利用可否設定部313が、ピクチャ外の画素、未復号の画素、又はラインバッファに格納されていない画素を利用不可能に設定し、復号済の画素、又はラインバッファに格納された画素を利用可能に設定した場合、イントラ予測画像生成部310は、利用可能な画素から利用不可能の画素を導出してもよい。
以下、利用画素選択例1について、図10を用いてより詳細に説明する。ここでは、利用可否設定部313は、対象ブロックの左上の領域に含まれる画素のうち、対象ブロックと頂点を共有する画素以外の画素を、利用不可能に設定する。
具体的には、利用可否設定部313は、図10の(c)に示すように、領域Cに含まれるRefLineIdx=0の画素(xCurr-1,yCurr-1)は利用可能に設定し、RefLineIdx!=0(RefLineIdx > 0)の画素は利用不可能に設定する。
例えば、availableNがFALSE又は(RefLineIdx>0、かつ、x<0、かつ、y<0)の場合に、利用可否設定部313は、参照画素refN[x][y]を、利用不可能に設定(マーク)してもよい。それ以外の場合に、利用可否設定部313は、参照画素refN[x][y]を、利用可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[x][y]に設定してもよい。
また、RefLineIdxを区別しなくても結果は変わらないため、availableNがFALSE又は(x<0、かつ、y<0)の場合に、利用可否設定部313は、参照画素refN[x][y]を、利用不可能に設定(マーク)してもよい。それ以外の場合に、利用可否設定部313は、参照画素refN[x][y]を、利用可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[x][y]に設定してもよい。
あるいは、イントラ予測画像生成部310は、参照画素の位置(xNbCmp, yNbCmp)を、対象ブロックの左上位置(xTbCmp, yTbCmp)と、左上位置からの相対位置(x, y)とから導出する場合に、以下の式のように、RefLineIdx>0、かつx<0、かつy<0の場合に、対角線上の位置(xTbCmp-1, yTbCmp-1)から位置を導出してもよい。
if (RefLineIdx>0 && x<0 && y<0)
(xNbCmp, yNbCmp) = (xTbCmp-1, yTbCmp-1)
Otherwise
(xNbCmp, yNbCmp) = (xTbCmp+x, yTbCmp+y)
また、イントラ予測画像生成部310は、RefLineIdxを区別せずに以下によって導出してもよい。
if (x<0 && y<0)
(xNbCmp, yNbCmp) = (xTbCmp-1, yTbCmp-1)
Otherwise
(xNbCmp, yNbCmp) = (xTbCmp+x, yTbCmp+y)
あるいは、イントラ予測画像生成部310は、availableNがFALSEの場合に、参照画素refN[x][y]を利用不可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[xTbCmp-1][yTbCmp-1]に設定してもよい。それ以外の場合に、イントラ予測画像生成部310は、参照画素refN[x][y]を利用可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[xTbCmp+x][yTbCmp+y]に設定してもよい。
上述の構成によれば、イントラ予測画像生成部310は、対象ブロックの左上の領域に含まれる画素を参照する場合、対象ブロックと頂点を共有する画素のみを参照してイントラ予測画像を生成できる。そのため、対象ブロックの左上の領域において、対象ブロックと頂点を共有する画素のみを参照する場合と同数の画素をラインバッファに格納すればよいという効果がある。すなわち、ラインメモリを削減できる。
(イントラ予測画像生成部310による利用画素選択例2)
以下、利用画素選択例2について、図10を用いて説明する。ここでは、利用可否設定部313は、対象ブロックの左上の領域に含まれる画素のうち、複数の横ラインの各々と、複数の縦ラインの各々とが交差する位置以外の画素を、利用不可能に設定する。すなわち、利用可否設定部313は、対象ブロックの左上の領域の画素のうち、x座標とy座標とが同じ画素を利用可能に設定する。
具体的には、利用可否設定部313は、図10の(d)に示すように、領域Cの画素を(x,y)とすると、x-xCurr=y-yCurrである画素を利用可能に設定し、x-xCurr!=y-yCurrである画素を利用不可能に設定してもよい。
例えば、availableNがFALSE、又は(RefLineIdx>0かつx!=y)の場合に、利用可否設定部313は、参照画素refN[x][y]を利用不可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[x-offset][y-offset]に設定してもよい。それ以外の場合に、利用可否設定部313は、参照画素refN[x][y]を利用可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[x][y]に設定してもよい。
ここで、(x, y)は対象ブロック左上位置からの相対位置であり、
x = -1-RefLineIdx, y = (-1-RefLineIdx)..(refH-1)、及び、
x = (-1-RefLineIdx)..(refW-1), y = -1-RefLineIdxの値をとる。ただし、参照画素の幅refW及び高さrefHは、対象ブロックの幅bWと高さbHから以下の式によって導出してもよい。
refW = bW * 2
refH = bH * 2
イントラ予測画像生成部310は、対象ブロックの左上の領域に含まれる画素のうち、利用不可能に設定された画素の画素値を、利用可能に設定された画素の画素値を用いて生成してもよい。また、イントラ予測画像生成部310は、生成した画素値を用いてイントラ予測画像を生成してもよい。
例えば、イントラ予測画像生成部310は、領域Cの画素が(x,y)である場合、(x,y)の画素値をrefN[x][y]を以下の式によって導出してもよい。currSamples[][]は対象画像である。
refN[x][y]=currSamples[xCurr-offset][yCurr-offset]
ここで、(x,y)=(xCurr-i,yCurr-j)とすると、offsetはabs(i-offset)+abs(j-offset)を最小にする値(ただし、offset=1,2,4の何れか)である。
例えば、RefLineIdx=1である場合、currSamples[xCurr-2][yCurr-2](x=-2,y=-2のrefN[x][y])の値は、利用可能に設定された画素の値である。そのため、イントラ予測画像生成部310は、利用不可能に設定されたcurrSamples[xCurr-1][yCurr-2] (x=-1,y=-2のrefN[x][y])の値、及びcurrSamples[xCurr-2][yCurr-1](x=-2,y=-1のrefN[x][y])の値を、利用可能に設定されたcurrSamples[xCurr-2][yCurr-2](x=-2,y=-2のrefN[x][y])又はcurrSamples[xCurr-1][yCurr-1](x=-1,y=-1のrefN[x][y])の画素値を用いて生成する。
あるいは、イントラ予測画像生成部310は、参照画素の位置(xNbCmp, yNbCmp)を、対象ブロックの左上位置(xTbCmp, yTbCmp)、及び、対象ブロック左上からの相対位置(x, y)から導出する。以下の式のように、RefLineIdx>0、かつ、x<0、かつ、y<0の場合に、対角線上の位置(xTbCmp-(RefLineIdx+1), yTbCmp-(RefLineIdx+1))から参照画素の位置を導出してもよい。
if (RefLineIdx>0 && x<0 && y<0)
(xNbCmp, yNbCmp) = (xTbCmp-(RefLineIdx+1), yTbCmp-(RefLineIdx+1))
Otherwise
(xNbCmp, yNbCmp) = (xTbCmp+x, yTbCmp+y)
また、イントラ予測画像生成部310は、RefLineIdxを区別せずに以下によって導出してもよい。
if (x<0 && y<0)
(xNbCmp, yNbCmp) = (xTbCmp-(RefLineIdx+1), yTbCmp-(RefLineIdx+1))
Otherwise
(xNbCmp, yNbCmp) = (xTbCmp+x, yTbCmp+y)
あるいは、イントラ予測画像生成部310は、availableNがFALSEの場合に、参照画素refN[x][y]を利用不可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[xTbCmp-(RefLineIdx+1)][yTbCmp-(RefLineIdx+1)]に設定してもよい。それ以外の場合に、参照画素refN[x][y]を利用可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[x][y]に設定してもよい。ここで、
x = -1-RefLineIdx, y = (-1-RefLineIdx)..(refH-1)、及び、
x = (-1-RefLineIdx)..(refW-1), y = -1-RefLineIdxの値をとる。ただし、参照画素の幅refWと高さrefHは、対象ブロックの幅bWと高さbHから以下の式によって導出してもよい。
refW = bW * 2
refH = bH * 2
上述の構成によれば、イントラ予測画像生成部310は、対象ブロックの左上の領域に含まれる画素を参照する場合、(xCb,yCb)からの距離がx座標とy座標とも同じ画素のみを参照してイントラ予測画像を生成できる。そのため、対象ブロックの左上の領域において、対象ブロックと頂点を共有する画素のみを参照した場合の3倍の画素をラインバッファに格納すればよい。これにより、イントラ予測画像を生成する際に参照する画素を必要以上にラインバッファに格納する必要がないという効果がある。
なお、上述の例の一つでは、イントラ予測画像生成部310は、領域Cの位置(x,y)の画素値refN[x][y]を式refN[x][y]=currSamples[xCurr-offset][yCurr-offset]によって導出しているが、本実施形態ではこれに限定されない。例えば、イントラ予測画像生成部310は、currSamples[xCurr-offset][yCurr-offset]の画素(例えばoffset=1,2,4など)と、currSamples[xCurr][y]及びcurrSamples[x][yCurr]の画素から導出してもよい。本実施形態では、イントラ予測画像生成部310は、領域Cの画素が(x,y)である場合、(x,y)の画素値refN[x][y]を以下の式の何れかによって導出してもよい(図10の(e))。
refN[x][y]=currSamples[xCurr-1][yCurr-1]
refN[x][y]=(currSamples[xCurr-1][yCurr-1]+currSamples[x][yCurr])/2
refN[x][y]=(currSamples[xCurr-1][yCurr-1]+currSamples[xCurr][y])/2
refN[x][y]=(currSamples[xCurr-1][yCurr-1]*2+currSamples[x][yCurr]+currSamples[xCurr][y])/4
〔変形例〕
イントラ予測画像生成部310及び利用可否設定部313の構成は上述の例に限定されない。
本実施形態では、イントラ予測画像生成部310は、対象ブロックの上側の横ラインであって、当該対象ブロックからの距離が所定の複数の値によってそれぞれ規定される複数の横ラインの何れか、を参照して対象ブロックのイントラ予測画像を生成してもよい。また、イントラ予測画像生成部310は、対象ブロックの左側の縦ラインであって、当該対象ブロックからの距離が所定の複数の値によってそれぞれ規定される複数の縦ラインの何れか、を参照して対象ブロックのイントラ予測画像を生成してもよい。
利用可否設定部313は、対象ブロックの右上の横ラインに含まれる画素、及び、対象ブロックの左下の縦ラインに含まれる画素、の少なくとも何れかの画素を、利用不可能に設定してもよい。
イントラ予測画像生成部310は、利用不可能に設定された画素の画素値を、利用可能に設定された画素の画素値を参照して生成してもよい。そして、イントラ予測画像生成部310は、生成した画素値を用いてイントラ予測画像を生成してもよい。
上述の構成によっても、イントラ予測画像生成部310は、利用可否設定部313によって利用可能と設定された画素のみを参照してイントラ予測画像を生成することができる。そのため、イントラ予測画像を生成する際に参照する画素をラインバッファが必要以上に格納する必要がないという効果がある。
(イントラ予測画像生成部310による利用画素選択例3)
以下、利用可否設定部313による利用画素選択例3について、図12を用いて説明する。図12は、利用可否設定部313による各画素の利用可否の設定の一例について説明するための図である。
図12では、イントラ予測画像生成部310は、対象ブロックb4の上側の横ライン及び左側の縦ラインを参照して、対象ブロックb4のイントラ予測画像を生成する。また、利用可否設定部313は、対象ブロックb4の右上の横ラインに含まれる画素D2、及び、対象ブロックb4の左下の縦ラインに含まれる画素B2を利用不可能に設定する。
この場合、イントラ予測画像生成部310は、対象ブロックb4の上側の横ライン及び左側の縦ラインのうち、右上の横ラインに含まれる画素D2及び左下の縦ラインに含まれる画素B2を参照することなく、イントラ予測画像を生成できる。これにより、イントラ予測画像を生成する際に参照する画素を必要以上にラインバッファに格納する必要がないという効果がある。
(イントラ予測画像生成部310による利用画素選択例4)
以下、利用可否設定部313による利用画素選択例4について、図13を用いて説明する。図13は、利用可否設定部313による各画素の利用可否の設定の一例について説明するための図である。
図13では、イントラ予測画像生成部310は、対象ブロックb4の上側の横ライン及び左側の縦ラインを参照して対象ブロックb4のイントラ予測画像を生成する。
また、利用可否設定部313は、対象ブロックb4の右上の横ラインに含まれる画素D2、及び、対象ブロックb4の左下の縦ラインに含まれる画素B2の半分を利用不可能に設定する。例えば、利用可否設定部313は、図13の(a)に示すように、対象ブロックb4の右上の横ラインの右半分に含まれる画素D22、及び、対象ブロックb4の左下の縦ラインに含まれる下半分に含まれる画素B22を利用不可能に設定してもよい。また、利用可否設定部313は、図13の(b)に示すように、対象ブロックb4の右上の横ラインに含まれる画素及び左下の縦ラインに含まれる画素を1画素おきに利用可能(D21、B21)及び利用不可能(D22、B22)に設定してもよい。
この場合、イントラ予測画像生成部310は、対象ブロックb4の上側の横ラインのうち右上の横ラインに含まれる画素の半分、及び、左側の縦ラインのうち左下の縦ラインに含まれる画素の半分を参照することなく、イントラ予測画像を生成できる。これにより、イントラ予測画像を生成する際に参照する画素を必要以上にラインバッファに格納する必要がないという効果がある。
例えば、イントラ予測画像生成部310は、参照画素の位置(xNbCmp, yNbCmp)を、対象ブロックの左上位置(xTbCmp, yTbCmp)、及び、対象ブロック左上からの相対位置(x, y)から導出する。RefLineIdx>0、かつ、x座標が所定の閾値(例えば、bW*3/2)より大きい場合に、イントラ予測画像生成部310は、参照位置(xNbCmp, yNbCmp)として、x方向にクリップされた位置(xTbCmp+bW*3/2-1, yTbCmp+y)を利用してもよい。同様に、イントラ予測画像生成部310は、RefLineIdx>0、かつ、y座標が所定の閾値(例えば、bH*3/2)より大きい場合に、参照位置(xNbCmp, yNbCmp)として、y方向にクリップされた位置(xTbCmp+x, yTbCmp+bH*3/2-1)を利用してもよい。
if (RefLineIdx>0 && x>bW*3/2)
(xNbCmp, yNbCmp)=(xTbCmp+bW*3/2-1,yTbCmp+y)
Otherwise if (RefLineIdx>0 && y>bH*3/2)
(xNbCmp, yNbCmp) = (xTbCmp+x, yTbCmp+bH*3/2-1)
Otherwise
(xNbCmp, yNbCmp) = (xTbCmp+x, yTbCmp+y)
イントラ予測画像生成部310は、availableNがFALSEの場合に、参照画素refN[x][y]を利用不可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[xTbCmp+bW*3/2-1][yTbCmp+y]、又は、refN[xTbCmp+x][yTbCmp+bH*3/2-1]に設定してもよい。それ以外の場合に、参照画素refN[x][y]を利用可能に設定(マーク)し、位置(xNbCmp, yNbCmp)の画素を参照画素refN[xTbCmp+x][yTbCmp+y]に設定してもよい。ここで、
x = -1-RefLineIdx, y = (-1-RefLineIdx)..(refH-1)、及び、
x = (-1-RefLineIdx)..(refW-1), y = -1-RefLineIdxの値をとる。ただし、参照画素の幅refWと高さrefHは、対象ブロックの幅bWと高さbHから以下の式によって導出してもよい。
refW = bW * 2
refH = bH * 2
逆量子化・逆変換部311は、エントロピー復号部301から入力された量子化変換係数を逆量子化して変換係数を求める。この量子化変換係数は、符号化処理において、予測誤差に対してDCT(Discrete Cosine Transform、離散コサイン変換)、DST(Discrete Sine Transform、離散サイン変換)等の周波数変換を行い量子化して得られる係数である。逆量子化・逆変換部311は、求めた変換係数について逆DCT、逆DST等の逆周波数変換を行い、予測誤差を算出する。逆量子化・逆変換部311は予測誤差を加算部312に出力する。
加算部312は、予測画像生成部308から入力されたブロックの予測画像と逆量子化・逆変換部311から入力された予測誤差を画素毎に加算して、ブロックの復号画像を生成する。加算部312はブロックの復号画像を参照ピクチャメモリ306に記憶し、また、ループフィルタ305に出力する。
(動画像符号化装置の構成)
次に、本実施形態に係る動画像符号化装置11の構成について説明する。図14は、本実施形態に係る動画像符号化装置11の構成を示すブロック図である。動画像符号化装置11は、予測画像生成部101、減算部102、変換・量子化部103、逆量子化・逆変換部105、加算部106、ループフィルタ107、予測パラメータメモリ(予測パラメータ記憶部、フレームメモリ)108、参照ピクチャメモリ(参照画像記憶部、フレームメモリ)109、符号化パラメータ決定部110、パラメータ符号化部111、エントロピー符号化部104を含んで構成される。
予測画像生成部101は画像Tの各ピクチャを分割した領域であるCU毎に予測画像を生成する。予測画像生成部101は既に説明した予測画像生成部308と同じ動作であり、説明を省略する。
減算部102は、予測画像生成部101から入力されたブロックの予測画像の画素値を、画像Tの画素値から減算して予測誤差を生成する。減算部102は予測誤差を変換・量子化部103に出力する。
変換・量子化部103は、減算部102から入力された予測誤差に対し、周波数変換によって変換係数を算出し、量子化によって量子化変換係数を導出する。変換・量子化部103は、量子化変換係数をエントロピー符号化部104及び逆量子化・逆変換部105に出力する。
逆量子化・逆変換部105は、動画像復号装置31における逆量子化・逆変換部311(図7)と同じであり、説明を省略する。算出した予測誤差は加算部106に出力される。
エントロピー符号化部104には、変換・量子化部103から量子化変換係数が入力され、パラメータ符号化部111から符号化パラメータが入力される。
エントロピー符号化部104は、分割情報、予測パラメータ、量子化変換係数等をエントロピー符号化して符号化ストリームTeを生成し、出力する。
パラメータ符号化部111は、図示しないヘッダ符号化部1110、CT情報符号化部1111、CU符号化部1112(予測モード符号化部)、及びインター予測パラメータ符号化部112とイントラ予測パラメータ符号化部113を備えている。CU符号化部1112はさらにTU符号化部1114を備えている。
(イントラ予測パラメータ符号化部113の構成)
イントラ予測パラメータ符号化部113は、符号化パラメータ決定部110から入力されたイントラ予測モードIntraPredModeから、符号化するための形式(例えばintra_luma_mpm_flag、intra_luma_mpm_idx、intra_luma_mpm_remainder等)を導出する。イントラ予測パラメータ符号化部113は、イントラ予測パラメータ復号部304がイントラ予測パラメータを導出する構成と、一部同一の構成を含む。
図15は、パラメータ符号化部111のイントラ予測パラメータ符号化部113の構成を示す概略図である。イントラ予測パラメータ符号化部113は、パラメータ符号化制御部1131、輝度イントラ予測パラメータ導出部1132、色差イントラ予測パラメータ導出部1133、MRLパラメータ導出部11324とを含んで構成される。
パラメータ符号化制御部1131には、符号化パラメータ決定部110から輝度予測モードIntraPredModeY及び色差予測モードIntraPredModeCが入力される。パラメータ符号化制御部1131はMPM候補リスト導出部30421のMPM候補リストmpmCandList[]を参照して、intra_luma_mpm_flagを決定する。そして、intra_luma_mpm_flag及びIntraPredModeYを、輝度イントラ予測パラメータ導出部1132に出力する。また、IntraPredModeCを色差イントラ予測パラメータ導出部1133に出力する。
輝度イントラ予測パラメータ導出部1132は、MPM候補リスト導出部30421(候補リスト導出部)と、MPMパラメータ導出部11322と、非MPMパラメータ導出部11323と、MRLパラメータ導出部11324とを含んで構成される。
MPM候補リスト導出部30421は、予測パラメータメモリ108に格納された隣接ブロックのイントラ予測モードを参照して、MPM候補リストmpmCandList[]を導出する。MPMパラメータ導出部11322は、intra_luma_mpm_flagが1の場合に、IntraPredModeYとMPM候補リストmpmCandList[]からintra_luma_mpm_idxを導出し、エントロピー符号化部104に出力する。非MPMパラメータ導出部11323は、intra_luma_mpm_flagが0の場合に、IntraPredModeYとMPM候補リストmpmCandList[]からRemIntraPredModeを導出し、intra_luma_mpm_remainingをエントロピー符号化部104に出力する。
色差イントラ予測パラメータ導出部1133は、IntraPredModeYとIntraPredModeCからchroma_intra_pred_modeを導出し、出力する。
MRLパラメータ導出部11324は参照ラインを示すインデックスRefLineIdxからintra_luma_ref_idxを導出する。
加算部106は、予測画像生成部101から入力されたブロックの予測画像の画素値と逆量子化・逆変換部105から入力された予測誤差を画素毎に加算して復号画像を生成する。加算部106は生成した復号画像を参照ピクチャメモリ109に記憶する。
ループフィルタ107は加算部106が生成した復号画像に対し、デブロッキングフィルタ、SAO、ALFを施す。なお、ループフィルタ107は、必ずしも上記3種類のフィルタを含まなくてもよく、例えばデブロッキングフィルタのみの構成であってもよい。
予測パラメータメモリ108は、符号化パラメータ決定部110が生成した予測パラメータを、対象ピクチャ及びCU毎に予め定めた位置に記憶する。
参照ピクチャメモリ109は、ループフィルタ107が生成した復号画像を対象ピクチャ及びCU毎に予め定めた位置に記憶する。
符号化パラメータ決定部110は、符号化パラメータの複数のセットのうち、1つのセットを選択する。符号化パラメータとは、上述したQT、BTあるいはTT分割情報、予測パラメータ、あるいはこれらに関連して生成される符号化の対象となるパラメータである。予測画像生成部101は、これらの符号化パラメータを用いて予測画像を生成する。
符号化パラメータ決定部110は、複数のセットの各々について情報量の大きさと符号化誤差を示すRDコスト値を算出する。RDコスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームTeの情報量である。二乗誤差は、減算部102において算出された予測誤差の二乗和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部110は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部104は、選択した符号化パラメータのセットを符号化ストリームTeとして出力する。符号化パラメータ決定部110は決定した符号化パラメータを予測パラメータメモリ108に記憶する。
なお、上述した実施形態における動画像符号化装置11、動画像復号装置31の一部、例えば、エントロピー復号部301、パラメータ復号部302、ループフィルタ305、予測画像生成部308、逆量子化・逆変換部311、加算部312、予測画像生成部101、減算部102、変換・量子化部103、エントロピー符号化部104、逆量子化・逆変換部105、ループフィルタ107、符号化パラメータ決定部110、パラメータ符号化部111をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、動画像符号化装置11、動画像復号装置31の何れかに内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
〔付記事項〕
上述した実施形態における動画像符号化装置11、動画像復号装置31の一部、又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。動画像符号化装置11、動画像復号装置31の各機能ブロックは個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
〔応用例〕
上述した動画像符号化装置11及び動画像復号装置31は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CG及びGUIを含む)であってもよい。
まず、上述した動画像符号化装置11及び動画像復号装置31を、動画像の送信及び受信に利用できることを、図2を参照して説明する。
図2の(a)は、動画像符号化装置11を搭載した送信装置PROD_Aの構成を示したブロック図である。図に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置11は、この符号化部PROD_A1として利用される。
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成又は加工する画像処理部A7を更に備えていてもよい。図においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
図2の(b)は、動画像復号装置31を搭載した受信装置PROD_Bの構成を示したブロック図である。図に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置31は、この復号部PROD_B3として利用される。
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図においては、これら全てを受信装置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の双方として機能する。
次に、上述した動画像符号化装置11及び動画像復号装置31を、動画像の記録及び再生に利用できることを、図3を参照して説明する。
図3の(a)は、上述した動画像符号化装置11を搭載した記録装置PROD_Cの構成を示したブロック図である。図に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置11は、この符号化部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、及び、画像を生成又は加工する画像処理部PROD_C6を更に備えていてもよい。図においては、これら全てを記録装置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の一例である。
図3(b)は、上述した動画像復号装置31を搭載した再生装置PROD_Dの構成を示したブロックである。図に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置31は、この復号部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を更に備えていてもよい。図においては、これら全てを再生装置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の一例である。
(ハードウェア的実現及びソフトウェア的実現)
また、上述した動画像復号装置31及び動画像符号化装置11の各ブロックは、集積回路(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:登録商標)、携帯電話網、衛星回線、地上デジタル放送網等の無線でも利用可能である。なお、本発明の実施形態は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明の実施形態は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明の実施形態は、画像データが符号化された符号化データを復号する動画像復号装置、及び、画像データが符号化された符号化データを生成する動画像符号化装置に好適に適用することができる。また、動画像符号化装置によって生成され、動画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
31 動画像復号装置(画像復号装置)
301 エントロピー復号部
302 パラメータ復号部
303 インター予測パラメータ復号部
304 イントラ予測パラメータ復号部
308 予測画像生成部
309 インター予測画像生成部
310 イントラ予測画像生成部
311 逆量子化・逆変換部
312 加算部
313 利用可否設定部(参照サンプル可用性設定部)
11 画像符号化装置
101 予測画像生成部
102 減算部
103 変換・量子化部
104 エントロピー符号化部
105 逆量子化・逆変換部
107 ループフィルタ
110 符号化パラメータ決定部
111 パラメータ符号化部
112 インター予測パラメータ符号化部
113 イントラ予測パラメータ符号化部
b1、b2、b3、b4 対象ブロック

Claims (6)

  1. 各画素の利用可否を設定する参照サンプル可用性設定部と、
    上記参照サンプル可用性設定部によって利用可能と設定された画素を参照してイントラ予測画像を生成するイントラ予測画像生成部と
    を備え、
    上記イントラ予測画像生成部は、
    対象ブロックの上側の横ラインであって、当該対象ブロックからの距離が所定の複数の値によってそれぞれ規定される複数の横ラインの何れか、
    上記対象ブロックの左側の縦ラインであって、当該対象ブロックからの距離が上記所定の複数の値によってそれぞれ規定される複数の縦ラインの何れか、及び、
    上記対象ブロックの左上の領域であって、上記複数の横ラインの各々と上記複数の縦ラインの各々とが交差する位置の画素を含む領域に含まれる画素の何れか
    を参照して上記対象ブロックのイントラ予測画像を生成するものであり、
    上記参照サンプル可用性設定部は、上記対象ブロックの左上の領域において、上記複数の縦ライン及び横ラインのうち、少なくとも何れかのラインに含まれる画素を、利用不可能に設定する
    ことを特徴とする画像復号装置。
  2. 上記参照サンプル可用性設定部は、
    上記対象ブロックの左上の領域に含まれる画素のうち、上記対象ブロックと頂点を共有する画素以外の画素を、利用不可能に設定する
    ことを特徴とする請求項1に記載の画像復号装置。
  3. 上記参照サンプル可用性設定部は、
    上記対象ブロックの左上の領域に含まれる画素のうち、
    上記複数の横ラインの各々と、上記複数の縦ラインの各々とが交差する位置以外の画素を、利用不可能に設定する
    ことを特徴とする請求項1に記載の画像復号装置。
  4. 上記イントラ予測画像生成部は、
    上記対象ブロックの左上の領域に含まれる画素のうち、利用不可能に設定された画素の画素値を、利用可能に設定された画素の画素値を用いて生成し、
    生成した画素値を用いてイントラ予測画像を生成する
    ことを特徴とする請求項3に記載の画像復号装置。
  5. 各画素の利用可否を設定する参照サンプル可用性設定部と、
    上記参照サンプル可用性設定部によって利用可能と設定された画素を参照してイントラ予測画像を生成するイントラ予測画像生成部と
    を備え、
    上記イントラ予測画像生成部は、
    対象ブロックの上側の横ラインであって、当該対象ブロックからの距離が所定の複数の値によってそれぞれ規定される複数の横ラインの何れか、及び
    上記対象ブロックの左側の縦ラインであって、当該対象ブロックからの距離が上記所定の複数の値によってそれぞれ規定される複数の縦ラインの何れか、
    を参照して上記対象ブロックのイントラ予測画像を生成するものであり、
    上記参照サンプル可用性設定部は、
    上記対象ブロックの右上の横ラインに含まれる画素、及び、上記対象ブロックの左下の縦ラインに含まれる画素、の少なくとも何れかの画素を、利用不可能に設定する
    ことを特徴とする画像復号装置。
  6. 上記イントラ予測画像生成部は、
    利用不可能に設定された画素の画素値を、利用可能に設定された画素の画素値を参照して生成し、生成した画素値を用いてイントラ予測画像を生成する
    ことを特徴とする請求項5に記載の画像復号装置。
JP2019036130A 2019-02-28 2019-02-28 画像復号装置 Pending JP2020141285A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019036130A JP2020141285A (ja) 2019-02-28 2019-02-28 画像復号装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019036130A JP2020141285A (ja) 2019-02-28 2019-02-28 画像復号装置

Publications (1)

Publication Number Publication Date
JP2020141285A true JP2020141285A (ja) 2020-09-03

Family

ID=72265276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019036130A Pending JP2020141285A (ja) 2019-02-28 2019-02-28 画像復号装置

Country Status (1)

Country Link
JP (1) JP2020141285A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191525A1 (ko) * 2021-03-08 2022-09-15 현대자동차주식회사 나선스캔 순서를 이용하는 비디오 코딩방법 및 장치
JP2023505270A (ja) * 2020-09-28 2023-02-08 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023505270A (ja) * 2020-09-28 2023-02-08 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法および装置
JP7416946B2 (ja) 2020-09-28 2024-01-17 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法および装置
WO2022191525A1 (ko) * 2021-03-08 2022-09-15 현대자동차주식회사 나선스캔 순서를 이용하는 비디오 코딩방법 및 장치

Similar Documents

Publication Publication Date Title
JP2021002780A (ja) 動画像復号装置および動画像符号化装置
WO2020116376A1 (ja) 動画像復号装置および動画像符号化装置
JP2021034980A (ja) 画像符号化装置、および、画像復号装置
JP2020150516A (ja) 画像復号装置及び画像符号化装置
WO2020241858A1 (ja) 画像復号装置
JPWO2020045248A1 (ja) 動画像復号装置および動画像符号化装置
CN112532976A (zh) 运动图像解码装置以及运动图像编码装置
JPWO2020241858A5 (ja)
WO2020184366A1 (ja) 画像復号装置
JP2020141285A (ja) 画像復号装置
WO2020067440A1 (ja) 動画像符号化装置および動画像復号装置
WO2020004349A1 (ja) 動画像符号化装置および動画像復号装置
WO2021246284A1 (ja) 動画像復号装置及び動画像符号化装置
JP2021034848A (ja) 画像復号装置
WO2020004277A1 (ja) 画像復号装置、および画像符号化装置
JP2021034966A (ja) 動画像符号化装置、動画像復号装置
JP2021034887A (ja) 画像復号装置及び画像符号化装置
JP2021106309A (ja) 動画像復号装置および動画像符号化装置
JP7425568B2 (ja) 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法
JP7444570B2 (ja) 動画像復号装置、動画像符号化装置、動画像復号方法および動画像符号化方法
JP2021153213A (ja) 動画像符号化装置および動画像復号装置
JP2020155869A (ja) 画像スケーリング変換、逆変換装置及び方法
WO2020045275A1 (ja) 画像復号装置および画像符号化装置
JP2020195013A (ja) 画像復号装置および画像符号化装置
JP2020195042A (ja) 動画像復号装置