(57)【要約】【課題】イントラ予測モードを可変長表現すると、演算量、回路規模が増加する。【解決手段】優先予測モード算出部９０２は、復号対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを用いて所定数の優先予測モードのリストを作成する。非優先予測モードインデックス復号部９０４は、復号対象ブロックの画面内予測モードが優先予測モードのリストに含まれないときの非優先予測モードインデックスを復号する。画面内予測モードの予測方向は所定角度ごとに定義されており、左下４５度方向から所定角度の所定数分だけ水平方向に近い方向の画面内予測モードは設定しないようにすることにより、非優先予測モードの総数が２のべき乗に設定され、非優先予測モード算出部９０５は、復号されたバイナリ表現の非優先予測モードインデックスをインデックス値に変換する固定長逆二値化処理を行う。【選択図】図９
2013141076.tif 000002
【特許請求の範囲】
【請求項１】
符号化ストリームからブロック単位で画面内予測モードを特定する情報を復号し、復号された画面内予測モードを特定する情報を用いて、画像信号を復号する画像復号装置であって、
復号対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成部と、
前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるかどうかを示す情報を復号する優先予測モードフラグ復号部と、
前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるときの画面内予測モードを復号する優先予測モード復号部と、
前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれないときの非優先予測モードインデックスを復号する非優先予測モードインデックス復号部と、
前記非優先予測モードインデックスを前記復号対象ブロックの画面内予測モードに変換する非優先予測モード算出部とを備え、
画面内予測モードの予測方向は所定角度ごとに定義されており、左下４５度方向から所定角度の所定数分だけ水平方向に近い方向の画面内予測モードは設定しないようにすることにより、前記非優先予測モードの総数が２のべき乗に設定され、
前記非優先予測モード算出部は、復号されたバイナリ表現の前記非優先予測モードインデックスをインデックス値に変換する固定長逆二値化処理を行うことを特徴とする画像復号装置。
【請求項２】
符号化ストリームからブロック単位で画面内予測モードを特定する情報を復号し、復号された画面内予測モードを特定する情報を用いて、画像信号を復号する画像復号方法であって、
復号対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成ステップと、
前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるかどうかを示す情報を復号する優先予測モードフラグ復号ステップと、
前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるときの画面内予測モードを復号する優先予測モード復号ステップと、
前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれないときの非優先予測モードインデックスを復号する非優先予測モードインデックス復号ステップと、
前記非優先予測モードインデックスを前記復号対象ブロックの画面内予測モードに変換する非優先予測モード算出ステップとを備え、
画面内予測モードの予測方向は所定角度ごとに定義されており、左下４５度方向から所定角度の所定数分だけ水平方向に近い方向の画面内予測モードは設定しないようにすることにより、前記非優先予測モードの総数が２のべき乗に設定され、
前記非優先予測モード算出ステップは、復号されたバイナリ表現の前記非優先予測モードインデックスをインデックス値に変換する固定長逆二値化処理を行うことを特徴とする画像復号方法。
【請求項３】
符号化ストリームからブロック単位で画面内予測モードを特定する情報を復号し、復号された画面内予測モードを特定する情報を用いて、画像信号を復号する画像復号プログラムであって、
復号対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成ステップと、
前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるかどうかを示す情報を復号する優先予測モードフラグ復号ステップと、
前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるときの画面内予測モードを復号する優先予測モード復号ステップと、
前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれないときの非優先予測モードインデックスを復号する非優先予測モードインデックス復号ステップと、
前記非優先予測モードインデックスを前記復号対象ブロックの画面内予測モードに変換する非優先予測モード算出ステップとをコンピュータに実行させ、
画面内予測モードの予測方向は所定角度ごとに定義されており、左下４５度方向から所定角度の所定数分だけ水平方向に近い方向の画面内予測モードは設定しないようにすることにより、前記非優先予測モードの総数が２のべき乗に設定され、
前記非優先予測モード算出ステップは、復号されたバイナリ表現の前記非優先予測モードインデックスをインデックス値に変換する固定長逆二値化処理を行うことを特徴とする画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像復号技術に関し、特に画面内復号技術に関する。
【背景技術】
【０００２】
動画像符号化の国際標準であるＭＰＥＧ−４  ＡＶＣでは、一画面内で処理を完結させる画面内符号化の方式としてイントラ予測と呼ばれる方式を採用している。イントラ予測は、処理対象となるブロックに隣接した既復号サンプル値を、指定された予測方向に複製することにより処理対象ブロックの予測画像を作り出すものである。ＭＰＥＧ−４  ＡＶＣでは図１に示す９種類の予測方向が定義されており、各ブロックにおいて予測方向を示すイントラ予測モードのモード番号を伝送することにより、適切な予測方向を指定する構成をとる。図１で示す予測モードのうち、平均値モード（モード２）を除くモードは、対象ブロックに隣接する既復号画素群から、選択された予測モードの予測画素値を決定し、決定した予測画素値を選択された予測モードが示す方向に順次複製するものである。
【０００３】
予測方向の定義数を拡張することにより予測画像品質を高めることができる。しかしながら、予測方向の定義数の増加は、予測品質の向上が実現できる一方、イントラ予測モードの伝送情報量の増加につながる。予測方向の定義数が増加するにつれ、全発生符号量のうちイントラ予測モードの占める割合が増加し、イントラ予測モードの効率的な伝送方法の重要性が高まる。
【０００４】
特許文献１には、伝送する画面内予測モードの総数を減らすことにより、画面内予測モードの符号量を削減する手段が記載されている。特許文献１の方法は、複数のブロックの画面内予測モードを所定の統合単位分走査して、統合単位内のすべての画面内予測モードが同一である場合に統合単位で一つの画面内予測モードを伝送することにより、伝送する画面内予測モードを減らすものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２４６９７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
３０１の符号化木と３０３の符号化木における構成上の違いは、非優先予測モード７番と非優先予測モード８番に対する割り当て符号長が異なることである。上述した通り、このような構成を取ることにより、既定義のイントラ予測モードとは特性の異なるイントラ予測モードを定義することによるイントラ予測精度の向上を少ない符号量の増加で実現できるため、符号化効率が向上する。しかしながらイントラ予測モードの復号に係る処理量、および回路構成の観点から以下の問題が生ずる。
【０００７】
既定義のイントラ予測モードとは特性の異なるイントラ予測モードを新たに定義すると、イントラ予測モードを符号化するための符号化木の構成が変わり、効率化のためにイントラ予測モードを示すインデックスを可変長表現することがある。インデックスを可変長表現すると、上位ビットの値に応じて、次のビットを取得するかどうかの処理分岐が生じ、演算量、回路規模の増加につながる。
【０００８】
本発明はこうした状況に鑑みてなされたものであり、その目的は、回路規模、処理の複雑度の増加を抑えた上で符号化効率を向上させる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様の画像復号装置は、符号化ストリームからブロック単位で画面内予測モードを特定する情報を復号し、復号された画面内予測モードを特定する情報を用いて、画像信号を復号する画像復号装置であって、復号対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成部（９０２、２８０２）と、前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるかどうかを示す情報を復号する優先予測モードフラグ復号部（９０３、２８０３）と、前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるときの画面内予測モードを復号する優先予測モード復号部（９０３、２８０４）と、前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれないときの非優先予測モードインデックスを復号する非優先予測モードインデックス復号部（９０４、２８０６）と、前記非優先予測モードインデックスを前記復号対象ブロックの画面内予測モードに変換する非優先予測モード算出部（９０５、２８０７）とを備える。画面内予測モードの予測方向は所定角度ごとに定義されており、左下４５度方向から所定角度の所定数分だけ水平方向に近い方向の画面内予測モードは設定しないようにすることにより、前記非優先予測モードの総数が２のべき乗に設定され、前記非優先予測モード算出部（９０５、２８０７）は、復号されたバイナリ表現の前記非優先予測モードインデックスをインデックス値に変換する固定長逆二値化処理を行う。
【００１０】
本発明の別の態様は、画像復号方法である。この方法は、符号化ストリームからブロック単位で画面内予測モードを特定する情報を復号し、復号された画面内予測モードを特定する情報を用いて、画像信号を復号する画像復号方法であって、復号対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを用いて所定数の優先予測モードのリストを作成する優先予測モードリスト作成ステップと、前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるかどうかを示す情報を復号する優先予測モードフラグ復号ステップと、前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれるときの画面内予測モードを復号する優先予測モード復号ステップと、前記復号対象ブロックの画面内予測モードが前記優先予測モードのリストに含まれないときの非優先予測モードインデックスを復号する非優先予測モードインデックス復号ステップと、前記非優先予測モードインデックスを前記復号対象ブロックの画面内予測モードに変換する非優先予測モード算出ステップとを備える。画面内予測モードの予測方向は所定角度ごとに定義されており、左下４５度方向から所定角度の所定数分だけ水平方向に近い方向の画面内予測モードは設定しないようにすることにより、前記非優先予測モードの総数が２のべき乗に設定され、前記非優先予測モード算出ステップは、復号されたバイナリ表現の前記非優先予測モードインデックスをインデックス値に変換する固定長逆二値化処理を行う。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、イントラ予測処理の複雑化を抑制し、符号化効率を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】９種類のイントラ予測モードの予測方向を説明する図である。
【図２】１７種類と３３種類、及び１８種類と３３種類のイントラ予測モードの予測方向を説明する図である。
【図３】イントラ予測モードを符号化するための符号化木を説明する図である。
【図４】図３の符号化木に従いイントラ予測モードを伝送するための符号化構文を説明する図である。
【図５】実施の形態に係るイントラ予測モードの符号化方法を実行するための画像符号化装置の構成を示すブロック図である。
【図６】図５のイントラ予測モード符号化部の第１の実施例の詳細な構成を示すブロック図である。
【図７】第１の実施例のイントラ予測モード符号化部の動作を説明するフローチャートである。
【図８】実施の形態に係るイントラ予測モードの復号方法を実行するための画像復号装置の構成を示すブロック図である。
【図９】図８のイントラ予測モード復号部の第１の実施例の詳細な構成を示すブロック図である。
【図１０】第１の実施例のイントラ予測モード復号部の動作を説明するフローチャートである。
【図１１】第２の実施例における優先予測モード判定フラグ、優先予測モードインデックスを算出する手順を説明するフローチャートである。
【図１２】第２の実施例における非優先予測モードインデックスを算出する動作を説明するフローチャートである。
【図１３】９種類のイントラ予測モードの予測方向を説明する図である。
【図１４】第１の実施例における非優先予測モードを算出する手順を説明するフローチャートである。
【図１５】第２の実施例における非優先予測モードを算出する手順を説明するフローチャートである。
【図１６】第２の実施例のイントラ予測モード符号化部の動作を説明するフローチャートである。
【図１７】実施の形態に係る予測ブロック構成と参照ブロックを説明する図である。
【図１８】第２の実施例における優先予測モードリストを算出する手順を説明するフローチャートである。
【図１９】実施の形態に係る非優先予測モードインデックスを符号化する手順を説明するフローチャートである。
【図２０】第２の実施例のイントラ予測モード復号部の動作を説明するフローチャートである。
【図２１】実施の形態に係る非優先予測モードインデックスを復号する手順を説明するフローチャートである。
【図２２】１９種類および３５種類のイントラ予測モードの予測方向を説明する図である。
【図２３】第２の実施例の符号化装置／復号装置に対応するイントラ予測モードの符号化構文を説明する図である。
【図２４】処理順に対する参照画素の参照可能性を説明する図である。
【図２５】実施の形態に係る参照予測モードを決定する手順を説明するフローチャートである。
【図２６】第２の実施例のイントラ予測モード復号部の詳細な構成を示すブロック図である。
【図２７】第２の実施例のイントラ予測モード符号化部の詳細な構成を示すブロック図である。
【図２８】第１における非優先予測モードインデックスを算出する手順を説明するフローチャートである。
【図２９】平面予測モードを説明する図である。
【図３０】垂直方向予測モードを説明する図である。
【図３１】左下方向予測モードを説明するための図である。
【図３２】図１３のモード９を説明する図である。
【図３３】イントラ予測モードの参照画素位置を説明する概念図である。
【図３４】ブロックの処理順を説明する図である。
【発明を実施するための形態】
【００１４】
まず、本発明の実施の形態の前提となる技術を説明する。
【００１５】
以下の説明において、「処理対象ブロック」とは、画像符号化装置による符号化処理の場合は、符号化対象ブロックのことであり、画像復号装置による復号処理の場合は、復号対象ブロックのことである。「既処理ブロック」とは、画像符号化装置による符号化処理の場合は、符号化済みの復号されたブロックのことであり、画像復号装置による復号処理の場合は、復号済みのブロックのことである。以下、断りのない限り、この意味で用いる。
【００１６】
［符号化木］
ＭＰＥＧ−４  ＡＶＣにおける８×８ブロック及び４×４ブロックのイントラ予測モードの伝送方法は、図３の符号３０１に示す符号化木に従う。図中、内部節点（円）は符号を、葉（四角）はモード番号を割り当てる。葉のうち符号３０２は優先予測モードである。優先予測モードについては後述する。例えば、優先予測モードに対しては“１”が、非優先予測モード７番に対しては符号“０１１１”が割り当てられる。
【００１７】
この操作に対応する符号化構文を図４に示す。ｐｒｅｖ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｆｌａｇは優先予測モードかどうかを特定する構文要素、ｒｅｍ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｍｏｄｅはモード番号を表す構文要素である。復号時にはまず１ビットのｐｒｅｖ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｆｌａｇを符号化系列から読み出し、ｐｒｅｖ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｆｌａｇが”１”であるときには優先予測モードをイントラ予測モードと設定し次の構文へ移る。そうでないときはさらに３ビットのｐｒｅｖ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｆｌａｇの読み出しを行い、ｒｅｍ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｍｏｄｅを用いてイントラ予測モードとして設定する。
【００１８】
［優先予測モード］
優先予測モードを決定するために、既処理隣接ブロックを参照する。既処理隣接ブロックは、処理対象予測ブロックの左側に隣接しかつ最も上側に位置するブロック（参照ブロックＡ）と、処理対象予測ブロックの上側に隣接しかつ最も左側に位置するブロック（参照ブロックＢ）とする。既処理隣接参照ブロックの例について図１７を用いて説明する。処理対象予測ブロックは符号１８０１である。処理対象予測ブロック１８０１に対し空間的に上側もしくは／および左側に位置するブロック（符号１８０２から１８０６）はすべて既処理であり、そうでないブロック（符号１８０７）は未処理となる。処理対象予測ブロック１８０１の左側に隣接するブロックの中で一番上側に位置するブロック（符号１８０５）を参照ブロックＡとする。また対象ブロック１８０１の上側に隣接するブロックの中で一番左側に位置するブロック１８０６を参照ブロックＢとする。また参照ブロックＡ、参照ブロックＢの予測モードを参照モードＡ、参照モードＢとする。
【００１９】
参照モードＡ、参照モードＢのイントラ予測モード番号をそれぞれｍｏｄｅＩｄｘＡ、ｍｏｄｅＩｄｘＢとするときに、対象ブロックの優先予測モードのインデックスｍｐｍＩｄｘを以下の式で表す。
ｍｐｍＩｄｘ＝ｍｉｎ（ｍｏｄｅＩｄｘＡ、ｍｏｄｅＩｄｘＢ）・・・（式１）
すなわち優先予測モードはただひとつとなる。
【００２０】
このような伝送方法をとることの利点は、処理対象の予測モードが優先予測モードと等しいか予測モードに対し短い符号語を割り当てることにより、平均的にイントラ予測モードの符号量を削減できることである。
【００２１】
次に図１３のイントラ予測モードについて考える。図１３は図１の定義に対しに対し平面予測モードを追加したものである。
【００２２】
モード１、およびモード３からモード９はモードで示す方向に位置する既復号画素を対象ブロックの各画素の予測画素とするモードである。
【００２３】
図３０はモード１のイントラ予測の概念図である。符号３２０１および３２０２は既復号画素であり、符号３０２３は対象ブロックの予測画素である。モード１は垂直方向予測であり、各予測画素に対する既復号画素の参照位置はすべて整数位置となる。ｉ（０≦ｉ＜４）を予測画素の水平方向位置、ｊ（０≦ｊ＜４）を予測画素の垂直方向位置、ａｉを既復号画素とするとき、対象ブロックの予測画素値ｐｊｉは、
ｐｊｉ＝ａｉ・・・（式２）
で表される。
【００２４】
図３１は、モード４の予測のイントラ予測の概念図である。モード４は左下４５度方向予測である。この場合も各予測画素に対する既復号画素の参照位置はすべて整数位置となり、対象ブロックの予測画素値ｐｊｉは、
ｐｊｉ＝ｂ（ｊ＋１）・・・（式３）
で表される。ブロックの処理順によっては、ｂｊ（４≦ｊ＜８）が未復号である場合が存在する。そのときはあらかじめ、ｂｊ＝ｂ３（４≦ｊ＜８）として代替画素値を算出した後、式３を適用することにより、予測精度の低下を伴うものの予測画素作成処理を共通化する。
【００２５】
図３２は、モード９の予測のイントラ予測の概念図である。モード９は左下ｔａｎ−１（１／２）度方向予測である。この場合は、予測画素の水平予測方向位置が奇数である予測画素に対しては、モード１、およびモード４の例と同様、既復号画素の参照位置は整数位置をとる一方、予測画素の垂直方向位置が偶数である予測画素に対しては、整数位置の既復号画素そのものを参照することができない。そのため、予測画素の垂直方向位置が偶数である予測画素に対しては、参照位置が少数位置となるため、整数位置にある既復号画素からの線形補間により、疑似参照画素を算出する。モード９の予測画素値ｐｊｉは、
ｐｊｉ＝ｂ（ｉ＋１）／２  （ｉが奇数のとき）
ｐｊｉ＝（ｂｉ／２＋ｂｉ／２＋１）／２  （ｉが奇数のとき）・・・（式４）
で表される。
【００２６】
一般に、垂直方向予測、水平方向予測、および４５度方向予測以外の予測モードに対しては、モード９と同様、少数位置の疑似参照画素値を算出する必要が生ずる。図３３は予測画素値算出の概念図である。対象予測画素をｐｒｅｄ、参照位置をｒｅｆＰｏｓとする。参照画素位置の両端に存在する整数位置参照画素をそれぞれ、Ｒｅｆ１、Ｒｅｆ２とし、ｒｅｆＰｏｓとＲｅｆ１の位置の差をｑとおく。ｑは小数精度の変数である。このとき予測画素ｐｒｅｄは、
ｐｒｅｄ＝ｑ×Ｒｅｆ１＋（１−ｑ）×Ｒｅｆ１・・・（式５）
で表される。
【００２７】
モード１、およびモード３からモード９の予測は、予測方向に直交する信号成分の再現性が高いため、特定の１方向に高周波数成分を持つブロックに対し効率的な符号化が可能である。
【００２８】
モード２は平均値モードである。平均値モードは、対象ブロックに隣接する既復号画素の平均値を、対象ブロックのすべての画素の予測値とするモードである。平均値モードは既復号画素の周波数成分を一切再現しないため、対象ブロックが平坦である場合とともに、隣接ブロックと処理対象ブロックの相関性が低い場合に有効となる。
【００２９】
モード０は平面予測モードである。図２９は平面予測モードの概念図である。平面予測モードは、周辺参照画素を図３０の３１０４は下側参照画素、３１０５は右側参照画素である。予測処理順がラスタスキャン順、もしくはＺスキャン順である場合は、対象ブロックを処理する時刻において、３１０４、および３１０５の所属するブロックは未復号であるため、ここでは３１０４の各参照画素ｃｉ、および３１０５の各参照画素、ｄｊをそれぞれ以下のように近似するものとする。
ｃｉ＝ｂ４
ｄｉ＝ａ４
【００３０】
対象ブロックの水平・垂直サイズをｎとしたとき、平面予測モードの予測画素値ｐｊｉは、
ｐｊｉ＝｛（ｎ−ｉ−１）ａｊｉ＋（ｉ＋１）ｃｊｉ＋（ｎ−ｉ−１）ｂｊｉ＋（ｉ＋１）ｄｊｉ｝／２ｎ・・・（式６）
で表される。平面予測モードは、周辺信号からの線形補間により予測モードを算出する方法であり、高周波数成分を再現性することはできないが、複数の低周波数成分を表現できるという、予測方向に基づく予測モードとは異なる特性を有する。
【００３１】
図１３の定義に対するイントラ予測モードの伝送方法としては、図３の３０３で示す符号化木をとることが考えられる。３０３は、非優先予測モード７番と非優先予測モード８番に対する割り当て符号長がそれ以外の非優先予測モードと比べて１ビット長い構成となる。したがって、非優先予測モード７番に対しては符号“０１１１０”が割り当てられることになる。
【００３２】
図１のモード定義において、優先予測モードの発生確率ｐ（ｍｐｍ）をｐ（ｍｐｍ）＝０．４、非優先予測モードｒｅｍｉ（０≦ｉ≦７）の発生確率ｐ（ｒｅｍｉ）をｐ（ｒｅｍｉ）≒０．０７５（＝（１−０．４）／８）という確率モデルを考える。優先予測モードの符号量は１ビット、非優先予測モードの符号量は一律３ビットであるため、図１のモード定義におけるイントラ予測モードの平均発生符号量Ｂｉｔｓ１は、
Ｂｉｔｓ１＝０．４×１＋０．６×３＝２．２（ｂｉｔ）
である。
【００３３】
一方、図１３のモード定義において、優先予測モードの発生確率ｐ（ｍｐｍ）をｐ（ｍｐｍ）＝０．４、非優先予測モードｒｅｍｉ（０≦ｉ≦８）の発生確率ｐ（ｒｅｍｉ）をｐ（ｒｅｍｉ）≒０．０６７（＝（１−０．４）／９）という確率モデルでは、非優先予測モードの７番と８番の符号量が４ビットとなるため、図１３のモード定義におけるイントラ予測モードの平均発生符号量Ｂｉｔｓ１は、
Ｂｉｔｓ２＝０．４×１＋（０．０６７×３）×７＋（０．０６７×４）×２≒２．３３（ｂｉｔ）
となる。
【００３４】
この確率モデルでは、Ｂｉｔｓ２／Ｂｉｔｓ１≒１．０６程度である。上記確率モデルは簡単のためにすべての非優先モードの発生確率を等価と設定したものである。非優先予測モードの発生確率のばらつきを考慮すると、符号長を４ビットと設定した非優先予測モードの７番と８番の発生確率はより小さくなるため、実用に当たってはこの見積もりよりも発生符号量の増加は小さくなる。いずれにせよ、高々６％の符号量増加で、図１の定義とは特性の異なる平面予測モードを追加することは、符号化効率向上という観点において妥当であると言える。
【００３５】
符号３０１の符号化木と符号３０３の符号化木における構成上の違いは、非優先予測モード７番と非優先予測モード８番に対する割り当て符号長が異なることである。上述した通り、このような構成を取ることにより、既定義のイントラ予測モードとは特性の異なるイントラ予測モードを定義することによるイントラ予測精度の向上を少ない符号量の増加で実現できるため、符号化効率が向上する。しかしながらイントラ予測モードの復号に係る処理量、および回路構成の観点から以下の問題が生ずる。
【００３６】
符号３０１の符号化木ではｒｅｍ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｍｏｄｅは８種類であるため、３ビットの固定ビット長で表現することができる。一方、符号３０３の符号化木ではｒｅｍ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｍｏｄｅは９種類であり、３ビットもしくは４ビットの可変長表現となる。これは、ｒｅｍ＿ｉｎｔｒａ＿ｐｒｅｄ＿ｍｏｄｅ  の上位３ビットの値に応じて、次のビットを取得するかどうかの処理分岐が生ずることを意味する。そのような構成は演算量、回路規模の増加につながることになる。当該復号処理が完了するまでは後続する予測処理を開始することができないため、当該復号処理の演算量増加は、復号装置設計上好ましいものではない。
【００３７】
本実施の形態では、回路規模、処理の複雑度の増加を抑えた上で符号化効率を向上させる。
【００３８】
［符号化装置］
本発明を実施する好適な画像符号化装置について図面を参照して説明する。図５は実施の形態に係る画像符号化装置の構成を示すブロック図である。実施の形態の画像符号化装置は、減算部５０１と、直交変換・量子化部５０２と、逆量子化・逆変換部５０３と、加算部５０４と、復号画像メモリ５０５と、イントラ予測部５０６と、テクスチャ情報符号化部５０７と、イントラ予測モード符号化部５０８と、イントラ予測モード選択部５０９とを備える。本発明の実施の形態は画面内予測に注目したものであるため、画面間予測に関連する構成要素は省略する。
【００３９】
イントラ予測モード選択部５０９は、画像のブロック毎に最適なイントラ予測モードを選択し、選択されたイントラ予測モードをイントラ予測部５０６と、イントラ予測モード符号化部５０８に与える。
【００４０】
イントラ予測モード符号化部５０８は、入力されたイントラ予測モードを可変長符号化してイントラ予測モードビットストリームを出力する。イントラ予測モード符号化部５０８の詳細な構成と動作については後述する。
【００４１】
イントラ予測部５０６は、入力されたイントラ予測モードと、復号画像メモリ５０５に記憶した隣接ブロックの既復号画像を用いてイントラ予測画像を生成し、生成したイントラ予測画像を減算部５０１へ与える。
【００４２】
減算部５０１は、符号化対象の原画像からイントラ予測画像を減ずることにより差分信号を生成し、生成した差分信号を直交変換・量子化部５０２に与える。
【００４３】
直交変換・量子化部５０２は、差分信号に対し直交変換・量子化をしてテクスチャ情報を生成し、生成したテクスチャ情報を逆量子化・逆変換部５０３とテクスチャ情報符号化部５０７に与える。
【００４４】
テクスチャ情報符号化部５０７は、テクスチャ情報をエントロピー符号化してテクスチャ情報ビットストリームを出力する。
【００４５】
逆量子化・逆変換部５０３は、直交変換・量子化部５０２から受け取ったテクスチャ情報に対し逆量子化・逆直交変換をして復号差分信号を生成し、生成した復号差分信号を加算部５０４に与える。
【００４６】
加算部５０４は、イントラ予測画像と復号差分信号を加算して復号画像を生成し、生成した復号画像を復号画像メモリ５０５に格納する。
【００４７】
［復号装置］
本発明を実施する好適な画像復号装置について図面を参照して説明する。図８は実施の形態に係る動画像復号装置の構成を示すブロック図である。実施の形態の画像復号装置は、テクスチャ情報復号部８０１と、逆量子化・逆変換部８０２と、イントラ予測モード復号部８０３と、加算部８０４と、復号画像メモリ８０５と、イントラ予測部８０６とを備える。本発明の実施の形態は画面内予測に注目したものであるため、画面間予測に関連する構成要素は省略する。
【００４８】
図８の画像復号装置の復号処理は、図５の画像符号化装置の内部に設けられている復号処理に対応するものであるから、図８の逆量子化・逆変換部８０２、加算部８０４、復号画像メモリ８０５、およびイントラ予測部８０６の各構成は、図５の画像符号化装置の逆量子化・逆変換部５０３、加算部５０４、復号画像メモリ５０５、およびイントラ予測部５０６の各構成と同一の機能を有する。
【００４９】
イントラ予測モード復号部８０３は、入力されたイントラ予測モードビットストリームをエントロピー復号してイントラ予測モードを生成し、生成したイントラ予測モードをイントラ予測部８０６に与える。イントラ予測モード復号部８０３の詳細な構成と動作については後述する。
【００５０】
イントラ予測部８０６は、入力されたイントラ予測モードと、復号画像メモリ８０５に記憶した隣接ブロックの既復号画像を用いてイントラ予測画像を生成し、生成したイントラ予測画像を加算部８０４へ与える。
【００５１】
テクスチャ情報復号部８０１は、テクスチャ情報をエントロピー復号してテクスチャ情報を生成する。生成したテクスチャ情報を逆量子化・逆変換部８０２に与える。
【００５２】
逆量子化・逆変換部８０２は、テクスチャ情報復号部８０１から受け取ったテクスチャ情報に対し逆量子化・逆直交変換をして復号差分信号を生成し、生成した復号差分信号を加算部８０４に与える。
【００５３】
加算部８０４は、イントラ予測画像と復号差分信号を加算して復号画像を生成し、生成した復号画像を復号画像メモリ８０５に格納し、出力する。
【００５４】
本実施の形態に係るイントラ予測モード符号化及び復号手順は、図５の動画像符号化装置のイントラ予測モード符号化部５０８及び図８の動画像復号装置のイントラ予測モード復号部８０３において実施される。以下、実施の形態に係るイントラ予測モード符号化及び復号処理の詳細を説明する。
【００５５】
［符号化ブロック］
本実施の形態では、図１７で示されるように、画面を矩形ブロックにて階層的に分割するとともに、各ブロックに対し所定の処理順による逐次処理を行う。分割する各ブロックを符号化ブロックとよぶ。図１７のブロック１８０９は実施の形態での分割の最大単位であり、これを最大符号化ブロックとよぶ。図１７のブロック１８０８は実施の形態での分割の最小単位であり、これを最小符号化ブロックとよぶ。以下最大符号化ブロックを１６×１６画素として説明を行う。
【００５６】
［予測ブロック］
符号化ブロックのうち、イントラ予測を行う単位を予測ブロックと呼ぶ。予測ブロックは最大符号化ブロック以下のいずれかの大きさを持つ。図１７は処理対象予測ブロックが１６×１６、かつ隣接ブロックが４×４のみで構成されている場合の例である。
【００５７】
符号化手順においては最適な予測ブロックサイズを決定し、予測ブロックサイズを伝送する。復号手順においてはビットストリームより予測ブロックサイズを取得する。以下、予測ブロックをイントラ予測の処理単位として説明を行う。以下最小予測ブロックを４×４画素、最大予測ブロックを１６×１６画素として説明を行う。
【００５８】
［予測ブロックの処理順］
図３４を用いて本実施例における予測ブロックの処理順を説明する。符号３６０１は最大符号化ブロックの処理順である。本実施例では最大符号化ブロックに対しラスタスキャン順による走査を行い、これを最優先の処理順とする。符号３６０２は最大符号化ブロックが１階層分割された場合、すなわち４つの８×８予測ブロックに分割された場合の最大符号化ブロック内の処理順である。このときは、左から右、上から下の順、すなわちブロック３６０３、３６０４、３６０５、３６０６の順に走査を行う。８×８符号化ブロックがさらに分割されている場合、すなわち４つの４×４予測ブロックに分割された場合も、８×８予測ブロックと同様、符号３６０２に示す規則に従う。符号３６０７は、ブロック３６０３が４×４予測ブロック３６０８、３６０９、３６１０、３６１１に、ブロック３６０６が４×４予測ブロック３６１２、３６１３、３６１４、３６１５に、それぞれ分割された場合の処理順である。８×８符号化ブロックを上記の規則で走査し、８×８符号化ブロックが４×４予測ブロックに分割されていた場合は８×８符号化ブロック内を同様の規則で走査する。
【００５９】
［参照ブロックと参照イントラ予測モード］
参照ブロックは、処理対象ブロックの左側に隣接し、かつ最も上側に位置するブロックであるブロックＡと、処理対象ブロックの上側に隣接し、かつ最も左側に位置するブロックであるブロックＢとする。図１７のブロック１８０５が参照ブロックＡ、ブロック１８０６が参照ブロックＢである。ブロックＡの予測モードを隣接予測モードｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡ、ブロックＢの予測モードを隣接予測モードｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢとし、ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡおよびｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢをもとに参照イントラ予測モードｒｅｆＭｏｄｅＡ、ｒｅｆＭｏｄｅＢを算出する。本実施例においては、ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡおよびｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡが取得できないとき、すなわち、参照ブロックが画面外に位置するときは、参照イントラ予測モードは平面予測モードと設定する。また本実施例では画面内予測のみを考慮しているが、画面内予測／画面間予測を適応的に切り替える符号化／復号装置では、参照ブロックが画面間予測である場合も、参照ブロックのイントラ予測モードが取得できないため、参照イントラ予測モードを平面予測モードとする。
【００６０】
本実施例では、予測ブロックサイズに応じて利用可能なイントラ予測モードの数を切り換える構成を取る。参照ブロックが存在し、ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡまたはｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢが取得できる場合においても、参照ブロックと処理対象ブロックの予測ブロックサイズが異なり、ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡまたはｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢが処理対象ブロックで利用不可能であるイントラ予測モードであるという事例が発生する。そのとき、ｒｅｆＭｏｄｅＡ、ｒｅｆＭｏｄｅＢを算出するに当たり、ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡまたはｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢを処理対象ブロックで利用可能なイントラ予測モードに変換する手続きが必要となる。詳細な説明は後述するが、イントラ予測モードの相関性を利用するという観点に立てば、できるだけイントラ予測モード変換手続きを避けること、すなわち、予測ブロックサイズに応じて利用可能なイントラ予測モードの数を切り換える構成においても、共通で定義されるイントラ予測モードが多い構成が好ましい。
【００６１】
［実施例１］
［予測ブロックサイズとイントラ予測モード］
予測ブロックのサイズに応じて、イントラ予測モード構成を切り替えるものとする。本実施例においては、４×４予測ブロックでは図２の符号２０１に示す１７種類を定義し、８×８予測ブロックと１６×１６予測ブロックに対しては、図２の符号２０２に示す３３種類を定義する。符号２０１は平面予測モード、平均値予測モード、および１５種類の方向予測モードにより構成される。符号２０１の方向予測モードは１１．２５度を一単位として定義した上、左下方向からの予測のうち、左下４５度予測１０よりも水平方向予測２に一単位近い予測モードと、三単位近い予測モードを設定しない。符号２０２は平面予測モード、平均値予測モード、および３１種類の方向予測モードにより構成さる。符号２０２の方向予測モードは５．６２５度を一単位として定義した上、左下方向からの予測のうち、左下４５度予測１０よりも水平方向予測２に一単位近い予測モードと、三単位近い予測モードを設定しない。
【００６２】
符号２０１、２０２の定義のイントラ予測モードの優先順位付けは以下で示す特性に従ったものである。
【００６３】
１．予測ブロック処理順に基づく特性
本実施例における予測ブロックの処理順の規則は上述した。図２４の符号２５１６に、最大符号化ブロックをすべて４×４予測ブロックとして符号化した場合の処理順を示す。最大符号化ブロックの処理順の規則より、処理対象最大予測ブロックより空間的に上に位置する予測ブロック、および処理対象予測ブロックより空間的に左に位置し、かつ下にない予測ブロックはすべて処理済みである。そうでない予測ブロックは未処理である。上述した通り、参照先の画素が未処理である場合には、参照先の画素を処理済みの画素をコピーすることにより画素を代替して処理するが、代替処理による予測は代替処理を行わない予測と比較して予測精度が低下する。符号２５１７の網掛けブロック２５０３、２５０７、２５１１、２５１３は右上方向からの予測を行う場合に参照画素が代替となる予測ブロックである。例えば符号２５０３の右上参照画素は符号２５０４に属するが、符号２５０３を処理する時刻において符号２５０４は未処理である。符号２５１８の網掛けブロックは左下方向からの予測を行う場合に参照画素が代替となる予測ブロックである。例えば符号２５０９の左下参照画素は符号２５１０に属するが、符号２５０９を処理する時刻において符号２５１０は未処理である。符号２５１７と符号２５１８の比較から、左下方向からの予測は代替画素を用いるブロックが多いため、右上方向からの予測より平均予測効率が低い。
【００６４】
また、垂直方向・水平方向・左上方向予測はすべての参照画素を既復号画素からとることができるため、前述した右下方向・左下方向と比較して平均予測効率が高い。
【００６５】
２．予測方向の表現精度に基づく特性
本実施例の３３種類のイントラ予測モード定義２０２は、１７種類のイントラ予測モード定義２０１に対し予測方向の表現精度を２倍にした構成を基本とする。このように階層的に表現精度を定義することにより以下の利点が生ずる。例えば符号２０２のモード１とモード２２は予測方向が近く、５．６２５度の角度差である。予測方向が近い予測モードは参照画素位置が近くなるため、作成される予測画像も類似したものとなる。特に処理対象ブロックが小さいときは、角度差による参照画素位置差のずれが起こりにくいため、予測方向を細かく設定する利点は少なくなる。それに対し、角度差が９０度であるモード１とモード２は、それぞれ上側参照画素、左側参照画素から予測画像を作成するものであり、その予測画像は全く異なる。仮に予測モードを２つのみ定義する場合は、モード１とモード２２を定義するより、モード１とモード２を定義する方が、特徴の異なる予測画像から最良のものを選択することができ、イントラ予測モード構文の情報量が高くなる。このように予測方向が離れているモード、例えば垂直方向・水平方向を最優先に定義するものとし、次に４５度方向、２２．５度方向というように、階層的に表現することにより、特徴の異なるイントラ予測モードから、特徴の似ているイントラ予測モードへという優先順位付けができる。上述した通り、平面予測モードは複数の周波数成分を再現できる。また平均予測モードは、隣接ブロックと処理対象ブロックの相関性が低いときに有効となる。平面予測モード、および平均値予測モードは予測方向によるイントラ予測モードと異なる特徴の予測画像を作成することができるため、優先順は上位とする。またこのような定義をすることにより、すべてのブロックサイズに共通のイントラ予測モードを定義し、ブロックサイズに応じて利用可能なモードの数だけを設定する構成をとることができる。例えば、１６×１６予測ブロックに５種類を定義するような構成を取る場合、符号２０２で示すモード番号０番から４番を設定する。ブロックサイズに応じて個別のイントラ予測モードを定義するのに比べ、イントラ予測モードインデックスを解釈するテーブル、または条件分岐が不要であり、演算量・回路規模を削減することができる。
【００６６】
このような構成では、ｎ＜ｍとすると、定義数がｎ個のイントラ予測モードに含まれるすべてのイントラ予測モードは、定義数がｍ個のイントラ予測モードに必ず含まれる。上述した参照イントラ予測モード算出手順に当たり、隣接予測モードが処理対象ブロックのイントラ予測モード定義数より小さい場合は、隣接予測モードが処理対象ブロックで利用可能であることが保証されるため、隣接予測モードの番号と処理対象ブロックのイントラ予測モード定義数を比較するだけで参照ブロックの変換必要性が判定できるとともに、参照予測モード変換の回数を最小限に抑えることができ、予測精度向上に有利となる。
【００６７】
３．予測精度に基づく特性
イントラ予測の予測画素算出手順において、小数点精度の参照画素位置を扱うと、演算量・回路規模の増加、および装置構成に起因するミスマッチが生ずるため、固定小数点表現に近似する。参照画素位置が固定小数点で表現できる位置であるときは参照画素位置を正確に表せるが、参照画素位置が固定小数点で表現できない位置となるときは、画素位置の丸め誤差が発生する。上述した階層的なイントラ予測モード定義においては、階層が１つ深くなると、表現すべき参照画素位置に２倍の精度が必要となるため、固定小数点表現による丸め誤差の影響が強くなる。
【００６８】
さらに参照画素位置の画素値算出手順においても予測精度の低下が起こる。具体的には、小数点精度の参照画素位置の画素値を、隣接した整数位置の参照画素からの線形補間により算出するため、補間処理により予測信号の高域成分が制限され、予測信号の精度の低下を伴う。上述した通り、垂直方向予測、水平方向予測、および４５度方向予測は、常に整数位置が参照画素位置になるため、上記の精度低下が発生しない。そのため、垂直方向予測、水平方向予測、および４５度方向予測の優先順は上位とする。
【００６９】
本実施例においては、上述した特性に基づき、符号２０２では、左下方向の予測モードかつ左下４５度方向でないイントラ予測モード、かつ分割の最小単位５．６１２５度でのみ表現されるモードである、左下４５度方向から水平方向に対し一単位（５．６１２５度）近い方向を表す予測モード、および左下４５度方向から水平方向に対し三単位（１６．８７５度）近い方向を表す予測モードを用いない構成とした。また符号２０１では、左下方向の予測モードかつ左下４５度方向でないイントラ予測モード、かつ分割の最小単位１１．２５度でのみ表現されるモードである、左下４５度方向から水平方向に対し一単位（１１．２５度）近い方向を表す予測モード、および左下４５度方向から水平方向に対し三単位（３３．７５度）近い方向を表す予測モードを用いない構成とした。
【００７０】
左下４５度方向に関して、予測ブロックの処理順という観点からは優先度が低いモードでありながら、予測精度に基づく特性からは優先度が高いモードであるため、最も優先度が低いモードではないことから、本実施例においては左下４５度方向を用いる構成をとる。
【００７１】
本実施例の構成は上記特性すべてに鑑みてなされたものであり、最良の効果を得ることができるが、一部の特性にのみ着目した構成であっても一定の効果を得ることができる。例えば、予測ブロックの処理順という観点からは優先度が低いモードであることを根拠とし、左下４５度方向を用いない構成をとったとしても、左下方向からの予測が予測ブロックの処理順と言う観点から優先度が低いことから、符号化効率の劣化をある程度抑える効果が期待できる。例えば、符号２０２において、左下４５度方向の予測モードを用いない代わりに、分割の最小単位５．６１２５度でのみ表現されるモードのうち、左下４５度方向から水平方向に対し三単位（１６．８７５度）近い方向を表す予測モードを用い、符号２０１において、左下４５度方向の予測モードを用いない代わりに、分割の最小単位１１．２５度でのみ表現されるモードのうち、下４５度方向から水平方向に対し三単位（３３．７５度）近い方向を表す予測モードを用いる構成をとることができる。
【００７２】
［符号化手順］
本発明に係る実施の形態によるイントラ予測モードの符号化方法の第１の実施例について説明する。図６は図５のイントラ予測モード符号化部５０８の第１の実施例の詳細な構成のブロック図である。第１の実施例のイントラ予測モード符号化部５０８は、イントラ予測モードメモリ６０１、優先予測モード算出部６０２、優先予測モード判定フラグ算出部６０３、優先予測モード判定フラグ符号化部６０４、非優先予測モードインデックス算出部６０５、非優先予測モードインデックス符号化部６０６、および参照予測モード決定部６０７を備える。以下、図７のフローチャートも参照しながら、イントラ予測モードの符号化手順を説明する。
【００７３】
参照予測モード決定部６０７は、イントラ予測モードメモリ６０１から隣接ブロックのイントラ予測モードｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡとｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢを取得し、対象ブロックの参照イントラ予測モードｒｅｆＭｏｄｅＡとｒｅｆＭｏｄｅＢを決定する（ステップＳ７０１）。参照予測モード決定手順の詳細については後述する。
【００７４】
優先予測モード算出部６０２は、参照予測モード決定部６０７から参照イントラ予測モードｒｅｆＭｏｄｅＡとｒｅｆＭｏｄｅＢを取得し、優先予測モードをｍｏｓｔＰｒｏｂａｂｌｅＭｏｄｅＩｎｄｅｘ＝ｍｉｎ（ｒｅｆＭｏｄｅＡ，ｒｅｆＭｏｄｅＢ）と決定する（ステップＳ７０２）。また、対象イントラ予測モードをイントラ予測モードメモリ６０１に記憶する。
【００７５】
優先予測モード判定フラグ算出部６０３は、対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘと優先予測モードｍｏｓｔＰｒｏｂａｂｌｅＭｏｄｅＩｎｄｅｘとを比較する。対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘと優先予測モードｍｏｓｔＰｒｏｂａｂｌｅＭｏｄｅＩｎｄｅｘが等しいときは、優先予測モード判定フラグｍｐｍＦｌａｇをｔｒｕｅと設定し、そうでないときは優先予測モード判定フラグｍｐｍＦｌａｇをｆａｌｓｅと設定する（ステップＳ７０３）。さらに、優先予測モード判定フラグ符号化部６０４は、優先予測モード判定フラグｍｐｍＦｌａｇを符号化する（ステップＳ７０４）。
【００７６】
優先予測モード判定部６０９は、優先予測モード判定フラグｍｐｍＦｌａｇを判定する（ステップＳ７０５）。優先予測モード判定フラグｍｐｍＦｌａｇがｔｒｕｅである場合は処理を終了する。優先予測モード判定フラグｍｐｍＦｌａｇがｆａｌｓｅである場合は、非優先予測モードインデックス算出部６０５は、非優先予測モードインデックスｒｅｍＭｏｄｅＩｎｄｅｘを算出し（ステップＳ７０６）、非優先予測モードインデックス符号化部６０６は、算出した非優先予測モードｒｅｍＭｏｄｅＩｎｄｅｘの符号化を行う（ステップＳ７０７）。非優先予測モードインデックス算出手順、および非優先予測モード符号化手順の詳細については後述する。
【００７７】
［参照予測モード決定手順］
図７のステップＳ７０１の参照予測モード決定手順の詳細を図２５のフローチャートを参照して説明する。
【００７８】
ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡが存在するかどうかを判定し（ステップＳ２３０１）、存在しない場合はｒｅｆＭｏｄｅＡを０、すなわち平面予測モードとする（ステップＳ２３０２）。ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡが存在するのは参照ブロックＡが処理済みである場合である。ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡが存在しないのは、参照ブロックＡが画面外である場合、または参照ブロックＡが未処理である場合である。本実施例は画面内予測のみであるが、画面内予測と画面間予測を組み合わせた構成においては、参照ブロックＡが画面間予測として符号化済みである場合もｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡが存在しないものとする。
【００７９】
ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡが存在するときには、ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡとｃｕｒｒＭｏｄｅＳｉｚｅとを比較する（ステップＳ２７０３）。ｃｕｒｒＭｏｄｅＳｉｚｅは対象ブロックの定義モード数である。本実施例においては、対象ブロックが４×４である場合はｃｕｒｒＭｏｄｅＳｉｚｅは１７、対象ブロックが８×８または１６×１６である場合はｃｕｒｒＭｏｄｅＳｉｚｅは３３である。
【００８０】
ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡがｃｕｒｒＭｏｄｅＳｉｚｅ以上である場合は、ｒｅｆＭｏｄｅＡを０とし（ステップＳ２７０２）、そうでない場合は、ｒｅｆＭｏｄｅＡをｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡとする（ステップＳ２７０４）。
【００８１】
ステップＳ２７０５からステップＳ２７０８は、ｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢに対してＳ２７０１からステップＳ２７０４と同様の手続きを行うものであるため、説明を省略する。
【００８２】
［非優先予測モードインデックス算出手順］
図７のステップＳ７０６の非優先予測モードインデックス算出手順の詳細を図２８
のフローチャートを参照して説明する。
【００８３】
非優先予測モードインデックス算出部６０５は、非優先予測モードインデックスｒｅｍＭｏｄｅＩｎｄｅｘを対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘで初期化する（ステップＳ１３０１）。
【００８４】
ｒｅｍＭｏｄｅＩｎｄｅｘとｍｏｓｔＰｒｏｂａｂｌｅＭｏｄｅＩｎｄｅｘを比較する（ステップＳ１３０２）。ｒｅｍＭｏｄｅＩｎｄｅｘがｍｏｓｔＰｒｏｂａｂｌｅＭｏｄｅＩｎｄｅｘより大きいなら、ｒｅｍＭｏｄｅＩｎｄｅｘの値から１を減じ（ステップＳ１３０３）、非優先予測モードインデックス算出手順を終了し、図７のステップＳ７０７へ進む。
【００８５】
［非優先予測モードインデックス符号化手順］
図７のステップＳ７０８の非優先予測モードインデックス符号化手順の詳細を図１９のフローチャートを参照して説明する。
【００８６】
非優先予測モードインデックス符号化部６０６は、対象ブロックサイズを判定する（ステップＳ２００１）。
【００８７】
対象ブロックが４×４ブロックであるとき、１７種類のイントラ予測が定義されている。上述した非優先予測モードインデックス算出手順において、優先予測モードの数は１つであり、ｒｅｍＭｏｄｅＩｎｄｅｘは［０，１５］のいずれかの値に変換されている。ｒｅｍＭｏｄｅＩｎｄｅｘを固定長で表現するのに４ビットで必要十分であるため、ｒｅｍＭｏｄｅＩｎｄｅｘに対し４ビットの固定長符号化を行い（ステップＳ２００２）、処理を終了する。
【００８８】
対象ブロックが８×８ブロックまたは１６×１６ブロックであるとき、３３種類のイントラ予測が定義されている。上述した非優先予測モードインデックス算出手順において、優先予測モードの数が１つであるため、ｒｅｍＭｏｄｅＩｎｄｅｘは［０，３１］のいずれかの値に変換されている。ｒｅｍＭｏｄｅＩｎｄｅｘを固定長で表現するのに５ビットで必要十分であるため、ｒｅｍＭｏｄｅＩｎｄｅｘに対し５ビットの固定長符号化を行い（ステップＳ２００３）、処理を終了する。
【００８９】
本実施例においては、４×４ブロックに対し図２の符号２０１の１７種類を定義した。その理由は、４×４ブロックの非優先予測モードインデックスを簡潔に符号化／復号するためである。符号２０１は、１８０度を１６分割することによる１１．２５（＝１８０／１６度単位で予測方向を表現することを基本とするが、モード９とモード８の間、およびモード９とモード２の間のみ２５度の方向差が生まれ、当該方向の予測精度の低下を伴う。符号２０１でなく、図２２の符号２３０１の１９種類を定義する場合を考える。１９種類の定義は、１１．２５度単位の予測方向をすべて表現でき、符号２０１に見られる予測精度の低下は見られないという長所がある。その場合は、優先予測モードの数が１つである場合はｒｅｍＭｏｄｅＩｎｄｅｘは［０，１８］のいずれかの値に変換されることになり、１８種類の非優先予測モードインデックスを取ることになるため、非優先予測モードインデックスに対し可変長符号化を行う必要があり、処理が煩雑となる。８×８ブロック、１６×１６ブロックに対しては、本実施例の構成を取ることにより、非優先予測モードインデックスを５ビットで固定長符号化できるが、図２２の２３０３の３５種類を定義する構成を取った場合、４×４ブロックと同様、非優先予測モードインデックスを固定長符号化できないという問題が発生する。
【００９０】
［復号手順］
本発明に係る実施形態によるイントラ予測モードの復号方法の第１の実施例について説明する。図９は図８のイントラ予測モード復号部８０３の詳細な構成のブロック図である。実施の形態のイントラ予測モード復号部８０３は、イントラ予測モードメモリ９０１、優先予測モード算出部９０２、優先予測モード判定フラグ復号部９０３、非優先予測モードインデックス復号部９０４、非優先予測モード算出部９０５、および参照予測モード算出部９０７を備える。
【００９１】
図９のイントラ予測モード復号部８０３におけるイントラ予測モード復号処理は、図６のイントラ予測モード符号化部５０８におけるイントラ予測モード符号化処理に対応するものであるから、図９のイントラ予測モードメモリ９０１、優先予測モード算出部９０２、およびおよび参照予測モード算出部９０７の各構成は、図６のイントラ予測モードメモリ６０１、優先予測モード算出部６０２、および参照予測モード決定部６０７の各構成とそれぞれ同一の機能を有する。
【００９２】
以下、図１０のフローチャートを参照して、イントラ予測モードの復号手順を説明する。
【００９３】
参照予測モード算出部９０７は、イントラ予測モードメモリ９０１から隣接ブロックのイントラ予測モードｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡとｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢを取得し、対象ブロックの参照イントラ予測モードｒｅｆＭｏｄｅＡとｒｅｆＭｏｄｅＢを決定する（ステップＳ１００１）。参照予測モード決定手順は図６の参照予測モード算出手順と同様の手続きに従うため、詳細説明を省略する。
【００９４】
優先予測モード算出部９０２は、参照予測モード算出部９０７から参照予測モードｒｅｆＭｏｄｅＡとｒｅｆＭｏｄｅＢを取得し、優先予測モードｍｏｓｔＰｒｏｂａｂｌｅＭｏｄｅを算出する（ステップＳ１００２）。優先予測モード算出手順は図６の優先予測モード算出部６０２における優先予測モード算出手順と同様の手続きに従うため、詳細説明を省略する。
【００９５】
優先予測モード判定フラグ復号部９０３は、符号化系列から１ビットを読み込み、優先予測モード判定フラグｍｐｍＦｌａｇを復号し（ステップＳ１００３）、優先予測モード判定フラグｍｐｍＦｌａｇを判定する（ステップＳ１００４）。
【００９６】
優先予測モード判定フラグｍｐｍＦｌａｇがｔｒｕｅである場合は、対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘを優先予測モードｍｏｓｔＰｒｏｂａｂｌｅＭｏｄｅと決定し、処理を終了する（ステップＳ１０５）。
【００９７】
優先予測モード判定フラグｍｐｍＦｌａｇがｆａｌｓｅである場合は、非優先予測モードインデックス復号部９０４は、非優先予測モードインデックスｒｅｍＭｏｄｅＩｎｄｅｘを復号し（ステップＳ１００６）、非優先予測モード算出部９０５は、算出したｒｅｍＭｏｄｅＩｎｄｅｘを元に対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘを算出する（ステップＳ１００７）。対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘをイントラ予測モードメモリ９０１に格納し、処理を終了する。非優先予測モードインデックスの復号手順、非優先対象予測モード算出手順については後述する。
【００９８】
［非優先予測モードインデックス復号手順］
図１０のステップＳ１００６の非優先予測モードインデックス復号手順の詳細を図２１のフローチャートを参照して説明する。
【００９９】
非優先予測モードインデックス復号部９０４は、対象ブロックサイズを判定する（ステップＳ２２０１）。
【０１００】
対象ブロックが４×４ブロックであるとき、４ビットの固定長復号を行い、ｒｅｍＭｏｄｅＩｎｄｅｘとし（ステップＳ２２０２）、非優先予測モードインデックス復号手順を終了し、図１０のステップＳ１００７に進む。
【０１０１】
対象ブロックが４×４ブロック、または１６×１６ブロックであるとき、５ビットの固定長復号を行い、ｒｅｍＭｏｄｅＩｎｄｅｘとし（ステップＳ２２０３）、非優先予測モードインデックス復号手順を終了し、図１０のステップＳ１００７に進む。
【０１０２】
［非優先予測モード算出手順］
図１０のステップＳ１００７の予測モード算出手順の詳細を図１４のフローチャートを参照して説明する。
【０１０３】
非優先予測モード算出部９０５は、対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘを非優先予測モードインデックスｒｅｍＭｏｄｅＩｎｄｅｘで初期化する（ステップＳ１５０１）。
【０１０４】
ｃｕｒｒＭｏｄｅＩｎｄｅｘとｍｏｓｔＰｒｏｂａｂｌｅＭｏｄｅＩｎｄｅｘを比較する（ステップＳ１５０２）。ｃｕｒｒＭｏｄｅＩｎｄｅｘがｍｏｓｔＰｒｏｂａｂｌｅＭｏｄｅＩｎｄｅｘ以上であれば、ｃｕｒｒＭｏｄｅＩｎｄｅｘの値に１を加える（ステップＳ１５０３）、処理を終了する。
【０１０５】
図４は本実施例の符号化装置により出力され、また復号装置で解釈される符号化ストリームのイントラ予測モードの符号化構文である。
【０１０６】
本実施例では、上述した予測ブロック処理順に基づく特性、予測方向の表現精度に基づく特性、予測精度に基づく特性に従い、平面予測モードを優先するとともに、相対的に優先度の低い左下方向のイントラ予測モードを定義しないことにより、非優先予測モードを固定長符号化することができ、演算量、回路規模の増加を回避した上で効率的なイントラ予測モードの符号化をすることができる。
【０１０７】
［実施例２］
本実施例においては、ｒｅｆＭｏｄｅＡとｒｅｆＭｏｄｅＢの両者を優先予測モードとして、処理対象ブロックが優先予測モードである場合にどちらの優先モードであるかを選択するための情報を伝送する構成である点が実施例１と異なる。優先予測モードとして短い符号語で表現できるイントラ予測モードが増えること、現実の優先予測モードの発生確率に近い符号割り当てが可能となることから、実施例１の効果に加えて符号化効率向上が実現できる。
【０１０８】
［予測ブロックサイズとイントラ予測モード］
本実施例においては、４×４ブロックでは図２の符号２０３に示す１８種類を定義し、８×８ブロックと１６×１６ブロックに対しては、図２の符号２０４で示す３４種類を定義する。実施例１とは、イントラ予測モードの定義数が異なる。符号２０３は平面予測モード、平均値予測モード、および１６種類の方向予測モードにより構成される。符号２０１の方向予測モードは１１．２５度を一単位として定義した上、左下方向からの予測のうち、左下４５度予測１０よりも水平方向予測２に一単位近い予測モードを設定しない。符号２０４は平面予測モード、平均値予測モード、および３２種類の方向予測モードにより構成さる。符号２０２の方向予測モードは５．６２５度を一単位として定義した上、左下方向からの予測のうち、左下４５度予測１０よりも水平方向予測２に一単位近い予測モードを設定しない。本実施例では、常に２つの優先予測モードを設定するものであるため、４×４ブロックに対し１８種類のイントラ予測モードを定義した場合であっても、常に非優先予測モードを１６種類に固定することができ、また、８×８ブロックに対し３３種類のイントラ予測モードを定義した場合であっても、常に非優先予測モードを固定長符号化するに当たり過不足ない符号割当てが可能である。
【０１０９】
［符号化手順］
図２７は図５のイントラ予測モード符号化部５０８の第２の実施例の詳細な構成を示すブロック図である。実施の形態のイントラ予測モード符号化部５０８は、イントラ予測モードメモリ２９０１、優先予測モードリスト作成部２９０２、優先予測モード判定フラグ算出部２９０３、優先予測モード判定フラグ符号化部２９０４、優先予測モードインデックス算出部２９０５、優先予測モードインデックス符号化部２９０６、非優先予測モードインデックス算出部２９０７、非優先予測モードインデックス符号化部２９０８、優先予測モード判定部２９０９、及び参照予測モード決定部２９１０を備える。以下、図１６のフローチャートを参照して、イントラ予測モードの符号化手順を説明する。
【０１１０】
参照予測モード決定部２９１０は、イントラ予測モードメモリ２９０１から隣接ブロックのイントラ予測モードｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡとｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢを取得し、対象ブロックの参照イントラ予測モードｒｅｆＭｏｄｅＡとｒｅｆＭｏｄｅＢを決定する（ステップＳ１７０１）。参照予測モード決定手順は実施例１と同様であるが、本実施例においてはｃｕｒｒＭｏｄｅＳｉｚｅの値が異なる。本実施例においては、対象ブロックが４×４である場合はｃｕｒｒＭｏｄｅＳｉｚｅは１８、対象ブロックが８×８または１６×１６である場合はｃｕｒｒＭｏｄｅＳｉｚｅは３４である。
【０１１１】
優先予測モードリスト作成部２９０２は、参照予測モード決定部２９１０から参照予測モードｒｅｆＭｏｄｅＡとｒｅｆＭｏｄｅＢを取得し、優先予測モードリストｍｐｍＬｉｓｔを作成し、また優先予測モードリストサイズｍｐｍＬｉｓｔＳｉｚｅを決定する（ステップＳ１７０２）。優先予測モードリスト作成手順の詳細については後述する。本実施例においては、優先予測モードリストサイズｍｐｍＬｉｓｔＳｉｚｅが常に２となるように動作する。また、対象イントラ予測モードをイントラ予測モードメモリ２９０１に記憶する。
【０１１２】
優先予測モード判定フラグ算出部２９０３、及び優先予測モードインデックス算出部２９０５は、対象予測モードと優先予測モードリストｍｐｍＬｉｓｔを取得し、優先予測モード判定フラグｍｐｍＦｌａｇと、優先予測モードインデックスｍｐｍＩｎｄｅｘを算出し（ステップＳ１７０３）、優先予測モード判定フラグｍｐｍＦｌａｇを符号化する（ステップＳ１７０４）。優先予測モード判定フラグ、優先予測モードインデックス算出手順の詳細は後述する。
【０１１３】
優先予測モード判定部２９０９は、優先予測モード判定フラグｍｐｍＦｌａｇを判定する（ステップＳ１７０５）。
【０１１４】
優先予測モード判定フラグｍｐｍＦｌａｇがｔｒｕｅである場合は、優先予測モードインデックス符号化部２９０６は、優先予測モードインデックスｍｐｍＩｎｄｅｘを符号化し（ステップＳ１７０６）、処理を終了する。
【０１１５】
優先予測モード判定フラグｍｐｍＦｌａｇがｆａｌｓｅである場合は、非優先予測モードインデックス算出部６０５は、非優先予測モードインデックスｒｅｍＭｏｄｅＩｎｄｅｘを算出し（ステップＳ１７０７）、さらに非優先予測モードインデックス符号化部６０６は、算出した非優先予測モードｒｅｍＭｏｄｅＩｎｄｅｘの符号化を行う（ステップＳ１７０８）。非優先予測モードインデックス算出手順の詳細については後述する。非優先予測モード符号化手順については図７のステップＳ７０６と同様であるため、説明を省略する。
【０１１６】
［優先予測モードリスト作成手順］
図１６のステップＳ１７０１の参照イントラ予測モード決定手順の詳細を図１８のフローチャートを参照して説明する。
【０１１７】
優先予測モード算出部６０２は、参照予測モード決定部２９１０から参照予測モードｒｅｍＭｏｄｅＡとｒｅｍＭｏｄｅＢを取得し、ｒｅｍＭｏｄｅＡとｒｅｍＭｏｄｅＢを比較する（ステップＳ１９０１）。
【０１１８】
ｒｅｍＭｏｄｅＡとｒｅｍＭｏｄｅＢが等しい場合は、ｍｐｍＬｉｓｔ［０］＝ｒｅｆＭｏｄｅＡと設定する（ステップＳ１９０２）。さらにｒｅｍＭｏｄｅＡが平面予測モードであるかどうかを判定し（ステップＳ１９０３）、ｒｅｍＭｏｄｅＡが平面予測モードであるならば、ｍｐｍＬｉｓｔ［０］＝３と設定する（ステップＳ１９０４）。ｒｅｍＭｏｄｅＡが平面予測モードでないならば、ｍｐｍＬｉｓｔ［０］＝０と設定する（ステップＳ１９０５）。０は平面予測モードを示す。ただし、図２２の符号２３０１、２３０２で示すように、０は平面予測モード、３は平均値モードである。ｍｐｍＬｉｓｔ［１］は、ｍｐｍＬｉｓｔ［０］と値が異なるモードでなければならない。本実施例においては、ｒｅｍＭｏｄｅＡが平面予測モードでないときにｍｐｍＬｉｓｔ［１］を平面予測モードに設定するが、ｒｅｍＭｏｄｅＡが平面予測モードであるときにｍｐｍＬｉｓｔ［１］に平面予測モードを設定してしまうとｍｐｍＬｉｓｔ［１］とｍｐｍＬｉｓｔ［０］が同一になってしまう。ｍｐｍＬｉｓｔ［１］に設定する予測モードの候補は常に２つでなければならない。本実施例においては、ｍｐｍＬｉｓｔ［１］に設定する値は予め決定されたものであり、ｒｅｍＭｏｄｅＡ、ｒｅｍＭｏｄｅＢ、および符号化過程により変動しないものとするが、例えばステップＳ１９０４においてｍｐｍＬｉｓｔ［１］＝１（水平方向予測モード）を設定するように、予め決定する値を異なるものにすることは可能である。ここで設定する値は、一般に発生頻度が高い予測モードであることが好ましい。さらにｍｐｍＬｉｓｔＳｉｚｅ＝２と設定し（ステップＳ１９０７）、図１６のステップＳ１７０２へ進む。
【０１１９】
ｒｅｍＭｏｄｅＡとｒｅｍＭｏｄｅＢが異なる場合は、ｍｐｍＬｉｓｔ［０］＝ｍｉｎ（ｒｅｍＭｏｄｅＡ，ｒｅｍＭｏｄｅＢ）、ｍｐｍＬｉｓｔ［１］＝ｍａｘ（ｒｅｍＭｏｄｅＡ，ｒｅｍＭｏｄｅＢ）と設定し（ステップＳ１９０６）、さらにｍｐｍＬｉｓｔＳｉｚｅ＝２と設定し（ステップＳ１９０７）、図１６のステップＳ１７０２へ進む。
【０１２０】
［優先予測モード判定フラグ、優先予測モードインデックス算出手順］
図１６のステップＳ１７０３の優先予測モード判定フラグ、優先予測モードインデックス算出手順の詳細を図１１のフローチャートを参照して説明する。
【０１２１】
本手順においては、ｍｐｍＬｉｓｔを昇順に走査することにより処理を進める。優先予測モード判定フラグ算出部２９０３、及び優先予測モードインデックス算出部２９０５は、優先予測モード判定フラグｍｐｍＦｌａｇと、優先予測モードインデックスｍｐｍＩｎｄｅｘをそれぞれｆａｌｓｅ、０で初期化する。ｍｐｍＬｉｓｔを操作するための変数ｉを０で初期化する（ステップＳ１２０１）。
【０１２２】
ｉがｍｐｍＬｉｓｔＳｉｚｅ未満であるなら（ステップＳ１２０２）、すなわちまだｍｐｍＬｉｓｔのすべての要素を走査し終えていないなら、ｍｐｍＬｉｓｔ［ｉ］とｃｕｒｒＭｏｄｅＩｎｄｅｘを比較する（ステップＳ１２０３）。ｍｐｍＬｉｓｔ［ｉ］とｃｕｒｒＭｏｄｅＩｎｄｅｘが等しい場合は、対象予測モードが優先予測モードリストのｉ番目の要素と等しいことを示し、ｍｐｍＦｌａｇをｔｒｕｅに、ｍｐｍＩｎｄｅｘをｉにそれぞれ設定し（ステップＳ１２０４）、図１６のステップＳ１７０４へ進む。ｍｐｍＬｉｓｔ［ｉ］とｃｕｒｒＭｏｄｅＩｎｄｅｘが異なる場合は、ｉを一つ増やし（ステップＳ１２０５）、走査を継続する。
【０１２３】
ステップＳ１２０２において、ｉがｍｐｍＬｉｓｔＳｉｚｅ以上であるとき、すなわち、ｍｐｍＬｉｓｔのすべての要素を走査し終えたときに、優先予測モード判定フラグ、優先予測モードインデックス算出手順を終了し、図１６のステップＳ１７０４へ進む。このときは対象予測モードが優先予測モードリストに含まれないことを示し、ｍｐｍＦｌａｇ、ｍｐｍＩｎｄｅｘの再設定は行われない。すなわち、ｍｐｍＦｌａｇ＝ｆａｌｓｅ、ｍｐｍＩｎｄｅｘ＝０となる。
【０１２４】
［非優先予測モードインデックス算出手順］
図１６のステップＳ１７０７の非優先予測モードインデックス算出手順の詳細を図１２のフローチャートを参照して説明する。
【０１２５】
本手順においては、ｍｐｍＬｉｓｔを降順に走査することにより処理を進める。非優先予測モードインデックス算出部２９０７は、非優先予測モードインデックスｒｅｍＭｏｄｅＩｎｄｅｘを対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘで初期化し、ｍｐｍＬｉｓｔを操作するための変数ｉをｍｐｍＬｉｓｔＳｉｚｅ−１で初期化する（ステップＳ１３０１）本実施例においてはｍｐｍＬｉｓｔＳｉｚｅは常に２であるため、ｉの初期値は１である。
【０１２６】
ｉが０以上であるなら（ステップＳ１３０２）、すなわちまだｍｐｍＬｉｓｔのすべての要素を走査し終えていないなら、ｒｅｍＭｏｄｅＩｎｄｅｘとｍｐｍＬｉｓｔ［ｉ］を比較する（ステップＳ１３０３）。ｒｅｍＭｏｄｅＩｎｄｅｘがｍｐｍＬｉｓｔ［ｉ］より大きいなら、ｒｅｍＭｏｄｅＩｎｄｅｘの値から１を減ずる（ステップＳ１３０４）。ｉの値から１を減じて（ステップＳ１３０５）、走査を継続する。
【０１２７】
ステップＳ１３０２において、ｉが０未満であるとき、すなわちｍｐｍＬｉｓｔのすべての要素を走査し終えたときに、非優先予測モードインデックス算出手順を終了し、図１６のステップＳ１７０８へ進む。
【０１２８】
実施例１は、優先予測モードの数を唯一つとした構成であるのに対し、実施例２は、常に２つの優先予測モードを設定するものである。優先予測モードの数がひとつ増加することに伴い、イントラ予測モードの定義数もひとつ増加させた構成をとる。
【０１２９】
実施例１の優先予測モードの数を唯一つとする構成は、現実のイントラ予測モードの発生分布を必ずしも適切に反映させるものではない。それに対し実施例２の構成は、２つの優先予測モードを設定することから、より現実的なイントラ予測モードの発生分布を設定することによる符号化効率の向上が実現できる。
【０１３０】
さらに実施例２は、参照ブロックＡと参照ブロックＢのイントラ予測モードが同一の場合であっても、所定の規則に従い、参照ブロックのイントラ予測モードとは異なるイントラ予測モードを優先予測モードに追加することにより、常に２つの優先予測モードを設定する。それにより、参照ブロックＡと参照ブロックＢのイントラ予測モードが同一かどうかに係る、優先予測モードの解釈手順の処理分岐を回避することができるとともに、非優先予測モードインデックスの数を常に２のべき乗＋２にすることができるため、実施例１と同様、非優先予測モード解釈に係る処理分岐を回避することができる。
【０１３１】
よって実施例２の構成では、イントラ予測モードの解釈に係る処理分岐に係る演算量、回路増加を伴うことなく、適切なイントラ予測モードの発生分布に従った、符号化効率向上を達成することができる。
【０１３２】
［復号手順］
本発明に係る実施形態によるイントラ予測モードの復号方法の第２の実施例について説明する。図２６は図８のイントラ予測モード復号部８０３の第２の実施例の詳細な構成のブロック図である。実施の形態のイントラ予測モード復号部８０３は、イントラ予測モードメモリ２８０１、優先予測モードリスト作成部２８０２、優先予測モード判定フラグ復号部２８０３、優先予測モードインデックス復号部２８０４、優先予測モード算出部２８０５、非優先予測モードインデックス復号部２８０６、非優先予測モード算出部２８０７、および参照予測モード算出部２８０８を備える。
【０１３３】
図２６のイントラ予測モード復号部８０３におけるイントラ予測モード復号処理は、図２７のイントラ予測モード符号化部５０８におけるイントラ予測モード符号化処理に対応するものであるから、図２６のイントラ予測モードメモリ２８０１、優先予測モードリスト作成部２８０２、およびおよび参照予測モード算出部２８０８の各構成は、図２７のイントラ予測モードメモリ２９０１、優先予測モードリスト作成部２９０２、および参照予測モード決定部２９１０の各構成とそれぞれ同一の機能を有する。以下、図２０のフローチャートを参照して、イントラ予測モードの復号手順を説明する。
【０１３４】
参照予測モード算出部２８０８は、イントラ予測モードメモリ２８０１から隣接ブロックのイントラ予測モードｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＡとｎｅｉｇｈｂｏｒｉｎｇＭｏｄｅＢを取得し、対象ブロックの参照イントラ予測モードｒｅｆＭｏｄｅＡとｒｅｆＭｏｄｅＢを決定する（ステップＳ２１０１）。参照予測モード決定手順は図２７の参照予測モード算出手順と同様の手続きに従うため、詳細説明を省略する。
【０１３５】
優先予測モードリスト作成部２８０２は、参照予測モード算出部２８０８から参照イントラ予測モードｒｅｆＭｏｄｅＡとｒｅｆＭｏｄｅＢを取得し、優先予測モードリストｍｐｍＬｉｓｔを作成し、また優先予測モードリストのサイズｍｐｍＬｉｓｔＳｉｚｅを決定する（ステップＳ２１０２）。本実施例においては、優先予測モードリストサイズｍｐｍＬｉｓｔＳｉｚｅが常に２となるように優先予測モードリストｍｐｍＬｉｓｔを作成する。優先予測モードリスト作成手順は図２７の優先予測モードリスト作成部２９０２における優先予測モードリスト作成手順と同様、図１８のフローチャートで示す手続きに従うため、詳細説明を省略する。
【０１３６】
優先予測モード判定フラグ復号部２８０３は、符号化系列から１ビット読み込み、優先予測モード判定フラグｍｐｍＦｌａｇを復号し（ステップＳ２１０３）、優先予測モード判定フラグｍｐｍＦｌａｇを判定する（ステップＳ２１０４）。
【０１３７】
優先予測モード判定フラグｍｐｍＦｌａｇがｔｒｕｅである場合は、優先予測モードインデックス復号部２８０４は、符号化系列からさらに１ビットを読み込み、優先予測モードインデックスｍｐｍＩｎｄｅｘを復号する（ステップＳ２００５）。さらに、優先予測モード算出部２８０５は、優先予測モードリストｍｐｍＬｉｓｔのｍｐｍＩｎｄｅｘ番目の要素ｍｐｍＬｉｓｔ［ｍｐｍＩｎｄｅｘ］を対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘとし（ステップＳ２００６）、処理を終了する。
【０１３８】
優先予測モード判定フラグｍｐｍＦｌａｇがｆａｌｓｅである場合は、非優先予測モードインデックス復号部２８０６は、非優先予測モードインデックスｒｅｍＭｏｄｅＩｎｄｅｘを復号し（ステップＳ２００７）、さらに、非優先予測モード算出部９０５は、算出したｒｅｍＭｏｄｅＩｎｄｅｘを元に対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘを算出する（ステップＳ２００８）。対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘをイントラ予測モードメモリ９０１に格納し、処理を終了する。非優先予測モードインデックスの復号手順については図１０のステップＳ１００６と同様であるため、説明を省略する。非優先予測モード算出手順の詳細については後述する。
【０１３９】
［非優先予測モード算出手順］
図２０のステップＳ２１０６の予測モード算出手順の詳細を図１５のフローチャートを参照して説明する。
【０１４０】
本手順においては、ｍｐｍＬｉｓｔを昇順に走査することにより処理を進める。非優先予測モード算出部２８０７は、対象予測モードｃｕｒｒＭｏｄｅＩｎｄｅｘを非優先予測モードインデックスｒｅｍＭｏｄｅＩｎｄｅｘで初期化し、ｍｐｍＬｉｓｔを操作するための変数ｉを０で初期化する（ステップＳ１６０１）。
【０１４１】
ｉがｍｐｍＬｉｓｔＳｉｚｅ未満であるなら（ステップＳ１６０２）、すなわちまだｍｐｍＬｉｓｔのすべての要素を走査していないのであれば、ｃｕｒｒＭｏｄｅＩｎｄｅｘとｍｐｍＬｉｓｔ［ｉ］を比較する（ステップＳ１６０３）。ｃｕｒｒＭｏｄｅＩｎｄｅｘがｍｐｍＬｉｓｔ［ｉ］以上であれば、ｃｕｒｒＭｏｄｅＩｎｄｅｘの値に１を加える（ステップＳ１６０４）。ｉの値に１を加えて（ステップＳ１６０５）、走査を継続する。
【０１４２】
ステップＳ１６０２において、ｉがｍｐｍＬｉｓｔＳｉｚｅ以上になったとき、すなわちｍｐｍＬｉｓｔのすべての要素を走査し終えたときに処理を終了する。
【０１４３】
図２３は本実施例の符号化装置により出力され、また復号装置で解釈される符号化ストリームのイントラ予測モードの符号化構文である。
【０１４４】
本実施例では、実施例１で記載した効果に加えて、複数のイントラ予測モードから、複数の優先予測モードを設定することにより、優先予測モードをただ一つで表現する構成と比べ、短い符号語で表現できる優先予測モードの数が増えること、各優先予測モードに対し、より現実的な確率モデルに従った符号長割り当てが出来ることから、イントラ予測モードの発生符号量を削減することができる。また、参照イントラ予測モードが同一である場合に対しても、暗黙的にもう一つの優先予測モードを決定する。参照イントラ予測モードが同一であるか否かに関わらず常に固定長の優先イントラ予測モードリストを作成することができるため、符号化／復号処理における優先イントラ予測モードリスト長に係る処理分岐を削除することができ、および非優先イントラ予測モードの符号化／復号を固定長で構成することができるために、処理手順の簡略化、回路規模の縮小を実現することができる。
【０１４５】
以上述べたように、実施の形態の画像符号化装置および画像復号装置は、平面予測モードを追加しつつ、非優先予測モード符号化の固定長二値化を実現し、処理分岐を伴わず、符号化効率を向上することができる。具体的には、以下の作用効果を奏する。
【０１４６】
（１）参照イントラ予測モードが同一である場合に対しても、暗黙的に代替の優先予測モードを決定する。参照イントラ予測モードが同一であるか否かに関わらず常に固定長の優先イントラ予測モードリストを作成することができるため、符号化／復号処理における優先イントラ予測モードリスト長に係る処理分岐を削除することができるために、処理手順の簡略化、回路規模の縮小を実現することができる。
【０１４７】
（２）相対的に優先度の低いイントラ予測モードを候補から除外することにより、非優先イントラ予測モードの符号化／復号を固定長で構成することができるために、処理手順の簡略化、回路規模の縮小を実現することができる。
【０１４８】
以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
【０１４９】
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
【０１５０】
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
【０１５１】
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ＲＯＭ（リード・オンリ・メモリ）やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
【０１５２】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１５３】
５０１  減算部、  ５０２  直交変換・量子化部、  ５０３  逆量子化・逆変換部、  ５０４  加算部、  ５０５  復号画像メモリ、  ５０６  イントラ予測部、  ５０７  テクスチャ情報符号化部、  ５０８  イントラ予測モード符号化部、  ５０９  イントラ予測モード選択部、  ６０１  イントラ予測モードメモリ、  ６０２  優先予測モード算出部、  ６０３  優先予測モード判定フラグ算出部、  ６０４  優先予測モード判定フラグ符号化部、  ６０５  非優先予測モードインデックス算出部、  ６０６  非優先予測モードインデックス符号化部、  ６０７  参照予測モード決定部、  ８０１  テクスチャ情報復号部、  ８０２  逆量子化・逆変換部、  ８０３  イントラ予測モード復号部、  ８０４  加算部、  ８０５  復号画像メモリ、  ８０６  イントラ予測部、  ９０１  イントラ予測モードメモリ、  ９０２  優先予測モード算出部、  ９０３  優先予測モード判定フラグ復号部、  ９０４  非優先予測モードインデックス復号部、  ９０５  非優先予測モード算出部、  ９０７  参照予測モード算出部、  ２８０１  イントラ予測モードメモリ、  ２８０２  優先予測モードリスト作成部、  ２８０３  優先予測モード判定フラグ復号部、  ２８０４  優先予測モードインデックス復号部、  ２８０５  優先予測モード算出部、  ２８０６  非優先予測モードインデックス復号部、  ２８０７  非優先予測モード算出部、  ２８０８  参照予測モード算出部、  ２９０１  イントラ予測モードメモリ、  ２９０２  優先予測モードリスト作成部、  ２９０３  優先予測モード判定フラグ算出部、  ２９０４  優先予測モード判定フラグ符号化部、  ２９０５  優先予測モードインデックス算出部、  ２９０６  優先予測モードインデックス符号化部、  ２９０７  非優先予測モードインデックス算出部、  ２９０８  非優先予測モードインデックス符号化部、  ２９０９  優先予測モード判定部、  ２９１０  参照予測モード決定部。
【図１】
2013141076.tif 000003
【図２】
2013141076.tif 000004
【図３】
2013141076.tif 000005
【図４】
2013141076.tif 000006
【図５】
2013141076.tif 000007
【図６】
2013141076.tif 000008
【図７】
2013141076.tif 000009
【図８】
2013141076.tif 000010
【図９】
2013141076.tif 000011
【図１０】
2013141076.tif 000012
【図１１】
2013141076.tif 000013
【図１２】
2013141076.tif 000014
【図１３】
2013141076.tif 000015
【図１４】
2013141076.tif 000016
【図１５】
2013141076.tif 000017
【図１６】
2013141076.tif 000018
【図１７】
2013141076.tif 000019
【図１８】
2013141076.tif 000020
【図１９】
2013141076.tif 000021
【図２０】
2013141076.tif 000022
【図２１】
2013141076.tif 000023
【図２２】
2013141076.tif 000024
【図２３】
2013141076.tif 000025
【図２４】
2013141076.tif 000026
【図２５】
2013141076.tif 000027
【図２６】
2013141076.tif 000028
【図２７】
2013141076.tif 000029
【図２８】
2013141076.tif 000030
【図２９】
2013141076.tif 000031
【図３０】
2013141076.tif 000032
【図３１】
2013141076.tif 000033
【図３２】
2013141076.tif 000034
【図３３】
2013141076.tif 000035
【図３４】
2013141076.tif 000036