(57)【要約】【課題】  高いスループット処理性能を実現しながら、予測モード選択に必要な演算資源を低減させてフレーム内予測符号化を行なう。【解決手段】  モード０／１予測値算出部１００３は４×４画素ブロックの予測モード０、１のいずれか一方の予測モードの予測値を算出する。モード３／４予測値算出部１００６は４×４画素ブロックの予測モード３、４のいずれか一方の予測モードの予測値を算出する。モード５／６予測値算出部１００９は４×４画素ブロックの予測モード５、６のいずれか一方の予測モードの予測値を算出する。そして、モード７／８予測値算出部１０１２は４×４画素ブロックの予測モード７、８のいずれか一方の予測モードの予測値を算出する。最初に、予測モード０、３、５、７による予測モードに従って予測誤差を算出し、次のサイクルでは予測モード１、４、６、８による予測モードに従って予測誤差を算出する。そして、イントラ予測制御部１０１９は、全予測モードの予測誤差から、最も効率の良い予測モードを決定する。【選択図】  図１
2009260494.tif 000002
【特許請求の範囲】
【請求項１】
入力した１フレームの画像データから、複数の画素で構成される画素ブロック単位に、複数の予測モードのいずれかを用いて予測誤差を算出し、算出した予測誤差を符号化手段で符号化する画像符号化装置であって、
前記複数の予測モードの中で、予測値算出のための演算内容が共通で、予測値算出のために参照する画素位置が異なる２以上の予測モードについて、当該２以上の予測モードのいずれか一方の予測モードで予測値を算出する複数の予測値算出手段と、
該複数の予測値算出手段で算出した予測値に基づき、着目画素ブロック内の各画素の予測誤差を算出する複数の予測誤差算出手段と、
該複数の予測誤差算出手段で算出した着目画素ブロック内の各画素の予測誤差の絶対値の合計を算出する複数の合算手段と、
前記複数の予測値算出手段それぞれに対し、それぞれが実行可能な予測モードを順次設定して、それぞれにて予測値の算出を実行させ、前記予測誤差算出手段、及び、前記合算手段による合算を行なわせる予測モード設定手段と、
前記合算手段による、処理すべき全予測モードの前記絶対値の合計の演算が終了したとき、最小の合算結果を算出した予測モードを、前記着目画素ブロックの予測モードとして決定する決定手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
更に、前記複数の予測誤差算出手段で算出された予測誤差を記憶する記憶手段と、
前記決定手段で決定した予測モードに対応する予測誤差を前記記憶手段に記憶された中から選択し、前記符号化手段へ出力する選択手段と
を備えることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
更に、各予測モードで参照する画素の画素値を得るため、前記符号化手段で得られた符号化データを復号する復号手段を備え、
前記着目画素ブロックの直前の画素ブロック内の画素を参照して予測値を得る予測モードと、前記直前の画素ブロックよりも前に符号化したブロック内の画素を参照して予測値を得る予測モードとに分けた場合、前記予測モード設定手段は、前記直前の画素ブロックよりも前に符号化したブロック内の画素を参照して予測値を得る予測モードを優先して設定することを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
複数の予測モードの中で、予測値算出のための演算内容が共通で、予測値算出のために参照する画素位置が異なる２以上の予測モードについて、当該２以上の予測モードのいずれか一方の予測モードで予測値を算出する複数の予測値算出手段と、
該複数の予測値算出手段で算出した予測値に基づき、複数の画素で構成される画素ブロック内の各画素の予測誤差を算出する複数の予測誤差算出手段と、
該複数の予測誤差算出手段で算出した前記画素ブロック内の各画素の予測誤差の絶対値の合計を算出する複数の合算手段とを有し、
入力した１フレームの画像データから、前記画素ブロック単位に、複数の予測モードのいずれかを用いて予測誤差を算出し、算出した予測誤差を符号化手段で符号化する画像符号化装置の制御方法であって、
前記複数の予測値算出手段それぞれに対し、それぞれが実行可能な予測モードを順次設定して、それぞれにて予測値の算出を実行させ、前記予測誤差算出手段、及び、前記合算手段による合算を行なわせる予測モード設定工程と、
前記合算手段による、処理すべき全予測モードの前記絶対値の合計の演算が終了したとき、最小の合算結果を算出した予測モードを、前記着目画素ブロックの予測モードとして決定する決定工程と
を備えることを特徴とする画像符号化装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像の画像符号化技術、特にフレーム内予測符号化に関するものである。
【背景技術】
【０００２】
従来、ＣＤ−ＲＯＭ等の光ディスクやハードディスク等の蓄積媒体に静止画像を保存・表示するための符号化方式としてＩＳＯ（国際標準化機構）により標準化されたＪＰＥＧ方式が広く用いられている。また、動画像と音声を同様な蓄積媒体に保存・表示したり、通信路を介して放送、または双方向通信したりするための符号化方式としてＩＳＯにより標準化されたＭＰＥＧ方式が広く用いられている。
【０００３】
動画像と音声の符号化方式であるＭＰＥＧ方式は、符号化効率の向上を目的として年々その符号化方式が改良されており、１９９２年にＭＰＥＧ−１、１９９４年にＭＰＥＧ−２、１９９９年にはＭＰＥＧ−４、２００３年にはＭＰＥＧ−４ＡＶＣ／Ｈ．２６４がそれぞれ国際標準として規定されている。
【０００４】
ＭＰＥＧ−４においては、符号化効率の向上はもちろんのこと、符号誤り訂正機能の強化や、符号化対象毎に最適な符号化を施すオブジェクト符号化の導入なども実現されている。さらには、ＭＥＰＧ−４シンタックス上のビジュアル層とオーディオ層を包含するファイル形式などを規定するシステム層においては、利用者が要求する任意の時刻の動画像または音声データに容易にアクセスできる仕組みを提供している。
【０００５】
また、ＭＰＥＧ−４ＡＶＣ／Ｈ．２６４では、ＭＰＥＧ−４に対して更なる符号化効率向上を目指してフレーム間予測、フレーム内予測、エントロピー符号化などにおいて多種多様な新規符号化ツールが採用されている。特に本発明で着目しているフレーム内予測においては、輝度信号に対するフレーム内予測として４×４画像ブロック単位での予測方式とグラデーション画像などに有効とされる１６×１６画像ブロック単位での予測方式が規定されており、４×４輝度ブロックに対して９つ、１６×１６輝度ブロックに対して４つの予測モードが用意されている。
【０００６】
図１０に、４×４輝度ブロックとフレーム内予測に使用する参照画像サンプルの相対位置関係を示す。符号化対象の４×４輝度ブロックは、図中（０，０）、（１，０）、（２，０）、（３，０）、（０，１）、（１，１）、（２，１）、（３，１）、（０，２）、（１，２）、（２，２）、（３，２）、（０，３）、（１，３）、（２，３）、（３，３）の１６サンプルで表現されている。一方、参照画像サンプルは４×４輝度ブロックの周囲に位置し、且つ、符号化済みである。図示では、（−１，−１）、（０，−１）、（１，−１）、（２，−１）、（３，−１）、（４，−１）、（５，−１）、（６，−１）、（７，−１）、（−１，０）、（−１，１）、（−１，２）、（−１，３）の１３サンプルで表現されている。
【０００７】
図１１乃至図１８に、各予測モードにおいて、符号化対象１６個の各サンプルとそれに対する予測値を算出するために使用される参照サンプルとの位置関係を表す概念図を示す。使用される参照サンプルから符号化対象画像サンプルへの方向を見てみると、図１１のモード０は垂直方向への予測、図１２のモード１は水平方向への予測となる。また、図示されないが、モード２は１３個の参照サンプルの平均値を予測値とする。図１３のモード３は左対角下方向への予測、図１４のモード４は右対角下方向への予測である。図１５のモード５は右垂直斜め下方向への予測、図１６のモード６は右水平斜め下方向への予測である。図１７のモード７は左垂直斜め下方向への予測、そして、図１８のモード８は右水平斜め上方向への予測となっている。
【０００８】
また、色差信号に対するフレーム内予測は８×８色差ブロックに対する４つの予測モードが用意されている。輝度信号、色差信号のいずれにおいても、どの予測モードを使用してフレーム内予測符号化を行うかはユーザーの判断に委ねられており、高い符号化効率を達成するために最適な予測モードを選択することが重要となっている。
【非特許文献１】ＩＳＯ／ＩＥＣ  １４４９６−１０；“Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ−−Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ−−Ｐａｒｔ  １０：Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ”；ＩＳＯ／ＩＥＣ；２００３−１２−０１
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、輝度信号に対する１３予測モード、色差信号に対する４予測モードの内、どの予測モードを使用するかを決定するためには、処理対象ブロックで使用する予測値の算出と、処理対象ブロックから予測値を減算して得られる予測残差の算出、さらにＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）など指標値の算出が必要となり、これをすべての予測モードに対して行う膨大な演算が必要となる。
さらに、４×４輝度ブロックのフレーム内予測を行うためには、直前の隣接４×４輝度ブロックをフレーム内予測、直交変換、量子化した後、逆量子化、逆直交変換して再構成される参照画像データが必要であり、スループット処理性能を向上させるにはこの一連の処理を短期間で完了する必要がある。
【００１０】
本発明はかかる問題点に鑑みなされたものであり、高いスループット処理性能を実現しながら、予測モード選択に必要な演算資源を低減させたフレーム内予測符号化技術を提供しようとするものである。
【課題を解決するための手段】
【００１１】
この課題を解決するため、本発明の画像符号化装置は以下の構成を備える。すなわち、
入力した１フレームの画像データから、複数の画素で構成される画素ブロック単位に、複数の予測モードのいずれかを用いて予測誤差を算出し、算出した予測誤差を符号化手段で符号化する画像符号化装置であって、
前記複数の予測モードの中で、予測値算出のための演算内容が共通で、予測値算出のために参照する画素位置が異なる２以上の予測モードについて、当該２以上の予測モードのいずれか一方の予測モードで予測値を算出する複数の予測値算出手段と、
該複数の予測値算出手段で算出した予測値に基づき、着目画素ブロック内の各画素の予測誤差を算出する複数の予測誤差算出手段と、
該複数の予測誤差算出手段で算出した着目画素ブロック内の各画素の予測誤差の絶対値の合計を算出する複数の合算手段と、
前記複数の予測値算出手段それぞれに対し、それぞれが実行可能な予測モードを順次設定して、それぞれにて予測値の算出を実行させ、前記予測誤差算出手段、及び、前記合算手段による合算を行なわせる予測モード設定手段と、
前記合算手段による、処理すべき全予測モードの前記絶対値の合計の演算が終了したとき、最小の合算結果を算出した予測モードを、前記着目画素ブロックの予測モードとして決定する決定手段とを備える。
【発明の効果】
【００１２】
本発明によれば、高いスループット処理性能を実現しながら、予測モード選択に必要な演算資源を低減させてフレーム内予測符号化を行なうことが可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。なお、実施形態では、ＭＰＥＧ−４ＡＶＣ／Ｈ．２６４符号化方式に適用した例を説明する。
【００１４】
［第１の実施形態］
図３は、第１の実施形態における画素ブロック単位に符号化する画像符号化装置のブロック構成図である。本装置は、フレーム内予測部１０１、予測方式選択部１０２、直交変換部１０３、量子化部１０４、エントロピー符号化部１０５を有する。また、本装置は、エントロピー符号化部１０５で生成された符号化データを復号するエントロピー復号化部１０６、逆量子化部１０７、逆直交変換部１０８、ループフィルタ１０９、動き補償部１１０、フレーム間動き予測部１１１、参照フレーム記憶部１１２を有する。なお、動画像データの入力源は、ビデオカメラでも構わないし、動画像データを格納した記憶媒体でも構わない。
【００１５】
図１は、フレーム内予測部１０１のブロック構成図である。フレーム内予測部１０１は、１フレーム内の着目画素ブロックを符号化する際に、その着目画素ブロックに隣接し、符号化処理済みのブロック内の参照画像を格納する参照画像データ記憶部１００１を有する。また、本装置は、着目ブロック内の画素データ（輝度データ）を格納する４×４ブロック記憶部１００２を有する。他の構成は以下の説明する通りである。
【００１６】
モード０／１予測値演算部１００３は、予測モード０または１における着目ブロック内の各画素の予測値を算出する。モード０／１予測誤差算出部１００４は、予測モード０または１における着目ブロック内の各画素の予測誤差を算出する。モード０／１ＳＡＤ算出部１００５は、予測モード０または１における着目ブロック内の予測誤差のＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を算出する。
【００１７】
モード３／４予測値算出部１００６は予測モード３または４における予測値を算出する。モード３／４予測誤差算出部１００７は、予測モード３または４における予測誤差を算出する。モード３／４ＳＡＤ算出部１００８は、予測モード３または４における着目ブロック内の予測誤差のＳＡＤを算出する。
【００１８】
モード５／６予測値算出部１００９は予測モード５または６における予測値を算出する。モード５／６予測誤差算出部１０１０は、予測モード５または６における予測誤差を算出する。モード５／６ＳＡＤ算出部１０１１は、予測モード５または６におけるＳＡＤを算出する。
【００１９】
モード７／８予測値算出部１０１２は予測モード７または８における予測値を算出する。モード７／８予測誤差算出部１０１３は予測モード７または８における予測誤差を算出する。モード７／８ＳＡＤ算出部１０１４は予測モード７または８におけるＳＡＤを算出する。
【００２０】
モード２予測値算出部１０１５は予測モード２における予測値を算出する。モード２予測誤差算出部１０１６は予測モード２における予測誤差を算出する。モード２ＳＡＤ算出部１０１７は予測モード２におけるＳＡＤを算出する。
【００２１】
ＳＡＤ記憶部１０１８は、各ＳＡＤ算出部で算出したＳＡＤを一時的に記憶する。イントラ予測制御部１０１９は、ＳＡＤ記憶部１０１８に記憶された各ＳＡＤの中から最小となるＳＡＤを検索し、その最小ＳＡＤを算出した予測モードを決定する。
【００２２】
通常、予測誤差が小さい値であるほど、符号長の短い符号語を割り当てることで、符号化効率を高めている。換言すれば、ＳＡＤが小さいほど、符号化効率が高くなると言える。そこで、イントラ予測制御部１０１９は、最小となるＳＡＤを検索し、その最小値となった予測モードが０乃至８のいずれであるかを判定し、その判定結果を最終的な予測モードとする。
【００２３】
選択部１０２０は、内部に、各予測誤差算出部からの予測誤差を格納するバッファを有し、イントラ予測制御部１０１９が決定した予測モードに応じた予測誤差を選択し、予測方式選択部１０２０に出力する。このとき、選択部１０２０は、選択した予測モードを特定する情報も、予測方式選択部１０２に出力する。
【００２４】
上記の様に、予測モード０と１、モード３と４、モード５と６、モード７と８を共通の構成にて行なうのは、予測値算出のために参照する画素位置が異なるものの、それらの予測値算出のための演算内容が共通であるのが理由である。なお、ここでは、ＭＰＥＧ−４ＡＶＣ／Ｈ．２６４を例にしているので、１つの構成で実現可能な予測モードは最大で２つとなるが、演算内容が共通な予測モードが２以上ある符号化方式の場合には、当然、１つの構成で２以上の予測モードに対応することも可能である。
【００２５】
図４は、イントラ予測部１０１９によるフレーム内予測部１０１全体の動作制御シーケンスを表すフローチャートである。また、図６は、図１に示した参照画像データ記憶部１００１、乃至、予測誤差選択部１０２０で構成される図３のフレーム内予測部１０１による、イントラ予測→整数変換→量子化→逆量子化→逆整数変換までの一連の動作において、各処理が要する処理サイクル数を時系列に表したタイミングチャートである。
【００２６】
以後、上記画像符号化装置の実施形態における動作形態について、その符号化処理に係わる一連の動作、特にフレーム内予測部１０１による予測モードを決定し予測誤差を出力するまでの予測符号化処理手順を図１、図３、図４、図６を用いて説明する。
【００２７】
図１に示した参照画像データ記憶部１００１乃至差選択部１０２０で構成される図３のフレーム内予測部１０１では、図６に示したようにイントラ予測→整数変換→量子化→逆量子化→逆整数変換までの一連の動作を合計９処理サイクルで処理する
処理サイクル０（図６参照）においては、イントラ予測制御部１０１９は、モード０／１予測値算出部に対して予測モード０を、モード３／４予測値算出部１００６に対して予測モード３を、モード５／６予測値算出部１００９に対して予測モード５を、モード７／８予測値算出部１０１２に対しては予測モード７を設定する（ステップＳ１０１）。つまり、イントラ予測制御部１０１９は、各予測値算出部に対する予測モード設定手段として機能する。
【００２８】
またイントラ予測制御部１０１９は、予測モード０／３／５／７が選択されたことをＳＡＤ記憶部１０１８にも通知する。ＳＡＤ記憶部１０１８は、この通知を受けて、各予測モード毎に予め定義されたアドレス位置に、合算結果であるＳＡＤを格納する。
【００２９】
モード０／１予測値算出部１００３は参照画像データ記憶部１００１から入力する参照サンプルを用いて予測モード０により予測値を算出する。モード０／１予測誤差算出部１００４はその予測値を４×４ブロック記憶部１００２から入力するブロック画像データを用いて予測誤差を算出する。算出された予測誤差（４×４個）は、モード０／１ＳＡＤ算出部１００５及び選択部１０２０に出力される。選択部１０２０は、この予測誤差を一時的に内部のバッファに格納する。モード０／１ＳＡＤ算出部１００５は入力した予測誤差を用いてＳＡＤを算出し、ＳＡＤ記憶部１０１８に出力する。以下、同様に予測モード３、５、７により算出されたＳＡＤがＳＡＤ記憶部１０１８に記憶されると共に、予測モード３、５、７の予測誤差が選択部１０２０の内部バッファに格納される。
【００３０】
また、予測モード２予測値算出部１０１５、予測モード２予測誤差算出部１０１６、予測モード２ＳＡＤ算出部１０１７は、処理サイクル０（以下に説明する処理サイクル１でも構わない）において、その処理を実行するものとする。従って、サイクル０では、予測モード０、２、３、５、７のＳＡＤがＳＡＤ記憶部１０１８に格納され、その予測誤差が選択部１０２０の内部バッファにそれぞれ格納されることになる。
【００３１】
処理サイクル１（図６参照）においては、イントラ予測制御部１０１９は、モード０／１予測値算出部１００３に対して予測モード１を設定する。また、モード３／４予測値算出部１００６に対して予測モード４を、モード５／６予測値算出部１００９に対して予測モード６を、そして、モード７／８予測値算出部１０１２に対しては予測モード８を設定する（ステップＳ１０２）。
【００３２】
またイントラ予測制御部１０１９は、予測モード１／４／６／８が選択されたことをＳＡＤ記憶部１０１８にも通知する。モード０／１予測値算出部１００３は参照画像データ記憶部１００１から入力する参照サンプルを用いて予測モード１により予測値を算出し、モード０／１予測誤差算出部１００４はその予測値を４×４ブロック記憶部１００２から入力するブロック画像データを用いて予測誤差を算出する。算出された予測誤差は、選択部１０２０、モード０／１ＳＡＤ算出部１００４に出力される。モード０／１ＳＡＤ算出部１００５は入力した予測誤差を用いてＳＡＤを算出し、ＳＡＤ記憶部１０１８に出力する。以下、同様に予測モード４、６、８、および２により算出されたＳＡＤがＳＡＤ記憶部１０１８に記憶され、各予測モードの予測誤差が選択部１０２０の内部バッファに格納される。
【００３３】
以上のようにして、全予測モードのＳＡＤの算出が終了する。
【００３４】
この後、処理サイクル２（図６参照）にて、イントラ予測制御部１０１９は、処理サイクル０、１によってＳＡＤ記憶部１０１８に記憶されたすべての予測モード０〜８によって算出されたＳＡＤに応じて、最もＳＡＤ値の小さい予測モードを最終的な予測モードとして決定する（ステップＳ１０３）。次に、イントラ予測制御部１０１９は、決定した予測モードを選択部１０２０へ通知する（ステップＳ１０４）。この結果、選択部１０２０は、内部のバッファに格納された各予測モードの予測誤差のうち、決定した予測モードに対応する予測誤差を出力すると共に、予測モードを示す情報も出力する（ステップＳ１０５）。尚、この出力処理を終えると、選択部１０２０は、内部のバッファに格納された各予測モードの予測誤差を破棄、もしくは、上書き可能に設定する。
【００３５】
次に、図８を用いて、図１に示した、モード０／１予測値算出部１００３、モード０／１予測誤差算出部１００４、モード０／１ＳＡＤ算出部１００５を説明する。
図中、３００１は参照画像データ記憶部１００１に記憶された参照サンプル（０，−１）、３００２は参照サンプル（−１，０）である（図１０参照）。３００３は４×４ブロック記憶部１００２に記憶された画像サンプル（０，０）、３００４は画像サンプル（０，１）、３００５は画像サンプル（１，０）、３００６は画像サンプル（０，２）、３００７は画像サンプル（２，０）、３００８は画像サンプル（０，３）、３００９は画像サンプル（３，０）である。
【００３６】
なお、これらサンプルの座標は、着目画素ブロック内の基準位置に対する相対的なものであることに注意されたい。例えば、予測モード０では、着目画素ブロック内の基準位置は（ｉ、０）（ｉ＝０、１、２、３）となる。従って、例えばサンプル（０、−１）で示される画素データ（輝度データ）は、座標（０＋ｉ，−１＋０）、すなわち、座標（ｉ，−１）の画素値となる。同様に、サンプル（０，３）は、座標（ｉ，３）の画素値となる。
【００３７】
モード０では、ｉ＝０、１、２、３と４段階に渡って変化するので、ｉ＝０の場合に４個の予測誤差が除算器３０１０乃至３０１３で算出され、その絶対値がＡＢＳ演算器３０１４乃至３０１７で演算される。更に、各絶対値が加算器３０１８乃至３０２０で合算される。加算器３０２１は、レジスタ３０２２内の保持された値を加算し、その加算結果を再びレジスタ３０２２に格納する。このレジスタ３０２２は、１ブロックのＳＡＤを算出する際に“０”に初期化されるものである。
【００３８】
上記の処理をｉ＝０、１、２、３について実行してき、ｉ＝３になった場合、加算器３０２１は、着目ブロックのＳＡＤを算出することになる。従って、ｉ＝３になった場合、加算器３０２１の加算結果を着目ブロックのモード０のＳＡＤとしてＳＡＤ記憶部１０１８に格納する。
【００３９】
一方、モード１の場合、着目ブロックの基準位置は（０，ｉ）（ｉ＝０、１、２、３）となる。ここで、変動する座標がＹ軸（垂直軸）上であることに注意されたい。かかる点を除いて、各処理部の処理はモード０と同じである。
【００４０】
上記の通り、予測モード０／１においては、予測値を得るのに演算を行う必要はなく、所望の参照サンプルがそのまま使用される。除算器３０１０〜３０１３が、モード０／１予測誤差算出部１００４に対応し、絶対値化するＡＢＳ演算器３０１４〜１０１７、および加算器３０１８〜３０１９がモード０／１ＳＡＤ算出部１００５に対応する。予測値を選択する回路と、予測誤差を算出する回路、ＳＡＤを算出する回路が予測モード０と１において共用されていることに注意されたい。
【００４１】
図９は、図１に示したモード３／４予測値算出部１００６、モード３／４予測誤差算出部１００７、モード３／４ＳＡＤ算出部１００８の詳細を示すブロック図である。
【００４２】
図中、４００１〜４００６は参照画像データ記憶部１００１に記憶された参照サンプルである（図１０参照）。４００７は定数２である。４００８〜４０１５は４×４ブロック記憶部１００２に記憶された画像サンプルである（図１０参照）。
【００４３】
予測モード３／４の予測値を算出する回路である４０１６〜４０２０が、モード３／４予測値算出部１００６に対応する。また、除算器４０２１〜４０２４が、モード３／４予測誤差算出部１００７に対応する。また、絶対値化するＡＢＳ演算器４０２５〜４０２８、加算器４０２９〜４０３２、及び、レジスタ４０３３がモード３／４ＳＡＤ算出部１００７に対応する。なお、シフタ４０１７は、入力した値を上位方向に１ビットシフトする、すなわち、入力した値を２倍にする回路である。同様にシフタ４０２０は、入力した値を下位方向に２ビットシフトする、すなわち、入力した値を１／４にする回路である。
【００４４】
この構成における動作も、先に説明した予測モード０／１と同様であり、予測値を選択する回路と、予測誤差を算出する回路、ＳＡＤを算出する回路が予測モード３と４において共用されていることに注意されたい。なお、定数“２”を加算器４０１８で加算するのは、シフタ４０２０にて１／４にした際に、小数点以下を切り上げるためのものである。
【００４５】
上記説明から、他の予測モード５乃至８についても同様に構成できることは明らかであろう。
【００４６】
なお、上記実施形態では、フレーム内予測部１０１として４×４輝度ブロックに対するフレーム内予測符号化処理を説明したが、１６×１６輝度ブロックおよび８×８色差ブロックに対するフレーム内予測符号化処理においても同様に適用可能である。
【００４７】
以上説明したように、本実施形態によれば、各予測値演算部に、予測モードを順次設定して、全予測モードの予測誤差の算出させる。この結果、各モード毎に独立した回路構成にした場合と比べて、実質的に１／２の規模でイントラ予測符号化処理が実現できるようになる。
【００４８】
［第２の実施形態］
次に、ＭＰＥＧ−４ＡＶＣ／Ｈ．２６４符号化に適用した第２の実施形態を説明する。  
装置全体の構成は、図３と同様であるものとし、以下では、フレーム内予測部１０１について説明することとする。
【００４９】
図２は、本第２の実施形態を適用した画像符号化装置のフレーム内予測部１０１のブロック構成図である。
【００５０】
本装置は、参照画像データ記憶部２００１、４×４ブロック記憶部２００２をはじめ以下に示す構成を備える。
【００５１】
モード０／１予測値算出部２００３は予測モード０または１における予測値を算出する。モード０／１予測誤差算出部２００４は予測モード０または１における予測誤差を算出する。モード０１／２ＳＡＤ算出部２００５は予測モード０または１におけるＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を算出する。
【００５２】
モード３／４予測値算出部２００６は、予測モード３または４における予測値を算出する。モード３／４予測誤差算出部２００７は予測モード３または４における予測誤差を算出する。ＳＡＤ算出部２００８は予測モード３または４におけるＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）を算出する。
【００５３】
モード７／８予測値算出部２００９は、予測モード７または８における予測値を算出する。モード７／８予測誤差算出部２０１０は予測モード７または８における予測誤差を算出する。モード７／８ＳＡＤ算出部２０１１は、予測モード７または８におけるＳＡＤを算出する。
【００５４】
モード５予測値算出部２０１２は予測モード５における予測値を算出する。モード５予測誤差算出部２０１３は予測モード５における予測誤差を算出する。モード５ＳＡＤ算出部２０１４は予測モード５におけるＳＡＤを算出する。
【００５５】
モード６予測値算出部２０１５は、予測モード６における予測値を算出する。モード６予測誤差算出部２０１６は予測モード６における予測誤差を算出する。モード６ＳＡＤ算出部２０１７は、予測モード６におけるＳＡＤを算出する。
【００５６】
モード２予測値算出部は、予測モード２における予測値を算出する。モード２予測誤差算出部２０１９は予測モード２における予測誤差を算出する。モード２ＳＡＤ算出部２０２０は予測モード２におけるＳＡＤを算出する。
【００５７】
ＳＡＤ記憶部２０２１が、各ＳＡＤ算出部で算出されたＳＡＤを一時的に記憶する。まら、イントラ予測制御部２０２２はＳＡＤ記憶部２０２１に格納された各ＳＡＤの中から最小のＳＡＤを検索して、予測モードを決定する。選択部２０２３は、各予測誤差算出部で算出した予測誤差を記憶するため、内部にバッファメモリを有する。そして、選択部２０２３は、イントラ予測制御部２０２２が決定した予測モードに対応する予測誤差をバッファメモリから読出し、出力する。このとき、決定した予測モードを特定する情報も併せて出力する。１ブロック分の予測誤差の出力を終えると、選択部２０２３は内部のバッファを消去、もしくは、上書き可能にする。
【００５８】
図５は、イントラ予測制御部２０２２によるフレーム内予測部１０１全体の動作制御シーケンスを表すフローチャートである。図７は、図２に示した参照画像データ記憶部２００１〜予測誤差選択部２０２３で構成される図３のフレーム内予測部１０１による、イントラ予測→整数変換→量子化→逆量子化→逆整数変換までの一連の動作において、各処理が要する処理サイクル数を時系列に表したタイミングチャートである。
【００５９】
以後、上記画像符号化装置の実施形態における動作形態について、その符号化処理に係わる一連の動作、特にフレーム内予測部１０１による予測モードを決定し予測誤差を出力するまでの予測符号化処理手順を図２、図３、図５、図７を用いて説明する。
【００６０】
図２に示した参照画像データ記憶部２００１乃至選択部２０２３で構成される図３のフレーム内予測部１０１では、図７に示したようにイントラ予測→整数変換→量子化→逆量子化→逆整数変換までの一連の動作を合計９処理サイクルで処理するが、図６とは異なり、処理サイクル６が完了した時点で次の４×４ブロックのフレーム内予測符号化処理を開始することが可能である。処理サイクル７では、４×４輝度ブロック＃１の逆整数変換処理と、４×４輝度ブロック＃２の予測モード０／３／７に対するフレーム内予測処理とが同時に実行されていることに注意されたい。さらにこれは、予測モード０／３／７は４×４輝度ブロック＃１に対する再構成画像を参照サンプルとして使用しないことから可能となっている注意されたい。
【００６１】
処理サイクル「−１」（図７参照）においては、イントラ予測制御部２０２２は、モード０／１予測値算出部２００３に対して予測モード０を、モード３／４予測値算出部２００６に対して予測モード３を、モード７／８予測値算出部２００９に対しては予測モード７を優先的に設定する（ステップＳ２０１）。またイントラ予測制御部２０２２は、予測モード０／３／７が選択されたことをＳＡＤ記憶部２０２１にも通知する。モード０／１予測値算出部２００３は参照画像データ記憶部２００１から入力する参照サンプルを用いて予測モード０により予測値を算出する。モード０／１予測誤差算出部２００４はその予測値を４×４ブロック記憶部２００２から入力するブロック画像データを用いて予測誤差を算出する。さらに、モード０／１ＳＡＤ算出部２００５はその予測誤差を用いてＳＡＤを算出し、ＳＡＤ記憶部２０２１、選択部２０２３に出力する。以下、同様に予測モード３、７により算出されたＳＡＤがＳＡＤ記憶部２０２１に記憶される。
【００６２】
処理サイクル０（図７参照）においては、イントラ予測制御部２０２２は、モード０／１予測値算出部２００３に対して予測モード１を、モード３／４予測値算出部２００６に対して予測モード４を、モード７／８予測値算出部２００９に対しては予測モード８を選択する（Ｓ２０２）。またイントラ予測制御部２０２２は、予測モード１／４／８が選択されたことをＳＡＤ記憶部２０２１にも通知する。モード０／１予測値算出部２００３は参照画像データ記憶部２００１から入力する参照サンプルを用いて予測モード１により予測値を算出し、モード０／１予測誤差算出部２００４はその予測値を４×４ブロック記憶部２００２から入力するブロック画像データを用いて予測誤差を算出する。さらに、モード０／１ＳＡＤ算出部２００５はその予測誤差を用いてＳＡＤを算出し、ＳＡＤ記憶部２０２１に出力する。以下、同様に予測モード４、８、および５、６、２により算出されたＳＡＤがＳＡＤ記憶部２０２１に記憶される。
【００６３】
処理サイクル１（図７参照）においては、イントラ予測制御部２０２２は、処理サイクル−１、０によってＳＡＤ記憶部２０２１に記憶されたすべての予測モード０〜８によって算出されたＳＡＤに応じて、最小ＳＡＤ値を検索し、その参照ＳＡＤ値を算出した予測モードを最終的な予測モードとして決定する（ステップＳ２０３）。次に、イントラ予測制御部２０２２は、選択した予測モードを選択部２０２３に通知する（ステップＳ２０４）。この結果、選択部２０２３は、内部のバッファメモリに格納された中で、該当する予測モードの予測誤差、及び、その予測モードを特定する情報を出力する（ステップＳ２０５）。
【００６４】
上記説明したように、本第２の実施形態においては、第１の実施形態よりも高速なスループットを達成する構成となっている。
【００６５】
なお、本第２の実施形態においては、フレーム内予測部１０１として４×４輝度ブロックに対するフレーム内予測符号化処理を説明したが、１６×１６輝度ブロックおよび８×８色差ブロックに対するフレーム内予測符号化処理においても同様に適用可能である。
【００６６】
［他の実施形態］
上記第１，第２の実施形態では、ハードウェアによって実現する例を説明したが、コンピュータが実行するコンピュータプログラムによって実現しても構わない。この場合、コンピュータプログラムは、同じプロシージャ（又は関数）を、複数のモードで共有できるので、コンピュータプログラムのサイズは小さなものとすることができる。
【００６７】
また、通常、コンピュータプログラムは、ＣＤ−ＲＯＭ等のコンピュータ可読記憶媒体に格納されており、それをコンピュータが有する読取り部（ＣＤ−ＲＯＭドライブ等）にセットし、システムにコピーもしくはインストールすることで実行可能になる。従って、かかるコンピュータ可読記憶媒体も本発明の範疇に入ることも明らかである。
【図面の簡単な説明】
【００６８】
【図１】第１の実施形態におけるフレーム内予測部のブロック構成図である。
【図２】第２の実施形態におけるフレーム内予測部のブロック構成図である。
【図３】実施形態における画像符号化装置のブロック構成図である。
【図４】第１の実施形態におけるフレーム内予測部の処理手順を示すフローチャートである。
【図５】第２の実施形態におけるフレーム内予測部の処理手順を示すフローチャートである。
【図６】第１の実施形態における符号化処理のシーケンスを示す図である。
【図７】第２の実施形態における符号化処理のシーケンスを示す図である。
【図８】第１の実施形態におけるモード０／１予測値算出部、モード０／１予測誤差算出部、及び、モード０／１ＳＡＤ算出部の詳細を示すブロック構成図である。
【図９】第１の実施形態におけるモード３／４予測値算出部、モード３／４予測誤差算出部、及び、モード３／４ＳＡＤ算出部の詳細を示すブロック構成図である。
【図１０】４×４輝度ブロック内の画素と、予測に使用する参照画像サンプルの相対位置関係を表す図である。
【図１１】予測モード０における予測方向を示す図である。
【図１２】予測モード１における予測方向を示す図である。
【図１３】予測モード３における予測方向を示す図である。
【図１４】予測モード４における予測方向を示す図である。
【図１５】予測モード５における予測方向を示す図である。
【図１６】予測モード６における予測方向を示す図である。
【図１７】予測モード７における予測方向を示す図である。
【図１８】予測モード８における予測方向を示す図である。
【図１】
2009260494.tif 000003
【図２】
2009260494.tif 000004
【図３】
2009260494.tif 000005
【図４】
2009260494.tif 000006
【図５】
2009260494.tif 000007
【図６】
2009260494.tif 000008
【図７】
2009260494.tif 000009
【図８】
2009260494.tif 000010
【図９】
2009260494.tif 000011
【図１０】
2009260494.tif 000012
【図１１】
2009260494.tif 000013
【図１２】
2009260494.tif 000014
【図１３】
2009260494.tif 000015
【図１４】
2009260494.tif 000016
【図１５】
2009260494.tif 000017
【図１６】
2009260494.tif 000018
【図１７】
2009260494.tif 000019
【図１８】
2009260494.tif 000020