(57)【要約】【課題】  小規模なゲート数で、高速かつ柔軟な画像処理を実現すること。【解決手段】  同時に実行する必要のない複数の工程を含む画像処理を行う画像処理装置において、同時に実行する必要のない工程に用いる処理回路を、動的再構成回路を用いて時分割的に再構成する。ゲート数を増加させることなく、複数の回路を実現することができる上、ハードウエアによる処理であるから、処理速度も高速である。【選択図】  図１
2006050571.tif 000002
【特許請求の範囲】
【請求項１】
複数の工程から成る所定の画像処理を行う画像処理装置において、
動的再構成が可能な動的再構成回路と、
前記動的再構成回路を用いて構成する複数の回路情報を記憶する再構成情報記憶手段と、
前記動的再構成回路により構成する回路を変更する再構成タイミングを検出する再構成タイミング検出手段と、
前記再構成タイミングの検出に応答して、前記動的再構成回路により構成すべき回路に対応する回路情報を前記再構成情報記憶手段から読み出し、前記動的再構成回路を再構成する制御手段とを有し、
前記再構成タイミング検出手段が、前記複数の工程のうち、処理すべき時間が独立している工程の開始タイミング又は終了タイミングを検出することを特徴とする画像処理装置。
【請求項２】
前記制御手段は、複数工程に対応する回路を前記再構成タイミングより所定期間ずつ時分割に動的再構成することを必要期間繰り返すように制御することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記所定の画像処理は、マクロブロックに対する符号化処理であり、
前記再構成タイミング検出手段が、前記マクロブロックに対する符号化処理の少なくとも開始タイミングを検出することを特徴とする請求項１又は請求項２記載の画像処理装置。
【請求項４】
前記符号化処理は、予測符号化に用いる復号画像を生成するための復号化工程と、符号化するマクロブロックと前記復号画像との予測誤差を符号化する符号化工程とを有する符号化処理であり、
前記再構成タイミング検出手段が、前記復号化工程及び前記符号化工程の開始タイミングを検出することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記回路情報が、量子化器、逆量子化器、離散コサイン変換器、逆離散コサイン変換器の回路情報を含み、
前記制御手段が、前記動的再構成回路により、前記復号化工程では逆量子化器及び逆離散コサイン変換器を構成し、前記符号化工程では離散コサイン変換器及び量子化器を構成するように制御を行うことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記符号化処理は、動き補償と可変長符号化を用いる予測符号化処理であり、
前記回路情報が、前記符号化するマクロブロックの動きベクトルを検出する動き検出器及び可変長符号化器の回路情報を含み、
前記制御手段が、前記動的再構成回路により、前記動き検出器と可変長符号化器とを交互に構成するように制御を行うことを特徴とする請求項３記載の画像処理装置。
【請求項７】
前記制御手段は、
前記動的再構成回路により構成すべき回路を、所定の指標に基づいて決定することを特徴とする請求項１記載の画像処理装置。
【請求項８】
前記指標が、処理負荷、スループット、圧縮率の何れかを含むことを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記制御手段が、処理負荷に応じて前記動的再構成回路に同一の回路を複数構成し、この複数の回路を並列動作させて処理負荷を低減させることを特徴とする請求項７記載の画像処理装置。
【請求項１０】
前記制御手段は、前記各工程の所定の処理期間の周期以内に処理回路を再構成することを特徴とする請求項１記載の画像処理装置。
【請求項１１】
前記制御手段は、２つ以上の異なる工程の各々差分の処理手段のみを動的に再構成することを特徴とする請求項１記載の画像処理装置。
【請求項１２】
前記制御手段は、前記符号化処理に要求されるスループットが低い場合は、所定処理周期内の動的再構成回数を削減し、１回当たりに動的再構成する回路の種類を増加させるように制御し、前記スループットが高い場合は所定処理周期内の動的再構成回数を増加し、１回当たりに動的再構成する回路の種類を減少させるように制御することを特徴とする請求項３記載の画像処理装置。
【請求項１３】
前記制御手段は、前記符号化処理に要求されるスループットが低い場合は、所定処理周期内の動的再構成回数を２回とし、１回目に動き予測回路及び動き補償回路を、２回目に離散コサイン変換回路と量子化回路と可変長符号化回路を動的再構成するように制御するとともに、前記スループットが高い場合は、所定処理周期内の動的再構成回数を４回とし、１回目に動き予測回路及び動き補償回路、２回目に離散コサイン変換回路及び逆離散コサイン変換回路、３回目に量子化回路及び逆量子化回路、４回目に可変長符号化回路をそれぞれ動的再構成するように制御することを特徴とする請求項３記載の画像処理装置。
【請求項１４】
前記指標が符号化或いは復号化処理スループットであり、
前記制御手段は、前記スループットが低い場合は動作速度より回路規模の小ささを優先して構成すべき回路を決定し、前記スループットが高い場合は回路規模より動作速度の速さを優先して構成すべき回路を決定することを特徴とする請求項７記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に同時に実行する必要のない工程を複数実行して画像処理を行う画像処理装置に関する。
【背景技術】
【０００２】
静止画像或いは動画像の圧縮・伸張処理は負荷が重いため、高速に処理を行うには専用のハードウエア（ハードウエアコーデック）を用いる必要があるが、コストがかかる、実装面積が増加するなどの面で不利である。一方、近年では汎用マイクロプロセッサの能力向上を背景に、処理速度の面では劣るが、コスト面で有利なソフトウエアと汎用マイクロプロセッサとの組み合わせにより圧縮・伸張処理を行うソフトウエアコーデックが利用される機会も増加している。
【０００３】
そして、必要とする性能とコストを勘案して、パフォーマンス（処理速度）・低消費電力化を重視する場合（又はソフトウエアコーデックでは処理できない場合）にはハードウエアコーデックを、パフォーマンスよりもコスト・柔軟性を重視する場合や、ハードウエアコーデック程の能力を必要としない場合にはソフトウエアコーデックを用いるのが一般的である。
【０００４】
動画像の圧縮・伸張処理の負荷は、処理すべき画像の階調数及びサイズ（１画面又はフレームあたりの画素数）と、静止画の場合は応答時間、動画の場合はフレームレートによって決まる。例えば、画像サイズがＶＧＡ（６４０画素×４８０ライン＝３０７２００ピクセル）で、フレームレートが３０フレーム／ｓの動画の場合、ＲＧＢ各色８ビットの階調を有するとして、６４０×４８０×３×８×３０＝２２１．１８４Ｍｂｐｓのデータ処理速度が要求される。
【０００５】
例えば、通常の１００ｎｓ程度のアクセスタイム、１６ビット幅のバスを有するメモリを使用した場合、バス帯域は１６×１０Ｍ＝１６０Ｍｂｐｓしかないので、バスを１００％の効率で使用できたとしても、汎用マイクロプロセッサとソフトウエアの組み合わせでは処理しきれない。実際にはバスを１００％の効率で使用することは困難であり、またマイクロプロセッサでの処理時間なども必要であるため、処理能力の不足分はより大きくなる。従って、このようなハードウエア構成のコンピュータ装置を用いてＶＧＡサイズのフルカラー動画像を３０フレーム／ｓの速度で処理するためには、ハードウエアコーデックを用いる必要がある。
【０００６】
なお、以上の説明は圧縮処理（符号化処理）、伸張処理（復号化処理）の両方を行うコーデックだけでなく、何れかのみを行うエンコーダ、デコーダについても当てはまる。
【０００７】
図８に、従来のハードウエアエンコーダの一例としてのＭＰＥＧフレーム間予測符号化回路の構成例を示す。
８００は、ＭＰＥＧフレーム間予測符号化回路である。８０１はフレームメモリ、８０２は動き検出回路（以下、ＭＥ（Motion Estimation）と呼ぶ）、８０３は動き補償回路（以下、ＭＣ（Motion Compensation）と呼ぶ）、８０４は離散コサイン変換回路（以下、ＤＣＴ（Discrete Cosine Transform）と呼ぶ）、８０５は量子化回路（以下、Ｑ（Quantization）と呼ぶ）、８０６は可変長符号化回路（以下、ＶＬＣ（Variable Length Coding）と呼ぶ）、８０７は逆量子化回路（以下、Ｑ-1（Inverse Quantization）と呼ぶ）、８０８は逆離散コサイン変換回路（以下、ＩＤＣＴ（Inverse Discrete Cosine Transform）と呼ぶ）である。
【０００８】
フレームメモリ８０１は、数フレーム分の画像データを格納するメモリである。ＭＥ８０２は、フレーム間の画像の時間的な相関を利用して、近似する参照画像ブロックに対する符号化対象画像ブロックのフレーム内の位置変化の方向と量（これを動きベクトルと呼ぶ）を検出する。ＭＣ８０３は、参照フレーム内の符号化対象画像ブロックの位置から動きベクトル分ずらした画像ブロックを参照画像ブロックとして用いて、フレーム間予測符号化を行う。ＤＣＴ８０４は、画像が空間的に相関が高い（画像内の近接した領域は類似の色調や輝度である可能性が高い）ことを利用して、画素値に２次元の周波数変換を行い、ＤＣＴ係数を出力する。そして、Ｑ８０５においてＤＣＴ係数を量子化する際、高周波成分のＤＣＴ係数に対する量子化ステップを低周波成分に対する量子化ステップよりも大きくすることで高周波成分の情報量を削減する。Ｑ８０５の出力はＶＬＣ８０６へ与えられる他、Ｑ-1８０７とＩＤＣＴ８０８から構成されるローカルデコーダ８０９へも与えられる。
【０００９】
ＶＬＣ８０６は出現頻度の偏りを利用して出現頻度の高い情報源に短い符号長の符号を割り当てて総符号量の削減を図る所謂エントロピー符号化を行う。これにより、符号化データ量をさらに削減する。ＶＬＣ８０６の出力は符号化結果として出力される。
Ｑ-1８０７は、逆量子化処理を行い、ＤＣＴ係数を得る。ＩＤＣＴ８０８はＤＣＴの逆変換を行い、復号結果である画素値（予測誤差値）を得る。
【００１０】
ＭＰＥＧフレーム間予測符号化においては、符号化回路内に、Ｑ-1８０７、ＩＤＣＴ８０８からなる復号化回路に相当するローカルデコーダ８０９を内蔵している。符号化回路に復号化回路に相当する構成が必要なのは、動き補償フレーム間予測符号化方式が、次フレームの画像に対する予測誤差に基づくＤＣＴ係数と動き位置ベクトル情報のみを符号化して伝送し、符号量を削減する符号化方式であることによる。つまり、この方式では復号化回路には符号化回路で用いた入力原画像は伝達されず、復号化回路では前フレームの復元画像（復元用予測画像）に対して伝送された予測誤差を加算して次フレームの復元画像を生成せざるを得ない。そして、量子化誤差により復元画像は元の画像と同一ではない。そのため、符号化回路においても、前フレームの入力画像と次フレームの入力画像との差分ではなく、復号化回路が行うように、符号化データを復号化した前フレームの復元画像（符号化用予測画像）と次フレームの入力画像との差分を予測誤差として伝送しないと、復号画像の品質が悪化するためである。
【００１１】
通常、人間の視覚は輝度に比して色差に対して鈍感な為、Ｙ（輝度）、Ｕ（赤の色差）、Ｖ（青の色差）信号としてＵＶの空間解像度をＹの１／４に落とした４対２対０ＹＵＶフォーマットが用いられる。１画素当たりのビット数は（１＋１／４＋１／４）×８＝１２ビットとなる。そして、８画素×８ラインのブロックを基本単位として、Ｙ信号の基本単位４ブロックと、Ｕ、Ｖ信号の基本単位各１ブロックを合わせて、マクロブロックと呼び、このマクロブロックをフレーム間予測の処理単位とする。尚、上記８画素×８ラインのブロックから成る基本単位は、ＤＣＴ処理の処理単位である。
【００１２】
そして、このマクロブロック処理期間の前半に、ローカルデコーダ８０９により、量子化されたＤＣＴ係数を逆量子化してＤＣＴ係数を復元した後、ＤＣＴ係数から符号化用予測誤差を復元し、当該符号化用予測誤差と前フレーム予測画像とから符号化用予測画像を作成する。マクロブロック処理期間の後半に、符号化用予測画像と入力画像から次フレームの予測誤差を作成し、当該予測誤差からＤＣＴ係数を作成し、量子化した後、ＶＬＣして符号化する。
【００１３】
尚、上記各々の処理を実施する処理期間をマクロブロック処理期間の前半と、後半と示したが、マクロブロック処理期間は、上記のマクロブロック処理期間の後半を前半、前半を後半と考えて、上記後半から前半をマクロブロック処理期間と見なしても良いことは言うまでも無い。
【００１４】
また、符号化処理回路をハードウエアで実現する場合は、ゲート規模低減の様々な工夫がなされていた。例えば、ＪＰＥＧおよびＭＰＥＧで採用されている直交変換処理の２次元ＤＣＴ（離散コサイン変換）は、（式１−１）によって表される。この演算を８画素×８ラインのマクロブロックに対して実行した場合について考える。この場合Ｎ＝８であり、ｘ、ｙに対するΣを展開して（式１−３）のように変形すると、１組の（ｕ，ｖ）に対して２×８×８＝１２８回の乗算と（８×８−１）＝６３回の加算が必要となる。これを６４組の（ｕ，ｖ）に対して行う必要があるため、結果として１２８×６４＝８１９２回の乗算と、６３×６４＝４０３２回の加算が必要となり、これを実現する為のゲート規模は大規模なものとなる。
【００１５】
（式１−１）に示される２次元ＤＣＴ演算は、１次元ＤＣＴを表す（式２−１）及び（式２−３）を用いて、（式３−１）及び（式３−２）に示すような、１次元ＤＣＴ演算の組み合わせとして表すことができる。つまり、（式１−１）の２次元ＤＣＴ演算は、まず行方向に（ｕに関して）１次元のＤＣＴ演算処理を行い、各行に関してＤＣＴ演算処理したデータを転置した後、列方向に（ｖに関して）１次元ＤＣＴ演算処理を行うことにより演算することができる。
【００１６】
この場合、まず、（式３−１）の演算を行う為に、１組の（ｕ，ｙ）についてｘのΣの中で８回の乗算と７回の加算が必要となり、これを、ｕ＝０、…、７、ｙ＝０、…、７の各組み合わせ、計６４組に対して実行するので、８×８×８＝５１２回の乗算と、７×８×８＝４４８回の加算が必要となる。
【００１７】
次に、（式３−２）の演算を行う為には、１組の（ｕ，ｖ）についてｙのΣの中で８回の乗算と７回の加算が必要となり、これを、ｕ＝０、…、７、ｖ＝０、…、７の各組み合わせ、計６４組に対して実行するので、８×８×８＝５１２回の乗算と、７×８×８＝４４８回の加算が必要となる。従って、（式３−１）と（式３−２）の各々行、列の１次元ＤＣＴ演算を合わせると、８×８×８×２＝１０２４回の乗算と、７×８×８×２＝８９６回の加算で実現することができ、前述した（式１−１）をそのまま展開して演算する場合に比して、乗算で１／８、加算で約１／４に演算量を削減することができる。
【００１８】
２次元ＤＣＴ及び２次元ＩＤＣＴ
2006050571.tif 000003
2006050571.tif 000004
2006050571.tif 000005
【００１９】
１次元ＤＣＴ及び１次元ＩＤＣＴ
2006050571.tif 000006
2006050571.tif 000007
2006050571.tif 000008
【００２０】
２次元ＤＣＴの２つの独立な１次元ＤＣＴによる表現
2006050571.tif 000009
2006050571.tif 000010
【００２１】
また、特許文献１（特開平７―１７７０３９号公報）には、可変長符号化（ＶＬＣ）の一方式であるハフマン符号化・復号化を行う装置において、復号時に用いるハフマン符号のテーブルを格納するために必要なメモリ容量を小さくする技術が開示されている。
【００２２】
しかし、可変長符号化処理は図８に示した符号化回路のごく一部に過ぎず、この部分でメモリ容量を削減しても、ゲート数削減の根本的な対策とは言えなかった。例えば、図８に示すＭＰＥＧフレーム間予測符号化回路の各回路ブロックの回路規模は、ＭＥとＭＣを併せておよそ５〜６万ＡＳＩＣゲート、ＤＣＴ、ＩＤＣＴ、Ｑ、Ｑ-1ハードウエアが各々およそ１．５万ＡＳＩＣゲート、ＶＬＣがおよそ３万ＡＳＩＣゲートとなり、合計１４〜１５万ＡＳＩＣゲートの回路規模を要し、ゲート規模が大きくなりチップのコストが高くなってしまうのは避けられなかった。
【００２３】
一方、近年、極めて短時間に内部構成を書き換え可能なダイナミック・リコンフィギュアブル・プロセッサ（動的再構成プロセッサ）が発表されている。従来、回路構成を変更可能なデバイスとしては、ルックアップテーブル等からなるプリミティブな回路を単位として様々な機能に再構成可能なＦＰＧＡ(Field Programmable Gate Array)が良く知られている。但し、ＦＰＧＡは回路構成の書き換えに通常１分程度の時間を要し、クロック毎に動的に再構成するようなことはできなかった。これに対して、動的再構成プロセッサは、再構成する回路単位を乗算器等ある程度まとまった演算回路とするとともに、その他高速化の工夫を行うことにより、１クロック（例えば１０ｎｓ）毎に回路構成を書き換え可能にしている。
【００２４】
このような、動的再構成プロセッサを応用したものとしては、例えば、特許文献２（特開２０００−１０２００５号公報）には、画像の濃度値に応じて最適な演算器構成を動的再構成する技術が開示されている。
【００２５】
【特許文献１】特開平７―１７７０３９号公報
【特許文献２】特開２０００−１０２００５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
このように、静止画像或いは動画像の圧縮・伸長処理を、汎用プロセッサとソフトウエアにより実現する場合には、低コストで柔軟性があるが、処理速度が遅い。また、ハードウエアで実現する場合に比して、消費電力が大きいという課題があった。一方、ハードウエアにより実現する方法は、処理速度が速く、またソフトウエア処理で実現する場合よりも消費電力が小さいが、必要なゲートサイズが大きく、チップのコストが高い、また実装面積が大きいという課題があった。
【００２７】
本発明はこれらの課題を解決し、小規模なゲート数で、高速かつ柔軟な画像処理を実現することを目的とする。
【課題を解決するための手段】
【００２８】
上述の目的は、複数の工程から成る所定の画像処理を行う画像処理装置において、動的再構成が可能な動的再構成回路と、動的再構成回路を用いて構成する複数の回路情報を記憶する再構成情報記憶手段と、動的再構成回路により構成する回路を変更する再構成タイミングを検出する再構成タイミング検出手段と、再構成タイミングの検出に応答して、動的再構成回路により構成すべき回路に対応する回路情報を再構成情報記憶手段から読み出し、動的再構成回路を再構成する制御手段とを有し、再構成タイミング検出手段が、複数の工程のうち、処理すべき時間が独立している工程の開始タイミング又は終了タイミングを検出することを特徴とする画像処理装置によって達成される。
【発明の効果】
【００２９】
このような構成により、本発明によれば、小規模なゲート数で、高速かつ柔軟な画像処理を実現することができる。
【発明を実施するための最良の形態】
【００３０】
以下、添付図面に従って、本発明をその好適な実施形態に基づき詳細に説明する。
まず、具体的な実施形態の説明を行う前に、本発明の原理について説明する。本発明に係る画像処理回路は、複数の工程から成る一連の処理を実行することによって、画像圧縮・伸張等の負荷の重い処理を実現する画像処理回路であって、実行する処理期間が異なる（処理すべき時間が独立している）２つ以上の異なる処理工程を実行する回路を動的再構成技術を用いて実現する。これにより、従来、各々独立に用意していた処理回路を、１つの動的再構成回路を時分割に用いて実現することにより、回路規模を削減し、高パフォーマンス（高速処理）、低消費電力、低コスト（小ゲート規模）、柔軟性を同時に実現するのである。
【００３１】
図１は、本発明に係る画像処理装置の基本動作フローを示したものである。
【００３２】
図１は、例として、２つの異なる期間（各々処理期間１、処理期間２とする）に、各々の処理（処理１、処理２とする）を実行する場合の動作フローを示したものである。
【００３３】
Ｓ１００で、処理期間１を検出すると、Ｓ１０１に進み、後述する制御部２０２の制御により、処理期間１用の再構成情報１を後述する再構成情報記憶部２０３より読み出して、当該再構成情報１に基づき、処理回路１を後述する動的再構成回路２０１に動的に再構成する。
【００３４】
続いて、Ｓ１０２で、処理期間１に、動的再構成された処理回路１が所定の処理１を実行し、Ｓ１０３に進む。また、Ｓ１００において、処理期間１を検出しなかった場合も同様にＳ１０３に進む。Ｓ１０３で、処理期間２を検出すると、Ｓ１０４に進み、制御部２０２の制御により、処理期間２用の再構成情報２を再構成情報記憶部２０３より読み出して、当該再構成情報２に基づき、処理回路２を動的再構成回路２０１に動的に再構成する。続いて、Ｓ１０５で、処理期間２に、動的再構成された処理回路２が所定の処理２を実行し、Ｓ１００に戻る。Ｓ１０３で、処理期間２を検出しなかった場合は、Ｓ１００に戻る。
【００３５】
●（第１の実施形態）
次に、図１で説明した基本動作を具体的な処理に適用した実施形態として、ＭＰＥＧフレーム間予測符号化回路に動的再構成手段を適用し、マクロブロック処理期間の前半と、後半に異なる処理回路を動的再構成して、回路規模削減を実現する例を説明する。
【００３６】
図２は、第１の実施形態に係る画像処理回路としてのＭＰＥＧフレーム間予測符号化回路の主要構成を示す。尚、図２において、図８と共通する構成には同じ参照番号を使用し、説明を省略する。
【００３７】
図において、２０１は動的再構成回路、２０２は動的再構成回路の制御部、２０３は動的再構成する回路の情報を格納する再構成情報記憶部、２０４は制御部の制御プログラムを格納する制御情報記憶部、２０５はマクロブロック再構成タイミング検出部である。動的再構成回路２０１は動的再構成可能なプロセッサアレイ等から構成される。制御部２０２は、通常のＣＰＵ等から構成される。再構成情報記憶部２０３、制御情報記憶部２０４は、通常のフラッシュメモリ等の不揮発性メモリから構成される。また、２０８は動的再構成回路との間で中間情報をやり取りする為の中間情報記憶部である。
【００３８】
本実施形態において、マクロブロック再構成タイミング検出部２０５は、マクロブロック処理期間の前半（図１における処理期間１に相当）と、後半（同処理期間２に相当）の開始タイミングを検出するものとする。動的再構成回路２０１は、再構成可能な演算器２０６と、接続を切り替える１対のスイッチ（以下、ＳＷと呼ぶ）２０７とから成る。８０１はフレームメモリ、８０２はＭＥ、８０３はＭＣ、８０６はＶＬＣであり、これらは図８の構成と同様であり、説明を省略する。
【００３９】
図３は、本実施形態に係る予測符号化回路のマクロブロック処理期間前半（図３（ａ））及び後半（図３（ｂ））の構成を示す。本実施形態では、図２における動的再構成回路２０１に、マクロブロック処理期間の前半ではローカルデコーダを、マクロブロック処理期間の後半では符号化処理部をそれぞれ動的再構成する。
【００４０】
図４は、図３に示す構成を有する符号化回路の動作フローである。
以下、図３及び図４に従って本実施形態のＭＰＥＧフレーム予測符号化回路の動作を説明する。
Ｓ４００で、マクロブロック再構成タイミング検出部２０５によりマクロブロック処理期間の前半の開始タイミングが検出されると、当該情報が制御部２０２に割り込み等で通知され、Ｓ４０１で、制御部２０２は、制御情報記憶部２０４に格納されたプログラムに基づいて、再構成情報記憶部２０３よりＱ-1８０７、ＩＤＣＴ８０８から成るローカルデコーダ８０９の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路２０１の演算器２０６、ＳＷ２０７により、ローカルデコーダを動的再構成させる。
【００４１】
そして、Ｓ４０２で、図８を用いて説明したように、Ｑ-1８０７、ＩＤＣＴ８０８から成るローカルデコーダにより、前マクロブロック周期後半に中間情報記憶部２０８に格納された、量子化されたＤＣＴ係数を逆量子化してＤＣＴ係数を復元した後、ＤＣＴ係数から符号化用予測誤差を復元し、当該符号化用予測誤差と前フレーム復元画像とから符号化用予測画像を作成する。その他、図４には示していないが、マクロブロック処理期間の前半には、ＭＥ８０２により動きベクトルが検出され、ＭＣ８０３により当該マクロブロックの動きベクトルに基づく動き補償が行なわれ、動き補償された符号化予測画像がフレームメモリ８０１に格納される。
【００４２】
次に、Ｓ４０３で、マクロブロック再構成タイミング検出部２０５によりマクロブロック処理期間の後半の開始タイミングが検出されると、当該情報が制御部２０２に割り込み等で通知され、Ｓ４０４で、制御部２０２は、制御情報記憶部２０４に格納されたプログラムに基づいて、再構成情報記憶部２０３よりＤＣＴ８０４、Ｑ８０５から成る符号化処理部の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路２０１の演算器２０６、ＳＷ２０７により、符号化処理部を動的再構成させる。そして、Ｓ４０５で、図８を用いて説明したように、ＤＣＴ８０４、Ｑ８０５から成る符号化処理部により、フレームメモリ８０１に格納した符号化用予測画像と入力画像との予測誤差からＤＣＴ係数を生成し、量子化し、中間情報記憶部２０８に格納する。その他、図４には示していないが、マクロブロック周期の後半には、ＶＬＣ８０６により、当該マクロブロックに対するＤＣＴ係数及び動きベクトルが、出現頻度に応じて、可変長符号化される。
【００４３】
以上説明したように、本実施形態においては、ＭＰＥＧフレーム間予測符号化回路のマクロブロック処理期間の前半と後半に、各々ローカルデコーダと符号化処理部を動的再構成することにより、各々約３万ＡＳＩＣゲートの規模を要するローカルデコーダと符号化処理部をそれぞれ用意しておく従来の構成に比して、３万ＡＳＩＣゲート程度の回路規模削減が実現できる。尚、動的再構成回路２０１制御用の制御部２０２の処理負荷は数ＭＩＰＳ程度、制御情報用記憶部２０４、再構成情報記憶部２０３に要する容量は数ｋＢｙｔｅ程度であり、当該ＭＰＥＧフレーム間予測符号化回路２００を包含する画像処理装置自体の制御部及び制御情報用記憶部、データ用記憶部に容易に実装可能であり、回路規模の増大の要因になることはない。
【００４４】
また、扱う画像サイズをＶＧＡ（６４０画素×４８０ライン）、フレームレートを３０フレーム／ｓとすると、最低１６×１６／（６４０×４８０×３０）＝２７．８μｓ以内に１マクロブロックを符号化処理する必要がある。復号化処理も同時に実行する等のオーバーヘッド等を考慮すると、更に半分以下の時間以内に処理する必要がある。近年発表された高速のリコンフィギュアプロセッサは最大１００ＭＨｚ動作で、１クロック（１０ｎｓ）で再構成可能であるので、このような高速なプロセッサを用いれば、マクロブロック処理期間の前半と後半で上述した動的再構成を行うことは十分可能である。
【００４５】
なお、図２に示した回路構成は単なる一例であり、制御部、再構成情報記憶部の構成等、他のアーキテクチャーでも構わないことは言うまでもない。
【００４６】
また、本実施形態においては、Ｑ-1８０７、ＩＤＣＴ８０８から成るローカルデコーダ８０９と、ＤＣＴ８０４、Ｑ８０５から成る符号化処理部の両処理回路を異なる期間に動的再構成するものとしたが、動的再構成の対象とする回路も本実施形態に限定されるものではなく、符号化・復号化処理工程のうち、異なる期間に実行される処理工程であれば、当該処理工程に対応する処理回路を動的再構成の対象として良いことは言うまでもない。例えば、ＭＰＥＧフレーム間予測符号化回路においては、動き検出工程、動き補償工程、直交変換（ＤＣＴ）工程、量子化（Ｑ）工程、逆量子化（Ｑ-1）工程、逆直交変換（ＩＤＣＴ）工程、可変長符号化（ＶＬＣ）工程の中から異なる期間に実行される２つ以上の異なる工程に対応する処理回路を動的再構成の対象にしても良い。
【００４７】
また、本実施形態においては、動的再構成を切り替える処理期間はマクロブロック処理期間の前半と後半としたが、マクロブロック期間を本実施形態の後半から前半と定義して、前半と後半で切替えても良いことは言うまでもない。
【００４８】
また、本実施形態においては、動的再構成を切り替える処理期間はマクロブロック処理期間の前半と後半としたが、動的再構成を切り替える処理期間も本実施形態に限定されるものではなく、符号化・復号化処理工程のうち、実行する処理期間が異なる２つ以上の異なる符号化処理工程に対して、各々の処理期間に、対応する処理回路を動的再構成しても良いことは言うまでもない。
【００４９】
また、本実施形態においては、Ｑ-1８０７、ＩＤＣＴ８０８から成るローカルデコーダ８０９と、ＤＣＴ８０４、Ｑ８０５から成る符号化処理部の両処理回路を異なる期間に動的再構成するものとしたが、ＤＣＴ８０４とＩＤＣＴ８０８は共通部分をＤＣＴ／ＩＤＣＴ共通回路として予め用意し、当該ＤＣＴ／ＩＤＣＴ共通回路とＩＤＣＴ８０８との差分回路及び当該ＤＣＴ／ＩＤＣＴ共通回路とＤＣＴ８０４との差分回路を各々動的再構成するようにしても良い。
【００５０】
以上説明したように、本実施形態によれば、小規模なゲート数で、高速かつ柔軟な画像処理を実現することが可能である。
【００５１】
●（第２の実施形態）
図５に、本発明の第２の実施形態の構成を示す。尚、図５において、図２又は図８と共通する構成には同じ参照数字を用いた。
図において、２０１は動的再構成回路、２０２は動的再構成回路の制御部、２０３は動的再構成する回路の情報を格納する再構成情報記憶部、２０４は制御部の制御プログラムを格納する制御情報記憶部、２０５はマクロブロック再構成タイミング検出部である。本実施形態においても、マクロブロック再構成タイミング検出部２０５は、マクロブロック処理期間の前半と、後半の開始タイミングを検出するものとする。動的再構成回路２０１は、再構成可能な演算器２０６と、接続を切り替えるスイッチ（以下、ＳＷと呼ぶ）２０７とから成る。８０１はフレームメモリ、８０３はＭＣ、８０４はＤＣＴ、８０５はＱ、８０７はＱ-1、８０８はＩＤＣＴである。
【００５２】
本実施形態においては、図６に示すように、マクロブロック処理期間の前半にＭＥ８０２を動的再構成し、マクロブロック処理期間の後半にＶＬＣ８０６を動的再構成する点で第１の実施形態のＭＰＥＧフレーム予測符号化回路と異なる。
【００５３】
図７に本実施形態に係る符号化回路の動作フローを示す。
以下、図６及び図７に従って、本実施形態のＭＰＥＧフレーム予測符号化回路の動作を説明する。
Ｓ７００で、マクロブロック再構成タイミング検出部２０５によりマクロブロック処理期間の前半の開始タイミングが検出されると、当該情報が制御部２０２に割り込み等で通知される。Ｓ７０１で、制御部２０２は、制御情報記憶部２０４に格納されたプログラムに基づいて、再構成情報記憶部２０３よりＭＥ８０２の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路２０１の演算器２０６、ＳＷ２０７により、ＭＥ８０２を動的再構成させる。
【００５４】
そして、Ｓ７０２で、ＭＥ８０２により、当該マクロブロックと、参照フレーム内で最も近似度の高いマクロブロックを探索し、動きベクトルを検出する。その他、図７には示していないが、マクロブロック周期の前半には、Ｑ−１８０７、ＩＤＣＴ８０８から成るローカルデコーダにより、前マクロブロック処理周期後半で中間情報記憶部２０８に記憶された、量子化されたＤＣＴ係数の逆量子化によりＤＣＴ係数が復元され、ＤＣＴ係数から符号化用予測誤差が復元される。そして、当該符号化用予測誤差と前フレーム復元画像とから符号化用予測画像が作成され、ＭＣ８０３により当該マクロブロックの当該動きベクトルに基づく動き補償が行われ、動き補償された符号化予測画像がフレームメモリ８０１に格納される。
【００５５】
次に、Ｓ７０３で、マクロブロック再構成タイミング検出部２０５によりマクロブロック処理期間の後半の開始タイミングが検出されると、当該情報が制御部２０２に割り込み等で通知され、Ｓ７０４で、制御部２０２は、制御情報記憶部２０４に格納されたプログラムに基づいて、再構成情報記憶部２０３よりＶＬＣ８０６の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路２０１の演算器２０６、ＳＷ２０７により、ＶＬＣ８０６を動的再構成させる。そして、Ｓ７０５で、ＶＬＣ８０６により、当該マクロブロックに対するＤＣＴ係数および動きベクトルを出現頻度に応じて可変長符号化して、符号化信号として出力する。その他、図７には示していないが、マクロブロック周期の後半には、符号化処理部により、フレームメモリ８０１に格納された符号化用予測画像と入力画像との予測誤差からＤＣＴ係数が生成され、量子化され、中間情報記憶部２０８に格納される。
【００５６】
このように、ＭＥ８０２と、ＶＬＣ８０６の両処理回路を異なる期間に動的再構成する本実施形態においても第１の実施形態と同様の効果が実現できる。
また、第１の実施形態と第２の実施形態とを組み合わせ、マクロブロック処理期間の前半にＭＥとローカルデコーダを、後半に符号化処理部とＶＬＣを動的再構成しても良い。
【００５７】
また、本実施形態においては、動的再構成を切り替える処理期間はマクロブロック処理期間の前半と後半としたが、マクロブロック期間を本実施形態の後半から前半と定義して、前半と後半で切替えても良いことは言うまでもない。
【００５８】
また、本実施形態においても第１の実施形態と同様、動的再構成を切り替える処理期間はマクロブロック処理期間の前半と後半としたが、動的再構成を切り替える処理期間も本実施形態に限定されるものではなく、符号化・復号化処理工程のうち、実行する処理期間が異なる２つ以上の異なる符号化処理工程に対して、各々の処理期間に、対応する処理回路を動的再構成しても良いことは言うまでもない。
【００５９】
●（第３の実施形態）
図９に、本発明の第３の実施形態の構成を示す。尚、図９において、第２の実施形態で説明した図５と共通する構成には同じ参照数字を用いた。
【００６０】
本実施形態においては、スループット情報検出部２０９を設け、要求されるスループットに応じて動的再構成により生成する回路の機能及び規模を決定する。すなわち、単機能を実現する回路であれば、そのスループットは回路規模の増大と共に上昇するので、高スループットが必要な場合には回路規模を大きくする。しかしながら、ある機能を実現するための回路規模を大きくすると、他の機能を実現するための回路を構成するための資源が少なくなる。そのため、再構成の回数を増やして対処する。
【００６１】
具体的には、要求される処理がＱＶＧＡ（３２０画素×２４０ライン）サイズの画像を１５ｆｐｓで符号化する場合は低スループットで良く、求められるデータ処理速度も２７Ｍｂｐｓ程度である。従って、回路の動作スピードの条件も比較的緩く、比較的回路規模の小さい回路を選択して、複数の処理工程に対応する回路を１回で動的再構成することが可能となる。例えば、ＭＰＥＧ２符号化処理の動き検出（ＭＥ）及び動き補償（ＭＣ）を行う回路をマクロブロック処理期間の前半に動的再構成して実行し、後半にＤＣＴ、Ｑ、ＩＤＣＴ、Ｑ−１、ＶＬＣの各処理を行う回路を動的再構成して実行することができる。
【００６２】
一方、要求される処理がフルカラー（２４ビット／画素）、ＶＧＡ（６４０画素×４８０ライン）サイズの画像を６０ｆｐｓで符号化する場合は高スループットである必要がある。この場合、求められるデータ処理速度も４４２Ｍｂｐｓ程度と大幅に高くなる。そのため、回路の動作スピードの条件も比較的厳しく、動作速度を優先して比較的回路規模の大きな回路を選択して動的再構成することになる。
【００６３】
この結果、１回の動的再構成で実現される回路の種類が減少すれば、必要な動的再構成の回数も増大する。例えば、ＭＰＥＧ２符号化処理の工程で言えば、上述の低スループット時には２回の動的再構成で済む。しかし、高スループット時には、例えば（１）ＭＥとＭＣ、（２）ＤＣＴとＩＤＣＴ、（３）ＱとＱ−１、（４）ＶＬＣの４回の動的再構成が必要となる。
【００６４】
また、要求されるスループットにより、低スループットの場合はマクロブロック周期も相対的に長くて良いが、高スループットの場合はマクロブロック周期も相対的に短くすることも場合によっては必要である。
【００６５】
図１０は、第３の実施形態のＭＰＥＧフレーム予測符号化回路における、低スループット時の構成を示す。また、図１１Ａ、図１１Ｂは、第３の実施形態のＭＰＥＧフレーム予測符号化回路における、高スループット時の構成を示す。
これらの図において、図９と共通する構成には同じ参照数字を用いた。
【００６６】
図において、２０１は動的再構成回路、２０２は動的再構成回路の制御部、２０３は動的再構成する回路の情報を格納する再構成情報記憶部、２０４は制御部の制御プログラムを格納する制御情報記憶部、２０５はマクロブロック再構成タイミング検出部である。本実施形態においては、再構成情報記憶部２０３には、要求されるスループットに応じて、マクロブロック処理期間の中の各部分期間において各工程に対応した動的再構成すべき回路構成情報を格納しているものとする。すなわち、同じ機能を実現する回路について、異なる回路規模（＝処理速度）の構成が複数種格納されている。
【００６７】
そして、２０９は不図示のユーザインタフェース等を介して入力される要求スループット情報を検出し、制御部２０２に出力するスループット検出部である。当該スループット情報検出部により検出される要求されるスループットに応じて、制御部２０２が再構成情報記憶部２０３の対応する構成情報を選択するものとする。
【００６８】
マクロブロック再構成タイミング検出部２０５は、要求されるスループット（処理性能）に応じて、再構成のタイミングを検出する。本実施形態においては、低スループット時にはマクロブロック処理期間を２分割した前半期間と後半期間の各開始タイミングを検出する。また、高スループット時には、マクロブロック処理期間を４分割した第一期間、第二期間、第三期間、第四期間の各開始タイミングを検出する。
【００６９】
また、スループットに応じて、マクロブロック周期自体の長さも異なるものとする。動的再構成回路２０１は、再構成可能な演算部２０６と、接続を切り替えるスイッチ（以下、ＳＷと呼ぶ）２０７とから成る。８０１はフレームメモリである。
【００７０】
８０７及び８０９〜８１２は演算部２０６の再構成して実現される回路を示している。８０９はＭＥ＆ＭＣ、８１０はＤＣＴ＆Ｑ＆Ｑ-1＆ＩＤＣＴ＆ＶＬＣ、８１１はＤＣＴ＆ＩＤＣＴ、８１２はＱ＆Ｑ-1、８０７はＶＬＣである。
【００７１】
図１０（ａ）及び（ｂ）に示すように、本実施形態においては、低スループット時は、マクロブロック処理周期の前半にＭＥ＆ＭＣを動的再構成して当該処理を実行し、後半にＤＣＴ、Ｑ、Ｑ-1、ＩＤＣＴ及びＶＬＣを動的再構成して実行するように制御する。
【００７２】
一方、高スループット時は、図１１Ａ及び図１１Ｂに示すように、マクロブロック処理期間の第一期間にＭＥ及びＭＣを動的再構成して当該処理を実行し（図１１Ａ（ａ））、第二期間にはＤＣＴ及びＩＤＣＴを動的再構成して当該処理を実行する（図１１Ａ（ｂ））。そして、第三期間にＱ及びＱ-1を動的再構成して当該処理を実行し（図１１Ｂ（ａ））、第四期間にＶＬＣを動的再構成して実行するように制御する（図１１Ｂ（ｂ））。
【００７３】
これらの制御は、第２の実施形態で図７のフローチャートを参照して説明した手順と同様にして実現できる。すなわち、低スループットの場合は処理期間前半と後半で再構成する回路の種類が異なる点のみ相違する。また、高スループットの場合には、処理期間の切り替わりの検出回数が２回から４回になること、検出後に再構成する回路の種類が異なることのみが異なる。
【００７４】
このように、本実施形態によれば、符号化処理の要求スループットが低い場合は、所定周期内の動的再構成回数を減少させることにより、動的再構成に係る処理負荷を低減し、他の処理へ負荷を割くことができるという効果もある。例えば、動的再構成回路の制御部が、動的再構成回路に符号化を実行させながら、他のグラフィック処理を行う等が実現できる。
【００７５】
また、符号化処理の要求スループットが低い場合は、所定周期内の動的再構成回数を減少させることにより、再構成データのロード或いは中間記憶回路の書込み及び読み出し回数が減少し、消費電力を低減することができるという効果もある。
【００７６】
また、符号化処理の要求スループットが高い場合にも柔軟に対処できるため、様々な入力信号に対する処理を１つの構成で実現することができる。従って、本実施形態によれば、スループットによらず、第１、２の実施形態と同様、各工程のための回路を並列に有する構成に比べて、小規模なゲート数で、高速かつ柔軟な画像処理を実現することが可能であるという効果がある。
【００７７】
（他の実施形態）
なお、上述の実施形態においては、発明をわかりやすくするため、動的再構成回路の構成内容をマクロブロック処理の前半と後半とで切り替えるものとして説明した。しかし、ここでの「前半」及び「後半」とは、マクロブロック処理期間を２等分していることを意味するものとは限らない。例えば、マクロブロック処理が復号化処理と符号化処理からなる場合、これら２つの処理に要する時間は等しくないこともある。この場合、再構成を行うタイミングはマクロブロック処理期間の中間時点ではないが、便宜上そのような表現を用いている。
【００７８】
上述の実施形態においては、所定の処理期間に動的再構成する処理回路が予め決まっていたが、処理負荷、スループット、圧縮率といった一般的に測定可能な指標や、予め定めた符号化難易度（例えば、測定可能な複数の指標の組み合わせにより定義することができる）等の所定の指標に基づいて、所定の処理期間に動的再構成する処理回路を決定しても良い。
【００７９】
例えば、符号化難易度は、時間方向の圧縮に関しては動きが激しい場合符号化難易度が高く、ＭＥ実施前に誤差情報が所定以上の場合は符号化難易度が高いと判断し、空間方向の圧縮に関しては高周波成分が多いと符号化難易度が高く、ＤＣＴ係数が大きいと符号化難易度が高いと判断するようにすればよい。
また、処理負荷、圧縮率についても符号化難易度と同様、難易度が高い場合には処理負荷が高く、圧縮率が低くなる。
【００８０】
このような指標に基づく動的再構成制御の例としては、時間方向の符号化難易度が低い場合（即ち、処理負荷も小さい場合）は、例えば、ＭＥは動的再構成しないようにしたり、空間方向の符号化難易度が高い場合（即ち、処理負荷も大きい場合）は、ＶＬＣの前処理としてランレングスの有効データを詰める処理を実施する回路を複数並列に動作できるように再構成し、難易度が低い場合（即ち、処理負荷も大きい場合）は、上記回路を１つだけ再構成するようにしたりすることが考えられる。
【００８１】
また、同様に、例えば、当該マクロブロックの動きベクトル検出の探索に大きな演算処理負荷がかかったので、次のマクロブロックの動きベクトル検出の探索の為に、演算回路を動的再構成によりもう一つ構成し、複数の演算回路により並列処理して処理負荷を分散する等、所定の処理工程の処理結果に基づいて、どの期間にどのような工程に対応する処理回路を動的再構成するかを判断して、動的再構成するように制御しても良い。
【００８２】
なお、上述の実施形態では、本発明をＭＰＥＧフレーム間予測符号化回路に適用した例を説明した。画像の符号化・復号化処理は本発明を好適に適用できる分野ではあるが、本発明は基本的に異なる期間に実行される処理工程を有する処理であって、ハードウエアによる高速処理が必要な任意の処理に適用可能であることは言うまでもない。
【図面の簡単な説明】
【００８３】
【図１】本発明に係る画像処理回路の基本動作を説明するフローチャートである。
【図２】本発明の第１の実施形態に係るＭＰＥＧフレーム間予測符号化回路の主要構成を示すブロック図である。
【図３】本発明の第１の実施形態に係るＭＰＥＧフレーム間予測符号化回路の動作時における動的再構成回路２１０の状態を説明する図である。
【図４】本発明の第１の実施形態に係るＭＰＥＧフレーム間予測符号化回路の動作を説明するフローチャートである。
【図５】本発明の第２の実施形態に係るＭＰＥＧフレーム間予測符号化回路の主要構成を示すブロック図である。
【図６】本発明の第２の実施形態に係るＭＰＥＧフレーム間予測符号化回路の動作時における動的再構成回路２１０の状態を説明する図である。
【図７】本発明の第２の実施形態に係るＭＰＥＧフレーム間予測符号化回路の動作を説明するフローチャートである。
【図８】従来のＭＰＥＧフレーム間予測符号化回路の構成を示すブロック図である。
【図９】本発明の第３の実施形態に係るＭＰＥＧフレーム間予測符号化回路の主要構成を示すブロック図である。
【図１０】本発明の第３の実施形態に係るＭＰＥＧフレーム間予測符号化回路の動作時（低スループット時）における動的再構成回路２１０の状態を説明する図である。
【図１１Ａ】、
【図１１Ｂ】本発明の第３の実施形態に係るＭＰＥＧフレーム間予測符号化回路の動作時（高スループット時）における動的再構成回路２１０の状態を説明する図である。
【図１】
2006050571.tif 000011
【図２】
2006050571.tif 000012
【図３】
2006050571.tif 000013
【図４】
2006050571.tif 000014
【図５】
2006050571.tif 000015
【図６】
2006050571.tif 000016
【図７】
2006050571.tif 000017
【図８】
2006050571.tif 000018
【図９】
2006050571.tif 000019
【図１０】
2006050571.tif 000020
【図１１Ａ】
2006050571.tif 000021
【図１１Ｂ】
2006050571.tif 000022