(57)【特許請求の範囲】
【請求項１】
符号化対象画素の符号化に先行して、符号化対象画素よりも符号化順が前の画素であるとともに、符号化対象画素を含むラインの画素ではない複数の画素の局部復号値を用いるとともに、符号化対象画素を含むラインの画素の局部復号値を用いずに、所定の条件式にしたがって、符号化対象画素の符号化に用いる予測モードを選択し、選択された予測モードに対応する予測モードインデックスを求める予測モード選択部と、
予測モードインデックスを保持する予測モードインデックス記憶部と、
予測モードインデックス記憶部から読み出した符号化対象画素の予測モードインデックスに基づき、符号化対象画素を含むラインの画素を含めた複数の隣接画素から選択した局部復号値を用いて、符号化対象画素の予測値を生成する予測部と、
符号化対象画素の予測値を符号化対象画素値から減算して得られる予測誤差値を符号化する予測誤差符号化部とを備えることを特徴とする動画像符号化装置。
【請求項２】
前記予測モード選択部は、符号化対象画素を含むラインの一つ前のラインとさらに一つ前のラインの画素についての水平または垂直方向の差分に関する条件式にしたがって前記予測モードを選択することを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記予測モード選択部は、さらに、前記一つ前のラインとさらに一つ前のラインの画素についての斜め方向の差分に関する条件式にしたがって前記予測モードを選択することを特徴とする請求項２に記載の動画像符号化装置。
【請求項４】
符号化対象画素の符号化に先行して、符号化対象画素よりも符号化順が前の画素であるとともに、符号化対象画素を含むラインの画素ではない複数の画素の局部復号値を用いるとともに、符号化対象画素を含むラインの画素の局部復号値を用いずに、所定の条件式にしたがって、符号化対象画素の符号化に用いる予測モードを選択し、選択された予測モードに対応する予測モードインデックスを求めるステップと、
予測モードインデックスをメモリに保持するステップと、
メモリから読み出した符号化対象画素の予測モードインデックスに基づき、符号化対象画素を含むラインの画素を含めた複数の隣接画素から選択した局部復号値を用いて、符号化対象画素の予測値を生成するステップと、
符号化対象画素の予測値を符号化対象画素値から減算して得られる予測誤差値を符号化するステップとを備えることを特徴とする動画像符号化方法。
【請求項５】
符号化対象画素の符号化に先行して、符号化対象画素よりも符号化順が前の画素であるとともに、符号化対象画素を含むラインの画素ではない複数の画素の局部復号値を用いるとともに、符号化対象画素を含むラインの画素の局部復号値を用いずに、所定の条件式にしたがって、符号化対象画素の符号化に用いる予測モードを選択し、選択された予測モードに対応する予測モードインデックスを求める機能と、
予測モードインデックスをメモリに保持する機能と、
メモリから読み出した符号化対象画素の予測モードインデックスに基づき、符号化対象画素を含むラインの画素を含めた複数の隣接画素から選択した局部復号値を用いて、符号化対象画素の予測値を生成する機能と、
符号化対象画素の予測値を符号化対象画素値から減算して得られる予測誤差値を符号化する機能とをコンピュータに実現させることを特徴とする動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の符号化技術に関し、特に画素間予測符号化を利用した動画像の符号化技術に関する。
【背景技術】
【０００２】
画像を効率よく蓄積伝送するために、画面内の相関性に着目して情報量を削減する圧縮符号化が用いられる。例えば、ＩＳＯ／ＩＥＣ  １０９１８−１（通称ＪＰＥＧ）やＩＳＯ／ＩＥＣ  １４４９５−１（通称ＪＰＥＧ−ＬＳ）に基づく符号化方式等が知られている。ＪＰＥＧ方式は、８×８画素のブロックごとに離散コサイン変換（ＤＣＴ；Discreet Cosine Transform）して、重み付け量子化したＤＣＴ係数を可変長符号化することで情報量を削減する。一方、ＪＰＥＧ−ＬＳ方式は、画素ごとに、隣接する複数の局部復号画素を用いて予測値を求め、予測誤差を量子化して可変長符号化することで情報量を削減する。
【０００３】
画素ごとに、隣接する複数の局部復号画素を用いて予測値を求め、予測誤差を符号化する方式は、一般にＤＰＣＭ（Differential Pulse Code Modulation）方式と呼ばれ、８×８画素ＤＣＴを用いるＪＰＥＧ方式に比べて比較的小さな実装規模で実現できるという特徴がある。
【０００４】
非特許文献１には、ＪＰＥＧ−ＬＳ方式として、複数の隣接画素から、所定の条件式により複数の予測モードからひとつを選択して、選択した予測モードに基づき、複数の隣接画素からひとつの画素値を選択、もしくは、所定の演算により、予測値を求める方式が記載されている。符号化側と復号側で、同一の条件式により、複数の予測モードからひとつを選択して、予測値を求めることで、選択した予測モードの情報を符号化する必要がなく、効率的に符号化することができる。
【０００５】
一般に、予測符号化では、概ね予測誤差は小さいことを前提として、小さな予測誤差を大きな予測誤差より細かに量子化する非線形量子化を用いたり、小さな予測誤差に大きな予測誤差より短い符号を割当てる可変長符号化を用いたりする。これにより、符号化歪低減による画質の向上や、符号化効率の向上を図る。したがって、予測モードを適切に選ぶことで予測誤差を小さくすることが重要となる。
【０００６】
このため、非特許文献２のように、水平・垂直エッジだけでなく、左斜め・右斜めエッジを判定して、判定結果に応じた方法で予測値を算出して、符号化や復号する方式も考案されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】"LOCO-I: a low complexity, context-based, lossless image compression algorithm", IEEE Data compression conference, March-April 1996.
【非特許文献２】"Gradient Based Predictive Coding for Lossless Image Compression", IEICE TRANS. INE&SYST. VOL.E89-D, NO.7, JULY 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１や非特許文献２に記載するような予測方式を用いて、例えば、ある程度の符号化歪を視覚上許容可能として、予測誤差を量子化する場合には、予測モードの選択、及び、予測値を求める際に、隣接画素を用いると、符号化側と復号側で、異なる結果を生じる。この場合、隣接局部復号画素を用いる。これにより、予測誤差を量子化する場合においても、選択した予測モードの情報を符号化する必要がなく、効率的に符号化することができる。すなわち、符号化対象画素に隣接する局部復号画素を用いて、予測モードを選択して、選択した予測モードに基づき予測値を設定して、予測誤差を求めて符号化するとともに、局部復号して局部復号画素値をメモリに保持する。
【０００９】
ここで、予測モードの選択、及び、選択した予測モードに基づく予測値の設定に用いる局部復号画素には、直前に符号化した左隣の画素が含まれる。このため、画素ごとに、予測モードの選択に係る演算、選択した予測モードに基づく予測値の算出に係る演算、予測値に基づく予測誤差の算出に係る演算、予測誤差に基づく量子化と逆量子に係る演算、予測値と逆量子化値に基づく局部復号値の算出に係る演算等を、次の画素を処理する前までに、順次実行して完了させる必要がある。左隣画素の局部復号値を予測モードの選択、及び、予測値の算出に用いるため、いずれの演算処理も、独立に並列処理することができない。
【００１０】
動画像を符号化するには、画素ごとの一連の多くの演算を、非常に短時間で処理する必要がある。例えば、画面サイズ１９２０ｘ１０８０、フレームレート３０Ｈｚの動画像において、画素あたり約１３．４［ｎｓｅｃ］で処理する必要がある。一連の多くの演算を順次、短時間で処理するためには、高速な演算器が必要となり、符号化装置や復号装置の実用化コストを増大させたり、実用化を困難にさせたりする。また、より予測誤差が小さくなるように、多くの予測モードから選択したり、予測モードの選択に係る演算量を増加させたりすると、更に、非常に高速な演算器が必要となる。
【００１１】
例えば、非特許文献１では、条件式に基づき、水平・垂直エッジを検出して、３つの予測モードからひとつを選択する。非特許文献２では、条件式に基づき、水平・垂直エッジ、左斜め・右斜めエッジを検出して、４つの予測モードからひとつを選択する。予測モードが多くなると選択に係る演算量が増加する。このため、更に高速な演算器が求められ、符号化装置や復号装置を動画像に適用するには、実用化で大きな課題となる。
【００１２】
本発明はこうした状況に鑑みてなされたものであり、その目的は、より多くの予測モードから選択したり、予測モードの選択に係る演算量を増加させることのできる技術を提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明のある態様の動画像符号化装置は、符号化対象画素の符号化に先行して、符号化対象画素よりも符号化順が前の画素であるとともに、符号化対象画素を含むラインの画素ではない複数の画素の局部復号値を用いるとともに、符号化対象画素を含むラインの画素の局部復号値を用いずに、所定の条件式にしたがって、符号化対象画素の符号化に用いる予測モードを選択し、選択された予測モードに対応する予測モードインデックスを求める予測モード選択部（１０６）と、予測モードインデックスを保持する予測モードインデックス記憶部（１０７）と、予測モードインデックス記憶部（１０７）から読み出した符号化対象画素の予測モードインデックスに基づき、符号化対象画素を含むラインの画素を含めた複数の隣接画素から選択した局部復号値を用いて、符号化対象画素の予測値を生成する予測部（１０８）と、符号化対象画素の予測値を符号化対象画素値から減算して得られる予測誤差値を符号化する予測誤差符号化部（１０２）とを備える。
【００１４】
本発明の別の態様は、動画像符号化方法である。この方法は、符号化対象画素の符号化に先行して、符号化対象画素よりも符号化順が前の画素であるとともに、符号化対象画素を含むラインの画素ではない複数の局部復号値を用いるとともに、符号化対象画素を含むラインの画素の局部復号値を用いずに、所定の条件式にしたがって、符号化対象画素の符号化に用いる予測モードを選択し、選択された予測モードに対応する予測モードインデックスを求めるステップと、予測モードインデックスをメモリに保持するステップと、メモリから読み出した符号化対象画素の予測モードインデックスに基づき、符号化対象画素を含むラインの画素を含めた複数の隣接画素から選択した局部復号値を用いて、符号化対象画素の予測値を生成するステップと、符号化対象画素の予測値を符号化対象画素値から減算して得られる予測誤差値を符号化するステップとを備える。
【００１５】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１６】
本発明によれば、高速な演算器を用いなくても、より多くの予測モードから選択したり、予測モードの選択に係る演算量を増加させることができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態に係る動画像符号化装置の構成を示すブロック図である。
【図２】ＪＰＥＧ−ＬＳ方式で用いる画素の予測方法を説明する図である。
【図３】本実施の形態における符号化対象画素の第１の予測アルゴリズムを説明する図である。
【図４】図４（ａ）〜図４（ｄ）は、現画素周辺に水平エッジがある場合について、第１の予測アルゴリズムの動作を説明する図である。
【図５】図５（ａ）〜図５（ｄ）は、現画素周辺に垂直エッジがある場合について、第１の予測アルゴリズムの動作を説明する図である。
【図６】本実施の形態における符号化対象画素の第２の予測アルゴリズムを説明する図である。
【図７】図７（ａ）〜図７（ｄ）は、現画素周辺に水平エッジがある場合について、第２の予測アルゴリズムの動作を説明する図である。
【図８】図８（ａ）〜図８（ｄ）は、現画素周辺に垂直エッジがある場合について、第２の予測アルゴリズムの動作を説明する図である。
【図９】図９（ａ）〜図９（ｄ）は、現画素周辺に左斜めエッジがある場合について、第２の予測アルゴリズムの動作を説明する図である。
【図１０】図１０（ａ）〜図１０（ｄ）は、現画素周辺に右斜めエッジがある場合について、第２の予測アルゴリズムの動作を説明する図である。
【図１１】本実施の形態における符号化対象画素の第３の予測アルゴリズムを説明する図である。
【図１２】図１の動画像符号化装置による画像符号化処理を説明するフローチャートである。
【図１３】実施の形態に係る動画像復号装置の構成を示すブロック図である。
【図１４】図１３の動画像復号装置による画像復号処理を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について図面を参照して説明する。
【００１９】
図１は、実施の形態に係る動画像符号化装置の構成を示すブロック図である。動画像符号化装置は、減算部１０１、予測誤差符号化部１０２、予測誤差復号部１０３、加算部１０４、局部復号記憶部１０５、予測モード選択部１０６、予測モードインデックス記憶部１０７、および予測部１０８を備える。
【００２０】
動画像符号化装置には、画像を構成する各画素を、最左上画素から右に、右端画素の次は１ライン下の左端画素から右へと、順次予測して符号化するように入力される。画素は、たとえば８ビットとする。
【００２１】
減算部１０１は、入力された現画素値ｐｘから、予測部１０８から供給される予測値ｐｐを減算して、予測誤差値ｄｅｌｔａを出力する。
【００２２】
予測誤差符号化部１０２は、減算部１０１から供給される予測誤差値ｄｅｌｔａを、例えば６ビットに非線形量子化して、予測誤差符号ｃ−ｄｅｌｔａを出力する。なお、予測誤差の符号化は、非線形量子化に限るものでなく、例えば、予測誤差値を線形量子化したり、予測誤差値やその量子化値を可変長符号化したりしてもよいし、その他の符号化方法を用いてもよい。
【００２３】
予測誤差復号部１０３は、予測誤差符号化部１０２からの予測誤差符号ｃ−ｄｅｌｔａを、逆量子化して、予測誤差復号値ｄ−ｄｅｌｔａを出力する。
【００２４】
加算部１０４は、予測誤差復号部１０３から供給される予測誤差復号値ｄ−ｄｅｌｔａと、予測部１０８から供給される予測値ｐｐとを、加算して、現画素の局部復号値ｄｘを出力する。
【００２５】
局部復号記憶部１０５は、加算部１０４から供給される局部復号値ｄｘを、後で（将来）符号化する画素を予測するため、少なくとも、局部復号値ｄｘを予測モードの選択や予測値の算出に用いる可能性のある、後で符号化する全ての画素を符号化するまでの期間、保持する。
【００２６】
予測モード選択部１０６は、後で符号化する画素ｋの予測モードを選択するため、複数の局部復号画素値を局部復号記憶部１０５から読み出して、予測アルゴリズムに応じた所定の条件式に基づき、選択する予測モードを示す予測モードインデックスｍｏｄ＿ｉｄ（ｋ）を出力する。
【００２７】
予測モードインデックス記憶部１０７は、予測モード選択部１０６から供給される、後で符号化する画素ｋの予測モードインデックスｍｏｄ＿ｉｄ（ｋ）を、少なくとも、対応する画素を符号化するまでの期間、保持する。
【００２８】
予測部１０８は、現画素ｉの予測モードインデックスｍｏｄ＿ｉｄ（ｉ）を予測モードインデックス記憶部１０７から読み出して、ｍｏｄ＿ｉｄ（ｉ）で特定された所定の予測モードで、局部復号記憶部１０５から読み出した複数の局部復号画素値を用いて、現画素ｉの予測値ｐｐを求めて出力する。
【００２９】
予測モード選択部１０６が、後で符号化する画素ｋの予測モードを選択して、選択した予測モードを示す予測モードインデックスｍｏｄ＿ｉｄ（ｋ）を予測モードインデックス記憶部１０７に保持する処理（「予測モード選択処理」と呼ぶ）と、予測部１０８が、現画素ｉの予測モードインデックスｍｏｄ＿ｉｄ（ｉ）を予測モードインデックス記憶部１０７から読み出して、ｍｏｄ＿ｉｄ（ｉ）で特定された予測モードで現画素ｉの予測値ｐｐを求める処理（「予測値算出処理」と呼ぶ）とは、並列に実行される。
【００３０】
符号化対象画素である現画素の直前に符号化する画素の局部復号値を用いないようにすれば、予測モード選択部１０６による予測モード選択処理を、予測部１０８による予測値算出処理に先だって実行することが可能になり、予測モード選択処理と予測値算出処理の並列処理が可能である。
【００３１】
より具体的には、予測モード選択部１０６は、予測部１０８による符号化対象画素である現画素の符号化に先行して、現画素を含むラインよりも符号化順において少なくとも一つ前のラインの画素の局部復号値を用いて、所定の条件式にしたがって、現画素の符号化に用いる予測モードを選択し、選択された予測モードを示す予測モードインデックスを出力する。
【００３２】
なお、画像を符号化する際に、局部復号記憶部１０５と予測モードインデックス記憶部１０７は初期化する。これらの記憶部はメモリで構成される。例えば、局部復号記憶部１０５は、８ビット画素値の中間値である１２８に初期化する。予測モードインデックス記憶部１０７は、左隣の局部復号画素からの水平方向の予測モードを示す予測モードインデックスで初期化する。
【００３３】
予測モード選択部１０６による予測モード選択処理について詳細に説明する。まず、比較のため、図２を参照して、従来のＪＰＥＧ−ＬＳ方式で用いる画素の予測方法を説明した後で、図３〜図１１を参照して、本実施の形態の予測モード選択部１０６による予測モード選択処理について説明する。
【００３４】
図２は、ＪＰＥＧ−ＬＳ方式で用いる画素の予測方法を説明する図である。符号化対象画素ｐｘに対して左、斜め上、真上に隣接する局部復号画素ｐｄ０１、ｐｄ１１、ｐｄ１２の値を用いて、次の条件式に基づいて予測モードｍｏｄ＿ｉｄを選択する。
【００３５】
ｉｆ（ｐｄ１１≧ＭＡＸ（ｐｄ０１，ｐｄ１２））            ｍｏｄ＿ｉｄ＝０
ｅｌｓｅ  ｉｆ（ｐｄ１１≦ＭＩＮ（ｐｄ０１，ｐｄ１２））  ｍｏｄ＿ｉｄ＝１
ｅｌｓｅ                                                  ｍｏｄ＿ｉｄ＝２
（式２０１）
【００３６】
符号化対象画素ｐｘの予測値ｐｐは、予測モードｍｏｄ＿ｉｄにもとづいて次式により算出される。
【００３７】
ｉｆ（ｍｏｄ＿ｉｄ＝＝０）            ｐｐ＝ＭＩＮ（ｐｄ０１，ｐｄ１２）
ｅｌｓｅ  ｉｆ（ｍｏｄ＿ｉｄ＝＝１）  ｐｐ＝ＭＡＸ（ｐｄ０１，ｐｄ１２）
ｅｌｓｅ  ｉｆ（ｍｏｄ＿ｉｄ＝＝２）  ｐｐ＝ｐｄ０１＋ｐｄ１２−ｐｄ１１
（式２０２）
【００３８】
ここで、ＭＩＮ（）は最小値を選択する演算、ＭＡＸ（）は最大値を選択する演算である。
【００３９】
予測誤差ｄｅｌｔａは次式で得られる。
【００４０】
ｄｅｌｔａ＝ｐｘ−ｐｐ                                          （式２０３）
【００４１】
（式２０２）で示すように、ＪＰＥＧ−ＬＳ方式の予測方法では、３つの予測モードに応じて、左隣の局部復号画素、上隣の局部復号画素、上隣と左隣と左上隣の局部復号画素からの算出値のいずれか選択して符号化対象画素を予測する。
【００４２】
予測モードを決定する条件式である（式２０１）からわかるように、概ね、左隣の局部復号画素からの予測は、符号化対象画素周辺に水平エッジありと判定した場合に選択される。上隣の局部復号画素からの予測は、符号化対象画素周辺に垂直エッジありと判定した場合に選択される。また、上隣と左隣と左上隣の局部復号画素からの算出値による予測は、水平エッジも垂直エッジもないと判定した場合に選択される。
【００４３】
図２に示したＪＰＥＧ−ＬＳ方式で用いる画素の予測方法では、符号化対象画素ｐｘの直前に符号化された左隣の局部復号画素ｐｄ０１を利用して符号化対象画素ｐｘの予測モードを決定している。すぐ左に隣接する局部復号画素ｐｄ０１は、符号化対象画素ｐｘの符号化を開始する時点でないと得られない。そのため、すぐ左の隣接局部復号画素を利用する予測方法では、予測モード選択処理の後に予測値算出処理を逐次的に実行する必要があり、予測モード選択処理と予測値算出処理とを並列に実行することはできない。
【００４４】
そこで、本実施の形態では、符号化対象画素ｐｘの直前に符号化された左隣の局部復号画素ｐｄ０１を使わずに、符号化対象画素ｐｘを含むラインよりも符号化順で少なくとも一つ前のラインの局部復号画素を用いて、符号化対象画素ｐｘの予測モードを選択する。
【００４５】
図３は、本実施の形態における符号化対象画素の第１の予測アルゴリズムを説明する図である。図３では、符号化対象画素である現画素ｐｘに対して、予測モードに応じて左隣の局部復号画素ｐｄ０１、または、上隣の局部復号画素ｐｄ１２を選択して予測値とする。どちらの局部復号画素を選択するかは、現画素ｐｘを含むラインよりも符号化順で一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ２２を用いた下記の条件式（式３０１）〜（式３０３）で決まる予測モードインデックスｍｏｄ＿ｉｄに従って決められる。
【００４６】
第１の予測アルゴリズムでは、予測モードの選択において、非特許文献１や非特許文献２に記載され図２で説明した従来の予測方法のように、現画素ｐｘの左隣の局部復号画素ｐｄ０１は用いず、現画素ｐｘを含むラインよりも符号化順で一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ２２を用いる。これにより、左隣の局部復号画素ｐｄ０１の算出が終わる前、言い換えれば、現画素ｐｘの符号化を開始する前に、先行して現画素ｐｘの符号化に用いる予測モードを選択し、予測モードインデックスｍｏｄ＿ｉｄを求めることができる。例えば、局部復号画素ｐｄ１２の算出が終わった後、次の局部復号画素ｐｄ１３に対する一連の予測符号化に係る処理と並列に、現画素ｐｘの符号化に用いる予測モードの選択処理を実行することができる。
【００４７】
現画素ｐｘの符号化に用いる予測モードの選択処理は、現画素ｐｘの符号化を開始する前に完了すればよいので、予測モードを決定する条件式に用いられる局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ２２の算出が終わった後で、かつ、現画素ｐｘの符号化を開始する前であれば、現画素ｐｘの予測モード選択処理は任意の時点で実行してよい。実装上は、予測モードを決定する条件式に用いられる局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ２２がラインメモリに保持されている間に実行することが望ましい。
【００４８】
現画素ｐｘに対して、一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ２２の値を用いて、次の条件式（式３０１）〜（式３０３）に基づいて予測モードｍｏｄ＿ｉｄを選択する。
【００４９】
Ｒ１＝ａｂｓ（ｐｄ１２−ｐｄ１１）                            （式３０１）
Ｒ２＝ａｂｓ（ｐｄ１２−ｐｄ２２）＋α                        （式３０２）
（α≧０）
【００５０】
ｉｆ（Ｒ１＜Ｒ２）  ｍｏｄ＿ｉｄ＝０
ｅｌｓｅ            ｍｏｄ＿ｉｄ＝１                          （式３０３）
【００５１】
ここで、ａｂｓ（）は絶対値を求める演算である。αは、水平方向の絶対差分Ｒ１を垂直方向の絶対差分Ｒ２よりも優先するための重み付け値である。
【００５２】
符号化対象画素ｐｘの予測値ｐｐは、予測モードｍｏｄ＿ｉｄにもとづいて次式により算出される。
【００５３】
ｉｆ（ｍｏｄ＿ｉｄ＝＝０）  ｐｐ＝ｐｄ０１
ｅｌｓｅ                    ｐｐ＝ｐｄ１２                    （式３０４）
【００５４】
予測誤差ｄｅｌｔａは次式で得られる。
【００５５】
ｄｅｌｔａ＝ｐｘ−ｐｐ                                        （式３０５）
【００５６】
なお、第１の予測アルゴリズムにおいて、予測モードインデックスは２値なので、１ビットで表現できる。予測モードインデックス記憶部１０７は、凡そ１ライン分の１ビットメモリを用いて構成することができる。
【００５７】
予測モードを決定する条件式（式３０１）〜（式３０３）と、予測値を算出する式（式３０４）からわかるように、一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ２２について、水平方向の絶対差分Ｒ１が垂直方向の絶対差分Ｒ２よりも小さければ、現画素ｐｘを左隣の局部復号画素ｐｄ０１から予測し、垂直方向の絶対差分Ｒ２が水平方向の絶対差分Ｒ１よりも小さければ、現画素ｐｘを上隣の局部復号画素ｐｄ１２から予測する。
【００５８】
以上のように、第１の予測アルゴリズムにより、符号化対象画素に対する一連の予測符号化に係る処理から分離して、符号化対象画素の最適な予測モードの選択に係る処理を並列に実行することができ、高速化を実現できる。また、予測モード選択処理を予測符号化処理から分離したことで、予測符号化処理に予測モード選択処理を統合した場合と比べて、予測符号化処理を比較的簡単で低速な演算器でも実装することができる。
【００５９】
次に、現画素周辺に水平エッジまたは垂直エッジがある場合について、第１の予測アルゴリズムの動作を説明する。
【００６０】
図４（ａ）〜図４（ｄ）は、現画素周辺に水平エッジがある場合について、第１の予測アルゴリズムの動作を説明する図である。図中の丸は画素を示し、丸の濃淡は画素値を示す。簡単のため、黒、グレー、薄グレーの３段階の濃淡により画素値の変化を示す。図４（ａ）〜図４（ｄ）は、上から下へ進むにつれて水平方向のラインは黒、グレー、薄グレーと変化し、いずれかの水平方向のラインにおいて水平エッジが存在する。
【００６１】
図４（ａ）では、第１行の画素ｐｄ２１、ｐｄ２２、ｐｄ２３の一つ上のラインよりも上のライン（図示せず）は黒、第１行の画素ｐｄ２１、ｐｄ２２、ｐｄ２３のラインはグレー、第２行の画素ｐｄ１１、ｐｄ１２、ｐｄ１３から下のラインは薄グレーであり、第１行の画素ｐｄ２１、ｐｄ２２、ｐｄ２３のラインに水平エッジが存在する。
【００６２】
図４（ｂ）では、第１行の画素ｐｄ２１、ｐｄ２２、ｐｄ２３から上のラインは黒、第２行の画素ｐｄ１１、ｐｄ１２、ｐｄ１３のラインはグレー、第３行の画素ｐｄ０１、ｐｘから下のラインは薄グレーであり、第２行の画素ｐｄ１１、ｐｄ１２、ｐｄ１３のラインに水平エッジが存在する。
【００６３】
図４（ｃ）では、第２行の画素ｐｄ１１、ｐｄ１２、ｐｄ１３から上のラインは黒、第３行の画素ｐｄ０１、ｐｘのラインはグレー、第４行の画素から下のラインは薄グレーであり、第３行の画素ｐｄ０１、ｐｘのラインに水平エッジが存在する。
【００６４】
図４（ｄ）では、第３行の画素ｐｄ０１、ｐｘから上のラインは黒、第４行の画素のラインはグレー、第４行の画素の一つ下のラインよりも下のライン（図示せず）は薄グレーであり、第４行の画素のラインに水平エッジが存在する。
【００６５】
各図において、丸端線の太さは、局部復号画素間の差分の大きさを表す。また、両矢印線は、現画素ｐｘの予測に用いられる隣接局部復号画素を示す。
【００６６】
図４（ａ）〜図４（ｄ）はそれぞれ、（式３０１）から（式３０３）に従い、水平方向の局部復号画素ｐｄ１１とｐｄ１２の絶対差分値Ｒ１と、垂直方向の局部復号画素ｐｄ２２とｐｄ１２の絶対差分値に所定の重み付け値αを加えた値Ｒ２とを比較して、Ｒ１はＲ２以下であることから、水平方向の予測モード（ｍｏｄ＿ｉｄ＝０）が選択され、現画素ｐｘが左隣の局部復号画素ｐｄ０１で予測される様子を示している。
【００６７】
図４（ａ）、図４（ｂ）では、水平方向の画素の絶対差分が垂直方向の画素の絶対差分よりも小さいため、Ｒ１＜Ｒ２が成り立つことから、ｍｏｄ＿ｉｄ＝０であり、左隣の局部復号画素ｐｄ０１が現画素ｐｘの予測値として選ばれる。
【００６８】
図４（ｃ）、図４（ｄ）では、水平方向の画素の絶対差分と垂直方向の画素の絶対差分が等しいが、後者には重み付け値αが加算されるため、やはりＲ１＜Ｒ２が成り立つことから、同じくｍｏｄ＿ｉｄ＝０であり、左隣の局部復号画素ｐｄ０１が現画素ｐｘの予測値として選ばれる。所定の重み付け値αを加えることで、図４（ｃ）、図４（ｄ）の場合でも、誤判定を防ぐことができる。
【００６９】
このように、水平方向にエッジがある場合、図４（ａ）〜図４（ｄ）のいずれの場合でも、水平予測が選択される。
【００７０】
図５（ａ）〜図５（ｄ）は、現画素周辺に垂直エッジがある場合について、第１の予測アルゴリズムの動作を説明する図である。図５（ａ）〜図５（ｄ）は、左から右へ進むにつれて垂直方向のラインは黒、グレー、薄グレーと変化し、いずれかの垂直方向のラインにおいて垂直エッジが存在する。
【００７１】
図５（ａ）では、第１列の画素の一つ左のラインよりも左のライン（図示せず）は黒、第１列の画素のラインはグレー、第２列の画素ｐｄ２１、ｐｄ１１、ｐｄ０１から右のラインは薄グレーであり、第１列の画素のラインに垂直エッジが存在する。
【００７２】
図５（ｂ）では、第１列の画素から左のラインは黒、第２列の画素ｐｄ２１、ｐｄ１１、ｐｄ０１のラインはグレー、第３列の画素ｐｄ２２、ｐｄ１２、ｐｘから右のラインは薄グレーであり、第２列の画素ｐｄ２１、ｐｄ１１、ｐｄ０１のラインに垂直エッジが存在する。
【００７３】
図５（ｃ）では、第２列の画素ｐｄ２１、ｐｄ１１、ｐｄ０１から左のラインは黒、第３列の画素ｐｄ２２、ｐｄ１２、ｐｘのラインはグレー、第４列の画素ｐｄ２３、ｐｄ１３から右のラインは薄グレーであり、第３列の画素ｐｄ２２、ｐｄ１２、ｐｘのラインに垂直エッジが存在する。
【００７４】
図５（ｄ）では、第３列の画素ｐｄ２２、ｐｄ１２、ｐｘから左のラインは黒、第４列の画素のラインはグレー、第４列の画素ｐｄ２３、ｐｄ１３の一つ右のラインよりも右のライン（図示せず）は薄グレーであり、第４列の画素ｐｄ２３、ｐｄ１３のラインに垂直エッジが存在する。
【００７５】
図５（ａ）〜図５（ｄ）はそれぞれ、（式３０１）から（式３０３）に従い、水平方向の局部復号画素ｐｄ１１とｐｄ１２の絶対差分値Ｒ１と、垂直方向の局部復号画素ｐｄ２２とｐｄ１２の絶対差分値に所定の重み付け値αを加えた値Ｒ２とを比較して、図５（ｂ）、図５（ｃ）では、Ｒ１はＲ２以下でないことから、垂直方向の予測モード（ｍｏｄ＿ｉｄ＝１）が選択され、現画素ｐｘが上隣の局部復号画素ｐｄ１２で予測され、図５（ａ）、図５（ｄ）では、Ｒ１はＲ２以下であることから、水平方向の予測モード（ｍｏｄ＿ｉｄ＝０）が選択され、現画素ｐｘが左隣の局部復号画素ｐｄ０１で予測される様子を示している。
【００７６】
図５（ｂ）、図５（ｃ）では、垂直方向の画素の絶対差分が水平方向の画素の絶対差分よりも小さいため、Ｒ１＞Ｒ２が成り立つことから、ｍｏｄ＿ｉｄ＝１であり、上隣の局部復号画素ｐｄ０１が現画素ｐｘの予測値として選ばれる。
【００７７】
図５（ａ）、図５（ｄ）では、垂直方向の画素の絶対差分と水平方向の画素の絶対差分が等しいが、前者には重み付け値αが加算されるため、Ｒ１＜Ｒ２が成り立つことから、ｍｏｄ＿ｉｄ＝０であり、左隣の局部復号画素ｐｄ０１が現画素ｐｘの予測値として選ばれる。ここで、水平方向の予測モードを選択しても、図５（ａ）の場合は、薄グレー画素間の予測であり、図５（ｄ）の場合は、クロ画素間の予測であるから、大きな予測誤差となる問題を生じることはない。
【００７８】
図６は、本実施の形態における符号化対象画素の第２の予測アルゴリズムを説明する図である。図６では、符号化対象画素である現画素ｐｘに対して、予測モードに応じて左隣の局部復号画素ｐｄ０２、左上隣の局部復号画素ｐｄ１２、上隣の局部復号画素ｐｄ１３、及び、右上隣の局部復号画素ｐｄ１４の中からいずれかを選択して予測値とする。いずれの局部復号画素を選択するかは、現画素ｐｘを含むラインよりも符号化順で一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ１４、ｐｄ２２、ｐｄ２３、ｐｄ２４を用いた下記の条件式（式６０１）〜（式６１６）で決まる予測モードインデックスｍｏｄ＿ｉｄに従って決められる。
【００７９】
第２の予測アルゴリズムでも、第１の予測アルゴリズムと同様に、予測モードの選択において、非特許文献１や非特許文献２に記載され図２で説明した従来の予測方法のように、現画素ｐｘの左隣の局部復号画素ｐｄ０２は用いず、現画素ｐｘを含むラインよりも符号化順で一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ１４、ｐｄ２２、ｐｄ２３、ｐｄ２４を用いる。これにより、左隣の局部復号画素ｐｄ０２の算出が終わる前、言い換えれば、現画素ｐｘの符号化を開始する前に、先行して現画素ｐｘの符号化に用いる予測モードを選択し、予測モードインデックスｍｏｄ＿ｉｄを求めることができる。例えば、局部復号画素ｐｄ１４の算出が終わった後、次の局部復号画素ｐｄ１５に対する一連の予測符号化に係る処理と並列に、現画素ｐｘの符号化に用いる予測モードの選択処理を実行することができる。
【００８０】
現画素ｐｘに対して、一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ１４、ｐｄ２２、ｐｄ２３、ｐｄ２４の値を用いて、次の条件式（式６０１）〜（式６１６）に基づいて予測モードｍｏｄ＿ｉｄを選択する。
【００８１】
Ｒ１１＝ａｂｓ（ｐｄ１１−ｐｄ１２）                    （式６０１）
Ｒ１２＝ａｂｓ（ｐｄ１２−ｐｄ１３）                    （式６０２）
Ｒ１３＝ａｂｓ（ｐｄ１３−ｐｄ１４）                    （式６０３）
【００８２】
Ｒ２１＝ａｂｓ（ｐｄ２２−ｐｄ１３）                    （式６０４）
Ｒ２２＝ａｂｓ（ｐｄ２３−ｐｄ１４）                    （式６０５）
【００８３】
Ｒ３１＝ａｂｓ（ｐｄ２２−ｐｄ１２）                    （式６０６）
Ｒ３２＝ａｂｓ（ｐｄ２３−ｐｄ１３）                    （式６０７）
Ｒ３３＝ａｂｓ（ｐｄ２４−ｐｄ１４）                    （式６０８）
【００８４】
Ｒ４１＝ａｂｓ（ｐｄ２２−ｐｄ１１）                    （式６０９）
Ｒ４２＝ａｂｓ（ｐｄ２４−ｐｄ１３）                    （式６１０）
【００８５】
Ｒ１＝ＭＡＸ（Ｒ１１，Ｒ１２，Ｒ１３）                  （式６１１）
Ｒ２＝ＭＡＸ（Ｒ２１，Ｒ２２）＋α                      （式６１２）
Ｒ３＝ＭＡＸ（Ｒ３１，Ｒ３２，Ｒ３３）＋α              （式６１３）
Ｒ４＝ＭＡＸ（Ｒ４１，Ｒ４２）＋α                      （式６１４）
（α≧０）
【００８６】
Ｒｍｉｎ＝ＭＩＮ（Ｒ１，Ｒ２，Ｒ３，Ｒ４）              （式６１５）
【００８７】
ｉｆ（Ｒ１＝＝Ｒｍｉｎ）            ｍｏｄ＿ｉｄ＝０
ｅｌｓｅ  ｉｆ（Ｒ２＝＝Ｒｍｉｎ）  ｍｏｄ＿ｉｄ＝１
ｅｌｓｅ  ｉｆ（Ｒ３＝＝Ｒｍｉｎ）  ｍｏｄ＿ｉｄ＝２
ｅｌｓｅ  ｉｆ（Ｒ４＝＝Ｒｍｉｎ）  ｍｏｄ＿ｉｄ＝３    （式６１６）
【００８８】
符号化対象画素ｐｘの予測値ｐｐは、予測モードｍｏｄ＿ｉｄにもとづいて次式により算出される。
【００８９】
ｉｆ（ｍｏｄ＿ｉｄ＝＝０）            ｐｐ＝ｐｄ０１
ｅｌｓｅ  ｉｆ（ｍｏｄ＿ｉｄ＝＝１）  ｐｐ＝ｐｄ１１
ｅｌｓｅ  ｉｆ（ｍｏｄ＿ｉｄ＝＝２）  ｐｐ＝ｐｄ１２
ｅｌｓｅ  ｉｆ（ｍｏｄ＿ｉｄ＝＝３）  ｐｐ＝ｐｄ１３    （式６１７）
【００９０】
予測誤差ｄｅｌｔａは次式で得られる。
【００９１】
ｄｅｌｔａ＝ｐｘ−ｐｐ                                  （式６１８）
【００９２】
以上のように、第２の予測アルゴリズムにより、符号化対象画素に対する一連の予測符号化に係る処理から分離して、符号化対象画素の最適な予測モードの選択に係る処理を並列に実行することができ、高速化を実現できる。また、予測モード選択処理を予測符号化処理から分離したことで、予測符号化処理に予測モード選択処理を統合した場合と比べて、予測符号化処理を比較的簡単で低速な演算器でも実装することができる。
【００９３】
また、非特許文献２に記載の方法では、水平・垂直エッジだけでなく、左斜めエッジや右斜めエッジに適応して予測モードを選択し、予測値を算出するために、局部復号画素を蓄積する少なくとも２ライン分のメモリを必要とするが、第２の予測アルゴリズムに従えば、凡そ局部復号画素１ライン分のメモリで、水平・垂直エッジだけでなく、左斜め・右斜めエッジに適応して予測モードの選択、及び、予測値の算出ができるので、メモリ量を削減することができる。
【００９４】
なお、第２の予測アルゴリズムにおいて、予測モードインデックスは４値なので、２ビットで表現できる。予測モードインデックス記憶部１０７は、凡そ１ライン分の２ビットメモリを用いて構成することができるので、この分を加味しても、メモリ量削減効果は十分にある。
【００９５】
次に、現画素周辺に水平／垂直エッジ、左斜め／右斜めエッジがある場合について、第２の予測アルゴリズムの動作を説明する。ここで、「左斜め」とは左上から右下への方向のことであり、「右斜め」とは右上から左下への方向のことであるとする。
【００９６】
図７（ａ）〜図７（ｄ）は、現画素周辺に水平エッジがある場合について、第２の予測アルゴリズムの動作を説明する図である。図７（ａ）〜図７（ｄ）は、上から下へ進むにつれて水平方向のラインは黒、グレー、薄グレーと変化し、いずれかの水平方向のラインにおいて水平エッジが存在する。
【００９７】
図７（ａ）では、第１行の画素ｐｄ２１、ｐｄ２２、ｐｄ２３、ｐｄ２４の一つ上のラインよりも上のライン（図示せず）は黒、第１行の画素ｐｄ２１、ｐｄ２２、ｐｄ２３、ｐｄ２４のラインはグレー、第２行の画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ１４から下のラインは薄グレーであり、第１行の画素ｐｄ２１、ｐｄ２２、ｐｄ２３、ｐｄ２４のラインに水平エッジが存在する。
【００９８】
図７（ｂ）では、第１行の画素ｐｄ２１、ｐｄ２２、ｐｄ２３、ｐｄ２４から上のラインは黒、第２行の画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ１４のラインはグレー、第３行の画素ｐｄ０１、ｐｄ０２、ｐｘから下のラインは薄グレーであり、第２行の画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ１４のラインに水平エッジが存在する。
【００９９】
図７（ｃ）では、第２行の画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ１４から上のラインは黒、第３行の画素ｐｄ０１、ｄ０２、ｐｘのラインはグレー、第４行の画素から下のライン（図示せず）は薄グレーであり、第３行の画素ｐｄ０１、ｐｄ０２、ｐｘのラインに水平エッジが存在する。
【０１００】
図７（ｄ）では、第３行の画素ｐｄ０１、ｐｄ０２、ｐｘから上のラインは黒、第４行の画素のラインはグレー、第４行の画素の一つ下のラインよりも下のライン（図示せず）は薄グレーであり、第４行の画素のラインに水平エッジが存在する。
【０１０１】
各図において、丸端線の太さは、局部復号画素間の差分の大きさを表す。また、両矢印線は、現画素ｐｘの予測に用いられる隣接局部復号画素を示す。
【０１０２】
図７（ａ）〜図７（ｄ）はそれぞれ、（式６０１）から（式６１６）に従い、水平方向の評価値Ｒ１が最小と判断され、水平方向の予測モード（ｍｏｄ＿ｉｄ＝０）が選択され、現画素ｐｘが左隣の局部復号画素ｐｄ０２で予測される様子を示している。
【０１０３】
左斜め方向の評価値Ｒ２、垂直方向の評価値Ｒ３、右斜め方向の評価値Ｒ４を求める際に、所定の重み付け値αを加えることで、図７（ｃ）や、図７（ｄ）の場合でも、水平方向の評価値Ｒ１を優先して誤判定を防ぎ、水平方向の予測モードを選択することができる。
【０１０４】
図８（ａ）〜図８（ｄ）は、現画素周辺に垂直エッジがある場合について、第２の予測アルゴリズムの動作を説明する図である。図８（ａ）〜図８（ｄ）は、左から右へ進むにつれて垂直方向のラインは黒、グレー、薄グレーと変化し、いずれかの垂直方向のラインにおいて垂直エッジが存在する。
【０１０５】
図８（ａ）では、第１列の画素の一つ左のラインよりも左のライン（図示せず）は黒、第１列の画素ｐｄ２１、ｐｄ１１、ｐｄ０１のラインはグレー、第２列の画素ｐｄ２２、ｐｄ１２、ｐｄ０２から右のラインは薄グレーであり、第１列の画素ｐｄ２１、ｐｄ１１、ｐｄ０１のラインに垂直エッジが存在する。
【０１０６】
図８（ｂ）では、第１列の画素ｐｄ２１、ｐｄ１１、ｐｄ０１から左のラインは黒、第２列の画素ｐｄ２２、ｐｄ１２、ｐｄ０２のラインはグレー、第３列の画素ｐｄ２３、ｐｄ１３、ｐｘから右のラインは薄グレーであり、第２列の画素ｐｄ２２、ｐｄ１２、ｐｄ０２のラインに垂直エッジが存在する。
【０１０７】
図８（ｃ）では、第２列の画素ｐｄ２２、ｐｄ１２、ｐｄ０２から左のラインは黒、第３列の画素ｐｄ２３、ｐｄ１３、ｐｘのラインはグレー、第４列の画素ｐｄ２４、ｐｄ１４から右のラインは薄グレーであり、第３列の画素ｐｄ２３、ｐｄ１３、ｐｘのラインに垂直エッジが存在する。
【０１０８】
図８（ｄ）では、第３列の画素ｐｄ２３、ｐｄ１３、ｐｘから左のラインは黒、第４列の画素のラインはグレー、第４列の画素ｐｄ２４、ｐｄ１４の一つ右のラインよりも右のライン（図示せず）は薄グレーであり、第４列の画素ｐｄ２４、ｐｄ１４のラインに垂直エッジが存在する。
【０１０９】
図８（ｂ）、図８（ｃ）、図８（ｄ）はそれぞれ、（式６０１）から（式６１６）に従い、垂直方向の評価値Ｒ３が最小と判断され、垂直方向の予測モード（ｍｏｄ＿ｉｄ＝２）が選択され、現画素ｐｘが上隣の局部復号画素ｐｄ１３で予測される様子を示している。
【０１１０】
図８（ａ）は、（式６０１）から（式６１６）に従い、左斜め方向の評価値Ｒ２が最小と判断され、左斜め方向の予測モード（ｍｏｄ＿ｉｄ＝１）が選択され、現画素ｐｘが左上隣の局部復号画素ｐｄ１２で予測される様子を示している。ここで、左斜め方向の予測モードを選択しても、図８（ａ）の場合は、薄グレー画素間の予測であるから、大きな予測誤差となる問題を生じることはない。
【０１１１】
図９（ａ）〜図９（ｄ）は、現画素周辺に左斜めエッジがある場合について、第２の予測アルゴリズムの動作を説明する図である。図９（ａ）〜図９（ｄ）は、左下から右上へ進むにつれて左斜め方向のラインは黒、グレー、薄グレーと変化し、いずれかの左斜め方向のラインにおいて水平エッジが存在する。
【０１１２】
図７（ａ）〜図７（ｄ）では、濃淡で示す画素値が垂直方向に徐々に変化し、水平エッジが存在したが、図９（ａ）〜図９（ｄ）では、濃淡で示す画素値の変化が右斜め方向に徐々に変化し、左斜めエッジが存在する。図９（ａ）では、グレーで示される画素ｐｄ１１、ｐｄ０２の左斜めラインに左斜めエッジが存在する。図９（ｂ）では、グレーで示される画素ｐｄ２１、ｐｄ１２、ｐｘの左斜めラインに左斜めエッジが存在する。図９（ｃ）では、グレーで示される画素ｐｄ２２、ｐｄ１３の左斜めラインに左斜めエッジが存在する。図９（ｄ）では、グレーで示される画素ｐｄ２３、ｐｄ１４の左斜めラインに左斜めエッジが存在する。
【０１１３】
図９（ａ）〜図９（ｄ）はそれぞれ、（式６０１）から（式６１６）に従い、左斜め方向の評価値Ｒ２が最小と判断され、左斜め方向の予測モード（ｍｏｄ＿ｉｄ＝１）が選択され、現画素ｐｘが左上隣の局部復号画素ｐｄ１２で予測される様子を示している。
【０１１４】
図１０（ａ）〜図１０（ｄ）は、現画素周辺に右斜めエッジがある場合について、第２の予測アルゴリズムの動作を説明する図である。図１０（ａ）〜図１０（ｄ）は、左上から右下へ進むにつれて右斜め方向のラインは黒、グレー、薄グレーと変化し、いずれかの右斜め方向のラインにおいて水平エッジが存在する。
【０１１５】
図８（ａ）〜図８（ｄ）では、濃淡で示す画素値が水平方向に徐々に変化し、垂直エッジが存在したが、図１０（ａ）〜図１０（ｄ）では、濃淡で示す画素値の変化が左斜め方向に徐々に変化し、右斜めエッジが存在する。図１０（ａ）では、グレーで示される画素ｐｄ２３、ｐｄ１２、ｐｄ０１の右斜めラインに右斜めエッジが存在する。図１０（ｂ）では、グレーで示される画素ｐｄ２４、ｐｄ１３、ｐｄ０２の右斜めラインに右斜めエッジが存在する。図１０（ｃ）では、グレーで示される画素ｐｄ２５、ｐｄ１４、ｐｘの右斜めラインに右斜めエッジが存在する。図１０（ｄ）では、グレーで示される画素ｐｄ１５の右斜めラインに右斜めエッジが存在する。
【０１１６】
図１０（ａ）、図１０（ｂ）、図１０（ｃ）はそれぞれ、（式６０１）から（式６１６）に従い、右斜め方向の評価値Ｒ４が最小と判断され、右斜め方向の予測モード（ｍｏｄ＿ｉｄ＝３）が選択され、現画素ｐｘが右上隣の局部復号画素ｐｄ１４で予測される様子を示している。
【０１１７】
図１０（ｄ）は、（式６０１）から（式６１６）に従い、水平方向の評価値Ｒ１が最小と判断され、水平方向の予測モード（ｍｏｄ＿ｉｄ＝０）が選択され、現画素ｐｘが左隣の局部復号画素ｐｄ０２で予測される様子を示している。ここで、水平方向の予測モードを選択しても、図１０（ｄ）の場合は、黒画素間の予測であるから、大きな予測誤差となる問題を生じることはない。
【０１１８】
図１１は、本実施の形態における符号化対象画素の第３の予測アルゴリズムを説明する図である。図１１では、符号化対象画素である現画素ｐｘに対して、予測モードに応じて左隣の局部復号画素ｐｄ０１、左上隣の局部復号画素ｐｄ１１、上隣の局部復号画素ｐｄ１２、及び、右上隣の局部復号画素ｐｄ１３の中からいずれかを選択して予測値とする。いずれの局部復号画素を選択するかは、現画素ｐｘを含むラインよりも符号化順で一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ２１、ｐｄ２２、ｐｄ２３を用いた下記の条件式（式１１０１）〜（式１１０６）で決まる予測モードインデックスｍｏｄ＿ｉｄに従って決められる。
【０１１９】
第３の予測アルゴリズムでも、第１、第２の予測アルゴリズムと同様に、予測モードの選択において、現画素ｐｘの左隣の局部復号画素ｐｄ０１は用いず、現画素ｐｘを含むラインよりも符号化順で一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ２１、ｐｄ２２、ｐｄ２３を用いる。これにより、左隣の局部復号画素ｐｄ０１の算出が終わる前、言い換えれば、現画素ｐｘの符号化を開始する前に、先行して現画素ｐｘの符号化に用いる予測モードを選択し、予測モードインデックスｍｏｄ＿ｉｄを求めることができる。例えば、局部復号画素ｐｄ１２の算出が終わった後、次の局部復号画素ｐｄ１３に対する一連の予測符号化に係る処理と並列に、現画素ｐｘの符号化に用いる予測モードの選択処理を実行することができる。
【０１２０】
現画素ｐｘに対して、一つ前および二つ前のラインにある局部復号画素ｐｄ１１、ｐｄ１２、ｐｄ１３、ｐｄ２１、ｐｄ２２、ｐｄ２３の値を用いて、次の条件式（式１１０１）〜（式１１０６）に基づいて予測モードｍｏｄ＿ｉｄを選択する。
【０１２１】
Ｒ１＝ａｂｓ（ｐｄ１１−ｐｄ１２）                      （式１１０１）
Ｒ２＝ａｂｓ（ｐｄ２１−ｐｄ１２）＋α                  （式１１０２）
Ｒ３＝ａｂｓ（ｐｄ２２−ｐｄ１２）＋α                  （式１１０３）
Ｒ４＝ａｂｓ（ｐｄ２３−ｐｄ１２）＋α                  （式１１０４）
（α≧０）
【０１２２】
Ｒｍｉｎ＝ＭＩＮ（Ｒ１，Ｒ２，Ｒ３，Ｒ４）              （式１１０５）
【０１２３】
ｉｆ（Ｒ１＝＝Ｒｍｉｎ）            ｍｏｄ＿ｉｄ＝０
ｅｌｓｅ  ｉｆ（Ｒ２＝＝Ｒｍｉｎ）  ｍｏｄ＿ｉｄ＝１
ｅｌｓｅ  ｉｆ（Ｒ３＝＝Ｒｍｉｎ）  ｍｏｄ＿ｉｄ＝２
ｅｌｓｅ  ｉｆ（Ｒ４＝＝Ｒｍｉｎ）  ｍｏｄ＿ｉｄ＝３    （式１１０６）
【０１２４】
符号化対象画素ｐｘの予測値ｐｐは、予測モードｍｏｄ＿ｉｄにもとづいて次式により算出される。
【０１２５】
ｉｆ（ｍｏｄ＿ｉｄ＝＝０）            ｐｐ＝ｐｄ０１
ｅｌｓｅ  ｉｆ（ｍｏｄ＿ｉｄ＝＝１）  ｐｐ＝ｐｄ１１
ｅｌｓｅ  ｉｆ（ｍｏｄ＿ｉｄ＝＝２）  ｐｐ＝ｐｄ１２
ｅｌｓｅ  ｉｆ（ｍｏｄ＿ｉｄ＝＝３）  ｐｐ＝ｐｄ１３    （式１１０７）
【０１２６】
予測誤差ｄｅｌｔａは次式で得られる。
【０１２７】
ｄｅｌｔａ＝ｐｘ−ｐｐ                                  （式１１０８）
【０１２８】
第２の予測アルゴリズムについて述べた作用効果は、第３の予測アルゴリズムについても当てはまる。ただし、第３の予測アルゴリズムでは、図６に示した第２の予測アルゴリズムとは違って、予測モードを選択するための評価値の数を減らしている。そのため、第２の予測アルゴリズムよりも処理量が少ないという利点がある。もっとも、予測モードを選択するための評価値の種類が少ないため、誤判定は多くなるので、処理量と精度のトレードオフを考慮して、第２の予測アルゴリズムまたは第３の予測アルゴリズムを選択すればよい。
【０１２９】
なお、第３の予測アルゴリズムにおいて、予測モードインデックスは４値なので、２ビットで表現できる。予測モードインデックス記憶部１０７は、凡そ１ライン分の２ビットメモリを用いて構成することができるので、この分を加味しても、メモリ量削減効果は十分にある。さらに、第２の予測アルゴリズムに比べて、予測モードインデックスｍｏｄ＿ｉｄを求める際に用いる局部復号画素の数が少なく、より簡便に、予測モードインデックスｍｏｄ＿ｉｄを求めることができる。
【０１３０】
図１２は、図１の動画像符号化装置による画像符号化処理を説明するフローチャートである。
【０１３１】
局部復号記憶部１０５と予測モードインデックス記憶部１０７を初期化する（Ｓ２０１）。
【０１３２】
ステップＳ２０３からステップＳ２１０までの予測値算出処理と、ステップＳ２１１からステップＳ２１２までの予測モード選択処理とを並列に処理するように予測部１０８と予測モード選択部１０６を制御する（Ｓ２０２）。
【０１３３】
動画像符号化装置に符号化対象画素ｉを入力し、符号化対象画素ｉの画素値を現画素値ｐｘに設定する（Ｓ２０３）。
【０１３４】
予測部１０８は、予測モードインデックス記憶部１０７から符号化対象画素ｉの予測モードインデックスｍｏｄ＿ｉｄ（ｉ）を読み出す（Ｓ２０４）。予測部１０８は、予測モードインデックスｍｏｄ＿ｉｄ（ｉ）に応じて、局部復号記憶部１０５から隣接する局部復号画素値を読み出して、予測値ｐｐに設定する（Ｓ２０５）。
【０１３５】
減算部１０１は、現画素値ｐｘから予測値ｐｐを減算して、予測誤差値ｄｅｌｔａを算出する（Ｓ２０６）。予測誤差符号化部１０２は、予測誤差値ｄｅｌｔａを符号化して予測誤差符号ｃ−ｄｅｌｔａを出力する（Ｓ２０７）。
【０１３６】
予測誤差復号部１０３は、予測誤差符号ｃ−ｄｅｌｔａを復号して予測誤差復号値ｄ−ｄｅｌｔａを求める（Ｓ２０８）。加算部１０４は、予測値ｐｐと予測誤差復号値ｄ−ｄｅｌｔａを加算して、局部復号値ｄｘを算出し（Ｓ２０９）、局部復号値ｄｘを局部復号記憶部１０５に書き込む（Ｓ２１０）。
【０１３７】
一方、予測モード選択部１０６は、局部復号記憶部１０５から局部復号値を読み出して、例えば、第１の予測アルゴリズムを用いる場合は（式３０１）から（式３０３）に従い、第２の予測アルゴリズムを用いる場合は（式６０１）から（式６１６）に従い、第３の予測アルゴリズムを用いる場合は（式１１０１）から（式１１０６）に従い、後で符号化する画素ｋの予測モードインデックスｍｏｄ＿ｉｄ（ｋ）を求める（Ｓ２１１）。
【０１３８】
予測モード選択部１０６は、求めた予測モードインデックスｍｏｄ＿ｉｄ（ｋ）を予測モードインデックス記憶部１０７に書き込む（Ｓ２１２）。
【０１３９】
ステップＳ２０３からステップＳ２１０までの予測値算出処理と、ステップＳ２１１からステップＳ２１２までの予測モード選択処理とがともに完了するのを待つ（Ｓ２１３）。
【０１４０】
画面内の全画素を符号化したか否かを判断して、画面内の全画素を符号化した場合には、一連の処理を終了する。また、画面内の全画素を符号化していない場合は、ステップＳ２０２に戻る（Ｓ２１４）。
【０１４１】
図１３は、実施の形態に係る動画像復号装置の構成を示すブロック図である。動画像復号装置は、予測誤差復号部３０１、加算部３０２、局部復号記憶部３０３、予測モード選択部３０４、予測モードインデックス記憶部３０５、および予測部３０６を備える。
【０１４２】
予測誤差復号部３０１は、入力される予測誤差符号ｃ−ｄｅｌｔａを、例えば、符号化に対応して逆量子化して、予測誤差復号値ｄ−ｄｅｌｔａを出力する。
【０１４３】
加算部３０２は、予測誤差復号部３０１から供給される予測誤差復号値ｄ−ｄｅｌｔａと、予測部３０６から供給される予測値ｐｐとを、加算して、現画素の局部復号値ｄｘを出力する。
【０１４４】
局部復号記憶部３０３は、加算部３０２からの局部復号値ｄｘを、後に復号する画素を予測するため、少なくとも、局部復号値ｄｘを予測モードの選択や予測値の算出に用いる可能性のある、後に復号する全ての画素を復号するまでの期間、保持する。
【０１４５】
予測モード選択部３０４は、後に復号する画素ｋの予測モードを選択するため、複数の局部復号画素値を、局部復号記憶部３０３から読み出して、予測アルゴリズムに応じた所定の条件式に基づき、選択する予測モードを示す予測モードインデックスｍｏｄ＿ｉｄ（ｋ）を出力する。
【０１４６】
予測モードインデックス記憶部３０５は、予測モード選択部３０４から供給される、後に復号する画素ｋの予測モードインデックスｍｏｄ＿ｉｄ（ｋ）を、少なくとも、対応する画素ｋを復号するまでの期間、保持する。
【０１４７】
予測部３０６は、現画素ｉの予測モードインデックスｍｏｄ＿ｉｄ（ｉ）を、予測モードインデックス記憶部３０５から読み出して、ｍｏｄ＿ｉｄ（ｉ）に基づき、所定の予測モードで、局部復号記憶部３０３から読み出した複数の局部復号画素値を用いて、現画素ｉの予測値ｐｐを求めて出力する。ここで、復号に用いる予測アルゴリズムは、符号化で用いる予測アルゴリズムと同じアルゴリズムである。
【０１４８】
図１４は、図１３の動画像復号装置による画像復号処理を説明するフローチャートである。図１３の動画像復号装置による復号処理は、図１の動画像符号化装置による符号化処理に対応して行われる。
【０１４９】
局部復号記憶部３０３と予測モードインデックス記憶部３０５を初期化する（Ｓ４０１）。
【０１５０】
ステップＳ４０３からステップＳ４０８までの予測値算出処理と、ステップＳ４０９からステップＳ４１０までの予測モード選択処理とを並列に処理するように予測部３０６と予測モードインデックス記憶部３０５を制御する（Ｓ４０２）。
【０１５１】
動画像復号装置に復号対象画素ｉの予測誤差符号を入力し、予測誤差符号の値をｃ−ｄｅｌｔａに設定する（Ｓ４０３）。
【０１５２】
予測誤差復号部３０１は、予測誤差符号ｃ−ｄｅｌｔａを復号して予測誤差復号値ｄ−ｄｅｌｔａを求める（Ｓ４０４）。
【０１５３】
予測部３０６は、予測モードインデックス記憶部３０５から復号対象画素ｉの予測モードインデックスｍｏｄ＿ｉｄ（ｉ）を読み出す（Ｓ４０５）。予測部３０６は、予測モードインデックスｍｏｄ＿ｉｄ（ｉ）に応じて、局部復号記憶部３０３から隣接する局部復号画素値を読み出して、予測値ｐｐに設定する（Ｓ４０６）。
【０１５４】
加算部３０２は、予測値ｐｐと予測誤差復号値ｄ−ｄｅｌｔａを加算して、局部復号値ｄｘを算出し（Ｓ４０７）、局部復号値ｄｘを局部復号記憶部３０３に書き込む（Ｓ４０８）。
【０１５５】
一方、予測モード選択部３０４は、局部復号記憶部３０３から局部復号値を読み出して、例えば、第１の予測アルゴリズムを用いる場合は（式３０１）から（式３０３）に従い、第２の予測アルゴリズムを用いる場合は（式６０１）から（式６１６）に従い、第３の予測アルゴリズムを用いる場合は（式１１０１）から（式１１０６）に従い、後で符号化する画素ｋの予測モードインデックスｍｏｄ＿ｉｄ（ｋ）を求める（Ｓ４０９）。
【０１５６】
予測モード選択部３０４は、求めた予測モードインデックスｍｏｄ＿ｉｄ（ｋ）を予測モードインデックス記憶部３０５に書き込む（Ｓ４１０）。
【０１５７】
ステップＳ４０３からステップＳ４０８までの予測値算出処理と、ステップＳ４０９からステップＳ４１０までの予測モード選択処理とがともに完了するのを待つ（Ｓ４１１）。
【０１５８】
画面内の全画素を符号化したか否かを判断して、画面内の全画素を符号化した場合には、一連の処理を終了する。また、画面内の全画素を符号化していない場合は、ステップＳ４０２に戻る（Ｓ４１２）。
【０１５９】
以上述べたように、本発明の実施の形態によれば、当該画素の符号化や復号における予測モードの選択に係る演算を、凡そ１ライン先行して行い、選択した予測モードのインデックスをメモリに保持しておく。当該画素の符号化や復号において、メモリから読み出した予測モードのインデックスに従い、予測値を算出する。
【０１６０】
これにより、予測モードの選択に係る演算を、画素ごとの一連の演算から独立させて並列処理することができるので、多くの予測モードから選択したり、予測モードの選択に係る演算量を増加させても、高速な演算器を必要とせず、低速な演算器を用いることができるので、実用化コストを低減したり、実用化を簡易にしたりできる。
【０１６１】
また、水平・垂直エッジだけでなく、左斜め・右斜めエッジを検出して予測モードを選択して予測誤差をより小さくできるので、量子化歪低減による画質の向上や、発生符号量低減による符号化効率の向上を図ることができる。
【０１６２】
また、非特許文献２では、水平・垂直エッジだけでなく、左斜め・右斜めエッジに適応して予測モードの選択、及び、予測値の算出のために、局部復号画素を蓄積する少なくとも２ライン分のメモリを必要とする。局部復号画素１ライン分のメモリで実現可能な非特許文献１の方式に比べて、必要とするメモリ量が増加する。
【０１６３】
それに対して、本実施の形態では、凡そ１ライン先行して予測モードを選択することで、凡そ局部復号画素１ライン分のメモリで、水平・垂直エッジだけでなく、左斜め・右斜めエッジに適応して予測モードの選択、及び、予測値の算出ができるので、メモリ量を削減してコストを低減したり、メモリ帯域を削減して省電力化したりすることができる。
【０１６４】
また、復号においても符号化同様に、第１〜第３の予測アルゴリズムを用いることで、従来に比べて、一連の予測符号化に係る処理から分離しても、良好な予測モードの選択に係る処理ができ、かつ、より低速な演算器で実現することができる。また、メモリ量を削減することができる。
【０１６５】
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ＲＯＭ（リード・オンリ・メモリ）やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
【０１６６】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１６７】
１０１  減算部、  １０２  予測誤差符号化部、  １０３  予測誤差復号部、  １０４  加算部、  １０５  局部復号記憶部、  １０６  予測モード選択部、  １０７  予測モードインデックス記憶部、  １０８  予測部、  ３０１  予測誤差復号部、  ３０２  加算部、  ３０３  局部復号記憶部、  ３０４  予測モード選択部、  ３０５  予測モードインデックス記憶部、  ３０６  予測部。
【図１】
0005582019.tif 000002
【図１２】
0005582019.tif 000003
【図１３】
0005582019.tif 000004
【図１４】
0005582019.tif 000005
【図２】
0005582019.tif 000006
【図３】
0005582019.tif 000007
【図４】
0005582019.tif 000008
【図５】
0005582019.tif 000009
【図６】
0005582019.tif 000010
【図７】
0005582019.tif 000011
【図８】
0005582019.tif 000012
【図９】
0005582019.tif 000013
【図１０】
0005582019.tif 000014
【図１１】
0005582019.tif 000015