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