トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 JPEG復号器
【発明者】 【氏名】河野 忠美

【要約】 【課題】ソフトウエアを用いることなく、JPEGデータ中の圧縮主画像データ及び圧縮サムネイル画像データの復号処理を行うことができるJPEG復号器を提供する。

【構成】マーカ解釈部210は、APPマーカを検出すると(JPEGデータが圧縮サムネイル画像データを含んでいると)、APP検出通知をデータ・スキップ部220及びスイッチ部230に発行し、これを受けて、データ・スキップ部220は、マーカ解釈部210が出力するJPEGデータからAPPデータを削除したデータをJPEGエンジン・メイン240に転送し、スイッチ部230は、マーカ解釈部210が出力するJPEGデータをそのままJPEGエンジン・サブ250に転送する。JPEGエンジン・メイン240は圧縮主画像データの復号処理を行い、JPEGエンジン・サブ250は圧縮サムネイル画像データの復号処理を行う。
【特許請求の範囲】
【請求項1】
JPEGデータ中の圧縮主画像データの復号処理を行う第1の復号部と、
前記JPEGデータ中の圧縮サムネイル画像データの復号処理を行う第2の復号部を備える
ことを特徴とするJPEG復号器。
【請求項2】
前記JPEGデータがAPPマーカを含む場合は、前記第1の復号部には前記JPEGデータからAPPデータを削除したデータを転送し、前記第2の復号部には前記JPEGデータを転送する転送部を備える
ことを特徴とする請求項1に記載のJPEG復号器。
【請求項3】
前記第1の復号部は、マーカの解釈を行う第1のマーカ解釈部と、MCU単位で復号を行う第1のMCU復号部を備え、
前記第2の復号部は、マーカの解釈を行う第2のマーカ解釈部と、MCU単位で復号を行う第2のMCU復号部を備える
ことを特徴とする請求項2に記載のJPEG復号器。
【請求項4】
前記第2の復号部が出力するサムネイル画像データを一時的に格納する格納手段を備える
ことを特徴とする請求項3に記載のJPEG復号器。

【発明の詳細な説明】【技術分野】
【0001】
本発明は、JPEG(Joint Photographic Experts Group)データに含まれる圧縮画像データの復号処理を行うJPEG復号器に関する.
【背景技術】
【0002】
図3はJPEGデータの構造を示す図である。JPEGデータは、その先頭を示すSOI(Start Of Image)で始まり、終了を示すEOI(End 0f Image)で終わるというのが基本であり、SOIとEOIの間に、付属情報用のAPP(Application Segment)、量子化テーブルを定義するDQT(Define Quantization Table)、ハフマン・テーブルを定義するDHF(Define Huffman Table)、フレームに関する各種のパラメータを示すSOF(Start Of Frame)、スキャンに関する各種のパラメータを示すSOS(Start Of Scan)のマーカセグメントおよび圧縮画像データが挿入される。なお、DQT、DHF、SOFの記録順は任意である。
【0003】
図4は従来のJPEG復号器の一例の構成図である。図4中、1はJPEGデータ中のマーカの検出、解釈を行うマーカ解釈部、2はマーカ解釈部1がDQTのデータを解釈した結果を書き込む量子化テーブルRAM(Random Acess Memory)、3はマーカ解釈部1がDHFのデータを解釈した結果を書き込むハフマン・テーブルRAM、4は16×16ドットの画像ブロックであるMCU(Minimal Coding Unit)単位で圧縮画像データの復号処理を行うMCU復号部であり、5はエントロピ復号部、6は逆量子化部、7は逆DCT部である。なお、この例では、JPEGデータにサムネイル画像データは含まれていない。
【0004】
図5は図4に示す従来のJPEG復号器の動作を示すフローチャートである。図4に示す従来のJPEG復号器では、マーカ解釈部1により、JPEGデータが先頭から逐次検査され、まず、SOIが検出され(ステップP1)、直前までの手続が破棄される。続いて、マーカ解釈部1により、DQT、DHF、SOF、SOSが検出されて解釈され(ステップP2)、DQTおよびDHFについては、解釈した結果がそれぞれ量子化テーブルRAM2およびハフマン・テーブルRAM3に書き込まれる。
【0005】
次に、MCU復号部4で圧縮画像データの復号処理がMCU単位で行われる(ステップP3)。なお、MCUの復号中にリスタート・インターバル・マーカが検出された場合には、各成分の直前のブロックのDC成分を0にしなければならない。そして、MCU単位での復号が続けられると、一枚の静止画の復号が完成し、EOIが検出されて(ステップP4)、復号処理が終了する。
【0006】
このように、図4に示す従来のJPEG復号器は、各種マーカを検出するたびに、表1に示す所定の手続きを行いながら画像の復号を進めていく。これらマーカのうち、SOI/EOIのような最重要マーカを検出した場合には、復号開始/復号終了という振る舞いをする。なぜなら、JPEGデータは、SOIで始まり、EOIで終わるというのが基本であるからである。ところが、この基本動作のために、図4に示す従来のJPEG復号器では次項で挙げる不具合が発生する。
【0007】
【表1】


【特許文献1】特開2004−72488号公報
【特許文献2】特開2004−153621号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
1995年に登場したEXIF規格では、図6に示すように、ひとつのJPEGデータ(JPEGファイル)の中に複数のSOI/EOIが存在しても良いことになった。具体的に言えば、APPセグメントに主画像のサムネイル画像を付加することが許された。
【0009】
ところが、圧縮サムネイル画像データを含む図6に示すEXIF規格のJPEGデータを図4に示す従来のJPEG復号器で復号すると、主画像のSOI(9a)を検出し、引き続くAPPマーカ(9b)を検出し、その後、1thサムネイル・データのSOI(9c)を検出した時点で、復号動作がリセットされ、圧縮サムネイル画像データの復号処理が進み、EOI(9d)を検出した時点で復号終了となり、圧縮サムネイル画像データの復号処理は行われるが、圧縮主画像データの復号処理は行われないという不具合が発生してしまう。
【0010】
このため、図4に示す従来のJPEG復号器を用いた画像処理装置では、例えば、JPEGデータをあらかじめソフトウエアで検索し、圧縮サムネイル画像データを含んでいる場合には、図4に示す従来のJPEG復号器で圧縮サムネイル画像データの復号処理を行うほか、ソフトウエアを用いてJPEGデータからAPPデータを削除処理して、その後、図4に示す従来のJPEG復号器で圧縮主画像データを復号するという手法により、主画像データおよびサムネイル画像データの復号を行っていた。
【0011】
本発明は、かかる点に鑑み、ソフトウエアを用いることなく、JPEGデータ中の圧縮主画像データおよび圧縮サムネイル画像データの復号処理を行うことができるようにしたJPEG復号器を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明のJPEG復号器は、JPEGデータ中の圧縮主画像データの復号処理を行う第1の復号部と、前記JPEGデータ中の圧縮サムネイル画像データの復号処理を行う第2の復号部を備えるものである。
【0013】
更に、本発明のJPEG復号器は、前記JPEGデータがAPPマーカを含む場合は、第1の復号部には前記JPEGデータからAPPデータを削除したデータを転送し、第2の復号部には前記JPEGデータを転送する転送部を備える構成とすることができる。
【0014】
このような転送部を備える構成とする場合には、第1の復号部は、マーカの解釈を行う第1のマーカ解釈部と、MCU単位で復号を行う第1のMCU復号部を備え、第2の復号部は、マーカの解釈を行う第2のマーカ解釈部と、MCU単位で復号を行う第2のMCU復号部を備える構成とすることができる。
【発明の効果】
【0015】
本発明によれば、第1の復号部によりJPEGデータ中の圧縮主画像データの復号処理を行うことができ、第2の復号部によりJPEGデータ中の圧縮サムネイル画像データの復号処理を行うことができる。即ち、ソフトウエアを用いることなく、JPEGデータ中の圧縮主画像データおよび圧縮サムネイル画像データの復号処理を行うことができる。
【発明を実施するための最良の形態】
【0016】
図1は本発明の一実施形態のJPEG復号器を用いた画像処理装置の一部分の構成図である。図1中、100はJPEGデータを格納するためのフレーム・メモリ、200は本発明の一実施形態のJPEG復号器であり、200AはJPEGデータ入力端子、200Bは主画像データ出力端子、200Cはサムネイル画像データ出力端子である。
【0017】
300は本発明の一実施形態のJPEG復号器200の主画像データ出力端子200Bに出力される主画像データ又は本発明の一実施形態のJPEG復号器200のサムネイル画像データ出力端子200Cに出力されるサムネイル画像データを選択してフレーム・メモリ400に転送するためのセレクタであり、後述するJPEGエンジン・メインが出力する主画像復号完了フラグ信号により選択動作が制御される。
【0018】
本例では、主画像復号完了フラグ信号が“0”の場合、セレクタ300は、本発明の一実施形態のJPEG復号器200の主画像データ出力端子200Bをフレーム・メモリ400のデータ入力端子400Aに電気的に接続し、本発明の一実施形態のJPEG復号器200が主画像データ出力端子200Bに出力する主画像データをフレーム・メモリ400に転送する。
【0019】
これに対して、主画像復号完了フラグ信号が“1”の場合には、セレクタ300は、本発明の一実施形態のJPEG復号器200のサムネイル画像データ出力端子200Cをフレーム・メモリ400のデータ入力端子400Aに電気的に接続し、本発明の一実施形態のJPEG復号器200がサムネイル画像データ出力端子200Cに出力するサムネイル画像データをフレーム・メモリ400に転送する。
【0020】
400は本発明の一実施形態のJPEG復号器200からセレクタ300を介して与えられる復号画像データ(JPEGデータが圧縮サムネイル画像データを含まない場合には復号された主画像データ、JPEGデータが圧縮サムネイル画像データを含む場合には、復号された主画像データおよびサムネイル画像データ)を格納するためのフレーム・メモリである。
【0021】
また、本発明の一実施形態のJPEG復号器200は、マーカ解釈部210と、データ・スキップ部220と、スイッチ部230と、第1のJPEG復号部をなすJPEGエンジン・メイン240と、第2のJPEG復号部をなすJPEGエンジン・サブ250と、テンポラル・メモリ260を備えている。なお、マーカ解釈部210とデータ・スキップ部220とスイッチ部230とで、JPEGデータのJPEGエンジン・メイン240およびJPEGエンジン・サブ250への転送を制御する転送部が構成されている。
【0022】
マーカ解釈部210は、フレーム・メモリ100から読み出されるJPEGデータを入力し、これをデータ・スキップ部220およびスイッチ部230に転送すると共に、JPEGデータからSOIおよびAPPマーカの検出動作を行い、APPマーカを検出した場合には、APP検出通知をデータ・スキップ部220およびスイッチ部230に対して発行するものである。
【0023】
データ・スキップ部220は、マーカ解釈部210のJPEGデータ出力端とJPEGエンジン・メイン240のJPEGデータ入力端との間に接続され、マーカ解釈部210が出力するJPEGデータをJPEGエンジン・メイン240に転送するものであるが、その転送動作は、マーカ解釈部210が出力するAPP検出通知により制御されるように構成される。
【0024】
本例では、データ・スキップ部220は、マーカ解釈部210からAPP検出通知を受け取った場合、マーカ解釈部210が出力するJPEGデータからAPPレングスが示すバイト数のデータを読み飛ばしたデータ、すなわち、APPデータを削除したデータをJPEGエンジン・メイン240に転送する。これに対して、マーカ解釈部210からAPP検出通知を受け取らない場合には、データ・スキップ部220は、マーカ解釈部210が出力するJPEGデータをそのままJPEGエンジン・メイン240に転送する。
【0025】
スイッチ部230は、マーカ解釈部210のJPEGデータ出力端とJPEGエンジン・サブ250のJPEGデータ入力端との間に接続され、そのスイッチ動作をマーカ解釈部210が出力するAPP検出通知により制御されるものである。本例では、スイッチ部230は、マーカ解釈部210からAPP検出通知を受け取った場合にはオン状態となり、マーカ解釈部210が出力するAPPデータ以降のJPEGデータをJPEGエンジン・サブ250に転送する。これに対して、マーカ解釈部210からAPP検出通知を受け取らない場合には、スイッチ部230は、オフ状態を維持する。
【0026】
JPEGエンジン・メイン240は、JPEGデータに含まれる圧縮主画像データの復号処理を行うものであり、JPEGエンジン・サブ250は、JPEGデータに含まれる圧縮サムネイル画像データの復号処理を行うものである。
【0027】
テンポラル・メモリ260は、JPEGエンジン・メイン240が出力する復号データである主画像データのフレーム・メモリ400への書き込みが完了するまでの間、JPEGエンジン・サブ250が出力する復号データであるサムネイル画像データを一時的に格納しておくためのものである。なお、サムネイル画像のサイズは160×120ドットと決まっているため、テンポラル・メモリ260の容量は57600バイト(=160×120×8×3ビット)あれば良い。
【0028】
また、JPEGエンジン・メイン240は、マーカ解釈部241と、量子化テーブルRAM242と、ハフマン・テーブルRAM243と、MCU復号部244を備えており、MCU復号部244は、エントロピ復号部245と、逆量子化部246と、逆DCT部247を備えている。
【0029】
マーカ解釈部241は、データ・スキップ部220が出力するJPEGデータ中のDQT、DHF、SOF、SOS、EOIを検出して解釈するものである。量子化テーブルRAM242は、マーカ解釈部241がDQTのデータを解釈した結果を書き込むものである。ハフマン・テーブルRAM243は、マーカ解釈部241がDHFのデータを解釈した結果を書き込むものである。MCU復号部244は、圧縮主画像データについてMCU単位での復号処理を行うものである。
【0030】
また、JPEGエンジン・メイン240は、主画像復号完了フラグ信号を生成し、これをセレクタ300に選択制御信号として与えるように構成される。本例では、JPEGエンジン・メイン240は、圧縮主画像データの復号が完了する前(図6に示すEOI(9e)を検出する前)は主画像復号完了フラグ信号を“0”とし、圧縮主画像データの復号が完了したとき(図6に示すEOI(9e)を検出したとき)は“1”とする。
【0031】
また、JPEGエンジン・サブ250は、マーカ解釈部251と、量子化テーブルRAM252と、ハフマン・テーブルRAM253と、MCU復号部254を備えており、MCU復号部254は、エントロピ復号部255と、逆量子化部256と、逆DCT部257を備えている。
【0032】
マーカ解釈部251は、APPマーカに続くAPPレングス以降のデータを解釈するものである。量子化テーブルRAM252は、マーカ解釈部251がDQTのデータを解釈した結果を書き込むものである。ハフマン・テーブルRAM253は、マーカ解釈部251がDHFのデータを解釈した結果を書き込むものである。MCU復号部254は、圧縮サムネイル画像データについてMCU単位での復号処理を行うものである。
【0033】
図2は図1に示す画像処理装置の動作を示すフローチャートである。即ち、図1に示す画像処理装置においては、まず、フレーム・メモリ100からJPEGデータが読み出されて本発明の一実施形態のJPEG復号器200のマーカ解釈部210に転送される(ステップS1)。マーカ解釈部210は、フレーム・メモリ100から転送されてくるJPEGデータから主画像のSOI(図6に示すSOI(9a))を検出する(ステップS2)。主画像のSOIが検出されると、復号が開始され、直前までの手続が破棄される。
【0034】
次に、マーカ解釈部210は、APPマーカ(図6に示すAPPマーカ(9b))の検出の有無を判定し(ステップS3)、APPマーカを検出した場合(ステップS3でYESの場合)、すなわち、JPEGデータが圧縮サムネイル画像データを含む場合には、APP検出通知をデータ・スキップ部220およびスイッチ部230に発行する(ステップS4)。この場合、スイッチ部230は、オン状態になり(ステップS5−1)、マーカ解釈部210が出力するJPEGデータをJPEGエンジン・サブ250のマーカ解釈部251に転送する。
【0035】
マーカ解釈部251は、APPマーカに続くAPPレングス以降のデータを解釈し、やがてサムネイル画像のSOI(図6に示すSOI(9c))を検出する(ステップS5−2)。サムネイル画像のSOIが検出されると、サムネイル画像の復号が開始され、直前までの手続が破棄される。更に、マーカ解釈部251は、サムネイル画像のSOIを検出すると、更に、サムネイル画像のDQT、DHF、SOF、SOSを検出して解釈し、DQTおよびDHFについては、解釈した結果をそれぞれ量子化テーブルRAM252およびハフマン・テーブルRAM253に書き込む(ステップS5−3)。
【0036】
次に、MCU復号部254は、エントロピ復号部255、逆量子化部256および逆DCT部257を使用して圧縮サムネイル画像データの復号処理をMCU単位で行い、MCU単位で復号したサムネイル画像データを順にテンポラル・メモリ260に一時的に格納する(ステップS5−4)。なお、MCUの復号中にリスタート・インターバル・マーカが検出された場合には、各成分の直前のブロックのDC成分を0にしなければならない。
【0037】
そして、圧縮サムネイル画像データのMCU単位での復号処理が続けられ、サムネイル画像データの復号が完成すると、サムネイル画像のEOI(図6に示すEOI(9d))が検出され(ステップS5−5)、圧縮サムネイル画像データの復号処理が終了する。
【0038】
他方、データ・スキップ部220は、マーカ解釈部210からAPP検出通知を受け取ると、APPマーカに続く2バイトのAPPレングスを観測し、その値分のバイト数だけデータを読み飛ばし(ステップS6−1)、APPデータを削除したデータを、逐次JPEGエンジン・メイン240のマーカ解釈部241に転送する。なお、APPデータの削除は、具体的には、1バイト分のレジスタを設け、このレジスタに読み飛ばすデータを次々と上書きすることにより行われる。
【0039】
マーカ解釈部241は、データ・スキップ部220から転送されてくるAPPデータを削除したJPEGデータから主画像のDQT、DHF、SOF、SOSを検出して解釈し、DQTおよびDHFについては、解釈した結果をそれぞれ量子化テーブルRAM242およびハフマン・テーブルRAM243に書き込む(ステップS6−2)。
【0040】
次に、MCU復号部244は、エントロピ復号部245、逆量子化部246および逆DCT部247を使用して圧縮主画像データの復号処理をMCU単位で行う(ステップS6−3)。この場合、主画像復号完了フラグ信号は“0”とされ、主画像データ出力端子200Bはフレーム・メモリ400のデータ入力端子400Aに電気的に接続されているので、MCU復号部244で復号された主画像データは、逐次、セレクタ300を介してフレーム・メモリ400に書き込まれる。なお、MCUの復号中にリスタート・インターバル・マーカが検出された場合には、各成分の直前のブロックのDC成分を0にしければならない。
【0041】
そして、圧縮主画像データのMCU単位での復号処理が続けられ、主画像のEOI(図6に示すEOI(9e))が検出されると(ステップS6−4)、主画像復号完了フラグ信号が“1”とされ(ステップS6−5)、セレクタ300の切り換え動作が行われ、サムネイル画像データ出力端子200Cはフレーム・メモリ400のデータ入力端子400Aに電気的に接続される(ステップS7)。
【0042】
次に、テンポラル・メモリ260からサムネイル画像データが読み出され、セレクタ300を介してフレーム・メモリ400に転送され(ステップS8)、図1に示す画像処理装置における主画像データおよびサムネイル画像の復号動作が終了する。
【0043】
これに対して、ステップS3において、マーカ解釈部210がAPPマーカを検出しない場合(ステップS3でNOの場合)、すなわち、JPEGデータが圧縮サムネイル画像データを含んでいない場合には、データ・スキップ部220は、マーカ解釈部210が出力するJPEGデータをそのままJPEGエンジン・メイン240のマーカ解釈部241に転送する。
【0044】
マーカ解釈部241は、データ・スキップ部220から転送されてくるJPEGデータから主画像のDQT、DHF、SOF、SOSを検出して解釈し(ステップS6−2)、DQTおよびDHFについては、解釈した結果をそれぞれ量子化テーブルRAM242およびハフマン・テーブルRAM243に書き込む。
【0045】
次に、MCU復号部244は、エントロピ復号部245、逆量子化部246および逆DCT部247を使用して圧縮主画像データの復号処理をMCU単位で行う(ステップS6−3)。この場合、主画像復号完了フラグ信号は“0”とされ、主画像データ出力端子200Bはフレーム・メモリ400のデータ入力端子400Aに電気的に接続されているので、MCU復号部244で復号された主画像データは、逐次、セレクタ300を介してフレーム・メモリ400に書き込まれる。
【0046】
そして、圧縮主画像データについてMCU単位の復号処理が続けられると、主画像のEOI(図6に示すEOI(9e))が検出されるが(ステップS6−4)、この場合、JPEGデータに圧縮サムネイル画像データは含まれていないので、主画像データのみが復号され、復号処理は終了する。
【0047】
以上のように、本発明の一実施形態のJPEG復号器200においては、マーカ解釈部210は、APPマーカを検出した場合、すなわち、JPEGデータが圧縮サムネイル画像データを含んでいる場合、APP検出通知をデータ・スキップ部220およびスイッチ部230に発行し、これを受けて、データ・スキップ部220は、マーカ解釈部210が出力するJPEGデータからAPPデータを削除したデータをJPEGエンジン・メイン240に転送し、スイッチ部230は、マーカ解釈部210が出力するJPEGデータをそのままJPEGエンジン・サブ250に転送する。この結果、JPEGエンジン・メイン240により圧縮主画像データの復号処理が行われ、JPEGエンジン・サブ250により圧縮サムネイル画像データの復号処理が行われる。
【0048】
すなわち、本発明の一実施形態のJPEG復号器200によれば、JPEGエンジン・メイン240およびJPEGエンジン・サブ250により圧縮主画像データおよび圧縮サムネイル画像データの復号処理を並行して行うことができるので、ソフトウエアを用いることなく、圧縮主画像データおよび圧縮サムネイル画像データの復号処理を行うことができ、しかも、サムネイル画像データの復号を待つことなく、主画像データの復号を開始することができる。
【0049】
また、本発明の一実施形態のJPEG復号器200によれば、マーカ解釈部210がAPPマーカを検出した場合、データ・スキップ部220は、マーカ解釈部210が出力するJPEGデータからAPPデータを削除したデータをJPEGエンジン・メイン240に転送するので、マーカ解釈部241は、主画像のDQTに素早く到達することができ、復号処理の高速化を図ることができる。
【図面の簡単な説明】
【0050】
【図1】本発明の一実施形態のJPEG復号器を用いた画像処理装置の一部分の構成図である。
【図2】図1に示す画像処理装置の動作を示すフローチャートである
【図3】JPEGデータの構造を示す図である。
【図4】従来のJPEG復号器の一例の構成図である。
【図5】図4に示す従来のJPEG復号器の動作を示すフローチャートである。
【図6】EXIF規格のJPEGデータの構造を示す図である。
【符号の説明】
【0051】
1…マーカ解釈部
2…量子化テーブルRAM
3…ハフマン・テーブルRAM
4…MCU復号部
5…エントロピ復号部
6…逆量子化部
7…逆DCT部
100…フレーム・メモリ
200…本発明の一実施形態のJPEG復号器
210…マーカ解釈部
220…データ・スキップ部
230…スイッチ部
240…JPEGエンジン・メイン
241…マーカ解釈部
242…量子化テーブルRAM
243…ハフマン・テーブルRAM
244…MCU復号部
245…エントロピ復号部
246…逆量子化部
247…逆DCT部
250…JPEGエンジン・サブ
251…マーカ解釈部
252…量子化テーブルRAM
253…ハフマン・テーブルRAM
254…MCU復号部
255…エントロピ復号部
256…逆量子化部
257…逆DCT部
260…テンポラル・メモリ
300…セレクタ
400…フレーム・メモリ

【出願人】 【識別番号】000005223
【氏名又は名称】富士通株式会社
【出願日】 平成18年8月31日(2006.8.31)
【代理人】 【識別番号】100092174
【弁理士】
【氏名又は名称】平戸 哲夫


【公開番号】 特開2008−60891(P2008−60891A)
【公開日】 平成20年3月13日(2008.3.13)
【出願番号】 特願2006−235167(P2006−235167)