JP3795932B2 - Image data compression encoding method and apparatus - Google Patents

Image data compression encoding method and apparatus Download PDF

Info

Publication number
JP3795932B2
JP3795932B2 JP10512194A JP10512194A JP3795932B2 JP 3795932 B2 JP3795932 B2 JP 3795932B2 JP 10512194 A JP10512194 A JP 10512194A JP 10512194 A JP10512194 A JP 10512194A JP 3795932 B2 JP3795932 B2 JP 3795932B2
Authority
JP
Japan
Prior art keywords
image data
encoding
unit
data
block
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
JP10512194A
Other languages
Japanese (ja)
Other versions
JPH07312751A (en
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 Holdings Corp
Original Assignee
Fuji Photo Film Co Ltd
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 Photo Film Co Ltd filed Critical Fuji Photo Film Co Ltd
Priority to JP10512194A priority Critical patent/JP3795932B2/en
Publication of JPH07312751A publication Critical patent/JPH07312751A/en
Application granted granted Critical
Publication of JP3795932B2 publication Critical patent/JP3795932B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、画像データ圧縮符号化方法および装置に係り、たとえばディジタルスチルカメラに適用して好適な画像データ圧縮符号化方法および装置に関するものである。
【0002】
【従来の技術】
周知のように、ディジタルスチルカメラにおいては、撮像された被写界の画像を表わす画像信号がディジタル値の画像データに変換され、変換された画像データは、2次元直交変換符号化などの変換方式によって所望の量以下のデータ量に圧縮符号化されて、半導体メモリまたは光ディスク等のデータ記録媒体に記録される。この圧縮符号化は、たとえば、撮像してディジタル化された1画面の画像データを所定の大きさのブロックに分割し、各ブロックの画像データを2次元直交変換によって周波数領域のデータ、すなわち変換係数に変換し、この変換係数を量子化して符号化する。
【0003】
この変換係数は、撮像された画像の特性に応じた量子化係数により除算されて量子化が行なわれる。この場合、量子化係数は、それぞれのブロックに含まれる高域周波数成分の程度を表わすブロックアクティビティの総数、いわゆる撮像された1画面分の画像のアクティビティに基づいて決められていた。また、量子化係数は、たとえばルックアップテーブルに複数用意され、これが総アクティビティに基づいて選択されて、変換係数を量子化係数で除算することにより変換係数が量子化される。量子化された変換係数は、たとえばハフマン符号化されて、データ記憶媒体に記録される。
【0004】
【発明が解決しようとする課題】
しかしながら、上述のような画像データを所定の符号量以内に納まるように圧縮して、画像データ記録媒体に記録する2パス符号量制御方式は、実際に画像データを処理して記録するまでに、画像の複雑さ、細かさなどの特徴量を表わすブロックごとのアクティビティを一画面分求める必要があった。
【0005】
したがって、画像データを画像データ記憶媒体に記録する前に、画像データを一度アクセスして量子化係数を求める処理を行ない、その後、再度画像データをアクセスして、前記求めた量子化係数に基づいて変換係数を量子化し、符号化する必要があった。このため、従来の2パス符号量制御を行なう符号化装置では、一画面分の画像データを2回アクセスする必要があり、符号量制御を行なわずに画像データを圧縮符号化する場合と較べて、2倍の処理時間が必要であった。
【0006】
本発明はこのような従来技術の問題点に鑑み、処理時間を短縮することのできる画像データ圧縮符号化方法および装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、画像データの一部分を演算して、画像データの量子化のための量子化係数を算出し、その際さらに、画像データを所定の符号量にまで圧縮符号化した場合の画像データのアドレスに基づいて、画像データの量子化のための量子化係数を算出している。
【0008】
すなわち、本発明の画像データ圧縮符号化方法は上述の課題を解決するために、1つの画面を構成するディジタルの画像データについて直交変換し符号化する符号化方法において、この方法は、画像データの所定部分を除いた部分的なデータに基づいて画像データを圧縮符号化する第1の工程と、第1の工程が継続されて、符号化データの符号量が所定の符号量を超えるに際して画像データの圧縮符号化を停止し、この停止した際の画像データのアドレスに基づいて、画像データを圧縮符号化する第2の工程とを含み、この第2の工程は、画像データを圧縮符号化するための量子化係数を前記アドレスに基づいて算出し、この算出された量子化係数に基づいて画像データを圧縮符号化することを特徴とする。
【0009】
この場合、第1の工程は、画像データの部分的なデータから画像データを圧縮符号化するための第1の量子化係数を算出し、この算出された第1の量子化係数に基づいて画像データを第1の圧縮符号化し、第2の工程は、第1の工程にて符号化された符号化データが所定の符号量を超えるに際して、画像データの第1の圧縮符号化を停止し、第1の圧縮符号化を停止した際の画像データのアドレスに基づいて全体の符号量を算出し、この全体の符号量に基づいて、画像データを所定の符号量以内に圧縮符号化するための第2の量子化係数を算出し、この第2の量子化係数に基づいて画像データを第2の圧縮符号化して、所定の符号量に制限された符号化データを出力するとよい。
【0010】
また、本発明の画像データ圧縮符号化方法は上述の課題を解決するために、1つの画面を構成するディジタルの第1の画像データについて直交変換し符号化する画像データ圧縮符号化装置において、この装置は、第1の画像データを複数のブロックに分割するブロック化手段と、このブロック化手段にてブロックに分割された画像データのそれぞれを所定の直交変換方式にて変換する直交変換手段と、この直交変換手段にて変換された画像データをそれぞれのブロックの特徴に応じた量子化係数に基づいて量子化する量子化手段と、この量子化手段にて量子化された画像データを所望の符号化方式にて符号化して符号化データを作成する符号化手段と、ブロックに分割された画像データのそれぞれのブロックの特徴量を表わすアクティビティを算出するブロックアクティビティ算出手段と、アクティビティの総和を表わす総アクティビティを算出する総アクティビティ算出手段と、総アクティビティに基づいて、直交変換手段にて変換された画像データを量子化するための第1の量子化係数を量子化手段に設定する量子化係数設定手段と、符号化手段にて作成された符号化データの符号量に基づいて、量子化された画像データの符号化を停止させる符号化停止手段と、この符号化停止手段により符号化が停止された際の画像データのアドレスから画像データの全体の符号量を算出する全体符号量算出手段とを有し、ブロック化手段は、第1の画像データを複数のブロックに分割した第2の画像データであって、第1の画像データに対して部分的なデータに対応する第2の画像データを作成し、この作成した第2の画像データをブロックごとにブロックアクティビティ算出手段に供給し、第1の画像データを複数のブロックに分割した第3の画像データを直交変換手段に供給し、ブロックアクティビティ算出手段は、ブロック化手段から供給された第2の画像データのそれぞれのブロックに対応するアクティビティを算出し、量子化係数設定手段は、全体符号量算出手段にて算出された全体の符号量に基づいて、直交変換手段にて変換された画像データを量子化するための第2の量子化係数を量子化手段に設定し、量子化手段は、第2の量子化係数に基づいて直交変換手段にて変換された画像データを量子化し、符号化手段は、第2の量子化係数に基づいて量子化された画像データを符号化することを特徴とする。
【0011】
この場合、ブロック化手段は、1つの画面を構成する第1の画像データを間引きした縮小画像データを所定の画素ごとの複数のブロックに分割し、この分割されたブロックごとの画像データをブロックアクティビティ算出手段に供給するとよい。
【0012】
また、ブロック化手段は、1つの画面を構成する第1の画像データを、所定の画素ごとの複数のブロックに分割し、この分割されたブロックごとの画像データをとびとびに読み出してブロックアクティビティ算出手段に供給するとよい。
【0013】
また、ブロック化手段は、1つの画面を構成する第1の画像データを間引きした縮小画像データを所定の画素ごとの複数のブロックに分割し、この分割されたブロックごとの画像データをとびとびに読み出してブロックアクティビティ算出手段に供給するとよい。
【0014】
【作用】
本発明によれば、1つの画面を構成するディジタルの画像データは、第1の工程にて、この画像データの所定部分を除いた部分的なデータに基づいて圧縮符号化される。この第1の工程が継続されて、符号化データの符号量が所定の符号量を超えるに際して、第2の工程では、画像データの圧縮符号化を停止し、該停止した際の画像データのアドレスに基づいて、量子化係数が算出され、この量子化係数に基づいて画像データが圧縮符号化される。このように画像データの所定部分を除いた部分的なデータに基づいて、量子化係数が作成されるので、画像データを圧縮符号化する処理時間を短縮し得る。
【0015】
【実施例】
次に、添付図面を参照して本発明による画像データ圧縮符号化方法および装置の一実施例を詳細に説明する。図2には、本発明が適用されたディジタルスチルカメラの実施例が示されている。このディジタルスチルカメラ10は、全体制御部30の制御によって、撮像レンズ12を介して入射する被写界像を撮像素子13を備えた撮像部14にて撮影し、この被写界像を表わす画像データをメモリ制御部16およびフレームメモリ18を介してデータ圧縮伸張部20に送り、これにより画像データを第1のパスによる処理と、第2のパスによる処理とを経て圧縮符号化し、コネクタ22に接続されたメモリカード24に蓄積する装置である。とくに本実施例ではディジタルスチルカメラ10は、画像データを圧縮符号化する処理時間をより短縮して出力するように構成されている。
【0016】
また、ディジタルスチルカメラ10は、撮像部14にて撮像された画像データや、メモリカード24に蓄積された画像データを再生部26にて再生し、その出力に接続された小型表示装置28の表示画面に画像データが表わす画像を表示する。なお、以下の説明において、本発明に直接関係のない部分は、図示およびその説明を省略し、また、信号の参照符号はその現れる接続線の参照番号で表わす。
【0017】
このディジタルスチルカメラ10の各部を説明すると撮像部14は、撮像レンズ12を介して入射する被写界像を撮影し、被写界を表わすRGB カラー画像信号を出力する光電変換部である。撮像部14は、たとえば、高画素密度タイプのCCD(Charge Coupled Device)などの撮像素子13を含み、その撮像面に結像した被写界像を表わす高精細画像のカラー画像信号を出力する。また、撮像部14は、撮像素子13にて生成された画像信号を、輝度信号と色差信号とから構成された信号に変換し、画像信号をディジタル信号に変換するディジタル・アナログ変換器(A/D)15 にてディジタルの画像データに変換する。撮像部14は、この画像データに色バランス補正、γ補正、ホワイトバランス調整および輪郭強調処理などの信号処理を施し、処理された画像データをメモリ制御部16が接続された出力100 に出力する。
【0018】
メモリ制御部16は、フレームメモリ18における画像データの書込みと読出しとを制御する記憶制御部である。詳しくは、メモリ制御部16は、撮像部14から出力された画像データをフレームメモリ18に蓄積させ、この蓄積された画像データを読出してデータ圧縮伸張部20に供給するためのアドレス信号、書込みおよび読出し制御信号などの記憶制御信号を生成する。また、メモリ制御部16は、データ圧縮伸張部20から出力された画像データをフレームメモリ18に蓄積させ、この蓄積された画像データを再生部26に供給するためのアドレス信号、書込みおよび読出し制御信号などの記憶制御信号を生成する。フレームメモリ18は、たとえば画像データを格納する所定の記憶領域を有し、メモリ制御部16の制御を受けて撮像部14またはデータ圧縮伸張部20からの画像データを順次所定の記憶領域に格納し、また、記憶領域に格納された画像データを読出してデータ圧縮伸張部20および再生部26に供給する。
【0019】
本実施例におけるメモリ制御部16は、撮像部14から出力された画像データをフレームメモリ18に蓄積させて、この画像データをフレームメモリ18から読み出す際、フレームメモリ18に蓄積された画像データの所定の画素を間引きする画像データ縮小処理機能を有している。詳細には、たとえば図3に概念的に示すように、メモリ制御部16は、フレームメモリ18の所定の所定の記憶領域に入力100 に現れた画像データ300 を順次蓄積させ、蓄積された画像データ300 の読出アドレスを変更して所定の画素を間引きして読出し、所定のデータサイズに縮小された縮小画面を表わす縮小画像データ302 を作成する。この縮小画像データの生成処理は、データ圧縮伸張部20からの指示に基づいて行なわれる。またメモリ制御部16は、フレーメモリ18の記憶領域に蓄積された画像データ300 を、間引き処理を行なわずそのままの画像サイズで読出す機能をも有している。メモリ制御部16は、記憶領域に蓄積された画像データを読出して、データ圧縮伸張部20が接続された出力102 に出力する。
【0020】
図1に戻ってデータ圧縮伸張部20は、撮像部14にて撮像されフレームメモリ18に蓄積された画像データを入力102 に入力し、所定の符号量以下の符号化データに圧縮符号化する符号量制御機能を有した圧縮伸張処理部である。本実施例におけるデータ圧縮伸張部20は、画像データを直交変換して変換係数を算出し、この変換係数を量子化してハフマン符号化する。データ圧縮伸張部20は、圧縮符号化した符号化データを出力104 に出力する。データ圧縮伸張部20の出力104 は、メモリカード24が着脱自在に接続される出力手段としてのコネクタ22に接続され、メモリカード24は、コネクタ22を介して転送される符号化データを所定の記憶領域に格納する。
【0021】
このメモリカード24は、たとえば、SRAM(Static RAM)やEEPROM(Electrically Erasable Programmable ROM)などの半導体記憶素子にて構成され、コネクタ22の入出力回路106 に現れる符号化データを、入出力回路108 に現れる記憶制御信号に応じて所定の記憶領域に格納する。この記憶領域は、複数の1画像分の符号化データをそれぞれ格納する領域であり、本実施例ではこの領域に、データ圧縮伸張部20にて所定のデータ量以下に圧縮符号化された符号化データが蓄積される。また、メモリカード24は、入出力回路108 に現れる記憶制御信号に応じて、格納した符号化データを入出力回路106 に出力し、符号化データをコネクタ22および接続線104 を介してデータ圧縮伸張部20に転送する。
【0022】
さらにデータ圧縮伸張部20は、メモリカード24から出力された符号化データを伸張する処理機能を有し、伸張した画像データを出力110 に接続された再生部26に供給する。これら撮像部14、メモリ制御部16、データ圧縮伸張部20メモリカードおよび再生部26は、全体制御部30により制御される。
【0023】
全体制御部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から出力された符号化データを所定の伝送制御手順に基づいて、相手側の端末装置に伝送する。
【0024】
次にデータ圧縮伸張部20の内部構成を図1を参照して詳細に説明するとデータ圧縮伸張部20は、ブロック化部50と、2次元直交変換部52と、正規化部54と、2次元ハフマン符号化部56とを有している。さらに、データ圧縮伸張部20は、正規化部54における量子化係数およびハフマン符号化部56におけるビット配分値を決める係数設定部として、ブロックアクティビティ算出部60と、加算処理部62と、総アクティビティ算出部64と、量子化係数設定部66と、ブロックアクティビティ補間部68と、ビット配分算出部70と、符号量カウント部72と、符号化停止判定部74と、全体符号量算出部76とを有している。
【0025】
ブロック化部50は、フレームメモリ18に蓄積された1画像分の画像データを、所定の画素にて構成された複数のブロックに分割して読出し、ブロックごとの画像データとして出力する回路である。本実施例ではブロック化部50は、たとえば図3に示すようにメモリ制御部16を制御して、フレームメモリ18に蓄積された画像データを間引き処理により縮小させ、縮小処理された縮小画像データ302 を読出す。これによりブロック化部50は、画像データを部分化する。ブロック化部50は、たとえば8×8画素ごとの複数のブロックに分割して縮小画像データを読出し、読出した縮小画像データ302 を出力106 にブロックごとに出力する。
【0026】
また、ブロック化部50はメモリ制御部16を制御して、フレームメモリ18に蓄積された画像データを縮小処理をせずに複数のブロックに分割して読出す。この場合、ブロック化部50は、たとえば8×8画素ごとの複数のブロックに分割して画像データを読出し、読出した画像データ304 をブロックごとに出力108 に出力する。ブロック化部50の出力106 はブロックアクティビティ算出部60に接続され、出力108 は2次元直交変換部52に接続されている。
【0027】
2次元直交変換部52は、入力108 に入力したブロックごとの画像データを2次元直交変換する回路である。2次元直交変換としては、たとえばディスクリートコサイン変換(DCT) 、アダマール変換などの周知の直交変換が考えられ、本実施例では、ディスクリートコサイン変換が用いられている。2次元直交変換されたブロックごとの画像データは、左上の部分の低次のデータから右下の方向に向かうにつれて高次のデータとなるように縦横に配列されている。2次元直交変換部52は、変換したブロックごとの画像データをブロックごとに順次出力110 に出力する。つまり、2次元直交変換された結果の画像データ、すなわち変換係数は、直流成分および、交流成分の低い周波数から高い周波数の順にブロック単位で、出力110 に接続された正規化部54に送られる。
【0028】
正規化部54は、2次元直交変換部52にて変換された変換係数に対して係数切り捨てを行なった後、正規化を行なう回路である。詳細には、正規化部54は、入力110 に現れたブロックごとの変換係数を所定の域値と比較し、域値以下の部分を切り捨てる係数切り捨てを行なう。また、正規化部54は、係数切り捨てが行なわれた変換係数を所定の量子化ステップ値、すなわち量子化係数により除算して変換係数を量子化、つまり正規化する。量子化係数は、量子化係数設定部66が接続された入力112 に入力され、この量子化係数は、後述するように縮小画像データのブロックごとのアクティビティの合計値から予測した総アクティビティに基づいて求められた係数である。正規化部54は、ブロックごとに正規化された変換係数を表わす量子化データを、図4に示すように、そのブロックの低域成分から順にジグザグ状に走査して出力114 に出力する。正規化部54の出力114 は2次元ハフマン符号化部56に接続されている。
【0029】
図1に戻って、ブロックアクティビティ算出部60は、ブロック化部50にて分割されたブロックごとの縮小画像データからブロックロックごとのアクティビティ、すなわち、高域周波数成分の画像データがそのブロックに含まれている程度などの画像の特徴量を算出する回路である。本実施例ではブロックアクティビティ算出部60は、入力 106に入力した1つのブロックを構成する画素データのそれぞれの値と、そのブロックの画素データの平均値との差の絶対値を求めて加算することによりブロックごとのアクティビティを算出する。ブロックアクティビティ算出部60は、算出したブロックごとのアクティビティを表わすブロックアクティビティを加算処理部62およびブロックアクティビティ補間部68が接続された出力120 に出力する。
【0030】
加算処理部62は、ブロックアクティビティ算出部60から送られるブロックアクティビティを縮小画像データが表わす画像の1画面について加算し、縮小画像データにおけるブロックアクティビティの合計値を算出する。加算処理部62は算出したブロックアクティビティの合計値を総アクティビティ算出部64が接続された出力122 に出力する。
【0031】
総アクティビティ算出部64は、加算処理部62にて算出されたブロックアクティビティの合計値から、撮像部14にて撮像されてフレームメモリ18に蓄積された画像データが表わす画像全体のそれぞれのブロックのアクティビティを合計した値の総アクティビティを予測する処理部である。本実施例では、総アクティビティ算出部64は、ブロック化部50おける縮小処理およびブロック化の画素数などの条件に基づいて、縮小画像データから得られたブロックアクティビティの総和から元画像全体の総アクティビティを予測する。総アクティビティ算出部60は、たとえばブロック化部50から供給される縮小画像データのデータ量と、フレームメモリ18に蓄積されている元画像のデータ量との比率に基づいて、全体のアクティビティを表わす総アクティビティを予測する。具体的には、総アクティビティ算出部60は、ブロック化部50における画像データ間引き率に基づいて、加算処理部62から供給されるブロックアクティビティの総和から総アクティビティを算出する。総アクティビティ算出部64は、総アクティビティの予測値を量子化係数設定部66およびビット配分算出部70が接続された出力124 に出力する。
【0032】
量子化係数設定部66は、総アクティビティの予測値に応じて、変換係数を量子化(正規化)するための量子化係数を設定する処理部である。詳しくは量子化係数設定部66は、入力124 に入力される総アクティビティに基づいて画像に応じた量子化係数を選択し、選択した量子化係数を正規化部54に設定する。量子化係数設定部66は、たとえば図5(a) に示すような入出力特性のルックアップテーブル(TBL)67 を用いて、総アクティビティに比例して増加する量子化係数を生成し、正規化部54における量子化係数を設定する。また、量子化係数設定部66は、たとえば、図5(b) に示す入出力特性のルックアップテーブルを用いて、総アクティビティの増加に対して量子化係数の増加が少なくなるような量子化係数を生成して正規化部54における量子化係数を設定してもよい。
【0033】
図1に戻って、量子化係数設定部66は、第1パスにおける符号化停止時のアドレスに基づいて後述の全体符号量算出部76にて算出された全体の符号量から、第2パスにおける量子化係数を設定する機能を有している。第2パスにて符号化処理を行なう場合に、全体の符号量が所定の符号量となるような量子化係数を生成する。量子化係数設定部66はこのようにして生成した量子化係数を正規化部54が接続された出力112 に出力する。
【0034】
2次元ハフマン符号化部56は、正規化部54にて量子化された量子化係数、つまり量子化データにハフマン符号を割当てて符号化し、符号化された結果の符号化データを出力126 および104 に出力するエントロピー符号化回路である。2次元ハフマン符号化部56は、後述の符号量停止判定部74にて生成されて入力128 に入力される符号化停止信号に応動して、入力114 に入力する量子化データの符号化を停止する。2次元ハフマン符号化部56の出力126 は符号量カウント部72に接続され、また出力104 はデータ圧縮伸張部20の出力を構成し、図2に示すコネクタ22に接続されている。
【0035】
ブロックアクティビティ算出部60の出力120 に接続されたブロックアクティビティ補間部68は、入力120 に入力される縮小画像データのブロックアクティビティから、フレームメモリ18に蓄積された縮小前の元画像全体をブロック化した場合のそれぞれのブロックのブロックアクティビティを算出する回路である。本実施例ではブロックアクティビティ補間部68は、縮小画像データのそれぞれのブロックアクティビティを補間処理することにより、元画像のそれぞれのそれぞれのブロックに対応するブロックアクティビティを算出する。この元画像に対応したブロックアクティビティはブロックアクティビティ補間部68の出力130 に出力され、この出力130 はビット配分算出部70に接続されている。
【0036】
ビット配分算出部70は、ブロックアクティビティ補間部68から送られる元原画像データに対応したブロックごとのアクティビティと、総アクティビティ算出部64から送られる総アクティビティの予測値とを用いて、各ブロックに配分される符号化ビット数を算出する回路である。各ブロックに配分される符号化ビット数とは、2次元ハフマン符号化部56にてブロックごとに2次元ハフマン符号化されて低域成分から出力されるデータをどこまでで打ち切るか、すなわち符号化されたデータの符号長を規定するビット数である。また、ビット配分算出部70は、符号化停止回路74から入力132 に入力される余りビット数を考慮して、各ブロックに配分する符号化ビット数を算出する。ビット配分算出部70は、算出したビット配分値を符号化停止判定部74が接続された出力134 に出力する。
【0037】
符号量カウント部72は、ブロックごとに2次元ハフマン符号化部56から出力された符号化データの符号量すなわち、ビット数の累積を計数する回路である。符号量カウント部70は、2次元ハフマン符号化部56の出力126 に出力される符号化データのビット数を順次加算し、これに、次に出力される符号化データに割り当てられるビット数を加算したデータを出力134 に出力する。符号量カウント部72の出力134 は、符号化停止判定部74に接続されている。
【0038】
符号化停止判定部74は、符号量カウント部72にて計数されたビット数と、ビット配分算出部70にて算出された各ブロックに配分される符号化ビット数とに基づいて、2次元ハフマン符号化部56における符号化処理を停止させる制御を行なう判断回路である。詳しくは、符号化停止判定処理部74は、入力136 に入力した符号化データのビット数の増分と、入力134 に入力した符号化ビット数とを比較し、符号量カウント部72にて計数されたビット数の増分、つまりそのブロックの符号化ビット数がビット配分算出部70にて配分された符号化ビット数を超えたことを検出する。この場合、符号化判定処理部74は、符号化出力を停止すべき旨の符号化停止信号を出力128 に接続された2次元ハフマン符号化部56に供給する。これにより、2次元ハフマン符号化部56は符号量カウント部72において最後に加えられたビット数に対応する符号化データ、すなわち次に出力される符号化データの出力を停止し、符号化出力されるデータのビット数がビット配分算出部68から入力された符号化ビット数を超えないようにする。すなわち、符号化停止判定部74は、符号化出力データが配分された符号化ビット数を超える1つ前の符号化データまででブロックのハフマン符号化出力を打ち切る制御を行なう。
【0039】
また、符号化停止判定部72は、配分された符号化ビット数と符号化出力されたデータのビット数との差、すなわち余りビットを求め、ビット配分算出部70が接続された出力132 に出力する。
【0040】
さらに、符号化停止判定部74は、符号量カウント部72にて計数されたビット数が表わす符号化データの符号量が所定の符号量を超えたか否かを判定する判定回路である。この所定の符号量は、メモリカード24における1画像分の符号化データが蓄積される所定の記憶単位に対応したデータ量であり、符号化停止判定部74は、2次元ハフマン符号化部56にて符号化される符号化データのデータ量が、この所定の符号量を超えることを検出する。本実施例では、この検出までの各機能部の処理動作を第1パスと称し、またこの検出以降の各機能部の処理動作を第2パスと称している。符号化データのデータ量が所定の符号量を超えることを検出すると符号化停止判定部74は、符号化出力を停止すべき旨の符号化停止信号を出力128 に接続された2次元ハフマン符号化部56に供給する。この場合、符号化停止判定部74は、符号化を停止させたことを示す停止信号をブロック化部50および全体符号量算出部76が接続された出力138 に出力する。この停止信号138 によりブロック化部50は、画像データの読出しを停止する。読出しを停止したブロック化部50は、読出し停止時における画像データの読出しアドレスを認識し、この読出しアドレスを全体符号量算出部76が接続された出力140 に出力する。
【0041】
全体符号量算出部76は、符号化を停止させずに画像データの符号化をそのまま続行させた場合の全体の符号量を予測する回路である。本実施例では、全体符号量算出部76は、2次元ハフマン符号化部56にて符号化が停止したときの画像データのアドレス値に基づいて、全体の符号量を演算により予測する。詳細には全体符号量算出部76は、入力138 に入力される符号化停止判定部74からの停止信号に応動して、入力140 にブロック化部50から供給されるアドレス信号を検出する。全体符号量算出部76は、検出したアドレス値から元画像全体に対するアクティビティの比率を求め、これに基づいて、元画像に対応する全体のアクティビティを算出し、これにより、元画像データを符号化した際の全体の符号量を算出して接続線142 を介して接続された量子化係数設定部66に通知する。量子化係数設定部66は、この全体の符号量に基づいて第2パスの量子化係数を設定する。
【0042】
以上のような構成で本実施例におけるディジタルスチルカメラ20の動作を図6を参照して以下に説明する。まず操作者は、操作部32の不図示のレリーズボタンを押下して所望の被写界像を撮影する。これにより、カメラの撮像部14にて被写界が撮像されてアナログのRGB カラー映像信号が形成され、この映像信号は輝度信号および色差信号の信号を表わす画像データに変換される。これら画像データは、補正処理などの信号処理が施された後に、出力110 に出力される。撮像部14より出力された画像データは、メモリ制御部16を介してそれぞれフレームメモリ18に格納され、これを元画像データとする。フレームメモリ18に格納された画像データは再生部26に供給され、この画像データが表わす静止画像が小型表示装置28の表示画面に表示される。
【0043】
ここで、この静止画像をメモリカード24に記録する操作が操作部32より検出されて、全体制御部30にて認識されると、全体制御部30の出力112 に各部を制御する制御信号が出力される。これによりメモリ制御部16、データ圧縮伸張部20およびメモリカード24は、画像データの記録動作に移る。また、たとえば、このような操作部32への操作がなくても、撮影によって画像データがフレームメモリ18に蓄積されると、画像データの記録動作が始まるように全体制御部30により制御されてもよい。
【0044】
図6に示したステップ600 においてフレームメモリ18に蓄積された画像データは、メモリ制御部16から供給されるアドレス信号および読出制御信号などの記憶制御信号に応じて読み出されて、データ圧縮伸張部20の入力102 に入力される。このとき元画像データは、データ圧縮伸張部20のブロック化部50のメモリ制御部16への制御により、間引き処理されて、縮小された縮小画像データが8×8画素ごとのブロックに分割されてブロックごとに読み出される。次にステップ602 に進み、縮小処理およびブロック化された縮小画像データは、接続線106 を介してブロックアクティビティ算出部60に順次供給され、縮小画像データにおけるブロックごとのアクティビティが算出される。
【0045】
ステップ604 において、ブロックアクティビティ算出部60にて算出されたブロックアクティビティは、加算処理部62にて順次その値が加算されて縮小画像データの1画面についてのブロックアクティビティの合計値が算出される。算出された合計値は接続線122 を介して総アクティビティ算出部64に供給されて、フレームメモリ18に蓄積された元画像データに対応する総アクティビティの予測値が算出される。
【0046】
ステップ606 において、予測された総アクティビティは、接続線124 を介して量子化係数設定部66とビット配分算出部70に供給され、量子化係数設定部66に供給された総アクティビティの予測値に基づいて、ルックアップテーブル67により量子化係数が設定される。
【0047】
一方、フレームメモリ18に蓄積された元画像データが8×8画素ごとに分割して読み出され、ブロック化部50から接続線108 を介して2次元直交変換部52に入力される。ステップ608 において、2次元直交変換部52に入力されたブロックごとの画像データは、それぞれのブロックごとにディスクリートコサイン変換され、変換された結果の変換係数は、低い周波数成分から高い周波数成分の順に、ブロック単位で正規化部54に供給される。
【0048】
正規化部54では、入力110 に入力したブロックごとの変換係数の所定の域値以下の部分が切り捨てられる。切り捨てが行なわれた変換係数は、量子化係数設定部66にて設定されて量子化係数により除算される。正規化された変換係数の量子化データは、2次元ハフマン符号化部56に供給されて符号化される。符号化された符号化データはその出力104 および126 に出力される。
【0049】
このときステップ602 にて算出されたブロックアクティビティがブロックアクティビティ補間部68に供給されて、元画像データ全体をブロック化した場合のそれぞれのブロックにおけるアクティビティが算出され、算出された元画像に対応したブロックアクティビティは、接続線130 を介してビット配分算出部70に供給される。このビット配分算出部70の入力124 には、総アクティビティ算出部64にて算出された総アクティビティが入力され、ビット配分算出部70では、元画像の各ブロックに配分される符号化ビット数が算出される。算出された符号化ビット数は、2次元ハフマン符号化部56に入力されるブロックごとの量子化データに対応して符号化停止判定部74に供給される。2次元ハフマン符号化部56では、正規化部54から供給された量子化データが符号化される。
【0050】
2次元ハフマン符号化部56にて符号化された符号化データは、符号量カウント部72の入力126 に入力されて、入力した符号化データのビット数が順次加算される。これにより符号化データの符号量が計数される。計数された符号量は接続線136 を介して符号量停止判定部74に供給される。
【0051】
このとき符号化停止判定部74の入力 136に入力された符号化データの符号量、つまりビット数の増分に基づいて、ビット配分算出部70にて配分された符号化ビット数が符号化データのビット数(符号長)を超えることが検出されると、2次元ハフマン符号部56における符号化処理を停止させる符号化停止信号が出力128 に出力されて、そのブロックに対する符号化処理が打ち切られる。これにより、符号化データの符号長が制限される。
【0052】
次にステップ610 に進み、入力136 に入力したビット数の累積に基づいて、符号化データのビット数が所定の符号量を超えたか否かが符号化停止判定部74にて検出され、符号量の累積値が所定の符号量以下の場合には、ステップ612 に進み、符号化する次のブロックの有無が判定され、次に符号化するブロックがあれば、符号化停止判定部74の出力132 に余りビットが出力され、ビット配分算出部70にて、この余りビットが考慮されて次のブロックに対するビット配分が行なわれ、その後、ステップ608 に戻ってそのブロックに対する符号化処理が上述と同様に行なわれる。またステップ612 において、全ブロックに対する符号化が終了していれば、データ圧縮伸張部20における圧縮符号化処理は終了する。
【0053】
また、ステップ610 において、符号化停止判定部74にて検出された結果が符号量の累積値が所定の符号量を超えた場合には、第1パスが終了し、ステップ614 に進む。
【0054】
第2パスのステップ614 において、符号化停止判定部74の入力136 に入力された符号化データの符号量、つまりビット数の累積が、所定の符号量を超えることが検出されると2次元ハフマン符号化部56における符号化を停止させる符号化停止信号が符号化停止判定部74の出力128 に出力されて符号化が停止され、さらに、その出力138 に停止信号が出力されて、ブロック化部50における画像データの読み出しが停止される。
【0055】
つぎにステップ616 に進み、符号化停止判定部74より出力された停止信号138 は、全体符号量算出部76にも供給される。全体符号量算出部76には、ブロック化部50から供給されるアドレス信号が入力され、このアドレスから、第1パスにて符号化を続行してその画像データ全体を符号化した場合の、全体の符号量が算出されステップ618 に進む。
【0056】
ステップ618 において、全体符号量算出部76にて算出された全体の符号量に基づいて、元画像データを圧縮符号化した際に、所定の符号量となるような量子化係数が量子化係数設定部66にて設定される。量子化係数が算出されると、次は、この量子化係数に基づいて、上述のステップ608 における圧縮符号化処理と同様な処理が行なわれて、フレームメモリ18に蓄積された画像データが順次ブロック化、2次元直交変換、正規化および2次元ハフマン符号化がそれぞれ行なわれて、それぞれのブロックごとにそれぞれ配分されたビット数に対応する符号化データが2次元ハフマン符号化部56の出力、つまりデータ圧縮伸張部20の出力104 に出力される。
【0057】
データ圧縮伸張部20の出力104 に出力された符号化データは、コネクタ22を介してメモリカード24に供給され、全体制御部30の出力112 に出力された記憶制御信号に基づいて、この符号化データがメモリカード24の所定の記憶領域に書き込まれる。メモリカード24へのデータの書き込みが正常に終了すると、全体制御部34の制御によって表示部34は、正常終了を操作者に伝える表示や、次の撮影を促す表示等の可視表示および可聴表示を行なう。
【0058】
以上説明したように、上述の実施例のデータ圧縮伸張部20は、フレームメモリ18に蓄積された画像データのすべてのデータではなく、元の画像データを縮小処理した全体画像の部分データを用いて、この部分データを演算した総アクティビティを算出し、この総アクティビティに基づいて、量子化係数の設定処理やビット配分処理などの符号化処理および符号量制御を行なっている。したがって、とくに画面全体のそれぞれのブロックアクティビティを算出するために1画面分すべての画像データを読み出す必要がなく、このためブロックアクティビティを算出する処理時間が短縮される。この場合、間引き率つまり縮小の程度に応じて、処理時間の短縮を図ることができる。
【0059】
従来は、画像の特徴量(アクティビティ)を元画像データの1画面分の画像データから求めていたので、符号量制御を行なわない場合に較べて約2倍の処理時間を必要としていた。しかし本発明では、1画面分の元画像データの一部分を使用してブロックアクティビティを算出しているので、処理時間の増大を防ぐことができる。これは、たとえば画像データの情報量が多い高画素密度タイプの撮像素子にて撮像された高画素密度の画像データを処理する場合に、とくに有効である。
【0060】
このように本発明は、2パス符号量制御を行なって、画像データから所定の符号量に制限された符号化データを生成する場合において、画像データを圧縮符号化する処理時間を短縮することができ、これにより、フレームメモリ18に蓄積された静止画像を表わす画像データを処理して、メモリカード24に書き込むまでの時間を短縮することができる。この結果、従来よりも処理時間が短縮化された圧縮符号化装置を提供することができる。この高速処理が可能なデータ圧縮伸張部20がカメラに搭載されている場合には、操作者は、画像データの圧縮符号化のための処理時間を意識することなく、撮影した画像データをメモリカード24に記録することができ、したがって次のコマの撮影を迅速に行なうことができる。
【0061】
なお、上記実施例では、ブロック化部50は、画素間引きした縮小画像データをブロックごとに読出すように構成されていたが、これに限らず、たとえば、図7に示すように、ブロック化部50は、フレームメモリ18に蓄積された元画像データを所定のブロックに分割し、分割されたブロックをとびとびに読み出すことによって画像データを部分化し、所定の間隔ごとのブロックの読み出しを行なうように構成してもよい。
【0062】
この場合、ブロック化部50は、同図に概念的に示したようにブロック化された画像データ700 を作成し、これらブロック単位の画像データのうち、たとえば同図に斜線にて示された1ブロック間隔のブロックごとの画像データを出力106 に出力する。また、ブロック化部50は、上記実施例と同様にフレームメモリ18に蓄積された画像データを所定のブロックに分割し、同図に概念的に示されたブロック化された画像データ702 を作成し、ブロックごとの画像データを出力108 に出力する。上述のブロック間隔は、1ブロック間隔に限らず、2、3、4、5または6ブロック間隔などの任意の間隔でよい。
【0063】
このようにブロック化部50が構成された場合、ブロックアクティビティティビティ算出部64は、入力106 に入力するとびとびのブロックの画像データに基づいて、それぞれのブロックごとのブロックアクティビティを算出する。算出されたブロックアクティビティは、加算処理部62にて順次加算され、総アクティビティ算出部64の入力122 に入力される。総アクティビティ算出部64は、とびとびに読み出されたブロックごとの画像データから算出されたブロックアクティビティの総和から、フレームメモリ18に蓄積された元画像データに対応するブロックアクティビティの総和、つまり総アクティビティを算出する。また、ブロックアクティビティ補間部68は、ブロックアクティビティ算出部60にて算出されたそれぞれのとびとびのブロックに対応するブロックアクティビティを入力し、これにより、ブロック化された画像データ108 に対応するそれぞれのブロックのブロックアクティビティを算出する。
【0064】
図7に示したブロック化部50のブロックとびとびに読み出す機能は、図1に示したブロック化部50の縮小機能とともに用いられてもよい。具体的には、ブロック化部50は、前述のように画像データを縮小処理させ、作成された縮小画像データをブロックごとに分割する。さらにブロック化部50は、分割されたブロックごとのデータをとびとびに読み出して、読み出したブロックとびとびの縮小画像データを出力106 に出力する。このようなブロック化部50における、元画像データを間引きした縮小画像データに対してブロック化する縮小ブロック化機能と、元画像データをブロック化してとびとびに読み出すとびとび読み出し機能とは、切り換えによりそのいずれかが選択されてもよく、また、これら2つの機能を併用して、ともに活用するように選択されてもよい。この場合、さらに処理時間の短縮を図ることができる。
【0065】
【発明の効果】
このように本発明によれば、画像データの所定部分を除いた部分的なデータに基づいて、画像データを圧縮符号化するための量子化係数が作成されるので、画像データを圧縮符号化して符号化データを作成する処理時間を短縮することができる。
【図面の簡単な説明】
【図1】図2に示した実施例のディジタルスチルカメラにおけるデータ圧縮伸張部の構成を示すブロック図である。
【図2】本発明が適用されたディジタルスチルカメラの一実施例を示すブロック図である。
【図3】図2に示したフレームメモリから読み出す画像データを概念的に示した図である。
【図4】図1に示した正規化部におけるジグザグ走査を示す図である。
【図5】図1に示した量子化係数設定部における量子化テーブルの入出力特性を示す図である。
【図6】図2に示したディジタルスチルカメラの撮影時における画像データの圧縮符号化動作を示すフローチャートである。
【図7】図2に示したフレームメモリからブロック化した画像データをとびとびに読み出した場合の画像データを概念的に示した図である。
【符号の説明】
20 ディジタルスチルカメラ
50 ブロック化部
52 2次元直交変換部
54 正規化部
56 2次元ハフマン符号化部
60 ブロックアクティビティ算出部
62 加算処理部
64 総アクティビティ算出部
66 量子化係数設定部
68 ブロックアクティビティ補間部
70 ビット配分算出部
72 符号量カウント部
74 符号化停止判定部
76 全体符号量算出部
[0001]
[Industrial application fields]
The present invention relates to an image data compression coding method and apparatus, and more particularly to an image data compression coding method and apparatus suitable for application to a digital still camera, for example.
[0002]
[Prior art]
As is well known, in a digital still camera, an image signal representing a captured image of a scene is converted into digital image data, and the converted image data is converted into a conversion method such as two-dimensional orthogonal transform coding. Thus, the data is compressed and encoded to a data amount equal to or less than a desired amount and recorded on a data recording medium such as a semiconductor memory or an optical disk. In this compression encoding, for example, image data of one screen that has been captured and digitized is divided into blocks of a predetermined size, and the image data of each block is frequency-domain data, that is, transform coefficients, by two-dimensional orthogonal transformation. The conversion coefficient is quantized and encoded.
[0003]
The transform coefficient is divided by a quantization coefficient corresponding to the characteristics of the captured image, and quantization is performed. In this case, the quantization coefficient is determined based on the total number of block activities representing the degree of the high-frequency component included in each block, that is, the activity of the image for one captured image. Also, a plurality of quantization coefficients are prepared in, for example, a lookup table, which is selected based on the total activity, and the transform coefficients are quantized by dividing the transform coefficients by the quantization coefficients. The quantized transform coefficient is Huffman-coded, for example, and recorded on the data storage medium.
[0004]
[Problems to be solved by the invention]
However, the two-pass code amount control method for compressing the image data as described above so as to be within a predetermined code amount and recording the compressed image data on the image data recording medium is required until the image data is actually processed and recorded. It was necessary to obtain the activity for each block representing the feature amount such as the complexity and fineness of the image for one screen.
[0005]
Therefore, before recording the image data in the image data storage medium, the image data is accessed once to obtain the quantization coefficient, and then the image data is accessed again, based on the obtained quantization coefficient. It was necessary to quantize and encode the transform coefficient. For this reason, in a conventional encoding device that performs two-pass code amount control, it is necessary to access image data for one screen twice, as compared with a case where image data is compressed and encoded without performing code amount control. Double processing time was required.
[0006]
An object of the present invention is to provide an image data compression encoding method and apparatus capable of shortening the processing time in view of such problems of the prior art.
[0007]
[Means for Solving the Problems]
The present invention calculates a quantization coefficient for quantizing the image data by calculating a part of the image data, and at that time, further compresses and encodes the image data to a predetermined code amount. Based on the address, a quantization coefficient for quantizing the image data is calculated.
[0008]
That is, in order to solve the above-described problem, the image data compression encoding method of the present invention is an encoding method for performing orthogonal transform and encoding on digital image data constituting one screen. A first step of compressing and encoding image data based on partial data excluding a predetermined portion, and image data when the first step continues and the code amount of the encoded data exceeds a predetermined code amount And the second step of compressing and encoding the image data based on the address of the image data at the time of the stop, and the second step compresses and encodes the image data. For example, a quantization coefficient is calculated based on the address, and image data is compression-encoded based on the calculated quantization coefficient.
[0009]
In this case, the first step calculates a first quantization coefficient for compressing and encoding the image data from the partial data of the image data, and the image is based on the calculated first quantization coefficient. The first compression encoding of the data, and the second step stops the first compression encoding of the image data when the encoded data encoded in the first step exceeds a predetermined code amount, An entire code amount is calculated based on the address of the image data when the first compression encoding is stopped, and the image data is compressed and encoded within a predetermined code amount based on the entire code amount. A second quantization coefficient may be calculated, and the image data may be second compression-encoded based on the second quantization coefficient to output encoded data limited to a predetermined code amount.
[0010]
Further, in order to solve the above-described problem, the image data compression coding method of the present invention is an image data compression coding apparatus that performs orthogonal transform and coding on digital first image data constituting one screen. The apparatus includes a blocking unit that divides the first image data into a plurality of blocks, an orthogonal transform unit that converts each of the image data divided into blocks by the blocking unit by a predetermined orthogonal transform method, Quantization means for quantizing the image data transformed by the orthogonal transformation means based on the quantization coefficient corresponding to the feature of each block, and the image data quantized by the quantization means with a desired code Encoding means for generating encoded data by encoding with an encoding method, and an activity representing the feature amount of each block of image data divided into blocks A block activity calculating means for calculating, a total activity calculating means for calculating a total activity representing the sum of activities, and a first quantum for quantizing the image data transformed by the orthogonal transform means based on the total activity A quantization coefficient setting means for setting the quantization coefficient in the quantization means, and an encoding stop means for stopping the encoding of the quantized image data based on the code amount of the encoded data created by the encoding means And an overall code amount calculating means for calculating the entire code amount of the image data from the address of the image data when the encoding is stopped by the encoding stop means, and the blocking means includes the first image Second image data obtained by dividing the data into a plurality of blocks and corresponding to partial data with respect to the first image data The generated second image data is supplied to the block activity calculating unit for each block, the third image data obtained by dividing the first image data into a plurality of blocks is supplied to the orthogonal transform unit, and the block activity is generated. The calculating unit calculates an activity corresponding to each block of the second image data supplied from the blocking unit, and the quantization coefficient setting unit sets the total code amount calculated by the total code amount calculating unit. Based on this, the second quantization coefficient for quantizing the image data transformed by the orthogonal transformation means is set in the quantization means, and the quantization means is orthogonal transformation means based on the second quantization coefficient. The image data converted in step (b) is quantized, and the encoding means encodes the image data quantized based on the second quantization coefficient.
[0011]
In this case, the blocking unit divides the reduced image data obtained by thinning out the first image data constituting one screen into a plurality of blocks for each predetermined pixel, and the image data for each of the divided blocks is converted into a block activity. It is good to supply to a calculation means.
[0012]
Further, the blocking means divides the first image data constituting one screen into a plurality of blocks for each predetermined pixel, and reads out the divided image data for each block to block activity calculation means. It is good to supply to.
[0013]
Further, the blocking unit divides the reduced image data obtained by thinning out the first image data constituting one screen into a plurality of blocks for each predetermined pixel, and reads out the image data for each of the divided blocks. To block activity calculation means.
[0014]
[Action]
According to the present invention, digital image data constituting one screen is compression-encoded in the first step based on partial data excluding a predetermined portion of the image data. When the first process is continued and the code amount of the encoded data exceeds a predetermined code amount, the second process stops the compression encoding of the image data, and the address of the image data at the time of the stop The quantization coefficient is calculated based on the image data, and the image data is compression-encoded based on the quantization coefficient. As described above, since the quantization coefficient is created based on partial data excluding a predetermined portion of the image data, the processing time for compressing and encoding the image data can be shortened.
[0015]
【Example】
Next, an embodiment of an image data compression encoding method and apparatus according to the present invention will be described in detail with reference to the accompanying drawings. FIG. 2 shows an embodiment of a digital still camera to which the present invention is applied. The digital still camera 10 takes an image of an object scene incident through the image pickup lens 12 by an image pickup unit 14 including an image pickup device 13 under the control of the overall control unit 30, and displays an image representing the object scene image. The data is sent to the data compression / decompression unit 20 via the memory control unit 16 and the frame memory 18, whereby the image data is compressed and encoded through the first pass processing and the second pass processing, and is sent to the connector 22. It is a device that accumulates in a connected memory card 24. In particular, in the present embodiment, the digital still camera 10 is configured to output the image data with a shorter processing time for compression encoding.
[0016]
Further, the digital still camera 10 reproduces the image data captured by the imaging unit 14 or the image data stored in the memory card 24 by the reproduction unit 26, and displays the small display device 28 connected to the output. The image represented by the image data is displayed on the screen. In the following description, portions not directly related to the present invention are not shown and described, and reference numerals of signals are represented by reference numerals of connection lines in which they appear.
[0017]
Each part of the digital still camera 10 will be described. The imaging unit 14 is a photoelectric conversion unit that captures an image of a scene that is incident through the imaging lens 12 and outputs an RGB color image signal representing the scene. The imaging unit 14 includes, for example, an imaging element 13 such as a high pixel density type CCD (Charge Coupled Device), and outputs a color image signal of a high-definition image representing an object scene image formed on the imaging surface. The imaging unit 14 converts the image signal generated by the image sensor 13 into a signal composed of a luminance signal and a color difference signal, and converts the image signal into a digital signal (A / A converter (A / D) Convert to digital image data at 15. The imaging unit 14 performs signal processing such as color balance correction, γ correction, white balance adjustment, and edge enhancement processing on the image data, and outputs the processed image data to the output 100 to which the memory control unit 16 is connected.
[0018]
The memory control unit 16 is a storage control unit that controls writing and reading of image data in the frame memory 18. Specifically, the memory control unit 16 stores the image data output from the imaging unit 14 in the frame memory 18, reads out the stored image data, and supplies the address signal, write and write to the data compression / decompression unit 20. A storage control signal such as a read control signal is generated. Further, the memory control unit 16 accumulates the image data output from the data compression / decompression unit 20 in the frame memory 18, and supplies an address signal, write and read control signal for supplying the accumulated image data to the reproduction unit 26. The storage control signal is generated. The frame memory 18 has a predetermined storage area for storing image data, for example, and stores image data from the imaging unit 14 or the data compression / decompression unit 20 sequentially in a predetermined storage area under the control of the memory control unit 16. Also, the image data stored in the storage area is read and supplied to the data compression / decompression unit 20 and the reproduction unit 26.
[0019]
In this embodiment, the memory control unit 16 stores the image data output from the imaging unit 14 in the frame memory 18 and reads the image data from the frame memory 18 when the image data stored in the frame memory 18 is predetermined. The image data reduction processing function for thinning out the pixels is provided. Specifically, as conceptually shown in FIG. 3, for example, the memory control unit 16 sequentially stores the image data 300 appearing at the input 100 in a predetermined predetermined storage area of the frame memory 18 and stores the stored image data. The read address of 300 is changed, and predetermined pixels are thinned and read out, and reduced image data 302 representing a reduced screen reduced to a predetermined data size is created. The reduced image data generation process is performed based on an instruction from the data compression / decompression unit 20. The memory control unit 16 also has a function of reading out the image data 300 stored in the storage area of the frame memory 18 as it is without performing thinning processing. The memory control unit 16 reads out the image data stored in the storage area and outputs it to the output 102 to which the data compression / decompression unit 20 is connected.
[0020]
Returning to FIG. 1, the data compression / decompression unit 20 inputs the image data captured by the imaging unit 14 and stored in the frame memory 18 to the input 102, and encodes the encoded data into encoded data having a predetermined code amount or less. A compression / decompression processing unit having an amount control function. The data compression / decompression unit 20 in this embodiment calculates the transform coefficient by orthogonal transform of the image data, quantizes the transform coefficient, and performs Huffman coding. The data compression / decompression unit 20 outputs the encoded data that has been compression-encoded to the output 104. The output 104 of the data compression / decompression unit 20 is connected to a connector 22 as an output means to which the memory card 24 is detachably connected. The memory card 24 stores the encoded data transferred via the connector 22 in a predetermined storage. Store in the area.
[0021]
This memory card 24 is composed of, for example, a semiconductor memory element such as SRAM (Static RAM) or EEPROM (Electrically Erasable Programmable ROM), and the encoded data appearing in the input / output circuit 106 of the connector 22 is transferred to the input / output circuit 108. The data is stored in a predetermined storage area according to the storage control signal that appears. This storage area is an area for storing each of a plurality of encoded data for one image. In this embodiment, the storage area is encoded by the data compression / decompression unit 20 so that it is compressed and encoded to a predetermined amount or less. Data is accumulated. In addition, the memory card 24 outputs the stored encoded data to the input / output circuit 106 in accordance with the storage control signal appearing in the input / output circuit 108, and the encoded data is compressed / decompressed via the connector 22 and the connection line 104. Forward to part 20.
[0022]
Further, the data compression / decompression unit 20 has a processing function of decompressing the encoded data output from the memory card 24, and supplies the decompressed image data to the reproduction unit 26 connected to the output 110. The imaging unit 14, the memory control unit 16, the data compression / decompression unit 20, the memory card, and the playback unit 26 are controlled by the overall control unit 30.
[0023]
The overall control unit 30 is a control circuit that controls the overall operation of the digital still camera 10. The overall control unit 30 controls the imaging unit 14, the memory control unit 16, the data compression / decompression unit 20, and the playback unit 26. In addition, overall control unit 30 generates a storage control signal for performing write control of encoded data to memory card 24 connected to connector 22 and read control of encoded data stored in memory card 24. To output 112. The overall control unit 30 is connected to an operation unit 32 that detects an input operation of the operator and a display unit 34 that visually and audibly displays the entire operation state of the camera 10, and operation information detected by the operation unit 32 In response to this, control is performed to photograph the object scene. For example, the overall control unit 30 is a small display device such as a viewfinder connected to the output 150 of the playback unit 26 for displaying an image represented by data stored in the memory card 24 in accordance with the operation information detected by the operation unit 32. Control is performed such that the image is displayed on 28 or an image represented by the image data stored in the frame memory 18 is displayed on the small display device 28 by imaging. The overall control unit 30 generates a control signal for controlling the camera 10 and outputs the generated control signal to the output 112. This output 112 is connected to the imaging unit 14, the memory control unit 16, the data compression / decompression unit 20, and the reproduction unit 26, and is also connected to the memory card 24 via the connector 22 and the connection line 108. The connector 22 may be connected to a communication device that transmits encoded data using a communication line. In this case, the communication device transmits the encoded data output from the connector 22 based on a predetermined transmission control procedure. To the other terminal device.
[0024]
Next, the internal configuration of the data compression / decompression unit 20 will be described in detail with reference to FIG. 1. The data compression / decompression unit 20 includes a blocking unit 50, a two-dimensional orthogonal transform unit 52, a normalization unit 54, and a two-dimensional unit. And a Huffman encoder 56. Further, the data compression / decompression unit 20 is a coefficient setting unit that determines the quantization coefficient in the normalization unit 54 and the bit distribution value in the Huffman coding unit 56, a block activity calculation unit 60, an addition processing unit 62, and a total activity calculation Unit 64, quantization coefficient setting unit 66, block activity interpolation unit 68, bit allocation calculation unit 70, code amount count unit 72, coding stop determination unit 74, and overall code amount calculation unit 76. is doing.
[0025]
The blocking unit 50 is a circuit that reads out the image data for one image stored in the frame memory 18 into a plurality of blocks composed of predetermined pixels, and outputs them as image data for each block. In this embodiment, the blocking unit 50 controls the memory control unit 16 as shown in FIG. 3, for example, reduces the image data stored in the frame memory 18 by thinning-out processing, and reduces the reduced image data 302 subjected to the reduction processing. Read out. As a result, the blocking unit 50 partializes the image data. The blocking unit 50 reads the reduced image data by dividing it into a plurality of blocks each having 8 × 8 pixels, for example, and outputs the read reduced image data 302 to the output 106 for each block.
[0026]
Further, the blocking unit 50 controls the memory control unit 16 to read the image data stored in the frame memory 18 into a plurality of blocks without performing a reduction process. In this case, the blocking unit 50 reads the image data by dividing it into a plurality of blocks each having 8 × 8 pixels, for example, and outputs the read image data 304 to the output 108 for each block. The output 106 of the blocking unit 50 is connected to the block activity calculation unit 60, and the output 108 is connected to the two-dimensional orthogonal transform unit 52.
[0027]
The two-dimensional orthogonal transform unit 52 is a circuit that performs two-dimensional orthogonal transform on the image data for each block input to the input 108. As the two-dimensional orthogonal transform, for example, known orthogonal transforms such as discrete cosine transform (DCT) and Hadamard transform can be considered, and in this embodiment, discrete cosine transform is used. The image data for each block subjected to two-dimensional orthogonal transformation is arranged vertically and horizontally so as to become higher-order data from the lower-order data in the upper left portion toward the lower-right direction. The two-dimensional orthogonal transform unit 52 sequentially outputs the converted image data for each block to the output 110 for each block. That is, the image data resulting from the two-dimensional orthogonal transformation, that is, the transform coefficient, is sent to the normalization unit 54 connected to the output 110 in block units in the order of the DC component and the AC component from the low frequency to the high frequency.
[0028]
The normalizing unit 54 is a circuit that performs normalization after performing coefficient truncation on the transform coefficient transformed by the two-dimensional orthogonal transform unit 52. Specifically, the normalization unit 54 compares the transform coefficient for each block appearing at the input 110 with a predetermined threshold value, and performs coefficient truncation to round off the portion below the threshold value. In addition, the normalization unit 54 quantizes, that is, normalizes, the transform coefficient by dividing the transform coefficient that has been subjected to the coefficient truncation by a predetermined quantization step value, that is, the quantization coefficient. The quantization coefficient is input to the input 112 to which the quantization coefficient setting unit 66 is connected, and this quantization coefficient is based on the total activity predicted from the total activity value for each block of the reduced image data, as will be described later. This is the calculated coefficient. The normalizing unit 54 scans the quantized data representing the transform coefficient normalized for each block in a zigzag manner in order from the low frequency component of the block and outputs it to the output 114 as shown in FIG. The output 114 of the normalization unit 54 is connected to the two-dimensional Huffman coding unit 56.
[0029]
Returning to FIG. 1, the block activity calculation unit 60 includes an activity for each block lock, that is, image data of a high frequency component, from the reduced image data for each block divided by the blocking unit 50. This is a circuit for calculating the feature amount of the image such as the degree of the image. In this embodiment, the block activity calculation unit 60 calculates and adds the absolute value of the difference between each value of the pixel data constituting one block input to the input 106 and the average value of the pixel data of the block. To calculate the activity for each block. The block activity calculation unit 60 outputs the block activity representing the calculated activity for each block to the output 120 to which the addition processing unit 62 and the block activity interpolation unit 68 are connected.
[0030]
The addition processing unit 62 adds the block activity sent from the block activity calculating unit 60 for one screen of the image represented by the reduced image data, and calculates the total value of the block activities in the reduced image data. The addition processing unit 62 outputs the calculated total value of block activities to the output 122 to which the total activity calculating unit 64 is connected.
[0031]
The total activity calculation unit 64 calculates the activity of each block of the entire image represented by the image data captured by the imaging unit 14 and accumulated in the frame memory 18 from the total block activity value calculated by the addition processing unit 62. It is a processing unit that predicts the total activity of the value obtained by summing up. In this embodiment, the total activity calculation unit 64 calculates the total activity of the entire original image from the sum of the block activities obtained from the reduced image data based on conditions such as the number of pixels for reduction processing and blocking in the blocking unit 50. Predict. The total activity calculation unit 60, for example, based on the ratio between the data amount of the reduced image data supplied from the blocking unit 50 and the data amount of the original image stored in the frame memory 18, represents the total activity representing the entire activity. Predict activity. Specifically, the total activity calculating unit 60 calculates the total activity from the sum of the block activities supplied from the addition processing unit 62 based on the image data thinning rate in the blocking unit 50. The total activity calculation unit 64 outputs the predicted value of the total activity to the output 124 to which the quantization coefficient setting unit 66 and the bit allocation calculation unit 70 are connected.
[0032]
The quantization coefficient setting unit 66 is a processing unit that sets a quantization coefficient for quantizing (normalizing) the transform coefficient in accordance with the predicted value of the total activity. Specifically, the quantization coefficient setting unit 66 selects a quantization coefficient corresponding to the image based on the total activity input to the input 124, and sets the selected quantization coefficient in the normalization unit 54. The quantization coefficient setting unit 66 generates a quantization coefficient that increases in proportion to the total activity using, for example, a lookup table (TBL) 67 of input / output characteristics as shown in FIG. The quantization coefficient in the unit 54 is set. Further, the quantization coefficient setting unit 66 uses, for example, the input / output characteristic lookup table shown in FIG. 5 (b) so that the increase of the quantization coefficient with respect to the increase in the total activity is small. And the quantization coefficient in the normalization unit 54 may be set.
[0033]
Returning to FIG. 1, the quantization coefficient setting unit 66 uses the total code amount calculated by the overall code amount calculation unit 76 to be described later based on the address when the encoding is stopped in the first pass. It has a function to set the quantization coefficient. When the encoding process is performed in the second pass, a quantization coefficient is generated so that the entire code amount becomes a predetermined code amount. The quantization coefficient setting unit 66 outputs the quantization coefficient thus generated to the output 112 to which the normalization unit 54 is connected.
[0034]
The two-dimensional Huffman encoding unit 56 assigns the Huffman code to the quantized coefficient quantized by the normalizing unit 54, that is, the quantized data, encodes the encoded data, and outputs the encoded data resulting from the encoding. Is an entropy encoding circuit that outputs to The two-dimensional Huffman encoding unit 56 stops encoding the quantized data input to the input 114 in response to the encoding stop signal generated by the code amount stop determination unit 74 described later and input to the input 128. To do. The output 126 of the two-dimensional Huffman encoding unit 56 is connected to the code amount counting unit 72, and the output 104 constitutes the output of the data compression / decompression unit 20 and is connected to the connector 22 shown in FIG.
[0035]
The block activity interpolation unit 68 connected to the output 120 of the block activity calculation unit 60 blocks the entire original image before reduction stored in the frame memory 18 from the block activity of the reduced image data input to the input 120. It is a circuit which calculates the block activity of each block in the case. In the present embodiment, the block activity interpolation unit 68 calculates a block activity corresponding to each block of the original image by interpolating each block activity of the reduced image data. The block activity corresponding to the original image is output to the output 130 of the block activity interpolation unit 68, and this output 130 is connected to the bit allocation calculation unit 70.
[0036]
The bit allocation calculation unit 70 allocates to each block using the activity for each block corresponding to the original original image data sent from the block activity interpolation unit 68 and the predicted value of the total activity sent from the total activity calculation unit 64. This is a circuit for calculating the number of encoded bits. The number of encoded bits allocated to each block is determined by how far the data that is two-dimensionally Huffman encoded for each block by the two-dimensional Huffman encoding unit 56 and output from the low frequency component is cut off, that is, encoded. This is the number of bits that defines the code length of the data. In addition, the bit allocation calculation unit 70 calculates the number of encoded bits to be allocated to each block in consideration of the number of surplus bits input from the encoding stop circuit 74 to the input 132. The bit allocation calculation unit 70 outputs the calculated bit allocation value to the output 134 to which the encoding stop determination unit 74 is connected.
[0037]
The code amount counting unit 72 is a circuit that counts the code amount of the encoded data output from the two-dimensional Huffman encoding unit 56 for each block, that is, the accumulation of the number of bits. The code amount counting unit 70 sequentially adds the number of bits of the encoded data output to the output 126 of the two-dimensional Huffman encoding unit 56, and adds the number of bits allocated to the next output encoded data to this The processed data is output to the output 134. The output 134 of the code amount count unit 72 is connected to the encoding stop determination unit 74.
[0038]
The encoding stop determination unit 74 is a two-dimensional Huffman based on the number of bits counted by the code amount counting unit 72 and the number of encoded bits allocated to each block calculated by the bit allocation calculation unit 70. This is a determination circuit that performs control to stop the encoding process in the encoding unit 56. Specifically, the encoding stop determination processing unit 74 compares the increment of the number of bits of the encoded data input to the input 136 with the number of encoded bits input to the input 134 and counts it by the code amount counting unit 72. It is detected that the increment of the number of bits, that is, the number of encoded bits of the block exceeds the number of encoded bits allocated by the bit allocation calculation unit 70. In this case, the encoding determination processing unit 74 supplies an encoding stop signal indicating that encoding output should be stopped to the two-dimensional Huffman encoding unit 56 connected to the output 128. As a result, the two-dimensional Huffman encoding unit 56 stops the output of the encoded data corresponding to the number of bits added last in the code amount counting unit 72, that is, the encoded data to be output next, and the encoded data is output. The number of bits of data to be transmitted does not exceed the number of encoded bits input from the bit allocation calculation unit 68. That is, the encoding stop determination unit 74 performs control to stop the Huffman encoded output of the block up to the previous encoded data exceeding the number of encoded bits to which the encoded output data is allocated.
[0039]
Also, the encoding stop determination unit 72 obtains a difference between the allocated number of encoded bits and the number of encoded data bits, that is, a surplus bit, and outputs it to the output 132 to which the bit allocation calculation unit 70 is connected. To do.
[0040]
Furthermore, the encoding stop determination unit 74 is a determination circuit that determines whether or not the code amount of the encoded data represented by the number of bits counted by the code amount counting unit 72 has exceeded a predetermined code amount. This predetermined code amount is a data amount corresponding to a predetermined storage unit in which encoded data for one image in the memory card 24 is accumulated, and the encoding stop determination unit 74 stores the two-dimensional Huffman encoding unit 56. It is detected that the amount of encoded data to be encoded exceeds the predetermined code amount. In this embodiment, the processing operation of each functional unit up to this detection is referred to as a first pass, and the processing operation of each functional unit after this detection is referred to as a second pass. When it is detected that the data amount of the encoded data exceeds a predetermined code amount, the encoding stop determination unit 74 performs two-dimensional Huffman encoding in which an encoding stop signal indicating that the encoding output should be stopped is connected to the output 128 Supply to part 56. In this case, the encoding stop determination unit 74 outputs a stop signal indicating that encoding has been stopped to the output 138 to which the blocking unit 50 and the overall code amount calculation unit 76 are connected. In response to the stop signal 138, the blocking unit 50 stops reading image data. Blocking unit 50 that has stopped reading recognizes the read address of the image data when reading is stopped, and outputs this read address to output 140 to which overall code amount calculation unit 76 is connected.
[0041]
The overall code amount calculation unit 76 is a circuit that predicts the overall code amount when the encoding of image data is continued without stopping the encoding. In the present embodiment, the overall code amount calculation unit 76 predicts the overall code amount by calculation based on the address value of the image data when the two-dimensional Huffman encoding unit 56 stops encoding. Specifically, the total code amount calculation unit 76 detects an address signal supplied from the blocking unit 50 to the input 140 in response to a stop signal from the encoding stop determination unit 74 input to the input 138. The total code amount calculation unit 76 obtains the ratio of the activity to the entire original image from the detected address value, and based on this, calculates the overall activity corresponding to the original image, thereby encoding the original image data The total code amount is calculated and notified to the quantization coefficient setting unit 66 connected via the connection line 142. The quantization coefficient setting unit 66 sets the quantization coefficient for the second pass based on the overall code amount.
[0042]
The operation of the digital still camera 20 in the present embodiment having the above configuration will be described below with reference to FIG. First, the operator presses a release button (not shown) of the operation unit 32 to photograph a desired scene image. As a result, the object scene is imaged by the imaging unit 14 of the camera to form an analog RGB color video signal, and this video signal is converted into image data representing a luminance signal and a color difference signal. These image data are output to the output 110 after being subjected to signal processing such as correction processing. The image data output from the imaging unit 14 is stored in the frame memory 18 via the memory control unit 16 and used as original image data. The image data stored in the frame memory 18 is supplied to the reproduction unit 26, and a still image represented by the image data is displayed on the display screen of the small display device 28.
[0043]
Here, when an operation for recording the still image on the memory card 24 is detected by the operation unit 32 and recognized by the overall control unit 30, a control signal for controlling each unit is output to the output 112 of the overall control unit 30. Is done. As a result, the memory control unit 16, the data compression / decompression unit 20, and the memory card 24 move to an image data recording operation. In addition, for example, even if there is no operation on the operation unit 32, when the image data is stored in the frame memory 18 by shooting, the overall control unit 30 may control the image data recording operation to start. Good.
[0044]
The image data stored in the frame memory 18 in step 600 shown in FIG. 6 is read in accordance with a storage control signal such as an address signal and a read control signal supplied from the memory control unit 16, and a data compression / decompression unit It is input to 20 inputs 102. At this time, the original image data is thinned out under the control of the memory control unit 16 of the blocking unit 50 of the data compression / decompression unit 20, and the reduced reduced image data is divided into blocks of 8 × 8 pixels. Read for each block. Next, the process proceeds to step 602, and the reduced image data that has been reduced and blocked is sequentially supplied to the block activity calculator 60 via the connection line 106, and the activity for each block in the reduced image data is calculated.
[0045]
In step 604, the block activities calculated by the block activity calculation unit 60 are sequentially added by the addition processing unit 62 to calculate the total block activity value for one screen of the reduced image data. The calculated total value is supplied to the total activity calculation unit 64 via the connection line 122, and the predicted value of the total activity corresponding to the original image data stored in the frame memory 18 is calculated.
[0046]
In step 606, the predicted total activity is supplied to the quantization coefficient setting unit 66 and the bit allocation calculation unit 70 via the connection line 124, and is based on the predicted value of the total activity supplied to the quantization coefficient setting unit 66. Thus, the quantization coefficient is set by the lookup table 67.
[0047]
On the other hand, the original image data stored in the frame memory 18 is divided and read out every 8 × 8 pixels, and is input from the blocking unit 50 to the two-dimensional orthogonal transform unit 52 via the connection line 108. In step 608, the image data for each block input to the two-dimensional orthogonal transform unit 52 is subjected to discrete cosine transform for each block, and the transform coefficients obtained as a result of the transformation are in the order of low frequency components to high frequency components. The data is supplied to the normalization unit 54 in units of blocks.
[0048]
In the normalizing unit 54, the portion below the predetermined threshold value of the transform coefficient for each block input to the input 110 is truncated. The truncated transform coefficient is set by the quantization coefficient setting unit 66 and divided by the quantization coefficient. The quantized data of the normalized transform coefficient is supplied to the two-dimensional Huffman encoding unit 56 and encoded. The encoded data is output to its outputs 104 and 126.
[0049]
At this time, the block activity calculated in step 602 is supplied to the block activity interpolation unit 68, and the activity in each block when the entire original image data is blocked is calculated, and the block corresponding to the calculated original image The activity is supplied to the bit allocation calculation unit 70 via the connection line 130. The total activity calculated by the total activity calculation unit 64 is input to the input 124 of the bit allocation calculation unit 70, and the bit allocation calculation unit 70 calculates the number of encoded bits allocated to each block of the original image. Is done. The calculated number of encoded bits is supplied to the encoding stop determination unit 74 corresponding to the quantized data for each block input to the two-dimensional Huffman encoding unit 56. In the two-dimensional Huffman encoding unit 56, the quantized data supplied from the normalization unit 54 is encoded.
[0050]
The encoded data encoded by the two-dimensional Huffman encoding unit 56 is input to the input 126 of the code amount counting unit 72, and the number of bits of the input encoded data is sequentially added. Thereby, the code amount of the encoded data is counted. The counted code amount is supplied to the code amount stop determination unit 74 via the connection line 136.
[0051]
At this time, the code amount of the encoded data input to the input 136 of the encoding stop determination unit 74, that is, the number of bits incremental Based on the above, the bit allocation calculation unit 70 Distribution It is detected that the number of encoded bits exceeds the number of encoded data bits (code length). Then An encoding stop signal for stopping the encoding process in the two-dimensional Huffman encoding unit 56 is output to the output 128, and the encoding process for the block is aborted. This limits the code length of the encoded data.
[0052]
Next, proceeding to step 610, based on the accumulation of the number of bits input to the input 136, the encoding stop determination unit 74 detects whether or not the number of bits of the encoded data exceeds a predetermined code amount, and the code amount If the accumulated value is equal to or less than the predetermined code amount, the process proceeds to step 612 to determine whether there is a next block to be encoded. If there is a block to be encoded next, the output 132 of the encoding stop determination unit 74 The bit allocation calculation unit 70 considers this surplus bit and performs bit allocation for the next block, and then returns to step 608 to perform the encoding process for that block in the same manner as described above. Done. In step 612, if all blocks have been encoded, the compression encoding process in the data compression / decompression unit 20 ends.
[0053]
In step 610, if the result of detection by the encoding stop determination unit 74 indicates that the cumulative value of the code amount exceeds the predetermined code amount, the first pass ends and the process proceeds to step 614.
[0054]
In step 614 of the second pass, when it is detected that the code amount of the encoded data input to the input 136 of the encoding stop determination unit 74, that is, the accumulated number of bits exceeds a predetermined code amount, the two-dimensional Huffman is detected. An encoding stop signal for stopping the encoding in the encoding unit 56 is output to the output 128 of the encoding stop determination unit 74 to stop the encoding. Further, the stop signal is output to the output 138, and the blocking unit Reading of the image data at 50 is stopped.
[0055]
Next, the process proceeds to step 616, and the stop signal 138 output from the encoding stop determination unit 74 is also supplied to the overall code amount calculation unit 76. The entire code amount calculation unit 76 receives the address signal supplied from the blocking unit 50, and from this address, encoding is continued in the first pass and the entire image data is encoded. Is calculated and the process proceeds to step 618.
[0056]
In step 618, when the original image data is compression-encoded based on the entire code amount calculated by the entire code amount calculation unit 76, a quantization coefficient that becomes a predetermined code amount is set as a quantization coefficient. Set in part 66. After the quantization coefficient is calculated, the same processing as the compression encoding process in step 608 described above is performed on the basis of this quantization coefficient, and the image data stored in the frame memory 18 is sequentially blocked. , Two-dimensional orthogonal transformation, normalization, and two-dimensional Huffman coding are performed, and encoded data corresponding to the number of bits allocated to each block is output from the two-dimensional Huffman coding unit 56, that is, The data is output to the output 104 of the data compression / decompression unit 20.
[0057]
The encoded data output to the output 104 of the data compression / decompression unit 20 is supplied to the memory card 24 via the connector 22 and is encoded based on the storage control signal output to the output 112 of the overall control unit 30. Data is written to a predetermined storage area of the memory card 24. When the writing of data to the memory card 24 is normally completed, the display unit 34 displays a visual display and an audible display such as a display that informs the operator of the normal end and a display that prompts the next shooting under the control of the overall control unit 34. Do.
[0058]
As described above, the data compression / decompression unit 20 in the above-described embodiment uses partial data of the entire image obtained by reducing the original image data, instead of all the data of the image data stored in the frame memory 18. Then, the total activity calculated from the partial data is calculated, and encoding processing such as quantization coefficient setting processing and bit allocation processing and code amount control are performed based on the total activity. Therefore, in particular, it is not necessary to read out all image data for one screen in order to calculate each block activity of the entire screen, and therefore the processing time for calculating the block activity is shortened. In this case, the processing time can be shortened according to the thinning rate, that is, the degree of reduction.
[0059]
Conventionally, since the feature amount (activity) of the image is obtained from the image data of one screen of the original image data, it takes about twice as much processing time as when the code amount control is not performed. However, in the present invention, the block activity is calculated using a part of the original image data for one screen, so that an increase in processing time can be prevented. This is particularly effective when, for example, high pixel density image data captured by a high pixel density type image sensor having a large amount of information of image data is processed.
[0060]
As described above, according to the present invention, when two-pass code amount control is performed to generate encoded data limited to a predetermined code amount from image data, the processing time for compressing and encoding the image data can be shortened. Thus, it is possible to shorten the time until the image data representing the still image stored in the frame memory 18 is processed and written to the memory card 24. As a result, it is possible to provide a compression encoding apparatus that has a shorter processing time than conventional ones. When the data compression / decompression unit 20 capable of high-speed processing is installed in the camera, the operator can take the captured image data without being aware of the processing time for compression encoding of the image data. 24, so that the next frame can be taken quickly.
[0061]
In the above embodiment, the blocking unit 50 is configured to read out the reduced image data obtained by thinning out the pixels for each block. However, the present invention is not limited to this. For example, as shown in FIG. 50 is configured to divide the original image data stored in the frame memory 18 into predetermined blocks, read out the divided blocks, and partially segment the image data, and read out the blocks at predetermined intervals. May be.
[0062]
In this case, the blocking unit 50 creates the block image data 700 as conceptually shown in the figure, and among these image data in units of blocks, for example, 1 indicated by hatching in the figure The image data for each block at the block interval is output to the output 106. Further, the blocking unit 50 divides the image data stored in the frame memory 18 into predetermined blocks as in the above embodiment, and creates the blocked image data 702 conceptually shown in FIG. The image data for each block is output to the output 108. The block interval described above is not limited to one block interval, and may be any interval such as 2, 3, 4, 5 or 6 block intervals.
[0063]
When the blocking unit 50 is configured in this way, the block activity activity calculating unit 64 calculates the block activity for each block based on the image data of each block input to the input 106. The calculated block activities are sequentially added by the addition processing unit 62 and input to the input 122 of the total activity calculation unit 64. The total activity calculation unit 64 calculates the sum of block activities corresponding to the original image data stored in the frame memory 18, that is, the total activity, from the sum of the block activities calculated from the image data for each block read out. calculate. Further, the block activity interpolation unit 68 inputs the block activity corresponding to each discrete block calculated by the block activity calculation unit 60, whereby the block activity interpolation unit 68 receives the block activity corresponding to the block image data 108. Calculate block activity.
[0064]
7 may be used together with the reduction function of the blocking unit 50 shown in FIG. Specifically, the blocking unit 50 reduces the image data as described above, and divides the generated reduced image data for each block. Further, the blocking unit 50 reads out the data for each of the divided blocks, and outputs the read-out reduced image data of the blocks to the output 106. In such a blocking unit 50, the reduced block function for blocking the reduced image data obtained by thinning the original image data and the read function for reading the original image data in blocks are switched and switched. May be selected, or the two functions may be used in combination and utilized together. In this case, the processing time can be further shortened.
[0065]
【The invention's effect】
As described above, according to the present invention, since the quantization coefficient for compressing and encoding the image data is created based on the partial data excluding the predetermined portion of the image data, the image data is compressed and encoded. The processing time for creating encoded data can be shortened.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a data compression / decompression unit in the digital still camera of the embodiment shown in FIG. 2;
FIG. 2 is a block diagram showing an embodiment of a digital still camera to which the present invention is applied.
3 is a diagram conceptually showing image data read from the frame memory shown in FIG. 2. FIG.
FIG. 4 is a diagram showing zigzag scanning in the normalization unit shown in FIG. 1;
FIG. 5 is a diagram showing input / output characteristics of a quantization table in the quantization coefficient setting unit shown in FIG. 1;
FIG. 6 is a flowchart showing a compression encoding operation of image data at the time of photographing by the digital still camera shown in FIG.
7 is a diagram conceptually showing image data when the block image data is read out from the frame memory shown in FIG.
[Explanation of symbols]
20 Digital still camera
50 Blocking part
52 Two-dimensional orthogonal transformation unit
54 Normalization part
56 Two-dimensional Huffman coding unit
60 Block activity calculator
62 Addition processing section
64 Total activity calculator
66 Quantization coefficient setting section
68 Block activity interpolation unit
70-bit allocation calculator
72 Code amount count section
74 Coding stop judgment unit
76 Total code amount calculation unit

Claims (14)

1つの画面を構成するディジタルの画像データについて直交変換し符号化する符号化方法において、該方法は、
前記画像データの所定部分を除いた部分的なデータに基づいて前記画像データを圧縮符号化する第1の工程と、
第1の工程が継続されて、前記符号化データの符号量が所定の符号量を超えるに際して前記画像データの圧縮符号化を停止し、該停止した際の画像データのアドレスに基づいて、前記画像データを圧縮符号化する第2の工程とを含み、
該第2の工程は、前記画像データを圧縮符号化するための量子化係数を前記アドレスに基づいて算出し、該算出された量子化係数に基づいて前記画像データを圧縮符号化することを特徴とする画像データ圧縮符号化方法。
In an encoding method for orthogonally transforming and encoding digital image data constituting one screen, the method includes:
A first step of compressing and encoding the image data based on partial data excluding a predetermined portion of the image data;
When the first step is continued and the code amount of the encoded data exceeds a predetermined code amount, the compression encoding of the image data is stopped, and the image data is based on the address of the image data at the time of the stop. A second step of compressing and encoding the data,
In the second step, a quantization coefficient for compressing and encoding the image data is calculated based on the address, and the image data is compression encoded based on the calculated quantization coefficient. An image data compression encoding method.
請求項1に記載の符号化方法において、
前記第1の工程は、前記画像データの部分的なデータから前記画像データを圧縮符号化するための第1の量子化係数を算出し、
該算出された第1の量子化係数に基づいて前記画像データを第1の圧縮符号化し、
前記第2の工程は、前記第1の工程にて符号化された符号化データが所定の符号量を超えるに際して、前記画像データの第1の圧縮符号化を停止し、
前記第1の圧縮符号化を停止した際の画像データのアドレスに基づいて全体の符号量を算出し、
該全体の符号量に基づいて、前記画像データを前記所定の符号量以内に圧縮符号化するための第2の量子化係数を算出し、
該第2の量子化係数に基づいて前記画像データを第2の圧縮符号化して、所定の符号量に制限された符号化データを出力することを特徴とする画像データ圧縮符号化方法。
The encoding method according to claim 1,
The first step calculates a first quantization coefficient for compressing and encoding the image data from partial data of the image data,
A first compression-encoding of the image data based on the calculated first quantization coefficient;
The second step stops the first compression encoding of the image data when the encoded data encoded in the first step exceeds a predetermined code amount,
Calculating the entire code amount based on the address of the image data when the first compression encoding is stopped;
Based on the overall code amount, a second quantization coefficient for compressing and encoding the image data within the predetermined code amount is calculated,
An image data compression encoding method, wherein the image data is second compression encoded based on the second quantization coefficient, and encoded data limited to a predetermined code amount is output.
請求項1に記載の符号化方法において、前記第1の工程は、前記画像データを所定の画素ごとに分割した所定のブロックごとのデータであって、前記画像データに対して部分的なデータを読み出す部分化工程を含むことを特徴とする画像データ圧縮符号化方法。2. The encoding method according to claim 1, wherein the first step is data for each predetermined block obtained by dividing the image data for each predetermined pixel, and partial data is obtained with respect to the image data. A method of compressing and encoding image data, comprising a partializing step of reading. 請求項3に記載の符号化方法において、前記部分化工程は、前記画像データを部分的に間引きし、該間引きされた縮小画像データを所定の画素ごとの複数のブロックに分割し、該分割したブロックを読み出すことによって、前記画像データの部分的なデータを読み出すことを特徴とする画像データ圧縮符号化方法。4. The encoding method according to claim 3, wherein in the partialization step, the image data is partially thinned out, and the thinned reduced image data is divided into a plurality of blocks for each predetermined pixel. A method of compressing and encoding image data, wherein partial data of the image data is read by reading a block. 請求項3に記載の符号化方法において、前記部分化工程は、前記画像データを所定の画素ごとの複数のブロックに分割し、該分割したブロックのとびとびのブロックを読み出すことによって、前記画像データの部分的なデータを読み出すことを特徴とする画像データ圧縮符号化方法。4. The encoding method according to claim 3, wherein the partializing step divides the image data into a plurality of blocks for each predetermined pixel, and reads out the discrete blocks of the divided blocks. An image data compression encoding method characterized by reading partial data. 請求項3に記載の符号化方法において、前記部分化工程は、前記画像データを部分的に間引きし、該間引きされた縮小画像データを所定の画素ごとの複数のブロックに分割し、該分割したブロックのとびとびのブロックを読み出すことによって前記画像データの部分的なデータを読み出すことを特徴とする画像データ圧縮符号化方法。4. The encoding method according to claim 3, wherein in the partialization step, the image data is partially thinned out, and the thinned reduced image data is divided into a plurality of blocks for each predetermined pixel. A method of compressing and encoding image data, wherein partial data of the image data is read out by reading out the blocks. 1つの画面を構成するディジタルの第1の画像データについて直交変換し符号化する画像データ圧縮符号化装置において、該装置は、
前記第1の画像データを複数のブロックに分割するブロック化手段と、
該ブロック化手段にて前記ブロックに分割された画像データのそれぞれを所定の直交変換方式にて変換する直交変換手段と、
該直交変換手段にて変換された画像データをそれぞれのブロックの特徴に応じた量子化係数に基づいて量子化する量子化手段と、
該量子化手段にて量子化された画像データを所望の符号化方式にて符号化して符号化データを作成する符号化手段と、
前記ブロックに分割された画像データのそれぞれのブロックの特徴量を表わすアクティビティを算出するブロックアクティビティ算出手段と、
前記アクティビティの総和を表わす総アクティビティを算出する総アクティビティ算出手段と、
前記総アクティビティに基づいて、前記直交変換手段にて変換された画像データを量子化するための第1の量子化係数を前記量子化手段に設定する量子化係数設定手段と、
前記符号化手段にて作成された符号化データの符号量に基づいて、前記量子化された画像データの符号化を停止させる符号化停止手段と、
該符号化停止手段により符号化が停止された際の前記画像データのアドレスから前記画像データの全体の符号量を算出する全体符号量算出手段とを有し、
前記ブロック化手段は、
前記第1の画像データを複数のブロックに分割した第2の画像データであって、前記第1の画像データに対して部分的なデータに対応する第2の画像データを作成し、該作成した第2の画像データをブロックごとに前記ブロックアクティビティ算出手段に供給し、
前記第1の画像データを複数のブロックに分割した第3の画像データを前記直交変換手段に供給し、
前記ブロックアクティビティ算出手段は、前記ブロック化手段から供給された第2の画像データのそれぞれのブロックに対応するアクティビティを算出し、
前記量子化係数設定手段は、前記全体符号量算出手段にて算出された前記全体の符号量に基づいて、前記直交変換手段にて変換された画像データを量子化するための第2の量子化係数を前記量子化手段に設定し、
前記量子化手段は、第2の量子化係数に基づいて前記直交変換手段にて変換された画像データを量子化し、
前記符号化手段は、第2の量子化係数に基づいて量子化された画像データを符号化することを特徴とする画像データ圧縮符号化装置。
In an image data compression encoding apparatus for orthogonally transforming and encoding digital first image data constituting one screen, the apparatus includes:
Blocking means for dividing the first image data into a plurality of blocks;
Orthogonal transform means for transforming each of the image data divided into the blocks by the blocking means by a predetermined orthogonal transform method;
Quantization means for quantizing the image data transformed by the orthogonal transformation means based on a quantization coefficient corresponding to the feature of each block;
Encoding means for encoding the image data quantized by the quantization means by a desired encoding method to create encoded data;
Block activity calculating means for calculating an activity representing a feature amount of each block of the image data divided into the blocks;
A total activity calculating means for calculating a total activity representing the sum of the activities;
Based on the total activity, a quantization coefficient setting means for setting a first quantization coefficient for quantizing the image data transformed by the orthogonal transform means in the quantization means;
Encoding stop means for stopping the encoding of the quantized image data based on the code amount of the encoded data created by the encoding means;
An overall code amount calculating means for calculating the entire code amount of the image data from the address of the image data when the encoding is stopped by the encoding stop means,
The blocking means includes
Second image data obtained by dividing the first image data into a plurality of blocks, the second image data corresponding to partial data is created for the first image data, and the created Supplying the second image data to the block activity calculating means for each block;
Supplying third image data obtained by dividing the first image data into a plurality of blocks to the orthogonal transform unit;
The block activity calculating means calculates an activity corresponding to each block of the second image data supplied from the blocking means;
The quantization coefficient setting means includes a second quantization for quantizing the image data converted by the orthogonal transform means based on the overall code quantity calculated by the overall code quantity calculation means. A coefficient is set in the quantization means;
The quantization means quantizes the image data transformed by the orthogonal transformation means based on a second quantization coefficient,
The image data compression encoding apparatus, wherein the encoding means encodes image data quantized based on a second quantization coefficient.
請求項7に記載の画像データ圧縮符号化装置において、前記ブロック化手段は、前記1つの画面を構成する第1の画像データを間引きした縮小画像データを所定の画素ごとの複数のブロックに分割し、該分割されたブロックごとの画像データを前記ブロックアクティビティ算出手段に供給することを特徴とする画像データ圧縮符号化装置。8. The image data compression encoding apparatus according to claim 7, wherein the blocking unit divides reduced image data obtained by thinning out the first image data constituting the one screen into a plurality of blocks for each predetermined pixel. An image data compression encoding apparatus, wherein the image data for each divided block is supplied to the block activity calculation means. 請求項7に記載の画像データ圧縮符号化装置において、前記ブロック化手段は、前記前記1つの画面を構成する第1の画像データを、所定の画素ごとの複数のブロックに分割し、該分割されたブロックごとの画像データをとびとびに読み出して前記ブロックアクティビティ算出手段に供給することを特徴とする画像データ圧縮符号化装置。8. The image data compression encoding apparatus according to claim 7, wherein the blocking unit divides the first image data constituting the one screen into a plurality of blocks for each predetermined pixel. An image data compression encoding apparatus, wherein the image data for each block is read out and supplied to the block activity calculation means. 請求項7に記載の画像データ圧縮符号化装置において、前記ブロック化手段は、前記1つの画面を構成する第1の画像データを間引きした縮小画像データを所定の画素ごとの複数のブロックに分割し、該分割されたブロックごとの画像データをとびとびに読み出して前記ブロックアクティビティ算出手段に供給することを特徴とする画像データ圧縮符号化装置。8. The image data compression encoding apparatus according to claim 7, wherein the blocking unit divides reduced image data obtained by thinning out the first image data constituting the one screen into a plurality of blocks for each predetermined pixel. An image data compression-encoding apparatus, wherein the image data for each divided block is read out and supplied to the block activity calculation means. 請求項7に記載の画像データ圧縮符号化装置と、
被写界を撮像して前記1つの画面を構成するディジタルの第1の画像データを生成する撮像手段と、
前記画像データ圧縮符号化装置にて生成された符号化データを出力する出力手段と、
前記撮像手段における撮影を制御する制御手段とを備えたことを特徴とするディジタルカメラ。
An image data compression encoding device according to claim 7,
Imaging means for imaging the object scene and generating digital first image data constituting the one screen;
Output means for outputting encoded data generated by the image data compression encoding device;
A digital camera comprising control means for controlling photographing in the imaging means.
請求項11に記載のディジタルカメラにおいて、前記出力手段は、前記画像データ圧縮符号化装置にて符号化された符号化データを蓄積するデータ記憶手段を着脱可能に接続する接続手段を含み、
前記制御手段は、前記撮像手段にて生成された第1の画像データを前記画像データ圧縮符号化装置にて圧縮符号化させ、符号化された符号化データを前記データ記憶手段に記憶させる制御を行なうことを特徴とするディジタルカメラ。
12. The digital camera according to claim 11, wherein the output means includes connection means for detachably connecting data storage means for storing encoded data encoded by the image data compression encoding apparatus,
The control means controls the first image data generated by the imaging means to be compressed and encoded by the image data compression encoding device, and the encoded encoded data is stored in the data storage means. A digital camera characterized by performing.
請求項12に記載のディジタルカメラにおいて、前記データ記憶手段は、半導体記憶素子にて構成されたメモリカードであることを特徴とするディジタルカメラ。13. The digital camera according to claim 12, wherein the data storage means is a memory card composed of a semiconductor storage element. 請求項11に記載のディジタルカメラにおいて、該カメラは、前記撮像手段にて撮像された第1の画像データが表わす画像を処理して表示する表示手段を備えたことを特徴とするディジタルカメラ。12. The digital camera according to claim 11, further comprising display means for processing and displaying an image represented by the first image data picked up by the image pickup means.
JP10512194A 1994-05-19 1994-05-19 Image data compression encoding method and apparatus Expired - Fee Related JP3795932B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10512194A JP3795932B2 (en) 1994-05-19 1994-05-19 Image data compression encoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10512194A JP3795932B2 (en) 1994-05-19 1994-05-19 Image data compression encoding method and apparatus

Publications (2)

Publication Number Publication Date
JPH07312751A JPH07312751A (en) 1995-11-28
JP3795932B2 true JP3795932B2 (en) 2006-07-12

Family

ID=14398979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10512194A Expired - Fee Related JP3795932B2 (en) 1994-05-19 1994-05-19 Image data compression encoding method and apparatus

Country Status (1)

Country Link
JP (1) JP3795932B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7463684B2 (en) * 2002-05-03 2008-12-09 Microsoft Corporation Fading estimation/compensation
US7277486B2 (en) 2002-05-03 2007-10-02 Microsoft Corporation Parameterization for fading compensation
US7609767B2 (en) 2002-05-03 2009-10-27 Microsoft Corporation Signaling for fading compensation
JP4118766B2 (en) 2003-08-25 2008-07-16 株式会社リコー Imaging apparatus and imaging method
US8009739B2 (en) 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
JP4359773B2 (en) * 2004-06-22 2009-11-04 ソニー株式会社 Image compression processing apparatus, image compression processing method, and image compression processing program
JP6123691B2 (en) * 2014-01-31 2017-05-10 株式会社ソシオネクスト Image processing apparatus, image processing method, and imaging apparatus

Also Published As

Publication number Publication date
JPH07312751A (en) 1995-11-28

Similar Documents

Publication Publication Date Title
JP3012698B2 (en) Image data encoding apparatus and encoding method
US5291282A (en) Image data coding apparatus and method capable of controlling amount of codes
JP4350809B2 (en) Digital camera
JP3085465B2 (en) Image data encoding apparatus and encoding method
JP3093233B2 (en) Image encoding apparatus and method
JP3069455B2 (en) Quantization and dequantization circuits in image data compression and decompression equipment
KR100504649B1 (en) Device for compressing image data
JPH0832037B2 (en) Image data compression device
JP3795932B2 (en) Image data compression encoding method and apparatus
EP1173026B1 (en) A method of compressing digital images
JP2959831B2 (en) Image data encoding device
US6222943B1 (en) Image reading, processing and recording with quick data compression
JP4430731B2 (en) Digital camera and photographing method
JP3144727B2 (en) Digital electronic still camera
JP3034933B2 (en) Image data recording device
JP3076081B2 (en) Image signal processing device
JP3192133B2 (en) Electronic camera device
JP3038022B2 (en) Electronic camera device
US7120304B2 (en) Image data compressing apparatus
JP7256629B2 (en) Image encoding device and its control method and program
JP3055954B2 (en) Electronic still camera
KR100210439B1 (en) Compression control method for a digital camera
KR100402926B1 (en) Compression control method of digital camera
JPH07212757A (en) Picture compression coder
JPH06141215A (en) Digital electronic still camera

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050629

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050804

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: 20060322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060414

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110421

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees