(57)【要約】【課題】予測方向が多数の場合であっても、予測効率が低下することなく予測方向の決定処理を高速に行い、処理時間及び消費電力を低減する。【解決手段】イントラ予測処理装置１は、最適な１方向に対して直交する方向の予測効率は極めて低く、最適な１方向に近い方向ほど予測効率は高くなるという予測効率の性質を利用し、最適な予測方向を決定する。具体的には、最適予測方向決定部２の比較部３は、直交する２方向について評価値を算出し、２つの評価値を比較し、評価値が大きい方向を特定する。そして、比較部４は、比較部３により特定された予測方向に基づいて方向領域を選択し、その方向領域における相関の最も低い２方向について、評価値が算出済みでない方向の評価値を算出し、２つの評価値を比較し、評価値の大きい方向を特定し、このような処理を繰り返すことにより方向を絞り込み、最適な予測方向を決定する。【選択図】図４
2014027371.tif 000002
【特許請求の範囲】
【請求項１】
画像が複数のブロックに分割され、前記ブロックに対しイントラ符号化を行う際の、イントラ予測の予測方向を決定するイントラ予測処理装置において、
所定の方向領域に含まれる相関の最も低い２方向について、予測効率をそれぞれ評価し、予測効率の高い方向を含む方向領域を選択し、
前記選択した方向領域に含まれる相関の最も低い２方向を特定し、前記２方向の予測効率をそれぞれ評価し、予測効率の高い方向を含む方向領域を選択し、
前記２方向を特定する処理、前記予測効率を評価する処理、及び前記方向領域を選択する処理を繰り返して、予測効率の高い方向を絞り込み、
前記複数の予測方向のうち最も予測効率の高い予測方向を決定する最適予測方向決定部を備えたことを特徴とするイントラ予測処理装置。
【請求項２】
請求項１に記載のイントラ予測処理装置において、
前記最適予測方向決定部は、
前記複数の予測方向のうち直交する２方向について、予測効率をそれぞれ評価して比較する第１の比較部と、
前記第１の比較部による比較結果にしたがって、予測効率の高い方向を含む方向領域を選択し、前記選択した方向領域に含まれる相関の最も低い２方向について、予測効率をそれぞれ評価して比較する第２の比較部とを備え、
前記第２の比較部は、さらに、当該第２の比較部による比較結果にしたがって、予測効率の高い方向を含む方向領域を選択し、前記選択した方向領域に含まれる相関の最も低い２方向について、予測効率をそれぞれ評価して比較する処理を繰り返し、前記複数の予測方向のうち最も予測効率の高い予測方向を決定する、ことを特徴とするイントラ予測処理装置。
【請求項３】
請求項２に記載のイントラ予測処理装置において、
前記第１の比較部または第２の比較部における前記２方向についての処理を、当該処理の中で再帰的に行う、ことを特徴とするイントラ予測処理装置。
【請求項４】
コンピュータを、請求項１から３までのいずれか一項に記載のイントラ予測処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の予測方向を用いて画面内予測（イントラ予測）を行う際に、複数の予測方向の中から効率的な予測方向を高速に決定するイントラ予測処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年、マルチメディア化が進み、動画像を扱う機会が多くなってきている。画像データは情報量が多く、画像の集合である動画像データは、テレビ放送の主流であるハイビジョン（登録商標）（１９２０サンプル×１０８０ライン）放送において、１Ｇｂｉｔ／ｓｅｃを超える情報量である。そのため、動画像データは、Ｈ．２６４／ＡＶＣ（Advanced Video Coding）、規格化作業中のＨＥＶＣ（High Efficiency Video Coding）等に代表される符号化標準技術によって、データ量を圧縮して伝送及び蓄積が行われている。
【０００３】
ＨＥＶＣ規格では、従来の符号化技術のように符号化単位であるブロック状に画面を左上から単純に分割するのではなく、新たに階層分割を採用し、複数階層のブロック分割を可能とする。また、複数のブロックに分割された符号化単位を、ＣＵ（Coding Unit）または符号化ブロックという。
【０００４】
図１０は、ＨＥＶＣ規格によるブロック分割の一例を示す図である。図１０に示すように、ＨＥＶＣ規格では、４×４、８×８、１６×１６、３２×３２等の画素サイズに画像を分割し、符号化を行うことができる。また、ＨＥＶＣ規格では、予測誤差信号を効率的に表現するため、ＣＵを階層分割し、変換単位に分けることができる。この変換単位を、ＴＵ（Transform Unit）または変換ブロックという。
【０００５】
図１１は、ＴＵの階層分割を示す図である。図１１に示すように、例えば、３２×３２のＣＵに対して階層分割０回のＴＵは、３２×３２画素のＣＵと同じブロックであり、階層分割１回のＴＵは、１６×１６画素に分割されたブロックである。また、階層分割２回のＴＵは、８×８に分割されたブロックであり、階層分割３回のＴＵは、４×４画素に分割されたブロックである。尚、ＴＵは、ＣＵのサイズに応じて階層分割されるから、各階層におけるＴＵのサイズは、ＣＵのサイズに応じてそれぞれ異なる。
【０００６】
また、ＨＥＶＣ規格では、ＣＵを複数種類の矩形領域である予測単位に分割し、それぞれの予測単位で予測処理が行われる。この予測単位を、ＰＵ（Prediction Unit）または予測ブロックという。
【０００７】
ここで、分割されたブロックに対する画面内符号化（イントラ符号化）処理においては、画面内の空間的な信号予測が行われる。この技術を、画面内予測（イントラ予測）という。ＨＥＶＣ規格で検討されているイントラ予測には複数の方法がある。
【０００８】
複数のイントラ予測のうちの１つの方法として、符号化対象である符号化ブロックの周囲に位置する、すでに符号化が行われ復号された信号を参照し、その符号化ブロックの信号を予測する技術が知られている。符号化器では、予測に用いる信号として、復号器で知り得る信号を利用する。そのため、符号化器は、内部に復号器と同等の処理を行うローカルデコーダを備え、符号化した信号を順次復号する。
【０００９】
したがって、符号化対象である符号化ブロックの周囲に位置する信号は、すでにローカルデコーダにより復号されている。ＨＥＶＣ規格の場合、従来の符号化処理と同様に、符号化対象である符号化ブロックの左及び上側に位置するブロックは、すでに復号されており、この復号信号を用いて符号化ブロックの信号を予測する。
【００１０】
この予測の基本原理は、Ｈ．２６４／ＡＶＣに規定されたイントラ予測と同様の方法により、信号予測を行うものである（非特許文献１を参照）。ＨＥＶＣ規格では、信号予測の方向がＨ．２６４／ＡＶＣ規格よりも増加しており、最大で３３方向の信号予測が行われる。
【００１１】
図１２は、ＨＥＶＣ規格におけるイントラ予測モードを示す図である。図１２に示すように、イントラ予測の予測方向は、インデックス２〜３４の３３方向ある。符号化器は、これらの予測方向の中から、予測効率が高い方向を評価して一意に決定し、その予測方向を示すデータを符号化し、その符号を復号器へ伝送する。これにより、復号器では、受信したその符号に基づき、復号済みの周辺画素を用いて効率良く予測信号を生成することができる。
【００１２】
このイントラ予測の予測方向を決定する処理において、どの方向の予測効率が最も高いかを決定するために、一般的には、網羅的にそれぞれの予測方向で実際に符号化を行い、または処理量を低減するために仮想的に符号化を行い、符号化性能を比較する。尚、それぞれの方向からの予測効率の評価方法及び順序についての手法は、符号化規格では規定されておらず、符号化装置の開発者の裁量に任されており、その設計によって符号化装置の性能が左右される重要な部分である。
【００１３】
ＨＥＶＣの規格化作業段階にて使用されている符号化モデルにおいて、ＨＥＶＣ方式のイントラ予測では、図１２に示した全ての予測方向をインデックスの順番に評価し、予測効率が最も高い方向を決定する。具体的には、インデックス０の平面予測（Planar）及びインデックス１の直流予測（ＤＣ）から始まり、インデックス２の左下方向からインデックス１０の水平左方向へ、そして、インデックス１８の左上方向、インデックス２６の垂直上方向、インデックス３４の右上方向の順に、それぞれの方向の予測効率を評価し、その中から予測効率が最も高い１つの方向を決定する。尚、図１２に示したインデックスは、ＨＥＶＣの規格化作業段階におけるイントラ予測モードに付したものであり、規格化作業終了後の正式なＨＥＶＣ規格では、インデックスの内容が変更されることがあり得る。後述する図２においても同様である。
【００１４】
また、イントラ予測の方向を決定する処理の一例として、その演算量を削減することを目的とした技術が開示されている（例えば、特許文献１を参照）。この技術では、Ｈ．２６４方式のイントラ予測において、予測方向が垂直の場合及び水平の場合の評価値（予測画像と入力画像との間における画素差分値の絶対値の総和：ＳＡＤ）をそれぞれ算出し、評価値の小さい方向を特定し、特定した方向に対して近傍の方向の評価値を算出し、評価値の小さい方向を特定する。そして、このような評価値の大小比較を繰り返すことで、予測方向の絞り込みを行い、予測効率が最も高い方向を決定する。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００９−１７７３５７号公報
【非特許文献】
【００１６】
【非特許文献１】大久保榮監修、「改訂三版  Ｈ．２６４／ＡＶＣ  教科書」、インプレス  Ｒ＆Ｄ、p.264-268、2009年1月1日
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、前述のＨＥＶＣ規格化作業段階におけるイントラ予測では、全ての方向について予測効率を評価することから、仮に垂直方向の予測効率が高い場合、水平方向の予測効率の評価が無駄になる。また、全ての方向の評価が必要であるから、消費電力の増加等を招く。
【００１８】
また、前述の特許文献１に記載されたイントラ予測では、予測効率の評価に基づいて方向を特定し、特定した方向に対し近傍の方向を評価することで、方向を絞り込むことから、全方向について評価する場合に比べ、演算量を削減することができる。例えば、特許文献１の実施例によれば、垂直の予測方向（予測モード０）及び水平の予測方向（予測モード１）について評価値を大小比較した結果、水平の予測方向を特定した場合、次に大小比較する予測方向は、水平の予測方向、水平下方向（予測モード６）及び水平上方向（予測モード８）である（特許文献１、段落３１〜３３、図５、図７−１）。
【００１９】
しかしながら、この技術は、Ｈ．２６４方式において予測方向の数が８である場合に適用されるものであり、ＨＥＶＣ方式のように予測方向が多数の場合には、必ずしも演算効率の良い処理であるとは限らない。例えば、図１２に示したように、イントラ予測の予測方向の数が３３の場合を想定する。前述と同様に、垂直の予測方向（インデックス２６の方向）及び水平の予測方向（インデックス１０の方向）について評価値を大小比較した結果、水平の予測方向を特定した場合には、次に大小比較する予測方向は、特許文献１からは明らかでないが、左下方向（インデックス２の方向）から左上方向（インデックス１８の方向）までの１７方向になると考えられる。
【００２０】
これでは、全ての方向についての評価は不要となるが、演算量を十分に削減できるとはいえない。この場合、ＨＥＶＣ方式のように予測方向が多数の場合であっても、演算量を十分に削減でき、効率の良い処理を実現できることが望ましい。
【００２１】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、予測方向が多数の場合であっても、予測効率が低下することなく予測方向の決定処理を高速に行い、処理時間及び消費電力を低減可能なイントラ予測処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００２２】
前記目的を達成するために、請求項１のイントラ予測処理装置は、画像が複数のブロックに分割され、前記ブロックに対しイントラ符号化を行う際の、イントラ予測の予測方向を決定するイントラ予測処理装置において、所定の方向領域に含まれる相関の最も低い２方向について、予測効率をそれぞれ評価し、予測効率の高い方向を含む方向領域を選択し、前記選択した方向領域に含まれる相関の最も低い２方向を特定し、前記２方向の予測効率をそれぞれ評価し、予測効率の高い方向を含む方向領域を選択し、前記２方向を特定する処理、前記予測効率を評価する処理、及び前記方向領域を選択する処理を繰り返して、予測効率の高い方向を絞り込み、前記複数の予測方向のうち最も予測効率の高い予測方向を決定する最適予測方向決定部を備えたことを特徴とする。
【００２３】
また、請求項２のイントラ予測処理装置は、請求項１に記載のイントラ予測処理装置において、前記最適予測方向決定部が、前記複数の予測方向のうち直交する２方向について、予測効率をそれぞれ評価して比較する第１の比較部と、前記第１の比較部による比較結果にしたがって、予測効率の高い方向を含む方向領域を選択し、前記選択した方向領域に含まれる相関の最も低い２方向について、予測効率をそれぞれ評価して比較する第２の比較部とを備え、前記第２の比較部が、さらに、当該第２の比較部による比較結果にしたがって、予測効率の高い方向を含む方向領域を選択し、前記選択した方向領域に含まれる相関の最も低い２方向について、予測効率をそれぞれ評価して比較する処理を繰り返し、前記複数の予測方向のうち最も予測効率の高い予測方向を決定する、ことを特徴とする。
【００２４】
また、請求項３のイントラ予測処理装置は、請求項２に記載のイントラ予測処理装置において、前記第１の比較部または第２の比較部における前記２方向についての処理を、当該処理の中で再帰的に行う、ことを特徴とする。
【００２５】
また、請求項４のプログラムは、コンピュータを、請求項１から３までのいずれか一項に記載のイントラ予測処理装置として機能させることを特徴とする。
【発明の効果】
【００２６】
以上のように、本発明によれば、イントラ予測の予測方向が多数の場合であっても、予測効率が低下することなく予測方向の決定処理を高速に行うことができ、処理時間及び消費電力を低減することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態によるイントラ予測処理装置の概略構成を示すブロック図である。
【図２】イントラ予測モードの方向を説明する図である。
【図３】最適予測方向決定部の処理の概略を示すフローチャートである。
【図４】最適予測方向決定部の処理の詳細を示すフローチャートである。
【図５】最適予測方向決定部の処理をＣ言語の書式にて示したプログラムリストの一例である。
【図６】直交方向比較処理（α）をＣ言語の書式にて示したプログラムリストの一例である。
【図７】絞り込み比較処理（β）をＣ言語の書式にて示したプログラムリストの一例である。
【図８】画像符号化装置の構成を示すブロック図である。
【図９】画像復号装置の構成を示すブロック図である。
【図１０】ＨＥＶＣ規格によるブロック分割の一例を示す図である。
【図１１】ＴＵの階層分割を示す図である。
【図１２】ＨＥＶＣ規格におけるイントラ予測モードを示す図である。
【発明を実施するための形態】
【００２８】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。一般に、イントラ予測の予測効率において、最適な１方向に対して直交する方向の予測効率は極めて低く、最適な１方向に近い方向ほど予測効率は高くなる。このような予測効率の性質を考慮すると、予測効率の評価は全ての方向について網羅的に行う必要がなく、所定のサンプリングした方向についてのみ予測効率の評価を行い、評価対象となる方向の範囲を狭めることによって、高速に最適な予測方向を決定することができるものと期待される。本発明は、このような予測効率の性質を利用するものである。
【００２９】
本発明の実施形態によるイントラ予測処理装置は、複数の予測方向を用いて画面内予測を行う際に、直交する２つの方向について予測効率の評価を行い、次に、この予測効率の高い方向（例えばＡ方向とする）を含む所定領域の中で相関が最も低い２つの方向（例えばＢ方向及びＣ方向とする）について予測効率を評価する。そして、Ｂ方向の方がＣ方向よりも予測効率が低い場合は、次に、ＢＡ間の領域（Ｂ方向とＡ方向との間の領域）については予測効率の評価を行わないで、ＣＡ間の領域（Ｃ方向とＡ方向との間の領域）だけを予測効率の評価対象とする。このように、２つの方向について予測効率の評価を順次行うことで、評価対象の方向領域を半減することができ、最適な予測方向を含む方向領域を絞り込むことができる。以下、図１２に示したＨＥＶＣ規格におけるイントラ予測を行う場合を例にして説明する。
【００３０】
〔イントラ予測処理装置〕
まず、本発明の実施形態によるイントラ予測処理装置について説明する。図１は、本発明の実施形態によるイントラ予測処理装置の概略構成を示すブロック図である。このイントラ予測処理装置１は、図１２に示したＨＥＶＣ規格におけるイントラ予測モードの複数の予測方向を用いて画面内予測を行う装置であり、所定の２つの方向についての予測効率を順次評価して比較し、最適な予測方向（最適予測方向）を決定して出力する最適予測方向決定部２を備えている。
【００３１】
最適予測方向決定部２は、予測効率の評価対象となる候補の中から直交する１組（２方向）の予測方向について、予測効率を評価して比較する比較部３と、比較部３の比較結果に基づいて、評価対象となる候補の方向領域を選択し、選択した方向領域に含まれる相関の最も低い１組（２方向）の予測方向について、予測効率を評価して比較する比較部４とを備えている。比較部３の処理後、比較部４の処理を必要な回数繰り返すことにより、比較部４は、最適な予測方向を決定し出力する。尚、所定候補の中で直交する１組は、所定候補の中で相関の最も低い１組でもある。
【００３２】
最適予測方向決定部２の処理を説明する前に、図１２に示した予測方向について説明する。図２は、イントラ予測モードの方向を説明する図であり、図１２に示したＨＥＶＣ規格におけるインデックス２〜３４の予測方向及び領域を示している。図２に示すように、インデックス２の予測方向を左下方向とし、インデックス１０の予測方向を水平左方向とし、インデックス１８の予測方向を左上方向とし、インデックス２６の予測方向を垂直上方向とし、インデックス３４の予測方向を右上方向とする。また、インデックス２の左下方向からインデックス１８の左上方向までの領域を水平左に属する方向領域とし、インデックス１８の左上方向からインデックス３４の右上方向までの領域を垂直上に属する方向領域とする。また、インデックス２の左下方向からインデックス１０の水平左方向までの領域を水平左下に属する方向領域とし、インデックス１０の水平左方向からインデックス１８の左上方向までの領域を水平左上に属する方向領域とし、インデックス１８の左上方向からインデックス２６の垂直上方向までの領域を垂直左上に属する方向領域とし、インデックス２６の垂直上方向からインデックス３４の右上方向までの領域を垂直右上に属する方向領域とする。
【００３３】
ここで、インデックス１０の水平左方向とインデックス２６の垂直上方向とは直交しており、同様に、インデックス２の左下方向とインデックス１８の左上方向とも直交しており、インデックス１８の左上方向とインデックス３４の右上方向とも直交している。また、例えば、インデックス２６〜３４の垂直右上に属する方向領域において、相関の最も低い２方向は、インデックス２６の垂直上方向及びインデックス３４の右上方向である。
【００３４】
〔最適予測方向決定部の処理〕
図３は、図１に示した最適予測方向決定部２の処理の概略を示すフローチャートである。まず、最適予測方向決定部２の比較部３は、直交する２方向について評価値を算出し、２つの評価値を比較し、評価値が大きい方向（予測効率が高い方向）を特定する（ステップＳ３０１）。尚、評価値が大きいほど予測効率は高いものとする。このステップＳ３０１による直交方向比較処理（α）の詳細については、後述する図４において説明する。そして、比較部４は、ステップＳ３０１の直交方向比較処理（α）により決定された予測方向を含む方向領域を選択し、その方向領域における相関の最も低い２方向について、評価値が算出済みでない方向の評価値を算出し、２つの評価値を比較し、評価値の大きい方向を特定して次の評価対象の方向領域を選択し、このような処理を繰り返すことにより方向を絞り込み、最適な予測方向（評価値が最も大きい方向）を決定する（ステップＳ３０２）。このステップＳ３０２による絞り込み比較処理（β）の詳細については、後述する図４において説明する。
【００３５】
図４は、図３に示した最適予測方向決定部２の処理の詳細を示すフローチャートである。図４において、ステップＳ４０１〜ステップＳ４０７は、図３に示したステップＳ３０１の直交方向比較処理（α）の詳細を示し、最適予測方向決定部２の比較部３により行われる。また、ステップＳ４０８〜ステップＳ４１７等は、図３に示したステップＳ３０２の絞り込み比較処理（β）の詳細を示し、最適予測方向決定部２の比較部４により行われる。
【００３６】
（直交方向比較処理（α））
まず、最適予測方向決定部２の比較部３は、初期インデックスとしてインデックス１８を設定する（ステップＳ４０１）。そして、比較部３は、初期インデックス１８を基準にして、インデックス２〜３４の全領域から直交する方向のインデックス２６，１０を特定し、インデックス２６の垂直上方向の評価値ｂ［２６］を算出すると共に、インデックス１０の水平左方向の評価値ｂ［１０］を算出する（ステップＳ４０２）。
【００３７】
ここで、評価値は、当該方向の予測効率を数値化した値であり、評価値が大きい場合は予測効率が高く、評価値が小さい場合は予測効率が低いことを示している。例えば、ＲＤコスト判定等により評価値が算出される。また、評価値として、当該予測方向の予測画像と実際の入力画像との間における画素差分値の絶対値の総和の逆数が算出される。予測画像と入力画像との間の差が小さい場合（差の逆数が大きい場合）、すなわち評価値が大きい場合、予測効率は高く、差が大きい場合（差の逆数が小さい場合）、すなわち評価値が小さい場合、予測効率は低くなる。
【００３８】
比較部３は、評価値ｂ［２６］と評価値ｂ［１０］とを比較し、評価値ｂ［２６］が評価値ｂ［１０］よりも大きいか否かを判定する（ステップＳ４０３）。そして、比較部３は、ステップＳ４０３において、評価値ｂ［２６］が評価値ｂ［１０］よりも大きいと判定した場合（ステップＳ４０３：Ｙ）、インデックス２６を基準にして、インデックス１８〜３４の垂直上に属する方向領域を選択する。この場合、選択したインデックス１８〜３４の垂直上に属する方向領域について比較処理を進め、選択していないインデックス２〜１８の水平左に属する方向領域の方向については最適な予測方向から除外する。これにより、演算量を削減することができる。比較部３は、選択したインデックス１８〜３４のうち相関が最も低い２方向として、直交するインデックス３４，１８を特定する。そして、比較部３は、インデックス３４の右上方向の評価値ｂ［３４］を算出すると共に、インデックス１８の左上方向の評価値ｂ［１８］を算出する（ステップＳ４０４）。
【００３９】
比較部３は、評価値ｂ［３４］と評価値ｂ［１８］とを比較し、評価値ｂ［３４］が評価値ｂ［１８］よりも大きいか否かを判定する（ステップＳ４０５）。そして、比較部３は、ステップＳ４０５において、評価値ｂ［３４］が評価値ｂ［１８］よりも大きいと判定した場合（ステップＳ４０５：Ｙ）、ステップＳ４０８へ移行する。この場合、比較部３は、インデックス３４及びフラグ０（ｂｅｓｔ＝３４，ｆｌａｇ＝０）を設定する。尚、ステップＳ４０５において、評価値ｂ［３４］が評価値ｂ［１８］よりも大きくないと判定した場合（ステップＳ４０５：Ｎ）の処理は省略する。この場合、比較部３は、インデックス１８及びフラグ１（ｂｅｓｔ＝１８，ｆｌａｇ＝１）を設定する。ｂｅｓｔ，ｆｌａｇについては、後述する図５において説明する。
【００４０】
比較部３は、ステップＳ４０３において、評価値ｂ［２６］が評価値ｂ［１０］よりも大きくないと判定した場合（ステップＳ４０３：Ｎ）、インデックス１０を基準にして、インデックス２〜１８の水平左に属する方向領域を選択する。この場合、選択したインデックス２〜１８の水平左に属する方向領域について比較処理を進め、選択していないインデックス１８〜３４の垂直上に属する方向領域の方向については最適な予測方向から除外する。これにより、演算量を削減することができる。比較部３は、選択したインデックス２〜１８のうち相関が最も低い２方向として、直交するインデックス１８，２を特定する。そして、比較部３は、インデックス１８の左上方向の評価値ｂ［１８］を算出すると共に、インデックス２の左下方向の評価値ｂ［２］を算出する（ステップＳ４０６）。
【００４１】
比較部３は、評価値ｂ［１８］と評価値ｂ［２］とを比較し、評価値ｂ［１８］が評価値ｂ［２］よりも大きいか否かを判定する（ステップＳ４０７）。ステップＳ４０７において、評価値ｂ［１８］が評価値ｂ［２］よりも大きいと判定した場合（ステップＳ４０７：Ｙ）、及び、評価値ｂ［１８］が評価値ｂ［２］よりも大きくないと判定した場合（ステップＳ４０７：Ｎ）の処理は省略する。この場合、比較部３は、インデックス１８及びフラグ０（ｂｅｓｔ＝１８，ｆｌａｇ＝０）、インデックス２及びフラグ１（ｂｅｓｔ＝２，ｆｌａｇ＝１）を設定する。ｂｅｓｔ，ｆｌａｇについては、後述する図５において説明する。
【００４２】
（絞り込み比較処理（β））
最適予測方向決定部２の比較部４は、評価値ｂ［３４］が評価値ｂ［１８］よりも大きい場合（ステップＳ４０５：Ｙ）、ステップＳ４０５から移行して、インデックス３４を基準にして、インデックス１８〜３４のうち右に偏りを持つインデックス２６〜３４の垂直右上に属する方向領域を選択する。この場合、選択したインデックス２６〜３４の垂直右上に属する方向領域について比較処理を進め、選択していないインデックス１８〜２６の垂直左上に属する方向領域の方向については最適な予測方向から除外する。これにより、演算量を削減することができる。比較部４は、選択したインデックス２６〜３４のうち相関が最も低い２方向として、インデックス３４，２６を特定し、インデックス２６の垂直上方向の評価値ｂ［２６］を算出する（ステップＳ４０８）。尚、評価値ｂ［２６］は、ステップＳ４０２にて算出済みであるから、ステップＳ４０８にて必ずしも算出しなくてよい。ステップＳ４０８にて評価値ｂ［２６］を算出するのは、後述する図７に示すように、共通の関数ＣｏｍｐＬを用いるようにしたからである。
【００４３】
比較部４は、評価値ｂ［３４］と評価値ｂ［２６］とを比較し、評価値ｂ［３４］が評価値ｂ［２６］よりも大きいか否かを判定する（ステップＳ４０９）。そして、比較部４は、ステップＳ４０９において、評価値ｂ［３４］が評価値ｂ［２６］よりも大きいと判定した場合（ステップＳ４０９：Ｙ）、インデックス３４を基準にして、インデックス２６〜３４のうち右に偏りを持つインデックス３０〜３４の方向領域を選択する。この場合、選択したインデックス３０〜３４の方向領域について比較処理を進め、選択していないインデックス２６〜３０の方向領域の方向については最適な予測方向から除外する。これにより、演算量を削減することができる。比較部４は、選択したインデックス３０〜３４のうち相関が最も低い２方向として、インデックス３４，３０を特定し、インデックス３０の評価値ｂ［３０］を算出する（ステップＳ４１０）。この場合、インデックス３４の評価値ｂ［３４］は算出済みである。
【００４４】
一方、比較部４は、ステップＳ４０９において、評価値ｂ［３４］が評価値ｂ［２６］よりも大きくないと判定した場合（ステップＳ４０９：Ｎ）、ステップＳ４０９から移行して、インデックス２６を基準にして、インデックス２６〜３４のうち左に偏りを持つインデックス２６〜３０の方向領域を選択する。この場合、選択したインデックス２６〜３０の方向領域について比較処理を進め、選択していないインデックス３０〜３４の方向領域の方向については最適な予測方向から除外する。これにより、演算量を削減することができる。以降の処理の説明は省略する。
【００４５】
比較部４は、ステップＳ４１０から移行して、評価値ｂ［３４］と評価値ｂ［３０］とを比較し、評価値ｂ［３４］が評価値ｂ［３０］よりも大きいか否かを判定する（ステップＳ４１１）。そして、比較部４は、ステップＳ４１１において、評価値ｂ［３４］が評価値ｂ［３０］よりも大きいと判定した場合（ステップＳ４１１：Ｙ）、インデックス３４を基準にして、インデックス３０〜３４のうち右に偏りを持つインデックス３２〜３４の方向領域を選択する。この場合、選択したインデックス３２〜３４の方向領域について比較処理を進め、選択していないインデックス３０〜３２の方向領域の方向については最適な予測方向から除外する。これにより、演算量を削減することができる。比較部４は、選択したインデックス３２〜３４のうち相関が最も低い２方向として、インデックス３４，３２を特定し、インデックス３２の評価値ｂ［３２］を算出する（ステップＳ４１２）。この場合、インデックス３４の評価値ｂ［３４］は算出済みである。
【００４６】
比較部４は、ステップＳ４１３〜ステップＳ４１５においても同様の処理を行い、最終的に、ステップＳ４１５において、評価値ｂ［３４］が評価値ｂ［３３］よりも大きいと判定した場合（ステップＳ４１５：Ｙ）、最適な予測方向としてインデックス３４を決定する（ステップＳ４１６）。一方、比較部４は、ステップＳ４１５において、評価値ｂ［３４］が評価値ｂ［３３］よりも大きくないと判定した場合（ステップＳ４１５：Ｎ）、最適な予測方向としてインデックス３３を決定する（ステップＳ４１７）。
【００４７】
（プログラムリスト）
次に、図３及び図４に示した最適予測方向決定部２の処理をＣ言語のプログラムにて実行する場合のプログラムリストについて説明する。図５は、最適予測方向決定部２の処理をＣ言語の書式にて示したプログラムリストの一例であり、図６は、図３に示したステップＳ３０１の直交方向比較処理（α）をＣ言語の書式にて示したプログラムリストの一例であり、図７は、ステップＳ３０２の絞り込み比較処理（β）をＣ言語の書式にて示したプログラムリストの一例である。
【００４８】
図５において、Ｃｏｍｐ関数は、最適予測方向決定部２の比較部３により前述の直交方向比較処理（α）を実行する関数であり、図２に示したインデックス２〜３４の予測方向のうち、中間値のインデックス１８が初期インデックスとして指定される。このＣｏｍｐ関数により、後述するｂｅｓｔ及びｆｌａｇが得られる。そして、ｆｌａｇの値に応じてＣｏｍｐＬ関数またはＣｏｍｐＳ関数が実行される。ＣｏｍｐＬ関数は、ｆｌａｇ＝０の場合に、インデックスが大きい予測方向に対し、最適予測方向決定部２の比較部４により前述の絞り込み比較処理（β）を実行する関数である。一方、ＣｏｍｐＳ関数は、ｆｌａｇ＝１の場合に、インデックスが小さい予測方向に対し、最適予測方向決定部２の比較部４により前述の絞り込み比較処理（β）を実行する関数である。
【００４９】
図６において、Ｃｏｍｐ関数は、前述のとおり、直交方向比較処理（α）を実行する関数であり、前段で比較された１組の予測方向のうち、効率的であると評価された評価値が大きい１方向を示すインデックスｘを入力とし、再帰呼び出しを使用するため比較の回数をカウントするｌａｙｅｒをもつ。Ｃｏｍｐ関数の出力信号は、メモリｂｅｓｔに保存されたインデックスの値である。また、終了条件であるｍａｘ＿ｌａｙｅｒは、図２に示した方向数３３の場合、２である。尚、対象となる符号化ブロックが正方である場合は、常に２となる。また、制御フラグｆｌａｇは、後段の比較部４を制御するために用いられる。具体的には、比較対象の１組の予測方向のうち、効率的であると評価されたインデックスの値が大きい方かまたは小さい方かを識別するために用いられる。
【００５０】
プログラムリスト内のｅ（ｘ）は、インデックスｘのイントラ予測の予測効率である評価値を算出する関数であり、例えばＲＤコスト判定等が用いられる。また、ｂ［ｘ］は、インデックスｘのイントラ予測の予測効率である評価値を格納するメモリを表す。
【００５１】
図７において、ＣｏｍｐＳ関数及びＣｏｍｐＬ関数は、前述のとおり、絞り込み比較処理（β）を実行する関数であり、入力信号であるｆｌａｇに応じ、予測方向の向きによっていずれかの関数が実行される。つまり、最適予測方向決定部２の比較部４は、これらの２つの関数を用いて絞り込み比較処理（β）を行う。具体的には、ＣｏｍｐＳ関数は、１組の予測方向を比較した結果、インデックスの値が小さい予測方向の効率が高かった場合に、そのインデックスの値が入力される比較部であり、ＣｏｍｐＬ関数は、逆にインデックスの値が大きい予測方向の効率が高かった場合に、そのインデックスの値が入力される比較部である。
【００５２】
ＣｏｍｐＳ関数及びＣｏｍｐＬ関数は、それぞれ入力されたインデックスの値に基づいて、次の比較を行う処理部であり、それぞれ次の予測候補の効率（評価値）の算出を１度行い、入力された予測候補の効率（評価値）と比較する。そして、その結果によってそれぞれＣｏｍｐＳ関数またはＣｏｍｐＬ関数が再度実行される。また、ＣｏｍｐＳ関数及びＣｏｍｐＬ関数は、Ｃｏｍｐ関数と同様に、再帰呼び出しを使用するため比較の回数をカウントするｌａｙｅｒをもつ。図２に示した例では、処理対象となる方向数が８であるため、ｍａｘ＿ｌａｙｅｒは３である。
【００５３】
以上のように、本発明の実施形態によるイントラ予測処理装置１によれば、最適な１方向に対して直交する方向の予測効率は極めて低く、最適な１方向に近い方向ほど予測効率は高くなるという予測効率の性質を考慮し、最適な予測方向を決定するようにした。具体的には、最適予測方向決定部２の比較部３は、直交方向比較処理（α）を行い、直交する２方向について評価値を算出し、２つの評価値を比較し、評価値が大きい方向を特定するようにした。そして、比較部４は、絞り込み比較処理（β）を行い、比較部３により特定された予測方向に基づいて方向領域を選択し、その方向領域における相関の最も低い２方向について、評価値が算出済みでない方向の評価値を算出し、２つの評価値を比較し、評価値の大きい方向を特定して次の評価対象の方向領域を選択し、このような処理を繰り返すことにより方向を絞り込み、最適な予測方向を決定するようにした。これにより、全方向についての予測効率の評価は必要とならず、演算量を削減することができる。
【００５４】
また、図５〜図７に示した最適予測方向決定部２の処理を表したプログラムリストの一例では、図６のａ，ｂに示すＣｏｍｐ関数、及び図７のｃ〜ｆに示すＣｏｍｐＳ関数及びＣｏｍｐＬ関数において、当該関数を実行するプログラムの中で同じ関数を実行しており、処理を再帰的に行うようにした。これにより、最適予測方向決定部２の処理を、再帰表現によるプログラムにて実行することができるから、当該プログラムを、イントラ予測処理装置１を構成するコンピュータに、コンパクトに実装することが可能となる。
【００５５】
このように、本発明の実施形態によるイントラ予測処理装置１によれば、２つの方向についての予測効率の評価を、再帰表現によるプログラムにて順次実行することで、評価対象の方向領域を半減することができ、最適な予測方向を含む方向領域を高速に絞り込むことができる。したがって、イントラ予測の予測方向が多数の場合であっても、予測効率が低下することなく予測方向の決定処理を高速に行うことができ、処理時間及び消費電力を低減することが可能となる。
【００５６】
〔画像符号化装置〕
次に、図１に示したイントラ予測処理装置１の最適予測方向決定部２を、画像符号化装置に備えた場合について説明する。図８は、その画像符号化装置の構成を示すブロック図である。この画像符号化装置１０は、前処理部１１、減算部１２、直交変換部１３、量子化部１４、逆量子化部１５、逆直交変換部１６、加算部１７、フレームメモリ１８、信号予測部１９及びエントロピー符号化部２０を備えている。信号予測部１９は、予測信号生成部２１及び図１に示した最適予測方向決定部２を備えている。
【００５７】
前処理部１１は、符号化対象である画像の信号を入力し、この入力信号に対し、符号化のために必要な所定の前処理を行う。減算部１２は、前処理部１１から前処理後の信号を入力すると共に、後述する信号予測部１９から予測信号を入力し、前処理後の信号から予測信号を減算し、差分信号を生成する。直交変換部１３は、減算部１２から減算結果の差分信号を入力し、直交変換を行い、直交変換係数を生成する。量子化部１４は、直交変換部１３から直交変換係数を入力し、量子化を行う。逆量子化部１５は、量子化部１４から量子化した信号を入力し、逆量子化を行い、逆量子化した信号を逆直交変換部１６に出力する。逆直交変換部１６は、逆量子化部１５から逆量子化された信号を入力し、逆直交変換を行い、逆直交変換係数を生成することで差分信号を再生する。加算部１７は、逆直交変換部１６から逆直交変換係数を入力すると共に、後述する信号予測部１９から予測信号を入力し、逆直交変換係数に予測信号を加算する。フレームメモリ１８は、加算部１７から加算結果の信号を入力し、復号信号として記憶する。フレームメモリ１８に記憶された復号信号は、後述する信号予測部１９により、予測信号を生成する際の参照信号として読み出される。
【００５８】
信号予測部１９は、フレームメモリ１８から参照信号を読み出し、参照信号に基づいて、所定の予測方式により予測信号を生成し、減算部１２及び加算部１７に出力する。ここで、信号予測部１９の最適予測方向決定部２は、前述のとおり、イントラ予測モードの複数の予測方向を用いて画面内予測を行う機能を有し、所定の２つの方向についての予測効率を順次評価して比較し、最適な予測方向（最適予測方向）を決定し、予測信号生成部２１に出力する。予測信号生成部２１は、最適予測方向決定部２から最適予測方向を入力し、最適予測方向にて予測信号を生成する。エントロピー符号化部２０は、量子化部１４から量子化した信号を入力し、エントロピー符号化し、符号化信号を出力する。この符号化信号は、後述する画像復号装置３０へ出力される。
【００５９】
尚、図８において、前処理部１１〜フレームメモリ１８、信号予測部１９に備えた予測信号生成部２１、及びエントロピー符号化部２０については既知であるから、ここでは詳細な説明を省略する。
【００６０】
以上のように、図８に示した画像符号化装置１０によれば、図１に示したイントラ予測処理装置１の最適予測方向決定部２を用いて、イントラ予測モードの最適な予測方向を高速に決定することができ、処理時間及び消費電力を低減することが可能となる。
【００６１】
〔画像復号装置〕
次に、図１に示したイントラ予測処理装置１の最適予測方向決定部２を、画像復号装置に備えた場合について説明する。例えば、図８に示した画像符号化装置１０から最適な予測方向を示す符号が送信されない場合に適用がある。図９は、その画像復号装置の構成を示すブロック図である。この画像復号装置３０は、エントロピー復号部３１、逆量子化部３２、逆直交変換部３３、加算部３４、後処理部３５、フレームメモリ３６及び信号予測部３７を備えている。信号予測部３７は、予測信号生成部３８及び図１に示した最適予測方向決定部２を備えている。
【００６２】
エントロピー復号部３１は、図８に示した画像符号化装置１０により出力された符号化信号を入力し、図８に示したエントロピー符号化部２０のエントロピー符号化に対応するエントロピー復号を行う。逆量子化部３２は、エントロピー復号部３１によりエントロピー復号された信号を入力し、図８に示した逆量子化部１５と同様に、逆量子化を行い、逆量子化した信号を逆直交変換部３３に出力する。逆直交変換部３３は、逆量子化部３２から逆量子化された信号を入力し、図８に示した逆直交変換部１６と同様に、逆直交変換を行う。加算部３４は、逆直交変換部３３からの信号を入力すると共に、後述する信号予測部３７から予測信号を入力し、両信号を加算する。後処理部３５は、加算部３４から加算結果の信号である復号信号を入力し、この復号信号に対し、図８に示した前処理部１１の前処理に対応する所定の後処理を行い、画像の出力信号として出力する。フレームメモリ３６は、加算部３４から加算結果の信号を入力し、復号信号として記憶する。フレームメモリ３６に記憶された復号信号は、後述する信号予測部３７により、予測信号を生成する際の参照信号として読み出される。
【００６３】
信号予測部３７は、フレームメモリ３６から参照信号を読み出し、参照信号に基づいて、所定の予測方式により予測信号を生成し、加算部３４に出力する。ここで、信号予測部３７の最適予測方向決定部２は、前述のとおり、イントラ予測モードの複数の予測方向を用いて画面内予測を行う機能を有し、所定の２つの方向についての予測効率を順次評価して比較し、最適な予測方向（最適予測方向）を決定し、予測信号生成部３８に出力する。予測信号生成部３８は、最適予測方向決定部２から最適予測方向を入力し、最適予測方向にて予測信号を生成する。
【００６４】
尚、図９において、エントロピー復号部３１〜フレームメモリ３６、及び信号予測部３７に備えた予測信号生成部３８については既知であるから、ここでは詳細な説明を省略する。
【００６５】
以上のように、図９に示した画像復号装置３０によれば、図１に示したイントラ予測処理装置１の最適予測方向決定部２を用いて、イントラ予測モードの最適な予測方向を高速に決定することができ、処理時間及び消費電力を低減することが可能となる。
【００６６】
以上、本発明の実施形態によるイントラ予測処理装置１について説明したが、前述の手法は、２つの方向についての予測効率の評価を、再帰表現によるプログラムにて順次実行することで、評価対象の方向領域を半減するものであり、シングルスレッドの処理が対象となっている。これに対し、他の態様のイントラ予測処理装置１は、予測効率の評価を行うことで評価対象の方向領域を順次切り捨てるのではなく、予測効率の評価を並列処理にて総当たりで行うマルチスレッドの処理を実現する。具体的には、イントラ予測処理装置１は、２つの方向についての予測効率の評価、及び評価値が大きい方向の特定によって領域を絞り込む処理を、並列処理にて総当たりで行い、最適な予測方向を決定する。つまり、前述の手法による処理（分岐処理）を、マルチスレッドに対するスレッド割り当てとして使用し、分岐しないで切り捨てる側の処理（図４に示した分岐処理において「Ｎ」側の処理）を常に別スレッドに割り当てる。
【００６７】
これにより、イントラ予測の予測方向が多数の場合であっても、予測効率が低下することなく予測方向の決定処理を高速に行うことができるという、前述の手法と同様の効果を奏し、さらに、全体の処理負荷を並列処理のそれぞれに均等に分散するから、スレッドの使用効率を均等にすることができる。また、総当たりの処理によって、最適な予測方向を決定するためのマルチスレッドに適した処理効果を得ることができる。したがって、イントラ予測処理装置１を効率的に使用することができ、最大の性能を発揮することが可能となる。
【００６８】
尚、本発明の実施形態によるイントラ予測処理装置１、画像符号化装置１０及び画像復号装置３０のハードウェア構成としては、通常のコンピュータを使用することができる。イントラ予測処理装置１、画像符号化装置１０及び画像復号装置３０は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。イントラ予測処理装置１に備えた最適予測方向決定部２の機能は、この機能を記述したプログラム（例えば、図５〜図７に示したプログラム）をＣＰＵに実行させることによりそれぞれ実現される。また、画像符号化装置１０に備えた前処理部１１、減算部１２、直交変換部１３、量子化部１４、逆量子化部１５、逆直交変換部１６、加算部１７、フレームメモリ１８、信号予測部１９及びエントロピー符号化部２０の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、画像復号装置３０に備えたエントロピー復号部３１、逆量子化部３２、逆直交変換部３３、加算部３４、後処理部３５、フレームメモリ３６及び信号予測部３７の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【００６９】
１  イントラ予測処理装置
２  最適予測方向決定部
３，４  比較部
１０  画像符号化装置
１１  前処理部
１２  減算部
１３  直交変換部
１４  量子化部
１５  逆量子化部
１６  逆直交変換部
１７，３４  加算部
１８，３６  フレームメモリ
１９，３７  信号予測部
２０  エントロピー符号化部
２１，３８  予測信号生成部
３０  画像復号装置
３１  エントロピー復号部
３２  逆量子化部
３３  逆直交変換部
３５  後処理部
【図１】
2014027371.tif 000003
【図２】
2014027371.tif 000004
【図３】
2014027371.tif 000005
【図４】
2014027371.tif 000006
【図５】
2014027371.tif 000007
【図６】
2014027371.tif 000008
【図７】
2014027371.tif 000009
【図８】
2014027371.tif 000010
【図９】
2014027371.tif 000011
【図１０】
2014027371.tif 000012
【図１１】
2014027371.tif 000013
【図１２】
2014027371.tif 000014