"ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化装置であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部と、符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部と、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出する予測方向差算出部と、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定する優先予測モード決定部と、前記符号化対象ブロックの画面内予測モードを符号化するために、予測方向差に応じてあらかじめ用意された複数の符号化木の中から、算出された前記予測方向差に応じて、前記少なくとも一つの優先予測モードに対して他の予測モードよりも短い符号長の符号列が割り当てられた一つの符号化木を選択する符号化木選択部と、選択された符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する符号化部とを備えることを特徴とする画像符号化装置。前記優先予測モード決定部は、前記参照ブロックの画面内予測モードと同一の画面内予測モードに加え、前記参照ブロックの画面内予測モードの予測方向に隣接した予測方向を持つ画面内予測モードを優先予測モードとすることを特徴とする請求項1に記載の画像符号化装置。前記優先予測モード決定部は、前記予測方向差の所定の上限値を持ち、前記予測方向差が前記上限値よりも大きい場合は、前記予測方向差の値を前記上限値に置き換えることを特徴とする請求項1または2に記載の画像符号化装置。ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化方法であって、符号化対象ブロックの画面内予測モードを選択するステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出するステップと、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定するステップと、前記符号化対象ブロックの画面内予測モードを符号化するために、予測方向差に応じてあらかじめ用意された複数の符号化木の中から、算出された前記予測方向差に応じて、前記少なくとも一つの優先予測モードに対して他の予測モードよりも短い符号長の符号列が割り当てられた一つの符号化木を選択するステップと、選択された符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとを備えることを特徴とする画像符号化方法。ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化プログラムであって、符号化対象ブロックの画面内予測モードを選択するステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出するステップと、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定するステップと、前記符号化対象ブロックの画面内予測モードを符号化するために、予測方向差に応じてあらかじめ用意された複数の符号化木の中から、算出された前記予測方向差に応じて、前記少なくとも一つの優先予測モードに対して他の予測モードよりも短い符号長の符号列が割り当てられた一つの符号化木を選択するステップと、選択された符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとをコンピュータに実行させることを特徴とする画像符号化プログラム。ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化装置であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部と、符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部と、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出する予測方向差算出部と、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定する優先予測モード決定部と、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出する優先予測モード判定フラグ算出部と、前記優先予測モードを符号化するために、あらかじめ用意された複数の優先予測モード符号化木の中から、決定された前記優先予測モードの総数に応じて、一つの優先予測モード符号化木を選択する優先予測モード符号化木選択部と、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化する優先予測モード判定フラグ符号化部と、前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、選択された前記優先予測モード符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する優先予測モード符号化部と、前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する非優先予測モード符号化部とを備えることを特徴とする画像符号化装置。前記優先予測モード決定部は、前記参照ブロックの画面内予測モードと同一の画面内予測モードに加え、前記参照ブロックの画面内予測モードの予測方向に隣接した予測方向を持つ画面内予測モードおよび平均値モードの内の少なくとも一方を優先予測モードとすることを特徴とする請求項6に記載の画像符号化装置。前記非優先予測モード符号化部は、前記優先予測モードの総数に基づき非優先予測モードの符号割当を切り替えることを特徴とする請求項6または7に記載の画像符号化装置。ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化方法であって、符号化対象ブロックの画面内予測モードを選択するステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出するステップと、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出するステップと、前記優先予測モードを符号化するために、あらかじめ用意された複数の優先予測モード符号化木の中から、決定された前記優先予測モードの総数に応じて、一つの優先予測モード符号化木を選択するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、選択された前記優先予測モード符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップと、前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとを備えることを特徴とする画像符号化方法。ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化プログラムであって、符号化対象ブロックの画面内予測モードを選択するステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出するステップと、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出するステップと、前記優先予測モードを符号化するために、あらかじめ用意された複数の優先予測モード符号化木の中から、決定された前記優先予測モードの総数に応じて、一つの優先予測モード符号化木を選択するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、選択された前記優先予測モード符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップと、前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとをコンピュータに実行させることを特徴とする画像符号化プログラム。一般に、イントラ予測では、画像の符号化対象ブロックに隣接するブロックのイントラ予測モードと同一のイントラ予測モードが符号化対象ブロックにおいても選択される可能性が高いと仮定したイントラ予測モードの発生確率モデルを前提にイントラ予測モードを符号化している。しかし、現実的にはブロック毎にイントラ予測モードの発生分布は異なるため、すべてのブロックに対し常に同一の確率モデルを設定した符号化ではイントラ予測モードのさらなる効率的な符号化を達成することは難しい。特許文献1の方法は、各ブロックの画面内予測モードの発生頻度を考慮したものではないから、上述の課題は依然として解決されない。本発明はこうした状況に鑑みてなされたものであり、その目的は、イントラ予測モードの発生符号量を削減し、符号化効率をより一層向上させることのできる画像符号化技術を提供することにある。上記課題を解決するために、本発明のある態様の画像符号化装置は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化装置であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部509と、符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部601と、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出する予測方向差算出部604と、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定する優先予測モード決定部603と、前記符号化対象ブロックの画面内予測モードを符号化するために、予測方向差に応じてあらかじめ用意された複数の符号化木の中から、算出された前記予測方向差に応じて、前記少なくとも一つの優先予測モードに対して他の予測モードよりも短い符号長の符号列が割り当てられた一つの符号化木を選択する符号化木選択部605と、選択された符号化木にしたがって前記符号化対象ブロックの画面内予測モードを符号化する符号化部606とを備える。本発明の別の態様は、画像符号化方法である。この方法は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化方法であって、符号化対象ブロックの画面内予測モードを選択するステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出するステップと、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定するステップと、前記符号化対象ブロックの画面内予測モードを符号化するために、予測方向差に応じてあらかじめ用意された複数の符号化木の中から、算出された前記予測方向差に応じて、前記少なくとも一つの優先予測モードに対して他の予測モードよりも短い符号長の符号列が割り当てられた一つの符号化木を選択するステップと、選択された符号化木にしたがって前記符号化対象ブロックの画面内予測モードを符号化するステップとを備える。本発明のさらに別の態様は、画像符号化装置である。この装置は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化装置であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部509と、符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部2601と、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出する予測方向差算出部2610と、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定する優先予測モード決定部2602と、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出する優先予測モード判定フラグ算出部2603と、前記優先予測モードを符号化するために、あらかじめ用意された複数の優先予測モード符号化木の中から、決定された前記優先予測モードの総数に応じて、一つの優先予測モード符号化木を選択する優先予測モード符号化木選択部2606と、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化する優先予測モード判定フラグ符号化部2604と、前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、選択された前記優先予測モード符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する優先予測モード符号化部2606と、前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する非優先予測モード符号化部2608とを備える。本発明のさらに別の態様は、画像符号化方法である。この方法は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化方法であって、符号化対象ブロックの画面内予測モードを選択するステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を算出するステップと、前記予測方向差の算出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの少なくとも一つの優先予測モードを決定するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出するステップと、前記優先予測モードを符号化するために、あらかじめ用意された複数の優先予測モード符号化木の中から、決定された前記優先予測モードの総数に応じて、一つの優先予測モード符号化木を選択するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、選択された前記優先予測モード符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップと、前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとを備える。なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。本発明によれば、イントラ予測モードの発生符号量を削減し、符号化効率を向上させることができる。まず、本発明の実施の形態の前提となる技術を説明する。以下の説明において、処理対象ブロックとは、画像符号化装置による符号化処理の場合は、符号化対象ブロックのことであり、画像復号装置による復号処理の場合は、復号対象ブロックのことである。既処理ブロックとは、画像符号化装置による符号化処理の場合は、符号化済みの復号されたブロックのことであり、画像復号装置による復号処理の場合は、復号済みのブロックのことである。以下、断りのない限り、この意味で用いる。[符号化木]図3は、図1の9パターンのイントラ予測モードを符号化するための符号化木を説明する図である。MPEG-4AVCにおけるイントラ予測モードの伝送方法は、図3aの符号301に示す符号化木に従う。図中、内部節点円は符号を、葉四角はイントラ予測のモード番号を割り当てる。葉のうち符号302は優先予測モードである。優先予測モードについては後述する。例えば、優先予測モードに対しては1が、モード7に対しては符号0111が割り当てられる。図4は、図3の符号化木に従いイントラ予測モードを伝送するための符号化構文を説明する図である。図4a、bに示すprev_intra_pred_flagは優先予測モードかどうかを特定する構文要素、rem_intra_pred_modeはモード番号を表す構文要素である。復号時にはまず1ビットのprev_intra_pred_flagを符号化系列から読み出し、prev_intra_pred_flagが1であるときにはイントラ予測モードを優先予測モードと設定し次の構文へ移る。そうでないときはさらに3ビットのprev_intra_pred_flagの読み出しを行い、イントラ予測モードをrem_intra_pred_modeが示す予測モードとして設定する。図2の17パターンのイントラ予測モードを符号化するためには、図3bの符号303で示す符号化木に従い、同様の伝送方法を用いることができる。[優先予測モード]優先予測モードを決定するために、処理対象ブロックに隣接する既処理隣接ブロックを参照する。既処理隣接ブロックは、処理対象ブロックの左側に隣接しかつ最も上側に位置するブロック参照ブロックAと呼ぶと、処理対象ブロックの上側に隣接しかつ最も左側に位置するブロック参照ブロックBと呼ぶとする。既処理隣接参照ブロックの例について図18を用いて説明する。図中の処理対象ブロック1801に対し空間的に上側または/および左側に位置するブロック符号1802から1811はすべて既処理であり、そうでないブロック符号1812から1815は未処理となる。処理対象ブロック1801の左側に隣接するブロックはブロック1807とブロック1809の2つであるが、そのうち上側に位置するブロック1807を参照ブロックAとする。また処理対象ブロック1801の上側に隣接するブロックはブロック1803のみであり、このブロック1803を参照ブロックBとする。参照ブロックA、参照ブロックBのイントラ予測モード番号をそれぞれmodeIdxA,modeIdxBとするとき、処理対象ブロックの優先予測モードのインデックスmpmIdxを以下の式で表す。mpmIdx=minmodeIdxA,modeIdxBすなわち優先予測モードは参照ブロックのイントラ予測モードのどちらかと一致する。[優先予測モードと符号化木の関係]図3の符号化木は、優先予測モードに対しては1ビットの符号を、そうでないモードには一様に13=4ビットの符号を割り当てるものであり、次の確率モデルに従うものである。pmpm≧0.5,ただしmpmは優先モードを表す。pm=0.0625=1-pmpm/8,ただしm≠mpmしかしながら実際のイントラ予測モードの発生頻度の統計をとると優先予測モードの発生確率は平均pmpm=0.2程度であり、図3の符号化木は必ずしも現実のイントラ予測モードの発生分布に即したものであるとは言えない。図3の符号化木を用いた場合の統計上の優先予測モードの発生確率に従う平均発生符号量の期待値bitsfactは、bitsfact=3.4=0.2×10.8×4ビットである。一方、pmpm=0.2と仮定して最適な符号化木を設計した場合の平均発生符号量の期待値bitsoptを算出すると、bitsopt=3.2ビットであり、平均発生符号量の見積もりからも図3の符号化木が最適ではないことが分かる。上記手法は隣接ブロックのイントラ予測モードと一致するイントラ予測モードの大域的な発生確率に基づく確率モデルを設定するものである。現実的には各ブロックにおいてイントラ予測モードの発生分布は異なり、それぞれに適切な確率モデルが設定できると考えられる。しかしながら上記手法はすべてのブロックに対し常に同一の確率モデルを設定するためにやはり効率的な符号化がなされているとは言えない。適切な確率モデルを設定することのみを考慮するのであれば、例えば全ての参照ブロックのイントラ予測モードを取得し、そのすべての組合せに対してそれぞれ異なる適切な確率モデルを設定することも可能である。しかしながら複数の予測モードの組合せの数は予測モード数に対し指数関数的に増加するため、そのような手法は処理の複雑化と言う観点からは現実的な解とは言えない。ところでイントラ予測は既復号サンプル値を指定された予測方向に複製するものであり、予測方向に沿う周波数成分はすべて失われる一方、予測方向に直交する方向の周波数成分は保存される。そのため、特徴的な周波数成分を有する画像に対しては、その周波数成分をできる限り反映できるイントラ予測モードを選択することが適切である。言い換えると画像とイントラ予測モードとの間に相関があると言え、イントラ予測モードの選択に際し、以下の性質を利用できる。1予測方向が近いイントラ予測は、類似した予測画像を導出する。対象画像が微小な変化を伴うときは、微小な変化を表現するイントラ予測モードが適切となり、方向が近いイントラ予測モードの発生確率は高くなる。2隣接ブロックのイントラ予測の予測方向が互いに近い場合、隣接ブロック間の画像相関が高いと考えられる。そのとき、処理対象ブロックの画像も隣接ブロックとの相関が高い可能性が高く、処理対象ブロックのイントラ予測の予測方向は、隣接ブロックの予測方向の周辺方向に特に集中しやすい。3隣接ブロックのイントラ予測の予測方向が互いに遠い場合、隣接ブロック間の画像相関が低いと考えられる。そのときは、隣接ブロックのイントラ予測の予測方向が互いに近い場合に比べ、処理対象ブロックの画像と隣接ブロックとの相関が低くなる傾向にあり、処理対象ブロックのイントラ予測の予測方向は、隣接ブロックの予測方向の周辺方向へ集中しにくくなる。本実施の形態では、この性質に鑑み、確率モデルに応じた符号化木を複数用意し、参照ブロックのイントラ予測モードの予測方向差に応じて確率モデルの切り替えを行うことにより、符号化木の増加に伴う符号化処理の複雑化を制限した上で、イントラ予測モードの発生符号量削減を実現し、符号化効率を向上させる。[符号化装置]本発明を実施する好適な画像符号化装置について図面を参照して説明する。図5は実施の形態に係る画像符号化装置の構成を示すブロック図である。実施の形態の画像符号化装置は、減算部501と、直交変換量子化部502と、逆量子化逆変換部503と、加算部504と、復号画像メモリ505と、イントラ予測部506と、テクスチャ情報符号化部507と、イントラ予測モード符号化部508と、イントラ予測モード選択部509とを備える。本発明の実施の形態は画面内予測に注目したものであるため、画面間予測に関連する構成要素については図示せず、説明を省略する。イントラ予測モード選択部509は、画像のブロック毎に最適なイントラ予測モードを選択し、選択されたイントラ予測モードをイントラ予測部506と、イントラ予測モード符号化部508に与える。イントラ予測モード符号化部508は、入力されたイントラ予測モードを可変長符号化してイントラ予測モードビットストリームを出力する。イントラ予測モード符号化部508の詳細な構成と動作については後述する。イントラ予測部506は、入力されたイントラ予測モードと、復号画像メモリ505に記憶した隣接ブロックの既復号画像を用いてイントラ予測画像を生成し、生成したイントラ予測画像を減算部501へ与える。減算部501は、符号化対象の原画像からイントラ予測画像を減ずることにより差分画像を生成し、生成した差分信号を直交変換量子化部502に与える。直交変換量子化部502は、差分画像に対し直交変換量子化をしてテクスチャ情報を生成し、生成したテクスチャ情報を逆量子化逆変換部503とテクスチャ情報符号化部507に与える。テクスチャ情報符号化部507は、テクスチャ情報をエントロピー符号化してテクスチャ情報ビットストリームを出力する。逆量子化逆変換部503は、直交変換量子化部502から受け取ったテクスチャ情報に対し逆量子化逆直交変換をして復号差分信号を生成し、生成した復号差分信号を加算部504に与える。加算部504は、イントラ予測画像と復号差分信号を加算して復号画像を生成し、生成した復号画像を復号画像メモリ505に格納する。[復号装置]本発明を実施する好適な画像復号装置について図面を参照して説明する。図8は実施の形態に係る画像復号装置の構成を示すブロック図である。実施の形態の画像復号装置は、テクスチャ情報復号部801と、逆量子化逆変換部802と、イントラ予測モード復号部803と、加算部804と、復号画像メモリ805と、イントラ予測部806とを備える。本発明の実施の形態は画面内予測に注目したものであるため、画面間予測に関連する構成要素は図示せず、説明を省略する。図8の画像復号装置の復号処理は、図5の画像符号化装置の内部に設けられている復号処理に対応するものであるから、図8の逆量子化逆変換部802、加算部804、復号画像メモリ805、およびイントラ予測部806の各構成は、図5の画像符号化装置の逆量子化逆変換部503、加算部504、復号画像メモリ505、およびイントラ予測部506の各構成とそれぞれ対応する機能を有する。イントラ予測モード復号部803は、入力されたイントラ予測モードビットストリームをエントロピー復号してイントラ予測モードを生成し、生成したイントラ予測モードをイントラ予測部806に与える。イントラ予測モード復号部803の詳細な構成と動作については後述する。イントラ予測部806は、入力されたイントラ予測モードと、復号画像メモリ805に記憶した隣接ブロックの既復号画像を用いてイントラ予測画像を生成し、生成したイントラ予測画像を加算部804へ与える。テクスチャ情報復号部801は、テクスチャ情報をエントロピー復号してテクスチャ情報を生成する。生成したテクスチャ情報を逆量子化逆変換部802に与える。逆量子化逆変換部802は、テクスチャ情報復号部801から受け取ったテクスチャ情報に対し逆量子化逆直交変換をして復号差分信号を生成し、生成した復号差分信号を加算部804に与える。加算部804は、イントラ予測画像と復号差分信号を加算して復号画像を生成し、生成した復号画像を復号画像メモリ805に格納し、出力する。本発明の実施の形態に係るイントラ予測モード符号化及び復号処理は、図5の動画像符号化装置のイントラ予測モード符号化部508及び図8の動画像復号装置のイントラ予測モード復号部803において実施される。以下、実施の形態に係るイントラ予測モード符号化及び復号処理の詳細を説明する。[符号化ブロック]実施の形態では、図18で示されるように、画面を矩形ブロックにて階層的に分割するとともに、各ブロックに対し所定の処理順による逐次処理を行う。分割する各ブロックを符号化ブロックとよぶ。図18のブロック1817は、実施の形態において分割の最大単位であり、これを最大符号化ブロックとよぶ。図18のブロック1816は、実施の形態において分割の最小単位であり、これを最小符号化ブロックとよぶ。以下最小符号化ブロックを4×4画素、最大符号化ブロックを16×16画素として説明を行う。[予測ブロック]符号化ブロックのうち、イントラ予測を行う単位を予測ブロックと呼ぶ。予測ブロックは最小符号化ブロック以上、最大符号化ブロック以下のいずれかの大きさを持つ。図18ではブロック1802、1803、および1804が16×16ブロック、ブロック1805、1810、1811、および1801が8×8ブロック、ブロック1806、1807、1808、1809が4×4ブロックである。ブロック1812、1813、1814、1815は未処理ブロックであり、符号化ブロックサイズが確定していない。符号化手順においては最適な予測ブロックサイズを決定し、予測ブロックサイズを伝送する。復号手順においてはビットストリームより予測ブロックサイズを取得する。以下、予測ブロックを処理単位として説明を行う。[予測ブロックサイズとイントラ予測モード]予測ブロックのサイズに応じて、イントラ予測モードの構成を切り替える。4×4ブロックでは図2aの符号201に示す17パターンのイントラ予測モードを定義し、8×8ブロックと16×16ブロックに対しては、図2bの符号202に示す34パターンのイントラ予測モードを定義する。これは、小さいサイズの予測ブロックに対して過剰なパターン数のイントラ予測モードを定義しても、発生符号量の増加に見合うだけの品質向上が得られないためである。[参照ブロックと参照イントラ予測モード]参照ブロックは、処理対象ブロックの左側に隣接しかつ最も上側に位置するブロックであるブロックAと、処理対象ブロックの上側に隣接しかつ最も左側に位置するブロックであるブロックBである。ブロックAの予測モードをrefModeA、ブロックBの予測モードをrefModeBとする。各参照ブロックのイントラ予測モードを参照イントラ予測モードと呼ぶ。参照ブロックが存在しないときの参照イントラ予測モードは直流予測モード平均値モードともいうに設定する。第1の実施例[符号化手順]本発明の実施の形態に係るイントラ予測モードの符号化方法の第1の実施例を説明する。図6は図5のイントラ予測モード符号化部508の第1の実施例の詳細な構成のブロック図である。第1の実施例のイントラ予測モード符号化部508は、イントラ予測モードメモリ601、参照モード決定部602、優先モード決定部603、予測方向差算出部604、符号化木選択部605、及び可変長符号化部606を備える。以下、図7のフローチャートも参照しながら、イントラ予測モードの符号化手順を説明する。イントラ予測モードメモリ601には、イントラ予測モード選択部509から入力されるイントラ予測モードが格納されて記憶される。参照モード決定部602は、イントラ予測モードメモリ601から符号化対象ブロックに隣接する符号化済みの参照ブロックのイントラ予測モードを取得し、参照イントラ予測モードを決定するステップS701。参照イントラ予測モード決定手順の詳細については後述する。予測方向差算出部604は、参照モード決定部602から参照イントラ予測モードを取得し、予測方向差を算出するステップS702。予測方向差算出手順の詳細については後述する。優先モード決定部603は、予測方向差算出部604から予測方向差を取得し、また参照モード決定部602から参照イントラ予測モードを取得する。優先モード決定部603は、取得した予測方向差と参照イントラ予測モードを元に優先モードを決定するステップS703。優先モード決定手順の詳細については後述する。符号化木選択部605は、予測方向差算出部604から予測方向差を取得し、予測方向差に応じて符号化木を決定するステップS704。符号化木選択手順の詳細については後述する。可変長符号化部606は、符号化対象ブロックのイントラ予測モードの入力を受け、また優先モード決定部603から優先モードを、符号化木選択部605から符号化木を取得する。可変長符号化部606は、符号化対象ブロックのイントラ予測モードに対して優先モードと符号化木を用いて可変長符号化を行うステップS705。可変長符号化部606は、生成したビット系列を出力し、一連のイントラ予測モードの符号化処理を終了する。[参照イントラ予測モード決定手順]図7のステップS701の参照イントラ予測モード決定手順の詳細を図11のフローチャートを参照して説明する。図6の参照モード決定部602は、イントラ予測モードメモリ601から符号化対象ブロックに隣接する参照ブロックのイントラ予測モードを取得する。符号化対象ブロックの左に隣接する参照ブロックAのイントラ予測モードと符号化対象ブロックのイントラ予測モードのパターン数を比較するステップS1101。符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックAのイントラ予測モードのパターン数以上である場合、参照ブロックAのイントラ予測モードをそのまま参照モードAとするステップS1102。符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックAのイントラ予測モードのパターン数より小さい場合、参照モードの変換を行うステップS1103。参照モードの変換については後述する。符号化対象ブロックの上に隣接する参照ブロックBのイントラ予測モードと符号化対象ブロックのイントラ予測モードのパターン数を比較するステップS1104。符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックBのイントラ予測モードのパターン数以上である場合、参照ブロックBのイントラ予測モードをそのまま参照モードBとするステップS1105。符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックBのイントラ予測モードのパターン数より小さい場合、参照モードの変換を行うステップS1106。参照モードの変換について説明する。参照モードの変換を実施するのは図19で示すように、符号化対象ブロック1901に比べて、参照ブロックA1902、参照ブロックB1901のサイズが大きい場合である。ここで、符号化対象ブロック1901は4×4画素ブロックであり、参照ブロックA1902と参照ブロックB1903は8×8画素ブロックである。符号化対象ブロック1901に対しては図2aの符号201で示す17パターンのイントラ予測モードが定義されている。参照ブロックA1902と参照ブロックB1903に対しては図2bの符号202に示す34パターンのイントラ予測モードが定義されている。このように、符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックのイントラ予測モードのパターン数より小さい場合、符号化対象ブロックのイントラ予測モードを符号化するにあたって、参照ブロックのイントラ予測モードのパターンを何らかの形で符号化対象ブロックのイントラ予測モードのパターンに縮退させる必要がある。参照モード変換は、パターン数の多い参照ブロックのイントラ予測モードを、パターン数の少ない符号化対象ブロックのイントラ予測モードに変換する処理である。図15を参照して、イントラ予測モードの変換処理を説明する。図15の符号1501は、34パターンのイントラ予測モードの予測方向を横軸上の点で示したものである。図15の符号1502は、17パターンのイントラ予測モードの予測方向を横軸上の点で示したものである。図15の符号1502の破線で表される点の位置は、34パターンのイントラ予測モードには含まれるが、17パターンのイントラ予測モードには含まれない予測方向である。符号1501で示す34パターンのイントラ予測モードにおいて、参照モードAの予測方向が符号1503に示す位置であり、参照モードBの予測方向が符号1504に示す位置であるとする。このとき、符号1502で示す17パターンのイントラ予測モードでは、参照モードA、Bの予測方向に対応する点破線で表される点には予測モードが存在しない。そこで、17パターンのイントラ予測モードにおいて、参照モードA、Bの予測方向に対応する点に隣接する点符号1505、1506を代わりに変換後の予測モードとして選択する。[予測方向差算出手順]図7のステップS702の予測方向差算出手順の詳細を図12のフローチャートを参照して説明する。予測方向差算出部604は、参照モード決定部602から参照モードA、Bを取得し、参照モードAと参照モードBを比較するステップS1201。参照モードA、Bがともに平均値モードのときは、予測方向差として両方が平均値モードであることを示す特殊値-2を設定するステップS1202。参照モードA、Bのどちらかが平均値モードのときは、片方が平均値モードであることを示す特殊値-1を設定するステップS1203。参照モードA、Bがともに平均値モードでないときは、参照モードA、Bそれぞれに対し、図13の予測モードと予測方向番号を対応づけたテーブルを参照することにより予測方向番号を決定する。図13は、イントラ予測モードの番号と予測方向番号を対応づけたテーブルである。イントラ予測モードの番号は、図1や図2で示すように、方位の順につけられたものではないため、そのままでは予測方向差を算出するために用いることができない。そこで、予測モード番号に、方位の順につけられた予測方向番号を対応づけたテーブルを用意して。予測方向差を算出するときは、予測方向番号を用いることにする。参照モードA、参照モードBの予測方向番号をそれぞれdirA、dirBとし、以下の計算式により参照モードAと参照モードBの予測方向の違いの程度を示す予測方向差DiffDirを算出するステップS1204。DiffDir=min16-absdirA-dirB,absdirA-dirBここで、absは引数の絶対値を計算する関数であり、minは2つの引数の最小値を選択する関数である。次に予測方向差DiffDirを所定の上限値と比較し、予測方向差DiffDirが上限値を超えるなら、予測方向差DiffDirを上限値に置き換えるステップS1205。たとえば、17パターンのイントラ予測モードの場合、予測方向差の最大値は8であり、上限値をたとえば4に設定しておき、予測方向差が4を超える場合は、4に丸める。[優先モード決定手順]図7のステップS703の優先モード決定手順の詳細を説明する。優先モード決定部603は、予測方向差算出部604から予測方向差を取得し、また参照モード決定部602から参照モードを取得する。優先モード決定部603は、図14に示す予測方向差に優先予測モードと符号化木を対応づけたテーブルを参照し、優先モードの数と優先モードのモード番号を決定する。図14は、予測方向差に対応づけて、優先モード数、優先モード番号、符号化木番号を対応づけたものである。図14は、17パターンのイントラ予測モードを用いる場合であり、予測方向差は0から8までの値と、特殊値の-1、-2を取る。予測方向差が大きくなるほど、優先モード数は増える。優先モード数を増やすために、優先モードとして参照モードA、B以外に、参照モードA、Bに隣接するモードや平均値モードを利用する。以下図16の例を用いながら、各予測方向差に対する優先モードを説明する。[予測方向差が0のとき]参照モードA、参照モードBがともに平均値モードでなく、予測方向が一致する場合である。図14に示すテーブルより、この場合、優先モードの数は3つであり、第1優先モードを参照モードAおよび参照モードBと同一のモード、第2優先モード、第3優先モードをそれぞれ第1優先モードに隣接する方向の予測モードとする。図16の符号1601は予測方向差が0のときの優先モードの概念図である。第1優先モードの予測方向は符号1602の点、第2優先モードの予測方向は符号1603の点、第3優先モードの予測方向は符号1604の点であり、互いに隣接している。[予測方向差が1のとき]参照モードAの予測方向と参照モードBの予測方向が互いに隣接している場合である。図14に示すテーブルより、この場合、優先モードの数は4つであり、第1優先モードを参照モードA、第2優先モードを参照モードB、第3優先モード、第4優先モードをそれぞれ第1優先モード、第2優先モードに隣接する方向の予測モードとする。図16の符号1605は予測方向差が1のときの優先モードの概念図である。第1優先モードは符号1606、第2優先モードは符号1607、第3優先モードは符号1608、第4優先モードは符号1609でそれぞれ表される予測方向である。[予測方向差が2のとき]参照モードAの予測方向と参照モードBの予測方向に挟まれる別の予測方向が存在する場合である。図14に示すテーブルより、この場合、優先モードの数は5つであり、第1優先モードを参照モードA、第2優先モードを参照モードB、第3優先モードを第1優先モードと第2優先モードに挟まれた予測方向を示す予測モード、第4優先モード、第5優先モードをそれぞれ第1優先モード、第2優先モードに隣接し第3優先モードでない予測方向の予測モードとする。図16の符号1610は予測方向差が2のときの優先モードの概念図である。第1優先モードは符号1611、第2優先モードは符号1612、第3優先モードは符号1613、第4優先モードは符号1614、第5優先モードは符号1615でそれぞれ表される予測方向である。[予測方向差が3以上のとき]同様の手順に従うため予測方向差が3以上のときの説明を省略する。[予測方向差が-2のとき参照モードがどちらも平均値モードのとき]参照モードA、参照モードBがともに平均値モードの場合である。図14に示すテーブルより、この場合、優先モードの数は1つであり、第1優先モードを平均値モードとする。[予測方向差が-1のとき参照モードのどちらか一方のみが平均値モードのとき]参照モードA、参照モードBのどちらか一方のみが平均値モードの場合である。図14に示すテーブルより、この場合、優先モードの数は4つであり、第1優先モードを参照モードA、第2優先モードを参照モードB、第3優先モード、第4優先モードをそれぞれ第1優先モードと第2優先モードのうち平均値モードでない方の予測モードの予測方向に隣接する方向の予測モードとする。[符号化木選択手順]図7のステップS704の符号化木選択手順の詳細を説明する。ここでは17パターンのイントラ予測モードを例とする。符号化木選択部605は、予測方向差算出部604から予測方向差を取得する。図14に示すテーブルを参照し、符号化木を選択する。図14のテーブルでは、優先モード数に符号化木の番号が対応づけられている。図17は符号化木の例である。符号1701は符号化木番号0の符号化木符号化木0という、符号1702は符号化木番号1の符号化木符号化木1という、符号1703は符号化木番号2の符号化木符号化木2というである。他の符号化木は省略する。各符号化木は、優先モードを示す葉と、予測モード番号を示す葉のどちらかに分類され、優先モードを示す葉に対しては、優先モード決定手順で決定した優先モードを適応的に割り当てる。一方予測モード番号を示す葉に対しては、処理対象の予測モードの予測モード番号を優先モードを除いた変換を行った上で固定的に割り当てる。いずれの符号化木においても優先モードには他の予測モードよりも短い符号長の符号が割り当てられるため、符号化対象ブロックのイントラ予測モードがいずれかの優先モードに該当すれば、発生符号量は小さくなる。以下図17を用いて、予測方向差に応じた符号化木の選択について説明をする。[予測方向差が0のとき]図14を参照して、符号化木0を選択する。符号化木0は3つの葉が優先モードとして設定される。優先モード決定手順より、第1優先モードは参照モードAおよび参照モードBと同一のモード、第2優先モード、第3優先モードはそれぞれ第1優先モードに隣接する予測方向の予測モードである。[予測方向差が1のとき]図14を参照して、符号化木1を選択する。符号化木1は4つの葉が優先モードとして設定される。優先モード決定手順より、第1優先モードは参照モードA、第2優先モードは参照モードB、第3優先モード、第4優先モードはそれぞれ第1優先モード、第2優先モードに隣接方向の予測モードである。[予測方向差が2のとき]図14を参照して、符号化木2を選択する。符号化木2は5つの葉が優先モードとして設定される。優先モード決定手順より、第1優先モードは参照モードA、第2優先モードは参照モードB、第3優先モードは第1優先モードと第2優先モードに挟まれた予測方向は示す予測モード、第4優先モード、第5優先モードはそれぞれ第1優先モード、第2優先モードに隣接し第3優先モードでない予測方向の予測モードである。[予測方向差が3以上のとき]同様の手順に従うため説明を省略する。[予測方向差が-2のとき]図14を参照して、符号化木9を選択する。[予測方向差が-1のとき]図14を参照して、符号化木10を選択する。以上述べたように、本実施の形態の画像符号化装置では、参照ブロックの画面内予測モードに加えて、参照ブロックの画面内予測モードの予測方向に隣接する方向を示す予測モードを優先予測モードとして用いる。そして、優先予測モード数の異なる複数の符号化木をあらかじめ用意しておき、参照ブロックの画面内予測モードの予測方向の差を元に符号化木を切り替えることにより、符号化対象ブロックの画面内予測モードの符号化効率を向上させることができる。予測方向差が小さいほど優先予測モード数の少ない符号化木が選択され、優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた符号化木を用いて符号化対象ブロックのイントラ予測モードが符号化される。複数の参照ブロックが互いに近い予測方向を示す場合は、参照ブロック間の画像相関が高く、処理対象ブロックと参照ブロックとの画像相関も高い可能性が高い。そのとき、処理対象ブロックの予測方向が参照ブロックの予測方向の近傍に特に集中しやすい。一方、複数の参照ブロックの示す予測方向が互いに離れている場合は、参照ブロック間の画像相関が低く、処理対象ブロックと参照ブロックとの画像相関も低い可能性が高い。そのとき、処理対象ブロックの予測方向の、参照ブロックの予測方向の近傍への集中度は、複数の参照ブロックが近い予測方向を示す場合と比べて低くなる。本実施の形態のイントラ予測モードの符号化処理では、複数の参照ブロックの予測モードの予測方向差を元に符号化木を切り替える構成を取ることにより、各処理対象ブロックの予測モードの発生確率を的確に推定し、画面内予測モードの発生符号量を減らすことができる。[復号手順]本発明の実施の形態に係るイントラ予測モードの復号方法の第1の実施例を説明する。図9は図8のイントラ予測モード復号部803の第1の実施例の詳細な構成のブロック図である。第1の実施例のイントラ予測モード復号部803は、イントラ予測モードメモリ901、参照モード決定部902、優先モード決定部903、予測方向差算出部904、復号木選択部905、及び可変長復号部906を備える。図9のイントラ予測モード復号部803におけるイントラ予測モード復号処理は、図6のイントラ予測モード符号化部508におけるイントラ予測モード符号化処理に対応するものであるから、図9のイントラ予測モードメモリ901、参照モード決定部902、優先モード決定部903、予測方向差算出部904、及び復号木選択部905の各構成は、図6のイントラ予測モードメモリ601、参照モード決定部602、優先モード決定部603、予測方向差算出部604、及び符号化木選択部605の各構成とそれぞれ対応する機能を有する。以下、図10のフローチャートも参照しながら、イントラ予測モードの復号手順を説明する。参照モード決定部902は、イントラ予測モードメモリ901から復号対象ブロックに隣接する復号済みの参照ブロックのイントラ予測モードを取得し、参照イントラ予測モードを決定するステップS1001。参照イントラ予測モード決定手順は、図6の参照モード決定部602における参照イントラ予測モード決定手順と同様、図11のフローチャートで示す手続きに従うため、詳細な説明を省略する。予測方向差算出部904は、参照モード決定部902から参照イントラ予測モードを取得し、予測方向差を算出するステップS1002。予測方向差算出手順は、図6の予測方向差算出部604における予測方向算出手順と同様、図12のフローチャートで示す手続きに従うため、詳細な説明を省略する。優先モード決定部903は、予測方向差算出部904から予測方向差を取得し、また参照モード決定部902から参照イントラ予測モードを取得する。優先モード決定部903は、取得した予測方向差と参照イントラ予測モードを元に優先モードを決定するステップS1003。優先モード決定手順は、図6の優先モード決定部603における優先モード決定手順と同様の手続きに従うため、詳細な説明を省略する。復号木選択部905は、予測方向差算出部904から予測方向差を取得し、予測方向差に応じて復号木を決定するステップS1004。復号木選択手順は、図6の符号化木選択部605における符号化木選択手順と同様の手続きに従うため、詳細説明を省略する。ただし、符号化木は復号木と読み替える。可変長復号部906は、イントラ予測モードのビットストリームの入力を受け、また優先モード決定部903から優先モードを、復号木選択部905から復号木を取得する。可変長復号部906は、復号対象ブロックのイントラ予測モードに対して優先モードと復号木を用いて可変長復号を行うステップS1005。可変長復号部906は、復号したイントラ予測モードをイントラ予測モードメモリ901に記憶するとともに、外部に出力し、一連のイントラ予測モードの復号処理を終了する。第2の実施例[符号化手順]本発明に係る実施の形態によるイントラ予測モードの符号化方法の第2の実施例について説明する。図20は図5のイントラ予測モード符号化部508の第2の実施例の詳細な構成のブロック図である。第2の実施例のイントラ予測モード符号化部508は、イントラ予測モードメモリ2601、優先予測モードリスト作成部2602、優先予測モード判定フラグ算出部2603、優先予測モード判定フラグ符号化部2604、優先予測モードインデックス算出部2605、優先予測モードインデックス符号化部2606、非優先予測モードインデックス算出部2607、非優先予測モードインデックス符号化部2608、優先予測モード判定部2609、及び予測方向差算出部2610を備える。以下、図21のフローチャートも参照しながら、イントラ予測モードの符号化手順を説明する。予測方向差算出部2610は、イントラ予測モードメモリ2601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、refModeAとrefModeBの予測方向差diffDirを算出するステップS2701。予測方向差算出手順の詳細については後述する。優先予測モードリスト作成部2602は、予測方向差算出部2610から予測方向差diffDirを取得し、イントラ予測モードメモリ2601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得する。優先予測モードリスト作成部2602は、diffDir、refModeA、及びrefModeBを元に優先予測モードリストmpmListを作成し、優先予測モードリストサイズmpmlistsizeを決定するステップS2702。優先予測モードリスト作成手順の詳細については後述する。また、対象イントラ予測モードをイントラ予測モードメモリ2601に記憶する。優先予測モード判定フラグ算出部2603は、対象予測モードと優先予測モードリストmpmListを取得し、優先予測モード判定フラグmpmFlagを算出する。また、優先予測モードインデックス算出部2605は、優先予測モードインデックスmpmIndexを算出しステップS2703、優先予測モード判定フラグ符号化部2604は、優先予測モード判定フラグmpmFlagを符号化するステップS2704。優先予測モード判定フラグ、優先予測モードインデックス算出手順の詳細については後述する。優先予測モード判定部2609は、優先予測モード判定フラグmpmFlagを判定するステップS2705。優先予測モード判定フラグmpmFlagがtrueである場合は、優先予測モードインデックス符号化部2606は、優先予測モードインデックスmpmIndexを符号化しステップS2706、処理を終了する。優先予測モードインデックス符号化手順の詳細については後述する。優先予測モード判定フラグmpmFlagがfalseである場合は、非優先予測モードインデックス算出部2607は、非優先予測モードインデックスremModeIndexを算出しステップS2707、非優先予測モードインデックス符号化部2608は、算出した非優先予測モードremModeIndexの符号化を行うステップS2708。非優先予測モードインデックス算出手順、および非優先予測モード符号化手順の詳細については後述する。[予測方向差算出手順]図21のステップS2701の予測方向差算出手順の詳細を図30のフローチャートを参照して説明する。予測方向差算出部2610は、イントラ予測モードメモリ2601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得する。refModeAとrefModeBの値がともに2平均値モードであるかどうかを判定するステップS3201。refModeAとrefModeBの値がともに2平均値モードである場合は、予測方向差diffDirを-2と設定するステップS3202。-2はrefModeAとrefModeBの値がともに2平均値モードであることを示す特殊値である。refModeAとrefModeBの値が少なくともどちらかが2平均値モードでない場合は、さらにrefModeAとrefModeBのどちらかが2平均値モードであるかどうかを判定するステップS3203。refModeAとrefModeBのどちらかが2平均値モードである場合は、予測方向差diffDirを-1と設定するS3205。-1はrefModeAとrefModeBの値のどちらかが2平均値モードであることを示す特殊値である。refModeAとrefModeBの値がともに2平均値モードでない場合は、refModeAとrefModeBの予測方向の差を算出するステップS3204。対象ブロックが4×4ブロックである場合は、図13の表を参照することにより、予測方向番号を決定する。refModeAの予測方向番号をdirA、refModeBの予測方向番号をdirBとし、以下の計算式により予測方向差diffDirを算出する。DiffDir=min16-absdirA-dirB,absdirA-dirB対象ブロックが8×8、16×16ブロックである場合も4×4ブロックの場合と同様、の方法で予測方向番号を決定し、以下の計算式により予測方向差diffDirを算出する。DiffDir=min33-absdirA-dirB,absdirA-dirB[優先予測モードリスト作成手順]図21のステップS2702の優先予測モードリスト作成手順の詳細を図31のフローチャートを参照して説明する。優先予測モードリスト作成部2602は、予測方向差算出部2610から予測方向差diffDirを取得し、イントラ予測モードメモリ2601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、予測方向差diffDirの値を判定するステップS3901。予測方向差diffDirの値が-2のとき、すなわちrefModeAとrefModeBがともに平均値モードのときはステップS3902、図32の符号4001に示すように、mpmlistsizeを2とする。さらにmpmList[0]をrefModeA、mpmList[1]を0垂直方向予測モードとする。mpmList[1]を0垂直方向予測モードとするのは、垂直方向予測モードの発生頻度は平均的に高いことと、平均的には、平均値モードのみを優先予測モードとするほど平均値モードの発生頻度が高くないことによる。予測方向差diffDirの値が-1のとき、すなわちrefModeAとrefModeBのどちらか一方が平均値モードのときはステップS3903、図32の符号4002に示すように、mpmlistsizeを4とする。さらに、mpmList[0]をminrefModeA,refModeB、mpmList[1]をmaxrefModeA,refModeB、mpmList[2]をleftdirMode、mpmList[3]をrightdirModeとする。ただし、dirModeはrefModeAとrefModeBのうち平均値モードでない方の予測モードとし、leftdirModeは、dirModeの左方向に隣接する予測モード、rightdirModeは、dirModeの右方向に隣接する予測モードとする。予測方向差diffDirの値が0のときはステップS3904、すなわちrefModeAとrefModeBが同一であり、かつどちらも平均値モードでいときは、図32の符号4003に示すように、mpmlistsizeを3とする。さらに、mpmList[0]をrefModeA、mpmList[1]をleftrefModeA、mpmList[2]をrightrefModeAとする。ただし、leftrefModeAは、refModeAの左方向に隣接する予測モード、rightrefModeAは、refModeAの右方向に隣接する予測モードとする。予測方向差diffDirの値が1のときはステップS3905、すなわちrefModeAとrefModeBが隣接するときは、図32の符号4004に示すように、mpmlistsizeを4とする。さらに、mpmList[0]をminrefModeA,refModeB、mpmList[1]をmaxrefModeA,refModeB、mpmList[2]をleftleftMode、mpmList[3]をrightrightModeとする。ただし、leftModeはrefModeAとrefModeBのうち左方向の予測モード、rightModeはrefModeAとrefModeBのうち右方向の予測モードとし、leftleftModeは、leftModeの左方向に隣接する予測モード、rightrightModeは、rightModeの右方向に隣接する予測モードとする。予測方向差diffDirの値が2のときはステップS3906、図32の符号4005に示すように、mpmlistsizeを5とする。さらに、mpmList[0]をminrefModeA,refModeB,interMode、mpmList[1]をmedianrefModeA,refModeB,interMode、mpmList[2]をmaxrefModeA,refModeB,interMode、mpmList[3]をleftleftMode、mpmList[4]をrightrightModeとする。ただし、interModeはrefModeA,refModeBの間に挟まれる予測モード、medianrefModeA,refModeB,interModeはrefModeA,refModeB,interModeの中間値、leftModeはrefModeAとrefModeBのうち左方向の予測モード、rightModeはrefModeAとrefModeBのうち右方向の予測モードとし、leftleftModeは、leftModeの左方向に隣接する予測モード、rightrightModeは、rightModeの右方向に隣接する予測モードとする。上記の条件のいずれにも該当しないときステップS3907、すなわち予測方向差diffDirの値が3以上のときは、予測方向差diffDirに加え、対象ブロックのブロックサイズを参照する。ブロックサイズが4×4のときは、図32の符号4006に示すように、mpmlistsizeを5とする。さらに、mpmList[0]をminrefModeA,refModeB、mpmList[1]をmaxrefModeA,refModeB、mpmList[2]をminleftrefModeA,rightrefModeA、mpmList[3]をminleftrefModeB,rightrefModeB、mpmList[4]を平均値モードとした後、mpmListを昇順にソートする。ブロックサイズが4×4でないときは、図32の符号4007に示すように、mpmlistsizeを7とする。さらに、mpmList[0]をminrefModeA,refModeB、mpmList[1]をmaxrefModeA,refModeB、mpmList[2]をleftrefModeA、mpmList[3]をrightrefModeA、mpmList[4]をleftrefModeB、mpmList[5]をrightrefModeB、mpmList[6]を平均値モードとした後、mpmListを昇順にソートする。ステップS3907において、参照予測モードに隣接する予測モードに加え平均値モードを優先予測モードリストに加える理由は以下のとおりである。ステップS3907は、予測方向の差が3以上のときである。refModeAとrefModeBとの方向差が離れているときは、参照ブロックA、参照ブロックBの画像相関が低いと推定する。そのとき、予測方向差が近い場合と比べ、refModeA、refModeBの近傍への集中度が減少し、平均的には平均値モードの発生頻度が高まるためである。[優先予測モード判定フラグ、優先予測モードインデックス算出手順]図21のステップS2703の優先予測モード判定フラグと優先予測モードインデックス算出手順の詳細を図25のフローチャートを参照して説明する。本手順においては、mpmListを昇順に走査することにより処理を進める。優先予測モード判定フラグ算出部2603、及び優先予測モードインデックス算出部2605は、優先予測モード判定フラグmpmFlagと、優先予測モードインデックスmpmIndexをそれぞれfalse、0で初期化する。mpmListを走査するための変数iを0で初期化するステップS3201。変数iがmpmListSize未満であるならステップS3202、すなわちまだmpmListのすべての要素を走査し終えていないなら、mpmList[i]とcurrModeIndexを比較するステップS3203。mpmList[i]とcurrModeIndexが等しい場合は、対象予測モードが優先予測モードリストのi番目の要素と等しいことを示し、mpmFlagをtrueに、mpmIndexをiにそれぞれ設定しステップS3204、図21のステップS2704へ進む。mpmList[i]とcurrModeIndexが異なる場合は、iを一つ増やしステップS3205、走査を継続する。ステップS3202において、変数iがmpmListSize以上であるとき、すなわち、mpmListのすべての要素を走査し終えたときに、優先予測モード判定フラグ、優先予測モードインデックス算出手順を終了し、図21のステップS2704へ進む。このときは対象予測モードが優先予測モードリストに含まれないことを示し、mpmFlagとmpmIndexの再設定は行われない。すなわち、mpmFlag=false、mpmIndex=0となる。[優先予測モードインデックス符号化手順]図21のステップS2706の優先予測モードインデックス符号化手順の詳細を図33のフローチャートを参照して説明する。優先予測モードインデックス符号化部2606は、優先予測モードリスト作成部2602からmpmlistとmpmlistsizeを取得する。優先予測モードインデックス符号化部2606は、mpmlistsizeを元に優先予測モードインデックスmpmIndexの符号化に使用する符号化木の選択を行うステップS4101。図34に選択候補となる符号化木を示す。図34の符号4201はmpmlistsizeが2のときの符号化木である。図34の符号4202はmpmlistsizeが3のときの符号化木である。図34の符号4203はmpmlistsizeが4のときの符号化木である。図34の符号4204はmpmlistsizeが5のときの符号化木である。図34の符号4205はmpmlistsizeが7のときの符号化木である。優先予測モード符号化木では、優先予測モードの優先順位が高いモード番号が小さいものほど短い符号長の符号列が割り当てられている。優先予測モードインデックス符号化部2606は、選択した符号化木を用いて、mpmIndexの符号化を行いステップS4102、処理を終了する。[非優先予測モードインデックス算出手順]図21のステップS2707の非優先予測モードインデックス算出手順の詳細を図26のフローチャートを参照して説明する。本手順においては、mpmListをインデックスの降順に走査することにより処理を進める。非優先予測モードインデックス算出部2607は、非優先予測モードインデックスremModeIndexを対象予測モードcurrModeIndexで初期化し、mpmListを走査するための変数iをmpmListSize-1で初期化しステップS3301、mpmListを値の昇順にソートするステップS3302。変数iが0以上であるならステップS3303、すなわちまだmpmListのすべての要素を走査し終えていないなら、remModeIndexとmpmList[i]を比較するステップS3304。remModeIndexがmpmList[i]より大きいなら、remModeIndexの値から1を減ずるステップS3305。変数iの値から1を減じてステップS3306、走査を継続する。ステップS3303において、変数iが0未満であるとき、すなわちmpmListのすべての要素を走査し終えたときに、非優先予測モードインデックス算出手順を終了し、図21のステップS2708へ進む。[非優先予測モードインデックス符号化手順]図21のステップS2708の非優先予測モードインデックス符号化手順の詳細を図27のフローチャートを参照して説明する。非優先予測モードインデックス符号化部2608は、対象ブロックサイズを判定するステップS3401。対象ブロックが4×4ブロックであるとき、非優先予測モードインデックス符号化部2608は、remModeIndexとmpmListSize-1の値を比較するステップS3402。remModeIndexがmpmListSize-1よりも小さいときは、remModeIndexを3ビットで符号化し、処理を終了するステップS3403。そうでないときは、すなわちremModeIndexがmpmListSize-1以上であるときは、remModeIndexにmpmListSize-1を足しステップS3404、remModeIndexの上位3ビットを符号化するステップS3405。さらに、remModeIndexの最下位1ビットを符号化しステップS3406、処理を終了する。対象ブロックが4×4ブロックであるとき、17パターンのイントラ予測が定義されている。本実施例においては、優先予測モードの数mpmListSizeは少なくとも2であるため、非優先予測モードインデックスremModeIndexは[0,14]のいずれかの値に変換されている。よって、非優先予測モードインデックスremModeIndexに対し、固定長符号化を行う場合は、4ビットの符号語に変換を行うことになる。しかしながら優先予測モードの数mpmListSizeが大きくなるに従い、非優先予測モードインデックスが取り得る候補は減るため、すべてのremModeIndexを4ビットで表現するのは冗長となる。よって本手順においては、remModeIndexを3ビットもしくは4ビットの符号語に変換し、可変長符号化を行う。対象ブロックが8×8ブロックまたは16×16ブロックであるときは、非優先予測モードインデックス符号化部2608は、remModeIndexとmpmListSize-1の値を比較するステップS3407。remModeIndexがmpmListSize-2よりも小さいときは、remModeIndexを4ビットで符号化し、処理を終了するステップS3408。そうでないときは、すなわちremModeIndexがmpmListSize-2以上であるときは、remModeIndexにmpmListSize-2を足しステップS3409、remModeIndexの上位4ビットを符号化するステップS3410。さらに、remModeIndexの最下位1ビットを符号化しステップS3411、処理を終了する。対象ブロックが8×8ブロックまたは16×16ブロックであるとき、34パターンのイントラ予測が定義されている。本実施例においては、優先予測モードの数mpmListSizeは少なくとも2であるため、非優先予測モードインデックスremModeIndexは[0,31]のいずれかの値に変換されている。よって、非優先予測モードインデックスremModeIndexに対し、固定長符号化を行う場合は、5ビットの符号語に変換を行うことになる。4×4ブロックであるときと同様、すべてのremModeIndexを5ビットで表現するのは冗長となる。よって本手順においては、remModeIndexを4ビットもしくは5ビットの符号語に変換し、可変長符号化を行う。[復号手順]本発明に係る実施の形態によるイントラ予測モードの復号方法の第2の実施例について説明する。図22は図8のイントラ予測モード復号部803の第2の実施例の詳細な構成のブロック図である。第2の実施例のイントラ予測モード復号部803は、イントラ予測モードメモリ2901、優先予測モードリスト作成部2902、優先予測モード判定フラグ復号部2903、優先予測モードインデックス復号部2904、優先予測モード算出部2905、非優先予測モードインデックス復号部2906、非優先予測モード算出部2907、及び予測方向差算出部2908を備える。図22のイントラ予測モード復号部803におけるイントラ予測モード復号処理は、図20のイントラ予測モード符号化部508におけるイントラ予測モード符号化処理に対応するものであるから、図22のイントラ予測モードメモリ2901、優先予測モードリスト作成部2902、及び予測方向差算出部2908の各構成は、図20のイントラ予測モードメモリ2601、優先予測モードリスト作成部2602、及び予測方向差算出部2610の各構成とそれぞれ同一の機能を有する。以下、図23のフローチャートも参照しながら、イントラ予測モードの復号手順を説明する。予測方向差算出部2908は、イントラ予測モードメモリ2901から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、予測方向差diffDirを算出するステップS3001。予測方向差算出手順については、図20の予測方向差算出部2610と同様、図30に示す手続きに従うため、詳細説明を省略する。優先予測モードリスト作成部2902は、イントラ予測モードメモリ2901から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、また予測方向差算出部2908から予測方向差diffDirを取得する。優先予測モードリスト作成部2902は、取得したrefModeAとrefModeB、及びdiffDirを元に優先予測モードリストmpmListを作成し、また優先予測モードリストのサイズmpmListSizeを決定するステップS3002。優先予測モードリスト作成手順は図20の優先予測モードリスト作成部2602における優先予測モードリスト作成手順と同様、図31のフローチャートで示す手続きに従うため、詳細説明を省略する。優先予測モード判定フラグ復号部2903は、符号化系列から1ビット読み込み、優先予測モード判定フラグmpmFlagを復号しステップS3003、優先予測モード判定フラグmpmFlagの値を判定するステップS3004。優先予測モード判定フラグmpmFlagがtrueである場合は、優先予測モードインデックス復号部2904は、優先予測モードインデックスmpmIndexを復号するステップS3005。優先予測モードインデックス復号手順の詳細は後述する。さらに、優先予測モード算出部2905は、優先予測モードリストmpmListのmpmIndex番目の要素mpmList[mpmIndex]を対象予測モードcurrModeIndexとするステップS3006。対象予測モードcurrModeIndexをイントラ予測モードメモリ2901に格納し、処理を終了する。優先予測モード判定フラグmpmFlagがfalseである場合は、非優先予測モードインデックス復号部2906は、非優先予測モードインデックスremModeIndexを復号しステップS3007、非優先予測モード算出部2907は、算出したremModeIndexを元に対象予測モードcurrModeIndexを算出するステップS3008。対象予測モードcurrModeIndexをイントラ予測モードメモリ2901に格納し、処理を終了する。非優先予測モードインデックスの復号手順、および対象予測モード算出手順については後述する。[優先予測モードインデックス復号手順]図23のステップS3005の優先予測モードインデックス復号手順の詳細を図24のフローチャートを参照して説明する。優先予測モードインデックス復号部2904は、優先予測モードリスト作成部2902からmpmlistとmpmlistsizeを取得する。優先予測モードインデックス復号部2904は、mpmlistsizeを元に優先予測モードインデックスmpmIndexの復号に使用する復号木の選択を行うステップS3101。図34に選択候補となる復号木を示す。図34の符号4201はmpmlistsizeが2のときの復号木である。図34の符号4202はmpmlistsizeが3のときの復号木である。図34の符号4203はmpmlistsizeが4のときの復号木である。図34の符号4204はmpmlistsizeが5のときの復号木である。図34の符号4205はmpmlistsizeが7のときの復号である。優先予測モードインデックス復号部2904は、選択した復号木を用いて、mpmIndexの復号を行いステップS3102、処理を終了する。[非優先予測モードインデックス復号手順]図23のステップS3007の非優先予測モードインデックス復号手順の詳細を図28のフローチャートを参照して説明する。非優先予測モードインデックス復号部2906は、対象ブロックサイズを判定するステップS3501。対象ブロックが4×4ブロックであるとき、3ビットの固定長復号を行い、remModeIndexとするステップS3502。remModeIndexの値を判定するステップS3503。remModeIndexがmpmListSize-1より小さいときは、remModeIndexを確定し、処理を終了する。そうでないときは、remModeIndexを1ビット右シフトした上ステップS3504、さらに符号化系列から1ビットを読み込み、remModeIndexに足しこむステップS3505。remModeIndexからmpmListSize-1を減じ、最終的なremModeIndexと決定しステップS3506、処理を終了する。対象ブロックが8×8ブロックまたは16×16ブロックであるとき、4ビットの固定長復号を行い、remModeIndexとするステップS3507。remModeIndexの値を判定するステップS3508。remModeIndexがmpmListSize-2より小さいときは、remModeIndexを確定し、処理を終了する。そうでないときは、remModeIndexを1ビット右シフトした上ステップS3509、さらに符号化系列から1ビットを読み込み、remModeIndexに足しこむステップS3510。remModeIndexからmpmListSize-2を減じ、最終的なremModeIndexと決定しステップS3511、処理を終了する。[非優先予測モード算出手順]図23のステップS3008の予測モード算出手順の詳細を図29のフローチャートを参照して説明する。本手順においては、mpmListをインデックスの昇順に走査することにより処理を進める。非優先予測モード算出部2907は、対象予測モードcurrModeIndexを非優先予測モードインデックスremModeIndexで初期化し、mpmListを走査するための変数iを0で初期化しステップS3601、mpmListを値の昇順にソートするステップS3602。変数iがmpmListSize未満であるならステップS3603、すなわちまだmpmListのすべての要素を走査していないのであれば、currModeIndexとmpmList[i]を比較するステップS3604。currModeIndexがmpmList[i]以上であれば、currModeIndexの値に1を加えるステップS3605。変数iの値に1を加えてステップS3606、走査を継続する。ステップS3603において、iがmpmListSize以上になったとき、すなわちmpmListのすべての要素を走査し終えたときに処理を終了する。以上述べた第1の実施例の画像符号化装置および画像復号装置は、以下の作用効果を奏する。1複数の既処理画面予測モードの予測方向差による符号化木の切り替えを行う。画面内予測モードの示す予測方向は対象画像との相関性を有するために、画面内予測モードの予測方向差から、複数の参照ブロックの復号画像間の相関性を推定し、その相関性に基づいた適切な確率モデルの設定が可能となり、対象画像の予測モードの発生符号量を削減できる。2予測方向差が小さいときは、複数の参照ブロックの復号画像間の相関性が高く、処理対象ブロックも参照ブロックとの相関性が高いと推定される。発生するイントラ予測モードは、参照予測モードと一致するモードの示す予測方向周辺に集中するため、参照予測モードの予測方向と近い予測方向を示す画面内予測モードの符号長を短くすることにより、全体的な発生符号量を削減できる。3予測方向差が大きいときは、複数の参照ブロックの復号画像間の相関性が低く、処理対象ブロックも参照ブロックとの相関は、予測方向差が近い時と比べ低くなると推定される。この場合、各予測モードの符号長の偏りを少なくすることにより、発生符号量を削減できる。4複数の既処理ブロックの画面予測モードの予測方向差による符号化木の切り替えを行うため、作成する符号化木の数は高々画面内予測モードで取り得る予測方向の半分となる。複数の予測モードのすべての組合せを考慮する構成と比べ大幅に複雑度を削減することができる。第2の実施例の画像符号化装置および画像復号装置は、以下の作用効果を奏する。1複数の既処理画面予測モードの予測方向差により、優先予測モードの符号化木の切り替えを行う。画面内予測モードの示す予測方向は対象画像との相関性を有するために、画面内予測モードの予測方向差から、複数の参照ブロックの復号画像間の相関性を推定し、その相関性に基づいた適切な確率モデルの設定が可能となり、発生符号量を削減できる。2予測方向差が小さいときは、複数の参照ブロックの復号画像間の相関性が高く、処理対象ブロックも参照ブロックとの相関性が高いと推定される。発生するイントラ予測モードは、参照予測モードと一致するモードの示す予測方向周辺に集中するため、参照予測モードの予測方向と隣接する予測方向を示す画面内予測モードを優先予測モードに設定することにより、全体的な発生符号量を削減できる。3予測方向差が大きいときは、複数の参照ブロックの復号画像間の相関性が低く、処理対象ブロックも参照ブロックとの相関は、予測方向差が近い時と比べ低くなると推定される。この場合、参照予測モードの予測方向と隣接する予測方向に加え、平均値モードを優先予測モードに設定することにより、発生符号量を削減できる。さらに、優先予測モードの符号化木の切り替えにおいて、予測方向差に加え、対象ブロックのブロックサイズを用いる。定義されるイントラ予測モードが異なれば、イントラ予測モードの発生分布も異なるものとなる。定義されるイントラ予測モードがブロックサイズに依存する構成においては、対象ブロックのブロックサイズを用いることにより、より適切な符号化木の選択が可能となり、発生符号量を削減できる。4複数の既処理画面予測モードの予測方向差による符号化木の切り替えを行うため、作成する符号化木の数は高々画面内予測モードで取り得る予測方向の半分となる。すべての組合せを実施する構成と比べ大幅に複雑度を削減することができる。以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROMリードオンリメモリやフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。"