(57)【要約】      （修正有）【課題】ＲＡＷ画像データを符号化する際の量子化パラメータに起因する色ズレの発生を抑制する。【解決手段】画像符号化装置は、符号化対象フレームのＲＡＷ画像データの色温度を求め、ＲＡＷ画像データのホワイトバランスをとるための各色成分のゲイン値を算出する算出部と、対象フレームのＲＡＷ画像データから、それぞれが単一色成分のデータで構成される、複数のプレーンを生成する生成部と、各プレーンについて、算出したゲインに基づいてホワイトバランス調整を行う調整部と、周波数変換、量子化、及び、符号化を行う符号化部と、各プレーンを符号化する際に、対象フレームの１つ前のフレームのＲＡＷ画像データの各プレーンを符号化処理した際の量子化パラメータと、算出したゲイン値とに基づき、生成部が生成した複数のプレーンを符号化するか、複数のプレーンに対する調整部による調整後の複数のプレーンを符号化するかを決定する制御部とを有する。【選択図】図３
2020065237.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段により得たフレームを、ＲＡＷ画像データとして符号化する画像符号化装置であって、
符号化対象である対象フレームのＲＡＷ画像データの色温度を求め、当該ＲＡＷ画像データのホワイトバランスをとるための各色成分のゲイン値を算出する算出手段と、
前記対象フレームのＲＡＷ画像データから、それぞれが単一色成分のデータで構成される、複数のプレーンを生成する生成手段と、
該生成手段で得た各プレーンについて、前記算出手段が算出したゲインに基づいてホワイトバランス調整を行う調整手段と、
各プレーンについて、周波数変換、量子化、及び、符号化を行うことで、符号化する符号化手段と、
前記符号化手段により前記対象フレームの各プレーンを符号化する際に、前記対象フレームの１つ前のフレームのＲＡＷ画像データの各プレーンを前記符号化手段により符号化処理した際の量子化パラメータと、前記算出手段が前記対象フレームのＲＡＷ画像データに対して算出したゲイン値とに基づき、前記生成手段が生成した複数のプレーンを符号化するか、前記複数のプレーンに対する前記調整手段による調整後の複数のプレーンを符号化するかを決定する制御手段と
を有することを特徴とする画像符号化装置。
【請求項２】
前記ＲＡＷ画像データの各色成分の画素はベイヤ配列であって、
前記生成手段は、Ｒ成分のみ画素で構成されるＲプレーン、Ｇ１成分のみ画素で構成されるＧ１プレーン、Ｇ２成分のみ画素で構成されるＧ２プレーン、Ｂ成分のみ画素で構成されるＢプレーンを生成し、
前記符号化手段が実行する周波数変換は、予め設定された分解レベルまでの離散ウェーブレット変換である
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記算出手段は、Ｇ成分のゲインを基準値“１”とした場合の、Ｒ及びＢ成分の相対的なゲイン値を算出することを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記制御手段は、
Ｇ成分に対して予め設定された閾値と、前記算出手段が算出したＲ及びＢ成分のゲイン値に基づいて、Ｒ，Ｂの閾値を算出し、
前記１つ前のフレームのＲＡＷ画像データを前記符号化手段が符号化する際の前記量子化で用いた、各成分の所定の分解レベル、サブバンドの変換係数と、前記各成分の閾値とを比較し、
前記比較の結果に基づき、前記対象フレームに対する前記符号化手段の符号化対象として、前記生成手段が生成した複数のプレーンとするか、当該複数のプレーンに対する前記調整手段による調整後の複数のプレーンにするかを判定する
ことを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
前記符号化手段は、
Ｒプレーン、Ｇ１プレーン、Ｇ２プレーンおよびＢプレーンから、輝度のＹプレーン、３つの色差であるＣ１プレーン、Ｃ２プレーン、および、Ｃ３プレーンに変換手段を有し、
該Ｙプレーン、Ｃ１プレーン、Ｃ２プレーン、および、Ｃ３プレーンに対して、前記離散ウェーブレット変換、量子化、エントロピー符号化を行うことを特徴とする請求項３に記載の画像符号化装置。
【請求項６】
前記制御手段は、
基準となるＧ成分のゲイン値に対して前記算出手段が算出したＲ，Ｂの成分のゲイン値に基づき、Ｙ、Ｃ１，Ｃ２及びＣ３それぞれの閾値を求め、
前記１つ前のフレームのＲＡＷ画像データを前記符号化手段が符号化する際の前記量子化で用いたＹ，Ｃ１，Ｃ２，Ｃ３の各成分の所定の分解レベルのサブバンドの変換係数と、前記各成分の閾値とを比較し、
前記比較の結果に基づき、前記対象フレームに対する前記符号化手段の符号化対象として、前記生成手段が生成した複数のプレーンとするか、当該複数のプレーンに対する前記調整手段による調整後の複数のプレーンにするかを判定する
ことを特徴とする請求項５に記載の画像符号化装置。
【請求項７】
前記制御手段は、
ホワイトバランスを行うための色温度に対する各色成分のゲインを表すテーブルを有し、
前記各成分の閾値とを求め、
前記１つ前のフレームのＲＡＷ画像データを前記符号化手段が符号化する際の前記量子化で用いた、各成分の所定の分解レベル、サブバンドの変換係数と、前記各成分の閾値とを比較し、所定の条件を満たす色温度を決定し、
該決定した色温度に応じた各色成分のゲイン値を前記調整手段に設定する
ことを特徴とする請求項４又は６に記載の画像符号化装置。
【請求項８】
撮像手段により得たフレームを、ＲＡＷ画像データとして符号化する画像符号化装置の制御方法であって、
符号化対象である対象フレームのＲＡＷ画像データの色温度を求め、当該ＲＡＷ画像データのホワイトバランスをとるための各色成分のゲイン値を算出する算出工程と、
前記対象フレームのＲＡＷ画像データから、それぞれが単一色成分のデータで構成される、複数のプレーンを生成する生成工程と、
該生成工程で得た各プレーンについて、前記算出工程が算出したゲインに基づいてホワイトバランス調整を行う調整工程と、
各プレーンについて、周波数変換、量子化、及び、符号化を行うことで、符号化する符号化工程と、
前記符号化工程により前記対象フレームの各プレーンを符号化する際に、前記対象フレームの１つ前のフレームのＲＡＷ画像データの各プレーンを前記符号化工程により符号化処理した際の量子化パラメータと、前記算出工程が前記対象フレームのＲＡＷ画像データに対して算出したゲイン値とに基づき、前記生成工程が生成した複数のプレーンを符号化するか、前記複数のプレーンに対する前記調整工程による調整後の複数のプレーンを符号化するかを決定する制御工程と
を有することを特徴とする画像符号化装置の制御方法。
【請求項９】
コンピュータが読み込み実行することで、前記コンピュータに、請求項８に記載の方法の各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＷ画像データの符号化技術に関するものである。
【背景技術】
【０００２】
デジタルカメラに代表される撮像装置、もしくは撮像機能を有する電子機器は、撮像センサによって得た生の画像情報（ＲＡＷ画像）をデベイヤ処理（デモザイク処理）し、輝度と色差から成る信号に変換して、各信号についてノイズ除去、光学的な歪補正、画像の適正化などの所謂、現像処理を行っている。そして、現像処理された輝度信号及び色差信号を圧縮符号化して、記録媒体に記録している。
【０００３】
一方で、ＲＡＷ画像を記録できる画像記録装置も存在する。ＲＡＷ画像は補正や劣化が最低限に抑えられたデータであるので、撮影後の編集を行う上級者によって好んで使われている。ただし、ＲＡＷ画像はデータ量が膨大であるため、限りある記録媒体に少しでも多くの画像を記録出来るようデータ量を抑えたい。このため、ＲＡＷ画像を圧縮することでデータ量を抑える。しかし、撮影条件によっては圧縮によって画質劣化を招くことがある。特許文献１には、ＲＡＷデータに対してホワイトバランスを掛けて各色成分に圧縮符号化を行う構成が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−２０８８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、撮影条件や入力画像の符号化難易度によってデータが変わるＲＡＷ画像では、ホワイトバランスを掛けることによって、色成分によっては上限値に達してしまい、値をクリップする必要がある。このため現像後にホワイトバランスを変更する場合にクリップする部分が多いと、今度は色相が変わってしまうことがあった。
【０００６】
本発明はかかる問題に鑑み成されたものであり、ＲＡＷ画像データを符号化する際の量子化パラメータに起因する色ズレの発生を抑制する技術を提供しようとするものである。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
撮像手段により得たフレームを、ＲＡＷ画像データとして符号化する画像符号化装置であって、
符号化対象である対象フレームのＲＡＷ画像データの色温度を求め、当該ＲＡＷ画像データのホワイトバランスをとるための各色成分のゲイン値を算出する算出手段と、
前記対象フレームのＲＡＷ画像データから、それぞれが単一色成分のデータで構成される、複数のプレーンを生成する生成手段と、
該生成手段で得た各プレーンについて、前記算出手段が算出したゲインに基づいてホワイトバランス調整を行う調整手段と、
各プレーンについて、周波数変換、量子化、及び、符号化を行うことで、符号化する符号化手段と、
前記符号化手段により前記対象フレームの各プレーンを符号化する際に、前記対象フレームの１つ前のフレームのＲＡＷ画像データの各プレーンを前記符号化手段により符号化処理した際の量子化パラメータと、前記算出手段が前記対象フレームのＲＡＷ画像データに対して算出したゲイン値とに基づき、前記生成手段が生成した複数のプレーンを符号化するか、前記複数のプレーンに対する前記調整手段による調整後の複数のプレーンを符号化するかを決定する制御手段とを有する。
【発明の効果】
【０００８】
本発明によれば、ＲＡＷ画像データを符号化する際の量子化パラメータに起因する色ズレの発生を抑制することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る画像符号化装置の構成例を示すブロック図。
【図２】画素配列の説明図。
【図３】ＲＡＷ圧縮符号化部のブロック構成図。
【図４】離散ウェーブレット変換(DWT)の分解レベル３のサブバンド形成図。
【図５】ＷＢ制御部の処理例を示すフローチャート。
【図６】実施形態における画像データのヒストグラム。
【図７】各色成分のウェーブレット係数の累積度数を示すグラフ。
【図８】ファイルフォーマットの一例を示す図。
【図９】メインヘッダ部のデータ構造の一例を示す図。
【図１０】プレーンヘッダ部のデータ構造の一例を示す図。
【図１１】サブバンドヘッダ部のデータ構造の一例を示す図。
【図１２】第２の実施形態におけるＲＡＷ圧縮符号化部のブロック構成図。
【図１３】第２ＷＢ制御部の処理例を示すフローチャート。
【図１４】第２の実施形態におけるメインヘッダ部のデータ構造の一例を示す図。
【図１５】第３の実施形態における色温度とゲインとの関係を示す図。
【図１６】第３の実施形態でのゲイン調整後の各色成分の度数分布を示す図。
【図１７】第３の実施形態における各色成分のウェーブレット係数の累積度数を示すグラフ。
【発明を実施するための形態】
【００１０】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態では、画像符号化装置がデジタルカメラなどの撮像装置に実装される例を示すが、撮像機能を有する装置、例えばスマートホンに適用しても構わない。あくまで例示であると理解されたい。
【００１１】
［第１の実施形態］
図１は、第１の実施形態における撮像装置１００の主要部のブロック構成図である。撮像装置１００は、撮像光学部１０１、撮像センサ部１０２、センサ信号処理部１０３、ＷＢゲイン算出部１０４、ＲＡＷ圧縮符号化部１０５、バッファ１０６、記録データ制御部１０７、制御部１５０、操作部１５１を有する。
【００１２】
同図の構成において、ユーザが操作部１５１により撮影動作の開始指示を入力すると、撮像対象となる被写体の光学像が、撮像光学部１０１を介して入力され、撮像センサ部１０２上に結像する。撮像センサ部１０２は、画素毎に配置される赤（Ｒ）、緑（Ｇ）、青（Ｂ）のカラーフィルタを透過した光の強度を電気信号に変換する。なお、撮像センサ部１０２は、例えば１秒当たり３０フレームの速度で撮像を行うものとする。
【００１３】
図２は、撮像センサ部１０２に配置されるカラーフィルタの一例を示している。図２に示すように、赤（Ｒ）、緑（Ｇ）、青（Ｂ）が画素毎にモザイク状に配置されていて、２×２の４画素につき赤１画素、青１画素、緑２画素を１セットにして規則的に並べられた構造となっている。このような画素の配置は、一般にベイヤ配列と呼ばれる。
【００１４】
撮像センサ部１０２によって得られた電気信号はデジタルの画像データに変換され、センサ信号処理部１０３に供給される。そして、センサ信号処理部１０３に、画素の修復処理を行う。修復処理には、撮像センサ部１０２における欠落画素や信頼性の低い画素の値に対し、周辺画素値を用いて修復対象の画素を補間したり、所定のオフセット値を減算したりする処理が含まれる。本実施形態では、センサ信号処理部１０３から出力される画像データを、ベイヤ配列のままの生（未現像）の画像を意味するＲＡＷ画像データと称す。ＲＡＷ画像データは、ＷＢゲイン算出部１０４及びＲＡＷ圧縮符号化部１０５に供給される。
【００１５】
ＷＢゲイン算出部１０４は、入力されたＲＡＷ画像データの緑（Ｇ）成分を基準としてホワイトバランス調整を行うための、赤（Ｒ）及び青（Ｂ）の成分に掛けるゲイン値を算出する。各色成分のゲイン値は色温度から算出することが出来る。ＷＢゲイン算出部１０４は、算出したＷＢゲイン値をＲＡＷ圧縮符号化部１０５に供給する。
【００１６】
ＲＡＷ圧縮符号化部１０５は、センサ信号処理部１０３から入力したＲＡＷ画像データをウェーブレット変換して複数のサブバンドデータの生成、量子化、および、エントロピー符号化を行い、圧縮された符号化データをバッファ１０６に格納する。
【００１７】
図３は実施形態におけるＲＡＷ圧縮符号化部１０５のブロック構成図である。以下、同図を参照して、ＲＡＷ圧縮符号化部１０５の処理の詳細を説明する。
【００１８】
ＲＡＷ圧縮符号化部１０５は、入力端子３０１、３１２、プレーン分割部３０２、スイッチ３０３、離散ウェーブレット変換部３０４、量子化部３０５、エントロピー符号化部３０６、出力端子３０７、ＷＢゲイン演算部３０８、量子化制御部３０９、符号量算出部３１０、ＷＢ制御部３１１を有する。
【００１９】
入力端子３０１より入力されたＲＡＷ画像データはプレーン分割部３０２に供給される。プレーン分割部３０２は、入力したＲＡＷ画像データを、それぞれが単一色成分の画素で構成される４つのプレーンに変換する。
【００２０】
ＲＡＷ画像データは先に説明したようにベイヤ配列の画素の集合であり、緑成分の画素数は、赤成分（又は青成分）の画素数の２倍である。このため、赤成分の画素の水平方向に隣接する緑画素の成分をＧ１，青成分の画素の水平方向に隣接する緑画素の成分をＧ２と定義する。プレーン分割部３０２は、入力したＲＡＷ画像データから、Ｇ１成分の画素のみで構成されるＧ１プレーン、Ｇ２成分の画素のみで構成されるＧ２プレーン、Ｒ成分の画素のみで構成されるＲプレーン、および、Ｂ成分の画素のみで構成されるＢプレーンを生成する。プレーン分割部３０２で生成した、４つのプレーンデータをスイッチ３０３に供給する。
【００２１】
スイッチ３０３は、ＷＢ制御部３１１によりスイッチ３０３でホワイトバランスを掛けるか否か選択信号を受け、出力先として離散ウェーブレット変換部３０４、ＷＢゲイン演算部３０８のいずれかに出力する。ホワイトバランスを掛けないことを示す選択信号を受信した場合、スイッチ３０３は端子Ａを介して、入力したプレーンデータを離散ウェーブレット変換部３０４に供給する。ホワイトバランスを掛けることを示す選択信号を受信した場合、スイッチ３０３は端子Ｂを介して、入力したプレーンデータをＷＢゲイン演算部３０８に供給する。
【００２２】
ＷＢ制御部３１１は、入力端子３１２からＷＢゲイン算出部１０４で算出されたＷＢゲイン値、及び後述する量子化制御部３０９からの量子化パラメータＱｐを用いて、スイッチ３０３への選択信号を決定する（詳細後述）。
【００２３】
離散ウェーブレット変換部３０４は、入力されたプレーンデータを周波数変換し、複数の周波数領域（サブバンド）の変換係数を得る。
【００２４】
図４は、離散ウェーブレット変換(DWT:discrete wavelet transform)の垂直、水平フィルタリングをそれぞれ３回施した際に得られる分解レベル３のサブバンド形成図である。本実施形態における離散ウェーブレット変換部３０４は、ＤＷＴを３回行い、分解レベル３のサブバンドを生成するものとする。
【００２５】
ＤＷＴは、垂直、水平にそれぞれフィルタをかけることで周波数帯域を複数に分解する。そして、上記変換により生成された低域サブバンドに対して再帰的にＤＷＴを施すことで分解レベルを増加させ、図４のように周波数分解の粒度を細かくすることができる。なお、図４の記載において、"Ｌ","Ｈ"はそれぞれ低域、高域を示し、その順序は、前側が水平フィルタリングを行った結果の帯域、後側が垂直フィルタリングを行った結果の帯域を示し、“Ｌｖ”の後の数字はＤＷＴの分解レベルを示す。また、ＬＬは、最低域サブバンドを示す。離散ウェーブレット変換部３０４は、上記のように離散ウェーブレット変換処理を行い、得られた変換係数データをサブバンド単位に量子化部３０５に供給する。
【００２６】
量子化部３０５は、量子化制御部３０９で生成した量子化パラメータＱｐを利用し、変換係数を１変換係数毎に量子化する。なお、量子化パラメータＱｐは、その値が大きいほど符号量削減に寄与するものの、量子化誤差が大きくなることに起因した画質劣化を伴うパラメータである。
【００２７】
エントロピー符号化部３０６は、量子化部３０５による量子化後の変換係数データをエントロピー符号化することで、符号化データを生成する。エントロピー符号化部３０６は、生成された符号化データを、出力端子３０７を介してバッファ１０６に出力するとともに、符号量算出部３１０に出力する。
【００２８】
符号量算出部３１０は、入力した符号化データから、サブバンド単位の符号量及びピクチャ単位の符号量を算出する。そして、符号量算出部３１０は、算出した符号量を示す情報を量子化制御部３０９に供給する。
【００２９】
量子化制御部３０９は、符号量算出部３１０からの情報に基づき、ピクチャ目標符号量及びサブバンド目標符号量の算出を行い、次のピクチャの各サブバンドに最適となる基準量子化パラメータＱｐbaseを生成する。
【００３０】
なお、上記基準量子化パラメータＱｐbaseを生成するために、画像の記録前に仮符号化を行ってから、上記処理を行うようにしても構わない。
【００３１】
本実施形態では、基準量子化パラメータＱｐbaseは、図４におけるサブバンドｌｖ１ＨＬで用いる量子化パラメータとして説明する。そして、他のサブバンドにおける量子化パラメータは、基準量子化パラメータＱｐbaseより算出されるものである。
【００３２】
次に、ＷＢ制御部３１１の処理の詳細を説明する。図５は、ＷＢ制御部３１１が実行する処理手順を示すフローチャートである。以下、同図を参照して、ＷＢ制御部３１１の処理内容を説明する。
【００３３】
ＷＢ制御部３１１は、Ｓ５０１にて処理を開始する。Ｓ５０２にて、ＷＢ制御部３１１は、ＷＢゲイン算出部１０４から、符号化対象の現フレームのＲＡＷ画像データに対するＷＢゲイン情報を取得する。ＷＢゲイン情報は、各色成分でゲイン値が異なる。Ｒ、Ｇ、Ｂにおいて、ゲイン値をそれぞれGain_R , Gain_G , Gain_B とする。ただし、本実施形態では、Ｇ（緑）を基準とし、Gain_G = １と固定にしている。つまり、Ｒ，Ｂのゲイン値はＧにゲイン値に対して相対的な値となる。それ故、ＷＢ制御部３１１は、Gain_R, Gain_Bを取得するだけでよい。
【００３４】
次に、Ｓ５０３にて、ＷＢ制御部３１１は、量子化制御部３０９より出力された量子化パラメータのうち、各色成分のプレーンのLv1 HLの基準量子化パラメータを取得する。実施形態では、Ｒプレーン、Ｇ１プレーン、Ｇ２プレーン、Ｂプレーンがあるので、それぞれの基準量子化パラメータをＱQbase_R, Qbase_G1, Qbase_G2, Qbase_Bと表す。なお、これら基準量子化パラメータは、符号化対象の着目フレームの直前のフレームの符号化時のものである。
【００３５】
次のＳ５０４にて、ＷＢ制御部３１１は、赤（Ｒ）、青（Ｂ）の色成分における画質を保証出来る閾値Qth_R, Qth_Bを各々算出する。これら閾値はあらかじめ任意の量子化パラメータを設定しておく。緑（Ｇ）を基準とするため、緑（Ｇ）の閾値Qth_Gが他の成分の閾値の基準値となる。そして、ＷＢ制御部３１１は、赤（Ｒ）、青（Ｂ）の閾値を次式（１）、（２）に従って算出する。
Qth_R = Qth_G / Gain_R  …（１）
Qth_B = Qth_G / Gain_B  …（２）
【００３６】
そして、Ｓ５０５にて、ＷＢ制御部３１１は、各色成分において画質保証の範囲か否かを、算出された各色成分の閾値と対応するゲイン値とを比較することで判定する。具体的には、ＷＢ制御部３１１は、次式（３）乃至（６）を満たすか否かの判定を行う。
・赤（Ｒ）について、
Qth_R ＞ Qbase_R   …（３）
・緑（Ｇ１）について、
Qth_G ＞ Qbase_G1  …（４）
・緑（Ｇ２）について、
Qth_G ＞ Qbase_G2  …（５）
・青（Ｂ）について、
Qth_B ＞ Qbase_B   …（６）
そして、上記の式（３）、（４）、（５）、（６）の全てが満たされる場合、各色成分の量子化ステップは十分に小さく、量子化による色ズレの発生する可能性は低いことを意味する。つまり、ＷＢ制御部３１１は、入力される各プレーンは画質保証の範囲内であると判定する。そのため、ＷＢ制御部３１１は、Ｓ５０６に処理を進め、スイッチ３０３が端子Ａを選択するための制御信号を出力する。つまり、この結果、着目ピクチャについては、ＷＢ処理を行わないで符号化を行うことになる。
また、式（３）、（４）、（５）、（６）の１つでも満たさなかった場合、ＷＢ制御部３１１は、画質保証の範囲外と判定する。そのため、ＷＢ制御部３１１は、Ｓ５０７に進め、スイッチ３０３が端子Ｂを選択するための制御信号を出力する。この結果、ＷＢゲイン演算部３０８は、入力した各成分のプレーンを、ＷＢゲイン演算部１０４にて演算されたゲイン値に従ってゲイン調整を行い、調整後の各プレーンを離散ウェーブレット変換部３０４に供給することになる。
【００３７】
Ｓ５０６、Ｓ５０７のいずれかの処理を終えると、Ｓ５０８にて、ＷＢ制御部３１１は本処理を終える。なお、Ｇ１，Ｇ２は同じ緑色を示すので、式（４）、（５）の一方は判定対象外としても良い。
【００３８】
図６（ａ）は、或る１フレームのＲＡＷ画像データにおけるＲＧＢ各プレーンのヒストグラムを示す。被写体が無彩色である場合、ホワイトバランス処理を行っていれば、ほぼ、色成分間の度数の偏りは小さくなる。図６（ｂ）は、ホワイトバランス処理を行った後のＲＧＢ各プレーンのヒストグラムを示す。
【００３９】
図６（ａ）で分かるように、被写体が無彩色であっても、ホワイトバランス処理を行う前では、各プレーンは同じ値とはならず、別の値を取っていることが分かる。
【００４０】
図７（ａ）は、図６（ａ）のＲ，Ｇ１（Ｇ２でも同じ），Ｂプレーンにおけるウェーブレット係数の累積度数グラフである。
【００４１】
図６（ａ）の場合、Ｒプレーンは他プレーンよりレンジが狭い。このため、Ｒプレーンのウェーブレット係数が小さい値となるため、ウェーブレット係数の累積度数は他プレーンよりも早く最大値に近づく。この累積度数グラフは、プレーンのヒストグラムを用いることで、そのプレーンのレンジから推測することが可能である。
【００４２】
更に、水平軸１５％の位置に破線がある。入力データのビット幅が１０ビットで、破線位置の量子化係数が１０であった場合、ウェーブレット係数データを１０で除算し切り捨てを行うと、９以下のウェーブレット係数では商が０となる。このため、逆量子化を行っても逆量子化後のウェーブレット係数は０となってしまう。ただし、量子化係数は量子化パラメータと一対一の関係であり、量子化係数は商そのものとする。
【００４３】
水平軸１５％の位置を各プレーンで見ると、Ｒが２５％、Ｂが７％、Ｇ１が６％の係数が０となる。ホワイトバランス処理を行っていないＲＡＷ画像データでは、各プレーンで同一の量子化パラメータを用いると、ウェーブレット係数が０となる割合が大きく変わってしまう。このため、無彩色であってもＲのウェーブレット係数のみ０となった場合、その部分の色相が変わってしまうという問題が発生する。
【００４４】
入力画像の符号化難易度が高いとき、一定符号量に抑えるためには、量子化パラメータを大きくし、符号量を抑制しなければならない。このため、図６（ａ）のように各色成分のゲインが異なると部分的に色相が変化してしまい、色ズレに起因する画質劣化の度合いが大きくなる。
【００４５】
図７（ｂ）は、図７（ａ）の各色成分にゲイン値を掛けホワイトバランスを取った後のグラフである。ホワイトバランスを取ることにより、特定の色成分のみウェーブレット係数が０となることを抑制出来、色相が変わることを抑えることが出来る。
【００４６】
ただし、ホワイトバランスを取る場合、ゲイン値を掛けるため、色成分によっては上限値にクリップされることがある。トレードオフとしてホワイトバランスを取ることとなるが、ウェーブレット係数が０となって色相が変わり、色ズレが発生してしまうよりは画質劣化は非常に少なく、視認もほぼ出来ない。
【００４７】
上記はＲ、Ｇ１、Ｇ２、Ｂ各プレーンを同じ量子化パラメータを用いたときで説明を行ったが、違う量子化パラメータを用いてもよい。また、図７（ａ）での説明のように、色相が変わってしまう問題があるため、視認出来る部分で色相や画質劣化が発生しないために閾値Qth_R, Qth_G, Qth_Bが必要となる。
【００４８】
図１に戻り、動作を説明する。記録データ制御部１０７は、バッファ１０６に格納された符号化データに、復号に必要な情報を含めた所定のヘッダ情報を生成し、後続して符号化データを付加し、出力端子１０８よりファイルとして出力する。出力先は、特に問わないが、例えばメモリカード等の不揮発性の記憶媒体である。
【００４９】
ここで、記録データ制御部１０７で生成されるヘッダ情報及びデータフォーマットを説明する。
【００５０】
図８はファイルフォーマットの一例である。ファイルは、ヘッダ部とデータ部に分かれており、ヘッダ部にはメインヘッダ部、サブヘッダ部がある。
【００５１】
図９はメインヘッダ部のデータ構造であり、識別番号、画像サイズ、画像のビット幅、ＷＢゲイン値、ウェーブレット変換の分解レベル、ヘッダサイズ、サムネイル画像、データ部のアドレス及びデータサイズが記載される。なお、図９における識別番号はメインヘッダであるという番号であり、他のヘッダもこの識別番号で何のヘッダであるか判断されるように記録されている。このためヘッダによって識別番号は異なる。
【００５２】
また、スイッチ３０３が端子Ａを選択してホワイトバランスが掛けない場合は、ＷＢゲイン算出部１０４で出力された値がヘッダに記録される。これは、ユーザが後の現像や編集の際の、ＷＢ処理の指標値として有効利用するためである。
【００５３】
また、スイッチ３０３が端子Ｂを選択し、ＷＢゲイン演算部３０８によるホワイトバランスを掛ける処理が行われた場合、符号化ＲＡＷ画像データはゲイン値を掛けた後の符号化データを意味する。このため、ヘッダには、実質的に「ゲイン補正無し」と等価のゲイン値“１”が記録される。
【００５４】
図１０はプレーンヘッダ部のデータ構造であり、識別番号、ヘッダ状態、ヘッダサイズ、データ部のアドレス及びデータサイズ、サブバンド数及びサブバンドヘッダが記載される。
【００５５】
図１１はサブバンドヘッダ部のデータ構造であり、識別番号、ヘッダ状態、ヘッダサイズ、データ部のアドレス及びデータサイズが記載される。
【００５６】
以上のように記録することにより、ホワイトバランスの有無に関わらず、圧縮された符号化データを適切に現像することが出来る。
【００５７】
上記のように構成することで、入力画像に対して、ホワイトバランスの要不要を判定し、ホワイトバランスが必要である場合のみホワイトバランス処理することにより、入力画像によらず、色ズレなどの画質劣化を抑制することが出来る。
【００５８】
また、図１の操作部１５１で、ユーザがホワイトバランスの自動変更のＯＮ／ＯＦＦを設定出来るように構成しておき、ユーザによってホワイトバランスの自動変更をＯＮとした場合のみ、ホワイトバランス変更を行い、ユーザによってホワイトバランスの自動変更をＯＦＦとした場合は、ホワイトバランス変更を行わないように制御部１５０より制御信号を出すことも可能である。
【００５９】
以上が第１の実施形態の説明であるが、本発明の技術思想の範囲内において、上記実施形態に限定されるものではなく、対象となる回路形態により適時変更されて適応するべきものである。
【００６０】
［第２の実施形態］
第２の実施形態を説明する。本第２の実施形態における装置構成そのものは、第１の実施形態の図１と同じであるものとする。ただし、本第２の実施形態のＲＡＷ圧縮符号化部１０５の処理及び記録媒体群１０７への記録データが、第１の実施形態と異なるので、その部分を詳しく説明する。
【００６１】
図１２は本第２の実施形態におけるＲＡＷ圧縮符号化部１０５の構成を示すブロック図である。先に説明した第１の実施形態の図３と同じ処理部についは、同じ参照符号を付し、その説明は省略する。図３と異なる点は、図１２ではプレーン変換部１２１３が追加された点と、図３のＷＢ制御部３１１に変えて第２ＷＢ制御部１２１４に置き換わった点である。
【００６２】
以下、図１２を参照して、本第２の実施形態でのＲＡＷ圧縮符号化部１０５の処理を説明する。
【００６３】
プレーン分割部３０２は、入力端子３０１を介して、ベイヤ配列のＲＡＷ画像データを入力する。そして、プレーン分割部３０２は、入力したＲＡＷ画像データを色成分ごとに分割を行う。緑（Ｇ）の成分の画素数が、赤（R）または青（B）の成分の画素数の２倍である。そこで、赤（R）と水平方向に隣り合う緑をG1、青（B）と水平方向に隣り合う緑をG2と定義する。プレーン分割部３０２は、入力したＲＡＷ画像データを、Ｒプレーン、Ｇ１プレーン、Ｇ２プレーン、Ｂプレーンの４つのプレーンに分割し、分割された各プレーンデータをスイッチ３０３に向けて出力する。
【００６４】
スイッチ３０３は、第２ＷＢ制御部１２１４により、各プレーンの出力先をプレーン変換部１２１３、ＷＢゲイン演算部３０８のいずれかに出力する。ここで、スイッチ３０３が出力先として、プレーン変換部１２１３を選択した場合は、各プレーンはＷＢゲイン演算部３０８を介在しないので、ホワイトバランスの補正処理をかけないことを意味する。また、スイッチ３０３が出力先として、ＷＢゲイン演算部３０８を選択した場合、各プレーンは、ＷＢゲイン演算部３０８によりゲイン値が掛けられたのち、プレーン変換部１２１３に供給されることになる。
【００６５】
第２ＷＢ制御部１２１４は、パラメータ入力端子３１２より入力されるＷＢゲイン算出部１０４で算出されたＷＢゲイン値、及び、後述する量子化制御部３０９より出力される量子化パラメータＱｐに従って、スイッチ３０３の選択を制御する（詳細後述）。
【００６６】
実施形態における、プレーン変換部１２１３では、次式（７）乃至（１０）に従って１つの輝度成分Ｙと、３つの色差成分Ｃ１，Ｃ２，Ｃ３を算出し、出力する。
Ｙ＝（Ｒ＋Ｇ１＋Ｇ２＋Ｂ）／４    …（７）
Ｃ１＝Ｒ−Ｇ１                    …（８）
Ｃ２＝Ｂ−Ｇ２                    …（９）
Ｃ３＝（Ｒ＋Ｇ１）／２−（Ｂ＋Ｇ２）／２  …（１０）
そして、プレーン変換部１２１３は、単一成分で構成されるＹプレーン、Ｃ１プレーン、Ｃ２プレーン、Ｃ３プレーンを生成し、離散ウェーブレット変換部３０４に出力する。つまり、本第２の実施形態での符号化する４つのプレーンは、輝度を示すＹプレーンと、色差である３つのＣ１、Ｃ２，Ｃ３プレーンとなる。
【００６７】
図１３は第２ＷＢ制御部１２１１の処理内容を示すフローチャートである。以下、同図に従って第２ＷＢ制御部１２１１の処理を説明する。
【００６８】
図１３において、Ｓ１３０１にて、第２ＷＢ制御部１２１１は処理が開始する。Ｓ５０２にて、第２ＷＢ制御部１２１１は、ＷＢゲイン算出部１０４より出力されたＷＢゲイン情報を取得する。ＷＢゲイン情報は、各色成分でゲイン値が異なる。赤（Ｒ）、緑（Ｇ）、青（Ｂ）において、ゲイン値をそれぞれGain_R , Gain_G , Gain_B とする。ただし、本実施形態では、緑（Ｇ）を基準とし、Gain_Gが“１”の固定である場合には、ＷＢゲイン情報として取得するのは、Gain_RとGain_Bだけでも構わない。
【００６９】
次に、Ｓ１３０３にて、第２ＷＢ制御部１２１１は、量子化制御部３０９より出力された量子化パラメータのうち、各プレーンのLv1 HLを基準量子化パラメータとし、輝度及び各色差成分のＹ、Ｃ１、Ｃ２、Ｃ３に対してQbase_Y, Qbase_C1, Qbase_C2, Qbase_C3を取得する。
【００７０】
次にＳ１３０４にて、第２ＷＢ制御部１２１１は、輝度Ｙ及び色差成分Ｃ１、Ｃ２、Ｃ３における画質を保証できる閾値Qth_Y, Qth_C1, Qth_C2, Qth_C3を各々算出する。閾値はあらかじめ任意の量子化パラメータQth_Ybase, Qth_C1base, Qth_C2base, Qth_C3baseを設定しておく。そして、第２ＷＢ制御部１２１１は、輝度Ｙ及び各色差成分のＣ１、Ｃ２、Ｃ３の閾値を次のようにして求める。
【００７１】
まず、複数の値の最大値を返す関数を「Max()」としたとき、第２ＷＢ制御部１２１１は、次式（１１）乃至（１３）を演算する。
Gain_max = Max(Gain_R, Gain_G, Gain_B)  …（１１）
Gain_RG  = Max(Gain_R, Gain_G)          …（１２）
Gain_BG  = Max(Gain_G, Gain_B)          …（１３）
そして、第２ＷＢ制御部１２１１は、次式（１４）乃至（１７）に従い、輝度Ｙ及び各色差成分のＣ１、Ｃ２、Ｃ３の閾値を求める。
Qth_Y  = Qth_Ybase / Gain_max     …（１４）
Qth_C1 = Qth_C1base/ Gain_RG      …（１５）
Qth_C2 = Qth_C2base/ Gain_BG      …（１６）
Qth_C3 = Qth_C3base/ Gain_max     …（１７）
そして、Ｓ１３０５にて、第２ＷＢ制御部１２１１は、各色成分において画質保証の範囲か否かの判定を行う。
【００７２】
以下は具体例である。第２ＷＢ制御部１２１１は、まず、次式（１８）乃至（２１）を満足するか否かを判定する。
・輝度Ｙについて、
Qth_Y ＞ Qbase_Y        …（１８）
・色差Ｃ１について、
Qth_C1 ＞ Qbase_C1      …（１９）
・Ｃ２について、
Qth_C2 ＞ Qbase_C2      …（２０）
・Ｃ３について、
Qth_C3 ＞ Qbase_C3      …（２１）
そして、第２ＷＢ制御部１２１１は、式（１８）、（１９）、（２０）、および（２１）の全てが満たされる場合、符号化しようとするピクチャの画質は保証範囲内にあると見なす。それ故、第２ＷＢ制御部１２１１は、Ｓ５０６にて、ホワイトバランスの補正処理は不要とし、スイッチ３０３に対して端子Ａを選択する制御信号を出力する。
【００７３】
また、式（１８）、（１９）、（２０）及び（２１）の１つでも満たせなかった場合、第２ＷＢ制御部１２１１は画質保証の範囲外にあると見なす。よって、第２ＷＢ制御部１２１１は、Ｓ５０７にて、ホワイトバランスの補正処理を行うために、スイッチ３０３に対して端子Ｂを選択する制御信号を出力する。
【００７４】
そして、Ｓ５０６、Ｓ５０７のいずれかの処理を行うと、第２ＷＢ制御部１２１１はＳ１３０８にて、本処理を終了する。
【００７５】
先に説明した第１の実施形態では、人間の視覚が色よりも明度に敏感ある理由で、緑成分の符号化データの量子化パラメータを基準にホワイトバランスの補正処の有無を判定した。本第２の実施形態では、緑成分を明度の代替とするではなく、純粋な輝度成分Ｙの符号化パラメータを基準にするので、より精度の高い画質保証と符号化処理を行うことが可能になる。
【００７６】
なお、本第２の実施形態の符号化データを復号する場合は、復号結果であるＹ，Ｃ１，Ｃ２，Ｃ３プレーンからＧ１、Ｇ２、Ｒ、Ｂ成分値を逆算し、ベイヤ配列のＲＡＷ画像を生成すれば良い。
【００７７】
また、本実施形態では式（７）乃至（１０）を用いて色変換を行うものとして説明したが、式（７）乃至（９）をBT.601やBT.709,BT.2020等のYCbCr形式や他の色空間変換形式を用いてもよい。その場合、式（１１）乃至（１３）は、式（７）乃至（９）で用いた各成分の最大値をゲイン値として閾値を算出する。
【００７８】
次に、本第２の実施形態における記録データ制御部１０７で生成されるヘッダ情報及びデータフォーマットにおいて、前述の第１の実施形態と異なる部分を説明する。
【００７９】
図１４は、本実施形態でのメインヘッダ部のデータ構造であり、識別番号、画像サイズ、画像のビット幅、ＷＢゲイン値、データ変換情報、ウェーブレット変換の分解レベル、ヘッダサイズ、サムネイル画像、データ部のアドレス及びデータサイズが記載される。
データ変換情報には、上記輝度成分Ｙ及び色差成分Ｃ１，Ｃ２，Ｃ３へ変換を行ったように、データ変換を行った場合の変換方式を特定する情報が記録される。
【００８０】
上記のように構成することで、入力画像に対して、ホワイトバランスの要不要を判定し、ホワイトバランスが必要である場合のみホワイトバランス処理することにより、入力画像によらず、色ズレなどの画質劣化を抑制することが出来る。
【００８１】
以上が本第２の実施形態の説明であるが、本発明の技術思想の範囲内において、上記実施形態に限定されるものではなく、対象となる回路形態により適時変更されて適応するべきものである。
【００８２】
［第３の実施形態］
第３の実施形態を説明する。本第３の実施形態における装置構成は、第１の実施形態の図１と同じであるものとする。
【００８３】
ホワイトバランスを取るとき、各色成分値にゲイン値を掛けたとき、上限値に達してしまえば、その値は上限値でクリップをすることとなる。たとえば、１成分が８ビットであるときは、上限値は“２５５”となる。このため、ゲイン値はなるべく小さい方がいい。完全にホワイトバランスを掛けなくても、画質を保証出来る範囲で中間的なゲイン値を掛け、符号化を行い、現像時に残りのゲイン値を掛ければよいからである。そこで、以下では、中間的なゲイン値を掛ける例を説明する。
【００８４】
図１５は、Ｒ及びＢの色温度におけるゲイン値の関係を示すテーブル（不図示のメモリに格納されている）である。同図を参照して、中間ゲイン値の説明を行う。
【００８５】
図１５において、今、色温度αの時に、各色成分のヒストグラムが図６（ａ）のグラフとなるとする。また、色温度αの時のＷＢゲイン値を掛けることで、図６（ｂ）のグラフとなるとする。
【００８６】
例えば、色温度αの時のゲイン値が次の通りあったとする（Ｇ成分を基準値“１”にしている）。
Gain_R(α) = 2.50
Gain_B(α) = 1.50
また、これに対し、色温度βの時のゲイン値が次の通りであったとする。
Gain_R(β) = 2.00
Gain_B(β) = 1.60
色温度βのＷＢゲイン値を、Ｒ、Ｂプレーンに掛けると、各色成分のヒストグラムは図１６となる。そして、その際のウェーブレット係数の累積度数グラフは、図１７となる。
【００８７】
第１の実施形態で説明した図６（ａ）のウェーブレット係数の累積度数横軸１５％の位置でＲが25％となっていたが、図１７では12%となる。つまり、完全なホワイトバランスではなく、緩いホワイトバランスの補正処理を行えば、量子化によりウェーブレット係数が０となる数が減らせることができる。また、ＷＢゲイン値が小さいと上限値を超える数も減ることとなる。
【００８８】
以上から、画質保証が可能な範囲でＷＢゲイン値が完全にホワイトバランスの合った場所でなくともよいことが分かる。そこで、以下では、画質を保証出来る色温度によってＷＢゲイン値を決定する処理について説明する。
【００８９】
図１５を用いると、第１の実施形態で記載の式（１）、（２）より色温度における各色成分の閾値を求めることが出来る。
【００９０】
色温度xのゲイン値をGain_R(x), Gain_B(x)と表す。すると、色温度xにおけるＲ及びＢの閾値Qth_R(x), Qth_B(x)は、次式（２２）、（２３）となる。
Qth_R(x) = Qth_G / Gain_R(x)    …（２２）
Qth_B(x) = Qth_G / Gain_B(x)    …（２３）
Ｇ１、Ｇ２について、第１の実施形態記載の式４、式５が満たされているとき、色温度xにおいて、各色成分が画質保証の範囲か否かは
・赤（Ｒ）について、
Qth_R(x) ＞ Qbase_R      …（２４）
青（Ｂ）について、
Qth_B(x) ＞ Qbase_B      …（２５）
となり、式２４、式２５を満たす色温度xを求めることにより色温度の保証範囲を決定することが出来る。
【００９１】
また、図９のヘッダのＷＢゲイン値は、上記範囲のゲイン値を用いてホワイトバランス演算を行った場合、ＷＢゲイン値を記録するために補正ＷＢゲイン値Gain_Rt, Gain_Btの計算を行うこととなる。
色温度tのときのゲイン値を使った場合、次式（２６）、（２７）
Gain_Rt = Gain_R/ Gain_R(t)    …（２６）
Gain_Bt = Gain_B/ Gain_B(t)    …（２７）
となり、上記をＷＢゲイン値としてヘッダに記録することになる。
【００９２】
そして、上記保証内の範囲でホワイトバランスゲイン値を掛けることにより、上限クリップ値の数を抑えることが出来る。
【００９３】
同様に、第２の実施形態記載の式（１１）乃至（１３）は、次式（２７）乃至（３０）となる。
Gain_max(x) = Max(Gain_R(x), Gain_G, Gain_B(x))   …（２７）
Gain_RG(x) = Max(Gain_R(x), Gain_G)              …（２８）
Gain_BG(x) = Max(Gain_G, Gain_B(x))              …（２９）
そして、色成分の閾値は次式（３０）乃至（３３）で算出する。
Qth_Y(x)  = Qth_Ybase / Gain_max(x)      …（３０）
Qth_C1(x)  = Qth_C1base/ Gain_RG(x)      …（３１）
Qth_C2(x)  = Qth_C2base/ Gain_BG(x)      …（３２）
Qth_C3(x)  = Qth_C3base/ Gain_max(x)      …（３３）
色温度xにおいて、各成分が画質保証の範囲か否かは、まず、次の不等式を満たすか否かを判定する。
・Ｙについて、
Qth_Y(x) ＞ Qbase_Y      …（３４）
・Ｃ１について、
Qth_C1(x) ＞ Qbase_C1      …（３５）
・Ｃ２について、
Qth_C2(x) ＞ Qbase_C2      …（３６）
・Ｃ３について、
Qth_C3(x) ＞ Qbase_C3      …（３７）
そして、式（３４）乃至（３７）の全てを満たす色温度xを求めることにより色温度の保証範囲を決定することが出来る。
【００９４】
また、図１４のＷＢゲイン値は上記範囲のゲイン値を用いてホワイトバランス演算を行った場合、ＷＢゲイン値を記録するために補正ＷＢゲイン値Gain_Rt, Gain_Bt計算を行うこととなる。これは式２６、式２７で算出され、ＷＢゲイン値として記録する。
【００９５】
以上により、図１５で示した色温度に対するゲイン値を用いて、画質を保証出来る範囲でゲイン値を掛けることで、通常のホワイトバランス処理よりも上限に達しクリップしてしまう値の数を減らすことも出来る。このことにより、入力画像によらず、さらに色ズレなどの画質劣化を抑制することが出来る。
【００９６】
以上が本第３の実施形態の説明であるが、本発明の技術思想の範囲内において、上記実施形態に限定されるものではなく、対象となる回路形態により適時変更されて適応するべきものである。
【００９７】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９８】
１０１…撮像光学部、１０２…撮像センサ部、１０３…センサ信号処理部、１０４…ＷＢゲイン算出部、１０５…ＲＡＷ圧縮符号部、１０６…バッファ、１０７…記録データ制御部、３０２…プレーン分割部、３０３…スイッチ、３０４…離散ウェーブレット変換部、３０５…量子化部、３０６…エントロピー符号化部、３０７…出力端子、３０８…ＷＢゲイン演算部、３０９…量子化制御部、３１０…符号量算出部、３１１…ＷＢ制御部
【図１】
2020065237.tif 000003
【図２】
2020065237.tif 000004
【図３】
2020065237.tif 000005
【図４】
2020065237.tif 000006
【図５】
2020065237.tif 000007
【図６】
2020065237.tif 000008
【図７】
2020065237.tif 000009
【図８】
2020065237.tif 000010
【図９】
2020065237.tif 000011
【図１０】
2020065237.tif 000012
【図１１】
2020065237.tif 000013
【図１２】
2020065237.tif 000014
【図１３】
2020065237.tif 000015
【図１４】
2020065237.tif 000016
【図１５】
2020065237.tif 000017
【図１６】
2020065237.tif 000018
【図１７】
2020065237.tif 000019