画像圧縮装置、撮像装置、および、画像圧縮方法
【課題】撮影者が写したいと考える被写体を考慮した圧縮処理を行うことはできなかった。
【解決手段】撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、画像データを圧縮する画像圧縮装置20は、画像データを記憶するとともに、画像データが撮影された撮像シーンを特定する撮像シーン情報を画像データに関連付けて記憶する記憶部24と、記憶部24に記憶されている画像データの所定の周波数成分に対する量子化を行うとき、画像データに関連付けられて記憶部24に記憶されている撮像シーン情報が所定の撮像シーンを示している場合と所定の撮像シーンを示していない場合とでは、異なる量子化係数を用いて量子化を行う量子化部22とを備える。
【解決手段】撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、画像データを圧縮する画像圧縮装置20は、画像データを記憶するとともに、画像データが撮影された撮像シーンを特定する撮像シーン情報を画像データに関連付けて記憶する記憶部24と、記憶部24に記憶されている画像データの所定の周波数成分に対する量子化を行うとき、画像データに関連付けられて記憶部24に記憶されている撮像シーン情報が所定の撮像シーンを示している場合と所定の撮像シーンを示していない場合とでは、異なる量子化係数を用いて量子化を行う量子化部22とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データの圧縮処理技術に関する。
【背景技術】
【0002】
一般に、画像データはデータ量が多いため、JPEG等の方式で圧縮符号化されてから保存される。画像データの圧縮符号化では、画像データを周波数変換し、周波数変換により得られたデータを、量子化テーブルを用いて量子化した後、符号化する。画像データの空間周波数は画像によって異なるため、全ての画像データに対して同じ量子化テーブルを用いて圧縮すると、画像によっては圧縮後のデータが小さくならないといった問題や、画質の劣化が目立つといった問題が生じる。従って、画像データに応じて量子化テーブルを変更する圧縮方法が提案されている。
【0003】
特許文献1には、画像データの周波数成分のヒストグラムに応じた量子化テーブルを作成して、画像データの圧縮を行う技術が開示されている。また、特許文献2には、シャッタ速度や焦点距離等の撮像条件に応じた量子化テーブルを選択して、画像データの圧縮を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平5−276391号公報
【特許文献2】特開2003−179926号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、撮影者が写したいと考える被写体を考慮した圧縮処理を行うことはできなかった。
【0006】
本発明は、上述した問題に鑑みてなされたものであり、撮影者が写したいと考える被写体に応じた圧縮処理を行う技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のある態様に係る画像圧縮装置は、撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する画像圧縮装置であって、前記画像データを記憶するとともに、前記画像データが撮影された撮像シーンを特定する撮像シーン情報を前記画像データに関連付けて記憶する記憶部と、前記記憶部に記憶されている前記画像データの所定の周波数成分に対する量子化を行うとき、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が所定の撮像シーンを示している場合と前記所定の撮像シーンを示していない場合とでは、異なる量子化係数を用いて前記量子化を行う量子化部と、を備える。
【0008】
本発明の別の態様に係る撮像装置は、撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する撮像装置であって、被写体を撮像して画像データを生成する撮像部と、前記画像データが撮影された撮像シーンを特定する撮像シーン特定部と、前記画像データの所定の周波数成分に対する量子化を行なうとき、前記撮像シーン特定部により前記画像データの前記撮像シーンが所定の撮像シーンと特定されている場合と前記所定の撮像シーンと特定されていない場合とでは異なる量子化係数を用いて前記量子化を行なう量子化部と、を備える。
【0009】
本発明のさらに別の態様に係る画像圧縮方法は、撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する画像圧縮方法であって、被写体を撮像して画像データを生成する撮像ステップと、前記画像データが撮影された撮像シーンを特定する撮像シーン特定ステップと、前記画像データの所定の周波数成分に対する量子化を行なうとき、前記撮像シーン特定ステップにおいて前記画像データの前記撮像シーンが所定の撮像シーンと特定されている場合と前記所定の撮像シーンと特定されていない場合とでは異なる量子化係数を用いて前記量子化を行なう量子化ステップと、を備える。
【発明の効果】
【0010】
本発明によれば、画像データに対して、撮影者が写したいと考える被写体に応じた圧縮処理を行うことができる。
【図面の簡単な説明】
【0011】
【図1】第1の実施の形態における画像圧縮装置を搭載したデジタルカメラの構成を示すブロック図である。
【図2】第1の実施の形態における画像圧縮装置によって行われる画像データの圧縮符号化処理の流れを示すフローチャートである。
【図3】記憶部に格納されている、様々なシーンモードに応じたデータの一例を示す図である。
【図4】量子化係数の補正処理の詳細を示すフローチャートである。
【図5】標準量子化テーブルの一例を示す図である。
【図6】量子化テーブルを高周波数成分、中間周波数成分、および、低周波数成分の3つの領域に分類する方法の一例を示す図である。
【図7】夜景シーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。
【図8】夕焼けシーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。
【図9】量子化の際に用いる量子化テーブルの選択処理の詳細を示すフローチャートである。
【図10】ビーチシーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。
【図11】第2の実施の形態における画像圧縮装置において、量子化係数の補正処理の詳細を示すフローチャートである。
【図12】第2の実施の形態における画像圧縮装置において、量子化の際に用いる量子化テーブルの選択処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【0012】
−第1の実施の形態−
図1は、第1の実施の形態における画像圧縮装置を搭載したデジタルカメラの構成を示すブロック図である。このデジタルカメラ10は、制御部11と、撮像部12と、画像処理部13と、記録部14と、操作入力部15と、撮像シーン特定部16と、画像圧縮装置20とを備える。
【0013】
撮像部12は、レンズや撮像素子を有し、被写体を撮像して画像データを得る。画像処理部13は、撮像部12によって得られた画像データに対して、ホワイトバランス補正処理、同時化処理、ガンマ補正処理、色再現処理、ノイズ低減処理などの画像処理を行う。画像処理が施された画像データは、後述する画像圧縮装置20の記憶部24に記憶される。
【0014】
操作入力部15は、撮影者によって操作される操作部材である。撮影者は、操作入力部15を操作することによって、デジタルカメラの各種設定を行ったり、撮影指示を出すことができる。特に、撮影者は、操作入力部15を操作することによって、撮像シーンに適した撮影条件で撮影を行うためのシーンモードを設定することができる。
【0015】
撮像シーン特定部16は、撮影者による操作入力部15の操作結果に基づいて、撮像シーンを特定する。特定された撮像シーン情報は、後述する画像圧縮装置20の記憶部24に記憶される。
【0016】
画像圧縮装置20は、直交変換部21と、量子化部22と、エントロピー符号化部23と、記憶部24と、量子化係数補正部26とを備え、画像処理部13で画像処理が施された画像データに対して、JPEG方式の圧縮を行う。
【0017】
直交変換部21は、記憶部24に一時的に記憶されている画像データを読み出し、読み出した画像データに対して、離散コサイン変換などの直交変換を行い、直交変換係数を生成する。
【0018】
量子化部22は、直交変換部21で生成された直交変換係数を量子化テーブルで定義された量子化係数で除算することによって、量子化データを生成する。特に、第1の実施の形態における画像圧縮装置において、量子化部22は、記憶部24に記憶された撮像シーン情報に対応した量子化テーブルを記憶部24から選択する選択部25を備え、選択部25で選択した量子化テーブルを記憶部24から読み出して用いる。
【0019】
エントロピー符号化部23は、量子化データに対して、ハフマン符号化などの既知の可変長符号化を行う。
【0020】
記憶部24は、画像処理部13で画像処理が施された画像データを一時的に記憶するとともに、撮像シーン特定部16で特定された撮像シーンの情報を画像データに関連付けて記憶する。記憶部24は、また、基準となる標準量子化テーブルと、様々な撮像シーンに対応した量子化係数を定めた量子化テーブルを記憶している。
【0021】
記録部14は、エントロピー符号化部23で符号化されたデータを、図示しない記録媒体に記録する。記録媒体は、例えばデジタルカメラに着脱可能なメモリカードであるが、これに限定されるものではない。
【0022】
制御部11は、デジタルカメラ内の各部12〜16、および画像圧縮装置20の制御を行う。
【0023】
図2は、第1の実施の形態における画像圧縮装置によって行われる画像データの圧縮符号化処理の流れを示すフローチャートである。デジタルカメラの電源がオンになると、制御部11はステップS10の処理を開始する。
【0024】
ステップS10では、撮影者によって、撮影モードがシーンモードに設定されているか否かを判定する。第1の実施の形態における画像圧縮装置を搭載したデジタルカメラでは、様々な撮像シーンに適した撮影条件で撮影を行うためのシーンモードを設定することができる。シーンモードを設定可能な撮像シーンとしては、例えば、ポートレートシーン、風景シーン、料理シーン、スポーツシーン、夜景シーン、花火シーン、夕焼けシーン、ビーチシーン等がある。本実施形態では、シーンモードを設定可能な撮像シーンのうち、夜景シーン、花火シーン、夕焼けシーン、ビーチシーンを所定の撮像シーンと呼ぶ。撮影モードがシーンモードに設定されていると判定すると、ステップS20に進む。
【0025】
ステップS20では、撮影者によってレリーズボタンが操作されたか否かを判定する。この判定は、操作入力部15から入力される信号に基づいて行う。レリーズボタンが操作されていないと判定すると、フローチャートの処理を終了し、レリーズボタンが操作されたと判定すると、撮影を開始するために、ステップS30に進む。
【0026】
ステップS30では、撮影者によって設定されたシーンモードに対応する撮影条件で撮影を行う。
【0027】
記憶部24には、所定の撮像シーンを含む様々な撮像シーンのシーンモードに応じて、撮影条件、画像処理条件、および、量子化テーブルを定めたデータが格納されている。図3は、記憶部24に格納されている、様々な撮像シーンのシーンモードに応じたデータの一例を示す図である。図3では、3つの撮像シーン(撮像シーンA、撮像シーンB、撮像シーンC)に応じた撮影条件、画像処理条件、および、量子化テーブルを例示している。撮影条件には、フラッシュのON/OFF、露光時間、ISO感度、焦点距離等が含まれる。また、画像処理条件には、階調変換を行う際に用いる階調変換係数、ホワイトバランス補正を行う際に用いるホワイトバランス係数等が含まれる。撮像シーンに応じた量子化テーブルについては後述する。
【0028】
ステップS30において、制御部11は、撮影者によって設定されたシーンモードに対応する撮影条件のデータを記憶部24から読み込み、読み込んだ撮影条件で撮像部12によって撮影を行わせる。この撮影条件は撮影者によって調整が加えられることもある。撮影時の撮影条件は、撮像情報として記憶部24に記憶させる。
【0029】
ステップS40において、画像処理部13は、ステップS30の撮影で得られた画像データに対して、撮影者によって設定されたシーンモードに対応する画像処理条件で画像処理を行う。撮影者によって設定されたシーンモードに対応した画像処理条件のデータは、記憶部24から読み出す。画像処理後の画像データは、画像圧縮装置20の記憶部24に記憶させる。
【0030】
ステップS50において、画像圧縮装置20の直交変換部21は、記憶部24から画像データを読み出し、読み出した画像データに対して既知の直交変換を行って、直交変換係数を生成する。
【0031】
ステップS55の処理は、ステップS30の処理が終わってからステップS60の処理が行われるまでの間に行う処理であり、ステップS40およびステップS50の処理と並列に行うことが可能である。ステップS55において、量子化係数の補正が必要な場合に、画像圧縮装置20の量子化係数補正部26は、撮像情報に応じた量子化係数の補正を行う。撮像情報に応じた量子化係数の補正方法を、図4に示すフローチャートを用いて説明する。
【0032】
図4は、図2に示すフローチャートのステップS55の処理の詳細を示すフローチャートである。シーンモードに対応する撮像条件に加えて撮像条件が手動で調整された場合に、補正が必要であると判断すると、シーンモードに対応する量子化テーブルの量子化係数に対して補正を行う。
【0033】
ステップS400では、撮像シーン情報および撮像情報を記憶部24から読み出す。
【0034】
ステップS410では、量子化テーブルの補正の有無を示す補正フラグをFALSEにセットして、記憶部24に記憶する。この補正フラグは、量子化テーブルの量子化係数の補正が行われる場合に、TRUEにセットされる。
【0035】
ステップS420では、ステップS400で読み出した撮像シーン情報に基づいて、撮影時に設定されていたシーンモードが夜景シーンであるか否かを判定する。撮影時に設定されていたシーンモードが夜景シーンであると判定すると、ステップS430に進む。
【0036】
ステップS430では、ステップS400で読み出した撮像情報に基づいて、撮影時の絞り値が所定の絞り値Fthよりも小さいか否かを判定する。撮影時の絞り値が所定の絞り値Fthよりも小さいと判定するとステップS440に進み、所定の絞り値Fth以上であると判定すると、量子化テーブルの補正を行わずに、図4に示すフローチャートの処理を終了する。
【0037】
ステップS440では、記憶部24から補正フラグを読み出してTRUEにセットした後、再び記憶部24に記憶する。
【0038】
ステップS450では、夜景シーンに対応した量子化テーブルを記憶部24から読み出す。
【0039】
夜景シーンに対応した量子化テーブルについて説明する。このため、基準となる標準量子化テーブルについて初めに説明する。標準量子化テーブルは、所定の撮像シーン以外の設定時に用いられる量子化テーブルである。図5は、標準量子化テーブルの一例を示す図である。上述したように、記憶部24には、様々なシーンモードに応じて、撮影条件、画像処理条件、および、量子化テーブルを定めたデータが格納されているが、所定の撮像シーン以外のシーンモード用のデータとして、図5に示すような標準量子化テーブルのデータが含まれている。
【0040】
本実施形態では、量子化テーブルを、高周波数成分、中間周波数成分、および、低周波数成分の3つの領域に分類して説明する。図6は、量子化テーブルを高周波数成分、中間周波数成分、および、低周波数成分の3つの領域に分類する方法の一例を示す図である。図6に示すように、量子化テーブルの水平方向および垂直方向ともに高周波数の領域を「高周波数成分」、水平方向および垂直方向ともに低周波数の領域を「低周波数成分」、高周波数成分と低周波数成分の間の領域を「中間周波数成分」と呼ぶ。ただし、図6に示す分類方法は一例であって、各周波数成分の領域の大きさや範囲が図6に示すものに限定されることはない。
【0041】
続いて、所定の撮像シーンのシーンモードに対応した量子化テーブルについて説明する。所定の撮像シーンのシーンモードでは、標準量子化テーブルとは異なる量子化テーブルが対応付けられている。図7は、夜景シーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。夜景シーンに対応する量子化テーブルは、後述する花火シーンに対応する量子化テーブルと同一である。
【0042】
夜景シーンは、夜景の街灯やネオンの光を色鮮やかに撮影することを目的としたシーンモードである。夜景シーンの撮影では、ピントは無限遠で、シャッタ速度は遅めに設定され、フラッシュの発光は行わない。また、他のシーンモードと比べて、強めのノイズ低減処理が行われる。
【0043】
夜景の灯りは高周波数成分であるため、高周波数成分が残るように量子化係数を設定する必要がある。従って、夜景シーンに対応する量子化テーブルでは、高周波数成分の量子化係数を、標準量子化テーブルの量子化係数(以下、標準量子化係数と呼ぶ)よりも小さく設定する。すなわち、夜景シーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、高周波数成分において量子化誤差の小さい量子化係数が設定される。図7では、量子化係数を標準量子化係数よりも小さい値に設定する高周波数成分領域を実線で囲んで、「基準より低い」と表現している。
【0044】
また、夜景シーンの撮影で得られる画像では、低周波数成分は少ないので、低周波数成分の量子化係数を、標準量子化係数よりも大きく設定する。すなわち、夜景シーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、低周波数成分において量子化誤差の大きい量子化係数が設定されている。図7では、量子化係数を標準量子化係数よりも大きい値に設定する低周波数成分領域を実線で囲んで、「基準より高い」と表現している。量子化係数を標準量子化係数よりも小さい値に設定する領域、および、標準量子化係数よりも大きい値に設定する領域以外の領域では、標準量子化係数と同じ値を設定しておく。
【0045】
ここで、夜景シーンでの撮影時に、撮影者によって絞りが開放側、すなわち、夜景シーンにおける推奨絞り値よりも小さい絞り値に設定されると、点光源が広がって写るため、中〜高周波数成分(図7の点線で囲まれた領域)の量子化係数を小さく設定する必要がある。
【0046】
従って、ステップS460では、ステップS450で読み出した夜景シーンに対応した量子化テーブルの量子化係数を補正する。具体的には、図7の実線で囲まれた領域だけでなく、点線で囲まれた領域も、量子化係数を標準量子化係数よりも小さい値にする。
【0047】
なお、絞り値の大きさに応じて、量子化係数を標準量子化係数よりも小さくする領域を決定するようにしてもよい。すなわち、絞り値が小さいほど、量子化係数を標準量子化係数よりも小さくする領域が広くなるように(図7の点線で囲まれた領域を低周波数側に拡大するように)してもよい。
【0048】
ステップS470では、ステップS460で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0049】
一方、ステップS420で撮影時に設定されていたシーンモードが夜景シーンではないと判定すると、ステップS480に進む。ステップS480では、撮影時に設定されていたシーンモードが花火シーンであるか否かを判定する。撮影時に設定されていたシーンモードが花火シーンであると判定すると、ステップS490に進む。
【0050】
ステップS490では、ステップS400で読み出した撮像情報に基づいて、撮影時の露光時間が所定時間Tthより長いか否かを判定する。撮影時の露光時間が所定時間Tthより長いと判定するとステップS500に進み、所定時間Tth以下であると判定すると、量子化テーブルの補正を行わずに、図4に示すフローチャートの処理を終了する。
【0051】
ステップS500では、記憶部24から補正フラグを読み出してTRUEにセットした後、再び記憶部24に記憶する。
【0052】
ステップS510では、花火シーンに対応した量子化テーブルを記憶部24から読み出す。上述したように、花火シーンに対応した量子化テーブルは、夜景シーンに対応した量子化テーブルと同じである(図7参照)。
【0053】
花火シーンは、花火を色鮮やかに撮影することを目的としたシーンモードである。花火シーンの撮影では、ピントは無限遠で、シャッタ速度は遅めに設定され、フラッシュの発光は行わない。また、他のシーンモードと比べて、強めのノイズ低減処理が行われる。
【0054】
花火の火花は高周波数成分であるため、高周波数成分が残るように量子化係数を設定する必要がある。従って、花火シーンに対応する量子化テーブルでは、高周波数成分の量子化係数を標準量子化係数よりも小さく設定する(図7参照)。すなわち、花火シーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、高周波数成分において量子化誤差の小さい量子化係数が設定される。
【0055】
また、花火シーンの撮影で得られる画像では、低周波数成分は少ないので、低周波数成分の量子化係数を、標準量子化係数よりも大きく設定する。すなわち、夜景シーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、低周波数成分において量子化誤差の大きい量子化係数が設定されている。
【0056】
花火シーンでの撮影では、露光時間が長くなるほど、花火の光跡に線成分が多くなるので、線成分の画質の劣化を防ぐため、中〜高周波数成分(図7の点線で囲まれた領域)の量子化係数を小さく設定する必要がある。
【0057】
従って、ステップS520では、ステップS510で読み出した花火シーンに対応した量子化テーブルの量子化係数を補正する。具体的には、図7の実線で囲まれた領域だけでなく、点線で囲まれた領域も、量子化係数を標準量子化係数よりも小さい値にする。
【0058】
なお、露光時間の長さに応じて、量子化係数を標準量子化係数よりも小さくする領域を決定するようにしてもよい。すなわち、露光時間が長いほど、量子化係数を標準量子化係数よりも小さくする領域が広くなるように(図7の点線で囲まれた領域を低周波数側に拡大するように)してもよい。
【0059】
ステップS530では、ステップS520で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0060】
一方、ステップS480で撮影時に設定されていたシーンモードが花火シーンではないと判定すると、ステップS540に進む。ステップS540では、撮影時に設定されていたシーンモードが夕焼けシーンであるか否かを判定する。撮影時に設定されていたシーンモードが夕焼けシーンであると判定すると、ステップS550に進む。
【0061】
ステップS550では、ステップS400で読み出した撮像情報に基づいて、撮影時の焦点距離が所定距離Lthよりも長いか否かを判定する。撮影時の焦点距離が所定距離Lthよりも長いと判定するとステップS560に進み、所定距離Lth以下であると判定すると、量子化テーブルの補正を行わずに、図4に示すフローチャートの処理を終了する。
【0062】
ステップS560では、記憶部24から補正フラグを読み出してTRUEにセットした後、再び記憶部24に記憶する。
【0063】
ステップS570では、夕焼けシーンに対応した量子化テーブルを記憶部24から読み出す。
【0064】
夕焼けシーンは、夕焼けや朝焼けを撮影することを目的としたシーンモードである。夕焼けシーンの撮影では、フラッシュの発光は行わず、ホワイトバランスが太陽光に設定されて、赤色が強調される画像処理が行われる。
【0065】
夕焼けシーンの撮影で得られる画像では、空が大きな領域を占めると考えられるため、標準量子化テーブルと比べて、画像の低周波数成分が残るような量子化テーブルを用いる。特に、夕焼けの画像でよく見られるグラデーションが残るように、低〜中間周波数成分の量子化係数を、標準量子化係数よりも小さく設定する。すなわち、夕焼けシーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、低〜中間周波数成分において量子化誤差の小さい量子化係数が設定される。
【0066】
一方、夕焼けの画像では、高周波数成分は少ないため、高周波数成分の量子化係数を、標準量子化係数よりも大きく設定する。すなわち、夕焼けシーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、高周波数成分において量子化誤差の大きい量子化係数が設定されている。
【0067】
図8は、夕焼けシーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。図8では、量子化係数を標準量子化係数よりも小さい値に設定する領域を実線で囲んで、「基準より低い」と表現している。また、量子化係数を標準量子化係数よりも大きい値に設定する領域を実線で囲んで、「基準より高い」と表現している。量子化係数を標準量子化係数よりも小さい値に設定する領域、および、標準量子化係数よりも大きい値に設定する領域以外の領域では、標準量子化係数と同じ値を設定しておく。
【0068】
夕焼けシーンの撮影時に、焦点距離が長く設定されると、画像中の夕焼けの周波数は低くなるため、量子化係数を小さく設定する周波数を低くする必要がある。
【0069】
従って、ステップS580では、ステップS570で読み出した夕焼けシーンに対応した量子化テーブルの量子化係数を補正する。具体的には、量子化係数が標準量子化係数よりも小さい領域(図8の実線で囲まれた「基準より低い」領域)を低周波数側にシフトさせる(図8の点線で囲まれた領域)。
【0070】
なお、焦点距離の長さに応じて、量子化係数を標準量子化係数よりも小さくする周波数領域を決定するようにしてもよい。すなわち、焦点距離が長いほど、量子化係数を標準量子化係数よりも小さくする周波数が低くなるように(図8の実線で囲まれた「基準より低い」領域を低周波数側にシフトさせるように)してもよい。
【0071】
ステップS590では、ステップS580で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0072】
図2に示すフローチャートに戻って説明を続ける。ステップS60において、量子化部22の選択部25は、撮影時のシーンモードおよび補正フラグに基づいて、記憶部24に記憶されている複数の量子化テーブルの中から、量子化の際に用いる量子化テーブルを選択する。量子化テーブルを選択する方法を、図9に示すフローチャートを用いて説明する。
【0073】
図9は、図2に示すフローチャートのステップS60の処理の詳細を示すフローチャートである。ステップS700では、撮像シーン情報を記憶部24から読み出す。
【0074】
ステップS710では、ステップS700で読み出した撮像シーン情報に基づいて、撮影時に設定されていたシーンモードが夜景シーンであるか否かを判定する。撮影時に設定されていたシーンモードが夜景シーンであると判定すると、ステップS720に進む。
【0075】
ステップS720では、記憶部24から補正フラグを読み出し、読み出した補正フラグがTRUEにセットされているか否かを判定する。補正フラグがFALSEにセットされていると判定するとステップS730に進み、TRUEにセットされていると判定すると、ステップS740に進む。
【0076】
ステップS730では、記憶部24に記憶されている複数の量子化テーブルの中から、夜景シーンに対応する量子化テーブルを選択する。
【0077】
一方、ステップS740では、記憶部24に記憶されている複数の量子化テーブルの中から、量子化係数に対して補正が行われた、夜景シーンに対応する量子化テーブルを選択する。量子化係数に対して補正が行われた、夜景シーンに対応する量子化テーブルとは、図4に示すフローチャートのステップS470で記憶部24に記憶された量子化テーブルである。
【0078】
一方、ステップS710で撮影時に設定されていたシーンモードが夜景シーンではないと判定すると、ステップS750に進む。ステップS750では、撮影時に設定されていたシーンモードが花火シーンであるか否かを判定する。撮影時に設定されていたシーンモードが花火シーンであると判定すると、ステップS760に進む。
【0079】
ステップS760では、記憶部24から補正フラグを読み出し、読み出した補正フラグがTRUEにセットされているか否かを判定する。補正フラグがFALSEにセットされていると判定するとステップS770に進み、TRUEにセットされていると判定すると、ステップS780に進む。
【0080】
ステップS770では、記憶部24に記憶されている複数の量子化テーブルの中から、花火シーンに対応する量子化テーブルを選択する。
【0081】
一方、ステップS780では、記憶部24に記憶されている複数の量子化テーブルの中から、量子化係数に対して補正が行われた、花火シーンに対応する量子化テーブルを選択する。量子化係数に対して補正が行われた、花火シーンに対応する量子化テーブルとは、図4に示すフローチャートのステップS530で記憶部24に記憶された量子化テーブルである。
【0082】
一方、ステップS750で撮影時に設定されていたシーンモードが花火シーンではないと判定すると、ステップS790に進む。ステップS790では、撮影時に設定されていたシーンモードが夕焼けシーンであるか否かを判定する。撮影時に設定されていたシーンモードが夕焼けシーンであると判定すると、ステップS800に進む。
【0083】
ステップS800では、記憶部24から補正フラグを読み出し、読み出した補正フラグがTRUEにセットされているか否かを判定する。補正フラグがFALSEにセットされていると判定するとステップS810に進み、TRUEにセットされていると判定すると、ステップS820に進む。
【0084】
ステップS810では、記憶部24に記憶されている複数の量子化テーブルの中から、夕焼けシーンに対応する量子化テーブルを選択する。
【0085】
一方、ステップS820では、記憶部24に記憶されている複数の量子化テーブルの中から、量子化係数に対して補正が行われた、夕焼けシーンに対応する量子化テーブルを選択する。量子化係数に対して補正が行われた、夕焼けシーンに対応する量子化テーブルとは、図4に示すフローチャートのステップS590で記憶部24に記憶された量子化テーブルである。
【0086】
一方、ステップS790で撮影時に設定されていたシーンモードが夕焼けシーンではないと判定すると、ステップS830に進む。ステップS830では、撮影時に設定されていたシーンモードがビーチシーンであるか否かを判定する。撮影時に設定されていたシーンモードがビーチシーンであると判定すると、ステップS840に進む。
【0087】
ステップS840では、記憶部24に記憶されている複数の量子化テーブルの中から、ビーチシーンに対応する量子化テーブルを選択する。
【0088】
ビーチシーンに対応する量子化テーブルについて説明する。ビーチシーンは、明るい場所でも白とびしない画像を得ることを目的としたシーンモードである。ビーチシーンの撮影では、被写体光に応じた適正露出が行われ、フラッシュの発光は行われない。
【0089】
ビーチシーンでは、海や空などを多く含む風景が撮影される。画像上で海や空の領域は低周波数成分を多く含むため、海や空の領域の画質を低下させないように、低周波数成分の量子化係数を標準量子化係数よりも小さく設定する。特に、海や空の色の変化が残るように、色差成分の水平方向における低周波数成分の量子化係数を小さく設定する。また、ビーチシーンにおける画像では、高周波数成分は少ないため、高周波数成分の量子化係数を、標準量子化係数よりも大きく設定する。
【0090】
図10は、ビーチシーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。図10では、量子化係数を標準量子化係数よりも小さい値に設定する領域を実線で囲んで、「基準より低い」と表現している。また、量子化係数を標準量子化係数よりも大きい値に設定する領域を実線で囲んで、「基準より高い」と表現している。量子化係数を標準量子化係数よりも小さい値に設定する領域、および、標準量子化係数よりも大きい値に設定する領域以外の領域では、標準量子化係数と同じ値を設定しておく。
【0091】
一方、ステップS830で撮影時に設定されていたシーンモードがビーチシーンではないと判定すると、ステップS850に進む。ステップS850に進むのは、撮影時に設定されていたシーンモードが所定の撮像シーンではないシーンモードの場合である。ステップS850では、記憶部24に記憶されている複数の量子化テーブルの中から、標準量子化テーブルを選択する。所定の撮像シーンではないシーンモードには、ポートレートシーンが含まれる。
【0092】
ここで、ポートレートシーンについて説明しておく。ポートレートシーンは、人物を撮影することを目的としたシーンモードである。ポートレートシーンでは、ピントを人物に合わせて、色強調を肌色に設定し、また、背景をぼかすような設定で撮影が行われる。
【0093】
ポートレートシーンのシーンモードで撮影が行われる場合、主要被写体は人物であると推定することができる。しかし、人物の顔については、肌は低周波数成分が多く、目やまつげ、髪の毛等は高周波数成分が多い。また、画像中の人物の大きさによっても被写体の周波数が異なるため、人物の周波数傾向は特定しにくい。従って、記憶部24に記憶されているポートレートシーンのデータには、図5に示すような標準量子化テーブルのデータが含まれており、選択部25は、標準量子化テーブルを選択する。
【0094】
図2に示すフローチャートに戻って説明を続ける。ステップS65において、量子化部22は、選択部25で選択された量子化テーブルを記憶部24から読み出し、直交変換部21で生成された直交変換係数を、読み出した量子化テーブルで定義された量子化係数で除算することによって、量子化データを生成する。
【0095】
一方、ステップS10において、撮影モードがシーンモードに設定されていないと判定すると、ステップS70に進む。
【0096】
ステップS70では、撮影者によってレリーズボタンが操作されたか否かを判定する。この判定は、操作入力部15から入力される信号に基づいて行う。レリーズボタンが操作されていないと判定すると、フローチャートの処理を終了し、レリーズボタンが操作されたと判定すると、撮影を開始するために、ステップS80に進む。
【0097】
ステップS80では、撮影者によって設定された撮影条件、または、自動的に設定された撮影条件で撮影を行う。
【0098】
ステップS90において、画像処理部13は、ステップS80の撮影で得られた画像データに対して、撮影者によって設定された画像処理条件、または、自動的に設定された画像処理条件で画像処理を行う。画像処理後の画像データは、画像圧縮装置20の記憶部24に記憶させる。
【0099】
ステップS100において、画像圧縮装置20の直交変換部21は、記憶部24から画像データを読み出し、読み出した画像データに対して既知の直交変換を行って、直交変換係数を生成する。
【0100】
ステップS110において、画像圧縮装置20の量子化部22は、直交変換部21で生成された直交変換係数に基づいて、量子化データを生成する。ここでは、記憶部24から標準量子化テーブル(図5参照)を読み出し、直交変換部21で生成された直交変換係数を、読み出した標準量子化テーブルの量子化係数で除算することによって、量子化データを生成する。
【0101】
ステップS120において、画像圧縮装置20のエントロピー符号化部23は、ステップS65、またはステップS110で生成された量子化データに対して、ハフマン符号化などの可変長符号化を行う。
【0102】
ステップS130において、記録部14は、エントロピー符号化部23で符号化されたデータを、メモリカード等の記録媒体に記録する。
【0103】
以上、第1の実施の形態における画像圧縮装置は、撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、画像データを圧縮する画像圧縮装置であって、記憶部24に記憶されている画像データの所定の周波数成分に対する量子化を行うとき、画像データに関連付けられて記憶部24に記憶されている撮像シーン情報が所定の撮像シーンを示している場合と所定の撮像シーンを示していない場合とでは、異なる量子化係数を用いて量子化を行う。これにより、撮像シーンに応じて適切な量子化係数を用いて、画像データの圧縮を行うことができる。
【0104】
ここで、画像データの周波数成分のヒストグラムに応じた量子化テーブルを作成して、画像データの圧縮を行う従来の方法では、必ずしも撮影者が本当に撮影したい被写体に応じた量子化テーブルが作成されるとは限らなかった。これに対して、第1の実施の形態における画像圧縮装置では、撮像シーンに応じた量子化テーブル(量子化係数)を使用することで、撮影者が本当に撮影したいと考える被写体に応じた量子化テーブルを用いて、画像データの圧縮を行うことができる。
【0105】
また、第1の実施の形態における画像圧縮装置では、所定の周波数成分における量子化係数が互いに異なる第1の量子化テーブルおよび第2の量子化テーブルを記憶しておき、撮像シーン情報が所定の撮像シーンを示している場合、第1の量子化テーブルで定義される量子化係数を用いて画像データを量子化し、撮像シーン情報が所定の撮像シーンを示していない場合、第2の量子化テーブルで定義される量子化係数を用いて画像データを量子化する。これにより、撮像シーン情報に基づいて、使用する量子化テーブルが決定されるので、撮像シーンごとの量子化テーブルを演算により求める必要がなく、画像データの圧縮を迅速に行うことができる。
【0106】
また、第1の実施の形態における画像圧縮装置では、撮像シーン情報が所定の撮像シーンを示している場合、撮像時の焦点距離、絞り、および、露光時間のうちの少なくとも一つの情報に基づいて、量子化テーブルで定義された量子化係数を補正し、補正した量子化係数を用いて画像データを量子化する。これにより、撮像時の撮像情報に基づいて、撮像シーンに応じた量子化をさらに効果的に行うことができる。
【0107】
特に、第1の実施の形態における画像圧縮装置によれば、撮像シーンが夜景シーンまたは花火シーンの場合、撮像シーンが所定の撮像シーンではないと判定された場合に比べて、高周波数成分において量子化誤差の小さい量子化係数を用いて画像データを圧縮する。これにより、画像上における夜景の灯りまたは花火の火花の画質の劣化を抑制することができる。
【0108】
また、第1の実施の形態における画像圧縮装置によれば、撮像シーンが夕焼けシーンの場合、撮像シーンが所定の撮像シーンではないと判定された場合に比べて、低周波数成分から中間周波数成分において量子化誤差の小さい量子化係数を用いて画像データを圧縮する。これにより、画像上における夕焼け空のグラデーションの画質の劣化を抑制することができる。
【0109】
さらに、第1の実施の形態における画像圧縮装置によれば、撮像シーンがビーチシーンの場合、撮像シーンが所定の撮像シーンではないと判定された場合に比べて、水平方向の低周波数成分において量子化誤差の小さい量子化係数を用いて画像データを圧縮する。これにより、画像上において、海や空の水平成分の緩やかな色の変化を残すことができる。
【0110】
−第2の実施の形態−
第1の実施の形態における画像圧縮装置では、所定の撮像シーンのシーンモードに対応した量子化テーブルを記憶部24から読み出して、画像データを量子化する際に用いた。第2の実施の形態における画像圧縮装置では、記憶部24から標準量子化テーブルを読み出し、所定の撮像シーンのシーンモードごとに、標準量子化テーブルの量子化係数を補正して、量子化の際に用いる。
【0111】
なお、第2の実施の形態における画像圧縮装置を搭載したデジタルカメラの構成は、図1に示す第1の実施の形態における画像圧縮装置を搭載したデジタルカメラの構成と同じである。ただし、第2の実施の形態における記憶部24は、シーンモードごとの量子化テーブルは記憶せずに、標準量子化テーブルを記憶している。記憶部24は、また、所定の撮像シーンのシーンモードごとに、標準量子化テーブルの量子化係数を補正するための補正用データを記憶している。
【0112】
第2の実施の形態における画像圧縮装置によって行われる圧縮符号化処理では、図2のフローチャートの処理のうち、ステップS55およびステップS60で行われる処理内容が異なる。第2の実施の形態における画像圧縮装置によって行われる圧縮符号化処理のうち、ステップS55で行われる処理の詳細を図11に示すフローチャートを用いて説明するとともに、ステップS60で行われる処理の詳細を図12に示すフローチャートを用いて説明する。
【0113】
図11に示すフローチャートのステップS1100では、撮像シーン情報および撮像情報を記憶部24から読み出す。
【0114】
ステップS1110では、ステップS1100で読み出した撮像シーン情報に基づいて、撮影時に設定されていたシーンモードが夜景シーンであるか否かを判定する。撮影時に設定されていたシーンモードが夜景シーンであると判定すると、ステップS1120に進む。
【0115】
ステップS1120では、標準量子化テーブルと、夜景シーンに対応する補正データを記憶部24から読み出す。夜景シーンに対応する補正データは、標準量子化テーブルの量子化係数を、図7を用いて説明した特性となるように補正するためのデータである。
【0116】
ステップS1130では、ステップS1120で読み出した標準量子化テーブルの量子化係数を、ステップS1120で読み出した補正データを用いて補正する。すなわち、図7に示すように、高周波数成分の量子化係数が標準量子化係数よりも小さくなるように補正するとともに、低周波数成分の量子化係数が標準量子化係数よりも大きくなるように補正する。
【0117】
ステップS1140では、ステップS1100で読み出した撮像情報に基づいて、撮影時の絞り値が所定の絞り値Fthよりも小さいか否かを判定する。撮影時の絞り値が所定の絞り値Fthよりも小さいと判定するとステップS1150に進み、所定の絞り値Fth以上であると判定すると、ステップS1160に進む。
【0118】
ステップS1150では、ステップS1130で補正を行った量子化係数をさらに補正する。この補正処理は、図4に示すフローチャートのステップS460の処理と同じである。すなわち、図7の実線で囲まれた領域だけでなく、点線で囲まれた領域も、量子化係数を標準量子化係数よりも小さい値にする補正を行う。なお、絞り値の大きさに応じて、量子化係数を標準量子化係数よりも小さくする領域を決定するようにしてもよい。すなわち、絞り値が小さいほど、量子化係数を標準量子化係数よりも小さくする領域が広くなるように(図7の点線で囲まれた領域を低周波数側に拡大するように)してもよい。
【0119】
ステップS1160では、量子化係数を補正した量子化テーブルを記憶部24に記憶する。ステップS1150の処理を行った場合には、ステップS1150で量子化係数を補正した量子化テーブルを記憶部24に記憶し、ステップS1150の処理を行っていない場合には、ステップS1130で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0120】
一方、ステップS1110で撮影時に設定されていたシーンモードが夜景シーンではないと判定すると、ステップS1170に進む。ステップS1170では、撮影時に設定されていたシーンモードが花火シーンであるか否かを判定する。撮影時に設定されていたシーンモードが花火シーンであると判定すると、ステップS1180に進む。
【0121】
ステップS1180では、標準量子化テーブルと、花火シーンに対応する補正データを記憶部24から読み出す。花火シーンに対応する補正データは、標準量子化テーブルの量子化係数を、図7を用いて説明した特性となるように補正するためのデータである。
【0122】
ステップS1190では、ステップS1180で読み出した標準量子化テーブルの量子化係数を、ステップS1180で読み出した補正データを用いて補正する。すなわち、図7に示すように、高周波数成分の量子化係数が標準量子化係数よりも小さくなるように補正するとともに、低周波数成分の量子化係数が標準量子化係数よりも大きくなるように補正する。
【0123】
ステップS1200では、ステップS1100で読み出した撮像情報に基づいて、撮影時の露光時間が所定時間Tthより長いか否かを判定する。撮影時の露光時間が所定時間Tthより長いと判定するとステップS1210に進み、所定時間Tth以下であると判定すると、ステップS1220に進む。
【0124】
ステップS1210では、ステップS1190で補正を行った量子化係数をさらに補正する。この補正処理は、図4に示すフローチャートのステップS520の処理と同じである。すなわち、図7の実線で囲まれた領域だけでなく、点線で囲まれた領域も、量子化係数を標準量子化係数よりも小さい値にする補正を行う。なお、露光時間の長さに応じて、量子化係数を標準量子化係数よりも小さくする領域を決定するようにしてもよい。すなわち、露光時間が長いほど、量子化係数を標準量子化係数よりも小さくする領域が広くなるように(図7の点線で囲まれた領域を低周波数側に拡大するように)してもよい。
【0125】
ステップS1220では、量子化係数を補正した量子化テーブルを記憶部24に記憶する。ステップS1210の処理を行った場合には、ステップS1210で量子化係数を補正した量子化テーブルを記憶部24に記憶し、ステップS1210の処理を行っていない場合には、ステップS1190で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0126】
一方、ステップS1170で撮影時に設定されていたシーンモードが花火シーンではないと判定すると、ステップS1230に進む。ステップS1230では、撮影時に設定されていたシーンモードが夕焼けシーンであるか否かを判定する。撮影時に設定されていたシーンモードが夕焼けシーンであると判定すると、ステップS1240に進む。
【0127】
ステップS1240では、標準量子化テーブルと、夕焼けシーンに対応する補正データを記憶部24から読み出す。夕焼けシーンに対応する補正データは、標準量子化テーブルの量子化係数を、図8を用いて説明した特性となるように補正するためのデータである。
【0128】
ステップS1250では、ステップS1240で読み出した標準量子化テーブルの量子化係数を、ステップS1240で読み出した補正データを用いて補正する。すなわち、図8に示すように、低〜中間周波数成分の量子化係数が標準量子化係数よりも小さくなるように補正するとともに、高周波数成分の量子化係数が標準量子化係数よりも大きくなるように補正する。
【0129】
ステップS1260では、ステップS1100で読み出した撮像情報に基づいて、撮影時の焦点距離が所定距離Lthよりも長いか否かを判定する。撮影時の焦点距離が所定距離Lthよりも長いと判定するとステップS1270に進み、所定距離Lth以下であると判定すると、ステップS1280に進む。
【0130】
ステップS1270では、ステップS1240で補正を行った量子化係数をさらに補正する。この補正処理は、図4に示すフローチャートのステップS580の処理と同じである。すなわち、量子化係数が標準量子化係数よりも小さい領域(図8の実線で囲まれた「基準より低い」領域)を低周波数側にシフトさせる(図8の点線で囲まれた領域)。なお、焦点距離の長さに応じて、量子化係数を標準量子化係数よりも小さくする周波数領域を決定するようにしてもよい。すなわち、焦点距離が長いほど、量子化係数を標準量子化係数よりも小さくする周波数が低くなるように(図8の実線で囲まれた「基準より低い」領域を低周波数側にシフトさせるように)してもよい。
【0131】
ステップS1280では、量子化係数を補正した量子化テーブルを記憶部24に記憶する。ステップS1270の処理を行った場合には、ステップS1270で量子化係数を補正した量子化テーブルを記憶部24に記憶し、ステップS1270の処理を行っていない場合には、ステップS1250で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0132】
一方、ステップS1230で撮影時に設定されていたシーンモードが夕焼けシーンではないと判定すると、ステップS1290に進む。ステップS1290では、撮影時に設定されていたシーンモードがビーチシーンであるか否かを判定する。撮影時に設定されていたシーンモードがビーチシーンであると判定すると、ステップS1300に進み、ビーチシーンではないと判定すると、図11に示すフローチャートの処理を終了する。
【0133】
ステップS1300では、標準量子化テーブルと、ビーチシーンに対応する補正データを記憶部24から読み出す。ビーチシーンに対応する補正データは、標準量子化テーブルの量子化係数を、図10を用いて説明した特性となるように補正するためのデータである。
【0134】
ステップS1310では、ステップS1300で読み出した標準量子化テーブルの量子化係数を、ステップS1300で読み出した補正データを用いて補正する。すなわち、図10に示すように、低周波数成分の量子化係数が標準量子化係数よりも小さくなるように補正するとともに、高周波数成分の量子化係数が標準量子化係数よりも大きくなるように補正する。
【0135】
ステップS1320では、ステップS1310で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0136】
図12は、第2の実施の形態における画像圧縮装置において、図2に示すフローチャートのステップS60で行われる処理、すなわち、量子化部22の選択部25によって行われる処理の流れを示すフローチャートである。
【0137】
ステップS1500では、撮像シーン情報を記憶部24から読み出す。
【0138】
ステップS1510では、ステップS1500で読み出した撮像シーン情報に基づいて、撮影時に設定されていたシーンモードが所定の撮像シーンのシーンモードであるか否か、すなわち、夜景シーン、花火シーン、夕焼けシーン、および、ビーチシーンのうちのいずれかのシーンモードであるか否かを判定する。撮影時に設定されていたシーンモードが所定の撮像シーンのシーンモードであると判定するとステップS1520に進み、所定の撮像シーンのシーンモードではないと判定すると、ステップS1530に進む。
【0139】
ステップS1520では、記憶部24に記憶されている複数の量子化テーブルの中から、撮影時に設定されていたシーンモードに応じた補正済み量子化テーブルを選択する。例えば、撮影時に設定されていたシーンモードが夜景シーンの場合には、図11に示すフローチャートのステップS1160で記憶した補正済み量子化テーブルを選択する。また、撮影時に設定されていたシーンモードが花火シーンの場合には、図11に示すフローチャートのステップS1220で記憶した補正済み量子化テーブルを選択する。さらに、撮影時に設定されていたシーンモードが夕焼けシーンの場合には、図11に示すフローチャートのステップS1280で記憶した補正済み量子化テーブルを選択し、ビーチシーンの場合には、図11に示すフローチャートのステップS1320で記憶した補正済み量子化テーブルを選択する。
【0140】
以上、第2の実施の形態における画像圧縮装置によれば、記憶部24は、基準となる量子化テーブルを記憶しており、量子化係数補正部26は、撮像シーン情報が所定の撮像シーンを示している場合、基準となる量子化テーブルで定義される量子化係数を補正し、補正した量子化係数を用いて画像データを量子化する。これにより、第1の実施の形態における画像圧縮装置と同様に、撮像シーンに応じて適切な量子化係数を用いて、画像データの圧縮を行うことができる。また、記憶部24は、所定の撮像シーンのシーンモードに対応する量子化テーブルを予め記憶しておく必要がないので、記憶部24に記憶させておくデータ量を低減させることができる。
【0141】
なお、上述した第1および第2の実施の形態の説明では、画像圧縮装置が行う処理としてハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、別途ソフトウェアにて処理する構成も可能である。この場合、画像圧縮装置は、CPU、RAM等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体を備えている。ここでは、このプログラムを画像圧縮プログラムと呼ぶ。そして、CPUが上記記憶媒体に記憶されている画像圧縮プログラムを読み出して、情報の加工・演算処理を実行することにより、上述の画像圧縮装置と同様の処理を実現させる。
【0142】
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、この画像圧縮プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該画像圧縮プログラムを実行するようにしても良い。
【0143】
本発明は、上述した第1および第2の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、画像圧縮装置20が画像データを圧縮する形式は、JPEG形式に限定されることはない。例えば、動画データの圧縮時に用いられるMotionJPEG形式であってもよい。
【0144】
夜景シーンに対応する量子化テーブルでは、低周波数成分の量子化係数を、標準量子化係数よりも大きく設定するものとして説明したが(図7参照)、低周波数成分の量子化係数を標準量子化係数と同じとしてもよい。
【0145】
また、夕焼けシーンに対応する量子化テーブルでは、高周波数成分の量子化係数を、標準量子化係数よりも大きく設定するものとして説明したが(図8参照)、高周波数成分の量子化係数を標準量子化係数と同じとしてもよい。
【0146】
さらに、ビーチシーンに対応する量子化テーブルでは、高周波数成分の量子化係数を、標準量子化係数よりも大きく設定するものとして説明したが(図10参照)、高周波数成分の量子化係数を標準量子化係数と同じとしてもよい。
【0147】
上述した実施形態では、量子化時に標準量子化テーブルと異なる量子化テーブルを用いる所定の撮像シーンを、夜景シーン、花火シーン、夕焼けシーン、および、ビーチシーンとして説明したが、所定の撮像シーンは、これらの撮像シーンに限定されることはない。すなわち、標準量子化テーブルと異なる量子化テーブルを用いた方がよい撮像シーンを所定の撮像シーンとして、その撮像シーンにおける被写体の特性に応じた量子化テーブル(量子化係数)を用いて、量子化を行えばよい。
【0148】
上述した実施形態では、画像圧縮装置をデジタルカメラに適用した例を挙げて説明したが、本発明による画像圧縮装置は、デジタルカメラ以外の電子機器にも適用することができる。
【符号の説明】
【0149】
10…デジタルカメラ
11…制御部
12…撮像部
13…画像処理部
15…操作入力部
16…撮像シーン特定部
20…画像圧縮装置
21…直交変換部
22…量子化部
23…エントロピー符号化部
24…記憶部
25…選択部
26…量子化係数補正部
【技術分野】
【0001】
本発明は、画像データの圧縮処理技術に関する。
【背景技術】
【0002】
一般に、画像データはデータ量が多いため、JPEG等の方式で圧縮符号化されてから保存される。画像データの圧縮符号化では、画像データを周波数変換し、周波数変換により得られたデータを、量子化テーブルを用いて量子化した後、符号化する。画像データの空間周波数は画像によって異なるため、全ての画像データに対して同じ量子化テーブルを用いて圧縮すると、画像によっては圧縮後のデータが小さくならないといった問題や、画質の劣化が目立つといった問題が生じる。従って、画像データに応じて量子化テーブルを変更する圧縮方法が提案されている。
【0003】
特許文献1には、画像データの周波数成分のヒストグラムに応じた量子化テーブルを作成して、画像データの圧縮を行う技術が開示されている。また、特許文献2には、シャッタ速度や焦点距離等の撮像条件に応じた量子化テーブルを選択して、画像データの圧縮を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平5−276391号公報
【特許文献2】特開2003−179926号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、撮影者が写したいと考える被写体を考慮した圧縮処理を行うことはできなかった。
【0006】
本発明は、上述した問題に鑑みてなされたものであり、撮影者が写したいと考える被写体に応じた圧縮処理を行う技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のある態様に係る画像圧縮装置は、撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する画像圧縮装置であって、前記画像データを記憶するとともに、前記画像データが撮影された撮像シーンを特定する撮像シーン情報を前記画像データに関連付けて記憶する記憶部と、前記記憶部に記憶されている前記画像データの所定の周波数成分に対する量子化を行うとき、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が所定の撮像シーンを示している場合と前記所定の撮像シーンを示していない場合とでは、異なる量子化係数を用いて前記量子化を行う量子化部と、を備える。
【0008】
本発明の別の態様に係る撮像装置は、撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する撮像装置であって、被写体を撮像して画像データを生成する撮像部と、前記画像データが撮影された撮像シーンを特定する撮像シーン特定部と、前記画像データの所定の周波数成分に対する量子化を行なうとき、前記撮像シーン特定部により前記画像データの前記撮像シーンが所定の撮像シーンと特定されている場合と前記所定の撮像シーンと特定されていない場合とでは異なる量子化係数を用いて前記量子化を行なう量子化部と、を備える。
【0009】
本発明のさらに別の態様に係る画像圧縮方法は、撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する画像圧縮方法であって、被写体を撮像して画像データを生成する撮像ステップと、前記画像データが撮影された撮像シーンを特定する撮像シーン特定ステップと、前記画像データの所定の周波数成分に対する量子化を行なうとき、前記撮像シーン特定ステップにおいて前記画像データの前記撮像シーンが所定の撮像シーンと特定されている場合と前記所定の撮像シーンと特定されていない場合とでは異なる量子化係数を用いて前記量子化を行なう量子化ステップと、を備える。
【発明の効果】
【0010】
本発明によれば、画像データに対して、撮影者が写したいと考える被写体に応じた圧縮処理を行うことができる。
【図面の簡単な説明】
【0011】
【図1】第1の実施の形態における画像圧縮装置を搭載したデジタルカメラの構成を示すブロック図である。
【図2】第1の実施の形態における画像圧縮装置によって行われる画像データの圧縮符号化処理の流れを示すフローチャートである。
【図3】記憶部に格納されている、様々なシーンモードに応じたデータの一例を示す図である。
【図4】量子化係数の補正処理の詳細を示すフローチャートである。
【図5】標準量子化テーブルの一例を示す図である。
【図6】量子化テーブルを高周波数成分、中間周波数成分、および、低周波数成分の3つの領域に分類する方法の一例を示す図である。
【図7】夜景シーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。
【図8】夕焼けシーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。
【図9】量子化の際に用いる量子化テーブルの選択処理の詳細を示すフローチャートである。
【図10】ビーチシーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。
【図11】第2の実施の形態における画像圧縮装置において、量子化係数の補正処理の詳細を示すフローチャートである。
【図12】第2の実施の形態における画像圧縮装置において、量子化の際に用いる量子化テーブルの選択処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【0012】
−第1の実施の形態−
図1は、第1の実施の形態における画像圧縮装置を搭載したデジタルカメラの構成を示すブロック図である。このデジタルカメラ10は、制御部11と、撮像部12と、画像処理部13と、記録部14と、操作入力部15と、撮像シーン特定部16と、画像圧縮装置20とを備える。
【0013】
撮像部12は、レンズや撮像素子を有し、被写体を撮像して画像データを得る。画像処理部13は、撮像部12によって得られた画像データに対して、ホワイトバランス補正処理、同時化処理、ガンマ補正処理、色再現処理、ノイズ低減処理などの画像処理を行う。画像処理が施された画像データは、後述する画像圧縮装置20の記憶部24に記憶される。
【0014】
操作入力部15は、撮影者によって操作される操作部材である。撮影者は、操作入力部15を操作することによって、デジタルカメラの各種設定を行ったり、撮影指示を出すことができる。特に、撮影者は、操作入力部15を操作することによって、撮像シーンに適した撮影条件で撮影を行うためのシーンモードを設定することができる。
【0015】
撮像シーン特定部16は、撮影者による操作入力部15の操作結果に基づいて、撮像シーンを特定する。特定された撮像シーン情報は、後述する画像圧縮装置20の記憶部24に記憶される。
【0016】
画像圧縮装置20は、直交変換部21と、量子化部22と、エントロピー符号化部23と、記憶部24と、量子化係数補正部26とを備え、画像処理部13で画像処理が施された画像データに対して、JPEG方式の圧縮を行う。
【0017】
直交変換部21は、記憶部24に一時的に記憶されている画像データを読み出し、読み出した画像データに対して、離散コサイン変換などの直交変換を行い、直交変換係数を生成する。
【0018】
量子化部22は、直交変換部21で生成された直交変換係数を量子化テーブルで定義された量子化係数で除算することによって、量子化データを生成する。特に、第1の実施の形態における画像圧縮装置において、量子化部22は、記憶部24に記憶された撮像シーン情報に対応した量子化テーブルを記憶部24から選択する選択部25を備え、選択部25で選択した量子化テーブルを記憶部24から読み出して用いる。
【0019】
エントロピー符号化部23は、量子化データに対して、ハフマン符号化などの既知の可変長符号化を行う。
【0020】
記憶部24は、画像処理部13で画像処理が施された画像データを一時的に記憶するとともに、撮像シーン特定部16で特定された撮像シーンの情報を画像データに関連付けて記憶する。記憶部24は、また、基準となる標準量子化テーブルと、様々な撮像シーンに対応した量子化係数を定めた量子化テーブルを記憶している。
【0021】
記録部14は、エントロピー符号化部23で符号化されたデータを、図示しない記録媒体に記録する。記録媒体は、例えばデジタルカメラに着脱可能なメモリカードであるが、これに限定されるものではない。
【0022】
制御部11は、デジタルカメラ内の各部12〜16、および画像圧縮装置20の制御を行う。
【0023】
図2は、第1の実施の形態における画像圧縮装置によって行われる画像データの圧縮符号化処理の流れを示すフローチャートである。デジタルカメラの電源がオンになると、制御部11はステップS10の処理を開始する。
【0024】
ステップS10では、撮影者によって、撮影モードがシーンモードに設定されているか否かを判定する。第1の実施の形態における画像圧縮装置を搭載したデジタルカメラでは、様々な撮像シーンに適した撮影条件で撮影を行うためのシーンモードを設定することができる。シーンモードを設定可能な撮像シーンとしては、例えば、ポートレートシーン、風景シーン、料理シーン、スポーツシーン、夜景シーン、花火シーン、夕焼けシーン、ビーチシーン等がある。本実施形態では、シーンモードを設定可能な撮像シーンのうち、夜景シーン、花火シーン、夕焼けシーン、ビーチシーンを所定の撮像シーンと呼ぶ。撮影モードがシーンモードに設定されていると判定すると、ステップS20に進む。
【0025】
ステップS20では、撮影者によってレリーズボタンが操作されたか否かを判定する。この判定は、操作入力部15から入力される信号に基づいて行う。レリーズボタンが操作されていないと判定すると、フローチャートの処理を終了し、レリーズボタンが操作されたと判定すると、撮影を開始するために、ステップS30に進む。
【0026】
ステップS30では、撮影者によって設定されたシーンモードに対応する撮影条件で撮影を行う。
【0027】
記憶部24には、所定の撮像シーンを含む様々な撮像シーンのシーンモードに応じて、撮影条件、画像処理条件、および、量子化テーブルを定めたデータが格納されている。図3は、記憶部24に格納されている、様々な撮像シーンのシーンモードに応じたデータの一例を示す図である。図3では、3つの撮像シーン(撮像シーンA、撮像シーンB、撮像シーンC)に応じた撮影条件、画像処理条件、および、量子化テーブルを例示している。撮影条件には、フラッシュのON/OFF、露光時間、ISO感度、焦点距離等が含まれる。また、画像処理条件には、階調変換を行う際に用いる階調変換係数、ホワイトバランス補正を行う際に用いるホワイトバランス係数等が含まれる。撮像シーンに応じた量子化テーブルについては後述する。
【0028】
ステップS30において、制御部11は、撮影者によって設定されたシーンモードに対応する撮影条件のデータを記憶部24から読み込み、読み込んだ撮影条件で撮像部12によって撮影を行わせる。この撮影条件は撮影者によって調整が加えられることもある。撮影時の撮影条件は、撮像情報として記憶部24に記憶させる。
【0029】
ステップS40において、画像処理部13は、ステップS30の撮影で得られた画像データに対して、撮影者によって設定されたシーンモードに対応する画像処理条件で画像処理を行う。撮影者によって設定されたシーンモードに対応した画像処理条件のデータは、記憶部24から読み出す。画像処理後の画像データは、画像圧縮装置20の記憶部24に記憶させる。
【0030】
ステップS50において、画像圧縮装置20の直交変換部21は、記憶部24から画像データを読み出し、読み出した画像データに対して既知の直交変換を行って、直交変換係数を生成する。
【0031】
ステップS55の処理は、ステップS30の処理が終わってからステップS60の処理が行われるまでの間に行う処理であり、ステップS40およびステップS50の処理と並列に行うことが可能である。ステップS55において、量子化係数の補正が必要な場合に、画像圧縮装置20の量子化係数補正部26は、撮像情報に応じた量子化係数の補正を行う。撮像情報に応じた量子化係数の補正方法を、図4に示すフローチャートを用いて説明する。
【0032】
図4は、図2に示すフローチャートのステップS55の処理の詳細を示すフローチャートである。シーンモードに対応する撮像条件に加えて撮像条件が手動で調整された場合に、補正が必要であると判断すると、シーンモードに対応する量子化テーブルの量子化係数に対して補正を行う。
【0033】
ステップS400では、撮像シーン情報および撮像情報を記憶部24から読み出す。
【0034】
ステップS410では、量子化テーブルの補正の有無を示す補正フラグをFALSEにセットして、記憶部24に記憶する。この補正フラグは、量子化テーブルの量子化係数の補正が行われる場合に、TRUEにセットされる。
【0035】
ステップS420では、ステップS400で読み出した撮像シーン情報に基づいて、撮影時に設定されていたシーンモードが夜景シーンであるか否かを判定する。撮影時に設定されていたシーンモードが夜景シーンであると判定すると、ステップS430に進む。
【0036】
ステップS430では、ステップS400で読み出した撮像情報に基づいて、撮影時の絞り値が所定の絞り値Fthよりも小さいか否かを判定する。撮影時の絞り値が所定の絞り値Fthよりも小さいと判定するとステップS440に進み、所定の絞り値Fth以上であると判定すると、量子化テーブルの補正を行わずに、図4に示すフローチャートの処理を終了する。
【0037】
ステップS440では、記憶部24から補正フラグを読み出してTRUEにセットした後、再び記憶部24に記憶する。
【0038】
ステップS450では、夜景シーンに対応した量子化テーブルを記憶部24から読み出す。
【0039】
夜景シーンに対応した量子化テーブルについて説明する。このため、基準となる標準量子化テーブルについて初めに説明する。標準量子化テーブルは、所定の撮像シーン以外の設定時に用いられる量子化テーブルである。図5は、標準量子化テーブルの一例を示す図である。上述したように、記憶部24には、様々なシーンモードに応じて、撮影条件、画像処理条件、および、量子化テーブルを定めたデータが格納されているが、所定の撮像シーン以外のシーンモード用のデータとして、図5に示すような標準量子化テーブルのデータが含まれている。
【0040】
本実施形態では、量子化テーブルを、高周波数成分、中間周波数成分、および、低周波数成分の3つの領域に分類して説明する。図6は、量子化テーブルを高周波数成分、中間周波数成分、および、低周波数成分の3つの領域に分類する方法の一例を示す図である。図6に示すように、量子化テーブルの水平方向および垂直方向ともに高周波数の領域を「高周波数成分」、水平方向および垂直方向ともに低周波数の領域を「低周波数成分」、高周波数成分と低周波数成分の間の領域を「中間周波数成分」と呼ぶ。ただし、図6に示す分類方法は一例であって、各周波数成分の領域の大きさや範囲が図6に示すものに限定されることはない。
【0041】
続いて、所定の撮像シーンのシーンモードに対応した量子化テーブルについて説明する。所定の撮像シーンのシーンモードでは、標準量子化テーブルとは異なる量子化テーブルが対応付けられている。図7は、夜景シーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。夜景シーンに対応する量子化テーブルは、後述する花火シーンに対応する量子化テーブルと同一である。
【0042】
夜景シーンは、夜景の街灯やネオンの光を色鮮やかに撮影することを目的としたシーンモードである。夜景シーンの撮影では、ピントは無限遠で、シャッタ速度は遅めに設定され、フラッシュの発光は行わない。また、他のシーンモードと比べて、強めのノイズ低減処理が行われる。
【0043】
夜景の灯りは高周波数成分であるため、高周波数成分が残るように量子化係数を設定する必要がある。従って、夜景シーンに対応する量子化テーブルでは、高周波数成分の量子化係数を、標準量子化テーブルの量子化係数(以下、標準量子化係数と呼ぶ)よりも小さく設定する。すなわち、夜景シーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、高周波数成分において量子化誤差の小さい量子化係数が設定される。図7では、量子化係数を標準量子化係数よりも小さい値に設定する高周波数成分領域を実線で囲んで、「基準より低い」と表現している。
【0044】
また、夜景シーンの撮影で得られる画像では、低周波数成分は少ないので、低周波数成分の量子化係数を、標準量子化係数よりも大きく設定する。すなわち、夜景シーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、低周波数成分において量子化誤差の大きい量子化係数が設定されている。図7では、量子化係数を標準量子化係数よりも大きい値に設定する低周波数成分領域を実線で囲んで、「基準より高い」と表現している。量子化係数を標準量子化係数よりも小さい値に設定する領域、および、標準量子化係数よりも大きい値に設定する領域以外の領域では、標準量子化係数と同じ値を設定しておく。
【0045】
ここで、夜景シーンでの撮影時に、撮影者によって絞りが開放側、すなわち、夜景シーンにおける推奨絞り値よりも小さい絞り値に設定されると、点光源が広がって写るため、中〜高周波数成分(図7の点線で囲まれた領域)の量子化係数を小さく設定する必要がある。
【0046】
従って、ステップS460では、ステップS450で読み出した夜景シーンに対応した量子化テーブルの量子化係数を補正する。具体的には、図7の実線で囲まれた領域だけでなく、点線で囲まれた領域も、量子化係数を標準量子化係数よりも小さい値にする。
【0047】
なお、絞り値の大きさに応じて、量子化係数を標準量子化係数よりも小さくする領域を決定するようにしてもよい。すなわち、絞り値が小さいほど、量子化係数を標準量子化係数よりも小さくする領域が広くなるように(図7の点線で囲まれた領域を低周波数側に拡大するように)してもよい。
【0048】
ステップS470では、ステップS460で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0049】
一方、ステップS420で撮影時に設定されていたシーンモードが夜景シーンではないと判定すると、ステップS480に進む。ステップS480では、撮影時に設定されていたシーンモードが花火シーンであるか否かを判定する。撮影時に設定されていたシーンモードが花火シーンであると判定すると、ステップS490に進む。
【0050】
ステップS490では、ステップS400で読み出した撮像情報に基づいて、撮影時の露光時間が所定時間Tthより長いか否かを判定する。撮影時の露光時間が所定時間Tthより長いと判定するとステップS500に進み、所定時間Tth以下であると判定すると、量子化テーブルの補正を行わずに、図4に示すフローチャートの処理を終了する。
【0051】
ステップS500では、記憶部24から補正フラグを読み出してTRUEにセットした後、再び記憶部24に記憶する。
【0052】
ステップS510では、花火シーンに対応した量子化テーブルを記憶部24から読み出す。上述したように、花火シーンに対応した量子化テーブルは、夜景シーンに対応した量子化テーブルと同じである(図7参照)。
【0053】
花火シーンは、花火を色鮮やかに撮影することを目的としたシーンモードである。花火シーンの撮影では、ピントは無限遠で、シャッタ速度は遅めに設定され、フラッシュの発光は行わない。また、他のシーンモードと比べて、強めのノイズ低減処理が行われる。
【0054】
花火の火花は高周波数成分であるため、高周波数成分が残るように量子化係数を設定する必要がある。従って、花火シーンに対応する量子化テーブルでは、高周波数成分の量子化係数を標準量子化係数よりも小さく設定する(図7参照)。すなわち、花火シーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、高周波数成分において量子化誤差の小さい量子化係数が設定される。
【0055】
また、花火シーンの撮影で得られる画像では、低周波数成分は少ないので、低周波数成分の量子化係数を、標準量子化係数よりも大きく設定する。すなわち、夜景シーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、低周波数成分において量子化誤差の大きい量子化係数が設定されている。
【0056】
花火シーンでの撮影では、露光時間が長くなるほど、花火の光跡に線成分が多くなるので、線成分の画質の劣化を防ぐため、中〜高周波数成分(図7の点線で囲まれた領域)の量子化係数を小さく設定する必要がある。
【0057】
従って、ステップS520では、ステップS510で読み出した花火シーンに対応した量子化テーブルの量子化係数を補正する。具体的には、図7の実線で囲まれた領域だけでなく、点線で囲まれた領域も、量子化係数を標準量子化係数よりも小さい値にする。
【0058】
なお、露光時間の長さに応じて、量子化係数を標準量子化係数よりも小さくする領域を決定するようにしてもよい。すなわち、露光時間が長いほど、量子化係数を標準量子化係数よりも小さくする領域が広くなるように(図7の点線で囲まれた領域を低周波数側に拡大するように)してもよい。
【0059】
ステップS530では、ステップS520で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0060】
一方、ステップS480で撮影時に設定されていたシーンモードが花火シーンではないと判定すると、ステップS540に進む。ステップS540では、撮影時に設定されていたシーンモードが夕焼けシーンであるか否かを判定する。撮影時に設定されていたシーンモードが夕焼けシーンであると判定すると、ステップS550に進む。
【0061】
ステップS550では、ステップS400で読み出した撮像情報に基づいて、撮影時の焦点距離が所定距離Lthよりも長いか否かを判定する。撮影時の焦点距離が所定距離Lthよりも長いと判定するとステップS560に進み、所定距離Lth以下であると判定すると、量子化テーブルの補正を行わずに、図4に示すフローチャートの処理を終了する。
【0062】
ステップS560では、記憶部24から補正フラグを読み出してTRUEにセットした後、再び記憶部24に記憶する。
【0063】
ステップS570では、夕焼けシーンに対応した量子化テーブルを記憶部24から読み出す。
【0064】
夕焼けシーンは、夕焼けや朝焼けを撮影することを目的としたシーンモードである。夕焼けシーンの撮影では、フラッシュの発光は行わず、ホワイトバランスが太陽光に設定されて、赤色が強調される画像処理が行われる。
【0065】
夕焼けシーンの撮影で得られる画像では、空が大きな領域を占めると考えられるため、標準量子化テーブルと比べて、画像の低周波数成分が残るような量子化テーブルを用いる。特に、夕焼けの画像でよく見られるグラデーションが残るように、低〜中間周波数成分の量子化係数を、標準量子化係数よりも小さく設定する。すなわち、夕焼けシーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、低〜中間周波数成分において量子化誤差の小さい量子化係数が設定される。
【0066】
一方、夕焼けの画像では、高周波数成分は少ないため、高周波数成分の量子化係数を、標準量子化係数よりも大きく設定する。すなわち、夕焼けシーンに対応する量子化テーブルでは、標準量子化テーブルと比べて、高周波数成分において量子化誤差の大きい量子化係数が設定されている。
【0067】
図8は、夕焼けシーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。図8では、量子化係数を標準量子化係数よりも小さい値に設定する領域を実線で囲んで、「基準より低い」と表現している。また、量子化係数を標準量子化係数よりも大きい値に設定する領域を実線で囲んで、「基準より高い」と表現している。量子化係数を標準量子化係数よりも小さい値に設定する領域、および、標準量子化係数よりも大きい値に設定する領域以外の領域では、標準量子化係数と同じ値を設定しておく。
【0068】
夕焼けシーンの撮影時に、焦点距離が長く設定されると、画像中の夕焼けの周波数は低くなるため、量子化係数を小さく設定する周波数を低くする必要がある。
【0069】
従って、ステップS580では、ステップS570で読み出した夕焼けシーンに対応した量子化テーブルの量子化係数を補正する。具体的には、量子化係数が標準量子化係数よりも小さい領域(図8の実線で囲まれた「基準より低い」領域)を低周波数側にシフトさせる(図8の点線で囲まれた領域)。
【0070】
なお、焦点距離の長さに応じて、量子化係数を標準量子化係数よりも小さくする周波数領域を決定するようにしてもよい。すなわち、焦点距離が長いほど、量子化係数を標準量子化係数よりも小さくする周波数が低くなるように(図8の実線で囲まれた「基準より低い」領域を低周波数側にシフトさせるように)してもよい。
【0071】
ステップS590では、ステップS580で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0072】
図2に示すフローチャートに戻って説明を続ける。ステップS60において、量子化部22の選択部25は、撮影時のシーンモードおよび補正フラグに基づいて、記憶部24に記憶されている複数の量子化テーブルの中から、量子化の際に用いる量子化テーブルを選択する。量子化テーブルを選択する方法を、図9に示すフローチャートを用いて説明する。
【0073】
図9は、図2に示すフローチャートのステップS60の処理の詳細を示すフローチャートである。ステップS700では、撮像シーン情報を記憶部24から読み出す。
【0074】
ステップS710では、ステップS700で読み出した撮像シーン情報に基づいて、撮影時に設定されていたシーンモードが夜景シーンであるか否かを判定する。撮影時に設定されていたシーンモードが夜景シーンであると判定すると、ステップS720に進む。
【0075】
ステップS720では、記憶部24から補正フラグを読み出し、読み出した補正フラグがTRUEにセットされているか否かを判定する。補正フラグがFALSEにセットされていると判定するとステップS730に進み、TRUEにセットされていると判定すると、ステップS740に進む。
【0076】
ステップS730では、記憶部24に記憶されている複数の量子化テーブルの中から、夜景シーンに対応する量子化テーブルを選択する。
【0077】
一方、ステップS740では、記憶部24に記憶されている複数の量子化テーブルの中から、量子化係数に対して補正が行われた、夜景シーンに対応する量子化テーブルを選択する。量子化係数に対して補正が行われた、夜景シーンに対応する量子化テーブルとは、図4に示すフローチャートのステップS470で記憶部24に記憶された量子化テーブルである。
【0078】
一方、ステップS710で撮影時に設定されていたシーンモードが夜景シーンではないと判定すると、ステップS750に進む。ステップS750では、撮影時に設定されていたシーンモードが花火シーンであるか否かを判定する。撮影時に設定されていたシーンモードが花火シーンであると判定すると、ステップS760に進む。
【0079】
ステップS760では、記憶部24から補正フラグを読み出し、読み出した補正フラグがTRUEにセットされているか否かを判定する。補正フラグがFALSEにセットされていると判定するとステップS770に進み、TRUEにセットされていると判定すると、ステップS780に進む。
【0080】
ステップS770では、記憶部24に記憶されている複数の量子化テーブルの中から、花火シーンに対応する量子化テーブルを選択する。
【0081】
一方、ステップS780では、記憶部24に記憶されている複数の量子化テーブルの中から、量子化係数に対して補正が行われた、花火シーンに対応する量子化テーブルを選択する。量子化係数に対して補正が行われた、花火シーンに対応する量子化テーブルとは、図4に示すフローチャートのステップS530で記憶部24に記憶された量子化テーブルである。
【0082】
一方、ステップS750で撮影時に設定されていたシーンモードが花火シーンではないと判定すると、ステップS790に進む。ステップS790では、撮影時に設定されていたシーンモードが夕焼けシーンであるか否かを判定する。撮影時に設定されていたシーンモードが夕焼けシーンであると判定すると、ステップS800に進む。
【0083】
ステップS800では、記憶部24から補正フラグを読み出し、読み出した補正フラグがTRUEにセットされているか否かを判定する。補正フラグがFALSEにセットされていると判定するとステップS810に進み、TRUEにセットされていると判定すると、ステップS820に進む。
【0084】
ステップS810では、記憶部24に記憶されている複数の量子化テーブルの中から、夕焼けシーンに対応する量子化テーブルを選択する。
【0085】
一方、ステップS820では、記憶部24に記憶されている複数の量子化テーブルの中から、量子化係数に対して補正が行われた、夕焼けシーンに対応する量子化テーブルを選択する。量子化係数に対して補正が行われた、夕焼けシーンに対応する量子化テーブルとは、図4に示すフローチャートのステップS590で記憶部24に記憶された量子化テーブルである。
【0086】
一方、ステップS790で撮影時に設定されていたシーンモードが夕焼けシーンではないと判定すると、ステップS830に進む。ステップS830では、撮影時に設定されていたシーンモードがビーチシーンであるか否かを判定する。撮影時に設定されていたシーンモードがビーチシーンであると判定すると、ステップS840に進む。
【0087】
ステップS840では、記憶部24に記憶されている複数の量子化テーブルの中から、ビーチシーンに対応する量子化テーブルを選択する。
【0088】
ビーチシーンに対応する量子化テーブルについて説明する。ビーチシーンは、明るい場所でも白とびしない画像を得ることを目的としたシーンモードである。ビーチシーンの撮影では、被写体光に応じた適正露出が行われ、フラッシュの発光は行われない。
【0089】
ビーチシーンでは、海や空などを多く含む風景が撮影される。画像上で海や空の領域は低周波数成分を多く含むため、海や空の領域の画質を低下させないように、低周波数成分の量子化係数を標準量子化係数よりも小さく設定する。特に、海や空の色の変化が残るように、色差成分の水平方向における低周波数成分の量子化係数を小さく設定する。また、ビーチシーンにおける画像では、高周波数成分は少ないため、高周波数成分の量子化係数を、標準量子化係数よりも大きく設定する。
【0090】
図10は、ビーチシーンに対応する量子化テーブルで定義される量子化係数を説明するための図である。図10では、量子化係数を標準量子化係数よりも小さい値に設定する領域を実線で囲んで、「基準より低い」と表現している。また、量子化係数を標準量子化係数よりも大きい値に設定する領域を実線で囲んで、「基準より高い」と表現している。量子化係数を標準量子化係数よりも小さい値に設定する領域、および、標準量子化係数よりも大きい値に設定する領域以外の領域では、標準量子化係数と同じ値を設定しておく。
【0091】
一方、ステップS830で撮影時に設定されていたシーンモードがビーチシーンではないと判定すると、ステップS850に進む。ステップS850に進むのは、撮影時に設定されていたシーンモードが所定の撮像シーンではないシーンモードの場合である。ステップS850では、記憶部24に記憶されている複数の量子化テーブルの中から、標準量子化テーブルを選択する。所定の撮像シーンではないシーンモードには、ポートレートシーンが含まれる。
【0092】
ここで、ポートレートシーンについて説明しておく。ポートレートシーンは、人物を撮影することを目的としたシーンモードである。ポートレートシーンでは、ピントを人物に合わせて、色強調を肌色に設定し、また、背景をぼかすような設定で撮影が行われる。
【0093】
ポートレートシーンのシーンモードで撮影が行われる場合、主要被写体は人物であると推定することができる。しかし、人物の顔については、肌は低周波数成分が多く、目やまつげ、髪の毛等は高周波数成分が多い。また、画像中の人物の大きさによっても被写体の周波数が異なるため、人物の周波数傾向は特定しにくい。従って、記憶部24に記憶されているポートレートシーンのデータには、図5に示すような標準量子化テーブルのデータが含まれており、選択部25は、標準量子化テーブルを選択する。
【0094】
図2に示すフローチャートに戻って説明を続ける。ステップS65において、量子化部22は、選択部25で選択された量子化テーブルを記憶部24から読み出し、直交変換部21で生成された直交変換係数を、読み出した量子化テーブルで定義された量子化係数で除算することによって、量子化データを生成する。
【0095】
一方、ステップS10において、撮影モードがシーンモードに設定されていないと判定すると、ステップS70に進む。
【0096】
ステップS70では、撮影者によってレリーズボタンが操作されたか否かを判定する。この判定は、操作入力部15から入力される信号に基づいて行う。レリーズボタンが操作されていないと判定すると、フローチャートの処理を終了し、レリーズボタンが操作されたと判定すると、撮影を開始するために、ステップS80に進む。
【0097】
ステップS80では、撮影者によって設定された撮影条件、または、自動的に設定された撮影条件で撮影を行う。
【0098】
ステップS90において、画像処理部13は、ステップS80の撮影で得られた画像データに対して、撮影者によって設定された画像処理条件、または、自動的に設定された画像処理条件で画像処理を行う。画像処理後の画像データは、画像圧縮装置20の記憶部24に記憶させる。
【0099】
ステップS100において、画像圧縮装置20の直交変換部21は、記憶部24から画像データを読み出し、読み出した画像データに対して既知の直交変換を行って、直交変換係数を生成する。
【0100】
ステップS110において、画像圧縮装置20の量子化部22は、直交変換部21で生成された直交変換係数に基づいて、量子化データを生成する。ここでは、記憶部24から標準量子化テーブル(図5参照)を読み出し、直交変換部21で生成された直交変換係数を、読み出した標準量子化テーブルの量子化係数で除算することによって、量子化データを生成する。
【0101】
ステップS120において、画像圧縮装置20のエントロピー符号化部23は、ステップS65、またはステップS110で生成された量子化データに対して、ハフマン符号化などの可変長符号化を行う。
【0102】
ステップS130において、記録部14は、エントロピー符号化部23で符号化されたデータを、メモリカード等の記録媒体に記録する。
【0103】
以上、第1の実施の形態における画像圧縮装置は、撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、画像データを圧縮する画像圧縮装置であって、記憶部24に記憶されている画像データの所定の周波数成分に対する量子化を行うとき、画像データに関連付けられて記憶部24に記憶されている撮像シーン情報が所定の撮像シーンを示している場合と所定の撮像シーンを示していない場合とでは、異なる量子化係数を用いて量子化を行う。これにより、撮像シーンに応じて適切な量子化係数を用いて、画像データの圧縮を行うことができる。
【0104】
ここで、画像データの周波数成分のヒストグラムに応じた量子化テーブルを作成して、画像データの圧縮を行う従来の方法では、必ずしも撮影者が本当に撮影したい被写体に応じた量子化テーブルが作成されるとは限らなかった。これに対して、第1の実施の形態における画像圧縮装置では、撮像シーンに応じた量子化テーブル(量子化係数)を使用することで、撮影者が本当に撮影したいと考える被写体に応じた量子化テーブルを用いて、画像データの圧縮を行うことができる。
【0105】
また、第1の実施の形態における画像圧縮装置では、所定の周波数成分における量子化係数が互いに異なる第1の量子化テーブルおよび第2の量子化テーブルを記憶しておき、撮像シーン情報が所定の撮像シーンを示している場合、第1の量子化テーブルで定義される量子化係数を用いて画像データを量子化し、撮像シーン情報が所定の撮像シーンを示していない場合、第2の量子化テーブルで定義される量子化係数を用いて画像データを量子化する。これにより、撮像シーン情報に基づいて、使用する量子化テーブルが決定されるので、撮像シーンごとの量子化テーブルを演算により求める必要がなく、画像データの圧縮を迅速に行うことができる。
【0106】
また、第1の実施の形態における画像圧縮装置では、撮像シーン情報が所定の撮像シーンを示している場合、撮像時の焦点距離、絞り、および、露光時間のうちの少なくとも一つの情報に基づいて、量子化テーブルで定義された量子化係数を補正し、補正した量子化係数を用いて画像データを量子化する。これにより、撮像時の撮像情報に基づいて、撮像シーンに応じた量子化をさらに効果的に行うことができる。
【0107】
特に、第1の実施の形態における画像圧縮装置によれば、撮像シーンが夜景シーンまたは花火シーンの場合、撮像シーンが所定の撮像シーンではないと判定された場合に比べて、高周波数成分において量子化誤差の小さい量子化係数を用いて画像データを圧縮する。これにより、画像上における夜景の灯りまたは花火の火花の画質の劣化を抑制することができる。
【0108】
また、第1の実施の形態における画像圧縮装置によれば、撮像シーンが夕焼けシーンの場合、撮像シーンが所定の撮像シーンではないと判定された場合に比べて、低周波数成分から中間周波数成分において量子化誤差の小さい量子化係数を用いて画像データを圧縮する。これにより、画像上における夕焼け空のグラデーションの画質の劣化を抑制することができる。
【0109】
さらに、第1の実施の形態における画像圧縮装置によれば、撮像シーンがビーチシーンの場合、撮像シーンが所定の撮像シーンではないと判定された場合に比べて、水平方向の低周波数成分において量子化誤差の小さい量子化係数を用いて画像データを圧縮する。これにより、画像上において、海や空の水平成分の緩やかな色の変化を残すことができる。
【0110】
−第2の実施の形態−
第1の実施の形態における画像圧縮装置では、所定の撮像シーンのシーンモードに対応した量子化テーブルを記憶部24から読み出して、画像データを量子化する際に用いた。第2の実施の形態における画像圧縮装置では、記憶部24から標準量子化テーブルを読み出し、所定の撮像シーンのシーンモードごとに、標準量子化テーブルの量子化係数を補正して、量子化の際に用いる。
【0111】
なお、第2の実施の形態における画像圧縮装置を搭載したデジタルカメラの構成は、図1に示す第1の実施の形態における画像圧縮装置を搭載したデジタルカメラの構成と同じである。ただし、第2の実施の形態における記憶部24は、シーンモードごとの量子化テーブルは記憶せずに、標準量子化テーブルを記憶している。記憶部24は、また、所定の撮像シーンのシーンモードごとに、標準量子化テーブルの量子化係数を補正するための補正用データを記憶している。
【0112】
第2の実施の形態における画像圧縮装置によって行われる圧縮符号化処理では、図2のフローチャートの処理のうち、ステップS55およびステップS60で行われる処理内容が異なる。第2の実施の形態における画像圧縮装置によって行われる圧縮符号化処理のうち、ステップS55で行われる処理の詳細を図11に示すフローチャートを用いて説明するとともに、ステップS60で行われる処理の詳細を図12に示すフローチャートを用いて説明する。
【0113】
図11に示すフローチャートのステップS1100では、撮像シーン情報および撮像情報を記憶部24から読み出す。
【0114】
ステップS1110では、ステップS1100で読み出した撮像シーン情報に基づいて、撮影時に設定されていたシーンモードが夜景シーンであるか否かを判定する。撮影時に設定されていたシーンモードが夜景シーンであると判定すると、ステップS1120に進む。
【0115】
ステップS1120では、標準量子化テーブルと、夜景シーンに対応する補正データを記憶部24から読み出す。夜景シーンに対応する補正データは、標準量子化テーブルの量子化係数を、図7を用いて説明した特性となるように補正するためのデータである。
【0116】
ステップS1130では、ステップS1120で読み出した標準量子化テーブルの量子化係数を、ステップS1120で読み出した補正データを用いて補正する。すなわち、図7に示すように、高周波数成分の量子化係数が標準量子化係数よりも小さくなるように補正するとともに、低周波数成分の量子化係数が標準量子化係数よりも大きくなるように補正する。
【0117】
ステップS1140では、ステップS1100で読み出した撮像情報に基づいて、撮影時の絞り値が所定の絞り値Fthよりも小さいか否かを判定する。撮影時の絞り値が所定の絞り値Fthよりも小さいと判定するとステップS1150に進み、所定の絞り値Fth以上であると判定すると、ステップS1160に進む。
【0118】
ステップS1150では、ステップS1130で補正を行った量子化係数をさらに補正する。この補正処理は、図4に示すフローチャートのステップS460の処理と同じである。すなわち、図7の実線で囲まれた領域だけでなく、点線で囲まれた領域も、量子化係数を標準量子化係数よりも小さい値にする補正を行う。なお、絞り値の大きさに応じて、量子化係数を標準量子化係数よりも小さくする領域を決定するようにしてもよい。すなわち、絞り値が小さいほど、量子化係数を標準量子化係数よりも小さくする領域が広くなるように(図7の点線で囲まれた領域を低周波数側に拡大するように)してもよい。
【0119】
ステップS1160では、量子化係数を補正した量子化テーブルを記憶部24に記憶する。ステップS1150の処理を行った場合には、ステップS1150で量子化係数を補正した量子化テーブルを記憶部24に記憶し、ステップS1150の処理を行っていない場合には、ステップS1130で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0120】
一方、ステップS1110で撮影時に設定されていたシーンモードが夜景シーンではないと判定すると、ステップS1170に進む。ステップS1170では、撮影時に設定されていたシーンモードが花火シーンであるか否かを判定する。撮影時に設定されていたシーンモードが花火シーンであると判定すると、ステップS1180に進む。
【0121】
ステップS1180では、標準量子化テーブルと、花火シーンに対応する補正データを記憶部24から読み出す。花火シーンに対応する補正データは、標準量子化テーブルの量子化係数を、図7を用いて説明した特性となるように補正するためのデータである。
【0122】
ステップS1190では、ステップS1180で読み出した標準量子化テーブルの量子化係数を、ステップS1180で読み出した補正データを用いて補正する。すなわち、図7に示すように、高周波数成分の量子化係数が標準量子化係数よりも小さくなるように補正するとともに、低周波数成分の量子化係数が標準量子化係数よりも大きくなるように補正する。
【0123】
ステップS1200では、ステップS1100で読み出した撮像情報に基づいて、撮影時の露光時間が所定時間Tthより長いか否かを判定する。撮影時の露光時間が所定時間Tthより長いと判定するとステップS1210に進み、所定時間Tth以下であると判定すると、ステップS1220に進む。
【0124】
ステップS1210では、ステップS1190で補正を行った量子化係数をさらに補正する。この補正処理は、図4に示すフローチャートのステップS520の処理と同じである。すなわち、図7の実線で囲まれた領域だけでなく、点線で囲まれた領域も、量子化係数を標準量子化係数よりも小さい値にする補正を行う。なお、露光時間の長さに応じて、量子化係数を標準量子化係数よりも小さくする領域を決定するようにしてもよい。すなわち、露光時間が長いほど、量子化係数を標準量子化係数よりも小さくする領域が広くなるように(図7の点線で囲まれた領域を低周波数側に拡大するように)してもよい。
【0125】
ステップS1220では、量子化係数を補正した量子化テーブルを記憶部24に記憶する。ステップS1210の処理を行った場合には、ステップS1210で量子化係数を補正した量子化テーブルを記憶部24に記憶し、ステップS1210の処理を行っていない場合には、ステップS1190で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0126】
一方、ステップS1170で撮影時に設定されていたシーンモードが花火シーンではないと判定すると、ステップS1230に進む。ステップS1230では、撮影時に設定されていたシーンモードが夕焼けシーンであるか否かを判定する。撮影時に設定されていたシーンモードが夕焼けシーンであると判定すると、ステップS1240に進む。
【0127】
ステップS1240では、標準量子化テーブルと、夕焼けシーンに対応する補正データを記憶部24から読み出す。夕焼けシーンに対応する補正データは、標準量子化テーブルの量子化係数を、図8を用いて説明した特性となるように補正するためのデータである。
【0128】
ステップS1250では、ステップS1240で読み出した標準量子化テーブルの量子化係数を、ステップS1240で読み出した補正データを用いて補正する。すなわち、図8に示すように、低〜中間周波数成分の量子化係数が標準量子化係数よりも小さくなるように補正するとともに、高周波数成分の量子化係数が標準量子化係数よりも大きくなるように補正する。
【0129】
ステップS1260では、ステップS1100で読み出した撮像情報に基づいて、撮影時の焦点距離が所定距離Lthよりも長いか否かを判定する。撮影時の焦点距離が所定距離Lthよりも長いと判定するとステップS1270に進み、所定距離Lth以下であると判定すると、ステップS1280に進む。
【0130】
ステップS1270では、ステップS1240で補正を行った量子化係数をさらに補正する。この補正処理は、図4に示すフローチャートのステップS580の処理と同じである。すなわち、量子化係数が標準量子化係数よりも小さい領域(図8の実線で囲まれた「基準より低い」領域)を低周波数側にシフトさせる(図8の点線で囲まれた領域)。なお、焦点距離の長さに応じて、量子化係数を標準量子化係数よりも小さくする周波数領域を決定するようにしてもよい。すなわち、焦点距離が長いほど、量子化係数を標準量子化係数よりも小さくする周波数が低くなるように(図8の実線で囲まれた「基準より低い」領域を低周波数側にシフトさせるように)してもよい。
【0131】
ステップS1280では、量子化係数を補正した量子化テーブルを記憶部24に記憶する。ステップS1270の処理を行った場合には、ステップS1270で量子化係数を補正した量子化テーブルを記憶部24に記憶し、ステップS1270の処理を行っていない場合には、ステップS1250で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0132】
一方、ステップS1230で撮影時に設定されていたシーンモードが夕焼けシーンではないと判定すると、ステップS1290に進む。ステップS1290では、撮影時に設定されていたシーンモードがビーチシーンであるか否かを判定する。撮影時に設定されていたシーンモードがビーチシーンであると判定すると、ステップS1300に進み、ビーチシーンではないと判定すると、図11に示すフローチャートの処理を終了する。
【0133】
ステップS1300では、標準量子化テーブルと、ビーチシーンに対応する補正データを記憶部24から読み出す。ビーチシーンに対応する補正データは、標準量子化テーブルの量子化係数を、図10を用いて説明した特性となるように補正するためのデータである。
【0134】
ステップS1310では、ステップS1300で読み出した標準量子化テーブルの量子化係数を、ステップS1300で読み出した補正データを用いて補正する。すなわち、図10に示すように、低周波数成分の量子化係数が標準量子化係数よりも小さくなるように補正するとともに、高周波数成分の量子化係数が標準量子化係数よりも大きくなるように補正する。
【0135】
ステップS1320では、ステップS1310で量子化係数を補正した量子化テーブルを記憶部24に記憶する。
【0136】
図12は、第2の実施の形態における画像圧縮装置において、図2に示すフローチャートのステップS60で行われる処理、すなわち、量子化部22の選択部25によって行われる処理の流れを示すフローチャートである。
【0137】
ステップS1500では、撮像シーン情報を記憶部24から読み出す。
【0138】
ステップS1510では、ステップS1500で読み出した撮像シーン情報に基づいて、撮影時に設定されていたシーンモードが所定の撮像シーンのシーンモードであるか否か、すなわち、夜景シーン、花火シーン、夕焼けシーン、および、ビーチシーンのうちのいずれかのシーンモードであるか否かを判定する。撮影時に設定されていたシーンモードが所定の撮像シーンのシーンモードであると判定するとステップS1520に進み、所定の撮像シーンのシーンモードではないと判定すると、ステップS1530に進む。
【0139】
ステップS1520では、記憶部24に記憶されている複数の量子化テーブルの中から、撮影時に設定されていたシーンモードに応じた補正済み量子化テーブルを選択する。例えば、撮影時に設定されていたシーンモードが夜景シーンの場合には、図11に示すフローチャートのステップS1160で記憶した補正済み量子化テーブルを選択する。また、撮影時に設定されていたシーンモードが花火シーンの場合には、図11に示すフローチャートのステップS1220で記憶した補正済み量子化テーブルを選択する。さらに、撮影時に設定されていたシーンモードが夕焼けシーンの場合には、図11に示すフローチャートのステップS1280で記憶した補正済み量子化テーブルを選択し、ビーチシーンの場合には、図11に示すフローチャートのステップS1320で記憶した補正済み量子化テーブルを選択する。
【0140】
以上、第2の実施の形態における画像圧縮装置によれば、記憶部24は、基準となる量子化テーブルを記憶しており、量子化係数補正部26は、撮像シーン情報が所定の撮像シーンを示している場合、基準となる量子化テーブルで定義される量子化係数を補正し、補正した量子化係数を用いて画像データを量子化する。これにより、第1の実施の形態における画像圧縮装置と同様に、撮像シーンに応じて適切な量子化係数を用いて、画像データの圧縮を行うことができる。また、記憶部24は、所定の撮像シーンのシーンモードに対応する量子化テーブルを予め記憶しておく必要がないので、記憶部24に記憶させておくデータ量を低減させることができる。
【0141】
なお、上述した第1および第2の実施の形態の説明では、画像圧縮装置が行う処理としてハードウェアによる処理を前提としていたが、このような構成に限定される必要はない。例えば、別途ソフトウェアにて処理する構成も可能である。この場合、画像圧縮装置は、CPU、RAM等の主記憶装置、上記処理の全て或いは一部を実現させるためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体を備えている。ここでは、このプログラムを画像圧縮プログラムと呼ぶ。そして、CPUが上記記憶媒体に記憶されている画像圧縮プログラムを読み出して、情報の加工・演算処理を実行することにより、上述の画像圧縮装置と同様の処理を実現させる。
【0142】
ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、この画像圧縮プログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該画像圧縮プログラムを実行するようにしても良い。
【0143】
本発明は、上述した第1および第2の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、画像圧縮装置20が画像データを圧縮する形式は、JPEG形式に限定されることはない。例えば、動画データの圧縮時に用いられるMotionJPEG形式であってもよい。
【0144】
夜景シーンに対応する量子化テーブルでは、低周波数成分の量子化係数を、標準量子化係数よりも大きく設定するものとして説明したが(図7参照)、低周波数成分の量子化係数を標準量子化係数と同じとしてもよい。
【0145】
また、夕焼けシーンに対応する量子化テーブルでは、高周波数成分の量子化係数を、標準量子化係数よりも大きく設定するものとして説明したが(図8参照)、高周波数成分の量子化係数を標準量子化係数と同じとしてもよい。
【0146】
さらに、ビーチシーンに対応する量子化テーブルでは、高周波数成分の量子化係数を、標準量子化係数よりも大きく設定するものとして説明したが(図10参照)、高周波数成分の量子化係数を標準量子化係数と同じとしてもよい。
【0147】
上述した実施形態では、量子化時に標準量子化テーブルと異なる量子化テーブルを用いる所定の撮像シーンを、夜景シーン、花火シーン、夕焼けシーン、および、ビーチシーンとして説明したが、所定の撮像シーンは、これらの撮像シーンに限定されることはない。すなわち、標準量子化テーブルと異なる量子化テーブルを用いた方がよい撮像シーンを所定の撮像シーンとして、その撮像シーンにおける被写体の特性に応じた量子化テーブル(量子化係数)を用いて、量子化を行えばよい。
【0148】
上述した実施形態では、画像圧縮装置をデジタルカメラに適用した例を挙げて説明したが、本発明による画像圧縮装置は、デジタルカメラ以外の電子機器にも適用することができる。
【符号の説明】
【0149】
10…デジタルカメラ
11…制御部
12…撮像部
13…画像処理部
15…操作入力部
16…撮像シーン特定部
20…画像圧縮装置
21…直交変換部
22…量子化部
23…エントロピー符号化部
24…記憶部
25…選択部
26…量子化係数補正部
【特許請求の範囲】
【請求項1】
撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する画像圧縮装置であって、
前記画像データを記憶するとともに、前記画像データが撮影された撮像シーンを特定する撮像シーン情報を前記画像データに関連付けて記憶する記憶部と、
前記記憶部に記憶されている前記画像データの所定の周波数成分に対する量子化を行うとき、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が所定の撮像シーンを示している場合と前記所定の撮像シーンを示していない場合とでは、異なる量子化係数を用いて前記量子化を行う量子化部と、
を備えることを特徴とする画像圧縮装置。
【請求項2】
前記記憶部は、量子化テーブルを記憶し、
前記量子化部は、量子化テーブルで定義される量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項3】
前記記憶部は、所定の周波数成分における量子化係数が互いに異なる第1の量子化テーブルおよび第2の量子化テーブルを記憶し、
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記第1の量子化テーブルで定義される量子化係数を用いて前記画像データを量子化し、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示していない場合、前記第2の量子化テーブルで定義される量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項4】
量子化テーブルで定義される量子化係数を補正する量子化係数補正部を更に備え、
前記記憶部は、基準となる量子化テーブルを記憶し、
前記量子化係数補正部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記基準となる量子化テーブルで定義される前記量子化係数を補正し、
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記量子化係数補正部で補正された量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項5】
量子化テーブルで定義される量子化係数を補正する量子化係数補正部を更に備え、
前記記憶部は、前記画像データが撮像された際の焦点距離、絞り、および、露光時間のうちの少なくとも一つの情報、及び、量子化テーブルを記憶し、
前記量子化係数補正部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記焦点距離、前記絞り、および、前記露光時間のうちの少なくとも一つの情報に基づいて前記量子化テーブルで定義された量子化係数を補正し、
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記量子化係数補正部で補正された量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項6】
前記量子化係数補正部は、前記焦点距離、前記絞り、および、前記露光時間のうちの少なくとも一つの情報に基づいて、前記量子化係数を補正する量、又は、補正する周波数成分の範囲を決定することを特徴とする請求項5に記載の画像圧縮装置。
【請求項7】
前記記憶部は、複数の量子化テーブルを記憶し、
前記量子化部は、前記記憶部に記憶されている複数の量子化テーブルの中から、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報に基づいて、量子化の際に用いる量子化テーブルを選択する選択部を有することを特徴とする請求項1に記載の画像圧縮装置。
【請求項8】
撮像条件に基づいて、量子化テーブルで定義される量子化係数を補正する量子化係数補正部を更に備え、
前記選択部は、前記量子化係数補正部により補正された前記量子化テーブルがある場合、前記補正された前記量子化テーブルを選択することを特徴とする請求項7に記載の画像圧縮装置。
【請求項9】
前記所定の撮像シーンには、夜景シーン、花火シーン、夕焼けシーン、ビーチシーンのうち、少なくとも一つのシーンが含まれることを特徴とする請求項1に記載の画像圧縮装置。
【請求項10】
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示していない場合に比べて、高周波数成分において量子化誤差の小さい量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項11】
前記所定の撮像シーンは、夜景シーンおよび花火シーンのうちの少なくとも一方のシーンであることを特徴とする請求項10に記載の画像圧縮装置。
【請求項12】
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示していない場合に比べて、低周波数成分から中間周波数成分において量子化誤差の小さい量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項13】
前記所定の撮像シーンは、夕焼けシーンであることを特徴とする請求項12に記載の画像圧縮装置。
【請求項14】
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示していない場合に比べて、水平方向の低周波数成分において量子化誤差の小さい量子化係数を用いて前記画像データを圧縮することを特徴とする請求項1に記載の画像圧縮装置。
【請求項15】
前記所定の撮像シーンは、ビーチシーンであることを特徴とする請求項14に記載の画像圧縮装置。
【請求項16】
前記所定の撮像シーンではない撮像シーンには、ポートレートシーンが含まれることを特徴とする請求項1に記載の画像圧縮装置。
【請求項17】
撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する撮像装置であって、
被写体を撮像して画像データを生成する撮像部と、
前記画像データが撮像された撮像シーンを特定する撮像シーン特定部と、
前記画像データの所定の周波数成分に対する量子化を行なうとき、前記撮像シーン特定部により前記画像データの前記撮像シーンが所定の撮像シーンと特定されている場合と前記所定の撮像シーンと特定されていない場合とでは異なる量子化係数を用いて前記量子化を行なう量子化部と、
を備えることを特徴とする撮像装置。
【請求項18】
ユーザが撮像モードを指定するために操作する操作部をさらに備え、
前記撮像シーン特定部は、ユーザによって指定された撮像モードに基づいて、前記撮像シーンを特定することを特徴とする請求項17に記載の撮像装置。
【請求項19】
量子化テーブルを記憶する記憶部と、
前記撮像シーン特定部により前記画像データの前記撮像シーンが前記所定の撮像シーンと特定されている場合、前記撮像部による撮像によって前記画像データが生成された際の焦点距離、絞り、および、露光時間のうちの少なくとも一つの情報に基づいて、前記量子化テーブルで定義された量子化係数を補正する量子化係数補正部と、
を更に備え、
前記量子化部は、前記撮像シーン特定部により前記画像データの前記撮像シーンが前記所定の撮像シーンと特定されている場合、前記量子化係数補正部で補正された量子化係数を用いて前記画像データを量子化することを特徴とする請求項17に記載の撮像装置。
【請求項20】
撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する画像圧縮方法であって、
被写体を撮像して画像データを生成する撮像ステップと、
前記画像データが撮像された撮像シーンを特定する撮像シーン特定ステップと、
前記画像データの所定の周波数成分に対する量子化を行なうとき、前記撮像シーン特定ステップにおいて前記画像データの前記撮像シーンが所定の撮像シーンと特定されている場合と前記所定の撮像シーンと特定されていない場合とでは異なる量子化係数を用いて前記量子化を行なう量子化ステップと、
を備えることを特徴とする画像圧縮方法。
【請求項1】
撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する画像圧縮装置であって、
前記画像データを記憶するとともに、前記画像データが撮影された撮像シーンを特定する撮像シーン情報を前記画像データに関連付けて記憶する記憶部と、
前記記憶部に記憶されている前記画像データの所定の周波数成分に対する量子化を行うとき、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が所定の撮像シーンを示している場合と前記所定の撮像シーンを示していない場合とでは、異なる量子化係数を用いて前記量子化を行う量子化部と、
を備えることを特徴とする画像圧縮装置。
【請求項2】
前記記憶部は、量子化テーブルを記憶し、
前記量子化部は、量子化テーブルで定義される量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項3】
前記記憶部は、所定の周波数成分における量子化係数が互いに異なる第1の量子化テーブルおよび第2の量子化テーブルを記憶し、
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記第1の量子化テーブルで定義される量子化係数を用いて前記画像データを量子化し、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示していない場合、前記第2の量子化テーブルで定義される量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項4】
量子化テーブルで定義される量子化係数を補正する量子化係数補正部を更に備え、
前記記憶部は、基準となる量子化テーブルを記憶し、
前記量子化係数補正部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記基準となる量子化テーブルで定義される前記量子化係数を補正し、
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記量子化係数補正部で補正された量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項5】
量子化テーブルで定義される量子化係数を補正する量子化係数補正部を更に備え、
前記記憶部は、前記画像データが撮像された際の焦点距離、絞り、および、露光時間のうちの少なくとも一つの情報、及び、量子化テーブルを記憶し、
前記量子化係数補正部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記焦点距離、前記絞り、および、前記露光時間のうちの少なくとも一つの情報に基づいて前記量子化テーブルで定義された量子化係数を補正し、
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記量子化係数補正部で補正された量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項6】
前記量子化係数補正部は、前記焦点距離、前記絞り、および、前記露光時間のうちの少なくとも一つの情報に基づいて、前記量子化係数を補正する量、又は、補正する周波数成分の範囲を決定することを特徴とする請求項5に記載の画像圧縮装置。
【請求項7】
前記記憶部は、複数の量子化テーブルを記憶し、
前記量子化部は、前記記憶部に記憶されている複数の量子化テーブルの中から、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報に基づいて、量子化の際に用いる量子化テーブルを選択する選択部を有することを特徴とする請求項1に記載の画像圧縮装置。
【請求項8】
撮像条件に基づいて、量子化テーブルで定義される量子化係数を補正する量子化係数補正部を更に備え、
前記選択部は、前記量子化係数補正部により補正された前記量子化テーブルがある場合、前記補正された前記量子化テーブルを選択することを特徴とする請求項7に記載の画像圧縮装置。
【請求項9】
前記所定の撮像シーンには、夜景シーン、花火シーン、夕焼けシーン、ビーチシーンのうち、少なくとも一つのシーンが含まれることを特徴とする請求項1に記載の画像圧縮装置。
【請求項10】
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示していない場合に比べて、高周波数成分において量子化誤差の小さい量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項11】
前記所定の撮像シーンは、夜景シーンおよび花火シーンのうちの少なくとも一方のシーンであることを特徴とする請求項10に記載の画像圧縮装置。
【請求項12】
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示していない場合に比べて、低周波数成分から中間周波数成分において量子化誤差の小さい量子化係数を用いて前記画像データを量子化することを特徴とする請求項1に記載の画像圧縮装置。
【請求項13】
前記所定の撮像シーンは、夕焼けシーンであることを特徴とする請求項12に記載の画像圧縮装置。
【請求項14】
前記量子化部は、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示している場合、前記画像データに関連付けられて前記記憶部に記憶されている前記撮像シーン情報が前記所定の撮像シーンを示していない場合に比べて、水平方向の低周波数成分において量子化誤差の小さい量子化係数を用いて前記画像データを圧縮することを特徴とする請求項1に記載の画像圧縮装置。
【請求項15】
前記所定の撮像シーンは、ビーチシーンであることを特徴とする請求項14に記載の画像圧縮装置。
【請求項16】
前記所定の撮像シーンではない撮像シーンには、ポートレートシーンが含まれることを特徴とする請求項1に記載の画像圧縮装置。
【請求項17】
撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する撮像装置であって、
被写体を撮像して画像データを生成する撮像部と、
前記画像データが撮像された撮像シーンを特定する撮像シーン特定部と、
前記画像データの所定の周波数成分に対する量子化を行なうとき、前記撮像シーン特定部により前記画像データの前記撮像シーンが所定の撮像シーンと特定されている場合と前記所定の撮像シーンと特定されていない場合とでは異なる量子化係数を用いて前記量子化を行なう量子化部と、
を備えることを特徴とする撮像装置。
【請求項18】
ユーザが撮像モードを指定するために操作する操作部をさらに備え、
前記撮像シーン特定部は、ユーザによって指定された撮像モードに基づいて、前記撮像シーンを特定することを特徴とする請求項17に記載の撮像装置。
【請求項19】
量子化テーブルを記憶する記憶部と、
前記撮像シーン特定部により前記画像データの前記撮像シーンが前記所定の撮像シーンと特定されている場合、前記撮像部による撮像によって前記画像データが生成された際の焦点距離、絞り、および、露光時間のうちの少なくとも一つの情報に基づいて、前記量子化テーブルで定義された量子化係数を補正する量子化係数補正部と、
を更に備え、
前記量子化部は、前記撮像シーン特定部により前記画像データの前記撮像シーンが前記所定の撮像シーンと特定されている場合、前記量子化係数補正部で補正された量子化係数を用いて前記画像データを量子化することを特徴とする請求項17に記載の撮像装置。
【請求項20】
撮像によって得られた画像データに対して、量子化係数に基づいた量子化を行った後、符号化を行うことによって、前記画像データを圧縮する画像圧縮方法であって、
被写体を撮像して画像データを生成する撮像ステップと、
前記画像データが撮像された撮像シーンを特定する撮像シーン特定ステップと、
前記画像データの所定の周波数成分に対する量子化を行なうとき、前記撮像シーン特定ステップにおいて前記画像データの前記撮像シーンが所定の撮像シーンと特定されている場合と前記所定の撮像シーンと特定されていない場合とでは異なる量子化係数を用いて前記量子化を行なう量子化ステップと、
を備えることを特徴とする画像圧縮方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−23478(P2012−23478A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−158571(P2010−158571)
【出願日】平成22年7月13日(2010.7.13)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願日】平成22年7月13日(2010.7.13)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
[ Back to top ]