(57)【要約】【課題】イントラ予測における演算量を削減する。【解決手段】イントラ予測方向を決定するイントラ予測方向決定方法であって、符号化対象ブロックの符号化対象画素と参照画素のメモリ上での相対的な位置関係に基づいて参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、符号化対象画素群と参照画素群のメモリ上での相対的な位置関係に基づき、２つ以上の方向を選択するステップと、選択した２つ以上の方向についてコストを算出し、コストが最小となる方向を選択するステップと、コストが最小となる方向と各イントラ予測方向の間の相関と、選択されなかった方向と各イントラ予測方向の間の相関とのいずれに対しての相関が相対的に高いかを判定し、コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択するステップとを有する。【選択図】図１
2015179944.tif 000002
【特許請求の範囲】
【請求項１】
隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づいて前記符号化対象ブロックと隣接する前記符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向から２つ以上の方向を選択する第１のイントラ予測方向選択ステップと、
選択した２つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第２のイントラ予測方向選択ステップと、
前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第２のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第３のイントラ予測方向選択ステップと
を有することを特徴とするイントラ予測方向決定方法。
【請求項２】
隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づき、前記符号化対象ブロックと前記隣接する符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向及びイントラ予測方向ではない所定の方向から２つ以上の方向を選択する第１のイントラ予測方向選択ステップと、
選択した２つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第２のイントラ予測方向選択ステップと、
前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第２のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第３のイントラ予測方向選択ステップと
を有することを特徴とするイントラ予測方向決定方法。
【請求項３】
前記第１のイントラ予測方向選択ステップで選択する２つ以上の方向は、互いの相関が低くなる関係にあることを特徴とする請求項１または２に記載のイントラ予測方向決定方法。
【請求項４】
前記第２のイントラ予測方向選択ステップは、前記選択した２つ以上の方向についてコストを算出し、該コストが小さいものから複数の方向を選択し、
前記第３のイントラ予測方向選択ステップは、前記第２のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を中心とする、前記第２のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を除いた方向を用いて定まる所定の範囲を決定し、該所定の範囲に含まれるイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択することを特徴とする請求項１から３のいずれか１項に記載のイントラ予測方向決定方法。
【請求項５】
前記第１のイントラ予測方向選択ステップは、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に加えて前記符号化対象ブロックのブロックサイズに基づき、前記符号化対象画素群と前記参照画素群を選択することを特徴とする請求項１から４のいずれか１項に記載のイントラ予測方向決定方法。
【請求項６】
前記第１のイントラ予測方向選択ステップは、参照すべき位置に前記隣接する符号化済みブロックの画素である参照画素がない場合には、前記隣接する符号化済みブロックの画素である参照画素から小数画素を生成し、生成した小数画素を前記参照画素群に含めて前記参照画素群を選択することを特徴とする請求項１から５のいずれか１項に記載のイントラ予測方向決定方法。
【請求項７】
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係は、前記符号化対象画素が横方向または縦方向に一列ずつメモリに格納されており、前記隣接する符号化済みブロックの画素である参照画素はその１つ上に横方向にまたはその１つ左に縦方向に１列にメモリに格納されている位置関係であり、
前記符号化対象画素群は、前記符号化対象ブロックの上から１段目または左から１列目であり、
前記参照画素群は、前記符号化対象画素群の１つ上または１つ左の参照画素であることを特徴とする請求項１から６のいずれか１項に記載のイントラ予測方向決定方法。
【請求項８】
コンピュータに、請求項１から７のいずれか１項に記載のイントラ予測方向決定方法を実行させるためのイントラ予測方向決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イントラ予測方向決定方法及びイントラ予測方向決定プログラムに関する。
【背景技術】
【０００２】
Ｈ．２６４の次の映像符号化標準方式として策定されたＨＥＶＣは、Ｈ．２６４を上回る符号化効率を実現する符号化方式であるが、処理が複雑化し演算量が莫大であるため、実際に製品に利用するためにはその符号化演算コストを大幅に削減しなければならないという問題を抱えている。特に、イントラ予測においてはその予測モードの選択肢が増大しており、適切な予測モードをより高速に判定することが必要となっている。ここで、図１８を参照して、映像の符号化を行う装置の標準的な構成を説明する。
【０００３】
図１８は、映像の符号化を行う装置の標準的な構成を示すブロック図である。符号化を行う装置は、符号化対象の入力画像を入力し、入力画像のピクチャをブロックに分割してブロックごとに符号化し、そのビットストリームを符号化ストリームとして出力する。この符号化のため、イントラ予測部１は、イントラ予測を行った予測信号を出力する。動き補償部２は、動き補償の予測信号を出力する。減算部３は、入力画像と、イントラ予測部１あるいは動き補償２の出力である予測信号との差分を求め、それを予測残差信号として出力する。ＤＣＴ／量子化部４は、予測残差信号に対して離散コサイン変換等の直交変換を行い、変換係数を量子化し、その量子化された変換係数を出力する。エントロピー符号化処理部５は、量子化された変換係数をエントロピー符号化し、符号化ストリームとして出力する。
【０００４】
一方、量子化された変換係数は、逆量子化／逆ＤＣＴ部６にも入力され、ここで逆量子化と逆直交変換され、予測残差信号を出力する。加算部７では、予測残差信号とイントラ予測部１あるいは動き補償部２の出力である予測信号とを加算し、符号化した符号化対象ブロックの復号映像信号を生成する。この復号映像信号は、動き補償部２で参照画像として用いるために、ループフィルタ８に対して出力される。ループフィルタ８では符号化歪みを低減するフィルタリング処理を行い、このフィルタリング処理後の画像を復号映像信号として動き補償部２に対して出力する。動きベクトル予測部９は、入力画像とループフィルタの出力を入力し、動きベクトルを予測し、その結果を動き補償部２とエントロピー符号化部５に対して出力する。符号化制御部１０は、入力画像を入力し、イントラ予測部１、ＤＣＴ／量子化部４、エントロピー符号化部５の処理動作を制御する。
【０００５】
このように、映像符号化においては、ブロック単位で予測の方法を決定しており、その予測方法は大きく分けて２つある。１つ目はイントラ予測と呼ばれる１画面の符号化情報のみを用いた予測手法、２つ目は、インター予測（動き補償）、スキップなどの複数画面の符号化情報を用いた予測手法である。以下、本発明に関係するイントラ予測についてのみ説明する。
【０００６】
イントラ予測は、符号化対象ブロックに隣接する符号化済み画素を用いた予測であり、その予測モードの選択肢は全部で３５モード存在する。図１９は、イントラ予測のモードを示す説明図である。このうち、３３モードは周囲の符号化済み画素を参照し、その画素が一定方向に続くものとして予測を行うものである。例えば、予測モードの番号が２６のときは垂直方向の予測となり、符号化対象ブロックの真上に隣接する符号化済み画素を、それぞれ縦に一列ずつコピーし、その差分を符号化する。一方、予測モードの番号が２５のように斜め方向の予測を行う際には、その角度により隣接する符号化済み画素が存在しない可能性がある。この場合、Ｈ．２６４やＨＥＶＣにおいては符号化済み画素にフィルタ処理を行い、画素間位置の画素を生成して補間を行っている。この処理は、イントラスムージング処理と呼ばれている。
【０００７】
イントラ予測方向決定では通常各予測方向のコストを計算し、コストが最小となるものを最適なイントラ予測モードとして決定している。そのため、イントラ予測方向決定における演算量削減には、各予測モードのコストの大小をより少ない演算量で判定することが必要となる。
【０００８】
次に、イントラ予測を高速に行うための従来手法について説明する。始めに、ＳＳＥ（Ｓｔｒｅａｍｉｎｇ  ＳＩＭＤ  Ｅｘｔｅｎｓｉｏｎｓ）について説明する。ＣＰＵの高速処理を可能にする命令として、マイクロプロセッサに搭載されているＳＳＥと呼ばれるマルチメディア拡張命令セットがある。これには、複数の浮動小数点数演算を同時に実行する機能や、マルチメディア処理に頻繁に使う命令が追加されている。この命令を用いた高速化は、メモリ上の一定範囲内に配置されたデータの処理において有効となる。図２０は、メモリの構成の一例を示す説明図である。図２０に示すように、メモリＡとメモリＢ上にそれぞれ、データＡｉ，Ｂｉ（ｉ＝０，１，２）が順番に格納されている場合について説明する。
【０００９】
ＡｉとＢｉの各データの差分の絶対値Ｓｉを求める場合、
Ｓ０＝ａｂｓ（Ａ０−Ｂ０）
Ｓ１＝ａｂｓ（Ａ１−Ｂ１）
Ｓ２＝ａｂｓ（Ａ２−Ｂ２）
によって求めることができる。
上記では、Ｓ０，Ｓ１，Ｓ２の演算処理を順番に行う。この場合、処理回数は３回としてカウントされる。
【００１０】
一方、ＳＳＥでは、以下のように行う。
【数１】
2015179944.tif 000003
上記では、Ｓ０，Ｓ１，Ｓ２の演算処理を一括して行う。この場合、処理回数は１回としてカウントされる。
【００１１】
このように、ＳＳＥを用いることで、メモリ上の一定範囲内に配列されたデータに対して同一処理を行う場合、それらを一括して処理することが可能となる。しかし、ＳＳＥ利用による高速化には、扱うデータがメモリ上の一定範囲内に存在しなければならないという問題がある。これは、ＳＳＥにおける次の２つの特性によるものである。
【００１２】
一つ目は、高速化命令用レジスタに一度に格納できるデータは、メモリ内の一定範囲内に限られるという点である。高速化命令用の各レジスタでは、一度に読み込めるメモリの容量が決まっているため、それを超える範囲に格納されるデータを同時に読み込むことができない。
【００１３】
二つ目は、高速化命令用レジスタへのデータ格納には、比較的処理時間がかかる点である。高速化命令用のレジスタは、前述したように容量が限られるが、その長さが大きいため、そのメモリデータ格納にも処理時間がかかる。この処理時間は、その範囲内のデータのうち、実際に演算に用いるデータが全てでも、一つのみでも同じである。このため、特にデータがメモリ上の様々な場所に点在するような場合、レジスタへのデータ格納に時間が増加してしまうため、その後のＳＳＥ処理における高速化処理の効果が得られない可能性がある。
【００１４】
上記２点により、ＳＳＥ利用においては、演算対象のデータが、メモリ上で一定範囲内に存在する必要がある。なお、複数のデータの組み合わせ（上記例のＡｉ，Ｂｉ）に対しても、それぞれのデータがメモリ上の一定範囲内に配列されていれば（上記例のＡ０，Ａ１，Ａ２，・・・）、同様のことが言える。上記では、１回の計算でＳ０，Ｓ１，Ｓ２を一度に算出できる。この場合、Ａｉのみメモリの一定範囲内に並んでいても、Ｂｉの配置がメモリの一定範囲内に配置されていない場合、上記の問題点に述べたように逐一Ｂｉのデータを読み込む必要が発生するため、ＳＳＥによる高速化が有効でない可能性があると考えられる。
【００１５】
イントラ予測の各コスト算出に前述したＳＳＥを用いることによるイントラ予測の高速化が考えられる。しかし、一般に、符号化対象ブロック内の画素と予測に用いる符号化済み画素の、各々のメモリ上の配列が異なるため、コスト算出にＳＳＥを用いただけでは十分な高速化ができない。以下、高速演算とは、ＳＩＭＤ化のような、プログラム実装において用いることが可能な高速演算手法を指すものとする。
【００１６】
次に、イントラ高速探索手法について説明する。イントラ予測の予測モード決定においては、通常各予測モードに対する予測画像の算出が必要であり、その予測モード数が増えるほど予測モード決定のための演算量も増加する。イントラ予測の演算量を削減する手法として、以下のように周辺画素の符号化情報あるいは符号化対象画素などを用いて予測モードの候補を予め絞り込むことにより演算量を削減する技術がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００９−８９２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
ところで、イントラ予測方向のコスト算出では、符号化対象ブロック内の画素すべてについて縦横斜めの全３３方向に対する誤差算出の必要があるが、その各方向に対応する形でＳＳＥによる高速演算を行うことは適切でない。その理由について説明する。一般に、符号化対象ブロック内画素は通常画面全体で横方向に一列ずつ順番にメモリに配置されている。高速化命令用レジスタではメモリの配列に沿ってデータを読み込むため、画素のデータはそれぞれ横方向一列に沿ってのみ同一レジスタ内への取り込みが可能である。
【００１９】
しかし、イントラ予測方向絞り込みでは縦横斜めの３３方向に対する演算が発生し、誤差算出の処理においては同一の演算処理を行うデータ群が、別々のレジスタ内に取り込まれている可能性がある。このように、同一レジスタ内画素に対して同一演算処理を実行できる状況が限られ、高速化命令用レジスタへの取り込みに必要な演算量に対して、高速化命令実行可能な処理が少ないことから、符号化処理全体としての演算量削減につながりにくいと考えられる。
【００２０】
一方、特許文献１によると、予測方向を絞り込む段階での手法及び絞り込みの候補となる予測方向に対して特に規定がないことから、候補となる予測方向の選択方法や絞り込み手法によっては演算量が増加、または符号化効率が悪化する可能性がある。
【００２１】
また、ＳＳＥと特許文献１の技術を組み合わせることにより、メモリ上のデータの配列順に基づき、高速演算を実行しにくい予測方向を選択し、特許文献１の予測モード絞り込み時に探索方向から除いて絞り込むという方法が考えられる。これは、予測モードを高速演算により絞り込み可能になることからより高速なイントラ予測ができると考えられるが、単純に高速演算しにくい方向を探索方向から除くと、符号化効率が悪化する可能性があるという問題がある。
【００２２】
本発明は、このような事情に鑑みてなされたもので、イントラ予測における演算量を削減することができるイントラ予測方向決定方法及びイントラ予測方向決定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２３】
本発明は、隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づいて前記符号化対象ブロックと隣接する前記符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向から２つ以上の方向を選択する第１のイントラ予測方向選択ステップと、選択した２つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第２のイントラ予測方向選択ステップと、前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第２のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第３のイントラ予測方向選択ステップとを有することを特徴とする。
【００２４】
本発明は、隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づき、前記符号化対象ブロックと前記隣接する符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向及びイントラ予測方向ではない所定の方向から２つ以上の方向を選択する第１のイントラ予測方向選択ステップと、選択した２つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第２のイントラ予測方向選択ステップと、前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第２のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第３のイントラ予測方向選択ステップとを有することを特徴とする。
【００２５】
本発明は、前記第１のイントラ予測方向選択ステップで選択する２つ以上の方向は、互いの相関が低くなる関係にあることを特徴とする。
【００２６】
本発明は、前記第２のイントラ予測方向選択ステップは、前記選択した２つ以上の方向についてコストを算出し、該コストが小さいものから複数の方向を選択し、前記第３のイントラ予測方向選択ステップは、前記第２のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を中心とする、前記第２のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を除いた方向を用いて定まる所定の範囲を決定し、該所定の範囲に含まれるイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択することを特徴とする。
【００２７】
本発明は、前記第１のイントラ予測方向選択ステップは、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に加えて前記符号化対象ブロックのブロックサイズに基づき、前記符号化対象画素群と前記参照画素群を選択することを特徴とする。
【００２８】
本発明は、前記第１のイントラ予測方向選択ステップは、参照すべき位置に前記隣接する符号化済みブロックの画素である参照画素がない場合には、前記隣接する符号化済みブロックの画素である参照画素から小数画素を生成し、生成した小数画素を前記参照画素群に含めて前記参照画素群を選択することを特徴とする。
【００２９】
本発明は、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係は、前記符号化対象画素が横方向または縦方向に一列ずつメモリに格納されており、前記隣接する符号化済みブロックの画素である参照画素はその１つ上に横方向にまたはその１つ左に縦方向に１列にメモリに格納されている位置関係であり、前記符号化対象画素群は、前記符号化対象ブロックの上から１段目または左から１列目であり、前記参照画素群は、前記符号化対象画素群の１つ上または１つ左の参照画素であることを特徴とする。
【００３０】
本発明は、コンピュータに、前記イントラ予測方向決定方法を実行させるためのイントラ予測方向決定プログラムである。
【発明の効果】
【００３１】
本発明によれば、イントラ予測における演算量削減を削減することができるため、符号化処理の演算量の削減を図ることができるという効果が得られる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態によるイントラ予測部１の基本処理動作を示すフローチャートである。
【図２】図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。
【図３】図１に示すステップＳ３の処理の詳細動作を示すフローチャートである。
【図４】図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。
【図５】イントラ予測のモードを示す説明図である。
【図６】図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。
【図７】図１に示すステップＳ３の処理の詳細動作を示すフローチャートである。
【図８】図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。
【図９】図１に示すステップＳ２の処理の詳細動作を示すフローチャートである。
【図１０】図９に示す処理動作を示す説明図である。
【図１１】図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。
【図１２】図１に示すステップＳ２の処理の詳細動作を示すフローチャートである。
【図１３】メモリの構成の一例を示す説明図である。
【図１４】メモリの構成の一例を示す説明図である。
【図１５】メモリの構成の一例を示す説明図である。
【図１６】予測モード番号の範囲を示す説明図である。
【図１７】予測モード番号の範囲を示す説明図である。
【図１８】映像の符号化を行う装置の標準的な構成を示すブロック図である。
【図１９】イントラ予測のモードを示す説明図である。
【図２０】メモリの構成の一例を示す説明図である。
【発明を実施するための形態】
【００３３】
以下、図面を参照して、本発明の実施形態によるイントラ予測方向決定方法を説明する。イントラ予測方向決定方法は、図１８に示す装置におけるイントラ予測部１において実行されるものであるため、ここでは、装置構成の説明を省略する。図１は、本発明の実施形態によるイントラ予測部１の基本処理動作を示すフローチャートである。図１を参照して、本発明の実施形態によるイントラ予測部１の基本処理動作を説明する。まず、イントラ予測部１は、イントラ予測方向絞り込み処理を行う（ステップＳ１）。続いて、イントラ予測部１は、コスト計算を行うことによりコスト推定を行う（ステップＳ２）。次に、イントラ予測部１は、全ての候補のコスト計算を行ったか否かを判定し、全ての候補についてコスト計算を行う。そして、イントラ予測部１は、イントラ予測方向の決定処理を行う（ステップＳ３）。このような処理動作によって、イントラ予測方向を決定する。
【００３４】
以下、特に定義しない場合、コストとは符号化対象画像と符号化済み画像（参照画像）との誤差またはＲＤコスト等発生符号量及び上述の誤差の両方またはどちらかを変数として含むという特徴を有するコストを意味するものとする。
【００３５】
＜第１実施形態＞
次に、本発明の第１実施形態によるイントラ予測方向決定方法を説明する。第１実施形態では、イントラ予測方向決定において、符号化済み画素及びそれらと相関が高い座標上の符号化対象画素を用いて、選択した２つ以上のイントラ予測方向のコストを算出する。そして、コストが最小のイントラ予測方向に基づいて決定されるイントラ予測方向の候補に絞り込み、さらに絞り込まれたイントラ予測方向の候補の中からイントラ予測方向を決定する。
【００３６】
次に、図２を参照して、第１実施形態による図１に示すステップＳ１の処理の詳細動作を説明する。図２は、図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。まず、イントラ予測部１は、符号化済み画素（参照画素）と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する（ステップＳ１１１）。参照画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する（ステップＳ１１２）。イントラ予測方向の候補から選択した符号化対象画素群と参照画素群の相対的な位置関係を考慮してイントラ予測方向絞り込みに用いる予測方向を２つ以上選択する（ステップＳ１１３）。イントラ予測方向の候補とは、ＨＥＶＣの場合先述の３５個のイントラ予測方向になる。
【００３７】
第１実施形態におけるステップＳ２の処理は、図１示す処理動作と同様である。すなわち、図２に示す処理動作によって選択した予測方向に対して、選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。
【００３８】
次に、図３を参照して、第１実施形態による図１に示すステップＳ３の詳細動作を説明する。図３は、図１に示すステップＳ３の処理の詳細動作を示すフローチャートである。まず、イントラ予測部１は、コスト推定結果が最小となる予測方向Ａを決定する（ステップ１３１）。次に、イントラ予測部１は、予測方向Ａと相関が高い全てのイントラ予測方向Ｎ個（Ｎ＞０）を候補として絞り込む（ステップＳ１３２）。そして、イントラ予測部１は、Ｎ個のイントラ予測方向に対してコスト計算を行い、コストが最小となる予測方向を決定する（ステップＳ１３３）。
【００３９】
ここで、相関が高いとは、例えば図２に示す処理によって選択された２つ以上のイントラ予測方向同士の中間位置までの領域を指し、もしその領域を１８０度回転した領域に絞り込み候補がない場合には、その領域も合わせて指すものとする。
【００４０】
このように、符号化対象画素と参照画素との相関が高い（すなわち、符号化対象画素と参照画素のメモリ上での配列及び座標から定まる相対的な位置関係がＳＩＭＤによる高速演算に適するような配置になっている）ことから、絞り込み時のコスト推定において、各予測方向への相関の大小を正しく比較できる可能性が高い。また、その結果を用いて適切な予測方向に絞り込みできることにより、符号化効率の劣化を抑えつつ演算量削減ができる。さらにメモリ上での配列が近い画素を用いてコスト推定することにより、高速演算しやすくなる。
【００４１】
＜第２実施形態＞
次に、本発明の第２実施形態によるイントラ予測方向決定方法を説明する。第２実施形態では、イントラ予測方向絞り込みにおいて、予測方向として、本来のイントラ予測方向として候補にあるものに加え、予測方向として使用可能である任意の方向を候補として用いることを可能とする。
【００４２】
次に、図４を参照して、第２実施形態による図１に示すステップＳ１の処理の詳細動作を説明する。図４は、図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。まず、イントラ予測部１は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する（ステップＳ２１１）。次に、イントラ予測部１は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する（ステップＳ２１２）。そして、イントラ予測部１は、イントラ予測方向またはそれ以外の方向（予測方向として使用可能である任意の方向）から絞り込みに用いる予測方向を２つ以上選択する（ステップＳ２１３）。
【００４３】
ここで、それ以外の方向とは、図５のＡのように、イントラ予測モードのある方向と隣接する方向の間への予測方向（Ａの場合は２１と２２の間への予測方向となっている）や、Ｂのように１８０度回転すると、イントラ予測モードの存在する範囲内にあるもの（Ｂの場合は５を１８０度回転した予測方向となっている）を意味する。
【００４４】
第２実施形態におけるステップＳ２の処理は、図１示す処理動作と同様である。すなわち、選択した予測方向に対して、選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。また、第２実施形態におけるステップＳ３の処理についても図１に示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
【００４５】
このように、第２実施形態は、第１実施形態に比べ、絞り込みに用いる予測方向の範囲が拡大されるため、より適切な予測方向を絞り込むことが期待できる。一方、演算量は第１実施形態と変わらないため、演算量削減を維持しつつ符号化効率向上が期待できる。
【００４６】
＜第３実施形態＞
次に、本発明の第３実施形態によるイントラ予測方向決定方法を説明する。第３実施形態では、イントラ予測方向絞り込み処理（ステップＳ１）において、予測方向として互いの相関が低くなるような２つ以上の予測方向を選択することを可能とする。
【００４７】
次に、図６を参照して、第３実施形態による図１に示すステップＳ１の処理の詳細動作を説明する。図６は、図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。まず、イントラ予測部１は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する（ステップＳ３１１）。次に、イントラ予測部１は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する（ステップＳ３１２）。そして、イントラ予測部１は、イントラ予測方向またはそれ以外の方向から絞り込みに用いる予測方向を互いの相関が低くなるように２つ以上選択する（ステップＳ３１３）。
【００４８】
ここで、予測方向を互いの相関が低くなるように２つ以上選択するとは絞り込む個数がＮ個（Ｎは正の整数）、イントラ予測方向として選択可能な全方向の両端のなす角度がα（０＜α）であるとき、実際に選択される予測方向のうち、互いに隣接するもの同士のなす角βが、｛（α÷Ｎ）−δ｝＜β＜｛（α÷Ｎ）＋δ｝（但し、δは、隣接するすべてのイントラ予測方向同士のなす角の最大値（δ＜１８０度））となるように選択するものである。
【００４９】
第３実施形態におけるステップＳ２の処理は、図１示す処理動作と同様である。すなわち、選択した予測方向に対して、上記で選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。また、第３実施形態におけるステップＳ３の処理についても図１に示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
【００５０】
このように、絞り込みに用いられる方向が近い場合、相関が高く適切なコスト推定ができない場合があると考えられる。一方、図６に示す処理により、絞り込み処理における予測方向を互いの相関が低くなるように選択することで、よりコスト推定時に相関の判定がしやすくなり、より適切な予測方向を絞り込むことが期待できる。一方、演算量は第１、第２実施形態と変わらないため、演算量削減を維持しつつ符号化効率向上が期待できる。
【００５１】
＜第４実施形態＞
次に、本発明の第４実施形態によるイントラ予測方向決定方法を説明する。第４実施形態では、イントラ予測方向の選択に応じてイントラ予測方向に対して相関が高い予測方向の範囲をそれぞれ設定し、コスト推定結果に対してコスト最小となるイントラ予測方向と相関が高いと考えられる範囲からイントラ予測方向を決定する。
【００５２】
第４実施形態におけるステップＳ１の処理は、図１示す処理動作と同様である。すなわち、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する。続いて、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する。そして、イントラ予測方向の候補からイントラ予測方向絞り込みに用いる予測方向を２つ以上選択する。
【００５３】
第４実施形態におけるステップＳ２の処理は、図１示す処理動作と同様である。すなわち、選択した予測方向に対して、選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。
【００５４】
次に、図７を参照して、第４実施形態による図１に示すステップＳ３の処理の詳細動作を説明する。図７は、図１に示すステップＳ３の処理の詳細動作を示すフローチャートである。まず、イントラ予測部１は、ステップＳ１で選択した予測方向の種類とステップＳ２のコスト推定の結果に応じて、コストが小さい順に予測方向を並び替える（ステップＳ４３１）。続いて、イントラ予測部１は、並び替えた予測方向から、コスト最小となる可能性が高いイントラ予測方向をＮ個（Ｎ＞０）絞り込む（ステップＳ４３２）。そして、イントラ予測部１は、絞り込まれたイントラ予測方向に対してコスト算出を行い、最小となるものをイントラ予測方向として決定する（ステップＳ４３３）。
【００５５】
ここでの予測方向の決定は、例えば下記のようなものである。ステップＳ２のコストが最小となる方向から順に、各方向をＸ０、Ｘ１、Ｘ２、Ｘ３、・・・、また、Ｘ０とＸｉのなす角をαｉ（ｉ＝１、２、３、・・・）（αｉ＞０）とする。このとき、方向Ｘｉが全てイントラ予測方向の領域内にある場合、Ｘ０を中心として、
Ｘ１の方向に｛（α１×２）÷３±δ１｝度
Ｘ２の方向に｛（α２）÷３±δ２｝度
（Ｘ１、Ｘ２がＸ０から見て同一方向にある場合、Ｘ１と逆方向に設定）
（但しδｉは、０＜δｉ＜｛（αｉ）÷３｝となる角度）
のどちらかを満たす領域内のイントラ予測方向に対してコスト算出を行い、最小となるものを決定する。ここで、イントラ予測方向の領域内であるとは、例えばＨＥＶＣのイントラ予測では、方向２から３５までの各方向が規定される１８０度分の領域を指し、その反対側の領域（図５のＢのような方向）をイントラ予測方向の領域内でないとする。
【００５６】
また、１番目のコストと２番目のコストの方向の間に３番目の方向がある場合、かつ１番目か２番目どちらかの方向が領域外である場合、その方向を１８０度回転させて探索範囲を設定する。さらに、設定された探索範囲内に領域外の方向があれば、その部分だけ１８０度回転したものを合わせて探索範囲とする。
【００５７】
これ以外に、次のような手法により予測方向を決定してもよい。ステップＳ２のコストが最小となる方向から順に、各方向をＸ０、Ｘ１、Ｘ２、Ｘ３、・・・、また、Ｘ０とＸｉのなす角をαｉ（ｉ＝１、２、３、・・・）（αｉ＞０）、またＸｉのコストをＳｉとする。このとき、Ｘ０から時計回り方向にある方向Ｘｋｉ（ｉ＝１、２、・・・）、反時計回り方向にある方向Ｘｌｊ（ｊ＝１、２、・・・）の、それぞれのコストの平均値の逆数の比を用いて予測方向を決定する。ここで、時計回りとはＸ０から時計回りに１８０度以内、反時計回りとはＸ０から反時計回りに１８０度以内の回転を指す。ここで、ｋｉは、ｋ１、ｋ２、・・・の順に、Ｘ０から時計回りで近い順にＸｉを並べ替えた時の並べ替えた順番を意味し、ｌｊは、ｌ１、ｌ２、・・・の順に、Ｘ０から反時計回りで近い順にＸｉを並べ替えた順番を意味する。任意のｉ、ｊに対してｋｉ≠ｌｊである。
【００５８】
このとき、例えば、
Ｘ０から時計回り方向にある方向のコスト和の平均Ｓｋ（Ｎｋは、時計回り方向にあるＸｉの個数）
【数２】
2015179944.tif 000004
Ｘ０から反時計回り方向にある方向のコスト和の平均Ｓｌ（Ｎｌは、反時計回り方向にあるＸｉの個数）
【数３】
2015179944.tif 000005
であるときの予測方向は、以下のようになる。
Ｘ０から時計回り方向に
【数４】
2015179944.tif 000006
Ｘ０から反時計回り方向に
【数５】
2015179944.tif 000007
但し、αｋ１，αｌ１は、Ｘ０から時計回り方向、反時計回り方向に回転させるとき、最もＸ０に近いＸｋｉ、Ｘｌｊの方向までの角度とする。
【００５９】
第１〜第３実施形態では、絞り込んだ予測方向と相関が高いイントラ予測方向を最終的なイントラ予測を行う候補としているが、第４実施形態では、コスト推定の結果すべてを用いて、その大小の分布に応じてコスト最小となる領域を推定している。コスト推定の結果からコスト最小となる領域推定を行うための演算は発生するが、その増加量はイントラ予測における演算量に比べれば非常に小さく、これにより第１〜第３実施形態とほぼ同等の演算量を保ちながらより精度よくイントラ予測を行うことが可能となる。
【００６０】
＜第５実施形態＞
次に、本発明の第５実施形態によるイントラ予測方向決定方法を説明する。第５実施形態では、イントラ予測方向決定において、符号化済み画素、及びそれらと相関が高い座標上の符号化対象画素のうちブロックのサイズに応じて制限されたサイズ内の画素を用いる。そして、予め選択した２つ以上の予測方向のコストを高速演算により推定してイントラ予測方向の候補を絞り込み、さらに絞り込まれた方向の中からイントラ予測方向を決定する。
【００６１】
次に、図８を参照して、第５実施形態による図１に示すステップＳ１の処理の詳細動作を説明する。図８は、図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。まず、イントラ予測部１は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係及び符号化対象画素の属するブロックサイズに応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する（ステップＳ５１１）。続いて、イントラ予測部１は、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係及び符号化対象画素の属するブロックサイズに応じて、参照画素から予測絞り込みに用いる参照画素群を選択する（ステップＳ５１２）。そして、イントラ予測部１は、イントラ予測方向の候補からイントラ予測方向絞り込みに用いる予測方向を２つ以上選択する（ステップＳ５１３）。
【００６２】
第５実施形態におけるステップＳ２の処理は、図１示す処理動作と同様である。すなわち、選択した予測方向に対して、選択した符号化対象画素群を用いて各予測方向のコスト推定を行う。また、第５実施形態におけるステップＳ３の処理についても図１に示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
【００６３】
このように、符号化対象画素の属するブロックサイズに基づいて絞り込みに用いる画素数を制限することで、符号化効率の悪化を抑えつつ演算量の上限を設定することができる。
【００６４】
＜第６実施形態＞
次に、本発明の第６実施形態によるイントラ予測方向決定方法を説明する。第６実施形態では、イントラ予測方向決定において、予め選択した２つ以上の予測方向のコストを算出する際、その参照位置が画素間になりその位置に画素が存在しない場合、周囲の画素から小数画素を生成し、イントラ予測方向の候補を絞り込む。ここでの小数画素生成には、符号化方式上で用いられるイントラスムージング処理の他、アップサンプリングによる生成、または周囲の画素をそのまま引用するなど、演算量が膨大にならない手法であれば、どのような手法を用いてもよい。
【００６５】
第６実施形態におけるステップＳ１の処理は、図１示す処理動作と同様である。すなわち、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、符号化対象画素からイントラ予測方向絞り込みに用いる符号化対象画素群を選択する。続いて、符号化済み画素と符号化対象画素のメモリ上での配列及び座標から定まる相対的な位置関係に応じて、参照画素から予測絞り込みに用いる参照画素群を選択する。そして、イントラ予測方向の候補からイントラ予測方向絞り込みに用いる予測方向を２つ以上選択する。
【００６６】
次に、図９を参照して、第６実施形態による図１に示すステップＳ２の処理の詳細動作を説明する。図９は、図１に示すステップＳ２の処理の詳細動作を示すフローチャートである。まず、イントラ予測部１は、予測方向Ｂの参照座標が画素間になっているか否かを判定する（ステップＳ６２１）。すなわち、選択した予測方向に対して、図１０のようにその参照位置が画素間になりその位置に画素が存在するか否かを判定する。この判定の結果、参照位置が画素間になりその位置に画素が存在しない場合、周囲の画素から小数位置画素を生成する（ステップＳ６２２）。一方、参照位置が画素間でない場合は、ステップＳ６２２の処理をスキップする。そして、設定した符号化対象画素群を用いて各予測方向のコスト推定を行う（ステップＳ６２３）。
【００６７】
第６実施形態におけるステップＳ３の処理は、図１示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
【００６８】
このように、各絞り込みに用いるイントラ予測方向に小数位置画素が必要となる場合、演算量を抑えつつ周囲の画素から小数位置画素を生成することで、演算量の増大を抑えつつ符号化効率を向上することができる。
【００６９】
＜第７実施形態＞
次に、本発明の第７実施形態によるイントラ予測方向決定方法を説明する。第７実施形態では、イントラ予測方向絞り込み処理において、コストを参照画素に隣接する符号化対象画素１ラインと参照画素との絶対値や二乗誤差などの差分和により求めて比較する。但し、ここで１ラインとは、メモリ上で一定範囲内に配置される画素のラインを指す。
【００７０】
次に、図１１を参照して、第７実施形態による図１に示すステップＳ１の処理の詳細動作を説明する。図１１は、図１に示すステップＳ１の処理の詳細動作を示すフローチャートである。まず、イントラ予測部１は、符号化ブロックの上一段目（左一列目）を符号化対象画素群として選択する（ステップＳ７１１）。続いて、イントラ予測部１は、その１ライン上（または１ライン左）の画素を予測絞り込みに用いる参照画素群として選択する（ステップＳ７１２）。そして、イントラ予測部１は、イントラ予測方向の候補から、絞り込みに用いる予測方向を２つ以上選択する（ステップＳ７１３）。
【００７１】
次に、図１２を参照して、第７実施形態による図１に示すステップＳ２の処理の詳細動作を説明する。図１２は、図１に示すステップＳ２の処理の詳細動作を示すフローチャートである。まず、イントラ予測部１は、選択した予測方向に対して、設定した符号化対象画素群を用いて各予測方向のコストを符号化対象画素と参照画素との絶対値や二乗誤差などの差分和により求める（ステップＳ７２１）。
【００７２】
第７実施形態におけるステップＳ３の処理は、図１示す処理動作と同様である。すなわち、コスト推定結果が最小となる予測方向と相関が高くなる全てのイントラ予測方向から候補を絞り込み、その中からイントラ予測方向を決定する。
【００７３】
このように、イントラ予測方向絞り込みにかかる演算量を最小限に抑えつつ高速演算による実行を可能とし、また参照画素として隣接画素を用いることにより符号化効率の悪化を抑えることができる。
【００７４】
＜第８実施形態＞
次に、本発明の第８実施形態によるイントラ予測方向決定方法を説明する。第８実施形態は、ＨＥＶＣイントラ予測に対する高速な予測方向決定のための手法である。本実施形態では、参照画素には復号画素としてメモリ上に格納されている符号化対象画素の１行上のラインの画素を用いるものとし、符号化対象画素はメモリに横方向に一列ずつ格納されているものとする（図１３上図参照）。
【００７５】
まず、隣接画素１ラインＡｋ（ｋ＝０、１、・・・、ｗ＋１）と符号化対象画素の上から１段目までの画素Ｂｊ（ｊ＝１、・・・、ｗ）を用い、イントラ予測の予測方向（予測モード）のうち、１８と３４の方向に対して、下記計算式のようにＳＳＥにより画素同士の誤差の絶対値和（或いは二乗和などでもよい）をコストとして算出する（図１３下図参照）。ここで、ｗは、イントラ予測を行うブロックの横方向の画素数を表す。
【数６】
2015179944.tif 000008
【数７】
2015179944.tif 000009
【００７６】
なお、Ａｋ，Ｂｊがそれぞれイントラ予測方向絞り込みに用いる参照画素群、イントラ予測方向絞り込みに用いる符号化対象画素群であり、１８と３４の予測方向がイントラ予測方向絞り込みに用いる予測方向である。ここで、予測方向（予測モード）の１８と３４は、上述のようなメモリ上でのデータ配列においては高速化演算が可能である。さらに、共に一般に選択されやすい垂直・水平方向の予測モードである１０、２６の双方に対し、ちょうど中間の位置にあたる。このため、１８と３４どちらを選択しても１０、２６を予測候補として持つことで選択を誤った場合も符号化効率が悪化するリスクを抑えることが期待できる。
【００７７】
次に、コストが最小となる方向を最適な予測方向とする。続いて、決定した最適な予測方向毎に処理を行う。最適な予測方向が１８の場合は、予測モード番号０、１、１０〜２６（最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当）に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
【００７８】
一方、最適な予測方向が３４の場合は、予測モード番号０、１、２〜９、２７〜３４（最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当）に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
【００７９】
＜第９実施形態＞
次に、本発明の第９実施形態によるイントラ予測方向決定方法を説明する。第９実施形態は、ＨＥＶＣイントラ予測に対する高速な予測方向決定のための手法である。本実施形態では、参照画素としてイントラスムージング用にメモリ上に１列に格納されている隣接画素を用いるものとし、符号化対象画素はメモリに横方向に一列ずつ格納されているものとする（図１４上図参照）。
【００８０】
まず、隣接画素１ラインＡｋ（ｋ＝−１、０、１、・・・、ｗ＋２）と符号化対象画素の上から１段目の画素Ｂｊ（ｊ＝１、・・・、ｗ）を用い、イントラ予測の予測方向（予測モード）のうち、−６（６を１８０度回転した方向とする）、１４と２６の方向に対して、下記計算式のようにＳＳＥにより画素同士の誤差の絶対値和（或いは二乗和などでもよい）をコストとして算出する（図１４下図参照）。ここで、ｗは、イントラ予測を行うブロックの横方向の画素数を表す。
【数８】
2015179944.tif 000010
【数９】
2015179944.tif 000011
【数１０】
2015179944.tif 000012
【００８１】
なお、Ａｋ，Ｂｊがそれぞれイントラ予測方向絞り込みに用いる参照画素群、イントラ予測方向絞り込みに用いる符号化対象画素群であり、−６、１４と２６の予測方向がイントラ予測方向絞り込みに用いる予測方向である。ここで、予測方向（予測モード）の数が３つに増えることでその分演算量は増加するが、後の処理において絞り込む予測方向（予測モード）の候補数が削減され、また適切に絞り込める可能性が向上する。さらに、予測方向の−６、１４と２６は、前述のようなメモリ上でのデータ配列においては高速化演算が可能である。
【００８２】
本実施形態では、メモリが横方向に一列ずつ格納されている場合、垂直方向のコスト演算は高速化演算により容易に行うことができるが、水平方向のコスト演算は高速化演算を用いても処理速度の高速化が難しい。そのため、より水平方向に近く、かつ高速化演算可能な１４と垂直方向に対して線対象な−６を予測方向として選択すると、水平・垂直方向どちらかを必ず予測候補として含むため、符号化効率が悪化するリスクを抑えることが期待できる。
【００８３】
次に、コストが最小となる方向を最適な予測方向とする。続いて、決定した最適な予測方向毎に処理を行う。最適な予測方向が−６の場合は、予測モード番号０、１、２〜１０、３２〜３４（最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当）に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
【００８４】
また、最適な予測方向が１４の場合は、予測モード番号０、１、１０〜２０（最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当）に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
【００８５】
また、最適な予測方向が２６の場合は、予測モード番号０、１、２０〜３２（最小となる予測方向と相関が高くなる全てのイントラ予測方向の候補に相当）に対してイントラ予測のコスト算出を行い、最小コストとなるものを最適なイントラ予測方向とする。
【００８６】
＜第１０実施形態＞
次に、本発明の第１０実施形態によるイントラ予測方向決定方法を説明する。第１０実施形態は、ＨＥＶＣイントラ予測に対する高速な予測方向決定のための手法である。本実施形態では、参照画素としてイントラスムージング用にメモリ上に１列に格納されている隣接画素を用いるものとし、符号化対象画素はメモリに横方向に一列ずつ格納されているものとする（図１５上図参照）。
【００８７】
まず、隣接画素１ラインＡｋ（ｋ＝−１、１、・・・、ｗ＋２）と符号化対象画素の上から１段目の画素Ｂｊ（ｊ＝１、・・・、ｗ）を用い、イントラ予測の予測方向（予測モード）のうち、−６（６を１８０度回転した方向とする）、１４と２６の方向に対して、下記計算式のようにＳＳＥにより画素同士の誤差の絶対値和（或いは二乗和などでもよい）をコストとして算出する（図１５下図参照）。ここで、ｗは、イントラ予測を行うブロックの横方向の画素数を表す。
【数１１】
2015179944.tif 000013
【数１２】
2015179944.tif 000014
【数１３】
2015179944.tif 000015
【００８８】
なお、Ａｋ，Ｂｊがそれぞれイントラ予測方向絞り込みに用いる参照画素群、イントラ予測方向絞り込みに用いる符号化対象画素群であり、−６、１４と２６の予測方向がイントラ予測方向絞り込みに用いる予測方向である。
【００８９】
次に、算出したコストの大小毎に、下記の条件１〜３に沿って探索範囲の予測モード番号を決定する。
（条件１）１番目のコストから２番目のコストの方向に８方向、３番目の方向に２方向分探索範囲をもつ。
（条件２）１番目のコストと２番目のコストの方向の間に３番目の方向がある場合、かつ１番目か２番目どちらかがイントラ予測方向の領域外の方向である場合、領域外になっている方向を１８０度回転させて探索範囲を設定する。
（条件３）上記で設定された探索範囲内で領域外になる方向があれば、その方向だけ１８０度回転したものを合わせて探索範囲とする。
【００９０】
具体的には、図１６に示すようになる。図１６に示すＡ〜Ｆでそれぞれ選択された予測モード番号の範囲を図示すると、図１７のようになる。
【００９１】
以上説明したように、符号化対象ブロックと隣接する符号化済みブロックの画素である参照画素の相対的位置関係に基づき、コストを算出するイントラ予測方向を絞り込むことにより、符号化効率の劣化を抑えつつ演算量の削減を実現することができる。
【００９２】
前述した実施形態におけるイントラ予測方向決定方法をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００９３】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００９４】
映像符号化のイントラ予測における演算量を削減することが不可欠な用途に適用できる。
【符号の説明】
【００９５】
１・・・イントラ予測部、２・・・動き補償部、３・・・減算部、４・・・ＤＣＴ／量子化部、５・・・エントロピー符号化部、６・・・逆量子化／逆ＤＣＴ部、７・・・加算部、８・・・ループフィルタ、９・・・動きベクトル予測部、１０・・・符号化制御部
【図１】
2015179944.tif 000016
【図２】
2015179944.tif 000017
【図３】
2015179944.tif 000018
【図４】
2015179944.tif 000019
【図５】
2015179944.tif 000020
【図６】
2015179944.tif 000021
【図７】
2015179944.tif 000022
【図８】
2015179944.tif 000023
【図９】
2015179944.tif 000024
【図１０】
2015179944.tif 000025
【図１１】
2015179944.tif 000026
【図１２】
2015179944.tif 000027
【図１３】
2015179944.tif 000028
【図１４】
2015179944.tif 000029
【図１５】
2015179944.tif 000030
【図１６】
2015179944.tif 000031
【図１７】
2015179944.tif 000032
【図１８】
2015179944.tif 000033
【図１９】
2015179944.tif 000034
【図２０】
2015179944.tif 000035
【手続補正書】
【提出日】平成27年4月21日(2015.4.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づいて前記符号化対象ブロックと隣接する前記符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向から２つ以上の方向を選択する第１のイントラ予測方向選択ステップと、
選択した２つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第２のイントラ予測方向選択ステップと、
前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第２のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第３のイントラ予測方向選択ステップと
を有し、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係は、前記符号化対象画素が横方向または縦方向に一列ずつメモリに格納されており、前記隣接する符号化済みブロックの画素である参照画素はその１つ上に横方向にまたはその１つ左に縦方向に１列にメモリに格納されている位置関係であり、
前記符号化対象画素群は、前記符号化対象ブロックの上から１段目または左から１列目であり、
前記参照画素群は、前記符号化対象画素群の１つ上または１つ左の参照画素である
ことを特徴とするイントラ予測方向決定方法。
【請求項２】
隣接する符号化済みブロックの画素である参照画素を用いて符号化対象ブロックをイントラ予測する際のイントラ予測方向を決定するイントラ予測方向決定方法であって、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に基づき、前記符号化対象ブロックと前記隣接する符号化済みブロックの画素である参照画素からそれぞれ符号化対象画素群と参照画素群を選択し、該符号化対象画素群と該参照画素群のメモリ上での相対的な位置関係に基づき、すべてのイントラ予測方向及びイントラ予測方向ではない所定の方向から２つ以上の方向を選択する第１のイントラ予測方向選択ステップと、
選択した２つ以上の前記方向についてコストを算出し、該コストが最小となる方向を選択する第２のイントラ予測方向選択ステップと、
前記コストが最小となる方向と各イントラ予測方向との間の相関と、前記第２のイントラ予測方向選択ステップにおいて選択されなかった方向と各イントラ予測方向との間の相関とのいずれに対する相関が相対的に高いかを判定し、前記コストが最小となる方向との相関が相対的に高いと判定されたイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択する第３のイントラ予測方向選択ステップと
を有し、
前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係は、前記符号化対象画素が横方向または縦方向に一列ずつメモリに格納されており、前記隣接する符号化済みブロックの画素である参照画素はその１つ上に横方向にまたはその１つ左に縦方向に１列にメモリに格納されている位置関係であり、
前記符号化対象画素群は、前記符号化対象ブロックの上から１段目または左から１列目であり、
前記参照画素群は、前記符号化対象画素群の１つ上または１つ左の参照画素である
ことを特徴とするイントラ予測方向決定方法。
【請求項３】
前記第１のイントラ予測方向選択ステップで選択する２つ以上の方向は、互いの相関が低くなる関係にあることを特徴とする請求項１または２に記載のイントラ予測方向決定方法。
【請求項４】
前記第２のイントラ予測方向選択ステップは、前記選択した２つ以上の方向についてコストを算出し、該コストが小さいものから複数の方向を選択し、
前記第３のイントラ予測方向選択ステップは、前記第２のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を中心とする、前記第２のイントラ予測方向選択ステップで選択された方向のうちコストが最小となる方向を除いた方向を用いて定まる所定の範囲を決定し、該所定の範囲に含まれるイントラ予測方向についてコストを算出し、その中でコストが最小となるイントラ予測方向を選択することを特徴とする請求項１から３のいずれか１項に記載のイントラ予測方向決定方法。
【請求項５】
前記第１のイントラ予測方向選択ステップは、前記符号化対象ブロックの符号化対象画素と前記参照画素のメモリ上での相対的な位置関係に加えて前記符号化対象ブロックのブロックサイズに基づき、前記符号化対象画素群と前記参照画素群を選択することを特徴とする請求項１から４のいずれか１項に記載のイントラ予測方向決定方法。
【請求項６】
前記第１のイントラ予測方向選択ステップは、参照すべき位置に前記隣接する符号化済みブロックの画素である参照画素がない場合には、前記隣接する符号化済みブロックの画素である参照画素から小数画素を生成し、生成した小数画素を前記参照画素群に含めて前記参照画素群を選択することを特徴とする請求項１から５のいずれか１項に記載のイントラ予測方向決定方法。
【請求項７】
コンピュータに、請求項１から６のいずれか１項に記載のイントラ予測方向決定方法を実行させるためのイントラ予測方向決定プログラム。