(57)【要約】【課題】  更なる消費電力削減を図り、且つ、処理に係る負荷を軽減し、高速にイントラ予測符号化を行なう。【解決手段】  相関指標値算出部１０３は、着目画素ブロックに隣接する画素ブロック中の複数の画素データから、着目画素ブロックの予測モードを決定するための指標値を算出する。予測モード決定部１０４は、指標値に基づき予測モードを決定し、決定した予測モードに従い、その決定した予測モードを示す情報を予測誤差算出部１０５に出力する。予測誤差算出部１０５は、内部の予測誤差演算部１０５−０、１０５−１、１０５−２のうち、入力した予測モードで特定される１つをアクティブにし、予測誤差演算を行なわせる。そして、決定した予測モードを示す情報と、決定した予測誤差演算部で演算された予測誤差を符号化部に出力する。【選択図】  図１
2009218827.tif 000002
【特許請求の範囲】
【請求項１】
入力したピクチャから、複数画素で構成される画素ブロック単位に、ピクチャ内の画素を参照して予測誤差を算出し、当該予測誤差を符号化手段に供給することで符号化を行なう画像符号化装置であって、
符号化対象のピクチャの画像データを記憶する記憶手段と、
符号化対象の着目画素ブロック内の各画素の予測値を算出するために参照する参照画素を得るため、前記着目画素ブロックに隣接し、既に前記符号化手段で符号化された画素ブロックを復号する復号手段と、
前記復号手段で復号して得られた前記着目画素ブロックに隣接する画素ブロック中の複数の画素データから、前記着目画素ブロックの予測モードを決定するための指標値を算出する算出手段と、
前記着目画素ブロック内の各画素データに対する予測値を前記参照画素に基づいて算出し、前記着目画素ブロック内の各画素データの予測誤差を演算する予測誤差演算手段であって、複数の予測モードそれぞれに対応する複数の予測誤差演算手段と、
前記算出手段で算出した指標値に基づき予測モードを決定し、決定した予測モードに従い、前記複数の予測誤差演算手段の１つをアクティブにし、得られた予測誤差を前記符号化手段に出力させる予測モード決定手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記予測モードには、垂直方向予測モード、水平方向予測モード、平均値予測モードが含まれることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記算出手段は、前記着目画素ブロックの上に隣接する画素ブロックの最下の行を構成する複数の画素の相関を示す指標値Ｇｒａｄ＿Ｈと、前記着目画素ブロックの左に隣接する画素ブロックの最右端の列を構成する複数の画素の相関を示す指標値Ｇｒａｄ＿Ｖを算出し、
前記予測モード決定手段は、前記指標値Ｇｒａｄ＿Ｈ、Ｇｒａｄ＿Ｖに基づき、前記着目画素ブロックの予測モードを決定することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
入力したピクチャから、複数画素で構成される画素ブロック単位に、ピクチャ内の画素を参照して予測誤差を算出し、当該予測誤差を符号化手段に供給することで符号化を行なう画像符号化装置であって、
符号化対象のピクチャの画像データを記憶する記憶手段と、
符号化対象の着目画素ブロック内の各画素の予測値を算出するために参照する参照画素を得るため、前記着目画素ブロックに隣接し、既に前記符号化手段で符号化された画素ブロックを復号する復号手段と、
前記復号手段で復号して得られた前記着目画素ブロックに隣接する画素ブロック中の複数の画素データから、前記着目画素ブロックに対する１以上の予測モードの候補を決定するための指標値を算出する算出手段と、
前記着目画素ブロック内の各画素データに対する予測値を前記参照画素に基づいて算出し、前記着目画素ブロック内の各画素データの予測誤差を演算する予測誤差演算手段であって、複数の予測モードに対応する複数の予測誤差演算手段と、
前記複数の予測誤差演算手段の中の、前記算出手段で算出した指標値で特定された、１以上の予測モードの予測誤差演算手段のみをアクティブにし、予測誤差演算を行なわせる予測モード仮決定手段と、
該予測モード仮決定手段にてアクティブになった予測誤差演算手段で前記着目画素ブロック内の予測誤差の合計値が最小となった予測誤差演算手段の予測モードを、前記着目画素ブロックの予測モードとして決定し、当該決定された予測モードの予測誤差演算手段で得られた予測誤差を、前記符号化手段に出力する予測モード決定手段と
を備えることを特徴とする画像符号化装置。
【請求項５】
前記画素ブロックは、４×４画素ブロックであって、
前記複数の予測誤差演算手段のそれぞれは、４×４画素ブロックの全予測モードのそれぞれに対応し、
前記算出手段は、前記着目画素ブロックの上に隣接する画素ブロックの最下の行を構成する複数の画素の相関を示す指標値Ｇｒａｄ＿Ｈと、前記着目画素ブロックの左に隣接する画素ブロックの最右端の列を構成する複数の画素の相関を示す指標値Ｇｒａｄ＿Ｖを算出し、
前記予測モード仮決定手段は、前記指標値Ｇｒａｄ＿Ｈ、Ｇｒａｄ＿Ｖに基づき、予測モードの候補として、｛予測モード２｝、｛予測モード０、３、４、５、６、７｝、｛予測モード１、４、５、６、８｝のいずれか１つを決定する
ことを特徴とする請求項４に記載の画像符号化装置。
【請求項６】
入力したピクチャから、複数画素で構成される画素ブロック単位に、ピクチャ内の画素を参照して予測誤差を算出し、当該予測誤差を符号化手段に供給することで符号化を行なう画像符号化装置の制御方法であって、
符号化対象のピクチャの画像データを記憶手段に格納する工程と、
符号化対象の着目画素ブロック内の各画素の予測値を算出するために参照する参照画素を得るため、前記着目画素ブロックに隣接し、既に前記符号化手段で符号化された画素ブロックを復号する復号工程と、
前記復号工程で復号して得られた前記着目画素ブロックに隣接する画素ブロック中の複数の画素データから、前記着目画素ブロックの予測モードを決定するための指標値を算出する算出工程と、
前記着目画素ブロック内の各画素データに対する予測値を前記参照画素に基づいて算出し、前記着目画素ブロック内の各画素データの予測誤差を演算する予測誤差演算工程であって、複数の予測モードそれぞれに対応する複数の予測誤差演算工程と、
前記算出工程で算出した指標値に基づき予測モードを決定し、決定した予測モードに従い、前記複数の予測誤差演算工程の１つをアクティブにし、得られた予測誤差を前記符号化手段に出力させる予測モード決定工程と
を備えることを特徴とする画像符号化装置の制御方法。
【請求項７】
入力したピクチャから、複数画素で構成される画素ブロック単位に、ピクチャ内の画素を参照して予測誤差を算出し、当該予測誤差を符号化手段に供給することで符号化を行なう画像符号化装置の制御方法であって、
符号化対象のピクチャの画像データを記憶手段に格納する工程と、
符号化対象の着目画素ブロック内の各画素の予測値を算出するために参照する参照画素を得るため、前記着目画素ブロックに隣接し、既に前記符号化手段で符号化された画素ブロックを復号する復号工程と、
前記復号工程で復号して得られた前記着目画素ブロックに隣接する画素ブロック中の複数の画素データから、前記着目画素ブロックに対する１以上の予測モードの候補を決定するための指標値を算出する算出工程と、
前記着目画素ブロック内の各画素データに対する予測値を前記参照画素に基づいて算出し、前記着目画素ブロック内の各画素データの予測誤差を演算する予測誤差演算工程であって、複数の予測モードに対応する複数の予測誤差演算工程と、
前記複数の予測誤差演算工程の中の、前記算出工程で算出した指標値で特定された、１以上の予測モードの予測誤差演算工程のみをアクティブにし、予測誤差演算を行なわせる予測モード仮決定工程と、
該予測モード仮決定工程にてアクティブになった予測誤差演算工程で前記着目画素ブロック内の予測誤差の合計値が最小となった予測誤差演算工程の予測モードを、前記着目画素ブロックの予測モードとして決定し、当該決定された予測モードの予測誤差演算工程で得られた予測誤差を、前記符号化手段に出力する予測モード決定工程と
を備えることを特徴とする画像符号化装置の制御方法。
【請求項８】
コンピュータに読み込ませ、実行させることで、前記コンピュータを、請求項１乃至５のいずれか１項に記載の画像符号化装置として機能させることを特徴とするコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの符号化技術、特に、動画像のイントラ符号化技術に関するものである。
【背景技術】
【０００２】
動画像を圧縮する場合、一般的に画像データを輝度成分と色差成分とに分けて符号化する。国際標準技術では、動画像を輝度と色相成分とに分けて符号化してもいる。
【０００３】
先ず、在るピクチャ（フレーム）を他のピクチャを参照せずに単独に符号化する。そして、このピクチャを参照して、時間上の以降に入力されるピクチャを動きの予測および補償を利用して予測符号化する。他のピクチャを参照せずに符号化することをイントラ符号化、他のピクチャを参照して動きの予測および補償を利用して符号化することをインター符号化と呼んでいる。
【０００４】
イントラ符号化およびインター符号化は、全て離散コサイン変換（Discrete Cosine Transformation:通称ＤＣＴ）処理、量子化処理、そしてエントロピー符号化を行なうことで損失圧縮（非可逆符号化）される。イントラ符号化では、他のピクチャを参照せず、そのピクチャ内で予測符号化（画面内予測符号化）が利用されている。
【０００５】
ＩＳＯ／ＩＥＣ（International Organization for Standardization/International Electronichal Commison）勧告のＭＰＥＧ（Motion Picture Expert Group）−４、及び、ＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Standerdization）のＨ．２６３＋による動画像圧縮技術が知られている。これによると、イントラ符号化で画面内予測をするときに垂直方向８画素、水平方向８画素（以下、８×８画素と表記する）単位のブロックを設定し、各ブロックをＤＣＴ変換を行ない、このＤＣＴ変換で得られた係数を量子化する。そして、量子化後のＤＣ（Direct Current；直流成分）値およびＡＣ（Alternation Current；交流成分）値を、周辺ブロックのＤＣ値およびＡＣ値を参照して予測符号化することによって圧縮効率を上げている。
【０００６】
また、２００３年３月、ＩＳＯ／ＩＥＣ  ＭＰＥＧとＩＴＵ−Ｔ  ＶＣＥＧ（Video Coding Experts Group）が共同で、ＪＶＴ（Joint Video Team）を組織して新しいビデオ符号化標準の勧告を行った。ＩＳＯ／ＩＥＣの勧告では、ＭＰＥＧ−４  Ｐａｒｔ１０／ＡＶＣ（Advanced Video Coding）という名称であり、ＩＴＵ−ＴではＨ．２６４という名称で知られている。この勧告には、イントラ符号化するときに画面内予測方法を使用して圧縮する技術を含んでいる。この技術では、輝度成分と色差成分とに各々異なるサイズのブロック単位および画面内予測方法を使用する。輝度成分は、４×４画素ブロック又は１６×１６画素ブロック単位で予測するものである。４×４画素ブロックの場合、予測方向によって９つの予測方法が定義されており、１６×１６画素ブロックの場合には予測方向によって４つの予測方法が定義されている。各ブロック単位における予測方向は、予測モードと呼ばれる番号と一対一の関係となっている。
【０００７】
図２は４×４画素ブロックを単位に符号化する際の予測モードと予測方向の関係を示している。４×４画素ブロックの予測モードは０〜８の数字で表現されており、予測方向番号“２”は平均値予測になっている。
【０００８】
図３は４×４画素ブロックのブロックの図であり、１つのマス目は１画素を表しており、大文字で表記されている画素Ａ、Ｂ、Ｃ、…は参照画素、小文字で表記されている画素ａ、ｂ、ｃ、…は、着目ブロック内の符号化対象画素である。参照画素Ａ、Ｂ、Ｃ、…の輝度値をＰ（Ａ）、Ｐ（Ｂ）、Ｐ（Ｃ）、・・・、符号化対象画素ａ、ｂ、ｃ、…の予測値をＰｒｅｄ（ａ）、Ｐｒｅｄ（ｂ）、Ｐｒｅｄ（ｃ）、・・・と表すと、４×４画素ブロックの予測モードと、予測値は次のように表せる。
【０００９】
なお、Ｐｒｅｄ（ＡＬＬ）はブロック内の全画素（４×４の１６画素）の予測値を示し、「＞＞ｉ」は右にｉビットシフト演算（下位ビットへのｉビットシフト）を行うことを示している。従って、Ｎ＞＞１は値Ｎを右方向に１ビットシフトすることになり、結果、これはＮ／２1（但し小数点以下切り捨て）を算出することと等価である。また、Ｎ＞＞２は、Ｎ／２2＝Ｎ／４（小数点以下切り捨て）を算出することと等価である。従って、例えば「（Ｎ＋１）＞＞１」は、小数点切り上げのＮ／２を算出することと等価となる。
【００１０】
４×４画素ブロックのスキャン順は、画像の左上隅を起点とする画素ブロックを単位としたラスタースキャン順である。それ故、画像中の画素や画素ブロックの座標は、左上隅の位置を原点（０，０）とし、水平右方向をｘ座標、垂直下方向をｙ座標として定義されていることは良く知られていることでもある。従って、ピクチャの先頭の画素ブロックとは、画像の左上隅にある画素ブロックを意味する。
＜４×４画素ブロックの予測モード“０”＞
Pred(a)＝Pred(e)＝Pred(i)＝Pred(m)＝P(A)
Pred(b)＝Pred(f)＝Pred(j)＝Pred(n)＝P(B)
Pred(c)＝Pred(g)＝Pred(k)＝Pred(o)＝P(C)
Pred(d)＝Pred(h)＝Pred(l)＝Pred(p)＝P(D)
【００１１】
＜４×４画素ブロックの予測モード“１”＞
Pred(a)＝Pred(b)＝Pred(c)＝Pred(d)＝P(I)
Pred(e)＝Pred(f)＝Pred(g)＝Pred(h)＝P(J)
Pred(i)＝Pred(j)＝Pred(k)＝Pred(l)＝P(K)
Pred(m)＝Pred(n)＝Pred(o)＝Pred(p)＝P(L)
【００１２】
＜４×４画素ブロックの予測モード“２”＞
［４×４画素ブロックの位置がピクチャの先頭の場合］
Pred(ALL)＝１２８
［４×４画素ブロックの位置がピクチャの上端の場合］
Pred(ALL)＝｛P(I)＋P(J)＋P(K)＋P(L)＋２｝＞＞２
［ピクチャの左端の場合］
Pred(ALL)＝｛P(A)＋P(B)＋P(C)＋P(D)＋２｝＞＞２
［上記以外の場合］
Pred(ALL)＝｛P(A)＋P(B)＋P(C)＋P(D)＋P(I)＋P(J)＋P(K)＋P(L)＋４｝＞＞３
【００１３】
＜４×４画素ブロックの予測モード“３”＞
Pred(a)＝｛P(A)＋２P(B)＋P(C)＋２｝＞＞２
Pred(b)＝Pred(e)＝｛P(B)＋２P(C)＋P(D)＋２｝＞＞２
Pred(c)＝Pred(f)＝Pred(i)＝｛P(C)＋２P(D)＋P(E)＋２｝＞＞２
Pred(d)＝Pred(g)＝Pred(j)＝Pred(m)＝｛P(D)＋２P(E)＋P(F)＋２｝＞＞２
Pred(h)＝Pred(k)＝Pred(n)＝｛P(E)＋２P(F)＋P(G)＋２｝＞＞２
Pred(l)＝Pred(o)＝｛P(F)＋２P(G)＋P(H)＋２｝＞＞２
Pred(p)＝｛３P(G)＋P(H)＋２｝＞＞２
【００１４】
＜４×４画素ブロックの予測モード“４”＞
Pred(a)＝Pred(f)＝Pred(k)＝Pred(p)＝｛P(A)＋２P(M)＋P(I)＋２｝＞＞２
Pred(b)＝Pred(g)＝Pred(i)＝｛P(M)＋２P(A)＋P(B)＋２｝＞＞２
Pred(c)＝Pred(h)＝｛P(A)＋２P(B)＋P(C)＋２｝＞＞２
Pred(d)＝｛P(C)＋２P(D)＋P(E)＋２｝＞＞２
Pred(e)＝Pred(j)＝Pred(o)＝｛P(M)＋２P(I)＋P(J)＋２｝＞＞２
Pred(i)＝Pred(n)＝｛P(I)＋２P(J)＋P(K)＋２｝＞＞２
Pred(m)＝｛P(J)＋２P(K)＋P(L)＋２｝＞＞２
【００１５】
＜４×４画素ブロックの予測モード“５”＞
Pred(a)＝Pred(j)＝｛P(M)＋P(A)＋１｝＞＞１
Pred(b)＝Pred(k)＝｛P(A)＋P(B)＋１｝＞＞１
Pred(c)＝Pred(l)＝｛P(B)＋P(C)＋１｝＞＞１
Pred(d)＝｛P(C)＋P(D)＋１｝＞＞１
Pred(f)＝Pred(o)＝｛P(M)＋２P(A)＋P(B)＋２｝＞＞２
Pred(g)＝Pred(p)＝｛P(A)＋２P(B)＋P(C)＋２｝＞＞２
Pred(h)＝｛P(B)＋２P(C)＋P(D)＋２｝＞＞２
Pred(e)＝Pred(n)＝｛P(I)＋２P(M)＋P(A)＋２｝＞＞２
Pred(i)＝｛P(J)＋２P(I)＋P(M)＋２｝＞＞２
Pred(m)＝｛P(K)＋２P(J)＋P(I)＋２｝＞＞２
【００１６】
＜４×４画素ブロックの予測モード“６”＞
Pred(a)＝Pred(g)＝｛P(M)＋P(I)＋１｝＞＞１
Pred(e)＝Pred(k)＝｛P(I)＋P(J)＋１｝＞＞１
Pred(i)＝Pred(o)＝｛P(J)＋P(K)＋１｝＞＞１
Pred(m)＝｛P(K)＋P(L)＋１｝＞＞１
Pred(f)＝Pred(l)＝｛P(M)＋２P(I)＋P(J)＋２｝＞＞２
Pred(j)＝Pred(p)＝｛P(I)＋２P(J)＋P(K)＋２｝＞＞２
Pred(n)＝｛P(J)＋２P(K)＋P(L)＋２｝＞＞２
Pred(b)＝Pred(h)＝｛P(A)＋２P(M)＋P(I)＋２｝＞＞２
Pred(c)＝｛P(B)＋２P(A)＋P(M)＋２｝＞＞２
Pred(d)＝｛P(C)＋２P(B)＋P(A)＋２｝＞＞２
【００１７】
＜４×４画素ブロックの予測モード“７”＞
Pred(a)＝｛P(A)＋P(B)＋１｝＞＞１
Pred(b)＝Pred(ｉ)＝｛P(B)＋P(C)＋１｝＞＞１
Pred(c)＝Pred(ｊ)＝｛P(C)＋P(D)＋１｝＞＞１
Pred(d)＝Pred(ｋ)＝｛P(D)＋P(E)＋１｝＞＞１
Pred(l)＝｛P(E)＋P(F)＋１｝＞＞１
Pred(e)＝｛P(A)＋２P(B)＋P(C)＋２｝＞＞２
Pred(f)＝Pred(m)＝｛P(B)＋２P(C)＋P(D)＋２｝＞＞２
Pred(g)＝Pred(n)＝｛P(C)＋２P(D)＋P(E)＋２｝＞＞２
Pred(h)＝Pred(o)＝｛P(D)＋２P(E)＋P(F)＋２｝＞＞２
Pred(p)＝｛P(E)＋２P(F)＋P(G)＋２｝＞＞２
【００１８】
＜４×４画素ブロックの予測モード“８”＞
Pred(a)＝｛P(I)＋P(J)＋１｝＞＞１
Pred(e)＝Pred(c)＝｛P(J)＋P(K)＋１｝＞＞１
Pred(i)＝Pred(g)＝｛P(K)＋P(L)＋１｝＞＞１
Pred(b)＝｛P(I)＋２P(J)＋P(K)＋２｝＞＞２
Pred(f)＝Pred(d)＝｛P(J)＋２P(K)＋P(L)＋２｝＞＞２
Pred(j)＝Pred(h)＝｛P(J)＋３P(K)＋２｝＞＞２
Pred(k)＝Pred(l)＝Pred(m)＝Pred(n)＝Pred(o)＝Pred(p)＝P(L)
【００１９】
また、１６×１６画素ブロックの場合の予測モードには、モード０乃至３がある。１６×１６画素予測モード０は垂直予測、１６×１６画素ブロック予測モード１は水平予測、１６×１６画素ブロック予測モード２は平均値予測、１６×１６画素ブロック予測モード３は平面予測となっている。図４に１６×１６のブロックの図を示す。画素（ｘ,ｙ）の画素値をＰ（ｘ,ｙ）、画素（ｘ,ｙ）に対する予測値をＰｒｅｄ（ｘ,ｙ）と表すと、各予測方向に対して予測値は次のように表せる。
【００２０】
＜１６×１６画素ブロックの予測モード“０”＞
Pred(x,y)＝P(x,−１)  (ｘ＝０〜１５,ｙ＝０〜１５)
＜１６×１６画素ブロックの予測モード“１”＞
Pred(x,y)＝P(−１,y)  (ｘ＝０〜１５,ｙ＝０〜１５)
＜１６×１６画素ブロックの予測モード“２”＞
［ピクチャの先頭の場合］
Pred(x,y)＝１２８  (ｘ＝０〜１５,ｙ＝０〜１５)
［ピクチャの上端の場合］
Pred(x,y)＝｛ΣP(−１,y)＋８｝＞＞４  (ｘ＝０〜１５,ｙ＝０〜１５)
［ピクチャの左端の場合］
Pred(x,y)＝｛ΣP(x,−１)＋８｝＞＞４  (ｘ＝０〜１５,ｙ＝０〜１５)
［上記以外の場合］
Pred(x,y)＝｛ΣP(x,−１)＋ΣP(−１,y)＋１６｝＞＞５  (ｘ＝０〜１５,ｙ＝０〜１５)
＜１６×１６画素ブロックの予測モード“３”＞
Pred(x,y)＝｛ａ＋ｂ×(ｘ−７)＋ｃ×(ｙ−７)＋１６｝＞＞５
ａ＝１６×｛(P(−１,１５)＋P(１５,−１))
ｂ＝(５×Ｈ＋３２)＞＞６
ｃ＝(５×Ｖ＋３２)＞＞６
Ｈ＝P(８,−１)−P(６,−１)＋P(９,−１)−P(５,−１)＋P(１０,−１)−P(４,−１)＋P(１１,−１)−P(３,−１)＋P(１２,−１)−P(２,−１)−P(１３,−１)−P(１,−１)＋P(１４,−１)−P(０,−１)＋P(１５,−１)−P(−１,−１)
Ｖ＝P(−１,８)−P(−１,６)＋P(−１,９)−P(−１,５)＋P(−１,１０)−P(−１,４)＋P(−１,１１)−P(−１,３)＋P(−１,１２)−P(−１,２)−P(−１,１３)−P(−１,１)＋P(−１,１４)−P(−１,０)＋P(−１,１５)−P(−１,−１)
【００２１】
上記において、予測モードの数値が小さい程、予測に選択される頻度が高いとされている。
【００２２】
また、色差成分の場合には、４つの予測方向を使用するが、ブロックサイズは８×８画素のブロックを使用する。ただし、色差成分の８×８で予測する方法は、輝度成分で１６×１６を使用して予測する方法とは予測モードの番号と予測方向が異なる。すなわち、色差成分の８×８画素ブロック予測におけるintra_Chroma_Pred_mode＝０は平均値予測である。また、intra_Chroma_Pred_mode＝１は水平予測、intra_Chroma_Pred_mode＝２は垂直予測、そして、intra_Chroma_Pred_mode＝３は平面予測となっている。図５に８×８画素のブロック図を示す。１６×１６画素ブロックのときと同様に、各予測モードにおける予測値は次のように算出される。
【００２３】
＜intra_chroma_pred_mode＝０＞
［ピクチャの先頭の場合］
Pred(x,y)＝１２８  (x＝０〜７, y＝０〜７）
［ピクチャの上端の場合］
Pred(x,y)＝｛ΣP(−１,y)＋２｝＞＞２  (ｘ＝０〜７, ｙ＝０〜７)
［ピクチャの左端の場合］
Pred(x,y)＝｛ΣP(x,−１）＋２｝＞＞２  (ｘ＝０〜７, ｙ＝０〜７)
［上記以外の場合］
Pred(x,y)＝｛ΣP(x,−１)＋ΣP(−１,y)＋４｝＞＞３  (ｘ＝０〜７, ｙ＝０〜７)
【００２４】
＜intra_chroma_pred_mode＝１＞
Pred(x,y)＝P(-1,y)  (ｘ＝０〜７, ｙ＝０〜７）
【００２５】
＜intra_chroma_pred_mode＝２＞
Pred(x,y)＝P(x,−１)  (x＝０〜７, ｙ＝０〜７)
【００２６】
＜intra_chroma_pred_mode＝３＞
Pred(x,y)＝｛a＋b×(x−３)＋ｃ×(y−3)＋１６｝＞＞５ (ｘ＝０〜７,ｙ＝０〜７)
a＝１６×｛(P(-1,7)＋P(7,-1))}
b＝(１７×H＋１６)＞＞５
c＝(１７×V＋１６)＞＞５
H＝P(４,−１)−P(２,−１)＋２P(5,-1)−２P(１,−１)＋３P(６,−１)−３P(０,−１)＋４P(７,−１)−４P(−１,−１)
V＝P(−１,４)−P(−１,２)＋２P(−１,５)−２P(-1,1)＋３P(−１,６)−３P(−１,０)＋４P(−１,７)−４P(−１,−１)
【００２７】
さらに、ＪＶＣでは、静止画像符号化処理も含めた、Ｈ．２６４／ＡＶＣ  Ｆｉｄｅｌｉｔｙ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎｓ  Ａｍｅｎｄｍｅｎｔも策定中である。この修正案では、輝度成分での８×８画素ブロックを使用する画面内予測方法が提案されている。輝度成分で８×８画素ブロックを使用して予測する方法では４×４画素ブロックを使用して予測する方法と同様に、予測方向によって９つの予測方法があり、予測モードと予測方向は４×４画素ブロックの場合と同じである。予測値も４×４画素ブロックの場合と同様に算出する。
【００２８】
このように、イントラ予測には多くの予測モードが規定されているが、どの予測モードを使用すれば効率が良いかを選択する方法は勧告では規定されていない。実際に最も効率の良いブロックサイズと予測方向を決定するには、全ての予測モードで一旦予測した結果から最も効率の良い予測モードに決定する方法が考えられる。しかし、全ての予測モードで一旦予測する構成にしてしまうと、各予測モードの回路が常時稼働状態となり、消費電力アップになる。また、ソフトウェアにて処理する場合にも、各予測モードの予測誤差を算出するため、ＣＰＵにかかる負担は増大し、消費電力アップ、更には、高速な符号化が望めない。
【００２９】
そこで、特許文献１には、予測モードを決定する技術として次のような提案がなされている。先ず、符号化対象ブロックに属する画素から符号化対象ブロックに対する相関方向を算出し、相関方向に応じて予測モードを限定する。そして、限定された予測モードの中で一旦予測を行って最も効率の良い予測モードを決定するものである。
【特許文献１】特開２００４−３０４７２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
しかし、上記特許文献１では、符号化効率は全ての予測モードを一旦予測する方法に比べて、ある程度は処理負荷を低減できるものの、予測モードを決定する際に多くの処理を必要とし、消費電力アップとなり、処理速度についてもまだまだ改善の余地が残る。
【００３１】
本発明は、かかる問題点に鑑みなされたものであり、更なる消費電力削減を図り、且つ、処理に係る負荷を軽減し、高速にイントラ予測符号化を行なう技術を提供しようとするものである。
【課題を解決するための手段】
【００３２】
かかる課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
入力したピクチャから、複数画素で構成される画素ブロック単位に、ピクチャ内の画素を参照して予測誤差を算出し、当該予測誤差を符号化手段に供給することで符号化を行なう画像符号化装置であって、
符号化対象のピクチャの画像データを記憶する記憶手段と、
符号化対象の着目画素ブロック内の各画素の予測値を算出するために参照する参照画素を得るため、前記着目画素ブロックに隣接し、既に前記符号化手段で符号化された画素ブロックを復号する復号手段と、
前記復号手段で復号して得られた前記着目画素ブロックに隣接する画素ブロック中の複数の画素データから、前記着目画素ブロックの予測モードを決定するための指標値を算出する算出手段と、
前記着目画素ブロック内の各画素データに対する予測値を前記参照画素に基づいて算出し、前記着目画素ブロック内の各画素データの予測誤差を演算する予測誤差演算手段であって、複数の予測モードそれぞれに対応する複数の予測誤差演算手段と、
前記算出手段で算出した指標値に基づき予測モードを決定し、決定した予測モードに従い、前記複数の予測誤差演算手段の１つをアクティブにし、得られた予測誤差を前記符号化手段に出力させる予測モード決定手段とを備える。
【発明の効果】
【００３３】
本発明によれば、更なる消費電力削減を図り、且つ、処理に係る負荷を軽減し、高速にイントラ予測符号化を行なうことが可能になる。
【発明を実施するための最良の形態】
【００３４】
以下、添付図面に従って、本発明にかかる実施形態を詳細に説明する。
【００３５】
［第１の実施形態］
図１３は本発明を適用した画像符号化装置におけるイントラ符号化にかかる構成図である。インター符号化については、公知の構成を採用するものとし、その説明は省略する。
【００３６】
本装置は、予測誤差算出部１００、符号化部２００、局所復号部３００を有する。
【００３７】
予測誤差算出部１００（詳細後述）は、入力した複数のフレーム（ピクチャ）中のイントラ符号化すべきピクチャ（以下、画像データという）について、画素ブロック単位に、予測モードの決定処理と、その予測モードにおける予測誤差を算出する。そして、予測誤差算出部１００は、決定した予測モードを示す予測モード情報、及び、予測誤差情報を符号化部２００に出力する。符号化部２００は、予測誤差算出部１００からの画素ブロック単位に符号化処理（量子化、エントロピー符号化）を行なって符号化データを生成する。そして、符号化部２００は、予測モード情報を格納したブロックヘッダを生成し、それに後続して画素ブロックの符号化データを外部（例えばハードディスク）に出力すると共に、局所復号部３００にも同データを出力する。局所復号部３００は、符号化部２００からの符号化データを、画素ブロック単位に復号し、その復号して得られた画素ブロックの画像データを予測誤差算出部１００に、出力する。この復号した画像データが予測誤差算出部１００に出力されるのは、予測誤差算出部１００が、注目画素ブロック内の各画素の予測値を、その注目ブロックに隣接する、符号化済みの領域の画素値を参照して算出するためである。
【００３８】
次に、実施形態における特徴となる予測誤差算出部１００について説明する。なお、説明を簡単なものとするため、実施形態ではイントラ符号化対象のピクチャ（画像データ）は、輝度成分のみのモノクロ画像として説明する。また、実施形態での複数画素で構成される画素ブロックを４×４画素ブロックとし、予測モードとしてモード０乃至２について説明する。
【００３９】
先ず、図６のフローチャートに従い、予測誤差算出部１００の処理内容を説明する。以下は、１ピクチャのイントラ符号化処理における予測誤差算出部１００の処理である。
【００４０】
予測誤差算出部１００は、ステップＳ１にて、着目４×４画素ブロックに隣接し、既に符号化された画素データ（局所復号部３００で復号した画像データ中の画素データ）を参照して、着目画素ブロックの隣接する領域の相関指標値を算出する。そして、予測誤差算出部１００は、ステップＳ２にて、算出した相関指標値に基づき、着目画素ブロックに対する予測モード０乃至２（垂直方向予測モード、水平方向予測モード、平均値予測モード）の中から、１つを決定する。次に、ステップＳ３にて、決定した予測モードに従い、着目画素ブロック内の各画素（図３の画素ａ乃至ｐ）の予測誤差を算出し、その予測誤差（４×４個）と、決定した予測モードを符号化部２００に出力する。そして、ステップＳ４にて、イントラ符号化しようとする最終画素ブロックまで上記処理を行なったか否かを判定し、否の場合にはステップＳ１以降の処理を繰り返す。
【００４１】
図１に、実施形態における予測誤差算出部１００のブロック構成図を示す。
【００４２】
図１に示すように、予測誤差算出部１００は、参照画素記憶部１０１、ピクチャ記憶部１０２、相関指標値算出部１０３、予測モード決定部１０４、予測部１０５、及び、スイッチ１０６を備える。
【００４３】
ピクチャ記憶部１０２には、イントラ符号化しようとしている１ピクチャ分の画像データを記憶する容量を有する。そして、ピクチャ記憶部１０２に格納された画像データは、予測誤差の算出のために、４×４画素ブロックを単位に、ラスタースキャン順に読み出される。
【００４４】
また、参照画素記憶部１０１は、着目４×４画素ブロックの予測誤差算出の際に、既に符号化済みの隣接する画素ブロックの復号結果を記憶する容量を有する。
【００４５】
予測部１０５は、予測誤差演算部１０５−０乃至１０５−２を備える。ここでハイフンに続く数字は、４×４画素ブロックの予測モードの番号に対応する。予測部１０５は、後述するように、予測モード決定部１０４で決定した予測モードに応じて、予測誤差演算部１０５−０乃至１０５−２の１つをアクティブにし、予測誤差算出を行なわせる。
【００４６】
例えば、予測誤差演算部１０５−０は、４×４画素ブロックの予測モード０に従って、注目４×４画素ブロック内の各画素の予測誤差を算出し、４×４個の予測誤差を出力する。４×４画素ブロック内の予測誤差を算出しようとしている画素を、図３に習って、ａ乃至ｐとし、着目画素ブロックに隣接する画素ブロック中の画素（局所復号部３００で復号され、参照画素記憶部１０１に格納された画素）をＡ乃至Ｍとする。そして、各画素値をＰ（）と表現した場合、予測誤差演算部１０５−０は、次のようにして予測誤差算出を行なう。
【００４７】
画素ａ，ｅ，ｉ，ｍのそれぞれについては、Ｐ（Ａ）を予測値として、それぞれの予測誤差を算出する。画素ｂ，ｆ，ｊ，ｎのそれぞれについては、Ｐ（Ｂ）を予測値として、それぞれの予測誤差を算出する。画素ｃ，ｇ，ｋ，ｏそれぞれについては、Ｐ（Ｃ）を予測値として、それぞれの予測誤差を算出する。そして、画素ｄ，ｈ，ｌ，ｐのそれぞれについては、Ｐ（Ｄ）を予測値として、それぞれの予測誤差を算出する。
【００４８】
同様に、予測誤差演算部１０５−１は、４×４画素ブロックの予測モード１に従って、注目４×４画素ブロック内の各画素の予測誤差を算出し、４×４個の予測誤差を出力する。また、予測誤差演算部１０５−２は、４×４画素ブロックの予測モード２に従って、注目４×４画素ブロック内の各画素の予測誤差を算出し、４×４個の予測誤差を出力する。なお、４×４画素ブロックの予測モード１、２における予測値の算出は、既に説明しているので、ここでは省略する。
【００４９】
相関指標値算出部１０３は、図３を参照して、着目画素ブロックの真上に位置する画素ブロックの最下行の画素Ａ，Ｂ，Ｃ，Ｄと、着目画素ブロックの左隣（直前に符号化した画素ブロック）に位置する画素ブロックの最右端の列の画素Ｉ，Ｊ，Ｋ，Ｌを参照し、着目ブロックに対する水平、垂直方向の相関指標値を算出する。
【００５０】
水平方向の相関指標値をＧｒａｄ＿Ｈ、垂直方向の相関指標値をＧｒａｄ＿Ｖとすると、相関指標値算出部１０３は、例えば次式に従ってＧｒａｄ＿Ｈ、Ｇｒａｄ＿Ｖを算出する。
Ｇｒａｄ＿Ｈ＝｜Ｐ（Ｂ）−Ｐ（Ａ）｜＋｜Ｐ（Ｃ）−Ｐ（Ｂ）｜＋｜Ｐ（Ｄ）−Ｐ（Ｃ）｜
Ｇｒａｄ＿Ｖ＝｜Ｐ（Ｊ）−Ｐ（Ｉ）｜＋｜Ｐ（Ｋ）−Ｐ（Ｊ）｜＋｜Ｐ（Ｌ）−Ｐ（Ｋ）｜
（ここで、｜ｘ｜はｘの絶対値を意味する）
【００５１】
上記は、水平方向の同じ輝度の画素が連続すると、Ｇｒａｄ＿Ｈは小さな値となる。逆に、垂直方向に同じ輝度の画素が連続するとＧｒａｄ＿Ｖは小さな値となることが理解できよう。
【００５２】
相関指標値算出部１０３は、上記のようにして算出した相関指標値Ｇｒａｄ＿Ｈ、Ｇｒａｄ＿Ｖを予測モード決定部１０４に出力する。
【００５３】
予測モード決定部１０４は、入力された相関指標値Ｇｒａｄ＿Ｈ、Ｇｒａｄ＿Ｖに基づいて予測モードを決定する。この予測モード決定部１０４の予測モードの決定アルゴリズムの一例を図７に示すフローチャートに従って説明する。
【００５４】
先ず、ステップＳ１１では、参照すべき画素Ａ乃至Ｄ、及び、Ｉ乃至Ｌが存在するか否かを判定する。参照画素が存在しない場合というのは、着目ブロックが画像の上端、又は左端に位置する場合である。つまり、ステップＳ１１の判定は、着目画素ブロックの位置に基づく判定であると言える。参照画素が存在しない場合には、ステップＳ１２に進み、着目ブロックについては、予測モード２を利用するものとして決定し、その決定した予測モードを示す予測モード情報を、予測部１０５、スイッチ１０６、及び、符号化部２００に出力する。
【００５５】
この結果、予測部１０５は、予測誤差演算部１０５−２をアクティブにし、予測モード２の予測誤差の算出を行なわせる。すなわち、予測誤差算出部１０５−２は、参照画素記憶部１０１を参照して、着目画素ブロック内の予測値を求め、着目画素ブロック内の各画素ａ乃至ｐの予測誤差を算出し、スイッチ１０６に向けて出力する。スイッチ１０６は、予測モード決定部１０４からの予測モード情報に従い、予想誤差演算部１０５−２からの出力を選択することになり、予測誤差演算部１０５−２からの予測誤差（４×４個の予測誤差値）を、符号化部２００に出力することになる。
【００５６】
また、ステップＳ１１にて、参照すべき画素Ａ乃至Ｄ、及び、Ｉ乃至Ｌが存在すると判定した場合、ステップＳ１３に進み、相関指標値算出部１０３からの相関指標値Ｇｒａｄ＿Ｖと、予め設定された閾値とを比較する。「Ｇｒａｄ＿Ｖ＜閾値」であると判断した場合、すなわち、少なくとも着目画素の近傍領域では、垂直方向に相関性が高い画素が並んでいると判断した場合、ステップＳ１４に進む。ステップＳ１４では、着目ブロックについては、予測モード０を利用するものとして決定し、その決定した予測モードを示す予測モード情報を、予測部１０５、スイッチ１０６、及び、符号化部２００に出力する。
【００５７】
この結果、予測部１０５は、予測誤差演算部１０５−０をアクティブし、予測モード０の予測誤差を算出する。予測誤差算出部１０５−０は、この結果、参照画素記憶部１０１を参照して、着目画素ブロック内の予測値を求め、着目画素ブロック内の各画素ａ乃至ｐの予測誤差を算出し、スイッチ１０６に向けて出力する。スイッチ１０６は、予測モード決定部１０４からの予測モード情報に従い、予想誤差演算部１０５−０からの出力を選択することになり、予測誤差演算部１０５−０からの予測誤差（４×４個の予測誤差値）を、符号化部２００に出力することになる。
【００５８】
また、ステップＳ１３にて、「Ｇｒａｄ＿Ｖ≧閾値」と判断された場合には、ステップＳ１５に進み、相関指標値Ｇｒａｄ＿Ｈと、予め設定された閾値とを比較する。「Ｇｒａｄ＿Ｈ＜閾値」であると判断した場合、すなわち、少なくとも着目画素の近傍領域では、水平方向に相関性が高い画素が並んでいると判断した場合、ステップＳ１６に進む。ステップＳ１６では、着目ブロックについては、予測モード１を利用するものとして決定し、その決定した予測モードを示す予測モード情報を、予測部１０５、スイッチ１０６、及び、符号化部２００に出力する。
【００５９】
この結果、予測部１０５は、予測誤差演算部１０５−１をアクティブし、予測モード１の予測誤差を算出する。予測誤差算出部１０５−１は、この結果、参照画素記憶部１０１を参照して、着目画素ブロック内の予測値を求め、着目画素ブロック内の各画素ａ乃至ｐの予測誤差を算出し、スイッチ１０６に向けて出力する。スイッチ１０６は、予測モード決定部１０４からの予測モード情報に従い、予想誤差演算部１０５−１からの出力を選択することになり、予測誤差演算部１０５−１からの予測誤差（４×４個の予測誤差値）を、符号化部２００に出力することになる。
【００６０】
また、ステップＳ１５にて、「Ｇｒａｄ＿Ｈ≧閾値」と判断された場合には、ステップＳ１７に進む。ステップＳ１７では、着目ブロックについては、予測モード２を利用するものとして決定し、その決定した予測モードを示す予測モード情報を、予測部１０５、スイッチ１０６、及び、符号化部２００に出力する。
【００６１】
この結果、予測部１０５は、予測誤差演算部１０５−２をアクティブし、予測モード１の予測誤差を算出する。予測誤差算出部１０５−２は、この結果、参照画素記憶部１０１を参照して、着目画素ブロック内の予測値を求め、着目画素ブロック内の各画素ａ乃至ｐの予測誤差を算出し、スイッチ１０６に向けて出力する。スイッチ１０６は、予測モード決定部１０４からの予測モード情報に従い、予想誤差演算部１０５−２からの出力を選択することになり、予測誤差演算部１０５−２からの予測誤差（４×４個の予測誤差値）を、符号化部２００に出力することになる。
【００６２】
以上のように本実施形態によれば、着目画素ブロックの画素ではなく、それに隣接する、既に符号化された画素データを参照画素として、予測モードを決定する。従って、予測モードを決定する際には、着目画素ブロックの画素データを入力する以前に、予測モードを決定でき、しかも、実際に複数の予測誤差の算出を行なうのではないので、消費電力を削減しつつ、高速なイントラ符号化処理を実現することができる。
【００６３】
なお、実際に予測モード０乃至２の予測誤差を演算し、それから最も符号化効率の良い１つのモードを決定する場合と、本第１の実施形態との比較した結果を以下に説明する。
【００６４】
図１０は、予測モードの予測誤差を算出する場合のイントラ符号化装置の構成を示している。
【００６５】
図中、１１０１は参照画素、１１０２は入力ピクチャ、１００１は予測部、１００２はＳＡＤ算出部、１００３は予測誤差記憶部、１００４は予測モード決定部、１００５は予測誤差である。
【００６６】
以下、図１０の処理について説明する。参照画素１１０１と入力ピクチャ１１０２は予測部１００１に入力される。予測部１００１は入力された参照画素１１０１と入力ピクチャ１１０２より実装されているモード０乃至２について、予測誤差を算出する。このため、予測部１００１には、４×４画素ブロックのモード０乃至２の３個の予測誤差演算部１００１−０乃至１００１−２が設けられている。
【００６７】
各予測誤差演算部１００１−０乃至１００１−２で算出された予測誤差は、予測誤差記憶部１００３と、ＳＡＤ算出部１００２内に設けられたＳＡＤ演算部１００２−０乃至１００２−２に供給される。
【００６８】
ＳＡＤ演算部１００１−０乃至１００１−２は、入力された予測誤差に基づいて、対象ブロック内の予測誤差（４×４個の誤差）の絶対値和であるＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を算出する。算出されたＳＡＤは予測モード決定部１００４に供給される。
【００６９】
前記予測モード決定部１００４は、入力された３個のＳＡＤの中の、最も小さい予測モードがいずれであるのかを判定し、その判定結果を予測誤差記憶部１００３に出力する。予測誤差記憶部１００３は、入力された予測モード決定部１００４からの決定結果を受けて、予測誤差演算部１００１−０乃至１００１−２の１つの予測誤差を出力し、残りは破棄する。
【００７０】
上記図１０の構成と本実施形態との比較を図８、図９に示す。図８、図９は、異なるシーンについてのものである。図８、図９からもわかるように、ＰＳＮＲ（Peak Signal-to-Noise Ratio）については、図１０と本実施形態では同程度である。一方、１画素当たりのビット数（符号化効率）は、本実施形態は、図１０の構成に対して約０．１ビット程度増えてしまうが、十分にその値に匹敵する効率で符号化が望めるのがわかる。但し、図１０の構成と比較し、本実施形態の消費電力は遥かに小さくできる。実際に、ソフトウェアにて実験したところ、図１０の構成と等価の処置を行なうためには、１２３ステップを要するのに対し、本実施形態に従えば３５ステップ、つまり、約１／４の処理量となる。つまり、図１０の構成の場合、本実施形態と等価の速度を実現するためには、プロセッサのクロックは４倍にしなければならないことを意味し、消費電力がアップすることがわかる。これは、ハードウェアに実装した場合にも、そのまま反映されることは容易に理解できよう。
【００７１】
以上、説明したように本発明の符号化装置において、参照画素から相関指標値を算出し、相関指標値に基づいて予測モードを決定することにより、大幅に処理負荷を低減、もしくは、消費電力を削減しつつ、十分な符号化効率でイントラ符号化することが可能になる。
【００７２】
なお、実施形態では、符号化単位として４×４画素ブロックを例にしたが、１６×１６画素ブロック、８×８画素ブロックについても同様のことがいえるので、上記に限定されるものではない。
【００７３】
［第２の実施形態］
本第２の実施形態における装置構成は図１と同じである。第１の実施形態と異なる点は、相関指標値算出部１０３の算出と、予測モード決定部１０４のアルゴリズムである。
【００７４】
本第２の実施形態における相関指標値算出部１０３は、相関指標値Ｇｒａｄ＿ＨとＧｒａｄ＿Ｖを次のように算出する。
Ｇｒａｄ＿Ｈ＝｛Ｐ（Ｂ）−Ｐ（Ａ）｝＾２＋｛Ｐ（Ｃ）−Ｐ（Ｂ）｝＾２＋｛Ｐ（Ｄ）−Ｐ（Ｃ）｝＾２
Ｇｒａｄ＿Ｖ＝｛Ｐ（Ｊ）−Ｐ（Ｉ）｝＾２＋｛Ｐ（Ｋ）−Ｐ（Ｊ）｝＾２＋｛Ｐ（Ｌ）−Ｐ（Ｋ）｝＾２
ここで、Ｘ＾２は、Ｘの２乗を意味する。従って、算出される指標値Ｇｒａｄ＿Ｈ、Ｇｒａｄ＿Ｖは第１の実施形態と同様の指標値と見ることができる。
【００７５】
更に、本第２の実施形態における相関指標値算出部１０３、相関値Ｇｒａｄ＿Ｈ、Ｇｒａｄ＿Ｖから、相関値Ｇｒａｄを次式によって算出し、予測モード決定部１０４に出力する。
Ｇｒａｄ＝Ｇｒａｄ＿Ｈ／Ｇｒａｄ＿Ｖ
【００７６】
そして、予測モード決定部１０４は、予め設定された閾値Ｔｈ１、Ｔｈ２（但し、Ｔｈ２＞Ｔｈ１の関係にある）を用い、次のようにして予測モードを決定する。
・Ｇｒａｄ＿Ｈ、Ｇｒａｄ＿Ｖが算出できない場合（着目画素ブロックが画像の上端、もしくは左端に位置する場合）：予測モード２に決定
・Ｇｒａｄ＜Ｔｈ１の場合：予測モード０に決定
・Ｔｈ１≦Ｇｒａｄ＜Ｔｈ２の場合、予測モード２に決定
・Ｔｈ２≦Ｇｒａｄの場合、予測モード１に決定
【００７７】
上記の判定によっても、第１の実施形態とほぼ同様の効果を得ることができる。但し、本第２の実施形態の場合、輝度成分における４×４画素ブロック、８×８画素ブロックの場合でのみ適用可能である。
【００７８】
［第３の実施形態］
図１１は本第３の実施形態における予測誤差算出部１００の構成を示している。図中の参照符号１０１、１０２、１０３については、図１と同じであるので説明は省略する。注意したい点は、本第３の実施形態では、４×４画素ブロックの全予測モード（予測モード０乃至８）の個数の予測誤差演算部を有する点である。すなわち、予測誤差算出部１０５’内には、予測誤差演算部１０５−０乃至１０５−８が設けられている。また、ＳＡＤ算出部２００２には、ＳＡＤ演算部２００２−０乃至２００２−８が設けられている。各演算部のハイフンの後の数字は、予測モード０乃至８に対応する。また、本第３の実施形態では、仮の予測モードを決定し、その仮の予測モードで特定される、１以上の予測誤差演算部を稼働させるものである。
【００７９】
以下、本第３の実施形態の処理の流れを、図１２のフローチャートに従って説明する。
【００８０】
先ず、ステップＳ２１では、予測モード決定部２００１は、参照すべき画素Ａ乃至Ｄ、及び、Ｉ乃至Ｌが存在するか否かを判定する。参照画素が存在しない場合というのは、着目ブロックが画像の上端、又は左端に位置する場合である。つまり、ステップＳ２１の判定は、着目画素ブロックの位置に基づく判定であると言える。参照画素が存在しない場合には、ステップＳ２２に進み、着目ブロックについては、予測モード２を利用するものとして決定し、その旨の信号を予測誤差算出部１０５’、ＳＡＤ算出部２００２、及び、予測モード決定部２００４に出力する。なお、この場合、予測モードの候補は１つとなる。
【００８１】
この場合、予測誤差算出部１０５’は、内部の予測誤差演算部１０５−２のみをアクティブ（稼働）にする。
ＳＡＤ算出部２００２は、内部の全ＳＡＤ演算部２００２−０乃至２００２−８の全てをインアクティブ（非稼働）にする。この結果、予測誤差記憶部２００５には、予測誤差演算部１０５−２からの予測誤差（４×４個）が格納される。予測モード決定部２０４は、予測モード２が選択されたことを示す予測モード情報を符号化部２００に出力すると共に、予測誤差記憶部２００５に対して、予測誤差演算部１０５−２からの予測誤差（４×４個）を、符号化部２００に出力するよう制御する。
【００８２】
また、ステップＳ２１にて、参照すべき画素Ａ乃至Ｄ、及び、Ｉ乃至Ｌが存在すると判定した場合、ステップＳ２３に進み、予測モード仮決定部２００１は、相関指標値算出部１０３からの相関指標値Ｇｒａｄ＿Ｖと、予め設定された閾値とを比較する。
【００８３】
「Ｇｒａｄ＿Ｖ＜閾値」であると判断した場合、すなわち、少なくとも着目画素の近傍領域では、垂直方向に相関性が高い画素が並んでいると判断した場合、ステップＳ２４に進む。
【００８４】
ステップＳ２４では、着目ブロックについては、予測モード０、３、４、５、６、７に限定する信号を、予測誤差算出部１０５’、ＳＡＤ算出部２００２、及び、予測モード決定部２００４に出力する。つまり、この場合には、予測モードの候補は、６つになる。
【００８５】
ステップＳ２５では、予測モード０、３、４、５、６、７の中から最も効率の良い予測モードによる予測誤差を符号化部２００に出力する。具体的には、次の通りである。
予測誤差算出部１０５’は、内部の予測誤差演算部１０５−０、１０５−３、１０５−４、１０５−６、１０５−７のみをアクティブにし、それぞれにて予測誤差の演算を行なわせる。演算して得られた各予測誤差は予測誤差記憶部２００５に格納されると共に、ＳＡＤ算出部２００２に出力される。
【００８６】
ＳＡＤ算出部２００２は、内部のＳＡＤ演算部２００２−０、２００２−３、２００２−４、２００２−５、２００２−６、２００２−７のみをアクティブにする。この結果、ＳＡＤ演算部２００２−０、２００２−３、２００２−４、２００２−５、２００２−６、２００２−７は、アクティブになった予測誤差演算部からの予測誤差の絶対値の合計値を算出し、その結果をＳＡＤ記憶部２００３に格納する。
【００８７】
予測モード決定部２００４は、ＳＡＤ記憶部２００３に格納された、ＳＡＤ演算部２００２−０、２００２−３、２００２−４、２００２−５、２００２−６、２００２−７からの合計値のうち、最小となる合計値を検索し、その最小合計値を算出した予測モードを特定する。そして、特定した予測モードを示す情報を予測モード情報として符号化部２００に出力すると共に、予測誤差記憶部２００５に対して、該当する予測誤差を、予測誤差情報として符号化部２００に出力させる。
【００８８】
また、ステップＳ２３にて、予測モード仮決定部２００１は、「Ｇｒａｄ＿Ｖ≧閾値」であると判断した場合、すなわち、少なくとも着目画素の近傍領域では、垂直方向に相関性が低い画素が並んでいると判断した場合、ステップＳ２６に処理を進める。
【００８９】
また、ステップＳ２６では、予測モード仮決定部２００１は、「Ｇｒａｄ＿Ｈ＜閾値」であるか否かを判断する。すなわち、少なくとも着目画素の近傍領域では、水平方向に相関性が高い画素が並んでいるか否かを判断する。Ｇｒａｄ＿Ｈ＜閾値であると判断した場合には、ステップＳ２７に進む。
【００９０】
ステップＳ２７では、着目ブロックについては、予測モード１、４、５、６、８に限定する信号を、予測誤差算出部１０５’、ＳＡＤ算出部２００２、及び、予測モード決定部２００４に出力する。つまり、この場合の予測モードの候補は５つなる。
【００９１】
ステップＳ２８では、予測モード１、４、５、６、８の中から最も効率の良い予測モードによる予測誤差を符号化部２００に出力する。具体的には、次の通りである。
【００９２】
予測誤差算出部１０５’は、内部の予測誤差演算部１０５−１、１０５−４、１０５−５、１０５−６、１０５−８のみをアクティブにし、それぞれにて予測誤差の演算を行なわせる。演算して得られた各予測誤差は予測誤差記憶部２００５に格納されると共に、ＳＡＤ算出部２００２に出力される。
【００９３】
ＳＡＤ算出部２００２は、内部のＳＡＤ演算部２００２−１、２００２−４、２００２−５、２００２−６、２００２−８のみをアクティブにする。この結果、ＳＡＤ演算部２００２−１、２００２−４、２００２−５、２００２−６、２００２−８は、アクティブになった予測誤差演算部からの予測誤差の絶対値の和を算出し、その結果をＳＡＤ記憶部２００３に格納する。
【００９４】
予測モード決定部２００４は、ＳＡＤ記憶部２００３に格納された、ＳＡＤ演算部２００２−１、２００２−４、２００２−５、２００２−６、２００２−８からのＳＡＤ値のうち、最小となるＳＡＤを検索し、その最小ＳＡＤを算出した予測モードを特定する。そして、特定した予測モードを示す情報を予測モード情報として符号化部２００に出力すると共に、予測誤差記憶部２００５に対して、該当する予測誤差を、予測誤差情報として符号化部２００に出力させる。
【００９５】
また、ステップＳ２６にて、予測モード仮決定部２００１が、「Ｇｒａｄ＿Ｈ≧閾値」であると判断した場合には、ステップＳ２９に処理を進める。ステップＳ２９では、予測モード２を利用することを決定する。このステップＳ２９の処理は、先に説明したステップＳ２２と同じである。
【００９６】
以上説明したように本第３の実施形態によれば、第１の実施形態と比較し、消費電力、又は、処理が多少複雑になるものの全モードに対応する。尚且つ、全モード、すなわち、９個の予測誤差演算部のうち、最大でも６個の予測誤差演算部のみが稼働状態とすることができるので、符号化効率は第１の実施形態よりも向上させることが可能になる。
【００９７】
以上本発明に実施形態を説明したが、本発明は、ハードウェア、ソフトウェアの双方に適用できるのは明らかである。通常、ソフトウェア（コンピュータプログラム）は、ＣＤ−ＲＯＭに代表されるコンピュータ可読記憶媒体に格納されていて、それをコンピュータが有する読取り装置（ＣＤ−ＲＯＭドライブ）にセットし、システムにコピー、もしくはインストールすることで実行（機能）可能になる。それ故、かかるコンピュータ可読記憶媒体も本発明の範疇に入ることは明らかである。
【図面の簡単な説明】
【００９８】
【図１】第１、第２の実施形態における予測誤差算出部のブロック構成図である。
【図２】４×４画素ブロックにおける予測モードの番号と予測方向の関係を示す図である。
【図３】４×４画素ブロックの例を示す図である。
【図４】１６×１６画素ブロックの例を示す図である。
【図５】８×８画素ブロックの例を示す図である。
【図６】第１の実施形態におけるイントラ誤差算出部の処理内容を示すフローチャートである。
【図７】第１の実施形態における予測モード決定処理のフローチャートである。
【図８】サンプル画像に対する全モード予測演算を行なう場合と、本第１の実施形態における予測符号化を行なう場合のＰＳＮＲとｂｉｔ／ｐｉｘｅｌの関係の実験結果を示す図である。
【図９】サンプル画像に対する全モード予測演算を行なう場合と、本第１の実施形態における予測符号化を行なう場合のＰＳＮＲとｂｉｔ／ｐｉｘｅｌの関係の実験結果を示す図である。
【図１０】全モードの予測誤差を算出する装置の構成例を示す図である。
【図１１】第３の実施形態における予測誤差算出部のブロック構成図である。
【図１２】第３の実施形態における予測モード決定処理のフローチャートである。
【図１３】実施形態のイントラ符号化装置のブロック構成図である。
【図１】
2009218827.tif 000003
【図２】
2009218827.tif 000004
【図３】
2009218827.tif 000005
【図４】
2009218827.tif 000006
【図５】
2009218827.tif 000007
【図６】
2009218827.tif 000008
【図７】
2009218827.tif 000009
【図８】
2009218827.tif 000010
【図９】
2009218827.tif 000011
【図１０】
2009218827.tif 000012
【図１１】
2009218827.tif 000013
【図１２】
2009218827.tif 000014
【図１３】
2009218827.tif 000015