"ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定する情報を符号化する画像符号化装置であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部と、符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部と、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成部と、前記優先予測モードに対しては他の画面内予測モードよりも短い符号語を割り当て、画面内予測モードを特定する情報を符号化する符号化部とを備え、前記優先予測モードリスト作成部は、前記符号化対象ブロックに隣接し、かつ、前記符号化済みブロック同士は隣接しない複数の前記符号化済みブロックの画面内予測モードを用いて前記優先予測モードのリストを作成することを特徴とする画像符号化装置。前記優先予測モードリスト作成部は、前記符号化対象ブロックの左側の辺に隣接するブロックの中で一番下側に位置する前記符号化済みブロックと、前記符号化対象ブロックの上側の辺に隣接するブロックの中で一番右側に位置する前記符号化済みブロックの画面内予測モードを用いて前記優先予測モードのリストを作成することを特徴とする請求項1に記載の画像符号化装置。ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定する情報を符号化する画像符号化方法であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択ステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを取得し、その取得した画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成ステップと、前記優先予測モードに対しては他の画面内予測モードよりも短い符号語を割り当て、画面内予測モードを特定する情報を符号化する符号化ステップとを備え、前記優先予測モードリスト作成ステップは、前記符号化対象ブロックに隣接し、かつ、前記符号化済みブロック同士は隣接しない複数の前記符号化済みブロックの画面内予測モードを用いて前記優先予測モードのリストを作成することを特徴とする画像符号化方法。ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定する情報を符号化する画像符号化プログラムであって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択ステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを取得し、その取得した画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成ステップと、前記優先予測モードに対しては他の画面内予測モードよりも短い符号語を割り当て、画面内予測モードを特定する情報を符号化する符号化ステップとをコンピュータに実行させ、前記優先予測モードリスト作成ステップは、前記符号化対象ブロックに隣接し、かつ、前記符号化済みブロック同士は隣接しない複数の前記符号化済みブロックの画面内予測モードを用いて前記優先予測モードのリストを作成することを特徴とする画像符号化プログラム。上述のように、参照ブロックAと参照ブロックBの予測モードが同一でない場合、どちらかの予測モードを選択して優先予測モードとするため、選択されなかった予測モードを優先予測モードとすることができず、予測モードの符号量が増加してしまう。本発明はこうした状況に鑑みてなされたものであり、その目的は、処理量の増加を伴わず符号化効率を向上させる技術を提供することにある。上記課題を解決するために、本発明のある態様の画像符号化装置は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定する情報を符号化する画像符号化装置であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部509と、符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部601と、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成部602と、前記優先予測モードに対しては他の画面内予測モードよりも短い符号語を割り当て、画面内予測モードを特定する情報を符号化する符号化部604、606、608とを備える。前記優先予測モードリスト作成部602は、前記符号化対象ブロックに隣接し、かつ、前記符号化済みブロック同士は隣接しない複数の前記符号化済みブロックの画面内予測モードを用いて前記優先予測モードのリストを作成する。本発明の別の態様は、画像符号化方法である。この方法は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定する情報を符号化する画像符号化方法であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択ステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを取得し、その取得した画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成ステップと、前記優先予測モードに対しては他の画面内予測モードよりも短い符号語を割り当て、画面内予測モードを特定する情報を符号化する符号化ステップとを備える。前記優先予測モードリスト作成ステップは、前記符号化対象ブロックに隣接し、かつ、前記符号化済みブロック同士は隣接しない複数の前記符号化済みブロックの画面内予測モードを用いて前記優先予測モードのリストを作成する。なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。本発明によれば、処理量の増加を伴わず符号化効率を向上させることができる。まず、本発明の実施の形態の前提となる技術を説明する。以下の説明において、処理対象ブロックとは、画像符号化装置による符号化処理の場合は、符号化対象ブロックのことであり、画像復号装置による復号処理の場合は、復号対象ブロックのことである。既処理ブロックとは、画像符号化装置による符号化処理の場合は、符号化済みの復号されたブロックのことであり、画像復号装置による復号処理の場合は、復号済みのブロックのことである。以下、断りのない限り、この意味で用いる。[符号化装置]本発明を実施する好適な画像符号化装置について図面を参照して説明する。図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において実施される。以下、実施の形態に係るイントラ予測モード符号化及び復号処理の詳細を説明する。[符号化ブロック]実施の形態では、図25で示されるように、画面を矩形ブロックにて階層的に分割するとともに、各ブロックに対し所定の処理順による逐次処理を行う。分割する各ブロックを符号化ブロックとよぶ。図25のブロック2510は、実施の形態において分割の最大単位であり、これを最大符号化ブロックとよぶ。図25のブロック2509は、実施の形態において分割の最小単位であり、これを最小符号化ブロックとよぶ。以下最大符号化ブロックを16×16画素として説明を行う。[予測ブロック]符号化ブロックのうち、イントラ予測を行う単位を予測ブロックと呼ぶ。予測ブロックは、最大符号化ブロック以下のいずれかの大きさを持つ。図25は、処理対象予測ブロックが16×16ブロック単位は輝度信号の画素数である。以下、断りのない限り、この単位で用いる。であり、隣接ブロックが4×4ブロックのみで構成されている場合の例である。また、図26は、処理対象予測ブロックが16×16ブロックであり、隣接ブロックが4×4ブロックと8×8ブロックで構成されている場合の例である。符号化手順においては最適な予測ブロックサイズを決定し、予測ブロックサイズを伝送する。復号手順においてはビットストリームより予測ブロックサイズを取得する。以下、予測ブロックをイントラ予測の処理単位として説明を行う。以下最小予測ブロックを4×4ブロック、最大予測ブロックを16×16ブロックとして説明を行う。[予測ブロックサイズとイントラ予測モード]予測ブロックのサイズに応じて、イントラ予測モードの構成を切り替える。4×4ブロックでは図2aの符号201に示す17パターンのイントラ予測モードを定義し、8×8ブロックと16×16ブロックに対しては、図2bの符号202に示す34パターンのイントラ予測モードを定義する。第1の実施例[符号化手順]本発明に係る実施の形態によるイントラ予測モードの符号化方法の第1の実施例について説明する。図6は図5のイントラ予測モード符号化部508の第1の実施例の詳細な構成のブロック図である。第1の実施例のイントラ予測モード符号化部508は、イントラ予測モードメモリ601、優先予測モードリスト作成部602、優先予測モード判定フラグ算出部603、優先予測モード判定フラグ符号化部604、優先予測モードインデックス算出部605、優先予測モードインデックス符号化部606、非優先予測モードインデックス算出部607、非優先予測モードインデックス符号化部608、及び優先予測モード判定部609を備える。以下、図7のフローチャートも参照しながら、イントラ予測モードの符号化手順を説明する。優先予測モードリスト作成部602は、イントラ予測モードメモリ601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、優先予測モードリストmpmListを作成し、優先予測モードリストサイズmpmlistsizeを決定するステップS701。優先予測モードリスト作成手順の詳細については後述する。また、対象イントラ予測モードをイントラ予測モードメモリ601に記憶する。本実施例においては、優先予測モードリストサイズmpmListSizeは1もしくは2のどちらかが設定され、参照モードrefModeAとrefModeBの番号が等しい時にmpmListSizeは1となり、参照モードrefModeAとrefModeBの番号が異なる時にmpmListSizeは2となる。優先予測モード判定フラグ算出部603は、対象予測モードと優先予測モードリストmpmListを取得し、優先予測モード判定フラグmpmFlagを算出する。また、優先予測モードインデックス算出部605は、優先予測モードインデックスmpmIndexを算出しステップS702、優先予測モード判定フラグ符号化部604は、優先予測モード判定フラグmpmFlagを符号化するステップS703。優先予測モード判定フラグ、優先予測モードインデックス算出手順の詳細については後述する。優先予測モード判定部609は、優先予測モード判定フラグmpmFlagを判定するステップS704。優先予測モード判定フラグmpmFlagがtrueである場合は、優先予測モードインデックス符号化部606は、優先予測モードの数mpmListSizeを判定しステップS705、mpmListSize=1のときは優先予測モードインデックスmpmIndexが常に0となるため、mpmIndexの符号化を行わず、処理を終了する。mpmListSize=2であるならば、優先予測モードインデックスmpmIndexを符号化しステップS706、処理を終了する。優先予測モード判定フラグmpmFlagがfalseである場合は、非優先予測モードインデックス算出部607は、非優先予測モードインデックスremModeIndexを算出しステップS707、非優先予測モードインデックス符号化部608は、算出した非優先予測モードremModeIndexの符号化を行うステップS708。非優先予測モードインデックス算出手順、および非優先予測モード符号化手順の詳細については後述する。隣接ブロックのイントラ予測モード取得手順イントラ予測モードを取得する際に参照するブロックは、処理対象予測ブロックの左側に隣接する予測ブロックAと、処理対象予測ブロックの上側に隣接する予測ブロックBとする。ただし、処理対象予測ブロックよりも隣接する予測ブロックが小さい場合、イントラ予測モードを取得する際に参照する予測ブロックは、処理対象予測ブロックの左側に隣接しかつ最も下側に位置するブロックAと、処理対象予測ブロックの上側に隣接しかつ最も右側に位置するブロックBとする。ブロックAのイントラ予測モードを参照モードrefModeA、ブロックBのイントラ予測モードを参照モードrefModeBとする。また、参照ブロックが存在しないときの参照モードは平均値予測モードと設定する。自然画像では空間的に近接した画像は同じような特徴である傾向があるため、イントラ予測モードは空間的な連続性がある。そのため、処理対象予測ブロックに隣接する予測ブロックを参照ブロックとし、参照ブロックのイントラ予測モードを優先予測モードとし、優先予測モードに少ない符号量を割り当てることで、少ない符号量でイントラ予測モードを伝送することが可能である。ただし、イントラ予測モードを取得する隣接ブロックとして図18のように、隣接ブロック同士を互いに空間的に隣接するブロックたとえば、ブロック1805とブロック1806として参照ブロックを定義してしまうと、前述したイントラ予測モードの空間的な連続性から、両参照ブロックのイントラ予測モードが同一となってしまう確率が高まり、優先予測モードが1つになってしまうことにより、優先予測モードが選択されにくくなってしまう。その結果イントラ予測モードの符号量が増加し符号化効率が低下する。なお、図18において、処理対象ブロック1801の左側に隣接するブロックの中で一番上側に位置するブロック1805参照ブロックAと、処理対象ブロック1801の上側に隣接するブロックの中で一番左側に位置するブロック1806参照ブロックBとは、処理対象ブロック1801の左上隅の頂点を共有することから、処理対象ブロック1801の左上隅において互いに隣接していると定義する。本実施の形態では、このような課題に対して、図25及び図26のように、処理対象予測ブロックに隣接しつつ、参照ブロック同士を隣接させず可能な限り互いに空間的に遠いブロックたとえば、ブロック2505とブロック2506、または、ブロック2605とブロック2606として参照ブロックを定義することで、参照ブロックのイントラ予測モードが同一である確率が低下し、複数の優先予測モードの候補が残りやすくなるので、優先予測モードが選択されやすくなる。その結果、イントラ予測モードの符号量が減少し符号化効率が向上する。なお、図25、図26において、処理対象ブロック2507、2607の左側の辺に隣接するブロックの中で一番下側に位置するブロック2505、2605参照ブロックAと、処理対象ブロック2507、2607の上側の辺に隣接するブロックの中で一番右側に位置するブロック2506、2606参照ブロックBとは、辺または頂点を共有していないから、互いに隣接していない。また、図25及び図26は隣接ブロックのサイズが処理対象予測ブロックのサイズよりも小さい場合の例を示したが、隣接ブロックサイズが処理対象予測ブロックのサイズ以上の場合には、隣接ブロックの選択余地がないため、参照ブロックは互いに隣接することに注意する。このように、参照ブロックAと参照ブロックBのイントラ予測モードが同一である確率を低下させることで、少ない符号量で符号化可能な優先予測モードでイントラ予測モードを伝送できる確率を高め、その結果イントラ予測モードの符号量を小さくすることが可能である。[優先予測モードリスト作成手順]図7のステップS701の優先予測モードリスト作成手順の詳細を図11のフローチャートを参照して説明する。優先予測モードリスト作成部602は、イントラ予測モードメモリ601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、refModeAとrefModeBを比較するステップS1101。refModeAとrefModeBが等しい場合は、mpmList[0]=refModeAと設定しステップS1102、さらにmpmListSize=1と設定しステップS1103、図7のステップS702へ進む。refModeAとrefModeB異なる場合は、mpmList[0]=minrefModeA,refModeB,mpmList[1]=maxrefModeA,refModeBと設定しステップS1104、さらにmpmListSize=2と設定しステップS1105、図7のステップS702へ進む。[優先予測モード判定フラグ、優先予測モードインデックス算出手順]図7のステップS702の優先予測モード判定フラグと優先予測モードインデックス算出手順の詳細を図12のフローチャートを参照して説明する。本手順においては、mpmListを昇順に走査することにより処理を進める。優先予測モード判定フラグ算出部603、及び優先予測モードインデックス算出部605は、優先予測モード判定フラグmpmFlagと、優先予測モードインデックスmpmIndexをそれぞれfalse、0で初期化する。mpmListを走査するための変数iを0で初期化するステップS1201。変数iがmpmListSize未満であるならステップS1202、すなわちまだmpmListのすべての要素を走査し終えていないなら、mpmList[i]とcurrModeIndexを比較するステップS1203。mpmList[i]とcurrModeIndexが等しい場合は、対象予測モードが優先予測モードリストのi番目の要素と等しいことを示し、mpmFlagをtrueに、mpmIndexをiにそれぞれ設定しステップS1204、図7のステップS703へ進む。mpmList[i]とcurrModeIndexが異なる場合は、iを一つ増やしステップS1205、走査を継続する。ステップS1202において、変数iがmpmListSize以上であるとき、すなわち、mpmListのすべての要素を走査し終えたときに、優先予測モード判定フラグ、優先予測モードインデックス算出手順を終了し、図7のステップS703へ進む。このときは対象予測モードが優先予測モードリストに含まれないことを示し、mpmFlagとmpmIndexの再設定は行われない。すなわち、mpmFlag=false、mpmIndex=0となる。[非優先予測モードインデックス算出手順]図7のステップS707の非優先予測モードインデックス算出手順の詳細を図13のフローチャートを参照して説明する。本手順においては、mpmListをインデックスの降順に走査することにより処理を進める。非優先予測モードインデックス算出部607は、非優先予測モードインデックスremModeIndexを対象予測モードcurrModeIndexで初期化し、mpmListを走査するための変数iをmpmListSize-1で初期化するステップS1301。変数iが0以上であるならステップS1302、すなわちまだmpmListのすべての要素を走査し終えていないなら、remModeIndexとmpmList[i]を比較するステップS1303。remModeIndexがmpmList[i]より大きいなら、remModeIndexの値から1を減ずるステップS1304。変数iの値から1を減じてステップS1305、走査を継続する。ステップS1302において、変数iが0未満であるとき、すなわちmpmListのすべての要素を走査し終えたときに、非優先予測モードインデックス算出手順を終了し、図7のステップS708へ進む。[非優先予測モードインデックス符号化手順]図7のステップS708の非優先予測モードインデックス符号化手順の詳細を図14のフローチャートを参照して説明する。非優先予測モードインデックス符号化部608は、対象ブロックサイズを判定するステップS1401。対象ブロックが4×4ブロックであるとき、17パターンのイントラ予測が定義されている。上述した非優先予測モードインデックス算出手順において、優先予測モードの数が1つである場合は、remModeIndexは0~15のいずれかの値に変換され、優先予測モードの数が2つである場合はremModeIndexは0~14のいずれかの値に変換されている。いずれの場合においてもremModeIndexを固定長で表現するのに4ビットで十分であるため、remModeIndexに対し4ビットの固定長符号化を行いステップS1402、処理を終了する。対象ブロックが8×8ブロックまたは16×16ブロックであるとき、34パターンのイントラ予測が定義されている。上述した非優先予測モードインデックス算出手順において、優先予測モードの数が1つである場合は、remModeIndexは0~32のいずれかの値に変換され、優先予測モードの数が2つである場合はremModeIndexは0~31のいずれかの値に変換されている。優先予測モードの数が1つである場合においては、33パターンの非優先予測モードインデックスを取り得るために、5ビットの固定長では十分でないため、可変長の符号化が必要となる。remModeIndexが31未満のときはステップS1403、remModeIndexに対し5ビットの固定長符号化を行いステップS1404、処理を終了する。remModeIndexが31以上のときはステップS1405、remModeIndexが31であれば、6ビット系列111110を符号化しステップS1406、remModeIndexが32であれば、6ビット系列111111を符号化しステップS1407、処理を終了する。本実施例においては、4×4ブロックに対し図2aの符号201の17パターンを定義した。その理由は、4×4ブロックの非優先予測モードインデックスを簡潔に符号化/復号するためである。符号201は、180度を16分割することによる11.25=180/16度単位で予測方向を表現することを基本とするが、モード9とモード8の間のみ22.5度の方向差が生まれ、当該方向の予測精度の低下を伴う。符号201でなく、図2cの符号203の18パターンを定義する場合を考える。18パターンの定義は、11.25度単位の予測方向をすべて表現でき、符号201に見られる予測精度の低下は見られないという長所がある。その場合は、優先予測モードの数が1つである場合はremModeIndexは0~16のいずれかの値に変換され、優先予測モードの数が2つである場合はremModeIndexは0~15のいずれかの値に変換されることになる。優先予測モードの数が1つである場合に16パターンの非優先予測モードインデックスを取りうることになり、本実施例の8×8ブロック、16×16ブロックの例と同様、可変長符号化を行う必要があり、処理が煩雑となる。8×8ブロック、16×16ブロックに対し図2dの符号204の33パターンを定義する構成を取った場合は、4×4ブロックの処理と同様5ビットの固定長符号化が可能となるが、イントラ予測モードの候補数が減るために、符号化効率の劣化が発生することになる。このように、イントラ予測モードの候補数と処理の煩雑度はトレードオフの関係となるが、4×4ブロックは、8×8ブロック、16×16ブロックと比較し小さい角度差による予測精度品質の差が少ないことと、4×4ブロックに係る演算量の影響が8×8ブロック、16×16ブロックと比較し大きいことから、4×4ブロックに対しては符号201の17パターン、8×8、16×16ブロックに対しては符号202の34パターンを定義するものとした。[復号手順]本発明に係る実施の形態によるイントラ予測モードの復号方法の第1の実施例について説明する。図9は図8のイントラ予測モード復号部803の第1の実施例の詳細な構成のブロック図である。第1の実施例のイントラ予測モード復号部803は、イントラ予測モードメモリ901、優先予測モードリスト作成部902、優先予測モード判定フラグ復号部903、優先予測モードインデックス復号部904、優先予測モード算出部905、非優先予測モードインデックス復号部906、及び非優先予測モード算出部907を備える。図9のイントラ予測モード復号部803におけるイントラ予測モード復号処理は、図6のイントラ予測モード符号化部508におけるイントラ予測モード符号化処理に対応するものであるから、図9のイントラ予測モードメモリ901、優先予測モードリスト作成部902の各構成は、図6のイントラ予測モードメモリ601、優先予測モードリスト作成部602の各構成とそれぞれ同一の機能を有する。以下、図10のフローチャートも参照しながら、イントラ予測モードの復号手順を説明する。優先予測モードリスト作成部902は、イントラ予測モードメモリ901から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、優先予測モードリストmpmListを作成し、優先予測モードリストのサイズmpmListSizeを決定するステップS1001。イントラ予測モードを取得する隣接ブロックは図25及び図26に示すように本実施の形態の符号化装置と同様である。優先予測モードリスト作成手順は図6の優先予測モードリスト作成部602における優先予測モードリスト作成手順と同様、図11のフローチャートで示す手続きに従うため、詳細説明を省略する。優先予測モード判定フラグ復号部903は、符号化系列から1ビット読み込み、優先予測モード判定フラグmpmFlagを復号しステップS1002、優先予測モード判定フラグmpmFlagの値を判定するステップS1003。優先予測モード判定フラグmpmFlagがtrueである場合は、優先予測モードインデックス復号部904は、優先予測モードの数mpmListSizeを判定するステップS1004。mpmListSizeが1つであれば、優先予測モードインデックスmpmIndexを0に設定するステップS1005。mpmListSizeが2つであれば、符号化系列からさらに1ビットを読み込み、優先予測モードインデックスmpmIndexを復号するステップS1006。さらに、優先予測モード算出部905は、優先予測モードリストmpmListのmpmIndex番目の要素mpmList[mpmIndex]を対象予測モードcurrModeIndexとしステップS1007、処理を終了する。優先予測モード判定フラグmpmFlagがfalseである場合は、非優先予測モードインデックス復号部906は、非優先予測モードインデックスremModeIndexを復号しステップS1008、非優先予測モード算出部907は、算出したremModeIndexを元に対象予測モードcurrModeIndexを算出するステップS1009。対象予測モードcurrModeIndexをイントラ予測モードメモリ901に格納し、処理を終了する。非優先予測モードインデックスの復号手順、および対象予測モード算出手順については後述する。[非優先予測モードインデックス復号手順]図10のステップS1008の非優先予測モードインデックス復号手順の詳細を図15のフローチャートを参照して説明する。非優先予測モードインデックス復号部906は、対象ブロックサイズを判定するステップS1501。対象ブロックが4×4ブロックであるとき、4ビットの固定長復号を行い、remModeIndexとするステップS1502。対象ブロックが8×8ブロックまたは16×16ブロックであるとき、まず5ビットの固定長復号を行い、remModeIndexとするステップS1503。remModeIndexの値を判定するステップS1504。remModeIndexが11111でないときは、非優先予測モードインデックス復号手順を終了し、図10のステップS1009に進む。remModeIndexが11111であるときは、さらに1ビットnextBitの復号を行いステップS1505、nextBitの値を判定するステップS1506。nextBitが0であれば、remModeIndexを31と設定した上で、非優先予測モードインデックス復号手順を終了し、図10のステップS1009に進む。nextBitが0であれば、remModeIndexを32と設定した上で、非優先予測モードインデックス復号手順を終了し、図10のステップS1009に進む。[予測モード算出手順]図10のステップS1009の予測モード算出手順の詳細を図16のフローチャートを参照して説明する。本手順においては、mpmListをインデックスの昇順に走査することにより処理を進める。非優先予測モード算出部907は、対象予測モードcurrModeIndexを非優先予測モードインデックスremModeIndexで初期化し、mpmListを走査するための変数iを0で初期化するステップS1601。変数iがmpmListSize未満であるならステップS1602、すなわちまだmpmListのすべての要素を走査していないのであれば、currModeIndexとmpmList[i]を比較するステップS1603。currModeIndexがmpmList[i]以上であれば、currModeIndexの値に1を加えるステップS1604。変数iの値に1を加えてステップS1605、走査を継続する。ステップS1602において、iがmpmListSize以上になったとき、すなわちmpmListのすべての要素を走査し終えたときに処理を終了する。図23は本実施例の符号化装置により出力され、また復号装置で解釈される符号化ストリームのイントラ予測モードの符号化構文である。第2の実施例本実施例においては、優先予測モードリスト作成時に、refModeAとrefModeBが同一の場合に、参照予測モードと異なる予測モードを優先予測モードリストに追加することにより、常に2つの優先予測モードを設定する点が実施例1と異なる。このように優先予測モードの数を固定数とすることにより、隣接ブロックのイントラ予測モードを参照して優先予測モードの数を導出することなくイントラ予測モードのエントロピー復号が可能となり、エントロピー復号の処理が簡略化される。また、符号化/復号処理の処理分岐を少なくし、処理の簡略化を実現するものである。[予測ブロックサイズとイントラ予測モード]本実施例では、予測ブロックのサイズに応じて、イントラ予測モード構成を切り替える。本実施例においては、4×4ブロックでは図2の符号203に示す18パターンを定義し、8×8ブロックと16×16ブロックに対しては、図2の符号201のパターンに符号202のパターンを加えた34パターンを定義する。18パターン及び34パターンの定義は、それぞれ11.25度単位、7.125度単位のすべての予測方向を表現できる点で、一部表現できない方向を有する17パターン及び33パターンの定義と比べ、予測精度が低下しないという長所がある。実施例1との違いは、4×4ブロックのイントラ予測モード構成である。本実施例では、常に2つの優先予測モードを設定するものであるため、18パターンのイントラ予測モードを定義した場合であっても、常に非優先予測モードを16パターンに固定することができるため、非優先予測モードを固定長符号化するに当たり過不足ない符号割当てが可能である。[符号化手順]本発明に係る実施の形態によるイントラ予測モードの符号化方法の第2の実施例について説明する。第2の実施例におけるイントラ予測モード符号化部508の構成は、図6に示した第1の実施例と同様であるが、優先予測モードリスト作成部602、優先予測モードインデックス符号化部606、及び非優先予測モードインデックス符号化部608の詳細な動作は第1の実施例とは異なる。以下、図17のフローチャートを参照して、イントラ予測モードの符号化手順を説明する。優先予測モードリスト作成部602は、イントラ予測モードメモリ601から隣接ブロックのイントラ予測モードを取得し、優先予測モードリストmpmListを作成し、優先予測モードリストサイズmpmListSizeを決定するステップS1701。優先予測モードリスト作成手順の詳細については後述する。また、対象イントラ予測モードをイントラ予測モードメモリ601に記憶する。本実施例においては、優先予測モードリストサイズmpmListSizeが常に2となるように優先予測モードリストmpmListを作成する点が第1の実施例とは異なる。優先予測モード判定フラグ算出部603、及び優先予測モードインデックス算出部605は、対象予測モードと優先予測モードリストmpmListを取得し、優先予測モード判定フラグmpmFlagと、優先予測モードインデックスmpmIndexを算出しステップS1702、優先予測モード判定フラグmpmFlagを符号化するステップS1703。優先予測モード判定フラグ、優先予測モードインデックス算出手順の詳細は図7のS702と同様であるため、説明を省略する。優先予測モード判定部609は、優先予測モード判定フラグmpmFlagを判定するステップS1704。優先予測モード判定フラグmpmFlagがtrueである場合は、優先予測モードインデックス符号化部606は、優先予測モードインデックスmpmIndexを符号化しステップS1705、処理を終了する。本実施例においては、優先予測モードリストサイズmpmListSizeを常に2と設定するものであるため、実施例1の図7における優先予測モードリストサイズmpmListSize判定手続きステップS705が省略される。優先予測モード判定フラグmpmFlagがfalseである場合は、非優先予測モードインデックス算出部607は、非優先予測モードインデックスremModeIndexを算出しステップS1706、さらに非優先予測モードインデックス符号化部608は、算出した非優先予測モードremModeIndexの符号化を行うステップS1707。非優先予測モードインデックス算出手順については図7のステップS707と同様であるため、説明を省略する。非優先予測モード符号化手順の詳細については後述する。[優先予測モードリスト作成手順]図17のステップS701の参照イントラ予測モード決定手順の詳細を図19のフローチャートを参照して説明する。優先予測モードリスト作成部602は、イントラ予測モードメモリ601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、refModeAとrefModeBを比較するステップS1901。refModeAとrefModeBが等しい場合は、mpmList[0]=refModeAと設定するステップS1902。refModeAが平均値モードであるかどうかを判定しステップS1903、refModeAが平均値モードであるならば、mpmList[1]=0と設定するステップS1904。refModeAが平均値モードでないならば、mpmList[1]=2と設定するステップS1905。ただし、図2の符号201、202で参照されるように、0は垂直方向予測モード、2は平均値モードを示す。mpmList[1]は、mpmList[0]と値が異なるモードでなければならない。本実施例においては、refModeAが平均値モードでないときにmpmList[1]を平均値モードに設定するが、refModeAが平均値モードであるときはmpmList[1]に平均値モードを設定してしまうとmpmList[1]とmpmList[0]が同一になってしまう。mpmList[1]に設定する予測モードの候補は少なくとも2つ以上でなければならない。本実施例においては、mpmList[1]に設定する値は予め定められたものであり、refModeA、refModeBおよび符号化過程により変動しないものとするが、例えばステップS1904においてmpmList[1]=1水平方向予測モードを設定するように、予め決定する値を異なるものにすることは可能である。ここで設定する値は、一般に発生頻度が高い予測モードであることが好ましい。さらにmpmListSize=2と設定しステップS1907、図17のステップS1702へ進む。refModeAとrefModeB異なる場合は、mpmList[0]=minrefModeA,refModeB,mpmList[1]=maxrefModeA,refModeBと設定しステップS1906、さらにmpmListSize=2と設定しステップS1907、図17のステップS1702へ進む。このように、ブロックAの予測モードrefModeAとブロックBの予測モードrefModeBが等しい場合に、別のイントラ予測モードを追加し優先予測モードの数を固定する。優先予測モードの数を固定すると、隣接ブロックの状況に依存せずにイントラ予測モードの符号化復号が可能になる。ただし、隣接ブロックにないイントラ予測モードは、隣接ブロックにあるイントラ予測モードと比較して選択される確率が低いため、隣接ブロックにないイントラ予測モードを優先予測モードとすることは、イントラ予測モードの符号量増加を伴う。そこで、隣接ブロックにないイントラ予測モードを優先予測モードに適用することによるイントラ予測モードの符号量増加の影響を最小限にするため、第2の実施例でも第1の実施例と同様に、図25及び図26のようにイントラ予測モードを取得する参照ブロックは、処理対象予測ブロックの左側の辺に隣接しかつ最も下側に位置するブロックAと、処理対象予測ブロックの上側の辺に隣接しかつ最も右側に位置するブロックBとする。これにより、refModeAとrefModeBの値が同一となる確率が低下するため、符号化効率の低下を抑制できる。[非優先予測モードインデックス符号化手順]図17のステップS1707の非優先予測モードインデックス符号化手順の詳細を図20のフローチャートを参照して説明する。非優先予測モードインデックス符号化部608は、対象ブロックサイズを判定するステップS2001。対象ブロックが4×4ブロックであるとき、18パターンのイントラ予測が定義されている。上述した非優先予測モードインデックス算出手順において、優先予測モードの数は2つであり、remModeIndexは0~15のいずれかの値に変換されている。remModeIndexを固定長で表現するのに4ビットで十分であるため、remModeIndexに対し4ビットの固定長符号化を行いステップS2002、処理を終了する。対象ブロックが8×8ブロックまたは16×16ブロックであるとき、34パターンのイントラ予測が定義されている。上述した非優先予測モードインデックス算出手順において、優先予測モードの数が2つであるため、remModeIndexは0~31のいずれかの値に変換されている。remModeIndexを固定長で表現するのに5ビットで十分であるため、remModeIndexに対し5ビットの固定長符号化を行いステップS2003、処理を終了する。第1の実施例においては、優先予測モードの数に応じて、非優先予測モードの数が変動するために、非優先予測モードの可変長符号化を適用することによる処理の複雑化、もしくはイントラ予測モードの候補数減少による符号化効率の低下を伴うものであった。第2の実施例においては、優先予測モードの数が2つであることが保証されているために、イントラ予測モードの候補数の減少を伴うことなく、非優先予測モードインデックスを常に固定長符号化することができ、簡便な符号化手順を保った上で、さらなる符号化効率向上を実現できる。[復号手順]本発明に係る実施の形態によるイントラ予測モードの復号方法の第2の実施例について説明する。第2の実施例におけるイントラ予測モード復号部803の構成は、図9に示した第1の実施例と同様であるが、優先予測モードリスト作成部902、優先予測モードインデックス復号部904、及び非優先予測モードインデックス復号部906の詳細な動作は第1の実施例とは異なる。以下、図21のフローチャートを参照して、イントラ予測モードの復号手順を説明する。優先予測モードリスト作成部902は、イントラ予測モードメモリ901から隣接ブロックのイントラ予測モードを取得し、優先予測モードリストmpmListを作成し、優先予測モードリストのサイズmpmListSizeを決定するステップS2101。第2の実施例においては、優先予測モードリストサイズmpmListSizeが常に2となるように優先予測モードリストmpmListを作成する点が第1の実施例とは異なる。優先予測モードリスト作成手順は図6の優先予測モードリスト作成部602における優先予測モードリスト作成手順と同様、図19のフローチャートで示す手続きに従うため、詳細説明を省略する。優先予測モード判定フラグ復号部903は、符号化系列から1ビット読み込み、優先予測モード判定フラグmpmFlagを復号しステップS2102、優先予測モード判定フラグmpmFlagを判定するステップS2103。優先予測モード判定フラグmpmFlagがtrueである場合は、優先予測モードインデックス復号部904は、符号化系列からさらに1ビットを読み込み、優先予測モードインデックスmpmIndexを復号するステップS2104。さらに、優先予測モード算出部905は、優先予測モードリストmpmListのmpmIndex番目の要素mpmList[mpmIndex]を対象予測モードcurrModeIndexとしステップS2105、処理を終了する。第2の実施例においては、優先予測モードリストサイズmpmListSizeを常に2と設定するため、第1の実施例の図10における優先予測モードリストサイズmpmListSize判定手続きステップS1004が省略される。優先予測モード判定フラグmpmFlagがfalseである場合は、非優先予測モードインデックス復号部906は、非優先予測モードインデックスremModeIndexを復号しステップS2106、さらに、非優先予測モード算出部907は、算出したremModeIndexを元に対象予測モードcurrModeIndexを算出するステップS2107。対象予測モードcurrModeIndexをイントラ予測モードメモリ901に格納し、処理を終了する。非優先予測モードインデックスの復号手順については後述する。対象予測モード算出手順については図10のステップS1009と同様であるため、説明を省略する。[非優先予測モードインデックス復号手順]図21のステップS2106の非優先予測モードインデックス復号手順の詳細を図22のフローチャートを参照して説明する。非優先予測モード算出部907は、対象ブロックサイズを判定するステップS2201。対象ブロックが4×4ブロックであるとき、4ビットの固定長復号を行い、remModeIndexとしステップS2202、非優先予測モードインデックス復号手順を終了し、図21のステップS2107に進む。対象ブロックが8×8ブロックまたは16×16ブロックであるとき、5ビットの固定長復号を行い、remModeIndexとしステップS2203、非優先予測モードインデックス復号手順を終了し、図21のステップS2107に進む。図24は本実施例の符号化装置により出力され、また復号装置で解釈される符号化ストリームのイントラ予測モードの符号化構文である。以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROMリードオンリメモリやフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。"