(57)【特許請求の範囲】
【請求項１】
画像のブロックごとにそのブロックに含まれる画素値の周波数解析結果である１つの直流成分の情報と直流成分以外の各周波数の成分の情報とを含む圧縮画像データを受け取り、受け取った圧縮画像データを先頭のブロックから順にブロックごとに、当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一か否かを判定する判定手段と、
前記判定手段にて当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一でないと判定された場合は、当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対して前記周波数解析の逆演算を行うことで当該ブロックの各画素値を生成する第１画素値生成手段と、
前記第１画素値生成手段が生成した前記ブロックの各画素値を、当該ブロックの次のブロックの各画素値が生成されるまで保持する保持手段と、
前記判定手段にて当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一であると判定された場合は、前記保持手段に保持された前記直前のブロックの各画素値と、当該ブロックと前記直前のブロックの直流成分同士の差と、から当該ブロックの各画素値を生成する第２画素値生成手段と、
を備える画像データ復号装置。
【請求項２】
再構成可能回路と、
前記判定手段の回路と前記第１画素値生成手段の回路と前記保持手段の回路とを含む第１回路構成と、前記判定手段の回路と前記第２画素値生成手段の回路と前記保持手段の回路とを含む第２回路構成とを、互いに排他的に前記再構成可能回路上に再構成する制御を行う再構成制御手段と、
を備え、前記再構成制御手段は、
（ａ）前記再構成可能回路上に再構成されている前記第１回路構成の前記判定手段の回路にて、当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一であると判定された場合は、前記再構成可能回路上に前記第１回路構成に代えて前記第２回路構成を再構成し、再構成された前記第２回路構成の前記第２画素値生成手段の回路に対して、前記保持手段に保持された前記直前のブロックの各画素値と、当該ブロックと前記直前のブロックの直流成分同士の差と、から当該ブロックの各画素値を生成させ、
（ｂ）前記再構成可能回路上に再構成されている前記第２回路構成の前記判定手段の回路にて、当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一でないと判定された場合は、前記再構成可能回路上に前記第２回路構成に代えて前記第１回路構成を再構成し、再構成された前記第１回路構成の前記第１画素値生成手段の回路に対して当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対する前記逆演算により当該ブロックの各画素値を生成させる、
ことを特徴とする請求項１に記載の画像データ復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ復号装置に関する。
【背景技術】
【０００２】
ＪＰＥＧ（Joint Photographic Experts Group）等の圧縮方式に従って圧縮符号化された画像データを伸張復号する復号装置の中には、複数の伸張器を並列動作させることで伸張復号処理を高速化するものがある。
【０００３】
例えば、特許文献１に開示された装置では、圧縮の際に画像の部分ごとにヘッダ情報を挿入して圧縮し、それら各部分の圧縮データを複数の伸張器で並列的に伸張し、伸張結果の各部分を合成して画像を復元している。
【０００４】
また、特許文献２に開示された装置では、画像データを分割して圧縮し、その圧縮結果のデータを複数の伸張器で並列的に伸張している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１１３１８９号公報
【特許文献２】特開平１１−０４１４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、複数の伸張器を備える構成よりも小規模な構成で、単一の伸張器を備える構成よりも高速な伸張処理が可能な画像データ復号装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に係る発明は、画像のブロックごとにそのブロックに含まれる画素値の周波数解析結果である１つの直流成分の情報と直流成分以外の各周波数の成分の情報とを含む圧縮画像データを受け取り、受け取った圧縮画像データを先頭のブロックから順にブロックごとに、当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一か否かを判定する判定手段と、前記判定手段にて当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一でないと判定された場合は、当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対して前記周波数解析の逆演算を行うことで当該ブロックの各画素値を生成する第１画素値生成手段と、前記第１画素値生成手段が生成した前記ブロックの各画素値を、当該ブロックの次のブロックの各画素値が生成されるまで保持する保持手段と、前記判定手段にて当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一であると判定された場合は、前記保持手段に保持された前記直前のブロックの各画素値と、当該ブロックと前記直前のブロックの直流成分同士の差と、から当該ブロックの各画素値を生成する第２画素値生成手段と、を備える画像データ復号装置である。
【０００８】
請求項２に係る発明は、再構成可能回路と、前記判定手段の回路と前記第１画素値生成手段の回路と前記保持手段の回路とを含む第１回路構成と、前記判定手段の回路と前記第２画素値生成手段の回路と前記保持手段の回路とを含む第２回路構成とを、互いに排他的に前記再構成可能回路上に再構成する制御を行う再構成制御手段と、を備え、前記再構成制御手段は、（ａ）前記再構成可能回路上に再構成されている前記第１回路構成の前記判定手段の回路にて、当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一であると判定された場合は、前記再構成可能回路上に前記第１回路構成に代えて前記第２回路構成を再構成し、再構成された前記第２回路構成の前記第２画素値生成手段の回路に対して、前記保持手段に保持された前記直前のブロックの各画素値と、当該ブロックと前記直前のブロックの直流成分同士の差と、から当該ブロックの各画素値を生成させ、（ｂ）前記再構成可能回路上に再構成されている前記第２回路構成の前記判定手段の回路にて、当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一でないと判定された場合は、前記再構成可能回路上に前記第２回路構成に代えて前記第１回路構成を再構成し、再構成された前記第１回路構成の前記第１画素値生成手段の回路に対して当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対する前記逆演算により当該ブロックの各画素値を生成させる、ことを特徴とする請求項１に記載の画像データ復号装置である。
【発明の効果】
【０００９】
請求項１に係る発明によれば、複数の伸張器を備える構成よりも小規模な構成で、単一の伸張器を備える構成よりも高速な伸張処理が可能な画像データ復号装置を提供することができる。
【００１０】
請求項２に係る発明によれば、請求項１に係る画像データ復号装置の全回路を再構成可能回路上に再構成する場合よりも、再構成可能回路上の回路規模を小さくすることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態の画像データ復号装置の構成の一例を示す図である。
【図２】画像データ復号装置のハフマンデコード部の出力データ列の一例を模式的に示す図である。
【図３】ＪＰＥＧコード伸張部の内部構成の一例を示す図である。
【図４】隣接ブロック同一性判定部の処理手順の一例を示すフローチャートである。
【図５】実施形態の画像データ復号装置をＤＲＰへの実装のために２つのコンフィギュレーション（コンフィグ）に分けた場合の、通常のＪＰＥＧ伸張を行うコンフィグの例を示す図である。
【図６】実施形態の画像データ復号装置をＤＲＰへの実装のために２つのコンフィグに分けた場合の、隣接ブロックとＡＣ成分が同じブロック用の伸張を行うコンフィグの例を示す図である。
【図７】実施形態の画像データ復号装置をＤＲＰへ実装した場合のシステム構成の例を示す図である。
【発明を実施するための形態】
【００１２】
図１を参照して、実施形態の画像データ復号装置の構成例を説明する。ここでは、ＪＰＥＧ方式で圧縮されたデータを復号する装置を例にとって説明する。図１の画像データ復号装置は、ＪＰＥＧ伸張処理部１００、隣接ブロック同一性判定部１１０４、前ブロック符号保持部１１０６、前ブロックデータ保持部１１０８、及びＤＣ補正部１１１０、出力セレクタ１１１２及びデータ出力部１１６を備える。
【００１３】
ＪＰＥＧ伸張処理部１００は、ＪＰＥＧ圧縮された圧縮画像データをＪＰＥＧ方式に従って伸張する回路であり、ＪＰＥＧ伸張処理部１００は、入力データ取り込み部１０２、ハフマンデコード部１０４、ＪＰＥＧコード伸張部１０６、及び、８×８ブロックバッファ１０８を備える。
【００１４】
入力データ取り込み部１０２は、復号対象であるＪＰＥＧ圧縮された画像データを受信する回路である。
【００１５】
周知のように、ＪＰＥＧ方式の画像圧縮では、大まかに言えば、ビットマップ画像データを８×８画素のブロック単位に分割し、ブロックに対してＤＣＴ（離散コサイン変換）を行って周波数領域での８×８の周波数成分へと変換する。これら各周波数成分のうち、最も低周波数（例えば周波数０）の成分が直流（ＤＣ）成分であり、これはブロック内の画素値の平均を表す。ＤＣ成分より高い６３個の各周波数成分は交流（ＡＣ）成分と呼ばれる。このＤＣＴ結果の各周波数成分は量子化テーブルを用いて量子化される。１ブロック分の量子化後の各成分をジグザグスキャン順序で並べると、一般には、ＤＣ成分から始まり、その後にＡＣ成分が続くデータとなる。そして、このジグザグスキャン順序の各成分の量子化結果の並びをハフマン符号化することで、最終的なＪＰＥＧ圧縮画像データが得られる。ハフマン符号化処理では、ＤＣ成分は単独で（場合によっては直前のブロックのＤＣ成分との差分が）ハフマン符号に変換される。ＤＣ成分の後に続くＡＣ成分は、量子化により値が０の成分が多いため、連続する０の数（ゼロランと呼ばれる）とそのあとに続く非ゼロの成分値との組がハフマン符号化される。このように、１ブロックの画像は、最終的に、１つのＤＣ成分のハフマン符号と、その後に続くゼロランと非ゼロＡＣ成分の組のハフマン符号（０個以上）とからなるハフマン符号データに変換される。ここで、このハフマン符号化処理では、ジグザグスキャン順序である周波数成分（量子化結果）以降の全ての成分の値が０の場合、当該周波数成分以降の高周波成分をまとめて１つのブロック終端符号（ＥＯＢマーカと呼ぶ。ＥＯＢはEnd Of Blockの略）で表現することで、データ量の削減を図っている。
【００１６】
ハフマンデコード部１０４は、このようなＪＰＥＧ圧縮画像データを構成するハフマン符号を順に復号する。図２にハフマンデコード部１０４による復号結果２００の例を示す。この例に示すように、符号２０２などで示すデータが１ブロック分のデータである。１ブロックのデータは、上述のように一般には先頭にＤＣ成分、末尾にＥＯＢマーカを含む。通常のブロック２０２はＤＣ成分とＥＯＢマーカとの間に１以上のＡＣ成分を含むが、ＡＣ成分をまったく含まないＤＣ成分のみのブロックも存在し得る。このようなブロックでは、ＤＣ成分の値（ＤＣ係数とも呼ばれる）の直後にＥＯＢマーカが続く。また、ブロック２０４と２０６のように、ＤＣ成分は異なるがＡＣ成分が全部一致するブロックも存在し得る。
【００１７】
ＪＰＥＧコード伸張部１０６は、ハフマン復号結果のデータに対して逆量子化やＩＤＣＴ（逆離散コサイン変換）を行い、１ブロック（８×８画素）の各画素の画素値を求める。
【００１８】
ＪＰＥＧコード伸張部１０６の内部構成の例を図３に示す。図示のように、ＪＰＥＧコード伸張部１０６のＤＣ生成回路３０２は、ハフマン復号結果の各ブロックのデータの先頭からＤＣ成分の値を取り出し、これを８×８ブロック（８×８の周波数成分を記憶する回路）３０６の左上隅の成分に書き込む。ＡＣゼロラン展開回路３０４は、ＤＣ成分の後に続くゼロランと非ゼロＡＣ成分を８×８ブロック３０６の対応する成分の記憶領域に書き込む。８×８逆量子化計算回路３０８は、８×８ブロック３０６に記憶されたＤＣ成分と６３個の各ＡＣ成分を、逆量子化テーブルを参照して逆量子化する。ＩＤＣＴ計算回路３１０は、その逆量子化結果をＩＤＣＴ（逆離散コサイン変換）することで、１ブロック分すなわち８×８個の各画素の画素値を計算する。
【００１９】
８×８ブロックバッファ１０８は、ＪＰＥＧコード伸張部１０６の復号結果（ＩＤＣＴ計算回路３１０の出力）である１ブロック（８×８画素）分の画素値を一時的に保持する。８×８ブロックバッファ１０８に保持された１ブロックの各画素値は、出力セレクタ１１１２を介してデータ出力部１１６へと出力される。データ出力部１１６は、その各画素値を、例えばこの画像データ復号装置に対して復号処理を依頼した上位システム（例えば画像処理アプリケーションなど）などといった出力先システムに対して出力する。
【００２０】
以上に説明したＪＰＥＧ伸張処理部１００（及びＪＰＥＧコード伸張部１０６）の構成は、従来のＪＰＥＧ復号装置とほぼ同様のものでよい。ただし、本実施形態では、ハフマンデコード部１０４の出力は、直接ＪＰＥＧコード伸張部１０６に入力されるのではなく、隣接ブロック同一性判定部１１０４を介することになる。
【００２１】
隣接ブロック同一性判定部１１０４は、ハフマンデコード部１０４から供給される現ブロックのハフマン復号結果のうちのＡＣ成分が、直前のブロック（前ブロックと呼ぶ）のＡＣ成分と同一であるか否かを判定する。この判定では、ブロック内のＡＣ成分全体（すなわち全周波数成分）が、現ブロックと前ブロックとで完全に一致しているかどうかを判定する。前ブロックと現ブロックとでＡＣ成分全体が一致する場合、現ブロックは、ＤＣ成分以外の全ての周波数成分が前ブロックと同一である。また、隣接ブロック同一性判定部１１０４は、その判定の結果（「同一」又は「非同一」）を示す隣接ブロック同一性フラグを出力セレクタ１１１２に出力する。
【００２２】
前ブロック符号保持部１１０６は、隣接ブロック同一性判定部１１０４の判定のために、前ブロックの符号（すなわちＤＣ成分とＡＣ成分（全周波数成分））を保持する。前ブロック符号保持部１１０６に保持される符号は、ブロックを復号するごとに逐次最新のものに更新される。
【００２３】
前ブロックデータ保持部１１０８は、ＪＰＥＧコード伸張部１０６が伸張して８×８ブロックバッファ１０８に保持された１ブロック分の画素値の組のコピーを保持する。前ブロックデータ保持部１１０８に保持される１ブロック分の画素値の組は、ブロックを復号するごとに逐次最新のものに更新される。
【００２４】
ＤＣ補正部１１１０は、前ブロックデータ保持部１１０８に保持された前ブロックの各画素値を、隣接ブロック同一性判定部１１０４から供給されるＤＣ差分の値に応じて補正することで、現ブロックの各画素の値を求めて出力する。補正は、例えば、前ブロックの各画素の値に対してそれぞれＤＣ差分を加算することで行う。ＤＣ補正部１１１０の補正結果は、出力セレクタ１１１２に出力される。また、その補正結果が、前ブロックデータ保持部１１０８に上書きされる。
【００２５】
出力セレクタ１１１２は、隣接ブロック同一性判定部１１０４から供給される隣接ブロック同一フラグに基づき、ＪＰＥＧ伸張処理部１００とＤＣ補正部１１１０という２つの復号系統のうちの１つを選択し、選択した系統の復号結果をデータ出力部１１６へと出力する。すなわち、隣接ブロック同一フラグが「同一」であれば、ＤＣ補正部１１１０からのデータを選択し、「非同一」であればＪＰＥＧ伸張処理部１００からのデータを選択する。
【００２６】
図１の構成において、ＤＣ補正部１１１０の行う処理は、前ブロックデータ保持部１１０８が備える１ブロック６４画素のデータに対してそれぞれ同一のＤＣ差分値を加算するだけなので、１クロックで実行することができる。したがって、１画素当たり１クロックの時間を要するＪＰＥＧコード伸張部１０６よりもはるかに高速である。したがって、ＡＣ成分が同一のブロックがある程度連続する画像であれば、高速に復号される。また、ハードウエア回路として実装する場合の回路規模も、隣接ブロック同一性判定部１１０４、前ブロック符号保持部１１０６、前ブロックデータ保持部１１０８、ＤＣ補正部１１１０からなる復号系統は、通常のＪＰＥＧ復号を行うＪＰＥＧコード伸張部１０６よりはるかに小さい。図１の回路全体の規模は、ＪＰＥＧ伸張処理部１００を２系統並列に配置する場合よりも小さい。
【００２７】
次に、図４を参照して、隣接ブロック同一性判定部１１０４の処理手順の一例を説明する。この手順では、隣接ブロック同一性判定部１１０４は、ハフマンデコード部１０４から１ブロック分の復号結果（現ブロック）を得るごとに、その復号結果におけるＡＣ成分全体を、前ブロック符号保持部１１０６に保持された前ブロックのＡＣ成分全体と比較する（４０２）。なお、この比較の後、前ブロック符号保持部１１０６内の符号を、現ブロックの復号結果（ＤＣ成分とＡＣ成分全体）に置き換える。
【００２８】
次に隣接ブロック同一性判定部１１０４は、ステップ４０２の比較の結果、現ブロックと前ブロックのＡＣ成分全体（すなわち、すべてのＤＣ成分を除く全ての周波数成分）同士が一致しているかどうかを判定する（４０４）。ステップ４０４で「一致」と判定した場合、前ブロック符号保持部１１０６に保持された前ブロックのＤＣ成分と、現ブロックのＤＣ成分との差分を求め、このＤＣ差分をＤＣ補正部１１１０に供給する（４０６）。ＤＣ補正部１１１０は、前ブロックデータ保持部１１０８に保持された前ブロックの各画素の値に対し、このＤＣ差分の値を例えばそれぞれ加えることで、現ブロックの各画素の値を求めて出力する。また、出力セレクタ１１１２に対して現ブロックと前ブロックとのＡＣ成分が「同一である」ことを示す値の隣接ブロック同一フラグを出力する（４０８）。なお、ステップ４０６と４０８の順序はこの例に限らない。
【００２９】
また、ステップ４０４の判定結果が「不一致」の場合、隣接ブロック同一性判定部１１０４は、現ブロックのＤＣ成分値及びＡＣ成分値をＪＰＥＧコード伸張部１０６に供給する（４１０）と共に、出力セレクタ１１１２に対して現ブロックと前ブロックとのＡＣ成分が「同一でない」ことを示す値の隣接ブロック同一フラグを出力する（４１２）（４１０と４１２はこの順でなくてもよい）。
【００３０】
さて、本実施形態の画像データ復号装置をＤＲＰ（動的再構成可能プロセッサ：Dynamically Reconfigurable Processor）に実装する場合、リコンフィギュレーションにより実装規模を更に小さくすることも考えられる。なお、ＤＲＰは、周知のように、使用するＰＥの組合せやそれらＰＥ間の配線構造を動的に（すなわち例えば１クロックの間で）切り替えることで、内部の論理回路構成を動的に再構成できるプロセッサのことである。この例を、図５〜図７を用いて説明する。
【００３１】
この例では、図１に示した構成を、図５に示すコンフィギュレーション（以下「コンフィグ」と略す）Ａと図６に示すコンフィグＢの２つのコンフィグの動的切替により実現する。コンフィグは、ＤＲＰ上に同時に存在する回路のことである。
【００３２】
図５に示すコンフィグＡは、隣接ブロック間でＡＣ成分が共通でない、一般的な場合に対応するための回路構成であり、図１に示した装置構成のうち、ＪＰＥＧ伸張処理部１００、隣接ブロック同一性判定部１１０４、前ブロック符号保持部１１０６、前ブロックデータ保持部１１０８からなる部分に相当する。
【００３３】
隣接ブロック同一性判定部１１０４ａは、図１の隣接ブロック同一性判定部１１０４と同様、ハフマンデコード部１０４から供給される現ブロックのＡＣ成分が前ブロックと「同一」か否かを判定すると共に、「同一でない」と判定した場合は、現ブロックのＤＣ成分値及びＡＣ成分値をＪＰＥＧコード伸張部１０６に供給する。この隣接ブロック同一性判定部１１０４ａが、図１の隣接ブロック同一性判定部１１０４と異なる点は、「同一である」と判定した場合に、隣接ブロック間でＡＣ成分が共通する場合の復号系統であるコンフィグＢ（図６。詳細は後述）への切替を求めるリコンフィグリクエストを、リコンフィグ制御部１００８へと出力する点である。
【００３４】
前ブロック符号保持部１１０６及び前ブロックデータ保持部１１０８は、図１に示したものと同じであり、コンフィグＢの回路に前ブロックのハフマン復号結果の符号及び各画素値を伝達するために設けられている。すなわち、前ブロック符号保持部１１０６及び前ブロックデータ保持部１１０８は、コンフィグＡからコンフィグＢに書き換えられる場合も、そこに記憶したデータを保持したまま維持される。
【００３５】
隣接ブロック間でＡＣ成分が共通する場合の復号系統は、図６のコンフィグＢとして実装される。コンフィグＢは、入力データ取り込み部１０２、ハフマンデコード部１０４、隣接ブロック同一性判定部１１０４ｂ、前ブロック符号保持部１１０６、前ブロックデータ保持部１１０８、及びＤＣ補正部１１１０を備える。このうち、隣接ブロック同一性判定部１１０４ｂ以外は、図１に示した同一符号の要素と同じものでよい。隣接ブロック同一性判定部１１０４ｂは、図１の隣接ブロック同一性判定部１１０４と同様、ハフマンデコード部１０４から供給される現ブロックのＡＣ成分が前ブロックと「同一」か否かを判定すると共に、「同一である」と判定した場合は、現ブロックと前ブロックのＤＣ成分の差分値をＤＣ補正部１１１０に供給する。隣接ブロック同一性判定部１１０４ｂが、図１の隣接ブロック同一性判定部１１０４と異なる点は、「同一でない」と判定した場合に、通常のＪＰＥＧ復号系統であるコンフィグＡへの切替を求めるリコンフィグリクエストを、リコンフィグ制御部１００８へと出力する点である。
【００３６】
なお、図５及び図６では省略したが、８×８ブロックバッファ１０８及びＤＣ補正部１１１０の出力側には、図１の例のように出力セレクタ１１１２を設けてもよい。また、出力セレクタ１１１２なしで、８×８ブロックバッファ１０８及びＤＣ補正部１１１０の出力をデータ出力部１１６に直接接続するように構成してもよい。いずれの場合も、コンフィグＡとＢを切り替えたとしても、出力セレクタ１１１２又はデータ出力部１１６はリコンフィギュレーションしなくてよい。
【００３７】
図７に、このようなコンフィグの切替機能を実現するためのＤＲＰ構成の例を示す。
【００３８】
図７に示すＤＲＰにおいて、再構成可能回路部１００４は、内部の論理回路構成を動的に（すなわち当該プロセッサが動作中に）再構成できる回路である。再構成可能回路部１００４としては、例えば、特開２００９−３７６５号公報に紹介されているＤＮＡなど、様々な既存の、又はこれから開発される回路を用いることができる。例えば、ＤＮＡは、多数の回路要素（ＰＥ）からなるアレイであり、それら回路要素間の接続構成をコンフィギュレーションデータに従って高速（例えば１クロックの間に）組み替え可能となっている。なお、その公報で紹介されたＤＡＰＤＮＡアーキテクチャをこの実施形態に採用した場合、リコンフィグ制御部１００８及び次コンフィグデータ選択部１０１４は、ＤＡＰと呼ばれる汎用プロセッサコアで、後述する各機能を表すプログラムを実行することにより実現される。この場合、再構成可能回路部１００４と汎用プロセッサコアとが、１つのＤＲＰとして提供される。また、ＤＲＰは、ＲＡＭ（ランダム・アクセス・メモリ）等のメモリと、外部装置との間でのデータの入出力など入出力回路と、を備える。これらハードウエア要素のうちのいくつかが１つの集積回路上に集積されていてももちろんよい。もちろん、これはあくまで一例に過ぎず、他の再構成可能プロセッサアーキテクチャを用いてもよい。
【００３９】
データ入力部１００２は、再構成可能回路部１００４上に再構成（リコンフィグ）された処理回路に対して入力データを供給する手段である。例えば、再構成可能回路部１００４に接続されたメモリ上に確保された入力データ用のバッファ領域が、データ入力部１００２の一例である。この場合、ホストシステム（例えばこのＤＲＰの装着先のコンピュータのＣＰＵ）は、この実施形態のＤＲＰに圧縮画像の復号処理を実行させる場合、処理対象である圧縮画像データを入力データとしてそれら各バッファ領域に転送し、リコンフィグ制御部１００８に対してその入力データの処理を指示する。これに応じ、リコンフィグ制御部１００８は、その入力データをデータ入力部１００２から再構成可能回路部１００４上に構成された画像データ復号回路に供給する。また、別の例として、ホストシステムからこの実施形態のＤＲＰに、ＤＭＡ（ダイレクトメモリアクセス）によりデータを転送してもよく、この場合データ入力部１００２は、例えば、データ処理装置内のＤＭＡコントローラ（図示省略）により割り当てられるチャンネルに相当する。
【００４０】
データ出力部１００６は、再構成可能回路部１００４上に再構成された画像データ復号回路から出力されたデータをホストシステムに対して出力する手段である。データ出力部１００６も、上述のデータ入力部１００２と同様、再構成可能回路部１００４に接続されたメモリ上に確保された出力バッファ、或いはＤＭＡコントローラから割り当てられた出力チャンネルなどがその具体例である。
【００４１】
リコンフィグ制御部１００８は、再構成可能回路部１００４内の回路要素の接続関係を制御することで、再構成可能回路部１００４上に各種データ処理のための回路を再構成する。また、リコンフィグ制御部１００８は、再構成可能回路部１００４上に再構成された回路に対してホストシステムからの指示に応じてデータ入力部１００２経由で入力データを供給したり、その回路からの出力データをデータ出力部１００６経由でホストシステムに返したりする制御を行う。
【００４２】
再構成可能回路部１００４内の回路の再構成は、コンフィグデータ格納部１０１０に記憶されたコンフィグデータに従って行われる。この例では、コンフィグデータ格納部１０１０には、図５及び図６に示したコンフィグＡ及びＢをそれぞれ表すコンフィグデータＡ１０１２ａ及びコンフィグデータＢ１０１２ｂが記憶される。コンフィグデータ格納部１０１０は、例えばＤＲＰ内のＲＡＭ又は不揮発性メモリなどの記憶装置上に構成される。コンフィグデータ格納部１０１０には、ホストシステムからの制御により新たなコンフィギュグデータを追加したり、既存のコンフィグデータを削除したりすることができる。
【００４３】
リコンフィグ制御部１００８は、再構成可能回路部１００４上に構成された回路からリコンフィグリクエストを受け取ると、そのリクエストに応じたコンフィグデータを選択する指示を次コンフィグデータ選択部１０１４に発する。
【００４４】
次コンフィグデータ選択部１０１４は、再構成可能回路部１００４上に次に再構成すべきコンフィグを規定するコンフィグデータを選択する手段である。コンフィグデータ格納部１０１０に記憶された各コンフィグデータを再構成可能回路部１００４に適用する条件を示す制御情報が、あらかじめホストシステムから次コンフィグデータ選択部１０１４に設定されている。次コンフィグデータ選択部１０１４は、リコンフィグ制御部１００８から指示を受けると、その制御情報に従い、その指示に応じたコンフィグデータをコンフィグデータ格納部１０１０から読み出し、再構成可能回路部１００４上に現在構成されているコンフィグの処理が終わると、そのコンフィグデータを再構成可能回路部１００４上に書き込むことで、再構成可能回路部１００４を次の回路構成へと切り換える。
【００４５】
なお、上述したＤＡＰＤＮＡアーキテクチャのように、再構成可能回路部１００４に複数のバンクを備えるコンフィグメモリを設け、各バンクにコンフィグデータをそれぞれ記憶させ、使用するバンクを順次切り替えることで回路の再構成を行う構成としてもよい。例えばコンフィグメモリのバンク数より多いコンフィグデータを用いる場合などには、各バンク内のコンフィグデータを、コンフィグデータ格納部１０１０内のコンフィグデータにより順次書き替えていってもよい。
【００４６】
このようなＤＲＰ構成において、復号開始時にはまずコンフィグＡを再構成可能回路部１００４内に構成する。そして、その後リコンフィグ制御部１００８は、コンフィグＡの隣接ブロック同一性判定部１１０４ａからリコンフィグリクエストが到来すれば、再構成可能回路部１００４内の回路をコンフィグＢに書き換え、またコンフィグＢの隣接ブロック同一性判定部１１０４ｂからリコンフィグリクエストが到来すれば、再構成可能回路部１００４内の回路をコンフィグＡに書き換える。これにより、図１の装置と同等の機能がコンフィグＡとＢの切り替えにより実現される。
【００４７】
以上、実施形態及びその変形例を説明した。以上の例では、実施形態及びその変形例の画像データ復号装置をＤＲＰに実装する場合を例にとって説明したが、図１の構成は、ＤＲＰ以外にも、ＩＣ（集積回路）、ＬＳＩ（大規模集積回路）、ＡＳＩＣ（特定用途向け集積回路）などの通常の集積回路、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブル論理回路などといった様々な形態の回路として実装可能である。
【００４８】
以上では、画像データの圧縮方式としてＪＰＥＧが用いられる場合を例にとって説明した。しかし、この実施形態の方式は、ＪＰＥＧのみならず、ブロックごとに１つの直流成分の情報と直流成分以外の各周波数の成分の情報とを含む圧縮画像データを扱う圧縮符号化方式一般に適用可能である。また、周波数解析には、ＪＰＥＧにおいて用いられるＤＣＴに限らず、ウェーブレット変換などの他の方式を用いてもよい。
【００４９】
以上に説明した画像データ復号装置は、例えば、複写機、プリンタ、複合機（プリンタ、スキャナ、コピー機、ファクシミリ装置などの機能を兼ね備えた多機能装置）、デジタルカメラなどといった、静止画像の圧縮データを復号する機能を有する機器に組み込むことができる。
【符号の説明】
【００５０】
１００  ＪＰＥＧ伸張処理部、１０２  入力データ取り込み部、１０４  ハフマンデコード部、１０６  ＪＰＥＧコード伸張部、１０８  ８×８ブロックバッファ、１１６  データ出力部、１１０４  隣接ブロック同一性判定部、１１０６  前ブロック符号保持部、１１０８  前ブロックデータ保持部、１１１０  ＤＣ補正部。
【図１】
0005732765.tif 000002
【図２】
0005732765.tif 000003
【図３】
0005732765.tif 000004
【図４】
0005732765.tif 000005
【図５】
0005732765.tif 000006
【図６】
0005732765.tif 000007
【図７】
0005732765.tif 000008