(57)【特許請求の範囲】
【請求項１】
１つの画面を構成するディジタルの画像データについて直交変換し符号化する符号化方法において、該方法は、
前記画像データの所定部分を除いた部分的なデータに基づいて前記画像データを圧縮符号化する第１の工程と、
第１の工程が継続されて、前記符号化データの符号量が所定の符号量を超えるに際して前記画像データの圧縮符号化を停止し、該停止した際の画像データのアドレスに基づいて、前記画像データを圧縮符号化する第２の工程とを含み、
該第２の工程は、前記画像データを圧縮符号化するための量子化係数を前記アドレスに基づいて算出し、該算出された量子化係数に基づいて前記画像データを圧縮符号化することを特徴とする画像データ圧縮符号化方法。
【請求項２】
請求項１に記載の符号化方法において、
前記第１の工程は、前記画像データの部分的なデータから前記画像データを圧縮符号化するための第１の量子化係数を算出し、
該算出された第１の量子化係数に基づいて前記画像データを第１の圧縮符号化し、
前記第２の工程は、前記第１の工程にて符号化された符号化データが所定の符号量を超えるに際して、前記画像データの第１の圧縮符号化を停止し、
前記第１の圧縮符号化を停止した際の画像データのアドレスに基づいて全体の符号量を算出し、
該全体の符号量に基づいて、前記画像データを前記所定の符号量以内に圧縮符号化するための第２の量子化係数を算出し、
該第２の量子化係数に基づいて前記画像データを第２の圧縮符号化して、所定の符号量に制限された符号化データを出力することを特徴とする画像データ圧縮符号化方法。
【請求項３】
請求項１に記載の符号化方法において、前記第１の工程は、前記画像データを所定の画素ごとに分割した所定のブロックごとのデータであって、前記画像データに対して部分的なデータを読み出す部分化工程を含むことを特徴とする画像データ圧縮符号化方法。
【請求項４】
請求項３に記載の符号化方法において、前記部分化工程は、前記画像データを部分的に間引きし、該間引きされた縮小画像データを所定の画素ごとの複数のブロックに分割し、該分割したブロックを読み出すことによって、前記画像データの部分的なデータを読み出すことを特徴とする画像データ圧縮符号化方法。
【請求項５】
請求項３に記載の符号化方法において、前記部分化工程は、前記画像データを所定の画素ごとの複数のブロックに分割し、該分割したブロックのとびとびのブロックを読み出すことによって、前記画像データの部分的なデータを読み出すことを特徴とする画像データ圧縮符号化方法。
【請求項６】
請求項３に記載の符号化方法において、前記部分化工程は、前記画像データを部分的に間引きし、該間引きされた縮小画像データを所定の画素ごとの複数のブロックに分割し、該分割したブロックのとびとびのブロックを読み出すことによって前記画像データの部分的なデータを読み出すことを特徴とする画像データ圧縮符号化方法。
【請求項７】
１つの画面を構成するディジタルの第１の画像データについて直交変換し符号化する画像データ圧縮符号化装置において、該装置は、
前記第１の画像データを複数のブロックに分割するブロック化手段と、
該ブロック化手段にて前記ブロックに分割された画像データのそれぞれを所定の直交変換方式にて変換する直交変換手段と、
該直交変換手段にて変換された画像データをそれぞれのブロックの特徴に応じた量子化係数に基づいて量子化する量子化手段と、
該量子化手段にて量子化された画像データを所望の符号化方式にて符号化して符号化データを作成する符号化手段と、
前記ブロックに分割された画像データのそれぞれのブロックの特徴量を表わすアクティビティを算出するブロックアクティビティ算出手段と、
前記アクティビティの総和を表わす総アクティビティを算出する総アクティビティ算出手段と、
前記総アクティビティに基づいて、前記直交変換手段にて変換された画像データを量子化するための第１の量子化係数を前記量子化手段に設定する量子化係数設定手段と、
前記符号化手段にて作成された符号化データの符号量に基づいて、前記量子化された画像データの符号化を停止させる符号化停止手段と、
該符号化停止手段により符号化が停止された際の前記画像データのアドレスから前記画像データの全体の符号量を算出する全体符号量算出手段とを有し、
前記ブロック化手段は、
前記第１の画像データを複数のブロックに分割した第２の画像データであって、前記第１の画像データに対して部分的なデータに対応する第２の画像データを作成し、該作成した第２の画像データをブロックごとに前記ブロックアクティビティ算出手段に供給し、
前記第１の画像データを複数のブロックに分割した第３の画像データを前記直交変換手段に供給し、
前記ブロックアクティビティ算出手段は、前記ブロック化手段から供給された第２の画像データのそれぞれのブロックに対応するアクティビティを算出し、
前記量子化係数設定手段は、前記全体符号量算出手段にて算出された前記全体の符号量に基づいて、前記直交変換手段にて変換された画像データを量子化するための第２の量子化係数を前記量子化手段に設定し、
前記量子化手段は、第２の量子化係数に基づいて前記直交変換手段にて変換された画像データを量子化し、
前記符号化手段は、第２の量子化係数に基づいて量子化された画像データを符号化することを特徴とする画像データ圧縮符号化装置。
【請求項８】
請求項７に記載の画像データ圧縮符号化装置において、前記ブロック化手段は、前記１つの画面を構成する第１の画像データを間引きした縮小画像データを所定の画素ごとの複数のブロックに分割し、該分割されたブロックごとの画像データを前記ブロックアクティビティ算出手段に供給することを特徴とする画像データ圧縮符号化装置。
【請求項９】
請求項７に記載の画像データ圧縮符号化装置において、前記ブロック化手段は、前記前記１つの画面を構成する第１の画像データを、所定の画素ごとの複数のブロックに分割し、該分割されたブロックごとの画像データをとびとびに読み出して前記ブロックアクティビティ算出手段に供給することを特徴とする画像データ圧縮符号化装置。
【請求項１０】
請求項７に記載の画像データ圧縮符号化装置において、前記ブロック化手段は、前記１つの画面を構成する第１の画像データを間引きした縮小画像データを所定の画素ごとの複数のブロックに分割し、該分割されたブロックごとの画像データをとびとびに読み出して前記ブロックアクティビティ算出手段に供給することを特徴とする画像データ圧縮符号化装置。
【請求項１１】
請求項７に記載の画像データ圧縮符号化装置と、
被写界を撮像して前記１つの画面を構成するディジタルの第１の画像データを生成する撮像手段と、
前記画像データ圧縮符号化装置にて生成された符号化データを出力する出力手段と、
前記撮像手段における撮影を制御する制御手段とを備えたことを特徴とするディジタルカメラ。
【請求項１２】
請求項１１に記載のディジタルカメラにおいて、前記出力手段は、前記画像データ圧縮符号化装置にて符号化された符号化データを蓄積するデータ記憶手段を着脱可能に接続する接続手段を含み、
前記制御手段は、前記撮像手段にて生成された第１の画像データを前記画像データ圧縮符号化装置にて圧縮符号化させ、符号化された符号化データを前記データ記憶手段に記憶させる制御を行なうことを特徴とするディジタルカメラ。
【請求項１３】
請求項１２に記載のディジタルカメラにおいて、前記データ記憶手段は、半導体記憶素子にて構成されたメモリカードであることを特徴とするディジタルカメラ。
【請求項１４】
請求項１１に記載のディジタルカメラにおいて、該カメラは、前記撮像手段にて撮像された第１の画像データが表わす画像を処理して表示する表示手段を備えたことを特徴とするディジタルカメラ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、画像データ圧縮符号化方法および装置に係り、たとえばディジタルスチルカメラに適用して好適な画像データ圧縮符号化方法および装置に関するものである。
【０００２】
【従来の技術】
周知のように、ディジタルスチルカメラにおいては、撮像された被写界の画像を表わす画像信号がディジタル値の画像データに変換され、変換された画像データは、２次元直交変換符号化などの変換方式によって所望の量以下のデータ量に圧縮符号化されて、半導体メモリまたは光ディスク等のデータ記録媒体に記録される。この圧縮符号化は、たとえば、撮像してディジタル化された１画面の画像データを所定の大きさのブロックに分割し、各ブロックの画像データを２次元直交変換によって周波数領域のデータ、すなわち変換係数に変換し、この変換係数を量子化して符号化する。
【０００３】
この変換係数は、撮像された画像の特性に応じた量子化係数により除算されて量子化が行なわれる。この場合、量子化係数は、それぞれのブロックに含まれる高域周波数成分の程度を表わすブロックアクティビティの総数、いわゆる撮像された１画面分の画像のアクティビティに基づいて決められていた。また、量子化係数は、たとえばルックアップテーブルに複数用意され、これが総アクティビティに基づいて選択されて、変換係数を量子化係数で除算することにより変換係数が量子化される。量子化された変換係数は、たとえばハフマン符号化されて、データ記憶媒体に記録される。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述のような画像データを所定の符号量以内に納まるように圧縮して、画像データ記録媒体に記録する２パス符号量制御方式は、実際に画像データを処理して記録するまでに、画像の複雑さ、細かさなどの特徴量を表わすブロックごとのアクティビティを一画面分求める必要があった。
【０００５】
したがって、画像データを画像データ記憶媒体に記録する前に、画像データを一度アクセスして量子化係数を求める処理を行ない、その後、再度画像データをアクセスして、前記求めた量子化係数に基づいて変換係数を量子化し、符号化する必要があった。このため、従来の２パス符号量制御を行なう符号化装置では、一画面分の画像データを２回アクセスする必要があり、符号量制御を行なわずに画像データを圧縮符号化する場合と較べて、２倍の処理時間が必要であった。
【０００６】
本発明はこのような従来技術の問題点に鑑み、処理時間を短縮することのできる画像データ圧縮符号化方法および装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、画像データの一部分を演算して、画像データの量子化のための量子化係数を算出し、その際さらに、画像データを所定の符号量にまで圧縮符号化した場合の画像データのアドレスに基づいて、画像データの量子化のための量子化係数を算出している。
【０００８】
すなわち、本発明の画像データ圧縮符号化方法は上述の課題を解決するために、１つの画面を構成するディジタルの画像データについて直交変換し符号化する符号化方法において、この方法は、画像データの所定部分を除いた部分的なデータに基づいて画像データを圧縮符号化する第１の工程と、第１の工程が継続されて、符号化データの符号量が所定の符号量を超えるに際して画像データの圧縮符号化を停止し、この停止した際の画像データのアドレスに基づいて、画像データを圧縮符号化する第２の工程とを含み、この第２の工程は、画像データを圧縮符号化するための量子化係数を前記アドレスに基づいて算出し、この算出された量子化係数に基づいて画像データを圧縮符号化することを特徴とする。
【０００９】
この場合、第１の工程は、画像データの部分的なデータから画像データを圧縮符号化するための第１の量子化係数を算出し、この算出された第１の量子化係数に基づいて画像データを第１の圧縮符号化し、第２の工程は、第１の工程にて符号化された符号化データが所定の符号量を超えるに際して、画像データの第１の圧縮符号化を停止し、第１の圧縮符号化を停止した際の画像データのアドレスに基づいて全体の符号量を算出し、この全体の符号量に基づいて、画像データを所定の符号量以内に圧縮符号化するための第２の量子化係数を算出し、この第２の量子化係数に基づいて画像データを第２の圧縮符号化して、所定の符号量に制限された符号化データを出力するとよい。
【００１０】
また、本発明の画像データ圧縮符号化方法は上述の課題を解決するために、１つの画面を構成するディジタルの第１の画像データについて直交変換し符号化する画像データ圧縮符号化装置において、この装置は、第１の画像データを複数のブロックに分割するブロック化手段と、このブロック化手段にてブロックに分割された画像データのそれぞれを所定の直交変換方式にて変換する直交変換手段と、この直交変換手段にて変換された画像データをそれぞれのブロックの特徴に応じた量子化係数に基づいて量子化する量子化手段と、この量子化手段にて量子化された画像データを所望の符号化方式にて符号化して符号化データを作成する符号化手段と、ブロックに分割された画像データのそれぞれのブロックの特徴量を表わすアクティビティを算出するブロックアクティビティ算出手段と、アクティビティの総和を表わす総アクティビティを算出する総アクティビティ算出手段と、総アクティビティに基づいて、直交変換手段にて変換された画像データを量子化するための第１の量子化係数を量子化手段に設定する量子化係数設定手段と、符号化手段にて作成された符号化データの符号量に基づいて、量子化された画像データの符号化を停止させる符号化停止手段と、この符号化停止手段により符号化が停止された際の画像データのアドレスから画像データの全体の符号量を算出する全体符号量算出手段とを有し、ブロック化手段は、第１の画像データを複数のブロックに分割した第２の画像データであって、第１の画像データに対して部分的なデータに対応する第２の画像データを作成し、この作成した第２の画像データをブロックごとにブロックアクティビティ算出手段に供給し、第１の画像データを複数のブロックに分割した第３の画像データを直交変換手段に供給し、ブロックアクティビティ算出手段は、ブロック化手段から供給された第２の画像データのそれぞれのブロックに対応するアクティビティを算出し、量子化係数設定手段は、全体符号量算出手段にて算出された全体の符号量に基づいて、直交変換手段にて変換された画像データを量子化するための第２の量子化係数を量子化手段に設定し、量子化手段は、第２の量子化係数に基づいて直交変換手段にて変換された画像データを量子化し、符号化手段は、第２の量子化係数に基づいて量子化された画像データを符号化することを特徴とする。
【００１１】
この場合、ブロック化手段は、１つの画面を構成する第１の画像データを間引きした縮小画像データを所定の画素ごとの複数のブロックに分割し、この分割されたブロックごとの画像データをブロックアクティビティ算出手段に供給するとよい。
【００１２】
また、ブロック化手段は、１つの画面を構成する第１の画像データを、所定の画素ごとの複数のブロックに分割し、この分割されたブロックごとの画像データをとびとびに読み出してブロックアクティビティ算出手段に供給するとよい。
【００１３】
また、ブロック化手段は、１つの画面を構成する第１の画像データを間引きした縮小画像データを所定の画素ごとの複数のブロックに分割し、この分割されたブロックごとの画像データをとびとびに読み出してブロックアクティビティ算出手段に供給するとよい。
【００１４】
【作用】
本発明によれば、１つの画面を構成するディジタルの画像データは、第１の工程にて、この画像データの所定部分を除いた部分的なデータに基づいて圧縮符号化される。この第１の工程が継続されて、符号化データの符号量が所定の符号量を超えるに際して、第２の工程では、画像データの圧縮符号化を停止し、該停止した際の画像データのアドレスに基づいて、量子化係数が算出され、この量子化係数に基づいて画像データが圧縮符号化される。このように画像データの所定部分を除いた部分的なデータに基づいて、量子化係数が作成されるので、画像データを圧縮符号化する処理時間を短縮し得る。
【００１５】
【実施例】
次に、添付図面を参照して本発明による画像データ圧縮符号化方法および装置の一実施例を詳細に説明する。図２には、本発明が適用されたディジタルスチルカメラの実施例が示されている。このディジタルスチルカメラ10は、全体制御部30の制御によって、撮像レンズ12を介して入射する被写界像を撮像素子13を備えた撮像部14にて撮影し、この被写界像を表わす画像データをメモリ制御部16およびフレームメモリ18を介してデータ圧縮伸張部20に送り、これにより画像データを第１のパスによる処理と、第２のパスによる処理とを経て圧縮符号化し、コネクタ22に接続されたメモリカード24に蓄積する装置である。とくに本実施例ではディジタルスチルカメラ10は、画像データを圧縮符号化する処理時間をより短縮して出力するように構成されている。
【００１６】
また、ディジタルスチルカメラ10は、撮像部14にて撮像された画像データや、メモリカード24に蓄積された画像データを再生部26にて再生し、その出力に接続された小型表示装置28の表示画面に画像データが表わす画像を表示する。なお、以下の説明において、本発明に直接関係のない部分は、図示およびその説明を省略し、また、信号の参照符号はその現れる接続線の参照番号で表わす。
【００１７】
このディジタルスチルカメラ10の各部を説明すると撮像部14は、撮像レンズ12を介して入射する被写界像を撮影し、被写界を表わすRGB カラー画像信号を出力する光電変換部である。撮像部14は、たとえば、高画素密度タイプのCCD(Charge Coupled Device)などの撮像素子13を含み、その撮像面に結像した被写界像を表わす高精細画像のカラー画像信号を出力する。また、撮像部14は、撮像素子13にて生成された画像信号を、輝度信号と色差信号とから構成された信号に変換し、画像信号をディジタル信号に変換するディジタル・アナログ変換器(A/D)15 にてディジタルの画像データに変換する。撮像部14は、この画像データに色バランス補正、γ補正、ホワイトバランス調整および輪郭強調処理などの信号処理を施し、処理された画像データをメモリ制御部16が接続された出力100 に出力する。
【００１８】
メモリ制御部16は、フレームメモリ18における画像データの書込みと読出しとを制御する記憶制御部である。詳しくは、メモリ制御部16は、撮像部14から出力された画像データをフレームメモリ18に蓄積させ、この蓄積された画像データを読出してデータ圧縮伸張部20に供給するためのアドレス信号、書込みおよび読出し制御信号などの記憶制御信号を生成する。また、メモリ制御部16は、データ圧縮伸張部20から出力された画像データをフレームメモリ18に蓄積させ、この蓄積された画像データを再生部26に供給するためのアドレス信号、書込みおよび読出し制御信号などの記憶制御信号を生成する。フレームメモリ18は、たとえば画像データを格納する所定の記憶領域を有し、メモリ制御部16の制御を受けて撮像部14またはデータ圧縮伸張部20からの画像データを順次所定の記憶領域に格納し、また、記憶領域に格納された画像データを読出してデータ圧縮伸張部20および再生部26に供給する。
【００１９】
本実施例におけるメモリ制御部16は、撮像部14から出力された画像データをフレームメモリ18に蓄積させて、この画像データをフレームメモリ18から読み出す際、フレームメモリ18に蓄積された画像データの所定の画素を間引きする画像データ縮小処理機能を有している。詳細には、たとえば図３に概念的に示すように、メモリ制御部16は、フレームメモリ18の所定の所定の記憶領域に入力100 に現れた画像データ300 を順次蓄積させ、蓄積された画像データ300 の読出アドレスを変更して所定の画素を間引きして読出し、所定のデータサイズに縮小された縮小画面を表わす縮小画像データ302 を作成する。この縮小画像データの生成処理は、データ圧縮伸張部20からの指示に基づいて行なわれる。またメモリ制御部16は、フレーメモリ18の記憶領域に蓄積された画像データ300 を、間引き処理を行なわずそのままの画像サイズで読出す機能をも有している。メモリ制御部16は、記憶領域に蓄積された画像データを読出して、データ圧縮伸張部20が接続された出力102 に出力する。
【００２０】
図１に戻ってデータ圧縮伸張部20は、撮像部14にて撮像されフレームメモリ18に蓄積された画像データを入力102 に入力し、所定の符号量以下の符号化データに圧縮符号化する符号量制御機能を有した圧縮伸張処理部である。本実施例におけるデータ圧縮伸張部20は、画像データを直交変換して変換係数を算出し、この変換係数を量子化してハフマン符号化する。データ圧縮伸張部20は、圧縮符号化した符号化データを出力104 に出力する。データ圧縮伸張部20の出力104 は、メモリカード24が着脱自在に接続される出力手段としてのコネクタ22に接続され、メモリカード24は、コネクタ22を介して転送される符号化データを所定の記憶領域に格納する。
【００２１】
このメモリカード24は、たとえば、SRAM(Static RAM)やEEPROM(Electrically Erasable Programmable ROM)などの半導体記憶素子にて構成され、コネクタ22の入出力回路106 に現れる符号化データを、入出力回路108 に現れる記憶制御信号に応じて所定の記憶領域に格納する。この記憶領域は、複数の１画像分の符号化データをそれぞれ格納する領域であり、本実施例ではこの領域に、データ圧縮伸張部20にて所定のデータ量以下に圧縮符号化された符号化データが蓄積される。また、メモリカード24は、入出力回路108 に現れる記憶制御信号に応じて、格納した符号化データを入出力回路106 に出力し、符号化データをコネクタ22および接続線104 を介してデータ圧縮伸張部20に転送する。
【００２２】
さらにデータ圧縮伸張部20は、メモリカード24から出力された符号化データを伸張する処理機能を有し、伸張した画像データを出力110 に接続された再生部26に供給する。これら撮像部14、メモリ制御部16、データ圧縮伸張部20メモリカードおよび再生部26は、全体制御部30により制御される。
【００２３】
全体制御部30は、ディジタルスチルカメラ10全体の動作を統括制御する制御回路である。全体制御部30は、撮像部14、メモリ制御部16、データ圧縮伸張部20および再生部26を制御する。また、全体制御部30は、コネクタ22に接続されたメモリカード24への符号化データの書込制御と、メモリカード24に蓄積された符号化データの読出制御とを行なう記憶制御信号を生成して出力112 に出力する。全体制御部30は、操作者の入力操作を検出する操作部32と、カメラ10全体の動作状態を可視表示および可聴表示する表示部34とに接続され、操作部32にて検出される操作情報に応じて、被写界を撮影する制御を行なう。たとえば全体制御部30は、操作部32にて検出された操作情報に応じて、メモリカード24に蓄積されたデータが表わす画像を再生部26の出力150 に接続されたビューファインダなどの小型表示装置28に表示させたり、撮像によりフレームメモリ18に蓄積された画像データが表わす画像を小型表示装置28に表示させたりする制御を行なう。全体制御部30は、カメラ10を制御する制御信号を生成し、生成した制御信号を出力112 に出力する。この出力112 は撮像部14、メモリ制御部16、データ圧縮伸張部20および再生部26に接続され、またコネクタ22および接続線108 を介してメモリカード24に接続される。このコネクタ22には、符号化データを通信回線を利用して伝送する通信装置が接続されてもよく、その場合、通信装置はコネクタ22から出力された符号化データを所定の伝送制御手順に基づいて、相手側の端末装置に伝送する。
【００２４】
次にデータ圧縮伸張部20の内部構成を図１を参照して詳細に説明するとデータ圧縮伸張部20は、ブロック化部50と、２次元直交変換部52と、正規化部54と、２次元ハフマン符号化部56とを有している。さらに、データ圧縮伸張部20は、正規化部54における量子化係数およびハフマン符号化部56におけるビット配分値を決める係数設定部として、ブロックアクティビティ算出部60と、加算処理部62と、総アクティビティ算出部64と、量子化係数設定部66と、ブロックアクティビティ補間部68と、ビット配分算出部70と、符号量カウント部72と、符号化停止判定部74と、全体符号量算出部76とを有している。
【００２５】
ブロック化部50は、フレームメモリ18に蓄積された１画像分の画像データを、所定の画素にて構成された複数のブロックに分割して読出し、ブロックごとの画像データとして出力する回路である。本実施例ではブロック化部50は、たとえば図３に示すようにメモリ制御部16を制御して、フレームメモリ18に蓄積された画像データを間引き処理により縮小させ、縮小処理された縮小画像データ302 を読出す。これによりブロック化部50は、画像データを部分化する。ブロック化部50は、たとえば８×８画素ごとの複数のブロックに分割して縮小画像データを読出し、読出した縮小画像データ302 を出力106 にブロックごとに出力する。
【００２６】
また、ブロック化部50はメモリ制御部16を制御して、フレームメモリ18に蓄積された画像データを縮小処理をせずに複数のブロックに分割して読出す。この場合、ブロック化部50は、たとえば８×８画素ごとの複数のブロックに分割して画像データを読出し、読出した画像データ304 をブロックごとに出力108 に出力する。ブロック化部50の出力106 はブロックアクティビティ算出部60に接続され、出力108 は２次元直交変換部52に接続されている。
【００２７】
２次元直交変換部52は、入力108 に入力したブロックごとの画像データを２次元直交変換する回路である。２次元直交変換としては、たとえばディスクリートコサイン変換(DCT) 、アダマール変換などの周知の直交変換が考えられ、本実施例では、ディスクリートコサイン変換が用いられている。２次元直交変換されたブロックごとの画像データは、左上の部分の低次のデータから右下の方向に向かうにつれて高次のデータとなるように縦横に配列されている。２次元直交変換部52は、変換したブロックごとの画像データをブロックごとに順次出力110 に出力する。つまり、２次元直交変換された結果の画像データ、すなわち変換係数は、直流成分および、交流成分の低い周波数から高い周波数の順にブロック単位で、出力110 に接続された正規化部54に送られる。
【００２８】
正規化部54は、２次元直交変換部52にて変換された変換係数に対して係数切り捨てを行なった後、正規化を行なう回路である。詳細には、正規化部54は、入力110 に現れたブロックごとの変換係数を所定の域値と比較し、域値以下の部分を切り捨てる係数切り捨てを行なう。また、正規化部54は、係数切り捨てが行なわれた変換係数を所定の量子化ステップ値、すなわち量子化係数により除算して変換係数を量子化、つまり正規化する。量子化係数は、量子化係数設定部66が接続された入力112 に入力され、この量子化係数は、後述するように縮小画像データのブロックごとのアクティビティの合計値から予測した総アクティビティに基づいて求められた係数である。正規化部54は、ブロックごとに正規化された変換係数を表わす量子化データを、図４に示すように、そのブロックの低域成分から順にジグザグ状に走査して出力114 に出力する。正規化部54の出力114 は２次元ハフマン符号化部56に接続されている。
【００２９】
図１に戻って、ブロックアクティビティ算出部60は、ブロック化部50にて分割されたブロックごとの縮小画像データからブロックロックごとのアクティビティ、すなわち、高域周波数成分の画像データがそのブロックに含まれている程度などの画像の特徴量を算出する回路である。本実施例ではブロックアクティビティ算出部60は、入力 106に入力した１つのブロックを構成する画素データのそれぞれの値と、そのブロックの画素データの平均値との差の絶対値を求めて加算することによりブロックごとのアクティビティを算出する。ブロックアクティビティ算出部60は、算出したブロックごとのアクティビティを表わすブロックアクティビティを加算処理部62およびブロックアクティビティ補間部68が接続された出力120 に出力する。
【００３０】
加算処理部62は、ブロックアクティビティ算出部60から送られるブロックアクティビティを縮小画像データが表わす画像の１画面について加算し、縮小画像データにおけるブロックアクティビティの合計値を算出する。加算処理部62は算出したブロックアクティビティの合計値を総アクティビティ算出部64が接続された出力122 に出力する。
【００３１】
総アクティビティ算出部64は、加算処理部62にて算出されたブロックアクティビティの合計値から、撮像部14にて撮像されてフレームメモリ18に蓄積された画像データが表わす画像全体のそれぞれのブロックのアクティビティを合計した値の総アクティビティを予測する処理部である。本実施例では、総アクティビティ算出部64は、ブロック化部50おける縮小処理およびブロック化の画素数などの条件に基づいて、縮小画像データから得られたブロックアクティビティの総和から元画像全体の総アクティビティを予測する。総アクティビティ算出部60は、たとえばブロック化部50から供給される縮小画像データのデータ量と、フレームメモリ18に蓄積されている元画像のデータ量との比率に基づいて、全体のアクティビティを表わす総アクティビティを予測する。具体的には、総アクティビティ算出部60は、ブロック化部50における画像データ間引き率に基づいて、加算処理部62から供給されるブロックアクティビティの総和から総アクティビティを算出する。総アクティビティ算出部64は、総アクティビティの予測値を量子化係数設定部66およびビット配分算出部70が接続された出力124 に出力する。
【００３２】
量子化係数設定部66は、総アクティビティの予測値に応じて、変換係数を量子化（正規化）するための量子化係数を設定する処理部である。詳しくは量子化係数設定部66は、入力124 に入力される総アクティビティに基づいて画像に応じた量子化係数を選択し、選択した量子化係数を正規化部54に設定する。量子化係数設定部66は、たとえば図５(a) に示すような入出力特性のルックアップテーブル(TBL)67 を用いて、総アクティビティに比例して増加する量子化係数を生成し、正規化部54における量子化係数を設定する。また、量子化係数設定部66は、たとえば、図５(b) に示す入出力特性のルックアップテーブルを用いて、総アクティビティの増加に対して量子化係数の増加が少なくなるような量子化係数を生成して正規化部54における量子化係数を設定してもよい。
【００３３】
図１に戻って、量子化係数設定部66は、第１パスにおける符号化停止時のアドレスに基づいて後述の全体符号量算出部76にて算出された全体の符号量から、第２パスにおける量子化係数を設定する機能を有している。第２パスにて符号化処理を行なう場合に、全体の符号量が所定の符号量となるような量子化係数を生成する。量子化係数設定部66はこのようにして生成した量子化係数を正規化部54が接続された出力112 に出力する。
【００３４】
２次元ハフマン符号化部56は、正規化部54にて量子化された量子化係数、つまり量子化データにハフマン符号を割当てて符号化し、符号化された結果の符号化データを出力126 および104 に出力するエントロピー符号化回路である。２次元ハフマン符号化部56は、後述の符号量停止判定部74にて生成されて入力128 に入力される符号化停止信号に応動して、入力114 に入力する量子化データの符号化を停止する。２次元ハフマン符号化部56の出力126 は符号量カウント部72に接続され、また出力104 はデータ圧縮伸張部20の出力を構成し、図２に示すコネクタ22に接続されている。
【００３５】
ブロックアクティビティ算出部60の出力120 に接続されたブロックアクティビティ補間部68は、入力120 に入力される縮小画像データのブロックアクティビティから、フレームメモリ18に蓄積された縮小前の元画像全体をブロック化した場合のそれぞれのブロックのブロックアクティビティを算出する回路である。本実施例ではブロックアクティビティ補間部68は、縮小画像データのそれぞれのブロックアクティビティを補間処理することにより、元画像のそれぞれのそれぞれのブロックに対応するブロックアクティビティを算出する。この元画像に対応したブロックアクティビティはブロックアクティビティ補間部68の出力130 に出力され、この出力130 はビット配分算出部70に接続されている。
【００３６】
ビット配分算出部70は、ブロックアクティビティ補間部68から送られる元原画像データに対応したブロックごとのアクティビティと、総アクティビティ算出部64から送られる総アクティビティの予測値とを用いて、各ブロックに配分される符号化ビット数を算出する回路である。各ブロックに配分される符号化ビット数とは、２次元ハフマン符号化部56にてブロックごとに２次元ハフマン符号化されて低域成分から出力されるデータをどこまでで打ち切るか、すなわち符号化されたデータの符号長を規定するビット数である。また、ビット配分算出部70は、符号化停止回路74から入力132 に入力される余りビット数を考慮して、各ブロックに配分する符号化ビット数を算出する。ビット配分算出部70は、算出したビット配分値を符号化停止判定部74が接続された出力134 に出力する。
【００３７】
符号量カウント部72は、ブロックごとに２次元ハフマン符号化部56から出力された符号化データの符号量すなわち、ビット数の累積を計数する回路である。符号量カウント部70は、２次元ハフマン符号化部56の出力126 に出力される符号化データのビット数を順次加算し、これに、次に出力される符号化データに割り当てられるビット数を加算したデータを出力134 に出力する。符号量カウント部72の出力134 は、符号化停止判定部74に接続されている。
【００３８】
符号化停止判定部74は、符号量カウント部72にて計数されたビット数と、ビット配分算出部70にて算出された各ブロックに配分される符号化ビット数とに基づいて、２次元ハフマン符号化部56における符号化処理を停止させる制御を行なう判断回路である。詳しくは、符号化停止判定処理部74は、入力136 に入力した符号化データのビット数の増分と、入力134 に入力した符号化ビット数とを比較し、符号量カウント部72にて計数されたビット数の増分、つまりそのブロックの符号化ビット数がビット配分算出部70にて配分された符号化ビット数を超えたことを検出する。この場合、符号化判定処理部74は、符号化出力を停止すべき旨の符号化停止信号を出力128 に接続された２次元ハフマン符号化部56に供給する。これにより、２次元ハフマン符号化部56は符号量カウント部72において最後に加えられたビット数に対応する符号化データ、すなわち次に出力される符号化データの出力を停止し、符号化出力されるデータのビット数がビット配分算出部68から入力された符号化ビット数を超えないようにする。すなわち、符号化停止判定部74は、符号化出力データが配分された符号化ビット数を超える１つ前の符号化データまででブロックのハフマン符号化出力を打ち切る制御を行なう。
【００３９】
また、符号化停止判定部72は、配分された符号化ビット数と符号化出力されたデータのビット数との差、すなわち余りビットを求め、ビット配分算出部70が接続された出力132 に出力する。
【００４０】
さらに、符号化停止判定部74は、符号量カウント部72にて計数されたビット数が表わす符号化データの符号量が所定の符号量を超えたか否かを判定する判定回路である。この所定の符号量は、メモリカード24における１画像分の符号化データが蓄積される所定の記憶単位に対応したデータ量であり、符号化停止判定部74は、２次元ハフマン符号化部56にて符号化される符号化データのデータ量が、この所定の符号量を超えることを検出する。本実施例では、この検出までの各機能部の処理動作を第１パスと称し、またこの検出以降の各機能部の処理動作を第２パスと称している。符号化データのデータ量が所定の符号量を超えることを検出すると符号化停止判定部74は、符号化出力を停止すべき旨の符号化停止信号を出力128 に接続された２次元ハフマン符号化部56に供給する。この場合、符号化停止判定部74は、符号化を停止させたことを示す停止信号をブロック化部50および全体符号量算出部76が接続された出力138 に出力する。この停止信号138 によりブロック化部50は、画像データの読出しを停止する。読出しを停止したブロック化部50は、読出し停止時における画像データの読出しアドレスを認識し、この読出しアドレスを全体符号量算出部76が接続された出力140 に出力する。
【００４１】
全体符号量算出部76は、符号化を停止させずに画像データの符号化をそのまま続行させた場合の全体の符号量を予測する回路である。本実施例では、全体符号量算出部76は、２次元ハフマン符号化部56にて符号化が停止したときの画像データのアドレス値に基づいて、全体の符号量を演算により予測する。詳細には全体符号量算出部76は、入力138 に入力される符号化停止判定部74からの停止信号に応動して、入力140 にブロック化部50から供給されるアドレス信号を検出する。全体符号量算出部76は、検出したアドレス値から元画像全体に対するアクティビティの比率を求め、これに基づいて、元画像に対応する全体のアクティビティを算出し、これにより、元画像データを符号化した際の全体の符号量を算出して接続線142 を介して接続された量子化係数設定部66に通知する。量子化係数設定部66は、この全体の符号量に基づいて第２パスの量子化係数を設定する。
【００４２】
以上のような構成で本実施例におけるディジタルスチルカメラ20の動作を図６を参照して以下に説明する。まず操作者は、操作部32の不図示のレリーズボタンを押下して所望の被写界像を撮影する。これにより、カメラの撮像部14にて被写界が撮像されてアナログのRGB カラー映像信号が形成され、この映像信号は輝度信号および色差信号の信号を表わす画像データに変換される。これら画像データは、補正処理などの信号処理が施された後に、出力110 に出力される。撮像部14より出力された画像データは、メモリ制御部16を介してそれぞれフレームメモリ18に格納され、これを元画像データとする。フレームメモリ18に格納された画像データは再生部26に供給され、この画像データが表わす静止画像が小型表示装置28の表示画面に表示される。
【００４３】
ここで、この静止画像をメモリカード24に記録する操作が操作部32より検出されて、全体制御部30にて認識されると、全体制御部30の出力112 に各部を制御する制御信号が出力される。これによりメモリ制御部16、データ圧縮伸張部20およびメモリカード24は、画像データの記録動作に移る。また、たとえば、このような操作部32への操作がなくても、撮影によって画像データがフレームメモリ18に蓄積されると、画像データの記録動作が始まるように全体制御部30により制御されてもよい。
【００４４】
図６に示したステップ600 においてフレームメモリ18に蓄積された画像データは、メモリ制御部16から供給されるアドレス信号および読出制御信号などの記憶制御信号に応じて読み出されて、データ圧縮伸張部20の入力102 に入力される。このとき元画像データは、データ圧縮伸張部20のブロック化部50のメモリ制御部16への制御により、間引き処理されて、縮小された縮小画像データが８×８画素ごとのブロックに分割されてブロックごとに読み出される。次にステップ602 に進み、縮小処理およびブロック化された縮小画像データは、接続線106 を介してブロックアクティビティ算出部60に順次供給され、縮小画像データにおけるブロックごとのアクティビティが算出される。
【００４５】
ステップ604 において、ブロックアクティビティ算出部60にて算出されたブロックアクティビティは、加算処理部62にて順次その値が加算されて縮小画像データの１画面についてのブロックアクティビティの合計値が算出される。算出された合計値は接続線122 を介して総アクティビティ算出部64に供給されて、フレームメモリ18に蓄積された元画像データに対応する総アクティビティの予測値が算出される。
【００４６】
ステップ606 において、予測された総アクティビティは、接続線124 を介して量子化係数設定部66とビット配分算出部70に供給され、量子化係数設定部66に供給された総アクティビティの予測値に基づいて、ルックアップテーブル67により量子化係数が設定される。
【００４７】
一方、フレームメモリ18に蓄積された元画像データが８×８画素ごとに分割して読み出され、ブロック化部50から接続線108 を介して２次元直交変換部52に入力される。ステップ608 において、２次元直交変換部52に入力されたブロックごとの画像データは、それぞれのブロックごとにディスクリートコサイン変換され、変換された結果の変換係数は、低い周波数成分から高い周波数成分の順に、ブロック単位で正規化部54に供給される。
【００４８】
正規化部54では、入力110 に入力したブロックごとの変換係数の所定の域値以下の部分が切り捨てられる。切り捨てが行なわれた変換係数は、量子化係数設定部66にて設定されて量子化係数により除算される。正規化された変換係数の量子化データは、２次元ハフマン符号化部56に供給されて符号化される。符号化された符号化データはその出力104 および126 に出力される。
【００４９】
このときステップ602 にて算出されたブロックアクティビティがブロックアクティビティ補間部68に供給されて、元画像データ全体をブロック化した場合のそれぞれのブロックにおけるアクティビティが算出され、算出された元画像に対応したブロックアクティビティは、接続線130 を介してビット配分算出部70に供給される。このビット配分算出部70の入力124 には、総アクティビティ算出部64にて算出された総アクティビティが入力され、ビット配分算出部70では、元画像の各ブロックに配分される符号化ビット数が算出される。算出された符号化ビット数は、２次元ハフマン符号化部56に入力されるブロックごとの量子化データに対応して符号化停止判定部74に供給される。２次元ハフマン符号化部56では、正規化部54から供給された量子化データが符号化される。
【００５０】
２次元ハフマン符号化部56にて符号化された符号化データは、符号量カウント部72の入力126 に入力されて、入力した符号化データのビット数が順次加算される。これにより符号化データの符号量が計数される。計数された符号量は接続線136 を介して符号量停止判定部74に供給される。
【００５１】
このとき符号化停止判定部74の入力 136に入力された符号化データの符号量、つまりビット数の増分に基づいて、ビット配分算出部70にて配分された符号化ビット数が符号化データのビット数（符号長）を超えることが検出されると、２次元ハフマン符号部56における符号化処理を停止させる符号化停止信号が出力128 に出力されて、そのブロックに対する符号化処理が打ち切られる。これにより、符号化データの符号長が制限される。
【００５２】
次にステップ610 に進み、入力136 に入力したビット数の累積に基づいて、符号化データのビット数が所定の符号量を超えたか否かが符号化停止判定部74にて検出され、符号量の累積値が所定の符号量以下の場合には、ステップ612 に進み、符号化する次のブロックの有無が判定され、次に符号化するブロックがあれば、符号化停止判定部74の出力132 に余りビットが出力され、ビット配分算出部70にて、この余りビットが考慮されて次のブロックに対するビット配分が行なわれ、その後、ステップ608 に戻ってそのブロックに対する符号化処理が上述と同様に行なわれる。またステップ612 において、全ブロックに対する符号化が終了していれば、データ圧縮伸張部20における圧縮符号化処理は終了する。
【００５３】
また、ステップ610 において、符号化停止判定部74にて検出された結果が符号量の累積値が所定の符号量を超えた場合には、第１パスが終了し、ステップ614 に進む。
【００５４】
第２パスのステップ614 において、符号化停止判定部74の入力136 に入力された符号化データの符号量、つまりビット数の累積が、所定の符号量を超えることが検出されると２次元ハフマン符号化部56における符号化を停止させる符号化停止信号が符号化停止判定部74の出力128 に出力されて符号化が停止され、さらに、その出力138 に停止信号が出力されて、ブロック化部50における画像データの読み出しが停止される。
【００５５】
つぎにステップ616 に進み、符号化停止判定部74より出力された停止信号138 は、全体符号量算出部76にも供給される。全体符号量算出部76には、ブロック化部50から供給されるアドレス信号が入力され、このアドレスから、第１パスにて符号化を続行してその画像データ全体を符号化した場合の、全体の符号量が算出されステップ618 に進む。
【００５６】
ステップ618 において、全体符号量算出部76にて算出された全体の符号量に基づいて、元画像データを圧縮符号化した際に、所定の符号量となるような量子化係数が量子化係数設定部66にて設定される。量子化係数が算出されると、次は、この量子化係数に基づいて、上述のステップ608 における圧縮符号化処理と同様な処理が行なわれて、フレームメモリ18に蓄積された画像データが順次ブロック化、２次元直交変換、正規化および２次元ハフマン符号化がそれぞれ行なわれて、それぞれのブロックごとにそれぞれ配分されたビット数に対応する符号化データが２次元ハフマン符号化部56の出力、つまりデータ圧縮伸張部20の出力104 に出力される。
【００５７】
データ圧縮伸張部20の出力104 に出力された符号化データは、コネクタ22を介してメモリカード24に供給され、全体制御部30の出力112 に出力された記憶制御信号に基づいて、この符号化データがメモリカード24の所定の記憶領域に書き込まれる。メモリカード24へのデータの書き込みが正常に終了すると、全体制御部34の制御によって表示部34は、正常終了を操作者に伝える表示や、次の撮影を促す表示等の可視表示および可聴表示を行なう。
【００５８】
以上説明したように、上述の実施例のデータ圧縮伸張部20は、フレームメモリ18に蓄積された画像データのすべてのデータではなく、元の画像データを縮小処理した全体画像の部分データを用いて、この部分データを演算した総アクティビティを算出し、この総アクティビティに基づいて、量子化係数の設定処理やビット配分処理などの符号化処理および符号量制御を行なっている。したがって、とくに画面全体のそれぞれのブロックアクティビティを算出するために１画面分すべての画像データを読み出す必要がなく、このためブロックアクティビティを算出する処理時間が短縮される。この場合、間引き率つまり縮小の程度に応じて、処理時間の短縮を図ることができる。
【００５９】
従来は、画像の特徴量（アクティビティ）を元画像データの１画面分の画像データから求めていたので、符号量制御を行なわない場合に較べて約２倍の処理時間を必要としていた。しかし本発明では、１画面分の元画像データの一部分を使用してブロックアクティビティを算出しているので、処理時間の増大を防ぐことができる。これは、たとえば画像データの情報量が多い高画素密度タイプの撮像素子にて撮像された高画素密度の画像データを処理する場合に、とくに有効である。
【００６０】
このように本発明は、２パス符号量制御を行なって、画像データから所定の符号量に制限された符号化データを生成する場合において、画像データを圧縮符号化する処理時間を短縮することができ、これにより、フレームメモリ18に蓄積された静止画像を表わす画像データを処理して、メモリカード24に書き込むまでの時間を短縮することができる。この結果、従来よりも処理時間が短縮化された圧縮符号化装置を提供することができる。この高速処理が可能なデータ圧縮伸張部20がカメラに搭載されている場合には、操作者は、画像データの圧縮符号化のための処理時間を意識することなく、撮影した画像データをメモリカード24に記録することができ、したがって次のコマの撮影を迅速に行なうことができる。
【００６１】
なお、上記実施例では、ブロック化部50は、画素間引きした縮小画像データをブロックごとに読出すように構成されていたが、これに限らず、たとえば、図７に示すように、ブロック化部50は、フレームメモリ18に蓄積された元画像データを所定のブロックに分割し、分割されたブロックをとびとびに読み出すことによって画像データを部分化し、所定の間隔ごとのブロックの読み出しを行なうように構成してもよい。
【００６２】
この場合、ブロック化部50は、同図に概念的に示したようにブロック化された画像データ700 を作成し、これらブロック単位の画像データのうち、たとえば同図に斜線にて示された１ブロック間隔のブロックごとの画像データを出力106 に出力する。また、ブロック化部50は、上記実施例と同様にフレームメモリ18に蓄積された画像データを所定のブロックに分割し、同図に概念的に示されたブロック化された画像データ702 を作成し、ブロックごとの画像データを出力108 に出力する。上述のブロック間隔は、１ブロック間隔に限らず、２、３、４、５または６ブロック間隔などの任意の間隔でよい。
【００６３】
このようにブロック化部50が構成された場合、ブロックアクティビティティビティ算出部64は、入力106 に入力するとびとびのブロックの画像データに基づいて、それぞれのブロックごとのブロックアクティビティを算出する。算出されたブロックアクティビティは、加算処理部62にて順次加算され、総アクティビティ算出部64の入力122 に入力される。総アクティビティ算出部64は、とびとびに読み出されたブロックごとの画像データから算出されたブロックアクティビティの総和から、フレームメモリ18に蓄積された元画像データに対応するブロックアクティビティの総和、つまり総アクティビティを算出する。また、ブロックアクティビティ補間部68は、ブロックアクティビティ算出部60にて算出されたそれぞれのとびとびのブロックに対応するブロックアクティビティを入力し、これにより、ブロック化された画像データ108 に対応するそれぞれのブロックのブロックアクティビティを算出する。
【００６４】
図７に示したブロック化部50のブロックとびとびに読み出す機能は、図１に示したブロック化部50の縮小機能とともに用いられてもよい。具体的には、ブロック化部50は、前述のように画像データを縮小処理させ、作成された縮小画像データをブロックごとに分割する。さらにブロック化部50は、分割されたブロックごとのデータをとびとびに読み出して、読み出したブロックとびとびの縮小画像データを出力106 に出力する。このようなブロック化部50における、元画像データを間引きした縮小画像データに対してブロック化する縮小ブロック化機能と、元画像データをブロック化してとびとびに読み出すとびとび読み出し機能とは、切り換えによりそのいずれかが選択されてもよく、また、これら２つの機能を併用して、ともに活用するように選択されてもよい。この場合、さらに処理時間の短縮を図ることができる。
【００６５】
【発明の効果】
このように本発明によれば、画像データの所定部分を除いた部分的なデータに基づいて、画像データを圧縮符号化するための量子化係数が作成されるので、画像データを圧縮符号化して符号化データを作成する処理時間を短縮することができる。
【図面の簡単な説明】
【図１】図２に示した実施例のディジタルスチルカメラにおけるデータ圧縮伸張部の構成を示すブロック図である。
【図２】本発明が適用されたディジタルスチルカメラの一実施例を示すブロック図である。
【図３】図２に示したフレームメモリから読み出す画像データを概念的に示した図である。
【図４】図１に示した正規化部におけるジグザグ走査を示す図である。
【図５】図１に示した量子化係数設定部における量子化テーブルの入出力特性を示す図である。
【図６】図２に示したディジタルスチルカメラの撮影時における画像データの圧縮符号化動作を示すフローチャートである。
【図７】図２に示したフレームメモリからブロック化した画像データをとびとびに読み出した場合の画像データを概念的に示した図である。
【符号の説明】
20  ディジタルスチルカメラ
50  ブロック化部
52  ２次元直交変換部
54  正規化部
56  ２次元ハフマン符号化部
60  ブロックアクティビティ算出部
62  加算処理部
64  総アクティビティ算出部
66  量子化係数設定部
68  ブロックアクティビティ補間部
70  ビット配分算出部
72  符号量カウント部
74  符号化停止判定部
76  全体符号量算出部
【図１】
0003795932.tif 000002
【図２】
0003795932.tif 000003
【図３】
0003795932.tif 000004
【図４】
0003795932.tif 000005
【図５】
0003795932.tif 000006
【図６】
0003795932.tif 000007
【図７】
0003795932.tif 000008