JP3919426B2 - 画像符号化装置及びその方法並びに記憶媒体 - Google Patents
画像符号化装置及びその方法並びに記憶媒体 Download PDFInfo
- Publication number
- JP3919426B2 JP3919426B2 JP2000211796A JP2000211796A JP3919426B2 JP 3919426 B2 JP3919426 B2 JP 3919426B2 JP 2000211796 A JP2000211796 A JP 2000211796A JP 2000211796 A JP2000211796 A JP 2000211796A JP 3919426 B2 JP3919426 B2 JP 3919426B2
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- storage
- image data
- image
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Television Signal Processing For Recording (AREA)
Description
【発明の属する技術分野】
本発明は符号化装置及び方法及び記憶媒体、例えば、デジタルカメラに代表される画像データを生成および複数枚数の画像データを蓄積可能な装置等の、符号化装置及び方法及び記憶媒体に関するものである。
【0002】
【従来の技術】
現在、多くのデジタルカメラが商品化されており、それらは複数枚数の画像データの記録蓄積を目的とした不揮発性記憶手段として、その装置内に不揮発性の半導体メモリあるいは磁気ディスク等を備えている。
【0003】
多くのデジタルカメラに具備されているCCD等の固体撮像素子が生成するデジタル画像データはそのデータ量が極めて大きいため、通常は伸張復元時に明らかに視認できない、つまり、歪みが無い程度に、撮像した原画像データに圧縮符号化処理を施してから上記不揮発性記憶手段に記録蓄積される。
【0004】
デジタル画像データの圧縮符号化処理の代表的な手法のひとつに、ブロック分割、直交変換さらには可変長符号を用いたエントロピー符号化を組み合わせた圧縮符号化手法が知られている。
【0005】
この代表的な圧縮符号化手法では、一画面のデジタル原画像データを所定の大きさの複数の矩形ブロックに分割し、ブロック毎に2次元直交変換係数を求め、次に周波数座標系に並び直された直交変換係数を人間の視覚特性に基づいた量子化係数によって除算および量子化し、この量子化された直交変換係数のシーケンスに所定の可変長符号を割り当てることによって、最終的な結果として圧縮符号化された画像データを生成する。
【0006】
しかし、上記圧縮符号化処理に要する演算回数は莫大なものである。このような圧縮符号化処理を汎用プロセッサ上のプログラムで実現する場合、あるいは専用のハードウェアによって実現する場合のいずれであっても、その演算処理速度を高める目的で、DRAM等の高速に読み出しおよび書き込み動作が可能な一時記憶手段を用いるのが一般的である。
【0007】
この一時記憶手段上には、撮像素子から入力される原画像データ、直交変換係数に代表される演算の途中結果、そして圧縮符号化処理の結果として得られる圧縮符号化データが、それぞれ専用に割り当てられた領域に一時的に格納される。
【0008】
上記の圧縮符号化処理が終了した後、結果として一時記憶手段上に展開された圧縮符号化データは、最終的な記録蓄積を目的とした前記不揮発性記憶手段に転送され格納される。これによって一連の撮影動作が終了し、ふたたび次の画像の撮影動作が開始できる状態に戻ることになる。
【0009】
当然ながら、コストの観点から多くのデジタルカメラでは、この一時記憶手段の総容量は必要最低限に設定される。常に固定容量の領域を必要とする原画像データと演算の途中結果に対しては、それぞれ相当する固定容量の一時記憶手段上の領域が割り当てられる。
【0010】
一方、可変長となる圧縮符号化データに対しては、ある程度充分なデータ長と想定される容量の一時記憶手段上の領域が割り当てられる。
【0011】
上記可変長の圧縮符号化データのデータ長は、撮像素子から入力される原画像データの周波数分布や偏りによって大きく変化し、同一パラメータを用いて圧縮符号化処理を施しても、原画像データの統計学的な性質によって、圧縮符号化データの大きさがばらついてしまうことが知られている。
【0012】
このような圧縮符号化処理を施すデジタルカメラにおいては、一般的に複数の撮影モード (圧縮符号化モード)が設けられている。すなわち、圧縮率が低く、多くの画像枚数を記録蓄積することはできないが、圧縮歪みの小さい高品質の画像データを記録蓄積できる撮影モード圧縮符号化モードと、比較的圧縮率が高く、多くの画像枚数を記録蓄積することはできるが、比較的圧縮歪みの大きい画像データを記録蓄積する撮影モード圧縮符号化モード等、の複数の撮影モード圧縮符号化モードが設けられ、それぞれのモードに応じた圧縮符号化処理を行うようにしている。
【0013】
上述した代表的な圧縮符号化手法において、同一の原画像データに対する圧縮率を容易に制御することが可能な代表的なパラメータは量子化係数の値である。この値が量子化処理内の除算における除数に相当することから、大きな量子化係数値で量子化することによって圧縮率を高くすること、また逆に小さな量子化係数値で量子化することによって圧縮率を低くすることができる。
【0014】
通常、デジタルカメラの操作者は、撮影動作の前に上記の複数の撮影モードの中からそのひとつを選択しておく。その際、操作者にとって必要な情報のひとつに、現在選択している撮影モード圧縮符号化モード及びその撮影モードで撮影・記録することができる画像の枚数がある。これは通常、不揮発性記憶手段の空き容量によって一意に決定され、一般にデジタルカメラに具備されたLCD等の情報表示手段に撮影モードの種別および撮影可能枚数その数値が表示される。
【0015】
デジタルカメラ内で行われる画像データの圧縮符号化処理に不可欠なことは、圧縮符号化された画像データのデータ量があらかじめ定められた範囲の上限値を超えないように圧縮符号化することである。データ量制御手段によってなされるこの制御によって、撮影可能な残り枚数として操作者に表示している数値を保証することが可能になる。
【0016】
また同時に、データ量制御手段は圧縮符号化された画像データのデータ量があらかじめ定められた範囲の下限値を下回らないように圧縮符号化することも必要とされる。データ量制御手段によってなされるこの制御によって、不必要に圧縮率が高く、圧縮歪みの大きい圧縮符号化データの生成を防ぐためである。
【0017】
従来のデジタルカメラにおいては、所望のデータ量の圧縮符号化データを得るために、一回目一画面を構成する画像データの一部に対するの圧縮符号化処理によって得られた圧縮符号化データのデータ量を基に、所望のデータ量を生成する量子化計数値係数値を予測算出し、その新たな量子化計数値係数値を用いて再度圧縮符号化処理を行なう手法、あるいは量子化係数値を毎回変更しながら所定の範囲内に圧縮符号化データのデータ量が収まるまで、何回も圧縮符号化処理を繰り返すといった手法、さらには圧縮符号化処理に先んじて、別途手段により定量的に求めた原画像データの統計学的な性質 (例えばブロック毎のアクティビティ) を用いて最適な量子化係数値を予測するといった手法、などがとられている。
【0018】
直交変換によって生成される直交変換係数は、後続の量子化演算とは独立で、同一の原画像データに対しては常に同じ直交変換係数値が生成される。したがって、一枚の原画像データに対して複数回の圧縮符号化処理を行なうような場合、一回目の圧縮符号化処理の際に生成された直交変換係数を一時記憶手段に格納し、二回目以降の圧縮符号化処理の際には、格納された直交変換係数を用いて、直交変換に関わる演算処理を省略する手法を用いると処理スピードの高速化に効果的である。
【0019】
しかしいずれの手法を採用した場合でも、可変長符号化の結果として得られる可変長の圧縮符号化データが、あらかじめ想定していたデータ量の上限値を超えてしまい、圧縮符号化処理の途中段階で圧縮符号化データが一時記憶手段上に割り当てられた領域のすべてを消費してしまう状況、すなわちオーバーフローが発生してしまう。特に一回目の符号化処理では所定の量子化係数を用いて圧縮符号化処理するので上記オーバーフローが発生しやすい。
【0020】
このような状況が発生した場合、多くのデジタルカメラでは、現在実行中の圧縮符号化処理を即座に中止し、量子化係数を一意的に現在より大きい値に変更して、ふたたび圧縮符号化処理をやり直すといった例外処理を行なっている。汎用プロセッサ上のプログラムによって、圧縮符号化処理を実現させているデジタルカメラの場合、一画面の原画像データを圧縮符号化するために要する処理時間は一般的に無視できるほど短くはない。従って、この時間が短いことが操作性を向上する上で重要になるが、その一方で、上記のように、それ以上継続しても意味の無い圧縮符号化処理を中止するといった例外処理も必要である。
【0021】
また、このような例外処理の発生自体を防ぐ目的で、コスト的には不利であるが、圧縮符号化データの理論上の上限値に相当する充分な大容量の一時記憶手段上の領域を最初から割り当てる方法も取られている。
【0022】
【発明が解決しようとする課題】
上記のように、可変長の圧縮符号化データに対する一時記憶手段上の領域の残容量が無くなった段階で、即座に圧縮符号化処理を中止してしまうと、その際に設定されていたパラメータ、すなわちその時の量子化係数値によって結果的に得られるはずだった圧縮符号化データの総データ量が不明なままで終わってしまう。
【0023】
従って、更新すべき量子化係数値の予測精度は当然悪くなり、こうして求めた量子化係数値に変更して、圧縮符号化処理をやり直しても、ふたたび一時記憶手段上の領域のすべてを消費してしまう状況(オーバーフロー)の発生や、不必要にデータ量が短い圧縮符号化データを生成してしまう(アンダーフロー)危険性は避けられない。
【0024】
また、上記従来例のごとく即座に圧縮符号化処理を中止してしまうと、直交変換係数の一時記憶手段への格納動作も途中で終わってしまうので、再度の圧縮符号化処理において、演算負荷の大きい直交変換演算処理から再開しなければならない。
【0025】
上述したような背景から本願発明の一つの目的は、符号化データを一時記憶する記憶手段のデータ記憶許容範囲を越えてしまう場合にも、より正確な情報に基づいて再度の圧縮符号化を行う際の最適なパラメータを得ることで、データ記憶許容範囲内でありながらも画質を優先させて圧縮符号化させることを可能ならしめる画像符号化装置及びその方法並びにその符号化プログラムが記憶された記憶媒体を提供しようとするものである。
【0026】
【課題を解決するための手段】
このため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを入力する入力手段と、
画像データをブロック単位に直交変換する直交変換手段と、
該直交変換手段で得られたブロックの周波数成分値を量子化する量子化手段と、
前記量子化手段によって量子化された前記ブロックに対応する周波数成分値を可変長符号化する符号化手段と、
前記符号化手段によって符号化された、前記ブロックに対応する符号化データ長を順次加算し、符号化処理中の合計符号長を検出する検出手段と、
前記符号化手段によって前記ブロック毎の符号化データが生成される度に、当該符号化データを記憶領域に記憶する記憶手段と、
前記検出手段によって検出された前記合計符号長が前記記憶領域の記憶許容範囲を越えるか否かを判断する判断手段と、
前記判断手段によって前記合計符号長が前記記憶領域の記憶許容範囲を越えていると判断した場合に、前記記憶手段の記憶動作を中止すると共に、前記符号化手段による符号化処理と前記検出手段による検出処理を、画像データ全体についての処理が完了するまで継続させ、当該完了時における前記検出手段の検出の結果に基づいて前記量子化手段で用いる量子化パラメータを設定する制御手段とを備える。
【0027】
また、本発明の画像符号化方法は以下の構成を備える。すなわち、
画像データを入力するステップと、
画像データをブロック単位に直交変換するステップと、
該直交変換工程で得られたブロックの周波数成分値をを量子化するステップと、
前記量子化された、前記ブロックに対応する周波数成分値を可変長符号化するステップと、
前記符号化された、前記ブロックに対応する符号化データ長を順次加算し、符号化処理中の合計符号長を検出するステップと、
前記ブロック毎の符号化データが生成される度に、当該符号化データをを記憶領域に記憶するステップと、
前記検出された前記合計符号長が前記記憶領域の記憶許容範囲を越えるか否かを判断するステップと、
前記合計符号長が記憶領域の記憶許容範囲を越えていると判断した場合に、前記記憶領域への記憶動作を中止すると共に、前記符号化処理と前記検出処理を画像データ全体についての処理が完了するまで継続させ、当該完了時における検出処理の結果に基づいて前記量子化処理で用いる量子化パラメータを設定するステップとを備える。
【0028】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0029】
図1は本発明に係る実施形態のデジタルカメラの構成を示すブロック図である。
【0030】
図1において、100は被写体を撮像し、画像データを出力する撮像部、101はバッファメモリ、101aはバッファメモリ101上の原画像データを記憶する原画像データ領域、101bはバッファメモリ101上の直交変換係数データを記憶する直交変換係数領域、101cはバッファメモリ101上の圧縮符号化データを記憶する圧縮符号化データ領域である。圧縮符号化データ領域101cに1画面分の符号化データが格納された後、所定の指示があると後述する記憶部115へ出力される。
【0031】
102は直交変換部、103は量子化部、104は可変長符号化部、105は圧縮符号化データ列出力部、106は圧縮符号化データ長カウンタ、107は格納領域上限値レジスタ、108は比較器、109はスケーリング値設定部、110はスケーリング値レジスタ、111は量子化係数テーブル、112は量子化係数スケーリング部である。
【0032】
113は記録部であり、記録部113には複数種の記憶媒体が装着できる。本実施形態ではメモリカード114、HD(ハードディスク)カード115が装着できる。尚、記録部113から装着されている記録媒体の種類及び残り記憶容量に関する記憶媒体情報が、後述するCPU117に出力されている。
【0033】
116は、電源スイッチ、撮影モード及び記録媒体の選択スイッチ、画像記録のためのレリーズスイッチ等を備える操作部、117は操作部116の設定状態及び記録部113からの記憶媒体情報により撮像部100、上限値レジスタ107、スケーリング値設定部109、量子化係数テーブル111、記録部113等を制御するCPUである。
【0034】
次に、上記のように構成されたデジタルカメラの画像記録処理の動作について、図2のフローチャートとともに説明する。
【0035】
まず、操作者が操作部116を用いてあらかじめ選択した撮影モードがCPU117によって確認される(ステップS101)。尚、本実施形態においては、設定できる撮影モードとして、圧縮率が低く、多くの画像枚数を記録蓄積することはできないが、圧縮歪みの小さい高品質の画像データを記録蓄積できる“高画質撮影モード”と、比較的圧縮率が高く、多くの画像枚数を記録蓄積することはできるが、比較的圧縮歪みの大きい画像データを記録蓄積する“標準画質撮影モード”を有する。
【0036】
次に、CPU117によって、量子化係数テーブル111に所定の量子化係数がセットされる(ステップS102)。
【0037】
本実施形態で用いられる量子化係数テーブル111の量子化係数の例としては図3に示すように配列されている。量子化処理の対象とするブロックが輝度成分を表わす場合は(a)の配列を用い、上記ブロックが色差成分を表わす場合は(b)の配列が用いられる。
【0038】
一組の量子化係数配列は8×8個の量子化係数で構成され、図3において右方向の係数ほど水平方向の空間周波数が高い直交変換係数に対応し、下方向の係数ほど垂直方向の空間周波数が高い直交変換係数に対応する。したがって、一番左上の量子化係数はブロック内でもっとも低い空間周波数成分、すなわち直流成分の直交変換係数の量子化に用いられ、また一番右下の量子化係数はブロック内でもっとも高い空間周波数成分の直交変換係数の量子化に用いられる。
【0039】
量子化係数は画像における高い空間周波数成分の入力特性が、低い空間周波数成分の入力特性に比べて低いという人間の視覚特性に基づいて、一般的に図3に示すように右下の量子化係数ほど大きな値が用いられている。
【0040】
次に、CPU117によってスケーリング値設定部109を制御し、スケーリング値レジスタ110に所定の一回目のスケーリング値がセットされる(ステップS103)。
【0041】
ここでセットされる一回目のスケーリング値は、前記ステップS101において確認された撮影モードのそれぞれに対応するスケーリング値が存在する。
【0042】
すなわち、高画質撮影モードが選択されている場合は高画質撮影用の初期スケーリング値が、一方、標準画質撮影モードが選択されている場合は前記高画質撮影用の初期スケーリング値とは異なる標準画質撮影モード用の初期スケーリング値がそれぞれ設定される。
【0043】
さらにCPU117によって、格納領域上限値レジスタ107に、バッファメモリ101上の圧縮符号化データ領域101cの容量に相当するバイト数がセットされる(ステップS104)。
【0044】
つぎに、操作部116に備わるレリーズスイッチがONされた否かを判断する(ステップS105)。レリーズスイッチがONされれば撮像部100により、ゲイン調整、ガンマ補正、ホワイト・バランス補正、CCDフィルタ・マトリックス補正、色空間変換操作等の必要な信号処理がなされた一画面分のデジタル原画像データをバッファメモリ101上の原画像データ領域101aに記憶する(ステップS106)。尚、バッファメモリ101上に設けられた原画像データ用領域101aは一画面分の原画像データを格納するのに充分な容量を有する。レリーズスイッチがONされなければ現状を維持する。
【0045】
レリーズスイッチがONされた場合、一回目の圧縮符号化シーケンスが開始される(ステップS107)。
【0046】
まず、直交変換部102ではバッファメモリ101上の原画像データ用領域101aから原画像データを8×8画素で構成される矩形ブロック単位に順次読み出し、離散コサイン変換に代表される2次元直交変換の演算を行い、周波数座標系に並び直された計64個の直交変換係数を順次出力するといった動作を、一画面分の原画像データに対する処理を終了するまで繰り返す。
【0047】
直交変換部102で生成されたブロック単位の直交変換係数は、量子化部103に順次供給されるとともに、バッファメモリ101上に設けられた直交変換係数用領域101bに順次格納される。
【0048】
直交変換係数用領域101bは一画面分の原画像データに対応するすべての直交変換係数を格納するのに充分な容量を有する。この格納された直交変換係数は、後述する二回目の圧縮符号化シーケンスに利用される。
【0049】
量子化係数スケーリング部112は、スケーリング値レジスタ110にステップS103でセットされたスケーリング値を読み出して、これを乗数とするとともに、量子化係数テーブル111から読み出したそれぞれの量子化係数を被乗数として乗算を行う。そして、その積の小数点以下を四捨五入して得られる値の整数部分をスケーリングされた量子化係数として、量子化部103に順次与える。
【0050】
本実施形態では、スケーリング値レジスタ110にセットされる、すなわち量子化係数スケーリング部112で用いられるスケーリング値は1/50から50/50までの50種類の値を設定することができる。小さな値が設定されるほど、スケーリング処理によって量子化係数テーブル111から読み出された量子化係数はより縮小される。
【0051】
スケーリング値の設定可能な最大値である50/50が設定された場合、スケーリング処理は1を乗じることと等価になるので、結果的に量子化係数テーブル111から読み出された量子化係数は変更されずに、そのままの値で量子化部103に入力される。
【0052】
量子化係数スケーリング部112の例外処理として、特に小さなスケーリング値が入力されたときに、小数点以下を四捨五入して得られた値の整数部分が0になってしまった場合は、例外として1をスケーリングされた量子化係数として出力する。これは後段の量子化部103において0による除算を避けるためである。
【0053】
量子化部103では、直交変換部101から順次入力されるブロック単位の直交変換係数を、量子化係数スケーリング部112から順次入力されるスケーリングされた量子化係数を用いて、量子化処理を連続的に施し、計64個の量子化された直交変換係数を可変長符号化部104に順次出力するといった動作を、一画面分の原画像データに対する処理を終了するまで繰り返す。
【0054】
量子化部103で行なう量子化処理は、入力される直交変換係数を被除数とし、入力されるスケーリングされた量子化係数を除数とする除算を行ない、その商の小数点以下を四捨五入して得られた値の整数部分を量子化された直交変換係数として、可変長符号化部104に出力するというものである。
【0055】
可変長符号化部104では、量子化部103から順次入力される64個の量子化された直交変換係数に、所定の可変長符号を割り当てるという符号化処理を連続的に施し、圧縮符号化データ列を出力するといった動作を、一画面分の原画像データに対する処理を終了するまで繰り返す。
【0056】
可変長符号化部104によって生成された圧縮符号化データ列は、圧縮符号化データ列出力部105に入力され、そこでバッファメモリ101上の圧縮符号化データ列用領域101cに順次格納されるべく圧縮符号化データの出力動作が連続的になされる。ただし、後述する比較器108から格納領域101cのすべてに格納したことの通知がされた場合は、データ出力部105は、その時点で即座にこの圧縮符号化データの圧縮符号化データ領域101cへの出力動作を中止し、領域101cを越えて格納されることを防ぐ。ただし、可変長符号化部104が継続して符号化処理を行わせるため、データ出力部105は可変長符号化部104に対してデータ受信可を示すステータス信号を出力し続ける。
【0057】
また、可変長符号化部104によって生成された圧縮符号化データ列は圧縮符号化データ長カウンタ106によってそのデータ長が例えば8ビット単位で順次計測され、一画面分の画像データに対する圧縮符号化処理が終了した時点では、圧縮符号化データ長カウンタ106には、S103においてスケーリング値レジスタ110にセットされた一回目のスケーリング値によって生成された圧縮符号化データ列の総バイト数が格納される。
【0058】
圧縮符号化データ長カウンタ106によって順次計数されたバイト数は比較器108に入力され、そこで格納領域上限値レジスタ107から読み出されたバッファメモリ101上の圧縮符号化データ領域101cの容量に相当するバイト数と順次比較される。
【0059】
圧縮符号化データ長カウンタ106によって順次計数されたバイト数が、格納領域101cの容量に相当するバイト数に到達すると、比較器108はその事象の発生を上記圧縮符号化データ列出力部105に通知する。圧縮符号化データ列出力部105では、その通知に応じて、即座に、現在の圧縮符号化データの出力動作を中止する。
【0060】
しかし、上記のように、圧縮符号化データ長カウンタ106によって順次計数されたバイト数が、格納領域101cの容量に相当するバイト数に到達してしまった場合であっても、直交変換部102による直交変換係数の生成および領域101bへの格納処理、量子化部103による直交変換係数の量子化処理、可変長符号化部104による圧縮符号化データの生成処理、さらに圧縮符号化データ長カウンタ106によるそのデータ長の計数処理までの一連の動作は、一画面分の画像データに対する処理が終了するまで、引き続き繰り返される。
【0061】
可変長符号化部104が一画面分の原画像データに対するすべての可変長符号化処理を終えた時点で、上記一回目の圧縮符号化シーケンスが終了する(ステップS107)。
【0062】
CPU117によって制御されるスケーリング値設定部109によって、圧縮符号化データ長カウンタ106からその内容、すなわち圧縮符号化データ列のバイト数が読み出される(ステップS108)。
【0063】
次に、この圧縮符号化データ列のバイト数が所定の許容範囲内であるか否かを判定する(ステップS109)。
【0064】
ステップS109で、バイト数が許容範囲内であると判定された場合は、撮影動作に伴う一連の圧縮符号化処理は終了し、記録部113で操作部116により選択された記録媒体に対応する誤り検出訂正符号化処理等を行って圧縮符号化データを記録媒体に記録する(ステップS110)。
【0065】
一方、ステップS109において、バイト数がそれぞれの撮影モードにおける許容範囲外であると判定された場合は、以下に述べる二回目の圧縮符号化シーケンスを開始すべく、その準備として新たなスケーリング値の予測を行う(ステップS111)。
【0066】
図4に実施形態におけるスケーリング値と圧縮符号化データ列のデータ長(データ量)との関係を示す(図示では、垂直軸の上方向ほど圧縮符号化データ長が長く、水平軸の右方向ほどスケーリング値は大きくなる)。
【0067】
図4において、実線で示される曲線は、現在の圧縮符号化処理による原画像データに対する圧縮符号化データ長とスケーリング値との関係を示している。その曲線の上下に点線で示す曲線は別の異なる原画像データに対する圧縮符号化データに相当するものである。
【0068】
図4からわかるように、画像データの持つ統計学的な性質、すなわち空間周波数的な分布や偏りによって、対応する曲線は上下にシフトするものの、曲線の形や単調減少関数という性質には違いが見られない。本実施形態ではこの性質を利用して最適な符号化量が得られるスケーリング値を算出している。
【0069】
これはスケーリング値とそれに対応する圧縮符号化データ列の長さの関係を示す曲線を、ある関数で近似でき、逆に所望の圧縮符号化データのバイト数を生み出すようなスケーリング値を、ある程度正確に予測算出できることを示している。
【0070】
本実施形態においては、ステップS103で設定した一回目のスケーリング値とステップS108で読み出した対応する圧縮符号化データ列のバイト数、つまり曲線上のある1点を得る。装置内には予め基本となる曲線の基本近似式をきおくしておき、上記求められた点を通過する曲線の近似式を前記基本近似式からも求める。その近似式から選択された撮影モードに対応する所定の許容範囲内に収まるような圧縮符号化データ列を生成できる新たなスケーリング値を算出する(ステップS111)。新たなスケーリング値は、圧縮符号化データ列が前記所定の許容範囲の上限値に最も近くなる値とする。
【0071】
また、上述したように近似式を生成するのではなく、図4に示すような曲線のデータを予め複数種類をルックアップテーブルとして用意しておき、1回目のスケーリング値とバイト数との関係から一番近い関係のテーブルを選択し、その選択テーブルに基づいて選択された撮影モードに対応する所定の許容範囲内に収まるスケーリング値を抽出するような方法でもよい。
【0072】
そして、CPU117によって制御されるスケーリング値設定部109によって、ステップS111で算出された新たなスケーリング値をスケーリング値レジスタ110にセットする(ステップS112)。
【0073】
新たなスケーリング値がスケーリング値レジスタ110にセットされると、二回目の圧縮符号化シーケンスが開始される(ステップS113)。
【0074】
量子化係数スケーリング部112はスケーリング値レジスタ110にステップS112でセットされた新たなスケーリング値を読み出して、一回目の圧縮符号化シーケンスと同様のスケーリング処理によって算出した値をスケーリングされた新たな量子化係数として、量子化部103に順次与える。
【0075】
量子化部103ではバッファメモリ101上の領域101bから既に計算済みのブロック単位の直交変換係数を順次読み出し、量子化係数スケーリング部112から順次入力されるスケーリングされた新たな量子化係数を用いて、同様の量子化処理を連続的に施し、計64個の量子化された新たな直交変換係数を可変長符号化部104に順次出力するといった動作を、一画面分の原画像データに対する処理を終了するまで繰り返す。
【0076】
可変長符号化部104では、量子化部103から順次入力される64個の量子化された新たな直交変換係数に、所定の可変長符号を割り当てるという同様の符号化処理を連続的に施し、新たな圧縮符号化データ列を出力するといった動作を、一画面分の原画像データに対する処理を終了するまで繰り返す。
【0077】
可変長符号化部104によって生成された新たな圧縮符号化データ列は、圧縮符号化データ列出力部105に入力され、そこでバッファメモリ101上の圧縮符号化データ列用領域101cに順次格納されるべく圧縮符号化データの同様な出力動作が連続的になされる。
【0078】
また、可変長符号化部104によって生成された新たな圧縮符号化データ列は圧縮符号化データ長カウンタ106によってそのデータ長が8ビット単位で順次計測され、一画面分の画像データに対する圧縮符号化処理が終了した時点では、圧縮符号化データ長カウンタ106には、ステップS112においてスケーリング値レジスタ110にセットされた二回目のスケーリング値によって生成された新たな圧縮符号化データ列の総バイト数が格納される。
【0079】
可変長符号化部104が一画面分の原画像データに対するすべての可変長符号化処理を終えた時点で、上記二回目の圧縮符号化シーケンスが終了する(ステップS113)。その後、ステップS108に戻る。
【0080】
こうしてバッファメモリ上の領域101cに格納され、そのバイト数が所定の許容範囲内に収まる圧縮符号化データが、圧縮符号化された画像データ・ファイルという形で、記録部113により記録媒体(メモリカード114、HDカード115)に記録される。
【0081】
以上説明してきた実施形態ではステップS103で設定した一回目のスケーリング値による圧縮符号化処理を一回目の圧縮符号化シーケンスで行ない、図4に示すようなスケーリング値とそれ対応する圧縮符号化データ列の長さの関係を表わす曲線上の1点を得て、1個の係数による関数式で曲線を近似していたが、2個の係数による関数式を用いてより正確な近似を行なうためには、2個のスケーリング値を用いた前述の実施形態と同様の拡張された構成で容易に可能である。
【0082】
また、複数の撮影モード (圧縮符号化モード) すなわち圧縮符号化データに対する許容範囲が複数個存在しても、ステップS103で設定した一回目のスケーリング値としてそれぞれの撮影モードに対応する値を選択することによって、圧縮符号化データを撮影モードに対応する許容範囲に収めることが可能である。
【0083】
なお、上記実施形態では、デジタルカメラに適用した例を説明したが、本発明はこれに限定されるものではない。つまり、記憶媒体に画像データの圧縮符号化して格納する際に、許容範囲を設けられる場合であれば適用できる。
【0084】
また、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、上記の如く一つの機器からなる装置に適用してもよい。
【0085】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0086】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0087】
以上述べてきたように、圧縮符号化処理によって生成された圧縮符号化データのデータ長が、一時記憶手段の特定領域を超えてしまった場合であっても、格納される予定であった圧縮符号化データのデータ長を知ることができるので、所定の許容範囲内に収まる圧縮符号化された画像データを生成する新たなスケーリング値をほぼ正確に予測することが可能になる。結果的に圧縮符号化された画像データの不揮発性メモリ上におけるメモリ管理、および正確な撮影可能な枚数を操作者に常に示すことが可能になる。
【0088】
さらに、圧縮符号化処理によって生成された圧縮符号化データのデータ長が、一時記憶手段の特定領域を超えてしまった場合であっても、直交変換係数の一時記憶手段への格納動作は一画面分の原画像データに対する処理を完遂しているので、二回目のシーケンスではその処理に比較的長い時間を要する直交変換の演算処理を省略し、一時記憶手段に格納されている直交変換係数を再利用することにより、一回目〜二回目を通した全体の圧縮符号化処理時間を短縮することが可能である。
【0089】
【発明の効果】
以上説明したように本発明によれば、画像データの符号長が許容範囲を越えてしまう場合にも、より正確な情報に基づいて圧縮符号化を行う際の最適なパラメータを得ることで、許容範囲内でありながらも画質を優先させて圧縮符号化させることが可能になる。
【図面の簡単な説明】
【図1】図1は、本発明に係る実施形態のデジタルカメラの構成を示すブロック図である。
【図2】図2は、本発明に係る実施形態のデジタルカメラの処理動作を説明するフローチャートである。
【図3】図3は、本実施形態の量子化係数テーブル111の量子化係数配列の例を示す図である。
【図4】図4は、スケーリング値と圧縮符号化データのデータ長との関係を示す図である。
Claims (11)
- 画像データを入力する入力手段と、
画像データをブロック単位に直交変換する直交変換手段と、
該直交変換手段で得られたブロックの周波数成分値を量子化する量子化手段と、
前記量子化手段によって量子化された前記ブロックに対応する周波数成分値を可変長符号化する符号化手段と、
前記符号化手段によって符号化された、前記ブロックに対応する符号化データ長を順次加算し、符号化処理中の合計符号長を検出する検出手段と、
前記符号化手段によって前記ブロック毎の符号化データが生成される度に、当該符号化データを記憶領域に記憶する記憶手段と、
前記検出手段によって検出された前記合計符号長が前記記憶領域の記憶許容範囲を越えるか否かを判断する判断手段と、
前記判断手段によって前記合計符号長が前記記憶領域の記憶許容範囲を越えていると判断した場合に、前記記憶手段の記憶動作を中止すると共に、前記符号化手段による符号化処理と前記検出手段による検出処理を、画像データ全体についての処理が完了するまで継続させ、当該完了時における前記検出手段の検出の結果に基づいて前記量子化手段で用いる量子化パラメータを設定する制御手段と
を備えることを特徴とする画像符号化装置。 - 前記制御手段は、前記量子化パラメータと符号長との対応関係を示すテーブルを有し、前記テーブルを参照し、前記記憶許容範囲に入る量子化パラメータを設定することを特徴とする請求項第1項に記載の画像符号化装置。
- 前記入力手段は、画像データを直交変換する直交変換手段を含むことを特徴とする請求項第1項に記載の画像符号化装置。
- 前記記憶手段は、入力手段によって入力された画像データを記憶することを特徴とする請求項第1項に記載の画像符号化装置。
- 前記記憶手段は、前記量子化手段に供給される画像データを記憶することを特徴とする請求項第1項に記載の画像符号化装置。
- 前記入力手段は、被写体象を撮像し、前記画像データを出力する撮像手段を含むことを特徴とする請求項第1項に記載の画像符号化装置。
- 前記記憶手段に記憶された符号化された画像データを記録媒体に記録する記録手段を備えることを特徴とする請求項第1項に記載の画像符号化装置。
- 前記記録手段は複数種の記録媒体に前記符号化された画像データを記録することを特徴とする請求項第7項に記載の画像符号化装置。
- 前記撮影画像の画質モードを設定する画質モード設定手段と前記画質モード設定手段の出力に応じて前記記憶許容範囲を設定する記憶許容範囲設定手段とを有することを特徴とする請求項第1項に記載の画像符号化装置。
- 画像データを入力するステップと、
画像データをブロック単位に直交変換するステップと、
該直交変換工程で得られたブロックの周波数成分値をを量子化するステップと、
前記量子化された、前記ブロックに対応する周波数成分値を可変長符号化するステップと、
前記符号化された、前記ブロックに対応する符号化データ長を順次加算し、符号化処理中の合計符号長を検出するステップと、
前記ブロック毎の符号化データが生成される度に、当該符号化データをを記憶領域に記憶するステップと、
前記検出された前記合計符号長が前記記憶領域の記憶許容範囲を越えるか否かを判断するステップと、
前記合計符号長が記憶領域の記憶許容範囲を越えていると判断した場合に、前記記憶領域への記憶動作を中止すると共に、前記符号化処理と前記検出処理を画像データ全体についての処理が完了するまで継続させ、当該完了時における検出処理の結果に基づいて前記量子化処理で用いる量子化パラメータを設定するステップと
を備えることを特徴する画像符号化方法。 - コンピュータが読み込み実行するプログラムコードを格納する記憶媒体であって、
画像データをブロック単位に直交変換する直交変換手段と、
該直交変換手段で得られたブロックの周波数成分値をを量子化する量子化手段と、
前記量子化された、前記ブロックに対応する周波数成分値を可変長符号化する可変長符号化手段と、
前記符号化された、前記ブロックに対応する符号化データ長を順次加算し、符号化処理中の合計符号長を検出する検出手段と、
前記ブロック毎の符号化データが生成される度に、当該符号化データをを記憶領域に記憶する記憶手段と、
前記検出された前記合計符号長が前記記憶領域の記憶許容範囲を越えるか否かを判断する判断手段と、
前記合計符号長が記憶領域の記憶許容範囲を越えていると判断した場合に、前記記憶領域への記憶動作を中止すると共に、前記符号化手段による符号化処理と前記検出手段による検出処理を画像データ全体についての処理が完了するまで継続させ、当該完了時における検出処理の結果に基づいて前記量子化手段で用いる量子化パラメータを設定する制御手段
として機能するコンピュータプログラムを格納したことを特徴とするコンピュータ可読な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000211796A JP3919426B2 (ja) | 1999-08-03 | 2000-07-12 | 画像符号化装置及びその方法並びに記憶媒体 |
US09/627,722 US6671411B1 (en) | 1999-08-03 | 2000-07-28 | Image encoding apparatus, method and memory medium therefor |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22049599 | 1999-08-03 | ||
JP11-220495 | 1999-08-03 | ||
JP2000211796A JP3919426B2 (ja) | 1999-08-03 | 2000-07-12 | 画像符号化装置及びその方法並びに記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001112005A JP2001112005A (ja) | 2001-04-20 |
JP3919426B2 true JP3919426B2 (ja) | 2007-05-23 |
Family
ID=26523736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000211796A Expired - Fee Related JP3919426B2 (ja) | 1999-08-03 | 2000-07-12 | 画像符号化装置及びその方法並びに記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6671411B1 (ja) |
JP (1) | JP3919426B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002094992A (ja) * | 2000-09-19 | 2002-03-29 | Sony Corp | 符号化データ長検出装置とその方法および画像符号化装置 |
JP3716225B2 (ja) * | 2002-04-05 | 2005-11-16 | 松下電器産業株式会社 | 符号量制御装置および符号量制御方法 |
JP3853708B2 (ja) * | 2002-07-10 | 2006-12-06 | Necアクセステクニカ株式会社 | デジタル画像符号化装置および符号化方法ならびにプログラム |
US7326900B2 (en) * | 2002-11-18 | 2008-02-05 | Mitsui Engineering & Shipbuilding Co., Ltd. | Two-dimensional weak radiation detector with a detection means based on orthogonal modulation |
US7418148B2 (en) * | 2003-09-29 | 2008-08-26 | Casio Computer Co., Ltd. | Image compression method and image compression device |
CN102325257A (zh) * | 2007-07-20 | 2012-01-18 | 富士胶片株式会社 | 图像处理设备和图像处理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0235456B1 (en) | 1985-12-13 | 1999-03-24 | Canon Kabushiki Kaisha | Image processing apparatus and method with blocks of compressed data |
JP3171913B2 (ja) | 1992-04-03 | 2001-06-04 | キヤノン株式会社 | 画像符号化装置及び画像符号化方法 |
WO1994003997A1 (en) * | 1992-08-03 | 1994-02-17 | Ricoh Company, Ltd. | Document identifier which can also identify special ticket, image forming apparatus using the identifier, image processor, and copying machine |
JPH1051642A (ja) * | 1996-07-31 | 1998-02-20 | Fuji Xerox Co Ltd | 画像処理装置 |
-
2000
- 2000-07-12 JP JP2000211796A patent/JP3919426B2/ja not_active Expired - Fee Related
- 2000-07-28 US US09/627,722 patent/US6671411B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6671411B1 (en) | 2003-12-30 |
JP2001112005A (ja) | 2001-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5335016A (en) | Image data compressing/coding apparatus | |
CN101253761B (zh) | 图像编码设备和图像编码方法 | |
US7215818B2 (en) | Image compression coding apparatus and control method therefor | |
US20060192860A1 (en) | Digital photographic device for controlling compression parameter of image data and method of deciding compression parameter value of image data | |
JP3448462B2 (ja) | 画像データ圧縮装置 | |
US8259811B2 (en) | Method for determining a number of items of encoded data that can be stored in a memory, and method for controlling sizes of items of encoded image data to be stored in a memory | |
JP3919426B2 (ja) | 画像符号化装置及びその方法並びに記憶媒体 | |
JPH0832037B2 (ja) | 画像データ圧縮装置 | |
US20080285866A1 (en) | Apparatus and method for image data compression | |
JP4407055B2 (ja) | 電子カメラ | |
JP2008312193A (ja) | 画像データ圧縮装置、画像データ圧縮方法およびプログラム | |
JP6792351B2 (ja) | 符号化装置、撮像装置、符号化方法、及びプログラム | |
JPH09247675A (ja) | 画像圧縮方法および画像圧縮システム | |
JP2018082251A (ja) | 撮像装置、画像処理方法、及び、プログラム | |
JP4183432B2 (ja) | 画像データ符号化方法 | |
JPH0564143A (ja) | 電子スチルカメラ | |
JPH07336686A (ja) | 画像圧縮の連なり内での量子化係数決定回路 | |
JP2004179840A (ja) | 画像データ圧縮装置および画像データ圧縮方法 | |
JPH0537901A (ja) | 画像記録装置 | |
JP2001238213A (ja) | 画像処理装置およびその方法 | |
JP3450357B2 (ja) | 画像処理装置及びその方法 | |
JPH09284767A (ja) | 画像圧縮システムおよび画像圧縮方法 | |
JP3752931B2 (ja) | デジタルカメラおよび画像データ処理方法 | |
JP3076081B2 (ja) | 画像信号処理装置 | |
JPH0898175A (ja) | 画像符号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060418 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060619 |
|
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: 20070206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070213 |
|
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: 20100223 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110223 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120223 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130223 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140223 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |