(58)【調査した分野】(Int.Cl.,DB名)
前記複数の所定の予測モードは、複数の所定の予測モードセット群の中の1つの所定の予測モードセットを構成する前記第1のパラメタによって示され、ここで、前記複数の所定の予測モードセット群のそれぞれは、同数の複数の所定の予測モードを含む、
請求項1に記載の画像復号装置。
前記複数の所定の予測モードは、複数の所定の予測モードセット群の中の1つの所定の予測モードセットを構成する前記第1のパラメタによって示され、ここで、前記複数の所定の予測モードセット群のそれぞれは、同数の複数の所定の予測モードを含む、
請求項4に記載の画像復号方法。
【発明を実施するための形態】
【0121】
〔実施形態1〕
本発明に係る画像符号化装置を実施形態1として、
図1〜
図13を参照して以下に説明する。
【0122】
(画像符号化装置100の構成)
まず、本実施形態に係る画像符号化装置100の構成について、
図1を参照して以下に説明する。
図1は、本実施形態に係る画像符号化装置100の構成を示すブロック図である。画像符号化装置100は、差分演算部1、直交変換部2、量子化部3、エントロピー符号化部4、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部10、予測モード決定部11、エッジ解析部12、予測セット決定部13、および相対予測セット情報作成部51を備えている(
図1)。なお本実施形態では、従来技術において説明していない構成要素であるエントロピー符号化部4、イントラ予測部10、予測モード決定部11、エッジ解析部12、予測セット決定部13、相対予測セット情報作成部51について以下に説明する。
【0123】
(エントロピー符号化部4)
エントロピー符号化部4は、予測残差データ、予測モード情報、相対予測セット情報などをエントロピー符号化し、符号化データを出力する。
【0124】
(イントラ予測部10)
イントラ予測部10は、メモリ9に記憶された局所復号画像を用いて、予測セット情報と予測モード情報により表されるイントラ予測を行い、予測画像を生成する。なお、予測画素の詳細な生成方法について下記に詳述する。
【0125】
(予測モード決定部11)
予測モード決定部11は、入力された符号化対象ブロックの原画像、およびメモリ9から入力された局所復号画像に基づいて、予測セット決定部13より入力された予測セット情報が表す複数の予測モードから符号化対象ブロックの予測に用いる予測モードを1つ決定する。そして、決定した予測モードを表す予測モード情報を、イントラ予測部10およびエントロピー符号化部4へ出力する。なお、予測モードの決定には、予測残差コスト最小化法、またはレート歪最適化手法を用いることができる。
【0126】
(エッジ解析部12)
エッジ解析部12は、検出したエッジからエッジ強度およびエッジ方向を算出する。具体的には、入力されたM×M画素ブロックの符号化対象ブロックをさらに分割したN×N画素ブロックのサブブロックごとにエッジ検出を行い、検出したエッジからエッジ強度およびエッジ方向を算出する。
【0127】
(予測セット決定部13)
予測セット決定部13は、符号化対象ブロックに適用する予測セットを決定する。具体的には、エッジ解析部12において算出された符号化対象ブロックのエッジ方向およびエッジ強度に基づいて、予め定められた予測セット群の中から符号化対象ブロックに適用する予測セットを決定し、決定した予測セットを表す予測セット情報を出力する。なお、予測セット(群)の詳細については、下記に詳述する。
【0128】
(相対予測セット情報作成部51)
相対予測セット情報作成部51は、予測セット決定部13において決定された符号化対象ブロックに適用する予測セットを表す予測セット情報を、符号化済みの予測セットを表す情報に基づいて予測し、予測に基づくフラグと差分とから予測セットを表した情報(相対予測セット情報)を出力する。なお、相対予測セット情報作成部51の詳細については、下記に詳述する。
【0129】
(画像符号化プロセスの概要)
画像符号化装置100における画像符号化プロセスの概要について、
図2を参照して以下に説明する。
図2は、画像符号化装置100における画像符号化プロセスの概要を示すフローチャートである。
【0130】
(符号化対象ブロックの入力およびエッジ情報の算出)
M×M画素ブロックの符号化対象ブロックが画像符号化装置100に入力されると(ステップS1)、エッジ解析部12は、M×M画素ブロックの符号化対象ブロックをN×N画素ブロック(N≦M)のサブブロックにさらに分割する(ステップS2)。続いて、エッジ解析部12は、M×M画素ブロックを構成する全サブブロックのエッジ強度およびエッジ方向をエッジ情報として算出する(ステップS3)。なお、エッジ情報の詳細な算出方法については下記に詳述する。
【0131】
(予測セットの決定、予測セット情報の符号化)
予測セット決定部13は、ステップS3において算出されたエッジ情報に基づいて、符号化対象ブロックに適用する予測セットを決定し、決定した予測セットを表す情報(以下、予測セット情報とも称する)を予測モード決定部11、相対予測セット情報作成部51およびイントラ予測部10に出力する(ステップS4)。予測セット決定部13から予測セット情報を受けた相対予測セット情報作成部51は、予測セット情報を符号化済みの予測セットを表す情報に基づいて予測し、相対予測セット情報をエントロピー符号化部4へ出力する(ステップS5)。エントロピー符号化部4は、相対予測セット情報をエントロピー符号化して出力する(ステップS6)。なお、予測セットの詳細な決定方法、ならびに予測セット情報の詳細な符号化方法および予測セット情報のデータ構造については下記に詳述する。
【0132】
(予測モードの決定、および予測モード情報の符号化)
予測モード決定部11は、メモリ9から入力された符号化済み隣接サブブロックにおける局所復号画像より、予測セット決定部13より入力された予測セット情報の表す複数の予測モードから符号化対象サブブロックの予測に用いる予測モードを決定し、決定した予測モード情報をイントラ予測部10、およびエントロピー符号化部4へ出力する(ステップS7)。エントロピー符号化部4は、入力された予測モード情報をエントロピー符号化し、予測モード情報の符号化データを出力する(ステップS8)。ここで、符号化対象サブブロックとは、符号化対象ブロックをN×N画素ブロックに分割して得られたサブブロックを意味している。
【0133】
(予測画像の生成)
イントラ予測部10は、メモリ9から入力された符号化済み隣接サブブロックにおける局所復号画像を用いて、上記ステップS4で決定された予測セットおよび上記ステップS7で決定された予測モードにより定まるイントラ予測を行い、符号化対象サブブロックの予測画像を生成し、差分演算部1、および加算演算部8へ出力する(ステップS9)。
【0134】
(予測残差データの算出)
差分演算部1は、入力された符号化対象サブブロックの原画像と、上記ステップS9で生成された予測画像との差分であるN×N画素ブロックの予測残差データを算出し、出力する(ステップS10)。
【0135】
(直交変換および量子化)
上記ステップS10で算出された予測残差データは、直交変換部2、量子化部3の順に入力され、直交変換・量子化されてエントロピー符号化部4および逆量子化部6へ出力される(ステップS11)。
【0136】
(逆直交変換および逆量子化)
直交変換・量子化された予測残差データは、逆量子化部6、逆直交変換部7の順に入力され、逆量子化・逆直交変換されて、加算演算部8へ出力される(ステップS12)。
【0137】
(局所復号画像の生成)
加算演算部8は、ステップS12において逆量子化および逆直交変換された予測残差データと、ステップS9において生成した予測画像とを加算し、N×N画素ブロックの局所復号画像を生成する(ステップS13)。なお、生成した局所復号画像は、メモリ9に記憶される。
【0138】
(予測残差データの符号化)
エントロピー符号化部4は、符号化対象サブブロックの量子化済み予測残差データをエントロピー符号化して予測残差データの符号化データを出力する(ステップS14)。
【0139】
なお、ステップS7〜S14における処理は、符号化対象ブロックを構成する全てのサブブロックについて行われる。また、ステップS1〜S14における処理は、符号化対象画像を構成する全てのブロックについて行われる。
【0140】
(付記事項)
本実施形態では、画像符号化装置100の符号化プロセスをステップS1〜S14の順に説明したが、これに限定されるものではなく、本発明を実施できる範囲において変更可能である。
【0141】
(エッジ解析部12の詳細な動作およびエッジ情報のデータ構造)
エッジ解析部12において算出するエッジ情報のデータ構造を表1に示す。なお、表1において、「bk」は符号化対象ブロックにおけるサブブロックの位置を表すカウンタを表し、「end_bk」は符号化対象ブロックにおける終端サブブロックの番号を表す。
【0143】
エッジ解析部12の詳細な動作について、
図3を参照して以下に説明する。
図3は、エッジ情報の詳細な決定プロセスを示すフローチャートである。
【0144】
M×M画素ブロック(M≧N)の符号化対象ブロックが入力されると、エッジ解析部12は、入力された符号化対象ブロックをさらにN×N画素ブロックのサブブロックに分割し(ステップS20)、符号化対象ブロックにおけるサブブロックの位置を表すカウンタbkをゼロ値に初期化する(ステップS21)。
【0145】
次に、エッジ解析部12は、カウンタbkが示すサブブロック(以下、対象サブブロックとも称する)の全画素における勾配ベクトル(水平成分,垂直成分)をオペレータによって算出する(ステップS22)。勾配ベクトルを算出するオペレータとしては、Sobelオ
ペレータ、Prewittオペレータなどを挙げることができる。また、勾配ベクトルは、下記
式(7)のように勾配ベクトルを算出する画素位置の上下左右にある画素値の差分により算出してもよい。
【0147】
式中、I(x,y)は対象サブブロック中の画素位置(x,y)における画素値を示し、G(x,y)は画素位置(x,y)における勾配ベクトルを示す。
【0148】
エッジ解析部12は、ステップS22において算出した対象サブブロック内の全画素単位の勾配ベクトルから、エッジ情報を算出する(ステップS23)。なお、本明細書において、「エッジ情報」とは、対象サブブロックのエッジ方向であるedge_orientation[bk]およびエッジ強度であるedge_strength[bk]を意味する。エッジ方向およびエッジ強度の
算出方法については、下記に詳述する。
【0149】
エッジ解析部12は、ステップS23において算出した、対象サブブロックのエッジ方向およびエッジ強度をエッジ情報edge_data()に格納し(ステップS24)、カウンタb
kの値を1つ加算する(ステップS25)。
【0150】
続いて、エッジ解析部12は、カウンタbkの値がend_bkの値よりも大きいか否かを判定する(ステップS26)。カウンタbkの示す値が符号化対象ブロックにおける終端サブブロックの位置であるend_bk以下であれば(ステップS26においてYes)、次のサブブロック内の全画素における勾配ベクトルを算出する。すなわち、再度ステップS22に戻る。カウンタbkの示す値が符号化対象ブロックにおける終端サブブロックの位置であるend_bkより大きい値であれば(ステップS26においてNo)、エッジ情報edge_data()を出力して符号対象化ブロックにおけるエッジ解析の動作を終了する(ステップS27)。
【0151】
(エッジ方向およびエッジ強度の詳細な算出方法)
ここで、エッジ方向およびエッジ強度の算出方法の具体例について以下に説明する。
【0152】
エッジ強度は、対象サブブロックにおける画素単位の勾配ベクトルの平均強度を表し、下記式(8)または(9)によって算出することができる。ここで、Gx、Gyは、それぞれ勾配ベクトルG(x,y)のx成分、y成分を表す。
【0154】
エッジ方向は、多様な方法によって算出することができ、特に限定されるものではない。本実施形態では、非特許文献2に記載の方法を用いた場合を例に挙げて、エッジ方向の算出方法を以下に説明する。なお、非特許文献2には、指紋検出の際に利用されるエッジ方向導入手法について記載されている。
【0155】
まず、対象サブブロック内の画素位置における勾配ベクトルを、下記式(10)によって算出する。ここで、下記式(10)中のsign()は、下記式(11)に示すように、0以上の場合には「1」を返し、負の場合には「−1」を返す関数である。次に、平方勾配ベクトルGs(x,y)を、算出した対象サブブロック内の画素位置(x,y)における勾配ベクトルG(x,y)を用いて下記式(12)により算出する。さらに、対象サブブロックの平均平方ベクトルを、対象サブブロック内の全画素について求めた平方勾配ベクトルを用いて下記式(13)により算出する。
【0157】
次に、Gxx、GyyおよびGxyを、下記式(14)として定義する。対象サブブロックの勾配ベクトルの方向φは、定義したGxx、GyyおよびGxyを用いて、下記式(15)によって算出する。ここで、∠(x,y)は、下記式(16)により定義される。また、下記式(16)中の[rad]は、弧度法における角度単位である。
【0159】
対象サブブロックのエッジ方向θは、対象サブブロックの勾配方向に直交するため、下記式(17)によって算出することができる。なお、対象サブブロックのエッジ方向θを度数法によって表す場合には、下記式(18)によって変換することができる。ここで、下記式(18)中の[deg]は、度数法における角度単位である。
【0160】
なお、上記エッジ方向の算出方法およびエッジ強度の算出方法は、後述の実施形態3における画像符号化装置200のエッジ解析部212において適用される。
【0162】
(エッジ検出の具体例)
エッジ解析部12によって検出されるエッジの具体例について、
図4の(a)〜(f)を参照して以下に説明する。
図4の(a)〜(f)は、エッジ解析部12において検出されるエッジの具体例を示した図であり、(a)は横縞模様が形成された原画像であり、(b)はそれから検出されるエッジ画像であり、(c)は縦縞模様が形成された原画像であり、(d)はそれから検出されるエッジ画像であり、(e)はねじれ模様が形成された原画像であり、(f)はそれから検出されるエッジ画像である。なお、いずれのエッジ画像においても、黒色部分は平坦部を表し、白色部分はエッジ部を表す。
【0163】
図4の(a)に示す横縞模様の場合には、
図4の(b)に示すように水平方向にエッジが多く検出される。したがって、
図5の(a)に示すようなエッジ方向分布となる。
図4の(c)に示す縦縞模様の場合には、
図4の(d)に示すように垂直方向にエッジが多く検出される。したがって、
図5の(b)に示すようなエッジ方向分布となる。
図4の(e)に示すねじれ模様の場合には、
図4の(f)に示すように水平方向および垂直方向にエッジが多く検出される。したがって、
図5の(c)に示すようなエッジ方向分布となる。
【0164】
なお、
図5の(a)〜(c)は、
図4の(b)、(d)および(f)に示すエッジ画像のエッジ方向分布を示した図であり、(a)は
図4の(b)のエッジ方向分布を示し、(b)は
図4の(d)のエッジ方向分布を示し、(c)は
図4の(f)のエッジ方向分布を示す。
【0165】
(予測セット決定部13の動作および予測セットの詳細)
予測セット決定部13の動作および予測セットの詳細について、
図6および7を参照して以下に説明する。上述したように、予測セット決定部13は、主として、エッジ解析部12において算出された符号化対象ブロックのエッジ情報に基づいて、予測セット群の中から、符号化対象ブロックに適用する予測セットを決定する。
【0166】
(予測セットの詳細)
本明細書等における予測セット群は、L個の予測セットからなる集合である。また、予測セット群内の各予測セットi(0≦i≦L−1)は、Ki個の異なる予測方式を定義した予測モードの集合である。なお、iはそれぞれの予測セットを識別するために用いる番号を表す。
【0167】
また、予測セット内の予測方式は、予測方向(エッジ方向)θによって定義される空間予測およびDC予測の他にも平面予測、周波数予測、またはテンプレートマッチングなどの予測方式によって構成されていてもよい。さらに、予測セットi(0≦i≦L−1)ごとに予測モード数Ki(0≦i≦L−1)が異なっていてもよい。
【0168】
(予測セット群および予測セットの具体例)
予測セット群および予測セットの具体例を、表2および
図6を参照して以下に説明する。表2には、予測セット数L=4、予測モード数K0=K1=K2=K3=9の場合の予測セット群の一例を示す。なお、表2中の「0」[deg]、「−90」[deg]、「±15」[deg]、「±22.5」[deg]、「±30」[deg]、「±45」[deg]、「±67.5」[deg]、「±75」[deg]は、予測方向θによって定義される空間予測を表し、「DC」はDC予測を表している。
【0170】
図6の(a)〜(d)は、表2における各予測セットのうち、DC予測を除いた残りの予測モードを示す図であり、(a)〜(d)はそれぞれ予測セット0〜3に対応している。
【0171】
図6の(a)に示す予測セット0は、従来技術におけるイントラ予測と同一であるため、ここではその説明を省略する。
【0172】
図6の(b)に示す予測セット1は、水平方向の予測を重視した予測セットであり、
図5の(a)に示すような水平方向(0[deg]近傍)にエッジが集中している場合に有効である。なお、水平方向にエッジが集中している画像としては、
図4の(a)に示したような横縞模様の画像を挙げることができる。
【0173】
図6の(c)に示す予測セット2は、垂直方向の予測を重視した予測セットであり、
図5の(b)に示すような垂直方向(±90[deg]近傍)にエッジが集中している場合に有
効である。なお、垂直方向にエッジが集中している画像としては、
図4の(c)に示したような縦縞模様の画像を挙げることができる。
【0174】
図6の(d)に示す予測セット3は、水平方向および垂直方向の予測を重視した予測セットであり、
図5の(c)に示すような垂直方向(±90[deg]近傍)および水平方向(
0[deg]近傍)の双方にエッジが集中している場合に有効である。なお、垂直方向および
水平方向の双方にエッジが集中している画像としては、
図4の(e)に示したようなねじれ模様の画像を挙げることができる。
【0175】
以上のように、予測セット0〜3のような異なる特定方向の予測を重視した予測セットを複数予め定めておき、予め定められた予測セットを符号化対象ブロックごとに切り替えることによって、従来の画像符号化装置では対応できない方向の予測を可能としている。
【0176】
(予測セット情報の決定プロセスの詳細)
予測セット情報の詳細な決定プロセスについて、
図7を参照して以下に説明する。
図7は、予測セット決定部13の詳細な動作を示すフローチャートである。また、予測セット決定部13の動作説明に用いるパラメータの定義を表3に示す。
【0178】
エッジ情報edge_data()を入力された予測セット決定部13は(ステップS30)、カ
ウンタset_numにゼロ値を設定し、min_sum_of_delta_angleに初期値を設定して初期化す
る(ステップS31)。次に、カウンタbkおよびsum_of_delta_angle[set_num]にゼロ値
を設定し、min_delta_angleに初期値を設定して初期化する(ステップS32)。
【0179】
続いて、予測セット決定部13は、カウンタbkが示す符号化対象ブロック内のサブブロック(以下、対象サブブロックとも称する)におけるエッジ強度edge_strength[bk]が閾
値Th以上であるか否かを判定する(ステップS33)。なお、閾値Thは、あらかじめ適当な値を設定してもよく、また適宜設定してもよい。
【0180】
edge_strength[bk]が閾値Th以上の場合(ステップS33においてYes)、予測セット決定部13は、予測セット内における対象サブブロックにおけるエッジ方向edge_angle[bk]と、予測セット番号set_numが示す予測セットにおける予測モード番号mode_numが示す予測モードの予測方向pred_angle[set_num][mode_num]との差分角度の絶対値の最小値(以下、最小絶対差分角度)min_delta_angleを算出する(ステップS34)。算出には下記式(19)を用いる。
【0182】
なお、予測方向pred_angle[set_num][mode_num]には、表2に示す予測セット中の各予測モードが表す予測方向の値が代入される。たとえば、表2の予測セット1(すなわち、set_num=1)における予測モード6(すなわち、mode_num=6)であれば、予測方向は15[deg]であるため、pred_angle[1][6]=15[deg]となる。
【0183】
予測セット決定部13は、最小絶対差分角度min_delta_angleを算出すると、算出したmin_delta_angleに定数αを乗算し、これをコストsum_of_delta_angle[set_num]に加算する(ステップS35)。なお、定数αは絶対差分角度の大きさに応じた所定の重み係数である。
【0184】
次に、予測セット決定部13は、カウンタbkを1つ加算し、次のサブブロック番号をセットする(ステップS36)。そして、カウンタbkがend_bk以下であるか否かを判定する(ステップS37)。カウンタbkの値が符号化対象ブロック内の終端サブブロック番号であるend_bk以下である場合(ステップS37においてYes)、予測セット決定部13は、再度ステップS33から処理を行う。カウンタbkの値がend_bkより大きい場合(ステップS37においてNo)には、カウンタset_numを1加算し、次の予測セット番号をセットする(ステップS38)。
【0185】
なお、ステップS32〜S38までの処理は、予測セット番号set_numによって表され
る予測セットにおいて定義されている予測方向が、符号化対象ブロック内の全サブブロックのエッジ方向とどれだけ近似しているかを表す類似度を算出する処理である。すなわち、予測セットにおいて定義されている予測方向が全サブブロックのエッジ方向と近似しているほど、類似度sum_of_delta_angle[set_num]の値は小さくなる。
【0186】
続いて、予測セット決定部13は、カウンタset_numの予測セットと、終端番号であるend_set_numとの大小を判定する(ステップS39)。カウンタset_numが、end_set_num以下である場合には(ステップS39においてYes)、再度ステップS32から処理を行う。カウンタset_numが、end_set_numより大きい場合には(ステップS39においてNo)、算出されたsum_of_delta_angle[set_num]の値が最小値となる予測セット番号set_numで表される予測セットを、符号化対象ブロックに適用する予測セットpred_setとする(ステップS40)。そして、予測セット決定部13は、予測セットpred_setを表す予測セット情報をイントラ予測部10、予測モード決定部11および相対予測セット情報作成部51へ出力する(ステップS41)。予測セットpred_setは、下記式(20)を用いて、sum_of_delta_angle[set_num]を最小化する予測セットの番号を決定する。ここで、式(2
0)中のset_groupは、予測セット群を表す。なお、予測セット情報のデータ構造を表4に示す。
【0189】
(予測セット情報の符号化プロセス)
予測セット情報を符号化する詳細なプロセスについて、以下に説明する。ここで、相対予測セット情報作成部51は、予測セット決定部13において決定した符号化対象ブロックに適用する予測セット情報を、符号化済みの予測セット情報に基づいて予測し、予測セットを予測に基づくフラグと差分とにより表した情報(以降、相対予測セット情報)としてエントロピー符号化部4へ出力するものである。なお、エントロピー符号化部4においては、相対予測セット情報の代わりに、予測セット情報を直接エントロピー符号化してもよい。
【0190】
相対予測セット情報のデータ構造を表5に示す。ここで、表5中、relative_prediction_set_data()中のprobable_pred_set_flagは、符号化対象ブロックに適用する予測セットが予測した予測セットと同じか否かを表すフラグである。また、rem_pred_setは、予測に用いた予測セットprobable_pred_setを除く残りの予測セットのいずれかを表す情報である。なお、相対予測セット情報は、符号化対象ブロックに適用する予測セットpred_setの値でもよいし、符号化対象ブロックに適用する予測セットpred_setの値と予測値probable_pred_setの値との差分値としてもよい。
【0192】
(相対予測セット情報作成部51の構成)
相対予測セット情報作成部51の動作の説明に先立って、相対予測セット情報作成部51の構成について、
図8を参照して以下に説明する。
図8は、相対予測セット情報作成部51の構成を示すブロック図である。相対予測セット情報作成部51は、相対予測セット情報生成部511、予測セット情報予測部512、および予測セット情報格納部513を備えている。これらの構成要素について、以下に説明する。
【0193】
(相対予測セット情報生成部511)
相対予測セット情報生成部511は、入力された予測セット情報を、予測セット情報予測部512において決定された予測値に基づいて予測し、相対予測セット情報を出力する。
【0194】
(予測セット情報予測部512)
予測セット情報予測部512は、予測セット情報格納部513に記憶した符号化済み予測セット情報に基づいて符号化対象ブロックに適用する予測セットの予測値を決定し、出力する。
【0195】
ここで、符号化対象ブロックに適用する予測セットの予測値の決定には、下記(1)〜(5)のいずれかの方法を用いる。なお、画像領域におけるブロックの位置を理解しやすいように、予測セット情報の予測に用いるブロックの位置を
図9に示す。
(1)
図9中の符号化対象ブロック61の近傍に位置するブロック(60a〜60k)において適用された予測セットの中のうち、最も出現頻度の高い予測セットを予測値とする。
(2)
図9中の符号化対象ブロック61の近傍に位置するブロック(60a〜60c、または60a、60cおよび60d)において適用された予測セットのメディアンを予測値とする。
(3)
図9中の符号化対象ブロック61の左部に位置する符号化済みブロック(60a)に適用された予測セットを予測値とする。
(4)
図9中の符号化対象ブロック61の上部に位置する符号化済みブロック(60c)において適用された予測セットを予測値とする。
(5)
図9中の符号化対象フレーム内で符号化対象ブロック61より以前に符号化されたブロック(
図9中の符号化済み画像領域60、すなわち符号化済みブロック60s、60t、60u、60v、60a、60b、60cおよび60dにより囲まれる領域を構成する全ブロック)において適用された予測セットの中のうち、最も出現頻度の高い予測セットを予測値とする。
【0196】
なお、符号化済みの予測セット情報が存在しない場合には、あらかじめ設定された所定の予測セットをprobable_pred_setとして設定する。
【0197】
(予測セット情報格納部513)
予測セット情報格納部513は、入力された予測セット情報を記憶する。
【0198】
(予測セット情報の予測プロセスの詳細)
予測セット情報の予測プロセスの詳細について、
図10を参照して以下に説明する。
図10は、相対予測セット情報作成部51における予測セット情報の予測プロセスを示すフローチャートである。
【0199】
予測セット情報予測部512は、予測セット情報格納部513に記憶された符号化済み予測セット情報に基づいて予測セットの予測値を決定し出力する(ステップS50)。次に、相対予測セット情報作成部51へ入力された予測セット情報は、予測セット情報格納部513と相対予測セット情報生成部511へ入力される(ステップS51)。予測セット情報格納部513は、入力された予測セット情報を記憶する(ステップS52)。そして、相対予測セット情報生成部511は、符号化対象ブロックに適用する予測セットpred_setと、予測セット情報予測部512において上記(1)〜(5)にいずれかの方法によって決定された予測セットの予測値probable_pred_setとを比較する(ステップS53)。
【0200】
予測セットpred_setと予測セットの予測値probable_pred_setとが同一の予測セットである場合(ステップS53においてYes)、相対予測セット情報生成部511は、「一致する」を表す情報をprobable_pred_set_flagに設定し(probable_pred_set_flag=1)(ステップS54)、相対予測セット情報としてエントロピー符号化部4へ出力する(ステップS58)。
【0201】
予測セットpred_setと予測セットprobable_pred_setとが異なる場合(ステップS53においてNo)、相対予測セット情報生成部511は、「一致しない」を表す情報をprobable_pred_set_flagに設定し(probable_pred_set_flag=0)、残りの予測セットのいずれかを表す情報(rem_pred_set)を求める。
【0202】
具体的には、まずpred_setとprobable_pred_setの値を比較する(ステップS55)。pred_setが、probable_pred_setよりも小さい場合(ステップS55においてYes)、probable_pred_set_flag=0、およびrem_pred_set=pred_setと設定し(ステップS56)、相対予測セット情報として出力する(ステップS58)。pred_setが、probable_pred_set以上の場合(ステップS55においてNo)には、probable_pred_set_flag=0、およ
びrem_pred_set=pred_set−1と設定し(ステップS57)、相対予測セット情報を出力する(ステップS58)。
【0203】
(予測方向θからの予測画像生成方法の詳細)
予測方向θからの予測画像生成方法について、
図11を参照して以下に説明する。
図11は、X−Y平面にある点P(xp,yp)上の画素値I(xp,yp)を、点Pを通過する直線lの方向から予測する場合において、N×N画素ブロックの予測画像の生成方法を示す図である。なお、
図11におけるグリッドの交点は、整数画素位置を表し、X軸上およびY軸上は、参照画素領域を表す。
【0204】
さらに、X−Y平面上において、0<x≦N、かつ0<y≦Nを満たす領域を予測対象画素領域とし、0≦x≦Lかつy≦0またはx≦0かつy≦0またはx≦0かつ0≦y≦Kを満たす領域を符号化画素領域とし、それ以外の領域を未符号化画素領域とする。また、参照画素領域は、符号化画素領域中の0≦x≦Lかつy=0またはx=0かつy=0またはx=0かつ0≦y≦Kの領域とする。
【0205】
また、予測方向としては、領域(0≦x≦Lかつy=0)上の参照画素領域から点Pの画素値を予測する場合、または領域(x=0かつ0≦y≦K)上の参照画素領域から点Pの画素値を予測する場合の2通りを挙げることができる。
【0206】
なお、上述した「N」、「L」および「K」について、
図12の(a)〜(f)を参照して説明する。
図12の(a)〜(f)に示すように、「N」は、予測対象画像領域の縦および横のサイズを表し、「L」および「K」は参照画素領域のサイズを表す。より具体的には、「K」は、予測対象画素領域の左部に位置する参照画素領域の縦のサイズを表し、「L」は、予測対象画素領域の上部に位置する参照画素領域の横のサイズを表す。
【0207】
図12の(a)〜(f)に示すように、「L」および「K」はいずれも、0、「N」または「2N」のいずれかの値をとる。なお、
図12の(a)〜(f)には、それぞれ、「L」および「K」が0、「N」または「2N」の値をとるときに形成される参照画素領域の例について示しているが、ここに示す例は一例であり、「L」および「K」がここに示す以外の値の組み合わせであってもよい。
【0208】
予測方向θの方向ベクトルをベクトルR=(rx,ry)とすると、X軸と直線lとの交点AおよびY軸と直線lとの交点Bは、それぞれ下記式(21)および(22)によって表すことができる。
【0210】
交点Aおよび交点Bが、下記に示す条件(1)〜(4)の条件を満たすとき、交点Aまたは交点Bを、点Pにおける予測画素とする。(1)予測方向θが、−π/2≦θ≦ψのとき、交点Aを予測画素とする。(2)予測方向θが、ψ<θ≦0のとき、交点Bを予測画素とする。(3)予測方向θが、0<θ<π/2であり、かつxa≧0かつyb≦0のとき、交点Aを予測画素とする。(4)予測方向θが、0<θ<π/2であり、かつxa<0かつyb≧0のとき、交点Bを予測画素とする。ここで、ψは−π/2<ψ<0を満たす。
【0211】
交点Aにおける予測画素値IAおよび交点Bにおける予測画素値IBは、隣接する画素を用いた線形補間または3次補間などの補間処理によって生成することができる。ただし、交点Aおよび交点Bが整数画素位置に存在する場合には、たとえば、3タップフィルタなどのnタップフィルタによるフィルタ処理を行ってもよい。
【0212】
交点Aおよび交点Bにおける予測画素値IAおよびIBは、線形補間および3タップフィルタを用いる場合、下記式(23)および(24)によって表すことができる。ただし、下記式(23)および(24)中、Irec(x,y)は、局所復号画像の画素値を表している。ここで、Floor{x}は、xより大きくない最大の整数を求める演算であり、Ceil{x}は、xより小さくない最小の整数を求める演算である。また、Zは整数の集合を表す。
【0214】
なお、上記式(23)および(24)において、(Ceil{xa},0)、(xa+1,0)、(0,Ceil{yb})および(0,yb+1)の位置にある画素が、未符号化画素領域にある場合には、(Ceil{xa},0)、(xa+1,0)は(L,0)に、(0,Ceil{yb})および(0,yb+1)は(0,K)に位置する画素値を代わりに用いる。
【0215】
そして、予測対象画素領域全体の予測画素は、予測対象画素領域上の点Pに関する予測画素生成を予測対象画素領域上の整数画素位置にある全ての点について適用することによって、生成できる。
【0216】
なお、本実施形態では予測セットの符号化単位をM×M画素ブロックとして説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)またはGOP(Group Of Picture)を予測セットの符号化単位としてもよい。例えば、スライス単位で予測セットを切り替える場合、スライスの先頭で選択した予測セットに関する情報を符号化する必要がある。予測セットの符号化単位は、予め画像符号化装置、画像復号装置間で取り決めておいてもよく、符号化データの先頭、ピクチャ、GOPヘッダの中で指定してもよい。あるいは画像符号化装置・画像復号装置ではなく外部の手段を使って通知することも可能である。
【0217】
本明細書におけるマクロブロック、スライス、ピクチャ(フレーム)およびGOPを、
図13の(a)〜(e)に示す。
図13の(a)〜(e)は、本発明に係る符号化単位の関係を模式的に示した図であり、(a)はGOPを示し、(b)はピクチャ(フレーム)を示し、(c)はスライスを示し、(d)はマクロブロックを示し、(d)はサブブロックを示す。なお、
図13ではサブブロックをM=2Nとしているがこれに限らない。例えば、M=N、2N、4N、8N、16Nなどであってもよい。
【0218】
(作用効果)
以上のように、画像符号化装置100は、画像を構成する各ブロックから、当該画像のエッジ情報を算出する。たとえばエッジ情報として、画像のエッジ方向、エッジ強度、あるいはこれらの分布情報を算出する。画像符号化装置は、互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群から、算出したエッジ情報に応じた予測セットを選択する。そして、選択した予測セットを用いて画像を符号化する。たとえば、エッジ情報が水平方向のエッジが偏っていることを表しているなら、水平方向の予測を重視した予測セットを用いて画像を符号化する。一方、エッジ情報が垂直方向のエッジが偏っていることを表しているなら、垂直方向の予測を重視した予測セットを用いて符号化する。
【0219】
これにより画像符号化装置100は、画像のエッジ情報に応じた最適な予測セットを用いて、画像を符号化する。したがって、従来よりも多様な角度からの予測が可能になるので、画像の符号量をより減らすことができ、かつ、画質を向上させることができる。
【0220】
また画像符号化装置100は、予測方式を予測セット情報と予測モード情報とにより階層的に表現することによって、予測方式を選択する自由度を高めることができる。これによって、予測方式を表すために必要な符号量の増加を防ぎつつ、予測効率を上げることができる。
【0221】
(付記事項)
ここで、本実施形態では、予測セット群の例として、予測セット数L=4、予測モード数Ki=9(i=0、1、2、3)の場合について説明したが、これに限定されるものではない。例えば、予測セット群は、予測セット数L=5または9であってもよいし、それ以外の自然数であってもよい。表6および表7にそれぞれ、予測セット数L=5、L=9の場合の予測セット群および予測セットの例を示す。なお、表6は、予測セット数L=5、予測モード数Ki=9(0≦i<5、i∈整数)の場合の予測セット群および予測セットの例であり、表7は、予測セット数L=9、予測モード数Ki=9(0≦i<9、i∈整数)の場合の予測セット群および予測セットの例である。
【0224】
〔実施形態2〕
本発明に係る画像復号装置について実施形態2として、
図14〜
図17を参照して以下に説明する。なお、実施形態1と同様の構成要素については同一の符号を付し、その説明を省略する。
【0225】
(画像復号装置150の構成)
実施形態2に係る画像復号装置150の構成について、
図14を参照して以下に説明する。
図14は、画像復号装置150の構成を示すブロック図である。
【0226】
図14に示すように、画像復号装置150は、主として、エントロピー復号部5、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部10および予測セット情報作成部52を備えている。本実施形態では、上記において説明されていないエントロピー復号部5および予測セット情報作成部52についてのみ以下に説明する。
【0227】
(エントロピー復号部5)
エントロピー復号部5は、予測残差データ、予測モード情報、相対予測セット情報などの符号化データをエントロピー復号し、出力する。
【0228】
(予測セット情報作成部52)
予測セット情報作成部52は、エントロピー復号された相対予測セット情報および復号済み予測セット情報より、注目ブロックの予測セット情報を作成する。なお、予測セット情報作成部52の構成および動作は後述する。
【0229】
(画像復号プロセスの概要)
次に、画像復号装置150における画像復号プロセスの概要について、
図15を参照して以下に説明する。
図15は、画像復号装置150における画像復号プロセスの概要を示すフローチャートである。
【0230】
(符号化データの入力および予測セット情報の作成)
M×M画素ブロックの符号化データが画像復号装置150に入力されると(ステップS60)、エントロピー復号部5は、入力された符号化データ中のM×M画素ブロックからなる復号対象画像(以下、復号対象ブロックとも称する)に用いる予測セットの相対予測セット情報をエントロピー復号し(ステップS61)、予測セット情報作成部52は、エントロピー復号された相対予測セット情報および復号済み予測セット情報より、復号対象ブロックの予測セット情報を作成する(ステップS62)。なお、予測セット情報作成部52における予測セット情報の作成処理の詳細なプロセスについては下記に詳述する。
【0231】
(予測残差データおよび予測モード情報の復号)
エントロピー復号部5は、さらに所定のブロックサイズ(N×N画素ブロック)に分割された各復号対象サブブロックについても、予測残差データの量子化値および予測モード情報をエントロピー復号する(ステップS63)。
【0232】
(予測画像の生成)
イントラ予測部10は、メモリ9に記憶された復号済みの隣接サブブロックにおける局所復号画像を用いて、復号された予測セット情報および予測モード情報が表す復号対象サブブロックに適用する予測モードに応じた予測画像(N×N画素ブロック)をイントラ予測して生成する(ステップS64)。イントラ予測による予測画像の生成方法は、実施形態1において説明したため、ここではその説明を省略する。
【0233】
(逆量子化および逆直交変換)
逆量子化部6は、ステップS63において復号した予測残差データを逆量子化した後、逆直交変換部7に出力し(ステップS65)、逆直交変換部7は、逆量子化された予測残差データを逆直交変換し、加算演算部8に出力する(ステップS66)。
【0234】
(復号対象サブブロックの復号画像の生成)
加算演算部8は、ステップS64において生成した予測画像と、ステップS66において出力された予測残差データとを加算し、復号対象サブブロックの復号画像(N×N画素ブロック)として出力する(ステップS67)。
【0235】
メモリ9は、出力された復号対象サブブロックにおける復号画像を記憶する(ステップS68)。
【0236】
(付記事項)
画像復号装置150は、復号対象ブロックを構成する全てのサブブロックについてステップS63〜S68を繰り返し、また復号対象画像を構成する全てのブロックについてステップS60〜S68の処理を繰り返す。
【0237】
(予測セット情報作成部52の詳細)
次に、予測セット情報作成部52の詳細について説明する。
【0238】
予測セット情報作成部52は、相対予測セット情報作成部51の逆処理にあたり、相対予測セット情報および復号済み予測セット情報から予測セット情報を作成する。
【0239】
(予測セット情報作成部52の構成)
まず、予測セット情報作成部52の構成について、
図16を参照して以下に説明する。
図16は、予測セット情報作成部52の構成を示すブロック図である。予測セット情報作成部52は、予測セット情報生成部521、予測セット情報予測部512、および予測セット情報格納部513を備えている。以下では、上記において説明されていない予測セット情報生成部521について説明する。
【0240】
(予測セット情報生成部521)
予測セット情報生成部521は、エントロピー復号部5においてエントロピー復号された相対予測セット情報および予測セット情報予測部512において決定された予測値に基づいて予測セット情報を生成し、出力する。
【0241】
(予測セット情報の作成プロセスの詳細)
予測セット情報の作成プロセスの詳細について、
図17を参照して以下に説明する。
図17は、予測セット情報作成部52における予測セット情報の作成プロセスを示すフローチャートである。
【0242】
予測セット情報予測部512は、予測セット情報格納部513で記憶されている復号済み予測セット情報より、復号対象ブロックに適用する予測セットの予測値probable_pred_setを決定し、出力する(ステップS70)。なお、復号対象ブロックに適用する予測セ
ットの予測値の決定は、実施形態1の画像符号化装置100における予測セットの予測値決定方法と同様であるため、説明を省略する。
【0243】
次に、相対予測セット情報が予測セット情報生成部521へ入力され(ステップS71)、予測セット情報生成部521は、入力された相対予測セット情報内のprobable_pred_set_flagの値が「1」であるか否かを判定する(ステップS72)。probable_pred_set_flagの値が「1」である場合(ステップS72においてYes)、予測セット情報生成部521は、復号対象ブロックに適用する予測セットを表す予測セット情報prediction_set_data()中のpred_setにprobable_pred_setの値を設定し、pred_setの値を出力する(ステップS73)。すなわち、この場合には、pred_set=probable_pred_setとなる。
【0244】
probable_pred_set_flagの値が「0」である場合(ステップS72においてNo)、予測セット情報生成部521は、rem_pred_setとprobable_pred_setに基づいてpred_setを設定し、pred_setの値を出力する。具体的には、まずrem_pred_setとprobable_pred_setの値を比較する(ステップS74)。rem_pred_setがprobable_pred_setよりも小さい場合(ステップS74においてYes)には、pred_set=rem_pred_setとする(ステップS75)。rem_pred_setがprobable_pred_set以上の場合(ステップS74においてNo)
には、pred_set=rem_pred_set+1とする(ステップS76)。
【0245】
その後、予測セット情報格納部513は、復号された予測セット情報prediction_set_data()を記憶し、出力する(ステップS77)。
【0246】
なお、本実施形態では予測セットの復号単位をM×M画素ブロックとして説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)またはGOP(Group Of Picture)を予測セットの復号単位としてもよい。例えば、スライス単位で、予測セットを切り替える場合、スライスの先頭で、選択された予測セットに関する情報を復号する必要がある。予測セットの復号単位は、予め画像符号化装置、画像復号装置間で取り決めておいても良く、符号化データの先頭、ピクチャ、GOPヘッダの中で指定してもよい。あるいは画像符号化装置・画像復号装置ではなく外部の手段を使って通知することも可能である。
【0247】
また本実施例では、相対予測セット情報の符号化データをエントロピー復号し、復号された相対予測セット情報より予測セット情報を作成しているが、相対予測セット情報の代わりに、予測セット情報の符号化データをエントロピー復号し、復号された予測セット情報によって、予測セットを切り替えてもよい。
【0248】
(作用効果)
以上のように、画像復号装置150は、互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群を有している。画像復号装置150は、画像を構成する各ブロックにおいて、復号対象ブロックに用いる予測セット情報を、相対予測セット情報と復号済み予測セット情報を用いて復号する。次に、復号対象ブロックをさらに分割したサブブロックごとに、そのサブブロックに隣接するサブブロックの局所復号画像を用いてイントラ予測を行い、サブブロックの予測画像を生成する。そして、生成した予測画像とサブブロックの復号予測残差データを合成し、サブブロックの画像を復元する。
【0249】
これによって、たとえば、復号した予測セット情報が水平方向の予測を重視した予測セットを表すときには、水平方向を中心により細かい角度からの予測画像を生成することができる。また、復号した予測セット情報が垂直方向の予測を重視した予測セットを表すときには、垂直方向を中心により細かい角度からの予測画像を生成することができる。したがって、画像復号装置150では、従来よりも多様な角度からの予測を用いた復号処理が可能になるため、より効率良くエッジ部を再現することができる。これによって、画質の向上した画像を復元することができる。
【0250】
また、画像復号装置150では、予測セットと予測モードの2段階で予測することによって、高い予測精度を実現しつつ、符号量の増加を防ぐことが可能である。
【0251】
〔実施形態3〕
本発明に係る画像符号化装置の他の形態について、実施形態3として
図18〜
図25を参照して以下に説明する。なお、実施形態1および2と同一の構成要素には同一の符号を付し、その説明を省略する。実施形態1では、予め定められた複数の予測セットの中から、符号化対象ブロックのエッジ方向に応じて予測セットを所定の画素ブロック単位に切り替えることで、従来技術より多様な予測を可能とする画像符号化装置について説明した。一方、実施形態3では、画像に応じて、予測セット中の予測モードを自動的に組み合わせた予測セットを作成し、この中から符号化対象ブロックのエッジ方向に応じて予測セットを切り替えることで、さらに予測効率を上げることが可能な画像符号化装置について説明する。
【0252】
(画像符号化装置200の構成)
まず、本実施形態に係る画像符号化装置200の構成について、
図18を参照して以下に説明する。
図18は、本実施形態に係る画像符号化装置200の構成を示すブロック図である。画像符号化装置200は、
図18に示すように、主として、差分演算部1、直交変換部2、量子化部3、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部210、予測モード決定部211、エントロピー符号化部204、エッジ解析部212、予測セット決定部213、相対予測セット情報作成部51、予測セット定義決定部214および相対予測セット定義情報作成部53を備えている。本実施の形態では、実施形態1および2において説明していないエントロピー符号化部204、予測モード決定部211、エッジ解析部212、予測セット決定部213、予測セット定義決定部214および相対予測セット定義情報作成部53についてのみ以下に説明する。
【0253】
(エッジ解析部212)
エッジ解析部212は、エッジ強度およびエッジ方向(以下、エッジ強度およびエッジ方向をまとめてエッジ情報とも称する)を算出する。具体的には、入力された符号化対象フレームをN×N画素ブロックにさらに分割したサブブロックごとのエッジ情報を算出し、符号化対象フレームを構成する全てのサブブロックのエッジ情報を出力する。
【0254】
(予測セット定義決定部214)
予測セット定義決定部214は、エッジ解析部212で求められた符号化対象フレームのエッジ情報に基づいて、符号化対象フレームに適用する複数の予測セットの定義(予測セットに含まれる予測モード)を決定し、イントラ予測部210、予測モード決定部211および予測セット決定部213において参照する予測モードおよび予測セットの表(表2)を更新し、その予測モードおよび予測セットの表を表す予測セット定義情報prediction_method_data()を出力する。
【0255】
(相対予測セット定義情報作成部53)
相対予測セット定義情報作成部53は、予測セット定義決定部214において決定された符号化対象フレームに適用する予測セットの定義情報を、符号化済み予測セット定義情報より予測し、相対予測セット定義情報を出力する。
【0256】
(エントロピー符号化部204)
エントロピー符号化部204は、予測残差データ、予測モード情報、相対予測セット情報および相対予測セット定義情報などをエントロピー符号化し、符号化データを出力する。
【0257】
(予測セット決定部213)
予測セット決定部213は、エッジ解析部212から入力されたエッジ情報に基づいて、予測セット定義決定部214から入力された予測セット定義情報にある複数の予測セットの中から符号化対象ブロックに適用する予測セットを決定し、決定した予測セットを表す予測セット情報を出力する。予測セットの決定方法は、実施形態1と同様であるため、本実施形態においてその説明は省略する。
【0258】
(予測モード決定部211)
予測モード決定部211は、入力された符号化対象ブロックの原画像、およびメモリ9から入力された局所復号画像に基づいて、入力された予測セット定義情報および予測セット情報から定まる複数の予測モードの中より、符号化対象ブロックの予測に用いる予測モードを1つ決定し、決定した予測モードを表す予測モード情報を、イントラ予測部210およびエントロピー符号化部204へ出力する。なお、予測モードの決定方法は実施形態1と同様であるため、本実施形態においてその説明は省略する。
【0259】
(イントラ予測部210)
イントラ予測部210は、メモリ9に記憶された局所復号画像を用いて、予測セット情報、予測セット定義情報と予測モード情報により表されるイントラ予測を行い、予測画像を生成する。
【0260】
(画像符号化プロセスの概要)
次に、画像符号化装置200における画像符号化プロセスの概要について、
図19を参照して以下に説明する。
図19は、画像符号化装置200における画像符号化プロセスの概要を示すフローチャートである。
【0261】
(符号化対象フレームの入力およびエッジ情報の算出)
複数個のM×M画素ブロックから形成されるフレーム(以下、符号化対象フレームとも称する)が画像符号化装置200に入力されると(ステップS80)、エッジ解析部212は、符号化対象フレームをN×N画素ブロック(N≦M)のサブブロックにさらに分割し(ステップS81)、符号化対象フレームを構成する全サブブロックごとのエッジ情報を算出する(ステップS82)。
【0262】
(予測セット定義情報の決定、および予測セット定義情報の符号化)
続いて、予測セット定義決定部214は、ステップS82において算出したエッジ情報に基づいて、符号化対象フレームに適用する各予測セットに含まれる複数の予測モードに割り当てる予測方式を決定し、予測モードと予測セットの表を更新する。決定した各予測セット中の予測モードの組み合わせを表す情報(以下、予測セット定義情報とも称する)を、イントラ予測部210、予測モード決定部211、予測セット決定部213および相対予測セット定義情報作成部53に出力する(ステップS83)。なお、予測セット定義の詳細な決定方法については下記に詳述する。なお、予測方式には、DC予測、テンプレートマッチング、予測方向などの予測方法が含まれる。
【0263】
相対予測セット定義情報作成部53では、予測セット定義情報を符号化済み予測セット定義情報より予測し、相対予測セット定義情報を出力する(ステップS84)。なお、相対予測セット定義情報作成部53の構成、および予測セット定義情報の詳細な予測プロセスについては下記に詳述する。
【0264】
エントロピー符号化部204において、相対予測セット定義情報作成部53より入力された相対予測セット定義情報はエントロピー符号化され、相対予測セット定義情報の符号化データが出力される(ステップS85)。
【0265】
(予測セットの決定、予測セット情報の符号化)
予測セット決定部213において、ステップS82において算出されたエッジ情報に基づいて、符号化対象フレームを構成するM×M画素ブロック(以下、符号化対象ブロック)毎に適用する予測セットを決定し、決定した予測セットを表す情報(以下、予測セット情報とも称する)を予測モード決定部211、相対予測セット情報作成部51およびイントラ予測部210に出力する(ステップS86)。
【0266】
予測セット決定部213から予測セット情報を受けた相対予測セット情報作成部51は、予測セット情報を符号化済みの予測セットを表す情報に基づいて予測し、相対予測セット情報をエントロピー符号化部204へ出力する(ステップS87)。エントロピー符号化部204は、相対予測セット情報をエントロピー符号化して出力する(ステップS88)。なお、予測セットの詳細な決定方法、予測セット情報の詳細な符号化方法および予測セット情報のデータ構造は実施形態1と同様である。
【0267】
(予測モードの決定、および予測モード情報の符号化)
予測モード決定部211において、符号化対象ブロックを更にN×N画素ブロックに分割してサブブロック(以下、符号化対象サブブロック)を得る。予測モード決定部211は、メモリ9から入力された符号化済み隣接サブブロックにおける局所復号画像より、予測セット定義決定部214で更新された予測セット定義情報を参照して、予測セット決定部213より入力された予測セット情報が表す予測セット中の予測モードから符号化対象サブブロックに用いる最適な予測モードを決定し、予測モード情報をイントラ予測部210、およびエントロピー符号化部204へ出力する(ステップS89)。
【0268】
エントロピー符号化部204は、入力された予測モード情報をエントロピー符号化し、予測モード情報の符号化データを出力する(ステップS90)。
【0269】
(予測画像の生成)
イントラ予測部210は、メモリ9から入力された符号化済み隣接サブブロックにおける局所復号画像を用いて、上記ステップS83で決定された予測セット定義情報を参照して、上記S86で決定された予測セット情報および上記ステップS89で決定された予測モード情報により定まるイントラ予測を行い、符号化対象サブブロックの予測画像を生成し、差分演算部1、および加算演算部8へ出力する(ステップS91)。
【0270】
(予測残差データの算出)
差分演算部1は、入力された符号化対象サブブロックと、上記ステップS91で生成された予測画像との差分であるN×N画素ブロックの予測残差データを算出し、出力する(ステップS92)。
【0271】
(直交変換および量子化)
上記ステップS92で算出された予測残差データは、直交変換部2、量子化部3の順に入力され、直交変換・量子化されてエントロピー符号化部204および逆量子化部6へ出力される(ステップS93)。
【0272】
(逆直交変換および逆量子化)
直交変換・量子化された予測残差データは、逆量子化部6、逆直交変換部7の順に入力され、逆量子化・逆直交変換されて、加算演算部8へ出力される(ステップS94)。
【0273】
(局所復号画像の生成)
加算演算部8は、ステップS94において逆量子化および逆直交変換された予測残差データと、ステップS91において生成した予測画像とを加算し、N×N画素ブロックの局所復号画像を生成する(ステップS95)。なお、生成した局所復号画像は、メモリ9に記憶される。
【0274】
(予測残差データの符号化)
エントロピー符号化部204は、符号化対象サブブロックの量子化済み予測残差データをエントロピー符号化して予測残差データの符号化データを出力する(ステップS96)。
【0275】
なお、ステップS89〜S96における処理は、M×M画素ブロックを構成する全てのサブブロックについて行われる。また、ステップS86〜S96における処理は、符号化対象フレームを構成する全てのブロックについて行われる。また、ステップS80〜S96における処理は、符号化対象画像を構成する全てのフレームについて行われる。
【0276】
(付記事項)
本実施形態では、画像符号化装置200の符号化プロセスをステップS80〜S96の順に説明したが、これに限定されるものではなく、本発明を実施できる範囲において変更可能である。
【0277】
(予測セット定義の詳細な決定方法)
次に、予測セット定義決定部214の詳細な動作について以下に説明する。なお、予測セット定義決定部214は、エッジ解析部212において算出されたエッジ情報に基づいて、符号化対象フレームに適用する複数の予測セット中の各予測モードに割り当てる予測方式を決定し、割り当てた予測方式を表す予測セット定義情報を出力する。
【0278】
予測セット定義情報の詳細な決定方法について、
図20を参照して以下に説明する。
図20は、予測セット定義情報の詳細な決定プロセスを示すフローチャートである。
【0279】
(エッジ情報の入力)
エッジ解析部212より符号化対象フレームのエッジ情報が、予測セット定義決定部214に入力される(ステップS100)。
【0280】
(エッジ方向ヒストグラムの算出)
予測セット定義決定部214は、入力されたエッジ情報に基づき、所定の閾値Th以上のエッジ強度をもつブロック(N×N画素ブロック)のエッジ方向ヒストグラムf(θ)を算出し、エッジ方向ヒストグラム情報histogram_data()を求める(ステップS101)。なお、閾値Thは、あらかじめ適当な値を設定してもよく、また適宜設定してもよい。また、エッジ方向ヒストグラムとは、例えば、エッジ方向を1[deg]単位の角度で表すとき、−90[deg]〜89[deg]までの各角度におけるエッジ方向の出現頻度数を表す。例として、水平方向にエッジが集中しているときに得られるエッジ方向ヒストグラムを
図21に示す。また、具体的に算出するエッジ方向ヒストグラム情報のデータ構造を表8に示す。ここで、表8中のangle_idxは、エッジ方向の角度を示すインデックスであり、total_angle_idxは、角度の分割数を表すインデックスである。
【0282】
(エッジ方向累積度数分布の算出)
予測セット定義決定部214は、上記ステップS101において算出したエッジ方向ヒストグラム情報に基づいて、エッジ方向累積度数分布を算出する(ステップS102)。例えば、エッジ方向を1[deg]単位の角度で表すとき、−90[deg]から、あるエッジ方向θ[deg]までのエッジ方向累積度数は下記式(25)により算出される。−90[deg]〜89[deg]までの全エッジ方向におけるエッジ方向の累積度数を求めれば、エッジ方向累積度数分布F(θ)を得ることができる。これによって、
図21に示すエッジ方向ヒストグラムから、
図22に示すエッジ方向累積度数分布を得ることができる。なお、
図22は、所定の閾値以上のエッジ強度を有するブロック数により正規化したグラフである。
【0284】
(累積度数に対するエッジ方向の分布の算出)
予測セット定義決定部214は、ステップS102において算出したエッジ方向累積度数分布を用いて、累積度数に対するエッジ方向の分布(エッジ方向累積度数分布の逆関数)G(x)を算出する(ステップS103)。
【0285】
(割り当てる予測方向の中心方向を決定)
予測セット定義決定部214は、ステップS102において算出したエッジ方向累積度数分布を用いて、どの方向を中心として予測方向を割り当てるか決定する。(ステップS104)。具体的には、まず水平(0[deg])、垂直(−90[deg])のいずれの方向を中心として予測方向を定めるかを、下記式(26)により表されるエッジ集中度S(θc,Δθ)により判定する。ここで、エッジ集中度S(θc,Δθ)とは、あるエッジ方向θc[deg]を中心に、±Δθ[deg]の範囲に出現するエッジ方向の出現頻度を表す。また、F(θ)は、エッジ方向θにおけるエッジ方向の累積度数を表す。
【0287】
水平方向のエッジ集中度S(0,Δθ)が、垂直方向のエッジ集中度S(−90,Δθ)以上の場合、水平方向(0[deg])を中心に予測方向を割り当てるものとし、それ以外の場合は、垂直方向(−90[deg])を中心に予測方向を割り当てるものとする。
【0288】
(各予測モードに割り当てる予測方式の決定)
予測セット定義決定部214は、ステップS103において算出した累積度数に対するエッジ方向、ステップS104において決定した予測方向の中心θc[deg]と、予め定められた予測方式テーブル(表10)とに基づいて、各予測モードに割り当てる予測方式を決定する(ステップS105)。
【0289】
具体的には、予測方向の中心θc[deg]より大きい角度の予測方向θn[deg]は、下記式(27)の漸化式を用いて、予測方向の中心θc[deg]より小さい角度の予測方向θn[deg]は、下記式(28)の漸化式を用いて、隣り合う予測方向間(θnとθn+1)のエッジ方向累積度数の差(閾値)がdになるように決定される。ただし、n=0のときは、θo=θcとし、dは、累積度数の最大値を予測方向の総数で割った値である。θnとθn+1との位置関係を
図23に示す。ただし、θnは下記式(29)を満たすものとする。また、
図23中のエッジ方向に対する累積確率F’(θ)は、エッジ方向に対する累積度数F(θ)を正規化したものである。
【0291】
続いて、
図22のエッジ方向累積度数分布における予測方向θnを決定する例を説明する。なお、ここでは、予測セット数L=3、予測モード数K=9とし、各予測セット中のモード番号0〜2には、予め0[deg]、−90[deg]、DC予測を割り当て、残りの各予測セット中のモード番号3〜8へ割り当てる予測方向(18方向)を決定する場合を例に挙げて説明する。
【0292】
図22は水平方向(0[deg])に多くのエッジが集中するため、水平方向(0[deg])を中心に、各予測方向間のエッジ方向累積確率の差(閾値)が等しくなるように予測方向を決定する。ここで、決定する予測方向の数が18であることと、予め定めた予測方向0[deg]、−90[deg]の2つであることを踏まえ、予測方向間のエッジ方向累積確率の差(閾値)dを5.0[%](=100/(18+2))とする。その後、角度0[deg]を初期値として各予測方向間の累積確率の差が5.0[%]となる角度を累積度数に対するエッジ方向の分布、上記式(27)および上記式(28)の漸化式より算出することで、表9に示す予測方向θnが得られる。
【0294】
表10の予測方向θnの割り当て方に基づいて、求めた正の予測方向θn(表9(a))を小さい順に、各予測セットのモード番号3、5、7に予測方向を割り当てる。また、求めた負の予測方向θn(表9(b))を大きい順に、各予測セットのモード番号4、6、8に割り当てる。以上の操作によって得られた予測セットの定義例を表11に示す。また定まった予測セットの定義を表12に示す予測セット定義情報prediction_method_data()のデータ構造に格納する。ここで、表12においてtotal_setとは予測セットの総数を表し、total_modeは予測セットに含まれる予測モードの総数を表す。表11の予測セットおよび予測モードはイントラ予測部210、予測モード決定部211、予測セット決定部214において参照される。なお、予測セット定義情報中の予測セットset_idxにおける予測モードmode_idxに割り当てる予測方式pred_method[set_idx][mode_idx]には、表13に示す予測方式を予め定義したテーブル上の予測方式番号を設定してもよい。なお、表13中には、平面予測、周波数領域予測、テンプレートマッチングなどの予測方法を定義しておいてもよい。なお、予測セット定義情報としては、予測方式を変更した一部の予測セットと予測モードに関する情報でもよい。例えば、表10中の予測セット番号0〜L−1中のモード番号3〜8の予測方向θnに関する情報でもよい。また、所定の単位で用いる予測セットの総数を可変にしてもよい。その場合には、予測セット定義情報に、予測セットの個数に関する情報を追加する。
【0299】
(予測セット定義情報の出力)
予測セット定義決定部214は、S105で決まった予測セット定義情報を出力する(ステップS106)。
【0300】
以上のようにすれば、エッジが集中する方向に対して細かい予測方向を決定することが可能となる。
【0301】
(予測セット定義情報の符号化プロセス)
予測セット定義情報を符号化する詳細なプロセスについて、以下に説明する。相対予測セット定義情報作成部53は、予測セット定義決定部214において決定された符号化対象フレームに適用する予測セットの定義を表す情報(予測セット定義情報)を、符号化済みの予測セット定義情報に基づいて予測し、相対予測セット定義情報を作成する。なお、エントロピー符号化部204においては、相対予測セット定義情報の代わりに、予測セット定義情報を直接エントロピー符号化しても良い。
【0302】
(相対予測セット定義情報作成部53の構成)
まず、相対予測セット定義情報作成部53の構成について、
図24を参照して以下に説明する。
図24は、相対予測セット定義情報作成部53の構成を示すブロック図である。相対予測セット定義情報作成部53は、相対予測セット定義情報生成部531、予測セット定義情報予測部532、および予測セット定義情報格納部533を備えている(
図24)。
【0303】
(相対予測セット定義情報生成部531)
相対予測セット定義情報生成部531は、入力された予測セット定義情報を、符号化済み予測セット定義情報に基づいて決定された予測値(予測セット定義情報予測部532において決定する)に基づいて予測し、相対予測セット定義情報を出力する。相対予測セット定義情報のデータ構造を表14に示す。
【0305】
なお、相対予測セット定義情報は、上述した以外にも、符号化対象フレームに適用する各予測セットset_idx中の各予測モードmode_idxが表す予測方式pred_method[set_idx][mode_idx]の値であってもよいし、符号化対象フレームに適用する各予測セットset_idx中の各予測モードmode_idxが表す予測方式pred_method[set_idx][mode_idx]の値と、予測値probable_pred_method[set_idx][mode_idx]の値との差分値であってもよい。
【0306】
(予測セット定義情報予測部532)
予測セット定義情報予測部532は、予測セット定義情報格納部533に記憶した符号化済み予測セット定義情報に基づいて符号化対象フレームに適用する予測セット定義情報の予測値を決定し、出力する。
【0307】
ここで、符号化対象フレームに適用する予測セット定義情報の予測には、下記(1)〜(3)のいずれかの方法を用いる。
(1)符号化対象フレームの前に符号化されたフレームのうち、各予測モードで最も出現頻度の高い予測方式を予測値とする。
(2)符号化対象フレームの1つ前に符号化処理されたフレームにおいて適用された各予測セット中の各予測モードの予測方式を予測値とする。
(3)予め定められた複数の予測セット中の各予測モードに割り当てられた予測方式を予測値とする。
【0308】
なお、符号化済の予測セット定義情報がない場合には、予測モード番号mode_idxの予測値probable_pred_method[set_idx][mode_idx]の初期値を表15に示す予測方式の予測値とする。このとき、probable_pred_method[set_idx][mode_idx]=init_pred_method[mode_idx]である。
【0310】
(予測セット定義情報格納部533)
予測セット定義情報格納部533は、入力された予測セット定義情報を記憶する。
【0311】
(予測セット定義情報の予測プロセスの詳細)
次に、予測セット定義情報を予測する詳細なプロセスについて、
図25を参照して以下に説明する。
図25は、予測セット定義情報を予測する詳細なプロセスを示すフローチャートである。
【0312】
予測セット定義情報予測部532は、予測セット定義情報格納部533に記憶された符号化済み予測セット定義情報に基づいて予測セットの予測値を決定し出力する(ステップS110)。
【0313】
予測セット定義情報は、予測セット定義情報格納部533および相対予測セット定義情報生成部531へ入力される(ステップS111)。予測セット定義情報格納部533は、予測セット定義情報を記憶する(ステップS112)。相対予測セット定義情報生成部531は、予測セット番号を表すカウンタset_idxを初期化し(set_idx=0)(ステップS113)、予測モード番号を表すカウンタmode_idxを初期化(mode_idx=0)する(ステップS114)。次に、相対予測セット定義情報生成部531は、適用する予測セットset_idx内の予測モードmode_idxが表す予測方式pred_method[set_idx][mode_idx]と、上記
(1)〜(3)のいずれかの方法で決定された予測セットset_idx内の予測モードmode_idxの予測方式の予測値probable_pred_method[set_idx][ mode_idx ]とを比較する(ステップS115)。
【0314】
予測モードmode_idxにおける予測方式が同一である場合(ステップS115においてYes)、相対予測セット定義情報生成部531は、「一致する」を表す「1」の値をprobable_pred_method_flag[set_idx][mode_idx]に設定する(ステップS116)。予測モードmode_idxにおける予測方式が異なる場合(ステップS115においてNo)、相対予測セット定義情報生成部531は、「一致しない」を表す「0」の値をprobable_pred_method_flag[set_idx][mode_idx]に設定し、また残りの予測方式のいずれかを表す情報をrem_pred_method[set_idx][mode_idx]に設定する(ステップS117)。なお、rem_pred_method[set_idx][mode_idx]への値の設定は、以下の(1)および(2)の場合に基づいて設定する。(1)pred_method[set_idx][mode_idx]が、probable_pred_method[set_idx][mode_idx]よりも小さい場合には、rem_pred_method[set_idx][mode_idx]=pred_method[set_idx][mode_idx]とする。(2)pred_method[set_idx][mode_idx]が、probable_pred_method[set_idx][mode_idx]以上の場合には、rem_pred_method[set_idx][mode_idx]=pred_method[set_idx][mode_idx]−1とする。
【0315】
続いて、相対予測セット定義情報生成部531は、カウンタmode_idxに1を加算し(ステップS118)、カウンタmode_idxと予測モード数total_modeとを比較する(ステップS119)。
【0316】
カウンタmode_idxが、予測モード数total_modeよりも小さい場合(ステップS119においてYes)、相対予測セット定義情報生成部531は、再度ステップS115の処理から繰り返す。カウンタmode_idxが、予測モード数total_mode以上の場合(ステップS119においてNo)には、カウンタset_idxに1を加算し(ステップS120)、カウンタset_idxと予測セット数total_setとを比較する(ステップS121)。カウンタset_idxが、予測セット数total_setよりも小さい場合(ステップS121においてYes)、相対予測セット定義情報生成部531は、再度ステップ114の処理から繰り返す。カウンタset_idxが、予測セット数total_set以上の場合(ステップS121においてNo)、相対予測セット定義情報生成部531は、相対予測セット定義情報 relative_prediction_method_data()の符号化データを出力する(ステップS122)。
【0317】
なお、本実施形態では予測セット定義情報の符号化単位をフレーム単位として説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)またはGOP(Group Of Picture)を予測セット定義情報の符号化単位としてもよい。たとえば、スライス単位で予測セット定義情報を作成する場合、スライスの先頭で、新たに更新した予測セット定義情報を符号化し、予測セットと予測モードの表(表11)を書き換える必要がある。符号化単位が小さくなると、局所的な画像の性質にあった予測セットを作成することができるため、予測効率が向上する。どの符号化単位を使用するかは、予め画像符号化装置と画像復号装置で、使用する符号化単位を取り決めておいてもよいし、符号化データの先頭や、ピクチャ、GOPの先頭で指定してもよい。また、外部の手段を使って通知することも可能である。
【0318】
実施形態3では、予測セットの選択は、ブロック単位としたが、マクロブロック単位、所定数のブロック単位など、ブロックに限るものではない。予測セットを選択する単位を可変にすることで、画像の性質により合った予測セットを選択することが可能である。
【0319】
以上の述べたように、予測セット定義情報の符号化単位、予測セットの選択単位は小さい方が画像の局所的な性質にあった予測が可能である。しかしながら、符号化単位、選択単位を小さくすると、これらを符号化するための符号量が増加し、符号化効率の点から必ずしも最適ではない。
【0320】
そのため、予測方式を予測セット定義情報、予測セット情報、予測モード情報で階層的に表現することで、従来よりも選択の自由度が高まり、符号量の増加を防ぎつつ、予測効率を上げることが可能である。
【0321】
(作用効果)
以上のように、画像符号化装置200は、画像を構成する各フレームから、当該フレームのエッジ情報を算出する。たとえばエッジ情報として、画像のエッジ方向、エッジ強度、あるいはこれらの分布情報を算出する。画像符号化装置200は、エッジ方向に関する分布情報に基づいて、エッジ方向を効率良く近似する複数の予測方向を決定し、各予測セットを構成する予測モードの組み合わせを決定する。
【0322】
たとえば、エッジ方向に関する分布情報が、水平方向のエッジが偏っていることを表しているなら、水平方向の予測を細かく、垂直方向の予測を粗くした最適な予測モードの組み合わせによる複数の予測セットが自動的に決定される。これにより、水平方向の予測に適した複数の予測セットの中より、符号化対象ブロックのエッジ方向に応じた予測セットを切り替えて画像を符号化する。一方、エッジ方向に関する分布情報が垂直方向のエッジが偏っていることを表しているなら、垂直方向の予測を細かく、水平方向の予測を粗くした最適な予測モードの組み合わせによる複数の予測セットが自動的に決定される。これにより、垂直方向の予測に適した複数の予測セットの中より、符号化対象ブロックのエッジ方向に応じた予測セットを切り替えて画像を符号化する。
【0323】
以上のように画像符号化装置200は、画像に応じて、予測セット中の予測モードを自動的に組み合わせた画像に最適な複数の予測セットを作成し、この中から符号化対象ブロックのエッジ方向に応じた予測セットを切り替えることで、予め定められた予測セットを使用する場合よりもさらに予測効率を上げることができる。
【0324】
〔実施形態4〕
本発明に係る画像復号装置の他の形態について、実施形態4として
図26〜
図29を参照して以下に説明する。なお、実施形態1〜3と同様の構成要素には同一の符号を付し、その説明を省略する。
【0325】
実施形態2では、所定の画素ブロック単位において、予め定められた複数の予測セットの中から、復号対象ブロックに用いる予測セットを選択することによって、従来技術より多様な角度からの予測を可能とする画像復号装置について説明した。本実施形態では、符号化データより、予測セット中の予測モードを自動的に組み合わせた複数の予測セットを作成し、この中から復号対象ブロックに用いる予測セットを選択することによって、さらに多様な角度からの予測を可能とする画像復号装置について説明する。
【0326】
(画像復号装置250の構成)
実施形態4に係る画像復号装置250の構成について、
図26を参照して以下に説明する。
図26は、画像復号装置250の構成を示すブロック図である。
【0327】
図26に示すように、画像復号装置250は、主として、エントロピー復号部205、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部210、予測セット情報作成部52および予測セット定義情報作成部54を備えている。本実施形態では、上記において説明されていないエントロピー復号部205および予測セット定義情報作成部54についてのみ以下に説明する。
【0328】
(エントロピー復号部205)
エントロピー復号部205は、実施形態1のエントロピー復号部5の機能に加えて、相対予測セット定義情報の符号化データをエントロピー復号し、相対予測セット定義情報を出力する。
【0329】
(予測セット定義情報作成部54)
予測セット定義情報作成部54は、エントロピー復号された相対予測セット定義情報および復号済み予測セット定義情報より、予測セット定義情報を作成する。なお、予測セット定義情報作成部54の構成および動作については後述する。
【0330】
(画像復号プロセスの概要)
次に、画像復号装置250における画像復号プロセスの概要について、
図27を参照して以下に説明する。
図27は、画像復号装置250における画像復号プロセスの概要を示すフローチャートである。
【0331】
(符号化データの入力および予測セット定義情報の作成)
復号対象フレームの符号化データが画像復号装置250に入力されると(ステップS130)、エントロピー復号部205は、入力された符号化データ中より復号対象フレームに用いる予測セットと予測モードの表(表11)を表す予測セット定義情報の相対情報(相対予測セット定義情報)を取り出し、取り出した相対予測セット定義情報をエントロピー復号する(ステップS131)。予測セット定義情報作成部54は、エントロピー復号された相対予測セット定義情報および復号済み予測セット定義情報より、予測セット定義情報を作成して、復号対象フレームに適用する予測セットと予測モードの表(表11)を更新し、作成した予測セット定義情報をイントラ予測部210へ出力する(ステップS132)。
【0332】
なお、予測セット定義情報作成部54における予測セット定義情報の作成処理の詳細なプロセスについては下記に詳述する。
【0333】
(予測セット情報の作成)
エントロピー復号部205は、入力された復号対象フレームの符号化データ中のM×M画素ブロックからなる復号対象画像(以下、復号対象ブロックとも称する)に用いる予測セットの相対予測セット情報をエントロピー復号する(ステップS133)。予測セット情報作成部52は、エントロピー復号された相対予測セット情報および復号済み予測セット情報より、復号対象ブロックの予測セット情報を作成する(ステップS134)。なお、予測セット情報作成部52における予測セット情報の作成処理は、実施形態1と同じである。
【0334】
(予測残差データおよび予測モード情報の復号)
エントロピー復号部205は、さらに所定のブロックサイズ(N×N画素ブロック)に分割された各復号対象サブブロックについても、予測残差データの量子化値および予測モード情報をエントロピー復号する(ステップS135)。
【0335】
(予測画像の生成)
イントラ予測部210は、予測セット定義情報およびメモリ9に記憶された復号済みの隣接サブブロックにおける局所復号画像を用いて、予測セット情報および予測モード情報が表す復号対象サブブロックに適用する予測モードに応じた予測画像(N×N画素ブロック)をイントラ予測して生成する(ステップS136)。
【0336】
(逆量子化および逆直交変換)
逆量子化部6は、ステップS135において復号した予測残差データを逆量子化した後、逆直交変換部7に出力し(ステップS137)、逆直交変換部7は、逆量子化された予測残差データを逆直交変換し、加算演算部8に出力する(ステップS138)。
【0337】
(復号対象サブブロックの復号画像の生成)
加算演算部8は、ステップS136において生成した予測画像と、ステップS138において出力された予測残差データとを加算し、復号対象サブブロックの復号画像(N×N画素ブロック)として出力する(ステップS139)。
【0338】
メモリ9は、出力された復号対象サブブロックにおける復号画像を記憶する(ステップS140)
(付記事項)
画像復号装置250は、復号対象ブロック(M×M画素ブロック)を構成する全てのサブブロック(N×N画素ブロック)についてステップS135〜S140の処理を繰り返す。また、復号対象フレームを構成する全ての復号対象ブロックについてステップS133〜S140の処理を繰り返し、復号対象画像を構成する全フレームについて上記のS130〜S140の処理を繰り返す。なお、S135〜S140までの処理は、N×N画素ブロックのサブブロック単位で行われているが、M×M画素ブロックのブロック単位でもよい。
【0339】
(予測セット定義情報の作成プロセス)
予測セット定義情報を作成する詳細なプロセスについて、以下に説明する。予測セット定義情報作成部54は、エントロピー復号された相対予測セット定義情報と、および復号済み予測セット定義情報より、予測セット定義情報を作成する。
【0340】
(予測セット定義情報作成部54の構成)
まず、予測セット定義情報作成部54の構成について、
図28を参照して以下に説明する。
図28は、予測セット定義情報作成部54の構成を示すブロック図である。予測セット定義情報作成部54は、予測セット定義情報生成部541、予測セット定義情報予測部532、および予測セット定義情報格納部533を備えている。上記において説明していない予測セット定義情報生成部541について述べる。
【0341】
(予測セット定義情報生成部541)
予測セット定義情報生成部541は、エントロピー復号部205においてエントロピー復号された相対予測セット定義情報と、予測セット定義情報予測部532において復号済み予測セット定義情報に基づいて決定された予測値とに基づいて、予測セット定義情報を生成し、出力する。
【0342】
(予測セット定義情報の生成プロセス)
次に、予測セット定義情報を生成する詳細なプロセスについて、
図29を参照して以下に説明する。
図29は、予測セット定義情報を生成する詳細なプロセスを示すフローチャートである。
【0343】
予測セット定義情報予測部532は、予測セット定義情報格納部533に記憶されている復号済み予測セット定義情報から、復号対象フレームに適用する複数の予測セット中の予測モードに割り当てる予測方式に関する予測値を決定し出力する(ステップS150)。なお、復号対象フレームに適用する複数の予測セット中の予測モードに割り当てる予測方式に関する予測値の決定方法は、実施形態3の画像符号化装置200における予測セット定義の予測値決定方法と同様であるため、その説明を省略する。予測セット定義情報作成部54へ入力された相対予測セット定義情報は、予測セット定義情報生成部541へ出力される(ステップS151)。
【0344】
次に、予測セット定義情報生成部541は、予測セット番号を表すカウンタset_idxを初期化(set_idx=0)し(ステップS152)、予測モード番号を表すカウンタmode_idxを初期化(mode_idx=0)し(ステップS153)、予測セットset_idxにおける予測モードmode_idxと予測値とが一致するか否かを表すprobable_pred_method_flag[set_idx][mode_idx]の値について判定する(ステップS154)。
【0345】
probable_pred_method_flag[set_idx][mode_idx]の値が「1」である場合(ステップ154においてYes)、予測セット定義情報生成部541は、pred_method[set_idx][mode_idx]に予測値probable_pred_method[set_idx][mode_idx]を設定する(ステップS155)。すなわち、この場合には、pred_method[set_idx][mode_idx]=probable_pred_method[set_idx][mode_idx]となる。
【0346】
probable_pred_method_flag[set_idx][mode_idx]の値が「0」である場合(ステップ154においてNo)、予測セット定義情報生成部541は、rem_pred_method[set_idx][mode_idx]および予測値probable_pred_method[set_idx][mode_idx]に基づいてpred_method[set_idx][mode_idx]を設定する(ステップS156)。具体的には、pred_method[set_idx][mode_idx]の値を以下の(1)、(2)に基づいて設定する。(1)rem_pred_method[set_idx][mode_idx]が、probable_pred_method[set_idx][mode_idx]よりも小さい場合には、pred_method[set_idx][mode_idx]=rem_pred_method[set_idx][mode_idx]とする。(2)rem_pred_method[set_idx][mode_idx]が、probable_pred_method[set_idx][mode_idx]以上の場合には、pred_method[set_idx][mode_idx]=rem_pred_method[set_idx][mode_idx]+1とする。
【0347】
続いて、予測セット定義情報生成部541は、カウンタmode_idxに1を加算し(ステップS157)、カウンタmode_idxと予測モード数total_modeとを比較する(ステップS158)。
【0348】
カウンタmode_idxが予測モード数total_modeよりも小さい場合(ステップS158においてYes)、予測セット定義情報生成部541は、再度ステップS154の処理から繰り返す。カウンタmode_idxが予測モード数total_mode以上の場合(ステップS158においてNo)には、カウンタset_idxに1を加算し(ステップS159)、カウンタset_idxと予測セット数total_setとを比較する(ステップS160)。
【0349】
カウンタset_idxが予測セット数total_setよりも小さい場合(ステップS160においてYes)、再度ステップS153の処理から繰り返す。カウンタset_idxが予測セット数total_set以上の場合(ステップS160においてNo)、予測セット定義情報prediction_method_data()を予測セット定義情報格納部533に記憶し、出力する(ステップS161)。
【0350】
なお、本実施形態では予測セット定義情報の復号単位をフレーム単位として説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)またはGOP(Group Of Picture)を予測セット定義情報の復号単位としてもよい。たとえば、スライス単位で予測セット定義情報を作成する場合、スライスの先頭で、予測セット定義情報に関する符号化データを復号する必要がある。どの復号単位を使用するかは、予め画像符号化装置と画像復号装置で、使用する復号単位を取り決めておいても良いし、符号化データの先頭や、ピクチャ、GOPの先頭で指定しても良い。また、外部の手段を使って通知することも可能である。
【0351】
なお、実施形態4では、予測セットの選択は、ブロック単位としたが、マクロブロック単位、所定のブロック単位など、ブロックに限るものではない。予測セットを選択する単位を可変にすることで、画像の性質により合った予測セットを選択することが可能である。
【0352】
また本実施例では、相対予測セット定義情報の符号化データをエントロピー復号し、復号された相対定義予測セット情報より予測セット定義情報を作成しているが、相対予測セット定義情報の代わりに、予測セット定義情報の符号化データをエントロピー復号し、復号された予測セット定義情報によって、復号対象フレームに用いる複数の予測セット中の各予測モードに割り当てる予測方式を決定してもよい。
【0353】
また画像復号装置250は、予測方式を予測セット定義情報、予測セット情報、予測モード情報により階層的に表現することによって、従来よりも選択の自由度が高めることができる。これによって、予測効率を上げることができる。
【0354】
(作用効果)
以上にように、画像復号装置250は、画像の符号化データを構成する各フレームにおいて、復号対象フレームに用いる複数の予測セット中の各予測モードに割り当てる予測方式を表す予測セット定義情報を、相対予測セット定義情報と復号済み予測セット定義情報より作成する。そして、復号対象フレームを構成するブロック(M×M画素ブロック)ごとに、そのブロックに用いる予測セットを復号する。さらにブロックを構成するサブブロック(N×N画素ブロック)ごとに、イントラ予測を行い、サブブロックの予測画像を生成する。そして、生成した予測画像とサブブロックの復号予測残差データとを合成し、サブブロックにおける画像を復元する。
【0355】
これによって、たとえば、予測セット定義情報が水平方向の予測を重視した予測セット定義を表すときには、水平方向を中心により細かい角度からの予測画像を生成することができる。また、予測セット定義情報が垂直方向の予測を重視した予測セットを表すときには、垂直方向を中心により細かい角度からの予測画像を生成することができる。したがって、画像復号装置250は、画像に応じて、複数の予測セット中の予測モードを適応的に定義することが可能であり、この中から、復号対象ブロックのエッジ方向に最適な予測をすることができる。これによって、予め定められた予測セットを使用する場合よりも、さらに予測効率を上げることができる。
【0356】
また、予測方式を予測セットと予測モードを用いて階層的に表現しているため、符号量を増加させることなく、予測効率を上げることができる。
【0357】
〔実施形態5〕
本発明に係る画像符号化装置の他の形態について、実施形態5として
図30〜
図37を参照して以下に説明する。なお、実施形態1〜4と同様の構成要素については同一の符号を付し、その説明を省略する。実施形態1では、予め定められた複数の予測セットの中から、符号化対象ブロックに用いる予測セットを所定の画素ブロック単位に切り替えることで、従来技術より多様な予測を可能とする画像符号化装置について説明した。一方、実施形態5では、実施形態1の機能に加えて、選択した予測セットと、符号化対象サブブロックの予測モードの推定に用いる符号化済み隣接サブブロックの方向を表すフラグと、符号化対象サブブロックの位置に基づいて、符号化対象ブロック中の各サブブロックに用いる予測モードを推定することで、予測モードを表すのに要する符号量を効率的に削減し、さらに符号化効率を上げることが可能な画像符号化装置について説明する。
【0358】
(画像符号化装置500の構成)
まず、本実施形態に係る画像符号化装置500の構成について、
図30を参照して以下に説明する。
図30は、本実施形態に係る画像符号化装置500の構成を示すブロック図である。画像符号化装置500は、差分演算部1、直交変換部2、量子化部3、エントロピー符号化部504、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部10、符号化パラメータ決定部14、相対予測セット情報作成部51、相対予測モード情報作成部61を備えている。エントロピー符号化部504、相対予測モード情報作成部61および符号化パラメータ決定部14について以下に説明する。
【0359】
(符号化パラメータ決定部14)
符号化パラメータ決定部14は、入力された符号化対象ブロックの原画像およびメモリ9に記憶された局所復号画像から、符号化対象ブロックに用いる予測セット、符号化対象ブロック中の各サブブロックの予測モードの推定に用いる参照サブブロックの組み合わせ情報(参照方向組合せインデクス)、および各サブブロックに用いる予測モードなどの符号化パラメータを決定する。その後、決定された予測セットを、イントラ予測部10、相対予測セット情報作成部51および相対予測モード情報作成部61へ出力する。
【0360】
また、決定された参照方向組合せインデクスを、相対予測モード情報作成部61、およびエントロピー符号化部504へ出力する。また、決定された各サブブロックの予測モードを、イントラ予測部10、および相対予測モード情報作成部61へ出力する。
【0361】
(エントロピー符号化部504)
エントロピー符号化部504は、予測残差データ、相対予測モード情報、相対予測セット情報、および参照方向組合せインデクスなどをエントロピー符号化し、符号化データを出力する。
【0362】
なお、参照方向組合せインデクスは、エントロピー符号化部504において、参照方向の組合せの出現頻度の偏りを考慮し、下記に説明する参照方向組合せインデクス符号表を利用して可変長の符号へエントロピー符号化される。
【0363】
具体的には、参照方向組合せインデクスのとりうる値の範囲が下記表20の参照方向組合せテーブル1の値域0〜4である場合には、表16の参照方向組合せインデクス符号表を用いる。また、参照方向組合せインデクスの取りうる値が下記表21の参照方向組合せテーブル2の値域0〜1である場合には、表17の参照方向組合せインデクス符号表を用いる。なお、参照方向組合せインデクスの符号は、表16および表17に限定されるものではない。例えば、参照方向組合せインデクスの符号は、ゴロム符号を用いてもよいし、固定長符号を用いてもよい。また、符号に算術符号を用いる場合は、参照方向組合せインデクス符号表をバイナリ値への変換表として利用してもよい。
【0366】
(相対予測モード情報作成部61)
相対予測モード情報作成部61は、符号化パラメータ決定部14より入力された予測セット情報、予測モード情報および参照方向組合せインデクスと、相対予測モード情報作成部61の内部で記憶されている当該サブブロックに隣接する符号化済みサブブロックの予測セット情報および予測モード情報とに基づいて、当該サブブロックの相対予測モード情報を作成し、出力する。
【0367】
次に、相対予測モード情報作成部61の構成について、
図31を参照して説明する。
図31は、相対予測モード情報作成部61の構成を示すブロック図である。
【0368】
相対予測モード情報作成部61は、
図31に示すように、格納部611a、格納部611b、参照方向決定部612、予測モード情報推定部613、および相対予測モード情報生成部614を備えている。各部材について、以下に説明する。
【0369】
(格納部611a、611b)
格納部611a、611bは、入力情報を一時的に格納する。格納部611aは、入力された当該サブブロックの予測モード情報を格納する。格納部611bは、当該サブブロックの予測セット情報を格納する。なお、格納された予測モード情報、および予測セット情報は当該サブブロックより後に符号化されるサブブロックにおける予測モード情報の推定に利用される。
【0370】
(参照方向決定部612)
参照方向決定部612は、入力された予測セット情報および参照方向組合せインデクスと、当該サブブロックの位置(内部的にカウントする)に基づいて、下記表20に示す参照方向組合せテーブルより、当該サブブロックの予測モード情報の推定に利用する符号化済み隣接サブブロック(参照サブブロック)の方向(参照方向)を決定し、参照方向を予測モード情報推定部613へ出力する。
【0371】
(予測モード情報推定部613)
予測モード情報推定部613は、入力された予測セット情報、参照方向決定部612において決定された参照方向、格納部611aおよび611bにそれぞれ格納された符号化済み隣接サブブロックの予測モード情報および予測セット情報に基づいて、当該サブブロックに用いる予測モード情報の推定値を所定の方法で決定する。そして、決定した推定値を、相対予測モード情報生成部614へ出力する。
【0372】
(相対予測モード情報生成部614)
相対予測モード情報生成部614は、入力された予測モード情報と、予測モード情報推定部613において決定された予測モード情報の推定値probable_modeと、に基づいて、推定値に対する予測モードの相対情報(相対予測モード情報)を生成する。そして、生成された相対予測モード情報を、エントロピー符号化部504へ出力する。
【0373】
ここで、相対予測モード情報relative_mode_data( )のデータ構造を表18に示す。表18におけるrelative_mode_data( )中のprobable_mode_flagは、当該サブブロックに適用する予測モードが予測モード情報推定部613で決定された推定値と一致するか否かを表すフラグである。probable_mode_flagの値が「1」の場合は、推定値と一致することを表し、probable_mode_flagの値が「0」の場合は、推定値と異なることを表す。なお、probable_mode_flagの値が「0」の場合は、さらに推定値を除く残りの予測モードのいずれかを表す情報であるrem_modeを用いて相対予測モード情報を表す。なお、相対予測モード情報は、当該サブブロックに適用する予測モードの値と推定値との差分としてもよい。
【0375】
(画像符号化プロセスの概要)
画像符号化装置500における画像符号化プロセスの概要について、
図32を参照して以下に説明する。
図32は、画像符号化装置500における画像符号化プロセスの概要を示すフローチャートである。
【0376】
まず、符号化対象ブロック(M×M画素ブロック)を画像符号化装置500に入力する(ステップS170)。
【0377】
符号化パラメータ決定部14は、符号化対象ブロックの原画像と、メモリ9に記憶された局所復号画像とから、レート歪最適化手法を用いて符号化パラメータ(予測セット、参照方向組合せインデクス、および全サブブロックの予測モード)を決定する(ステップS171)。なお、決定した予測セットは、イントラ予測部10、相対予測セット情報作成部51および相対予測モード情報作成部61へ出力される。また、決定した参照方向組合せインデクスは、相対予測モード情報作成部61、およびエントロピー符号化部504へ出力される。さらに、決定した全サブブロックの予測モード情報は、イントラ予測部10、および相対予測モード情報作成部61へ出力される。
【0378】
次に、相対予測セット情報作成部51は、ステップS171において決定した予測セット情報を符号化済みの予測セットに基づいて、相対予測セット情報を作成してエントロピー符号化部504へ出力する(ステップS172)。
【0379】
エントロピー符号化部504は、ステップS172において作成した相対予測セット情報と、ステップS171で決定した参照方向組合せインデクスとをそれぞれエントロピー符号化して出力する(ステップS173)。
【0380】
相対予測モード情報作成部61は、符号化パラメータ決定部14より入力した予測セット情報、参照方向組合せインデクスおよび符号化対象サブブロックの予測モード情報と、参照サブブロックの予測セット情報および予測モード情報とに基づいて、符号化対象サブブロックの相対予測モード情報を作成し、出力する(ステップS174)。
【0381】
エントロピー符号化部504は、作成した相対予測モード情報をエントロピー符号化し、相対予測モード情報の符号化データを出力する(ステップS175)。
【0382】
イントラ予測部10は、メモリ9から取得した符号化済み隣接サブブロックにおける局所復号画像を用いて、ステップS171で決定された予測セットおよび予測モードにより定まるイントラ予測を行い、符号化対象サブブロックの予測画像を生成する(ステップS176)。生成された符号化対象サブブロックの予測画像は、差分演算部1、および加算演算部8へ出力される。
【0383】
差分演算部1は、入力された符号化対象サブブロックの原画像と、ステップS176で生成された予測画像との差分である符号化対象サブブロックの予測残差データを算出し、出力する(ステップS177)。
【0384】
ステップS177で算出した予測残差データは、直交変換部2、量子化部3の順に入力され、直交変換・量子化されてエントロピー符号化部504および逆量子化部6へ出力される(ステップS178)。
【0385】
直交変換・量子化された予測残差データは、逆量子化部6、逆直交変換部7の順に入力され、逆量子化・逆直交変換されて、加算演算部8へ出力される(ステップS179)。
【0386】
加算演算部8は、ステップS179において逆量子化および逆直交変換された予測残差データと、ステップS176において生成した予測画像とを加算し、符号化対象サブブロックの局所復号画像を生成する(ステップS180)。生成した局所復号画像は、メモリ9に記憶される。
【0387】
エントロピー符号化部504は、符号化対象サブブロックの量子化済み予測残差データをエントロピー符号化して、予測残差データの符号化データを出力する(ステップS181)。
【0388】
なお、ステップS174〜S181における処理は、符号化対象ブロックを構成する全てのサブブロックについて行う。また、ステップS170〜S181における処理は、符号化対象画像を構成する全てのブロックについて行う。
【0389】
本実施形態では、画像符号化装置500の符号化プロセスをステップS170〜S181の順に説明したが、これに限定されるものではなく、本発明を実施できる範囲において変更可能である。
【0390】
(参照方向の決定方法)
次に、参照方向の決定方法について説明する。初めに、サブブロックグループ、参照方向、参照方向組合せインデクス、参照方向組合せテーブルについて説明する。
【0391】
サブブロックグループについて
図33の(a)および(b)を参照して説明する。
図33の(a)および(b)は、サブブロックグループを説明する図であり、(a)は対象ブロックおよびサブブロックのサイズM、NがN=M/4である場合のサブブロックグループであり、(b)は、対象ブロックおよびサブブロックのサイズM、NがN=M/2である場合のサブブロックグループである。
【0392】
図33の(a)のサブブロックグループB1は、4つのサブブロックa、b、c、dからなる集合である。同様に、サブブロックグループB2は、4つのサブブロックe、f、g、hからなる集合であり、サブブロックグループB3は、4つのサブブロックi、j、k、lからなる集合であり、サブブロックグループB4は、4つのサブブロックm、n、o、pからなる集合である。また
図33の(b)のサブブロックグループB1はサブブロックa〜dからなる集合である。なお、サブブロックグループのサブブロック同士の組合せはこれに限定されるものではない。
【0393】
「参照方向」とは、サブブロックグループ内に含まれる各サブブロックの予測モードを推定する時に参照する共通の符号化済みサブブロックの相対位置(参照サブブロック位置)である。例えば、参照方向「0」は、参照サブブロックが当該サブブロックの左部の符号化済みサブブロックであることを表す。また、参照方向「1」は、参照サブブロックが当該サブブロックの上部の符号化済みサブブロックを表す。ただし、参照方向が表す値は二値に限定されるものではない。例えば、表19のように参照方向「2」は左上、参照方向「3」は右上に隣接する符号化済みサブブロックを表してもよい。また、参照方向の値と参照サブブロックの位置の対応付けは表19に限定されるものではない。
【0395】
「参照方向組合せインデクス」とは、サブブロックグループB1〜B4の参照方向の組合せに対して付加したインデクスである。
【0396】
「参照方向組合せテーブル」とは、参照方向組合せインデクスとサブブロックグループの参照方向との対応関係を予め定めた表である。ただし、当該サブブロックのサイズに応じて、参照方向を決定する際に用いる参照方向組合せテーブルは異なる。詳細については、以下に説明する。
【0397】
(1)サブブロックのサイズがN=M/4のとき;
表20は、サブブロックのサイズがN=M/4のときに用いる参照方向組合せテーブルの例である。表20中の予測セットフラグは、「0」のとき予測セット情報が水平方向の予測を重視した予測セットを表し、「1」のとき垂直方向の予測を重視した予測セットを表す。また、
図34は、表20において予測セットフラグ「0」、参照方向組合せインデクス「2」である場合の参照サブブロックの方向を示したものである。
図34において、サブブロックグループB1、B2、B4では、参照方向が「0」であるため、サブブロックグループ内の各サブブロックでは、左の符号化済みサブブロックを参照サブブロックとする(
図34における右向きの矢印)。同様に、サブブロックグループB3の参照方向は「1」であるため、サブブロックグループB3内の各サブブロックは、左の符号化済みサブブロックを参照サブブロックとする(
図34における下向きの矢印)。なお、予測セットフラグが水平、垂直方向のどちらを重視しているかによって、参照方向組合せインデクスとサブブロックグループの参照方向との対応関係は異なる。
【0399】
(2)サブブロックのサイズがN=M/2のとき;
サブブロックのサイズがN=M/2のときは、予測セット情報によらず、表21に示す参照方向組合せテーブルを用いる。
【0401】
以上説明したように、参照方向決定部612は、当該サブブロックのサイズがN=M/4であるときは、入力された予測セット情報、参照方向組合せインデクスおよび当該サブブロックの位置(サブブロックグループBiのいずれに属しているかを表す)に基づいて、表20よりサブブロックグループBiの参照方向を取得し、取得した参照方向を出力する。
【0402】
また、当該サブブロックのサイズがN=M/2であるときは、入力された参照方向組合せインデクスに基づいて、表21よりサブブロックグループB1の参照方向を取得し、取得した参照方向を出力する。
【0403】
(予測モード情報の推定値の決定方法)
続いて、予測モード情報推定部613における予測モード情報の推定値の決定方法について説明する。なお、本実施形態では、参照方向が示す符号化対象サブブロックPと参照サブブロックQとの位置関係が、
図35の(a)および(b)に示す場合であると仮定した場合を例に挙げて説明する。
図35の(a)は、参照方向「0」における符号化対象サブブロック(図中P)と参照サブブロック(図中Q)の位置関係を表し、
図35の(b)は、参照方向「1」における符号化対象サブブロックPと参照サブブロックQの位置関係を表している。
【0404】
まず、予測モード情報推定部613は、参照方向に基づいて、参照サブブロックQの予測モード情報および予測セット情報を、それぞれ格納部611a、格納部611bより取得する。
【0405】
次に、符号化対象サブブロックPと参照サブブロックQの予測セットに応じて、以下の2種類の方法によって予測モードの推定を行う。
【0406】
(1)符号化対象サブブロックPと参照サブブロックQの予測セットが同じ場合;
予測モードの推定値を参照サブブロックQの予測モードの値とする。ただし、参照サブブロックQの予測モード情報を取得できない場合は、予測モードの推定値には所定の予測モードの値を設定する。
【0407】
(2)符号化対象サブブロックPと参照サブブロックQの予測セットが異なる場合;
後述の予測モード対応表を参照して、参照サブブロックQの予測モードが符号化対象サブブロックPの予測セット中のいずれの予測モードと対応するかを求める。そして、対応する予測モードを符号化対象サブブロックPの予測モードに対する推定値とする。ただし、参照サブブロックQの予測モード情報、または予測セット情報を、それぞれ、格納部611a、611bより取得できない場合は、所定の予測モードを推定値とする。なお、参照サブブロックQの予測モード情報、または予測セット情報を取得できない場合とは、例えば、符号化対象サブブロックPが符号化対象画像の端に位置し、参照サブブロックQが存在しない場合が該当する。
【0408】
表22は、参照サブブロックQの予測セットを表2中の予測セット1、符号化対象サブブロックPの予測セットを表2中の予測セット0の場合における予測モード対応表の例である。
【0410】
予測モード対応表には、参照サブブロックQに用いた予測セットX中の予測モードx、および符号化対象サブブロックPに用いる予測セットYにおいて、一致する(予測方法が同じ)または最も類似する(予測方向の差の絶対値が最も小さい)予測モードyの値を予め設定しておくことが好ましい。例えば、表2中の予測セット1の予測モード0、および予測セット2の予測モード0は、いずれも予測方向−90[deg]であるため、表22中の予測セット1の予測モード0の行には、予測セット2の予測モード0を設定する。また、表2中の予測セット1の予測モード2、および予測セット2の予測モード2は、いずれもDC予測であるため、表22中の予測セット1の予測モード2の行には、予測セット2の予測モード2を設定する。また、予測セット1中の予測モード3(予測方向−30[deg])が、予測セット2中のいずれの予測モードと一致または類似するかに注目すると、予測セット中の予測モード8(予測方向−30[deg])と最も類似していることがわかる(予測方向の差の絶対値は0[deg]で最小)。そのため、表22中の予測セット1の予測モード3の行には予測セット2の予測モード8を設定する。
【0411】
ただし、注目する予測セットX中の予測モードxと、予測セットY中の予測モードyとの中で一致または類似する予測モードが2つ以上ある場合は、予測モードyの値が小さい方を設定する。例えば、予測セット1中の予測モード6(予測方向15[deg])が予測セット2中のいずれの予測モードと一致もしくは類似するかに注目すると、予測セット2中の予測モード1(予測方向0[deg])と、予測モード6(予測方向30[deg])との2つが候補となる。このときは、予測モードの値が小さい1を、表22中の予測セット1の予測モード6の行に設定することが好ましい。
【0412】
ここで、表22を用いた予測モードの推定値の具体的な決定方法について以下に説明する。なお、参照サブブロックQにおける予測セットを1、符号化対象サブブロックPの予測セットを2とする。例えば、参照サブブロックQの予測モードが「0」であれば、表22より、符号化対象サブブロックPの予測モードの推定値を「0」とする。また、参照サブブロックQの予測モードが「6」であれば、表22より、符号化対象サブブロックPの予測モードの推定値を「1」とする。
【0413】
上記の予測モード対応表を利用することによって、符号化対象サブブロックPと参照サブブロックQの予測セットが異なる場合、参照サブブロックの予測モードを符号化対象サブブロックの予測セット中の最も類似する予測モードへ変換するため、符号化対象サブブロックPの予測モードに対する推定値の精度を向上させることできる。
【0414】
(相対予測モード情報の詳細な作成プロセス)
次に、相対予測モード情報を作成するプロセスについて、
図36を参照して以下に説明する。
図36は、相対予測モード情報を生成する詳細なプロセスを示すフローチャートである。
【0415】
まず、格納部611a、611bは、それぞれ入力した予測セット情報、および予測モード情報を格納する(ステップS190)。次に、参照方向決定部612は、入力した予測セット情報と参照方向組合せインデクス、および当該サブブロックの位置に基づいて、参照方向組合せテーブルより、当該サブブロックの予測モード情報の推定に用いる参照サブブロックの参照方向を決定し、決定した参照方向を予測モード情報推定部613へ出力する(ステップS191)。
【0416】
予測モード情報推定部613は、入力した参照方向が示す符号化済み隣接サブブロック(参照サブブロック)の予測モード情報、および予測セット情報をそれぞれ格納部611a、格納部611bから取得する(ステップS192)。そして、取得した参照サブブロックにおける予測モード情報と予測セット情報、当該サブブロックにおける予測セット情報に基づいて、予測モード対応表より、予測モード情報の推定値を決定し、決定した推定値を相対予測モード情報生成部614へ出力する(ステップS193)。
【0417】
相対予測モード情報生成部614は、入力した予測モード情報と、予測モード情報の推定値とに基づいて、当該サブブロックにおける相対予測モード情報を生成し、出力する(ステップS194)。
【0418】
(符号化パラメータの詳細な決定プロセス)
次に、符号化パラメータ決定部14における符号化パラメータ(s,p,M)の決定方法について説明する。なお、符号化パラメータの決定方法の説明に先立って、符号化パラメータの決定方法において使用する用語を以下に記載する。
s:予測セット
p:参照方向組合せインデクス
bk:サブブロック
m(bk):サブブロックbkにおける予測モード
M:符号化対象ブロックに含まれる全サブブロックの予測モード
M=(m(0),m(1),・・・,m(bk),・・・)
W:符号化対象ブロック
J(s,p,M):レート歪最適化手法に基づく符号化コスト
Jmin :符号化コストの最小値
sbest:符号化に用いる予測セット
pbest:符号化に用いる参照方向組合せインデクス
mbest(bk):サブブロックbkにおける符号化に用いる予測モード
Mbest:符号化対象ブロックに含まれる全サブブロックの符号化に用いる予測モード
Mbest=(mbest(0),mbest(1),・・・,mbest(bk),・・・)
Rs(s):予測セットsの符号化に要する符号量
Rp(p):参照方向組合せインデクスpの符号化に要する符号量
Rm(s,p,m(bk)):予測セットs、参照方向組合せインデクスpを適用する場合のサブブロックbkに用いる予測モードm(bk)の符号化に要する符号量
Rd(s, p, m(bk)):サブブロックbkを予測セットs、参照方向組合せインデクスp、および予測モードm(bk)で符号化するときに要する予測残差データの符号量
Dd(s, p, m(bk)):サブブロックbkを予測セットs、参照方向組合せインデクスp、および予測モードm(bk)で符号化するときに発生する符号化歪
λs:予測セットsに関するラグランジュ乗数
λp:参照方向組合せインデクスpに関するラグランジュ乗数
λm:予測モードm(bk)に関するラグランジュ乗数
λd:符号化歪に関するラグランジュ乗数。
【0419】
各種パラメータを決定する際には、レート歪最適化手法に基づいて、下記式(30)に示す符号化コストJ(s,p,M)を、各予測セットs、各参照方向組合せインデクスp
、および符号化対象ブロックに含まれる全サブブロックの予測モードM=(m(0), m(1),・・・, m(bk), ・・・ ) の全ての組み合わせについて算出する。そして、符号化コストJ(s,p,M)を最小化するパラメータ(sbest, pbest, Mbest)
を符号化対象ブロックの符号化に用いるパラメータとして決定する。
【0420】
符号化コストJ(s,p,M)を算出するためには、各種パラメータの符号量、およびサブブロックbkにおける符号量と符号化歪を求める必要があるため、符号化パラメータ決定部14には図示されない差分演算部1、直交変換部2、量子化部3、エントロピー符号化部504、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部10、相対予測セット情報作成部51、相対予測モード情報作成部61に相当する機能ブロックを備えている。
【0422】
符号化パラメータ(s, p, M)の決定のプロセスについて
図37を参照して以下に説明する。
図37は符号化パラメータ決定部14における符号化パラメータ(s, p, M)の決定のプロセスを表すフローチャートである。
【0423】
まず、符号化パラメータ決定部14は、符号化コストの最小値Jminを十分大きな値で初期化する。また、符号化パラメータ(s,p,M)を所定の初期値に設定する(ステップS200)。そして、予測セットs、参照方向組合せインデクスpを用いて、符号化対象ブロックWに含まれる全サブブロックを予測モードMの組み合わせで符号化する場合の符号化コストJ(s,p,M)を算出する(ステップS201)。
【0424】
次に、符号化コストの最小値Jmin、とその時の符号化パラメータ(sbest,pbest,Mbest)および(s,p,M)の更新制御を行う。
【0425】
ここで、J(s,p,M)<Jminを満たす場合には、符号化コストの最小値Jminの値をJ(s,p,M)とする。また、符号化パラメータ(sbest, pbest, Mbest)の値を、(s,p,M)の値とする。J(s,p,M)≧Jminの場合には、Jminおよび符号化パラメータ(sbest, pbest, Mbest)の更新を行わない。また、次の符号化コストを算出する符号化パラメータの組み合わせを(s,p,M)に設定する(ステップS202)。
【0426】
続いて、全ての符号化パラメータ(s,p,M)についてステップS201〜S202の処理を終了したか否かを判定する。符号化パラメータ(s,p,M)の全ての組み合わせに対し、符号化コストを算出している場合には(ステップS203においてYes)、ステップS204を実行する。算出していないものがあれば(ステップS203においてNo)、ステップS201から再度実行する。つまり、ステップS201およびS202の処理を、予測セットs、参照方向組合せインデクスp、符号化対象ブロックに含まれる全サブブロックの予測モードMの全ての組み合わせについて反復する。
【0427】
ステップS201〜S203の処理を経て取得した符号化コストのうち、最小値Jminを与える符号化パラメータ(sbest, pbest, Mbest)を、実際の符号化に用いるパラメータとして決定する(ステップS204)。決定した予測セットsbestは、イントラ予測部10、相対予測セット情報作成部51および相対予測モード情報作成部61へ出力される。また、決定した参照方向組合せインデクスpbestは、相対予測モード情報作成部61、およびエントロピー符号化部504へ出力される。また、決定した符号化対象ブロックに含まれる全サブブロックの予測モードMbestはイントラ予測部10、および相対予測モード情報作成部61へ出力される。
【0428】
(付記事項)
本実形態では、参照方向決定部613においてサブブロックサイズがN=M/4の場合の参照方向組合せテーブルの例として表20を示したがこれに限定されるものではない。例えば、表20の代わりに、表23を用いてもよい。表23を用いる場合、エントロピー符号化部504は、表24に示す参照方向組合せインデクス符号表を用いることが好ましい。また、本実施形態では、予測セット情報が水平、垂直方向のどちらを重視しているかによって、参照方向組合せインデクスとサブブロックグループの参照方向との対応関係が異なる参照方向組合せテーブルを用いるが、予測セット情報によらず、表25や表26に示す参照方向組合せテーブルを用いてもよい。表25を用いる場合は、エントロピー符号化部504は、表27に示す参照方向組合せインデクス符号表を用いることが好ましい。また、表26を用いる場合は、エントロピー符号化部504は、表28に示す参照方向組合せインデクス符号表を用いることが好ましい。
【0435】
なお、本実施形態では予測セットならびに参照方向組合せインデクスの符号化単位をM×M画素ブロックとして説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)またはGOP(Group Of Picture)を予測セットの符号化単位としてもよい。例えば、スライス単位で予測セットならびに参照方向の組合せを切り替える場合、スライスの先頭で選択した予測セットに関する情報を符号化する必要がある。予測セットならびに参照方向組合せインデクスの符号化単位は、予め画像符号化装置、画像復号装置間で取り決めておいてもよく、符号化データの先頭、ピクチャ、GOPヘッダの中で指定してもよい。あるいは画像符号化装置・画像復号装置ではなく外部の手段を使って通知することも可能である。
【0436】
(作用効果)
以上のように、画像符号化装置500は、画像を構成する各ブロック単位に、当該ブロックに用いる予測セットと、当該ブロック中の所定数のサブブロックで構成されるサブブロックグループで予測モードの推定に共通に用いる符号化済み隣接サブブロックの参照方向と、当該ブロック中の全予測モードを符号化コストに基づいて決定する。また画像符号化装置500は、さらに前記ブロックを構成する各サブブロック単位に、前記決定した予測セットと、前記決定した参照方向と、当該サブブロックに隣接する符号化済みサブロックにおける予測セットと予測モードと、当該サブブロックの位置に基づいて、当該サブブロックの予測モードを推定して符号化する。したがって、画像符号化装置500は、当該サブブロックの予測モードの推定に用いる参照サブブロックを選択することが可能となるため、予測モードの推定精度が高まり、予測モードを表すのに要する符号量を効率的に削減し、さらに符号化効率を上げることができる。また、画像符号化装置500は、当該サブブロックの予測セットと、予測モードの推定に用いる参照サブブロックの予測セットが異なる場合、上記予測モード対応表を利用することで、参照サブブロックの予測モードを当該サブブロックの予測セット中の最も類似する予測モードへ変換するため、当該サブブロックの予測モードの推定精度を向上させ、予測モードを表すのに要する符号量を効率的に削減し、さらに符号化効率を上げることができる。また、画像符号化装置500は、予測モードの推定に用いる参照方向の組合せを表す情報(参照方向組合せインデクス)を出現頻度の偏りに応じた可変長符号化を行うため、参照方向組合せインデクスに必要な符号量の増加を抑制することが可能である。
【0437】
〔実施形態6〕
本発明に係る画像復号装置の他の形態について、実施形態6として
図38〜
図41を参照して以下に説明する。なお、実施形態1〜5と同様の構成要素については同一の符号を付し、その説明を省略する。
【0438】
(画像復号装置550の構成)
実施形態6に係る画像復号装置550の構成について、
図38を参照して以下に説明する。
図38は、画像復号装置550の構成を示すブロック図である。
【0439】
図38に示すように、画像復号装置550は、主として、エントロピー復号部505、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部10、予測セット情報作成部52および予測モード情報作成部62を備えている。本実施形態では、まだ説明されていないエントロピー復号部505、予測モード情報作成部62についてのみ以下に説明する。
【0440】
(エントロピー復号部505)
エントロピー復号部505は、エントロピー符号化部504の逆処理を実行するものであり、予測残差データ、相対予測モード情報、参照方向組合せインデクス、相対予測セット情報などの符号化データをエントロピー復号し、出力する。
【0441】
なお、エントロピー復号部505において、参照方向組合せインデクスの符号化データ(符号)は、参照方向組合せインデクス符号表を参照して、符号に対応する参照方向組合せインデクスへエントロピー復号され、復号された参照方向組合せインデクスは予測モード情報作成部62へ出力される。このとき、参照方向組合せインデクス符号表は、画像符号化装置500と同じものを用いることが好ましい。また、参照方向組合せインデクス符号表は、実施形態5の画像符号化装置500と本実施形態の画像復号装置550との間において、予め共通に用いる参照方向組合せインデクス符号表を取り決めておいてもよいし、外部の通知手段を用いて指定してもよい。
【0442】
(予測モード情報作成部62)
予測モード情報作成部62は、相対予測モード情報作成部61の逆処理を実行するものであり、予測セット情報作成部52において復元された予測セット情報と、エントロピー復号された相対予測モード情報および参照方向組合せインデクスと、隣接サブブロックの復号済み予測セット情報および復号済み予測モード情報とから、当該サブブロックの予測モード情報を作成し、出力する。
【0443】
ここで、予測モード情報作成部62の構成について下記に説明する。
図39は、予測モード情報作成部62の構成を示すブロック図である。予測モード情報作成部62は、
図39に示すように、格納部621a、格納部621b、参照方向決定部622、予測モード情報推定部623、および予測モード情報生成部624を備えている。各部材について、以下に説明する。
【0444】
(格納部621a、格納部621b)
格納部621a、621bは、相対予測モード情報作成部61における格納部611a、611bと同様に、入力情報を一時的に記憶する。格納部621aは、予測モード情報生成部624で生成された当該サブブロックの予測モード情報を格納する。また、格納部621bは、入力された予測セット情報を格納する。なお、格納された予測モード情報、および予測セット情報は、当該サブブロックより後に復号されるサブブロックにおける予測モード情報の推定に利用される。
【0445】
(参照方向決定部622)
参照方向決定部622は、相対予測モード情報作成部61における参照方向決定部612と同様に、予測セット情報および参照方向組合せインデクスを入力とし、サブブロックの予測モード情報の推定に利用する符号化済み隣接サブブロック(参照サブブロック)の参照方向を予測モード情報推定部623へ出力する。参照方向は、入力された予測セット情報、参照方向組合せインデクスおよび当該サブブロックの位置(内部的にカウントする)に基づいて、参照方向組合せテーブルより決定される。このとき、参照方向組合せテーブルは、画像符号化装置500と同じものを用いることが好ましい。また、実施形態5の画像符号化装置500と本実施形態の画像復号装置550との間において、予め共通に用いる参照方向組合せテーブルを取り決めておいてもよいし、外部の通知手段を用いて指定してもよい。なお、参照方向の決定方法は実施形態5に記載した方法と同じであるため、ここではその説明を省略する。
【0446】
(予測モード情報推定部623)
予測モード情報推定部623は、入力された予測セット情報と、参照方向決定部622において決定された参照方向、格納部621a、621bに格納された復号済み隣接サブブロックの予測モード情報および予測セット情報に基づいて、当該サブブロックに用いる予測モード情報の推定値を所定の方法で決定する。そして、決定した推定値を予測モード情報生成部624へ出力する。なお、予測モード情報の推定値の決定方法は、実施形態5における予測モード情報推定部613と同じであるため、ここではその説明を省略する。
【0447】
(予測モード情報生成部624)
予測モード情報生成部624は、相対予測モード生成部614の逆処理を実行するものであり、入力された相対予測モード情報と、予測モード情報推定部623において決定された予測モード情報との推定値probable_modeに基づいて、当該サブブロックに用いる予測モード情報を生成する。また、生成された予測モード情報は、格納部621a、およびイントラ予測部10へ出力される。ここで、予測モード情報mode_data( )のデータ構造を表29に示す。
【0449】
画像復号装置550における画像復号プロセスの概要について、
図40を参照して以下に説明する。
図40は、画像復号装置550における画像復号プロセスの概要を示すフローチャートである。
【0450】
復号対象ブロック(M×M画素ブロック)の符号化データを画像復号装置550に入力する(ステップS210)。
【0451】
エントロピー復号部505は、入力した符号化データ中の復号対象ブロックにおける相対予測セット情報と参照方向組合せインデクスをそれぞれエントロピー復号し、出力する(ステップS211)。
【0452】
予測セット情報作成部52は、ステップS211においてエントロピー復号した相対予測セット情報と、記憶してある復号済み予測セット情報とに基づいて、復号対象ブロックの予測セット情報を作成する(ステップS212)。
【0453】
エントロピー復号部505は、相対予測モード情報の符号化データをエントロピー復号して、相対予測モード情報を予測モード情報作成部62へ出力する(ステップS213)。
【0454】
予測モード情報作成部62は、入力された予測セット情報、参照方向組合せインデクス、および当該サブブロックにおける相対予測モード情報と、当該サブブロックに隣接する復号済みサブブロックの予測セット情報および予測モード情報に基づいて、当該サブブロックの予測モード情報を作成する(ステップS214)。
【0455】
エントロピー復号部505は、さらに所定のブロックサイズ(N×N画素ブロック)に分割した各復号対象サブブロックについても、予測残差データの量子化値をエントロピー復号する(ステップS215)。
【0456】
イントラ予測部10は、メモリ9に格納した復号済みの隣接サブブロックにおける局所復号画像を用いて、復号対象サブブロックに適用する予測モードに応じた予測画像(N×N画素ブロック)をイントラ予測して生成する(ステップS216)。イントラ予測による予測画像の生成方法は、実施形態1において説明したため、ここではその説明を省略する。
【0457】
ステップS215において復号した予測残差データは、逆量子化部6、逆直交変換部7の順に入力され、逆量子化・逆直交変換されて、加算演算部8に出力される(ステップS217)。
【0458】
加算演算部8は、ステップS216で生成した予測画像と、ステップS217で逆量子化・逆直交変換した予測残差データとを加算し、復号対象サブブロックの復号画像(N×N画素ブロック)を出力する(ステップS218)。
【0459】
メモリ9は、ステップS218で生成した復号対象サブブロックにおける復号画像を記憶する(ステップS219)。
【0460】
なお、画像復号装置550は、復号対象ブロックを構成する全てのサブブロックについてステップS213〜S219を繰り返し、また復号対象画像を構成する全てのブロックについてステップS210〜S219の処理を繰り返す。
【0461】
本実施形態では、画像復号装置550の復号プロセスをステップS210〜S219の順に説明したが、これに限定されるものではなく、本発明を実施できる範囲において変更可能である。
【0462】
(予測モード情報の詳細な作成プロセス)
次に、予測モード情報を作成するプロセスについて、
図41を参照して以下に説明する。
図41は、予測モード情報を生成する詳細なプロセスを示すフローチャートである。
【0463】
まず、参照方向決定部622は、入力した予測セット情報および参照方向組合せインデクスと、当該サブブロックの位置とに基づいて、参照方向組合せテーブルから、予測モード情報の推定に用いる参照サブブロックの参照方向を決定する(ステップS220)。そして、決定した参照方向を予測モード情報推定部623へ出力する。
【0464】
予測モード情報推定部623は、入力した参照方向が示す参照サブブロックの予測モード情報および予測セット情報をそれぞれ格納部621a、格納部621bより取得する(ステップS221)。続いて、予測モード情報推定部623は、取得した参照サブブロックにおける予測モード情報と予測セット情報、ならびに当該サブブロックにおける予測セット情報に基づいて、予測モード対応表より、予測モード情報の推定値を決定する(ステップS222)。なお、決定した推定値は予測モード情報生成部624へ出力される。
【0465】
予測モード情報生成部624は、入力した相対予測モード情報と予測モード情報の推定値に基づいて、当該サブブロックにおける予測モード情報を生成し、出力する(ステップS223)。
【0466】
最後に、格納部621a、621bは、当該サブブロックにおける予測モード情報および予測セット情報をそれぞれ記憶する(ステップS224)。
【0467】
なお、本実施形態では予測セットならびに参照方向組合せインデクスの復号単位をM×M画素ブロックとして説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)またはGOP(Group Of Picture)を復号単位としてもよい。例えば、スライス単位で予測セットならびに参照方向の組合せを切り替える場合、スライスの先頭で選択した予測セットならびに参照方向の組合せに関する情報を復号する必要がある。予測セットならびに参照方向組合せインデクスの復号単位は、予め画像符号化装置、画像復号装置間で取り決めておいてもよく、符号化データの先頭、ピクチャ、GOPヘッダの中で指定してもよい。あるいは画像符号化装置・画像復号装置ではなく外部の手段を使って通知することも可能である。
【0468】
(作用効果)
以上のように、画像復号装置550は、互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群を備えている。画像復号装置550は、画像を構成する各ブロックにおいて、復号対象ブロックに用いる予測セット情報を、相対予測セット情報と復号済み予測セット情報を用いて復号する。次に、当該ブロック中の全サブブロックの予測モードの推定に用いる参照方向の組合せを表す参照方向組合せインデクスを復号する。そして、画像復号装置550は、前記ブロックをさらに分割したサブブロック単位に、前記復号した予測セット情報と、前記復号した参照方向組合せインデクスと、当該サブブロックに隣接する復号済みサブブロックの予測セット情報と予測モード情報から当該サブブロックの予測モードを推定し、前記推定値と相対予測モード情報に基づいて、予測モード情報を復号する。したがって、画像復号装置550は、当該サブブロックの予測モードの推定に用いる参照サブブロックを選択することが可能となるため、予測モードの推定精度が高まり、予測モードを復号するのに要する符号量を削減することが可能である。また、画像復号装置550は、当該サブブロックの予測セットと、予測モードの推定に用いる参照サブブロックの予測セットが異なる場合、上記予測モード対応表を利用することで、参照サブブロックの予測モードを当該サブブロックの予測セット中の最も類似する予測モードへ変換するため、当該サブブロックの予測モードの推定精度を向上させ、予測モードを復号するのに要する符号量をさらに効率的に削減することが可能である。また、画像復号装置550は、前記参照方向組合せインデクスを出現頻度の偏りに応じた可変長符号により復号を行うため、参照方向組合せインデクスの復号に要する符号量の増加を抑制することが可能である。
【0469】
〔実施形態7〕
本発明に係る画像符号化装置の他の形態を実施形態7として、
図42〜
図49を参照して以下に説明する。なお、実施形態1〜6と同様の構成要素については同一の符号を付し、その説明を省略する。
【0470】
実施形態5では、当該サブブロックの予測モードの推定に用いる参照サブブロックの決定に予測セット情報を利用する場合について説明している。本実施形態では、予測セット情報を利用することなく、当該サブブロックの周辺にある符号化済みサブブロックにおける予測モードを用いて、当該サブブロックの予測モードの推定に用いる参照サブブロックを決定する画像符号化装置について説明する。
【0471】
(画像符号化装置600の構成)
本実施形態に係る画像符号化装置600の構成について、
図42を参照して以下に説明する。
図42は、本実施形態に係る画像符号化装置600の構成を示すブロック図である。画像符号化装置600は、差分演算部1、直交変換部2、量子化部3、エントロピー符号化部304、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部310、予測モード決定部311、相対予測モード情報作成部661を備えている。本実施形態では、まだ説明されていない相対予測モード情報作成部661について以下に説明する。
【0472】
(相対予測モード情報作成部661)
相対予測モード情報作成部661は、予測モード決定部311より入力された予測モード情報、および相対予測モード情報作成部661の内部で記憶されている当該サブブロックに隣接する符号化済みサブブロックの予測モード情報に基づいて、当該サブブロックの相対予測モード情報を作成する。
【0473】
相対予測モード情報作成部661の構成について、
図43を参照して以下に説明する。
図43は、相対予測モード情報作成部661の構成を示すブロック図である。
【0474】
相対予測モード情報作成部661は、
図43に示すように、格納部662、参照位置決定部663、予測モード情報推定部664、および相対予測モード情報生成部665を備えている。
【0475】
(格納部662)
格納部662は、入力された当該サブブロックの予測モード情報を格納する。なお、格納された予測モード情報は当該サブブロックより後に符号化されるサブブロックにおける予測モード情報の推定に利用される。
【0476】
(参照位置決定部663)
参照位置決定部663は、当該サブブロックの周辺に位置する符号化済みサブブロックの予測モード情報を利用して、当該サブブロックに隣接する4箇所のサブブロック(
図44中の隣接サブブロックA、B、C、D)のうち、当該サブブロックと最も相関の高いサブブロック(参照サブブロック)を決定し、決定した参照サブブロックの位置情報(参照位置情報)を予測モード情報推定部664へ出力する。ここでは、当該サブブロックを当該サブブロックOと称する。
【0477】
(予測モード情報推定部664)
予測モード情報推定部664は、参照位置決定部663において決定された参照位置情報、および格納部662に格納された復号済み隣接サブブロックの予測モード情報に基づいて、当該サブブロックに用いる予測モード情報の推定値を所定の方法で決定し、決定した推定値を予測モード情報生成部665へ出力する。
【0478】
(相対予測モード情報生成部665)
相対予測モード情報生成部665は、相対予測モード情報生成部614と同じ機能を有しており、入力された予測モード情報と、予測モード情報推定部664において決定された予測モード情報の推定値probable_modeに基づいて、推定値に対する予測モードの相対情報(相対予測モード情報)を生成する。また、生成された相対予測モード情報は、エントロピー符号化部304へ出力される。ここで、相対予測モード情報relative_mode_data( )のデータ構造は表18と同じである。
【0479】
(画像符号化プロセスの概要)
画像符号化装置600における画像符号化プロセスの概要について、
図45を参照して以下に説明する。
図45は、画像符号化装置600における画像符号化プロセスの概要を示すフローチャートである。
【0480】
符号化対象サブブロック(N×N画素ブロック)を画像符号化装置600に入力する(ステップS230)。
【0481】
予測モード決定部311は、符号化対象サブブロックの原画像と、メモリ9に格納した局所復号画像(N×N画素ブロック)とに基づいて、符号化対象サブブロックの予測モードを決定する(ステップS231)。なお、決定した予測モードに関する予測モード情報はイントラ予測部310、および相対予測モード情報作成部661へ出力される。
【0482】
相対予測モード情報作成部661は、予測モード決定部311から入力した符号化対象サブブロックにおける予測モード情報を、参照サブブロックの予測モード情報に基づいて、符号化対象サブブロックの相対予測モード情報を作成し、出力する(ステップS232)。
【0483】
エントロピー符号化部304は、入力した相対予測モード情報を、エントロピー符号化して、相対予測モード情報の符号化データを出力する(ステップS233)。
【0484】
イントラ予測部310は、メモリ9から取得した符号化済み隣接サブブロックにおける局所復号画像を用いて、上記ステップS231で決定した予測モードにより定まるイントラ予測を行い、符号化対象サブブロックの予測画像を生成する(ステップS234)。生成された符号化対象サブブロックの予測画像は、差分演算部1、および加算演算部8へ出力される。なお、予測画像の生成方法は従来技術と同じであるため、ここではその説明を省略する。
【0485】
差分演算部1は、入力した符号化対象サブブロックの原画像と、ステップS234で生成した予測画像との差分である符号化対象サブブロックの予測残差データを算出し、出力する(ステップS235)。
【0486】
ステップS235で算出した予測残差データは、直交変換部2、量子化部3の順に入力され、直交変換・量子化されてエントロピー符号化部304および逆量子化部6へ出力される(ステップS236)。
【0487】
直交変換・量子化された予測残差データは、逆量子化部6、逆直交変換部7の順に入力され、逆量子化・逆直交変換され、加算演算部8へ出力される(ステップS237)。
【0488】
加算演算部8は、ステップS237において逆量子化および逆直交変換した予測残差データと、ステップS234において生成した予測画像とを加算し、符号化対象サブブロックの局所復号画像を生成する(ステップS238)。なお、生成した局所復号画像は、メモリ9に格納される。
【0489】
エントロピー符号化部304は、符号化対象サブブロックの量子化済み予測残差データをエントロピー符号化して、予測残差データの符号化データを出力する(ステップS239)。
【0490】
なお、画像符号化装置600は、ステップS230〜S239における処理を、符号化対象画像を構成する全てのサブブロックについて行う。
【0491】
本実施形態では、画像符号化装置600の符号化プロセスをステップS230〜S239の順に説明したが、これに限定されるものではなく、本発明を実施できる範囲において変更可能である。
【0492】
(参照サブブロックの詳細な決定プロセス)
参照サブブロックの決定方法について、以下に説明する。まず、対象サブブロックPに対するサブブロックQの相対位置について説明する。
図46に示すように、対象サブブロックPを基点(0,0)として、水平方向をX軸(右を正)、垂直方向をY軸(下を正)と軸を定めるとき、Pに対するQの相対位置を(x,y)で表すものとする。例えば、当該サブブロックに隣接するサブブロックA、B、C、Dの相対位置はそれぞれ(−1,0)、(0,−1)、(−1,−1)、(1,−1)で表される。
【0493】
次に、対象サブブロックPに対する相対位置(x,y)にあるサブブロックQの連結度をSp(x,y)と定義する。ここで、連結度Sp(x,y)は、対象サブブロックPと、相対位置(x,y)にあるサブブロックQとの相関の程度を表すコスト関数であり、式(31)で表される。なお、連結度Sp(x,y)は、その値が大きいほどサブブロックPとサブブロックQの相関が強いことを表す。
【0495】
ここで、上記式(31)中のwpは、サブブロックPにおける予測モードmpがサブブロックQにおいて予測モードmpと類似する予測モードの出現する程度を表した重み係数である。同様に、wqは、サブブロックQにおける予測モードmqがサブブロックQに対してサブブロックPにおいて予測モードmqと類似する予測モードの出現する程度を表した重み係数である。
【0496】
重み係数wp、wqは、表30を参照して、予測モードmp、mqと相対位置(x,y)により定められる。なお、表30中の重み係数w1、w2には、下記式(32)に示す大小関係があり、重み係数wiの値が大きいほど、類似する予測モードが出現しやすいことを表している。
【0499】
例えば、対象サブブロックPにおける予測モードmpが予測モード1(水平方向の予測)である場合には、4種類の相対位置のうち、対象サブブロックPの左に位置する(相対位置(−1,0)にある)サブブロックにおいて類似する予測モードが出現しやすい。そのため、相対位置(−1,0)は重み係数を大きい値w1に設定し、その他の相対位置(0,−1)、(−1,−1)、(1,−1)は小さい値w2に設定する。ただし、重み係数の値は、w1、w2の2種類に限定されるものではない。
【0500】
また、上記式(31)中のdは、対象サブブロックPの予測モードmpとサブブロックQの予測モードmqとの予測方向がどれだけ近いかを表す類似度であり、表31を用いて算出される。表31中のdi(i=1,2,3,4,5)は、類似度を表す所定の値であり、各diの間には下記式(33)に示す大小関係がある。すなわち、diの値が大きいほど、類似度が高いことを表している。
【0503】
例えば、予測モードmpが予測モード1(水平方向の予測)である場合、予測モードmqも同様に予測モード1であれば、予測方向が一致する。そのため、類似度には値の大きいd1を設定する。また、mqが
図68において予測モード1に最近接する予測モード6、8である場合には、d2を設定する。また、mqが
図68において予測モード1と2番目に近接する予測モード3、4である場合には、d3を設定する。また、mqが
図68において予測モード1と3番目に近接する予測モード5、7である場合には、d4を設定する。さらに、mqが
図68において予測モード1と最も離れている予測モード0である場合には、d5を設定する。なお、mqが予測モード2である場合は、d1〜d5の中間値であるd3を設定する。ただし、類似度の値は、d1〜d5の5種類に限定されるものではない。類似度dは、対象サブブロックPの予測モードmpが出現する場合、隣接サブブロックにおいてより類似した予測モードが出現しやすい特性に基づいて設定することが好ましい。例えば、予め求めた予測モードmpに対する予測モードmqの出現確率(同時生起確率)に基づいて設定することが好ましい。
【0504】
次に当該サブブロックOに隣接するサブブロックA、B、C、Dそれぞれにおいて、4つの相対位置(−1,0)、(0,−1)、(−1,−1)、(1,−1)との連結度Sp(x,y)(p=a、b、c、d)を求める。例えば、隣接サブブロックAであれば、Sa(−1,0)、Sa(0,−1)、Sa(−1,−1)、Sa(1,−1)を求める。
【0505】
各隣接サブブロックA、B、C、Dにおいて求めた連結度Sp(x,y)に基づいて、当該サブブロックOに対して相対位置(−1,0)、(0,−1)、(−1,−1)、(1,−1)における連結度So(x,y)を、下記式(34)〜(37)を用いて推定する。なお下記式(34)〜(37)では、隣接サブブロックA、B、C、Dの連結度Sp(x,y)のうち、取得することができないものがある場合(例えば、隣接サブブロックが符号化対象画像の外に位置する場合など)には、所定の値を代入することが好ましい。
【0507】
上記式(34)〜(37)により推定した連結度So(x,y)の中で、最も値の大きい連結度を与える相対位置(x,y)を当該サブブロックOの参照サブブロックとする。なお、値が等しい連結度が複数ある場合は、所定の相対位置(x,y)を当該サブブロックOの参照サブブロックとすることが好ましい。
【0508】
(相対予測モード情報作成部661の動作プロセス)
次に、相対予測モード情報作成部661において相対予測モード情報を作成するプロセスについて、
図47を参照して以下に説明する。
図47は、相対予測モード情報を生成する詳細なプロセスを示すフローチャートである。
【0509】
まず、格納部662は、入力した予測モード情報を格納する(ステップS240)。次に、参照位置決定部663は、格納部662に格納された当該サブブロックの周辺に位置する複数の符号化済みサブブロックの予測モード情報に基づいて、当該サブブロックと隣接サブブロック(A、B、C、D)間の相関を推定する(ステップS241)。
【0510】
ステップS241により求めた相関に基づいて、当該サブブロックの予測モード情報の推定に用いる参照サブブロックを隣接サブブロックA、B、C、Dの中より決定する(ステップS242)。なお、決定した参照サブブロックの位置を表す参照位置情報は、予測モード情報推定部664へ出力される。
【0511】
予測モード情報推定部664は、入力した参照位置情報が示す参照サブブロックの予測モード情報を格納部662より取得する(ステップS243)。次に、取得した参照サブブロックにおける予測モード情報に基づき、予測モード情報の推定値を決定し、決定した推定値を相対予測モード情報生成部665へ出力する(ステップS244)。
【0512】
相対予測モード情報生成部665は、入力した予測モード情報と、予測モード情報の推定値とに基づいて、当該サブブロックにおける相対予測モード情報を生成し、出力する(ステップS245)。
【0513】
(変形例)
隣接する符号化済みサブブロックの予測モード情報の代わりに、隣接する符号化済みサブブロックの局所復号画像を利用して、参照サブブロックを決定する相対予測モード情報作成部661bについて、実施形態7の変形例として説明する。
【0514】
なお、本実施形態7の相対予測モード情報作成部661は、隣接する符号化済みサブブロックの予測モード情報に基づいて、符号化対象サブブロックの予測モードの推定時に利用する参照サブブロックを決定する場合について例示している。
【0515】
(画像符号化装置600bの構成)
相対予測モード情報作成部661bを用いる場合の画像符号化装置600bの構成について
図48を参照して以下に説明する。画像符号化装置600bは、主として、差分演算部1、直交変換部2、量子化部3、エントロピー符号化部304、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部310、予測モード決定部311、および相対予測モード情報作成部661bを備えている。相対予測モード情報作成部661bについて以下に説明する。
【0516】
(相対予測モード情報作成部661b)
相対予測モード情報作成部661bは、予測モード決定部311より入力された予測モード情報と、メモリ9に記憶されている当該サブブロックに隣接する符号化済みサブブロックの局所復号画像とに基づいて、当該サブブロックの相対予測モード情報を作成する。
【0517】
相対予測モード情報作成部661bの構成について、
図49を参照して以下に説明する。
図49は、相対予測モード情報作成部661bの構成を示すブロック図である。
【0518】
相対予測モード情報作成部661bは、
図49に示すように、格納部662、参照位置決定部663b、予測モード情報推定部664、および相対予測モード情報生成部665を備えている。参照位置決定部663bについて、以下に説明する。
【0519】
(参照位置決定部663b)
参照位置決定部663bは、当該サブブロックの周辺に位置する符号化済みサブブロックの局所復号画像を利用して、当該サブブロックに隣接する4箇所のサブブロック(
図44中の隣接サブブロックA、B、C、D)のうち、当該サブブロックと最も相関の高いサブブロック(参照サブブロック)を決定する。そして、決定した参照サブブロックの位置情報(参照位置情報)を予測モード情報推定部664へ出力する。ここでは、当該サブブロックを当該サブブロックOと称する。
【0520】
(画像符号化プロセスの概要)
画像符号化装置600bにおける画像符号化プロセスは、ステップS232を除いて、画像符号化装置600の画像符号化プロセスとほぼ同じであるためその説明を省略する。なお、画像符号化装置600の画像符号化プロセスと相違するステップS232は以下の通りである。
【0521】
相対予測モード情報作成部661bは、予測モード決定部311から入力した符号化対象サブブロックにおける予測モード情報を、メモリ9より入力された符号化対象サブブロックの周辺に位置する符号化済みサブブロックの局所復号画像に基づいて、符号化対象サブブロックの相対予測モード情報を作成し、出力する(ステップS232)。
【0522】
(参照サブブロック位置の詳細な決定プロセス)
当該サブブロックの周辺に位置する符号化済みサブブロックの局所復号画像を利用した参照サブブロック位置の決定方法について、以下に説明する。
【0523】
参照位置決定部663bでは対象サブブロックと相対位置(x,y)にあるサブブロックQの相関を評価するために、連結度Sp(x,y)の代わりにコスト関数f(θp,θq,Tp,Tq)を用いる。ここで、変数θp,θqは、それぞれ、対象サブブロックP、相対位置(x,y)にあるサブブロックQにおける支配的なエッジ方向である。また、Tp、Tqは、それぞれ、対象サブブロックP、相対位置(x,y)におけるサブブロックQにおけるエッジ強度を表す。なお、エッジ方向、エッジ強度の算出方法は、実施形態1で説明しているため省略する。
【0524】
コスト関数f(θp,θq,Tp,Tq)の具体的な例としては、下記式(38)、(39)が挙げられる。
【0526】
上記式(38)は、エッジ方向θpとθqとの差分の絶対値と、エッジ強度TpとTqとの差分の絶対値の積で与えられるコスト関数f(θp,θq,Tp,Tq)である。また、上記式(39)は、エッジ方向θpとθqとの差分の絶対値と、エッジ強度TpとTqとの差分の絶対値の和で与えられるコスト関数f(θp,θq,Tp,Tq)である。なお、式(38)、(39)におけるパラメータα、β、γ、εは所定のスケーリング変数である。
【0527】
上記式(38)、(39)で表されるコスト関数f(θp,θq,Tp,Tq)は、値が小さいほど、対象サブブロックPと相対位置(x,y)にあるサブブロックQとの相関が強いことを表している。ここで便宜上、対象サブブロックPに対する相対位置(x,y)にあるサブブロックQとのコスト関数f(θp,θq,Tp,Tq)をfp(x,y)と表記する。
【0528】
次に、
図44中の当該サブブロックOに隣接するサブブロックA、B、C、Dそれぞれと、4つの相対位置(−1,0)、(0,−1)、(−1,−1)、(1,−1)とのコスト関数fp(x,y)を求める。例えば、隣接サブブロックAであれば、fa(−1,0),fa(0,−1)、fa(−1,−1)、fa(1,−1)を求める。
【0529】
そして、各隣接サブブロックA、B、C、Dにおいて求めたコスト関数fp(x,y)に基づいて、当該サブブロックOに対して相対位置(−1,0)、(0,−1)、(−1,−1)、(1,−1)におけるコスト関数fo(x,y)を下記式(40)〜(43)により推定する。なお、下記式(40)〜(43)において、隣接サブブロックA、B、C、Dのコスト関数fp(x,y)のうち、取得することができないものがある場合は、所定の値を代入するものとすることが好ましい。
【0531】
上記式(40)〜(43)により推定したコスト関数fo(x,y)の中で、最も小さいコストを与える相対位置(x,y)を当該サブブロックOの参照サブブロックとする。なお、値が等しいコストが複数ある場合は、所定の相対位置(x,y)を当該サブブロックOの参照サブブロックとすることが好ましい。
【0532】
(相対予測モード情報の詳細な作成プロセス)
相対予測モード情報を作成するプロセスは、ステップS241を除いて、相対予測モード情報作成部661の動作プロセスとほぼ同じであるため、その説明を省略する。なお、相対予測モード情報作成部661の動作プロセスと相違するステップS241は以下の通りである。
【0533】
参照位置決定部663bは、メモリ9に格納された当該サブブロックの周辺に位置する複数の符号化済みサブブロックの局所復号画像よりエッジ情報を算出し、算出したエッジ情報に基づいて、当該サブブロックと隣接サブブロック(A、B、C、D)間の相関を推定する(ステップS241)。
【0534】
(付記事項)
なお、本実施形態ならびに本実施形態の変形例では、予測モードの推定に用いるサブブロック位置の選択単位をサブブロックとしてとして説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)またはGOP(Group Of Picture)をサブブロック位置の選択単位としてもよい。予測モードの推定に用いるサブブロック位置の選択単位は、予め画像符号化装置、画像復号装置間で取り決めておいてもよく、符号化データの先頭、ピクチャ、GOPヘッダの中で指定してもよい。あるいは画像符号化装置・画像復号装置ではなく外部の手段を使って通知することも可能である。また、本実施形態ならびに本実施形態の変形例では、予測モードの推定に用いる隣接サブブロックを
図44中のサブブロックA、B、C、Dとしているが、これに限定されるものではない。例えば、サブブロックA、Bのみでもよいし、A、B、C、D及びそれ以外の符号化対象サブブロックに近接する符号化済みサブブロックを用いてもよい。
【0535】
(作用効果)
以上のように、本実施形態に係る画像符号化装置600は、互いに異なる予測方向に応じた予測モードを複数含む予測セットを少なくとも1つ有している。
【0536】
画像符号化装置600は、画像を構成する各ブロックにおいて、符号化対象ブロックをさらに分割したサブブロック毎に、符号化済み隣接サブブロックの予測モード情報、または符号化済み隣接サブブロックの復号画像より所定の方法に基づいて、当該サブブロックと隣接サブブロックとの相関を推定する。そして、推定した相関の結果に基づいて、当該サブブロックと最も相関の高い符号化済み隣接サブブロックを選択し、選択した符号化済みサブブロックの予測モードにより、当該サブブロックの予測モードを推定して符号化する。
【0537】
したがって、画像符号化装置600は、当該サブブロックと最も相関の高いサブブロックを選択することができるため、当該サブブロックの予測モードの推定精度が高まり、予測モードを表すのに要する符号量を削減し、符号化効率を高めることが可能である。
【0538】
〔実施形態8〕
本発明に係る画像復号装置の他の形態について、実施形態8として
図50〜
図55を参照して以下に説明する。なお、実施形態1〜7と同様の構成要素については同一の符号を付し、その説明を省略する。
【0539】
(画像復号装置650の構成)
実施形態8に係る画像復号装置650の構成について、
図50を参照して以下に説明する。
図50は、画像復号装置650の構成を示すブロック図である。
【0540】
図50に示すように、画像復号装置650は、主として、エントロピー復号部305、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部310、予測モード情報作成部666を備えている。本実施形態では、予測モード情報作成部662についてのみ以下に説明する。
【0541】
(予測モード情報作成部666)
予測モード情報作成部666は、実施形態7における相対予測モード情報作成部661の逆処理を実行するものであり、エントロピー復号された復号対象サブブロックの相対予測モード情報と、予測モード情報作成部666の内部で記憶されている当該サブブロックの周辺に位置する復号済みサブブロックの予測モード情報に基づいて、当該サブブロックの予測モード情報を作成する。
【0542】
予測モード情報作成部666の構成について、
図51を参照して以下に説明する。
図51は、予測モード情報作成部662の構成を示すブロック図である。予測モード情報作成部666は、
図51に示すように、格納部667、参照位置決定部668、予測モード情報推定部669、および予測モード情報生成部670を備えている。
【0543】
(格納部667)
格納部667は、相対予測モード情報作成部661における格納部662と同等の機能を有しており、予測モード情報生成部670で生成された当該サブブロックの予測モード情報を格納する。なお、格納された予測モード情報は当該サブブロックより後に復号されるサブブロックにおける予測モード情報の推定に利用される。
【0544】
(参照位置決定部668)
参照位置決定部668は、相対予測モード情報作成部661における参照位置決定部663と同等の機能を有している。すなわち、当該サブブロックの周辺に位置する復号済みサブブロックの予測モード情報を利用し、当該サブブロックに隣接する4箇所のサブブロック(
図44中の隣接サブブロックA、B、C、D)のうち、当該サブブロックと最も相関の高いサブブロック(参照サブブロック)を決定する。そして、決定した参照サブブロックの位置情報(参照位置情報)を予測モード情報推定部669へ出力する。なお、参照サブブロックの決定方法は、実施形態7における参照位置決定部663と同じであるため、ここではその説明を省略する。
【0545】
(予測モード情報推定部669)
予測モード情報推定部669は、相対予測モード情報作成部661における予測モード情報推定部664と同等の機能を有している。すなわち、参照位置決定部668において決定された参照位置情報、および格納部667に格納された復号済み隣接サブブロックの予測モード情報に基づいて、当該サブブロックに用いる予測モード情報の推定値を所定の方法で決定し、決定した推定値を予測モード情報生成部670へ出力する。
【0546】
(予測モード情報生成部670)
予測モード情報生成部670は、相対予測モード情報生成部665の逆処理を実行するものである。すなわち、入力された相対予測モード情報と、予測モード情報推定部669において決定された予測モード情報の推定値probable_modeとに基づいて、当該サブブロックに用いる予測モード情報を生成する。また、生成された予測モード情報は、格納部666およびイントラ予測部310へ出力される。なお、予測モード情報mode_data( )のデータ構造は表29と同じである。
【0547】
(画像復号プロセスの概要)
画像復号装置650における画像復号プロセスの概要について、
図52を参照して説明する。
図52は、画像復号装置650における画像復号プロセスの概要を示すフローチャートである。
【0548】
復号対象サブブロック(N×N画素ブロック)の符号化データを画像復号装置650に入力する(ステップS250)。
【0549】
エントロピー復号部305は、入力した符号化データ中の復号対象サブブロックに用いる相対予測モード情報の符号化データをエントロピー復号して、相対予測モード情報を予測モード情報作成部666へ出力する(ステップS251)。
【0550】
予測モード情報作成部666は、入力した復号対象サブブロックにおける相対予測モード情報と、復号対象サブブロックの周辺に位置する復号済みサブブロックの予測モード情報とに基づいて、当該サブブロックの予測モード情報を作成する(ステップS252)。
【0551】
エントロピー復号部305は、予測残差データの符号化データをエントロピー復号する(ステップS253)。
【0552】
イントラ予測部310は、メモリ9に格納した復号済みの隣接サブブロックにおける局所復号画像を用いて、復号された予測モード情報に応じたイントラ予測をして、復号対象サブブロックの予測画像(N×N画素ブロック)を生成する(ステップS254)。なお、予測画像の生成方法は従来技術と同じであるため、ここではその説明を省略する。
【0553】
ステップS253において復号した予測残差データは、逆量子化部6、逆直交変換部7の順に入力され、逆量子化・逆直交変換されて、加算演算部8に出力される(ステップS255)。
【0554】
加算演算部8は、ステップS254において生成した予測画像と、ステップS255において逆量子化・逆直交変換した予測残差データとを加算し、復号対象サブブロックの復号画像(N×N画素ブロック)を生成して出力する(ステップS256)。
【0555】
メモリ9は、生成した復号対象サブブロックにおける復号画像を記憶する(ステップS257)。
【0556】
なお、画像復号装置650は、復号対象画像を構成する全てのサブブロックについてステップS250〜S257の処理を繰り返す。
【0557】
本実施形態では、画像復号装置650の復号プロセスをステップS250〜S257の順に説明したが、これに限定されるものではなく、本発明を実施できる範囲において変更可能である。
【0558】
(予測モード情報作成部662の動作プロセス)
次に、予測モード情報を作成するプロセスの詳細について、
図53を参照して以下に説明する。
図53は、予測モード情報を生成する詳細なプロセスを示すフローチャートである。
【0559】
まず、参照位置決定部668は、格納部667に記憶した当該サブブロックの周辺に位置する複数の復号済みサブブロックの予測モード情報に基づいて、当該サブブロックと隣接サブブロック(A、B、C、D)間の相関を推定する(ステップS260)。次に、ステップS260で求めた相関に基づいて、当該サブブロックの予測モード情報の推定に用いる参照サブブロックを隣接サブブロックA、B、C、Dの中より決定し、決定した参照サブブロックの位置を表す参照位置情報を予測モード情報推定部669へ出力する(ステップS261)。
【0560】
予測モード情報推定部669は、入力した参照位置情報が示す参照サブブロックの予測モード情報を格納部667より取得する(ステップS262)。次に、取得した参照サブブロックにおける予測モード情報に基づいて予測モード情報の推定値を決定し、決定した推定値を相対予測モード情報生成部670へ出力する(ステップS263)。
【0561】
相対予測モード情報生成部670は、入力した相対予測モード情報と、予測モード情報の推定値とに基づいて、当該サブブロックにおける予測モード情報を生成し、出力する(ステップS264)。
【0562】
最後に、格納部667は、生成した当該サブブロックの予測モード情報を格納する(ステップS265)。
【0563】
(変形例)
隣接する復号済みサブブロックの予測モード情報の代わりに、隣接する復号済みサブブロックの局所復号画像を利用して、参照サブブロックを決定する予測モード情報作成部662bを備えた画像復号装置を、変形例として以下に説明する。
【0564】
なお、実施形態8の予測モード情報作成部666は、隣接する復号済みサブブロックの予測モード情報に基づいて、当該サブブロックの予測モードの推定時に利用する参照サブブロックを決定する場合について例示している。
【0565】
(画像復号装置650bの構成)
予測モード情報作成部666bを備える場合の画像符号化装置650bの構成について
図54を参照して以下に説明する。
図54は、画像復号装置650bの構成を示すブロック図である。
【0566】
図54に示すように、画像復号装置650bは、主として、エントロピー復号部305、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、イントラ予測部310、予測モード情報作成部666bを備えている。本実施形態では、予測モード情報作成部662bについてのみ以下に説明する。
【0567】
(予測モード情報作成部666b)
予測モード情報作成部666bは、実施形態7の変形例として示した画像符号化装置600bに備えられている相対予測モード情報作成部661bの逆処理を実行するものである。すなわち、エントロピー復号された復号対象サブブロックの相対予測モード情報と、メモリ9に記憶されている復号対象サブブロックに隣接する復号済みサブブロックの局所復号画像とに基づいて、当該サブブロックの予測モード情報を作成する。
【0568】
次に、予測モード情報作成部666bの構成について説明する。
図55は、予測モード情報作成部666bの構成を示すブロック図である。予測モード情報作成部666bは、
図55に示すように、格納部667、参照位置決定部668b、予測モード情報推定部669、および予測モード情報生成部670を備えている。ここでは、参照位置決定部668bについてのみ以下に説明する。
【0569】
(参照位置決定部668b)
参照位置決定部668bは、画像符号化装置600bに備えられている相対予測モード情報作成部661bにおける参照位置決定部663bと同等の機能を有している。すなわち、当該サブブロックの周辺に位置する復号済みサブブロックの局所復号画像を利用して、当該サブブロックに隣接する4箇所のサブブロック(
図44中の隣接サブブロックA、B、C、D)より、参照サブブロックを決定する。そして、決定した参照サブブロックの位置を表す参照位置情報を予測モード情報推定部669へ出力する。なお、参照サブブロックの決定方法は、実施形態7における参照位置決定部663bと同じであるため、ここではその説明を省略する。
【0570】
(画像復号プロセスの概要)
画像復号装置650bにおける画像復号プロセスは、ステップS252を除いて、画像復号装置650の画像復号プロセスとほぼ同じであるためその説明を省略する。なお、画像復号装置650の画像復号プロセスと相違するステップS252は以下の通りである。
【0571】
予測モード情報作成部666bは、入力した復号対象サブブロックにおける相対予測モード情報と、メモリ9に記憶されている復号対象サブブロックの周辺に位置する復号済みサブブロックの局所復号画像に基づいて、当該サブブロックの予測モード情報を作成する(ステップS252)。
【0572】
(予測モード情報の詳細な作成プロセス)
予測モード情報を作成するプロセスは、ステップS261を除いて、相対予測モード情報作成部661の動作プロセスとほぼ同じであるため、その説明を省略する。なお、相対予測モード情報作成部661の動作プロセスと相違するステップS241は以下の通りである。
【0573】
参照位置決定部668bは、メモリ9に格納された当該サブブロックの周辺に位置する複数の復号済みサブブロックの復号よりエッジ情報を算出し、算出したエッジ情報に基づいて、当該サブブロックと隣接サブブロック(A、B、C、D)間の相関を推定する(ステップS241)。
【0574】
(付記事項)
なお、本実施形態ならびに本実施形態の変形例では、予測モードの推定に用いるサブブロック位置の選択単位をサブブロックとしてとして説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)またはGOP(Group Of Picture)をサブブロック位置の選択単位としてもよい。予測モードの推定に用いるサブブロック位置の選択単位は、予め画像符号化装置、画像復号装置間で取り決めておいてもよく、符号化データの先頭、ピクチャ、GOPヘッダの中で指定してもよい。あるいは画像符号化装置・画像復号装置ではなく外部の手段を使って通知することも可能である。また、本実施形態ならびに本実施形態の変形例では、予測モードの推定に用いる隣接サブブロックを
図44中のサブブロックA、B、C、Dとしているが、これに限定されるものではない。例えば、サブブロックA、Bのみでもよいし、A、B、C、D及びそれ以外の復号対象サブブロックに近接する復号済みサブブロックを用いてもよい。
【0575】
(作用効果)
以上のように、本実施形態に係る画像復号装置650は、互い異なる予測方向に応じた予測モードを複数含む予測セットを少なくとも1つ有している。
【0576】
画像復号装置650は、画像を構成する各ブロックにおいて、復号対象ブロックをさらに分割したサブブロック毎に、復号済み隣接サブブロックの予測モード情報、あるいは復号済み隣接サブブロックの復号画像より所定の方法に基づいて、当該サブブロックと隣接サブブロックとの相関を推定する。そして、推定した相関の結果に基づいて、当該サブブロックと最も相関の高い復号済みサブブロックを選択し、選択した復号済みサブブロックの予測モードにより、当該サブブロックの予測モードを推定し、推定結果と当該サブブロックの相対予測モード情報に基づき、予測モード情報を復号する。
【0577】
したがって、画像復号装置650は、当該サブブロックと最も相関の高いサブブロックを選択することができるため、当該サブブロックの予測モードの推定精度を高まり、予測モードを復号するのに要する符号量を削減することが可能である。
【0578】
〔実施形態9〕
本発明に係る画像符号化装置の他の形態について、実施形態9として
図56〜
図60を参照して以下に説明する。なお、実施形態1〜8と同様の構成要素については同一の符号を付し、その説明を省略する。
【0579】
ここで、実施形態1に係る画像符号化装置100では、予め定められた1つの予測セット群(例えば、表2)より、符号化対象ブロック(M×M画素ブロック)に用いる予測セットを1つ決定する場合について例示している。本実施形態では、符号化済み隣接ブロックの情報(例えば、符号化済み隣接ブロック内に含まれるサブブロックに用いたイントラ予測の予測方向)を利用して、予め定められた複数の予測セット群より1つの予測セット群を、ブロック単位に選択し、選択された予測セット群より、符号化対象ブロックに用いる予測セットを1つ決定する画像符号化装置について説明する。
【0580】
(画像符号化装置700の構成)
本実施形態に係る画像符号化装置700の構成について、
図56を参照して以下に説明する。
図56は、本実施形態に係る画像符号化装置700の構成を示すブロック図である。
【0581】
画像符号化装置700は、差分演算部1、直交変換部2、量子化部3、エントロピー符号化部4、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、予測セット群選択部15、イントラ予測部710、符号化パラメータ決定部714、および相対予測セット情報作成部751を備えている。予測セット群選択部15、イントラ予測部710、符号化パラメータ決定部714、および相対予測セット情報作成部751について以下に説明する。
【0582】
(予測セット群選択部15)
予測セット群選択部15は、定められた複数の予測セット群より、符号化対象ブロックに適用する予測セット群を、符号化済み隣接ブロックの予測セット情報および符号化済み隣接ブロック内の全サブブロックの予測モード情報に基づいて選択する。そして、選択した予測セット群を表す予測セット群情報を出力する。
【0583】
なお、符号化済み隣接ブロックの予測セット情報および符号化済み隣接ブロック中の各サブブロックの予測モード情報は、符号化パラメータ決定部714より入力され、予測セット群選択部15の内部で記憶される。
【0584】
(イントラ予測部710)
イントラ予測部710は、メモリ9に記憶された符号化済み隣接サブブロックの局所復号画像を用いて、予測セット群情報、予測セット情報、および予測モード情報により定まるイントラ予測を行い、予測画像を生成する。なお、予測画像の詳細な生成方法は、イントラ予測部10と同一であるため、ここではその説明を省略する。
【0585】
(符号化パラメータ決定部714)
符号化パラメータ決定部714は、符号化対象ブロックの原画像、メモリ9に記憶された符号化済み隣接ブロックの局所復号画像、および予測セット群選択部15で選択された予測セット群情報を入力とし、符号化対象ブロックに用いる予測セット、および符号化対象ブロック中の各サブブロックに用いる予測モードなどの符号化パラメータを決定する。決定された予測セットは、イントラ予測部710、相対予測セット情報作成部751および予測セット群選択部15へ出力される。また、決定された各サブブロックの予測モードは、予測セット群選択部15、イントラ予測部710およびエントロピー符号化部4へ出力される。
【0586】
なお、符号化パラメータ決定部714では、予測セット選択部15で選択された予測セット群情報が示す予測セット群の中から、符号化対象ブロックに用いる予測セット、および符号化対象ブロック中の各サブブロックの予測モードを決定する。予測セット、および予測モードの決定には、符号化パラメータ決定部14と同様にレート歪最適化手法を用いることが好ましい。
【0587】
(相対予測セット情報作成部751)
相対予測セット情報作成部751は、予測セット群選択部15より入力された予測セット群情報、および相対予測セット情報作成部751の内部で記憶している符号化済み隣接ブロックの予測セット情報に基づいて、符号化パラメータ決定部714より入力された符号化対象ブロックの予測セット情報から相対予測セット情報を作成し、出力する。
【0588】
相対予測セット情報作成部751は、
図57に示すように、主として、格納部752a、格納部752b、予測セット情報予測部753、および相対予測セット情報生成部754を備えている。
図57は、相対予測セット情報作成部751の構成を示すブロック図である。各部材について、以下に説明する。
【0589】
(格納部752a、752b)
格納部752a、752bは、入力情報を一時的に記憶する。格納部752aは、入力された符号化対象ブロックの予測セット情報を格納する。そして、格納部752bは、予測セット群選択部15より入力された符号化対象ブロックの予測セット群情報を格納する。なお、格納された予測セット情報、予測セット群情報は符号化対象ブロックより後に符号化されるブロックの予測セットの予測に利用される。
【0590】
(予測セット情報予測部753)
予測セット情報予測部753は、入力された予測セット群情報ならびに、格納部752aおよび格納部752bにそれぞれ格納された符号化済み隣接ブロックの予測セット群情報および予測セット情報に基づいて、符号化対象ブロックに用いる予測セットの予測値を所定の方法で決定する。そして、決定した予測値を相対予測セット情報生成部754へ出力する。
【0591】
(相対予測セット情報生成部754)
相対予測セット情報生成部754は、実施形態1の相対予測セット情報生成部511と同一の機能を有している。相対予測セット情報生成部754は、入力された予測セット情報と、予測セット情報予測部753において決定された予測セットの予測値とに基づいて、相対予測セット情報を生成し、出力する。
【0592】
(画像符号化プロセスの概要)
画像符号装置700における画像符号化プロセスの概要について、
図58を参照して以下に説明する。
図58は、画像符号化装置700における画像符号化プロセスの概要を示すフローチャートである。
【0593】
符号化対象ブロックを画像符号化装置700に入力する(ステップS270)。
【0594】
予測セット群選択部15は、符号化済み隣接ブロックの予測セット情報と符号化済み隣接ブロック中の各サブブロックの予測モード情報に基づいて、符号化対象ブロックに用いる予測セット群を選択する(ステップS271)。選択した予測セット群における予測セット群情報は、符号化パラメータ決定部714、相対予測セット情報作成部751およびイントラ予測部710へ出力される。
【0595】
符号化パラメータ決定部714は、符号化対象ブロックの原画像、メモリ9に記憶された局所復号画像、および予測セット群選択部15で選択された予測セット群情報から、符号化対象ブロックの予測セット、および符号化対象ブロック中の全サブブロックの予測モードを決定する(ステップS272)。なお、決定した予測セットは、イントラ予測部710、相対予測セット情報作成部751および予測セット群選択部15へ出力される。また、決定した全サブブロックの予測モードは、イントラ予測部710および予測セット群選択部15へ出力される。
【0596】
相対予測セット情報作成部751は、符号化済み隣接ブロックの予測セット群情報と予測セット情報に基づいて、ステップS271において得られた予測セット群情報およびステップS272において得られた予測セット情報から、相対予測セット情報を作成し、エントロピー符号化部4へ出力する(ステップS273)。
【0597】
エントロピー符号化部4は、ステップS273において作成した相対予測セット情報をエントロピー符号化して出力する(ステップS274)。また、ステップS272において決定した符号化対象サブブロックの予測モード情報をエントロピー符号化して、予測モード情報の符号化データを出力する(ステップS275)。
【0598】
イントラ予測部710は、メモリ9に記憶された符号化済み隣接サブブロックにおける局所復号画像を用いて、ステップS271で選択された予測セット群、ステップS272で決定された予測セットおよび予測モードにより定まるイントラ予測を行い、符号化対象サブブロックの予測画像を生成する(ステップS276)。生成した符号化対象サブブロックの予測画像は、差分演算部1および加算演算部8へ出力される。
【0599】
差分演算部1は、入力された符号化対象サブブロックの原画像と、ステップS276で生成された予測画像との差分である符号化対象サブブロックの予測残差データを算出し、出力する(ステップ277)。
【0600】
ステップS277で算出した予測残差データは、直交変換部2、量子化部3の順に入力され、直交変換・量子化されてエントロピー符号化部4および逆量子化部6へ出力される(ステップS278)。
【0601】
直交変換・量子化した予測残差データは、逆量子化部6、逆直交変換部7の順に入力され、逆量子化・逆直交変換されて、加算演算部8へ出力される(ステップS279)。
【0602】
加算演算部8は、ステップS279において逆量子化および逆直交変換された予測残差データと、ステップS276において生成した予測画像とを加算し、符号化対象サブブロックの局所復号画像を生成する(ステップS280)。生成された局所復号画像は、メモリ9に記憶される。
【0603】
エントロピー符号化部4は、符号化対象サブブロックの量子化済み予測残差データをエントロピー符号化して予測残差データの符号化データを出力する(ステップS281)。
【0604】
なお、ステップS275〜S281における処理は、符号化対象ブロックを構成する全てのサブブロックについて行われる。また、ステップS270〜S281における処理は、符号化対象画像を構成する全てのブロックについて行われる。
【0605】
本実施形態では、画像符号化装置700の画像符号化プロセスをステップS270〜S281の順に説明したが、これに限定されるものではなく、本発明を実施できる範囲において変更可能である。
【0606】
(予測セット群の構成)
次に、予測セット群の数が3つである場合を例に挙げて、本実施形態において用いる予測セット群の構成の具体例を表32〜表34に示す。
【0607】
表32は、従来技術において用いられている予測セット0(従来予測セット)、水平方向の予測を重視した予測セット1(第1水平方向予測セット)、および垂直方向の予測を重視した予測セット2(第1垂直方向予測セット)から構成される第1予測セット群を表している。第1予測セット群には、水平方向/垂直方向を重視した予測セットの両方を含むことが好ましい。
【0608】
表33は、従来予測セットである予測セット0、第1水平方向予測セットである予測セット1、および第1水平予測セットとは異なる水平方向の予測を重視した予測セット2(第2水平方向予測セット)から構成される第2予測セット群を表している。
【0609】
表34は、従来予測セットである予測セット0、第1垂直方向予測セットである予測セット1、および第2垂直方向予測セットとは異なる垂直方向の予測を重視した予測セット2(第2垂直方向予測セット)から構成される第3予測セット群を表している。
【0613】
第1予測セット群〜第3予測セット群のうち、符号化対象ブロックに用いる予測セット群は、
図9において符号化対象ブロック61に隣接する符号化済みブロック60aと60c、あるいは60a〜60d、あるいは60a〜60eと60h、あるいは60a〜60k中の全サブブロックにおいて適用されたイントラ予測から、下記(1)〜(6)の指標を用いて決定する。
(1)水平方向の予測方向θ(−45[deg]<θ≦45[deg])の出現頻度数Nh(≧0)
(2)垂直方向の予測方向θ(−90[deg]≦θ≦−45[deg]、45[deg]<θ<90[deg])の出現頻度数Nv(≧0)
(3)NhとNvとの合計値Nmax(=Nh+Nv)
(4)所定の閾値T0
(5)所定の閾値T1
(6)所定の閾値T2。
【0614】
すなわち、符号化対象ブロックに用いる予測セット群は、下記式(44)〜(47)として示す不等式により算出される。
【0616】
より具体的には、予測セット群は、以下の場合分けに基づいて決定する。
【0617】
(1)不等式(44)を満たすときは、符号化対象ブロックに用いる予測セット群を第1予測セット群とする。
【0618】
(2)不等式(44)を満たさないときであって、かつ、
(2−a)不等式(45)を満たすときには、符号化対象ブロックにおいて水平方向の予測方向が垂直方向の予測方向よりも出現しやすいと判定し、第2予測セット群を符号化対象ブロックに用いる。
(2−b)不等式(46)を満たすときには、水平方向の予測方向と垂直方向の予測方向の出現頻度を同程度であると判定し、第1予測セット群を符号化対象ブロックに用いる。(2−c)不等式(47)を満たすときには、符号化対象ブロックにおいて、垂直方向の予測方向が水平方向の予測方向よりも出現しやすいと判定し、第3予測セット群を符号化対象ブロックに用いる。
【0619】
なお、閾値T1、閾値T2の値をそれぞれ、T1=Nmax/3、T2=2Nmax/3に設定してもよい。ここで、閾値T0は、参照可能な符号化済み隣接ブロック中のサブブロックの数に応じて決まる所定の値である。
【0620】
(予測セット群の選択動作プロセス)
続いて、予測セット群選択部15における予測セット群選択時の動作プロセスについて、
図59を参照して説明する。
図59は、予測セット群選択部15の予測セット群選択時の動作プロセスを示すフローチャートである。
【0621】
まず、予測セット群選択部15は、符号化対象ブロックに隣接する符号化済みブロックにおいて参照可能なブロックがあるか否かを判定する(ステップS290)。参照可能なブロックがない場合には(ステップS290においてNo)、符号化対象ブロックに用いる予測セット群を第1予測セット群と設定し、「第1予測セット群」であることを示す予測セット群情報を出力して、動作を終了する(ステップS291)。
【0622】
参照可能なブロックがある場合には(ステップS290においてYes)、参照可能な符号化済み隣接ブロックにおける全予測セット情報および全予測モード情報に基づいて、パラメータNh、Nv、Nmax、T1、およびT2を算出する(ステップS292)。続いて、ステップS292において算出したNh、Nv、Nmax、T1、およびT2を用いて符号化対象ブロックに用いる予測セット群を決定する。具体的には、上記式(44)を満たすか否か判定する(ステップS293)。
【0623】
上記式(44)を満たす場合には(ステップS293においてYes)、符号化対象ブロックに用いる予測セット群を第1予測セット群と設定し、「第1予測セット群」であることを示す予測セット群情報を出力して、動作を終了する(ステップS294)。
【0624】
上記式(44)を満たさない場合には(ステップS293においてNo)、次に上記式(45)を満たすか否か判定する(ステップS295)。
【0625】
上記式(45)を満たす場合には(ステップS295においてYes)、符号化対象ブロックに用いる予測セット群を第2予測セット群と設定し、「第2予測セット群」であることを示す予測セット群情報を出力して、動作を終了する(ステップS296)。
【0626】
上記式(45)を満たさない場合には(ステップS295においてNo)、さらに上記式(46)を満たすか否か判定する(ステップS297)。
【0627】
上記式(46)を満たす場合には(ステップS297においてYes)、符号化対象ブロックに用いる予測セット群を第1予測セット群と設定し、「第1予測セット群」であることを示す予測セット群情報を出力して、動作を終了する(ステップS298)。
【0628】
上記式(46)を満たさない場合には(ステップS297においてNo)、上記式(47)を満たすと判定し、符号化対象ブロック符号化対象ブロックに用いる予測セット群を第3予測セット群と設定し、「第3予測セット群」であることを示す予測セット群情報を出力して、動作を終了する(ステップS299)。
【0629】
なお、予測セット群選択部15は、出力する予測セット群情報を内部に保持しているメモリに記憶する。また、予測セット群選択部15の予測セット群選択時の動作プロセスをステップS290〜S299の順に説明したが、これに限定されるものではなく、本発明を実施できる範囲において変更可能である。
【0630】
以上のようにすることで、予測セット群選択部15は、符号化対象ブロックの周辺に位置する符号化済み隣接ブロックの情報に基づき、符号化対象ブロックに用いる予測セット群を自動決定することが可能である。
【0631】
例えば、符号化済み隣接ブロックおいて、水平方向の予測方向が垂直方向の予測方向よりも出現頻度が高い場合は、水平方向の予測を重視した予測セットを複数備えた予測セット群を符号化対象ブロックに用いる。また、符号化済み隣接ブロックおいて、垂直方向の予測方向が水平方向の予測方向よりも出現頻度が高い場合は、垂直方向の予測を重視した予測セットを複数備えた予測セット群を符号化対象ブロックに用いる。また、水平方向の予測方向と垂直方向の予測方向の出現頻度が同程度である場合は、水平方向/垂直方向を重視した予測セットを同数備えた予測セット群を選択する。
【0632】
したがって、より画像の予測に適した予測セットを備えた予測セット群より、符号化対象ブロックを効率的に符号化することが可能となる。
【0633】
また、上記予測セット群選択部15は、画像復号装置においても同様に適用可能である。その場合は、復号済み隣接ブロックの情報に基づき、復号対象ブロックに用いる予測セット群を自動決定することが可能である。
【0634】
(予測セットの予測値を決定する詳細なプロセス)
次に、予測セットの予測値を決定する詳細なプロセスついて説明する。
【0635】
まず、予測セットの予測値を、下記(1)〜(3)のいずれかの方法によって仮決定する。
(1)
図9中の符号化対象ブロック61の近傍に位置するブロック(60a〜60k)において適用された予測セットの中のうち、最も出現頻度の高い予測セットを予測値とする。
(2)
図9中の符号化対象ブロック61の左部に位置する符号化済みブロック(60a)に適用された予測セットを予測値とする。
(3)
図9中の符号化対象ブロック61の上部に位置する符号化済みブロック(60c)において適用された予測セットを予測値とする。
【0636】
なお決定した予測セットの予測値は、「「第i予測セット群」に属する「予測セットi
」」を示すものとする。
【0637】
次に、決定した予測セットの予測値が示す「第i予測セット群」と、符号化対象ブロックの予測セット群情報が示す「第k予測セット群」とを比較する。予測セットの予測値の示す「第i予測セット群」と、符号化対象ブロックの「第kセット群」とが同一予測セット群であった場合には、決定した予測値を相対予測セット情報生成部754へ出力する。
【0638】
それ以外の場合には、後述する予測セット対応表を用いて、「決定した予測セットの予測値が、符号化対象ブロックに用いる予測セット群中のいずれの予測セットと対応するのか」を求め、対応する予測セットを予測値とする。そして、決定した予測値を相対予測セット情報生成部754へ出力する。
【0639】
上記表32〜表34に示す第1予測セット群、第2予測セット群、および第3予測セット群の予測セット対応表の例を下記表35〜37に示す。
【0640】
表35に示す予測セット対応表は、第1予測セット群中の予測セットに類似するその他予測群中の予測セットを表している。表36に示す予測セット対応表は、第2予測セット群中の予測セットに類似するその他予測群中の予測セットを表している。また、表37に示す予測セット対応表は、第3予測セット群中の予測セットに類似するその他予測群中の予測セットとの対応を表している。具体的には、表31において、第1予測セット群中の予測セット1は、第2予測セット群中の予測セット1、第3予測セット群中の予測セットに最も類似していることを表している。なお、予測セット対応表は、予め所定の方法により定めておくことが好ましい。
【0644】
(相対予測セット情報作成部751の動作プロセス)
相対予測セット情報作成部751の動作プロセスについて、
図60を参照して以下に説明する。
図60は、相対予測セット情報作成部751の動作プロセスに関するフローチャートである。
【0645】
まず、入力した符号化対象ブロックに関する予測セット情報と予測セット群情報を、それぞれ格納部752a、および格納部752bに記憶する(ステップS300)。
【0646】
次に、予測セット情報予測部753は、符号化済み隣接ブロックの予測セット群情報および予測セット情報から、予測セットの予測値を算出する(ステップS301)。続いて、ステップS301で算出した予測値を、予測値の示す予測セット群、および符号化対象ブロックの予測セット群に基づいて修正するか否かを判定する(ステップS302)。
【0647】
予測値を修正しない場合(ステップS302においてNo)、予測セット情報予測部753は、予測値を相対予測セット情報生成部754へ出力する。予測値を修正する場合(ステップS302においてYes)、予測セット情報予測部753は、予測セット対応表に基づいて、ステップS301で算出した予測値を修正し、修正した予測値を相対予測セット情報生成部754へ出力する(ステップS303)。
【0648】
相対予測セット情報生成部754は、入力した符号化対象ブロックの予測セット情報および予測セット情報予測部753より入力した予測値に基づいて、相対予測セット情報を生成し、出力する(ステップS304)。
【0649】
以上のように、予測セット情報予測部753は、符号化対象ブロックの予測セットと所定の方法により求めた前記予測セットに対する予測値それぞれが示す予測セット群が異なる場合、上記予測セット対応表に基づいて、前記予測値を符号化対象ブロックの予測セット群中の予測セットへ修正することで、予測セットの予測精度が高まり、予測セットを表すのに要する符号量を削減することが可能である。
【0650】
(付記事項)
本実施形態では、予め定められた各予測セット群(第1予測セット群、第2予測セット群、第3予測セット群)の構成例が、予測セット数L=3、予測モード数Ki=9(i=0,1,2)である場合について説明したが、これに限定されるものではない。例えば、各予測セット群は、予測セット数L=5、またはL=9であってもよいし、それ以外の自然数であってもよい。また、各予測セット群の予測セット数はそれぞれ異なってもよい。ただし、各予測セット群の構成を変える場合には、それに応じた予測セット対応表を定める必要がある。
【0651】
また、本実施形態における予測セット群選択部15は、符号化済み隣接ブロック中の全サブブロックのイントラ予測の予測方向に基づいて予測セット群の選択を行っているが、これに限定されるものではない。例えば、符号化対象ブロックの周囲にある符号化済み隣接ブロックの予測セットに基づいて予測セット群を選択してもよい。この場合には、水平方向予測セットの出現頻度が高ければ、第2予測セット群を選択し、垂直方向予測セットの出現頻度が高ければ、第3予測セット群を選択し、水平方向予測セットと垂直方向予測セットの出現頻度が同程度であれば、第1予測セット群を選択する。また、符号化対象ブロックの周囲の復号画像よりエッジ方向を算出し、算出したエッジ方向に基づいて予測セット群を選択してもよい。
【0652】
さらに、本実施形態では、予測セット群の切り替え単位をM×M画素ブロックとして、説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)、GOP(Group of Picture)を予測セット群の切り替え単位としてもよい。また、予測セット群の切り替え単位は、予め画像符号化装置、画像復号装置間で取り決めておいてもよい。あるいは画像符号化装置・画像復号装置ではなく外部手段を使って通知することも可能である。
【0653】
(作用効果)
以上のように、画像符号化装置700は、画像を構成する各ブロック単位に、符号化済み隣接ブロック中のイントラ予測の予測方向の出現頻度を算出する。例えば、予測方向の頻度として、水平方向の予測方向の出現頻度数と、垂直方向の予測方向の出現頻度数を算出する。
【0654】
画像符号化装置は、互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群を複数備えている。画像符号化装置は、前記イントラ予測の予測方向の出現頻度の傾向に応じた予測セット群を選択する。例えば、水平方向の予測方向の出現頻度数が高ければ、水平方向の予測を重視した予測セットを多く定めた予測セット群を選択する。また、垂直方向の予測方向の出現頻度数が高ければ、垂直方向の予測を重視した予測セットを多く定めた予測セット群を選択する。また、水平方向/垂直方向の出現頻度数が同程度であれば、水平方向の予測を重視した予測セットと垂直方向の予測を重視した予測セットを同数定めた予測セット群を選択する。
【0655】
そして、前記選択した予測セット群の中より、符号化対象ブロックに最適な予測セットを選択し、前記選択した予測セットを用いて、符号化対象ブロックを符号化する。
【0656】
これにより、画像符号化装置700は、画像の特性に応じた最適な予測セットを用いて、画像を符号化する。したがって、従来よりも多様な角度からの予測が可能になるので、画像の符号量をより減らすことができ、かつ、画質を向上させることができる。
【0657】
また画像符号化装置700は、予測方式を予測セット情報と予測モード情報とにより階層的に表現することによって、予測方式を選択する自由度を高めることができる。これによって、予測方式を表すために必要な符号量の増加を防ぎつつ、予測効率を上げることができる。
【0658】
また、画像符号化装置700は、符号化対象ブロックの予測セットと所定の方法により求めた前記予測セットに対する予測値それぞれが示す予測セット群が異なる場合、上記予測セット対応表に基づいて、前記予測値を符号化対象ブロックの予測セット群中の予測セットへ修正することで、予測セットの予測精度が高まり、予測セットを表すの要する符号量を削減することが可能である。
【0659】
〔実施形態10〕
本発明に係る画像復号装置の他の形態について実施形態10として、
図61〜
図64を参照して以下に説明する。
【0660】
ここで、実施形態2の画像復号装置150は、復号した予測セット情報に基づいて、予め定められた1つの予測セット群(例えば、表2)より、復号対象ブロック(M×M画素ブロック)に用いる予測セットを1つ決定している場合について例示している。本実施形態では、復号済み隣接ブロックの情報(例えば、復号済み隣接ブロック内に含まれるサブブロックに用いられたイントラ予測の予測方向)を利用して、予め定められた複数の予測セット群より1つの予測セット群を、ブロック単位に選択し、選択された予測セット群より、復号した予測セット情報に基づいて、復号対象ブロックに用いる予測セットを1つ決定する画像復号装置について説明する。
【0661】
(画像復号装置750の構成)
本実施形態に係る画像復号装置の構成について、
図61を参照して以下に説明する。
図61は、画像復号装置750の構成を示すブロック図である。画像復号装置750は、
図61に示すように、主として、エントロピー復号部5、逆量子化部6、逆直交変換部7、加算演算部8、メモリ9、予測セット群選択部15、イントラ予測部710、および予測セット情報作成部752を備えている。本実施形態では上記で説明していない予測セット情報作成部755についてのみ以下に説明する。
【0662】
(予測セット情報作成部755)
予測セット情報作成部755は、エントロピー復号部5より入力された復号対象ブロックの相対予測セット情報、予測セット群選択部15より入力された復号対象ブロックの予測セット群情報、予測セット情報作成部755の内部で記憶している復号済み隣接ブロックの予測セット群情報、および予測セット情報に基づいて、復号対象ブロックの予測セット情報を作成し、出力する。
【0663】
予測セット情報作成部755の構成について、
図62を参照して以下に説明する。
図62は、予測セット情報作成部755の構成を示すブロック図である。予測セット情報作成部755は、
図62に示すように、主として、格納部756a、格納部756b、予測セット情報予測部757および予測セット情報生成部758を備えている。各部材について以下に説明する。
【0664】
(格納部756a、756b)
格納部756aおよび756bは、入力情報を一時的に記憶する。格納部756aは、入力された復号対象ブロックの予測セット情報を格納する。また、格納部756bは、予測セット群選択部15より入力された復号対象ブロックの予測セット群情報を格納する。なお、格納された予測セット情報、予測セット群情報は復号対象ブロックより後に復号されるブロックにおける予測セットの予測に利用される。
【0665】
(予測セット情報予測部757)
予測セット情報予測部757は、入力された予測セット群情報と、格納部756a、756bにそれぞれ格納された復号済み隣接ブロックの予測セット群情報、および予測セット情報に基づいて、復号対象ブロックに用いる予測セットの予測値を所定の方法で決定する。そして、決定した予測値を予測セット情報生成部758へ出力する。
【0666】
なお、予測セットの予測値の決定方法は、予測セット情報予測部753と同一であるため、説明を省略する。
【0667】
(予測セット情報生成部758)
予測セット情報生成部758は、実施形態2の予測セット情報生成部521と同一の機能を有している。すなわち、相対予測セット情報生成部758は、入力された相対予測セット情報および予測セット情報予測部757において決定された予測セットの予測値に基づいて、予測セット情報を生成し出力する。
【0668】
(画像復号プロセスの概要)
画像復号装置750における画像復号プロセスの概要について、
図63を参照して以下に説明する。
図63は、画像復号装置750における画像復号プロセスの概要を示すフローチャートである。
【0669】
まず、復号対象ブロックの符号化データを画像復号装置750に入力する(ステップS310)。
【0670】
予測セット群選択部15は、復号済み隣接ブロックの予測セット群および復号済み隣接ブロック中の各サブブロックの予測モード情報に基づいて、復号対象ブロックに用いる予測セット群を選択し、予測セット群情報を予測セット情報作成部755およびイントラ予測部710へ出力する(ステップS311)。
【0671】
エントロピー復号部5は、入力した符号化データ中の復号対象ブロックにおける相対予測セット情報をエントロピー復号し、予測セット情報作成部755へ出力する(ステップS312)。
【0672】
予測セット情報作成部755は、ステップS312でエントロピー復号した相対予測セット情報、ステップS311で選択した予測セット群情報、予測セット情報作成部755の内部に記憶している復号済み隣接ブロックの予測セット群情報および予測セット情報に基づいて、復号対象ブロックの予測セット情報を作成する(ステップS313)。作成した復号対象ブロックの予測セット情報は、予測セット群選択部15およびイントラ予測部710へ出力される。
【0673】
エントロピー復号部5は、さらに所定のブロックサイズ(N×N画素ブロック)に分割した各復号対象サブブロックの予測モード情報をエントロピー復号し、イントラ予測部710へ出力する(ステップS314)。また、復号対象サブブロックの予測残差データの量子化値もエントロピー復号する(ステップS315)。
【0674】
イントラ予測部710は、メモリ9に格納した復号済み隣接サブブロックの局所復号画像を用いて、ステップS311で選択した予測セット群、ステップS313で作成した予測セット情報、およびステップS314でエントロピー復号した予測モード情報により定まるイントラ予測により、復号対象サブブロックの予測画像(N×N画素ブロック)を生成する(ステップ316)。
【0675】
ステップS315において復号した予測残差データは、逆量子化部6、逆直交変換部7の順に入力され、逆量子化・逆直交変換されて、加算演算部8に出力される(ステップS317)。
【0676】
加算演算部8は、ステップS316で生成した予測画像と、ステップS317で逆量子化・逆直交変換した予測残差データとを加算し、復号対象サブブロックの復号画像(N×N画素ブロック)を出力する(ステップS318)。
【0677】
最後に、メモリ9は、ステップS318で生成した復号対象サブブロックの復号画像を記憶する(ステップS319)。
【0678】
なお、画像復号装置750は、復号対象ブロックを構成する全てのサブブロックについてステップS314〜S319の処理を繰り返す。また、復号対象画像を構成する全てのブロックについてステップS310〜S319の処理を繰り返す。
【0679】
本実施形態では、画像復号装置750の復号プロセスをステップS310〜S319の順に説明したが、これに限定されるものではなく、本発明を実施できる範囲において変更可能である。
【0680】
(予測セット情報作成部755の動作プロセス)
予測セット情報作成部755の動作プロセスについて、
図64を用いて説明する。
図64は、予測セット情報作成部755の動作プロセスに関するフローチャートである。
【0681】
まず、予測セット情報予測部757は、復号済み隣接ブロックの予測セット群情報および予測セット情報に基づいて、予測セットの予測値を算出する(ステップS320)。続いて、予測セット情報予測部757は、ステップS320で算出した予測値に関して、予測値の示す予測セット群、および復号対象ブロックの予測セット群に基づいて修正するか否かを判定する(ステップS321)。
【0682】
予測値を修正しない場合(ステップS321においてNo)、予測セット情報予測部757は、予測値を予測セット情報生成部758へ出力する。予測値を修正する場合(ステップS321においてYes)、予測セット情報予測部757は、予測セット対応表に基づいて、ステップS320で算出した予測値を修正し、修正した予測値を予測セット情報生成部758へ出力する(ステップS322)。
【0683】
予測セット情報生成部758は、予測セット情報を、入力した復号対象ブロックの相対予測セット情報、および予測セット情報予測部757より入力した予測値に基づいて生成し、出力する(ステップS323)。
【0684】
最後に、格納部756a、格納部756bは、ステップS323において作成した復号対象ブロックの予測セット情報、および入力された復号対象ブロックの予測セット群情報をそれぞれ記憶する(ステップS324)。
【0685】
以上のように、予測セット情報予測部757は、復号対象ブロックの予測セットと所定の方法により求めた前記予測セットに対する予測値それぞれが示す予測セット群が異なる場合、上記予測セット対応表に基づいて、前記予測値を復号対象ブロックの予測セット群中の予測セットへ修正することで、予測セットの予測精度が高まり、予測セットの復号に要する符号量を削減することが可能である。
【0686】
(付記事項)
本実施形態では、予測セット群選択部15において、復号済み隣接ブロック中の全サブブロックのイントラ予測の予測方向に基づいて、予測セット群の選択を行っているが、これに限定されるものではない。復号対象ブロックの周囲にある復号済み隣接ブロックの予測セットに基づいて予測セット群を選択してもよい。この場合は、水平方向予測セットの出現頻度が高ければ、第2予測セット群を選択し、垂直方向予測セットの出現頻度が高ければ、第3予測セット群を選択し、水平方向予測セットと垂直方向予測セットの出現頻度が同程度であれば、第1予測セット群を選択することが好ましい。また、復号対象ブロックの周囲の復号画像よりエッジ方向を算出し、算出したエッジ方向に基づいて予測セット群を選択してもよい。
【0687】
さらに、本実施形態では、予測セット群の切り替え単位をM×M画素ブロックとして、説明したが、これに限定されるものではない。たとえば、マクロブロック、スライス、ピクチャ(フレーム)、GOP(Group of Picture)を予測セット群の切り替え単位としてもよい。また、予測セット群の切り替え単位は、予め画像符号化装置、画像復号装置間で取り決めておいてもよい。あるいは画像符号化装置・画像復号装置ではなく外部手段を使って通知することも可能である。
【0688】
(作用効果)
以上のように、画像復号装置750は、互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群を複数備えている。
【0689】
画像復号装置750は、画像を構成する各ブロック単位に、復号済み隣接ブロック中のイントラ予測の予測方向の出現頻度を算出する。例えば、予測方向の出現頻度として、水平方向の予測方向の出現頻度数と、垂直方向の予測方向の出現頻度数を算出する。
【0690】
次に、前記イントラ予測の予測方向の出現頻度の傾向に応じた予測セット群を選択する。例えば、水平方向の予測方向の出現頻度数が高ければ、水平方向の予測を重視した予測セットを多く定めた予測セット群を選択する。また、垂直方向の予測方向の出現頻度数が高ければ、垂直方向の予測を重視した予測セットを多く定めた予測セット群を選択する。また、水平方向/垂直方向の出現頻度数が同程度であれば、水平方向の予測を重視した予測セットと垂直方向の予測を重視した予測セットを同数定めた予測セット群を選択する。
【0691】
続いて、画像を構成する各ブロックにおいて、復号対象ブロックに用いる予測セット情報を、予測セット群情報と相対予測セット情報と復号済み隣接ブロックの予測セット情報と予測セット群情報を用いて復号する。
【0692】
最後に、復号対象ブロックをさらに分割したサブブロックごとに、そのサブブロックに隣接するサブブロックの局所復号画像を用いてイントラ予測を行い、サブブロックの予測画像を生成する。そして、生成した予測画像とサブブロックの復号予測残差データを合成し、サブブロックの画像を復元する。
【0693】
これによって、例えば、復号した予測セット情報が水平方向の予測を重視した予測セットを表すときには、水平方向を中心により細かい角度からの予測画像を生成することができる。また、復号した予測セット情報が垂直方向の予測を重視した予測セットを表すときには、垂直方向を中心により細かい角度からの予測画像を生成することができる。したがって、画像復号装置750では、従来よりも多様な角度からの予測を用いた復号処理が可能になるため、より効率良くエッジ部を再現することができる。これによって、画質の向上した画像を復元することができる。
【0694】
また、画像復号装置750では、予測セット群と予測セットと予測モードの3段階で予測することによって、高い予測精度を実現しつつ、符号量の増加を防ぐことが可能である。
【0695】
また画像復号装置750は、復号対象ブロックの予測セットと所定の方法により求めた前記予測セットに対する予測値それぞれが示す予測セット群が異なる場合、上記予測セット対応表に基づいて、前記予測値を復号対象ブロックの予測セット群中の予測セットへ修正することで、予測セットの予測精度が高まり、予測セットの復号に要する符号量を削減することが可能である。
【0696】
(プログラムおよび記録媒体)
最後に、画像符号化装置100、200、500、500b、600、600bおよび700ならびに画像復号装置150、250、550、550b、650、650bおよび750の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
【0697】
すなわち、画像符号化装置100、200、500、500b、600、600bおよび700ならびに画像復号装置150、250、550、550b、650、650bおよび750は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラ
ムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである画像符号化装置100、200、500、500b、600、600bおよび700ならびに画像復号装置150、250、550、550b、650、650bおよび750の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記画像符号化装置100、200、500、500b、600、600bおよび700ならびに画像復号装置150、250、550、550b、650、650bおよび750に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0698】
上記記録媒体としては、たとえば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM(登録商標)/フラッシュROM等の半導体メモリ系などを用いることができる。
【0699】
また、画像符号化装置100、200、500、500b、600、600bおよび700ならびに画像復号装置150、250、550、550b、650、650bおよび750を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、たとえば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、たとえば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【0700】
本発明は、上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0701】
(付記事項)
なお、本発明は、以下のように記載することもできる。
【0702】
(第1の構成)
画像を符号化する画像符号化装置であって、
上記画像を構成する各画像から、当該画像のエッジのうち少なくともエッジ方向に関するエッジ情報を算出する算出手段と、
互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群から、上記算出されたエッジ情報に応じた予測セットを選択する選択手段と、
上記選択された予測セットを用いて上記画像を符号化する符号化手段とを備えていることを特徴とする画像符号化装置。
【0703】
上記の構成によれば、画像符号化装置は、画像を構成する各画像から、当該画像のエッジのうち少なくともエッジ方向に関するエッジ情報を算出する。たとえばエッジ情報として、画像のエッジ方向、エッジ強度、あるいはこれらの分布情報を算出する。画像符号化装置は、互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群から、算出したエッジ情報に応じた予測セットを選択する。そして、選択した予測セットを用いて画像を符号化する。たとえば、エッジ情報が水平方向のエッジ方向を表しているなら、水平方向の予測を重視した予測セットを用いて画像を符号化する。一方、エッジ情報が垂直方向のエッジを表しているのであれば、垂直方向の予測を重視した予測セットを用いて符号化する。
【0704】
以上のように、画像符号化装置は、画像のエッジ情報に応じた最適な予測セットを用いて、画像を符号化する。したがって、従来よりも細かい角度からの予測が可能になるので、画像の予測残差データに関する符号量をより減らすことができ、かつ、画質を向上させることができる。
【0705】
(第2の構成)
上記画像を所定単位のブロックに分割する分割手段をさらに備え、
上記算出手段は、上記ブロックごとに上記エッジ情報を算出し、
上記選択手段は、上記ブロックごとに、上記算出したエッジ情報に応じた上記予測セットを選択し、
上記符号化手段は、上記予測セットを表す情報を符号化するとともに、上記ブロックごとに選択された上記予測セットを用いて、当該ブロックを符号化することを特徴とする第1の構成に記載の画像符号化装置。
【0706】
上記の構成によれば、画像符号化装置は、画像を構成する所定単位の各ブロックを符号化する。このとき、ブロックごとに、当該ブロックのエッジ情報に応じた予測セットを用いる。たとえば、1枚の画像のうち、水平方向のエッジを多く持つブロックは、水平方向の予測を重視した予測セットを用いて符号化する。一方、同じ画像のうち、垂直方向のエッジを多く持つブロックは、垂直方向の予測を重視した予測セットを用いて符号化する。
【0707】
以上により、画像符号化装置は、画質をさらに高めることができる。
【0708】
(第3の構成)
上記ブロックを複数のサブブロックに分割するブロック分割手段をさらに備え、
上記エッジ情報は、上記サブブロックごとに、当該サブブロックのエッジ方向を表す上記エッジ情報を算出し、
上記選択手段は、上記複数の予測セットのうち、上記予測セットを構成する予測モードが表す予測方向と、上記ブロック内の全サブブロックの上記エッジ方向との類似度が最小になる予測セットを選択することを特徴とする第2の構成に記載の画像符号化装置。
【0709】
上記の構成によれば、画像符号化装置は、画像を構成するブロックを、さらに複数のサブブロックに分割する。また、得られたサブブロックごとに、当該サブブロックのエッジ方向を表すエッジ情報を算出する。つまり、ブロックに含まれる複数のエッジ方向を求める。そして、画像符号化装置は、複数の予測セットのうち、予測セットを構成する予測モードが表す予測方向と、ブロック内の全サブブロックの上記エッジ方向との類似度が最小になる予測セットを選択する。
【0710】
以上の処理によって、画像符号化装置は、複数の予測セットのうち、ブロックの符号化に最も適した予測セットを算出できる。したがって、画像の符号量の削減と画質の向上とを最大限に高めることができる。
【0711】
(第4の構成)
画像を符号化する画像符号化装置であって、
上記画像を構成する各画像から、当該画像のエッジのうち少なくともエッジ方向に関するエッジ情報を算出する算出手段と、
予測セットを構成する複数の予測モードに応じた各予測方向を、上記算出したエッジ情報に応じて決定する決定手段と、
上記決定された予測セットを用いて上記画像を符号化する符号化手段とを備えていることを特徴とする画像符号化装置。
【0712】
上記の構成によれば、画像符号化装置は、画像を構成する各画像から、当該画像のエッジのうち少なくともエッジ方向に関するエッジ情報を算出する。たとえばエッジ情報として、画像のエッジ方向、エッジ強度、あるいはこれらの分布情報を算出する。画像符号化装置は、予測セットを構成する複数の予測モードの各予測方向を、算出したエッジ方向に応じて決定する。たとえば、エッジ情報が水平方向のエッジ方向を表しているなら、水平方向の予測を重視した予測方向を決定する。これにより、水平方向の予測に適した予測セットを用いて画像を符号化する。一方、エッジ情報が垂直方向のエッジを表しているなら、垂直方向の予測を重視した予測方向を定義したセットを用いて符号化する。これにより、垂直方向の予測に適した予測セットを用いて画像を符号化する。
【0713】
以上のように、画像符号化装置は、画像のエッジ情報に応じた最適な予測セットを用いて、画像を符号化する。したがって、従来よりも細かい角度からの予測が可能になるので、画像の符号量をより減らすことができ、かつ、画質を向上させることができる。
【0714】
(第5の構成)
上記画像を所定単位のブロックに分割する分割手段をさらに備え、
上記算出手段は、上記ブロックごとに上記エッジ情報を算出し、
上記選択手段は、上記ブロックごとに、上記予測セットの予測方向を決定し、
上記符号化手段は、上記予測セットの予測方向を表す情報を符号化するとともに、上記ブロックごとに予測方向が決定された上記予測セットを用いて、当該ブロックを符号化することを特徴とする第4の構成に記載の画像符号化装置。
【0715】
上記の構成によれば、画像符号化装置は、画像を構成する所定単位の各ブロックを符号化する。このとき、ブロックごとに、当該ブロックのエッジ情報に応じた予測セットを用いる。たとえば、1枚の画像のうち、水平方向のエッジを多く持つブロックは、水平方向の予測を重視した予測セットを用いて符号化する。一方、同じ画像のうち、垂直方向のエッジを多く持つブロックは、垂直方向の予測を重視した予測セットを用いて符号化する。
【0716】
以上により、画像符号化装置は、画質をさらに高めることができる。
【0717】
(第6の構成)
上記決定手段は、上記ブロックに含まれる複数のエッジ方向に関する、エッジ方向と当該エッジ方向の累積確率との関係を表すヒストグラムを算出し、当該ヒストグラムにおいて累積確率の差が均等になる複数のエッジ方向を、それぞれ、予測セットの予測方向として決定することを特徴とする第4または5の構成に記載の画像符号化装置。
【0718】
上記の構成によれば、画像符号化装置は、符号化対象のブロックに含まれる複数のエッジ方向に関する、エッジ方向と、当該エッジ方向の累積確率との関係を表すヒストグラムを算出する。そして、算出したヒストグラムにおいてエッジ方向の累積確率の差が均等になる複数のエッジ方向を、それぞれ、予測セットの予測方向として決定する。これにより、たとえば1つのブロック内においてエッジ方向が水平方向に多く集中していた場合、決定する予測方向も水平に近いものが多くなる。逆に、1つのブロック内においてエッジ方向が垂直方向に多く集中していた場合、決定する予測方向も垂直方向近辺のものが多くなる。
【0719】
したがって画像符号化装置は、ブロックに含まれるエッジ方向の予測に最適化した予測セットを用いて、ブロックを符号化できる。これにより、ブロックの符号量の削減および画質の向上を、最大限に高めることができる。
【0720】
(第7の構成)
画像を符号化する画像符号化方法であって、
上記画像を構成する各画像から、当該画像のエッジのうち少なくともエッジ方向に関するエッジ情報を算出する算出ステップと、
互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群から、上記算出されたエッジ情報に応じた予測セットを選択する選択ステップと、
上記選択された予測セットを用いて上記画像を符号化する符号化ステップとを備えていることを特徴とする画像符号化方法。
【0721】
上記の構成によれば、第1の構成と同様の作用効果を奏する。
【0722】
(第8の構成)
画像を符号化する画像符号化方法であって、
上記画像を構成する各画像から、当該画像のエッジのうち少なくともエッジ方向に関するエッジ情報を算出する算出ステップと、
予測セットを構成する複数の予測モードの各予測方向を、上記算出したエッジ方向に応じて決定する決定ステップと、
上記決定された予測セットを用いて上記画像を符号化する符号化ステップとを備えていることを特徴とする画像符号化方法。
【0723】
上記の構成によれば、第4の構成と同様の作用効果を奏する。
【0724】
(第9の構成)
第1から6の構成のいずれか1つに記載の画像符号化装置によって符号化された画像を復号する画像復号装置であって、
上記符号化手段が上記画像の符号化に用いた予測セットを用いて、上記画像を復号する復号手段を備えていることを特徴とする画像復号装置。
【0725】
上記の構成によれば、画像復号装置は、画像のエッジ情報に応じた最適な符号化された予測セットを用いて、画像符号化データを復号する。
【0726】
したがって画像復号装置は、画質の向上を実現した画像を得られる。
【0727】
また、画像復号装置は、符号化された画像を復号する際の予測残差データの復号処理量の削減を実現できる。
【0728】
(第10の構成)
第7または8の構成に記載の画像符号化方法によって符号化された画像を復号する画像復号方法であって、
上記符号化ステップにおいて上記画像の符号化に用いた予測セットを用いて、上記画像を復号する復号ステップを備えていることを特徴とする画像復号方法。
【0729】
上記の構成によれば、第9の構成と同様の作用効果を奏する。
【0730】
(第11の構成)
第1から6の構成のいずれか1つに記載の画像符号化装置、または第9の構成に記載の画像復号装置を動作させるプログラムであって、コンピュータを上記の各手段として機能させるためのプログラム。
【0731】
(第12の構成)
第11の構成に記載の各プログラムを記録しているコンピュータ読み取り可能な記録媒体。
【0732】
本発明の画像符号化装置は、互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群から、予測セットを選択する選択手段と、上記選択された予測セットを用いて上記画像を符号化する符号化手段とを備えているため、より細かい角度からの予測を可能とし、予測効率が向上し、予測残差データの符号量を削減させることができる効果を奏する。
【0733】
本発明の画像符号化装置は、互い異なる予測方向に応じた予測モードを複数含む予測セットを少なくとも1つ備え、上記予測セットより当該サブブロックに用いる予測モードを選択する選択手段と、上記選択された予測モードを用いて上記サブブロックの画像を符号化する符号化手段と、当該サブブロックに隣接する符号化済みサブブロックの予測モード情報、あるいは符号化済みサブブロックの復号画像から、当該サブブロックと相関の高い符号化済み隣接サブブロックを選択する選択手段と、上記選択した符号化済みサブブロックの予測モード情報に基づき、前記選択された予測モードを符号化する符号化手段を備えているため、予測モードを表すのに要する符号量を削減させることができる効果を奏する。
【0734】
また、本発明に係る画像復号装置は、互いに異なる予測方向に応じた予測モードを複数含む予測セットであって、当該予測モードの組み合わせが互いに異なる予測セットが複数集まった予測セット群から、当該ブロックに用いるに予測セットを表す情報を復号する復号手段と、上記復号された予測セットを用いて上記ブロックの画像を復号する復号手段とを備えているため、より細かい角度から画像の特定方向のエッジ成分を効率良く復元することを可能とし、画質の向上を実現できる効果を奏する。
【0735】
本発明の画像復号装置は、互い異なる予測方向に応じた予測モードを複数含む予測セットを少なくとも1つ備え、当該サブブロックに隣接する復号済みサブブロックの予測モード情報、あるいは復号済みサブブロックの復号画像から、当該サブブロックと相関の高い復号済み隣接サブブロックを選択する選択手段と、前記選択した復号済みサブブロックの予測モード情報に基づき、前記予測セットより当該サブブロックに用いる予測モードを復号する復号手段と、上記復号された予測モードを用いて上記サブブロックの画像を復号する復号手段を備えているため、予測モードを復号するのに要する符号量を削減させることができる効果を奏する。
【0736】
発明の詳細な説明の項においてなされた具体的な実施形態または実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と次に記載する請求の範囲内で、いろいろと変更して実施することができるものである。