(58)【調査した分野】(Int.Cl.,DB名)
入力映像のブロックを再帰的に小ブロックに分割してイントラ予測またはフレーム間予測によって符号化する映像符号化装置に適用されるイントラ予測モード決定方法であって、
前記小ブロックが取り得るサイズのうちの1つのサイズでのみ、各々の前記小ブロックについて、予測モード候補に対応する残差と予測モード候補に割り当てられたbin 数とに基づいて複数の予測モード候補の符号化コストを評価し、
評価結果に基づいて、前記複数の予測モード候補からイントラ予測モードを選択し、
前記符号化コストを評価する際に、特定の予測モード候補に対応するbin 数を増加し、
評価対象の前記小ブロックが1つの分割形状における上側に位置する場合、
当該小ブロックの左に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加し、
評価対象の前記小ブロックが1つの分割形状における下側に位置する場合、当該小ブロックの上に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加する
ことを特徴とするイントラ予測モード決定方法。
入力映像のブロックを再帰的に小ブロックに分割してイントラ予測またはフレーム間予測によって符号化する映像符号化装置に適用されるイントラ予測モード決定装置であって、
各々の前記小ブロックについて、予測モード候補に対応する残差と予測モード候補に割り当てられたbin 数とに基づいて複数の予測モード候補の符号化コストを評価し、評価結果に基づいて、前記複数の予測モード候補からイントラ予測モードを選択する予測モード選択手段と、
前記予測モード選択手段が前記符号化コストを評価する際に、特定の予測モード候補に対応するbin 数を増加するBin 数調整手段とが、
前記小ブロックが取り得るサイズのうちの1つのサイズのみに対応して設けられており、
前記Bin 数調整手段は、
評価対象の前記小ブロックが1つの分割形状における上側に位置する場合、
当該小ブロックの左に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加し、
評価対象の前記小ブロックが1つの分割形状における下側に位置する場合、当該小ブロックの上に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加する
ことを特徴とするイントラ予測モード決定装置。
前記Bin 数調整手段は、評価対象の前記小ブロックが1つの分割形状における左下に位置する場合、予測モード候補が、MPM であり、かつ、前記小ブロックの上に隣接するブロックの予測モードと異なるときに、当該予測モード候補に対応するbin 数を増加する
請求項3又は4記載のイントラ予測モード決定装置。
【背景技術】
【0002】
非特許文献1には、ITU-T 勧告H.265 規格に基づく映像符号化方式であるHEVC(High Efficiency Video Coding)が記載されている。
【0003】
HEVCでは、ディジタル化された映像の各フレームは符号化ツリーユニット(CTU:Coding Tree Unit)に分割され、ラスタスキャン順に各CTU が符号化される。各CTU は、クアッドツリー(四分木)構造で、符号化ユニット(CU:Coding Unit)に再帰的に分割されて符号化される。各CUは、予測ユニット(PU:Prediction Unit)に分割されて予測される。また、各CUの予測誤差(残差)は、四分木構造で変換ユニット(TU: Transform Unit)に分割されて周波数変換される。
【0004】
図10A及び
図10Bは、CTU のCU分割例に対応する四分木構造を示す説明図である。
図10Aに示す例では、CTU の四分木構造は、
図10Bに示す階層構造に示されるように、64×64のブロックを分割することを示すCUDepth=0 のcu_split_flag=1 、最初の3つの32×32のCU(CU0, CU1、およびCU2 )を分割しないことを示す3つのCUDepth=1 のcu_split_flag=0 、最後の32×32のCUを分割することを示すCUDepth=1 のcu_split_flag=1 、最初の3つの16×16のCU(CU3, CU4, およびCU5 )を分割しないことを示す3つのCUDepth=2 のcu_split_flag=0 、最後の16×16のCUを分割することを示すCUDepth=2 のcu_split_flag=1 、すべての8×8CU(CU6, CU7, CU8 、およびCU9 )を分割しないことを示す4つのCUDepth=3 のcu_split_flag=0 で表現できる。
【0005】
図11は、CUのPU分割形状を示す説明図である。イントラ予測の場合、正方形のPU分割(2N×2NまたはN×N)を選択できる(ただし、CUが最小サイズよりも大きい場合、2N×2Nのみを選択できる)。
【0006】
CUは、PU毎にイントラ予測またはフレーム間予測によって予測符号化される。以下、イントラ予測を説明する。
【0007】
イントラ予測は、符号化対象フレームの参照画素から予測画像を生成する予測である。
非特許文献1では、
図12に示す33種類の角度イントラ予測が定義されている。角度イントラ予測は、符号化対象ブロック周辺の参照画素を
図12に示す33種類の方向のいずれかに外挿して、イントラ予測信号(予測画素)を生成する。非特許文献1では、33種類の角度イントラ予測に加えて、符号化対象ブロック周辺の参照画素を平均するDC予測、および、符号化対象ブロック周辺の参照画素を線形補間するPlanar予測が定義されている。
【0008】
図12において、最上位行の各矩形および最左列の各矩形は、参照画素を示す。矩形中の数字は、座標を示す。矢印は、予測方向を示す。矢印の近傍に付された数字は、予測モードを示す。
【0009】
図13を参照して、ディジタル化された映像の各フレームの各CTU を入力画像としてビットストリームを出力する一般的な映像符号化装置の構成と動作を説明する。
【0010】
図13は、一般的な映像符号化装置の一例を示すブロック図である。
図13に示す映像符号化装置は、変換部301、量子化部302、エントロピー符号化部303、逆量子化/逆変換部304、バッファ305、予測部306、および予測モード/ブロックサイズ決定部307を備える。
【0011】
予測モード/ブロックサイズ決定部307は、CTU 毎に符号化コストを最小とする予測モードとブロックサイズの組み合わせを決定する。また、予測モード/ブロックサイズ決定部307は、CU四分木構造/PU分割形状に加えて、TU四分木構造を決定する。
【0012】
予測部306は、予測モード/ブロックサイズ決定部307が決定した予測モードおよびブロックサイズに基づいて、CUの入力画像信号に対する予測信号を生成する。予測信号は、イントラ予測またはインター予測に基づいて生成される。
【0013】
変換部301は、予測モード/ブロックサイズ決定部307が決定したTU四分木構造に基づいて、入力画像信号から予測信号を減じた残差画像(残差信号:予測誤差信号)を周波数変換する。変換部301は、残差信号の変換符号化において、周波数変換に基づいた4×4、8×8、16×16または32×32ブロックサイズの直交変換を使用する。なお、n×nブロックサイズは、縦n画素で横n画素のサイズを意味する。
【0014】
量子化部302は、変換部301から供給される直交変換係数を量子化する。以下、量子化された直交変換係数を変換量子化値ということがある。逆量子化/逆変換部304は、変換量子化値を逆量子化する。さらに、逆量子化/逆変換部304は、逆量子化した直交変換係数を逆変換する。逆変換された残差画像は、予測信号(予測画像)が加えられて、バッファ305に供給される。バッファ305は、画像を参照画像として格納する。
【0015】
予測モード/ブロックサイズ決定部307が、予測モードおよびPU分割形状を決定するときに、例えば、使用可能な全ての予測モードと全てのブロックサイズ(イントラ予測の場合、4×4、8×8、16×16、32×32および64×64)との組み合わせについて予測を実行し、残差を算出した後に、予測結果等に基づいて最適な組み合わせを決定するように構成されることがある(例えば、特許文献1の段落0052〜0054参照)。最適な組み合わせは、例えば、符号化コストを最小にする組み合わせである。全ての予測モードと全てのブロックサイズとの組み合わせを評価する予測モード/ブロックサイズ決定部307を有する映像符号化装置を、以下、第1の映像符号化装置という。また、特許文献2には、使用可能な全ての予測モードを評価して、最適な予測モードを決定する画像処理装置が記載されている(例えば、段落0329参照)。
【0016】
また、事前にすなわち予測モードを決定する前に、符号化コスト等に基づいてブロックサイズを決定し、決定されたブロックサイズで予測モードを決定する方式もある。そのような方式に基づく映像符号化装置を、以下、第2の映像符号化装置という。
【0017】
HEVCのように大きなブロックサイズが許容される符号化では、映像信号の特徴が類似する領域において、大きなPUサイズ(PUのブロックサイズ)や大きなTUサイズ(TUのブロックサイズ)を適用することによって、符号化効率が高まる。具体的には、符号化後のデータのビット量(bin 数)が少なくなる。
【0018】
できるだけブロックサイズを大きくするために、所定の条件が成立すると、ブロックを拡大する機能を有する映像符号化装置がある(例えば、特許文献3参照)。ブロックの拡大は、複数のブロックを1つに統合することを意味する。そのような機能を有する映像符号化装置を、以下、第3の映像符号化装置という。
【0019】
図14は、特許文献3に記載された第3の映像符号化装置の構成を示すブロック図である。
図14に示す映像符号化装置は、入力映像を入力として符号化パラメータを生成して出力する符号化パラメータ決定部110と、符号化部120と、ブロック拡大部370とを含む。符号化部120は、
図13に示された映像符号化装置から予測モード/ブロックサイズ決定部307を除いた構成と同等の構成を有する。
【0020】
入力画像の符号化が開始されると、符号化パラメータ決定部110は、ブロック分割を行い、分割されたブロック毎の符号化モード(イントラ予測、インター予測、スキップモード等)および予測モードを探索し符号化パラメータ#1を決定する。符号化パラメータ決定部110は、符号化コストを計算し、符号化コストに基づいて符号化パラメータを決定する。符号化コストには、符号量に関する値(bin 数)と符号化歪み(画質に相関する。)とが反映されている。符号化パラメータ決定部110は、一例として、以下のRD(Rate Distortion )コストを使用する。
【0021】
Cost = D + λ・R (1)
【0022】
(1)式において、D は符号化歪みであり、R は、変換係数まで加味した符号量であり、λはラグランジュ乗数である。
【0023】
ブロック拡大部370は、符号化パラメータ#1を入力して、符号化パラメータ中のブロックサイズおよび動きベクトル情報を変更して出力する。出力された符号化パラメータは符号化部120に入力される。
【0024】
ブロック拡大部370は、例えば、隣接する4つのブロックがすべて同じサイズであり、かつ、それら4つのうちあらかじめ決められているm(m:整数)個以上がイントラ予測ブロックである場合にブロックを拡大する。すなわち、4つのブロックを1つに統合する。なお、インター予測が用いられるときには、さらに、統合前の4つのブロックの動きベクトルに基づいて、統合されたブロックの動きベクトルを決定する。ブロック拡大部370は、例えば、統合前の4つのブロックのいずれかのブロックの動きベクトルを、統合された1つのブロックの動きベクトルとしたり、4つのブロックの動きベクトルの平均ベクトルを、統合された1つのブロックの動きベクトルとする。
【0025】
特許文献4には、複数の基本ブロックからなるN×N画素の領域である統合領域に含まれる複数の基本CUを1つの新たなCUとして統合し、統合後の新たなCUに基づいて符号列を生成することが記載されている。統合領域に含まれる複数の基本CUは、統合領域に属する複数の基本CUおよび基本PUがすべて同じブロックサイズかつ、統合領域に含まれる全ての基本PUの予測情報が同じである場合に、統合される。
【発明を実施するための形態】
【0043】
(第1の実施形態)
図1は、本発明による予測モード決定装置を含む映像符号化装置の一例を示すブロック図である。
図1及び他の図面において、データの送信の方向は、矢印によって示される方向に限られない。
【0044】
図1に示す映像符号化装置は、変換部301、量子化部302、エントロピー符号化部303、逆量子化/逆変換部304、バッファ305、予測部306、ブロック拡大部370および予測モード決定部350を備える。
【0045】
変換部301、量子化部302、エントロピー符号化部303、逆量子化/逆変換部304、バッファ305および予測部306の機能は、
図13に示されたそれらの機能と同じである。
【0046】
予測モード決定部350は、ブロック分割を行い、分割によって得られた各ブロックの符号化モード(イントラ予測、インター予測、スキップモード等)およびイントラ予測の予測モードを決定する。
【0047】
ブロック拡大部370は、所定の条件が成立すると、ブロックを拡大する。すなわち、複数のブロックを1つに統合する。
【0048】
図2は、予測モード決定部350に含まれるイントラ予測モード決定部200の構成例を示すブロック図である。イントラ予測モード決定部200は、イントラ予測画像生成部210、残差計算部220、Bin 数決定部230、コスト計算部240、予測モード選択部250およびBin 数修正部260を含む。
【0049】
図2に示すイントラ予測モード決定部200は、
図15に示された予測モード/ブロックサイズ決定部307における1種類のブロックサイズ(例えば、4×4)に関する処理を遂行する部分に相当する。4×4のブロックサイズを例にすると、イントラ予測モード決定部200は、4×4イントラ予測画像生成部311、残差計算部321、Bin 数算出部331、コスト計算部341および予測モード選択部351の機能を有する。
【0050】
図15に示された予測モード/ブロックサイズ決定部307を有する映像符号化装置と比較すると、本実施形態の映像符号化装置は、イントラ予測モード決定処理を実行する回路規模が小さくなる。
【0051】
なお、イントラ予測モード決定部200が遂行する処理の対象のサイズは小さいことが好ましい。対象のサイズが小さい場合には、回路規模が小さくなるからである。
【0052】
ただし、イントラ予測モード決定部200が集積回路で実現され、許容される回路規模の範囲内で実現できるのであれば、最小サイズである4×4よりも大きいサイズ(例えば、8×8)を処理対象のサイズにしてもよい。また、本実施形態では、イントラ予測モード決定部200には、1種類のサイズに関する処理を遂行する部分のみが実行されているが、イントラ予測モード決定部200が集積回路で実現され、許容される回路規模の範囲内で実現できるのであれば、1種類より多い種類(例えば、4×4と8×8)のサイズに関する処理を遂行する部分が実装されてもよい。
【0053】
また、最小サイズは4×4に限定されない。例えば、8×8のブロックサイズを最小サイズとする映像符号化装置では、最小サイズは8×8が最小サイズである。
【0054】
次に、
図3のフローチャートを参照して、イントラ予測モード決定部200の動作を説明する。上述したように、本実施形態では、イントラ予測モード決定部200は、4×4サイズに関する処理を遂行するように構成されている。
【0055】
イントラ予測モード決定部200は、入力されるCTU (64画素×64画素であるとする。)毎に、4×4サイズのブロック(PU)に分割する(ステップS11)。分割で得られるブロックを、小ブロックという。なお、厳密には、CTU がCUに分割されてから、PUに分割される。
【0056】
イントラ予測モード決定部200において、イントラ予測画像生成部210は、各小ブロックについてイントラ予測を行う(ステップS12)。すなわち、イントラ予測画像生成部210は、各小ブロックについて、予測モード毎に予測画像を生成する。残差計算部220は、イントラ予測画像生成部210が生成した予測画像に対する残差を計算する(ステップS13)。イントラ予測画像生成部210、残差計算部220、Bin 数決定部230およびコスト計算部240が扱う予測モードは最終的な予測モードはないので、以下、それらが扱う予測モードを予測モード候補という。
【0057】
Bin 数決定部230は、予測モード候補に対応するbin 数を決定する(ステップS14)。なお、本実施形態におけるbin 数については後述する。
【0058】
コスト計算部240は、残差計算部220が計算した残差と、予測モードについてBin 数決定部230が決定したbin 数(bins)とを用いて、例えば以下の(2)式によって、各々の予測モードの符号化コスト(Cost)を計算する(ステップS15)。
【0059】
なお、イントラ予測画像生成部210は、各小ブロックについて、使用可能な予測モード候補の全てに応じた予測画像を順次生成する。よって、残差計算部220、Bin 数決定部230およびコスト計算部240は、使用可能な予測モード候補の各々に応じて、順次処理を実行する。以下、「扱われている予測モード」という表現は、実際に処理を実行している時点で、イントラ予測画像生成部210、残差計算部220、Bin 数決定部230およびコスト計算部240の処理対象になっている予測モード候補を意味する。
【0060】
Cost = SAD + λ * bins (2)
【0061】
(2)式において、SAD (Sum of Absolute Difference:差分絶対値和)は、画素毎の残差の絶対値和である。λは、重み付け値であるが、画質と符号量とのトレードオフで決定される。例えば、画質を若干落としても符号量を減少させたい場合には、λを大きくする。なお、SAD に代えて、例えばSSD (Sum of Squared Difference )を用いてもよい。また、(2)式以降の式は、必要に応じてC++言語の演算子を用いて表されている。
【0062】
HEVCでは、Most probable mode(MPM )と呼ばれる符号化方式を用いることができる。
MPM として、予測対象PUに隣接するPU(隣接PU)の予測モードに基づいて3種類の予測モード候補が設定される。3種類の予測モードのうち最初の予測モード候補(MPM[0]とする。)は、例えば、左の隣接PUの予測モードである。2番目の予測モード候補(MPM[1]とする。)は、上の隣接PUの予測モードである(
図4参照)。
【0063】
本実施形態では、イントラ予測モード決定部200は、予測モードを決定するときに、MPM を使用する。
【0064】
図4には、MPM[0]が予測モード番号が「20」の予測モードであり、MPM[1]が予測モード番号が「32」の予測モードである場合が例示されている。"ModeX" が表記されているブロックが評価対象PU(予測モードの決定対象のPU)であり、"ModeX"は、実際に処理を実行している時点で扱われている予測モード候補を意味する。なお、
図4において、「A」および「B」が付された矩形は、評価対象PUに隣接する画素を示す。
【0065】
MPM[0]とMPM[1]とが不一致である場合、3番目の予測モード候補(MPM[2]とする。)が設定される。MPM[2]として、予測モード番号が「0」のPlanar予測、予測モード番号が「1」のDC予測、または予測モード番号「26」の角度イントラ予測が設定可能である(非特許文献1の8.4.2 参照)。本実施形態では、MPM[2]がPlanar予測である場合を例にする。
【0066】
なお、MPM[0]、MPM[1]およびMPM[2]に対応する予測モードは、MPM リストとして逐次作成されて保持される。
【0067】
また、映像符号化装置は、PUに対する予測モードとしてMPM の予測モードが選択された場合には、MPM を使用するか否かを指定するフラグであるprev_intra_luma_pred_flag と、どの隣接PUの予測モードを予測対象PUに適用するかを示すmpm_idx (1binまたは2bin)をビットストリームに含める(非特許文献1の7.3.8.5 参照)。
【0068】
PUに対する予測モードとしてMPM の予測モードが選択されなかった場合には、映像符号化装置は、prev_intra_luma_pred_flag と選択された予測モードを示すデータ(シンタクス要素)である5binのrem_intra_luma_pred_modeをビットストリームに含めることになる。従って、PUがMPM に決定されたときには、ビットストリームにおける予測モードに関するデータ量が減る。
【0069】
また、本実施形態では、bin 数は、基本的に、例えば以下のように予測モード候補に割り当てられる。X は、評価対象PUの予測モード(評価対象の予測モード)を示す。"||"は、"or"を意味する。"otherwise" は、MPM 以外の予測モード候補を示す。
【0070】
bin 数 = 2 if (X == MPM[0])
3 if (X == MPM[1] || MPM[2])
6 otherwise
(3)
【0071】
Bin 数決定部230が、(3)式に従って各々の予測モード候補のbin 数を決定する場合、コスト計算部240は、ステップS15の処理で、評価対象PUの予測モード候補としてMPM[0]を扱っているときに、bin 数を2 として、(2)式に従って符号化コストを計算する。評価対象PUの予測モード候補としてMPM[1]またはMPM[2]を扱っているときに、bin 数を3 として、(2)式に従って符号化コストを計算する。
【0072】
なお、MPM[0]に関するbin 数 = 2は、prev_intra_luma_pred_flagが1bin(1bit)で表現され、MPM[0]が1bin(1bit)で表現されることに基づく。MPM[1] || MPM[2]に関するbin 数 = 3は、prev_intra_luma_pred_flagが1bin(1bit)で表現され、MPM[1] || MPM[2]が2bin(2bit)で表現されることに基づく。MPM でない場合のbin 数 = 6は、prev_intra_luma_pred_flagが1bin(1bit)で表現され、MPM 以外の予測モードを指定するためのインデックスに相当するrem_intra_luma_pred_modeが5bin(5bit)で表現されることに基づく。
【0073】
本実施形態では、映像符号化装置は、ブロック拡大部370を含む。上述したように、ブロック拡大部370は、小ブロックを統合することによって符号化後のデータのbin 数を少なくするために設けられている。Bin 数修正部260は、ブロック拡大部370が小ブロックを統合する機会を増やすようにbin 数を調整する機能を有する。換言すれば、Bin 数修正部260は、各々の予測モード候補について、ブロック拡大部370によるブロックサイズ拡大に寄与するかしないか判定し、ブロック拡大部370によるブロックサイズ拡大に寄与しないと判断した場合に予測モード候補についてbin 数を調整する。具体的には、Bin 数修正部260は、Bin 数を増加することをBin 数決定部230に指示する。
【0074】
本実施形態(第1の実施形態)では、MPM でない各予測モード候補は、ブロックサイズ拡大に寄与しない(小ブロックを統合する機会を増やさない。)とする。
【0075】
従って、ステップS14の処理において、Bin 数決定部230は、実際には、上記の(3)式に基づいてbin 数を決定するのではなく、下記の(4)式に基づいてbin 数を決定する。(4)式において、"adjust"は、Bin 数修正部260が出力したbin 数の調整分(増分)を示す。なお、"adjust"の値は、ブロック拡大部370によるブロックサイズ拡大がなされない場合に生ずるbin 数の増分に基づいて定められる。
【0076】
bin 数 = 2 if (X == MPM[0])
3 if (X == MPM[1] || MPM[2])
6+adjust otherwise
(4)
【0077】
予測モード選択部250は、コスト計算部240が計算した各々の予測モード候補の符号化コストうちの最小の符号化コストに対応する予測モード候補を、予測モードに決定する(ステップS16)。
【0078】
本実施形態では、予測モード選択部250は、Bin 数修正部260が存在しない場合に比べて、予測モードとして、MPM を選択しやすい。MPM 以外の予測モード候補の符号化コストが、Bin 数修正部260が存在しない場合に比べて大きくなるからである。
【0079】
ブロック拡大部370は、一例として、四分木を構成する4つの小ブロックの予測モードが一致する場合に、4つの小ブロックを1つのブロックに統合する。なお、本明細書において、四分木を構成するということは、1つのPU分割形状(
図11参照:例えば、N×Nブロック)に含まれることを意味する。換言すれば、四分木を構成するということは、4つの小ブロックが四分木構造の1つ上の階層における1つのノードに基づくことを意味する。つまり、4つの小ブロックは、四分木構造の1つのノードに基づく子ノードに相当する。
【0080】
なお、ブロック拡大部370は、小ブロックを1つのブロックに統合する条件として、他の条件を用いてもよい。他の条件の例として、例えば、4つのうち3つ以上の予測モードが一致することが挙げられる。
【0081】
本実施形態では、ブロック拡大部370が、符号化後のデータのbin 数を少なくすることを目的として小ブロックを統合する可能性が高まる。MPM を選んでおけば、ModeXと記されているブロックの予測モードが、他の小ブロックの予測モードと一致する可能性が相対的に高いからである。
【0082】
すなわち、本実施形態では、Bin 数修正部260は、小ブロックを統合させるイントラ予測モードの選択率が大きくなるようにbin 数を増加する。
【0083】
なお、ブロック拡大部370によるブロックサイズ拡大に寄与しないとされた予測モード候補を除外するのではなく、bin 数を増やした上で評価対象とするのは、ブロックサイズを拡大するよりも、ブロックサイズを拡大せずに当該予測モード候補を選択した方が全体的な符号化コストが低くなる可能性があるからである。このことは、他の実施形態でも同様である。
【0084】
(第2の実施形態)
第2の実施形態では、第1の実施形態におけるブロックサイズ拡大に寄与するかしないかの判定基準に対して、条件が加重される。
【0085】
なお、第2の実施形態の映像符号化装置の構成は、
図1に示された構成と同じである。
【0086】
本実施形態では、評価対象PUが、1つのN×Nブロック内で(四分木において、すなわち、1つのPU分割形状において)上側に位置するのか下側に位置するのかに応じて、条件が加重される。条件は、例えば、以下のように表される。
【0087】
if (四分木における上側ブロック){
if (X != A )bin 数 += adjust;
} else { //下側
if (X != B) bin 数 += adjust;
}
(5)
【0088】
「A」は評価対象PUの左に隣接するPUの予測モードを示し、「B」は評価対象PUの上に隣接するPUの予測モードを示す。
【0089】
なお、本実施形態では、Bin 数修正部260は、(4)式で表される"adjust"を出力する際に、さらに上記の(5)の条件に基づく"adjust"の値を加重して出力するように構成されるが、Bin 数修正部260は、(4)式を用いず、上記の(5)の条件のみに基づいて"adjust"を出力するようにしてもよい。また、Bin 数修正部260は、(4)式と(5)の条件のどちらか一方の条件が成立するときにその条件に基づく"adjust"を出力するようにしてもよい。
【0090】
Bin 数修正部260は、評価対象PUが四分木において上側に位置する場合には(
図5B参照)、左に隣接するPUの予測モードと同じ予測モード候補が扱われているときに、上記の(5)で規定される"adjust"をBin 数決定部230に出力する。なお、「上側」よび「下側」の定義は、
図5Aに示されている。
図5B、
図5Cにおいて、「X」は、評価対象PUを示す。
【0091】
また、Bin 数修正部260は、評価対象PUが四分木において下側に位置する場合には(
図5C参照)、上に隣接するPUの予測モードと同じ予測モード候補が扱われているときに、上記の(5)で規定される"adjust"をBin 数決定部230に出力する。
【0092】
なお、(5)式における"adjust"の値は、一般に、第1の実施形態における"adjust"の値((4)式における"adjust"の値)と同じ値であるが、第1の実施形態における"adjust"の値と異なっていてもよい。
【0093】
Bin 数修正部260が上記の(5)で規定される"adjust"を出力することによって、評価対象PUが四分木において下側に位置する場合には(
図5C参照)、評価対象PUの予測モードが、上に隣接するPUの予測モードと同じになる可能性が高まる。上に隣接するPUの予測モードと異なる予測モード候補に対応するbin 数が多くなって、符号化コストが大きくなるからである。
【0094】
また、評価対象PUが四分木において上側に位置する場合には(
図5B参照、評価対象PUの予測モードが、左に隣接するPUの予測モードと同じになる可能性が高まる。左に隣接するPUの予測モードと異なる予測モード候補に対応するbin 数が多くなって、符号化コストが大きくなるからである。
【0095】
つまり、評価対象PUが四分木において下側に位置する場合には、上に隣接するPUの予測モードと異なる予測モード候補は、ブロック拡大部370によるブロックサイズ拡大に寄与しないとされる。また、評価対象PUが四分木において上側に位置する場合には、左に隣接するPUの予測モードと異なる予測モード候補は、ブロック拡大部370によるブロックサイズ拡大に寄与しないとされる。
【0096】
従って、本実施形態でも、ブロック拡大部370が、符号化後のデータのbin 数を少なくするために小ブロックを統合する可能性が高まる。
【0097】
(第3の実施形態)
次に、第3の実施形態を説明する。第3の実施形態の映像符号化装置の構成は、
図1に示された構成と同じである。
【0098】
第2の実施形態では、評価対象PUが四分木において下側に位置するときに、評価対象PUの予測モードとして、上に隣接するPUの予測モードと同じになる可能性が高まる。
【0099】
図6に示すように、評価対象PUが四分木において下側の左(すなわち、左下)に位置するときに、第1の実施形態では、MPM[0]が予測モードとして選択される可能性は比較的高い。
図6に示す例では、ブロック拡大部370によるブロックサイズ拡大に寄与する予測モード候補は、上に隣接するブロックの予測モードと同じ予測モード候補である。なお、
図6において、「X」は、評価対象PUを示す。破線の矩形は、4つのPUが四分木を構成する(1つのPU分割形状を構成する。)ことを示す。
【0100】
そこで、本実施形態では、評価対象PUが1つのPU分割形状において左下に位置する場合には、Bin 数修正部260は、下記の(6)式に基づく"adjust"を出力する。
【0101】
bin 数 = 2 if (X==MPM[0] && X==B)
2+adjust if (X==MPM[0] && X!=B)
3 if ((X == MPM[1] || MPM[2]) && X==B)
3+adjust if ((X == MPM[1] || MPM[2]) && X!=B)
6+adjust otherwise
(6)
【0102】
すなわち、Bin 数修正部260は、評価対象PUが1つのPU分割形状において左下に位置する場合、予測モード候補としてMPM[0]が扱われているときに、その予測モード候補が上に隣接するPUの予測モードと同じであるときには"adjust"を出力しないが、その予測モード候補が上に隣接するPUの予測モードと異なるときに"adjust"を出力する。よって、Bin 数決定部230は、予測モード候補としてMPM[0]が扱われているときに、その予測モード候補が上に隣接するPUの予測モードと同じであるときにはbin 数を2 とするが、その予測モード候補が上に隣接するPUの予測モードと異なるときにはbin 数を2+adjustとする。
【0103】
また、Bin 数修正部260は、評価対象PUが1つのPU分割形状において左下に位置する場合、予測モード候補としてMPM[1]またはMPM[2]が扱われているときに、その予測モード候補が上に隣接するPUの予測モードと同じであるときには"adjust"を出力しないが、その予測モード候補が上に隣接するPUの予測モードと異なるときに"adjust"を出力する。よって、Bin 数決定部230は、予測モード候補としてMPM[1]またはMPM[2]が扱われているときに、その予測モード候補が上に隣接するPUの予測モードと同じであるときにはbin 数を3 とするが、その予測モード候補が上に隣接するPUの予測モードと異なるときにはbin 数を3+adjustとする。
【0104】
その結果、評価対象PUが1つのPU分割形状において左下に位置する場合に、評価対象PUの予測モードが、上に隣接するPUの予測モードと同じになる可能性が高まる。上に隣接するPUの予測モードと異なる予測モード候補に対応するbin 数が多くなって、符号化コストが大きくなるからである。
【0105】
つまり、評価対象PUが1つのPU分割形状において左下に位置する場合には、上に隣接するPUの予測モードと異なる予測モード候補は、ブロック拡大部370によるブロックサイズ拡大に寄与しないとされる。
【0106】
なお、イントラ予測モード決定部200において、4×4のサイズの4つのブロックの処理順はあらかじめ決められているので、Bin 数修正部260は、評価対象のPUが左下に位置するか否かを容易に判断できる。
【0107】
また、(6)式における"adjust"の値は、一般に、第1の実施形態における"adjust"の値((4)式における"adjust"の値)と同じ値であるが、第1の実施形態における"adjust"の値と異なっていてもよい。
【0108】
本実施形態でも、ブロック拡大部370が、符号化後のデータのbin 数を少なくするために小ブロックを統合する可能性が高まる。
【0109】
(第4の実施形態)
次に、第4の実施形態を説明する。第4の実施形態の映像符号化装置の構成は、
図1に示された構成と同じである。
【0110】
図6に示されたように、評価対象PUが1つのPU分割形状において下側の左(すなわち、左下)に位置するときに、MPM[0]が予測モードとして選択される可能性がある。
【0111】
そこで、本実施形態では、評価対象PUが1つのPU分割形状において左下に位置する場合には、Bin 数修正部260は、下記の(7)式に基づく"adjust"を出力する。
【0112】
bin 数 = 2 if (X == MPM[1])
3 if (X == MPM[0] || MPM[2])
6+adjust otherwise
(7)
【0113】
評価対象PUが1つのPU分割形状において左下に位置しない場合には、Bin 数決定部230は、例えば、上記の(4)式に基づいてbin 数を決定する。
【0114】
(4)式と(7)式の違いは、MPM[0](左の隣接PUの予測モード)とMPM[1](上の隣接PUの予測モード)とが入れ替わっていることである。
【0115】
なお、Bin 数決定部230は、常に、上記の(4)式に基づいてbin 数を決定するが、四分木において左下に位置する評価対象PUを対象としているときに、MPM[0]上の隣接PUの予測モードとし、MPM[1]を左の隣接PUの予測モードとして、bin 数を決定してもよい。
【0116】
本実施形態では、評価対象PUが四分木において左下に位置する場合、扱われている予測モード候補が左に隣接するPUの予測モード同じであるときにbin 数が増やされる。具体的には、評価対象PUが1つの分割形状における左下に位置する場合、上に隣接するブロックの予測モード(MPM[1])を最も少ないbin 数が割り当てられたMPM とする。その結果、評価対象PUの予測モードが左に隣接するPUの予測モードに決定される可能性が低くなる。すなわち、本実施形態でも、ブロック拡大部370が、符号化後のデータのbin 数を少なくするために小ブロックを統合する可能性が高まる。
【0117】
以上に説明したように、上記の各実施形態では、イントラ予測モード決定部200が、最小のブロックサイズ(例えば、4×4)に関する処理を遂行するように構成されることによって、イントラ予測モード決定部200を実現する集積回路のサイズ(面積)を大きくしないようにしつつ、Bin 数修正部260が、ブロック拡大部370によるブロックサイズ拡大に寄与しない予測モード候補を選択されにくくするので、ブロック拡大部370によるブロックサイズ拡大の可能性が高まる。その結果、符号化後のデータのbin 数を少なくすることができる。
【0118】
なお、CU分割およびPU分割に関して、ビットストリームに、split_cu_flag, cu_skip_flag, pred_mode, part_mode, intra_chroma_pred_mode, rqt_root_cbfが含まれるが、ブロック拡大部370がブロックの拡大を行わなかったときには、それらの分だけビットストリームにおけるbin 数が増加する。
【0119】
また、上記の各実施形態では、イントラ予測モード決定部200は、
図2に示されたように機能分割されているが、そのような機能の分担のさせ方は一例であって、他の機能分割を行ってもよい。一例として、イントラ予測画像生成部210と予測モード選択部250と他のブロック(残差計算部220、Bin 数決定部230およびコスト計算部240の機能を実現する1つのブロック)とを含むイントラ予測モード決定部200としたり、予測モード選択部250と他のブロック(イントラ予測画像生成部210、残差計算部220、Bin 数決定部230およびコスト計算部240の機能を実現する1つのブロック)とを含むイントラ予測モード決定部200としたりしてもよい。
【0120】
上記の各実施形態のイントラ予測モード決定部200は、FPGAやPLD(Programmable logic device )等の集積回路で実現可能であるが、コンピュータプログラムにより実現することも可能である。
【0121】
図7に示す情報処理システムは、プロセッサ1001、プログラムメモリ1002、映像データを格納するための記憶媒体1003およびビットストリーム等を格納するための記憶媒体1004を備える。記憶媒体1003と記憶媒体1004とは、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体として、磁気記憶媒体やRAM (Random Access Memory)等の半導体の記憶媒体を用いることができる。
【0122】
図7に示された情報処理システムにおいて、プログラムメモリ1002には、
図2に示された各ブロックの機能を実現するためのプログラムが格納される。そして、プロセッサ1001は、プログラムメモリ1002に格納されているプログラムに従って処理を実行することによって、
図2に示されたイントラ予測モード決定部200の機能を実現する。
【0123】
また、イントラ予測モード決定部200を含む映像符号化装置を情報処理システムで実現することもできる。その場合には、プログラムメモリ1002には、
図1に示された各ブロック(バッファを除く。)の機能を実現するためのプログラムが格納される。
【0124】
図8は、予測モード決定装置の主要部を示すブロック図である。
図8に示す予測モード決定装置は、入力映像のブロック(例えば、CTU )を再帰的に小ブロックに分割してイントラ予測またはフレーム間予測によって符号化する装置に適用され、各々の小ブロックについて、予測モード候補に対応する残差と予測モード候補に割り当てられたbin 数とに基づいて複数の予測モード候補の符号化コストを評価し、評価結果に基づいて、複数の予測モード候補からイントラ予測モードを選択する予測モード選択部11(
図2におけるイントラ予測画像生成部210、残差計算部220、Bin 数決定部230、コスト計算部240および予測モード選択部250に相当)と、予測モード選択部11が符号化コストを評価する際に、特定の予測モード候補に対応するbin 数を増加するBin 数調整部12(
図2におけるBin 数修正部260に相当)とを備える。なお、予測モード選択部11およびBin 数調整部12は、小ブロックが取り得るサイズのうちの1つのサイズ(例えば、4×4)のみに対応して設けられている。
【0125】
図9に示すように、予測モード決定装置は、所定の条件が成立すると複数の小ブロックを1つのブロックに統合する統合部13を有する映像符号化装置に適用され、Bin 数調整部12は、所定の条件を成立させるイントラ予測モードの選択率が大きくなるようにbin 数を増加するように構成されていてもよい。
【0126】
上記の実施形態の一部又は全部は以下の付記のようにも記載されうるが、本発明の構成は以下の構成に限定されない。
【0127】
(付記1)
入力映像のブロックを再帰的に小ブロックに分割してイントラ予測またはフレーム間予測によって符号化する映像符号化装置に適用されるイントラ予測モード決定方法であって、
前記小ブロックが取り得るサイズのうちの1つのサイズでのみ、各々の前記小ブロックについて、予測モード候補に対応する残差と予測モード候補に割り当てられたbin 数とに基づいて複数の予測モード候補の符号化コストを評価し、
評価結果に基づいて、前記複数の予測モード候補からイントラ予測モードを選択し、
前記符号化コストを評価する際に、特定の予測モード候補に対応するbin 数を増加する
ことを特徴とするイントラ予測モード決定方法。
【0128】
(付記2)
所定の条件が成立すると複数の小ブロックを1つのブロックに統合する統合機能を有する映像符号化装置に適用され、
前記所定の条件を成立させるイントラ予測モードの選択率が大きくなるようにbin 数を増加する
付記1記載のイントラ予測モード決定方法。
【0129】
(付記3)
MPM (Most probable mode) と異なる予測モード候補に対して、MPM に対してよりも多いbin 数を割り当て、
MPM と異なる前記予測モード候補に対応するbin 数をさらに増加する
付記1または付記2記載のイントラ予測モード決定方法。
【0130】
(付記4)
評価対象の前記小ブロックが1つの分割形状における上側に位置する場合、
当該小ブロックの左に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加し、
評価対象の前記小ブロックが1つの分割形状における下側に位置する場合、当該小ブロックの上に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加する
付記1または付記2記載のイントラ予測モード決定方法。
【0131】
(付記5)
評価対象の前記小ブロックが1つの分割形状における左下に位置する場合、予測モード候補が、MPM であり、かつ、前記小ブロックの上に隣接するブロックの予測モードと異なるときに、当該予測モード候補に対応するbin 数を増加する
付記3記載のイントラ予測モード決定方法。
【0132】
(付記6)
評価対象の前記小ブロックが1つの分割形状における左下に位置する場合、上に隣接するブロックの予測モードを最も少ないbin 数が割り当てられたMPM として扱う
付記3記載のイントラ予測モード決定方法。
【0133】
(付記7)
入力映像のブロックを再帰的に小ブロックに分割してイントラ予測またはフレーム間予測によって符号化する映像符号化装置に適用されるイントラ予測モード決定装置であって、
各々の前記小ブロックについて、予測モード候補に対応する残差と予測モード候補に割り当てられたbin 数とに基づいて複数の予測モード候補の符号化コストを評価し、評価結果に基づいて、前記複数の予測モード候補からイントラ予測モードを選択する予測モード選択手段と、
前記予測モード選択手段が前記符号化コストを評価する際に、特定の予測モード候補に対応するbin 数を増加するBin 数調整手段とが、
前記小ブロックが取り得るサイズのうちの1つのサイズのみに対応して設けられている
ことを特徴とするイントラ予測モード決定装置。
【0134】
(付記8)
所定の条件が成立すると複数の小ブロックを1つのブロックに統合する統合手段を有する映像符号化装置に適用され、
前記Bin 数調整手段は、前記所定の条件を成立させるイントラ予測モードの選択率が大きくなるようにbin 数を増加する
付記7記載のイントラ予測モード決定装置。
【0135】
(付記9)
MPM (Most probable mode) と異なる予測モード候補に対して、MPM に対してよりも多いbin 数が割り当てられ、
前記Bin 数調整手段は、MPM と異なる前記予測モード候補に対応するbin 数をさらに増加する
付記7または付記8記載のイントラ予測モード決定装置。
【0136】
(付記10)
前記Bin 数調整手段は、
評価対象の前記小ブロックが1つの分割形状における上側に位置する場合、
当該小ブロックの左に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加し、
評価対象の前記小ブロックが1つの分割形状における下側に位置する場合、当該小ブロックの上に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加する
付記7または付記8記載のイントラ予測モード決定装置。
【0137】
(付記11)
前記Bin 数調整手段は、評価対象の前記小ブロックが1つの分割形状における左下に位置する場合、予測モード候補が、MPM であり、かつ、前記小ブロックの上に隣接するブロックの予測モードと異なるときに、当該予測モード候補に対応するbin 数を増加する
付記9記載のイントラ予測モード決定装置。
【0138】
(付記12)
前記予測モード選択手段は、評価対象の前記小ブロックが1つの分割形状における左下に位置する場合、上に隣接するブロックの予測モードを最も少ないbin 数が割り当てられたMPM として前記符号化コストを評価する
付記9記載のイントラ予測モード決定装置。
【0139】
(付記13)
入力映像のブロックを再帰的に小ブロックに分割してイントラ予測またはフレーム間予測によって符号化する映像符号化装置に搭載されるコンピュータに、
前記小ブロックが取り得るサイズのうちの1つのサイズでのみ、各々の前記小ブロックについて、予測モード候補に対応する残差と予測モード候補に割り当てられたbin 数とに基づいて複数の予測モード候補の符号化コストを評価する処理と、
評価結果に基づいて、前記複数の予測モード候補からイントラ予測モードを選択する処理と、
前記符号化コストを評価する際に、特定の予測モード候補に対応するbin 数を増加する処理と
を実行させるためのイントラ予測モード決定プログラムを記憶する記憶媒体。
【0140】
(付記14)
所定の条件が成立すると複数の小ブロックを1つのブロックに統合する統合機能を有する映像符号化装置に搭載されるコンピュータに、
前記所定の条件を成立させるイントラ予測モードの選択率が大きくなるようにbin 数を増加する処理を実行させる
前記イントラ予測モード決定プログラムを記憶する付記13記載の記憶媒体。
【0141】
(付記15)
MPM (Most probable mode) と異なる予測モード候補に対して、MPM に対してよりも多いbin 数が割り当てられ、
コンピュータに、MPM と異なる前記予測モード候補に対応するbin 数をさらに増加する処理を実行させる
前記イントラ予測モード決定プログラムを記憶する付記13または付記14記載の記憶媒体。
【0142】
(付記16)
コンピュータに、
評価対象の前記小ブロックが1つの分割形状における上側に位置する場合、当該小ブロックの左に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加し、評価対象の前記小ブロックが1つの分割形状における下側に位置する場合、当該小ブロックの上に隣接するブロックの予測モードと異なる予測モード候補に対応するbin 数を増加する処理を実行させる
前記イントラ予測モード決定プログラムを記憶する付記13または付記14記載の記憶媒体。
【0143】
(付記17)
コンピュータに、
評価対象の前記小ブロックが1つの分割形状における左下に位置する場合、予測モード候補が、MPM であり、かつ、前記小ブロックの上に隣接するブロックの予測モードと異なるときに、当該予測モード候補に対応するbin 数を増加する処理を実行させる
前記イントラ予測モード決定プログラムを記憶する付記15記載の記憶媒体。
【0144】
(付記18)
コンピュータに、
評価対象の前記小ブロックが1つの分割形状における左下に位置する場合、上に隣接するブロックの予測モードを最も少ないbin 数が割り当てられたMPM として前記符号化コストを評価する処理を実行させる
前記イントラ予測モード決定プログラムを記憶する付記15記載の記憶媒体。
【0145】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0146】
この出願は、2016年9月12日に出願された日本出願特願2016−177303を基礎とする優先権を主張し、その開示の全てをここに取り込む。