JP5614122B2 - 画像データ復号装置 - Google Patents

画像データ復号装置 Download PDF

Info

Publication number
JP5614122B2
JP5614122B2 JP2010140992A JP2010140992A JP5614122B2 JP 5614122 B2 JP5614122 B2 JP 5614122B2 JP 2010140992 A JP2010140992 A JP 2010140992A JP 2010140992 A JP2010140992 A JP 2010140992A JP 5614122 B2 JP5614122 B2 JP 5614122B2
Authority
JP
Japan
Prior art keywords
block
component
circuit
pixel value
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010140992A
Other languages
English (en)
Other versions
JP2012005070A (ja
Inventor
玉谷 光之
光之 玉谷
和雄 山田
和雄 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2010140992A priority Critical patent/JP5614122B2/ja
Priority to US12/912,288 priority patent/US8538182B2/en
Publication of JP2012005070A publication Critical patent/JP2012005070A/ja
Application granted granted Critical
Publication of JP5614122B2 publication Critical patent/JP5614122B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、画像データ復号装置に関する。
JPEG(Joint Photographic Experts Group)等の圧縮方式に従って圧縮符号化された画像データを伸張復号する復号装置の中には、複数の伸張器を並列動作させることで伸張復号処理を高速化するものがある。
例えば、特許文献1に開示された装置では、圧縮の際に画像の部分ごとにヘッダ情報を挿入して圧縮し、それら各部分の圧縮データを複数の伸張器で並列的に伸張し、伸張結果の各部分を合成して画像を復元している。
また、特許文献2に開示された装置では、画像データを分割して圧縮し、その圧縮結果のデータを複数の伸張器で並列的に伸張している。
特開2008−113189号公報 特開平11−041429号公報
本発明は、複数の伸張器を備える構成よりも小規模な構成で、少なくとも単一の伸張器を備える構成よりも高速な伸張処理が可能な画像データ復号装置を提供することを目的とする。
請求項1に係る発明は、画像のブロックごとにそのブロックに含まれる画素値の周波数解析結果である1つの直流成分の情報と直流成分以外の各周波数の成分の情報とを含む圧縮画像データであって直流成分以外の各周波数の成分がすべて0であるブロックについては直流成分の情報とブロック終端符号のみを含んだ圧縮画像データを受け取り、受け取った圧縮画像データを先頭のブロックから順にブロックごとに、当該ブロックが直流成分とブロック終端符号のみからなっているか否かを判定する判定手段と、前記判定手段にて直流成分とブロック終端符号のみからなっているのではないと判定されたブロックについては、当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対して前記周波数解析の逆演算を行うことで当該ブロックの各画素値を生成する第1画素値生成手段と、前記判定手段にて直流成分とブロック終端符号のみからなっていると判定されたブロックについては、当該ブロックのすべての画素について当該直流成分の情報に基づき同一の画素値を生成する第2画素値生成手段と、を備える。
請求項に係る発明は、更に、再構成可能回路と、前記判定手段の回路と前記第1画素値生成手段の回路とを含む第1回路構成と、前記判定手段の回路と前記第2画素値生成手段の回路とを含む第2回路構成とを、互いに排他的に前記再構成可能回路上に再構成する制御を行う再構成制御手段と、を備え、前記圧縮画像データに含まれる前記直流成分の情報は、差分符号化により生成された差分値であり、前記第1回路構成及び前記第2回路構成は、前記直流成分の値を保持する保持回路を有し、前記保持回路が保持する直流成分の値と前記圧縮画像データから得られる前記差分値とに基づいて当該差分値に対応する直流成分の値を求め、求めた直流成分の値を用いて前記第1画素値生成手段及び前記第2画素値生成手段に画素値の生成を行わせ、前記再構成制御手段は、(a)前記再構成可能回路上に再構成されている前記第1回路構成の前記判定手段の回路にて、前記ブロックが直流成分とブロック終端符号のみからなっていると判定されると、前記再構成可能回路上に前記第1回路構成に代えて前記第2回路構成を再構成し、再構成された前記第2回路構成の前記第2画素値生成手段の回路に対して当該直流成分の情報に基づき同一の画素値を生成させ、(b)前記再構成可能回路上に再構成されている前記第2回路構成の前記判定手段の回路にて、前記ブロックが直流成分とブロック終端符号のみからなっているのではないと判定されると、前記再構成可能回路上に前記第2回路構成に代えて前記第1回路構成を再構成し、再構成された前記第1回路構成の前記第1画素値生成手段の回路に対して当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対する前記逆演算により当該ブロックの各画素値を生成させ、(c)前記第1回路構成から前記第2回路構成への再構成、及び前記第2回路構成から前記第1回路構成への再構成の際に、前記保持回路を書き換えずに維持する、ことを特徴とする。
請求項に係る発明は、画像のブロックごとにそのブロックに含まれる画素値の周波数解析結果である1つの直流成分の情報と直流成分以外の各周波数の成分の情報とを含む圧縮画像データであって直流成分以外の各周波数の成分がすべて0であるブロックについては直流成分の情報とブロック終端符号のみを含んだ圧縮画像データを受け取り、受け取った圧縮画像データを先頭のブロックから順にブロックごとに、当該ブロックが直流成分とブロック終端符号のみからなっているか否かを判定する判定手段と、前記判定手段にて直流成分とブロック終端符号のみからなっているのではないと判定されたブロックについては、当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対して前記周波数解析の逆演算を行うことで当該ブロックの各画素値を生成する第1画素値生成手段と、前記判定手段にて直流成分とブロック終端符号のみからなっていると判定されたブロックについては、当該ブロックのすべての画素について当該直流成分の情報に基づき同一の画素値を生成する第2画素値生成手段と、前記受け取った圧縮画像データの先頭のブロックから順にブロックごとに、当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一か否かを判定する第2判定手段と、前記第1画素値生成手段が生成した前記ブロックの各画素値を、当該ブロックの次のブロックの各画素値が生成されるまで保持する保持手段と、前記第2判定手段にて前記ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一と判定された場合に、前記保持手段に保持された前記直前のブロックの各画素値と、前記ブロックと前記直前のブロックの直流成分同士の差と、から前記ブロックの各画素値を生成する第3画素値生成手段と、を備る画像データ復号装置である。
請求項に係る発明は、再構成可能回路と、前記判定手段の回路と前記第2判定手段の回路と前記第1画素値生成手段の回路と前記保持手段の回路とを含む第1回路構成と、前記判定手段の回路と前記第2画素値生成手段の回路とを含む第2回路構成と、前記第2判定手段の回路と前記第3画素値生成手段の回路と前記保持手段の回路とを含む第3回路構成とを、互いに排他的に前記再構成可能回路上に再構成する制御を行う再構成制御手段と、を備え、前記再構成制御手段は、(a)前記再構成可能回路上に再構成されている前記第1回路構成の前記判定手段の回路にて、前記ブロックが直流成分とブロック終端符号のみからなっていると判定されると、前記再構成可能回路上に前記第1回路構成に代えて前記第2回路構成を再構成し、再構成された前記第2回路構成の前記第2画素値生成手段の回路に対して当該直流成分の情報に基づき同一の画素値を生成させ、(b)前記再構成可能回路上に再構成されている前記第1回路構成の前記第2判定手段の回路にて前記ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一と判定されると、前記再構成可能回路上に、前記第1回路構成のうち前記保持手段の回路のみを残して前記第3回路構成を再構成し、再構成された前記第3回路構成の前記第3画素値生成手段の回路に対して前記保持手段の回路に保持された前記直前のブロックの各画素値と、前記ブロックと前記直前のブロックの直流成分同士の差と、から前記ブロックの各画素値を生成させ、(c)前記再構成可能回路上に再構成されている前記第2回路構成の前記判定手段の回路にて、前記ブロックが直流成分とブロック終端符号のみからなっているのではないと判定されると、前記再構成可能回路上に前記第2回路構成に代えて前記第1回路構成を再構成し、再構成された前記第1回路構成の前記第1画素値生成手段の回路に対して当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対する前記逆演算により当該ブロックの各画素値を生成させ、(d)前記再構成可能回路上に再構成されている前記第3回路構成の前記第2判定手段の回路にて、前記ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一でないと判定されると、前記再構成可能回路上に前記第3回路構成に代えて前記第1回路構成を再構成し、再構成された前記第1回路構成の前記第1画素値生成手段の回路に対して当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対する前記逆演算により当該ブロックの各画素値を生成させる、ことを特徴とする請求項に記載の画像データ復号装置である。
請求項1に係る発明によれば、複数の伸張器を備える構成よりも小規模な構成で、少なくとも単一の伸張器を備える構成よりも高速な伸張処理が可能な画像データ復号装置を提供することができる。
また請求項に係る発明によれば、画像データ復号装置の全回路を再構成可能回路上に再構成する場合よりも、再構成可能回路上の回路規模を小さくすることができる。
請求項に係る発明によれば、請求項1に係る画像データ復号装置よりも更に高速な伸張処理が可能になる。
請求項に係る発明によれば、請求項に係る画像データ復号装置の全回路を再構成可能回路上に再構成する場合よりも、再構成可能回路上の回路規模を小さくすることができる。
実施形態の画像データ復号装置の構成の一例を示す図である。 画像データ復号装置のハフマンデコード部の出力データ列の一例を模式的に示す図である。 JPEGコード伸張部の内部構成の一例を示す図である。 背景データ判定部の処理手順の一例を示すフローチャートである。 均一データブロック生成部の処理手順の一例を示すフローチャートである。 実施形態の画像データ復号装置の性能を調べる実験に用いた各テストチャートの背景データ比率の分布を示す図である。 図6に示した背景データ比率を持つ各テストチャートの圧縮データを、JPEG伸張処理部を1つだけ備える回路、2並列で備える回路、及び本実施形態の回路で復号した場合の復号速度性能の分布を示す図である。 実施形態の画像データ復号装置をDRPへの実装のために2つのコンフィギュレーション(コンフィグ)に分けた場合の、通常のJPEG伸張を行うコンフィグの例を示す図である。 実施形態の画像データ復号装置をDRPへの実装のために2つのコンフィグに分けた場合の、背景データ用の伸張処理を行うコンフィグの例を示す図である。 実施形態の画像データ復号装置をDRPへ実装した場合のシステム構成の例を示す図である。 変形例の画像データ復号装置の構成の一例を示す図である。 変形例における隣接ブロック同一性判定部の処理手順の一例を示すフローチャートである。 変形例における出力セレクタの処理手順の一例を示すフローチャートである。 変形例の画像データ復号装置をDRPへの実装のために複数のコンフィグに分けた場合の、通常のJPEG伸張を行うコンフィグの例を示す図である。 変形例の画像データ復号装置をDRPへの実装のために複数のコンフィグに分けた場合の、隣接ブロックとAC成分が同じブロック用の伸張を行うコンフィグの例を示す図である。 変形例の画像データ復号装置をDRPへ実装した場合の、リコンフィグ制御部の処理手順の一例を示すフローチャートである。
図1を参照して、実施形態の画像データ復号装置の構成例を説明する。ここでは、JPEG方式で圧縮されたデータを復号する装置を例にとって説明する。図1の画像データ復号装置は、JPEG伸張処理部100、背景データ判定部110、均一データブロック生成部112、出力セレクタ114及びデータ出力部116を備える。
JPEG伸張処理部100は、JPEG圧縮された圧縮画像データをJPEG方式に従って伸張する回路であり、JPEG伸張処理部100は、入力データ取り込み部102、ハフマンデコード部104、JPEGコード伸張部106、及び、8×8ブロックバッファ108を備える。
入力データ取り込み部102は、復号対象であるJPEG圧縮された画像データを受信する回路である。
周知のように、JPEG方式の画像圧縮では、大まかに言えば、ビットマップ画像データを8×8画素のブロック単位に分割し、ブロックに対してDCT(離散コサイン変換)を行って周波数領域での8×8の周波数成分へと変換する。これら各周波数成分のうち、最も低周波数(例えば周波数0)の成分が直流(DC)成分であり、これはブロック内の画素値の平均を表す。DC成分より高い63個の各周波数成分は交流(AC)成分と呼ばれる。このDCT結果の各周波数成分は量子化テーブルを用いて量子化される。1ブロック分の量子化後の各成分をジグザグスキャン順序で並べると、一般には、DC成分から始まり、その後にAC成分が続くデータとなる。そして、このジグザグスキャン順序の各成分の量子化結果の並びをハフマン符号化することで、最終的なJPEG圧縮画像データが得られる。ハフマン符号化処理では、DC成分は単独で(場合によっては直前のブロックのDC成分との差分が)ハフマン符号に変換される。DC成分の後に続くAC成分は、量子化により値が0の成分が多いため、連続する0の数(ゼロランと呼ばれる)とそのあとに続く非ゼロの成分値との組がハフマン符号化される。このように、1ブロックの画像は、最終的に、1つのDC成分のハフマン符号と、その後に続くゼロランと非ゼロAC成分の組のハフマン符号(0個以上)とからなるハフマン符号データに変換される。ここで、このハフマン符号化処理では、ジグザグスキャン順序である周波数成分(量子化結果)以降の全ての成分の値が0の場合、当該周波数成分以降の高周波成分をまとめて1つのブロック終端符号(EOBマーカと呼ぶ。EOBはEnd Of Blockの略)で表現することで、データ量の削減を図っている。
ハフマンデコード部104は、このようなJPEG圧縮画像データを構成するハフマン符号を順に復号する。図2にハフマンデコード部104による復号結果200の例を示す。この例に示すように、符号202,204,206などで示すデータが1ブロック分のデータである。1ブロックのデータは、上述のように一般には先頭にDC成分、末尾にEOBマーカを含む。通常のブロック202はDC成分とEOBマーカとの間に1以上のAC成分を含むが、AC成分をまったく含まないDC成分のみのブロック204,206も存在し得る。このようなブロック204,206では、DC成分の値(DC係数とも呼ばれる)の直後にEOBマーカが続く。
JPEGコード伸張部106は、ハフマン復号結果のデータに対して逆量子化やIDCT(逆離散コサイン変換)を行い、1ブロック(8×8画素)の各画素の画素値を求める。
JPEGコード伸張部106の内部構成の例を図3に示す。図示のように、JPEGコード伸張部106のDC生成回路302は、ハフマン復号結果の各ブロックのデータの先頭からDC成分の値を取り出し、これを8×8ブロック(8×8の周波数成分を記憶する回路)306の左上隅の成分に書き込む。ACゼロラン展開回路304は、DC成分の後に続くゼロランと非ゼロAC成分を8×8ブロック306の対応する成分の記憶領域に書き込む。8×8逆量子化計算回路308は、8×8ブロック306に記憶されたDC成分と63個の各AC成分を、逆量子化テーブルを参照して逆量子化する。IDCT計算回路310は、その逆量子化結果をIDCT(逆離散コサイン変換)することで、1ブロック分すなわち8×8個の各画素の画素値を計算する。
8×8ブロックバッファ108は、JPEGコード伸張部106の復号結果(IDCT計算回路310の出力)である1ブロック(8×8画素)分の画素値を一時的に保持する。8×8ブロックバッファ108に保持された1ブロックの各画素値は、出力セレクタ114を介してデータ出力部116へと出力される。データ出力部116は、その各画素値を、例えばこの画像データ復号装置に対して復号処理を依頼した上位システム(例えば画像処理アプリケーションなど)などといった出力先システムに対して出力する。
以上に説明したJPEG伸張処理部100(及びJPEGコード伸張部106)の構成は、従来のJPEG復号装置とほぼ同様のものでよい。ただし、本実施形態では、ハフマンデコード部104の出力は、直接JPEGコード伸張部106に入力されるのではなく、背景データ判定部110を介することになる。
背景データ判定部110は、ハフマンデコード部104から出力されるブロックのハフマン復号結果が、「背景」(すなわちDC成分の直後にEOBマーカが続くブロック)を表しているかどうかを判定する。DC成分の直後にEOBマーカが続く場合、当該ブロックにはDC成分しか存在しないので、8×8の全画素がそのDC成分の示す均一な値となる。このように全画素が均一な値となるブロックは絵柄のないブロックなので、「背景」ブロックと呼んでいる。背景データ判定部110は、背景でないと判定したブロックのデータはJPEGコード伸張部106に供給し、背景であると判定したブロックのデータは均一データブロック生成部112に供給する。
均一データブロック生成部112は、背景データ判定部110から供給されたブロックのデータ(この場合DC成分のみ)から、8×8の全ての画素がそのDC成分に対応した同一の画素値を持つブロックのデータを生成し、出力セレクタ114に対して出力する。これら1ブロックの各画素値は、出力セレクタ114を介してデータ出力部116へと出力され、このデータ出力部116から出力システムに対して出力される。
出力セレクタ114は、背景データ判定部110から供給される背景データフラグ(「背景」か否かの判定結果を示すフラグデータのこと)を受け取り、判定結果が「背景でない」であれば8×8ブロックバッファ108を、「背景である」であれば均一データブロック生成部112を選択する。そして、選択した側から供給される各画素値をデータ出力部116に出力する。
次に、図4を参照して、背景データ判定部110が実行する処理手順の例を説明する。この手順では、背景データ判定部110は、ハフマンデコード部104から1ブロック分のハフマン復号結果のデータを受け取ると(402)、そのデータにおいて先頭のDC成分の直後に(AC成分無しで)EOBマーカが続いているかどうかを判定する(404)。この判定で、DC成分の直後にEOBマーカが続いている(すなわち当該ブロックは「背景」)と判定された場合は、そのDC成分の値を均一データブロック生成部112に供給する(406)と共に、出力セレクタ114に対して当該ブロックが「背景である」ことを示す値の背景データフラグを出力する(408)(406と408はこの順でなくてもよい)。これにより、出力セレクタ114は、出力データの供給元として均一データブロック生成部112を選択することになり、均一データブロック生成部112が生成する当該DC成分に応じた1ブロック分の均一な画素値が、出力セレクタ114及びデータ出力部116を介して外部に出力されることになる。
一方、ステップ404でDC成分の直後がEOBマーカでない(すなわちAC成分が存在する。つまり背景でない)と判定した場合、背景データ判定部110は、当該ブロックのDC成分値及びAC成分値をJPEGコード伸張部106に供給する(410)と共に、出力セレクタ114に対して当該ブロックが「背景ではない」ことを示す値の背景データフラグを出力する(412)(410と412はこの順でなくてもよい)。これにより、出力セレクタ114は、出力データの供給元として8×8ブロックバッファ108を選択することになり、JPEGコード伸張部106によるJPEG伸張結果の各画素値が、出力セレクタ114及びデータ出力部116を介して外部に出力されることになる。
次に、図5を参照して、均一データブロック生成部112が実行する処理手順の一例を説明する。この手順では、均一データブロック生成部112は、背景データ判定部110からDC成分の値が供給されると(502)、そのDC成分を逆量子化し(504)、8×8の全ての画素がその逆量子化結果の値を持つ1ブロック分のデータを生成する(506)。そして、その1ブロック分のデータを出力セレクタ114に出力する(508)。
なお、DC成分が差分符号化されている場合は、例えば背景データ判定部110が常に最新のブロックのDC成分値を保持するようにし、この値に今回新たに供給されたブロックのDC成分が示す差分値を適用することで、このブロックのDC成分値を求めるようにしてもよい。
ここでは、背景データ判定部110及び均一データブロック生成部112が行う処理の手順を示したが、当業者には明らかなように、このような手順はソフトウエアとして実装できるのはもちろんのこと、ハードウエアの論理回路としても実装できる。
この実施形態では、均一データブロック生成部112は、背景データ判定部110から供給されるDC成分値に対応する同一の画素値を1ブロックの全画素(の値を保持する記憶領域)に書き込むだけでよいので、その処理は極めて速い。均一データブロック生成部112と出力セレクタ114との間の通信経路の帯域幅が、64画素分の値を1クロックで転送できる帯域幅以上であれば、均一データブロック生成部112が生成した1ブロック分のデータが1クロックで出力セレクタ114に送信される。
一方、JPEGコード伸張部106の行う伸張処理は、シーケンシャルに入力される各ブロックのデータを先頭の周波数成分から順に逆量子化及びIDCTしていく処理なので、基本的には1クロック当たり1画素の値を生成する。したがって、1ブロックの伸張に要する時間は均一データブロック生成部112が1ブロックの均一な画素データを生成するのに要する時間よりもはるかに長い。
このようなことから、背景が多い画像ほど、この実施形態の画像データ復号装置は高い復号処理速度を達成する。例えば、オフィスで用いられる文書は背景(例えば白紙)部分が多い。また、通常の写真画像でも、画素値が均一な部分がかなり多くの割合を占める。したがって、多くの文書画像、写真画像の圧縮データの復号において、この画像データ復号装置は高い処理速度を発揮する。
発明者は図6に示す12個の性能測定チャートの圧縮画像データを、本実施形態の方式を実装した回路と、2種類の従来回路とにそれぞれ復号させる実験を行った。図6は、各番号の性能測定チャートのそれぞれについて、そのチャートにおける背景データの比率(すなわちAC成分のないブロックの、画像中の全ブロック数に対する割合)をプロットしたグラフである。これら性能測定チャートの背景データの比率は、最低のものでも60%を超えており、最高のものは90%近くとなっている。比較する2つの従来回路のうち1つは、実施形態のJPEG伸張処理部100と同等のもの(背景データ判定部110や均一データブロック生成部112等は含まない)であり、もう1つはJPEG伸張処理部100と同等のものを2つ並列に設けて並列処理を可能としたものである。
図7にその実験結果を示す。図7のグラフの横軸は性能測定チャートの番号を示し、縦軸に、従来の単一のJPEG画像伸張処理部のみの構成(基準構成と呼ぶ)の性能を1としたときの、JPEG画像伸張処理部を2並列とした構成と、本実施形態の構成とのそれぞれの性能比率を示している。ここでいう「性能」は、性能測定チャートの圧縮データを復号するのに要する時間の短さのことであり、注目する構成による復号所要時間が基準構成による復号所要時間の2分の1であれば、注目する構成の性能比率は2となる。図では、2並列構成の性能は基準構成の性能の2倍でとなっているが、2並列処理をしているので当然のことである。注目すべきことに、本実施形態の構成は全般的に2並列構成と同等以上の性能を示しており、特に背景データ比率の高い1,6,11番のチャートについては著しく高い性能を示している。
また、本実施形態の構成は、ハードウエア回路として実装した場合の実装規模が比較的小さくて済む。図1の機能ブロック図における各ブロックの肩に示した楕円内の数値は、それぞれそのブロックをDRP(動的再構成可能プロセッサ:Dynamically Reconfigurable Processor)上に再構成(リコンフィギュレーション)する場合に用いられるPE(プロセッサエレメント)の個数の例を示している。なお、DRPは、周知のように、使用するPEの組合せやそれらPE間の配線構造を動的に(すなわち例えば1クロックの間で)切り替えることで、内部の論理回路構成を動的に再構成できるプロセッサのことである。図1に示すように、ハフマンデコード部104やJPEGコード伸張部106はそれぞれ100個及び130個と多数のPEを必要とするのに対して、背景データ判定部110及び均一データブロック生成部112は、それぞれ5個及び10個と、必要とするPE数が少ない。また、出力セレクタ114もPE5個で構成できる。したがって、例えばJPEG伸張処理部100とこれに対応するデータ出力部116との組を2並列でDRP上に構成する場合、(10+100+130+10+10)×2=520個のPEを要するのに対し、本実施形態の構成は(10+100+130+10)+5+10+5+10=280個のPEで構成される。例えば、DRPが有するPEが500個だと2並列構成は実装できないが、本実施形態の構成は実装できる。
このように、本実施形態の画像データ復号装置は、従来のJPEG伸張回路の2並列構成の約半分の回路規模で、背景の比率が60%以上の画像についてはこの2並列構成と同等以上の性能を示すとともに、背景の比率が高くなるほど高い性能を示す。
さて、本実施形態の画像データ復号装置をDRPに実装する場合、リコンフィギュレーションにより実装規模を更に小さくすることも考えられる。この例を、図8〜図10を用いて説明する。
この例では、図1に示した構成を、図8に示すコンフィギュレーション(以下「コンフィグ」と略す)Aと図9に示すコンフィグBの2つのコンフィグの動的切替により実現する。コンフィグは、DRP上に同時に存在する回路のことである。
図8に示すコンフィグAは、背景でない(すなわちAC成分を含む)ブロックの復号のための回路構成であり、JPEG伸張処理部100と、背景データ判定部110aとを備えている。JPEG伸張処理部100は、図1のものと同様のものである。背景データ判定部110aは、図1の背景データ判定部110と同様、ハフマンデコード部104から供給されるブロックが「背景」か否かを判定すると共に、「背景でない」と判定した場合は、当該ブロックのDC成分値及びAC成分値をJPEGコード伸張部106に供給する。この背景データ判定部110aが、図1の背景データ判定部110と異なる点は、「背景である」と判定した場合に、背景データ用のコンフィグBへの切替を求めるリコンフィギュレーション(以下「リコンフィグ」と略す)リクエストを、リコンフィグ制御部(後述)へと出力する点である。
図9に示すコンフィグBは、入力データ取り込み部102、ハフマンデコード部104、背景データ判定部110b及び均一データブロック生成部112を備える。このうち、背景データ判定部110b以外は、図1に示した同一符号の要素と同じものでよい。背景データ判定部110bは、図1の背景データ判定部110と同様、ハフマンデコード部104から供給されるブロックが「背景」か否かを判定すると共に、「背景である」と判定した場合は、当該ブロックのDC成分値を均一データブロック生成部112に供給する。背景データ判定部110bが、図1の背景データ判定部110と異なる点は、「背景でない」と判定した場合に、非背景データ用のコンフィグAへの切替を求めるリコンフィグリクエストを、リコンフィグ制御部(後述)へと出力する点である。
なお、図8及び図9では省略したが、ブロックバッファ108及び均一データブロック生成部112の出力側には、図1の例のように出力セレクタ114を設けてもよい。また、出力セレクタ114なしで、8×8ブロックバッファ108及び均一データブロック生成部112の出力をデータ出力部116に直接接続するように構成してもよい。いずれの場合も、コンフィグAとBを切り替えたとしても、出力セレクタ114又はデータ出力部116は切り替えなくてよい。
図10に、このようなコンフィグの切替機能を実現するためのDRP構成の例を示す。
図10に示すDRPにおいて、再構成可能回路部1004は、内部の論理回路構成を動的に(すなわち当該プロセッサが動作中に)再構成できる回路である。再構成可能回路部1004としては、例えば、特開2009−3765号公報に紹介されているDNAなど、様々な既存の、又はこれから開発される回路を用いることができる。例えば、DNAは、多数の回路要素(PE)からなるアレイであり、それら回路要素間の接続構成をコンフィギュレーションデータに従って高速(例えば1クロックの間に)組み替え可能となっている。なお、その公報で紹介されたDAPDNAアーキテクチャをこの実施形態に採用した場合、リコンフィグ制御部1008及び次コンフィグデータ選択部1014は、DAPと呼ばれる汎用プロセッサコアで、後述する各機能を表すプログラムを実行することにより実現される。この場合、再構成可能回路部1004と汎用プロセッサコアとが、1つのDRPとして提供される。また、DRPは、RAM(ランダム・アクセス・メモリ)等のメモリと、外部装置との間でのデータの入出力など入出力回路と、を備える。これらハードウエア要素のうちのいくつかが1つの集積回路上に集積されていてももちろんよい。もちろん、これはあくまで一例に過ぎず、他の再構成可能プロセッサアーキテクチャを用いてもよい。
データ入力部1002は、再構成可能回路部1004上に再構成(リコンフィグ)された処理回路に対して入力データを供給する手段である。例えば、再構成可能回路部1004に接続されたメモリ上に確保された入力データ用のバッファ領域が、データ入力部1002の一例である。この場合、ホストシステム(例えばこのDRPの装着先のコンピュータのCPU)は、この実施形態のDRPに圧縮画像の復号処理を実行させる場合、処理対象である圧縮画像データを入力データとしてそれら各バッファ領域に転送し、リコンフィグ制御部1008に対してその入力データの処理を指示する。これに応じ、リコンフィグ制御部1008は、その入力データをデータ入力部1002から再構成可能回路部1004上に構成された画像データ復号回路に供給する。また、別の例として、ホストシステムからこの実施形態のDRPに、DMA(ダイレクトメモリアクセス)によりデータを転送してもよく、この場合データ入力部1002は、例えば、データ処理装置内のDMAコントローラ(図示省略)により割り当てられるチャンネルに相当する。
データ出力部1006は、再構成可能回路部1004上に再構成された画像データ復号回路から出力されたデータをホストシステムに対して出力する手段である。データ出力部1006も、上述のデータ入力部1002と同様、再構成可能回路部1004に接続されたメモリ上に確保された出力バッファ、或いはDMAコントローラから割り当てられた出力チャンネルなどがその具体例である。
リコンフィグ制御部1008は、再構成可能回路部1004内の回路要素の接続関係を制御することで、再構成可能回路部1004上に各種データ処理のための回路を再構成する。また、リコンフィグ制御部1008は、再構成可能回路部1004上に再構成された回路に対してホストシステムからの指示に応じてデータ入力部1002経由で入力データを供給したり、その回路からの出力データをデータ出力部1006経由でホストシステムに返したりする制御を行う。
再構成可能回路部1004内の回路の再構成は、コンフィグデータ格納部1010に記憶されたコンフィグデータに従って行われる。この例では、コンフィグデータ格納部1010には、図8及び図9に示したコンフィグA及びBをそれぞれ表すコンフィグデータA1012a及びコンフィグデータB1012bが記憶される。コンフィグデータ格納部1010は、例えばDRP内のRAM又は不揮発性メモリなどの記憶装置上に構成される。コンフィグデータ格納部1010には、ホストシステムからの制御により新たなコンフィギュグデータを追加したり、既存のコンフィグデータを削除したりすることができる。
リコンフィグ制御部1008は、再構成可能回路部1004上に構成された回路からリコンフィグリクエストを受け取ると、そのリクエストに応じたコンフィグデータを選択する指示を次コンフィグデータ選択部1014に発する。
次コンフィグデータ選択部1014は、再構成可能回路部1004上に次に再構成すべきコンフィグを規定するコンフィグデータを選択する手段である。コンフィグデータ格納部1010に記憶された各コンフィグデータを再構成可能回路部1004に適用する条件を示す制御情報が、あらかじめホストシステムから次コンフィグデータ選択部1014に設定されている。次コンフィグデータ選択部1014は、リコンフィグ制御部1008から指示を受けると、その制御情報に従い、その指示に応じたコンフィグデータをコンフィグデータ格納部1010から読み出し、再構成可能回路部1004上に現在構成されているコンフィグの処理が終わると、そのコンフィグデータを再構成可能回路部1004上に書き込むことで、再構成可能回路部1004を次の回路構成へと切り換える。
なお、上述したDAPDNAアーキテクチャのように、再構成可能回路部1004に複数のバンクを備えるコンフィグメモリを設け、各バンクにコンフィグデータをそれぞれ記憶させ、使用するバンクを順次切り替えることで回路の再構成を行う構成としてもよい。例えばコンフィグメモリのバンク数より多いコンフィグデータを用いる場合などには、各バンク内のコンフィグデータを、コンフィグデータ格納部1010内のコンフィグデータにより順次書き替えていってもよい。
このようなDRP構成において、復号開始時にはまずコンフィグAを再構成可能回路部1004内に構成する。そして、その後リコンフィグ制御部1008は、コンフィグAの背景データ判定部110aからリコンフィグリクエストが到来すれば、再構成可能回路部1004内の回路をコンフィグBに書き換え、またコンフィグBの背景データ判定部110bからリコンフィグリクエストが到来すれば、再構成可能回路部1004内の回路をコンフィグAに書き換える。これにより、図1の装置と同等の機能がコンフィグAとBの切り替えにより実現される。
なお、DC成分が差分符号化されている場合に対応するには、例えば、コンフィグA及びBの背景データ判定部110a及び110bのうちの、少なくとも最新のDC成分値を保持する回路は共通化し、その回路はコンフィグA,B間の書換の際にも書き換えずに維持するようにすればよい。また、背景データ判定部110a及び110bの機能を併せ持つ判定部を、コンフィグA,Bの両方で共通して用いることとし、この判定部は書き換えないようにしてもよい。
次に、実施形態の画像データ復号装置の変形例を、図11を用いて説明する。この変形例は、図1に示した通常のJPEG復号系統と背景データ用の復号系統の2系統の他に、隣接ブロック間でAC成分が共通する場合の復号系統を備える装置構成を示している。
すなわち、図11の装置は、図1に示した各要素の他に、隣接ブロック同一性判定部1104、前ブロック符号保持部1106、前ブロックデータ保持部1108、及びDC補正部1110を有する。また、この変形例では復号系統が3系統になったので、出力セレクタ1112はそれら3系統のいずれかを選択するものとなっている。また、JPEG伸張処理部100には、背景データ判定部110と隣接ブロック同一性判定部1104とから供給されるブロックのデータ(DC成分及びAC成分)のうちの一方を選択してJPEGコード伸張部106に供給するセレクタ1102が設けられている。
隣接ブロック同一性判定部1104は、ハフマンデコード部104から供給される現ブロックのハフマン復号結果のうちのAC成分が、直前のブロック(前ブロックと呼ぶ)のAC成分と同一であるか否かを判定する。この判定では、ブロック内のAC成分全体(すなわち全周波数成分)が、現ブロックと前ブロックとで完全に一致しているかどうかを判定する。前ブロックと現ブロックとでAC成分全体が一致する場合、現ブロックは、DC成分以外の全ての周波数成分が前ブロックと同一である。
また、隣接ブロック同一性判定部1104は、判定の結果を示す隣接ブロック同一フラグを出力セレクタ1112に供給する。
前ブロック符号保持部1106は、隣接ブロック同一性判定部1104の判定のために、前ブロックの符号(すなわちDC成分とAC成分(全周波数成分))を保持する。前ブロック符号保持部1106に保持される符号は、ブロックを復号するごとに逐次最新のものに更新される。
前ブロックデータ保持部1108は、JPEGコード伸張部106が伸張して8×8ブロックバッファ108に保持された1ブロック分の画素値の組のコピーを保持する。前ブロックデータ保持部1108に保持される1ブロック分の画素値の組は、ブロックを復号するごとに逐次最新のものに更新される。
DC補正部1110は、前ブロックデータ保持部1108に保持された前ブロックの各画素値を、隣接ブロック同一性判定部1104から供給されるDC差分の値に応じて補正することで、現ブロックの各画素の値を求めて出力する。
出力セレクタ1112は、背景データ判定部110から供給される背景データフラグと隣接ブロック同一性判定部1104から供給される隣接ブロック同一フラグとに基づき、3つの復号系統のうちの1つを選択し、選択した系統の復号結果をデータ出力部116へと出力する。
図11の構成において、DC補正部1110の行う処理は、前ブロックデータ保持部1108が備える1ブロック64画素のデータに対してそれぞれ同一のDC差分値を加算するだけなので、1クロックで実行することができる。したがって、1画素当たり1クロックの時間を要するJPEGコード伸張部106よりもはるかに高速である。また、ハードウエア回路として実装する場合の回路規模も、この変形例で新たに付加した復号系統は通常のJPEG復号を行うJPEGコード伸張部106よりはるかに小さい。図11の回路全体の規模は、JPEG伸張処理部100を2系統並列に配置する場合よりも小さい。
次に、図12を参照して、隣接ブロック同一性判定部1104の処理手順の一例を説明する。この手順では、隣接ブロック同一性判定部1104は、ハフマンデコード部104から1ブロック分の復号結果(現ブロック)を得るごとに、その復号結果におけるAC成分全体を、前ブロック符号保持部1106に保持された前ブロックのAC成分全体と比較する(1202)。なお、この比較の後、前ブロック符号保持部1106内の符号を、現ブロックの復号結果(DC成分とAC成分全体)に置き換える。
次に隣接ブロック同一性判定部1104は、ステップ1202の比較の結果、現ブロックと前ブロックのAC成分全体同士が一致しているかどうかを判定する(1204)。ステップ1204で「一致」と判定した場合、前ブロック符号保持部1106に保持された前ブロックのDC成分と、現ブロックのDC成分との差分を求め、このDC差分をDC補正部1110に供給する(1206)。DC補正部1110は、前ブロックデータ保持部1108に保持された前ブロックの各画素の値に対し、このDC差分の値を例えばそれぞれ加えることで、現ブロックの各画素の値を求めて出力する。また、出力セレクタ1112に対して現ブロックと前ブロックとのAC成分が「同一である」ことを示す値の隣接ブロック同一フラグを出力する(1208)。なお、ステップ1206と1208の順序はこの例に限らない。
また、ステップ1204の判定結果が「不一致」の場合、隣接ブロック同一性判定部1104は、現ブロックのDC成分値及びAC成分値をJPEGコード伸張部106に供給する(1210)と共に、出力セレクタ1112に対して現ブロックと前ブロックとのAC成分が「同一でない」ことを示す値の隣接ブロック同一フラグを出力する(1212)(1210と1212はこの順でなくてもよい)。
次に、図13を参照して、出力セレクタ1112の動作について説明する。出力セレクタ1112は、背景データ判定部110及び隣接ブロック同一性判定部1104からそれぞれ現ブロックについての背景データフラグ及び隣接ブロック同一フラグを受け取ると(1302)、まず背景データフラグの値を判定する(1304)。この結果、背景データフラグの示す値が「背景である」であれば、背景データ用の復号系統の出力、すなわち均一データブロック生成部112の出力を選択する(1308)。一方、背景データフラグの示す値が「背景でない」であれば、隣接ブロック同一フラグの値を更に判定する(1306)。この結果、隣接ブロック同一フラグの値が「同一」であれば、隣接ブロック間でAC成分が共通する場合の復号系統の出力、すなわちDC補正部1110の出力を選択する(1310)。そして、ステップ1306の判定で、隣接ブロック同一フラグの値が「同一でない」を示す値であれば、通常のJPEG復号の系統の出力、すなわち8×8ブロックバッファ108の出力を選択する(1312)。このような切り替え動作では、現ブロックが「背景」であり且つ前ブロックのAC成分が一致する場合は、背景データ用の復号系統の出力が優先されている。これは、背景データ用の復号系統の方が、隣接ブロック間でAC成分が共通する場合の復号系統よりも処理が高速な場合の例である。
ここでは、隣接ブロック同一性判定部1104及び出力セレクタ1112の動作の手順を示したが、当業者には明らかなように、このような手順はハードウエアの論理回路としても実装できる。
なお、JPEG伸張処理部100内のセレクタ1102は、例えば、背景データ判定部110の判定結果が「背景でない」であり且つ隣接ブロック同一性判定部1104の判定結果が「同一でない」である場合に、背景データ判定部110及び隣接ブロック同一性判定部1104から供給される現ブロックのDC成分及びAC成分のうちの一方をJPEGコード伸張部106に供給する(この場合、両判定部から供給されるDC成分及びAC成分は同一なので、どちらを選択してもよい)。一方、「背景である」又は「同一である」との判定結果が得られた場合は、均一データブロック生成部112又はDC補正部1110によって現ブロックの画素値が求められるので、セレクタ1102は、その判定に応じて背景データ判定部110又は隣接ブロック同一性判定部1104から供給されるDC成分及びAC成分をJPEGコード伸張部106に供給しないようにしてもよい。
この変形例の画像データ復号装置では、現ブロックのAC成分が前ブロックのAC成分と同一の場合も、通常のJPEG復号より高速な復号処理が行われる。
次に、この変形例の画像データ復号装置をDRPに実装する例を説明する。このDRP実装では、通常のJPEG復号系統、背景データ用の復号系統、及び、隣接ブロック間でAC成分が共通する場合の復号系統を、それぞれ別々のコンフィグとする。
通常のJPEG復号系統は、図14に示すコンフィグAとして実装される。このコンフィグAは、図11の装置構成のうち、JPEG伸張処理部100、隣接ブロック同一性判定部1104a、前ブロック符号保持部1106、前ブロックデータ保持部1108及び背景データ判定部110aからなる部分に相当する。
背景データ判定部110aは、図1の背景データ判定部110と同様、ハフマンデコード部104から供給されるブロックが「背景」か否かを判定すると共に、「背景でない」と判定した場合は、当該ブロックのDC成分値及びAC成分値をJPEGコード伸張部106に供給する。この背景データ判定部110aが、図1の背景データ判定部110と異なる点は、「背景である」と判定した場合に、背景データ用のコンフィグBへの切替を求めるリコンフィギュレーション(リコンフィグ)リクエストを、リコンフィグ制御部1008へと出力する点である。
隣接ブロック同一性判定部1104aは、図11の隣接ブロック同一性判定部1104と同様、ハフマンデコード部104から供給される現ブロックのAC成分が前ブロックと「同一」か否かを判定すると共に、「同一でない」と判定した場合は、現ブロックのDC成分値及びAC成分値をJPEGコード伸張部106に供給する。この隣接ブロック同一性判定部1104aが、図11の隣接ブロック同一性判定部1104と異なる点は、「同一である」と判定した場合に、隣接ブロック間でAC成分が共通する場合の復号系統であるコンフィグC(図15。詳細は後述)への切替を求めるリコンフィグリクエストを、リコンフィグ制御部1008へと出力する点である。
前ブロック符号保持部1106及び前ブロックデータ保持部1108は、図11に示したものと同じであり、コンフィグCの回路に前ブロックのハフマン復号結果の符号及び各画素値を伝達するために設けられている。すなわち、前ブロック符号保持部1106及び前ブロックデータ保持部1108は、コンフィグAからコンフィグCに書き換えられる場合も、そこに記憶したデータを保持したまま維持される。
背景データの復号系統であるコンフィグBは、図9に示したものと同じものでよい。
隣接ブロック間でAC成分が共通する場合の復号系統は、図15のコンフィグCとして実装される。コンフィグCは、入力データ取り込み部102、ハフマンデコード部104、隣接ブロック同一性判定部1104c、前ブロック符号保持部1106、前ブロックデータ保持部1108、及びDC補正部1110を備える。このうち、隣接ブロック同一性判定部1104c以外は、図11に示した同一符号の要素と同じものでよい。隣接ブロック同一性判定部1104cは、図11の隣接ブロック同一性判定部1104と同様、ハフマンデコード部104から供給される現ブロックのAC成分が前ブロックと「同一」か否かを判定すると共に、「同一である」と判定した場合は、現ブロックと前ブロックのDC成分の差分値をDC補正部1110に供給する。隣接ブロック同一性判定部1104cが、図11の隣接ブロック同一性判定部1104と異なる点は、「同一でない」と判定した場合に、通常のJPEG復号系統であるコンフィグAへの切替を求めるリコンフィグリクエストを、リコンフィグ制御部1008へと出力する点である。
なお、隣接ブロック同一性判定部1104cに、ブロックが背景か否か(すなわちDC成分の直後にEOBマーカが来る)を更に判定する回路又は機能を設け、現ブロックのAC成分が前ブロックと「同一でない」場合を、更に、「同一でない」且つ「背景である」場合と、「同一でない」且つ「背景でない」場合とに細分化してもよい。この例では、隣接ブロック同一性判定部1104cは、「同一でない」且つ「背景でない」場合には通常のJPEG復号系統であるコンフィグAへの切替を求めるリコンフィグリクエストを、「同一でない」且つ「背景である」場合には背景データ用の復号系統であるコンフィグBへの切替を求めるリコンフィグリクエストを、それぞれ発するようにしてもよい。
このような3つのコンフィグA、B、Cを切り替えるDRPは、図10に示したものと同様のものでよい。ただし、コンフィグデータ格納部1010には、それら3つのコンフィグA、B、Cのデータが格納される。
この例におけるリコンフィグ制御部1008の処理手順を、図16を参照して説明する。この手順では、圧縮画像データの復号を指示された場合、リコンフィグ制御部1008は、コンフィグAのデータを再構成可能回路部1004にロードし(すなわち再構成可能回路部1004をコンフィグAへと再構成し)、復号処理を実行させる(1502)。これにより、コンフィグAの回路が復号処理を進めることになる。リコンフィグ制御部1008は、背景データ判定部110a又は隣接ブロック同一性判定部1104aからのリコンフィグリクエストの到来を監視し(1504)、リコンフィグリクエストがあると、そのリクエストが、背景データ用の復号系統(コンフィグB)及び隣接ブロック間でAC成分が共通する場合の復号系統(コンフィグC)のいずれへのリコンフィグを要求するものかを判定する(1506)。背景データ用の復号系統へのリコンフィグを要求するリクエストであれば、コンフィグBのデータを再構成可能回路部1004にロードし、復号処理を実行させる(1514)。この後、リコンフィグ制御部1008は、背景データ判定部110bからのリコンフィグリクエストの到来を監視する(1516)。背景データ判定部110bからのリコンフィグリクエストはコンフィグAの移行を要求するものだけなので、リコンフィグリクエストが来れば、ステップ1502に戻り、コンフィグAのデータを再構成可能回路部1004にロードする。
ステップ1506でリコンフィグリクエストが背景データ用の復号系統へのリコンフィグを要求するリクエストでないと判定した場合、リコンフィグ制御部1008は、隣接ブロック同一性判定部1104cを備えるコンフィグCのデータを再構成可能回路部1004にロードし、復号処理を実行させる(1508)。この後、リコンフィグ制御部1008は、隣接ブロック同一性判定部1104cからのリコンフィグリクエストの到来を監視する(1510)。隣接ブロック同一性判定部1104cが、コンフィグAの移行を要求するリクエストと、コンフィグBへの移行を要求するリクエストの2種類を発行する機能を持つ場合、リコンフィグ制御部1008はどちらのリクエストであるかを判定する(1512)。そして、コンフィグAの移行を要求するリクエストであればステップ1502へ、コンフィグBへの移行を要求するリクエストであればステップ1514へ、それぞれ進む。
以上、実施形態及びその変形例を説明した。以上の例では、実施形態及びその変形例の画像データ復号装置をDRPに実装する場合を例にとって説明したが、図1及び図11の構成は、DRP以外にも、IC(集積回路)、LSI(大規模集積回路)、ASIC(特定用途向け集積回路)などの通常の集積回路、FPGA(Field Programmable Gate Array)等のプログラマブル論理回路などといった様々な形態の回路として実装可能である。
以上では、画像データの圧縮方式としてJPEGが用いられる場合を例にとって説明した。しかし、この実施形態の方式は、JPEGのみならず、ブロックごとに1つの直流成分の情報と直流成分以外の各周波数の成分の情報とを含む圧縮画像データであって直流成分以外の各周波数の成分がすべて0であるブロックについては直流成分の情報とブロック終端符号のみを含むような圧縮画像データを扱う圧縮符号化方式一般に適用可能である。ここで、直流成分とは、必ずしも周波数が完全に0である成分に限られるわけではなく、当該圧縮符号化方式で周波数解析により求める最低周波数成分であってもよい。また、周波数解析には、JPEGにおいて用いられるDCTに限らず、ウェーブレット変換などの他の方式を用いてもよい。
以上に説明した画像データ復号装置は、例えば、複写機、プリンタ、複合機(プリンタ、スキャナ、コピー機、ファクシミリ装置などの機能を兼ね備えた多機能装置)、デジタルカメラなどといった、静止画像の圧縮データを復号する機能を有する機器に組み込むことができる。
100 JPEG伸張処理部、102 入力データ取り込み部、104 ハフマンデコード部、106 JPEGコード伸張部、108 8×8ブロックバッファ、110 背景データ判定部、112 均一データブロック生成部、114 出力セレクタ、116 データ出力部。

Claims (3)

  1. 画像のブロックごとにそのブロックに含まれる画素値の周波数解析結果である1つの直流成分の情報と直流成分以外の各周波数の成分の情報とを含む圧縮画像データであって直流成分以外の各周波数の成分がすべて0であるブロックについては直流成分の情報とブロック終端符号のみを含んだ圧縮画像データを受け取り、受け取った圧縮画像データを先頭のブロックから順にブロックごとに、当該ブロックが直流成分とブロック終端符号のみからなっているか否かを判定する判定手段と、
    前記判定手段にて直流成分とブロック終端符号のみからなっているのではないと判定されたブロックについては、当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対して前記周波数解析の逆演算を行うことで当該ブロックの各画素値を生成する第1画素値生成手段と、
    前記判定手段にて直流成分とブロック終端符号のみからなっていると判定されたブロックについては、当該ブロックのすべての画素について当該直流成分の情報に基づき同一の画素値を生成する第2画素値生成手段と、
    再構成可能回路と、
    前記判定手段の回路と前記第1画素値生成手段の回路とを含む第1回路構成と、前記判定手段の回路と前記第2画素値生成手段の回路とを含む第2回路構成とを、互いに排他的に前記再構成可能回路上に再構成する制御を行う再構成制御手段と、
    を備え、
    前記圧縮画像データに含まれる前記直流成分の情報は、差分符号化により生成された差分値であり、
    前記第1回路構成及び前記第2回路構成は、前記直流成分の値を保持する保持回路を有し、前記保持回路が保持する直流成分の値と前記圧縮画像データから得られる前記差分値とに基づいて当該差分値に対応する直流成分の値を求め、求めた直流成分の値を用いて前記第1画素値生成手段及び前記第2画素値生成手段に画素値の生成を行わせ、
    前記再構成制御手段は、
    (a)前記再構成可能回路上に再構成されている前記第1回路構成の前記判定手段の回路にて、前記ブロックが直流成分とブロック終端符号のみからなっていると判定されると、前記再構成可能回路上に前記第1回路構成に代えて前記第2回路構成を再構成し、再構成された前記第2回路構成の前記第2画素値生成手段の回路に対して当該直流成分の情報に基づき同一の画素値を生成させ、
    (b)前記再構成可能回路上に再構成されている前記第2回路構成の前記判定手段の回路にて、前記ブロックが直流成分とブロック終端符号のみからなっているのではないと判定されると、前記再構成可能回路上に前記第2回路構成に代えて前記第1回路構成を再構成し、再構成された前記第1回路構成の前記第1画素値生成手段の回路に対して当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対する前記逆演算により当該ブロックの各画素値を生成させ、
    (c)前記第1回路構成から前記第2回路構成への再構成、及び前記第2回路構成から前記第1回路構成への再構成の際に、前記保持回路を書き換えずに維持する、
    ことを特徴とする画像データ復号装置。
  2. 画像のブロックごとにそのブロックに含まれる画素値の周波数解析結果である1つの直流成分の情報と直流成分以外の各周波数の成分の情報とを含む圧縮画像データであって直流成分以外の各周波数の成分がすべて0であるブロックについては直流成分の情報とブロック終端符号のみを含んだ圧縮画像データを受け取り、受け取った圧縮画像データを先頭のブロックから順にブロックごとに、当該ブロックが直流成分とブロック終端符号のみからなっているか否かを判定する判定手段と、
    前記判定手段にて直流成分とブロック終端符号のみからなっているのではないと判定されたブロックについては、当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対して前記周波数解析の逆演算を行うことで当該ブロックの各画素値を生成する第1画素値生成手段と、
    前記判定手段にて直流成分とブロック終端符号のみからなっていると判定されたブロックについては、当該ブロックのすべての画素について当該直流成分の情報に基づき同一の画素値を生成する第2画素値生成手段と、
    前記受け取った圧縮画像データの先頭のブロックから順にブロックごとに、当該ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一か否かを判定する第2判定手段と、
    前記第1画素値生成手段が生成した前記ブロックの各画素値を、当該ブロックの次のブロックの各画素値が生成されるまで保持する保持手段と、
    前記第2判定手段にて前記ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一と判定された場合に、前記保持手段に保持された前記直前のブロックの各画素値と、前記ブロックと前記直前のブロックの直流成分同士の差と、から前記ブロックの各画素値を生成する第3画素値生成手段と、
    を備る画像データ復号装置。
  3. 再構成可能回路と、
    前記判定手段の回路と前記第2判定手段の回路と前記第1画素値生成手段の回路と前記保持手段の回路とを含む第1回路構成と、前記判定手段の回路と前記第2画素値生成手段の回路とを含む第2回路構成と、前記第2判定手段の回路と前記第3画素値生成手段の回路と前記保持手段の回路とを含む第3回路構成とを、互いに排他的に前記再構成可能回路上に再構成する制御を行う再構成制御手段と、
    を備え、前記再構成制御手段は、
    (a)前記再構成可能回路上に再構成されている前記第1回路構成の前記判定手段の回路にて、前記ブロックが直流成分とブロック終端符号のみからなっていると判定されると、前記再構成可能回路上に前記第1回路構成に代えて前記第2回路構成を再構成し、再構成された前記第2回路構成の前記第2画素値生成手段の回路に対して当該直流成分の情報に基づき同一の画素値を生成させ、
    (b)前記再構成可能回路上に再構成されている前記第1回路構成の前記第2判定手段の回路にて前記ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一と判定されると、前記再構成可能回路上に、前記第1回路構成のうち前記保持手段の回路のみを残して前記第3回路構成を再構成し、再構成された前記第3回路構成の前記第3画素値生成手段の回路に対して前記保持手段の回路に保持された前記直前のブロックの各画素値と、前記ブロックと前記直前のブロックの直流成分同士の差と、から前記ブロックの各画素値を生成させ、
    (c)前記再構成可能回路上に再構成されている前記第2回路構成の前記判定手段の回路にて、前記ブロックが直流成分とブロック終端符号のみからなっているのではないと判定されると、前記再構成可能回路上に前記第2回路構成に代えて前記第1回路構成を再構成し、再構成された前記第1回路構成の前記第1画素値生成手段の回路に対して当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対する前記逆演算により当該ブロックの各画素値を生成させ、
    (d)前記再構成可能回路上に再構成されている前記第3回路構成の前記第2判定手段の回路にて、前記ブロックの前記直流成分以外の各周波数の成分が直前のブロックの前記直流成分以外の各周波数の成分と同一でないと判定されると、前記再構成可能回路上に前記第3回路構成に代えて前記第1回路構成を再構成し、再構成された前記第1回路構成の前記第1画素値生成手段の回路に対して当該ブロックに含まれる直流成分と直流成分以外の各周波数の成分とに対する前記逆演算により当該ブロックの各画素値を生成させる、
    ことを特徴とする請求項に記載の画像データ復号装置。
JP2010140992A 2010-06-21 2010-06-21 画像データ復号装置 Expired - Fee Related JP5614122B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010140992A JP5614122B2 (ja) 2010-06-21 2010-06-21 画像データ復号装置
US12/912,288 US8538182B2 (en) 2010-06-21 2010-10-26 Image data decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010140992A JP5614122B2 (ja) 2010-06-21 2010-06-21 画像データ復号装置

Publications (2)

Publication Number Publication Date
JP2012005070A JP2012005070A (ja) 2012-01-05
JP5614122B2 true JP5614122B2 (ja) 2014-10-29

Family

ID=45328731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010140992A Expired - Fee Related JP5614122B2 (ja) 2010-06-21 2010-06-21 画像データ復号装置

Country Status (2)

Country Link
US (1) US8538182B2 (ja)
JP (1) JP5614122B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9872040B2 (en) * 2014-01-02 2018-01-16 Qualcomm Incorporated Color index coding for palette-based video coding
JP2015130640A (ja) * 2014-01-09 2015-07-16 富士ゼロックス株式会社 データ伸張装置、プログラムおよび記録媒体
CN110278437B (zh) 2014-06-20 2022-03-08 寰发股份有限公司 一种视频数据块的编码方法
CN107404654B (zh) * 2017-08-23 2020-09-18 苏州浪潮智能科技有限公司 一种jpeg图像解压缩方法、装置及平台
US20220046200A1 (en) * 2020-08-10 2022-02-10 Micron Technology, Inc. Methods and apparatus for integrated image signal processing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2839392B2 (ja) * 1991-08-13 1998-12-16 富士通株式会社 画像データ復元方法および装置
JPH1141429A (ja) 1997-07-16 1999-02-12 Minolta Co Ltd 圧縮・伸張処理装置
EP1489830B1 (en) * 2003-06-16 2006-11-22 Océ-Technologies B.V. Method and apparatus for generating a halftoned image from a compressed image
JPWO2006025090A1 (ja) * 2004-08-30 2008-05-08 富士通株式会社 画像復元装置、画像復元方法、および画像復元プログラム
JP4203520B2 (ja) 2006-10-30 2009-01-07 シャープ株式会社 画像データ処理装置、およびそれを備えた画像形成装置、画像データ処理プログラム、画像データ処理方法
JP5071707B2 (ja) 2007-06-22 2012-11-14 富士ゼロックス株式会社 データ処理装置およびその制御方法
US8073270B2 (en) * 2008-09-16 2011-12-06 Silicon Motion, Inc. Image decoding apparatus and method

Also Published As

Publication number Publication date
JP2012005070A (ja) 2012-01-05
US20110311151A1 (en) 2011-12-22
US8538182B2 (en) 2013-09-17

Similar Documents

Publication Publication Date Title
JP3732702B2 (ja) 画像処理装置
US8331703B2 (en) Parallel image encoding
JP5614122B2 (ja) 画像データ復号装置
US9374593B2 (en) Data decompressing device and non-transitory computer readable medium for detecting whether initial portion of compressed image data corresponds to specific pattern
GB2561152A (en) Data processing systems
JP2011049764A (ja) データ圧縮伸長装置
US8488893B2 (en) Image compression apparatus and image compression method
JP2006325186A (ja) 画像処理装置
JP5732765B2 (ja) 画像データ復号装置
JP2003189109A (ja) 画像処理装置及び方法、並びにコンピュータ・プログラム
JP2009239852A (ja) 画像処理装置及び画像処理方法
JP5441676B2 (ja) 画像処理装置及びその処理方法
JP5100561B2 (ja) 画像処理装置および画像処理方法
JP2009044547A (ja) 画像処理装置および画像処理方法
JP2020088694A (ja) 画像処理装置、画像処理方法
US9154800B2 (en) Method and apparatus for a memory efficient approach for decoding progressive joint photographic experts group (JPEG) images
JP6081869B2 (ja) 画像復号化装置
JP3997851B2 (ja) 画像符号化装置および画像符号化プログラム
JP5731816B2 (ja) 画像処理装置、画像処理方法
JP6775558B2 (ja) 画像伸長装置及びその制御方法及びプログラム
US10182178B2 (en) Parallel fast drawing of unrotated delta row encoded images
JP5654809B2 (ja) 画像処理装置、画像処理方法
JP2012095227A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2005109544A (ja) 画像処理装置
JP2011172152A (ja) 画像処理装置及び方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140825

R150 Certificate of patent or registration of utility model

Ref document number: 5614122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees